ELF(4(GNUA֠n2׍#lLinux 0-L@@@P0S@d0S@0 0-L@@@P0S@d0S@0 -L00@@0S@dPqo@EpTpNp@0  BV -L$M@00@80 `0RP00 @@PD 00@`@(@P3 @4 KP 4 KPP@0P4Q 0S>80 0 0R/(K4 0~20 @0̈́P0 A  L @ A  P PU@P0   BPu PUPD1AP Y0S @P00@ゟ 0  P60S@Q !qh00@ <0 @0 <0  10P@0 <0E 0S @ `VPP@0  BZc0SqYZ @U0SP0S @U kP`k`@Q0  BW  @ p0S @0S @YQIQ `TPq"@@"* 0 * p5Pd@P 0S @x0S @0S @0S  @ 0S @0S @@@ @@q@ -L\1,qC -L0 , -LPP@\A`0qOD@S @,P0S@ -L -LMpp@P@㫪 @@㪪J@`0@@0  0 0 娐 d 0 P KP0S@0 @ 0 0R>(K( ,04K #00[ \ㄐ d  h  @H D 4  t T l L p P x X ` 8 @ |0 \0 <0 U$0S>0}S}>0 \f0 KPt 0St$0S S v P{ Pv Pp0S@00S @P0S 0S) \N0 KP\0t KP 0S00  $ @00 0T KPx P \0 KP?0t KPe P P{ 0@00P 0 3P P 0S0 0%0S 0S00  $ @00 0S00  $ @00  0 0P R o 0 0S0 0f @0 0 . *0S@00S @P 0 00 00S 00 00 @0SV @0SN @0SF @0S>l @0S6h @0S.d @0S&t @0S@@\$ @0S5 @0X @0S @0S @0S @0Sx@s @0S @0S @0S @0Sl @0Sh @0Sd @0Sxt @0SpL @0ShH @0S`D @0SXT @0SP@K$ @ $ @ |$ @ r 0-L@@ 0 0-L@@ 0 0-L@@ 0 -LM@@@Q`p0P$` 0 $ K@( K@$ ("0#1P00@0S@ 0R K00@0S@!`- @10 1,?0$ (01-01 -L M@@@pQP0 4 00 00@0St0 0Rn(K4 K@4` W?pX0X  @X0E 1S0X0pp@0S50V"h R3#00S00S30S00S-X0Ep#`pdpx倠|lp儠` P 0\pQ ꈀV)@Xh0S(00S 0S@@ p-LM@@@Q`P0 0 $ K@( K@ $( 0R Kp00@0S@ -L@M``@Q@(  @0S@X K@P@P DP 0K0P DpK,P ` K@T K@P K @\ K@L K@H K@K\@ 0L KH8 X`<@ 4 ( 0R$K@ -LWMp0p@0@`@0P]K@ 0 41 Kx 0T`Pf TP 0-? 0003S  00?o @oT1V]_K,0K0aK0ACMK^KtP @TtA@P @PpQ@@@,P ,AP 00@0S%`0 0R(K@ @@<`A?J@$q [/K13/00@0S @@` -LWMp0p@0@`@0P]K@ 0 41 Kx 0T`Pm TW 0-? 0003S  00?o @oT8V]_K,0K0aK0ACMK^KtP @TtA@P! @PpQ@@@,P$ ,P ,AP 00@0S%`0 0R(K@ @@<`A?J@$q [/K33/00@0S @@` -LYMp0p@0@`P0@]K@ 0 41 Kx 0U`P01 e UN 0-? 0003S  00?o PoU/V]K,0K@00aKQCMK^KtP @TtA@P @P pA젟, P PA U00@0S&`0 0R(KP @@<` @A0I%%s[/K63/00@0S @@`| -L M``@@@@P 0R $ & 0 0, 80 <0 40 00 ,0 (0 $0 @, 0<KpP <Kp(00p(0@ 0RK0S@ -LMpp@P`@0@U 5 KH 4 K00 L M02 K30KN010KdP@ @  @  @ @@@@ P U@@@@P 0,0KP0 SU@@@@P0 ,0KP0 SU@@0 0R(K -L  0@ -L 0 -LM@@@QPp0`,P (P 0 $P (Q, K@ ( K@$ K@"K,p 0RK( K@0( ,00@0S@ -L0M@@@QQ>N43g1N0@1N K -L`@Pg1N01N -LmM@@@pR`0(0 6 XPP@2` Ry d Rx h Rw l0S? 00@0Sr( 0Rk KXA XO X X 00@0S  @0Q0c @$K1uK 0@ !PP@2` R9 d R8 h R7 l0S q 1Q` PP@2` R d R h R l0SPP@2` R d R h R l0S @ p-LM@@`@@K@P\0l@1@ ($ 43O 88N43NXN\#A 0,-./Kp -LsMPP@Sp0 @ ``@"zK `dh@ l @@*P [\K ^ Y` R^ 0 0R(KP; P" Pa P 00@0S L@00@0 S@R  b``@,K!w?K @[\ Kc ^c Yc R 0 q![\KF ^F YF R 0 q  0 qq 0`([\@K( ^( Y( R 0q a 0`(p @@U -L M00@PP@@0@`S0@1@ NpXsN\s140 `@01!!?-@1"?!.@1"?!/@1"?!d 0@嘂#0&@`0  0@0 0@ 0@40 P0,-./(K @p @ 0 `@ -LP P O -LP PN0 -L10OS[ %05d]* 4%s() * (@)Channe0 Burst Length============>[ %05d]* 4%s() * (@)Channe0 Test DMA addr ==========>[0x%lx]* 4%s() * (@)Channe0 Test DMA size ==========>[0x%08x]* 4%s() * (@)Channe0 Test count ============>[ %05d]* 4ERR:%s() Consume task open fail degree[%d]-1 4%s() * (@)Channe1 Burst Length============>[ %05d]* 4%s() * (@)Channe1 Test DMA addr ==========>[0x%lx]* 4%s() * (@)Channe1 Test DMA size ==========>[0x%08x]* 4%s() * (@)Channe1 Test count ============>[ %05d]* 4ERR:%s() Consume task open fail degree[%d]-2 4%s() * (@)Channe2 Burst Length============>[ %05d]* 4%s() * (@)Channe2 Test DMA addr ==========>[0x%lx]* 4%s() * (@)Channe2 Test DMA size ==========>[0x%08x]* 4%s() * (@)Channe2 Test count ============>[ %05d]* 4ERR:%s() Consume task open fail degree[%d]-3 4%s() SUCCESS 4ERR:%s() fmem release from cma fail 4ERR:%s() FAIL 4ERR:%s() Terminate Dram consume task... 4[dram_id] [monitor_set:0~3] %d4DBGUT_WR_DMA_USAGE_ALREADY_STOPED6monitor %d, channel %d, total access %lld Bytes 4you need to set dram id 0~1 4truncate interval time of dma usage to %d ms 4dma usage or dma monitor is open 4[id 0:dram1, 1: dram2] [set 0~4:IN, 5:OUT] 4[id 0:dram1, 1: dram2] [set 0~4:IN, 5:OUT] [channel:0~31] [channel2: 32~63] [level 0:WP, 1:WD, 2:RP, 3:RD] [start address(phys):64W align] [size:64W align] %x4Command length is too long! Buffer overflow detected (%d < %lu)! include/linux/thread_info.hrw4Invalid CMD "%s" 4%lx 4heavyload allocate mem fail!! ======================dram1 info================== BUSY: %d EFF: %d UTI: %d ================================================== 0 1 2 3 4 5 grant %d r dynamic pri %c w dynamic pri 6CPU %lld bytes 4[channel] [pri:0~3; 0: urgent, 1: high, 2: mid, 3: low] [rw: 0~1, 0:read, 1: write] 4[dram_id] [monitor_set:0~3] [cahnnel:0~60] [0:W, 1:R, 2:RW] 4DBGUT_WR_DMA_MONITOR_START_TWICE4DRAM HEAVYLOAD IS START 4DBGUT_WR_DMA_USAGE_START_TWICE4DRAM HEAVYLOAD IS NOT START 4[axi channel] [pri:0~3; 0: urgent, 1: high, 2: mid, 3: low] [rw: 0~1, 0:read, 1: write] 4[dram_id] [channel] [grant_cnt:0~15] 6dram%d BUSY %d, EFF %d, UTI %d, %lld MB/s 6dram%d monitor %d, channel %d, bandwidth %d, %lld MB/s nvt_drv_sys_ep%dhvyld_tsk_ep%ddrinfo_ep%ddrinfo2_ep%dnvt_drv_syshvyld_tskdrinfodrinfo24failed to create Module root dram_info4failed to create proc dram_info! dram_heavyload4failed to create proc dram_heavyload! dram_protect4failed to create proc dram_protect! pdrv_info->module_info.nvt_ddr_proc_flag_id[0]pdrv_info->module_info.nvt_dram_heavyload_flag_id%s: rm thread 0x%lx %s: rm flag %s: rm proc 4%d %s: resource done ARB_INT4failed to register an IRQ Int:%d 4 4IF-%d cmd:%x 4copy from user err 4count %llx 4%s: done pll17%s: get source pll17 fail pll3%s: get source pll3 fail %s: exit 4ERR:%s() invalid arb ch %d 4ERR:%s() invalid protect ch %d 4%s() local addr %lx 4ERR:%s() starting addr not 32 word aligned 0x%08x 4ERR:%s() size not 32 word aligned 0x%x 4ERR:%s() ch %d is not in monitor 4ERR:%s() ch %d not support! 4ERR:%s() monitor are all in use! 4module dma(axi) = %lld byte 4module dma(axi 4word align) = %lld byte 4module dma(axi 8word align) = %lld byte 4module dma(axi 16word align) = %lld byte 4module axi 4word align efficiency = %lld 4module axi 8word align efficiency = %lld 4module axi 16word efficiency = %lld 4ERR:%s() DMA%d monitor period is 0 4ERR:%s() DMA%d active cycle is 0 %s: OUT RANGE PROT: CH(%s) addr(%08x) %s: IN RANGE PROT%d: CH(%s) addr(%08x) 4WRN:%s() DMA_HVY: already enabled register 0x%08x 4WRN:%s() DMA_HVY: starting address isn't words alignment! 4WRN:%s() DMA_HVY: size isn't words alignment! 4ERR:%s() DMA_HVY: size less than 1 word 4%s() heavy loading test success 4ERR:%s() heavy loading test fail @[0x%08x] V[0x%08x] vs X[0x%08x] 4ERR:%s() Heavy loading test unknow result sts = [0x%08x] CPU_SCPU_NSHVYLDNONEAGESSCAOSGGPEGPE2JPGSMCSDIODAI3DAI4ETHERETHER2USBUSB2SATASATA2LARBSCEHASHHWCPHVYLD2CNNNUENUE2VPE_0VPE_1VENC_0/VENC_1HVYLD3VDEC_0VDEC_1/VDEC_2/VDEC_3DEIVCAP_0VCAP_1VCAP_2LCD_0LCD_1GPDDAIDAI2DAI5axi_channel_en_disdma_disable_module_effdma_enable_module_effmau_ch_mon_stopmau_ch_mon_startdma_get_efficiencydma_get_utilizationdma_set_prioritydma_channel_enabledma_channel_disabledma_get_monitor_countdma_disable_monitordma_enable_monitorarb_disable_wparb_enable_wparb_set_priorityarb_opennvt,nvt_arb\startstopcfgstartstopcfgstartstopmonitor_startmonitor_stopgrantpridy_primon_startmon_stopddr_arbGCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0GCC: (Buildroot 2020.02.9-23-g81e333f) 8.4.0A0aeabi&7-A A  "   TT#n 6{(MUnqX XXpd$4tp %@+1D6$;AFK\nQ$e(wx0@nDn8` # ?nP7PTd  +dt%A10lF\p6KH ;@bP,}0|,,$ D< 0!'-p3HIOXflrLD  h $ `H4n888  @ d 8  $ * 0 6 <$ B@ HX ND T` Z"8vt |#(8#  D$  &dD x&D'0` 60(hN T(q wp) H*\X (  0n(0     L         (  \ 3n $< L  & 5 hDhdp |( $dn3\, dx61, , \n7D D D .n8` 6489n<9` K` Z! $i` nL9p `@61h@nl@(CnCDnDFHGnGAp%HKxInIuI4J,JnJTKnXK; lOnpO+|D[n[@]n]        , X &X 5` Dx  pSp@_ j r@0@P`p@      /  B +  U  p   ( ( 0  0  8 ; 8 \ @ } @ H H *P P  X 3 X P a` m ` h h tp p  x  x : P U  o @ n] XK C   9 P  7@  R2 M <e s  T|    :   P  Td17S[<jw(Rp ;44 ],!0[PX4w 9 m~ 5H= J8HTt(pO?OU`dy7Pd L9d 4$P<L) DX$*@_ 9QYE G`g8~<9 98h8  5|1?0U^]o9(LUX 4J 34l3L\cvxS8$ =H  @T.T8?N l@Z8 w4Q|$Q3_ HAddr_arb.mod.c$d__module_depends__UNIQUE_ID_name22__UNIQUE_ID_vermagic21_note_6ddr_arb_main_no_tracer.c$anvt_ddr_arb_resume.LC0.LC1nvt_ddr_arb_suspendnvt_ddr_arb_remove.LC2nvt_ddr_arb_probe.LC3.LANCHOR0.LC6.LC12.LC13.LC16.LC17.LC7.LC10.LANCHOR1.LC18.LC11.LC20.LC22.LC14.LC21.LC5.LC4.LC19.LC9.LC8.LC15nvt_ddr_arb_releasenvt_ddr_arb_ioctlnvt_ddr_arb_open.LC23.LC24xxx_match_tablenvt_ddr_arb_driver__key.30201__UNIQUE_ID_version60__UNIQUE_ID_license59__UNIQUE_ID_description58__UNIQUE_ID_author57ddr_arb_proc_no_tracer.cnvt_dram_proc_heavyload_showheavyload_tsknvt_dram_proc_protect_opennvt_dram_proc_protect_shownvt_dram_proc_heavyload_opennvt_ddr_proc_help_opennvt_ddr_proc_shownvt_ddr_proc_monitor_stop.LC25.LC26.LC27nvt_ddr_proc_usage_cfg.LC29.LC30.LC28nvt_dram_protect_stop.LC31nvt_dram_protect_start.LC33.LC32nvt_dram_proc_protect_cmd_write.LC37.LC38.LC35.LC36.LC34.LC39nvt_dram_proc_heavyload_cmd_writenvt_ddr_proc_cmd_writenvt_dram_heavyload_cfg.LC40.LC41.LC42.LC49.LC43.LC44.LC45.LC46.LC47.LC48.LC50.LC52.LC51.LC53nvt_ddr_proc_monitor_stop_t.LC54nvt_ddr_proc_monitor_start_tnvt_ddr_proc_priority_cfg.LC55nvt_ddr_proc_monitor_start.LC57.LC56nvt_dram_heavyload_start.LC58nvt_ddr_proc_usage_stopnvt_ddr_proc_usage_start.LC59nvt_dram_heavyload_stop.LC60nvt_ddr_proc_dy_priority_cfg.LC61nvt_ddr_proc_grant_cnt_cfg.LC62dbgut_tsk.LC64.LC63.LC65.LC66.LC67.LC68.LC74.LC76.LC78.LC80.LC81.LC69.LC70.LC71.LC72.LC73.LC75.LC79.LC77.LC82.LC83.LC84__func__.31961__func__.32212nvt_dram_protect_cmd_write_listnvt_dram_heavyload_cmd_write_listnvt_ddr_proc_cmd_write_listproc_ddr_fopsproc_dram_heavyload_fopsproc_dram_protect_fopsddr_arb_drv_no_tracer.c__func__.25111ddr_arb_api_no_tracer.c__func__.30256ddr_arb_platform_no_tracer.c__func__.28771__func__.28792v_spin_lockhvy_get_reg.part.0hvy_set_reg.part.1__func__.25207__func__.25196__func__.25331__func__.25352__func__.25309__func__.25360__func__.25088__func__.25097dma_wp_engine_name__func__.25044__func__.25230__func__.25244mon_counterlocal_addris_useddata_counteraxi_counteraxi_4word_counteraxi_8word_counteraxi_16word_counterbw_counter__ksymtab_arb_disable_wp__kstrtab_arb_disable_wp__ksymtab_arb_enable_wp__kstrtab_arb_enable_wp__ksymtab_arb_open__kstrtab_arb_open__ksymtab_arb_set_priority__kstrtab_arb_set_priority__ksymtab_axi_channel_en_dis__kstrtab_axi_channel_en_dis__ksymtab_dma_channel_disable__kstrtab_dma_channel_disable__ksymtab_dma_channel_enable__kstrtab_dma_channel_enable__ksymtab_dma_disable_module_eff__kstrtab_dma_disable_module_eff__ksymtab_dma_disable_monitor__kstrtab_dma_disable_monitor__ksymtab_dma_enable_module_eff__kstrtab_dma_enable_module_eff__ksymtab_dma_enable_monitor__kstrtab_dma_enable_monitor__ksymtab_dma_get_efficiency__kstrtab_dma_get_efficiency__ksymtab_dma_get_monitor_count__kstrtab_dma_get_monitor_count__ksymtab_dma_get_utilization__kstrtab_dma_get_utilization__ksymtab_dma_set_priority__kstrtab_dma_set_priority__ksymtab_mau_ch_mon_start__kstrtab_mau_ch_mon_start__ksymtab_mau_ch_mon_stop__kstrtab_mau_ch_mon_stopemu_arb_no_tracer.carb_isrfree_irqalloc_chrdev_regionnvt_ddr_arb_fops__class_createnvt_ddr_arb_api_auto_testof_property_read_variable_u32_arraydma_set_grant_cntplatform_driver_unregisternvt_ddr_arb_module_exit__this_moduleplatform_get_irqdma_stop_heavyloadsnprintfvos_flag_create__stack_chk_guarddevice_unregisterclass_destroydma_get_monitor_periodarb2_is_existvos_util_delay_msIOADDR_DDR_HVY_REG_BASEnvt_ddr_arb_drv_wait_cmd_completeiounmapcleanup_modulevos_flag_setdma_set_priority_thkfreevk_spin_unlock_irqrestoreseq_lseekvos_mem_release_contiguousnvt_ddr_arb_drv_suspendwarn_slowpath_fmtproc_create_datadma_reset_monitor_cntfmem_lookup_padma_wait_heavyload_done_pollingclk_getnvt_ddr_arb_drv_init__release_regionnvt_ddr_arb_drv_resumeinit_moduleddr_arb_platform_delay_ms__stack_chk_failvos_task_returnkmem_cache_allocvos_task_destroydma_get_ddr_bandwidthcdev_add__do_div64dma_set_monitor_periodof_match_devicedma_config_heavyloadrequest_threaded_irqnvt_ddr_arb_drv_do_tasklet_vk_raw_spin_lock_irqsavedevice_createplatform_get_resourcedma_set_priority_rwpdrv_info_datavos_task_createstrncmpnvt_ddr_arb_drv_removepanicvos_flag_wait_timeoutof_find_propertyioremapsscanfprintkddr_arb_platform_va2paddr_arb_platform_release_resourceproc_mkdirddr_arb_platform_clk_get_freqmemsetIOADDR_DDR_ARB2_REG_BASEdram_consume_cfg_channelvos_mem_alloc_contiguousnvt_ddr_arb_drv_ioctl__aeabi_uidivnvt_ddr_arb_proc_initPDE_DATAemu_ddr_arb_autoddr_arb_platform_create_resourcestrcmparm_copy_to_user__platform_driver_registerdma_enable_heavyloadseq_readclk_get_ratenvt_ddr_arb_proc_removenvt_ddr_arb_drv_openIOADDR_DDR_ARB_REG_BASEunregister_chrdev_regionget_nvt_jiffiesstrseparm_copy_from_userdma_get_grant_cntclk_putseq_printfno_llseekddr_arb_platform_spin_lockrtos_mau_debug_levelsingle_releaseget_random_bytesnvt_ddr_arb_module_initvos_flag_destroyvos_task_resumedma_get_priorityiomem_resourcesingle_openddr_arb_platform_spin_unlocknvt_ddr_arb_drv_releasecdev_initkmalloc_cachescdev_del__request_regiondma_get_dynamic_prioritydma_set_dynamic_prioritynvt_ddr_arb_drv_isrvos_mem_init_info +,$+(,,4D+H,Ld+h,|+,+,+,+!,!  (4+<,Td+,+,+#,#+$,$+,+%,% +%(,%0\+,0d+&,&+','~+(,( +,,Dd+)h,)lx+,+*,* ++(,+,<+D,`x+,|,,+-,-+.,.+/ ,/(<Lh+0l,0px+1,1+2,2+3,3+4,4$+5(,508@+6D,6LT+7\,7dl+8p,8t +,+>,> 8+?<,?@t+x,++Q,,Q+R+S,R,S+T ,T  \ $ 8 h |   +U ,U    4 T +V\ ,Vd       ( D X   +W ,W  +W ,W  < T +X\ ,Xd x   +U ,U   $04+Y<,YDT+Z\,Zdt+[|,[+\,\+],]+^,^+_,_+`,`$4+a<,a@H+aP,aTd+bl,bt+X,X+Y,Y+Z,Z+[,[+\,\ 0+a8,a<D+YL,YTd+Zl,Zt+[,[+\,\+],]+^,^+_ ,_$+`,,`4D+cL,cTd+dl,dt+e,e+f,f+a,a+g,g+W ,W 0+V4,V8H`d+ih,it+O,O+l,l+,+n,n(+n,,n0T+X,h+ol,op+,+p,p+q,q(+,,P+T,+n,n+n,n+,+s,s$+t(,t,48+u<,u@X+\,|+n,n+n,n+,+w,w+,$+(,@+nD,ndp+nt,nx+y,y+y,y+n,n+y,y+y,y8<+z@,zD\+`+Qd,h,Q8`+|d,|l|+},}+~,~+,++ ,, P+T,d+h,lt|+,++Q,,QD|+|,|+},}+~,~,+0,d+h+l,p,+,+,+,++Q, ,Q@ +|,|(+},,}0Pl+p,++,,+~,~+,+ , +$,,4 H+L,P+T,+, + ,  4 +8 ,@ +D ,|   + ,   + ,     + ,!! !,!0!+4!,@!H!+L!,P!X!+\!,`!h!+l!,p!t!+|!,!!!!+!,!+!!+!,!!+!,!!,!"("+,",0"+4"<"+@",D"H"+P",T"X",p"""+",""+",""""+#,#,#H#+L#,#+n#,n##+n#,n##+n#,n####+n#,n$$$+ $,0$+4$,8$@$T$+X$,$+$,$+n$,n$$+n$,n$$+n$,n$%+n %,n%%%%+%,%+%,%&&+&, &0&+4&,\&h&+l&,p&&+&,&+&,&+n&,n& '+', '+o$',o('0'4'+u8',u<'T'+X',x'+|','+n',n''+','+','(( (+u$(,u((L(+P(,t((+(,((+(,(+(,)+n),n)$)+n(),n,)8)+n<),n@)T)\)`)+d),h))+),)+),)+n),n))+n*,n**+n*,n*,*4*8*+<*,@*X*+\*,**+*,***x+++<,X,,,<-`----$.h. /+$/,4/t///040D0\0p0000+0,0+0,11+1, 1,1+41,<1D1+P1,X1d1t1+|1,11+1,11+1,11+1,22+2,2$2+(2,02D2+PL2,PP2\2d22+2,2+2,2+2,2+2,2+2,3+3,333+ 3,03+43,83@3H3+L3,\3+`3,d3l3t3|3+3,3+3,333 3 3 3{3+3,3+3,3 4(4,4+04+44,84,<4D4+H4+L4,T4,d4x4+|4,4+4,44}4}44+4,4+4,5505+45,85+<5,5+5,55(666+6,66,7l777+7,777+7,7+7+7,7,78+ 8,$848@8H8+L8,P8`8+d8+h8,l8,p8x8+|8+8,8,88+8,88+8,888 9$9+,9,09899+9,;+;,;+;,;0<L<`<+d<,<+<,<+<+<,<,<<4=<=+@=,T=+X=+\=,`=,d=p=+t=,==+=,=+=,=+=,=+=,>d>+l>,p>>+>,>>+>,>??+?,?P@T@+\@,`@h@@AXA+\A,|AA+A,A+A, B+$B,pD^: @H%H^HD @HW^<S @`8f8_b @ y_u @8 l` @H c2c x4y( @Hh@@ @0p0p01dP {