Java互联网架构师系统进阶课程(三期VIP)' H1 O' V5 r. w: n9 k/ M% R
├──01JVM性能调优
5 X' B# r" a& [| ├──01 虚拟机的前世今生和Java内存区域(1) .mp4 758.12M" R6 W7 H# A9 r' M
| ├──02 深入理解Java内存区域(1) .mp4 835.55M
8 T" _0 X5 e b5 ~3 r* s| ├──03 玩转JVM中的对象及引用(1) .mp4 848.04M" M4 ]4 \9 J0 O+ Y: ?- N' d
| ├──04 分代回收机制及垃圾回收算法(1) .mp4 762.68M
7 n: S% Y$ h* {( J* A+ g| ├──05 JVM面试“核武器”JVM底层细节(1) .mp4 695.74M% n, g/ M% v2 K# [3 f
| ├──06 Class文件结构及深入字节码指令(1) .mp4 942.99M6 F6 \6 h" h7 M7 ]0 ^ }7 r
| ├──07 类加载机制与类加载器(1) .mp4 995.21M7 d# F, ]/ S2 ]6 }4 B8 S
| ├──08 方法调用的底层实现(1 .mp4 1.01G# F+ w' v0 g& J$ X
| ├──09 Java语法糖及实现(1) .mp4 849.83M
# m" I6 J( K3 ^| └──10 GC调优基础知识之工具篇(原生+Arthas)(1) .mp4 1.23G. l7 ? @# a ]5 K
├──02 JVM性能调优
; s+ m. ?! M$ h0 f7 K# A- ]| ├──01 GC调优基础知识之工具篇(原生+Arthas)(2) .mp4 1.14G
" H$ [/ ]$ H1 c. g' N: `" C" x| ├──02 JVM调优实战之CPU占用过高(1) .mp4 1.58G3 v" e3 Q3 a9 X8 J1 l
| ├──03 JVM性能调优之预估调优与问题排查(1) .mp4 1.02G
+ O8 Y' X- p6 A| ├──04 玩转MAT,分析内存泄漏(1) .mp4 996.10M/ d; m; P+ l' ]! _3 _
| ├──05 直接内存与JVM源码分析(1) .mp4 1.25G
F3 y' |& B! \1 D1 ^: || └──06 JVM之大结局(1) .mp4 996.79M( j- f- Q! d$ K- L2 u# d9 x
├──03 并发编程
# `' d' ] W6 |0 m6 a0 x3 h| ├──01 java线程的本质、线程模型(1) .mp4 1.04G# V& V& t( R8 F P
| ├──02 java线程run方法的本质(1) .mp4 1.19G0 c* E" {& @$ T
| ├──03 synchronized关键字得原理分析一(1) .mp4 1.19G
`* m7 \2 x! p0 I+ {| ├──04 synchronized关键字原理—锁的膨胀(1) .mp4 1.51G. X5 S' T/ \2 C8 \4 t% V3 `8 M
| ├──05 synchronized关键字原理-锁的膨胀过程(1 .mp4 1.88G1 e M% f: `- q+ a* Q. P; G& I2 ]
| ├──06 synchronized关键字原理-锁的膨胀过程二(1) .mp4 1.22G @3 f7 y. x5 ?7 Y' m
| ├──07 synchronized关键字原理-锁的膨胀过程三(1) .mp4 1.29G, E# S& `! @( _" M) M5 d% a
| ├──08 synchronized关键字的使用和优化(1) .mp4 1.13G
" Y3 k) ]# A5 s$ E' Q$ O| └──09 ReentranLock 的基本使用和设计模式(1) .mp4 1.05G. ?# e! f" k" k; n% C- x. Q% v* T. d
├──04 并发编程 . j$ G( _6 g1 R r* s
| ├──01 aqs框架的源码分析(1) .mp4 1.28G
: [: ~6 C. w! `8 C/ f| ├──02 ReentrantLock解锁流程和读写锁源码(1) .mp4 1.06G
( l' ^$ z4 F. W/ _7 x) Y/ U# ]| ├──03 aqs之读写锁原理分析(1) .mp4 1.16G! A1 z4 o/ H+ n- q. o2 ^- z
| ├──04 juc工具类的使用和原理(1) .mp4 1.23G- c0 x( J5 P0 v2 z
| ├──05 模拟线程池的原理实现(1) .mp4 1.19G
- G! H/ e5 p+ s" k| ├──06 ThreadPoolExecutor线程池(1) .mp4 1.17G
" g v' o2 g b% {9 M, j/ m| ├──07 线程池源码分析(1) .mp4 1.35G, Y0 o2 M! {% K f. Z6 r5 b) m
| ├──08 如何解决JAVA的有序性和可见性(1) .mp4 946.77M: X$ L. ?& m8 l7 u! _
| ├──09 如何理解JAVA的内存模型(1) .mp4 977.11M
. N/ x- d ~8 d6 I: O| └──10 currenthashmap源码分析(1) .mp4 1.35G
6 w% C9 {7 V4 N/ Z; M7 i├──05 并发编程网络协议与netty 7 ]! {9 L% v# W; _
| ├──01 forkjoin线程池得原理和应用(1) .mp4 898.41M
1 }) {2 I* d% d| ├──02 网络协议和常用网络工具(1) .mp4 1.03G
; \ [; Y4 V+ V& ?| ├──03 Java原生网络编程(1) .mp4 1.30G
) F0 _$ r3 c0 a, ?| ├──04 Java原生网络编程2(1) .mp4 1.76G
- N# V: u" |, s9 a/ S, D| ├──05 Java原生网络编程3(1) .mp4 1.65G x) J9 h Z& E; S2 s9 n7 U2 P4 E
| └──06 Netty基础入门和应用(1) .mp4 1.78G: }& T* h) j4 U: @1 D0 D! e: Y
├──06 网络协议
( J+ a5 \$ l5 N$ y; [) O. ^| ├──01 Netty基础入门和应用2(1) .mp4 1.77G( V! ~# f5 j1 T7 o
| ├──02 Netty基础入门和应用3(1) .mp4 1.57G# n' Q) N) P0 c1 o3 E- y
| ├──03 Netty基础入门和应用4(1) .mp4 2.27G* S3 q8 j2 \6 ^0 s& L! ?) ^2 I
| └──04 Netty进阶和实战(1) .mp4 1.29G
3 G d: u8 X8 g; k& u g& `# T├──07 网络协议与Netty 8 V3 t; O6 I) u0 d9 h( g
| ├──01 Netty进阶和实战2(1) .mp4 1.64G
5 Z( C9 S2 z& Z/ l( a7 @1 E| ├──02 Netty进阶和实战3(1) .mp4 1.89G
* V u% R5 L0 E* V. B0 i% S" b| ├──03 Linux和JDK对网络通信的实现(1) .mp4 1.13G
: G8 k6 K1 ]( D9 B) m% T1 ?; T6 X| ├──04 Linux和JDK对网络通信的实现2(1) .mp4 1.67G
4 O' S+ a8 u$ P A, [2 ^| ├──05 Linux和JDK对网络通信的实现3(1) .mp4 1.36G+ C8 V! I) z" }8 Y# z7 w3 r
| ├──06 Linux和JDK对网络通信的实现4(1) .mp4 1.91G
1 E" }, ?/ N& b1 u. M2 Y8 ]| └──07 Netty源码解析(1) .mp4 1.96G. ?3 Q6 m& ^0 t: R; n7 g
├──08 网络协议与NettySpring源码
: h6 Y( t# D! i: c1 c6 r" \| ├──01 Netty源码解析2(1) .mp4 2.03G
; H$ g% {' D2 s6 w+ ^| ├──02 Netty源码解析3(1) .mp4 1.82G
# a2 q2 L V @* i: R| ├──03 Netty源码解析4(1) .mp4 1.73G
. b; P; ?* w; o6 @6 a& c| ├──04 Netty源码解析5(1) .mp4 1.49G
6 p" B- v# G3 P$ t| └──05 spring源码编译和xml解析(1) .mp4 2.00G
3 M" M# N+ _9 O" \% l8 N. ]8 n0 d├──09 Spring源码 . \9 u: }0 h' m/ @
| ├──01 BeanDefinition和默认标签、自定义标签解析(1) .mp4 1.89G
/ X% `2 h1 M! p| ├──02 component-scan标签解析和bean实例化初探(1) .mp4 1.98G! t4 v( r7 J6 J/ @3 H
| ├──03 BeanPostProcessor和Bean实例化初探(1) .mp4 2.07G i) E- X v/ [$ E4 j7 W4 Y* g. z
| └──04 bean的实例化和注解的收集(1) .mp4 2.11G# K8 Q v8 ]: M5 V, o" j
├──10 Spring源码 ! m4 q5 x$ r5 f% S4 S
| ├──1 @Autowired@PostConstruct@PreDestroy注解(1) .mp4 1.95G3 z; J" P2 N* t' K( z t
| ├──2 spring中循环依赖详解(1) .mp4 1.90G
! O: k1 {' v( e' d9 L| └──3 spring中配置文件解析和Environment对象 .mp4 2.11G
7 r0 P' v, ~& Y+ l+ Z$ S0 z3 f5 M: C, o├──11 spring源码 / m3 h. E# A. K0 N- j- G9 Y) l
| └──自定义scope和factoryBean接口(1) .mp4 2.08G
. t7 A) b4 p# k) v5 ]├──12 Spring源码
/ s# x L% v; _4 G; I% _ w/ o2 P| ├──1 ConfigurationClassPostProcessor类源码(1) .mp4 2.07G
, v+ l' [( g# i7 M7 \| ├──2 ConfigurationClassPostProcessor类源码2(1) .mp4 2.05G
9 _4 T( y- P3 Z) b$ h8 L. I7 ~; Z| ├──3 spring的实战代码案例1及AOP基础 .mp4 2.17G
$ E8 x0 v* G( z( w8 | p& K$ @| ├──4 动态代理和AOP的初见 .mp4 2.05G8 j ~/ R3 |, E
| └──5 代理的生成和链式调用流程 .mp4 2.34G3 h, j8 k6 H. b# J
├──13 Spring源码 % N( K7 \+ l) n1 b1 ]5 L0 i! q. P3 F; j
| ├──1 链式调用过程和AOP周边 .mp4 2.37G
$ j0 X- p- L s2 d| ├──2 spring的实战代码案例2之巩固AOP .mp4 2.39G
9 l1 t0 V v/ n% B| ├──3 spring的事务切面精讲1 .mp4 2.11G1 F- P& K6 c6 v# H1 @' H
| └──4 spring的事务传播属性精讲 .mp4 2.26G7 N8 v1 i: ^" r8 M
├──14 Spring源码 2 R1 `6 }' E' B7 k' f) t, }
| ├──1 spring的事务传播属性精讲 .mp4 2.22G
8 p% s' ]) s4 w9 E& w| ├──2 缓存切面和异步切面 .mp4 2.32G8 x3 |* `* s2 N: Z
| ├──3 缓存框架和springmvc零配置原理 .mp4 2.35G, t# O: P; x+ Y: i6 l) u
| ├──4-1springmvc中请求的调用流程 .mp4 735.32M8 T$ c' A1 N5 R
| ├──4-2 springmvc中请求的调用流程 .mp4 1.42G
6 D& H0 w! W3 H| └──5 JSON参数解析和视图响应 .mp4 2.08G
8 v2 N! M2 w9 C. ?3 T. d├──15 Spring源码mybatis 0 _' |2 R9 ~" i+ _4 s# F3 _
| ├──2 异常处理、拦截器和跨域问题 .mp4 2.43G
( ]+ J& } t& S# T3 B1 i$ i| ├──3 springmvc实战、spring总流程归档 .mp4 2.24G
! G+ y# V5 G5 O' B* ~| ├──4 spring总流程归档 .mp4 2.15G1 I1 s6 k- V' P+ c4 |
| ├──5 MyBatis开发重点知识 .mp4 1.02G
2 K1 K! g" }% s- m3 C| ├──6 mybatis缓存使用和xml解析源码 .mp4 2.12G
+ k7 @6 P, _7 N1 x* U1 r| └──7 MyBatis开发重点知识 .mp4 856.80M
" o7 K* ?# d( E' A% Q* E├──16 MyBatis 1 v" ]2 K& w+ T
| ├──1 全局xml解析和mapper中sql的解析 .mp4 2.15G
3 t; V/ ?6 u' {& g| ├──2 SQL的执行之Executor组件 .mp4 2.24G
0 U) ?' Y' W/ `0 A| ├──3 StatementHandler和ResultSetHandler组件 .mp4 2.30G
2 O+ f; @, |: d# {3 r. Y# D| ├──4 mybatis中的缓存原理和懒加载原理 .mp4 2.24G& R# L" H' B9 m3 c
| ├──5 mybatis的plugin和跟spring的整合 .mp4 2.00G' B6 a: l7 t4 o9 K
| └──6 mybatis跟spring整合自定义分页等插件原理 .mp4 2.17G
. w) H- ~/ @6 w5 i: Y: U# I├──17 MySQL
c0 w8 c2 ?1 |, e| ├──1 自定义分页等插件及mybatis复习 .mp4 2.20G
7 Y; Q" {/ a/ B! E6 `/ _* u5 ~| ├──2 全盘了解MySQL .mp4 2.36G
% a8 _; v( z( B7 ?/ J3 N5 o1 _6 T, y| ├──3 MySQL中表设计和数据类型优化 .mp4 2.06G
0 L) A7 h: d" ^* G( p6 Z| └──4 高性能索引(一) .mp4 1.77G6 N! R' ~8 k" a
├──17 分布式常见场景解决方案实战MongoDB进阶
* | x2 l `9 |, S" J* s| ├──1 session共享与单点登陆实战 .mp4 2.20G
; V3 S v) c* k, R) B% {| ├──2 分布式任务调度实战 .mp4 2.36G
, U2 M$ h# c3 y| ├──3 MongoDb综 .mp4 2.06G- S8 g/ |1 m: l7 W+ |: G1 ]. e
| └──4 MongoDb快速入门 .mp4 1.77G
* A8 W2 ~, \2 P1 t) k# `├──18 MongoDB进阶
4 m$ O! M: P+ I1 V( L| ├──1 MongoDb查询进阶- .mp4 2.26G
% X1 j9 A! E( `2 @3 N( s9 Y. [| └──2 MongoDb操作进阶- .mp4 2.26G1 n+ q0 b8 @8 {0 I3 A7 W4 x1 Z
├──18 MySQL " X6 }- m" X7 g+ o% v
| ├──1 高性能索引(二) .mp4 651.40M
; t: H* U! [# Q! G7 i" u6 L| └──2 高性能索引(三) .mp4 2.26G) \5 l& f7 G) d( o' |
├──19 MongoDB进阶spring源码分析
0 W9 n, d! P) D' V7 S* _| └──1 MongoDb高级进阶 .mp4 1.97G) v# Z# H8 p! X4 U |4 A9 ~
├──19 MySQL
4 S. G5 X7 U! S Z$ N| ├──1 MySQL性能优化(一) .mp4 1.97G
. R* A& {& C. `| ├──2 MySQL性能优化(二) .mp4 2.15G
9 c" Y- q, _7 y- m| ├──3 MySQL的底层执行原理(一) .mp4 1.92G1 a- q6 _9 P' f! @
| └──4 MySQL的底层执行原理(二) .mp4 1.81G
% ^6 c4 O/ }( z6 m7 s7 ]7 b: a├──20 MySQL
) D8 v9 B! \: n- g| ├──1 MySQL的底层执行原理(三) .mp4 1.67G
; W- |- z( G1 m9 Q" q| └──2 InnoDB引擎底层解析 .mp4 1.69G; c* f/ j( J2 t/ E7 V l1 c
├──21 MySQL : A# Q4 V! t. ]4 }
| ├──1 InnoDB引擎底层解析 .mp4 967.41M# F3 C J9 f( z( e- v8 Q+ j
| ├──2 事务的原理和MVCC .mp4 806.35M
" _: U3 j5 ~0 n8 u' Z0 Z- o| ├──3 事务的原理和MVCC(二) .mp4 789.24M
% P O1 n& Q. S: y6 K| └──4 MySQL中的锁、面试题和实战那些事 .mp4 795.23M
4 V. r Q& u8 o) @├──21 spring5源码分析
4 g/ f L0 K& u3 Y: q' C| ├──1 循环依赖原理和Bean实例化大流程梳理- .mp4 1.75G
+ s% O' f% b7 q" Y8 L: ~$ a) o$ X| └──2 @Bean@Import和bean的多例作用域- .mp4 1.55G
5 t& x7 r; j' p% c├──22 MySQLRocketMQ
+ f, z9 b9 F/ r/ r' R| ├──1 MySQL中的锁、面试题和实战那些事(二)- .mp4 2.08G; j9 B" u" v2 f
| ├──2 RocketMQ基础篇(上)- .mp4 1.90G2 U2 Y' O. D4 F6 X' m, g" R
| ├──3 RocketMQ基础篇(下)- .mp4 2.39G
2 [% A% P, M/ B; @: u( E6 f| └──4 RocketMQ内部机制-存储设计- .mp4 2.07G4 H# _: Q( o* \
├──23 RocketMQ ' D2 f- t: m* V+ j r- s5 s
| ├──1 RocketMQ内部机制-高可用机制- .mp4 2.00G
* K" u$ R* \) a: v* N| └──2 RocketMQ实战-异步结构与流量削峰- .mp4 2.15G7 e1 p7 l9 e2 s+ U
├──24 RocketMQ + z, \. c( q' F) F h. h
| ├──1 RocketMQ实战-限时订单与分布式事务- .mp4 2.24G
5 u- L9 w+ T8 g7 n: b8 f* P# H8 [| ├──2 RocketMQ源码分析-整体架构与NameServer- .mp4 2.13G3 G) g1 O7 c, J0 ^" r
| ├──3 RocketMQ源码分析-Producer与Store- .mp4 2.02G& W" J% {; g! I' u- ^$ s
| └──4 RocketMQ源码分析-Consumer- .mp4 2.05G
, ^& e7 n3 [6 f# Z: O├──25 Dubbo * }, N. m0 B7 \& A) j8 T8 g9 K
| ├──1 Dubbo源码探析--服务的暴露与消费过程- .mp4 2.02G8 G/ ~6 ?$ V: I; E5 {+ E& y* m
| └──2 Dubbo源码探析--服务的发布订阅过程- .mp4 2.02G `, J1 G- k' C9 D6 w- S
├──回顾
6 H" o0 `% p4 C. V| ├──07 网络协议与Netty
' V A1 y( c8 L) Y| ├──08 Netty高级进阶
7 o0 a: j3 b0 ~7 z' J| ├──09 Tomcat系统进阶 ( T. @) {& |7 X/ t) U0 ]
| ├──13 Spring源码 : x+ p' w" w3 U5 F7 k
| ├──14 Spring源码
2 V$ c% u4 }' q6 E7 F| ├──15 Spring源码( A7 ]. I" ~: d3 ?* m% `+ z( x
| └──16 Redis高性能缓存数据库分布式常见场景解决方案实战) \; }0 h4 r6 K+ [2 u
├──回顾! b& |; o8 ~6 z6 B# O. \+ S
| ├──07 网络协议与Netty
- _1 \+ L7 z2 l( `4 `$ u| | ├──02 深入学习Netty组件(1)- .mp4 623.23M
( N# M: j; J) L: J0 V| | ├──03 TCP粘包,半包问题和Netty编解码器框架(1)- .mp4 1.13G
) t6 V. B0 Q; t2 E9 C; F$ X$ C| | ├──04 序列化问题、实现UDP通信(1)- .mp4 1.67G
* C: w3 I4 N' y& m' M| | ├──05 服务器推送技术-轮询、SSE和WebSocket(1)- .mp4 1.36G7 m+ C: l6 p: B6 X
| | ├──06 基于Netty的WebSocket通信(1)- .mp4 1.91G
5 z4 z$ d9 f+ H \& v| | └──07 基于Netty实现自己的通信框架(1)- .mp4 1.96G( j9 p6 ]% c2 Z
| ├──08 Netty高级进阶
, C0 }; i9 Y# |4 v0 c| | ├──01 BIO和NIO的源码解析(1)- .mp4 2.03G
" @7 ^$ @. u! G* {% g; @3 s| | ├──02 Netty源码解析(一)(1)- .mp4 1.82G6 X5 I5 P7 y2 }: e4 l- e) S
| | ├──03 Netty源码解析(二)(1)- .mp4 1.73G
! B7 W+ l ^: m- O4 z| | ├──04 操作系统网络底层原理和源码(一)(1)- .mp4 1.49G
: z% n* n1 l B) @" j& Q" G% x| | └──05 操作系统网络底层原理和源码(二)(1)- .mp4 2.00G1 p3 b; A3 s" ]" }2 T2 D6 b. f
| ├──09 Tomcat系统进阶
; {! M8 N: a T| | ├──01 Tomcat源码解读(1) .mp4 1.98G4 _$ U& z2 x- ]8 H3 r; g2 Q7 m- C3 g
| | └──02 Tomcat架构解析(1) .mp4 1.89G
7 v/ h+ G n5 c4 B Q| ├──13 Spring源码
" _0 v: ?: |) q| | ├──1 数据库事务和spring如何管理事务(1)- .mp4 2.37G- i t9 L6 O0 a# ?! r7 [8 k
| | ├──2 spring事务的传播属性和隔离级别源码讲解- .mp4 2.39G
w* V% C1 o. E| | ├──3 事务隔离级别 cacheable缓存切面和异步切面- .mp4 2.11G
% @5 T: b' U, U5 j* L! Q) v| | └──4 spring的实战代码案例2- .mp4 2.26G
& T' n# M. `4 R: M0 B) C| ├──14 Spring源码 0 F1 w+ L. y, P' h5 N: i, \! c& F
| | ├──1 零xml配置整合springmvc和嵌入式tomcat- .mp4 2.22G
0 X! G; f' m8 J7 `. {- v) i| | ├──2 springmvc请求响应核心调用流程和过滤器- .mp4 2.32G. f$ c3 E$ [7 t
| | ├──3 特殊参数解析返回值解析视图渲染- .mp4 2.35G' Y4 E+ G s# Z' u( \- P1 v5 {4 n
| | ├──4 spring&springmvc大总结- .mp4 735.32M
, l# y s' @% {0 h; F| | └──5 spring&springmvc大总结- .mp4 1.42G
/ A3 M; b& p4 V% c* |4 i| ├──15 Spring源码 , H1 n) K) L* L- p; b
| | ├──1 静态视图、异常处理和拦截器- .mp4 2.23G
/ j" F! J# [- Y| | ├──2 搞定RocketMQ消息存储及事务- .mp4 2.43G
3 M& j, R9 L, x" z| | ├──3 主从同步机制和与Spring整合- .mp4 2.24G
0 Z; f; D. z4 A3 J' u d1 ~| | ├──4 RocketMQ限时订单实战- .mp4 2.15G# t% J" z" L/ Z2 I
| | ├──5 RocketMQ源码解析- .mp4 1.02G
% t D" l2 A5 M4 F# J) @- x! Z7 t; a| | ├──6 Redis从入门到狂澜- .mp4 2.12G
5 o/ ]$ `8 d. Y! f1 Q| | └──7 RocketMQ源码解析- .mp4 856.80M
, k& r% V% @: r8 s; T, V| ├──16 Redis高性能缓存数据库分布式常见场景解决方案实战 ]; g! w) T) i
| | └──1 BAT常见Redis场景设计实战- .mp4 2.15G% G6 s- P0 Y3 F3 L7 t8 s9 I! ~
| ├──3 spring的实战代码案例1(1)- .mp4 2.17G4 G: `3 n# `1 |" B3 c* u. ~0 ?* @
| ├──4 aop入口及aop中的各种advice和advisor(1)- .mp4 2.05G
' s6 S0 G6 f4 |: i1 z7 [: r| └──5 AOP链式调用过程和cglib动态代理(1)- .mp4 2.33G
" R) a D" B8 l% S l' P& X├──资料 + R$ N' i$ G7 m5 c
| ├──3.16 .zip 1.74G
7 g) C* D8 e) H8 [| ├──5.11 .zip 173.87M+ L% P& D1 ~6 \, i7 y2 c% W
| └──资料(Java-vip) .zip 585.04M
& |- M+ u! T- ~. ~" B$ _- G1 b* C├──Java高级进阶面试题目_享学课堂 .pdf 3.93M0 I* [% O( p6 y6 {
├──第三期课程(Java-vip) .zip 1.46G
4 A* S' X1 s2 x9 Q└──享学首创年薪80W+对标P7岗架构师成长路线V7.0 .png 1.81M
2 w/ \: p7 G7 l( ^# \
5 ` z7 ^4 y4 L% S* t$ w3 }) c t5 X) E! g
" q) w1 X; X3 p. G# i8 j
永久至尊VIP回复即可下载学习,非至尊VIP暂不支持下载此资源!
+ A0 e6 M7 l3 Y X. z+ f) n/ u, B/ M# J# @1 z3 E; W
; W; v, n; V$ z0 t* s) Q0 n |