From 7ea3c8930004fcb9cc088074f128defa63d98e29 Mon Sep 17 00:00:00 2001 From: Penguin Date: Thu, 28 May 2020 02:35:56 -0500 Subject: [PATCH] SAME54 consistently presenting a nice image! --- .../.vs/oracle_test_d21/v14/.atsuo | Bin 149504 -> 150528 bytes .../Debug/devices/display/p_ssd1963.o | Bin 1685832 -> 1685920 bytes .../e54_gfx_learning/Debug/drivers/p_gpio.o | Bin 1551040 -> 1550536 bytes .../Debug/e54_gfx_learning.bin | Bin 170672 -> 170648 bytes .../Debug/e54_gfx_learning.elf | Bin 3101520 -> 3101344 bytes .../Debug/e54_gfx_learning.hex | 20788 ++-- .../Debug/e54_gfx_learning.lss | 94106 ++++++++-------- .../Debug/e54_gfx_learning.map | 2574 +- .../Debug/e54_gfx_learning.srec | 20788 ++-- .../devices/display/p_ssd1963.c | 16 +- .../e54_gfx_learning/drivers/p_gpio.c | 2 - 11 files changed, 69129 insertions(+), 69145 deletions(-) diff --git a/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/.vs/oracle_test_d21/v14/.atsuo b/software/firmware/project_oracle_test_firmware/d21/oracle_test_d21/.vs/oracle_test_d21/v14/.atsuo index 241585c8a13c5e34d9ddd3098fd7b8b966797447..35f89a8df93c0d616ad70bb959a13188fd6071dd 100644 GIT binary patch delta 2389 zcmb`|dr(wW90&0GJ1ls2S&%olJa&Z*2?e*rS5vkcnPZBIR?MUX=^vIRq$pxefHL{a zSvZZioN*#TO7jtW)V0!DmDGG&Gp4-+^N%u93J@h+`krmq$4oZk*q!<8dE9f(p5Hm= z-do|&SG=uv*dAbt?+R0tcw_^>)6>%ea_@lI-EF+Y4GQwz(5z4ZRQbrg7w?}9|`QIW$RNg7d z2xWiYW$L+~2n`GSn6WT@LGE}m(iC6bQ(YJ@HXDu->oV{~#zj=XJB*Wcauay|L&@0d zAbNq%4=LB@qe@1v@EiKq?teVP&G8iONg1n?3*`StQDU7yeE$=V)lAJ+h1>~$U)~;Fb&p;2U!eaCtd=5f zBnB|8u9NI8dnj{LorTp{$J}M&sczaN_NJQ2{EAYjyrj%gGL`Ad;>zvY>d(%5K4V&0 zTw2J`Z5UOn?4*sF@hVxwp`2kPXyel@hTj31$D zVNbEv>cY5a6^kb~G1!;Ne5ic-`VWsqRbNb3R+*5GhXhE3B#@`p0`la_6D!+Uk$M^n zi>Pi4`=6&G*ZH2OBC5v~>79A)6g&;x2QuQ3?KCdJ8w?oHbu6^L%QOwfs6N z>fn8-hYipGAHavO5jMd`uo7kmPr!e_7>_Q2;LpBJ~H zJg)3TW*_W_CioH#z(F_!U%_EG0!QH(9ETHdQsE=aF^`@`_FFguXW={e9)5ry;U_o; z&Cmkp;b*u2++mK(`wf{(@HNp%bowTwOELzaYqW@Z`$+FXxg!rg!ip2?AdN|K3hTBdA!4SW-$9by+0ak NETUmFV-2I2?r)@f3fcew delta 2547 zcmd6pdrZ?;6vuz((v}tq($Zm3gz`{pq}W1%mc^wYYz*HMol!&(a7OWwQKukE=lp|3 zbimE_b0#iGHZ+UNl;7qrE-oSSv1c-TWUnk48urI@(`0I*W|Mty?Qbf{X6CYFH~I9O zd+)ig^E>C>hW403ou*FrL`f?Nk`xC$3fvhP84=9{rh$oaS0+t6vZ0l_S)<9_b*rez z`xO=NjjWB*_ziYWHx^dB+LOWE%s?i7BPy*e2ThnKTrAKNBXuLB6JWh?KVcOebQ8z` zxgZsoffzg~BCU`UB6=p|6fhZ#iL@m{rU0>(43cI`zhkfsm2togqOp*eFc!LyqC5s& z*iD5Lr}o^}C;EMnIv?^mnM6FsUu1j+Z3_UO<} zMz9vF1M9&Czz6(x=O!qdK{IFpTRvzwyyiS^!rh%U9Mp#Cm2lrJdj&tiJUo~@ z&zOxC;d#x3Ur*jaVt5;VVQ7*@Tj-C$ypcC2&*UeaZrEolj#Y1xQ3RGqYHg-i5!m|x ziZbFUqp*1}ucP1RrCFM1=b?8#&@!qL`a-Y>JPQ^B%~q466OM=cq246c>tOv!4#pi; zr%qg9+D4S1buRG}P7lAH`Gpdw3{bCA*IgB)Im*VWoy0rSY~1F}rqfFC<1XUsvSJ+T zrRR~xbx7IN| zz5Kh<3|ke3ZnI3#f7?E5&W@jAE?k)Xgpm)HX3J-z*|0KH;vl)i&W4ns0td}c!)6)M zEehy>9;Bm9d_H?b#-Pm%L|YtWJQxEKfCX4VBCvrwUA2YO8M&~_skg}3Z7qMmB|K<7 zue(1ocrdYp|N25e4P>){uuBx1_h*tnva=ecro4y#*)bQE;ja6;V~MO0NBK9$nqxeg z!$S00CMC#&nPi|UdB24vb9Y(-&)pR0UCjQINb9zhhGYG~e6)2?fAz^&qd3@KWdR?V zTxJxHsd!@UMW?fax>w(1dk!kMs}0n@F7&YyYW~u|YqH|$pi&*0Pjp@>PE99%vBb-- zZeOS@d8tnqyXWBD2X(CUmfUrQhWXW_CA>!-mL1zEf!}F&ss}14jnuYsvXOdvCY73H z=$GYf6*NU%`xIG8xwN-gM+1Dn`~&aVnY6TZOG$2_+vhHv;VSjbC~$fGWhE|OSxFgw ze5LsX1qFG9#h$ILweGqGpJ!!*%U@WR@5=KxKUaqDd+p zquq9S*-CO_16SmE=g7bhzwT5Iou!*;y!PEjllZeB{&ht0Gxbe;sJ zZ?wE9k-gn#XRI%d5x4xdCcGha@G_k@s56PZZm>J`ao^b~QvH zXVj5IMmjltIv$tNcgo%VWJXpsWJcVpSO}>anO4`(6kOitW!9rkR?hf0^^K9;ixUVO IeNQs>2cXmZT>t<8 diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/devices/display/p_ssd1963.o b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/devices/display/p_ssd1963.o index 0ffc204dc6f3c12c86e8618d3d1d29a37ce7b966..4cca2249f756a8333446fc254910671da68c61e3 100644 GIT binary patch delta 70861 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ͷGyZ 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©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

xxXNPFO}eW% zhl*S^d8{2db@JInimnu}V@uI_nN7HXt1C=d0OORgGhd-+Ih#w)!3wsQ&I7RJCG>!| z<8LSl#(__xdLBpKc|JOw_~1VP>CFG2V+>sQjPBrYfM0G2(yrWRH%Pnj1|#K~x%0s* z(d)raQ;Lfx_oC>(7w_7P#+!31NbSReL!hlM|2P%;nfOrhVfpcy*Uhq#4v1+ylH8E#yqa8%89ah~gqb`c4!UIV1%W`%=Bi!5%i#jmbL8^z zeF2ikyKD!Qd>&j1!xr!qY`Uoma5KdO&hX<0K(vUT-wpg?-iIVT%O_E_1=w&u_;bp70OUhHE)sb4e9S4R^oZwmgPk7pBPt*~ z;m0>(>?!Z(icVt#UqTO}XMB4-^nK3%qT1URd?=kp)yS(ULHH%#L6O8){1!cNU-SE6 zKzzfKC@mYQcoDWCAuN;k& zU`Fo*XTftCsJI9(X<2tbI7qGsSK+J!?h7{|zbzQL3!cj$y@#-uQs+E{b8j)`B^db{ z^m+^7%fZP<7(N4ozCyq>kTD6u4F{D1P|`=uYCHN(kdD4ju(`7g2UxwHnhU?xbD6tEg=TLpM>i2?ll- z`IlY!tb@^CZ( zqT~~rK=HE4w#v|x(`o=kh2MZ3ByJ{;`%!Vx7(fJzy*&_O#4`%W9xG1V3cTZ@^+q7XiG4Vl6Jo0==!_SS zwt`?M#i5Cq&IB=;3RV)u#i5w1Q{wB7Fi4VUHUmwv_<&Zdr^WIwxJnVn8_BJmDlQC% zylLXzmyjY|w0;a~8RE$k&?Qr}rW~9s@eR4qvc)wU(d39DEislW-lU?IXX1xc;5`?| zrDBpA#S$tJdnq;?gJ`crp#+>>i_3pS^F|B`gJ^HX(q!Ph6MwovDYfs#u--sy5;s#R z?gw!vCAxeRc?vo|iB-Qqn9t%ID$e^Nx}AqGU&W54bdQMb$wS*L+MES7R0>*Pu52Z< zQh;D5iS>j`_L7ZmFoJ{RZZyUmCG*K^gHdzXQ=-GK`iM9+F5}U3yAXw6yn<+?x+6yd~$qLKz>4oQghuB^_xcXOi^9!5cUR z=P_;C{Uv_zx!@Zb^NS!;pv2S>od+fD8qge)>_Z_`7ko=&Ii0U?L=s8KxIvQl^kX<~$`sp)z*1aNz!^a5bjBK7J_uGq+1oP z?n|mBLzM@T*&PA-Q1Z^`3>Nj0WSZAUl81Icd@Sif^ZG;*wgjA>N=!7b4U(o+(BYY6 zElull$)5kVf0Cgzt&I{_JAk~D9HnV}C0X+ckgp{(XY zOEfgCO_DXg(7p0O(v4zpA0-7*knNLX9;L{Cmbe{&wZ2GVj)V4B$%F0?_?u+PUNCHy ze3u1kHqynEK5r|H+6tm}(gJeV*h`&ho$erAMTJw2Qr`^!|Uj0n+S=!1t62w8Zg}exf8>Z|S!Ph~^_rIFH6x z`VSpWZIVhTO6@0Y-wXtQsfiM_0;K#;ND(MKnGN)V(i0RsIV3&sH}DQiMT&zTk$!ur zX<=$}Q)xUxUe91@DQ%iUq>2HsTd4HnZ)i|e`5Y35OaG$ukO=9{{U8@9T`oZVW6}Zt z?Te&!-O!mU4f+R7o>a8}JW#7R2UmsCT}xouGtwz^gh`QfGyUL-rMoC^@vJmW2c6DI zPa2m%xbxCkl#W#*jV7~Skb3SwQz~uy4b4UAiv|dDNt!^^E=%KwLYOPk%0Q60Ds?c& zRhcy9dlp`jCzZ9NTTog^-lzN0;s(%sAbn1mMGvK_bM!K) zmrBTS@><&d1qRI`ARWcw*oGF&!9imM3O-;H1xDLcFZ43EkF zrl3NU%*FKXR!8HYG>|+Y`#^VjT$#QZ4D)0r@>1o?#7YQQAahFq`$AbQRbQTw?P|bSk<6)r?he`S zufhJTtmHJTbxvkao2c`$$~v$wkxf-V!V9v$DMhAK_Ubo`U6h^P1O+e2epv)zF3YYZ zKHH_KG>JZb|!#Yx$MnZz@T7q6%Z?BS~72~Yz-BR*U2KO^zVVJh|Kj+ zHmeGd^|Ef1K=nxGeFeHamgP}$;1ikMQ;a>8t)p!F2H8MzR6dgp-iNX0vg_o2`6Rn- zujq=0h%A>w;IFb56lD7*lS~JhX4$;|98B`&@wl>;Z!=}z>1NFNh6@+@ia9Xe0eP>F z5Xn`3l-`eS^6zo(3_ii~kv0P!@|m=S_LOh2fn;9tX`KM+EqA71W2k&2tzN?9S>%R} zkbBZPHd1a`3>l8eKTSguCBH%$718onr9h8CStSr+<;RWm?mjM`M~<^Nxmp6y6Y?cg z2OBRxM)}YuU0TDSr{uSsp?s1&o67T(wGebV{82Dw%w*^7#Ecwrtw7<%h&w2p9Ida!!0L22V2RifQ zdrTmjFK^=w&;q%6CkS&@UQ9)eW%2;}ba;h)oF!zcl#A|Ys^n!w=)5Mkp!55#%STUu zXgB2dEg@*N+=-Hv9?QcRba^7LK7p|Y`TYlU@ar@ArBS$bp3C?21p62Ab~iw+QNCs# zFkZ@|E<=k~^7CKOX`_%&1f;FvYX=auSNxd|5C=sk%EEC}>{HA^8`1H5d-p#Uh6qqzJ#_~t4C zOvCOO+Aa(LkwV2@Iw1XwVg!}v7b(Q8n2=&cm}&F9*2|CX1jP%A;;%q1RfJ!F>=zXt zuK|Bav7c)AE-NC>qw|Vl#~r9}Rq;zGnli<%eqdUzFrN+4D->I-K&4VqNUy~z#Wy+$ zeMPmQ8GuJ zqVx?Q?<)p1K$HiHD@_1-sJOBZ_N!O8P#NhXh0q;Wj}?#7&^%G>CfDp!g|HH&8x)Hv zIsKU;no6UdD-O#R0RM&JCzE%r!B|Dk^w)}>wZMC$I6|@3w~AM^A$+IU-w&F+SG==A zXOrU6R)}P;^r2^wgR(%vod`*X2wOCKq(;ylt<`1Jb&dTI+!~^8J`JR z4k|NCLF|xn&U)}WtW22-Vn>wSHBo>$t{hD1jPc6Prl0Cs8`DREL$b0RWka4;PF)6? zDarzJP8BGBF9+K*N-gEP6)8u&hIxvW6aEImS>@uL=(JT?w$ioupI6PbJ36}bCa+1? z=Y23agPx8B`X7zSU^-;mA&d@f9*Uk}`8BZY@H@R=gb~I-2F4?6DO+mPHgYJ8ZgBy8 z#+a`}&)A@H7<1gJGaxa3^B0UxaPEu0^Q|dQZNboZD6%NMBYGB39R{o=*WN?@r7vi+ zwyd5uD$Bc*D``bbA5d7?Py}kL=Ek6Z^}=rWyXHG-OUPpU%{1+PH{(o-q&u^Sp^(Uh z{e1+82Utoc@Ni{q$+PLkZp_4(JL_e@mR!U_v-t3zbKzvxb2E2mV z@XNRgVKsq}D~$E814uZVG!;gQU@ho0xk#40AI&j#)7Tz&N)$Ul#Us&7LVowt%$;(3 zQ`ksail(vR$&fIeRZ~19gKatk+L`PtEzZv}n@J#ZjxBNqWC=Sq1Dq}}>k4oxW&gB< z-7m6XePFd4Y$u&6Q_Z$fYUM3vMfr!fS(cm}O?O!C50IjUJr73jOLm{$1FzYoe}VXh z**gO9Efdy5-*?RMEkNG0LCYaw6I(wEogdgCa_fF%b+>T!iNzfT`e(L)qRd}d_eu!! zm8HDL)i<__Tv^TRG)0$f_~EnUXtL$q>M>}?SJJU-_Ph^;!X5aTd>}e60_oXCpS8hh1cX8vf@zBMcfBy`S9=vuiIC=8kw7T}!zZ{F7( zdiwCovAFW(rcPQonoQhw4q*JaoVHT_+*Ao_0X)AAKm)nMd?|H%WB7RSQ^fOmplLlQGwX;*0{cakSjdTRnN9EPz(zJ#{Ar+72vY2f7Jo?xHM z?>mF-hSU655MWYxqY1sKyesW7iuu_i=se30)0*Qv*Pn$lCHy@EMu_x#iv5@J1r*-6 z$h#pw8Mi)uR>nt| zMWIMvL6Hq}OsvrTdkh{I3aOkn zPFO&p)YC%ORiK?BOiV$OD)_Vk$QhxxFYt?mn3e!JD{Q9w_M8ya2$1u_kDbw!2+DWp zye^zr2zhS^(&^CUrZD6YI&TTKb0OhvVfieolDi}9kB4eCLa;5GyTW#ITHO-{w7^)S z;5!=BUJ47yHS=2Vq9y1Xp_Xp{w?YcJ@!ttADKGH7FfSXNngsb*sPsYj-3Au@DEvj$ zQlEquMWE>-ZcnE>RoqMN8aJ`W?=4V8;V%BE1)_&|f(+~_E`1N$UgDfQV0eoUH)703 zl(j);u=sHhKte2YEBlr> z^Ef66pAyxesS#y1V18Fr>;sj1;&+oESgja=tc?G?3jU=UmiAo+kQ2A-t=}>FyPl#| z10Iq$V^E6{ko=?GqL z&%tZk4|~zGqiGh|{<_%vP=j#t~LY^{z+R)_E8UX63(ueh6C-47^ZwdOT>yv#+#pKglYnJ~WYy zp(#1V(kc9s#B4VKGMROF3k&75R66UrfL*PDCdM=DCS}SOv2@DaC}u;(0p=__)E*cW z?1!n4w32oAf^yebkruSCv%P&m^afkI8M9Z-9?t=pde+x22Z1KLvW>_eJr~L!tC-O83O`PJ-=$OMKULFh)lesmeU7h9<%IHqvvV4rC^2c;~ zRvPa@NeJoOZx}db@X=BP#^97L@E8+X-$9;h> zr5vPE{%<3QUF7#EMdT9qNdwKx+>W;GS9r%JSmrA4GzeE^{N+(xmGh~|ElhWwsf;VA z4!eraNrIiPaYqYqy3W_qU3!Cek%N6TU;7V;-sB=B9^B%a)4=IA_rD0dJG>9==xTWP z5)i%12U1x69{;iqg4S|Ra^}|Y)ww{w&%@~sdcb#*hv*?s{|Um>^C3o>=12UU0r-zO zpMl;d+=a@So^tcK(6E8ONkZo{Zp;Sl=lljk=L=rl8NxL3g_ME*lCS>n*f+k_55!*c z-gS`h4bP#V^;@1otIKyh;y-sCZ(a_Sns~pL82iBOFO$dSBhS=>%qPCd6C!@*=jXu) zUwHX?bbjTn0-(${zH$#FZ00X+VzzCB+1o+JR!9v4f}Nl$L1QmO{00OEA)X5V9R<5v zKyVUT(ofAN($AnQ= zVXibGpcU}ag=?c>!%V@aGl*s3Tt-z36#^?gDHT0O2sSmoXl?v#0fa(fAw~Ai2v?%P zp-6B_g<*?@HBqRa#jdis5qojsL2GsYeL?75V4oy<0N=A5i{uQCkwc++grf<0IQ{<9am-+3chZv zKSj#iSv@^vJ($b@JWtj@CmwmR^an<8@@Ahd0@Q~+bpgIFJ6i%FO)QQwg>WM8OJMlp zd|rSAu;1vYoj^8yEkF*ksx~mxAr@wa<}lmR3kEpCT+9Iy#C)cK#Zl&B54>RJ6$^wA zHWDEnyv9b^gLD{Maa!3GcM@w1f`$=HMq8aomPgeo$Jo*SK#XE7>7VW@AF&7UWNVzGVe1r!ey!e1jF!1Kn$3hez-j5=O zzC1|*-A(*TE)?_Q5z)Bv=liJWFo6F?SweyQT^q1F$e+{i`VcQ5m(*dtZ8;#1@WmAB z58}JK;_4{>*;ognIKcNDESbsY&>4eSysHh^=kUZ)K+NS&Pk?4?I!eBKx|=XeQaaGd9|Hy~ZYi|8q+Nl2kjt2hfK|3GaQAxQ!w91u>K`o1+7mlT4#hcJq~HlD&@@_l&;Ih17Q zEmYGR&_~$Q0iC|WQ#zCBm|&nyY?NR*ACzN+qLb*16{fWY);3Wz-MuXoeVS+ILA|(m^X|bFvYz+baY2kD~fTjpzC=)tW z$lC!`(u5x;p)*~WI0H7%5HkINpD82;L)$EYc|fLY;phN>4zsVJH12>V;L?fcHq)F%|RiMCeQhhCCILseZFTs6CG6nGh-h{kf1!L5|PD@;4Cs zi(sJis&B$Zn)zno=q$?9w-KjC1H)DfBBzg?=t~YIZ&9@jh(6-JClJjfuA(=9pV+=X z5dFmyRG$+d=CuH|KvCrg+L7YAH0X3pyw(BoMvJ?@!4@&%So%rEiZdmka$J0aT)F?f zri4OJ=+d~HmIYnQAHiV#3us&T+dt&z8}KC$lm~976TSwyw}z5`9Hs~M;3I+fJK-Cx zP$pJ{;qT-a3aCv#MyLlZ3+}K+N zc{cU4Cnxfj@5v#)wWI(NZR@N=2Z8qm&TUwj}_K6`3f+tj!J{!m<0F)7OE|7Xd1`n`6k zpag}kSp`7v=iUU6{-X|o&+q%(Few9inXWWh8~2C87z;~Q0Dh59|S05im8+{1qHHFEImi5iIhz1@wVu&-Muu-|VeM!zwXux!}(harnCdmjcN z?bx8{0Hf4yDCEGpe?jBOmd4W!EwDW6_*obIj;7An|O61@N(fr8Lt7mQC4_iEJ{Zb)90qbmJzm>r^?N%vO;f_%!P? z34*3DeP<9&W!CiDPGeX8##K7Qhu+A4>3w3)G&l(k^J8vTUl3Xkd0! zH2REHd;`LBHnJR@FPQ3QDACAXm*dWT$y~O>YOh$&fdF~Uw$lUkjgf7q!2DY_gX$6A zvE@sE_@2#lfig|3=OM88!0MGGh5vgw7;;y{ek|KRT0B)tg#(H zaD+$c|1WM*Q3ht0W_n+DW%GeJ_QNc&AGduWW@5s%TDt!xUcHKoN$;pQZ}JbcB%NYL zck9$w^st|nJQt*=m(GIeXZ%SeNHg=^LiAaKoFLU~H_EO1Glkr3b0)`u+T8VbF}r^i zkRNDX&qVw`zs*)aF1YQBo`uQuI$1Q8j`dlrzDPTuB?GA>cWF!lK$nf9c=_`9CRl34 zt|X9KIm#bGton5g7_T0F7-(xA(nfymsH6D1t|vWQ)_3^|3L93g0|g(Zqrw(n7BUqo z__1xnF?Ied+YJ;0*gA@U2QpiVt{h}n%ji*ih>fJW-@{B#zvLq(T7o z5kheZE8=msZCHOg|)c^B~sa?Q$SB+C+JO=&g7+#DTDp$4tX<~Z9EXN z*tFX~$Y$>n!PYeYtHKz)3H^C&1f}=pvp+uL1}R`ETLD$b;>izuhAsR8;fk1&C=|2U zTM(y`mD0wriWSpgv)9>uiuv7Oed%i*)$Dr(biB#-=s@!p>wgKn9<#meq5l&WPRV8s zOvpj!GnPNu7PI%9`H~OCp6B7-#e#fIGZb**J2Ie-GryJr;YxuYxtj|Z8!R#6Qy*&mq`Mi@5CW}v`vud*WF^VeZ@bPr~V=mv7j3$r& zZGtNKe9JmO7VseobYAA-23%d?XKsK~8P}>HeL0_Z1AZ>=sc@jA*URJdBXi>faVJ>GSDs%wwt4~Q0Pl8f-}NTv@1pAqg^s3-}1f0r*pN69;7e4uyFqE$^he|huuyDXv3sGBOikreg;&)4^ z{sW9|3(@p#bqDcgN6e#>*x?dv=PWL7gDV%YJvk>1h(p65r>mIb1S)Rg2YST0i`5kO z^bp@udZ?#ZNzrL9afuCxd5c3gKtCVxzVSz3_=-Q3fQ(6;LfZj9Q6zVszj!kVFae^G z)<%IM;@r63#e@trheR7+NO4&Fxf0D0amXb=28q3PU_OtEvo@kLSmd+^4-t3K3m{b7 zQ~=Up;s6I2BwSom0S*yj?=ckph!i7cL$+h$iBP~qiR!UXJ6hy+=!_BT&Vy*IxbZeH zj*IFvG;!kHB8;67?^9htytpX?3{Q%EZNMo(Odx+kq8Ji5lEc0gbXTQ{<3$)YO>Ckk zU%D7Tp2B-#$P`ei6AzNh=e{_QGTa`Bb?ZUwq4?MhWA)Hb7a zFNQ^*idEx5r9tfZ6j#s0r>8*rxwwULPF{$gX`|98x)>kget0RmQY7Y;*q_4QuSJy| zFy4qSsbci4IFekO@5Jg2z<)2!+6KN&;z~N?;)942VeuXpTTq6;C$ZBF;C&XIsYLFJ zSV(dBuVPskID8XVQ>8|;X!sQfHj=wk-e4>7Zzi9yox~v!?Cm8%bS{g7q*Z%RbCm2M zuYr@Kh>DqLE#~ffSySIg~c$ zCAs`N%;havOuq>q$;U@P_myPQ=>jH+v{d&G?k9=o_n3ohNi4-?b0p))?~*53HXNY& zlI~Z)qCgV56oM8?5-7#^jHK;)+)qW4W3>A&mW-rO_E||vTQuh+uNJ`S=Os7wU|%A^ zdjmg0iN{({DU}QfoF=l?#&zpK<*FoxW~)r{o~m%lCEKcjP$5Y_fvZZ%=i#7IC7JaF zSJxy9!vT3+5}6IW87_iH3GoS?&9 z$%PQu;GX2hEl{bI^f8jWbrM;3T;7+&Qn>hmq~|zEW8JnPmMqFnlhF90!mW64&p6&?rf#Xwpl`K1z^&C0X_i z=CzlWdV{8e^v4zy0dS)&NDbrBBKEkR#2a@Nup*rzQC2Nlz$nbx9hY4V5lSAJG=*s&wooh*l;I z#O-86GUgOozg9?hT?DmCY3l@7uS)858Ho3#ZOAY3Kw3<+>!rK8KF<5jkd5%gY*$C13pNjD69RWv@Ja@K1-#PbNEGiza2onO1)ddPT!>a=`@Lz zuCiKNXy_)>Zw6l+Nw5x$r_4JBjhC#3&ZF>_rBk+GkZeK-gxNK`YL^~;Ku>vd-WM9c!aZ0u$aH0&4x1O{zE0X0>Y_(W6*a`?|Wy7eL z`NTUZ)Lj=g4#RTRyqLjy-ZGVwkDY! zm0^64vEjJ-C_8-y7IBi_`UC`Lc`O}dctD;^KTTKpcjT3ElQSy1b(a@5q4Ti3D{ZTe z$fr@6%Tal&wP=Fn=Vk&gME*|zj20^YWwa5hg~`3Ba5`N66BW25%8jYOKP7)R2TihE zO^%q;^6`HHBSl^?7c-eE-`o;-Y4ZLwJ?ZitAJCa0|48AOV!6K>oX*O>4F$q^dD=U4 zmdIm!0OW#v?jBr~$}Oqv`-VI_Qi)r=THZiT&0F$*bo#?>c`)UG-;p0(4Pk2JrS!3_ z2KjB;**}y2Lb-S^9&F2co~CGr2ng6fedAF+#DT z4LTzg?Y4tjl;YJE;72REe8g3Z;y!KPVimvAdnZ+~VFEhS6z#SEFGKN1EbNr2Sp6AF zWGU{f07$mt^c|>MqF7!55aR_!MQ{8LE-Hq!Meij=+(>9~Sy9*o@vkV{ZE$s4VOk5& zJBkf6Ak$ri4K^{zvQyJ0x>k|+2(;@Irzm6Qg<{ccG>r-aWiP){?5D)2*NScrK>Cg1 zPm0yNRRpxbn60vBEjsOtN)I|S%t4tJ3>J>cVDcY1DGyU%+*#R3l`1A>J32zvPkC@O zW+XtF>Ic4fAJR!72bIe<0sWA2O&-vXDfi#QRh04~?P6n;ir!=y-PNKxkj9JWP{br!-Mn@(X3yaoi=1%0-W${VSzo z;06`ma4&x)BdC5|1U!3HUMpNVs9bLY(oyy370{hjA#p(WRn`B6PLpbW2MFQ+|7iN^ zfUJ`5?>#efbzNy(b&b_^%}sUf&b7O1?asCP0i_Wnl!tCb6B;EoywPhZ^gP+n(;rQ8!}bf<1`V5WPGm~Mg!@2D zZRp84o|hX|bOlIO!;~sWai!r#{Qv{%+}MjNl`0x`;vez?Thr*kC_bL+cG1j|GCK zf#4buFN4-xo9}H9wGgu#ZXhN>qzHpNE)9$_==>e@j5a9ae4iMD&AFg*)F4@Rm31+w zpNhd0gOBVNKV$HMfA(h$^4Z;-W^n&Bq)0b7HwWtG7Z=mL)DL1hF0=x=?`wzkXu0dQ4uBr^qvfuTd!N=!7uQqt~RtHWm4Q}yI zI{ZVgfMRn(z$5tok8gt+{RXhR{VRlHVi8PQCq`$TvKRg7&s6_ z?G3-=Ky3#@^AZsAFucH3EPBJ2p#bqRY|4>UZ^IE2LB+>#;ckHV8rlc*yF0?LDit<~ zG)(8Z?Px>63*s2VN?u+ZHSEMScE=2d{tNsR!{XPFJJoQ@Av9+VBlm+vn&BhJ>H(rbp_aOm%b;g6r7S*~F~F!1sW8`wd!e8Z#TxV*F6@DU%@Qehax zcD`%akYA8hhB^;6lwl$7NvjR_ajNAD!^gb!dujOl8_4w9a3~+u_r}ooIGQ@cV$OGa zYk0B*?DreZ;?fc;qvjvL(8g%69h=K&h!Mu@jGB1EhW19~-$15Ohm9KY!pp;GHAl5P zjYiv`@iOwi3-;bdbz^|4-|(O2G~TsIong)L*$k~1}PjeP6CAsm+43%=!YIWYjP4q(Nd!WbQA4gcy=PQ)5lyvGjs(I>qu5)xdS&$X5u3s&MzeyIOnxS9YeCH4#BCYW4K(>{0xv~_OvZEA zCD^3NWDpH8$>bE;<0cn4UJ_^WCqc9mCbhRPmSEC|LzsysZfij%$)pp1t0co@M;l0S z!DJ{`{a!Sg))>ttlOF6)zHD+l9!-|Xt_zT<(B$Y-$W&yK%(0SNCQq+JCS9>fDSJjs zOe9OwZr7P5RG5vKHEaNInv-Fl`I7e*S za^MG>7I23ok*2F{0C~!E({M zohhc>${>BJ=~b@sJ7fCv0A}*6sp&T8n`Zh0ALg2Fnz#~DoHJd(sT=1_Tk~h+GE9Hc zbp^up@=cd_0E+_CQJhFwXxhRU_(i5Yc(GAsTEOmxd!`0s zfqvig!ap$n15=p~d238#_*wAK)QFu?Z%n60fmoesFt6j^nSS#X#NL}O$n!_Y6#sGCPd-)iRv)Se(G~Q+vkHOc+tU)tq?`PJXy*vJ9Gh2gp zfLR+(pb0eF(FNKcHEYW=a?I?4DI`2@Caj=RoY?~Qs>hqn%!Wx$m^J$wMo2T8ZULI< zW?y*IciwC-XT4{b-P9$5_64*4p8=C;_9GupkY_e*FF^CnzGY`tp;@;fXo}3va*_2- zv;1ASx@8v0r#)7iwd3=f?wiGNxTD4_-Weu&X!aL7KOUJKh=ml7&A#JQz;|XdRzSk{ zW?wkD?4wycm->A&%kbdz_|Im3QIO_~S@i_i%hCLN8bA-2_pU;xvw7`bpmxywo7qst z#e9!H__~^}`WKDA`R4rq2{89Q41^%_IV~Vzu(_VMWFh8JrhJo`x2(jm3hef2RZrjY zdupQd9f;v>erqw>-=rLf1Mc#9Z-eIj{>}dfJogQ(*x`Lc2-7iaG2jL-<^x=YRCj{V z!ww>&RU3Yp^W^`o$Ge0Pm-taQvW~q;qs)2cMk{`%kEt00$g#DTL1A1EuBjiNlFYBx z2^0BVoA@giSxgeuFwf+4-k48m$jKp7&DTQHX_@>pp1#K!D$Qtn5Ir*!OE5a?O$)G` z?UN63bLJr!i_lwhA;X$>B6c_E84| z4DF{++W~DwaqNP#rYWmH(}o)Ha?yjVcR?gQ#c)E27d7Q)oj2+F^V`6OHV;RyFO7PR zD?jSOc~$;2`vzbFs3r$jfwW^f$OO?236KPG*bPOJXzezDoTT*#R3T1bbQvJYben(C zr)lRLK&Fr%#}!j)H{XqCsL4Exou!nA;Fm^y^_`ng^R~@{A?O9#Sp+3AY0zIV!bM8s z{M1YIxg26&ra1k2Kz5z-D<-jmzUK#iC1rI4B=UobfL=wJGtqgE?sCMVniB89KKGG3 zlnT7we{huWG1;^M_a|hq4IocxF;7e_ZK)5)XS9K1L(ggKRq%U3O}Jv?C4JDFG^Iwr zp5dR1ooLMw9|tjLFtl|Pe}00t2ZR|fiJZi~ra*TVI{k#E)JgZi6T%-Bzt#so4{@Dc zLweEpPh5G5shpwjCB7>GO>dze0AfC3CBG4T#nd3k=_kJS2TgzB#Ls~^Q67S;c#+0$ z>;!Rf7Oa#g92Wo~Nqpt8lVT=sG*1b72S&-_dmaCRPmA&az(^4@IGrF>+%yBHGh*Nh zT%8qTIF^+rTJb|XT~xdP;yLm04;bdWIKnmB8Di_7Fz*Gi>jSPb#YD~zx+vcB>ExG0 zQa=#8EP9y(y-)=3{-Q{%8v+Gyi7}(Ney>;*I0Lanl!U^}x5fA}@Vz5;a}9c__-+_F z%fwMGRx20w9CWJ?ZMvhW6h|xoc~`8D17wxB%z@T>VzDt)sutfS!ay&@hZ^9$5VyX~NYvS7ayt!CjRbd1`Xx)XSi7P5Pckb6x(z z=V{!K*PB4%T$!r_dY*J#im`l2{4ywzFD}Bgh0=cuq$-jvssM6R_F07HmaKXNn#Izt z5FjP;wvIEM5U}7U$Q}9gEKF4@AF&gmOxg~CrOV~3R9scaKBW+?Qr3(BnY*$b`;x2V zhbBP3Cx80~%2ms6xIpK=Ty+VZ59G_vfUJ=%_;K@4Zu&3PSH5FE=wms9oitBm|Nq2) zD)TyG`f8<;Na%1;s;KFOZ~F+-oF?O=3%k!LOWCip5lgn^-j zvfyJJEY;YNP;H+&H6LX5tLe75vQmj0=CM}m+dys`wT4$0w(2KNhB~D7KL95W^?owu zK(B&pA*iQ%+X@nTDaWB89jsp0;wnVh4hP72Rqw|C#q3jbz8L5bH39N;Y|5L!fk&R= z@1T{7(KDnG$I^x_=lrH&H3EN!5B~+!{~qiP{v%HG0^gAxH-hG<*WaRN^shGfe@w&) zK#uk6iP3Q_>Ot@E=4&AK1i#0y&&2X9(4XXb4e)CQ{j3AIwIBH=SRcph)eX0-VT6CL zb;8td9JLsun_W7Kqy~F%(SYl_H3mEJw=S1k; zU)Ytur_XpW-fP0y5W1y&)`11t^@DVl6v<(aeWcg5r24B|IWA*GU#-zt)AyllWU}AE zMkbGRu(6{aS3%XDhVoC_0bebIVH~N`B4~Gj47uXNiAGIDr!#Hi%KL+4?+aosw4A-u zt~8l{jBa#8|GXtOcbm8hP){57qSKQ)y$5M8TF4P+yzM4}rVknMNw&Up*%XZ*-RH9g z{pkUpHXJ~UH0TycxvsbhqWbY@f~g~i1VZRqLvRnJMd{Gt2vt^tQ5fmAW0u3oi@)|1 zLB_fh7>uN;uQ3=!MO~m$G+pKMQe&uV9E3rN?IM64qs#18i=|1d{Bc^7hZ)MHEzf|L zN0;~`Jq0wJs}>9C1#-NRRC|OyN;m0yzKL#8O+9oL)3wb2DWR<$LGw0QP45X#cSvIo zX(@GO*H;-O@gZ;J6g?e8E2ssZO;<@T>Ok!-HQtNPDq5)@)C$JS$pLx|MJ<3552+1D zb|2B0DbW5gUFCyLpU`c7$UdbpT$x@=UH60iGrIf$ozLlZTXedL@K!t_LT&=FLn7uO z?yJKhHXEHDB8nqhdeL(;X2Mgf{|5+OVktlHyu~J63Pke}Q{RHGuh_x+RzHz%g)4vI z6A1hOQIG3e0!5rDCM`&e=Pi7&DCP|F5D{h$VM4{6IRH5#-ZjHjm{1N7J6s%V3L8WS z8;*EJ3UvfBMTx>caTP79`P*DEBF%-5fH*3Ctc1SD#L{(O7%N6{QrU5_3#sUc+n4f7 zJ5N}0_`X0q>H#u^Vq_yA6p3k#q1sK+AO&N$M573x7mMN7FjgYm;=%s5sL!w9J0dv@ zouy(Wr*@W!i<~H4F4lGCkJ(p!q4HVM%>#6+7HD7R&{aEv__LpiIeRy6I6v1h1g1m1Iz z%3eDF<>@sF!@z4o2{n)Dw-5tmp?2UpYC3XIWmo4z@af znSTHb1LRY4kO`C>EpU}7t3O~65r0#Vxh$_Ph1yy2mn?u}OWz2X`-;Rp%CFT`e8=a= z=Dh%UO>W`+%yn7HYuy{NF>eEMrC^t6p6p%+CGzD0KJubKE@}%Ya1Q458GtF09}c0p zDO*-T(pz#gC+!!@u8Sc>i9Fp5h_~h5M3A{7+okbT%H3B0Stj$dK&D(~H3P#6S-ArU zmC~74zIWvx*^sbG7Mnrrdou4dl&F^D1A%v6#`c9252UVPI6!OU%q>v+p`7&;WFE=> zbJ0AObGa_yi5%~Tv8S>vzdCCrod=m`av-}0o=XdkX}yr%d(in(8uRCGUdhM22Y)Ts z;dmFkR`-X%Bz5u==Zd|RwOv8_om^lKkoR(|jvb#LWE3YKeU#sKgxa5E*+D4!S%%#} z^F``!fzwyH&=dF;N^pj(r8>b`@%z-Z-ay~4K5@CQmCBj`d9BsysQ|H2bN7Oit?J29 z2Rro}F9Pk=lIF05gQ|UpPDj;l5HF1ms98HoPdy@O~z zstvn)eO0az^z>66SJ*S<_*-)ZO_2$yFbg!U%b4U02}ctJWMNDp1ai zAXA|-#)4X>6{!;((7&lVZ9{WQO@0Aoiq#LjAaIGw%!R$mE07%cNnjSU6A_v(QuIDF8l^X&lh zQPtyB>L;~q9oTYm@ke>7cFtfKEs4J3b@ifTp`qgh3~*zbV9b z);bP=^$u!{Lm`ZdR(A%!I9DyMKN>gf_FT|**Fq~m=8*RAAK)L>$~ac*p?xX`L%r7b zEoggcZ8>+-OWR-#CA_uC9NF{H2Ae=oUoChP`1xr@oJ{7gz1MYu76F=?1e*kECyc;8 zNGr(0V6e7iJg!2tm7M(=*-nd!p;3Z-_CIM`E)4X1>1C7%!g@ppWF{L zd$ha){dzsG4^4Wn?g6AegJy&Ji2P(s;>f?pF#pjTU7+unr^E1fYzDs^X4T_Z;p~1r zKyI$rGLV?}Yj=?NC(;QdR?UmR=<1RSF#Xz83kbBXH7C%mPvVE+hSJSo{BJgIVm7vk zMgQIbV=z~`yL^C)B`sSFTkWF}1gQO_%N@!04|RzGF>5MK27Md)Fb#xk$$C66>}VMO zT?p!gx$I1E-eMX9>65G|Q@{Q>+G3NVFGsdSFd^*lp+c`138*6|4@X{6XKoKD9B z!0;Tc;$+S9G?Qx{Gw8uxFuXu>c~g-|*BwFZBIP=P(i3{ec>C0h2-lytyxOza&oK;#w7Mue0 zkdn_q&_^_C1n#59G)CY47izOO(Lw*2C3lSA!c$mqFx-}!vQ?S#bVI(62I{`!o9@=ee^Hz0*ze; zGY5&~9Y7^mq<8@@L@4%-g^G0?CO9JUIr}k8*l?L%xR~A?O@!Fe6B80C-uxF76-znY z_>%ZMo2O2s3((9Ko@>#0MO3fgpQX6whpQZ6*#xp&6KkhHmh0lWPQgq!L35A;iZqt3d`oXYPh z&7#4=OCEj+@#EyyL}(Z)>--OE6_}n3B0>YmkylGbxtnPO$5>N^7|pc&ye-` zh@1=3-UWl1axzB%FG@#FV7w&F{>9a0+2SGQAWJ4T1^aB-iWe1EWWiFHy>1&Xlp1i6AsCYXyWKKbt3T!dPCIPh7VS zFq1-kz+keMH5gC%SPb~7Q`xOM?W8aMPT$PAZZk&pdk3_cpV%`ztKtCI&t5PN2y>3} zE@1A-x`)ypTU(K+5HY_?CH@)KEB?8?6{8Ak%BLR%mEsj z5AmERvjYThreD}!b&y7I_J<1%=mvaOiZO)7C~#PZ#+`hEAr^)2=Ku8PxuF znDhd5dI-Lmw8jT^x=53Fy?2TJV6WF@YOxzcv*_Q0kUpEz=Yr-Hn$M1)tF-QCOiT{# zp9sin)Lene^^vq-2zqaj8Gp(&m)tlFBabYOLG66H-VP=ypj({BTu8%TqbZ`W4dDBf z-tu`vwe*fxarj(>KBY69Am#@_`wfln4|(gTnAc`+$)zJWy(6T!V7W@I+Jedl`f(bX zkJOvb?D#}wL!rcH8r>Q+zmV~GTz#e7IuNrE6P!1t)=#OF*L6FUQN6)Rr) za{AtJG5jyk#*_2|sKtwPj{TevcI?_s5YH}xcA{v+PJtw0a2#^yh+lRm&`rC9C(Dej6

d7SsNmNM4{ko)AsAJOcW&3qu5m9+W} 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≶M z<`+uG2gy&z+ZM?CFuxl3!H!uucd!%qPH4#NT~AfV9a9tqjyHC&wa3B!-SOnLE6{CZ z;rrlXXr%pL(Y?lQHX1G_l0n=^Z=Lt4EeIlqXv zWd2d`@9@(TfT=1DtTnTjJy$Qc+Lf6LE_YjIZv}fkf3$#om!;b=yCHf4+$`$#Y+oR4 zMprQhH;aP{*D#Y?z-{jk*7gIthU23J-1;1s72MVTFH4OgwpS`{!NhPR>I)?l+ZIDb zO>BE*9BA6euNvW#621lV%F8Y(r-+nw$x}G0WD@Cad!=Lyrj~akDSm`cla&7vp824J S0==qR3<4%Y{{O$9fBqlDV_rG{ diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.bin b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.bin index 743108b39582efe49f13029eea57663b57138af4..c55f0c5015d9a67190e6ddaa1736afaaffb10852 100644 GIT binary patch delta 9531 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 UbeV+XFdLr4SOV~4ZZmNI4}W{#G5`Po delta 9642 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 n2vg8K- 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 z zU5{B#nq&eivkf>|(Fv^R2LOxLv&|;6cB#dxQo_*P4sapzF}pNCDdrJxbsn<^BipkU z(y8+(E_HGb)UyS+mw|iGQ3H9<+|^r)E?Es3oRsZT#bzNz%Du)@NGYE8z-mKPj`}!Z zmh4Y}qX|4$Otp^|?e&ZB-X_9PMiEy*9sv=tP}ly->VYFiv`Hm`XXZP7w8Z?=oM(Fb`{*p#PrVzO z$p-1o26+-V*+=i9iBA`saecM9&8KrhDHcP`8V|uG;7&&=#iEC|BzG6!M1wT}9t}3h z{IIW9*~qVIsZe#2-{wpyIh0sK)o%STWnAWz(L|+Z!GS-Pg$Yk20Z>~}ukLCEj8`3+ za`mwR8js<`$2D06l#jl|$8{qBkQJM9-O0S4fal{H6IfQg*BLPaKnpLnmblp&F$K__ zn6CLm^a3yo2|f{B0j$SL!zZLCfH;)OCt@4`hSc~ZbwEiUV?O8ON)AHSGw>4mM6?6I z?N~m^DU^WyA3n*An3V-td?K0w$cH`nM0k|qa;$#J_BQ^g+Lzdm;lAi{IK|fA#Wz)D z&SD1D#@xOuYK|PB{eqh( zAfkdpd+w3q&|b%p)ra;5!P#b}46Z#bAnVZHd;wX9_PPp)hxU?2`48=#7R6hK_9SE- z+N%_?B4({z@WoyLJBHDfeULM^0kVVOZdw(gKG*^guag6`uo-9(F+;fcepWNFU zA#FKt@8e@@p4=N&eRA(r3?v#~p4?+b^~t?$LUZfno*m%_p6ik)_atPU+>?-XaxYv^ zS||5-j<4p)J*ry!`uU zj8f~52lNjI0J@f1Y-&VA%##XfNe4eC)D%SZtiD1CccRue`SgF?eyr1~8 zUGsRJtS64=nS&;Zt>_sOwZZ}NBp!oYDQYR|5LJITBpHXXdycz7*fCd)#>oiP7_Z_@ z!Dehm6azun6Lwk^T@Xu&tt0| zGESH+k>AJ(NHK~aP&NJ%CA9;G4PSLDAw2DD57;ny*q}6q9gmO`xs*r=& z3+l6d5|+W?rkbXP+G+4U-H z;Y5wh6Ocpy3<^h$mIFc8n<7*lHIBL3F&%0sKoK%3eCXzo^|Gfh!=rufCflymUrD1CSK%-9eyV?)G@4G}XoM9kO_F=Io-jE&kcW1&}x zx%xgUW^9O1e#A!5cx zUpSghL&S^?5i>SK%-9eyV?)G@4H+{wM9kO_F=Io-jE!0`W1;U6bIko(Suc6!SgsA$ znPUlAXO6?W7&L|$Z_Tv2SZ#n4~EzSx%S!4nm6y)V!XrA`4!_{3`N!GgMR~z z)xZQA3y`)OCFrlZ(Hc!}_~vBSo?j5EF#^!t6(bKBs__m+UV!lgFoDK0OaOMHCq(Fm zj!|P+5ou8y8Ic|hKR{0KuHVg7(=<=VJJ8u9jK(M|(&!I4F5?_~oAChtt!uo4T(5Bs zBiL@VgX9q72GYUCD<~_}n2Ub{j9;NHX7?Uu*mNz+(Etv9bbAiKdUu=U)3un$O6aII z<Q( zC`oB(vi>uJ#II%n7JobVhP4@NjYNcErXW25r28y%S7!_ON5HutHv?yAX)Q9a4ybuS zDBkzi5+ZmLD@&A|CrWMuq!dvgL<|MoB+VQ$Lrd^{Maf-*gtM}uuX_r?${==-+2oo* zxVwN?k!$wW?K89h?;EhIx+xGLA-to@N^T0IC31wOPX)4)IUkYg=|DTY{+u*+ljj0C zLpPrb{c?UpL*O^*MP@LXTYX8SmBO5Z#ehBxqz*ZiWcx^_f1~|AX4M`n@5?HHQ&%< z+e?F`iu|#FTV%mcE(BvSVojL>{XEfS(ZE-sTz3{L)kNg{P->RU(jFT1Pf+tjF+0o6t#h>T9Z!%!Y>jji_ZY+y4>m zY=D|?HeIBpXEJ8@D@?8Cqkk)5d!RGH@DWHvD0RL>y1_bgCP>vpbMqptDEAr%!t4OH zhthni2VGoX9+j9v32l*((!gnkEY=z&yh^46Y87~L>a#1nBhpHP2($ZQEi?BxJKZc* zrQ>S-{SC#{p^ec+M3F z%mV~>J9E(zt+l$vd~b;smnk%Es?LHGwX#GE;HD}EFoOK{!0)hbbifZ~gf7(*U4k@A zkWOq5jXS6d%pzn&iHro1aad;DtZR;0icM9Kql=ucnA1^R#zAtuR(;zx!5)R6ye`$~ zB-FU>)1sr=2kV-8wHD8GKhITZqE2H45xqoc-cjwzb}|E(X|8TUbd`@x1Qx3}$$_l1 znnU}4;1?ZO0gF1&g}Vr*56F}OT$ePq;0J8K0p`eMT0`$*w#QLFBipSUe6k)#Wno=M zOaKl0-%7|pY4?!nH9yl!EN!O0wAaY>5pd1ez&A_r4JRuBUK=~+Ms*;%&S&+NyOdjG z{?^aDk<2L_RHds}Yd2EW834O2mki=lch8dOMPPH+0(-0sn;Z~;A1*?4z1ed<6n|Q5 zq&ewPtNB*3QO<%1AKJU0N-PxptP>(gnDB z{CJewjqjQPD=K;pVrS@215H3?uYY3<^REH}T%EF@5d39MjN2v1EDJ(nClalgTV5B? zB|zo%k*I@$Q4jg|dsAc=0GnY}EZ5qo{r4_iu9>#b{R6>A6| z*IGjU7_|3B06^;kw`(3w$*Lu23qG#JggPR{$F-7BEK+=2t6AVTnBe%hmJ+HFyvCMf z^+g>3)faU@Hy<2)T+;&kdR4UxbmZguhC(jD1>ob_M`$a^__$(&AcZ?;e4?i#D-38p zF2jbb>Qkb~su6Do^fYSCCo-26I1T0bVCNdpUGy;S!sFUNv!uazd|b~Ex&bx#xaL!p zXV4M(xSl2S1r+AvdLs~}S076Sz{AFT5{dxu1Tde3JOI{p`h-jXG8*rNSKa~gBH>B# zagF14?$40SC+brG+$iM}y&3>_9{EIj0dNnKPxQk8vO&*BUk8Aj-+ZDefSbU4qMrl6 zeQQ3^2LPN*$c}9P~T>5$9urt@E*;uGe@G|KtW4;jh0@MED=yC?fn9 zH~OwUh1a@>A71Mset3&;QpaaBDmjedRVl%Vzc%n4#|3+k`ex*r$vN+_Oujzn7ye6dQLE)^7FfBc~|k}rvMT5LnwXj{hG?S^iOu^x4dH+Dnk zCdQmnezGVXxg(7PXyP@}T16_48-rToXtiN)6RDgq{=~nRjknP^ZW-Bo?|xPbm4|_~ z${kK&NwHs{b^k>`a=$|B@v(s9eudU^y@0r1vHdyUeudWidr?WbU!nDpkle4(`m#4! z9~sd4Nr?Lux1Q5JkDU!&A~TPI#I_d3jr54*K=YUFTDMY07bDvmx=;x>{sZ6WKpbftP+M@PS2PfhCr56TknebMhX0uyMwivbd3%z$cjj7CsL z%ls1xI%XR~0qDk$XsZZAN3V)B+M=c|<2B%;jMMlx+ISixB*vJA9vN%&fS@>IQGLWc zjG0KM8XsdErWvPEhjhc+4OVYpOoTbIjV;Y0@zt2WVFHh_3#LV}rK>aY^HGRC9=N0XmL0T7qGmp+m><#Duh(y6tjm-@smFdR9PPo-z+zmOij7^vmyqV1*VfO6INywNpJM(E& zYVPdJhUnc7&Ca|6rMwGgXD&oF7R}B~hh9r&XC}b>%VrxInti#k0Mp9~;~yw=rO^<^ zUS%`^ezg$?36C2Y$X%bAj-ofs&K!yVo}Hcf3jW(MJ5z@a&(Ahap>w=o{0NaR8jXrL z_$%=5OU5w#yT_PS6xl*~*?1hlE5;uDyVp2@n(a5zVd{g%9We4Cqb-U$Z2S!s-ZUOX zjo&q1grdh3+iT{y7qt2l_>HTeGcQJ=Pd$J_gFfdZ=d=f%?}FtFqyof+1KV^oHO#D*jAHf}gZWlm&rvpM}mYr`?RxF`nVcuqgM#1h91$LN+4k{gcE zr7sELa>FsYTuu;j!!f$GoNVNVV{{u)l^Pq4(QQ8guQMYi_d^!N4aXRKDMXXz3Ncf6 z`!*b7n#v-@hGXa5z75Bi4tqrqJur3N-ZQ(aHymS@48!Y>2(-s6dsRf%<%VO-3T9Xv zjxnpZ3C-n(W6T=6*sYTrjxlQ`BsUymObN*i$C!2Df>Lfc#ypV>sCvUOW<6D{x#1YI zkr->k5fzmijeaEz_>sgT&?{X}KuhGXn|Yzk|`G4_24$qmQYTAvDu{ZurXxS=369AiI| z2>*s->=}uu-f)aPD>2rFW5O%G4aeB?GQ`f#26rY}`|f>&6cx%00!no{O=QEcO)RdKU^Rxu+O6V29XZmV1hE zcfBbfxu+O6@?8PRJ;m;Eqh)88n~HJcsJOMM7&lQua#JyGvV`QGV%$^-$vwrmX;p%c zdy1`I_3bIfJ$MN^IkV#Cy@bfW*i(#~@3Vr~Q;d5=LUKi&<2Cg#f5$z>Z#wAQW{g`Wn@Q2R&1kNCO>@O@XEDw^3v-K|#klpf z19ukRc+I!77$*ijryA}o#%+?_K<+HYJ?&Rd?kvVV<5y4aEXMsqBK$jxaa$y!dS@|i z>%UQ^+*ypw_pG2zASdfzL0f!tY)dto+mtewTU7o|bv&SKo|F^Df(JBx8I@#EP6 z>DJC-d;xRC&SHEsIU!+f34xd0JfR^8<<4S!(TyBJa%VBV6l&JmS&T39S559L#+Uo6 z7A1BT<6HZy#+}9Fe`-ly?kvW=ycnuGdnF{CNrfWxXcOw5!J@~dbP(3`gyb-BU?@O; z21|89ii8678*nocj6dOL;s>Gh^H{DEQYD{V-w01DAx%OddPO;)^duq0p%3Z^C}R%z z(8Pw;F`q#?=Wl2U|cf)&2Xdt0TeH)z5gls7$N?+0rP!7f51cv?_{E7s( zloF$Ng?o~aEBWH|OnA5n9tkDr;c!+G8Vf02>;&Iv1TasENzx69X)47e>%YL~ODK?x zhCUO1V?r|trRjgc8 zB-Qu{Bmu@JNZX9h;r$uLRk)j}*yP5S1M23m%SztF`h&>Z8M%t_JX%yW9)RWn#z|B) z&=?7S+HP!tRdmJn8C>4P+@ogpe(l#J-t$WGbzywB0;Wjvb>RTL(kwgxJu^|2B!6%9 zpejk}vSJQ>+jD?2s-Oo}5dD>1fHEbd>!+Z0Qa$P?UZG?U9tl`Ua%O z=r1k;)POYzNRQQZbmXM$K-7dD#z`l-OOmfAYtmF4r+DVorIX=6!rj>KNlIC`h8a*4F5EM4QV*p$>J?hUHxW}_JY z#zp6TyQEe?J_uF8mq8NUHO~pE071pi?4w;m;T)#~LKU zpvG8fP`l0xf5rrAk6-Q6dEw8vhf+D=^1`1n^$!sv(RE(n_YZ12R$H{zX19Uc`FrRBU-|foXUL z%9SH1w(u{cjoFRxdZidA(DbSii2w(}2fTe4+wv%y$w%5M2Oh352s8-%V8&9740NUd zV4&NG zf1N*x-BU%r|I70yvHL}Hd~Uw@mR5pK?EUnXmJ-8H?8Vwt11?R1JvK<4iA3CZGvjS7 zBj!7F`B=Mphs+C6_cCw0If!|KFxSV1sgE)*Al9k=BJ&=5TT2eRgk>!@QhgUF97cKb zZ7s{o!zl6X>9eH-41=N4(%Lsd4Qv<~iZKLhg=)0HN)lk)L`Sz7i!gHq8fOq^3NjW! zi#ogZZ3C!_EnSnLaco$1#U1L9T z6OHe(usj$yL6dA8fGR0Q71D;$1L;(w9CFf(xmecH4F~?sFuIjTDw)PBg^^yRp79<; z)Hi0K_$;Ft{%v41N4*y~1B4!WkTY79@)nV7cbILrgD3#hf{kmRh~`$<5i zoHYaW(aQimCZRg|k)?nhmwts^zYKGvt&@;LKese8K}mZ;g1R0;#`O}4!aL5~cePCK zX*5LIlRZ$9?3wAY4mVon7S?#gE8hr5%glvP9ifYil*Y)?c`G)<=qTrRows5$GQUU5 z;{8P4ip{7;5ox>?n^{PA8oM;S73&9hE7k{i)ihp<^=IK)Y&F1JvHl$1iuD7JVOIA8 zycO#Qcq=xua6c4KReK;6PUEfE%tF2)LJ{7I%`9xs6iuD7$ z6>9+z4dL`U)FvHr6(v$^yyhF?B|*`5VkTFc9usR;px%A$aV=_0eYlKjvq%t!2C5~G z;(tdR7D2To8_@AFI=Wg)C&F<*x{O-JWyWE^J6FrOW|FD(5kFI#YNoc;Ozk9-IqSHV z>fM?N-WL2xQLf@jt zZjrtV_C`a9XKGOwbL0ulJ!%E*b6+*-c9IThY@IZ^&q?DR2eQ$9q-y~C`~ax&yO%BD zXuE07ynh1@>xz#>{(wXw6Bn(-CrEU`ukYaVhJUA_w1H05jslk8nE*nyJWnb%P$;$x zs3ub;;|8ab8EUWm^asH-+(~=vLT3JoUVul4+%tfi_Vo$7h5z$UoU$qEcqeDfux=oZ zpe-jjdtw+E-Mp$&Fc?((?#GqH;Yfshi^Lct{{9BlDTqWW4k&jT5}8OOLW5j+7tdV@ zTpn;9fs@zodIMJq9BHONf<4d$+cvC=2}vz=s#)#vn~ZpxKoj+sJRCY}ga#-T_3R0p zsAsvap3Tl-+EZIQ*>}`C+!f#px))cuL~%X%RZw?-;BxX6xIBkErQv+`mAX!KbuoUFvqVu2P*)bxh>cKJDE9?$ zZ2!8V{cix0c1{v@PObzjzQCC*?A#b|^C}!a7>yGnh4?~hs*{6dL?wPgtY9CC=?sf0 z&Hn(!yFQ96Cr8#YFc!t2CH@A{Bx%!S}lq-eShDOTBu+EUK~C&yBA5^VwcJ`xo?1%aZ! zY(YZwm%~VO*p9r0pL4=dovMyT--D-7OQ8O}~zDon64oF*t02fJ2=(|szv%#OZFq;pv9 zHQ}^E89y+jt_|nVEfX~|!#Qlrc?@k7%28Qzs~io?am?f4F}(TmX})AvowG4^!SR6yHWWitiOq7x2eD%+VieBO_XH z#u^i@HZQ_~K0Ge7>O(Yflb#m&I6;0FV0Rnjw_T(tcS5$DHGHP+g^bsZE6P2-j4AlA z?jYcn_+b*}b4*S{6Akr|Z}MkjfCERJ_XwOeVHZy@1eE?4gAieSDidK%fq$f+Rjrm*(pJpkP2~LxT);qZ4@V*f2~TA&v+?IzR3kMXEIGiEd?;C-3VW9< z?SX4RmSQAI$kJc3c-5w0S%Kw*lNQ^+D>ifl8UdtnCyMEhL_QLp zeP-P=T1v)YP@N#<&ajtAdB-KRISD%=F@S_8L=|Eh8j$_Lmx}T+s4tLXSJ=PE@gr~( z$nhl-bIEZ*a#UcADzd>6S3vzMIbH~B-Vz)sz^x%i6cW#pgSpblvO1>+bGt3nF&jPN zIrHWjtsXvHoq1MEzf*LYL%vS4#M^Z39g1=gPn%K<(((9|_wg|H%-10{XR@N63`>Mr zME7_SRNL?Xcb#gmdz_^j>>gLC#x~RQIS!t%OSspA@-2*_Fvvw$Q#<2Fgn;@8sD=_H zJpnQ6_Jlv+*^lgt$Y#eBPJ(SpRUpcK7Iq0ho&%5iTG)JW=N$zOpIlM$_8}3CgonAZ zTbqTSYcc7`fV0VQAna{&usddvgWa*199cr!hH5^_U~eRK9ytz%*~^e*Z|p`6_Qql4 z$n({&DLB{}TY|bXISz+SAO}0+edJ(gT!@6|j24xzGj0UFMrX8gMQ3~od7?9Zj0FC~ zke-hcma~*&VY^t0i(}ex7mDGSHjwZv7mAq&FKB_WZrbW9?05vkuqCGk#hq*}I)?>d zzWLlaExF@akbHxuv>d%z%;%qoR&N4f?k|yH{|@svGRe}SD@{PnKcAymw zFT2gi^ICc{(Wx%`JC&FZ>VPH^kNQ>EVMr1U(2iQO0s2#G-Q0Ozi>2!?>`!8Y441+J zAzRpgJQ-;JIb=v6L&|Uxxk-2>Yzzr$_SGb$*o7H{EBaM83>MI+d)iv-L~F55 z{05}_ZcoQB=0yyV9>746n+qsEiE{1~@G!#Sp!@i+eW0F0>PbT|vL6!p#{qkr-b8^8 z6nFy_;!6E+*g??#jy!iD&?gtePe7I&nHX!p@y(R((p1>1s1KHqagZ?=k2)sI-3Iw1 zfQuQ5Hzq5i(>=g600st51L4(`s3jArNw8BL{?kW>6$NV3bGaemy04a zR361rlPArSpl-g~m(x_{(CsaF3%CxTcAr9`7>U0AOrK%eoHLUzYVl3J1c3)OobMxm z&D=i#M;opaIAOMD~(h?j0LBtzCgbqjji^zDie9svjoQUks#FKTN2?jJTvFxmpvZ`hA(8`s2)UWQ2MNQ+soSIreQPKvhD$tUx6UFdQ`wMcjF!eH>}l<9Nbqc>uTO}S!*!z zF5sI#7L8DUCm>x6QNHb9D5L4*zGy2vXFDR}L1vtAh_~T~nLa7fMZZ)j3JD*?qaJtk z0c~E`Mc^PdF93;$k?=fdZvI+}%jpR-lmoW_#4E{g!m*AFcLMhq8G0bGoeawbL;db> zwBvyz@j5b`bmTP!yr0C`NPIxzb%MA-57?mbbm%h}lw(N!wj*y1;7g=lgv7r|J*Kaj z`<)hRp1q=ld$~)mo|g4xU0=Yv(dsU!FSn=FPi1|%ajkwP)0GJRt7jZlsaOi@U^iU- z+#&W9S5!2c$cDS%5QmmmROa(jm+B?K6*3C8=M`u5vXsJ)VyaghXNsaAM#tWT`n69? z=b|BBNVC7i8hq;b1I>~*6Sy=8$(xKsQzSe`SZ5=hM5jpjnWF_>R|H{&ML2+j?~yQZ z?KfIr775Ri_>5x~iAyfP4<&IP5_3q*+@O2SIp1n7v-BIyo)H6k7TLu7dwl&i_| z91>f}lHAW!uV}FiF~b#o3nZzt$#K~c2t(!tu{z|qj?9zf$dVj6_k!aPkfhEh#}!9= za-0XQiX0yz@f$hv%%8u(x9zU?HN(Hv-1wEAl5aJ`h=j6+B+Z9Z5fZIsDH>dKj_P7#|)leQLl>@Y8=c38=1%O0GF2uxFHKj zK%$fd9Fx_^Dn|j0SD-JlkbNZo!;$wq;2tD@3W*UU-)FkN(^Au~V?--d`l#bwl$rN1 z@~4q-1`>-&sEFR|sf2a@JdcwBAPy(PM-H(FN27wzk|6|%*U7+KtI)3i+?Z}N zsVm5#gbA0eE{KH7<|cK8pf(@k}wysFPCozBdS&KG*`$0<%9m1?0V3^`#Xb!H>M~DpocAXFV z0I|;#I|JB*KJ5MPXd;v9xY9M5skSC8Qbuv zBOC|O9C?$x%U;F2K1!nb!)5dStm^{`|9+no$L!A4qtQV+jd=M1CO&zeJ)l34iEq zs=vZ|oqy4SGp>U450X!IoFe&AP~AoHeMn3u`5!*=S2H_fr0bf;mp4@h?m ziA$tQ?qeE%py&1fRSPvdAT1{O1DI+d>E9$xKmtFwpm>UXePjKvX!2jVi+M3r-GLcW zN6RFELVb6r)#MjL=^K>*DVzLaD1D;=ghi8I3?=P@fMt_k38k|m!X2+b;_G>qQrZMnn zrr=S34Ygqg&10157qT$Q6gUYiQ@WESwjnA}^f-_+Ks}Ef*FxKo<7MDtL74X(64~UK z*Ii6!jRNcqz;g)b`Ji7(o_~cdB+q%^O33pe5|!jxZqE4^9I|vU6kbx4wIF_m3^zhg zkbyC+VPs%T>pn7U5)9_jYj6rkxs%lY4s~L^%UcSm3rRf}iS?x3DOEDxyQYPtzW~zL zN&ZJ@50W>6%v~f;L*g*WUzggXLYr?PVn2xABEz4dYse4;y3=I1j?8b!@Rnpq14Als z$3Xls8ElTv$WQ{@Uu4KbBK#gOd`t!-<1C0SkubOucOdre7)(kv;z!z`o>z^trlj?JWwM&aX09fHJcQU~-f zQ-4I;Hiq7FAfgVab#mApm&maJxK-p>iNqFi=sm2qEd)GqbqsU`8?jz4XfV-bO>yTJPo>6AXAE@sn5X~TA zn&UMR{tNjVNcbHRFOYDCufF3T`b8k;fqEG^G8})C<0NozlH)KEpO9mjrpPIX%{`B&Wx^ zkK}=-`WF`D%Ig?14p7FBx|!ocQm=vVlceVRR~4ya%*wwp^}yibUC;n=LoyUPqVEC& z-vxgo1K$PfOaVhfAwCDAtBCJ{ZV(rcp~%sf3{8QH2c38yY)FOzG8pO2K~zS<7LF%K z7zV;p67sdQ2MNoh;sgIed$j^(XHpkCE|B^S=sSYcyOEei>drl-+qmH`SfwjSCy~6R zBXuyyFN10^$14;e5 z&osF=V48y&KPF38$M0m}`|cXD@O^h1 zSw5B(m;{DG;64L!6&boY3WtK>4&eSthK@+QM}{iNa1R(BN4b|k{4*IU9S@R$FR~ZO zz!%wTWcWeWxa6j0PbMXO3$=&i0I3^6s&*f!(~w9o&)?9J%-J`!z!rNjICg)haPRL* zDyBnq1ih2@Ld8bwgYXTW!_x?yYTaQ-h~EHyFO=zi=7F19-F~Z(2j&hrWabAK)P12U z&mmcV?~-{ZnZ+51eZsv7yC3e1_@2tXP@d{+54fqtu?ED=E}KnmY31HEJeaUfN-Tyd zRB0)Q)%f9-#C1aAQNP4>p}abC1#q*%M&RBMDkB<`Jd?nD0F`BYb|(JqjxVp{*Wwtz zh4TDvu{ui@RfQKx7U$Kbp{xV`vSx)c-3dq$zB~;8;ma2gr*wY@mfjFP4mcJt1*7~L za3_Fs>yR}JiS05|ZGyssZ2oxX>`)Q!q#POVWD1)Hm9QfNo-)|EW|lq8%kNgG<3rW@ zF#8Ea8yI*WO(pLiVHsq+Q1W?8$w!a@CC5?8PryMX8v*B2(tQ;;>NZT`Zr5$1)Q#-W z&5K|xlW@VoR;^nFP)gYMP>RKcuSY^x>QJXH;)ih62BAR7zvEOl@@`Ar20~rubey#i z-K&AfK~>JLPrO{R=DpH%H}`b=c<2tfsK^cDnNRvC{v2(h5s~dSG7A|%0oj{-Z-`X@=>rlWRzve zP@&DV+qB82Hsqi-u^=`-w%L7swgmzB?DPP*og&ajSU$?aN4Z*(c0+eQV zA8;bJ7{W8@0V~G22SS*aEt3Xemi9A%r1pI!?sn}jNbM<3b{nP?_dIY>`H7MX+aqjJ z&pM#{Ew_Yox2X_w9?IsV$B*Ku-qRss%Kp2xtl)W8uK8H2a;HV*QXfR+hT<@}dRkPj z6mZQwoHo$GZAV$G%vGrZCqZ|%uQC}Bhzj0bnNLGPd}K#H5Df z{w%7i`ZhN#cZI0Dy2S&Mj+S^Aq$ZERuCi0?5}MSRS#75hs&cR`4D}vZXs8lUTdjTt zIJWw|5_h|yUNjHb?J?bc2GxIb(Z1XP+bUbpvP%XERx`$1+H4itjIy-JM+TJHWw-V|qKIEi6Qd^IA zs7L+;OOHo{9*$W)tF%D|^jL11!8O}wp=_V!u$Al-O#Scnp%kHHv{Hvfbrm0xQXdFW zd9m2~%SNH<6~87A2u&tfnqV(7h^jnjb_l7d%1o)sgML+*`md^V6(4s}C)Te25|;YV zM63Q2MX9H(Qhm$YILLHUPj-qz5Szb;*psXK>pfBll1Y0o^*@x@mxj(TthN$Ysf01f zQev1;BG2n<1P?M$^MN&$_=HNV3biL!&*&qh5+svKFm<~U<`<#%#AtqrOYKuzhe}g- z*rOs=Tc!GD#R{{jqh=TEXNH8;SdU)fA>dB6CGCa?bs}72InX+Z+WcYJ*=_42RM%HFbMcBlVG{jjqI>2oh&ACzzA&rG1zlB3Fn5WJo#(=-ACsa-^2c&Q$eo z{6$$M?#6Epw`WH?J3_td!Rnb*Y?QXcMn-##O|vT89_8&Z$5QBeFsJY(gvD{_>%lw@ zeFAX)`?$-a{w?6dxqv6I1KbSm7YVBZZnlJPC~64B2dwBN&vFKY@GR#`B$zE$K4RAMvtGs0(+vZR(y{GL! z%C3uc|y0(NKk>KqUCYS+1;`2|Gd{OzAQ>RfqSol(`hdEs+mu*z!* zqfk{=_gTnPd8SQPb)nGaB9OAG3q@7y&bO+%P*iOIVA<-61-zZGsOnNt)64T!8>{+6 zggw4R<43Hjt`x%W2Hc~}U)9y3s>?|vs=8KG^`C&pcv(W;>(KZx*1=9nrT@Al*RL`#lI(*>7Z>I|{WT7g%-fDC*pquxQ?n zqK-=d%Q|-!@HxVw&Rs>FV;15ji0ta!gIQX@ir%uT_XuWJzjvW!hMuClX94%f@|)of zVTSW05@zTl%n-E*X80LuQ`_-)YS;e{yP#Q(I&o%Dkm28;Wb zmvZse2M51C%2D0ZEQ>T08r}t@>;(;lMIKvZ{?lbo(vAY}xtVKz;j%{;ZRS;^)L=Cc z-h}n{8KoWfOG_2f5*Pa>UY{Sc$8<;4T(r}Jg@eDxKW8y@`(*EXk%Qg&eGc5DbZXNTeCa8C99I?uL@JQSH;(zVz_?osa=;0$XEaJ7rMvJ<+%-zjfRiL zrLjHsqv-9E0GDi)+=N%;0FfWYE%aCH91*(#mpOT8XRn=eLg8ebE*3dQmzrba>~%x> zFGGwk@-jl_=JGgu#j^0>XmpPzO-KGM&r1SsFEWKj#~(FU#M#r#S@HJp77niIOKadS(aW)g+`e|ZQ=cp6TP(B~*_+Jrx^`EyEYPb*XIq6&6rFJ} zkix0-y&KKLt7*=ZiIcFwEtM%T7uSU{OIX-$*mzUT!ak}C8@$ADN}ra#P|P@JS$1DLFbtPk)-yjz zgqAHqmp2ru^jKNLB*{t8as;!AkTtz#)?G<{==*1_kz_5sdpO?Q1`3U zd)7mi-W5Xcyj4EK``(|fwSwMLpm!xW`g-w?+SzV^soldsD(P)@DyP8RV=X7{+Als^OrfOeSH*w8r9O?i{rxuQhmyo>NBOd zLwxGDlx$YF=f!u+&4X<)IQe~R)sR)1hw@P^C2%!rWISxu$PhKE08)%pUyVL)72s9! zd$39wqDmt{Agh!qsx%Lr>V@oDaf6MP6~|1tL1*QEm1_ z2oaYrNhAEu#1=oL!wMJ%ny4}@QGhvVW7g+ZATG#^@ zt7TvGIj5T-hI=I6YxFhdA-8bY1pL794_XyeebY1_Pq#O!UJ|}FPiEMY&8zA5V0ce| zq}$u}JJuY={Zvy)Z~gtnqWdqjivCm-UHX`>Xy1ahz*qF=qUdSJl|`S^svu|YW9Hh7 znnj;6Ph_I#?=wWv|H`oE;Dl^yrrp*4N3g1G7g?np7Ns?Q91Sn7AxpR$;F`o#%O3l?s1Vm{Qy~!Nty#BDt)Yt_~E9t5p?#_g~#0t1=wb*@0&< zR8o0=28*S446`}h-nS~^8(umJa!&v`6@N&UBNU$x95sIJziYfvYD{)%e5P=o3ta!v z-FMr)P;aKD@@kJAb)vO@q=RG;%wfTJ{b1roH%NttJX&@Fb^uyBX+5kQu*~lkj}~UU16a|UeVrhK zW)@eo#*6$p$j|?c?;H~Z{4!woD-cOrJ+ss|h)}T;z|kCMCGK`}jFqZpwDMZ^U`g1% z1{=-si)6F<^#!17FLxJMr9PS(g&g+lk64|Tmsy>rk7)1E4ZhkOMF!p_ua%=qCxe>W zb_Xt3?IoMm10>abL?CNB9GJrUNp;CDTaPKlT?8&_`=sRZX~!C=gcF~$r-hVdAW@qSC*q(WXHgo{d&WRN3Cs3a+pS5hG%AxVz0cWa?{jmG^94}bQZ+CS?Ld9z9%!T+`QVX} zi_rs(UOY%zvl91BaHEZOgZi`^gz$q>5ThG&v??d)SJJJ{>1MUIUvQ5_ZYebyZ1m$K zec<~>eXpG>K2%x`A7=8+a&9TUSZ)Md63Kpe*ol@hr&znv%^2Sz+ss1fU>cX$D^Xut zNeOKwAtP(KZ6zdZ3o%mjmpoMUQnHz)4;fJIL(}Sr-@fW%-wN6{g)y$4UW%U$_>}}X zW?Ef>n)Ct&5czCCS}Cr-wFTaKs5LFaOlbR79mthKvOzmrnSeSqso04?IcZ@#i1}~v zJ$JcMe9e6VcyI*PFapWe*BNF^yF4giN8JM*{}F-mIs%l?5g=q_HG>rUDJTM6Rf1Je z3)9GLKFWR`DuFnK);Fc$j&=pi{BZ$tBs5!UxwD`(h`QrG59Rze6nOqHCfDbozo7n6 z;_`DjpND=~8HeJ4iyQWP)<q=fLm1F6whFbD?4w1fQ2joPV$$w0E-ORYpO zPc3x%e5VAjEr>dJJ0*C}5trcYlwj-wF2TDBL0rj8(5Q~V-cTmlHPmPBNgJrW9|I=a z`^@9EJFjS3Nq6>Wcc@RhLkL&0xP$%4TFSYSe@wF;t8HetoWeW*jiGWYi%HIKuYylY z7dbv{6rWmwnBRwcQ8tD$VeSDgKG;V&M_Yf@4qlMkWR-1fR_&l)D7RP19GIUEv{B49 z_&o}pbk9p0Z?X;fGS2g%AHtB+z~$pVD?*!QW7b<`tSAIo514jrK4E z%J(`nq(x>dh)k>7npmCGbJ>Q?j(UA?%4O2r~K|r7k3I!pE=*ElZ}D(C1|C>g(!|!+d!iOA8A@i2c~HU zs8u^a$jI6assHD|7@jPw8>;vz9|!Liu{@VN?{z`QDbHTpX?6kjwh5LTQ1!c&@LY ziJX>gEtLgt^UktO=pj_{A*r+IUPImcA$w#wc7l%^Yp5QQaJju(BNwb0b(Xjv>I~zK@B( z20-MUMgDt2caeWDXwQ+2XMDE`8;>lLWdYfShF&5Yk1QV|8_)P&7Pba}7Wlxkf_(Re z_IMV29YOqud@TXQzG6RCQxmyLeI(yCNdsLTtA&$~)r~>9)8UfG>TaOOWA%6d_{(I> zry@y*qZuTwyLbt{(zem6lWWGQJyxq+v!ZW3^^VLnjPD5y0+71~Z^W*lGuti))(=?Q zR{?xPU^4*oRs25WE&zE6argYfJB>C2G;@^+XrY_i8jsVF*0wr(%%A^w$$p>z>E(s z1DE+8b-9hF+W4-e)|(CRS~kymyq;Ov*8=3Om<2P70C2=I;0KlBDJAnI7{hD3o~D(& zwl|iMIq#tV+9rgJ(~$CC+dG?pWaM>17&chNF&?V;e06_CfL5X8tw<2v`zNVEl@2meduOFmJn3uZ&+FO7= z=y{k}8kY5^iDm0~v5%WwwHNh#|Gv-~m}e%cW7b`HW);`XHrCWUv$8U+7x1623>1j1 zu>fdm0<<}{=7GjgcF?qvw(k9JTbn_uq^)~E8`c)LEEryDXYSv*;#(Xan zPx19>p%|vWJc*5Q$nFie6jjU6m=`cq{03UsYq(Ia0H_2YYmrsl$V^DzfFbZr&=$j% z6)388Xb%b;0<8`Ob^~ZZf#o8Q^(F+K{Zccpqd=R`XDP55w4M}L3t$)p)}j`tjCVCO zW76M))DzG|iA|I$3Oz-smqD9KsigqsQ)-hmV?BSTX;$3^&Yk3L8=ABN+*85yBDu!` z*h21|n)@8MllFk~Ai3Lx4kCAVFnvVsA^@jevu50BR!H9jL!y8m0pkfWw-0@p%(X!K ziOf|1xYj}S2_2x#5V#DNPJ#IX1v-RYqCg1v;=q@E3zex9xIlsAs+YiYjf@>b(=pj) zpGN(iWIPI>0~xQ0=8&!EzA4tvjm&a!o6ud%skfB5KsvGzli1yW#Rn9F!ioQbtQExO&3FY12 z2f*bP$9`7qWu46rem7fPThhyavrFiItSs;6o5X~G0mkbvpxTR$0SRJ23lOyd31Yw? z;K8?yEucTsn%me+i|~gdG1MwoU{>+p=ibGIX;+}3N7&Hk{)SxA&^{3H(iQg^uFxt~ zu!r;wyCM5tx{p<-iP`#IetaD9*Z`^NMHw(YYF|2Trv2NvnOD{F&ePXZ@?Zg zAYlV?rv`A@o0tsLv~AYru$mpkK{? z#fidJG2&GarDwNF6!tkb*o&bjXoF#W(adZXFyd`(1naaBg#L#S3;7!OwSWSOFBVH3DihxQW?7gM?wGm62n>7PQysnL4oi>8d|1cth&qvEc)a;rV{ZNLZ z0d>M}#BwoWy<^03G2)P8g#C21iAF5)L7KzcJP31m8;5ag3uv4&_h?$lDRYH3l=9k8 zLKyEM<)1R0N8B84+F1~ya!^TQf25()Uv;9jAjHS3F?*vOt_5OgC!oO>$1+-40BIUp z55kV2gFvI9BQ&j~p^LPk6xW6lGO|WM%5P{t$I|Dxbmt57>lhfJ=B{-t^+`xKJBIqi z(9ax0?Iqv}*hH(BfS(Zd>l>|Qh31SvAJ5PhkxyGh=zsKad5)U*hbVrLl^?wme(2}axH&&2-otv0?Ta&-ias;z{cVZ|d%(>9Q&fn&@ z1fL@WjUUN97)09(8WX~`PHZcg5EVmekL2+RwxQ!s2wwn$7&D@r7PBYn%nNo4wKSR0 zYVjjzt^7D{0Od2h@VP}OoV;6VI;%SNhtNt}m0QE-0jT1~ckj*JiAl z@Kingx|4BbB!%{ZsF#1rgzyI70&&?pSw_Mave^!wz3=QcHdW}4Yez|fR7bt_R%lvL zwR*QT$NKj2zGQ2lu?65$XZ?+BmBuzwnKZUl8aqQ=JliUb{X<;ByVb*mo#bs!V{c1i zO@aHv`y`YH!rQi;+1odgYu_(<6t75r?ztQI6~A|@J$^}y7zd&@;w3R+1(nVPHyJZg zsFcINBG8<#FY6B`^Xtp)Rl78_GS8#Ovu|#GxMaG?!a~6 z=8G>AfXg&s-;^ChYG>|*N~X?szZv$bcD=o*`S5!fc+`5Ly;;q72{^|B7+dn~-vW<* z+J{0t3{1E09iQcj?D#+*ErJQE@>@=L#*5t-{C1BQyK}a~5BXB|cn`J>BZtG5B7zr`4sCY$JWU zqgkQw!2)Q`57;yp(rPOtb=T&LO-I-!Z?E$`yuJR>X~FKv`>e!H!A~tsbO7%2Pt=6| z$F$giyJJ&5YJUT)#b7Xw+=2FoY!rmyTW#)9!#FDc}nzoiYb@mW4vSK0SzpZfYD#mBQ+J$bl4T~GJ_!(Ne z^KG$~`w14hIjDXKYW~N6qH3X=`wM<2E}xuR=;m)1rN0aOkwQ^b0bSgV_;J3WTj(bK z0B~{Fe(`h=2IVwlE?ZLn6zX#dh%XVm&wDs7@rsYHIF<@Q^~%Z31ooU@Iq&19Lf&MT zk!W@So^zBd+L4lB_Ye=^r{BGTPa@ujo2sG&e~Nelw;M+bz7lxmVMKt@pRq+pe-d`b zWu60(k>09_B_sWeTVJRCNYgQ#E{7B&eOOC5)AcVPbDQ0HO?FKJ>n+f@XYfW4&4rnG z-%Q-Vgl~0B!J%{zx!1)$NocYO6r0@&qRqDXUJIhF zw#Gn(Z->qPSy0t6oBg{W+Buu=&mh`0n=cYq7B6i&ciZNx8bmW2Xs_xA(W+~j3%|zk zGwiSux|^l*i$G)q9}HrgXVV@JqAdlDVR|lzw$2*Z9sX>yt89BPEso|w!Em=al8Zap zdRRZhb)lYn#~HeY%UEy|L_HP^m$4v!r!y7|m$Bek;xZNtmy2~faTyCV{uOYJ1!eSa zV1&4L;F_u5)KWe0>ibVr>MM1k2$$LAT&a@;uLV5wBFtmj&)cqpiD5GHCTL9YJ(^ZB z#UIcq&ZhK`NXW=^!AWNLS6V8>)TgkqOun**88fI7s;RUZLcm$N#O8)E|E-kE?o`@H zOF5TK7RbCXJ87~!$hNfNd*V)@on192P?a?fG+s9B9XN>InN=CR)7y>VRR0wq7V5Db zPVe-V-WdR5t^3Hwad$2-y)(X#n|EUcd(xq!ufPqzykIM`w)Zq6BVGru?3UlPD`@LC zcFR|YILj(-l>arj3LE7s6wc=+iFN^_LU+TcQSUlNwG*SNgIMb!^3kX+!1O7B4%(;! zYkn{6J%12%IVJG;?jQqjN+8O*+zZ?FUuHdz3cMX$kD~&n^;>T;cZL_l3mETR-&1vDdxaxmC@rmNmy4ZIoVMQVBa9cdLoJ z^FgG$)ug>0z+@VBmIJT~oVfnGI3-9#Nnww{5y zHZH4TKeKFHIO50koJZ`c30R@1WVPvMmiMKgiiX5+rOYhUaN*=oKwoA{&^V8M z9iV0P1C2NKfg!S}0=n+FOO3{Cz)7qZVyX6h;B?(_>ALwK)|ym_jO@D|KqY(ZV*%?h zGhla{>W?XMo;|BP1{MD?0i4hwr-TkUA#@(381iLW$_e=jka_#JL6hYHbuDOtQ9f`P z{1zN}|0xj4r+3ba@JJbcY7P(YP4tf(j zgJ81iu-EZwk-oHSuNJv{?4R$6PNEpGjQzHg_Jh-0n5HkLXGQn{)aQ8aLo+YA_^IqC zf$MAUP5avGm6?Oq8IyV+24XT2H0E4U5N(3x9f-I0ORThkcv-&6DjH}e`qqJQyUiqL z&Sfo4X7dfUj>ADZ_JYP(d*I}MWYA(AYkHwGh!EEMAjMFZ*HU(X*=#)zH8`ya-2_*W=OZHqaQI3Q+hTu^!~=E+ZuMX=4c)nY$szVAs`RPF^1X znWI`OO_mmpfyUwNZkvYTEc1+2d59U~x>DDwH^i*!x?b11dkF4iZ-SKxMdQXHaP3tz z7xPjB9kGSZlSNYqLH=%;mYeqg+j0t#bF64+Orkm8QFsjpztnuvXr~Z*gti zb`Lf@1o}Pw|1rvB!wg|4>uARjO6%vLX8F$km!g>^D=s$|LKYjxyOKH2@UZ zBsCoX{xYMXgz5VX+OabvbAWaCeP+47<50y|e5*%q0CNT zWL!hOKtH1tzlg#ZZ9iyzdLO2>zhOoGt-ezEWm&^$e(2vp zxB2b6p5Z=eus7zQnIFHWknWA*0lXFA=#DRM^}9aEKrqs6Et>s_$ShO$qqlKWYl7x=nf}@M^`k$ z4zH}GoKY*>wkKDUWnM}Ejb~ljeBujaTO|;AZm6%#_z-lafM#CB3~$posAhr|2iju+ zT2>xtRX}6rf(M!QGoMWlDE}l={u7LCi;p;C+X3m?uAgMtd1l{gt-xp8^lwxi5(Xcn za(?By++o4r`owx`xLGSO>>Sjwpq!2cp}=(01r6#8z=|GW7S;QmFL!qatooEzwfoeu zYNs?3cEmQyetPI;Ef^8J_PblR+0DQ9ODNE0Hq-?!IxOh})u9P-3xZ72&L1)E4icXG@kB{FUc)`eXOUthM*-S(Gz@;~asuTJ9Cf@X7BAj#yf}#p zu8}jea>*{1OZFt{bJlYPvg9)KeCjNrE)n@u;F&$3o!RL+iu(+9E))Ge5SgBNPz+kh z^jxUJ!}fHS5Hd2yLW=3xQA;`LIT>V5d4n}s8ki0mudauJXmesgjTHskT38oAhYUTKD;dgt=I2d`QFRb z?BhW1T1nCUtSvffCxpGx{}`sW+=fuM9i`DR?6i`&9@<%mt#9D1*O+wld8V%uAjWFZ zXF68@x<_-FpU9O=eL7Uh^2?IFA=LGIhz|h3@V}|0B{-vPjTdc=|5}1_naBR6u|tTP z%JG}HkYe=z(o*=09k+&N&H?#Lkjuge-Mt*=O#F1-I@Gj*3+Z+ZMuV&^*3Y9bn-(;| zniYy_t=6Je#^GIXTgKtz0Aw6?xa@KGdopkw7EX@C3UA*h#K6w$8Nyori7Gy8+U9 zn{*^V^5QC84L2@pk}F*Q{Ao54!dgGpOz@?Gp(3terfi8vu1r*MJgH+>k3&}#fX0mB zV1<1S!Jl||Tn|=(D{wTgK%=*+!Ns)K6kz##8X2h~PT)lr7OKOH@_;a=wzfJxXbw!Y zZ)RQQRtZmQ|HKe$9e5B6b1(4cmc}Xm<}P;??W3+~Uus>(JOEHt0HM3bVZ~_vLJ%U3 zVH6nv{_hZmdP4wQCvYDC^#gzr0Ll;;4WK-L%!vR7gJ%gWgNv#FA1VMT6?N7<wr8x7YUNx2iqcIh6MkK0cp=?|y5&U-WHFYDv*;TC~AQM|4|2berbu zWc}k8-Kt4dDY`|AayznabxS~Wi{>+|juRY%H*3;GEb)3aX;JR5)}osNqMJ0|3F`&F z=v$hkT0?ZBe4)Mnsf{|Ql1U+#W(jPzvza5=myQV#cJ}9 zWAJ)Sx*Kz&=MCNJM}E;a0-|qdzG~Lfe$m%8>7GJ}u9JHVcezuJ!RrE|>onho)>*&k zYnqgW&+&QI>M-5!7hM|=U90&bt=bbEgJ0F8N;p2`S))byO9eViYXYKcG~YbS=NElN zlODvwv}d*UHSDw_x;h}bTJvqRKJkmbtVyq9OP=Q?9bx`ljc)a&fapt_Z-|vN$uamv zO}do|(N)S5jWY$W`bAd-L|19P0&A3CbfqS(!`?H`3hgU@vrD(SA|Sd#^R2Mn_lv%u zNe%Fh+_PMrtBh9p&3`SrJRrJU^L=DRPIe4_UXz+(-;-yV_LZNw*P_b;qRTX23#-3h z^f^tMi#2`EQf)AQv`vdH4Tvt)d~aLp{i4rmQdvfLiJB1wgZU+XExIHix(fOKhj@4v}WAM|O z6xk4>^K`2p`9M)i2+A(-;Kyd!B1$?Uo{~*TSxe9zv%3M=xoh*-tzfHAJ?R-Oo>@KCHT8} zx?g7nL}zKfSnCtN=wq6cPhTI^2H)iueKa8YsOGb*q-l=9k7&|LtYCO%>Im}(qjjq@ z1EMoE-)w7?Uv!2hJ=_wa)3w2W_(i7&M5k-Miq`vnQJ*HA<6t^X8_XYc(ydMlh)&ad z^{q&sWAIc>TF6U%ihaHMMW+Nrr)a+RR)4?f!yYz ztMQE&&p0j0x7ym^aRJeBns1=>f?xDOP5KV!20UZ6Xw7dO(Xj#1v6?T+`pGXk#@5Du z9j!$t`9((uL`Q4B`>iH39D_$`(sHb=c}8l{kNlz|1EM2^um4u-=^18O^_um{44i#? z)%pmE?vPuY2ehJ9*3W*@Fipy}%FT4R?$;!r)znYASCf9U?)Q_13aRnCR`E=;X5oie zG%0mTxp@Y*??8ZDnCSN_7B5PjIu>c*yk1u<-jzD4+&oxHj-$d+9X^#hsyVh=|IEbK z-FR-d)V{mHh94by1+x9?Al#+aDL0RrR*yDVLWU4) zj0?1}5C4RWCOR3RVkwo+rW5dbh9!0ckX9JoSz@OE*%J|Mu$21($Wyr7Slk}~+0ruF zU~xSRb<^MzOLQ#N4aM>^OY{~Xe_}HqOJdJK%BL1!11?MAKvdR| z;j0B~A>zeSYBCHz(=^&(DRl=8?}htymI{>Wiv6T4?n6L+ho>x+TLbBVRAF&%1kwk6 z!BXyhAnkG2&f?k%-S;3#Swh}Yz}CZ2AO8udkn3HBkW#-Qp+F&Ed!Cv18d>34B4fC zE=6cq;;Rq~#YMpqa+%nZkYEWpOKg9gXoDr>b7Gfa7E8#-#LmMImXHd>UTq(3u!NMM zp`*g04VKt`K)U85lqikeD}g-*1uQk20;!3IW|p*SK<1dy21{Bt5Feyj(i#HEgL!$@ zpO2fheK}>K4VGAXor1n&3Hciqe1f|nmXHuya09X|1_ZXokn;&^@jfDo``3Bw&5iqu#6HHA-*p6m4|+%5B_C#OP)Jg;)chF!!nmD|L?flUlen z;Ysr@Tn*OPx#k!(*Sav*Y=z&6$au;uO#iiAlo9^n@=$24n(Y0y2-v=l1WWOr92sqd zANWzQRPWQ)vZu^Z_~v@)dFFOC)7m%Bd`msH_2H-Sl{n~rY`!@}dADAfZw_>+NUPmK zvr^3hI(JLdMq;QHh6OYh)qvL zP{Qz*9|)|)UxInOO9ugK^`{7!-jD7KH%hnGSa{O(t-BYQOO zrt=WNOfToRGF@5;R@%#nt4!BO!Mt8hPi4BD6Ws~XoT18e*H{HFzhP0PhsKhg2^}WcYdiR!D2lOtDW_S~=%ZtquY5ZzYu-fuM_goNYdxTpyp5HNN3hi=pJEgJ3PnN0rguF*hMRYXm6V~u&d^NBTiUzD5Pt4~K7(M@&aN_#`*psx8j34%ANtTpCY zvts)ZSVA&VDs{n1AAUU($(OPKZ0?lVXvC8e26{-!8C)=-SZJc|!t>A_nG#bw4mZMH zV?wkMljU?&xb@YuW_d4jI3`zHRN8y1uNAt~oEAB#X_OJu<`$%w*^h2rxYS&)e6M4i z9j#*Ku8x7W^O&Gw=KTqS*k>WICZ?DbuBsW{Az+MIv`HMx^8Q8anYMAPYvdgg3T&~) z3cO=YV3x*Oc#DWF?JS(Fy$y*yHxQV+>V8*Jt`Aufvy7&C!sFdlFS)#1U7)-`io5Dn z7dm7rLLPMz9nvm#XG;ir`Nkx6m)381-$7=@?$&mByiX59-JbWtX_wc_Zw$rmom`Gs zf|p;;irx2$U=_Ull3471UkgE#y~8>HJ)i@bBFP*3@jc>fsy7ym#~x-zxvFM)Pat_? zKhann?+?{ccT8W?*-6Wu2KI%{QY3axQg}HKPG|xWJ14111rWZ}1SED`PEvyeP)=$J zGCL>fR=9QSdHi0&U`)rcr*(y5#e1~zj3&U8oTT-P#92*1bGb=8MI8I}6huk6p({7( zDBd5%o}Wj8%LRhB6@B?u``tfoM)X{xWQ*Na6qdNh~lk~V%Z-rUAtcUdRN8%wo5f@rw z8ihTpttl&T5d07*-o&1paXacw7=zkgO#m|W(nbNh>m9*7-g3lxk4<2m>5Uun($Om&BwwWvYI+XC5YHHDn(-Y7RaIZ;i)|2wq)VBO>Dov+n9d778vWohJioDX z8Z$&TXR`+6><1nrWn&9+rXUAgDO0mCL>QhY$=_N+x)0-HY=@5J4C{$iW|h*lcvajl zHTl-oRc7VVZ7~MME*8oj>%uCtpwT``Kd)2Q;~mfXf`0KMO@oo`(rTIVY}NG8;N;4phGQQLnJ*2zj>!ecKT^ZKS9hx9!y+n}N}d&r zye2K^ni?N&W@6ajSw9`v=p#?|O&z0~>DU;sBi+5W=%(|gD8R#3pYsxXPDpH?z9Dy&#z*iN# zpEckWGrs)eAm^Nf;ubKZD|FJ%NpRz8AFKEkGa>he?d9Wko%Zx0aPWtm8K;$YjrI;N zAv2<_Gq2#feZv<0?Ei^wvK#!)Ut^>n1g#6y8F`&(bLR<`lj~TWXcB&gm@R>^z zsHKk=LDbpyi!gh>fR8>rDPVWi{)#^A(*dD=Dz3DXkgU^-(YdKO*bPBNO>8^AEppES ztCxmWW`Iqn0lSEGHFzp$;dIG#}4I2Aky-o9bpVI|3BfxF_y2gz5O|xaG z7IH?e7lcWu4kW}xuTBUfbvZ5EuM{uRM*Z-i9T=wmNp`&6FJ4zT0o&!mJ)n5uHUwTr zGU1qb(+ha^25LH?-b)O}@K=0a`Ww(F7xNYXyqI&2S<7EFlYFOuGweAR0MMc3XpXi` z1?>uGhb!WXazg7&TKYB6W>Mg}UHM5+PMV2%0{a9S(UUlq7< z{$A0HRbMgd+o6TCP?nEA?VKtvhotzGVve`c?6+TDtWRdvy?5@4vS+dhsl#gy}?wu*ENl zt{^&<=6uBYKUm)Kx5JBGR^Qh#yiH{bM}hwipgphBOJLkU|L;*Q zBtp?0sH}ZT87)cdP!3pKvZM|~W}u-~8KCq*efl*}C9r=3U_8@HgXbpzxn$#F2U_bnm8CCREyn*Z zQY{6|LAd)w!EU?z9l?VXtjC&3AaQg>*mJXi--efPPGy4_;=Y7EDHsji;V-CK{20gy z;uv>A+_6P21A$pQ&<>SvFCc~}y%Dq!$k_sbu{teH*zwBEMvneFg1K`b%8`g&jj0Se z@<3r91H2FY9+nPu69L2nsExiPrwsAFf?SFrD_Zi32s! zWhNUrSOzz;z&Jtcau>G?HPW$|V&sFEJ{CX`0HdSoz_I6LMN9Yx*VP8dbdo!>mw97` zL-3tdS|^T6OO+71$a12(Ulm|r?F6g8Mzqz-*l$uGV)v7)+8La;lL7XA&Yh!x)_8^^ z$T)r9HK4{|tLX;h_4}x)KLB0a6$+YRzoD0DY;Dlxf)!3)u;gs#aLENb1r%Pe(ZGK3oJVSB{j*p3Yku4yrwxTe~*mc*6qg#748o$F$*8#un~YY6OgDiK$8K zFXRbJOe57N@TMec1Q6#0GgPt-UdfwwI{oR#s4*+86?@rn(hJR7#L#I&G&-7vv+vwnUHFX5KsYGQG3 z2mJ^D7Wb<_j)9%Uy#&ZRScGPYxemm6ZBnTXkYt$5lEgM6z|Rux0}^=60b~lAWJziO zq#W8{am^Y8EC&!v@;M-@PkRlPn2WI5c>xhqg)#mXido8xRK{o|h0AbvLr&|p>|$K) zT+7~H!A=(Z7arm=<}J3q9#VRk3!eoUwJ|I~t+PgKHk*}=cns@#{N*^qJ+ncS5z^=x zf^S$~Zw&hltKRQy(W~BdHiwM~nL8J2+1C3Rcf?sMwwak&{{Cc}fBAc7C=98Z9I2PT zzZWbeQZIjdOR+9B@@cEd+p_$<{%u+Q9=2VUzbn0?m%meY$ny77JIn`MW$wg6oRO4{ zf0f~mw9NPIwQzU#SFjK(hRI)Bx$m13>^1NsLJW<3(VEh@R2A#g`({+dHwSPb{QU^B z8DIi~5lL3zPIG3PLM$;DNgMGx!$?|&w-Du$Hdc-{>L$%- zf~CHss;C{Bl-LxnG?J<`i#DE3>eoEl*qCHu735&jANcp%q8>v;KqjOC{&7EC0~}v5+GR}F>32bj zkXFAf@tTh;=TN(0#sE4J65ekLtVLn;Yai31}4`d zH!w6x-@p(uGD6{9Hl*;1j#ADB;zW?CjHc*2A-|&fB^B*J6Zl$FX*xpJ?^pmJ&In<= zYNvHad~UhbMX=EFeA2podE}K6U450k#}@nXC4>RZ%#?hH3E#%5~VJZpJwMw$IIeYjGa88q)GU zX}K79uKYs9J~w%f15XtT4!dbV!Z*MV@&4wBn^p|6Z6R>&;41e=TvIOYDGt6QwYeAJU@yOetKInl4_^_E;ouMtr^C+C z^l-KNn^@b!MW~c3VLt$Va)0GV*k{g{?P{?0ZvKP#_825DfCHPX+rBmhU}PS!mLGtx+)AKoYhMqJ#R428 z`-4IKhBpX$#HlU5t_M-~Yi;rMHgN50Z8v$FUU7V_C%!&HT>3RnZ2OeB_}Wn03f%U! zk-Lp#ZV&0$#!_A5d-!?@1DDR+f*@a;3PWEoh_5$cwLxDC+^1oO_&N)f(y!YA7@4N^ z+{b369^BKQ65XKazZ0lbGx3%{`gF50&HwS`Luf92O!MzsBL)v^wnSv|SoLfvxt zO)dQcOr4L_d~ND27YCCJ5Vi7KE)HYuiHoVXT)b390@tSg?c!ze^bc00LuOVF?$}UQ z0?JoWd08w4YUNi%`EI}RE28`xzw#?Cc9-WzNBNJUyqfjWA$&B08%xwam&{-l&@;@b zJg}+<@D!!>?-Tt~C_j$e2Sxr{;CcoFBW5rUM)rn-AUzu8Q5aWW7PL+Zv->ARCLHpV0_JnawnjlUXy6WHPh)Fj!@@15GBgAX+!8_%J53>8O&)45~Q?m6*&9 zxnweYqN_5QrRvEHYGg92gvku>ow7SjZP$@K zJlZhMSe-vH%O=D#6nDzzBDGG}ZbI#0YdUIu^;w&v-r{6UUZjQp|)4?$YRjLXu zoEkDK7P~k@z6zpFsbcB%($|1L%qg$fRS~LM0C0+o4zeY2ovBUx;6R5~?rLO><`!nPh0qF5FRvh!4>c+T-H0GeL@iqX@6W9Y_ z1A!v|P7^o)_}Ue%|f6T?vw!v{drF&q^k zLEH{P!NXS4r#P9on9)bM!C`zAZ!abX#b;_DK1;#03PnxQ@wpBq5}(*#?fBFHkngZb zd>Vox@#zf!f6W-5E>LoWcYxy%A9RQ@nF<)7R{`X)N@8=G!i>$I1Q?q#*8wm#EeS9- z4+6*^3WW<$f@0HPL@*c3@@;=cw}2d7A4llhy(=B}fN%|%H5 zjgkc+9h+W3vAH`C8!}!+Q9X5R?t>DE%@hL6omTrx@X)c@ zK?RJ>_W<%(C9z4m0b#}_p8#Xii2!3Wn*d|889@FPC_Il66q~Z_>=ou+~_x7+zs&#ckM(Uht_+9!Pi%zt9WSh0-~j*&XvkdJF1N9D=_wh z4w-yDMBA8ruHpHlp$i73p?s5!bJ(fpsP-?#v1}T+Q)N8+Tkv(jWlW28}y^+y~N5 zDsXtk_Rl~O+kXWB)2VD66wRfwvaU;xvbeu&W$g(t4ub&T4V7jUUE@I!UF!kZx)y+8 zIdvuYTsi0&vFv;5;6xGex2-H0K)%B(%Ibn5%DMtT)-{5Xg;9@JKHz@3e8s0BtYyiMJft6Jn{^zYgjGn=nE&5h~kde6^V!RbVOSlcNMtp(8 zpxk+__9@kAI9_0(1IEKJ^(GeQ_3XP(GW~53b)xT+M85_+S3VEDPw|E>`yV^iKMqRu zuhdSs=+>!zO5|L{{dB6ImO7-mkGXzUG1o^xNpP;8Vy+*BS?5vCVhu&7`e8}!xnS0* z{)yn5fJ>^Mu?5uUN_yoZR7kI!CcrNK4M4ub=96wANxFqh_>)}k4NZqp)W@n_3UfUg zODA>rg(d?&SIllG}HJTj%-;!S4qyxxT^{ zP^)#WPeX-t%W?wjmbU=pJ8aS|dqI(Ixd;IBhtBmxXqth2JP1Fsv2ALakF7D+Z-ZTIuYe_U zvAqs}e1}(TZvl$fJ_LZBp4XwsKwql2)d5G>EUI97t|q`ZyaOQLVHI76L4hvh-;aQ7 zWuZ_MO=a6vJUT`U^M=~WvItOFA%J{`Rh0DtMGTt=0J;7ijAE{**)N|stRDf5souh- z=~VB`as4=|B-c~WHgo+E%~LYhH|tzyvglkVgilaFDv;||htn9=dDun`!~UH6@IydQ zzZ8Zknxr#*m}L4H5Ot;xla!4s1zeufhbcZv_XIAfJ~AlPr%5{7sqXuCs!x|XXIP&p zx&ADa1P|+*nCk8B$4}>??7~YfJ*0!MENIG8tu#b5Qa~u(A4Q*Q%x3Fx5K($iD`?iO~D+VSPC$YuVZpYBF16s!s;H*uIniGip5*IINOUyFn4t&jYZt za|873psqP;ucONoZtF@RKwS+0D_i2`rsXj}m zI+I1GIw5?x98!T)mtp-*Rg*W**geFXhynNF&g@M~t=4YXFWE_0bHcVTz9crmG;cfzQ)K-zrU4LW{V z7lDm>KH#aXy90MCzNC5vxQqnp(1}TJ2)eXBKH(pxDE%I4GZN4&2gzx*=xb-s1YdTF zkx>a$Cd~q&%3X3{HfZ!CqYD5g(xn@jiH+$@B4lLrffzICk`{B8#YWrO z5a^QcctT4m>eQB3fUJtqBUu$IZ-g*nEqTfe_ZA;029j^gF2OxDytWg}4;ak6GEOi* zU@%t#Z6onI#Bdz|D&cw{*v(jf!D#(W-VW@q6GUrAB6vs86m#%h7{ElaMt@_5 z`%Z$&b;l!`%5}%{ATgd7Y(~yOd9aa@&nN=GcveBHjKaTG8C~WPS!ARwI+}!xjBXHO zG#h9kCz?Zt;!32l{})b|d9;M0xq)cXVTopf5yFtQloNC68O2MDi?NYGmO1ZB+zpbgiKLHiV_2TB`xExDDEK8(u3?NG+R6dnL@7l4f80IEXOpV|xg zEsKm(HZc+^7*$@P7eG5%2h27N^Lybn&_tbq_NdOt=nayOLrIa%$3RbX_+|qjU*Qsm z@{&!#>pLD(ZYie*)ogVH7bGvrt8{xabmJnjLlmAnn;&vlH=K-+ThbjU@x(QY4}47F39MWWBx3>u zIDHI*enuDDdkWWp##F?M15VgyVEAa5poYjJ*ba!vTzwKi9xG&?c1L4g;yhiM0O#o( z0!O&8ID!x->SqDu--N#EY{FSWZK-C^!XmW-H4M`yU{hR#Zk zNp=hZAPY5JIqlpHG-D$~=}RsoolM!*0Ys)n8=Ht!$=nSZd!GB5fTN=ypaJ=6C;E|{ zJre5FQW_vbt-L#&2U_NStLb;x5A?3p>pQb1wgt`n4u`cTU>IO=x9=P{T^yAJ#Mvej z-3CYkb_=jX)dJ$2&vo|!vMfp;)pmCUB0F=iO~zde#MwaO-fGl@IWA*FFaLg*bBGQ1 zyF~9#VqfXMFXLRs@n^Z=W#Z!UVIeN}I_u;mvsqMNw@b+P;KV+cT9?hLdgn)&?EDCm zogZPc^CL`leuT-+k1*N!5mu!cc7BA(&W|wJ`4J{NKf+|^M_Ag{XD^%maguZEA6N9g znXXsmwCIOd<+SJ>Klr!H%qaywswT(j?J}DMONrClWljo~8uzp{^#|E5^TQ9aU1rUX zvR$UnPkOt|&}*_?=HqKPEm}JAuP7rTXFHv0YvuiFZ$R!E)vI0GTzQD1vBHgNygiyreLMxxJky__2)9=^u}$nM%=JB$#{F5gC`6o zH_3Q=YAhv=n`FGsxzadplJPpnO5+l(oj1%M2J@I`)R+CyLbw@q`WpU^<8GFyGX!Zn zce6w}$3!EznE&_1)vp>gI9KXgLlV zUOKvRp%-oPIB0YgW+dC>anR_htYAoZ95gybW2O=1DFwQl$3dg3MH5_U&Aw??@yT(} zm`2zzX2kJ0XpD0lG>*qXW1QolaXbzh)1-$eH{*C5G^S}3ZbNb2ERM%PW18#mc_YeV zhgnPuriyZ7V@|B$=5f!M!bxoPAPk6=gLesXVAH4K<}Qpv+dQ!uH}B0j?Fvt9#uc*y zCpP1FVl!@0TWLEhjwd$bp2>@0U86Xj*o<4Ou>yQv516H~7I8eW8MkzY=xiOw6Pt0* z9R$V`n-RI_uefFW5ktd1u^Gn`n{j~?n^7J{C0*Z=0W}(me4Qx8heO z-t4XA{xVP|K3-DH`NP7*yeFRnj zcosmq!o11+#IV0W6T>vRINmYLCx#`Kbqssd z&Hii&Tnvkcz5ys|y*BJ#RES}-%i@MiEPETIbcat{h8vQjG_0N*pX^A)eaZ%n9Ys=P zZbax&bAoVA5dCFLTB^QVcwC&u>brf&*xC}m`eJ5gEevQX&mCGCvf(~5<+(ZgWj0yt zC7h0mtc6t6NCKP{*#mGB4ZlHpGYuD#UMNOn?WGZ|rLnBRSmRu>?kp)ZdNU8sVl6xFYa#89(O7AE^aBc>yNtvu0QSyxISCc z#q}pNEUrJ{3b_7+i>aespX1W5)AKnldak{l=Ylj3 zJnd|oAZObIIcw9!*`gq4i-Mdj3Uan>kh5*IvvR$m_U5(MSYq+GNM^|u@T4@J z6A5X#3R2X3@kL(-tCU;@2pbdTpl&g%rq!`jSe9=)8~#bD?;)EfBi~Oj z1v{-vX^SNuyrbY`2(cF^)Mp`B)OxCebO+-qNp_cRu2_& zN7b7EZ}pxBknXTKH&m^7o4EZk!zf_Tk72h+3Vh(b;)jlc6OMxNsfZ-`Y~j|u0DoQ$ zmOKti2D5fFD20oF%>-7+olc!kw$lXAuwI;u zOO2!nhLuw$tfKD{$d|!N+C%uavuiT`)k}d!3qAtuM5bk8lvfwmVTez=08%HkpLPPk zNCF1|%q6fBz#9ZM0XRrt4S*jBECY~Q3&4B;`2@IIxqmG@0Hr$(6kY>q2I>lL1Nee~ ziHmwbCV*G~zYs_UFts*-3;@Mh0Qg~`4+(Sv;HiVP&pZHfVI73&CwZYXa!14V4jiv^ z4XGDVtd5ak<$Vnx)qVr>`96sD1ZJ~k&BZ{Dg8Tpb{0cgD1LX!(Ee8p4Q`ra`K6u~G z#mKqCySj^b61fp^y!i`pPXuIiSq>>ib~2P39hc0+^C4C-4?%}@IWjEHw*nOQUgy;S zyr^QAOayON)s6St6BVBs??dG<7^pa===pXcr?L&8<&O|PqQ4Q9`+`ZlFIb)pROZ`B zoNrGPmHBoO=iArnV!HLoe9MzE#!tZYd^?%*ZQUG~J*7_Pl==`*J*Cdzl==m0WlEjN zhAZa+l_~WRPN@$8)pPaif6diTaIXFamCcU8sb5fhp*1lw$$b0VIe2{om7H&v5vf+s zo^Q#097R1RlTQQCF`son*ZmFZ6@*Kz?1lHyY0rby0kvrh0E{5;IDmNsrT|z;U<`l* z1cn0eoh5WPpz8qA9d(6kK#8x9^m+?G5rOvr3?;A+z@q?KaI*BEZ7im5>4RIB))iN)huma~T~ts<$VLJtE6g)@};6 zA)%^+eXpN>LW+= zbw_lkU({g>7QF&7U!!S|-J(2*x_Elhk^R9hOFpvMvNCn81J0)hwOhwEtGVrIa{v;c zbce+j!v%5yozVl)?So7%d>HYY)f@v*AwMAWA;dBk0w{a|{}i>rcyS%vLokNE4%51? z164nnwP|c^iVMs1O+?ii6xCPpZMqoW7jhlA6ebhzXkh6Mo8x$2)KY94MF*%@UQ{zc z%P52ceBamtK!@P~u&{=IkAZJC8po$-+Jd)3W6;v-)-j5Vo|LEo)CZtFc`}M9W^}#= z%Q-7^T*r)z`P#myJFc>8CP9^5+i{QeT6|cFI&U3`56kw|n~oQoGtu5FD{)z*{Zaw5 z1{=BvU^9V}06rsd7{G4?b_0lM34q_KdXB(a02>G_2XGWXx}&!6Z&0p-QW#zlCbR+& z58xJoEC3a1wg%J?(0u?hssNCIs~5}~WIbOttdj2pIYyx(v<-lV0kkFXIDp9n76SMH zfXGdN+;kLG)Aea>_``|$2UHsEw;^DKE5Pe2!b8Ni85mfLU-E@ADp;FDw(Nn}Vvrv| z917cjF%FD{-CF=^14u5M{ouKYf`yHC3>UA}T5W@qpa599!)7Nzn_kwmgs|i;+aby6 z9c`AJ+PyBB+B5z=wZqk+n0@5dYXksJ-tVDZ8jUXQJjJ?}5LThR{TT)>FS|Ko*q>pLN+y`D94VDOWAOa$`dZ04gS#hcGnZO-l?%&NIo8wV!m{u+?w#ern)%W? z;lsZuiLH7Cf3E5X(FI>HqVZHuy{U2-J9w$@%|37DDmOW$5%+BuY?9Q?~d%@cK4ZCZt#bU9v z?kdSGsgP@KF_MastWO-tt(1^ZDL%+8AxU&qAt_2JKBYd=#qariz2~s?{r-M`{r2%V zv(MM%eS5tx=bZQJ{eB-DHvFJp-;UFATgU5Z{~!ISo8t95=ueGlsLScQqZ4$VzI!G? z=jprYiMl#{H{z`+b&<`GKQ-dO^Fk?qYQ&*KLeZbPBvI$-yN-a)(|6wr=sbOQa*{5m z?>?BU^Yq0WLTdaA%gF%NKT^ZK=Lqgf% zX`SB)nciXi+DPxqlX`DzjAy(p@HATV<@nX~xAAM$PvY06?;eFyRrULkK$w0PToQHk zE8y4Fx4=adu5SWI*Pnybq5p#4dU^$ZBlKAO*4HPG;XxUD;c9T{$MNgdf5dO3Zbw*; z?#FMGo{QgTy+b?v^XmQa8>5fKuTTFDzp*;}=9W0U0e<~@GyKNu-SFE$zZ1U=^%?k0 z(4WF@qQy4RXxv0kmV-6JMx91s?Q*bYy+@2&n&>&nJXkYq!ut`hQAF63yXvER@-)k^ zsTqK@($mI^2(R@ujx^B&!F>ZDd+?I7nRh3tS&FLTy%#faVGk)P+&huf!-{fvFAoRx z$Sw&N;eBcisM*T$PA{K&!{)q!UIx#dZ^$r9*rNxKA8U%o`#TjM^EydI!CzyHOw+wu zobg~9W(S{d2I0bcL-{;__8qq9qfiQQOx;kF+j~FrxmZ!r-T|bZQdDfcW7K?_jYQ)a z!VT&bP`p$z;3jHNuK^j$6ayaB23{+JtS}lk)sr(C4FrBp6*JYFK40}uOcx3c_`#q$ zs;I-gJObKTsVGOi8C%At>ygSU@2ZA-6XsH0c~|$lgi>C4SC1;8lvm!>Gg>Hm<#%N0 z>gWnrA7vQjm3Q@3l=8~E`k7^+SKf8AqB7x?cW3G++Wg;FBXoohzYz@>X@8f4>4?to zzbBDl%f;dZPe*|ZjI1nO9bMu1^iyO_POb2KP9r(OJtrs71x!D`=MaQZhR{gQovd)5M(MF{+xNWr&pRI?^qK)dCk9&ldXVFIW+Y!nu&!UaG zxd;MQ4$q>Ey5*u!;a;9a8+B__FJ%!(oSo11q+w+1p|fbChEUb}k?~%(9^a8YCh8v5 zW5T^Wi#BT1%aROw8hUTk7}a|tygZ9GY6818z2ZEJHfr)|F;}$LY2@YT4YYwqw;Y|P z&d$!!lRP|iHfrDxVgeqGY#U>2&q2p$2aZlwUDoRDw-!{2ff1EuVRw#BRkCnzY$d41 ztY>SA!}~qFu+dFaRwKOcVvR&})2-6%ob}kdqcfE8(e+$-zitms=AB5_k?Kv1ib0Wi z@T*lczNclx6wyZgn-4yGhe-pe`H3vKqDrBu{k1QlKL|&7ih#JtMaM^8Zjvp zFw#QKF!75Kvrw`N-u*ct2KPB%(%H) z!&jy#yR6pmwH^sI95gJeHGFNF~P^&e36=H%~t2KP>=Q9gjtr6RbLUXl7 z+}w3Oq|MbDaq|wwGk%Mgt2N?kC@@!R#63A!(pIZA;uhjKU&z#IjkraMQmZxM3`MEc z8gWZLkT}(9jku@30(E`0M%>aM%U64~M%)T=0;4zw6YuXsP_2)x%y@e~oSi6t%G0l0_6C#YU)^*&b!Dp65( z@1HrK0&hwmuH!wK4Jt{63-_)_0+p;Nhqtl~s1!94M0f{a(2q}L-w#?->U&?oXc`|H z7@Xd3=7UO80o~s0G*C?yeU%bv7#D#pQdJs%4nMRM_R3=N};Lu<_b_{PI;0EW_o7_K(?mk*;Egc zDp$!DdM|YX)ka0r+}o8E(^gR}>KT-^yWWzDyjRP?s8FdCdtYt~s^bcIa4z+BW)3P< zBIVxCXq--r2==e=_RIs>S*6**dkBMed>2)aO7AjOf0d#-d((?RbyZZAH<8ufO;O#v zy(zotqV(fxZyL=}tuoUc}>jE!Mvq_*S6u_FDahP;&} zgj$-#dk{HJ2(>h;x7s*ejLF_cNHO7hqsm2!2`MW52=AJ8phCAEr}y=Zpc<(gk=uI| zWlCtQy1d7`3S~-YqNr%^VVEr;js4A<661aOQBY0C3gz><(cTi$k4OWL^}g#uttNyT zT%5(W(3n%A-zp24{AH{NS;*wC6nMb+y+l_Fnf!MNrEX2&lBJ38yo3u73n2gCgu9<`AJcfrQ;HHT;SkcEoHyt?+%bLbm*`EFc zoo++*XydH?VJKV8(qQ`RV$hSU=>gI+f*BW(MCay+7?EdUH92%JF$-p2FgqzGTpF2h zS{O@9^?EUOk1Iz$3f|jgkf-TeTvjeLLhi;-2oWaa0`(S}mElP4csV^fkseOr!O;g3i5^2p32OCIP-+k;aJN zODf6|o$=a7P;_(yEh|?hNX9z_!N?h6(I#u`qZcTyVZ2j>?r;<6LyT^!IQgfL9?hDb zCc(b~o!*&rP>R9o$&(cp4{2;=d9py@VZqs(8P6QCM_e^F?NvO1>9gQ`Oz<^Ark#{N zEvXEIG`k*iu~fT=(oZMtWGc(FSI}Qx0G)%S2`i*XM@eCQ!b+jO29-Y>F)zn82~NUn z9|Jz8aYV9px591FsTthIkgmt2IbYKjK&$W;FfAFKjsKMCQI&llnU40d4H7gk&dOyB z1n)8Mjw+sgvL!Fok})jAs7A(~3O(8w*jkTtl%Sksw!Oi02b-0H z`#iW=6(PVlrXVM|u>nj{voggl?}}ZLk$q*CBVw0zfWQf1#2kiwIb{%LM_P=7vxSq}^b5HRgg;8 z84BSDTv~qFNi8IOYVEo%HJu-LqV_n{fA2lE%z3}kmn!7-F) z05Y`%m)6pH9?C^m!FwIa7F`5*hu|xK3jn32YRfu^B-E$RAn1<_UTw9ZIfc6PVWh;4 zR{|E2x7Qd4EA&RzEWhzoJ4{cXLwj_fMz!y>hoDi^3aa*-kyIW)1A-<1EdeYU=jN$l z;VBiB3=6-4$6;ZE;@KR#ZMYYOm~Wa)oI;rqj$wgCJ{4l3@n>rB-L2u3mW(Rof&@Y(dWr(}MWfDgfS28~ZJjQ)i@l@t#hL~4PCNn=5OlIDTA&FgAGB0`0+7ybIbxZd} zP})KXOwbt@zTsYhFhv|+htP^5oes%dN*~Y$o6<>?w&KX~EF|kGeMl?fsPQ-@mV#k` z@8d3g8W-lFzh}VdREM}|9Kc?HvPXy1QnL+{?)eEd*mXpeU5BcrW@OTJz6VFTPQ6>0 znx)y-NXCWf?PlKsG$8OJPw4E!GWPs%J zLZ16J56%dWkh?BU*KF2NPl*H1qQ!<-nD5u(ok+Y!!bSpErO^s zb9|9G#y7KIL&9i02w9>mbr@3ztts_iluT_{gtbk$m`qME8|m;C@*?jbM-f*iPLFCY z(GdS(eRR=J}yc!s^(3_71d-M1p>5o#`A&^(X`I+11@BF{s^5sbkZ^m#Mr zkRZcWGwefDy<;Qle+%CowcI~L(3coS4$|whC`|A&aCT%{#HwsETRx{5lCgU z&NSL-l0(O#33O(?7u*K#9}Sg_NU#v;IT)y0P!5Ib#fEfKHz z{fcl!+-*H-0KnY<%Lr}<*bh)l^^(UxVfnG8WD!6*!7~7@09vjG$iD^gev4~OE=sct z9BWNw^`T6QkBcQsJ_h4f=yqpEqv|l@S|>d=s37WlSRwCqh3rU$>_nxeL^{wYrnevL z2LSMwKNeB!!_^pm9RH_N zQVy_{pfkXi1bqOm0Z1OMAhGbp$U{I&$P0~O4F{ocG8Dx?(wNf5+AK;r6y-x&G>%UR z9f8VtFE`afL(zEfYgy2giUs#TCKmh>0Drkx0$50zkGdLyY@v!Wh9kWmC_bImax>e6 z4>@E^0rz%rzf@eUNj_eE!fgA{v@*Hys8Gw~!lO;3(eT4;X?QEJWXv$itKjC?Wb~w|R)5-b_n z;7>-l56y6u2&d&)vi^dAPr8!pHT?WUh7)N#4BbDJuI*>7hb1Ew%$#gI7P`^$net?4 zW`cPcCP=NtYYQF=eY4`>wX0T{t>ORuN0FmhZLkf$q)7R)-=p zzUZpg35E=44eu(Ev8yWkT?Vpb)CooQb|_b7gs@SVEkaB@KU6b+{qLFV_m6m0CYK-( zGieO%rbqUdh}3|}Awve#dX_pIgSu#saFlGO@qL>kTl`>*PGcca15PszI4!};Y7U|K zxFs*fS~(ih8siw2zG-z0+f90lIB_xMX&=EJdE#KoSNI{LC&cC_oi9Ob;~SKG0>U9MTfQ>4sE`R+M=4{ zy_0J#24+7B$<20{?_8_WZ7G4R}AZ{Gc58}p$mO*g2 zI;9gKe5izf@!%#ej`vtEsorA4Sd0`WMwyrMRO_yB;HZ4QW5$Tcr-AvR}VK(QK_B!^v`oW z_}sydW%$T5=HrZ{p8B`&(>r=8KmE|&;-~+(xA^H3`ds(Ze}-`ZetHl0Jx3e}!-SAE zCDp@y&k={xg-Y{0Va)3ze)_-qh@bx7eZ@~dvY+zPPrO6G=T ztjE5qWS;RDH|zHS%*D{$02dbdXo5rWy>{I4%TD* z^U%?7NDCUErvC_R)wd23x90-m=-`m2HtJLEITcTBlz3_*!=p~lip17NdTOIi5wdo; zBRk6U)F#nW8&%6wo5UU2QMEj^N!*bgRm)SGL{Dv0ZBMNuXnz!uJM3ZjwQ;9*)Hm^f zkqx374oAj4oLY`fxEEz(1~|1Gov0|QrEVQPv^nAI;e>OvIpOT#gmbhx;q2jrb97oZhEGg5dpO}7-Biwl zOYwO);T)aL-Og}-dBjJW@vKmBDBe`GXxqZ(P|19n#fyk8Kqf4n%BF+CYo^+QC3>bF+YLFyF;X=H>qsUiw-&_U`o9i$%aVE3j_z?Mn}sW(+o z;m8NS+$s)IZ=*=UXN<}_^w19Wn9>uBjyu?6TB#Oj@z5t4Q>G}phdbC~TKAU7!#&)= z9%K4MJ>0<_WBNpsxPv|BfA~aW+D~Gt^ojb!C+ZFDV2_=fsLd*hPve_izV$tf8n14|lM~F4-e-R(iOD zJ@)Bipy(4#;tuxMzxhNx+`%5Zf+ZH8sKZXHM9B{JxZU|k(8C?+`%5VzZ}c_*eJMzJ?;QE1z`b-hdbEg4mwB$F(`8fdz|SLm3|lZ z&U|UUX&&xik28Iu9`0a|Gku~S?qH8IeWFR+!5&x3Cz`|^>~XbxqDkDr9#_jJnj|~e z<7)XtldyyRzB@xc(YRVZ(IoC*kE`VqP2vvrxLQ8ZB<^63`|=xDO!-8UxPv|J47-f- ziF&w$JJJSWUJreu{%jRXjE6o^e~t!DB7pQ|Xphdxn%p2Py5 zsE0mLf4&-d8hYpx^*2+|BzWi(^*2`m10MQB{Vf!g?4eK8U!FPt@N=Mbq3vpQyjB zqFN-;C+e@|6ZOz1>aS3#6np3s^>@4`4=|-3`b7PeDv@#zeWLzOjEFu_4}GHk&MM6g z9{NQ6T~t9TJ@kqCs}$AQL!YR>tD>qr^ojbrDXN=?K2iToEu|kmY!>hFF5V@aeVJ`TGFv()`6-mg-(cye&tjSn?GtEU4}h;N`$uzNl?rjFF(@8q2# zK9NytR{8;xzDFmE5AYVQX;`$NCv7hPL+1{5+z}_#c-uHxj>>U%vMdwZzS4<*#?40 z>&wTTJey2Pak_0YE>22u%SF@ScTB>OSa~)a_inip?{Dd@o#A+7w=v(&A$<27KM28Z z$KH7E7s>3es7nxM4!(i2;8wle%I(CNG97ul^%IOnnc}w`XdOyEA6~S9R`BBAE4+r`A5r)!vprkkx5%HP@VSA&a}_>L{u5SOL3#D&OJ=h_V%Qp` zBkr;%LzrO~T7yej2>GP(A|-g10Tx?N!Wzo!y2Sbu@~b?qPg^-=XJ;_6WlDcN^_MGs z@d~fD^8TqjulMV4eSn30S#VzVs1~HQD3f(&tpAo+^WUYazdsnqqynjeQ&mkX%$nXO8^={mzop%%>HXS`n%=M7 zsOkNhs%cjAeoZRc!<-%zeO1wKYjspj8^N)%MfHQ1FY zr8U%5#+McluK3ad>V+^{K!o*11E_CJ=ksc|?1*#KsztAgXgG82Q-LoSyT<7aoKj`+ zk{4FW`Ehzd@Ds*650&x}D`gMOHcxAXfkc^qo-+TBjO+=GcY(|;yB^CXvJt#yGIuRx>QJktxlC4%rQ&@g$4?rM)fl|79Ru0y z7Zz&V_mIZkfuk|`hNDen5sN@#C!#iq1|A9`SnOeYnI?~#HPtPiq0y!@nk5I2;Xp%7IPYAX_}x9#UC%J!&|}k8%Ie7E^g0 z$x24G>~s)x`dy&gkzP*mD=2|UNb=Q7d!MBH z9!#@0!2^-@DYxNUYbsj2%MzVwjv>1e!V>IC{EE?9Ysy=68sx#0|JMxo3uG<0Kvg@- z-q&gb$Xl6*bIj5kAd6eER?m0g-LdAv^cFKI{ejZxk(j%mj|$w3>jD-Tlwg>hO*`0X zPERl0V7zgko)p~nG&Yvt3TuRe2IUZ-51Fu~b-yH7HwRPZhiUBJSc$oavGr*1@5u)L z52o}dmD_`#F0C|NTIo{KC)sLsp&O0@Ew_sTX}SGDx3n)qBUxtLHW5pAr-RW34K-C; zis))c4K}IgK(*zhbp!(VacRlg6=b&E`{3<^u-yTGlzRbo0CWeaFjd>11m{k0+J6Hu z8vvfLa=;#vIO0mv(i&rTS-W9ie$F`h1N=_V1Hd^NAvz>Od1ga^bQ2Vspwt8%OwcU^ zEG_Q`T8C>{W6b)$%UWuwu|13R*FbO$DYT+P)R;O+k1eI{Vi*^nTICU|l{3(V+l|Lh z5^_;FoK%1OG$&OJP+37%5q=&UZM-*0_cneNqV}7>I0n#V2SEFS_z4>WYA!%WJ|TDv z$7F2Mt^u>%AE2KDsJsNw?i_xaj0O8MfG!05?)pf8PP>t>_L*2zwG>o)ZgV_BPyz5K zK{Y_ZIDoqW_7U6%aFJjpK`lv0Cxa% z=B`~^&GG5&#{v`^ou*)MU$2!|UVsaC^to7C&~62)t=l9kN_8Ao83DI@djr}-z-qq= z;39QL?mX^`05D-^7gB$^C12o%mBWM8JG+a0x;ClqBWD-hJw5kLv zohZ_6VF;&0RfXV02uZ8c6!)jQ{$H?4g*ZrrWxa>=}m*4=dc0-*WL`2 z^duz9p<-#BhJw$@1nWFluYlEZ(rPS}!qt)7U%@>Jt~9Ax;LgRRm00Z%)@o8qz+FvA zD{I1aN!227*rE!-G8#0z*D8cAqQ#*fqW#{Dc+-yxT5RVxro z>huC?xkL2xp%ye9fGy~h692OWoyD23XhE~Cx1iC|f&#{|>3T(%#xJNAB=H_cyl7lI zmZ=Cw!leiPKO;0$gafZfcofJ|b)PXXs5dE^w_F8&=YJ3U%s&HPlE7D%8@qzKzhl)3 z75aZkcFR9Q#Ss2Wv2rE&9u683ZL-%I6k(C}I=&t2jO3Oj6g`Gri?zB4S zXzbILmPcU&k1==#mSDM!&u8e3>a_H%K~Q5eS=D5v=M4sD1TJl)))aT_T6H}a+(nd( z*V@o@- z)N@H!z;d-bYQE6XRU{vejnYToPL)uCYgV) zZfWq44(H>)woG_fdF$SLM7(uvW{bCO&g_u4uI^hs(3|0{laG4WJ;1&VZ;^b|yY8W9 zh2lrOf154dy1V9xw=VTj@zx!G6mzQDzl_U|iMQ_Nx%vVt9E%s`VNsjQsQX07X;&}* zl+IY~iC-FpPsqO6B~R%62lAj|YqvKcOVU~+=MgRMz(ZNGe4{&APHIk;lbVy|q~>Hf zsX19rYEG7unv;{;;-uzeIjK2WPHIk;lbVy|q~_#wqtAT(Uya16l`Q8TC(F6V$>zDo z9X*!%jhMV`k>RX?59URq>Hf{78E7zv%ni()(X}g6V*q>Xx#}2hH8x zcMGLHXzuQ@N+|U~b9c{sgyILy*FSmP0U0Wie9+w8H&i6~pt-x>WyzZQpt<{IMd5?y zix%ofwOr%a!jP*l^3$&ov$zT)KWA~AIJ|jABo_10RTz1SkcCl)H?tDizSQB(q|~O) zM0I$xVqm5)EKwcatQg$XnMhY*)JK^imNd48y}%M)R~&j2v5>S zV7b(x&Z-a=mpas$0_4R-mzXD2QQ?TrU>xdD=Vu9@F-|SglbePPbsmY9=Te6{o6)I5 zofTzw%{Q7Fdi+RrezP*EJ5inAESayhBQUDHj@X>3(K%u8P>8o9I(Hj77!AhrdZY6c zWq0ws-e@^e9L`J^H@QbQQz=HccwVm&a)Cs5`VLXi#5k{avA$6YibG9{p1a74Bkasj8@*=bU@_|v?* znX7PTeINW2H2!C4eX}rVpL}>3xCEy;z zMEcXbrxXKODNLk4&HII7aF1ak{b}AWN5D$TpO#2}n)l2PabQ@v$IwN8n)j?KXOZiJ zVo={Q0#@Ukm+Dx&-<=f$wQ^zSVd7HEd2-`m^vYk+D8vyP(~9bK?JuFo&R#zMM~K@+ zubD4CLhNO6(QD>QIE0&kHO17L;frTy&fHQaNnGYv!WY%-2Lk>U7a-=1Wrn-7b2~d`%VQanWn$OaDw_iFVOz z=F3pAcwO|G`Lb0kF)n(|d^svytczYVUv5NXkO}%-bes9|R5T4-^qTqdRWuD<^qTpa zsb~^h^qTpat7rl)dd++-6qW3v*UVR>s8kodX1-!YHFnW!<||Ptq`Bxd^R+|@_%KmQ zQy1N4zB1aHeUV->U+WV><+|uK^OdXQ3tjY@`P!&xn!D&V^R-n}i$r?OeC@8cmm(Lv zX1)qlj$#+RX1g=M|%-2;>RW5qXeBBh)%|)-7@1|?gd8%D$#?Iw>d<6Fn`npf!5HWkp+2wjC zErT;%@qU$>#ihJtDh{hldC3%IcYSW$yz;u2jO9{ZvP9)2QzfUDEKzyM6oX!}MCBz@ zjM`qZ91IZRCG(b1C_DeWl>!eKpRWvg$-H+7r-T_l`+M%go=oqyhCYM8LQ z=q2+mS5zGry=2}M$_n9$^pbg3GOXJ9mq;&}_Zh_yFIinXhe7d@c~^}=ZY-knrw z^4m~6Otive_%2N4q}lNF18QO<0;D-Y1o3#o`K+GRXaHH=HQt9Z1~6m~g(u>X22az^ z;Nc>(+8Fq(-XhqCssogGG9RsmC_ILEsKT;|ZkWd5H{(O}Q0-ocBI7ip9;@At`pDQw zJWk-c9ou;8q18F(zI_e0hJ>bKQ$3H&JlYnINtbu6-IQ)=GV++p5*c@Gnp@$ z{DyhV!;JlTW-DJT{GC8C@b>~EnbHremHZyG#6^K(^`B|}4^H!Lwv zERiqmZ@I9=5Nprt7|Qd-5HC_CUyA-ROP((ld7TxXhk|cm5?T4`tYa2CD_=~rle&3u zEbL;}&C0hAM=|%ZVai{DydY|Av@4h&2!93E!F#o~IRjHb(kj{nX{QNb7E04-L-GTX zVy`wVcdsD4I%2c7wAm{lo9|||bYhmV>b!-N>n4^%yE#be=dW>M0i*!<8?4_2BEBwc5MCH$IyMf2`dAH;}lHAknHR3IvMrp59;Dz+u( z6#kfQDOqhCTCL+aaO20-IDTi%TFlrWC9U_}P2k<&5o5g&c^S_kdz^qLll_-~XO*Qs zfO%W0muG|B0aST0z>@?#3hXn2YJj>k0r>IxLV`sA^Bx4?31g=T)&mT$v07rww*oB$ zYO@c(R`cz&@}mF^jkPc6nZXVVpv!XvhZCd%JW7xYu%Dn5!1^zMN&qiGFMu+FfdC^3 zcv7N4!0Gna2sqvT0YDp0x7%tiO)Fml@CQZD0VF+%`N84HM7u6OqpBlb#Pkv_ZH+cH z1(9>AurE|B6*FK6C!9v*FC)}QuuAURgt~$J1t`McIEJhxW~nB?ue8Wmu|{tkzX1vr zQ1~{aFj*9)V&3qmae9s3Nb6wKS&O-$c}Ch=%nhwKdaT8%F0UJN*XnV7cCN#oTLeCc zG^IM9n~vx)H`e}RNFIWu{bv9R07_z! zZ-mPVqT!8o4-!a!ls3R>+}liPaBQZ>+}woUHgID=0^OBdNwB3I=`qF$M-{t zn5or`Lzy}n%2dffWBH4ET+H22U`{?V6_}G)f&^UwwiEOLxI!=ppxz>Y5dgua zL=%BJ0<@V4zOCiVe@rjm2=E3)+W`Jc@D_mA!1;P? ziO(?_T-w^9X`zN#0GXv?B^u%%V3m}=2mMaqRqO`qd9cbq2WKoe<>vri2I!ay17+hX zzXZ-XMqnwaG?u-j2ec8!&X@G~_*sy4&s0@11r^gXtY#n0Y$+LFTz*MUYIhpBU_&ZI zflzPunh!BORk{YjSevZLDTuZGB2i|BZ=yiar z1bYE;mjKXtbu&Oa*4zxlHyfAc)SgHWRow^(y_SmOs3<#=`4j+YOcxt1bmRJt6 z$WVa*V&i?&>Y%&ZYdFo1yO1nnLCs(bCDBM8#`CUl8W(v2PFvbHX@SZwn}M zQrDRV!rbLiZx;x2mbw0Z5H}`hL5#uOl~?_rKn%nCFt7TrgSauv-1){Vb97S;B6Ayy zbukD|P50tYy{VwgS>}2VfY^yUEU)_SgD|J2>z}c7DZrh`!cW_VCV$iLD8WzTRb!ws z|4NO&Ue-rrJHx%N=&=~wN4yr^)_3Exc($3vIEk=yA=L44yf0tTf59~I_SeT{8Z)OV7Xc1C-4<`B7+NNw{k>O6{DYC``05 zz*J@2;TBss4B)(<5j!KCGy6G_z^Q3qJs44sq1C*MbCyaVJYj(m*sV9as}`MY&$VU;CzfxIi1d$pBW|R)SL^#y7{{j_!BfwhS zPz+;n)p3G)K~bo(y7fV>nF&4H}6YGjf4Na{7M+$+7b?17h-mFN>tQ&J%)b|@v z`}7^MsUtFBHx!)_kx7Mkhm;xY$YiCgX0RhuC}7SxgB_WwD9&L2ihRlpc4Q+Sse~Eq z#J9{DY)|Q7M#mX!Pb)Jz&R~1W6vY|ryWi5|lQ@IzX{Yk;PT&l-r-E6!{sqDE6=V8FU=g2-Co0DD zQ`68E7f)1-x!D5&i^dZbV{Um{sBjlgRE)XRhPNu7s94uNgONXJTsWX-1cxGxK+F)T zx;|ohcjStmC6Zg}V}_p(8H-a*G55SAO*q`eV-{mZJ%)I2uAz&^EXIsstcc&mV-{m3 zd@l{k?cyzqFqi8sA*^GP&3wrjW6{rF*8&HZeXzuG*%sy(-%)3#CkEFz8Ev` z0Aj6cZ-hMA#xSY}%8*lMsxNUESS}uj=nHV#hrOETA^IAH8j(5=(bt$W?1|qZXl!u_ z%A#qBZ@X#{HzCY*Nj7?rNdyxwqaY@g*c~ZdC;Gxr*NMf*=XIh@ZDO0G`ZF?sDJwfO zoR}ohe5EonUlMo)9TvH|CKB2L#F0o(BSada9+r4Q#EX)GA{swnBprgqmKnDm!nrfU zFkoo!+BFU|wzsjKKI19g8{V~(k#Vn*5?eCoVtmrp+O;1^h5jz^+2mEcBxlKM|62PT zjL;EJV`uIsnDT@+2ZD{H9T*$6bwXR0;tZS-cZ>oZ6hlQw-@XHqX43UO#ru12d!r!63)DpC7$~C5xmW$?c(lwN?kjlKe(inJH_c>CY2^F=C@xWmm6mySB&jGk$o&e2bDC@jx zs+^<>tP@M?T%dLE9YwZ>&0BEz!W$4h3+pUTGOZJ|u|0GJQ&}fyV|y62%Cyc5netGsGJ3Ci4WS|zz`AkJZO4Jv{^Q`h!;S&;JsRV$R>Bzn(Ewp z&?-fE2EtrS1#T9~u^JR+rCt-N7pdUbd@NkIakQBRy4hB|p(kU)C8q#`vSx_lUI=pD z7gG!UJ?Nr}t@w^`0agn`xtMQaII^Hvt&Ay|5t3P&9Y=JN7@Y)PEy3@60gIznLS-K= zk4k8*NKQdgy3fcyqG#4Wk9)ngQ!@6)3&x#C^t51`HE0=~|BW=a;dKl1B)KCk+OIZt z&lwQq-a8D7iLXdZTS(tC!lL~yq-`z9u@=oLZKDs!yd8+>Yg{c6k;-122$w>bvy7G7 zKvjdF=ncEmG(uWOfEi*}?t-!ih1KLN3PG2B3^F3u=q0*3o{%RJ&xVIbSl>wn1$Z z)%w_fG1V#{mDmPfS33x`qg3k~v^T&Dtfac!)Y~C?9Z^#!p!Y5Hde}!&?H=&XQ|)$u zIvW6b1H=QAQLXg^P`RL5KLF61;BkOw0Yb&tv>mggc(u|7+nw~~Wf@mW1|V~imWGPOlPFdv{oo8dr*A^sQ_29<)zpchHd zy7s5=l%844Ve4n>-|m?&LP6V&*+F&B{MpJe@*3Gr}q5nhrS<=xq4)hH-TP+DWFOcCC#sDyKWof=o0zA3dxc5W-#r~2;uCQK# zib^9-=%b`1jZ&c}zGkLTCQ+^;ElIQ%`fJcCi8i9|H}3mLU(-->)mt=*UN=MZ5&Gck zM$3=&p&9pc6dS6{uf2fcE5FoGF?ohOq6`)D!vA#WW4yW^Hh%qB?|-|8<=Y^ZYiA%> zQ=N>h!mzYe)TfH#?U1jO=_8pIK4D2KX?@X^R9Y7`R+J{0bf3r%KMfrhuhvK7zD<6zN4D2&Fd{vaO70vo&Z&Q~{wH(E(I?^P$E=IJGyd zt4+1VrrPUND_I&!r6jn`OwW?f`*AkN&baVl;xEmxKbc|O2N`yl8TR4pK?`3(HqW3Y zzh$!Lw1SJEOQ2ow6~GXJPXP82yaRBRU>872@NM2NSkm7><{m;dgrUiYy#wF|NFitd z(1sul;AVnCfLR1(01<~n_DOyfPp^nZE3_`dw6@g8n0JvBAIP5oQ1)pIwQ{PpvhKUp z)O*X+>wN@zc{8DN7}sBrx9)^Qf?&6yg*JeD2$$B`DhWIffh6!I1EK;UV@;OYjW0jf z1BIjb__Z3Y+0fq)P}4p|A8XGE6-fB1qE%9vjGyy>F zL}nbJJJF+5;GO6b0^W(J+0xXKJ5ktCSc!L{MgaV)(4J?{UvMKww?U%4kzwX&fxMMy z)j^e|1(KyX(8=Od5(08G*+QDrPTId@5crsMF(ZCb5Y*1L`{p{ZLy5U)ddpm z(@e9J6Xop!c9#eKiBiakP|1=Pf{Dm<5bsl9WZyOFK1RehhW9|H;U!?Qlqn4_08<3z zyg|!M)y|=Gm!Ol+`*{o!O~3`6UP!hh@9FBDlHA6WOx8wG!goq#oicE{Q8HaC2=Zy9 z{|6!SJPIJ@F;zm=SwRI_=K=w(L(P_^mb3x?hau~f0PwFu>%$B;ztIN9LZbD{#>g+N zvN@hBQ2y7!%{ssjNLFbOdD_;+KU71XpgxfqqDV)pRi0T-?0@+!zwU;$=9Awo{=zhVrd*wK8h*d+Odzxg-r@Zyy(fcw?(G{Cq z4=@HxUezviDO@gOs|pVoUsJgd%9gyvVDH7n!wM<-nWBd%Dm{l1g8XPFW6;%S=OFv{a@4V&U>)&*%+ZWCizG}tb}xu35G@-Z)k0iVa!TfX zd~loye)n`^+*f)|kj^u$n>0#JtuUX9Al70n z1YyuoH=!$)eu&7}QPGpM{Mvog8s1mBD7A{MK^~|WQ4MohBECdAjH3Pm0JkNKS?Iyf zyIChmpR(~isi!y^C-F{b=@Ifm(rUJ6uM0y>wyPD$IAKAN@z{he3DogmB&DRG@Z#MZ@xDlUH(h^y$$ydv6Jn%<0hu;h-q z?i}0-2MnEqn{eMW|6E4bv+@-;9RGF|jz9Z1YJbRpZ)JbT(QjpcNbLF0{*ZcaEw6)E zQvz?H zbBy^tk}i_qTkSKxqbHVMdPlYneC z3CL!XfNVAi$Yzs(Y&Hob;|24nfNVAi$Yzs(Y&HqVW|Khrme`-n1KeEISMfTGlDK(* zo2z?kOdw);y_*NPxq2iE72)OqZmyo+iKg4V+35fCKfkKw<^gWkzpCZt0dB5-r^QHV z?!SFi%k4Kd{j8tJ6$fcR9HaqpkOpcwNYz)hY>TkX-krM<(O_H4j?4N@t+}7Y-F~*@ zOFWxU=x_w2E5bdq0G->-=MVRT;pnq8GoL=(p)a|GCoM2K|Drbwa;nKa`yvLYJ9z2Byzz%eP&&(3I+8Coipi4V+lE7_U;iL@=LbTxlS2>Cv z*n^eT?!bCHGew3f(Nlhbf&J;8Wc(YK#?Y&}F?2?{Y~0Ch3inb+DJ-0rzh3`hm^Bjf zL5cXO_1Q2NJ{z_QEH`(Ucuoj0tVb%2_Mx$QORzugpVpxRH~aR z;iHNb)!5CI@KGfyqiJrggpX>eQfTVtLingMnwsZFxw#TPs&$-@x$eWH%2o1(Zmxun zYNMiQ?&eDPsJ4ny=SM}=IzP(ImGDs&DwSe4SHeeid{c(SQa4w^M^&ms%H3QDAJvHw z-He3@Zmxun>a5c2;O0vBs4l7?m2R$tkE&8sXE#^EM|D+Hm76Q!qq-@oo0}`)qi%|o zo>}cqGcteE<8S3k_^9sN(3WJ=QnZ|Q>vycC9J-a^9cspXdGg{(0V?@5Xt5!9pJRXYu|0ygx8L=U}X9*eOw%GXCDt7T*cQ zz$T-@B<@`D{qrP1-#Hd*riJaq=BPb^r1=sX|Ht zIW#sPhsFlv(Aa<+8XJ&9V*}R@jh%2!zapQpiVqF$7B|ltjSmg(R(JKnM;+=bR`J(| zah@s~pQ3tvgqug(#G7BSa`R-Hc=J$E_t8pF=Aoi)9x58&L{(w5n}>?Vr_n4pRMgEw zMdO(&&Xn}>?Vr~g;R^jNoi#VS5D#LHK#3N*(!S&-3S)M*$_EyzfE#Mr7ia`Lz! zqrrq>@cSu?G)%b&9FXr|2IM=Kfmac~HSidohOn7-k`ZflsE#NB15tl z$9Mh2IvsnII(4i4B^0~xX_=Ab;&C$US;g0g&)Mrpq^FItIu2h@w&Gk=y0TH@lFEy0 z@wqJ7R{N0tRB^;J4vVtzUBp&p;YCc}uK25o>nOgw<%fqIbfJ8OtR07#kh^svfP!Gl zu9f;>)2JewU7V`D$!SsUFg~bcu(xTEVeD?%8E2VpjH;&zOskdPtQgokV+a`m6~kvV zM47?uULE79N99fH|h= zBL0XJrkH|4U8Ay{fgg~_tG<8~(=&_hr;*aCFAR6M!y7yTZs8@&L}eoV{I8goIim0- z1o!>W5OOx(DcQ0KNd7kz%RdIfUo~pCnCxg(;@Vr=#L?)0!-~bBl(C! zz@l)tJo3{S+iHm|6U_V<@A34pXzPX1n$cT|pWV%mQNdA#D3}J~Z5BY3KdCfrH5GVD z4YzXuZnBt}O+sIJ23`);SCUj;Ibd83cLW-ZV&PLI6B$wojTHWs`Dmirt;cAsJG}Kh zcY;-Hm!@Vn27%@AGxSJdWzoq5r{HYe(L}>rtL})4Kf=^2aSY}&FrG@i(i-ZiU+a$K z;9pFok5zi4q}X3@x*Ym8*vdOYhHMNQW@TqrJNfRk@{uq@de%KEtn{oAR_W!^vqnoY z8FQJxDN1J)*71doxy+EB{h&1{J#`l|q0YQiUFb16O)%pCbN{$i%3F+=F>SS#?K9)W z&cH7yEW^uMm9X@)jaKPr(k(Zsu+nv3vC5z+UH3IB2hH?B7Q`rAb}eF*l$ z?NRw{vn9Kpqe#=Tj5{M7`S`aa!jYpD8HXYq1LFs?fe*%}&Trr%QkEU8g)G~?KE^@^R6N`)0#%VXKHc_Hbaqz>v0R)e3?}1Hr8sH)M{`Chl?_))i)%ZRO%kqX_?gNn-WfHbe}+}&;tUcJ`WOR zmq}~?fOXdzb@Z9YrHVdh4V6W+7oK3Hl)X+6ZJy(E)tK2ZvetudyLc~ZEBi#WTeR3W z5yyGV?qWFAUg=}8w3B+cg+UjC*G{TJ$hu!*E0k2nEv%0FK(;TyFq?oV8oxOlvG@N8 zX>_On?*fE4r4J|@(h^)+e^(}igTT5*VMh+al@J6l(rW|Gw1V&eSe`T3ptT)f3c*Hz z&jE_4Rrvv^Qsdr8hd+4JSC|I3!UHp%zzI+T(8&*AtGP10vN6C$it+*WQdB0Q8NtfV z0H09Ag$E732H?7bSp-~nu$5p6z>fqE1Eie=SOCz9U^zgKAkjLYxdg8RbUBAK_5#>y zb_6Sr0Ng{)XTq5sto$0_ad0Ys1ep2_L{~*LKUhgO`=s-j@*fG~1opvZxU{L(Ravmf zL*RV{VTUOIR{*-y00d1n>#z=6K|8;L#!IH^vmw*e#a0Wo9@?C%+0RB3&dIln? zVNC8p>mDY@`uR8IomsV%+^wYYRWw%Zdz1zx@DzwwzhmtE4<%QrgAu zly=>cg7t8a6tU`8S!d)z%1xY+-=h>K0ooHB19+X_Er3e^MbxkS2~@Iv0cH6MsEaW# z3e90W>C9AYT_fNckuM1<0OEhZSIfEqhkw)e1NW9^XSg5$@Ej+Q|DkXOWxGll8 z6psb#8e-@JHlJa}%X89HNM;(rXh%FY20b0^$ne$K562R&cNu&kg5QMT&8m!((T>=A z9{v`qcW|Aja2kX|Anf)CfTcJb3B>iohe2RyB)}GmCox;iO8o1o#b1Lf&rv4#Ai00MWeoH>610bnpx5DTco1naDB@MYLQQ7`GCJOP87g-_3b+6l zo)b1Bs%o||)%vc0Yd-+VChL*wk`{fyDLsg(Yxt77#Wd#I4t}J?O@e4P1H5gu<%OE- zL>jRxo9kR7H^$KsT~d$JDGcwWJ3n zUJO-nIRFj&9a7=b?RF%io<3n$<50Y#zT+>5n!x6t(+{e>u45k0YuN@(tfbEMA4-$PGw3`xYfpR9}2f03LjJHvh^61ShyM}N#R}q zkiwZ-p~8Jk1r|;;SvYD|nOah~luMz)RRFMXcI1+U`x(jHD4a9aQ6FDtZ4m27ur`02 zWol~N5$lMGSq=5qacM5w-6)&nK6uHP7mJym9pE3LEYkKgWgJHqG8yTUXCV2B(pZ~T z7%I|>kV=vE07#Kctx%CJfnUucRkJu%rc{d3>OY~P3;@8NwYbtqk8{L3?#7M15S7xl z(3pY4hwPSSa}OE04IPQbV{r~=&!?bXwGKL4aaArty}Tq5v~awG+X1e<%}`%!S!u7D zm6i^62`;UpZ5K1o#=V=Nq|(Za3vrGn_Y8o-C@OWe^+ps@X&*yLN_YW4N@!|@N*MoB zsM17}rKDz+sU;;H4jmbE<^ZtLmKxLjjwF02Z>1l7^oX&`@5l&CIE-#)T=Y9)63YRr zacOtk{>z*&yZabcvfIl@jYk_B4~1D&8e@CBc__P|F*m#iT>_Bonp&akCjK1Cu4pp5 z)T}bKB)cP^BiVf%fZ2Tosj!W0L^3zp7&{Oa1|N?{8~ggO^qXMOyLjb1f}3#>tp8ur z`qkhL#ic!NV(a1!8bT-fn24CR$#onc_fKP8JO-E5mhDSOiuk&Xn~0Le~D z|84t@Qs&?JODOxP08)9TRw(;D!M~CH7FDKL^1l*7$^RYz{1we;itbScll}ol@l_NZHFNsa?hV?;i$9U0b1M~#sQc+NO}6nC{_7$C6dt=kOfc6$^*ou0&x zG%r3Z_+lw6_IZvTl=7ITqESxid85kEGH^+OU;dFvsSV($HK zMW~#nTBw}=fyRw;R+&;MX4#ccF>eQ8@j(Mn4N~bBQ;|NSd`WZ#XPJy}RgWifa2n-=%I3wao)ZYx_%VbPf&4M&E7i6#5 zjpr9MDozuSzX|`fL9bT8&W>~}zlVW3Tmx?_!DWEU07ca5+>+B)_(m^1^R z9YJ$|J^-EChz=h0s{kIQsBd}@d#H#8gLQ~tBtY&}fJp#%6Fdm8gJ2$j`*(n+0LBqK z2k-*HMu5aW0JZ_#1JIt0*(ncmi zCSBoC0Q|{|+xic%5*?SeB@wYpE8aq}2tS12425r&n!TR7c>p zuNePl$a=(I0A~Si`9GAs33wF6_BY%;Ga-|nOs12WERet?Ljr+>kc0q9NFZz>>|tMJ z6BPszkR5bT5nNamX~hk}T?EA?iU_DEUiSsK?gApB-s>(`aeIHiQ{BVzzyJ4pzdTP* z&N+4J)TvX|)m5i90^b9;mB8-+{sW+QqXL?FZB){jaR7rrJo+~~oisZA4F$?hphTv0 z!^@fj_CeP7xki&lYY|d0)H3soPWqizzdWNIF4$d~XOu^cf8wKo1oTGwLpAmbx1DnO z(-D`3&>9umr7J@J0oqFlt=$7)3?_1F9|!ONfO4|cy$9@NV0E7X=&u9#2EZu-zW{jE z<<^o!BQ) z)!m9e5XPoPKbm8OH?UFiQbVxWU(v_f(*h0JRo161j83jo zhpfz&Mr9-I11!)VX{{|bLe`}%jhyIiSp01ylh+-&O@o2AK+Rq>)d7S|ps9|hAWSUv z0`o#k6~x(=>J6ZrTw)msUpe>|LnSOs^g-2GfMq8)<`H z0F^CZMWuCBE6D6%J=V%di&jBqtl>d1p=f*g!tifEDBpd3(ie5GVhKpwn9n=_|0KYZ zSQ>d@MRL_u11ksCyEg#78oh@Juqj$M5x_(Q)o~NpJ>*#-LDxnHEDT5CUeEs!H3iQd zJ<)>QB4Kb%+ymf!a95Nf=piUR48bxS+!fU->OgD&@dhDcH6cRc+zaZluAeJ@*T=EC zxu+196~7Mv!Zswt+J{(T>$Oa~kO}X?bApNUL>Cr9#Zpk-0plx5JinP*`zNd)T4O%# zB=h3Q#v76VzyxpqyDdnf*Y1xs>-GX8j9%xi0(`cPS%(UYoQ!{+Q1$4n zI;2(PT7g1*r>d;hg+}w@ZXc-+P(?2>0EX{c#Wp1R4e~iu(cJ5<<%pX>?LV|GFEm(b1kEGe=E&+8pLw3a- zLx|X*rw^H}7;gF7AY{rGUA{-frm zj6%!|*pzi)4^#xhxpiUNxpmpq`&#k)5A95c=fj<6VM2wOIh(B*1+- z-vcNoS6vyfP$KeM17IG3egLim(3^e~@#*oPrso(m6Tn9VmH_yZz_kE6`2nm4upU6P zZWEyUN!kkFO9D>=Xr2UMAApMpybWMGfsX-%14!%y0M^R7p8?!OiiWQZKmENE1;87W z0pJ@1)#U>4n*fRd3?@(s;C2ALyVU|>vDXa-@Djtu0SF}9C7JRG4!OspFV(aA*fn|- z0#!NJBBb6L)D|6>!2m~-ag{z4jPsGAsax4wfRXMg{lQ2Xt z^S=vW^7;RS3gG?F(Ckm>k5aj`RU*1ODF|K+<-1!yw8f`(BJhe7E4kRH#0JlP#pp~9 zwWbu~+j70NqS)x>dgU|g$~+@zZ7(-6t>21`NTa2UGTF*0L6p_j*b;R59yqK%Wi$F& zvx<#W<5S=qnm^W$AEOFa){!%WB$OJ7xS=hr6!AA&gG!B#aodjITW75*MMrU|^;jvC z*l4{`iUH%cqY`mLJELW=29;2n@*Yl8UT;;lGjjEaHNG7Z&4>A=33#~+}Fu=g52hU<))J@i3?Toac_dsF3YHqv^ z^14Yswf#dN+usS-Vp_i!kIfqneQ^;Pb~^sRw}+S0+yxuf^17Pm2=D@%&r+-@Wk#Xi z+Pb+6W*BNcgMVooKUYocKU6ww-n8~_TR)Z=1?QC4fcjJbUjPWC zA=VGsn1Gk}_)m}yr6VjM2YX900Hgvqk3bH9nE-mX0U#aj3IMkbMGFK>gMXvBt7uQJNB0OUR058x*Ty$2wx z3Eorou~)-lx8uR_8EXciB>0j&fIu0L?FJy7ZHLQ#*$$B55pd>Y0-!5|oc&fuZDI1( zbwrrFbt3`bPm((Zj-Q#_r=CBZt`GP*8_qdW)L=3qS*avZbht z+lJs1`6nps|I{T!P;v;W82yE6F@7D)79-O#%8fMr3M&V#4%&k1awAJWV2v&}YFsJD zV{J)wAh{{xZaS{wdWN16_hqY11>zpHdRG`(Mi!J}gLH+kG_{tN8%3yqNrO`2K`MdT|xC45G(&|(KkWqB4HLDVD=p^grN+Ub-Vq}?3#r?>#^eken z%slJuN_1bB*bFBe25D^AmMpiDI~l>ApF%gbB|(fdq%C4^Rjsy}C;>NGJFASk=uj`tox|f^H|)&& zQGhsS(7CS!a(Xuk5a&=l_a5vy;kHFSSU`#(=ZHM>WgyN;ddc}fF2{5&ANO`3&Z&6e zXfKGEUZ0}zNoz$Brw`Tx;v9Ep9tGkYtYtdMQ8ubxXh&;+}057Y)s(Q zEQh-oqj-HvWmjVs?*7@@)#!zz_I~ba^ep(PU$W+XsedCbhs^eK>y3B+0>N_q+s6;F5x z7DdK|r($tsqwuew$A=rR6xkbo6qJPUJqR_zzu?yw?t$OLa0Y(;;f1rXp(p$T7GVa$ z@8j1De~aJbum^Ed!cFiS3>V`!6t3-#f2rZI_)QDX#&3G~Yy4(}-5N8Wh2JLO_V~>V z55R9$_#*r^4KKxSv+%9>4QuZCR*$|$MApD2&iD?QRBK?fS6B=B8f_z71DiPaH}nY; z6B8G$^`rO8L%$Li4+e-e=l#@57sXor7)z`DF2TGYnY-TjQ*C|7tU z-n_xqV*hwx8;;rW8&kHWFw?(;THK%IPly3EFp^MM%F$iKyEHo$1t^f5&DcU@*GyQ(c;cM0b4Z?t9%z;|kC!}SBu zEw11}d`a~+sOPAXes0D}8gz|dUOzWuB@Ko>5tiuZW~`(kXhMOR{wJ)r1{#?aao2%3 zT-hMo&&^m#BNUeF=Vq*=k&fEjjFmJ>VTCwtuX(-k&**U&TW{*ptCBSB*uOF6`vJ}f zeiq8mF1L{7B28U{zXq{oJhG*SU939IngQ>23Gj%k4VsSO#77WsF8Ei#^A}(NYOagw z3`9N7UoabcbX}D`Ok@&WI74fxcaY$>1xIj42~NpI@cG5X8qNl23-(%T(;%ZNx;_Ww zi6tP{3)}mG7nfj_jNo|@2?st{@Y%!{%m)87!S^T};nM|AXfDZM6ep<+5fq`<2>LtF z*6*VO6A8fuIk6ZEt7b^FYw{!+Y$_G>d!SmuA#`y1eT%^!9(|aLTOtbC=_zmF)(U?F zFp|KR02Tvii!4gj{Siy>zLWes=jv}HxLW0XN*o|d+-mH^r~ydta$ z6cIKKfGun(1g)j85w1q5wqk23g0dbZK*inz(8ggEStmddSw=o&MYXm~q2#ge(2Imw za94I$3hN146~YTE0SqM27Qjsaipf?o2pIHW)ECfaXo4DsbkzE7h=I zkkLOPdOkvr2>P?22t6vOzW~D6{_4jBZ$X?bu>OVM6~ObSW0U!p`kOwy3q)rFJt62a z37v#@=qtf@O7J8N_jZ%}d!oGk`Cnp|7KK0;0{yq3dx&B+>32HsGs|k@*4izDWv@ed zKLazcjOMZ|ZQ2_)Z6RnIY}!#pb2pj`uUPv{R{3zFS#%hivwL*C>>KC{#=0UD)883R z!*`D~f>S_LMt)H8xt_Qf`60odATCCJSnvbD#m0{a`lX<-;x<8Xsf4oeqx!KZY~EOK z1V1Lhr9j)wgF4LHR%n8}xfkKv-tH=!_`FS=OX5nK_`V{>c}FkOvXE(;{4YhOamrr- zZ3Bdse+Xa;060bT*R0_qjJ)=Jkt%E9Qn7Zl7})t268$z&(@p|KmCj=|y7ctP4(ZmT zBaD#V-FgWUhCj|q*jLwAH|D#p{-&3}nzNd~nyBu5Mf6ILn2^FAA;yIINsZ3drPKMN*#pxA`n~ffPoG=zwcX#o==RQj~{?la$Cp) zh=on}9;?YH_`8}|6{C!-P(?d58IICLOJJI4J8SAFqiNBN2$3f8RRU}xKRb(;ZTF9$ zNE2CTJu%A2*FDxJql^~QexX5r&>gW;%AoU|P4Nm#27jQPwt`lL#r!|8A^3&}*76H7 zyS-bhhW0;DdDptho%d1NPj}+We-nbbI8v|5!l>{XYsP4!py)>gh^}!RY+XwMoX!_@ z?FowLI?~!d+Gv_~4L|sKfw6oaeS=y!}!o)tin5jP2qOnGv8Fh&JN!-xM+CJ9E42-L?S>GddzV*Ra_V0j%BY%v|=+C$mMJuT#n5ukrqWgZ>zT^z3XWr}LT96QD7t^O@5* zT~tm5Nvd(R1`ki>@Gi=gSw7E-}=|){` zrI(YnDX`AzY%NzXa2rsq3u7I}vj;JIzJh^{enT;obgdhym)QP%Yk3i9|iW=SxtQ(bBV6*GhrNE@?_&&nq z75tR|o1cPScm*9!>7mttBCp^i0BGGOL(DO@?p;;_dIHZyh}S(TCEJ7P-vdTTzYo)Y zmeIOA1-_$rZX~a;4kT;;I-7MESuX^pbvXvM6j<-M80%=V{_3z!AZv1OmPZI|`FN08 z06uF5Y+-=b>qe_^f>Eo_vM!ro)I_hui|w9^`(wf2=7+Bz?FU%Jb^)jHBHUR`3~E?xpA zxx~QjTw*YAlJPYhDwXFehf1_VJRK@Obcm-zWxxe7hsu-UG*NdKc=sO`Ox<1JeKjr~ zYRTONyDt!jO3{VlQ2FXYaj4vJk#eZqKSdlWiBk>dER%5TERz+}jAr5oF-kvzj>->m zS9N?3>(^;UsT?-%D|%Z(c-VZ!bbC1K>-q$Wz=adKIh^(NI4BtJX1#8@3}^41Zd|9% zmG{>l_lsmXSKdFUAc>edSKdE3NicP;yno0c;Z*0!`_DR8-hbA)^8Vq+MW<{zSKdED zVd`9Y|44NB#V&HLynmEJd9M7kGmQ6J^T4P7j|2C6Kq(%$|J}U8nX-6^Y9MbD!Mm-(nb;sEm#CUm(=bAiBk0X) zrKT3(c?9O^Bj|~BIVQrrJYHQhyYg5e9?Q-{3e4^*?`Ag7r8j#}&)B*2jN3CFNyK}Y zP`u|V{N{%Ay;{Q?GmU=g#QNYFC)UF`R506UTSezkaPCeMBYT}4j8OCL$#93s2I;VD zkPgcR>9DgwIuVC3v}W2k)_%imqqyH2pqQZ%`w&fzwGWLP0FV`i$J&QRy(*YG);=`) zO0<)#6Fk;FH0D{sc&vR8T<-N&%4J4@Uyij8oln-lL95SYMrJRz454Ww(Jy6WZW9j8 zprXzR_Mur6;GAF|n){a2QgwoTXyFe~*VP;+*jrmK!~DVo>mQdH6*$V)JqJr?cvO98 zLKM;CJ)a;+IjTN%Qm1?sy?;FZwSocQT1sRAD|3% zJ%>lt#}FP>A47Oly@Nz^cvQWEGOJIcjhxh3yBe zE&KU*gN}ZF@gSF^^e6*QFr|FNG?Btps5eWV#SQ3V~h#7SWIjERuy}RZ-MYRHJ^XDEiVsZGp7fL1PYK*b<;NaW8L?*6txtsO@ej+NwJ% z!4=S7%j*v*Ybf-}E(Ye?fEFCK-kEO%qu(P&Eo8ilbXi6vg(z*e_?v-Eap4nss_b+p$7lfJ^o5KeK%Bmi(I3cHIC6$hdKic^BbCt`h;w{f zdK)0ld{X1O_PRc-QHs_VPo_o)q1g#3T6O|HMNLY9-H9^g6S@b;5^sver%45t%Ax7i zZdn-XP>sV!fgP&s*qBn&uDs5r&3wYGxqkZ4%36d8r=`~FMMg$wE7~g0iG8RyZcqHI z@8dPsFCSVv7a5iIjZrHQ;!-z8Z6dhM@+~$#(%UzDx!Ayl@tYd{wM2EgYOj!4tf#Nw zEY^mo-RCl1dS3cfY7)!X|1ZJRB$n}NvX>tXPGZfBN}ua+RQg=EEtNjkz$;asYt&WJ z=h}T$tj`rueJ)qPs<_7PbGb@c`O#_c9L?)dgGU*hNNvDWR zIz?pCDI$|j5t(#~$fQ$5CY>TO=@gMkr-)2CMP$+`B9l%LnRJTCq*FvDogy;n6j75- z5t(#~$fQ$5CY|6X$D|W3T|m)AWYQ@jlTHztbc!qmy;(#}I=SXs3zo+wo#N4EsYxgA z3Tx}~*re0VXpG`9=~Rf`o;~SA-x4|pm~{FR@iFO?y#njbTr*SPaQ_N*LytT<3tjd| zDPVWxB0}{!{6m|d?Nh~b3m{82yZRboB?KkS5p%B))^Scbnp zRF3+4Zxb}jznWtD@Ps?gu5Mw(zTXO#>;Dgh_ESRh{in#;UxgL=pCvXR2^~4y=kEWA z*uWye%KR;e4H_U=x&K=xKX`^Gk>bM!O15dL?yzELj~Fu9T{P=85~JZdH^FldKhY9=f&_-4V>OjuyZd4gdk>@swprV?wbNft9`R-f z*5x%&$s*ED&hJ|&NN37rDeF3t4FYqZ{aVYSm=PClQk z{)5)3)pmb5d74KmvDeSfcJhq=A{Z03nEXwirQX9t{}$vec`jd2&MxxCr{smo7$JX> zHFk~kmlv*){_^8%jGTV#FDFm94#G^&m(+(>J0)LxQ+4y0$CWU6rrtE3lgO`cH?6~?8e6s zcH`44-h%?VZhF`;Y0hqZdd1gD5q9I#E8<~zh+#KAy@FK|2)gm75%%I^A?(FFNW2xg z39kD~tyVV~k;G23(H1su3FlXf4c3U8jNX3nRXy#Z;qu#9kKANbbo-D@pSffv^a8?1 zT&yXr(2f7m#rL>%8#wy&<*265T|)t*udU&|#6DM%)7Z*ik7djaR^57|_mJmjA*7FM zVJ6~yF%xiK*J{Ey67J{PLYSvZqUXk{%VY*iGWp_XoalN7?_9pI2tOpJ)Ee38{^=B2o_r?rc9OAeD7nFZs1ZZ+Ou zltvfKfL30Y{`N2Es-M)f>FBuXpMar=_pTx2M^vhnAhs1pzt>d1Dv#h(m!mVo$9D+Wl?=KP4~I3_eEEH>u(qf{fUjGRHAQ= zqr~Srl_(wHDDk;YB^rpswfVWu@)|J^7<`+@1Y1B%&P`VMt;8qI#nj9(on`(E@b)|t zIg05#ru+d29XQe&gH$oD*ow|=N6xOi50!?W0_{7U=hc-T2d!y6R;7LjpoGBN00t6x z8Neh0I{_>OP~k+b{1KEpL8<%;z+(h>;@4aC?lP@14bV}NiUGI=xwTGJ1lHA6@sg;L z<4~Z0)^tIOasbuY)*lv*aw`Wu82ANH3-;7Y+i_T-4Z$f%+#1o|)s7>yImk#m8KLD5 zMa?T6V8{9|F^bNO;b9Codq+1xeh}|_44(8~^yBc4m*3I~#B69=z7jwUfvW(FBd`F# z9R#KW_;Qf7?-s0yF$W`y2SCUp@F{?v1il8amB2{=uM%*CfVBjw0K5XArto)U4$mwoSJ@xbzd+S$dVsVD&$Yuz9|L;IFwjd5oKjY;&PCvO zSn*zjvsNyKftP_c9W=RAh;!jjV=lbf{6pFQE#VyGTIA76bFJrY#Wu`*1bN%QIKSx` zs6XZRqw%RhI_0+km_T41fGY^B0Pq}v#Q^>Q(1j5zdDTPL;mFV)0OJX~2H(NDDHU`G&1Bpe}qqpHTIsja? zWn*-i>WTk3LziiZH{VWsb${Mjn7}P4H9UuvB&eHWp!(Jpo(_0G6yr z8VhO3;Q&?u7z-)#jxNDFs#Q-0`4%h*(&h@i9`j6iarIKIdNxAtMZmQxKrh!y7J#&a z!q!{S+l|ytvDbXOvMMvFth!Z%-wyusvT*E(Eqg9grf;D7QR^)TsE!Hfcdme?B4DSj zL+j?Mb*a)y_BuMeYvtSlUrbGy}1y7OJS@qpFz%+ECQ6R;V(? z^66ZzA3`DCj-o8SpZ$XsIzOM=iOYxYW0=cu&Rs2D)#{D5v=kII+uC!ie%rayBs-;>H{5Nc^%{#B#7uQp zagixIPo*;uLLL80>;2xj65qGZyBm{0m-FQ?R69*KHv5rZpbF_Zt(k5wkswN~|JEQ^_JjopkrR@1F3H{*p_4h8?0Jm#o8G9}fP z7PBeTs*fUHAHXc%B4wC{&1h+d|6NSkxnhQjm|8s>UEQeum#%X&UN7li|HYndFZxvU zzc>cgYV}5JKz`QsX)&gsg^9yv{b!Da!L)}lzSi}%F{ZDDi6d?OYmT(R6vwXhVO@VR z#&r0{_DqkXbNw(!=USb9grW|jxl(_lU`O5E8p{bp!GjdL(AvMnXdQit!e5fotos}L zj_^E6?mgh{E8P3Z{WEA%a&Li-5AfTtXUSkN{{$OWj|9LM;yeV}#;l$U8sDXPF&Z1Y z8m)Q(0$5lNGa!0yJ$HHkAzcb4pbCtTR(cg;ozucgFN69>F9Wj>)VWTle;G|=79uc5 zDHD*J^a8ZzGT3>N!;H?L^)Eu8KZ*eRO)04Yfnyx4kG_gB9+XkUuYaLwN62i-c`PR9 zLCSdww0;<_Jjl_???fJid9}N!Vv5b1L&V7;OPmC2$SpR}kgJ zHZ00TKx!_A*rj+TL2BRjtSy&kBi@ITFlMTri2&XuT!%mw=K^5!Kw~>t%2>$=q}33h zRo8&PH)-A(+#^AYfT{Xg>yrD7#?ei{pR~g)=$a*16Cd+n^SMM&llsH{Fr zf04xSX0v3tH$@*M=HaN4COU-->GROzR`wWmJRZ||=ffV-5{*JbRH&5$R|Ywc1{qEi z1{p_#+ybQJYX}pKT~^8cn9>Vbeeo|kItR&h*7;hLYr6JNu{pSI!zS(1Se$aR!dJ3H&KK@%roSrIj4FTdThshWS z1f194`lnuLKk6H`sv06D#u2Z%FEl~D)e3b^F>qznL(pOT{SN$H4` z-@t~q~I*4T%QO}fwe^I=*1b7HHShw8S?m=(WrCFU;Xud|*n^argsw&Cyz zSqGG3HQjFH+PkYRYlMDrb7wKooq{=wfz%Bi`GGao^zAY+_3?I@n6e&~iK)Jisfnp! zJ7i*N=MH18OBVhllm zf?>@My!l42wNOsNiUHx~VBU*Ij#n|)AZ786#?*!Kd>?+m^?tkwQWug}BTj6dmv5Yiz6<7tzY#;Qo%d{spj;DvVn zqPM%W`OnClC-$6KSJxz7Qsi1%0eI@e;BkB7*F5XhJf66zxWUcEnNZicGodG+HhRcR zsJnOtqR33ByJ{1`ZPuV?q~=xaR5fqIv$2}DV?&R`RIB+e>_IQG>UYH!pdCD`&S_}! zUCo_3mnRtO+}>SM=Zc?`I`_?UQs?g4t?Jx^d!)`K?KLL4^uE^27h-G9FfO&L-W@O4 zRnJ%SjSyM&A}`ui&)4-?6oFIqd_6uEOjSK!uTl;du>gow&sV1~R=w3P8k_Z8t7M;1 z-HZqMC+5E9h|UF;r!dSP-*2tlhm#FmsA^iya8|gSRr6rloSvvND2x~9g1zD+L{17N z*7*HcFmM8em)I>?Qq}^S5htnOO$!Q^7`T>FW++ZG z8sN27iL)%!Di^Lyh{t3#mmf6-bHsI+LT7JASX>hjk`fc=&cgq|HYl2Sxe}-aZlm}s z7{E8Wgla{pq$k6R)SFEu^HL$WunCUq(+<%jpD~(s?@LCoZY{x8N`e+Rv;f%ZL$bFi|e$DmthL?@ZvAdB!EoUi$bS)`6@s4dt&^U~jD)BBQ zMGHKMS2%Gq1E6u>bIQE$3BkO93B`StrKX zEd*B*mv?Nxgrd?gp{33u>xx~5a$9AT6CqNT9^ zz6>_d-_==MML#nuhji+pwd#+o!*3**`xQ*^6!QLx6*@E4W;eB2p)=Qo()V8>d`iM~ z3Kq$C3QyajL`vH%$-p!73-h}GH~Rd?`kgB6vvOWH>Kp&b^oOX}zca!}orW%ov#x&~ zzRpglIeHgeOt1*qrx|F1k1)IhQXRxBeJHvc74IlGM3>HFo=)j( z>GVh%dZO~NJ+&42YWJCh(TMF1QOYTTWtUp(-Y}Ys+e|qwJs)w}zYIN!&Lejt5nL2U zQ^c!MYeYt`SgLL7OE1J^S)yKRungO(I3dZWijyiqMUAY4H;t^ul12-?2x%1kP8+mT z#_wQte$xmK?Z*_Kml9-kTZ-0j8nUQgla6f|l8@(^k7q&aD4hm*$&;p_8-6MC^Aa<> z1ZV|Zd9R*?Mr)>6kG*N6O)jPWZ!^0uA-Kwf8Wc*L4zvR^b{pIKjzBA>;i`~3 zSn-E3aPOafO}~p#=K}3c@9js>wY&`@txx9V(fbh4gKtJ6a#I5aeZxMm^c)LP(k0l3 zF$h3^0<{390jMNb?M1*g1FM}4;3R+|pUsy>zNZmyB`d@DCj*~&}aDn z7Ue9pS>{pBzd$`Ia;~s8K~C{vk)w543$7g$^anW7E=3l+Fm!hUAppw&;IDeG_3b-2 zH02>H?p@3n4(DsxUtU+fI4u5MVAOe5j(U0ev*=wjowDvvt2YO#UYBq3(iTpO*;`7p?bpQ(H z02m730szt434rb*X*z%(0Q8;*pwD;sVD&?~WAW(2_3BI{?1e4^=R*3Q2%H5#>&q|B z#b7aupxzjLXH&2p1#KDG4gq)>KqW(K{{`#>uzvg&EDtqH zYIlP21t|Cv(I+8#L6ow;(Fed&EwYC#uw^eMK-q5qs9fO4{t1}K?zIrI=eTukEgq45 zH7Jhktqh>(U-SnZ(LW(v)DAAPMbBA;oyC>p6TQhGvNwXE%Q1-f%aMHu6i4>kAU;6Z z2`&%KO_S6vcGM<7wciI&Nj4GfUt)`%2%t-An4_CA2^xw!KyqYbLxc7TW&f^^cVzo7 zw`I2>K-m`os3e=nUIk3l-VUJ4Oh~vEkC^0RQ1I7}B{>d6x?|A$6qR$Ypx7uv`VgYr z`vFvvN94W%OyuT7A$KRDzwO994;1^aZz>{wi_H8=*%S5nW-v)F(B1$~&rSg1mI7!C z;3@$9n**pMZ|x932ST9LjtBG&0J}clXSF|ML=4ZBc3r*Cns~?vMKgd)V>1YK)l*w*?FDAa-0%D_b6 zT8jQgH^U+tC3Vr&w(L~|DEl)2mE;rIam#GkqX2Z-3K6g4k&?I>6i4<65FeoIU-W58 zHjH$QEjo_?MK1?XNj4?=8kke`-U@n`TrWQMctrLIP#oDwAnv8?1Q*YD6qAfx?x;;b z)CN#VHjy1#VT+yupvxSX*)LpDE6OJP7lnT!SC26t&$HgHT5mNa=#*AfQFcH z@U@f+m(1ID#TqRvH$>nG0AT?0lnA|DXRiBs1z)bt+?X-DGnf7FL)IA`a0S8Zib#cs zgfyK=@9GrM;v645##kVZt1~$a#Br>q^akSiJ(JsLAHk3=?doN8D`m(zPG6zdN7rNRR+kp{ zoLWD>{6k|om&qr6Wb}Xoa>z$UwRrzLr3X-^7ac!McDzgWmn@T zTkj0Mq|&DW=lowCR!J4lfYTdFs^NlfgAS{tZb}2qpu;MuR+W9d$Dqe5skcHK8T42s zUC3B)5gGJYB~5$IwgWv@Nj%LPVWvTcRnjc#q8wJAk$%{^Zk3pp(812jl#SJ9Z5-RsVy8y1|3OB>l8*ulJ)1;MtUzgjgszCF*JitqomCv;SpiE z(P@-)-#Ed%2AxJpTOEDrG)mfT>+6eJW4$h&FtG0R8=Mimvf-6)j0t+#X5=L;v={X=&OQAi7aU|Tz;U4d%XFMKs>K}w+>$z` zz0rvDIP75@`)|y0y}+24#{2QkV*Ax3MC}6mlmV5fXt;6#w`7LW7RQqw=l*#j*!DrS zF%BD2=u5VDC~Z|d>DYh=wwBqjYubG_W!D5md;$^q{m!FmMO%GZ+%iU8%cy(e84~AC z9EPa0Nm{3bd!SF8`wz5$E$gkww?k5cx%kp$Fq}qSC?{#T4FIuxE8q?I? z=cf8rYh1doTbAz{ysxtLIqoEw&)WaoF!Vd{qp{ihy=rWl{3wmh${(e%X`LCLWBu}@ zJ@Jw7QjKbHf^2aT_D@qSPLM55!mDdlixXU9_4r9zoF{&g7U$BRrNwFfi*iD@IVmm9 zjVIxRE(+j0HlvLGdau`4{5=NUsWUZSNlVxW4M~vqMfyq)BN){y;fR&UNOp+Wiq`mvXqS-QS!6kQ3xh<^EiSd9{ECg`vsL zV1Hf%!Mm-_r<_&pNmWfFcyj}72jT4x@`Cd~v122HSV>E(`R_)mNrMI2E6oyvxaPd>cjJn{q^>yWu6Ktd zWyWO<2Y)x7)T57JE^VeBSa||3O_0}|2Ub^01EK|a&3RxQ16<7ugS_TEu>O0oUU87u zoCj`RB`^1$oW6`GV5R6XX?p=Du~Jr5WTk z=jO}x=r!Y-^Wfw8!1iA*SXPkNoSUyin+Td62ePE9mL}Z32G~EP!1Z`sNRHb{L3m#g;NmY!h-88Afg<3X zyVSA-UUP1Ks3;z?oHDGezm4q4=l4axCn^BW^sSx4; z%dDPzEU7(7^_t0bQz0?PYZa4w_mHyEQm0*zxll{yYF1>;6TAy{O75#LZ}7dF*Z8uc zZAcr4ENY?q0A?i*$wZ48qmkj{ z>lJ1OTTqo7ROJr^-)RPHrNT0T7BjS(*if9H81zwxwE^gWS?b`ojJQsTi6qRVU2b9) z15Eq3`DS7%Y3jlbE}_EOc`>_XFg`N>zWMqd57 zBwMp!X#YMcbvrGfg&wxvars(CZ)I-f6=%b;i+R|jL=-0^5Ze+{tSsR^YI;vhv9g4# zSd;Em1iV3I2{)1BK1JXQq`9{;ulG}v&>v8DLh`n`aMnrlmc0GKp;G=@FpHW!$}Q!z z)-DU!W6G36gFBeZ9g8JwWN-&lc>GGi#%gAM5?+OXhcW}6fvCUkKbu&uxqUfuyl0Bc zAgY~~2`j9>+`hIrd8)|c8z^1tV9`OTDvg3$td$<0I*&5gH4e^VR$um-gFUhZ^8`0q zAA5W}kMdWK&pwYbRR4SiSv^5^kVAtS!CQ%rVUQi<(BQ8mEHTIqa%jk7f|o47cgPNSuEcMK zdlC7+TnX6CEq>{($%!K|Mx&R}QI5n&AF&E;e2|L>(?_ODbFT%t@GyPUO@euXT&tKq zx)0ofv~s|D-s=nL>#ajxpM3~M`uPkD9<-7YeCiO4^l7W*d*BUn5or31L=j~KxiBkz z);Cg(5`)~-mp=ETU}lh;`qCFFi-&?q*31MS55ZWK;Nu|}`xAWX5RCK*Tm={K+=nFP z5RCLI_kiHd%?N)nTmyu@|INIw}peCq=*C zIxo@JIS=E)IoX<1RfFIz9MHu-(&(b9ovZ&vGiF&eIq13JE-x;75p8hsx)TgffWtMwUx zuK=<2{rEWRYh^m{A>aka5QB{Ni3(a9{ZGnUs^qufm04_oy~zNY#XYeo`2&!WgwiJ83$G26%?-TDMwXQy)?5@BMDd@Uj? zy(b8JSF-2p8}YTll&_FBft67vAxJ+I;~ye{SAkfv6`|8wV!0#&alC^&8IB*V^a)TG zfQr-?SWN=HmQD6kc)-J6ZIOQcyNxiD3pWqgHd$i=P&<7QQVr`m`#LosGw1|UeJaP% zGAyZjSG%=#I4`le*tUw;uCs#WBA9B>PQS!72#N-4oHUBTP=-fO)g_}9rel9)y%!xu7()KI zki5PA>{niF3YBF3NP;ubPKFwGkkb2+wdg;H+>tp+L3kQd`5AGa{My3}id69c;xax} zB%g{K{hW~t*4UB12E(^_^e?n>{k~63%+*RB^a}llPRQ=tx_$t0D<$2x85QRUKFYe= zfF#u4cnH&PYVM@aK&~igRnu8!&+vV?gXnI2$@Tc>$obA1Yjm>js&4O5(t|Nc-%(Qk zTu0J_loVKt6|5sD>A^S{x)abYmz_Ub(;wj*IMr&F;+q}49&ajECy;-EA2k>`x)F@} z;ues_@shrPkq?1ZC0SWS*35NS!OuOIH-HV3ardlqX;tHy)U^yAjo{K{5VsRGwd6(s z`&p5po_a}HopE@XR&u))2>QbMeOB9`uQ6^=>K*ho^}P=M-x=|HKe|}HjOec*c(I^= zVxCj0c&-ZST8RdA8M63)gct}(LkRb}INYX9+j0gi1GHT5HJm|fX476%v?!A*%>}U( zjHN{Yc-2s8IRMeK4}kulWWpH8pxzD%#<_RFCUXAH5;-)5CQ_%y5YkG9BGPDzQITv{ zZ^^~Btcy;|ik>NK)qfLKFvk{#)E%F3GCVX=JSiyvLRur1XeWI#%X^AG5+-GNFF;A@ zeza#n^tKSrU&a-Yr8$1P~Sj4g7b$L

+cA}S-$IQ0AgSG5Y>F^fH@0o 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

QIspzYs_FevMov6aspG`6mk)TWP1>IC}W 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

v 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 delta 645462 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Ēa`2aWh1fZ#Gx`R^6!8{Y1M!0xJb-ch_&3V8 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ì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 d` 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 QMkdC+Llns!RHuLZKiige(EtDd diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex index 7edaa734..876ec3f0 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.hex @@ -13,10 +13,10 @@ :1000C000750F0000750F0000750F0000750F000020 :1000D000750F0000750F0000750F0000750F000010 :1000E000750F0000750F0000000000000000000008 -:1000F00000000000711C0000750F0000750F00006B +:1000F00000000000591C0000750F0000750F000083 :10010000750F0000750F0000750F0000750F0000DF -:10011000750F0000750F0000CD1E0000E11E0000ED -:10012000F51E0000091F0000750F0000750F00008C +:10011000750F0000750F0000B51E0000C91E00001D +:10012000DD1E0000F11E0000750F0000750F0000BD :10013000750F0000750F0000750F0000750F0000AF :10014000750F0000750F0000750F0000750F00009F :10015000750F0000750F0000750F0000750F00008F @@ -28,7 +28,7 @@ :1001B000750F0000750F0000750F0000750F00002F :1001C000750F0000750F0000750F0000750F00001F :1001D000750F0000750F0000750F0000750F00000F -:1001E000750F0000750F0000750F000091210000D1 +:1001E000750F0000750F0000750F000079210000E9 :1001F000750F0000750F0000750F0000750F0000EF :10020000750F0000750F0000750F0000750F0000DE :10021000750F0000750F0000750F0000750F0000CE @@ -38,11 +38,11 @@ :10025000750F0000750F0000750F0000750F00008E :10026000750F000010B5054C237833B9044B13B15A :100270000448AFF300800123237010BD78000020F4 -:10028000000000003C9A02000C4B43B10C480D49A1 +:1002800000000000249A02000C4B43B10C480D49B9 :1002900010B5AFF300800C48036823B910BD0A48BD :1002A000036833B97047094B002BF7D0BDE8104005 :1002B0001847064B002BF5D0184700BF0000000080 -:1002C0003C9A02007C0000203C9A020000000000E2 +:1002C000249A02007C000020249A02000000000012 :1002D00070B500BF8C4C1026A66132208B4DA8470C :1002E000666100BF3220A847A6613220A84700BF40 :1002F000402666610A20A847A6610520A8476661D6 @@ -56,10 +56,10 @@ :100370001420664B984765616561654B1B7823B90E :10038000202262610122624B1A70E22261496248B6 :10039000624B98475C4B40229A615A615C4B1B78D8 -:1003A0002BB12022584B9A610022594B1A702322FC +:1003A0002BB12022584B9A610022594B1A702F22F0 :1003B00058495948594B9847534B40229A615A61C2 :1003C000534B1B782BB120224F4B9A610022504B8C -:1003D0001A7002224F495048504B98474A4B4022CE +:1003D0001A7003224F495048504B98474A4B4022CD :1003E0009A615A614A4B1B782BB12022464B9A6185 :1003F0000022474B1A70542246494748474B9847BA :10040000414B40229A615A61414B1B782BB9202203 @@ -77,14 +77,14 @@ :1004C000A5610120114B98476561114B1B7823B939 :1004D0002022626101220E4B1A70E6220D490E485D :1004E0000E4B9847084B40229A615A61084B1B7883 -:1004F0002BB12022044B9A610022054B1A70042272 -:10050000044905480EE000BF0080004121150000AD +:1004F0002BB12022044B9A610022054B1A70012275 +:10050000044905480EE000BF0080004109150000C5 :1005100000000020F7C3031C808000414110000050 -:10052000011500008A4B98478A4B40229A615A6114 +:10052000E91400008A4B98478A4B40229A615A612D :10053000894B1B782BB12022864B9A610022864B77 -:100540001A703A2285498648814B9847814B402250 +:100540001A70CC2285498648814B9847814B4022BE :100550009A615A61804B1B782BB120227D4B9A61A6 -:1005600000227D4B1A70B6227C497D48784B984713 +:1005600000227D4B1A70CC227C497D48784B9847FD :10057000784B40229A615A61774B1B782BB9202225 :10058000744B5A610122744B1A70B022734974483B :100590006F4B98476F4B40229A615A616E4B1B78A4 @@ -116,7 +116,7 @@ :10073000084B9A610022084B1A7055220749084855 :10074000034B9847034B40229A615A6110E000BF67 :10075000411000000080004100000020F7C3031C8E -:1007600080800041E10E0100ED0E0100150F010037 +:1007600080800041C90E0100D50E0100FD0E010080 :100770008A4B1B782BB92022894B5A610122874B67 :100780001A70B42287498848884B9847844B402286 :100790009A615A61814B1B782BB12022804B9A6160 @@ -203,7 +203,7 @@ :100CA000411000002DE9F84FB1F90430002B0FDBA3 :100CB00081468A461546B1F90630002B08DBB1F9AA :100CC0000040044B9847044B98470138844205DDA7 -:100CD000BDE8F88FE10E0100ED0E0100BAF9024007 +:100CD000BDE8F88FC90E0100D50E0100BAF9024037 :100CE000944B9847944B984701388442F0DCBAF90A :100CF000006026EAE676BAF9024024EAE474A346E4 :100D0000BAF904708B4B98478C4B9847013887424F @@ -241,11 +241,11 @@ :100F000048B0DFF854A033462A4659460F48D04728 :100F10003D44013424B2A045F5DA4022084B9A61E1 :100F200048460C4B9847D3E6024B9847034B9847EB -:100F3000471EF1E6E10E0100150F0100ED0E010064 +:100F3000471EF1E6C90E0100FD0E0100D50E0100AD :100F40000080004100000020F7C3031C80800041A6 -:100F500041100000AD0F010079100000034B9847CD -:100F6000034B984700F1FF38E2E600BFE10E0100B5 -:100F7000150F0100FEE7000008B51C4B1C4A9A4201 +:100F500041100000950F010061100000034B9847FD +:100F6000034B984700F1FF38E2E600BFC90E0100CD +:100F7000FD0E0100FEE7000008B51C4B1C4A9A421A :100F800010D01C4B194A9A420CD2013B9B1A23F0F9 :100F9000030304331344164951F8040B42F8040BBD :100FA0009A42F9D1144B154A9A420AD2013B9B1A34 @@ -253,10420 +253,10418 @@ :100FC000FBD10F4B0F4A22F07F029A60D3F88820A2 :100FD00042F47002C3F88820BFF34F8FBFF36F8FC6 :100FE000094B9847094B9847FEE700BF00000020D7 -:100FF0003C9A020074000020046E0020780000205B -:1010000000ED00E00000000095B40100B1210000F7 +:100FF000249A020074000020046E00207800002073 +:1010000000ED00E0000000007DB401009921000027 :1010100010B4530003F47C73540104F4703423437C :1010200002F007042343520302F0E0521A4302EA9B :101030000103836121EA020141615DF8044B7047BD -:1010400010B540240A4B5C610A4B9847082300BF47 -:10105000013BFCD18022064B5A61082300BF013BB3 -:10106000FCD1034B80229A6140229A6110BD00BFDF -:1010700000800041111000008BB12DE9F0410F46B6 -:101080000646144602EB4305DFF8148034F8022BC1 -:1010900039463046C047AC42F8D1BDE8F0817047D0 -:1010A000411000002DE9F04F83B08B4600924001C3 -:1010B000C3B201930026DFF8949165E009EBC713F2 -:1010C0005D60AAB242F080429A622A0C42F040422D -:1010D0009A62009B1B78012B77D023B3022B00F080 -:1010E0008480892257490020574B984724E009EB18 -:1010F000C7125560ABB243F0804343F400339362B0 -:101100002B0C43F0404343F400339362E1E709EBD7 -:10111000C7139D60AAB242F080429A622A0C42F044 -:1011200040429A62D5E709EBC713434493F8402045 -:1011300002F0FB0283F84020009B5A686409B2F178 -:10114000FF3F62D0E4B209EBC411414491F8403052 -:1011500003F0FE0343F0010381F840301AF0010F61 -:101160005ED109EBC41404EB580898F8303003F052 -:10117000F00302F00F021A4388F8302009EBC7177A -:101180007D610136202E59D0F4B22BFA06F313F00C -:10119000010FF6D004F01F04019B1C445FFA84FA8F -:1011A0004FEA5A170AF01F08012505FA08F5009BB7 -:1011B0005B78012B9BD0002B80D0022BA7D046223E -:1011C00020490020204B984783E7012303FA08F3C6 -:1011D00009EBC712536002EB080090F8401041F091 -:1011E000040180F840109361A6E7012303FA08F395 -:1011F00009EBC712536002EB080090F8401041F071 -:10120000040180F84010536196E7E4B209EBC4147E -:10121000A04498F8403003F0FE0388F84030ADE772 -:1012200009EBC41404EB580898F8303003F00F03AE -:1012300043EA0212D2B288F830209FE703B0BDE83B -:10124000F08F00BF30B50100D519000000800041CB -:1012500070B582B00023009302238DF801304FF067 -:10126000FF3301936A463F4901203F4B98473F4B6C -:1012700040269E603E4A9A624FF040429A6293F83E -:10128000461001F0FB0183F8461093F8461001F078 -:10129000FE0183F8461010259D60364999629A62D6 -:1012A00093F8441001F0FB0183F8441093F84410C4 -:1012B00001F0FE0183F8441008249C602E499962D5 -:1012C0009A6293F8431001F0FB0183F8431093F8FE -:1012D000431001F0FE0183F843102021996001F1D1 -:1012E000804199629A6293F8451001F0FB0183F8FE -:1012F000451093F8451001F0FE0183F84510802059 -:1013000098601E4999629A6293F8472002F0FB02A6 -:1013100083F8472093F8472002F0FE0283F8472025 -:101320004FF48072C3F8842101F500318031C3F895 -:10133000A8111349C3F8A811C3F8842193F8C81160 -:1013400041F0040183F8C811C3F8942193F8C8212F -:1013500002F0FE0283F8C8219E619D619C61986144 -:1013600002B070BDF7C3031CA5100000008000414F -:101370004000004010000040080000408000004095 -:10138000000002C07047000008B50649D1E90023FB -:10139000013243F10003C1E900230120024B9847C9 -:1013A00008BD00BF980000204510010010B511488D -:1013B000114B9847114A536943F4804353614022CB -:1013C0000F4BC3F8A4200F4B98470F4C02460F4910 -:1013D00020460F4B98470F4901230B610E4A4A6183 -:1013E0000B76083120460D4B984720460C4B98470A -:1013F00010BD00BF10E000E0ED1400000008004048 -:10140000001C00404B210000046C0020003800400C -:10141000491600009800002089130000C116000042 -:101420008516000030B583B01F4B4022C3F8DC2086 -:101430004322C3F88C201D4A936943F400739361DF -:101440001B4C0023009310231A4A1B4920461B4DB6 -:10145000A8471B4B93F8D82002F0FE0242F001028D -:1014600083F8D82093F8BC2002F0F00242F0030287 -:1014700083F8BC2093F8D92002F0FE0242F001026A -:1014800083F8D92093F8BC2002F00F0242F030021A -:1014900083F8BC2020460B4B98470C220A49204673 -:1014A0000A4B984703B030BD001C004000080040C4 -:1014B000206C0020B4000020002001411919000018 -:1014C00000800041A919000004000020411500001F -:1014D000EFF31083036072B6BFF35F8F7047BFF303 -:1014E0005F8F036883F310887047000008B5024BD4 -:1014F0001860024B984708BDC4000020891B0000FB -:1015000010B5044B1C68044B984701462046034B1A -:10151000984710BDC4000020511B0000911B000023 -:1015200010B5044B1C68044B984701462046034BFA -:10153000984710BDC4000020691B0000911B0000EB -:1015400070B50D461646044660B1081C18BF012050 -:1015500034220549054B98472368324629462046E0 -:10156000984770BD0020F3E74CB50100D519000085 -:10157000F8B5844607682FB18D683C460026C2F155 -:10158000010E0BE00E4B9847F8BD7344A06803446E -:10159000AB420AD22368264653B11C466368934285 -:1015A000F3D8A06803449B1AF2E7A74204D034465C -:1015B0002046044B9847F8BD6046014B9847F8BD5C -:1015C000FD190000291A00002DE9F0474469076958 -:1015D00001370761037E13F0010F13D1037E13F06F -:1015E000020F0FD154B36368FB1AA268934207D36A -:1015F000064600F11408DFF84890DFF848A012E032 -:10160000BDE8F087037E43F002030376BDE8F08770 -:101610007569E3682046984785B12C466B68FB1ACC -:10162000AA6893420AD34046C847237C012BEFD1D6 -:1016300067603A4621464046D047E9E7BDE8F08773 -:10164000311A00007115000038B50D46044678B116 -:10165000081C18BF01203B220649074B9847294622 -:101660002046064B984700202061054B236038BD7B -:101670000020F0E760B50100D51900007D1F0000D3 -:10168000C915000010B5044653220949003018BF9F -:101690000120084B98472046074B984720B9204621 -:1016A000064B9847002010BD6FF0100010BD00BF22 -:1016B00060B50100D5190000392100002521000086 -:1016C00070B582B00D46044618B3081C18BF01203F -:1016D0007A221E491E4B9847237E43F0010323764E -:1016E00004F11406294630461A4B984798B92369E5 -:1016F0006B60226929463046174B9847237E03F0DA -:10170000FE032376237E13F0020F10D1002002B0D7 -:1017100070BD0020DCE7237E03F0FE0323767F22EA -:101720000A4900200A4B98476FF01100EFE701A823 -:101730000A4B9847237E03F0FD0323762046084B8F -:10174000984701A8074B98470020E0E760B50100E3 -:10175000D5190000DB19000071150000D11400003C -:1017600051210000DF14000008B500238362C36923 -:101770001BB1A0F108021046984708BD08B5002328 -:101780008362436A1BB1A0F108021046984708BD66 -:1017900038B50446A0F108052C30034B9847236A5E -:1017A0000BB12846984738BDD11A000070B50E46D7 -:1017B00015460446E0B1E9B1101C18BF012040F203 -:1017C0003B120F490F4B9847B4F84420B4F84C3003 -:1017D0009A4211D1A664A4F84C500023A4F84430D6 -:1017E0000123236304F10800074B9847284670BD86 -:1017F0000020E4E70020E2E76FF01B0070BD00BFAF -:1018000078B50100D5190000BB1E000010B50446D4 -:10181000838FB0F844209A4209D0026C591C81870A -:10182000D15C044B98472046034B984710BD034BAF -:10183000984710BDB51E0000BB1E0000C31E00006F -:101840002DE9F04782B00F4690460646A0B199B107 -:10185000002A2DD14FF4AC7229490020294B98471A -:1018600001A8294B984706F13400284B984701A856 -:10187000274B984700253EE04FF4AC7220490020EA -:10188000204B984701A8204B984706F1340A504650 -:101890001E4B9847814601A81D4B9847B9F1000F90 -:1018A00004D0B8F1000F19D1002524E0002522E072 -:1018B0004FF4AC7212490120124B984701A8124B09 -:1018C000984706F1340A5046104B9847814601A8C4 -:1018D0000F4B98470025B9F1000F0CD000240D4E96 -:1018E000601C85B239195046B04701344C4502D2CC -:1018F000A3B29845F4D8284602B0BDE8F08700BFEF -:1019000078B50100D5190000D1140000111B0000AA -:10191000DF1400008D1A0000F8B50D4616461F466C -:10192000044620B329B332B3181C18BF01203A2251 -:101930001349144B98473A46314604F13400124B90 -:101940009847D0B9294604F10800104B9847034640 -:1019500058B90F4A62600F4A22600F4AA2600F4ACC -:10196000E2600F4A22610F4A62611846F8BD00200A -:10197000DDE70020DBE70020D9E76FF00C03F4E798 -:1019800078B50100D51900003D1A00001D1E0000A9 -:1019900041180000AD1700000D180000911700005D -:1019A000691700007D17000010B504466122064942 -:1019B000003018BF0120054B984704F10800044B84 -:1019C0009847002010BD00BF78B50100D519000070 -:1019D000A11E000000B900BE704703684BB18B42E6 -:1019E00009D01B681BB19942FBD101207047002030 -:1019F00070470020704701207047000038B504464A -:101A00000D46064B984780F0010039220449C0B2C8 -:101A1000044B984723682B60256038BDDB19000014 -:101A200098B50100D519000003680B60016070478C -:101A300003680BB11A6802601846704770B50E460D -:101A40001546044678B181B1A2B1012028220D4982 -:101A50000D4B98476B1E1D4209D163600020A060AA -:101A6000E060266070BD0020F0E70020EEE76FF038 -:101A70000C0070BD282203490020034B98476B1EC1 -:101A8000EBE700BFB8B50100D519000038B50D4629 -:101A90000446A0B1081C18BF012040220A490B4B84 -:101AA0009847A368E2689A420BD0626813402268A4 -:101AB000D35C2B70A3680133A360002038BD0020E5 -:101AC000EBE76FF0090038BDB8B50100D51900008B -:101AD00038B50D46044651220B49003018BF01208D -:101AE0000A4B9847E368626813402268D554E3685C -:101AF0006168A2689A1A8A4284BF591AA1600133A8 -:101B0000E360002038BD00BFB8B50100D519000062 -:101B100010B5044667220549003018BF0120044B68 -:101B20009847E068A368C01A10BD00BFB8B50100AF -:101B3000D5190000430900F01F00012202FA00F04D -:101B40004033024A42F82300704700BF00E100E042 -:101B5000C0EBC00000EB00100230024BA3FB0030D2 -:101B600040087047ABAAAAAAC0EBC00000EB001067 -:101B70000230044BA3FB003040084FF47A7303FBA0 -:101B800000F07047ABAAAAAA70470000000000004E -:101B90000139FDD8704700BF08B5094A13889BB2C8 -:101BA00043F4A0631380074B9847074B9847074BB4 -:101BB0009847074B984740F6FF70064B984708BD7B -:101BC00000400041091C0000291C0000FD1B000012 -:101BD0002D1C0000D91B000010F0010F08D0054A91 -:101BE000054B1A62194643F6FD724B681342FCD14D -:101BF000704700BF07010100001C00400122014B9B -:101C00005A71704700080040064B42F28E329A82A9 -:101C100000229A75DA75DA6902F47C52DA610122DF -:101C20001A74704700140040704700000E4A0F4BB2 -:101C30005A631A46D36B13F0060FFBD10B4B4FF4CC -:101C400002629A63022283F830201A46D36B13F0A3 -:101C5000020FFBD1054B1A6C12F0010F03D11A6C65 -:101C600012F0020FF7D070474D0E01000010004037 -:101C700000B583B00D4B9B78DBB20193019B13F051 -:101C8000020F06D00A4B1B681BB1084A50689847E0 -:101C900009E0019B13F0010F05D0054B5B6813B100 -:101CA000024A5068984703B05DF804FB0000024107 -:101CB000706C002070B489B006466C460D4D0FCD97 -:101CC0000FC495E80F0084E80F00009BB3420DD0CD -:101CD000314601AB012053F8042B8A4207D0013072 -:101CE0000828F8D1002009B070BC70470020C0B2AD -:101CF000F9E700BFDCB5010010B58469237E13F05D -:101D0000010F03D0A37D13F0010F12D1237E13F036 -:101D1000020F03D0A37D13F0020F0FD1237E13F027 -:101D2000040F15D0638B03F0370363B1FF23638384 -:101D300010BD012323750368984710BD0223237546 -:101D40008368984710BDA16A4368C9B2984710BD1F -:101D5000237EDB0900D110BD80232376C36898471A -:101D6000638B9BB26383F6E708B5034B984780000B -:101D70002E3000F0FE0008BDB51C000010B5044672 -:101D8000214B9847022805D040F26B221F490020C2 -:101D90001F4B9847E36913F0010F19D1E36913F062 -:101DA000030FFBD1236813F0020F0BD0236823F03D -:101DB00002032360E36913F0030FFBD1E36913F01F -:101DC000020FFBD105232360E36913F0030FFBD15E -:101DD000E36913F0010FFBD10E4B2360E36913F0AD -:101DE000030FFBD14FF440336360E36913F01F0F1F -:101DF000FBD1094BA3604FF61143A3810020A073D0 -:101E000084F8300010BD00BFB51C000014B60100FE -:101E1000D5190000040010400200700070B50D4696 -:101E20000646CB221849003018BF0120174B9847AF -:101E30002846174B9847044608B1204670BDB56147 -:101E4000144B9D4204BF144B1E602846134B984709 -:101E5000011DC9B2012500F01F0205FA02F2430973 -:101E60009B0003F1604303F56143C3F88020BFF397 -:101E70004F8FBFF36F8FC3F880211A600130C0B25B -:101E80008142E8D1D9E700BF14B60100D51900009E -:101E90007D1D000000200141C8000020691D0000D8 -:101EA0008269136843F002031360D36913F0030FD0 -:101EB000FBD17047836999627047836901229A75E3 -:101EC0007047836902229A757047000008B5024B7B -:101ED0001868024B984708BDC8000020F91C000094 -:101EE00008B5024B1868024B984708BDC80000208F -:101EF000F91C000008B5024B1868024B984708BD52 -:101F0000C8000020F91C000008B5024B1868024BFD -:101F1000984708BDC8000020F91C000070B588B0C3 -:101F200006466C46124D0FCD0FC495E80F0084E8AD -:101F30000F00009BB3420BD0304601AA012352F898 -:101F4000041B814205D00133082BF8D100200BE09F -:101F5000002313F0FF0F09D04FF49E7205490020B3 -:101F6000054B98474FF0FF3008B070BD0020FBE7ED -:101F700030B6010064B60100D519000070B5064600 -:101F80000C460846604B98470546F4608D225F4931 -:101F900001205F4B9847236913F0010F19D1236982 -:101FA00013F0030FFBD1236813F0020F0BD023684B -:101FB00023F002032360236913F0030FFBD123698D -:101FC00013F0020FFBD101232360236913F0030FE9 -:101FD000FBD1236913F0010FFBD105EB85034D4ABB -:101FE00002EB83035A6A2260236913F0030FFBD1CB -:101FF00005EB8503474901EB830393F82A10E1734E -:102000001B8DE3800123237302F00C02082A48D0C1 -:10201000002A58D105EB85033E4A02EB83039B8DD2 -:10202000A383236913F0C00FFBD10023E38323694B -:1020300013F0C00FFBD101236372374B9C4204BFE6 -:10204000364B1E6005EB8503324A02EB8303B3F97E -:102050002230002B23DB5A0903F01F03012101FA70 -:1020600003F320322E4941F82230BFF34F8FBFF3E4 -:102070006F8F05EB8505274B03EB8505B5F92230FE -:10208000002B0CDB590903F01F03012202FA03F3B2 -:10209000234A01F1600042F8203042F8213000204C -:1020A00070BD05EB85031B4A02EB8303DB6AE3612A -:1020B000236913F0C00FFBD100232362236913F0BF -:1020C000C00FFBD1B7E7042AB5D105EB8503114A50 -:1020D00002EB830393F82C302377236913F0C00FAE -:1020E000FBD100236377236913F0C00FFBD105EB0D -:1020F0008503084A02EB830393F82B30E3762369C8 -:1021000013F0200FFBD196E71D1F000064B60100FD -:10211000D519000030B6010000380040CC00002086 -:1021200000E100E0C268136843F002031360136922 -:1021300013F0030FFBD17047C268136913F0030F4C -:10214000FBD11068C0F340007047002070470000CA -:1021500010B5C068094B9847044640F20F12084971 -:102160000120084B984704EB8404074B03EB8404DD -:1021700094F82200054B984710BD00BF1D1F0000BA -:1021800064B60100D519000030B60100351B00000F -:1021900008B5064B1868C3689A7A12F0010F00D18F -:1021A00008BD01229A7203689847F9E7CC00002025 -:1021B00008B5024B9847024CA047FDE7C521000037 -:1021C0009922000030B58DB01E4B98471E4B9847A2 -:1021D0001E4B98471E4B98471E4B98471E4B9847DF -:1021E0001E4B98471E4C4FF4965300221D49204623 -:1021F0001D4DA84701A81D4B98471D4B0493029401 -:1022000001A81C4B984700201B4B9847054600210E -:102210001A4B984704461A491A4B98470022114610 -:102220002046194CA04700212846184B98470546E0 -:1022300023225A21A04716492846164B98470DB02D -:1022400030BD00BF991B000025140000851300005D -:1022500051120000AD13000069280000D1020000F7 -:1022600050260020D0000020710D0100110D01004A -:10227000A50C0000910D01004D2300006D98010098 -:1022800078B60100119601003D34000005AB010055 -:10229000E03B020005A8010008B50120024B984769 -:1022A000024B984708BD00BF21150000CD37010043 -:1022B000003018BF01207047F0B5C3B00546144682 -:1022C0001C4B9847E5282CD8064602AF0246294603 -:1022D0003846194B9847BD192023BB5528236B70EE -:1022E0003023AB707823EB70291D1C22134824FA8D -:1022F00002F303F00F0303441B7D01F8013B043A92 -:1023000012F1040FF3D129232B7300236B7302AB5B -:1023100000930B4BBC220B4903200B4CA04743B04E -:10232000F0BD0095064BBF2206490320064CA0478E -:10233000F5E700BF1FB5010055260100EC3B020088 -:10234000143C0200283C02005D22010008B1C06B71 -:10235000704710B582B0084B984710B1C06B02B0FF -:1023600010BD064B0093064B2E2206490220064C58 -:10237000A0470020F3E700BFE10E0100043E020089 -:10238000303D0200D83D02005D22010008B1006C22 -:10239000704710B582B0084B984710B1006C02B07E -:1023A00010BD064B0093064B4B2206490220064CFB -:1023B000A0470020F3E700BFE10E0100403E02000D -:1023C000443D0200D83D02005D22010008B1406C8E -:1023D000704710B582B0084B984710B1406C02B0FE -:1023E00010BD064B0093064B5C2206490220064CAA -:1023F000A0470020F3E700BFE10E01007C3E020091 -:102400005C3D0200D83D02005D220100A0B138B55C -:1024100003460024094D93F8342002F02002002ADC -:1024200018BF1C461846A84703460028F3D114B12C -:102430002046034B984738BD704700BF7D2C0000F5 -:10244000B53300002DE9F84F037D13F0010F2AD1B9 -:1024500017468A460646C4684FF001090025DFF892 -:10246000C480AB464AE0337D13F0100F00D1D5B9DC -:10247000B9F1000F17D03046D0470446002D35D0B3 -:10248000D94646E0F368A3420DD093B11868C369FA -:10249000002217219847F36800220E2118681E4B6E -:1024A0009847012801D0BDE8F88FF36818681B4BE6 -:1024B0009847F4602068C369002216219847F368A2 -:1024C00000220D211868144B98470128EBD1F368BE -:1024D0001868134B9847F3681868104B984733698E -:1024E000002BE0D030469847BDE8F88F0028DAD0BE -:1024F0000546D9462068C0470028C3D0002CB2D07A -:10250000002D08BF254621463046B8470446A8425C -:10251000C9D0002CEED1F1E7CD2A00002133000014 -:102520000D240000A531000008B518210148024B18 -:10253000984708BDEC6D0020F91E010008B5024A5D -:102540000249034B984708BDBD1F0100A91F0100A8 -:102550004524000008B5024A0249034B984708BDCC -:10256000E91F0100B31F01004524000038B50446EF -:10257000037DC3F3001543F01003037513F0080F38 -:102580000CBF044B044B9847237D65F3041323755C -:1025900038BD00BF3D2500005525000000284FD064 -:1025A000F0B583B005460C460746264B98470146D2 -:1025B000A0B103689C4207D0234E3846B04701467D -:1025C00060B10B68A342F8D1204B0093204B7522D9 -:1025D00020490120204CA04703B0F0BDA36B73B18C -:1025E00020461E4B984750B1A06B1D4B98471D4B82 -:1025F0000093174B7F2217490120174EB047A56360 -:102600002846194B98470646184B984758B1002E54 -:10261000E2D0346028460B4B98478642DCD12846EE -:102620000F4B9847D8E70A4B0093852209490320AE -:10263000094CA047324600230D480E498847FEE763 -:10264000704700BFA91F0100BD1F0100E83F020045 -:10265000983F0200AC3F02005D220100F94F0000EC -:102660006D250000244002005D1F0100B122000022 -:10267000D83F0200B92200002DE9F041D0F838809F -:10268000B8F1000F51D0D8F80C30002B4DD00546D2 -:102690001B6898421ED046464046254B9847044644 -:1026A000002842D003689D4209D0224F214630467F -:1026B000B8470446002838D023689D42F6D1214609 -:1026C00040461D4B984720461C4B98470023AB6360 -:1026D000BDE8F08198F8143013F0010F05D098F898 -:1026E00014306FF3000388F814304046104B9847BD -:1026F000D8F80C3083420BD04046114B9847D8F89D -:102700000C301B689D4204BF0023C8F80C30C2E7A0 -:1027100040460C4B9847D8F80C309842ECD10068F2 -:10272000C369002217219847E9E7BDE8F08100BF9F -:10273000A91F0100BD1F010095200100C524010053 -:102740006D250000B31F010018B1C3681BB11868E4 -:102750007047002070470020704718B1007DC0F31B -:102760004000704700207047014B5868704700BF19 -:1027700074260020F8B5B0B1034690F8502042F01E -:10278000020280F85020184A5268904204D039B1B1 -:10279000DA6B914204D0F8BD0020134A1060F6E7CE -:1027A0000022DA63F8BD0C460020104B9847034620 -:1027B0000028F0D00C4D00270C4E05E0DF631846D2 -:1027C000B04703460028E6D093F8502042F00202BA -:1027D00083F850206A689A4208BF2F60002CEDD021 -:1027E000DA6B9442EBD1E9E7742600202110010056 -:1027F00008B500210846014B984708BD7527000021 -:10280000014B1868704700BF742600202DE9F0477F -:102810008946904600F1040A5046114B9847E0B1B2 -:1028200004461FFA89F61FFA88F50E4F238A3344AF -:102830002382638A2B446382A38A3344A382E38A7C -:102840002B44E382424649462046FFF7DFFF2146FC -:102850005046B84704460028E8D1BDE8F08700BFDD -:10286000A91F0100BD1F010030B585B0214B1B78A9 -:10287000002B36D1204B9847204B9847204B984748 -:10288000204B9847204B984710212048204CA047C8 -:10289000204B02930193009302224FF01F014FF649 -:1028A00000001D4DA8471D4B98471D4B98474FF4FE -:1028B000B8711C48A04760211B48A0471B4B984794 -:1028C0001B4B984701201B4B98470120094B187060 -:1028D000194B0093194BA22219491A4CA04705B075 -:1028E00030BD194B0093154B782215490220154C29 -:1028F000A047F4E77C260020BD230100ED35010050 -:10290000791C01009D120100292500003C6D00206A -:10291000F91E010010000020496B0100D1410100A7 -:10292000555E0000986C00208C6C0020F1270000A0 -:10293000C1FF00002DF400001C48020058400200B6 -:10294000DC4702005D2201000448020030B583B07C -:1029500004460D460C4B984738B194F8343065F373 -:10296000C71384F8343003B030BD084B009340F2F5 -:10297000945207490320074DA847224600230648E2 -:1029800006498847FEE700BFB1220000B4400200BC -:10299000DC4702005D2201003C480200B922000031 -:1029A00030B583B004460D460C4B984738B194F8C7 -:1029B000343065F3000384F8343003B030BD084B85 -:1029C00000934FF4B46207490320074DA8472246FD -:1029D0000023064806498847FEE700BFB1220000F1 -:1029E000CC400200DC4702005D2201003C480200AE -:1029F000B92200002DE9F04186B0074615461E4673 -:102A00000C4621B10846284B9847002833D0039440 -:102A100000238DF810300593244B5B6803B10593B8 -:102A2000224B03AA5A60D3F808809E60204B984737 -:102A300018B183680BB12946984717B1294620463B -:102A4000B8471A4BC3F808805A6892685A609DF8D4 -:102A50001030F3B90CB394F8343013F0400F1ED09B -:102A60002068F0B132462946124B9847012814BF1E -:102A7000002001200EE0104B00934FF4DB620F4961 -:102A800003200F4DA847224600230E480E498847D1 -:102A9000FEE7002006B0BDE8F0810120FAE7012042 -:102AA000F8E70120F6E700BFB12200007C260020F5 -:102AB00069270000CD2A00009C410200DC4702008B -:102AC0005D2201003C480200B9220000E8B170B567 -:102AD00082B0044616460D460D4B984768B90D4B1B -:102AE000009340F2C4620C4903200C4DA8472246D3 -:102AF00000230B480B498847FEE733462A46214608 -:102B0000A069094CA04702B070BD0120704700BF0A -:102B1000B1220000B0410200DC4702005D2201004A -:102B20003C480200B9220000F529000030B583B00E -:102B300004460D46094B984710B1E56103B030BD1E -:102B4000074B009340F21B7206490320064DA8472D -:102B500022460023054806498847FEE7B1220000C7 -:102B6000C0410200DC4702005D2201003C48020037 -:102B7000B922000020B110B5C4691CB1A04710BD36 -:102B800001207047012010BD30B583B004460D46CA -:102B9000094B984710B1256203B030BD074B009335 -:102BA00040F2377206490320064DA847224600230B -:102BB000054806498847FEE7B1220000D8410200D7 -:102BC000DC4702005D2201003C480200B9220000FF -:102BD00030B583B004460D460D4B984768B90D4B90 -:102BE000009340F249720C4903200C4DA84722463D -:102BF00000230B480B498847FEE72946606A0A4BC9 -:102C00009847034600B16062184603B030BD00BF6C -:102C1000B1220000F0410200DC4702005D22010009 -:102C20003C480200B92200009928010030B583B069 -:102C300004460C4B984768B90B4B009340F259720D -:102C40000A4903200A4DA8472246002309480A4999 -:102C50008847FEE700226286E369062120469847FE -:102C600003B030BDB12200000C420200DC4702007C -:102C70005D2201003C480200B922000030B583B05B -:102C800004460A4B984710B1206803B030BD084B8A -:102C9000009340F29F7207490320074DA847224640 -:102CA0000023064806498847FEE700BFB12200001E -:102CB00028420200DC4702005D2201003C4802007D -:102CC000B922000030B583B004460E4B984708B1D6 -:102CD0000D4D0EE00D4B009340F26B720C4903203A -:102CE0000C4DA847224600230B480C498847FEE7B5 -:102CF0001C462046A84703460028F9D1204603B0C9 -:102D000030BD00BFB12200007D2C00003C4202001B -:102D1000DC4702005D2201003C480200B9220000AD -:102D20002DE9F04383B00446224B984780B12368D5 -:102D30001BB12046204B984704462048204B98471B -:102D4000054660B3DFF878901E4EDFF8708012E021 -:102D50001D4B009340F27F721C4903201C4DA84775 -:102D6000224600231B481C498847FEE72946404667 -:102D7000B047054698B105F130073846C8470146C7 -:102D80000028F3D0844206D03846B04701460028D8 -:102D9000ECD08C42F8D1284603B0BDE8F0830F4B4D -:102DA0000093094B4FF4F26208490220084CA047F7 -:102DB0000025F0E7B1220000C52C0000986C00202F -:102DC000A91F0100BD1F010050420200DC470200A4 -:102DD0005D2201003C480200B92200004C4802007C -:102DE00030B583B004460D460D4B984730B19DB1C8 -:102DF0002946201D0B4B984703B030BD0A4B00936A -:102E000040F2AD7209490320094DA847224600232C -:102E1000084809498847FEE7201D084B9847EBE71B -:102E2000B1220000BD1F010060420200DC47020029 -:102E30005D2201003C480200B9220000A91F0100E8 -:102E400030B583B005460C460E4B984760B105F18E -:102E50000F0204F10800234612F8011F03F8011BBA -:102E60008342F9D103B030BD074B009340F6010215 -:102E700006490320064CA0472A4600230548064978 -:102E80008847FEE7B1220000D8420200DC4702007A -:102E90005D2201003C480200B922000030B583B039 -:102EA00004460F4B984768B90E4B009340F6220238 -:102EB0000D4903200D4DA847224600230C480D491B -:102EC0008847FEE720460C4B9847034628B1208AE6 -:102ED0001B8AC01A00B203B030BDB4F91000FAE783 -:102EE000B1220000EC420200DC4702005D2201003A -:102EF0003C480200B92200007D2C000030B583B0B0 -:102F000004460F4B984768B90E4B009340F63602C3 -:102F10000D4903200D4DA847224600230C480D49BA -:102F20008847FEE720460C4B9847034628B1608A45 -:102F30005B8AC01A00B203B030BDB4F91200FAE7E0 -:102F4000B1220000FC420200DC4702005D220100C9 -:102F50003C480200B92200007D2C000030B583B04F -:102F600004460C4B984730B1A08A0130238AC01A1E -:102F700000B203B030BD084B009340F64A02074947 -:102F80000320074DA84722460023064806498847E4 -:102F9000FEE700BFB12200000C430200DC47020044 -:102FA0005D2201003C480200B922000030B583B028 -:102FB00004460C4B984730B1E08A0130638AC01A4E -:102FC00000B203B030BD084B009340F656020749EB -:102FD0000320074DA8472246002306480649884794 -:102FE000FEE700BFB122000020430200DC470200E0 -:102FF0005D2201003C480200B922000009B92830D6 -:10300000704700B583B08DF80010002301936A4625 -:103010000821044B984701280CBF0198002003B0F9 -:103020005DF804FB752B00002DE9F84F80468A46B9 -:1030300093461E461C481D4B9847002831D0054634 -:10304000B0422ED0DFF86090194F09E0AB885B45A5 -:1030500014D0BBF1FF0F11D01CB32546A64220D0DF -:1030600029464846B847044628684045F4D1A9791E -:103070005145EBD0BAF1FF0FEED1E7E70D4B984782 -:103080000D4B9847A9880D4B9847002128460C4BBB -:103090009847294648460B4B984728460A4B98477D -:1030A000DAE7BDE8F88F00BF3C6D0020B31F0100D8 -:1030B000E91F0100FD2F0000E7700000ED67000030 -:1030C0002913010095200100C524010030B583B00B -:1030D00004460D460B4B984748B10B4B98470023CD -:1030E000FF2229462046094CA04703B030BD084BBB -:1030F0000093084B40F2924207490220074CA04738 -:10310000F3E700BFFD2F0000F97000002930000038 -:1031100098480200E4430200DC4702005D220100FF -:10312000F8B504681748184B984708B301460027BC -:10313000144E164D03E03046A847014678B18C4244 -:10314000F9D00A6823689A42F5D14B6823F07F4290 -:10315000636823F07F439A4208BF0127EBE73FB142 -:10316000214608480A4B984720460A4B9847F8BD25 -:10317000A1792068084B9847084B9847A188084BCD -:103180009847EDE73C6D0020A91F0100BD1F01001D -:1031900095200100C5240100FD2F0000E77000000C -:1031A000ED67000030B583B004460B4B984728B15B -:1031B00094F83400C0F3001003B030BD074B009307 -:1031C00040F6412206490320064DA8472246002327 -:1031D000054806498847FEE7B12200003444020052 -:1031E000DC4702005D2201003C480200B9220000D9 -:1031F0002DE9F04186B004460E463A4B984768B92F -:10320000394B00934FF4F07238490320384DA847EA -:1032100022460023374838498847FEE72046374B87 -:10322000984710B106B0BDE8F0812046344B98476E -:103230000746344B98470546334B9847874209D099 -:103240002846324B9847874204D02846304B98474F -:103250008742E7D1B4F9323004F10F0204F11700CC -:1032600002A912F8017F01F8017B8242F9D19BB2D9 -:10327000BDF80820D21AADF80820BDF80A20D21AED -:10328000ADF80A20BDF80C201A44ADF80C20BDF8AA -:103290000E201344ADF80E3002AA314604A81D4B8F -:1032A00098470028BED020461B4B9847044698B14B -:1032B000DFF86080114F184E04F1100204A908468F -:1032C000C0470028AED02046B8470028AAD12046E3 -:1032D000B04704460028EFD104A928460F4B984771 -:1032E000A0E700BFB122000048440200DC47020012 -:1032F0005D2201003C480200B9220000A531000017 -:10330000C52C0000212D00004D2300008D2300005E -:10331000CD230000191501007D2C0000595E00002E -:1033200030B585B004461C4B984738B3B4F93230F9 -:1033300004F10F0204F1170502A912F8010F01F8B8 -:10334000010BAA42F9D19BB2BDF80820D21AADF800 -:103350000820BDF80A20D21AADF80A20BDF80C20CA -:103360001A44ADF80C20BDF80E201344ADF80E3011 -:1033700002A92046094B984705B030BD084B009381 -:1033800040F20D2207490320074DA847224600239B -:10339000064807498847FEE7B1220000F1310000E6 -:1033A00060440200DC4702005D2201003C4802004C -:1033B000B9220000F0B583B00546164B984768B9AE -:1033C000154B009340F2622214490320144CA0478D -:1033D0002A460023134814498847FEE72846134B22 -:1033E00098470446061D3046114B984785420FD03A -:1033F0002046104FB84701232A46314630460E4E2C -:10340000B047E3692A460121204698472046B8473D -:1034100003B0F0BDB122000074440200DC4702009A -:103420005D2201003C480200B92200007D2C000012 -:10343000A91F010021330000212101002DE9F047DF -:1034400084B004468A4617462D4B984700283ED044 -:103450002668002E49D0338A228A9B1A53441FFAC9 -:1034600083FA0FFA8AF8758A638AED1A3D44ADB281 -:103470000FFA85F9B8F1000F02D1B9F1000F23D08E -:103480002046204FB84702A920461F4B9847238A61 -:1034900053442382638A2B446382A38A5344A382C6 -:1034A000E38A1D44E5824A4641462046174B984729 -:1034B000E36902AA022120469847F36922460121C6 -:1034C000304698472046B84704B0BDE8F087104B17 -:1034D000009340F296220F4903200F4DA847224641 -:1034E00000230E480E498847FEE70E4B0093084B19 -:1034F0004FF4277207490220074CA047E4E700BFBA -:10350000B122000021330000412E00000D280000F0 -:10351000A4440200DC4702005D2201003C48020096 -:10352000B9220000D048020030B583B004460D46F1 -:103530000D4B984768B90D4B00934FF433720C490B -:1035400003200C4DA847224600230B480B4988470F -:10355000FEE720460A4B9847024629462046094B7B -:10356000984703B030BD00BFB1220000B444020050 -:10357000DC4702005D2201003C480200B922000045 -:10358000FD2E00003D34000030B583B004460D46EA -:103590000D4B984768B90D4B00934FF436720C49A8 -:1035A00003200C4DA847224600230B480B498847AF -:1035B000FEE720460A4B98472A4601462046094B1B -:1035C000984703B030BD00BFB1220000C4440200E0 -:1035D000DC4702005D2201003C480200B9220000E5 -:1035E0009D2E00003D3400002DE9F04385B00446D7 -:1035F0000D4690461F46BDF930602C4B984768B980 -:103600002B4B009340F26D322A4903202A4DA847E4 -:103610002246002329482A498847FEE78DB12846DB -:10362000224B984790B9224B009340F271322149C6 -:103630000320214CA0472A460023204820498847E0 -:10364000FEE720461F4B98470546E8E703AB424696 -:1036500004F1100105F11000DFF87090C847204612 -:10366000184B9847B0F91230BDF80E203244BDF81F -:103670000C103944008A091A09B2ADF80C10D21A9C -:1036800012B2ADF80E2020460F4B984784F84880C0 -:10369000A4F84470A4F84660256494F849306FF3A8 -:1036A000410384F8493005B0BDE8F083B122000041 -:1036B000D4440200DC4702005D2201003C480200C5 -:1036C000B92200007D2C00003D34000025180100C7 -:1036D0002DE9F04F85B081460E4692460393BDF921 -:1036E00038B0A34B984768B9A24B009340F295328B -:1036F000A1490320A14CA0474A460023A048A14964 -:103700008847FEE74846A04B9847054648469F4BEA -:103710009847044648469E4B984700EBD07040F3CC -:103720004F0848469B4B984700EBD07040F34F073B -:10373000EEB130468E4B9847F0B1BAF1140F39D83C -:10374000DFE81AF028005C0062006D0076007F0060 -:103750008D009900A500B400BA00C500CE00D700C6 -:10376000E500F100F70003010C012E013D01484680 -:10377000894B98470646DCE77E4B009340F2A13226 -:103780007D4903207D4CA047324600237C487D497B -:103790008847FEE730467E4B984700EBD070C8EB79 -:1037A00060052DB230467B4B984700EBD070C7EBDD -:1037B000600424B24846784B9847318A039F3944C5 -:1037C0002944038AC91A728A5A442244438AD21A63 -:1037D00012B209B24846714B984789F848A0A9F837 -:1037E0004470A9F846B0C9F8406099F8493043F0F0 -:1037F000020389F8493005B0BDE8F08FC8F1000533 -:103800002DB27C4224B2D5E73046614B984700EB9D -:10381000D070C8EB60052DB27C4224B2CAE73046B6 -:103820005B4B9847A0EB080005B27C4224B2C1E78D -:10383000C8F100052DB23046564B9847C01B04B264 -:10384000B8E73046524B984700EBD070C8EB6005A4 -:103850002DB230464F4B9847C01B04B2AAE7304602 -:103860004B4B9847A0EB080005B23046494B9847B0 -:10387000C01B04B29EE7C8F100052DB23046454B8F -:10388000984700EBD070C7EB600424B292E7304653 -:103890003F4B9847A0EB080005B230463D4B984798 -:1038A00000EBD070C7EB600424B283E7C8F10005D9 -:1038B0002DB27C4224B27DE73046354B984700EB71 -:1038C000D070C8EB60052DB27C4224B272E730465E -:1038D0002F4B9847A0EB080005B27C4224B269E761 -:1038E000C8F100052DB230462A4B9847C01B04B2E0 -:1038F00060E73046264B984700EBD070C8EB600578 -:103900002DB23046234B9847C01B04B252E73046D5 -:103910001F4B9847A0EB080005B230461D4B984757 -:10392000C01B04B246E7C8F100052DB27C4224B2A8 -:1039300040E7C8F100052DB23046164B984700EB22 -:10394000D070C7EB600424B234E7C8F100052DB293 -:103950003046104B9847C01B04B22BE730460C4B47 -:103960009847A0EB080005B27C4224B222E700BFD2 -:10397000B1220000E4440200DC4702005D220100A5 -:103980003C480200B92200009D2E0000FD2E0000E0 -:103990005D2F0000AD2F00007D2C00003D340000A5 -:1039A00030460D4B9847A0EB080005B230460B4B54 -:1039B000984700EBD070C7EB600424B2FAE63046BB -:1039C000054B9847A0EB080005B23046034B9847DB -:1039D000C01B04B2EEE600BF5D2F0000AD2F00005B -:1039E00030B583B00446124B984790B194F84930F3 -:1039F00013F0020FB4F9443094F84820B4F946109B -:103A00000091216C204614BF0A4C0B4CA04703B018 -:103A100030BD0A4B009340F22A4209490320094D68 -:103A2000A84722460023084808498847FEE700BF08 -:103A3000B1220000D1360000E9350000F844020050 -:103A4000DC4702005D2201003C480200B922000070 -:103A50002DE9F041064600210D4B9847B0B10446D0 -:103A60000C4D4FF000080A4F2046A847E369424634 -:103A70000421204698472046A8472046FFF7E8FF44 -:103A800021463046B84704460028EDD1BDE8F08114 -:103A9000E12D00002133000030B583B005460C460F -:103AA000364B984798B1712C46D8702C23D2412CB4 -:103AB0001BD8402C1FD2022C05D3072C1BD9A4F1F4 -:103AC0001003082B17D928462D4B98472FE02D4B74 -:103AD000009340F21D522C4903202C4CA0472A464B -:103AE00000232B482B498847FEE7532C21D8502C24 -:103AF00001D24C2CE7D12846214B9847EB69002294 -:103B0000042128469847152C09D3182C01D9FF2CDD -:103B100005D1286818B1C3690022012198472846B9 -:103B2000174B9847FF2C24D014F4004F21D103B039 -:103B300030BD5C2CC7D1DEE77F2C0CD948F2810365 -:103B40009C4211D848F280039C42D4D2902CD2D00F -:103B5000FF2CB8D1CFE77E2CCDD2732CB3D3752CEC -:103B6000C9D97C2CAFD1C6E748F28E039C42AAD1BA -:103B7000C1E72846084B9847D9E700BFB1220000AB -:103B80002133000008450200DC4702005D220100ED -:103B90003C480200B9220000513A000010B504462A -:103BA000034B9847FF212046024B984710BD00BFAA -:103BB000CD300000993A00002DE9F84304460F4645 -:103BC0000026DFF888803546DFF8849005E0FF2185 -:103BD0003846C8470136402E22D0F1B23846C04799 -:103BE0008646E8B101790029F4D090F805C00CF0C0 -:103BF000060C0023DAB2BCF1060F04BF0132D2B2C8 -:103C00008A423ABFDEF8000050F822202A46944249 -:103C1000DDD0002CDBD00133DAB28A42EAD3D9E717 -:103C200000213846084B9847054650B1064E2946B4 -:103C30002046FFF7C1FF29463846B0470546002811 -:103C4000F5D1BDE8F88300BFE12D0000FD2F000095 -:103C5000993A00002DE9F047804600200F4B984725 -:103C6000C8B18146DFF840A00D4F0E4E09F1300576 -:103C70002846D047044640B121464046B847214631 -:103C80002846B04704460028F6D14846034B9847DB -:103C900081460028EAD1BDE8F08700BFB90F0100D6 -:103CA000B93B0000BD1F0100A91F0100F8B5044683 -:103CB0000D4681790068424B9847424B9847A1884E -:103CC00001F00F03082B19DC45B9B4F908203E4B6D -:103CD0009847A18820683D4B9847F8BDFF2D0AD032 -:103CE000B4F90820B4F90C309B1A05FB03F502EB7C -:103CF000252212B2EBE7B4F90C20E8E70B2B43DCEA -:103D0000002D05DDFE2D05DDA289314B9847E0E74A -:103D10002289FAE7EDB2C5F1FF02637BDB08667A20 -:103D2000F60802FB06F605FB036303EB032703EB30 -:103D3000C713C3F3C457A389C3F345132689C6F336 -:103D4000451602FB06F605FB036303EB032603EBB4 -:103D5000C613C3F3C556237B03F01F0394F808E092 -:103D60000EF01F0E02FB0EF205FB032505EB0523EB -:103D700005EBC315ED0D4FF0000265F3040266F389 -:103D80004A1267F3CF22C0E70D2B12DC002D05DDB0 -:103D9000FE2D05DD227B0F4B98479AE7227AFAE742 -:103DA000227A237B9B1A05FB03F502EB2522D2B274 -:103DB000F1E77F2DD4BFA268E268074B984788E7F8 -:103DC000FD2F0000E7700000E1680000993A000054 -:103DD000256A0000696B0000996C000030B583B063 -:103DE00004460A4B984710B1002003B030BD084B81 -:103DF000009340F6B12207490320074DA847224609 -:103E00000023064806498847FEE700BFB1220000AC -:103E1000D8450200DC4702005D2201003C48020058 -:103E2000B9220000F0B583B00D46064688B19D4B1F -:103E30009847002840F064819B4B0093ED229B49FA -:103E400003209B4CA047324600239A489A49884752 -:103E5000FEE79A4B984748B9994B0093924BCF2273 -:103E600092490220924CA0473446F5E13030954B00 -:103E7000984704468B4B984760B98B4B0093D422EC -:103E80008A4903208A4DA847224600238E488A4942 -:103E90008847FEE7002C00F0DF814C2120468B4B49 -:103EA000984794F835306FF3051384F83530884B14 -:103EB000E361884B23620027A76127826782384627 -:103EC000854B98470138A0823846844B9847013883 -:103ED000E0824C21201D824B98470023638684F8A2 -:103EE000303084F8313084F84830A4F84430A4F8F5 -:103EF0004630236494F8492063F3000284F8492093 -:103F0000A36394F8342002F07F0242F0010294F897 -:103F10003510032060F3430184F83C3002F0C10205 -:103F200063F3861284F8342041F0010184F83510DF -:103F300084F83D30636204F128073846694B98479E -:103F4000002D00F06C8105F128013846664B98473A -:103F500005F10F0204F1180104F1100312F8010F2A -:103F600003F8010B8B42F9D1B5F93230638695F82D -:103F7000303084F8303095F8313084F8313095F8AD -:103F8000483084F84830B5F94430A4F84430B5F9E5 -:103F90004630A4F846302B6C236495F8492094F8F9 -:103FA000493062F3000384F84930AB69A36195F8A6 -:103FB0003430DB0994F8342063F3C71284F83420DA -:103FC00095F8342094F8343062F3000384F83430E8 -:103FD00095F83430C3F3400394F8342063F341027E -:103FE00084F8342095F83530C3F3420394F8352033 -:103FF00063F3430284F8352095F83430C3F380032B -:1040000094F8342063F3820284F8342095F8343035 -:10401000C3F3C003D2B263F3C30284F8342095F82B -:104020003430C3F30013D2B263F3041284F83420A3 -:1040300095F83430C3F34013D2B263F3451284F8D9 -:10404000342095F83430C3F38013D2B263F3861270 -:1040500084F8342095F83C3084F83C3095F83520CD -:1040600094F8353062F3000384F83530A86B10B152 -:1040700021461E4B984728461D4B9847002800F0C4 -:10408000D980002E00F0DF8028461A4B984707465B -:104090002846194B9847024639462046174B984701 -:1040A000C9E000BFB1220000EC450200DC4702007D -:1040B0005D2201003C480200B9220000E10E01002F -:1040C00038490200111F0100D83F0200372B0100C0 -:1040D000055A000029540000ED0E0100150F0100E3 -:1040E000F91E0100E9640000697100009D250000CF -:1040F0007D2C00009D2E0000FD2E00003D340000B0 -:10410000301D574B98470446564B9847002847D0D8 -:10411000002C00F0A1804C212046534B984726608C -:1041200094F835306FF3051384F835304F4BE36165 -:104130004F4B23620020A061B6F912306382778A68 -:104140004C4B9847322303FB00F35033B3F5A07F69 -:1041500033DA01233B44E3822046474B984701284A -:104160003AD0B6F910302382378A0020414B984765 -:10417000642303FB00F35033B3F5A07F4DDB002035 -:104180003C4B9847642303FB00F350333B4A82FBCC -:104190000312DB17C3EBA2139BB23B44A38298E646 -:1041A000374B0093F02237490320374DA84722466A -:1041B0000023364836498847FEE700202D4B9847B4 -:1041C000322303FB00F350332C4A82FB0312DB172C -:1041D000C3EBA2139BB2BDE7B6F91430A382B78A32 -:1041E0000020244B9847642303FB00F35033B3F5BE -:1041F000A07F10DB00201F4B9847642303FB00F3D4 -:1042000050331E4A82FB0312DB17C3EBA2139BB28F -:10421000FB1A23825DE60123FAE70123BDE726B1FD -:10422000022120461B4B984705E001212046194BEF -:10423000984708E03EB1F36922460121304698478D -:104240002046154B9847154B00930D4B40F28712B3 -:104250000C4901200C4DA847204603B0F0BD00BF1B -:10426000111F0100B1220000372B0100055A000088 -:10427000295400003D0F0100DD3D000067666666C1 -:10428000EC450200DC4702005D220100D83F02003D -:10429000B9220000E94101002133000088490200F1 -:1042A0002DE9F04184B004460D461646324B98473E -:1042B00068B9324B009340F2E52231490320314D79 -:1042C000A84722460023304830498847FEE7204669 -:1042D0002F4B9847A8423FD020462E4B984702A923 -:1042E00020462D4B9847731E628A1344E382204672 -:1042F0002A4B9847012835D06B1E228A1344A3828B -:10430000E36902AA0221204698472046244B984799 -:1043100018B1C56922460121A847261D3046214B08 -:104320009847054668B14FF003081F4FEB6902AA92 -:1043300041462846984729463046B8470546002852 -:10434000F4D12046134B984794F8493013F0010FED -:104350000ED104B0BDE8F0812046144B9847B0421E -:10436000BAD1F6E7C5F10103A28A13442382C7E755 -:1043700020460F4B9847ECE7B122000010460200A0 -:10438000DC4702005D2201003C480200B922000027 -:104390005D2F000021330000412E0000DD3D0000B4 -:1043A0007D2C0000A91F0100BD1F0100AD2F0000E2 -:1043B000E139000030B583B004460D460D4B9847F7 -:1043C00068B90D4B009340F227320C4903200C4D85 -:1043D000A847224600230B480B498847FEE72046A2 -:1043E0000A4B98472A4601462046094B984703B096 -:1043F00030BD00BFB122000034460200DC4702009D -:104400005D2201003C480200B92200005D2F00003F -:10441000A142000030B583B004460D460C4B9847CE -:1044200038B194F83C301D4214BF0120002003B085 -:1044300030BD084B009340F6D72207490320074DB3 -:10444000A84722460023064806498847FEE700BFE2 -:10445000B12200005C460200DC4702005D22010040 -:104460003C480200B922000030B585B004460D4634 -:10447000114B984728B13F2D11D894F83D0005B055 -:1044800030BD0E4B009340F6DE220D4903200D4D4A -:10449000A847224600230C480C498847FEE78DF8C0 -:1044A0000C5000238DF80D3003AA09212046084B3B -:1044B00098479DF80D00E2E7B12200007046020027 -:1044C000DC4702005D2201003C480200B9220000E6 -:1044D000752B00002DE9F04F85B0174660B30D46EF -:1044E0004FEA122B0646DFF88CA0DFF88C90DFF83D -:1044F0008C8006E0BDF90E0005B0BDE8F08F002508 -:10450000DEB129463046D047019029463046C8479B -:1045100007EB002084B20DF10E0221460198C0473E -:104520000128E7D01BF0800F07D0002DE7D13046DF -:104530000F4B98470646E2E7144624F4FE44A4B223 -:10454000222C0FD006D8032C0AD0072C0CD14FF404 -:104550008070D1E7312C09D0C02C05D11020CBE7D9 -:104560000620C9E7FF20C7E70020C5E70F20C3E703 -:104570007D2C0000FD2F000069440000E572000062 -:104580002DE9F04F85B0174648B30D464FEA122B80 -:104590000646DFF86CA0DFF86C90DFF86C8004E072 -:1045A000BDF80C0025E00025D6B129463046D0479D -:1045B000019029463046C84707EB002084B203AA81 -:1045C00021460198C0470128EAD01BF0800F07D090 -:1045D000002DE8D13046084B98470646E3E71446DD -:1045E00024F4FE44293C012C9ABF044BB3F8740612 -:1045F000002005B0BDE8F08F7D2C0000584002007F -:10460000FD2F000069440000A97300002DE9F04F60 -:1046100085B0174650B30D464FEA122B0646DFF819 -:1046200074A0DFF87490DFF8748004E09DF80F0048 -:1046300029E00025DEB129463046D04701902946C1 -:104640003046C84707EB002084B20DF10F02214627 -:104650000198C0470128E9D01BF0800F07D0002D3A -:10466000E7D130460A4B98470646E2E7144624F461 -:10467000FE44A4B26D2C09D048F2AD039C4205D093 -:104680002C2C03D0FF2005B0BDE8F08F0020FAE706 -:104690007D2C0000FD2F0000694400006D740000B7 -:1046A0002DE9F04F85B0174650B30D464FEA122B57 -:1046B0000646DFF880A0DFF88090DFF8808005E014 -:1046C000039805B0BDE8F08F0025D6B129463046E5 -:1046D000D047019029463046C84707EB002084B2F6 -:1046E00003AA21460198C0470128E9D01BF0800F9A -:1046F00007D0002DE8D130460B4B98470646E3E73C -:10470000144624F4FE44A4B2BE2C0AD048F28E0310 -:104710009C4203D07E2C01D00020D2E7034B984767 -:10472000CFE70348CDE700BF7D2C0000DD4101004D -:1047300000920200FD2F0000694400003175000066 -:1047400070B50468A58805F00F03082B13DD0B2B4B -:1047500018DD0D2B1DDD2A46A1792068104B9847E6 -:10476000A0600023A38023462A46A17920680D4E2D -:10477000B047A58070BD2A46A17920680A4B9847AA -:104780002081EEE72A46A1792068084B98472081CE -:10479000E7E72A46A1792068054B98472072E0E7B1 -:1047A000A146000029300000D544000081450000EA -:1047B0000D46000090F83D308B4200F052822DE90A -:1047C000F04FA1B089468246AB4B984740B19AF86A -:1047D0003DB08AF83D9000230693A84DD846D2E11B -:1047E000A74B009340F23762A6490320A64CA0478E -:1047F00052460023A548A6498847FEE7737943F04F -:10480000040373718AF83D802246DDF80CB05946E6 -:104810005046A84707468AF83D902246CDF80CB08E -:1048200059465046A847834673796FF382037371E4 -:1048300087424AD08AF83D80224603995046A847CD -:1048400006468AF83D90024621460498914B9847C7 -:10485000012C00F094809048904B98470746864B77 -:104860009847002800F0A280002F2ED03E81A7F8A4 -:104870000CB0C7F800A0BC809DF80C30BB7110A82C -:10488000874B98471097874B1193874B1293874B11 -:10489000139300231693FF2317930A9B1893099BE6 -:1048A0005B421993089A531ED01D14AA13F8011FD6 -:1048B00002F8011B8342F9D19DF876306FF30003B3 -:1048C0008DF8763010A87A4B9847059B10AA934232 -:1048D00000F05481059B33F8024B0593002CF4D073 -:1048E0000798744B984703995046734B9847064670 -:1048F000724B9847049004F00F03082B7FF77EAFAC -:104900000B2B61DD0D2B00F3E980737943F0040379 -:1049100073718AF83D802246DDF80CB05946504646 -:10492000674FB8470B908AF83D902246CDF80CB0FF -:1049300059465046B847834673796FF382037371C3 -:104940000B9B8342C1D08AF83D8022460399504692 -:10495000B84706468AF83D90024621460498594BCE -:1049600098474D484D4B98470746434B984700287A -:1049700074D0002FA9D03E7287F80CB079E747F6C3 -:10498000FF739E4200F04C819B457FF464AF50461C -:10499000DFF844B1D84700EBD07040F34F075046E2 -:1049A000D84700EBD07040F34F0351E1464B0093E2 -:1049B00040F6B26233490320334CA0473A46002305 -:1049C000424833498847FEE7737943F00403737123 -:1049D0008AF83D802246039950463D4FB8478346AA -:1049E0008AF83D90224603995046B847ADF82C000E -:1049F00073796FF3820373711FFA8BFB83B29B454C -:104A00003FF463AF8AF83D80224603995046B84789 -:104A100083468AF83D900246214604982D4B9847DC -:104A20001D481E4B98470746134B984740B1002F2F -:104A30003FF44BAFA7F808B0BDF82C30BB8118E7A6 -:104A4000214B009340F6C6620E4903200E4CA0474E -:104A50003A4600231D480E498847FEE71A4B00934B -:104A600040F6DB6207490320074CA0473A46002383 -:104A7000164807498847FEE7B1220000D5440000E8 -:104A8000D0460200DC4702005D2201003C480200E3 -:104A9000B9220000E16800003C6D0020111F0100F8 -:104AA000E5120100AD3C000041470000213100004B -:104AB000A113010035720000FD2F0000E770000017 -:104AC0000D460000696B0000E4460200D83F02007A -:104AD00081450000256A00005D2F00008AF83D80B6 -:104AE000737943F0040373712246DDF80CB0594624 -:104AF00050465C4FB8470C908AF83D902246CDF85E -:104B00000CB059465046B847834620A941F8400D9D -:104B100073796FF38203737104220CA8524B984788 -:104B200000283FF4D2AE8AF83D80224603995046D1 -:104B3000B84706460C908AF83D90024621460498F4 -:104B40004A4B98474A484B4B984707464A4B984729 -:104B500030B1002F3FF4B9AEBE60C7F80CB088E6A4 -:104B6000464B009340F6EF6245490320454CA04771 -:104B70003A460023444845498847FEE7069B0133EF -:104B80000693402B45D09DF81830039319465046A4 -:104B90003F4B9847079000283BD0437913F0080F0C -:104BA000ECD1B022039C21465046A8470A90B1227E -:104BB00021465046A8470990BE2221465046294B1F -:104BC00098470890B22221465046A847ADF83400D5 -:104BD000B32221465046A847ADF83600B4222146FC -:104BE0005046A847ADF83800B52221465046A847A0 -:104BF000ADF83A00B62221465046A847ADF83C0031 -:104C0000B72221465046A847ADF83E000DAB0593AC -:104C100060E6FF2150461F4B984721B0BDE8F08F5A -:104C200050461D4EB04700EBD07040F34F07504642 -:104C3000B04700EBD07040F34F035E1C7A1C9642E5 -:104C4000A8BF164636B247F6FF7293457FF403AE0F -:104C500003F1010B0137BB45A8BFBB460FFA8BFB25 -:104C6000F9E57047A1460000DDB40100996C000031 -:104C70003C6D0020111F0100B1220000E44602003B -:104C8000DC4702005D220100D83F0200B92200008B -:104C9000FD2F0000993A00005D2F000030B583B071 -:104CA00005460C460D4B984750B195F83D3043EA08 -:104CB00004018B4202D02846094B984703B030BD0F -:104CC000084B009340F27E6207490320074CA0473F -:104CD0002A460023064807498847FEE7B12200001C -:104CE000B5470000F4460200DC4702005D220100E7 -:104CF0003C480200B922000030B583B005460C469E -:104D00000D4B984750B195F83D3023EA04018B4292 -:104D100002D02846094B984703B030BD084B00939A -:104D200040F28F6207490320074CA0472A46002320 -:104D3000064807498847FEE7B1220000B547000052 -:104D400008470200DC4702005D2201003C480200E7 -:104D5000B922000030B583B004460A4B984710B121 -:104D6000E06903B030BD084B009340F6F5220749D7 -:104D70000320074DA84722460023064806498847D6 -:104D8000FEE700BFB12200001C470200DC47020022 -:104D90005D2201003C480200B922000030B583B01A -:104DA00004460A4B984710B1606A03B030BD084B07 -:104DB000009340F61E3207490320074DA8472246BC -:104DC0000023064806498847FEE700BFB1220000DD -:104DD00060470200DC4702005D2201003C480200FF -:104DE000B922000030B583B004460A4B984710B191 -:104DF000A06B03B030BD084B009340F66F320749FB -:104E00000320074DA8472246002306480649884745 -:104E1000FEE700BFB122000084470200DC47020029 -:104E20005D2201003C480200B92200002DE9F84350 -:104E30000546002215213C4B984728463B4B984796 -:104E4000074610B128463A4B984700212846394B6F -:104E500098470023FF2211462846374CA04705F10A -:104E600004084046354B9847044658B1DFF8E890AF -:104E700021464046C84706462046FFF7D7FF34463E -:104E8000002EF5D12E4B5B683BB101211A6895428B -:104E900008BF19719B68002BF8D10020294B984757 -:104EA000044610B3DFF8B480DFF8B490254E0EE06E -:104EB00029462046C047E36B9D4204BF0023E363BD -:104EC000A36D9F420AD02046B047044668B1636B89 -:104ED0009D42EDD0A36B9D42EDD1E9E7C8478542E5 -:104EE000F1D129462046C047EDE7EB690022114683 -:104EF000284698472846144B984760B12946043005 -:104F0000124B9847686A08B1114B98472846104BD6 -:104F10009847BDE8F88328460E4B9847294630301D -:104F20000A4B9847EEE700BFCD2A0000E54D000090 -:104F3000792600002913010029300000A91F010073 -:104F40007C260020211001007D2C0000952001000E -:104F5000C5240100212D0000BD1F010075270000A0 -:104F60000128000070B582B00446194B984768B913 -:104F7000184B009340F2931217490320174DA8478E -:104F800022460023164817498847FEE72046164B5D -:104F900098472046154B9847054640B12046144B8C -:104FA0009847EB6900220121284698470CE02046EB -:104FB000104B9847054638B1C66B20460C4B9847B6 -:104FC000B44201D10023EB63002002B070BD00BFEA -:104FD000B122000098470200DC4702005D22010078 -:104FE0003C480200B9220000213300007D2C000063 -:104FF0002D4E0000212D000030B583B004460E4B2D -:10500000984748B1A06BA8B10C4B9847844214BF95 -:105010000020012003B030BD094B00934FF43862EB -:1050200008490320084DA84722460023074808499D -:105030008847FEE70020EDE7B12200004927000085 -:10504000C8470200DC4702005D2201003C48020024 -:10505000B922000000B583B090F83030028AD21A2D -:10506000ADF80020828A1344ADF8043090F8313056 -:10507000428AD21AADF80220C28A1344ADF8063033 -:1050800000226846024B984703B05DF804FB00BF5E -:10509000B915010003687BB110B4021D012352F859 -:1050A000044B1CB10133DBB2072BF8D140F82310BD -:1050B00001205DF8044B7047002340F823100120C5 -:1050C000704700002DE9F04105460E4614460122C6 -:1050D000A84B9847208048F20C0231462846A64B40 -:1050E0009847052842D90746237B002B49D1237DC9 -:1050F000002B76D1237F002B40F0988094F8363037 -:10510000002B40F0B88094F82830052B00F2018184 -:1051100094F84430052B00F23781F92F24D8BFB220 -:10512000237B13FB07F3C3F307232373237D13FBB5 -:1051300007F3C3F30723237594F8283013FB07F311 -:10514000C3F3072384F8283094F8363013FB07F3B1 -:10515000C3F3072384F8363094F8443013FB07F781 -:10516000C7F3072784F84470BDE8F0810023237358 -:10517000237584F8283084F8363084F84430BDE84C -:10518000F0812C22314628467B4B98472073052816 -:10519000ADD9292231462846784B98476080232292 -:1051A00031462846734B9847C0B2A07130B92022CF -:1051B000314628466F4B9847607398E72A2231465C -:1051C00028466E4B9847A080212231462846DFF8BA -:1051D000A481C0472081222231462846C0476081F1 -:1051E000E5E7302231462846624B98472082002866 -:1051F00080D03C22314628465F4B984720750528D1 -:1052000006D83222314628465A4B9847607571E7D6 -:10521000312231462846574B9847C0B26082392226 -:1052200031462846554B9847E081EAE7402231460F -:105230002846504B9847208300283FF45FAF4C220C -:10524000314628464C4B98472077052806D84222FD -:1052500031462846474B984760774FE74122314611 -:105260002846444B98476083492231462846434BA1 -:105270009847E082EBE76E2231462846404B98473C -:10528000E06200283FF43FAF6C22314628463A4B9B -:10529000984784F8360005287FF635AF6D223146F1 -:1052A0002846354B984784F8370061223146284616 -:1052B000304B9847003018BF012094F8383060F325 -:1052C000000384F83830E06A2E4B984702280BD050 -:1052D00094F83730052B15D8602231462846254BE7 -:1052E000984784F839000EE7692231462846234B57 -:1052F0009847A08648F28E0231462846204B9847B0 -:105300002063E9E76922314628461C4B9847A0866E -:10531000E2E7502231462846164B98472084002861 -:105320003FF4F6AE5C2231462846134B984784F88A -:10533000280005287FF6ECAE512231462846DFF8DA -:105340003480C0476084522231462846C047A0843A -:10535000532231462846C047E08459223146284628 -:10536000064B9847E083542231462846C04784F8CC -:105370002900CDE6D54400000D460000814500001F -:10538000A1460000699900007F2231462846224B41 -:105390009847E06300283FF4C0AE7C22314628469F -:1053A0001E4B984784F8440005287FF6B6AE73225A -:1053B00031462846DFF86C80C047A4F848007422C4 -:1053C00031462846C047A4F84A007922314628468B -:1053D000134B9847A4F846007E22314628460E4BD0 -:1053E00098472064702231462846C047A4F84C00F4 -:1053F000712231462846C047A4F84E007522314636 -:105400002846C04784F85000722231462846C047DB -:1054100084F8510081E600BFA14600000D4600005F -:1054200081450000D54400002DE9F04198B00446C4 -:105430000E46022A08D0002A6CD0012A00F0CC8047 -:10544000002018B0BDE8F08100218E4B984708B1CC -:105450000320F6E70122002120468A4DA84707468F -:10546000042200212046A84780460522002120462C -:10547000A84704F10F0304F1170503AA13F8011F4D -:1054800002F8011B9D42F9D11FFA88F8BDF80C30D3 -:10549000A3EB0803ADF80C30BDF810309844ADF81C -:1054A000108080B2BDF80E301B1AADF80E30BDF87A -:1054B00012301844ADF812003A4603A93046724B38 -:1054C000984708B90220BCE72C22002120466F4BE8 -:1054D0009847F92801D80220B3E72022002120466E -:1054E000684B9847C0B208B10220AAE732220021D7 -:1054F0002046644B9847C0B208B10220A1E748F2A9 -:105500000C0200212046614B9847FA2834BF022044 -:10551000012096E703A85E4B9847332200212046DE -:10552000584B984710B100238DF8203003AA002172 -:105530002046584B9847042200212046514DA84749 -:105540008046052200212046A84704F1100704F1F7 -:105550000F0304F1170501AA13F8011F02F8011B3C -:10556000AB42F9D11FFA88F8BDF80430A3EB080369 -:10557000ADF80430BDF808309844ADF8088080B22A -:10558000BDF806301B1AADF80630BDF80A301844D5 -:10559000ADF80A0003AA314601A83F4B9847022202 -:1055A00000212046374B984708B9002049E71C20C6 -:1055B0003A4B98470546012200212046314B984737 -:1055C0000023024639462846354EB04704F5187187 -:1055D0002846344B9847E8E702220021294B984798 -:1055E00038B9332200212046264B984740B9002085 -:1055F00027E704F518702C4B98472C4B9847F0E799 -:1056000003A8234B984700278DF818708DF8427037 -:105610008DF8347003AA394620461E4B9847042261 -:1056200039462046174DA847804605223946204670 -:10563000A84704F10F03173401AA13F8011F02F859 -:10564000011BA342F9D11FFA88F3BDF80420D21A36 -:10565000ADF80420BDF808201344ADF8083080B23E -:10566000BDF806301B1AADF80630BDF80A301844F4 -:10567000ADF80A0003AA314601A8074B984700205D -:10568000DFE600BFD54400006D1701000D460000A5 -:1056900069C20000C550000031C300003D2901006F -:1056A0002DC00000C1BD000091BE000071250100A9 -:1056B000F8B505460E46144648F28C02264B98472C -:1056C0002072052800D8F8BD48F20C023146284661 -:1056D000214B9847F92805D8237A13FB00F0C0F333 -:1056E00007202072237A052BEDD948F28902314632 -:1056F00028461A4B9847208048F2800231462846B7 -:10570000174FB847A08148F2810231462846B84772 -:10571000608148F2820231462846B847207648F236 -:10572000830231462846B847607648F28E023146F9 -:1057300028460C4B98476060E2894FF6FF739A4207 -:10574000C1D0228A9A42BED048F28A023146284607 -:10575000024B98472080B6E70D46000081450000C7 -:10576000D5440000A146000070B505460E4614461B -:1057700048F2AC02214B98472070052800D870BD34 -:1057800048F20C02314628461C4B9847F92805D8A8 -:10579000237813FB00F0C0F3072020702378052B3B -:1057A000EDD9002363804FF480732381AB8A0133EA -:1057B0002A8A9B1A1BB203EBD3735B10A380EB8A7C -:1057C00001336A8A9B1A1BB203EBD3735B10E3802D -:1057D00048F2AD0231462846084B9847A07248F27D -:1057E000A90231462846064B9847A08148F2A002FC -:1057F00031462846034B9847A073C0E70D4600008A -:1058000081450000D54400002DE9F04F89B00446E1 -:105810000E465022764B9847074668BB7F2231469A -:105820002046744B9847804630B17C223146204652 -:10583000714B984705284CD84022314620466C4B86 -:1058400098470546002840F0BF8004223146204694 -:10585000DFF89C81C0470546052231462046C047F7 -:10586000A842B8BF284600B20028C4BFC01907B27A -:10587000384609B0BDE8F08F5C22314620465E4BC9 -:105880009847052801D80027C8E75322314620460B -:10589000574DA84707EBD77700EB67070137BFB233 -:1058A000512231462046A8478046522231462046A2 -:1058B000A8470028B8BF4042B8F1000FB8BFC8F1F0 -:1058C00000084045ACBF3F18474438B220EAE077B3 -:1058D000A4E7702231462046454DA84782467022F3 -:1058E00031462046A84783467E2231462046414B1A -:1058F00098474FF00009CDF8089047F618430193F8 -:10590000CDF800B053460246414604A8DFF8EC80CB -:10591000C047ADF81890ADF81A90BDF81030013BB3 -:10592000ADF81C30BDF81230013BADF81E307522C9 -:1059300031462046A8478146732231462046A84773 -:105940008046742231462046A847054605AB5FFADB -:1059500089F206A904F11000DFF8A490C847BDF849 -:10596000143043449BB2BDF816202A4492B2B4F9D5 -:105970001000BDF81810194409B2401AB842B8BF57 -:105980003846B4F91210BDF81A7017443FB2CF1B55 -:1059900000B28742B8BF0746BDF81C0003441BB2E3 -:1059A000B4F91400181A3BB28342B8BF0346BDF8DD -:1059B0001E00104400B2B4F91670C71B18B2B842EA -:1059C000B8BF384607B237E74C22314620460A4B6B -:1059D000984705287FF639AF412231462046044BCF -:1059E00098472844B842B8BF384607B22DE700BFF1 -:1059F000D5440000A14600000D4600007D40010096 -:105A00002518010008291AD010B50446072920D00E -:105A1000012923D0062927D0032930D0042939D0E1 -:105A20000B293BD0A1F10D03DBB2012B3BD9162989 -:105A30003ED0172951D0002954D0012010BD137831 -:105A40001BB92830506001207047002353600120AB -:105A5000704726491046264B984710BD254B98475E -:105A600080F00100C0B210BD0021234B9847B4F96B -:105A700032309842B8BF18466086012010BD90F8B9 -:105A8000493013F0010F01D1012010BD1B4B984785 -:105A9000012010BD1A4B9847012010BD1021194B51 -:105AA0009847012010BD1021174B9847012010BDC9 -:105AB000164B9847164B984728B106212046114BA4 -:105AC0009847012010BD022120460E4B9847042123 -:105AD00020460D4B9847012010BD06210A4B9847E0 -:105AE000012010BD0B4B9847012010BDE849020072 -:105AF000955000001544000009580000E1390000ED -:105B00002D2C00009D4C0000F94C0000E54D0000DC -:105B10005B270000CD3000002DE9F843054688469C -:105B2000002210311F4B984750B398F8343013F0CF -:105B3000100F27D1D8F8203043B30222294640461F -:105B40009847814603281FD008F104063046164BBB -:105B50009847044660B1154F21462846FFF7DCFF01 -:105B6000034650B921463046B84704460028F3D1D1 -:105B7000B9F1010F0CBF434600231846BDE8F88376 -:105B80000023FAE70023F8E70023F6E708F104060C -:105B90003046054B984704464FF002090028DAD1F9 -:105BA0000346EAE76D170100A91F0100BD1F0100B0 -:105BB00090F8343013F0100F00D070472DE9F04307 -:105BC0008BB00E460546B0F9324004A9354B9847D4 -:105BD000A3B2BDF81020D21AADF81020BDF81220E3 -:105BE000D21AADF81220BDF814201A44ADF81420D2 -:105BF000BDF816201344ADF8163004AA314606A8A5 -:105C0000294B9847A8B12B6A1BB1002206A9284648 -:105C1000984704A92846234B984704AA314608A868 -:105C2000214B984740B92B6A1BB1012206A928468F -:105C300098470BB0BDE8F08305F1040840461B4BC4 -:105C4000984704460028EED0DFF85890164E184FBB -:105C500005E021464046B84704460028E3D002A9A3 -:105C60002046C847638EBDF80820D21AADF8082038 -:105C7000BDF80A20D21AADF80A20BDF80C201A444B -:105C8000ADF80C20BDF80E201344ADF80E3002AA7A -:105C900008A96846B0470028DBD069462046FFF7D0 -:105CA00087FFD6E7412E000019150100B31F010040 -:105CB000E91F01002DE9F0470F46044670B139464F -:105CC00020461A4B98472046194B9847814660B1A9 -:105CD000184EDFF85880DFF858A00EE0164B186811 -:105CE000164B984704460028E9D1BDE8F08748469E -:105CF000D0474C4681460028F7D009F104052146DB -:105D00002846B047044640B139462046C0472146A0 -:105D10002846B04704460028F6D1D9F82030002B99 -:105D2000E5D00122394648469847E0E7B15B0000DC -:105D30007D2C0000E91F0100882600204D23000073 -:105D400038B51A4D28681A4B984704462868194BED -:105D5000984778B90123A361144B186843681A6AFD -:105D600012F0010F10D01B6A13F0020F0CD00123A8 -:105D7000E3610BE00D4D2868A369002BEAD0C369ED -:105D8000002BF9D09847F6E70023E361C3681BB105 -:105D9000A26804F110019847236833B1626822B108 -:105DA000A1688B4208BF1346A36038BD8826002037 -:105DB000DD0F0100E10F010070B582B006461A4DFB -:105DC00028681A4B984704462868194B984738B9F1 -:105DD0002868A36923B1C369002BFAD09847F7E775 -:105DE00004F1100231466846124B98470E4C206869 -:105DF000114B984701466846104B98476946104D2D -:105E0000A84720680F4B98476946A84720680E4B63 -:105E100098476946A84720680C4B984708B102B0DC -:105E200070BD0B4B9847FAE788260020DD0F010074 -:105E3000E10F0100191501004D230000195B00005E -:105E4000B55C00008D230000CD230000F50F01009C -:105E5000415D000070470000F0B585B00C46054676 -:105E6000002854D0002C57D00023ADF80830ADF8EE -:105E70000A302846364B98470138ADF80C002846C2 -:105E8000344B98470138ADF80E0002AA2146684607 -:105E9000314B9847002845D02B6913B169462846F5 -:105EA0009847B5F86831C3F309039BB100210C464C -:105EB0000F462A4E09313A4605EBC1016846B04704 -:105EC00080BB0134A4B22146B5F86831C3F309039D -:105ED0009C42EFDB1F2B27DC093305EBC3030DF1DD -:105EE000FF3203F1080012F8011F03F8011B83427F -:105EF000F9D1B5F86831C3F30902013262F309033D -:105F0000A5F868310321E86A154B98470AE0154B5C -:105F10009847054630B1A5E7B5F868316FF3090336 -:105F2000A5F8683105B0F0BDB5F868316FF3090325 -:105F3000A5F868310DF1070205F1500005F148039D -:105F400012F8011F03F8011B8342F9D1D1E700BF0A -:105F5000ED0E0100150F0100191501006D1701006C -:105F600059390100E10E0100014B1868704700BF6C -:105F7000882600202DE9F04F8DB00546B74B984795 -:105F80000990B74CEB68236000212846B54B984731 -:105F90002068C36B7BB1B0F86831C3F30903002BF1 -:105FA00000F078824FF048080027AD4DDFF8E4A2FA -:105FB000DFF8C8B24DE0B0F868316FF30903A0F81C -:105FC000683162E22644012386F8483101342868AA -:105FD000B0F86831C3F309039C4230D2031993F837 -:105FE0004831002BF2D1A742F0D004F10906F600A7 -:105FF00081194044D0470028E8D029688A194144D3 -:106000000AA8994B98470AA8D847039028684044A3 -:10601000D847814628683044D8474844039B834288 -:10602000D4D22E6806EB08030DF1270203F1080015 -:1060300012F8011F03F8011B8342F9D1C2E70137AF -:106040002868B0F86831C3F3090308F108089F42D3 -:106050000ED2384490F84831002BF0D12868B0F8BF -:106060006831C3F30903002B00F0FA810024B5E77F -:1060700000217B4A5160002B00F0FA815A1E114624 -:10608000079232D4821892F848217AB103F247136A -:1060900003440A46013AB2F1FF3F05D013F8011D4F -:1060A0000029F7D1079201E000230793426892F894 -:1060B00020306FF3000382F82030426892F82030DD -:1060C0006FF3410382F82030654B1C68B4F86831E7 -:1060D000C3F30903002B00F0CB81482306934FF054 -:1060E000000ADFF87CB1274645E000230793DDE78F -:1060F0007A6892F8203043F0010382F8203043E0C0 -:10610000DBF80000594B9847044600250582DBF870 -:106110000000574B98470138A0826582DBF80000E9 -:10612000544B98470138E082DBF800305A6892F807 -:10613000203043F0020382F8203003984E4B9847FA -:10614000DBF80000836943B1069B18444B4B98472A -:10615000DBF804300344CBF804300AF1010ADBF821 -:106160000070069B08330693B7F86831C3F3090340 -:106170009A4580F27D8107EB0A0393F84831002BA2 -:10618000EBD1079B5345B3D07A6892F820306FF378 -:10619000410382F82030069BFB1803933846384BA6 -:1061A00098470028ACD1DBF80000304B98470646F2 -:1061B00007EBCA07B7F84C400134B7F84830E41A87 -:1061C00024B2B7F94E5005F10108B7F84A30A8EBF0 -:1061D00003080FFA88F8DBF80000264B9847854241 -:1061E00034DAB7F94E90F368B3FBF4F39845A8BFDF -:1061F0009846DBF800301B69002B52D00023ADF825 -:106200002830ADF82C30ADF82A300FFA88F56C1E26 -:1062100024B2ADF82E40DBF8000003690AA99847C4 -:10622000BDF92E104B1CBDF82A209B1A1BB29845B5 -:1062300032DA2546002CEADC124B0093124B40F276 -:106240009F1212490220124CA04779E7DBF80000A8 -:10625000084B984701380FFA80F9C4E7591001003C -:1062600088260020593901006F150100DD0F01005B -:10627000ED0E0100150F0100B95D0000FD140100D5 -:10628000F50F01002C4A0200F0490200004A02000A -:106290005D22010029170100002DC8BF01F101088E -:1062A000CADDB7F94A40CDF8109004EB0803013B72 -:1062B0004B454BDC1FFA88F30593013BCDF820A03A -:1062C0009A460DE0A9451CD00398784B9847059B4A -:1062D0001C4424B204EB0803013B049A93421ADCE9 -:1062E000B7F948303382B7F94C30B3827482A4B224 -:1062F00004EB0A052DB2F582A945E3DAA6F816905B -:106300004D46DBF800305A6892F8203043F0020323 -:1063100082F82030D8E7DDF820A0A9453FF410AF7F -:10632000B7F948303382B7F94C30B3827482A6F89B -:106330001690DBF800305A6892F8203043F00203E0 -:1063400082F820300398594B9847F9E60025E4E796 -:10635000574B984718B1574B18684369EBB1554CE8 -:1063600020684FF480714830534DA84720682021A1 -:1063700000F5A470A8472368B3F868216FF30902F9 -:10638000A3F8682109984D4B984701462068836916 -:10639000002B76D06268984773E0494B98470446D3 -:1063A000484B9847A369002BFCD1A3680393D4F80A -:1063B00000A0534508BFD4F804A03E4C2068424BCF -:1063C000984704902368B3F86821C2F30902002AB1 -:1063D000C5D0450000229046A1460CE008F1010816 -:1063E0001FFA88F84246D9F80030B3F86811C1F3B3 -:1063F00009018845B3DA991891F848110029EDD1BF -:1064000003EBC203B3F94A70B3F94810049807FBD1 -:1064100000167600B3F84C3001335B1A1BB25B00F8 -:106420000593D9F8003003EBC203B3F94E30BB42F9 -:10643000D4DB039B03EB060B56440932D400059AC8 -:1064400031465846214B984701373FB2AB442E4462 -:10645000D9F800302344B3F90630BB42EFDABDE788 -:106460000022144B5A60B0F86831C3F309037BB9BA -:10647000104B1868B0F86831C3F30903002B7FF4A0 -:1064800067AF134B9847134B98470DB0BDE8F08F9B -:1064900007920BE60022074B5A60B0F86831C3F34D -:1064A0000903002BEDD0079200E600BFB95D0000A4 -:1064B000F50F010088260020372B01007110010024 -:1064C000DD0F0100415D0000ED0E010055260100C9 -:1064D000F9250100F50C010008B50421014B98478E -:1064E00008BD00BF372B010008B50821014B9847B4 -:1064F00008BD00BF372B010070B582B00679002EB1 -:1065000055D004460068036899420AD00346751EB8 -:10651000EDB200EB85059D4249D053F8042F8A4225 -:10652000F9D10D46012E0ED0711E8900214B9847DE -:106530000646214B984780B1EEB12179002933D02E -:106540000022134626E01D4B984700232360237149 -:10655000627963F30002627129E0194B00934FF4F2 -:10656000827218490320184CA0473246002317486E -:1065700017498847FEE7174B0093114B4FF483727E -:1065800010490220104CA04711E00133DBB2217901 -:10659000994209D9216851F823108D42F5D046F867 -:1065A00022100132D2B2F0E701392171266002B027 -:1065B00070BD00BF99280100B1220000C524010070 -:1065C0007C4A02003C4B02005D220100D83F0200E1 -:1065D000B9220000684B0200002851D070B582B08B -:1065E00004460E46274B9847237963BB0420264B6D -:1065F000984705462846254B984758B3002D36D076 -:106600006379C3F3400013F0010F18BF0130237901 -:10661000984210D205EB830103F18042013A013B1D -:106620001B1ADBB2D31A05EB830351F8042C41F893 -:1066300004299942F9D145F8206023790133237167 -:10664000256002B070BD013399002068104B984757 -:106650000546CFE70F4B0093D0220F4903200F4C84 -:10666000A0472A4600230E480E498847FEE70E4BF6 -:106670000093084BD22208490220084CA047E0E7CB -:10668000704700BFF9640000DD230100B122000063 -:1066900099280100984A02003C4B02005D2201004B -:1066A000D83F0200B9220000A44B020030B583B0ED -:1066B000437913F0010F10D003F00603062B14BF2B -:1066C000002301230279002A34D09A4234D9026887 -:1066D00052F82340204603B030BD05460420174B36 -:1066E00098470446164B984760B1CCB12046154BED -:1066F000984721462846144B98476B7943F001038D -:106700006B71E7E7114B009340F2354210490320CB -:10671000104DA847224600230F4810498847FEE73E -:106720000F4B0093094B40F2374209490220094DB3 -:10673000A847CFE70024CDE70024CBE7DD23010005 -:10674000B1220000D9640000D9650000B44A0200FB -:106750003C4B02005D220100D83F0200B92200003C -:10676000D44B020010B504460068024B9847002342 -:10677000236010BDC52401000268D2B11378FF2B3D -:1067800013D0002006E00B2B0ADC02300230135C31 -:10679000FF2B0BD003F00F03082BF4DC0230F5E7DE -:1067A0000D2BD4BF01300430F0E70020023080B25E -:1067B000704700207047000081B170B50C460A6830 -:1067C0005AB105460846064B98470646054B98477A -:1067D000286032462168044B984770BD704700BF5F -:1067E00079670000DD2301005526010000286BD0E9 -:1067F0002DE9F8430746006800286AD0CDB20E0A9A -:10680000B4460378FF2B3BD04FF0FF3EF04600220A -:10681000CCF3060C27E08418647886EA040919F0A2 -:106820007F0F0BD004F07F0434EA0C091DD14445DE -:10683000C4BF0FFA84F80FFA82FE16E09646BEF146 -:10684000000F43DB7446704443785E4016F07F0FC0 -:1068500019D00020BDE8F8830B2B0CDC0232023289 -:10686000835CFF2BEBD09D42D5D003F00F03082BA8 -:10687000F2DC0232F3E70D2BD4BF01320432EEE733 -:106880004FF0FF3EDBE70D463846134B984705F0C7 -:106890000F010B2904DD0E29B4BF0321062100E0FE -:1068A00004210D46411A8C4207D223463A685419F6 -:1068B000E45CD45401338B42F8D13868074B9847D5 -:1068C00038600120BDE8F883002070470020BDE853 -:1068D000F8830020BDE8F88379670000992801005B -:1068E0002DE9F04186B0ADF80E10ADF80C2004682B -:1068F000002C48D0CFB20D0AAE462378FF2B2CD007 -:106900004FF0FF3188460022CEF3060E18E0A6189D -:10691000767885EA060C1CF07F0F21D006F07F0602 -:1069200036EA0E0C0ED14645C4BF0FFA86F811B2F6 -:1069300008E00B2B0CDC02320232A35CFF2B0ED0E2 -:106940009F42E4D003F00F03082BF2DC0232F3E79E -:106950000D2BD4BF01320432EEE74FF0FF310A466F -:10696000002A10DBA3185B785D4015F07F0F0AD179 -:106970000232A3189DF80C10A1549DF80D205A70F6 -:1069800006B0BDE8F0810646FF23ADF816301D4B7A -:106990009847002808BF0220051DADB229462046B1 -:1069A000194B98473060194B9847E8B1002EE7D053 -:1069B000AB1F3268D1189DF80E00D0549DF80F30EF -:1069C0004B702B1F3268D1189DF80C00D0549DF8E5 -:1069D0000D304B70023D33685A199DF81610595509 -:1069E0009DF817305370CBE7094B00934FF4C372F7 -:1069F00008490320084CA04732680023074808498B -:106A00008847FEE77967000099280100B12200005D -:106A1000CC4A02003C4B02005D220100D83F02003C -:106A2000B92200002DE9F04186B0ADF80C20ADF898 -:106A30000E100468002C48D0CFB20D0AAE46237861 -:106A4000FF2B2CD04FF0FF3188460022CEF3060EEC -:106A500018E0A618767885EA060C1CF07F0F21D086 -:106A600006F07F0636EA0E0C0ED14645C4BF0FFA7B -:106A700086F811B208E00B2B0CDC02320232A35C68 -:106A8000FF2B0ED09F42E4D003F00F03082BF2DC63 -:106A90000232F3E70D2BD4BF01320432EEE74FF0A0 -:106AA000FF310A46002A10DBA3185B785D4015F021 -:106AB0007F0F0AD10232A3189DF80C10A1549DF843 -:106AC0000D205A7006B0BDE8F0810646FF23ADF8F0 -:106AD00016301D4B9847002808BF0220051DADB297 -:106AE00029462046194B98473060194B9847E8B122 -:106AF000002EE7D0AB1F3268D1189DF80E00D0549D -:106B00009DF80F304B702B1F3268D1189DF80C0088 -:106B1000D0549DF80D304B70023D33685A199DF8E2 -:106B2000161059559DF817305370CBE7094B009359 -:106B300040F2B51208490320084CA04732680023F0 -:106B4000074808498847FEE779670000992801004F -:106B5000B1220000E04A02003C4B02005D2201002D -:106B6000D83F0200B92200002DE9F04387B0ADF80C -:106B70000E100468002C43D05FFA81FE0D0AAC466B -:106B80002378FF2B2CD04FF0FF37B8460021CCF3F1 -:106B9000060C18E06618767885EA060919F07F0F6A -:106BA00021D006F07F0636EA0C090ED14645C4BF57 -:106BB0000FFA86F80FB208E00B2B0CDC0231023121 -:106BC000635CFF2B0ED09E45E4D003F00F03082B2F -:106BD000F2DC0231F3E70D2BD4BF01310431EEE7D3 -:106BE0004FF0FF37394600290ADB63185B785D40B8 -:106BF00015F07F0F04D121448A7007B0BDE8F083FF -:106C000017460646FF23ADF816301B4B9847002861 -:106C100008BF0220C51CADB229462046174B984735 -:106C20003060174B9847C0B1002EE6D06B1F32681A -:106C3000D1189DF80E00D0549DF80F304B7033687A -:106C40002B4403F8037C023D33685A199DF8161053 -:106C500059559DF817305370CFE70A4B00934FF406 -:106C6000F27209490320094CA04732680023084802 -:106C700008498847FEE700BF7967000099280100AE -:106C8000B1220000F44A02003C4B02005D220100E8 -:106C9000D83F0200B92200002DE9F04186B00292EF -:106CA000ADF80E100468002C4ED0CFB20D0AAE46DF -:106CB0002378FF2B2CD04FF0FF3188460022CEF3F3 -:106CC000060E18E0A618767885EA060C1CF07F0FF1 -:106CD00021D006F07F0636EA0E0C0ED14645C4BF21 -:106CE0000FFA86F811B208E00B2B0CDC02320232EC -:106CF000A35CFF2B0ED09F42E4D003F00F03082BC0 -:106D0000F2DC0232F3E70D2BD4BF01320432EEE79E -:106D10004FF0FF310A46002A16DBA3185B785D406E -:106D200015F07F0F10D10232A3189DF80810A1545E -:106D30009DF809205A709DF80A209A709DF80B2042 -:106D4000DA7006B0BDE8F0810646FF23ADF81630D4 -:106D5000204B9847002808BF0220851DADB2294668 -:106D600020461D4B984730601C4B984720B3002E9F -:106D7000E7D0A5F108033268D1189DF80E00D05471 -:106D80009DF80F304B70AA1F31688B189DF80800D2 -:106D900088549DF809205A709DF80A209A709DF831 -:106DA0000B20DA70023D33685A199DF816105955B8 -:106DB0009DF817305370C4E7094B009340F213223B -:106DC00008490320084CA0473268002307480849B7 -:106DD0008847FEE77967000099280100B12200008A -:106DE000084B02003C4B02005D220100D83F02002C -:106DF000B922000000284DD02DE9F04384460468F4 -:106E0000002C4AD0CEB2090A8E462378FF2B3ED002 -:106E10004FF0FF37B8460020CEF3060E2AE02518C3 -:106E20006D7881EA050919F07F0F0AD005F07F051A -:106E300035EA0E0920D14545C4BF0FFA85F807B2DF -:106E40001AE00746002F2CDBBB1CE018E35C137034 -:106E500043785370DCF8000007447878C1F30601EA -:106E60000840BDE8F0830B2B0CDC02300230235CC1 -:106E7000FF2BE7D09E42D2D003F00F03082BF2DCA9 -:106E80000230F3E70D2BD4BF01300430EEE74FF0B2 -:106E9000FF37D7E74FF0FF3070474FF0FF30BDE8C6 -:106EA000F0834FF0FF30BDE8F08300284AD02DE991 -:106EB000F04386460468002C47D0CEB2090A8C46BF -:106EC0002378FF2B3BD04FF0FF37B8460020CCF3A0 -:106ED000060C27E025186D7881EA050919F07F0F67 -:106EE0000AD005F07F0535EA0C091DD14545C4BF20 -:106EF0000FFA85F807B217E00746002F29DB3C445C -:106F0000A3781370DEF8000007447878C1F3060117 -:106F10000840BDE8F0830B2B0CDC02300230235C10 -:106F2000FF2BEAD09E42D5D003F00F03082BF2DCF2 -:106F30000230F3E70D2BD4BF01300430EEE74FF001 -:106F4000FF37DAE74FF0FF3070474FF0FF30BDE812 -:106F5000F0834FF0FF30BDE8F08300284DD02DE9DD -:106F6000F04384460468002C4AD0CEB2090A8E460B -:106F70002378FF2B3ED04FF0FF37B8460020CEF3EA -:106F8000060E2AE025186D7881EA050919F07F0FB1 -:106F90000AD005F07F0535EA0E0920D14545C4BF6A -:106FA0000FFA85F807B21AE00746002F2CDBBB1C4E -:106FB000E018E35C137043785370DCF8000007447A -:106FC0007878C1F306010840BDE8F0830B2B0CDC98 -:106FD00002300230235CFF2BE7D09E42D2D003F078 -:106FE0000F03082BF2DC0230F3E70D2BD4BF013086 -:106FF0000430EEE74FF0FF37D7E74FF0FF30704730 -:107000004FF0FF30BDE8F0834FF0FF30BDE8F08374 -:10701000002850D02DE9F04307460468002C4DD0DD -:10702000CEB2090A8C462378FF2B2DD04FF0FF3EBD -:10703000F0460020CCF3060C19E025186D7881EAA3 -:10704000050919F07F0F22D005F07F0535EA0C09FC -:107050000FD14545C4BF0FFA85F80FFA80FE08E04E -:107060000B2B0CDC02300230235CFF2B0ED09E4237 -:10707000E3D003F00F03082BF2DC0230F3E70D2B13 -:10708000D4BF01300430EEE74FF0FF3E70460028D9 -:1070900018DB054601302318141D13F8010F02F800 -:1070A000010B9442F9D13B682B445878C1F3060197 -:1070B0000840BDE8F0834FF0FF3070474FF0FF30DD -:1070C000BDE8F0834FF0FF30BDE8F083437913F063 -:1070D000010F06D013F0020F036814BF5868186838 -:1070E000704700207047437913F0020F1ABF0368FE -:1070F000186800207047000000282CD038B50446DE -:10710000437913F0010F08D0134B9847054620B17F -:10711000124B98472846124B9847637913F0020F99 -:1071200009D020460F4B9847054620B10B4B984796 -:1071300028460B4B984723794BB9002222602271D5 -:10714000637903F0FC0362F38203637138BD206846 -:10715000034B9847F1E77047CD700000656700006A -:10716000C5240100E770000070B505460C462C4BA5 -:1071700098472368002B41D0637913F0010F20D189 -:1071800013F0020F10D0207901388000254B98476A -:1071900028602279013A216892000431224B9847F5 -:1071A0002379013B2B7170BD207980001D4B9847DE -:1071B00028602279920021681B4B984723792B7114 -:1071C00070BD13F0020F1AD0207902388000154BE1 -:1071D000984728602279023A216892000831124BC0 -:1071E00098472379023B2B712846104DA847064645 -:1071F0002046A847014630460D4B984770BD207980 -:1072000001388000074B984728602279013A2168AD -:1072100092000431044B98472379013B2B71E3E73B -:10722000F9700000DD23010055260100AD66000065 -:10723000B967000030B583B00446437913F0020FFC -:1072400005D01D4B98470546284603B030BD0420A5 -:107250001A4B984705461A4B9847A8B115B32846CC -:10726000184B984729462046174B9847637943F0B7 -:107270000203637113F0010FE6D023681A6859689E -:10728000196023685A60DFE7104B009340F2CD226B -:107290000F4903200F4CA0472A4600230E480F49F0 -:1072A0008847FEE70E4B0093084B40F2CF22084977 -:1072B0000220084CA047C7E7E7700000DD2301006B -:1072C000B1220000D9640000D96500001C4B020007 -:1072D0003C4B02005D220100D83F0200B9220000B1 -:1072E000044C0200002859D02DE9F04F83B0054628 -:1072F0000368002B54D04FEA11280023ADF8063064 -:107300000079002842D0934689461C464FF0FF364C -:107310009A46244F1CE050460DF106024946B847F4 -:10732000804527D06B7913F0020F05D0002803DBCE -:1073300014B913F0040F23D0B04204DDBDF80630B9 -:10734000ABF800300646013424B2287984421FDAB3 -:10735000E2B26B7903F00603062B04BF0132D2B20E -:107360000028D8D0824203D22B6853F82200D3E7FA -:107370005046D1E7BDF80630ABF8003001200AE0F6 -:10738000BDF80630ABF80030012004E04FF0FF36C6 -:10739000F043C0F3C03003B0BDE8F08F0020704769 -:1073A0000020F8E7F56D0000002858D02DE9F04FD7 -:1073B00083B005460368002B53D04FEA1128002301 -:1073C000ADF804300079002841D0934689461C4628 -:1073D0004FF0FF369A46244F1BE0504601AA49461B -:1073E000B847804527D06B7913F0020F05D00028ED -:1073F00003DB14B913F0040F23D0B04204DDBDF851 -:107400000430ABF800300646013424B228798442B7 -:107410001FDAE2B26B7903F00603062B04BF0132D8 -:10742000D2B20028D9D0824203D22B6853F822006E -:10743000D4E75046D2E7BDF80430ABF80030012065 -:107440000AE0BDF80430ABF80030012004E04FF052 -:10745000FF36F043C0F3C03003B0BDE8F08F00202A -:1074600070470020F8E700BF5B6F0000002859D08C -:107470002DE9F04F83B005460368002B54D04FEA46 -:10748000112800238DF807300079002842D0934658 -:1074900089461C464FF0FF369A46244F1CE0504662 -:1074A0000DF107024946B847804527D06B7913F0A4 -:1074B000020F05D0002803DB14B913F0040F23D00A -:1074C000B04204DD9DF807308BF8003006460134E9 -:1074D00024B2287984421FDAE2B26B7903F0060302 -:1074E000062B04BF0132D2B20028D8D0824203D288 -:1074F0002B6853F82200D3E75046D1E79DF80730B8 -:107500008BF8003001200AE09DF807308BF800303E -:10751000012004E04FF0FF36F043C0F3C03003B069 -:10752000BDE8F08F002070470020F8E7AB6E000048 -:10753000002852D02DE9F04F83B005460368002B98 -:107540004DD04FEA1128007900283ED09346894655 -:1075500000244FF0FF36A246224F1AE0504601AAFF -:107560004946B847804526D06B7913F0020F05D005 -:10757000002803DB14B913F0040F21D0B04203DD5F -:10758000019BCBF800300646013424B228798442AE -:107590001DDAE2B26B7903F00603062B04BF013259 -:1075A000D2B20028DAD0824203D22B6853F82200EC -:1075B000D5E75046D3E7019BCBF80030012009E026 -:1075C000019BCBF80030012004E04FF0FF36F04380 -:1075D000C0F3C03003B0BDE8F08F0020704700203A -:1075E000F8E700BF11700000F0B501F01F0EC1F305 -:1075F0004516C1F3C421052A3FD9C0F3C4240C4465 -:107600001F2C28BF1F2404F01F04C0F3451333446C -:107610003F2B28BF3F2303F03F0500F01F007044BD -:107620001F2828BF1F2000F01F03FF2A2ED0C2F101 -:10763000FF0707FB0EF002FB030000EB002300EB4B -:10764000C310C30D4FF0000063F3040007FB06F303 -:1076500002FB053303EB032503EBC513DB0D63F3DB -:107660004A1007FB01F102FB041202EB022302EBBA -:10767000C312D20D62F3CF20F0BD4FF000006EF3C5 -:10768000040066F34A1061F3CF20F0BD4FF0000014 -:1076900063F3040065F34A1064F3CF20F0BDF0B546 -:1076A00001F01F0EC1F34516C1F3C421052A3DD9CF -:1076B000C0F3C4240C1B24EAE47404F01F04C0F3D8 -:1076C0004513F31A23EAE37303F03F0500F01F00AC -:1076D000AEEB000020EAE07000F01F03FF2A2ED07E -:1076E000C2F1FF0707FB0EF002FB030000EB0023D3 -:1076F00000EBC310C30D4FF0000063F3040007FB61 -:1077000006F302FB053303EB032503EBC513DB0D87 -:1077100063F34A1007FB01F102FB041202EB0223A0 -:1077200002EBC312D20D62F3CF20F0BD4FF0000088 -:107730006EF3040066F34A1061F3CF20F0BD4FF002 -:10774000000063F3040065F34A1064F3CF20F0BD3A -:107750002DE9F04F93B09DF870409DF874B09DF8FE -:107760007890BBF1040F00D914B913B0BDE8F08FC5 -:107770000893ADF824200E460546BA4B984780463C -:10778000B94B98470746826806923246294610A8A8 -:10779000B64B98470028E8D03A8ABDF840309B1A8B -:1077A00099B20D460A9108B20B90ADF840007B8A61 -:1077B000BDF84210C91A0FFA81FCADF842C0BDF8FD -:1077C0004400801A80B2ADF84400BDF846E0AEEB4C -:1077D000030E0FFA8EFEADF846E0089AAAB198F8AB -:1077E000083013F0010F10D1411C491B09B20029C8 -:1077F0000BDD134611441A78802A4FF0FF3298BFF0 -:10780000002203F8012B8B42F5D1D8F81430002B5D -:1078100077D0BDF82480934B98470546BB8A013347 -:107820003A8A9B1A1BB20793012C3ED0BDF9402027 -:10783000089B9F1ABDF8443001339B1A1BB2089372 -:10784000BDF942A0BDF946309A458EDCBDF94060D5 -:107850003446BDF944309E421EDC3E440FFA8AF99C -:1078600005964B46B9461F46059A12F8013B05920C -:1078700003FB0BF3C3F307230293ADF804800097D7 -:1078800023B2079A069928466E69B0470134BDF9BC -:1078900044309C42E8DD4F46089B1F440AF1010A30 -:1078A000BDF946309A45D1DD5FE7BDF94290BDF99B -:1078B000463099453FF759AFDDF81CA05E46DDF82C -:1078C00018B0BDF94040BDF944309C4212DC0FFABB -:1078D00089F705970296ADF80480059B009323B2C3 -:1078E0005246594628466F69B8470134BDF94430BD -:1078F0009C42EFDD09F10109BDF946309945E0DD13 -:1079000033E7B9F1000F40F0A083BDF82430ADF8A3 -:107910001C30544B98470646BB8A01333F8ADF1B15 -:107920003FB2BDF94020BDF8443001339B1A1BB271 -:107930000B931D46BDF94600BDF94230411CC91AE2 -:1079400009B20C910A9303FB0722069901EB42014D -:107950000591012C29D0BBF1FA0F00F20881834276 -:107960003FF703AF069B33F81230BDF82460C6F32F -:10797000C42CC6F34512104606F01F0214467A00C6 -:107980000C920B9A08990139069152000E921946F1 -:107990004FF0000E7246B6B20896CDF824B00D95A1 -:1079A000A146CDF81CB0834645E3BBF1FA0F25D9BB -:1079B000736A23B110A82E4B9847F02813D80C9B5C -:1079C000002B7FF7D2AE7F0000242A4DDDF83080F7 -:1079D000059E0B9ABDF81C103046A8473E44013462 -:1079E000A045F6D1C1E6BDF82430ADF80030746A88 -:1079F00010AB3A4606993046A047B6E6336A002BEC -:107A00003CD010A81A4B9847F02837D90B99002979 -:107A10000CDDBDF82480184A931E01F100410139A4 -:107A200002EB410223F8028F9A42FBD1BDF942508A -:107A3000BDF946309D423FF798AE4FEA4708DFF860 -:107A400038A0DDF814905C4600940B9B52464946E2 -:107A50003046376AB847C1440135BDF946309D42CA -:107A6000F2DD82E6695F0000DD0F010019150100FB -:107A7000FD1401003B1B0100902600204FF0000E7A -:107A8000BDF8242002F01F09C2F34518C2F3C42C2C -:107A90000BFB0CF303EB032103EBC113C3F3C45142 -:107AA0000BFB08F303EB032403EBC413C3F3C5542C -:107AB0000BFB09F303EB032203EBC213C3F3C45222 -:107AC0001FFA8BF30CFB03FC08FB03F809FB03F91B -:107AD0006FEA0B03DBB20C9800287FF746AE780004 -:107AE00007900B9840000890002006909FB236E067 -:107AF000307862F304003070308864F34A103080CC -:107B0000000A61F3C700707002339B451CD01E460B -:107B10001FFA8EF0B3F800A05045E9D0B3F800E0AA -:107B20005978C90801FB07C1C1F30421CEF34514FC -:107B300004FB0784C4F305241A7802F01F0202FB39 -:107B40000792C2F30422D3E7059B079803440593E9 -:107B5000069B013306930C9898423FF406AE002D25 -:107B6000F2DD05980346089E00EB060BCFE70C9B61 -:107B7000002B7FF7FAAD0B9B043B0D937B000F931B -:107B800000230A93BDF81C20C2F3C42CC2F3451E87 -:107B9000C2F304030693DEE1BDF81C303B8043468C -:107BA00001318D4200F04C83023718F0030F00F0D2 -:107BB000558318F8013B002BF1D0FF2BECD0C3F11B -:107BC000FF097A78D20809FB02F203FB0C2202EBD0 -:107BD000022002EBC012C2F3C4523888C0F3451031 -:107BE00009FB00F003FB0E0000EB002600EBC610C3 -:107BF000C0F3C5503E7806F01F0A09FB0AF903FBE3 -:107C0000049303EB032903EBC913DB0D63F30406B1 -:107C10003E703B8860F34A133B801B0A62F3C70344 -:107C20007B70BCE7BDF81C4020F8064C20F8044CE3 -:107C300020F8024C04800431043308308F42C0F233 -:107C400029811A4653F8044C002CF4D0B4F1FF3FBC -:107C5000E8D013F8048CB8F1000F3FD0B8F1FF0F53 -:107C600000F00581C8F1FF0610F8054CE40806FB9A -:107C700004F408FB0C4404EB042504EBC514C4F322 -:107C8000C454099430F8065CC5F3451506FB05F5A8 -:107C900008FB0E5505EB052905EBC915C5F3C555C0 -:107CA00010F8069C09F01F0B06FB0BF6069C08FB60 -:107CB000046808EB082608EBC616F60D66F30409FF -:107CC00000F8069C30F8066C65F34A1620F8066C3E -:107CD000360A099C64F3C70600F8056C12F8038C99 -:107CE000B8F1000F3FD0B8F1FF0F00F0C580C8F128 -:107CF000FF0610F8034CE40806FB04F408FB0C44F0 -:107D000004EB042504EBC514C4F3C454099430F8FF -:107D1000045CC5F3451506FB05F508FB0E5505EBA0 -:107D2000052905EBC915C5F3C55510F8049C09F0E4 -:107D30001F0B06FB0BF6069C08FB046808EB0826E5 -:107D400008EBC616F60D66F3040900F8049C30F83B -:107D5000046C65F34A1620F8046C360A099C64F337 -:107D6000C70600F8036C12F8028CB8F1000F3FD080 -:107D7000B8F1FF0F00F08580C8F1FF0610F8014C44 -:107D8000E40806FB04F408FB0C4404EB042504EBB4 -:107D9000C514C4F3C454099430F8025CC5F3451506 -:107DA00006FB05F508FB0E5505EB052905EBC91586 -:107DB000C5F3C55510F8029C09F01F0B06FB0BF626 -:107DC000069C08FB046808EB082608EBC616F60DAF -:107DD00066F3040900F8029C30F8026C65F34A1659 -:107DE00020F8026C360A099C64F3C70600F8016C9F -:107DF00012F8018CB8F1000F3FF41DAFB8F1FF0F7E -:107E000044D0C8F1FF064478E40806FB04F408FBFC -:107E10000C4404EB042504EBC514C4F3C45B0588CF -:107E2000C5F3451506FB05F508FB0E5505EB0529C1 -:107E300005EBC915C5F3C55590F8009009F01F0A68 -:107E400006FB0AF6069C08FB046808EB082608EB0C -:107E5000C616F60D66F3040980F80090068865F3EF -:107E60004A160680360A6BF3C7064670E3E6BDF88D -:107E70001C4020F8064C31E7BDF81C4020F8044CAB -:107E800071E7BDF81C4020F8024CB1E7BDF81C407A -:107E90000480D0E60E9D8D424EDD541E059B03EB03 -:107EA0004108069E08E0BDF81C30A8F800300131FA -:107EB00008F102088D423FDD14F8013F002BF6D097 -:107EC000FF2BF0D0C3F1FF0998F80120D20809FB7D -:107ED00002F203FB0C2202EB022002EBC012C2F3FF -:107EE000C452B8F80000C0F3451009FB00F003FBD2 -:107EF0000E0000EB002700EBC710C0F3C55098F848 -:107F0000007007F01F0A09FB0AF903FB069303EB55 -:107F1000032903EBC913DB0D63F3040788F8007032 -:107F2000B8F8003060F34A13A8F800301B0A62F377 -:107F3000C70388F80130BAE7059B0F9A13440593ED -:107F4000089B0B9A134408930A9B01330A930C9ADB -:107F50009A423FF40AAC002D40F37081089A12F067 -:107F6000030F00F07981059F90460021069C20E6D2 -:107F7000FF2A02D0DDF824E004E0DDF824E02A88BE -:107F80009A4232D0BEF1FF0F42D0CEF1FF046B789F -:107F9000DB080EFB0CF204FB032303EB032203EBD1 -:107FA000C213C3F3C4532A88C2F345120BFB0EF16C -:107FB00004FB021202EB022102EBC112C2F3C55212 -:107FC000297801F01F0109FB0EF604FB016101EBAA -:107FD000012601EBC611C90D61F3040A62F34A1AC6 -:107FE00063F3CF2A1FFA8AF12B88298002460235D3 -:107FF000A8450FD017F8010F0028F8D09042BED046 -:10800000FF28B5D0079B03FB00FECEF3072EB9E790 -:108010000899E9E705980C9C204405900A980130DE -:1080200004460A9006980B9D28440690BDF9460028 -:1080300084423FF79AAB0D980028EBDD0598054682 -:108040000E9C00EB0408069FD4E7BDF82450B9F15C -:10805000010F40D0B9F1020F32D1834B0593BDF827 -:10806000242002F01F08C2F34516C2F3C423994628 -:10807000BA8A01323B8AD31A1FB2CDF824C00CFB56 -:1080800007F3069A02EB43020792012C26D0013037 -:108090000A9A801A02B20C92089A0B99521A089204 -:1080A000069A32F81320F4453FF75FAB7B000B9341 -:1080B00010460021CDF818B0CDF828B0CB46B0E07E -:1080C0006A4B00936A4B4FF404726A4902206A4C6F -:1080D000A047FFF74ABB694B0593C0E74FF0000A82 -:1080E0000BFB09F303EB032003EBC013C3F3C450F2 -:1080F0000BFB06F303EB032203EBC213C3F3C552DE -:108100000BFB08F303EB032103EBC113C3F3C453CD -:10811000F4453FF72AAB79000891CDF818B0CB466B -:108120003AE0217863F304012170218862F34A1157 -:108130002180090A60F3C701617009F10109023762 -:10814000BDF9441089451ADC3C461FFA8AF1B7F89C -:1081500000E07145E5D0B7F800A068F3040566F3C8 -:108160004A156BF3CF25069A51462846059B98473A -:1081700000F01F03C0F34512C0F3C420D1E70799F4 -:10818000089C21440791099901310C460991BDF9D8 -:1081900046108C423FF7E9AABDF94070B946BDF9D7 -:1081A00044108F42EBDC079901EB4707CCE7F92B32 -:1081B0009DBF0A9A5343C3F30722069A68F3040546 -:1081C00066F34A156BF3CF2521882846059B98470F -:1081D00080B29AF800102288208009F10109013745 -:1081E0000234BDF9443099450ADCBA463B78002B8D -:1081F000F3D08B42DBD1B4F800E09645D7D1EBE762 -:10820000079B0B9C23440793089B0C9C23440893D7 -:10821000099B01331C460993BDF946309C423FF748 -:10822000A4AABDF94040A146BDF944309C42E7DC18 -:10823000089B1F19079B03EB4404D6E7089B00210A -:108240000D9A8A42FFF678AE0433C81C059A02EBF9 -:1082500040000E950D9FF4E4089B00210D9A8A4280 -:10826000F2DA1A4619E600BF9F760000904C020031 -:10827000444C0200604C02005D220100E9750000E0 -:108280002DE9F04F91B09DF868409DF86CA09DF8E5 -:108290007050BAF1040F00D914B911B0BDE8F08FD5 -:1082A000049307920F4601463A460EA8BC4B9847E6 -:1082B0000028F2D0BB4B98478046BB4B98470646F8 -:1082C00083680593028ABDF838309B1A9BB20693E7 -:1082D000BDF918C0ADF838C0438ABDF83AB0ABEB71 -:1082E000030B1FFA8BFB0FFA8BFEADF83AE0BDF8DB -:1082F0003C10891A89B2ADF83C10BDF83E00C01A96 -:1083000080B202B20892ADF83E20049AD2B198F839 -:10831000083013F0010F15D101F10109069BA9EBFB -:1083200003090FFA89F9B9F1000F0BDD13469144E7 -:108330001A78802A4FF0FF3298BF002203F8012BF1 -:108340004B45F5D1D8F81430002B00F0A980954B9F -:1083500098470546B6F91000B38A01331B1A1BB2C1 -:108360000693BDF93810B7F90020B7F8049009F169 -:108370000109A9EB02090FFA89F9BDF93AE0B7F949 -:108380000230B6F912609B1BAEEB0303121A8A1A75 -:1083900009FB03234FEA410BCBEB430B079B5B44E9 -:1083A0009B46012C46D0049B5B1A0793BDF93E30D7 -:1083B0009E453FF772AFBDF93C304FEA4902089243 -:1083C0000133591A0BB20993F146BDF938603446AE -:1083D000BDF93C309E4220DC079B03EB06080BEB0B -:1083E00046060FFA89F7049618F8013B03FB0AF3D7 -:1083F000C3F307230293049A32F8023B0492ADF8C8 -:108400000430009723B2069A059928466E69B04752 -:108410000134BDF93C309C42E6DD079B099A1344C8 -:108420000793089B9B4409F10109BDF93E3099452A -:10843000CBDD32E7BDF93E307345FFF62EAF4FEA94 -:108440004909F046BDF938703C46BDF93C309F42C1 -:108450001EDC0BEB47070FFA88F6049733465646A7 -:10846000CA4699460296049A32F8023B0492ADF845 -:108470000430CDF8009023B2069A059928466F691A -:10848000B8470134BDF93C309C42EBDDD146B246E1 -:10849000CB4408F10108BDF93E309845D2DDFCE639 -:1084A000002D40F09983B6F91030B6F8148008F129 -:1084B0000108A8EB03080FFA88F80131069A891A17 -:1084C0000AB2099215460130A0EB0B0B0FFA8BF2A2 -:1084D0000892B7F90010B7F8049009F10109A9EB67 -:1084E00001090FFA89F90EFB08C2059800EB420258 -:1084F0000592B7F90220B6F91200121AAEEB020E7D -:10850000CB1AACEB030309FB0E33079A02EB4303D0 -:108510000693244B98470646012C1BD0BAF1FA0F5C -:1085200000F2C580089B002B7FF7B7AE4FEA4803E7 -:108530000A934FEA49030B93099B049A013A049268 -:108540005B000D934FF0000BCDF81CA00C95DDF8EF -:10855000189036E3036A5BB30EA8144B9847F028D3 -:1085600026D9BDF93A50BDF93E309D423FF795AE50 -:108570004FEA48084FEA4909DDF814B0069FCDF8E4 -:1085800000A0099B3A4659463046346AA047C34486 -:108590004F440135BDF93E309D42F0DD7DE600BF20 -:1085A00019150100695F0000DD0F0100FD140100D5 -:1085B000BAF1FA0F10D8089B002B7FF76EAE4FEA86 -:1085C000480304934FEA4909099B4FEA430B4FF0D4 -:1085D0000008CAF1FF0E26E0089B002B7FF75DAE76 -:1085E000099A56004FEA48084FEA49090024664DA7 -:1085F0009B46059FDDF818A0324651463846A847ED -:108600004744CA440134A345F6D146E6059B049A83 -:1086100013440593069B4B44069308F10108089BFD -:1086200043453FF43AAE002DF0DD069B1F46059C06 -:1086300003EB0B0C7B78DB086278D2080EFB02F2AE -:108640000AFB032303EB032203EBC213C3F3C4535C -:108650003A88C2F345122188C1F345110EFB01F19E -:108660000AFB021202EB022102EBC112C2F3C55255 -:1086700017F8021B01F01F01207800F01F060EFB07 -:1086800006F60AFB016101EB012601EBC611C90DDB -:1086900061F304002070218862F34A112180090AE5 -:1086A00063F3C70161700234BC45C3D1AEE7099BD7 -:1086B000043B0A93089B002B7FF7EFAD4FEA48037A -:1086C0000C934FEA49030D930023079365E3B8F831 -:1086D0000030AEF80030634601318D4200F0478330 -:1086E00008F102080EF1020E1CF0030F00F02D83BA -:1086F0001CF8014B002CEED0FF2CE8D0C4F1FF0693 -:1087000098F80130DB089EF80120D20806FB02F23F -:1087100004FB032303EB032203EBC213C3F3C45391 -:10872000B8F80000C0F34510BEF80020C2F34512AF -:1087300006FB02F204FB002000EB002200EBC2105B -:10874000C0F3C55098F8002002F01F029EF8007098 -:1087500007F01F0906FB09F604FB026202EB022484 -:1087600002EBC412D20D3C4662F304048EF80040C2 -:10877000BEF8002060F34A12AEF80020120A63F33C -:10878000C7028EF80120A6E75526010034F8065CE2 -:1087900020F8065C34F8045C20F8045C34F8025CD1 -:1087A00020F8025C25880580043104330834083041 -:1087B0008E4540F347811A4653F8045C002DF3D0F0 -:1087C000B5F1FF3FE2D013F804CCBCF1000F47D065 -:1087D000BCF1FF0F00F02481CCF1FF0914F8055C17 -:1087E000ED0810F8056CF60809FB06F60CFB0565AC -:1087F00005EB052605EBC615C5F3C45534F8066C24 -:10880000C6F3451630F8067CC7F3451709FB07F792 -:108810000CFB067606EB062706EBC716C6F3C55615 -:1088200014F8067C07F01F0710F8068C08F01F0BE1 -:1088300009FB0BF90CFB079707EB072C07EBCC1791 -:10884000FF0D67F3040800F8068C30F8067C66F329 -:108850004A1720F8067C3F0A65F3C70700F8057C35 -:1088600012F803CCBCF1000F47D0BCF1FF0F00F0B1 -:10887000DC80CCF1FF0914F8035CED0810F8036C00 -:10888000F60809FB06F60CFB056505EB052605EB6E -:10889000C615C5F3C45534F8046CC6F3451630F854 -:1088A000047CC7F3451709FB07F70CFB067606EBBC -:1088B000062706EBC716C6F3C55614F8047C07F066 -:1088C0001F0710F8048C08F01F0B09FB0BF90CFBB9 -:1088D000079707EB072C07EBCC17FF0D67F304088E -:1088E00000F8048C30F8047C66F34A1720F8047C06 -:1088F0003F0A65F3C70700F8037C12F802CCBCF10D -:10890000000F47D0BCF1FF0F00F09480CCF1FF09BD -:1089100014F8015CED0810F8016CF60809FB06F686 -:108920000CFB056505EB052605EBC615C5F3C4551F -:1089300034F8026CC6F3451630F8027CC7F34517CD -:1089400009FB07F70CFB067606EB062706EBC716B6 -:10895000C6F3C55614F8027C07F01F0710F8028C06 -:1089600008F01F0B09FB0BF90CFB079707EB072C13 -:1089700007EBCC17FF0D67F3040800F8028C30F802 -:10898000027C66F34A1720F8027C3F0A65F3C707AA -:1089900000F8017C12F8018CB8F1000F3FF404AF2D -:1089A000B8F1FF0F4BD0C8F1FF096578ED084678A4 -:1089B000F60809FB06F608FB056505EB052605EB41 -:1089C000C615C5F3C4552688C6F345160788C7F3F0 -:1089D000451709FB07F708FB067606EB062706EBAB -:1089E000C716C6F3C556277807F01F0790F800C0D2 -:1089F0000CF01F0A09FB0AF908FB079707EB072889 -:108A000007EBC817FF0D67F3040C80F800C0078858 -:108A100066F34A1707803F0A65F3C7074770C3E646 -:108A200034F8065C20F8065C1AE734F8045C20F899 -:108A3000045C62E734F8025C20F8025CAAE725884F -:108A40000580B1E60B9D8D4240F39481561E4FEA9E -:108A5000410C069B03EB0C08059B9C440BE0B8F80B -:108A60000030ACF80030013108F102080CF1020CC2 -:108A70008D4240F37F8116F8014F002CF3D0FF2C7C -:108A8000EDD0C4F1FF0798F80130DB089CF8012015 -:108A9000D20807FB02F204FB032303EB032203EBE0 -:108AA000C213C3F3C453B8F80000C0F34510BCF8B8 -:108AB0000020C2F3451207FB02F204FB002000EB8A -:108AC000002200EBC210C0F3C55098F8002002F05D -:108AD0001F029CF800E00EF01F0907FB09F704FBDA -:108AE000027202EB022402EBC412D20D744662F34E -:108AF00004048CF80040BCF8002060F34A12ACF883 -:108B00000020120A63F3C7028CF80120ABE702379A -:108B10000236474545D01CF8011F0029F7D0F92936 -:108B20009ABF01FB0AF1C1F30724079CC4F1FF05BA -:108B30007B78DB087278D20805FB02F204FB032382 -:108B400003EB032203EBC213C3F3C4533A88C2F30B -:108B500045123188C1F3451105FB01F104FB0212F6 -:108B600002EB022102EBC112C2F3C552397801F0C7 -:108B70001F01307800F01F0E05FB0EF504FB0151BC -:108B800001EB012401EBC411C90D61F30400307045 -:108B9000318862F34A113180090A63F3C7017170A9 -:108BA000B5E7059B0A9A134405930B9B99440BF177 -:108BB000010B049B099A13440493089B5B453FF403 -:108BC0006CAB0C9B002BECDD4F46059E0D9B09EB1F -:108BD0000308DDF810C09EE7012D49D0022D3CD1DD -:108BE000DFF8E081B6F910300993B08A0130C01A7D -:108BF00000B2B7F90020BB8801339B1A1DB2F146C1 -:108C00000EFB00FB059B03EB4B0BB7F90230B6F9EB -:108C100012609F1BAEEB070705FB07F7079B03EBF3 -:108C20004707012C27D0049BA3EB0C031A46A7EBA4 -:108C30004C030493089B9E453FF72FAB43000793DB -:108C40006B000893CDF814A04B1C06995B1A1BB25D -:108C50000993CDF818A0924666E0564B0093564B08 -:108C600040F2533255490220554CA047FFF715BB3F -:108C7000DFF85481B6E7099B9B1A07EB4307089B73 -:108C80009E453FF70AAB430004936B0005933B46B8 -:108C900047469846BDF938301C46BDF93C20934202 -:108CA00010DC5B000BEB030508EB0306524629883A -:108CB00036F8020BB84725F8020B0134BDF93C30F9 -:108CC0009C42F3DD049B9B44059B984409F10109F8 -:108CD000BDF93E309945DDDDFFF7DFBA01350236DB -:108CE0000234BDF93C309D420FDC17F8013B002BEC -:108CF000F4D0F92B9DBF069A5343C3F30722059A7C -:108D000031882088C0473080E8E7079B9B44099B57 -:108D10009A44049B089A1344049309F10109BDF98C -:108D20003E3099453FF7B9AABDF938301D46BDF927 -:108D30003C209342E9DC0AEB03075B000BEB0306E4 -:108D4000049AD418D1E7049B00210A9A8A420ADDCA -:108D50000433C81C4000069A1418059A10440B9559 -:108D6000DDF828E027E51A4670E6049B00210A9A00 -:108D70009142EDDB059B0C9A13440593049B099AE1 -:108D800013440493069B0D9A13440693079B0133E7 -:108D90000793089A9A423FF480AA002DE5DD049AD1 -:108DA00012F0030FCFD0DDF81880DDF814E0944600 -:108DB00000219DE4904C0200544C0200604C0200E3 -:108DC0005D2201009F760000E97500002DE9F04F5B -:108DD000BDB01B902391174608939DF818310A9354 -:108DE0009DF81C3106934B1EC81D3AAA13F8011FAB -:108DF00002F8011B8342F9D1A34B9847A34B984734 -:108E00001890018ABDF8E8305B1AADF8E830428A64 -:108E1000BDF8EA309B1AADF8EA30BDF8EC305B1AC9 -:108E2000ADF8EC30BDF8EE309B1AADF8EE30984B53 -:108E30009847199030B9089A53881BB91389B3F52C -:108E4000807F71D0069B002B14BF4FF0030B4FF0B7 -:108E5000020B1B990B46B1F900208D880135AD1A24 -:108E60002DB2BDF9EA00189EB6F91210D846BDF928 -:108E7000E840B6F91060B3F902305B1AC31A921BCE -:108E8000A21A05FB032303FB0B731493A4B2A219CC -:108E900092B2ADF89820BDF8EC3001331B1B9BB2A9 -:108EA0001CB21694013B1344ADF89C3080B24318B9 -:108EB0001BB2ADF89A30ADF89E30BDF8EE600136C9 -:108EC000361A36B208994B88002B40F053830B8931 -:108ED000B3F5807218BF01220592199A002A40F05A -:108EE0007083B3F5807F40F049830A9B23B98B7A66 -:108EF00013B9069B002B31D13AA8664B9847B0F5C1 -:108F0000F07F40F2AC804FF47070634CA0471A9031 -:108F10004FF4F070A0471790482128A85F4B98475E -:108F20004FF4F0731C93E4E00A9B002B8AD1069B5C -:108F30008BB9937A13B14FF0020B8AE7937B0293BC -:108F4000137801930123009300233A461B99239839 -:108F5000534CA0470BE34FF0030B7AE73AA84D4B75 -:108F60009847B0F5F07F14D83AA84A4B9847814605 -:108F70004FEA4900484CA04782464846A04704466D -:108F80000596002E4FDD08FB05F80025AC46149E23 -:108F900025E04FF4F079EBE75B44023796450AD0C1 -:108FA000997802F8011B0029F6D05878197801EB5E -:108FB00000213980F0E74644BDF8EC300133BDF8BC -:108FC000E8209B1A0CFA83F3994514D9BDF89E301A -:108FD0000133ADF89E300135059B9D4223D0169B91 -:108FE000002BE8DD04EB0C020AEB4C079C4404EB7D -:108FF0000C0E3346D4E7089A937B029313780193BF -:10900000022300932346524626A92398244FB847AB -:10901000BDF89E3001331BB2ADF89A30ADF89E30EA -:109020004FF0000CD7E7BDF99E30BDF99A209A4267 -:109030000FD0013BADF89E30089A937B02931378D2 -:109040000193022300932346524626A92398144DE8 -:10905000A8472046134CA0475046A04787E23AA8AD -:109060000C4B98471C901C9B58000B4CA0471A9027 -:109070001C98A0471790482128A8084B9847059BA3 -:10908000002B36D091E200BF695F0000DD0F0100C8 -:10909000C5BE0000FD1401003D290100372B010071 -:1090A0008182000071250100052208984388ADF8EF -:1090B000AC300389ADF8AE302897ADF8A4501B99B9 -:1090C000CB88013349885B1AADF8A6308DF8B22001 -:1090D0008388ADF8A830C388ADF8AA308389ADF88D -:1090E000B030C37BC3F300038DF8B33028A8934B93 -:1090F00098470898837ADA43D2B2129203B39BB2AC -:10910000427BD20802FB03F210928289C2F345121D -:1091100002FB03F21192027B02F01F0202FB03F337 -:109120001393069B8BB90A9B53BB089A538853BB76 -:109130001389B3F5807F14BF022301231D9306E03A -:109140000023139311931093EBE702231D93199BB4 -:10915000E3B9189BB3F91230BDF9EA2013441B9A06 -:10916000B2F902209B1A22931F96002E40F3E4814D -:1091700008FB05F31E9300230E930F93D14654E191 -:1091800002231D93E3E702231D93E0E71C99179840 -:109190006B4B9847DDE70C9B2B441BB2BDF9A82015 -:1091A0009B1ABDF9AA200D998A1ABDF8AE10B1F527 -:1091B000807F56D0BDF9AC10002965D1BDF8D6101E -:1091C000319C01FB03430993329B01FB02330B9358 -:1091D000099B1F12BDF9A4309F4280F2AB80002F83 -:1091E000C0F2A8800B9A121210461592BDF9A62063 -:1091F000904280F29F800028C0F29C809DF8D4208D -:1092000012F0040F6AD0289912F0020F55D103FB17 -:1092100000735A00881811F813308DF8B430437871 -:109220008DF8B53002219DF8D43013F0010F0DD028 -:10923000209B6FF3040343F4FC636FF3CF23ADF87B -:109240008030BDF8B4009BB2984273D09DF8B33023 -:10925000002B59D19DF8B6308AF80030BDF8B430F3 -:1092600086E03498339900FB03F401FB1247319CEC -:1092700004EBE714099400FB02F201FB0323329A8A -:1092800002EBE3130B93A3E7BDF8D61001FB03F346 -:1092900001FB02F23499339801FB03F400FB1247FF -:1092A000319C04EBE734099401FB02F200FB032339 -:1092B000329A02EBE3330B938AE7159A03FB0273AE -:1092C00003EB43028B18895C8DF8B41059788DF844 -:1092D000B5109B788DF8B6300321A4E739B2BDF9FB -:1092E0005420BDF8B030259224912EA8154CA047EB -:1092F000ADF8B400259A24992EA8134B98478DF801 -:10930000B600002211468EE7BDF82430ADF8D83003 -:10931000BDF82C30ADF8DA30ADF8DC70BDF8543063 -:10932000ADF8DE3038928DF8E41028A8074B984746 -:1093300000288FD100238AF800303DE04DEB00007B -:10934000ED2B010019E9000049EA0000FDED0000E5 -:10935000E0070000FF238AF800307278337803EBCF -:1093600002239BB20A9A1AB13FF81C209A4236D0C7 -:10937000089A927AEAB1BDF84820D90A109801FB00 -:109380000201C1F30421C3F34510119C00FB02400C -:10939000C0F3052003F01F03139C03FB0243C3F338 -:1093A000072363F3040960F34A1961F3CF291FFA15 -:1093B00089F3079A22F8153001355E440AF1010A53 -:1093C000454510D0059B002B7FF4E5AE069B002B96 -:1093D000C0D0B3788AF80030002BEDD0BDE7002371 -:1093E0008AF80030E8E7169B0F9A9C18199B002B0F -:1093F0003ED1149B1E9A13441493BDF8EC300133F4 -:10940000BDF8E8209B1A04FA83F31C9A9A425CD9AF -:10941000BDF89E300133ADF89E300F940E9B0133A2 -:109420000E931F9A934200F08780189BB3F9103077 -:10943000BDF9E82013441B9AB2F900209B1A0C9343 -:10944000169B9846002B11DD179B19460F9A01EBCE -:10945000020A1A9B194601EB42030793149E00254A -:10946000229B0E9A13441BB20D93ABE70F9CBDE7F2 -:109470000F9B179A13441E46BDF8E810BDF8EC3058 -:1094800001335B1ABDF8EA20189D688A02440E98E1 -:109490000244288A01441BB212B209B230464E4D32 -:1094A000A84728B102281D9A08BF02461D92A0E7CE -:1094B000BDF8EC100131BDF8E830C91A09B23046E8 -:1094C000464B984702231D9393E7089DAB7B02937D -:1094D0002B7801931D9B0093179B1A9A26A923981A -:1094E0003F4CA047BDF89E3001331BB2ADF89A3017 -:1094F000ADF89E30069B5BB90A9B83B96B888BB92C -:109500002B89B3F5807F14BF022301231D9301E053 -:1095100002231D93199B43B900230F937EE7022377 -:109520001D93F7E702231D93F4E71C9917982D4B21 -:10953000984700230F9371E7BDF99E30BDF99A203B -:109540009A420FD0013BADF89E30089A937B02936C -:10955000137801931D9B0093179B1A9A26A92398B1 -:109560001F4CA0471798204CA0471A98A0473DB021 -:10957000BDE8F08F199B13BB012305933AA81B4B41 -:109580009847B0F5F07F7FF66AAD4FF47070184CD5 -:10959000A0471A904FF4F070A0471790482128A8D0 -:1095A0000E4B98474FF4F0731C93069B002B7FF4EF -:1095B0007BAD0A9B002B0CBF0422062275E501231C -:1095C00005933AA8094B9847B0F5F07F7FF647AD71 -:1095D0004FF4F0731C9346E51DBE0000372B0100CD -:1095E00081820000ED2B010071250100FD140100B6 -:1095F0003D29010070B59EB004460D46164609A8E7 -:109600000B4B98470B4B1B88ADF8263009AA29460F -:109610002046094B984702A8084B9847002300931F -:10962000334602AA29462046054CA0471EB070BD0D -:1096300069C20000B84C020031C30000CD9900009F -:10964000259A000010B5044610210C4B9847237B47 -:109650006FF304032373A3896FF34A13A3811B0AD7 -:109660006FF3C7036373FF2323704FF48073238169 -:10967000E37B43F00103E37310BD00BF372B010010 -:1096800004380A2813D8DFE800F00608060A0C0E92 -:10969000100A0C0E1000102070471820704701208F -:1096A0007047022070470420704708207047002050 -:1096B0007047032805D002D30638042801D90020BA -:1096C00070470120704702380C2808D8DFE800F006 -:1096D00009070709070909090909090909000020FB -:1096E00070470120704700002DE9F04F8FB005460C -:1096F0000E463AB11C4610461B78052B10D80FB009 -:10970000BDE8F08F844B0093844B4D2284490220A6 -:10971000844CA047844A31462846844B9847EEE75C -:10972000A189834B98470746002800F0B58090F840 -:109730000C9009F01F0948467E4B984780464846E2 -:109740007D4B98478146BB696BB17C4B00937C4B4A -:10975000F72273490220734CA047BA693146284664 -:10976000724B9847CBE73B69002B49D06B1EE81D35 -:109770000AAA13F8011F02F8011B9842F9D1638865 -:109780001BB92289B2F5807F28D0EA880132698826 -:10979000521AA98801312888091A201D01902089B0 -:1097A00000901BB212B209B20AA8DFF8B8A1D047E4 -:1097B0002A88BDF828301344ADF828306B88BDF8EE -:1097C0002A101944ADF82A10BDF82C100A44ADF83F -:1097D0002C20BDF82E201344ADF82E300AAA3146B5 -:1097E0000CA8584B9847002889D03A69CDF80490C6 -:1097F000CDF8008023460CA92846534CA0477EE7AD -:109800002A46314608A84F4B984700283FF477AFC7 -:10981000BDF824300133BDF820209B1A1BB20393FE -:1098200003EB4300494B984702900DF11F020AAB2E -:109830000CA812F8011F03F8011B8342F9D1012182 -:109840000AA8434B9847BDF92030B5F90020BDF96F -:1098500022A0B5F90210AAEB01010846BDF92610B5 -:109860008A4555DCDFF8DCB09B1A1BB205930795DF -:1098700006944446804623E0079D0498354B98475C -:10988000354B00932E4B4FF49A7225490220254CFC -:10989000A0470298314B9847284B00931F4B582202 -:1098A0001F4902201F4CA0471F4A314628461F4B24 -:1098B000984724E70AF1010ABDF926309A4527DCCA -:1098C0000AAA31460CA8D8470028F3D00497029B77 -:1098D0000093039B0FFA88F205993846204DA8475C -:1098E0000128C9D1CDF804900094069B029A0CA9D6 -:1098F0000AA8154DA847BDF82A300133ADF82A3023 -:10990000BDF82E300133ADF82E3008F10108D1E753 -:109910000298124B9847F2E60C4D0200BC4C020034 -:10992000DC4C02005D220100244D0200F595000090 -:1099300001F20000B3960000C79600002C4D020013 -:10994000C84C020019150100CD8D00003D29010011 -:10995000F314010035FF0000404D020071250100A5 -:1099600011FF000065EC000058B10278A2F120035D -:10997000DBB25F2B07D952B2002AB4BF022000200D -:1099800070470320704701207047A0F13003DBB21D -:10999000092B17D9602884BF2038C0B24138052868 -:1099A0000ED8DFE800F011030507090B0B20704704 -:1099B0000C2070470D2070470E2070470F20704715 -:1099C00000207047184670470A20704710B50446BB -:1099D0001C21124B9847FF23237223786FF3040353 -:1099E000237023886FF34A1323801B0A6FF3C70386 -:1099F00063700B4B63604FF6FF73E3812382A378A0 -:109A000043F01F03A37063886FF34A1363801B0A3C -:109A10006FF3C703E3700023A37510BD372B01005C -:109A2000100000202DE9F04FD9B0629C157A052D69 -:109A300001D91D7815B959B0BDE8F08F0A93934646 -:109A40000A460D9105461390DBF804300593014654 -:109A500056A8AA4B98470028EDD09BF8172012F083 -:109A6000020F21D1AB8801332A889B1A1BB2059AB9 -:109A7000B2F908A0BBF90A90D1441399B1F90020BA -:109A80001F92B1F90200BBF912201A92BBF914100F -:109A9000421892B215B2002C4AD000294BD10028AE -:109AA00014DB0E95002629E0BBF90C30029247F634 -:109AB00018420192BBF90A200092DBF804200A99AF -:109AC0003AA88F4DA847BDF9E830D0E7A168081A39 -:109AD00080EAE071A1EBE071C9F50070B1EB400FD5 -:109AE00005DD4FF0FF3222600E95002606E0266865 -:109AF000002E23DB61680A4412B20E921BB2194693 -:109B00001093BBF90C209BF8173000930B46059976 -:109B10000A9830447B4DA84783192F46DFF8F88117 -:109B20003146CDF81890D1460E9D26461C460FE0D2 -:109B30000E950026E2E70E950026DFE70E9500263B -:109B4000DCE721469AF80030002B3FF474AF04465E -:109B500005EB09030D9AB2F90220934220DA0A9B21 -:109B600003EB040ABBF90C209BF817300093109B01 -:109B700005995046B8472044069B1D442DB2002E3F -:109B8000DFD04545DDDB3368002BDADA3460139A29 -:109B9000B2F90230EB1A7360B2F90230B360D0E769 -:109BA0000E460794DDF818900E959BF8172012F0DA -:109BB000040F2FD112F0080F45D19BF808300B93FA -:109BC000BBF80E70BBF81030194608939F4202D9BB -:109BD0003B460F4608939BF8183013F0030F49D10A -:109BE0003DA8494B9847BBF80230ADF8F6300B9BC7 -:109BF000FA2B88BFFF2316931FFA89F31793BDF83A -:109C0000383011931F9D00231993BA46D846B346A6 -:109C100000F0D3BDBBF90C30A11B0092059A89B2AC -:109C20000A983044394CA047139A9388013312881C -:109C30009B1A1BB2181A00EBD0701F9B03EB60033A -:109C40001BB21F93B9E7BBF90C300799891B00922F -:109C5000059A89B20A9830442C4CA047139A9388ED -:109C6000013312889B1A1BB21B1A1F9A13441BB292 -:109C70001F93A2E753A8264B9847BBF80030ADF8D6 -:109C80004C31DBF80430B3F908300533214A82FB4C -:109C90000312DB17C3EBA203ADF84E319BF808307B -:109CA0008DF854319DF855319BF8192062F301036A -:109CB0008DF8553194E70025AAE00025A8E0069B21 -:109CC0002BB9BDF848311993012306938AE0069B0E -:109CD000012B00F0F185022B00F03385B8F800600D -:109CE000B5E0202C7ED1529B199A9B1A072B15D0D8 -:109CF000B8F800300C930223069373E019150100A5 -:109D00007D400100B13D010069C20000DD3F01005E -:109D1000E1A800006766666600FCFFFF099B9818D3 -:109D2000431E05303AAA13F8011F02F8011B8342B3 -:109D3000F9D19DF8E8008C4CA04705469DF8E90054 -:109D4000A04700EB05159DF8EA00A04706469DF8E0 -:109D5000EB00A04700EB06169DF8EC00A047074675 -:109D60009DF8ED00A04700EB0713C3F3C4032E9A40 -:109D700063F304021346C6F3850666F34A13C5F37C -:109D8000C40565F3CF23ADF8B8309BB20C93022322 -:109D9000069327E0ADF8E8A00E9AADF8EA20B8F8EF -:109DA0000C30013B53440344ADF8EC30179B013BAE -:109DB0001344ADF8EE303DAA0D993AA86B4B984785 -:109DC00056E06B4B00936B4B40F297126A490220AE -:109DD0006A4CA047002F05DDB8F80C3053443B44D3 -:109DE0000FFA83FA5299079BA3EB0B038B4240F2C5 -:109DF000AC844FF6FF7399453FF45DAF089A9A42E1 -:109E00003FF45BAF59440A985D4B1B68984785B295 -:109E10005C4E336852A9099F384698470446336818 -:109E2000002152983844984798F8173013F0010FE2 -:109E300006D0232C3FF443AF069B012B3FF451AFD8 -:109E4000B8F800600C9B069A022A08BF1E4602461C -:109E5000214605984C4B984707464FF6FF739945A6 -:109E600006D00899994203D0A94501D8A94291D8B2 -:109E70000B9B042BAED9059B002BA2D098F8193070 -:109E80000F93002322463AA90598404DA84758B998 -:109E90001F2C9FD93E4B0093364B40F2A1123649FE -:109EA0000220364CA04795E7BDF8EC201AB9BDF862 -:109EB000EA30002B8ED0BDF9EE505544BDF8EA30A3 -:109EC0002B440D98B0F900108B4283DBB0F90430BD -:109ED0009D423FF77FAF059BB3F90810B3F90A30F5 -:109EE000CB1A0E990B44991ABDF9F030CB1A159381 -:109EF0001A44B0F902309A42FFF66CAFB0F906305E -:109F0000159999423FF766AF21460598214B98472E -:109F10008646F0B1059B1B7B13F0030F00F05E82B9 -:109F20002BB21893BDF954301D939DF8F230129363 -:109F3000032B00F0FF80013B072B00F20281DFE8DA -:109F400013F00A012D000001FB00000100010001D7 -:109F50001101114B0093074B40F2B7120649022042 -:109F6000064CA04736E700BF8B99000031C30000C4 -:109F7000E84E0200784E0200B84E02005D22010059 -:109F80006400002058000020610001005900010019 -:109F9000084F020051000100304F0200C0231B9304 -:109FA000AC4B2093BDF8EA301E93BDF8EC10129A2A -:109FB00002FB03F20D9BB3F90030189C9C42BABF20 -:109FC0001B1B03EB4303002327930D9BB3F90430C2 -:109FD0001E980446A04880FB0440189C20449842E8 -:109FE000C3BF1B1B013303EB43031E9B14930D9B49 -:109FF000B3F902301D9C9C42B4BF1B1B0023259368 -:10A000000D9BB3F906301D9C0819984240F3B180AE -:10A010001B1B0133289306F01F032293C6F345133D -:10A020002493C6F3C4232393129B1846279B00FB5B -:10A0300003F3259800FB02320EEBE206319602F0A4 -:10A0400007061E9801FB00F1B1F5F07FA8BF4FF4A1 -:10A05000F07129910846814CA04721902999480028 -:10A06000A04730907E4B98477E4B9847B0F9104000 -:10A07000838A01331B1B19B226918168279B764A7C -:10A0800082FB03E2A2EBE372B0F912301D98C31A0F -:10A090002698864618980EFB03031B1B259C0EFB77 -:10A0A0000420034401EB43011891ADB22A44ADF8FA -:10A0B000E020149A9646684981FB0EE3A3EBE27315 -:10A0C000013D2B44ADF8E430159D25442BB2ADF88D -:10A0D000E230ADF8E630644B98472A90289DAC42B8 -:10A0E00080F261811499279A8C1A2B941E9D6B1A09 -:10A0F0001344129901FB03F32C93574A82FB042368 -:10A10000C3EBE473269803445B002D93002326934E -:10A110001593CDF8C8B0CDF8CC903497DDF86090A9 -:10A12000DDF8C4B0CDF8C4A0DDF8C0A0CDF8D4806F -:10A130008846EAE004231293F0231B934B4B2093B1 -:10A1400030E74B4B00934B4B40F27A224A490220B6 -:10A150004A4CA0473EE60123129380231B93484BB1 -:10A1600020931FE708231293FF231B93454B209353 -:10A1700018E728914FE7B8F1080F04D0DBB2209A16 -:10A18000D25C00E0159A58AB0B4403F8842C0131E3 -:10A19000032928D0B44540F39480129B43441E46C3 -:10A1A0002EFA08FE0135149BAB4200F09080129607 -:10A1B0009BF8003003EA0E02ACEB060322FA03F32D -:10A1C00013F0FF02DED01698FF28D4D0B8F1080FA4 -:10A1D0000FBFDAB2DBB2209AD25C169B03FB02F20D -:10A1E000C2F30722CFE79DF8DC109AF80130DB08B4 -:10A1F000C1F1FF00239A01FB02F200FB0323C3F32A -:10A2000004231D939DF8DE3018939AF8002002F085 -:10A210001F02C3F1FF00229B189C04FB03F300FB09 -:10A220000232C2F304231E939DF8DD00BAF8003019 -:10A23000C3F34514C0F1FF03249A00FB02F203FBB1 -:10A240000423C3F30523F9B9F0B9189AE2B9219AA6 -:10A25000D1551DE0644D0200565555553D2901006C -:10A26000695F0000DD0F0100C5BE0000684D0200FF -:10A27000604F0200884E0200B84E02005D220100CD -:10A28000604D0200784D0200219A4FF0FF31D15508 -:10A2900009EB470019F817101E9A62F3040109F838 -:10A2A000171039F8172063F34A1229F81720120AF9 -:10A2B0001D9B63F3C702427001370AF1020A0021B5 -:10A2C00068E70BF1010BDDF86CE0159E6AE7534679 -:10A2D000CA4699462A9B4BBB2B9B3B44299A9A42E0 -:10A2E00041DDBDF8E6300133ADF8E63026972C9B12 -:10A2F0001E440BEBE60B06F007062D9B9944259BAD -:10A3000001332593289A934244DA1B9B23FA06FED5 -:10A31000279D149A954207DA269F0021C8F1080C60 -:10A320004B46D1469A4642E7269FD3E7269B219A81 -:10A3300013441C46BDF9E010BDF8E43001335B1A4C -:10A340001BB2BDF9E6202046AB4DA8470028C3D17B -:10A35000BDF8E4100131BDF8E030C91A09B2204659 -:10A36000A64B9847B8E70F9B0293169B01930223D5 -:10A370000093219B524638A90D98A14CA047BDF8E7 -:10A38000E63001331BB2ADF8E230ADF8E630002321 -:10A390002693ACE7DDF8C8B0DDF8CC90349FDDF84B -:10A3A000C4A0DDF8D480BDF9E630BDF9E2209A42C0 -:10A3B0000ED0013BADF8E6300F9B0293169B019344 -:10A3C00002230093219B309A38A90D988C4CA0470A -:10A3D00021988C4CA0473098A047FBE42CB2BDF9E3 -:10A3E0005400ADF88C609DF8F2302093032B00F000 -:10A3F000C180013B072B00F2C580DFE813F0CD00E0 -:10A400000800C300BD00C300C300C300D50004237F -:10A41000C02212927C4A22921699F9292BD87B4AA3 -:10A4200092F800218A4200F0C880D3B1229E721EA9 -:10A4300076490139013B06EB030C169B1E46CDF80D -:10A4400050B09B4612F8013FFF2B1ABF0BFB03F3E2 -:10A45000C3F30723334601F8013F9445F2D1DDF8F9 -:10A4600050B06A4B9DF8582083F80021209AC3F819 -:10A4700004211C9B2293BDF8EA302493BDF8EC2004 -:10A48000209901FB03FC0D9BB3F900309C42B4BF43 -:10A490001B1B002314930D9BB3F904302499214412 -:10A4A0009942C6BF1B1B0133249B25930D9BB3F917 -:10A4B00002309842B4BF1B1A002326930D9BB3F9B8 -:10A4C000063011189942C3BF1B1A01331B931B920C -:10A4D000149B2193209903FB01F4269800FB0C4464 -:10A4E0000EEBD40604F00704249902FB01FE724629 -:10A4F000BEF5F07FA8BF4FF4F0721D921046444B9A -:10A5000098471890ADB2149BEB18ADF8E030013DC0 -:10A51000259AAB18ADF8E430159D269805442BB26A -:10A52000ADF8E230ADF8E6303A4B98471E902099EE -:10A53000C1F10805249A149BD318259A9B1A01FB94 -:10A5400003F3209326981B9B984280F2DF804FF004 -:10A55000000ECDF890B0CDF8989027970F4615953E -:10A56000CDF8A0A0DDF894A08146CDF89480DDF868 -:10A5700088807AE0042320931023F0221292264A46 -:10A58000229249E7254B0093254B40F2E5122549DD -:10A590000220254CA0471DE40123209302238022A2 -:10A5A0001292224A229237E7082320934FF48073B5 -:10A5B000FF2212921E4A22922EE7144AD2F8042158 -:10A5C000209991427FF431AF4BE701361298002475 -:10A5D00001318C452ED0337803402A1BD34013F031 -:10A5E000FF0F1ABFDBB218F8033000230B70A5422F -:10A5F000EBD93C44F840EBE71DBE0000372B0100CF -:10A600008182000071250100644D0200502A002063 -:10A610003D290100C5BE0000684D0200884F0200C0 -:10A620009C4E0200B84E02005D220100604D020007 -:10A63000784D020015951E9B53BB149BAAEB030398 -:10A640005B441D9A9A423FD9BDF8E6300133ADF81C -:10A65000E630DE46209B1C4406EBD40604F00704DB -:10A6600009F101091B9B994547DA129B23FA04F073 -:10A67000149B53450ADA189A02EB0E01219BAAEBB0 -:10A68000030BF34402EB0B0C159DA4E7F346D2E752 -:10A69000189B734418462293BDF9E010BDF8E430CE -:10A6A00001335B1A1BB2BDF9E620854DA84700288F -:10A6B000C3D1BDF8E4100131BDF8E030C91A09B2C8 -:10A6C0002298804B9847B8E70F9B0293FF23019392 -:10A6D00002230093189BBDF88C2038A90D98DFF851 -:10A6E000E8B1D847BDF8E63001331BB2ADF8E2302F -:10A6F000ADF8E6304FF0000EACE7DDF890B0DDF8D5 -:10A700009890279FDDF8A0A0DDF89480BDF9E63091 -:10A71000BDF9E2209A420FD0013BADF8E6300F9B25 -:10A720000293FF23019302230093189BBDF88C2012 -:10A7300038A90D98644CA0471898644B9847FFF7C8 -:10A7400049BB00230693FFF74DBB5346CA469946C3 -:10A7500098F8183013F0020F46D198F8183013F01B -:10A76000010F62D10A9A079D5619B8F90C2098F882 -:10A7700017300093109B05993046554CA04744195B -:10A78000139BB3F9005098F8172012F0040F6CD106 -:10A7900012F0080F7ED10E9B17990B441BB2119A31 -:10A7A0000A4492B21192DDF81CB00E930D9AB2F9E0 -:10A7B00006209A42FFF63FA907940A9A13465B4483 -:10A7C000099312F80B30002B3FF435A91A9B1D4456 -:10A7D0000FFA85F90023529306933E4B1C934B4688 -:10A7E000D1469A46FFF7FEBABDF87C30ADF8E030AE -:10A7F000D8F80430B3F9083003EBD372BDF94E3109 -:10A8000003EBD3735B1003EB6203119A13441BB287 -:10A81000ADF8E230ADF8E890ADF8EA3053AB0D9A00 -:10A820003AA938A82C4CA04797E7BDF87C30ADF882 -:10A83000E030D8F80420BDF94E3103EBD3735B1040 -:10A84000013311890B4452899B1A119A13441BB28C -:10A85000ADF8E230ADF8E890ADF8EA3053AB0D9AC0 -:10A860003AA938A81C4CA0477CE7B8F90C300092F4 -:10A87000059A01463046194EB047139A9388013322 -:10A8800012889B1A1BB2181A00EBD07005EB6005FA -:10A890002DB280E7B8F90C300092059A0146304697 -:10A8A0000E4EB047139A9388013312889B1A1BB23D -:10A8B000181A05442DB26EE700230693FFF70EBA6F -:10A8C0001DBE0000372B01005177000071250100EB -:10A8D000B13D0100502A002011A90000DD3F010018 -:10A8E00010B504460A21094B984701236380FF23D2 -:10A8F000237223786FF30403237023886FF34A13C2 -:10A9000023801B0A6FF3C703637010BD372B010050 -:10A910002DE9F04FCBB0B3F90250002D00F01884B0 -:10A920001C7A052C40F21484B0F90060B1F9007073 -:10A93000BE4200F030811C46964608920791069070 -:10A9400005EBD575C5F34F05BE42D4BFC5EB060375 -:10A95000C5EB0703ADF82031BE42ACBFAB19EB1914 -:10A96000ADF824310F46B1F902200646B0F90230A5 -:10A970009A42D4BFC5EB0201C5EB0301ADF8221129 -:10A980009A42ACBFAD18ED18ADF82651724648A9F1 -:10A990000846AB4B9847002800F0DA83B6F902600E -:10A9A000B7F90250AE4200F0FE80069BB3F90030CA -:10A9B0001A460593079BB3F900A0524500F00182A7 -:10A9C000AE4206DB33462E461D46059BCDF814A04D -:10A9D0009A46059BAAEB03030993AA1B0A92002B34 -:10A9E000B8BF5B429B46002AB8BF52429046B4F9BA -:10A9F00002909342C7BF530193FBFBF34FEA4B1303 -:10AA000093FBF2F38F4AD35C09FB03F909F13F0989 -:10AA10004FEAE9131F469BB205988245D4BFC3EBAA -:10AA20000A02C3EB0002ADF838208245ACBF03EB4D -:10AA30000A021A18ADF83C20B542D4BFC3EB050298 -:10AA4000C3EB0602ADF83A20B542ACBF5B199B19C7 -:10AA5000ADF83E3048AA0EA90846794B9847002821 -:10AA600000F072834FEA292907F001034B440B934E -:10AA7000C34540F3B682099A002A40F38E821FFA3A -:10AA800086FB1FFA89F31FFA85F9ABEB030200215D -:10AA90000191A9EB03031BB20093534612B205992F -:10AAA00012A8694FB847BDF82C800BEB08020123B0 -:10AAB0000193C1440FFA89F30093534612B20599EA -:10AAC0001DA8B847002112A8DFF89C81C0470B9051 -:10AAD00000211DA8C0470C90637A13F0100F00F0FE -:10AAE000A4824FF0FF330D930A93584B9847584B6D -:10AAF00098478246068ABDF83850AD1BAAB2ADF819 -:10AB00003820408ABDF83A10091AADF83A10BDF85D -:10AB10003C309B1B9BB2ADF83C30BDF83E10091A8F -:10AB2000ADF83E105D1CAD1A2DB20EA8494B9847EA -:10AB3000B0F5F07FC0F0A2824FF4F07B5846464B50 -:10AB400098478146BAF81030BDF838201A4412B23E -:10AB50000592ADF84020BDF83C201344ADF84430D8 -:10AB6000BDF83A30BAF8122013441BB2ADF84230A7 -:10AB7000ADF846305946394B9847BAF91220BDF91D -:10AB80003A601644BDF93E3013449E4200F3B98248 -:10AB900000270994A0E2B0F902E0B1F90240A6450D -:10ABA0007FF4C9AED4E294F80890284B9847284B1C -:10ABB00098470746B4F90230013B5E1003F00103E9 -:10ABC0009D19B4F90630002B35D0B4F9048018F182 -:10ABD000000818BF4FF00108214B984770BB88F060 -:10ABE0000102079BB3F900300699B1F9001018462D -:10ABF0008B42A8BF0846ADF8A0008B42B8BF0B46F9 -:10AC0000013BADF8A43006994B885D1BADF8A2500E -:10AC10003344ADF8A6304AB3637A03F003030293DA -:10AC2000CDF80490012300930023228828A948A886 -:10AC30000C4DA84788E24FF00008CDE70022D0E78E -:10AC400019150100A44F0200E9BE0000695F000071 -:10AC5000DD0F0100FD1401003D290100ED2B010075 -:10AC6000C5BE000051770000C1BD000028AA48A958 -:10AC70001046A14B9847002800F06682BDF9A0E07D -:10AC8000B7F910108BB2AEEB030292B20FFA82FC4E -:10AC9000ADF8A0C0BDF9A200B7F81290A0EB09056D -:10ACA000ADF8A250BDF9A460F31A9BB2ADF8A43080 -:10ACB000BDF8A650A5EB0905ADF8A65001339A1AC8 -:10ACC00015B2ADF8CCE0ADF8D060ADF8CE00ADF87F -:10ACD000D200B8F1000F1CD06144B4F90620B4F9D9 -:10ACE00004301A4491FBF2F302FB13110BB20A93E6 -:10ACF00009952846814B98478246BDF9A260BDF967 -:10AD0000A630B34259DBDFF81092DFF808B20595A0 -:10AD100035E00021EAE7B4F906E073449A42BABF8D -:10AD20000AF8001013460B46013000B201331AB284 -:10AD3000854207DDB4F904309342ECDB1844801AF5 -:10AD400000B2F1E705950220637A03F00303029352 -:10AD5000237A019300905346228833A948A8D84704 -:10AD6000BDF8CE300133ADF8CE30BDF8D23001336E -:10AD7000ADF8D2300136BDF9A6309E421DDC0999EE -:10AD80005046C8477A8A3244398ABDF8A0301944FF -:10AD9000059B12B209B25046594DA847B8F1000FB1 -:10ADA000D2D00028D0D0059B002B04DD0A9A0020C9 -:10ADB00001461D46BEE70220C6E75046514B984764 -:10ADC000C2E194F80890504B9847504B9847804602 -:10ADD000B4F90250013D6F1005F001053D44B4F98E -:10ADE00006302BB1B4F90460003618BF012600E02C -:10ADF0000026474B984710B986F0010200E0002278 -:10AE000006990B885D1BADF8A0501F44ADF8A470E7 -:10AE1000079BB3F90230B1F9021018468B42A8BF64 -:10AE20000846ADF8A2008B42B8BF0B46013BADF817 -:10AE3000A63072B1637A03F003030293CDF8049055 -:10AE4000012300930023228828A948A8314DA84750 -:10AE50007AE128AA48A91046274B9847002800F015 -:10AE60007381BDF9A000B8F81030C51AADB2ADF8C5 -:10AE7000A050BDF9A220B8F81270D11BADF8A210F5 -:10AE8000BDF9A410CB1A9BB2ADF8A430BDF8A6E072 -:10AE9000AEEB0707ADF8A67001335B1B1BB209933D -:10AEA000ADF8CC00ADF8D010ADF8CE20ADF8D22082 -:10AEB0000A931846114B9847059076B1B8F91020BF -:10AEC000BDF9A0703A44B4F90630B4F904703B44BB -:10AED00092FBF3F703FB172700E000273FB2BDF911 -:10AEE000A250BDF9A6309D4253DCDFF82C90DFF86C -:10AEF00010A0DFF820B02CE0191501003D29010059 -:10AF00001DBE000071250100695F0000DD0F01001A -:10AF1000C5BE000051770000ED2B010001373FB2A4 -:10AF200000230293237A01930090059B228833A982 -:10AF300048A8D847BDF8CE300133ADF8CE30BDF8C3 -:10AF4000D2300133ADF8D2300135BDF9A6309D4283 -:10AF50001FDC0A990598C847B8F812202A44B8F8A7 -:10AF60001010BDF8A0301944099B12B209B205981F -:10AF7000D047002ED4D00028D0D0B4F90420BA4253 -:10AF8000B8BF0020B4F9063013449F42A8BF002781 -:10AF9000C4E70598974B9847D6E01FFA86FBBDF8A3 -:10AFA0002C80A9B20BEB0802002301930F468844C2 -:10AFB0000FFA88F30093534612B2059912A8DFF8EE -:10AFC0003882C0471FFA89F3ABEB030201210191DC -:10AFD000FB1A1BB20093534612B205991DA8C04735 -:10AFE00070E5BDF814B0BDF82C801FFA8AF31F4637 -:10AFF0004344D8440022019200951BB232460FFA16 -:10B0000088F112A8DFF8F081C0471FFA89F9A7EB91 -:10B010000903ABEB09090122019200951BB23246EC -:10B020000FFA89F11DA8C0474CE5BDF82880BDF88E -:10B0300024900599A1EB08030322019209EB060273 -:10B0400012B200921BB2324628A86B4EB047AAEB50 -:10B0500008030222019209EB050212B200921BB210 -:10B060002A46514633A8B047002128A8634DA84777 -:10B070000A90002133A8A8470D9036E50EA8604B32 -:10B08000984783465AE5294640465E4B98472DE04F -:10B09000099A537A03F003030293137A019302236C -:10B0A00000934B46128848A910A8574CA047BDF8FA -:10B0B000463001331BB2ADF84230ADF84630594648 -:10B0C0004846524B984700270136BDF93E30BAF941 -:10B0D000122013449E4213DC09EB07082B4632B2C0 -:10B0E000059940464A4CA0470028CCD02F44EB1984 -:10B0F0009B45CDD9BDF846300133ADF84630E3E786 -:10B10000099CBDF94630BDF942209A4210D0013B5E -:10B11000ADF84630637A03F003030293237A019378 -:10B12000022300934B46228848A910A8364DA84711 -:10B130004846304B98470B98364DA8470C98A8477F -:10B140000A98A8470D98A847637A13F00C0F02D10C -:10B150004BB0BDE8F08F33A82F4B98472388ADF84C -:10B16000CE3047F6FF73ADF8CC30237A8DF8D83067 -:10B17000B4F902305E1083F0010303F00105637A35 -:10B1800013F0040F1CD1637A13F0080FE0D0079975 -:10B190000A88B6B2931BADF8A03049888B1BADF876 -:10B1A000A230ABB23244D21AADF8A4200E44F31A46 -:10B1B000ADF8A63033AA089928A8184B9847C7E7D6 -:10B1C00006980288B3B2D11AADF8A0104088C11A0F -:10B1D000ADF8A210A9B21A44521AADF8A420034443 -:10B1E0005B1AADF8A63033AA089928A80B4B9847EC -:10B1F000C9E700BF71250100E9BE0000C1BD000024 -:10B20000FD140100372B010051770000ED2B0100E8 -:10B210001DBE00006DBE000069C2000031C3000009 -:10B220002DE9F041069CA58A521B12B2658A4D1B7E -:10B230002DB2216A00294BD194F8281011F0010F8A -:10B2400016D0237C03F00303012B40F2DB81022B99 -:10B2500004D0032B06D00020BDE8F0810132D00FCE -:10B26000BDE8F081002AD4BF00200120BDE8F081B4 -:10B27000227C02F00302911EC9B2012940F2C5816D -:10B28000012A0CD0B2B9E91800F1C2816D42002D3B -:10B29000C0F2C181AB4207DC0220BDE8F081002D85 -:10B2A00008DD0120BDE8F0812844CD4B98470220FD -:10B2B000BDE8F081DD4200F1B181694221EAE1712E -:10B2C0008B4240F3AE81C64B98470220BDE8F08127 -:10B2D00094F8286016F0010F0FD1A76902FB07F15F -:10B2E0008912002FCCBF01F1010E8E46754540F347 -:10B2F0009880C6F34000BDE8F081E16905FB01F7E5 -:10B30000BF12002906DD974240F3B881C6F3400022 -:10B31000BDE8F081974280F2ED81C6F34000BDE8C0 -:10B32000F08186F00200C0F34000BDE8F08186F0B5 -:10B330000200C0F34000BDE8F0810025D4E1F446EE -:10B3400088F800C0636AD21A01350136BD4249DA75 -:10B35000636A9A421DDD002DF4DBBD42F2DAA2EBF6 -:10B360006303DBB294F828C01CF0020F1CBFDB4360 -:10B37000DBB2B04696F800C0F92BE1D8052BDED938 -:10B3800003FB0CF303EB032C03EBCC13C3F3C75CFD -:10B39000D6E7BD4226DA002D24DBA36903FB02F3C6 -:10B3A0009B1202FB03F2C2F34722E369002BBCBFEE -:10B3B000D243D2B294F8283013F0020F1CBFD2430C -:10B3C000D2B24619435DF92A0BD8052A08D902FBE7 -:10B3D00003F202EB022302EBC312C2F3C75300E0F5 -:10B3E0000023337094F8283013F0020F0AD08F42F4 -:10B3F000C0F21A810029C0F21A81794B98470220C5 -:10B40000BDE8F081013500F11581BD4202DD022069 -:10B41000BDE8F081791B2844714B98470220BDE8B4 -:10B42000F08105EB030E714505DD86F00200C0F3E7 -:10B430004000BDE8F081110207FB01F14FEAA1488D -:10B44000C1F387210132120207FB02F24FEAA24C3C -:10B45000A8EB050EE04563D0002F5BDBC1F1FF01D7 -:10B46000E26902FB01F29512BEF1000F1CDB73458D -:10B470001ADD05FB01F1C1F3472216F0020F04BFEC -:10B48000D243D2B200EB0E0610F80E10F92A0AD8F9 -:10B49000052A40F2A18002FB01F202EB022102EB3D -:10B4A000C112C2F3C75131701EF1010120D48B4289 -:10B4B0001EDDC5F1FF02A56905FB02F5AD1202FB19 -:10B4C00005F2C2F3472294F8285015F0020F1CBF72 -:10B4D000D243D2B2455CF92A09D8052A7ED902FBAB -:10B4E00005F202EB022502EBC512C2F3C755455423 -:10B4F00094F8282012F0020F74D07345C0F2B28085 -:10B50000BEF1000FC0F2B1807146354B9847022062 -:10B51000BDE8F081002940F000810EF1FF3EFF21DF -:10B52000BEF1000F1EDB73451CDDC2F387220A4407 -:10B53000C2F3470216F0020F1CBFD243D2B200EB97 -:10B540000E0610F80E10F92A0BD8052A08D902FBAE -:10B5500001F202EB022102EBC112C2F3C75100E07B -:10B560000021317094F8282012F0020F0AD0ACEBC1 -:10B5700005018B4261DD002962DB194B98470220EF -:10B58000BDE8F0810EF101029A42A8BF1A46002AD6 -:10B5900059D0002A5ADD991A1044114B98470220BD -:10B5A000BDE8F0810025DCE0002500E1002950DD48 -:10B5B0000B4B98470220BDE8F0810EF1010E734558 -:10B5C0004ADBBEF1000F4ADBA3EB0E017044044BD3 -:10B5D00098470220BDE8F081002164E7002586E756 -:10B5E000372B01000EF102029A42A8BF1A46002A28 -:10B5F0003ED0002A3FDD991A1044734B9847022031 -:10B60000BDE8F0810120BDE8F0810120BDE8F081B6 -:10B610000120BDE8F0810020BDE8F0810020BDE8F8 -:10B62000F0810020BDE8F0810020BDE8F08102201B -:10B63000BDE8F0810020BDE8F0810020BDE8F08188 -:10B640000220BDE8F0810020BDE8F0810220BDE8C5 -:10B65000F0810220BDE8F0810120BDE8F0810220E8 -:10B66000BDE8F0810020BDE8F0810220BDE8F08156 -:10B670000020BDE8F0810220BDE8F0811F462B4488 -:10B6800001FB03F1B2EBA12F3FF74BAE1202A3690E -:10B6900003FB02F39B12191213F0FF0339D0C3F11D -:10B6A000FF03626A02FB03F24FEA222ECEF1FF0291 -:10B6B000491B1AD4B94218DA0EFB03F3C3F347232C -:10B6C00016F0020F04BFDB43DBB24618455CF92BD2 -:10B6D0000AD8052B7FF631AE03FB05F303EB0325F8 -:10B6E00003EBC513C3F3C75535704D1C46194FF016 -:10B6F000000E2DE61F462B4401FB03F1B2EBA12FF8 -:10B70000FFF615AE01321202A36903FB02F39B128E -:10B71000C1E74D1B2946FF22E8E7E269524201FBDF -:10B7200002F29212BEF1000F1CDB73451ADD02FB20 -:10B7300001F1C1F3472116F0020F1CBFC943C9B282 -:10B7400000EB0E0610F80E50F9290AD805297FF6ED -:10B7500029AF01FB05F101EB012501EBC511C1F397 -:10B76000C7553570BEF1010122D48B4220DDC2F1F4 -:10B77000FF02A5696D4202FB05F5AD1202FB05F261 -:10B78000C2F3472294F8285015F0020F04BFD243A9 -:10B79000D2B2455CF92A0AD8052A7FF605AF02FB2A -:10B7A00005F202EB022502EBC512C2F3C755455460 -:10B7B00094F8282012F0020F3FF4FFAE8B42BFF640 -:10B7C000F5AE0220BDE8F081372B01002DE9F04FE6 -:10B7D0008DB0169DAE7C06F00106B5F91080EC1D0B -:10B7E00005F10F090DF1280E14F8017F0EF8017B09 -:10B7F0004C45F9D1002E3DD1BDF92A40944200F3C9 -:10B800002B82BDF92E409442C0F22A829B460F46FD -:10B810000290BDF9289008EB0903994206DB5944D0 -:10B82000BDF92C30A3EB080399420BDDBDF92A309A -:10B8300003EB08018A4253DBBDF92E10A1EB08018E -:10B840008A424DDC86BBA9EB07045C4500F30C8201 -:10B85000002C03DB214602989F4B9847BDF92C0032 -:10B86000C01B0130002840F3018283450DDCBCB1D0 -:10B870000220F2E1BDF92A40944200F3F381BDF9C0 -:10B880002E409442C2DA0120E7E1ABEB0001029BBB -:10B8900003441846904B9847002CE9D10220DCE184 -:10B8A0008345E5D10120D8E1A9EB070020EAE0704B -:10B8B000584501DD0220D0E1BDF92C10C91B091A41 -:10B8C000013143189B45B8BFABEB00010029C0F222 -:10B8D000CF81029B034418467F4B98470220BCE16E -:10B8E000BDF92CA09BB2BDF82E100131C91A09B2C6 -:10B8F000D21A08FB08F3019312B2904500F3D181EC -:10B90000A1EB0803013B9A4200F3B4810220A4E1B9 -:10B910006B8BADF81A302B8BADF81830D6E1049A4A -:10B9200007A9019B00FB10306C4B9847049A06A9AD -:10B93000019B04FB1430694B98476C61BDF81A30C9 -:10B940006B83BDF818302B83D1E1BDF81E100029A0 -:10B9500040F0D581013AADF81C20FF22ADF81E2041 -:10B96000CDE1BDF81A20BDF81E100A44C2F347020B -:10B970000EB1D243D2B2A8EB0303013BF91811D4A4 -:10B9800059450FDA0298405CF92A09D8052A35D9B9 -:10B9900002FB00F000EB002400EBC410C0F3C75022 -:10B9A000029C6054A9EB0303013BDF1911D45F45EE -:10B9B0000FDA029BDB5DF92A09D8052A20D902FBA0 -:10B9C00003F202EB022302EBC312C2F3C753029A43 -:10B9D000D355BEB1481C20EAE0705F45D4BF391A88 -:10B9E000ABEB0001584580F219810029C0F21681A5 -:10B9F000029B03441846384B98470FE10020CFE7DD -:10BA00000023E4E7594500F32581002902DB029871 -:10BA1000314B9847013700F11D815F4500F3FE80EF -:10BA2000ABEB0701029B3B4418462B4B9847F5E0D4 -:10BA3000049A09A9019B08FB1830284B9847BDF8C8 -:10BA40002610BDF81A30C3F1FF02C1F1FF0303FB5A -:10BA500002F3C3F347230EB9DB43DBB2039802467C -:10BA6000002811DB58450FDA029C2018A25CF92B44 -:10BA700009D8052B29D903FB02F202EB022402EBC1 -:10BA8000C412C2F3C7520270BAF1000F13DBDA45D9 -:10BA900011DA029C04EB0A0014F80A20F92B09D8E9 -:10BAA000052B14D903FB02F303EB032203EBC213B0 -:10BAB000C3F3C7520270039B013B03930AF1010ACF -:10BAC000ADF8221008F101085EE10022DBE7002258 -:10BAD000F0E7002739E000BF372B01001D230100EC -:10BAE00000270EF808700138013401311A46019D13 -:10BAF000A94240D809EB121701FB11A307FB07FC71 -:10BB0000CCEB03234FEA470C93FBFCF31F44C7F332 -:10BB10000F1C3F0107F0F0031A44C2F347020EB1B5 -:10BB2000D243D2B2002812DB834510DD80461EF8D6 -:10BB30000070F92A09D8052ACBD902FB07F505EBD5 -:10BB4000052705EBC717C7F3C7570EF80870002C79 -:10BB5000C9DBA345C7DDA0461EF80470F92AC0D88A -:10BB6000052ABDD902FB07F202EB022702EBC71739 -:10BB7000C7F3C757B5E7DDF81080DDF814A0EA4336 -:10BB800042440399114403910135AA44AAEB080ADF -:10BB9000ADF82230ADF824C0ADF82630BDF8223023 -:10BBA000002B3AD0BDF81E2003FB02F3C3F347235A -:10BBB0000EB1DB43DBB2039A002A12DB934510DDA2 -:10BBC000029801461144825CF92B09D8052B27D92C -:10BBD00003FB02F202EB022002EBC012C2F3C752D7 -:10BBE0000A70BAF1000F13DBD34511DD029800EBA8 -:10BBF0000A0110F80A20F92B09D8052B12D903FBEA -:10BC000002F303EB032203EBC213C3F3C7520A7020 -:10BC1000039B013B03930AF1010A2EB102201CE0B1 -:10BC20000022DDE70022F2E703990131594511DCDA -:10BC3000002902DB0298604B9847BAF1000F09DB3C -:10BC4000DA45EBDAABEB0A01029B534418465A4B38 -:10BC50009847E3E7002000E000200DB0BDE8F08F3A -:10BC60000020FAE70120F8E70020F6E70020F4E7DB -:10BC70000220F2E7B8F5807FD4BF4FF400634FF4A1 -:10BC800000430493891AA8EB0100441C6B69984295 -:10BC90007FF445AE6B8BADF81E302B8BADF81C30AE -:10BCA00044E6B8F5807FD4BF4FF400634FF40043FF -:10BCB0000493A8EB02046B699C423FF429AE049AFA -:10BCC00006A9019B04FB14303C4B9847631E049A61 -:10BCD00007A90393019803FB1300384B9847039B74 -:10BCE0006B61BDF81E306B83BDF81C302B83BDF833 -:10BCF0001830BDF81C20511E8B423FF426AEA9EB34 -:10BD000007070AF1010AAAEB09090FFA89F9BDF838 -:10BD10001C209A423FF425AE0133A8EB030807EB41 -:10BD200008030393A9EB080808F1FF3ABA4486B167 -:10BD3000581C20EAE070DA45D4BFAAEB0001ABEB57 -:10BD40000001584505DA002903DB029B18441A4B11 -:10BD50009847BDF8180000F10108049A08A9019B52 -:10BD600000FB1030154B9847BDF822303BB9BDF8A9 -:10BD70002030013BADF82030FF23ADF82230BDF874 -:10BD800020309C427FF754AEBDF81C50A8453FF6CA -:10BD900005AFBDF820904FEA0919BDF822204146B1 -:10BDA00054460398CDF81080CDF814A0DDF804A017 -:10BDB0000195DDF808E09DE6372B01001D23010009 -:10BDC00010B582B0104B1B689BB10F4A01239468D9 -:10BDD00084B10133DBB20832102BF8D10B4B009346 -:10BDE0000B4B57220B4902200B4CA0474FF0FF3062 -:10BDF00007E00023044A42F8330002EBC30251601B -:10BE000018B202B010BD00BF6C6D002024500200BB -:10BE1000C84F0200F44F02005D2201002DE9F047F7 -:10BE200082B0114C2468ECB19A4691468846074688 -:10BE30000D4E00250094246853464A464146384634 -:10BE4000A047044650B1022808BF012556F8084F04 -:10BE5000002CEFD1002D14BF02240124204602B093 -:10BE6000BDE8F0870124F9E76C6D0020B0F1FF3FD9 -:10BE70000AD0064B53F83010002243F8302003EB71 -:10BE8000C0035A60084670470021FBE76C6D002034 -:10BE900070B40B4B1A1D03F180040026354603E0F5 -:10BEA00008330832A34208D059688142F8D152F8C9 -:10BEB000046C42F8045C5D60F2E7304670BC704789 -:10BEC0006C6D002000231846064902E00133102B58 -:10BED00006D051F83320002AF8D00130C0B2F5E77F -:10BEE000704700BF6C6D00202DE9F04104460F46FD -:10BEF00015469846BDF918602C214A4B9847B54223 -:10BF000005DD2B4635461E463B464746984627816B -:10BF10006581A4F80C80E681237C9DF81C2062F3E7 -:10BF2000010323746782A582A8EB0707751B87EAC4 -:10BF3000E771A1EBE77185EAE573A3EBE57399423D -:10BF4000D4BF0021012194F8282061F3000284F875 -:10BF500028200021E161A161334B2360217112F09F -:10BF6000010F25D03FB14FF4801393FBF7F305FB8E -:10BF700003F39B12E3613DB14FF4801696FBF5F598 -:10BF800007FB05F7BF12A761E3692362237C13F067 -:10BF9000030322D194F828306FF3410384F828304A -:10BFA000236A9A10002BB8BF52426262BDE8F0814A -:10BFB0003DB14FF4801393FBF5F307FB03F39B12A2 -:10BFC000A3613FB14FF4801898FBF7F705FB07F525 -:10BFD000AD12E561A3692362D8E7012B0FD0022BD4 -:10BFE00014D0032BDCD1236A002B94F82830CCBF6B -:10BFF0006FF3410343F0020384F82830D0E794F84C -:10C00000283043F0020384F82830C9E7236A002B64 -:10C0100094F82830CCBF43F002036FF3410384F857 -:10C020002830BDE7372B010021B2000070B4CC8866 -:10C0300001344D88641B8D8801350E88AD1B24B2F8 -:10C040002DB2AC42A8BF2C466410A242C8BF22B297 -:10C05000013900F1100600F1080411F8015F04F83D -:10C06000015BB442F9D10282827C63F300028274E4 -:10C07000054B0360022303714FF00043436100232B -:10C080004383038370BC7047CDB700002DE9F04FA8 -:10C090008BB00690894607924FEA610BCDF808B045 -:10C0A00011F0010F06BF0BF1FF330893CDF820B05C -:10C0B000069C67003846694B98470590002C40F372 -:10C0C000BE80BA1EC1190391079D4FF0000804F10C -:10C0D000FF3A0899AAEB010104910646CDF824B075 -:10C0E0009346CDF8049035F80B3009FB03F3BAF111 -:10C0F000000F1BDB029A02EB0A01049A013A039833 -:10C100004FF0000E20F8023D8C42CCBF35F811C034 -:10C11000F446A3EB0C03002AB4BFB5F800C035F811 -:10C1200012C063440139013AB042EBD13A4631467C -:10C1300028464B4B98473D4408F10108A045D0D113 -:10C14000DDF824B0079A1388019993FBF1F313806B -:10C15000069B03FB03F5012D11D9079A0121019ECE -:10C16000104632F8023F008898421CBF93FBF6F35A -:10C1700013800131A942F3D3069B002B59DD079EA2 -:10C180000296089901FB07726FEA0B035B1A069D82 -:10C1900005FB03F306936B1E05FB03F306EB43035A -:10C1A00007934FF0000A931E089301F10109029BC7 -:10C1B0001E4602331A4602933388019901FB03F3AA -:10C1C00008998D18059AA2F1020CE046B6460022A5 -:10C1D000CDF80CC00496069EDDF81CC0002BACBF49 -:10C1E0009911002128F8021F1146A2EB0B0000282C -:10C1F000D4BFBEF8000035F816001B1A49448C4223 -:10C20000CCBF29883CF81A100B440132BE443D448F -:10C21000A242E3DBDDF80CC0049E00233CF8022FB1 -:10C22000328001333E44A342F8DB0AF1010AA24501 -:10C23000BDDB05980B4B98470BB0BDE8F08FCDF8F0 -:10C240000490079A138893FBF9F9A2F80090069BD3 -:10C2500003FB03F5012D80D8EBE700BF3D2901006A -:10C26000552601007125010010B5044654212D4BBF -:10C2700098472D4B1B88638023796FF30403237148 -:10C28000A3886FF34A13A3801B0A6FF3C70363717C -:10C29000A37B6FF30403A373E3896FF34A13E38172 -:10C2A0001B0A6FF3C703E37394F834306FF304038E -:10C2B00084F83430A38E6FF34A13A3861B0A6FF3FE -:10C2C000C70384F8353094F846306FF3040384F8DC -:10C2D0004630B4F846306FF34A13A4F846301B0AD0 -:10C2E0006FF3C70384F84730A37F6FF30403A3778A -:10C2F000E38B6FF34A13E3831B0A6FF3C703E37700 -:10C30000FF23638123732377237584F83630074A2C -:10C31000226384F84430226484F828300F23638237 -:10C3200010BD00BF372B01007C5002001000002020 -:10C330002DE9F04FB1B0C4884588631C5B1B1BB26C -:10C34000002B41F30F808688B0F80080731CA3EBAC -:10C3500008031BB2002B41F305809246049106901E -:10C36000B2F92070002F00F0198792F82830099355 -:10C37000052B40F21387136A012B00F0F680BAF800 -:10C380002220BAF82630D11A88441FFA88F8ADF86E -:10C3900050801A441644B6B2ADF85460BAF824205E -:10C3A000D11A0D44ADB2ADF8525013441C44A4B29E -:10C3B000ADF8564007EBD7736FEA630292B208EB11 -:10C3C0000201ADF858105B1001339BB2F118ADF8C3 -:10C3D0005C102A44ADF85A202344ADF85E30099B26 -:10C3E000FB2B28BFFF230993BE4B9847BE4B9847B2 -:10C3F0008146049A16A918A8BC4B9847002800F05B -:10C40000CD86B9F81010BDF860305B1AADF8603019 -:10C41000B9F81220BDF862309B1AADF86230BDF851 -:10C4200064305B1AADF86430BDF866309B1AADF825 -:10C430006630069A531ED01D1AAA13F8011F02F87F -:10C44000011B9842F9D1BDF8683001331FFA83FE11 -:10C45000ADF868E0BDF86A10013188B2ADF86A0045 -:10C46000BDF86C305A1EADF86C20BDF86E104A1E37 -:10C47000ADF86E20BAF90020A3EB0E031BB2091A27 -:10C4800009B28B42A8BF0B465B109342A8BF13466C -:10C490000E930136A6EB0806B6B233B20134641B24 -:10C4A000A4B225B29D42A8BF1D466D109542A8BFFB -:10C4B000154607EB050909FB09F040008C4B98472E -:10C4C0000A90BAF920B02AB202EB0B070DF14F0126 -:10C4D00022AB0DF1900E11F8010F03F8010B73451B -:10C4E000F9D10BEBDB71C1F34F014B1E1BF00100C7 -:10C4F00010900CBF012000201B1A2B449BB2ADF8FA -:10C500008C30013189B2ADF88A109B1BADF88830B0 -:10C510002144ADF88E10002322A929A8754CA0470C -:10C52000BBF1010F02F0D8814FEA6B030B93079721 -:10C5300038466F4B98470C90002F5CDD079B4FEA05 -:10C54000430B07F10043013B5B000A9C0025DFF829 -:10C55000B8813AB20892CDF8349005970C9E99466E -:10C56000CDF83CA0DDF82CA014E0B2F92430002B6B -:10C570007FF405AFB2F92630002B3FF700AF00F093 -:10C580000DBE594620465C4B98475C440135059BDF -:10C59000AB422BDD07993046C04729AB0093089B7F -:10C5A0002AB200213046299FB8470028E9D0D64654 -:10C5B00033789B0193FBFAF32380059B012BE4DD89 -:10C5C0003146224604EB09001F468C4611F8013F14 -:10C5D0009CF800C09C450EBF13889B0193FBFEF3A3 -:10C5E000538002329042F0D10597CEE7DDF83490C7 -:10C5F0001F46DDF83CA00C98404B98470B9B012B45 -:10C6000002F04D813CB20A9E32460B9D29462046DF -:10C610003B4B9847109A2A4411B2012922DD0D465E -:10C6200033889B0193FBF1F332463380079800FB7C -:10C6300000F0012812D900F10040013806EB40005B -:10C6400001E082420AD0164632F8023F36889E4206 -:10C65000F7D09B0193FBF5F31380F2E70A9A20468B -:10C66000274B984707FB07F757B10A990B464A1E15 -:10C6700001EB470033F8021B02F8011F8342F9D196 -:10C68000BDF85A20BDF85E3001339B1A1BB203EB94 -:10C69000D37302EB63039BB20F931BB20C93BDF8F1 -:10C6A0005820BDF85C3001339B1A1BB203EBD373E7 -:10C6B00002EB63039BB210931BB20D93114B98478F -:10C6C00020BBBAF92230002B40F0BC81BAF92430EB -:10C6D000002B40F0BA81BAF92630B3FA83F35B0934 -:10C6E000079315E0695F0000DD0F010019150100D7 -:10C6F0003D2901002DC00000372B010071250100EC -:10C700008DC00000C5BE0000ED2B01000023079383 -:10C71000BDF85C000130BDF85830C01A00B2C24B01 -:10C720009847059001230E9A1AA929A8BF4CA04743 -:10C73000002129A8BE4B98470E90BDF95C30ADF89A -:10C7400074301FFA89FB0133A3EB0B03ADF8703093 -:10C75000BDF95A30ADF87230013B5B44ADF876302C -:10C76000049A1CA91EA8B34B9847002872D0BDF9A3 -:10C770007E300C998B42C4BF0B46ADF87E30BDF9BC -:10C7800078300D9A934203DC109B0133ADF878307A -:10C79000BDF97820BDF87C3001339B1A1BB2089399 -:10C7A000002B57DDBDF97E70BDF97A40BDF972509E -:10C7B000651BBDF97030D21A09FB05250A9B1D4483 -:10C7C0000DF1770222AB24A812F8011F03F8011B18 -:10C7D0008342F9D1BDF88A30ADF88E3001373F1B66 -:10C7E0003FB2002F36DD0026DFF85482CDF844B08A -:10C7F000BB46099B0B93089A2946059F38468E4CE9 -:10C80000A04730AC089BBDF98A2034F9381D059744 -:10C8100038468A4FB847012808BF02209AF82930C5 -:10C8200002930B9A01920090059BBAF81E202146B4 -:10C830000498C047BDF88A300133ADF88A30BDF89E -:10C840008E300133ADF88E304D4401365E45D2D185 -:10C85000DDF844B0BDF95C30ADF874300133A3EBC2 -:10C860000B03ADF87030BDF95E20531CA3EB0B0336 -:10C87000ADF87230ADF87620049A1CA91EA86D4B55 -:10C880009847002873D0BDF97A300C9A934203DCA4 -:10C890000F9B0133ADF87A30BDF978300D9A934291 -:10C8A00003DC109B0133ADF87830BDF97820BDF87A -:10C8B0007C3001339B1A1BB20893002B57DDBDF966 -:10C8C0007E40BDF97A60BDF976502D1BBDF9703000 -:10C8D000D21A09FB05250A9B1D440DF1770222ABF4 -:10C8E00024A812F8011F03F8011B8342F9D1BDF8F7 -:10C8F0008E30ADF88A30671CBF1B3FB2002F36DD8B -:10C900000026DFF83C81CDF840B0BB46099B0B9375 -:10C91000089A2946059F3846474CA04730AC089BEB -:10C92000BDF98A2034F9381D05973846434FB8477A -:10C93000012808BF02209AF8293002930B9A01922D -:10C940000090059BBAF81E2021460498C047BDF808 -:10C950008A30013BADF88A30BDF88E30013BADF82E -:10C960008E304D4401365E45D2D1DDF840B0BDF980 -:10C970005C30ADF874300133A3EB0B03ADF87030CD -:10C98000BDF85A305B44ADF87230BDF85E30A3EBB1 -:10C990000B03ADF87630049A1CA91EA8254B9847C6 -:10C9A000002800F08580079B4BB1069BB3F904304B -:10C9B000BDF978209342B8BF1346ADF87830BDF981 -:10C9C0007830BDF87C200132D21A0FFA82F8B8F123 -:10C9D000000F6DDDBDF87E400134BDF87A20A41A49 -:10C9E00024B209F1FF31BDF970209B1A09FB013314 -:10C9F0000A9AD31808930DF1770222AB24A812F8F3 -:10CA0000011F03F8011B8342F9D1BDF88A30ADF84C -:10CA10008E302546002C4BDD0024074FCDF82C909E -:10CA2000A946079D3AE000BF3D2901002DC0000046 -:10CA3000C1BD000019150100552601001DBE0000F2 -:10CA4000517700000023079362E6002307935FE617 -:10CA50004346BDF98A20BDF988100598234EB0479A -:10CA6000012808BF02209AF8293002939AF828304A -:10CA700001930090059BBAF81E2022A904981C4E31 -:10CA8000B047BDF88A300133ADF88A30BDF88E303A -:10CA90000133ADF88E3001344C4507D04246089939 -:10CAA0000598B847002DD3D00220DCE7DDF82C90A4 -:10CAB000B9F1000F1EDD09EBD9777F100A9D002622 -:10CAC0000CE0197812F8010C03F8010B02F8011DB3 -:10CAD000A342F6D14D440136B1450BD0002FF9DD0C -:10CAE0002B4605EB0902EC19EBE700BF1DBE000069 -:10CAF00051770000BDF95830ADF87030013B5B4410 -:10CB0000ADF87430BDF95A30ADF87230013B5B447A -:10CB1000ADF87630049A1CA91EA8AE4B98470028A1 -:10CB200071D0BDF97E300C998B42C4BF0B46ADF875 -:10CB30007E30BDF97C300D998B42C4BF0B46ADF8F9 -:10CB40007C30BDF97820BDF87C3001339B1A1BB2D4 -:10CB50000893002B57DDBDF97E70BDF97A40BDF911 -:10CB60007250651BBDF97030D21A09FB05250A9B6E -:10CB70001D440DF1770222AB24A812F8011F03F81F -:10CB8000011B8342F9D1BDF88A30ADF88E300137F0 -:10CB90003F1B3FB2002F36DD0026DFF84482CDF880 -:10CBA00040B0BB46099B0B93089A2946059F38461F -:10CBB000894CA04730AC089BBDF98A2034F9381D58 -:10CBC00005973846854FB847012808BF02209AF8D4 -:10CBD000293002930B9A01920090059BBAF81E200F -:10CBE00021460498C047BDF88A300133ADF88A3039 -:10CBF000BDF88E300133ADF88E304D4401365E45C0 -:10CC0000D2D1DDF840B0BDF95830ADF87030013BFD -:10CC10005B44ADF87430BDF95E20531CA3EB0B03ED -:10CC2000ADF87230ADF87620049A1CA91EA8694BA5 -:10CC30009847002872D0BDF97A300C9A934203DCF1 -:10CC40000F9B0133ADF87A30BDF97C300D998B42E2 -:10CC5000C4BF0B46ADF87C30BDF97820BDF87C3000 -:10CC600001339B1A1BB20893002B57DDBDF97E40A0 -:10CC7000BDF97A60BDF976502D1BBDF97030D21A1E -:10CC800009FB05250A9B1D440DF1770222AB24A860 -:10CC900012F8011F03F8011B8342F9D1BDF88E3051 -:10CCA000ADF88A30671CBF1B3FB2002F36DD00266F -:10CCB000DFF82C81CDF830B0BB46099B0B93089A66 -:10CCC0002946059F3846444CA04730AC089BBDF927 -:10CCD0008A2034F9381D05973846404FB847012857 -:10CCE00008BF02209AF8293002930B9A0192009013 -:10CCF000059BBAF81E2021460498C047BDF88A302B -:10CD0000013BADF88A30BDF88E30013BADF88E3076 -:10CD10004D4401365E45D2D1DDF830B0BDF9583012 -:10CD2000ADF87030013B5B44ADF87430BDF85A305B -:10CD30005B44ADF87230BDF85E30A3EB0B03ADF889 -:10CD40007630049A1CA91EA8224B9847002879D057 -:10CD5000079B4BB1BDF97C30069AB2F90020934293 -:10CD6000A8BF1346ADF87C30BDF97830BDF87C80A3 -:10CD700008F10108A8EB03080FFA88F8B8F1000FD2 -:10CD800060DDBDF87E400134BDF87A20A41A24B2DB -:10CD900009F1FF31BDF970209B1A09FB01330A9A92 -:10CDA000D31808930DF1770222AB24A812F8011FC3 -:10CDB00003F8011B8342F9D1BDF88A30ADF88E30FB -:10CDC0002546002C3EDD0024034FCDF82C90A946CB -:10CDD000079D2DE019150100552601001DBE00001C -:10CDE000517700004346BDF98A20BDF988100598A7 -:10CDF000AA4EB047012808BF02209AF829300293B2 -:10CE00009AF8283001930090059BBAF81E2022A9B9 -:10CE10000498A34EB047BDF88A300133ADF88A308C -:10CE2000BDF88E300133ADF88E3001344C4507D05B -:10CE3000424608990598B847002DD3D00220DCE778 -:10CE4000DDF82C90BDF858305B44ADF87030BDF87B -:10CE50005C30A3EB0B03ADF87430BDF95A30ADF87C -:10CE60007230013B5B44ADF87630049A1CA91EA8D1 -:10CE70008C4B984700287DD0079B4BB1069BB3F99C -:10CE80000230BDF97E209342A8BF1346ADF87E3034 -:10CE9000BDF87C300133BDF878209B1A1BB2089393 -:10CEA000BDF97A30BDF87E500135ED1A2DB2C84675 -:10CEB000BDF972401C1B09F1FF3309FB04340A9BC6 -:10CEC0001C440DF1770222AB24A812F8011F03F8CD -:10CED000011B8342F9D1BDF88A30ADF88E302B4664 -:10CEE000002D47DD0025704FCDF82C90DDF8249003 -:10CEF000CDF830B09B462AE0B9F1FF0F2AD1494660 -:10CF00002CE0089BBDF98A20BDF988100598634E76 -:10CF1000B047012808BF02209AF829300293FF2366 -:10CF200001930090059BBAF81E2022A904985C4E3C -:10CF3000B047BDF88A300133ADF88A30BDF88E3085 -:10CF40000133ADF88E30444401355D450ED0237871 -:10CF5000FF2BD1D003FB09F3C3F30721089A0598EF -:10CF6000B847079B002BCCD00220D5E7DDF82C90EA -:10CF7000DDF830B0BDF858305B44ADF87030BDF826 -:10CF80005C30A3EB0B03ADF87430BDF95E20531C8D -:10CF9000A3EB0B03ADF87230ADF87620049A1CA910 -:10CFA0001EA8404B9847002800F08280079B4BB199 -:10CFB000069BB3F90630BDF97A209342B8BF1346F9 -:10CFC000ADF87A30BDF87C300133BDF878209B1A7B -:10CFD0001BB20893BDF97E305D1CBDF87A20AD1AF6 -:10CFE0002DB2C846BDF97640E41A09F1FF3309FBBA -:10CFF00004340A9B1C440DF1770222AB24A812F8DA -:10D00000011F03F8011B8342F9D1BDF88E30ADF842 -:10D010008A30A946002D4BDD0025234FCDF82CB0DA -:10D02000DDF824B02AE0BBF1FF0F2AD159462CE0ED -:10D03000089BBDF98A20BDF988100598174EB047A6 -:10D04000012808BF02209AF829300293FF23019398 -:10D050000090059BBAF81E2022A90498104EB047F4 -:10D06000BDF88A30013BADF88A30BDF88E30013B07 -:10D07000ADF88E30444401354D4517D02378FF2B51 -:10D08000D1D003FB0BF3C3F30721089A0598B847E7 -:10D09000079B002BCCD00220D5E700BF1DBE0000AF -:10D0A0005177000019150100812A0100DDF82CB02C -:10D0B000BDF858305B44ADF87030BDF85C30A3EB80 -:10D0C0000B03ADF87430BDF85A305B44ADF87230E4 -:10D0D000BDF85E30A3EB0B0BADF876B0049A1CA93B -:10D0E0001EA8A24B9847002850D0079B002B4DD17B -:10D0F000BDF87C600136BDF87830F61A36B2BDF85E -:10D100007E400134BDF87A30E41A24B20DF1770282 -:10D1100022AB24A812F8011F03F8011B8342F9D1A6 -:10D12000BDF88A30ADF88E30A346002C2EDD0025E8 -:10D13000DFF85492DFF854828D4F32469AF8281067 -:10D140000598C84730AC3346BDF98A2034F9381DFC -:10D150000598C047012808BF02209AF82930029399 -:10D16000FF2301930090059BBAF81E2021460498E6 -:10D17000B847BDF88A300133ADF88A30BDF88E303B -:10D180000133ADF88E3001355D45D6D10E98794B1F -:10D1900098470598784CA0470A98A0479AF80C70D1 -:10D1A000052F42D9069A531ED01D1AAA13F8011F43 -:10D1B00002F8011B9842F9D1BAF91030012B24DD95 -:10D1C0009AF81430F92B20D9BAF90030EBB1BAF83B -:10D1D0001230C3F38002BDF868100A44ADF868202D -:10D1E000C3F34002BDF86A100A44ADF86A20C3F3E5 -:10D1F000C001BDF86C20521AADF86C2003F0010399 -:10D20000BDF86E20D31AADF86E30FB2F28BFFF2774 -:10D210005A4B98475A4B98478046049A1AA91CA81B -:10D22000524B9847002840F0B380DAF82C0020B128 -:10D230009AF83630052B00F2EB839AF81440052C4F -:10D2400015D9BAF9103093B1BAF912307BB1FB2C71 -:10D2500028BFFF24494B9847494B98470546049AF5 -:10D26000069918A8414B9847002840F04685DAF8FF -:10D270003C1021B19AF84430052B01F253809AF802 -:10D280001CB0BBF1050F6DD9BAF91830002B69D06D -:10D29000BBF1FB0F28BF4FF0FF0B3A4B98470990AB -:10D2A000069A531ED01D16AA13F8011F02F8011B7F -:10D2B0008342F9D1BAF81A50BDF858305B1B9BB2C3 -:10D2C0000693ADF85830BDF85A305B1B9BB20793FC -:10D2D000ADF85A30BDF85C602E44B6B2ADF85C6073 -:10D2E000BDF85E301D44ADB2ADF85E50BAF9003005 -:10D2F0000893BAF9183005930DF1570218AB1AA824 -:10D3000012F8011F03F8011B8342F9D1BDF8144044 -:10D31000BDF86090A9EB04091FFA89F30A93ADF8F0 -:10D320006030BDF864702744BFB2ADF86470BDF8DA -:10D330006280A8EB04081FFA88F8ADF86280BDF897 -:10D3400066301C44A4B2ADF866400C4B98470C4BB9 -:10D3500098478146049A18A91AA8044B98470028B0 -:10D3600041F0448031B0BDE8F08F00BF19150100D5 -:10D37000517700006DBE000071250100695F00005B -:10D38000DD0F0100C5BE0000812A01001DBE0000A6 -:10D39000B8F81010BDF870305B1A9AB2ADF8702072 -:10D3A000B8F81200BDF872301B1AADF87230BDF833 -:10D3B00074305B1A9BB2ADF87430BDF87610091A60 -:10D3C000ADF8761001339B1A1BB209930A931846E5 -:10D3D000934B98470590934B984783B20B9343BB6D -:10D3E0009AF80630023B18BF01230793BDF86C5032 -:10D3F0000135BDF86830ED1A2DB22C46BAF900207F -:10D40000BDF86E300133BDF86A609B1B1EB2334617 -:10D41000AE42A8BF2B465E109642A8BF1646079B99 -:10D42000DBB1D6B99AF8063033B14FF0FF330E9323 -:10D4300021E000230793D9E79AF80D300293019772 -:10D44000012300930023BAF802201AA90498764C0D -:10D45000A0474FF0FF330E9376E2002E32DD00231B -:10D4600032461AA929A8DFF8D091C847002129A877 -:10D470006E4B98470E90BAF802B09AF80630022B1D -:10D4800024D000230D93BDF96C20BDF96810531C06 -:10D490005B1A1BB2A3EB4609ADF87810ADF87C20FF -:10D4A000BDF97220B8F8123013441BB2ADF87A30CF -:10D4B000ADF87E301546BDF976309A4200F33782DA -:10D4C0000897FAE04FF0FF330E93D4E7BAF8043030 -:10D4D0009B4500F089806800514B98470D90002DC6 -:10D4E000D1DD4FF00009089606461BE09AF802309D -:10D4F00003F01F03BAF80210C1F345119AF8032094 -:10D50000D208287863F3040028702B8861F34A134B -:10D510002B801B0A62F3C7036B7009F10109023605 -:10D520004C455FD03546BAF9080000FB04F31B12E6 -:10D530000FFA89F18B42D9DABAF90A2002FB04FE0C -:10D54000B1EB2E2F42DA121A04FB02F2A9EB03030D -:10D550001BB2C3EB0323121293FBF2F3DBB2C3F152 -:10D56000FF0E9AF80520D2089AF80310C9080EFB9E -:10D5700001F103FB021202EB022102EBC112C2F322 -:10D58000C452BAF80410C1F34511BAF80200C0F34E -:10D5900045100EFB00F003FB010101EB012001EB44 -:10D5A000C011C1F3C5519AF8040000F01F009AF8A9 -:10D5B00002C00CF01F0C0EFB0CFE03FB00E303EBA0 -:10D5C000032003EBC013C3F3C4539AE79AF8043063 -:10D5D00003F01F03BAF80410C1F345119AF80520AF -:10D5E000D2088EE7089E4EE700230D934BE70A9979 -:10D5F000059F38460E4B9847B8F812202A44B8F8D1 -:10D600001010BDF870301944099B12B209B23846A7 -:10D61000084FB84707469AF80630012B29D17AE01F -:10D620003D290100C5BE000051770000C1BD0000CA -:10D63000ED2B01001DBE00002DC000000A99059FC2 -:10D640003846B64B9847B8F812202A44B8F810105C -:10D65000BDF870301944099B12B209B23846B04F78 -:10D66000B84707469AF80630012B54D0079A002A8B -:10D670003AD1022B00F044810B9B13B9B9F1320F60 -:10D680000BDC9AF80D300293089B01930097059BE1 -:10D690005A461EA90498A34CA047BDF87A3001331E -:10D6A000ADF87A30BDF87E300133ADF87E3001350B -:10D6B000BDF976309D4200F33981B8F912402C440F -:10D6C000BDF96A30334401339C42B7DDBDF96E3099 -:10D6D0009B1B013B9C42B1DA079B002B87D09AF839 -:10D6E0000630012B16D00127B9F1320F00F39380D9 -:10D6F000022B00F00581012BBED19AF80D30029368 -:10D70000089B01930097059B5A461EA90498854CD7 -:10D71000A047C2E70127BAF80220BAF804309A42BB -:10D720006FD0BDF86A10621A93B21A460C93BAF918 -:10D7300008E0BDF86E3001335B1A1BB203FB0EF13B -:10D74000091210B281424BDABAF90AC00CFB03F29B -:10D75000B0EB222F80F2B080ACEB0E0E03FB0EF389 -:10D760000C9A521A12B2C2EB02221B1292FBF3F372 -:10D77000DBB2C3F1FF019AF80520D2089AF8030042 -:10D78000C00801FB00F003FB020202EB022002EBE7 -:10D79000C012C2F3C452BAF80400C0F34510BAF87C -:10D7A00002E0CEF3451E01FB0EFE03FB00E000EBA2 -:10D7B000002E00EBCE10C0F3C5509AF804E00EF036 -:10D7C0001F0E9AF802C00CF01F0C01FB0CF103FBBA -:10D7D0000E1303EB032103EBC113C3F3C4530AE09D -:10D7E0009AF8023003F01F03BAF80200C0F34510A4 -:10D7F0009AF80320D20863F3040B60F34A1B62F328 -:10D80000CF2B079B002B3FF478AFB9F1320FC8BF85 -:10D8100001237FF772AFBDF96A203244013294428E -:10D8200006DBBDF96E20921B013A94427FF760AF90 -:10D83000BDF96830ADF88830B2B20C92013B1344A8 -:10D84000ADF88C30BDF87A30ADF88A30BDF87E3056 -:10D85000ADF88E309AF80D300293089B0193009733 -:10D86000059B5A4622A904982E4CA0479AF80630E8 -:10D87000012B2DD0BDF96C305A1C0C99541AADF8FF -:10D880008840ADF88C309B1B0133B8F91020BDF9EE -:10D8900070100A449B1A9AF80D200292089A01927D -:10D8A0000097059A002BA8BFD21813465A4622A902 -:10D8B00004981C4CA047F0E69AF8043003F01F03CC -:10D8C000BAF80400C0F345109AF80520D20892E790 -:10D8D000BDF868300C9A1344ADF88830BDF86C3050 -:10D8E0009B1AADF88C309AF80D300293089B019387 -:10D8F0000123009300235A4622A90498A047B9E7C0 -:10D900009AF80D300293089B01930097059B0D9A9E -:10D910001EA90498044CA047BFE600BFED2B0100F0 -:10D920001DBE00005177000081820000089F9AF818 -:10D93000063023B90B9B13B9B9F1320F0BDC0D9BE9 -:10D9400013B11846B34B98470E98B34B98470598B8 -:10D95000B04B984769E4B6B2BDF868303344ADF8CF -:10D960007830BDF86C309B1BADF87C30BDF96A3067 -:10D97000ADF87A303344ADF87E309AF80D3002932A -:10D980000197012300930023BAF802201EA90498EE -:10D99000A24CA047BDF96E108A1B12B2ADF87A20D6 -:10D9A000BDF97E309A42DCBF0133ADF87A30ADF874 -:10D9B0007E109AF80D3002930197012500950023FF -:10D9C000BAF802201EA9DDF810804046934CA0470B -:10D9D000BDF86830ADF87830BDF86C30ADF87C300B -:10D9E000BDF86A302B443344ADF87A30BDF86E3060 -:10D9F000013B9E1BADF87E609AF80D3002930197B3 -:10DA000000950023BAF802201EA94046A04796E7D9 -:10DA1000834B98470546012812D9022839D0814BFB -:10DA20000093814B40F2AE5280490220804CA047C7 -:10DA300000231A46049906987E4CA047FFF7FDBBC9 -:10DA400029A9DAF82C007C4B984701280AD07B4B97 -:10DA50000093754B40F2945274490220744CA047D5 -:10DA6000FFF7EBBB299BC3F38A29BDF8A670C7F368 -:10DA70004A171EA8724B98479AF836308DF87830BE -:10DA80009AF837308DF88230BAF83430ADF88430F7 -:10DA900020E022A86B4B9847BAF83430ADF88830B4 -:10DAA000DAF8302023929AF836308DF89030BDF9AC -:10DAB00094300021029147F618410191BDF992106E -:10DAC0000091DAF82C1029A85F4CA047BDF9A4906A -:10DAD000BDF9A6709AF8383013F0010F3FD1069CBB -:10DAE00021886088E2880132121A12B2A3880133B9 -:10DAF0005B1A1BB2A3EB090303EBD37301EB6303C4 -:10DB00009BB2ADF87030D21B02EBD27100EB610119 -:10DB100089B2ADF8721009F1FF399944ADF87490EB -:10DB20007B1E0B449BB2ADF87630022D00F0BD8019 -:10DB3000BAF9002006991CA8444B98474FF0FF34CF -:10DB4000002800F0D4861EABDAF82C2004991CA81B -:10DB5000384DA8472046304B9847FFF76EBB00234F -:10DB6000BAF90020069E314629A8394CA047002169 -:10DB700029A8384B98470790B38801333446328838 -:10DB80009B1A1BB293FBF9F209FB123303EBD3731D -:10DB90004FEA630BB6F9061073884A1CD21A10B20A -:10DBA00090FBF7F207FB120202EBD272A3EB6203C7 -:10DBB0009BB21AB2ADF87220BFB2781E0344ADF822 -:10DBC000763091426CDBDFF890801A4ECDF81490DD -:10DBD000A14652E000230093DAF82C3022AA0499DF -:10DBE0001CA8C047BDF8703023441BB2ADF870309C -:10DBF000BDF874202244ADF87420B9F904209A428B -:10DC00002CDB022DE6D01EABDAF82C2004991CA8E0 -:10DC1000B047E7E7712501006DBE000051770000B5 -:10DC200069990000E050020080500200905002000C -:10DC30005D220100E9960000EDFD0000C0500200E9 -:10DC400045960000CD9900007D4001006D17010050 -:10DC50002DC00000C1BD0000259A0000BDF8723043 -:10DC60003B441BB2ADF87230BDF876203A44ADF8B3 -:10DC70007620B9F906209A4212DBB9F80030A3EBFE -:10DC80000B039BB21AB2ADF87020BDF81440611EB0 -:10DC90000B44ADF87430B9F904309342B1DADDE7E2 -:10DCA00007988A4B9847FFF7C8BA02F0010211445F -:10DCB000ADF872101344ADF87630BAF90020214661 -:10DCC0001CA8834B9847A8B90023BAF900200699ED -:10DCD00029A8804CA047002129A87F4B98470446DB -:10DCE00000230093DAF82C3022AA04991CA87B4D5B -:10DCF000A8472FE74FF0FF34F2E7298ABDF86030DC -:10DD00005B1A9AB2ADF86020688ABDF862301B1ABF -:10DD1000ADF86230BDF864305B1A9BB2ADF8643088 -:10DD2000BDF86610091AADF8661001339B1A1BB2D4 -:10DD30000893099318466A4B98478346694B98475E -:10DD400048B9BAF91280B8F10F0F14BF4FF00008AC -:10DD50004FF0010801E04FF00008BAF90020069EDC -:10DD6000B388013331885B1A19B2F38801337088A4 -:10DD70001B1A1BB28B42A8BF0B465B109342A8BF75 -:10DD800013461A460A93002B40F38880002331463D -:10DD900022A8504EB047002122A84F4B98470E9022 -:10DDA000BAF91060069A531ED01D1AAA13F8011F63 -:10DDB00002F8011B8342F9D1BDF86820BAF812308D -:10DDC00013F0040F6ED0B1B20A44ADF86820BDF86C -:10DDD0006C2013F0080F6AD0B1B2521AADF86C2063 -:10DDE000BDF86A2013F0020F66D0B1B20A44ADF854 -:10DDF0006A20BDF86E2013F0010F62D0B3B2D31ABF -:10DE0000ADF86E30DDF828901FFA89F7BA1B0123B0 -:10DE100012B21AA929A82F4EB047002129A82E4BCB -:10DE200098470F90BAF91030013B4B45B8BF4B46AD -:10DE300019460D93BAF80E30ADF814309AF8156003 -:10DE4000B8F1000F00F0BF81B5F912300698B0F9B3 -:10DE50000220D21A0A44BDF966109142A8BF1146A9 -:10DE60000B910288ADF870208288ADF87420BDF95E -:10DE7000622013441BB2ADF87230ADF87630904694 -:10DE80000B9B9342C0F2B380DFF85C90CDF81CB0DE -:10DE9000B3462646CDF830A0824655E04FF0FF331A -:10DEA0000E937DE70A997118494289B28CE70A9965 -:10DEB0007118494289B290E70A997118494289B2AA -:10DEC00094E70A9BF3185B429BB298E76DBE000093 -:10DED0006D1701002DC00000C1BD0000259A000093 -:10DEE0003D290100C5BE000051770000BAF9043099 -:10DEF0005A1CD21BADF87820ADF87C300A9A9B1AD8 -:10DF00000133B5F91020BDF960100A449B1ACDF811 -:10DF100008B001960094079A002BA8BFD2181346A8 -:10DF2000BDF814201EA90498C847BDF8723001330B -:10DF3000ADF87230BDF876300133ADF8763008F1C7 -:10DF400001080B9B43454CDB0999079C2046C74BB6 -:10DF500098476A8A4244298ABDF860301944089B70 -:10DF600012B209B207942046C14CA0470446BDF83E -:10DF70007230ADF87A30BDF87630ADF87E30BAF94F -:10DF80000030ADF87830013B3B44ADF87C30CDF843 -:10DF900008B001960090079BBDF814201EA90498B4 -:10DFA000C847BDF97E20BAF902300C99B1F91010BA -:10DFB0000B449A429ADABAF800303B44ADF8783014 -:10DFC000BAF80430DB1BADF87C30CDF808B0019610 -:10DFD000012300930023BDF814201EA90498C8470C -:10DFE00084E734465E46DDF81CB0DDF830A0B5F9B4 -:10DFF0001230069AB2F90620D21A0D99521ABDF9BA -:10E0000062809045B8BF90460B994145A8BF01F189 -:10E01000010843441BB2ADF87230ADF87630BDF95B -:10E020006630984500F38D80DFF84892CDF81CB03B -:10E03000B3462646CDF82CA0DDF818A02EE0BAF99C -:10E0400004305A1CD21BADF87820ADF87C300A9A07 -:10E050009B1A0133B5F91020BDF960100A449B1AD0 -:10E06000CDF808B001960094079A002BA8BFD218EB -:10E070001346BDF814201EA90498C847BDF8723095 -:10E080000133ADF87230BDF876300133ADF876303B -:10E0900008F10108BDF9663098454CDC0999079CE8 -:10E0A0002046724B98476A8A4244298ABDF86030FC -:10E0B0001944089B12B209B2079420466C4CA04741 -:10E0C0000446BAF90030ADF87830013B3B44ADF876 -:10E0D0007C30BDF87230ADF87A30BDF87630ADF8EE -:10E0E0007E30CDF808B001960090079BBDF8142053 -:10E0F0001EA90498C847BDF97E20BAF906300B99CD -:10E10000B1F910105B1A9A4299DDBAF800303B441D -:10E11000ADF87830BAF80430DB1BADF87C30CDF8C0 -:10E1200008B00196012300930023BDF814201EA916 -:10E130000498C84783E734465E46DDF81CB0DDF836 -:10E140002CA0BDF8342006994B8801331344ADF858 -:10E150007230CB88013B9B1AADF87630B1F90030B4 -:10E16000ADF87030BAF81020013A1344ADF87430AD -:10E1700002960194012700970023BDF814904A46A7 -:10E180001CA9DDF8108040463A4DA847069BB3F91C -:10E190000420BAF81030FB1A1344ADF87030ADF813 -:10E1A000742002960194009700234A461CA9404619 -:10E1B000A8470F98304CA0470E98A04758462F4BC1 -:10E1C0009847FFF754B8069AB2F90010ADF87010EE -:10E1D000B2F90420ADF87420BDF962006B8A0344E3 -:10E1E0001BB2ADF87230ADF87630BAF91230042BAC -:10E1F00029D0082B44D000228DF84E208DF84F20D6 -:10E20000022B29D101238DF84E309DF84E301BB9D9 -:10E210009DF84F8088F0010808F001088DF85080C3 -:10E220000746BDF966309842C3DCDFF84080DFF86E -:10E2300044900A94CDF81CB0DDF818B0CDF82CA0AD -:10E24000DDF834A04EE00D9A1144ADF874100022B0 -:10E250008DF84E208DF84F20012B16D0032BD4D1F2 -:10E2600001238DF84E308DF84F30CEE7ED2B0100B5 -:10E270001DBE0000517700006DBE00007125010039 -:10E280000D99521AADF87020E1E78DF84F30BCE7D8 -:10E290000999079C2046C0476A8A3A44298ABDF8F2 -:10E2A00060301944089B12B209B207942046984C7A -:10E2B000A04702960A9A01920090079BBDF814208D -:10E2C0001CA90498C847BDF872300133ADF872300C -:10E2D000BDF876300133ADF876300137BDF96630E0 -:10E2E0009F421ADC9DF85030002BD1D19DF84E3062 -:10E2F00033B1BDF97220BBF9023053449A42C7DDF5 -:10E300009DF84F30002BDED0BDF97220BBF90630EE -:10E31000A3EB0A039A42D6DBBAE7DDF81CB0DDF8BE -:10E320002CA046E7BAF94C300024029447F6184274 -:10E330000192BAF94E200092DAF840201CA8754DDF -:10E34000A847ADF88840ADF88A40BDF87030013B71 -:10E35000ADF88C30BDF87230013BADF88E301EAB9D -:10E360009AF8502022A906986B4DA847BDF878204E -:10E37000BAF848301A4492B2BDF888301344ADF868 -:10E380008830BDF87A30BAF84A100B449BB2BDF819 -:10E390008A101944ADF88A10BDF88C100A44ADF803 -:10E3A0008C20BDF88E201344ADF88E3029A85B4B2D -:10E3B0009847DAF840302A93BAF84C30ADF8B030CC -:10E3C000BAF84E30ADF8AE30BAF84630ADF8A430F9 -:10E3D0009AF844308DF8AC300094DAF83C3029AA31 -:10E3E000049922A84E4CA047FEF749BF721C069B19 -:10E3F000D21A12B26B1C07995B1A1BB29A42A8BFC1 -:10E400001A465210089B9A42A8BF1A46059B13440D -:10E4100001370A99791A08B2611CA1EB080109B207 -:10E420008142A8BF014649109942A8BF19460F462C -:10E430000691B9F81000BDF868301B1A99B2ADF812 -:10E440006810B9F81240BDF86A301B1BADF86A308D -:10E45000BDF86C301B1A9BB2ADF86C30BDF86E0085 -:10E46000001BADF86E0001335B1A1BB21E4607930A -:10E47000012316A922A82B4DA847002122A82A4C27 -:10E48000A0470C9000233AB218A929A8A847002158 -:10E4900029A8A0470D9008963046244B98470B902A -:10E4A000BAF91830BAF81620ADF814209AF81D50B1 -:10E4B000099A002A40F0A681013BBB42B8BF3B4607 -:10E4C00019460E93B9F91230BDF96220D21A0A44E6 -:10E4D00011460992BDF86020ADF87020BDF86420A7 -:10E4E000ADF87420BDF96A2013441BB2ADF8723048 -:10E4F000ADF8763016469142C0F29D80DFF830804C -:10E500002B465D46CDF828A082469B463FE000BFE3 -:10E510001DBE00007D40010025180100CD990000BE -:10E52000259A00002DC00000C1BD00003D2901005A -:10E5300051770000BDF964305A1C141BADF87840C7 -:10E54000ADF87C30069A9B1A0133B9F91020BDF959 -:10E5500068100A449B1ACDF808B001950097002B6B -:10E56000ACBF53440AF10003BDF814201EA904985F -:10E57000C047BDF872300133ADF87230BDF8763067 -:10E580000133ADF876300136099BB3424EDB089972 -:10E590005046CC4B9847B9F812203244B9F81010C5 -:10E5A000BDF868301944079B12B209B25046C64CF8 -:10E5B000A0470746BDF87230ADF87A30BDF8763026 -:10E5C000ADF87E30BDF96030ADF87830BDF8184058 -:10E5D000013B2344ADF87C30CDF808B001950090A4 -:10E5E0005346BDF814201EA90498C047BDF97E20EB -:10E5F000BDF962300A99B1F918100B449A4299DAC0 -:10E60000BDF860302344ADF87830BDF864301B1B92 -:10E61000ADF87C30CDF808B00195012300930023BC -:10E62000BDF814201EA90498C04783E75B46AB469B -:10E63000DDF828A01D46B9F91230BDF96660F61A5A -:10E640000E9AB61A09990A46B142A4BF013216467B -:10E6500033441BB2ADF87230ADF87630BDF96E3090 -:10E660009E4200F38C80DFF864822B465D46CDF835 -:10E6700024A0DDF82CA09B462DE0BDF964305A1C87 -:10E68000141BADF87840ADF87C30069A9B1A013324 -:10E69000B9F91020BDF968100A449B1ACDF808B0EA -:10E6A00001950097002BACBF53440AF10003BDF85D -:10E6B00014201EA90498C047BDF872300133ADF88C -:10E6C0007230BDF876300133ADF876300136BDF9E1 -:10E6D0006E309E424EDC089950467A4B9847B9F806 -:10E6E00012203244B9F81010BDF868301944079B65 -:10E6F00012B209B25046744CA0470746BDF96030CB -:10E70000ADF87830BDF81840013B2344ADF87C30BB -:10E71000BDF87230ADF87A30BDF87630ADF87E30A5 -:10E72000CDF808B0019500905346BDF814201EA9FD -:10E730000498C047BDF97E20BDF966300999B1F94A -:10E7400018105B1A9A4298DDBDF860302344ADF88A -:10E750007830BDF864301B1BADF87C30CDF808B0C4 -:10E760000195012300930023BDF814201EA90498ED -:10E77000C04782E75B46AB46DDF824A01D46BDF8E6 -:10E780003830BDF8622001321A44ADF87220BDF86D -:10E790006620013AD31AADF87630BDF96030ADF895 -:10E7A0007030013BBAF818201344ADF8743002956C -:10E7B000CDF804B0012600960023BDF8148042462F -:10E7C0001CA9049F3846414CA047BDF96420931909 -:10E7D000BAF818105B1AADF87030ADF874200295D5 -:10E7E000CDF804B00096002342461CA93846A04745 -:10E7F0000C98374CA0470D98A0470B98354B98477D -:10E80000FEF7B0BDBDF86030ADF87030BDF86430D3 -:10E81000ADF87430BDF96A20B9F8123013441BB258 -:10E82000ADF87230ADF876301446BDF96E309A42CC -:10E83000DEDCDFF89080244F244EDDF82CA02B4640 -:10E840005D469B4608995046C047B9F812202244BD -:10E85000B9F81010BDF868301944079B12B209B21C -:10E860005046B847CDF808B0019500905346BDF822 -:10E8700014201CA90498B047BDF872300133ADF8DC -:10E880007230BDF876300133ADF876300134BDF921 -:10E890006E309C42D6DDABE70C980E4B984707FBD9 -:10E8A00007F7002F3DF4ECAE0A980246411E00EB3C -:10E8B000470032F8023B9B0901F8013F9042F8D132 -:10E8C000FDF7DEBEED2B01001DBE000051770000FC -:10E8D0006DBE000071250100079738460B4B984725 -:10E8E0000C90002FD8DD01230B93FDF727BE0023EA -:10E8F000BAF90020069929A8054CA047002129A8AB -:10E90000044B98470446FFF71EB900BF3D2901009C -:10E910002DC00000C1BD0000F0B583B09DF80440DB -:10E920006FF304048DF80440BDF804406FF34A14FB -:10E93000ADF80440240A6FF3C7048DF805408668DB -:10E94000047804F01F04251FEDB2022D0ED9072C08 -:10E9500028D0082C3BD0092C50D00A2C66D00B3C78 -:10E96000E4B2032C98BFADF8043017E014460F460C -:10E970000546007800F01F00324B98472B68C3F320 -:10E980008A2304FB0372C0F3C70000FB02F2B31832 -:10E99000B25C8DF804205B788DF80530BDF804007A -:10E9A00003B0F0BD01F00703C3F107040368C3F32C -:10E9B0008A230733DB1002FB036606EBE1010B7AC7 -:10E9C0000122A24013402341ADF80430E6E701F0F4 -:10E9D00003046400C4F106040368C3F38A23033309 -:10E9E0009B1002FB036606EBA1010B7C0322A240F5 -:10E9F000134043FA04F4ADF80440CFE701F00104FA -:10EA0000A400C4F104040368C3F38A2301335B1038 -:10EA100002FB036606EB610191F840300F22A24031 -:10EA2000134043FA04F4ADF80440B7E70368C3F3B6 -:10EA30008A23314402FB031191F80034ADF804300D -:10EA4000ACE700BF81960000F0B585B004460D46E6 -:10EA500017468668037803F01F03052B0AD00B2B9B -:10EA600012D00C2B27D00D2B49D00E2B64D0FF20B9 -:10EA700005B0F0BD0268C2F38A2207FB021505EB60 -:10EA800045053544A878F3E701F00703C3F1070112 -:10EA90000268C2F38A220732D210ED1007FB02622D -:10EAA000535D01228A4013400B4113F0FF0F0CBF4E -:10EAB000FF200020DCE700238DF8003055238DF87F -:10EAC0000130AA238DF80230FF238DF8033001F0C6 -:10EAD00003035B00C3F106010268C2F38A2203321A -:10EAE0009210AD1007FB0262535D03228A4013406F -:10EAF0000B4104AA52FA83F313F8100CB8E7124B37 -:10EB00000FCB0DF1100E0EE90F0005F001039B0075 -:10EB1000C3F104012268C2F38A22013252106D103F -:10EB200007FB0262535D0F228A4013400B415EFADD -:10EB300083F313F8100C9BE70268C2F38A2207FBE9 -:10EB40000262505C94E700BF0C5102002DE9F84FBF -:10EB50000446B0F908301B024362B0F90A301B02C8 -:10EB60008362B0F90C00DFF8F48088FB0023C5173E -:10EB7000C5EBA3052DB26FF0090707FB05071FFAC8 -:10EB800085FACAF1000000B2DFF8D490C847064603 -:10EB90000135ADB2684200B2C8478346CAF15A0097 -:10EBA00000B2C8478246C5F15A0528B2C847C7F126 -:10EBB0000A0307FB0BFB03FB06B688FB062BF617C5 -:10EBC000C6EBAB06E66207FB00F003FB0A0088FB1E -:10EBD0000038C017C0EBA8002063A07C1D4B9847ED -:10EBE00094F8343060F3000384F83430A07C1A4B7E -:10EBF000984794F8343060F3410384F83430A27CB1 -:10EC0000131FDBB2022B94F8343094BF43F004039B -:10EC10006FF3820384F8343023682362237E03F089 -:10EC20001F0362F304032376A369A28862F394238B -:10EC3000A3611B0CE28862F34F136383E2894FF4F4 -:10EC4000803393FBF2F3E386FF23A375238AA38229 -:10EC5000BDE8F88FB3960000C79600006766666649 -:10EC6000A52201002DE9F04F87B003900491059291 -:10EC7000BDF840400194DDF844B05E4F87FB03606F -:10EC8000DD17C5EBA0052DB205F101096FF00906EE -:10EC900006FB05362846DFF86081C04704460FFAB8 -:10ECA00089F0C047824605F15A0000B2C0470546C8 -:10ECB00009F15A0000B2C047C6F10A0306FB0AFA7E -:10ECC00003FB04A487FB04EAE417C4EBAA0406FBD5 -:10ECD00000F003FB050587FB0537ED17C5EBA7071C -:10ECE000BBF900C0BBF90280CCF10003019D05FB1C -:10ECF00003F343F30F2303FB07FAC8F1000205FBFC -:10ED000002F242F30F2202FB04FE1FFA8CF6AAEB7A -:10ED10000E0B06EBEB3B0FFA8BFB03FB04F302FB42 -:10ED200007F21FFA88F0991800EBE13109B202915D -:10ED30000499A1EB0C0C05FB0CFC4CF30F2C0CFB09 -:10ED400007F9A9EB0E0E06EBEE3E0FFA8EFE0CFB5A -:10ED500004FC624400EBE23212B20599A1EB080810 -:10ED600005FB08F848F30F2808FB04F4AAEB040598 -:10ED700006EBE5352DB208FB07F73B4400EBE33328 -:10ED80001BB2A9EB040406EBE43636B2BC4400EB3C -:10ED9000EC3000B25C46F345A8BF7446AC42A8BF55 -:10EDA0002C46B442A8BF344603990F460C80DE457A -:10EDB000B8BFDE467545B8BF7546AE42B8BF2E46F1 -:10EDC0008E8002990C469142A8BF14469C42A8BF6F -:10EDD0001C468442A8BF04467C809142B8BF1146BD -:10EDE0008B42B8BF0B469842B8BF1846F88007B0B0 -:10EDF000BDE8F08F67666666A52201002DE9F04F39 -:10EE000089B00446B0F93850EAB2B0F93A60F3B2CA -:10EE10006F2A74DCB0F93C104942C917803DEDB24D -:10EE20006F2B7EDCB4F93EB0CBF1000B4FEAEB7BED -:10EE3000803EF6B294F8149009F01F09B4F81480DB -:10EE4000C8F34518677DFF08A37D009394F834C08C -:10EE50001CF0040F7BD02368206C94F844E00EFB78 -:10EE600001015A1813F801A08DF81CA052788DF8F2 -:10EE70001D20B4F904200EFB02F20BFB02FB5844E8 -:10EE80001A1813F800A08DF818A052788DF81920E0 -:10EE900001EB0B0203EB020A13F802B08DF814B079 -:10EEA0009AF801A08DF815A01CF0020F00F08180E7 -:10EEB0000EF1FF3E734413F801B013F800A0985C04 -:10EEC000C5F1FF0303FB0BF1009A05FB021103FBE5 -:10EED00000F305FB0A33C3F30723C6F1FF02C1F3B6 -:10EEE000072106FB01FE02FB03E21212A2750529AF -:10EEF00000F2DC80052B40F27D810026D9E0902ACB -:10EF00000CDDB0F93C100131B0F904209142ACBFE6 -:10EF100000210121C5F17F05EDB281E7FF25002128 -:10EF20007EE7902B0FDDB4F93EB00BF1010BB4F985 -:10EF300006209345ACBF4FF0000B4FF0010BC6F11C -:10EF40007F06F6B276E7FF264FF0000B72E704F17A -:10EF5000180318468BB2A18F02931944238AB4F97F -:10EF60003E2009B20190DFF894A2D047ADF81C0012 -:10EF70001FFA8BF1E28F03910A44238A12B2B4F98B -:10EF80003C10DDF804B05846D047ADF81800E28FC9 -:10EF900003990A44A18F029B1944238A12B209B231 -:10EFA0005846D047ADF8140094F8343013F0020FEF -:10EFB00052D1FF23A3752B46002B40F08B809DF888 -:10EFC0001C9009F01F09BDF81C80C8F345189DF876 -:10EFD0001D70FF08002D40F0AC809DF8145005F026 -:10EFE0001F05BDF81430C3F345139DF81510C9086B -:10EFF000002E00F0E380FF2E00F0EE80C6F1FF024D -:10F0000002FB05F506FB095505EB052905EBC915BE -:10F01000ED0D207D65F30400207502FB03F306FB74 -:10F02000083808EB082308EBC3184FEAD858A38A1E -:10F0300068F34A13A38202FB01F106FB071606EBF5 -:10F04000062706EBC716F60D1B0A66F3C7036375A2 -:10F05000012009B0BDE8F08FA18F029B1944B4F9DB -:10F060003E2009B2DDF804A05046634B9847834622 -:10F07000E28F03990A4412B2B4F93C10CDF804A00F -:10F0800050465D4B98478246E28F03990A44A18F10 -:10F09000029B194412B209B20198574B984794F851 -:10F0A000343013F0020F7FF40BAF82E7052B98BFCB -:10F0B000FF26009B052B8CBF2B460023BBF1050FC1 -:10F0C00098BFFF23BAF1050F98BF0025052898BF08 -:10F0D000FF2571E7FF2B3FF47DAFC3F1FF019DF8E2 -:10F0E0001D20D20803FB07F701FB027707EB07227D -:10F0F00007EBC217C7F3C457BDF81C20C2F3451273 -:10F1000003FB08F801FB028808EB082208EBC21891 -:10F11000C8F3C5589DF81C2002F01F0203FB09F933 -:10F1200001FB029909EB092309EBC319C9F3C4597F -:10F1300050E7FF2D36D0C5F1FF009DF81910C90822 -:10F140009DF81530DB0800FB03F305FB013101EBF3 -:10F15000012301EBC311C1F3C451BDF81830C3F34F -:10F160004513BDF81420C2F3451200FB02F205FB63 -:10F17000032303EB032203EBC213C3F3C5539DF830 -:10F18000182002F01F029DF814E00EF01F0E00FB85 -:10F190000EF005FB020505EB052205EBC215C5F3D4 -:10F1A000C45525E79DF8185005F01F05BDF8183027 -:10F1B000C3F345139DF81910C90819E7227D65F3BB -:10F1C00004022275A28A63F34A12A282120A61F330 -:10F1D000C702627501203CE7237D69F304032375B0 -:10F1E000A38A68F34A13A3821B0A67F3C7036375F4 -:10F1F00001202EE700202CE749EA000019E9000071 -:10F200002DE9F04F83B088465D4B1988E1B1074680 -:10F210005C4B1E683346013989B2013101EBC101F3 -:10F2200006EB810158481A6A8242A4BF02F1FF32FC -:10F230001A6224338B42F6D10024DFF88091DFF884 -:10F2400080B1DFF83CA111E0504B0093504B4422B9 -:10F2500050490220504CA047002525E0012827D026 -:10F260000134A4B2BAF80030A3422AD904EBC40591 -:10F2700006EB85056868C8470028EFD16B68BB427C -:10F28000EED128891FFA88F3984214BF002001208C -:10F290000028E5D02B6A6A691344B3F57A7F0EDD46 -:10F2A0004FF47A732B6265B1284603B0BDE8F08F46 -:10F2B00039466868D847B0FA80F04009E8E72B6221 -:10F2C000F1E72F4B1A88012A37D906F12403023AB5 -:10F2D00092B202EBC20206EB820248323546186A4D -:10F2E000296A8842B8BF1D4624339342F7D16B6820 -:10F2F0002BB32846294B9847294B0093244B772260 -:10F3000024490120244CA047264B9847044600235B -:10F310006B61424639462846234B9847C0B10023CB -:10F320002B626B69002BBFD12046204B9847686148 -:10F330000028B9D101236B61B6E73546D7E71C4BEE -:10F340000093134B7A2213490120134CA047DBE7AB -:10F35000184B00930E4B83220E4902200E4CA047FF -:10F3600028460E4B984720212846134CA0472421BD -:10F370002846A0474FF000432B62002594E700BFCA -:10F38000582B0020586D0020020000809051020090 -:10F3900034510200605102005D22010035FF00007F -:10F3A000B85102005910010049FE0000711001001F -:10F3B000EC51020020520200372B01006999000035 -:10F3C000FBB401002DE9F047144B1F68144B1B8858 -:10F3D0000BB306460024DFF84C90DFF84CA0DFF8B2 -:10F3E00040800EE00BB12846D04720212846C84770 -:10F3F00024212846C8470134A4B2B8F80030A342FB -:10F4000009D904EBC40507EB85056B68B342E9D065 -:10F41000002EF0D1E6E7BDE8F08700BF586D002070 -:10F42000582B0020372B010035FF00002DE9F0415B -:10F4300082B00446214B1B6833B10020204B984713 -:10F440001E4B18681F4B984704EBC40080001E4BEE -:10F4500098471A4B18601D4B9847E8B1174B1B682B -:10F4600043B31B4B1C80A4B10024144F194E984683 -:10F4700004EBC405AD00386820212844B047386843 -:10F4800024212844B0470134A4B2B8F80030A34284 -:10F49000EED802B0BDE8F0810F4B0093A8220F49CF -:10F4A00003200F4CA047054B1A6800230D480E4956 -:10F4B0008847FEE70022064B1A80EAE7586D0020D5 -:10F4C000C5F30000C5240100DD230100B1220000C6 -:10F4D000582B0020372B01004851020060510200D8 -:10F4E0005D220100D83F0200B922000030B587B08C -:10F4F0000C4615460846334B9847D8B92378C3F3D2 -:10F500000403043BDBB20A2B59D82368C3F38A23D4 -:10F510002A6863F394222A606388C3F34A136A88D3 -:10F5200063F34F126A8022782B7862F304032B7006 -:10F5300001200DE001280DD0022832D0224B00938B -:10F54000224B4FF49A7222490220224CA0470020FD -:10F5500007B030BD0222214604A81F4B984738B19E -:10F560002B781C3303F01F030A2B18D80120EFE778 -:10F5700003AB0422294604A8184CA047044604A85B -:10F58000174B984714B9039B042BE9D0154B0093F4 -:10F590000E4B40F221120E4902200E4CA0470020D3 -:10F5A000D6E72B68012060F394232B601A0C60F3DC -:10F5B0004F126A800B2262F304032B70C8E700200D -:10F5C000C6E700BF699900006C5302004C5202006C -:10F5D000185302005D2201004D1D0100BD1C0100F9 -:10F5E0008D1C01004853020038B5CC69A4B10D460A -:10F5F000206820B1094B98472068094B98476068FC -:10F6000008B1074B9847A06808B1054B98472046BA -:10F61000034B98470023EB6138BD00BF8D1C0100F0 -:10F62000C52401002DE9F04385B005460C468B7AD0 -:10F63000012B16D0002B40F0AA814B689B68002B51 -:10F6400000F0A381087B00F01F00031FDBB2022B38 -:10F6500000F2858063689B682361012005B0BDE8E6 -:10F66000F0834868964B98479649974B98470028EF -:10F670002AD10222616802A8944B9847D8B9E3695D -:10F6800023B3E6690820924B98473060914B984726 -:10F69000002840D03368002B4BD18F4B00938F4B09 -:10F6A00040F25F128E4903208E4EB0472146284615 -:10F6B0008D4B984708E08D4B0093884B4FF4A67212 -:10F6C00087490220874CA0470020C7E70C20804BC9 -:10F6D0009847E0617F4B984768B9804B009340F2B0 -:10F6E00053127F4903207F4DA847E26900238048D9 -:10F6F00080498847FEE7E06948B9774B0093774B2C -:10F7000040F2551276490320764CA047DCE70C21E5 -:10F71000794B9847B5E7714B009340F25D12704901 -:10F720000320704CA0473268002371487149884714 -:10F73000FEE70DF1070203F1080112F8010F03F8CB -:10F74000010B8B42F9D1207B00F01F00031FDBB2BD -:10F75000022B04D8A37A002B3FF47CAF1FE1C31F18 -:10F76000DBB2032B09D9A0F10B03DBB2032B00F2B0 -:10F77000FD8000232361012070E7604B9847074616 -:10F78000E369BBB1E6690220B840514B984770600D -:10F79000504B9847002837D1504B009340F29712B6 -:10F7A0004F4903204F4CA0477268002350485149ED -:10F7B0008847FEE70C20464B9847E061454B984749 -:10F7C00068B9464B00934FF4C67245490320454D36 -:10F7D000A847E2690023464846498847FEE7E069B2 -:10F7E00070B93D4B00933D4B4FF4C7723C49032029 -:10F7F0003C4EB047214628463B4B984700202DE71A -:10F800000C213D4B9847BDE7012303FA07F7384623 -:10F810002F4B9847B0602F4B9847002832D0736821 -:10F82000002B3DD0B368002B3AD0A37A012B67D0D0 -:10F8300063689A68002F00F095800023706800EBE1 -:10F84000430C92F801E04FEA9E0E9578ED0811788E -:10F85000C90810F8138061F3040800F8138030F829 -:10F8600013106EF34A1120F81310090A65F3C7014B -:10F870008CF80110D078B168C854013304329F422B -:10F88000DCD16FE0154B009340F29912144903202C -:10F89000144CA047B2680023154816498847FEE774 -:10F8A0000D4B00930D4B40F29B120D4903200D4E62 -:10F8B000B047214628460C4B98470020CEE600BFB3 -:10F8C000211E010094530200FBB401004D1D0100F4 -:10F8D000DD230100B1220000C45302006C5202007B -:10F8E000185302005D220100E9F500009853020060 -:10F8F000D83F0200B9220000372B0100819600009A -:10F9000004213068284B984767B30025A946DFF8E3 -:10F91000B0804B46042202A93068C047726802EBEF -:10F92000450E9DF8090080089DF80A10C9089DF849 -:10F930000830DB0812F815C063F3040C02F815C098 -:10F9400032F8153060F34A1322F815301B0A61F3C0 -:10F95000C7038EF801309DF80B20B3685A55013566 -:10F96000AF42D6D100232361012077E62146284605 -:10F970000E4B98470E4B00930E4B40F2D3120E499C -:10F9800002200E4CA047002068E6002066E6087BB7 -:10F9900000F01F00031FDBB2022B3FF6E0AE002396 -:10F9A000236101205AE600BFF91C0100E9F50000BF -:10F9B000F05302006C520200185302005D22010055 -:10F9C000BD1C01002DE9F04F8BB00D4614469A4640 -:10F9D000BDF950600B7B03F01F031A1FD2B2022A3D -:10F9E00045D88B7A012B03D000200BB0BDE8F08FF7 -:10F9F000D1F81C80087B00F01F009E4B98470746FB -:10FA0000E968C1F38A210AFB014100FB01F1C91039 -:10FA10000431D8F80000984B9847D8B9C7F3C70706 -:10FA200006FB07F60AAB002243F8102D3246159963 -:10FA3000D8F80000914CA047069B9E4215D0904BF1 -:10FA40000093904B40F235228F4902208F4CA04703 -:10FA50000020CAE78E4B00938A4B40F22E228A493F -:10FA600002208A4CA0470020BFE70120BDE7A3F198 -:10FA70000B02D2B2032A0FD9073BDBB2032B40F2B1 -:10FA8000DF80844B0093844B4FF4FE727E4902204A -:10FA90007E4CA0470020A8E700228DF81020FF230D -:10FAA0008DF811308DF8142055228DF81520AA22DA -:10FAB0008DF816208DF81730784B0FCB0AAF07E979 -:10FAC0000F002989002E0CDD080A159B721E92B2C8 -:10FAD000013202EB42021A441970587003339A4201 -:10FAE000FAD1287B00F01F00624B9847804601271F -:10FAF0008740013FBFB22B7B03F01F030B3B032B5F -:10FB000000F28380DFE803F0024C6176EB68C3F318 -:10FB10008A23DA1013F0070F0CBF0FFA82FB02F1F1 -:10FB2000010BE3100AFB0B3AE44304F007040DF168 -:10FB30001009EB6903935846594B98470290AB7AEA -:10FB4000002B6BD16B689B689A44002E23DD159ABD -:10FB5000711E89B2013101EB41011144C8F1080065 -:10FB600040B29AF8003007FA04F6334023412E7B66 -:10FB700006F01F060E2EDBB218BF19F80330937083 -:10FB8000A4EB080464B2002CBCBF04460AF1010ACD -:10FB900003328A42E5D10298424B9847012024E77C -:10FBA000EB68C3F38A239A1013F0030F0CBF0FFA0C -:10FBB00082FB02F1010BA3100AFB0B3AE44304F0B1 -:10FBC000030464000DF11409B3E7EB68C3F38A235F -:10FBD0005A1013F0010F0CBF0FFA82FB02F1010B58 -:10FBE00063100AFB0B3A14F0010F13D000240DF13F -:10FBF00018099EE7EB68C3F38A239AB20FFA83FBD6 -:10FC00000AFB024A0024A14693E70024A246A34629 -:10FC1000A1468EE704240DF118098AE70AF10401D0 -:10FC2000039B1868144B984700235A46DDF808B028 -:10FC3000594603980068DFF844A0D047DA4684E7C5 -:10FC4000087B00F01F000B4B984781464FF00108DE -:10FC500008FA00F808F1FF381FFA88F82B7B03F048 -:10FC60001F03073B032B00F2A580DFE803F01D68AC -:10FC70007E9600BF81960000F91C0100BD1C0100AA -:10FC8000405402008C520200185302005D22010011 -:10FC90001C54020064540200C4520200B452020018 -:10FCA0003D29010071250100EB68C3F38A234FEA67 -:10FCB000E30B13F0070F0CBF0FFA8BFB0BF1010BDB -:10FCC000E3100AFB0B3A0AF1080AE44304F00704C4 -:10FCD000EF695846414B98470290AB7A002B6ED1A2 -:10FCE0006B689B689A44002E24DD159A711E89B2B8 -:10FCF000013101EB41011144C9F108056DB29AF8D7 -:10FD0000003008FA04F003402341DBB2786830F891 -:10FD100013001070000A5070B868C35C9370A4EBB5 -:10FD2000090464B2002CBCBF2C460AF1010A03325C -:10FD30008A42E4D102982A4B9847012055E6EB68A5 -:10FD4000C3F38A234FEAA30B13F0030F0CBF0FFA80 -:10FD50008BFB0BF1010BA3100AFB0B3A0AF1100A03 -:10FD6000E44304F003046400B2E7EB68C3F38A23BE -:10FD70004FEA630B13F0010F0CBF0FFA8BFB0BF173 -:10FD8000010B63100AFB0B3A0AF1400A04F001046C -:10FD9000002C0CBF042400249AE7EB68C3F38A2BE1 -:10FDA0001FFA8BF30FFA8BFB0AFB034A0AF5806AF2 -:10FDB00000248DE74FF0000A5446D34688E70AF145 -:10FDC00004013868074B984700235A46DDF808A01D -:10FDD00051463868044DA84785E700BF3D2901001A -:10FDE00071250100F91C0100BD1C01002DE9F0473F -:10FDF00081460E460B786FF347130B700F48104B7C -:10FE00009847C8B104464FF0000ADFF830800D4F24 -:10FE100005E0554621464046B847044648B12368A8 -:10FE2000002BF6D032464946204698470546012821 -:10FE3000F0D12846BDE8F0870025FAE7A46C002041 -:10FE4000A91F0100BD1F01002DE9F0478246884629 -:10FE500002810846264B98478AF80A000023CAF810 -:10FE60001C3001280DD0CAF804802248224B984744 -:10FE70000446002836D000250AF10C091D4F1F4EFC -:10FE800010E040461E4B984701301E4B9847CAF879 -:10FE9000040041461C4B9847E7E721463846B047E7 -:10FEA0000446D8B12368002BF7D06268002AF4D04A -:10FEB0004A4641462046984705460128EDD1002391 -:10FEC000CAF81830CAF81030CAF8004063685146C2 -:10FED0002046984705460128DFD100E01DB128469D -:10FEE000BDE8F087002520215046084B9847F6E7EB -:10FEF00069990000A46C0020A91F0100BD1F01002A -:10FF00001FB50100DD2301000FB50100372B0100F3 -:10FF100070B582B00668B46854B11D4613460A46EF -:10FF200001460698019000953046A04702B070BD8A -:10FF30000020FBE7036883B110B50446DA6812B10C -:10FF4000014618469047A37A012B00D010BD606887 -:10FF5000024B984700236360F8E77047C52401000F -:10FF600030B583B00D480E4B984704460D4B98476B -:10FF700038B11CB1102120460B4B9847204603B0E6 -:10FF800030BD0A4B0093C92209490320094DA847F7 -:10FF900022460023084809498847FEE7A46C002050 -:10FFA000111F0100B1220000372B0100E8520200AE -:10FFB000185302005D220100D83F0200B922000060 -:10FFC00010B582B010211448144B9847144B984731 -:10FFD00048B1144A0260144A4260144A8260144ACA -:10FFE000C26002B010BD134B0093134B472213495C -:10FFF0000220134CA0470020124B98470028F0D154 +:1010400038B5054C40256561044B984780236361A2 +:10105000A361A56138BD00BF0080004111100000F0 +:101060008BB12DE9F0410F460646144602EB4305CD +:10107000DFF8148034F8022B39463046C047AC42C2 +:10108000F8D1BDE8F0817047411000002DE9F04F24 +:1010900083B08B4600924001C3B201930026DFF873 +:1010A000949165E009EBC7135D60AAB242F08042FB +:1010B0009A622A0C42F040429A62009B1B78012BF4 +:1010C00077D023B3022B00F0848089225749002077 +:1010D000574B984724E009EBC7125560ABB243F079 +:1010E000804343F4003393622B0C43F0404343F4BA +:1010F00000339362E1E709EBC7139D60AAB242F0A7 +:1011000080429A622A0C42F040429A62D5E709EB8B +:10111000C713434493F8402002F0FB0283F84020B9 +:10112000009B5A686409B2F1FF3F62D0E4B209EB58 +:10113000C411414491F8403003F0FE0343F0010331 +:1011400081F840301AF0010F5ED109EBC41404EBB2 +:10115000580898F8303003F0F00302F00F021A43F9 +:1011600088F8302009EBC7177D610136202E59D051 +:10117000F4B22BFA06F313F0010FF6D004F01F04BB +:10118000019B1C445FFA84FA4FEA5A170AF01F08C1 +:10119000012505FA08F5009B5B78012B9BD0002BFD +:1011A00080D0022BA7D0462220490020204B984710 +:1011B00083E7012303FA08F309EBC712536002EB3C +:1011C000080090F8401041F0040180F8401093614D +:1011D000A6E7012303FA08F309EBC712536002EBF9 +:1011E000080090F8401041F0040180F8401053616D +:1011F00096E7E4B209EBC414A04498F8403003F039 +:10120000FE0388F84030ADE709EBC41404EB58083E +:1012100098F8303003F00F0343EA0212D2B288F894 +:1012200030209FE703B0BDE8F08F00BF18B5010084 +:10123000BD1900000080004170B582B0002300930A +:1012400002238DF801304FF0FF3301936A463F4986 +:1012500001203F4B98473F4B40269E603E4A9A6292 +:101260004FF040429A6293F8461001F0FB0183F878 +:10127000461093F8461001F0FE0183F84610102541 +:101280009D60364999629A6293F8441001F0FB011F +:1012900083F8441093F8441001F0FE0183F84410E1 +:1012A00008249C602E4999629A6293F8431001F0D9 +:1012B000FB0183F8431093F8431001F0FE0183F81B +:1012C00043102021996001F1804199629A6293F85C +:1012D000451001F0FB0183F8451093F8451001F02B +:1012E000FE0183F84510802098601E4999629A6239 +:1012F00093F8472002F0FB0283F8472093F8472039 +:1013000002F0FE0283F847204FF48072C3F8842174 +:1013100001F500318031C3F8A8111349C3F8A811B1 +:10132000C3F8842193F8C81141F0040183F8C8116F +:10133000C3F8942193F8C82102F0FE0283F8C82173 +:101340009E619D619C61986102B070BDF7C3031CF2 +:101350008D1000000080004140000040100000405F +:101360000800004080000040000002C070470000FC +:1013700008B50649D1E90023013243F10003C1E970 +:1013800000230120024B984708BD00BF98000020B1 +:101390002D10010010B51148114B9847114A53699F +:1013A00043F48043536140220F4BC3F8A4200F4BFA +:1013B00098470F4C02460F4920460F4B98470F495C +:1013C00001230B610E4A4A610B76083120460D4B12 +:1013D000984720460C4B984710BD00BF10E000E036 +:1013E000D514000000080040001C0040332100001C +:1013F000046C0020003800403116000098000020E6 +:1014000071130000A91600006D16000030B583B0FE +:101410001F4B4022C3F8DC204322C3F88C201D4A16 +:10142000936943F4007393611B4C002300931023D2 +:101430001A4A1B4920461B4DA8471B4B93F8D8203E +:1014400002F0FE0242F0010283F8D82093F8BC209B +:1014500002F0F00242F0030283F8BC2093F8D92096 +:1014600002F0FE0242F0010283F8D92093F8BC207A +:1014700002F00F0242F0300283F8BC2020460B4BF2 +:1014800098470C220A4920460A4B984703B030BDC2 +:10149000001C004000080040206C0020B400002028 +:1014A0000020014101190000008000419119000055 +:1014B0000400002029150000EFF31083036072B6CA +:1014C000BFF35F8F7047BFF35F8F036883F31088AC +:1014D0007047000008B5024B1860024B984708BDE2 +:1014E000C4000020711B000010B5044B1C68044BA5 +:1014F000984701462046034B984710BDC400002082 +:10150000391B0000791B000010B5044B1C68044B0C +:10151000984701462046034B984710BDC400002061 +:10152000511B0000791B000070B50D46164604469D +:1015300060B1081C18BF012034220549054B9847AB +:101540002368324629462046984770BD0020F3E7BD +:1015500034B50100BD190000F8B5844607682FB105 +:101560008D683C460026C2F1010E0BE00E4B9847F9 +:10157000F8BD7344A0680344AB420AD223682646F0 +:1015800053B11C4663689342F3D8A06803449B1A86 +:10159000F2E7A74204D034462046044B9847F8BDF2 +:1015A0006046014B9847F8BDE5190000111A00008C +:1015B0002DE9F0474469076901370761037E13F09D +:1015C000010F13D1037E13F0020F0FD154B36368E0 +:1015D000FB1AA268934207D3064600F11408DFF80D +:1015E0004890DFF848A012E0BDE8F087037E43F0A2 +:1015F00002030376BDE8F0877569E36820469847E3 +:1016000085B12C466B68FB1AAA6893420AD3404600 +:10161000C847237C012BEFD167603A4621464046FC +:10162000D047E9E7BDE8F087191A00005915000016 +:1016300038B50D46044678B1081C18BF01203B227E +:101640000649074B984729462046064B98470020F5 +:101650002061054B236038BD0020F0E748B501004C +:10166000BD190000651F0000B115000010B504464B +:1016700053220949003018BF0120084B98472046E3 +:10168000074B984720B92046064B9847002010BDCD +:101690006FF0100010BD00BF48B50100BD1900007B +:1016A000212100000D21000070B582B00D460446D6 +:1016B00018B3081C18BF01207A221E491E4B9847F8 +:1016C000237E43F00103237604F1140629463046B5 +:1016D0001A4B984798B923696B60226929463046AE +:1016E000174B9847237E03F0FE032376237E13F0E7 +:1016F000020F10D1002002B070BD0020DCE7237E75 +:1017000003F0FE0323767F220A4900200A4B984704 +:101710006FF01100EFE701A80A4B9847237E03F012 +:10172000FD0323762046084B984701A8074B9847AE +:101730000020E0E748B50100BD190000C319000012 +:1017400059150000B914000039210000C714000029 +:1017500008B500238362C3691BB1A0F108021046DB +:10176000984708BD08B500238362436A1BB1A0F106 +:1017700008021046984708BD38B50446A0F1080590 +:101780002C30034B9847236A0BB12846984738BD45 +:10179000B91A000070B50E4615460446E0B1E9B12D +:1017A000101C18BF012040F23B120F490F4B984705 +:1017B000B4F84420B4F84C309A4211D1A664A4F88D +:1017C0004C500023A4F844300123236304F10800A3 +:1017D000074B9847284670BD0020E4E70020E2E769 +:1017E0006FF01B0070BD00BF60B50100BD190000A7 +:1017F000A31E000010B50446838FB0F844209A421F +:1018000009D0026C591C8187D15C044B9847204653 +:10181000034B984710BD034B984710BD9D1E000019 +:10182000A31E0000AB1E00002DE9F04782B00F465A +:1018300090460646A0B199B1002A2DD14FF4AC7262 +:1018400029490020294B984701A8294B984706F1C0 +:101850003400284B984701A8274B984700253EE0C5 +:101860004FF4AC7220490020204B984701A8204B30 +:10187000984706F1340A50461E4B9847814601A806 +:101880001D4B9847B9F1000F04D0B8F1000F19D1E2 +:10189000002524E0002522E04FF4AC72124901201B +:1018A000124B984701A8124B984706F1340A50464C +:1018B000104B9847814601A80F4B98470025B9F176 +:1018C000000F0CD000240D4E601C85B23919504613 +:1018D000B04701344C4502D2A3B29845F4D828460B +:1018E00002B0BDE8F08700BF60B50100BD1900007F +:1018F000B9140000F91A0000C7140000751A00009E +:10190000F8B50D4616461F46044620B329B332B338 +:10191000181C18BF01203A221349144B98473A4625 +:10192000314604F13400124B9847D0B9294604F1EE +:101930000800104B9847034658B90F4A62600F4A97 +:1019400022600F4AA2600F4AE2600F4A22610F4AEA +:1019500062611846F8BD0020DDE70020DBE70020CB +:10196000D9E76FF00C03F4E760B50100BD19000082 +:10197000251A0000051E0000291800009517000018 +:10198000F5170000791700005117000065170000D7 +:1019900010B5044661220649003018BF0120054BEE +:1019A000984704F10800044B9847002010BD00BF81 +:1019B00060B50100BD190000891E000000B900BE1D +:1019C000704703684BB18B4209D01B681BB1994229 +:1019D000FBD1012070470020704700207047012094 +:1019E0007047000038B504460D46064B984780F016 +:1019F000010039220449C0B2044B984723682B6088 +:101A0000256038BDC319000080B50100BD19000074 +:101A100003680B600160704703680BB11A680260CD +:101A20001846704770B50E461546044678B181B128 +:101A3000A2B1012028220D490D4B98476B1E1D4273 +:101A400009D163600020A060E060266070BD0020C6 +:101A5000F0E70020EEE76FF00C0070BD282203498C +:101A60000020034B98476B1EEBE700BFA0B50100B9 +:101A7000BD19000038B50D460446A0B1081C18BFBA +:101A8000012040220A490B4B9847A368E2689A421A +:101A90000BD0626813402268D35C2B70A3680133BB +:101AA000A360002038BD0020EBE76FF0090038BDCF +:101AB000A0B50100BD19000038B50D4604465122FD +:101AC0000B49003018BF01200A4B9847E368626851 +:101AD00013402268D554E3686168A2689A1A8A4262 +:101AE00084BF591AA1600133E360002038BD00BFF4 +:101AF000A0B50100BD19000010B5044667220549D4 +:101B0000003018BF0120044B9847E068A368C01A52 +:101B100010BD00BFA0B50100BD190000430900F0D1 +:101B20001F00012202FA00F04033024A42F823006B +:101B3000704700BF00E100E0C0EBC00000EB001008 +:101B40000230024BA3FB003040087047ABAAAAAAA0 +:101B5000C0EBC00000EB00100230044BA3FB0030D0 +:101B600040084FF47A7303FB00F07047ABAAAAAAAF +:101B700070470000000000000139FDD8704700BF29 +:101B800008B5094A13889BB243F4A0631380074B3E +:101B90009847074B9847074B9847074B984740F69D +:101BA000FF70064B984708BD00400041F11B000044 +:101BB000111C0000E51B0000151C0000C11B0000EB +:101BC00010F0010F08D0054A054B1A62194643F67A +:101BD000FD724B681342FCD1704700BF0701010042 +:101BE000001C00400122014B5A7170470008004060 +:101BF000064B42F28E329A8200229A75DA75DA69C1 +:101C000002F47C52DA6101221A7470470014004019 +:101C1000704700000E4A0F4B5A631A46D36B13F0FD +:101C2000060FFBD10B4B4FF402629A63022283F83A +:101C300030201A46D36B13F0020FFBD1054B1A6C00 +:101C400012F0010F03D11A6C12F0020FF7D0704797 +:101C50004D0E01000010004000B583B00D4B9B7885 +:101C6000DBB20193019B13F0020F06D00A4B1B68F5 +:101C70001BB1084A5068984709E0019B13F0010F17 +:101C800005D0054B5B6813B1024A5068984703B012 +:101C90005DF804FB00000241706C002070B489B054 +:101CA00006466C460D4D0FCD0FC495E80F0084E835 +:101CB0000F00009BB3420DD0314601AB012053F819 +:101CC000042B8A4207D001300828F8D1002009B03F +:101CD00070BC70470020C0B2F9E700BFC4B5010076 +:101CE00010B58469237E13F0010F03D0A37D13F098 +:101CF000010F12D1237E13F0020F03D0A37D13F046 +:101D0000020F0FD1237E13F0040F15D0638B03F065 +:101D1000370363B1FF23638310BD01232375036879 +:101D2000984710BD022323758368984710BDA16AA8 +:101D30004368C9B2984710BD237EDB0900D110BDAE +:101D400080232376C3689847638B9BB26383F6E74F +:101D500008B5034B984780002E3000F0FE0008BD08 +:101D60009D1C000010B50446214B9847022805D061 +:101D700040F26B221F4900201F4B9847E36913F084 +:101D8000010F19D1E36913F0030FFBD1236813F09E +:101D9000020F0BD0236823F002032360E36913F0E2 +:101DA000030FFBD1E36913F0020FFBD1052323607E +:101DB000E36913F0030FFBD1E36913F0010FFBD1CB +:101DC0000E4B2360E36913F0030FFBD14FF4403354 +:101DD0006360E36913F01F0FFBD1094BA3604FF65B +:101DE0001143A3810020A07384F8300010BD00BF10 +:101DF0009D1C0000FCB50100BD190000040010404E +:101E00000200700070B50D460646CB22184900301E +:101E100018BF0120174B98472846174B9847044690 +:101E200008B1204670BDB561144B9D4204BF144BF0 +:101E30001E602846134B9847011DC9B2012500F0CA +:101E40001F0205FA02F243099B0003F1604303F508 +:101E50006143C3F88020BFF34F8FBFF36F8FC3F888 +:101E600080211A600130C0B28142E8D1D9E700BFB9 +:101E7000FCB50100BD190000651D000000200141F6 +:101E8000C8000020511D00008269136843F002035E +:101E90001360D36913F0030FFBD170478369996214 +:101EA0007047836901229A757047836902229A7587 +:101EB0007047000008B5024B1868024B984708BDF0 +:101EC000C8000020E11C000008B5024B1868024B56 +:101ED000984708BDC8000020E11C000008B5024B6F +:101EE0001868024B984708BDC8000020E11C00009C +:101EF00008B5024B1868024B984708BDC80000207F +:101F0000E11C000070B588B006466C46124D0FCD3E +:101F10000FC495E80F0084E80F00009BB3420BD07C +:101F2000304601AA012352F8041B814205D0013337 +:101F3000082BF8D100200BE0002313F0FF0F09D08D +:101F40004FF49E7205490020054B98474FF0FF3033 +:101F500008B070BD0020FBE718B601004CB60100C8 +:101F6000BD19000070B506460C460846604B984700 +:101F70000546F4608D225F4901205F4B9847236935 +:101F800013F0010F19D1236913F0030FFBD123685C +:101F900013F0020F0BD0236823F0020323602369A0 +:101FA00013F0030FFBD1236913F0020FFBD10123C0 +:101FB0002360236913F0030FFBD1236913F0010F92 +:101FC000FBD105EB85034D4A02EB83035A6A22607D +:101FD000236913F0030FFBD105EB8503474901EBA0 +:101FE000830393F82A10E1731B8DE380012323738D +:101FF00002F00C02082A48D0002A58D105EB8503CC +:102000003E4A02EB83039B8DA383236913F0C00F29 +:10201000FBD10023E383236913F0C00FFBD101231D +:102020006372374B9C4204BF364B1E6005EB850341 +:10203000324A02EB8303B3F92230002B23DB5A0927 +:1020400003F01F03012101FA03F320322E4941F866 +:102050002230BFF34F8FBFF36F8F05EB8505274B02 +:1020600003EB8505B5F92230002B0CDB590903F091 +:102070001F03012202FA03F3234A01F1600042F830 +:10208000203042F82130002070BD05EB85031B4A4B +:1020900002EB8303DB6AE361236913F0C00FFBD11A +:1020A00000232362236913F0C00FFBD1B7E7042A92 +:1020B000B5D105EB8503114A02EB830393F82C306D +:1020C0002377236913F0C00FFBD1002363772369C3 +:1020D00013F0C00FFBD105EB8503084A02EB830325 +:1020E00093F82B30E376236913F0200FFBD196E7AA +:1020F000051F00004CB60100BD19000018B6010014 +:1021000000380040CC00002000E100E0C268136805 +:1021100043F002031360136913F0030FFBD1704700 +:10212000C268136913F0030FFBD11068C0F34000BD +:10213000704700207047000010B5C068094B9847F1 +:10214000044640F20F1208490120084B984704EB5F +:102150008404074B03EB840494F82200054B984752 +:1021600010BD00BF051F00004CB60100BD190000E6 +:1021700018B601001D1B000008B5064B1868C3689F +:102180009A7A12F0010F00D108BD01229A720368F9 +:102190009847F9E7CC00002008B5024B9847024C5D +:1021A000A047FDE7AD2100008122000030B58DB0D1 +:1021B0001E4B98471E4B98471E4B98471E4B9847FF +:1021C0001E4B98471E4B98471E4B98471E4C4FF48A +:1021D000965300221D4920461D4DA84701A81D4BBE +:1021E00098471D4B0493029401A81C4B984700206C +:1021F0001B4B9847054600211A4B984704461A493D +:102200001A4B9847002211462046194CA04700213E +:102210002846184B9847054623225A21A0471649BD +:102220002846164B98470DB030BD00BF811B0000FB +:102230000D1400006D13000039120000951300000A +:1022400051280000D102000050260020D0000020BC +:10225000590D0100F90C0100A50C0000790D0100D9 +:10226000352300005598010060B60100F995010082 +:1022700025340000EDAA0100C83B0200EDA70100D3 +:1022800008B50120024B9847024B984708BD00BF94 +:1022900009150000B5370100003018BF0120704754 +:1022A000F0B5C3B0054614461C4B9847E5282CD81A +:1022B000064602AF024629463846194B9847BD19D3 +:1022C0002023BB5528236B703023AB707823EB7031 +:1022D000291D1C22134824FA02F303F00F030344C0 +:1022E0001B7D01F8013B043A12F1040FF3D12923BD +:1022F0002B7300236B7302AB00930B4BBC220B4977 +:1023000003200B4CA04743B0F0BD0095064BBF2205 +:1023100006490320064CA047F5E700BF07B50100BA +:102320003D260100D43B0200FC3B0200103C0200B1 +:102330004522010008B1C06B704710B582B0084B50 +:10234000984710B1C06B02B010BD064B0093064B0E +:102350002E2206490220064CA0470020F3E700BFCA +:10236000C90E0100EC3D0200183D0200C03D020014 +:102370004522010008B1006C704710B582B0084BCF +:10238000984710B1006C02B010BD064B0093064B8D +:102390004B2206490220064CA0470020F3E700BF6D +:1023A000C90E0100283E02002C3D0200C03D020083 +:1023B0004522010008B1406C704710B582B0084B4F +:1023C000984710B1406C02B010BD064B0093064B0D +:1023D0005C2206490220064CA0470020F3E700BF1C +:1023E000C90E0100643E0200443D0200C03D0200EF +:1023F00045220100A0B138B503460024094D93F8E9 +:10240000342002F02002002A18BF1C461846A847B4 +:1024100003460028F3D114B12046034B984738BD3A +:10242000704700BF652C00009D3300002DE9F84F78 +:10243000037D13F0010F2AD117468A460646C46869 +:102440004FF001090025DFF8C480AB464AE0337D38 +:1024500013F0100F00D1D5B9B9F1000F17D03046E5 +:10246000D0470446002D35D0D94646E0F368A34254 +:102470000DD093B11868C369002217219847F368FB +:1024800000220E2118681E4B9847012801D0BDE894 +:10249000F88FF36818681B4B9847F4602068C3698D +:1024A000002216219847F36800220D211868144B6A +:1024B00098470128EBD1F3681868134B9847F368E5 +:1024C0001868104B98473369002BE0D03046984786 +:1024D000BDE8F88F0028DAD00546D9462068C04705 +:1024E0000028C3D0002CB2D0002D08BF25462146BD +:1024F0003046B8470446A842C9D0002CEED1F1E7D7 +:10250000B52A000009330000F52300008D310000DA +:1025100008B518210148024B984708BDEC6D002012 +:10252000E11E010008B5024A0249034B984708BD65 +:10253000A51F0100911F01002D24000008B5024ACB +:102540000249034B984708BDD11F01009B1F0100A2 +:102550002D24000038B50446037DC3F3001543F075 +:102560001003037513F0080F0CBF044B044B98477E +:10257000237D65F30413237538BD00BF25250000B6 +:102580003D25000000284FD0F0B583B005460C462D +:102590000746264B98470146A0B103689C4207D0E6 +:1025A000234E3846B047014660B10B68A342F8D1CC +:1025B000204B0093204B752220490120204CA0473E +:1025C00003B0F0BDA36B73B120461E4B984750B1CA +:1025D000A06B1D4B98471D4B0093174B7F2217494B +:1025E0000120174EB047A5632846194B9847064669 +:1025F000184B984758B1002EE2D0346028460B4B58 +:1026000098478642DCD128460F4B9847D8E70A4BBB +:102610000093852209490320094CA0473246002334 +:102620000D480E498847FEE7704700BF911F010023 +:10263000A51F0100D03F0200803F0200943F02002E +:1026400045220100E14F0000552500000C4002002A +:10265000451F010099220000C03F0200A122000096 +:102660002DE9F041D0F83880B8F1000F51D0D8F8FA +:102670000C30002B4DD005461B6898421ED04646B4 +:102680004046254B98470446002842D003689D42A7 +:1026900009D0224F21463046B8470446002838D09A +:1026A00023689D42F6D1214640461D4B984720465F +:1026B0001C4B98470023AB63BDE8F08198F81430B9 +:1026C00013F0010F05D098F814306FF3000388F869 +:1026D00014304046104B9847D8F80C3083420BD04A +:1026E0004046114B9847D8F80C301B689D4204BFF8 +:1026F0000023C8F80C30C2E740460C4B9847D8F886 +:102700000C309842ECD10068C36900221721984729 +:10271000E9E7BDE8F08100BF911F0100A51F01009E +:102720007D200100AD240100552500009B1F010004 +:1027300018B1C3681BB118687047002070470020AB +:10274000704718B1007DC0F340007047002070470B +:10275000014B5868704700BF74260020F8B5B0B12F +:10276000034690F8502042F0020280F85020184AA8 +:102770005268904204D039B1DA6B914204D0F8BD6E +:102780000020134A1060F6E70022DA63F8BD0C4619 +:102790000020104B984703460028F0D00C4D00272E +:1027A0000C4E05E0DF631846B04703460028E6D02C +:1027B00093F8502042F0020283F850206A689A424F +:1027C00008BF2F60002CEDD0DA6B9442EBD1E9E723 +:1027D000742600200910010008B500210846014BAD +:1027E000984708BD5D270000014B1868704700BF7F +:1027F000742600202DE9F0478946904600F1040A2E +:102800005046114B9847E0B104461FFA89F61FFA6B +:1028100088F50E4F238A33442382638A2B446382D4 +:10282000A38A3344A382E38A2B44E3824246494687 +:102830002046FFF7DFFF21465046B84704460028F0 +:10284000E8D1BDE8F08700BF911F0100A51F01007E +:1028500030B585B0214B1B78002B36D1204B9847E3 +:10286000204B9847204B9847204B9847204B984740 +:1028700010212048204CA047204B02930193009345 +:1028800002224FF01F014FF600001D4DA8471D4BBF +:1028900098471D4B98474FF4B8711C48A0476021DA +:1028A0001B48A0471B4B98471B4B984701201B4BCD +:1028B00098470120094B1870194B0093194BA2221D +:1028C00019491A4CA04705B030BD194B0093154B60 +:1028D000782215490220154CA047F4E77C260020F9 +:1028E000A5230100D5350100611C010085120100FE +:1028F000112500003C6D0020E11E010010000020A9 +:10290000316B0100B94101003D5E0000986C002070 +:102910008C6C0020D9270000A9FF000015F40000EE +:102920000448020040400200C44702004522010062 +:10293000EC47020030B583B004460D460C4B984777 +:1029400038B194F8343065F3C71384F8343003B0E9 +:1029500030BD084B009340F2945207490320074DC5 +:10296000A84722460023064806498847FEE700BFDD +:10297000992200009C400200C44702004522010049 +:1029800024480200A122000030B583B004460D4661 +:102990000C4B984738B194F8343065F3000384F851 +:1029A000343003B030BD084B00934FF4B462074994 +:1029B0000320074DA84722460023064806498847BA +:1029C000FEE700BF99220000B4400200C4470200A5 +:1029D0004522010024480200A12200002DE9F04117 +:1029E00086B0074615461E460C4621B10846284BC0 +:1029F0009847002833D0039400238DF810300593B6 +:102A0000244B5B6803B10593224B03AA5A60D3F8A9 +:102A100008809E60204B984718B183680BB1294607 +:102A2000984717B129462046B8471A4BC3F8088083 +:102A30005A6892685A609DF81030F3B90CB394F854 +:102A4000343013F0400F1ED02068F0B132462946D2 +:102A5000124B9847012814BF002001200EE0104BB4 +:102A600000934FF4DB620F4903200F4DA847224625 +:102A700000230E480E498847FEE7002006B0BDE857 +:102A8000F0810120FAE70120F8E70120F6E700BF16 +:102A9000992200007C26002051270000B52A000062 +:102AA00084410200C447020045220100244802007C +:102AB000A1220000E8B170B582B0044616460D466A +:102AC0000D4B984768B90D4B009340F2C4620C4916 +:102AD00003200C4DA847224600230B480B4988478A +:102AE000FEE733462A462146A069094CA04702B0BA +:102AF00070BD0120704700BF99220000984102007C +:102B0000C44702004522010024480200A12200001F +:102B1000DD29000030B583B004460D46094B9847C7 +:102B200010B1E56103B030BD074B009340F21B725A +:102B300006490320064DA8472246002305480649BA +:102B40008847FEE799220000A8410200C44702001E +:102B50004522010024480200A122000020B110B546 +:102B6000C4691CB1A04710BD01207047012010BDF1 +:102B700030B583B004460D46094B984710B1256225 +:102B800003B030BD074B009340F237720649032073 +:102B9000064DA84722460023054806498847FEE718 +:102BA00099220000C0410200C447020045220100F2 +:102BB00024480200A122000030B583B004460D462F +:102BC0000D4B984768B90D4B009340F249720C4980 +:102BD00003200C4DA847224600230B480B49884789 +:102BE000FEE72946606A0A4B9847034600B16062D7 +:102BF000184603B030BD00BF99220000D841020042 +:102C0000C44702004522010024480200A12200001E +:102C10008128010030B583B004460C4B984768B951 +:102C20000B4B009340F259720A4903200A4DA84702 +:102C30002246002309480A498847FEE700226286A7 +:102C4000E36906212046984703B030BD9922000071 +:102C5000F4410200C447020045220100244802005A +:102C6000A122000030B583B004460A4B984710B14A +:102C7000206803B030BD084B009340F29F720749B3 +:102C80000320074DA84722460023064806498847E7 +:102C9000FEE700BF9922000010420200C447020074 +:102CA0004522010024480200A122000030B583B073 +:102CB00004460E4B984708B10D4D0EE00D4B0093A6 +:102CC00040F26B720C4903200C4DA84722460023AA +:102CD0000B480C498847FEE71C462046A847034698 +:102CE0000028F9D1204603B030BD00BF9922000072 +:102CF000652C000024420200C44702004522010066 +:102D000024480200A12200002DE9F04383B00446CC +:102D1000224B984780B123681BB12046204B98472F +:102D200004462048204B9847054660B3DFF878906A +:102D30001E4EDFF8708012E01D4B009340F27F7250 +:102D40001C4903201C4DA847224600231B481C4950 +:102D50008847FEE729464046B047054698B105F149 +:102D600030073846C84701460028F3D0844206D0D1 +:102D70003846B04701460028ECD08C42F8D12846AE +:102D800003B0BDE8F0830F4B0093094B4FF4F262A0 +:102D900008490220084CA0470025F0E799220000CE +:102DA000AD2C0000986C0020911F0100A51F0100B0 +:102DB00038420200C44702004522010024480200B4 +:102DC000A12200003448020030B583B004460D460D +:102DD0000D4B984730B19DB12946201D0B4B9847AC +:102DE00003B030BD0A4B009340F2AD720949032095 +:102DF000094DA84722460023084809498847FEE7AD +:102E0000201D084B9847EBE799220000A51F010001 +:102E100048420200C4470200452201002448020043 +:102E2000A1220000911F010030B583B005460C4679 +:102E30000E4B984760B105F10F0204F108002346DC +:102E400012F8011F03F8011B8342F9D103B030BD12 +:102E5000074B009340F6010206490320064CA047A9 +:102E60002A460023054806498847FEE799220000C4 +:102E7000C0420200C447020045220100244802006B +:102E8000A122000030B583B004460F4B984768B9C3 +:102E90000E4B009340F622020D4903200D4DA8472A +:102EA000224600230C480D498847FEE720460C4B7C +:102EB0009847034628B1208A1B8AC01A00B203B083 +:102EC00030BDB4F91000FAE799220000D4420200A4 +:102ED000C44702004522010024480200A12200004C +:102EE000652C000030B583B004460F4B984768B995 +:102EF0000E4B009340F636020D4903200D4DA847B6 +:102F0000224600230C480D498847FEE720460C4B1B +:102F10009847034628B1608A5B8AC01A00B203B0A2 +:102F200030BDB4F91200FAE799220000E442020031 +:102F3000C44702004522010024480200A1220000EB +:102F4000652C000030B583B004460C4B984730B177 +:102F5000A08A0130238AC01A00B203B030BD084BEA +:102F6000009340F64A0207490320074DA84722462E +:102F70000023064806498847FEE700BF9922000063 +:102F8000F4420200C4470200452201002448020026 +:102F9000A122000030B583B004460C4B984730B1F5 +:102FA000E08A0130638AC01A00B203B030BD084B1A +:102FB000009340F6560207490320074DA8472246D2 +:102FC0000023064806498847FEE700BF9922000013 +:102FD00008430200C44702004522010024480200C1 +:102FE000A122000009B92830704700B583B08DF8E0 +:102FF0000010002301936A460821044B98470128DA +:103000000CBF0198002003B05DF804FB5D2B0000AD +:103010002DE9F84F80468A4693461E461C481D4BB4 +:103020009847002831D00546B0422ED0DFF8609096 +:10303000194F09E0AB885B4514D0BBF1FF0F11D0ED +:103040001CB32546A64220D029464846B847044628 +:1030500028684045F4D1A9795145EBD0BAF1FF0F6A +:10306000EED1E7E70D4B98470D4B9847A9880D4BDC +:103070009847002128460C4B9847294648460B4B59 +:10308000984728460A4B9847DAE7BDE8F88F00BF13 +:103090003C6D00209B1F0100D11F0100E52F0000A7 +:1030A000CF700000D5670000111301007D200100E2 +:1030B000AD24010030B583B004460D460B4B984754 +:1030C00048B10B4B98470023FF2229462046094C64 +:1030D000A04703B030BD084B0093084B40F292422A +:1030E00007490220074CA047F3E700BFE52F000087 +:1030F000E17000001130000080480200CC43020063 +:10310000C447020045220100F8B504681748184B6F +:10311000984708B301460027144E164D03E0304689 +:10312000A847014678B18C42F9D00A6823689A42D0 +:10313000F5D14B6823F07F42636823F07F439A42C6 +:1031400008BF0127EBE73FB1214608480A4B9847E3 +:1031500020460A4B9847F8BDA1792068084B98474C +:10316000084B9847A188084B9847EDE73C6D002035 +:10317000911F0100A51F01007D200100AD24010069 +:10318000E52F0000CF700000D567000030B583B098 +:1031900004460B4B984728B194F83400C0F3001054 +:1031A00003B030BD074B009340F64122064903208F +:1031B000064DA84722460023054806498847FEE7F2 +:1031C000992200001C440200C4470200452201006D +:1031D00024480200A12200002DE9F04186B00446F7 +:1031E0000E463A4B984768B9394B00934FF4F0724A +:1031F00038490320384DA84722460023374838492C +:103200008847FEE72046374B984710B106B0BDE827 +:10321000F0812046344B98470746344B9847054683 +:10322000334B9847874209D02846324B984787420C +:1032300004D02846304B98478742E7D1B4F9323062 +:1032400004F10F0204F1170002A912F8017F01F83E +:10325000017B8242F9D19BB2BDF80820D21AADF8A9 +:103260000820BDF80A20D21AADF80A20BDF80C20BB +:103270001A44ADF80C20BDF80E201344ADF80E3002 +:1032800002AA314604A81D4B98470028BED020460C +:103290001B4B9847044698B1DFF86080114F184ED9 +:1032A00004F1100204A90846C0470028AED0204609 +:1032B000B8470028AAD12046B04704460028EFD1DD +:1032C00004A928460F4B9847A0E700BF99220000A9 +:1032D00030440200C4470200452201002448020095 +:1032E000A12200008D310000AD2C0000092D00004E +:1032F0003523000075230000B523000001150100EF +:10330000652C0000415E000030B585B004461C4BC2 +:10331000984738B3B4F9323004F10F0204F11705BD +:1033200002A912F8010F01F8010BAA42F9D19BB2D0 +:10333000BDF80820D21AADF80820BDF80A20D21A2C +:10334000ADF80A20BDF80C201A44ADF80C20BDF8E9 +:103350000E201344ADF80E3002A92046094B9847C1 +:1033600005B030BD084B009340F20D220749032001 +:10337000074DA84722460023064807498847FEE72D +:1033800099220000D931000048440200C4470200DD +:103390004522010024480200A1220000F0B583B0BC +:1033A0000546164B984768B9154B009340F26222C8 +:1033B00014490320144CA0472A46002313481449FB +:1033C0008847FEE72846134B98470446061D3046BB +:1033D000114B984785420FD02046104FB847012324 +:1033E0002A46314630460E4EB047E3692A4601214F +:1033F000204698472046B84703B0F0BD9922000008 +:103400005C440200C4470200452201002448020037 +:10341000A1220000652C0000911F0100093300006B +:10342000092101002DE9F04784B004468A46174679 +:103430002D4B984700283ED02668002E49D0338A6D +:10344000228A9B1A53441FFA83FA0FFA8AF8758A64 +:10345000638AED1A3D44ADB20FFA85F9B8F1000F59 +:1034600002D1B9F1000F23D02046204FB84702A95E +:1034700020461F4B9847238A53442382638A2B4458 +:103480006382A38A5344A382E38A1D44E5824A46A9 +:1034900041462046174B9847E36902AA022120467D +:1034A0009847F36922460121304698472046B8479D +:1034B00004B0BDE8F087104B009340F296220F490C +:1034C00003200F4DA847224600230E480E49884787 +:1034D000FEE70E4B0093084B4FF42772074902207A +:1034E000074CA047E4E700BF992200000933000021 +:1034F000292E0000F52700008C440200C44702007A +:103500004522010024480200A1220000B848020020 +:1035100030B583B004460D460D4B984768B90D4B46 +:1035200000934FF433720C4903200C4DA8472246F8 +:1035300000230B480B498847FEE720460A4B984773 +:10354000024629462046094B984703B030BD00BFCC +:10355000992200009C440200C44702004522010059 +:1035600024480200A1220000E52E000025340000BE +:1035700030B583B004460D460D4B984768B90D4BE6 +:1035800000934FF436720C4903200C4DA847224695 +:1035900000230B480B498847FEE720460A4B984713 +:1035A0002A4601462046094B984703B030BD00BF6C +:1035B00099220000AC440200C447020045220100E9 +:1035C00024480200A1220000852E000025340000BE +:1035D0002DE9F04385B004460D4690461F46BDF9DF +:1035E00030602C4B984768B92B4B009340F26D32FA +:1035F0002A4903202A4DA8472246002329482A4960 +:103600008847FEE78DB12846224B984790B9224B58 +:10361000009340F2713221490320214CA0472A46F1 +:103620000023204820498847FEE720461F4B984743 +:103630000546E8E703AB424604F1100105F110002E +:10364000DFF87090C8472046184B9847B0F9123001 +:10365000BDF80E203244BDF80C103944008A091A16 +:1036600009B2ADF80C10D21A12B2ADF80E202046F5 +:103670000F4B984784F84880A4F84470A4F846603B +:10368000256494F849306FF3410384F8493005B05C +:10369000BDE8F08399220000BC440200C447020048 +:1036A0004522010024480200A1220000652C0000F0 +:1036B000253400000D1801002DE9F04F85B081463A +:1036C0000E4692460393BDF938B0A34B984768B9AC +:1036D000A24B009340F29532A1490320A14CA04790 +:1036E0004A460023A048A1498847FEE74846A04B28 +:1036F0009847054648469F4B9847044648469E4B88 +:10370000984700EBD07040F34F0848469B4B9847D2 +:1037100000EBD07040F34F07EEB130468E4B984728 +:10372000F0B1BAF1140F39D8DFE81AF028005C00C4 +:1037300062006D0076007F008D009900A500B40046 +:10374000BA00C500CE00D700E500F100F700030184 +:103750000C012E013D014846894B98470646DCE79F +:103760007E4B009340F2A1327D4903207D4CA0475F +:10377000324600237C487D498847FEE730467E4B31 +:10378000984700EBD070C8EB60052DB230467B4BFC +:10379000984700EBD070C7EB600424B24846784BE2 +:1037A0009847318A039F39442944038AC91A728A87 +:1037B0005A442244438AD21A12B209B24846714B83 +:1037C000984789F848A0A9F84470A9F846B0C9F804 +:1037D000406099F8493043F0020389F8493005B058 +:1037E000BDE8F08FC8F100052DB27C4224B2D5E7C8 +:1037F0003046614B984700EBD070C8EB60052DB2A6 +:103800007C4224B2CAE730465B4B9847A0EB0800E5 +:1038100005B27C4224B2C1E7C8F100052DB23046A2 +:10382000564B9847C01B04B2B8E73046524B9847F6 +:1038300000EBD070C8EB60052DB230464F4B984777 +:10384000C01B04B2AAE730464B4B9847A0EB0800D8 +:1038500005B23046494B9847C01B04B29EE7C8F1F9 +:1038600000052DB23046454B984700EBD070C7EBB2 +:10387000600424B292E730463F4B9847A0EB080023 +:1038800005B230463D4B984700EBD070C7EB600463 +:1038900024B283E7C8F100052DB27C4224B27DE753 +:1038A0003046354B984700EBD070C8EB60052DB221 +:1038B0007C4224B272E730462F4B9847A0EB0800B9 +:1038C00005B27C4224B269E7C8F100052DB230464A +:1038D0002A4B9847C01B04B260E73046264B9847F6 +:1038E00000EBD070C8EB60052DB23046234B9847F3 +:1038F000C01B04B252E730461F4B9847A0EB0800AC +:1039000005B230461D4B9847C01B04B246E7C8F1CC +:1039100000052DB27C4224B240E7C8F100052DB26B +:103920003046164B984700EBD070C7EB600424B2CA +:1039300034E7C8F100052DB23046104B9847C01B44 +:1039400004B22BE730460C4B9847A0EB080005B2B9 +:103950007C4224B222E700BF99220000CC4402003E +:10396000C44702004522010024480200A1220000B1 +:10397000852E0000E52E0000452F0000952F000049 +:10398000652C00002534000030460D4B9847A0EB15 +:10399000080005B230460B4B984700EBD070C7EBE0 +:1039A000600424B2FAE63046054B9847A0EB0800C5 +:1039B00005B23046034B9847C01B04B2EEE600BF89 +:1039C000452F0000952F000030B583B00446124B00 +:1039D000984790B194F8493013F0020FB4F944308D +:1039E00094F84820B4F946100091216C204614BF89 +:1039F0000A4C0B4CA04703B030BD0A4B009340F279 +:103A00002A4209490320094DA847224600230848B5 +:103A100008498847FEE700BF99220000B936000038 +:103A2000D1350000E0440200C447020045220100F5 +:103A300024480200A12200002DE9F04106460021A1 +:103A40000D4B9847B0B104460C4D4FF000080A4F9B +:103A50002046A847E369424604212046984720466D +:103A6000A8472046FFF7E8FF21463046B8470446FE +:103A70000028EDD1BDE8F081C92D00000933000018 +:103A800030B583B005460C46364B984798B1712C3B +:103A900046D8702C23D2412C1BD8402C1FD2022C8C +:103AA00005D3072C1BD9A4F11003082B17D92846DE +:103AB0002D4B98472FE02D4B009340F21D522C497F +:103AC00003202C4CA0472A4600232B482B4988472B +:103AD000FEE7532C21D8502C01D24C2CE7D128469C +:103AE000214B9847EB690022042128469847152C62 +:103AF00009D3182C01D9FF2C05D1286818B1C36946 +:103B00000022012198472846174B9847FF2C24D0C4 +:103B100014F4004F21D103B030BD5C2CC7D1DEE7D7 +:103B20007F2C0CD948F281039C4211D848F28003C3 +:103B30009C42D4D2902CD2D0FF2CB8D1CFE77E2C8F +:103B4000CDD2732CB3D3752CC9D97C2CAFD1C6E799 +:103B500048F28E039C42AAD1C1E72846084B9847F9 +:103B6000D9E700BF9922000009330000F0440200A9 +:103B7000C44702004522010024480200A12200009F +:103B8000393A000010B50446034B9847FF21204600 +:103B9000024B984710BD00BFB5300000813A0000CD +:103BA0002DE9F84304460F460026DFF888803546A5 +:103BB000DFF8849005E0FF213846C8470136402EE3 +:103BC00022D0F1B23846C0478646E8B101790029D3 +:103BD000F4D090F805C00CF0060C0023DAB2BCF16A +:103BE000060F04BF0132D2B28A423ABFDEF80000AB +:103BF00050F822202A469442DDD0002CDBD001333D +:103C0000DAB28A42EAD3D9E700213846084B98470E +:103C1000054650B1064E29462046FFF7C1FF29460A +:103C20003846B04705460028F5D1BDE8F88300BF07 +:103C3000C92D0000E52F0000813A00002DE9F04772 +:103C4000804600200F4B9847C8B18146DFF840A05E +:103C50000D4F0E4E09F130052846D047044640B1BD +:103C600021464046B84721462846B047044600282A +:103C7000F6D14846034B984781460028EAD1BDE873 +:103C8000F08700BFA10F0100A13B0000A51F0100AC +:103C9000911F0100F8B504460D4681790068424B3A +:103CA0009847424B9847A18801F00F03082B19DC75 +:103CB00045B9B4F908203E4B9847A18820683D4B90 +:103CC0009847F8BDFF2D0AD0B4F90820B4F90C309C +:103CD0009B1A05FB03F502EB252212B2EBE7B4F9C0 +:103CE0000C20E8E70B2B43DC002D05DDFE2D05DD68 +:103CF000A289314B9847E0E72289FAE7EDB2C5F196 +:103D0000FF02637BDB08667AF60802FB06F605FB1A +:103D1000036303EB032703EBC713C3F3C457A38960 +:103D2000C3F345132689C6F3451602FB06F605FBC9 +:103D3000036303EB032603EBC613C3F3C556237BD0 +:103D400003F01F0394F808E00EF01F0E02FB0EF2C2 +:103D500005FB032505EB052305EBC315ED0D4FF022 +:103D6000000265F3040266F34A1267F3CF22C0E74C +:103D70000D2B12DC002D05DDFE2D05DD227B0F4B0A +:103D800098479AE7227AFAE7227A237B9B1A05FB67 +:103D900003F502EB2522D2B2F1E77F2DD4BFA26852 +:103DA000E268074B984788E7E52F0000CF700000D6 +:103DB000C9680000813A00000D6A0000516B0000E4 +:103DC000816C000030B583B004460A4B984710B1AF +:103DD000002003B030BD084B009340F6B1220749E4 +:103DE0000320074DA8472246002306480649884776 +:103DF000FEE700BF99220000C0450200C447020050 +:103E00004522010024480200A1220000F0B583B041 +:103E10000D46064688B19D4B9847002840F06481C6 +:103E20009B4B0093ED229B4903209B4CA0473246BD +:103E300000239A489A498847FEE79A4B984748B921 +:103E4000994B0093924BCF2292490220924CA0476B +:103E50003446F5E13030954B984704468B4B9847F4 +:103E600060B98B4B0093D4228A4903208A4DA8471E +:103E7000224600238E488A498847FEE7002C00F03E +:103E8000DF814C2120468B4B984794F835306FF3F7 +:103E9000051384F83530884BE361884B2362002793 +:103EA000A761278267823846854B98470138A082F0 +:103EB0003846844B98470138E0824C21201D824BC4 +:103EC00098470023638684F8303084F8313084F8D2 +:103ED0004830A4F84430A4F84630236494F84920CC +:103EE00063F3000284F84920A36394F8342002F0BD +:103EF0007F0242F0010294F83510032060F3430181 +:103F000084F83C3002F0C10263F3861284F8342056 +:103F100041F0010184F8351084F83D30636204F10A +:103F200028073846694B9847002D00F06C8105F151 +:103F300028013846664B984705F10F0204F1180135 +:103F400004F1100312F8010F03F8010B8B42F9D1B1 +:103F5000B5F93230638695F8303084F8303095F812 +:103F6000313084F8313095F8483084F84830B5F96C +:103F70004430A4F84430B5F94630A4F846302B6CF0 +:103F8000236495F8492094F8493062F3000384F8DB +:103F90004930AB69A36195F83430DB0994F83420DB +:103FA00063F3C71284F8342095F8342094F8343041 +:103FB00062F3000384F8343095F83430C3F34003DF +:103FC00094F8342063F3410284F8342095F83530B6 +:103FD000C3F3420394F8352063F3430284F8352099 +:103FE00095F83430C3F3800394F8342063F38202ED +:103FF00084F8342095F83430C3F3C003D2B263F3AD +:10400000C30284F8342095F83430C3F30013D2B2DD +:1040100063F3041284F8342095F83430C3F340136A +:10402000D2B263F3451284F8342095F83430C3F3E8 +:104030008013D2B263F3861284F8342095F83C30B2 +:1040400084F83C3095F8352094F8353062F300035D +:1040500084F83530A86B10B121461E4B984728468E +:104060001D4B9847002800F0D980002E00F0DF801B +:1040700028461A4B984707462846194B9847024648 +:1040800039462046174B9847C9E000BF99220000E7 +:10409000D4450200C4470200452201002448020022 +:1040A000A1220000C90E010020490200F91E0100F2 +:1040B000C03F02001F2B0100ED5900001154000009 +:1040C000D50E0100FD0E0100E11E0100D1640000CB +:1040D0005171000085250000652C0000852E000030 +:1040E000E52E000025340000301D574B984704464C +:1040F000564B9847002847D0002C00F0A1804C2157 +:104100002046534B9847266094F835306FF30513DB +:1041100084F835304F4BE3614F4B23620020A061A0 +:10412000B6F912306382778A4C4B9847322303FBEF +:1041300000F35033B3F5A07F33DA01233B44E3822D +:104140002046474B984701283AD0B6F910302382D1 +:10415000378A0020414B9847642303FB00F3503318 +:10416000B3F5A07F4DDB00203C4B9847642303FB55 +:1041700000F350333B4A82FB0312DB17C3EBA2135D +:104180009BB23B44A38298E6374B0093F022374919 +:104190000320374DA8472246002336483649884732 +:1041A000FEE700202D4B9847322303FB00F35033EA +:1041B0002C4A82FB0312DB17C3EBA2139BB2BDE7B1 +:1041C000B6F91430A382B78A0020244B98476423A1 +:1041D00003FB00F35033B3F5A07F10DB00201F4B2F +:1041E0009847642303FB00F350331E4A82FB0312FB +:1041F000DB17C3EBA2139BB2FB1A23825DE60123FC +:10420000FAE70123BDE726B1022120461B4B984760 +:1042100005E001212046194B984708E03EB1F369BB +:1042200022460121304698472046154B9847154BAA +:1042300000930D4B40F287120C4901200C4DA8470A +:10424000204603B0F0BD00BFF91E01009922000016 +:104250001F2B0100ED59000011540000250F010033 +:10426000C53D000067666666D4450200C44702008B +:1042700045220100C03F0200A1220000D1410100FF +:1042800009330000704902002DE9F04184B0044672 +:104290000D461646324B984768B9324B009340F2B0 +:1042A000E52231490320314DA847224600233048FA +:1042B00030498847FEE720462F4B9847A8423FD019 +:1042C00020462E4B984702A920462D4B9847731E37 +:1042D000628A1344E38220462A4B9847012835D04E +:1042E0006B1E228A1344A382E36902AA022120469C +:1042F00098472046244B984718B1C56922460121AA +:10430000A847261D3046214B9847054668B14FF017 +:1043100003081F4FEB6902AA4146284698472946E1 +:104320003046B84705460028F4D12046134B98473D +:1043300094F8493013F0010F0ED104B0BDE8F081BC +:104340002046144B9847B042BAD1F6E7C5F10103B5 +:10435000A28A13442382C7E720460F4B9847ECE715 +:1043600099220000F8450200C447020045220100DE +:1043700024480200A1220000452F0000093300005C +:10438000292E0000C53D0000652C0000911F010092 +:10439000A51F0100952F0000C939000030B583B07A +:1043A00004460D460D4B984768B90D4B009340F2FB +:1043B00027320C4903200C4DA847224600230B4806 +:1043C0000B498847FEE720460A4B98472A46014694 +:1043D0002046094B984703B030BD00BF992200002A +:1043E0001C460200C4470200452201002448020086 +:1043F000A1220000452F00008942000030B583B0A3 +:1044000004460D460C4B984738B194F83C301D4299 +:1044100014BF0120002003B030BD084B009340F6CC +:10442000D72207490320074DA84722460023064804 +:1044300006498847FEE700BF992200004446020073 +:10444000C44702004522010024480200A1220000C6 +:1044500030B585B004460D46114B984728B13F2D25 +:1044600011D894F83D0005B030BD0E4B009340F6D6 +:10447000DE220D4903200D4DA847224600230C489B +:104480000C498847FEE78DF80C5000238DF80D305D +:1044900003AA09212046084B98479DF80D00E2E742 +:1044A0009922000058460200C4470200452201003C +:1044B00024480200A12200005D2B00002DE9F04FEE +:1044C00085B0174660B30D464FEA122B0646DFF85B +:1044D0008CA0DFF88C90DFF88C8006E0BDF90E0030 +:1044E00005B0BDE8F08F0025DEB129463046D04743 +:1044F000019029463046C84707EB002084B20DF1F1 +:104500000E0221460198C0470128E7D01BF0800F1A +:1045100007D0002DE7D130460F4B98470646E2E71B +:10452000144624F4FE44A4B2222C0FD006D8032C47 +:104530000AD0072C0CD14FF48070D1E7312C09D070 +:10454000C02C05D11020CBE70620C9E7FF20C7E724 +:104550000020C5E70F20C3E7652C0000E52F000011 +:1045600051440000CD7200002DE9F04F85B0174690 +:1045700048B30D464FEA122B0646DFF86CA0DFF871 +:104580006C90DFF86C8004E0BDF80C0025E000259D +:10459000D6B129463046D047019029463046C84713 +:1045A00007EB002084B203AA21460198C0470128E6 +:1045B000EAD01BF0800F07D0002DE8D13046084B21 +:1045C00098470646E3E7144624F4FE44293C012CB0 +:1045D0009ABF044BB3F87406002005B0BDE8F08F15 +:1045E000652C000040400200E52F0000514400000F +:1045F000917300002DE9F04F85B0174650B30D467A +:104600004FEA122B0646DFF874A0DFF87490DFF84B +:10461000748004E09DF80F0029E00025DEB12946F2 +:104620003046D047019029463046C84707EB002066 +:1046300084B20DF10F0221460198C0470128E9D04C +:104640001BF0800F07D0002DE7D130460A4B98476A +:104650000646E2E7144624F4FE44A4B26D2C09D0C9 +:1046600048F2AD039C4205D02C2C03D0FF2005B0AE +:10467000BDE8F08F0020FAE7652C0000E52F000070 +:1046800051440000557400002DE9F04F85B01746E5 +:1046900050B30D464FEA122B0646DFF880A0DFF834 +:1046A0008090DFF8808005E0039805B0BDE8F08FCA +:1046B0000025D6B129463046D047019029463046DC +:1046C000C84707EB002084B203AA21460198C047DF +:1046D0000128E9D01BF0800F07D0002DE8D130462B +:1046E0000B4B98470646E3E7144624F4FE44A4B275 +:1046F000BE2C0AD048F28E039C4203D07E2C01D0FF +:104700000020D2E7034B9847CFE70348CDE700BF2F +:10471000652C0000C5410100E8910200E52F000072 +:10472000514400001975000070B50468A58805F0B3 +:104730000F03082B13DD0B2B18DD0D2B1DDD2A4677 +:10474000A1792068104B9847A0600023A3802346DE +:104750002A46A17920680D4EB047A58070BD2A4633 +:10476000A17920680A4B98472081EEE72A46A17973 +:104770002068084B98472081E7E72A46A1792068FE +:10478000054B98472072E0E7894600001130000091 +:10479000BD44000069450000F545000090F83D303B +:1047A0008B4200F052822DE9F04FA1B0894682463B +:1047B000AB4B984740B19AF83DB08AF83D90002342 +:1047C0000693A84DD846D2E1A74B009340F237623A +:1047D000A6490320A64CA04752460023A548A64957 +:1047E0008847FEE7737943F0040373718AF83D80CC +:1047F0002246DDF80CB059465046A84707468AF8CD +:104800003D902246CDF80CB059465046A847834605 +:1048100073796FF38203737187424AD08AF83D80BF +:10482000224603995046A84706468AF83D9002461C +:1048300021460498914B9847012C00F094809048B1 +:10484000904B98470746864B9847002800F0A28077 +:10485000002F2ED03E81A7F80CB0C7F800A0BC8076 +:104860009DF80C30BB7110A8874B98471097874B69 +:104870001193874B1293874B139300231693FF23B7 +:1048800017930A9B1893099B5B421993089A531E2E +:10489000D01D14AA13F8011F02F8011B8342F9D19D +:1048A0009DF876306FF300038DF8763010A87A4BC0 +:1048B0009847059B10AA934200F05481059B33F85A +:1048C000024B0593002CF4D00798744B984703993A +:1048D0005046734B98470646724B9847049004F035 +:1048E0000F03082B7FF77EAF0B2B61DD0D2B00F341 +:1048F000E980737943F0040373718AF83D8022469E +:10490000DDF80CB059465046674FB8470B908AF80F +:104910003D902246CDF80CB059465046B8478346E4 +:1049200073796FF3820373710B9B8342C1D08AF852 +:104930003D80224603995046B84706468AF83D9086 +:10494000024621460498594B98474D484D4B98478D +:104950000746434B9847002874D0002FA9D03E72D9 +:1049600087F80CB079E747F6FF739E4200F04C8160 +:104970009B457FF464AF5046DFF844B1D84700EB65 +:10498000D07040F34F075046D84700EBD07040F34B +:104990004F0351E1464B009340F6B2623349032086 +:1049A000334CA0473A460023424833498847FEE744 +:1049B000737943F0040373718AF83D8022460399AA +:1049C00050463D4FB84783468AF83D9022460399AA +:1049D0005046B847ADF82C0073796FF382037371BA +:1049E0001FFA8BFB83B29B453FF463AF8AF83D808F +:1049F000224603995046B84783468AF83D900246BE +:104A0000214604982D4B98471D481E4B9847074652 +:104A1000134B984740B1002F3FF44BAFA7F808B0B5 +:104A2000BDF82C30BB8118E7214B009340F6C662DD +:104A30000E4903200E4CA0473A4600231D480E495C +:104A40008847FEE71A4B009340F6DB6207490320D4 +:104A5000074CA0473A460023164807498847FEE717 +:104A600099220000BD440000B8460200C44702007D +:104A70004522010024480200A1220000C96800006C +:104A80003C6D0020F91E0100CD120100953C000094 +:104A90002947000009310000891301001D72000040 +:104AA000E52F0000CF700000F5450000516B0000BD +:104AB000CC460200C03F0200694500000D6A0000BC +:104AC000452F00008AF83D80737943F00403737129 +:104AD0002246DDF80CB0594650465C4FB8470C9062 +:104AE0008AF83D902246CDF80CB059465046B8475A +:104AF000834620A941F8400D73796FF382037371E7 +:104B000004220CA8524B984700283FF4D2AE8AF8F2 +:104B10003D80224603995046B84706460C908AF8D5 +:104B20003D900246214604984A4B98474A484B4BD1 +:104B3000984707464A4B984730B1002F3FF4B9AE2B +:104B4000BE60C7F80CB088E6464B009340F6EF62B3 +:104B500045490320454CA0473A460023444845496F +:104B60008847FEE7069B01330693402B45D09DF80E +:104B700018300393194650463F4B9847079000283A +:104B80003BD0437913F0080FECD1B022039C2146AF +:104B90005046A8470A90B12221465046A84709909E +:104BA000BE2221465046294B98470890B222214602 +:104BB0005046A847ADF83400B32221465046A847D6 +:104BC000ADF83600B42221465046A847ADF838006B +:104BD000B52221465046A847ADF83A00B6222146F4 +:104BE0005046A847ADF83C00B72221465046A8479A +:104BF000ADF83E000DAB059360E6FF2150461F4B1C +:104C0000984721B0BDE8F08F50461D4EB04700EBED +:104C1000D07040F34F075046B04700EBD07040F3E0 +:104C20004F035E1C7A1C9642A8BF164636B247F662 +:104C3000FF7293457FF403AE03F1010B0137BB45CF +:104C4000A8BFBB460FFA8BFBF9E570478946000009 +:104C5000C5B40100816C00003C6D0020F91E01000C +:104C600099220000CC460200C44702004522010000 +:104C7000C03F0200A1220000E52F0000813A0000A1 +:104C8000452F000030B583B005460C460D4B9847C4 +:104C900050B195F83D3043EA04018B4202D02846DA +:104CA000094B984703B030BD084B009340F27E6239 +:104CB00007490320074CA0472A4600230648074916 +:104CC0008847FEE7992200009D470000DC4602006D +:104CD000C44702004522010024480200A12200002E +:104CE00030B583B005460C460D4B984750B195F84A +:104CF0003D3023EA04018B4202D02846094B9847F5 +:104D000003B030BD084B009340F28F620749032087 +:104D1000074CA0472A460023064807498847FEE774 +:104D2000992200009D470000F0460200C44702009F +:104D30004522010024480200A122000030B583B0C2 +:104D400004460A4B984710B1E06903B030BD084BE8 +:104D5000009340F6F52207490320074DA847224655 +:104D60000023064806498847FEE700BF9922000055 +:104D700004470200C4470200452201002448020003 +:104D8000A122000030B583B004460A4B984710B109 +:104D9000606A03B030BD084B009340F61E320749ED +:104DA0000320074DA84722460023064806498847A6 +:104DB000FEE700BF9922000048470200C4470200F6 +:104DC0004522010024480200A122000030B583B032 +:104DD00004460A4B984710B1A06B03B030BD084B96 +:104DE000009340F66F3207490320074DA84722463B +:104DF0000023064806498847FEE700BF99220000C5 +:104E00006C470200C447020045220100244802000A +:104E1000A12200002DE9F8430546002215213C4B54 +:104E2000984728463B4B9847074610B128463A4BCF +:104E3000984700212846394B98470023FF22114606 +:104E40002846374CA04705F104084046354B9847A3 +:104E5000044658B1DFF8E89021464046C847064668 +:104E60002046FFF7D7FF3446002EF5D12E4B5B6866 +:104E70003BB101211A68954208BF19719B68002B4C +:104E8000F8D10020294B9847044610B3DFF8B480CE +:104E9000DFF8B490254E0EE029462046C047E36B6C +:104EA0009D4204BF0023E363A36D9F420AD02046C6 +:104EB000B047044668B1636B9D42EDD0A36B9D4241 +:104EC000EDD1E9E7C8478542F1D129462046C047E0 +:104ED000EDE7EB6900221146284698472846144B17 +:104EE000984760B129460430124B9847686A08B168 +:104EF000114B98472846104B9847BDE8F883284641 +:104F00000E4B9847294630300A4B9847EEE700BFD2 +:104F1000B52A0000CD4D00006126000011130100EC +:104F200011300000911F01007C26002009100100B3 +:104F3000652C00007D200100AD240100092D00003A +:104F4000A51F01005D270000E927000070B582B0B1 +:104F50000446194B984768B9184B009340F29312D6 +:104F600017490320174DA847224600231648174922 +:104F70008847FEE72046164B98472046154B984732 +:104F8000054640B12046144B9847EB6900220121A9 +:104F9000284698470CE02046104B9847054638B104 +:104FA000C66B20460C4B9847B44201D10023EB63FB +:104FB000002002B070BD00BF9922000080470200AF +:104FC000C44702004522010024480200A12200003B +:104FD00009330000652C0000154E0000092D00006B +:104FE00030B583B004460E4B984748B1A06BA8B1CA +:104FF0000C4B9847844214BF0020012003B030BD01 +:10500000094B00934FF4386208490320084DA84724 +:1050100022460023074808498847FEE70020EDE7BD +:105020009922000031270000B0470200C447020067 +:105030004522010024480200A122000000B583B0EF +:1050400090F83030028AD21AADF80020828A1344D8 +:10505000ADF8043090F83130428AD21AADF802200F +:10506000C28A1344ADF8063000226846024B9847C6 +:1050700003B05DF804FB00BFA115010003687BB11C +:1050800010B4021D012352F8044B1CB10133DBB2F2 +:10509000072BF8D140F8231001205DF8044B70472E +:1050A000002340F823100120704700002DE9F04153 +:1050B00005460E4614460122A84B9847208048F228 +:1050C0000C0231462846A64B9847052842D9074688 +:1050D000237B002B49D1237D002B76D1237F002B0E +:1050E00040F0988094F83630002B40F0B88094F867 +:1050F0002830052B00F2018194F84430052B00F292 +:105100003781F92F24D8BFB2237B13FB07F3C3F3F6 +:1051100007232373237D13FB07F3C3F307232375AF +:1051200094F8283013FB07F3C3F3072384F82830DF +:1051300094F8363013FB07F3C3F3072384F83630B3 +:1051400094F8443013FB07F7C7F3072784F844703B +:10515000BDE8F08100232373237584F8283084F898 +:10516000363084F84430BDE8F0812C2231462846A0 +:105170007B4B984720730528ADD929223146284614 +:10518000784B98476080232231462846734B9847D6 +:10519000C0B2A07130B92022314628466F4B9847E3 +:1051A000607398E72A22314628466E4B9847A080C4 +:1051B000212231462846DFF8A481C04720812222DF +:1051C00031462846C0476081E5E73022314628460F +:1051D000624B98472082002880D03C2231462846E6 +:1051E0005F4B98472075052806D83222314628465D +:1051F0005A4B9847607571E7312231462846574B24 +:105200009847C0B26082392231462846554B9847AC +:10521000E081EAE7402231462846504B98472083F8 +:1052200000283FF45FAF4C22314628464C4B98474C +:105230002077052806D8422231462846474B984712 +:1052400060774FE7412231462846444B98476083B8 +:10525000492231462846434B9847E082EBE76E22CD +:1052600031462846404B9847E06200283FF43FAF64 +:105270006C22314628463A4B984784F83600052878 +:105280007FF635AF6D2231462846354B984784F876 +:105290003700612231462846304B9847003018BF0E +:1052A000012094F8383060F3000384F83830E06A65 +:1052B0002E4B984702280BD094F83730052B15D881 +:1052C000602231462846254B984784F839000EE77E +:1052D000692231462846234B9847A08648F28E0221 +:1052E00031462846204B98472063E9E7692231463A +:1052F00028461C4B9847A086E2E7502231462846B4 +:10530000164B9847208400283FF4F6AE5C223146C5 +:105310002846134B984784F8280005287FF6ECAE02 +:10532000512231462846DFF83480C047608452223B +:1053300031462846C047A084532231462846C047FC +:10534000E084592231462846064B9847E083542290 +:1053500031462846C04784F82900CDE6BD44000008 +:10536000F54500006945000089460000519900009C +:105370007F2231462846224B9847E06300283FF4BD +:10538000C0AE7C22314628461E4B984784F8440024 +:1053900005287FF6B6AE732231462846DFF86C80CA +:1053A000C047A4F84800742231462846C047A4F8F4 +:1053B0004A00792231462846134B9847A4F8460004 +:1053C0007E22314628460E4B984720647022314693 +:1053D0002846C047A4F84C00712231462846C047F1 +:1053E000A4F84E00752231462846C04784F8500084 +:1053F000722231462846C04784F8510081E600BF3A +:1054000089460000F545000069450000BD440000E4 +:105410002DE9F04198B004460E46022A08D0002A31 +:105420006CD0012A00F0CC80002018B0BDE8F081DB +:1054300000218E4B984708B10320F6E70122002196 +:1054400020468A4DA8470746042200212046A84747 +:105450008046052200212046A84704F10F0304F1ED +:10546000170503AA13F8011F02F8011B9D42F9D189 +:105470001FFA88F8BDF80C30A3EB0803ADF80C3028 +:10548000BDF810309844ADF8108080B2BDF80E30F1 +:105490001B1AADF80E30BDF812301844ADF81200EA +:1054A0003A4603A93046724B984708B90220BCE738 +:1054B0002C22002120466F4B9847F92801D8022062 +:1054C000B3E7202200212046684B9847C0B208B1BC +:1054D0000220AAE7322200212046644B9847C0B23E +:1054E00008B10220A1E748F20C0200212046614BDE +:1054F0009847FA2834BF0220012096E703A85E4BA4 +:105500009847332200212046584B984710B100237A +:105510008DF8203003AA00212046584B98470422DA +:1055200000212046514DA8478046052200212046F3 +:10553000A84704F1100704F10F0304F1170501AAAD +:1055400013F8011F02F8011BAB42F9D11FFA88F8CA +:10555000BDF80430A3EB0803ADF80430BDF8083003 +:105560009844ADF8088080B2BDF806301B1AADF83B +:105570000630BDF80A301844ADF80A0003AA3146D7 +:1055800001A83F4B9847022200212046374B9847FD +:1055900008B9002049E71C203A4B984705460122EC +:1055A00000212046314B98470023024639462846C1 +:1055B000354EB04704F518712846344B9847E8E754 +:1055C00002220021294B984738B933220021204676 +:1055D000264B984740B9002027E704F518702C4B5C +:1055E00098472C4B9847F0E703A8234B9847002790 +:1055F0008DF818708DF842708DF8347003AA394612 +:1056000020461E4B9847042239462046174DA8478E +:105610008046052239462046A84704F10F03173477 +:1056200001AA13F8011F02F8011BA342F9D11FFAC6 +:1056300088F3BDF80420D21AADF80420BDF8082084 +:105640001344ADF8083080B2BDF806301B1AADF82F +:105650000630BDF80A301844ADF80A0003AA3146F6 +:1056600001A8074B98470020DFE600BFBD440000BB +:1056700055170100F545000051C20000AD50000073 +:1056800019C300002529010015C00000A9BD0000B4 +:1056900079BE000059250100F8B505460E461446AE +:1056A00048F28C02264B98472072052800D8F8BD96 +:1056B00048F20C0231462846214B9847F92805D874 +:1056C000237A13FB00F0C0F307202072237A052B06 +:1056D000EDD948F28902314628461A4B9847208076 +:1056E00048F2800231462846174FB847A08148F259 +:1056F000810231462846B847608148F2820231462D +:105700002846B847207648F2830231462846B847F3 +:10571000607648F28E02314628460C4B984760600E +:10572000E2894FF6FF739A42C1D0228A9A42BED0D4 +:1057300048F28A0231462846024B98472080B6E755 +:10574000F545000069450000BD44000089460000A1 +:1057500070B505460E46144648F2AC02214B9847F8 +:105760002070052800D870BD48F20C02314628464A +:105770001C4B9847F92805D8237813FB00F0C0F399 +:10578000072020702378052BEDD9002363804FF488 +:1057900080732381AB8A01332A8A9B1A1BB203EBE5 +:1057A000D3735B10A380EB8A01336A8A9B1A1BB206 +:1057B00003EBD3735B10E38048F2AD023146284619 +:1057C000084B9847A07248F2A90231462846064B7A +:1057D0009847A08148F2A00231462846034B9847DB +:1057E000A073C0E7F545000069450000BD44000016 +:1057F0002DE9F04F89B004460E465022764B98476B +:10580000074668BB7F2231462046744B9847804646 +:1058100030B17C2231462046714B984705284CD840 +:105820004022314620466C4B98470546002840F000 +:10583000BF80042231462046DFF89C81C0470546E0 +:10584000052231462046C047A842B8BF284600B2CC +:105850000028C4BFC01907B2384609B0BDE8F08FB0 +:105860005C22314620465E4B9847052801D8002728 +:10587000C8E7532231462046574DA84707EBD77754 +:1058800000EB67070137BFB2512231462046A847D7 +:105890008046522231462046A8470028B8BF4042E1 +:1058A000B8F1000FB8BFC8F100084045ACBF3F18C1 +:1058B000474438B220EAE077A4E770223146204618 +:1058C000454DA8478246702231462046A847834668 +:1058D0007E2231462046414B98474FF00009CDF8D3 +:1058E000089047F618430193CDF800B0534602469E +:1058F000414604A8DFF8EC80C047ADF81890ADF839 +:105900001A90BDF81030013BADF81C30BDF81230D4 +:10591000013BADF81E30752231462046A84781462E +:10592000732231462046A8478046742231462046DD +:10593000A847054605AB5FFA89F206A904F11000F5 +:10594000DFF8A490C847BDF8143043449BB2BDF8BB +:1059500016202A4492B2B4F91000BDF81810194468 +:1059600009B2401AB842B8BF3846B4F91210BDF8AF +:105970001A7017443FB2CF1B00B28742B8BF074628 +:10598000BDF81C0003441BB2B4F91400181A3BB252 +:105990008342B8BF0346BDF81E00104400B2B4F9FC +:1059A0001670C71B18B2B842B8BF384607B237E7FF +:1059B0004C22314620460A4B984705287FF639AFDE +:1059C000412231462046044B98472844B842B8BF8C +:1059D000384607B22DE700BFBD44000089460000ED +:1059E000F5450000654001000D18010008291AD096 +:1059F00010B50446072920D0012923D0062927D035 +:105A0000032930D0042939D00B293BD0A1F10D0353 +:105A1000DBB2012B3BD916293ED0172951D00029E2 +:105A200054D0012010BD13781BB9283050600120DC +:105A30007047002353600120704726491046264BCB +:105A4000984710BD254B984780F00100C0B210BDAB +:105A50000021234B9847B4F932309842B8BF18461A +:105A60006086012010BD90F8493013F0010F01D17C +:105A7000012010BD1B4B9847012010BD1A4B9847C1 +:105A8000012010BD1021194B9847012010BD102195 +:105A9000174B9847012010BD164B9847164B984757 +:105AA00028B106212046114B9847012010BD022144 +:105AB00020460E4B9847042120460D4B9847012065 +:105AC00010BD06210A4B9847012010BD0B4B98478B +:105AD000012010BDD04902007D500000FD430000B0 +:105AE000F1570000C9390000152C0000854C00005A +:105AF000E14C0000CD4D000043270000B530000010 +:105B00002DE9F84305468846002210311F4B98477F +:105B100050B398F8343013F0100F27D1D8F8203054 +:105B200043B30222294640469847814603281FD0A6 +:105B300008F104063046164B9847044660B1154FED +:105B400021462846FFF7DCFF034650B92146304680 +:105B5000B84704460028F3D1B9F1010F0CBF434602 +:105B600000231846BDE8F8830023FAE70023F8E78E +:105B70000023F6E708F104063046054B9847044633 +:105B80004FF002090028DAD10346EAE75517010071 +:105B9000911F0100A51F010090F8343013F0100F81 +:105BA00000D070472DE9F0438BB00E460546B0F9A2 +:105BB000324004A9354B9847A3B2BDF81020D21A41 +:105BC000ADF81020BDF81220D21AADF81220BDF8A1 +:105BD00014201A44ADF81420BDF816201344ADF873 +:105BE000163004AA314606A8294B9847A8B12B6A5B +:105BF0001BB1002206A92846984704A92846234B32 +:105C0000984704AA314608A8214B984740B92B6A07 +:105C10001BB1012206A9284698470BB0BDE8F083C6 +:105C200005F1040840461B4B984704460028EED077 +:105C3000DFF85890164E184F05E021464046B84709 +:105C400004460028E3D002A92046C847638EBDF869 +:105C50000820D21AADF80820BDF80A20D21AADF8F3 +:105C60000A20BDF80C201A44ADF80C20BDF80E2017 +:105C70001344ADF80E3002AA08A96846B0470028C0 +:105C8000DBD069462046FFF787FFD6E7292E0000C4 +:105C9000011501009B1F0100D11F01002DE9F047F4 +:105CA0000F46044670B1394620461A4B98472046A5 +:105CB000194B9847814660B1184EDFF85880DFF8DD +:105CC00058A00EE0164B1868164B9847044600285B +:105CD000E9D1BDE8F0874846D0474C4681460028C8 +:105CE000F7D009F1040521462846B047044640B1E3 +:105CF00039462046C04721462846B047044600287A +:105D0000F6D1D9F82030002BE5D00122394648469B +:105D10009847E0E7995B0000652C0000D11F010067 +:105D2000882600203523000038B51A4D28681A4B04 +:105D3000984704462868194B984778B90123A3610E +:105D4000144B186843681A6A12F0010F10D01B6ACE +:105D500013F0020F0CD00123E3610BE00D4D286816 +:105D6000A369002BEAD0C369002BF9D09847F6E766 +:105D70000023E361C3681BB1A26804F110019847D6 +:105D8000236833B1626822B1A1688B4208BF134611 +:105D9000A36038BD88260020C50F0100C90F01008F +:105DA00070B582B006461A4D28681A4B98470446CB +:105DB0002868194B984738B92868A36923B1C36983 +:105DC000002BFAD09847F7E704F1100231466846F5 +:105DD000124B98470E4C2068114B98470146684675 +:105DE000104B98476946104DA84720680F4B9847BD +:105DF0006946A84720680E4B98476946A84720681F +:105E00000C4B984708B102B070BD0B4B9847FAE7AE +:105E100088260020C50F0100C90F010001150100EF +:105E200035230000015B00009D5C0000752300002D +:105E3000B5230000DD0F0100295D00007047000060 +:105E4000F0B585B00C460546002854D0002C57D03C +:105E50000023ADF80830ADF80A302846364B984795 +:105E60000138ADF80C002846344B98470138ADF89E +:105E70000E0002AA21466846314B9847002845D0BB +:105E80002B6913B1694628469847B5F86831C3F3C2 +:105E900009039BB100210C460F462A4E09313A46B0 +:105EA00005EBC1016846B04780BB0134A4B221466E +:105EB000B5F86831C3F309039C42EFDB1F2B27DCE5 +:105EC000093305EBC3030DF1FF3203F1080012F8AB +:105ED000011F03F8011B8342F9D1B5F86831C3F300 +:105EE0000902013262F30903A5F868310321E86A67 +:105EF000154B98470AE0154B9847054630B1A5E782 +:105F0000B5F868316FF30903A5F8683105B0F0BD45 +:105F1000B5F868316FF30903A5F868310DF1070290 +:105F200005F1500005F1480312F8011F03F8011BA9 +:105F30008342F9D1D1E700BFD50E0100FD0E01006B +:105F4000011501005517010041390100C90E01007A +:105F5000014B1868704700BF882600202DE9F04FDC +:105F60008DB00546B74B98470990B74CEB68236056 +:105F700000212846B54B98472068C36B7BB1B0F829 +:105F80006831C3F30903002B00F078824FF0480812 +:105F90000027AD4DDFF8E4A2DFF8C8B24DE0B0F85D +:105FA00068316FF30903A0F8683162E226440123E7 +:105FB00086F8483101342868B0F86831C3F3090322 +:105FC0009C4230D2031993F84831002BF2D1A742FA +:105FD000F0D004F10906F60081194044D0470028AA +:105FE000E8D029688A1941440AA8994B98470AA819 +:105FF000D847039028684044D847814628683044F1 +:10600000D8474844039B8342D4D22E6806EB08034A +:106010000DF1270203F1080012F8011F03F8011B1C +:106020008342F9D1C2E701372868B0F86831C3F379 +:10603000090308F108089F420ED2384490F848310D +:10604000002BF0D12868B0F86831C3F30903002BA6 +:1060500000F0FA810024B5E700217B4A5160002B53 +:1060600000F0FA815A1E1146079232D4821892F833 +:1060700048217AB103F2471303440A46013AB2F1C8 +:10608000FF3F05D013F8011D0029F7D1079201E069 +:1060900000230793426892F820306FF3000382F8E0 +:1060A0002030426892F820306FF3410382F82030AC +:1060B000654B1C68B4F86831C3F30903002B00F08A +:1060C000CB81482306934FF0000ADFF87CB12746C6 +:1060D00045E000230793DDE77A6892F8203043F02B +:1060E000010382F8203043E0DBF80000594B984769 +:1060F000044600250582DBF80000574B984701381D +:10610000A0826582DBF80000544B98470138E0829A +:10611000DBF800305A6892F8203043F0020382F82E +:10612000203003984E4B9847DBF80000836943B159 +:10613000069B18444B4B9847DBF804300344CBF8DC +:1061400004300AF1010ADBF80070069B083306935D +:10615000B7F86831C3F309039A4580F27D8107EBF4 +:106160000A0393F84831002BEBD1079B5345B3D07A +:106170007A6892F820306FF3410382F82030069B52 +:10618000FB1803933846384B98470028ACD1DBF80E +:106190000000304B9847064607EBCA07B7F84C405B +:1061A0000134B7F84830E41A24B2B7F94E5005F17B +:1061B0000108B7F84A30A8EB03080FFA88F8DBF8B3 +:1061C0000000264B9847854234DAB7F94E90F368C1 +:1061D000B3FBF4F39845A8BF9846DBF800301B6981 +:1061E000002B52D00023ADF82830ADF82C30ADF89C +:1061F0002A300FFA88F56C1E24B2ADF82E40DBF879 +:10620000000003690AA99847BDF92E104B1CBDF880 +:106210002A209B1A1BB2984532DA2546002CEADC6C +:10622000124B0093124B40F29F1212490220124C63 +:10623000A04779E7DBF80000084B984701380FFAD0 +:1062400080F9C4E74110010088260020413901008F +:1062500057150100C50F0100D50E0100FD0E01000C +:10626000A15D0000E5140100DD0F0100144A0200E9 +:10627000D8490200E8490200452201001117010037 +:10628000002DC8BF01F10108CADDB7F94A40CDF8B9 +:10629000109004EB0803013B4B454BDC1FFA88F3DD +:1062A0000593013BCDF820A09A460DE0A9451CD0EE +:1062B0000398784B9847059B1C4424B204EB0803D1 +:1062C000013B049A93421ADCB7F948303382B7F99C +:1062D0004C30B3827482A4B204EB0A052DB2F5826D +:1062E000A945E3DAA6F816904D46DBF800305A6867 +:1062F00092F8203043F0020382F82030D8E7DDF82E +:1063000020A0A9453FF410AFB7F948303382B7F960 +:106310004C30B3827482A6F81690DBF800305A68CD +:1063200092F8203043F0020382F820300398594B52 +:106330009847F9E60025E4E7574B984718B1574BC3 +:1063400018684369EBB1554C20684FF480714830B0 +:10635000534DA8472068202100F5A470A847236862 +:10636000B3F868216FF30902A3F8682109984D4B2F +:106370009847014620688369002B76D06268984769 +:1063800073E0494B98470446484B9847A369002B54 +:10639000FCD1A3680393D4F800A0534508BFD4F8F8 +:1063A00004A03E4C2068424B984704902368B3F801 +:1063B0006821C2F30902002AC5D045000022904698 +:1063C000A1460CE008F101081FFA88F84246D9F806 +:1063D0000030B3F86811C1F309018845B3DA9918A0 +:1063E00091F848110029EDD103EBC203B3F94A70CB +:1063F000B3F94810049807FB00167600B3F84C3048 +:1064000001335B1A1BB25B000593D9F8003003EB34 +:10641000C203B3F94E30BB42D4DB039B03EB060B44 +:1064200056440932D400059A31465846214B9847C4 +:1064300001373FB2AB442E44D9F800302344B3F9BE +:106440000630BB42EFDABDE70022144B5A60B0F8C9 +:106450006831C3F309037BB9104B1868B0F8683191 +:10646000C3F30903002B7FF467AF134B9847134B1B +:1064700098470DB0BDE8F08F07920BE60022074B5E +:106480005A60B0F86831C3F30903002BEDD00792CE +:1064900000E600BFA15D0000DD0F0100882600209E +:1064A0001F2B010059100100C50F0100295D0000DC +:1064B000D50E01003D260100E1250100DD0C0100A3 +:1064C00008B50421014B984708BD00BF1F2B0100F0 +:1064D00008B50821014B984708BD00BF1F2B0100DC +:1064E00070B582B00679002E55D004460068036866 +:1064F00099420AD00346751EEDB200EB85059D4218 +:1065000049D053F8042F8A42F9D10D46012E0ED0FE +:10651000711E8900214B98470646214B984780B150 +:10652000EEB12179002933D00022134626E01D4B1D +:106530009847002323602371627963F3000262713C +:1065400029E0194B00934FF4827218490320184C2C +:10655000A04732460023174817498847FEE7174BE4 +:106560000093114B4FF4837210490220104CA04746 +:1065700011E00133DBB22179994209D9216851F840 +:1065800023108D42F5D046F822100132D2B2F0E746 +:1065900001392171266002B070BD00BF8128010061 +:1065A00099220000AD240100644A0200244B02003D +:1065B00045220100C03F0200A1220000504B020012 +:1065C000002851D070B582B004460E46274B98473C +:1065D000237963BB0420264B984705462846254B64 +:1065E000984758B3002D36D06379C3F3400013F0B9 +:1065F000010F18BF01302379984210D205EB8301B7 +:1066000003F18042013A013B1B1ADBB2D31A05EBBE +:10661000830351F8042C41F804299942F9D145F833 +:106620002060237901332371256002B070BD0133EE +:1066300099002068104B98470546CFE70F4B009311 +:10664000D0220F4903200F4CA0472A4600230E48B2 +:106650000E498847FEE70E4B0093084BD2220849AB +:106660000220084CA047E0E7704700BFE16400004B +:10667000C52301009922000081280100804A020000 +:10668000244B020045220100C03F0200A12200006D +:106690008C4B020030B583B0437913F0010F10D05A +:1066A00003F00603062B14BF002301230279002AFE +:1066B00034D09A4234D9026852F82340204603B0BD +:1066C00030BD05460420174B98470446164B9847A3 +:1066D00060B1CCB12046154B984721462846144B53 +:1066E00098476B7943F001036B71E7E7114B009317 +:1066F00040F2354210490320104DA847224600239E +:106700000F4810498847FEE70F4B0093094B40F2B2 +:10671000374209490220094DA847CFE70024CDE7B9 +:106720000024CBE7C523010099220000C1640000CA +:10673000C16500009C4A0200244B02004522010072 +:10674000C03F0200A1220000BC4B020010B504466D +:106750000068024B98470023236010BDAD24010060 +:106760000268D2B11378FF2B13D0002006E00B2B68 +:106770000ADC02300230135CFF2B0BD003F00F0356 +:10678000082BF4DC0230F5E70D2BD4BF01300430C8 +:10679000F0E70020023080B2704700207047000010 +:1067A00081B170B50C460A685AB105460846064BD9 +:1067B00098470646054B9847286032462168044BA7 +:1067C000984770BD704700BF61670000C523010096 +:1067D0003D26010000286BD02DE9F84307460068EC +:1067E00000286AD0CDB20E0AB4460378FF2B3BD006 +:1067F0004FF0FF3EF0460022CCF3060C27E0841851 +:10680000647886EA040919F07F0F0BD004F07F0446 +:1068100034EA0C091DD14445C4BF0FFA84F80FFABD +:1068200082FE16E09646BEF1000F43DB74467044CC +:1068300043785E4016F07F0F19D00020BDE8F88342 +:106840000B2B0CDC02320232835CFF2BEBD09D421F +:10685000D5D003F00F03082BF2DC0232F3E70D2B47 +:10686000D4BF01320432EEE74FF0FF3EDBE70D46C6 +:106870003846134B984705F00F010B2904DD0E290C +:10688000B4BF0321062100E004210D46411A8C42C9 +:1068900007D223463A685419E45CD45401338B423E +:1068A000F8D13868074B984738600120BDE8F88375 +:1068B000002070470020BDE8F8830020BDE8F88381 +:1068C00061670000812801002DE9F04186B0ADF834 +:1068D0000E10ADF80C200468002C48D0CFB20D0A81 +:1068E000AE462378FF2B2CD04FF0FF318846002294 +:1068F000CEF3060E18E0A618767885EA060C1CF092 +:106900007F0F21D006F07F0636EA0E0C0ED14645E9 +:10691000C4BF0FFA86F811B208E00B2B0CDC023270 +:106920000232A35CFF2B0ED09F42E4D003F00F0392 +:10693000082BF2DC0232F3E70D2BD4BF0132043214 +:10694000EEE74FF0FF310A46002A10DBA3185B7810 +:106950005D4015F07F0F0AD10232A3189DF80C108C +:10696000A1549DF80D205A7006B0BDE8F08106468E +:10697000FF23ADF816301D4B9847002808BF0220B2 +:10698000051DADB229462046194B98473060194B7A +:106990009847E8B1002EE7D0AB1F3268D1189DF8B8 +:1069A0000E00D0549DF80F304B702B1F3268D11859 +:1069B0009DF80C00D0549DF80D304B70023D3368AB +:1069C0005A199DF8161059559DF817305370CBE79A +:1069D000094B00934FF4C37208490320084CA047A9 +:1069E00032680023074808498847FEE761670000CE +:1069F0008128010099220000B44A0200244B0200C1 +:106A000045220100C03F0200A12200002DE9F04113 +:106A100086B0ADF80C20ADF80E100468002C48D0FC +:106A2000CFB20D0AAE462378FF2B2CD04FF0FF31AA +:106A300088460022CEF3060E18E0A618767885EA7E +:106A4000060C1CF07F0F21D006F07F0636EA0E0CF4 +:106A50000ED14645C4BF0FFA86F811B208E00B2BE1 +:106A60000CDC02320232A35CFF2B0ED09F42E4D03A +:106A700003F00F03082BF2DC0232F3E70D2BD4BF37 +:106A800001320432EEE74FF0FF310A46002A10DBF4 +:106A9000A3185B785D4015F07F0F0AD10232A3186E +:106AA0009DF80C10A1549DF80D205A7006B0BDE859 +:106AB000F0810646FF23ADF816301D4B984700289D +:106AC00008BF0220051DADB229462046194B984744 +:106AD0003060194B9847E8B1002EE7D0AB1F326801 +:106AE000D1189DF80E00D0549DF80F304B702B1F1D +:106AF0003268D1189DF80C00D0549DF80D304B70C1 +:106B0000023D33685A199DF8161059559DF81730F3 +:106B10005370CBE7094B009340F2B51208490320AC +:106B2000084CA04732680023074808498847FEE719 +:106B3000616700008128010099220000C84A020014 +:106B4000244B020045220100C03F0200A1220000A8 +:106B50002DE9F04387B0ADF80E100468002C43D047 +:106B60005FFA81FE0D0AAC462378FF2B2CD04FF044 +:106B7000FF37B8460021CCF3060C18E0661876788B +:106B800085EA060919F07F0F21D006F07F0636EA64 +:106B90000C090ED14645C4BF0FFA86F80FB208E0C3 +:106BA0000B2B0CDC02310231635CFF2B0ED09E45B7 +:106BB000E4D003F00F03082BF2DC0231F3E70D2BD6 +:106BC000D4BF01310431EEE74FF0FF3739460029D9 +:106BD0000ADB63185B785D4015F07F0F04D1214418 +:106BE0008A7007B0BDE8F08317460646FF23ADF86C +:106BF00016301B4B9847002808BF0220C51CADB2B9 +:106C000029462046174B98473060174B9847C0B12C +:106C1000002EE6D06B1F3268D1189DF80E00D054BC +:106C20009DF80F304B7033682B4403F8037C023D12 +:106C300033685A199DF8161059559DF8173053703E +:106C4000CFE70A4B00934FF4F27209490320094C35 +:106C5000A04732680023084808498847FEE700BF7C +:106C6000616700008128010099220000DC4A0200CF +:106C7000244B020045220100C03F0200A122000077 +:106C80002DE9F04186B00292ADF80E100468002C98 +:106C90004ED0CFB20D0AAE462378FF2B2CD04FF04A +:106CA000FF3188460022CEF3060E18E0A61876784B +:106CB00085EA060C1CF07F0F21D006F07F0636EA2D +:106CC0000E0C0ED14645C4BF0FFA86F811B208E08B +:106CD0000B2B0CDC02320232A35CFF2B0ED09F4246 +:106CE000E4D003F00F03082BF2DC0232F3E70D2BA4 +:106CF000D4BF01320432EEE74FF0FF310A46002ADA +:106D000016DBA3185B785D4015F07F0F10D10232BF +:106D1000A3189DF80810A1549DF809205A709DF8F9 +:106D20000A209A709DF80B20DA7006B0BDE8F08159 +:106D30000646FF23ADF81630204B9847002808BFC1 +:106D40000220851DADB2294620461D4B9847306074 +:106D50001C4B984720B3002EE7D0A5F108033268FA +:106D6000D1189DF80E00D0549DF80F304B70AA1F1B +:106D700031688B189DF8080088549DF809205A70D6 +:106D80009DF80A209A709DF80B20DA70023D336856 +:106D90005A199DF8161059559DF817305370C4E7CD +:106DA000094B009340F2132208490320084CA047E6 +:106DB00032680023074808498847FEE761670000FA +:106DC0008128010099220000F04A0200244B0200B1 +:106DD00045220100C03F0200A122000000284DD042 +:106DE0002DE9F04384460468002C4AD0CEB2090A4B +:106DF0008E462378FF2B3ED04FF0FF37B846002059 +:106E0000CEF3060E2AE025186D7881EA050919F0FF +:106E10007F0F0AD005F07F0535EA0E0920D14545E0 +:106E2000C4BF0FFA85F807B21AE00746002F2CDB23 +:106E3000BB1CE018E35C137043785370DCF800006F +:106E400007447878C1F306010840BDE8F0830B2BB6 +:106E50000CDC02300230235CFF2BE7D09E42D2D004 +:106E600003F00F03082BF2DC0230F3E70D2BD4BF45 +:106E700001300430EEE74FF0FF37D7E74FF0FF3037 +:106E800070474FF0FF30BDE8F0834FF0FF30BDE8B2 +:106E9000F08300284AD02DE9F04386460468002C90 +:106EA00047D0CEB2090A8C462378FF2B3BD04FF057 +:106EB000FF37B8460020CCF3060C27E025186D7884 +:106EC00081EA050919F07F0F0AD005F07F0535EA40 +:106ED0000C091DD14545C4BF0FFA85F807B217E06C +:106EE0000746002F29DB3C44A3781370DEF800002E +:106EF00007447878C1F306010840BDE8F0830B2B06 +:106F00000CDC02300230235CFF2BEAD09E42D5D04D +:106F100003F00F03082BF2DC0230F3E70D2BD4BF94 +:106F200001300430EEE74FF0FF37DAE74FF0FF3083 +:106F300070474FF0FF30BDE8F0834FF0FF30BDE801 +:106F4000F08300284DD02DE9F04384460468002CDE +:106F50004AD0CEB2090A8E462378FF2B3ED04FF09E +:106F6000FF37B8460020CEF3060E2AE025186D78CC +:106F700081EA050919F07F0F0AD005F07F0535EA8F +:106F80000E0920D14545C4BF0FFA85F807B21AE0B3 +:106F90000746002F2CDBBB1CE018E35C1370437822 +:106FA0005370DCF8000007447878C1F3060108400C +:106FB000BDE8F0830B2B0CDC02300230235CFF2B8E +:106FC000E7D09E42D2D003F00F03082BF2DC023050 +:106FD000F3E70D2BD4BF01300430EEE74FF0FF375D +:106FE000D7E74FF0FF3070474FF0FF30BDE8F08338 +:106FF0004FF0FF30BDE8F083002850D02DE9F0437A +:1070000007460468002C4DD0CEB2090A8C4623787E +:10701000FF2B2DD04FF0FF3EF0460020CCF3060CA6 +:1070200019E025186D7881EA050919F07F0F22D043 +:1070300005F07F0535EA0C090FD14545C4BF0FFAAD +:1070400085F80FFA80FE08E00B2B0CDC02300230D2 +:10705000235CFF2B0ED09E42E3D003F00F03082BDE +:10706000F2DC0230F3E70D2BD4BF01300430EEE741 +:107070004FF0FF3E7046002818DB0546013023180C +:10708000141D13F8010F02F8010B9442F9D13B686B +:107090002B445878C1F306010840BDE8F0834FF057 +:1070A000FF3070474FF0FF30BDE8F0834FF0FF3006 +:1070B000BDE8F083437913F0010F06D013F0020FFF +:1070C000036814BF586818687047002070474379F8 +:1070D00013F0020F1ABF0368186800207047000001 +:1070E00000282CD038B50446437913F0010F08D09E +:1070F000134B9847054620B1124B98472846124B30 +:107100009847637913F0020F09D020460F4B984738 +:10711000054620B10B4B984728460B4B98472379DF +:107120004BB9002222602271637903F0FC0362F301 +:107130008203637138BD2068034B9847F1E77047BD +:10714000B57000004D670000AD240100CF70000055 +:1071500070B505460C462C4B98472368002B41D050 +:10716000637913F0010F20D113F0020F10D02079B2 +:1071700001388000254B984728602279013A216820 +:1071800092000431224B98472379013B2B7170BD4B +:10719000207980001D4B9847286022799200216851 +:1071A0001B4B984723792B7170BD13F0020F1AD037 +:1071B000207902388000154B984728602279023ADE +:1071C000216892000831124B98472379023B2B71BA +:1071D0002846104DA84706462046A8470146304697 +:1071E0000D4B984770BD207901388000074B9847B8 +:1071F00028602279013A216892000431044B9847B3 +:107200002379013B2B71E3E7E1700000C523010006 +:107210003D26010095660000A167000030B583B0EF +:107220000446437913F0020F05D01D4B98470546DD +:10723000284603B030BD04201A4B984705461A4B28 +:107240009847A8B115B32846184B984729462046B9 +:10725000174B9847637943F00203637113F0010FF2 +:10726000E6D023681A685968196023685A60DFE716 +:10727000104B009340F2CD220F4903200F4CA04742 +:107280002A4600230E480F498847FEE70E4B00931D +:10729000084B40F2CF2208490220084CA047C7E71C +:1072A000CF700000C523010099220000C1640000D6 +:1072B000C1650000044B0200244B0200452201007E +:1072C000C03F0200A1220000EC4B0200002859D070 +:1072D0002DE9F04F83B005460368002B54D04FEAE8 +:1072E00011280023ADF806300079002842D09346DB +:1072F00089461C464FF0FF369A46244F1CE0504604 +:107300000DF106024946B847804527D06B7913F046 +:10731000020F05D0002803DB14B913F0040F23D0AB +:10732000B04204DDBDF80630ABF80030064601344B +:1073300024B2287984421FDAE2B26B7903F00603A3 +:10734000062B04BF0132D2B20028D8D0824203D229 +:107350002B6853F82200D3E75046D1E7BDF806303A +:10736000ABF8003001200AE0BDF80630ABF8003081 +:10737000012004E04FF0FF36F043C0F3C03003B00B +:10738000BDE8F08F002070470020F8E7DD6D0000B9 +:10739000002858D02DE9F04F83B005460368002B34 +:1073A00053D04FEA11280023ADF8043000790028AB +:1073B00041D0934689461C464FF0FF369A46244FEB +:1073C0001BE0504601AA4946B847804527D06B7953 +:1073D00013F0020F05D0002803DB14B913F0040FDB +:1073E00023D0B04204DDBDF80430ABF800300646CF +:1073F000013424B2287984421FDAE2B26B7903F0B7 +:107400000603062B04BF0132D2B20028D9D0824233 +:1074100003D22B6853F82200D4E75046D2E7BDF8D8 +:107420000430ABF8003001200AE0BDF80430ABF8BE +:107430000030012004E04FF0FF36F043C0F3C030CD +:1074400003B0BDE8F08F002070470020F8E700BFD0 +:10745000436F0000002859D02DE9F04F83B0054656 +:107460000368002B54D04FEA112800238DF8073011 +:107470000079002842D0934689461C464FF0FF36DB +:107480009A46244F1CE050460DF107024946B84782 +:10749000804527D06B7913F0020F05D0002803DB5D +:1074A00014B913F0040F23D0B04204DD9DF8073067 +:1074B0008BF800300646013424B2287984421FDA62 +:1074C000E2B26B7903F00603062B04BF0132D2B29D +:1074D0000028D8D0824203D22B6853F82200D3E789 +:1074E0005046D1E79DF807308BF8003001200AE0C4 +:1074F0009DF807308BF80030012004E04FF0FF3694 +:10750000F043C0F3C03003B0BDE8F08F00207047F7 +:107510000020F8E7936E0000002852D02DE9F04FCC +:1075200083B005460368002B4DD04FEA112800793F +:1075300000283ED09346894600244FF0FF36A246ED +:10754000224F1AE0504601AA4946B847804526D046 +:107550006B7913F0020F05D0002803DB14B913F088 +:10756000040F21D0B04203DD019BCBF8003006466A +:10757000013424B2287984421DDAE2B26B7903F037 +:107580000603062B04BF0132D2B20028DAD08242B1 +:1075900003D22B6853F82200D5E75046D3E7019B6E +:1075A000CBF80030012009E0019BCBF8003001202E +:1075B00004E04FF0FF36F043C0F3C03003B0BDE845 +:1075C000F08F002070470020F8E700BFF96F00003F +:1075D000F0B501F01F0EC1F34516C1F3C421052A11 +:1075E0003FD9C0F3C4240C441F2C28BF1F2404F02F +:1075F0001F04C0F3451333443F2B28BF3F2303F040 +:107600003F0500F01F0070441F2828BF1F2000F016 +:107610001F03FF2A2ED0C2F1FF0707FB0EF002FB6B +:10762000030000EB002300EBC310C30D4FF000007C +:1076300063F3040007FB06F302FB053303EB0325AA +:1076400003EBC513DB0D63F34A1007FB01F102FBEB +:10765000041202EB022302EBC312D20D62F3CF201D +:10766000F0BD4FF000006EF3040066F34A1061F3C2 +:10767000CF20F0BD4FF0000063F3040065F34A1023 +:1076800064F3CF20F0BDF0B501F01F0EC1F3451635 +:10769000C1F3C421052A3DD9C0F3C4240C1B24EA3C +:1076A000E47404F01F04C0F34513F31A23EAE373F0 +:1076B00003F03F0500F01F00AEEB000020EAE07091 +:1076C00000F01F03FF2A2ED0C2F1FF0707FB0EF0C8 +:1076D00002FB030000EB002300EBC310C30D4FF0CF +:1076E000000063F3040007FB06F302FB053303EB22 +:1076F000032503EBC513DB0D63F34A1007FB01F110 +:1077000002FB041202EB022302EBC312D20D62F35E +:10771000CF20F0BD4FF000006EF3040066F34A1076 +:1077200061F3CF20F0BD4FF0000063F3040065F378 +:107730004A1064F3CF20F0BD2DE9F04F93B09DF8CF +:1077400070409DF874B09DF87890BBF1040F00D99B +:1077500014B913B0BDE8F08F0893ADF824200E469D +:107760000546BA4B98478046B94B9847074682680A +:1077700006923246294610A8B64B98470028E8D012 +:107780003A8ABDF840309B1A99B20D460A9108B268 +:107790000B90ADF840007B8ABDF84210C91A0FFA71 +:1077A00081FCADF842C0BDF84400801A80B2ADF84B +:1077B0004400BDF846E0AEEB030E0FFA8EFEADF8C6 +:1077C00046E0089AAAB198F8083013F0010F10D1DA +:1077D000411C491B09B200290BDD134611441A78DC +:1077E000802A4FF0FF3298BF002203F8012B8B4212 +:1077F000F5D1D8F81430002B77D0BDF82480934B06 +:1078000098470546BB8A01333A8A9B1A1BB20793F5 +:10781000012C3ED0BDF94020089B9F1ABDF8443092 +:1078200001339B1A1BB20893BDF942A0BDF9463043 +:107830009A458EDCBDF940603446BDF944309E4225 +:107840001EDC3E440FFA8AF905964B46B9461F46A0 +:10785000059A12F8013B059203FB0BF3C3F30723D0 +:107860000293ADF80480009723B2079A0699284640 +:107870006E69B0470134BDF944309C42E8DD4F46A3 +:10788000089B1F440AF1010ABDF946309A45D1DD33 +:107890005FE7BDF94290BDF9463099453FF759AFD2 +:1078A000DDF81CA05E46DDF818B0BDF94040BDF91A +:1078B00044309C4212DC0FFA89F705970296ADF826 +:1078C0000480059B009323B25246594628466F69AF +:1078D000B8470134BDF944309C42EFDD09F101099C +:1078E000BDF946309945E0DD33E7B9F1000F40F0CE +:1078F000A083BDF82430ADF81C30544B98470646A1 +:10790000BB8A01333F8ADF1B3FB2BDF94020BDF87F +:10791000443001339B1A1BB20B931D46BDF9460040 +:10792000BDF94230411CC91A09B20C910A9303FBFC +:107930000722069901EB42010591012C29D0BBF1E8 +:10794000FA0F00F2088183423FF703AF069B33F83A +:107950001230BDF82460C6F3C42CC6F3451210469D +:1079600006F01F0214467A000C920B9A089901390E +:10797000069152000E9219464FF0000E7246B6B2B2 +:107980000896CDF824B00D95A146CDF81CB08346DD +:1079900045E3BBF1FA0F25D9736A23B110A82E4B2A +:1079A0009847F02813D80C9B002B7FF7D2AE7F00AE +:1079B00000242A4DDDF83080059E0B9ABDF81C107E +:1079C0003046A8473E440134A045F6D1C1E6BDF893 +:1079D0002430ADF80030746A10AB3A460699304650 +:1079E000A047B6E6336A002B3CD010A81A4B984744 +:1079F000F02837D90B9900290CDDBDF82480184AEE +:107A0000931E01F10041013902EB410223F8028F7C +:107A10009A42FBD1BDF94250BDF946309D423FF735 +:107A200098AE4FEA4708DFF838A0DDF814905C46BE +:107A300000940B9B524649463046376AB847C144CA +:107A40000135BDF946309D42F2DD82E6515F00000E +:107A5000C50F010001150100E5140100231B010001 +:107A6000902600204FF0000EBDF8242002F01F09E0 +:107A7000C2F34518C2F3C42C0BFB0CF303EB032138 +:107A800003EBC113C3F3C4510BFB08F303EB032453 +:107A900003EBC413C3F3C5540BFB09F303EB03223D +:107AA00003EBC213C3F3C4521FFA8BF30CFB03FCAA +:107AB00008FB03F809FB03F96FEA0B03DBB20C9830 +:107AC00000287FF746AE780007900B98400008909A +:107AD000002006909FB236E0307862F304003070E8 +:107AE000308864F34A103080000A61F3C700707078 +:107AF00002339B451CD01E461FFA8EF0B3F800A03F +:107B00005045E9D0B3F800E05978C90801FB07C136 +:107B1000C1F30421CEF3451404FB0784C4F3052408 +:107B20001A7802F01F0202FB0792C2F30422D3E785 +:107B3000059B079803440593069B013306930C9815 +:107B400098423FF406AE002DF2DD05980346089EEC +:107B500000EB060BCFE70C9B002B7FF7FAAD0B9BDE +:107B6000043B0D937B000F9300230A93BDF81C2068 +:107B7000C2F3C42CC2F3451EC2F304030693DEE134 +:107B8000BDF81C303B80434601318D4200F04C83F0 +:107B9000023718F0030F00F0558318F8013B002B53 +:107BA000F1D0FF2BECD0C3F1FF097A78D20809FBA2 +:107BB00002F203FB0C2202EB022002EBC012C2F322 +:107BC000C4523888C0F3451009FB00F003FB0E00D7 +:107BD00000EB002600EBC610C0F3C5503E7806F05F +:107BE0001F0A09FB0AF903FB049303EB032903EBC8 +:107BF000C913DB0D63F304063E703B8860F34A1340 +:107C00003B801B0A62F3C7037B70BCE7BDF81C40D6 +:107C100020F8064C20F8044C20F8024C0480043173 +:107C2000043308308F42C0F229811A4653F8044CBD +:107C3000002CF4D0B4F1FF3FE8D013F8048CB8F175 +:107C4000000F3FD0B8F1FF0F00F00581C8F1FF062B +:107C500010F8054CE40806FB04F408FB0C4404EBA4 +:107C6000042504EBC514C4F3C454099430F8065C2D +:107C7000C5F3451506FB05F508FB0E5505EB052973 +:107C800005EBC915C5F3C55510F8069C09F01F0B87 +:107C900006FB0BF6069C08FB046808EB082608EBBD +:107CA000C616F60D66F3040900F8069C30F8066C5B +:107CB00065F34A1620F8066C360A099C64F3C70679 +:107CC00000F8056C12F8038CB8F1000F3FD0B8F142 +:107CD000FF0F00F0C580C8F1FF0610F8034CE40860 +:107CE00006FB04F408FB0C4404EB042504EBC51468 +:107CF000C4F3C454099430F8045CC5F3451506FB7D +:107D000005F508FB0E5505EB052905EBC915C5F36F +:107D1000C55510F8049C09F01F0B06FB0BF6069CDA +:107D200008FB046808EB082608EBC616F60D66F398 +:107D3000040900F8049C30F8046C65F34A1620F836 +:107D4000046C360A099C64F3C70600F8036C12F849 +:107D5000028CB8F1000F3FD0B8F1FF0F00F0858022 +:107D6000C8F1FF0610F8014CE40806FB04F408FB18 +:107D70000C4404EB042504EBC514C4F3C454099467 +:107D800030F8025CC5F3451506FB05F508FB0E55FA +:107D900005EB052905EBC915C5F3C55510F8029C7F +:107DA00009F01F0B06FB0BF6069C08FB046808EBAA +:107DB000082608EBC616F60D66F3040900F8029CC7 +:107DC00030F8026C65F34A1620F8026C360A099CFA +:107DD00064F3C70600F8016C12F8018CB8F1000FCB +:107DE0003FF41DAFB8F1FF0F44D0C8F1FF0644784F +:107DF000E40806FB04F408FB0C4404EB042504EB44 +:107E0000C514C4F3C45B0588C5F3451506FB05F529 +:107E100008FB0E5505EB052905EBC915C5F3C5553E +:107E200090F8009009F01F0A06FB0AF6069C08FB72 +:107E3000046808EB082608EBC616F60D66F304097D +:107E400080F80090068865F34A160680360A6BF3C0 +:107E5000C7064670E3E6BDF81C4020F8064C31E743 +:107E6000BDF81C4020F8044C71E7BDF81C4020F818 +:107E7000024CB1E7BDF81C400480D0E60E9D8D4257 +:107E80004EDD541E059B03EB4108069E08E0BDF83D +:107E90001C30A8F80030013108F102088D423FDDA6 +:107EA00014F8013F002BF6D0FF2BF0D0C3F1FF09EF +:107EB00098F80120D20809FB02F203FB0C2202EB26 +:107EC000022002EBC012C2F3C452B8F80000C0F3A3 +:107ED000451009FB00F003FB0E0000EB002700EB50 +:107EE000C710C0F3C55098F8007007F01F0A09FBCF +:107EF0000AF903FB069303EB032903EBC913DB0D1C +:107F000063F3040788F80070B8F8003060F34A1390 +:107F1000A8F800301B0A62F3C70388F80130BAE7FB +:107F2000059B0F9A13440593089B0B9A13440893DF +:107F30000A9B01330A930C9A9A423FF40AAC002D33 +:107F400040F37081089A12F0030F00F07981059FC9 +:107F500090460021069C20E6FF2A02D0DDF824E0AE +:107F600004E0DDF824E02A889A4232D0BEF1FF0F07 +:107F700042D0CEF1FF046B78DB080EFB0CF204FB61 +:107F8000032303EB032203EBC213C3F3C4532A8876 +:107F9000C2F345120BFB0EF104FB021202EB0221AD +:107FA00002EBC112C2F3C552297801F01F0109FB8F +:107FB0000EF604FB016101EB012601EBC611C90DB0 +:107FC00061F3040A62F34A1A63F3CF2A1FFA8AF1B3 +:107FD0002B88298002460235A8450FD017F8010FDB +:107FE0000028F8D09042BED0FF28B5D0079B03FBF5 +:107FF00000FECEF3072EB9E70899E9E705980C9C37 +:10800000204405900A98013004460A9006980B9D7A +:1080100028440690BDF9460084423FF79AAB0D987C +:108020000028EBDD059805460E9C00EB0408069F32 +:10803000D4E7BDF82450B9F1010F40D0B9F1020FD7 +:1080400032D1834B0593BDF8242002F01F08C2F300 +:108050004516C2F3C4239946BA8A01323B8AD31A21 +:108060001FB2CDF824C00CFB07F3069A02EB4302C3 +:108070000792012C26D001300A9A801A02B20C9283 +:10808000089A0B99521A0892069A32F81320F4456E +:108090003FF75FAB7B000B9310460021CDF818B083 +:1080A000CDF828B0CB46B0E06A4B00936A4B4FF452 +:1080B00004726A4902206A4CA047FFF74ABB694B29 +:1080C0000593C0E74FF0000A0BFB09F303EB032015 +:1080D00003EBC013C3F3C4500BFB06F303EB032203 +:1080E00003EBC213C3F3C5520BFB08F303EB0321ED +:1080F00003EBC113C3F3C453F4453FF72AAB790034 +:108100000891CDF818B0CB463AE0217863F304012A +:108110002170218862F34A112180090A60F3C701A6 +:10812000617009F101090237BDF9441089451ADC73 +:108130003C461FFA8AF1B7F800E07145E5D0B7F880 +:1081400000A068F3040566F34A156BF3CF25069A81 +:1081500051462846059B984700F01F03C0F345127F +:10816000C0F3C420D1E70799089C214407910999DD +:1081700001310C460991BDF946108C423FF7E9AA3E +:10818000BDF94070B946BDF944108F42EBDC079948 +:1081900001EB4707CCE7F92B9DBF0A9A5343C3F382 +:1081A0000722069A68F3040566F34A156BF3CF2598 +:1081B00021882846059B984780B29AF800102288AB +:1081C000208009F1010901370234BDF94430994595 +:1081D0000ADCBA463B78002BF3D08B42DBD1B4F8F3 +:1081E00000E09645D7D1EBE7079B0B9C2344079310 +:1081F000089B0C9C23440893099B01331C4609935C +:10820000BDF946309C423FF7A4AABDF94040A146C3 +:10821000BDF944309C42E7DC089B1F19079B03EB28 +:108220004404D6E7089B00210D9A8A42FFF678AEF7 +:108230000433C81C059A02EB40000E950D9FF4E430 +:10824000089B00210D9A8A42F2DA1A4619E600BF0D +:1082500087760000784C02002C4C0200484C02004B +:1082600045220100D17500002DE9F04F91B09DF835 +:1082700068409DF86CA09DF87050BAF1040F00D9C9 +:1082800014B911B0BDE8F08F049307920F46014670 +:108290003A460EA8BC4B98470028F2D0BB4B9847F3 +:1082A0008046BB4B9847064683680593028ABDF813 +:1082B00038309B1A9BB20693BDF918C0ADF838C090 +:1082C000438ABDF83AB0ABEB030B1FFA8BFB0FFAF6 +:1082D0008BFEADF83AE0BDF83C10891A89B2ADF8D2 +:1082E0003C10BDF83E00C01A80B202B20892ADF850 +:1082F0003E20049AD2B198F8083013F0010F15D13E +:1083000001F10109069BA9EB03090FFA89F9B9F1FB +:10831000000F0BDD134691441A78802A4FF0FF328C +:1083200098BF002203F8012B4B45F5D1D8F8143043 +:10833000002B00F0A980954B98470546B6F9100030 +:10834000B38A01331B1A1BB20693BDF93810B7F973 +:108350000020B7F8049009F10109A9EB02090FFA0E +:1083600089F9BDF93AE0B7F90230B6F912609B1B02 +:10837000AEEB0303121A8A1A09FB03234FEA410BDF +:10838000CBEB430B079B5B449B46012C46D0049BE5 +:108390005B1A0793BDF93E309E453FF772AFBDF9BA +:1083A0003C304FEA490208920133591A0BB2099343 +:1083B000F146BDF938603446BDF93C309E4220DCC0 +:1083C000079B03EB06080BEB46060FFA89F70496AA +:1083D00018F8013B03FB0AF3C3F307230293049A43 +:1083E00032F8023B0492ADF80430009723B2069AAB +:1083F000059928466E69B0470134BDF93C309C426E +:10840000E6DD079B099A13440793089B9B4409F1F7 +:108410000109BDF93E309945CBDD32E7BDF93E306B +:108420007345FFF62EAF4FEA4909F046BDF93870A3 +:108430003C46BDF93C309F421EDC0BEB47070FFA70 +:1084400088F6049733465646CA4699460296049AD9 +:1084500032F8023B0492ADF80430CDF8009023B21C +:10846000069A059928466F69B8470134BDF93C3032 +:108470009C42EBDDD146B246CB4408F10108BDF980 +:108480003E309845D2DDFCE6002D40F09983B6F9E8 +:108490001030B6F8148008F10108A8EB03080FFAB1 +:1084A00088F80131069A891A0AB2099215460130F4 +:1084B000A0EB0B0B0FFA8BF20892B7F90010B7F88C +:1084C000049009F10109A9EB01090FFA89F90EFBE2 +:1084D00008C2059800EB42020592B7F90220B6F9EE +:1084E0001200121AAEEB020ECB1AACEB030309FB1F +:1084F0000E33079A02EB43030693244B9847064634 +:10850000012C1BD0BAF1FA0F00F2C580089B002B9A +:108510007FF7B7AE4FEA48030A934FEA49030B933C +:10852000099B049A013A04925B000D934FF0000BF3 +:10853000CDF81CA00C95DDF8189036E3036A5BB308 +:108540000EA8144B9847F02826D9BDF93A50BDF92A +:108550003E309D423FF795AE4FEA48084FEA490941 +:10856000DDF814B0069FCDF800A0099B3A465946A5 +:108570003046346AA047C3444F440135BDF93E300C +:108580009D42F0DD7DE600BF01150100515F000056 +:10859000C50F0100E5140100BAF1FA0F10D8089BCD +:1085A000002B7FF76EAE4FEA480304934FEA490968 +:1085B000099B4FEA430B4FF00008CAF1FF0E26E07B +:1085C000089B002B7FF75DAE099A56004FEA4808DA +:1085D0004FEA49090024664D9B46059FDDF818A027 +:1085E000324651463846A8474744CA440134A34559 +:1085F000F6D146E6059B049A13440593069B4B442B +:10860000069308F10108089B43453FF43AAE002D5C +:10861000F0DD069B1F46059C03EB0B0C7B78DB080B +:108620006278D2080EFB02F20AFB032303EB03225B +:1086300003EBC213C3F3C4533A88C2F34512218833 +:10864000C1F345110EFB01F10AFB021202EB0221FC +:1086500002EBC112C2F3C55217F8021B01F01F0151 +:10866000207800F01F060EFB06F60AFB016101EB05 +:10867000012601EBC611C90D61F3040020702188A9 +:1086800062F34A112180090A63F3C7016170023461 +:10869000BC45C3D1AEE7099B043B0A93089B002B62 +:1086A0007FF7EFAD4FEA48030C934FEA49030D9370 +:1086B0000023079365E3B8F80030AEF80030634656 +:1086C00001318D4200F0478308F102080EF1020EDD +:1086D0001CF0030F00F02D831CF8014B002CEED092 +:1086E000FF2CE8D0C4F1FF0698F80130DB089EF8B3 +:1086F0000120D20806FB02F204FB032303EB032252 +:1087000003EBC213C3F3C453B8F80000C0F3451021 +:10871000BEF80020C2F3451206FB02F204FB002063 +:1087200000EB002200EBC210C0F3C55098F8002007 +:1087300002F01F029EF8007007F01F0906FB09F601 +:1087400004FB026202EB022402EBC412D20D3C468F +:1087500062F304048EF80040BEF8002060F34A1271 +:10876000AEF80020120A63F3C7028EF80120A6E7D4 +:108770003D26010034F8065C20F8065C34F8045C01 +:1087800020F8045C34F8025C20F8025C258805803F +:1087900004310433083408308E4540F347811A46CB +:1087A00053F8045C002DF3D0B5F1FF3FE2D013F88D +:1087B00004CCBCF1000F47D0BCF1FF0F00F02481C6 +:1087C000CCF1FF0914F8055CED0810F8056CF6080B +:1087D00009FB06F60CFB056505EB052605EBC61542 +:1087E000C5F3C45534F8066CC6F3451630F8067C5C +:1087F000C7F3451709FB07F70CFB067606EB0627C0 +:1088000006EBC716C6F3C55614F8067C07F01F071B +:1088100010F8068C08F01F0B09FB0BF90CFB0797EF +:1088200007EB072C07EBCC17FF0D67F3040800F8E4 +:10883000068C30F8067C66F34A1720F8067C3F0A5F +:1088400065F3C70700F8057C12F803CCBCF1000FF4 +:1088500047D0BCF1FF0F00F0DC80CCF1FF0914F829 +:10886000035CED0810F8036CF60809FB06F60CFB38 +:10887000056505EB052605EBC615C5F3C45534F8AB +:10888000046CC6F3451630F8047CC7F3451709FBA2 +:1088900007F70CFB067606EB062706EBC716C6F3B2 +:1088A000C55614F8047C07F01F0710F8048C08F074 +:1088B0001F0B09FB0BF90CFB079707EB072C07EBCA +:1088C000CC17FF0D67F3040800F8048C30F8047C23 +:1088D00066F34A1720F8047C3F0A65F3C70700F8DF +:1088E000037C12F802CCBCF1000F47D0BCF1FF0FA3 +:1088F00000F09480CCF1FF0914F8015CED0810F849 +:10890000016CF60809FB06F60CFB056505EB052670 +:1089100005EBC615C5F3C45534F8026CC6F345160D +:1089200030F8027CC7F3451709FB07F70CFB067606 +:1089300006EB062706EBC716C6F3C55614F8027CED +:1089400007F01F0710F8028C08F01F0B09FB0BF94A +:108950000CFB079707EB072C07EBCC17FF0D67F312 +:10896000040800F8028C30F8027C66F34A1720F8FD +:10897000027C3F0A65F3C70700F8017C12F8018CFE +:10898000B8F1000F3FF404AFB8F1FF0F4BD0C8F1BE +:10899000FF096578ED084678F60809FB06F608FB3E +:1089A000056505EB052605EBC615C5F3C4552688F8 +:1089B000C6F345160788C7F3451709FB07F708FBF9 +:1089C000067606EB062706EBC716C6F3C5562778CC +:1089D00007F01F0790F800C00CF01F0A09FB0AF906 +:1089E00008FB079707EB072807EBC817FF0D67F38E +:1089F000040C80F800C0078866F34A1707803F0A16 +:108A000065F3C7074770C3E634F8065C20F8065CD8 +:108A10001AE734F8045C20F8045C62E734F8025C7E +:108A200020F8025CAAE725880580B1E60B9D8D42FF +:108A300040F39481561E4FEA410C069B03EB0C0851 +:108A4000059B9C440BE0B8F80030ACF800300131D5 +:108A500008F102080CF1020C8D4240F37F8116F8F8 +:108A6000014F002CF3D0FF2CEDD0C4F1FF0798F894 +:108A70000130DB089CF80120D20807FB02F204FB5E +:108A8000032303EB032203EBC213C3F3C453B8F86D +:108A90000000C0F34510BCF80020C2F3451207FBEC +:108AA00002F204FB002000EB002200EBC210C0F336 +:108AB000C55098F8002002F01F029CF800E00EF06C +:108AC0001F0907FB09F704FB027202EB022402EB09 +:108AD000C412D20D744662F304048CF80040BCF852 +:108AE000002060F34A12ACF80020120A63F3C702B8 +:108AF0008CF80120ABE702370236474545D01CF819 +:108B0000011F0029F7D0F9299ABF01FB0AF1C1F32F +:108B10000724079CC4F1FF057B78DB087278D20834 +:108B200005FB02F204FB032303EB032203EBC21356 +:108B3000C3F3C4533A88C2F345123188C1F34511D7 +:108B400005FB01F104FB021202EB022102EBC11250 +:108B5000C2F3C552397801F01F01307800F01F0EC2 +:108B600005FB0EF504FB015101EB012401EBC411DF +:108B7000C90D61F304003070318862F34A1131800D +:108B8000090A63F3C7017170B5E7059B0A9A13449C +:108B900005930B9B99440BF1010B049B099A134419 +:108BA0000493089B5B453FF46CAB0C9B002BECDD06 +:108BB0004F46059E0D9B09EB0308DDF810C09EE7AC +:108BC000012D49D0022D3CD1DFF8E081B6F91030FB +:108BD0000993B08A0130C01A00B2B7F90020BB88EF +:108BE00001339B1A1DB2F1460EFB00FB059B03EB04 +:108BF0004B0BB7F90230B6F912609F1BAEEB0707BB +:108C000005FB07F7079B03EB4707012C27D0049BC5 +:108C1000A3EB0C031A46A7EB4C030493089B9E4559 +:108C20003FF72FAB430007936B000893CDF814A0D8 +:108C30004B1C06995B1A1BB20993CDF818A09246FB +:108C400066E0564B0093564B40F253325549022092 +:108C5000554CA047FFF715BBDFF85481B6E7099BD9 +:108C60009B1A07EB4307089B9E453FF70AAB43005F +:108C700004936B0005933B4647469846BDF9383050 +:108C80001C46BDF93C20934210DC5B000BEB030556 +:108C900008EB03065246298836F8020BB84725F838 +:108CA000020B0134BDF93C309C42F3DD049B9B4434 +:108CB000059B984409F10109BDF93E309945DDDD78 +:108CC000FFF7DFBA013502360234BDF93C309D4270 +:108CD0000FDC17F8013B002BF4D0F92B9DBF069A4F +:108CE0005343C3F30722059A31882088C047308058 +:108CF000E8E7079B9B44099B9A44049B089A13440A +:108D0000049309F10109BDF93E3099453FF7B9AA2D +:108D1000BDF938301D46BDF93C209342E9DC0AEB31 +:108D200003075B000BEB0306049AD418D1E7049BFE +:108D300000210A9A8A420ADD0433C81C4000069AC0 +:108D40001418059A10440B95DDF828E027E51A461B +:108D500070E6049B00210A9A9142EDDB059B0C9A78 +:108D600013440593049B099A13440493069B0D9A9C +:108D700013440693079B01330793089A9A423FF4E2 +:108D800080AA002DE5DD049A12F0030FCFD0DDF8A4 +:108D90001880DDF814E0944600219DE4784C020030 +:108DA0003C4C0200484C020045220100877600003E +:108DB000D17500002DE9F04FBDB01B9023911746EF +:108DC00008939DF818310A939DF81C3106934B1EA9 +:108DD000C81D3AAA13F8011F02F8011B8342F9D1FA +:108DE000A34B9847A34B98471890018ABDF8E830E9 +:108DF0005B1AADF8E830428ABDF8EA309B1AADF84C +:108E0000EA30BDF8EC305B1AADF8EC30BDF8EE306E +:108E10009B1AADF8EE30984B9847199030B9089AE4 +:108E200053881BB91389B3F5807F71D0069B002B43 +:108E300014BF4FF0030B4FF0020B1B990B46B1F917 +:108E400000208D880135AD1A2DB2BDF9EA00189EBB +:108E5000B6F91210D846BDF9E840B6F91060B3F97A +:108E600002305B1AC31A921BA21A05FB032303FBF1 +:108E70000B731493A4B2A21992B2ADF89820BDF866 +:108E8000EC3001331B1B9BB21CB21694013B134404 +:108E9000ADF89C3080B243181BB2ADF89A30ADF8F3 +:108EA0009E30BDF8EE600136361A36B208994B880E +:108EB000002B40F053830B89B3F5807218BF012259 +:108EC0000592199A002A40F07083B3F5807F40F034 +:108ED00049830A9B23B98B7A13B9069B002B31D1A6 +:108EE0003AA8664B9847B0F5F07F40F2AC804FF45B +:108EF0007070634CA0471A904FF4F070A047179021 +:108F0000482128A85F4B98474FF4F0731C93E4E086 +:108F10000A9B002B8AD1069B8BB9937A13B14FF031 +:108F2000020B8AE7937B029313780193012300934A +:108F300000233A461B992398534CA0470BE34FF06C +:108F4000030B7AE73AA84D4B9847B0F5F07F14D859 +:108F50003AA84A4B984781464FEA4900484CA047F7 +:108F600082464846A04704460596002E4FDD08FB82 +:108F700005F80025AC46149E25E04FF4F079EBE7A8 +:108F80005B44023796450AD0997802F8011B002904 +:108F9000F6D05878197801EB00213980F0E7464483 +:108FA000BDF8EC300133BDF8E8209B1A0CFA83F3CE +:108FB000994514D9BDF89E300133ADF89E30013586 +:108FC000059B9D4223D0169B002BE8DD04EB0C0291 +:108FD0000AEB4C079C4404EB0C0E3346D4E7089A8A +:108FE000937B029313780193022300932346524606 +:108FF00026A92398244FB847BDF89E3001331BB2F1 +:10900000ADF89A30ADF89E304FF0000CD7E7BDF9BF +:109010009E30BDF99A209A420FD0013BADF89E30A8 +:10902000089A937B029313780193022300932346BB +:10903000524626A92398144DA8472046134CA04712 +:109040005046A04787E23AA80C4B98471C901C9BBF +:1090500058000B4CA0471A901C98A0471790482125 +:1090600028A8084B9847059B002B36D091E200BFFB +:10907000515F0000C50F0100ADBE0000E514010006 +:10908000252901001F2B01006982000059250100DC +:10909000052208984388ADF8AC300389ADF8AE30AE +:1090A0002897ADF8A4501B99CB88013349885B1AE7 +:1090B000ADF8A6308DF8B2208388ADF8A830C3880B +:1090C000ADF8AA308389ADF8B030C37BC3F3000399 +:1090D0008DF8B33028A8934B98470898837ADA43E1 +:1090E000D2B2129203B39BB2427BD20802FB03F2CC +:1090F00010928289C2F3451202FB03F21192027BA5 +:1091000002F01F0202FB03F31393069B8BB90A9B29 +:1091100053BB089A538853BB1389B3F5807F14BFA0 +:10912000022301231D9306E0002313931193109350 +:10913000EBE702231D93199BE3B9189BB3F9123097 +:10914000BDF9EA2013441B9AB2F902209B1A22931C +:109150001F96002E40F3E48108FB05F31E930023C5 +:109160000E930F93D14654E102231D93E3E70223AC +:109170001D93E0E71C9917986B4B9847DDE70C9B14 +:109180002B441BB2BDF9A8209B1ABDF9AA200D994A +:109190008A1ABDF8AE10B1F5807F56D0BDF9AC107B +:1091A000002965D1BDF8D610319C01FB034309931A +:1091B000329B01FB02330B93099B1F12BDF9A430B4 +:1091C0009F4280F2AB80002FC0F2A8800B9A12124F +:1091D00010461592BDF9A620904280F29F8000288B +:1091E000C0F29C809DF8D42012F0040F6AD0289918 +:1091F00012F0020F55D103FB00735A00881811F8C2 +:1092000013308DF8B43043788DF8B53002219DF8D5 +:10921000D43013F0010F0DD0209B6FF3040343F4FF +:10922000FC636FF3CF23ADF88030BDF8B4009BB280 +:10923000984273D09DF8B330002B59D19DF8B630C9 +:109240008AF80030BDF8B43086E03498339900FBDA +:1092500003F401FB1247319C04EBE714099400FB73 +:1092600002F201FB0323329A02EBE3130B93A3E711 +:10927000BDF8D61001FB03F301FB02F234993398D9 +:1092800001FB03F400FB1247319C04EBE734099423 +:1092900001FB02F200FB0323329A02EBE3330B9350 +:1092A0008AE7159A03FB027303EB43028B18895C70 +:1092B0008DF8B41059788DF8B5109B788DF8B630CC +:1092C0000321A4E739B2BDF95420BDF8B03025928E +:1092D00024912EA8154CA047ADF8B400259A2499E6 +:1092E0002EA8134B98478DF8B600002211468EE742 +:1092F000BDF82430ADF8D830BDF82C30ADF8DA30F8 +:10930000ADF8DC70BDF85430ADF8DE3038928DF831 +:10931000E41028A8074B984700288FD100238AF82B +:1093200000303DE035EB0000D52B010001E90000E5 +:1093300031EA0000E5ED0000E0070000FF238AF8B5 +:1093400000307278337803EB02239BB20A9A1AB189 +:109350003FF81C209A4236D0089A927AEAB1BDF8BA +:109360004820D90A109801FB0201C1F30421C3F37C +:109370004510119C00FB0240C0F3052003F01F03C1 +:10938000139C03FB0243C3F3072363F3040960F355 +:109390004A1961F3CF291FFA89F3079A22F8153089 +:1093A00001355E440AF1010A454510D0059B002BAA +:1093B0007FF4E5AE069B002BC0D0B3788AF800306E +:1093C000002BEDD0BDE700238AF80030E8E7169BBC +:1093D0000F9A9C18199B002B3ED1149B1E9A134484 +:1093E0001493BDF8EC300133BDF8E8209B1A04FA61 +:1093F00083F31C9A9A425CD9BDF89E300133ADF8D4 +:109400009E300F940E9B01330E931F9A934200F0EF +:109410008780189BB3F91030BDF9E82013441B9ADC +:10942000B2F900209B1A0C93169B9846002B11DD75 +:10943000179B19460F9A01EB020A1A9B194601EB7A +:1094400042030793149E0025229B0E9A13441BB2DD +:109450000D93ABE70F9CBDE70F9B179A13441E4675 +:10946000BDF8E810BDF8EC3001335B1ABDF8EA2016 +:10947000189D688A02440E980244288A01441BB24F +:1094800012B209B230464E4DA84728B102281D9AA3 +:1094900008BF02461D92A0E7BDF8EC100131BDF8EF +:1094A000E830C91A09B23046464B984702231D934B +:1094B00093E7089DAB7B02932B7801931D9B009350 +:1094C000179B1A9A26A923983F4CA047BDF89E30B7 +:1094D00001331BB2ADF89A30ADF89E30069B5BB9F4 +:1094E0000A9B83B96B888BB92B89B3F5807F14BF36 +:1094F000022301231D9301E002231D93199B43B90D +:1095000000230F937EE702231D93F7E702231D93A9 +:10951000F4E71C9917982D4B984700230F9371E798 +:10952000BDF99E30BDF99A209A420FD0013BADF8AB +:109530009E30089A937B0293137801931D9B0093AE +:10954000179B1A9A26A923981F4CA0471798204CBE +:10955000A0471A98A0473DB0BDE8F08F199B13BBF8 +:10956000012305933AA81B4B9847B0F5F07F7FF68F +:109570006AAD4FF47070184CA0471A904FF4F07019 +:10958000A0471790482128A80E4B98474FF4F07336 +:109590001C93069B002B7FF47BAD0A9B002B0CBF1A +:1095A0000422062275E5012305933AA8094B984742 +:1095B000B0F5F07F7FF647AD4FF4F0731C9346E5AE +:1095C00005BE00001F2B010069820000D52B0100A1 +:1095D00059250100E51401002529010070B59EB050 +:1095E00004460D46164609A80B4B98470B4B1B88A3 +:1095F000ADF8263009AA29462046094B984702A80B +:10960000084B984700230093334602AA2946204678 +:10961000054CA0471EB070BD51C20000A04C020016 +:1096200019C30000B59900000D9A000010B504465A +:1096300010210C4B9847237B6FF304032373A389FA +:109640006FF34A13A3811B0A6FF3C7036373FF23EE +:1096500023704FF480732381E37B43F00103E373B2 +:1096600010BD00BF1F2B010004380A2813D8DFE803 +:1096700000F00608060A0C0E100A0C0E100010204E +:10968000704718207047012070470220704704205F +:1096900070470820704700207047032805D002D388 +:1096A0000638042801D9002070470120704702388D +:1096B0000C2808D8DFE800F009070709070909099D +:1096C00009090909090000207047012070470000BE +:1096D0002DE9F04F8FB005460E463AB11C461046B4 +:1096E0001B78052B10D80FB0BDE8F08F844B00938A +:1096F000844B4D2284490220844CA047844A314641 +:109700002846844B9847EEE7A189834B9847074644 +:10971000002800F0B58090F80C9009F01F09484629 +:109720007E4B9847804648467D4B98478146BB69AB +:109730006BB17C4B00937C4BF72273490220734C36 +:10974000A047BA6931462846724B9847CBE73B6938 +:10975000002B49D06B1EE81D0AAA13F8011F02F85E +:10976000011B9842F9D163881BB92289B2F5807F29 +:1097700028D0EA8801326988521AA98801312888DC +:10978000091A201D0190208900901BB212B209B263 +:109790000AA8DFF8B8A1D0472A88BDF828301344BA +:1097A000ADF828306B88BDF82A101944ADF82A109E +:1097B000BDF82C100A44ADF82C20BDF82E2013441F +:1097C000ADF82E300AAA31460CA8584B984700280D +:1097D00089D03A69CDF80490CDF8008023460CA9D1 +:1097E0002846534CA0477EE72A46314608A84F4BEF +:1097F000984700283FF477AFBDF824300133BDF817 +:1098000020209B1A1BB2039303EB4300494B98475C +:1098100002900DF11F020AAB0CA812F8011F03F809 +:10982000011B8342F9D101210AA8434B9847BDF996 +:109830002030B5F90020BDF922A0B5F90210AAEB3D +:1098400001010846BDF926108A4555DCDFF8DCB079 +:109850009B1A1BB20593079506944446804623E065 +:10986000079D0498354B9847354B00932E4B4FF48A +:109870009A7225490220254CA0470298314B9847FF +:10988000284B00931F4B58221F4902201F4CA04712 +:109890001F4A314628461F4B984724E70AF1010A20 +:1098A000BDF926309A4527DC0AAA31460CA8D847CC +:1098B0000028F3D00497029B0093039B0FFA88F2D1 +:1098C00005993846204DA8470128C9D1CDF8049004 +:1098D0000094069B029A0CA90AA8154DA847BDF84A +:1098E0002A300133ADF82A30BDF82E300133ADF8FF +:1098F0002E3008F10108D1E70298124B9847F2E6A2 +:10990000F44C0200A44C0200C44C020045220100A9 +:109910000C4D0200DD950000E9F100009B9600006F +:10992000AF960000144D0200B04C0200011501007A +:10993000B58D000025290100DB1401001DFF00008A +:10994000284D020059250100F9FE00004DEC0000F1 +:1099500058B10278A2F12003DBB25F2B07D952B2D3 +:10996000002AB4BF02200020704703207047012066 +:109970007047A0F13003DBB2092B17D9602884BFF0 +:109980002038C0B2413805280ED8DFE800F01103B6 +:109990000507090B0B2070470C2070470D207047FE +:1099A0000E2070470F207047002070471846704700 +:1099B0000A20704710B504461C21124B9847FF231C +:1099C000237223786FF30403237023886FF34A1301 +:1099D00023801B0A6FF3C70363700B4B63604FF662 +:1099E000FF73E3812382A37843F01F03A37063888E +:1099F0006FF34A1363801B0A6FF3C703E3700023FE +:109A0000A37510BD1F2B0100100000202DE9F04FA1 +:109A1000D9B0629C157A052D01D91D7815B959B0B8 +:109A2000BDE8F08F0A9393460A460D9105461390C0 +:109A3000DBF804300593014656A8AA4B9847002846 +:109A4000EDD09BF8172012F0020F21D1AB88013323 +:109A50002A889B1A1BB2059AB2F908A0BBF90A9092 +:109A6000D1441399B1F900201F92B1F90200BBF95A +:109A700012201A92BBF91410421892B215B2002C9F +:109A80004AD000294BD1002814DB0E95002629E08E +:109A9000BBF90C30029247F618420192BBF90A203A +:109AA0000092DBF804200A993AA88F4DA847BDF927 +:109AB000E830D0E7A168081A80EAE071A1EBE07114 +:109AC000C9F50070B1EB400F05DD4FF0FF322260A9 +:109AD0000E95002606E02668002E23DB61680A4406 +:109AE00012B20E921BB219461093BBF90C209BF8D0 +:109AF000173000930B4605990A9830447B4DA847D0 +:109B000083192F46DFF8F8813146CDF81890D146F9 +:109B10000E9D26461C460FE00E950026E2E70E95A8 +:109B20000026DFE70E950026DCE721469AF8003094 +:109B3000002B3FF474AF044605EB09030D9AB2F90C +:109B40000220934220DA0A9B03EB040ABBF90C20A3 +:109B50009BF817300093109B05995046B847204456 +:109B6000069B1D442DB2002EDFD04545DDDB33685A +:109B7000002BDADA3460139AB2F90230EB1A736010 +:109B8000B2F90230B360D0E70E460794DDF81890C2 +:109B90000E959BF8172012F0040F2FD112F0080F2A +:109BA00045D19BF808300B93BBF80E70BBF8103012 +:109BB000194608939F4202D93B460F4608939BF8EB +:109BC000183013F0030F49D13DA8494B9847BBF813 +:109BD0000230ADF8F6300B9BFA2B88BFFF231693AB +:109BE0001FFA89F31793BDF8383011931F9D002396 +:109BF0001993BA46D846B34600F0D3BDBBF90C3032 +:109C0000A11B0092059A89B20A983044394CA047AA +:109C1000139A9388013312889B1A1BB2181A00EB0F +:109C2000D0701F9B03EB60031BB21F93B9E7BBF916 +:109C30000C300799891B0092059A89B20A98304422 +:109C40002C4CA047139A9388013312889B1A1BB29D +:109C50001B1A1F9A13441BB21F93A2E753A8264B4B +:109C60009847BBF80030ADF84C31DBF80430B3F95D +:109C700008300533214A82FB0312DB17C3EBA20332 +:109C8000ADF84E319BF808308DF854319DF85531C0 +:109C90009BF8192062F301038DF8553194E70025F4 +:109CA000AAE00025A8E0069B2BB9BDF8483119931E +:109CB000012306938AE0069B012B00F0F185022B1D +:109CC00000F03385B8F80060B5E0202C7ED1529BBF +:109CD000199A9B1A072B15D0B8F800300C93022361 +:109CE000069373E00115010065400100993D0100F4 +:109CF00051C20000C53F0100C9A800006766666642 +:109D000000FCFFFF099B9818431E05303AAA13F880 +:109D1000011F02F8011B8342F9D19DF8E8008C4C29 +:109D2000A04705469DF8E900A04700EB05159DF802 +:109D3000EA00A04706469DF8EB00A04700EB061698 +:109D40009DF8EC00A04707469DF8ED00A04700EB0A +:109D50000713C3F3C4032E9A63F304021346C6F336 +:109D6000850666F34A13C5F3C40565F3CF23ADF842 +:109D7000B8309BB20C930223069327E0ADF8E8A01D +:109D80000E9AADF8EA20B8F80C30013B5344034476 +:109D9000ADF8EC30179B013B1344ADF8EE303DAA13 +:109DA0000D993AA86B4B984756E06B4B00936B4B61 +:109DB00040F297126A4902206A4CA047002F05DD45 +:109DC000B8F80C3053443B440FFA83FA5299079B7E +:109DD000A3EB0B038B4240F2AC844FF6FF73994523 +:109DE0003FF45DAF089A9A423FF45BAF59440A983A +:109DF0005D4B1B68984785B25C4E336852A9099F3A +:109E000038469847044633680021529838449847AA +:109E100098F8173013F0010F06D0232C3FF443AF0E +:109E2000069B012B3FF451AFB8F800600C9B069ADB +:109E3000022A08BF1E460246214605984C4B984709 +:109E400007464FF6FF73994506D00899994203D00B +:109E5000A94501D8A94291D80B9B042BAED9059BEB +:109E6000002BA2D098F819300F93002322463AA96C +:109E70000598404DA84758B91F2C9FD93E4B0093D9 +:109E8000364B40F2A11236490220364CA04795E7E6 +:109E9000BDF8EC201AB9BDF8EA30002B8ED0BDF920 +:109EA000EE505544BDF8EA302B440D98B0F900103F +:109EB0008B4283DBB0F904309D423FF77FAF059BB7 +:109EC000B3F90810B3F90A30CB1A0E990B44991A5A +:109ED000BDF9F030CB1A15931A44B0F902309A420A +:109EE000FFF66CAFB0F90630159999423FF766AFAF +:109EF00021460598214B98478646F0B1059B1B7B70 +:109F000013F0030F00F05E822BB21893BDF95430AA +:109F10001D939DF8F2301293032B00F0FF80013B5C +:109F2000072B00F20281DFE813F00A012D00000187 +:109F3000FB000001000100011101114B0093074BD0 +:109F400040F2B71206490220064CA04736E700BF90 +:109F50007399000019C30000D04E0200604E020049 +:109F6000A04E02004522010064000020580000209D +:109F70004900010041000100F04E020039000100DB +:109F8000184F0200C0231B93AC4B2093BDF8EA305E +:109F90001E93BDF8EC10129A02FB03F20D9BB3F96D +:109FA0000030189C9C42BABF1B1B03EB43030023E9 +:109FB00027930D9BB3F904301E980446A04880FBFC +:109FC0000440189C20449842C3BF1B1B013303EB81 +:109FD00043031E9B14930D9BB3F902301D9C9C42BE +:109FE000B4BF1B1B002325930D9BB3F906301D9CAA +:109FF0000819984240F3B1801B1B0133289306F0E7 +:10A000001F032293C6F345132493C6F3C42323935B +:10A01000129B1846279B00FB03F3259800FB023296 +:10A020000EEBE206319602F007061E9801FB00F1E6 +:10A03000B1F5F07FA8BF4FF4F07129910846814C2B +:10A04000A047219029994800A04730907E4B98471F +:10A050007E4B9847B0F91040838A01331B1B19B21D +:10A0600026918168279B764A82FB03E2A2EBE3728A +:10A07000B0F912301D98C31A2698864618980EFB20 +:10A0800003031B1B259C0EFB0420034401EB43012F +:10A090001891ADB22A44ADF8E020149A964668496A +:10A0A00081FB0EE3A3EBE273013D2B44ADF8E430FA +:10A0B000159D25442BB2ADF8E230ADF8E630644B87 +:10A0C00098472A90289DAC4280F261811499279A82 +:10A0D0008C1A2B941E9D6B1A1344129901FB03F3E7 +:10A0E0002C93574A82FB0423C3EBE4732698034462 +:10A0F0005B002D93002326931593CDF8C8B0CDF8BF +:10A10000CC903497DDF86090DDF8C4B0CDF8C4A0F1 +:10A11000DDF8C0A0CDF8D4808846EAE0042312938D +:10A12000F0231B934B4B209330E74B4B00934B4B4F +:10A1300040F27A224A4902204A4CA0473EE60123D7 +:10A14000129380231B93484B20931FE708231293FD +:10A15000FF231B93454B209318E728914FE7B8F155 +:10A16000080F04D0DBB2209AD25C00E0159A58ABFD +:10A170000B4403F8842C0131032928D0B44540F363 +:10A180009480129B43441E462EFA08FE0135149B10 +:10A19000AB4200F0908012969BF8003003EA0E026A +:10A1A000ACEB060322FA03F313F0FF02DED016989D +:10A1B000FF28D4D0B8F1080F0FBFDAB2DBB2209A73 +:10A1C000D25C169B03FB02F2C2F30722CFE79DF895 +:10A1D000DC109AF80130DB08C1F1FF00239A01FB83 +:10A1E00002F200FB0323C3F304231D939DF8DE302A +:10A1F00018939AF8002002F01F02C3F1FF00229B7F +:10A20000189C04FB03F300FB0232C2F304231E93E9 +:10A210009DF8DD00BAF80030C3F34514C0F1FF0328 +:10A22000249A00FB02F203FB0423C3F30523F9B9CC +:10A23000F0B9189AE2B9219AD1551DE04C4D0200AF +:10A240005655555525290100515F0000C50F0100E5 +:10A25000ADBE0000504D0200484F0200704E02009B +:10A26000A04E020045220100484D0200604D020050 +:10A27000219A4FF0FF31D15509EB470019F817101B +:10A280001E9A62F3040109F8171039F8172063F3D6 +:10A290004A1229F81720120A1D9B63F3C702427065 +:10A2A00001370AF1020A002168E70BF1010BDDF822 +:10A2B0006CE0159E6AE75346CA4699462A9B4BBBFB +:10A2C0002B9B3B44299A9A4241DDBDF8E63001338D +:10A2D000ADF8E63026972C9B1E440BEBE60B06F000 +:10A2E00007062D9B9944259B01332593289A934279 +:10A2F00044DA1B9B23FA06FE279D149A954207DA3F +:10A30000269F0021C8F1080C4B46D1469A4642E7E9 +:10A31000269FD3E7269B219A13441C46BDF9E010E3 +:10A32000BDF8E43001335B1A1BB2BDF9E6202046CC +:10A33000AB4DA8470028C3D1BDF8E4100131BDF8EA +:10A34000E030C91A09B22046A64B9847B8E70F9BE0 +:10A350000293169B019302230093219B524638A936 +:10A360000D98A14CA047BDF8E63001331BB2ADF803 +:10A37000E230ADF8E63000232693ACE7DDF8C8B054 +:10A38000DDF8CC90349FDDF8C4A0DDF8D480BDF9B1 +:10A39000E630BDF9E2209A420ED0013BADF8E6303E +:10A3A0000F9B0293169B019302230093219B309AEB +:10A3B00038A90D988C4CA04721988C4CA047309818 +:10A3C000A047FBE42CB2BDF95400ADF88C609DF8B9 +:10A3D000F2302093032B00F0C180013B072B00F2E9 +:10A3E000C580DFE813F0CD000800C300BD00C30046 +:10A3F000C300C300D5000423C02212927C4A2292DB +:10A400001699F9292BD87B4A92F800218A4200F04C +:10A41000C880D3B1229E721E76490139013B06EBFA +:10A42000030C169B1E46CDF850B09B4612F8013F18 +:10A43000FF2B1ABF0BFB03F3C3F30723334601F8CB +:10A44000013F9445F2D1DDF850B06A4B9DF8582099 +:10A4500083F80021209AC3F804211C9B2293BDF8A5 +:10A46000EA302493BDF8EC20209901FB03FC0D9BFE +:10A47000B3F900309C42B4BF1B1B002314930D9B07 +:10A48000B3F90430249921449942C6BF1B1B013300 +:10A49000249B25930D9BB3F902309842B4BF1B1A3D +:10A4A000002326930D9BB3F9063011189942C3BFC0 +:10A4B0001B1A01331B931B92149B2193209903FBBE +:10A4C00001F4269800FB0C440EEBD40604F00704BC +:10A4D000249902FB01FE7246BEF5F07FA8BF4FF43F +:10A4E000F0721D921046444B98471890ADB2149BE1 +:10A4F000EB18ADF8E030013D259AAB18ADF8E4302B +:10A50000159D269805442BB2ADF8E230ADF8E63043 +:10A510003A4B98471E902099C1F10805249A149B44 +:10A52000D318259A9B1A01FB03F3209326981B9BB3 +:10A53000984280F2DF804FF0000ECDF890B0CDF859 +:10A54000989027970F461595CDF8A0A0DDF894A018 +:10A550008146CDF89480DDF888807AE0042320934A +:10A560001023F0221292264A229249E7254B0093AB +:10A57000254B40F2E51225490220254CA0471DE459 +:10A5800001232093022380221292224A229237E74B +:10A59000082320934FF48073FF2212921E4A2292C6 +:10A5A0002EE7144AD2F80421209991427FF431AF6A +:10A5B0004BE701361298002401318C452ED03378B8 +:10A5C00003402A1BD34013F0FF0F1ABFDBB218F869 +:10A5D000033000230B70A542EBD93C44F840EBE775 +:10A5E00005BE00001F2B01006982000059250100F3 +:10A5F0004C4D0200502A002025290100ADBE00006C +:10A60000504D0200704F0200844E0200A04E020026 +:10A6100045220100484D0200604D020015951E9B29 +:10A6200053BB149BAAEB03035B441D9A9A423FD988 +:10A63000BDF8E6300133ADF8E630DE46209B1C4421 +:10A6400006EBD40604F0070409F101091B9B9945A8 +:10A6500047DA129B23FA04F0149B53450ADA189A3E +:10A6600002EB0E01219BAAEB030BF34402EB0B0C54 +:10A67000159DA4E7F346D2E7189B7344184622932E +:10A68000BDF9E010BDF8E43001335B1A1BB2BDF92F +:10A69000E620854DA8470028C3D1BDF8E41001315C +:10A6A000BDF8E030C91A09B22298804B9847B8E744 +:10A6B0000F9B0293FF23019302230093189BBDF885 +:10A6C0008C2038A90D98DFF8E8B1D847BDF8E630FE +:10A6D00001331BB2ADF8E230ADF8E6304FF0000EBA +:10A6E000ACE7DDF890B0DDF89890279FDDF8A0A0EA +:10A6F000DDF89480BDF9E630BDF9E2209A420FD032 +:10A70000013BADF8E6300F9B0293FF230193022338 +:10A710000093189BBDF88C2038A90D98644CA04775 +:10A720001898644B9847FFF749BB00230693FFF73F +:10A730004DBB5346CA46994698F8183013F0020F9D +:10A7400046D198F8183013F0010F62D10A9A079D8C +:10A750005619B8F90C2098F817300093109B0599FA +:10A760003046554CA0474419139BB3F9005098F854 +:10A77000172012F0040F6CD112F0080F7ED10E9B3F +:10A7800017990B441BB2119A0A4492B21192DDF848 +:10A790001CB00E930D9AB2F906209A42FFF63FA91B +:10A7A00007940A9A13465B44099312F80B30002B66 +:10A7B0003FF435A91A9B1D440FFA85F900235293E3 +:10A7C00006933E4B1C934B46D1469A46FFF7FEBA82 +:10A7D000BDF87C30ADF8E030D8F80430B3F908307B +:10A7E00003EBD372BDF94E3103EBD3735B1003EB74 +:10A7F0006203119A13441BB2ADF8E230ADF8E89051 +:10A80000ADF8EA3053AB0D9A3AA938A82C4CA047C2 +:10A8100097E7BDF87C30ADF8E030D8F80420BDF9FA +:10A820004E3103EBD3735B10013311890B44528912 +:10A830009B1A119A13441BB2ADF8E230ADF8E890C0 +:10A84000ADF8EA3053AB0D9A3AA938A81C4CA04792 +:10A850007CE7B8F90C300092059A01463046194E53 +:10A86000B047139A9388013312889B1A1BB2181AA7 +:10A8700000EBD07005EB60052DB280E7B8F90C3025 +:10A880000092059A014630460E4EB047139A9388BF +:10A89000013312889B1A1BB2181A05442DB26EE7B9 +:10A8A00000230693FFF70EBA05BE00001F2B010020 +:10A8B0003977000059250100993D0100502A0020F8 +:10A8C000F9A80000C53F010010B504460A21094B54 +:10A8D000984701236380FF23237223786FF30403D7 +:10A8E000237023886FF34A1323801B0A6FF3C70377 +:10A8F000637010BD1F2B01002DE9F04FCBB0B3F9F1 +:10A900000250002D00F018841C7A052C40F21484AB +:10A91000B0F90060B1F90070BE4200F030811C4611 +:10A92000964608920791069005EBD575C5F34F053D +:10A93000BE42D4BFC5EB0603C5EB0703ADF820311B +:10A94000BE42ACBFAB19EB19ADF824310F46B1F9DB +:10A9500002200646B0F902309A42D4BFC5EB02018C +:10A96000C5EB0301ADF822119A42ACBFAD18ED184A +:10A97000ADF82651724648A90846AB4B98470028C7 +:10A9800000F0DA83B6F90260B7F90250AE4200F087 +:10A99000FE80069BB3F900301A460593079BB3F976 +:10A9A00000A0524500F00182AE4206DB33462E463F +:10A9B0001D46059BCDF814A09A46059BAAEB030300 +:10A9C0000993AA1B0A92002BB8BF5B429B46002A40 +:10A9D000B8BF52429046B4F902909342C7BF5301A8 +:10A9E00093FBFBF34FEA4B1393FBF2F38F4AD35CD9 +:10A9F00009FB03F909F13F094FEAE9131F469BB22E +:10AA000005988245D4BFC3EB0A02C3EB0002ADF840 +:10AA100038208245ACBF03EB0A021A18ADF83C207F +:10AA2000B542D4BFC3EB0502C3EB0602ADF83A2032 +:10AA3000B542ACBF5B199B19ADF83E3048AA0EA9D0 +:10AA40000846794B9847002800F072834FEA29297D +:10AA500007F001034B440B93C34540F3B682099AB8 +:10AA6000002A40F38E821FFA86FB1FFA89F31FFA31 +:10AA700085F9ABEB030200210191A9EB03031BB2A3 +:10AA80000093534612B2059912A8694FB847BDF812 +:10AA90002C800BEB080201230193C1440FFA89F3C8 +:10AAA0000093534612B205991DA8B847002112A879 +:10AAB000DFF89C81C0470B9000211DA8C0470C9077 +:10AAC000637A13F0100F00F0A4824FF0FF330D9360 +:10AAD0000A93584B9847584B98478246068ABDF8C8 +:10AAE0003850AD1BAAB2ADF83820408ABDF83A10F4 +:10AAF000091AADF83A10BDF83C309B1B9BB2ADF87B +:10AB00003C30BDF83E10091AADF83E105D1CAD1A80 +:10AB10002DB20EA8494B9847B0F5F07FC0F0A28245 +:10AB20004FF4F07B5846464B98478146BAF81030B0 +:10AB3000BDF838201A4412B20592ADF84020BDF895 +:10AB40003C201344ADF84430BDF83A30BAF8122036 +:10AB500013441BB2ADF84230ADF846305946394B7C +:10AB60009847BAF91220BDF93A601644BDF93E3053 +:10AB700013449E4200F3B98200270994A0E2B0F981 +:10AB800002E0B1F90240A6457FF4C9AED4E294F8E0 +:10AB90000890284B9847284B98470746B4F902304D +:10ABA000013B5E1003F001039D19B4F90630002B40 +:10ABB00035D0B4F9048018F1000818BF4FF001082F +:10ABC000214B984770BB88F00102079BB3F9003016 +:10ABD0000699B1F9001018468B42A8BF0846ADF897 +:10ABE000A0008B42B8BF0B46013BADF8A4300699DC +:10ABF0004B885D1BADF8A2503344ADF8A6304AB384 +:10AC0000637A03F003030293CDF8049001230093C9 +:10AC10000023228828A948A80C4DA84788E24FF0B5 +:10AC20000008CDE70022D0E7011501008C4F02009B +:10AC3000D1BE0000515F0000C50F0100E514010006 +:10AC400025290100D52B0100ADBE00003977000099 +:10AC5000A9BD000028AA48A91046A14B9847002882 +:10AC600000F06682BDF9A0E0B7F910108BB2AEEB30 +:10AC7000030292B20FFA82FCADF8A0C0BDF9A200A7 +:10AC8000B7F81290A0EB0905ADF8A250BDF9A46089 +:10AC9000F31A9BB2ADF8A430BDF8A650A5EB090598 +:10ACA000ADF8A65001339A1A15B2ADF8CCE0ADF864 +:10ACB000D060ADF8CE00ADF8D200B8F1000F1CD0D6 +:10ACC0006144B4F90620B4F904301A4491FBF2F35C +:10ACD00002FB13110BB20A9309952846814B984742 +:10ACE0008246BDF9A260BDF9A630B34259DBDFF858 +:10ACF0001092DFF808B2059535E00021EAE7B4F9D3 +:10AD000006E073449A42BABF0AF8001013460B4695 +:10AD1000013000B201331AB2854207DDB4F90430C4 +:10AD20009342ECDB1844801A00B2F1E7059502204B +:10AD3000637A03F003030293237A0193009053464E +:10AD4000228833A948A8D847BDF8CE300133ADF8E2 +:10AD5000CE30BDF8D2300133ADF8D2300136BDF976 +:10AD6000A6309E421DDC09995046C8477A8A324473 +:10AD7000398ABDF8A0301944059B12B209B2504679 +:10AD8000594DA847B8F1000FD2D00028D0D0059B6C +:10AD9000002B04DD0A9A002001461D46BEE7022072 +:10ADA000C6E75046514B9847C2E194F80890504B83 +:10ADB0009847504B98478046B4F90250013D6F10B8 +:10ADC00005F001053D44B4F906302BB1B4F9046037 +:10ADD000003618BF012600E00026474B984710B9FF +:10ADE00086F0010200E0002206990B885D1BADF899 +:10ADF000A0501F44ADF8A470079BB3F90230B1F91D +:10AE0000021018468B42A8BF0846ADF8A2008B423C +:10AE1000B8BF0B46013BADF8A63072B1637A03F0C0 +:10AE200003030293CDF804900123009300232288AA +:10AE300028A948A8314DA8477AE128AA48A9104670 +:10AE4000274B9847002800F07381BDF9A000B8F89F +:10AE50001030C51AADB2ADF8A050BDF9A220B8F8B7 +:10AE60001270D11BADF8A210BDF9A410CB1A9BB281 +:10AE7000ADF8A430BDF8A6E0AEEB0707ADF8A670BC +:10AE800001335B1B1BB20993ADF8CC00ADF8D010B9 +:10AE9000ADF8CE20ADF8D2200A931846114B984752 +:10AEA000059076B1B8F91020BDF9A0703A44B4F914 +:10AEB0000630B4F904703B4492FBF3F703FB172709 +:10AEC00000E000273FB2BDF9A250BDF9A6309D4277 +:10AED00053DCDFF82C90DFF810A0DFF820B02CE076 +:10AEE000011501002529010005BE000059250100BA +:10AEF000515F0000C50F0100ADBE000039770000B2 +:10AF0000D52B010001373FB200230293237A01932E +:10AF10000090059B228833A948A8D847BDF8CE30B9 +:10AF20000133ADF8CE30BDF8D2300133ADF8D230B8 +:10AF30000135BDF9A6309D421FDC0A990598C84726 +:10AF4000B8F812202A44B8F81010BDF8A0301944FF +:10AF5000099B12B209B20598D047002ED4D0002820 +:10AF6000D0D0B4F90420BA42B8BF0020B4F90630FA +:10AF700013449F42A8BF0027C4E70598974B984702 +:10AF8000D6E01FFA86FBBDF82C80A9B20BEB0802B5 +:10AF9000002301930F4688440FFA88F30093534629 +:10AFA00012B2059912A8DFF83882C0471FFA89F358 +:10AFB000ABEB030201210191FB1A1BB20093534634 +:10AFC00012B205991DA8C04770E5BDF814B0BDF8D0 +:10AFD0002C801FFA8AF31F464344D8440022019272 +:10AFE00000951BB232460FFA88F112A8DFF8F08103 +:10AFF000C0471FFA89F9A7EB0903ABEB0909012246 +:10B00000019200951BB232460FFA89F11DA8C04784 +:10B010004CE5BDF82880BDF824900599A1EB080304 +:10B020000322019209EB060212B200921BB23246D1 +:10B0300028A86B4EB047AAEB08030222019209EB45 +:10B04000050212B200921BB22A46514633A8B047FD +:10B05000002128A8634DA8470A90002133A8A847DB +:10B060000D9036E50EA8604B984783465AE5294671 +:10B0700040465E4B98472DE0099A537A03F003034C +:10B080000293137A0193022300934B46128848A936 +:10B0900010A8574CA047BDF8463001331BB2ADF89D +:10B0A0004230ADF8463059464846524B9847002743 +:10B0B0000136BDF93E30BAF9122013449E4213DC2A +:10B0C00009EB07082B4632B2059940464A4CA04787 +:10B0D0000028CCD02F44EB199B45CDD9BDF8463084 +:10B0E0000133ADF84630E3E7099CBDF94630BDF9C0 +:10B0F00042209A4210D0013BADF84630637A03F00B +:10B1000003030293237A0193022300934B46228880 +:10B1100048A910A8364DA8474846304B98470B9889 +:10B12000364DA8470C98A8470A98A8470D98A847F5 +:10B13000637A13F00C0F02D14BB0BDE8F08F33A847 +:10B140002F4B98472388ADF8CE3047F6FF73ADF804 +:10B15000CC30237A8DF8D830B4F902305E1083F009 +:10B16000010303F00105637A13F0040F1CD1637A25 +:10B1700013F0080FE0D007990A88B6B2931BADF818 +:10B18000A03049888B1BADF8A230ABB23244D21A42 +:10B19000ADF8A4200E44F31AADF8A63033AA0899EE +:10B1A00028A8184B9847C7E706980288B3B2D11A67 +:10B1B000ADF8A0104088C11AADF8A210A9B21A4487 +:10B1C000521AADF8A42003445B1AADF8A63033AA96 +:10B1D000089928A80B4B9847C9E700BF59250100DB +:10B1E000D1BE0000A9BD0000E51401001F2B010025 +:10B1F00039770000D52B010005BE000055BE0000C8 +:10B2000051C2000019C300002DE9F041069CA58A37 +:10B21000521B12B2658A4D1B2DB2216A00294BD1F7 +:10B2200094F8281011F0010F16D0237C03F00303CB +:10B23000012B40F2DB81022B04D0032B06D000202F +:10B24000BDE8F0810132D00FBDE8F081002AD4BF03 +:10B2500000200120BDE8F081227C02F00302911E53 +:10B26000C9B2012940F2C581012A0CD0B2B9E9184E +:10B2700000F1C2816D42002DC0F2C181AB4207DCFA +:10B280000220BDE8F081002D08DD0120BDE8F0813D +:10B290002844CD4B98470220BDE8F081DD4200F103 +:10B2A000B181694221EAE1718B4240F3AE81C64B24 +:10B2B00098470220BDE8F08194F8286016F0010F4D +:10B2C0000FD1A76902FB07F18912002FCCBF01F152 +:10B2D000010E8E46754540F39880C6F34000BDE8E8 +:10B2E000F081E16905FB01F7BF12002906DD9742F5 +:10B2F00040F3B881C6F34000BDE8F081974280F288 +:10B30000ED81C6F34000BDE8F08186F00200C0F395 +:10B310004000BDE8F08186F00200C0F34000BDE8C7 +:10B32000F0810025D4E1F44688F800C0636AD21A9F +:10B3300001350136BD4249DA636A9A421DDD002DAE +:10B34000F4DBBD42F2DAA2EB6303DBB294F828C06F +:10B350001CF0020F1CBFDB43DBB2B04696F800C006 +:10B36000F92BE1D8052BDED903FB0CF303EB032CFF +:10B3700003EBCC13C3F3C75CD6E7BD4226DA002D3E +:10B3800024DBA36903FB02F39B1202FB03F2C2F36B +:10B390004722E369002BBCBFD243D2B294F82830D5 +:10B3A00013F0020F1CBFD243D2B24619435DF92AF3 +:10B3B0000BD8052A08D902FB03F202EB022302EBA9 +:10B3C000C312C2F3C75300E00023337094F828304F +:10B3D00013F0020F0AD08F42C0F21A810029C0F286 +:10B3E0001A81794B98470220BDE8F081013500F1C0 +:10B3F0001581BD4202DD0220BDE8F081791B2844A1 +:10B40000714B98470220BDE8F08105EB030E7145B2 +:10B4100005DD86F00200C0F34000BDE8F0811102B6 +:10B4200007FB01F14FEAA148C1F387210132120263 +:10B4300007FB02F24FEAA24CA8EB050EE04563D0F1 +:10B44000002F5BDBC1F1FF01E26902FB01F2951203 +:10B45000BEF1000F1CDB73451ADD05FB01F1C1F3E2 +:10B46000472216F0020F04BFD243D2B200EB0E0601 +:10B4700010F80E10F92A0AD8052A40F2A18002FB22 +:10B4800001F202EB022102EBC112C2F3C75131708B +:10B490001EF1010120D48B421EDDC5F1FF02A5691A +:10B4A00005FB02F5AD1202FB05F2C2F3472294F848 +:10B4B000285015F0020F1CBFD243D2B2455CF92AC6 +:10B4C00009D8052A7ED902FB05F202EB022502EB20 +:10B4D000C512C2F3C755455494F8282012F0020F44 +:10B4E00074D07345C0F2B280BEF1000FC0F2B180DB +:10B4F0007146354B98470220BDE8F081002940F0A5 +:10B5000000810EF1FF3EFF21BEF1000F1EDB7345EF +:10B510001CDDC2F387220A44C2F3470216F0020F71 +:10B520001CBFD243D2B200EB0E0610F80E10F92A5F +:10B530000BD8052A08D902FB01F202EB022102EB2B +:10B54000C112C2F3C75100E00021317094F82820E5 +:10B5500012F0020F0AD0ACEB05018B4261DD00292D +:10B5600062DB194B98470220BDE8F0810EF1010221 +:10B570009A42A8BF1A46002A59D0002A5ADD991AC1 +:10B580001044114B98470220BDE8F0810025DCE013 +:10B59000002500E1002950DD0B4B98470220BDE853 +:10B5A000F0810EF1010E73454ADBBEF1000F4ADB5C +:10B5B000A3EB0E017044044B98470220BDE8F081D4 +:10B5C000002164E7002586E71F2B01000EF102022F +:10B5D0009A42A8BF1A46002A3ED0002A3FDD991A97 +:10B5E0001044734B98470220BDE8F0810120BDE86C +:10B5F000F0810120BDE8F0810120BDE8F08100204C +:10B60000BDE8F0810020BDE8F0810020BDE8F081B8 +:10B610000020BDE8F0810220BDE8F0810020BDE8F7 +:10B62000F0810020BDE8F0810220BDE8F08100201B +:10B63000BDE8F0810220BDE8F0810220BDE8F08184 +:10B640000120BDE8F0810220BDE8F0810020BDE8C6 +:10B65000F0810220BDE8F0810020BDE8F0810220E9 +:10B66000BDE8F0811F462B4401FB03F1B2EBA12F93 +:10B670003FF74BAE1202A36903FB02F39B121912B0 +:10B6800013F0FF0339D0C3F1FF03626A02FB03F238 +:10B690004FEA222ECEF1FF02491B1AD4B94218DA22 +:10B6A0000EFB03F3C3F3472316F0020F04BFDB4383 +:10B6B000DBB24618455CF92B0AD8052B7FF631AE74 +:10B6C00003FB05F303EB032503EBC513C3F3C755D6 +:10B6D00035704D1C46194FF0000E2DE61F462B44C9 +:10B6E00001FB03F1B2EBA12FFFF615AE01321202FE +:10B6F000A36903FB02F39B12C1E74D1B2946FF22FE +:10B70000E8E7E269524201FB02F29212BEF1000F39 +:10B710001CDB73451ADD02FB01F1C1F3472116F072 +:10B72000020F1CBFC943C9B200EB0E0610F80E5041 +:10B73000F9290AD805297FF629AF01FB05F101EBAC +:10B74000012501EBC511C1F3C7553570BEF10101EB +:10B7500022D48B4220DDC2F1FF02A5696D4202FBBB +:10B7600005F5AD1202FB05F2C2F3472294F828500A +:10B7700015F0020F04BFD243D2B2455CF92A0AD8B1 +:10B78000052A7FF605AF02FB05F202EB022502EB6C +:10B79000C512C2F3C755455494F8282012F0020F81 +:10B7A0003FF4FFAE8B42BFF6F5AE0220BDE8F0815C +:10B7B0001F2B01002DE9F04F8DB0169DAE7C06F0D9 +:10B7C0000106B5F91080EC1D05F10F090DF1280EE9 +:10B7D00014F8017F0EF8017B4C45F9D1002E3DD1C4 +:10B7E000BDF92A40944200F32B82BDF92E409442C9 +:10B7F000C0F22A829B460F460290BDF9289008EBC2 +:10B800000903994206DB5944BDF92C30A3EB080328 +:10B8100099420BDDBDF92A3003EB08018A4253DB64 +:10B82000BDF92E10A1EB08018A424DDC86BBA9EBC5 +:10B8300007045C4500F30C82002C03DB21460298D0 +:10B840009F4B9847BDF92C00C01B0130002840F3E6 +:10B85000018283450DDCBCB10220F2E1BDF92A4032 +:10B86000944200F3F381BDF92E409442C2DA0120E4 +:10B87000E7E1ABEB0001029B03441846904B98476D +:10B88000002CE9D10220DCE18345E5D10120D8E19B +:10B89000A9EB070020EAE070584501DD0220D0E165 +:10B8A000BDF92C10C91B091A013143189B45B8BFBB +:10B8B000ABEB00010029C0F2CF81029B0344184684 +:10B8C0007F4B98470220BCE1BDF92CA09BB2BDF88C +:10B8D0002E100131C91A09B2D21A08FB08F30193DC +:10B8E00012B2904500F3D181A1EB0803013B9A42CB +:10B8F00000F3B4810220A4E16B8BADF81A302B8BDE +:10B90000ADF81830D6E1049A07A9019B00FB10306E +:10B910006C4B9847049A06A9019B04FB1430694BB1 +:10B9200098476C61BDF81A306B83BDF818302B83D3 +:10B93000D1E1BDF81E10002940F0D581013AADF8E3 +:10B940001C20FF22ADF81E20CDE1BDF81A20BDF865 +:10B950001E100A44C2F347020EB1D243D2B2A8EB82 +:10B960000303013BF91811D459450FDA0298405CE2 +:10B97000F92A09D8052A35D902FB00F000EB00248A +:10B9800000EBC410C0F3C750029C6054A9EB030342 +:10B99000013BDF1911D45F450FDA029BDB5DF92A09 +:10B9A00009D8052A20D902FB03F202EB022302EB9D +:10B9B000C312C2F3C753029AD355BEB1481C20EA42 +:10B9C000E0705F45D4BF391AABEB0001584580F2F7 +:10B9D00019810029C0F21681029B03441846384B96 +:10B9E00098470FE10020CFE70023E4E7594500F333 +:10B9F0002581002902DB0298314B9847013700F17D +:10BA00001D815F4500F3FE80ABEB0701029B3B44C9 +:10BA100018462B4B9847F5E0049A09A9019B08FBAF +:10BA20001830284B9847BDF82610BDF81A30C3F1DE +:10BA3000FF02C1F1FF0303FB02F3C3F347230EB977 +:10BA4000DB43DBB203980246002811DB58450FDACE +:10BA5000029C2018A25CF92B09D8052B29D903FBDD +:10BA600002F202EB022402EBC412C2F3C7520270CC +:10BA7000BAF1000F13DBDA4511DA029C04EB0A007D +:10BA800014F80A20F92B09D8052B14D903FB02F36B +:10BA900003EB032203EBC213C3F3C7520270039BF1 +:10BAA000013B03930AF1010AADF8221008F10108E5 +:10BAB0005EE10022DBE70022F0E7002739E000BF6B +:10BAC0001F2B01000523010000270EF80870013824 +:10BAD000013401311A46019DA94240D809EB1217E1 +:10BAE00001FB11A307FB07FCCCEB03234FEA470C38 +:10BAF00093FBFCF31F44C7F30F1C3F0107F0F00357 +:10BB00001A44C2F347020EB1D243D2B2002812DB6C +:10BB1000834510DD80461EF80070F92A09D8052AF1 +:10BB2000CBD902FB07F505EB052705EBC717C7F3D4 +:10BB3000C7570EF80870002CC9DBA345C7DDA04627 +:10BB40001EF80470F92AC0D8052ABDD902FB07F2F5 +:10BB500002EB022702EBC717C7F3C757B5E7DDF8BB +:10BB60001080DDF814A0EA43424403991144039184 +:10BB70000135AA44AAEB080AADF82230ADF824C07A +:10BB8000ADF82630BDF82230002B3AD0BDF81E208B +:10BB900003FB02F3C3F347230EB1DB43DBB2039A8B +:10BBA000002A12DB934510DD029801461144825CA5 +:10BBB000F92B09D8052B27D903FB02F202EB02204F +:10BBC00002EBC012C2F3C7520A70BAF1000F13DBC6 +:10BBD000D34511DD029800EB0A0110F80A20F92B79 +:10BBE00009D8052B12D903FB02F303EB032203EB65 +:10BBF000C213C3F3C7520A70039B013B03930AF1BC +:10BC0000010A2EB102201CE00022DDE70022F2E74B +:10BC100003990131594511DC002902DB0298604B80 +:10BC20009847BAF1000F09DBDA45EBDAABEB0A0112 +:10BC3000029B534418465A4B9847E3E7002000E024 +:10BC400000200DB0BDE8F08F0020FAE70120F8E7F2 +:10BC50000020F6E70020F4E70220F2E7B8F5807F45 +:10BC6000D4BF4FF400634FF400430493891AA8EB48 +:10BC70000100441C6B6998427FF445AE6B8BADF8B4 +:10BC80001E302B8BADF81C3044E6B8F5807FD4BF56 +:10BC90004FF400634FF400430493A8EB02046B6974 +:10BCA0009C423FF429AE049A06A9019B04FB143080 +:10BCB0003C4B9847631E049A07A90393019803FB22 +:10BCC0001300384B9847039B6B61BDF81E306B83A4 +:10BCD000BDF81C302B83BDF81830BDF81C20511E58 +:10BCE0008B423FF426AEA9EB07070AF1010AAAEB43 +:10BCF00009090FFA89F9BDF81C209A423FF425AED4 +:10BD00000133A8EB030807EB08030393A9EB08082A +:10BD100008F1FF3ABA4486B1581C20EAE070DA45CF +:10BD2000D4BFAAEB0001ABEB0001584505DA0029AE +:10BD300003DB029B18441A4B9847BDF8180000F12A +:10BD40000108049A08A9019B00FB1030154B984785 +:10BD5000BDF822303BB9BDF82030013BADF82030B2 +:10BD6000FF23ADF82230BDF820309C427FF754AE5F +:10BD7000BDF81C50A8453FF605AFBDF820904FEA2E +:10BD80000919BDF82220414654460398CDF8108089 +:10BD9000CDF814A0DDF804A00195DDF808E09DE6DB +:10BDA0001F2B01000523010010B582B0104B1B684A +:10BDB0009BB10F4A0123946884B10133DBB208328E +:10BDC000102BF8D10B4B00930B4B57220B49022041 +:10BDD0000B4CA0474FF0FF3007E00023044A42F825 +:10BDE000330002EBC302516018B202B010BD00BFB5 +:10BDF0006C6D00200C500200B04F0200DC4F0200BE +:10BE0000452201002DE9F04782B0114C2468ECB1C5 +:10BE10009A469146884607460D4E002500942468B0 +:10BE200053464A4641463846A047044650B1022888 +:10BE300008BF012556F8084F002CEFD1002D14BF84 +:10BE400002240124204602B0BDE8F0870124F9E76E +:10BE50006C6D0020B0F1FF3F0AD0064B53F8301054 +:10BE6000002243F8302003EBC0035A6008467047B5 +:10BE70000021FBE76C6D002070B40B4B1A1D03F121 +:10BE800080040026354603E008330832A34208D078 +:10BE900059688142F8D152F8046C42F8045C5D6044 +:10BEA000F2E7304670BC70476C6D002000231846E6 +:10BEB000064902E00133102B06D051F83320002A46 +:10BEC000F8D00130C0B2F5E7704700BF6C6D0020BC +:10BED0002DE9F04104460F4615469846BDF9186015 +:10BEE0002C214A4B9847B54205DD2B4635461E4668 +:10BEF0003B464746984627816581A4F80C80E68139 +:10BF0000237C9DF81C2062F3010323746782A582C1 +:10BF1000A8EB0707751B87EAE771A1EBE77185EAD4 +:10BF2000E573A3EBE5739942D4BF0021012194F896 +:10BF3000282061F3000284F828200021E161A1613A +:10BF4000334B2360217112F0010F25D03FB14FF424 +:10BF5000801393FBF7F305FB03F39B12E3613DB101 +:10BF60004FF4801696FBF5F507FB05F7BF12A761A6 +:10BF7000E3692362237C13F0030322D194F8283071 +:10BF80006FF3410384F82830236A9A10002BB8BF5E +:10BF900052426262BDE8F0813DB14FF4801393FBE1 +:10BFA000F5F307FB03F39B12A3613FB14FF4801835 +:10BFB00098FBF7F705FB07F5AD12E561A36923626E +:10BFC000D8E7012B0FD0022B14D0032BDCD1236A2E +:10BFD000002B94F82830CCBF6FF3410343F00203E9 +:10BFE00084F82830D0E794F8283043F0020384F82E +:10BFF0002830C9E7236A002B94F82830CCBF43F0DF +:10C0000002036FF3410384F82830BDE71F2B0100C2 +:10C0100009B2000070B4CC8801344D88641B8D884F +:10C0200001350E88AD1B24B22DB2AC42A8BF2C4600 +:10C030006410A242C8BF22B2013900F1100600F11B +:10C04000080411F8015F04F8015BB442F9D10282DF +:10C05000827C63F300028274054B03600223037148 +:10C060004FF00043436100234383038370BC704758 +:10C07000B5B700002DE9F04F8BB0069089460792C6 +:10C080004FEA610BCDF808B011F0010F06BF0BF1BC +:10C09000FF330893CDF820B0069C67003846694B03 +:10C0A00098470590002C40F3BE80BA1EC119039139 +:10C0B000079D4FF0000804F1FF3A0899AAEB01012F +:10C0C00004910646CDF824B09346CDF8049035F897 +:10C0D0000B3009FB03F3BAF1000F1BDB029A02EBF2 +:10C0E0000A01049A013A03984FF0000E20F8023D2D +:10C0F0008C42CCBF35F811C0F446A3EB0C03002AE8 +:10C10000B4BFB5F800C035F812C063440139013A34 +:10C11000B042EBD13A46314628464B4B98473D4416 +:10C1200008F10108A045D0D1DDF824B0079A1388A2 +:10C13000019993FBF1F31380069B03FB03F5012D9B +:10C1400011D9079A0121019E104632F8023F00885A +:10C1500098421CBF93FBF6F313800131A942F3D33D +:10C16000069B002B59DD079E0296089901FB07727A +:10C170006FEA0B035B1A069D05FB03F306936B1E28 +:10C1800005FB03F306EB430307934FF0000A931EEE +:10C19000089301F10109029B1E4602331A460293DD +:10C1A0003388019901FB03F308998D18059AA2F1D0 +:10C1B000020CE046B6460022CDF80CC00496069E5E +:10C1C000DDF81CC0002BACBF9911002128F8021F1C +:10C1D0001146A2EB0B000028D4BFBEF8000035F8D2 +:10C1E00016001B1A49448C42CCBF29883CF81A100F +:10C1F0000B440132BE443D44A242E3DBDDF80CC0F7 +:10C20000049E00233CF8022F328001333E44A342B7 +:10C21000F8DB0AF1010AA245BDDB05980B4B9847F4 +:10C220000BB0BDE8F08FCDF80490079A138893FB0C +:10C23000F9F9A2F80090069B03FB03F5012D80D8C5 +:10C24000EBE700BF252901003D260100592501002B +:10C2500010B5044654212D4B98472D4B1B88638005 +:10C2600023796FF304032371A3886FF34A13A38028 +:10C270001B0A6FF3C7036371A37B6FF30403A373FC +:10C28000E3896FF34A13E3811B0A6FF3C703E37378 +:10C2900094F834306FF3040384F83430A38E6FF3D2 +:10C2A0004A13A3861B0A6FF3C70384F8353094F84A +:10C2B00046306FF3040384F84630B4F846306FF329 +:10C2C0004A13A4F846301B0A6FF3C70384F84730BB +:10C2D000A37F6FF30403A377E38B6FF34A13E38326 +:10C2E0001B0A6FF3C703E377FF236381237323776D +:10C2F000237584F83630074A226384F84430226478 +:10C3000084F828300F23638210BD00BF1F2B01006B +:10C3100064500200100000202DE9F04FB1B0C48835 +:10C320004588631C5B1B1BB2002B41F30F80868882 +:10C33000B0F80080731CA3EB08031BB2002B41F381 +:10C340000580924604910690B2F92070002F00F00B +:10C35000198792F828300993052B40F21387136A46 +:10C36000012B00F0F680BAF82220BAF82630D11A54 +:10C3700088441FFA88F8ADF850801A441644B6B2C3 +:10C38000ADF85460BAF82420D11A0D44ADB2ADF81E +:10C39000525013441C44A4B2ADF8564007EBD77377 +:10C3A0006FEA630292B208EB0201ADF858105B101D +:10C3B00001339BB2F118ADF85C102A44ADF85A2055 +:10C3C0002344ADF85E30099BFB2B28BFFF23099364 +:10C3D000BE4B9847BE4B98478146049A16A918A8A9 +:10C3E000BC4B9847002800F0CD86B9F81010BDF876 +:10C3F00060305B1AADF86030B9F81220BDF86230D9 +:10C400009B1AADF86230BDF864305B1AADF8643049 +:10C41000BDF866309B1AADF86630069A531ED01DE3 +:10C420001AAA13F8011F02F8011B9842F9D1BDF8AE +:10C43000683001331FFA83FEADF868E0BDF86A107A +:10C44000013188B2ADF86A00BDF86C305A1EADF803 +:10C450006C20BDF86E104A1EADF86E20BAF90020AF +:10C46000A3EB0E031BB2091A09B28B42A8BF0B46FD +:10C470005B109342A8BF13460E930136A6EB080645 +:10C48000B6B233B20134641BA4B225B29D42A8BF38 +:10C490001D466D109542A8BF154607EB050909FB1F +:10C4A00009F040008C4B98470A90BAF920B02AB2A4 +:10C4B00002EB0B070DF14F0122AB0DF1900E11F8BD +:10C4C000010F03F8010B7345F9D10BEBDB71C1F3DD +:10C4D0004F014B1E1BF0010010900CBF01200020EB +:10C4E0001B1A2B449BB2ADF88C30013189B2ADF8E8 +:10C4F0008A109B1BADF888302144ADF88E100023C4 +:10C5000022A929A8754CA047BBF1010F02F0D881E0 +:10C510004FEA6B030B93079738466F4B98470C9085 +:10C52000002F5CDD079B4FEA430B07F10043013B03 +:10C530005B000A9C0025DFF8B8813AB20892CDF87A +:10C54000349005970C9E9946CDF83CA0DDF82CA0C0 +:10C5500014E0B2F92430002B7FF405AFB2F9263095 +:10C56000002B3FF700AF00F00DBE594620465C4B54 +:10C5700098475C440135059BAB422BDD079930465B +:10C58000C04729AB0093089B2AB200213046299F5F +:10C59000B8470028E9D0D64633789B0193FBFAF3DD +:10C5A0002380059B012BE4DD3146224604EB090084 +:10C5B0001F468C4611F8013F9CF800C09C450EBFF9 +:10C5C00013889B0193FBFEF3538002329042F0D11B +:10C5D0000597CEE7DDF834901F46DDF83CA00C98B7 +:10C5E000404B98470B9B012B02F04D813CB20A9EB9 +:10C5F00032460B9D294620463B4B9847109A2A44C9 +:10C6000011B2012922DD0D4633889B0193FBF1F322 +:10C6100032463380079800FB00F0012812D900F160 +:10C620000040013806EB400001E082420AD0164685 +:10C6300032F8023F36889E42F7D09B0193FBF5F318 +:10C640001380F2E70A9A2046274B984707FB07F723 +:10C6500057B10A990B464A1E01EB470033F8021BFB +:10C6600002F8011F8342F9D1BDF85A20BDF85E30AF +:10C6700001339B1A1BB203EBD37302EB63039BB230 +:10C680000F931BB20C93BDF85820BDF85C300133FA +:10C690009B1A1BB203EBD37302EB63039BB21093A1 +:10C6A0001BB20D93114B984720BBBAF92230002BD7 +:10C6B00040F0BC81BAF92430002B40F0BA81BAF9BD +:10C6C0002630B3FA83F35B09079315E0515F00004E +:10C6D000C50F0100011501002529010015C000004A +:10C6E0001F2B01005925010075C00000ADBE0000E0 +:10C6F000D52B010000230793BDF85C000130BDF885 +:10C700005830C01A00B2C24B9847059001230E9AC8 +:10C710001AA929A8BF4CA047002129A8BE4B9847B9 +:10C720000E90BDF95C30ADF874301FFA89FB01330F +:10C73000A3EB0B03ADF87030BDF95A30ADF8723091 +:10C74000013B5B44ADF87630049A1CA91EA8B34B9C +:10C750009847002872D0BDF97E300C998B42C4BF37 +:10C760000B46ADF87E30BDF978300D9A934203DC6C +:10C77000109B0133ADF87830BDF97820BDF87C30DE +:10C7800001339B1A1BB20893002B57DDBDF97E7055 +:10C79000BDF97A40BDF97250651BBDF97030D21AEF +:10C7A00009FB05250A9B1D440DF1770222AB24A845 +:10C7B00012F8011F03F8011B8342F9D1BDF88A303A +:10C7C000ADF88E3001373F1B3FB2002F36DD00261B +:10C7D000DFF85482CDF844B0BB46099B0B93089A0E +:10C7E0002946059F38468E4CA04730AC089BBDF9C2 +:10C7F0008A2034F9381D059738468A4FB8470128F2 +:10C8000008BF02209AF8293002930B9A01920090F7 +:10C81000059BBAF81E2021460498C047BDF88A300F +:10C820000133ADF88A30BDF88E300133ADF88E306B +:10C830004D4401365E45D2D1DDF844B0BDF95C30DF +:10C84000ADF874300133A3EB0B03ADF87030BDF9D4 +:10C850005E20531CA3EB0B03ADF87230ADF87620CD +:10C86000049A1CA91EA86D4B9847002873D0BDF9E7 +:10C870007A300C9A934203DC0F9B0133ADF87A3087 +:10C88000BDF978300D9A934203DC109B0133ADF86B +:10C890007830BDF97820BDF87C3001339B1A1BB28B +:10C8A0000893002B57DDBDF97E40BDF97A60BDF9D4 +:10C8B00076502D1BBDF97030D21A09FB05250A9B55 +:10C8C0001D440DF1770222AB24A812F8011F03F8D2 +:10C8D000011B8342F9D1BDF88E30ADF88A30671C58 +:10C8E000BF1B3FB2002F36DD0026DFF83C81CDF8BC +:10C8F00040B0BB46099B0B93089A2946059F3846D2 +:10C90000474CA04730AC089BBDF98A2034F9381D4C +:10C9100005973846434FB847012808BF02209AF8C8 +:10C92000293002930B9A01920090059BBAF81E20C1 +:10C9300021460498C047BDF88A30013BADF88A30E3 +:10C94000BDF88E30013BADF88E304D4401365E456A +:10C95000D2D1DDF840B0BDF95C30ADF874300133B0 +:10C96000A3EB0B03ADF87030BDF85A305B44ADF863 +:10C970007230BDF85E30A3EB0B03ADF87630049A4D +:10C980001CA91EA8254B9847002800F08580079B0E +:10C990004BB1069BB3F90430BDF978209342B8BF80 +:10C9A0001346ADF87830BDF97830BDF87C200132FF +:10C9B000D21A0FFA82F8B8F1000F6DDDBDF87E4093 +:10C9C0000134BDF87A20A41A24B209F1FF31BDF96F +:10C9D00070209B1A09FB01330A9AD31808930DF1B2 +:10C9E000770222AB24A812F8011F03F8011B83422F +:10C9F000F9D1BDF88A30ADF88E302546002C4BDDDC +:10CA00000024074FCDF82C90A946079D3AE000BFBF +:10CA10002529010015C00000A9BD00000115010075 +:10CA20003D26010005BE0000397700000023079372 +:10CA300062E6002307935FE64346BDF98A20BDF90D +:10CA400088100598234EB047012808BF02209AF8A5 +:10CA5000293002939AF8283001930090059BBAF888 +:10CA60001E2022A904981C4EB047BDF88A3001331D +:10CA7000ADF88A30BDF88E300133ADF88E30013418 +:10CA80004C4507D0424608990598B847002DD3D0A9 +:10CA90000220DCE7DDF82C90B9F1000F1EDD09EB78 +:10CAA000D9777F100A9D00260CE0197812F8010C46 +:10CAB00003F8010B02F8011DA342F6D14D440136E3 +:10CAC000B1450BD0002FF9DD2B4605EB0902EC191F +:10CAD000EBE700BF05BE000039770000BDF9583014 +:10CAE000ADF87030013B5B44ADF87430BDF95A309D +:10CAF000ADF87230013B5B44ADF87630049A1CA966 +:10CB00001EA8AE4B9847002871D0BDF97E300C9915 +:10CB10008B42C4BF0B46ADF87E30BDF97C300D9919 +:10CB20008B42C4BF0B46ADF87C30BDF97820BDF810 +:10CB30007C3001339B1A1BB20893002B57DDBDF9E3 +:10CB40007E70BDF97A40BDF97250651BBDF9703039 +:10CB5000D21A09FB05250A9B1D440DF1770222AB71 +:10CB600024A812F8011F03F8011B8342F9D1BDF874 +:10CB70008A30ADF88E3001373F1B3FB2002F36DDD3 +:10CB80000026DFF84482CDF840B0BB46099B0B93EA +:10CB9000089A2946059F3846894CA04730AC089B27 +:10CBA000BDF98A2034F9381D05973846854FB847B6 +:10CBB000012808BF02209AF8293002930B9A0192AB +:10CBC0000090059BBAF81E2021460498C047BDF886 +:10CBD0008A300133ADF88A30BDF88E300133ADF8BC +:10CBE0008E304D4401365E45D2D1DDF840B0BDF9FE +:10CBF0005830ADF87030013B5B44ADF87430BDF98E +:10CC00005E20531CA3EB0B03ADF87230ADF8762019 +:10CC1000049A1CA91EA8694B9847002872D0BDF938 +:10CC20007A300C9A934203DC0F9B0133ADF87A30D3 +:10CC3000BDF97C300D998B42C4BF0B46ADF87C30FA +:10CC4000BDF97820BDF87C3001339B1A1BB20893E4 +:10CC5000002B57DDBDF97E40BDF97A60BDF97650F5 +:10CC60002D1BBDF97030D21A09FB05250A9B1D4406 +:10CC70000DF1770222AB24A812F8011F03F8011B63 +:10CC80008342F9D1BDF88E30ADF88A30671CBF1BE6 +:10CC90003FB2002F36DD0026DFF82C81CDF830B012 +:10CCA000BB46099B0B93089A2946059F3846444C7E +:10CCB000A04730AC089BBDF98A2034F9381D059790 +:10CCC0003846404FB847012808BF02209AF829305B +:10CCD00002930B9A01920090059BBAF81E20214600 +:10CCE0000498C047BDF88A30013BADF88A30BDF8E2 +:10CCF0008E30013BADF88E304D4401365E45D2D1C9 +:10CD0000DDF830B0BDF95830ADF87030013B5B4410 +:10CD1000ADF87430BDF85A305B44ADF87230BDF8F0 +:10CD20005E30A3EB0B03ADF87630049A1CA91EA865 +:10CD3000224B9847002879D0079B4BB1BDF97C3036 +:10CD4000069AB2F900209342A8BF1346ADF87C3092 +:10CD5000BDF97830BDF87C8008F10108A8EB030824 +:10CD60000FFA88F8B8F1000F60DDBDF87E4001349D +:10CD7000BDF87A20A41A24B209F1FF31BDF9702060 +:10CD80009B1A09FB01330A9AD31808930DF1770215 +:10CD900022AB24A812F8011F03F8011B8342F9D12A +:10CDA000BDF88A30ADF88E302546002C3EDD0024DB +:10CDB000034FCDF82C90A946079D2DE001150100E9 +:10CDC0003D26010005BE0000397700004346BDF94D +:10CDD0008A20BDF988100598AA4EB047012808BFDF +:10CDE00002209AF8293002939AF828300193009093 +:10CDF000059BBAF81E2022A90498A34EB047BDF89F +:10CE00008A300133ADF88A30BDF88E300133ADF889 +:10CE10008E3001344C4507D0424608990598B847F2 +:10CE2000002DD3D00220DCE7DDF82C90BDF858307F +:10CE30005B44ADF87030BDF85C30A3EB0B03ADF88C +:10CE40007430BDF95A30ADF87230013B5B44ADF837 +:10CE50007630049A1CA91EA88C4B984700287DD0D8 +:10CE6000079B4BB1069BB3F90230BDF97E2093427C +:10CE7000A8BF1346ADF87E30BDF87C300133BDF855 +:10CE800078209B1A1BB20893BDF97A30BDF87E500A +:10CE90000135ED1A2DB2C846BDF972401C1B09F1CF +:10CEA000FF3309FB04340A9B1C440DF1770222ABCB +:10CEB00024A812F8011F03F8011B8342F9D1BDF821 +:10CEC0008A30ADF88E302B46002D47DD0025704F9F +:10CED000CDF82C90DDF82490CDF830B09B462AE0B8 +:10CEE000B9F1FF0F2AD149462CE0089BBDF98A20F1 +:10CEF000BDF988100598634EB047012808BF02208D +:10CF00009AF829300293FF2301930090059BBAF809 +:10CF10001E2022A904985C4EB047BDF88A30013328 +:10CF2000ADF88A30BDF88E300133ADF88E30444410 +:10CF300001355D450ED02378FF2BD1D003FB09F3DB +:10CF4000C3F30721089A0598B847079B002BCCD05C +:10CF50000220D5E7DDF82C90DDF830B0BDF8583070 +:10CF60005B44ADF87030BDF85C30A3EB0B03ADF85B +:10CF70007430BDF95E20531CA3EB0B03ADF8723087 +:10CF8000ADF87620049A1CA91EA8404B98470028AB +:10CF900000F08280079B4BB1069BB3F90630BDF9C8 +:10CFA0007A209342B8BF1346ADF87A30BDF87C3092 +:10CFB0000133BDF878209B1A1BB20893BDF97E306F +:10CFC0005D1CBDF87A20AD1A2DB2C846BDF9764079 +:10CFD000E41A09F1FF3309FB04340A9B1C440DF1E8 +:10CFE000770222AB24A812F8011F03F8011B834229 +:10CFF000F9D1BDF88E30ADF88A30A946002D4BDD51 +:10D000000025234FCDF82CB0DDF824B02AE0BBF189 +:10D01000FF0F2AD159462CE0089BBDF98A20BDF9A3 +:10D0200088100598174EB047012808BF02209AF8CB +:10D0300029300293FF2301930090059BBAF81E202C +:10D0400022A90498104EB047BDF88A30013BADF8D4 +:10D050008A30BDF88E30013BADF88E304444013546 +:10D060004D4517D02378FF2BD1D003FB0BF3C3F32F +:10D070000721089A0598B847079B002BCCD00220BF +:10D08000D5E700BF05BE000039770000011501009B +:10D09000692A0100DDF82CB0BDF858305B44ADF8CA +:10D0A0007030BDF85C30A3EB0B03ADF87430BDF805 +:10D0B0005A305B44ADF87230BDF85E30A3EB0B0B19 +:10D0C000ADF876B0049A1CA91EA8A24B9847002878 +:10D0D00050D0079B002B4DD1BDF87C600136BDF8C8 +:10D0E0007830F61A36B2BDF87E400134BDF87A3099 +:10D0F000E41A24B20DF1770222AB24A812F8011F22 +:10D1000003F8011B8342F9D1BDF88A30ADF88E30A7 +:10D11000A346002C2EDD0025DFF85492DFF8548260 +:10D120008D4F32469AF828100598C84730AC3346E0 +:10D13000BDF98A2034F9381D0598C047012808BF79 +:10D1400002209AF829300293FF2301930090059B57 +:10D15000BAF81E2021460498B847BDF88A3001333A +:10D16000ADF88A30BDF88E300133ADF88E30013520 +:10D170005D45D6D10E98794B98470598784CA047D5 +:10D180000A98A0479AF80C70052F42D9069A531EA8 +:10D19000D01D1AAA13F8011F02F8011B9842F9D1F9 +:10D1A000BAF91030012B24DD9AF81430F92B20D96C +:10D1B000BAF90030EBB1BAF81230C3F38002BDF80F +:10D1C00068100A44ADF86820C3F34002BDF86A1045 +:10D1D0000A44ADF86A20C3F3C001BDF86C20521AAE +:10D1E000ADF86C2003F00103BDF86E20D31AADF842 +:10D1F0006E30FB2F28BFFF275A4B98475A4B984752 +:10D200008046049A1AA91CA8524B9847002840F05F +:10D21000B380DAF82C0020B19AF83630052B00F2F2 +:10D22000EB839AF81440052C15D9BAF9103093B154 +:10D23000BAF912307BB1FB2C28BFFF24494B984729 +:10D24000494B98470546049A069918A8414B9847B8 +:10D25000002840F04685DAF83C1021B19AF84430B5 +:10D26000052B01F253809AF81CB0BBF1050F6DD964 +:10D27000BAF91830002B69D0BBF1FB0F28BF4FF073 +:10D28000FF0B3A4B98470990069A531ED01D16AAD9 +:10D2900013F8011F02F8011B8342F9D1BAF81A50A2 +:10D2A000BDF858305B1B9BB20693ADF85830BDF803 +:10D2B0005A305B1B9BB20793ADF85A30BDF85C60E7 +:10D2C0002E44B6B2ADF85C60BDF85E301D44ADB220 +:10D2D000ADF85E50BAF900300893BAF918300593EA +:10D2E0000DF1570218AB1AA812F8011F03F8011B21 +:10D2F0008342F9D1BDF81440BDF86090A9EB040950 +:10D300001FFA89F30A93ADF86030BDF864702744C2 +:10D31000BFB2ADF86470BDF86280A8EB04081FFAD4 +:10D3200088F8ADF86280BDF866301C44A4B2ADF850 +:10D3300066400C4B98470C4B98478146049A18A9B5 +:10D340001AA8044B9847002841F0448031B0BDE84A +:10D35000F08F00BF011501003977000055BE0000B5 +:10D3600059250100515F0000C50F0100ADBE00004E +:10D37000692A010005BE0000B8F81010BDF8703031 +:10D380005B1A9AB2ADF87020B8F81200BDF872308E +:10D390001B1AADF87230BDF874305B1A9BB2ADF851 +:10D3A0007430BDF87610091AADF8761001339B1A67 +:10D3B0001BB209930A931846934B98470590934BD9 +:10D3C000984783B20B9343BB9AF80630023B18BFD1 +:10D3D00001230793BDF86C500135BDF86830ED1A94 +:10D3E0002DB22C46BAF90020BDF86E300133BDF8DD +:10D3F0006A609B1B1EB23346AE42A8BF2B465E102E +:10D400009642A8BF1646079BDBB1D6B99AF80630FC +:10D4100033B14FF0FF330E9321E000230793D9E798 +:10D420009AF80D3002930197012300930023BAF874 +:10D4300002201AA90498764CA0474FF0FF330E93B0 +:10D4400076E2002E32DD002332461AA929A8DFF841 +:10D45000D091C847002129A86E4B98470E90BAF882 +:10D4600002B09AF80630022B24D000230D93BDF9A8 +:10D470006C20BDF96810531C5B1A1BB2A3EB460964 +:10D48000ADF87810ADF87C20BDF97220B8F81230F4 +:10D4900013441BB2ADF87A30ADF87E301546BDF9B5 +:10D4A00076309A4200F337820897FAE04FF0FF3364 +:10D4B0000E93D4E7BAF804309B4500F089806800E9 +:10D4C000514B98470D90002DD1DD4FF00009089683 +:10D4D00006461BE09AF8023003F01F03BAF8021068 +:10D4E000C1F345119AF80320D208287863F30400A9 +:10D4F00028702B8861F34A132B801B0A62F3C70341 +:10D500006B7009F1010902364C455FD03546BAF916 +:10D51000080000FB04F31B120FFA89F18B42D9DAE1 +:10D52000BAF90A2002FB04FEB1EB2E2F42DA121ADE +:10D5300004FB02F2A9EB03031BB2C3EB0323121299 +:10D5400093FBF2F3DBB2C3F1FF0E9AF80520D20889 +:10D550009AF80310C9080EFB01F103FB021202EB5B +:10D56000022102EBC112C2F3C452BAF80410C1F393 +:10D570004511BAF80200C0F345100EFB00F003FBA2 +:10D58000010101EB012001EBC011C1F3C5519AF873 +:10D59000040000F01F009AF802C00CF01F0C0EFBF4 +:10D5A0000CFE03FB00E303EB032003EBC013C3F308 +:10D5B000C4539AE79AF8043003F01F03BAF8041032 +:10D5C000C1F345119AF80520D2088EE7089E4EE770 +:10D5D00000230D934BE70A99059F38460E4B984759 +:10D5E000B8F812202A44B8F81010BDF87030194469 +:10D5F000099B12B209B23846084FB84707469AF855 +:10D600000630012B29D17AE025290100ADBE0000AA +:10D6100039770000A9BD0000D52B010005BE000030 +:10D6200015C000000A99059F3846B64B9847B8F8D0 +:10D6300012202A44B8F81010BDF870301944099B24 +:10D6400012B209B23846B04FB84707469AF80630CA +:10D65000012B54D0079A002A3AD1022B00F04481C2 +:10D660000B9B13B9B9F1320F0BDC9AF80D30029312 +:10D67000089B01930097059B5A461EA90498A34C4A +:10D68000A047BDF87A300133ADF87A30BDF87E306E +:10D690000133ADF87E300135BDF976309D4200F39F +:10D6A0003981B8F912402C44BDF96A303344013352 +:10D6B0009C42B7DDBDF96E309B1B013B9C42B1DA49 +:10D6C000079B002B87D09AF80630012B16D0012734 +:10D6D000B9F1320F00F39380022B00F00581012B8A +:10D6E000BED19AF80D300293089B01930097059BD9 +:10D6F0005A461EA90498854CA047C2E70127BAF8EC +:10D700000220BAF804309A426FD0BDF86A10621A4B +:10D7100093B21A460C93BAF908E0BDF86E300133A3 +:10D720005B1A1BB203FB0EF1091210B281424BDAF5 +:10D73000BAF90AC00CFB03F2B0EB222F80F2B080E2 +:10D74000ACEB0E0E03FB0EF30C9A521A12B2C2EBA4 +:10D7500002221B1292FBF3F3DBB2C3F1FF019AF832 +:10D760000520D2089AF80300C00801FB00F003FB73 +:10D77000020202EB022002EBC012C2F3C452BAF85A +:10D780000400C0F34510BAF802E0CEF3451E01FBD9 +:10D790000EFE03FB00E000EB002E00EBCE10C0F30A +:10D7A000C5509AF804E00EF01F0E9AF802C00CF073 +:10D7B0001F0C01FB0CF103FB0E1303EB032103EB26 +:10D7C000C113C3F3C4530AE09AF8023003F01F03F5 +:10D7D000BAF80200C0F345109AF80320D20863F3A8 +:10D7E000040B60F34A1B62F3CF2B079B002B3FF423 +:10D7F00078AFB9F1320FC8BF01237FF772AFBDF91F +:10D800006A2032440132944206DBBDF96E20921B3D +:10D81000013A94427FF760AFBDF96830ADF88830C7 +:10D82000B2B20C92013B1344ADF88C30BDF87A30A3 +:10D83000ADF88A30BDF87E30ADF88E309AF80D30F4 +:10D840000293089B01930097059B5A4622A90498CE +:10D850002E4CA0479AF80630012B2DD0BDF96C3024 +:10D860005A1C0C99541AADF88840ADF88C309B1BAB +:10D870000133B8F91020BDF970100A449B1A9AF8C8 +:10D880000D200292089A01920097059A002BA8BFDA +:10D89000D21813465A4622A904981C4CA047F0E619 +:10D8A0009AF8043003F01F03BAF80400C0F34510DF +:10D8B0009AF80520D20892E7BDF868300C9A134414 +:10D8C000ADF88830BDF86C309B1AADF88C309AF802 +:10D8D0000D300293089B01930123009300235A46C5 +:10D8E00022A90498A047B9E79AF80D300293089B43 +:10D8F00001930097059B0D9A1EA90498044CA0471C +:10D90000BFE600BFD52B010005BE0000397700003F +:10D9100069820000089F9AF8063023B90B9B13B95F +:10D92000B9F1320F0BDC0D9B13B11846B34B98477E +:10D930000E98B34B98470598B04B984769E4B6B238 +:10D94000BDF868303344ADF87830BDF86C309B1BBF +:10D95000ADF87C30BDF96A30ADF87A303344ADF8BB +:10D960007E309AF80D300293019701230093002333 +:10D97000BAF802201EA90498A24CA047BDF96E1067 +:10D980008A1B12B2ADF87A20BDF97E309A42DCBF14 +:10D990000133ADF87A30ADF87E109AF80D3002936D +:10D9A0000197012500950023BAF802201EA9DDF891 +:10D9B00010804046934CA047BDF86830ADF87830F1 +:10D9C000BDF86C30ADF87C30BDF86A302B44334480 +:10D9D000ADF87A30BDF86E30013B9E1BADF87E602D +:10D9E0009AF80D300293019700950023BAF80220AF +:10D9F0001EA94046A04796E7834B98470546012855 +:10DA000012D9022839D0814B0093814B40F2AE529B +:10DA100080490220804CA04700231A4604990698AA +:10DA20007E4CA047FFF7FDBB29A9DAF82C007C4B00 +:10DA3000984701280AD07B4B0093754B40F29452D3 +:10DA400074490220744CA047FFF7EBBB299BC3F33A +:10DA50008A29BDF8A670C7F34A171EA8724B9847CB +:10DA60009AF836308DF878309AF837308DF8823061 +:10DA7000BAF83430ADF8843020E022A86B4B9847D8 +:10DA8000BAF83430ADF88830DAF8302023929AF8BA +:10DA900036308DF89030BDF994300021029147F670 +:10DAA00018410191BDF992100091DAF82C1029A8C3 +:10DAB0005F4CA047BDF9A490BDF9A6709AF8383024 +:10DAC00013F0010F3FD1069C21886088E288013263 +:10DAD000121A12B2A38801335B1A1BB2A3EB09031B +:10DAE00003EBD37301EB63039BB2ADF87030D21B31 +:10DAF00002EBD27100EB610189B2ADF8721009F14D +:10DB0000FF399944ADF874907B1E0B449BB2ADF87D +:10DB10007630022D00F0BD80BAF9002006991CA8CD +:10DB2000444B98474FF0FF34002800F0D4861EABDA +:10DB3000DAF82C2004991CA8384DA8472046304B11 +:10DB40009847FFF76EBB0023BAF90020069E3146C6 +:10DB500029A8394CA047002129A8384B984707909D +:10DB6000B3880133344632889B1A1BB293FBF9F217 +:10DB700009FB123303EBD3734FEA630BB6F90610BC +:10DB800073884A1CD21A10B290FBF7F207FB1202FC +:10DB900002EBD272A3EB62039BB21AB2ADF8722011 +:10DBA000BFB2781E0344ADF8763091426CDBDFF8EB +:10DBB00090801A4ECDF81490A14652E000230093B5 +:10DBC000DAF82C3022AA04991CA8C047BDF870309E +:10DBD00023441BB2ADF87030BDF874202244ADF878 +:10DBE0007420B9F904209A422CDB022DE6D01EAB3A +:10DBF000DAF82C2004991CA8B047E7E75925010062 +:10DC000055BE00003977000051990000C85002004D +:10DC1000685002007850020045220100D1960000B1 +:10DC2000D5FD0000A85002002D960000B599000017 +:10DC3000654001005517010015C00000A9BD000096 +:10DC40000D9A0000BDF872303B441BB2ADF8723043 +:10DC5000BDF876203A44ADF87620B9F906209A420C +:10DC600012DBB9F80030A3EB0B039BB21AB2ADF88C +:10DC70007020BDF81440611E0B44ADF87430B9F942 +:10DC800004309342B1DADDE707988A4B9847FFF7F3 +:10DC9000C8BA02F001021144ADF872101344ADF895 +:10DCA0007630BAF9002021461CA8834B9847A8B9C2 +:10DCB0000023BAF90020069929A8804CA04700212A +:10DCC00029A87F4B9847044600230093DAF82C30AC +:10DCD00022AA04991CA87B4DA8472FE74FF0FF34D8 +:10DCE000F2E7298ABDF860305B1A9AB2ADF860207D +:10DCF000688ABDF862301B1AADF86230BDF8643036 +:10DD00005B1A9BB2ADF86430BDF86610091AADF825 +:10DD1000661001339B1A1BB20893099318466A4B8D +:10DD200098478346694B984748B9BAF91280B8F1C9 +:10DD30000F0F14BF4FF000084FF0010801E04FF043 +:10DD40000008BAF90020069EB388013331885B1AB7 +:10DD500019B2F388013370881B1A1BB28B42A8BF1B +:10DD60000B465B109342A8BF13461A460A93002B3A +:10DD700040F388800023314622A8504EB04700214E +:10DD800022A84F4B98470E90BAF91060069A531E7E +:10DD9000D01D1AAA13F8011F02F8011B8342F9D102 +:10DDA000BDF86820BAF8123013F0040F6ED0B1B28B +:10DDB0000A44ADF86820BDF86C2013F0080F6AD053 +:10DDC000B1B2521AADF86C20BDF86A2013F0020F00 +:10DDD00066D0B1B20A44ADF86A20BDF86E2013F0E7 +:10DDE000010F62D0B3B2D31AADF86E30DDF82890CF +:10DDF0001FFA89F7BA1B012312B21AA929A82F4EBC +:10DE0000B047002129A82E4B98470F90BAF910303F +:10DE1000013B4B45B8BF4B4619460D93BAF80E303F +:10DE2000ADF814309AF81560B8F1000F00F0BF811A +:10DE3000B5F912300698B0F90220D21A0A44BDF999 +:10DE400066109142A8BF11460B910288ADF8702070 +:10DE50008288ADF87420BDF9622013441BB2ADF87E +:10DE60007230ADF8763090460B9B9342C0F2B3808F +:10DE7000DFF85C90CDF81CB0B3462646CDF830A054 +:10DE8000824655E04FF0FF330E937DE70A997118F3 +:10DE9000494289B28CE70A997118494289B290E7E0 +:10DEA0000A997118494289B294E70A9BF3185B42B8 +:10DEB0009BB298E755BE00005517010015C0000041 +:10DEC000A9BD00000D9A000025290100ADBE00008B +:10DED00039770000BAF904305A1CD21BADF878200B +:10DEE000ADF87C300A9A9B1A0133B5F91020BDF9C0 +:10DEF00060100A449B1ACDF808B001960094079A66 +:10DF0000002BA8BFD2181346BDF814201EA90498F0 +:10DF1000C847BDF872300133ADF87230BDF87630C5 +:10DF20000133ADF8763008F101080B9B43454CDB1B +:10DF30000999079C2046C74B98476A8A4244298A18 +:10DF4000BDF860301944089B12B209B2079420460C +:10DF5000C14CA0470446BDF87230ADF87A30BDF828 +:10DF60007630ADF87E30BAF90030ADF87830013B4C +:10DF70003B44ADF87C30CDF808B001960090079B8B +:10DF8000BDF814201EA90498C847BDF97E20BAF92F +:10DF900002300C99B1F910100B449A429ADABAF88F +:10DFA00000303B44ADF87830BAF80430DB1BADF8F4 +:10DFB0007C30CDF808B00196012300930023BDF812 +:10DFC00014201EA90498C84784E734465E46DDF84D +:10DFD0001CB0DDF830A0B5F91230069AB2F906206F +:10DFE000D21A0D99521ABDF962809045B8BF904679 +:10DFF0000B994145A8BF01F1010843441BB2ADF89C +:10E000007230ADF87630BDF96630984500F38D80FA +:10E01000DFF84892CDF81CB0B3462646CDF82CA0C8 +:10E02000DDF818A02EE0BAF904305A1CD21BADF866 +:10E030007820ADF87C300A9A9B1A0133B5F910208C +:10E04000BDF960100A449B1ACDF808B001960094FF +:10E05000079A002BA8BFD2181346BDF814201EA99A +:10E060000498C847BDF872300133ADF87230BDF87E +:10E0700076300133ADF8763008F10108BDF966302D +:10E0800098454CDC0999079C2046724B98476A8A50 +:10E090004244298ABDF860301944089B12B209B283 +:10E0A000079420466C4CA0470446BAF90030ADF8FE +:10E0B0007830013B3B44ADF87C30BDF87230ADF8B0 +:10E0C0007A30BDF87630ADF87E30CDF808B00196E4 +:10E0D0000090079BBDF814201EA90498C847BDF9FD +:10E0E0007E20BAF906300B99B1F910105B1A9A42EA +:10E0F00099DDBAF800303B44ADF87830BAF8043016 +:10E10000DB1BADF87C30CDF808B0019601230093FD +:10E110000023BDF814201EA90498C84783E734469D +:10E120005E46DDF81CB0DDF82CA0BDF83420069961 +:10E130004B8801331344ADF87230CB88013B9B1AF6 +:10E14000ADF87630B1F90030ADF87030BAF8102083 +:10E15000013A1344ADF874300296019401270097F8 +:10E160000023BDF814904A461CA9DDF810804046F3 +:10E170003A4DA847069BB3F90420BAF81030FB1AB1 +:10E180001344ADF87030ADF87420029601940097F6 +:10E1900000234A461CA94046A8470F98304CA04788 +:10E1A0000E98A04758462F4B9847FFF754B8069A49 +:10E1B000B2F90010ADF87010B2F90420ADF8742077 +:10E1C000BDF962006B8A03441BB2ADF87230ADF842 +:10E1D0007630BAF91230042B29D0082B44D0002213 +:10E1E0008DF84E208DF84F20022B29D101238DF878 +:10E1F0004E309DF84E301BB99DF84F8088F00108D5 +:10E2000008F001088DF850800746BDF96630984245 +:10E21000C3DCDFF84080DFF844900A94CDF81CB0EE +:10E22000DDF818B0CDF82CA0DDF834A04EE00D9A42 +:10E230001144ADF8741000228DF84E208DF84F2057 +:10E24000012B16D0032BD4D101238DF84E308DF83D +:10E250004F30CEE7D52B010005BE00003977000016 +:10E2600055BE0000592501000D99521AADF87020D5 +:10E27000E1E78DF84F30BCE70999079C2046C0477D +:10E280006A8A3A44298ABDF860301944089B12B260 +:10E2900009B207942046984CA04702960A9A019228 +:10E2A0000090079BBDF814201CA90498C847BDF82E +:10E2B00072300133ADF87230BDF876300133ADF80D +:10E2C00076300137BDF966309F421ADC9DF8503038 +:10E2D000002BD1D19DF84E3033B1BDF97220BBF97E +:10E2E000023053449A42C7DD9DF84F30002BDED0F8 +:10E2F000BDF97220BBF90630A3EB0A039A42D6DBC4 +:10E30000BAE7DDF81CB0DDF82CA046E7BAF94C30CE +:10E310000024029447F618420192BAF94E20009266 +:10E32000DAF840201CA8754DA847ADF88840ADF834 +:10E330008A40BDF87030013BADF88C30BDF87230CA +:10E34000013BADF88E301EAB9AF8502022A90698FA +:10E350006B4DA847BDF87820BAF848301A4492B2FD +:10E36000BDF888301344ADF88830BDF87A30BAF87B +:10E370004A100B449BB2BDF88A101944ADF88A10BC +:10E38000BDF88C100A44ADF88C20BDF88E201344E3 +:10E39000ADF88E3029A85B4B9847DAF840302A93C5 +:10E3A000BAF84C30ADF8B030BAF84E30ADF8AE3007 +:10E3B000BAF84630ADF8A4309AF844308DF8AC3055 +:10E3C0000094DAF83C3029AA049922A84E4CA047C0 +:10E3D000FEF749BF721C069BD21A12B26B1C07993A +:10E3E0005B1A1BB29A42A8BF1A465210089B9A4267 +:10E3F000A8BF1A46059B134401370A99791A08B237 +:10E40000611CA1EB080109B28142A8BF0146491075 +:10E410009942A8BF19460F460691B9F81000BDF8F9 +:10E4200068301B1A99B2ADF86810B9F81240BDF8FF +:10E430006A301B1BADF86A30BDF86C301B1A9BB2FA +:10E44000ADF86C30BDF86E00001BADF86E00013306 +:10E450005B1A1BB21E460793012316A922A82B4D57 +:10E46000A847002122A82A4CA0470C9000233AB2CA +:10E4700018A929A8A847002129A8A0470D90089607 +:10E480003046244B98470B90BAF91830BAF816204A +:10E49000ADF814209AF81D50099A002A40F0A68180 +:10E4A000013BBB42B8BF3B4619460E93B9F9123047 +:10E4B000BDF96220D21A0A4411460992BDF86020C3 +:10E4C000ADF87020BDF86420ADF87420BDF96A2065 +:10E4D00013441BB2ADF87230ADF876301646914257 +:10E4E000C0F29D80DFF830802B465D46CDF828A035 +:10E4F00082469B463FE000BF05BE0000654001002C +:10E500000D180100B59900000D9A000015C000001B +:10E51000A9BD00002529010039770000BDF964304C +:10E520005A1C141BADF87840ADF87C30069A9B1A43 +:10E530000133B9F91020BDF968100A449B1ACDF8CF +:10E5400008B001950097002BACBF53440AF10003BB +:10E55000BDF814201EA90498C047BDF872300133DD +:10E56000ADF87230BDF876300133ADF87630013653 +:10E57000099BB3424EDB08995046CC4B9847B9F8FB +:10E5800012203244B9F81010BDF868301944079BC6 +:10E5900012B209B25046C64CA0470746BDF87230C9 +:10E5A000ADF87A30BDF87630ADF87E30BDF9603028 +:10E5B000ADF87830BDF81840013B2344ADF87C300D +:10E5C000CDF808B0019500905346BDF814201EA95F +:10E5D0000498C047BDF97E20BDF962300A99B1F9AF +:10E5E00018100B449A4299DABDF860302344ADF814 +:10E5F0007830BDF864301B1BADF87C30CDF808B026 +:10E600000195012300930023BDF814201EA904984E +:10E61000C04783E75B46AB46DDF828A01D46B9F945 +:10E620001230BDF96660F61A0E9AB61A09990A46B2 +:10E63000B142A4BF0132164633441BB2ADF872306A +:10E64000ADF87630BDF96E309E4200F38C80DFF875 +:10E6500064822B465D46CDF824A0DDF82CA09B46B5 +:10E660002DE0BDF964305A1C141BADF87840ADF8AC +:10E670007C30069A9B1A0133B9F91020BDF9681055 +:10E680000A449B1ACDF808B001950097002BACBF47 +:10E6900053440AF10003BDF814201EA90498C04792 +:10E6A000BDF872300133ADF87230BDF87630013309 +:10E6B000ADF876300136BDF96E309E424EDC0899D9 +:10E6C00050467A4B9847B9F812203244B9F81010E6 +:10E6D000BDF868301944079B12B209B25046744C19 +:10E6E000A0470746BDF96030ADF87830BDF8184056 +:10E6F000013B2344ADF87C30BDF87230ADF87A3080 +:10E70000BDF87630ADF87E30CDF808B001950090B8 +:10E710005346BDF814201EA90498C047BDF97E20B9 +:10E72000BDF966300999B1F918105B1A9A4298DD63 +:10E73000BDF860302344ADF87830BDF864301B1B61 +:10E74000ADF87C30CDF808B001950123009300238B +:10E75000BDF814201EA90498C04782E75B46AB466B +:10E76000DDF824A01D46BDF83830BDF86220013226 +:10E770001A44ADF87220BDF86620013AD31AADF8FC +:10E780007630BDF96030ADF87030013BBAF8182032 +:10E790001344ADF874300295CDF804B0012600960C +:10E7A0000023BDF8148042461CA9049F3846414C02 +:10E7B000A047BDF964209319BAF818105B1AADF898 +:10E7C0007030ADF874200295CDF804B000960023A7 +:10E7D00042461CA93846A0470C98374CA0470D98D4 +:10E7E000A0470B98354B9847FEF7B0BDBDF8603099 +:10E7F000ADF87030BDF86430ADF87430BDF96A2002 +:10E80000B9F8123013441BB2ADF87230ADF876305F +:10E810001446BDF96E309A42DEDCDFF89080244F5A +:10E82000244EDDF82CA02B465D469B4608995046A9 +:10E83000C047B9F812202244B9F81010BDF868306A +:10E840001944079B12B209B25046B847CDF808B038 +:10E85000019500905346BDF814201CA90498B047B8 +:10E86000BDF872300133ADF87230BDF87630013347 +:10E87000ADF876300134BDF96E309C42D6DDABE7A1 +:10E880000C980E4B984707FB07F7002F3DF4ECAEB2 +:10E890000A980246411E00EB470032F8023B9B09F2 +:10E8A00001F8013F9042F8D1FDF7DEBED52B010003 +:10E8B00005BE00003977000055BE00005925010053 +:10E8C000079738460B4B98470C90002FD8DD012353 +:10E8D0000B93FDF727BE0023BAF90020069929A85B +:10E8E000054CA047002129A8044B98470446FFF790 +:10E8F0001EB900BF2529010015C00000A9BD0000F8 +:10E90000F0B583B09DF804406FF304048DF8044023 +:10E91000BDF804406FF34A14ADF80440240A6FF3C5 +:10E92000C7048DF805408668047804F01F04251F8D +:10E93000EDB2022D0ED9072C28D0082C3BD0092C83 +:10E9400050D00A2C66D00B3CE4B2032C98BFADF833 +:10E95000043017E014460F460546007800F01F000B +:10E96000324B98472B68C3F38A2304FB0372C0F32E +:10E97000C70000FB02F2B318B25C8DF804205B788C +:10E980008DF80530BDF8040003B0F0BD01F00703B9 +:10E99000C3F107040368C3F38A230733DB1002FBC8 +:10E9A000036606EBE1010B7A0122A24013402341EA +:10E9B000ADF80430E6E701F003046400C4F1060496 +:10E9C0000368C3F38A2303339B1002FB036606EB41 +:10E9D000A1010B7C0322A240134043FA04F4ADF8DA +:10E9E0000440CFE701F00104A400C4F1040403686B +:10E9F000C3F38A2301335B1002FB036606EB61015C +:10EA000091F840300F22A240134043FA04F4ADF8CD +:10EA10000440B7E70368C3F38A23314402FB0311C0 +:10EA200091F80034ADF80430ACE700BF69960000FF +:10EA3000F0B585B004460D4617468668037803F0A6 +:10EA40001F03052B0AD00B2B12D00C2B27D00D2B1C +:10EA500049D00E2B64D0FF2005B0F0BD0268C2F390 +:10EA60008A2207FB021505EB45053544A878F3E734 +:10EA700001F00703C3F107010268C2F38A220732DB +:10EA8000D210ED1007FB0262535D01228A40134051 +:10EA90000B4113F0FF0F0CBFFF200020DCE7002329 +:10EAA0008DF8003055238DF80130AA238DF80230FF +:10EAB000FF238DF8033001F003035B00C3F106016F +:10EAC0000268C2F38A2203329210AD1007FB026281 +:10EAD000535D03228A4013400B4104AA52FA83F388 +:10EAE00013F8100CB8E7124B0FCB0DF1100E0EE916 +:10EAF0000F0005F001039B00C3F104012268C2F37B +:10EB00008A22013252106D1007FB0262535D0F2200 +:10EB10008A4013400B415EFA83F313F8100C9BE715 +:10EB20000268C2F38A2207FB0262505C94E700BFCE +:10EB3000F45002002DE9F84F0446B0F908301B02EA +:10EB40004362B0F90A301B028362B0F90C00DFF8AF +:10EB5000F48088FB0023C517C5EBA3052DB26FF029 +:10EB6000090707FB05071FFA85FACAF1000000B282 +:10EB7000DFF8D490C84706460135ADB2684200B20E +:10EB8000C8478346CAF15A0000B2C8478246C5F159 +:10EB90005A0528B2C847C7F10A0307FB0BFB03FB62 +:10EBA00006B688FB062BF617C6EBAB06E66207FB3C +:10EBB00000F003FB0A0088FB0038C017C0EBA80078 +:10EBC0002063A07C1D4B984794F8343060F3000319 +:10EBD00084F83430A07C1A4B984794F8343060F3B2 +:10EBE000410384F83430A27C131FDBB2022B94F86B +:10EBF000343094BF43F004036FF3820384F834305D +:10EC000023682362237E03F01F0362F30403237649 +:10EC1000A369A28862F39423A3611B0CE28862F3C8 +:10EC20004F136383E2894FF4803393FBF2F3E3865F +:10EC3000FF23A375238AA382BDE8F88F9B9600006B +:10EC4000AF960000676666668D2201002DE9F04FE1 +:10EC500087B0039004910592BDF840400194DDF81F +:10EC600044B05E4F87FB0360DD17C5EBA0052DB2F6 +:10EC700005F101096FF0090606FB05362846DFF8A5 +:10EC80006081C04704460FFA89F0C047824605F10B +:10EC90005A0000B2C047054609F15A0000B2C04709 +:10ECA000C6F10A0306FB0AFA03FB04A487FB04EA85 +:10ECB000E417C4EBAA0406FB00F003FB050587FB81 +:10ECC0000537ED17C5EBA707BBF900C0BBF90280FC +:10ECD000CCF10003019D05FB03F343F30F2303FB7A +:10ECE00007FAC8F1000205FB02F242F30F2202FB11 +:10ECF00004FE1FFA8CF6AAEB0E0B06EBEB3B0FFAA9 +:10ED00008BFB03FB04F302FB07F21FFA88F0991850 +:10ED100000EBE13109B202910499A1EB0C0C05FB67 +:10ED20000CFC4CF30F2C0CFB07F9A9EB0E0E06EBB9 +:10ED3000EE3E0FFA8EFE0CFB04FC624400EBE23266 +:10ED400012B20599A1EB080805FB08F848F30F2853 +:10ED500008FB04F4AAEB040506EBE5352DB208FB2D +:10ED600007F73B4400EBE3331BB2A9EB040406EBCB +:10ED7000E43636B2BC4400EBEC3000B25C46F345FE +:10ED8000A8BF7446AC42A8BF2C46B442A8BF3446C4 +:10ED900003990F460C80DE45B8BFDE467545B8BF07 +:10EDA0007546AE42B8BF2E468E8002990C469142FF +:10EDB000A8BF14469C42A8BF1C468442A8BF044674 +:10EDC0007C809142B8BF11468B42B8BF0B46984237 +:10EDD000B8BF1846F88007B0BDE8F08F6766666672 +:10EDE0008D2201002DE9F04F89B00446B0F938506A +:10EDF000EAB2B0F93A60F3B26F2A74DCB0F93C10B1 +:10EE00004942C917803DEDB26F2B7EDCB4F93EB0AC +:10EE1000CBF1000B4FEAEB7B803EF6B294F81490F6 +:10EE200009F01F09B4F81480C8F34518677DFF087E +:10EE3000A37D009394F834C01CF0040F7BD02368AA +:10EE4000206C94F844E00EFB01015A1813F801A05D +:10EE50008DF81CA052788DF81D20B4F904200EFB0B +:10EE600002F20BFB02FB58441A1813F800A08DF8AD +:10EE700018A052788DF8192001EB0B0203EB020A5F +:10EE800013F802B08DF814B09AF801A08DF815A00F +:10EE90001CF0020F00F081800EF1FF3E734413F866 +:10EEA00001B013F800A0985CC5F1FF0303FB0BF160 +:10EEB000009A05FB021103FB00F305FB0A33C3F3C1 +:10EEC0000723C6F1FF02C1F3072106FB01FE02FB87 +:10EED00003E21212A275052900F2DC80052B40F234 +:10EEE0007D810026D9E0902A0CDDB0F93C1001317B +:10EEF000B0F904209142ACBF00210121C5F17F058A +:10EF0000EDB281E7FF2500217EE7902B0FDDB4F9FC +:10EF10003EB00BF1010BB4F906209345ACBF4FF0A6 +:10EF2000000B4FF0010BC6F17F06F6B276E7FF2625 +:10EF30004FF0000B72E704F1180318468BB2A18F53 +:10EF400002931944238AB4F93E2009B20190DFF8F4 +:10EF500094A2D047ADF81C001FFA8BF1E28F039109 +:10EF60000A44238A12B2B4F93C10DDF804B05846C2 +:10EF7000D047ADF81800E28F03990A44A18F029B95 +:10EF80001944238A12B209B25846D047ADF814008A +:10EF900094F8343013F0020F52D1FF23A3752B469F +:10EFA000002B40F08B809DF81C9009F01F09BDF8E4 +:10EFB0001C80C8F345189DF81D70FF08002D40F017 +:10EFC000AC809DF8145005F01F05BDF81430C3F354 +:10EFD00045139DF81510C908002E00F0E380FF2EA0 +:10EFE00000F0EE80C6F1FF0202FB05F506FB0955B5 +:10EFF00005EB052905EBC915ED0D207D65F3040032 +:10F00000207502FB03F306FB083808EB082308EB26 +:10F01000C3184FEAD858A38A68F34A13A38202FBA5 +:10F0200001F106FB071606EB062706EBC716F60DE1 +:10F030001B0A66F3C7036375012009B0BDE8F08FB2 +:10F04000A18F029B1944B4F93E2009B2DDF804A057 +:10F050005046634B98478346E28F03990A4412B2A5 +:10F06000B4F93C10CDF804A050465D4B9847824659 +:10F07000E28F03990A44A18F029B194412B209B28C +:10F080000198574B984794F8343013F0020F7FF4EF +:10F090000BAF82E7052B98BFFF26009B052B8CBF8B +:10F0A0002B460023BBF1050F98BFFF23BAF1050FD4 +:10F0B00098BF0025052898BFFF2571E7FF2B3FF477 +:10F0C0007DAFC3F1FF019DF81D20D20803FB07F7B8 +:10F0D00001FB027707EB072207EBC217C7F3C45700 +:10F0E000BDF81C20C2F3451203FB08F801FB02889F +:10F0F00008EB082208EBC218C8F3C5589DF81C207D +:10F1000002F01F0203FB09F901FB029909EB092335 +:10F1100009EBC319C9F3C45950E7FF2D36D0C5F127 +:10F12000FF009DF81910C9089DF81530DB0800FB99 +:10F1300003F305FB013101EB012301EBC311C1F323 +:10F14000C451BDF81830C3F34513BDF81420C2F301 +:10F15000451200FB02F205FB032303EB032203EB42 +:10F16000C213C3F3C5539DF8182002F01F029DF887 +:10F1700014E00EF01F0E00FB0EF005FB020505EB80 +:10F18000052205EBC215C5F3C45525E79DF81850B7 +:10F1900005F01F05BDF81830C3F345139DF819108D +:10F1A000C90819E7227D65F304022275A28A63F378 +:10F1B0004A12A282120A61F3C702627501203CE77B +:10F1C000237D69F304032375A38A68F34A13A3829A +:10F1D0001B0A67F3C703637501202EE700202CE7A5 +:10F1E00031EA000001E900002DE9F04F83B08846C4 +:10F1F0005D4B1988E1B107465C4B1E683346013907 +:10F2000089B2013101EBC10106EB810158481A6A4C +:10F210008242A4BF02F1FF321A6224338B42F6D13C +:10F220000024DFF88091DFF880B1DFF83CA111E025 +:10F23000504B0093504B442250490220504CA04761 +:10F24000002525E0012827D00134A4B2BAF8003007 +:10F25000A3422AD904EBC40506EB85056868C847B4 +:10F260000028EFD16B68BB42EED128891FFA88F3E2 +:10F27000984214BF002001200028E5D02B6A6A695B +:10F280001344B3F57A7F0EDD4FF47A732B6265B1C8 +:10F29000284603B0BDE8F08F39466868D847B0FA11 +:10F2A00080F04009E8E72B62F1E72F4B1A88012A2A +:10F2B00037D906F12403023A92B202EBC20206EBFE +:10F2C000820248323546186A296A8842B8BF1D460C +:10F2D00024339342F7D16B682BB32846294B9847C8 +:10F2E000294B0093244B772224490120244CA0472A +:10F2F000264B9847044600236B6142463946284610 +:10F30000234B9847C0B100232B626B69002BBFD100 +:10F310002046204B984768610028B9D101236B61D2 +:10F32000B6E73546D7E71C4B0093134B7A221349B7 +:10F330000120134CA047DBE7184B00930E4B8322B0 +:10F340000E4902200E4CA04728460E4B984720211C +:10F350002846134CA04724212846A0474FF00043DD +:10F360002B62002594E700BF582B0020586D002029 +:10F3700002000080785102001C5102004851020036 +:10F38000452201001DFF0000A051020041100100B4 +:10F3900031FE000059100100D45102000852020051 +:10F3A0001F2B010051990000E3B401002DE9F04743 +:10F3B000144B1F68144B1B880BB306460024DFF860 +:10F3C0004C90DFF84CA0DFF840800EE00BB12846EF +:10F3D000D04720212846C84724212846C847013461 +:10F3E000A4B2B8F80030A34209D904EBC40507EB76 +:10F3F00085056B68B342E9D0002EF0D1E6E7BDE8A1 +:10F40000F08700BF586D0020582B00201F2B0100F3 +:10F410001DFF00002DE9F04182B00446214B1B681E +:10F4200033B10020204B98471E4B18681F4B98475C +:10F4300004EBC40080001E4B98471A4B18601D4B0C +:10F440009847E8B1174B1B6843B31B4B1C80A4B112 +:10F450000024144F194E984604EBC405AD003868DB +:10F4600020212844B047386824212844B04701347B +:10F47000A4B2B8F80030A342EED802B0BDE8F081E3 +:10F480000F4B0093A8220F4903200F4CA047054BB8 +:10F490001A6800230D480E498847FEE70022064BF4 +:10F4A0001A80EAE7586D0020ADF30000AD2401009A +:10F4B000C523010099220000582B00201F2B0100BA +:10F4C000305102004851020045220100C03F0200B5 +:10F4D000A122000030B587B00C4615460846334BD4 +:10F4E0009847D8B92378C3F30403043BDBB20A2B53 +:10F4F00059D82368C3F38A232A6863F394222A60C5 +:10F500006388C3F34A136A8863F34F126A802278D0 +:10F510002B7862F304032B7001200DE001280DD03D +:10F52000022832D0224B0093224B4FF49A72224988 +:10F530000220224CA047002007B030BD0222214605 +:10F5400004A81F4B984738B12B781C3303F01F03D6 +:10F550000A2B18D80120EFE703AB0422294604A8A0 +:10F56000184CA047044604A8174B984714B9039BAE +:10F57000042BE9D0154B00930E4B40F221120E499B +:10F5800002200E4CA0470020D6E72B68012060F334 +:10F5900094232B601A0C60F34F126A800B2262F3E3 +:10F5A00004032B70C8E70020C6E700BF5199000094 +:10F5B000545302003452020000530200452201005D +:10F5C000351D0100A51C0100751C0100305302000F +:10F5D00038B5CC69A4B10D46206820B1094B9847D5 +:10F5E0002068094B9847606808B1074B9847A068A6 +:10F5F00008B1054B98472046034B98470023EB6121 +:10F6000038BD00BF751C0100AD2401002DE9F04399 +:10F6100085B005460C468B7A012B16D0002B40F0A6 +:10F62000AA814B689B68002B00F0A381087B00F047 +:10F630001F00031FDBB2022B00F2858063689B680A +:10F640002361012005B0BDE8F0834868964B9847D8 +:10F650009649974B984700282AD10222616802A850 +:10F66000944B9847D8B9E36923B3E6690820924BD5 +:10F6700098473060914B9847002840D03368002B62 +:10F680004BD18F4B00938F4B40F25F128E4903207A +:10F690008E4EB047214628468D4B984708E08D4B4B +:10F6A0000093884B4FF4A67287490220874CA047ED +:10F6B0000020C7E70C20804B9847E0617F4B9847BC +:10F6C00068B9804B009340F253127F4903207F4D6D +:10F6D000A847E2690023804880498847FEE7E0693F +:10F6E00048B9774B0093774B40F255127649032087 +:10F6F000764CA047DCE70C21794B9847B5E7714B76 +:10F70000009340F25D1270490320704CA0473268AC +:10F710000023714871498847FEE70DF1070203F1A4 +:10F72000080112F8010F03F8010B8B42F9D1207B7D +:10F7300000F01F00031FDBB2022B04D8A37A002BBA +:10F740003FF47CAF1FE1C31FDBB2032B09D9A0F14B +:10F750000B03DBB2032B00F2FD80002323610120A9 +:10F7600070E7604B98470746E369BBB1E669022042 +:10F77000B840514B98477060504B9847002837D19C +:10F78000504B009340F297124F4903204F4CA04733 +:10F7900072680023504851498847FEE70C20464BC9 +:10F7A0009847E061454B984768B9464B00934FF442 +:10F7B000C67245490320454DA847E26900234648E3 +:10F7C00046498847FEE7E06970B93D4B00933D4BE1 +:10F7D0004FF4C7723C4903203C4EB04721462846AF +:10F7E0003B4B984700202DE70C213D4B9847BDE748 +:10F7F000012303FA07F738462F4B9847B0602F4B89 +:10F800009847002832D07368002B3DD0B368002B96 +:10F810003AD0A37A012B67D063689A68002F00F072 +:10F8200095800023706800EB430C92F801E04FEAEA +:10F830009E0E9578ED081178C90810F8138061F3D1 +:10F84000040800F8138030F813106EF34A1120F802 +:10F850001310090A65F3C7018CF80110D078B1685C +:10F86000C854013304329F42DCD16FE0154B009342 +:10F8700040F2991214490320144CA047B2680023A7 +:10F88000154816498847FEE70D4B00930D4B40F293 +:10F890009B120D4903200D4EB047214628460C4BC4 +:10F8A00098470020CEE600BF091E01007C530200ED +:10F8B000E3B40100351D0100C523010099220000B9 +:10F8C000AC530200545202000053020045220100D2 +:10F8D000D1F5000080530200C03F0200A1220000C9 +:10F8E0001F2B01006996000004213068284B9847BF +:10F8F00067B30025A946DFF8B0804B46042202A971 +:10F900003068C047726802EB450E9DF80900800818 +:10F910009DF80A10C9089DF80830DB0812F815C0D8 +:10F9200063F3040C02F815C032F8153060F34A1383 +:10F9300022F815301B0A61F3C7038EF801309DF8D9 +:10F940000B20B3685A550135AF42D6D1002323614D +:10F95000012077E6214628460E4B98470E4B009330 +:10F960000E4B40F2D3120E4902200E4CA04700204D +:10F9700068E6002066E6087B00F01F00031FDBB28C +:10F98000022B3FF6E0AE0023236101205AE600BFC0 +:10F99000E11C0100D1F50000D853020054520200CE +:10F9A0000053020045220100A51C01002DE9F04F83 +:10F9B0008BB00D4614469A46BDF950600B7B03F0A0 +:10F9C0001F031A1FD2B2022A45D88B7A012B03D00B +:10F9D00000200BB0BDE8F08FD1F81C80087B00F050 +:10F9E0001F009E4B98470746E968C1F38A210AFB2E +:10F9F000014100FB01F1C9100431D8F80000984B17 +:10FA00009847D8B9C7F3C70706FB07F60AAB002229 +:10FA100043F8102D32461599D8F80000914CA047B4 +:10FA2000069B9E4215D0904B0093904B40F235229E +:10FA30008F4902208F4CA0470020CAE78E4B0093CD +:10FA40008A4B40F22E228A4902208A4CA04700208D +:10FA5000BFE70120BDE7A3F10B02D2B2032A0FD901 +:10FA6000073BDBB2032B40F2DF80844B0093844BD7 +:10FA70004FF4FE727E4902207E4CA0470020A8E78A +:10FA800000228DF81020FF238DF811308DF81420FE +:10FA900055228DF81520AA228DF816208DF81730E2 +:10FAA000784B0FCB0AAF07E90F002989002E0CDD38 +:10FAB000080A159B721E92B2013202EB42021A44EE +:10FAC0001970587003339A42FAD1287B00F01F0056 +:10FAD000624B9847804601278740013FBFB22B7B8E +:10FAE00003F01F030B3B032B00F28380DFE803F0DE +:10FAF000024C6176EB68C3F38A23DA1013F0070F28 +:10FB00000CBF0FFA82FB02F1010BE3100AFB0B3A68 +:10FB1000E44304F007040DF11009EB690393584620 +:10FB2000594B98470290AB7A002B6BD16B689B685E +:10FB30009A44002E23DD159A711E89B2013101EB22 +:10FB400041011144C8F1080040B29AF8003007FAA8 +:10FB500004F6334023412E7B06F01F060E2EDBB247 +:10FB600018BF19F803309370A4EB080464B2002C9A +:10FB7000BCBF04460AF1010A03328A42E5D1029869 +:10FB8000424B9847012024E7EB68C3F38A239A107D +:10FB900013F0030F0CBF0FFA82FB02F1010BA3104D +:10FBA0000AFB0B3AE44304F0030464000DF114096A +:10FBB000B3E7EB68C3F38A235A1013F0010F0CBFAD +:10FBC0000FFA82FB02F1010B63100AFB0B3A14F0EF +:10FBD000010F13D000240DF118099EE7EB68C3F361 +:10FBE0008A239AB20FFA83FB0AFB024A0024A14639 +:10FBF00093E70024A246A346A1468EE704240DF114 +:10FC000018098AE70AF10401039B1868144B984706 +:10FC100000235A46DDF808B0594603980068DFF81B +:10FC200044A0D047DA4684E7087B00F01F000B4B66 +:10FC3000984781464FF0010808FA00F808F1FF38AC +:10FC40001FFA88F82B7B03F01F03073B032B00F2FE +:10FC5000A580DFE803F01D687E9600BF699600006E +:10FC6000E11C0100A51C010028540200745202008E +:10FC70000053020045220100045402004C540200CB +:10FC8000AC5202009C5202002529010059250100B6 +:10FC9000EB68C3F38A234FEAE30B13F0070F0CBFA3 +:10FCA0000FFA8BFB0BF1010BE3100AFB0B3A0AF185 +:10FCB000080AE44304F00704EF695846414B9847AB +:10FCC0000290AB7A002B6ED16B689B689A44002E31 +:10FCD00024DD159A711E89B2013101EB41011144F5 +:10FCE000C9F108056DB29AF8003008FA04F0034033 +:10FCF0002341DBB2786830F813001070000A5070AE +:10FD0000B868C35C9370A4EB090464B2002CBCBF58 +:10FD10002C460AF1010A03328A42E4D102982A4BA6 +:10FD20009847012055E6EB68C3F38A234FEAA30BFB +:10FD300013F0030F0CBF0FFA8BFB0BF1010BA31099 +:10FD40000AFB0B3A0AF1100AE44304F003046400CE +:10FD5000B2E7EB68C3F38A234FEA630B13F0010F9A +:10FD60000CBF0FFA8BFB0BF1010B63100AFB0B3A74 +:10FD70000AF1400A04F00104002C0CBF0424002402 +:10FD80009AE7EB68C3F38A2B1FFA8BF30FFA8BFB0E +:10FD90000AFB034A0AF5806A00248DE74FF0000A47 +:10FDA0005446D34688E70AF104013868074B984760 +:10FDB00000235A46DDF808A051463868044DA8478C +:10FDC00085E700BF2529010059250100E11C01003C +:10FDD000A51C01002DE9F04781460E460B786FF314 +:10FDE00047130B700F48104B9847C8B104464FF0AB +:10FDF000000ADFF830800D4F05E0554621464046A9 +:10FE0000B847044648B12368002BF6D0324649462D +:10FE10002046984705460128F0D12846BDE8F087DE +:10FE20000025FAE7A46C0020911F0100A51F010026 +:10FE30002DE9F0478246884602810846264B9847BE +:10FE40008AF80A000023CAF81C3001280DD0CAF82D +:10FE500004802248224B98470446002836D00025CB +:10FE60000AF10C091D4F1F4E10E040461E4B9847EB +:10FE700001301E4B9847CAF8040041461C4B984776 +:10FE8000E7E721463846B0470446D8B12368002B3F +:10FE9000F7D06268002AF4D04A4641462046984787 +:10FEA00005460128EDD10023CAF81830CAF81030F1 +:10FEB000CAF8004063685146204698470546012825 +:10FEC000DFD100E01DB12846BDE8F08700252021E4 +:10FED0005046084B9847F6E751990000A46C002063 +:10FEE000911F0100A51F010007B50100C5230100F6 +:10FEF000F7B401001F2B010070B582B00668B4682A +:10FF000054B11D4613460A460146069801900095D5 +:10FF10003046A04702B070BD0020FBE7036883B104 +:10FF200010B50446DA6812B1014618469047A37A24 +:10FF3000012B00D010BD6068024B9847002363601E +:10FF4000F8E77047AD24010030B583B00D480E4B83 +:10FF5000984704460D4B984738B11CB110212046F4 +:10FF60000B4B9847204603B030BD0A4B0093C92283 +:10FF700009490320094DA84722460023084809499A +:10FF80008847FEE7A46C0020F91E010099220000BA +:10FF90001F2B0100D0520200005302004522010035 +:10FFA000C03F0200A122000010B582B01021144809 +:10FFB000144B9847144B984748B1144A0260144AAE +:10FFC0004260144A8260144AC26002B010BD134BF2 +:10FFD0000093134B472213490220134CA0470020E3 +:10FFE000124B98470028F0D10D4B009348220D4941 +:10FFF0000320A047002200230D480E498847FEE752 :020000021000EC -:100000000D4B009348220D490320A04700220023F6 -:100010000D480E498847FEE7A46C0020F91E010038 -:1000200061FF0000EDF4000025F60000C5F90000B6 -:10003000E9F50000A054020000530200185302002A -:100040005D220100B1220000D83F0200B922000069 -:1000500008B54368984708BD10B50468A04710BDAF -:1000600010B584B013460A4601A9044CA04718B144 -:10007000BDF8040004B010BD0020FBE759000100EA -:1000800003780A78934211BF981A40784B78C01AC7 -:10009000704703880A88934211BF981A40884B889A -:1000A000C01A704700880B88C01A70470B46002999 -:1000B0006CD0F0B585B00469A269914215D0678A09 -:1000C000C7F30907002F5DD0A16808681A1A0392C8 -:1000D000888882420BD800261D468B7CE3B9C888ED -:1000E0001044A561E06105B0F0BDE069FBE70025C3 -:1000F0000135ADB2BD4245DA05EB850082001646FA -:1001000001EB020E51F820209A1A0392BEF8040067 -:100110008242EDD87146DFE7012B05D0022B08D0D3 -:10012000032B18D00020DCE7CB689B5CC888184400 -:10013000D7E70A8A8968164B0093022303A8154F54 -:10014000B8470346D0B1A2681644B068181AF388BD -:1001500003EB5000C5E70A8A89680D4B0093022320 -:1001600003A80C4FB84758B1A2681644B268831A66 -:100170005B08F268D35CF0881844B2E70020B0E76F -:100180000020AEE7A3610020E061ACE708467047BD -:10019000A5000100854101002DE9F04F9FB009291C -:1001A000056908BF2021A04B9847002800F0EA8489 -:1001B00080466F6807EBC0062B7D13F0030F0BD151 -:1001C000002E00F0E28457F83030C3F313032868A0 -:1001D00018441FB0BDE8F08F3379747904FB03F441 -:1001E000002C00F0D584EB7CC3F38303013B032B8D -:1001F00005D8DFE803F00275787B0734E4088B4B01 -:1002000018688B4B9847844211D9DFF82092214619 -:10021000D9F80000874B9847C9F80000864B9847EB -:10022000002866D0814B1B68002B00F0B48457F87F -:100230003810C1F313012B6819447C4BD3F800909C -:1002400033790C939B461AB217461892727915921D -:10025000EA7CC2F38302D3B20F93032B14BF184678 -:1002600004200890714B59601A7200225A72DA60A9 -:100270001A745A745846714CA04716905846A047B5 -:100280001790002F00F05182684B197C03915C7C21 -:100290005F68DD6893F808A0012202FA0AF2511E95 -:1002A000D046CAF108060A96CAF11006099693F8D4 -:1002B00009C0169800F1FF3E0BF1FF339BB20D937E -:1002C00000EB030B76460023059307931A460AF1C9 -:1002D000FF3A01230493CBB20B930692614634E0BC -:1002E0000334A4088BE70134640888E70134640808 -:1002F00085E7534B0093722252490320524CA0478A -:10030000D9F800200023514851498847FEE70320CF -:10031000EB0805F0070202EB080CBCF1070F35D81B -:1003200017F803C00A9B9A1A4CFA02F3034015B15E -:10033000039A934238D045440393012204980690CF -:1003400006F8013F5E4500F04E81A1BBBAF1070FF0 -:1003500018D801A353F82AF0890301000F03010004 -:10036000790301007D03010085030100850301007D -:1003700085030100810301000720C9E70F20C7E7BB -:10038000FF20C5E70B98C3E70120C1E717F803C0BA -:100390003B445B7803EB0C231FFA83FC099B9A1AFE -:1003A0004CFA02F30340C2E7012205920024049AAA -:1003B00007921146BFE7012904D0022900F0CD8041 -:1003C0000023BDE7EB0805F0070202F1010CBCF1C8 -:1003D000070F13D8FB5CD2430832134103F001032B -:1003E0000134E4B26A1CB3B9BAF1070F00F2A58078 -:1003F000DFE80AF0A5849D9FA3A3A3A117F803C07B -:100400003B445B7803EB0C239BB2D2431032134185 -:1004100003F00103E4E70B2C1CD01546039B0122DB -:100420000592049A8CE700BFAD0001005C2B002010 -:100430005125010099280100B12200003D29010049 -:10044000C4540200E05402005D220100D83F0200C3 -:10045000B9220000D30802F00702911D072913D822 -:10046000FC5CC2F1020244FA02F202F03F040735DA -:10047000002C40F0AD80BAF1070F26D8DFE80AF073 -:1004800027101F2125252523F95C3B445C7804EBCC -:100490000124A4B2C2F10A02144104F03F04E6E7C9 -:1004A0000320EA0805F0070303EB0801072910D829 -:1004B000BA5C0A99CB1A42FA03F3034014E007200E -:1004C000EFE70F20EDE7FF20EBE70B98E9E70120CE -:1004D000E7E7B95C3A44527802EB012292B20999FB -:1004E000CB1A42FA03F303404544039301220592D9 -:1004F0000498024607900021069021E70320D108C6 -:1005000002F0070303EB0805072D1AD8795C0A9D52 -:10051000EB1A41FA03F3034002EB080503930122AF -:1005200005920498024607900021069008E70720EC -:10053000E5E70F20E3E7FF20E1E70B98DFE7012085 -:10054000DDE77D5C3944497801EB052189B2099DDD -:10055000EB1A41FA03F30340DEE7013C14F0FF0419 -:100560003DD1BAF1070F23D8DFE80AF024041C1E9E -:10057000222222200320EA0805F0070303EB0801EA -:10058000072919D8BA5C0A99CB1A42FA03F3034037 -:1005900045440393012205920498024607900021E6 -:1005A0000690CDE60720E6E70F20E4E7FF20E2E72C -:1005B0000B98E0E70120DEE7B95C3A44527802EBA1 -:1005C000012292B20999CB1A42FA03F30340DFE702 -:1005D000039B01220592049A07920221B0E6039B35 -:1005E00001200590ACE606988C46C8B90AB19F4B2D -:1005F000DD60079B13B19D4B83F809C0059B0BB1D0 -:100600009A4B5C7400200F9B039304274FF00F0C50 -:100610004FF00D084FF00B0A4FF0090B049728E03C -:10062000924B9DF80C101974E0E707293DD8DFE8DC -:1006300001F004272A2D303336393D46002100F0E1 -:100640000702C2F10802521BC0F3CF044FF0FF3380 -:10065000AB4063F0FF03934019F804502B4001FABC -:1006600002F2134309F80430089A13461044B645C1 -:100670001DD01EF8011F0F9B032BD6D0039DDEE774 -:100680003D460221DBE73D460499D8E73D46062179 -:10069000D5E73D465946D2E73D465146CFE73D4670 -:1006A0004146CCE73D466146C9E73D46C7E70D9A5E -:1006B00002FB03330E93159B012B40F355826B4BCA -:1006C000D3F804801A7A10461992012202FA00F136 -:1006D0000139C9B21B9101468246587C0790C1F18D -:1006E00008010B91CAF110010D91197C0391D3F807 -:1006F0000CC093F809B0089912910C9B013B9BB276 -:1007000001FB03F11A9100210A910C9106910891C5 -:100710001092179AD3181C93012304930F9A0992ED -:1007200004221D9205936646F5E100230E93C2E76D -:100730004FF003090CE04FF0070909E04FF00F09F3 -:1007400006E0E14604E0DDF8449001E0DDF81090B9 -:10075000F30806F0070202EB0A0BBBF1070F31D8D2 -:1007600018F803300B9DAA1A43FA02F202EA0909AB -:100770005FFA89F916B1039B4B4533D05644CDF847 -:100780000C90049B0693059B089304F8019FA042DC -:1007900000F05D8169BB079B1A46072AD3D801A3E5 -:1007A00053F822F04D07010031070100370701001F -:1007B0003D07010047070100470701004707010007 -:1007C0004307010018F803B043445B7803EB0B23A5 -:1007D0009BB20D9DAA1A43FA02F202EA09025FFADD -:1007E00082F9C7E7049B0A937746059B0C93194649 -:1007F000C4E7012904D0022900F0D780F146C4E7FC -:10080000F30806F0070202F10109B9F1070F15D844 -:1008100018F80330D2430832134103F001037A1C65 -:10082000D7B2721CBBB9079B1946072900F28E800C -:10083000DFE801F08E8486888C8C8C8A18F803900F -:1008400043445B7803EB09239BB2D243103213413C -:1008500003F00103E3E70B2F0AD01646DDF80C90F6 -:10086000049B0A93059B06938FE700BF5C2B002037 -:10087000D30802F00702911D072915D818F8033094 -:10088000C2F1020243FA02F202F03F070736002FDC -:1008900040F0CF80079B1A46072A39D8DFE802F0DC -:1008A0003B1230333838383618F8031043445B783D -:1008B00003EB01239BB2C2F10A0243FA02F202F0F7 -:1008C0003F07E3E74FF00309F30806F0070202EBE6 -:1008D0000A01072922D818F803300B998A1A43FA1B -:1008E00002F202EA09025FFA82F95644CDF80C904E -:1008F000049B0A93059B0C9371460693089344E767 -:100900004FF00709E0E74FF00F09DDE7E146DBE7CD -:10091000DDF84490D8E7DDF81090D5E718F803101B -:1009200043445B7803EB01239BB20D998A1A43FA87 -:1009300002F202EA09025FFA82F9D6E7032608E02A -:10094000072606E00F2604E0664602E0119E00E05E -:10095000049ED30802F0070101EB0A09B9F1070F61 -:1009600014D818F803300B9D691A43FA01F131408D -:100970005FFA81F902EB0A06CDF80C90049B0A930A -:10098000059B0C93714606930893FEE618F80390B6 -:1009900043445B7803EB09239BB20D9D691A43FA2C -:1009A00001F131405FFA81F9E4E77B1E13F0FF07A4 -:1009B00048D1079B1A46072A0DD8DFE802F00E043B -:1009C00006080C0C0C0A032108E0072106E00F21A1 -:1009D00004E0614602E0119900E00499F30806F092 -:1009E000070202EB0A09B9F1070F13D818F8033010 -:1009F0000B9DAA1A43FA02F20A405FFA82F95644A2 -:100A0000CDF80C90049B0A93059B0C9371460693BA -:100A10000893BAE618F8039043445B7803EB092384 -:100A20009BB20D9DAA1A43FA02F20A405FFA82F9BC -:100A3000E5E7DDF80C90049B0A93059B0C930221DB -:100A40000693A2E6DDF80C90049B0A939DE6DDF880 -:100A50004C900797149F169B03F1FF3E0E9DDDF807 -:100A60003CC011961391DDF848B021E0072A40D828 -:100A7000DFE802F0042A2D303336393C042300220B -:100A800005F00701C1F10801C91AC5F3CF0001261D -:100A900006FA03F35B4263F0FF038B4019F8006032 -:100AA00033408A40134309F800305D44BC4222D0F1 -:100AB00017F8012F9EF801305A400EF8012FBCF1B3 -:100AC000030FD3D0099BDBE704230222D8E70423DA -:100AD0001D9AD5E704230622D2E704230922CFE793 -:100AE00004230B22CCE704230D22C9E704230F22A1 -:100AF000C6E70423C4E7119EDDF84CB01A9B129A96 -:100B000013440E9A1A440E92109B01331BB2109399 -:100B1000159A9A4215D0189B002BF5D0179B5F1E93 -:100B20003C464FF0000E199B5D1E1B9B11934FF02E -:100B3000FF0CCDF84C9059461497079F07951C98C9 -:100B400028E6B446089BC3B9069B13B1134BC3F800 -:100B50000CC00C9B13B1114B83F809B00A9B1BB15D -:100B60000E4B9DF81C205A7416980D4CA0471798F0 -:100B7000A0470A4B1868FFF72CBB084B9DF80C20C8 -:100B80001A74E1E70020FFF724BB0020FFF721BB28 -:100B90000020FFF71EBB0020FFF71BBB5C2B0020D3 -:100BA000712501002DE9F04784B007460C469946AF -:100BB000092A06BF01252022002506691146494B56 -:100BC00098478046002800F08680F368002B7CD090 -:100BD00049463846434B9847034618BB0023706884 -:100BE00000EBC800328A03FB02F31B114288C2F3F8 -:100BF0000B1205B15200083313441B0923804379BB -:100C0000A3800279628090F90630E38090F9073082 -:100C10002381F37CC3F38303A372002D60D05200C1 -:100C2000628059E03A69D17C11F0400F3CD1D7681D -:100C3000FA7A12F0030203D0012A1BD00023CEE778 -:100C4000D7F8009008EB002304A820F8043DBA6808 -:100C5000254B0093022322F07F424946DFF890A003 -:100C6000D04728B1A0EB09035B087A68D356B6E7F2 -:100C70000023B4E7D7F8009008EB002304A840F85D -:100C8000043DBA68194B0093042322F07F42494681 -:100C9000DFF85CA0D04728B1A0EB09031B097A68F4 -:100CA000D3569CE700239AE7D1684A6812F80820D7 -:100CB0006AB18868C35C63B1013A487B09680B4438 -:100CC00000FB023212F9013C89E7002387E7002389 -:100CD00085E7002383E70025284604B0BDE8F087B8 -:100CE0000125F9E7AD00010081000100930001003A -:100CF0008541010008B5044B186820B1034B9847A3 -:100D00000022014B1A6008BD5C2B0020C5240100A5 -:100D100010B504462C21154B98470023E3604FF48F -:100D2000F07222804FF4887262806360227A63F3EB -:100D30004102227294F8282063F3040284F82820E8 -:100D4000228D42F4FC622285120A63F3C70284F802 -:100D500029202289822161F38B02228142F0010243 -:100D6000227223626362636110BD00BF372B0100F2 -:100D7000F8B504460D4617461E462421034B9847F6 -:100D800025606760A560E660F8BD00BF372B0100F5 -:100D9000F0B583B005463F483F4B984704460028CE -:100DA00054D04FF4B8713D4B98472C222946204629 -:100DB0003B4B98474C2104F130003A4B98470023B5 -:100DC000C4F86C31384B1B68002B50D0364B1F6871 -:100DD0001C60234603221E213448354DA847E0629B -:100DE000344B9847002845D0E36A002B4FD0B4F825 -:100DF00068316FF30903A4F868310025C4F86C5119 -:100E0000294628462C4EB047E06329462846B0477D -:100E1000206429462846B04760642946206C274E46 -:100E2000B0472946606CB0472946206C244EB04735 -:100E30002946606CB047E06B224B98471A4B1F6005 -:100E4000E06A214B9847204603B0F0BD194B984704 -:100E50000028F8D11D4B00937C221D4903201D4C16 -:100E6000A047002200231C481C498847FEE70E4B80 -:100E70001C60ABE7154B00938D2215490320154DDF -:100E8000A847E26A0023144814498847FEE7002473 -:100E9000D9E700BF986C0020111F0100372B01001B -:100EA00055260100F91E0100702B0020755F00001F -:100EB000E5390100B1220000253E00009D3B000005 -:100EC000A129000021330000553A0100BC91020025 -:100ED000D49102005D220100D83F0200B922000037 -:100EE000014B1868704700BF702B0020034640B1CB -:100EF0001A7A12F0020F0CBFB3F90000B3F9020026 -:100F00007047034B1B68002BF2D14FF4F070704711 -:100F1000702B0020034640B11A7A12F0020F0CBF6A -:100F2000B3F90200B3F900007047034B1B68002BB4 -:100F3000F2D14FF488707047702B0020034618B12F -:100F40001889C0F389007047024B1B68002BF7D14A -:100F500082207047702B002038B50546A0B1284686 -:100F60000F4B9847044628460E4B984704EB8404E1 -:100F70006400B4FBF0F01D280DD931280DD94628A6 -:100F800034BF0220032038BD074B1D684FF4F074B6 -:100F9000002DE8D0E3E7002038BD012038BD00BFB8 -:100FA000ED0E01003D0F0100702B00204268002370 -:100FB00093614268D361704708B520B10146044887 -:100FC000044B984708BD0248034B984708BD00BF33 -:100FD000986C0020BD1F0100A91F010040687047E8 -:100FE00043681A6822B15868003018BF0120704762 -:100FF0000020704710B50446084B9847034658B187 -:10100000B4F90020B4F9023003FB02F36268D2683D -:10101000934214BF00230123184610BDE10F0100C5 -:1010200008B520B101460448044B984708BD024862 -:10103000034B984708BD00BF8C6C0020BD1F01000A -:10104000A91F0100034B00221A705A68104458600F -:10105000704700BF742B0020044B4FF00101197042 -:101060001A78002AFBD0014B58687047742B002077 -:1010700010B50446014B9847001B10BD59100100E4 -:101080000A6A486A82421ABF800290FBF2F04FF46B -:1010900080608A69CB699B1A00FB03F002EBA020F9 -:1010A00000B2704708B50122084B1A700848094B76 -:1010B000984728B10421054B5868074B984708BD4D -:1010C0000021024B5868044B984708BD7C2B002038 -:1010D0005C6D0020A91F0100593901002DE9F04382 -:1010E00091B06348634B984768B10146604D624CCC -:1010F00091F83C306FF3410381F83C302846A0471B -:1011000001460028F4D15D4B98685D4B98478046B6 -:101110005748584B98470446002800F08980574D9F -:101120004FF00007524EDFF84C911CE013EB080320 -:1011300000F18580A268002A00F088802046904750 -:101140001EE0214604F110004E4B984728E0626AE9 -:10115000236A9A422BDA2B78002B71D03046C8478D -:101160000446002C64D02F7094F83C3013F0020F2A -:1011700066D143F0020384F83C30636A002BD5DD6E -:10118000636A43446362002BE5DB226A9A42B8BF7C -:1011900062622369002BD4D0214604F110009847E5 -:1011A0006368002BD3D001B220689847CFE794F84A -:1011B0003C3013F0010308D1A28E002A48D04FF62C -:1011C000FF718A424BD0013AA286A28ECAB1226B2D -:1011D00052426262E26A002ABDD0002B3BD083F00B -:1011E000010394F83C1063F3000184F83C10A369F8 -:1011F000E069A061E36111F0010F08BFA26B2262F8 -:10120000A9E7E26A02B133B34022214668461E4B89 -:101210009847214630461D4B984720461C4B98471F -:101220001C4B9847039B002B95D06846984792E744 -:10123000194B9847114B986011B0BDE8F083636279 -:10124000214630460C4B984704468AE763629CE788 -:10125000E26A002AD8D0A16A49426162BFE7226BE4 -:1012600052426262E26A002A3FF475AFF3E700BFC0 -:101270005C6D0020A91F0100BD1F01007C2B002018 -:101280007110010081100100552601009520010018 -:10129000C5240100A51001005910010038B54021F6 -:1012A00009480A4B98470A4B98470A4CA06000230C -:1012B00004221E210848094DA8476060084B984742 -:1012C0000023237038BD00BF5C6D0020F91E0100B3 -:1012D000591001007C2B0020DD100100E5390100D0 -:1012E000A510010010B5044640210D4B98474FF45E -:1012F000FA7323620023A3616423E361094B1A7824 -:1013000022745A7862749A78A274DB78E3740123A9 -:10131000A38694F8363043F0010384F8363010BDCC -:10132000372B0100009202002DE9F84F074689464D -:101330001548164B984710B304464FF0000ADFF8E3 -:101340004880134EDFF854B00BE021464046D847A2 -:101350002046104B9847104B98474FF0010A2C46F7 -:101360007DB121464046B04705462368BB42F6D1D1 -:1013700063684B45E9D0B9F1000FF0D1E5E74FF0D4 -:10138000000A5046BDE8F88F5C6D0020A91F0100DF -:10139000BD1F0100C5240100A5100100952001001A -:1013A00030B583B00546416811B100681B4B9847C2 -:1013B0001B481C4B9847F0B919481B4B98470446EB -:1013C0001A4B9847E8B1A4B12B6AAB634022294677 -:1013D0002046174B984794F8363013F0010F06D08B -:1013E000636823B1206810B1B4F918109847114B05 -:1013F000984703B030BD104B984701380F4B9860A9 -:10140000DAE70F4B00936A220E4903200E4DA847DE -:10141000224600230D480E498847FEE729130100A4 -:101420005C6D002045220100111F0100B122000067 -:1014300055260100A5100100591001007C2B002049 -:1014400008920200189202005D220100D83F0200BB -:10145000B9220000F8B504460F460A480A4B9847DF -:10146000014660B1074E094D03E03046A8470146EA -:1014700028B10B68A342F8D14B68BB42F5D10846AE -:10148000F8BD00BF5C6D0020A91F0100BD1F010059 -:10149000891A0029B8BF49424FF47A7202FB01F25F -:1014A00092FBF0F04FF6FF72904228BF10460028E2 -:1014B00008BF012080B2704730B4B0F90050B0F9D5 -:1014C00004305B1B03EBD3735B109CB20A88521B86 -:1014D000121B49884088081A001B13FB03F310FBFA -:1014E00000F012FB02029342B4BF0020012030BC86 -:1014F0007047013943881944C1807047B0F904200E -:10150000B0F90030D21AB0F90630B0F90200181A5A -:10151000013002FB0000704770B4B2F90050B1F91D -:1015200000309D42B8BF1D460580B2F90230B1F9C6 -:101530000240A342B8BF23464380B2F90440B1F948 -:101540000460B442A8BF34468480B2F90620B1F9E1 -:1015500006108A42A8BF0A46C280A54205DC934213 -:10156000CCBF0020012070BC70470020FBE710B406 -:10157000B2F90030B1F90040A342A8BF234603806E -:10158000B2F90230B1F90240A342A8BF234643801A -:10159000B2F90430B1F90440A342B8BF23468380B6 -:1015A000B2F90630B1F906209342B8BF1346C380A2 -:1015B0005DF8044B704700002DE9F04F85B0B1F99C -:1015C0000050B0F900E07545C0F29D80B0F904808C -:1015D000454500F39C80B1F90230B0F902A05345B3 -:1015E000C0F29780B0F906000190834200F3938027 -:1015F000002A40F392808C461FFA88F91FFA8EF673 -:1016000087B21FFA8AF5ADF808E009F101039B1BC8 -:101610001BB203EBD3747B1C5B1B1BB203EBD371BC -:1016200064104B10A342A8BF23469342A8BF1346A1 -:101630009CB22644B6B2ADF80C60ADF80AA02544C1 -:10164000ADB20FFA85FBADF80EB00022CDF800C0A8 -:10165000614602A8FFF7B0FF50B12644ADF80C6018 -:101660002C44ADF80E40009902A82E4B98474BE051 -:101670003F1BBFB2ADF80A70BDF80430ADF80E30B4 -:101680000022009902A8FFF797FF50B12644ADF859 -:101690000C603C1BADF80A40009902A8214B98470A -:1016A00032E0A9EB04091FFA89F9ADF80890ADF80A -:1016B0000C800022009E314602A8FFF77DFF58B142 -:1016C000A9EB0409ADF808903C1BADF80A4031467F -:1016D00002A8144B984717E0ADF80AA0ADF80EB079 -:1016E0000022009E314602A8FFF766FFB8B1A9EBC1 -:1016F0000409ADF808902C44ADF80E40314602A81C -:10170000084B984700E0002005B0BDE8F08F0020AE -:10171000FAE70020F8E70020F6E70120F4E70120CF -:10172000F2E700BFB9140100B0F90020B1F90430AC -:101730009A4214DCB0F90420B1F900309A4210DB6F -:10174000B0F90220B1F906309A420CDCB0F906007B -:10175000B1F902309842B4BF002001207047002048 -:101760007047002070470020704700002DE9F041CD -:1017700082B0B0F90050B1F90030AB4214DCB0F9DE -:101780000240B1F902309C4214DBB0F90440B1F9D7 -:1017900004309C4210DCB0F90630B1F90640A34297 -:1017A000CCBF0023012300E000233AB9184602B061 -:1017B000BDE8F0810023F8E70023F6E717460C4662 -:1017C0000646ADF804504388ADF8063001A920461E -:1017D000134B984703460028E8D0B6F9048002A9C5 -:1017E00021F8048D3A4620460D4B984703460028C1 -:1017F000DCD0ADF80450F388ADF806303A4601A9C4 -:101800002046074B984703460028CFD002A921F86D -:10181000048D3A462046024B98470346C6E700BF70 -:10182000B915010030B4142A3AD8DFE812F01500D7 -:10183000430047005C00670072008D009E00B3000B -:10184000CE00D600EE00FC0004011C012A0132018A -:101850004A01580160017801828801320488121B14 -:1018600012B202EBD2748A8801320D88521B12B276 -:1018700002EBD2725210C2EB64021A80C2880132AB -:101880004488121B12B202EBD274CA880132498812 -:10189000521A12B202EBD2725210C2EB64025A8098 -:1018A0001A8801880A441A805A8841880A445A8052 -:1018B00030BC704700221A805A80F1E782880132DA -:1018C0000488121B12B202EBD2748A880132098892 -:1018D000521A12B202EBD2725210C2EB64021A8098 -:1018E00000225A80DCE782888C88121B0488121B35 -:1018F00009880A441A8000225A80D1E700221A80FF -:10190000C288CC88121B4488121B49880A445A801A -:10191000C6E7828801320488121B12B202EBD2742D -:101920008A8801320D88521B12B202EBD272521019 -:10193000C2EB64021A80C288CC88121B4488121B36 -:1019400049880A445A80ABE782888C88121B048835 -:10195000121B0C8822441A80C288CC88121B44882F -:10196000121B49880A445A809AE700221A80C288CA -:1019700001324488121B12B202EBD274CA880132BF -:101980004988521A12B202EBD2725210C2EB6402B0 -:101990005A8085E782888C88121B0488121B0C8869 -:1019A00022441A80C28801324488121B12B202EB10 -:1019B000D274CA8801324988521A12B202EBD2722A -:1019C0005210C2EB64025A806AE700221A80CA8869 -:1019D0004988521AD2435A8062E7828801320488C9 -:1019E000121B12B202EBD2748A8801320D88521B8C -:1019F00012B202EBD2725210C2EB64021A80CA8891 -:101A00004988521AD2435A804AE782888C88121B2E -:101A10000488121B0C8822441A80CA884988521AEA -:101A2000D2435A803CE700221A80C28801324188A2 -:101A3000521A5A8034E7828801320488121B12B28B -:101A400002EBD2748A8801320988521A12B202EB70 -:101A5000D2725210C2EB64021A80C28801324188ED -:101A6000521A5A801CE782888C88121B0488121B29 -:101A700009880A441A80C28801324188521A5A8061 -:101A80000EE78A880988521AD2431A8000225A80A7 -:101A900006E78A880C88121BD2431A80C28801325A -:101AA0004488121B12B202EBD274CA8801324988F0 -:101AB000521A12B202EBD2725210C2EB64025A8076 -:101AC000EEE68A880C88121BD2431A80C288CC8822 -:101AD000121B4488121B49880A445A80E0E6828817 -:101AE00001320188521A1A8000225A80D8E6828870 -:101AF00001320488121B1A80C28801324488121BEA -:101B000012B202EBD274CA8801324988521A12B258 -:101B100002EBD2725210C2EB64025A80C0E6828895 -:101B200001320488121B1A80C288CC88121B448898 -:101B3000121B49880A445A80B2E630B48DB210F0C4 -:101B4000030F1CBF20F8021B02F1FF3205EB054119 -:101B5000102A21D900F12003144643F8201C43F831 -:101B60001C1C43F8181C43F8141C43F8101C43F8C1 -:101B70000C1C43F8081C43F8041C103C2033102CA8 -:101B8000EBD8A2F111031B09591C103AC3EB0373E4 -:101B900002EB031200EB41101AB120F8025B013A8C -:101BA000FBD130BC704730B4C1EB4115C1F1FF042B -:101BB000C0F3C42304FB035303EB032203EBC21360 -:101BC000C3F3C452C0F34513C1EB811104FB0311ED -:101BD00001EB012301EBC311C1F3C55100F01F005C -:101BE00004FB005000EB002300EBC310C30D4FF0CB -:101BF000000063F3040061F34A1062F3CF2030BCAD -:101C0000704710B4C1F1FF01C0F3C42301FB03F31B -:101C100003EB032203EBC213C3F3C453C0F3451217 -:101C200001FB02F202EB022402EBC412C2F3C55222 -:101C300000F01F0001FB00F101EB012001EBC011DE -:101C4000C90D4FF0000061F3040062F34A1063F322 -:101C5000CF205DF8044B7047421C43781BB908E065 -:101C600012F8013F2BB13A2BFAD05C2BF8D02F2B76 -:101C7000F6D010467047000008B544210148024BD9 -:101C8000984708BD306D0020F91E010038B5436843 -:101C900073B11A6972B10446016818469047054647 -:101CA0002068054B9847002323606360284638BDB1 -:101CB0000B25FBE70925F9E7C5240100F0B585B040 -:101CC0001E460BB10023336045688DB1AF698FB1FB -:101CD00013460A46044604A8002140F8041D216862 -:101CE00000902846B8470EB1039B336005B0F0BDA5 -:101CF0000B20FBE70920F9E738B5446834B1256AC1 -:101D000035B10A4601682046A84738BD0B2038BDCA -:101D1000092038BD70B5044609480A4B984701466A -:101D200058B10378A34208D0054E074D3046A84766 -:101D3000014610B10B78A342F8D1084670BD00BF30 -:101D4000306D0020A91F0100BD1F01002DE9F043E7 -:101D500083B0002343600360002945D00D469146BF -:101D600004460878244B9847606040B1836853B1BB -:101D7000984740B9002363602360012535E00023C4 -:101D80002360032531E0636858881C4B9847206026 -:101D90001B4B984728B1266886B9002363600A2543 -:101DA00023E0184B00936F2217490320174DA847D3 -:101DB00022680023164817498847FEE7D4F80480B4 -:101DC000D8F80C70AFB12846134B98474B460246E3 -:101DD00031464046B847054638B120680F4B984712 -:101DE00000232360636000E00B25284603B0BDE8B4 -:101DF000F0830925F9E700BF151D0100DD2301006F -:101E0000B122000058920200749202005D2201008B -:101E1000D83F0200B9220000591C0100C52401006E -:101E200010B50446124B9847C8B102462118235CEE -:101E30002E2B0FD02F2B14D05C2B14D0013A0CD0AA -:101E400011F8013D2E2B05D02F2B0ED05C2BF5D198 -:101E5000084810BD0132A01810BD064810BD054845 -:101E600010BD044810BD034810BD024810BD00BF9E -:101E70001FB50100044F020010B582B0019281B17C -:101E80000C4682B103680433CA189DF80410E1546B -:101E90009DF8053053709DF8063093709DF807301B -:101EA000D37002B010BD0068043004212044014BFF -:101EB0009847F6E7372B010000B583B0019281B156 -:101EC0000A46019B83B1016853189DF804005054E1 -:101ED0009DF805205A709DF806209A709DF80720FD -:101EE000DA7003B05DF804FB006804211044014B74 -:101EF0009847F6E7372B010000234360836011F019 -:101F0000030F1CBF21F00301043101607047000082 -:101F100038B50446006808300D4B9847054690B127 -:101F20000022014620460B4B98476268294620460E -:101F3000094B9847616819B12A462046054B9847D6 -:101F40006560A3680BB1284638BDA560FBE700BFFC -:101F5000DD230100B91E0100791E010038B50446D9 -:101F6000006808300D4B9847054690B100220146A5 -:101F700020460B4B9847A26829462046094B9847B4 -:101F8000A16819B12A462046054B9847A5606368A9 -:101F90000BB1284638BD6560FBE700BFDD230100BB -:101FA000791E0100B91E010008B140687047002089 -:101FB000704708B1806870470020704782B00023E6 -:101FC000019370B103680433CA18CB5C8DF80430F8 -:101FD00053788DF8053093788DF80630D3788DF8E6 -:101FE0000730019802B0704782B00023019368B1B6 -:101FF00002688B188A5C8DF804205A788DF80520C9 -:102000009A788DF80620DB788DF80730019802B0B9 -:102010007047000060B32DE9F041044651B30D460E -:102020004368994220D000680830154B984706460F -:1020300018B329462046134B98478046324601463E -:102040002046114FB847424631462046DFF84080CF -:10205000C047324629462046C0472A4631462046D8 -:10206000B8473046BDE8F081084B9847BDE8F0819D -:10207000002070470846BDE8F081BDE8F08100BF50 -:10208000DD230100E91F0100791E0100111F01007D -:10209000B91E010070B50D46044650B3436899421D -:1020A00029D08368994217D029462046184B984773 -:1020B000064629462046174B9847054602463146B4 -:1020C0002046154B9847324629462046134B9847E1 -:1020D00070BD0023A36070BD0D4B9847A06028B170 -:1020E0000022014620460C4B984770BD00236360D8 -:1020F00070BD0029D8D129462046064B984760601C -:102100000028E6D0002201462046044B984770BDC7 -:10211000E91F0100BD1F0100791E0100B91E010069 -:1021200070B50C4615461E461146174B9847AEB182 -:10213000002229462046154B9847626829462046CA -:10214000134B9847616819B12A4620460F4B9847B0 -:102150006560A36803B170BDA56070BDA268294623 -:1021600020460A4B9847002229462046084B9847AC -:10217000A16819B12A462046054B9847A5606368B7 -:10218000002BE8D16560E6E795200100B91E01004B -:10219000791E010091424CD02DE9F84317460C46B8 -:1021A000054612B31146234B9847064684421AD07F -:1021B00021462846204B9847224631462846DFF8DC -:1021C0007C80C047324621462846DFF87490C847D5 -:1021D000224639462846C8473A4621462846C0473F -:1021E00006B3BDE8F883BDE8F883F0B18668B44271 -:1021F0001DD021462846104B984722463146284696 -:102200000E4FB847324621462846DFF83480C04793 -:10221000224600212846C047002221462846B847CA -:10222000AC60DDE76C60BDE8F8831646DFE7BDE82B -:10223000F8837047E91F010095200100791E010015 -:10224000B91E010040B142680AB1002070478068A1 -:10225000B0FA80F040097047012070472DE9F04145 -:10226000C4B0441EE4B2042C15D81F4616460D46D1 -:1022700080464BAB03934A9A4FF4807104A8074CF5 -:10228000A047074B1C6834B104AB00933B46324671 -:1022900029464046A04744B0BDE8F081CD35010055 -:1022A000882B00201B4B83FB00231A18C317C3EB9A -:1022B00022234FF4B47202FB130000B20028BCBF0B -:1022C000801800B2592813DD80B2A0F15A039BB2E6 -:1022D000592B11D9A0F1B4039BB2592B13D9C0F5D6 -:1022E000B47000B20C4B33F81000404200B270479B -:1022F000094B33F910007047C0F1B40000B2064B2F -:1023000033F9100070471BB2034A32F81300404201 -:1023100000B27047B7600BB69C92020030B4000266 -:102320000024131903FB03F5A84228BF1C465208DA -:10233000F7D123090B802401E4B24C8030BC7047F4 -:10234000034660B104301B6800EB5300021D054BCF -:102350001B6803F580439A4228BF00207047014B59 -:10236000186870478C2B002011F0030F1CBF21F060 -:10237000030104310368C3F35E030A1D934217D0BF -:10238000994216D010B4021D535C6FF300035354EE -:102390000368C3F35E03043B5B1A545863F35F04A2 -:1023A0005450036861F35F0303605DF8044B7047AA -:1023B0001146036861F35F0303607047064B1A1D03 -:1023C0001A601A796FF300021A715A6843F6FC71A9 -:1023D00061F35F025A6070478C2B002000282ED0DA -:1023E000F0B583B0054610F0030F1CBF20F00305C5 -:1023F00004350024134E144F08E02946B8472378CB -:1024000043F00103204600F8043BB0B92046B04732 -:10241000044648B1037813F0010FF7D10368C3F302 -:102420005E039D42E9D9F1E7084B0093084BD122A6 -:1024300008490220084CA047002003B0F0BD07481F -:10244000704700BF4123010069230100C0930200CF -:1024500054930200989302005D220100906B0020CB -:1024600038B50020164B98470446154D1BE038BD83 -:102470002046A847014608B3037813F0010F11D195 -:102480002368C3F35E020432086802EB500262F371 -:102490005F0323600846A847014670B10B7813F02C -:1024A000010FEDD00C46002CE1D0237813F0010F82 -:1024B000DED02046A8470446F5E738BD38BD00BF4A -:1024C0004123010038B51E4B984238D0002836D041 -:1024D000044610F8043C6FF3000300F8043C194A6A -:1024E000B2F8203D01339BB2A2F8203D0F2B20D83B -:1024F0000438154B9847014608B3037813F0010FD1 -:1025000015D1114D54F8043CC3F35E02043208683F -:1025100002EB500262F35F0344F8043C0846A8470C -:10252000014628B10B7813F0010FEBD038BD38BD50 -:1025300038BD0022034BA3F8202D044B984738BD2B -:10254000906B0020745E0020412301006124010093 -:1025500038B1064A904206D050F8040CC0F35E0031 -:102560007047002070470020704700BF906B00202C -:102570001B4B1B68984220D0194B9B68834208BFB5 -:1025800001221BD010B582B0164B1B6898421DD09B -:10259000012314491C4651F83320904217D00133CF -:1025A000102BF7D1104B0093104B40F23222104900 -:1025B0000320104CA04702B010BD0022084B03EBD3 -:1025C000C2039A796FF300029A7170470024054B99 -:1025D00003EBC404A3796FF30003A371EBE700BF1F -:1025E00044000020B06C0020DC93020064930200E1 -:1025F000989302005D2201002DE9F041124B9A7977 -:102600006FF300029A719A7B6FF300029A730F4C7A -:102610000025DFF83C802E46271F03E001350834F3 -:10262000102D0ED054F8040C0028F7D0C04744F801 -:10263000046C07EBC5039A7966F300029A71268051 -:10264000ECE7BDE8F08100BF44000020B46C00203E -:10265000C5240100F0B400F0030301F00304A34219 -:1026600000F0A680202A40F2A18000F1200401F1B0 -:102670002003154613F8206C04F8206C13F81F6C27 -:1026800004F81F6C13F81E6C04F81E6C13F81D6C14 -:1026900004F81D6C13F81C6C04F81C6C13F81B6C0C -:1026A00004F81B6C13F81A6C04F81A6C13F8196C04 -:1026B00004F8196C13F8186C04F8186C13F8176CFC -:1026C00004F8176C13F8166C04F8166C13F8156CF4 -:1026D00004F8156C13F8146C04F8146C13F8136CEC -:1026E00004F8136C13F8126C04F8126C13F8116CE4 -:1026F00004F8116C13F8106C04F8106C13F80F6CDC -:1027000004F80F6C13F80E6C04F80E6C13F80D6CD3 -:1027100004F80D6C13F80C6C04F80C6C13F80B6CCB -:1027200004F80B6C13F80A6C04F80A6C13F8096CC3 -:1027300004F8096C13F8086C04F8086C13F8076CBB -:1027400004F8076C13F8066C04F8066C13F8056CB3 -:1027500004F8056C13F8046C04F8046C13F8036CAB -:1027600004F8036C13F8026C04F8026C13F8016CA3 -:1027700004F8016C203D20342033202D3FF67AAF41 -:10278000A2F1210525F01F04203403192144203A29 -:1027900025F01F05521B3AB101391A4411F8014FB7 -:1027A00003F8014B9A42F9D1F0BC70470346F2E7B7 -:1027B000002B5BD10546202A34D905F1200401F114 -:1027C0002003164653F8207C44F8207C53F81C7CE8 -:1027D00044F81C7C53F8187C44F8187C53F8147C9B -:1027E00044F8147C53F8107C44F8107C53F80C7CAB -:1027F00044F80C7C53F8087C44F8087C53F8047CBB -:1028000044F8047C203E20342033202EDAD8A2F174 -:10281000210323F01F04203425442144203A23F0CF -:102820001F03D21A042A32D90E1F2C46134656F81B -:10283000047F44F8047B043B042BF8D8541F24F095 -:1028400003030433043A24F00304121B19442B44F9 -:10285000002AA9D001391A4411F8014F03F8014B9D -:102860009342F9D1A0E729461D46A4E7C3F104032A -:102870007AB1C418034611F8015B03F8015B0D46F9 -:10288000013AA342EFD0002AF5D10022E0E72B461F -:10289000DEE70346F9E70000F0B583B004460D46D5 -:1028A00011F0030F1CBF21F00305043538B110F8F7 -:1028B000043C03F00103002B14BF0446002420460F -:1028C000154B98470646854224D011D32846134B12 -:1028D00098470746A0B184B17EB12A46B54228BFC9 -:1028E000324621460E4B984720460E4B984704E04F -:1028F0002946201F0C4B98472746384603B0F0BDA9 -:102900000A4B00930A4B40F23F120A4902200A4C3C -:10291000A047F2E72746F0E751250100DD2301003B -:1029200055260100C524010069230100C09302005F -:1029300078930200989302005D220100002800F0C5 -:102940008D80014610280BD8454B9B7913F0010F61 -:102950000ED0434B9B7B13F0010F08BF012008D022 -:1029600070B582B03F4A00234FF0FF36144619E09D -:1029700000203B4A02EBC0018B7943F001038B71CD -:1029800052F830007047374A02EBC3018B7943F0AD -:1029900001038B7152F8350023E05EB20133083237 -:1029A000102B13D01D4604EBC300807910F0010FEB -:1029B000F4D190888142F1D8E5D0002EEDDB04EB14 -:1029C000C605AD88854288BF5EB2E7E7002E0ADB08 -:1029D000244A02EBC6018B7943F001038B7152F854 -:1029E000360002B070BD1F4B9B7913F0010F08BF7A -:1029F000002416D001231B481C4600EBC302927929 -:102A000012F0010F0DD00133102BF5D1164B0093AE -:102A1000164B40F2162216490320164CA047002000 -:102A2000DFE7104D05EBC4039A7942F001029A7179 -:102A3000998055F83400104B984745F8340018B188 -:102A4000084B53F83400CCE70C4B0093074B4FF482 -:102A5000047207490320074DA847F1E7002070479B -:102A600044000020B06C00206C94020088930200A7 -:102A7000989302005D220100992801000894020049 -:102A800010F0030313D0C3F104033AB1034400F878 -:102A9000011B013A98420AD0002AF8D10022002AEC -:102AA00048D0024400F8011B9042FBD1704730B47B -:102AB00001EB012404EB014404EB0164202A20D93A -:102AC00000F12003154643F8204C43F81C4C43F812 -:102AD000184C43F8144C43F8104C43F80C4C43F892 -:102AE000084C43F8044C203D2033202DEBD8A2F1B4 -:102AF000210323F01F0520352844203A23F01F032B -:102B0000D21A042A0FD90546134645F8044B043B54 -:102B1000042BFAD8531F23F003040434043A23F09F -:102B20000303D21A204422B1024400F8011B904250 -:102B3000FBD130BC704710F0030341D110B4202901 -:102B400021D900F120030C46002243F8202C43F841 -:102B50001C2C43F8182C43F8142C43F8102C43F881 -:102B60000C2C43F8082C43F8042C203C2033202C58 -:102B7000EBD8A1F1210323F01F02203210442039A9 -:102B800023F01F03C91A042910D902460B4600245A -:102B900042F8044B043B042BFAD84B1F23F00302EA -:102BA0000432043923F00303C91A104429B1014443 -:102BB000002300F8013B8842FBD15DF8044B7047CD -:102BC000C3F1040341B10344002200F8012B013991 -:102BD0009842B3D00029F8D100210029EFD0014458 -:102BE000002300F8013B8842FBD1704710F003033B -:102BF00043D110B4202922D900F120030C464FF014 -:102C0000FF3243F8202C43F81C2C43F8182C43F8CF -:102C1000142C43F8102C43F80C2C43F8082C43F8E0 -:102C2000042C203C2033202CEBD8A1F1210323F0ED -:102C30001F0220321044203923F01F03C91A04292F -:102C400011D902460B464FF0FF3442F8044B043BC7 -:102C5000042BFAD84B1F23F003020432043923F06B -:102C60000303C91A104429B10144FF2300F8013BB2 -:102C70008842FBD15DF8044B7047C3F1040341B1B6 -:102C80000344FF2200F8012B01399842B1D00029FA -:102C9000F8D100210029EFD00144FF2300F8013BC7 -:102CA0008842FBD170479A4238BF885470477047BA -:102CB0002DE9F04F83B00746009193469846DDF822 -:102CC00030900D9C9DF838501099DDF844A0129A70 -:102CD00012F00203019335D1BAF1000F0ED012F0B9 -:102CE000010F00F0B68015B912F00C0F01D00AF1F7 -:102CF000FF3A8C4213D21F2C04D910E08C420BD225 -:102D00001F2C09D809EB04033020013403F8010B10 -:102D1000A14201D9202CF8D112F0010F12D0A24506 -:102D200010D91F2C09D809EB04033020013403F813 -:102D3000010B544505D0202CF8D112F0100F04D10E -:102D400044E0A24612F0100F13D012F4806F04D1A9 -:102D50001CB1A1421BD0544519D00F9B102B1ED083 -:102D60000F9B022B27D01F2C30D8302309F80430BA -:102D700001341F2C2AD82DBB12F0040F3AD112F0C7 -:102D8000080F23D0202309F8043001341EE0631E0D -:102D90000FD00F99102901D01C46E1E7023C12F038 -:102DA000200F5DD11F2CDED8782309F804300134C0 -:102DB000D9E71C46D1E71F2C08D8622309F8043054 -:102DC0000134D0E72D2309F80430013412F0030F49 -:102DD00015D1544528BF5E4612D20BEB0A052D1BB8 -:102DE0005A46561C434600992020B8473246AE4208 -:102DF000F7D105E02B2309F804300134E6E75E46FD -:102E000035465CB1A14434443246551C43460099D2 -:102E100019F8010DB8472A46AC42F6D1019BA3B17F -:102E2000A5EB0B03534512D220262A46009D541CC5 -:102E3000434629463046B8472246A4EB0B03534588 -:102E4000F5D3204603B0BDE8F08F2C46F9E72C46B9 -:102E5000F7E78C42BFF476AF1F2C7FF653AF71E7D4 -:102E60001F2CB3D8582309F8043001347BE7000045 -:102E70002DE9F04190B0169D189EDDF86C802DB9BB -:102E800028F0100418F4806F2FD1A04618F0200FFE -:102E90000DF11F0E4FF0000714BF4FF0370C4FF02D -:102EA000570CB5FBF6F406FB1454E4B20137092CB9 -:102EB00094BF30346444E4B20EF8014FB5FBF6F52C -:102EC0000DB1202FEDD1CDF818801A9C0594199CD6 -:102ED000049403969DF85C400294019708AC00941A -:102EE000034CA04710B0BDE8F081A0460027EAE7F8 -:102EF000B12C01002DE9F04F95B0089009910A928C -:102F00000B93DDE91E45DDF88890DDF88C8054EAEE -:102F1000050307D1269B23F01003269A12F4806F35 -:102F20003ED12693269B13F0200F0DF12F0A4FF070 -:102F300000061D4F14BF4FF0370B4FF0570B4A469A -:102F4000434620462946B847D2B20136092A94BFE3 -:102F500030325A44D2B20AF8012F4A46434620463C -:102F60002946B84704460D4654EA050301D0202EF1 -:102F7000E5D1269B0693259B0593249B0493CDF8CE -:102F80000C909DF88030029301960CAB00930B9B44 -:102F90000A9A09990898054CA04715B0BDE8F08F2A -:102FA00026930026E5E700BF85B10100B12C0100A2 -:102FB0002DE9F04F91B00A921C461A9E0B91934B4B -:102FC000002914BF814699464FF0000B2078002855 -:102FD00000F06A82252808D00BF101050A9B5A46A9 -:102FE0000B99C8470134AB46F0E7621C002101E0B1 -:102FF00041F00101144601322378203B102B31D8D7 -:1030000001A050F823F000BF5930010065300100E5 -:10301000653001005F30010065300100653001005E -:103020006530010065300100653001006530010048 -:103030006530010053300100653001004D30010062 -:103040006530010065300100F12F010041F00201FF -:10305000D0E741F00401CDE741F00801CAE741F0B3 -:103060001001C7E72378A3F13002D2B2092A16D99A -:103070002A2B22D0002523782E2B28D00027237836 -:10308000683B122B4FD8DFE803F0AA4EB84E454EEE -:103090004E4E4E4E4E4EB44E4E4E4E4EBC00002541 -:1030A00005EB850503EB4505303D14F8013FA3F121 -:1030B0003002D2B2092AF3D9DDE7331D3568002D7D -:1030C000BCBF41F002016D4201341E46D3E741F41A -:1030D0008061601C6378A3F13002D2B2092A04D95E -:1030E0002A2B11D004460027C9E7002707EB8707E2 -:1030F00003EB4707303F10F8013FA3F13002D2B293 -:10310000092AF3D90446BAE7376827EAE777023491 -:103110000436B4E763786C2B19BF41F48071013435 -:1031200041F4407102342078A0F12503532B00F2C2 -:10313000B281DFE813F0A601B001B001B001B00127 +:10000000A46C0020E11E010049FF0000D5F40000AF +:100010000DF60000ADF90000D1F500008854020093 +:10002000E85202000053020045220100992200001C +:10003000C03F0200A122000008B54368984708BDF0 +:1000400010B50468A04710BD10B584B013460A4629 +:1000500001A9044CA04718B1BDF8040004B010BDBC +:100060000020FBE74100010003780A78934211BFAA +:10007000981A40784B78C01A704703880A889342D0 +:1000800011BF981A40884B88C01A704700880B88A7 +:10009000C01A70470B4600296CD0F0B585B00469D2 +:1000A000A269914215D0678AC7F30907002F5DD076 +:1000B000A16808681A1A0392888882420BD8002621 +:1000C0001D468B7CE3B9C8881044A561E06105B08A +:1000D000F0BDE069FBE700250135ADB2BD4245DA70 +:1000E00005EB85008200164601EB020E51F8202038 +:1000F0009A1A0392BEF804008242EDD87146DFE7F7 +:10010000012B05D0022B08D0032B18D00020DCE7F0 +:10011000CB689B5CC8881844D7E70A8A8968164B65 +:100120000093022303A8154FB8470346D0B1A26835 +:100130001644B068181AF38803EB5000C5E70A8A22 +:1001400089680D4B0093022303A80C4FB84758B1A0 +:10015000A2681644B268831A5B08F268D35CF08820 +:100160001844B2E70020B0E70020AEE7A36100200A +:10017000E061ACE7084670478D0001006D41010069 +:100180002DE9F04F9FB00929056908BF2021A04B38 +:100190009847002800F0EA8480466F6807EBC006A5 +:1001A0002B7D13F0030F0BD1002E00F0E28457F8E3 +:1001B0003030C3F31303286818441FB0BDE8F08F34 +:1001C0003379747904FB03F4002C00F0D584EB7CC4 +:1001D000C3F38303013B032B05D8DFE803F002756B +:1001E000787B0734E4088B4B18688B4B9847844224 +:1001F00011D9DFF820922146D9F80000874B9847A3 +:10020000C9F80000864B9847002866D0814B1B68D0 +:10021000002B00F0B48457F83810C1F313012B6899 +:1002200019447C4BD3F8009033790C939B461AB257 +:100230001746189272791592EA7CC2F38302D3B200 +:100240000F93032B14BF184604200890714B59607C +:100250001A7200225A72DA601A745A745846714C33 +:10026000A04716905846A0471790002F00F05182E3 +:10027000684B197C03915C7C5F68DD6893F808A08B +:10028000012202FA0AF2511ED046CAF108060A9665 +:10029000CAF11006099693F809C0169800F1FF3EBE +:1002A0000BF1FF339BB20D9300EB030B764600235B +:1002B000059307931A460AF1FF3A01230493CBB240 +:1002C0000B930692614634E00334A4088BE70134B3 +:1002D000640888E70134640885E7534B0093722271 +:1002E00052490320524CA047D9F80020002351481E +:1002F00051498847FEE70320EB0805F0070202EBAF +:10030000080CBCF1070F35D817F803C00A9B9A1ADE +:100310004CFA02F3034015B1039A934238D0454496 +:10032000039301220498069006F8013F5E4500F011 +:100330004E81A1BBBAF1070F18D801A353F82AF0D8 +:1003400071030100F7020100610301006503010070 +:100350006D0301006D0301006D03010069030100DD +:100360000720C9E70F20C7E7FF20C5E70B98C3E7C1 +:100370000120C1E717F803C03B445B7803EB0C2373 +:100380001FFA83FC099B9A1A4CFA02F30340C2E756 +:10039000012205920024049A07921146BFE7012921 +:1003A00004D0022900F0CD800023BDE7EB0805F062 +:1003B000070202F1010CBCF1070F13D8FB5CD2431A +:1003C0000832134103F001030134E4B26A1CB3B9EB +:1003D000BAF1070F00F2A580DFE80AF0A5849D9F1F +:1003E000A3A3A3A117F803C03B445B7803EB0C2342 +:1003F0009BB2D2431032134103F00103E4E70B2C0C +:100400001CD01546039B01220592049A8CE700BF7D +:10041000950001005C2B0020392501008128010096 +:100420009922000025290100AC540200C8540200A2 +:1004300045220100C03F0200A1220000D30802F0C3 +:100440000702911D072913D8FC5CC2F1020244FA8D +:1004500002F202F03F040735002C40F0AD80BAF103 +:10046000070F26D8DFE80AF027101F2125252523AE +:10047000F95C3B445C7804EB0124A4B2C2F10A02AB +:10048000144104F03F04E6E70320EA0805F00703FF +:1004900003EB0801072910D8BA5C0A99CB1A42FA73 +:1004A00003F3034014E00720EFE70F20EDE7FF2000 +:1004B000EBE70B98E9E70120E7E7B95C3A445278AB +:1004C00002EB012292B20999CB1A42FA03F30340DC +:1004D00045440393012205920498024607900021A7 +:1004E000069021E70320D10802F0070303EB08057B +:1004F000072D1AD8795C0A9DEB1A41FA03F30340E1 +:1005000002EB080503930122059204980246079026 +:100510000021069008E70720E5E70F20E3E7FF202A +:10052000E1E70B98DFE70120DDE77D5C394449789E +:1005300001EB052189B2099DEB1A41FA03F303404F +:10054000DEE7013C14F0FF043DD1BAF1070F23D8D8 +:10055000DFE80AF024041C1E222222200320EA08DD +:1005600005F0070303EB0801072919D8BA5C0A99BB +:10057000CB1A42FA03F30340454403930122059248 +:1005800004980246079000210690CDE60720E6E792 +:100590000F20E4E7FF20E2E70B98E0E70120DEE729 +:1005A000B95C3A44527802EB012292B20999CB1A13 +:1005B00042FA03F30340DFE7039B01220592049A0A +:1005C00007920221B0E6039B01200590ACE6069855 +:1005D0008C46C8B90AB19F4BDD60079B13B19D4B98 +:1005E00083F809C0059B0BB19A4B5C7400200F9BEC +:1005F000039304274FF00F0C4FF00D084FF00B0A38 +:100600004FF0090B049728E0924B9DF80C101974D9 +:10061000E0E707293DD8DFE801F004272A2D303331 +:1006200036393D46002100F00702C2F10802521B94 +:10063000C0F3CF044FF0FF33AB4063F0FF039340B0 +:1006400019F804502B4001FA02F2134309F8043060 +:10065000089A13461044B6451DD01EF8011F0F9B83 +:10066000032BD6D0039DDEE73D460221DBE73D4666 +:100670000499D8E73D460621D5E73D465946D2E7DD +:100680003D465146CFE73D464146CCE73D466146B3 +:10069000C9E73D46C7E70D9A02FB03330E93159B4E +:1006A000012B40F355826B4BD3F804801A7A104625 +:1006B0001992012202FA00F10139C9B21B910146D7 +:1006C0008246587C0790C1F108010B91CAF11001D4 +:1006D0000D91197C0391D3F80CC093F809B00899D7 +:1006E00012910C9B013B9BB201FB03F11A9100217B +:1006F0000A910C91069108911092179AD3181C93A5 +:10070000012304930F9A099204221D9205936646D1 +:10071000F5E100230E93C2E74FF003090CE04FF020 +:10072000070909E04FF00F0906E0E14604E0DDF8B3 +:10073000449001E0DDF81090F30806F0070202EBA8 +:100740000A0BBBF1070F31D818F803300B9DAA1A1A +:1007500043FA02F202EA09095FFA89F916B1039B2A +:100760004B4533D05644CDF80C90049B0693059B23 +:10077000089304F8019FA04200F05D8169BB079BCC +:100780001A46072AD3D801A353F822F035070100EF +:10079000190701001F070100250701002F070100AD +:1007A0002F0701002F0701002B07010018F803B0E5 +:1007B00043445B7803EB0B239BB20D9DAA1A43FACB +:1007C00002F202EA09025FFA82F9C7E7049B0A9380 +:1007D0007746059B0C931946C4E7012904D00229EA +:1007E00000F0D780F146C4E7F30806F0070202F1F3 +:1007F0000109B9F1070F15D818F80330D2430832B0 +:10080000134103F001037A1CD7B2721CBBB9079BDA +:100810001946072900F28E80DFE801F08E84868871 +:100820008C8C8C8A18F8039043445B7803EB092383 +:100830009BB2D2431032134103F00103E3E70B2FC5 +:100840000AD01646DDF80C90049B0A93059B06938C +:100850008FE700BF5C2B0020D30802F00702911D38 +:10086000072915D818F80330C2F1020243FA02F240 +:1008700002F03F070736002F40F0CF80079B1A4653 +:10088000072A39D8DFE802F03B12303338383836DF +:1008900018F8031043445B7803EB01239BB2C2F1C9 +:1008A0000A0243FA02F202F03F07E3E74FF00309BE +:1008B000F30806F0070202EB0A01072922D818F80C +:1008C00003300B998A1A43FA02F202EA09025FFA2C +:1008D00082F95644CDF80C90049B0A93059B0C9327 +:1008E00071460693089344E74FF00709E0E74FF09D +:1008F0000F09DDE7E146DBE7DDF84490D8E7DDF8F6 +:100900001090D5E718F8031043445B7803EB0123FC +:100910009BB20D998A1A43FA02F202EA09025FFABF +:1009200082F9D6E7032608E0072606E00F2604E052 +:10093000664602E0119E00E0049ED30802F0070123 +:1009400001EB0A09B9F1070F14D818F803300B9D11 +:10095000691A43FA01F131405FFA81F902EB0A06A4 +:10096000CDF80C90049B0A93059B0C93714606935B +:100970000893FEE618F8039043445B7803EB0923E1 +:100980009BB20D9D691A43FA01F131405FFA81F97A +:10099000E4E77B1E13F0FF0748D1079B1A46072A9E +:1009A0000DD8DFE802F00E0406080C0C0C0A032137 +:1009B00008E0072106E00F2104E0614602E01199FA +:1009C00000E00499F30806F0070202EB0A09B9F106 +:1009D000070F13D818F803300B9DAA1A43FA02F236 +:1009E0000A405FFA82F95644CDF80C90049B0A93B2 +:1009F000059B0C93714606930893BAE618F803908A +:100A000043445B7803EB09239BB20D9DAA1A43FA7A +:100A100002F20A405FFA82F9E5E7DDF80C90049BE8 +:100A20000A93059B0C9302210693A2E6DDF80C9035 +:100A3000049B0A939DE6DDF84C900797149F169B44 +:100A400003F1FF3E0E9DDDF83CC011961391DDF8D9 +:100A500048B021E0072A40D8DFE802F0042A2D3010 +:100A60003336393C0423002205F00701C1F10801A7 +:100A7000C91AC5F3CF00012606FA03F35B4263F0FF +:100A8000FF038B4019F8006033408A40134309F894 +:100A900000305D44BC4222D017F8012F9EF801308F +:100AA0005A400EF8012FBCF1030FD3D0099BDBE7AE +:100AB00004230222D8E704231D9AD5E70423062243 +:100AC000D2E704230922CFE704230B22CCE7042337 +:100AD0000D22C9E704230F22C6E70423C4E7119EB1 +:100AE000DDF84CB01A9B129A13440E9A1A440E92D7 +:100AF000109B01331BB21093159A9A4215D0189B84 +:100B0000002BF5D0179B5F1E3C464FF0000E199B43 +:100B10005D1E1B9B11934FF0FF0CCDF84C90594676 +:100B20001497079F07951C9828E6B446089BC3B9FD +:100B3000069B13B1134BC3F80CC00C9B13B1114BA4 +:100B400083F809B00A9B1BB10E4B9DF81C205A7408 +:100B500016980D4CA0471798A0470A4B1868FFF746 +:100B60002CBB084B9DF80C201A74E1E70020FFF71E +:100B700024BB0020FFF721BB0020FFF71EBB002095 +:100B8000FFF71BBB5C2B0020592501002DE9F04726 +:100B900084B007460C469946092A06BF0125202243 +:100BA000002506691146494B98478046002800F009 +:100BB0008680F368002B7CD049463846434B9847E3 +:100BC000034618BB0023706800EBC800328A03FBA1 +:100BD00002F31B114288C2F30B1205B15200083315 +:100BE00013441B0923804379A3800279628090F922 +:100BF0000630E38090F907302381F37CC3F383034D +:100C0000A372002D60D05200628059E03A69D17C15 +:100C100011F0400F3CD1D768FA7A12F0030203D0EA +:100C2000012A1BD00023CEE7D7F8009008EB002361 +:100C300004A820F8043DBA68254B0093022322F053 +:100C40007F424946DFF890A0D04728B1A0EB0903C6 +:100C50005B087A68D356B6E70023B4E7D7F800906C +:100C600008EB002304A840F8043DBA68194B009330 +:100C7000042322F07F424946DFF85CA0D04728B128 +:100C8000A0EB09031B097A68D3569CE700239AE777 +:100C9000D1684A6812F808206AB18868C35C63B1F9 +:100CA000013A487B09680B4400FB023212F9013C0F +:100CB00089E7002387E7002385E7002383E70025F2 +:100CC000284604B0BDE8F0870125F9E7950001004A +:100CD000690001007B0001006D41010008B5044B73 +:100CE000186820B1034B98470022014B1A6008BDD9 +:100CF0005C2B0020AD24010010B504462C21154BBF +:100D000098470023E3604FF4F07222804FF488721A +:100D100062806360227A63F34102227294F8282091 +:100D200063F3040284F82820228D42F4FC622285B9 +:100D3000120A63F3C70284F829202289822161F311 +:100D40008B02228142F0010222722362636263619C +:100D500010BD00BF1F2B0100F8B504460D46174615 +:100D60001E462421034B984725606760A560E66016 +:100D7000F8BD00BF1F2B0100F0B583B005463F480A +:100D80003F4B98470446002854D04FF4B8713D4B70 +:100D900098472C22294620463B4B98474C2104F18A +:100DA00030003A4B98470023C4F86C31384B1B682D +:100DB000002B50D0364B1F681C60234603221E2197 +:100DC0003448354DA847E062344B9847002845D059 +:100DD000E36A002B4FD0B4F868316FF30903A4F82D +:100DE00068310025C4F86C51294628462C4EB0477E +:100DF000E06329462846B047206429462846B04784 +:100E000060642946206C274EB0472946606CB04785 +:100E10002946206C244EB0472946606CB047E06BF1 +:100E2000224B98471A4B1F60E06A214B9847204697 +:100E300003B0F0BD194B98470028F8D11D4B009323 +:100E40007C221D4903201D4CA047002200231C4882 +:100E50001C498847FEE70E4B1C60ABE7154B00931F +:100E60008D2215490320154DA847E26A0023144836 +:100E700014498847FEE70024D9E700BF986C00209A +:100E8000F91E01001F2B01003D260100E11E01009B +:100E9000702B00205D5F0000CD3901009922000019 +:100EA0000D3E0000853B0000892900000933000049 +:100EB0003D3A0100A4910200BC91020045220100CC +:100EC000C03F0200A1220000014B1868704700BF1C +:100ED000702B0020034640B11A7A12F0020F0CBFAB +:100EE000B3F90000B3F902007047034B1B68002BF5 +:100EF000F2D14FF4F0707047702B0020034640B1E0 +:100F00001A7A12F0020F0CBFB3F90200B3F9000015 +:100F10007047034B1B68002BF2D14FF48870704769 +:100F2000702B0020034618B11889C0F38900704760 +:100F3000024B1B68002BF7D182207047702B0020DA +:100F400038B50546A0B128460F4B984704462846B9 +:100F50000E4B984704EB84046400B4FBF0F01D28AA +:100F60000DD931280DD9462834BF0220032038BDC1 +:100F7000074B1D684FF4F074002DE8D0E3E7002024 +:100F800038BD012038BD00BFD50E0100250F01007E +:100F9000702B00204268002393614268D361704740 +:100FA00008B520B101460448044B984708BD0248E3 +:100FB000034B984708BD00BF986C0020A51F010097 +:100FC000911F01004068704743681A6822B1586851 +:100FD000003018BF012070470020704710B504464C +:100FE000084B9847034658B1B4F90020B4F90230D1 +:100FF00003FB02F36268D268934214BF002301230B +:10100000184610BDC90F010008B520B101460448BB +:10101000044B984708BD0248034B984708BD00BFE2 +:101020008C6C0020A51F0100911F0100034B0022C2 +:101030001A705A6810445860704700BF742B002023 +:10104000044B4FF0010119701A78002AFBD0014BB4 +:1010500058687047742B002010B50446014B984720 +:10106000001B10BD411001000A6A486A82421ABF83 +:10107000800290FBF2F04FF480608A69CB699B1A82 +:1010800000FB03F002EBA02000B2704708B501227C +:10109000084B1A700848094B984728B10421054BA2 +:1010A0005868074B984708BD0021024B5868044B0D +:1010B000984708BD7C2B00205C6D0020911F01002B +:1010C000413901002DE9F04391B06348634B9847E3 +:1010D00068B10146604D624C91F83C306FF34103BA +:1010E00081F83C302846A04701460028F4D15D4BEA +:1010F00098685D4B984780465748584B9847044638 +:10110000002800F08980574D4FF00007524EDFF85D +:101110004C911CE013EB080300F18580A268002AC3 +:1011200000F08880204690471EE0214604F1100020 +:101130004E4B984728E0626A236A9A422BDA2B7852 +:10114000002B71D03046C8470446002C64D02F7065 +:1011500094F83C3013F0020F66D143F0020384F898 +:101160003C30636A002BD5DD636A43446362002B25 +:10117000E5DB226A9A42B8BF62622369002BD4D0B1 +:10118000214604F1100098476368002BD3D001B2C8 +:1011900020689847CFE794F83C3013F0010308D15A +:1011A000A28E002A48D04FF6FF718A424BD0013AF6 +:1011B000A286A28ECAB1226B52426262E26A002A01 +:1011C000BDD0002B3BD083F0010394F83C1063F3B7 +:1011D000000184F83C10A369E069A061E36111F0AB +:1011E000010F08BFA26B2262A9E7E26A02B133B322 +:1011F0004022214668461E4B9847214630461D4BEB +:10120000984720461C4B98471C4B9847039B002B44 +:1012100095D06846984792E7194B9847114B9860CC +:1012200011B0BDE8F0836362214630460C4B98470D +:1012300004468AE763629CE7E26A002AD8D0A16A82 +:1012400049426162BFE7226B52426262E26A002A4F +:101250003FF475AFF3E700BF5C6D0020911F010004 +:10126000A51F01007C2B002059100100691001000E +:101270003D2601007D200100AD2401008D100100FC +:101280004110010038B5402109480A4B98470A4BE4 +:1012900098470A4CA060002304221E210848094DEB +:1012A000A8476060084B98470023237038BD00BFF3 +:1012B0005C6D0020E11E0100411001007C2B00202C +:1012C000C5100100CD3901008D10010010B5044694 +:1012D00040210D4B98474FF4FA7323620023A3611A +:1012E0006423E361094B1A7822745A7862749A78FD +:1012F000A274DB78E3740123A38694F8363043F0BC +:10130000010384F8363010BD1F2B0100E891020064 +:101310002DE9F84F074689461548164B984710B3F4 +:1013200004464FF0000ADFF84880134EDFF854B04F +:101330000BE021464046D8472046104B9847104BBB +:1013400098474FF0010A2C467DB121464046B047F0 +:1013500005462368BB42F6D163684B45E9D0B9F135 +:10136000000FF0D1E5E74FF0000A5046BDE8F88FD6 +:101370005C6D0020911F0100A51F0100AD2401003C +:101380008D1001007D20010030B583B00546416815 +:1013900011B100681B4B98471B481C4B9847F0B98C +:1013A00019481B4B984704461A4B9847E8B1A4B11B +:1013B0002B6AAB63402229462046174B984794F886 +:1013C000363013F0010F06D0636823B1206810B1E6 +:1013D000B4F918109847114B984703B030BD104B23 +:1013E000984701380F4B9860DAE70F4B00936A2259 +:1013F0000E4903200E4DA847224600230D480E49F2 +:101400008847FEE7111301005C6D00202D220100CA +:10141000F91E0100992200003D2601008D100100F7 +:10142000411001007C2B0020F0910200009202008C +:1014300045220100C03F0200A1220000F8B5044689 +:101440000F460A480A4B9847014660B1074E094DBE +:1014500003E03046A847014628B10B68A342F8D103 +:101460004B68BB42F5D10846F8BD00BF5C6D00205B +:10147000911F0100A51F0100891A0029B8BF494228 +:101480004FF47A7202FB01F292FBF0F04FF6FF721A +:10149000904228BF1046002808BF012080B2704744 +:1014A00030B4B0F90050B0F904305B1B03EBD373D8 +:1014B0005B109CB20A88521B121B49884088081A8C +:1014C000001B13FB03F310FB00F012FB020293421C +:1014D000B4BF0020012030BC704701394388194453 +:1014E000C1807047B0F90420B0F90030D21AB0F9C9 +:1014F0000630B0F90200181A013002FB00007047F4 +:1015000070B4B2F90050B1F900309D42B8BF1D4629 +:101510000580B2F90230B1F90240A342B8BF2346B8 +:101520004380B2F90440B1F90460B442A8BF344624 +:101530008480B2F90620B1F906108A42A8BF0A4693 +:10154000C280A54205DC9342CCBF0020012070BCC4 +:1015500070470020FBE710B4B2F90030B1F9004049 +:10156000A342A8BF23460380B2F90230B1F902407A +:10157000A342A8BF23464380B2F90430B1F9044026 +:10158000A342B8BF23468380B2F90630B1F90620E2 +:101590009342B8BF1346C3805DF8044B7047000008 +:1015A0002DE9F04F85B0B1F90050B0F900E0754574 +:1015B000C0F29D80B0F90480454500F39C80B1F9EC +:1015C0000230B0F902A05345C0F29780B0F906008E +:1015D0000190834200F39380002A40F392808C466E +:1015E0001FFA88F91FFA8EF687B21FFA8AF5ADF84E +:1015F00008E009F101039B1B1BB203EBD3747B1CB6 +:101600005B1B1BB203EBD37164104B10A342A8BF4A +:1016100023469342A8BF13469CB22644B6B2ADF807 +:101620000C60ADF80AA02544ADB20FFA85FBADF809 +:101630000EB00022CDF800C0614602A8FFF7B0FF4F +:1016400050B12644ADF80C602C44ADF80E40009922 +:1016500002A82E4B98474BE03F1BBFB2ADF80A7073 +:10166000BDF80430ADF80E300022009902A8FFF753 +:1016700097FF50B12644ADF80C603C1BADF80A4012 +:10168000009902A8214B984732E0A9EB04091FFA00 +:1016900089F9ADF80890ADF80C800022009E314623 +:1016A00002A8FFF77DFF58B1A9EB0409ADF8089037 +:1016B0003C1BADF80A40314602A8144B984717E08E +:1016C000ADF80AA0ADF80EB00022009E314602A887 +:1016D000FFF766FFB8B1A9EB0409ADF808902C44F8 +:1016E000ADF80E40314602A8084B984700E00020B4 +:1016F00005B0BDE8F08F0020FAE70020F8E70020F1 +:10170000F6E70120F4E70120F2E700BFA114010091 +:10171000B0F90020B1F904309A4214DCB0F9042089 +:10172000B1F900309A4210DBB0F90220B1F906306D +:101730009A420CDCB0F90600B1F902309842B4BF0D +:1017400000200120704700207047002070470020D3 +:10175000704700002DE9F04182B0B0F90050B1F9B6 +:101760000030AB4214DCB0F90240B1F902309C42C7 +:1017700014DBB0F90440B1F904309C4210DCB0F93C +:101780000630B1F90640A342CCBF0023012300E09C +:1017900000233AB9184602B0BDE8F0810023F8E70B +:1017A0000023F6E717460C460646ADF8045043887A +:1017B000ADF8063001A92046134B98470346002890 +:1017C000E8D0B6F9048002A921F8048D3A462046F3 +:1017D0000D4B984703460028DCD0ADF80450F38841 +:1017E000ADF806303A4601A92046074B9847034614 +:1017F0000028CFD002A921F8048D3A462046024B9A +:1018000098470346C6E700BFA115010030B4142A6B +:101810003AD8DFE812F01500430047005C0067008B +:1018200072008D009E00B300CE00D600EE00FC00DA +:1018300004011C012A0132014A01580160017801AA +:10184000828801320488121B12B202EBD2748A8899 +:1018500001320D88521B12B202EBD2725210C2EB4F +:1018600064021A80C28801324488121B12B202EB51 +:10187000D274CA8801324988521A12B202EBD2726B +:101880005210C2EB64025A801A8801880A441A80F6 +:101890005A8841880A445A8030BC704700221A8016 +:1018A0005A80F1E7828801320488121B12B202EBDF +:1018B000D2748A8801320988521A12B202EBD272AB +:1018C0005210C2EB64021A8000225A80DCE7828840 +:1018D0008C88121B0488121B09880A441A80002273 +:1018E0005A80D1E700221A80C288CC88121B448813 +:1018F000121B49880A445A80C6E78288013204884C +:10190000121B12B202EBD2748A8801320D88521B6C +:1019100012B202EBD2725210C2EB64021A80C28879 +:10192000CC88121B4488121B49880A445A80ABE7B2 +:1019300082888C88121B0488121B0C8822441A800F +:10194000C288CC88121B4488121B49880A445A80DA +:101950009AE700221A80C28801324488121B12B210 +:1019600002EBD274CA8801324988521A12B202EBD1 +:10197000D2725210C2EB64025A8085E782888C884A +:10198000121B0488121B0C8822441A80C288013260 +:101990004488121B12B202EBD274CA880132498801 +:1019A000521A12B202EBD2725210C2EB64025A8087 +:1019B0006AE700221A80CA884988521AD2435A809C +:1019C00062E7828801320488121B12B202EBD274E1 +:1019D0008A8801320D88521B12B202EBD272521069 +:1019E000C2EB64021A80CA884988521AD2435A80CC +:1019F0004AE782888C88121B0488121B0C882244B8 +:101A00001A80CA884988521AD2435A803CE7002279 +:101A10001A80C28801324188521A5A8034E782887B +:101A200001320488121B12B202EBD2748A8801328E +:101A30000988521A12B202EBD2725210C2EB64023F +:101A40001A80C28801324188521A5A801CE7828863 +:101A50008C88121B0488121B09880A441A80C288C9 +:101A600001324188521A5A800EE78A880988521A30 +:101A7000D2431A8000225A8006E78A880C88121BFB +:101A8000D2431A80C28801324488121B12B202EB80 +:101A9000D274CA8801324988521A12B202EBD27249 +:101AA0005210C2EB64025A80EEE68A880C88121B40 +:101AB000D2431A80C288CC88121B4488121B4988E2 +:101AC0000A445A80E0E6828801320188521A1A805C +:101AD00000225A80D8E6828801320488121B1A80BC +:101AE000C28801324488121B12B202EBD274CA8837 +:101AF00001324988521A12B202EBD2725210C2EB72 +:101B000064025A80C0E6828801320488121B1A805F +:101B1000C288CC88121B4488121B49880A445A8008 +:101B2000B2E630B48DB210F0030F1CBF20F8021BD8 +:101B300002F1FF3205EB0541102A21D900F1200303 +:101B4000144643F8201C43F81C1C43F8181C43F8A7 +:101B5000141C43F8101C43F80C1C43F8081C43F8F1 +:101B6000041C103C2033102CEBD8A2F111031B09EC +:101B7000591C103AC3EB037302EB031200EB411044 +:101B80001AB120F8025B013AFBD130BC704730B487 +:101B9000C1EB4115C1F1FF04C0F3C42304FB03539F +:101BA00003EB032203EBC213C3F3C452C0F3451388 +:101BB000C1EB811104FB031101EB012301EBC31104 +:101BC000C1F3C55100F01F0004FB005000EB0023DF +:101BD00000EBC310C30D4FF0000063F3040061F38A +:101BE0004A1062F3CF2030BC704710B4C1F1FF013E +:101BF000C0F3C42301FB03F303EB032203EBC21383 +:101C0000C3F3C453C0F3451201FB02F202EB0224FA +:101C100002EBC412C2F3C55200F01F0001FB00F139 +:101C200001EB012001EBC011C90D4FF0000061F381 +:101C3000040062F34A1063F3CF205DF8044B704751 +:101C4000421C43781BB908E012F8013F2BB13A2B34 +:101C5000FAD05C2BF8D02F2BF6D01046704700003E +:101C600008B544210148024B984708BD306D00205B +:101C7000E11E010038B5436873B11A6972B10446B8 +:101C800001681846904705462068054B9847002391 +:101C900023606360284638BD0B25FBE70925F9E77B +:101CA000AD240100F0B585B01E460BB100233360B2 +:101CB00045688DB1AF698FB113460A46044604A842 +:101CC000002140F8041D216800902846B8470EB155 +:101CD000039B336005B0F0BD0B20FBE70920F9E75B +:101CE00038B5446834B1256A35B10A4601682046E2 +:101CF000A84738BD0B2038BD092038BD70B5044653 +:101D000009480A4B9847014658B10378A34208D0C6 +:101D1000054E074D3046A847014610B10B78A34247 +:101D2000F8D1084670BD00BF306D0020911F010042 +:101D3000A51F01002DE9F04383B000234360036039 +:101D4000002945D00D46914604460878244B984713 +:101D5000606040B1836853B1984740B90023636025 +:101D60002360012535E000232360032531E063680B +:101D700058881C4B984720601B4B984728B1266811 +:101D800086B9002363600A2523E0184B00936F2275 +:101D900017490320174DA847226800231648174902 +:101DA0008847FEE7D4F80480D8F80C70AFB1284615 +:101DB000134B98474B46024631464046B8470546C6 +:101DC00038B120680F4B984700232360636000E020 +:101DD0000B25284603B0BDE8F0830925F9E700BFCD +:101DE000FD1C0100C5230100992200004092020061 +:101DF0005C92020045220100C03F0200A1220000C7 +:101E0000411C0100AD24010010B50446124B984757 +:101E1000C8B102462118235C2E2B0FD02F2B14D0D3 +:101E20005C2B14D0013A0CD011F8013D2E2B05D0BB +:101E30002F2B0ED05C2BF5D1084810BD0132A01815 +:101E400010BD064810BD054810BD044810BD03482C +:101E500010BD024810BD00BF07B50100EC4E0200E6 +:101E600010B582B0019281B10C4682B1036804338F +:101E7000CA189DF80410E1549DF8053053709DF880 +:101E8000063093709DF80730D37002B010BD006823 +:101E9000043004212044014B9847F6E71F2B010032 +:101EA00000B583B0019281B10A46019B83B10168FC +:101EB00053189DF8040050549DF805205A709DF861 +:101EC00006209A709DF80720DA7003B05DF804FBD5 +:101ED000006804211044014B9847F6E71F2B0100CE +:101EE00000234360836011F0030F1CBF21F0030146 +:101EF000043101607047000038B5044600680830BE +:101F00000D4B9847054690B10022014620460B4BE9 +:101F10009847626829462046094B9847616819B17D +:101F20002A462046054B98476560A3680BB12846B2 +:101F300038BDA560FBE700BFC5230100A11E01005D +:101F4000611E010038B50446006808300D4B984703 +:101F5000054690B10022014620460B4B9847A268E7 +:101F600029462046094B9847A16819B12A462046C0 +:101F7000054B9847A56063680BB1284638BD65607E +:101F8000FBE700BFC5230100611E0100A11E010087 +:101F900008B1406870470020704708B180687047FA +:101FA0000020704782B00023019370B103680433AE +:101FB000CA18CB5C8DF8043053788DF805309378CF +:101FC0008DF80630D3788DF80730019802B070474D +:101FD00082B00023019368B102688B188A5C8DF887 +:101FE00004205A788DF805209A788DF80620DB7841 +:101FF0008DF80730019802B07047000060B32DE9FA +:10200000F041044651B30D464368994220D0006820 +:102010000830154B9847064618B329462046134BFF +:1020200098478046324601462046114FB8474246FF +:1020300031462046DFF84080C047324629462046D8 +:10204000C0472A4631462046B8473046BDE8F081B1 +:10205000084B9847BDE8F081002070470846BDE86E +:10206000F081BDE8F08100BFC5230100D11F010050 +:10207000611E0100F91E0100A11E010070B50D4690 +:10208000044650B34368994229D08368994217D0D7 +:1020900029462046184B9847064629462046174BA6 +:1020A00098470546024631462046154B984732462A +:1020B00029462046134B984770BD0023A36070BD8E +:1020C0000D4B9847A06028B10022014620460C4BDA +:1020D000984770BD0023636070BD0029D8D12946A0 +:1020E0002046064B984760600028E6D00022014653 +:1020F0002046044B984770BDD11F0100A51F010069 +:10210000611E0100A11E010070B50C4615461E4659 +:102110001146174B9847AEB1002229462046154B71 +:102120009847626829462046134B9847616819B161 +:102130002A4620460F4B98476560A36803B170BDDF +:10214000A56070BDA268294620460A4B9847002228 +:1021500029462046084B9847A16819B12A462046CF +:10216000054B9847A5606368002BE8D16560E6E7FA +:102170007D200100A11E0100611E010091424CD092 +:102180002DE9F84317460C46054612B31146234B7A +:102190009847064684421AD021462846204B984745 +:1021A000224631462846DFF87C80C0473246214629 +:1021B0002846DFF87490C847224639462846C84763 +:1021C0003A4621462846C04706B3BDE8F883BDE835 +:1021D000F883F0B18668B4421DD021462846104BE2 +:1021E00098472246314628460E4FB8473246214688 +:1021F0002846DFF83480C047224600212846C047E1 +:10220000002221462846B847AC60DDE76C60BDE897 +:10221000F8831646DFE7BDE8F8837047D11F010059 +:102220007D200100611E0100A11E010040B1426835 +:102230000AB1002070478068B0FA80F0400970470A +:10224000012070472DE9F041C4B0441EE4B2042CD3 +:1022500015D81F4616460D4680464BAB03934A9A47 +:102260004FF4807104A8074CA047074B1C6834B199 +:1022700004AB00933B46324629464046A04744B053 +:10228000BDE8F081B5350100882B00201B4B83FB96 +:1022900000231A18C317C3EB22234FF4B47202FBB6 +:1022A000130000B20028BCBF801800B2592813DD0B +:1022B00080B2A0F15A039BB2592B11D9A0F1B403FB +:1022C0009BB2592B13D9C0F5B47000B20C4B33F844 +:1022D0001000404200B27047094B33F910007047BC +:1022E000C0F1B40000B2064B33F9100070471BB2C6 +:1022F000034A32F81300404200B27047B7600BB691 +:102300008492020030B400020024131903FB03F589 +:10231000A84228BF1C465208F7D123090B8024018C +:10232000E4B24C8030BC7047034660B104301B6897 +:1023300000EB5300021D054B1B6803F580439A42D6 +:1023400028BF00207047014B186870478C2B002075 +:1023500011F0030F1CBF21F0030104310368C3F324 +:102360005E030A1D934217D0994216D010B4021D85 +:10237000535C6FF3000353540368C3F35E03043BE1 +:102380005B1A545863F35F045450036861F35F03AE +:1023900003605DF8044B70471146036861F35F0307 +:1023A00003607047064B1A1D1A601A796FF300021A +:1023B0001A715A6843F6FC7161F35F025A60704704 +:1023C0008C2B002000282ED0F0B583B0054610F0ED +:1023D000030F1CBF20F0030504350024134E144FD7 +:1023E00008E02946B847237843F00103204600F867 +:1023F000043BB0B92046B047044648B1037813F017 +:10240000010FF7D10368C3F35E039D42E9D9F1E7F9 +:10241000084B0093084BD12208490220084CA047E2 +:10242000002003B0F0BD0748704700BF292301001A +:1024300051230100A89302003C9302008093020004 +:1024400045220100906B002038B50020164B9847BC +:102450000446154D1BE038BD2046A847014608B389 +:10246000037813F0010F11D12368C3F35E02043225 +:10247000086802EB500262F35F0323600846A84736 +:10248000014670B10B7813F0010FEDD00C46002C13 +:10249000E1D0237813F0010FDED02046A847044690 +:1024A000F5E738BD38BD00BF2923010038B51E4B04 +:1024B000984238D0002836D0044610F8043C6FF318 +:1024C000000300F8043C194AB2F8203D01339BB2E6 +:1024D000A2F8203D0F2B20D80438154B9847014611 +:1024E00008B3037813F0010F15D1114D54F8043CD3 +:1024F000C3F35E020432086802EB500262F35F032A +:1025000044F8043C0846A847014628B10B7813F06C +:10251000010FEBD038BD38BD38BD0022034BA3F806 +:10252000202D044B984738BD906B0020745E00202E +:10253000292301004924010038B1064A904206D0FF +:1025400050F8040CC0F35E00704700207047002074 +:10255000704700BF906B00201B4B1B68984220D037 +:10256000194B9B68834208BF01221BD010B582B073 +:10257000164B1B6898421DD0012314491C4651F884 +:102580003320904217D00133102BF7D1104B00931A +:10259000104B40F2322210490320104CA04702B0E9 +:1025A00010BD0022084B03EBC2039A796FF30002BF +:1025B0009A7170470024054B03EBC404A3796FF3B1 +:1025C0000003A371EBE700BF44000020B06C0020C3 +:1025D000C49302004C930200809302004522010044 +:1025E0002DE9F041124B9A796FF300029A719A7BB0 +:1025F0006FF300029A730F4C0025DFF83C802E46E3 +:10260000271F03E001350834102D0ED054F8040CB8 +:102610000028F7D0C04744F8046C07EBC5039A794B +:1026200066F300029A712680ECE7BDE8F08100BFF6 +:1026300044000020B46C0020AD240100F0B400F090 +:10264000030301F00304A34200F0A680202A40F215 +:10265000A18000F1200401F12003154613F8206C3D +:1026600004F8206C13F81F6C04F81F6C13F81E6C30 +:1026700004F81E6C13F81D6C04F81D6C13F81C6C28 +:1026800004F81C6C13F81B6C04F81B6C13F81A6C20 +:1026900004F81A6C13F8196C04F8196C13F8186C18 +:1026A00004F8186C13F8176C04F8176C13F8166C10 +:1026B00004F8166C13F8156C04F8156C13F8146C08 +:1026C00004F8146C13F8136C04F8136C13F8126C00 +:1026D00004F8126C13F8116C04F8116C13F8106CF8 +:1026E00004F8106C13F80F6C04F80F6C13F80E6CF0 +:1026F00004F80E6C13F80D6C04F80D6C13F80C6CE8 +:1027000004F80C6C13F80B6C04F80B6C13F80A6CDF +:1027100004F80A6C13F8096C04F8096C13F8086CD7 +:1027200004F8086C13F8076C04F8076C13F8066CCF +:1027300004F8066C13F8056C04F8056C13F8046CC7 +:1027400004F8046C13F8036C04F8036C13F8026CBF +:1027500004F8026C13F8016C04F8016C203D20347D +:102760002033202D3FF67AAFA2F1210525F01F047A +:10277000203403192144203A25F01F05521B3AB199 +:1027800001391A4411F8014F03F8014B9A42F9D16B +:10279000F0BC70470346F2E7002B5BD10546202AC8 +:1027A00034D905F1200401F12003164653F8207CAA +:1027B00044F8207C53F81C7C44F81C7C53F8187CAB +:1027C00044F8187C53F8147C44F8147C53F8107CBB +:1027D00044F8107C53F80C7C44F80C7C53F8087CCB +:1027E00044F8087C53F8047C44F8047C203E2034F0 +:1027F0002033202EDAD8A2F1210323F01F04203445 +:1028000025442144203A23F01F03D21A042A32D946 +:102810000E1F2C46134656F8047F44F8047B043BF5 +:10282000042BF8D8541F24F003030433043A24F093 +:102830000304121B19442B44002AA9D001391A445D +:1028400011F8014F03F8014B9342F9D1A0E7294653 +:102850001D46A4E7C3F104037AB1C418034611F876 +:10286000015B03F8015B0D46013AA342EFD0002A59 +:10287000F5D10022E0E72B46DEE70346F9E700004A +:10288000F0B583B004460D4611F0030F1CBF21F0D4 +:102890000305043538B110F8043C03F00103002BA4 +:1028A00014BF044600242046154B9847064685422F +:1028B00024D011D32846134B98470746A0B184B1C2 +:1028C0007EB12A46B54228BF324621460E4B984774 +:1028D00020460E4B984704E02946201F0C4B984792 +:1028E0002746384603B0F0BD0A4B00930A4B40F22E +:1028F0003F120A4902200A4CA047F2E72746F0E7B8 +:1029000039250100C52301003D260100AD24010049 +:1029100051230100A89302006093020080930200FB +:1029200045220100002800F08D80014610280BD8B8 +:10293000454B9B7913F0010F0ED0434B9B7B13F05B +:10294000010F08BF012008D070B582B03F4A0023B4 +:102950004FF0FF36144619E000203B4A02EBC0015D +:102960008B7943F001038B7152F830007047374A7E +:1029700002EBC3018B7943F001038B7152F83500F0 +:1029800023E05EB201330832102B13D01D4604EB56 +:10299000C300807910F0010FF4D190888142F1D802 +:1029A000E5D0002EEDDB04EBC605AD88854288BF7F +:1029B0005EB2E7E7002E0ADB244A02EBC6018B7900 +:1029C00043F001038B7152F8360002B070BD1F4B0B +:1029D0009B7913F0010F08BF002416D001231B4878 +:1029E0001C4600EBC302927912F0010F0DD00133A7 +:1029F000102BF5D1164B0093164B40F216221649B8 +:102A00000320164CA0470020DFE7104D05EBC40360 +:102A10009A7942F001029A71998055F83400104B6E +:102A2000984745F8340018B1084B53F83400CCE708 +:102A30000C4B0093074B4FF4047207490320074DDA +:102A4000A847F1E70020704744000020B06C002048 +:102A5000549402007093020080930200452201000A +:102A600081280100F093020010F0030313D0C3F19A +:102A700004033AB1034400F8011B013A98420AD01A +:102A8000002AF8D10022002A48D0024400F8011B95 +:102A90009042FBD1704730B401EB012404EB0144B8 +:102AA00004EB0164202A20D900F12003154643F8E5 +:102AB000204C43F81C4C43F8184C43F8144C43F892 +:102AC000104C43F80C4C43F8084C43F8044C203DA0 +:102AD0002033202DEBD8A2F1210323F01F05203550 +:102AE0002844203A23F01F03D21A042A0FD905469E +:102AF000134645F8044B043B042BFAD8531F23F02C +:102B000003040434043A23F00303D21A204422B10C +:102B1000024400F8011B9042FBD130BC704710F01A +:102B2000030341D110B4202921D900F120030C4620 +:102B3000002243F8202C43F81C2C43F8182C43F8AF +:102B4000142C43F8102C43F80C2C43F8082C43F8B1 +:102B5000042C203C2033202CEBD8A1F1210323F0BE +:102B60001F0220321044203923F01F03C91A042900 +:102B700010D902460B46002442F8044B043B042BB8 +:102B8000FAD84B1F23F003020432043923F0030365 +:102B9000C91A104429B10144002300F8013B8842BE +:102BA000FBD15DF8044B7047C3F1040341B103440A +:102BB000002200F8012B01399842B3D00029F8D146 +:102BC00000210029EFD00144002300F8013B884296 +:102BD000FBD1704710F0030343D110B4202922D950 +:102BE00000F120030C464FF0FF3243F8202C43F84D +:102BF0001C2C43F8182C43F8142C43F8102C43F8E1 +:102C00000C2C43F8082C43F8042C203C2033202CB7 +:102C1000EBD8A1F1210323F01F0220321044203908 +:102C200023F01F03C91A042911D902460B464FF09D +:102C3000FF3442F8044B043B042BFAD84B1F23F01B +:102C400003020432043923F00303C91A104429B1E2 +:102C50000144FF2300F8013B8842FBD15DF8044B9F +:102C60007047C3F1040341B10344FF2200F8012B74 +:102C700001399842B1D00029F8D100210029EFD0C4 +:102C80000144FF2300F8013B8842FBD170479A4280 +:102C900038BF8854704770472DE9F04F83B007461E +:102CA000009193469846DDF830900D9C9DF8385081 +:102CB0001099DDF844A0129A12F00203019335D165 +:102CC000BAF1000F0ED012F0010F00F0B68015B966 +:102CD00012F00C0F01D00AF1FF3A8C4213D21F2CD4 +:102CE00004D910E08C420BD21F2C09D809EB040345 +:102CF0003020013403F8010BA14201D9202CF8D176 +:102D000012F0010F12D0A24510D91F2C09D809EBDF +:102D100004033020013403F8010B544505D0202C66 +:102D2000F8D112F0100F04D144E0A24612F0100FB7 +:102D300013D012F4806F04D11CB1A1421BD05445B2 +:102D400019D00F9B102B1ED00F9B022B27D01F2CAE +:102D500030D8302309F8043001341F2C2AD82DBB79 +:102D600012F0040F3AD112F0080F23D0202309F8F3 +:102D7000043001341EE0631E0FD00F99102901D0DA +:102D80001C46E1E7023C12F0200F5DD11F2CDED87B +:102D9000782309F804300134D9E71C46D1E71F2C09 +:102DA00008D8622309F804300134D0E72D2309F84C +:102DB0000430013412F0030F15D1544528BF5E468C +:102DC00012D20BEB0A052D1B5A46561C434600999E +:102DD0002020B8473246AE42F7D105E02B2309F850 +:102DE00004300134E6E75E4635465CB1A144344424 +:102DF0003246551C4346009919F8010DB8472A463A +:102E0000AC42F6D1019BA3B1A5EB0B03534512D203 +:102E100020262A46009D541C434629463046B84782 +:102E20002246A4EB0B035345F5D3204603B0BDE87F +:102E3000F08F2C46F9E72C46F7E78C42BFF476AFCB +:102E40001F2C7FF653AF71E71F2CB3D8582309F816 +:102E5000043001347BE700002DE9F04190B0169D6D +:102E6000189EDDF86C802DB928F0100418F4806FDE +:102E70002FD1A04618F0200F0DF11F0E4FF00007C4 +:102E800014BF4FF0370C4FF0570CB5FBF6F406FBB0 +:102E90001454E4B20137092C94BF30346444E4B2D2 +:102EA0000EF8014FB5FBF6F50DB1202FEDD1CDF8A1 +:102EB00018801A9C0594199C049403969DF85C4014 +:102EC0000294019708AC0094034CA04710B0BDE8F1 +:102ED000F081A0460027EAE7992C01002DE9F04F88 +:102EE00095B0089009910A920B93DDE91E45DDF833 +:102EF0008890DDF88C8054EA050307D1269B23F0E7 +:102F00001003269A12F4806F3ED12693269B13F06D +:102F1000200F0DF12F0A4FF000061D4F14BF4FF088 +:102F2000370B4FF0570B4A46434620462946B847D1 +:102F3000D2B20136092A94BF30325A44D2B20AF8CA +:102F4000012F4A46434620462946B84704460D46C7 +:102F500054EA050301D0202EE5D1269B0693259B3C +:102F60000593249B0493CDF80C909DF88030029338 +:102F700001960CAB00930B9B0A9A09990898054C93 +:102F8000A04715B0BDE8F08F26930026E5E700BF07 +:102F90006DB10100992C01002DE9F04F91B00A921A +:102FA0001C461A9E0B91934B002914BF81469946EB +:102FB0004FF0000B2078002800F06A82252808D006 +:102FC0000BF101050A9B5A460B99C8470134AB46E1 +:102FD000F0E7621C002101E041F0010114460132DA +:102FE0002378203B102B31D801A050F823F000BFEC +:102FF000413001004D3001004D30010047300100EB +:103000004D3001004D3001004D3001004D300100C8 +:103010004D3001004D3001004D3001003B300100CA +:103020004D300100353001004D3001004D300100C0 +:10303000D92F010041F00201D0E741F00401CDE7B2 +:1030400041F00801CAE741F01001C7E72378A3F176 +:103050003002D2B2092A16D92A2B22D00025237891 +:103060002E2B28D000272378683B122B4FD8DFE87F +:1030700003F0AA4EB84E454E4E4E4E4E4E4EB44EF6 +:103080004E4E4E4EBC00002505EB850503EB450575 +:10309000303D14F8013FA3F13002D2B2092AF3D92E +:1030A000DDE7331D3568002DBCBF41F002016D42E4 +:1030B00001341E46D3E741F48061601C6378A3F1BC +:1030C0003002D2B2092A04D92A2B11D00446002793 +:1030D000C9E7002707EB870703EB4707303F10F8E6 +:1030E000013FA3F13002D2B2092AF3D90446BAE76C +:1030F000376827EAE77702340436B4E763786C2B45 +:1031000019BF41F48071013441F4407102342078D8 +:10311000A0F12503532B00F2B281DFE813F0A601E2 +:10312000B001B001B001B001B001B001B001B00117 +:10313000B001B001B001B001B001B001B001B00107 :10314000B001B001B001B001B001B001B001B001F7 :10315000B001B001B001B001B001B001B001B001E7 :10316000B001B001B001B001B001B001B001B001D7 :10317000B001B001B001B001B001B001B001B001C7 -:10318000B001B001B001B001B001B001B001B001B7 -:10319000B001B001B001B001B001B0016D00B001EB -:1031A000B001B001B001B001B001B001B001B00197 -:1031B0006D0014016D00B001B001B001B0016D00EF -:1031C000B001B001B001B001B0016D008F01B001DC -:1031D000B0013701B0016D00B001B0016D0063783E -:1031E000682B19BF41F08001013441F0C001023465 -:1031F00099E741F48071013495E741F4007101349D -:1032000091E741F4807101348DE700BFAF2C0100DC -:10321000782800F0D581582800F054816F2800F0FC -:10322000D181622800F0D08121F01003692826D1D5 -:1032300011F4806F40F0C0810A2213F4007F24D182 -:1032400013F4807F44D113F0400F57D113F0800F57 -:1032500014BFB6F90010316804360593049503973E -:103260000292CB0F01930029B8BF494200910A9BFB -:103270005A460B994846AC4DA847834652E164280C -:1032800000F0568119460A221FE1F11D21F00701C5 -:1032900001F10806086849680893079506970492A3 -:1032A00000230593CB0F029302460B46002873F1CF -:1032B000000109DBCDE900230A9B5A460B994846D9 -:1032C0009A4DA84783462DE1424263EB4303F1E761 -:1032D00006F1040831680593049503970292CB0F19 -:1032E00001930029B8BF494200910A9B5A460B99A5 -:1032F00048468D4DA8478346464613E1317804364B -:10330000ABE7F11D21F0070101F1080608930795CD -:1033100006970023049205930293D1E90023CDE997 -:1033200000230A9B5A460B994846804DA84783467E -:10333000F8E006F104080593049503970292002330 -:103340000193336800930A9B5A460B994846764D81 -:10335000A84783464646E5E031780436D4E011F0CC -:10336000020F40F0EA80012D40F203810BF1FF379C -:103370002F444FF020085A46551C0A9B0B99404693 -:10338000C8472A46BD42F7D1371D05F1010B0A9BFC -:103390002A460B993078C8473E46013416E60C9E03 -:1033A000BB46FAE7331D0E9333681A460C93002F81 -:1033B00014BF3B464FF0FF331078002800F0DB804D -:1033C00012F8016F0EB1013BFAD10C9BD31A0D9389 -:1033D00011F4806A03D0BB4228BF3B460D9311F025 -:1033E00002030F9340F0CE800D990B4601338D42BE -:1033F00040F2C38005EB0B08A8EB01085A46561CA7 -:103400000A9B0B992020C84732464645F7D16B1CD2 -:103410000D930C9B1878002800F0B280DDF8308006 -:103420003246564609E01F4602F1010B0A9B0B99F2 -:10343000C84718F8010F30B15A46002EF4D07B1E51 -:10344000002FF0D193460F9B002B40F09F8001345A -:103450000E9EBBE5351D41F0210105910823049323 -:1034600003971023029300230193336800930A9B70 -:103470005A460B9948462C4EB047834601342E4697 -:10348000A4E50BF101050A9B5A460B992520C84774 -:103490000134AB469AE50BF101050A9B5A460B999C -:1034A000C8470134AB4691E50A9A93452CBF02F117 -:1034B000FF325A460A9B0B990020C847584611B064 -:1034C000BDE8F08F41F02001102221F00C0311F42F -:1034D000806F07D021F00D0369283FF4AEAE642859 -:1034E0003FF4ABAE13F4007F7FF40BAF13F4807F97 -:1034F0007FF41FAF13F0400F7FF42EAF13F0800F57 -:1035000014BF3188316804360593049503970292FD -:103510000023019300910A9B5A460B994846024D9D -:10352000A8478346013451E5712E0100F52E0100B4 -:1035300011F4806F3CD10A227FE6331D0C930BF10E -:1035400001070A9B5A460B993078C847012D7FF630 -:1035500026AF05EB0B0A4FF020083A46561C0A9B93 -:103560000B994046C8473246B245F7D1AB440C9E52 -:1035700013E75D4608E70C9A27E70D935E4648E798 -:10358000B34664E75E4600287FF448AF0D9A954243 -:103590007FF65DAF5D44AD1A5A46202602F1010B5D -:1035A0000A9B0B993046C8475A46AB45F6D14EE7C1 -:1035B00021F011030A2240E621F011030A223CE621 -:1035C000102282E7082280E702227EE710B582B04F -:1035D000009313460A4601460248034CA04702B036 -:1035E00010BD00BFA72C0100B12F010008B51821A4 -:1035F0000448054B9847054B00221A7001225A7067 -:1036000008BD00BF806C0020F91E0100B86B0020CF -:10361000F0B583B03748384B984710B30446354E61 -:10362000364D237D03F00703032B30DD2146304662 -:10363000A84704460028F4D12E48314B9847054648 -:10364000304B9847002852D12F4B0093E5222F4949 -:1036500003202F4CA0472A4600232E482E49884796 -:10366000FEE724482D4B98470546264B984760B9FE -:10367000254B0093D32225490320254CA0472A46F9 -:103680000023244824498847FEE75DB91FE021460E -:103690001848234B984705461A4B9847D0B1B5B107 -:1036A000002CC9D01F4C012626704FF4FA732B60F2 -:1036B0000027AF602B7D032262F302032B754FF0CE -:1036C000FF332B61184B98476860EF60A67028465F -:1036D00003B0F0BD0C4B0093DB220C4903200C4CD3 -:1036E000A0472A4600230B480B498847FEE7002DD8 -:1036F000D8D1ECE7806C0020A91F0100BD1F01009C -:103700005D1F0100B1220000AC940200D4940200BD -:103710005D220100D83F0200B9220000111F010004 -:1037200015200100B86B00205910010010B50446A7 -:1037300001460948094B98470122094B1A70204657 -:10374000084B9847084B1B689C4200D010BD0122D3 -:10375000034BDA70FAE700BF806C0020952001006F -:10376000B86B0020C52401004C6D002010B5044644 -:103770004068124B98472368984201D2002010BD40 -:103780000F4B984760600F4B0022DA709A70A36865 -:103790002BB1204698470B4BD87800B110BD236958 -:1037A000002BC4BF03F1FF33236123690BB1012058 -:1037B000F4E72046044B9847012010BD711001002A -:1037C00059100100B86B00202D3701002DE9F84396 -:1037D000584B1B79002B40F0A980564B01221A71DF -:1037E0005B782BB90022534B1A710120BDE8F88396 -:1037F000514B98474F4B986000261D46DFF84C818F -:103800004E4CDFF850916DE02760002609E04C4BEC -:103810009847AB7833BBEB7823BB2B78002B5FD179 -:1038200027602168F1B14046C84707462068037DFC -:1038300013F0070316D08642E6D0052BE7D0002E02 -:1038400042D0027D02F00702337D03F007039A4263 -:10385000DFDD3B4B98470028DBD0AB7813B9EB7822 -:10386000002B2FD0334CA068364DA847E3680344A3 -:10387000E3602069A847B0F5FA7F15D3E2686423B6 -:1038800003FB02F3304AA2FB0323C3F34713642B69 -:103890009ABFC3F16403DBB20023264C23750023D7 -:1038A000E360254B984720614FF0FF32214B9A612E -:1038B0002648274B98470446002831D0214F1D4EFB -:1038C000224D1DE026680DE01D4B98470028A0D032 -:1038D000AB78002BC6D1EB78002BC3D1266801E072 -:1038E00000262E700023EB70AB704046184B9847B3 -:1038F000206096E721462846164B9847044678B143 -:10390000237D13F0070FF5D06068B847236898420D -:1039100034BF1B1A0023B2699A4288BFB361E9E73A -:10392000044B00221A719869BDE8F8830120BDE8B4 -:10393000F88300BFB86B0020591001004C6D0020C7 -:103940006D37010071100100D34D6210806C0020B2 -:10395000A91F0100BD1F01002DE9F843037D03F0FD -:1039600007038B4231D00D46884681461848194BD3 -:103970009847044618B3037D03F007039D420BDA12 -:10398000134F154E21463846B0470446B8B1237D43 -:1039900003F007039D42F5DBA14505D022464946C9 -:1039A0000B480E4B984754B101220D4B1A7099F8F1 -:1039B000143068F3020389F81430BDE8F88300225C -:1039C00049460348054B9847EEE7BDE8F88300BF3A -:1039D000806C0020A91F0100BD1F0100952101007E -:1039E000B86B00202DE9F04182B080460F461646A4 -:1039F0001D46104B984704460F4B984760B13CB1A9 -:103A0000C4F808802760314620460C4B9847E56093 -:103A1000204602B0BDE8F081094B00934FF4837259 -:103A200008490320084DA8472246002307480849B3 -:103A30008847FEE711360100B12200005939010024 -:103A4000C4940200D49402005D220100D83F020019 -:103A5000B922000010B50446034B98472368DB43A6 -:103A60000344636010BD00BF59100100037813F0D8 -:103A7000800F01D10120704703F0E002C02A0AD074 -:103A800003F0F002E02A08D003F0F803F02B0CBF9B -:103A900004200020704702207047032070477F28D1 -:103AA00016D982B0B0F5006F13D2C0F3841363F05F -:103AB0003F038DF8043000F03F0060F07F008DF888 -:103AC000050000238DF806308DF80730019802B00C -:103AD0007047B0F5803F15D2C0F3033363F01F0386 -:103AE0008DF80430C0F3851363F07F038DF8053043 -:103AF00000F03F0060F07F008DF8060000238DF895 -:103B00000730E3E7B0F5881FE0D2C0F3824363F0EB -:103B10000F038DF80430C0F3053363F07F038DF895 -:103B20000530C0F3851363F07F038DF8063000F095 -:103B30003F0060F07F008DF80700C7E782B001907A -:103B400010F0800F17D09DF804309DF80520120466 -:103B500002EB03629DF8063002EB03229DF807306A -:103B60001A44042312F0FF0F08BF120A013B13F09E -:103B7000FF03F7D10192019802B0704770B483B08F -:103B8000002301930C4651B12268835C13F0800F2F -:103B900007D118460132226003B070BC704701ACF7 -:103BA000F2E703F0E001C0290BD003F0F001E029B7 -:103BB00019D003F0F801F02933D00132226000203F -:103BC000EAE7511C2160405C00F0C001802901D06F -:103BD0000020E1E79B0103F4F86300F03F00184484 -:103BE00002322260D8E7511C2160415C01F0C0051F -:103BF000802D01D00020CFE7951C2560405D00F0AE -:103C0000C005802D01D00020C6E71B039BB200F049 -:103C10003F000344880100F47C60184403322260B2 -:103C2000BAE7511C2160415C01F0C005802D01D034 -:103C30000020B1E7951C2560455D05F0C006802E8B -:103C400001D00020A8E7D61C2660865D06F0C000E3 -:103C5000802801D000209FE79B0403F4E0130903B0 -:103C600001F47C300343A80100F47C6006F03F06B9 -:103C700030441844043222608EE70000F0B583B06F -:103C800006460D460B68013B0B6004240E4F05E011 -:103C900001382860631E13F0FF0408D02868304400 -:103CA0003B68984728B928680028F1D109E000202E -:103CB00007E02B6802A941F8043D034B5B683046DE -:103CC000984703B0F0BD00BF540000202DE9F0413B -:103CD0000E4691B1074600242546DFF824803819A6 -:103CE000D8F800309847002808BF01200444013567 -:103CF000AE42F4D12046BDE8F0810C46FAE700BFA1 -:103D000054000020F0B583B0002301930D4669B143 -:103D100006461C46064F01A930467B689847013489 -:103D2000019BAB42F7D3204603B0F0BD0C46FAE747 -:103D30005400002070B582B000230193037873B162 -:103D400004460025074E01A92046736898470135AF -:103D5000019BE35C002BF6D1284602B070BD002524 -:103D6000FAE700BF54000020232904D00378012B78 -:103D700015D00020704703781BB901230370184643 -:103D80007047012B03D0022B05D000207047002381 -:103D900003701846704700230370012070472029E4 -:103DA00003D10223037001207047012070470000F7 -:103DB0002DE9F04F91B00591069207939DF8683078 -:103DC00004930890002800F0F080002900F0EF80B4 -:103DD00013F0120F17D003780A2B00F0EA800D2B96 -:103DE00000F0ED80002B00F0EC8001460022013253 -:103DF00011F8013F0A2B00F0DD800D2B00F0DA8076 -:103E0000002BF4D1D7E0049B03F002031A460B9376 -:103E100047F618430799002A18BF1946079100234F -:103E20008DF83F300E93DFF8AC91DFF8ACA178E06D -:103E3000019A21460598644B98470544ADB200B2FB -:103E4000002802DD069B1D44ADB22DB2B7F1FF3F45 -:103E500038D0A4F10A02162A3BD85C4BD34013F0A9 -:103E6000010F39D101232C22944235D00133DBB22A -:103E70001AF80320002AF7D1B7F1FF3F08BFAB467D -:103E80000C9E0D9B0C93039B0293019C18F806302B -:103E9000002B6ED0D9F804300DA940469847019008 -:103EA000029B01330393049B13F0010FC0D0214602 -:103EB0000DF13F00464B98470028B9D00C9E0D9B52 -:103EC0000C93E0E7069BEB1A099A9342C8BF37466A -:103ED000BFE701232C22C7E7002E4AD1B7F1FF3FED -:103EE0004AD1AB46029B23B10D2C03D1019B0A2B77 -:103EF00000D10C9EB6B2079BA3EB0B0B0FFA8BF312 -:103F00000793002E3AD00E9F3E440E96089A1378DF -:103F10000A2B3FD00D2B3DD0935D0A2B38D00D2BB3 -:103F200036D00E9B0A93089901EB0308CB5C002B5B -:103F300030D0079B002B2DDDB8F1000F1ED047F6C7 -:103F40001843079A0B99002908BF134609930026C6 -:103F50000C960D96D9F804300CA9404698470446B3 -:103F60000C9B0D93B3464FF0FF37029635460196F2 -:103F70008CE7B7F1FF3FB5D00A9B3BB10E9B5BB915 -:103F8000144B5B680EA90898984703E0BEB2B2E7ED -:103F900001360E960E9B13B1BDF838000CE00D4BA8 -:103FA0005B680EA908989847F6E7002004E0002017 -:103FB00002E00022013290B211B0BDE8F08F002281 -:103FC000F8E70022F7E700BF6100010009004000A8 -:103FD000693D010054000020149502002DE9F04FC6 -:103FE00085B0002840D00546002A3FD0002003902D -:103FF0008DF80B0049B19B460192894600241C4F65 -:104000009DF838A00AF0010A0CE0044628E0424678 -:1040100031460198174B984703B2002B02DD5C44F0 -:10402000044424B2039B994515D97B6803A928460B -:10403000984706467B6800210398284498478046A5 -:10404000BAF1000FE3D031460DF10B000A4B98474F -:104050000028E7D1DBE7002C02DDA4EB0B0424B23F -:10406000204605B0BDE8F08F0024F9E70024F7E70B -:104070005400002061000100693D01002DE9F04F6E -:1040800089B0BDF948400694BDF94C509DF8508068 -:1040900000240480448000295BD00F46002A58D0B9 -:1040A000039311460292044608F0020347F61842B1 -:1040B000002B18BF15460495B1F9082007921FFA86 -:1040C00082FA3B78002B4CD03E460025DFF8B0B09A -:1040D000069B9A441FFA8AF94746B0460097049B0C -:1040E000039A02993046D8470544B4F902300AEBE6 -:1040F0000302B2F5004F24D2CDF814904B446380F4 -:104100000097039B029A01463046184EB047B4F917 -:1041100000309842B8BF1846208008EB050618F812 -:104120000530002BDAD12DB116F8013C0A2B13D043 -:104130000D2B11D0B4F902309BB1069A9B1A638003 -:1041400007E00B4B00930B4B71220B4902200B4CE9 -:10415000A04709B0BDE8F08F6388059A1A446280D1 -:10416000E8E7BDF81C306380F3E700BFDD3F0100E6 -:1041700044950200009502001C9502005D2201009A -:10418000B13D01002DE9F04781468A461F46DDF822 -:104190002080144632B90020BDE8F087002814DAE8 -:1041A0002C467CB1650807FB05A631464846C0474A -:1041B0000028F3DD84F0010404F001042C1B06EB5D -:1041C000070AEEE70020BDE8F0873046BDE8F0873B -:1041D000014B1860704700BFD46B0020014B1B6877 -:1041E000D8687047D46B002008B5024B1B681B6869 -:1041F000984708BDD46B00202DE9F84304460139E7 -:10420000272934D8DFE811F028003900EC00A1009C -:1042100053006000A303D8004401B2024600CC035F -:104220007302FE03DC00E0008100E4009301E8007B -:1042300047026602E3036A017C013F02A0012302F8 -:104240001F01750391030801B800E002C901F401E0 -:104250004703040212033A0300219B4B98470021B5 -:1042600020469A4B98479A4B19689A4B9847FF21DA -:104270002046994B9847BDE8F8830021924B984718 -:1042800000212046914B9847914B19680431914B7E -:104290009847ECE700218C4B9847002120468B4B38 -:1042A00098478B4B196804318A4B9847DFE7002108 -:1042B000854B984700212046844B9847844B1968CA -:1042C0001031844B9847D2E70021DFF8FC81C047CA -:1042D000002120467D4FB84781467D4E316804312C -:1042E0007C4DA847316818314846A847012120462F -:1042F000C04701212046B847074631680431A84726 -:10430000316808313846A847B1E70021DFF8B881A5 -:10431000C047002120466D4FB84781466C4E31683A -:104320006C4DA847316868314846A84701212046AE -:10433000C04701212046B847074631680431A847E5 -:10434000316808313846A84791E70021DFF87881C5 -:10435000C047002120465D4FB8475D4E316824318B -:104360005C4DA84701212046C04701212046B8479F -:1043700031682831A8477AE70021DFF84C81C0472F -:1043800000212046514FB847514E31682431514DDC -:10439000A84701212046C04701212046B84731687F -:1043A0002831A84702212046C04702212046B847AD -:1043B00031689C31A8475AE70021434B984756E79C -:1043C0000021414B984752E700213F4B98474EE769 -:1043D00000213D4B98474AE700213B4B984746E771 -:1043E0000021DFF8E480C04700212046374FB8475E -:1043F0008146374E31680431364DA8473168203147 -:104400004846A84701212046C04701212046B84719 -:1044100031681C31A8472AE70021DFF8AC80C0478B -:1044200000212046294FB847294E31682031294DB7 -:10443000A84701212046C04701212046B8473168DE -:104440001C31A84713E70021DFF87C80C04700211A -:1044500020461E4FB84781461D4E316824311D4D00 -:10446000A847316894314846A84701212046C047F3 -:1044700001212046B84731682831A847022120464B -:10448000C04702212046B84731689031A847EEE680 -:104490000021DFF83480C047002120460B4FB84789 -:1044A0000B4E31684C310B4DA84740212046C04788 -:1044B00040212046B847074631681031A847316887 -:1044C00050313846A847D2E6CD300000FD2F00001D -:1044D000D86B0020D9650000993A000000219F4B5D -:1044E0009847002120469E4B984707469D4E3168CD -:1044F00004319D4DA84731687C313846A847B6E65F -:104500004021DFF85882C04740212046944FB847E9 -:10451000944E31681831944DA84741212046C04738 -:1045200041212046B84731681031A8479FE6002155 -:104530008A4B984700212046894B9847894B196838 -:104540006C31894B984792E60021DFF81082C04712 -:1045500000212046824FB847824E31680431824D97 -:10456000A84740212046C04740212046B84731682F -:104570001431A84701212046C04701212046B847F1 -:1045800031688031A84702212046C04702212046D9 -:10459000B84731688431A84769E600216F4DA847C4 -:1045A00000212046DFF8B881C0476E4F39686E4E53 -:1045B000B04740212046A84741212046A847412135 -:1045C0002046C0473968A831B04743212046A84754 -:1045D00043212046C0473968AC31B04742212046CC -:1045E000A84742212046C0473968A431B0473EE67B -:1045F00000215A4DA84740212046A8474021204687 -:10460000574B9847574B1968B031574B98472EE690 -:104610000021DFF84881C04700212046504FB847AD -:10462000504E3168504DA84701212046C047012116 -:104630002046B84731688031A84702212046C0474C -:1046400002212046B84731688431A8470FE600218F -:10465000DFF80881C04700212046414FB847814616 -:10466000404E31680431404DA84731688831484692 -:10467000A84703212046C04703212046B847316898 -:104680008C31A847F3E50021344B984700212046A0 -:10469000334B9847EBE50021304FB84700212046C7 -:1046A000DFF8BC80C04781462E4E316804312E4D64 -:1046B000A847316874314846A84740212046B8478A -:1046C00001212046B84701212046C047316880318A -:1046D000A847CCE50021214B984700212046204BDC -:1046E0009847204B196878311F4B9847BFE5002148 -:1046F000DFF86880C04700212046194FB84781463F -:10470000184E31680431184DA847316808314846C1 -:10471000A847316818314846A84740212046C0477D -:1047200040212046B847814631680431A8473168A6 -:1047300054314846A84741212046C04741212046E0 -:10474000B84731688031A84742212046C0474221FE -:104750002046B84731685831A84788E5CD30000079 -:10476000FD2F0000D86B0020D96500000021DFF884 -:104770009082C047002120469E4FB84781469E4EFA -:10478000316804319D4DA847316840314846A847FB -:10479000316818314846A84701212046C047012109 -:1047A0002046B847814631681831A84731684431FE -:1047B0004846A84702212046C04702212046B84764 -:1047C00031684831A84752E50021DFF83482C047FC -:1047D00000212046874FB847874E31680431874D06 -:1047E000A84701212046C04701212046B84731682B -:1047F000A031A84702212046C04702212046B847E1 -:104800003168A031A84703212046C0470321204634 -:10481000B8473168A031A84704212046C047042189 -:104820002046B8473168A031A84720E50021DFF8CD -:10483000D081C047002120466E4FB8476E4E316888 -:104840006E4DA84742212046C04742212046B84726 -:1048500031688031A84741212046C0474121204688 -:10486000B8473168B031A84740212046C0474021B1 -:104870002046B8473168A831A847F8E40021604BCA -:104880009847002120465B4B98475B4B1968A43141 -:104890005A4B9847EBE40021DFF86481C0470021C0 -:1048A0002046544FB8478146534E31680431534D2A -:1048B000A847316818314846A84704212046C04718 -:1048C00004212046B8473168B831A8470321204663 -:1048D000C04703212046B8473168B431A8470121B9 -:1048E0002046C04701212046B84731688031A8479B -:1048F000BDE40021DFF80881C047002120463D4F7C -:10490000B84781463C4E316804313C4DA847316878 -:1049100018314846A84703212046C04703212046B6 -:10492000B84731689831A847A1E40021344B984733 -:10493000002120462F4B984707462F4E31680431FF -:104940002E4DA847316808313846A8478FE400212A -:10495000DFF8AC80C04700212046264FB847264EDE -:1049600031680431254DA84703212046C047032163 -:104970002046B84731682C31A84701212046C0475E -:1049800001212046B84731683031A847022120462E -:10499000C04702212046B84731683431A84766E451 -:1049A0000021DFF85C80C04700212046114FB84746 -:1049B000114E31683831114DA84701212046C047BA -:1049C00001212046B84731683C31A8474FE4002117 -:1049D0000B4B984700212046064B98470746064E4A -:1049E00031680431054DA847316870313846A84711 -:1049F0003DE400BFFD2F0000D86B0020D96500000A -:104A0000CD3000000021DFF85480C047002120464F -:104A10000F4FB84781460F4E316804310E4DA847FD -:104A200031685C314846A84701212046C047012132 -:104A30002046B84731686031A84702212046C04768 -:104A400002212046B84731686431A8470FE400BF0F -:104A5000FD2F0000D86B0020D9650000CD3000008C -:104A600008B5044B1B7913B9034B984708BD034B9A -:104A7000984708BDD86B0020D96400006567000026 -:104A800070B5B34C2068B34B9847FF222C212068A7 -:104A9000B14B9847236A13F0020314BF1D2108216C -:104AA000002B15BF3B2012201E230B234FF00002CA -:104AB00063F3040260F34A1261F3CF2229212068D4 -:104AC000A64B98472046236A13F0020314BF072120 -:104AD0001C21002B15BF0F243A2408231D234FF05F -:104AE000000263F3040264F34A1261F3CF2248F236 -:104AF00089010068994B98479548036A13F00203AF -:104B000014BF07211C21002B15BF0F243A240823B2 -:104B10001D234FF0000263F3040264F34A1261F3B1 -:104B2000CF22792100688D4B9847894C626948F201 -:104B30008E0120688A4DA84762697E212068A847B7 -:104B400020680430834B9847246804340020854B48 -:104B500098470A30C000B0F5A07F80F24686012257 -:104B600001212046804B9847794C2068FF222C2158 -:104B70000430794B984720680430236A13F0020F01 -:104B800040F041860B2318210E244FF0000264F3FD -:104B9000040261F34A1263F3CF2229216F4B984735 -:104BA0006B4B18681B6A13F0020314BF1A21102103 -:104BB000002B15BF372422241C2312234FF00002A0 -:104BC00063F3040264F34A1261F3CF223921043003 -:104BD000624DA8475E4C2068A28940F2392104301A -:104BE000A8472068E28940F239410430A847246888 -:104BF000043400205B4B984728304000B0F5A07F7C -:104C000080F20686012230212046574DA847504C9D -:104C10002068012233210430A8472068626948F2E5 -:104C20008E0104304E4B984720680430236A13F0FD -:104C3000020F40F0FB851F233F211C464FF000026E -:104C400064F3040261F34A1263F3CF2248F289014C -:104C5000424B98473E4C206862697E210430404BAD -:104C6000984720680430236A13F0020F40F0E38570 -:104C70001F233F211C464FF0000264F3040261F33E -:104C80004A1263F3CF227921344B9847304B18688E -:104C900004301B6A13F0020F40F0D2851F233F211E -:104CA0001C464FF0000264F3040261F34A1263F3FE -:104CB000CF2248F2A901294B9847254B18680430A8 -:104CC0001B6A13F0020F40F0C0851F233F211C46D2 -:104CD0004FF0000264F3040261F34A1263F3CF223F -:104CE00099211E4B98471A4C2068012290210430CC -:104CF0001D4B98472568043500201C4B9847012818 -:104D000040F2A8850020174B9847C0EB00104000E8 -:104D10005030B0F5A07F80F2B88501240020114BFF -:104D2000984728304000B0F5A07F80F2BE85012270 -:104D3000224412B2122128460B4B9847044B1D689F -:104D400004350020094B9847012840F2BC850FE04C -:104D5000D86B0020614A0100696B0000256A0000E1 -:104D6000996C00003D0F0100E1680000590F01003F -:104D70000020B14B9847C0EB001040005030B0F518 -:104D8000A07F80F2BB8501240020AB4B98472830E0 -:104D90004000B0F5A07F80F2C1850122224412B20A -:104DA00013212846A54B9847A54B1D6804350020C4 -:104DB000A44B9847012840F2BF8500209E4B98479E -:104DC000C0EB001040005030B0F5A07F80F2CF85DE -:104DD00001240020984B984728304000B0F5A07F70 -:104DE00080F2D5850122224412B210212846934B2D -:104DF0009847934B1D6804350020924B9847012833 -:104E000040F2D38500208C4B9847C0EB0010400047 -:104E10005030B0F5A07F80F2F48501240020864B4D -:104E2000984728304000B0F5A07F80F2FA85012233 -:104E3000224412B211212846804B9847804B1C68AF -:104E4000043400207F4B9847012840F2F885002069 -:104E5000794B9847C0EB001040005030B0F5A07F70 -:104E600080F20886012214212046744DA847744C14 -:104E700020689622B0210430A84720683922B72143 -:104E80000430A84720680C306F4B98472068011DFC -:104E90000C306E4B98472068236A13F0020314BF4E -:104EA0001A210821002B15BF352412241B230923A6 -:104EB0004FF0000263F3040264F34A1261F3CF225D -:104EC00029210C30624B98475D4B18680C301B6AE7 -:104ED00013F0020F40F0DE85082310211C464FF02E -:104EE000000264F3040261F34A1263F3CF22392112 -:104EF000574B9847524B18681B6A13F0020314BFB4 -:104F000006211421002B15BF10242A240923152360 -:104F10004FF0000263F3040264F34A1261F3CF22FC -:104F200048F289010C304A4B9847454B18681B6A78 -:104F300013F0020314BF06211421002B15BF102407 -:104F40002A24092315234FF0000263F3040264F3BB -:104F50004A1261F3CF2279210C303D4B9847384BF0 -:104F600018681B6A13F0020314BF06211421002BDA -:104F700015BF10242A24092315234FF0000263F3E0 -:104F8000040264F34A1261F3CF2248F2A9010C3003 -:104F90002F4B98472A4B18681B6A13F0020314BF63 -:104FA00006211421002B15BF10242A2409231523C0 -:104FB0004FF0000263F3040264F34A1261F3CF225C -:104FC00099210C30224B98471D4C206808301E4B0D -:104FD000984720680830236A13F0020F40F05F857D -:104FE000092313210A244FF0000264F3040261F341 -:104FF0004A1263F3CF2241F22901154DA847104C04 -:105000002068A28940F229110830A847266808368E -:105010003321A0890F4B9847024641F229113046AF -:10502000A84720680830236A13F0020F40F03C853F -:105030000B2318210E240FE03D0F0100E168000052 -:10504000D86B0020590F0100614A0100B9670000C8 -:10505000256A0000031C01004FF0000264F3040203 -:1050600061F34A1263F3CF2242F22901BB4EB047EB -:10507000BB4C206800224FF498710830B94B984718 -:10508000256808353321A089B74B9847024641F27D -:1050900039212846B04720680830236A13F0020FF0 -:1050A00040F007850B2319210D244FF0000264F313 -:1050B000040261F34A1263F3CF2241F23901A74B94 -:1050C0009847A74B18681B6A13F0020314BF072107 -:1050D0000B21002B15BF0F24192408230D234FF09B -:1050E000000263F3040264F34A1261F3CF2240F238 -:1050F00039110830994B9847994B18681B6A13F07F -:10510000020314BF07210B21002B15BF0F24192404 -:1051100008230D234FF0000263F3040264F34A12E4 -:1051200061F3CF2241F2391108308C4B98478C4BF8 -:1051300018681B6A13F0020314BF1A210B21002BFD -:1051400015BF372419241C230D234FF0000263F3ED -:10515000040264F34A1261F3CF2242F239010830AB -:105160007E4B98477E4B186808301B6A13F0020F7D -:1051700040F0A4841F233F211C464FF0000264F33B -:10518000040261F34A1263F3CF2249F28901734D9D -:10519000A847734C20684FF0FF3248F2891108305D -:1051A000A84720684FF0FF3249F289110830A8471C -:1051B0002068236A13F0020314BF2A212621002B42 -:1051C00014BF152313234FF0000263F3040261F3AD -:1051D0004A1263F3CF224AF289010830A8472068B7 -:1051E0000830236A13F0020F40F06D841F233F2123 -:1051F0001C464FF0000264F3040261F34A1263F3A9 -:10520000CF2249F2A901554DA847554C20684FF0CF -:10521000FF3248F2A9110830A84720684FF0FF324A -:1052200049F2A9110830A8472068236A13F0020345 -:1052300014BF2A212621002B14BF152313234FF05E -:10524000000263F3040261F34A1263F3CF224AF2CD -:10525000A9010830A84720682922B6210830414D0D -:10526000A84720681030414B9847206847F6FF72E6 -:1052700001211030A8472068FF222C2110303C4B20 -:10528000984720681030236A13F0020F40F0208402 -:105290000B2318210E244FF0000264F3040261F383 -:1052A0004A1263F3CF2229212C4B98472C4B1868C4 -:1052B00010301B6A13F0020F00F00F8428494B7B5B -:1052C000DB0803EB830303EB830341F6DA352B445E -:1052D00003EB032203EBC213C3F3C4538A89C2F363 -:1052E000451202EB820202EB820202F562521A328E -:1052F00002EB022402EBC412C2F3C554097B01F095 -:105300001F0101EB810101EB8101294401EB012225 -:1053100001EBC211C1F3C4514FF0000261F304026A -:1053200064F34A1263F3CF2241F229010B4DA847DF -:105330000B4C2068A28940F229111030A84726683A -:1053400010364C21A089084B9847024641F229119A -:105350003046A84720681030236A0BE0256A000019 -:10536000D86B0020E1680000031C0100614A0100C5 -:10537000696B000013F0020F40F0D9830B23182152 -:105380000E244FF0000264F3040261F34A1263F347 -:10539000CF2242F22901C64B9847C64B18681B6AB8 -:1053A00013F0020314BF33212221002B14BF192351 -:1053B00011234FF0000263F3040261F34A1263F316 -:1053C000CF2242F229111030B94DA847B94C2068BC -:1053D000A28939211030A8472068A28941F23901F9 -:1053E0001030A8472068236A13F0020314BF22215B -:1053F0001021002B14BF112308234FF0000263F388 -:10540000040261F34A1263F3CF2242F239011030F1 -:10541000A847246810340020A74B98472830400044 -:10542000B0F5A07F80F28783012230212046A34B74 -:105430009847A04C206800224FF49E711030A04B7A -:10544000984720681030236A13F0020F40F08083E1 -:105450001F233F211C464FF0000264F3040261F356 -:105460004A1263F3CF2248F28901914B9847914B3E -:10547000186810301B6A13F0020F40F06D831F2371 -:105480003F211C464FF0000264F3040261F34A120C -:1054900063F3CF2249F28901854DA847854C2068E6 -:1054A0004FF0FF3248F289111030A84720684FF0C2 -:1054B000FF3249F289111030A847206811234FF0BC -:1054C000000263F30402222161F34A1263F3CF2244 -:1054D0004AF289011030A84720681030236A13F07F -:1054E000020F40F03D831F233F211C464FF0000276 -:1054F00064F3040261F34A1263F3CF2248F2A90174 -:105500006B4B98476B4B186810301B6A13F0020FF7 -:1055100040F02A831F233F211C464FF0000264F312 -:10552000040261F34A1263F3CF2249F2A901604DEC -:10553000A847604C20684FF0FF3249F2A9011030B3 -:10554000A84720684FF0FF3249F2A9111030A84750 -:10555000206811234FF0000263F30402222161F35B -:105560004A1263F3CF224AF2A9011030A8472068FB -:105570001030236A13F0020F40F0FA821F233F21FC -:105580001C464FF0000264F3040261F34A1263F315 -:10559000CF227921464B9847464B186810301B6A3A -:1055A00013F0020F40F0E8821F233F211C464FF00A -:1055B000000264F3040261F34A1263F3CF2241F262 -:1055C00079013B4DA8473B4C20684FF0FF3240F239 -:1055D00079111030A84720684FF0FF3241F279115D -:1055E0001030A847206811234FF0000263F3040233 -:1055F000222161F34A1263F3CF2242F27901103083 -:10560000A8472468103400202B4B984700EB8000FB -:10561000C0005030B0F5A07F80F2B282012212218A -:105620002046264B9847234B1C6810340020224B01 -:10563000984700EB8000C0005030B0F5A07F80F2AA -:10564000AE820122132120461C4B9847194B1C683F -:1056500010340020184B9847C0EB00105030B0F5C4 -:10566000A07F80F2AB82012210212046134B984785 -:10567000104B1C68103400200F4B9847C0EB0010F3 -:105680005030B0F5A07F80F2A78201221121204680 -:105690000A4B9847074B1C6810340020064B98476C -:1056A00000EB800080005030B0F5A07F0AE000BF22 -:1056B000256A0000D86B00203D0F0100E168000062 -:1056C000696B000080F29682012214212046BD4DB4 -:1056D000A847BD4C2068032240211030A84720680D -:1056E00000224C211030B94EB04720687F224FF481 -:1056F00013711030B0472068A28949211030B44E90 -:10570000B0472068E28940F249411030B047206834 -:105710009622B0211030A84720683C22B5211030D5 -:10572000A84720682922B6211030A84720684C22BB -:10573000B7211030A84720689622B1211030A84721 -:105740002068002241F2B1011030A84720681430CF -:10575000A04B98472468143400209F4B9847322868 -:1057600000F2668200209D4B984700EB800080008D -:105770005030B0F5A07F80F24C82012214212046E7 -:10578000904B9847904B18681830924B98470020E0 -:10579000914B9847322800F2758200208F4B984732 -:1057A00000EB800040005030B0F5A07F80F25B82BB -:1057B0000124854E3068224612211830814DA847B9 -:1057C0003068224613211830A8473068224610213D -:1057D0001830A8473068224611211830A847306891 -:1057E000224614211830A84770BD00207B4B9847F3 -:1057F0000A30C0007A4B83FB0023C217C2EBA3120E -:1058000012B2FFF7ADB91F233F211C46FFF7BDB908 -:105810000020724B984728304000714B83FB0023D7 -:10582000C217C2EBA31212B2FFF7EDB907230F2183 -:105830000824FFF703BA07230F210824FFF71BBA38 -:1058400007230F210824FFF72CBA07230F21082470 -:10585000FFF73EBA0020614B9847C0EB0010503074 -:10586000B0F5A07F02DA0124FFF758BA00205B4BA5 -:105870009847C0EB00105030594A82FB0032C417E1 -:10588000C4EBA214A4B2FFF749BA0020534B9847C7 -:10589000C0EB001040005030514A82FB0032C41768 -:1058A000C4EBA214A4B2FFF739BA00204B4B9847BF -:1058B000283040004A4B83FB0023C217C2EBA312DF -:1058C00092B2FFF735BA0020444B9847C0EB001066 -:1058D0005030B0F5A07F02DA0124FFF755BA00205E -:1058E0003E4B9847C0EB001050303D4A82FB0032DF -:1058F000C417C4EBA214A4B2FFF746BA0020374B7A -:105900009847C0EB001040005030354A82FB00320F -:10591000C417C4EBA214A4B2FFF736BA00202F4B71 -:105920009847283040002E4B83FB0023C217C2EB60 -:10593000A31292B2FFF732BA0020284B9847C0EB6F -:1059400000105030B0F5A07F02DA0124FFF741BA11 -:105950000020224B9847C0EB00105030204A82FBB9 -:105960000032C417C4EBA214A4B2FFF732BA00206D -:105970001A4B9847C0EB001040005030184A82FB89 -:105980000032C417C4EBA214A4B2FFF722BA00205D -:10599000124B984728304000114B83FB0023C2175D -:1059A000C2EBA31292B2FFF71EBA00200B4B98472E -:1059B000C0EB00105030B0F5A07F13DA0124FFF7E0 -:1059C0002DBA00BFE1680000D86B0020696B0000B1 -:1059D000256A0000614A0100590F01003D0F0100D6 -:1059E000676666660020B54B9847C0EB00105030E4 -:1059F000B34A82FB0032C417C4EBA214A4B2FFF76F -:105A00000DBA0020AD4B9847C0EB0010400050305D -:105A1000AB4A82FB0032C417C4EBA214A4B2FFF756 -:105A2000FDB90020A54B984728304000A44B83FBCC -:105A30000023C217C2EBA31292B2FFF7F9B90020FC -:105A40009E4B9847C0EB00105030B0F5A07F02DAB3 -:105A50000122FFF708BA0020984B9847C0EB0010CE -:105A60005030974B83FB0023C217C2EBA31212B234 -:105A7000FFF7F9B90020914B9847C0EB00104000A8 -:105A800050308F4B83FB0023C217C2EBA31212B21C -:105A9000FFF7E9B91B2339211D24FFF720BA1D2385 -:105AA0003B211C46FFF79FBA1F233F211C46FFF7EF -:105AB000D3BA192333211C46FFF7F7BA07230F2166 -:105AC0000824FFF75ABB07230F210824FFF791BBD7 -:105AD0001F233F211C46FFF7DEBB7A4D6B7BDB08A3 -:105AE0004C2101FB03F303F2B17303EB032203EB3D -:105AF000C213C3F3C453AC89C4F3451441F2C802C2 -:105B000001FB042404EB042204EBC214C4F3C554C7 -:105B10002A7B02F01F0201FB02F101F6CA1101EB20 -:105B2000012201EBC211C1F3C451FFF7F5BB1F23E2 -:105B30003F211C4625E40020604B98472830400058 -:105B40005F4B83FB0023C217C2EBA31212B26CE4BB -:105B50000623102109247EE406231021092491E460 -:105B6000062310210924C1E4062310210924D4E4CA -:105B700006231021092404E506231021092416E533 -:105B800000204E4B984700EB8000C00050304C4B3B -:105B900083FB0023C217C2EBA31212B23FE5002021 -:105BA000464B984700EB8000C0005030444B83FBCD -:105BB0000023C217C2EBA31212B243E500203F4BF1 -:105BC0009847C0EB001050303D4B83FB0023C217B9 -:105BD000C2EBA31212B247E50020384B9847C0EB46 -:105BE00000105030364B83FB0023C217C2EBA312C8 -:105BF00012B24BE50020314B984700EB800080004B -:105C000050302F4B83FB0023C217C2EBA31212B2FA -:105C10005BE50020294B984700EB80008000503066 -:105C2000274B83FB0023C217C2EBA31212B2A5E5D8 -:105C30000020224B984700EB8000C0005030B0F5A8 -:105C4000A07F01DA012299E500201C4B984700EB68 -:105C50008000C00050301A4B83FB0023C217C2EBF8 -:105C6000A31212B28AE50020144B984700EB800083 -:105C700040005030124B83FB0023C417C4EBA31425 -:105C800024B296E500200D4B984700EB8000800081 -:105C90005030B0F5A07F01DA01248AE50020074BDF -:105CA000984700EB800080005030054B83FB0023B9 -:105CB000C417C4EBA31424B27BE500BF3D0F010061 -:105CC00067666666D86B0020F8B5544C20682430AF -:105CD000534B9847206847F6FF7201212430514BFF -:105CE00098472068FF222C2124304F4B984720688A -:105CF000236A13F0020314BF1A210821002B15BFD9 -:105D0000352412241B2309234FF0000263F30402FD -:105D100064F34A1261F3CF2229212430434B984780 -:105D20003E4B186824301B6A13F0020F6DD11F23FD -:105D30003F211C464FF0000264F3040261F34A1253 -:105D400063F3CF227921394DA847344C2068A289CA -:105D500049212430A8472068E28940F24941243093 -:105D6000A847206800224C2124302F4FB8472068D4 -:105D70007F224FF413712430B8472068032240215A -:105D80002430284EB04720689622B0212430B047F6 -:105D900020684C22B7212430B04720682830204B9F -:105DA00098472068FF222C212830B847206847F602 -:105DB000FF7201212830B0472068A28929212830AC -:105DC000A847206811234FF0000263F30402222148 -:105DD00061F34A1263F3CF2242F229012830A84727 -:105DE00020682830236A13F0020F12D11F233F21AD -:105DF0001C464FF0000264F3040261F34A1263F39D -:105E0000CF227921094B9847F8BD06231021092498 -:105E100090E7082310210924EBE700BFD86B00208E -:105E2000614A0100E1680000696B0000256A00001A -:105E300010B5A04C206890309F4B98472068FF22F7 -:105E40002C2190309D4B984720689030236A13F0A6 -:105E5000020F19BF23469A89994B1A882921994B19 -:105E60009847944B186890301B6A13F0020F40F06B -:105E7000A9801F233F211C464FF0000264F3040257 -:105E800061F34A1263F3CF2279218E4B9847894CF4 -:105E9000206847F6FF72012190308B4B98472468A9 -:105EA00090340020894B9847C0EBC0005030B0F5CB -:105EB000A07F80F28B80012212212046824B9847DE -:105EC0007C4B1C6890340020804B9847C0EBC0008E -:105ED0005030B0F5A07F80F2878001221321204648 -:105EE000794B9847734B1C6890340020774B984748 -:105EF000C0EBC0005030B0F5A07F80F2838001225B -:105F000010212046704B98476A4B1C689034002043 -:105F10006E4B9847C0EBC0005030B0F5A07F7FDAE1 -:105F2000012211212046684B9847624C206894302A -:105F3000614B9847246894340020644B984700EBE9 -:105F4000800040005030B0F5A07F77DA01221721A1 -:105F500020465D4B9847574B1C68943400205B4BA0 -:105F6000984700EB800040005030B0F5A07F74DA15 -:105F7000012218212046544B98474E4B1C689434FC -:105F80000020524B984700EB800040005030B0F5A5 -:105F9000A07F71DA0122152120464B4B9847454BD3 -:105FA0001C6894340020494B984700EB8000400067 -:105FB0005030B0F5A07F6EDA012216212046424B08 -:105FC000984710BD06231021092455E700203F4BB8 -:105FD0009847C0EBC00050303D4B83FB0023C217F5 -:105FE000C2EBA31212B267E70020384B9847C0EB10 -:105FF000C0005030364B83FB0023C217C2EBA31204 -:1060000012B26BE70020314B9847C0EBC000503014 -:106010002F4B83FB0023C217C2EBA31212B26FE710 -:1060200000202A4B9847C0EBC0005030284B83FB20 -:106030000023C217C2EBA31212B272E70020234B57 -:10604000984700EB800040005030214B83FB002339 -:10605000C217C2EBA31212B279E700201B4B98477C -:1060600000EB800040005030194B83FB0023C21727 -:10607000C2EBA31212B27CE70020144B984700EB4E -:10608000800040005030124B83FB0023C217C2EB4C -:10609000A31212B27FE700200C4B984700EB800060 -:1060A000400050300A4B83FB0023C217C2EBA312FF -:1060B00012B282E7D86B0020614A0100696B0000D0 -:1060C00084950200256A0000E16800003D0F010090 -:1060D0006766666610B5484C20689C30474B984709 -:1060E0002068FF222C219C30454B98472068454B67 -:1060F0001A8829219C30444B9847206847F6FF7244 -:1061000001219C30414B984724689C340020404B2F -:10611000984714308000B0F5A07F39DA4FF0FF3295 -:1061200010212046394B9847334B1C689C34002083 -:10613000374B984714308000B0F5A07F35DA4FF028 -:10614000FF3211212046314B98472B4B1C689C3461 -:1061500000202F4B984714308000B0F5A07F31DA33 -:106160004FF0FF3212212046284B9847224B1C68E3 -:106170009C340020264B984714308000B0F5A07F57 -:106180002DDA4FF0FF3213212046204B984710BDE7 -:1061900000201F4B9847143080001E4B83FB0023C8 -:1061A000C217A2EBA31212B2BAE70020184B98470D -:1061B00014308000174B83FB0023C217A2EBA312FD -:1061C00012B2BEE70020124B984714308000114BEA -:1061D00083FB0023C217A2EBA31212B2C2E7002076 -:1061E0000B4B9847143080000A4B83FB0023C217E7 -:1061F000A2EBA31212B2C6E7D86B0020614A0100DD -:10620000696B000084950200256A0000E1680000C7 -:106210003D0F01006766666638B5884C20687030AF -:10622000874B9847206847F6FF7201217030854BF5 -:106230009847246870340020834B984700EB800017 -:1062400080005030B0F5A07F80F28E8001221221B4 -:1062500020467C4B9847794B1C68703400207A4B61 -:10626000984700EB800080005030B0F5A07F80F2AE -:106270008A80012213212046724B98476F4B1C687D -:1062800070340020704B984700EB80008000503045 -:10629000B0F5A07F80F28680012210212046694B54 -:1062A0009847664B1C6870340020674B9847C0EBDA -:1062B000001040005030B0F5A07F80F282800122B3 -:1062C000142120465F4B98475C4B1C6870340020BB -:1062D0005D4B984700EB800000EB80005030B0F53C -:1062E000A07F7DDA0122C0212046564B9847534CAF -:1062F0002068A28999217030544DA8472068A2894E -:10630000C9217030A847206811234FF0000263F3C1 -:106310000402222161F34A1263F3CF22CA217030B2 -:10632000A847246870340020474B984700EB800052 -:1063300040005030B0F5A07F62DA01229021204663 -:10634000404B98473D4B1C68703400203E4B9847AB -:10635000C0EBC0005030B0F5A07F60DA0122C3214D -:106360002046384B984738BD0020374B984700EB04 -:10637000800080005030364B83FB0023C217C2EBF5 -:10638000A31212B263E700202F4B984700EB800066 -:10639000800050302E4B83FB0023C217C2EBA312A8 -:1063A00012B267E70020284B984700EB800080007E -:1063B0005030274B83FB0023C217C2EBA31212B24B -:1063C0006BE70020204B9847C0EB00104000503096 -:1063D0001F4B83FB0023C217C2EBA31212B26FE75D -:1063E0000020194B984700EB800000EB80005030F4 -:1063F000174B83FB0023C217C2EBA31212B272E742 -:106400000020114B984700EB800040005030104BAB -:1064100083FB0023C217C2EBA31212B28EE7002047 -:10642000094B9847C0EBC0005030094B83FB002359 -:10643000C217C2EBA31212B291E700BFD86B0020C3 -:10644000614A0100E16800003D0F0100256A00007B -:1064500067666666F8B5C04C20685C30BF4B9847ED -:10646000206811254FF0000265F30402222767F32C -:106470004A1265F3CF2299215C30B94EB0472068AB -:106480004FF0000265F3040267F34A1265F3CF226E -:10649000C9215C30B0472068A289CA215C30B0476E -:1064A00024685C340020AF4B984700EB80005030EC -:1064B000B0F5A07F80F26881012290212046AA4B8E -:1064C0009847A54B1C685C340020A64B98471430B5 -:1064D0008000B0F5A07F80F265810122C3212046B3 -:1064E000A14B98479C4B1C685C3400209D4B9847FF -:1064F0000A30C000B0F5A07F80F261810122C22184 -:106500002046994B9847944B1C685C340020954B6F -:10651000984700EB800080005030B0F5A07F80F2FB -:106520005B810122122120468F4B98478A4B1C68C1 -:106530005C3400208B4B984700EB8000800050308B -:10654000B0F5A07F80F25781012213212046864BAF -:106550009847814B1C685C340020824B984700EBC5 -:10656000800080005030B0F5A07F80F2538101227E -:10657000102120467C4B9847774B1C685C340020E8 -:10658000784B984700EB800080005030B0F5A07F3A -:1065900080F24F81012214212046734B98476E4BA5 -:1065A0001C685C3400206F4B9847C0EB00105030E3 -:1065B000B0F5A07F80F24C810122C02120466A4DB7 -:1065C000A847654C206847F6FF7201215C30A84758 -:1065D00020686030614B9847206811254FF0000219 -:1065E00065F30402222767F34A1265F3CF2299214B -:1065F00060305B4EB04720684FF0000265F3040244 -:1066000067F34A1265F3CF22C9216030B047206892 -:10661000A289CA216030B047246860340020514B01 -:1066200098470A30C000B0F5A07F80F21F81012298 -:10663000902120464C4B9847474B1C686034002003 -:10664000484B98470A30C000B0F5A07F80F21B810C -:106650000122C3212046444B98473F4B1C686034BD -:106660000020404B984700EB800000EB800050304A -:10667000B0F5A07F80F214810122C02120463A4B60 -:106680009847354C20686430344B98472068643014 -:10669000236A13F0020F40F013811F233F211C4691 -:1066A0004FF0000264F3040261F34A1263F3CF2255 -:1066B00099212B4B9847284B1C6864340020294BA8 -:1066C00098470A30C000B0F5A07F80F2FD8001221B -:1066D00090212046244B98471F4C2068FF222C21F4 -:1066E0006430224B984720686430236A13F0020F0D -:1066F00040F0F7801F233F211C464FF0000264F357 -:10670000040261F34A1263F3CF222921144B984704 -:10671000114C206847F6FF7201216430124B9847F4 -:106720002468643400200F4B9847C0EB00104000F1 -:106730005030B0F5A07F80F2D8800122032120469E -:10674000094B9847044B1C6864340020054B98475C -:1067500000EB80000CE000BFD86B0020614A010014 -:10676000256A00003D0F0100E1680000696B000030 -:1067700040005030B0F5A07F80F2C6800122142185 -:106780002046694B9847F8BD0020684B984700EBBE -:1067900080005030664B83FB0023C217C2EBA3126C -:1067A00012B28AE60020614B984714308000604B9B -:1067B00083FB0023C217C2EBA31212B28EE60020A5 -:1067C0005A4B98470A30C000594B83FB0023C2172D -:1067D000C2EBA31212B292E60020544B984700EB92 -:1067E000800080005030524B83FB0023C217C2EB65 -:1067F000A31212B296E600204C4B984700EB8000A3 -:10680000800050304A4B83FB0023C217C2EBA31217 -:1068100012B29AE60020454B984700EB80008000BA -:106820005030434B83FB0023C217C2EBA31212B2BA -:106830009EE600203D4B984700EB800080005030E2 -:106840003B4B83FB0023C217C2EBA31212B2A2E69A -:106850000020364B9847C0EB00105030344B83FB80 -:106860000023C217C2EBA31212B2A6E600202F4BE0 -:1068700098470A30C0002E4B83FB0023C217C2EB9F -:10688000A31212B2D4E60020284B98470A30C00069 -:10689000274B83FB0023C217C2EBA31212B2D8E628 -:1068A0000020224B984700EB800000EB8000503026 -:1068B0001F4B83FB0023C217C2EBA31212B2DCE60C -:1068C000082312210B24EBE60020184B98470A30CE -:1068D000C000174B83FB0023C217C2EBA31212B2F6 -:1068E000F6E6082312210B2407E700200F4B9847F8 -:1068F000C0EB0010400050300D4B83FB0023C2174B -:10690000C2EBA31212B219E70020084B984700EB24 -:10691000800040005030064B83FB0023C217C2EBBF -:10692000A31212B22BE700BFE16800003D0F010087 -:106930006766666638B53D4C20681C303C4B98470E -:106940002068A28999211C303A4B984724681C344E -:106950000020394B984700EB800000EB800050305E -:10696000B0F5A07F41DA012290212046334DA8479F -:106970002E4C2068012294211C30A847206820302A -:106980002B4B98472068236A13F0020314BF1A2187 -:106990000821002B15BF352412241B2309234FF097 -:1069A000000263F3040264F34A1261F3CF229921D7 -:1069B0002030204B98471D4B1C68203400201E4B74 -:1069C000984700EB800000EB80005030B0F5A07FCE -:1069D0001BDA012290212046184CA047134B18685F -:1069E000012294212030A04738BD0020124B984747 -:1069F00000EB800000EB80005030114B83FB002344 -:106A0000C217C2EBA31212B2AEE700200A4B98479E -:106A100000EB800000EB80005030094B83FB00232B -:106A2000C217C2EBA31212B2D4E700BFD86B00208A -:106A3000614A0100256A00003D0F0100E168000085 -:106A400067666666F8B5384C20686C30374B9847F7 -:106A50002068FF222C216C30354DA8472068A28980 -:106A600029216C30334FB8472068022230216C3026 -:106A7000314EB04720687F223C216C30A847256802 -:106A80006C354C21A0892D4B984702463921284668 -:106A9000B847206847F6FF7201216C30B047246880 -:106AA0006C340020264B9847C0EB00105030B0F5F6 -:106AB000A07F1CDA0122502120461F4B98471A4C18 -:106AC0002068A28959216C301A4B984724686C348D -:106AD00000201B4B984700EB80005030B0F5A07FA2 -:106AE00013DA012253212046134B9847F8BD0020AA -:106AF000134B9847C0EB00105030124B83FB002320 -:106B0000C217C2EBA31212B2D5E700200C4B984774 -:106B100000EB800050300B4B83FB0023C217C2EB0D -:106B2000A31212B2DEE700BFD86B0020614A010059 -:106B3000696B0000256A0000E1680000A71B0100E6 -:106B40003D0F0100676666662DE9F04180460F46FD -:106B500015461E46B24B1B79002B01F06983B04CE1 -:106B6000A4F80C80E7812661069B6361079BA36103 -:106B7000089BE3612562AB4B9847AB4B9847AB4B07 -:106B80009847AB4B9847AB4B9847AB4B9847AB4BB1 -:106B90009847AB4B984720684030AA4B98472068ED -:106BA0004030236A13F0020F41F04B8314232B2152 -:106BB00017244FF0000264F3040261F34A1263F3F6 -:106BC000CF2248F28901A04B9847954C2068443069 -:106BD0009C4B98472468443400209C4B9847503085 -:106BE000B0F5A07F81F23283012290212046984B9C -:106BF00098478B4B1C6844340020944B984700EB1B -:106C0000800040005030B0F5A07F81F22C8301223B -:106C1000922120468E4B9847814B1C6844340020BB -:106C20008A4B984700EB800040005030B0F5A07FC1 -:106C300081F22983012293212046854B9847784B86 -:106C400018681B6A13F0020314BF1A211021002BCD -:106C500015BF372422241C2312234FF0000263F3B4 -:106C6000040264F34A1261F3CF2299214430764B37 -:106C700098476B4C20684830724B984724684834DA -:106C80000020724B984700EB40005030B0F5A07FD9 -:106C900081F209830122902120466D4B9847604B79 -:106CA0001C6848340020694B984714308000B0F5C8 -:106CB000A07F81F20783012203212046644B98477D -:106CC000574B1C6848340020604B984728304000E0 -:106CD000B0F5A07F81F204830122142120465C4B91 -:106CE00098474F4B1C6848340020584B9847503009 -:106CF000B0F5A07F81F20283012201212046544B8E -:106D00009847474C206830304E4B984724683034C1 -:106D10000020504B9847012841F2FD8200204B4B48 -:106D20009847C0EB001040005030B0F5A07F81F2D2 -:106D30000D83012210212046454B9847384B1C6893 -:106D400030340020434B9847012841F20F83002044 -:106D50003E4B9847C0EB001040005030B0F5A07F8C -:106D600081F23683012212212046394B98472C4B61 -:106D70001C6830340020374B9847012841F2388393 -:106D80000020324B9847C0EB001040005030B0F567 -:106D9000A07F81F248830122132120462C4B984783 -:106DA0001F4B1C68303400202A4B9847012841F2C1 -:106DB0004A830020254B9847C0EB0010400050301C -:106DC000B0F5A07F81F25A83012211212046204B89 -:106DD0009847134B18681B6A13F0020314BF222153 -:106DE0003F21002B14BF11231F234FF0000263F338 -:106DF000040261F34A1263F3CF2249F28901303071 -:106E0000114B9847064C206834300E4B9847206849 -:106E10003430236A13F0020F41F040831CE000BFBE -:106E2000D86B0020814A0100C95C0100456A01005D -:106E3000315E0100D5600100196201005564010056 -:106E400035690100614A0100256A00003D0F01001B -:106E5000E1680000590F01001D233B211C464FF043 -:106E6000000264F3040261F34A1263F3CF2248F292 -:106E70008901B84B9847B84B1C6834340020B74B95 -:106E80009847012841F20F830020B54B9847C0EB8B -:106E9000001040005030B0F5A07F81F21F83012226 -:106EA00012212046AF4B9847AB4B1C68343400206E -:106EB000AA4B9847012841F221830020A84B98470C -:106EC000C0EB001040005030B0F5A07F81F231835C -:106ED000012213212046A34B98479F4B1C68343452 -:106EE00000209E4B9847012841F2338300209C4BA1 -:106EF0009847C0EB001040005030B0F5A07F81F201 -:106F00004383012211212046964B9847924C2068DA -:106F10002C30954B984724682C340020904B984790 -:106F200014308000B0F5A07F81F23E830122012160 -:106F300020468C4B9847884B18682C301B6A13F0FE -:106F4000020F41F03F831F233F211C464FF00002F8 -:106F500064F3040261F34A1263F3CF2248F2891109 -:106F60007C4B98477C4B18681B6A13F0020F14BFC8 -:106F7000332266224FF496712C307C4DA847764C14 -:106F80002068332241F22C012C30A8472068FF22D0 -:106F90004FF40B712C30A8472068754B1A8848F2C3 -:106FA00089212C306B4DA8472068A28940F2292105 -:106FB0002C30A8472068236A13F0020314BF19215C -:106FC0003F21002B14BF0C231F234FF0000263F35B -:106FD000040261F34A1263F3CF2229212C30A8471F -:106FE0002068A28940F229112C30A847206802228B -:106FF0004FF498712C305B4EB0472068042240F269 -:1070000031112C30B0472068A28940F239112C3060 -:10701000A84724682C340020514B984700EB4000CF -:107020005030B0F5A07F81F2D28201221421204697 -:107030004C4B9847484B1C682C340020474B9847D2 -:10704000012841F2D3820020454B9847C0EB001045 -:1070500040005030B0F5A07F81F2E382012212217E -:107060002046404B98473C4B1C682C3400203B4B3F -:107070009847012841F2E5820020394B9847C0EB40 -:10708000001040005030B0F5A07F81F2F58201225F -:1070900013212046334B98472F4B1C682C3400207B -:1070A0002E4B9847012841F2F78200202C4B98473D -:1070B000C0EB001040005030B0F5A07F81F2078394 -:1070C000012211212046274B9847234C2068383055 -:1070D000254B9847246838340020214B9847C0EB53 -:1070E000001040005030B0F5A07F81F205830122EE -:1070F000C02120461B4B9847174C2068FF222C21AB -:1071000038301A4B98472068236A13F0020314BFE3 -:107110001D210821002B15BF3B2412241E230B2305 -:107120004FF0000263F3040264F34A1261F3CF22CA -:1071300029213830074B9847074B1C68383400200A -:10714000074B984700EB800080005030B0F5A07FDF -:1071500010E000BF256A0000D86B0020590F010025 -:107160003D0F0100E1680000614A0100696B000009 -:107170008495020081F2D082012214212046B64E6D -:10718000B047B64C206847F6FF7201213830B0474F -:1071900020683C30B24B9847206847F6FF720121C7 -:1071A0003C30B0472068AF4F3A8829213C30AE4D83 -:1071B000A8472068FF222C213C30AC4B9847206820 -:1071C000022230213C30B0472068BA8839213C3057 -:1071D000A8472068A28940F239213C30A84720689E -:1071E000E28940F239413C30A84724683C34002011 -:1071F0009F4B984700EB400300EB83005030B0F505 -:10720000A07F81F29982012212212046924B984759 -:10721000924B1C683C340020954B984700EB400390 -:1072200000EB83005030B0F5A07F81F296820122FE -:1072300013212046884B9847884B1C683C3400201B -:107240008B4B984700EB400300EB83005030B0F5C8 -:10725000A07F81F293820122102120467E4B984725 -:107260007E4B1C683C340020814B984700EB400368 -:1072700000EB83005030B0F5A07F81F290820122B4 -:1072800011212046744B9847744C20684C30744B45 -:10729000984724684C340020754B98471430800080 -:1072A000B0F5A07F81F28C820122012120466A4B39 -:1072B00098476A4B1C684C3400206D4B984700EB94 -:1072C000800040005030B0F5A07F81F2878201221B -:1072D00014212046604B9847604C2068A2894921C0 -:1072E0004C30614B9847206800224C2108445F4D88 -:1072F000A84720687F224FF413714C30A8472468B8 -:107300004C3400205A4B984700EB40005030B0F509 -:10731000A07F81F273820122402120464E4B984784 -:107320004E4B1C684C340020514B984700EB8000BA -:1073300040005030B0F5A07F81F26F8201224121E0 -:107340002046454DA847454C20689622B0214C3038 -:10735000A84720684C22B7211044A8472068503025 -:107360003F4B9847206800224FF4137150303F4B39 -:1073700098472468503400203D4B984714308000D3 -:10738000B0F5A07F81F25982012201212046324BC3 -:107390009847324C2068374A4FF4B7715030364D19 -:1073A000A84720682F4B1A8840F2691150302E4BA5 -:1073B00098472068226948F28E115030A847246807 -:1073C000503400202A4B984700EB40005030B0F575 -:1073D000A07F81F240820122122120461E4B984755 -:1073E0001E4B1C6850340020214B984700EB400096 -:1073F0005030B0F5A07F81F23D820122132120465A -:10740000154B9847154B1C6850340020184B984773 -:1074100000EB40005030B0F5A07F81F23A820122AB -:10742000102120460C4B98470C4B1C685034002010 -:107430000F4B984700EB40005030B0F5A07F81F231 -:107440003782012211212046034DA847034C2068B2 -:107450006830034B984711E0E1680000D86B0020CA -:10746000614A010084950200256A0000696B0000F2 -:107470003D0F01008C950200996C000020680022ED -:1074800001216830A847246868340020B54B98472C -:1074900014308000B0F5A07F81F2198201223021E2 -:1074A0002046B14DA847B14C2068022231216830F6 -:1074B000A84720686830236A13F0020F41F0158254 -:1074C000002319461C464FF0000264F3040261F3E6 -:1074D0004A1263F3CF223921A54DA847A34C206857 -:1074E000E28940F239416830A847246868340020B6 -:1074F0009C4B984700EB80005030B0F5A07F81F2A4 -:10750000F981012212212046974B9847974B1C681E -:1075100068340020934B984700EB80005030B0F562 -:10752000A07F81F2F6810122132120468E4B9847DD -:107530008E4B1C68683400208A4B984700EB800013 -:107540005030B0F5A07F81F2F38101221021204656 -:10755000854B9847854B1C6868340020814B9847C1 -:1075600000EB80005030B0F5A07F81F2F081012265 -:10757000112120467C4B98477C4B1C6868340020C6 -:10758000784B984700EB40005030B0F5A07F81F277 -:10759000ED81012214212046734B9847734C2068DB -:1075A0007C30744B984724687C3400206D4B98479E -:1075B000322303FB00F05030B0F5A07F81F2E5816B -:1075C000012250212046684B9847684B18681B6A77 -:1075D00013F002030CBF26213021002B0CBF132314 -:1075E00018234FF0000263F3040261F34A1263F3BD -:1075F000CF2259217C305E4B98475C4C206880300C -:107600005C4B98472068FF222C2180305A4B9847CA -:107610002068236A13F0020314BF19210E21002BE6 -:1076200015BF33241F241A2310234FF0000263F3E5 -:10763000040264F34A1261F3CF22292180304C4BBB -:1076400098474A4C206847F6FF7201218030464B2C -:107650009847246880340020424B9847C0EBC00014 -:107660005030B0F5A07F81F2A08101220321204695 -:107670003D4B98473D4B1C6880340020394B984760 -:10768000C0EBC0005030B0F5A07F81F29D81012297 -:1076900013212046344B9847344B1C68803400201B -:1076A000304B9847C0EBC0005030B0F5A07F81F25E -:1076B0009A810122112120462B4B98472B4C2068A0 -:1076C00084302C4DA8472068FF222C2184302A4B7F -:1076D0009847206811234FF0000263F3040222212F -:1076E00061F34A1263F3CF2229218430204B98475B -:1076F0002068B430A8472068236A13F0020314BF3F -:1077000006211421002B15BF10242A240923152338 -:107710004FF0000263F3040264F34A1261F3CF22D4 -:107720003921B430124B9847104B1C68B4340020F8 -:107730000C4B984728304000B0F5A07F81F2628161 -:10774000012230212046084B9847084B1C68B4346E -:107750000020044B98475030B0F5A07F81F264813F -:1077600001220BE03D0F0100E1680000D86B002012 -:10777000256A0000614A0100696B00001221204661 -:10778000BA4DA847BA4C206804223121B430A8472A -:107790002068B830B74B98472068B830236A13F098 -:1077A000020F41F04E8114232B2117244FF00002C9 -:1077B00064F3040261F34A1263F3CF2248F28901B1 -:1077C000AD4DA847AA4C20689830AA4B984720682E -:1077D000FF222C219830A94B98472068A2892921A3 -:1077E0009830A8472068A64B1A8848F2890198303B -:1077F000A847246898340020A24B9847642303FBD1 -:1078000000F05030B0F5A07F81F2208101221021DC -:107810002046964B9847964B1C6898340020994B0D -:107820009847642303FB00F05030B0F5A07F81F24D -:107830001D810122112120468C4DA8478C4C2068C7 -:1078400074308C4EB0472068012202217430A84762 -:107850002068002212217430A847206800221321DA -:107860007430A8472068002210217430A84720688F -:10787000002211217430A84720680022142174309E -:10788000A84720687830B0472068FF222C21783044 -:107890007A4B984720687830236A13F0020F41F042 -:1078A000F5800B2318210E244FF0000264F304022C -:1078B00061F34A1263F3CF2229216F4B98476C4B37 -:1078C000186878301B6A13F0020F41F0E480092336 -:1078D00013210A244FF0000264F3040261F34A12F8 -:1078E00063F3CF2241F22901634B9847604B18683C -:1078F00078301B6A13F0020F41F0D2800B2318215D -:107900000E244FF0000264F3040261F34A1263F3A1 -:10791000CF2242F22901584DA847554C2068A28930 -:1079200040F229117830A847266878363321A0899B -:10793000554B9847024641F229113046A847206826 -:107940007830236A13F0020F41F0AF801F233F21EC -:107950001C464FF0000264F3040261F34A1263F321 -:10796000CF2248F28901444DA847414C20684FF08E -:10797000FF3248F289117830A8472068236A13F053 -:10798000020314BF2A212621002B14BF1523132321 -:107990004FF0000263F3040261F34A1263F3CF2253 -:1079A0004AF289017830A84720687830236A13F0BA -:1079B000020F41F07F801F233F211C464FF0000241 -:1079C00064F3040261F34A1263F3CF2248F2A9017F -:1079D000294DA847264C20684FF0FF3248F2A911E4 -:1079E0007830A8472068236A13F0020314BF2A21C5 -:1079F0002621002B14BF152313234FF0000263F33D -:107A0000040261F34A1263F3CF224AF2A9017830EB -:107A1000A8472068012231217830144B984720680C -:107A2000236A13F0020314BF1A211021002B15BF83 -:107A3000372422241C2312234FF0000263F3040294 -:107A400064F34A1261F3CF2239217830A847084CF9 -:107A50002068A28940F239217830A84720680122A5 -:107A600030217830014B984710E000BFE1680000FA -:107A7000D86B0020614A0100256A0000696B000094 -:107A8000849502003D0F0100031C01002468783436 -:107A90000020BA4B9847012841F211800020B84BD2 -:107AA0009847C0EB001040005030B0F5A07F81F245 -:107AB0002180012212212046B24B9847B24B1C680C -:107AC00078340020AD4B9847012841F223800020F4 -:107AD000AB4B9847C0EB001040005030B0F5A07F92 -:107AE00081F23380012213212046A64B9847A64BF2 -:107AF0001C6878340020A14B9847012841F235805A -:107B000000209F4B9847C0EB001040005030B0F56C -:107B1000A07F81F24580012210212046994B984791 -:107B2000994B1C6878340020944B9847012841F207 -:107B300047800020924B9847C0EB00104000503027 -:107B4000B0F5A07F81F257800122112120468D4B94 -:107B500098478D4B1C6878340020884B9847012843 -:107B600041F259800020864B9847C0EB001040003E -:107B70005030B0F5A07F81F26980012214212046A7 -:107B8000804B9847804B1C68783400207B4B98478B -:107B9000012841F26B800020794B9847C0EB001020 -:107BA00040005030B0F5A07F81F27C804FF0FF3272 -:107BB00004212046734DA847734C2068002241F2EF -:107BC00004017830A847206800224FF48271783091 -:107BD000A8472068002242F204017830A8472068B4 -:107BE0009622B0217830A84720682922B721783022 -:107BF000A84720680422B6217830A847206854306E -:107C0000624B98472468543400205D4B984700EB42 -:107C1000800080005030B0F5A07F81F253800122B7 -:107C200048F281012046574DA847574C2068012251 -:107C300002215430A84720685830544B9847206898 -:107C4000FF222C215830524B98472068A2892921C5 -:107C50005830504DA84720684FF0FF3248F2890154 -:107C60005830A84720685830236A13F0020F41F0BB -:107C70003980092313210A244FF0000264F304021F -:107C800061F34A1263F3CF2241F22901414B984735 -:107C90003D4B186858301B6A13F0020F41F02780E3 -:107CA0001F233F211C464FF0000264F3040261F3DE -:107CB0004A1263F3CF2249F28901364B9847324C7E -:107CC00020688830314B98472468883400202C4B3A -:107CD000984700EB800000EB80005030B0F5A07FAB -:107CE00081F20A80012248F281012046254B984703 -:107CF000254C20688C30254EB0472068FF222C216F -:107D00008C30234DA8472068A28929218C30214F2F -:107D1000B8472068204B1A8848F289018C30B84750 -:107D20002068A830B0472068FF222C21A830A8473F -:107D30002068A830236A13F0020F40F0EE870B236F -:107D400018210E244FF0000264F3040261F34A127A -:107D500063F3CF2229210F4B98470B4B18681B6AFE -:107D600013F0020314BF1C210721002B15BF3A2476 -:107D70000F241E2308234FF000020FE0590F0100CB -:107D80003D0F0100E1680000D86B0020614A01004E -:107D9000696B0000256A00008495020063F3040209 -:107DA00064F34A1261F3CF223921A830B64B9847C9 -:107DB000B64B1C68A8340020B54B984700EB8000F8 -:107DC0005030B0F5A07F80F2AD87012230212046EF -:107DD000B04DA847AD4C206801223121A830A847FA -:107DE0002068236A13F0020314BF07211C21002B13 -:107DF00015BF0F243A2408231D234FF0000263F31C -:107E0000040264F34A1261F3CF2248F28901A830D8 -:107E10009D4DA8479D4C2068626948F28E01A830AC -:107E20009D4B984720684FF00002132363F3040230 -:107E3000262363F34A12122363F3CF2248F2A901E7 -:107E4000A830A8472468A8340020914B9847C0EB7D -:107E5000C0005030B0F5A07F80F27387012210215E -:107E600020468C4B9847894B1C68A8340020884BCF -:107E70009847C0EBC0005030B0F5A07F80F2748707 -:107E8000012212212046834B9847804B1C68A8345E -:107E900000207F4B9847C0EBC0005030B0F5A07F6A -:107EA00080F271870122132120467A4B9847774C44 -:107EB0002068A430794B984720687F2241F22C013A -:107EC000A430774B9847206811234FF0000263F3EA -:107ED0000402222161F34A1263F3CF2241F2290105 -:107EE000A430694B98472068236A13F0020314BF3B -:107EF00007211C21002B15BF0F243A2408231D2322 -:107F00004FF0000263F3040264F34A1261F3CF22DC -:107F100048F28911A4305C4B98475C4B1C68A43430 -:107F200000205B4B984700EB800080005030B0F59C -:107F3000A07F80F23787012210212046554B9847B9 -:107F4000524B1C68A4340020514B984700EB800032 -:107F500080005030B0F5A07F80F2348701221121DB -:107F600020464C4B9847494C2068A28948F2892109 -:107F7000A430454DA8472068E28948F28941A430E1 -:107F8000A8472068AC30454B98472068FF222C2139 -:107F9000AC30434B98472068A2892921AC30A847D0 -:107FA0002068E28940F22941AC30A8472468AC340B -:107FB0000020374B984700EB80005030B0F5A07F91 -:107FC00080F21087012203212046324DA8472F4C12 -:107FD000206847F6FF720121AC30A8472068B03016 -:107FE0002E4B98472468B03400202E4B9847012828 -:107FF00040F207870020264B9847C0EB0010400056 -:108000005030B0F5A07F80F2178701221021204662 -:10801000204B98471D4B1C68B0340020214B9847DB -:10802000012840F219870020194B9847C0EB001037 -:1080300040005030B0F5A07F80F229870122112145 -:108040002046144B9847114B1C68B0340020154B48 -:108050009847012840F22B8700200D4B9847C0EB32 -:10806000001040005030B0F5A07F80F23B87012225 -:1080700012212046074B9847044B1C68B03400205F -:10808000084B984701280FE0256A0000D86B0020B4 -:108090003D0F0100E1680000996C0000614A010099 -:1080A000696B0000590F010040F22C870020BD4B86 -:1080B0009847C0EB001040005030B0F5A07F80F230 -:1080C0003C87012213212046B74B9847B74B1C68C9 -:1080D000B0340020B64B9847012840F23E8700207C -:1080E000B04B9847C0EB001040005030B0F5A07F77 -:1080F00080F24E87012214212046AB4B9847AB4CAF -:108100002068A030AB4B98472068236A13F0020325 -:1081100014BF1A211021002B15BF372422241C2341 -:1081200012234FF0000263F3040264F34A1261F376 -:10813000CF223921A030A04B98479C4C20680122C7 -:108140003021A030984DA847206803223121A0306B -:10815000A8472468A0340020954B9847012840F296 -:10816000278700208F4B9847C0EB0010400050300D -:10817000B0F5A07F80F237870122122120468A4B7A -:1081800098478A4B1C68A0340020894B98470128E7 -:1081900040F239870020834B9847C0EB0010400025 -:1081A0005030B0F5A07F80F249870122132120468C -:1081B0007D4B98477D4B1C68A03400207C4B984732 -:1081C000012840F24B870020764B9847C0EB001007 -:1081D00040005030B0F5A07F80F26087012210216E -:1081E0002046714B9847714B1C68A0340020704B9F -:1081F0009847012840F2628700206A4B9847C0EBFD -:10820000001040005030B0F5A07F80F2728701224C -:1082100011212046644B9847644C684BA3600123AE -:1082200023710020664B984704F10800BDE8F081F7 -:10823000BC20644B9847644B18605C4B1860FEF799 -:108240008EBC15232A211C46FEF7B3BC0020554BDB -:10825000984750305D4B83FB0023C217C2EBA3123B -:1082600012B2FEF7C2BC00204E4B984700EB8000D4 -:1082700040005030554B83FB0023C217C2EBA312C2 -:1082800012B2FEF7C5BC0020464B984700EB8000B9 -:10829000400050304D4B83FB0023C217C2EBA312AA -:1082A00012B2FEF7C8BC00203E4B984700EB4000DE -:1082B0005030464B83FB0023C217C2EBA31212B20D -:1082C000FEF7E9BC0020374B9847143080003F4B45 -:1082D00083FB0023C217C2EBA31212B2FEF7ECBC61 -:1082E0000020304B984728304000384B83FB002358 -:1082F000C217C2EBA31212B2FEF7EFBC0020294B4B -:1083000098475030314B83FB0023C217C2EBA312B6 -:1083100012B2FEF7F2BC0020224B9847C0EB0010CF -:108320005030B0F5A07F02DA0122FEF703BD002035 -:108330001C4B9847C0EB00105030244B83FB0023AC -:10834000C217C2EBA31212B2FEF7F4BC0020154B09 -:108350009847C0EB0010400050301C4B83FB0023BB -:10836000C217C2EBA31212B2FEF7E4BC00200D4B01 -:108370009847C0EB00105030B0F5A07F02DA012220 -:10838000FEF7F1BC0020074B9847C0EB00105030BF -:108390000E4B83FB0023C217C2EBA31212B2FEF7EF -:1083A000E2BC00BF3D0F0100E1680000D86B002077 -:1083B000590F0100614A0100256A0000F9410100DE -:1083C000553C0000DD230100486D002067666666AD -:1083D0000020C74B9847C0EB001040005030C54B01 -:1083E00083FB0023C217C2EBA31212B2FEF7BBBC81 -:1083F0000020BF4B9847C0EB00105030B0F5A07F75 -:1084000002DA0122FEF7C8BC0020B94B9847C0EB46 -:1084100000105030B74B83FB0023C217C2EBA312EE -:1084200012B2FEF7B9BC0020B14B9847C0EB001068 -:1084300040005030AF4B83FB0023C217C2EBA312A6 -:1084400012B2FEF7A9BC0020A94B9847C0EB001060 -:108450005030B0F5A07F02DA0122FEF7B6BC002052 -:10846000A34B9847C0EB00105030A24B83FB002376 -:10847000C217C2EBA31212B2FEF7A7BC00209C4B9E -:108480009847C0EB0010400050309A4B83FB00230C -:10849000C217C2EBA31212B2FEF797BC062310213B -:1084A0000924FEF7DCBC0020914B9847C0EB00107C -:1084B0005030B0F5A07F02DA0122FEF7F1BC0020B7 -:1084C0008B4B9847C0EB001050308A4B83FB002346 -:1084D000C217C2EBA31212B2FEF7E2BC0020844B1B -:1084E0009847C0EB001040005030824B83FB0023C4 -:1084F000C217C2EBA31212B2FEF7D2BC00207C4B13 -:108500009847C0EB00105030B0F5A07F02DA01228E -:10851000FEF7DFBC0020764B9847C0EB00105030D0 -:10852000744B83FB0023C217C2EBA31212B2FEF7F7 -:10853000D0BC00206E4B9847C0EB0010400050307C -:108540006C4B83FB0023C217C2EBA31212B2FEF7DF -:10855000C0BC0020664B9847C0EB00105030B0F50F -:10856000A07F02DA0122FEF7CDBC0020604B9847C5 -:10857000C0EB001050305F4B83FB0023C217C2EBEF -:10858000A31212B2FEF7BEBC0020594B9847C0EBB5 -:10859000001040005030574B83FB0023C217C2EB42 -:1085A000A31212B2FEF7AEBC0020514B9847143014 -:1085B0008000504B83FB0023C217C2EBA31212B200 -:1085C000FEF7B5BC062310210924FEF7BFBC00202E -:1085D000474B984700EB40005030464B83FB00234D -:1085E000C217C2EBA31212B2FEF720BD0020404B0F -:1085F0009847C0EB00105030B0F5A07F02DA01229E -:10860000FEF72DBD00203A4B9847C0EB00105030CC -:10861000384B83FB0023C217C2EBA31212B2FEF742 -:108620001EBD0020324B9847C0EB00104000503078 -:10863000304B83FB0023C217C2EBA31212B2FEF72A -:108640000EBD00202A4B9847C0EB00105030B0F50B -:10865000A07F02DA0122FEF71BBD0020244B9847C1 -:10866000C0EB00105030234B83FB0023C217C2EB3A -:10867000A31212B2FEF70CBD00201D4B9847C0EBB1 -:108680000010400050301B4B83FB0023C217C2EB8D -:10869000A31212B2FEF7FCBC0020154B9847C0EBAA -:1086A00000105030B0F5A07F02DA0122FEF709BDBC -:1086B00000200F4B9847C0EB001050300D4B83FB50 -:1086C0000023C217C2EBA31212B2FEF7FABC0020BD -:1086D000074B9847C0EB001040005030054B83FB20 -:1086E0000023C217C2EBA31212B2FEF7EABC00BF0E -:1086F0003D0F0100676666660020C94B9847C0EBD6 -:10870000001040005030C74B83FB0023C217C2EB60 -:10871000A31212B2FEF7ECBC0020C14B984700EB4D -:10872000800080005030BF4B83FB0023C217C2EB98 -:10873000A31212B2FEF721BD0020B94B984700EBFF -:10874000400200EB82005030B64B83FB0023C2177F -:10875000C2EBA31212B2FEF757BD0020B04B9847F0 -:1087600000EB400200EB82005030AE4B83FB002355 -:10877000C217C2EBA31212B2FEF75ABD0020A84BDB -:10878000984700EB400200EB82005030A54B83FB82 -:108790000023C217C2EBA31212B2FEF75DBD002088 -:1087A0009F4B984700EB400200EB820050309D4BFE -:1087B00083FB0023C217C2EBA31212B2FEF760BD07 -:1087C0000020974B984714308000964B83FB002382 -:1087D000C217C2EBA31212B2FEF767BD0020904B86 -:1087E000984700EB8000400050308E4B83FB002305 -:1087F000C217C2EBA31212B2FEF76ABD0020884B6B -:10880000984700EB40005030864B83FB0023C21793 -:10881000C2EBA31212B2FEF77FBD0020804B984737 -:1088200000EB8000400050307E4B83FB0023C217DA -:10883000C2EBA31212B2FEF782BD0020784B98471C -:1088400014308000774B83FB0023C217C2EBA312C6 -:1088500012B2FEF79ABD0020714B984700EB400022 -:108860005030704B83FB0023C217C2EBA31212B22D -:10887000FEF7B2BD00206A4B984700EB4000503035 -:10888000684B83FB0023C217C2EBA31212B2FEF7A0 -:10889000B5BD0020624B984700EB40005030614B63 -:1088A00083FB0023C217C2EBA31212B2FEF7B8BDBE -:1088B00000205B4B984700EB40005030594B83FB46 -:1088C0000023C217C2EBA31212B2FEF7BBBD0020F9 -:1088D000534B984714308000524B83FB0023C21740 -:1088E000C2EBA31212B2FEF7DABD07230F21082450 -:1088F000FEF7E9BD00204A4B984700EB800050305E -:10890000484B83FB0023C217C2EBA31212B2FEF73F -:10891000F9BD0020424B984700EB80005030414B9E -:1089200083FB0023C217C2EBA31212B2FEF7FCBDF9 -:1089300000203B4B984700EB80005030394B83FBC5 -:108940000023C217C2EBA31212B2FEF7FFBD002034 -:10895000334B984700EB80005030324B83FB0023B1 -:10896000C217C2EBA31212B2FEF702BE00202C4BBC -:10897000984700EB400050302A4B83FB0023C2177E -:10898000C2EBA31212B2FEF705BE0020244B98479B -:10899000322202FB00F05030224B83FB0023C2172F -:1089A000C2EBA31212B2FEF70CBE00201C4B98477C -:1089B000C0EBC00050301B4B83FB0023C217C2EB3F -:1089C000A31212B2FEF752BE0020154B9847C0EB1F -:1089D000C0005030134B83FB0023C217C2EBA3121D -:1089E00012B2FEF755BE00200D4B9847C0EBC000F9 -:1089F00050300C4B83FB0023C217C2EBA31212B200 -:108A0000FEF758BE0020064B984728304000054B23 -:108A100083FB0023C217C2EBA31212B2FEF791BE72 -:108A20003D0F0100676666660020CD4B98475030C9 -:108A3000CC4B83FB0023C217C2EBA31212B2FEF78A -:108A40009DBE15232A211C46FEF7B0BE0020C44B54 -:108A50009847642202FB00F05030C24B83FB002396 -:108A6000C217C2EBA31212B2FEF7D1BE0020BC4B5C -:108A70009847642202FB00F05030BA4B83FB00237E -:108A8000C217C2EBA31212B2FEF7D4BE1F233F21BE -:108A90001C46FEF709BF1D233B211C46FEF71ABFEB -:108AA0001F233F211C46FEF72CBF07230F2108245C -:108AB000FEF74FBF07230F210824FEF77FBF0020DA -:108AC000A74B9847C0EB00105030B0F5A07F02DAFA -:108AD0000122FEF7EFBF0020A14B9847C0EB00102A -:108AE0005030A04B83FB0023C217C2EBA31212B27B -:108AF000FEF7E0BF00209A4B9847C0EB0010400003 -:108B00005030984B83FB0023C217C2EBA31212B262 -:108B1000FEF7D0BF0020924B9847C0EB00105030BA -:108B2000B0F5A07F02DA0122FEF7DDBF00208C4BFA -:108B30009847C0EB001050308A4B83FB0023C217CC -:108B4000C2EBA31212B2FEF7CEBF0020844B9847AF -:108B5000C0EB001040005030824B83FB0023C21753 -:108B6000C2EBA31212B2FEF7BEBF00207C4B9847A7 -:108B7000C0EB00105030B0F5A07F02DA0122FEF702 -:108B8000CBBF0020764B9847C0EB00105030754BA0 -:108B900083FB0023C217C2EBA31212B2FEF7BCBFC5 -:108BA00000206F4B9847C0EB0010400050306D4BD9 -:108BB00083FB0023C217C2EBA31212B2FEF7ACBFB5 -:108BC0000020674B9847C0EB00105030B0F5A07FF5 -:108BD00002DA0122FEF7B9BF0020614B9847C0EBD3 -:108BE000001050305F4B83FB0023C217C2EBA3126F -:108BF00012B2FEF7AABF0020594B9847C0EB0010F5 -:108C000040005030574B83FB0023C217C2EBA31226 -:108C100012B2FEF79ABF0020514B9847C0EB0010EC -:108C20005030B0F5A07F02DA0122FEF7A7BF002086 -:108C30004B4B9847C0EB001050304A4B83FB00234E -:108C4000C217C2EBA31212B2FEF798BF0020444B2A -:108C50009847C0EB001040005030424B83FB00238C -:108C6000C217C2EBA31212B2FEF788BF00203C4B22 -:108C70009847C0EB00105030B0F5A07F03DA4FF0FA -:108C8000FF32FEF795BF0020354B9847C0EB001030 -:108C90005030344B83FB0023C217A2EBA31212B255 -:108CA000FEF786BF00202E4B9847C0EB0010400017 -:108CB00050302C4B83FB0023C217A2EBA31212B23D -:108CC000FEF776BF0020264B984700EB800080001F -:108CD0005030244B83FB0023C217C2EBA31212B205 -:108CE000FEF79EBF1D233B211C46FEF7C5BF072391 -:108CF0000F210824FEF7D7BF0020194B984700EB3F -:108D0000800000EB80005030164B83FB0023C2171D -:108D1000C2EBA31212B2FEF7E6BF1F233F211C468F -:108D2000FFF710B800200E4B984700EB8000503042 -:108D30000C4B83FB0023C217C2EBA31212B2FFF746 -:108D400045B80020064B9847C0EBC0005030054B9B -:108D500083FB0023C217C2EBA31212B2FFF77FB846 -:108D60003D0F0100676666660020CA4B9847C0EB5E -:108D7000C0005030C84B83FB0023C217C2EBA312C4 -:108D800012B2FFF77EB80020C24B9847C0EBC0007C -:108D90005030C14B83FB0023C217C2EBA31212B2A7 -:108DA000FFF781B80020BB4B984700EB80008000A4 -:108DB0005030B94B83FB0023C217C2EBA31212B28F -:108DC000FFF7BAB80020B34B984700EB8000800053 -:108DD0005030B14B83FB0023C217C2EBA31212B277 -:108DE000FFF7BDB80020AB4B984700EB8000503038 -:108DF000A94B83FB0023C217C2EBA31212B2FFF7E9 -:108E0000E2B80020A34B9847C0EB00105030B0F5FB -:108E1000A07F02DA0122FFF7F9B800209D4B9847A6 -:108E2000C0EB001050309C4B83FB0023C217C2EBF9 -:108E3000A31212B2FFF7EAB80020964B9847C0EB96 -:108E4000001040005030944B83FB0023C217C2EB4C -:108E5000A31212B2FFF7DAB800208E4B9847C0EB8E -:108E600000105030B0F5A07F02DA0122FFF7E7B81A -:108E70000020884B9847C0EB00105030864B83FB96 -:108E80000023C217C2EBA31212B2FFF7D8B800201A -:108E9000804B9847C0EB0010400050307E4B83FB66 -:108EA0000023C217C2EBA31212B2FFF7C8B800200A -:108EB000784B9847C0EB00105030B0F5A07F02DA35 -:108EC0000122FFF7D5B80020724B9847C0EB001085 -:108ED0005030714B83FB0023C217C2EBA31212B2B6 -:108EE000FFF7C6B800206B4B9847C0EB001040005E -:108EF0005030694B83FB0023C217C2EBA31212B29E -:108F0000FFF7B6B80020634B9847C0EB0010503015 -:108F1000B0F5A07F02DA0122FFF7D4B800205D4B44 -:108F20009847C0EB001050305B4B83FB0023C21707 -:108F3000C2EBA31212B2FFF7C5B80020554B9847F9 -:108F4000C0EB001040005030534B83FB0023C2178E -:108F5000C2EBA31212B2FFF7B5B800204D4B9847F1 -:108F6000C0EB00105030B0F5A07F02DA0122FFF70D -:108F7000C2B80020474B9847C0EB00105030464B1A -:108F800083FB0023C217C2EBA31212B2FFF7B3B8E0 -:108F90000020404B9847C0EB0010400050303E4B43 -:108FA00083FB0023C217C2EBA31212B2FFF7A3B8D0 -:108FB0000020384B9847C0EB00105030B0F5A07F30 -:108FC00002DA0122FFF7D9B80020324B9847C0EBF4 -:108FD00000105030304B83FB0023C217C2EBA312AA -:108FE00012B2FFF7CAB800202A4B9847C0EB001016 -:108FF00040005030284B83FB0023C217C2EBA31262 -:1090000012B2FFF7BAB80020224B9847C0EB00100D -:109010005030B0F5A07F02DA0122FFF7C7B8002078 -:109020001C4B9847C0EB001050301B4B83FB0023B8 -:10903000C217C2EBA31212B2FFF7B8B80020154B4B -:109040009847C0EB001040005030134B83FB0023C7 -:10905000C217C2EBA31212B2FFF7A8B800200D4B43 -:109060009847C0EB00105030B0F5A07F02DA012223 -:10907000FFF7B5B80020074B9847C0EB0010503001 -:10908000054B83FB0023C217C2EBA31212B2FFF7FA -:10909000A6B800BF3D0F01006766666600201D4B45 -:1090A0009847C0EB0010400050301B4B83FB00235F -:1090B000C217C2EBA31212B2FFF791B80020154BF2 -:1090C0009847C0EB00105030B0F5A07F02DA0122C3 -:1090D000FFF79EB800200F4B9847C0EB00105030B0 -:1090E0000D4B83FB0023C217C2EBA31212B2FFF792 -:1090F0008FB80020074B9847C0EB0010400050305D -:10910000054B83FB0023C217C2EBA31212B2FFF779 -:109110007FB800BF3D0F0100676666662DE9F04726 -:10912000A4B007460E461446B54B98470546022C98 -:109130000DD0002C40F0FA81B0F90A30002B00F07D -:10914000F381B0F90830002B73D10120F1E1022244 -:1091500000213846AB4B984708B10320E9E12A7D4E -:1091600002F00303023BDBB2012B40F20F8202F05C -:10917000F802202A03D0082A01D00220D9E10622D1 -:10918000002138469F4B9847AB89C34201D102204A -:10919000CFE10722002138469A4B98476B8A00FBA3 -:1091A00003F31B12B3F5807F08D0002207F11001F2 -:1091B0003046954B984788BB0220BAE13846934B1E -:1091C000984704463846924B98470E3501954FF420 -:1091D000807300930023024621460FA88D4CA047C0 -:1091E0003A8ABDF83C301344ADF83C307B8ABDF878 -:1091F0003E101944ADF83E10BDF840100A44ADF8D9 -:109200004020BDF842201344ADF8423000220FA99F -:1092100030467D4B984708B902208AE148F2AC02FB -:10922000002138467C4B9847FF2814BF02200120BC -:109230007FE102A93846794B98470FA8784B9847A9 -:109240000FAA00213846774B984733220021384631 -:109250006C4B984710B100238DF850300722002145 -:109260003846684B98476B8A00FB03F0041201D123 -:1092700000205EE1062200213846DFF88881C047E1 -:10928000B5F80C908144A4B2BDF80E200132BDF8AF -:109290000A30D21ABDF80C100131BDF80830C91AD5 -:1092A00005F10E03019300940FFA89F312B209B28B -:1092B00004A8DFF860A1D047BDF80820BDF8103041 -:1092C0001344ADF81030BDF80A30BDF8121019443F -:1092D000ADF81210BDF814100A44ADF81420BDF812 -:1092E00016201344ADF81630122200213846C0472C -:1092F000BDF81030181AADF81000132200213846BE -:10930000C047BDF814301844ADF8140010220021F5 -:109310003846C047BDF81230181AADF812001122B5 -:1093200000213846C047BDF816301844ADF8160085 -:109330000FAA314604A83C4B984702220021384628 -:10934000C047C8B92B7D03F00303012B2AD9022B98 -:1093500000F0D180354B0093354B40F2BB223549AC -:109360000220354CA04700231A46314607F1100071 -:10937000324CA0470020DCE01C20314B984780464F -:109380000122002138461F4B98470023024604A9BA -:109390004046DFF8BCA0D04707F518714046294B7E -:1093A0009847CFE7BDF80820AB881A4492B210B2B4 -:1093B000ADF80800BDF80A30E9880B449BB219B239 -:1093C000ADF80A10B7F910E0864503DA2889121AB9 -:1093D000ADF80820B7F912208A4203DA6A899B1A8D -:1093E000ADF80A3008A8184B984708AA002138465B -:1093F000164B9847ADF8284064BB002099E000BFA9 -:109400009D4D0000D54400006D1701005D2F000048 -:10941000AD2F000065EC00000D460000412E00005D -:1094200069C20000C550000031C30000E0500200D6 -:1094300090950200B89602005D220100E9960000B6 -:109440003D290100C1BD000045960000695700009C -:109450002DC00000ADF82290EB89ADF824302B8AA6 -:10946000ADF826306A7D9DF82F3062F300038DF849 -:109470002F30BDF90A30ADF81A305A1E69890A44F6 -:10948000ADF81E20BDF90E209A42FFF673AF404C96 -:10949000BDF90830ADF818305A1E29890A44ADF8D4 -:1094A0001C20BDF90C209A4214DB08AB2A68314617 -:1094B00006A8A0472A89BDF8183013441BB2ADF89E -:1094C0001830BDF81C100A44ADF81C20BDF90C2062 -:1094D0009A42EADA6A89BDF81A3013441BB2ADF831 -:1094E0001A30BDF81E100A44ADF81E20BDF90E203A -:1094F0009A42CDDA3EE708A8264B984708AA0021F1 -:109500003846254B984748F2A90200213846234B9C -:109510009847ADF820002B680022009208AA314637 -:1095200002A81F4CA04725E7012002E0012C03D030 -:10953000002024B0BDE8F087022200213846194BF4 -:10954000984750B90FA8184B984733220021384646 -:10955000144B984740B90020EBE707F51870134B00 -:109560009847134B9847EDE700218DF848108DF888 -:1095700072108DF864100FAA38460E4B98470FAA48 -:10958000314607F110000C4B9847E4E70220D0E782 -:10959000E9960000CD990000B15600008145000019 -:1095A000259A0000D544000069C2000091BE000069 -:1095B00071250100C550000031C3000030B583B0F3 -:1095C00004460C4B984768B90B4B00934FF4E77275 -:1095D0000A4903200A4DA8472246002309480A49A0 -:1095E0008847FEE72046094B9847007DC0F380007E -:1095F00003B030BDB122000008960200B896020008 -:109600005D2201003C480200B92200009D4D00008F -:109610002DE9F04786B005460E467C4B984760B969 -:109620007B4B00938F227B4903207B4CA0472A462B -:1096300000237A487A498847FEE73046794B9847B5 -:1096400007462846784B98470446022F3AD8032FFE -:1096500042D005A93046754B9847002F55D07B1E48 -:10966000DBB2012B66D9022F00F09980217D67F3D0 -:109670000101059AC2F38A222281BDF81630C3F394 -:109680004A1363819DF8140060F3C7012175C2F38A -:109690004902E281C3F3490323822846644B984779 -:1096A000002840F0AA80A3891BB9638AB3F5807FA4 -:1096B00002D028465F4B984728465F4B984706B034 -:1096C000BDE8F0875D4B0093514BA0225149022029 -:1096D000DFF84481C047BAE7594B00934C4BA622B0 -:1096E0004C4902204C4DA847237D03F00303013B66 -:1096F000DBB2012B02D82068524B9847002323602D -:10970000237D43F003032375D9E74F4B0093404B70 -:10971000B42240490120DFF80081C047237D03F0D7 -:109720000303013BDBB2012B02D82068454B98476D -:1097300026609BE7D4F80080464594D0237D03F053 -:109740000303013BDBB2022B28BF4FF00008304679 -:109750003E4B984701303E4B984781462B4B9847EC -:1097600060B92B4B0093C7222A4903202A4CA047FB -:109770004A46002337482A498847FEE7B9F1000FD7 -:109780009DD031464846344B9847C4F80090B8F114 -:10979000000F3FF468AF40462A4B984763E748F212 -:1097A0008E02002128462D4B9847814648F28002C0 -:1097B00000212846DFF8B080C047824648F2810287 -:1097C00000212846C0470023029347F6184301931F -:1097D000009053464A46314604A8214EB047059BA7 -:1097E000BDF8102062F3942305931B0CBDF81220E2 -:1097F00062F34F13ADF8163038E7B4F90A20B4F924 -:1098000008102846174B98474DE700BFB1220000CB -:1098100020960200B89602005D2201003C4802003A -:10982000B9220000699900009D4D0000EDFD000087 -:10983000BD9501002D2C000021330000E4960200AC -:1098400004970200C5240100289702001FB50100FB -:10985000DD230100D83F02000FB50100A146000042 -:109860007D400100A1420000D54400002DE9F041F7 -:1098700082B080460F46584B98470546574B98474D -:10988000D0B1002D00F08680554B1B680BB318211A -:109890002846544B98470446504B9847F8B9524BCA -:1098A0000093492251490320514DA84722460023E5 -:1098B000504851498847FEE74B4B009342224B49A1 -:1098C00003204B4CA0472A4600234A484A49884770 -:1098D000FEE72846494B9847414B1860D7E7002CD4 -:1098E0005CD000262660237D43F0030366F3C703A4 -:1098F00023752846424B984720812846414B98477C -:109900006081A6814FF480736382637D43F001031D -:109910006375237D43F004032375A680E680E6810A -:10992000268239492846394B984739492846394BC8 -:109930009847002F37D03846374B9847037DC3F3FD -:109940008003227D63F382022275438A63828389C6 -:10995000A381427D637D62F300036375B0F9043037 -:10996000A380B0F90630E380B0F90E30E381B0F99E -:109970001030238201682846284B9847FF2128464B -:10998000274B9847274B0093174B7F2217490120FD -:10999000174CA047284602B0BDE8F0812846224B6C -:1099A00098470025F6E70F212846204B9847314677 -:1099B00028461F4B9847012128461E4B9847B8F16F -:1099C000000F04D0237D43F004032375DAE7237DE1 -:1099D0006FF382032375D5E7253E0000B122000016 -:1099E000FC6B0020D12B000030960200B8960200DC -:1099F0005D220100D83F0200B9220000554D000051 -:109A00005D2F0000AD2F0000399A01002D2B0000C2 -:109A10001D910100892B00009D4D00001196010051 -:109A2000993A00005C970200654F0000E94101008F -:109A3000A12900004D2900002DE9F04385B007461B -:109A40001546082921D00C46884B1B6898470646C6 -:109A5000012821D1072C2DD03846854B98478046C8 -:109A600074BB037D03F00303013BDBB2012B13D86E -:109A70000068804B98470023C8F8003098F81430ED -:109A800043F0030388F8143006E0137843B900F17B -:109A900028036B6001262BB1304605B0BDE8F0838A -:109AA0000023F6E7714B1B682A4608213846984781 -:109AB0000646F1E770492846704B98470646EBE7A3 -:109AC000042C53D0062C5BD00A2CE5D1438AB3F585 -:109AD000807F00F0C5808289002A40F0C180BA8A68 -:109AE0000132398A521A12B2F98A0131788A091A76 -:109AF00009B203FB02F0FF3048BFFF3040F30F20F4 -:109B0000121A02EBD272541001FB03F3FF3348BF69 -:109B1000FF3343F30F23CB1A03EBD373581007F132 -:109B20000F03173702AA13F8011F02F8011BBB42EB -:109B3000F9D1A2B2BDF808301344ADF80830BDF831 -:109B40000C309A1AADF80C2083B2BDF80A201A44E2 -:109B5000ADF80A20BDF80E20D31AADF80E30002261 -:109B6000296802A8464B9847287195E7037D03F0C2 -:109B70000303022B90D101683846424B98478BE78C -:109B8000072200213846404DA847B8F8123000FBA4 -:109B900003F31C12062200213846A847B8F80C30FF -:109BA00003441BB21BB922B2B2F5807F31D0B8F9A1 -:109BB0000A20B8F9081008F10E000190A4B2009430 -:109BC00002A8324CA047B7F93210BDF90830CB1AC1 -:109BD0008B42B8BF0B461BB2BDF90A208A1A9342CA -:109BE000B8BF13461BB27B86BDF90C200A44B8F9F6 -:109BF0000800121A9342B8BF13461BB27B86BDF908 -:109C00000E200A44B8F90A10521A9342B8BF1346FC -:109C10007B86122200213846DFF86C80C0478146DF -:109C2000132200213846C04704461022002138463E -:109C3000C0470546112200213846C0474C45B8BFF1 -:109C40004C46B7F9323022B29342B8BF1346AB420A -:109C5000B8BF2B461BB29842B8BF184678861BE7A0 -:109C6000296838460A4B9847287115E7FC6B002095 -:109C70009D4D0000C52401006C9702009550000026 -:109C8000B915010011960100D544000065EC0000F3 -:109C90005550000010B5094B98470446437C13F01B -:109CA000010F03D0406808B1054B9847637C6FF300 -:109CB000000363740023636010BD00BF9D4D00006E -:109CC000C5240100F8B507461E4B9847037C03F0F6 -:109CD0000703022B00D0F8BD044601894FF6FF733D -:109CE0009942F8D0184B1B6803390068984706461C -:109CF0003846144B9847437C13F0010F14BF40685B -:109D00000430236803EB060E9B5DC3B100252B4690 -:109D1000425D8EF800200133DBB21D46F218216847 -:109D200001EB020E8A5C002AF2D1435D8EF800300E -:109D30003846064B98474FF6FF732381CBE7002543 -:109D4000F3E700BF9D4D00005C000020959C0100E2 -:109D500038B504460D46034B9847C5812046024B53 -:109D6000984738BD9D4D00002133000038B50446AA -:109D70000D46034B984785812046024B984738BDD6 -:109D80009D4D0000213300002DE9F84306460C46A6 -:109D9000124B9847122200213046114DA8478046A9 -:109DA000132200213046A847814610220021304668 -:109DB000A8470746112200213046A8472388984427 -:109DC000A4F80080A388A3EB0903A38063881F4441 -:109DD0006780E388181AE080BDE8F883412E000010 -:109DE000D5440000F0B583B006460F461546184B23 -:109DF000984704463046174B9847042D1CD9681CD9 -:109E0000154B9847606060B12A463946134B984716 -:109E1000636800225A55637C43F001036374012098 -:109E200014E00F4B00930F4B40F2B5520E49032044 -:109E30000E4CA047002009E0637C6FF300036374BD -:109E40002A463946201D054B9847012003B0F0BD36 -:109E50009D4D0000959C0100DD2301005526010069 -:109E6000C499020074970200949902005D220100D7 -:109E700030B583B004460D46104B984768B9104B77 -:109E800000934FF4C4720F4903200F4DA847224698 -:109E900000230E480E498847FEE720460D4B9847A1 -:109EA000037CC3F30113AB4206D0037C65F30513B7 -:109EB00003742046084B984703B030BDB122000020 -:109EC0008C970200949902005D2201003C48020038 -:109ED000B92200009D4D00002133000030B583B051 -:109EE00004460B4B984768B90A4B00934FF4F27243 -:109EF00009490320094DA84722460023084809497B -:109F00008847FEE72046084B9847006803B030BDFD -:109F1000B1220000D8970200949902005D2201004E -:109F20003C480200B92200009D4D000030B583B0CE -:109F300004460C4B984768B90B4B00934FF4F972E9 -:109F40000A4903200A4DA8472246002309480A4926 -:109F50008847FEE72046094B9847007C00F0070041 -:109F600003B030BDB1220000EC97020094990200CA -:109F70005D2201003C480200B92200009D4D000016 -:109F800030B583B004460E4B984768B90D4B00932B -:109F900040F2FF120C4903200C4DA8472246002333 -:109FA0000B480C498847FEE720460B4B9847007C3E -:109FB000C0F30110032808BF002003B030BD00BF6C -:109FC000B122000004980200949902005D22010071 -:109FD0003C480200B92200009D4D000030B583B01E -:109FE00004460C4B984768B90B4B009340F21B2278 -:109FF0000A4903200A4DA8472246002309480A4976 -:10A000008847FEE72046094B9847007CC0F3801044 -:10A0100003B030BDB12200001898020094990200EC -:10A020005D2201003C480200B92200009D4D000065 -:10A030002DE9F04F8FB0054605919E4B984768B9C2 -:10A040009D4B009340F2A5229C4903209C4CA047C5 -:10A050002A4600239B489C498847FEE7059E3046D8 -:10A06000944B984768B9944B009340F2A6229349C9 -:10A070000320934CA04732460023924892498847D8 -:10A08000FEE70CA92846914B98472846904B9847E5 -:10A09000074628468F4B98470646BDF834300133B3 -:10A0A000BDF830209B1A1BB2069348F28E020021A5 -:10A0B0002846894B98478146039048F28102002147 -:10A0C0002846DFF83082C047044648F2800200216B -:10A0D0002846C0470490B9F908B0337CC3F3801612 -:10A0E00013F0800F18BF46F0020613F0070F08BFE9 -:10A0F00046F010062846794B98478246012837D10A -:10A1000046F004063B78002B3AD1B84600252C4691 -:10A11000611B0096049B039A89B24046DFF8D891F0 -:10A12000C847BDF834300133BDF830209B1A1BB24C -:10A1300003EBD37300EBD0704FEA6009C9EB630304 -:10A140000FFA83F900238DF82F300A93002C40F08A -:10A15000A180634E33680A994046984704463368A5 -:10A16000294638469847204480B20FB0BDE8F08FAA -:10A17000022840F0968046F008063B78002B48D035 -:10A18000B8464FF000094D460BEB0403079309E076 -:10A19000079B99440FFA89F907EB000805463B5CD9 -:10A1A000002B34D00096069B049A039940464D4CF0 -:10A1B000A0472844059BB3F9022009EB0B039A4200 -:10A1C000E6DC04460EA941F8140D474B1B683846DF -:10A1D00098470A2802D03B5D03B90134BAF1010F58 -:10A1E00096D0BAF1020F18D1611B0096049B039A16 -:10A1F00089B24046DFF80091C847BDF834300133DA -:10A20000BDF830209B1A1B1A0FFA83F99AE704460F -:10A21000E4E7B84600252C46E6E74FF0000991E751 -:10A22000079A06990398314B984700EB09039BB2B4 -:10A23000059AB2F900101AB2914228DB0A9A511914 -:10A24000A14224D0795C11B304990B440FFA83F92D -:10A2500093460A9B2B44A342BFF47BAFDAF800304D -:10A260000AA9404698470690DAF8003000210A987B -:10A27000404498470790002ED2D00A9B18F803104C -:10A280000DF12F001A4B98470028E2D1C8E7CDF80E -:10A2900028B05EE74FF0000BDFF860A006F0010683 -:10A2A000D7E73B78002B7FF46BAFB84600252C46F0 -:10A2B000A94647E7B1220000609802009499020085 -:10A2C0005D2201003C480200B9220000899D010086 -:10A2D000DD9E01009D4D0000A1460000819F010010 -:10A2E00064000020B13D0100680000206100010011 -:10A2F000693D0100D5440000DD3F01005800002009 -:10A300002DE9F04F99B00446AF4B98470368002BF6 -:10A3100048D0054616A92046AC4B9847BDF85C606E -:10A320000136BDF85830F61A36B248F28E020021D6 -:10A330002046A74B9847804648F2810200212046DC -:10A34000A44FB847814648F2800200212046B84712 -:10A3500007462B7CC3F3801213F0800F18BF42F026 -:10A36000020213F0070F08BF42F0100229680292A0 -:10A370000196CDF800900346424615A8964EB04788 -:10A380002B7C13F0070310D0032B34D0042B00F0E8 -:10A39000D780022B00F06D81012B00F0FE8120465A -:10A3A0008E4B984719B0BDE8F08F1222002120464D -:10A3B000884EB0470546132200212046B047284466 -:10A3C000BDF854502844ADF8540010220021204616 -:10A3D000B0470546112200212046B0472A18BDF893 -:10A3E0005600024412B2ADF85620BDF95410204672 -:10A3F0007B4B9847D3E705A87A4B984705944FF6CF -:10A40000FF73ADF84830202211464046764B9847FE -:10A4100038444FF47A7303FB00F3688993FBF0F33D -:10A4200003EB43039BB20F931193BDF95420BDF886 -:10A430005C300133BDF858105B1A9BB219B28A42E6 -:10A4400037DD9B1A1AB200210B910C92674E0696CB -:10A450006889674B98470D90109031462046654BB0 -:10A46000984718B3426A90F83C3003F001030D9905 -:10A470008A4211DA0E929DF84A206FF300028DF89D -:10A480004A204BB19DF8503043F001038DF8503015 -:10A490000B9B0C9A0B920C9305A8574B9847574966 -:10A4A0002046574B98470023EB8178E700231A4654 -:10A4B000DDE74E492046524B98470023AB81BDF95A -:10A4C0005620BDF85E300133BDF85A105B1A9BB2BE -:10A4D00019B28A42E3DD9A1AB8F80830D21A12B2D9 -:10A4E00000210B910C92454E06966889404B984787 -:10A4F0000D901090314620463E4B9847E8B1426A95 -:10A5000090F83C3003F001030D998A4211DA0E9263 -:10A510009DF84A206FF300028DF84A204BB19DF858 -:10A52000503043F001038DF850300B9B0C9A0B9286 -:10A530000C9305A8304B984731E700231A46E3E710 -:10A5400005A8284B984705944FF6FF73ADF848309F -:10A55000BDF85C300133BDF858209B1ABDF954207A -:10A560001BB29A4250DD2022114640461E4B9847AE -:10A57000C0EB803300EB8302BDF85430D21A12B224 -:10A5800000210B910C92194E06966889184B98473A -:10A590000D9031462046174B9847002832D0436A29 -:10A5A0000D9A934206DA0E939DF84A306FF300033A -:10A5B0008DF84A3005A8104B984710492046104B9B -:10A5C00098470023EB81EAE69D4D0000899D01003C -:10A5D000A1460000D54400007D4001002133000069 -:10A5E000A1420000E5120100610001006D9D010023 -:10A5F0009114010055140100A1130100519D0100A7 -:10A60000291301000023CBE76E4920466E4B984783 -:10A610000023AB81BDF95620BDF85E300133BDF893 -:10A620005A105B1A1BB29A42C7DDB8F808301A44B8 -:10A63000524212B200210B910C92644E0696688928 -:10A64000634B98470D9031462046624B984770B156 -:10A65000436A0D9A934206DA0E939DF84A306FF3DF -:10A6600000038DF84A3005A85B4B984797E6002316 -:10A67000EFE7BDF85E300133BDF85A209B1ABDF9F3 -:10A6800056201BB29A4203DC4FF6FF732B8186E6FD -:10A69000524B1B6828689847032803D84FF6FF736E -:10A6A0002B817CE6BDF85C600136BDF85830F61AA7 -:10A6B000B6B22E2211464046494B98473844C0EB6B -:10A6C000803300EB83003044ADF81000BDF85E30FD -:10A6D0000133BDF85A209B1A9BB218B2B8F9082072 -:10A6E0004A4490FBF2F102FB11029B1AA3EB090909 -:10A6F000ADF8129004A920463A4B98478046074689 -:10A700002E683046384B98478146384B1B68414687 -:10A71000304698470646059000F10308C1450ED221 -:10A72000DFF8DCA028683044DAF800309847059E4E -:10A73000361A0596013F06F10308C145F2D34FF0E2 -:10A74000040A4FF00009DFF8B8B02868059B1844E8 -:10A75000DBF80030984781445FFA89F905A9286839 -:10A76000234B1B689847BAF1010AEED129684A4683 -:10A77000314420461F4B984700283FF410AEF11C8F -:10A780002E222B689A5501368E42FAD12B68002270 -:10A7900003F8082003372F8101E61022002120460C -:10A7A000154EB0470546112200212046B047291812 -:10A7B000BDF85600014409B2ADF8561020460F4BC3 -:10A7C0009847ECE56D9D010029130100519D0100A2 -:10A7D0009114010055140100A11301006000002034 -:10A7E0006100010031A001001FB501005C000020E4 -:10A7F00058000020E59D0100D5440000B54300004D -:10A8000054000020F0B583B006460D46404B9847F3 -:10A8100060B9404B0093B8223F4903203F4CA0470A -:10A82000324600233E483F498847FEE730463E4BCC -:10A83000984730463D4B9847044605B32846344B6D -:10A84000984708B32768BD422BD01FB1237C13F073 -:10A85000080F49D02846364B98470130354B98476A -:10A8600020602B4B9847002844D0206850B12946DF -:10A87000314B9847237C6FF3C303237430E0304699 -:10A880002E4B984703B0F0BD224B0093C4222249BF -:10A890000320224CA0472A4600232148214988470B -:10A8A000FEE7237C13F0080FD4D13846204B98479D -:10A8B000411C3846224B98472060154B984760B999 -:10A8C000144B0093D52214490320144DA847226845 -:10A8D00000231C4813498847FEE72368002BD1D08A -:10A8E0003046164B9847CDE73846174B984700231C -:10A8F0002360AFE7074B0093EE2207490320074D83 -:10A90000A847226800230F4806498847FEE700BF92 -:10A91000B122000078980200949902005D220100A3 -:10A920003C480200B9220000213300009D4D000088 -:10A930001FB50100DD2301000FB5010001A30100D7 -:10A9400099280100D83F0200C524010070B582B0EB -:10A9500005460E46144B984768B9144B00934FF4C4 -:10A96000A67213490320134CA0472A46002312481D -:10A9700012498847FEE72846114B98470446037C56 -:10A9800013F0080F05D1006818B10E4B984700234B -:10A99000236026B1237C43F00803237426602846F5 -:10A9A000094B984702B070BDB1220000A498020084 -:10A9B000949902005D2201003C480200B922000087 -:10A9C0009D4D0000C524010001A30100F0B583B036 -:10A9D00005460F46224B984768B9224B009340F238 -:10A9E000651221490320214CA0472A460023204814 -:10A9F00020498847FEE728461F4B984704461F49D1 -:10AA000028461F4EB0471F492846B0471E492846D2 -:10AA1000B0471E492846B0470023A381E381FB1EAF -:10AA2000DBB2022B237C94BF43F080036FF3C71388 -:10AA30002374237C03F00703022B08D0237C67F3E5 -:10AA4000020323742846124B984703B0F0BD2289B5 -:10AA50004FF6FF739A42F1D028460E4B9847EDE728 -:10AA6000B1220000C0980200949902005D2201000A -:10AA70003C480200B92200009D4D0000293500002D -:10AA800029130100893500006D9D0100519D0100D1 -:10AA900001A30100C59C010030B583B004460D46FA -:10AAA000104B984768B9104B00934FF4CD720F4983 -:10AAB00003200F4DA847224600230E480E49884721 -:10AAC000FEE720460D4B9847037CC3F38013AB424F -:10AAD00006D0037C65F3861303742046084B984721 -:10AAE00003B030BDB1220000D89802009499020052 -:10AAF0005D2201003C480200B92200009D4D00008B -:10AB000001A301002DE9F04182B00F46794B98472F -:10AB10000446794B9847E8B1002C00F09A80774BB7 -:10AB20001B6823B314212046754B98472046754B6C -:10AB300098470546704B9847F8B9734B00935D22D0 -:10AB400072490320724CA0472A460023714872497B -:10AB50008847FEE76C4B009354226C4903206C4DF0 -:10AB6000A847224600236B486B498847FEE72046EA -:10AB70006A4B9847614B1860D4E7002D6DD00023D5 -:10AB80002B602A7C02F0B7024FF6FF71298142F058 -:10AB9000300263F302022A7419226A81AB81EB81CD -:10ABA0006B606A7C63F300026A745D4920465D4B0A -:10ABB00098475D4920465D4B9847002F52D0384654 -:10ABC000504B984706463846594B98470146204611 -:10ABD000584B98473846584B984701462046574BA4 -:10ABE00098473846564B984701462046554B98475C -:10ABF000337C13F0080F46D13846534B9847014633 -:10AC00002046524B9847337C03F00703022B42D077 -:10AC1000737C13F0010F64D07068002861D04C4B36 -:10AC2000984782B2696820464A4B9847727C6B7C91 -:10AC300062F300036B7433892B81FF212046464B5E -:10AC40009847464B0093304BA82230490120304DA5 -:10AC5000A847204602B0BDE8F0812046404B984707 -:10AC60000024F6E7122120463E4B9847002120465B -:10AC70003D4B9847002120462E4B98473B492046A4 -:10AC8000324B9847DDE738462F4B98470146204620 -:10AC9000374B9847B7E72F683068364B98470146DF -:10ACA0003846354B98472860134B984760B9164B88 -:10ACB0000093952215490320154CA0472A680023CC -:10ACC000144815498847FEE72F6887B1D6F80080F9 -:10ACD0004046284B9847024641463846274B9847FE -:10ACE00096E70422B118A818244B98479EE7002441 -:10ACF000AFE700BF253E0000B1220000006C00203D -:10AD0000D12B00009D4D0000F098020094990200A4 -:10AD10005D220100D83F0200B9220000554D00001D -:10AD200001AF0100892B000081AD01002D2B000037 -:10AD30002D9F0100CDA90100DD9F010099AA01000E -:10AD4000819F0100719E0100DD9E010005A80100A8 -:10AD50001FB50100E59D0100993A0000F899020035 -:10AD6000654F0000E9410100A1290000F0990200AF -:10AD70004DA9010051250100992801005526010027 -:10AD80002DE9F04107461546082915D00C46304BF1 -:10AD90001B6898470646012815D1072C20D0384655 -:10ADA0002C4B9847804644BB037C13F0080F1DD002 -:10ADB0003846294B984706E013783BB900F1280341 -:10ADC0006B60012623B13046BDE8F0810023F7E730 -:10ADD0001F4B1B682A460821384698470646F2E76B -:10ADE0001E4928461E4B98470646ECE700681D4B57 -:10ADF00098470023C8F80030DAE7042C14D0022C5E -:10AE0000E1D1AA8801322B88D21ABB8A0133398A50 -:10AE10005B1A92B29BB29A420DD03846124B9847B9 -:10AE20003846124B9847CEE738460F4B984738467E -:10AE30000E4B9847C7E7EA8801326B88D21AFB8A23 -:10AE40000133798A5B1A92B29BB29A42E5D1BAE792 -:10AE5000006C00209D4D0000959C0100089A0200A6 -:10AE600095500000C5240100C59C010001A301000C -:10AE700030B583B004460A4B984718B14FF6FF70BF -:10AE800003B030BD074B009340F21D32064903204A -:10AE9000064DA84722460023054806498847FEE795 -:10AEA000B122000018990200949902005D2201006D -:10AEB0003C480200B922000030B583B004460A4B7A -:10AEC000984718B14FF6FF7003B030BD074B0093A1 -:10AED0004FF44C7206490320064DA8472246002332 -:10AEE000054806498847FEE7B12200003499020070 -:10AEF000949902005D2201003C480200B922000042 -:10AF0000022A00F01E810AB1002070472DE9F043AB -:10AF1000A9B00F4605468C4B984780460422002175 -:10AF200028468A4CA0478146052200212846A04792 -:10AF300005F10F0305F1170606AA13F8014F02F8F1 -:10AF4000014BB342F9D11FFA89F9BDF81830A3EBD0 -:10AF50000903ADF81830BDF81C309944ADF81C90C9 -:10AF600080B2BDF81A301B1AADF81A30BDF81E3089 -:10AF70001844ADF81E0013A8754B984713AA00217A -:10AF80002846744B984713AA394606A8724B98472F -:10AF900008A92846714B984708AA39460AA8704B59 -:10AFA000984710B929B0BDE8F08328466D4B984703 -:10AFB00098F81030C3F3801413F0800F18BF44F0DA -:10AFC000020413F0070F08BF44F01004012838D022 -:10AFD000022808BF44F008040CA8634B9847284691 -:10AFE000624B9847ADF83E002846614B9847ADF854 -:10AFF0004000B8F90C30ADF84230B8F90E30ADF879 -:10B0000044308DF847400CAA00212846594B9847F8 -:10B0100098F8102002F00703033BDBB2012B13D991 -:10B02000D8F80030002200920CAA0AA908A8524DB4 -:10B03000A84798F8103003F00703042B2BD000200A -:10B04000B0E744F00404C7E702F03002102A01D050 -:10B05000202AE5D1BDF93C30D8F80010029447F61B -:10B0600018420192BDF93A2000920D9A05A8434D6D -:10B07000A847BDF824300133BDF820209B1ABDF944 -:10B0800014201BB29A42CBDD9DF8473023F00C030D -:10B090008DF84730C4E7BDF93C30D8F80010029471 -:10B0A00047F618420192BDF93A2000920D9A05A880 -:10B0B000324CA047BDF91420BDF824300133BDF84F -:10B0C00020105B1A1BB29A4220DCBDF91620BDF895 -:10B0D00026300133BDF822105B1A1BB29A42AEDD56 -:10B0E000B8F90C30ADF842300D9B1B891344B8F809 -:10B0F0000E201344ADF84430D8F8003000220092FE -:10B100000CAA0AA908A81C4CA04798E7B8F80C405C -:10B11000224494B2202211460D98194B984700EB17 -:10B1200040000444ADF84240B8F90E30ADF8443068 -:10B13000D8F80030002200920CAA0AA908A8A84753 -:10B14000C3E70220704700BF9D4D0000D5440000BA -:10B1500069C20000C550000031C30000899D010094 -:10B1600019150100819F0100CD99000071AE010009 -:10B17000B9AE0100B1560000259A00007D400100E3 -:10B180006100010053B94AB9002908BF00281CBF5B -:10B190004FF0FF314FF0FF3000F07AB9ADF1080CFD -:10B1A0006DE904CE00F006F8DDF804E0DDE90223E5 -:10B1B00004B070472DE9F0478C460D460446089EC2 -:10B1C000002B51D18A4217466DD9B2FA82FEBEF1E8 -:10B1D000000F0BD0CEF1200C01FA0EF520FA0CFC7A -:10B1E00002FA0EF74CEA050C00FA0EF44FEA174A81 -:10B1F000250CBCFBFAF81FFA87F90AFB18CC45EAC4 -:10B200000C4508FB09F3AB420AD9ED1908F1FF32EE -:10B2100080F02381AB4240F22081A8F102083D4436 -:10B22000ED1AA4B2B5FBFAF00AFB105544EA054446 -:10B2300000FB09F9A14509D9E41900F1FF3380F0B9 -:10B240000A81A14540F2078102383C44A4EB09047D -:10B2500040EA08400021002E61D024FA0EF40023B9 -:10B2600034607360BDE8F0878B4207D9002E54D05C -:10B27000002186E821000846BDE8F087B3FA83F193 -:10B28000002940F08E80AB4202D3824200F2FA8065 -:10B29000841A65EB03050120AC46002E3FD086E8FA -:10B2A0001010BDE8F08712B90127B7FBF2F7B7FA23 -:10B2B00087FEBEF1000F34D1EB1B3A0C1FFA87FC5E -:10B2C0000121B3FBF2F8250C02FB183345EA0345D4 -:10B2D0000CFB08F3AB4207D9ED1908F1FF3002D29D -:10B2E000AB4200F2D1808046ED1AA3B2B5FBF2F07A -:10B2F00002FB105543EA05440CFB00FCA44507D9AA -:10B30000E41900F1FF3302D2A44500F2B8801846D8 -:10B31000A4EB0C0440EA08409DE731463046BDE806 -:10B32000F087CEF1200405FA0EF307FA0EF720FAA3 -:10B3300004F83A0C25FA04F448EA0308B4FBF2F1E5 -:10B340004FEA184502FB11441FFA87FC45EA044501 -:10B3500001FB0CF3AB4200FA0EF409D9ED1901F12F -:10B36000FF3080F08A80AB4240F2878002393D4452 -:10B37000EB1A1FFA88F5B3FBF2F002FB103345EA33 -:10B38000034500FB0CF3AB4207D9ED1900F1FF3880 -:10B390006FD2AB426DD902383D44EB1A40EA01410D -:10B3A0008FE7C1F1200722FA07F88B4005FA01F474 -:10B3B00048EA030320FA07FE4FEA134CFD404EEA29 -:10B3C000040EB5FBFCF94FEA1E440CFB19551FFA9D -:10B3D00083F844EA054509FB08F4AC4202FA01F29D -:10B3E00000FA01FA08D9ED1809F1FF3043D2AC4256 -:10B3F00041D9A9F102091D442D1B1FFA8EFEB5FB90 -:10B40000FCF00CFB10554EEA054400FB08F8A04583 -:10B4100007D9E41800F1FF3529D2A04527D9023811 -:10B420001C4440EA0940A4EB0804A0FB02894C45F7 -:10B43000C6464D4615D312D056B1BAEB0E0364EB97 -:10B44000050404FA07F7CB401F43CC403760746013 -:10B450000021BDE8F0871846F8E69046E0E6C245D0 -:10B46000EAD2B8EB020E69EB03050138E4E728469F -:10B47000D7E7404691E78146BEE7014678E70238C4 -:10B480003C4445E7084608E7A8F102083D442BE79D -:10B49000704700BF70B50D4E0D4CA41BA4100025C5 -:10B4A000A54209D10B4E0C4C0EF0B4FAA41BA4100B -:10B4B0000025A54205D170BD56F8253098470135C5 -:10B4C000EEE756F8253098470135F2E7209A02005A -:10B4D000209A0200209A0200249A020010B5013935 -:10B4E0000244904201D1002010BD10F8013B11F838 -:10B4F000014FA342F5D0181B10BD10F8012B11F815 -:10B50000013B012A28BF9A42F7D0D01A7047034660 -:10B5100011F8012B03F8012B002AF9D170470346DB -:10B5200013F8012B002AFBD1181A013870470000CC -:10B530002E2E2F68706C2F706F72742F68706C5F76 -:10B540006770696F5F626173652E68002E2E2F68C9 -:10B55000616C2F7372632F68616C5F696F2E63007B -:10B560002E2E2F68616C2F7372632F68616C5F746D -:10B57000696D65722E6300002E2E2F68616C2F732B -:10B5800072632F68616C5F75736172745F61737948 -:10B590006E632E63000000002E2E2F68616C2F75E5 -:10B5A00074696C732F7372632F7574696C735F6C3D -:10B5B0006973742E630000002E2E2F68616C2F7546 -:10B5C00074696C732F7372632F7574696C735F7217 -:10B5D000696E676275666665722E630000300040B2 -:10B5E00000340040002001410040014100000043C0 -:10B5F0000004004300080043000C00430300000067 -:10B600001400200000010000FF0000000000D7002F -:10B61000000427072E2E2F68706C2F736572636FDE -:10B620006D2F68706C5F736572636F6D2E630000C1 -:10B6300000380040003C004000A0014100C0014132 -:10B640000014004200180042001400430018004398 -:10B6500000006B000803000000000000973A0000A3 -:10B66000000000002E2E2F68706C2F74632F6870FE -:10B670006C5F74632E6300000AE462165B85000051 -:10B6800084B601000B0607FF2C88ACFF251F87FF3F -:10B69000395189FF6DC4DCFF4883C8FF3256C6FFAD -:10B6A0004D4346FF160A48FF5CA2BCFF382DC2FF7F -:10B6B000676C8BFF2D2748FF223689FF416DC7FF3E -:10B6C0007685C3FF9AA4C6FF2035A5FF212669FF12 -:10B6D0003951A9FFA9E2E8FF2E2426FF406EE9FFB9 -:10B6E0004388E9FF4BA6AEFF483887FFC9C4C5FFB2 -:10B6F000336EA8FF6A6469FF4056E4FF2E3469FF89 -:10B70000170928FF4E55A8FF96A9E7FF838383FFFB -:10B710001B1067FF80889EFF606EC7FF5FA6E7FF74 -:10B720004796E9FF7987E6FF2E20A9FF274569FFA5 -:10B7300035438AFF646FA7FF293349FFAFB5C0FFC8 -:10B740005F5789FF4355C7FF2D46A9FF89979FFF84 -:10B750003F60ABFF1D2C88FF4879C9FF1B1527FFF1 -:10B760008294C6FF2F2869FF69B6E6FF84D4DFFF05 -:10B770001B1548FF6493C8FF5B6EE6FF1547C1FFCA -:10B78000BCC4E4FF1E3798FF4363C6FFE8E4E1FF53 -:10B790002A5473FF3E3A67FF2B53B7FF322B87FFC4 -:10B7A000608AE6FF1E1419FF4884D6FF3F3738FF32 -:10B7B0006499EAFF8198D6FF475F87FF212659FFEA -:10B7C0001A1637FF5055E6FF776E88FF94A8D8FF0A -:10B7D000737AA9FF221957FF72A8EBFFDEF3F6FF79 -:10B7E0009EA5A3FF493DE0FF241C67FF948CA2FFA8 -:10B7F0005462A8FF83C4ECFF486ED7FF3F47A9FF00 -:10B80000383AA9FFD6D4D5FF3779A7FF5462E7FFAE -:10B81000615859FF484688FFA7B4D6FF9A99B0FFF0 -:10B8200036509BFF202678FF282339FFB4B5B3FF9D -:10B83000457AE7FF96B5E8FF313359FF467AD8FFDE -:10B84000A29AC1FF160C16FF7E88B1FF636288FFC3 -:10B85000797679FF302976FF433DC1FF303C97FF71 -:10B860002D3679FF4C4767FF304599FF60B5BFFF24 -:10B870005F97F7FF4B62D7FF5C87C9FF182D95FFD5 -:10B880005979E8FF4549C0FF8F9694FF29979CFF9F -:10B89000AEDDEBFF64AAC0FF789AE9FFD1EAF3FFBF -:10B8A0003262C5FF3E34D8FF615A68FF4298DAFF22 -:10B8B0003E64F1FF788692FF59B8D8FF627AC6FFDE -:10B8C000DDDCE4FF7C7C86FF544A57FF4FA9DAFF9A -:10B8D0007B8AD5FFA4A9AFFF7BA5D9FFCDCDD6FF2D -:10B8E0006F6B76FF7CD2ECFF94B8F7FF3199A9FF1C -:10B8F0006C7684FF82CBE1FF1950D8FF7BB5F5FF52 -:10B90000496DB9FF4779BBFF342BACFF5E89D7FF88 -:10B910005486A4FF292197FF180C57FFAFAAC3FF35 -:10B92000BFE6EDFF64ACACFF150837FF5CA5F9FF7F -:10B9300032447BFFBFBCC1FF7E9BF6FF5A5778FFA6 -:10B940005F6EB7FF4B6199FF647AB9FF221A77FFE8 -:10B95000474799FF666298FF4587F6FF96A9F6FF6D -:10B960001C1277FF4C96F7FF4A54D8FFB6C7FBFF6F -:10B97000403A78FF5F87FAFF7AA6F5FF978BAEFF14 -:10B980004A4878FFBBD7F8FFF8FAFBFF9AC8F2FFE6 -:10B99000EBEBEEFF496EFBFF4F62B7FF5964FBFF15 -:10B9A0006579D9FF303988FF473797FF423948FF1B -:10B9B000251829FF9BDAE4FF251748FF999DD7FF3B -:10B9C000251838FF5256F7FF495299FFB4BCE5FFDE -:10B9D0003E375AFF4C9498FF6695D9FFD4D2FCFFAE -:10B9E0004E58B7FF5D5997FF3F34C3FF4B49DCFF0B -:10B9F0006B7895FF3B61B9FF312998FF437AF9FFD6 -:10BA0000463CD0FF5B78FBFF7B7B99FF233CA6FF86 -:10BA10008B9DC7FFDFDBDAFF505388FF969B9FFFAC -:10BA20007AB9EAFF3A55B7FF2F2A57FFA7ABD7FFDE -:10BA3000BBBAD9FF382938FF898B8EFF69BBDBFF82 -:10BA4000A1D7ECFFABB8F8FF686F96FF516CABFF66 -:10BA50005D6FD8FF5B6EFBFF777099FF3163D5FF99 -:10BA60004848D1FF445AFCFF73CCDCFF544B4BFFDA -:10BA70007A8CC3FF9FACC6FF372C2BFFCFCBCBFFFD -:10BA80006F6B6BFF70707070707070707070707032 -:10BA9000704870707070484848363636CB690CE98B -:10BAA0002D444477E9121277C8793113133176C8DF -:10BAB000C87931133131E2E2E2407E40E2E2E24015 -:10BAC000E231C525A285C7305EB3760D46464646AF -:10BAD000DD4040405F5E13D1B32B765F5F7676C862 -:10BAE000C840A29C56C114E7BD3904BDE73A269C64 -:10BAF000A7040414E7BCE07BEFEF4780803DBCF374 -:10BB000033479C56C1C1565CEE9CE79CF939EF5611 -:10BB10003AF9869C85C70E0EC755CC9C4BE756C19B -:10BB2000C2A2359F9F9F9F9F9F9F9F333320676730 -:10BB300079796720202013DC1767121E4E70707011 -:10BB4000707070707070707070704870707048486D -:10BB500048483636360C4E69692D2B2B2B1E4E74F9 -:10BB600077C879315E313176C8C87931133131E225 -:10BB7000E2E24034403131E231D79F9FC52528C7EA -:10BB8000305EB3760D343446467E40404076B31383 -:10BB9000D1B32B2B5F5F76407676406E9C86C18654 -:10BBA0000439E7F955399C559C869CEE145CBCF42D -:10BBB0007BEF8347805E62BCF320470486C1C1C12E -:10BBC000F90483C2E7F9399CC1CCF9A79C4B353500 -:10BBD00035D55CA7EF555C56C1EFD53C7D7D7D7DAD -:10BBE00005050505A09F9FC533333333333333DC5D -:10BBF000176E13770D747070707070707070707055 -:10BC00007070483648707048484836CB36CB4E4E38 -:10BC10000C1E1EBBB32BC84E7777C82B7979797968 -:10BC200076C8C8793113133131E2E24040E2311372 -:10BC300033AFC51331E8F328F3E85EB3760D34343F -:10BC400046467E7E404076B313D1B32B2B5F3176D0 -:10BC5000407676406E9CA786563A39E73A5555F9B4 -:10BC600026E7869CEE839CB5E0BCEF834B5EB37CFD -:10BC7000E0F3136EE786C1C1C13A3AA7E755045510 -:10BC80009CC183043AE7A267A0A2555CA7149E5CFE -:10BC900056C18326D53C3C3C3C3C7D7D0505359F0B -:10BCA0009FDCDC9FC5C513310E6E3333340D0D7030 -:10BCB000707070707070707070707048364870700E -:10BCC00048484836CB36691E0C0C79BBBBBB2BC829 -:10BCD0004E7477C8C8C82B2BC8C8C87679311313DF -:10BCE00031313131E27631C5AFC513767631E82591 -:10BCF000F341E8B3B3760D34343434344040115F4B -:10BD0000B3D1D1B32B7631317676767640F3E7C274 -:10BD1000C0C1A704043A55550426E7863A8DCC9C49 -:10BD2000B8E0BCC2CC4B5EB37CE03DD16E39A7C15C -:10BD3000C1C18383A7392604559CC114E79E4B9F3C -:10BD4000643585995CA7149EE786C18326D53C7D22 -:10BD50003C3C3C7D7D0505A09F9FDC33DCC5DC13AE -:10BD60007945790D0D68740D707070707070707019 -:10BD7000707070703648707070484836CBCBCBCF3F -:10BD800012691E2BBBBB6D2B2B127477C82B2B7625 -:10BD900076C8C8C876793113133131133131139F06 -:10BDA000AF33794076760D79E8E8E85EB3B3760D87 -:10BDB00034343434347E40115FB3131367797631F1 -:10BDC0003176767676760E39EF56C1C13A04CC39A3 -:10BDD0002604263986EF8DCC9CB8E0BC5CCC4B5E4B -:10BDE000647CBC3DD10E55A7C1C1C1A7CCA7E72635 -:10BDF000EE559C5683554735B0F149219C3A1414B1 -:10BE00009EE786C18326D53C7D7D7D7D7D050535FC -:10BE100035A09FDC333313137979760D793374129F -:10BE2000687070707070707070707070484870706A -:10BE30007048483636CBCBCB36360CC82BBB44D3F8 -:10BE400079BB127477C82B7979797976C8C879313A -:10BE50001313131331139FAFDC133176404034E6D4 -:10BE60002CE231315EB379760D0D343434344040F8 -:10BE7000115FB3131313B3765F317976C8767641C9 -:10BE80003914C1C1C1CC0414E74BEE2655A7838DEC -:10BE90003A9CB8F4BCE7CC4B5EB37CBC3D130E2699 -:10BEA00083C1C1C1839CA7E726E755E7A7EF4B0EE7 -:10BEB000DCF5F2A25CCC3A1414E755EFC18326D529 -:10BEC0003C7D7DA27D7D0505356E359FDC331331CC -:10BED0007979764034337DC86812707070707070F4 -:10BEE00070487070707070707070484836CBCBCBF3 -:10BEF000CB363677762BBB44BB1EE91E7477C82B36 -:10BF00007979313179C8C8793113E8E8E89FB1C54A -:10BF100031313131400D7E64C16F405E5E5E5EB393 -:10BF2000760D34343434344040405FB31313135E21 -:10BF300076313131317676764139EF56C1C114F917 -:10BF4000A75C7B392626A7838D9C3A27F4E0393AF3 -:10BF50004B80B3B9BC3D13C55583C1C1C1839C8619 -:10BF60009C26E755E73A5CC7DC33E633D55C143AE8 -:10BF7000CC14E7BD5C86EF263C3C7D7D7D7D0505D0 -:10BF8000351749359FDC331379790D0D0D6813C5CD -:10BF90000D6874707070484870483670703648701C -:10BFA0007070704848CBCBCBCBCBCBCB77762BBB51 -:10BFB000446D1E77771277772B7979313179C8C83C -:10BFC000791313E8C58E8ED731E2E231E2404002A8 -:10BFD000BEC1A6405E5E5E5EB3760D343468340D3D -:10BFE0004040405F5E1313135E5E313131315E7944 -:10BFF0007641265C86C1C1A7F9A79C7B554B268359 -:10C00000A78D043A4BF4F4BD3A7B805E30E03D5B93 -:10C01000AF9986C1C1C1149C869C4B555555E74BC1 -:10C020009FE82C66334B5C143ACC14E7BD9ECCEFF2 -:10C03000857D3C7D7D7D7D05056E176E359FDC33EE -:10C040001379760D0D0D68791374687470707070C3 -:10C050007070364870703636487070484836CBCBB2 -:10C06000CBCBCB6936691EBB44D344BBC87777774B -:10C07000772B2B797979C8C8797913E88E7D25E8F3 -:10C0800013314040E2E2404068FEC16076315E5EBE -:10C090005EB3760D0D6872BBB27EE2115F5E131364 -:10C0A00013E85E31315EE85E317987AA9E86C1C1B0 -:10C0B000A7F9A73A7B264B4B83A726EE3A4BF4F41D -:10C0C000AD9C7B305EE8E017B110C28356C1C1A7BA -:10C0D0009C869C4B55557B470EDC136624DC4B5CE1 -:10C0E000CC9C3ACCE7ADBD5C5CD57D7D7D7D7D7D16 -:10C0F00005351749359F9FDC137979760D0D0D3481 -:10C1000068746868687070707070707070367048AD -:10C11000364848704848CBCBCBCBCBCBCBCBCB69CD -:10C120002DD3442BABC80D7777772B2B2B79C8C831 -:10C130007979139F8E8E41D7E83140347EE2E24018 -:10C1400034E5425656D15F5E5E5EB3760D0DB22E7B -:10C15000C166777EE2315E131313E85E313113134B -:10C160001313316EAAE756C1C1863A86CC7B4B4B7E -:10C170004BCCA73939F94BE0C67BE77B305EDC2737 -:10C1800085FC10559C56C1C1A7F9869C4B4BADBC94 -:10C190000EE8DC67ACB40ED55C3A9C9CCCE7AD8570 -:10C1A0009E9ED57D7D7D7D7D7D05354935359FDC28 -:10C1B0003313797976400D0D0D346868747470709E -:10C1C000707070707070487048CF3648704848CBB7 -:10C1D000CBCB15CBCBCBCB0C0C2DD3442BAB797964 -:10C1E00040C8772B2B7931797979DC8E8E254141C6 -:10C1F000D731117E347E11114002E1C3C3C15340D7 -:10C200005E5E5EB3760D0D34BB42C142F134315EE9 -:10C21000131313135E5E1313E835C5DC274B9C56CE -:10C22000C1C1863AA7CC7B7B4B4B3AA73926EE4B54 -:10C23000E0C6BCE77BB9C58A5552715B47EE56C173 -:10C24000C1A7F9863A4B7BBC5DE81313B41AD10E33 -:10C25000D5E73A9C9CCC5CAD855555A27D7D7D7D16 -:10C260007D7D050505359F9FDC13317979797676DB -:10C27000767676760D0D12707070704870707070F2 -:10C2800070CFCF3636704836CBCBCB696969CBE9F6 -:10C29000C877446D44D32B135E790DC82B7913DC1A -:10C2A0001313AF8E25C5412541E8E2117E347E117E -:10C2B00011406894C3C3C110405E5E5EB3760D4604 -:10C2C00040B272C1C1C194C8E21313135E5E5E1323 -:10C2D000E83939DCDCDC479C56C1C156F9A7CC27CC -:10C2E000B87B279CA7394B397BE0C6BC557BF3D57F -:10C2F0005537B120D16E3986C1C1A7F9A7EF27BC48 -:10C300007FE813E87966AC136E85E7F95C5C3A5C0C -:10C31000BD85D5D5D57D7D7D05050505050535355D -:10C3200035DC13137979797979797979797979C8DB -:10C3300070707070487070700036CFCB36364848D9 -:10C3400036CBCBCB696969CB77C877BBBBB3ABAB1B -:10C350001331760DC82B7913C59FB19F13E8D741D0 -:10C3600041E845E2117E347E111140682EC3C3C1FD -:10C3700096C8315E5EB3760D0D46405994C1C1C179 -:10C3800060D17920D1B3B35EE895989F13313147DE -:10C390009C86C1C1563AA7CC27BCB8179CA739B810 -:10C3A000AAB8F4D0BC9EB62195B15B20D1D15D393D -:10C3B000A7C1C1A7F9A73A273DDC1313E8791ABE34 -:10C3C000E847ADE79CE75C3A5CBD85A2D54BA27D12 -:10C3D0007D0505A0A00505356E0E131379797679D4 -:10C3E000797979315E315E5E79707070484870702D -:10C3F00070480036CF36CB4848CBCBCB156969693E -:10C40000CB69C8C81E2BB3B32BB37640407979797A -:10C41000138E8E137979313131453131E2E2403476 -:10C420007E11E240C860C3C3C1C3D13113B3797672 -:10C430000D0D46463477E4C1C1C1C3537913B3B37C -:10C440005E9FD59F131331314704A7C1C1563AA748 -:10C45000CC4BE0B8B5E7A755E0BCB5E0F4ADBABA4F -:10C460004CC520B3B3D1B35D2683C1C1860483CC50 -:10C47000274113131313D8E4B45DADAD9E9CE7E7D9 -:10C480003A5CBD85A2D585A27D7D05A0A0A0A0A017 -:10C490009F9F331313792B0D7679793131315E7982 -:10C4A000797970704836487069E90C48703636CB37 -:10C4B0003648CBCBCB15696969CB4E79776DABAB81 -:10C4C000672B314076131313338EAF137979797953 -:10C4D000797931E2E2E21140347E11E27EE5428F69 -:10C4E00042C3C153E21379B3760D0D463440A472B2 -:10C4F000C156C1C1C17179B3B35ED7135E135E7902 -:10C50000766E04A7C1C156F914144BE0B5B8E71410 -:10C510002662E0BCBCADBABAAD7C805E64B3D1B378 -:10C520005D26CCC1C18604CC3A27E8313113792489 -:10C5300060D847AD859E9CE7E79C5CBD85A2D5850C -:10C54000A27D7D7D7D05A0A0A0A09F9F33331379A0 -:10C550000D0D0D767931795E5E79797070483636D9 -:10C5600000700C0CCB707036364848CBCBCB696969 -:10C570006969CB4EC8E91EBB642BB3797613D7C566 -:10C580008E7DC513797676767979797640E2E211F7 -:10C590007E347E11E27EE5C3E4E4C3C110761379F4 -:10C5A00079760D0D3434405F0266C1C3C1C1C13715 -:10C5B000C8B35E5E5E5E5E3176766EEE14C1C156C5 -:10C5C000F9CC144BE0B5B5393A4B41BCBDBAF0AD2E -:10C5D000BDBCDA805E64B320B341263A56C18604FE -:10C5E0009C9C1713795E13C8AC6AC5AD8585399CD0 -:10C5F000E7E79C5CBD85D54BADD57D3C3C3C7D7D66 -:10C600007D7DA0A09F33333333672B0D0D0D7979DA -:10C61000795EB3B370703636700000360C364870F1 -:10C6200070704848CBCBCB69696969CBCBCBE9ABA0 -:10C630002B646413793113C50F7DC5131379767696 -:10C640007679797976404011407E347E11E27EF130 -:10C65000C16060C3C19676137979760D4634401176 -:10C6600011E27760C3425656C16F0D5E5E5E795E21 -:10C670005E76405D39CCC1C156F9CC1426E0BCB51C -:10C68000269CD58E99D6F0E0E07BE0DA805E64B33C -:10C6900020B34127F986C186040404491379133174 -:10C6A000E5E45AF3BD5585555CE79E9C9CBDBDD520 -:10C6B00085B6959521216C215252525295E33CB199 -:10C6C000A09F331379C8340D767679B3B3360070F2 -:10C6D00048704870703636367070704848CBCB154D -:10C6E00069696969CB690CE9BB136420207913C5BA -:10C6F0000F8EC5D71313317676767979794040114C -:10C7000011407E343411E2025AC160FEC3C156D8D2 -:10C71000317979760D0D3440115F31112FC1E48FDD -:10C72000C356C1660D5E5E765E5E760D4139CC56AF -:10C73000C156F93ACC26F4E0B5BD9E2165BA9EBC3F -:10C74000C6C6BCE0DA755E196420B3D7270486C17B -:10C75000868D04EE6E13791379E142F547555585C0 -:10C7600055E79E9E3A3A99996CF0BAD221954C3C85 -:10C770003C3C7D7D7D7D3C4C5252CEFB9F1379C865 -:10C780000D34340D76796948000048440C00483671 -:10C79000364870704848CBCB696969691569124E93 -:10C7A000E92B64D1412013AF0FC5D741C5E8133140 -:10C7B00079767679797976E2E211117E343411E274 -:10C7C0000266C1961AC3C1C171761379760D0D3414 -:10C7D000405F5F3180342E5660608F56C16F405E7F -:10C7E000767676760D41553A86C156F9F9CC26E033 -:10C7F000BC7B99BA650FBC7BE0C6C6BCE0DA755E4F -:10C80000196420B3D72704A7C1868D8D260E6779BA -:10C8100013C894605B4B39554B555CE79983A7C0AF -:10C82000BAF02121D53C7D7D05A0A0A0A09F9F331B -:10C8300033F27D4C52527D3376C8C8746874C87028 -:10C84000487000481EE9487036364870704848CB3A -:10C85000CBCB6969690C696969E91EB3C5C5C5B106 -:10C8600093C513D74141C5E813317676797979E2DA -:10C87000E2E2E2117E343411E23494C1FE1A42C184 -:10C88000C1AC76137979C80D34401131315EE26460 -:10C89000428F9660C3C1C17134767676760DE855C5 -:10C8A0003AA7C156F904CC55BCADBABAB6AF20E030 -:10C8B000B8DEC6C6BCF450755F196420B3E8178DA6 -:10C8C0008356A78D924B0E13673164606AC5BD39DC -:10C8D00055559EC2BAC0A7A7C2B685A2A27D05358E -:10C8E000359F9F9F9F9FC5DC333333339FB13C52AD -:10C8F000E3F22BC8777459747000000000CB6936DE -:10C900007048367070704848CB691EE969690C69D7 -:10C91000690C1E79D7C525938EC5D7E8D7C541C503 -:10C92000D7E831317979797976E2E2E2117E3434EF -:10C9300040E2342E56FE1A60C1C1C3D1797979C85C -:10C940000D3440E231315E5E40E1C1966060C3C1AA -:10C95000C171347676C8C8E826F9A7C156F904CC67 -:10C96000C2F0BAB67B7F205EF4B8DEC6C6BCF4D097 -:10C97000805F1964B3B313178DCC56A78D274B7DF9 -:10C98000331376F542E641BD39E7F0C0C0C299984D -:10C99000145CADD5A2A2053535A09FDC9F35A09FC4 -:10C9A000DC131379671333C5A03752B12B0D77749D -:10C9B00012007070700C703636480000707070484D -:10C9C000486977E90C0C0C69690CE9771320254C50 -:10C9D0008E13D7C5E8D7C5C5DCE8E8411379797966 -:10C9E000797640E2E2E27E343440E268ACC3FE1A7B -:10C9F000FE56C1C153797979C80D0D40E23131E855 -:10CA00005E310DACC3966060C3C1C1534676C8C8E1 -:10CA10005E4BF91456563A9CA7C0B6BCBCE062B354 -:10CA2000B362B5B5F4C6BCF4D0F75F1919B3B3134C -:10CA30006B923A86A78D2726A06713C894E4E1F38A -:10CA40009EEFC0BA995C9E559C149C85A2A2A2053B -:10CA500035A09F9F9F9F358EA09FDC1379797679B3 -:10CA60001333AFFB520F2B46774636704448364897 -:10CA7000703670700070707070697769691EE9694E -:10CA80000CE94EE92B67AF4C8EC51313E8D7D7D707 -:10CA9000DCE8DC0EDC79797979797640E2E2E24013 -:10CAA0000D7E40E268ACC3FE1A1A42C1C16576B37E -:10CAB00079C80D0D40E231315E5E31E2E5C3606060 -:10CAC000606056C1C1B4462BC8314B04CC5656A742 -:10CAD000C0CCE7E0F4DEE062B3B362B8B5F4C6E020 -:10CAE000F4D0F75F19196464B31692F986A78D27FD -:10CAF0004BC5675E64FEFEF1BDC0C05C5555E75591 -:10CB00005504149C4BA2D58549359F9F9F9F9FA09C -:10CB1000358EA0C51379797940C86733AF0F52B10C -:10CB20002B4676E948CB36003670707070707036E0 -:10CB30003670E9E9156DBB2D2DE90C4EC879AF9320 -:10CB400025C5C53179131313D7D7E8DCE8317979D6 -:10CB500079797976E2E2E2E2407E7EE2E2341AC35B -:10CB6000FE1A1A60C1C1C3D179790D0D0D40E231B1 -:10CB7000315E5E315E0D5AC3966060E456C1426418 -:10CB80000DC85E4B9C1456C183E70426F4F4DEE026 -:10CB9000B9B3B36B7BDEC6C6E0F4D0F7C91919B3DD -:10CBA00064B35D92F986868D276B136776F5E46A28 -:10CBB00071BA99E7554B55395555E7143A85A28511 -:10CBC000ADA2350E359F9FDC9F9F8E359FC5137993 -:10CBD00031790D0D79C5B1FBEAAF2B2BCBCB0036EC -:10CBE000703670707070707048364869CB0C1E6D6E -:10CBF0000CE9E9772BC85B93C533D7137679131308 -:10CC000013D7D7E8133179797979797976E2E2E245 -:10CC100031407931E2E277FEC3FE1A1A1AC3C1C16C -:10CC2000BE4079400D3440E23131805E5E315EBB02 -:10CC3000608F966060E456C160770D13BD838656A1 -:10CC4000569C268D27F4F4C4E0B9B32017B5DEC690 -:10CC5000F8E0F4C6F719BB64B3B3B3F62704A786AC -:10CC6000EE171631B379666066B1AD4B39394B5565 -:10CC7000E75555E714CC554B85ADA2353505A0DCFD -:10CC8000DCDC358E8E359FDC13131376343479C596 -:10CC9000B14C525BC8003670363670707070707070 -:10CCA0004870704848CBE96D2D1E77C8B379F20FF4 -:10CCB000D167201379C8765E131313131331797972 -:10CCC000797913797979E2313131DC6E45E2E20D1F -:10CCD000FEC3FE1A1A1AE4C1C18F7931760D347E73 -:10CCE0001131315E5E5E31137951C3966060608FA1 -:10CCF000C1C12E7737BAEFCC8656F9279226F4F4C5 -:10CD0000C4E0B9B32030C4DEC6D0E0F4C6DA19BB43 -:10CD1000B313B3B3412704868604176213F2B4AC8D -:10CD2000FE5A41BC4B39394B55E7555539CCCC559A -:10CD30005555AD47358E7D8E9FDCDC358E8E353575 -:10CD4000C53131201376346879C50FEAFBB37069B9 -:10CD50003600707070707070CF3670704836690C25 -:10CD60000C1E77772B79AF0F67796779792BC80D10 -:10CD700076797979797979797913DC13317979E26E -:10CD800031310EB84140E2E20DFEC3FE1A1A1AFE1E -:10CD9000C1C1C153407640343440E2315E5E31312E -:10CDA0005EE8BBAC8F9660606042C1C1E62C8539FD -:10CDB0003AA756F9272627E0F4C4E062B3B3B3508C -:10CDC000F4C6D0F4F4F45019BBB3D7D7D13017045C -:10CDD000A78604173D0FE324601AF541BC4B2626B5 -:10CDE0004B4B39555539CC14399E55854735057D02 -:10CDF0000535DCDC9F35358E35C5797913C513765D -:10CE00006874B3AF37EAF2703636007070707070C5 -:10CE100048CFCB70704869CB0C1E1E772BC8F20F21 -:10CE2000672B7979131379C8770D0DC879797979DA -:10CE30007967DCE813313179313135B8877640E2F2 -:10CE4000E268ACC3FE1A1AFE1A42C1C1964076408F -:10CE50000D3440E2315E3131315E13B30BC3966065 -:10CE600060E4E4C3C1C1AE5D39F9A756F9272727AD -:10CE7000E0F4DEE062B3191980F4C650F4F4C6D0D1 -:10CE8000C919136E0ED1E81704A786F9AAB6525B2A -:10CE90006660ACD85D474B26264B4B55555539CC73 -:10CEA000A70404E785A205057D0535DCDC9F8E8E91 -:10CEB0008E9F13797613C5C5137668C820B152FBCF -:10CEC000700070707070007036384870704848E9B3 -:10CED0000CE977772BAB5BFB03C82B2B79202079F0 -:10CEE000C8770D0D76793131797967133131313168 -:10CEF00079E2E86E45314040E2E2342EC3FE1AFE8C -:10CF0000FE1AFEC1C1C12C7E400D343440E25E31B8 -:10CF100031315E13132B2E8F966060E460C3C142E3 -:10CF2000D826F9A756F9172727E0E0BCBCC6B319E5 -:10CF30001976D0C650F4F4C6C65EB35D17E8D113B7 -:10CF40006B8DA78683BA85DC2BFEFE6A676E4B4B22 -:10CF500026264B4B55555539CCA79CF90485A2057F -:10CF60007D7D0535DCDC9F8E8EA0DC1379C879D7FA -:10CF7000C5C5130D742B5B37E3000000700048CF6C -:10CF800036360C69707036360CE9E9772B2BB037E2 -:10CF9000D1C8C877C879132079C8770D0D793113B6 -:10CFA00031797979791313313179E2313131314085 -:10CFB00040E2E2342EC3FE1AFE1AFE1A42C1C196A6 -:10CFC0000D404034344011313131315E1320137241 -:10CFD0004296606060E4E456C1FE6198A7563A1735 -:10CFE0001727DEB8B8E0C65EBBBB1975D0F7C6F42C -:10CFF000C6C6F7416B7CD7D12049EEA756144B1615 -:10D00000E2B4E41A66316E4B4B26264B4B55555510 -:10D01000393A863AF9044B057D7D7D050EDCE8C57D -:10D020009FA0C59F0567C87613C5C5D77974777962 -:10D030002C100000007070000C1E3636707070CB23 -:10D040000CCB0CE9792BD8375B2B2B0D772B791375 -:10D050001379C80D0D0D79793131797931E81313D0 -:10D06000313179E2E2314545767E11E2346AC3FE20 -:10D070001A1A1A1A1AFE56C1C12C344034347E11C1 -:10D080005FE25F3113C5AF4CB42EE4FE6060E46034 -:10D09000E4C1C1570986863A271727B8AADEE0C639 -:10D0A000B3BBBBBBC9758062F4C6C6F8DEC4B9D7D2 -:10D0B00020F2929C86563A178B76BE601AE1316E4A -:10D0C0004B4B2626264B555555393A863AF9E7D526 -:10D0D000057D7D7D059FE8E8E8DCC5C58D3C79C808 -:10D0E000C831135E7976747419D1E300007000CFF3 -:10D0F000E9706D1E7070707036E9690C2B64D8375A -:10D100005B2B2B0DC8C8C879B31379C80D0D0DC89A -:10D1100079797979130E0E1331313179E2E231E800 -:10D1200031404011E23494C3FE1A1A1A1AFE1A8FC3 -:10D13000C1C1E44640403434405F315EE8AF374C13 -:10D140000F1372C31A606060E46042C1C181CC56A3 -:10D150003A27B5B8AAE0F4E0C65EBBBB7474C95EFA -:10D16000B9C6C6C6C427B550D75B849C9CA756F9E0 -:10D17000278B76ACFEACB4455D4B4B4B26264B550E -:10D180005555559CA73AE755497DA27D7D359FE8C9 -:10D19000DC331313058D3379C80D76760D74744620 -:10D1A0007446646F7070700000691ECF0C70704818 -:10D1B0007036E969ABB3D137B12B2B770D76C879CF -:10D1C00079202079C80D0D0DC8797979799F3513AB -:10D1D0003131317976E2E23131407E7E115F349433 -:10D1E000C3FE1A1A1AFEFEFEFEC3C1C12402403459 -:10D1F000344031E8AF4C4C0FC5135E77FE60FE60E3 -:10D2000060E4E460C3C14257563A27B5B8B5F4F4B8 -:10D21000F4C65EBBBB7438741930F8C6C6DE92B56E -:10D22000B9D73C0495921456F9271DB4E4AC2ED11D -:10D23000DC5D4B4B4B26264B555555559CA79C55B5 -:10D24000A2057D7D7D7D8EDCE8DC336767A0F27909 -:10D2500079C80D40760D6868747446D810707000F7 -:10D2600048360048E9367070480C36CF0C2BD13761 -:10D270009313B37777770DC87913D7C5310D0D0D9B -:10D280000D7679317913DC1379317979797640E249 -:10D29000E2E2400D7E11E234E6C3FE1A1A1A1A1AAF -:10D2A000FE1A60C1C1C3BB7E404031C5934C8EC5E0 -:10D2B000332013B30DE1C3AC606060E4E4E4C1C1AA -:10D2C000FE941417DE17DEC6C6C4C65EBB7474387F -:10D2D00038BB80F8C6C6DE8D277CFB6571418A1499 -:10D2E00056F927B9BEE4AC9431415D4B4B4B262631 -:10D2F0004B4B55555504CC9C4B49497D7D05050E3E -:10D30000E813DC13676767797979C8C83113137636 -:10D3100046B25974B4FC70700036BB4470703670FD -:10D320007070E9690CAB640F4C5B202B77777777D3 -:10D33000C87913410E13760D0D0D79313179797954 -:10D340007979797931797640E2E2E2407E7E115F47 -:10D35000025AC360AC1A1A1A1AFEFE1A42C1C194CC -:10D36000B231330F37B1E81313131313B376ABE4B1 -:10D370001AFE606060E46042C1C1E67A27DE17DE13 -:10D38000C6C6C4F480BB74743838BB5ED0C6C6DE73 -:10D390008D262152AFD1E88ACC563A2730AC60AC0A -:10D3A000BE31DC5D4B4B4B26264B4B555555E7F9B3 -:10D3B000E7D5A2497D05358EDC1313131379676712 -:10D3C000677979C879C5AFAFD776685974B4FC70FE -:10D3D00070700070E938367070487036691E2BAF77 -:10D3E000CEC520B3C877777777C879130EC5137683 -:10D3F0000D0D40793131797979797679793179768C -:10D4000040E2E2E2407E7E11E27EE1C360AC1A1AA5 -:10D410001A1A1A1A1AFE56C1C172C537AF13313122 -:10D42000315E13135EB35E4694E4AC606060E4E486 -:10D4300060C3C1C18C17DE17DEC6C6C4F4B9197447 -:10D44000743838745E1DC6C6DEEEC2B6415EB35E89 -:10D4500049CC863A27C5E4AC1A2C45DC5D4B4B4BD6 -:10D4600026264B4B4B5555E7E755A249490535351F -:10D4700035DC13131379797979797979C85E257D4B -:10D480008EAF13465959D8FC70000036BB6936CFB1 -:10D49000707036E936E9ABD1CEAF20B377777777C6 -:10D4A00077C8767913D7D713760D0D40793179790E -:10D4B0007679C876797979797640E2E2E2407E7EC3 -:10D4C00040E27E724260AC1A1A1A1A1A1A1A1AE448 -:10D4D000C1C142E5315FE211115F5E13135EB3B368 -:10D4E00040B4422EFE606060E46060C1C160B0DEA6 -:10D4F00017DEC6C6C4F450197474383874B3F7C64E -:10D50000F4ADC29E16805EB35E493A863A05BE42CD -:10D510006AACD8E8415D4B4B4B26264B4B4B4B55E9 -:10D5200055554BA2490535358E9FE813133179794E -:10D53000797979792BC833A27D8E8E13465959D8C3 -:10D54000A670707000691E3670707070CD0C1EABC6 -:10D5500037B12013C877C87777C8B3B37979131375 -:10D5600031C80D0D0D797979797976767679797971 -:10D57000797940E2E2E2407E7E11E27EE542E41A01 -:10D58000AC1A1A1A1A1A1AFE1AE4C1C12E34114022 -:10D5900011115F5E5E13B379793119601AAC606066 -:10D5A0006060E46042C1C13206B5DEC6C6C6F45052 -:10D5B000767474383874B380C6AD999E278BF75E45 -:10D5C000B35E6EF9A73AA0A6E46A2E13DC0E5D4B9B -:10D5D0004B4B26264B4B4B4B55558547490535350F -:10D5E00035359F13131379767679797979767905BC -:10D5F000D58E8EAF5E685474B4A670E9BB443670A5 -:10D60000367070CF36486DBB53FB64D12B77ABC8F7 -:10D61000C8C879B3792B795E5E79C8770D0D762B02 -:10D62000797979797976767979797940E2E2E240A7 -:10D630007E7E11E211AB60E41AACACAC1A1A1A1A75 -:10D640001A1A1AE4C1C15A025F11115F31B313B340 -:10D6500079765E4666E42EFE60606060606056C16A -:10D66000C14DB5B5C6C6C6F4C65EBB743838BB641A -:10D67000D7AD997B26268BF75EB35E5D04A7F9A331 -:10D68000601A6A6631410E0E474B4B26264B4B4BB8 -:10D690004B55554BA24935350E3535DC13133179D1 -:10D6A0007676797979797633D58E8E2513745959B2 -:10D6B00074F56500480CBBBBCF707070CF0C0C2AA2 -:10D6C0004D104DABAB77ABC8C8C8797979C8C82BBA -:10D6D00079792BC877770DC8C82B797979797676DF -:10D6E000797979764040E2E2407E7E115F1177AC35 -:10D6F00042FEACACACACACAC1A1A1A1AFE42C1C1B8 -:10D70000F5A4E25F5F315E13B37976794072E46A23 -:10D710001A6060606060FE60C1C1AC33B5C6C6C649 -:10D72000F4F480BB74383877D8E3BDBCC427268BAB -:10D73000805EB35E5DEEA78D71426A1A5345410E5D -:10D740000E474B4B26264B4B4B4B558547493535A2 -:10D750000E0E0E0EDC1331797676792B2B2B2B2BBC -:10D7600020C59F8EC50D59745938F5654800007065 -:10D7700069E93670707036D3AB3753ABAB77AB2BF0 -:10D78000792BC8C8C80D77772B792BC8C80D770DB2 -:10D79000C8C879797979797679797979764040400C -:10D7A000E2407E7E115FE2349442FEACACACACACA5 -:10D7B000ACACAC1A1A1AFE42C1C1E57E5F5F315EA5 -:10D7C0005EB37976765FBBFEAC2E9660606060607B -:10D7D000FE42C1C18C16F4C6C6F4C4B919743838F7 -:10D7E000E5E3266BC4C427278B805EB35EF68D14F9 -:10D7F00009A642941A5BE80E0E35474B4B262626A7 -:10D800004B4B4B55854735350E0E0E9F9FDCE8314F -:10D810007976797979C8C8C8C8C8C813DC797474AE -:10D8200059A938F56F44440C700070487036690C83 -:10D83000AB2CE303AB77772B33332BC80D7777779C -:10D84000AB2B79792BC80D0D0DC87679767979795E -:10D85000767979797976404040E2407E7E11E21116 -:10D8600034E142FEACACACACACACACAC1A1A1A1A9B -:10D87000FEC3C1426411315E5E5EB37976765E4668 -:10D88000571A941A6060606060FE60C1C14233F450 -:10D89000C6C6F4C48BC974382F10D5351DC6C4272D -:10D8A000278B5EB3B35EF692CC71FEFE57AC138746 -:10D8B0000E0E35494B4B2626264B4B5555554B0ED8 -:10D8C0000E41DCDCDCDCDC331376767913792BC893 -:10D8D000C8C877770DC8741259543BBBBEBE360C0E -:10D8E00044E936707070706944D1CE2CAB771E2B32 -:10D8F000A00567C8C877121E77AB2B79792BC80DA6 -:10D900000D0DC87979797679767676797979764058 -:10D910004040E2407E7E11E2E240724260ACACAC3C -:10D92000ACACACACACACAC1A1AACFEC3C18FB3118E -:10D930005E5E5EB37976765E46E11A94ACFE606018 -:10D94000FEFEFEFE42C1C15AB9C6C6C6C4C45E745C -:10D95000B4A653C51380C6C417278B5EB3B35EF657 -:10D9600092F9BE42AC94A613410E35356E474B2654 -:10D9700026264B4B4B55554B0EE8E84545131313E4 -:10D98000133176767913792BC8C8C87774745954D3 -:10D9900054083B54646FB400007036367070707079 -:10D9A00069BFFBCED1AB1E77330567ABAB77771280 -:10D9B0001E77772B797979C80D0D0D76797979797C -:10D9C00076767676797979764040E2E2407E7EE23C -:10D9D0003131D77260E4ACACACACACACACACACACA0 -:10D9E000AC1A1AACFEC3C18FB3E25E5EB379767631 -:10D9F0005E402FFE946A1AFEFEFEFEFEFEFEC1C1D0 -:10DA0000E45EC6C6C6DEDE80B4A6B4BB64195EC6DC -:10DA1000C417278B5EB3B35E302684A64294AC66EF -:10DA2000450E0E35356E474B2626264B4B55555524 -:10DA30004B6EE8454513311313137976767913311C -:10DA4000792BC877747459747459591259B46F6426 -:10DA500036700000007070706944BFD2B1641E1E41 -:10DA6000AB672BABAB777777121E77C82B797979B9 -:10DA700076400D0D7679797979767676767679793C -:10DA8000764040E211407E4031C58E4C4D6AE4AC98 -:10DA90002EACACACACACACACACACACACACACFEC3DB -:10DAA000C18FB35F13B379765F5E76BF1A9494AC7F -:10DAB000FE1AFEFEFEFE1A42C1C1E150C6C6DEB528 -:10DAC00047A6B438381919C950C61727165EB35E71 -:10DAD0005E3026A3FE60E61A53870E35353549A21F -:10DAE0004B2626264B4B5555554B0EDCE845313120 -:10DAF00079793179767679131313792B777712C880 -:10DB0000791259741274BEBEBBE9E9CB70707070A3 -:10DB10007069D353EAD1AB1E1E777777ABAB7777BB -:10DB200077127777C82B7913133176400DC879793E -:10DB300079797976C87676797976404011E2E2761D -:10DB4000137D4C8EE80DE642AC2E2E2E2EACACACE6 -:10DB5000ACACACACACACACACFEC3C142D8765E797C -:10DB6000765F5E5FBB2E9494AC1A1AFEFEFEFEFE3C -:10DB7000FE56C1FE5EC6C6DE9EBA5B743838191901 -:10DB800019F7C61727165EB35E5E301771E4ACE670 -:10DB90001AAF0E0E3535054949474B26264B4B85A6 -:10DBA000555547350E0EDC451331797979C8C8765D -:10DBB0007979131379C8747479747454A93B191062 -:10DBC000F5387069CD367036E90CE944102CAB1E7F -:10DBD000127777777777777777771E7777C82B798C -:10DBE00013D7E8317640C8797979797976C876762D -:10DBF00079767640E23113D78E3C8EDC31E27E0BB3 -:10DC0000421A2E2E2E2E2E2E2E2EACACACACACAC40 -:10DC1000ACAC1AC3C1C32C76B3765F5E5F749494C8 -:10DC2000576A1A1A1A1A1A1AFE1AE4C1C153D0C432 -:10DC3000ADC07B5E7438381919195FF8B527165EC8 -:10DC40005E5E5E415D94429457940E6E0E353505CE -:10DC50004949474B26264B4B4B554BA26E35350E4B -:10DC60000EDC13137979C80D0DC879131331C874FC -:10DC700074747412545438B41064540000707000FA -:10DC800069E90CD3F510BF441E777777777777C8AB -:10DC90002BC877777777C82B7913C5D75E797676D7 -:10DCA000797979797976C876767676793131DC0F3B -:10DCB0004CB113313140407EBFFEFE2E2E2E2E2E53 -:10DCC0002E2E2E2EACACACACACACACACACE4C1C12A -:10DCD000530D795E5E5F466A6A576A1A1A1A1A1AF3 -:10DCE0001A1A1A1AC1C1FE80ADBA55278074383885 -:10DCF000191919C9DADE27165E5E805E4141FE60A1 -:10DD0000E694665D6E0E3535054949494B26264B2E -:10DD10004B4B4BA26E353535350E0EDCE81379765C -:10DD20000DC8C8C82B7979C8C82B1274547476648E -:10DD300066BE74A9000000707000366DBF10E1442B -:10DD4000E91E77C8C8C8C8C87913B3C8777777C839 -:10DD5000797913D7C5137976767979797979767661 -:10DD60007679793113338E4C0F33E24040E24040F4 -:10DD700040746A602E2E2E2E2E2E2E2E2E6A6A2E85 -:10DD8000AC6AACACAC2EAC96C3C1370D315E31463B -:10DD9000946A576A1A1A1A1A1A1A1A1AACE4C1C1E2 -:10DDA00071B6BC2726B9463838461919465FC427CC -:10DDB000C4808080E806B1E41A326A716B0E353592 -:10DDC000054949496EA24B4B4B4747490E0E0E0E73 -:10DDD0000E0E0E0E0E9FE81379C80DC877C8C8C87E -:10DDE0007479C8745959C8B3B4A6B454A9690070F9 -:10DDF000363670CF44E16FBFD34E772BB3B379B3D0 -:10DE0000B313D713C877770DC879B3B3E8C5E879EA -:10DE1000407679797979797676767913338E4C7D77 -:10DE2000C531E27E7E40E240404034EDE42E94A6CF -:10DE30002E2E2E2E2E6A6A6A6A6A6A6A6A2E2E2E22 -:10DE40002EAC8FC165B3115F191A945794ACAC1AFC -:10DE50001A1A1A1A1A1A1AC1C11A41C48A9216C970 -:10DE6000383846C91946C91DDEC4308030E84566D9 -:10DE7000422E32ACB1170E353505054949356E498C -:10DE800049496E0E41E845454545E8E8DCDC0EDCD5 -:10DE9000E81379C8C8C8C877777767772B5974C8EB -:10DEA000D1BE6FBB084F0C70CB0CCB700C786FE100 -:10DEB000D32D1E2BB3B3B3D1D1D120D713C8770D37 -:10DEC000C8765E131313D7E8794076797979767935 -:10DED00076767913AF37FBC51331E2400D0D40E282 -:10DEE0004040407E7260AC949494A6A62E2E6A6A3E -:10DEF0006A6A6A6A6A6A6A6A2E2E2E2E96C18F53E1 -:10DF000046516A325794ACACACACACACAC1A1A6AA1 -:10DF100042C1C320C427926BC9747446C919191928 -:10DF20005F1DC47C303030131AE49466A635170E9A -:10DF300035050505494935353535350E41DCE845AA -:10DF400031313131313113E8E8E8133179762BC8BA -:10DF5000C877742BC8C859741971EBB454A94F36DB -:10DF60007069E96D360CAEA6AE2D0C772BB3B3D12C -:10DF7000201320D7D713C877C8C8C813D7E813E829 -:10DF8000E87640767979797679797933FB37B11308 -:10DF900031E24040400D0D40E240404040AB1A1A93 -:10DFA00094949494A69494949494946A6A6A6A94C7 -:10DFB0006A2E2E2E2E2EACE4C3FEFE9457946A6A6F -:10DFC000ACACACACACACACAC6A1AC1C15A1D278DC0 -:10DFD000175F747446C9C94619765FB962B9B9301A -:10DFE0005BE4FE3294946E490E35050505494935CA -:10DFF000350E0E0E0E41DCDCE84531313131793120 -:10E0000031311313313113137979C87438125954DB -:10E0100074D1EA10BBA94FA97070CF0CE9690C2428 -:10E02000EB2FE9691EC82BB3D113132020C513773A -:10E0300077792BC8B3D7C5D7D7E876407679797684 -:10E04000796713B14C0F3313794040E2E2400D7E03 -:10E0500040E24040404034E6609494949494949418 -:10E060009494949494949494949494A62E2E2EA67E -:10E070006AAC60606060FEAC6A6A6A6A6A6A6A6A10 -:10E080006A6A6A42C1FEE8B592175E747446C9C9ED -:10E0900046197676807C7C7C06BEE4AC5A6A7117A1 -:10E0A0006E0E350505050549350E0E0E0E0EDC0EFD -:10E0B0000E41DCE84531317679797979793113DCB3 -:10E0C000DC0E872B74C8745954592CEBB4CDA93B82 -:10E0D0003B707036CF0CCBD310D2B46DCF0C1EC8B2 -:10E0E0002BB3D1132020D713C87779792B7913C597 -:10E0F0004141E879407679797913AF37FBC513311F -:10E1000079767640E2E2407E7E40E2404040407ECA -:10E110000B602E94949494949494949494949494E2 -:10E120009494949494A6A6A6A69494946AACAC2EC7 -:10E130006A6A6A6A6A6A6A6A6A6A6A941AC3C15BC4 -:10E140006B921775467446C9C9191976765E3041C7 -:10E150007CE82E609424ACB11735353505050535BE -:10E1600005350E0E0E8787DC0E0E41414141E8E871 -:10E170003131797676767613DC6EB5DC7977797421 -:10E180005954BBA66F38A93B3B3B707036CFCB6967 -:10E1900078A66F2FE9690CE977C82BB3D1D120207D -:10E1A00013C87779B3797913D74141D731407631A4 -:10E1B0001333FB4CB1137979797976404040E240D2 -:10E1C0007E40E2E24040404040AB1AAC94949494CC -:10E1D00094949494949494949494949494949494FF -:10E1E0009494949494949494946A6A6A6A6A6A6A15 -:10E1F0006A6A6A6A946AE4C16641261780194646CB -:10E20000C9C9C9C976765E5E067CC596FE66322EA1 -:10E210008E170E0E350505353535350E0E87DCDCCF -:10E22000DC0E0E0E41410E35350E9FDC13797676ED -:10E2300079E8B56E337977C812543871EB2F3B54B7 -:10E24000CD3B3B0C0CCB70002D89A651D30C690C37 -:10E25000E91EC82B2BB3B3132020790DC8B37979ED -:10E26000B3E8D741305E796733B14C0F3313797619 -:10E2700079797976404040E2404040E2E2E2404035 -:10E2800040E234E6FE9494949494949457575757EC -:10E2900057575794949494949494949494949494F5 -:10E2A00094949494949494946A6A6A6A6A6A57FEFD -:10E2B000C196332627F7C9C946C9C9C976767631CA -:10E2C00031E88071E4AC3257A60E6E0E0E350505AE -:10E2D000353535350E87DCDCDCDC0E0E41415D6BFF -:10E2E0006EA2A2A2A235DC1379795D6B13792B742F -:10E2F000385459B4EBE3B33B54CD3B3B440C70482A -:10E3000048EC0BA6AEEC36CF690C1E77C82B2B2B36 -:10E31000B31320B30D0D7979797913E83041C52015 -:10E32000AF3737AF13797676767679797640E240F3 -:10E33000E24011E23131E240404040400B609494B1 -:10E3400094949494575757575757575757579494EF -:10E3500094949494949494949494949494945794BA -:10E360009494949494949457ACC3C3F12727B95FC1 -:10E370005FC9C9C9C97676315EE8E831A6E494245C -:10E380006A6F0E0E0E0E3535353535350E0EDCDC6A -:10E39000DCDCDC0E0E410EDE6B49A2D58585D5A2F4 -:10E3A00035E8E85D792BC8C8747459BB1065F279FB -:10E3B000540808080869707036702DE1A6AED30CB9 -:10E3C000CFCB691E7777C8C8C8B3B313B3C877C8B3 -:10E3D0007979797913C5258E934CB120677979764F -:10E3E000767676797976404040E240E2E23131E279 -:10E3F000404040E2E2641AAC57949457575757573D -:10E4000057575757575757579494949494949494B4 -:10E4100057575757575757575757575757949494D5 -:10E420005794E4C15A354BB975755F5F5FC9765E25 -:10E43000DC35DC315B969657242E710E0E0E0E35B0 -:10E440003535353535350EDCDCDCDCDC0E0E416B6C -:10E450006B0E49A2D5858585D5A235DC137976C8A2 -:10E4600077C8C87753EB71B346A908080808CB36BC -:10E470004870702D51A672D8640CCB69E91E77BB29 -:10E48000C8C82BB3B379C87777C879797913C5939E -:10E49000B685C51379797979764040767979764071 -:10E4A000404040E2E2E23131404040E2E23140E6C9 -:10E4B000FE57575757575757E657575757575757B6 -:10E4C00057575757575757575757575757575757DC -:10E4D000575757575757575757575796C1AC1B4B16 -:10E4E000B975B9805E5E5F5E33D57DE83171E41A3F -:10E4F0003232ACAF350E0E0E0E3535353535350EA4 -:10E50000DCDCDCDCDC4141415D0E0E49A2D58585B9 -:10E51000D57D8E9FDCC5135E79C82077E565E3D194 -:10E520007659125408083B6969004848699065AEFD -:10E53000E5D1E969690C1E1E77BBC8C82B2BC8C87A -:10E540007777C82BB320339321852513797979798F -:10E55000797640407679797640404040E2E2E23197 -:10E5600031404040E23131E2D8FE94575757E657E8 -:10E57000E6E6E6E6E6E6E6E6E6E6E657E6E6E65759 -:10E58000575757575757575757575757575757571B -:10E59000575757571AC38FB04B7C756262805E5EC7 -:10E5A000133C92DCE831A6E42E2466A6C5350E0E97 -:10E5B0000E0E3535353535350EDCDCDCE8E841410D -:10E5C00087410E0E49A2D5D5D5A225DCD7DC9F9F69 -:10E5D000335EC813646FEBB4B37754791908083B02 -:10E5E00069690C694869F5FCAE0C440C69690C0C4E -:10E5F0001E7777BBABC82BC8777777C8B3D1AF4C42 -:10E600003725F3415E797976767676407676797934 -:10E610007640404040E24040E2E2404040E231315A -:10E6200031C82EACE657E6E6E6E6E6E6E6E6E6E6DE -:10E63000E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E67A -:10E64000E65757575757575757575757E66A42C1D4 -:10E6500024493D7562E07C5E31DC05DC1331D1FE7E -:10E660009694249466DC350E0E0E0E353535353510 -:10E67000350EDCDCDCE8E841DCDCDC410E49A2A242 -:10E68000A2A28EDC1313DC9F9FC513C82071EB532D -:10E6900077B33838B3C808083BCB44694836694D6E -:10E6A00052712D696969E9446DE91E777777ABC8C6 -:10E6B000C87777C879D1B14CB120133041E8797966 -:10E6C00079767676407676797976E2E24040404017 -:10E6D00040E2E2404040E231313140E1FE57E6E6BF -:10E6E000E6E6E6E6E6E6E6E6E6E68132323232E6FF -:10E6F000E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6BA -:10E700005757575757E657E4C110353D80627F7F12 -:10E7100030E8133131313153E4FE32249471870EE5 -:10E720000E0E0E0E3535353535350EDCDCE8E8E8F5 -:10E73000DCDCE8E8410E49A2A2A2359FE81313DC15 -:10E740009F9FC513C8B1EB10BB59745477B33808F9 -:10E7500054A56969CB69CB0C1B5266CA0C0C69E9DC -:10E76000BFBF6D6D77BB777777C877C82B5BFB4CE6 -:10E77000AF677976E87C303179797676764076764F -:10E7800079797640E2E240404040E2E2E24040E215 -:10E79000E23131E22BAC2E32E6E6E6E6E6E6E6E6EC -:10E7A000E6818157575757E63232323232E6E6E693 -:10E7B000E6E6E6E6E6E6E6E6E6E6E6575757E6E6A6 -:10E7C00096C1AC357F80627F6B6EE831313131E2CA -:10E7D0009460AC32246AB10E0E0E0E0E0E35353535 -:10E7E0003535350EDCDCE845E8DCDCE8E8DC0E49F4 -:10E7F000A2A2359FDC331313DC9F9F2079D165657E -:10E800005B7754A55477795908A554000CE936CBA9 -:10E81000431B71A6780C0C690C44E544E977BB777F -:10E820007777772B642CE30F5BD179C80D5E41417C -:10E8300013797976767640767979797640E2E2E2F4 -:10E84000407E4040E240404040403131317EE1FE78 -:10E85000E6323232323232818181E6E61C787897B4 -:10E860008CE6E681818181818181818181818181C3 -:10E8700081E6E6E6E6575757E61AC3969F7F807C07 -:10E880006B27174531313131B3FEFE9424322EC54A -:10E890000E0E870E0E0E0E353535350E0EDCDCE80D -:10E8A00045E8DCE845E8DC0E49A27D0EDCE8131300 -:10E8B00013DC9FC5B3D1E3EB2C77745438745454F4 -:10E8C000543BA53B704870696D2A0CAE65E1440C61 -:10E8D000CB69E9BF44E91EBBBB77772B03B1E35398 -:10E8E000D1677979C80D793041137976767676409B -:10E8F0007676797979764076E2407E7E40E2E24033 -:10E90000114040E23131E264AC2E323232818181F9 -:10E91000818181E691001FA93B547890E681818135 -:10E9200081818181818181818181818181E6E6E6A8 -:10E93000E6E62EC3E4AF7F807C17276E4531313188 -:10E94000E2F1E41A66246694E80E0E870E0E0E0EAF -:10E95000353535350E0EDCE84545E8DCE845E8DCC4 -:10E960000E35A235DCE833131313339FC513373F3D -:10E970005374595474D1203808543B545400003611 -:10E98000446DCB482D10A62F0C69690C4444E91E38 -:10E990001E1EAB64D1FBE35B6779797979C80D40C2 -:10E9A000E841137976767976767676797979764054 -:10E9B00076E2407E7E40E2E240404040E231E23199 -:10E9C0004024FEE63232818181818181ED367036CC -:10E9D0004FCD3BA94F7881E6818181818181818101 -:10E9E00081818181818181E6E6E6E6944242B16BD4 -:10E9F000305DB8175D803131317E6660AC32249471 -:10EA000071E80E0E87870E0E0E0E350E0E0E0EDC02 -:10EA1000E8454545E8E84545DC0E353535DCDC1391 -:10EA2000133113339FC5FB3F37BB5974772BD1B3D9 -:10EA30005438543B083870707070366936690BEB87 -:10EA4000BE0C69690C6D0C0C1E1E4464B037FBD102 -:10EA50002B2B2B79792BC80D0D5ED7137976767910 -:10EA600076767676797976404076E2404040E2E20A -:10EA7000E240404040E2E2E231E203AC9481328184 -:10EA800081818181812236701F364F4F4F4F1FEC9D -:10EA9000ED81ED81EDEDEDED8181818181818181DE -:10EAA00081E6E6E657E4C3716E411717177F8031A0 -:10EAB0003131791AFE6A2424942CDC0E0E0E414169 -:10EAC0000E0E0E0E0E0E0E41DC45454545E8454541 -:10EAD00045E8410E0E0E9FDC13131313339FFB3FCB -:10EAE000E32B38385B2B2B20121219543B0877701C -:10EAF0007000CB6D0C36CB69243F72CF690C0C696A -:10EB00000CE964D82CE3B1032BC8C82B79792BC846 -:10EB10000D0D791331797676767676767679767606 -:10EB20007640E2E2E24040E23131E2404040E2E25F -:10EB3000E2E2317E8C1AE68181818181ED819070E3 -:10EB400070701F36363636367069ED81EDEDEDEDBD -:10EB5000EDEDEDEDED818181818181E6E65760C3C8 -:10EB6000375D5D6E6E477F063131E2B4601A662410 -:10EB7000329433870E0E8741410E0E0E0E0E0E0E8E -:10EB8000DCE845E84545E8453145E8410E0E0EDC38 -:10EB9000DC1313131333FB3FFC037474B3D1772BD3 -:10EBA00074547774543B3B777070000C6D36363676 -:10EBB000702D6F2E78CD0C69690CD3D80FE32C0320 -:10EBC000C877C8C87979792BC80D0D0D7979797610 -:10EBD00076767676767679797676E2313131E2E25A -:10EBE000456E45E2E24040E23131E231E2AB6A9407 -:10EBF000ED81EDEDEDED81737070701F1F1F1F1F14 -:10EC0000707000EC81EDEDEDEDEDEDEDEDEDEDED88 -:10EC100081818181E632E696C3100E5D065D476E06 -:10EC20000631317EBEE4AC248C3266E80E0E41879C -:10EC30008741410E0E0E0E0E0EDCDCE8E845E8E8DA -:10EC4000453145E8410E0E0E5DDC13131313B13F41 -:10EC500065B077742BF2D12B77385938123B54CDED -:10EC60003870707070487070703669D3A6A6786975 -:10EC7000690CD3BFFBE3D864C877C8C8C879797971 -:10EC80002BC8C80D0D0D76797679767676767679FD -:10EC9000317931313131313145276B453131E2E262 -:10ECA00031313131313134901A81EDEDEDEDEDED51 -:10ECB0007370007070701F7070707070009181EDD3 -:10ECC000EDEDEDEDEDEDEDEDEDED81818181E6E632 -:10ECD00060C3FC8730315D476E80313176ACFE6AAF -:10ECE000248C57BE450E0E41878741410E0E0E0EF5 -:10ECF0000E0E0E41E845454545133131E8DC0E5D09 -:10ED0000DE5D13131379F2EBD22C2B19742B5BD12C -:10ED10007777D17454545454CD547070700000708F -:10ED200070706944E9D3A6A67869D3BFBE66E5BF13 -:10ED3000BB1E7777C82B79797979C80D0D0D0D76C3 -:10ED4000797679797640407679313131313145457E -:10ED50004517270645313131E23131313131E2E2B7 -:10ED600077576AEDEDEDEDEDED22480070707070B3 -:10ED70007070707070707097ED2222222222EDED7B -:10ED8000EDEDED818181E697E972C3A63145313021 -:10ED90006E418031E2D8601A5724249453E80E0E55 -:10EDA00041414141410E0E0E0E0E0E0EDCE84513A0 -:10EDB000134513313145E8416BDEDC13317933EA19 -:10EDC000D20FB32BC87774B32BBB772B7454545426 -:10EDD000CDCD4E7070706970707048692DE90C2D42 -:10EDE0005A2EE1AEBE24BF78BB1E1E1E77C87979AD -:10EDF000797979C8C80D0D0D767676767676407677 -:10EE00007679313131454187454117874545313163 -:10EE100031313131313131E2E240AE1A32EDEDEDD6 -:10EE2000EDEDEDCB007070707070707070707000F0 -:10EE3000ECED90909022222222EDEDEDED8181CA41 -:10EE40001F0859602E403131458706313140BE6080 -:10EE50001A32E124945B87410E41878787410E0E69 -:10EE60000E410E0E0EDC451313131331313145459F -:10EE700041DE5DE813313352D20F33B32B1977746F -:10EE800038BB2B3838385454CD3B541E4870000CD6 -:10EE90004469363636CFCB69CFE9E1A6EB6FAE4495 -:10EEA000E9BB1E1E1E77C82B79B37979C80D0D0DED -:10EEB0000D767976767676407631131313E8176EF1 -:10EEC000E845064545E845313131E23131E2E2E2DB -:10EED000E2E230B3EDACEDEDEDEDEDED4A0070703A -:10EEE00070707070000070707070FF229090909041 -:10EEF00090222222EDED819100A95459962E4031A5 -:10EF000031313131313176ACFEAC24E132571387E7 -:10EF1000414141878787410E0E4141410E41E845FD -:10EF2000131313133131313145410EDCDC1333E35C -:10EF3000D20F3333B32B2B77777777B3BB121254BF -:10EF400054CDCD54CD4870700069440C69CB363631 -:10EF500036694472106610A6BEF572BFBB2B77C827 -:10EF60002B797979C8C80D0D0D0D7913136713200E -:10EF70005B9FAFAF9FDC17AA8745453131F606315D -:10EF800031E2E2E2E231E2E2E2E2E2E8F3E55757BF -:10EF900022EDED22ED630070000000000000000093 -:10EFA0000070000722737373739090222222ED7316 -:10EFB0007070A93B5996A640313131313145E2D8C4 -:10EFC000FE1A94E1E132BE454141414187878741C4 -:10EFD000410E41414141DCE8131313131331313128 -:10EFE0003131E8DCDCE8C552D2B1133333B32B2B1B -:10EFF0007777C8C87479E8125454CDCDCDE969004B -:10F0000070700036D30C6DCB3669D3AEA653AEE527 -:10F01000722410A610E3E30FB1B1B1AFAFF2F25B0F -:10F02000F2F2AF0F930F0F0F0FB1AFC533E86EAA17 -:10F030000E45453145F606313131404040E2E2E2CD -:10F04000E2E2E2E2313041AEAC8122ED2222904890 -:10F0500000000000000000007070700015737373F2 -:10F0600073737390902222EDEC00701F3B59606621 -:10F07000403131313145451124FE1A32E1245753D4 -:10F08000458741414187878741414187414141DC73 -:10F09000E84545131313133131313113E8DC9F5226 -:10F0A000D20F79B33333B32BC877772B2BC86B7957 -:10F0B0005454CDCDCD4EE9360070707000362D2DF4 -:10F0C0002DCBD3AEA624AEE5ABE9E944BF725371B4 -:10F0D00037E3CECECECEE33737FBFB0F0F938E9FB9 -:10F0E000336779797979E8275D131313314531E274 -:10F0F000313140404040E2E2E2E2E2E24040E25DA3 -:10F100002C222E8C222290EDCA000000000000006C -:10F110000000000000701C7373737373737390EDC1 -:10F12000890070701F3B12E471403131313131453B -:10F13000406AFEAC24E124945B4587414141870647 -:10F14000878787DCE887DCDCDCE845454545458783 -:10F15000453131313113C552D20F1379B32020B369 -:10F160002BBB7777B3B3DCDC124E54CDCDCDE9CFDA -:10F1700048707070707000CB692D2D78662478BF50 -:10F18000E5BBD36DE92DE91E1E1E2BD1202020D119 -:10F19000677979797913C5E879767640767979E86F -:10F1A000E813313131314040E231E240404040E249 -:10F1B00031E2E2E2E240E29F4C85BFE6949090901B -:10F1C0009073700000000000000000000000006369 -:10F1D0007397737373737373EDEC0070701F08BBD8 -:10F1E000422CE2313131314531D11A1A94E1E12416 -:10F1F000571306E887414187060687E8E8E8DCDC24 -:10F2000041DC45454545455D16453176767613E347 -:10F21000D20F137979B3131379BB7777BBB37979AD -:10F220001E4E4E54CDCD0CCD69704848707070485C -:10F2300048362D78716678D3444444BB442D6D6DB7 -:10F24000E9E91EBBC879B37979C80D0D0D7613DCD9 -:10F2500013317979767979797931313131314040A9 -:10F260004040E2E240E2E2E23131E240E231DC3CC5 -:10F270004C350E877894E673907390FA0000000086 -:10F2800000000000000000000773979797737373E6 -:10F290009073707070701F080B42673131313131DB -:10F2A00045E2E1FE1AE6DBE1325A3106E8DC878707 -:10F2B00006060606E8E8E8E84141DCE8454545F68B -:10F2C000DEF63176767679E3EBB179797979B3B395 -:10F2D000B3C8777777772B771E4E387754CDCDCF5D -:10F2E000690C7048487070702D69CBD3DBE3AED3E6 -:10F2F0000C44446464D36DD36DE9E9772B2B2BB3B5 -:10F30000792BC80DC80D79E8D7E8E8797676767656 -:10F31000797979797976E240404040E2E2314531CD -:10F320003131E24040333C957DDC870E457E896A71 -:10F33000ED73737373EC0000000000000000000028 -:10F34000004A97FF97979773739063007070701FD0 -:10F3500008941A4031313131314576941AAC24E1A8 -:10F36000E157E13106E8E887DC06E8E830E8E8E85C -:10F37000E8DC4141E845E841DEDE4579764079E365 -:10F38000EBB17976762B2B792BC8777477777777F3 -:10F390007738E91E64E9CFCFCF0C0C70484870482D -:10F3A000700C6DEC89100B78696944BFBF446DBB6C -:10F3B000AB6DE9E9BB642B2B79792BC8C8C80D79F3 -:10F3C000E8418713797976767676767679767676E9 -:10F3D000407E7E40E231458731E2E2E2137D524CCD -:10F3E0009F13870E13E21168FF6A227373737315FC -:10F3F00000000000000000000000EC971CFF979741 -:10F400007373904A007070701F4EE453E2133131F1 -:10F41000311331D16A1A6A8CE12494B431E8E8E8F6 -:10F42000DC8706E8E8E8E8E84545E8DCDCE845454F -:10F4300016DE4131790D79E3EB2C7676C8C8777703 -:10F44000777777747477777774BB1EE9E9640CCFAC -:10F45000CFCF0C69483648484848360CCA2424782F -:10F460002D6969D3BFD3E944D1641EE9E9772B2B19 -:10F470002BB32B2BC8C80D0D31414113797976760A -:10F48000764076767676797979407E7E40E245459B -:10F4900031E231137D52953513E2458731E2404028 -:10F4A000116873947397739797150000000000001C -:10F4B000000000EC971C1C9797977373CB0070703B -:10F4C0007070E1E476313131313145E2F51AACE664 -:10F4D000DBE12494D13E45E8E8DC87E8E845E8062E -:10F4E000E8E84545E8DCE84587DEF61379767937C4 -:10F4F000FCB00D0D0D74747777777774747477772B -:10F50000BB77BBBB380CE969CFCFCF0CCF483648AF -:10F51000CB48CBCB699157892D0C696944BF44E92D -:10F520004464BB1E1E1E1E77772B79792BC8C80D2D -:10F5300076E841411379797640404076767679795C -:10F54000313176404040E2E24031337D5295A013A4 -:10F550003131E231E240404011401112225773FF35 -:10F560009797974A0000000000000000EC971C1CD1 -:10F57000FF979773974870707070CF606640133133 -:10F580003131314540E6ACAC24DBE132E6E24545C1 -:10F59000E8E8DC8706E84545E8E8E84545E8E8E8C6 -:10F5A0004506E813317667E3FCB0747777747474BA -:10F5B0007777777774747438772B77BBABBBE9CDEB -:10F5C00069CFCFCFCF696936CBCB696D69691CE64E -:10F5D00091EC69690C78E5D1AB6D6D1E64641E1EFB -:10F5E0001E772B792B2BC8C80D79305D41137976A6 -:10F5F00076404040767676797931317940404031B5 -:10F60000139F3C524C9F31E231313140404040E247 -:10F610003111404011122257731CFF1C97631500D3 -:10F6200000000070004A1C1C1C1CFF977397487058 -:10F6300070700090422B31313131313131B36AACCD -:10F640006AE1DBE1572411454545E8DC8706E845DA -:10F650004545E8E84513E8E8E81331315E7667E3AD -:10F66000FC5B0DC8C8C80D777777777777777477A5 -:10F6700077772BBB7764BB1E0CCDCFCFCFCF69CBB9 -:10F680004869EC432ACBEC97ED78D3696969BFE50B -:10F690005BC5BBE9BBD1641EE91E772B797979C8BC -:10F6A0000DC85E41F3411376764040404040767984 -:10F6B00031317979404079C57D95957DDC7940403F -:10F6C000E2313131404040E24545114040401112A5 -:10F6D0007357971C1C1C1C1C91EC48000000911CCB -:10F6E000891C1C1C1C971C7070700091425A7E3142 -:10F6F0003131313131E2F51AAC57DBDB8C94F1E278 -:10F70000314545E8E84187E845314545E84531134D -:10F7100013133131317620E3FCB046C8C8C8C8C8DD -:10F72000C8C8C87777777738772BBB777774BBBB38 -:10F7300013E969CFCF4F69D3480C0C434D69CBEC2B -:10F7400097902D0C0C782DD3E5D825201EBBD1AB7E -:10F75000E94EE97779797979C80D765E7CF34113C2 -:10F7600076764040404040767979767913330F952C -:10F77000524C8E87457E7E404040E231E2407E40E2 -:10F78000E231404040404040E212FFE6731C1C89D9 -:10F79000891C1C63FA4A07898989891C1C1C971CCF -:10F7A000700070071A1A74313131313131314066CD -:10F7B000ACAC24DBDB246AD131313145E8E8D7E851 -:10F7C000E845453131E845315E5E5E7976765BFC31 -:10F7D00052D846747446C8C8C8C8C8C877777777FF -:10F7E00074BB2B7777777477DCDC1ECFCFCF4F6974 -:10F7F000D30C692D4D2DCBCBEC97E1D3690CAEBF6B -:10F800002D642FAF25641EBB1EE9E91E777979139D -:10F8100013790D765E7CF37C137976400D0D0D40E7 -:10F820004076135B0F526CCEB133138787E27E7E36 -:10F8300040404076E240407E4040407E4040404074 -:10F840004040E268918173891C1C89636363636330 -:10F850006389891C1C1C1C1C97CBCB89E660781122 -:10F8600031313131313131B36A6A6A8CDBDB329448 -:10F870007931313145E8E8D7E84545453131315EE8 -:10F88000315E5E5E79765B65E320C846747474779A -:10F89000C8C8C877777474BBBB7477BB771E77749E -:10F8A000790EBB640CCFCF36696948362AD3CB4872 -:10F8B00048691C2478696D78D30CBFE55B25D86D49 -:10F8C000E9E90CE91E7779DC5DE8790DC85E413D18 -:10F8D0005DE87640400D0D4079F2FB526552935B36 -:10F8E000797E40E8873140407E4040404040407E45 -:10F8F0007E7E40407E404040404040401134D373C3 -:10F900007363FA07CACA2D2D2D2D2DCACAFA636357 -:10F91000FF73977322FE973431313131313131E247 -:10F92000B4AC6A94DBDBDB57E6113131313145E8A9 -:10F93000E8E8E845453131313131315E7979F265B8 -:10F9400037B37676C874747474747474383838380D -:10F95000BBBB38747774C8C8772B1E0C44BBCFCFA1 -:10F96000360C0C48690CCB484848CB89E691690CA9 -:10F9700078690C44E55B5BC5BB0C0CE9E91EAB3355 -:10F980006B4179797976E87C3DF3E879797933AF21 -:10F99000FBCE52CE0F5B3176407E7EE213E24040DA -:10F9A000407E7E40404040407E7E7E407E7E7E7E29 -:10F9B00040404040E2117E5969D338744646686839 -:10F9C00002020202DD464674E9CAFAFF221A906872 -:10F9D000E2E2313131313145405AACAC32F1DBE158 -:10F9E00094E1113131313145E8E8E8E85E313131F7 -:10F9F0003131315EB379B1657176C8C8C8C8467413 -:10FA00007474743838387777387777381E77C887C2 -:10FA10002B1EE90C0C69440CCBCB692D0C484869B2 -:10FA200048487070CA5A5AAE0C78690C44E55B5B62 -:10FA3000C5D16D1E1E7777136B5D13797931E8415F -:10FA40003D7F28930FFBE3E3E3FBF213797640401D -:10FA500076407E347E40407E7E7E7E7E40407E408C -:10FA6000407E7E7E407E7E7E7E7E4040E20D121293 -:10FA700046DD461254CDCDCFCFCF4F4F4FCD545949 -:10FA800046DD5FC938891C34E240E2313131313121 -:10FA900031766A6A6A24F1DB8C6AB4E23131313141 -:10FAA000E8E8E8E85E313131313131797913FB65CD -:10FAB0002CC8C8C8C8C8C846464677747438387752 -:10FAC0001E381E38381E770E0E1EE90C0C69696947 -:10FAD00069CBCBCBBB690C48CB0C70707069CAED9D -:10FAE0006590CA690C44D1D1D825C5BBBB2BB313D3 -:10FAF0001616136767202528ADB6F0F0214C7DAFB0 -:10FB0000D1790D0D0D7679797676400D340D404022 -:10FB10007E7E7E7E7E4040404040407E7E7E7E7E79 -:10FB20007E7E7E40E26874DDDD744ECFCFCFCFCFD6 -:10FB3000CFCF363636A9A9A9A9A94F5474C95F7485 -:10FB40001234E2E23131313131E2D8AC6A94DBF186 -:10FB5000DB2494B3313131313131E8E8E85E3131C1 -:10FB600031313179761337FCF276C8C8C8C8C87706 -:10FB70007477467774383838383838383838381326 -:10FB8000B52B6DE90C0C6969CFCBCBCBCB44CB69E2 -:10FB9000E9BB1E70707069366DF15A5AE12CA0B045 -:10FBA000E5B4C7285BE5B45B6E6B8E8E934C4C213D -:10FBB000B6B6AD287FF34113400D0D0D0D0D7676D1 -:10FBC000797676400D340D40407E7E7E7E4040400A -:10FBD0004040404040407E7E7E7E7E7E7E114E7460 -:10FBE00012CD5454CDCDCFCFCF4F4F4F1FA9A9A980 -:10FBF000A9A93B3B3B3B5412765E1934E2E231311A -:10FC00003131405A6A6AE6F1DBDB32667631315FC8 -:10FC10003131315EE85E3131315F76767620E31046 -:10FC20005B76C8C8C8C8C8777474747474743812A2 -:10FC30004E38384E4E3838776E331E44E90C0C443B -:10FC4000E9CBCBCBCB36E9484869E94470707036D4 -:10FC500048D3D3CB78533C4C71BEE3F0F0213771DD -:10FC60008E6E8E8E0F0F93C725417C7C7CF3F34103 -:10FC700013760D0D0D0D0D4076797676407E340DA0 -:10FC800040407E7E7E7E7E4040404040404040403E -:10FC90007E7E7E7E7E7E40404FCFCD544ECDCDCDFC -:10FCA000CFCF4F4FA9A9A9A9A9A9A908083B545486 -:10FCB0005912465E767E3131313131766A6A6A2474 -:10FCC000F1DBDB942411315F5F5F31315E135E5EE7 -:10FCD000315F7676765B1037D1762BC8C8C8C8C836 -:10FCE000777474383874383812545454544E383841 -:10FCF0002B13E9BB6D0C0CD3446DCFCBCBCB360CA7 -:10FD0000707069CB384870707070363648CBAB0372 -:10FD1000BFAEBF5B8EAFAFAFD12B2BABB320D74104 -:10FD2000D75E315EE8417CF341D731400D0D0D0DBA -:10FD30004076767676400D343440407E40407E7E7C -:10FD400040404040404040E2407E7E7E7E7E7E409D -:10FD5000400D4FCD541254CDCDCFCF4FA9A9A9A955 -:10FD6000A9A9A9A908083B5454596874C974403119 -:10FD7000313131E2D8AC946ADBF1DBE16AB41131A4 -:10FD80005F5F5F5F315E135E3176767676AFFC0F34 -:10FD9000797676C8C8C8C81977747474747474385E -:10FDA00012545454545454381E1EE90C6D0C696995 -:10FDB0000C0C69CBCBCBCB360C707048CBE9CB00AD -:10FDC0007070696948690C2D2D6DBF1EB3641EBB30 -:10FDD0006464C87777C85E2013B3C80D0D7631D739 -:10FDE0007C7C41E876400D0D0D4040767676400DE6 -:10FDF000343440404040407E7E40407E7E7E7E40A7 -:10FE00004040407E7E7E7E7E407E1134CF4E4E1E30 -:10FE10004ECDCDCF4FA9A9A9A9A9A9A9A90808087C -:10FE200054545968DD3868E2E231313140E16A6AA0 -:10FE300057F1F1DB246AB35F315F5F5F5F315E5E74 -:10FE40005E31767676B1FCB179767976C819464618 -:10FE50007474743838747438125454545454545458 -:10FE60004EE90C0C0C69696969690CCFCBCBCBCB23 -:10FE70003644707070700C360070702D0CCBD30C43 -:10FE800069CB0C78BBD16D6D441E77C8C8C8C82B30 -:10FE90002BC8777468340D7631417C41D731760DAB -:10FEA0000D0D0D40404040400D343440407E4040F8 -:10FEB0007E7E40407E7E7E7E404040407E7E7E7ED6 -:10FEC0007E4040E2310D4E676738CDCDCF4FA9A9B6 -:10FED000A9A9A9A9A9A9080808545468465468E220 -:10FEE000E2313131314094946A24F1F1DB3294767D -:10FEF0005F5F5F5F5F5F315E5E5E5E765EFB105BE5 -:10FF000076795E7979C846747474747438123838A6 -:10FF10001254545454CD54544E4E0C0C69690C690F -:10FF200069690C440C36CBCBCBCBBB000000000C7A -:10FF3000367070702D0CCBD32D69690C0CBB41440D -:10FF4000E96D1E1E1E2BC877C82B7712121268345B -:10FF50000D76E8414141E831760D0D0D40404040BD -:10FF6000403434347E7E7E7E7E7E7E7E7E7E7E7ECD -:10FF70007E7E40407E7E347E347E4031454531DC9D -:10FF8000172B4E54CDCD4FA9A9A9A9A9A9A9A90854 -:10FF9000080854B2B25434E2E2E2E23131E2D16A0A -:10FFA000576ADBF1F1DB325ADD5F5F5F5F5F5F5FF6 -:10FFB000315E5E5F13E3E320767679797976C8C89F -:10FFC00046747474383812125954541254CDCDCD2D -:10FFD000CD544E0C6969E90C696969CBCBCBCBCBAD -:10FFE000CB366944700000000C367048702D0C361A -:10FFF0006DE96969690C20F3D1E90CE91E1EBB6447 +:10318000B001B0016D00B001B001B001B001B001FB +:10319000B001B001B001B0016D0014016D00B001CB +:1031A000B001B001B0016D00B001B001B001B001DB +:1031B000B0016D008F01B001B0013701B0016D00A9 +:1031C000B001B0016D006378682B19BF41F0800138 +:1031D000013441F0C001023499E741F480710134B7 +:1031E00095E741F40071013491E741F480710134B5 +:1031F0008DE700BF972C0100782800F0D581582872 +:1032000000F054816F2800F0D181622800F0D08155 +:1032100021F01003692826D111F4806F40F0C0819D +:103220000A2213F4007F24D113F4807F44D113F0D9 +:10323000400F57D113F0800F14BFB6F9001031685A +:1032400004360593049503970292CB0F019300294E +:10325000B8BF494200910A9B5A460B994846AC4D6B +:10326000A847834652E1642800F0568119460A2295 +:103270001FE1F11D21F0070101F108060868496806 +:10328000089307950697049200230593CB0F0293AA +:1032900002460B46002873F1000109DBCDE900234B +:1032A0000A9B5A460B9948469A4DA84783462DE1FA +:1032B000424263EB4303F1E706F1040831680593EA +:1032C000049503970292CB0F01930029B8BF49429E +:1032D00000910A9B5A460B9948468D4DA847834654 +:1032E000464613E131780436ABE7F11D21F00701C2 +:1032F00001F10806089307950697002304920593A9 +:103300000293D1E90023CDE900230A9B5A460B9989 +:103310004846804DA8478346F8E006F10408059327 +:1033200004950397029200230193336800930A9B4C +:103330005A460B994846764DA84783464646E5E0EF +:1033400031780436D4E011F0020F40F0EA80012D0C +:1033500040F203810BF1FF372F444FF020085A460B +:10336000551C0A9B0B994046C8472A46BD42F7D1D7 +:10337000371D05F1010B0A9B2A460B993078C84787 +:103380003E46013416E60C9EBB46FAE7331D0E930B +:1033900033681A460C93002F14BF3B464FF0FF339F +:1033A0001078002800F0DB8012F8016F0EB1013BAD +:1033B000FAD10C9BD31A0D9311F4806A03D0BB424F +:1033C00028BF3B460D9311F002030F9340F0CE80CF +:1033D0000D990B4601338D4240F2C38005EB0B087B +:1033E000A8EB01085A46561C0A9B0B992020C84797 +:1033F00032464645F7D16B1C0D930C9B187800287C +:1034000000F0B280DDF830803246564609E01F46B3 +:1034100002F1010B0A9B0B99C84718F8010F30B154 +:103420005A46002EF4D07B1E002FF0D193460F9BFE +:10343000002B40F09F8001340E9EBBE5351D41F00E +:10344000210105910823049303971023029300237D +:103450000193336800930A9B5A460B9948462C4EB9 +:10346000B047834601342E46A4E50BF101050A9BC3 +:103470005A460B992520C8470134AB469AE50BF113 +:1034800001050A9B5A460B99C8470134AB4691E5A2 +:103490000A9A93452CBF02F1FF325A460A9B0B99B8 +:1034A0000020C847584611B0BDE8F08F41F0200118 +:1034B000102221F00C0311F4806F07D021F00D03CE +:1034C00069283FF4AEAE64283FF4ABAE13F4007F3E +:1034D0007FF40BAF13F4807F7FF41FAF13F0400F26 +:1034E0007FF42EAF13F0800F14BF3188316804369B +:1034F00005930495039702920023019300910A9B80 +:103500005A460B994846024DA8478346013451E577 +:10351000592E0100DD2E010011F4806F3CD10A22EA +:103520007FE6331D0C930BF101070A9B5A460B995A +:103530003078C847012D7FF626AF05EB0B0A4FF018 +:1035400020083A46561C0A9B0B994046C84732460B +:10355000B245F7D1AB440C9E13E75D4608E70C9AE1 +:1035600027E70D935E4648E7B34664E75E460028CA +:103570007FF448AF0D9A95427FF65DAF5D44AD1A7A +:103580005A46202602F1010B0A9B0B993046C84788 +:103590005A46AB45F6D14EE721F011030A2240E628 +:1035A00021F011030A223CE6102282E7082280E77C +:1035B00002227EE710B582B0009313460A46014608 +:1035C0000248034CA04702B010BD00BF8F2C010081 +:1035D000992F010008B518210448054B9847054B61 +:1035E00000221A7001225A7008BD00BF806C0020B2 +:1035F000E11E0100B86B0020F0B583B03748384BAE +:10360000984710B30446354E364D237D03F007032B +:10361000032B30DD21463046A84704460028F4D16C +:103620002E48314B98470546304B9847002852D1D9 +:103630002F4B0093E5222F4903202F4CA0472A4609 +:1036400000232E482E498847FEE724482D4B9847F3 +:103650000546264B984760B9254B0093D322254950 +:103660000320254CA0472A460023244824498847A4 +:10367000FEE75DB91FE021461848234B98470546F1 +:103680001A4B9847D0B1B5B1002CC9D01F4C0126B8 +:1036900026704FF4FA732B600027AF602B7D032256 +:1036A00062F302032B754FF0FF332B61184B9847E1 +:1036B0006860EF60A670284603B0F0BD0C4B009325 +:1036C000DB220C4903200C4CA0472A4600230B4860 +:1036D0000B498847FEE7002DD8D1ECE7806C00202D +:1036E000911F0100A51F0100451F01009922000044 +:1036F00094940200BC94020045220100C03F0200E5 +:10370000A1220000F91E0100FD1F0100B86B00207E +:103710004110010010B5044601460948094B98477D +:103720000122094B1A702046084B9847084B1B682A +:103730009C4200D010BD0122034BDA70FAE700BFB3 +:10374000806C00207D200100B86B0020AD240100BA +:103750004C6D002010B504464068124B9847236812 +:10376000984201D2002010BD0F4B984760600F4B6C +:103770000022DA709A70A3682BB1204698470B4B51 +:10378000D87800B110BD2369002BC4BF03F1FF330B +:10379000236123690BB10120F4E72046044B9847CD +:1037A000012010BD5910010041100100B86B00202C +:1037B000153701002DE9F843584B1B79002B40F0D9 +:1037C000A980564B01221A715B782BB90022534B0A +:1037D0001A710120BDE8F883514B98474F4B986010 +:1037E00000261D46DFF84C814E4CDFF850916DE00D +:1037F0002760002609E04C4B9847AB7833BBEB7849 +:1038000023BB2B78002B5FD127602168F1B14046A4 +:10381000C84707462068037D13F0070316D0864289 +:10382000E6D0052BE7D0002E42D0027D02F0070241 +:10383000337D03F007039A42DFDD3B4B98470028B6 +:10384000DBD0AB7813B9EB78002B2FD0334CA068CA +:10385000364DA847E3680344E3602069A847B0F504 +:10386000FA7F15D3E268642303FB02F3304AA2FB1C +:103870000323C3F34713642B9ABFC3F16403DBB282 +:103880000023264C23750023E360254B98472061D5 +:103890004FF0FF32214B9A612648274B9847044648 +:1038A000002831D0214F1D4E224D1DE026680DE02D +:1038B0001D4B98470028A0D0AB78002BC6D1EB78E1 +:1038C000002BC3D1266801E000262E700023EB7088 +:1038D000AB704046184B9847206096E72146284633 +:1038E000164B9847044678B1237D13F0070FF5D0A7 +:1038F0006068B8472368984234BF1B1A0023B26936 +:103900009A4288BFB361E9E7044B00221A719869B3 +:10391000BDE8F8830120BDE8F88300BFB86B002044 +:10392000411001004C6D0020553701005910010075 +:10393000D34D6210806C0020911F0100A51F010073 +:103940002DE9F843037D03F007038B4231D00D4688 +:10395000884681461848194B9847044618B3037D9A +:1039600003F007039D420BDA134F154E21463846EC +:10397000B0470446B8B1237D03F007039D42F5DB51 +:10398000A14505D0224649460B480E4B984754B1F5 +:1039900001220D4B1A7099F8143068F3020389F86C +:1039A0001430BDE8F883002249460348054B984788 +:1039B000EEE7BDE8F88300BF806C0020911F010096 +:1039C000A51F01007D210100B86B00202DE9F04109 +:1039D00082B080460F4616461D46104B9847044657 +:1039E0000F4B984760B13CB1C4F80880276031465E +:1039F00020460C4B9847E560204602B0BDE8F081B8 +:103A0000094B00934FF4837208490320084DA847DF +:103A100022460023074808498847FEE7F935010098 +:103A20009922000041390100AC940200BC940200CC +:103A300045220100C03F0200A122000010B504464B +:103A4000034B98472368DB430344636010BD00BF0A +:103A500041100100037813F0800F01D1012070475D +:103A600003F0E002C02A0AD003F0F002E02A08D0F6 +:103A700003F0F803F02B0CBF042000207047022055 +:103A80007047032070477F2816D982B0B0F5006FC9 +:103A900013D2C0F3841363F03F038DF8043000F0B9 +:103AA0003F0060F07F008DF8050000238DF80630A0 +:103AB0008DF80730019802B07047B0F5803F15D2FD +:103AC000C0F3033363F01F038DF80430C0F3851394 +:103AD00063F07F038DF8053000F03F0060F07F0059 +:103AE0008DF8060000238DF80730E3E7B0F5881F56 +:103AF000E0D2C0F3824363F00F038DF80430C0F3CB +:103B0000053363F07F038DF80530C0F3851363F050 +:103B10007F038DF8063000F03F0060F07F008DF8E5 +:103B20000700C7E782B0019010F0800F17D09DF812 +:103B300004309DF80520120402EB03629DF8063064 +:103B400002EB03229DF807301A44042312F0FF0F02 +:103B500008BF120A013B13F0FF03F7D1019201984D +:103B600002B0704770B483B0002301930C4651B18A +:103B70002268835C13F0800F07D11846013222605F +:103B800003B070BC704701ACF2E703F0E001C0295C +:103B90000BD003F0F001E02919D003F0F801F0296F +:103BA00033D0013222600020EAE7511C2160405CE2 +:103BB00000F0C001802901D00020E1E79B0103F45F +:103BC000F86300F03F00184402322260D8E7511C2D +:103BD0002160415C01F0C005802D01D00020CFE7BD +:103BE000951C2560405D00F0C005802D01D00020AF +:103BF000C6E71B039BB200F03F000344880100F4BA +:103C00007C60184403322260BAE7511C2160415C99 +:103C100001F0C005802D01D00020B1E7951C256082 +:103C2000455D05F0C006802E01D00020A8E7D61C17 +:103C30002660865D06F0C000802801D000209FE746 +:103C40009B0403F4E013090301F47C300343A8014F +:103C500000F47C6006F03F063044184404322260D1 +:103C60008EE70000F0B583B006460D460B68013BB9 +:103C70000B6004240E4F05E001382860631E13F02A +:103C8000FF0408D0286830443B68984728B9286862 +:103C90000028F1D109E0002007E02B6802A941F8D3 +:103CA000043D034B5B683046984703B0F0BD00BF4E +:103CB000540000202DE9F0410E4691B10746002442 +:103CC0002546DFF824803819D8F8003098470028B6 +:103CD00008BF012004440135AE42F4D12046BDE8BE +:103CE000F0810C46FAE700BF54000020F0B583B025 +:103CF000002301930D4669B106461C46064F01A9F3 +:103D000030467B6898470134019BAB42F7D320468D +:103D100003B0F0BD0C46FAE75400002070B582B045 +:103D200000230193037873B104460025074E01A9CF +:103D30002046736898470135019BE35C002BF6D160 +:103D4000284602B070BD0025FAE700BF54000020ED +:103D5000232904D00378012B15D000207047037865 +:103D60001BB90123037018467047012B03D0022BA7 +:103D700005D00020704700230370184670470023C9 +:103D8000037001207047202903D102230370012012 +:103D900070470120704700002DE9F04F91B0059168 +:103DA000069207939DF8683004930890002800F06D +:103DB000F080002900F0EF8013F0120F17D0037885 +:103DC0000A2B00F0EA800D2B00F0ED80002B00F0B4 +:103DD000EC8001460022013211F8013F0A2B00F06D +:103DE000DD800D2B00F0DA80002BF4D1D7E0049BAE +:103DF00003F002031A460B9347F618430799002A6B +:103E000018BF1946079100238DF83F300E93DFF855 +:103E1000AC91DFF8ACA178E0019A21460598644B9B +:103E200098470544ADB200B2002802DD069B1D4450 +:103E3000ADB22DB2B7F1FF3F38D0A4F10A02162A75 +:103E40003BD85C4BD34013F0010F39D101232C2216 +:103E5000944235D00133DBB21AF80320002AF7D19F +:103E6000B7F1FF3F08BFAB460C9E0D9B0C93039B25 +:103E70000293019C18F80630002B6ED0D9F804305C +:103E80000DA9404698470190029B01330393049B80 +:103E900013F0010FC0D021460DF13F00464B98476B +:103EA0000028B9D00C9E0D9B0C93E0E7069BEB1A03 +:103EB000099A9342C8BF3746BFE701232C22C7E7C0 +:103EC000002E4AD1B7F1FF3F4AD1AB46029B23B146 +:103ED0000D2C03D1019B0A2B00D10C9EB6B2079B7F +:103EE000A3EB0B0B0FFA8BF30793002E3AD00E9F28 +:103EF0003E440E96089A13780A2B3FD00D2B3DD0E6 +:103F0000935D0A2B38D00D2B36D00E9B0A9308995F +:103F100001EB0308CB5C002B30D0079B002B2DDD81 +:103F2000B8F1000F1ED047F61843079A0B990029E5 +:103F300008BF1346099300260C960D96D9F8043055 +:103F40000CA94046984704460C9B0D93B3464FF08E +:103F5000FF370296354601968CE7B7F1FF3FB5D0A3 +:103F60000A9B3BB10E9B5BB9144B5B680EA908988A +:103F7000984703E0BEB2B2E701360E960E9B13B12E +:103F8000BDF838000CE00D4B5B680EA90898984707 +:103F9000F6E7002004E0002002E00022013290B2A7 +:103FA00011B0BDE8F08F0022F8E70022F7E700BF6C +:103FB0004900010009004000513D0100540000206B +:103FC000FC9402002DE9F04F85B0002840D0054652 +:103FD000002A3FD0002003908DF80B0049B19B468A +:103FE0000192894600241C4F9DF838A00AF0010A6E +:103FF0000CE0044628E0424631460198174B9847AA +:1040000003B2002B02DD5C44044424B2039B9945B7 +:1040100015D97B6803A92846984706467B68002186 +:104020000398284498478046BAF1000FE3D0314600 +:104030000DF10B000A4B98470028E7D1DBE7002C75 +:1040400002DDA4EB0B0424B2204605B0BDE8F08FDE +:104050000024F9E70024F7E754000020490001009C +:10406000513D01002DE9F04F89B0BDF9484006945B +:10407000BDF94C509DF850800024048044800029F4 +:104080005BD00F46002A58D0039311460292044693 +:1040900008F0020347F61842002B18BF1546049596 +:1040A000B1F9082007921FFA82FA3B78002B4CD016 +:1040B0003E460025DFF8B0B0069B9A441FFA8AF905 +:1040C0004746B0460097049B039A02993046D8476A +:1040D0000544B4F902300AEB0302B2F5004F24D2D2 +:1040E000CDF814904B4463800097039B029A0146DD +:1040F0003046184EB047B4F900309842B8BF184661 +:10410000208008EB050618F80530002BDAD12DB118 +:1041100016F8013C0A2B13D00D2B11D0B4F9023044 +:104120009BB1069A9B1A638007E00B4B00930B4BE5 +:1041300071220B4902200B4CA04709B0BDE8F08F5B +:104140006388059A1A446280E8E7BDF81C306380F2 +:10415000F3E700BFC53F01002C950200E894020080 +:104160000495020045220100993D01002DE9F04728 +:1041700081468A461F46DDF82080144632B9002069 +:10418000BDE8F087002814DA2C467CB1650807FBEF +:1041900005A631464846C0470028F3DD84F00104F7 +:1041A00004F001042C1B06EB070AEEE70020BDE833 +:1041B000F0873046BDE8F087014B1860704700BFBC +:1041C000D46B0020014B1B68D8687047D46B00206B +:1041D00008B5024B1B681B68984708BDD46B0020CC +:1041E0002DE9F84304460139272934D8DFE811F0D6 +:1041F00028003900EC00A10053006000A303D800A0 +:104200004401B2024600CC037302FE03DC00E0006E +:104210008100E4009301E80047026602E3036A01BB +:104220007C013F02A00123021F01750391030801D5 +:10423000B800E002C901F4014703040212033A0383 +:1042400000219B4B9847002120469A4B98479A4B58 +:1042500019689A4B9847FF212046994B9847BDE82B +:10426000F8830021924B984700212046914B9847B4 +:10427000914B19680431914B9847ECE700218C4B26 +:104280009847002120468B4B98478B4B1968043187 +:104290008A4B9847DFE70021854B9847002120464D +:1042A000844B9847844B19681031844B9847D2E768 +:1042B0000021DFF8FC81C047002120467D4FB84730 +:1042C00081467D4E316804317C4DA84731681831F4 +:1042D0004846A84701212046C04701212046B8474B +:1042E000074631680431A847316808313846A84785 +:1042F000B1E70021DFF8B881C047002120466D4FAB +:10430000B84781466C4E31686C4DA84731686831BA +:104310004846A84701212046C04701212046B8470A +:10432000074631680431A847316808313846A84744 +:1043300091E70021DFF87881C047002120465D4FDA +:10434000B8475D4E316824315C4DA84701212046B5 +:10435000C04701212046B84731682831A8477AE78D +:104360000021DFF84C81C04700212046514FB8475B +:10437000514E31682431514DA84701212046C04794 +:1043800001212046B84731682831A847022120463C +:10439000C04702212046B84731689C31A8475AE7F8 +:1043A0000021434B984756E70021414B984752E77D +:1043B00000213F4B98474EE700213D4B98474AE785 +:1043C00000213B4B984746E70021DFF8E480C047D7 +:1043D00000212046374FB8478146374E31680431B7 +:1043E000364DA847316820314846A847012120466C +:1043F000C04701212046B84731681C31A8472AE749 +:104400000021DFF8AC80C04700212046294FB84783 +:10441000294E31682031294DA84701212046C04747 +:1044200001212046B84731681C31A84713E7002115 +:10443000DFF87C80C047002120461E4FB8478146E8 +:104440001D4E316824311D4DA847316894314846CE +:10445000A84701212046C04701212046B8473168BE +:104460002831A84702212046C04702212046B847EC +:1044700031689031A847EEE60021DFF83480C0476C +:10448000002120460B4FB8470B4E31684C310B4D85 +:10449000A84740212046C04740212046B84707464C +:1044A00031681031A847316850313846A847D2E604 +:1044B000B5300000E52F0000D86B0020C16500007A +:1044C000813A000000219F4B9847002120469E4BD7 +:1044D000984707469D4E316804319D4DA847316885 +:1044E0007C313846A847B6E64021DFF85882C047FD +:1044F00040212046944FB847944E31681831944D6E +:10450000A84741212046C04741212046B84731688D +:104510001031A8479FE600218A4B9847002120468A +:10452000894B9847894B19686C31894B984792E6BB +:104530000021DFF81082C04700212046824FB84793 +:10454000824E31680431824DA84740212046C04741 +:1045500040212046B84731681431A8470121204640 +:10456000C04701212046B84731688031A847022161 +:104570002046C04702212046B84731688431A84709 +:1045800069E600216F4DA84700212046DFF8B88179 +:10459000C0476E4F39686E4EB04740212046A8474D +:1045A00041212046A84741212046C0473968A8310B +:1045B000B04743212046A84743212046C0473968D9 +:1045C000AC31B04742212046A84742212046C0478F +:1045D0003968A431B0473EE600215A4DA847402132 +:1045E0002046A84740212046574B9847574B19680B +:1045F000B031574B98472EE60021DFF84881C0477D +:1046000000212046504FB847504E3168504DA847C2 +:1046100001212046C04701212046B847316880313A +:10462000A84702212046C04702212046B8473168EA +:104630008431A8470FE60021DFF80881C047002138 +:104640002046414FB8478146404E31680431404DC5 +:10465000A847316888314846A84703212046C0470B +:1046600003212046B84731688C31A847F3E5002183 +:10467000344B984700212046334B9847EBE5002107 +:10468000304FB84700212046DFF8BC80C047814644 +:104690002E4E316804312E4DA8473168743148469A +:1046A000A84740212046B84701212046B8470121AC +:1046B0002046C04731688031A847CCE50021214B16 +:1046C000984700212046204B9847204B19687831A5 +:1046D0001F4B9847BFE50021DFF86880C0470021E5 +:1046E0002046194FB8478146184E31680431184D9D +:1046F000A847316808314846A8473168183148460C +:10470000A84740212046C04740212046B84781465F +:1047100031680431A847316854314846A8474121DF +:104720002046C04741212046B84731688031A8471C +:1047300042212046C04742212046B84731685831BF +:10474000A84788E5B5300000E52F0000D86B0020B1 +:10475000C16500000021DFF89082C047002120469B +:104760009E4FB84781469E4E316804319D4DA84703 +:10477000316840314846A847316818314846A84753 +:1047800001212046C04701212046B84781463168B3 +:104790001831A847316844314846A84702212046CD +:1047A000C04702212046B84731684831A84752E542 +:1047B0000021DFF83482C04700212046874FB847E8 +:1047C000874E31680431874DA84701212046C047F4 +:1047D00001212046B8473168A031A8470221204670 +:1047E000C04702212046B8473168A031A8470321BD +:1047F0002046C04703212046B8473168A031A8476A +:1048000004212046C04704212046B8473168A03122 +:10481000A84720E50021DFF8D081C04700212046CD +:104820006E4FB8476E4E31686E4DA8474221204604 +:10483000C04742212046B84731688031A84741210E +:104840002046C04741212046B8473168B031A847CB +:1048500040212046C04740212046B8473168A83152 +:10486000A847F8E40021604B9847002120465B4BA5 +:1048700098475B4B1968A4315A4B9847EBE40021E9 +:10488000DFF86481C04700212046544FB847814675 +:10489000534E31680431534DA847316818314846AA +:1048A000A84704212046C04704212046B847316864 +:1048B000B831A84703212046C04703212046B84706 +:1048C0003168B431A84701212046C0470121204664 +:1048D000B84731688031A847BDE40021DFF808817E +:1048E000C047002120463D4FB84781463C4E3168C5 +:1048F00004313C4DA847316818314846A847032188 +:104900002046C04703212046B84731689831A84760 +:10491000A1E40021344B9847002120462F4B9847B3 +:1049200007462F4E316804312E4DA84731680831B3 +:104930003846A8478FE40021DFF8AC80C04700214B +:104940002046264FB847264E31680431254DA847EA +:1049500003212046C04703212046B84731682C3147 +:10496000A84701212046C04701212046B8473168A9 +:104970003031A84702212046C04702212046B847CF +:1049800031683431A84766E40021DFF85C80C04715 +:1049900000212046114FB847114E31683831114D72 +:1049A000A84701212046C04701212046B847316869 +:1049B0003C31A8474FE400210B4B9847002120468B +:1049C000064B98470746064E31680431054DA84707 +:1049D000316870313846A8473DE400BFE52F00003C +:1049E000D86B0020C1650000B53000000021DFF861 +:1049F0005480C047002120460F4FB84781460F4ED4 +:104A0000316804310E4DA84731685C314846A847EB +:104A100001212046C04701212046B8473168603156 +:104A2000A84702212046C04702212046B8473168E6 +:104A30006431A8470FE400BFE52F0000D86B0020C9 +:104A4000C1650000B530000008B5044B1B7913B9EF +:104A5000034B984708BD034B984708BDD86B00200F +:104A6000C16400004D67000070B5B34C2068B34BC3 +:104A70009847FF222C212068B14B9847236A13F0F6 +:104A8000020314BF1D210821002B15BF3B2012205B +:104A90001E230B234FF0000263F3040260F34A125B +:104AA00061F3CF2229212068A64B98472046236A2C +:104AB00013F0020314BF07211C21002B15BF0F2484 +:104AC0003A2408231D234FF0000263F3040264F329 +:104AD0004A1261F3CF2248F289010068994B984746 +:104AE0009548036A13F0020314BF07211C21002B11 +:104AF00015BF0F243A2408231D234FF0000263F34F +:104B0000040264F34A1261F3CF22792100688D4BCD +:104B10009847894C626948F28E0120688A4DA847FF +:104B200062697E212068A84720680430834B98473B +:104B3000246804340020854B98470A30C000B0F543 +:104B4000A07F80F24686012201212046804B9847B3 +:104B5000794C2068FF222C210430794B984720683B +:104B60000430236A13F0020F40F041860B23182112 +:104B70000E244FF0000264F3040261F34A1263F35F +:104B8000CF2229216F4B98476B4B18681B6A13F093 +:104B9000020314BF1A211021002B15BF3724222431 +:104BA0001C2312234FF0000263F3040264F34A1241 +:104BB00061F3CF2239210430624DA8475E4C206852 +:104BC000A28940F239210430A8472068E28940F2E6 +:104BD00039410430A8472468043400205B4B9847CF +:104BE00028304000B0F5A07F80F2068601223021F7 +:104BF0002046574DA847504C2068012233210430ED +:104C0000A8472068626948F28E0104304E4B9847ED +:104C100020680430236A13F0020F40F0FB851F2345 +:104C20003F211C464FF0000264F3040261F34A1274 +:104C300063F3CF2248F28901424B98473E4C2068EB +:104C400062697E210430404B984720680430236A13 +:104C500013F0020F40F0E3851F233F211C464FF065 +:104C6000000264F3040261F34A1263F3CF22792154 +:104C7000344B9847304B186804301B6A13F0020F0E +:104C800040F0D2851F233F211C464FF0000264F301 +:104C9000040261F34A1263F3CF2248F2A901294BBF +:104CA0009847254B186804301B6A13F0020F40F038 +:104CB000C0851F233F211C464FF0000264F304020D +:104CC00061F34A1263F3CF2299211E4B98471A4C85 +:104CD00020680122902104301D4B98472568043537 +:104CE00000201C4B9847012840F2A8850020174B54 +:104CF0009847C0EB001040005030B0F5A07F80F224 +:104D0000B88501240020114B984728304000B0F5A9 +:104D1000A07F80F2BE850122224412B212212846D1 +:104D20000B4B9847044B1D6804350020094B9847EE +:104D3000012840F2BC850FE0D86B0020494A0100F1 +:104D4000516B00000D6A0000816C0000250F01000E +:104D5000C9680000410F01000020B14B9847C0EB2B +:104D6000001040005030B0F5A07F80F2BB850124D8 +:104D70000020AB4B984728304000B0F5A07F80F270 +:104D8000C1850122224412B213212846A54B98471F +:104D9000A54B1D6804350020A44B9847012840F21C +:104DA000BF8500209E4B9847C0EB0010400050305C +:104DB000B0F5A07F80F2CF8501240020984B984762 +:104DC00028304000B0F5A07F80F2D5850122224432 +:104DD00012B210212846934B9847934B1D68043517 +:104DE0000020924B9847012840F2D38500208C4B3D +:104DF0009847C0EB001040005030B0F5A07F80F223 +:104E0000F48501240020864B984728304000B0F5F7 +:104E1000A07F80F2FA850122224412B21121284695 +:104E2000804B9847804B1C68043400207F4B984788 +:104E3000012840F2F8850020794B9847C0EB00101C +:104E400040005030B0F5A07F80F208860122142186 +:104E50002046744DA847744C20689622B021043037 +:104E6000A84720683922B7210430A84720680C30B1 +:104E70006F4B98472068011D0C306E4B9847206897 +:104E8000236A13F0020314BF1A210821002B15BF57 +:104E9000352412241B2309234FF0000263F304027C +:104EA00064F34A1261F3CF2229210C30624B9847F8 +:104EB0005D4B18680C301B6A13F0020F40F0DE8562 +:104EC000082310211C464FF0000264F3040261F332 +:104ED0004A1263F3CF223921574B9847524B186837 +:104EE0001B6A13F0020314BF06211421002B15BF07 +:104EF00010242A24092315234FF0000263F304022F +:104F000064F34A1261F3CF2248F289010C304A4B14 +:104F10009847454B18681B6A13F0020314BF06211B +:104F20001421002B15BF10242A24092315234FF028 +:104F3000000263F3040264F34A1261F3CF22792181 +:104F40000C303D4B9847384B18681B6A13F002032E +:104F500014BF06211421002B15BF10242A24092375 +:104F600015234FF0000263F3040264F34A1261F365 +:104F7000CF2248F2A9010C302F4B98472A4B1868D2 +:104F80001B6A13F0020314BF06211421002B15BF66 +:104F900010242A24092315234FF0000263F304028E +:104FA00064F34A1261F3CF2299210C30224B9847C7 +:104FB0001D4C206808301E4B984720680830236A33 +:104FC00013F0020F40F05F85092313210A244FF0EC +:104FD000000264F3040261F34A1263F3CF2241F248 +:104FE0002901154DA847104C2068A28940F22911CB +:104FF0000830A847266808363321A0890F4B984708 +:10500000024641F229113046A84720680830236A39 +:1050100013F0020F40F03C850B2318210E240FE003 +:10502000250F0100C9680000D86B0020410F010066 +:10503000494A0100A16700000D6A0000EB1B010056 +:105040004FF0000264F3040261F34A1263F3CF22CB +:1050500042F22901BB4EB047BB4C206800224FF4FE +:1050600098710830B94B9847256808353321A089D5 +:10507000B74B9847024641F239212846B04720688D +:105080000830236A13F0020F40F007850B23192123 +:105090000D244FF0000264F3040261F34A1263F33B +:1050A000CF2241F23901A74B9847A74B18681B6ADA +:1050B00013F0020314BF07210B21002B15BF0F248F +:1050C000192408230D234FF0000263F3040264F354 +:1050D0004A1261F3CF2240F239110830994B9847B8 +:1050E000994B18681B6A13F0020314BF07210B21A8 +:1050F000002B15BF0F24192408230D234FF00002A5 +:1051000063F3040264F34A1261F3CF2241F23911CE +:1051100008308C4B98478C4B18681B6A13F00203BD +:1051200014BF1A210B21002B15BF372419241C236F +:105130000D234FF0000263F3040264F34A1261F39B +:10514000CF2242F2390108307E4B98477E4B1868D7 +:1051500008301B6A13F0020F40F0A4841F233F2184 +:105160001C464FF0000264F3040261F34A1263F339 +:10517000CF2249F28901734DA847734C20684FF044 +:10518000FF3248F289110830A84720684FF0FF32FB +:1051900049F289110830A8472068236A13F00203F6 +:1051A00014BF2A212621002B14BF152313234FF0EF +:1051B000000263F3040261F34A1263F3CF224AF25E +:1051C00089010830A84720680830236A13F0020FCD +:1051D00040F06D841F233F211C464FF0000264F312 +:1051E000040261F34A1263F3CF2249F2A901554D3B +:1051F000A847554C20684FF0FF3248F2A9110830FB +:10520000A84720684FF0FF3249F2A9110830A8479B +:105210002068236A13F0020314BF2A212621002BE1 +:1052200014BF152313234FF0000263F3040261F34C +:105230004A1263F3CF224AF2A9010830A847206836 +:105240002922B6210830414DA84720681030414B33 +:105250009847206847F6FF7201211030A847206860 +:10526000FF222C2110303C4B984720681030236AD5 +:1052700013F0020F40F020840B2318210E244FF06E +:10528000000264F3040261F34A1263F3CF2229217E +:105290002C4B98472C4B186810301B6A13F0020FE8 +:1052A00000F00F8428494B7BDB0803EB830303EBFF +:1052B000830341F6DA352B4403EB032203EBC213DD +:1052C000C3F3C4538A89C2F3451202EB820202EB94 +:1052D000820202F562521A3202EB022402EBC4127D +:1052E000C2F3C554097B01F01F0101EB810101EB01 +:1052F0008101294401EB012201EBC211C1F3C45128 +:105300004FF0000261F3040264F34A1263F3CF2208 +:1053100041F229010B4DA8470B4C2068A28940F2AD +:1053200029111030A847266810364C21A089084B57 +:105330009847024641F229113046A84720681030AC +:10534000236A0BE00D6A0000D86B0020C9680000DA +:10535000EB1B0100494A0100516B000013F0020FE2 +:1053600040F0D9830B2318210E244FF0000264F380 +:10537000040261F34A1263F3CF2242F22901C64BC1 +:105380009847C64B18681B6A13F0020314BF3321F9 +:105390002221002B14BF192311234FF0000263F3C5 +:1053A000040261F34A1263F3CF2242F22911103052 +:1053B000B94DA847B94C2068A28939211030A847B7 +:1053C0002068A28941F239011030A8472068236A79 +:1053D00013F0020314BF22211021002B14BF11234C +:1053E00008234FF0000263F3040261F34A1263F3EF +:1053F000CF2242F239011030A8472468103400202F +:10540000A74B984728304000B0F5A07F80F28783F3 +:10541000012230212046A34B9847A04C206800224F +:105420004FF49E711030A04B984720681030236ACB +:1054300013F0020F40F080831F233F211C464FF0E2 +:10544000000264F3040261F34A1263F3CF2248F2CC +:105450008901914B9847914B186810301B6A13F0E3 +:10546000020F40F06D831F233F211C464FF00002C6 +:1054700064F3040261F34A1263F3CF2249F2890113 +:10548000854DA847854C20684FF0FF3248F28911BE +:105490001030A84720684FF0FF3249F289111030D0 +:1054A000A847206811234FF0000263F30402222171 +:1054B00061F34A1263F3CF224AF289011030A84700 +:1054C00020681030236A13F0020F40F03D831F2341 +:1054D0003F211C464FF0000264F3040261F34A12BC +:1054E00063F3CF2248F2A9016B4B98476B4B1868C6 +:1054F00010301B6A13F0020F40F02A831F233F2154 +:105500001C464FF0000264F3040261F34A1263F395 +:10551000CF2249F2A901604DA847604C20684FF0A6 +:10552000FF3249F2A9011030A84720684FF0FF323E +:1055300049F2A9111030A847206811234FF000024A +:1055400063F30402222161F34A1263F3CF224AF289 +:10555000A9011030A84720681030236A13F0020F09 +:1055600040F0FA821F233F211C464FF0000264F3F3 +:10557000040261F34A1263F3CF227921464B984724 +:10558000464B186810301B6A13F0020F40F0E88297 +:105590001F233F211C464FF0000264F3040261F315 +:1055A0004A1263F3CF2241F279013B4DA8473B4CAD +:1055B00020684FF0FF3240F279111030A847206880 +:1055C0004FF0FF3241F279111030A84720681123C3 +:1055D0004FF0000263F30402222161F34A1263F3E5 +:1055E000CF2242F279011030A847246810340020FD +:1055F0002B4B984700EB8000C0005030B0F5A07FE7 +:1056000080F2B282012212212046264B9847234B7A +:105610001C6810340020224B984700EB8000C0002B +:105620005030B0F5A07F80F2AE82012213212046D7 +:105630001C4B9847194B1C6810340020184B984796 +:10564000C0EB00105030B0F5A07F80F2AB82012299 +:1056500010212046134B9847104B1C681034002033 +:105660000F4B9847C0EB00105030B0F5A07F80F290 +:10567000A7820122112120460A4B9847074B1C683C +:1056800010340020064B984700EB8000800050301B +:10569000B0F5A07F0AE000BF0D6A0000D86B0020C3 +:1056A000250F0100C9680000516B000080F296824E +:1056B000012214212046BD4DA847BD4C206803227D +:1056C00040211030A847206800224C211030B94EEC +:1056D000B04720687F224FF413711030B047206824 +:1056E000A28949211030B44EB0472068E28940F2C7 +:1056F00049411030B04720689622B0211030A847A9 +:1057000020683C22B5211030A84720682922B62104 +:105710001030A84720684C22B7211030A8472068D5 +:105720009622B1211030A8472068002241F2B10131 +:105730001030A84720681430A04B984724681434D0 +:1057400000209F4B9847322800F2668200209D4B34 +:10575000984700EB800080005030B0F5A07F80F2C9 +:105760004C82012214212046904B9847904B186898 +:105770001830924B98470020914B9847322800F2FE +:10578000758200208F4B984700EB8000400050301E +:10579000B0F5A07F80F25B820124854E30682246FE +:1057A00012211830814DA847306822461321183045 +:1057B000A8473068224610211830A8473068224692 +:1057C00011211830A8473068224614211830A84704 +:1057D00070BD00207B4B98470A30C0007A4B83FB9A +:1057E0000023C217C2EBA31212B2FFF7ADB91F23F9 +:1057F0003F211C46FFF7BDB90020724B9847283067 +:105800004000714B83FB0023C217C2EBA31212B2FC +:10581000FFF7EDB907230F210824FFF703BA072389 +:105820000F210824FFF71BBA07230F210824FFF7D5 +:105830002CBA07230F210824FFF73EBA0020614B42 +:105840009847C0EB00105030B0F5A07F02DA012479 +:10585000FFF758BA00205B4B9847C0EB0010503060 +:10586000594A82FB0032C417C4EBA214A4B2FFF75A +:1058700049BA0020534B9847C0EB0010400050300D +:10588000514A82FB0032C417C4EBA214A4B2FFF742 +:1058900039BA00204B4B9847283040004A4B83FBD5 +:1058A0000023C217C2EBA31292B2FFF735BA002051 +:1058B000444B9847C0EB00105030B0F5A07F02DA9F +:1058C0000124FFF755BA00203E4B9847C0EB00106B +:1058D00050303D4A82FB0032C417C4EBA214A4B27C +:1058E000FFF746BA0020374B9847C0EB0010400046 +:1058F0005030354A82FB0032C417C4EBA214A4B264 +:10590000FFF736BA00202F4B9847283040002E4B27 +:1059100083FB0023C217C2EBA31292B2FFF732BA85 +:105920000020284B9847C0EB00105030B0F5A07F06 +:1059300002DA0124FFF741BA0020224B9847C0EB5E +:1059400000105030204A82FB0032C417C4EBA2146E +:10595000A4B2FFF732BA00201A4B9847C0EB0010F0 +:1059600040005030184A82FB0032C417C4EBA21426 +:10597000A4B2FFF722BA0020124B9847283040000B +:10598000114B83FB0023C217C2EBA31292B2FFF7A5 +:105990001EBA00200B4B9847C0EB00105030B0F5FA +:1059A000A07F13DA0124FFF72DBA00BFC9680000F9 +:1059B000D86B0020516B00000D6A0000494A0100BD +:1059C000410F0100250F0100676666660020B54B98 +:1059D0009847C0EB00105030B34A82FB0032C41726 +:1059E000C4EBA214A4B2FFF70DBA0020AD4B984748 +:1059F000C0EB001040005030AB4A82FB0032C417AD +:105A0000C4EBA214A4B2FFF7FDB90020A54B984740 +:105A100028304000A44B83FB0023C217C2EBA31223 +:105A200092B2FFF7F9B900209E4B9847C0EB0010E7 +:105A30005030B0F5A07F02DA0122FFF708BA00204B +:105A4000984B9847C0EB00105030974B83FB0023D6 +:105A5000C217C2EBA31212B2FFF7F9B90020914BA3 +:105A60009847C0EB0010400050308F4B83FB002361 +:105A7000C217C2EBA31212B2FFF7E9B91B233921F7 +:105A80001D24FFF720BA1D233B211C46FFF79FBAB8 +:105A90001F233F211C46FFF7D3BA192333211C468D +:105AA000FFF7F7BA07230F210824FFF75ABB072394 +:105AB0000F210824FFF791BB1F233F211C46FFF74E +:105AC000DEBB7A4D6B7BDB084C2101FB03F303F259 +:105AD000B17303EB032203EBC213C3F3C453AC89CA +:105AE000C4F3451441F2C80201FB042404EB042270 +:105AF00004EBC214C4F3C5542A7B02F01F0201FB5D +:105B000002F101F6CA1101EB012201EBC211C1F34E +:105B1000C451FFF7F5BB1F233F211C4625E400209D +:105B2000604B9847283040005F4B83FB0023C2172F +:105B3000C2EBA31212B26CE40623102109247EE406 +:105B400006231021092491E4062310210924C1E42D +:105B5000062310210924D4E406231021092404E596 +:105B600006231021092416E500204E4B984700EB30 +:105B70008000C00050304C4B83FB0023C217C2EBA7 +:105B8000A31212B23FE50020464B984700EB80007D +:105B9000C0005030444B83FB0023C217C2EBA3125A +:105BA00012B243E500203F4B9847C0EB0010503045 +:105BB0003D4B83FB0023C217C2EBA31212B247E591 +:105BC0000020384B9847C0EB00105030364B83FB19 +:105BD0000023C217C2EBA31212B24BE50020314BD7 +:105BE000984700EB8000800050302F4B83FB002350 +:105BF000C217C2EBA31212B25BE50020294B9847F3 +:105C000000EB800080005030274B83FB0023C2173D +:105C1000C2EBA31212B2A5E50020224B984700EB7D +:105C20008000C0005030B0F5A07F01DA012299E574 +:105C300000201C4B984700EB8000C00050301A4BEE +:105C400083FB0023C217C2EBA31212B28AE5002025 +:105C5000144B984700EB800040005030124B83FB00 +:105C60000023C417C4EBA31424B296E500200D4B07 +:105C7000984700EB800080005030B0F5A07F01DA3B +:105C800001248AE50020074B984700EB8000800044 +:105C90005030054B83FB0023C417C4EBA31424B27C +:105CA0007BE500BF250F010067666666D86B0020A4 +:105CB000F8B5544C20682430534B9847206847F679 +:105CC000FF7201212430514B98472068FF222C217C +:105CD00024304F4B98472068236A13F0020314BF07 +:105CE0001A210821002B15BF352412241B23092358 +:105CF0004FF0000263F3040264F34A1261F3CF220F +:105D000029212430434B98473E4B186824301B6AA6 +:105D100013F0020F6DD11F233F211C464FF00002EC +:105D200064F3040261F34A1263F3CF227921394DFF +:105D3000A847344C2068A28949212430A84720680C +:105D4000E28940F249412430A847206800224C21D2 +:105D500024302F4FB84720687F224FF4137124302E +:105D6000B8472068032240212430284EB0472068DD +:105D70009622B0212430B04720684C22B72124302D +:105D8000B04720682830204B98472068FF222C21FC +:105D90002830B847206847F6FF7201212830B04705 +:105DA0002068A28929212830A847206811234FF0B4 +:105DB000000263F30402222161F34A1263F3CF224B +:105DC00042F229012830A84720682830236A13F0BE +:105DD000020F12D11F233F211C464FF0000264F333 +:105DE000040261F34A1263F3CF227921094B9847E9 +:105DF000F8BD06231021092490E708231021092467 +:105E0000EBE700BFD86B0020494A0100C9680000D9 +:105E1000516B00000D6A000010B5A04C2068903056 +:105E20009F4B98472068FF222C2190309D4B98472C +:105E300020689030236A13F0020F19BF23469A8915 +:105E4000994B1A882921994B9847944B18689030A0 +:105E50001B6A13F0020F40F0A9801F233F211C464C +:105E60004FF0000264F3040261F34A1263F3CF229D +:105E700079218E4B9847894C206847F6FF720121A3 +:105E800090308B4B9847246890340020894B98477A +:105E9000C0EBC0005030B0F5A07F80F28B800122B3 +:105EA00012212046824B98477C4B1C68903400207E +:105EB000804B9847C0EBC0005030B0F5A07F80F217 +:105EC0008780012213212046794B9847734B1C6829 +:105ED00090340020774B9847C0EBC0005030B0F5AD +:105EE000A07F80F28380012210212046704B9847CA +:105EF0006A4B1C68903400206E4B9847C0EBC00082 +:105F00005030B0F5A07F7FDA012211212046684B86 +:105F10009847624C20689430614B984724689434C9 +:105F20000020644B984700EB800040005030B0F5F3 +:105F3000A07F77DA0122172120465D4B9847574B07 +:105F40001C68943400205B4B984700EB80004000B5 +:105F50005030B0F5A07F74DA012218212046544B4E +:105F600098474E4B1C6894340020524B984700EBE6 +:105F7000800040005030B0F5A07F71DA0122152179 +:105F800020464B4B9847454B1C6894340020494BA6 +:105F9000984700EB800040005030B0F5A07F6EDAEB +:105FA000012216212046424B984710BD062310219E +:105FB000092455E700203F4B9847C0EBC000503004 +:105FC0003D4B83FB0023C217C2EBA31212B267E75B +:105FD0000020384B9847C0EBC0005030364B83FB55 +:105FE0000023C217C2EBA31212B26BE70020314BA1 +:105FF0009847C0EBC00050302F4B83FB0023C217E3 +:10600000C2EBA31212B26FE700202A4B9847C0EBF5 +:10601000C0005030284B83FB0023C217C2EBA312F1 +:1060200012B272E70020234B984700EB800040003B +:106030005030214B83FB0023C217C2EBA31212B2D4 +:1060400079E700201B4B984700EB80004000503060 +:10605000194B83FB0023C217C2EBA31212B27CE7D9 +:106060000020144B984700EB800040005030124B4A +:1060700083FB0023C217C2EBA31212B27FE70020FA +:106080000C4B984700EB8000400050300A4B83FBDC +:106090000023C217C2EBA31212B282E7D86B002012 +:1060A000494A0100516B00006C9502000D6A000026 +:1060B000C9680000250F01006766666610B5484C88 +:1060C00020689C30474B98472068FF222C219C3049 +:1060D000454B98472068454B1A8829219C30444BF2 +:1060E0009847206847F6FF7201219C30414B984742 +:1060F00024689C340020404B984714308000B0F551 +:10610000A07F39DA4FF0FF3210212046394B9847F3 +:10611000334B1C689C340020374B98471430800068 +:10612000B0F5A07F35DA4FF0FF3211212046314B18 +:1061300098472B4B1C689C3400202F4B98471430F9 +:106140008000B0F5A07F31DA4FF0FF3212212046F7 +:10615000284B9847224B1C689C340020264B9847BC +:1061600014308000B0F5A07F2DDA4FF0FF321321FC +:106170002046204B984710BD00201F4B98471430F5 +:1061800080001E4B83FB0023C217A2EBA31212B2A6 +:10619000BAE70020184B984714308000174B83FB58 +:1061A0000023C217A2EBA31212B2BEE70020124BCB +:1061B000984714308000114B83FB0023C217A2EBD9 +:1061C000A31212B2C2E700200B4B98471430800094 +:1061D0000A4B83FB0023C217A2EBA31212B2C6E73D +:1061E000D86B0020494A0100516B00006C950200F9 +:1061F0000D6A0000C9680000250F01006766666629 +:1062000038B5884C20687030874B9847206847F62F +:10621000FF7201217030854B98472468703400204C +:10622000834B984700EB800080005030B0F5A07F92 +:1062300080F28E800122122120467C4B9847794BB8 +:106240001C68703400207A4B984700EB8000800077 +:106250005030B0F5A07F80F28A80012213212046C1 +:10626000724B98476F4B1C6870340020704B9847F6 +:1062700000EB800080005030B0F5A07F80F2868077 +:10628000012210212046694B9847664B1C687034E8 +:106290000020674B9847C0EB001040005030B0F52D +:1062A000A07F80F282800122142120465F4B984714 +:1062B0005C4B1C68703400205D4B984700EB8000FD +:1062C00000EB80005030B0F5A07F7DDA0122C021C4 +:1062D0002046564B9847534C2068A289992170302C +:1062E000544DA8472068A289C9217030A84720686A +:1062F00011234FF0000263F30402222161F34A12DA +:1063000063F3CF22CA217030A8472468703400207C +:10631000474B984700EB800040005030B0F5A07F1D +:1063200062DA012290212046404B98473D4B1C6881 +:10633000703400203E4B9847C0EBC0005030B0F5A1 +:10634000A07F60DA0122C3212046384B984738BD30 +:106350000020374B984700EB800080005030364BD0 +:1063600083FB0023C217C2EBA31212B263E7002023 +:106370002F4B984700EB8000800050302E4B83FB62 +:106380000023C217C2EBA31212B267E70020284B0A +:10639000984700EB800080005030274B83FB0023A0 +:1063A000C217C2EBA31212B26BE70020204B984732 +:1063B000C0EB0010400050301F4B83FB0023C2177E +:1063C000C2EBA31212B26FE70020194B984700EB03 +:1063D000800000EB80005030174B83FB0023C21776 +:1063E000C2EBA31212B272E70020114B984700EBE8 +:1063F000800040005030104B83FB0023C217C2EBDB +:10640000A31212B28EE70020094B9847C0EBC000E0 +:106410005030094B83FB0023C217C2EBA31212B208 +:1064200091E700BFD86B0020494A0100C96800000D +:10643000250F01000D6A000067666666F8B5C04C5E +:1064400020685C30BF4B9847206811254FF0000250 +:1064500065F30402222767F34A1265F3CF229921DC +:106460005C30B94EB04720684FF0000265F304027B +:1064700067F34A1265F3CF22C9215C30B047206828 +:10648000A289CA215C30B04724685C340020AF4B3D +:10649000984700EB80005030B0F5A07F80F2688113 +:1064A000012290212046AA4B9847A54B1C685C34DA +:1064B0000020A64B984714308000B0F5A07F80F2F2 +:1064C00065810122C3212046A14B98479C4B1C6843 +:1064D0005C3400209D4B98470A30C000B0F5A07F87 +:1064E00080F261810122C2212046994B9847944B4A +:1064F0001C685C340020954B984700EB80008000BE +:106500005030B0F5A07F80F25B810122122120463D +:106510008F4B98478A4B1C685C3400208B4B984704 +:1065200000EB800080005030B0F5A07F80F25781F2 +:10653000012213212046864B9847814B1C685C340E +:106540000020824B984700EB800080005030B0F56F +:10655000A07F80F253810122102120467C4B984776 +:10656000774B1C685C340020784B984700EB800028 +:1065700080005030B0F5A07F80F24F8101221421BD +:106580002046734B98476E4B1C685C3400206F4B61 +:106590009847C0EB00105030B0F5A07F80F24C81DE +:1065A0000122C02120466A4DA847654C206847F665 +:1065B000FF7201215C30A84720686030614B98472A +:1065C000206811254FF0000265F30402222767F3CB +:1065D0004A1265F3CF22992160305B4EB0472068A4 +:1065E0004FF0000265F3040267F34A1265F3CF220D +:1065F000C9216030B0472068A289CA216030B04705 +:10660000246860340020514B98470A30C000B0F530 +:10661000A07F80F21F810122902120464C4B984799 +:10662000474B1C6860340020484B98470A30C00034 +:10663000B0F5A07F80F21B810122C3212046444B8C +:1066400098473F4B1C6860340020404B984700EB54 +:10665000800000EB80005030B0F5A07F80F2148104 +:106660000122C02120463A4B9847354C20686430BF +:10667000344B984720686430236A13F0020F40F0CF +:1066800013811F233F211C464FF0000264F30402D4 +:1066900061F34A1263F3CF2299212B4B9847284B81 +:1066A0001C6864340020294B98470A30C000B0F5BC +:1066B000A07F80F2FD80012290212046244B984744 +:1066C0001F4C2068FF222C216430224B9847206801 +:1066D0006430236A13F0020F40F0F7801F233F213C +:1066E0001C464FF0000264F3040261F34A1263F3A4 +:1066F000CF222921144B9847114C206847F6FF728E +:1067000001216430124B98472468643400200F4BF9 +:106710009847C0EB001040005030B0F5A07F80F2E9 +:10672000D880012203212046094B9847044B1C685E +:1067300064340020054B984700EB80000CE000BF5C +:10674000D86B0020494A01000D6A0000250F0100A6 +:10675000C9680000516B000040005030B0F5A07FC8 +:1067600080F2C680012214212046694B9847F8BD6B +:106770000020684B984700EB80005030664B83FB4D +:106780000023C217C2EBA31212B28AE60020614BAB +:10679000984714308000604B83FB0023C217C2EB84 +:1067A000A31212B28EE600205A4B98470A30C0005E +:1067B000594B83FB0023C217C2EBA31212B292E61D +:1067C0000020544B984700EB800080005030524B23 +:1067D00083FB0023C217C2EBA31212B296E600207D +:1067E0004C4B984700EB8000800050304A4B83FBB5 +:1067F0000023C217C2EBA31212B29AE60020454B47 +:10680000984700EB800080005030434B83FB00230F +:10681000C217C2EBA31212B29EE600203D4B98476E +:1068200000EB8000800050303B4B83FB0023C217FD +:10683000C2EBA31212B2A2E60020364B9847C0EB7F +:1068400000105030344B83FB0023C217C2EBA3125D +:1068500012B2A6E600202F4B98470A30C0002E4BFC +:1068600083FB0023C217C2EBA31212B2D4E60020AE +:10687000284B98470A30C000274B83FB0023C217E0 +:10688000C2EBA31212B2D8E60020224B984700EBCD +:10689000800000EB800050301F4B83FB0023C217A9 +:1068A000C2EBA31212B2DCE6082312210B24EBE6A2 +:1068B0000020184B98470A30C000174B83FB002379 +:1068C000C217C2EBA31212B2F6E6082312210B2460 +:1068D00007E700200F4B9847C0EB001040005030F6 +:1068E0000D4B83FB0023C217C2EBA31212B219E7B0 +:1068F0000020084B984700EB800040005030064BCA +:1069000083FB0023C217C2EBA31212B22BE700BF16 +:10691000C9680000250F01006766666638B53D4C02 +:1069200020681C303C4B98472068A28999211C3074 +:106930003A4B984724681C340020394B984700EBA9 +:10694000800000EB80005030B0F5A07F41DA0122DA +:1069500090212046334DA8472E4C206801229421D7 +:106960001C30A847206820302B4B98472068236AAA +:1069700013F0020314BF1A210821002B15BF352480 +:1069800012241B2309234FF0000263F3040264F373 +:106990004A1261F3CF2299212030204B98471D4B9A +:1069A0001C68203400201E4B984700EB800000EB51 +:1069B00080005030B0F5A07F1BDA012290212046E4 +:1069C000184CA047134B1868012294212030A0478F +:1069D00038BD0020124B984700EB800000EB800090 +:1069E0005030114B83FB0023C217C2EBA31212B22B +:1069F000AEE700200A4B984700EB800000EB8000D8 +:106A00005030094B83FB0023C217C2EBA31212B212 +:106A1000D4E700BFD86B0020494A01000D6A00008E +:106A2000250F0100C968000067666666F8B5384C36 +:106A300020686C30374B98472068FF222C216C303F +:106A4000354DA8472068A28929216C30334FB847BB +:106A50002068022230216C30314EB04720687F22FE +:106A60003C216C30A84725686C354C21A0892D4B02 +:106A70009847024639212846B847206847F6FF72F2 +:106A800001216C30B04724686C340020264B9847B5 +:106A9000C0EB00105030B0F5A07F1CDA012250216D +:106AA00020461F4B98471A4C2068A28959216C3008 +:106AB0001A4B984724686C3400201B4B984700EB16 +:106AC00080005030B0F5A07F13DA01225321204618 +:106AD000134B9847F8BD0020134B9847C0EB0010AC +:106AE0005030124B83FB0023C217C2EBA31212B229 +:106AF000D5E700200C4B984700EB800050300B4B43 +:106B000083FB0023C217C2EBA31212B2DEE700BF61 +:106B1000D86B0020494A0100516B00000D6A00004B +:106B2000C96800008F1B0100250F010067666666BB +:106B30002DE9F04180460F4615461E46B24B1B79A3 +:106B4000002B01F06983B04CA4F80C80E78126612A +:106B5000069B6361079BA361089BE3612562AB4BC6 +:106B60009847AB4B9847AB4B9847AB4B9847AB4BD1 +:106B70009847AB4B9847AB4B9847AB4B984720682F +:106B80004030AA4B984720684030236A13F0020F28 +:106B900041F04B8314232B2117244FF0000264F3A0 +:106BA000040261F34A1263F3CF2248F28901A04B39 +:106BB0009847954C206844309C4B9847246844344F +:106BC00000209C4B98475030B0F5A07F81F2328373 +:106BD000012290212046984B98478B4B1C684434E7 +:106BE0000020944B984700EB800040005030B0F5F7 +:106BF000A07F81F22C830122922120468E4B984760 +:106C0000814B1C68443400208A4B984700EB80007D +:106C100040005030B0F5A07F81F2298301229321FA +:106C20002046854B9847784B18681B6A13F002037F +:106C300014BF1A211021002B15BF372422241C2336 +:106C400012234FF0000263F3040264F34A1261F36B +:106C5000CF2299214430764B98476B4C20684830BE +:106C6000724B9847246848340020724B984700EBD9 +:106C700040005030B0F5A07F81F2098301229021BD +:106C800020466D4B9847604B1C6848340020694B88 +:106C9000984714308000B0F5A07F81F2078301226D +:106CA00003212046644B9847574B1C68483400200A +:106CB000604B984728304000B0F5A07F81F20483F4 +:106CC0000122142120465C4B98474F4B1C684834E6 +:106CD0000020584B98475030B0F5A07F81F20283D6 +:106CE000012201212046544B9847474C2068303000 +:106CF0004E4B9847246830340020504B9847012869 +:106D000041F2FD8200204B4B9847C0EB0010400041 +:106D10005030B0F5A07F81F20D8301221021204672 +:106D2000454B9847384B1C6830340020434B9847FC +:106D3000012841F20F8300203E4B9847C0EB001022 +:106D400040005030B0F5A07F81F23683012212213D +:106D50002046394B98472C4B1C6830340020374B69 +:106D60009847012841F238830020324B9847C0EB06 +:106D7000001040005030B0F5A07F81F2488301221E +:106D8000132120462C4B98471F4B1C6830340020A1 +:106D90002A4B9847012841F24A830020254B984707 +:106DA000C0EB001040005030B0F5A07F81F25A8354 +:106DB000012211212046204B9847134B18681B6A6B +:106DC00013F0020314BF22213F21002B14BF112313 +:106DD0001F234FF0000263F3040261F34A1263F3CE +:106DE000CF2249F289013030114B9847064C206878 +:106DF00034300E4B984720683430236A13F0020F6A +:106E000041F040831CE000BFD86B0020694A0100BC +:106E1000B15C01002D6A0100195E0100BD60010036 +:106E2000016201003D6401001D690100494A010041 +:106E30000D6A0000250F0100C9680000410F010024 +:106E40001D233B211C464FF0000264F3040261F352 +:106E50004A1263F3CF2248F28901B84B9847B84BE6 +:106E60001C6834340020B74B9847012841F20F8347 +:106E70000020B54B9847C0EB001040005030B0F5F3 +:106E8000A07F81F21F83012212212046AF4B984739 +:106E9000AB4B1C6834340020AA4B9847012841F2C0 +:106EA00021830020A84B9847C0EB001040005030D1 +:106EB000B0F5A07F81F23183012213212046A34B3C +:106EC00098479F4B1C68343400209E4B98470128FC +:106ED00041F2338300209C4B9847C0EB00104000E8 +:106EE0005030B0F5A07F81F243830122112120466A +:106EF000964B9847924C20682C30954B98472468C5 +:106F00002C340020904B984714308000B0F5A07FBF +:106F100081F23E830122012120468C4B9847884B09 +:106F200018682C301B6A13F0020F41F03F831F23B7 +:106F30003F211C464FF0000264F3040261F34A1241 +:106F400063F3CF2248F289117C4B98477C4B186839 +:106F50001B6A13F0020F14BF332266224FF496719E +:106F60002C307C4DA847764C2068332241F22C010E +:106F70002C30A8472068FF224FF40B712C30A84713 +:106F80002068754B1A8848F289212C306B4DA84730 +:106F90002068A28940F229212C30A8472068236A62 +:106FA00013F0020314BF19213F21002B14BF0C233F +:106FB0001F234FF0000263F3040261F34A1263F3EC +:106FC000CF2229212C30A8472068A28940F229111C +:106FD0002C30A847206802224FF498712C305B4E69 +:106FE000B0472068042240F231112C30B0472068AD +:106FF000A28940F239112C30A84724682C34002093 +:10700000514B984700EB40005030B0F5A07F81F223 +:10701000D2820122142120464C4B9847484B1C68D1 +:107020002C340020474B9847012841F2D38200209E +:10703000454B9847C0EB001040005030B0F5A07FA2 +:1070400081F2E382012212212046404B98473C4BBB +:107050001C682C3400203B4B9847012841F2E58204 +:107060000020394B9847C0EB001040005030B0F57D +:10707000A07F81F2F582012213212046334B9847ED +:107080002F4B1C682C3400202E4B9847012841F2CE +:10709000F78200202C4B9847C0EB00104000503086 +:1070A000B0F5A07F81F20783012211212046274BF2 +:1070B0009847234C20683830254B9847246838344B +:1070C0000020214B9847C0EB001040005030B0F535 +:1070D000A07F81F205830122C02120461B4B9847E7 +:1070E000174C2068FF222C2138301A4B9847206813 +:1070F000236A13F0020314BF1D210821002B15BFC2 +:107100003B2412241E230B234FF0000263F30402DE +:1071100064F34A1261F3CF2229213830074B984794 +:10712000074B1C6838340020074B984700EB800061 +:1071300080005030B0F5A07F10E000BF0D6A000065 +:10714000D86B0020410F0100250F0100C968000025 +:10715000494A0100516B00006C95020081F2D08217 +:10716000012214212046B64EB047B64C206847F69F +:10717000FF7201213830B04720683C30B24B98474D +:10718000206847F6FF7201213C30B0472068AF4FBE +:107190003A8829213C30AE4DA8472068FF222C2197 +:1071A0003C30AC4B98472068022230213C30B0473D +:1071B0002068BA8839213C30A8472068A28940F26B +:1071C00039213C30A8472068E28940F239413C30FF +:1071D000A84724683C3400209F4B984700EB4003AD +:1071E00000EB83005030B0F5A07F81F2998201223C +:1071F00012212046924B9847924B1C683C34002049 +:10720000954B984700EB400300EB83005030B0F5FE +:10721000A07F81F29682012213212046884B984755 +:10722000884B1C683C3400208B4B984700EB400394 +:1072300000EB83005030B0F5A07F81F293820122F1 +:10724000102120467E4B98477E4B1C683C34002022 +:10725000814B984700EB400300EB83005030B0F5C2 +:10726000A07F81F29082012211212046744B984721 +:10727000744C20684C30744B984724684C34002080 +:10728000754B984714308000B0F5A07F81F28C8256 +:107290000122012120466A4B98476A4B1C684C34F6 +:1072A00000206D4B984700EB800040005030B0F557 +:1072B000A07F81F28782012214212046604B9847EB +:1072C000604C2068A28949214C30614B9847206866 +:1072D00000224C2108445F4DA84720687F224FF4CC +:1072E00013714C30A84724684C3400205A4B9847FF +:1072F00000EB40005030B0F5A07F81F27382012294 +:10730000402120464E4B98474E4B1C684C34002081 +:10731000514B984700EB800040005030B0F5A07F03 +:1073200081F26F82012241212046454DA847454CFC +:1073300020689622B0214C30A84720684C22B72103 +:107340001044A847206850303F4B984720680022DF +:107350004FF4137150303F4B98472468503400204D +:107360003D4B984714308000B0F5A07F81F25982E0 +:10737000012201212046324B9847324C2068374A7F +:107380004FF4B7715030364DA84720682F4B1A88FC +:1073900040F2691150302E4B98472068226948F21C +:1073A0008E115030A8472468503400202A4B98474B +:1073B00000EB40005030B0F5A07F81F24082012206 +:1073C000122120461E4B98471E4B1C68503400204B +:1073D000214B984700EB40005030B0F5A07F81F280 +:1073E0003D82012213212046154B9847154B1C68FE +:1073F00050340020184B984700EB40005030B0F557 +:10740000A07F81F23A820122102120460C4B98473E +:107410000C4B1C68503400200F4B984700EB400089 +:107420005030B0F5A07F81F2378201221121204631 +:10743000034DA847034C20686830034B984711E080 +:10744000C9680000D86B0020494A01006C95020011 +:107450000D6A0000516B0000250F010074950200B9 +:10746000816C00002068002201216830A847246850 +:1074700068340020B54B984714308000B0F5A07FE9 +:1074800081F21982012230212046B14DA847B14C2A +:107490002068022231216830A84720686830236ABA +:1074A00013F0020F41F01582002319461C464FF0DD +:1074B000000264F3040261F34A1263F3CF2239211C +:1074C000A54DA847A34C2068E28940F239416830B5 +:1074D000A8472468683400209C4B984700EB800044 +:1074E0005030B0F5A07F81F2F981012212212046AF +:1074F000974B9847974B1C6868340020934B9847EC +:1075000000EB80005030B0F5A07F81F2F6810122BF +:10751000132120468E4B98478E4B1C686834002000 +:107520008A4B984700EB80005030B0F5A07F81F285 +:10753000F381012210212046854B9847854B1C681A +:1075400068340020814B984700EB80005030B0F544 +:10755000A07F81F2F0810122112120467C4B9847C7 +:107560007C4B1C6868340020784B984700EB400047 +:107570005030B0F5A07F81F2ED8101221421204628 +:10758000734B9847734C20687C30744B9847246841 +:107590007C3400206D4B9847322303FB00F05030C1 +:1075A000B0F5A07F81F2E581012250212046684B91 +:1075B0009847684B18681B6A13F002030CBF26211A +:1075C0003021002B0CBF132318234FF0000263F36C +:1075D000040261F34A1263F3CF2259217C305E4BDF +:1075E00098475C4C206880305C4B98472068FF22AD +:1075F0002C2180305A4B98472068236A13F00203ED +:1076000014BF19210E21002B15BF33241F241A2368 +:1076100010234FF0000263F3040264F34A1261F393 +:10762000CF22292180304C4B98474A4C206847F69E +:10763000FF7201218030464B984724688034002037 +:10764000424B9847C0EBC0005030B0F5A07F81F2AC +:10765000A0810122032120463D4B98473D4B1C68E9 +:1076600080340020394B9847C0EBC0005030B0F553 +:10767000A07F81F29D81012213212046344B98473F +:10768000344B1C6880340020304B9847C0EBC0005E +:107690005030B0F5A07F81F29A810122112120465D +:1076A0002B4B98472B4C206884302C4DA8472068E2 +:1076B000FF222C2184302A4B9847206811234FF059 +:1076C000000263F30402222161F34A1263F3CF2222 +:1076D00029218430204B98472068B430A84720687F +:1076E000236A13F0020314BF06211421002B15BFD7 +:1076F00010242A24092315234FF0000263F3040207 +:1077000064F34A1261F3CF223921B430124B984707 +:10771000104B1C68B43400200C4B984728304000B4 +:10772000B0F5A07F81F26281012230212046084B12 +:107730009847084B1C68B4340020044B98475030DD +:10774000B0F5A07F81F2648101220BE0250F0100DA +:10775000C9680000D86B00200D6A0000494A01008A +:10776000516B000012212046BA4DA847BA4C206840 +:1077700004223121B430A8472068B830B74B98476D +:107780002068B830236A13F0020F41F04E811423B1 +:107790002B2117244FF0000264F3040261F34A1214 +:1077A00063F3CF2248F28901AD4DA847AA4C206867 +:1077B0009830AA4B98472068FF222C219830A94B7B +:1077C00098472068A28929219830A8472068A64BAD +:1077D0001A8848F289019830A84724689834002014 +:1077E000A24B9847642303FB00F05030B0F5A07F14 +:1077F00081F22081012210212046964B9847964B1A +:107800001C6898340020994B9847642303FB00F0D0 +:107810005030B0F5A07F81F21D8101221121204658 +:107820008C4DA8478C4C206874308C4EB047206833 +:10783000012202217430A8472068002212217430EE +:10784000A8472068002213217430A847206800222E +:1078500010217430A8472068002211217430A847F5 +:107860002068002214217430A84720687830B0477F +:107870002068FF222C2178307A4B98472068783096 +:10788000236A13F0020F41F0F5800B2318210E2418 +:107890004FF0000264F3040261F34A1263F3CF2253 +:1078A00029216F4B98476C4B186878301B6A13F08E +:1078B000020F41F0E480092313210A244FF0000253 +:1078C00064F3040261F34A1263F3CF2241F2290107 +:1078D000634B9847604B186878301B6A13F0020FAF +:1078E00041F0D2800B2318210E244FF0000264F3E4 +:1078F000040261F34A1263F3CF2242F22901584D88 +:10790000A847554C2068A28940F229117830A84731 +:10791000266878363321A089554B9847024641F2B4 +:1079200029113046A84720687830236A13F0020FE7 +:1079300041F0AF801F233F211C464FF0000264F34B +:10794000040261F34A1263F3CF2248F28901444DE5 +:10795000A847414C20684FF0FF3248F28911783037 +:10796000A8472068236A13F0020314BF2A212621A6 +:10797000002B14BF152313234FF0000263F30402FE +:1079800061F34A1263F3CF224AF289017830A847A3 +:1079900020687830236A13F0020F41F07F801F23A4 +:1079A0003F211C464FF0000264F3040261F34A12C7 +:1079B00063F3CF2248F2A901294DA847264C20683D +:1079C0004FF0FF3248F2A9117830A8472068236AA7 +:1079D00013F0020314BF2A212621002B14BF152304 +:1079E00013234FF0000263F3040261F34A1263F3BE +:1079F000CF224AF2A9017830A8472068012231211C +:107A00007830144B98472068236A13F0020314BFA0 +:107A10001A211021002B15BF372422241C231223E6 +:107A20004FF0000263F3040264F34A1261F3CF22C1 +:107A300039217830A847084C2068A28940F23921C2 +:107A40007830A8472068012230217830014B9847D0 +:107A500010E000BFC9680000D86B0020494A01004F +:107A60000D6A0000516B00006C950200250F0100AB +:107A7000EB1B0100246878340020BA4B984701289A +:107A800041F211800020B84B9847C0EB0010400035 +:107A90005030B0F5A07F81F22180012212212046D2 +:107AA000B24B9847B24B1C6878340020AD4B9847D6 +:107AB000012841F223800020AB4B9847C0EB001017 +:107AC00040005030B0F5A07F81F2338001221321B5 +:107AD0002046A64B9847A64B1C6878340020A14B43 +:107AE0009847012841F2358000209F4B9847C0EB12 +:107AF000001040005030B0F5A07F81F24580012297 +:107B000010212046994B9847994B1C6878340020E7 +:107B1000944B9847012841F247800020924B9847A8 +:107B2000C0EB001040005030B0F5A07F81F25780CC +:107B30000122112120468D4B98478D4B1C687834CB +:107B40000020884B9847012841F259800020864B3D +:107B50009847C0EB001040005030B0F5A07F81F294 +:107B60006980012214212046804B9847804B1C6875 +:107B7000783400207B4B9847012841F26B8000202D +:107B8000794B9847C0EB001040005030B0F5A07F13 +:107B900081F27C804FF0FF3204212046734DA847CC +:107BA000734C2068002241F204017830A847206815 +:107BB00000224FF482717830A8472068002242F2F8 +:107BC00004017830A84720689622B0217830A84771 +:107BD00020682922B7217830A84720680422B621DE +:107BE0007830A84720685430624B98472468543452 +:107BF00000205D4B984700EB800080005030B0F5CE +:107C0000A07F81F25380012248F281012046574D26 +:107C1000A847574C2068012202215430A847206809 +:107C20005830544B98472068FF222C215830524B33 +:107C300098472068A28929215830504DA8472068CC +:107C40004FF0FF3248F289015830A8472068583079 +:107C5000236A13F0020F41F03980092313210A240B +:107C60004FF0000264F3040261F34A1263F3CF227F +:107C700041F22901414B98473D4B186858301B6A27 +:107C800013F0020F41F027801F233F211C464FF0C5 +:107C9000000264F3040261F34A1263F3CF2249F253 +:107CA0008901364B9847324C20688830314B9847D1 +:107CB0002468883400202C4B984700EB800000EBB0 +:107CC00080005030B0F5A07F81F20A80012248F296 +:107CD00081012046254B9847254C20688C30254E45 +:107CE000B0472068FF222C218C30234DA847206804 +:107CF000A28929218C30214FB8472068204B1A884F +:107D000048F289018C30B8472068A830B047206815 +:107D1000FF222C21A830A8472068A830236A13F03E +:107D2000020F40F0EE870B2318210E244FF00002C3 +:107D300064F3040261F34A1263F3CF2229210F4B4B +:107D400098470B4B18681B6A13F0020314BF1C21E1 +:107D50000721002B15BF3A240F241E2308234FF0C0 +:107D600000020FE0410F0100250F0100C96800006B +:107D7000D86B0020494A0100516B00000D6A0000D9 +:107D80006C95020063F3040264F34A1261F3CF229C +:107D90003921A830B64B9847B64B1C68A834002050 +:107DA000B54B984700EB80005030B0F5A07F80F2D3 +:107DB000AD87012230212046B04DA847AD4C206848 +:107DC00001223121A830A8472068236A13F002035A +:107DD00014BF07211C21002B15BF0F243A240823B0 +:107DE0001D234FF0000263F3040264F34A1261F3AF +:107DF000CF2248F28901A8309D4DA8479D4C2068AC +:107E0000626948F28E01A8309D4B984720684FF078 +:107E10000002132363F30402262363F34A1212239E +:107E200063F3CF2248F2A901A830A8472468A834F8 +:107E30000020914B9847C0EBC0005030B0F5A07FB8 +:107E400080F273870122102120468C4B9847894B82 +:107E50001C68A8340020884B9847C0EBC000503005 +:107E6000B0F5A07F80F27487012212212046834B57 +:107E70009847804B1C68A83400207F4B9847C0EB84 +:107E8000C0005030B0F5A07F80F27187012213212D +:107E900020467A4B9847774C2068A430794B984716 +:107EA00020687F2241F22C01A430774B984720684C +:107EB00011234FF0000263F30402222161F34A12FE +:107EC00063F3CF2241F22901A430694B984720681F +:107ED000236A13F0020314BF07211C21002B15BFD6 +:107EE0000F243A2408231D234FF0000263F30402F9 +:107EF00064F34A1261F3CF2248F28911A4305C4B3B +:107F000098475C4B1C68A43400205B4B984700EBFF +:107F1000800080005030B0F5A07F80F237870122CA +:107F200010212046554B9847524B1C68A434002022 +:107F3000514B984700EB800080005030B0F5A07F97 +:107F400080F234870122112120464C4B9847494C3E +:107F50002068A28948F28921A430454DA8472068AD +:107F6000E28948F28941A430A8472068AC30454BEB +:107F700098472068FF222C21AC30434B984720685B +:107F8000A2892921AC30A8472068E28940F2294122 +:107F9000AC30A8472468AC340020374B984700EB3E +:107FA00080005030B0F5A07F80F2108701220321BD +:107FB0002046324DA8472F4C206847F6FF7201211A +:107FC000AC30A8472068B0302E4B98472468B034B6 +:107FD00000202E4B9847012840F207870020264BAF +:107FE0009847C0EB001040005030B0F5A07F80F201 +:107FF0001787012210212046204B98471D4B1C68F3 +:10800000B0340020214B9847012840F21987002006 +:10801000194B9847C0EB001040005030B0F5A07FDE +:1080200080F22987012211212046144B9847114BD9 +:108030001C68B0340020154B9847012840F22B876C +:1080400000200D4B9847C0EB001040005030B0F5B9 +:10805000A07F80F23B87012212212046074B9847E0 +:10806000044B1C68B0340020084B984701280FE0EF +:108070000D6A0000D86B0020250F0100C9680000C0 +:10808000816C0000494A0100516B0000410F010062 +:1080900040F22C870020BD4B9847C0EB00104000F9 +:1080A0005030B0F5A07F80F23C870122132120469A +:1080B000B74B9847B74B1C68B0340020B64B984775 +:1080C000012840F23E870020B04B9847C0EB0010DB +:1080D00040005030B0F5A07F80F24E87012214217D +:1080E0002046AB4B9847AB4C2068A030AB4B984731 +:1080F0002068236A13F0020314BF1A211021002BF9 +:1081000015BF372422241C2312234FF0000263F3EF +:10811000040264F34A1261F3CF223921A030A04B4C +:1081200098479C4C206801223021A030984DA847E8 +:10813000206803223121A030A8472468A034002001 +:10814000954B9847012840F2278700208F4B98478E +:10815000C0EB001040005030B0F5A07F80F23787B0 +:108160000122122120468A4B98478A4B1C68A03472 +:108170000020894B9847012840F239870020834B23 +:108180009847C0EB001040005030B0F5A07F80F25F +:1081900049870122132120467D4B98477D4B1C685F +:1081A000A03400207C4B9847012840F24B870020E8 +:1081B000764B9847C0EB001040005030B0F5A07FE0 +:1081C00080F26087012210212046714B9847714B45 +:1081D0001C68A0340020704B9847012840F2628749 +:1081E00000206A4B9847C0EB001040005030B0F5BB +:1081F000A07F80F27287012211212046644B9847AC +:10820000644C684BA360012323710020664B9847A0 +:1082100004F10800BDE8F081BC20644B9847644B32 +:1082200018605C4B1860FEF78EBC15232A211C4693 +:10823000FEF7B3BC0020554B984750305D4B83FB95 +:108240000023C217C2EBA31212B2FEF7C2BC002079 +:108250004E4B984700EB800040005030554B83FB5D +:108260000023C217C2EBA31212B2FEF7C5BC002056 +:10827000464B984700EB8000400050304D4B83FB4D +:108280000023C217C2EBA31212B2FEF7C8BC002033 +:108290003E4B984700EB40005030464B83FB002399 +:1082A000C217C2EBA31212B2FEF7E9BC0020374B93 +:1082B0009847143080003F4B83FB0023C217C2EB6A +:1082C000A31212B2FEF7ECBC0020304B98472830C6 +:1082D0004000384B83FB0023C217C2EBA31212B23B +:1082E000FEF7EFBC0020294B98475030314B83FB01 +:1082F0000023C217C2EBA31212B2FEF7F2BC002099 +:10830000224B9847C0EB00105030B0F5A07F02DA46 +:108310000122FEF703BD00201C4B9847C0EB001064 +:108320005030244B83FB0023C217C2EBA31212B2BE +:10833000FEF7F4BC0020154B9847C0EB001040003E +:1083400050301C4B83FB0023C217C2EBA31212B2A6 +:10835000FEF7E4BC00200D4B9847C0EB00105030F6 +:10836000B0F5A07F02DA0122FEF7F1BC0020074B36 +:108370009847C0EB001050300E4B83FB0023C21710 +:10838000C2EBA31212B2FEF7E2BC00BF250F010040 +:10839000C9680000D86B0020410F0100494A010064 +:1083A0000D6A0000E14101003D3C0000C5230100D1 +:1083B000486D0020676666660020C74B9847C0EB93 +:1083C000001040005030C54B83FB0023C217C2EBA6 +:1083D000A31212B2FEF7BBBC0020BF4B9847C0EB04 +:1083E00000105030B0F5A07F02DA0122FEF7C8BCC1 +:1083F0000020B94B9847C0EB00105030B74B83FBBF +:108400000023C217C2EBA31212B2FEF7B9BC0020C0 +:10841000B14B9847C0EB001040005030AF4B83FB8E +:108420000023C217C2EBA31212B2FEF7A9BC0020B0 +:10843000A94B9847C0EB00105030B0F5A07F02DA8E +:108440000122FEF7B6BC0020A34B9847C0EB0010FA +:108450005030A24B83FB0023C217C2EBA31212B20F +:10846000FEF7A7BC00209C4B9847C0EB00104000D3 +:1084700050309A4B83FB0023C217C2EBA31212B2F7 +:10848000FEF797BC062310210924FEF7DCBC002070 +:10849000914B9847C0EB00105030B0F5A07F02DA46 +:1084A0000122FEF7F1BC00208B4B9847C0EB001077 +:1084B00050308A4B83FB0023C217C2EBA31212B2C7 +:1084C000FEF7E2BC0020844B9847C0EB0010400050 +:1084D0005030824B83FB0023C217C2EBA31212B2AF +:1084E000FEF7D2BC00207C4B9847C0EB0010503008 +:1084F000B0F5A07F02DA0122FEF7DFBC0020764B48 +:108500009847C0EB00105030744B83FB0023C21718 +:10851000C2EBA31212B2FEF7D0BC00206E4B9847FC +:10852000C0EB0010400050306C4B83FB0023C2179F +:10853000C2EBA31212B2FEF7C0BC0020664B9847F4 +:10854000C0EB00105030B0F5A07F02DA0122FEF738 +:10855000CDBC0020604B9847C0EB001050305F4B03 +:1085600083FB0023C217C2EBA31212B2FEF7BEBCFC +:108570000020594B9847C0EB001040005030574B3B +:1085800083FB0023C217C2EBA31212B2FEF7AEBCEC +:108590000020514B984714308000504B83FB002340 +:1085A000C217C2EBA31212B2FEF7B5BC062310210C +:1085B0000924FEF7BFBC0020474B984700EB400062 +:1085C0005030464B83FB0023C217C2EBA31212B2FA +:1085D000FEF720BD0020404B9847C0EB0010503004 +:1085E000B0F5A07F02DA0122FEF72DBD00203A4B44 +:1085F0009847C0EB00105030384B83FB0023C21764 +:10860000C2EBA31212B2FEF71EBD0020324B9847F8 +:10861000C0EB001040005030304B83FB0023C217EA +:10862000C2EBA31212B2FEF70EBD00202A4B9847F0 +:10863000C0EB00105030B0F5A07F02DA0122FEF747 +:108640001BBD0020244B9847C0EB00105030234B3B +:1086500083FB0023C217C2EBA31212B2FEF70CBDBC +:1086600000201D4B9847C0EB0010400050301B4BC2 +:1086700083FB0023C217C2EBA31212B2FEF7FCBCAD +:108680000020154B9847C0EB00105030B0F5A07F8C +:1086900002DA0122FEF709BD00200F4B9847C0EB1C +:1086A000001050300D4B83FB0023C217C2EBA31206 +:1086B00012B2FEF7FABC0020074B9847C0EB00103F +:1086C00040005030054B83FB0023C217C2EBA312BE +:1086D00012B2FEF7EABC00BF250F010067666666AE +:1086E0000020C94B9847C0EB001040005030C74BEA +:1086F00083FB0023C217C2EBA31212B2FEF7ECBC3D +:108700000020C14B984700EB800080005030BF4BE9 +:1087100083FB0023C217C2EBA31212B2FEF721BDE6 +:108720000020B94B984700EB400200EB820050302C +:10873000B64B83FB0023C217C2EBA31212B2FEF7A3 +:1087400057BD0020B04B984700EB400200EB820081 +:108750005030AE4B83FB0023C217C2EBA31212B200 +:10876000FEF75ABD0020A84B984700EB400200EBF3 +:1087700082005030A54B83FB0023C217C2EBA3122B +:1087800012B2FEF75DBD00209F4B984700EB400200 +:1087900000EB820050309D4B83FB0023C217C2EBDD +:1087A000A31212B2FEF760BD0020974B9847143019 +:1087B0008000964B83FB0023C217C2EBA31212B2B8 +:1087C000FEF767BD0020904B984700EB800040000B +:1087D00050308E4B83FB0023C217C2EBA31212B2A0 +:1087E000FEF76ABD0020884B984700EB40005030F0 +:1087F000864B83FB0023C217C2EBA31212B2FEF713 +:108800007FBD0020804B984700EB80004000503037 +:108810007E4B83FB0023C217C2EBA31212B2FEF7FA +:1088200082BD0020784B984714308000774B83FB43 +:108830000023C217C2EBA31212B2FEF79ABD0020AA +:10884000714B984700EB40005030704B83FB002386 +:10885000C217C2EBA31212B2FEF7B2BD00206A4BE0 +:10886000984700EB40005030684B83FB0023C21751 +:10887000C2EBA31212B2FEF7B5BD0020624B9847BF +:1088800000EB40005030614B83FB0023C217C2EB6A +:10889000A31212B2FEF7B8BD00205B4B984700EB65 +:1088A00040005030594B83FB0023C217C2EBA31288 +:1088B00012B2FEF7BBBD0020534B98471430800026 +:1088C000524B83FB0023C217C2EBA31212B2FEF776 +:1088D000DABD07230F210824FEF7E9BD00204A4B2B +:1088E000984700EB80005030484B83FB0023C217B1 +:1088F000C2EBA31212B2FEF7F9BD0020424B98471B +:1089000000EB80005030414B83FB0023C217C2EBC9 +:10891000A31212B2FEF7FCBD00203B4B984700EBC0 +:1089200080005030394B83FB0023C217C2EBA312E7 +:1089300012B2FEF7FFBD0020334B984700EB8000DA +:108940005030324B83FB0023C217C2EBA31212B28A +:10895000FEF702BE00202C4B984700EB4000503041 +:108960002A4B83FB0023C217C2EBA31212B2FEF7FD +:1089700005BE0020244B9847322202FB00F0503005 +:10898000224B83FB0023C217C2EBA31212B2FEF7E5 +:108990000CBE00201C4B9847C0EBC00050301B4B56 +:1089A00083FB0023C217C2EBA31212B2FEF752BE22 +:1089B0000020154B9847C0EBC0005030134B83FB91 +:1089C0000023C217C2EBA31212B2FEF755BE00205D +:1089D0000D4B9847C0EBC00050300C4B83FB00237D +:1089E000C217C2EBA31212B2FEF758BE0020064B0C +:1089F000984728304000054B83FB0023C217C2EB89 +:108A0000A31212B2FEF791BE250F010067666666DB +:108A10000020CD4B98475030CC4B83FB0023C2172E +:108A2000C2EBA31212B2FEF79DBE15232A211C46EB +:108A3000FEF7B0BE0020C44B9847642202FB00F052 +:108A40005030C24B83FB0023C217C2EBA31212B2F9 +:108A5000FEF7D1BE0020BC4B9847642202FB00F019 +:108A60005030BA4B83FB0023C217C2EBA31212B2E1 +:108A7000FEF7D4BE1F233F211C46FEF709BF1D236E +:108A80003B211C46FEF71ABF1F233F211C46FEF761 +:108A90002CBF07230F210824FEF74FBF07230F2108 +:108AA0000824FEF77FBF0020A74B9847C0EB0010BB +:108AB0005030B0F5A07F02DA0122FEF7EFBF0020B0 +:108AC000A14B9847C0EB00105030A04B83FB002314 +:108AD000C217C2EBA31212B2FEF7E0BF00209A4BFE +:108AE0009847C0EB001040005030984B83FB0023A8 +:108AF000C217C2EBA31212B2FEF7D0BF0020924BF6 +:108B00009847C0EB00105030B0F5A07F02DA012288 +:108B1000FEF7DDBF00208C4B9847C0EB00105030B3 +:108B20008A4B83FB0023C217C2EBA31212B2FEF7DB +:108B3000CEBF0020844B9847C0EB0010400050305F +:108B4000824B83FB0023C217C2EBA31212B2FEF7C3 +:108B5000BEBF00207C4B9847C0EB00105030B0F5F2 +:108B6000A07F02DA0122FEF7CBBF0020764B9847A8 +:108B7000C0EB00105030754B83FB0023C217C2EBD3 +:108B8000A31212B2FEF7BCBF00206F4B9847C0EB98 +:108B90000010400050306D4B83FB0023C217C2EB26 +:108BA000A31212B2FEF7ACBF0020674B9847C0EB90 +:108BB00000105030B0F5A07F02DA0122FEF7B9BFF5 +:108BC0000020614B9847C0EB001050305F4B83FB97 +:108BD0000023C217C2EBA31212B2FEF7AABF0020F5 +:108BE000594B9847C0EB001040005030574B83FB67 +:108BF0000023C217C2EBA31212B2FEF79ABF0020E5 +:108C0000514B9847C0EB00105030B0F5A07F02DA0E +:108C10000122FEF7A7BF00204B4B9847C0EB001086 +:108C200050304A4B83FB0023C217C2EBA31212B28F +:108C3000FEF798BF0020444B9847C0EB001040005F +:108C40005030424B83FB0023C217C2EBA31212B277 +:108C5000FEF788BF00203C4B9847C0EB0010503017 +:108C6000B0F5A07F03DA4FF0FF32FEF795BF00208A +:108C7000354B9847C0EB00105030344B83FB00233A +:108C8000C217A2EBA31212B2FEF786BF00202E4B32 +:108C90009847C0EB0010400050302C4B83FB002362 +:108CA000C217A2EBA31212B2FEF776BF0020264B2A +:108CB000984700EB800080005030244B83FB00235A +:108CC000C217C2EBA31212B2FEF79EBF1D233B21B7 +:108CD0001C46FEF7C5BF07230F210824FEF7D7BFA8 +:108CE0000020194B984700EB800000EB80005030CB +:108CF000164B83FB0023C217C2EBA31212B2FEF77E +:108D0000E6BF1F233F211C46FFF710B800200E4B83 +:108D1000984700EB800050300C4B83FB0023C217B8 +:108D2000C2EBA31212B2FFF745B80020064B9847DA +:108D3000C0EBC0005030054B83FB0023C217C2EBD1 +:108D4000A31212B2FFF77FB8250F010067666666AF +:108D50000020CA4B9847C0EBC0005030C84B83FB83 +:108D60000023C217C2EBA31212B2FFF77EB8002095 +:108D7000C24B9847C0EBC0005030C14B83FB00236F +:108D8000C217C2EBA31212B2FFF781B80020BB4B8F +:108D9000984700EB800080005030B94B83FB0023E4 +:108DA000C217C2EBA31212B2FFF7BAB80020B34B3E +:108DB000984700EB800080005030B14B83FB0023CC +:108DC000C217C2EBA31212B2FFF7BDB80020AB4B23 +:108DD000984700EB80005030A94B83FB0023C2175B +:108DE000C2EBA31212B2FFF7E2B80020A34B9847E0 +:108DF000C0EB00105030B0F5A07F02DA0122FFF77F +:108E0000F9B800209D4B9847C0EB001050309C4BA8 +:108E100083FB0023C217C2EBA31212B2FFF7EAB81A +:108E20000020964B9847C0EB001040005030944B08 +:108E300083FB0023C217C2EBA31212B2FFF7DAB80A +:108E400000208E4B9847C0EB00105030B0F5A07F4B +:108E500002DA0122FFF7E7B80020884B9847C0EB01 +:108E600000105030864B83FB0023C217C2EBA312C5 +:108E700012B2FFF7D8B80020804B9847C0EB001023 +:108E8000400050307E4B83FB0023C217C2EBA3127D +:108E900012B2FFF7C8B80020784B9847C0EB00101B +:108EA0005030B0F5A07F02DA0122FFF7D5B80020DC +:108EB000724B9847C0EB00105030714B83FB00237E +:108EC000C217C2EBA31212B2FFF7C6B800206B4B59 +:108ED0009847C0EB001040005030694B83FB0023E3 +:108EE000C217C2EBA31212B2FFF7B6B80020634B51 +:108EF0009847C0EB00105030B0F5A07F02DA012295 +:108F0000FFF7D4B800205D4B9847C0EB00105030FD +:108F10005B4B83FB0023C217C2EBA31212B2FFF715 +:108F2000C5B80020554B9847C0EB001040005030AA +:108F3000534B83FB0023C217C2EBA31212B2FFF7FD +:108F4000B5B800204D4B9847C0EB00105030B0F53D +:108F5000A07F02DA0122FFF7C2B80020474B9847F2 +:108F6000C0EB00105030464B83FB0023C217C2EB0E +:108F7000A31212B2FFF7B3B80020404B9847C0EBE2 +:108F80000010400050303E4B83FB0023C217C2EB61 +:108F9000A31212B2FFF7A3B80020384B9847C0EBDA +:108FA00000105030B0F5A07F02DA0122FFF7D9B8E7 +:108FB0000020324B9847C0EB00105030304B83FB01 +:108FC0000023C217C2EBA31212B2FFF7CAB80020E7 +:108FD0002A4B9847C0EB001040005030284B83FBD1 +:108FE0000023C217C2EBA31212B2FFF7BAB80020D7 +:108FF000224B9847C0EB00105030B0F5A07F02DA4A +:109000000122FFF7C7B800201C4B9847C0EB0010A7 +:1090100050301B4B83FB0023C217C2EBA31212B2CA +:10902000FFF7B8B80020154B9847C0EB0010400080 +:109030005030134B83FB0023C217C2EBA31212B2B2 +:10904000FFF7A8B800200D4B9847C0EB0010503038 +:10905000B0F5A07F02DA0122FFF7B5B80020074B78 +:109060009847C0EB00105030054B83FB0023C2171C +:10907000C2EBA31212B2FFF7A6B800BF250F010082 +:109080006766666600201D4B9847C0EB00104000E5 +:1090900050301B4B83FB0023C217C2EBA31212B24A +:1090A000FFF791B80020154B9847C0EB00105030E7 +:1090B000B0F5A07F02DA0122FFF79EB800200F4B27 +:1090C0009847C0EB001050300D4B83FB0023C217B4 +:1090D000C2EBA31212B2FFF78FB80020074B9847DC +:1090E000C0EB001040005030054B83FB0023C2173B +:1090F000C2EBA31212B2FFF77FB800BF250F010029 +:10910000676666662DE9F047A4B007460E4614462A +:10911000B54B98470546022C0DD0002C40F0FA8143 +:10912000B0F90A30002B00F0F381B0F90830002BC1 +:1091300073D10120F1E1022200213846AB4B984760 +:1091400008B10320E9E12A7D02F00303023BDBB210 +:10915000012B40F20F8202F0F802202A03D0082AE5 +:1091600001D00220D9E10622002138469F4B9847C2 +:10917000AB89C34201D10220CFE10722002138464A +:109180009A4B98476B8A00FB03F31B12B3F5807F61 +:1091900008D0002207F110013046954B984788BB54 +:1091A0000220BAE13846934B984704463846924B22 +:1091B00098470E3501954FF48073009300230246C3 +:1091C00021460FA88D4CA0473A8ABDF83C30134485 +:1091D000ADF83C307B8ABDF83E101944ADF83E1026 +:1091E000BDF840100A44ADF84020BDF842201344B9 +:1091F000ADF8423000220FA930467D4B984708B9A0 +:1092000002208AE148F2AC02002138467C4B9847A4 +:10921000FF2814BF022001207FE102A93846794BC4 +:1092200098470FA8784B98470FAA00213846774BEC +:1092300098473322002138466C4B984710B10023E1 +:109240008DF85030072200213846684B98476B8ACA +:1092500000FB03F0041201D100205EE10622002190 +:109260003846DFF88881C047B5F80C908144A4B235 +:10927000BDF80E200132BDF80A30D21ABDF80C102C +:109280000131BDF80830C91A05F10E0301930094AD +:109290000FFA89F312B209B204A8DFF860A1D0472F +:1092A000BDF80820BDF810301344ADF81030BDF8FB +:1092B0000A30BDF812101944ADF81210BDF81410A0 +:1092C0000A44ADF81420BDF816201344ADF816304A +:1092D000122200213846C047BDF81030181AADF8E8 +:1092E0001000132200213846C047BDF8143018443E +:1092F000ADF81400102200213846C047BDF81230E6 +:10930000181AADF81200112200213846C047BDF8E6 +:1093100016301844ADF816000FAA314604A83C4B8D +:109320009847022200213846C047C8B92B7D03F078 +:109330000303012B2AD9022B00F0D180354B009377 +:10934000354B40F2BB2235490220354CA047002363 +:109350001A46314607F11000324CA0470020DCE0ED +:109360001C20314B984780460122002138461F4B74 +:1093700098470023024604A94046DFF8BCA0D04726 +:1093800007F518714046294B9847CFE7BDF80820EC +:10939000AB881A4492B210B2ADF80800BDF80A309A +:1093A000E9880B449BB219B2ADF80A10B7F910E086 +:1093B000864503DA2889121AADF80820B7F9122079 +:1093C0008A4203DA6A899B1AADF80A3008A8184B5A +:1093D000984708AA00213846164B9847ADF8284010 +:1093E00064BB002099E000BF854D0000BD44000033 +:1093F00055170100452F0000952F00004DEC00008F +:10940000F5450000292E000051C20000AD500000BB +:1094100019C30000C850020078950200A09602000F +:1094200045220100D196000025290100A9BD0000B8 +:109430002D9600005157000015C00000ADF8229095 +:10944000EB89ADF824302B8AADF826306A7D9DF883 +:109450002F3062F300038DF82F30BDF90A30ADF8DC +:109460001A305A1E69890A44ADF81E20BDF90E2033 +:109470009A42FFF673AF404CBDF90830ADF8183092 +:109480005A1E29890A44ADF81C20BDF90C209A42C5 +:1094900014DB08AB2A68314606A8A0472A89BDF824 +:1094A000183013441BB2ADF81830BDF81C100A4434 +:1094B000ADF81C20BDF90C209A42EADA6A89BDF8A1 +:1094C0001A3013441BB2ADF81A30BDF81E100A440E +:1094D000ADF81E20BDF90E209A42CDDA3EE708A86D +:1094E000264B984708AA00213846254B984748F252 +:1094F000A90200213846234B9847ADF820002B687D +:109500000022009208AA314602A81F4CA04725E776 +:10951000012002E0012C03D0002024B0BDE8F08738 +:10952000022200213846194B984750B90FA8184B12 +:109530009847332200213846144B984740B9002001 +:10954000EBE707F51870134B9847134B9847EDE777 +:1095500000218DF848108DF872108DF864100FAA54 +:1095600038460E4B98470FAA314607F110000C4BB6 +:109570009847E4E70220D0E7D1960000B5990000B3 +:1095800099560000694500000D9A0000BD44000096 +:1095900051C2000079BE000059250100AD50000005 +:1095A00019C3000030B583B004460C4B984768B926 +:1095B0000B4B00934FF4E7720A4903200A4DA8476A +:1095C0002246002309480A498847FEE72046094BFE +:1095D0009847007DC0F3800003B030BD99220000A1 +:1095E000F0950200A09602004522010024480200E6 +:1095F000A1220000854D00002DE9F04786B0054608 +:109600000E467C4B984760B97B4B00938F227B4979 +:1096100003207B4CA0472A4600237A487A49884792 +:10962000FEE73046794B984707462846784B9847DF +:109630000446022F3AD8032F42D005A93046754B75 +:109640009847002F55D07B1EDBB2012B66D9022F25 +:1096500000F09980217D67F30101059AC2F38A2207 +:109660002281BDF81630C3F34A1363819DF81400BC +:1096700060F3C7012175C2F34902E281C3F34903D4 +:1096800023822846644B9847002840F0AA80A3898B +:109690001BB9638AB3F5807F02D028465F4B984799 +:1096A00028465F4B984706B0BDE8F0875D4B0093B6 +:1096B000514BA02251490220DFF84481C047BAE74C +:1096C000594B00934C4BA6224C4902204C4DA847C5 +:1096D000237D03F00303013BDBB2012B02D820689A +:1096E000524B984700232360237D43F003032375E7 +:1096F000D9E74F4B0093404BB42240490120DFF89B +:109700000081C047237D03F00303013BDBB2012B43 +:1097100002D82068454B984726609BE7D4F8008024 +:10972000464594D0237D03F00303013BDBB2022BBB +:1097300028BF4FF0000830463E4B984701303E4B63 +:10974000984781462B4B984760B92B4B0093C72213 +:109750002A4903202A4CA0474A46002337482A4971 +:109760008847FEE7B9F1000F9DD031464846344B9B +:109770009847C4F80090B8F1000F3FF468AF404636 +:109780002A4B984763E748F28E02002128462D4B6A +:109790009847814648F2800200212846DFF8B080D1 +:1097A000C047824648F2810200212846C047002374 +:1097B000029347F618430193009053464A463146B8 +:1097C00004A8214EB047059BBDF8102062F39423F6 +:1097D00005931B0CBDF8122062F34F13ADF8163041 +:1097E00038E7B4F90A20B4F908102846174B98470F +:1097F0004DE700BF9922000008960200A0960200E3 +:109800004522010024480200A122000051990000D5 +:10981000854D0000D5FD0000A5950100152C000028 +:1098200009330000CC960200EC960200AD24010042 +:109830001097020007B50100C5230100C03F0200D8 +:10984000F7B401008946000065400100894200002C +:10985000BD4400002DE9F04182B080460F46584BD0 +:1098600098470546574B9847D0B1002D00F08680A9 +:10987000554B1B680BB318212846544B9847044698 +:10988000504B9847F8B9524B009349225149032055 +:10989000514DA84722460023504851498847FEE7CA +:1098A0004B4B009342224B4903204B4CA0472A4686 +:1098B00000234A484A498847FEE72846494B9847CB +:1098C000414B1860D7E7002C5CD000262660237D32 +:1098D00043F0030366F3C70323752846424B9847BA +:1098E00020812846414B98476081A6814FF48073C0 +:1098F0006382637D43F001036375237D43F00403BA +:109900002375A680E680E681268239492846394BB0 +:10991000984739492846394B9847002F37D0384661 +:10992000374B9847037DC3F38003227D63F38202A4 +:109930002275438A63828389A381427D637D62F3BA +:1099400000036375B0F90430A380B0F90630E380FA +:10995000B0F90E30E381B0F9103023820168284657 +:10996000284B9847FF212846274B9847274B0093C1 +:10997000174B7F2217490120174CA047284602B0F9 +:10998000BDE8F0812846224B98470025F6E70F21D5 +:109990002846204B9847314628461F4B98470121BF +:1099A00028461E4B9847B8F1000F04D0237D43F0A2 +:1099B00004032375DAE7237D6FF382032375D5E76C +:1099C0000D3E000099220000FC6B0020B92B000026 +:1099D00018960200A096020045220100C03F020036 +:1099E000A12200003D4D0000452F0000952F0000F2 +:1099F000219A0100152B000005910100712B000038 +:109A0000854D0000F9950100813A0000449702005D +:109A10004D4F0000D1410100892900003529000087 +:109A20002DE9F04385B007461546082921D00C469C +:109A3000884B1B6898470646012821D1072C2DD05A +:109A40003846854B9847804674BB037D03F003037B +:109A5000013BDBB2012B13D80068804B98470023F1 +:109A6000C8F8003098F8143043F0030388F8143035 +:109A700006E0137843B900F128036B6001262BB18F +:109A8000304605B0BDE8F0830023F6E7714B1B6854 +:109A90002A460821384698470646F1E77049284685 +:109AA000704B98470646EBE7042C53D0062C5BD04E +:109AB0000A2CE5D1438AB3F5807F00F0C580828906 +:109AC000002A40F0C180BA8A0132398A521A12B291 +:109AD000F98A0131788A091A09B203FB02F0FF30D2 +:109AE00048BFFF3040F30F20121A02EBD27254101D +:109AF00001FB03F3FF3348BFFF3343F30F23CB1ABC +:109B000003EBD373581007F10F03173702AA13F8AA +:109B1000011F02F8011BBB42F9D1A2B2BDF8083007 +:109B20001344ADF80830BDF80C309A1AADF80C208B +:109B300083B2BDF80A201A44ADF80A20BDF80E2001 +:109B4000D31AADF80E300022296802A8464B984778 +:109B5000287195E7037D03F00303022B90D1016880 +:109B60003846424B98478BE7072200213846404D44 +:109B7000A847B8F8123000FB03F31C12062200219C +:109B80003846A847B8F80C3003441BB21BB922B2C0 +:109B9000B2F5807F31D0B8F90A20B8F9081008F181 +:109BA0000E000190A4B2009402A8324CA047B7F96D +:109BB0003210BDF90830CB1A8B42B8BF0B461BB22E +:109BC000BDF90A208A1A9342B8BF13461BB27B869E +:109BD000BDF90C200A44B8F90800121A9342B8BF24 +:109BE00013461BB27B86BDF90E200A44B8F90A1051 +:109BF000521A9342B8BF13467B8612220021384680 +:109C0000DFF86C80C0478146132200213846C047E8 +:109C10000446102200213846C04705461122002183 +:109C20003846C0474C45B8BF4C46B7F9323022B22F +:109C30009342B8BF1346AB42B8BF2B461BB2984203 +:109C4000B8BF184678861BE7296838460A4B9847FC +:109C5000287115E7FC6B0020854D0000AD24010044 +:109C6000549702007D500000A1150100F9950100F4 +:109C7000BD4400004DEC00003D50000010B5094B04 +:109C800098470446437C13F0010F03D0406808B1A5 +:109C9000054B9847637C6FF3000363740023636094 +:109CA00010BD00BF854D0000AD240100F8B507468A +:109CB0001E4B9847037C03F00703022B00D0F8BD2E +:109CC000044601894FF6FF739942F8D0184B1B6880 +:109CD00003390068984706463846144B9847437C3A +:109CE00013F0010F14BF40680430236803EB060E25 +:109CF0009B5DC3B100252B46425D8EF800200133E9 +:109D0000DBB21D46F218216801EB020E8A5C002AC4 +:109D1000F2D1435D8EF800303846064B98474FF637 +:109D2000FF732381CBE70025F3E700BF854D0000DB +:109D30005C0000207D9C010038B504460D46034BB5 +:109D40009847C5812046024B984738BD854D000095 +:109D50000933000038B504460D46034B984785810A +:109D60002046024B984738BD854D0000093300005E +:109D70002DE9F84306460C46124B98471222002163 +:109D80003046114DA8478046132200213046A8478F +:109D90008146102200213046A847074611220021A3 +:109DA0003046A84723889844A4F80080A388A3EBF2 +:109DB0000903A38063881F446780E388181AE08042 +:109DC000BDE8F883292E0000BD440000F0B583B043 +:109DD00006460F461546184B984704463046174B23 +:109DE0009847042D1CD9681C154B9847606060B1DA +:109DF0002A463946134B9847636800225A55637CBC +:109E000043F001036374012014E00F4B00930F4BE8 +:109E100040F2B5520E4903200E4CA047002009E045 +:109E2000637C6FF3000363742A463946201D054B9B +:109E30009847012003B0F0BD854D00007D9C0100D6 +:109E4000C52301003D260100AC9902005C97020089 +:109E50007C9902004522010030B583B004460D46CE +:109E6000104B984768B9104B00934FF4C4720F49D8 +:109E700003200F4DA847224600230E480E4988476D +:109E8000FEE720460D4B9847037CC3F30113AB421A +:109E900006D0037C65F3051303742046084B9847EE +:109EA00003B030BD99220000749702007C99020033 +:109EB0004522010024480200A1220000854D000037 +:109EC0000933000030B583B004460B4B984768B99E +:109ED0000A4B00934FF4F27209490320094DA84739 +:109EE00022460023084809498847FEE72046084BD8 +:109EF0009847006803B030BD99220000C097020067 +:109F00007C9902004522010024480200A1220000A1 +:109F1000854D000030B583B004460C4B984768B9B6 +:109F20000B4B00934FF4F9720A4903200A4DA847DE +:109F30002246002309480A498847FEE72046094B84 +:109F40009847007C00F0070003B030BD9922000064 +:109F5000D49702007C9902004522010024480200A7 +:109F6000A1220000854D000030B583B004460E4BA1 +:109F7000984768B90D4B009340F2FF120C4903203B +:109F80000C4DA847224600230B480C498847FEE7A2 +:109F900020460B4B9847007CC0F30110032808BFF4 +:109FA000002003B030BD00BF99220000EC970200F2 +:109FB0007C9902004522010024480200A1220000F1 +:109FC000854D000030B583B004460C4B984768B906 +:109FD0000B4B009340F21B220A4903200A4DA8476D +:109FE0002246002309480A498847FEE72046094BD4 +:109FF0009847007CC0F3801003B030BD9922000068 +:10A00000009802007C9902004522010024480200C9 +:10A01000A1220000854D00002DE9F04F8FB00546CC +:10A0200005919E4B984768B99D4B009340F2A5223D +:10A030009C4903209C4CA0472A4600239B489C49EE +:10A040008847FEE7059E3046944B984768B9944B85 +:10A05000009340F2A62293490320934CA047324636 +:10A060000023924892498847FEE70CA92846914B65 +:10A0700098472846904B9847074628468F4B984765 +:10A080000646BDF834300133BDF830209B1A1BB2B0 +:10A09000069348F28E0200212846894B9847814654 +:10A0A000039048F2810200212846DFF83082C04741 +:10A0B000044648F2800200212846C0470490B9F9BE +:10A0C00008B0337CC3F3801613F0800F18BF46F03E +:10A0D000020613F0070F08BF46F010062846794B1A +:10A0E00098478246012837D146F004063B78002B7A +:10A0F0003AD1B84600252C46611B0096049B039A72 +:10A1000089B24046DFF8D891C847BDF834300133F2 +:10A11000BDF830209B1A1BB203EBD37300EBD07059 +:10A120004FEA6009C9EB63030FFA83F900238DF846 +:10A130002F300A93002C40F0A180634E33680A99B7 +:10A140004046984704463368294638469847204495 +:10A1500080B20FB0BDE8F08F022840F0968046F044 +:10A1600008063B78002B48D0B8464FF000094D4612 +:10A170000BEB0403079309E0079B99440FFA89F955 +:10A1800007EB000805463B5C002B34D00096069B8D +:10A19000049A039940464D4CA0472844059BB3F9C7 +:10A1A000022009EB0B039A42E6DC04460EA941F8B3 +:10A1B000140D474B1B68384698470A2802D03B5D70 +:10A1C00003B90134BAF1010F96D0BAF1020F18D1D8 +:10A1D000611B0096049B039A89B24046DFF8009108 +:10A1E000C847BDF834300133BDF830209B1A1B1A24 +:10A1F0000FFA83F99AE70446E4E7B84600252C46AF +:10A20000E6E74FF0000991E7079A06990398314B6A +:10A21000984700EB09039BB2059AB2F900101AB2F5 +:10A22000914228DB0A9A5119A14224D0795C11B3DA +:10A2300004990B440FFA83F993460A9B2B44A342DB +:10A24000BFF47BAFDAF800300AA940469847069081 +:10A25000DAF8003000210A98404498470790002E11 +:10A26000D2D00A9B18F803100DF12F001A4B984713 +:10A270000028E2D1C8E7CDF828B05EE74FF0000B28 +:10A28000DFF860A006F00106D7E73B78002B7FF4EB +:10A290006BAFB84600252C46A94647E79922000037 +:10A2A000489802007C9902004522010024480200DF +:10A2B000A1220000719D0100C59E0100854D000096 +:10A2C00089460000699F010064000020993D01005B +:10A2D0006800002049000100513D0100BD4400001C +:10A2E000C53F0100580000202DE9F04F99B0044609 +:10A2F000AF4B98470368002B48D0054616A9204667 +:10A30000AC4B9847BDF85C600136BDF85830F61A82 +:10A3100036B248F28E0200212046A74B984780466D +:10A3200048F2810200212046A44FB847814648F2F6 +:10A33000800200212046B84707462B7CC3F38012D9 +:10A3400013F0800F18BF42F0020213F0070F08BF8E +:10A3500042F01002296802920196CDF8009003465F +:10A36000424615A8964EB0472B7C13F0070310D039 +:10A37000032B34D0042B00F0D780022B00F06D812A +:10A38000012B00F0FE8120468E4B984719B0BDE8A6 +:10A39000F08F122200212046884EB0470546132236 +:10A3A00000212046B0472844BDF854502844ADF859 +:10A3B0005400102200212046B047054611220021FA +:10A3C0002046B0472A18BDF85600024412B2ADF834 +:10A3D0005620BDF9541020467B4B9847D3E705A87B +:10A3E0007A4B984705944FF6FF73ADF8483020221A +:10A3F00011464046764B984738444FF47A7303FB36 +:10A4000000F3688993FBF0F303EB43039BB20F93D4 +:10A410001193BDF95420BDF85C300133BDF85810DC +:10A420005B1A9BB219B28A4237DD9B1A1AB200211D +:10A430000B910C92674E06966889674B98470D9072 +:10A44000109031462046654B984718B3426A90F801 +:10A450003C3003F001030D998A4211DA0E929DF807 +:10A460004A206FF300028DF84A204BB19DF850301E +:10A4700043F001038DF850300B9B0C9A0B920C9318 +:10A4800005A8574B984757492046574B98470023F4 +:10A49000EB8178E700231A46DDE74E492046524B10 +:10A4A00098470023AB81BDF95620BDF85E300133DB +:10A4B000BDF85A105B1A9BB219B28A42E3DD9A1AB0 +:10A4C000B8F80830D21A12B200210B910C92454E06 +:10A4D00006966889404B98470D901090314620466B +:10A4E0003E4B9847E8B1426A90F83C3003F00103D4 +:10A4F0000D998A4211DA0E929DF84A206FF30002FC +:10A500008DF84A204BB19DF8503043F001038DF88F +:10A5100050300B9B0C9A0B920C9305A8304B98472C +:10A5200031E700231A46E3E705A8284B984705942E +:10A530004FF6FF73ADF84830BDF85C300133BDF81D +:10A5400058209B1ABDF954201BB29A4250DD20229C +:10A55000114640461E4B9847C0EB803300EB830208 +:10A56000BDF85430D21A12B200210B910C92194E40 +:10A5700006966889184B98470D9031462046174B30 +:10A580009847002832D0436A0D9A934206DA0E9318 +:10A590009DF84A306FF300038DF84A3005A8104B40 +:10A5A000984710492046104B98470023EB81EAE674 +:10A5B000854D0000719D010089460000BD440000EA +:10A5C000654001000933000089420000CD120100FE +:10A5D00049000100559D0100791401003D1401005E +:10A5E00089130100399D0100111301000023CBE7FD +:10A5F0006E4920466E4B98470023AB81BDF956202B +:10A60000BDF85E300133BDF85A105B1A1BB29A4296 +:10A61000C7DDB8F808301A44524212B200210B913B +:10A620000C92644E06966889634B98470D903146AC +:10A630002046624B984770B1436A0D9A934206DAFE +:10A640000E939DF84A306FF300038DF84A3005A849 +:10A650005B4B984797E60023EFE7BDF85E30013388 +:10A66000BDF85A209B1ABDF956201BB29A4203DC52 +:10A670004FF6FF732B8186E6524B1B68286898477C +:10A68000032803D84FF6FF732B817CE6BDF85C608E +:10A690000136BDF85830F61AB6B22E2211464046A1 +:10A6A000494B98473844C0EB803300EB830030447B +:10A6B000ADF81000BDF85E300133BDF85A209B1A8A +:10A6C0009BB218B2B8F908204A4490FBF2F102FBA1 +:10A6D00011029B1AA3EB0909ADF8129004A92046B8 +:10A6E0003A4B9847804607462E683046384B984785 +:10A6F0008146384B1B6841463046984706460590D0 +:10A7000000F10308C1450ED2DFF8DCA02868304410 +:10A71000DAF800309847059E361A0596013F06F193 +:10A720000308C145F2D34FF0040A4FF00009DFF8E7 +:10A73000B8B02868059B1844DBF80030984781447E +:10A740005FFA89F905A92868234B1B689847BAF175 +:10A75000010AEED129684A46314420461F4B9847EA +:10A7600000283FF410AEF11C2E222B689A550136BA +:10A770008E42FAD12B68002203F8082003372F817C +:10A7800001E6102200212046154EB0470546112251 +:10A7900000212046B0472918BDF85600014409B2EF +:10A7A000ADF8561020460F4B9847ECE5559D01003B +:10A7B00011130100399D0100791401003D140100BD +:10A7C00089130100600000204900010019A0010068 +:10A7D00007B501005C00002058000020CD9D01005D +:10A7E000BD4400009D43000054000020F0B583B03C +:10A7F00006460D46404B984760B9404B0093B8223F +:10A800003F4903203F4CA047324600233E483F4982 +:10A810008847FEE730463E4B984730463D4B9847C9 +:10A82000044605B32846344B984708B32768BD4211 +:10A830002BD01FB1237C13F0080F49D02846364B8C +:10A8400098470130354B984720602B4B984700289C +:10A8500044D0206850B12946314B9847237C6FF390 +:10A86000C303237430E030462E4B984703B0F0BD4D +:10A87000224B0093C42222490320224CA0472A469F +:10A880000023214821498847FEE7237C13F0080F65 +:10A89000D4D13846204B9847411C3846224B984724 +:10A8A0002060154B984760B9144B0093D52214498A +:10A8B0000320144DA847226800231C4813498847E9 +:10A8C000FEE72368002BD1D03046164B9847CDE7E2 +:10A8D0003846174B984700232360AFE7074B009398 +:10A8E000EE2207490320074DA847226800230F489E +:10A8F00006498847FEE700BF9922000060980200E1 +:10A900007C9902004522010024480200A122000097 +:10A9100009330000854D000007B50100C523010083 +:10A92000F7B40100E9A2010081280100C03F020044 +:10A93000AD24010070B582B005460E46144B984711 +:10A9400068B9144B00934FF4A67213490320134CBB +:10A95000A0472A460023124812498847FEE72846A6 +:10A96000114B98470446037C13F0080F05D100688B +:10A9700018B10E4B98470023236026B1237C43F087 +:10A980000803237426602846094B984702B070BD1F +:10A99000992200008C9802007C9902004522010057 +:10A9A00024480200A1220000854D0000AD240100D2 +:10A9B000E9A20100F0B583B005460F46224B984747 +:10A9C00068B9224B009340F2651221490320214CC3 +:10A9D000A0472A460023204820498847FEE728460A +:10A9E0001F4B984704461F4928461F4EB0471F4932 +:10A9F0002846B0471E492846B0471E492846B0475A +:10AA00000023A381E381FB1EDBB2022B237C94BFD6 +:10AA100043F080036FF3C7132374237C03F0070311 +:10AA2000022B08D0237C67F3020323742846124BC1 +:10AA3000984703B0F0BD22894FF6FF739A42F1D0D8 +:10AA400028460E4B9847EDE799220000A89802008F +:10AA50007C9902004522010024480200A122000046 +:10AA6000854D000011350000111301007135000003 +:10AA7000559D0100399D0100E9A20100AD9C010036 +:10AA800030B583B004460D46104B984768B9104B5B +:10AA900000934FF4CD720F4903200F4DA847224673 +:10AAA00000230E480E498847FEE720460D4B984785 +:10AAB000037CC3F38013AB4206D0037C65F386139B +:10AAC00003742046084B984703B030BD992200001C +:10AAD000C09802007C99020045220100244802002F +:10AAE000A1220000854D0000E9A201002DE9F041FE +:10AAF00082B00F46794B98470446794B9847E8B1A6 +:10AB0000002C00F09A80774B1B6823B31421204659 +:10AB1000754B98472046754B98470546704B9847AC +:10AB2000F8B9734B00935D2272490320724CA04721 +:10AB30002A460023714872498847FEE76C4B009310 +:10AB400054226C4903206C4DA847224600236B48D1 +:10AB50006B498847FEE720466A4B9847614B18606F +:10AB6000D4E7002D6DD000232B602A7C02F0B702C1 +:10AB70004FF6FF71298142F0300263F302022A741A +:10AB800019226A81AB81EB816B606A7C63F30002FE +:10AB90006A745D4920465D4B98475D4920465D4B90 +:10ABA0009847002F52D03846504B984706463846B3 +:10ABB000594B984701462046584B98473846584BC2 +:10ABC000984701462046574B98473846564B98477A +:10ABD00001462046554B9847337C13F0080F46D169 +:10ABE0003846534B984701462046524B9847337C92 +:10ABF00003F00703022B42D0737C13F0010F64D0E3 +:10AC00007068002861D04C4B984782B26968204632 +:10AC10004A4B9847727C6B7C62F300036B743389F8 +:10AC20002B81FF212046464B9847464B0093304BE3 +:10AC3000A82230490120304DA847204602B0BDE887 +:10AC4000F0812046404B98470024F6E71221204629 +:10AC50003E4B9847002120463D4B98470021204617 +:10AC60002E4B98473B492046324B9847DDE7384604 +:10AC70002F4B984701462046374B9847B7E72F6838 +:10AC80003068364B984701463846354B9847286020 +:10AC9000134B984760B9164B009395221549032032 +:10ACA000154CA0472A680023144815498847FEE739 +:10ACB0002F6887B1D6F800804046284B9847024657 +:10ACC00041463846274B984796E70422B118A81802 +:10ACD000244B98479EE70024AFE700BF0D3E0000DD +:10ACE00099220000006C0020B92B0000854D000067 +:10ACF000D89802007C99020045220100C03F020062 +:10AD0000A12200003D4D0000E9AE0100712B0000C2 +:10AD100069AD0100152B0000159F0100B5A90100C8 +:10AD2000C59F010081AA0100699F0100599E010091 +:10AD3000C59E0100EDA7010007B50100CD9D0100F2 +:10AD4000813A0000E09902004D4F0000D14101001E +:10AD500089290000D899020035A901003925010090 +:10AD6000812801003D2601002DE9F04107461546E6 +:10AD7000082915D00C46304B1B6898470646012819 +:10AD800015D1072C20D038462C4B9847804644BB21 +:10AD9000037C13F0080F1DD03846294B984706E076 +:10ADA00013783BB900F128036B60012623B13046CC +:10ADB000BDE8F0810023F7E71F4B1B682A460821F6 +:10ADC000384698470646F2E71E4928461E4B9847E4 +:10ADD0000646ECE700681D4B98470023C8F8003092 +:10ADE000DAE7042C14D0022CE1D1AA8801322B8896 +:10ADF000D21ABB8A0133398A5B1A92B29BB29A4249 +:10AE00000DD03846124B98473846124B9847CEE73C +:10AE100038460F4B984738460E4B9847C7E7EA88A5 +:10AE200001326B88D21AFB8A0133798A5B1A92B29B +:10AE30009BB29A42E5D1BAE7006C0020854D000034 +:10AE40007D9C0100F09902007D500000AD240100BE +:10AE5000AD9C0100E9A2010030B583B004460A4B65 +:10AE6000984718B14FF6FF7003B030BD074B009301 +:10AE700040F21D3206490320064DA8472246002312 +:10AE8000054806498847FEE799220000009902001C +:10AE90007C9902004522010024480200A122000002 +:10AEA00030B583B004460A4B984718B14FF6FF708F +:10AEB00003B030BD074B00934FF44C72064903209A +:10AEC000064DA84722460023054806498847FEE765 +:10AED000992200001C9902007C9902004522010081 +:10AEE00024480200A1220000022A00F01E810AB1BB +:10AEF000002070472DE9F043A9B00F4605468C4B62 +:10AF0000984780460422002128468A4CA047814663 +:10AF1000052200212846A04705F10F0305F1170679 +:10AF200006AA13F8014F02F8014BB342F9D11FFAF8 +:10AF300089F9BDF81830A3EB0903ADF81830BDF856 +:10AF40001C309944ADF81C9080B2BDF81A301B1A21 +:10AF5000ADF81A30BDF81E301844ADF81E0013A825 +:10AF6000754B984713AA00212846744B984713AA9B +:10AF7000394606A8724B984708A92846714B98474E +:10AF800008AA39460AA8704B984710B929B0BDE8FD +:10AF9000F08328466D4B984798F81030C3F380141F +:10AFA00013F0800F18BF44F0020413F0070F08BF1E +:10AFB00044F01004012838D0022808BF44F00804E7 +:10AFC0000CA8634B98472846624B9847ADF83E0063 +:10AFD0002846614B9847ADF84000B8F90C30ADF801 +:10AFE0004230B8F90E30ADF844308DF847400CAA25 +:10AFF00000212846594B984798F8102002F0070383 +:10B00000033BDBB2012B13D9D8F8003000220092A9 +:10B010000CAA0AA908A8524DA84798F8103003F0C6 +:10B020000703042B2BD00020B0E744F00404C7E74B +:10B0300002F03002102A01D0202AE5D1BDF93C30BF +:10B04000D8F80010029447F618420192BDF93A2050 +:10B0500000920D9A05A8434DA847BDF8243001334E +:10B06000BDF820209B1ABDF914201BB29A42CBDDFB +:10B070009DF8473023F00C038DF84730C4E7BDF945 +:10B080003C30D8F80010029447F618420192BDF9FE +:10B090003A2000920D9A05A8324CA047BDF9142021 +:10B0A000BDF824300133BDF820105B1A1BB29A4260 +:10B0B00020DCBDF91620BDF826300133BDF8221082 +:10B0C0005B1A1BB29A42AEDDB8F90C30ADF84230D3 +:10B0D0000D9B1B891344B8F80E201344ADF844307F +:10B0E000D8F80030002200920CAA0AA908A81C4C2B +:10B0F000A04798E7B8F80C40224494B220221146A9 +:10B100000D98194B984700EB40000444ADF84240BD +:10B11000B8F90E30ADF84430D8F800300022009273 +:10B120000CAA0AA908A8A847C3E70220704700BFD5 +:10B13000854D0000BD44000051C20000AD5000002C +:10B1400019C30000719D010001150100699F0100F4 +:10B15000B599000059AE0100A1AE0100995600005A +:10B160000D9A0000654001004900010053B94AB939 +:10B17000002908BF00281CBF4FF0FF314FF0FF30FF +:10B1800000F07AB9ADF1080C6DE904CE00F006F8D4 +:10B19000DDF804E0DDE9022304B070472DE9F04753 +:10B1A0008C460D460446089E002B51D18A42174614 +:10B1B0006DD9B2FA82FEBEF1000F0BD0CEF1200C99 +:10B1C00001FA0EF520FA0CFC02FA0EF74CEA050C17 +:10B1D00000FA0EF44FEA174A250CBCFBFAF81FFAE6 +:10B1E00087F90AFB18CC45EA0C4508FB09F3AB428A +:10B1F0000AD9ED1908F1FF3280F02381AB4240F209 +:10B200002081A8F102083D44ED1AA4B2B5FBFAF082 +:10B210000AFB105544EA054400FB09F9A14509D988 +:10B22000E41900F1FF3380F00A81A14540F2078163 +:10B2300002383C44A4EB090440EA08400021002EF7 +:10B2400061D024FA0EF4002334607360BDE8F08707 +:10B250008B4207D9002E54D0002186E821000846F1 +:10B26000BDE8F087B3FA83F1002940F08E80AB424D +:10B2700002D3824200F2FA80841A65EB03050120B2 +:10B28000AC46002E3FD086E81010BDE8F08712B91A +:10B290000127B7FBF2F7B7FA87FEBEF1000F34D1F2 +:10B2A000EB1B3A0C1FFA87FC0121B3FBF2F8250CCB +:10B2B00002FB183345EA03450CFB08F3AB4207D900 +:10B2C000ED1908F1FF3002D2AB4200F2D180804686 +:10B2D000ED1AA3B2B5FBF2F002FB105543EA0544A8 +:10B2E0000CFB00FCA44507D9E41900F1FF3302D29E +:10B2F000A44500F2B8801846A4EB0C0440EA0840CC +:10B300009DE731463046BDE8F087CEF1200405FACE +:10B310000EF307FA0EF720FA04F83A0C25FA04F4B3 +:10B3200048EA0308B4FBF2F14FEA184502FB114466 +:10B330001FFA87FC45EA044501FB0CF3AB4200FA17 +:10B340000EF409D9ED1901F1FF3080F08A80AB428B +:10B3500040F2878002393D44EB1A1FFA88F5B3FBAF +:10B36000F2F002FB103345EA034500FB0CF3AB425D +:10B3700007D9ED1900F1FF386FD2AB426DD9023811 +:10B380003D44EB1A40EA01418FE7C1F1200722FA60 +:10B3900007F88B4005FA01F448EA030320FA07FE98 +:10B3A0004FEA134CFD404EEA040EB5FBFCF94FEAA0 +:10B3B0001E440CFB19551FFA83F844EA054509FBA6 +:10B3C00008F4AC4202FA01F200FA01FA08D9ED18C9 +:10B3D00009F1FF3043D2AC4241D9A9F102091D4421 +:10B3E0002D1B1FFA8EFEB5FBFCF00CFB10554EEA30 +:10B3F000054400FB08F8A04507D9E41800F1FF3523 +:10B4000029D2A04527D902381C4440EA0940A4EBC0 +:10B410000804A0FB02894C45C6464D4615D312D000 +:10B4200056B1BAEB0E0364EB050404FA07F7CB4000 +:10B430001F43CC40376074600021BDE8F087184698 +:10B44000F8E69046E0E6C245EAD2B8EB020E69EBB8 +:10B4500003050138E4E72846D7E7404691E78146EF +:10B46000BEE7014678E702383C4445E7084608E76E +:10B47000A8F102083D442BE7704700BF70B50D4EA0 +:10B480000D4CA41BA4100025A54209D10B4E0C4C59 +:10B490000EF0B4FAA41BA4100025A54205D170BD7E +:10B4A00056F8253098470135EEE756F8253098478D +:10B4B0000135F2E7089A0200089A0200089A020091 +:10B4C0000C9A020010B501390244904201D10020CB +:10B4D00010BD10F8013B11F8014FA342F5D0181B25 +:10B4E00010BD10F8012B11F8013B012A28BF9A4228 +:10B4F000F7D0D01A7047034611F8012B03F8012B3F +:10B50000002AF9D17047034613F8012B002AFBD11A +:10B51000181A0138704700002E2E2F68706C2F709B +:10B520006F72742F68706C5F6770696F5F626173B0 +:10B53000652E68002E2E2F68616C2F7372632F6842 +:10B54000616C5F696F2E63002E2E2F68616C2F7304 +:10B5500072632F68616C5F74696D65722E630000A1 +:10B560002E2E2F68616C2F7372632F68616C5F756C +:10B57000736172745F6173796E632E630000000003 +:10B580002E2E2F68616C2F7574696C732F73726324 +:10B590002F7574696C735F6C6973742E630000009F +:10B5A0002E2E2F68616C2F7574696C732F73726304 +:10B5B0002F7574696C735F72696E67627566666514 +:10B5C000722E630000300040003400400020014132 +:10B5D0000040014100000043000400430008004314 +:10B5E000000C0043030000001400200000010000D4 +:10B5F000FF0000000000D700000427072E2E2F6850 +:10B60000706C2F736572636F6D2F68706C5F7365FC +:10B6100072636F6D2E63000000380040003C0040F4 +:10B6200000A0014100C00141001400420018004286 +:10B63000001400430018004300006B0008030000E2 +:10B6400000000000973A0000000000002E2E2F6836 +:10B65000706C2F74632F68706C5F74632E630000CE +:10B660000AE462165B8500006CB601000B0607FF5A +:10B670002C88ACFF251F87FF395189FF6DC4DCFF83 +:10B680004883C8FF3256C6FF4D4346FF160A48FF9F +:10B690005CA2BCFF382DC2FF676C8BFF2D2748FFD3 +:10B6A000223689FF416DC7FF7685C3FF9AA4C6FF86 +:10B6B0002035A5FF212669FF3951A9FFA9E2E8FF3E +:10B6C0002E2426FF406EE9FF4388E9FF4BA6AEFF1C +:10B6D000483887FFC9C4C5FF336EA8FF6A6469FF95 +:10B6E0004056E4FF2E3469FF170928FF4E55A8FF86 +:10B6F00096A9E7FF838383FF1B1067FF80889EFF67 +:10B70000606EC7FF5FA6E7FF4796E9FF7987E6FF10 +:10B710002E20A9FF274569FF35438AFF646FA7FFE5 +:10B72000293349FFAFB5C0FF5F5789FF4355C7FFB6 +:10B730002D46A9FF89979FFF3F60ABFF1D2C88FF17 +:10B740004879C9FF1B1527FF8294C6FF2F2869FF80 +:10B7500069B6E6FF84D4DFFF1B1548FF6493C8FF7A +:10B760005B6EE6FF1547C1FFBCC4E4FF1E3798FFC0 +:10B770004363C6FFE8E4E1FF2A5473FF3E3A67FFE4 +:10B780002B53B7FF322B87FF608AE6FF1E1419FF89 +:10B790004884D6FF3F3738FF6499EAFF8198D6FF87 +:10B7A000475F87FF212659FF1A1637FF5055E6FFDE +:10B7B000776E88FF94A8D8FF737AA9FF221957FFE4 +:10B7C00072A8EBFFDEF3F6FF9EA5A3FF493DE0FF65 +:10B7D000241C67FF948CA2FF5462A8FF83C4ECFF73 +:10B7E000486ED7FF3F47A9FF383AA9FFD6D4D5FF07 +:10B7F0003779A7FF5462E7FF615859FF484688FF31 +:10B80000A7B4D6FF9A99B0FF36509BFF202678FF49 +:10B81000282339FFB4B5B3FF457AE7FF96B5E8FFB3 +:10B82000313359FF467AD8FFA29AC1FF160C16FF92 +:10B830007E88B1FF636288FF797679FF302976FFD1 +:10B84000433DC1FF303C97FF2D3679FF4C4767FFE2 +:10B85000304599FF60B5BFFF5F97F7FF4B62D7FF99 +:10B860005C87C9FF182D95FF5979E8FF4549C0FF4E +:10B870008F9694FF29979CFFAEDDEBFF64AAC0FF73 +:10B88000789AE9FFD1EAF3FF3262C5FF3E34D8FF70 +:10B89000615A68FF4298DAFF3E64F1FF788692FFB2 +:10B8A00059B8D8FF627AC6FFDDDCE4FF7C7C86FFF6 +:10B8B000544A57FF4FA9DAFF7B8AD5FFA4A9AFFFEF +:10B8C0007BA5D9FFCDCDD6FF6F6B76FF7CD2ECFF89 +:10B8D00094B8F7FF3199A9FF6C7684FF82CBE1FF22 +:10B8E0001950D8FF7BB5F5FF496DB9FF4779BBFF0C +:10B8F000342BACFF5E89D7FF5486A4FF292197FF24 +:10B90000180C57FFAFAAC3FFBFE6EDFF64ACACFF56 +:10B91000150837FF5CA5F9FF32447BFFBFBCC1FFB0 +:10B920007E9BF6FF5A5778FF5F6EB7FF4B6199FF1A +:10B93000647AB9FF221A77FF474799FF666298FF3A +:10B940004587F6FF96A9F6FF1C1277FF4C96F7FF86 +:10B950004A54D8FFB6C7FBFF403A78FF5F87FAFF2B +:10B960007AA6F5FF978BAEFF4A4878FFBBD7F8FF62 +:10B97000F8FAFBFF9AC8F2FFEBEBEEFF496EFBFF14 +:10B980004F62B7FF5964FBFF6579D9FF303988FFF3 +:10B99000473797FF423948FF251829FF9BDAE4FF14 +:10B9A000251748FF999DD7FF251838FF5256F7FFF6 +:10B9B000495299FFB4BCE5FF3E375AFF4C9498FFBB +:10B9C0006695D9FFD4D2FCFF4E58B7FF5D5997FF5B +:10B9D0003F34C3FF4B49DCFF6B7895FF3B61B9FFF8 +:10B9E000312998FF437AF9FF463CD0FF5B78FBFF93 +:10B9F0007B7B99FF233CA6FF8B9DC7FFDFDBDAFF34 +:10BA0000505388FF969B9FFF7AB9EAFF3A55B7FFDC +:10BA10002F2A57FFA7ABD7FFBBBAD9FF382938FF6A +:10BA2000898B8EFF69BBDBFFA1D7ECFFABB8F8FFBA +:10BA3000686F96FF516CABFF5D6FD8FF5B6EFBFFCD +:10BA4000777099FF3163D5FF4848D1FF445AFCFF16 +:10BA500073CCDCFF544B4BFF7A8CC3FF9FACC6FF0B +:10BA6000372C2BFFCFCBCBFF6F6B6BFF70707070E1 +:10BA7000707070707070707070487070707048483E +:10BA800048363636CB690CE92D444477E9121277F3 +:10BA9000C8793113133176C8C87931133131E2E2F4 +:10BAA000E2407E40E2E2E240E231C525A285C730B5 +:10BAB0005EB3760D46464646DD4040405F5E13D19C +:10BAC000B32B765F5F7676C8C840A29C56C114E758 +:10BAD000BD3904BDE73A269CA7040414E7BCE07B0B +:10BAE000EFEF4780803DBCF333479C56C1C1565CA5 +:10BAF000EE9CE79CF939EF563AF9869C85C70E0E05 +:10BB0000C755CC9C4BE756C1C2A2359F9F9F9F9FB4 +:10BB10009F9F9F333320676779796720202013DC4C +:10BB20001767121E4E707070707070707070707049 +:10BB3000707048707070484848483636360C4E6908 +:10BB4000692D2B2B2B1E4E7477C879315E313176DF +:10BB5000C8C87931133131E2E2E24034403131E298 +:10BB600031D79F9FC52528C7305EB3760D34344644 +:10BB7000467E40404076B313D1B32B2B5F5F7640B7 +:10BB80007676406E9C86C1860439E7F955399C5516 +:10BB90009C869CEE145CBCF47BEF8347805E62BCA9 +:10BBA000F320470486C1C1C1F90483C2E7F9399C77 +:10BBB000C1CCF9A79C4B353535D55CA7EF555C5604 +:10BBC000C1EFD53C7D7D7D7D05050505A09F9FC509 +:10BBD00033333333333333DC176E13770D747070B4 +:10BBE0007070707070707070707048364870704807 +:10BBF000484836CB36CB4E4E0C1E1EBBB32BC84E20 +:10BC00007777C82B7979797976C8C8793113133168 +:10BC100031E2E24040E2311333AFC51331E8F3289B +:10BC2000F3E85EB3760D343446467E7E404076B30C +:10BC300013D1B32B2B5F3176407676406E9CA7866E +:10BC4000563A39E73A5555F926E7869CEE839CB576 +:10BC5000E0BCEF834B5EB37CE0F3136EE786C1C1BB +:10BC6000C13A3AA7E75504559CC183043AE7A26755 +:10BC7000A0A2555CA7149E5C56C18326D53C3C3CD3 +:10BC80003C3C7D7D0505359F9FDCDC9FC5C51331A0 +:10BC90000E6E3333340D0D70707070707070707084 +:10BCA000707070483648707048484836CB36691E08 +:10BCB0000C0C79BBBBBB2BC84E7477C8C8C82B2BE8 +:10BCC000C8C8C8767931131331313131E27631C5C4 +:10BCD000AFC513767631E825F341E8B3B3760D347A +:10BCE000343434344040115FB3D1D1B32B76313189 +:10BCF0007676767640F3E7C2C0C1A704043A55557C +:10BD00000426E7863A8DCC9CB8E0BCC2CC4B5EB32F +:10BD10007CE03DD16E39A7C1C1C18383A739260418 +:10BD2000559CC114E79E4B9F643585995CA7149E72 +:10BD3000E786C18326D53C7D3C3C3C7D7D0505A046 +:10BD40009F9FDC33DCC5DC137945790D0D68740DDC +:10BD50007070707070707070707070703648707045 +:10BD600070484836CBCBCBCF12691E2BBBBB6D2B9B +:10BD70002B127477C82B2B7676C8C8C87679311306 +:10BD8000133131133131139FAF33794076760D790A +:10BD9000E8E8E85EB3B3760D34343434347E4011D1 +:10BDA0005FB31313677976313176767676760E390E +:10BDB000EF56C1C13A04CC392604263986EF8DCC22 +:10BDC0009CB8E0BC5CCC4B5E647CBC3DD10E55A7FE +:10BDD000C1C1C1A7CCA7E726EE559C568355473570 +:10BDE000B0F149219C3A14149EE786C18326D53CC4 +:10BDF0007D7D7D7D7D05053535A09FDC33331313B7 +:10BE00007979760D79337412687070707070707013 +:10BE100070707070484870707048483636CBCBCB25 +:10BE200036360CC82BBB44D379BB127477C82B7938 +:10BE300079797976C8C879311313131331139FAF09 +:10BE4000DC133176404034E62CE231315EB3797652 +:10BE50000D0D343434344040115FB3131313B376F3 +:10BE60005F317976C87676413914C1C1C1CC0414EA +:10BE7000E74BEE2655A7838D3A9CB8F4BCE7CC4B34 +:10BE80005EB37CBC3D130E2683C1C1C1839CA7E772 +:10BE900026E755E7A7EF4B0EDCF5F2A25CCC3A148F +:10BEA00014E755EFC18326D53C7D7DA27D7D050538 +:10BEB000356E359FDC3313317979764034337DC864 +:10BEC0006812707070707070704870707070707000 +:10BED0007070484836CBCBCBCB363677762BBB440D +:10BEE000BB1EE91E7477C82B7979313179C8C879BE +:10BEF0003113E8E8E89FB1C531313131400D7E643E +:10BF0000C16F405E5E5E5EB3760D343434343440CF +:10BF100040405FB31313135E76313131317676765C +:10BF20004139EF56C1C114F9A75C7B392626A78396 +:10BF30008D9C3A27F4E0393A4B80B3B9BC3D13C528 +:10BF40005583C1C1C1839C869C26E755E73A5CC7EF +:10BF5000DC33E633D55C143ACC14E7BD5C86EF26BF +:10BF60003C3C7D7D7D7D0505351749359FDC3313D0 +:10BF700079790D0D0D6813C50D687470707048489F +:10BF800070483670703648707070704848CBCBCBB4 +:10BF9000CBCBCBCB77762BBB446D1E7777127777E5 +:10BFA0002B7979313179C8C8791313E8C58E8ED7CA +:10BFB00031E2E231E2404002BEC1A6405E5E5E5E1A +:10BFC000B3760D343468340D4040405F5E13131374 +:10BFD0005E5E313131315E797641265C86C1C1A722 +:10BFE000F9A79C7B554B2683A78D043A4BF4F4BDEF +:10BFF0003A7B805E30E03D5BAF9986C1C1C1149C45 +:10C00000869C4B555555E74B9FE82C66334B5C148B +:10C010003ACC14E7BD9ECCEF857D3C7D7D7D7D05D2 +:10C02000056E176E359FDC331379760D0D0D68792B +:10C030001374687470707070707036487070363633 +:10C04000487070484836CBCBCBCBCB6936691EBB2A +:10C0500044D344BBC8777777772B2B797979C8C8D5 +:10C06000797913E88E7D25E813314040E2E24040C3 +:10C0700068FEC16076315E5E5EB3760D0D6872BBA0 +:10C08000B27EE2115F5E131313E85E31315EE85E4B +:10C09000317987AA9E86C1C1A7F9A73A7B264B4B67 +:10C0A00083A726EE3A4BF4F4AD9C7B305EE8E017B4 +:10C0B000B110C28356C1C1A79C869C4B55557B4786 +:10C0C0000EDC136624DC4B5CCC9C3ACCE7ADBD5C4B +:10C0D0005CD57D7D7D7D7D7D05351749359F9FDC58 +:10C0E000137979760D0D0D34687468686870707016 +:10C0F0007070707070367048364848704848CBCBC6 +:10C10000CBCBCBCBCBCBCB692DD3442BABC80D77D3 +:10C1100077772B2B2B79C8C87979139F8E8E41D7CF +:10C12000E83140347EE2E24034E5425656D15F5E6B +:10C130005E5EB3760D0DB22EC166777EE2315E1380 +:10C140001313E85E313113131313316EAAE756C18E +:10C15000C1863A86CC7B4B4B4BCCA73939F94BE0A7 +:10C16000C67BE77B305EDC2785FC10559C56C1C141 +:10C17000A7F9869C4B4BADBC0EE8DC67ACB40ED582 +:10C180005C3A9C9CCCE7AD859E9ED57D7D7D7D7D7A +:10C190007D05354935359FDC3313797976400D0DB2 +:10C1A0000D3468687474707070707070707048705E +:10C1B00048CF3648704848CBCBCB15CBCBCBCB0C3C +:10C1C0000C2DD3442BAB797940C8772B2B7931795F +:10C1D0007979DC8E8E254141D731117E347E111163 +:10C1E0004002E1C3C3C153405E5E5EB3760D0D34C1 +:10C1F000BB42C142F134315E131313135E5E13135D +:10C20000E835C5DC274B9C56C1C1863AA7CC7B7B61 +:10C210004B4B3AA73926EE4BE0C6BCE77BB9C58A43 +:10C220005552715B47EE56C1C1A7F9863A4B7BBCAC +:10C230005DE81313B41AD10ED5E73A9C9CCC5CADE3 +:10C24000855555A27D7D7D7D7D7D050505359F9FAD +:10C25000DC13317979797676767676760D0D1270F3 +:10C26000707070487070707070CFCF36367048360E +:10C27000CBCBCB696969CBE9C877446D44D32B1329 +:10C280005E790DC82B7913DC1313AF8E25C54125BC +:10C2900041E8E2117E347E1111406894C3C3C1109D +:10C2A000405E5E5EB3760D4640B272C1C1C194C8B5 +:10C2B000E21313135E5E5E13E83939DCDCDC479C65 +:10C2C00056C1C156F9A7CC27B87B279CA7394B3953 +:10C2D0007BE0C6BC557BF3D55537B120D16E39868E +:10C2E000C1C1A7F9A7EF27BC7FE813E87966AC13B3 +:10C2F0006E85E7F95C5C3A5CBD85D5D5D57D7D7DE5 +:10C30000050505050505353535DC1313797979798A +:10C3100079797979797979C87070707048707070AE +:10C320000036CFCB3636484836CBCBCB696969CBA4 +:10C3300077C877BBBBB3ABAB1331760DC82B791382 +:10C34000C59FB19F13E8D74141E845E2117E347E95 +:10C35000111140682EC3C3C196C8315E5EB3760D1D +:10C360000D46405994C1C1C160D17920D1B3B35EAB +:10C37000E895989F133131479C86C1C1563AA7CCA6 +:10C3800027BCB8179CA739B8AAB8F4D0BC9EB62170 +:10C3900095B15B20D1D15D39A7C1C1A7F9A73A27D3 +:10C3A0003DDC1313E8791ABEE847ADE79CE75C3A39 +:10C3B0005CBD85A2D54BA27D7D0505A0A0050535F8 +:10C3C0006E0E131379797679797979315E315E5E03 +:10C3D000797070704848707070480036CF36CB481E +:10C3E00048CBCBCB15696969CB69C8C81E2BB3B3E1 +:10C3F0002BB3764040797979138E8E137979313168 +:10C4000031453131E2E240347E11E240C860C3C3BD +:10C41000C1C3D13113B379760D0D46463477E4C1EB +:10C42000C1C1C3537913B3B35E9FD59F1313313189 +:10C430004704A7C1C1563AA7CC4BE0B8B5E7A7550A +:10C44000E0BCB5E0F4ADBABA4CC520B3B3D1B35D2E +:10C450002683C1C1860483CC274113131313D8E468 +:10C46000B45DADAD9E9CE7E73A5CBD85A2D585A2E3 +:10C470007D7D05A0A0A0A0A09F9F331313792B0D55 +:10C480007679793131315E797979707048364870D2 +:10C4900069E90C48703636CB3648CBCBCB15696989 +:10C4A00069CB4E79776DABAB672B314076131313A5 +:10C4B000338EAF1379797979797931E2E2E21140FB +:10C4C000347E11E27EE5428F42C3C153E21379B359 +:10C4D000760D0D463440A472C156C1C1C17179B305 +:10C4E000B35ED7135E135E79766E04A7C1C156F9A9 +:10C4F00014144BE0B5B8E7142662E0BCBCADBABA80 +:10C50000AD7C805E64B3D1B35D26CCC1C18604CC62 +:10C510003A27E8313113792460D847AD859E9CE7EE +:10C52000E79C5CBD85A2D585A27D7D7D7D05A0A013 +:10C53000A0A09F9F333313790D0D0D767931795E6D +:10C540005E7979707048363600700C0CCB7070369E +:10C55000364848CBCBCB69696969CB4EC8E91EBB6D +:10C56000642BB3797613D7C58E7DC513797676762D +:10C570007979797640E2E2117E347E11E27EE5C37C +:10C58000E4E4C3C11076137979760D0D3434405F3D +:10C590000266C1C3C1C1C137C8B35E5E5E5E5E31B3 +:10C5A00076766EEE14C1C156F9CC144BE0B5B539B0 +:10C5B0003A4B41BCBDBAF0ADBDBCDA805E64B3207D +:10C5C000B341263A56C186049C9C1713795E13C862 +:10C5D000AC6AC5AD8585399CE7E79C5CBD85D54BCC +:10C5E000ADD57D3C3C3C7D7D7D7DA0A09F3333332C +:10C5F00033672B0D0D0D7979795EB3B370703636D4 +:10C60000700000360C36487070704848CBCBCB6950 +:10C61000696969CBCBCBE9AB2B646413793113C562 +:10C620000F7DC51313797676767979797640401146 +:10C63000407E347E11E27EF1C16060C3C196761304 +:10C640007979760D4634401111E27760C34256562F +:10C65000C16F0D5E5E5E795E5E76405D39CCC1C1B4 +:10C6600056F9CC1426E0BCB5269CD58E99D6F0E0C0 +:10C67000E07BE0DA805E64B320B34127F986C186AF +:10C680000404044913791331E5E45AF3BD55855583 +:10C690005CE79E9C9CBDBDD585B6959521216C21FE +:10C6A0005252525295E33CB1A09F331379C8340DD6 +:10C6B000767679B3B3360070487048707036363687 +:10C6C0007070704848CBCB1569696969CB690CE912 +:10C6D000BB136420207913C50F8EC5D71313317691 +:10C6E000767679797940401111407E343411E20236 +:10C6F0005AC160FEC3C156D8317979760D0D3440E8 +:10C70000115F31112FC1E48FC356C1660D5E5E7695 +:10C710005E5E760D4139CC56C156F93ACC26F4E02E +:10C72000B5BD9E2165BA9EBCC6C6BCE0DA755E1971 +:10C730006420B3D7270486C1868D04EE6E13791367 +:10C7400079E142F54755558555E79E9E3A3A9999C4 +:10C750006CF0BAD221954C3C3C3C7D7D7D7D3C4CBF +:10C760005252CEFB9F1379C80D34340D7679694847 +:10C77000000048440C004836364870704848CBCB1F +:10C78000696969691569124EE92B64D1412013AFBB +:10C790000FC5D741C5E8133179767679797976E294 +:10C7A000E211117E343411E20266C1961AC3C1C18E +:10C7B00071761379760D0D34405F5F3180342E56DB +:10C7C00060608F56C16F405E767676760D41553A41 +:10C7D00086C156F9F9CC26E0BC7B99BA650FBC7BC3 +:10C7E000E0C6C6BCE0DA755E196420B3D72704A79B +:10C7F000C1868D8D260E677913C894605B4B3955C1 +:10C800004B555CE79983A7C0BAF02121D53C7D7DCB +:10C8100005A0A0A0A09F9F3333F27D4C52527D33E0 +:10C8200076C8C8746874C870487000481EE94870BB +:10C8300036364870704848CBCBCB6969690C69695A +:10C8400069E91EB3C5C5C5B193C513D74141C5E854 +:10C8500013317676797979E2E2E2E2117E343411AD +:10C86000E23494C1FE1A42C1C1AC76137979C80D85 +:10C8700034401131315EE264428F9660C3C1C171B0 +:10C8800034767676760DE8553AA7C156F904CC553C +:10C89000BCADBABAB6AF20E0B8DEC6C6BCF45075BF +:10C8A0005F196420B3E8178D8356A78D924B0E1342 +:10C8B000673164606AC5BD3955559EC2BAC0A7A725 +:10C8C000C2B685A2A27D0535359F9F9F9F9FC5DC7F +:10C8D000333333339FB13C52E3F22BC8777459742E +:10C8E0007000000000CB69367048367070704848A0 +:10C8F000CB691EE969690C69690C1E79D7C5259356 +:10C900008EC5D7E8D7C541C5D7E83131797979796E +:10C9100076E2E2E2117E343440E2342E56FE1A60B2 +:10C92000C1C1C3D1797979C80D3440E231315E5E3D +:10C9300040E1C1966060C3C1C171347676C8C8E871 +:10C9400026F9A7C156F904CCC2F0BAB67B7F205EA7 +:10C95000F4B8DEC6C6BCF4D0805F1964B3B3131755 +:10C960008DCC56A78D274B7D331376F542E641BD1E +:10C9700039E7F0C0C0C29998145CADD5A2A20535C4 +:10C9800035A09FDC9F35A09FDC131379671333C557 +:10C99000A03752B12B0D777412007070700C703686 +:10C9A0003648000070707048486977E90C0C0C69D3 +:10C9B000690CE9771320254C8E13D7C5E8D7C5C578 +:10C9C000DCE8E84113797979797640E2E2E27E3475 +:10C9D0003440E268ACC3FE1AFE56C1C1537979797E +:10C9E000C80D0D40E23131E85E310DACC396606098 +:10C9F000C3C1C1534676C8C85E4BF91456563A9C1B +:10CA0000A7C0B6BCBCE062B3B362B5B5F4C6BCF4B3 +:10CA1000D0F75F1919B3B3136B923A86A78D272607 +:10CA2000A06713C894E4E1F39EEFC0BA995C9E55E9 +:10CA30009C149C85A2A2A20535A09F9F9F9F358E26 +:10CA4000A09FDC13797976791333AFFB520F2B4615 +:10CA50007746367044483648703670700070707093 +:10CA600070697769691EE9690CE94EE92B67AF4C7B +:10CA70008EC51313E8D7D7D7DCE8DC0EDC797979DB +:10CA800079797640E2E2E2400D7E40E268ACC3FE96 +:10CA90001A1A42C1C16576B379C80D0D40E2313131 +:10CAA0005E5E31E2E5C36060606056C1C1B4462B92 +:10CAB000C8314B04CC5656A7C0CCE7E0F4DEE062A8 +:10CAC000B3B362B8B5F4C6E0F4D0F75F1919646483 +:10CAD000B31692F986A78D274BC5675E64FEFEF1FB +:10CAE000BDC0C05C5555E7555504149C4BA2D58577 +:10CAF00049359F9F9F9F9FA0358EA0C51379797957 +:10CB000040C86733AF0F52B12B4676E948CB3600A9 +:10CB100036707070707070363670E9E9156DBB2D27 +:10CB20002DE90C4EC879AF9325C5C5317913131380 +:10CB3000D7D7E8DCE831797979797976E2E2E2E20F +:10CB4000407E7EE2E2341AC3FE1A1A60C1C1C3D12C +:10CB500079790D0D0D40E231315E5E315E0D5AC3C3 +:10CB6000966060E456C142640DC85E4B9C1456C189 +:10CB700083E70426F4F4DEE0B9B3B36B7BDEC6C60C +:10CB8000E0F4D0F7C91919B364B35D92F986868DC4 +:10CB9000276B136776F5E46A71BA99E7554B5539F7 +:10CBA0005555E7143A85A285ADA2350E359F9FDC19 +:10CBB0009F9F8E359FC5137931790D0D79C5B1FBD6 +:10CBC000EAAF2B2BCBCB0036703670707070707064 +:10CBD00048364869CB0C1E6D0CE9E9772BC85B938E +:10CBE000C533D7137679131313D7D7E8133179796F +:10CBF0007979797976E2E2E231407931E2E277FEE1 +:10CC0000C3FE1A1A1AC3C1C1BE4079400D3440E2B6 +:10CC10003131805E5E315EBB608F966060E456C1EC +:10CC200060770D13BD838656569C268D27F4F4C479 +:10CC3000E0B9B32017B5DEC6F8E0F4C6F719BB6457 +:10CC4000B3B3B3F62704A786EE171631B37966603F +:10CC500066B1AD4B39394B55E75555E714CC554BBB +:10CC600085ADA2353505A0DCDCDC358E8E359FDC4C +:10CC700013131376343479C5B14C525BC800367047 +:10CC800036367070707070704870704848CBE96DBF +:10CC90002D1E77C8B379F20FD167201379C8765E5D +:10CCA0001313131313317979797913797979E2317F +:10CCB0003131DC6E45E2E20DFEC3FE1A1A1AE4C100 +:10CCC000C18F7931760D347E1131315E5E5E311364 +:10CCD0007951C3966060608FC1C12E7737BAEFCCAF +:10CCE0008656F9279226F4F4C4E0B9B32030C4DEA6 +:10CCF000C6D0E0F4C6DA19BBB313B3B34127048638 +:10CD00008604176213F2B4ACFE5A41BC4B39394B5E +:10CD100055E7555539CCCC555555AD47358E7D8E9B +:10CD20009FDCDC358E8E3535C53131201376346885 +:10CD300079C50FEAFBB3706936007070707070705F +:10CD4000CF3670704836690C0C1E77772B79AF0F91 +:10CD500067796779792BC80D7679797979797979D5 +:10CD60007913DC13317979E231310EB84140E2E2D6 +:10CD70000DFEC3FE1A1A1AFEC1C1C15340764034DB +:10CD80003440E2315E5E31315EE8BBAC8F9660606C +:10CD90006042C1C1E62C85393AA756F9272627E01B +:10CDA000F4C4E062B3B3B350F4C6D0F4F4F4501951 +:10CDB000BBB3D7D7D1301704A78604173D0FE324A0 +:10CDC000601AF541BC4B26264B4B39555539CC14CE +:10CDD000399E55854735057D0535DCDC9F35358E1B +:10CDE00035C5797913C513766874B3AF37EAF27035 +:10CDF000363600707070707048CFCB70704869CB59 +:10CE00000C1E1E772BC8F20F672B7979131379C884 +:10CE1000770D0DC8797979797967DCE81331317943 +:10CE2000313135B8877640E2E268ACC3FE1A1AFEAB +:10CE30001A42C1C1964076400D3440E2315E313134 +:10CE4000315E13B30BC3966060E4E4C3C1C1AE5D51 +:10CE500039F9A756F9272727E0F4DEE062B319195C +:10CE600080F4C650F4F4C6D0C919136E0ED1E81779 +:10CE700004A786F9AAB6525B6660ACD85D474B261C +:10CE8000264B4B55555539CCA70404E785A205051B +:10CE90007D0535DCDC9F8E8E8E9F13797613C5C59C +:10CEA000137668C820B152FB70007070707000700B +:10CEB00036384870704848E90CE977772BAB5BFB54 +:10CEC00003C82B2B79202079C8770D0D7679313165 +:10CED000797967133131313179E2E86E453140407B +:10CEE000E2E2342EC3FE1AFEFE1AFEC1C1C12C7E40 +:10CEF000400D343440E25E3131315E13132B2E8FFE +:10CF0000966060E460C3C142D826F9A756F9172796 +:10CF100027E0E0BCBCC6B3191976D0C650F4F4C6FD +:10CF2000C65EB35D17E8D1136B8DA78683BA85DC27 +:10CF30002BFEFE6A676E4B4B26264B4B55555539DB +:10CF4000CCA79CF90485A2057D7D0535DCDC9F8E90 +:10CF50008EA0DC1379C879D7C5C5130D742B5B3748 +:10CF6000E3000000700048CF36360C69707036362A +:10CF70000CE9E9772B2BB037D1C8C877C8791320D3 +:10CF800079C8770D0D7931133179797979131331A6 +:10CF90003179E2313131314040E2E2342EC3FE1AC0 +:10CFA000FE1AFE1A42C1C1960D4040343440113180 +:10CFB0003131315E132013724296606060E4E456B2 +:10CFC000C1FE6198A7563A171727DEB8B8E0C65ECB +:10CFD000BBBB1975D0F7C6F4C6C6F7416B7CD7D179 +:10CFE0002049EEA756144B16E2B4E41A66316E4B94 +:10CFF0004B26264B4B555555393A863AF9044B0585 +:10D000007D7D7D050EDCE8C59FA0C59F0567C876C0 +:10D0100013C5C5D7797477792C10000000707000A3 +:10D020000C1E3636707070CB0CCB0CE9792BD837D0 +:10D030005B2B2B0D772B79131379C80D0D0D797997 +:10D040003131797931E81313313179E2E2314545F3 +:10D05000767E11E2346AC3FE1A1A1A1A1AFE56C1F3 +:10D06000C12C344034347E115FE25F3113C5AF4CC4 +:10D07000B42EE4FE6060E460E4C1C1570986863ADC +:10D08000271727B8AADEE0C6B3BBBBBBC975806251 +:10D09000F4C6C6F8DEC4B9D720F2929C86563A1779 +:10D0A0008B76BE601AE1316E4B4B2626264B5555CA +:10D0B00055393A863AF9E7D5057D7D7D059FE8E843 +:10D0C000E8DCC5C58D3C79C8C831135E79767474C7 +:10D0D00019D1E300007000CFE9706D1E70707070A0 +:10D0E00036E9690C2B64D8375B2B2B0DC8C8C8797F +:10D0F000B31379C80D0D0DC879797979130E0E1314 +:10D1000031313179E2E231E831404011E23494C307 +:10D11000FE1A1A1A1AFE1A8FC1C1E446404034346E +:10D12000405F315EE8AF374C0F1372C31A60606026 +:10D13000E46042C1C181CC563A27B5B8AAE0F4E018 +:10D14000C65EBBBB7474C95EB9C6C6C6C427B5503B +:10D15000D75B849C9CA756F9278B76ACFEACB44574 +:10D160005D4B4B4B26264B555555559CA73AE755DD +:10D17000497DA27D7D359FE8DC331313058D33791E +:10D18000C80D76760D7474467446646F70707000C6 +:10D1900000691ECF0C7070487036E969ABB3D137A7 +:10D1A000B12B2B770D76C87979202079C80D0D0D1C +:10D1B000C8797979799F35133131317976E2E23165 +:10D1C00031407E7E115F3494C3FE1A1A1AFEFEFEB1 +:10D1D000FEC3C1C124024034344031E8AF4C4C0F8F +:10D1E000C5135E77FE60FE6060E4E460C3C1425731 +:10D1F000563A27B5B8B5F4F4F4C65EBBBB743874C0 +:10D200001930F8C6C6DE92B5B9D73C0495921456CB +:10D21000F9271DB4E4AC2ED1DC5D4B4B4B26264BDD +:10D22000555555559CA79C55A2057D7D7D7D8EDC71 +:10D23000E8DC336767A0F27979C80D40760D68683D +:10D24000747446D81070700048360048E936707023 +:10D25000480C36CF0C2BD1379313B37777770DC8A3 +:10D260007913D7C5310D0D0D0D7679317913DC1396 +:10D2700079317979797640E2E2E2400D7E11E2344B +:10D28000E6C3FE1A1A1A1A1AFE1A60C1C1C3BB7E7F +:10D29000404031C5934C8EC5332013B30DE1C3AC70 +:10D2A000606060E4E4E4C1C1FE941417DE17DEC6DA +:10D2B000C6C4C65EBB74743838BB80F8C6C6DE8D83 +:10D2C000277CFB6571418A1456F927B9BEE4AC94FA +:10D2D00031415D4B4B4B26264B4B55555504CC9C51 +:10D2E0004B49497D7D05050EE813DC1367676779B7 +:10D2F0007979C8C83113137646B25974B4FC70708A +:10D300000036BB44707036707070E9690CAB640F06 +:10D310004C5B202B77777777C87913410E13760D06 +:10D320000D0D793131797979797979793179764059 +:10D33000E2E2E2407E7E115F025AC360AC1A1A1A22 +:10D340001AFEFE1A42C1C194B231330F37B1E8134D +:10D3500013131313B376ABE41AFE606060E460420B +:10D36000C1C1E67A27DE17DEC6C6C4F480BB74747A +:10D370003838BB5ED0C6C6DE8D262152AFD1E88AD2 +:10D38000CC563A2730AC60ACBE31DC5D4B4B4B2603 +:10D39000264B4B555555E7F9E7D5A2497D05358E06 +:10D3A000DC13131313796767677979C879C5AFAF51 +:10D3B000D776685974B4FC7070700070E9383670B4 +:10D3C00070487036691E2BAFCEC520B3C87777770B +:10D3D00077C879130EC513760D0D407931317979FF +:10D3E000797976797931797640E2E2E2407E7E1190 +:10D3F000E27EE1C360AC1A1A1A1A1A1A1AFE56C152 +:10D40000C172C537AF133131315E13135EB35E465F +:10D4100094E4AC606060E4E460C3C1C18C17DE17C3 +:10D42000DEC6C6C4F4B91974743838745E1DC6C635 +:10D43000DEEEC2B6415EB35E49CC863A27C5E4ACA7 +:10D440001A2C45DC5D4B4B4B26264B4B4B5555E779 +:10D45000E755A2494905353535DC13131379797938 +:10D4600079797979C85E257D8EAF13465959D8FCF4 +:10D4700070000036BB6936CF707036E936E9ABD143 +:10D48000CEAF20B37777777777C8767913D7D7136E +:10D49000760D0D40793179797679C876797979790F +:10D4A0007640E2E2E2407E7E40E27E724260AC1A6A +:10D4B0001A1A1A1A1A1A1AE4C1C142E5315FE211A6 +:10D4C000115F5E13135EB3B340B4422EFE60606022 +:10D4D000E46060C1C160B0DE17DEC6C6C4F4501996 +:10D4E0007474383874B3F7C6F4ADC29E16805EB358 +:10D4F0005E493A863A05BE426AACD8E8415D4B4B7C +:10D500004B26264B4B4B4B5555554BA249053535B4 +:10D510008E9FE81313317979797979792BC833A201 +:10D520007D8E8E13465959D8A670707000691E36CC +:10D5300070707070CD0C1EAB37B12013C877C877F0 +:10D5400077C8B3B37979131331C80D0D0D79797993 +:10D550007979767676797979797940E2E2E2407E76 +:10D560007E11E27EE542E41AAC1A1A1A1A1A1AFE61 +:10D570001AE4C1C12E34114011115F5E5E13B379FC +:10D58000793119601AAC60606060E46042C1C132F8 +:10D5900006B5DEC6C6C6F450767474383874B380E7 +:10D5A000C6AD999E278BF75EB35E6EF9A73AA0A62B +:10D5B000E46A2E13DC0E5D4B4B4B26264B4B4B4B3C +:10D5C000555585474905353535359F1313137976FC +:10D5D0007679797979767905D58E8EAF5E685474CF +:10D5E000B4A670E9BB443670367070CF36486DBB58 +:10D5F00053FB64D12B77ABC8C8C879B3792B795E5C +:10D600005E79C8770D0D762B797979797976767987 +:10D6100079797940E2E2E2407E7E11E211AB60E48A +:10D620001AACACAC1A1A1A1A1A1A1AE4C1C15A0264 +:10D630005F11115F31B313B379765E4666E42EFE57 +:10D6400060606060606056C1C14DB5B5C6C6C6F4C5 +:10D65000C65EBB743838BB64D7AD997B26268BF782 +:10D660005EB35E5D04A7F9A3601A6A6631410E0ECF +:10D67000474B4B26264B4B4B4B55554BA24935350B +:10D680000E3535DC131331797676797979797633FD +:10D69000D58E8E251374595974F56500480CBBBBA3 +:10D6A000CF707070CF0C0C2A4D104DABAB77ABC860 +:10D6B000C8C8797979C8C82B79792BC877770DC80C +:10D6C000C82B797979797676797979764040E2E272 +:10D6D000407E7E115F1177AC42FEACACACACACAC22 +:10D6E0001A1A1A1AFE42C1C1F5A4E25F5F315E1335 +:10D6F000B37976794072E46A1A6060606060FE60B7 +:10D70000C1C1AC33B5C6C6C6F4F480BB7438387733 +:10D71000D8E3BDBCC427268B805EB35E5DEEA78DCB +:10D7200071426A1A5345410E0E474B4B26264B4B0E +:10D730004B4B5585474935350E0E0E0EDC133179AE +:10D740007676792B2B2B2B2B20C59F8EC50D5974EC +:10D750005938F5654800007069E93670707036D345 +:10D76000AB3753ABAB77AB2B792BC8C8C80D7777EA +:10D770002B792BC8C80D770DC8C879797979797656 +:10D780007979797976404040E2407E7E115FE234DB +:10D790009442FEACACACACACACACAC1A1A1AFE42C7 +:10D7A000C1C1E57E5F5F315E5EB37976765FBBFEB9 +:10D7B000AC2E966060606060FE42C1C18C16F4C6FB +:10D7C000C6F4C4B919743838E5E3266BC4C42727F6 +:10D7D0008B805EB35EF68D1409A642941A5BE80E48 +:10D7E0000E35474B4B2626264B4B4B55854735353B +:10D7F0000E0E0E9F9FDCE8317976797979C8C8C81A +:10D80000C8C8C813DC79747459A938F56F44440C3E +:10D81000700070487036690CAB2CE303AB77772B44 +:10D8200033332BC80D777777AB2B79792BC80D0D58 +:10D830000DC87679767979797679797979764040F3 +:10D8400040E2407E7E11E21134E142FEACACACAC71 +:10D85000ACACACAC1A1A1A1AFEC3C1426411315EE8 +:10D860005E5EB37976765E46571A941A60606060A1 +:10D8700060FE60C1C14233F4C6C6F4C48BC97438BB +:10D880002F10D5351DC6C427278B5EB3B35EF69225 +:10D89000CC71FEFE57AC13870E0E35494B4B262636 +:10D8A000264B4B5555554B0E0E41DCDCDCDCDC3396 +:10D8B0001376767913792BC8C8C877770DC8741298 +:10D8C00059543BBBBEBE360C44E93670707070696B +:10D8D00044D1CE2CAB771E2BA00567C8C877121E8B +:10D8E00077AB2B79792BC80D0D0DC87979797679BD +:10D8F00076767679797976404040E2407E7E11E214 +:10D90000E240724260ACACACACACACACACACAC1A0F +:10D910001AACFEC3C18FB3115E5E5EB37976765EDC +:10D9200046E11A94ACFE6060FEFEFEFE42C1C15AA2 +:10D93000B9C6C6C6C4C45E74B4A653C51380C6C4F3 +:10D9400017278B5EB3B35EF692F9BE42AC94A61372 +:10D95000410E35356E474B2626264B4B4B55554BC6 +:10D960000EE8E84545131313133176767913792BB6 +:10D97000C8C8C8777474595454083B54646FB400D1 +:10D98000007036367070707069BFFBCED1AB1E77F9 +:10D99000330567ABAB7777121E77772B797979C828 +:10D9A0000D0D0D767979797976767676797979763D +:10D9B0004040E2E2407E7EE23131D77260E4ACACBE +:10D9C000ACACACACACACACACAC1A1AACFEC3C18F5A +:10D9D000B3E25E5EB37976765E402FFE946A1AFEFD +:10D9E000FEFEFEFEFEFEC1C1E45EC6C6C6DEDE80F1 +:10D9F000B4A6B4BB64195EC6C417278B5EB3B35E0E +:10DA0000302684A64294AC66450E0E35356E474BE3 +:10DA10002626264B4B5555554B6EE845451331137D +:10DA20001313797676791331792BC8777474597416 +:10DA30007459591259B46F643670000000707070D8 +:10DA40006944BFD2B1641E1EAB672BABAB7777774F +:10DA5000121E77C82B79797976400D0D7679797910 +:10DA60007976767676767979764040E211407E4016 +:10DA700031C58E4C4D6AE4AC2EACACACACACACACAD +:10DA8000ACACACACACACFEC3C18FB35F13B37976B6 +:10DA90005F5E76BF1A9494ACFE1AFEFEFEFE1A423A +:10DAA000C1C1E150C6C6DEB547A6B438381919C998 +:10DAB00050C61727165EB35E5E3026A3FE60E61AD8 +:10DAC00053870E35353549A24B2626264B4B5555E7 +:10DAD000554B0EDCE8453131797931797676791319 +:10DAE0001313792B777712C8791259741274BEBE4A +:10DAF000BBE9E9CB707070707069D353EAD1AB1E8B +:10DB00001E777777ABAB777777127777C82B791358 +:10DB1000133176400DC8797979797976C876767936 +:10DB20007976404011E2E276137D4C8EE80DE642B4 +:10DB3000AC2E2E2E2EACACACACACACACACACACAC1D +:10DB4000FEC3C142D8765E79765F5E5FBB2E949449 +:10DB5000AC1A1AFEFEFEFEFEFE56C1FE5EC6C6DE14 +:10DB60009EBA5B743838191919F7C61727165EB3B1 +:10DB70005E5E301771E4ACE61AAF0E0E353505491E +:10DB800049474B26264B4B85555547350E0EDC45F0 +:10DB90001331797979C8C8767979131379C874748F +:10DBA00079747454A93B1910F5387069CD36703604 +:10DBB000E90CE944102CAB1E1277777777777777EB +:10DBC00077771E7777C82B7913D7E8317640C879F5 +:10DBD0007979797976C8767679767640E23113D795 +:10DBE0008E3C8EDC31E27E0B421A2E2E2E2E2E2EF5 +:10DBF0002E2EACACACACACACACAC1AC3C1C32C7666 +:10DC0000B3765F5E5F749494576A1A1A1A1A1A1AD6 +:10DC1000FE1AE4C1C153D0C4ADC07B5E743838195C +:10DC200019195FF8B527165E5E5E5E415D944294F9 +:10DC300057940E6E0E3535054949474B26264B4BFA +:10DC40004B554BA26E35350E0EDC13137979C80D8A +:10DC50000DC879131331C87474747412545438B4E1 +:10DC6000106454000070700069E90CD3F510BF44D3 +:10DC70001E777777777777C82BC877777777C82B32 +:10DC80007913C5D75E797676797979797976C87698 +:10DC9000767676793131DC0F4CB113313140407EEC +:10DCA000BFFEFE2E2E2E2E2E2E2E2E2EACACACAC6B +:10DCB000ACACACACACE4C1C1530D795E5E5F466AFE +:10DCC0006A576A1A1A1A1A1A1A1A1A1AC1C1FE803F +:10DCD000ADBA552780743838191919C9DADE2716F4 +:10DCE0005E5E805E4141FE60E694665D6E0E353597 +:10DCF000054949494B26264B4B4B4BA26E353535D2 +:10DD0000350E0EDCE81379760DC8C8C82B7979C8B2 +:10DD1000C82B12745474766466BE74A90000007037 +:10DD20007000366DBF10E144E91E77C8C8C8C8C886 +:10DD30007913B3C8777777C8797913D7C51379760C +:10DD400076797979797976767679793113338E4C5B +:10DD50000F33E24040E2404040746A602E2E2E2E87 +:10DD60002E2E2E2E2E6A6A2EAC6AACACAC2EAC9641 +:10DD7000C3C1370D315E3146946A576A1A1A1A1AAE +:10DD80001A1A1A1AACE4C1C171B6BC2726B94638B2 +:10DD900038461919465FC427C4808080E806B1E47C +:10DDA0001A326A716B0E3535054949496EA24B4BE3 +:10DDB0004B4747490E0E0E0E0E0E0E0E0E9FE81329 +:10DDC00079C80DC877C8C8C87479C8745959C8B318 +:10DDD000B4A6B454A9690070363670CF44E16FBF61 +:10DDE000D34E772BB3B379B3B313D713C877770D6B +:10DDF000C879B3B3E8C5E8794076797979797976E5 +:10DE000076767913338E4C7DC531E27E7E40E240DA +:10DE1000404034EDE42E94A62E2E2E2E2E6A6A6AF1 +:10DE20006A6A6A6A6A2E2E2E2EAC8FC165B3115FA4 +:10DE3000191A945794ACAC1A1A1A1A1A1A1A1AC147 +:10DE4000C11A41C48A9216C9383846C91946C91D33 +:10DE5000DEC4308030E84566422E32ACB1170E3554 +:10DE60003505054949356E4949496E0E41E8454534 +:10DE70004545E8E8DCDC0EDCE81379C8C8C8C8779B +:10DE8000777767772B5974C8D1BE6FBB084F0C707A +:10DE9000CB0CCB700C786FE1D32D1E2BB3B3B3D169 +:10DEA000D1D120D713C8770DC8765E131313D7E8E6 +:10DEB000794076797979767976767913AF37FBC5BB +:10DEC0001331E2400D0D40E24040407E7260AC9460 +:10DED0009494A6A62E2E6A6A6A6A6A6A6A6A6A6A4E +:10DEE0002E2E2E2E96C18F5346516A325794ACACCB +:10DEF000ACACACACAC1A1A6A42C1C320C427926B5A +:10DF0000C9747446C91919195F1DC47C30303013A7 +:10DF10001AE49466A635170E3505050549493535C9 +:10DF20003535350E41DCE84531313131313113E8D9 +:10DF3000E8E8133179762BC8C877742BC8C85974B0 +:10DF40001971EBB454A94F367069E96D360CAEA661 +:10DF5000AE2D0C772BB3B3D1201320D7D713C877AE +:10DF6000C8C8C813D7E813E8E87640767979797697 +:10DF700079797933FB37B11331E24040400D0D40E0 +:10DF8000E240404040AB1A1A94949494A69494941E +:10DF90009494946A6A6A6A946A2E2E2E2E2EACE4A9 +:10DFA000C3FEFE9457946A6AACACACACACACACACFF +:10DFB0006A1AC1C15A1D278D175F747446C9C946B4 +:10DFC00019765FB962B9B9305BE4FE3294946E4958 +:10DFD0000E35050505494935350E0E0E0E41DCDCC2 +:10DFE000E845313131317931313113133131131386 +:10DFF0007979C8743812595474D1EA10BBA94FA961 +:10E000007070CF0CE9690C24EB2FE9691EC82BB3A3 +:10E01000D113132020C5137777792BC8B3D7C5D771 +:10E02000D7E8764076797976796713B14C0F331358 +:10E03000794040E2E2400D7E40E24040404034E61C +:10E0400060949494949494949494949494949494C4 +:10E05000949494A62E2E2EA66AAC60606060FEACEE +:10E060006A6A6A6A6A6A6A6A6A6A6A42C1FEE8B584 +:10E0700092175E747446C9C946197676807C7C7C9A +:10E0800006BEE4AC5A6A71176E0E350505050549E2 +:10E09000350E0E0E0E0EDC0E0E41DCE845313176EB +:10E0A00079797979793113DCDC0E872B74C874594E +:10E0B00054592CEBB4CDA93B3B707036CF0CCBD36D +:10E0C00010D2B46DCF0C1EC82BB3D1132020D713A0 +:10E0D000C87779792B7913C54141E8794076797908 +:10E0E0007913AF37FBC5133179767640E2E2407E93 +:10E0F0007E40E2404040407E0B602E949494949485 +:10E1000094949494949494949494949494A6A6A699 +:10E11000A69494946AACAC2E6A6A6A6A6A6A6A6A5D +:10E120006A6A6A941AC3C15B6B921775467446C9D2 +:10E13000C9191976765E30417CE82E609424ACB122 +:10E14000173535350505053505350E0E0E8787DC87 +:10E150000E0E41414141E8E8313179767676761309 +:10E16000DC6EB5DC797779745954BBA66F38A93B5E +:10E170003B3B707036CFCB6978A66F2FE9690CE90D +:10E1800077C82BB3D1D1202013C87779B37979130D +:10E19000D74141D7314076311333FB4CB1137979F4 +:10E1A000797976404040E2407E40E2E240404040A3 +:10E1B00040AB1AAC949494949494949494949494BE +:10E1C000949494949494949494949494949494940F +:10E1D000946A6A6A6A6A6A6A6A6A6A6A946AE4C17A +:10E1E0006641261780194646C9C9C9C976765E5E5A +:10E1F000067CC596FE66322E8E170E0E3505053549 +:10E200003535350E0E87DCDCDC0E0E0E41410E3549 +:10E21000350E9FDC1379767679E8B56E337977C859 +:10E2200012543871EB2F3B54CD3B3B0C0CCB7000A0 +:10E230002D89A651D30C690CE91EC82B2BB3B3133F +:10E240002020790DC8B37979B3E8D741305E79677A +:10E2500033B14C0F3313797679797976404040E2C7 +:10E26000404040E2E2E2404040E234E6FE949494D2 +:10E270009494949457575757575757949494949409 +:10E28000949494949494949494949494949494944E +:10E290006A6A6A6A6A6A57FEC196332627F7C9C94D +:10E2A00046C9C9C97676763131E88071E4AC325717 +:10E2B000A60E6E0E0E350505353535350E87DCDCC0 +:10E2C000DCDC0E0E41415D6B6EA2A2A2A235DC1316 +:10E2D00079795D6B13792B74385459B4EBE3B33B04 +:10E2E00054CD3B3B440C704848EC0BA6AEEC36CF0B +:10E2F000690C1E77C82B2B2BB31320B30D0D797926 +:10E30000797913E83041C520AF3737AF1379767686 +:10E31000767679797640E240E24011E23131E240AE +:10E32000404040400B6094949494949457575757AE +:10E33000575757575757949494949494949494940B +:10E340009494949494945794949494949494945707 +:10E35000ACC3C3F12727B95F5FC9C9C9C976763194 +:10E360005EE8E831A6E494246A6F0E0E0E0E353591 +:10E37000353535350E0EDCDCDCDCDC0E0E410EDE18 +:10E380006B49A2D58585D5A235E8E85D792BC8C84B +:10E39000747459BB1065F2795408080808697070E4 +:10E3A00036702DE1A6AED30CCFCB691E7777C8C8E7 +:10E3B000C8B3B313B3C877C87979797913C5258EF3 +:10E3C000934CB12067797976767676797976404084 +:10E3D00040E240E2E23131E2404040E2E2641AAC25 +:10E3E0005794945757575757575757575757575743 +:10E3F00094949494949494945757575757575757C5 +:10E4000057575757579494945794E4C15A354BB97A +:10E4100075755F5F5FC9765EDC35DC315B9696575C +:10E42000242E710E0E0E0E353535353535350EDC94 +:10E43000DCDCDCDC0E0E416B6B0E49A2D5858585DC +:10E44000D5A235DC137976C877C8C87753EB71B39A +:10E4500046A908080808CB364870702D51A672D816 +:10E46000640CCB69E91E77BBC8C82BB3B379C877F6 +:10E4700077C879797913C593B685C5137979797990 +:10E480007640407679797640404040E2E2E23131B0 +:10E49000404040E2E23140E6FE5757575757575742 +:10E4A000E65757575757575757575757575757576D +:10E4B00057575757575757575757575757575757EC +:10E4C00057575796C1AC1B4BB975B9805E5E5F5EFE +:10E4D00033D57DE83171E41A3232ACAF350E0E0E11 +:10E4E0000E3535353535350EDCDCDCDCDC414141C3 +:10E4F0005D0E0E49A2D58585D57D8E9FDCC5135E48 +:10E5000079C82077E565E3D17659125408083B694C +:10E5100069004848699065AEE5D1E969690C1E1E3D +:10E5200077BBC8C82B2BC8C87777C82BB3203393C9 +:10E5300021852513797979797976404076797976CC +:10E5400040404040E2E2E23131404040E23131E2DD +:10E55000D8FE94575757E657E6E6E6E6E6E6E6E6DF +:10E56000E6E6E657E6E6E6575757575757575757E1 +:10E570005757575757575757575757571AC38FB06B +:10E580004B7C756262805E5E133C92DCE831A6E4EF +:10E590002E2466A6C5350E0E0E0E353535353535AD +:10E5A0000EDCDCDCE8E8414187410E0E49A2D5D5FE +:10E5B000D5A225DCD7DC9F9F335EC813646FEBB414 +:10E5C000B37754791908083B69690C694869F5FC07 +:10E5D000AE0C440C69690C0C1E7777BBABC82BC81A +:10E5E000777777C8B3D1AF4C3725F3415E79797629 +:10E5F00076767640767679797640404040E24040C3 +:10E60000E2E2404040E2313131C82EACE657E6E666 +:10E61000E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E69A +:10E62000E6E6E6E6E6E6E6E6E65757575757575773 +:10E6300057575757E66A42C124493D7562E07C5EF0 +:10E6400031DC05DC1331D1FE9694249466DC350E62 +:10E650000E0E0E3535353535350EDCDCDCE8E8419F +:10E66000DCDCDC410E49A2A2A2A28EDC1313DC9FEB +:10E670009FC513C82071EB5377B33838B3C8080867 +:10E680003BCB44694836694D52712D696969E9444B +:10E690006DE91E777777ABC8C87777C879D1B14C69 +:10E6A000B120133041E879797976767640767679BB +:10E6B0007976E2E24040404040E2E2404040E231D0 +:10E6C000313140E1FE57E6E6E6E6E6E6E6E6E6E676 +:10E6D000E6E68132323232E6E6E6E6E6E6E6E6E60F +:10E6E000E6E6E6E6E6E6E6E65757575757E657E426 +:10E6F000C110353D80627F7F30E8133131313153B5 +:10E70000E4FE32249471870E0E0E0E0E353535352B +:10E7100035350EDCDCE8E8E8DCDCE8E8410E49A24F +:10E72000A2A2359FE81313DC9F9FC513C8B1EB105D +:10E73000BB59745477B3380854A56969CB69CB0CBD +:10E740001B5266CA0C0C69E9BFBF6D6D77BB77774A +:10E7500077C877C82B5BFB4CAF677976E87C3031A4 +:10E76000797976767640767679797640E2E240403D +:10E770004040E2E2E24040E2E23131E22BAC2E32B4 +:10E78000E6E6E6E6E6E6E6E6E6818157575757E62F +:10E790003232323232E6E6E6E6E6E6E6E6E6E6E69D +:10E7A000E6E6E6575757E6E696C1AC357F80627FCE +:10E7B0006B6EE831313131E29460AC32246AB10ED3 +:10E7C0000E0E0E0E0E3535353535350EDCDCE845D2 +:10E7D000E8DCDCE8E8DC0E49A2A2359FDC33131349 +:10E7E000DC9F9F2079D165655B7754A55477795973 +:10E7F00008A554000CE936CB431B71A6780C0C69B4 +:10E800000C44E544E977BB777777772B642CE30FEB +:10E810005BD179C80D5E4141137979767676407681 +:10E820007979797640E2E2E2407E4040E240404041 +:10E8300040403131317EE1FEE632323232323281D5 +:10E840008181E6E61C7878978CE6E681818181817A +:10E85000818181818181818181E6E6E6E657575792 +:10E86000E61AC3969F7F807C6B2717453131313183 +:10E87000B3FEFE9424322EC50E0E870E0E0E0E35FC +:10E880003535350E0EDCDCE845E8DCE845E8DC0E25 +:10E8900049A27D0EDCE8131313DC9FC5B3D1E3EB73 +:10E8A0002C77745438745454543BA53B70487069A9 +:10E8B0006D2A0CAE65E1440CCB69E9BF44E91EBB8F +:10E8C000BB77772B03B1E353D1677979C80D7930E2 +:10E8D00041137976767676407676797979764076D0 +:10E8E000E2407E7E40E2E240114040E23131E264AB +:10E8F000AC2E323232818181818181E691001FA963 +:10E900003B547890E68181818181818181818181FF +:10E910008181818181E6E6E6E6E62EC3E4AF7F8071 +:10E920007C17276E45313131E2F1E41A6624669492 +:10E93000E80E0E870E0E0E0E353535350E0EDCE860 +:10E940004545E8DCE845E8DC0E35A235DCE8331364 +:10E950001313339FC513373F5374595474D1203860 +:10E9600008543B5454000036446DCB482D10A62F5C +:10E970000C69690C4444E91E1E1EAB64D1FBE35BC9 +:10E980006779797979C80D40E84113797676797697 +:10E99000767676797979764076E2407E7E40E2E25C +:10E9A00040404040E231E2314024FEE63232818193 +:10E9B00081818181ED3670364FCD3BA94F7881E65C +:10E9C000818181818181818181818181818181E6D2 +:10E9D000E6E6E6944242B16B305DB8175D803131B6 +:10E9E000317E6660AC32249471E80E0E87870E0E7D +:10E9F0000E0E350E0E0E0EDCE8454545E8E84545A1 +:10EA0000DC0E353535DCDC13133113339FC5FB3F8A +:10EA100037BB5974772BD1B35438543B08387070D6 +:10EA20007070366936690BEBBE0C69690C6D0C0CA5 +:10EA30001E1E4464B037FBD12B2B2B79792BC80DCC +:10EA40000D5ED71379767679767676767979764013 +:10EA50004076E2404040E2E2E240404040E2E2E212 +:10EA600031E203AC948132818181818181223670CF +:10EA70001F364F4F4F4F1FECED81ED81EDEDEDED6A +:10EA8000818181818181818181E6E6E657E4C371DC +:10EA90006E411717177F80313131791AFE6A2424AD +:10EAA000942CDC0E0E0E41410E0E0E0E0E0E0E417B +:10EAB000DC45454545E8454545E8410E0E0E9FDCE1 +:10EAC00013131313339FFB3FE32B38385B2B2B209F +:10EAD000121219543B0877707000CB6D0C36CB695D +:10EAE000243F72CF690C0C690CE964D82CE3B103A4 +:10EAF0002BC8C82B79792BC80D0D7913317976760F +:10EB000076767676767976767640E2E2E24040E294 +:10EB10003131E2404040E2E2E2E2317E8C1AE681AD +:10EB200081818181ED81907070701F363636363666 +:10EB30007069ED81EDEDEDEDEDEDEDEDED818181B6 +:10EB4000818181E6E65760C3375D5D6E6E477F0663 +:10EB50003131E2B4601A6624329433870E0E874155 +:10EB6000410E0E0E0E0E0E0EDCE845E84545E8455A +:10EB70003145E8410E0E0EDCDC1313131333FB3F5B +:10EB8000FC037474B3D1772B74547774543B3B7784 +:10EB90007070000C6D363636702D6F2E78CD0C6986 +:10EBA000690CD3D80FE32C03C877C8C87979792BBF +:10EBB000C80D0D0D797979767676767676767979CF +:10EBC0007676E2313131E2E2456E45E2E24040E202 +:10EBD0003131E231E2AB6A94ED81EDEDEDED81731F +:10EBE0007070701F1F1F1F1F707000EC81EDEDED26 +:10EBF000EDEDEDEDEDEDEDED81818181E632E69615 +:10EC0000C3100E5D065D476E0631317EBEE4AC2456 +:10EC10008C3266E80E0E41878741410E0E0E0E0EB5 +:10EC20000EDCDCE8E845E8E8453145E8410E0E0E2B +:10EC30005DDC13131313B13F65B077742BF2D12B46 +:10EC400077385938123B54CD3870707070487070F6 +:10EC5000703669D3A6A67869690CD3BFFBE3D86484 +:10EC6000C877C8C8C87979792BC8C80D0D0D7679D1 +:10EC7000767976767676767931793131313131310E +:10EC800045276B453131E2E2313131313131349058 +:10EC90001A81EDEDEDEDEDED7370007070701F7089 +:10ECA00070707070009181EDEDEDEDEDEDEDEDED3D +:10ECB000EDED81818181E6E660C3FC8730315D47FF +:10ECC0006E80313176ACFE6A248C57BE450E0E4103 +:10ECD000878741410E0E0E0E0E0E0E41E84545454A +:10ECE00045133131E8DC0E5DDE5D13131379F2EB71 +:10ECF000D22C2B19742B5BD17777D1745454545484 +:10ED0000CD5470707000007070706944E9D3A6A68D +:10ED10007869D3BFBE66E5BFBB1E7777C82B79790C +:10ED20007979C80D0D0D0D76797679797640407632 +:10ED3000793131313131454545172706453131317A +:10ED4000E23131313131E2E277576AEDEDEDEDED4F +:10ED5000ED224800707070707070707070707097F5 +:10ED6000ED2222222222EDEDEDEDED818181E6976B +:10ED7000E972C3A6314531306E418031E2D8601A64 +:10ED80005724249453E80E0E41414141410E0E0E8A +:10ED90000E0E0E0EDCE84513134513313145E841E4 +:10EDA0006BDEDC13317933EAD20FB32BC87774B33F +:10EDB0002BBB772B74545454CDCD4E70707069704A +:10EDC000707048692DE90C2D5A2EE1AEBE24BF7833 +:10EDD000BB1E1E1E77C87979797979C8C80D0D0DCB +:10EDE000767676767676407676793131314541871A +:10EDF000454117874545313131313131313131E2CA +:10EE0000E240AE1A32EDEDEDEDEDEDCB007070703D +:10EE10007070707070707000ECED909090222222F3 +:10EE200022EDEDEDED8181CA1F0859602E40313190 +:10EE3000458706313140BE601A32E124945B874138 +:10EE40000E41878787410E0E0E410E0E0EDC4513D4 +:10EE5000131313313131454541DE5DE8133133522F +:10EE6000D20F33B32B19777438BB2B38383854543E +:10EE7000CD3B541E4870000C4469363636CFCB6902 +:10EE8000CFE9E1A6EB6FAE44E9BB1E1E1E77C82B8F +:10EE900079B37979C80D0D0D0D7679767676764051 +:10EEA0007631131313E8176EE845064545E84531FA +:10EEB0003131E23131E2E2E2E2E230B3EDACEDEDEC +:10EEC000EDEDEDED4A0070707070707000007070C4 +:10EED0007070FF229090909090222222EDED81910F +:10EEE00000A95459962E403131313131313176AC4F +:10EEF000FEAC24E132571387414141878787410E99 +:10EF00000E4141410E41E8451313131331313131A4 +:10EF100045410EDCDC1333E3D20F3333B32B2B77B5 +:10EF2000777777B3BB12125454CDCD54CD4870705F +:10EF30000069440C69CB363636694472106610A6F7 +:10EF4000BEF572BFBB2B77C82B797979C8C80D0D78 +:10EF50000D0D7913136713205B9FAFAF9FDC17AACA +:10EF60008745453131F6063131E2E2E2E231E2E253 +:10EF7000E2E2E2E8F3E5575722EDED22ED6300709F +:10EF8000000000000000000000700007227373738F +:10EF9000739090222222ED737070A93B5996A6407F +:10EFA000313131313145E2D8FE1A94E1E132BE45CA +:10EFB0004141414187878741410E41414141DCE860 +:10EFC00013131313133131313131E8DCDCE8C5524E +:10EFD000D2B1133333B32B2B7777C8C87479E812C7 +:10EFE0005454CDCDCDE9690070700036D30C6DCB93 +:10EFF0003669D3AEA653AEE5722410A610E3E30F34 +:10F00000B1B1B1AFAFF2F25BF2F2AF0F930F0F0FEE +:10F010000FB1AFC533E86EAA0E45453145F606314E +:10F020003131404040E2E2E2E2E2E2E2313041AE40 +:10F03000AC8122ED22229048000000000000000078 +:10F04000707070001573737373737390902222ED58 +:10F05000EC00701F3B59606640313131314545113C +:10F0600024FE1A32E124575345874141418787875F +:10F0700041414187414141DCE845451313131331B8 +:10F0800031313113E8DC9F52D20F79B33333B32BD4 +:10F09000C877772B2BC86B795454CDCDCD4EE9363C +:10F0A0000070707000362D2D2DCBD3AEA624AEE5AA +:10F0B000ABE9E944BF72537137E3CECECECEE3372E +:10F0C00037FBFB0F0F938E9F336779797979E827A8 +:10F0D0005D131313314531E2313140404040E2E2EB +:10F0E000E2E2E2E24040E25D2C222E8C222290ED10 +:10F0F000CA000000000000000000000000701C7347 +:10F1000073737373737390ED890070701F3B12E417 +:10F110007140313131313145406AFEAC24E12494F3 +:10F120005B45874141418706878787DCE887DCDCD0 +:10F13000DCE8454545454587453131313113C552F8 +:10F14000D20F1379B32020B32BBB7777B3B3DCDCBA +:10F15000124E54CDCDCDE9CF48707070707000CB99 +:10F16000692D2D78662478BFE5BBD36DE92DE91EA6 +:10F170001E1E2BD1202020D1677979797913C5E81B +:10F1800079767640767979E8E8133131313140404B +:10F19000E231E240404040E231E2E2E2E240E29F1E +:10F1A0004C85BFE694909090907370000000000032 +:10F1B0000000000000000063739773737373737330 +:10F1C000EDEC0070701F08BB422CE231313131454B +:10F1D00031D11A1A94E1E124571306E88741418797 +:10F1E000060687E8E8E8DCDC41DC45454545455D49 +:10F1F00016453176767613E3D20F137979B313136C +:10F2000079BB7777BBB379791E4E4E54CDCD0CCDFB +:10F21000697048487070704848362D78716678D3A8 +:10F22000444444BB442D6D6DE9E91EBBC879B379F4 +:10F2300079C80D0D0D7613DC1331797976797979EA +:10F2400079313131313140404040E2E240E2E2E2A6 +:10F250003131E240E231DC3C4C350E877894E67384 +:10F26000907390FA00000000000000000000000011 +:10F2700007739797977373739073707070701F080C +:10F280000B4267313131313145E2E1FE1AE6DBE113 +:10F29000325A3106E8DC878706060606E8E8E8E821 +:10F2A0004141DCE8454545F6DEF63176767679E390 +:10F2B000EBB179797979B3B3B3C8777777772B776F +:10F2C0001E4E387754CDCDCF690C704848707070A1 +:10F2D0002D69CBD3DBE3AED30C44446464D36DD34C +:10F2E0006DE9E9772B2B2BB3792BC80DC80D79E885 +:10F2F000D7E8E87976767676797979797976E24021 +:10F30000404040E2E23145313131E24040333C950A +:10F310007DDC870E457E896AED73737373EC0000A4 +:10F320000000000000000000004A97FF97979773C5 +:10F33000739063007070701F08941A40313131313E +:10F34000314576941AAC24E1E157E13106E8E887CB +:10F35000DC06E8E830E8E8E8E8DC4141E845E84177 +:10F36000DEDE4579764079E3EBB17976762B2B7941 +:10F370002BC87774777777777738E91E64E9CFCF32 +:10F38000CF0C0C7048487048700C6DEC89100B78ED +:10F39000696944BFBF446DBBAB6DE9E9BB642B2B0E +:10F3A00079792BC8C8C80D79E841871379797676C1 +:10F3B0007676767679767676407E7E40E23145873F +:10F3C00031E2E2E2137D524C9F13870E13E2116883 +:10F3D000FF6A2273737373150000000000000000C1 +:10F3E0000000EC971CFF97977373904A0070707041 +:10F3F0001F4EE453E2133131311331D16A1A6A8C52 +:10F40000E12494B431E8E8E8DC8706E8E8E8E8E8D5 +:10F410004545E8DCDCE8454516DE4131790D79E308 +:10F42000EB2C7676C8C877777777777474777777A9 +:10F4300074BB1EE9E9640CCFCFCF0C69483648484D +:10F440004848360CCA2424782D6969D3BFD3E944CF +:10F45000D1641EE9E9772B2B2BB32B2BC8C80D0DDC +:10F460003141411379797676764076767676797978 +:10F4700079407E7E40E2454531E231137D5295353B +:10F4800013E2458731E24040116873947397739794 +:10F490009715000000000000000000EC971C1C976E +:10F4A00097977373CB0070707070E1E476313131EF +:10F4B000313145E2F51AACE6DBE12494D13E45E872 +:10F4C000E8DC87E8E845E806E8E84545E8DCE845A3 +:10F4D00087DEF61379767937FCB00D0D0D747477ED +:10F4E0007777777474747777BB77BBBB380CE9692F +:10F4F000CFCFCF0CCF483648CB48CBCB699157897B +:10F500002D0C696944BF44E94464BB1E1E1E1E776E +:10F51000772B79792BC8C80D76E841411379797634 +:10F520004040407676767979313176404040E2E26B +:10F530004031337D5295A0133131E231E2404040F9 +:10F5400011401112225773FF9797974A000000004D +:10F5500000000000EC971C1CFF9797739748707091 +:10F560007070CF60664013313131314540E6ACAC4C +:10F5700024DBE132E6E24545E8E8DC8706E845457C +:10F58000E8E8E84545E8E8E84506E813317667E34A +:10F59000FCB0747777747474777777777474743891 +:10F5A000772B77BBABBBE9CD69CFCFCFCF696936BE +:10F5B000CBCB696D69691CE691EC69690C78E5D182 +:10F5C000AB6D6D1E64641E1E1E772B792B2BC8C875 +:10F5D0000D79305D411379767640404076767679C4 +:10F5E0007931317940404031139F3C524C9F31E298 +:10F5F00031313140404040E2311140401112225738 +:10F60000731CFF1C9763150000000070004A1C1C4F +:10F610001C1CFF977397487070700090422B31311B +:10F620003131313131B36AAC6AE1DBE15724114544 +:10F630004545E8DC8706E8454545E8E84513E8E840 +:10F64000E81331315E7667E3FC5B0DC8C8C80D77FF +:10F65000777777777777747777772BBB7764BB1E6D +:10F660000CCDCFCFCFCF69CB4869EC432ACBEC97F9 +:10F67000ED78D3696969BFE55BC5BBE9BBD1641EA1 +:10F68000E91E772B797979C80DC85E41F34113766D +:10F69000764040404040767931317979404079C5B3 +:10F6A0007D95957DDC794040E2313131404040E24A +:10F6B00045451140404011127357971C1C1C1C1CDF +:10F6C00091EC48000000911C891C1C1C1C971C70AC +:10F6D00070700091425A7E313131313131E2F51A88 +:10F6E000AC57DBDB8C94F1E2314545E8E84187E833 +:10F6F00045314545E845311313133131317620E367 +:10F70000FCB046C8C8C8C8C8C8C8C87777777738B3 +:10F71000772BBB777774BBBB13E969CFCF4F69D326 +:10F72000480C0C434D69CBEC97902D0C0C782DD3E5 +:10F73000E5D825201EBBD1ABE94EE97779797979F7 +:10F74000C80D765E7CF341137676404040404076AB +:10F750007979767913330F95524C8E87457E7E40AA +:10F760004040E231E2407E40E23140404040404093 +:10F77000E212FFE6731C1C89891C1C63FA4A078984 +:10F780008989891C1C1C971C700070071A1A743117 +:10F790003131313131314066ACAC24DBDB246AD10C +:10F7A00031313145E8E8D7E8E845453131E84531C0 +:10F7B0005E5E5E7976765BFC52D846747446C8C845 +:10F7C000C8C8C8C87777777774BB2B777777747793 +:10F7D000DCDC1ECFCFCF4F69D30C692D4D2DCBCBA9 +:10F7E000EC97E1D3690CAEBF2D642FAF25641EBB2F +:10F7F0001EE9E91E7779791313790D765E7CF37C27 +:10F80000137976400D0D0D404076135B0F526CCE90 +:10F81000B133138787E27E7E40404076E240407EEF +:10F820004040407E404040404040E26891817389C2 +:10F830001C1C8963636363636389891C1C1C1C1C17 +:10F8400097CBCB89E660781131313131313131B329 +:10F850006A6A6A8CDBDB32947931313145E8E8D76A +:10F86000E84545453131315E315E5E5E79765B65F6 +:10F87000E320C84674747477C8C8C877777474BBBB +:10F88000BB7477BB771E7774790EBB640CCFCF3611 +:10F89000696948362AD3CB4848691C2478696D7851 +:10F8A000D30CBFE55B25D86DE9E90CE91E7779DC5F +:10F8B0005DE8790DC85E413D5DE87640400D0D4044 +:10F8C00079F2FB526552935B797E40E88731404084 +:10F8D0007E4040404040407E7E7E40407E404040F2 +:10F8E000404040401134D3737363FA07CACA2D2DC8 +:10F8F0002D2D2DCACAFA6363FF73977322FE9734C6 +:10F9000031313131313131E2B4AC6A94DBDBDB5778 +:10F91000E6113131313145E8E8E8E845453131312A +:10F920003131315E7979F26537B37676C8747474A3 +:10F930007474747438383838BBBB38747774C8C87A +:10F94000772B1E0C44BBCFCF360C0C48690CCB4830 +:10F950004848CB89E691690C78690C44E55B5BC546 +:10F96000BB0C0CE9E91EAB336B4179797976E87C05 +:10F970003DF3E879797933AFFBCE52CE0F5B317628 +:10F98000407E7EE213E24040407E7E404040404068 +:10F990007E7E7E407E7E7E7E40404040E2117E59EB +:10F9A00069D338744646686802020202DD4646742E +:10F9B000E9CAFAFF221A9068E2E231313131314569 +:10F9C000405AACAC32F1DBE194E1113131313145D7 +:10F9D000E8E8E8E85E3131313131315EB379B16563 +:10F9E0007176C8C8C8C84674747474383838777764 +:10F9F000387777381E77C8872B1EE90C0C69440CC2 +:10FA0000CBCB692D0C48486948487070CA5A5AAE29 +:10FA10000C78690C44E55B5BC5D16D1E1E777713CE +:10FA20006B5D13797931E8413D7F28930FFBE3E368 +:10FA3000E3FBF2137976404076407E347E40407E90 +:10FA40007E7E7E7E40407E40407E7E7E407E7E7E0C +:10FA50007E7E4040E20D121246DD461254CDCDCFDF +:10FA6000CFCF4F4F4FCD545946DD5FC938891C3435 +:10FA7000E240E2313131313131766A6A6A24F1DBB8 +:10FA80008C6AB4E231313131E8E8E8E85E31313195 +:10FA9000313131797913FB652CC8C8C8C8C8C8464C +:10FAA00046467774743838771E381E38381E770EFD +:10FAB0000E1EE90C0C69696969CBCBCBBB690C489C +:10FAC000CB0C70707069CAED6590CA690C44D1D1D5 +:10FAD000D825C5BBBB2BB313161613676720252883 +:10FAE000ADB6F0F0214C7DAFD1790D0D0D76797961 +:10FAF0007676400D340D40407E7E7E7E7E404040D6 +:10FB00004040407E7E7E7E7E7E7E7E40E26874DD6A +:10FB1000DD744ECFCFCFCFCFCFCF363636A9A9A900 +:10FB2000A9A94F5474C95F741234E2E23131313102 +:10FB300031E2D8AC6A94DBF1DB2494B3313131315A +:10FB40003131E8E8E85E313131313179761337FC13 +:10FB5000F276C8C8C8C8C87774774677743838381A +:10FB60003838383838383813B52B6DE90C0C6969DA +:10FB7000CFCBCBCBCB44CB69E9BB1E707070693661 +:10FB80006DF15A5AE12CA0B0E5B4C7285BE5B45B2F +:10FB90006E6B8E8E934C4C21B6B6AD287FF341131D +:10FBA000400D0D0D0D0D7676797676400D340D40B5 +:10FBB000407E7E7E7E4040404040404040407E7ED1 +:10FBC0007E7E7E7E7E114E7412CD5454CDCDCFCF2D +:10FBD000CF4F4F4F1FA9A9A9A9A93B3B3B3B5412AB +:10FBE000765E1934E2E231313131405A6A6AE6F127 +:10FBF000DBDB32667631315F3131315EE85E3131E7 +:10FC0000315F76767620E3105B76C8C8C8C8C877BF +:10FC100074747474747438124E38384E4E383877A1 +:10FC20006E331E44E90C0C44E9CBCBCBCB36E94810 +:10FC30004869E9447070703648D3D3CB78533C4C54 +:10FC400071BEE3F0F02137718E6E8E8E0F0F93C769 +:10FC500025417C7C7CF3F34113760D0D0D0D0D4099 +:10FC600076797676407E340D40407E7E7E7E7E4084 +:10FC700040404040404040407E7E7E7E7E7E404010 +:10FC80004FCFCD544ECDCDCDCFCF4F4FA9A9A9A9A0 +:10FC9000A9A9A908083B54545912465E767E313111 +:10FCA000313131766A6A6A24F1DBDB942411315FE9 +:10FCB0005F5F31315E135E5E315F7676765B103763 +:10FCC000D1762BC8C8C8C8C8777474383874383827 +:10FCD00012545454544E38382B13E9BB6D0C0CD3CA +:10FCE000446DCFCBCBCB360C707069CB384870707D +:10FCF0007070363648CBAB03BFAEBF5B8EAFAFAFD5 +:10FD0000D12B2BABB320D741D75E315EE8417CF3DA +:10FD100041D731400D0D0D0D4076767676400D348D +:10FD20003440407E40407E7E40404040404040E283 +:10FD3000407E7E7E7E7E7E40400D4FCD541254CD5F +:10FD4000CDCFCF4FA9A9A9A9A9A9A9A908083B5412 +:10FD500054596874C9744031313131E2D8AC946A75 +:10FD6000DBF1DBE16AB411315F5F5F5F315E135E2F +:10FD70003176767676AFFC0F797676C8C8C8C81922 +:10FD800077747474747474381254545454545438CA +:10FD90001E1EE90C6D0C69690C0C69CBCBCBCB3604 +:10FDA0000C707048CBE9CB007070696948690C2D04 +:10FDB0002D6DBF1EB3641EBB6464C87777C85E2018 +:10FDC00013B3C80D0D7631D77C7C41E876400D0D1C +:10FDD0000D4040767676400D343440404040407EC1 +:10FDE0007E40407E7E7E7E404040407E7E7E7E7EA7 +:10FDF000407E1134CF4E4E1E4ECDCDCF4FA9A9A976 +:10FE0000A9A9A9A9A908080854545968DD3868E2C5 +:10FE1000E231313140E16A6A57F1F1DB246AB35FC4 +:10FE2000315F5F5F5F315E5E5E31767676B1FCB1E9 +:10FE300079767976C819464674747438387474388B +:10FE400012545454545454544EE90C0C0C696969BE +:10FE500069690CCFCBCBCBCB3644707070700C364D +:10FE60000070702D0CCBD30C69CB0C78BBD16D6DB1 +:10FE7000441E77C8C8C8C82B2BC8777468340D7661 +:10FE800031417C41D731760D0D0D0D404040404051 +:10FE90000D343440407E40407E7E40407E7E7E7EFB +:10FEA000404040407E7E7E7E7E4040E2310D4E6787 +:10FEB0006738CDCDCF4FA9A9A9A9A9A9A9A9080893 +:10FEC00008545468465468E2E23131313140949428 +:10FED0006A24F1F1DB3294765F5F5F5F5F5F315ED2 +:10FEE0005E5E5E765EFB105B76795E7979C84674FD +:10FEF00074747474381238381254545454CD5454A1 +:10FF00004E4E0C0C69690C6969690C440C36CBCBFC +:10FF1000CBCBBB000000000C367070702D0CCBD327 +:10FF20002D69690C0CBB4144E96D1E1E1E2BC87760 +:10FF3000C82B7712121268340D76E8414141E8313E +:10FF4000760D0D0D40404040403434347E7E7E7E40 +:10FF50007E7E7E7E7E7E7E7E7E7E40407E7E347E87 +:10FF6000347E4031454531DC172B4E54CDCD4FA961 +:10FF7000A9A9A9A9A9A9A908080854B2B25434E2A8 +:10FF8000E2E2E23131E2D16A576ADBF1F1DB325A67 +:10FF9000DD5F5F5F5F5F5F5F315E5E5F13E3E320A6 +:10FFA000767679797976C8C84674747438381212BE +:10FFB0005954541254CDCDCDCD544E0C6969E90C31 +:10FFC000696969CBCBCBCBCBCB36694470000000E1 +:10FFD0000C367048702D0C366DE96969690C20F398 +:10FFE000D1E90CE91E1EBB641E77B3C812121212AF +:10FFF000340D0D31414141D71379400D0D0D0D40A8 :020000022000DC -:100000001E77B3C812121212340D0D31414141D77F -:100010001379400D0D0D0D40400D3434347E7E3487 -:10002000347E34347E7E7E407E7E34347E3434347E -:100030007E347EE24541E887B533E91254CDCD4F99 -:10004000A9A9A9A9A9A9A9A9080854235412111159 -:100050001111E2E2313140E16A9457F1F1DBDB94B6 -:10006000F57E315F5F5F5F5F5F315E31C5FC375E9C -:10007000767676767676C819C877747438383859B3 -:100080005959543854CDCDCDCDCD54CD6969690C75 -:100090006969696969690C69CBCB480C444870008F -:1000A000000C36484848CBCBCBD36D6969366944E0 -:1000B00020C564E9E91EE91E2BABAB2BB374121209 -:1000C0001268770D79E84141D7E83176400D0D0D82 -:1000D0000D400D3434340D0D34343434347E0D7E03 -:1000E0007E407E3434343434347E7E40E2065D0E0D -:1000F000B55DE24E5454CDCD4F4FA9A9A9A9A9A9E8 -:100100000808A5A56D67E21111111111E2E2314055 -:1001100057576A240BF1DBDB6AD8115F5F5F5F76AC -:10012000765F5F31B1EA0F79767676767619C819FF -:1001300019747474383812595959545454CDCDCD5A -:10014000CDCDCDCDCD6969CFCF6969696969690CBC -:100150006936CB480C4470487070CB4848CBCB48CC -:1001600070CB44440C69366D2D6DD1D7BB6D1EE943 -:100170001E67DC2BBBC87712121212740D7679E859 -:10018000D7D7E813794040407E7E407E34347E40AD -:100190007E343434347E7E407E34681268347E345B -:1001A00034347E4031E8415DB56B31E234CD54CD1D -:1001B000CD4F4F4FA9A9A9A9A908080843180513AD -:1001C000111111111111E2E2646AE694DB0BF1DB0B -:1001D0008C94195F5F5F5F7676767631FB65AF76DC -:1001E0007676767676C819191919747438383812F3 -:1001F00054545454CDCDCDCDCDCDCDCDCD0C0C0C56 -:10020000CB690C69CFCBCB690C0CCBCB480CD300A2 -:1002100070484848CB696DCB4848CB6D0C69CBCB57 -:100220006DD3694420D11E1EE92B6E337777771E7C -:1002300012121212680D0D0D7913E8E8E831790DEC -:1002400068125412595454546834347E7E344040F9 -:10025000126846DD466854687E3434403141F35DAF -:100260006B6BE8E24040CDCDCDCD4F4F3B4FA9A9C0 -:10027000080808086D7A189AA0311111111111E2BD -:100280007EF56AE6570B0BF1DB2466345F5F5F5F38 -:100290007676405EE3FC33767676767676C80DC861 -:1002A00076C8197438383812545454CD3B3B3BCD82 -:1002B000CDCDCDCDCDCD0CE90CCBCBCBCBCB690C03 -:1002C0002D2D693636480C2D70704848CB2DB02A3C -:1002D000CB36367048363636690C0C690CABD1BB60 -:1002E000E91EDC33771E771E124E4E121212340DA9 -:1002F0000D0D7913E813C86846DDA1A1D9D9D9A19C -:10030000A1DD026812687E405959A175DF5858D99D -:1003100059127E7EE206F3F35D5DE83140407E5483 -:10032000CDCDCD4F4F3B3B4F3BA5083B543BD47A03 -:10033000189ADCE211111111E27EE69457327272C2 -:10034000F10BE6E1A45F5F767676402010E313764A -:1003500076760D0D76760D0D7676C87774121212BC -:10036000545454CDCD3B4F4F3BCDCDCD0CCDCDE9ED -:100370006D2DCBCF6969CBCBCBCB6969363648695C -:100380006948484836691B012DCB363648704836D7 -:1003900036CB690C0C0C6D64774E772BAB1E1E1E92 -:1003A0001E124E4E121212680D0D0D400D1268A154 -:1003B000DF5858DFDFDFDFDF5858585858D9025967 -:1003C000A9A52323A4A175DFDFD968681145F3F33C -:1003D00041E83131407E40125954CDCD4F3B543B22 -:1003E0003B3BA5543B54A5437A189A6131E2111165 -:1003F00011112B6A3257DB7272F10B94D8DD5F76E4 -:10040000767640AF650F76767676760D4646460D63 -:100410000D76C8467438125954545454CD3B4F4F3E -:100420004F4F4FCDCD0CCDCD0C0C6DCF0C0CCBCB9D -:10043000CB696969CB3636483669484848CB438A28 -:100440004369CB36487070690C0C69D3D3440CE90E -:10045000BB774E4E1E2B1E1E1E1E12124E4E121229 -:100460007434340D1254A1F7DAF7DFDF757575D9DE -:10047000D9A1A1A10AD9DF58D90208A923B702A19D -:10048000DFDFD9A15931416E4131E240407E406801 -:10049000596854CDCD4F5454CDCDCD5454CDCD59B4 -:1004A00059D47A1801DCE21111117E726A32577246 -:1004B0002F72F1DB6AC811767640760F65F24076CE -:1004C000767676760D464646460D190D74743812CA -:1004D00054545454CDCD4F4FA94F4FCFCDCD0CCD0B -:1004E000CDCFCB69CB69CBCB6969CBCB69364848DB -:1004F00048CBCB4848CB0C056169CBCB484870CB87 -:10050000D3E90C0CD36D440CE91E774E0CBB641E72 -:100510001E1E1E38124E54127477770D4E74DFDA99 -:10052000DF75755FA1A1A1A1A1A402020202A42905 -:10053000A1D958DFB2A9A5B202A1DFD9A1B2133D5A -:100540000E3140407E7E400D54025954CDCDA95904 -:100550005954CDCD545954CD54B277A818821BE2CA -:1005600011111102ED943232E52F720B24944611D1 -:1005700040DD5EE31013DD764076767676464646BD -:100580004646460D4674381254545454CDCDCD4F82 -:10059000A9A94F4FCFCDCDCFCFCFCFCB36CB696928 -:1005A000CBCBCBCB696969CB4848CB484848CB43D8 -:1005B000A06DCBCB3648487069D3E9E9690C6D442E -:1005C0000C0CE9774E4E2BAB1E1E77771E1E125475 -:1005D000121277C8CD46DAD9DD46B25959A5A5A57C -:1005E000A5A5A5A5A5A5A52323B7A4A1D9DFA1A548 -:1005F00008B2A4A1D9A1B2795D45407E3434400D42 -:100600005402B25454CD4FA9B25954CD54545954F4 -:10061000CD545902E5A8821B31E2111177573232CD -:10062000DBE52F0B0B325AA440405B653776DD408B -:100630000D767676760D46467474747474747438D8 -:1006400059545454CDCDCD4F4FA91F4F4FCFCF4FFD -:100650004F4FCBCB36CBCB69CBCBCBCB690C0C0C78 -:100660003670364870484869436D36CB4848487004 -:100670007070691EE9690CE9E90C0CE9774E1E2BD4 -:10068000BB7777AB771E1E124E1212774E46F7DD00 -:10069000B25959540808A9A9A9A9A9A9A90808A53E -:1006A000A5A5A523B70229D9DF46A52329D9A102EB -:1006B0001231407E347E40683BDD02235454CD1F0E -:1006C00054B259545454545959545459B2DD4D826A -:1006D0001B31E2E27EAE6AED3272E52F0B7294B40A -:1006E00002760F65AF40DDDD46C9C90D464668B2EA -:1006F000B27474686868121212545454CDCDCDCFC0 -:100700004FA91F1F4F4FCFCF1FCFCB363636CB69E8 -:10071000CB696969CB6969693648484848480070BF -:1007200036CB484848484870707070CF440C0CE98C -:10073000D30CCD0C3877381E771E1E776477777709 -:1007400012124E741E127546595408A9A908A559CB -:10075000B2020202B259A508A9A9A908A5A5A52314 -:10076000B729D9D9B25902A1A4B2687E3434684FEE -:100770003BA10223A554543B1FB2B25954545454C4 -:1007800059B2545454B702A143613111E26822575F -:10079000ED8CE5E572727294D125EAFC137E40DDA2 -:1007A000DD46464676E8D7805E5F68B2685959599B -:1007B00059545454CDCDCDCF4F4FA91F1F1F4FCFEC -:1007C000CF1FCFCB3636363636CB6969CBCB3636F4 -:1007D0004848484848484800007070484848707089 -:1007E00070701F1F360CCF0C6DBFE9CD0C4E1E383C -:1007F0004E4E4E1E2B2B77AB77121254684E5F462F -:1008000054A91F08B2A1DF5858585858585858587A -:1008100058D9A102A5A9A9A523232302A4D9A1B22D -:10082000595423A95454A91F59D90223A5A5A55445 -:10083000A93BB25954543B545459B2593B5423B771 -:10084000DD5F7779E2111E57EDED51BFE572725110 -:10085000E6AFD6F02534DD404668465E62E0E0E073 -:10086000F4C6C6B96859595959545454CDCDCDCF51 -:10087000CF4F4F4F1F1F1F4FCFCB1FCB3636CBCB8A -:1008800036CBCB6969CBCB364848484848484848BE -:1008900000000000007070707070701F363636CF28 -:1008A0000CD344CDCD0C4E4E124E544E1EABBBBBA2 -:1008B0002B741E1254545468A9A954DD75F7F7DF40 -:1008C00075D9A1A1A1A1A1A10A0AD9885858D90214 -:1008D00008A908A52323B7A4A129A402B22354B2CE -:1008E000D9D9B223A5A5A5A5541FB2B259A55408BC -:1008F000A5A55959B254A5A5B7B7DD7546347E787C -:10090000578C8C2FBFE5724D8C5A6F217C3D5E3425 -:1009100034025E62F4F43D3D3D62625050DA595952 -:1009200059545454CDCDCD4F4F4F4FCF4F361F1F3D -:100930001FCF3670483636CBCBCB36CB6969CB363A -:1009400036364848487070704870000000000070EB -:10095000707070701F1F36CF0C0C6D0CCD5454CDC1 -:10096000544E4E5412777777C87712777459543BA8 -:10097000A9545FDFDF75D9A1A1A1A1292929A1A1CE -:10098000A1A1292929A1A1D958DFDDB223A5A5A5B7 -:10099000080808A559B2DDA1D9A423A5A5A5A5A538 -:1009A000A5A9A502B223A55408A5A523B2B7B208EC -:1009B000A523B7B7DDF7DD0873328C90BFBFBF72D8 -:1009C000E532E120D7805E46B75F62F4C6623D3D06 -:1009D0006262625050DA50C954545454CDCDCDCFD8 -:1009E0004F4F4FCFCF4F361F1F1F1F7070363636F9 -:1009F000CB363636CBCBCBCB36363648484870482C -:100A0000FDFA707000000000007070701F1F1F4F13 -:100A10000C0CCDCDCD54544E54CD545454742B2B7A -:100A20007777127477127412A946DF75D9A1A1DD08 -:100A3000DDA1DD020202020202B702A4A42929A15B -:100A4000A1A10AD9D9D9D9A1A1DDDDDDA1A1A1A199 -:100A50000223A5A5A5A5A5A5A5A5A9020223A5A52F -:100A6000230854A5A5B259B259082323B7B7DDDA34 -:100A700074228C900BABBFBF2FAEE6E5407602230D -:100A80000230F4F4626262626250B9505050F7DF93 -:100A9000A1545454CDCDCD4F4F4F4F4F4F363636D6 -:100AA0001F1F1F1F701FCB363636363636CBCB3660 -:100AB00036CBCB3648484848FDFA6300700000004A -:100AC00000007070701F1F1F4FCFCDCDCDCD54547F -:100AD0005454543B3B54122BB3B3C8747712127462 -:100AE00074A175755FA1A1A1DD02B223A508080854 -:100AF0000808A5A5A523B7B7B7B702A4A4DDA1A18F -:100B0000A1A1A1A129A4B7B723A5A5A5A5A5A5A580 -:100B1000A5A51F02A42323A5A52308A5A5A523B247 -:100B200023A4B2A92323B7B7A4D381909BAEBBBFA4 -:100B3000BFAEAEE674B223028062F462625050B976 -:100B4000B9B9626250F775A1DDB23B54CDCDCD3B52 -:100B50004F4F4F3636363636361F1F1F70703636BB -:100B600048483669693636363636CBCB364848483B -:100B70001507FAFD007070707000007070701F1F14 -:100B8000A9CFCDCDE94ECD54545454CD3B3B3B126F -:100B900077C8D1B379C8741246D9755FA1DD5FA15A -:100BA000B2A5080808080808080808A5A5A5A5A56D -:100BB000A52323232323B7B7B7B7B72323A5A5A519 -:100BC000A5A5A5A5A5A5A5A5A5A5A9B2A1B22323BF -:100BD000A5A52308A5A5A5A5B2B223A1680823232E -:100BE000B7A563ED9797BFBBBFBFBF7232685F30D9 -:100BF00062627CB9B9B9F7F7F7B950B9805FDD0225 -:100C0000B2B2233B3B3BCDCD4F4F4F4F36363636FE -:100C1000361F701F1F7070484836484836364836B1 -:100C20003636CBCBCBCBCBCB150763FD1500707025 -:100C3000007000007070701F1FA9CF4FCDE9CDCD9F -:100C4000544E545454545454541E772BB379137740 -:100C500046755FA1A1DDA1DD230808080808080882 -:100C600008080808080808080808080808A5A5A52D -:100C7000A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A524 -:100C8000A5A5A902D9022323A508A559A9A5A5A50B -:100C9000A523B2B223A1A1A5A5233B7373979744C3 -:100CA00044BFBF789090F7F462B9B9F7F7F7F7DA75 -:100CB000DADAF775C934B2B2B2B2B2A5083B3B3B3F -:100CC0004F4F4F4F4F36363636361F70703648709E -:100CD000707048484848484836CBCBCBCBCB0C1E2D -:100CE000ECFA634A480000007000007000707070F9 -:100CF000CF4F4F4F4F4EE9CD54544E4E5454545451 -:100D00005454121277BB2B2B4675D9A1A1A1A1A1D6 -:100D1000B2A5080808A9A90808A908080808080829 -:100D20000808080808A508A5A5A5A5A5A5A5A5A521 -:100D3000A5A5A5A5A5A5A5A5A5A908DDDFA423238F -:100D400023A5A523B208A5A5A5A5A5B702B7B7A158 -:100D5000D902A52D22971C891E44447844ED72F7D0 -:100D6000B9F7F7F7F7B9DADADFD9A1A468686859F3 -:100D700059592323083B3B3B3B4F4F4F36363636C2 -:100D800036363670707036707070707070484848C3 -:100D90004836CB6969690C3EAB91634A4800000054 -:100DA0000000000000007070CFCF4FCF4FCD4ECD70 -:100DB000CD5454544E5454CD3B54544E12127712C9 -:100DC00068DFA146595454CDCD542323A5A9A9A920 -:100DD000A9A9A9A9A908080808080808080808086E -:100DE00008A5A5A5A5A5A5A5A5A5A5A5A5A5A508ED -:100DF000A9A9B2D9DFA423232323A5A52302A9A54A -:100E0000A5A5A5A5A5B702B2B7DDD9A49173898917 -:100E100078E944444444ED4475B9F7F7F7DF755F6A -:100E2000A1A402B7B7B2B2595954A5543BA93B3B50 -:100E3000CDCD4F4F36364F1F3636361F701F1F70C1 -:100E40007070704870707070484836CB690C697962 -:100E5000F6AE89EC480000000000000000000070C1 -:100E60001FCD1FCDCDCDCD4ECDCD54545454545463 -:100E7000543B5454544E121259D968A91F1F1F1FB6 -:100E80001F1F1F70A9A5A5A9A9A9A9A9A9A9A9A9B1 -:100E900008A9080808080808080808A5A5A5A5A520 -:100EA000A508A9A9A9A9A9085402D9DFD9A423236F -:100EB0002323A5A5A523A40808A5A5A5A5A5A5B791 -:100EC000B2B2B702591C9789896DE96D44D3782273 -:100ED00074DD02DDA1A1A1A1A1DDA4A4020202B2E0 -:100EE0005954A5545408A93B3BCD3B4F4F1F3636B0 -:100EF0001F363636701F1F36367070707070707007 -:100F00007036CB36CB690C778B3391EC4800000000 -:100F1000007000000000007070CF4F36CDCD4F4EF6 -:100F2000383BCD54544E4E5454545454545454128B -:100F300054DD3B1F1F1F1F1F1F1F1F1F1F70700827 -:100F4000A5A9A9A9A9A9A9A9A9A9A9A90808080899 -:100F5000080808080808A508A9A9A5B2DDA1A1D913 -:100F6000D95858D9A1A42323232323A5A5A5A5A4F3 -:100F700059A9A5A5A5A5A5A5A523B2B2B70C978982 -:100F80008978E9E96DD3E9891C02DADFA1B223236C -:100F9000B7B7B723232323545454543B3B3BA93BBB -:100FA0003B3B3B4F4F1F1F1F361F1F361F707036B6 -:100FB0003670704870707070487070CB69CF696D12 -:100FC00006F6446936700000000070000000000062 -:100FD0000070CD361FCDCDCDE94ECD4ECD545454FD -:100FE000545454545454545454593B1FA91F1F1F54 -:100FF0001F1F1F1F1F1F1F1F70A9A5A9A9A9A9A9EE -:10100000A9A9A9A9A9A9080808080808080808A9F9 -:101010000802A1D958585858DFDFD9D9A1A42323F1 -:10102000232323A5A5A508A502021FA5A5A5A5A55F -:10103000A5A5A52346E5FA97898978E9E9E96DE947 -:101040001C91082302A1D9A1A4B223A5A5080808D0 -:101050003B5454CD3B3B3BA93B3B4F1F1F1FA94F6C -:101060004F70701F7070707036707070707070702C -:101070007036367036690CD3678B7969CB4870004F -:1010800000000000000000000000704F1F4FCDCD99 -:101090001ECD3B54E93854544E5454545454545473 -:1010A000595454A9A91F1F1F1F1F1F1F1F1F1F1F98 -:1010B0001F1F70A9A5A9A9A9A9A9A9A9A9A9A9A9F1 -:1010C000A9A908080808A908DDD9D9D9DFDFDFD91F -:1010D000D9D9D9A1A102B723232323A5A5A5A50862 -:1010E0002302A1A908A5A5A5A5A5A5A544E68963F0 -:1010F0008989892D0C0CE96DE9FF1E0AA1DDB2B7C3 -:10110000B202020202A4A402B259A53B08A9A93B5B -:10111000A9A93B54B2DDA1D98888294F701F7070EE -:101120007070704870707070707048CB3636697827 -:10113000E5063E0C69CB487000000000000000008E -:101140000000707070704F4F4E1ECDCD4E4EBBBB29 -:10115000544E54545454545454545408A91F1F1FEB -:101160001F1F1F1F1F1F1F1F1F1F1F1F1FA908A992 -:10117000A9A9A9A9A9A9A9A9A9A9A9A9A9081F595A -:10118000D9A1A1D9DFDFDFDFD9D9D9A12902B723BE -:10119000232323A5A5A5A5A50823B2A1B2A9A50827 -:1011A000A5A5A55451E6BF69FF9189910C0C0C2DA2 -:1011B0002D6D1C748858585858880A0AA1DD02B24F -:1011C000B2DDD988D9D90AD9D9D9D9888888888867 -:1011D0008888888829701F70707070707070707047 -:1011E0007070487036692D8989C8E20C69CB48480F -:1011F0007000000000000000000000707070703689 -:10120000CD1E383B1EAB1E386438545454545454CD -:10121000545454CDA9A91F1F1F1F1F1F1F1F1F1F7D -:101220001F1F1F1F1F1F1F08081FA9A9A9A9A9A9C0 -:10123000A9A9A9A9A9081F5958D9D9DF58DFD9D90F -:10124000D9D9A1A1A4022323232323A5A5A5A5A51C -:10125000A50823B2DDA1A908A508A544ED8C38088E -:10126000CA1C9189910C0C0C2D0CD3632329A1D994 -:10127000D988888858585858D929B25902A1D9D93B -:10128000D90A0A88D90A0A0A0A0A0A0A0A0A4F70F7 -:1012900070707070707070707070704848CBCA89D0 -:1012A000912D0D4ECBCB3648707000000000000031 -:1012B00000000000007070361FCD38CD77791EBB5E -:1012C0001EBBAB54545454545454543B3B08A9A92A -:1012D0001F1F1F1F1F1FA9A91F1F1F1F1F1F1F1F0A -:1012E0000008A9A9A9A9A9A9A9A9A9A9A9A9A90859 -:1012F00088DD5408085946D9D9A1A1A1A4B723B7BC -:10130000232323A5A5A5A5A5A5A50823B202D9B287 -:101310001F085451EDBF08A5A963899163CACD0C7C -:101320000C2D0C9191B7A4A4A1A10A0A0AD9D9DF66 -:10133000DFDF5858D9DD596829A1A1A10A0A0A0A94 -:101340000A0AA1A1A1A1DDCF703670707070707013 -:101350007070707048EC9163CA69CDCDCBCB3648C4 -:1013600048700000000000000000000000007070E5 -:101370004FCD4F4F4E0EC8541E1E1E643854545449 -:10138000545454543B3B08A9A91F1F1F1F1F1F1F64 -:10139000A9A91F1F1F1F1F1F1FCDA908A9A9A9A900 -:1013A000A9A9A9A9A9A9A91F02A5001F1F1F1F1F3D -:1013B000A9DDD9A102B7232323A5A5A5A5A5A5A588 -:1013C000A5A5A50823B2B2A10A54D3E6904E0808F9 -:1013D00008CBFF9191630C690C0C2D0C632DB7A405 -:1013E0002929A1A1A1A1A1A1D9D9D988D9DF58D9E9 -:1013F000B25929A4A429A1A1A1A1A1DDDDDD4668DE -:101400003B70367070707070707070706907910703 -:1014100015484836483648484870700000000000BB -:1014200000000000007000707070CDCDCD33DC1274 -:10143000124E4E4EABBB545454545454543B540867 -:10144000A9A91F1F1F1F1F1FA91FA91F1F1F1F1F84 -:101450001F1E1312A9A9A9A9A9A9A9A9A9A9A91FC8 -:10146000080800A9A9A9A9A9A91F1F02A1B223239D -:1014700023A5A5A5A5A5A5A5A5A5A5080823B2B240 -:10148000A48093E67808080808084A1C91639169CB -:10149000690C0C0C2D63CFA5A52302A42929A12931 -:1014A000A1A1A1A1D988DFD9DF5802CD6859545430 -:1014B000545459595959595954CD701F70707070FE -:1014C000707070CB4AFA91EC4870704848484848B0 -:1014D000484870700000000000000000000000009C -:1014E000007036364F1E7977774EE954541EAB5450 -:1014F000545454545454545408A9A91F1F1F1F1F57 -:101500001FA9A9A91F1F1F1F1F1E3367794F08A9F5 -:10151000A9A9A91FA9A9A9A91FA91F1F1F1F1F1F8B -:101520001FA9A9A91FDDDD232323A5A5A508A508BB -:10153000A5A5A5A5080823B2B25BEACE5EA9A908B5 -:101540000808A963639163CA69690C0C0CCA63A992 -:10155000A508A5A5A5B2A4A4DDDDA1DDDDA1D9DF87 -:10156000DFD9D9DF68CD12B2B25959595454CDCD13 -:10157000CDCDCF70707070707070CB4A0707ECCB18 -:1015800048707070704848484848484870000000EB -:101590000000000000001F000000704F4FCD1E54DF -:1015A0004E774E4E4E543838545454545454595423 -:1015B0005408A9A91F1F1F1F1F1FA9A9A91F1F1F6B -:1015C0001F127913133112A9A9A9A9A91F1FA9A92B -:1015D000A91FA91F1F1F1F1F1F1F1FA9A91FA9A1E7 -:1015E000B2A5A5A5080808080808080808080823DF -:1015F0001966A65BA10A29081FA90836FF91916305 -:101600000C69EC0C2DEC91FA08A5A5A5080808A515 -:10161000B2020202DDDD4646A1D9DFD9D9D954CFC5 -:10162000CD54545959595959595954CD70707070F5 -:10163000704815CA074ACB70000070707070484837 -:10164000484848487070000000000000000000702A -:1016500070000070363BCF4E3B541E384E4E541E29 -:101660005454545454545459593BA508A91F1FA904 -:101670001F1FA9A9A9A9A91F1F12340D7913137936 -:10168000A908A9A9A91F1F1FA9A91FA91F1F1F1FBB -:101690001F1F1F1F1F1FA91F54A4A5A50808080866 -:1016A0000808080808A508CDF1A653740229A10A64 -:1016B000A1231F1F4AFF9163916969EC0C2DEC6314 -:1016C000CA08A5A5A5A5A53B3B3B54B2026846DDCB -:1016D0006859DDD9DFD9D9A1CFCFCFCDCDCDCDCDF3 -:1016E000CD5454544F7070704815CA074A15707025 -:1016F000700070707070707048484848707070006A -:1017000000000000000000000000000000701F4FFB -:101710004E3BCD3838544E5454544E545454545473 -:10172000595959A908A9A91F1F1F1FA9A9A9A91F6C -:10173000A9686868340D791379120808A9A9A91F46 -:101740001F1F1F1FA91F1F1F1F1F1F1F1F1F1F1F1F -:10175000A91FB2B7A508080808080808080808441F -:10176000E66664592302A4A10A0A29A4A9FAFF6320 -:1017700063076969ECEC0C0C636908080808080841 -:101780003B3B3B3B3B59686868DD685446D9D9A16F -:10179000D968CBCDCDCDCDCD54CDCDCD544F703638 -:1017A000ECCA074A154870707070007070707070E5 -:1017B0004848707070707070000000000000007089 -:1017C0001F700000007070704F543BCD38384E4E83 -:1017D00054544E4E595454545959591259A91F1F13 -:1017E0001F1FA9A91F1F1FA9546868686834347691 -:1017F0007979790808A9A9A91F1F1F1F1FA91F1FF1 -:101800001F1F1F1F1F1F1F1F1FA91F3B02A5080807 -:10181000080808083B08545194725923B223B202B5 -:10182000A4A1A1A12902ECFF1C63EC6969ECECEC1A -:10183000CA63A9A5083B3B3B3B3B3B3B3BCDCD545F -:1018400068686846685474D9A1A1A1CFCFCDCDCD29 -:10185000CDCDCDCDCDCD3615CA4AECCB70707070E4 -:101860007070707000707070707070707048707010 -:10187000700000000000000000701F00000070A950 -:1018800070701F1FCD381E384E5454381E54545497 -:10189000595959121212593BA91F1F1F1FA93B5911 -:1018A0006868B268686834340D0D0D3112A9A9A9B1 -:1018B000A9A91F1F1F1F081F1F1F1F1F1F1F1F1F3B -:1018C0001F1FA9A91F0223080808083B3B3B78E615 -:1018D000EDE908A559B22323B202A1A1292929A51E -:1018E000EC63916969ECECECEC07FA1F08083B3BF0 -:1018F0004F3B3B3B3B3BCDCDCD546868B26868CD98 -:1019000068A1A1D954CFCFCFCDCDCDCDCDCDCD36C2 -:10191000EC154870707070707070707070707070CE -:101920007070707070484870700000000000000017 -:1019300000707000000000001F70701F1FCD381E67 -:101940001E38545412BB125459595959591212592C -:10195000595959595912740D0D68686868683434BA -:101960003434340D3179A9A9A9A9A91F1F1F1FA9B2 -:10197000A91F1F1F1F1F1F1F1F1FA9A94F3659B2C5 -:101980000808080808E9E194AE3B083BA523B22308 -:10199000A559B2A429292929027069CA6969ECEC00 -:1019A000ECEC914AA94FA9083B3B4F4F4F4FCF3B1F -:1019B000CDCDCD54B2B2686854CDDDA1D946CBCFE0 -:1019C000CFCFCDCFCFCFCDCF707070707070707023 -:1019D00048483670707070707070707070484870E1 -:1019E0007070000000000000000000000000000017 -:1019F000707070701F1F3B3838384E545412771275 -:101A00005959595959126859595959B2B2683468D3 -:101A1000C82BC80D68686834343434344013133B21 -:101A2000A9A9A9A91F1F1F1F1F081F1F1F1F1F1FB5 -:101A30001F1F1FA94F4F1E0DB23B3B0808AEE6907B -:101A4000E9083B083BA5A55923A523B7B2A429293A -:101A50002929A9CBCF6969ECECECEC63ECA94FA97F -:101A60004F4F4F4F4F4F4FCFCFCFCDCDCD59B25915 -:101A7000B26868545446A1CFCFCFCFCFCFCFCFCD10 -:101A80001F00707070707070363636364870700097 -:101A9000700070707070487070700000000000007E -:101AA000000000000000000000701F7070701FA98F -:101AB0003B54545454121238595912121268126875 -:101AC0005959683468680D0D6874C8C8C80D346801 -:101AD00034343434344031E812A9A9A9A91F1F1F96 -:101AE0001F70081F1F1F1F1F1FA9A94F4F4F1E1632 -:101AF00045B254086DEDE6783B3B3B08A93BA5A5F4 -:101B0000592308A523B7022929B7A51FCB691515A5 -:101B1000ECECECECFA36A9A9A94F4F4F4F4F4F4FC1 -:101B2000CFCFCFCF4FCDCD5459025436484848542B -:101B3000CDCFCFCFCFCFCFCFCF7070707070704878 -:101B400036364F4E4F70700000000000007070700D -:101B500000000000000000000000000070700000A5 -:101B6000000000007070703BA9A93B5454545459B4 -:101B7000591259596868686868B2B20D763468C8F5 -:101B80000D6868680D0DC834340234343434403183 -:101B900013C8A9A91FA91F1F1F1F1FA9A91F1F1F06 -:101BA000A9A9A9A9A94F7706B5E8234E97E6510C34 -:101BB00008CD3B3B3BA93BA5A52323A5A5B202B776 -:101BC00008000000000036156915ECECFAFA1F4F0A -:101BD000A9A9A9A94F4F4F4F4F4FCFCFCFCF4FCF2D -:101BE000CD59364836CBCB48364FCBCFCFCFCFCFE2 -:101BF000CF3600707070703636364F404036707099 -:101C000000000000000000707000000000000000F4 -:101C10000000000000000000000000707000707004 -:101C2000A9A9083B545412591238127712687468E3 -:101C30006868B2B20D13763476C868B26868340D3D -:101C400034340234343434407979793BA91F1F1F6E -:101C50001F1F1F70A9A91FA9A9A9A91F1FCDC8319E -:101C600087F679BFBEEDD3A93BCDCD3B3B08A93B61 -:101C7000A5A5A5230823020800000000000000001D -:101C80000000707070CB151FA9A9A9A9A9A9A94F17 -:101C90004F4F4F4F4FCFCFCFCF591F4836364848C1 -:101CA00048364FCFCFCF4F4F4FCF7070707070709E -:101CB000364F4F349D123670700000000000000057 -:101CC0007000000070700070707000000000707094 -:101CD0000000000070700070701F1F4F3B593838B3 -:101CE000121277127774127468686868B2680D34DB -:101CF00034767668B2B2680D0D343434343434340A -:101D00000D4079AFB4081F1F1F1F1F1F1F1FA91FE2 -:101D1000A9A91F704F1E317976795BE35ABF4FA98D -:101D20003B3BCDCDCD3B3B4F3BA508A5A5B223000A -:101D30000000000000000000000000701FA91F70DC -:101D40004F1F4FA9A9A9A9A94F4F4F4F4F4F36CBAE -:101D50004F591F483636484848483B36CFCF4F3654 -:101D600036CB48007070707036CF4F129DE24F3600 -:101D7000700000000000007000000000007070485B -:101D8000487070707000000000000000000000004B -:101D900070701F1FA954383838381277127474596C -:101DA000681268686868B259B2B2683434686868A2 -:101DB000C8C80D343402023479F237FC653754A9AF -:101DC0001FA91F1FA91F1FA9A91F1F4F1E79137924 -:101DD00076D1FB650F1E083BA94F3BCDCDCD4F4FB4 -:101DE0004F3B3BA5A559A5000000000000000000E6 -:101DF000000000001F1F1F4F1F1F361F1F363636E3 -:101E000036364F4F36364F363654A948364848484E -:101E10004848CF1F364F363636CB3600707070705C -:101E20007036CF4E3E9D12363670007000000000B6 -:101E300070000070707048484848484848480000A2 -:101E400000000000000000000070701F1FA9547403 -:101E500074383812741274745959B26868686868B2 -:101E6000686868B2B2686868680D79C834342B2C29 -:101E7000E32EFCFB5B7931C8A91F1FA9A91F1FA96D -:101E80001F1F4F1E13453179677165E3D10D744FE4 -:101E900008A94F3BCDCDCF4F4F4F4F3B3B23A90020 -:101EA000000000000000000000000000701F1F7014 -:101EB0001FA970361F1F1F3636363636364F4F363F -:101EC000363B0870484848484848361F364F363633 -:101ED00036363600707070701F364F3B409DE2CD35 -:101EE0003648000000700070007070704848484824 -:101EF000484848151515FD0070700000000000707E -:101F0000707070701F36A9541274747412121268B3 -:101F10007459596868686868686868686868B26809 -:101F20006834340D792CE3FCE353D1764040767964 -:101F30004577A91F1F1F1F1FA94EC813E813311390 -:101F4000AFFCFCF2C80D0D0D3BA9A9A94FCDCDCF1B -:101F50004F4FA9A93B54A900000000000000000059 -:101F6000001515487070001F1F70A91F1F1F3636FF -:101F70001F1F363636363636363B3B7048484848A3 -:101F8000484836A91F4F36363636367000707070A6 -:101F90007036364F123E3E1236367000000000009A -:101FA0007070484848484815151515FD4A4A0707F6 -:101FB00000000000000000000000701F1F1F364FCF -:101FC0003B541274741268120D34595968680D74B8 -:101FD00034746868686868B2686834C853FCFC7117 -:101FE000D10D343476767676313145317712544ED0 -:101FF0007767E8E8133131AF106571790D0D0D0D7C -:102000000D4EA9A9A94FCFCFCF4F4FA9A9A51F000A -:102010000000000000000000000015CB4870707048 -:1020200000701F1FA9701F1F1F36361F3636363629 -:10203000364F3B70704848484848361F4836363659 -:102040003636487070707070707036363B403E3473 -:102050004F36487000000000704848484815151574 -:10206000FD4A070707074A4AFD000000000000007C -:10207000000070701F1F1F364F3B5412747412689B -:102080000D1368B2B2B2680D746834346868686859 -:1020900068682B71FC6FB4790D0D0D343476797648 -:1020A0007631313113E8E81345E813131331333730 -:1020B0006537D17676C80D0D0D77744FA9A94FCF2E -:1020C000CFCF4FA9A9087000000000000000000059 -:1020D0000000481515707070707000701FA9701F97 -:1020E0001F1F1F363636363636363B70707000701E -:1020F00048484836704848483648700070707070DC -:102100007070703636123EE2CD364870707070488E -:10211000484848481515FD4A0707074A4AFD15155E -:102120004848000000000000000000007036361F24 -:10213000364F3B5459747412740DC8685959B268BB -:102140006868686834686868B2C853FC105B3468B3 -:1021500034C8C80D343476797631313131131313E4 -:102160001313131331130F65105B797676C80DC8FE -:102170000D7774744E1F3B4FCFCF4F4F3BA970006C -:10218000000000000000000000000015CB150070EA -:102190007070707070001FA970363636363636365D -:1021A00048364F70701F70707070484870483636EF -:1021B00048707070707070707070703636CF40E21A -:1021C000CD3636487048484848484815FD4A070704 -:1021D0004A4AFD15151548484848480000000000C7 -:1021E000000000000000701F703636CD545459595D -:1021F000597412741259686868686868683468B2FB -:10220000C85310716476763468340D0D0D34340D76 -:1022100076761313313113131313133113AFFCEA12 -:10222000B179797976C8C8C8C80D77747474CF1F2E -:102230003BCDCD3B3B1F0000000000000000000034 -:10224000000000001515480070707070707070000C -:102250001F1F703636363648364FA970701F7070A3 -:102260007070707070707048707000707070707006 -:10227000707070703636CD34CD3636484848484890 -:102280004815FD4A4A074AFD15151548484848486B -:102290004870700000000000000000700000007036 -:1022A0007070364FCDCD5454595912127459686814 -:1022B0006868680D6868B2775310242B6868340D1D -:1022C00034346834343434343440403113313131AF -:1022D000131313135BE3650F677979792BC8C8C8AB -:1022E000C87777777438387470704F4F1F7000005C -:1022F0000000000000000000000000004815154824 -:1023000000707070707070707070700070701F3638 -:1023100036A91F707070707070707070707070700F -:10232000707070707070707070707070704836CFB0 -:10233000CFCBCB484848481515FD4A074AFD15152F -:1023400015484848484848707000000000000000E8 -:1023500000000000700000707070484FCF541212DF -:10236000595912127459596834343468686874F1D0 -:102370001053C8B268686868683434346868683470 -:1023800034340D403113313131313133FB65E333B6 -:102390007979797676C8C8C8C87779797774383802 -:1023A00038000000000000000000000000000000F5 -:1023B000000000000048151500007070707070700B -:1023C00070707070700000707070707070707070ED -:1023D00070707070707070707070707070707070FD -:1023E000707070707070483636CBCBCB151515FDFC -:1023F0004A074AFD15154848484848484870700043 -:10240000000000000000000000000000000000705C -:1024100070707036CDCD120D6859595959595959A6 -:10242000686868346868E566BE2B68346868686800 -:10243000686868343468683434343434347631311C -:10244000313113B1FC10F27979797676C8C8C8C8F1 -:10245000C877C845C8741E383869000070707000AD -:102460000000000000000000000000000000151542 -:102470001500007070707070707070707070707097 -:10248000707070707070707070707070707070704C -:10249000707070707070707070707070707048488C -:1024A000CBCBCBCB15EC4A07074AFD15484848482B -:1024B000484870000000000000000000000000001C -:1024C0000000000000000000707070704FCD544597 -:1024D000765959595959595959596868682BBE66DE -:1024E000E568680D343468686868686868686834E6 -:1024F000340D4634343476764079F2E3FCB16779B2 -:10250000797676C8C8C8C8C877777777771E1E38B7 -:1025100038384800007070700000000000000000B3 -:102520000000000000007015154800007070707009 -:10253000707070707070707070701F7070707070EC -:10254000707070707070707070707070707070708B -:1025500070707070484848484848CB154A0791CA7F -:102560004A69154848484870000000000000000013 -:10257000000000000000000000000000000000005B -:102580000000707036364FAB876812595959595947 -:102590005959686874F1A6DB74B268680D0D346827 -:1025A000686868686868683434340D0D46343440AF -:1025B000792C37E3B167407676C8C8C8C8C8C877F1 -:1025C000777777771E1E1E1E38380C0000000070CB -:1025D00000000000000000000000000000000048B3 -:1025E0001515700000707070707070707070707081 -:1025F00070707070707070707070707070707070DB -:10260000707070707070707070707070484848486A -:10261000CBCB15CA91FACAEC69E9154848480000C5 -:1026200000000000000000000000000000000000AA -:102630000000000000000070707000703636360C2C -:10264000DC7712125959595959595968D16666643B -:1026500068686868680D6868686868686868683489 -:10266000346834460D46342BF17171F27976767602 -:1026700076C8C8C8C8C87777777777771E1E1E38A0 -:10268000384E38CB00000000700000000000000051 -:10269000000000000000000015151500000070701B -:1026A000707070707070707070707070707070702A -:1026B0007070707070707070707070707070364F75 -:1026C000707070484848CB4848FD0763914A15151B -:1026D000CBE9E9484870000000000000000000005D -:1026E000000000000000000000000000007000007A -:1026F000707070701FCFCF36AB79694E54545454FC -:10270000595959125365F17468686868686868684F -:1027100068686868686868340D34686834462BB047 -:1027200053F1670D0D4076400D0D0DC8C8C8777781 -:1027300077771E1E1E1E1E3838E94EE9480000003D -:102740000070000000000000000000000000000019 -:1027500000FD48150000007070707070707070702F -:102760007070707070707070707070707070707069 -:102770007070707070704F593B70484848CBCB48B0 -:10278000ECFA63914A15CB15CB691E6948700000BD -:102790000000000000000000000000000000000039 -:1027A0000000000000707000000070707070364F04 -:1027B0000C1E69CFCFCDCD54545954BB665A2B68EB -:1027C0006868686834686868686868343468686825 -:1027D000680D0D34680D64B0B02B4634340D0D0D0A -:1027E0000D0D0D0DC8C87777771E1E1E1E1E1E38D4 -:1027F000E9E9E94E0C000000000070000000000054 -:1028000000000000000000000048FD1548000070B6 -:1028100070707070707070707070707070707070B8 -:1028200070707070707070707070707070703659F9 -:1028300059364848CB4848EC631C634A1515CBCB46 -:10284000CBCB4E12367000000000000000000000EC -:102850000000000000000000000000000000707098 -:10286000707070707070363636CFCFCFCFCFCD59F5 -:102870005954542F947259591268686868683468BA -:10288000686868340D4674686868460D0DC82B2B5F -:10289000464646464634340D0D0D0D0D0DC877776E -:1028A00077771E1E38381EE9E9E9E94E4ECB000065 -:1028B00000000070000000000000000000000000A8 -:1028C00000001515157000007070707070707070D9 -:1028D0007070707070707070707070707070704820 -:1028E00048707070707048CF543648CBCB48156331 -:1028F00097634A15CB154848483669123B707000FB -:1029000000000000000000000000000000000000C7 -:102910000000000000007070707070707070704F78 -:102920004F3636364FCF4F546859540B94BFA55984 -:1029300059126874686868340D406868680D467498 -:10294000686868740D0D46746868744674687446E7 -:1029500034340D0D0DC80DC879771E1E1E38E9E9F7 -:10296000E9E9E94E0C0C480000000000700000008E -:102970000000000000000000000000FD48150000FD -:1029800000707070707070707070707070707070B7 -:102990007070707070701F363636367070707036AA -:1029A000CF36CB15481507731C4A15484848484888 -:1029B0004848484E12367000000000000000000039 -:1029C0000000000000000000000000000000707027 -:1029D00070707070707070704F4F36363636CFCF63 -:1029E00054743824941E5454595959127474686894 -:1029F00040F63168686868687468687474747468EC -:102A000068746868686868744646460D0D0DC87934 -:102A1000F631773838E9E9E9E9E90C0CCDCD690000 -:102A20000000000000700000000000000000000036 -:102A300000000000FD48150000007070707070709C -:102A400070707070707070707070707070703636FA -:102A50003636544F707070483636CB15CB4AFF73FC -:102A60000715484848484848484848CB124F7070B6 -:102A70000000000000000000000000000000000056 -:102A8000000000000000007070707070701F1F70F8 -:102A9000701F3636363636CFCFCD4E5AE6383BCD60 -:102AA0003B5959591274746834F68734346868682D -:102AB0006874747474747474747468686868747412 -:102AC000687446460DC8C83116F6C81E1EE9E9E905 -:102AD000E9E90CCDCDCDCDCB000000000000000019 -:102AE00000000000000070707000000048FD4848C1 -:102AF000000000487070707070707070707070704E -:102B00007070707070703636364F68593648484865 -:102B100036CB15CB156373631548154848484848AC -:102B200048484848CDCD707000000000000000000B -:102B30000000000000000000000000000000000095 -:102B4000701F1F361F1F36361F1F1F1F363636CF0A -:102B5000CFCFE93232E954CD3B3B545959687474B4 -:102B600068798734686868686868747468686868D1 -:102B7000746868686868747468747474740DC8796B -:102B80005D1679741EE9E9E90C0C0CCDCDCDCDCDE7 -:102B900048000000000000000000007036363636A5 -:102BA0003636360000151548000000004870707079 -:102BB000707070707070707070707070704848369F -:102BC000364F68344F48484848151515CA73FF4AB0 -:102BD00048154848484870707070484836CD4800DD -:102BE00000000000000000000000000000000000E5 -:102BF0000000000000000000001F1F363636363689 -:102C00003636363636363636CBCF6DE65A4E5459D2 -:102C1000543B3B545959127474684034686868686E -:102C20006868686868686868681212681212747464 -:102C30007468687474740DC8F616E8771EE9E90CB8 -:102C40000C0C0CCDCDCDCDCF697000000000000084 -:102C5000000000CBCFCFCB36363670487000FD4831 -:102C600015000000004870707070707070707070A7 -:102C700070707070707048363636597E54363648EB -:102C80004815CBFD1C90FA1515154848484870703A -:102C900070707070483636000000000000000000C0 -:102CA0000000000000000000000000000000000024 -:102CB00000001F1F1F363636363636363636363665 -:102CC000364F6D57244ECF5474593B3B54595912CB -:102CD000747474686868686812686812747474122E -:102CE000741212121212127474741212127474C8C2 -:102CF000061687C81E38E90C0CCDCDCDCDCFCFCF71 -:102D0000CFCB00000000000000000036CFCFCB3654 -:102D100036363648487070FD484800000000707034 -:102D2000707070707070487070707048487048486B -:102D30003636547E68CF36CBCB15150773FF4A481D -:102D4000154848484870707070707070707070707E -:102D50000000000000000000000000000000000073 -:102D600000000000000000000000001F1F1F1F36B1 -:102D700036363636363636363636E9578C54CDCF7B -:102D8000CF5454CD4F3B54595974747468686812C9 -:102D900012686812123874381212121212121212B9 -:102DA00012383812121274741316F6C81E38E90C51 -:102DB000CDCDCDCFCFCFCFCFCFCF480000000000BB -:102DC00000000070CFCFCBCBCB3636484848704898 -:102DD000FD4870000000007070707070707070704E -:102DE000707070707048484836363B3468CDCBCB35 -:102DF0001548FD1C22FA1515154848484870707092 -:102E000070707070707070000000000000000000B2 -:102E100000000000000000000000000000000000B2 -:102E2000000000001F36361F1F363636363636365F -:102E300036360CE6EDCDCFCDCFCFCFCFCF4F4F3BFA -:102E40005412123838121212126868121212121228 -:102E500012121212121212125959121212121212C4 -:102E60000DF6F6C83838E90CCDCDCFCFCFCFCFCFC8 -:102E7000CFCFCF700000000000000000CBCFCBCB45 -:102E8000CB36363648484870FD1548000000000033 -:102E90007070707070707070707070707070484882 -:102EA0004836CF680254CBCBCBCB0773FFFD481518 -:102EB00048484870707070707070707070707000FA -:102EC0000000000000000000000000000000000002 -:102ED0000000000000000000000000000036363650 -:102EE0001F36361F1F1F36363636CDED320C4FCF0C -:102EF000CFCFCFCFCF544F3B3B3B591212121212C0 -:102F00001212681259121212383812121212125971 -:102F10001259595959595959120D3177124EE90C14 -:102F2000CDCFCFCFCFCFCFCFCFCFCF360000000088 -:102F30000000000070CFCFCB3636363648484848C0 -:102F400070FD48480000000000707070707070489C -:102F500070707070707070484848365902546969D2 -:102F6000CB156322FA1515154848487070707070BB -:102F700070707070707070700000000000000000D1 -:102F80000000000000000000000000000000000041 -:102F90000000000000001F1F1F1F361F361F1F1FCD -:102FA0003636CF9B576D36CFCFCFCFCFCFCF36363C -:102FB000364F3B5912121259595912591212121204 -:102FC000121212121212125959595954545454547B -:102FD0005454124E4E4E0CCDCFCFCFCFCFCFCFCFFC -:102FE000CB3636CB480000000000000000CBCFCB32 -:102FF000CB363648484848487048FD4848000000ED -:1030000000007070707070704870707070707070C8 -:10301000484848CD68596969CBEC97734A481548C8 -:1030200048487070707070707070707070707070F0 -:103030007000000000000000000000000000000020 -:103040000000000000000000000000000000001F61 -:103050001F1F1F1F1F1F1F361F361F8957781FCBAB -:10306000CFCBCFCDCFCFCF54CD4F3B3B5912125901 -:103070005959595912681259595959595959595444 -:1030800054545454545454545454545454CDCDCD95 -:10309000CFCFCFCFCFCBCBCBCB36363636700000B1 -:1030A000000000000070CFCBCB36367070704848FF -:1030B0004870151548700000000000707070707046 -:1030C0007070707070707070704848365454691524 -:1030D000CBCA736315484848484848707070707090 -:1030E00070707070700000000000000000000000B0 -:1030F00000000000000000000000000000000000D0 -:103100000000000000000000707070707070701F90 -:103110001F361F2D81974F3636364FCDCDCF69CF15 -:10312000CD4F4F4FCD59591259595959591212591A -:103130005959545454545454545454545454545445 -:103140005454CDCDCDCDCDCFCFCF4F4F36363636F3 -:10315000363636363636000000000000000036CB2A -:10316000CB36364848707048484870FD48480000E3 -:10317000000000007070707070707070707070700F -:103180007070484836CFCBCB156373CA4815484892 -:1031900048707070707070707070707070000000A7 -:1031A000000000000000000000000000000000001F -:1031B000000000000000000000000000000000000F -:1031C0000070707070707070701F1FCF7322691F55 -:1031D000363636364FCF69CD0C4ECF3636CF5459B2 -:1031E000595959545954545454545454544E545491 -:1031F00054545454545454543BCDCD3B3B3B4F4F0B -:103200004F4F4F363636363636363636363670000F -:103210000000000000000036CB36364848484848D9 -:10322000484848484A484800000000000070707054 -:1032300070707070707070707070704848CBCBCBCD -:10324000EC1C1CFD481548487070707070707070F0 -:1032500070707000700000000000000000000000AE -:10326000000000000000000000000000000000005E -:1032700000000000000000000000707070707070AE -:103280007070701F91ED9170701F363636CFCD0C77 -:103290000C2B2BCDCF4FCFCD5454545454545454A5 -:1032A00054545454545454545454545454CD543B7E -:1032B000A9A9A94F1FA91F1F1F701F1F1F1F1F365E -:1032C0001F1F3636361F700000000000000000701F -:1032D00036363648484870484848487048FD48489F -:1032E00000000000000048704870707070707070CE -:1032F000707070484848CBCB4A1C63154848484812 -:10330000707070707070707000000000007000705D -:1033100000000000000000000000000000000000AD -:10332000000000000000000000000000000000009D -:1033300000000070707070707070707069FF1C36E3 -:10334000707070363636CDCD0CAB6E1ECF36364F24 -:10335000CF545454545454545454545454545454B2 -:103360003B3B3B3B3B3B3BA91F1F1F70707070708A -:1033700070707070701F1F707070707070707070EF -:1033800000000000000000007070363670484848A9 -:103390007070484870FD1548700000000000007013 -:1033A0007070707070707070707070484848CB4862 -:1033B0004A1C074848484870700000000070000030 -:1033C000000000000070000000000000000000008D -:1033D00000000000000000000000000000000000ED -:1033E000000000000000000000000000707070701D -:1033F0007070707070CAFF4A70707070363636CF59 -:10340000CDE96E0E0CCF3636364F545454CDCD3BED -:10341000CDCDCDCD3BCD543B3B3B3B3B3B3B3B1F25 -:103420001F7070707070707000700000000070701D -:10343000707070707070700000000000000000007C -:103440000070704848484870484848484800FD485F -:1034500048000000000000707070707070007070A4 -:1034600070707048484848484A634A4848487070F5 -:1034700070000000707000007000000000707000AC -:10348000000000000000000000000000000000003C -:10349000000000000000000000000000000000002C -:1034A0000000000000707070707070707036639172 -:1034B0003670707070703636CF0C67B5ABCDCD36C8 -:1034C00036364F3BCD3B3B3B3B3B3B3B3B3B3B4F9C -:1034D0004FA91F1FA9A91F707070707070707000C5 -:1034E000000000000000000000707000000070008C -:1034F0000000000000000000000070707048707054 -:10350000707048704870704A484800000000000021 -:10351000007070000000000000707070484848485B -:103520004A63FD4848487070707000000000000059 -:10353000000000000000707070000000000000003B -:10354000000000000000000000000000000000007B -:10355000000000000000000000000000000070708B -:10356000707070700070EC63EC707070707070361A -:10357000364F4E6E870C69CF36701F4F3B3B3B3B3F -:10358000080808A91FA9A9707070701F1F707070BB -:10359000707070007000000000000000000000006B -:1035A000000000000000000000000000000000001B -:1035B00000000070707070707070707070700048F3 -:1035C000FD707000000000000000700000000000AE -:1035D00000007070484848484AFA1548484870004A -:1035E000007000000000000000000000000070708B -:1035F0003670000000000000000000000000000025 -:1036000000000000000000000000000000000000BA -:103610000000000000000070707070000000704A30 -:10362000FA360000000070707036362A6E1E4F4F5A -:10363000367070701F4F4F1F1FA91F1F70007070D2 -:1036400070707070707070707070700000000000AA -:1036500000000000000000000070000000000000FA -:10366000000000000000000000000000007070700A -:1036700070707070707070001515700000000000A0 -:10368000000000000000000000007070484848483A -:103690004A4A154848487000000000000000000039 -:1036A0000000000000007070364F70000000000045 -:1036B000000000000000000000000000000000000A -:1036C00000000000000000000000000000000000FA -:1036D00070700000000000704A4A70000000007026 -:1036E0007070363667AB4F4F3636707070701F1F74 -:1036F00070707000007070707070707070707070AA -:1037000070707070000000000000000000000000F9 -:103710000000700000000000000000000000000039 -:103720000000000000000070707000000000000049 -:1037300000154870000000000000000000000000BC -:103740000000007048484848FD4A4848487000005A -:1037500000000000000000000000000000000070F9 -:10376000703B360000000000000000000000000078 -:103770000000000000000000000000000000000049 -:103780000000000000000000007070000000000059 -:10379000704A157000000000007070704F4E363691 -:1037A00036367070707070707070707070000000DD -:1037B00000707070707070707070700000000000A9 +:10000000400D3434347E7E34347E34347E7E7E4003 +:100010007E7E34347E3434347E347EE24541E8875B +:10002000B533E91254CDCD4FA9A9A9A9A9A9A9A968 +:1000300008085423541211111111E2E2313140E148 +:100040006A9457F1F1DBDB94F57E315F5F5F5F5FB0 +:100050005F315E31C5FC375E767676767676C81986 +:10006000C8777474383838595959543854CDCDCD6F +:10007000CDCD54CD6969690C6969696969690C6993 +:10008000CBCB480C44487000000C36484848CBCBDA +:10009000CBD36D696936694420C564E9E91EE91E60 +:1000A0002BABAB2BB37412121268770D79E8414178 +:1000B000D7E83176400D0D0D0D400D3434340D0D63 +:1000C00034343434347E0D7E7E407E3434343434E3 +:1000D000347E7E40E2065D0EB55DE24E5454CDCDD9 +:1000E0004F4FA9A9A9A9A9A90808A5A56D67E2115B +:1000F00011111111E2E2314057576A240BF1DBDB99 +:100100006AD8115F5F5F5F76765F5F31B1EA0F7922 +:10011000767676767619C819197474743838125947 +:100120005959545454CDCDCDCDCDCDCDCD6969CF18 +:10013000CF6969696969690C6936CB480C447048B4 +:100140007070CB4848CBCB4870CB44440C69366DBB +:100150002D6DD1D7BB6D1EE91E67DC2BBBC8771296 +:10016000121212740D7679E8D7D7E813794040401F +:100170007E7E407E34347E407E343434347E7E4015 +:100180007E34681268347E3434347E4031E8415D18 +:10019000B56B31E234CD54CDCD4F4F4FA9A9A9A9AC +:1001A000A908080843180513111111111111E2E2F1 +:1001B000646AE694DB0BF1DB8C94195F5F5F5F761A +:1001C00076767631FB65AF767676767676C81919CF +:1001D000191974743838381254545454CDCDCDCDC7 +:1001E000CDCDCDCDCD0C0C0CCB690C69CFCBCB6973 +:1001F0000C0CCBCB480CD30070484848CB696DCB76 +:100200004848CB6D0C69CBCB6DD3694420D11E1E01 +:10021000E92B6E337777771E12121212680D0D0DCF +:100220007913E8E8E831790D68125412595454549E +:100230006834347E7E344040126846DD4668546837 +:100240007E3434403141F35D6B6BE8E24040CDCD0C +:10025000CDCD4F4F3B4FA9A9080808086D7A189AD1 +:10026000A0311111111111E27EF56AE6570B0BF165 +:10027000DB2466345F5F5F5F7676405EE3FC337657 +:100280007676767676C80DC876C8197438383812FE +:10029000545454CD3B3B3BCDCDCDCDCDCDCD0CE954 +:1002A0000CCBCBCBCBCB690C2D2D693636480C2D26 +:1002B00070704848CB2DB02ACB363670483636366B +:1002C000690C0C690CABD1BBE91EDC33771E771EC1 +:1002D000124E4E121212340D0D0D7913E813C86828 +:1002E00046DDA1A1D9D9D9A1A1DD026812687E405D +:1002F0005959A175DF5858D959127E7EE206F3F399 +:100300005D5DE83140407E54CDCDCD4F4F3B3B4FFE +:100310003BA5083B543BD47A189ADCE21111111129 +:10032000E27EE69457327272F10BE6E1A45F5F76EB +:100330007676402010E3137676760D0D76760D0DE9 +:100340007676C87774121212545454CDCD3B4F4F69 +:100350003BCDCDCD0CCDCDE96D2DCBCF6969CBCBD0 +:10036000CBCB6969363648696948484836691B010C +:100370002DCB36364870483636CB690C0C0C6D6484 +:10038000774E772BAB1E1E1E1E124E4E1212126897 +:100390000D0D0D400D1268A1DF5858DFDFDFDFDFE4 +:1003A0005858585858D90259A9A52323A4A175DF34 +:1003B000DFD968681145F3F341E83131407E4012DE +:1003C0005954CDCD4F3B543B3B3BA5543B54A543E7 +:1003D0007A189A6131E2111111112B6A3257DB72CE +:1003E00072F10B94D8DD5F76767640AF650F767646 +:1003F0007676760D4646460D0D76C8467438125907 +:1004000054545454CD3B4F4F4F4F4FCDCD0CCDCDC9 +:100410000C0C6DCF0C0CCBCBCB696969CB36364855 +:100420003669484848CB438A4369CB36487070697F +:100430000C0C69D3D3440CE9BB774E4E1E2B1E1E09 +:100440001E1E12124E4E12127434340D1254A1F7A5 +:10045000DAF7DFDF757575D9D9A1A1A10AD9DF58FF +:10046000D90208A923B702A1DFDFD9A15931416E12 +:100470004131E240407E4068596854CDCD4F5454DC +:10048000CDCDCD5454CDCD5959D47A1801DCE211DB +:1004900011117E726A3257722F72F1DB6AC81176BF +:1004A0007640760F65F24076767676760D4646464D +:1004B000460D190D7474381254545454CDCD4F4F09 +:1004C000A94F4FCFCDCD0CCDCDCFCB69CB69CBCB09 +:1004D0006969CBCB6936484848CBCB4848CB0C053B +:1004E0006169CBCB484870CBD3E90C0CD36D440C7D +:1004F000E91E774E0CBB641E1E1E1E38124E54128F +:100500007477770D4E74DFDADF75755FA1A1A1A155 +:10051000A1A402020202A429A1D958DFB2A9A5B25E +:1005200002A1DFD9A1B2133D0E3140407E7E400DC5 +:1005300054025954CDCDA9595954CDCD545954CD07 +:1005400054B277A818821BE211111102ED943232D5 +:10055000E52F720B2494461140DD5EE31013DD7627 +:1005600040767676764646464646460D46743812BE +:1005700054545454CDCDCD4FA9A94F4FCFCDCDCF4D +:10058000CFCFCFCB36CB6969CBCBCBCB696969CB2E +:100590004848CB484848CB43A06DCBCB3648487041 +:1005A00069D3E9E9690C6D440C0CE9774E4E2BAB2D +:1005B0001E1E77771E1E1254121277C8CD46DAD946 +:1005C000DD46B25959A5A5A5A5A5A5A5A5A5A5230F +:1005D00023B7A4A1D9DFA1A508B2A4A1D9A1B2795A +:1005E0005D45407E3434400D5402B25454CD4FA981 +:1005F000B25954CD54545954CD545902E5A8821BD4 +:1006000031E2111177573232DBE52F0B0B325AA44E +:1006100040405B653776DD400D767676760D464652 +:10062000747474747474743859545454CDCDCD4F5B +:100630004FA91F4F4FCFCF4F4F4FCBCB36CBCB69AF +:10064000CBCBCBCB690C0C0C367036487048486964 +:10065000436D36CB484848707070691EE9690CE9F3 +:10066000E90C0CE9774E1E2BBB7777AB771E1E1279 +:100670004E1212774E46F7DDB25959540808A9A90F +:10068000A9A9A9A9A90808A5A5A5A523B70229D99B +:10069000DF46A52329D9A1021231407E347E40686D +:1006A0003BDD02235454CD1F54B259545454545971 +:1006B00059545459B2DD4D821B31E2E27EAE6AEDEF +:1006C0003272E52F0B7294B402760F65AF40DDDD18 +:1006D00046C9C90D464668B2B27474686868121299 +:1006E00012545454CDCDCDCF4FA91F1F4F4FCFCF54 +:1006F0001FCFCB363636CB69CB696969CB6969695F +:10070000364848484848007036CB48484848487002 +:10071000707070CF440C0CE9D30CCD0C3877381EB8 +:10072000771E1E776477777712124E741E12754605 +:10073000595408A9A908A559B2020202B259A5083C +:10074000A9A9A908A5A5A523B729D9D9B25902A154 +:10075000A4B2687E3434684F3BA10223A554543BB5 +:100760001FB2B2595454545459B2545454B702A1FC +:1007700043613111E2682257ED8CE5E572727294A3 +:10078000D125EAFC137E40DDDD46464676E8D7807B +:100790005E5F68B26859595959545454CDCDCDCF84 +:1007A0004F4FA91F1F1F4FCFCF1FCFCB3636363627 +:1007B00036CB6969CBCB363648484848484848006C +:1007C000007070484848707070701F1F360CCF0C56 +:1007D0006DBFE9CD0C4E1E384E4E4E1E2B2B77AB07 +:1007E00077121254684E5F4654A91F08B2A1DF5811 +:1007F000585858585858585858D9A102A5A9A9A5C9 +:1008000023232302A4D9A1B2595423A95454A91FC4 +:1008100059D90223A5A5A554A93BB25954543B5418 +:100820005459B2593B5423B7DD5F7779E2111E5713 +:10083000EDED51BFE5727251E6AFD6F02534DD40E3 +:100840004668465E62E0E0E0F4C6C6B968595959A8 +:1008500059545454CDCDCDCFCF4F4F4F1F1F1F4FA5 +:10086000CFCB1FCB3636CBCB36CBCB6969CBCB3698 +:1008700048484848484848480000000000707070E8 +:100880007070701F363636CF0CD344CDCD0C4E4E23 +:10089000124E544E1EABBBBB2B741E1254545468E4 +:1008A000A9A954DD75F7F7DF75D9A1A1A1A1A1A16F +:1008B0000A0AD9885858D90208A908A52323B7A439 +:1008C000A129A402B22354B2D9D9B223A5A5A5A5C2 +:1008D000541FB2B259A55408A5A55959B254A5A59B +:1008E000B7B7DD7546347E78578C8C2FBFE5724DD7 +:1008F0008C5A6F217C3D5E3434025E62F4F43D3DDF +:100900003D62625050DA595959545454CDCDCD4FAF +:100910004F4F4FCF4F361F1F1FCF3670483636CB45 +:10092000CBCB36CB6969CB363636484848707070C9 +:100930004870000000000070707070701F1F36CF8C +:100940000C0C6D0CCD5454CD544E4E541277777719 +:10095000C87712777459543BA9545FDFDF75D9A16A +:10096000A1A1A1292929A1A1A1A1292929A1A1D90F +:1009700058DFDDB223A5A5A5080808A559B2DDA159 +:10098000D9A423A5A5A5A5A5A5A9A502B223A554CB +:1009900008A5A523B2B7B208A523B7B7DDF7DD08D0 +:1009A00073328C90BFBFBF72E532E120D7805E46C4 +:1009B000B75F62F4C6623D3D6262625050DA50C970 +:1009C00054545454CDCDCDCF4F4F4FCFCF4F361F72 +:1009D0001F1F1F7070363636CB363636CBCBCBCB9F +:1009E0003636364848487048FDFA707000000000FE +:1009F000007070701F1F1F4F0C0CCDCDCD54544E86 +:100A000054CD545454742B2B77771274771274127C +:100A1000A946DF75D9A1A1DDDDA1DD020202020236 +:100A200002B702A4A42929A1A1A10AD9D9D9D9A17F +:100A3000A1DDDDDDA1A1A1A10223A5A5A5A5A5A5F7 +:100A4000A5A5A9020223A5A5230854A5A5B259B2BC +:100A500059082323B7B7DDDA74228C900BABBFBFE4 +:100A60002FAEE6E5407602230230F4F46262626261 +:100A70006250B9505050F7DFA1545454CDCDCD4FF2 +:100A80004F4F4F4F4F3636361F1F1F1F701FCB362D +:100A90003636363636CBCB3636CBCB36484848485A +:100AA000FDFA63007000000000007070701F1F1FCF +:100AB0004FCFCDCDCDCD54545454543B3B54122B39 +:100AC000B3B3C8747712127474A175755FA1A1A134 +:100AD000DD02B223A50808080808A5A5A523B7B715 +:100AE000B7B702A4A4DDA1A1A1A1A1A129A4B7B770 +:100AF00023A5A5A5A5A5A5A5A5A51F02A42323A556 +:100B0000A52308A5A5A523B223A4B2A92323B7B77B +:100B1000A4D381909BAEBBBFBFAEAEE674B223023E +:100B20008062F462625050B9B9B9626250F775A13F +:100B3000DDB23B54CDCDCD3B4F4F4F3636363636FA +:100B4000361F1F1F7070363648483669693636368C +:100B50003636CBCB364848481507FAFD0070707022 +:100B60007000007070701F1FA9CFCDCDE94ECD541D +:100B7000545454CD3B3B3B1277C8D1B379C874125F +:100B800046D9755FA1DD5FA1B2A50808080808086D +:100B9000080808A5A5A5A5A5A52323232323B7B742 +:100BA000B7B7B72323A5A5A5A5A5A5A5A5A5A5A5C3 +:100BB000A5A5A9B2A1B22323A5A52308A5A5A5A5EE +:100BC000B2B223A168082323B7A563ED9797BFBBF3 +:100BD000BFBFBF7232685F3062627CB9B9B9F7F7E4 +:100BE000F7B950B9805FDD02B2B2233B3B3BCDCDBC +:100BF0004F4F4F4F36363636361F701F1F707048B6 +:100C000048364848363648363636CBCBCBCBCBCBBE +:100C1000150763FD15007070007000007070701F84 +:100C20001FA9CF4FCDE9CDCD544E545454545454F4 +:100C3000541E772BB379137746755FA1A1DDA1DD33 +:100C40002308080808080808080808080808080809 +:100C50000808080808A5A5A5A5A5A5A5A5A5A5A555 +:100C6000A5A5A5A5A5A5A5A5A5A5A902D902232346 +:100C7000A508A559A9A5A5A5A523B2B223A1A1A5FB +:100C8000A5233B737397974444BFBF789090F7F4C4 +:100C900062B9B9F7F7F7F7DADADAF775C934B2B249 +:100CA000B2B2B2A5083B3B3B4F4F4F4F4F363636A3 +:100CB00036361F707036487070704848484848484B +:100CC00036CBCBCBCBCB0C1EECFA634A48000000F2 +:100CD0007000007000707070CF4F4F4F4F4EE9CDD5 +:100CE00054544E4E545454545454121277BB2B2B1C +:100CF0004675D9A1A1A1A1A1B2A5080808A9A90872 +:100D000008A90808080808080808080808A508A588 +:100D1000A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A583 +:100D2000A5A908DDDFA4232323A5A523B208A5A533 +:100D3000A5A5A5B702B7B7A1D902A52D22971C89F1 +:100D40001E44447844ED72F7B9F7F7F7F7B9DADAE9 +:100D5000DFD9A1A46868685959592323083B3B3B54 +:100D60003B4F4F4F363636363636367070703670EB +:100D700070707070704848484836CB6969690C3E9D +:100D8000AB91634A48000000000000000000707052 +:100D9000CFCF4FCF4FCD4ECDCD5454544E5454CDD4 +:100DA0003B54544E1212771268DFA146595454CD69 +:100DB000CD542323A5A9A9A9A9A9A9A9A9080808C7 +:100DC000080808080808080808A5A5A5A5A5A5A558 +:100DD000A5A5A5A5A5A5A508A9A9B2D9DFA42323E2 +:100DE0002323A5A52302A9A5A5A5A5A5A5B702B25C +:100DF000B7DDD9A49173898978E944444444ED442A +:100E000075B9F7F7F7DF755FA1A402B7B7B2B259AA +:100E10005954A5543BA93B3BCDCD4F4F36364F1FC0 +:100E20003636361F701F1F7070707048707070708B +:100E3000484836CB690C6979F6AE89EC4800000069 +:100E400000000000000000701FCD1FCDCDCDCD4EA5 +:100E5000CDCD545454545454543B5454544E121203 +:100E600059D968A91F1F1F1F1F1F1F70A9A5A5A95A +:100E7000A9A9A9A9A9A9A9A908A908080808080849 +:100E8000080808A5A5A5A5A5A508A9A9A9A9A9080F +:100E90005402D9DFD9A423232323A5A5A523A4087D +:100EA00008A5A5A5A5A5A5B7B2B2B702591C9789F3 +:100EB000896DE96D44D3782274DD02DDA1A1A1A181 +:100EC000A1DDA4A4020202B25954A5545408A93BBE +:100ED0003BCD3B4F4F1F36361F363636701F1F3601 +:100EE00036707070707070707036CB36CB690C775E +:100EF0008B3391EC4800000000700000000000708F +:100F000070CF4F36CDCD4F4E383BCD54544E4E540E +:100F1000545454545454541254DD3B1F1F1F1F1F6C +:100F20001F1F1F1F1F707008A5A9A9A9A9A9A9A9FA +:100F3000A9A9A9A908080808080808080808A50810 +:100F4000A9A9A5B2DDA1A1D9D95858D9A1A4232313 +:100F5000232323A5A5A5A5A459A9A5A5A5A5A5A510 +:100F6000A523B2B2B70C97898978E9E96DD3E989ED +:100F70001C02DADFA1B22323B7B7B72323232354FC +:100F80005454543B3B3BA93B3B3B3B4F4F1F1F1F24 +:100F9000361F1F361F707036367070487070707054 +:100FA000487070CB69CF696D06F6446936700000F1 +:100FB00000007000000000000070CD361FCDCDCDC8 +:100FC000E94ECD4ECD545454545454545454545466 +:100FD00054593B1FA91F1F1F1F1F1F1F1F1F1F1F0C +:100FE00070A9A5A9A9A9A9A9A9A9A9A9A9A90808F0 +:100FF00008080808080808A90802A1D9585858582C +:10100000DFDFD9D9A1A42323232323A5A5A508A5E0 +:1010100002021FA5A5A5A5A5A5A5A52346E5FA97A6 +:10102000898978E9E9E96DE91C91082302A1D9A130 +:10103000A4B223A5A50808083B5454CD3B3B3BA9CB +:101040003B3B4F1F1F1FA94F4F70701F7070707078 +:1010500036707070707070707036367036690CD380 +:10106000678B7969CB487000000000000000000029 +:101070000000704F1F4FCDCD1ECD3B54E938545466 +:101080004E54545454545454595454A9A91F1F1F16 +:101090001F1F1F1F1F1F1F1F1F1F70A9A5A9A9A961 +:1010A000A9A9A9A9A9A9A9A9A9A908080808A908D5 +:1010B000DDD9D9D9DFDFDFD9D9D9D9A1A102B723A9 +:1010C000232323A5A5A5A5082302A1A908A5A5A5B5 +:1010D000A5A5A5A544E689638989892D0C0CE96D30 +:1010E000E9FF1E0AA1DDB2B7B202020202A4A40205 +:1010F000B259A53B08A9A93BA9A93B54B2DDA1D986 +:101100008888294F701F7070707070487070707090 +:10111000707048CB36366978E5063E0C69CB48706E +:1011200000000000000000000000707070704F4F61 +:101130004E1ECDCD4E4EBBBB544E545454545454FD +:1011400054545408A91F1F1F1F1F1F1F1F1F1F1F9D +:101150001F1F1F1F1FA908A9A9A9A9A9A9A9A9A952 +:10116000A9A9A9A9A9081F59D9A1A1D9DFDFDFDF42 +:10117000D9D9D9A12902B723232323A5A5A5A5A59C +:101180000823B2A1B2A9A508A5A5A55451E6BF6937 +:10119000FF9189910C0C0C2D2D6D1C74885858589A +:1011A00058880A0AA1DD02B2B2DDD988D9D90AD994 +:1011B000D9D9D988888888888888888829701F70B4 +:1011C00070707070707070707070487036692D89B2 +:1011D00089C8E20C69CB484870000000000000009C +:1011E0000000007070707036CD1E383B1EAB1E388C +:1011F0006438545454545454545454CDA9A91F1F02 +:101200001F1F1F1F1F1F1F1F1F1F1F1F1F1F1F0805 +:10121000081FA9A9A9A9A9A9A9A9A9A9A9081F59E4 +:1012200058D9D9DF58DFD9D9D9D9A1A1A40223230C +:10123000232323A5A5A5A5A5A50823B2DDA1A9085B +:10124000A508A544ED8C3808CA1C9189910C0C0C9A +:101250002D0CD3632329A1D9D98888885858585888 +:10126000D929B25902A1D9D9D90A0A88D90A0A0AB0 +:101270000A0A0A0A0A0A4F707070707070707070F3 +:101280007070704848CBCA89912D0D4ECBCB364833 +:101290007070000000000000000000000070703658 +:1012A0001FCD38CD77791EBB1EBBAB54545454545C +:1012B0005454543B3B08A9A91F1F1F1F1F1FA9A956 +:1012C0001F1F1F1F1F1F1F1F0008A9A9A9A9A9A928 +:1012D000A9A9A9A9A9A9A90888DD5408085946D926 +:1012E000D9A1A1A1A4B723B7232323A5A5A5A5A56B +:1012F000A5A50823B202D9B21F085451EDBF08A515 +:10130000A963899163CACD0C0C2D0C9191B7A4A44B +:10131000A1A10A0A0AD9D9DFDFDF5858D9DD5968F7 +:1013200029A1A1A10A0A0A0A0A0AA1A1A1A1DDCF45 +:1013300070367070707070707070707048EC91637F +:10134000CA69CDCDCBCB3648487000000000000004 +:1013500000000000000070704FCD4F4F4E0EC8547B +:101360001E1E1E6438545454545454543B3B08A914 +:10137000A91F1F1F1F1F1F1FA9A91F1F1F1F1F1FDF +:101380001FCDA908A9A9A9A9A9A9A9A9A9A9A91F5E +:1013900002A5001F1F1F1F1FA9DDD9A102B723230C +:1013A00023A5A5A5A5A5A5A5A5A5A50823B2B2A178 +:1013B0000A54D3E6904E080808CBFF9191630C695C +:1013C0000C0C2D0C632DB7A42929A1A1A1A1A1A1C9 +:1013D000D9D9D988D9DF58D9B25929A4A429A1A12A +:1013E000A1A1A1DDDDDD46683B70367070707070C4 +:1013F000707070706907910715484836483648483C +:1014000048707000000000000000000000700070D4 +:101410007070CDCDCD33DC12124E4E4EABBB54545A +:1014200054545454543B5408A9A91F1F1F1F1F1F75 +:10143000A91FA91F1F1F1F1F1F1E1312A9A9A9A99A +:10144000A9A9A9A9A9A9A91F080800A9A9A9A9A981 +:10145000A91F1F02A1B2232323A5A5A5A5A5A5A564 +:10146000A5A5A5080823B2B2A48093E678080808C9 +:1014700008084A1C91639169690C0C0C2D63CFA577 +:10148000A52302A42929A129A1A1A1A1D988DFD935 +:10149000DF5802CD6859545454545959595959591F +:1014A00054CD701F70707070707070CB4AFA91ECF0 +:1014B000487070484848484848487070000000002C +:1014C0000000000000000000007036364F1E7977E3 +:1014D000774EE954541EAB545454545454545454F9 +:1014E00008A9A91F1F1F1F1F1FA9A9A91F1F1F1F71 +:1014F0001F1E3367794F08A9A9A9A91FA9A9A9A9DE +:101500001FA91F1F1F1F1F1F1FA9A9A91FDDDD2343 +:101510002323A5A5A508A508A5A5A5A5080823B268 +:10152000B25BEACE5EA9A9080808A963639163CA01 +:1015300069690C0C0CCA63A9A508A5A5A5B2A4A449 +:10154000DDDDA1DDDDA1D9DFDFD9D9DF68CD12B2C4 +:10155000B25959595454CDCDCDCDCF7070707070F3 +:101560007070CB4A0707ECCB4870707070484848E1 +:1015700048484848700000000000000000001F00BC +:101580000000704F4FCD1E544E774E4E4E5438389B +:1015900054545454545459545408A9A91F1F1F1F7C +:1015A0001F1FA9A9A91F1F1F1F127913133112A9E9 +:1015B000A9A9A9A91F1FA9A9A91FA91F1F1F1F1FEB +:1015C0001F1F1FA9A91FA9A1B2A5A5A50808080842 +:1015D00008080808080808231966A65BA10A290854 +:1015E0001FA90836FF9191630C69EC0C2DEC91FA60 +:1015F00008A5A5A5080808A5B2020202DDDD464639 +:10160000A1D9DFD9D9D954CFCD54545959595959A1 +:10161000595954CD70707070704815CA074ACB7014 +:10162000000070707070484848484848707000006A +:10163000000000000000007070000070363BCF4ECC +:101640003B541E384E4E541E545454545454545902 +:10165000593BA508A91F1FA91F1FA9A9A9A9A91F0F +:101660001F12340D79131379A908A9A9A91F1F1FE7 +:10167000A9A91FA91F1F1F1F1F1F1F1F1F1FA91F52 +:1016800054A4A5A5080808080808080808A508CD56 +:10169000F1A653740229A10AA1231F1F4AFF9163D7 +:1016A000916969EC0C2DEC63CA08A5A5A5A5A53B1D +:1016B0003B3B54B2026846DD6859DDD9DFD9D9A178 +:1016C000CFCFCFCDCDCDCDCDCD5454544F70707044 +:1016D0004815CA074A15707070007070707070708D +:1016E000484848487070700000000000000000008A +:1016F0000000000000701F4F4E3BCD3838544E5450 +:1017000054544E5454545454595959A908A9A91F12 +:101710001F1F1FA9A9A9A91FA9686868340D7913FB +:1017200079120808A9A9A91F1F1F1F1FA91F1F1F82 +:101730001F1F1F1F1F1F1F1FA91FB2B7A5080808C3 +:101740000808080808080844E66664592302A4A1AA +:101750000A0A29A4A9FAFF6363076969ECEC0C0C77 +:1017600063690808080808083B3B3B3B3B5968682D +:1017700068DD685446D9D9A1D968CBCDCDCDCDCDC2 +:1017800054CDCDCD544F7036ECCA074A1548707011 +:101790007070007070707070484870707070707009 +:1017A00000000000000000701F70000000707070EA +:1017B0004F543BCD38384E4E54544E4E59545454D9 +:1017C0005959591259A91F1F1F1FA9A91F1F1FA926 +:1017D00054686868683434767979790808A9A9A9C1 +:1017E0001F1F1F1F1FA91F1F1F1F1F1F1F1F1F1F7F +:1017F0001FA91F3B02A50808080808083B08545108 +:1018000094725923B223B202A4A1A1A12902ECFF30 +:101810001C63EC6969ECECECCA63A9A5083B3B3B93 +:101820003B3B3B3B3BCDCD5468686846685474D91C +:10183000A1A1A1CFCFCDCDCDCDCDCDCDCDCD3615A7 +:10184000CA4AECCB707070707070707000707070FD +:1018500070707070704870707000000000000000C0 +:1018600000701F00000070A970701F1FCD381E3857 +:101870004E5454381E545454595959121212593B4B +:10188000A91F1F1F1FA93B596868B26868683434D4 +:101890000D0D0D3112A9A9A9A9A91F1F1F1F081FEE +:1018A0001F1F1F1F1F1F1F1F1F1FA9A91F02230864 +:1018B0000808083B3B3B78E6EDE908A559B223232D +:1018C000B202A1A1292929A5EC63916969ECECEC8C +:1018D000EC07FA1F08083B3B4F3B3B3B3B3BCDCD66 +:1018E000CD546868B26868CD68A1A1D954CFCFCF74 +:1018F000CDCDCDCDCDCDCD36EC154870707070709E +:101900007070707070707070707070707048487027 +:101910007000000000000000007070000000000077 +:101920001F70701F1FCD381E1E38545412BB125426 +:101930005959595959121259595959595912740D1D +:101940000D686868686834343434340D3179A9A975 +:10195000A9A9A91F1F1F1FA9A91F1F1F1F1F1F1FE5 +:101960001F1FA9A94F3659B20808080808E9E194D1 +:10197000AE3B083BA523B223A559B2A429292929A6 +:10198000027069CA6969ECECECEC914AA94FA908AC +:101990003B3B4F4F4F4FCF3BCDCDCD54B2B268689C +:1019A00054CDDDA1D946CBCFCFCFCDCFCFCFCDCF6B +:1019B00070707070707070704848367070707070B1 +:1019C0007070707070484870707000000000000007 +:1019D0000000000000000000707070701F1F3B3896 +:1019E00038384E5454127712595959595912685966 +:1019F000595959B2B2683468C82BC80D6868683440 +:101A0000343434344013133BA9A9A9A91F1F1F1F45 +:101A10001F081F1F1F1F1F1F1F1F1FA94F4F1E0D16 +:101A2000B23B3B0808AEE690E9083B083BA5A55948 +:101A300023A523B7B2A429292929A9CBCF6969EC09 +:101A4000ECECEC63ECA94FA94F4F4F4F4F4F4FCFEA +:101A5000CFCFCDCDCD59B259B26868545446A1CF3D +:101A6000CFCFCFCFCFCFCFCD1F0070707070707041 +:101A7000363636364870700070007070707048707E +:101A80007070000000000000000000000000000076 +:101A900000701F7070701FA93B54545454121238B8 +:101AA00059591212126812685959683468680D0D34 +:101AB0006874C8C8C80D346834343434344031E8EC +:101AC00012A9A9A9A91F1F1F1F70081F1F1F1F1FD1 +:101AD0001FA9A94F4F4F1E1645B254086DEDE67869 +:101AE0003B3B3B08A93BA5A5592308A523B70229E1 +:101AF00029B7A51FCB691515ECECECECFA36A9A9B2 +:101B0000A94F4F4F4F4F4F4FCFCFCFCF4FCDCD548A +:101B10005902543648484854CDCFCFCFCFCFCFCF3E +:101B2000CF7070707070704836364F4E4F707000C6 +:101B30000000000000707070000000000000000055 +:101B40000000000070700000000000007070703B2A +:101B5000A9A93B5454545459591259596868686892 +:101B600068B2B20D763468C80D6868680D0DC83467 +:101B7000340234343434403113C8A9A91FA91F1FBB +:101B80001F1F1FA9A91F1F1FA9A9A9A9A94F770630 +:101B9000B5E8234E97E6510C08CD3B3B3BA93BA54E +:101BA000A52323A5A5B202B7080000000000361542 +:101BB0006915ECECFAFA1F4FA9A9A9A94F4F4F4F8D +:101BC0004F4FCFCFCFCF4FCFCD59364836CBCB4865 +:101BD000364FCBCFCFCFCFCFCF36007070707036AF +:101BE00036364F4040367070000000000000007034 +:101BF0007000000000000000000000000000000075 +:101C00000000007070007070A9A9083B545412596C +:101C100012381277126874686868B2B20D1376349D +:101C200076C868B26868340D3434023434343440D1 +:101C30007979793BA91F1F1F1F1F1F70A9A91FA911 +:101C4000A9A9A91F1FCDC83187F679BFBEEDD3A9B9 +:101C50003BCDCD3B3B08A93BA5A5A5230823020806 +:101C600000000000000000000000707070CB151F25 +:101C7000A9A9A9A9A9A9A94F4F4F4F4F4FCFCFCF7E +:101C8000CF591F483636484848364FCFCFCF4F4FF1 +:101C90004FCF707070707070364F4F349D12367029 +:101CA0007000000000000000700000007070007004 +:101CB0007070000000007070000000007070007014 +:101CC000701F1F4F3B5938381212771277741274F5 +:101CD00068686868B2680D3434767668B2B2680DA8 +:101CE0000D343434343434340D4079AFB4081F1F0C +:101CF0001F1F1F1F1F1FA91FA9A91F704F1E31796A +:101D000076795BE35ABF4FA93B3BCDCDCD3B3B4FF3 +:101D10003BA508A5A5B223000000000000000000BC +:101D2000000000701FA91F704F1F4FA9A9A9A9A9E2 +:101D30004F4F4F4F4F4F36CB4F591F4836364848BD +:101D400048483B36CFCF4F3636CB48007070707066 +:101D500036CF4F129DE24F36700000000000007039 +:101D60000000000000707048487070707000000043 +:101D7000000000000000000070701F1FA9543838D8 +:101D80003838127712747459681268686868B259E2 +:101D9000B2B2683434686868C8C80D34340202349A +:101DA00079F237FC653754A91FA91F1FA91F1FA966 +:101DB000A91F1F4F1E79137976D1FB650F1E083BB3 +:101DC000A94F3BCDCDCD4F4F4F3B3BA5A559A500CE +:101DD0000000000000000000000000001F1F1F4F57 +:101DE0001F1F361F1F36363636364F4F36364F36A4 +:101DF0003654A948364848484848CF1F364F3636EB +:101E000036CB3600707070707036CF4E3E9D1236F5 +:101E1000367000700000000070000070707048485C +:101E20004848484848480000000000000000000002 +:101E30000070701F1FA954747438381274127474AF +:101E40005959B26868686868686868B2B268686852 +:101E5000680D79C834342B2CE32EFCFB5B7931C838 +:101E6000A91F1FA9A91F1FA91F1F4F1E13453179A5 +:101E7000677165E3D10D744F08A94F3BCDCDCF4FAE +:101E80004F4F4F3B3B23A900000000000000000023 +:101E900000000000701F1F701FA970361F1F1F3623 +:101EA00036363636364F4F36363B08704848484847 +:101EB0004848361F364F36363636360070707070EA +:101EC0001F364F3B409DE2CD364800000070007049 +:101ED0000070707048484848484848151515FD007E +:101EE0007070000000000070707070701F36A95490 +:101EF00012747474121212687459596868686868A8 +:101F0000686868686868B2686834340D792CE3FCE6 +:101F1000E353D176404076794577A91F1F1F1F1FD5 +:101F2000A94EC813E8133113AFFCFCF2C80D0D0D18 +:101F30003BA9A9A94FCDCDCF4F4FA9A93B54A9008B +:101F40000000000000000000001515487070001F20 +:101F50001F70A91F1F1F36361F1F363636363636FE +:101F6000363B3B7048484848484836A91F4F3636EC +:101F700036363670007070707036364F123E3E1234 +:101F80003636700000000000707048484848481518 +:101F9000151515FD4A4A0707000000000000000063 +:101FA0000000701F1F1F364F3B54127474126812CA +:101FB0000D34595968680D7434746868686868B27B +:101FC000686834C853FCFC71D10D3434767676766B +:101FD000313145317712544E7767E8E8133131AF2C +:101FE000106571790D0D0D0D0D4EA9A9A94FCFCF1B +:101FF000CF4F4FA9A9A51F0000000000000000005E +:10200000000015CB4870707000701F1FA9701F1F53 +:102010001F36361F36363636364F3B7070484848C6 +:102020004848361F483636363636487070707070FD +:10203000707036363B403E344F364870000000002A +:102040007048484848151515FD4A070707074A4ACA +:10205000FD00000000000000000070701F1F1F3610 +:102060004F3B5412747412680D1368B2B2B2680D0B +:10207000746834346868686868682B71FC6FB47978 +:102080000D0D0D34347679767631313113E8E8135D +:1020900045E81313133133376537D17676C80D0D04 +:1020A0000D77744FA9A94FCFCFCF4FA9A9087000C2 +:1020B000000000000000000000004815157070705E +:1020C000707000701FA9701F1F1F1F3636363636FE +:1020D00036363B7070700070484848367048484843 +:1020E00036487000707070707070703636123EE254 +:1020F000CD36487070707048484848481515FD4AFC +:102100000707074A4AFD151548480000000000006F +:10211000000000007036361F364F3B54597474125D +:10212000740DC8685959B268686868683468686826 +:10213000B2C853FC105B346834C8C80D34347679A7 +:1021400076313131311313131313131331130F6518 +:10215000105B797676C80DC80D7774744E1F3B4FAF +:10216000CFCF4F4F3BA970000000000000000000DF +:1021700000000015CB1500707070707070001FA902 +:10218000703636363636363648364F70701F7070B9 +:102190007070484870483636487070707070707053 +:1021A0007070703636CF40E2CD36364870484848B9 +:1021B00048484815FD4A07074A4AFD15151548487D +:1021C0004848480000000000000000000000701FA8 +:1021D000703636CD5454595959741274125968686E +:1021E00068686868683468B2C85310716476763479 +:1021F00068340D0D0D34340D76761313313113130D +:102200001313133113AFFCEAB179797976C8C8C8D2 +:10221000C80D77747474CF1F3BCDCD3B3B1F0000BE +:10222000000000000000000000000000151548003C +:1022300070707070707070001F1F703636363648C0 +:10224000364FA970701F7070707070707070704829 +:102250007070007070707070707070703636CD3441 +:10226000CD363648484848484815FD4A4A074AFD91 +:10227000151515484848484848707000000000008F +:1022800000000070000000707070364FCDCD5454C7 +:1022900059591212745968686868680D6868B2778D +:1022A0005310242B6868340D343468343434343497 +:1022B0003440403113313131131313135BE3650F95 +:1022C000677979792BC8C8C8C87777777438387434 +:1022D00070704F4F1F7000000000000000000000F1 +:1022E0000000000048151548007070707070707024 +:1022F0007070700070701F3636A91F70707070702B +:1023000070707070707070707070707070707070CD +:1023100070707070704836CFCFCBCB4848484815A6 +:1023200015FD4A074AFD15151548484848484870A4 +:10233000700000000000000000000000700000704D +:102340007070484FCF54121259591212745959686B +:1023500034343468686874F11053C8B268686868C7 +:10236000683434346868683434340D4031133131A2 +:1023700031313133FB65E3337979797676C8C8C872 +:10238000C877797977743838380000000000000089 +:1023900000000000000000000000000000481515CB +:1023A00000007070707070707070707070000070ED +:1023B000707070707070707070707070707070701D +:1023C000707070707070707070707070707048366F +:1023D00036CBCBCB151515FD4A074AFD15154848D8 +:1023E00048484848487070000000000000000000A5 +:1023F000000000000000007070707036CDCD120D2E +:102400006859595959595959686868346868E5666E +:10241000BE2B6834686868686868683434686834F3 +:102420003434343434763131313113B1FC10F27933 +:1024300079797676C8C8C8C8C877C845C8741E38C0 +:10244000386900007070700000000000000000009B +:10245000000000000000151515000070707070700D +:10246000707070707070707070707070707070706C +:10247000707070707070707070707070707070705C +:102480007070707070704848CBCBCBCB15EC4A079E +:10249000074AFD15484848484848700000000000B9 +:1024A000000000000000000000000000000000002C +:1024B000707070704FCD54457659595959595959C2 +:1024C00059596868682BBE66E568680D34346868D9 +:1024D0006868686868686834340D463434347676E1 +:1024E0004079F2E3FCB16779797676C8C8C8C8C884 +:1024F00077777777771E1E3838384800007070700D +:102500000000000000000000000000000000701546 +:10251000154800007070707070707070707070701E +:1025200070701F70707070707070707070707070FC +:10253000707070707070707070707070484848483B +:102540004848CB154A0791CA4A6915484848487017 +:10255000000000000000000000000000000000007B +:1025600000000000000000000000707036364FAB25 +:1025700087681259595959595959686874F1A6DB35 +:1025800074B268680D0D3468686868686868683493 +:1025900034340D0D46343440792C37E3B16740763E +:1025A00076C8C8C8C8C8C877777777771E1E1E1E3A +:1025B00038380C000000007000000000000000002F +:1025C00000000000000000481515700000707070D9 +:1025D00070707070707070707070707070707070FB +:1025E00070707070707070707070707070707070EB +:1025F0007070707048484848CBCB15CA91FACAEC45 +:1026000069E915484848000000000000000000008B +:10261000000000000000000000000000000000704A +:10262000707000703636360CDC77121259595959D1 +:1026300059595968D166666468686868680D686841 +:102640006868686868686834346834460D46342BB6 +:10265000F17171F27976767676C8C8C8C8C877778E +:10266000777777771E1E1E38384E38CB0000000073 +:1026700070000000000000000000000000000000EA +:1026800015151500000070707070707070707070AB +:10269000707070707070707070707070707070703A +:1026A000707070707070364F707070484848CB48CA +:1026B00048FD0763914A1515CBE9E94848700000C9 +:1026C000000000000000000000000000000000000A +:1026D0000000000000700000707070701FCFCF36D7 +:1026E000AB79694E54545454595959125365F17485 +:1026F000686868686868686868686868686868348E +:102700000D34686834462BB053F1670D0D407640A8 +:102710000D0D0DC8C8C8777777771E1E1E1E1E3890 +:1027200038E94EE948000000007000000000000099 +:10273000000000000000000000FD481500000070CF +:102740007070707070707070707070707070707089 +:1027500070707070707070707070707070704F59B1 +:102760003B70484848CBCB48ECFA63914A15CB15EF +:10277000CB691E69487000000000000000000000E6 +:102780000000000000000000000000000070700069 +:10279000000070707070364F0C1E69CFCFCDCD54D5 +:1027A000545954BB665A2B6868686868346868680E +:1027B0006868683434686868680D0D34680D64B002 +:1027C000B02B4634340D0D0D0D0D0D0DC8C87777A7 +:1027D000771E1E1E1E1E1E38E9E9E94E0C00000081 +:1027E0000000700000000000000000000000000079 +:1027F0000048FD1548000070707070707070707047 +:1028000070707070707070707070707070707070C8 +:10281000707070707070365959364848CB4848EC23 +:10282000631C634A1515CBCBCBCB4E123670000020 +:102830000000000000000000000000000000000098 +:10284000000000000000707070707070707036369C +:1028500036CFCFCFCFCFCD595954542F9472595929 +:102860001268686868683468686868340D46746817 +:102870006868460D0DC82B2B464646464634340D37 +:102880000D0D0D0D0DC8777777771E1E38381EE9B0 +:10289000E9E9E94E4ECB00000000007000000000A6 +:1028A0000000000000000000000015151570000079 +:1028B0007070707070707070707070707070707018 +:1028C000707070707070704848707070707048CF21 +:1028D000543648CBCB48156397634A15CB15484807 +:1028E000483669123B7070000000000000000000D4 +:1028F00000000000000000000000000000007070F8 +:10290000707070707070704F4F3636364FCF4F54B6 +:102910006859540B94BFA559591268746868683493 +:102920000D406868680D4674686868740D0D4674DB +:10293000686874467468744634340D0D0DC80DC84B +:1029400079771E1E1E38E9E9E9E9E94E0C0C4800CA +:102950000000000070000000000000000000000007 +:10296000000000FD481500000070707070707070FD +:1029700070707070707070707070707070701F36E2 +:102980003636367070707036CF36CB1548150773F3 +:102990001C4A1548484848484848484E1236700076 +:1029A0000000000000000000000000000000000027 +:1029B00000000000000070707070707070707070B7 +:1029C0004F4F36363636CFCF54743824941E545475 +:1029D000595959127474686840F6316868686868B3 +:1029E0007468687474747468687468686868687413 +:1029F0004646460D0D0DC879F631773838E9E9E9D4 +:102A0000E9E90C0CCDCD6900000000000070000069 +:102A1000000000000000000000000000FD4815005C +:102A20000000707070707070707070707070707086 +:102A300070707070707036363636544F70707048E3 +:102A40003636CB15CB4AFF730715484848484848E7 +:102A5000484848CB124F7070000000000000000092 +:102A600000000000000000000000000000000070F6 +:102A700070707070701F1F70701F3636363636CF0C +:102A8000CFCD4E5AE6383BCD3B5959591274746834 +:102A900034F6873434686868687474747474747451 +:102AA0007474686868687474687446460DC8C83180 +:102AB00016F6C81E1EE9E9E9E9E90CCDCDCDCDCB6E +:102AC0000000000000000000000000000000707026 +:102AD0007000000048FD48480000004870707070A9 +:102AE000707070707070707070707070707036365A +:102AF000364F68593648484836CB15CB1563736353 +:102B0000154815484848484848484848CDCD707051 +:102B100000000000000000000000000000000000B5 +:102B20000000000000000000701F1F361F1F363617 +:102B30001F1F1F1F363636CFCFCFE93232E954CDB3 +:102B40003B3B54595968747468798734686868687D +:102B500068687474686868687468686868687474B9 +:102B600068747474740DC8795D1679741EE9E9E9A6 +:102B70000C0C0CCDCDCDCDCD4800000000000000E8 +:102B800000000070363636363636360000151548E9 +:102B9000000000004870707070707070707070701D +:102BA0007070707070484836364F68344F484848E7 +:102BB00048151515CA73FF4A4815484848487070AB +:102BC0007070484836CD480000000000000000004A +:102BD00000000000000000000000000000000000F5 +:102BE000001F1F36363636363636363636363636E9 +:102BF000CBCF6DE65A4E5459543B3B54595912743D +:102C00007468403468686868686868686868686894 +:102C100068121268121274747468687474740DC83F +:102C2000F616E8771EE9E90C0C0C0CCDCDCDCDCF16 +:102C30006970000000000000000000CBCFCFCB3651 +:102C4000363670487000FD4815000000004870706E +:102C500070707070707070707070707070704836D6 +:102C60003636597E543636484815CBFD1C90FA1539 +:102C700015154848484870707070707048363600B6 +:102C80000000000000000000000000000000000044 +:102C9000000000000000000000001F1F1F36363635 +:102CA0003636363636363636364F6D57244ECF5496 +:102CB00074593B3B54595912747474686868686855 +:102CC000126868127474741274121212121212744E +:102CD00074741212127474C8061687C81E38E90C70 +:102CE0000CCDCDCDCDCFCFCFCFCB0000000000009D +:102CF00000000036CFCFCB3636363648487070FDF0 +:102D000048480000000070707070707070704870FB +:102D100070707048487048483636547E68CF36CB5D +:102D2000CB15150773FF4A4815484848487070701E +:102D30007070707070707070000000000000000013 +:102D40000000000000000000000000000000000083 +:102D50000000001F1F1F1F36363636363636363611 +:102D60003636E9578C54CDCFCF5454CD4F3B5459C0 +:102D7000597474746868681212686812123874386A +:102D80001212121212121212123838121212747413 +:102D90001316F6C81E38E90CCDCDCDCFCFCFCFCF8F +:102DA000CFCF48000000000000000070CFCFCBCB99 +:102DB000CB36364848487048FD4870000000007027 +:102DC000707070707070707070707070704848487B +:102DD00036363B3468CDCBCB1548FD1C22FA151591 +:102DE000154848484870707070707070707070004E +:102DF00000000000000000000000000000000000D3 +:102E00000000000000000000000000001F36361F18 +:102E10001F3636363636363636360CE6EDCDCFCD65 +:102E2000CFCFCFCFCF4F4F3B5412123838121212A0 +:102E300012686812121212121212121212121212C6 +:102E400059591212121212120DF6F6C83838E90C3E +:102E5000CDCDCFCFCFCFCFCFCFCFCF700000000021 +:102E600000000000CBCFCBCBCB363636484848707D +:102E7000FD15480000000000707070707070707078 +:102E800070707070707048484836CF680254CBCB71 +:102E9000CBCB0773FFFD48154848487070707070C1 +:102EA0007070707070707000000000000000000012 +:102EB0000000000000000000000000000000000012 +:102EC00000000000003636361F36361F1F1F36360C +:102ED0003636CDED320C4FCFCFCFCFCFCF544F3B87 +:102EE0003B3B59121212121212126812591212128C +:102EF000383812121212125912595959595959592E +:102F0000120D3177124EE90CCDCFCFCFCFCFCFCF2F +:102F1000CFCFCF36000000000000000070CFCFCB35 +:102F2000363636364848484870FD484800000000AC +:102F30000070707070707048707070707070704851 +:102F40004848365902546969CB156322FA1515159C +:102F500048484870707070707070707070707070E9 +:102F60000000000000000000000000000000000061 +:102F700000000000000000000000000000001F1F13 +:102F80001F1F361F361F1F1F3636CF9B576D36CF7C +:102F9000CFCFCFCFCFCF3636364F3B591212125943 +:102FA00059591259121212121212121212121259E5 +:102FB00059595954545454545454124E4E4E0CCDE5 +:102FC000CFCFCFCFCFCFCFCFCB3636CB480000003F +:102FD0000000000000CBCFCBCB36364848484848ED +:102FE0007048FD48480000000000707070707070FC +:102FF0004870707070707070484848CD6859696941 +:10300000CBEC97734A4815484848707070707070E0 +:1030100070707070707070707000000000000000C0 +:1030200000000000000000000000000000000000A0 +:10303000000000000000001F1F1F1F1F1F1F1F3662 +:103040001F361F8957781FCBCFCBCFCDCFCFCF54D3 +:10305000CD4F3B3B591212595959595912681259BF +:1030600059595959595959545454545454545454FD +:103070005454545454CDCDCDCFCFCFCFCFCBCBCBD9 +:10308000CB36363636700000000000000070CFCB23 +:10309000CB3636707070484848701515487000007F +:1030A0000000007070707070707070707070707070 +:1030B0007048483654546915CBCA7363154848485C +:1030C00048484870707070707070707070000000C8 +:1030D00000000000000000000000000000000000F0 +:1030E00000000000000000000000000000000000E0 +:1030F000707070707070701F1F361F2D81974F3663 +:1031000036364FCDCDCF69CFCD4F4F4FCD59591218 +:1031100059595959591212595959545454545454CB +:1031200054545454545454545454CDCDCDCDCDCF87 +:10313000CFCF4F4F36363636363636363636000037 +:1031400000000000000036CBCB363648487070488F +:10315000484870FD48480000000000007070707022 +:1031600070707070707070707070484836CFCBCBD4 +:10317000156373CA48154848487070707070707055 +:10318000707070707000000000000000000000000F +:10319000000000000000000000000000000000002F +:1031A000000000000000000000707070707070700F +:1031B000701F1FCF7322691F363636364FCF69CD49 +:1031C0000C4ECF3636CF545959595954595454543A +:1031D00054545454544E54545454545454545454B5 +:1031E0003BCDCD3B3B3B4F4F4F4F4F3636363636C0 +:1031F00036363636363670000000000000000036E5 +:10320000CB36364848484848484848484A48480025 +:1032100000000000007070707070707070707070DE +:103220007070704848CBCBCBEC1C1CFD481548484F +:10323000707070707070707070707000700000004E +:10324000000000000000000000000000000000007E +:10325000000000000000000000000000000000006E +:1032600000007070707070707070701F91ED9170D0 +:10327000701F363636CFCD0C0C2B2BCDCF4FCFCD8C +:1032800054545454545454545454545454545454FE +:103290005454545454CD543BA9A9A94F1FA91F1FDE +:1032A0001F701F1F1F1F1F361F1F3636361F70004F +:1032B000000000000000007036363648484870486C +:1032C0004848487048FD4848000000000000487029 +:1032D0004870707070707070707070484848CBCBD8 +:1032E0004A1C631548484848707070707070707060 +:1032F00000000000007000700000000000000000EE +:1033000000000000000000000000000000000000BD +:10331000000000000000000000000070707070707D +:103320007070707069FF1C36707070363636CDCD97 +:103330000CAB6E1ECF36364FCF54545454545454A5 +:1033400054545454545454543B3B3B3B3B3B3BA997 +:103350001F1F1F707070707070707070701F1F7002 +:1033600070707070707070700000000000000000DD +:1033700070703636704848487070484870FD15487F +:1033800070000000000000707070707070707070DD +:10339000707070484848CB484A1C074848484870F5 +:1033A00070000000007000000000000000700000CD +:1033B000000000000000000000000000000000000D +:1033C00000000000000000000000000000000000FD +:1033D00000000000707070707070707070CAFF4AEA +:1033E00070707070363636CFCDE96E0E0CCF363633 +:1033F000364F545454CDCD3BCDCDCDCD3BCD543BAC +:103400003B3B3B3B3B3B3B1F1F70707070707070D1 +:10341000007000000000707070707070707070004C +:10342000000000000000000000707048484848702C +:10343000484848484800FD48480000000000007027 +:1034400070707070700070707070704848484848B4 +:103450004A634A484848707070000000707000006D +:10346000700000000070700000000000000000000C +:10347000000000000000000000000000000000004C +:1034800000000000000000000000000000707070EC +:103490007070707070366391367070707070363600 +:1034A000CF0C67B5ABCDCD3636364F3BCD3B3B3B36 +:1034B0003B3B3B3B3B3B3B4F4FA91F1FA9A91F7009 +:1034C00070707070707070000000000000000000EC +:1034D000007070000000700000000000000000009C +:1034E0000000707070487070707048704870704A5A +:1034F000484800000000000000707000000000005C +:1035000000707070484848484A63FD4848487070E9 +:1035100070700000000000000000000000007070EB +:10352000700000000000000000000000000000002B +:10353000000000000000000000000000000000008B +:103540000000000000007070707070700070EC631C +:10355000EC70707070707036364F4E6E870C69CF9D +:1035600036701F4F3B3B3B3B080808A91FA9A970B9 +:103570007070701F1F7070707070700070000000AD +:10358000000000000000000000000000000000003B +:1035900000000000000000000000007070707070FB +:1035A0007070707070700048FD7070000000000056 +:1035B000000070000000000000007070484848489B +:1035C0004AFA1548484870000070000000000000EA +:1035D0000000000000007070367000000000000065 +:1035E00000000000000000000000000000000000DB +:1035F000000000000000000000000000000000705B +:10360000707070000000704AFA36000000007070A0 +:103610007036362A6E1E4F4F367070701F4F4F1F18 +:103620001FA91F1F700070707070707070707070C4 +:10363000707070000000000000000000000000003A +:10364000007000000000000000000000000000000A +:10365000000000000070707070707070707070000A +:1036600015157000000000000000000000000000C0 +:1036700000007070484848484A4A15484848700059 +:10368000000000000000000000000000000070705A +:10369000364F700000000000000000000000000035 +:1036A000000000000000000000000000000000001A +:1036B00000000000000000007070000000000070BA +:1036C0004A4A7000000000707070363667AB4F4F8A +:1036D0003636707070701F1F7070700000707070E0 +:1036E000707070707070707070707070000000009A +:1036F000000000000000000000007000000000005A +:103700000000000000000000000000000000007049 +:1037100070700000000000000015487000000000FC +:103720000000000000000000000000704848484809 +:10373000FD4A4848487000000000000000000000FA +:103740000000000000000070703B36000000000028 +:103750000000000000000000000000000000000069 +:103760000000000000000000000000000000000059 +:103770000070700000000000704A1570000000002A +:10378000007070704F4E36363636707070707070D4 +:1037900070707070700000000070707070707070E9 +:1037A00070707000000000000000000000000000C9 +:1037B0000000000000000000000000000000000009 :1037C00000000000000000000000000000000000F9 -:1037D00000000000000000000000000000000000E9 -:1037E00000000000000000000000150000000000C4 -:1037F0000000000000000000000000707048484811 -:10380000FDFD484848700000000000000000000076 -:103810000000000000000070704F3B7000000000CE +:1037D00000001500000000000000000000000000D4 +:1037E0000000007070484848FDFD484848700000DF +:1037F0000000000000000000000000000000007059 +:10380000704F3B700000000000000000000000004E +:1038100000000000000000000000000000000000A8 :103820000000000000000000000000000000000098 -:103830000000000000000000000000000000000088 -:10384000000000000000000000484ACB000000001B -:1038500000007070707070361F70707070707070D3 -:103860007070707070700000000000000000007048 +:1038300000484ACB000000000000707070707036C5 +:103840001F707070707070707070707070700000A9 +:1038500000000000000000700000000000000000F8 +:103860000000000000000000000000000000000058 :103870000000000000000000000000000000000048 -:103880000000000000000000000000000000000038 -:103890000000000000000000000000000000000028 -:1038A0000000704800000000000000000000000060 -:1038B0000000000070484848FDFD4848487000007E +:103880000000000000000000000070480000000080 +:1038900000000000000000000000000070484848E0 +:1038A000FDFD4848487000000000000000000000D6 +:1038B0000000000000000000701F4F367000000084 :1038C00000000000000000000000000000000000F8 -:1038D000701F4F3670000000000000000000000064 -:1038E00000000000000000000000000000000000D8 -:1038F00000000000000000000000000000000000C8 -:10390000000048FD4800000000000000707070706A -:1039100070707070700000707070707070707000F7 +:1038D00000000000000000000000000000000000E8 +:1038E0000000000000000000000048FD480000004B +:1038F0000000000070707070707070707000007068 +:1039000070707070707070000000000000000000A7 +:1039100000000000000000000000000000000000A7 :103920000000000000000000000000000000000097 :103930000000000000000000000000000000000087 :103940000000000000000000000000000000000077 -:103950000000000000000000000000000000000067 -:1039600000000000000000000000000070704848E7 -:10397000151548487000000000000000000000001D -:10398000000000000000000000704F4F70000000B9 +:1039500000000000707048481515484870000000CD +:103960000000000000000000000000000000000057 +:1039700000704F4F700000000000000000000000C9 +:103980000000000000000000000000000000000037 :103990000000000000000000000000000000000027 -:1039A0000000000000000000000000000000000017 -:1039B000000000000000000000000048484800002F -:1039C0000000000000000070707070707000000057 -:1039D0000070707070000000000000000000000027 +:1039A00000000048484800000000000000000070CF +:1039B0007070707070000000007070707000000017 +:1039C00000000000000000000000000000000000F7 +:1039D00000000000000000000000000000000000E7 :1039E00000000000000000000000000000000000D7 :1039F00000000000000000000000000000000000C7 -:103A000000000000000000000000000000000000B6 -:103A100000000000000000000000000000000000A6 -:103A2000000000000070484815154848700000006C +:103A000000000000000000000000000000704848B6 +:103A1000151548487000000000000000000000007C +:103A2000000000000000000000001F4F1F00000009 :103A30000000000000000000000000000000000086 -:103A400000001F4F1F0000000000000000000000E9 -:103A50000000000000000000000000000000000066 -:103A60000000000000000000000000000000000056 -:103A7000000000704848487000000000000000008E -:103A800000000070000000000000007070000000E6 +:103A40000000000000000000000000000000000076 +:103A500000000000000000000000007048484870AE +:103A600000000000000000000000007000000000E6 +:103A70000000007070000000000000000000000066 +:103A80000000000000000000000000000000000036 :103A90000000000000000000000000000000000026 :103AA0000000000000000000000000000000000016 :103AB0000000000000000000000000000000000006 -:103AC00000000000000000000000000000000000F6 -:103AD000000000000000000000000000000070482E -:103AE00015154848700000000000000000000000AC -:103AF000000000000000000000007036367000007A +:103AC0000000000000007048151548487000000014 +:103AD00000000000000000000000000000000000E6 +:103AE000000070363670000000000000000000008A +:103AF00000000000000000000000000000000000C6 :103B000000000000000000000000000000000000B5 -:103B100000000000000000000000000000000000A5 -:103B2000000000000000000000000000704848484D +:103B1000000000007048484800000000000000005D +:103B20000000000000000000000000000000000095 :103B30000000000000000000000000000000000085 :103B40000000000000000000000000000000000075 :103B50000000000000000000000000000000000065 :103B60000000000000000000000000000000000055 -:103B70000000000000000000000000000000000045 -:103B80000000000000000000000000000000000035 -:103B90000000000000000070481548707000000030 +:103B700000000000000000000000000000000070D5 +:103B800048154870700000000000000000000000B0 +:103B9000000000000000000000000070367000000F :103BA0000000000000000000000000000000000015 -:103BB00000000070367000000000000000000000EF -:103BC00000000000000000000000000000000000F5 -:103BD00000000000000000000000000000000000E5 -:103BE00048656C6C6F20576F726C64006C765F6414 -:103BF000656275675F636865636B5F73747200000D -:103C00003031323334353637383941424344454612 -:103C1000000000006C765F64656275675F6C6F67BB -:103C20005F6572726F7200002E2E2F746869726465 -:103C300070617274792F6C76676C2F7372632F6C5E -:103C4000765F636F72652F6C765F64656275672E51 -:103C5000630000006C765F64656275675F6368652A -:103C6000636B5F7374723A2061206E6F6E2D4153E7 -:103C700043494920636861722068617320726570EE -:103C80006561746564206D6F7265207468616E2073 -:103C90004C565F44454255475F5354525F4D41581F -:103CA0005F5245504541542074696D657329000089 -:103CB0006C765F64656275675F636865636B5F738D -:103CC00074723A20696E76616C696420636861720F -:103CD00020696E2074686520737472696E6720288D -:103CE0003C2031302076616C756529006C765F640C -:103CF000656275675F636865636B5F7374723A20B2 -:103D0000737472696E67206973206C6F6E67657279 -:103D1000207468616E204C565F44454255475F539E -:103D200054525F4D41585F4C454E47544800000087 -:103D30006C765F646973705F6765745F7363725FED -:103D4000616374006C765F646973705F6765745F4C -:103D50006C617965725F746F700000006C765F64EF -:103D60006973705F6765745F6C617965725F7379A1 -:103D7000730000006C765F646973705F61737369D0 -:103D8000676E5F73637265656E0000006C765F64DA -:103D90006973705F6765745F696E61637469766586 -:103DA0005F74696D650000006C765F646973705FB5 -:103DB000747269675F616374697669747900000081 -:103DC0005F6C765F646973705F6765745F72656668 -:103DD000725F7461736B00002E2E2F7468697264B9 -:103DE00070617274792F6C76676C2F7372632F6CAD -:103DF000765F636F72652F6C765F646973702E6394 -:103E0000000000006C765F7363725F6163743A2038 -:103E10006E6F20646973706C617920726567697375 -:103E2000746572656420746F2067657420697473AB -:103E3000206163742E2073637265656E000000005C -:103E40006C765F6C617965725F746F703A206E6F2B -:103E500020646973706C6179207265676973746539 -:103E600072656420746F20676574206974732074B0 -:103E70006F70206C61796572000000006C765F6C79 -:103E8000617965725F7379733A206E6F206469732C -:103E9000706C6179207265676973746572656420FE -:103EA000746F2067657420697473207379732E2092 -:103EB0006C617965720000006C765F646973705F95 -:103EC00061737369676E5F73637265656E3A2074C0 -:103ED000727920746F2061737369676E2061206E40 -:103EE0006F6E2D73637265656E206F626A656374B1 -:103EF000000000006C765F646973705F6765745FD3 -:103F0000696E6163746976655F74696D653A206E88 -:103F10006F20646973706C6179207265676973746E -:103F200065726564000000006C765F646973705FA1 -:103F3000747269675F61637469766974793A206E37 -:103F40006F20646973706C6179207265676973743E -:103F500065726564000000006C765F646973705F71 -:103F60006765745F726566725F7461736B3A206E29 -:103F70006F20646973706C6179207265676973740E -:103F800065726564000000006C765F67726F757023 -:103F90005F637265617465006C765F67726F7570E0 -:103FA0005F6164645F6F626A000000002E2E2F74F0 -:103FB0006869726470617274792F6C76676C2F73A4 -:103FC00072632F6C765F636F72652F6C765F6772BA -:103FD0006F75702E630000004F7574206F66206D42 -:103FE000656D6F72790000006C765F67726F757037 -:103FF0005F6164645F6F626A3A20746865206F6213 -:104000006A65637420697320616C726561647920EC -:10401000616464656420746F2074686973206772DA -:104020006F7570006C765F67726F75705F61646446 -:104030005F6F626A3A2061737369676E206F626AAC -:1040400065637420746F20616E206F7468657220E0 -:1040500067726F75700000006C765F696E6974003E -:104060006C765F6465696E69740000006C765F6FE2 -:10407000626A5F64656C5F6173796E630000000063 -:104080006C765F6F626A5F7365745F6175746F5F92 -:104090007265616C69676E006C765F6F626A5F73F0 -:1040A00065745F6578745F636C69636B5F6172658B -:1040B000610000006C765F6F626A5F7365745F61B8 -:1040C00064765F6869747465737400006C765F6F02 -:1040D000626A5F7365745F636C69636B0000000004 -:1040E0006C765F6F626A5F7365745F746F700000F7 -:1040F0006C765F6F626A5F7365745F64726167009C -:104100006C765F6F626A5F7365745F647261675F2C -:10411000646972006C765F6F626A5F7365745F6476 -:104120007261675F7468726F770000006C765F6F12 -:10413000626A5F7365745F647261675F7061726504 -:104140006E7400006C765F6F626A5F7365745F7097 -:104150006172656E745F6576656E74006C765F6F14 -:10416000626A5F6164645F70726F7465637400009B -:104170006C765F6F626A5F636C6561725F70726FAD -:1041800074656374000000006C765F6F626A5F7331 -:1041900065745F6576656E745F6362006C765F65FB -:1041A00076656E745F73656E645F66756E6300003E -:1041B0006C765F6576656E745F73656E6400000093 -:1041C0006C765F6F626A5F7365745F7369676E6157 -:1041D0006C5F6362000000006C765F6F626A5F7301 -:1041E00065745F64657369676E5F636200000000F9 -:1041F0006C765F6F626A5F616C6C6F636174655F40 -:104200006578745F61747472000000006C765F6F93 -:10421000626A5F726566726573685F6578745F6411 -:104220007261775F706164006C765F6F626A5F676E -:1042300065745F706172656E740000006C765F6F0C -:10424000626A5F6765745F73637265656E00000024 -:104250006C765F6F626A5F6765745F646973700034 -:104260006C765F6F626A5F6765745F6368696C64D0 -:10427000000000006C765F6F626A5F7365745F6256 -:104280006173655F646972006C765F6F626A5F6715 -:1042900065745F6368696C645F6261636B000000F2 +:103BB0000000000000000000000000000000000005 +:103BC000000000000000000048656C6C6F20576F1B +:103BD000726C64006C765F64656275675F636865CC +:103BE000636B5F73747200003031323334353637B3 +:103BF0003839414243444546000000006C765F641A +:103C0000656275675F6C6F675F6572726F720000E7 +:103C10002E2E2F746869726470617274792F6C76BD +:103C2000676C2F7372632F6C765F636F72652F6C96 +:103C3000765F64656275672E630000006C765F6472 +:103C4000656275675F636865636B5F7374723A2062 +:103C500061206E6F6E2D4153434949206368617244 +:103C600020686173207265706561746564206D6F92 +:103C70007265207468616E204C565F44454255471A +:103C80005F5354525F4D41585F5245504541542057 +:103C900074696D65732900006C765F646562756791 +:103CA0005F636865636B5F7374723A20696E7661F7 +:103CB0006C6964206368617220696E207468652095 +:103CC000737472696E6720283C2031302076616CF5 +:103CD000756529006C765F64656275675F6368650A +:103CE000636B5F7374723A20737472696E672069D4 +:103CF00073206C6F6E676572207468616E204C561D +:103D00005F44454255475F5354525F4D41585F4CA5 +:103D1000454E4754480000006C765F646973705FDD +:103D20006765745F7363725F616374006C765F6470 +:103D30006973705F6765745F6C617965725F746FDA +:103D4000700000006C765F646973705F6765745F14 +:103D50006C617965725F7379730000006C765F64E3 +:103D60006973705F61737369676E5F7363726565B2 +:103D70006E0000006C765F646973705F6765745FE6 +:103D8000696E6163746976655F74696D65000000D2 +:103D90006C765F646973705F747269675F61637486 +:103DA00069766974790000005F6C765F646973708E +:103DB0005F6765745F726566725F7461736B000044 +:103DC0002E2E2F746869726470617274792F6C760C +:103DD000676C2F7372632F6C765F636F72652F6CE5 +:103DE000765F646973702E63000000006C765F7309 +:103DF00063725F6163743A206E6F20646973706CE4 +:103E00006179207265676973746572656420746F87 +:103E10002067657420697473206163742E20736356 +:103E20007265656E000000006C765F6C617965728A +:103E30005F746F703A206E6F20646973706C617983 +:103E4000207265676973746572656420746F20679A +:103E500065742069747320746F70206C6179657269 +:103E6000000000006C765F6C617965725F73797336 +:103E70003A206E6F20646973706C61792072656797 +:103E80006973746572656420746F20676574206956 +:103E90007473207379732E206C6179657200000051 +:103EA0006C765F646973705F61737369676E5F736B +:103EB000637265656E3A2074727920746F20617345 +:103EC0007369676E2061206E6F6E2D736372656516 +:103ED0006E206F626A656374000000006C765F6438 +:103EE0006973705F6765745F696E61637469766535 +:103EF0005F74696D653A206E6F20646973706C61E0 +:103F000079207265676973746572656400000000EA +:103F10006C765F646973705F747269675F61637404 +:103F200069766974793A206E6F20646973706C6188 +:103F300079207265676973746572656400000000BA +:103F40006C765F646973705F6765745F72656672D3 +:103F50005F7461736B3A206E6F20646973706C617B +:103F6000792072656769737465726564000000008A +:103F70006C765F67726F75705F6372656174650000 +:103F80006C765F67726F75705F6164645F6F626AA1 +:103F9000000000002E2E2F746869726470617274C4 +:103FA000792F6C76676C2F7372632F6C765F636FFB +:103FB00072652F6C765F67726F75702E63000000FC +:103FC0004F7574206F66206D656D6F72790000000B +:103FD0006C765F67726F75705F6164645F6F626A51 +:103FE0003A20746865206F626A6563742069732083 +:103FF000616C726561647920616464656420746FCA +:1040000020746869732067726F7570006C765F67E3 +:10401000726F75705F6164645F6F626A3A2061738A +:104020007369676E206F626A65637420746F2061C4 +:104030006E206F746865722067726F757000000083 +:104040006C765F696E6974006C765F6465696E6931 +:10405000740000006C765F6F626A5F64656C5F611C +:1040600073796E63000000006C765F6F626A5F7345 +:1040700065745F6175746F5F7265616C69676E000E +:104080006C765F6F626A5F7365745F6578745F6397 +:104090006C69636B5F617265610000006C765F6FD5 +:1040A000626A5F7365745F6164765F686974746582 +:1040B000737400006C765F6F626A5F7365745F6330 +:1040C0006C69636B000000006C765F6F626A5F73FF +:1040D00065745F746F7000006C765F6F626A5F7307 +:1040E00065745F64726167006C765F6F626A5F73AC +:1040F00065745F647261675F646972006C765F6F9C +:10410000626A5F7365745F647261675F7468726F1F +:10411000770000006C765F6F626A5F7365745F643E +:104120007261675F706172656E7400006C765F6FBC +:10413000626A5F7365745F706172656E745F6576E5 +:10414000656E74006C765F6F626A5F6164645F7055 +:10415000726F7465637400006C765F6F626A5F6390 +:104160006C6561725F70726F74656374000000004B +:104170006C765F6F626A5F7365745F6576656E7497 +:104180005F6362006C765F6576656E745F73656E03 +:10419000645F66756E6300006C765F6576656E744D +:1041A0005F73656E640000006C765F6F626A5F73B8 +:1041B00065745F7369676E616C5F63620000000025 +:1041C0006C765F6F626A5F7365745F64657369675D +:1041D0006E5F6362000000006C765F6F626A5F6111 +:1041E0006C6C6F636174655F6578745F6174747221 +:1041F000000000006C765F6F626A5F7265667265D0 +:1042000073685F6578745F647261775F7061640082 +:104210006C765F6F626A5F6765745F706172656E0E +:10422000740000006C765F6F626A5F6765745F732D +:10423000637265656E0000006C765F6F626A5F672F +:1042400065745F64697370006C765F6F626A5F6744 +:1042500065745F6368696C64000000006C765F6F72 +:10426000626A5F7365745F626173655F646972003F +:104270006C765F6F626A5F6765745F6368696C64C0 +:104280005F6261636B0000006C765F6F626A5F6300 +:104290006F756E745F6368696C6472656E000000B0 :1042A0006C765F6F626A5F636F756E745F63686977 -:1042B0006C6472656E0000006C765F6F626A5F63AB -:1042C0006F756E745F6368696C6472656E5F72654A -:1042D00063757273697665006C765F6F626A5F679B -:1042E00065745F636F6F7264730000006C765F6F5C -:1042F000626A5F6765745F78000000006C765F6FCC -:10430000626A5F6765745F79000000006C765F6FBA -:10431000626A5F6765745F776964746800000000B3 -:104320006C765F6F626A5F6765745F68656967680E -:10433000740000006C765F6F626A5F6765745F612E -:1043400075746F5F7265616C69676E006C765F6F24 -:10435000626A5F6765745F6578745F636C69636BDD -:104360005F7061645F6C6566740000006C765F6FFF -:10437000626A5F6765745F6578745F636C69636BBD -:104380005F7061645F726967687400006C765F6F6C -:10439000626A5F6765745F6578745F636C69636B9D -:1043A0005F7061645F746F70000000006C765F6F17 -:1043B000626A5F6765745F6578745F636C69636B7D -:1043C0005F7061645F626F74746F6D006C765F6FB5 -:1043D000626A5F6765745F6578745F647261775F56 -:1043E000706164006C765F6F626A5F636C65616EBA -:1043F0005F7374796C655F6C697374006C765F6F62 -:10440000626A5F6765745F6C6F63616C5F73747918 -:104410006C6500006C765F6F626A5F72656D6F76C7 -:10442000655F7374796C655F6C6F63616C5F7072EC -:104430006F7000006C765F6F626A5F6765745F68BB -:10444000696464656E0000006C765F6F626A5F6924 -:104450006E76616C69646174655F617265610000AC -:104460006C765F6F626A5F696E76616C69646174B5 -:10447000650000006C765F6F626A5F6D6F76655FE6 -:10448000666F726567726F756E6400006C765F6F41 -:10449000626A5F6D6F76655F6261636B67726F758D -:1044A0006E6400006C765F6F626A5F7365745F7044 -:1044B0006F7300006C765F6F626A5F7365745F781C -:1044C000000000006C765F6F626A5F7365745F79ED -:1044D000000000006C765F6F626A5F616C69676EF6 -:1044E000000000006C765F6F626A5F616C69676EE6 -:1044F0005F6F7269676F00006C765F6F626A5F72F0 -:1045000065616C69676E00006C765F6F626A5F72EE -:104510006566726573685F7374796C65000000008E -:104520006C765F6F626A5F6164645F7374796C65F7 -:10453000000000006C765F6F626A5F7365745F688D -:10454000696464656E0000006C765F6F626A5F6725 -:1045500065745F6164765F68697474657374000084 -:104560006C765F6F626A5F6765745F636C69636BCB -:10457000000000006C765F6F626A5F6765745F744D -:104580006F7000006C765F6F626A5F6765745F646E -:10459000726167006C765F6F626A5F6765745F6403 -:1045A0007261675F646972006C765F6F626A5F67F1 -:1045B00065745F647261675F7468726F7700000092 -:1045C0006C765F6F626A5F6765745F706172656E5B -:1045D000745F6576656E74006C765F6F626A5F67A4 -:1045E00065745F626173655F646972006C765F6FAA -:1045F000626A5F6372656174650000006C765F6F6C -:10460000626A5F7365745F706172656E740000004A -:104610006C765F6F626A5F7365745F73697A650059 -:104620006C765F6F626A5F7365745F7769647468E4 -:10463000000000006C765F6F626A5F7365745F688C -:1046400065696768740000006C765F6F626A5F6717 -:1046500065745F70726F7465637400006C765F6F71 -:10466000626A5F69735F70726F746563746564001A -:104670006C765F6F626A5F6765745F73746174659F -:10468000000000006C765F6F626A5F6765745F7739 -:10469000696474685F666974000000006C765F6F1F -:1046A000626A5F6765745F6865696768745F666999 -:1046B000740000006C765F6F626A5F6765745F69A3 -:1046C0006E6E65725F636F6F72647300FFFF000050 -:1046D0006C765F6F626A5F7365745F737461746533 -:1046E000000000007472616E735F637265617465CF -:1046F000000000006C765F6F626A5F6164645F73E4 -:1047000074617465000000006C765F6F626A5F63BD -:104710006C6561725F737461746500006C765F6FC5 -:10472000626A5F6765745F7369676E616C5F63621D -:10473000000000006C765F6F626A5F6765745F649B -:10474000657369676E5F6362000000006C765F6F7F -:10475000626A5F6765745F6576656E745F63620049 -:104760006C765F6F626A5F6765745F6578745F61BE -:10477000747472006C765F6F626A5F6765745F74F1 -:10478000797065006C765F6F626A5F6765745F67FA -:10479000726F7570000000006C765F6F626A5F6414 -:1047A000656C00006C765F6F626A5F64656C5F6168 -:1047B00073796E635F6362006C765F6F626A5F63DA -:1047C0006C65616E000000006C765F6F626A5F6905 -:1047D000735F666F63757365640000002E2E2F741F -:1047E0006869726470617274792F6C76676C2F736C -:1047F00072632F6C765F636F72652F6C765F6F628A -:104800006A2E63006C765F696E69743A20616C721F -:104810006561647920696E69746564006C765F69AE -:104820006E69742072656164790000006C765F6463 -:1048300065696E697420646F6E6500004E554C4C5E -:1048400020706F696E746572000000006C765F7393 -:1048500063725F6765745F646973703A2073637233 -:1048600065656E206E6F7420666F756E6400000063 -:104870006C765F6F626A5F7365745F626173655FB8 -:104880006469723A20696E76616C69642062617352 -:1048900065206469720000006C765F6F626A5F6316 -:1048A0006C65616E5F7374796C655F6C6973743A83 -:1048B0002063616E27742066696E64207374796C5E -:1048C0006520776974682060706172746000000010 -:1048D0006C765F6F626A5F7365745F706F733A20A6 -:1048E0006E6F74206368616E67696E6720706F73A6 -:1048F0006974696F6E206F662073637265656E20E0 -:104900006F626A65637400006C765F6F626A5F61F4 -:1049100064645F7374796C653A2063616E277420F8 -:1049200066696E64207374796C6520776974682099 -:1049300060747970656000006C765F6F626A5F63B7 -:1049400072656174653A206E6F7420646973706C6F -:104950006179206372656174656420746F20736F80 -:10496000206661722E204E6F20706C61636520742A -:104970006F2061737369676E20746865206E657758 -:104980002073637265656E004F626A6563742063AD -:1049900072656174652072656164790043616E2798 -:1049A00074207365742074686520706172656E741C -:1049B000206F6620612073637265656E00000000E1 -:1049C00043616E27742073657420706172656E7424 -:1049D000203D3D204E554C4C20746F20616E206F61 -:1049E000626A6563740000006C765F6F626A000043 -:1049F0006C765F726566725F6172656100000000CF -:104A00002E2E2F746869726470617274792F6C76BF -:104A1000676C2F7372632F6C765F636F72652F6C98 -:104A2000765F726566722E630000000043616E2738 -:104A30007420736574205644422068656967687401 -:104A4000207573696E672074686520726F756E6477 -:104A50002066756E6374696F6E2E202857726F6EB4 -:104A60006720726F756E645F6362206F7220746F6F -:104A700020736D616C6C2056444229005F6C765F38 -:104A80007374796C655F6C6973745F72656D6F7652 -:104A9000655F7374796C65005F6C765F7374796CB5 -:104AA000655F6C6973745F6164645F7374796C656E -:104AB000000000006765745F616C6C6F635F6C6F12 -:104AC00063616C5F7374796C650000005F6C765F86 -:104AD0007374796C655F7365745F696E7400000050 -:104AE0005F6C765F7374796C655F7365745F636F19 -:104AF0006C6F72005F6C765F7374796C655F736561 -:104B0000745F6F70610000005F6C765F7374796C26 -:104B1000655F7365745F7074720000005F6C765F30 -:104B20007374796C655F6C6973745F6164645F74DE -:104B300072616E735F7374796C6500002E2E2F7432 -:104B40006869726470617274792F6C76676C2F7308 -:104B500072632F6C765F636F72652F6C765F737410 -:104B6000796C652E630000006C765F7374796C65F8 -:104B70005F6C6973745F72656D6F76655F7374796E -:104B80006C653A20636F756C646E27742072656182 -:104B90006C6C6F6361746520636C617373206C6906 -:104BA000737400006C765F7374796C655F6C697305 -:104BB000745F6164645F7374796C653A20636F75C8 -:104BC0006C646E2774206164642074686520636C73 -:104BD000617373006765745F6C6F63616C5F73749E -:104BE000796C653A20636F756C646E27742063720C -:104BF00065617465206C6F63616C207374796C659A -:104C0000000000006C765F7374796C655F6C69738B -:104C1000745F6164645F7472616E735F7374796CE6 -:104C2000653A20636F756C646E27742063726561EA -:104C30007465207472616E736974696F6E20737429 -:104C4000796C650066696C6C5F626C656E64656446 -:104C5000000000006D61705F626C656E64656400E9 -:104C60002E2E2F746869726470617274792F6C765D -:104C7000676C2F7372632F6C765F647261772F6C31 -:104C8000765F647261775F626C656E642E630000AC -:104C900066696C6C5F626C656E6465643A20756E03 -:104CA000737570706F7274656420626C656E6420D9 -:104CB0006D6F646500000000FFFF00006C765F64AC -:104CC0007261775F696D67006C765F696D675F64BD -:104CD0007261775F636F7265000000002E2E2F7483 -:104CE0006869726470617274792F6C76676C2F7367 -:104CF00072632F6C765F647261772F6C765F64727B -:104D000061775F696D672E6300000000496D616720 -:104D10006520647261773A20737263206973204E54 -:104D2000554C4C004E6F0A6461746100496D6167B7 -:104D3000652064726177206572726F7200000000F6 -:104D4000496D61676520647261772063616E2774C5 -:104D5000207265616420746865206C696E6500006E -:104D600000FF00000055AAFF00112233445566776A -:104D70008899AABBCCDDEEFF0001020304050607FB -:104D800008090A0B0C0D0E0F10111213141516172B -:104D900018191A1B1C1D1E1F20212223242526271B -:104DA00028292A2B2C2D2E2F30313233343536370B -:104DB00038393A3B3C3D3E3F4041424344454647FB -:104DC00048494A4B4C4D4E4F5051525354555657EB -:104DD00058595A5B5C5D5E5F6061626364656667DB -:104DE00068696A6B6C6D6E6F7071727374757677CB -:104DF00078797A7B7C7D7E7F8081828384858687BB -:104E000088898A8B8C8D8E8F9091929394959697AA -:104E100098999A9B9C9D9E9FA0A1A2A3A4A5A6A79A -:104E2000A8A9AAABACADAEAFB0B1B2B3B4B5B6B78A -:104E3000B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C77A -:104E4000C8C9CACBCCCDCECFD0D1D2D3D4D5D6D76A -:104E5000D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E75A -:104E6000E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F74A -:104E7000F8F9FAFBFCFDFEFF6C765F647261775F08 -:104E80006C65747465720000647261775F6C657440 -:104E90007465725F73756270780000006472617788 -:104EA0005F6C65747465725F6E6F726D616C00002B -:104EB0000024496D92B6DBFF2E2E2F746869726450 -:104EC00070617274792F6C76676C2F7372632F6CBC -:104ED000765F647261772F6C765F647261775F6C66 -:104EE0006162656C2E6300006C765F647261775F4F -:104EF0006C65747465723A20666F6E7420697320F5 -:104F00004E554C4C000000006C765F647261775F18 -:104F10006C65747465723A20676C7970682064738C -:104F2000632E206E6F7420666F756E640000000043 -:104F30006C765F647261775F6C65747465723A2039 -:104F40006368617261637465722773206269746D4E -:104F50006170206E6F7420666F756E6400000000D3 -:104F60006C765F647261775F6C65747465723A2009 -:104F7000696E76616C696420627070206E6F742057 -:104F8000666F756E640000006C765F647261775FB7 -:104F90006C65747465723A20696E76616C69642020 -:104FA00062707000808080818182828384858687A0 -:104FB000898A8C8D8F91939597999B9EA0A2A5A786 -:104FC000AAADAFB2B50000006C765F647261775F26 -:104FD0006D61736B5F616464000000006C765F64F8 -:104FE0007261775F6D61736B5F616E676C655F693E -:104FF0006E6974002E2E2F74686972647061727409 -:10500000792F6C76676C2F7372632F6C765F647286 -:1050100061772F6C765F647261775F6D61736B2E61 -:10502000630000006C765F6D61736B5F6164643A6E -:10503000206E6F20706C61636520746F2061646402 -:1050400020746865206D61736B000000556E657893 -:105050007065637465642073746172745F616E67F8 -:105060006C650000556E65787065637465642065D5 -:105070006E645F616E676C6500000000FFFF0000FA -:10508000647261775F7061747465726E0000000015 -:105090002E2E2F746869726470617274792F6C7629 -:1050A000676C2F7372632F6C765F647261772F6CFD -:1050B000765F647261775F726563742E63000000CF -:1050C000647261775F696D673A2063616E2774204F -:1050D00067657420696D61676520696E666F0000A1 -:1050E0006C765F696D675F64657369676E3A2069A6 -:1050F0006D61676520736F75726365207479706583 -:1051000020697320756E6B6E6F776E00001122330D -:10511000445566778899AABBCCDDEEFF6C765F6953 -:105120006D675F6275665F7365745F70616C6574EF -:10513000746500005F6C765F696D675F63616368CB -:10514000655F6F70656E00006C765F696D675F63A9 -:10515000616368655F7365745F73697A65000000F9 -:105160002E2E2F746869726470617274792F6C7658 -:10517000676C2F7372632F6C765F647261772F6C2C -:10518000765F696D675F63616368652E6300000029 -:105190006C765F696D675F63616368655F6F70659B -:1051A0006E3A207468652063616368652073697A6C -:1051B0006520697320300000696D61676520647245 -:1051C00061773A206361636865206D6973732C2091 -:1051D000636C6F736520616E642072657573652002 -:1051E000616E20656E74727900000000696D616700 -:1051F0006520647261773A206361636865206D6938 -:1052000073732C2063616368656420746F20616E22 -:1052100020656D70747920656E74727900000000ED -:10522000496D61676520647261772063616E6E6F9E -:1052300074206F70656E2074686520696D616765A4 -:10524000207265736F757263650000006C765F692C -:105250006D675F6465636F6465725F6275696C74C6 -:105260005F696E5F696E666F000000006C765F6953 -:105270006D675F6465636F6465725F6275696C74A6 -:105280005F696E5F6F70656E000000006C765F692D -:105290006D675F6465636F6465725F6275696C7486 -:1052A0005F696E5F6C696E655F747275655F636F71 -:1052B0006C6F720000112233445566778899AABB3F -:1052C000CCDDEEFF6C765F696D675F6465636F646C -:1052D00065725F6275696C745F696E5F7265616447 -:1052E0005F6C696E650000006C765F696D675F6476 -:1052F00065636F6465725F63726561746500000069 -:105300005F6C765F696D675F6465636F6465725F2C -:10531000696E6974000000002E2E2F746869726433 -:1053200070617274792F6C76676C2F7372632F6C57 -:10533000765F647261772F6C765F696D675F646515 -:10534000636F6465722E6300496D616765206765F0 -:105350007420696E666F20676574207265616420D1 -:1053600066696C652068656164657200496D616796 -:10537000652067657420696E666F20666F756E6460 -:1053800020756E6B6E6F776E207372632074797008 -:105390006500000062696E004275696C742D696E6B -:1053A00020696D616765206465636F646572206361 -:1053B000616E2774206F70656E2074686520666961 -:1053C0006C650000696D675F6465636F6465725F3B -:1053D0006275696C745F696E5F6F70656E3A206F9D -:1053E0007574206F66206D656D6F72790000000026 -:1053F000496D616765206465636F646572206F70D5 -:10540000656E3A20756E6B6E6F776E20636F6C6F92 -:105410007220666F726D6174000000004275696CE5 -:10542000742D696E20696D616765206465636F64C2 -:105430006572207365656B206661696C6564000048 -:105440004275696C742D696E20696D6167652064B1 -:1054500065636F6465722072656164206661696C62 -:10546000656400004275696C742D696E20696D6118 -:105470006765206465636F6465722072656164208E -:105480006E6F7420737570706F72747320746865BA -:1054900020636F6C6F7220666F726D617400000024 -:1054A0006C765F696D675F6465636F6465725F6981 -:1054B0006E69743A206F7574206F66206D656D6F2C -:1054C000727900006C765F666F6E745F6765745FFB -:1054D0006269746D61705F666D745F7478740000EA -:1054E0002E2E2F746869726470617274792F6C76D5 -:1054F000676C2F7372632F6C765F666F6E742F6CA0 -:10550000765F666F6E745F666D745F7478742E6319 -:10551000000000002455020070610200D460020007 -:105520003D3100000001000000000000000100000B -:105530000300000000020000000000000000000066 -:10554000000000000000010000000000000000005A -:105550000000000000010C0007FA00000000F2F15A -:10556000020C0604F6020D010B0308000000000007 -:105570000000000000000F02FE000000000000001C -:1055800000000000000500F80000000000FB04051A -:105590000000FD00FE0300FD00FDFFFB0000000019 -:1055A000FD0000FDFC0000FD00FB0000000000000D -:1055B000000000FDFD00FC00F900E10000FB00051B -:1055C000080000FB03030805FC050000F1000000D3 -:1055D0000000000000000000F700000000000000D4 -:1055E00000000000000000F9FDF300F6FE000000DE -:1055F00000010A00F8FEFF0100FC0000FEED0000C3 -:10560000000000000000000000ECFE0A00000000A6 -:105610000000000000000000F60000000000000094 -:105620000000000800030000FB0000000000000074 -:10563000000000000000000000000A02010000005D -:10564000000000000000000000000000000000005A +:1042B0006C6472656E5F72656375727369766500B2 +:1042C0006C765F6F626A5F6765745F636F6F72645D +:1042D000730000006C765F6F626A5F6765745F7879 +:1042E000000000006C765F6F626A5F6765745F79DB +:1042F000000000006C765F6F626A5F6765745F77CD +:1043000069647468000000006C765F6F626A5F67C2 +:1043100065745F6865696768740000006C765F6F3C +:10432000626A5F6765745F6175746F5F7265616C07 +:1043300069676E006C765F6F626A5F6765745F6560 +:1043400078745F636C69636B5F7061645F6C6566F2 +:10435000740000006C765F6F626A5F6765745F650A +:1043600078745F636C69636B5F7061645F726967C7 +:10437000687400006C765F6F626A5F6765745F6582 +:1043800078745F636C69636B5F7061645F746F7096 +:10439000000000006C765F6F626A5F6765745F653E +:1043A00078745F636C69636B5F7061645F626F7484 +:1043B000746F6D006C765F6F626A5F6765745F65CE +:1043C00078745F647261775F706164006C765F6FB0 +:1043D000626A5F636C65616E5F7374796C655F6C54 +:1043E000697374006C765F6F626A5F6765745F6C97 +:1043F0006F63616C5F7374796C6500006C765F6FDE +:10440000626A5F72656D6F76655F7374796C655F04 +:104410006C6F63616C5F70726F7000006C765F6FC1 +:10442000626A5F6765745F68696464656E00000056 +:104430006C765F6F626A5F696E76616C69646174E5 +:10444000655F6172656100006C765F6F626A5F69CB +:104450006E76616C69646174650000006C765F6FF4 +:10446000626A5F6D6F76655F666F726567726F75A2 +:104470006E6400006C765F6F626A5F6D6F76655F79 +:104480006261636B67726F756E6400006C765F6F5C +:10449000626A5F7365745F706F7300006C765F6F44 +:1044A000626A5F7365745F78000000006C765F6F0E +:1044B000626A5F7365745F79000000006C765F6FFD +:1044C000626A5F616C69676E000000006C765F6F06 +:1044D000626A5F616C69676E5F6F7269676F000027 +:1044E0006C765F6F626A5F7265616C69676E00000F +:1044F0006C765F6F626A5F726566726573685F7320 +:1045000074796C65000000006C765F6F626A5F61B1 +:1045100064645F7374796C65000000006C765F6F93 +:10452000626A5F7365745F68696464656E00000049 +:104530006C765F6F626A5F6765745F6164765F68FF +:1045400069747465737400006C765F6F626A5F678C +:1045500065745F636C69636B000000006C765F6F6D +:10456000626A5F6765745F746F7000006C765F6F7E +:10457000626A5F6765745F64726167006C765F6F23 +:10458000626A5F6765745F647261675F6469720025 +:104590006C765F6F626A5F6765745F647261675FA4 +:1045A0007468726F770000006C765F6F626A5F6795 +:1045B00065745F706172656E745F6576656E7400B8 +:1045C0006C765F6F626A5F6765745F626173655F77 +:1045D000646972006C765F6F626A5F6372656174B2 +:1045E000650000006C765F6F626A5F7365745F7070 +:1045F0006172656E740000006C765F6F626A5F7353 +:1046000065745F73697A65006C765F6F626A5F7369 +:1046100065745F7769647468000000006C765F6F92 +:10462000626A5F7365745F6865696768740000003B +:104630006C765F6F626A5F6765745F70726F7465D6 +:10464000637400006C765F6F626A5F69735F70729B +:104650006F746563746564006C765F6F626A5F6730 +:1046600065745F7374617465000000006C765F6F41 +:10467000626A5F6765745F77696474685F666974AE +:10468000000000006C765F6F626A5F6765745F6848 +:1046900065696768745F6669740000006C765F6FB7 +:1046A000626A5F6765745F696E6E65725F636F6F84 +:1046B00072647300FFFF00006C765F6F626A5F7365 +:1046C00065745F7374617465000000007472616EDC +:1046D000735F637265617465000000006C765F6FE4 +:1046E000626A5F6164645F737461746500000000F6 +:1046F0006C765F6F626A5F636C6561725F73746131 +:10470000746500006C765F6F626A5F6765745F73E3 +:1047100069676E616C5F6362000000006C765F6FBA +:10472000626A5F6765745F64657369676E5F636221 +:10473000000000006C765F6F626A5F6765745F659A +:1047400076656E745F6362006C765F6F626A5F6746 +:1047500065745F6578745F61747472006C765F6F06 +:10476000626A5F6765745F74797065006C765F6F0D +:10477000626A5F6765745F67726F75700000000042 +:104780006C765F6F626A5F64656C00006C765F6F69 +:10479000626A5F64656C5F6173796E635F63620018 +:1047A0006C765F6F626A5F636C65616E000000002B +:1047B0006C765F6F626A5F69735F666F637573655E +:1047C000640000002E2E2F74686972647061727428 +:1047D000792F6C76676C2F7372632F6C765F636FC3 +:1047E00072652F6C765F6F626A2E63006C765F690C +:1047F0006E69743A20616C726561647920696E69D2 +:10480000746564006C765F696E69742072656164BA +:10481000790000006C765F6465696E697420646F6E +:104820006E6500004E554C4C20706F696E74657259 +:10483000000000006C765F7363725F6765745F648D +:104840006973703A2073637265656E206E6F7420B1 +:10485000666F756E640000006C765F6F626A5F73EE +:1048600065745F626173655F6469723A20696E7630 +:10487000616C696420626173652064697200000084 +:104880006C765F6F626A5F636C65616E5F7374798B +:104890006C655F6C6973743A2063616E277420667F +:1048A000696E64207374796C652077697468206020 +:1048B00070617274600000006C765F6F626A5F7393 +:1048C00065745F706F733A206E6F74206368616EF9 +:1048D00067696E6720706F736974696F6E206F66A9 +:1048E0002073637265656E206F626A656374000091 +:1048F0006C765F6F626A5F6164645F7374796C6524 +:104900003A2063616E27742066696E64207374793F +:104910006C65207769746820607479706560000048 +:104920006C765F6F626A5F6372656174653A206E70 +:104930006F7420646973706C61792063726561744F +:10494000656420746F20736F206661722E204E6F35 +:1049500020706C61636520746F2061737369676E8A +:1049600020746865206E65772073637265656E00DC +:104970004F626A6563742063726561746520726555 +:104980006164790043616E277420736574207468D4 +:104990006520706172656E74206F6620612073639C +:1049A0007265656E0000000043616E2774207365B8 +:1049B0007420706172656E74203D3D204E554C4CE4 +:1049C00020746F20616E206F626A6563740000005E +:1049D0006C765F6F626A00006C765F726566725F0C +:1049E00061726561000000002E2E2F746869726488 +:1049F00070617274792F6C76676C2F7372632F6C91 +:104A0000765F636F72652F6C765F726566722E6378 +:104A10000000000043616E277420736574205644C3 +:104A20004220686569676874207573696E672074D1 +:104A3000686520726F756E642066756E6374696F49 +:104A40006E2E202857726F6E6720726F756E645FCE +:104A50006362206F7220746F20736D616C6C2056DE +:104A6000444229005F6C765F7374796C655F6C6992 +:104A700073745F72656D6F76655F7374796C6500D2 +:104A80005F6C765F7374796C655F6C6973745F617A +:104A900064645F7374796C65000000006765745F1F +:104AA000616C6C6F635F6C6F63616C5F7374796C66 +:104AB000650000005F6C765F7374796C655F736589 +:104AC000745F696E740000005F6C765F7374796C5C +:104AD000655F7365745F636F6C6F72005F6C765FA8 +:104AE0007374796C655F7365745F6F70610000004B +:104AF0005F6C765F7374796C655F7365745F7074F7 +:104B0000720000005F6C765F7374796C655F6C692E +:104B100073745F6164645F7472616E735F737479E0 +:104B20006C6500002E2E2F74686972647061727457 +:104B3000792F6C76676C2F7372632F6C765F636F5F +:104B400072652F6C765F7374796C652E630000005C +:104B50006C765F7374796C655F6C6973745F726592 +:104B60006D6F76655F7374796C653A20636F756CF1 +:104B7000646E2774207265616C6C6F63617465206C +:104B8000636C617373206C69737400006C765F737F +:104B900074796C655F6C6973745F6164645F73746E +:104BA000796C653A20636F756C646E27742061645C +:104BB000642074686520636C617373006765745F5B +:104BC0006C6F63616C5F7374796C653A20636F75A9 +:104BD0006C646E277420637265617465206C6F630A +:104BE000616C207374796C65000000006C765F73F3 +:104BF00074796C655F6C6973745F6164645F74720F +:104C0000616E735F7374796C653A20636F756C6461 +:104C10006E277420637265617465207472616E73AF +:104C20006974696F6E207374796C650066696C6C69 +:104C30005F626C656E646564000000006D61705FAA +:104C4000626C656E646564002E2E2F7468697264F0 +:104C500070617274792F6C76676C2F7372632F6C2E +:104C6000765F647261772F6C765F647261775F62E2 +:104C70006C656E642E63000066696C6C5F626C65C7 +:104C80006E6465643A20756E737570706F727465CA +:104C90006420626C656E64206D6F646500000000C6 +:104CA000FFFF00006C765F647261775F696D67007B +:104CB0006C765F696D675F647261775F636F726561 +:104CC000000000002E2E2F74686972647061727487 +:104CD000792F6C76676C2F7372632F6C765F6472BA +:104CE00061772F6C765F647261775F696D672E63A1 +:104CF00000000000496D61676520647261773A20A9 +:104D0000737263206973204E554C4C004E6F0A64D9 +:104D100061746100496D6167652064726177206527 +:104D200072726F7200000000496D616765206472E5 +:104D300061772063616E27742072656164207468F6 +:104D400065206C696E65000000FF00000055AAFF39 +:104D500000112233445566778899AABBCCDDEEFF5B +:104D6000000102030405060708090A0B0C0D0E0FCB +:104D7000101112131415161718191A1B1C1D1E1FBB +:104D8000202122232425262728292A2B2C2D2E2FAB +:104D9000303132333435363738393A3B3C3D3E3F9B +:104DA000404142434445464748494A4B4C4D4E4F8B +:104DB000505152535455565758595A5B5C5D5E5F7B +:104DC000606162636465666768696A6B6C6D6E6F6B +:104DD000707172737475767778797A7B7C7D7E7F5B +:104DE000808182838485868788898A8B8C8D8E8F4B +:104DF000909192939495969798999A9B9C9D9E9F3B +:104E0000A0A1A2A3A4A5A6A7A8A9AAABACADAEAF2A +:104E1000B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF1A +:104E2000C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF0A +:104E3000D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFFA +:104E4000E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFEA +:104E5000F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFDA +:104E60006C765F647261775F6C6574746572000064 +:104E7000647261775F6C65747465725F737562707C +:104E800078000000647261775F6C65747465725FAE +:104E90006E6F726D616C00000024496D92B6DBFF8D +:104EA0002E2E2F746869726470617274792F6C761B +:104EB000676C2F7372632F6C765F647261772F6CEF +:104EC000765F647261775F6C6162656C2E6300006F +:104ED0006C765F647261775F6C65747465723A209A +:104EE000666F6E74206973204E554C4C00000000B4 +:104EF0006C765F647261775F6C65747465723A207A +:104F0000676C797068206473632E206E6F742066FE +:104F10006F756E64000000006C765F647261775F8D +:104F20006C65747465723A2063686172616374655C +:104F3000722773206269746D6170206E6F742066D1 +:104F40006F756E64000000006C765F647261775F5D +:104F50006C65747465723A20696E76616C69642060 +:104F6000627070206E6F7420666F756E6400000052 +:104F70006C765F647261775F6C65747465723A20F9 +:104F8000696E76616C6964206270700080808081D7 +:104F90008182828384858687898A8C8D8F9193957F +:104FA00097999B9EA0A2A5A7AAADAFB2B50000009D +:104FB0006C765F647261775F6D61736B5F6164646F +:104FC000000000006C765F647261775F6D61736BE7 +:104FD0005F616E676C655F696E6974002E2E2F7459 +:104FE0006869726470617274792F6C76676C2F7364 +:104FF00072632F6C765F647261772F6C765F647278 +:1050000061775F6D61736B2E630000006C765F6D7E +:1050100061736B5F6164643A206E6F20706C6163D2 +:105020006520746F2061646420746865206D61730D +:105030006B000000556E657870656374656420735D +:10504000746172745F616E676C650000556E65789F +:1050500070656374656420656E645F616E676C651E +:1050600000000000FFFF0000647261775F706174F0 +:105070007465726E000000002E2E2F7468697264D1 +:1050800070617274792F6C76676C2F7372632F6CFA +:10509000765F647261772F6C765F647261775F729E +:1050A0006563742E63000000647261775F696D67E9 +:1050B0003A2063616E27742067657420696D6167AB +:1050C0006520696E666F00006C765F696D675F646E +:1050D000657369676E3A20696D61676520736F75E6 +:1050E000726365207479706520697320756E6B6ECC +:1050F0006F776E0000112233445566778899AABBFA +:10510000CCDDEEFF6C765F696D675F6275665F731D +:1051100065745F70616C6574746500005F6C765FC8 +:10512000696D675F63616368655F6F70656E0000DE +:105130006C765F696D675F63616368655F736574F3 +:105140005F73697A650000002E2E2F74686972649F +:1051500070617274792F6C76676C2F7372632F6C29 +:10516000765F647261772F6C765F696D675F6361EC +:105170006368652E630000006C765F696D675F632E +:10518000616368655F6F70656E3A2074686520635F +:10519000616368652073697A652069732030000057 +:1051A000696D61676520647261773A206361636845 +:1051B00065206D6973732C20636C6F736520616E5D +:1051C0006420726575736520616E20656E747279F6 +:1051D00000000000696D61676520647261773A20A4 +:1051E0006361636865206D6973732C206361636814 +:1051F000656420746F20616E20656D707479206520 +:105200006E74727900000000496D616765206472F8 +:1052100061772063616E6E6F74206F70656E2074AD +:10522000686520696D616765207265736F7572636B +:10523000650000006C765F696D675F6465636F642D +:1052400065725F6275696C745F696E5F696E666FC7 +:10525000000000006C765F696D675F6465636F6472 +:1052600065725F6275696C745F696E5F6F70656EA1 +:10527000000000006C765F696D675F6465636F6452 +:1052800065725F6275696C745F696E5F6C696E658B +:105290005F747275655F636F6C6F7200001122330B +:1052A000445566778899AABBCCDDEEFF6C765F69C2 +:1052B0006D675F6465636F6465725F6275696C7466 +:1052C0005F696E5F726561645F6C696E65000000A6 +:1052D0006C765F696D675F6465636F6465725F6359 +:1052E00072656174650000005F6C765F696D675F71 +:1052F0006465636F6465725F696E697400000000C5 +:105300002E2E2F746869726470617274792F6C76B6 +:10531000676C2F7372632F6C765F647261772F6C8A +:10532000765F696D675F6465636F6465722E6300A5 +:10533000496D6167652067657420696E666F2067D7 +:10534000657420726561642066696C6520686561BA +:1053500064657200496D6167652067657420696ED8 +:10536000666F20666F756E6420756E6B6E6F776EFC +:1053700020737263207479706500000062696E00AA +:105380004275696C742D696E20696D616765206472 +:1053900065636F6465722063616E2774206F70654A +:1053A0006E207468652066696C650000696D675FD2 +:1053B0006465636F6465725F6275696C745F696E62 +:1053C0005F6F70656E3A206F7574206F66206D6533 +:1053D0006D6F727900000000496D6167652064653A +:1053E000636F646572206F70656E3A20756E6B6EC8 +:1053F0006F776E20636F6C6F7220666F726D617471 +:10540000000000004275696C742D696E20696D6141 +:105410006765206465636F646572207365656B20E2 +:105420006661696C656400004275696C742D696E13 +:1054300020696D616765206465636F6465722072C1 +:10544000656164206661696C656400004275696C21 +:10545000742D696E20696D616765206465636F6492 +:1054600065722072656164206E6F74207375707050 +:105470006F7274732074686520636F6C6F7220663E +:105480006F726D61740000006C765F696D675F64B8 +:1054900065636F6465725F696E69743A206F7574D5 +:1054A000206F66206D656D6F727900006C765F66A7 +:1054B0006F6E745F6765745F6269746D61705F665B +:1054C0006D745F74787400002E2E2F746869726496 +:1054D00070617274792F6C76676C2F7372632F6CA6 +:1054E000765F666F6E742F6C765F666F6E745F6644 +:1054F0006D745F7478742E63000000000C55020018 +:1055000058610200BC6002003D3100000001000053 +:105510000000000000010000030000000002000085 +:10552000000000000000000000000000000001007A +:1055300000000000000000000000000000010C005E +:1055400007FA00000000F2F1020C0604F6020D0159 +:105550000B030800000000000000000000000F0224 +:10556000FE0000000000000000000000000500F840 +:105570000000000000FB04050000FD00FE0300FD2C +:1055800000FDFFFB00000000FD0000FDFC0000FD31 +:1055900000FB000000000000000000FDFD00FC001A +:1055A000F900E10000FB0005080000FB030308050B +:1055B000FC050000F10000000000000000000000F9 +:1055C000F70000000000000000000000000000F9EB +:1055D000FDF300F6FE00000000010A00F8FEFF01E6 +:1055E00000FC0000FEED00000000000000000000D4 +:1055F00000ECFE0A000000000000000000000000B7 +:10560000F600000000000000000000080003000099 +:10561000FB0000000000000000000000000000008F +:1056200000000A020100000000000000000000006D +:10563000000000000000000000000000000000006A +:10564000000000000000000000000000F700000063 :10565000000000000000000000000000000000004A -:1056600000000000F7000000000000000000000043 -:10567000000000000000000000000002050308FD1B -:10568000000005FDF8DD02070501FD000900080026 -:105690000800E800FD080008FD0503000001FD000A -:1056A00000FC1400140008000B030408000000F7BD -:1056B0000000000001FE0002FBFDFB0200FD0000F7 -:1056C00000F60000000000000000000000EF0000F5 -:1056D0000000000000000000000000000001F200D7 -:1056E000F000000000FE0019FDFD0303FE00FD03B5 -:1056F0000000F20000000000000000000000E700D1 -:1057000003000000000000000000000000F0000F97 -:105710000000F7000800EFE7EFFB080000EF0003D0 -:10572000FA00FC000000000000000000000000077C -:1057300008E10000000000000000000000000C0074 -:105740000200000000000202FDFB00FFFFFD000060 -:10575000FE000000FB00FE00FAFB00FAF8F8FB0078 -:10576000FB00FB00000000FE0000030002FD000142 -:1057700000000003FE000000FE0303FF000000FB2A -:1057800000FF0000000000010003FE00FD00FC001F -:1057900000FE00080000FD0000000000FF01FEFE0A -:1057A0000000FD00FD000000000000000000FFFF01 -:1057B00000FDFD0000000000010000FE00FDFDFDF9 -:1057C000000000000000000000FE00000000FEFDE0 -:1057D00000FC00F8FEF8050000FB03050700FAFFD7 -:1057E000FD00FFF403FE02F203000001F300F2FEED -:1057F000EAFE00F30005070003000000000100FBC3 -:10580000FD00F8000000FD000000FD0000000000A9 -:10581000FFFF00FFFD00000000000000FDFD00FE96 -:10582000FDFE0000FD000000000000000000000080 -:10583000FEFE00FD00FE00FB030000FD010303006F -:105840000000000000FE0000000000020000FD005B -:10585000FDFEFD000000000000000200FE00000050 -:1058600000FDFC00FB0008FE01F8000007F3F3F563 -:10587000FB0300FEEFFB00FB00FB04FBF000F90064 -:105880000001FF02FE000300F8F600F3FAFBFAF84D -:10589000FDF9FFFBF902000100FD0000000200031A -:1058A0000000000000000000000000FD00FF00FFFD -:1058B000FD00FCFAFAFF00F8000000000000FE0006 -:1058C00000000001FE0000000300000000000000D6 -:1058D000000C00000000000002000000FD000000BD -:1058E0000000000000000000FB00030000000000BA -:1058F0000000000000000000FE000000FB000000AF -:1059000000F3F8000000FCF30000FD0300F90000C4 -:105910000000000000000000FC0000FB0000000090 -:1059200000000000000000000300FB000000000376 -:105930000002FBFB00FDFDFD000000000000F80080 -:10594000FD00FCFD00FAFAF8FE00FB00F800000084 -:1059500000140000010000FD000300F5000000003D -:1059600000E8FB0808FEF50003FC00F3FFFD03EE72 -:10597000FD030004F7FCF7F8F50000F1000F00004C -:10598000FF000000FFFFFDF9F8FFE8000000000045 -:105990000000000001000000000000000000000006 -:1059A0000000000000FD00FFFDFC0000FB00FD000A -:1059B0000000000000000000000000000000FF00E8 -:1059C000FB000005FF0300FA03FEFFF9FD00FDFDEB -:1059D000FE00FCFC0000FEFFFEFCFD0000FD0003DD -:1059E000FE00FA000000FB00FC00FCFC03000000CD -:1059F0000000000000FB0300FC00FEFDF8FEFEFEC0 -:105A0000FFFEFDFF0000000000FDFEFE00000000A4 -:105A100003FE00FE000000FEFDFEFEFDFE00020A89 -:105A2000FF00F900FE0500FDF5FD040000F4FC0395 -:105A3000FC0200FEFEF800FC010000FC0000000378 -:105A400003FBFB00FCFDFCFDFD00FC01FBFC080072 -:105A50000000000000000000030000000000000043 +:1056600000000002050308FD000005FDF8DD02074B +:105670000501FD00090008000800E800FD08000819 +:10568000FD0503000001FD0000FC140014000800EB +:105690000B030408000000F70000000001FE0002F8 +:1056A000FBFDFB0200FD000000F600000000000012 +:1056B0000000000000EF00000000000000000000FB +:1056C000000000000001F200F000000000FE0019E0 +:1056D000FDFD0303FE00FD030000F20000000000DA +:1056E000000000000000E7000300000000000000D0 +:1056F0000000000000F0000F0000F7000800EFE7D6 +:10570000EFFB080000EF0003FA00FC0000000000BF +:10571000000000000000000708E100000000000099 +:105720000000000000000C00020000000000020267 +:10573000FDFB00FFFFFD0000FE000000FB00FE007F +:10574000FAFB00FAF8F8FB00FB00FB00000000FE8B +:105750000000030002FD000100000003FE00000045 +:10576000FE0303FF000000FB00FF0000000000013B +:105770000003FE00FD00FC0000FE00080000FD002C +:1057800000000000FF01FEFE0000FD00FD00000023 +:10579000000000000000FFFF00FDFD000000000011 +:1057A000010000FE00FDFDFD000000000000000003 +:1057B00000FE00000000FEFD00FC00F8FEF8050001 +:1057C00000FB03050700FAFFFD00FFF403FE02F2F1 +:1057D00003000001F300F2FEEAFE00F300050700FB +:1057E00003000000000100FBFD00F8000000FD00C8 +:1057F0000000FD0000000000FFFF00FFFD000000B2 +:1058000000000000FDFD00FEFDFE0000FD000000A8 +:105810000000000000000000FEFE00FD00FE00FB96 +:10582000030000FD010303000000000000FE000073 +:10583000000000020000FD00FDFEFD000000000071 +:1058400000000200FE00000000FDFC00FB0008FE5E +:1058500001F8000007F3F3F5FB0300FEEFFB00FB8C +:1058600000FB04FBF000F9000001FF02FE00030052 +:10587000F8F600F3FAFBFAF8FDF9FFFBF902000174 +:1058800000FD000000020003000000000000000016 +:10589000000000FD00FF00FFFD00FCFAFAFF00F829 +:1058A000000000000000FE0000000001FE000000FB +:1058B0000300000000000000000C000000000000D9 +:1058C00002000000FD0000000000000000000000D9 +:1058D000FB000300000000000000000000000000CA +:1058E000FE000000FB00000000F3F8000000FCF3E5 +:1058F0000000FD0300F900000000000000000000AF +:10590000FC0000FB000000000000000000000000A0 +:105910000300FB00000000030002FBFB00FDFDFD97 +:10592000000000000000F800FD00FCFD00FAFAF89D +:10593000FE00FB00F800000000140000010000FD64 +:10594000000300F50000000000E8FB0808FEF50079 +:1059500003FC00F3FFFD03EEFD030004F7FCF7F882 +:10596000F50000F1000F0000FF000000FFFFFDF94F +:10597000F8FFE80000000000000000000100000047 +:1059800000000000000000000000000000FD00FF1B +:10599000FDFC0000FB00FD00000000000000000016 +:1059A000000000000000FF00FB000005FF0300FAFC +:1059B00003FEFFF9FD00FDFDFE00FCFC0000FEFF04 +:1059C000FEFCFD0000FD0003FE00FA000000FB00ED +:1059D000FC00FCFC030000000000000000FB0300D2 +:1059E000FC00FEFDF8FEFEFEFFFEFDFF00000000D5 +:1059F00000FDFEFE0000000003FE00FE000000FEB1 +:105A0000FDFEFEFDFE00020AFF00F900FE0500FD9E +:105A1000F5FD040000F4FC03FC0200FEFEF800FCAF +:105A2000010000FC0000000303FBFB00FCFDFCFD8B +:105A3000FD00FC01FBFC080000000000000000006D +:105A40000300000000000000000000000000000053 +:105A50000000000000000000FC000000000000004A :105A60000000000000000000000000000000000036 -:105A7000FC0000000000000000000000000000002A -:105A80000000000000000000000000000000000016 -:105A9000000000000000000000000000FE00000008 -:105AA00000000000000000000000000000000000F6 -:105AB00000000000000000000000FEFD00000000EB -:105AC0000000000000000000FC0000FD0000FDFDE3 -:105AD00000000000FD00000000FF0000000000FECC -:105AE00000000000FC00FB000000F80002FA0501C5 -:105AF000FEF40000FAFD00F6FAF90000F5FDF6F6F6 -:105B0000F400F9000211FD00FAFDFFFDFCF9FBF7BE -:105B1000F6FAFD0000FE00010000EEFE0806FAF7AE -:105B20000001F800F3FEFD05E8FD010000EFFDF3C4 -:105B3000FDED0000EE000F0100FE00000000FFFE82 -:105B4000F6FE00EF00000000F800FE00FFF9F40090 -:105B500000FFFCF8FD00FE00000000F4FDF8F8FE78 -:105B6000FCFAFDFC00FBFEF8FC00FDFBFDFB000168 -:105B700000FEF8000500FB00000000030002FB0A25 -:105B800000FDFDFD000000000000F800FD00FCFD30 -:105B900000FAFAF8FE00FB020A0000000014000000 -:105BA000010000FD00030000000000000000FF00F5 -:105BB00000000000FEFB0000000000FF000000FDF0 -:105BC000FD0000FBFD0000FB0004FF0000000000E2 -:105BD000000100000000040502FE00F8FC0008F8C7 -:105BE000F8FBFB0A0503EAFE05FD00FD03FDF700D7 -:105BF000FD03FDFEF8FE0000080500F900F2FD07B8 -:105C0000FDF601FDF8F8FD0A0300FC00F9000208AA -:105C1000FAF7F6FA080001EDFE03FCFEFA00FAF7C7 -:105C2000FCFCFE0000FAFBFD000806FDF200F2FCA1 -:105C300000F7F1FFF8FCF8F9070000FD00FBFE009B -:105C4000FDFB0004F8030000F200FDFAFCFEF8FA88 -:105C5000F8FA00F8FDFAFBF8FD0000010CFC00F872 -:105C6000FD00FDFBFAF9F9F6FDFB0500FC00F3FD74 -:105C70000205F8F7FBF808FD01E8FB05FAFCF70060 -:105C8000F8F5FDFDFEFDFBF8FF00000807FEEF0044 -:105C9000F1FA06F6EFFBF7F5F3F80500000000FD5A -:105CA000000003FD0502FB050000F8FF00FF0001F6 -:105CB00001FE000000000000FD00000000020801DD -:105CC00000FD00000000FEFEFD00000001020000DB -:105CD00000000200FE000A00050101FD00050000B1 -:105CE00000020000000000000000000000080007A3 -:105CF0000000000000000000000000000000F100B3 -:105D0000FD04000800001903FBFB0303FE01F30080 -:105D1000000CF10000000000000000000000EF0A8D -:105D200024000000000000000000000000F100005E -:105D30000000000000000000000000000000000063 -:105D40000000000000000000FC0000FBFE0000005E -:105D50000000000000000000000000000000000043 -:105D6000FE00F900000100000321FBFE0807F90313 -:105D700000000303FD000000000000000000000020 -:105D8000DF0700000000000000000000000000002D -:105D9000000000F9000000F900000000FAFF000018 -:105DA00000FA00FD00F40000000000000000000008 -:105DB00000EF0000000001000000000000FD0000F6 -:105DC000FB00FC00F9000000FC03FD0000F9FDFAF7 -:105DD0000000F900FD00F400FD0000EBFBF6FDF70C -:105DE0000000EF00F9FF0000000000000000FCFBD5 -:105DF000FEFC00000000FA00FA03FD0500FEFAFEBA -:105E0000FCFB00FDFFFE02F9FF000000E9FEFC00C4 -:105E1000FA00FEF4FE0000FEFE000000000200FE9C -:105E2000FCFE040000000000000000000000000074 -:105E30000000000000000000000000000000000062 -:105E4000000000000000000000000000000003004F -:105E50000000000000FA00FE000000FB030000004C -:105E6000F9FDFB0000F900FD00F400000000E70070 -:105E7000FBF7F30000EF00FEFC0000000000000054 -:105E800000FDFCFFFC01000004FD00080DFDFDF815 -:105E9000030D0406F9030B030706070000000000CA -:105EA000000000000000100CFBFD00FE140B1400AD -:105EB0000000030000090000FC00000000000000DA -:105EC0000000FE00000000000000000400000000D0 -:105ED000EAFDFEF6F30000EF000000000000000005 -:105EE000000000000000000000FC000000000000B6 -:105EF000000000FE000000000000000004000000A0 -:105F000000EAFDFEF6F30000F600000000000000CD -:105F1000000000000000000000000000FE00000083 -:105F2000FA0300FD020503F800FFFE030002000073 -:105F30000000FA00FEFEFB00FEF60010FD00FAFE77 -:105F400000FEFC00FDF9FBFD000000FC000000006D -:105F50000000000000FE000000000000000004003F -:105F6000000000EAFDFEF6F30000EF000000000074 -:105F7000000D00000000000000000000FC00F8FD23 -:105F8000FE08FEFDF601FE01FEF901060102010216 -:105F9000FAF6FD00F6FBF9F5F600FCFBFDFDFEFE52 -:105FA000FDFE00FEFF040004FE00080000000000EB -:105FB00000000000000000FEFDFD0000F900FF00F1 -:105FC000FC0000000000000000000000F1000000E4 -:105FD0000000000000000000FDFD00FD00000000CA -:105FE000FE0000FCFD0300FCFBFE00F9FEFAFEFDD6 -:105FF00000FC0000000000000000000000EF0008AE -:106000000000FB00000000FD00FD0000FF0000FE9E -:1060100000FA00000BFDF8F8020303FFF902040286 -:10602000080208FEF90000F60000F8F90000FB0085 -:10603000FDFC00FC00FC00FE0400FEF8FD09000071 -:10604000FE00FB000003FA0003FD020000F800FE62 -:10605000FF00FD03FE000000F6FDFA00F80000F46A -:106060000009FD00FB000200FD00FDF800FD03003B -:10607000000000FE000003FD010000FDFE00FD0029 -:106080000000000000000000000000000000000010 -:10609000F000060000FE000000000100FDFD000011 -:1060A000000500060000000000F0F1010B0804F6F6 -:1060B000020B0009000500000000000000000000C5 -:1060C000000E0000000000000000000000000000C2 -:1060D000000000000000010200030405020607089A -:1060E000090A090A0B0C0D0E0F10110C12131415CE -:1060F0001500000016171819171919191719191A68 -:106100001919191917191719031B1C1D1D1E1F20FA -:106110002122230024002526272727002726282997 -:1061200026262A2A272A272A2B2C2D2E2E2F2E30C0 -:1061300000002309310900000000000000000000F9 +:105A70000000000000000000000000000000000026 +:105A800000000000FE000000000000000000000018 +:105A90000000000000000000000000000000000006 +:105AA0000000FEFD000000000000000000000000FB +:105AB000FC0000FD0000FDFD00000000FD000000F6 +:105AC00000FF0000000000FE00000000FC00FB00E2 +:105AD0000000F80002FA0501FEF40000FAFD00F6ED +:105AE000FAF90000F5FDF6F6F400F9000211FD00E8 +:105AF000FAFDFFFDFCF9FBF7F6FAFD0000FE0001E0 +:105B00000000EEFE0806FAF70001F800F3FEFD05BE +:105B1000E8FD010000EFFDF3FDED0000EE000F01D8 +:105B200000FE00000000FFFEF6FE00EF0000000097 +:105B3000F800FE00FFF9F40000FFFCF8FD00FE0095 +:105B4000000000F4FDF8F8FEFCFAFDFC00FBFEF896 +:105B5000FC00FDFBFDFB000100FEF8000500FB0062 +:105B6000000000030002FB0A00FDFDFD0000000034 +:105B70000000F800FD00FCFD00FAFAF8FE00FB0250 +:105B80000A00000000140000010000FD00030000F6 +:105B9000000000000000FF0000000000FEFB00000D +:105BA000000000FF000000FDFD0000FBFD0000FB09 +:105BB0000004FF00000000000001000000000405D8 +:105BC00002FE00F8FC0008F8F8FBFB0A0503EAFEF9 +:105BD00005FD00FD03FDF700FD03FDFEF8FE0000DE +:105BE000080500F900F2FD07FDF601FDF8F8FD0AD1 +:105BF0000300FC00F9000208FAF7F6FA080001EDCC +:105C0000FE03FCFEFA00FAF7FCFCFE0000FAFBFDC6 +:105C1000000806FDF200F2FC00F7F1FFF8FCF8F9CD +:105C2000070000FD00FBFE00FDFB0004F803000080 +:105C3000F200FDFAFCFEF8FAF8FA00F8FDFAFBF8BB +:105C4000FD0000010CFC00F8FD00FDFBFAF9F9F67F +:105C5000FDFB0500FC00F3FD0205F8F7FBF808FD6D +:105C600001E8FB05FAFCF700F8F5FDFDFEFDFBF889 +:105C7000FF00000807FEEF00F1FA06F6EFFBF7F56C +:105C8000F3F80500000000FD000003FD0502FB0520 +:105C90000000F8FF00FF000101FE0000000000000E +:105CA000FD0000000002080100FD00000000FEFEF3 +:105CB000FD0000000102000000000200FE000A00DA +:105CC000050101FD000500000002000000000000C9 +:105CD00000000000000800070000000000000000B5 +:105CE000000000000000F100FD040008000019039E +:105CF000FBFB0303FE01F300000CF10000000000B9 +:105D0000000000000000EF0A240000000000000076 +:105D10000000000000F10000000000000000000092 +:105D20000000000000000000000000000000000073 +:105D3000FC0000FBFE00000000000000000000006E +:105D40000000000000000000FE00F900000100005B +:105D50000321FBFE0807F90300000303FD00000018 +:105D60000000000000000000DF070000000000004D +:105D70000000000000000000000000F9000000F931 +:105D800000000000FAFF000000FA00FD00F400002F +:105D9000000000000000000000EF00000000010013 +:105DA0000000000000FD0000FB00FC00F900000006 +:105DB000FC03FD0000F9FDFA0000F900FD00F4000D +:105DC000FD0000EBFBF6FDF70000EF00F9FF00001F +:105DD000000000000000FCFBFEFC00000000FA00D8 +:105DE000FA03FD0500FEFAFEFCFB00FDFFFE02F9D2 +:105DF000FF000000E9FEFC00FA00FEF4FE0000FED9 +:105E0000FE000000000200FEFCFE04000000000096 +:105E10000000000000000000000000000000000082 +:105E20000000000000000000000000000000000072 +:105E300000000000000003000000000000FA00FE67 +:105E4000000000FB03000000F9FDFB0000F900FD6D +:105E500000F400000000E700FBF7F30000EF00FE95 +:105E6000FC0000000000000000FDFCFFFC01000041 +:105E700004FD00080DFDFDF8030D0406F9030B03F6 +:105E80000706070000000000000000000000100CE2 +:105E9000FBFD00FE140B14000000030000090000CD +:105EA000FC000000000000000000FE0000000000F8 +:105EB0000000000400000000EAFDFEF6F30000EF21 +:105EC00000000000000000000000000000000000D2 +:105ED00000FC000000000000000000FE00000000C8 +:105EE000000000000400000000EAFDFEF6F30000E0 +:105EF000F6000000000000000000000000000000AC +:105F000000000000FE000000FA0300FD020503F897 +:105F100000FFFE03000200000000FA00FEFEFB008E +:105F2000FEF60010FD00FAFE00FEFC00FDF9FBFD90 +:105F3000000000FC000000000000000000FE000067 +:105F40000000000000000400000000EAFDFEF6F37F +:105F50000000EF0000000000000D00000000000045 +:105F600000000000FC00F8FDFE08FEFDF601FE0149 +:105F7000FEF9010601020102FAF6FD00F6FBF9F551 +:105F8000F600FCFBFDFDFEFEFDFE00FEFF0400042E +:105F9000FE0008000000000000000000000000FEFD +:105FA000FDFD0000F900FF00FC0000000000000003 +:105FB00000000000F10000000000000000000000F0 +:105FC000FDFD00FD00000000FE0000FCFD0300FCE4 +:105FD000FBFE00F9FEFAFEFD00FC000000000000E0 +:105FE0000000000000EF00080000FB00000000FDC2 +:105FF00000FD0000FF0000FE00FA00000BFDF8F8B5 +:10600000020303FFF9020402080208FEF90000F689 +:106010000000F8F90000FB00FDFC00FC00FC00FEA5 +:106020000400FEF8FD090000FE00FB000003FA007A +:1060300003FD020000F800FEFF00FD03FE0000006B +:10604000F6FDFA00F80000F40009FD00FB00020074 +:10605000FD00FDF800FD0300000000FE000003FD50 +:10606000010000FDFE00FD00000000000000000037 +:106070000000000000000000F000060000FE00002C +:1060800000000100FDFD000000050006000000000A +:1060900000F0F1010B0804F6020B000900050000F6 +:1060A0000000000000000000000E000000000000E2 +:1060B00000000000000000000000000000000102DD +:1060C0000003040502060708090A090A0B0C0D0E55 +:1060D0000F10110C121314151500000016171819C3 +:1060E000171919191719191A191919191719171927 +:1060F000031B1C1D1D1E1F202122230024002526FA +:10610000272727002726282926262A2A272A272A3A +:106110002B2C2D2E2E2F2E300000230931090000AC +:10612000000000000000000000000000000000006F +:10613000000000000000000000000000000000005F :10614000000000000000000000000000000000004F -:10615000000000000000000000000000000000003F -:10616000000000000000000000000000000000002F -:10617000000001020003040502060708090A090AD3 -:106180000B0C000D0E0F101112130C141400000054 -:106190001516171819161A1B1C1D1D1E1F201D1D54 -:1061A0001621222303241E2525262728292A2B00F1 -:1061B0002C002D2E2F303132332D343435302D2D0F -:1061C0002E2E36373839333A3A3B3A3C290000090B -:1061D0003D09000000000000000000000000000079 +:106150000000000000000000000001020003040530 +:1061600002060708090A090A0B0C000D0E0F101190 +:1061700012130C14140000001516171819161A1B08 +:106180001C1D1D1E1F201D1D1621222303241E253C +:1061900025262728292A2B002C002D2E2F3031329E +:1061A000332D343435302D2D2E2E36373839333AC1 +:1061B0003A3B3A3C290000093D090000000000007C +:1061C00000000000000000000000000000000000CF +:1061D00000000000000000000000000000000000BF :1061E00000000000000000000000000000000000AF -:1061F000000000000000000000000000000000009F -:10620000000000000000000000000000200000006E -:106210005F0001000000000000000000000000001E -:10622000B0000000F3F760003462020000000000DC -:106230003B0002000000721F51EF58EF5BEF5CEF74 -:106240005DEF61EF63EF65EF69EF6CEF71EF76EF94 -:1062500077EF78EF8EEF98EF9BEF9CEF9DEFA1EF3C -:10626000A2EFA3EFA4EFB7EFB8EFBEEFC0EFC1EF1F -:10627000C4EFC7EFC8EFC9EFCBEFE3EFE5EF14F0E2 -:1062800015F017F037F03AF043F06CF074F0ABF023 -:106290003BF190F191F192F193F194F1D7F1E3F1A7 -:1062A0003DF254F2AAF412F7F2F7000000000000E9 -:1062B0000000000000005004000000000000500436 -:1062C000030C010012004006050501071F00400BEA -:1062D0000B0C00006100F0090A1000FEB100800DF7 -:1062E0000D0C0000FF00000B0B0D00FF47016003C9 -:1062F000020501074C016005040F01FD6A017005EC -:10630000040F00FD8801600607070005A101500980 -:1063100008080102C101A003030500FEC90120060F -:1063200006030003D201A00303030000D701A00568 -:106330000810FFFE1702B00A0A0C00005302F00515 -:10634000050C000071023009090C0000A7022009A9 -:10635000090C0000DD02B00A0B0C00001F0330091D -:10636000090C00005503E0090A0C00009103900994 -:10637000090C0000C703500A0A0C00000304E009DE -:106380000A0C00003F04A003030900004D04A00311 -:10639000030C00FD5F045009080801027F04500946 -:1063A000080601039704500908080102B7043009E0 -:1063B000090C0000ED049010100F00FD6505B00BF6 -:1063C0000D0CFF00B305200C0B0C0100F505900B24 -:1063D0000B0C00003706300D0C0C01007F06C00AC4 -:1063E000090C0100B506300A090C0100EB06600C2F -:1063F0000C0C00003307000D0B0C01007507F004B6 -:10640000030C010087073008080CFF00B707800B5A -:106410000B0C0100F9078009090C01002F08400F3F -:106420000D0C01007D08000D0B0C0100BF08700D64 -:106430000D0C00000D09900B0A0C01004909700DAC -:106440000E0F00FDB209A00B0A0C0100EE09F009C5 -:106450000A0C00002A0A60090A0C0000660AA00C57 -:106460000B0C0100A80A600B0D0CFF00F60A0012CD -:10647000120C0000620BC00A0B0C0000A40B600A97 -:106480000C0CFF00EC0B800A0B0C00002E0C5005CE -:10649000050F01FD540CA0050810FFFE940C5005DB -:1064A000040F00FDB20C500908070102CE0C0008D1 -:1064B000080200FED60CA0090502010ADB0C9009B7 -:1064C00009090000040DF00A0A0C0100400D200922 -:1064D00009090000690DF00A0A0C0000A50DD00999 -:1064E0000A090000D20DA005070C0000FC0D100BDE -:1064F0000A0C00FD380EE00A090C01006E0E700453 -:10650000030C0100800E9004060FFEFDAD0EE009A5 -:10651000090C0100E30E7004020C0100EF0EF010F4 -:106520000F090100330FE00A090901005C0F300A6E -:106530000A090000890FF00A0A0C01FDC50FF00AD4 -:106540000A0C00FD01109006060901001C1000084D -:10655000080900004010A006070B00006710D00AD1 -:10656000090901009010F0080A09FF00BD10600E33 -:106570000F0900000111D008090900002A11F008D4 -:106580000A0CFFFD66115008080900008A11A005D9 -:10659000060F00FDB711D004030F01FDCE11A005B9 -:1065A000050F00FDF4115009090500040B12B00697 -:1065B000060600061D120005030401032312001045 -:1065C000101100FEAB120010100C00000B13001095 -:1065D000100E00FF7B130010100C0000DB13000BEB -:1065E0000B0C00001D140010101000FE9D14001074 -:1065F000101000FE1D150012120E00FF9B1500105A -:10660000101000FE1B160012120C0000871600105E -:10661000101000FE07170008080E00FF3F17000CBF -:106620000C0E00FF93170012121000FE231800102A -:10663000100C00008318000E0A1002FED318000E82 -:106640000E1200FD5119000E0E0F00FFBA19000EB8 -:106650000E0E00FF1C1A000E0A1002FE6C1A000E2D -:10666000100EFFFFDC1A000A0A0E00FF221B000AB0 -:106670000A0E00FF681B000E0E0E00FFCA1B000E64 -:106680000E040004E61B0012120C0000521C001441 -:10669000141000FEF21C00121410FFFE921D0010D8 -:1066A000101000FE121E000E0E0A0001581E000EF1 -:1066B0000E0A00019E1E0014140E00FF2A1F001077 -:1066C000100C00008A1F0010101000FE0A2000109D -:1066D0001111FFFE9B20000E0F0E00FF0421000E83 -:1066E0000E1000FE7421000E0E0E00FFD621000ACF -:1066F0000C10FFFE3622000E0E1000FEA622000E29 -:106700000E1000FE16230012120C0000822300104F -:106710001212FFFD2424000C0C1000FE842400142F -:10672000140F00FF1A250014140A00017E2500141E -:10673000140A0001E2250014140A00014626001480 -:10674000140A0001AA260014140A00010E270014DE -:10675000150E00FFA127000E0C1001FE0128000EEF -:106760000E1000FE712800101111FFFD0229001407 -:10677000140C00007A29000C0C1000FEDA292010FD -:10678000110B0001BF0BF0AF0AE09E08D08C07C0D0 -:10679000000010BF1AE0F51F3F51F3E40F3E40F236 -:1067A0007208100005C003E000007A005C000009D8 -:1067B0008007A001FFFFFFFFFD033E733C83300015 -:1067C000F200C500000F100E300002F000F2009F32 -:1067D000FFFFFFFF4138C336E3300089005C000053 -:1067E0000A7007A000000079000000007900000096 -:1067F0005CFFE92006FCBC9E900EB07900100F8073 -:106800007900000DF579000003EFFD50000006CF80 -:10681000FE400000795EF100007905F3070079077A -:10682000F12FE9BCAFA003AEFFD700000079000054 -:10683000000079000003DE800005D000E40C500168 -:10684000E3004C005A00A90006A004C04E00004C12 -:10685000005A0D500000E41C58A0000003CE73E164 -:106860003CE9000000D60E40A800007C03C003D025 -:10687000002E203C003D000B7000E2098006D00095 -:1068800004DDA00009EFB1000009E43CA00000D93C -:10689000007D00000CC01CA000003FAEC100000144 -:1068A000DFC0000003EB8F701800DB007F65F03F56 -:1068B00040008FEA03F70000CF700BF966CFBF40AE -:1068C00008DFEA30A5000000000000F5F5E4E472FE -:1068D00000DA05F20BC00F703F405F206F107F00A1 -:1068E0006F105F203F400F700BC005F200DA3F30A1 -:1068F0000CB006F101F600E900BC00AD00AE00AD41 -:1069000000BC00E901F606F10CB03F30004A000679 -:1069100074A4A02BFFE5007FFB207B6B8D0004A0FF -:10692000000013000000051000000F5000000F5081 -:1069300000011F5110EFFFFFF3344F7440000F5060 -:1069400000000F50000952FD0BA0C50F00011110EF -:106950001FFFF30444400312FC1E90000005F100E9 -:10696000000AB000000F6000005F100000AB0000E4 -:1069700000F6000005F100000AB000000F60000002 -:106980004F100000AC000000F6000004F100000A07 -:10699000C000000E6000004F1000000008EFC500AE -:1069A00000CFA8CF7007F5000AF20DC00001F81F54 -:1069B000800000DC3F600000BD3F600000BD1F8024 -:1069C0000000DC0DC00001F807F5000AF200CFA8B6 -:1069D000CF700008EFC500EFFF367AF3005F300597 -:1069E000F3005F3005F3005F3005F3005F3005F31F -:1069F000005F3005F304BEFD7007FD98CF902800BE -:106A000000BF00000007F2000000AF0000004F8050 -:106A100000003FC000003EC100002EC100002ED18A -:106A200000002EF8777746FFFFFFFA6FFFFFFF02A7 -:106A300077779FB000000CE1000009F3000005F635 -:106A4000000000DFE910000459FD00000006F4001A -:106A500000003F64400008F3BFC98CFB007CFFD7F7 -:106A600000000001EB00000000BE100000006F50AD -:106A70000000002F900000000CD000000008F3017F -:106A8000D50003F8002F6000ED2223F7216FFFFFF0 -:106A9000FFFF81555556F9520000002F600000009D -:106AA00002F60005FFFFFF007F77777008E0000027 -:106AB00000AD0000000BC2100000DFFFFB300455EA -:106AC00068FF20000004F80000000F92500005F657 -:106AD0008FD98AFD105BEFE9100005CEFC60009FA6 -:106AE000C88B7005F80000000CD00000001F80006B -:106AF00000002F68EFFA103FEE648FD02FF10006F0 -:106B0000F40EC00002F609F10006F301DE869FB024 -:106B10000019EFD8008FFFFFFFE8F77777FC8F00B1 -:106B2000004F5590000BE0000002F80000009F109D -:106B300000000FB0000006F4000000DD0000003F80 -:106B40007000000AF1000001F90000005CFFD700AE -:106B500006FC76AFA00CD00009F10DC00007F207CB -:106B6000F7115EC000BFFFFE1009F9547ED02F80E0 -:106B70000004F64F500000F81FA00005F609FB7650 -:106B8000AFD0006CFFD810008EFD80000CF868FCC0 -:106B9000005F50003F708F00000EC07F30001FF07C -:106BA0001FD413CFF104EFFFA9F00002310AF00067 -:106BB00000000EA00000009F3009A78DF70007DF3E -:106BC000EB40001E92FC0310000000000312FC1EAC -:106BD000901E92FC0310000000000001E91FD0A8E5 -:106BE0000E30A00000004200017DF3039FE810BFBB -:106BF000B50000EE81000017DFB4000004AFD20042 -:106C0000000182EFFFFFF3455555510000000001E0 -:106C1000111110EFFFFFF33444444050000000EF27 -:106C200092000006CFB50000039FE200006CF30263 -:106C30009EE920BFC600009300000004BEFD70075F -:106C4000FC77BFA0270000CF00000009F000000182 -:106C5000EA000001DD100000CE1000003F600000DF -:106C600001300000000100000006F50000005F4058 -:106C700000000017CEFDB500000005FB53237DC2C8 -:106C800000006E400000008E1002F401AEFA3F4991 -:106C9000B00A901EE65BEF40E30F308F1000AF406C -:106CA000981F00D900003F406A3F00E800001F40E5 -:106CB0005C1F00D900003F406A0F308F1000AF40CA -:106CC000980A901ED65ADEA6F203F301AFFA16EE2A -:106CD00050006E4000000000000006FB53237500CA -:106CE00000000017CEFDA30000000002FD00000020 -:106CF00000009FF4000000000F9EB000000006F2AC -:106D00007F20000000DC01F80000004F600BE00075 -:106D1000000BF0004F600001FA1111ED00008FFF31 -:106D2000FFFFF3000EC444444FA006F4000000AF80 -:106D300010CD00000002F85FFFFFEB4005F855574B -:106D4000DF405F400001FA05F400000FA05F511121 -:106D50003AF405FFFFFFFA005F744459FA05F400A6 -:106D60000008F25F4000005F45F4000009F25F8513 -:106D7000556AFB05FFFFFFD70000028DFEB400043B -:106D8000FFB89DF902FD20000850BF200000000F51 -:106D9000A000000002F6000000002F6000000000CC -:106DA000FA000000000BF2000000002FD200008566 -:106DB000005FFB89DF800029DFEB405FFFFFEA30E7 -:106DC000005F97779EF8005F400000AF605F400073 -:106DD000000DE05F40000006F45F40000003F65F36 -:106DE00040000003F65F40000006F45F4000000D25 -:106DF000E05F400000AF605F97779EF8005FFFFFA5 -:106E0000EA30005FFFFFFF95F97777745F4000007D -:106E100005F40000005F51111105FFFFFFE05F74F2 -:106E2000444405F40000005F40000005F400000049 -:106E30005F97777765FFFFFFFD5FFFFFFF95F977AE -:106E400077745F40000005F40000005F400000051B -:106E5000F52222105FFFFFFE05F85555405F400008 -:106E60000005F40000005F40000005F40000000091 -:106E7000018DFEB500004FFB89DFB002FD2000064A -:106E8000600BF2000000000FA0000000002F600067 -:106E90000000002F60000009F00FA0000009F00BB7 -:106EA000F2000009F002FD20000AF0004FFB89DF2C -:106EB000C000028DFEC6005F4000004F55F4000088 -:106EC00004F55F4000004F55F4000004F55F5222C6 -:106ED000225F55FFFFFFFFF55F8555558F55F40085 -:106EE0000004F55F4000004F55F4000004F55F40DA -:106EF00000004F55F4000004F55F45F45F45F45F72 -:106F000045F45F45F45F45F45F45F400FFFFFA0088 -:106F10007777FA000000FA000000FA000000FA009B -:106F20000000FA000000FA000000FA000000F90773 -:106F30002003F60DE98EF101AEFB305F400002EB5D -:106F400005F40001EC005F4001DE1005F400CE20E6 -:106F5000005F40BF300005F49F9000005FCFEF401E -:106F60000005FF91EE10005FA003FC0005F4000691 -:106F7000F8005F400009F505F400000CF25F4000E6 -:106F80000005F40000005F40000005F40000005F11 -:106F900040000005F40000005F40000005F4000020 -:106FA000005F40000005F40000005F97777725FF41 -:106FB000FFFFF55F400000001E95FC00000008F98F -:106FC0005FF5000002FF95FDE00000AEF95F5F7025 -:106FD000003F5F95F38F100BC0F95F31E904F30FA9 -:106FE00095F307F2DB00F95F300DEF200F95F3000A -:106FF0005F9000F95F300071000F95F30000000012 -:10700000F95F5000004F55FF200004F55FFD0000C0 -:107010004F55FAF90004F55F4AF5004F55F40DF2AB -:1070200004F55F402FD04F55F4006F94F55F40009A -:10703000AFAF55F40000DFF55F400002FF55F400EC -:107040000006F500018DFEB5000004FFB89EFA00B1 -:1070500002FD200008F900BF2000000AF20FA00086 -:1070600000003F72F600000000F92F600000000FE2 -:1070700090FA00000003F70BF2000000AF202FD2BF -:1070800000008F90004FFB89EFA0000028DFEB503D -:10709000005FFFFFD7005F9778BFC05F400007F633 -:1070A0005F400000FA5F400000FA5F400003F85FB5 -:1070B00062236EF15FFFFFFD305F855420005F406B -:1070C0000000005F400000005F4000000000018DF4 -:1070D000FEB50000004EFB89EFA00002FD20000875 -:1070E000F9000AF2000000AF200FA00000003F707E -:1070F0002F600000000F902F600000000F901F9085 -:107100000000002F700BF1000000AF2003FC100006 -:1071100007F900006FFA78DFB0000003AEFFC5008A -:10712000000000003ED415B000000002BFFF800048 -:107130000000000131005FFFFFD7005F9778BFC0FC -:107140005F400007F65F400000FA5F400000FA5F12 -:10715000400003F85F52236EE15FFFFFFC305F8564 -:1071600055F9005F40007F405F40000CE05F400049 -:1071700002F9005CEFD92007FC87AF900EC0000138 -:10718000100F800000000DF500000003EFEA500032 -:107190000005AEFE400000004EF100000005F308BF -:1071A000000008F22FFA77BFA0029DFFC700FFFF83 -:1071B000FFFFF56778FB77720001F700000001F729 -:1071C00000000001F700000001F700000001F700D7 -:1071D000000001F700000001F700000001F70000C7 -:1071E0000001F700000001F700006F3000008F166B -:1071F000F3000008F16F3000008F16F3000008F173 -:107200006F3000008F16F3000008F16F3000008F20 -:1072100005F4000009F03F700000CD00DE20005FA3 -:107220008004FFA8BFD00003BEFD81000CE0000079 -:10723000006F306F5000000CC000FB000003F60030 -:1072400009F20000AE00002F80001F900000CE0069 -:1072500007F2000005F600DB0000000EC04F5000F2 -:1072600000008F3BE000000002FBF8000000000B74 -:10727000FF10000000004FB000005F400000DF0082 -:107280000002F50F900002FF400007F00BE000073E -:10729000FE90000CB006F3000CAAE0001F6001F89D -:1072A000001F54F3006F1000CD007F10F800CC00D9 -:1072B000007F20CB00AD01F700002F71F6005F26A4 -:1072C000F200000DC6F1000F7BD0000008FDC000E9 -:1072D0000BDF80000003FF700006FF30000000EFAE -:1072E000200001FE00003F900000CD008F40007F95 -:1072F0003000DE102F800003FA0CD0000007FBF3F3 -:107300000000000CF800000001EFC0000000BF7F8B -:107310007000006F60AF20002FB001ED000CF10095 -:1073200004F807F6000009F30CE0000007F203F789 -:1073300000001F9000AF10009E10001FA002F6007A -:107340000008F30BD0000000EC4F400000005FFB92 -:10735000000000000CF20000000009F00000000036 -:1073600009F00000000009F00000000009F0000032 -:107370003FFFFFFFFD01777777BF900000001EC041 -:107380000000000CF200000008F500000004F90005 -:10739000000001EC00000000CF200000008F500032 -:1073A00000004F900000001EF877777705FFFFFF81 -:1073B000FFF05FFF05F7505F3005F3005F3005F326 -:1073C000005F3005F3005F3005F3005F3005F30028 -:1073D0005F3005F7505FFF007E0000001F40000097 -:1073E0000C90000007E0000002F4000000C900005B -:1073F000007E0000002F4000000C90000007E0001D -:107400000002F3000000D90000007E0000002F30D1 -:1074100000000D90000007E0BFFA35EA00EA00EA3C -:1074200000EA00EA00EA00EA00EA00EA00EA00EA0C -:1074300000EA35EABFFA002F8000009DE00000F36B -:10744000D50006D07B000C601F203F100B809A00F7 -:1074500004E0FFFFFFFF1111111107F60003E70120 -:107460009EFD8000CE87AF90020000AF00000006B6 -:10747000F202BEFFFF20EC4227F22F50007F20ECEB -:10748000427FF202BFFB6F208F000000008F0000E0 -:1074900000008F000000008F2BFEB3008FEC78EF10 -:1074A000308FA0001EC08F200007F18F000005F371 -:1074B0008F200007F18FA0001ED08FEC78EF308E68 -:1074C0002BFEB300003AEFC4004FD87CF40DD0007F -:1074D0000713F60000004F30000003F60000000D17 -:1074E000D00006104FD77CF4003AEFC40000000033 -:1074F00001F700000001F700000001F7003BFFA3C7 -:10750000F704FD87CEF70ED0000BF73F600003F7BE -:107510004F300001F73F500003F70EC0000AF70498 -:10752000FC65BEF7003BFFB2F7003BFEA20004FC87 -:1075300067EE200EC0001EA03F500007F04FFFFF77 -:10754000FFF13F722222200EC000020004FD87AF2F -:1075500050003AEFD600005DFC002FB57004F30038 -:107560000CFFFFA048F753005F300005F300005FF9 -:10757000300005F300005F300005F300005F3000CD -:10758000003BFFB2E904FE87CFF90ED1000AF93FB4 -:10759000600001F94F400000F93F600001F90ED092 -:1075A0000009F904FD87CFF8003BFFB3F7000000A6 -:1075B00005F409E977AFB0017CFFD8008F00000027 -:1075C00008F00000008F00000008F2BFEA108FFBF7 -:1075D00089FD08F80006F48F10001F78F00000F80D -:1075E0008F00000F88F00000F88F00000F88F00077 -:1075F00000F89E1AF20008F08F08F08F08F08F084C -:10760000F08F08F00007E20009F30000000007F126 -:107610000007F10007F10007F10007F10007F10092 -:1076200007F10007F10007F10008F0186EC03EFCFA -:10763000208F00000008F00000008F00000008F01C -:10764000001DD18F001DE208F01DE2008F2DF30018 -:1076500008FEFF70008FE2BF3008F201EE108F00CD -:1076600003FB08F00007F78F8F8F8F8F8F8F8F8F1F -:107670008F8F8F8E3CFE913BFEA208FF969FCFC658 -:107680008FD08F70009FC0005F58F10005F6000199 -:10769000F78F00004F40000F88F00004F40000F85E -:1076A0008F00004F40000F88F00004F40000F88FB6 -:1076B00000004F40000F808E3BFEA108FFA68FD038 -:1076C0008F80006F48F10001F78F00000F88F000F5 -:1076D00000F88F00000F88F00000F88F00000F8086 -:1076E000003BEFC40004FD87CF600ED0000BF13FDC -:1076F000600003F54F300001F73F600003F50ED046 -:10770000000BF104FD77CF60003BEFC4008E3BFE21 -:10771000B3008FFB57DF308F90000DC08F10000734 -:10772000F18F000005F38F200007F18FA0001ED01D -:107730008FEC78EF308F2BFEB3008F000000008FAE -:10774000000000008F00000000003BFFA2F704FDD6 -:1077500087DEF70ED0000BF73F600003F74F3000D5 -:1077600001F73F600003F70ED0000BF704FD77CE62 -:10777000F7003BFFA3F700000001F700000001F74E -:1077800000000001F78E2BF08FED908FA0008F206E -:10779000008F00008F00008F00008F00008F00001E -:1077A00002AEFD911ED769D04F3000002FB41000FB -:1077B00006EFFD6000015BF5010000F75FA76BF3CA -:1077C00019DFEC4005F300005F3000CFFFFA048FB3 -:1077D000753005F300005F300005F300005F3000F6 -:1077E00004F400001FC680005DFC10AE00002F5A9C -:1077F000E00002F5AE00002F5AE00002F5AE0000F6 -:107800002F59F00004F56F3000AF51EE76BFF5024E -:10781000BEFB3F500DC00000CB06F20002F500F9A0 -:107820000009E0009E000F80002F606F10000CC068 -:10783000CB000005F6F4000000EFD00000008F70D0 -:1078400000BB00009F10004F16F1000EF60009C0AB -:107850000F6005FCB000F600AC00AB5F105F1005D8 -:10786000F10F50F70AB0000F76F009C0F50000AC38 -:10787000BA004F8F000004FF4000EFA000000EE0B0 -:107880000008F400004F70009F208F305F5000CD43 -:107890002E900002FFD000000AF6000004FDE10077 -:1078A00001EB0DC000BE103F806F40007F400DC057 -:1078B0000000CB06F30002F400EA0009D0008F10AC -:1078C0001F70001F707F10000AE0D9000003F9F25A -:1078D000000000CFB00000006F40000000AD0000CD -:1078E0001C79F500001AEE7000004FFFFFF91555E6 -:1078F0005BF400004F800001EC00000BE100008F02 -:10790000400004F700001EE555535FFFFFFC002C0C -:10791000F500AF6100CC0000DB0000DB0000DB0005 -:1079200002EA001FF40005FA0000DB0000DB0000A3 -:10793000DB0000CC0000AF61002CF55F15F15F1596 -:10794000F15F15F15F15F15F15F15F15F15F15F14D -:107950005F10BE8003AF4001F6001F7001F7001FEB -:107960007000F9000AFB00FB201F7001F7001F7078 -:1079700001F603AF40BE900000000000003DE400AF -:10798000B50C86F51E20F003EF90020000100002F7 -:10799000CE900D40893B000E3B000E0D408902CE7B -:1079A000900008F8EFE7F70000000000000000007A -:1079B000000000000049DC0000000016BFFFFF00CF -:1079C00000038DFFFFFFFF0000CFFFFFFFFFFF0061 -:1079D00000FFFFFFFFC7FF0000FFFFEA5100FF00AD -:1079E00000FF83000000FF0000FF00000000FF0018 -:1079F00000FF00000000FF0000FF00000000FF008B -:107A000000FF00002BFFFF0000FF0000DFFFFF2B47 -:107A1000FFFF0000DFFFFDDFFFFF00002BFFB2DFF5 -:107A2000FFFD00000000002BFFB20000000000D0AE -:107A30000FFFFFFFFFF00DFFFFC888888CFFFFF0EE -:107A40000F80000008F00FF00F80000008F00FFF1B -:107A5000FF80000008FFFFF00FECCCCCCEF00FF061 -:107A60000FECCCCCCEF00FFFFF80000008FFFFF042 -:107A70000F80000008F00FF00F80000008F00FFFEB -:107A8000FFC888888CFFFFD00FFFFFFFFFF00DDFDE -:107A9000FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFFDE -:107AA000FFA5FFFFFFFFFFDFFF73FFFFFFFFFD00ED -:107AB00000000000000000DFFF73FFFFFFFFFDFF7D -:107AC000FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDF9A -:107AD000FF73FFFFFFFFFD0000000000000000DF5C -:107AE000FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFF8E -:107AF000FFA5FFFFFFFFFFDFFF73FFFFFFFFFD009D -:107B000000000000000AB1000000000000BFFC00FF -:107B1000000000000BFFFB0000000000BFFFC01BC7 -:107B2000A000000BFFFC00CFFB0000BFFFC000BFA8 -:107B3000FFB00BFFFC00000CFFFBBFFFC00000000C -:107B4000CFFFFFFB000000000CFFFFB000000000B3 -:107B500000BFFB0000000000000BB00000000003AD -:107B60000000000308FC10001CF8FFFC101CFFF5CF -:107B7000FFFC2CFFF505FFFFFFF50005FFFFF500FB -:107B8000001DFFFD10001CFFFFFC101CFFF9FFFC97 -:107B90001CFFF505FFFCDFF50005FFD1A400000484 -:107BA000A10000004FE00000000002106FF1031080 -:107BB00000005FD06FF13FD10003FFF16FF15FFD77 -:107BC000000DFF406FF109FF704FF7006FF100CF1C -:107BD000E09FF0006FF1005FF3BFC0006FF1002F76 -:107BE000F5BFC0004FE0001FF6AFE0000000004FFF -:107BF000F46FF400000000AFF00FFE10000005FF6E -:107C0000A006FFD300007FFF20009FFFDABEFFF435 -:107C1000000006FFFFFFFD3000000017BDCA500046 -:107C2000000000008BB8000000000000FFFF000013 -:107C300000003006FFFF60030004FDDFFFFFFDEFE3 -:107C4000400DFFFFFFFFFFFFD04FFFFFF99FFFFF3A -:107C5000F408FFFF2002FFFF8000FFF900009FFFF4 -:107C60000000FFF900009FFF0008FFFF2002FFFF58 -:107C7000804FFFFFF99FFFFFF40DFFFFFFFFFFFFA6 -:107C8000D004FEDFFFFFFDDF40003006FFFF600392 -:107C900000000000FFFF0000000000008BB80000A3 -:107CA0000000000003DD303FF3000000006FFFF52F -:107CB0004FF400000009FF99FFBFF4000001BFF678 -:107CC000226FFFF400002DFE35FF53EFF40004FF98 -:107CD000C18FFFF82DFE407FFA1AFFFFFFA1AFF71B -:107CE000CF82DFFFFFFFFD28FC140EFFFFFFFFFF29 -:107CF000E041000FFFFFFFFFFFF000000FFFF90062 -:107D00008FFFF000000FFFF8008FFFF000000FFF63 -:107D1000F8008FFFF000000EFFF6006FFFE000009C -:107D20000000DFFD000000000000FFFF0000000079 -:107D30000000FFFF000000000000FFFF0000000047 -:107D40000000FFFF000000000000FFFF0000000037 -:107D50004FFFFFFFFFF400000BFFFFFFFFB000002D -:107D600000BFFFFFFB000000000BFFFFB0000000A2 -:107D70000000BFFB000000DFFFFC1BB1CFFFFDFFD9 -:107D8000FFFFC22CFFFFFFFFFFFFFFFFFFFFFFFF13 -:107D9000FFFFFFFFF0E0FFDFFFFFFFFFFFFFFD0042 -:107DA00004EFFFFFFFFE4000001EFFFFFFFFFFE1AB -:107DB0000000AFB00000000BFA0005FF100000004B -:107DC00001FF501EF600000000006FE1AFB00000A0 -:107DD0000000000BFAFFFFFF800008FFFFFFFFFF1E -:107DE000FFF1001FFFFFFFFFFFFFFFFFFFFFFFFF90 -:107DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 -:107E0000FFFF8FFFFFFFFFFFFFFFF8000006BDDA57 -:107E10005002FF0005EFFFFFFE42FF007FFFA77B40 -:107E2000FFF9FF05FFC100002CFFFF0EFC00000260 -:107E300022DFFF5FF200000FFFFFFF8FB000000F97 -:107E4000FFFFFF0000000000000000000000000035 -:107E5000000000FFFFFFF000000BF8FFFFFFF00045 -:107E6000002FF4FFFD22200000CFE0FFFFC2000042 -:107E70002CFF40FF9FFFB76AFFF700FF24DFFFFFE3 -:107E8000FE5000FF2005ACDB600000000000000099 -:107E900000008D000008FF00008FFFDFFFFFFFFFE5 -:107EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF02 -:107EB000FFFFFF00008FFF000008FF0000008D00A3 -:107EC0000000000000000000000000008D00000025 -:107ED0000008FF000000008FFF0000CFFFFFFF0140 -:107EE00050FFFFFFFF06F7FFFFFFFF00BEFFFFFF92 -:107EF000FF00AEFFFFFFFF05F8DFFFFFFF0260009E -:107F0000009FFF0000000009FF00000000009E002D -:107F1000000000000000000000000000000610004B -:107F20000000000000001FD2000000008D000003D0 -:107F3000EE10000008FF000AB12FB000008FFF0014 -:107F400005FC07F4DFFFFFFF02505F60F9FFFFFF52 -:107F5000FF06F70DC0BDFFFFFFFF00AE09F09FFF5A -:107F6000FFFFFF00AE09F08FFFFFFFFF06F70DC018 -:107F7000ADDFFFFFFF02505F60E900008FFF0005EB -:107F8000FC06F4000008FF000AB12FB00000008DCD -:107F9000000002EE100000000000001FD2000000F0 -:107FA000000000000610008FFFFFFFFFFFFFF8FF3B -:107FB000FCFFFFFFFFFFFFFF202FFFFFFFFFFFFC86 -:107FC000000CFFFFEEFFFFFF202FFFFE22EFFFFF61 -:107FD000FCFFFFE2002EFFFFFE4EFE200002FFFF2F -:107FE000E202C2000000FFFF200000000000FFFFCF -:107FF000000000000000FFFFFFFFFFFFFFFFFF8FFB -:10800000FFFFFFFFFFFFF80000000000FF3000014E -:10801000CCFF40002DFFFF4003EFFFFF403FFFFF7D -:10802000FF44FFFFFFFF9FFFFFFFFFFFFFFFFFFF7B -:10803000FFFFFFFFFFAFFFFFFFFF45FFFFFFFF4019 -:108040004FFFFFFF4003EFFFFF40002EFFFF300018 -:1080500001CC0000000000000000000000008F9133 -:108060000000000000FFFF7000000000FFFFFD4067 -:10807000000000FFFFFFFA100000FFFFFFFFF70006 -:1080800000FFFFFFFFFFD500FFFFFFFFFFFFB2FF75 -:10809000FFFFFFFFFFFDFFFFFFFFFFFFFDFFFFFFF4 -:1080A000FFFFFFB2FFFFFFFFFFD500FFFFFFFFF75E -:1080B0000000FFFFFFFA100000FFFFFD400000007E -:1080C000FFFF70000000008EA10000000000000013 -:1080D0000000000000000000000000008FFFF8001A -:1080E0008FFFF8FFFFFF00FFFFFFFFFFFF00FFFF15 -:1080F000FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF8E -:10810000FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF7D -:1081100000FFFFFFFFFFFF00FFFFFFFFFFFF00FF6C -:10812000FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF5D -:10813000FFFFFF00FFFFFF7FFFF7007FFFF78FFFCD -:10814000FFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF46 +:1061F00000000000200000005F000100000000001F +:106200000000000000000000B0000000F3F7600094 +:106210001C620200000000003B0002000000721F30 +:1062200051EF58EF5BEF5CEF5DEF61EF63EF65EF10 +:1062300069EF6CEF71EF76EF77EF78EF8EEF98EF15 +:106240009BEF9CEF9DEFA1EFA2EFA3EFA4EFB7EFC1 +:10625000B8EFBEEFC0EFC1EFC4EFC7EFC8EFC9EFB3 +:10626000CBEFE3EFE5EF14F015F017F037F03AF06D +:1062700043F06CF074F0ABF03BF190F191F192F1DE +:1062800093F194F1D7F1E3F13DF254F2AAF412F74D +:10629000F2F70000000000000000000000005004C1 +:1062A0000000000000005004030C01001200400632 +:1062B000050501071F00400B0B0C00006100F009F1 +:1062C0000A1000FEB100800D0D0C0000FF00000B55 +:1062D0000B0D00FF47016003020501074C0160053B +:1062E000040F01FD6A017005040F00FD88016006BE +:1062F00007070005A101500908080102C101A00318 +:10630000030500FEC901200606030003D201A00315 +:1063100003030000D701A0050810FFFE1702B00A12 +:106320000A0C00005302F005050C00007102300950 +:10633000090C0000A7022009090C0000DD02B00AC8 +:106340000B0C00001F033009090C00005503E00985 +:106350000A0C000091039009090C0000C703500AC1 +:106360000A0C00000304E0090A0C00003F04A0032B +:10637000030900004D04A003030C00FD5F04500955 +:10638000080801027F045009080601039704500918 +:1063900008080102B7043009090C0000ED04901050 +:1063A000100F00FD6505B00B0D0CFF00B305200CB0 +:1063B0000B0C0100F505900B0B0C00003706300D9F +:1063C0000C0C01007F06C00A090C0100B506300A5A +:1063D000090C0100EB06600C0C0C00003307000DEB +:1063E0000B0C01007507F004030C0100870730084F +:1063F000080CFF00B707800B0B0C0100F9078009A0 +:10640000090C01002F08400F0D0C01007D08000D44 +:106410000B0C0100BF08700D0D0C00000D09900B56 +:106420000A0C01004909700D0E0F00FDB209A00B06 +:106430000A0C0100EE09F0090A0C00002A0A6009A2 +:106440000A0C0000660AA00C0B0C0100A80A600BE5 +:106450000D0CFF00F60A0012120C0000620BC00ABD +:106460000B0C0000A40B600A0C0CFF00EC0B800A64 +:106470000B0C00002E0C5005050F01FD540CA0055F +:106480000810FFFE940C5005040F00FDB20C5009DB +:1064900008070102CE0C0008080200FED60CA00975 +:1064A0000502010ADB0C900909090000040DF00A3D +:1064B0000A0C0100400D200909090000690DF00ACD +:1064C0000A0C0000A50DD0090A090000D20DA00594 +:1064D000070C0000FC0D100B0A0C00FD380EE00A42 +:1064E000090C01006E0E7004030C0100800E900474 +:1064F000060FFEFDAD0EE009090C0100E30E70046D +:10650000020C0100EF0EF0100F090100330FE00A3A +:10651000090901005C0F300A0A090000890FF00A1E +:106520000A0C01FDC50FF00A0A0C00FD01109006CF +:10653000060901001C100008080900004010A00610 +:10654000070B00006710D00A090901009010F0083D +:106550000A09FF00BD10600E0F0900000111D008EC +:10656000090900002A11F0080A0CFFFD6611500805 +:10657000080900008A11A005060F00FDB711D0041C +:10658000030F01FDCE11A005050F00FDF411500908 +:10659000090500040B12B006060600061D120005D0 +:1065A0000304010323120010101100FEAB120010AF +:1065B000100C00000B130010100E00FF7B130010D6 +:1065C000100C0000DB13000B0B0C00001D1400105E +:1065D000101000FE9D140010101000FE1D1500127A +:1065E000120E00FF9B150010101000FE1B1600126B +:1065F000120C000087160010101000FE071700088C +:10660000080E00FF3F17000C0C0E00FF931700123E +:10661000121000FE23180010100C00008318000E4A +:106620000A1002FED318000E0E1200FD5119000EC2 +:106630000E0F00FFBA19000E0E0E00FF1C1A000EFE +:106640000A1002FE6C1A000E100EFFFFDC1A000A80 +:106650000A0E00FF221B000A0A0E00FF681B000E34 +:106660000E0E00FFCA1B000E0E040004E61B0012F3 +:10667000120C0000521C0014141000FEF21C001238 +:106680001410FFFE921D0010101000FE121E000ECE +:106690000E0A0001581E000E0E0A00019E1E001474 +:1066A000140E00FF2A1F0010100C00008A1F00109B +:1066B000101000FE0A2000101111FFFE9B20000E9A +:1066C0000F0E00FF0421000E0E1000FE7421000EBC +:1066D0000E0E00FFD621000A0C10FFFE3622000E1F +:1066E0000E1000FEA622000E0E1000FE1623001251 +:1066F000120C0000822300101212FFFD2424000C53 +:106700000C1000FE84240014140F00FF1A2500143E +:10671000140A00017E250014140A0001E225001469 +:10672000140A000146260014140A0001AA260014C7 +:10673000140A00010E270014150E00FFA127000EF9 +:106740000C1001FE0128000E0E1000FE7128001032 +:106750001111FFFD02290014140C00007A29000C0D +:106760000C1000FEDA292010110B0001BF0BF0AF56 +:106770000AE09E08D08C07C0000010BF1AE0F51F89 +:106780003F51F3E40F3E40F27208100005C003E0F1 +:1067900000007A005C0000098007A001FFFFFFFFF6 +:1067A000FD033E733C833000F200C500000F100E65 +:1067B000300002F000F2009FFFFFFFFF4138C336B8 +:1067C000E3300089005C00000A7007A00000007937 +:1067D00000000000790000005CFFE92006FCBC9E80 +:1067E000900EB07900100F807900000DF57900004F +:1067F00003EFFD50000006CFFE400000795EF1007F +:10680000007905F307007907F12FE9BCAFA003AECB +:10681000FFD7000000790000000079000003DE804F +:106820000005D000E40C5001E3004C005A00A90020 +:1068300006A004C04E00004C005A0D500000E41C9D +:1068400058A0000003CE73E13CE9000000D60E40E2 +:10685000A800007C03C003D0002E203C003D000BAC +:106860007000E2098006D00004DDA00009EFB1004D +:106870000009E43CA00000D9007D00000CC01CA071 +:1068800000003FAEC1000001DFC0000003EB8F70CD +:106890001800DB007F65F03F40008FEA03F700003F +:1068A000CF700BF966CFBF4008DFEA30A5000000CB +:1068B000000000F5F5E4E47200DA05F20BC00F7099 +:1068C0003F405F206F107F006F105F203F400F70D0 +:1068D0000BC005F200DA3F300CB006F101F600E91A +:1068E00000BC00AD00AE00AD00BC00E901F606F151 +:1068F0000CB03F30004A000674A4A02BFFE5007FD7 +:10690000FB207B6B8D0004A000001300000005102D +:1069100000000F5000000F5000011F5110EFFFFF4B +:10692000F3344F7440000F5000000F50000952FD27 +:106930000BA0C50F000111101FFFF3044440031208 +:10694000FC1E90000005F100000AB000000F60007E +:10695000005F100000AB000000F6000005F1000031 +:106960000AB000000F6000004F100000AC000000F3 +:10697000F6000004F100000AC000000E6000004FA5 +:106980001000000008EFC50000CFA8CF7007F50089 +:106990000AF20DC00001F81F800000DC3F6000001B +:1069A000BD3F600000BD1F800000DC0DC00001F88D +:1069B00007F5000AF200CFA8CF700008EFC500EF7E +:1069C000FF367AF3005F3005F3005F3005F3005FB8 +:1069D0003005F3005F3005F3005F3005F304BEFDC2 +:1069E0007007FD98CF90280000BF00000007F2005C +:1069F0000000AF0000004F8000003FC000003EC11B +:106A000000002EC100002ED100002EF8777746FF3F +:106A1000FFFFFA6FFFFFFF0277779FB000000CE1E6 +:106A2000000009F3000005F6000000DFE910000493 +:106A300059FD00000006F40000003F64400008F328 +:106A4000BFC98CFB007CFFD700000001EB000000F9 +:106A500000BE100000006F500000002F90000000EA +:106A60000CD000000008F301D50003F8002F6000EF +:106A7000ED2223F7216FFFFFFFFF81555556F95295 +:106A80000000002F6000000002F60005FFFFFF007D +:106A90007F77777008E0000000AD0000000BC210A7 +:106AA0000000DFFFFB30045568FF20000004F80001 +:106AB00000000F92500005F68FD98AFD105BEFE9B8 +:106AC000100005CEFC60009FC88B7005F800000028 +:106AD0000CD00000001F800000002F68EFFA103F6C +:106AE000EE648FD02FF10006F40EC00002F609F11B +:106AF0000006F301DE869FB00019EFD8008FFFFF7C +:106B0000FFE8F77777FC8F00004F5590000BE0000F +:106B10000002F80000009F1000000FB0000006F413 +:106B2000000000DD0000003F7000000AF1000001DD +:106B3000F90000005CFFD70006FC76AFA00CD00087 +:106B400009F10DC00007F207F7115EC000BFFFFE9C +:106B50001009F9547ED02F800004F64F500000F841 +:106B60001FA00005F609FB76AFD0006CFFD810001F +:106B70008EFD80000CF868FC005F50003F708F00B5 +:106B8000000EC07F30001FF01FD413CFF104EFFFC1 +:106B9000A9F00002310AF00000000EA00000009FE2 +:106BA0003009A78DF70007DFEB40001E92FC0310B1 +:106BB000000000000312FC1E901E92FC0310000057 +:106BC00000000001E91FD0A80E30A0000000420024 +:106BD000017DF3039FE810BFB50000EE81000017B0 +:106BE000DFB4000004AFD200000182EFFFFFF345E5 +:106BF0005555510000000001111110EFFFFFF33453 +:106C000044444050000000EF92000006CFB5000061 +:106C1000039FE200006CF3029EE920BFC6000093D0 +:106C200000000004BEFD7007FC77BFA0270000CF66 +:106C300000000009F0000001EA000001DD10000082 +:106C4000CE1000003F600000013000000001000095 +:106C50000006F50000005F4000000017CEFDB50003 +:106C6000000005FB53237DC200006E400000008E33 +:106C70001002F401AEFA3F49B00A901EE65BEF4005 +:106C8000E30F308F1000AF40981F00D900003F4045 +:106C90006A3F00E800001F405C1F00D900003F4031 +:106CA0006A0F308F1000AF40980A901ED65ADEA6A9 +:106CB000F203F301AFFA16EE50006E400000000040 +:106CC000000006FB5323750000000017CEFDA30053 +:106CD00000000002FD00000000009FF40000000022 +:106CE0000F9EB000000006F27F20000000DC01F8DB +:106CF0000000004F600BE000000BF0004F6000014F +:106D0000FA1111ED00008FFFFFFFF3000EC44444A1 +:106D10004FA006F4000000AF10CD00000002F85FA5 +:106D2000FFFFEB4005F85557DF405F400001FA05D3 +:106D3000F400000FA05F51113AF405FFFFFFFA00C5 +:106D40005F744459FA05F4000008F25F4000005FE8 +:106D500045F4000009F25F85556AFB05FFFFFFD788 +:106D60000000028DFEB40004FFB89DF902FD200072 +:106D70000850BF200000000FA000000002F6000035 +:106D800000002F6000000000FA000000000BF2007D +:106D90000000002FD2000085005FFB89DF80002902 +:106DA000DFEB405FFFFFEA30005F97779EF8005F00 +:106DB000400000AF605F4000000DE05F4000000653 +:106DC000F45F40000003F65F40000003F65F400000 +:106DD0000006F45F4000000DE05F400000AF605F20 +:106DE00097779EF8005FFFFFEA30005FFFFFFF9597 +:106DF000F97777745F40000005F40000005F5111DF +:106E00001105FFFFFFE05F74444405F40000005FDC +:106E100040000005F40000005F97777765FFFFFFF3 +:106E2000FD5FFFFFFF95F97777745F40000005F481 +:106E30000000005F40000005F52222105FFFFFFE0A +:106E400005F85555405F40000005F40000005F4024 +:106E5000000005F400000000018DFEB500004FFBAE +:106E600089DFB002FD200006600BF2000000000F79 +:106E7000A0000000002F60000000002F600000094B +:106E8000F00FA0000009F00BF2000009F002FD2055 +:106E9000000AF0004FFB89DFC000028DFEC6005FD4 +:106EA0004000004F55F4000004F55F4000004F55CE +:106EB000F4000004F55F5222225F55FFFFFFFFF54B +:106EC0005F8555558F55F4000004F55F4000004F75 +:106ED00055F4000004F55F4000004F55F400000435 +:106EE000F55F45F45F45F45F45F45F45F45F45F4B5 +:106EF0005F45F400FFFFFA007777FA000000FA0020 +:106F00000000FA000000FA000000FA000000FA0099 +:106F10000000FA000000F9072003F60DE98EF101E8 +:106F2000AEFB305F400002EB05F40001EC005F4077 +:106F300001DE1005F400CE20005F40BF300005F4F4 +:106F40009F9000005FCFEF400005FF91EE10005FC3 +:106F5000A003FC0005F40006F8005F400009F505F9 +:106F6000F400000CF25F40000005F40000005F40F8 +:106F7000000005F40000005F40000005F400000080 +:106F80005F40000005F40000005F40000005F400D1 +:106F900000005F97777725FFFFFFF55F4000000057 +:106FA0001E95FC00000008F95FF5000002FF95FD4A +:106FB000E00000AEF95F5F70003F5F95F38F100B4C +:106FC000C0F95F31E904F30F95F307F2DB00F95FD5 +:106FD000300DEF200F95F3005F9000F95F300071E6 +:106FE000000F95F300000000F95F5000004F55FFBF +:106FF000200004F55FFD00004F55FAF90004F55F2D +:107000004AF5004F55F40DF204F55F402FD04F556F +:10701000F4006F94F55F4000AFAF55F40000DFF56A +:107020005F400002FF55F4000006F500018DFEB53B +:10703000000004FFB89EFA0002FD200008F900BF1E +:107040002000000AF20FA00000003F72F6000000CE +:1070500000F92F600000000F90FA00000003F70B0A +:10706000F2000000AF202FD200008F90004FFB896C +:10707000EFA0000028DFEB50005FFFFFD7005F9715 +:1070800078BFC05F400007F65F400000FA5F400035 +:1070900000FA5F400003F85F62236EF15FFFFFFDBF +:1070A000305F855420005F400000005F400000001A +:1070B0005F4000000000018DFEB50000004EFB891E +:1070C000EFA00002FD200008F9000AF2000000AF66 +:1070D000200FA00000003F702F600000000F902FD5 +:1070E000600000000F901F900000002F700BF10057 +:1070F0000000AF2003FC100007F900006FFA78DFF2 +:10710000B0000003AEFFC500000000003ED415B083 +:1071100000000002BFFF80000000000131005FFF9F +:10712000FFD7005F9778BFC05F400007F65F400061 +:1071300000FA5F400000FA5F400003F85F52236EE0 +:10714000E15FFFFFFC305F8555F9005F40007F4045 +:107150005F40000CE05F400002F9005CEFD92007BF +:10716000FC87AF900EC00001100F800000000DF5ED +:1071700000000003EFEA50000005AEFE40000000F2 +:107180004EF100000005F308000008F22FFA77BF67 +:10719000A0029DFFC700FFFFFFFFF56778FB777236 +:1071A0000001F700000001F700000001F7000000F7 +:1071B00001F700000001F700000001F700000001E6 +:1071C000F700000001F700000001F700000001F7E0 +:1071D00000006F3000008F16F3000008F16F3000E0 +:1071E000008F16F3000008F16F3000008F16F300D7 +:1071F0000008F16F3000008F05F4000009F03F70C7 +:107200000000CD00DE20005F8004FFA8BFD0000397 +:10721000BEFD81000CE00000006F306F5000000CDC +:10722000C000FB000003F60009F20000AE00002FD2 +:1072300080001F900000CE0007F2000005F600DB82 +:107240000000000EC04F500000008F3BE000000027 +:1072500002FBF8000000000BFF10000000004FB020 +:1072600000005F400000DF000002F50F900002FF09 +:10727000400007F00BE00007FE90000CB006F300A2 +:107280000CAAE0001F6001F8001F54F3006F10000B +:10729000CD007F10F800CC00007F20CB00AD01F7BF +:1072A00000002F71F6005F26F200000DC6F1000FFE +:1072B0007BD0000008FDC0000BDF80000003FF70E2 +:1072C0000006FF30000000EF200001FE00003F90AC +:1072D0000000CD008F40007F3000DE102F800003C3 +:1072E000FA0CD0000007FBF30000000CF8000000CF +:1072F00001EFC0000000BF7F7000006F60AF200092 +:107300002FB001ED000CF10004F807F6000009F3BE +:107310000CE0000007F203F700001F9000AF100020 +:107320009E10001FA002F6000008F30BD000000022 +:10733000EC4F400000005FFB000000000CF200007A +:10734000000009F00000000009F00000000009F052 +:107350000000000009F000003FFFFFFFFD0177770C +:1073600077BF900000001EC00000000CF20000007B +:1073700008F500000004F900000001EC0000000026 +:10738000CF200000008F500000004F900000001E32 +:10739000F877777705FFFFFFFFF05FFF05F7505F96 +:1073A0003005F3005F3005F3005F3005F3005F3018 +:1073B00005F3005F3005F3005F3005F7505FFF0015 +:1073C0007E0000001F4000000C90000007E000005D +:1073D00002F4000000C90000007E0000002F400001 +:1073E000000C90000007E0000002F3000000D9004C +:1073F00000007E0000002F3000000D90000007E02C +:10740000BFFA35EA00EA00EA00EA00EA00EA00EA28 +:1074100000EA00EA00EA00EA00EA35EABFFA002FD3 +:107420008000009DE00000F3D50006D07B000C60DA +:107430001F203F100B809A0004E0FFFFFFFF111197 +:10744000111107F60003E7019EFD8000CE87AF9083 +:10745000020000AF00000006F202BEFFFF20EC4277 +:1074600027F22F50007F20EC427FF202BFFB6F20FB +:107470008F000000008F000000008F000000008FD0 +:107480002BFEB3008FEC78EF308FA0001EC08F2052 +:107490000007F18F000005F38F200007F18FA00097 +:1074A0001ED08FEC78EF308E2BFEB300003AEFC485 +:1074B000004FD87CF40DD0000713F60000004F30C9 +:1074C000000003F60000000DD00006104FD77CF43A +:1074D000003AEFC40000000001F700000001F700CF +:1074E000000001F7003BFFA3F704FD87CEF70ED0A5 +:1074F000000BF73F600003F74F300001F73F5000EB +:1075000003F70EC0000AF704FC65BEF7003BFFB2AC +:10751000F7003BFEA20004FC67EE200EC0001EA098 +:107520003F500007F04FFFFFFFF13F722222200E75 +:10753000C000020004FD87AF50003AEFD600005DA6 +:10754000FC002FB57004F3000CFFFFA048F75300B8 +:107550005F300005F300005F300005F300005F308E +:107560000005F300005F3000003BFFB2E904FE8736 +:10757000CFF90ED1000AF93F600001F94F40000039 +:10758000F93F600001F90ED00009F904FD87CFF83A +:10759000003BFFB3F700000005F409E977AFB00145 +:1075A0007CFFD8008F00000008F00000008F000072 +:1075B0000008F2BFEA108FFB89FD08F80006F48F7F +:1075C00010001F78F00000F88F00000F88F0000016 +:1075D000F88F00000F88F00000F89E1AF20008F003 +:1075E0008F08F08F08F08F08F08F08F00007E20096 +:1075F00009F30000000007F10007F10007F10007A0 +:10760000F10007F10007F10007F10007F10007F1B1 +:107610000008F0186EC03EFC208F00000008F0004B +:1076200000008F00000008F0001DD18F001DE2084F +:10763000F01DE2008F2DF30008FEFF70008FE2BF07 +:107640003008F201EE108F0003FB08F00007F78FFF +:107650008F8F8F8F8F8F8F8F8F8F8F8E3CFE913B71 +:10766000FEA208FF969FCFC68FD08F70009FC000EC +:107670005F58F10005F60001F78F00004F40000F42 +:1076800088F00004F40000F88F00004F40000F88DD +:10769000F00004F40000F88F00004F40000F808ECF +:1076A0003BFEA108FFA68FD08F80006F48F100013C +:1076B000F78F00000F88F00000F88F00000F88F0AF +:1076C0000000F88F00000F80003BEFC40004FD872E +:1076D000CF600ED0000BF13F600003F54F3000018A +:1076E000F73F600003F50ED0000BF104FD77CF608B +:1076F000003BEFC4008E3BFEB3008FFB57DF308FA3 +:1077000090000DC08F100007F18F000005F38F204F +:107710000007F18FA0001ED08FEC78EF308F2BFE8A +:10772000B3008F000000008F000000008F000000F9 +:1077300000003BFFA2F704FD87DEF70ED0000BF739 +:107740003F600003F74F300001F73F600003F70E82 +:10775000D0000BF704FD77CEF7003BFFA3F7000046 +:107760000001F700000001F700000001F78E2BF088 +:107770008FED908FA0008F20008F00008F00008F72 +:1077800000008F00008F000002AEFD911ED769D06F +:107790004F3000002FB4100006EFFD6000015BF5D4 +:1077A000010000F75FA76BF319DFEC4005F3000061 +:1077B0005F3000CFFFFA048F753005F300005F30B3 +:1077C0000005F300005F300004F400001FC68000D5 +:1077D0005DFC10AE00002F5AE00002F5AE00002F55 +:1077E0005AE00002F5AE00002F59F00004F56F30AA +:1077F00000AF51EE76BFF502BEFB3F500DC000005A +:10780000CB06F20002F500F90009E0009E000F80AF +:10781000002F606F10000CC0CB000005F6F40000D4 +:1078200000EFD00000008F7000BB00009F10004FE1 +:1078300016F1000EF60009C00F6005FCB000F6005E +:10784000AC00AB5F105F1005F10F50F70AB0000FEE +:1078500076F009C0F50000ACBA004F8F000004FFBD +:107860004000EFA000000EE00008F400004F7000A0 +:107870009F208F305F5000CD2E900002FFD000007F +:107880000AF6000004FDE10001EB0DC000BE103F50 +:10789000806F40007F400DC00000CB06F30002F473 +:1078A00000EA0009D0008F101F70001F707F1000C9 +:1078B0000AE0D9000003F9F2000000CFB000000098 +:1078C0006F40000000AD00001C79F500001AEE705A +:1078D00000004FFFFFF915555BF400004F800001D9 +:1078E000EC00000BE100008F400004F700001EE5F3 +:1078F00055535FFFFFFC002CF500AF6100CC00008A +:10790000DB0000DB0000DB0002EA001FF40005FAE8 +:107910000000DB0000DB0000DB0000CC0000AF61FA +:10792000002CF55F15F15F15F15F15F15F15F15F43 +:1079300015F15F15F15F15F15F10BE8003AF4001D7 +:10794000F6001F7001F7001F7000F9000AFB00FB32 +:10795000201F7001F7001F7001F603AF40BE9000BA +:1079600000000000003DE400B50C86F51E20F00389 +:10797000EF90020000100002CE900D40893B000EF7 +:107980003B000E0D408902CE900008F8EFE7F700AB +:107990000000000000000000000000000049DC00C2 +:1079A00000000016BFFFFF0000038DFFFFFFFF0078 +:1079B00000CFFFFFFFFFFF0000FFFFFFFFC7FF003B +:1079C00000FFFFEA5100FF0000FF83000000FF00FE +:1079D00000FF00000000FF0000FF00000000FF00AB +:1079E00000FF00000000FF0000FF00002BFFFF0071 +:1079F00000FF0000DFFFFF2BFFFF0000DFFFFDDFC8 +:107A0000FFFF00002BFFB2DFFFFD00000000002B96 +:107A1000FFB20000000000D00FFFFFFFFFF00DFFDE +:107A2000FFC888888CFFFFF00F80000008F00FF07F +:107A30000F80000008F00FFFFF80000008FFFFF03C +:107A40000FECCCCCCEF00FF00FECCCCCCEF00FFF87 +:107A5000FF80000008FFFFF00F80000008F00FF02B +:107A60000F80000008F00FFFFFC888888CFFFFD050 +:107A70000FFFFFFFFFF00DDFFF73FFFFFFFFFDFFB5 +:107A8000FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDFDA +:107A9000FF73FFFFFFFFFD0000000000000000DF9C +:107AA000FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFFCE +:107AB000FFA5FFFFFFFFFFDFFF73FFFFFFFFFD00DD +:107AC00000000000000000DFFF73FFFFFFFFFDFF6D +:107AD000FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDF8A +:107AE000FF73FFFFFFFFFD0000000000000AB10070 +:107AF0000000000000BFFC00000000000BFFFB00C6 +:107B000000000000BFFFC01BA000000BFFFC00CF67 +:107B1000FB0000BFFFC000BFFFB00BFFFC00000C6C +:107B2000FFFBBFFFC0000000CFFFFFFB0000000015 +:107B30000CFFFFB00000000000BFFB0000000000D1 +:107B4000000BB000000000030000000308FC100060 +:107B50001CF8FFFC101CFFF5FFFC2CFFF505FFFFD8 +:107B6000FFF50005FFFFF500001DFFFD10001CFFE5 +:107B7000FFFC101CFFF9FFFC1CFFF505FFFCDFF507 +:107B80000005FFD1A4000004A10000004FE00000A8 +:107B9000000002106FF1031000005FD06FF13FD1C1 +:107BA0000003FFF16FF15FFD000DFF406FF109FF72 +:107BB000704FF7006FF100CFE09FF0006FF1005FB2 +:107BC000F3BFC0006FF1002FF5BFC0004FE0001FF2 +:107BD000F6AFE0000000004FF46FF400000000AFCB +:107BE000F00FFE10000005FFA006FFD300007FFF8E +:107BF00020009FFFDABEFFF4000006FFFFFFFD300C +:107C000000000017BDCA5000000000008BB8000043 +:107C100000000000FFFF000000003006FFFF6003CF +:107C20000004FDDFFFFFFDEF400DFFFFFFFFFFFF43 +:107C3000D04FFFFFF99FFFFFF408FFFF2002FFFF77 +:107C40008000FFF900009FFF0000FFF900009FFF88 +:107C50000008FFFF2002FFFF804FFFFFF99FFFFF9B +:107C6000F40DFFFFFFFFFFFFD004FEDFFFFFFDDF8E +:107C700040003006FFFF600300000000FFFF00002F +:107C8000000000008BB800000000000003DD303F62 +:107C9000F3000000006FFFF54FF400000009FF99AA +:107CA000FFBFF4000001BFF6226FFFF400002DFEBD +:107CB00035FF53EFF40004FFC18FFFF82DFE407F26 +:107CC000FA1AFFFFFFA1AFF7CF82DFFFFFFFFD280A +:107CD000FC140EFFFFFFFFFFE041000FFFFFFFFF5F +:107CE000FFF000000FFFF9008FFFF000000FFFF81A +:107CF000008FFFF000000FFFF8008FFFF000000E74 +:107D0000FFF6006FFFE000000000DFFD0000000054 +:107D10000000FFFF000000000000FFFF0000000067 +:107D20000000FFFF000000000000FFFF0000000057 +:107D30000000FFFF000000004FFFFFFFFFF4000006 +:107D40000BFFFFFFFFB0000000BFFFFFFB000000C4 +:107D5000000BFFFFB00000000000BFFB000000DFD1 +:107D6000FFFC1BB1CFFFFDFFFFFFC22CFFFFFFFF9A +:107D7000FFFFFFFFFFFFFFFFFFFFFFFFF0E0FFDF61 +:107D8000FFFFFFFFFFFFFD0004EFFFFFFFFE4000CE +:107D9000001EFFFFFFFFFFE10000AFB00000000B7F +:107DA000FA0005FF1000000001FF501EF600000061 +:107DB00000006FE1AFB000000000000BFAFFFFFF12 +:107DC000800008FFFFFFFFFFFFF1001FFFFFFFFF25 +:107DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:107DE000FFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFF13 +:107DF000FFFFF8000006BDDA5002FF0005EFFFFFAD +:107E0000FE42FF007FFFA77BFFF9FF05FFC10000D7 +:107E10002CFFFF0EFC00000222DFFF5FF200000FCC +:107E2000FFFFFF8FB000000FFFFFFF00000000000A +:107E30000000000000000000000000FFFFFFF00055 +:107E4000000BF8FFFFFFF000002FF4FFFD222000E1 +:107E500000CFE0FFFFC200002CFF40FF9FFFB76A8A +:107E6000FFF700FF24DFFFFFFE5000FF2005ACDB23 +:107E7000600000000000000000008D000008FF000E +:107E8000008FFFDFFFFFFFFFFFFFFFFFFFFFFFFF91 +:107E9000FFFFFFFFFFFFFFDFFFFFFF00008FFF007F +:107EA0000008FF0000008D0000000000000000003E +:107EB000000000008D0000000008FF000000008F9F +:107EC000FF0000CFFFFFFF0150FFFFFFFF06F7FF9E +:107ED000FFFFFF00BEFFFFFFFF00AEFFFFFFFF053C +:107EE000F8DFFFFFFF026000009FFF0000000009B5 +:107EF000FF00000000009E000000000000000000E5 +:107F000000000000000610000000000000001FD26A +:107F1000000000008D000003EE10000008FF000AC2 +:107F2000B12FB000008FFF0005FC07F4DFFFFFFF5B +:107F300002505F60F9FFFFFFFF06F70DC0BDFFFFB6 +:107F4000FFFF00AE09F09FFFFFFFFF00AE09F08FBB +:107F5000FFFFFFFF06F70DC0ADDFFFFFFF02505F21 +:107F600060E900008FFF0005FC06F4000008FF0038 +:107F70000AB12FB00000008D000002EE10000000DA +:107F80000000001FD2000000000000000610008F5B +:107F9000FFFFFFFFFFFFF8FFFCFFFFFFFFFFFFFFFB +:107FA000202FFFFFFFFFFFFC000CFFFFEEFFFFFF96 +:107FB000202FFFFE22EFFFFFFCFFFFE2002EFFFF5E +:107FC000FE4EFE200002FFFFE202C2000000FFFFA3 +:107FD000200000000000FFFF000000000000FFFF85 +:107FE000FFFFFFFFFFFFFF8FFFFFFFFFFFFFF80017 +:107FF00000000000FF300001CCFF40002DFFFF40DB +:1080000003EFFFFF403FFFFFFF44FFFFFFFF9FFF26 +:10801000FFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFC0 +:10802000FFFF45FFFFFFFF404FFFFFFF4003EFFF54 +:10803000FF40002EFFFF300001CC000000000000D8 +:108040000000000000008F910000000000FFFF70A2 +:1080500000000000FFFFFD40000000FFFFFFFA10DE +:108060000000FFFFFFFFF70000FFFFFFFFFFD5004D +:10807000FFFFFFFFFFFFB2FFFFFFFFFFFFFDFFFF5F +:10808000FFFFFFFFFDFFFFFFFFFFFFB2FFFFFFFF4F +:10809000FFD500FFFFFFFFF70000FFFFFFFA100012 +:1080A00000FFFFFD40000000FFFF70000000008E99 +:1080B000A10000000000000000000000000000001F +:1080C000000000008FFFF8008FFFF8FFFFFF00FFA8 +:1080D000FFFFFFFFFF00FFFFFFFFFFFF00FFFFFFAE +:1080E000FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF9E +:1080F000FF00FFFFFFFFFFFF00FFFFFFFFFFFF008D +:10810000FFFFFFFFFFFF00FFFFFFFFFFFF00FFFF7D +:10811000FFFFFFFF00FFFFFFFFFFFF00FFFFFF7FED +:10812000FFF7007FFFF78FFFFFFFFFFFF8FFFFFF65 +:10813000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10814000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F :10815000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F :10816000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F :10817000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F -:10818000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -:10819000FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFF866 -:1081A0000000000000CC100003FFFFD20004FFFF1E -:1081B000FE3004FFFFFFF404FFFFFFFF54FFFFFF4B -:1081C000FFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 -:1081D000F9FFFFFFFF44FFFFFFF304FFFFFE300442 -:1081E000FFFFD20004FFCC100003FF0000000000DE -:1081F0000000002DD2000000000001EFFE10000082 -:1082000000001DFFFFD100000000CFFFFFFC0000B9 -:10821000000BFFFFFFFFB00000AFFFFFFFFFFA0002 -:1082200009FFFFFFFFFFFF900FFFFFFFFFFFFFF0C2 -:1082300008FFFFFFFFFFFF800000000000000000BC -:108240000CFFFFFFFFFFFFC00FFFFFFFFFFFFFF06F -:108250000FFFFFFFFFFFFFF00CFFFFFFFFFFFFC05F -:108260000000001A40000001DFF000001DFFA00028 -:1082700001DFFA00001DFFA00001DFFA00000CFF83 -:10828000A000000DFF80000001DFF80000001DFFCE -:1082900080000001DFF80000001DFF80000001DF0A -:1082A000F00000001B5004A10000000FFD100000B2 -:1082B0000AFFD1000000AFFD1000000AFFD100004E -:1082C00000AFFD1000000AFFC0000008FFD0000052 -:1082D0008FFD100008FFD100008FFD100008FFD1B6 -:1082E00000000FFD10000005B1000000000004FFB9 -:1082F000400000000008FF800000000008FF800030 -:1083000000000008FF800000000008FF8000004817 -:10831000888CFFC88884FFFFFFFFFFFFFFFFFFFF80 -:10832000FFFFFFFF48888CFFC88884000008FF809B -:108330000000000008FF800000000008FF8000002F -:10834000000008FF800000000004FF40000014440B -:108350004444444441EFFFFFFFFFFFFEFFFFFFFFE8 -:10836000FFFFFF7BBBBBBBBBBBB7000005ADFFDAAC -:108370005000000004DFFC88CFFD4000007FFE407D -:108380000004EFF70007FFF4009E804FFF704FFFDF -:10839000C000AFF80CFFF4DFFF809AFFFE08FFFD7E -:1083A000DFFF80EFFFFE08FFFD4FFFC08FFFF80CDF -:1083B000FFF407FFF408EE804FFF70007FFE4000DF -:1083C00004EFF8000004DFFC88CFFD40000000054A -:1083D000ADFFDA5000008C2000000000000000001B -:1083E000DFE400000000000000001BFF8049DFFD0B -:1083F000A5000000007FFFFFD88CFFD40000000420 -:10840000EFF800004EFF700000001CFF69E804FF59 -:10841000F70004E3009FFEFF80CFFF400DFF7005D3 -:10842000FFFFE08FFFD00DFFF7002DFFE08FFFD0A3 -:1084300004FFFC0000AFF8CFFF30007FFF400006D4 -:10844000FFFFF7000008FFF400003EFFA00000005F -:108450004DFFC88201BFF7000000005ADFFC100882 -:10846000FFA000000000000000004EFD0000000022 -:108470000000000002C8000000002DD20000000033 -:1084800000000000BFFB0000000000000005FFFF2F -:10849000500000000000000DFFFFD00000000000B1 -:1084A000007FFFFFF7000000000001FFD88DFF10E4 -:1084B000000000000AFFA00AFFA0000000003FFF2C -:1084C000B00BFFF300000000CFFFC00CFFFC00006A -:1084D0000005FFFFD00DFFFF5000000EFFFFF99FCA -:1084E000FFFFE000008FFFFFE22EFFFFF80002FF1A -:1084F000FFFF9009FFFFFF100AFFFFFFE33EFFFFB2 -:10850000FFA00FFFFFFFFFFFFFFFFFF008FFFFFFD0 -:10851000FFFFFFFFFF8000000000000000000000E0 -:1085200000000000D800000000000000FF80FFFFF6 -:10853000700007FFFFF8FFFFF6006FFFFFFD788E6A -:10854000FF15FFE8FFE20002E54FFE20FE200000DD -:1085500013FFF300520000003FFF31005200000201 -:10856000EFF45E20FE20788EFF51FFE8FFE2FFFF70 -:10857000F6006FFFFFFDFFFF700007FFFFF8000030 -:1085800000000000FF80000000000000D800000094 -:1085900000000000000000000000000000000001DA -:1085A000DD10000000001DFFD100000001DFFFFD15 -:1085B0001000001DFF99FFD10001DFF9009FFD10A1 -:1085C0001DFF900009FFD1BFF90000009FFB5F90E5 -:1085D00000000009F500000000000000000000009D -:1085E0000000005F9000000009F5BFF90000009F47 -:1085F000FB1DFF900009FFD101DFF9009FFD100076 -:108600001DFF99FFD1000001DFFFFD100000001DDC -:10861000FFD10000000001DD10000000000000009C -:10862000000000000000000000000000001DD1005C -:1086300000000000000001DFFD10EFFFFFFFD00091 -:108640001DFFFFD1AFFFFFFFF000CFCFFCFC00000C -:10865000000FF0006B1FF1B60000000FF000000FDC -:10866000F0000000000FF000000FF0000000000F0D -:10867000F000000FF00000006B1FF1B6000FF000DB -:108680000000CFCFFCFC000FFFFFFFFA1DFFFFD162 -:10869000000DFFFFFFFE01DFFD10000000000000E5 -:1086A000001DD100000000000000000000008FFF4E -:1086B000FFE200000000FFFFFFFE20000000FFFFC0 -:1086C000FFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFC1 +:10818000FF8FFFFFFFFFFFF80000000000CC100092 +:1081900003FFFFD20004FFFFFE3004FFFFFFF404E3 +:1081A000FFFFFFFF54FFFFFFFFF9FFFFFFFFFFFF90 +:1081B000FFFFFFFFFFFFFFFFF9FFFFFFFF44FFFF90 +:1081C000FFF304FFFFFE3004FFFFD20004FFCC10DA +:1081D0000003FF00000000000000002DD20000009E +:1081E000000001EFFE10000000001DFFFFD10000A5 +:1081F0000000CFFFFFFC0000000BFFFFFFFFB000FF +:1082000000AFFFFFFFFFFA0009FFFFFFFFFFFF9036 +:108210000FFFFFFFFFFFFFF008FFFFFFFFFFFF80E3 +:1082200000000000000000000CFFFFFFFFFFFFC088 +:108230000FFFFFFFFFFFFFF00FFFFFFFFFFFFFF04C +:108240000CFFFFFFFFFFFFC00000001A400000010D +:10825000DFF000001DFFA00001DFFA00001DFFA0FD +:108260000001DFFA00000CFFA000000DFF800000FD +:1082700001DFF80000001DFF80000001DFF80000B2 +:10828000001DFF80000001DFF00000001B5004A172 +:108290000000000FFD1000000AFFD1000000AFFD3C +:1082A0001000000AFFD1000000AFFD1000000AFF1F +:1082B000C0000008FFD000008FFD100008FFD100B3 +:1082C000008FFD100008FFD100000FFD1000000519 +:1082D000B1000000000004FF400000000008FF8023 +:1082E0000000000008FF800000000008FF80000080 +:1082F000000008FF80000048888CFFC88884FFFFCA +:10830000FFFFFFFFFFFFFFFFFFFFFFFF48888CFF1E +:10831000C88884000008FF800000000008FF80007B +:1083200000000008FF800000000008FF800000003F +:108330000004FF40000014444444444441EFFFFF64 +:10834000FFFFFFFEFFFFFFFFFFFFFF7BBBBBBBBBD2 +:10835000BBB7000005ADFFDA5000000004DFFC8869 +:10836000CFFD4000007FFE400004EFF70007FFF460 +:10837000009E804FFF704FFFC000AFF80CFFF4DF8E +:10838000FF809AFFFE08FFFDDFFF80EFFFFE08FF82 +:10839000FD4FFFC08FFFF80CFFF407FFF408EE80DD +:1083A0004FFF70007FFE400004EFF8000004DFFC88 +:1083B00088CFFD4000000005ADFFDA5000008C20A2 +:1083C0000000000000000000DFE4000000000000EA +:1083D00000001BFF8049DFFDA5000000007FFFFFBC +:1083E000D88CFFD400000004EFF800004EFF7000AE +:1083F00000001CFF69E804FFF70004E3009FFEFF94 +:1084000080CFFF400DFF7005FFFFE08FFFD00DFF15 +:10841000F7002DFFE08FFFD004FFFC0000AFF8CF86 +:10842000FF30007FFF400006FFFFF7000008FFF469 +:1084300000003EFFA00000004DFFC88201BFF70012 +:108440000000005ADFFC1008FFA000000000000040 +:1084500000004EFD000000000000000002C8000007 +:1084600000002DD20000000000000000BFFB000053 +:10847000000000000005FFFF500000000000000D9C +:10848000FFFFD00000000000007FFFFFF7000000AA +:10849000000001FFD88DFF10000000000AFFA00AB5 +:1084A000FFA0000000003FFFB00BFFF30000000042 +:1084B000CFFFC00CFFFC00000005FFFFD00DFFFF49 +:1084C0005000000EFFFFF99FFFFFE000008FFFFF4D +:1084D000E22EFFFFF80002FFFFFF9009FFFFFF10F1 +:1084E0000AFFFFFFE33EFFFFFFA00FFFFFFFFFFFBD +:1084F000FFFFFFF008FFFFFFFFFFFFFFFF8000000F +:10850000000000000000000000000000D800000093 +:1085100000000000FF80FFFF700007FFFFF8FFFF73 +:10852000F6006FFFFFFD788EFF15FFE8FFE2000207 +:10853000E54FFE20FE20000013FFF3005200000074 +:108540003FFF310052000002EFF45E20FE20788EE3 +:10855000FF51FFE8FFE2FFFFF6006FFFFFFDFFFFA7 +:10856000700007FFFFF8000000000000FF8000001F +:1085700000000000D8000000000000000000000023 +:108580000000000000000001DD10000000001DFFE1 +:10859000D100000001DFFFFD1000001DFF99FFD199 +:1085A0000001DFF9009FFD101DFF900009FFD1BF02 +:1085B000F90000009FFB5F9000000009F50000003B +:1085C00000000000000000000000005F90000000BC +:1085D00009F5BFF90000009FFB1DFF900009FFD1C6 +:1085E00001DFF9009FFD10001DFF99FFD100000180 +:1085F000DFFFFD100000001DFFD10000000001DDC5 +:10860000100000000000000000000000000000005A +:1086100000000000001DD10000000000000001DF8C +:10862000FD10EFFFFFFFD0001DFFFFD1AFFFFFFFE9 +:10863000F000CFCFFCFC0000000FF0006B1FF1B684 +:108640000000000FF000000FF0000000000FF0002D +:10865000000FF0000000000FF000000FF00000001D +:108660006B1FF1B6000FF0000000CFCFFCFC000F35 +:10867000FFFFFFFA1DFFFFD1000DFFFFFFFE01DF2F +:10868000FD10000000000000001DD10000000000EF +:108690000000000000008FFFFFE200000000FFFF6D +:1086A000FFFE20000000FFFFFFFFFFFFFFF8FFFFBE +:1086B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:1086C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA :1086D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA -:1086E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A -:1086F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A -:10870000FFFFFFFFFFFF8FFFFFFFFFFFFFF80000EE -:10871000000BB0000000000000BFFB0000000000E4 -:108720000BFFFFB000000000BFFFFFFB0000000BCD -:10873000FFFFFFFFB000004FFFFFFFFFF40000004E -:1087400000FFFF000000000000FFFF00000000002D -:1087500000FFFF000000000000FFFF00000000001D -:1087600000FFFF000000DFFFF0DFFD0FFFFDFFFF58 -:10877000F900009FFFFFFFFFFFFFFFFFFFFFFFFF6D -:10878000FFFFFFF0E0FFDFFFFFFFFFFFFFFD000047 -:108790000000000000000000000000000AEA620083 -:1087A0000000000002FFFFF000000000009FFFFF3C -:1087B00000000000000FFFFFD00000000002FFFFDC -:1087C000FB000000000003EFFF7000000000000449 -:1087D000FFF2000000000000BFFB000000000000EE -:1087E0006FFF3000000200004FFF9000028FF30087 -:1087F0006FFFD0000AFFFFE4BFFFD10000EFFFFFD3 -:10880000FFFFD100000AFFFFFFFF900000006FFF95 -:10881000FFFB3000000002FFDB72000000000008D8 -:10882000EE800000066108FFFF80002DFFD0EF33CF -:10883000FE002EFFF30EF33FE02EFFF3008FFFFF4D -:108840006EFFF300008EFFFFFFF300000002EFFF5A -:10885000F3000000002EFFFF30000008EFFFFFFFD5 -:10886000300008FFFFF6EFFF3000EF33FE02EFFFAE -:10887000300EF33FE002EFFF308FFFF80002DFFD24 -:10888000008EE800000066100000DFFFFF0D2000F2 -:1088900000FFFFFF0FE20000FFFFFF0FFDDFF0FF13 -:1088A000FFFF2000FFF0FFFFFFFFFFFFF0FFFFFFD4 -:1088B000FFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFE6 -:1088C000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0E5 -:1088D000FFFFFFFFFFFFF0FFFFFFFFFFFFF0DFFFE6 -:1088E000FFFFFDFFF90000000000FFFFFFFFFF009A -:1088F00000DFFFFFFFFD00008FFFFFFFFFC200FF53 -:10890000FFFFFFFFFE20FF00000001FFE2FF00006D -:108910000000FFFCFF00000000FFFFFF0000000060 -:10892000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 -:10893000FFFFFB11BFFFFFFFFFF1001FFFFFFFFF66 -:10894000F1001FFFFFFFFFFB11BFFFFFFFFFFFFF56 -:10895000FFFFFF8FFFFFFFFFFFF800DFFFFD0000BD -:1089600001FFFFFC000003FFFFF7000006FFFFF21E -:10897000000008FFFFD000000AFFFFFFFFD00CFF40 -:10898000FFFFFFA00EFFFFFFFF200DFFFFFFF8001E -:1089900000000AFFE00000000EFF500000002FFC66 -:1089A000000000005FF3000000009FA00000000036 -:1089B000DF1000000000D70000000004EE400000BF -:1089C00000DFFF99FFFD0000FFFF99FFFF0000FFA0 -:1089D000FFFFFFFF0000FFFF9000000000FFFF0D02 -:1089E000FFFF0D20FFFF0FFFFF0FE2FFFF0FFFFF55 -:1089F0000FFDFFFF0FFFFF2000FFFF0FFFFFFFFF37 -:108A0000FFFF0FFFFFFFFFFFFF0FFFFFFFFFDFFF76 -:108A10000FFFFFFFFF00000FFFFFFFFF00000FFF32 -:108A2000FFFFFF00000DFFFFFFFD000000CC000076 -:108A300000000002FF3000000001BFFFFC2000002A -:108A40001EFFFFFFE100009FFFFFFFF80000EFFFA8 -:108A5000FFFFFD0000FFFFFFFFFF0001FFFFFFFF23 -:108A6000FF0003FFFFFFFFFF3008FFFFFFFFFF8056 -:108A70001EFFFFFFFFFFE1CFFFFFFFFFFFFCCFFF68 -:108A8000FFFFFFFFFC0000000000000000000EFFE1 -:108A9000E00000000004EE4000008FFFFFFFFFFF3A -:108AA000FFFFF8FFFFFFFFFFFFFFFFFFFF00F00FDB -:108AB00000F00F00FFFF00F00F00F00F00FFFFFFBE -:108AC000FFFFFFFFFFFFFFFFF808808808808FFF90 -:108AD000FFF808808808808FFFFFFFFFFFFFFFFF80 -:108AE000FFFFFF00F00000000F00FFFF00F000009C -:108AF000000F00FFFFFFFFFFFFFFFFFFFF8FFFFFE4 -:108B0000FFFFFFFFFFF80000000000000000000072 -:108B1000000000000003AF70000000000004CFFF61 -:108B2000F00000000006DFFFFFA000000017EFFFCD -:108B3000FFFF30000018FFFFFFFFFC00002AFFFFCF -:108B4000FFFFFFF40008FFFFFFFFFFFFD0000FFF54 -:108B5000FFFFFFFFFF600008FFFFFFFFFFFE0000B9 -:108B600000000000FFFFF7000000000000FFFFF121 -:108B7000000000000000FFFF80000000000000FF78 -:108B8000FF10000000000000FFFA000000000000DD -:108B900000FFF2000000000000008F8000000000D5 -:108BA0000000000000000000DFFFFFF0D200FFFF28 -:108BB000FFF0FE20FFFFFFF0FFE2FFFFFFF0FFFDF1 -:108BC000FFFFFFF20000FFFFFFFFFFFFFFFFFFFFC0 +:1086E000FFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFF0A +:1086F000FFFFFFFFFFF80000000BB00000000000CC +:1087000000BFFB00000000000BFFFFB000000000F6 +:10871000BFFFFFFB0000000BFFFFFFFFB000004F9B +:10872000FFFFFFFFF400000000FFFF00000000005B +:1087300000FFFF000000000000FFFF00000000003D +:1087400000FFFF000000000000FFFF000000DFFF4F +:10875000F0DFFD0FFFFDFFFFF900009FFFFFFFFFB0 +:10876000FFFFFFFFFFFFFFFFFFFFFFF0E0FFDFFF67 +:10877000FFFFFFFFFFFD0000000000000000000001 +:10878000000000000AEA62000000000002FFFFF0A3 +:1087900000000000009FFFFF00000000000FFFFF2F +:1087A000D00000000002FFFFFB000000000003EF0C +:1087B000FF70000000000004FFF200000000000055 +:1087C000BFFB0000000000006FFF3000000200004F +:1087D0004FFF9000028FF3006FFFD0000AFFFFE40D +:1087E000BFFFD10000EFFFFFFFFFD100000AFFFF36 +:1087F000FFFF900000006FFFFFFB3000000002FF52 +:10880000DB72000000000008EE800000066108FF37 +:10881000FF80002DFFD0EF33FE002EFFF30EF33F5D +:10882000E02EFFF3008FFFFF6EFFF300008EFFFFCF +:10883000FFF300000002EFFFF3000000002EFFFF37 +:1088400030000008EFFFFFFF300008FFFFF6EFFFEA +:108850003000EF33FE02EFFF300EF33FE002EFFF98 +:10886000308FFFF80002DFFD008EE8000000661088 +:108870000000DFFFFF0D200000FFFFFF0FE2000000 +:10888000FFFFFF0FFDDFF0FFFFFF2000FFF0FFFF06 +:10889000FFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFF06 +:1088A000FFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF6 +:1088B000F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFF5 +:1088C000FFFFFFFFFFF0DFFFFFFFFDFFF9000000EC +:1088D0000000FFFFFFFFFF0000DFFFFFFFFD0000C4 +:1088E0008FFFFFFFFFC200FFFFFFFFFFFE20FF0023 +:1088F000000001FFE2FF00000000FFFCFF0000009D +:1089000000FFFFFF00000000FFFFFFFFFFFFFFFF72 +:10891000FFFFFFFFFFFFFFFFFFFFFB11BFFFFFFF99 +:10892000FFF1001FFFFFFFFFF1001FFFFFFFFFFB35 +:1089300011BFFFFFFFFFFFFFFFFFFF8FFFFFFFFFE5 +:10894000FFF800DFFFFD000001FFFFFC000003FF58 +:10895000FFF7000006FFFFF2000008FFFFD0000055 +:108960000AFFFFFFFFD00CFFFFFFFFA00EFFFFFF7E +:10897000FF200DFFFFFFF80000000AFFE0000000ED +:108980000EFF500000002FFC000000005FF300000D +:1089900000009FA000000000DF1000000000D700D2 +:1089A00000000004EE40000000DFFF99FFFD000022 +:1089B000FFFF99FFFF0000FFFFFFFFFF0000FFFF29 +:1089C0009000000000FFFF0DFFFF0D20FFFF0FFFD5 +:1089D000FF0FE2FFFF0FFFFF0FFDFFFF0FFFFF2065 +:1089E00000FFFF0FFFFFFFFFFFFF0FFFFFFFFFFF76 +:1089F000FF0FFFFFFFFFDFFF0FFFFFFFFF00000F75 +:108A0000FFFFFFFF00000FFFFFFFFF00000DFFFF54 +:108A1000FFFD000000CC000000000002FF3000005D +:108A20000001BFFFFC2000001EFFFFFFE100009FD0 +:108A3000FFFFFFF80000EFFFFFFFFD0000FFFFFF5B +:108A4000FFFF0001FFFFFFFFFF0003FFFFFFFFFF2E +:108A50003008FFFFFFFFFF801EFFFFFFFFFFE1CF9A +:108A6000FFFFFFFFFFFCCFFFFFFFFFFFFC00000049 +:108A70000000000000000EFFE00000000004EE40D7 +:108A800000008FFFFFFFFFFFFFFFF8FFFFFFFFFF6B +:108A9000FFFFFFFFFF00F00F00F00F00FFFF00F0EF +:108AA0000F00F00F00FFFFFFFFFFFFFFFFFFFFFFC3 +:108AB000F808808808808FFFFFF808808808808F7A +:108AC000FFFFFFFFFFFFFFFFFFFFFF00F0000000C1 +:108AD0000F00FFFF00F00000000F00FFFFFFFFFF8F +:108AE000FFFFFFFFFF8FFFFFFFFFFFFFFFF800000B +:108AF0000000000000000000000000000003AF7054 +:108B0000000000000004CFFFF00000000006DFFFBF +:108B1000FFA000000017EFFFFFFF30000018FFFF6D +:108B2000FFFFFC00002AFFFFFFFFFFF40008FFFF2C +:108B3000FFFFFFFFD0000FFFFFFFFFFFFF600008F8 +:108B4000FFFFFFFFFFFE000000000000FFFFF70037 +:108B50000000000000FFFFF1000000000000FFFF28 +:108B600080000000000000FFFF1000000000000077 +:108B7000FFFA00000000000000FFF200000000000B +:108B800000008F80000000000000000000000000D6 +:108B9000DFFFFFF0D200FFFFFFF0FE20FFFFFFF03E +:108BA000FFE2FFFFFFF0FFFDFFFFFFF20000FFFF0E +:108BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:108BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 :108BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 -:108BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 -:108BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 -:108C0000FFFFDFFFFFFFFFFD00000000000000008E -:108C100000000000049CEFFEC94000000007EFFFC9 -:108C2000FFFFFFFE700004DFFFFCA88ACFFFFD40BE -:108C30006FFFD5000000005DFFF6CFF600000000DA -:108C400000006FFC1A30005ADFFDA50003A10000F0 -:108C50004DFFFFFFFFD400000005FFFEA88AEFFFD5 -:108C600050000001DF70000007FD1000000012003E -:108C7000000000210000000000004EE400000000A1 -:108C800000000000EFFE0000000000000000EFFE0A -:108C900000000000000000004EE4000000008FFF14 -:108CA000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF53 -:108CB000FFF0FF000000000000000FFDFF0FFFFFAE -:108CC000FFFFFFFF0FFFFF0FFFFFFFFFFFFF00FF93 -:108CD000FF0FFFFFFFFFFFFF00FFFF0FFFFFFFFF83 -:108CE000FFFF0FFFFF000000000000000FFDFFFF6F -:108CF000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF03 -:108D0000FF808FFFFFFFFFFFFFFFFF80FFFFFFFFE1 -:108D1000FFFFFFFFFFF0FF000000000000000FFD5D -:108D2000FF0FFFFFFFFFF0000FFFFF0FFFFFFFFF31 -:108D3000F00000FFFF0FFFFFFFFFF00000FFFF0F3D -:108D4000FFFFFFFFF0000FFFFF000000000000002A -:108D50000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF94 -:108D6000FFFFFFFFFF808FFFFFFFFFFFFFFFFF8081 -:108D7000FFFFFFFFFFFFFFFFFFF0FF00000000000D -:108D800000000FFDFF0FFFFFFF0000000FFFFF0FB0 -:108D9000FFFFFF00000000FFFF0FFFFFFF000000CC -:108DA00000FFFF0FFFFFFF0000000FFFFF000000AC -:108DB000000000000FFDFFFFFFFFFFFFFFFFFFF0C0 -:108DC0008FFFFFFFFFFFFFFFFF808FFFFFFFFFFF12 -:108DD000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0030 -:108DE0000000000000000FFDFF0FFFF0000000007A -:108DF0000FFFFF0FFFF00000000000FFFF0FFFF06C -:108E00000000000000FFFF0FFFF0000000000FFF58 -:108E1000FF000000000000000FFDFFFFFFFFFFFF4D -:108E2000FFFFFFF08FFFFFFFFFFFFFFFFF808FFFC0 -:108E3000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFC1 -:108E4000FFF0FF000000000000000FFDFF00000029 -:108E5000000000000FFFFF0000000000000000FF06 -:108E6000FF0000000000000000FFFF000000000005 -:108E700000000FFFFF000000000000000FFDFFFFDB -:108E8000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF71 -:108E9000FF80000000000001000000000000000052 -:108EA0000007FD1000000000000001CFFFF50000EA -:108EB0000000000000B929FE100000000000003F83 -:108EC00010020000000003DF800A90000000037021 -:108ED00000DFFF77F7555555558FD30FFFFDCCDFDA -:108EE000DCCCCCCDFFB08FFE1000AA0000004D40BE -:108EF0000046100001F202331000000000000009DB -:108F0000B1CFF9000000000000000AFFFF90000050 -:108F1000000000000000BFF9000000000000000099 -:108F200001220000000018DFFD920002EFFBEFFFBE -:108F3000300DFFFA2EFFE04FFFFA03FFF59FFAFA1C -:108F4000354FFACFC08A3D0BFDEFFB03128FFEFFBA -:108F5000FFB006FFFFFFFFD108FFFFEFFD11109FDD -:108F6000FFDFD1593B0BFDAFD7FA381DFB5FFFFA8E -:108F700001DFF70DFFFA1DFFF103EFFCDFFF5000EB -:108F800018DFFEA30000007FFFF70000EFFFFFFFE8 -:108F9000FFFFFEEFFFFFFFFFFFFE000000000000ED -:108FA000000FFFFFFFFFFFF00FFFFFFFFFFFF00FBE -:108FB000F99F99F99FF00FF88F88F88FF00FF88FCD -:108FC00088F88FF00FF88F88F88FF00FF88F88F8F7 -:108FD0008FF00FF88F88F88FF00FF88F88F88FF0E8 -:108FE0000FF99F99F99FF00FFFFFFFFFFFF008FFB8 -:108FF000FFFFFFFF800000000000007FA0000000D6 -:109000000000008FFFB000000000000DFFFFA00077 -:109010000000008A1DFFFF000000008FFA1DFF7096 -:109020000000008FFFFA1D800000008FFFFFFA0094 -:109030000000008FFFFFFF800000008FFFFFFF8018 -:109040000000008FFFFFFF800000008FFFFFFF8008 -:109050000000006FFFFFFF800000000BFFFFFF809C -:1090600000000000DFFFFF80000000000EFFFF8017 -:109070000000000000DEDB600000000000000000D7 -:1090800000000000000000001BFFFFFFFFFFFFE4E7 -:109090000001DFFFFFFFFFFFFFFE001DFFFFFAEFF4 -:1090A000FEAFFFFF01DFFFFFA02EE20AFFFF1DFF63 -:1090B000FFFFE202202EFFFFCFFFFFFFFE2002EFA7 -:1090C000FFFFCFFFFFFFFE2002EFFFFF1DFFFFFFAF -:1090D000E202202EFFFF01DFFFFFA02EE20AFFFFCA -:1090E000001DFFFFFAEFFEAFFFFF0001DFFFFFFFF4 -:1090F000FFFFFFFE00001BFFFFFFFFFFFFE4000874 -:10910000FFFFFFE4008FFFFFFFFE08F80F0B40FF9B -:109110008FF80F0B40FFFFF80F0B40FFFFFFFFFF23 +:108BE000FFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFDB7 +:108BF000000000000000000000000000049CEFFEE8 +:108C0000C94000000007EFFFFFFFFFFE700004DF18 +:108C1000FFFCA88ACFFFFD406FFFD5000000005D7C +:108C2000FFF6CFF60000000000006FFC1A30005A7B +:108C3000DFFDA50003A100004DFFFFFFFFD40000F2 +:108C40000005FFFEA88AEFFF50000001DF70000062 +:108C500007FD1000000012000000002100000000CD +:108C600000004EE40000000000000000EFFE0000E5 +:108C7000000000000000EFFE000000000000000007 +:108C80004EE4000000008FFFFFFFFFFFFFFFFF80AB +:108C9000FFFFFFFFFFFFFFFFFFF0FF0000000000EE +:108CA00000000FFDFF0FFFFFFFFFFFFF0FFFFF0F94 +:108CB000FFFFFFFFFFFF00FFFF0FFFFFFFFFFFFFB3 +:108CC00000FFFF0FFFFFFFFFFFFF0FFFFF00000090 +:108CD000000000000FFDFFFFFFFFFFFFFFFFFFF0A1 +:108CE0008FFFFFFFFFFFFFFFFF808FFFFFFFFFFFF3 +:108CF000FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0011 +:108D00000000000000000FFDFF0FFFFFFFFFF0005D +:108D10000FFFFF0FFFFFFFFFF00000FFFF0FFFFF40 +:108D2000FFFFF00000FFFF0FFFFFFFFFF0000FFF4E +:108D3000FF000000000000000FFDFFFFFFFFFFFF2E +:108D4000FFFFFFF08FFFFFFFFFFFFFFFFF808FFFA1 +:108D5000FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFA2 +:108D6000FFF0FF000000000000000FFDFF0FFFFFFD +:108D7000FF0000000FFFFF0FFFFFFF00000000FFDC +:108D8000FF0FFFFFFF00000000FFFF0FFFFFFF00CE +:108D900000000FFFFF000000000000000FFDFFFFBC +:108DA000FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF52 +:108DB000FF808FFFFFFFFFFFFFFFFF80FFFFFFFF31 +:108DC000FFFFFFFFFFF0FF000000000000000FFDAD +:108DD000FF0FFFF0000000000FFFFF0FFFF000008B +:108DE000000000FFFF0FFFF00000000000FFFF0F7A +:108DF000FFF0000000000FFFFF0000000000000077 +:108E00000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFFE3 +:108E1000FFFFFFFFFF808FFFFFFFFFFFFFFFFF80D0 +:108E2000FFFFFFFFFFFFFFFFFFF0FF00000000005C +:108E300000000FFDFF000000000000000FFFFF001A +:108E400000000000000000FFFF0000000000000024 +:108E500000FFFF000000000000000FFFFF00000007 +:108E6000000000000FFDFFFFFFFFFFFFFFFFFFF00F +:108E70008FFFFFFFFFFFFFFFFF80000000000001EA +:108E800000000000000000000007FD1000000000CE +:108E9000000001CFFFF500000000000000B929FE2E +:108EA000100000000000003F10020000000003DF7F +:108EB000800A90000000037000DFFF77F7555555DA +:108EC000558FD30FFFFDCCDFDCCCCCCDFFB08FFEB8 +:108ED0001000AA0000004D400046100001F20233CD +:108EE0001000000000000009B1CFF90000000000F0 +:108EF00000000AFFFF900000000000000000BFF922 +:108F0000000000000000000001220000000018DF47 +:108F1000FD920002EFFBEFFF300DFFFA2EFFE04F56 +:108F2000FFFA03FFF59FFAFA354FFACFC08A3D0BDF +:108F3000FDEFFB03128FFEFFFFB006FFFFFFFFD127 +:108F400008FFFFEFFD11109FFFDFD1593B0BFDAF75 +:108F5000D7FA381DFB5FFFFA01DFF70DFFFA1DFF9F +:108F6000F103EFFCDFFF500018DFFEA30000007FDD +:108F7000FFF70000EFFFFFFFFFFFFEEFFFFFFFFF28 +:108F8000FFFE000000000000000FFFFFFFFFFFF0EA +:108F90000FFFFFFFFFFFF00FF99F99F99FF00FF808 +:108FA0008F88F88FF00FF88F88F88FF00FF88F8880 +:108FB000F88FF00FF88F88F88FF00FF88F88F88F00 +:108FC000F00FF88F88F88FF00FF99F99F99FF00F45 +:108FD000FFFFFFFFFFF008FFFFFFFFFF8000000023 +:108FE0000000007FA00000000000008FFFB0000024 +:108FF0000000000DFFFFA0000000008A1DFFFF0021 +:109000000000008FFA1DFF700000008FFFFA1D8026 +:109010000000008FFFFFFA000000008FFFFFFF80BD +:109020000000008FFFFFFF800000008FFFFFFF8028 +:109030000000008FFFFFFF800000006FFFFFFF8038 +:109040000000000BFFFFFF8000000000DFFFFF803B +:10905000000000000EFFFF800000000000DEDB606B +:109060000000000000000000000000000000000000 +:109070001BFFFFFFFFFFFFE40001DFFFFFFFFFFF1C +:10908000FFFE001DFFFFFAEFFEAFFFFF01DFFFFF56 +:10909000A02EE20AFFFF1DFFFFFFE202202EFFFFCE +:1090A000CFFFFFFFFE2002EFFFFFCFFFFFFFFE20FD +:1090B00002EFFFFF1DFFFFFFE202202EFFFF01DF97 +:1090C000FFFFA02EE20AFFFF001DFFFFFAEFFEAF39 +:1090D000FFFF0001DFFFFFFFFFFFFFFE00001BFFA0 +:1090E000FFFFFFFFFFE40008FFFFFFE4008FFFFF2B +:1090F000FFFE08F80F0B40FF8FF80F0B40FFFFF843 +:109100000F0B40FFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10911000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F :10912000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F -:10913000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F -:10914000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F -:10915000FFFFEFFFFFFFFFFE4EFFFFFFFFE40000FA -:109160000000000000010000000000000003E0001B -:10917000001000000002EF1000BF000000007FF1AF -:1091800000CFF100000007FF11CFFF77777777BF9F -:10919000F1CFFFFFFFFFFFFFFF17FFFFFFFFFFFF05 -:1091A000FFE007FFF100000000000006FF100000D4 -:1091B0000000000005A00000000000006C765F6465 -:1091C0006973705F6472765F7265676973746572E4 -:1091D000000000002E2E2F74686972647061727432 -:1091E000792F6C76676C2F7372632F6C765F686172 -:1091F0006C2F6C765F68616C5F646973702E6300BE -:1092000081100100000000006C765F616E696D5F87 -:1092100073746172740000002E2E2F74686972647A -:1092200070617274792F6C76676C2F7372632F6C18 -:10923000765F6D6973632F6C765F616E696D2E6307 -:10924000000000006C765F66735F6472765F726523 -:1092500067697374657200006C765F66735F6F7028 -:10926000656E00006C765F66735F6469725F6F7035 -:10927000656E00002E2E2F746869726470617274BE -:10928000792F6C76676C2F7372632F6C765F6D69C4 -:1092900073632F6C765F66732E63000000003C02E0 -:1092A0007804B306EE08280B610D990FD01106144F -:1092B0003A166C189D1ACB1CF71E212148236C25E9 -:1092C0008E27AC29C72BDF2DF32F0332103418362D -:1092D0001C381C3A173C0E3EFF3FEC41D443B645C8 -:1092E00093476A493C4B084DCD4E8D504652F95339 -:1092F000A5554B57EA58825A135C9C5D1F5F9A60D4 -:109300000D627963DD6439668D67D9681D6A596BB2 -:109310008C6CB76DD96EF36F04710C720B730174A2 -:10932000EE74D275AD767F7747780679BB79677A28 -:109330000A7BA27B327CB77C337DA57D0D7E6C7E63 -:10934000C07E0B7F4B7F827FAF7FD27FEB7FFA7F28 -:10935000FF7F00006C765F6D656D5F616C6C6F63A5 -:10936000000000005F6C765F6D656D5F6275665F23 -:1093700072656C65617365006C765F6D656D5F72BB -:1093800065616C6C6F6300005F6C765F6D656D5F2F -:109390006275665F676574002E2E2F74686972644B -:1093A00070617274792F6C76676C2F7372632F6C97 -:1093B000765F6D6973632F6C765F6D656D2E6300EC -:1093C000436F756C646E277420616C6C6F6361749D -:1093D00065206D656D6F7279000000006C765F6DC1 -:1093E000656D5F6275665F72656C656173653A2075 -:1093F00070206973206E6F742061206B6E6F776EC2 -:1094000020627566666572006C765F6D656D5F6281 -:1094100075665F6765743A204F7574206F66206DBE -:10942000656D6F72792C2063616E277420616C6C9E -:109430006F636174652061206E65772020627566B8 -:109440006665722028696E63726561736520796F45 -:109450007572204C565F4D454D5F53495A452F68F4 -:109460006561702073697A65290000006C765F6D14 -:10947000656D5F6275665F6765743A206E6F206622 -:10948000726565206275666665722E20496E63722C -:1094900065617365204C565F445241575F425546A3 -:1094A0005F4D41585F4E554D2E0000006C765F7445 -:1094B00061736B5F6372656174655F626173696339 -:1094C000000000006C765F7461736B5F63726561AE -:1094D000746500002E2E2F74686972647061727456 -:1094E000792F6C76676C2F7372632F6C765F6D6962 -:1094F00073632F6C765F7461736B2E6300000000E2 -:109500005F6C765F7478745F6765745F73697A65A2 -:1095100000000000202C2E3B3A2D5F002E2E2F74D1 -:109520006869726470617274792F6C76676C2F73DE -:1095300072632F6C765F6D6973632F6C765F7478DE -:10954000742E63006C765F7478745F6765745F7304 -:10955000697A653A20696E7465676572206F766511 -:1095600072666C6F77207768696C652063616C63E5 -:10957000756C6174696E67207465787420686569BC -:1095800067687400FFFF000010840000EF808C000B -:109590006C765F696D675F64657369676E00000074 -:1095A0006C765F696D675F7365745F6175746F5F1B -:1095B00073697A65000000006C765F696D675F73A0 -:1095C00065745F6F66667365745F78006C765F695B -:1095D0006D675F7365745F6F66667365745F79004E -:1095E0006C765F696D675F6765745F7372630000B7 -:1095F0006C765F696D675F6765745F66696C655FF0 -:109600006E616D65000000006C765F696D675F6775 -:1096100065745F6175746F5F73697A65000000003F -:109620006C765F696D675F7365745F73726300006A -:109630006C765F696D675F637265617465000000D9 -:109640006C765F696D675F6765745F6F666673658B -:10965000745F78006C765F696D675F6765745F6FD4 -:1096600066667365745F79006C765F696D675F67C6 -:1096700065745F7069766F74000000006C765F69D6 -:109680006D675F6765745F616E676C650000000001 -:109690006C765F696D675F6765745F7A6F6F6D0089 -:1096A0006C765F696D675F6765745F616E74696131 -:1096B0006C696173000000002E2E2F74686972645B -:1096C00070617274792F6C76676C2F7372632F6C74 -:1096D000765F776964676574732F6C765F696D6711 -:1096E0002E6300006C765F696D675F7365745F73EE -:1096F00072633A20756E6B6E6F776E207479706549 -:10970000000000006C765F696D675F7365745F735E -:1097100072633A20756E6B6E6F776E20696D61674C -:1097200065207479706500006C765F696D675F73A2 -:1097300065745F7372633A2020604C565F494D47F1 -:109740005F5352435F5641524941424C4560207439 -:1097500079706520666F756E64000000696D6167E1 -:109760006520637265617465640000006C765F69F2 -:109770006D6700006C765F6C6162656C5F73657429 -:109780005F646F745F746D70000000006C765F6CD6 -:109790006162656C5F7365745F616C69676E000020 -:1097A0006C765F6C6162656C5F7365745F7465781D -:1097B000745F73656C5F7374617274006C765F6C58 -:1097C0006162656C5F7365745F746578745F7365FF -:1097D0006C5F656E640000006C765F6C6162656C46 -:1097E0005F6765745F746578740000006C765F6C09 -:1097F0006162656C5F6765745F6C6F6E675F6D6FEC -:10980000646500006C765F6C6162656C5F676574AF -:109810005F616C69676E00006C765F6C6162656C9D -:109820005F6765745F7265636F6C6F720000000044 -:109830006C765F6C6162656C5F6765745F616E69B1 -:109840006D5F7370656564006C765F6C6162656CFA -:109850005F6765745F6C65747465725F706F7300C9 -:109860006C765F6C6162656C5F6765745F6C657474 -:109870007465725F6F6E00006C765F6C6162656C20 -:109880005F7365745F746578740000006C765F6C5C -:109890006162656C5F7365745F746578745F666D33 -:1098A000740000006C765F6C6162656C5F73657458 -:1098B0005F746578745F737461746963000000009D -:1098C0006C765F6C6162656C5F7365745F6C6F6E04 -:1098D000675F6D6F646500006C765F6C6162656CDC -:1098E0005F7365745F7265636F6C6F720000000078 -:1098F0006C765F6C6162656C5F6372656174650054 -:109900006C765F6C6162656C5F7365745F616E69D4 -:109910006D5F7370656564006C765F6C6162656C29 -:109920005F6765745F746578745F73656C5F73748B -:10993000617274006C765F6C6162656C5F67657400 -:109940005F746578745F73656C5F656E64000000BA -:109950006C765F6C6162656C5F69735F636861728E -:109960005F756E6465725F706F7300006C765F6C1C -:109970006162656C5F696E735F7465787400000086 -:109980006C765F6C6162656C5F6375745F7465783B -:10999000740000002E2E2F746869726470617274F6 -:1099A000792F6C76676C2F7372632F6C765F776993 -:1099B00064676574732F6C765F6C6162656C2E638F -:1099C000000000004661696C656420746F20616C62 -:1099D0006C6F63617465206D656D6F727920666F61 -:1099E0007220646F745F746D705F70747200000039 -:1099F00054657874000000006C6162656C206372CD -:109A000065617465640000006C765F6C6162656C12 -:109A100000000000F8B500BFF8BC08BC9E467047C7 -:109A200089020000F8B500BFF8BC08BC9E4670472C -:049A300065020000CB -:089A34008017FF7F0100000014 -:109A3C000100000048656C6C6F20576F726C6421DC -:109A4C00A50B0100990101001200030000000000A9 -:109A5C002400002084670200AC6202000C62020049 -:109A6C00145502001000025000000000000000001D -:109A7C0000000000A86B002010000000986B002074 -:109A8C00100000006D3A01007D3B0100CD3C01004F -:109A9C00353D0100053D01007D3C01003D3B0100D1 -:049AAC009F3A0100DC +:10913000FFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFE50 +:109140004EFFFFFFFFE400000000000000010000F0 +:10915000000000000003E000001000000002EF101B +:1091600000BF000000007FF100CFF100000007FF0A +:1091700011CFFF77777777BFF1CFFFFFFFFFFFFFBB +:10918000FF17FFFFFFFFFFFFFFE007FFF1000000F9 +:1091900000000006FF1000000000000005A0000015 +:1091A000000000006C765F646973705F6472765FC4 +:1091B0007265676973746572000000002E2E2F744B +:1091C0006869726470617274792F6C76676C2F7342 +:1091D00072632F6C765F68616C2F6C765F68616C70 +:1091E0005F646973702E6300691001000000000065 +:1091F0006C765F616E696D5F7374617274000000FC +:109200002E2E2F746869726470617274792F6C7677 +:10921000676C2F7372632F6C765F6D6973632F6C4D +:10922000765F616E696D2E63000000006C765F668C +:10923000735F6472765F726567697374657200004C +:109240006C765F66735F6F70656E00006C765F664C +:10925000735F6469725F6F70656E00002E2E2F74ED +:109260006869726470617274792F6C76676C2F73A1 +:1092700072632F6C765F6D6973632F6C765F6673B4 +:109280002E63000000003C027804B306EE08280BB1 +:10929000610D990FD01106143A166C189D1ACB1C4B +:1092A000F71E212148236C258E27AC29C72BDF2DE3 +:1092B000F32F0332103418361C381C3A173C0E3E7C +:1092C000FF3FEC41D443B64593476A493C4B084DB8 +:1092D000CD4E8D504652F953A5554B57EA58825AF8 +:1092E000135C9C5D1F5F9A600D627963DD64396673 +:1092F0008D67D9681D6A596B8C6CB76DD96EF36F29 +:1093000004710C720B730174EE74D275AD767F77B5 +:1093100047780679BB79677A0A7BA27B327CB77C77 +:10932000337DA57D0D7E6C7EC07E0B7F4B7F827F63 +:10933000AF7FD27FEB7FFA7FFF7F00006C765F6D9F +:10934000656D5F616C6C6F63000000005F6C765F41 +:109350006D656D5F6275665F72656C6561736500F2 +:109360006C765F6D656D5F7265616C6C6F6300003C +:109370005F6C765F6D656D5F6275665F67657400D3 +:109380002E2E2F746869726470617274792F6C76F6 +:10939000676C2F7372632F6C765F6D6973632F6CCC +:1093A000765F6D656D2E6300436F756C646E277418 +:1093B00020616C6C6F63617465206D656D6F72798F +:1093C000000000006C765F6D656D5F6275665F72B0 +:1093D000656C656173653A2070206973206E6F74E7 +:1093E0002061206B6E6F776E206275666665720015 +:1093F0006C765F6D656D5F6275665F6765743A2058 +:109400004F7574206F66206D656D6F72792C2063C7 +:10941000616E277420616C6C6F63617465206120DC +:109420006E657720206275666665722028696E63B6 +:10943000726561736520796F7572204C565F4D457A +:109440004D5F53495A452F686561702073697A658D +:10945000290000006C765F6D656D5F6275665F6701 +:1094600065743A206E6F2066726565206275666667 +:1094700065722E20496E637265617365204C565F7C +:10948000445241575F4255465F4D41585F4E554DDE +:109490002E0000006C765F7461736B5F63726561B0 +:1094A00074655F6261736963000000006C765F74CD +:1094B00061736B5F63726561746500002E2E2F749B +:1094C0006869726470617274792F6C76676C2F733F +:1094D00072632F6C765F6D6973632F6C765F746156 +:1094E000736B2E63000000005F6C765F7478745FAE +:1094F0006765745F73697A6500000000202C2E3B5D +:109500003A2D5F002E2E2F74686972647061727438 +:10951000792F6C76676C2F7372632F6C765F6D6931 +:1095200073632F6C765F7478742E63006C765F744F +:1095300078745F6765745F73697A653A20696E74E1 +:1095400065676572206F766572666C6F77207768E5 +:10955000696C652063616C63756C6174696E67200A +:10956000746578742068656967687400FFFF00009F +:1095700010840000EF808C006C765F696D675F641B +:10958000657369676E0000006C765F696D675F7375 +:1095900065745F6175746F5F73697A6500000000C0 +:1095A0006C765F696D675F7365745F6F6666736520 +:1095B000745F78006C765F696D675F7365745F6F69 +:1095C00066667365745F79006C765F696D675F6767 +:1095D00065745F73726300006C765F696D675F67C7 +:1095E00065745F66696C655F6E616D6500000000A3 +:1095F0006C765F696D675F6765745F6175746F5FD7 +:1096000073697A65000000006C765F696D675F734F +:1096100065745F73726300006C765F696D675F638A +:1096200072656174650000006C765F696D675F67E5 +:1096300065745F6F66667365745F78006C765F69EA +:109640006D675F6765745F6F66667365745F7900E9 +:109650006C765F696D675F6765745F7069766F745C +:10966000000000006C765F696D675F6765745F611D +:109670006E676C65000000006C765F696D675F6700 +:1096800065745F7A6F6F6D006C765F696D675F6799 +:1096900065745F616E7469616C69617300000000DC +:1096A0002E2E2F746869726470617274792F6C76D3 +:1096B000676C2F7372632F6C765F7769646765746C +:1096C000732F6C765F696D672E6300006C765F693F +:1096D0006D675F7365745F7372633A20756E6B6E4E +:1096E0006F776E2074797065000000006C765F699A +:1096F0006D675F7365745F7372633A20756E6B6E2E +:109700006F776E20696D6167652074797065000000 +:109710006C765F696D675F7365745F7372633A201F +:1097200020604C565F494D475F5352435F5641524C +:109730004941424C4560207479706520666F756EB2 +:1097400064000000696D616765206372656174651E +:10975000640000006C765F696D6700006C765F6C7A +:109760006162656C5F7365745F646F745F746D7064 +:10977000000000006C765F6C6162656C5F736574FD +:109780005F616C69676E00006C765F6C6162656C2E +:109790005F7365745F746578745F73656C5F737411 +:1097A000617274006C765F6C6162656C5F73657486 +:1097B0005F746578745F73656C5F656E640000004C +:1097C0006C765F6C6162656C5F6765745F74657809 +:1097D000740000006C765F6C6162656C5F67657435 +:1097E0005F6C6F6E675F6D6F646500006C765F6CB9 +:1097F0006162656C5F6765745F616C69676E0000CC +:109800006C765F6C6162656C5F6765745F726563DF +:109810006F6C6F72000000006C765F6C6162656C4B +:109820005F6765745F616E696D5F73706565640025 +:109830006C765F6C6162656C5F6765745F6C6574A4 +:109840007465725F706F73006C765F6C6162656CDB +:109850005F6765745F6C65747465725F6F6E00003E +:109860006C765F6C6162656C5F7365745F7465785C +:10987000740000006C765F6C6162656C5F73657488 +:109880005F746578745F666D740000006C765F6C61 +:109890006162656C5F7365745F746578745F73741F +:1098A00061746963000000006C765F6C6162656CD6 +:1098B0005F7365745F6C6F6E675F6D6F64650000EA +:1098C0006C765F6C6162656C5F7365745F72656313 +:1098D0006F6C6F72000000006C765F6C6162656C8B +:1098E0005F637265617465006C765F6C6162656C64 +:1098F0005F7365745F616E696D5F73706565640049 +:109900006C765F6C6162656C5F6765745F746578C7 +:10991000745F73656C5F7374617274006C765F6CF6 +:109920006162656C5F6765745F746578745F7365A9 +:109930006C5F656E640000006C765F6C6162656CE4 +:109940005F69735F636861725F756E6465725F7093 +:109950006F7300006C765F6C6162656C5F696E733B +:109960005F746578740000006C765F6C6162656C92 +:109970005F6375745F746578740000002E2E2F7419 +:109980006869726470617274792F6C76676C2F737A +:1099900072632F6C765F776964676574732F6C767A +:1099A0005F6C6162656C2E63000000004661696C4B +:1099B000656420746F20616C6C6F63617465206DE9 +:1099C000656D6F727920666F7220646F745F746D5D +:1099D000705F7074720000005465787400000000BD +:1099E0006C6162656C20637265617465640000007F +:1099F0006C765F6C6162656C00000000F8B500BFBA +:109A0000F8BC08BC9E46704789020000F8B500BF4C +:0C9A1000F8BC08BC9E46704765020000D0 +:089A1C008017FF7F010000002C +:109A24000100000048656C6C6F20576F726C6421F4 +:109A34008D0B0100810101001200030000000000F1 +:109A4400240000206C67020094620200F4610200AA +:109A5400FC5402001000025000000000000000004E +:109A640000000000A86B002010000000986B00208C +:109A740010000000553A0100653B0100B53C0100AF +:109A84001D3D0100ED3C0100653C0100253B01004A +:049A9400873A01000C :00000001FF diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss index 89c4a027..86ad125e 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.lss @@ -3,41 +3,41 @@ e54_gfx_learning.elf: file format elf32-littlearm Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00029a34 00000000 00000000 00010000 2**3 + 0 .text 00029a1c 00000000 00000000 00010000 2**3 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .ARM.exidx 00000008 00029a34 00029a34 00039a34 2**2 + 1 .ARM.exidx 00000008 00029a1c 00029a1c 00039a1c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA - 2 .relocate 00000074 20000000 00029a3c 00040000 2**2 + 2 .relocate 00000074 20000000 00029a24 00040000 2**2 CONTENTS, ALLOC, LOAD, DATA 3 .bkupram 00000000 47000000 47000000 00040074 2**0 CONTENTS 4 .qspi 00000000 04000000 04000000 00040074 2**0 CONTENTS - 5 .bss 00006d8c 20000078 00029ab8 00040078 2**3 + 5 .bss 00006d8c 20000078 00029aa0 00040078 2**3 ALLOC - 6 .stack 00010004 20006e04 00030844 00040078 2**0 + 6 .stack 00010004 20006e04 0003082c 00040078 2**0 ALLOC 7 .ARM.attributes 0000002e 00000000 00000000 00040074 2**0 CONTENTS, READONLY 8 .comment 00000059 00000000 00000000 000400a2 2**0 CONTENTS, READONLY - 9 .debug_info 0009d63d 00000000 00000000 000400fb 2**0 + 9 .debug_info 0009d60e 00000000 00000000 000400fb 2**0 CONTENTS, READONLY, DEBUGGING - 10 .debug_abbrev 0000c8ba 00000000 00000000 000dd738 2**0 + 10 .debug_abbrev 0000c8d3 00000000 00000000 000dd709 2**0 CONTENTS, READONLY, DEBUGGING - 11 .debug_loc 0004d923 00000000 00000000 000e9ff2 2**0 + 11 .debug_loc 0004d8a1 00000000 00000000 000e9fdc 2**0 CONTENTS, READONLY, DEBUGGING - 12 .debug_aranges 00002000 00000000 00000000 00137915 2**0 + 12 .debug_aranges 00002000 00000000 00000000 0013787d 2**0 CONTENTS, READONLY, DEBUGGING - 13 .debug_ranges 00003f18 00000000 00000000 00139915 2**0 + 13 .debug_ranges 00003f18 00000000 00000000 0013987d 2**0 CONTENTS, READONLY, DEBUGGING - 14 .debug_macro 0003f994 00000000 00000000 0013d82d 2**0 + 14 .debug_macro 0003f994 00000000 00000000 0013d795 2**0 CONTENTS, READONLY, DEBUGGING - 15 .debug_line 0003ad4e 00000000 00000000 0017d1c1 2**0 + 15 .debug_line 0003ad40 00000000 00000000 0017d129 2**0 CONTENTS, READONLY, DEBUGGING - 16 .debug_str 0012b007 00000000 00000000 001b7f0f 2**0 + 16 .debug_str 0012aff9 00000000 00000000 001b7e69 2**0 CONTENTS, READONLY, DEBUGGING - 17 .debug_frame 000064d4 00000000 00000000 002e2f18 2**2 + 17 .debug_frame 000064d8 00000000 00000000 002e2e64 2**2 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: @@ -67,10 +67,10 @@ void _lv_gc_clear_roots(void) cc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... dc: 75 0f 00 00 75 0f 00 00 75 0f 00 00 00 00 00 00 u...u...u....... ... - f4: 71 1c 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 q...u...u...u... + f4: 59 1c 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 Y...u...u...u... 104: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... - 114: 75 0f 00 00 cd 1e 00 00 e1 1e 00 00 f5 1e 00 00 u............... - 124: 09 1f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 ....u...u...u... + 114: 75 0f 00 00 b5 1e 00 00 c9 1e 00 00 dd 1e 00 00 u............... + 124: f1 1e 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 ....u...u...u... 134: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 144: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 154: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... @@ -82,7 +82,7 @@ void _lv_gc_clear_roots(void) 1b4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 1c4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 1d4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... - 1e4: 75 0f 00 00 75 0f 00 00 91 21 00 00 75 0f 00 00 u...u....!..u... + 1e4: 75 0f 00 00 75 0f 00 00 79 21 00 00 75 0f 00 00 u...u...y!..u... 1f4: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 204: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... 214: 75 0f 00 00 75 0f 00 00 75 0f 00 00 75 0f 00 00 u...u...u...u... @@ -105,7 +105,7 @@ void _lv_gc_clear_roots(void) 27a: bd10 pop {r4, pc} 27c: 20000078 .word 0x20000078 280: 00000000 .word 0x00000000 - 284: 00029a3c .word 0x00029a3c + 284: 00029a24 .word 0x00029a24 00000288 : 288: 4b0c ldr r3, [pc, #48] ; (2bc ) @@ -133,9 +133,9 @@ void _lv_gc_clear_roots(void) 2b8: 4718 bx r3 2ba: bf00 nop 2bc: 00000000 .word 0x00000000 - 2c0: 00029a3c .word 0x00029a3c + 2c0: 00029a24 .word 0x00029a24 2c4: 2000007c .word 0x2000007c - 2c8: 00029a3c .word 0x00029a3c + 2c8: 00029a24 .word 0x00029a24 2cc: 00000000 .word 0x00000000 000002d0 : @@ -335,7 +335,7 @@ static inline void ssd1963_data(uint8_t data) LV_DRV_DISP_PAR_CS(0); ssd1963_data_mode(); LV_DRV_DISP_PAR_WR_WORD(data); - 3ae: 2223 movs r2, #35 ; 0x23 + 3ae: 222f movs r2, #47 ; 0x2f 3b0: 4958 ldr r1, [pc, #352] ; (514 ) 3b2: 4859 ldr r0, [pc, #356] ; (518 ) 3b4: 4b59 ldr r3, [pc, #356] ; (51c ) @@ -358,7 +358,7 @@ static inline void ssd1963_data(uint8_t data) 3ce: 4b50 ldr r3, [pc, #320] ; (510 ) 3d0: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 3d2: 2202 movs r2, #2 + 3d2: 2203 movs r2, #3 3d4: 494f ldr r1, [pc, #316] ; (514 ) 3d6: 4850 ldr r0, [pc, #320] ; (518 ) 3d8: 4b50 ldr r3, [pc, #320] ; (51c ) @@ -551,18 +551,18 @@ static inline void ssd1963_data(uint8_t data) 4fa: 4b05 ldr r3, [pc, #20] ; (510 ) 4fc: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 4fe: 2204 movs r2, #4 + 4fe: 2201 movs r2, #1 500: 4904 ldr r1, [pc, #16] ; (514 ) 502: 4805 ldr r0, [pc, #20] ; (518 ) 504: e00e b.n 524 506: bf00 nop 508: 41008000 .word 0x41008000 - 50c: 00001521 .word 0x00001521 + 50c: 00001509 .word 0x00001509 510: 20000000 .word 0x20000000 514: 1c03c3f7 .word 0x1c03c3f7 518: 41008080 .word 0x41008080 51c: 00001041 .word 0x00001041 - 520: 00001501 .word 0x00001501 + 520: 000014e9 .word 0x000014e9 524: 4b8a ldr r3, [pc, #552] ; (750 ) 526: 4798 blx r3 528: 4b8a ldr r3, [pc, #552] ; (754 ) @@ -583,7 +583,7 @@ static inline void ssd1963_data(uint8_t data) 53e: 4b86 ldr r3, [pc, #536] ; (758 ) 540: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 542: 223a movs r2, #58 ; 0x3a + 542: 22cc movs r2, #204 ; 0xcc 544: 4985 ldr r1, [pc, #532] ; (75c ) 546: 4886 ldr r0, [pc, #536] ; (760 ) 548: 4b81 ldr r3, [pc, #516] ; (750 ) @@ -606,7 +606,7 @@ static inline void ssd1963_data(uint8_t data) 562: 4b7d ldr r3, [pc, #500] ; (758 ) 564: 701a strb r2, [r3, #0] LV_DRV_DISP_PAR_WR_WORD(data); - 566: 22b6 movs r2, #182 ; 0xb6 + 566: 22cc movs r2, #204 ; 0xcc 568: 497c ldr r1, [pc, #496] ; (75c ) 56a: 487d ldr r0, [pc, #500] ; (760 ) 56c: 4b78 ldr r3, [pc, #480] ; (750 ) @@ -919,9 +919,9 @@ static inline void ssd1963_data(uint8_t data) 758: 20000000 .word 0x20000000 75c: 1c03c3f7 .word 0x1c03c3f7 760: 41008080 .word 0x41008080 - 764: 00010ee1 .word 0x00010ee1 - 768: 00010eed .word 0x00010eed - 76c: 00010f15 .word 0x00010f15 + 764: 00010ec9 .word 0x00010ec9 + 768: 00010ed5 .word 0x00010ed5 + 76c: 00010efd .word 0x00010efd if(cmd_mode == false) { 770: 4b8a ldr r3, [pc, #552] ; (99c ) 772: 781b ldrb r3, [r3, #0] @@ -1772,8 +1772,8 @@ static inline void ssd1963_data(uint8_t data) ccc: 4284 cmp r4, r0 cce: dd05 ble.n cdc cd0: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - cd4: 00010ee1 .word 0x00010ee1 - cd8: 00010eed .word 0x00010eed + cd4: 00010ec9 .word 0x00010ec9 + cd8: 00010ed5 .word 0x00010ed5 if(area->y1 > SSD1963_VER_RES - 1) return; cdc: f9ba 4002 ldrsh.w r4, [sl, #2] ce0: 4b94 ldr r3, [pc, #592] ; (f34 ) @@ -2132,16 +2132,16 @@ static inline void ssd1963_data(uint8_t data) f2e: 4798 blx r3 f30: 1e47 subs r7, r0, #1 f32: e6f1 b.n d18 - f34: 00010ee1 .word 0x00010ee1 - f38: 00010f15 .word 0x00010f15 - f3c: 00010eed .word 0x00010eed + f34: 00010ec9 .word 0x00010ec9 + f38: 00010efd .word 0x00010efd + f3c: 00010ed5 .word 0x00010ed5 f40: 41008000 .word 0x41008000 f44: 20000000 .word 0x20000000 f48: 1c03c3f7 .word 0x1c03c3f7 f4c: 41008080 .word 0x41008080 f50: 00001041 .word 0x00001041 - f54: 00010fad .word 0x00010fad - f58: 00001079 .word 0x00001079 + f54: 00010f95 .word 0x00010f95 + f58: 00001061 .word 0x00001061 int32_t act_y2 = area->y2 > SSD1963_VER_RES - 1 ? SSD1963_VER_RES - 1 : area->y2; f5c: 4b03 ldr r3, [pc, #12] ; (f6c ) f5e: 4798 blx r3 @@ -2150,8 +2150,8 @@ static inline void ssd1963_data(uint8_t data) f64: f100 38ff add.w r8, r0, #4294967295 f68: e6e2 b.n d30 f6a: bf00 nop - f6c: 00010ee1 .word 0x00010ee1 - f70: 00010f15 .word 0x00010f15 + f6c: 00010ec9 .word 0x00010ec9 + f70: 00010efd .word 0x00010efd 00000f74 : @@ -2231,14 +2231,14 @@ __STATIC_FORCEINLINE void __DSB(void) fe8: e7fe b.n fe8 fea: bf00 nop fec: 20000000 .word 0x20000000 - ff0: 00029a3c .word 0x00029a3c + ff0: 00029a24 .word 0x00029a24 ff4: 20000074 .word 0x20000074 ff8: 20006e04 .word 0x20006e04 ffc: 20000078 .word 0x20000078 1000: e000ed00 .word 0xe000ed00 1004: 00000000 .word 0x00000000 - 1008: 0001b495 .word 0x0001b495 - 100c: 000021b1 .word 0x000021b1 + 1008: 0001b47d .word 0x0001b47d + 100c: 00002199 .word 0x00002199 00001010 : p_gpio_parallel_write(group, mask, data[ind]); @@ -2271,39282 +2271,39272 @@ void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint 00001040 : { - 1040: b510 push {r4, lr} + 1040: b538 push {r3, r4, r5, lr} ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1042: 2440 movs r4, #64 ; 0x40 - 1044: 4b0a ldr r3, [pc, #40] ; (1070 ) - 1046: 615c str r4, [r3, #20] + 1042: 4c05 ldr r4, [pc, #20] ; (1058 ) + 1044: 2540 movs r5, #64 ; 0x40 + 1046: 6165 str r5, [r4, #20] p_gpio_set_port_data(group, mask, (uint32_t)data); - 1048: 4b0a ldr r3, [pc, #40] ; (1074 ) + 1048: 4b04 ldr r3, [pc, #16] ; (105c ) 104a: 4798 blx r3 - 104c: 2308 movs r3, #8 - asm volatile("nop"); - 104e: bf00 nop - for(int x = 0; x < 8; x++) - 1050: 3b01 subs r3, #1 - 1052: d1fc bne.n 104e - 1054: 2280 movs r2, #128 ; 0x80 - 1056: 4b06 ldr r3, [pc, #24] ; (1070 ) - 1058: 615a str r2, [r3, #20] - 105a: 2308 movs r3, #8 - asm volatile("nop"); - 105c: bf00 nop - for(int x = 0; x < 8; x++) - 105e: 3b01 subs r3, #1 - 1060: d1fc bne.n 105c + 104c: 2380 movs r3, #128 ; 0x80 + 104e: 6163 str r3, [r4, #20] ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 1062: 4b03 ldr r3, [pc, #12] ; (1070 ) - 1064: 2280 movs r2, #128 ; 0x80 - 1066: 619a str r2, [r3, #24] - 1068: 2240 movs r2, #64 ; 0x40 - 106a: 619a str r2, [r3, #24] - 106c: bd10 pop {r4, pc} - 106e: bf00 nop - 1070: 41008000 .word 0x41008000 - 1074: 00001011 .word 0x00001011 - -00001078 : + 1050: 61a3 str r3, [r4, #24] + 1052: 61a5 str r5, [r4, #24] + 1054: bd38 pop {r3, r4, r5, pc} + 1056: bf00 nop + 1058: 41008000 .word 0x41008000 + 105c: 00001011 .word 0x00001011 + +00001060 : for(int ind = 0; ind < len; ind++) - 1078: b18b cbz r3, 109e + 1060: b18b cbz r3, 1086 { - 107a: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 107e: 460f mov r7, r1 - 1080: 4606 mov r6, r0 - 1082: 4614 mov r4, r2 - 1084: eb02 0543 add.w r5, r2, r3, lsl #1 + 1062: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 1066: 460f mov r7, r1 + 1068: 4606 mov r6, r0 + 106a: 4614 mov r4, r2 + 106c: eb02 0543 add.w r5, r2, r3, lsl #1 p_gpio_parallel_write(group, mask, data[ind]); - 1088: f8df 8014 ldr.w r8, [pc, #20] ; 10a0 - 108c: f834 2b02 ldrh.w r2, [r4], #2 - 1090: 4639 mov r1, r7 - 1092: 4630 mov r0, r6 - 1094: 47c0 blx r8 + 1070: f8df 8014 ldr.w r8, [pc, #20] ; 1088 + 1074: f834 2b02 ldrh.w r2, [r4], #2 + 1078: 4639 mov r1, r7 + 107a: 4630 mov r0, r6 + 107c: 47c0 blx r8 for(int ind = 0; ind < len; ind++) - 1096: 42ac cmp r4, r5 - 1098: d1f8 bne.n 108c - 109a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 109e: 4770 bx lr - 10a0: 00001041 .word 0x00001041 + 107e: 42ac cmp r4, r5 + 1080: d1f8 bne.n 1074 + 1082: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1086: 4770 bx lr + 1088: 00001041 .word 0x00001041 -000010a4 : +0000108c : void p_gpio_set_port_group_config(enum gpio_port port, const uint32_t mask, p_port_config* config) { - 10a4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 10a8: b083 sub sp, #12 - 10aa: 468b mov fp, r1 - 10ac: 9200 str r2, [sp, #0] + 108c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1090: b083 sub sp, #12 + 1092: 468b mov fp, r1 + 1094: 9200 str r2, [sp, #0] for(uint8_t i = 0; i < 32; i++) { if(mask & (1UL << i)) { uint32_t _gpio_pin = GPIO(port, i); - 10ae: 0140 lsls r0, r0, #5 - 10b0: b2c3 uxtb r3, r0 - 10b2: 9301 str r3, [sp, #4] - 10b4: 2600 movs r6, #0 + 1096: 0140 lsls r0, r0, #5 + 1098: b2c3 uxtb r3, r0 + 109a: 9301 str r3, [sp, #4] + 109c: 2600 movs r6, #0 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 10b6: f8df 9194 ldr.w r9, [pc, #404] ; 124c - 10ba: e065 b.n 1188 + 109e: f8df 9194 ldr.w r9, [pc, #404] ; 1234 + 10a2: e065 b.n 1170 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 10bc: eb09 13c7 add.w r3, r9, r7, lsl #7 - 10c0: 605d str r5, [r3, #4] + 10a4: eb09 13c7 add.w r3, r9, r7, lsl #7 + 10a8: 605d str r5, [r3, #4] const enum gpio_direction direction) { switch (direction) { case GPIO_DIRECTION_OFF: hri_port_clear_DIR_reg(PORT, port, mask); hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff)); - 10c2: b2aa uxth r2, r5 - 10c4: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 + 10aa: b2aa uxth r2, r5 + 10ac: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 static inline void hri_port_write_WRCONFIG_reg(const void *const hw, uint8_t submodule_index, hri_port_wrconfig_reg_t data) { PORT_CRITICAL_SECTION_ENTER(); ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 10c8: 629a str r2, [r3, #40] ; 0x28 + 10b0: 629a str r2, [r3, #40] ; 0x28 hri_port_write_WRCONFIG_reg( PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16)); - 10ca: 0c2a lsrs r2, r5, #16 + 10b2: 0c2a lsrs r2, r5, #16 hri_port_write_WRCONFIG_reg( - 10cc: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 - 10d0: 629a str r2, [r3, #40] ; 0x28 + 10b4: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 + 10b8: 629a str r2, [r3, #40] ; 0x28 * \brief Set pin pull mode */ static inline void _gpio_set_pin_pull_mode(const enum gpio_port port, const uint8_t pin, const enum gpio_pull_mode pull_mode) { switch (pull_mode) { - 10d2: 9b00 ldr r3, [sp, #0] - 10d4: 781b ldrb r3, [r3, #0] - 10d6: 2b01 cmp r3, #1 - 10d8: d077 beq.n 11ca - 10da: b323 cbz r3, 1126 - 10dc: 2b02 cmp r3, #2 - 10de: f000 8084 beq.w 11ea + 10ba: 9b00 ldr r3, [sp, #0] + 10bc: 781b ldrb r3, [r3, #0] + 10be: 2b01 cmp r3, #1 + 10c0: d077 beq.n 11b2 + 10c2: b323 cbz r3, 110e + 10c4: 2b02 cmp r3, #2 + 10c6: f000 8084 beq.w 11d2 hri_port_set_PINCFG_PULLEN_bit(PORT, port, pin); hri_port_clear_OUT_reg(PORT, port, 1U << pin); break; default: ASSERT(false); - 10e2: 2289 movs r2, #137 ; 0x89 - 10e4: 4957 ldr r1, [pc, #348] ; (1244 ) - 10e6: 2000 movs r0, #0 - 10e8: 4b57 ldr r3, [pc, #348] ; (1248 ) - 10ea: 4798 blx r3 - 10ec: e024 b.n 1138 + 10ca: 2289 movs r2, #137 ; 0x89 + 10cc: 4957 ldr r1, [pc, #348] ; (122c ) + 10ce: 2000 movs r0, #0 + 10d0: 4b57 ldr r3, [pc, #348] ; (1230 ) + 10d2: 4798 blx r3 + 10d4: e024 b.n 1120 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 10ee: eb09 12c7 add.w r2, r9, r7, lsl #7 - 10f2: 6055 str r5, [r2, #4] + 10d6: eb09 12c7 add.w r2, r9, r7, lsl #7 + 10da: 6055 str r5, [r2, #4] hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | PORT_WRCONFIG_INEN | (mask & 0xffff)); - 10f4: b2ab uxth r3, r5 - 10f6: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 - 10fa: f443 3300 orr.w r3, r3, #131072 ; 0x20000 + 10dc: b2ab uxth r3, r5 + 10de: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 + 10e2: f443 3300 orr.w r3, r3, #131072 ; 0x20000 ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 10fe: 6293 str r3, [r2, #40] ; 0x28 + 10e6: 6293 str r3, [r2, #40] ; 0x28 | ((mask & 0xffff0000) >> 16)); - 1100: 0c2b lsrs r3, r5, #16 + 10e8: 0c2b lsrs r3, r5, #16 hri_port_write_WRCONFIG_reg(PORT, - 1102: f043 4340 orr.w r3, r3, #3221225472 ; 0xc0000000 - 1106: f443 3300 orr.w r3, r3, #131072 ; 0x20000 - 110a: 6293 str r3, [r2, #40] ; 0x28 - 110c: e7e1 b.n 10d2 + 10ea: f043 4340 orr.w r3, r3, #3221225472 ; 0xc0000000 + 10ee: f443 3300 orr.w r3, r3, #131072 ; 0x20000 + 10f2: 6293 str r3, [r2, #40] ; 0x28 + 10f4: e7e1 b.n 10ba ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 110e: eb09 13c7 add.w r3, r9, r7, lsl #7 - 1112: 609d str r5, [r3, #8] + 10f6: eb09 13c7 add.w r3, r9, r7, lsl #7 + 10fa: 609d str r5, [r3, #8] hri_port_write_WRCONFIG_reg(PORT, port, PORT_WRCONFIG_WRPINCFG | (mask & 0xffff)); - 1114: b2aa uxth r2, r5 - 1116: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 + 10fc: b2aa uxth r2, r5 + 10fe: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 111a: 629a str r2, [r3, #40] ; 0x28 + 1102: 629a str r2, [r3, #40] ; 0x28 PORT, port, PORT_WRCONFIG_HWSEL | PORT_WRCONFIG_WRPINCFG | ((mask & 0xffff0000) >> 16)); - 111c: 0c2a lsrs r2, r5, #16 + 1104: 0c2a lsrs r2, r5, #16 hri_port_write_WRCONFIG_reg( - 111e: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 - 1122: 629a str r2, [r3, #40] ; 0x28 - 1124: e7d5 b.n 10d2 + 1106: f042 4240 orr.w r2, r2, #3221225472 ; 0xc0000000 + 110a: 629a str r2, [r3, #40] ; 0x28 + 110c: e7d5 b.n 10ba ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 1126: eb09 13c7 add.w r3, r9, r7, lsl #7 - 112a: 4443 add r3, r8 - 112c: f893 2040 ldrb.w r2, [r3, #64] ; 0x40 - 1130: f002 02fb and.w r2, r2, #251 ; 0xfb - 1134: f883 2040 strb.w r2, [r3, #64] ; 0x40 + 110e: eb09 13c7 add.w r3, r9, r7, lsl #7 + 1112: 4443 add r3, r8 + 1114: f893 2040 ldrb.w r2, [r3, #64] ; 0x40 + 1118: f002 02fb and.w r2, r2, #251 ; 0xfb + 111c: f883 2040 strb.w r2, [r3, #64] ; 0x40 gpio_set_pin_direction(_gpio_pin, config->direction); gpio_set_pin_pull_mode(_gpio_pin, config->pull_mode); gpio_set_pin_function(_gpio_pin, config->function); - 1138: 9b00 ldr r3, [sp, #0] - 113a: 685a ldr r2, [r3, #4] + 1120: 9b00 ldr r3, [sp, #0] + 1122: 685a ldr r2, [r3, #4] /** * \brief Set gpio pin function */ static inline void _gpio_set_pin_function(const uint32_t gpio, const uint32_t function) { uint8_t port = GPIO_PORT(gpio); - 113c: 0964 lsrs r4, r4, #5 + 1124: 0964 lsrs r4, r4, #5 uint8_t pin = GPIO_PIN(gpio); if (function == GPIO_PIN_FUNCTION_OFF) { - 113e: f1b2 3fff cmp.w r2, #4294967295 - 1142: d062 beq.n 120a + 1126: f1b2 3fff cmp.w r2, #4294967295 + 112a: d062 beq.n 11f2 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1144: b2e4 uxtb r4, r4 - 1146: eb09 11c4 add.w r1, r9, r4, lsl #7 - 114a: 4441 add r1, r8 - 114c: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 + 112c: b2e4 uxtb r4, r4 + 112e: eb09 11c4 add.w r1, r9, r4, lsl #7 + 1132: 4441 add r1, r8 + 1134: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 tmp &= ~PORT_PINCFG_PMUXEN; - 1150: f003 03fe and.w r3, r3, #254 ; 0xfe + 1138: f003 03fe and.w r3, r3, #254 ; 0xfe tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 1154: f043 0301 orr.w r3, r3, #1 + 113c: f043 0301 orr.w r3, r3, #1 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1158: f881 3040 strb.w r3, [r1, #64] ; 0x40 + 1140: f881 3040 strb.w r3, [r1, #64] ; 0x40 hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, false); } else { hri_port_write_PINCFG_PMUXEN_bit(PORT, port, pin, true); if (pin & 1) { - 115c: f01a 0f01 tst.w sl, #1 - 1160: d15e bne.n 1220 + 1144: f01a 0f01 tst.w sl, #1 + 1148: d15e bne.n 1208 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1162: eb09 14c4 add.w r4, r9, r4, lsl #7 - 1166: eb04 0858 add.w r8, r4, r8, lsr #1 - 116a: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 + 114a: eb09 14c4 add.w r4, r9, r4, lsl #7 + 114e: eb04 0858 add.w r8, r4, r8, lsr #1 + 1152: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 tmp &= ~PORT_PMUX_PMUXE_Msk; - 116e: f003 03f0 and.w r3, r3, #240 ; 0xf0 + 1156: f003 03f0 and.w r3, r3, #240 ; 0xf0 tmp |= PORT_PMUX_PMUXE(data); - 1172: f002 020f and.w r2, r2, #15 - 1176: 431a orrs r2, r3 + 115a: f002 020f and.w r2, r2, #15 + 115e: 431a orrs r2, r3 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 1178: f888 2030 strb.w r2, [r8, #48] ; 0x30 + 1160: f888 2030 strb.w r2, [r8, #48] ; 0x30 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 117c: eb09 17c7 add.w r7, r9, r7, lsl #7 - 1180: 617d str r5, [r7, #20] - 1182: 3601 adds r6, #1 + 1164: eb09 17c7 add.w r7, r9, r7, lsl #7 + 1168: 617d str r5, [r7, #20] + 116a: 3601 adds r6, #1 for(uint8_t i = 0; i < 32; i++) - 1184: 2e20 cmp r6, #32 - 1186: d059 beq.n 123c - 1188: b2f4 uxtb r4, r6 + 116c: 2e20 cmp r6, #32 + 116e: d059 beq.n 1224 + 1170: b2f4 uxtb r4, r6 if(mask & (1UL << i)) - 118a: fa2b f306 lsr.w r3, fp, r6 - 118e: f013 0f01 tst.w r3, #1 - 1192: d0f6 beq.n 1182 + 1172: fa2b f306 lsr.w r3, fp, r6 + 1176: f013 0f01 tst.w r3, #1 + 117a: d0f6 beq.n 116a uint32_t _gpio_pin = GPIO(port, i); - 1194: f004 041f and.w r4, r4, #31 - 1198: 9b01 ldr r3, [sp, #4] - 119a: 441c add r4, r3 + 117c: f004 041f and.w r4, r4, #31 + 1180: 9b01 ldr r3, [sp, #4] + 1182: 441c add r4, r3 gpio_set_pin_direction(_gpio_pin, config->direction); - 119c: fa5f fa84 uxtb.w sl, r4 + 1184: fa5f fa84 uxtb.w sl, r4 * GPIO_DIRECTION_OFF = Disables the pin * (low power state) */ static inline void gpio_set_pin_direction(const uint8_t pin, const enum gpio_direction direction) { _gpio_set_direction((enum gpio_port)GPIO_PORT(pin), 1U << GPIO_PIN(pin), direction); - 11a0: ea4f 175a mov.w r7, sl, lsr #5 - 11a4: f00a 081f and.w r8, sl, #31 - 11a8: 2501 movs r5, #1 - 11aa: fa05 f508 lsl.w r5, r5, r8 + 1188: ea4f 175a mov.w r7, sl, lsr #5 + 118c: f00a 081f and.w r8, sl, #31 + 1190: 2501 movs r5, #1 + 1192: fa05 f508 lsl.w r5, r5, r8 switch (direction) { - 11ae: 9b00 ldr r3, [sp, #0] - 11b0: 785b ldrb r3, [r3, #1] - 11b2: 2b01 cmp r3, #1 - 11b4: d09b beq.n 10ee - 11b6: 2b00 cmp r3, #0 - 11b8: d080 beq.n 10bc - 11ba: 2b02 cmp r3, #2 - 11bc: d0a7 beq.n 110e + 1196: 9b00 ldr r3, [sp, #0] + 1198: 785b ldrb r3, [r3, #1] + 119a: 2b01 cmp r3, #1 + 119c: d09b beq.n 10d6 + 119e: 2b00 cmp r3, #0 + 11a0: d080 beq.n 10a4 + 11a2: 2b02 cmp r3, #2 + 11a4: d0a7 beq.n 10f6 ASSERT(false); - 11be: 2246 movs r2, #70 ; 0x46 - 11c0: 4920 ldr r1, [pc, #128] ; (1244 ) - 11c2: 2000 movs r0, #0 - 11c4: 4b20 ldr r3, [pc, #128] ; (1248 ) - 11c6: 4798 blx r3 - 11c8: e783 b.n 10d2 + 11a6: 2246 movs r2, #70 ; 0x46 + 11a8: 4920 ldr r1, [pc, #128] ; (122c ) + 11aa: 2000 movs r0, #0 + 11ac: 4b20 ldr r3, [pc, #128] ; (1230 ) + 11ae: 4798 blx r3 + 11b0: e783 b.n 10ba hri_port_clear_DIR_reg(PORT, port, 1U << pin); - 11ca: 2301 movs r3, #1 - 11cc: fa03 f308 lsl.w r3, r3, r8 + 11b2: 2301 movs r3, #1 + 11b4: fa03 f308 lsl.w r3, r3, r8 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 11d0: eb09 12c7 add.w r2, r9, r7, lsl #7 - 11d4: 6053 str r3, [r2, #4] + 11b8: eb09 12c7 add.w r2, r9, r7, lsl #7 + 11bc: 6053 str r3, [r2, #4] ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 11d6: eb02 0008 add.w r0, r2, r8 - 11da: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 - 11de: f041 0104 orr.w r1, r1, #4 - 11e2: f880 1040 strb.w r1, [r0, #64] ; 0x40 + 11be: eb02 0008 add.w r0, r2, r8 + 11c2: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 + 11c6: f041 0104 orr.w r1, r1, #4 + 11ca: f880 1040 strb.w r1, [r0, #64] ; 0x40 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 11e6: 6193 str r3, [r2, #24] - 11e8: e7a6 b.n 1138 + 11ce: 6193 str r3, [r2, #24] + 11d0: e7a6 b.n 1120 hri_port_clear_DIR_reg(PORT, port, 1U << pin); - 11ea: 2301 movs r3, #1 - 11ec: fa03 f308 lsl.w r3, r3, r8 + 11d2: 2301 movs r3, #1 + 11d4: fa03 f308 lsl.w r3, r3, r8 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 11f0: eb09 12c7 add.w r2, r9, r7, lsl #7 - 11f4: 6053 str r3, [r2, #4] + 11d8: eb09 12c7 add.w r2, r9, r7, lsl #7 + 11dc: 6053 str r3, [r2, #4] ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 11f6: eb02 0008 add.w r0, r2, r8 - 11fa: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 - 11fe: f041 0104 orr.w r1, r1, #4 - 1202: f880 1040 strb.w r1, [r0, #64] ; 0x40 + 11de: eb02 0008 add.w r0, r2, r8 + 11e2: f890 1040 ldrb.w r1, [r0, #64] ; 0x40 + 11e6: f041 0104 orr.w r1, r1, #4 + 11ea: f880 1040 strb.w r1, [r0, #64] ; 0x40 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1206: 6153 str r3, [r2, #20] - 1208: e796 b.n 1138 + 11ee: 6153 str r3, [r2, #20] + 11f0: e796 b.n 1120 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 120a: b2e4 uxtb r4, r4 - 120c: eb09 14c4 add.w r4, r9, r4, lsl #7 - 1210: 44a0 add r8, r4 - 1212: f898 3040 ldrb.w r3, [r8, #64] ; 0x40 + 11f2: b2e4 uxtb r4, r4 + 11f4: eb09 14c4 add.w r4, r9, r4, lsl #7 + 11f8: 44a0 add r8, r4 + 11fa: f898 3040 ldrb.w r3, [r8, #64] ; 0x40 tmp &= ~PORT_PINCFG_PMUXEN; - 1216: f003 03fe and.w r3, r3, #254 ; 0xfe + 11fe: f003 03fe and.w r3, r3, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 121a: f888 3040 strb.w r3, [r8, #64] ; 0x40 - 121e: e7ad b.n 117c + 1202: f888 3040 strb.w r3, [r8, #64] ; 0x40 + 1206: e7ad b.n 1164 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1220: eb09 14c4 add.w r4, r9, r4, lsl #7 - 1224: eb04 0858 add.w r8, r4, r8, lsr #1 - 1228: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 + 1208: eb09 14c4 add.w r4, r9, r4, lsl #7 + 120c: eb04 0858 add.w r8, r4, r8, lsr #1 + 1210: f898 3030 ldrb.w r3, [r8, #48] ; 0x30 tmp &= ~PORT_PMUX_PMUXO_Msk; - 122c: f003 030f and.w r3, r3, #15 + 1214: f003 030f and.w r3, r3, #15 tmp |= PORT_PMUX_PMUXO(data); - 1230: ea43 1202 orr.w r2, r3, r2, lsl #4 - 1234: b2d2 uxtb r2, r2 + 1218: ea43 1202 orr.w r2, r3, r2, lsl #4 + 121c: b2d2 uxtb r2, r2 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 1236: f888 2030 strb.w r2, [r8, #48] ; 0x30 - 123a: e79f b.n 117c + 121e: f888 2030 strb.w r2, [r8, #48] ; 0x30 + 1222: e79f b.n 1164 gpio_set_pin_level(_gpio_pin, 0); } } } - 123c: b003 add sp, #12 - 123e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 1242: bf00 nop - 1244: 0001b530 .word 0x0001b530 - 1248: 000019d5 .word 0x000019d5 - 124c: 41008000 .word 0x41008000 + 1224: b003 add sp, #12 + 1226: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 122a: bf00 nop + 122c: 0001b518 .word 0x0001b518 + 1230: 000019bd .word 0x000019bd + 1234: 41008000 .word 0x41008000 -00001250 : +00001238 : { - 1250: b570 push {r4, r5, r6, lr} - 1252: b082 sub sp, #8 + 1238: b570 push {r4, r5, r6, lr} + 123a: b082 sub sp, #8 memset(&data_config, 0, sizeof(data_config)); - 1254: 2300 movs r3, #0 - 1256: 9300 str r3, [sp, #0] + 123c: 2300 movs r3, #0 + 123e: 9300 str r3, [sp, #0] data_config.direction = GPIO_DIRECTION_OUT; - 1258: 2302 movs r3, #2 - 125a: f88d 3001 strb.w r3, [sp, #1] + 1240: 2302 movs r3, #2 + 1242: f88d 3001 strb.w r3, [sp, #1] data_config.function = GPIO_PIN_FUNCTION_OFF; - 125e: f04f 33ff mov.w r3, #4294967295 - 1262: 9301 str r3, [sp, #4] + 1246: f04f 33ff mov.w r3, #4294967295 + 124a: 9301 str r3, [sp, #4] p_gpio_set_port_group_config(SSD1963_TFT_DATA_PORT, SSD1963_TFT_DATA_MASK, &data_config); - 1264: 466a mov r2, sp - 1266: 493f ldr r1, [pc, #252] ; (1364 ) - 1268: 2001 movs r0, #1 - 126a: 4b3f ldr r3, [pc, #252] ; (1368 ) - 126c: 4798 blx r3 + 124c: 466a mov r2, sp + 124e: 493f ldr r1, [pc, #252] ; (134c ) + 1250: 2001 movs r0, #1 + 1252: 4b3f ldr r3, [pc, #252] ; (1350 ) + 1254: 4798 blx r3 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 126e: 4b3f ldr r3, [pc, #252] ; (136c ) - 1270: 2640 movs r6, #64 ; 0x40 - 1272: 609e str r6, [r3, #8] + 1256: 4b3f ldr r3, [pc, #252] ; (1354 ) + 1258: 2640 movs r6, #64 ; 0x40 + 125a: 609e str r6, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1274: 4a3e ldr r2, [pc, #248] ; (1370 ) - 1276: 629a str r2, [r3, #40] ; 0x28 - 1278: f04f 4240 mov.w r2, #3221225472 ; 0xc0000000 - 127c: 629a str r2, [r3, #40] ; 0x28 + 125c: 4a3e ldr r2, [pc, #248] ; (1358 ) + 125e: 629a str r2, [r3, #40] ; 0x28 + 1260: f04f 4240 mov.w r2, #3221225472 ; 0xc0000000 + 1264: 629a str r2, [r3, #40] ; 0x28 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 127e: f893 1046 ldrb.w r1, [r3, #70] ; 0x46 - 1282: f001 01fb and.w r1, r1, #251 ; 0xfb - 1286: f883 1046 strb.w r1, [r3, #70] ; 0x46 + 1266: f893 1046 ldrb.w r1, [r3, #70] ; 0x46 + 126a: f001 01fb and.w r1, r1, #251 ; 0xfb + 126e: f883 1046 strb.w r1, [r3, #70] ; 0x46 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 128a: f893 1046 ldrb.w r1, [r3, #70] ; 0x46 + 1272: f893 1046 ldrb.w r1, [r3, #70] ; 0x46 tmp &= ~PORT_PINCFG_PMUXEN; - 128e: f001 01fe and.w r1, r1, #254 ; 0xfe + 1276: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1292: f883 1046 strb.w r1, [r3, #70] ; 0x46 + 127a: f883 1046 strb.w r1, [r3, #70] ; 0x46 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 1296: 2510 movs r5, #16 - 1298: 609d str r5, [r3, #8] + 127e: 2510 movs r5, #16 + 1280: 609d str r5, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 129a: 4936 ldr r1, [pc, #216] ; (1374 ) - 129c: 6299 str r1, [r3, #40] ; 0x28 - 129e: 629a str r2, [r3, #40] ; 0x28 + 1282: 4936 ldr r1, [pc, #216] ; (135c ) + 1284: 6299 str r1, [r3, #40] ; 0x28 + 1286: 629a str r2, [r3, #40] ; 0x28 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 12a0: f893 1044 ldrb.w r1, [r3, #68] ; 0x44 - 12a4: f001 01fb and.w r1, r1, #251 ; 0xfb - 12a8: f883 1044 strb.w r1, [r3, #68] ; 0x44 + 1288: f893 1044 ldrb.w r1, [r3, #68] ; 0x44 + 128c: f001 01fb and.w r1, r1, #251 ; 0xfb + 1290: f883 1044 strb.w r1, [r3, #68] ; 0x44 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 12ac: f893 1044 ldrb.w r1, [r3, #68] ; 0x44 + 1294: f893 1044 ldrb.w r1, [r3, #68] ; 0x44 tmp &= ~PORT_PINCFG_PMUXEN; - 12b0: f001 01fe and.w r1, r1, #254 ; 0xfe + 1298: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 12b4: f883 1044 strb.w r1, [r3, #68] ; 0x44 + 129c: f883 1044 strb.w r1, [r3, #68] ; 0x44 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 12b8: 2408 movs r4, #8 - 12ba: 609c str r4, [r3, #8] + 12a0: 2408 movs r4, #8 + 12a2: 609c str r4, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 12bc: 492e ldr r1, [pc, #184] ; (1378 ) - 12be: 6299 str r1, [r3, #40] ; 0x28 - 12c0: 629a str r2, [r3, #40] ; 0x28 + 12a4: 492e ldr r1, [pc, #184] ; (1360 ) + 12a6: 6299 str r1, [r3, #40] ; 0x28 + 12a8: 629a str r2, [r3, #40] ; 0x28 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 12c2: f893 1043 ldrb.w r1, [r3, #67] ; 0x43 - 12c6: f001 01fb and.w r1, r1, #251 ; 0xfb - 12ca: f883 1043 strb.w r1, [r3, #67] ; 0x43 + 12aa: f893 1043 ldrb.w r1, [r3, #67] ; 0x43 + 12ae: f001 01fb and.w r1, r1, #251 ; 0xfb + 12b2: f883 1043 strb.w r1, [r3, #67] ; 0x43 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 12ce: f893 1043 ldrb.w r1, [r3, #67] ; 0x43 + 12b6: f893 1043 ldrb.w r1, [r3, #67] ; 0x43 tmp &= ~PORT_PINCFG_PMUXEN; - 12d2: f001 01fe and.w r1, r1, #254 ; 0xfe + 12ba: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 12d6: f883 1043 strb.w r1, [r3, #67] ; 0x43 + 12be: f883 1043 strb.w r1, [r3, #67] ; 0x43 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 12da: 2120 movs r1, #32 - 12dc: 6099 str r1, [r3, #8] + 12c2: 2120 movs r1, #32 + 12c4: 6099 str r1, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 12de: f101 4180 add.w r1, r1, #1073741824 ; 0x40000000 - 12e2: 6299 str r1, [r3, #40] ; 0x28 - 12e4: 629a str r2, [r3, #40] ; 0x28 + 12c6: f101 4180 add.w r1, r1, #1073741824 ; 0x40000000 + 12ca: 6299 str r1, [r3, #40] ; 0x28 + 12cc: 629a str r2, [r3, #40] ; 0x28 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 12e6: f893 1045 ldrb.w r1, [r3, #69] ; 0x45 - 12ea: f001 01fb and.w r1, r1, #251 ; 0xfb - 12ee: f883 1045 strb.w r1, [r3, #69] ; 0x45 + 12ce: f893 1045 ldrb.w r1, [r3, #69] ; 0x45 + 12d2: f001 01fb and.w r1, r1, #251 ; 0xfb + 12d6: f883 1045 strb.w r1, [r3, #69] ; 0x45 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 12f2: f893 1045 ldrb.w r1, [r3, #69] ; 0x45 + 12da: f893 1045 ldrb.w r1, [r3, #69] ; 0x45 tmp &= ~PORT_PINCFG_PMUXEN; - 12f6: f001 01fe and.w r1, r1, #254 ; 0xfe + 12de: f001 01fe and.w r1, r1, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 12fa: f883 1045 strb.w r1, [r3, #69] ; 0x45 + 12e2: f883 1045 strb.w r1, [r3, #69] ; 0x45 ((Port *)hw)->Group[submodule_index].DIRSET.reg = mask; - 12fe: 2080 movs r0, #128 ; 0x80 - 1300: 6098 str r0, [r3, #8] + 12e6: 2080 movs r0, #128 ; 0x80 + 12e8: 6098 str r0, [r3, #8] ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1302: 491e ldr r1, [pc, #120] ; (137c ) - 1304: 6299 str r1, [r3, #40] ; 0x28 - 1306: 629a str r2, [r3, #40] ; 0x28 + 12ea: 491e ldr r1, [pc, #120] ; (1364 ) + 12ec: 6299 str r1, [r3, #40] ; 0x28 + 12ee: 629a str r2, [r3, #40] ; 0x28 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg &= ~PORT_PINCFG_PULLEN; - 1308: f893 2047 ldrb.w r2, [r3, #71] ; 0x47 - 130c: f002 02fb and.w r2, r2, #251 ; 0xfb - 1310: f883 2047 strb.w r2, [r3, #71] ; 0x47 + 12f0: f893 2047 ldrb.w r2, [r3, #71] ; 0x47 + 12f4: f002 02fb and.w r2, r2, #251 ; 0xfb + 12f8: f883 2047 strb.w r2, [r3, #71] ; 0x47 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1314: f893 2047 ldrb.w r2, [r3, #71] ; 0x47 + 12fc: f893 2047 ldrb.w r2, [r3, #71] ; 0x47 tmp &= ~PORT_PINCFG_PMUXEN; - 1318: f002 02fe and.w r2, r2, #254 ; 0xfe + 1300: f002 02fe and.w r2, r2, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 131c: f883 2047 strb.w r2, [r3, #71] ; 0x47 + 1304: f883 2047 strb.w r2, [r3, #71] ; 0x47 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1320: f44f 7280 mov.w r2, #256 ; 0x100 - 1324: f8c3 2184 str.w r2, [r3, #388] ; 0x184 + 1308: f44f 7280 mov.w r2, #256 ; 0x100 + 130c: f8c3 2184 str.w r2, [r3, #388] ; 0x184 ((Port *)hw)->Group[submodule_index].WRCONFIG.reg = data; - 1328: f501 3100 add.w r1, r1, #131072 ; 0x20000 - 132c: 3180 adds r1, #128 ; 0x80 - 132e: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8 - 1332: 4913 ldr r1, [pc, #76] ; (1380 ) - 1334: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8 + 1310: f501 3100 add.w r1, r1, #131072 ; 0x20000 + 1314: 3180 adds r1, #128 ; 0x80 + 1316: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8 + 131a: 4913 ldr r1, [pc, #76] ; (1368 ) + 131c: f8c3 11a8 str.w r1, [r3, #424] ; 0x1a8 ((Port *)hw)->Group[submodule_index].DIRCLR.reg = mask; - 1338: f8c3 2184 str.w r2, [r3, #388] ; 0x184 + 1320: f8c3 2184 str.w r2, [r3, #388] ; 0x184 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg |= PORT_PINCFG_PULLEN; - 133c: f893 11c8 ldrb.w r1, [r3, #456] ; 0x1c8 - 1340: f041 0104 orr.w r1, r1, #4 - 1344: f883 11c8 strb.w r1, [r3, #456] ; 0x1c8 + 1324: f893 11c8 ldrb.w r1, [r3, #456] ; 0x1c8 + 1328: f041 0104 orr.w r1, r1, #4 + 132c: f883 11c8 strb.w r1, [r3, #456] ; 0x1c8 ((Port *)hw)->Group[submodule_index].OUTCLR.reg = mask; - 1348: f8c3 2194 str.w r2, [r3, #404] ; 0x194 + 1330: f8c3 2194 str.w r2, [r3, #404] ; 0x194 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 134c: f893 21c8 ldrb.w r2, [r3, #456] ; 0x1c8 + 1334: f893 21c8 ldrb.w r2, [r3, #456] ; 0x1c8 tmp &= ~PORT_PINCFG_PMUXEN; - 1350: f002 02fe and.w r2, r2, #254 ; 0xfe + 1338: f002 02fe and.w r2, r2, #254 ; 0xfe ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1354: f883 21c8 strb.w r2, [r3, #456] ; 0x1c8 + 133c: f883 21c8 strb.w r2, [r3, #456] ; 0x1c8 ((Port *)hw)->Group[submodule_index].OUTSET.reg = mask; - 1358: 619e str r6, [r3, #24] - 135a: 619d str r5, [r3, #24] - 135c: 619c str r4, [r3, #24] - 135e: 6198 str r0, [r3, #24] -} - 1360: b002 add sp, #8 - 1362: bd70 pop {r4, r5, r6, pc} - 1364: 1c03c3f7 .word 0x1c03c3f7 - 1368: 000010a5 .word 0x000010a5 - 136c: 41008000 .word 0x41008000 - 1370: 40000040 .word 0x40000040 - 1374: 40000010 .word 0x40000010 - 1378: 40000008 .word 0x40000008 - 137c: 40000080 .word 0x40000080 - 1380: c0020000 .word 0xc0020000 - -00001384 : + 1340: 619e str r6, [r3, #24] + 1342: 619d str r5, [r3, #24] + 1344: 619c str r4, [r3, #24] + 1346: 6198 str r0, [r3, #24] +} + 1348: b002 add sp, #8 + 134a: bd70 pop {r4, r5, r6, pc} + 134c: 1c03c3f7 .word 0x1c03c3f7 + 1350: 0000108d .word 0x0000108d + 1354: 41008000 .word 0x41008000 + 1358: 40000040 .word 0x40000040 + 135c: 40000010 .word 0x40000010 + 1360: 40000008 .word 0x40000008 + 1364: 40000080 .word 0x40000080 + 1368: c0020000 .word 0xc0020000 + +0000136c : #include "p_i2c.h" struct i2c_m_sync_desc p_i2c_master; void p_i2c_init(void) { - 1384: 4770 bx lr + 136c: 4770 bx lr ... -00001388 : +00001370 : static volatile uint64_t sys_time = 0; /** * Example of using TIMER_0. */ static void TIMER_0_task1_cb(const struct timer_task *const timer_task) { - 1388: b508 push {r3, lr} + 1370: b508 push {r3, lr} sys_time++; - 138a: 4906 ldr r1, [pc, #24] ; (13a4 ) - 138c: e9d1 2300 ldrd r2, r3, [r1] - 1390: 3201 adds r2, #1 - 1392: f143 0300 adc.w r3, r3, #0 - 1396: e9c1 2300 strd r2, r3, [r1] + 1372: 4906 ldr r1, [pc, #24] ; (138c ) + 1374: e9d1 2300 ldrd r2, r3, [r1] + 1378: 3201 adds r2, #1 + 137a: f143 0300 adc.w r3, r3, #0 + 137e: e9c1 2300 strd r2, r3, [r1] lv_tick_inc(1); - 139a: 2001 movs r0, #1 - 139c: 4b02 ldr r3, [pc, #8] ; (13a8 ) - 139e: 4798 blx r3 - 13a0: bd08 pop {r3, pc} - 13a2: bf00 nop - 13a4: 20000098 .word 0x20000098 - 13a8: 00011045 .word 0x00011045 - -000013ac : + 1382: 2001 movs r0, #1 + 1384: 4b02 ldr r3, [pc, #8] ; (1390 ) + 1386: 4798 blx r3 + 1388: bd08 pop {r3, pc} + 138a: bf00 nop + 138c: 20000098 .word 0x20000098 + 1390: 0001102d .word 0x0001102d + +00001394 : //timer_add_task(&p_tcc_inst, &TIMER_0_task2); timer_start(&p_tcc_inst); } void p_tcc_init(void) { - 13ac: b510 push {r4, lr} + 1394: b510 push {r4, lr} delay_init(SysTick); - 13ae: 4811 ldr r0, [pc, #68] ; (13f4 ) - 13b0: 4b11 ldr r3, [pc, #68] ; (13f8 ) - 13b2: 4798 blx r3 + 1396: 4811 ldr r0, [pc, #68] ; (13dc ) + 1398: 4b11 ldr r3, [pc, #68] ; (13e0 ) + 139a: 4798 blx r3 } static inline void hri_mclk_set_APBAMASK_TC0_bit(const void *const hw) { MCLK_CRITICAL_SECTION_ENTER(); ((Mclk *)hw)->APBAMASK.reg |= MCLK_APBAMASK_TC0; - 13b4: 4a11 ldr r2, [pc, #68] ; (13fc ) - 13b6: 6953 ldr r3, [r2, #20] - 13b8: f443 4380 orr.w r3, r3, #16384 ; 0x4000 - 13bc: 6153 str r3, [r2, #20] + 139c: 4a11 ldr r2, [pc, #68] ; (13e4 ) + 139e: 6953 ldr r3, [r2, #20] + 13a0: f443 4380 orr.w r3, r3, #16384 ; 0x4000 + 13a4: 6153 str r3, [r2, #20] } static inline void hri_gclk_write_PCHCTRL_reg(const void *const hw, uint8_t index, hri_gclk_pchctrl_reg_t data) { GCLK_CRITICAL_SECTION_ENTER(); ((Gclk *)hw)->PCHCTRL[index].reg = data; - 13be: 2240 movs r2, #64 ; 0x40 - 13c0: 4b0f ldr r3, [pc, #60] ; (1400 ) - 13c2: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 + 13a6: 2240 movs r2, #64 ; 0x40 + 13a8: 4b0f ldr r3, [pc, #60] ; (13e8 ) + 13aa: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 hri_mclk_set_APBAMASK_TC0_bit(MCLK); hri_gclk_write_PCHCTRL_reg(GCLK, TC0_GCLK_ID, CONF_GCLK_TC0_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); timer_init(&p_tcc_inst, TC0, _tc_get_timer()); - 13c6: 4b0f ldr r3, [pc, #60] ; (1404 ) - 13c8: 4798 blx r3 - 13ca: 4c0f ldr r4, [pc, #60] ; (1408 ) - 13cc: 4602 mov r2, r0 - 13ce: 490f ldr r1, [pc, #60] ; (140c ) - 13d0: 4620 mov r0, r4 - 13d2: 4b0f ldr r3, [pc, #60] ; (1410 ) - 13d4: 4798 blx r3 + 13ae: 4b0f ldr r3, [pc, #60] ; (13ec ) + 13b0: 4798 blx r3 + 13b2: 4c0f ldr r4, [pc, #60] ; (13f0 ) + 13b4: 4602 mov r2, r0 + 13b6: 490f ldr r1, [pc, #60] ; (13f4 ) + 13b8: 4620 mov r0, r4 + 13ba: 4b0f ldr r3, [pc, #60] ; (13f8 ) + 13bc: 4798 blx r3 TIMER_0_task1.interval = 1; - 13d6: 490f ldr r1, [pc, #60] ; (1414 ) - 13d8: 2301 movs r3, #1 - 13da: 610b str r3, [r1, #16] + 13be: 490f ldr r1, [pc, #60] ; (13fc ) + 13c0: 2301 movs r3, #1 + 13c2: 610b str r3, [r1, #16] TIMER_0_task1.cb = TIMER_0_task1_cb; - 13dc: 4a0e ldr r2, [pc, #56] ; (1418 ) - 13de: 614a str r2, [r1, #20] + 13c4: 4a0e ldr r2, [pc, #56] ; (1400 ) + 13c6: 614a str r2, [r1, #20] TIMER_0_task1.mode = TIMER_TASK_REPEAT; - 13e0: 760b strb r3, [r1, #24] + 13c8: 760b strb r3, [r1, #24] //TIMER_0_task2.interval = 200; //TIMER_0_task2.cb = TIMER_0_task2_cb; //TIMER_0_task2.mode = TIMER_TASK_REPEAT; timer_add_task(&p_tcc_inst, &TIMER_0_task1); - 13e2: 3108 adds r1, #8 - 13e4: 4620 mov r0, r4 - 13e6: 4b0d ldr r3, [pc, #52] ; (141c ) - 13e8: 4798 blx r3 + 13ca: 3108 adds r1, #8 + 13cc: 4620 mov r0, r4 + 13ce: 4b0d ldr r3, [pc, #52] ; (1404 ) + 13d0: 4798 blx r3 //timer_add_task(&p_tcc_inst, &TIMER_0_task2); timer_start(&p_tcc_inst); - 13ea: 4620 mov r0, r4 - 13ec: 4b0c ldr r3, [pc, #48] ; (1420 ) - 13ee: 4798 blx r3 - 13f0: bd10 pop {r4, pc} - 13f2: bf00 nop - 13f4: e000e010 .word 0xe000e010 - 13f8: 000014ed .word 0x000014ed - 13fc: 40000800 .word 0x40000800 - 1400: 40001c00 .word 0x40001c00 - 1404: 0000214b .word 0x0000214b - 1408: 20006c04 .word 0x20006c04 - 140c: 40003800 .word 0x40003800 - 1410: 00001649 .word 0x00001649 - 1414: 20000098 .word 0x20000098 - 1418: 00001389 .word 0x00001389 - 141c: 000016c1 .word 0x000016c1 - 1420: 00001685 .word 0x00001685 - -00001424 : + 13d2: 4620 mov r0, r4 + 13d4: 4b0c ldr r3, [pc, #48] ; (1408 ) + 13d6: 4798 blx r3 + 13d8: bd10 pop {r4, pc} + 13da: bf00 nop + 13dc: e000e010 .word 0xe000e010 + 13e0: 000014d5 .word 0x000014d5 + 13e4: 40000800 .word 0x40000800 + 13e8: 40001c00 .word 0x40001c00 + 13ec: 00002133 .word 0x00002133 + 13f0: 20006c04 .word 0x20006c04 + 13f4: 40003800 .word 0x40003800 + 13f8: 00001631 .word 0x00001631 + 13fc: 20000098 .word 0x20000098 + 1400: 00001371 .word 0x00001371 + 1404: 000016a9 .word 0x000016a9 + 1408: 0000166d .word 0x0000166d + +0000140c : static uint8_t example_USART_0[12] = "Hello World!"; static uint8_t debug_buffer[DEBUG_MAX_BUFFER_SIZE]; static uint8_t debug_rx_buff[DEBUG_USART_EX_BUFF_SIZE]; void p_usart_init(void) { - 1424: b530 push {r4, r5, lr} - 1426: b083 sub sp, #12 - 1428: 4b1f ldr r3, [pc, #124] ; (14a8 ) - 142a: 2240 movs r2, #64 ; 0x40 - 142c: f8c3 20dc str.w r2, [r3, #220] ; 0xdc - 1430: 2243 movs r2, #67 ; 0x43 - 1432: f8c3 208c str.w r2, [r3, #140] ; 0x8c + 140c: b530 push {r4, r5, lr} + 140e: b083 sub sp, #12 + 1410: 4b1f ldr r3, [pc, #124] ; (1490 ) + 1412: 2240 movs r2, #64 ; 0x40 + 1414: f8c3 20dc str.w r2, [r3, #220] ; 0xdc + 1418: 2243 movs r2, #67 ; 0x43 + 141a: f8c3 208c str.w r2, [r3, #140] ; 0x8c } static inline void hri_mclk_set_APBBMASK_SERCOM2_bit(const void *const hw) { MCLK_CRITICAL_SECTION_ENTER(); ((Mclk *)hw)->APBBMASK.reg |= MCLK_APBBMASK_SERCOM2; - 1436: 4a1d ldr r2, [pc, #116] ; (14ac ) - 1438: 6993 ldr r3, [r2, #24] - 143a: f443 7300 orr.w r3, r3, #512 ; 0x200 - 143e: 6193 str r3, [r2, #24] + 141e: 4a1d ldr r2, [pc, #116] ; (1494 ) + 1420: 6993 ldr r3, [r2, #24] + 1422: f443 7300 orr.w r3, r3, #512 ; 0x200 + 1426: 6193 str r3, [r2, #24] hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_CORE, CONF_GCLK_SERCOM2_CORE_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); hri_gclk_write_PCHCTRL_reg(GCLK, SERCOM2_GCLK_ID_SLOW, CONF_GCLK_SERCOM2_SLOW_SRC | (1 << GCLK_PCHCTRL_CHEN_Pos)); hri_mclk_set_APBBMASK_SERCOM2_bit(MCLK); usart_async_init(&p_usart_debug_inst, USART_DEBUG_SERCOM, debug_rx_buff, DEBUG_USART_EX_BUFF_SIZE, (void*)NULL); - 1440: 4c1b ldr r4, [pc, #108] ; (14b0 ) - 1442: 2300 movs r3, #0 - 1444: 9300 str r3, [sp, #0] - 1446: 2310 movs r3, #16 - 1448: 4a1a ldr r2, [pc, #104] ; (14b4 ) - 144a: 491b ldr r1, [pc, #108] ; (14b8 ) - 144c: 4620 mov r0, r4 - 144e: 4d1b ldr r5, [pc, #108] ; (14bc ) - 1450: 47a8 blx r5 + 1428: 4c1b ldr r4, [pc, #108] ; (1498 ) + 142a: 2300 movs r3, #0 + 142c: 9300 str r3, [sp, #0] + 142e: 2310 movs r3, #16 + 1430: 4a1a ldr r2, [pc, #104] ; (149c ) + 1432: 491b ldr r1, [pc, #108] ; (14a0 ) + 1434: 4620 mov r0, r4 + 1436: 4d1b ldr r5, [pc, #108] ; (14a4 ) + 1438: 47a8 blx r5 tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1452: 4b1b ldr r3, [pc, #108] ; (14c0 ) - 1454: f893 20d8 ldrb.w r2, [r3, #216] ; 0xd8 + 143a: 4b1b ldr r3, [pc, #108] ; (14a8 ) + 143c: f893 20d8 ldrb.w r2, [r3, #216] ; 0xd8 tmp &= ~PORT_PINCFG_PMUXEN; - 1458: f002 02fe and.w r2, r2, #254 ; 0xfe + 1440: f002 02fe and.w r2, r2, #254 ; 0xfe tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 145c: f042 0201 orr.w r2, r2, #1 + 1444: f042 0201 orr.w r2, r2, #1 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1460: f883 20d8 strb.w r2, [r3, #216] ; 0xd8 + 1448: f883 20d8 strb.w r2, [r3, #216] ; 0xd8 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1464: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc + 144c: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc tmp &= ~PORT_PMUX_PMUXE_Msk; - 1468: f002 02f0 and.w r2, r2, #240 ; 0xf0 + 1450: f002 02f0 and.w r2, r2, #240 ; 0xf0 tmp |= PORT_PMUX_PMUXE(data); - 146c: f042 0203 orr.w r2, r2, #3 + 1454: f042 0203 orr.w r2, r2, #3 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 1470: f883 20bc strb.w r2, [r3, #188] ; 0xbc + 1458: f883 20bc strb.w r2, [r3, #188] ; 0xbc tmp = ((Port *)hw)->Group[submodule_index].PINCFG[index].reg; - 1474: f893 20d9 ldrb.w r2, [r3, #217] ; 0xd9 + 145c: f893 20d9 ldrb.w r2, [r3, #217] ; 0xd9 tmp &= ~PORT_PINCFG_PMUXEN; - 1478: f002 02fe and.w r2, r2, #254 ; 0xfe + 1460: f002 02fe and.w r2, r2, #254 ; 0xfe tmp |= value << PORT_PINCFG_PMUXEN_Pos; - 147c: f042 0201 orr.w r2, r2, #1 + 1464: f042 0201 orr.w r2, r2, #1 ((Port *)hw)->Group[submodule_index].PINCFG[index].reg = tmp; - 1480: f883 20d9 strb.w r2, [r3, #217] ; 0xd9 + 1468: f883 20d9 strb.w r2, [r3, #217] ; 0xd9 tmp = ((Port *)hw)->Group[submodule_index].PMUX[index].reg; - 1484: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc + 146c: f893 20bc ldrb.w r2, [r3, #188] ; 0xbc tmp &= ~PORT_PMUX_PMUXO_Msk; - 1488: f002 020f and.w r2, r2, #15 + 1470: f002 020f and.w r2, r2, #15 tmp |= PORT_PMUX_PMUXO(data); - 148c: f042 0230 orr.w r2, r2, #48 ; 0x30 + 1474: f042 0230 orr.w r2, r2, #48 ; 0x30 ((Port *)hw)->Group[submodule_index].PMUX[index].reg = tmp; - 1490: f883 20bc strb.w r2, [r3, #188] ; 0xbc + 1478: f883 20bc strb.w r2, [r3, #188] ; 0xbc // port init gpio_set_pin_function(USART_DEBUG_RX, USART_DEBUG_RX_MUX); gpio_set_pin_function(USART_DEBUG_TX, USART_DEBUG_TX_MUX); usart_async_enable(&p_usart_debug_inst); - 1494: 4620 mov r0, r4 - 1496: 4b0b ldr r3, [pc, #44] ; (14c4 ) - 1498: 4798 blx r3 + 147c: 4620 mov r0, r4 + 147e: 4b0b ldr r3, [pc, #44] ; (14ac ) + 1480: 4798 blx r3 io_write(&p_usart_debug_inst.io, example_USART_0, 12); - 149a: 220c movs r2, #12 - 149c: 490a ldr r1, [pc, #40] ; (14c8 ) - 149e: 4620 mov r0, r4 - 14a0: 4b0a ldr r3, [pc, #40] ; (14cc ) - 14a2: 4798 blx r3 + 1482: 220c movs r2, #12 + 1484: 490a ldr r1, [pc, #40] ; (14b0 ) + 1486: 4620 mov r0, r4 + 1488: 4b0a ldr r3, [pc, #40] ; (14b4 ) + 148a: 4798 blx r3 } - 14a4: b003 add sp, #12 - 14a6: bd30 pop {r4, r5, pc} - 14a8: 40001c00 .word 0x40001c00 - 14ac: 40000800 .word 0x40000800 - 14b0: 20006c20 .word 0x20006c20 - 14b4: 200000b4 .word 0x200000b4 - 14b8: 41012000 .word 0x41012000 - 14bc: 00001919 .word 0x00001919 - 14c0: 41008000 .word 0x41008000 - 14c4: 000019a9 .word 0x000019a9 - 14c8: 20000004 .word 0x20000004 - 14cc: 00001541 .word 0x00001541 - -000014d0 : + 148c: b003 add sp, #12 + 148e: bd30 pop {r4, r5, pc} + 1490: 40001c00 .word 0x40001c00 + 1494: 40000800 .word 0x40000800 + 1498: 20006c20 .word 0x20006c20 + 149c: 200000b4 .word 0x200000b4 + 14a0: 41012000 .word 0x41012000 + 14a4: 00001901 .word 0x00001901 + 14a8: 41008000 .word 0x41008000 + 14ac: 00001991 .word 0x00001991 + 14b0: 20000004 .word 0x20000004 + 14b4: 00001529 .word 0x00001529 + +000014b8 : __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); - 14d0: f3ef 8310 mrs r3, PRIMASK + 14b8: f3ef 8310 mrs r3, PRIMASK /** * \brief Disable interrupts, enter critical section */ void atomic_enter_critical(hal_atomic_t volatile *atomic) { *atomic = __get_PRIMASK(); - 14d4: 6003 str r3, [r0, #0] + 14bc: 6003 str r3, [r0, #0] __ASM volatile ("cpsid i" : : : "memory"); - 14d6: b672 cpsid i + 14be: b672 cpsid i \details Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion. */ __STATIC_FORCEINLINE void __DMB(void) { __ASM volatile ("dmb 0xF":::"memory"); - 14d8: f3bf 8f5f dmb sy - 14dc: 4770 bx lr + 14c0: f3bf 8f5f dmb sy + 14c4: 4770 bx lr -000014de : - 14de: f3bf 8f5f dmb sy +000014c6 : + 14c6: f3bf 8f5f dmb sy * \brief Exit atomic section */ void atomic_leave_critical(hal_atomic_t volatile *atomic) { __DMB(); __set_PRIMASK(*atomic); - 14e2: 6803 ldr r3, [r0, #0] + 14ca: 6803 ldr r3, [r0, #0] __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); - 14e4: f383 8810 msr PRIMASK, r3 - 14e8: 4770 bx lr + 14cc: f383 8810 msr PRIMASK, r3 + 14d0: 4770 bx lr ... -000014ec : +000014d4 : /** * \brief Initialize Delay driver */ void delay_init(void *const hw) { - 14ec: b508 push {r3, lr} + 14d4: b508 push {r3, lr} _delay_init(hardware = hw); - 14ee: 4b02 ldr r3, [pc, #8] ; (14f8 ) - 14f0: 6018 str r0, [r3, #0] - 14f2: 4b02 ldr r3, [pc, #8] ; (14fc ) - 14f4: 4798 blx r3 - 14f6: bd08 pop {r3, pc} - 14f8: 200000c4 .word 0x200000c4 - 14fc: 00001b89 .word 0x00001b89 + 14d6: 4b02 ldr r3, [pc, #8] ; (14e0 ) + 14d8: 6018 str r0, [r3, #0] + 14da: 4b02 ldr r3, [pc, #8] ; (14e4 ) + 14dc: 4798 blx r3 + 14de: bd08 pop {r3, pc} + 14e0: 200000c4 .word 0x200000c4 + 14e4: 00001b71 .word 0x00001b71 -00001500 : +000014e8 : /** * \brief Perform delay in us */ void delay_us(const uint16_t us) { - 1500: b510 push {r4, lr} + 14e8: b510 push {r4, lr} _delay_cycles(hardware, _get_cycles_for_us(us)); - 1502: 4b04 ldr r3, [pc, #16] ; (1514 ) - 1504: 681c ldr r4, [r3, #0] - 1506: 4b04 ldr r3, [pc, #16] ; (1518 ) - 1508: 4798 blx r3 - 150a: 4601 mov r1, r0 - 150c: 4620 mov r0, r4 - 150e: 4b03 ldr r3, [pc, #12] ; (151c ) - 1510: 4798 blx r3 - 1512: bd10 pop {r4, pc} - 1514: 200000c4 .word 0x200000c4 - 1518: 00001b51 .word 0x00001b51 - 151c: 00001b91 .word 0x00001b91 - -00001520 : + 14ea: 4b04 ldr r3, [pc, #16] ; (14fc ) + 14ec: 681c ldr r4, [r3, #0] + 14ee: 4b04 ldr r3, [pc, #16] ; (1500 ) + 14f0: 4798 blx r3 + 14f2: 4601 mov r1, r0 + 14f4: 4620 mov r0, r4 + 14f6: 4b03 ldr r3, [pc, #12] ; (1504 ) + 14f8: 4798 blx r3 + 14fa: bd10 pop {r4, pc} + 14fc: 200000c4 .word 0x200000c4 + 1500: 00001b39 .word 0x00001b39 + 1504: 00001b79 .word 0x00001b79 + +00001508 : /** * \brief Perform delay in ms */ void delay_ms(const uint16_t ms) { - 1520: b510 push {r4, lr} + 1508: b510 push {r4, lr} _delay_cycles(hardware, _get_cycles_for_ms(ms)); - 1522: 4b04 ldr r3, [pc, #16] ; (1534 ) - 1524: 681c ldr r4, [r3, #0] - 1526: 4b04 ldr r3, [pc, #16] ; (1538 ) - 1528: 4798 blx r3 - 152a: 4601 mov r1, r0 - 152c: 4620 mov r0, r4 - 152e: 4b03 ldr r3, [pc, #12] ; (153c ) - 1530: 4798 blx r3 - 1532: bd10 pop {r4, pc} - 1534: 200000c4 .word 0x200000c4 - 1538: 00001b69 .word 0x00001b69 - 153c: 00001b91 .word 0x00001b91 - -00001540 : + 150a: 4b04 ldr r3, [pc, #16] ; (151c ) + 150c: 681c ldr r4, [r3, #0] + 150e: 4b04 ldr r3, [pc, #16] ; (1520 ) + 1510: 4798 blx r3 + 1512: 4601 mov r1, r0 + 1514: 4620 mov r0, r4 + 1516: 4b03 ldr r3, [pc, #12] ; (1524 ) + 1518: 4798 blx r3 + 151a: bd10 pop {r4, pc} + 151c: 200000c4 .word 0x200000c4 + 1520: 00001b51 .word 0x00001b51 + 1524: 00001b79 .word 0x00001b79 + +00001528 : /** * \brief I/O write interface */ int32_t io_write(struct io_descriptor *const io_descr, const uint8_t *const buf, const uint16_t length) { - 1540: b570 push {r4, r5, r6, lr} - 1542: 460d mov r5, r1 - 1544: 4616 mov r6, r2 + 1528: b570 push {r4, r5, r6, lr} + 152a: 460d mov r5, r1 + 152c: 4616 mov r6, r2 ASSERT(io_descr && buf); - 1546: 4604 mov r4, r0 - 1548: b160 cbz r0, 1564 - 154a: 1c08 adds r0, r1, #0 - 154c: bf18 it ne - 154e: 2001 movne r0, #1 - 1550: 2234 movs r2, #52 ; 0x34 - 1552: 4905 ldr r1, [pc, #20] ; (1568 ) - 1554: 4b05 ldr r3, [pc, #20] ; (156c ) - 1556: 4798 blx r3 + 152e: 4604 mov r4, r0 + 1530: b160 cbz r0, 154c + 1532: 1c08 adds r0, r1, #0 + 1534: bf18 it ne + 1536: 2001 movne r0, #1 + 1538: 2234 movs r2, #52 ; 0x34 + 153a: 4905 ldr r1, [pc, #20] ; (1550 ) + 153c: 4b05 ldr r3, [pc, #20] ; (1554 ) + 153e: 4798 blx r3 return io_descr->write(io_descr, buf, length); - 1558: 6823 ldr r3, [r4, #0] - 155a: 4632 mov r2, r6 - 155c: 4629 mov r1, r5 - 155e: 4620 mov r0, r4 - 1560: 4798 blx r3 -} - 1562: bd70 pop {r4, r5, r6, pc} - 1564: 2000 movs r0, #0 - 1566: e7f3 b.n 1550 - 1568: 0001b54c .word 0x0001b54c - 156c: 000019d5 .word 0x000019d5 - -00001570 : + 1540: 6823 ldr r3, [r4, #0] + 1542: 4632 mov r2, r6 + 1544: 4629 mov r1, r5 + 1546: 4620 mov r0, r4 + 1548: 4798 blx r3 +} + 154a: bd70 pop {r4, r5, r6, pc} + 154c: 2000 movs r0, #0 + 154e: e7f3 b.n 1538 + 1550: 0001b534 .word 0x0001b534 + 1554: 000019bd .word 0x000019bd + +00001558 : * \param[in] head The pointer to the head of timer task list * \param[in] task The pointer to task to add * \param[in] time Current timer time */ static void timer_add_timer_task(struct list_descriptor *list, struct timer_task *const new_task, const uint32_t time) { - 1570: b5f8 push {r3, r4, r5, r6, r7, lr} - 1572: 4684 mov ip, r0 + 1558: b5f8 push {r3, r4, r5, r6, r7, lr} + 155a: 4684 mov ip, r0 * \return A pointer to the head of the given list or NULL if the list is * empty */ static inline void *list_get_head(const struct list_descriptor *const list) { return (void *)list->head; - 1574: 6807 ldr r7, [r0, #0] + 155c: 6807 ldr r7, [r0, #0] struct timer_task *it, *prev = NULL, *head = (struct timer_task *)list_get_head(list); if (!head) { - 1576: b12f cbz r7, 1584 + 155e: b12f cbz r7, 156c if (it->time_label <= time) { time_left = it->interval - (time - it->time_label); } else { time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; } if (time_left >= new_task->interval) - 1578: 688d ldr r5, [r1, #8] - 157a: 463c mov r4, r7 - 157c: 2600 movs r6, #0 + 1560: 688d ldr r5, [r1, #8] + 1562: 463c mov r4, r7 + 1564: 2600 movs r6, #0 time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; - 157e: f1c2 0e01 rsb lr, r2, #1 - 1582: e00b b.n 159c + 1566: f1c2 0e01 rsb lr, r2, #1 + 156a: e00b b.n 1584 list_insert_as_head(list, new_task); - 1584: 4b0e ldr r3, [pc, #56] ; (15c0 ) - 1586: 4798 blx r3 + 156c: 4b0e ldr r3, [pc, #56] ; (15a8 ) + 156e: 4798 blx r3 return; - 1588: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1570: bdf8 pop {r3, r4, r5, r6, r7, pc} time_left = it->interval - (0xFFFFFFFF - it->time_label) - time; - 158a: 4473 add r3, lr - 158c: 68a0 ldr r0, [r4, #8] - 158e: 4403 add r3, r0 + 1572: 4473 add r3, lr + 1574: 68a0 ldr r0, [r4, #8] + 1576: 4403 add r3, r0 if (time_left >= new_task->interval) - 1590: 42ab cmp r3, r5 - 1592: d20a bcs.n 15aa + 1578: 42ab cmp r3, r5 + 157a: d20a bcs.n 1592 * \return A pointer to the next list element or NULL if there is not next * element */ static inline void *list_get_next_element(const void *const element) { return element ? ((struct list_element *)element)->next : NULL; - 1594: 6823 ldr r3, [r4, #0] - 1596: 4626 mov r6, r4 + 157c: 6823 ldr r3, [r4, #0] + 157e: 4626 mov r6, r4 for (it = head; it; it = (struct timer_task *)list_get_next_element(it)) { - 1598: b153 cbz r3, 15b0 - 159a: 461c mov r4, r3 + 1580: b153 cbz r3, 1598 + 1582: 461c mov r4, r3 if (it->time_label <= time) { - 159c: 6863 ldr r3, [r4, #4] - 159e: 4293 cmp r3, r2 - 15a0: d8f3 bhi.n 158a + 1584: 6863 ldr r3, [r4, #4] + 1586: 4293 cmp r3, r2 + 1588: d8f3 bhi.n 1572 time_left = it->interval - (time - it->time_label); - 15a2: 68a0 ldr r0, [r4, #8] - 15a4: 4403 add r3, r0 - 15a6: 1a9b subs r3, r3, r2 - 15a8: e7f2 b.n 1590 + 158a: 68a0 ldr r0, [r4, #8] + 158c: 4403 add r3, r0 + 158e: 1a9b subs r3, r3, r2 + 1590: e7f2 b.n 1578 break; prev = it; } if (it == head) { - 15aa: 42a7 cmp r7, r4 - 15ac: d004 beq.n 15b8 - 15ae: 4634 mov r4, r6 + 1592: 42a7 cmp r7, r4 + 1594: d004 beq.n 15a0 + 1596: 4634 mov r4, r6 list_insert_as_head(list, new_task); } else { list_insert_after(prev, new_task); - 15b0: 4620 mov r0, r4 - 15b2: 4b04 ldr r3, [pc, #16] ; (15c4 ) - 15b4: 4798 blx r3 - 15b6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1598: 4620 mov r0, r4 + 159a: 4b04 ldr r3, [pc, #16] ; (15ac ) + 159c: 4798 blx r3 + 159e: bdf8 pop {r3, r4, r5, r6, r7, pc} list_insert_as_head(list, new_task); - 15b8: 4660 mov r0, ip - 15ba: 4b01 ldr r3, [pc, #4] ; (15c0 ) - 15bc: 4798 blx r3 - 15be: bdf8 pop {r3, r4, r5, r6, r7, pc} - 15c0: 000019fd .word 0x000019fd - 15c4: 00001a29 .word 0x00001a29 + 15a0: 4660 mov r0, ip + 15a2: 4b01 ldr r3, [pc, #4] ; (15a8 ) + 15a4: 4798 blx r3 + 15a6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 15a8: 000019e5 .word 0x000019e5 + 15ac: 00001a11 .word 0x00001a11 -000015c8 : +000015b0 : /** * \internal Process interrupts */ static void timer_process_counted(struct _timer_device *device) { - 15c8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 15b0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} return (void *)list->head; - 15cc: 6944 ldr r4, [r0, #20] + 15b4: 6944 ldr r4, [r0, #20] struct timer_descriptor *timer = CONTAINER_OF(device, struct timer_descriptor, device); struct timer_task * it = (struct timer_task *)list_get_head(&timer->tasks); uint32_t time = ++timer->time; - 15ce: 6907 ldr r7, [r0, #16] - 15d0: 3701 adds r7, #1 - 15d2: 6107 str r7, [r0, #16] + 15b6: 6907 ldr r7, [r0, #16] + 15b8: 3701 adds r7, #1 + 15ba: 6107 str r7, [r0, #16] if ((timer->flags & TIMER_FLAG_QUEUE_IS_TAKEN) || (timer->flags & TIMER_FLAG_INTERRUPT_TRIGERRED)) { - 15d4: 7e03 ldrb r3, [r0, #24] - 15d6: f013 0f01 tst.w r3, #1 - 15da: d113 bne.n 1604 - 15dc: 7e03 ldrb r3, [r0, #24] - 15de: f013 0f02 tst.w r3, #2 - 15e2: d10f bne.n 1604 + 15bc: 7e03 ldrb r3, [r0, #24] + 15be: f013 0f01 tst.w r3, #1 + 15c2: d113 bne.n 15ec + 15c4: 7e03 ldrb r3, [r0, #24] + 15c6: f013 0f02 tst.w r3, #2 + 15ca: d10f bne.n 15ec timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED; return; } while (it && ((time - it->time_label) >= it->interval)) { - 15e4: b354 cbz r4, 163c - 15e6: 6863 ldr r3, [r4, #4] - 15e8: 1afb subs r3, r7, r3 - 15ea: 68a2 ldr r2, [r4, #8] - 15ec: 4293 cmp r3, r2 - 15ee: d307 bcc.n 1600 - 15f0: 4606 mov r6, r0 + 15cc: b354 cbz r4, 1624 + 15ce: 6863 ldr r3, [r4, #4] + 15d0: 1afb subs r3, r7, r3 + 15d2: 68a2 ldr r2, [r4, #8] + 15d4: 4293 cmp r3, r2 + 15d6: d307 bcc.n 15e8 + 15d8: 4606 mov r6, r0 struct timer_task *tmp = it; list_remove_head(&timer->tasks); - 15f2: f100 0814 add.w r8, r0, #20 - 15f6: f8df 9048 ldr.w r9, [pc, #72] ; 1640 + 15da: f100 0814 add.w r8, r0, #20 + 15de: f8df 9048 ldr.w r9, [pc, #72] ; 1628 if (TIMER_TASK_REPEAT == tmp->mode) { tmp->time_label = time; timer_add_timer_task(&timer->tasks, tmp, time); - 15fa: f8df a048 ldr.w sl, [pc, #72] ; 1644 - 15fe: e012 b.n 1626 - 1600: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 15e2: f8df a048 ldr.w sl, [pc, #72] ; 162c + 15e6: e012 b.n 160e + 15e8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} timer->flags |= TIMER_FLAG_INTERRUPT_TRIGERRED; - 1604: 7e03 ldrb r3, [r0, #24] - 1606: f043 0302 orr.w r3, r3, #2 - 160a: 7603 strb r3, [r0, #24] + 15ec: 7e03 ldrb r3, [r0, #24] + 15ee: f043 0302 orr.w r3, r3, #2 + 15f2: 7603 strb r3, [r0, #24] return; - 160c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1610: 6975 ldr r5, [r6, #20] + 15f4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 15f8: 6975 ldr r5, [r6, #20] } it = (struct timer_task *)list_get_head(&timer->tasks); tmp->cb(tmp); - 1612: 68e3 ldr r3, [r4, #12] - 1614: 4620 mov r0, r4 - 1616: 4798 blx r3 + 15fa: 68e3 ldr r3, [r4, #12] + 15fc: 4620 mov r0, r4 + 15fe: 4798 blx r3 while (it && ((time - it->time_label) >= it->interval)) { - 1618: b185 cbz r5, 163c + 1600: b185 cbz r5, 1624 it = (struct timer_task *)list_get_head(&timer->tasks); - 161a: 462c mov r4, r5 + 1602: 462c mov r4, r5 while (it && ((time - it->time_label) >= it->interval)) { - 161c: 686b ldr r3, [r5, #4] - 161e: 1afb subs r3, r7, r3 - 1620: 68aa ldr r2, [r5, #8] - 1622: 4293 cmp r3, r2 - 1624: d30a bcc.n 163c + 1604: 686b ldr r3, [r5, #4] + 1606: 1afb subs r3, r7, r3 + 1608: 68aa ldr r2, [r5, #8] + 160a: 4293 cmp r3, r2 + 160c: d30a bcc.n 1624 list_remove_head(&timer->tasks); - 1626: 4640 mov r0, r8 - 1628: 47c8 blx r9 + 160e: 4640 mov r0, r8 + 1610: 47c8 blx r9 if (TIMER_TASK_REPEAT == tmp->mode) { - 162a: 7c23 ldrb r3, [r4, #16] - 162c: 2b01 cmp r3, #1 - 162e: d1ef bne.n 1610 + 1612: 7c23 ldrb r3, [r4, #16] + 1614: 2b01 cmp r3, #1 + 1616: d1ef bne.n 15f8 tmp->time_label = time; - 1630: 6067 str r7, [r4, #4] + 1618: 6067 str r7, [r4, #4] timer_add_timer_task(&timer->tasks, tmp, time); - 1632: 463a mov r2, r7 - 1634: 4621 mov r1, r4 - 1636: 4640 mov r0, r8 - 1638: 47d0 blx sl - 163a: e7e9 b.n 1610 - 163c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1640: 00001a31 .word 0x00001a31 - 1644: 00001571 .word 0x00001571 - -00001648 : -{ - 1648: b538 push {r3, r4, r5, lr} - 164a: 460d mov r5, r1 + 161a: 463a mov r2, r7 + 161c: 4621 mov r1, r4 + 161e: 4640 mov r0, r8 + 1620: 47d0 blx sl + 1622: e7e9 b.n 15f8 + 1624: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1628: 00001a19 .word 0x00001a19 + 162c: 00001559 .word 0x00001559 + +00001630 : +{ + 1630: b538 push {r3, r4, r5, lr} + 1632: 460d mov r5, r1 ASSERT(descr && hw); - 164c: 4604 mov r4, r0 - 164e: b178 cbz r0, 1670 - 1650: 1c08 adds r0, r1, #0 - 1652: bf18 it ne - 1654: 2001 movne r0, #1 - 1656: 223b movs r2, #59 ; 0x3b - 1658: 4906 ldr r1, [pc, #24] ; (1674 ) - 165a: 4b07 ldr r3, [pc, #28] ; (1678 ) - 165c: 4798 blx r3 + 1634: 4604 mov r4, r0 + 1636: b178 cbz r0, 1658 + 1638: 1c08 adds r0, r1, #0 + 163a: bf18 it ne + 163c: 2001 movne r0, #1 + 163e: 223b movs r2, #59 ; 0x3b + 1640: 4906 ldr r1, [pc, #24] ; (165c ) + 1642: 4b07 ldr r3, [pc, #28] ; (1660 ) + 1644: 4798 blx r3 _timer_init(&descr->device, hw); - 165e: 4629 mov r1, r5 - 1660: 4620 mov r0, r4 - 1662: 4b06 ldr r3, [pc, #24] ; (167c ) - 1664: 4798 blx r3 + 1646: 4629 mov r1, r5 + 1648: 4620 mov r0, r4 + 164a: 4b06 ldr r3, [pc, #24] ; (1664 ) + 164c: 4798 blx r3 descr->time = 0; - 1666: 2000 movs r0, #0 - 1668: 6120 str r0, [r4, #16] + 164e: 2000 movs r0, #0 + 1650: 6120 str r0, [r4, #16] descr->device.timer_cb.period_expired = timer_process_counted; - 166a: 4b05 ldr r3, [pc, #20] ; (1680 ) - 166c: 6023 str r3, [r4, #0] + 1652: 4b05 ldr r3, [pc, #20] ; (1668 ) + 1654: 6023 str r3, [r4, #0] } - 166e: bd38 pop {r3, r4, r5, pc} - 1670: 2000 movs r0, #0 - 1672: e7f0 b.n 1656 - 1674: 0001b560 .word 0x0001b560 - 1678: 000019d5 .word 0x000019d5 - 167c: 00001f7d .word 0x00001f7d - 1680: 000015c9 .word 0x000015c9 + 1656: bd38 pop {r3, r4, r5, pc} + 1658: 2000 movs r0, #0 + 165a: e7f0 b.n 163e + 165c: 0001b548 .word 0x0001b548 + 1660: 000019bd .word 0x000019bd + 1664: 00001f65 .word 0x00001f65 + 1668: 000015b1 .word 0x000015b1 -00001684 : +0000166c : { - 1684: b510 push {r4, lr} + 166c: b510 push {r4, lr} ASSERT(descr); - 1686: 4604 mov r4, r0 - 1688: 2253 movs r2, #83 ; 0x53 - 168a: 4909 ldr r1, [pc, #36] ; (16b0 ) - 168c: 3000 adds r0, #0 - 168e: bf18 it ne - 1690: 2001 movne r0, #1 - 1692: 4b08 ldr r3, [pc, #32] ; (16b4 ) - 1694: 4798 blx r3 + 166e: 4604 mov r4, r0 + 1670: 2253 movs r2, #83 ; 0x53 + 1672: 4909 ldr r1, [pc, #36] ; (1698 ) + 1674: 3000 adds r0, #0 + 1676: bf18 it ne + 1678: 2001 movne r0, #1 + 167a: 4b08 ldr r3, [pc, #32] ; (169c ) + 167c: 4798 blx r3 if (_timer_is_started(&descr->device)) { - 1696: 4620 mov r0, r4 - 1698: 4b07 ldr r3, [pc, #28] ; (16b8 ) - 169a: 4798 blx r3 - 169c: b920 cbnz r0, 16a8 + 167e: 4620 mov r0, r4 + 1680: 4b07 ldr r3, [pc, #28] ; (16a0 ) + 1682: 4798 blx r3 + 1684: b920 cbnz r0, 1690 _timer_start(&descr->device); - 169e: 4620 mov r0, r4 - 16a0: 4b06 ldr r3, [pc, #24] ; (16bc ) - 16a2: 4798 blx r3 + 1686: 4620 mov r0, r4 + 1688: 4b06 ldr r3, [pc, #24] ; (16a4 ) + 168a: 4798 blx r3 return ERR_NONE; - 16a4: 2000 movs r0, #0 - 16a6: bd10 pop {r4, pc} + 168c: 2000 movs r0, #0 + 168e: bd10 pop {r4, pc} return ERR_DENIED; - 16a8: f06f 0010 mvn.w r0, #16 + 1690: f06f 0010 mvn.w r0, #16 } - 16ac: bd10 pop {r4, pc} - 16ae: bf00 nop - 16b0: 0001b560 .word 0x0001b560 - 16b4: 000019d5 .word 0x000019d5 - 16b8: 00002139 .word 0x00002139 - 16bc: 00002125 .word 0x00002125 + 1694: bd10 pop {r4, pc} + 1696: bf00 nop + 1698: 0001b548 .word 0x0001b548 + 169c: 000019bd .word 0x000019bd + 16a0: 00002121 .word 0x00002121 + 16a4: 0000210d .word 0x0000210d -000016c0 : +000016a8 : { - 16c0: b570 push {r4, r5, r6, lr} - 16c2: b082 sub sp, #8 - 16c4: 460d mov r5, r1 + 16a8: b570 push {r4, r5, r6, lr} + 16aa: b082 sub sp, #8 + 16ac: 460d mov r5, r1 ASSERT(descr && task); - 16c6: 4604 mov r4, r0 - 16c8: b318 cbz r0, 1712 - 16ca: 1c08 adds r0, r1, #0 - 16cc: bf18 it ne - 16ce: 2001 movne r0, #1 - 16d0: 227a movs r2, #122 ; 0x7a - 16d2: 491e ldr r1, [pc, #120] ; (174c ) - 16d4: 4b1e ldr r3, [pc, #120] ; (1750 ) - 16d6: 4798 blx r3 + 16ae: 4604 mov r4, r0 + 16b0: b318 cbz r0, 16fa + 16b2: 1c08 adds r0, r1, #0 + 16b4: bf18 it ne + 16b6: 2001 movne r0, #1 + 16b8: 227a movs r2, #122 ; 0x7a + 16ba: 491e ldr r1, [pc, #120] ; (1734 ) + 16bc: 4b1e ldr r3, [pc, #120] ; (1738 ) + 16be: 4798 blx r3 descr->flags |= TIMER_FLAG_QUEUE_IS_TAKEN; - 16d8: 7e23 ldrb r3, [r4, #24] - 16da: f043 0301 orr.w r3, r3, #1 - 16de: 7623 strb r3, [r4, #24] + 16c0: 7e23 ldrb r3, [r4, #24] + 16c2: f043 0301 orr.w r3, r3, #1 + 16c6: 7623 strb r3, [r4, #24] if (is_list_element(&descr->tasks, task)) { - 16e0: f104 0614 add.w r6, r4, #20 - 16e4: 4629 mov r1, r5 - 16e6: 4630 mov r0, r6 - 16e8: 4b1a ldr r3, [pc, #104] ; (1754 ) - 16ea: 4798 blx r3 - 16ec: b998 cbnz r0, 1716 + 16c8: f104 0614 add.w r6, r4, #20 + 16cc: 4629 mov r1, r5 + 16ce: 4630 mov r0, r6 + 16d0: 4b1a ldr r3, [pc, #104] ; (173c ) + 16d2: 4798 blx r3 + 16d4: b998 cbnz r0, 16fe task->time_label = descr->time; - 16ee: 6923 ldr r3, [r4, #16] - 16f0: 606b str r3, [r5, #4] + 16d6: 6923 ldr r3, [r4, #16] + 16d8: 606b str r3, [r5, #4] timer_add_timer_task(&descr->tasks, task, descr->time); - 16f2: 6922 ldr r2, [r4, #16] - 16f4: 4629 mov r1, r5 - 16f6: 4630 mov r0, r6 - 16f8: 4b17 ldr r3, [pc, #92] ; (1758 ) - 16fa: 4798 blx r3 + 16da: 6922 ldr r2, [r4, #16] + 16dc: 4629 mov r1, r5 + 16de: 4630 mov r0, r6 + 16e0: 4b17 ldr r3, [pc, #92] ; (1740 ) + 16e2: 4798 blx r3 descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - 16fc: 7e23 ldrb r3, [r4, #24] - 16fe: f003 03fe and.w r3, r3, #254 ; 0xfe - 1702: 7623 strb r3, [r4, #24] + 16e4: 7e23 ldrb r3, [r4, #24] + 16e6: f003 03fe and.w r3, r3, #254 ; 0xfe + 16ea: 7623 strb r3, [r4, #24] if (descr->flags & TIMER_FLAG_INTERRUPT_TRIGERRED) { - 1704: 7e23 ldrb r3, [r4, #24] - 1706: f013 0f02 tst.w r3, #2 - 170a: d110 bne.n 172e + 16ec: 7e23 ldrb r3, [r4, #24] + 16ee: f013 0f02 tst.w r3, #2 + 16f2: d110 bne.n 1716 return ERR_NONE; - 170c: 2000 movs r0, #0 + 16f4: 2000 movs r0, #0 } - 170e: b002 add sp, #8 - 1710: bd70 pop {r4, r5, r6, pc} - 1712: 2000 movs r0, #0 - 1714: e7dc b.n 16d0 + 16f6: b002 add sp, #8 + 16f8: bd70 pop {r4, r5, r6, pc} + 16fa: 2000 movs r0, #0 + 16fc: e7dc b.n 16b8 descr->flags &= ~TIMER_FLAG_QUEUE_IS_TAKEN; - 1716: 7e23 ldrb r3, [r4, #24] - 1718: f003 03fe and.w r3, r3, #254 ; 0xfe - 171c: 7623 strb r3, [r4, #24] + 16fe: 7e23 ldrb r3, [r4, #24] + 1700: f003 03fe and.w r3, r3, #254 ; 0xfe + 1704: 7623 strb r3, [r4, #24] ASSERT(false); - 171e: 227f movs r2, #127 ; 0x7f - 1720: 490a ldr r1, [pc, #40] ; (174c ) - 1722: 2000 movs r0, #0 - 1724: 4b0a ldr r3, [pc, #40] ; (1750 ) - 1726: 4798 blx r3 + 1706: 227f movs r2, #127 ; 0x7f + 1708: 490a ldr r1, [pc, #40] ; (1734 ) + 170a: 2000 movs r0, #0 + 170c: 4b0a ldr r3, [pc, #40] ; (1738 ) + 170e: 4798 blx r3 return ERR_ALREADY_INITIALIZED; - 1728: f06f 0011 mvn.w r0, #17 - 172c: e7ef b.n 170e + 1710: f06f 0011 mvn.w r0, #17 + 1714: e7ef b.n 16f6 CRITICAL_SECTION_ENTER() - 172e: a801 add r0, sp, #4 - 1730: 4b0a ldr r3, [pc, #40] ; (175c ) - 1732: 4798 blx r3 + 1716: a801 add r0, sp, #4 + 1718: 4b0a ldr r3, [pc, #40] ; (1744 ) + 171a: 4798 blx r3 descr->flags &= ~TIMER_FLAG_INTERRUPT_TRIGERRED; - 1734: 7e23 ldrb r3, [r4, #24] - 1736: f003 03fd and.w r3, r3, #253 ; 0xfd - 173a: 7623 strb r3, [r4, #24] + 171c: 7e23 ldrb r3, [r4, #24] + 171e: f003 03fd and.w r3, r3, #253 ; 0xfd + 1722: 7623 strb r3, [r4, #24] _timer_set_irq(&descr->device); - 173c: 4620 mov r0, r4 - 173e: 4b08 ldr r3, [pc, #32] ; (1760 ) - 1740: 4798 blx r3 + 1724: 4620 mov r0, r4 + 1726: 4b08 ldr r3, [pc, #32] ; (1748 ) + 1728: 4798 blx r3 CRITICAL_SECTION_LEAVE() - 1742: a801 add r0, sp, #4 - 1744: 4b07 ldr r3, [pc, #28] ; (1764 ) - 1746: 4798 blx r3 + 172a: a801 add r0, sp, #4 + 172c: 4b07 ldr r3, [pc, #28] ; (174c ) + 172e: 4798 blx r3 return ERR_NONE; - 1748: 2000 movs r0, #0 - 174a: e7e0 b.n 170e - 174c: 0001b560 .word 0x0001b560 - 1750: 000019d5 .word 0x000019d5 - 1754: 000019db .word 0x000019db - 1758: 00001571 .word 0x00001571 - 175c: 000014d1 .word 0x000014d1 - 1760: 00002151 .word 0x00002151 - 1764: 000014df .word 0x000014df - -00001768 : + 1730: 2000 movs r0, #0 + 1732: e7e0 b.n 16f6 + 1734: 0001b548 .word 0x0001b548 + 1738: 000019bd .word 0x000019bd + 173c: 000019c3 .word 0x000019c3 + 1740: 00001559 .word 0x00001559 + 1744: 000014b9 .word 0x000014b9 + 1748: 00002139 .word 0x00002139 + 174c: 000014c7 .word 0x000014c7 + +00001750 : * \brief Process completion of data sending * * \param[in] device The pointer to device structure */ static void usart_transmission_complete(struct _usart_async_device *device) { - 1768: b508 push {r3, lr} + 1750: b508 push {r3, lr} struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); descr->stat = 0; - 176a: 2300 movs r3, #0 - 176c: 6283 str r3, [r0, #40] ; 0x28 + 1752: 2300 movs r3, #0 + 1754: 6283 str r3, [r0, #40] ; 0x28 if (descr->usart_cb.tx_done) { - 176e: 69c3 ldr r3, [r0, #28] - 1770: b11b cbz r3, 177a - 1772: f1a0 0208 sub.w r2, r0, #8 + 1756: 69c3 ldr r3, [r0, #28] + 1758: b11b cbz r3, 1762 + 175a: f1a0 0208 sub.w r2, r0, #8 descr->usart_cb.tx_done(descr); - 1776: 4610 mov r0, r2 - 1778: 4798 blx r3 - 177a: bd08 pop {r3, pc} + 175e: 4610 mov r0, r2 + 1760: 4798 blx r3 + 1762: bd08 pop {r3, pc} -0000177c : +00001764 : * \brief Process error interrupt * * \param[in] device The pointer to device structure */ static void usart_error(struct _usart_async_device *device) { - 177c: b508 push {r3, lr} + 1764: b508 push {r3, lr} struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); descr->stat = 0; - 177e: 2300 movs r3, #0 - 1780: 6283 str r3, [r0, #40] ; 0x28 + 1766: 2300 movs r3, #0 + 1768: 6283 str r3, [r0, #40] ; 0x28 if (descr->usart_cb.error) { - 1782: 6a43 ldr r3, [r0, #36] ; 0x24 - 1784: b11b cbz r3, 178e - 1786: f1a0 0208 sub.w r2, r0, #8 + 176a: 6a43 ldr r3, [r0, #36] ; 0x24 + 176c: b11b cbz r3, 1776 + 176e: f1a0 0208 sub.w r2, r0, #8 descr->usart_cb.error(descr); - 178a: 4610 mov r0, r2 - 178c: 4798 blx r3 - 178e: bd08 pop {r3, pc} + 1772: 4610 mov r0, r2 + 1774: 4798 blx r3 + 1776: bd08 pop {r3, pc} -00001790 : +00001778 : { - 1790: b538 push {r3, r4, r5, lr} - 1792: 4604 mov r4, r0 + 1778: b538 push {r3, r4, r5, lr} + 177a: 4604 mov r4, r0 struct usart_async_descriptor *descr = CONTAINER_OF(device, struct usart_async_descriptor, device); - 1794: f1a0 0508 sub.w r5, r0, #8 + 177c: f1a0 0508 sub.w r5, r0, #8 ringbuffer_put(&descr->rx, data); - 1798: 302c adds r0, #44 ; 0x2c - 179a: 4b03 ldr r3, [pc, #12] ; (17a8 ) - 179c: 4798 blx r3 + 1780: 302c adds r0, #44 ; 0x2c + 1782: 4b03 ldr r3, [pc, #12] ; (1790 ) + 1784: 4798 blx r3 if (descr->usart_cb.rx_done) { - 179e: 6a23 ldr r3, [r4, #32] - 17a0: b10b cbz r3, 17a6 + 1786: 6a23 ldr r3, [r4, #32] + 1788: b10b cbz r3, 178e descr->usart_cb.rx_done(descr); - 17a2: 4628 mov r0, r5 - 17a4: 4798 blx r3 - 17a6: bd38 pop {r3, r4, r5, pc} - 17a8: 00001ad1 .word 0x00001ad1 + 178a: 4628 mov r0, r5 + 178c: 4798 blx r3 + 178e: bd38 pop {r3, r4, r5, pc} + 1790: 00001ab9 .word 0x00001ab9 -000017ac : +00001794 : { - 17ac: b570 push {r4, r5, r6, lr} - 17ae: 460e mov r6, r1 - 17b0: 4615 mov r5, r2 + 1794: b570 push {r4, r5, r6, lr} + 1796: 460e mov r6, r1 + 1798: 4615 mov r5, r2 ASSERT(descr && buf && length); - 17b2: 4604 mov r4, r0 - 17b4: b1e0 cbz r0, 17f0 - 17b6: b1e9 cbz r1, 17f4 - 17b8: 1c10 adds r0, r2, #0 - 17ba: bf18 it ne - 17bc: 2001 movne r0, #1 - 17be: f240 123b movw r2, #315 ; 0x13b - 17c2: 490f ldr r1, [pc, #60] ; (1800 ) - 17c4: 4b0f ldr r3, [pc, #60] ; (1804 ) - 17c6: 4798 blx r3 + 179a: 4604 mov r4, r0 + 179c: b1e0 cbz r0, 17d8 + 179e: b1e9 cbz r1, 17dc + 17a0: 1c10 adds r0, r2, #0 + 17a2: bf18 it ne + 17a4: 2001 movne r0, #1 + 17a6: f240 123b movw r2, #315 ; 0x13b + 17aa: 490f ldr r1, [pc, #60] ; (17e8 ) + 17ac: 4b0f ldr r3, [pc, #60] ; (17ec ) + 17ae: 4798 blx r3 if (descr->tx_por != descr->tx_buffer_length) { - 17c8: f8b4 2044 ldrh.w r2, [r4, #68] ; 0x44 - 17cc: f8b4 304c ldrh.w r3, [r4, #76] ; 0x4c - 17d0: 429a cmp r2, r3 - 17d2: d111 bne.n 17f8 + 17b0: f8b4 2044 ldrh.w r2, [r4, #68] ; 0x44 + 17b4: f8b4 304c ldrh.w r3, [r4, #76] ; 0x4c + 17b8: 429a cmp r2, r3 + 17ba: d111 bne.n 17e0 descr->tx_buffer = (uint8_t *)buf; - 17d4: 64a6 str r6, [r4, #72] ; 0x48 + 17bc: 64a6 str r6, [r4, #72] ; 0x48 descr->tx_buffer_length = length; - 17d6: f8a4 504c strh.w r5, [r4, #76] ; 0x4c + 17be: f8a4 504c strh.w r5, [r4, #76] ; 0x4c descr->tx_por = 0; - 17da: 2300 movs r3, #0 - 17dc: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 + 17c2: 2300 movs r3, #0 + 17c4: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 descr->stat = USART_ASYNC_STATUS_BUSY; - 17e0: 2301 movs r3, #1 - 17e2: 6323 str r3, [r4, #48] ; 0x30 + 17c8: 2301 movs r3, #1 + 17ca: 6323 str r3, [r4, #48] ; 0x30 _usart_async_enable_byte_sent_irq(&descr->device); - 17e4: f104 0008 add.w r0, r4, #8 - 17e8: 4b07 ldr r3, [pc, #28] ; (1808 ) - 17ea: 4798 blx r3 + 17cc: f104 0008 add.w r0, r4, #8 + 17d0: 4b07 ldr r3, [pc, #28] ; (17f0 ) + 17d2: 4798 blx r3 return (int32_t)length; - 17ec: 4628 mov r0, r5 - 17ee: bd70 pop {r4, r5, r6, pc} + 17d4: 4628 mov r0, r5 + 17d6: bd70 pop {r4, r5, r6, pc} ASSERT(descr && buf && length); - 17f0: 2000 movs r0, #0 - 17f2: e7e4 b.n 17be - 17f4: 2000 movs r0, #0 - 17f6: e7e2 b.n 17be + 17d8: 2000 movs r0, #0 + 17da: e7e4 b.n 17a6 + 17dc: 2000 movs r0, #0 + 17de: e7e2 b.n 17a6 return ERR_NO_RESOURCE; - 17f8: f06f 001b mvn.w r0, #27 + 17e0: f06f 001b mvn.w r0, #27 } - 17fc: bd70 pop {r4, r5, r6, pc} - 17fe: bf00 nop - 1800: 0001b578 .word 0x0001b578 - 1804: 000019d5 .word 0x000019d5 - 1808: 00001ebb .word 0x00001ebb + 17e4: bd70 pop {r4, r5, r6, pc} + 17e6: bf00 nop + 17e8: 0001b560 .word 0x0001b560 + 17ec: 000019bd .word 0x000019bd + 17f0: 00001ea3 .word 0x00001ea3 -0000180c : +000017f4 : { - 180c: b510 push {r4, lr} - 180e: 4604 mov r4, r0 + 17f4: b510 push {r4, lr} + 17f6: 4604 mov r4, r0 if (descr->tx_por != descr->tx_buffer_length) { - 1810: 8f83 ldrh r3, [r0, #60] ; 0x3c - 1812: f8b0 2044 ldrh.w r2, [r0, #68] ; 0x44 - 1816: 429a cmp r2, r3 - 1818: d009 beq.n 182e + 17f8: 8f83 ldrh r3, [r0, #60] ; 0x3c + 17fa: f8b0 2044 ldrh.w r2, [r0, #68] ; 0x44 + 17fe: 429a cmp r2, r3 + 1800: d009 beq.n 1816 _usart_async_write_byte(&descr->device, descr->tx_buffer[descr->tx_por++]); - 181a: 6c02 ldr r2, [r0, #64] ; 0x40 - 181c: 1c59 adds r1, r3, #1 - 181e: 8781 strh r1, [r0, #60] ; 0x3c - 1820: 5cd1 ldrb r1, [r2, r3] - 1822: 4b04 ldr r3, [pc, #16] ; (1834 ) - 1824: 4798 blx r3 + 1802: 6c02 ldr r2, [r0, #64] ; 0x40 + 1804: 1c59 adds r1, r3, #1 + 1806: 8781 strh r1, [r0, #60] ; 0x3c + 1808: 5cd1 ldrb r1, [r2, r3] + 180a: 4b04 ldr r3, [pc, #16] ; (181c ) + 180c: 4798 blx r3 _usart_async_enable_byte_sent_irq(&descr->device); - 1826: 4620 mov r0, r4 - 1828: 4b03 ldr r3, [pc, #12] ; (1838 ) - 182a: 4798 blx r3 - 182c: bd10 pop {r4, pc} + 180e: 4620 mov r0, r4 + 1810: 4b03 ldr r3, [pc, #12] ; (1820 ) + 1812: 4798 blx r3 + 1814: bd10 pop {r4, pc} _usart_async_enable_tx_done_irq(&descr->device); - 182e: 4b03 ldr r3, [pc, #12] ; (183c ) - 1830: 4798 blx r3 - 1832: bd10 pop {r4, pc} - 1834: 00001eb5 .word 0x00001eb5 - 1838: 00001ebb .word 0x00001ebb - 183c: 00001ec3 .word 0x00001ec3 - -00001840 : -{ - 1840: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 1844: b082 sub sp, #8 - 1846: 460f mov r7, r1 - 1848: 4690 mov r8, r2 + 1816: 4b03 ldr r3, [pc, #12] ; (1824 ) + 1818: 4798 blx r3 + 181a: bd10 pop {r4, pc} + 181c: 00001e9d .word 0x00001e9d + 1820: 00001ea3 .word 0x00001ea3 + 1824: 00001eab .word 0x00001eab + +00001828 : +{ + 1828: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 182c: b082 sub sp, #8 + 182e: 460f mov r7, r1 + 1830: 4690 mov r8, r2 ASSERT(descr && buf && length); - 184a: 4606 mov r6, r0 - 184c: b1a0 cbz r0, 1878 - 184e: b199 cbz r1, 1878 - 1850: 2a00 cmp r2, #0 - 1852: d12d bne.n 18b0 - 1854: f44f 72ac mov.w r2, #344 ; 0x158 - 1858: 4929 ldr r1, [pc, #164] ; (1900 ) - 185a: 2000 movs r0, #0 - 185c: 4b29 ldr r3, [pc, #164] ; (1904 ) - 185e: 4798 blx r3 + 1832: 4606 mov r6, r0 + 1834: b1a0 cbz r0, 1860 + 1836: b199 cbz r1, 1860 + 1838: 2a00 cmp r2, #0 + 183a: d12d bne.n 1898 + 183c: f44f 72ac mov.w r2, #344 ; 0x158 + 1840: 4929 ldr r1, [pc, #164] ; (18e8 ) + 1842: 2000 movs r0, #0 + 1844: 4b29 ldr r3, [pc, #164] ; (18ec ) + 1846: 4798 blx r3 CRITICAL_SECTION_ENTER() - 1860: a801 add r0, sp, #4 - 1862: 4b29 ldr r3, [pc, #164] ; (1908 ) - 1864: 4798 blx r3 + 1848: a801 add r0, sp, #4 + 184a: 4b29 ldr r3, [pc, #164] ; (18f0 ) + 184c: 4798 blx r3 num = ringbuffer_num(&descr->rx); - 1866: f106 0034 add.w r0, r6, #52 ; 0x34 - 186a: 4b28 ldr r3, [pc, #160] ; (190c ) - 186c: 4798 blx r3 + 184e: f106 0034 add.w r0, r6, #52 ; 0x34 + 1852: 4b28 ldr r3, [pc, #160] ; (18f4 ) + 1854: 4798 blx r3 CRITICAL_SECTION_LEAVE() - 186e: a801 add r0, sp, #4 - 1870: 4b27 ldr r3, [pc, #156] ; (1910 ) - 1872: 4798 blx r3 + 1856: a801 add r0, sp, #4 + 1858: 4b27 ldr r3, [pc, #156] ; (18f8 ) + 185a: 4798 blx r3 uint16_t was_read = 0; - 1874: 2500 movs r5, #0 + 185c: 2500 movs r5, #0 return (int32_t)was_read; - 1876: e03e b.n 18f6 + 185e: e03e b.n 18de ASSERT(descr && buf && length); - 1878: f44f 72ac mov.w r2, #344 ; 0x158 - 187c: 4920 ldr r1, [pc, #128] ; (1900 ) - 187e: 2000 movs r0, #0 - 1880: 4b20 ldr r3, [pc, #128] ; (1904 ) - 1882: 4798 blx r3 + 1860: f44f 72ac mov.w r2, #344 ; 0x158 + 1864: 4920 ldr r1, [pc, #128] ; (18e8 ) + 1866: 2000 movs r0, #0 + 1868: 4b20 ldr r3, [pc, #128] ; (18ec ) + 186a: 4798 blx r3 CRITICAL_SECTION_ENTER() - 1884: a801 add r0, sp, #4 - 1886: 4b20 ldr r3, [pc, #128] ; (1908 ) - 1888: 4798 blx r3 + 186c: a801 add r0, sp, #4 + 186e: 4b20 ldr r3, [pc, #128] ; (18f0 ) + 1870: 4798 blx r3 num = ringbuffer_num(&descr->rx); - 188a: f106 0a34 add.w sl, r6, #52 ; 0x34 - 188e: 4650 mov r0, sl - 1890: 4b1e ldr r3, [pc, #120] ; (190c ) - 1892: 4798 blx r3 - 1894: 4681 mov r9, r0 + 1872: f106 0a34 add.w sl, r6, #52 ; 0x34 + 1876: 4650 mov r0, sl + 1878: 4b1e ldr r3, [pc, #120] ; (18f4 ) + 187a: 4798 blx r3 + 187c: 4681 mov r9, r0 CRITICAL_SECTION_LEAVE() - 1896: a801 add r0, sp, #4 - 1898: 4b1d ldr r3, [pc, #116] ; (1910 ) - 189a: 4798 blx r3 + 187e: a801 add r0, sp, #4 + 1880: 4b1d ldr r3, [pc, #116] ; (18f8 ) + 1882: 4798 blx r3 while ((was_read < num) && (was_read < length)) { - 189c: f1b9 0f00 cmp.w r9, #0 - 18a0: d004 beq.n 18ac - 18a2: f1b8 0f00 cmp.w r8, #0 - 18a6: d119 bne.n 18dc + 1884: f1b9 0f00 cmp.w r9, #0 + 1888: d004 beq.n 1894 + 188a: f1b8 0f00 cmp.w r8, #0 + 188e: d119 bne.n 18c4 uint16_t was_read = 0; - 18a8: 2500 movs r5, #0 - 18aa: e024 b.n 18f6 - 18ac: 2500 movs r5, #0 - 18ae: e022 b.n 18f6 + 1890: 2500 movs r5, #0 + 1892: e024 b.n 18de + 1894: 2500 movs r5, #0 + 1896: e022 b.n 18de ASSERT(descr && buf && length); - 18b0: f44f 72ac mov.w r2, #344 ; 0x158 - 18b4: 4912 ldr r1, [pc, #72] ; (1900 ) - 18b6: 2001 movs r0, #1 - 18b8: 4b12 ldr r3, [pc, #72] ; (1904 ) - 18ba: 4798 blx r3 + 1898: f44f 72ac mov.w r2, #344 ; 0x158 + 189c: 4912 ldr r1, [pc, #72] ; (18e8 ) + 189e: 2001 movs r0, #1 + 18a0: 4b12 ldr r3, [pc, #72] ; (18ec ) + 18a2: 4798 blx r3 CRITICAL_SECTION_ENTER() - 18bc: a801 add r0, sp, #4 - 18be: 4b12 ldr r3, [pc, #72] ; (1908 ) - 18c0: 4798 blx r3 + 18a4: a801 add r0, sp, #4 + 18a6: 4b12 ldr r3, [pc, #72] ; (18f0 ) + 18a8: 4798 blx r3 num = ringbuffer_num(&descr->rx); - 18c2: f106 0a34 add.w sl, r6, #52 ; 0x34 - 18c6: 4650 mov r0, sl - 18c8: 4b10 ldr r3, [pc, #64] ; (190c ) - 18ca: 4798 blx r3 - 18cc: 4681 mov r9, r0 + 18aa: f106 0a34 add.w sl, r6, #52 ; 0x34 + 18ae: 4650 mov r0, sl + 18b0: 4b10 ldr r3, [pc, #64] ; (18f4 ) + 18b2: 4798 blx r3 + 18b4: 4681 mov r9, r0 CRITICAL_SECTION_LEAVE() - 18ce: a801 add r0, sp, #4 - 18d0: 4b0f ldr r3, [pc, #60] ; (1910 ) - 18d2: 4798 blx r3 + 18b6: a801 add r0, sp, #4 + 18b8: 4b0f ldr r3, [pc, #60] ; (18f8 ) + 18ba: 4798 blx r3 uint16_t was_read = 0; - 18d4: 2500 movs r5, #0 + 18bc: 2500 movs r5, #0 while ((was_read < num) && (was_read < length)) { - 18d6: f1b9 0f00 cmp.w r9, #0 - 18da: d00c beq.n 18f6 + 18be: f1b9 0f00 cmp.w r9, #0 + 18c2: d00c beq.n 18de { - 18dc: 2400 movs r4, #0 + 18c4: 2400 movs r4, #0 ringbuffer_get(&descr->rx, &buf[was_read++]); - 18de: 4e0d ldr r6, [pc, #52] ; (1914 ) - 18e0: 1c60 adds r0, r4, #1 - 18e2: b285 uxth r5, r0 - 18e4: 1939 adds r1, r7, r4 - 18e6: 4650 mov r0, sl - 18e8: 47b0 blx r6 - 18ea: 3401 adds r4, #1 + 18c6: 4e0d ldr r6, [pc, #52] ; (18fc ) + 18c8: 1c60 adds r0, r4, #1 + 18ca: b285 uxth r5, r0 + 18cc: 1939 adds r1, r7, r4 + 18ce: 4650 mov r0, sl + 18d0: 47b0 blx r6 + 18d2: 3401 adds r4, #1 while ((was_read < num) && (was_read < length)) { - 18ec: 454c cmp r4, r9 - 18ee: d202 bcs.n 18f6 - 18f0: b2a3 uxth r3, r4 - 18f2: 4598 cmp r8, r3 - 18f4: d8f4 bhi.n 18e0 -} - 18f6: 4628 mov r0, r5 - 18f8: b002 add sp, #8 - 18fa: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 18fe: bf00 nop - 1900: 0001b578 .word 0x0001b578 - 1904: 000019d5 .word 0x000019d5 - 1908: 000014d1 .word 0x000014d1 - 190c: 00001b11 .word 0x00001b11 - 1910: 000014df .word 0x000014df - 1914: 00001a8d .word 0x00001a8d - -00001918 : -{ - 1918: b5f8 push {r3, r4, r5, r6, r7, lr} - 191a: 460d mov r5, r1 - 191c: 4616 mov r6, r2 - 191e: 461f mov r7, r3 + 18d4: 454c cmp r4, r9 + 18d6: d202 bcs.n 18de + 18d8: b2a3 uxth r3, r4 + 18da: 4598 cmp r8, r3 + 18dc: d8f4 bhi.n 18c8 +} + 18de: 4628 mov r0, r5 + 18e0: b002 add sp, #8 + 18e2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 18e6: bf00 nop + 18e8: 0001b560 .word 0x0001b560 + 18ec: 000019bd .word 0x000019bd + 18f0: 000014b9 .word 0x000014b9 + 18f4: 00001af9 .word 0x00001af9 + 18f8: 000014c7 .word 0x000014c7 + 18fc: 00001a75 .word 0x00001a75 + +00001900 : +{ + 1900: b5f8 push {r3, r4, r5, r6, r7, lr} + 1902: 460d mov r5, r1 + 1904: 4616 mov r6, r2 + 1906: 461f mov r7, r3 ASSERT(descr && hw && rx_buffer && rx_buffer_length); - 1920: 4604 mov r4, r0 - 1922: b320 cbz r0, 196e - 1924: b329 cbz r1, 1972 - 1926: b332 cbz r2, 1976 - 1928: 1c18 adds r0, r3, #0 - 192a: bf18 it ne - 192c: 2001 movne r0, #1 - 192e: 223a movs r2, #58 ; 0x3a - 1930: 4913 ldr r1, [pc, #76] ; (1980 ) - 1932: 4b14 ldr r3, [pc, #80] ; (1984 ) - 1934: 4798 blx r3 + 1908: 4604 mov r4, r0 + 190a: b320 cbz r0, 1956 + 190c: b329 cbz r1, 195a + 190e: b332 cbz r2, 195e + 1910: 1c18 adds r0, r3, #0 + 1912: bf18 it ne + 1914: 2001 movne r0, #1 + 1916: 223a movs r2, #58 ; 0x3a + 1918: 4913 ldr r1, [pc, #76] ; (1968 ) + 191a: 4b14 ldr r3, [pc, #80] ; (196c ) + 191c: 4798 blx r3 if (ERR_NONE != ringbuffer_init(&descr->rx, rx_buffer, rx_buffer_length)) { - 1936: 463a mov r2, r7 - 1938: 4631 mov r1, r6 - 193a: f104 0034 add.w r0, r4, #52 ; 0x34 - 193e: 4b12 ldr r3, [pc, #72] ; (1988 ) - 1940: 4798 blx r3 - 1942: b9d0 cbnz r0, 197a + 191e: 463a mov r2, r7 + 1920: 4631 mov r1, r6 + 1922: f104 0034 add.w r0, r4, #52 ; 0x34 + 1926: 4b12 ldr r3, [pc, #72] ; (1970 ) + 1928: 4798 blx r3 + 192a: b9d0 cbnz r0, 1962 init_status = _usart_async_init(&descr->device, hw); - 1944: 4629 mov r1, r5 - 1946: f104 0008 add.w r0, r4, #8 - 194a: 4b10 ldr r3, [pc, #64] ; (198c ) - 194c: 4798 blx r3 + 192c: 4629 mov r1, r5 + 192e: f104 0008 add.w r0, r4, #8 + 1932: 4b10 ldr r3, [pc, #64] ; (1974 ) + 1934: 4798 blx r3 if (init_status) { - 194e: 4603 mov r3, r0 - 1950: b958 cbnz r0, 196a + 1936: 4603 mov r3, r0 + 1938: b958 cbnz r0, 1952 descr->io.read = usart_async_read; - 1952: 4a0f ldr r2, [pc, #60] ; (1990 ) - 1954: 6062 str r2, [r4, #4] + 193a: 4a0f ldr r2, [pc, #60] ; (1978 ) + 193c: 6062 str r2, [r4, #4] descr->io.write = usart_async_write; - 1956: 4a0f ldr r2, [pc, #60] ; (1994 ) - 1958: 6022 str r2, [r4, #0] + 193e: 4a0f ldr r2, [pc, #60] ; (197c ) + 1940: 6022 str r2, [r4, #0] descr->device.usart_cb.tx_byte_sent = usart_process_byte_sent; - 195a: 4a0f ldr r2, [pc, #60] ; (1998 ) - 195c: 60a2 str r2, [r4, #8] + 1942: 4a0f ldr r2, [pc, #60] ; (1980 ) + 1944: 60a2 str r2, [r4, #8] descr->device.usart_cb.rx_done_cb = usart_fill_rx_buffer; - 195e: 4a0f ldr r2, [pc, #60] ; (199c ) - 1960: 60e2 str r2, [r4, #12] + 1946: 4a0f ldr r2, [pc, #60] ; (1984 ) + 1948: 60e2 str r2, [r4, #12] descr->device.usart_cb.tx_done_cb = usart_transmission_complete; - 1962: 4a0f ldr r2, [pc, #60] ; (19a0 ) - 1964: 6122 str r2, [r4, #16] + 194a: 4a0f ldr r2, [pc, #60] ; (1988 ) + 194c: 6122 str r2, [r4, #16] descr->device.usart_cb.error_cb = usart_error; - 1966: 4a0f ldr r2, [pc, #60] ; (19a4 ) - 1968: 6162 str r2, [r4, #20] + 194e: 4a0f ldr r2, [pc, #60] ; (198c ) + 1950: 6162 str r2, [r4, #20] } - 196a: 4618 mov r0, r3 - 196c: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1952: 4618 mov r0, r3 + 1954: bdf8 pop {r3, r4, r5, r6, r7, pc} ASSERT(descr && hw && rx_buffer && rx_buffer_length); - 196e: 2000 movs r0, #0 - 1970: e7dd b.n 192e - 1972: 2000 movs r0, #0 - 1974: e7db b.n 192e - 1976: 2000 movs r0, #0 - 1978: e7d9 b.n 192e + 1956: 2000 movs r0, #0 + 1958: e7dd b.n 1916 + 195a: 2000 movs r0, #0 + 195c: e7db b.n 1916 + 195e: 2000 movs r0, #0 + 1960: e7d9 b.n 1916 return ERR_INVALID_ARG; - 197a: f06f 030c mvn.w r3, #12 - 197e: e7f4 b.n 196a - 1980: 0001b578 .word 0x0001b578 - 1984: 000019d5 .word 0x000019d5 - 1988: 00001a3d .word 0x00001a3d - 198c: 00001e1d .word 0x00001e1d - 1990: 00001841 .word 0x00001841 - 1994: 000017ad .word 0x000017ad - 1998: 0000180d .word 0x0000180d - 199c: 00001791 .word 0x00001791 - 19a0: 00001769 .word 0x00001769 - 19a4: 0000177d .word 0x0000177d - -000019a8 : -{ - 19a8: b510 push {r4, lr} + 1962: f06f 030c mvn.w r3, #12 + 1966: e7f4 b.n 1952 + 1968: 0001b560 .word 0x0001b560 + 196c: 000019bd .word 0x000019bd + 1970: 00001a25 .word 0x00001a25 + 1974: 00001e05 .word 0x00001e05 + 1978: 00001829 .word 0x00001829 + 197c: 00001795 .word 0x00001795 + 1980: 000017f5 .word 0x000017f5 + 1984: 00001779 .word 0x00001779 + 1988: 00001751 .word 0x00001751 + 198c: 00001765 .word 0x00001765 + +00001990 : +{ + 1990: b510 push {r4, lr} ASSERT(descr); - 19aa: 4604 mov r4, r0 - 19ac: 2261 movs r2, #97 ; 0x61 - 19ae: 4906 ldr r1, [pc, #24] ; (19c8 ) - 19b0: 3000 adds r0, #0 - 19b2: bf18 it ne - 19b4: 2001 movne r0, #1 - 19b6: 4b05 ldr r3, [pc, #20] ; (19cc ) - 19b8: 4798 blx r3 + 1992: 4604 mov r4, r0 + 1994: 2261 movs r2, #97 ; 0x61 + 1996: 4906 ldr r1, [pc, #24] ; (19b0 ) + 1998: 3000 adds r0, #0 + 199a: bf18 it ne + 199c: 2001 movne r0, #1 + 199e: 4b05 ldr r3, [pc, #20] ; (19b4 ) + 19a0: 4798 blx r3 _usart_async_enable(&descr->device); - 19ba: f104 0008 add.w r0, r4, #8 - 19be: 4b04 ldr r3, [pc, #16] ; (19d0 ) - 19c0: 4798 blx r3 -} - 19c2: 2000 movs r0, #0 - 19c4: bd10 pop {r4, pc} - 19c6: bf00 nop - 19c8: 0001b578 .word 0x0001b578 - 19cc: 000019d5 .word 0x000019d5 - 19d0: 00001ea1 .word 0x00001ea1 - -000019d4 : + 19a2: f104 0008 add.w r0, r4, #8 + 19a6: 4b04 ldr r3, [pc, #16] ; (19b8 ) + 19a8: 4798 blx r3 +} + 19aa: 2000 movs r0, #0 + 19ac: bd10 pop {r4, pc} + 19ae: bf00 nop + 19b0: 0001b560 .word 0x0001b560 + 19b4: 000019bd .word 0x000019bd + 19b8: 00001e89 .word 0x00001e89 + +000019bc : /** * \brief Assert function */ void assert(const bool condition, const char *const file, const int line) { if (!(condition)) { - 19d4: b900 cbnz r0, 19d8 + 19bc: b900 cbnz r0, 19c0 __asm("BKPT #0"); - 19d6: be00 bkpt 0x0000 - 19d8: 4770 bx lr + 19be: be00 bkpt 0x0000 + 19c0: 4770 bx lr -000019da : +000019c2 : * \brief Check whether element belongs to list */ bool is_list_element(const struct list_descriptor *const list, const void *const element) { struct list_element *it; for (it = list->head; it; it = it->next) { - 19da: 6803 ldr r3, [r0, #0] - 19dc: b14b cbz r3, 19f2 + 19c2: 6803 ldr r3, [r0, #0] + 19c4: b14b cbz r3, 19da if (it == element) { - 19de: 428b cmp r3, r1 - 19e0: d009 beq.n 19f6 + 19c6: 428b cmp r3, r1 + 19c8: d009 beq.n 19de for (it = list->head; it; it = it->next) { - 19e2: 681b ldr r3, [r3, #0] - 19e4: b11b cbz r3, 19ee + 19ca: 681b ldr r3, [r3, #0] + 19cc: b11b cbz r3, 19d6 if (it == element) { - 19e6: 4299 cmp r1, r3 - 19e8: d1fb bne.n 19e2 + 19ce: 4299 cmp r1, r3 + 19d0: d1fb bne.n 19ca return true; - 19ea: 2001 movs r0, #1 + 19d2: 2001 movs r0, #1 } } return false; } - 19ec: 4770 bx lr + 19d4: 4770 bx lr return false; - 19ee: 2000 movs r0, #0 - 19f0: 4770 bx lr - 19f2: 2000 movs r0, #0 - 19f4: 4770 bx lr + 19d6: 2000 movs r0, #0 + 19d8: 4770 bx lr + 19da: 2000 movs r0, #0 + 19dc: 4770 bx lr return true; - 19f6: 2001 movs r0, #1 - 19f8: 4770 bx lr + 19de: 2001 movs r0, #1 + 19e0: 4770 bx lr ... -000019fc : +000019e4 : /** * \brief Insert an element as list head */ void list_insert_as_head(struct list_descriptor *const list, void *const element) { - 19fc: b538 push {r3, r4, r5, lr} - 19fe: 4604 mov r4, r0 - 1a00: 460d mov r5, r1 + 19e4: b538 push {r3, r4, r5, lr} + 19e6: 4604 mov r4, r0 + 19e8: 460d mov r5, r1 ASSERT(!is_list_element(list, element)); - 1a02: 4b06 ldr r3, [pc, #24] ; (1a1c ) - 1a04: 4798 blx r3 - 1a06: f080 0001 eor.w r0, r0, #1 - 1a0a: 2239 movs r2, #57 ; 0x39 - 1a0c: 4904 ldr r1, [pc, #16] ; (1a20 ) - 1a0e: b2c0 uxtb r0, r0 - 1a10: 4b04 ldr r3, [pc, #16] ; (1a24 ) - 1a12: 4798 blx r3 + 19ea: 4b06 ldr r3, [pc, #24] ; (1a04 ) + 19ec: 4798 blx r3 + 19ee: f080 0001 eor.w r0, r0, #1 + 19f2: 2239 movs r2, #57 ; 0x39 + 19f4: 4904 ldr r1, [pc, #16] ; (1a08 ) + 19f6: b2c0 uxtb r0, r0 + 19f8: 4b04 ldr r3, [pc, #16] ; (1a0c ) + 19fa: 4798 blx r3 ((struct list_element *)element)->next = list->head; - 1a14: 6823 ldr r3, [r4, #0] - 1a16: 602b str r3, [r5, #0] + 19fc: 6823 ldr r3, [r4, #0] + 19fe: 602b str r3, [r5, #0] list->head = (struct list_element *)element; - 1a18: 6025 str r5, [r4, #0] - 1a1a: bd38 pop {r3, r4, r5, pc} - 1a1c: 000019db .word 0x000019db - 1a20: 0001b598 .word 0x0001b598 - 1a24: 000019d5 .word 0x000019d5 + 1a00: 6025 str r5, [r4, #0] + 1a02: bd38 pop {r3, r4, r5, pc} + 1a04: 000019c3 .word 0x000019c3 + 1a08: 0001b580 .word 0x0001b580 + 1a0c: 000019bd .word 0x000019bd -00001a28 : +00001a10 : /** * \brief Insert an element after the given list element */ void list_insert_after(void *const after, void *const element) { ((struct list_element *)element)->next = ((struct list_element *)after)->next; - 1a28: 6803 ldr r3, [r0, #0] - 1a2a: 600b str r3, [r1, #0] + 1a10: 6803 ldr r3, [r0, #0] + 1a12: 600b str r3, [r1, #0] ((struct list_element *)after)->next = (struct list_element *)element; - 1a2c: 6001 str r1, [r0, #0] - 1a2e: 4770 bx lr + 1a14: 6001 str r1, [r0, #0] + 1a16: 4770 bx lr -00001a30 : +00001a18 : /** * \brief Removes list head */ void *list_remove_head(struct list_descriptor *const list) { if (list->head) { - 1a30: 6803 ldr r3, [r0, #0] - 1a32: b10b cbz r3, 1a38 + 1a18: 6803 ldr r3, [r0, #0] + 1a1a: b10b cbz r3, 1a20 struct list_element *tmp = list->head; list->head = list->head->next; - 1a34: 681a ldr r2, [r3, #0] - 1a36: 6002 str r2, [r0, #0] + 1a1c: 681a ldr r2, [r3, #0] + 1a1e: 6002 str r2, [r0, #0] return (void *)tmp; } return NULL; } - 1a38: 4618 mov r0, r3 - 1a3a: 4770 bx lr + 1a20: 4618 mov r0, r3 + 1a22: 4770 bx lr -00001a3c : +00001a24 : /** * \brief Ringbuffer init */ int32_t ringbuffer_init(struct ringbuffer *const rb, void *buf, uint32_t size) { - 1a3c: b570 push {r4, r5, r6, lr} - 1a3e: 460e mov r6, r1 - 1a40: 4615 mov r5, r2 + 1a24: b570 push {r4, r5, r6, lr} + 1a26: 460e mov r6, r1 + 1a28: 4615 mov r5, r2 ASSERT(rb && buf && size); - 1a42: 4604 mov r4, r0 - 1a44: b178 cbz r0, 1a66 - 1a46: b181 cbz r1, 1a6a - 1a48: b1a2 cbz r2, 1a74 - 1a4a: 2001 movs r0, #1 - 1a4c: 2228 movs r2, #40 ; 0x28 - 1a4e: 490d ldr r1, [pc, #52] ; (1a84 ) - 1a50: 4b0d ldr r3, [pc, #52] ; (1a88 ) - 1a52: 4798 blx r3 + 1a2a: 4604 mov r4, r0 + 1a2c: b178 cbz r0, 1a4e + 1a2e: b181 cbz r1, 1a52 + 1a30: b1a2 cbz r2, 1a5c + 1a32: 2001 movs r0, #1 + 1a34: 2228 movs r2, #40 ; 0x28 + 1a36: 490d ldr r1, [pc, #52] ; (1a6c ) + 1a38: 4b0d ldr r3, [pc, #52] ; (1a70 ) + 1a3a: 4798 blx r3 /* * buf size must be aligned to power of 2 */ if ((size & (size - 1)) != 0) { - 1a54: 1e6b subs r3, r5, #1 - 1a56: 421d tst r5, r3 - 1a58: d109 bne.n 1a6e + 1a3c: 1e6b subs r3, r5, #1 + 1a3e: 421d tst r5, r3 + 1a40: d109 bne.n 1a56 return ERR_INVALID_ARG; } /* size - 1 is faster in calculation */ rb->size = size - 1; - 1a5a: 6063 str r3, [r4, #4] + 1a42: 6063 str r3, [r4, #4] rb->read_index = 0; - 1a5c: 2000 movs r0, #0 - 1a5e: 60a0 str r0, [r4, #8] + 1a44: 2000 movs r0, #0 + 1a46: 60a0 str r0, [r4, #8] rb->write_index = rb->read_index; - 1a60: 60e0 str r0, [r4, #12] + 1a48: 60e0 str r0, [r4, #12] rb->buf = (uint8_t *)buf; - 1a62: 6026 str r6, [r4, #0] + 1a4a: 6026 str r6, [r4, #0] return ERR_NONE; - 1a64: bd70 pop {r4, r5, r6, pc} + 1a4c: bd70 pop {r4, r5, r6, pc} ASSERT(rb && buf && size); - 1a66: 2000 movs r0, #0 - 1a68: e7f0 b.n 1a4c - 1a6a: 2000 movs r0, #0 - 1a6c: e7ee b.n 1a4c + 1a4e: 2000 movs r0, #0 + 1a50: e7f0 b.n 1a34 + 1a52: 2000 movs r0, #0 + 1a54: e7ee b.n 1a34 return ERR_INVALID_ARG; - 1a6e: f06f 000c mvn.w r0, #12 - 1a72: bd70 pop {r4, r5, r6, pc} + 1a56: f06f 000c mvn.w r0, #12 + 1a5a: bd70 pop {r4, r5, r6, pc} ASSERT(rb && buf && size); - 1a74: 2228 movs r2, #40 ; 0x28 - 1a76: 4903 ldr r1, [pc, #12] ; (1a84 ) - 1a78: 2000 movs r0, #0 - 1a7a: 4b03 ldr r3, [pc, #12] ; (1a88 ) - 1a7c: 4798 blx r3 + 1a5c: 2228 movs r2, #40 ; 0x28 + 1a5e: 4903 ldr r1, [pc, #12] ; (1a6c ) + 1a60: 2000 movs r0, #0 + 1a62: 4b03 ldr r3, [pc, #12] ; (1a70 ) + 1a64: 4798 blx r3 if ((size & (size - 1)) != 0) { - 1a7e: 1e6b subs r3, r5, #1 - 1a80: e7eb b.n 1a5a - 1a82: bf00 nop - 1a84: 0001b5b8 .word 0x0001b5b8 - 1a88: 000019d5 .word 0x000019d5 + 1a66: 1e6b subs r3, r5, #1 + 1a68: e7eb b.n 1a42 + 1a6a: bf00 nop + 1a6c: 0001b5a0 .word 0x0001b5a0 + 1a70: 000019bd .word 0x000019bd -00001a8c : +00001a74 : /** * \brief Get one byte from ringbuffer * */ int32_t ringbuffer_get(struct ringbuffer *const rb, uint8_t *data) { - 1a8c: b538 push {r3, r4, r5, lr} - 1a8e: 460d mov r5, r1 + 1a74: b538 push {r3, r4, r5, lr} + 1a76: 460d mov r5, r1 ASSERT(rb && data); - 1a90: 4604 mov r4, r0 - 1a92: b1a0 cbz r0, 1abe - 1a94: 1c08 adds r0, r1, #0 - 1a96: bf18 it ne - 1a98: 2001 movne r0, #1 - 1a9a: 2240 movs r2, #64 ; 0x40 - 1a9c: 490a ldr r1, [pc, #40] ; (1ac8 ) - 1a9e: 4b0b ldr r3, [pc, #44] ; (1acc ) - 1aa0: 4798 blx r3 + 1a78: 4604 mov r4, r0 + 1a7a: b1a0 cbz r0, 1aa6 + 1a7c: 1c08 adds r0, r1, #0 + 1a7e: bf18 it ne + 1a80: 2001 movne r0, #1 + 1a82: 2240 movs r2, #64 ; 0x40 + 1a84: 490a ldr r1, [pc, #40] ; (1ab0 ) + 1a86: 4b0b ldr r3, [pc, #44] ; (1ab4 ) + 1a88: 4798 blx r3 if (rb->write_index != rb->read_index) { - 1aa2: 68a3 ldr r3, [r4, #8] - 1aa4: 68e2 ldr r2, [r4, #12] - 1aa6: 429a cmp r2, r3 - 1aa8: d00b beq.n 1ac2 + 1a8a: 68a3 ldr r3, [r4, #8] + 1a8c: 68e2 ldr r2, [r4, #12] + 1a8e: 429a cmp r2, r3 + 1a90: d00b beq.n 1aaa *data = rb->buf[rb->read_index & rb->size]; - 1aaa: 6862 ldr r2, [r4, #4] - 1aac: 4013 ands r3, r2 - 1aae: 6822 ldr r2, [r4, #0] - 1ab0: 5cd3 ldrb r3, [r2, r3] - 1ab2: 702b strb r3, [r5, #0] + 1a92: 6862 ldr r2, [r4, #4] + 1a94: 4013 ands r3, r2 + 1a96: 6822 ldr r2, [r4, #0] + 1a98: 5cd3 ldrb r3, [r2, r3] + 1a9a: 702b strb r3, [r5, #0] rb->read_index++; - 1ab4: 68a3 ldr r3, [r4, #8] - 1ab6: 3301 adds r3, #1 - 1ab8: 60a3 str r3, [r4, #8] + 1a9c: 68a3 ldr r3, [r4, #8] + 1a9e: 3301 adds r3, #1 + 1aa0: 60a3 str r3, [r4, #8] return ERR_NONE; - 1aba: 2000 movs r0, #0 - 1abc: bd38 pop {r3, r4, r5, pc} - 1abe: 2000 movs r0, #0 - 1ac0: e7eb b.n 1a9a + 1aa2: 2000 movs r0, #0 + 1aa4: bd38 pop {r3, r4, r5, pc} + 1aa6: 2000 movs r0, #0 + 1aa8: e7eb b.n 1a82 } return ERR_NOT_FOUND; - 1ac2: f06f 0009 mvn.w r0, #9 + 1aaa: f06f 0009 mvn.w r0, #9 } - 1ac6: bd38 pop {r3, r4, r5, pc} - 1ac8: 0001b5b8 .word 0x0001b5b8 - 1acc: 000019d5 .word 0x000019d5 + 1aae: bd38 pop {r3, r4, r5, pc} + 1ab0: 0001b5a0 .word 0x0001b5a0 + 1ab4: 000019bd .word 0x000019bd -00001ad0 : +00001ab8 : /** * \brief Put one byte to ringbuffer * */ int32_t ringbuffer_put(struct ringbuffer *const rb, uint8_t data) { - 1ad0: b538 push {r3, r4, r5, lr} - 1ad2: 460d mov r5, r1 + 1ab8: b538 push {r3, r4, r5, lr} + 1aba: 460d mov r5, r1 ASSERT(rb); - 1ad4: 4604 mov r4, r0 - 1ad6: 2251 movs r2, #81 ; 0x51 - 1ad8: 490b ldr r1, [pc, #44] ; (1b08 ) - 1ada: 3000 adds r0, #0 - 1adc: bf18 it ne - 1ade: 2001 movne r0, #1 - 1ae0: 4b0a ldr r3, [pc, #40] ; (1b0c ) - 1ae2: 4798 blx r3 + 1abc: 4604 mov r4, r0 + 1abe: 2251 movs r2, #81 ; 0x51 + 1ac0: 490b ldr r1, [pc, #44] ; (1af0 ) + 1ac2: 3000 adds r0, #0 + 1ac4: bf18 it ne + 1ac6: 2001 movne r0, #1 + 1ac8: 4b0a ldr r3, [pc, #40] ; (1af4 ) + 1aca: 4798 blx r3 rb->buf[rb->write_index & rb->size] = data; - 1ae4: 68e3 ldr r3, [r4, #12] - 1ae6: 6862 ldr r2, [r4, #4] - 1ae8: 4013 ands r3, r2 - 1aea: 6822 ldr r2, [r4, #0] - 1aec: 54d5 strb r5, [r2, r3] + 1acc: 68e3 ldr r3, [r4, #12] + 1ace: 6862 ldr r2, [r4, #4] + 1ad0: 4013 ands r3, r2 + 1ad2: 6822 ldr r2, [r4, #0] + 1ad4: 54d5 strb r5, [r2, r3] /* * buffer full strategy: new data will overwrite the oldest data in * the buffer */ if ((rb->write_index - rb->read_index) > rb->size) { - 1aee: 68e3 ldr r3, [r4, #12] - 1af0: 6861 ldr r1, [r4, #4] - 1af2: 68a2 ldr r2, [r4, #8] - 1af4: 1a9a subs r2, r3, r2 - 1af6: 428a cmp r2, r1 + 1ad6: 68e3 ldr r3, [r4, #12] + 1ad8: 6861 ldr r1, [r4, #4] + 1ada: 68a2 ldr r2, [r4, #8] + 1adc: 1a9a subs r2, r3, r2 + 1ade: 428a cmp r2, r1 rb->read_index = rb->write_index - rb->size; - 1af8: bf84 itt hi - 1afa: 1a59 subhi r1, r3, r1 - 1afc: 60a1 strhi r1, [r4, #8] + 1ae0: bf84 itt hi + 1ae2: 1a59 subhi r1, r3, r1 + 1ae4: 60a1 strhi r1, [r4, #8] } rb->write_index++; - 1afe: 3301 adds r3, #1 - 1b00: 60e3 str r3, [r4, #12] + 1ae6: 3301 adds r3, #1 + 1ae8: 60e3 str r3, [r4, #12] return ERR_NONE; } - 1b02: 2000 movs r0, #0 - 1b04: bd38 pop {r3, r4, r5, pc} - 1b06: bf00 nop - 1b08: 0001b5b8 .word 0x0001b5b8 - 1b0c: 000019d5 .word 0x000019d5 + 1aea: 2000 movs r0, #0 + 1aec: bd38 pop {r3, r4, r5, pc} + 1aee: bf00 nop + 1af0: 0001b5a0 .word 0x0001b5a0 + 1af4: 000019bd .word 0x000019bd -00001b10 : +00001af8 : /** * \brief Return the element number of ringbuffer */ uint32_t ringbuffer_num(const struct ringbuffer *const rb) { - 1b10: b510 push {r4, lr} + 1af8: b510 push {r4, lr} ASSERT(rb); - 1b12: 4604 mov r4, r0 - 1b14: 2267 movs r2, #103 ; 0x67 - 1b16: 4905 ldr r1, [pc, #20] ; (1b2c ) - 1b18: 3000 adds r0, #0 - 1b1a: bf18 it ne - 1b1c: 2001 movne r0, #1 - 1b1e: 4b04 ldr r3, [pc, #16] ; (1b30 ) - 1b20: 4798 blx r3 + 1afa: 4604 mov r4, r0 + 1afc: 2267 movs r2, #103 ; 0x67 + 1afe: 4905 ldr r1, [pc, #20] ; (1b14 ) + 1b00: 3000 adds r0, #0 + 1b02: bf18 it ne + 1b04: 2001 movne r0, #1 + 1b06: 4b04 ldr r3, [pc, #16] ; (1b18 ) + 1b08: 4798 blx r3 return rb->write_index - rb->read_index; - 1b22: 68e0 ldr r0, [r4, #12] - 1b24: 68a3 ldr r3, [r4, #8] + 1b0a: 68e0 ldr r0, [r4, #12] + 1b0c: 68a3 ldr r3, [r4, #8] } - 1b26: 1ac0 subs r0, r0, r3 - 1b28: bd10 pop {r4, pc} - 1b2a: bf00 nop - 1b2c: 0001b5b8 .word 0x0001b5b8 - 1b30: 000019d5 .word 0x000019d5 + 1b0e: 1ac0 subs r0, r0, r3 + 1b10: bd10 pop {r4, pc} + 1b12: bf00 nop + 1b14: 0001b5a0 .word 0x0001b5a0 + 1b18: 000019bd .word 0x000019bd -00001b34 <_irq_set>: +00001b1c <_irq_set>: */ __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) { if ((int32_t)(IRQn) >= 0) { NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 1b34: 0943 lsrs r3, r0, #5 - 1b36: f000 001f and.w r0, r0, #31 - 1b3a: 2201 movs r2, #1 - 1b3c: fa02 f000 lsl.w r0, r2, r0 - 1b40: 3340 adds r3, #64 ; 0x40 - 1b42: 4a02 ldr r2, [pc, #8] ; (1b4c <_irq_set+0x18>) - 1b44: f842 0023 str.w r0, [r2, r3, lsl #2] - 1b48: 4770 bx lr - 1b4a: bf00 nop - 1b4c: e000e100 .word 0xe000e100 - -00001b50 <_get_cycles_for_us>: + 1b1c: 0943 lsrs r3, r0, #5 + 1b1e: f000 001f and.w r0, r0, #31 + 1b22: 2201 movs r2, #1 + 1b24: fa02 f000 lsl.w r0, r2, r0 + 1b28: 3340 adds r3, #64 ; 0x40 + 1b2a: 4a02 ldr r2, [pc, #8] ; (1b34 <_irq_set+0x18>) + 1b2c: f842 0023 str.w r0, [r2, r3, lsl #2] + 1b30: 4770 bx lr + 1b32: bf00 nop + 1b34: e000e100 .word 0xe000e100 + +00001b38 <_get_cycles_for_us>: */ static inline uint32_t _get_cycles_for_us_internal(const uint16_t us, const uint32_t freq, const uint8_t power) { switch (power) { case 9: return (us * (freq / 1000000) + 2) / 3; - 1b50: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1b54: eb00 1000 add.w r0, r0, r0, lsl #4 - 1b58: 3002 adds r0, #2 - 1b5a: 4b02 ldr r3, [pc, #8] ; (1b64 <_get_cycles_for_us+0x14>) - 1b5c: fba3 3000 umull r3, r0, r3, r0 + 1b38: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1b3c: eb00 1000 add.w r0, r0, r0, lsl #4 + 1b40: 3002 adds r0, #2 + 1b42: 4b02 ldr r3, [pc, #8] ; (1b4c <_get_cycles_for_us+0x14>) + 1b44: fba3 3000 umull r3, r0, r3, r0 * \brief Retrieve the amount of cycles to delay for the given amount of us */ uint32_t _get_cycles_for_us(const uint16_t us) { return _get_cycles_for_us_internal(us, CONF_CPU_FREQUENCY, CPU_FREQ_POWER); } - 1b60: 0840 lsrs r0, r0, #1 - 1b62: 4770 bx lr - 1b64: aaaaaaab .word 0xaaaaaaab + 1b48: 0840 lsrs r0, r0, #1 + 1b4a: 4770 bx lr + 1b4c: aaaaaaab .word 0xaaaaaaab -00001b68 <_get_cycles_for_ms>: +00001b50 <_get_cycles_for_ms>: */ static inline uint32_t _get_cycles_for_ms_internal(const uint16_t ms, const uint32_t freq, const uint8_t power) { switch (power) { case 9: return (ms * (freq / 1000000) + 2) / 3 * 1000; - 1b68: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1b6c: eb00 1000 add.w r0, r0, r0, lsl #4 - 1b70: 3002 adds r0, #2 - 1b72: 4b04 ldr r3, [pc, #16] ; (1b84 <_get_cycles_for_ms+0x1c>) - 1b74: fba3 3000 umull r3, r0, r3, r0 - 1b78: 0840 lsrs r0, r0, #1 + 1b50: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1b54: eb00 1000 add.w r0, r0, r0, lsl #4 + 1b58: 3002 adds r0, #2 + 1b5a: 4b04 ldr r3, [pc, #16] ; (1b6c <_get_cycles_for_ms+0x1c>) + 1b5c: fba3 3000 umull r3, r0, r3, r0 + 1b60: 0840 lsrs r0, r0, #1 * \brief Retrieve the amount of cycles to delay for the given amount of ms */ uint32_t _get_cycles_for_ms(const uint16_t ms) { return _get_cycles_for_ms_internal(ms, CONF_CPU_FREQUENCY, CPU_FREQ_POWER); } - 1b7a: f44f 737a mov.w r3, #1000 ; 0x3e8 - 1b7e: fb03 f000 mul.w r0, r3, r0 - 1b82: 4770 bx lr - 1b84: aaaaaaab .word 0xaaaaaaab + 1b62: f44f 737a mov.w r3, #1000 ; 0x3e8 + 1b66: fb03 f000 mul.w r0, r3, r0 + 1b6a: 4770 bx lr + 1b6c: aaaaaaab .word 0xaaaaaaab -00001b88 <_delay_init>: +00001b70 <_delay_init>: /** * \brief Initialize delay functionality */ void _delay_init(void *const hw) { - 1b88: 4770 bx lr - 1b8a: 0000 movs r0, r0 - 1b8c: 0000 movs r0, r0 + 1b70: 4770 bx lr + 1b72: 0000 movs r0, r0 + 1b74: 0000 movs r0, r0 ... -00001b90 <_delay_cycles>: +00001b78 <_delay_cycles>: __asm(".align 3 \n" "__delay:\n" "subs r1, r1, #1\n" "bhi __delay\n"); #elif defined __GNUC__ __asm(".syntax unified\n" - 1b90: 3901 subs r1, #1 - 1b92: d8fd bhi.n 1b90 <_delay_cycles> - 1b94: 4770 bx lr - 1b96: bf00 nop + 1b78: 3901 subs r1, #1 + 1b7a: d8fd bhi.n 1b78 <_delay_cycles> + 1b7c: 4770 bx lr + 1b7e: bf00 nop -00001b98 <_init_chip>: +00001b80 <_init_chip>: /** * \brief Initialize the hardware abstraction layer */ void _init_chip(void) { - 1b98: b508 push {r3, lr} + 1b80: b508 push {r3, lr} } static inline void hri_nvmctrl_set_CTRLA_RWS_bf(const void *const hw, hri_nvmctrl_ctrla_reg_t mask) { NVMCTRL_CRITICAL_SECTION_ENTER(); ((Nvmctrl *)hw)->CTRLA.reg |= NVMCTRL_CTRLA_RWS(mask); - 1b9a: 4a09 ldr r2, [pc, #36] ; (1bc0 <_init_chip+0x28>) - 1b9c: 8813 ldrh r3, [r2, #0] - 1b9e: b29b uxth r3, r3 - 1ba0: f443 63a0 orr.w r3, r3, #1280 ; 0x500 - 1ba4: 8013 strh r3, [r2, #0] + 1b82: 4a09 ldr r2, [pc, #36] ; (1ba8 <_init_chip+0x28>) + 1b84: 8813 ldrh r3, [r2, #0] + 1b86: b29b uxth r3, r3 + 1b88: f443 63a0 orr.w r3, r3, #1280 ; 0x500 + 1b8c: 8013 strh r3, [r2, #0] hri_nvmctrl_set_CTRLA_RWS_bf(NVMCTRL, CONF_NVM_WAIT_STATE); _osc32kctrl_init_sources(); - 1ba6: 4b07 ldr r3, [pc, #28] ; (1bc4 <_init_chip+0x2c>) - 1ba8: 4798 blx r3 + 1b8e: 4b07 ldr r3, [pc, #28] ; (1bac <_init_chip+0x2c>) + 1b90: 4798 blx r3 _oscctrl_init_sources(); - 1baa: 4b07 ldr r3, [pc, #28] ; (1bc8 <_init_chip+0x30>) - 1bac: 4798 blx r3 + 1b92: 4b07 ldr r3, [pc, #28] ; (1bb0 <_init_chip+0x30>) + 1b94: 4798 blx r3 _mclk_init(); - 1bae: 4b07 ldr r3, [pc, #28] ; (1bcc <_init_chip+0x34>) - 1bb0: 4798 blx r3 + 1b96: 4b07 ldr r3, [pc, #28] ; (1bb4 <_init_chip+0x34>) + 1b98: 4798 blx r3 #if _GCLK_INIT_1ST _gclk_init_generators_by_fref(_GCLK_INIT_1ST); #endif _oscctrl_init_referenced_generators(); - 1bb2: 4b07 ldr r3, [pc, #28] ; (1bd0 <_init_chip+0x38>) - 1bb4: 4798 blx r3 + 1b9a: 4b07 ldr r3, [pc, #28] ; (1bb8 <_init_chip+0x38>) + 1b9c: 4798 blx r3 _gclk_init_generators_by_fref(_GCLK_INIT_LAST); - 1bb6: f640 70ff movw r0, #4095 ; 0xfff - 1bba: 4b06 ldr r3, [pc, #24] ; (1bd4 <_init_chip+0x3c>) - 1bbc: 4798 blx r3 - 1bbe: bd08 pop {r3, pc} - 1bc0: 41004000 .word 0x41004000 - 1bc4: 00001c09 .word 0x00001c09 - 1bc8: 00001c29 .word 0x00001c29 - 1bcc: 00001bfd .word 0x00001bfd - 1bd0: 00001c2d .word 0x00001c2d - 1bd4: 00001bd9 .word 0x00001bd9 - -00001bd8 <_gclk_init_generators_by_fref>: + 1b9e: f640 70ff movw r0, #4095 ; 0xfff + 1ba2: 4b06 ldr r3, [pc, #24] ; (1bbc <_init_chip+0x3c>) + 1ba4: 4798 blx r3 + 1ba6: bd08 pop {r3, pc} + 1ba8: 41004000 .word 0x41004000 + 1bac: 00001bf1 .word 0x00001bf1 + 1bb0: 00001c11 .word 0x00001c11 + 1bb4: 00001be5 .word 0x00001be5 + 1bb8: 00001c15 .word 0x00001c15 + 1bbc: 00001bc1 .word 0x00001bc1 + +00001bc0 <_gclk_init_generators_by_fref>: void _gclk_init_generators_by_fref(uint32_t bm) { #if CONF_GCLK_GENERATOR_0_CONFIG == 1 if (bm & (1ul << 0)) { - 1bd8: f010 0f01 tst.w r0, #1 - 1bdc: d008 beq.n 1bf0 <_gclk_init_generators_by_fref+0x18> + 1bc0: f010 0f01 tst.w r0, #1 + 1bc4: d008 beq.n 1bd8 <_gclk_init_generators_by_fref+0x18> ((Gclk *)hw)->GENCTRL[index].reg = data; - 1bde: 4a05 ldr r2, [pc, #20] ; (1bf4 <_gclk_init_generators_by_fref+0x1c>) - 1be0: 4b05 ldr r3, [pc, #20] ; (1bf8 <_gclk_init_generators_by_fref+0x20>) - 1be2: 621a str r2, [r3, #32] + 1bc6: 4a05 ldr r2, [pc, #20] ; (1bdc <_gclk_init_generators_by_fref+0x1c>) + 1bc8: 4b05 ldr r3, [pc, #20] ; (1be0 <_gclk_init_generators_by_fref+0x20>) + 1bca: 621a str r2, [r3, #32] while (((Gclk *)hw)->SYNCBUSY.reg & reg) { - 1be4: 4619 mov r1, r3 - 1be6: f643 72fd movw r2, #16381 ; 0x3ffd - 1bea: 684b ldr r3, [r1, #4] - 1bec: 4213 tst r3, r2 - 1bee: d1fc bne.n 1bea <_gclk_init_generators_by_fref+0x12> - 1bf0: 4770 bx lr - 1bf2: bf00 nop - 1bf4: 00010107 .word 0x00010107 - 1bf8: 40001c00 .word 0x40001c00 - -00001bfc <_mclk_init>: + 1bcc: 4619 mov r1, r3 + 1bce: f643 72fd movw r2, #16381 ; 0x3ffd + 1bd2: 684b ldr r3, [r1, #4] + 1bd4: 4213 tst r3, r2 + 1bd6: d1fc bne.n 1bd2 <_gclk_init_generators_by_fref+0x12> + 1bd8: 4770 bx lr + 1bda: bf00 nop + 1bdc: 00010107 .word 0x00010107 + 1be0: 40001c00 .word 0x40001c00 + +00001be4 <_mclk_init>: ((Mclk *)hw)->CPUDIV.reg = data; - 1bfc: 2201 movs r2, #1 - 1bfe: 4b01 ldr r3, [pc, #4] ; (1c04 <_mclk_init+0x8>) - 1c00: 715a strb r2, [r3, #5] - 1c02: 4770 bx lr - 1c04: 40000800 .word 0x40000800 + 1be4: 2201 movs r2, #1 + 1be6: 4b01 ldr r3, [pc, #4] ; (1bec <_mclk_init+0x8>) + 1be8: 715a strb r2, [r3, #5] + 1bea: 4770 bx lr + 1bec: 40000800 .word 0x40000800 -00001c08 <_osc32kctrl_init_sources>: +00001bf0 <_osc32kctrl_init_sources>: } static inline void hri_osc32kctrl_write_XOSC32K_reg(const void *const hw, hri_osc32kctrl_xosc32k_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->XOSC32K.reg = data; - 1c08: 4b06 ldr r3, [pc, #24] ; (1c24 <_osc32kctrl_init_sources+0x1c>) - 1c0a: f242 328e movw r2, #9102 ; 0x238e - 1c0e: 829a strh r2, [r3, #20] + 1bf0: 4b06 ldr r3, [pc, #24] ; (1c0c <_osc32kctrl_init_sources+0x1c>) + 1bf2: f242 328e movw r2, #9102 ; 0x238e + 1bf6: 829a strh r2, [r3, #20] } static inline void hri_osc32kctrl_write_CFDCTRL_reg(const void *const hw, hri_osc32kctrl_cfdctrl_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->CFDCTRL.reg = data; - 1c10: 2200 movs r2, #0 - 1c12: 759a strb r2, [r3, #22] + 1bf8: 2200 movs r2, #0 + 1bfa: 759a strb r2, [r3, #22] } static inline void hri_osc32kctrl_write_EVCTRL_reg(const void *const hw, hri_osc32kctrl_evctrl_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->EVCTRL.reg = data; - 1c14: 75da strb r2, [r3, #23] + 1bfc: 75da strb r2, [r3, #23] } static inline hri_osc32kctrl_osculp32k_reg_t hri_osc32kctrl_read_OSCULP32K_CALIB_bf(const void *const hw) { uint32_t tmp; tmp = ((Osc32kctrl *)hw)->OSCULP32K.reg; - 1c16: 69da ldr r2, [r3, #28] + 1bfe: 69da ldr r2, [r3, #28] calib = hri_osc32kctrl_read_OSCULP32K_CALIB_bf(hw); hri_osc32kctrl_write_OSCULP32K_reg(hw, #if CONF_OSCULP32K_CALIB_ENABLE == 1 OSC32KCTRL_OSCULP32K_CALIB(CONF_OSCULP32K_CALIB) #else OSC32KCTRL_OSCULP32K_CALIB(calib) - 1c18: f402 527c and.w r2, r2, #16128 ; 0x3f00 + 1c00: f402 527c and.w r2, r2, #16128 ; 0x3f00 } static inline void hri_osc32kctrl_write_OSCULP32K_reg(const void *const hw, hri_osc32kctrl_osculp32k_reg_t data) { OSC32KCTRL_CRITICAL_SECTION_ENTER(); ((Osc32kctrl *)hw)->OSCULP32K.reg = data; - 1c1c: 61da str r2, [r3, #28] + 1c04: 61da str r2, [r3, #28] ((Osc32kctrl *)hw)->RTCCTRL.reg = data; - 1c1e: 2201 movs r2, #1 - 1c20: 741a strb r2, [r3, #16] - 1c22: 4770 bx lr - 1c24: 40001400 .word 0x40001400 + 1c06: 2201 movs r2, #1 + 1c08: 741a strb r2, [r3, #16] + 1c0a: 4770 bx lr + 1c0c: 40001400 .word 0x40001400 -00001c28 <_oscctrl_init_sources>: +00001c10 <_oscctrl_init_sources>: /** * \brief Initialize clock sources */ void _oscctrl_init_sources(void) { - 1c28: 4770 bx lr + 1c10: 4770 bx lr ... -00001c2c <_oscctrl_init_referenced_generators>: +00001c14 <_oscctrl_init_referenced_generators>: static inline void hri_oscctrl_write_DPLLRATIO_reg(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllratio_reg_t data) { OSCCTRL_CRITICAL_SECTION_ENTER(); ((Oscctrl *)hw)->Dpll[submodule_index].DPLLRATIO.reg = data; - 1c2c: 4a0e ldr r2, [pc, #56] ; (1c68 <_oscctrl_init_referenced_generators+0x3c>) - 1c2e: 4b0f ldr r3, [pc, #60] ; (1c6c <_oscctrl_init_referenced_generators+0x40>) - 1c30: 635a str r2, [r3, #52] ; 0x34 + 1c14: 4a0e ldr r2, [pc, #56] ; (1c50 <_oscctrl_init_referenced_generators+0x3c>) + 1c16: 4b0f ldr r3, [pc, #60] ; (1c54 <_oscctrl_init_referenced_generators+0x40>) + 1c18: 635a str r2, [r3, #52] ; 0x34 while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) { - 1c32: 461a mov r2, r3 - 1c34: 6bd3 ldr r3, [r2, #60] ; 0x3c - 1c36: f013 0f06 tst.w r3, #6 - 1c3a: d1fb bne.n 1c34 <_oscctrl_init_referenced_generators+0x8> + 1c1a: 461a mov r2, r3 + 1c1c: 6bd3 ldr r3, [r2, #60] ; 0x3c + 1c1e: f013 0f06 tst.w r3, #6 + 1c22: d1fb bne.n 1c1c <_oscctrl_init_referenced_generators+0x8> static inline void hri_oscctrl_write_DPLLCTRLB_reg(const void *const hw, uint8_t submodule_index, hri_oscctrl_dpllctrlb_reg_t data) { OSCCTRL_CRITICAL_SECTION_ENTER(); ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLB.reg = data; - 1c3c: 4b0b ldr r3, [pc, #44] ; (1c6c <_oscctrl_init_referenced_generators+0x40>) - 1c3e: f44f 6202 mov.w r2, #2080 ; 0x820 - 1c42: 639a str r2, [r3, #56] ; 0x38 + 1c24: 4b0b ldr r3, [pc, #44] ; (1c54 <_oscctrl_init_referenced_generators+0x40>) + 1c26: f44f 6202 mov.w r2, #2080 ; 0x820 + 1c2a: 639a str r2, [r3, #56] ; 0x38 ((Oscctrl *)hw)->Dpll[submodule_index].DPLLCTRLA.reg = data; - 1c44: 2202 movs r2, #2 - 1c46: f883 2030 strb.w r2, [r3, #48] ; 0x30 + 1c2c: 2202 movs r2, #2 + 1c2e: f883 2030 strb.w r2, [r3, #48] ; 0x30 while (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSYNCBUSY.reg & reg) { - 1c4a: 461a mov r2, r3 - 1c4c: 6bd3 ldr r3, [r2, #60] ; 0x3c - 1c4e: f013 0f02 tst.w r3, #2 - 1c52: d1fb bne.n 1c4c <_oscctrl_init_referenced_generators+0x20> + 1c32: 461a mov r2, r3 + 1c34: 6bd3 ldr r3, [r2, #60] ; 0x3c + 1c36: f013 0f02 tst.w r3, #2 + 1c3a: d1fb bne.n 1c34 <_oscctrl_init_referenced_generators+0x20> return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_LOCK) - 1c54: 4b05 ldr r3, [pc, #20] ; (1c6c <_oscctrl_init_referenced_generators+0x40>) - 1c56: 6c1a ldr r2, [r3, #64] ; 0x40 + 1c3c: 4b05 ldr r3, [pc, #20] ; (1c54 <_oscctrl_init_referenced_generators+0x40>) + 1c3e: 6c1a ldr r2, [r3, #64] ; 0x40 #endif #endif #if CONF_FDPLL0_CONFIG == 1 #if CONF_FDPLL0_ENABLE == 1 while (!(hri_oscctrl_get_DPLLSTATUS_LOCK_bit(hw, 0) || hri_oscctrl_get_DPLLSTATUS_CLKRDY_bit(hw, 0))) - 1c58: f012 0f01 tst.w r2, #1 - 1c5c: d103 bne.n 1c66 <_oscctrl_init_referenced_generators+0x3a> + 1c40: f012 0f01 tst.w r2, #1 + 1c44: d103 bne.n 1c4e <_oscctrl_init_referenced_generators+0x3a> return (((Oscctrl *)hw)->Dpll[submodule_index].DPLLSTATUS.reg & OSCCTRL_DPLLSTATUS_CLKRDY) - 1c5e: 6c1a ldr r2, [r3, #64] ; 0x40 - 1c60: f012 0f02 tst.w r2, #2 - 1c64: d0f7 beq.n 1c56 <_oscctrl_init_referenced_generators+0x2a> - 1c66: 4770 bx lr - 1c68: 00010e4d .word 0x00010e4d - 1c6c: 40001000 .word 0x40001000 + 1c46: 6c1a ldr r2, [r3, #64] ; 0x40 + 1c48: f012 0f02 tst.w r2, #2 + 1c4c: d0f7 beq.n 1c3e <_oscctrl_init_referenced_generators+0x2a> + 1c4e: 4770 bx lr + 1c50: 00010e4d .word 0x00010e4d + 1c54: 40001000 .word 0x40001000 -00001c70 : +00001c58 : /** * \internal RAMECC interrupt handler */ void RAMECC_Handler(void) { - 1c70: b500 push {lr} - 1c72: b083 sub sp, #12 + 1c58: b500 push {lr} + 1c5a: b083 sub sp, #12 return tmp; } static inline hri_ramecc_intflag_reg_t hri_ramecc_read_INTFLAG_reg(const void *const hw) { return ((Ramecc *)hw)->INTFLAG.reg; - 1c74: 4b0d ldr r3, [pc, #52] ; (1cac ) - 1c76: 789b ldrb r3, [r3, #2] - 1c78: b2db uxtb r3, r3 + 1c5c: 4b0d ldr r3, [pc, #52] ; (1c94 ) + 1c5e: 789b ldrb r3, [r3, #2] + 1c60: b2db uxtb r3, r3 struct _ramecc_device *dev = (struct _ramecc_device *)&device; volatile uint32_t int_mask = hri_ramecc_read_INTFLAG_reg(RAMECC); - 1c7a: 9301 str r3, [sp, #4] + 1c62: 9301 str r3, [sp, #4] if (int_mask & RAMECC_INTFLAG_DUALE && dev->ramecc_cb.dual_bit_err) { - 1c7c: 9b01 ldr r3, [sp, #4] - 1c7e: f013 0f02 tst.w r3, #2 - 1c82: d006 beq.n 1c92 - 1c84: 4b0a ldr r3, [pc, #40] ; (1cb0 ) - 1c86: 681b ldr r3, [r3, #0] - 1c88: b11b cbz r3, 1c92 + 1c64: 9b01 ldr r3, [sp, #4] + 1c66: f013 0f02 tst.w r3, #2 + 1c6a: d006 beq.n 1c7a + 1c6c: 4b0a ldr r3, [pc, #40] ; (1c98 ) + 1c6e: 681b ldr r3, [r3, #0] + 1c70: b11b cbz r3, 1c7a return tmp; } static inline hri_ramecc_erraddr_reg_t hri_ramecc_read_ERRADDR_reg(const void *const hw) { return ((Ramecc *)hw)->ERRADDR.reg; - 1c8a: 4a08 ldr r2, [pc, #32] ; (1cac ) - 1c8c: 6850 ldr r0, [r2, #4] + 1c72: 4a08 ldr r2, [pc, #32] ; (1c94 ) + 1c74: 6850 ldr r0, [r2, #4] dev->ramecc_cb.dual_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC)); - 1c8e: 4798 blx r3 - 1c90: e009 b.n 1ca6 + 1c76: 4798 blx r3 + 1c78: e009 b.n 1c8e } else if (int_mask & RAMECC_INTFLAG_SINGLEE && dev->ramecc_cb.single_bit_err) { - 1c92: 9b01 ldr r3, [sp, #4] - 1c94: f013 0f01 tst.w r3, #1 - 1c98: d005 beq.n 1ca6 - 1c9a: 4b05 ldr r3, [pc, #20] ; (1cb0 ) - 1c9c: 685b ldr r3, [r3, #4] - 1c9e: b113 cbz r3, 1ca6 - 1ca0: 4a02 ldr r2, [pc, #8] ; (1cac ) - 1ca2: 6850 ldr r0, [r2, #4] + 1c7a: 9b01 ldr r3, [sp, #4] + 1c7c: f013 0f01 tst.w r3, #1 + 1c80: d005 beq.n 1c8e + 1c82: 4b05 ldr r3, [pc, #20] ; (1c98 ) + 1c84: 685b ldr r3, [r3, #4] + 1c86: b113 cbz r3, 1c8e + 1c88: 4a02 ldr r2, [pc, #8] ; (1c94 ) + 1c8a: 6850 ldr r0, [r2, #4] dev->ramecc_cb.single_bit_err((uint32_t)hri_ramecc_read_ERRADDR_reg(RAMECC)); - 1ca4: 4798 blx r3 + 1c8c: 4798 blx r3 } else { return; } } - 1ca6: b003 add sp, #12 - 1ca8: f85d fb04 ldr.w pc, [sp], #4 - 1cac: 41020000 .word 0x41020000 - 1cb0: 20006c70 .word 0x20006c70 + 1c8e: b003 add sp, #12 + 1c90: f85d fb04 ldr.w pc, [sp], #4 + 1c94: 41020000 .word 0x41020000 + 1c98: 20006c70 .word 0x20006c70 -00001cb4 <_sercom_get_hardware_index>: +00001c9c <_sercom_get_hardware_index>: /** * \brief Retrieve ordinal number of the given sercom hardware instance */ static uint8_t _sercom_get_hardware_index(const void *const hw) { - 1cb4: b470 push {r4, r5, r6} - 1cb6: b089 sub sp, #36 ; 0x24 - 1cb8: 4606 mov r6, r0 + 1c9c: b470 push {r4, r5, r6} + 1c9e: b089 sub sp, #36 ; 0x24 + 1ca0: 4606 mov r6, r0 Sercom *const sercom_modules[] = SERCOM_INSTS; - 1cba: 466c mov r4, sp - 1cbc: 4d0d ldr r5, [pc, #52] ; (1cf4 <_sercom_get_hardware_index+0x40>) - 1cbe: cd0f ldmia r5!, {r0, r1, r2, r3} - 1cc0: c40f stmia r4!, {r0, r1, r2, r3} - 1cc2: e895 000f ldmia.w r5, {r0, r1, r2, r3} - 1cc6: e884 000f stmia.w r4, {r0, r1, r2, r3} + 1ca2: 466c mov r4, sp + 1ca4: 4d0d ldr r5, [pc, #52] ; (1cdc <_sercom_get_hardware_index+0x40>) + 1ca6: cd0f ldmia r5!, {r0, r1, r2, r3} + 1ca8: c40f stmia r4!, {r0, r1, r2, r3} + 1caa: e895 000f ldmia.w r5, {r0, r1, r2, r3} + 1cae: e884 000f stmia.w r4, {r0, r1, r2, r3} /* Find index for SERCOM instance. */ for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { if ((uint32_t)hw == (uint32_t)sercom_modules[i]) { - 1cca: 9b00 ldr r3, [sp, #0] - 1ccc: 42b3 cmp r3, r6 - 1cce: d00d beq.n 1cec <_sercom_get_hardware_index+0x38> - 1cd0: 4631 mov r1, r6 - 1cd2: ab01 add r3, sp, #4 + 1cb2: 9b00 ldr r3, [sp, #0] + 1cb4: 42b3 cmp r3, r6 + 1cb6: d00d beq.n 1cd4 <_sercom_get_hardware_index+0x38> + 1cb8: 4631 mov r1, r6 + 1cba: ab01 add r3, sp, #4 for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 1cd4: 2001 movs r0, #1 + 1cbc: 2001 movs r0, #1 if ((uint32_t)hw == (uint32_t)sercom_modules[i]) { - 1cd6: f853 2b04 ldr.w r2, [r3], #4 - 1cda: 428a cmp r2, r1 - 1cdc: d007 beq.n 1cee <_sercom_get_hardware_index+0x3a> + 1cbe: f853 2b04 ldr.w r2, [r3], #4 + 1cc2: 428a cmp r2, r1 + 1cc4: d007 beq.n 1cd6 <_sercom_get_hardware_index+0x3a> for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 1cde: 3001 adds r0, #1 - 1ce0: 2808 cmp r0, #8 - 1ce2: d1f8 bne.n 1cd6 <_sercom_get_hardware_index+0x22> + 1cc6: 3001 adds r0, #1 + 1cc8: 2808 cmp r0, #8 + 1cca: d1f8 bne.n 1cbe <_sercom_get_hardware_index+0x22> return i; } } return 0; - 1ce4: 2000 movs r0, #0 + 1ccc: 2000 movs r0, #0 } - 1ce6: b009 add sp, #36 ; 0x24 - 1ce8: bc70 pop {r4, r5, r6} - 1cea: 4770 bx lr + 1cce: b009 add sp, #36 ; 0x24 + 1cd0: bc70 pop {r4, r5, r6} + 1cd2: 4770 bx lr for (uint32_t i = 0; i < SERCOM_INST_NUM; i++) { - 1cec: 2000 movs r0, #0 + 1cd4: 2000 movs r0, #0 return i; - 1cee: b2c0 uxtb r0, r0 - 1cf0: e7f9 b.n 1ce6 <_sercom_get_hardware_index+0x32> - 1cf2: bf00 nop - 1cf4: 0001b5dc .word 0x0001b5dc + 1cd6: b2c0 uxtb r0, r0 + 1cd8: e7f9 b.n 1cce <_sercom_get_hardware_index+0x32> + 1cda: bf00 nop + 1cdc: 0001b5c4 .word 0x0001b5c4 -00001cf8 <_sercom_usart_interrupt_handler>: +00001ce0 <_sercom_usart_interrupt_handler>: * \internal Sercom interrupt handler * * \param[in] p The pointer to interrupt parameter */ static void _sercom_usart_interrupt_handler(struct _usart_async_device *device) { - 1cf8: b510 push {r4, lr} + 1ce0: b510 push {r4, lr} void *hw = device->hw; - 1cfa: 6984 ldr r4, [r0, #24] + 1ce2: 6984 ldr r4, [r0, #24] ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR; } static inline bool hri_sercomusart_get_interrupt_DRE_bit(const void *const hw) { return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_DRE) >> SERCOM_USART_INTFLAG_DRE_Pos; - 1cfc: 7e23 ldrb r3, [r4, #24] + 1ce4: 7e23 ldrb r3, [r4, #24] if (hri_sercomusart_get_interrupt_DRE_bit(hw) && hri_sercomusart_get_INTEN_DRE_bit(hw)) { - 1cfe: f013 0f01 tst.w r3, #1 - 1d02: d003 beq.n 1d0c <_sercom_usart_interrupt_handler+0x14> + 1ce6: f013 0f01 tst.w r3, #1 + 1cea: d003 beq.n 1cf4 <_sercom_usart_interrupt_handler+0x14> ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE; } static inline bool hri_sercomusart_get_INTEN_DRE_bit(const void *const hw) { return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_DRE) >> SERCOM_USART_INTENSET_DRE_Pos; - 1d04: 7da3 ldrb r3, [r4, #22] - 1d06: f013 0f01 tst.w r3, #1 - 1d0a: d112 bne.n 1d32 <_sercom_usart_interrupt_handler+0x3a> + 1cec: 7da3 ldrb r3, [r4, #22] + 1cee: f013 0f01 tst.w r3, #1 + 1cf2: d112 bne.n 1d1a <_sercom_usart_interrupt_handler+0x3a> return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_TXC) >> SERCOM_USART_INTFLAG_TXC_Pos; - 1d0c: 7e23 ldrb r3, [r4, #24] + 1cf4: 7e23 ldrb r3, [r4, #24] hri_sercomusart_clear_INTEN_DRE_bit(hw); device->usart_cb.tx_byte_sent(device); } else if (hri_sercomusart_get_interrupt_TXC_bit(hw) && hri_sercomusart_get_INTEN_TXC_bit(hw)) { - 1d0e: f013 0f02 tst.w r3, #2 - 1d12: d003 beq.n 1d1c <_sercom_usart_interrupt_handler+0x24> + 1cf6: f013 0f02 tst.w r3, #2 + 1cfa: d003 beq.n 1d04 <_sercom_usart_interrupt_handler+0x24> ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC; } static inline bool hri_sercomusart_get_INTEN_TXC_bit(const void *const hw) { return (((Sercom *)hw)->USART.INTENSET.reg & SERCOM_USART_INTENSET_TXC) >> SERCOM_USART_INTENSET_TXC_Pos; - 1d14: 7da3 ldrb r3, [r4, #22] - 1d16: f013 0f02 tst.w r3, #2 - 1d1a: d10f bne.n 1d3c <_sercom_usart_interrupt_handler+0x44> + 1cfc: 7da3 ldrb r3, [r4, #22] + 1cfe: f013 0f02 tst.w r3, #2 + 1d02: d10f bne.n 1d24 <_sercom_usart_interrupt_handler+0x44> return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_RXC) >> SERCOM_USART_INTFLAG_RXC_Pos; - 1d1c: 7e23 ldrb r3, [r4, #24] + 1d04: 7e23 ldrb r3, [r4, #24] hri_sercomusart_clear_INTEN_TXC_bit(hw); device->usart_cb.tx_done_cb(device); } else if (hri_sercomusart_get_interrupt_RXC_bit(hw)) { - 1d1e: f013 0f04 tst.w r3, #4 - 1d22: d015 beq.n 1d50 <_sercom_usart_interrupt_handler+0x58> + 1d06: f013 0f04 tst.w r3, #4 + 1d0a: d015 beq.n 1d38 <_sercom_usart_interrupt_handler+0x58> SERCOM_CRITICAL_SECTION_LEAVE(); } static inline hri_sercomusart_status_reg_t hri_sercomusart_read_STATUS_reg(const void *const hw) { return ((Sercom *)hw)->USART.STATUS.reg; - 1d24: 8b63 ldrh r3, [r4, #26] + 1d0c: 8b63 ldrh r3, [r4, #26] if (hri_sercomusart_read_STATUS_reg(hw) - 1d26: f003 0337 and.w r3, r3, #55 ; 0x37 - 1d2a: b163 cbz r3, 1d46 <_sercom_usart_interrupt_handler+0x4e> + 1d0e: f003 0337 and.w r3, r3, #55 ; 0x37 + 1d12: b163 cbz r3, 1d2e <_sercom_usart_interrupt_handler+0x4e> ((Sercom *)hw)->USART.STATUS.reg = mask; - 1d2c: 23ff movs r3, #255 ; 0xff - 1d2e: 8363 strh r3, [r4, #26] - 1d30: bd10 pop {r4, pc} + 1d14: 23ff movs r3, #255 ; 0xff + 1d16: 8363 strh r3, [r4, #26] + 1d18: bd10 pop {r4, pc} ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_DRE; - 1d32: 2301 movs r3, #1 - 1d34: 7523 strb r3, [r4, #20] + 1d1a: 2301 movs r3, #1 + 1d1c: 7523 strb r3, [r4, #20] device->usart_cb.tx_byte_sent(device); - 1d36: 6803 ldr r3, [r0, #0] - 1d38: 4798 blx r3 - 1d3a: bd10 pop {r4, pc} + 1d1e: 6803 ldr r3, [r0, #0] + 1d20: 4798 blx r3 + 1d22: bd10 pop {r4, pc} ((Sercom *)hw)->USART.INTENCLR.reg = SERCOM_USART_INTENSET_TXC; - 1d3c: 2302 movs r3, #2 - 1d3e: 7523 strb r3, [r4, #20] + 1d24: 2302 movs r3, #2 + 1d26: 7523 strb r3, [r4, #20] device->usart_cb.tx_done_cb(device); - 1d40: 6883 ldr r3, [r0, #8] - 1d42: 4798 blx r3 - 1d44: bd10 pop {r4, pc} + 1d28: 6883 ldr r3, [r0, #8] + 1d2a: 4798 blx r3 + 1d2c: bd10 pop {r4, pc} return ((Sercom *)hw)->USART.DATA.reg; - 1d46: 6aa1 ldr r1, [r4, #40] ; 0x28 + 1d2e: 6aa1 ldr r1, [r4, #40] ; 0x28 | SERCOM_USART_STATUS_ISF | SERCOM_USART_STATUS_COLL)) { hri_sercomusart_clear_STATUS_reg(hw, SERCOM_USART_STATUS_MASK); return; } device->usart_cb.rx_done_cb(device, hri_sercomusart_read_DATA_reg(hw)); - 1d48: 6843 ldr r3, [r0, #4] - 1d4a: b2c9 uxtb r1, r1 - 1d4c: 4798 blx r3 - 1d4e: bd10 pop {r4, pc} + 1d30: 6843 ldr r3, [r0, #4] + 1d32: b2c9 uxtb r1, r1 + 1d34: 4798 blx r3 + 1d36: bd10 pop {r4, pc} return (((Sercom *)hw)->USART.INTFLAG.reg & SERCOM_USART_INTFLAG_ERROR) >> SERCOM_USART_INTFLAG_ERROR_Pos; - 1d50: 7e23 ldrb r3, [r4, #24] + 1d38: 7e23 ldrb r3, [r4, #24] } else if (hri_sercomusart_get_interrupt_ERROR_bit(hw)) { - 1d52: 09db lsrs r3, r3, #7 - 1d54: d100 bne.n 1d58 <_sercom_usart_interrupt_handler+0x60> - 1d56: bd10 pop {r4, pc} + 1d3a: 09db lsrs r3, r3, #7 + 1d3c: d100 bne.n 1d40 <_sercom_usart_interrupt_handler+0x60> + 1d3e: bd10 pop {r4, pc} ((Sercom *)hw)->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_ERROR; - 1d58: 2380 movs r3, #128 ; 0x80 - 1d5a: 7623 strb r3, [r4, #24] + 1d40: 2380 movs r3, #128 ; 0x80 + 1d42: 7623 strb r3, [r4, #24] uint32_t status; hri_sercomusart_clear_interrupt_ERROR_bit(hw); device->usart_cb.error_cb(device); - 1d5c: 68c3 ldr r3, [r0, #12] - 1d5e: 4798 blx r3 + 1d44: 68c3 ldr r3, [r0, #12] + 1d46: 4798 blx r3 return ((Sercom *)hw)->USART.STATUS.reg; - 1d60: 8b63 ldrh r3, [r4, #26] - 1d62: b29b uxth r3, r3 + 1d48: 8b63 ldrh r3, [r4, #26] + 1d4a: b29b uxth r3, r3 ((Sercom *)hw)->USART.STATUS.reg = mask; - 1d64: 8363 strh r3, [r4, #26] - 1d66: e7f6 b.n 1d56 <_sercom_usart_interrupt_handler+0x5e> + 1d4c: 8363 strh r3, [r4, #26] + 1d4e: e7f6 b.n 1d3e <_sercom_usart_interrupt_handler+0x5e> -00001d68 <_sercom_get_irq_num>: +00001d50 <_sercom_get_irq_num>: /** * \brief Retrieve IRQ number for the given hardware instance */ static uint8_t _sercom_get_irq_num(const void *const hw) { - 1d68: b508 push {r3, lr} + 1d50: b508 push {r3, lr} return SERCOM0_0_IRQn + (_sercom_get_hardware_index(hw) << 2); - 1d6a: 4b03 ldr r3, [pc, #12] ; (1d78 <_sercom_get_irq_num+0x10>) - 1d6c: 4798 blx r3 - 1d6e: 0080 lsls r0, r0, #2 - 1d70: 302e adds r0, #46 ; 0x2e + 1d52: 4b03 ldr r3, [pc, #12] ; (1d60 <_sercom_get_irq_num+0x10>) + 1d54: 4798 blx r3 + 1d56: 0080 lsls r0, r0, #2 + 1d58: 302e adds r0, #46 ; 0x2e } - 1d72: f000 00fe and.w r0, r0, #254 ; 0xfe - 1d76: bd08 pop {r3, pc} - 1d78: 00001cb5 .word 0x00001cb5 + 1d5a: f000 00fe and.w r0, r0, #254 ; 0xfe + 1d5e: bd08 pop {r3, pc} + 1d60: 00001c9d .word 0x00001c9d -00001d7c <_usart_init>: +00001d64 <_usart_init>: { - 1d7c: b510 push {r4, lr} - 1d7e: 4604 mov r4, r0 + 1d64: b510 push {r4, lr} + 1d66: 4604 mov r4, r0 uint8_t sercom_offset = _sercom_get_hardware_index(hw); - 1d80: 4b21 ldr r3, [pc, #132] ; (1e08 <_usart_init+0x8c>) - 1d82: 4798 blx r3 + 1d68: 4b21 ldr r3, [pc, #132] ; (1df0 <_usart_init+0x8c>) + 1d6a: 4798 blx r3 if (_usarts[i].number == sercom_offset) { - 1d84: 2802 cmp r0, #2 - 1d86: d005 beq.n 1d94 <_usart_init+0x18> + 1d6c: 2802 cmp r0, #2 + 1d6e: d005 beq.n 1d7c <_usart_init+0x18> ASSERT(false); - 1d88: f240 226b movw r2, #619 ; 0x26b - 1d8c: 491f ldr r1, [pc, #124] ; (1e0c <_usart_init+0x90>) - 1d8e: 2000 movs r0, #0 - 1d90: 4b1f ldr r3, [pc, #124] ; (1e10 <_usart_init+0x94>) - 1d92: 4798 blx r3 + 1d70: f240 226b movw r2, #619 ; 0x26b + 1d74: 491f ldr r1, [pc, #124] ; (1df4 <_usart_init+0x90>) + 1d76: 2000 movs r0, #0 + 1d78: 4b1f ldr r3, [pc, #124] ; (1df8 <_usart_init+0x94>) + 1d7a: 4798 blx r3 return ((Sercom *)hw)->USART.SYNCBUSY.reg & reg; - 1d94: 69e3 ldr r3, [r4, #28] + 1d7c: 69e3 ldr r3, [r4, #28] if (!hri_sercomusart_is_syncing(hw, SERCOM_USART_SYNCBUSY_SWRST)) { - 1d96: f013 0f01 tst.w r3, #1 - 1d9a: d119 bne.n 1dd0 <_usart_init+0x54> + 1d7e: f013 0f01 tst.w r3, #1 + 1d82: d119 bne.n 1db8 <_usart_init+0x54> while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1d9c: 69e3 ldr r3, [r4, #28] - 1d9e: f013 0f03 tst.w r3, #3 - 1da2: d1fb bne.n 1d9c <_usart_init+0x20> + 1d84: 69e3 ldr r3, [r4, #28] + 1d86: f013 0f03 tst.w r3, #3 + 1d8a: d1fb bne.n 1d84 <_usart_init+0x20> tmp = ((Sercom *)hw)->USART.CTRLA.reg; - 1da4: 6823 ldr r3, [r4, #0] + 1d8c: 6823 ldr r3, [r4, #0] if (hri_sercomusart_get_CTRLA_reg(hw, SERCOM_USART_CTRLA_ENABLE)) { - 1da6: f013 0f02 tst.w r3, #2 - 1daa: d00b beq.n 1dc4 <_usart_init+0x48> + 1d8e: f013 0f02 tst.w r3, #2 + 1d92: d00b beq.n 1dac <_usart_init+0x48> ((Sercom *)hw)->USART.CTRLA.reg &= ~SERCOM_USART_CTRLA_ENABLE; - 1dac: 6823 ldr r3, [r4, #0] - 1dae: f023 0302 bic.w r3, r3, #2 - 1db2: 6023 str r3, [r4, #0] + 1d94: 6823 ldr r3, [r4, #0] + 1d96: f023 0302 bic.w r3, r3, #2 + 1d9a: 6023 str r3, [r4, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1db4: 69e3 ldr r3, [r4, #28] - 1db6: f013 0f03 tst.w r3, #3 - 1dba: d1fb bne.n 1db4 <_usart_init+0x38> - 1dbc: 69e3 ldr r3, [r4, #28] - 1dbe: f013 0f02 tst.w r3, #2 - 1dc2: d1fb bne.n 1dbc <_usart_init+0x40> + 1d9c: 69e3 ldr r3, [r4, #28] + 1d9e: f013 0f03 tst.w r3, #3 + 1da2: d1fb bne.n 1d9c <_usart_init+0x38> + 1da4: 69e3 ldr r3, [r4, #28] + 1da6: f013 0f02 tst.w r3, #2 + 1daa: d1fb bne.n 1da4 <_usart_init+0x40> ((Sercom *)hw)->USART.CTRLA.reg = data; - 1dc4: 2305 movs r3, #5 - 1dc6: 6023 str r3, [r4, #0] + 1dac: 2305 movs r3, #5 + 1dae: 6023 str r3, [r4, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1dc8: 69e3 ldr r3, [r4, #28] - 1dca: f013 0f03 tst.w r3, #3 - 1dce: d1fb bne.n 1dc8 <_usart_init+0x4c> - 1dd0: 69e3 ldr r3, [r4, #28] - 1dd2: f013 0f01 tst.w r3, #1 - 1dd6: d1fb bne.n 1dd0 <_usart_init+0x54> + 1db0: 69e3 ldr r3, [r4, #28] + 1db2: f013 0f03 tst.w r3, #3 + 1db6: d1fb bne.n 1db0 <_usart_init+0x4c> + 1db8: 69e3 ldr r3, [r4, #28] + 1dba: f013 0f01 tst.w r3, #1 + 1dbe: d1fb bne.n 1db8 <_usart_init+0x54> ((Sercom *)hw)->USART.CTRLA.reg = data; - 1dd8: 4b0e ldr r3, [pc, #56] ; (1e14 <_usart_init+0x98>) - 1dda: 6023 str r3, [r4, #0] + 1dc0: 4b0e ldr r3, [pc, #56] ; (1dfc <_usart_init+0x98>) + 1dc2: 6023 str r3, [r4, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1ddc: 69e3 ldr r3, [r4, #28] - 1dde: f013 0f03 tst.w r3, #3 - 1de2: d1fb bne.n 1ddc <_usart_init+0x60> + 1dc4: 69e3 ldr r3, [r4, #28] + 1dc6: f013 0f03 tst.w r3, #3 + 1dca: d1fb bne.n 1dc4 <_usart_init+0x60> ((Sercom *)hw)->USART.CTRLB.reg = data; - 1de4: f44f 3340 mov.w r3, #196608 ; 0x30000 - 1de8: 6063 str r3, [r4, #4] + 1dcc: f44f 3340 mov.w r3, #196608 ; 0x30000 + 1dd0: 6063 str r3, [r4, #4] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1dea: 69e3 ldr r3, [r4, #28] - 1dec: f013 0f1f tst.w r3, #31 - 1df0: d1fb bne.n 1dea <_usart_init+0x6e> + 1dd2: 69e3 ldr r3, [r4, #28] + 1dd4: f013 0f1f tst.w r3, #31 + 1dd8: d1fb bne.n 1dd2 <_usart_init+0x6e> ((Sercom *)hw)->USART.CTRLC.reg = data; - 1df2: 4b09 ldr r3, [pc, #36] ; (1e18 <_usart_init+0x9c>) - 1df4: 60a3 str r3, [r4, #8] + 1dda: 4b09 ldr r3, [pc, #36] ; (1e00 <_usart_init+0x9c>) + 1ddc: 60a3 str r3, [r4, #8] ((Sercom *)hw)->USART.BAUD.reg = data; - 1df6: f64f 4311 movw r3, #64529 ; 0xfc11 - 1dfa: 81a3 strh r3, [r4, #12] + 1dde: f64f 4311 movw r3, #64529 ; 0xfc11 + 1de2: 81a3 strh r3, [r4, #12] ((Sercom *)hw)->USART.RXPL.reg = data; - 1dfc: 2000 movs r0, #0 - 1dfe: 73a0 strb r0, [r4, #14] + 1de4: 2000 movs r0, #0 + 1de6: 73a0 strb r0, [r4, #14] ((Sercom *)hw)->USART.DBGCTRL.reg = data; - 1e00: f884 0030 strb.w r0, [r4, #48] ; 0x30 + 1de8: f884 0030 strb.w r0, [r4, #48] ; 0x30 } - 1e04: bd10 pop {r4, pc} - 1e06: bf00 nop - 1e08: 00001cb5 .word 0x00001cb5 - 1e0c: 0001b614 .word 0x0001b614 - 1e10: 000019d5 .word 0x000019d5 - 1e14: 40100004 .word 0x40100004 - 1e18: 00700002 .word 0x00700002 + 1dec: bd10 pop {r4, pc} + 1dee: bf00 nop + 1df0: 00001c9d .word 0x00001c9d + 1df4: 0001b5fc .word 0x0001b5fc + 1df8: 000019bd .word 0x000019bd + 1dfc: 40100004 .word 0x40100004 + 1e00: 00700002 .word 0x00700002 -00001e1c <_usart_async_init>: +00001e04 <_usart_async_init>: { - 1e1c: b570 push {r4, r5, r6, lr} - 1e1e: 460d mov r5, r1 + 1e04: b570 push {r4, r5, r6, lr} + 1e06: 460d mov r5, r1 ASSERT(device); - 1e20: 4606 mov r6, r0 - 1e22: 22cb movs r2, #203 ; 0xcb - 1e24: 4918 ldr r1, [pc, #96] ; (1e88 <_usart_async_init+0x6c>) - 1e26: 3000 adds r0, #0 - 1e28: bf18 it ne - 1e2a: 2001 movne r0, #1 - 1e2c: 4b17 ldr r3, [pc, #92] ; (1e8c <_usart_async_init+0x70>) - 1e2e: 4798 blx r3 + 1e08: 4606 mov r6, r0 + 1e0a: 22cb movs r2, #203 ; 0xcb + 1e0c: 4918 ldr r1, [pc, #96] ; (1e70 <_usart_async_init+0x6c>) + 1e0e: 3000 adds r0, #0 + 1e10: bf18 it ne + 1e12: 2001 movne r0, #1 + 1e14: 4b17 ldr r3, [pc, #92] ; (1e74 <_usart_async_init+0x70>) + 1e16: 4798 blx r3 init_status = _usart_init(hw); - 1e30: 4628 mov r0, r5 - 1e32: 4b17 ldr r3, [pc, #92] ; (1e90 <_usart_async_init+0x74>) - 1e34: 4798 blx r3 + 1e18: 4628 mov r0, r5 + 1e1a: 4b17 ldr r3, [pc, #92] ; (1e78 <_usart_async_init+0x74>) + 1e1c: 4798 blx r3 if (init_status) { - 1e36: 4604 mov r4, r0 - 1e38: b108 cbz r0, 1e3e <_usart_async_init+0x22> + 1e1e: 4604 mov r4, r0 + 1e20: b108 cbz r0, 1e26 <_usart_async_init+0x22> } - 1e3a: 4620 mov r0, r4 - 1e3c: bd70 pop {r4, r5, r6, pc} + 1e22: 4620 mov r0, r4 + 1e24: bd70 pop {r4, r5, r6, pc} device->hw = hw; - 1e3e: 61b5 str r5, [r6, #24] + 1e26: 61b5 str r5, [r6, #24] if (hw == SERCOM2) { - 1e40: 4b14 ldr r3, [pc, #80] ; (1e94 <_usart_async_init+0x78>) - 1e42: 429d cmp r5, r3 + 1e28: 4b14 ldr r3, [pc, #80] ; (1e7c <_usart_async_init+0x78>) + 1e2a: 429d cmp r5, r3 _sercom2_dev = (struct _usart_async_device *)dev; - 1e44: bf04 itt eq - 1e46: 4b14 ldreq r3, [pc, #80] ; (1e98 <_usart_async_init+0x7c>) - 1e48: 601e streq r6, [r3, #0] + 1e2c: bf04 itt eq + 1e2e: 4b14 ldreq r3, [pc, #80] ; (1e80 <_usart_async_init+0x7c>) + 1e30: 601e streq r6, [r3, #0] uint8_t irq = _sercom_get_irq_num(hw); - 1e4a: 4628 mov r0, r5 - 1e4c: 4b13 ldr r3, [pc, #76] ; (1e9c <_usart_async_init+0x80>) - 1e4e: 4798 blx r3 - 1e50: 1d01 adds r1, r0, #4 - 1e52: b2c9 uxtb r1, r1 + 1e32: 4628 mov r0, r5 + 1e34: 4b13 ldr r3, [pc, #76] ; (1e84 <_usart_async_init+0x80>) + 1e36: 4798 blx r3 + 1e38: 1d01 adds r1, r0, #4 + 1e3a: b2c9 uxtb r1, r1 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 1e54: 2501 movs r5, #1 - 1e56: f000 021f and.w r2, r0, #31 - 1e5a: fa05 f202 lsl.w r2, r5, r2 - 1e5e: 0943 lsrs r3, r0, #5 - 1e60: 009b lsls r3, r3, #2 - 1e62: f103 4360 add.w r3, r3, #3758096384 ; 0xe0000000 - 1e66: f503 4361 add.w r3, r3, #57600 ; 0xe100 - 1e6a: f8c3 2080 str.w r2, [r3, #128] ; 0x80 + 1e3c: 2501 movs r5, #1 + 1e3e: f000 021f and.w r2, r0, #31 + 1e42: fa05 f202 lsl.w r2, r5, r2 + 1e46: 0943 lsrs r3, r0, #5 + 1e48: 009b lsls r3, r3, #2 + 1e4a: f103 4360 add.w r3, r3, #3758096384 ; 0xe0000000 + 1e4e: f503 4361 add.w r3, r3, #57600 ; 0xe100 + 1e52: f8c3 2080 str.w r2, [r3, #128] ; 0x80 __ASM volatile ("dsb 0xF":::"memory"); - 1e6e: f3bf 8f4f dsb sy + 1e56: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); - 1e72: f3bf 8f6f isb sy + 1e5a: f3bf 8f6f isb sy */ __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) { if ((int32_t)(IRQn) >= 0) { NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 1e76: f8c3 2180 str.w r2, [r3, #384] ; 0x180 + 1e5e: f8c3 2180 str.w r2, [r3, #384] ; 0x180 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 1e7a: 601a str r2, [r3, #0] + 1e62: 601a str r2, [r3, #0] irq++; - 1e7c: 3001 adds r0, #1 - 1e7e: b2c0 uxtb r0, r0 + 1e64: 3001 adds r0, #1 + 1e66: b2c0 uxtb r0, r0 for (uint32_t i = 0; i < 4; i++) { - 1e80: 4281 cmp r1, r0 - 1e82: d1e8 bne.n 1e56 <_usart_async_init+0x3a> - 1e84: e7d9 b.n 1e3a <_usart_async_init+0x1e> - 1e86: bf00 nop - 1e88: 0001b614 .word 0x0001b614 - 1e8c: 000019d5 .word 0x000019d5 - 1e90: 00001d7d .word 0x00001d7d - 1e94: 41012000 .word 0x41012000 - 1e98: 200000c8 .word 0x200000c8 - 1e9c: 00001d69 .word 0x00001d69 - -00001ea0 <_usart_async_enable>: + 1e68: 4281 cmp r1, r0 + 1e6a: d1e8 bne.n 1e3e <_usart_async_init+0x3a> + 1e6c: e7d9 b.n 1e22 <_usart_async_init+0x1e> + 1e6e: bf00 nop + 1e70: 0001b5fc .word 0x0001b5fc + 1e74: 000019bd .word 0x000019bd + 1e78: 00001d65 .word 0x00001d65 + 1e7c: 41012000 .word 0x41012000 + 1e80: 200000c8 .word 0x200000c8 + 1e84: 00001d51 .word 0x00001d51 + +00001e88 <_usart_async_enable>: hri_sercomusart_set_CTRLA_ENABLE_bit(device->hw); - 1ea0: 6982 ldr r2, [r0, #24] + 1e88: 6982 ldr r2, [r0, #24] ((Sercom *)hw)->USART.CTRLA.reg |= SERCOM_USART_CTRLA_ENABLE; - 1ea2: 6813 ldr r3, [r2, #0] - 1ea4: f043 0302 orr.w r3, r3, #2 - 1ea8: 6013 str r3, [r2, #0] + 1e8a: 6813 ldr r3, [r2, #0] + 1e8c: f043 0302 orr.w r3, r3, #2 + 1e90: 6013 str r3, [r2, #0] while (((Sercom *)hw)->USART.SYNCBUSY.reg & reg) { - 1eaa: 69d3 ldr r3, [r2, #28] - 1eac: f013 0f03 tst.w r3, #3 - 1eb0: d1fb bne.n 1eaa <_usart_async_enable+0xa> + 1e92: 69d3 ldr r3, [r2, #28] + 1e94: f013 0f03 tst.w r3, #3 + 1e98: d1fb bne.n 1e92 <_usart_async_enable+0xa> } - 1eb2: 4770 bx lr + 1e9a: 4770 bx lr -00001eb4 <_usart_async_write_byte>: +00001e9c <_usart_async_write_byte>: hri_sercomusart_write_DATA_reg(device->hw, data); - 1eb4: 6983 ldr r3, [r0, #24] + 1e9c: 6983 ldr r3, [r0, #24] ((Sercom *)hw)->USART.DATA.reg = data; - 1eb6: 6299 str r1, [r3, #40] ; 0x28 - 1eb8: 4770 bx lr + 1e9e: 6299 str r1, [r3, #40] ; 0x28 + 1ea0: 4770 bx lr -00001eba <_usart_async_enable_byte_sent_irq>: +00001ea2 <_usart_async_enable_byte_sent_irq>: hri_sercomusart_set_INTEN_DRE_bit(device->hw); - 1eba: 6983 ldr r3, [r0, #24] + 1ea2: 6983 ldr r3, [r0, #24] ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_DRE; - 1ebc: 2201 movs r2, #1 - 1ebe: 759a strb r2, [r3, #22] - 1ec0: 4770 bx lr + 1ea4: 2201 movs r2, #1 + 1ea6: 759a strb r2, [r3, #22] + 1ea8: 4770 bx lr -00001ec2 <_usart_async_enable_tx_done_irq>: +00001eaa <_usart_async_enable_tx_done_irq>: hri_sercomusart_set_INTEN_TXC_bit(device->hw); - 1ec2: 6983 ldr r3, [r0, #24] + 1eaa: 6983 ldr r3, [r0, #24] ((Sercom *)hw)->USART.INTENSET.reg = SERCOM_USART_INTENSET_TXC; - 1ec4: 2202 movs r2, #2 - 1ec6: 759a strb r2, [r3, #22] - 1ec8: 4770 bx lr + 1eac: 2202 movs r2, #2 + 1eae: 759a strb r2, [r3, #22] + 1eb0: 4770 bx lr ... -00001ecc : +00001eb4 : /** * \internal Sercom interrupt handler */ void SERCOM2_0_Handler(void) { - 1ecc: b508 push {r3, lr} + 1eb4: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 1ece: 4b02 ldr r3, [pc, #8] ; (1ed8 ) - 1ed0: 6818 ldr r0, [r3, #0] - 1ed2: 4b02 ldr r3, [pc, #8] ; (1edc ) - 1ed4: 4798 blx r3 - 1ed6: bd08 pop {r3, pc} - 1ed8: 200000c8 .word 0x200000c8 - 1edc: 00001cf9 .word 0x00001cf9 + 1eb6: 4b02 ldr r3, [pc, #8] ; (1ec0 ) + 1eb8: 6818 ldr r0, [r3, #0] + 1eba: 4b02 ldr r3, [pc, #8] ; (1ec4 ) + 1ebc: 4798 blx r3 + 1ebe: bd08 pop {r3, pc} + 1ec0: 200000c8 .word 0x200000c8 + 1ec4: 00001ce1 .word 0x00001ce1 -00001ee0 : +00001ec8 : } /** * \internal Sercom interrupt handler */ void SERCOM2_1_Handler(void) { - 1ee0: b508 push {r3, lr} + 1ec8: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 1ee2: 4b02 ldr r3, [pc, #8] ; (1eec ) - 1ee4: 6818 ldr r0, [r3, #0] - 1ee6: 4b02 ldr r3, [pc, #8] ; (1ef0 ) - 1ee8: 4798 blx r3 - 1eea: bd08 pop {r3, pc} - 1eec: 200000c8 .word 0x200000c8 - 1ef0: 00001cf9 .word 0x00001cf9 + 1eca: 4b02 ldr r3, [pc, #8] ; (1ed4 ) + 1ecc: 6818 ldr r0, [r3, #0] + 1ece: 4b02 ldr r3, [pc, #8] ; (1ed8 ) + 1ed0: 4798 blx r3 + 1ed2: bd08 pop {r3, pc} + 1ed4: 200000c8 .word 0x200000c8 + 1ed8: 00001ce1 .word 0x00001ce1 -00001ef4 : +00001edc : } /** * \internal Sercom interrupt handler */ void SERCOM2_2_Handler(void) { - 1ef4: b508 push {r3, lr} + 1edc: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 1ef6: 4b02 ldr r3, [pc, #8] ; (1f00 ) - 1ef8: 6818 ldr r0, [r3, #0] - 1efa: 4b02 ldr r3, [pc, #8] ; (1f04 ) - 1efc: 4798 blx r3 - 1efe: bd08 pop {r3, pc} - 1f00: 200000c8 .word 0x200000c8 - 1f04: 00001cf9 .word 0x00001cf9 + 1ede: 4b02 ldr r3, [pc, #8] ; (1ee8 ) + 1ee0: 6818 ldr r0, [r3, #0] + 1ee2: 4b02 ldr r3, [pc, #8] ; (1eec ) + 1ee4: 4798 blx r3 + 1ee6: bd08 pop {r3, pc} + 1ee8: 200000c8 .word 0x200000c8 + 1eec: 00001ce1 .word 0x00001ce1 -00001f08 : +00001ef0 : } /** * \internal Sercom interrupt handler */ void SERCOM2_3_Handler(void) { - 1f08: b508 push {r3, lr} + 1ef0: b508 push {r3, lr} _sercom_usart_interrupt_handler(_sercom2_dev); - 1f0a: 4b02 ldr r3, [pc, #8] ; (1f14 ) - 1f0c: 6818 ldr r0, [r3, #0] - 1f0e: 4b02 ldr r3, [pc, #8] ; (1f18 ) - 1f10: 4798 blx r3 - 1f12: bd08 pop {r3, pc} - 1f14: 200000c8 .word 0x200000c8 - 1f18: 00001cf9 .word 0x00001cf9 - -00001f1c : + 1ef2: 4b02 ldr r3, [pc, #8] ; (1efc ) + 1ef4: 6818 ldr r0, [r3, #0] + 1ef6: 4b02 ldr r3, [pc, #8] ; (1f00 ) + 1ef8: 4798 blx r3 + 1efa: bd08 pop {r3, pc} + 1efc: 200000c8 .word 0x200000c8 + 1f00: 00001ce1 .word 0x00001ce1 + +00001f04 : * \param[in] hw The pointer to hardware instance * * \return The index of TC configuration */ static int8_t get_tc_index(const void *const hw) { - 1f1c: b570 push {r4, r5, r6, lr} - 1f1e: b088 sub sp, #32 - 1f20: 4606 mov r6, r0 + 1f04: b570 push {r4, r5, r6, lr} + 1f06: b088 sub sp, #32 + 1f08: 4606 mov r6, r0 * \param[in] hw The pointer to hardware instance */ static inline uint8_t _get_hardware_offset(const void *const hw) { /* List of available TC modules. */ Tc *const tc_modules[TC_INST_NUM] = TC_INSTS; - 1f22: 466c mov r4, sp - 1f24: 4d12 ldr r5, [pc, #72] ; (1f70 ) - 1f26: cd0f ldmia r5!, {r0, r1, r2, r3} - 1f28: c40f stmia r4!, {r0, r1, r2, r3} - 1f2a: e895 000f ldmia.w r5, {r0, r1, r2, r3} - 1f2e: e884 000f stmia.w r4, {r0, r1, r2, r3} + 1f0a: 466c mov r4, sp + 1f0c: 4d12 ldr r5, [pc, #72] ; (1f58 ) + 1f0e: cd0f ldmia r5!, {r0, r1, r2, r3} + 1f10: c40f stmia r4!, {r0, r1, r2, r3} + 1f12: e895 000f ldmia.w r5, {r0, r1, r2, r3} + 1f16: e884 000f stmia.w r4, {r0, r1, r2, r3} /* Find index for TC instance. */ for (uint32_t i = 0; i < TC_INST_NUM; i++) { if ((uint32_t)hw == (uint32_t)tc_modules[i]) { - 1f32: 9b00 ldr r3, [sp, #0] - 1f34: 42b3 cmp r3, r6 - 1f36: d00b beq.n 1f50 - 1f38: 4630 mov r0, r6 - 1f3a: aa01 add r2, sp, #4 + 1f1a: 9b00 ldr r3, [sp, #0] + 1f1c: 42b3 cmp r3, r6 + 1f1e: d00b beq.n 1f38 + 1f20: 4630 mov r0, r6 + 1f22: aa01 add r2, sp, #4 for (uint32_t i = 0; i < TC_INST_NUM; i++) { - 1f3c: 2301 movs r3, #1 + 1f24: 2301 movs r3, #1 if ((uint32_t)hw == (uint32_t)tc_modules[i]) { - 1f3e: f852 1b04 ldr.w r1, [r2], #4 - 1f42: 4281 cmp r1, r0 - 1f44: d005 beq.n 1f52 + 1f26: f852 1b04 ldr.w r1, [r2], #4 + 1f2a: 4281 cmp r1, r0 + 1f2c: d005 beq.n 1f3a for (uint32_t i = 0; i < TC_INST_NUM; i++) { - 1f46: 3301 adds r3, #1 - 1f48: 2b08 cmp r3, #8 - 1f4a: d1f8 bne.n 1f3e + 1f2e: 3301 adds r3, #1 + 1f30: 2b08 cmp r3, #8 + 1f32: d1f8 bne.n 1f26 return i; - 1f4c: 2000 movs r0, #0 - 1f4e: e00b b.n 1f68 + 1f34: 2000 movs r0, #0 + 1f36: e00b b.n 1f50 for (uint32_t i = 0; i < TC_INST_NUM; i++) { - 1f50: 2300 movs r3, #0 + 1f38: 2300 movs r3, #0 if (_tcs[i].number == index) { - 1f52: f013 0fff tst.w r3, #255 ; 0xff - 1f56: d009 beq.n 1f6c + 1f3a: f013 0fff tst.w r3, #255 ; 0xff + 1f3e: d009 beq.n 1f54 ASSERT(false); - 1f58: f44f 729e mov.w r2, #316 ; 0x13c - 1f5c: 4905 ldr r1, [pc, #20] ; (1f74 ) - 1f5e: 2000 movs r0, #0 - 1f60: 4b05 ldr r3, [pc, #20] ; (1f78 ) - 1f62: 4798 blx r3 + 1f40: f44f 729e mov.w r2, #316 ; 0x13c + 1f44: 4905 ldr r1, [pc, #20] ; (1f5c ) + 1f46: 2000 movs r0, #0 + 1f48: 4b05 ldr r3, [pc, #20] ; (1f60 ) + 1f4a: 4798 blx r3 return -1; - 1f64: f04f 30ff mov.w r0, #4294967295 + 1f4c: f04f 30ff mov.w r0, #4294967295 } - 1f68: b008 add sp, #32 - 1f6a: bd70 pop {r4, r5, r6, pc} + 1f50: b008 add sp, #32 + 1f52: bd70 pop {r4, r5, r6, pc} return i; - 1f6c: 2000 movs r0, #0 - 1f6e: e7fb b.n 1f68 - 1f70: 0001b630 .word 0x0001b630 - 1f74: 0001b664 .word 0x0001b664 - 1f78: 000019d5 .word 0x000019d5 + 1f54: 2000 movs r0, #0 + 1f56: e7fb b.n 1f50 + 1f58: 0001b618 .word 0x0001b618 + 1f5c: 0001b64c .word 0x0001b64c + 1f60: 000019bd .word 0x000019bd -00001f7c <_timer_init>: +00001f64 <_timer_init>: { - 1f7c: b570 push {r4, r5, r6, lr} - 1f7e: 4606 mov r6, r0 - 1f80: 460c mov r4, r1 + 1f64: b570 push {r4, r5, r6, lr} + 1f66: 4606 mov r6, r0 + 1f68: 460c mov r4, r1 int8_t i = get_tc_index(hw); - 1f82: 4608 mov r0, r1 - 1f84: 4b60 ldr r3, [pc, #384] ; (2108 <_timer_init+0x18c>) - 1f86: 4798 blx r3 - 1f88: 4605 mov r5, r0 + 1f6a: 4608 mov r0, r1 + 1f6c: 4b60 ldr r3, [pc, #384] ; (20f0 <_timer_init+0x18c>) + 1f6e: 4798 blx r3 + 1f70: 4605 mov r5, r0 device->hw = hw; - 1f8a: 60f4 str r4, [r6, #12] + 1f72: 60f4 str r4, [r6, #12] ASSERT(ARRAY_SIZE(_tcs)); - 1f8c: 228d movs r2, #141 ; 0x8d - 1f8e: 495f ldr r1, [pc, #380] ; (210c <_timer_init+0x190>) - 1f90: 2001 movs r0, #1 - 1f92: 4b5f ldr r3, [pc, #380] ; (2110 <_timer_init+0x194>) - 1f94: 4798 blx r3 + 1f74: 228d movs r2, #141 ; 0x8d + 1f76: 495f ldr r1, [pc, #380] ; (20f4 <_timer_init+0x190>) + 1f78: 2001 movs r0, #1 + 1f7a: 4b5f ldr r3, [pc, #380] ; (20f8 <_timer_init+0x194>) + 1f7c: 4798 blx r3 }; } static inline bool hri_tc_is_syncing(const void *const hw, hri_tc_syncbusy_reg_t reg) { return ((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg; - 1f96: 6923 ldr r3, [r4, #16] + 1f7e: 6923 ldr r3, [r4, #16] if (!hri_tc_is_syncing(hw, TC_SYNCBUSY_SWRST)) { - 1f98: f013 0f01 tst.w r3, #1 - 1f9c: d119 bne.n 1fd2 <_timer_init+0x56> + 1f80: f013 0f01 tst.w r3, #1 + 1f84: d119 bne.n 1fba <_timer_init+0x56> while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 1f9e: 6923 ldr r3, [r4, #16] - 1fa0: f013 0f03 tst.w r3, #3 - 1fa4: d1fb bne.n 1f9e <_timer_init+0x22> + 1f86: 6923 ldr r3, [r4, #16] + 1f88: f013 0f03 tst.w r3, #3 + 1f8c: d1fb bne.n 1f86 <_timer_init+0x22> static inline hri_tc_ctrla_reg_t hri_tc_get_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t mask) { uint32_t tmp; hri_tc_wait_for_sync(hw, TC_SYNCBUSY_SWRST | TC_SYNCBUSY_ENABLE); tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - 1fa6: 6823 ldr r3, [r4, #0] + 1f8e: 6823 ldr r3, [r4, #0] if (hri_tc_get_CTRLA_reg(hw, TC_CTRLA_ENABLE)) { - 1fa8: f013 0f02 tst.w r3, #2 - 1fac: d00b beq.n 1fc6 <_timer_init+0x4a> + 1f90: f013 0f02 tst.w r3, #2 + 1f94: d00b beq.n 1fae <_timer_init+0x4a> ((Tc *)hw)->COUNT16.CTRLA.reg &= ~TC_CTRLA_ENABLE; - 1fae: 6823 ldr r3, [r4, #0] - 1fb0: f023 0302 bic.w r3, r3, #2 - 1fb4: 6023 str r3, [r4, #0] + 1f96: 6823 ldr r3, [r4, #0] + 1f98: f023 0302 bic.w r3, r3, #2 + 1f9c: 6023 str r3, [r4, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 1fb6: 6923 ldr r3, [r4, #16] - 1fb8: f013 0f03 tst.w r3, #3 - 1fbc: d1fb bne.n 1fb6 <_timer_init+0x3a> - 1fbe: 6923 ldr r3, [r4, #16] - 1fc0: f013 0f02 tst.w r3, #2 - 1fc4: d1fb bne.n 1fbe <_timer_init+0x42> + 1f9e: 6923 ldr r3, [r4, #16] + 1fa0: f013 0f03 tst.w r3, #3 + 1fa4: d1fb bne.n 1f9e <_timer_init+0x3a> + 1fa6: 6923 ldr r3, [r4, #16] + 1fa8: f013 0f02 tst.w r3, #2 + 1fac: d1fb bne.n 1fa6 <_timer_init+0x42> } static inline void hri_tc_write_CTRLA_reg(const void *const hw, hri_tc_ctrla_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT16.CTRLA.reg = data; - 1fc6: 2301 movs r3, #1 - 1fc8: 6023 str r3, [r4, #0] + 1fae: 2301 movs r3, #1 + 1fb0: 6023 str r3, [r4, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 1fca: 6923 ldr r3, [r4, #16] - 1fcc: f013 0f03 tst.w r3, #3 - 1fd0: d1fb bne.n 1fca <_timer_init+0x4e> - 1fd2: 6923 ldr r3, [r4, #16] - 1fd4: f013 0f01 tst.w r3, #1 - 1fd8: d1fb bne.n 1fd2 <_timer_init+0x56> + 1fb2: 6923 ldr r3, [r4, #16] + 1fb4: f013 0f03 tst.w r3, #3 + 1fb8: d1fb bne.n 1fb2 <_timer_init+0x4e> + 1fba: 6923 ldr r3, [r4, #16] + 1fbc: f013 0f01 tst.w r3, #1 + 1fc0: d1fb bne.n 1fba <_timer_init+0x56> hri_tc_write_CTRLA_reg(hw, _tcs[i].ctrl_a); - 1fda: eb05 0385 add.w r3, r5, r5, lsl #2 - 1fde: 4a4d ldr r2, [pc, #308] ; (2114 <_timer_init+0x198>) - 1fe0: eb02 0383 add.w r3, r2, r3, lsl #2 - 1fe4: 6a5a ldr r2, [r3, #36] ; 0x24 + 1fc2: eb05 0385 add.w r3, r5, r5, lsl #2 + 1fc6: 4a4d ldr r2, [pc, #308] ; (20fc <_timer_init+0x198>) + 1fc8: eb02 0383 add.w r3, r2, r3, lsl #2 + 1fcc: 6a5a ldr r2, [r3, #36] ; 0x24 ((Tc *)hw)->COUNT16.CTRLA.reg = data; - 1fe6: 6022 str r2, [r4, #0] + 1fce: 6022 str r2, [r4, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 1fe8: 6923 ldr r3, [r4, #16] - 1fea: f013 0f03 tst.w r3, #3 - 1fee: d1fb bne.n 1fe8 <_timer_init+0x6c> + 1fd0: 6923 ldr r3, [r4, #16] + 1fd2: f013 0f03 tst.w r3, #3 + 1fd6: d1fb bne.n 1fd0 <_timer_init+0x6c> hri_tc_write_DBGCTRL_reg(hw, _tcs[i].dbg_ctrl); - 1ff0: eb05 0385 add.w r3, r5, r5, lsl #2 - 1ff4: 4947 ldr r1, [pc, #284] ; (2114 <_timer_init+0x198>) - 1ff6: eb01 0383 add.w r3, r1, r3, lsl #2 - 1ffa: f893 102a ldrb.w r1, [r3, #42] ; 0x2a + 1fd8: eb05 0385 add.w r3, r5, r5, lsl #2 + 1fdc: 4947 ldr r1, [pc, #284] ; (20fc <_timer_init+0x198>) + 1fde: eb01 0383 add.w r3, r1, r3, lsl #2 + 1fe2: f893 102a ldrb.w r1, [r3, #42] ; 0x2a } static inline void hri_tc_write_DBGCTRL_reg(const void *const hw, hri_tc_dbgctrl_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT16.DBGCTRL.reg = data; - 1ffe: 73e1 strb r1, [r4, #15] + 1fe6: 73e1 strb r1, [r4, #15] hri_tc_write_EVCTRL_reg(hw, _tcs[i].event_ctrl); - 2000: 8d1b ldrh r3, [r3, #40] ; 0x28 + 1fe8: 8d1b ldrh r3, [r3, #40] ; 0x28 ((Tc *)hw)->COUNT16.EVCTRL.reg = data; - 2002: 80e3 strh r3, [r4, #6] + 1fea: 80e3 strh r3, [r4, #6] ((Tc *)hw)->COUNT16.WAVE.reg = data; - 2004: 2301 movs r3, #1 - 2006: 7323 strb r3, [r4, #12] + 1fec: 2301 movs r3, #1 + 1fee: 7323 strb r3, [r4, #12] if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT32) { - 2008: f002 020c and.w r2, r2, #12 - 200c: 2a08 cmp r2, #8 - 200e: d048 beq.n 20a2 <_timer_init+0x126> + 1ff0: f002 020c and.w r2, r2, #12 + 1ff4: 2a08 cmp r2, #8 + 1ff6: d048 beq.n 208a <_timer_init+0x126> } else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT16) { - 2010: 2a00 cmp r2, #0 - 2012: d158 bne.n 20c6 <_timer_init+0x14a> + 1ff8: 2a00 cmp r2, #0 + 1ffa: d158 bne.n 20ae <_timer_init+0x14a> hri_tccount16_write_CC_reg(hw, 0, (uint16_t)_tcs[i].cc0); - 2014: eb05 0385 add.w r3, r5, r5, lsl #2 - 2018: 4a3e ldr r2, [pc, #248] ; (2114 <_timer_init+0x198>) - 201a: eb02 0383 add.w r3, r2, r3, lsl #2 - 201e: 8d9b ldrh r3, [r3, #44] ; 0x2c + 1ffc: eb05 0385 add.w r3, r5, r5, lsl #2 + 2000: 4a3e ldr r2, [pc, #248] ; (20fc <_timer_init+0x198>) + 2002: eb02 0383 add.w r3, r2, r3, lsl #2 + 2006: 8d9b ldrh r3, [r3, #44] ; 0x2c } static inline void hri_tccount16_write_CC_reg(const void *const hw, uint8_t index, hri_tccount16_cc_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT16.CC[index].reg = data; - 2020: 83a3 strh r3, [r4, #28] + 2008: 83a3 strh r3, [r4, #28] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 2022: 6923 ldr r3, [r4, #16] - 2024: f013 0fc0 tst.w r3, #192 ; 0xc0 - 2028: d1fb bne.n 2022 <_timer_init+0xa6> + 200a: 6923 ldr r3, [r4, #16] + 200c: f013 0fc0 tst.w r3, #192 ; 0xc0 + 2010: d1fb bne.n 200a <_timer_init+0xa6> ((Tc *)hw)->COUNT16.CC[index].reg = data; - 202a: 2300 movs r3, #0 - 202c: 83e3 strh r3, [r4, #30] + 2012: 2300 movs r3, #0 + 2014: 83e3 strh r3, [r4, #30] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 202e: 6923 ldr r3, [r4, #16] - 2030: f013 0fc0 tst.w r3, #192 ; 0xc0 - 2034: d1fb bne.n 202e <_timer_init+0xb2> + 2016: 6923 ldr r3, [r4, #16] + 2018: f013 0fc0 tst.w r3, #192 ; 0xc0 + 201c: d1fb bne.n 2016 <_timer_init+0xb2> ((Tc *)hw)->COUNT16.INTENSET.reg = TC_INTENSET_OVF; - 2036: 2301 movs r3, #1 - 2038: 7263 strb r3, [r4, #9] + 201e: 2301 movs r3, #1 + 2020: 7263 strb r3, [r4, #9] if (hw == TC0) { - 203a: 4b37 ldr r3, [pc, #220] ; (2118 <_timer_init+0x19c>) - 203c: 429c cmp r4, r3 + 2022: 4b37 ldr r3, [pc, #220] ; (2100 <_timer_init+0x19c>) + 2024: 429c cmp r4, r3 _tc0_dev = (struct _timer_device *)dev; - 203e: bf04 itt eq - 2040: 4b36 ldreq r3, [pc, #216] ; (211c <_timer_init+0x1a0>) - 2042: 601e streq r6, [r3, #0] + 2026: bf04 itt eq + 2028: 4b36 ldreq r3, [pc, #216] ; (2104 <_timer_init+0x1a0>) + 202a: 601e streq r6, [r3, #0] NVIC_DisableIRQ(_tcs[i].irq); - 2044: eb05 0385 add.w r3, r5, r5, lsl #2 - 2048: 4a32 ldr r2, [pc, #200] ; (2114 <_timer_init+0x198>) - 204a: eb02 0383 add.w r3, r2, r3, lsl #2 - 204e: f9b3 3022 ldrsh.w r3, [r3, #34] ; 0x22 + 202c: eb05 0385 add.w r3, r5, r5, lsl #2 + 2030: 4a32 ldr r2, [pc, #200] ; (20fc <_timer_init+0x198>) + 2032: eb02 0383 add.w r3, r2, r3, lsl #2 + 2036: f9b3 3022 ldrsh.w r3, [r3, #34] ; 0x22 if ((int32_t)(IRQn) >= 0) - 2052: 2b00 cmp r3, #0 - 2054: db23 blt.n 209e <_timer_init+0x122> + 203a: 2b00 cmp r3, #0 + 203c: db23 blt.n 2086 <_timer_init+0x122> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 2056: 095a lsrs r2, r3, #5 - 2058: f003 031f and.w r3, r3, #31 - 205c: 2101 movs r1, #1 - 205e: fa01 f303 lsl.w r3, r1, r3 - 2062: 3220 adds r2, #32 - 2064: 492e ldr r1, [pc, #184] ; (2120 <_timer_init+0x1a4>) - 2066: f841 3022 str.w r3, [r1, r2, lsl #2] + 203e: 095a lsrs r2, r3, #5 + 2040: f003 031f and.w r3, r3, #31 + 2044: 2101 movs r1, #1 + 2046: fa01 f303 lsl.w r3, r1, r3 + 204a: 3220 adds r2, #32 + 204c: 492e ldr r1, [pc, #184] ; (2108 <_timer_init+0x1a4>) + 204e: f841 3022 str.w r3, [r1, r2, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); - 206a: f3bf 8f4f dsb sy + 2052: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); - 206e: f3bf 8f6f isb sy + 2056: f3bf 8f6f isb sy NVIC_ClearPendingIRQ(_tcs[i].irq); - 2072: eb05 0585 add.w r5, r5, r5, lsl #2 - 2076: 4b27 ldr r3, [pc, #156] ; (2114 <_timer_init+0x198>) - 2078: eb03 0585 add.w r5, r3, r5, lsl #2 - 207c: f9b5 3022 ldrsh.w r3, [r5, #34] ; 0x22 + 205a: eb05 0585 add.w r5, r5, r5, lsl #2 + 205e: 4b27 ldr r3, [pc, #156] ; (20fc <_timer_init+0x198>) + 2060: eb03 0585 add.w r5, r3, r5, lsl #2 + 2064: f9b5 3022 ldrsh.w r3, [r5, #34] ; 0x22 if ((int32_t)(IRQn) >= 0) - 2080: 2b00 cmp r3, #0 - 2082: db0c blt.n 209e <_timer_init+0x122> + 2068: 2b00 cmp r3, #0 + 206a: db0c blt.n 2086 <_timer_init+0x122> NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 2084: 0959 lsrs r1, r3, #5 - 2086: f003 031f and.w r3, r3, #31 - 208a: 2201 movs r2, #1 - 208c: fa02 f303 lsl.w r3, r2, r3 - 2090: 4a23 ldr r2, [pc, #140] ; (2120 <_timer_init+0x1a4>) - 2092: f101 0060 add.w r0, r1, #96 ; 0x60 - 2096: f842 3020 str.w r3, [r2, r0, lsl #2] + 206c: 0959 lsrs r1, r3, #5 + 206e: f003 031f and.w r3, r3, #31 + 2072: 2201 movs r2, #1 + 2074: fa02 f303 lsl.w r3, r2, r3 + 2078: 4a23 ldr r2, [pc, #140] ; (2108 <_timer_init+0x1a4>) + 207a: f101 0060 add.w r0, r1, #96 ; 0x60 + 207e: f842 3020 str.w r3, [r2, r0, lsl #2] NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); - 209a: f842 3021 str.w r3, [r2, r1, lsl #2] + 2082: f842 3021 str.w r3, [r2, r1, lsl #2] } - 209e: 2000 movs r0, #0 - 20a0: bd70 pop {r4, r5, r6, pc} + 2086: 2000 movs r0, #0 + 2088: bd70 pop {r4, r5, r6, pc} hri_tccount32_write_CC_reg(hw, 0, _tcs[i].cc0); - 20a2: eb05 0385 add.w r3, r5, r5, lsl #2 - 20a6: 4a1b ldr r2, [pc, #108] ; (2114 <_timer_init+0x198>) - 20a8: eb02 0383 add.w r3, r2, r3, lsl #2 - 20ac: 6adb ldr r3, [r3, #44] ; 0x2c + 208a: eb05 0385 add.w r3, r5, r5, lsl #2 + 208e: 4a1b ldr r2, [pc, #108] ; (20fc <_timer_init+0x198>) + 2090: eb02 0383 add.w r3, r2, r3, lsl #2 + 2094: 6adb ldr r3, [r3, #44] ; 0x2c } static inline void hri_tccount32_write_CC_reg(const void *const hw, uint8_t index, hri_tccount32_cc_reg_t data) { TC_CRITICAL_SECTION_ENTER(); ((Tc *)hw)->COUNT32.CC[index].reg = data; - 20ae: 61e3 str r3, [r4, #28] + 2096: 61e3 str r3, [r4, #28] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 20b0: 6923 ldr r3, [r4, #16] - 20b2: f013 0fc0 tst.w r3, #192 ; 0xc0 - 20b6: d1fb bne.n 20b0 <_timer_init+0x134> + 2098: 6923 ldr r3, [r4, #16] + 209a: f013 0fc0 tst.w r3, #192 ; 0xc0 + 209e: d1fb bne.n 2098 <_timer_init+0x134> ((Tc *)hw)->COUNT32.CC[index].reg = data; - 20b8: 2300 movs r3, #0 - 20ba: 6223 str r3, [r4, #32] + 20a0: 2300 movs r3, #0 + 20a2: 6223 str r3, [r4, #32] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 20bc: 6923 ldr r3, [r4, #16] - 20be: f013 0fc0 tst.w r3, #192 ; 0xc0 - 20c2: d1fb bne.n 20bc <_timer_init+0x140> - 20c4: e7b7 b.n 2036 <_timer_init+0xba> + 20a4: 6923 ldr r3, [r4, #16] + 20a6: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20aa: d1fb bne.n 20a4 <_timer_init+0x140> + 20ac: e7b7 b.n 201e <_timer_init+0xba> } else if ((_tcs[i].ctrl_a & TC_CTRLA_MODE_Msk) == TC_CTRLA_MODE_COUNT8) { - 20c6: 2a04 cmp r2, #4 - 20c8: d1b5 bne.n 2036 <_timer_init+0xba> + 20ae: 2a04 cmp r2, #4 + 20b0: d1b5 bne.n 201e <_timer_init+0xba> hri_tccount8_write_CC_reg(hw, 0, (uint8_t)_tcs[i].cc0); - 20ca: eb05 0385 add.w r3, r5, r5, lsl #2 - 20ce: 4a11 ldr r2, [pc, #68] ; (2114 <_timer_init+0x198>) - 20d0: eb02 0383 add.w r3, r2, r3, lsl #2 - 20d4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c + 20b2: eb05 0385 add.w r3, r5, r5, lsl #2 + 20b6: 4a11 ldr r2, [pc, #68] ; (20fc <_timer_init+0x198>) + 20b8: eb02 0383 add.w r3, r2, r3, lsl #2 + 20bc: f893 302c ldrb.w r3, [r3, #44] ; 0x2c ((Tc *)hw)->COUNT8.CC[index].reg = data; - 20d8: 7723 strb r3, [r4, #28] + 20c0: 7723 strb r3, [r4, #28] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 20da: 6923 ldr r3, [r4, #16] - 20dc: f013 0fc0 tst.w r3, #192 ; 0xc0 - 20e0: d1fb bne.n 20da <_timer_init+0x15e> + 20c2: 6923 ldr r3, [r4, #16] + 20c4: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20c8: d1fb bne.n 20c2 <_timer_init+0x15e> ((Tc *)hw)->COUNT8.CC[index].reg = data; - 20e2: 2300 movs r3, #0 - 20e4: 7763 strb r3, [r4, #29] + 20ca: 2300 movs r3, #0 + 20cc: 7763 strb r3, [r4, #29] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 20e6: 6923 ldr r3, [r4, #16] - 20e8: f013 0fc0 tst.w r3, #192 ; 0xc0 - 20ec: d1fb bne.n 20e6 <_timer_init+0x16a> + 20ce: 6923 ldr r3, [r4, #16] + 20d0: f013 0fc0 tst.w r3, #192 ; 0xc0 + 20d4: d1fb bne.n 20ce <_timer_init+0x16a> hri_tccount8_write_PER_reg(hw, _tcs[i].per); - 20ee: eb05 0385 add.w r3, r5, r5, lsl #2 - 20f2: 4a08 ldr r2, [pc, #32] ; (2114 <_timer_init+0x198>) - 20f4: eb02 0383 add.w r3, r2, r3, lsl #2 - 20f8: f893 302b ldrb.w r3, [r3, #43] ; 0x2b + 20d6: eb05 0385 add.w r3, r5, r5, lsl #2 + 20da: 4a08 ldr r2, [pc, #32] ; (20fc <_timer_init+0x198>) + 20dc: eb02 0383 add.w r3, r2, r3, lsl #2 + 20e0: f893 302b ldrb.w r3, [r3, #43] ; 0x2b ((Tc *)hw)->COUNT8.PER.reg = data; - 20fc: 76e3 strb r3, [r4, #27] + 20e4: 76e3 strb r3, [r4, #27] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 20fe: 6923 ldr r3, [r4, #16] - 2100: f013 0f20 tst.w r3, #32 - 2104: d1fb bne.n 20fe <_timer_init+0x182> - 2106: e796 b.n 2036 <_timer_init+0xba> - 2108: 00001f1d .word 0x00001f1d - 210c: 0001b664 .word 0x0001b664 - 2110: 000019d5 .word 0x000019d5 - 2114: 0001b630 .word 0x0001b630 - 2118: 40003800 .word 0x40003800 - 211c: 200000cc .word 0x200000cc - 2120: e000e100 .word 0xe000e100 - -00002124 <_timer_start>: + 20e6: 6923 ldr r3, [r4, #16] + 20e8: f013 0f20 tst.w r3, #32 + 20ec: d1fb bne.n 20e6 <_timer_init+0x182> + 20ee: e796 b.n 201e <_timer_init+0xba> + 20f0: 00001f05 .word 0x00001f05 + 20f4: 0001b64c .word 0x0001b64c + 20f8: 000019bd .word 0x000019bd + 20fc: 0001b618 .word 0x0001b618 + 2100: 40003800 .word 0x40003800 + 2104: 200000cc .word 0x200000cc + 2108: e000e100 .word 0xe000e100 + +0000210c <_timer_start>: hri_tc_set_CTRLA_ENABLE_bit(device->hw); - 2124: 68c2 ldr r2, [r0, #12] + 210c: 68c2 ldr r2, [r0, #12] ((Tc *)hw)->COUNT16.CTRLA.reg |= TC_CTRLA_ENABLE; - 2126: 6813 ldr r3, [r2, #0] - 2128: f043 0302 orr.w r3, r3, #2 - 212c: 6013 str r3, [r2, #0] + 210e: 6813 ldr r3, [r2, #0] + 2110: f043 0302 orr.w r3, r3, #2 + 2114: 6013 str r3, [r2, #0] while (((Tc *)hw)->COUNT8.SYNCBUSY.reg & reg) { - 212e: 6913 ldr r3, [r2, #16] - 2130: f013 0f03 tst.w r3, #3 - 2134: d1fb bne.n 212e <_timer_start+0xa> + 2116: 6913 ldr r3, [r2, #16] + 2118: f013 0f03 tst.w r3, #3 + 211c: d1fb bne.n 2116 <_timer_start+0xa> } - 2136: 4770 bx lr + 211e: 4770 bx lr -00002138 <_timer_is_started>: +00002120 <_timer_is_started>: return hri_tc_get_CTRLA_ENABLE_bit(device->hw); - 2138: 68c2 ldr r2, [r0, #12] - 213a: 6913 ldr r3, [r2, #16] - 213c: f013 0f03 tst.w r3, #3 - 2140: d1fb bne.n 213a <_timer_is_started+0x2> + 2120: 68c2 ldr r2, [r0, #12] + 2122: 6913 ldr r3, [r2, #16] + 2124: f013 0f03 tst.w r3, #3 + 2128: d1fb bne.n 2122 <_timer_is_started+0x2> tmp = ((Tc *)hw)->COUNT16.CTRLA.reg; - 2142: 6810 ldr r0, [r2, #0] + 212a: 6810 ldr r0, [r2, #0] } - 2144: f3c0 0040 ubfx r0, r0, #1, #1 - 2148: 4770 bx lr + 212c: f3c0 0040 ubfx r0, r0, #1, #1 + 2130: 4770 bx lr -0000214a <_tc_get_timer>: +00002132 <_tc_get_timer>: } - 214a: 2000 movs r0, #0 - 214c: 4770 bx lr + 2132: 2000 movs r0, #0 + 2134: 4770 bx lr ... -00002150 <_timer_set_irq>: +00002138 <_timer_set_irq>: { - 2150: b510 push {r4, lr} + 2138: b510 push {r4, lr} int8_t i = get_tc_index(hw); - 2152: 68c0 ldr r0, [r0, #12] - 2154: 4b09 ldr r3, [pc, #36] ; (217c <_timer_set_irq+0x2c>) - 2156: 4798 blx r3 - 2158: 4604 mov r4, r0 + 213a: 68c0 ldr r0, [r0, #12] + 213c: 4b09 ldr r3, [pc, #36] ; (2164 <_timer_set_irq+0x2c>) + 213e: 4798 blx r3 + 2140: 4604 mov r4, r0 ASSERT(ARRAY_SIZE(_tcs)); - 215a: f240 120f movw r2, #271 ; 0x10f - 215e: 4908 ldr r1, [pc, #32] ; (2180 <_timer_set_irq+0x30>) - 2160: 2001 movs r0, #1 - 2162: 4b08 ldr r3, [pc, #32] ; (2184 <_timer_set_irq+0x34>) - 2164: 4798 blx r3 + 2142: f240 120f movw r2, #271 ; 0x10f + 2146: 4908 ldr r1, [pc, #32] ; (2168 <_timer_set_irq+0x30>) + 2148: 2001 movs r0, #1 + 214a: 4b08 ldr r3, [pc, #32] ; (216c <_timer_set_irq+0x34>) + 214c: 4798 blx r3 _irq_set(_tcs[i].irq); - 2166: eb04 0484 add.w r4, r4, r4, lsl #2 - 216a: 4b07 ldr r3, [pc, #28] ; (2188 <_timer_set_irq+0x38>) - 216c: eb03 0484 add.w r4, r3, r4, lsl #2 - 2170: f894 0022 ldrb.w r0, [r4, #34] ; 0x22 - 2174: 4b05 ldr r3, [pc, #20] ; (218c <_timer_set_irq+0x3c>) - 2176: 4798 blx r3 - 2178: bd10 pop {r4, pc} - 217a: bf00 nop - 217c: 00001f1d .word 0x00001f1d - 2180: 0001b664 .word 0x0001b664 - 2184: 000019d5 .word 0x000019d5 - 2188: 0001b630 .word 0x0001b630 - 218c: 00001b35 .word 0x00001b35 - -00002190 : -{ - 2190: b508 push {r3, lr} + 214e: eb04 0484 add.w r4, r4, r4, lsl #2 + 2152: 4b07 ldr r3, [pc, #28] ; (2170 <_timer_set_irq+0x38>) + 2154: eb03 0484 add.w r4, r3, r4, lsl #2 + 2158: f894 0022 ldrb.w r0, [r4, #34] ; 0x22 + 215c: 4b05 ldr r3, [pc, #20] ; (2174 <_timer_set_irq+0x3c>) + 215e: 4798 blx r3 + 2160: bd10 pop {r4, pc} + 2162: bf00 nop + 2164: 00001f05 .word 0x00001f05 + 2168: 0001b64c .word 0x0001b64c + 216c: 000019bd .word 0x000019bd + 2170: 0001b618 .word 0x0001b618 + 2174: 00001b1d .word 0x00001b1d + +00002178 : +{ + 2178: b508 push {r3, lr} tc_interrupt_handler(_tc0_dev); - 2192: 4b06 ldr r3, [pc, #24] ; (21ac ) - 2194: 6818 ldr r0, [r3, #0] + 217a: 4b06 ldr r3, [pc, #24] ; (2194 ) + 217c: 6818 ldr r0, [r3, #0] void *const hw = device->hw; - 2196: 68c3 ldr r3, [r0, #12] + 217e: 68c3 ldr r3, [r0, #12] return (((Tc *)hw)->COUNT16.INTFLAG.reg & TC_INTFLAG_OVF) >> TC_INTFLAG_OVF_Pos; - 2198: 7a9a ldrb r2, [r3, #10] + 2180: 7a9a ldrb r2, [r3, #10] if (hri_tc_get_interrupt_OVF_bit(hw)) { - 219a: f012 0f01 tst.w r2, #1 - 219e: d100 bne.n 21a2 - 21a0: bd08 pop {r3, pc} + 2182: f012 0f01 tst.w r2, #1 + 2186: d100 bne.n 218a + 2188: bd08 pop {r3, pc} ((Tc *)hw)->COUNT16.INTFLAG.reg = TC_INTFLAG_OVF; - 21a2: 2201 movs r2, #1 - 21a4: 729a strb r2, [r3, #10] + 218a: 2201 movs r2, #1 + 218c: 729a strb r2, [r3, #10] device->timer_cb.period_expired(device); - 21a6: 6803 ldr r3, [r0, #0] - 21a8: 4798 blx r3 + 218e: 6803 ldr r3, [r0, #0] + 2190: 4798 blx r3 } - 21aa: e7f9 b.n 21a0 - 21ac: 200000cc .word 0x200000cc + 2192: e7f9 b.n 2188 + 2194: 200000cc .word 0x200000cc -000021b0

: +00002198
: #include "oracle.h" int main(void) { - 21b0: b508 push {r3, lr} + 2198: b508 push {r3, lr} oracle_init(); - 21b2: 4b02 ldr r3, [pc, #8] ; (21bc ) - 21b4: 4798 blx r3 + 219a: 4b02 ldr r3, [pc, #8] ; (21a4 ) + 219c: 4798 blx r3 for(;;) { oracle_service(); - 21b6: 4c02 ldr r4, [pc, #8] ; (21c0 ) - 21b8: 47a0 blx r4 - 21ba: e7fd b.n 21b8 - 21bc: 000021c5 .word 0x000021c5 - 21c0: 00002299 .word 0x00002299 + 219e: 4c02 ldr r4, [pc, #8] ; (21a8 ) + 21a0: 47a0 blx r4 + 21a2: e7fd b.n 21a0 + 21a4: 000021ad .word 0x000021ad + 21a8: 00002281 .word 0x00002281 -000021c4 : +000021ac : static lv_disp_buf_t disp_buf; static lv_color_t buf[LV_HOR_RES_MAX * 10]; /*Declare a buffer for 10 lines*/ void oracle_init(void) { - 21c4: b530 push {r4, r5, lr} - 21c6: b08d sub sp, #52 ; 0x34 + 21ac: b530 push {r4, r5, lr} + 21ae: b08d sub sp, #52 ; 0x34 * Currently the following initialization functions are supported: * - System clock initialization */ static inline void init_mcu(void) { _init_chip(); - 21c8: 4b1e ldr r3, [pc, #120] ; (2244 ) - 21ca: 4798 blx r3 + 21b0: 4b1e ldr r3, [pc, #120] ; (222c ) + 21b2: 4798 blx r3 // init mcu init_mcu(); // uart init p_usart_init(); - 21cc: 4b1e ldr r3, [pc, #120] ; (2248 ) - 21ce: 4798 blx r3 + 21b4: 4b1e ldr r3, [pc, #120] ; (2230 ) + 21b6: 4798 blx r3 // i2c init p_i2c_init(); - 21d0: 4b1e ldr r3, [pc, #120] ; (224c ) - 21d2: 4798 blx r3 + 21b8: 4b1e ldr r3, [pc, #120] ; (2234 ) + 21ba: 4798 blx r3 // gpio init p_gpio_init(); - 21d4: 4b1e ldr r3, [pc, #120] ; (2250 ) - 21d6: 4798 blx r3 + 21bc: 4b1e ldr r3, [pc, #120] ; (2238 ) + 21be: 4798 blx r3 // time init p_tcc_init(); - 21d8: 4b1e ldr r3, [pc, #120] ; (2254 ) - 21da: 4798 blx r3 + 21c0: 4b1e ldr r3, [pc, #120] ; (223c ) + 21c2: 4798 blx r3 // devices init lv_init(); - 21dc: 4b1e ldr r3, [pc, #120] ; (2258 ) - 21de: 4798 blx r3 + 21c4: 4b1e ldr r3, [pc, #120] ; (2240 ) + 21c6: 4798 blx r3 ssd1963_init(); - 21e0: 4b1e ldr r3, [pc, #120] ; (225c ) - 21e2: 4798 blx r3 + 21c8: 4b1e ldr r3, [pc, #120] ; (2244 ) + 21ca: 4798 blx r3 lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10); /*Initialize the display buffer*/ - 21e4: 4c1e ldr r4, [pc, #120] ; (2260 ) - 21e6: f44f 5396 mov.w r3, #4800 ; 0x12c0 - 21ea: 2200 movs r2, #0 - 21ec: 491d ldr r1, [pc, #116] ; (2264 ) - 21ee: 4620 mov r0, r4 - 21f0: 4d1d ldr r5, [pc, #116] ; (2268 ) - 21f2: 47a8 blx r5 + 21cc: 4c1e ldr r4, [pc, #120] ; (2248 ) + 21ce: f44f 5396 mov.w r3, #4800 ; 0x12c0 + 21d2: 2200 movs r2, #0 + 21d4: 491d ldr r1, [pc, #116] ; (224c ) + 21d6: 4620 mov r0, r4 + 21d8: 4d1d ldr r5, [pc, #116] ; (2250 ) + 21da: 47a8 blx r5 lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/ lv_disp_drv_init(&disp_drv); /*Basic initialization*/ - 21f4: a801 add r0, sp, #4 - 21f6: 4b1d ldr r3, [pc, #116] ; (226c ) - 21f8: 4798 blx r3 + 21dc: a801 add r0, sp, #4 + 21de: 4b1d ldr r3, [pc, #116] ; (2254 ) + 21e0: 4798 blx r3 disp_drv.flush_cb = ssd1963_flush; /*Set your driver function*/ - 21fa: 4b1d ldr r3, [pc, #116] ; (2270 ) - 21fc: 9304 str r3, [sp, #16] + 21e2: 4b1d ldr r3, [pc, #116] ; (2258 ) + 21e4: 9304 str r3, [sp, #16] disp_drv.buffer = &disp_buf; /*Assign the buffer to the display*/ - 21fe: 9402 str r4, [sp, #8] + 21e6: 9402 str r4, [sp, #8] lv_disp_drv_register(&disp_drv); /*Finally register the driver*/ - 2200: a801 add r0, sp, #4 - 2202: 4b1c ldr r3, [pc, #112] ; (2274 ) - 2204: 4798 blx r3 + 21e8: a801 add r0, sp, #4 + 21ea: 4b1c ldr r3, [pc, #112] ; (225c ) + 21ec: 4798 blx r3 lv_obj_t* scr = lv_disp_get_scr_act(NULL); - 2206: 2000 movs r0, #0 - 2208: 4b1b ldr r3, [pc, #108] ; (2278 ) - 220a: 4798 blx r3 - 220c: 4605 mov r5, r0 + 21ee: 2000 movs r0, #0 + 21f0: 4b1b ldr r3, [pc, #108] ; (2260 ) + 21f2: 4798 blx r3 + 21f4: 4605 mov r5, r0 lv_obj_t* hornet_image = lv_img_create(scr, NULL); - 220e: 2100 movs r1, #0 - 2210: 4b1a ldr r3, [pc, #104] ; (227c ) - 2212: 4798 blx r3 - 2214: 4604 mov r4, r0 + 21f6: 2100 movs r1, #0 + 21f8: 4b1a ldr r3, [pc, #104] ; (2264 ) + 21fa: 4798 blx r3 + 21fc: 4604 mov r4, r0 lv_img_set_src(hornet_image, &hornet); - 2216: 491a ldr r1, [pc, #104] ; (2280 ) - 2218: 4b1a ldr r3, [pc, #104] ; (2284 ) - 221a: 4798 blx r3 + 21fe: 491a ldr r1, [pc, #104] ; (2268 ) + 2200: 4b1a ldr r3, [pc, #104] ; (226c ) + 2202: 4798 blx r3 lv_obj_set_pos(hornet_image, 0, 0); - 221c: 2200 movs r2, #0 - 221e: 4611 mov r1, r2 - 2220: 4620 mov r0, r4 - 2222: 4c19 ldr r4, [pc, #100] ; (2288 ) - 2224: 47a0 blx r4 + 2204: 2200 movs r2, #0 + 2206: 4611 mov r1, r2 + 2208: 4620 mov r0, r4 + 220a: 4c19 ldr r4, [pc, #100] ; (2270 ) + 220c: 47a0 blx r4 lv_obj_t* random_text = lv_label_create(scr, NULL); - 2226: 2100 movs r1, #0 - 2228: 4628 mov r0, r5 - 222a: 4b18 ldr r3, [pc, #96] ; (228c ) - 222c: 4798 blx r3 - 222e: 4605 mov r5, r0 + 220e: 2100 movs r1, #0 + 2210: 4628 mov r0, r5 + 2212: 4b18 ldr r3, [pc, #96] ; (2274 ) + 2214: 4798 blx r3 + 2216: 4605 mov r5, r0 lv_obj_set_pos(random_text, 90, 35); - 2230: 2223 movs r2, #35 ; 0x23 - 2232: 215a movs r1, #90 ; 0x5a - 2234: 47a0 blx r4 + 2218: 2223 movs r2, #35 ; 0x23 + 221a: 215a movs r1, #90 ; 0x5a + 221c: 47a0 blx r4 lv_label_set_text(random_text, "Hello World"); - 2236: 4916 ldr r1, [pc, #88] ; (2290 ) - 2238: 4628 mov r0, r5 - 223a: 4b16 ldr r3, [pc, #88] ; (2294 ) - 223c: 4798 blx r3 -} - 223e: b00d add sp, #52 ; 0x34 - 2240: bd30 pop {r4, r5, pc} - 2242: bf00 nop - 2244: 00001b99 .word 0x00001b99 - 2248: 00001425 .word 0x00001425 - 224c: 00001385 .word 0x00001385 - 2250: 00001251 .word 0x00001251 - 2254: 000013ad .word 0x000013ad - 2258: 00002869 .word 0x00002869 - 225c: 000002d1 .word 0x000002d1 - 2260: 20002650 .word 0x20002650 - 2264: 200000d0 .word 0x200000d0 - 2268: 00010d71 .word 0x00010d71 - 226c: 00010d11 .word 0x00010d11 - 2270: 00000ca5 .word 0x00000ca5 - 2274: 00010d91 .word 0x00010d91 - 2278: 0000234d .word 0x0000234d - 227c: 0001986d .word 0x0001986d - 2280: 0001b678 .word 0x0001b678 - 2284: 00019611 .word 0x00019611 - 2288: 0000343d .word 0x0000343d - 228c: 0001ab05 .word 0x0001ab05 - 2290: 00023be0 .word 0x00023be0 - 2294: 0001a805 .word 0x0001a805 - -00002298 : + 221e: 4916 ldr r1, [pc, #88] ; (2278 ) + 2220: 4628 mov r0, r5 + 2222: 4b16 ldr r3, [pc, #88] ; (227c ) + 2224: 4798 blx r3 +} + 2226: b00d add sp, #52 ; 0x34 + 2228: bd30 pop {r4, r5, pc} + 222a: bf00 nop + 222c: 00001b81 .word 0x00001b81 + 2230: 0000140d .word 0x0000140d + 2234: 0000136d .word 0x0000136d + 2238: 00001239 .word 0x00001239 + 223c: 00001395 .word 0x00001395 + 2240: 00002851 .word 0x00002851 + 2244: 000002d1 .word 0x000002d1 + 2248: 20002650 .word 0x20002650 + 224c: 200000d0 .word 0x200000d0 + 2250: 00010d59 .word 0x00010d59 + 2254: 00010cf9 .word 0x00010cf9 + 2258: 00000ca5 .word 0x00000ca5 + 225c: 00010d79 .word 0x00010d79 + 2260: 00002335 .word 0x00002335 + 2264: 00019855 .word 0x00019855 + 2268: 0001b660 .word 0x0001b660 + 226c: 000195f9 .word 0x000195f9 + 2270: 00003425 .word 0x00003425 + 2274: 0001aaed .word 0x0001aaed + 2278: 00023bc8 .word 0x00023bc8 + 227c: 0001a7ed .word 0x0001a7ed + +00002280 : void oracle_service(void) { - 2298: b508 push {r3, lr} + 2280: b508 push {r3, lr} delay_ms(1); - 229a: 2001 movs r0, #1 - 229c: 4b02 ldr r3, [pc, #8] ; (22a8 ) - 229e: 4798 blx r3 + 2282: 2001 movs r0, #1 + 2284: 4b02 ldr r3, [pc, #8] ; (2290 ) + 2286: 4798 blx r3 lv_task_handler(); - 22a0: 4b02 ldr r3, [pc, #8] ; (22ac ) - 22a2: 4798 blx r3 - 22a4: bd08 pop {r3, pc} - 22a6: bf00 nop - 22a8: 00001521 .word 0x00001521 - 22ac: 000137cd .word 0x000137cd - -000022b0 : + 2288: 4b02 ldr r3, [pc, #8] ; (2294 ) + 228a: 4798 blx r3 + 228c: bd08 pop {r3, pc} + 228e: bf00 nop + 2290: 00001509 .word 0x00001509 + 2294: 000137b5 .word 0x000137b5 + +00002298 : bool lv_debug_check_null(const void * p) { if(p) return true; return false; } - 22b0: 3000 adds r0, #0 - 22b2: bf18 it ne - 22b4: 2001 movne r0, #1 - 22b6: 4770 bx lr + 2298: 3000 adds r0, #0 + 229a: bf18 it ne + 229c: 2001 movne r0, #1 + 229e: 4770 bx lr -000022b8 : +000022a0 : LV_LOG_WARN("lv_debug_check_str: string is longer than LV_DEBUG_STR_MAX_LENGTH"); return false; } void lv_debug_log_error(const char * msg, uint64_t value) { - 22b8: b5f0 push {r4, r5, r6, r7, lr} - 22ba: b0c3 sub sp, #268 ; 0x10c - 22bc: 4605 mov r5, r0 - 22be: 4614 mov r4, r2 + 22a0: b5f0 push {r4, r5, r6, r7, lr} + 22a2: b0c3 sub sp, #268 ; 0x10c + 22a4: 4605 mov r5, r0 + 22a6: 4614 mov r4, r2 static const char hex[] = "0123456789ABCDEF"; size_t msg_len = strlen(msg); - 22c0: 4b1c ldr r3, [pc, #112] ; (2334 ) - 22c2: 4798 blx r3 + 22a8: 4b1c ldr r3, [pc, #112] ; (231c ) + 22aa: 4798 blx r3 uint32_t value_len = sizeof(unsigned long int); if(msg_len < 230) { - 22c4: 28e5 cmp r0, #229 ; 0xe5 - 22c6: d82c bhi.n 2322 - 22c8: 4606 mov r6, r0 + 22ac: 28e5 cmp r0, #229 ; 0xe5 + 22ae: d82c bhi.n 230a + 22b0: 4606 mov r6, r0 char buf[255]; char * bufp = buf; /*Add the function name*/ _lv_memcpy(bufp, msg, msg_len); - 22ca: af02 add r7, sp, #8 - 22cc: 4602 mov r2, r0 - 22ce: 4629 mov r1, r5 - 22d0: 4638 mov r0, r7 - 22d2: 4b19 ldr r3, [pc, #100] ; (2338 ) - 22d4: 4798 blx r3 + 22b2: af02 add r7, sp, #8 + 22b4: 4602 mov r2, r0 + 22b6: 4629 mov r1, r5 + 22b8: 4638 mov r0, r7 + 22ba: 4b19 ldr r3, [pc, #100] ; (2320 ) + 22bc: 4798 blx r3 bufp += msg_len; - 22d6: 19bd adds r5, r7, r6 + 22be: 19bd adds r5, r7, r6 /*Add value in hey*/ *bufp = ' '; - 22d8: 2320 movs r3, #32 - 22da: 55bb strb r3, [r7, r6] + 22c0: 2320 movs r3, #32 + 22c2: 55bb strb r3, [r7, r6] bufp ++; *bufp = '('; - 22dc: 2328 movs r3, #40 ; 0x28 - 22de: 706b strb r3, [r5, #1] + 22c4: 2328 movs r3, #40 ; 0x28 + 22c6: 706b strb r3, [r5, #1] bufp ++; *bufp = '0'; - 22e0: 2330 movs r3, #48 ; 0x30 - 22e2: 70ab strb r3, [r5, #2] + 22c8: 2330 movs r3, #48 ; 0x30 + 22ca: 70ab strb r3, [r5, #2] bufp ++; *bufp = 'x'; - 22e4: 2378 movs r3, #120 ; 0x78 - 22e6: 70eb strb r3, [r5, #3] + 22cc: 2378 movs r3, #120 ; 0x78 + 22ce: 70eb strb r3, [r5, #3] bufp ++; - 22e8: 1d29 adds r1, r5, #4 - 22ea: 221c movs r2, #28 + 22d0: 1d29 adds r1, r5, #4 + 22d2: 221c movs r2, #28 int8_t i; for(i = value_len * 2 - 1; i >= 0; i--) { uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF; *bufp = hex[x]; - 22ec: 4813 ldr r0, [pc, #76] ; (233c ) + 22d4: 4813 ldr r0, [pc, #76] ; (2324 ) uint8_t x = (unsigned long int)((unsigned long int)value >> (i * 4)) & 0xF; - 22ee: fa24 f302 lsr.w r3, r4, r2 + 22d6: fa24 f302 lsr.w r3, r4, r2 *bufp = hex[x]; - 22f2: f003 030f and.w r3, r3, #15 - 22f6: 4403 add r3, r0 - 22f8: 7d1b ldrb r3, [r3, #20] - 22fa: f801 3b01 strb.w r3, [r1], #1 - 22fe: 3a04 subs r2, #4 + 22da: f003 030f and.w r3, r3, #15 + 22de: 4403 add r3, r0 + 22e0: 7d1b ldrb r3, [r3, #20] + 22e2: f801 3b01 strb.w r3, [r1], #1 + 22e6: 3a04 subs r2, #4 for(i = value_len * 2 - 1; i >= 0; i--) { - 2300: f112 0f04 cmn.w r2, #4 - 2304: d1f3 bne.n 22ee + 22e8: f112 0f04 cmn.w r2, #4 + 22ec: d1f3 bne.n 22d6 bufp++; } *bufp = ')'; - 2306: 2329 movs r3, #41 ; 0x29 - 2308: 732b strb r3, [r5, #12] + 22ee: 2329 movs r3, #41 ; 0x29 + 22f0: 732b strb r3, [r5, #12] bufp ++; *bufp = '\0'; - 230a: 2300 movs r3, #0 - 230c: 736b strb r3, [r5, #13] + 22f2: 2300 movs r3, #0 + 22f4: 736b strb r3, [r5, #13] LV_LOG_ERROR(buf); - 230e: ab02 add r3, sp, #8 - 2310: 9300 str r3, [sp, #0] - 2312: 4b0b ldr r3, [pc, #44] ; (2340 ) - 2314: 22bc movs r2, #188 ; 0xbc - 2316: 490b ldr r1, [pc, #44] ; (2344 ) - 2318: 2003 movs r0, #3 - 231a: 4c0b ldr r4, [pc, #44] ; (2348 ) - 231c: 47a0 blx r4 + 22f6: ab02 add r3, sp, #8 + 22f8: 9300 str r3, [sp, #0] + 22fa: 4b0b ldr r3, [pc, #44] ; (2328 ) + 22fc: 22bc movs r2, #188 ; 0xbc + 22fe: 490b ldr r1, [pc, #44] ; (232c ) + 2300: 2003 movs r0, #3 + 2302: 4c0b ldr r4, [pc, #44] ; (2330 ) + 2304: 47a0 blx r4 } else { LV_LOG_ERROR(msg); } } - 231e: b043 add sp, #268 ; 0x10c - 2320: bdf0 pop {r4, r5, r6, r7, pc} + 2306: b043 add sp, #268 ; 0x10c + 2308: bdf0 pop {r4, r5, r6, r7, pc} LV_LOG_ERROR(msg); - 2322: 9500 str r5, [sp, #0] - 2324: 4b06 ldr r3, [pc, #24] ; (2340 ) - 2326: 22bf movs r2, #191 ; 0xbf - 2328: 4906 ldr r1, [pc, #24] ; (2344 ) - 232a: 2003 movs r0, #3 - 232c: 4c06 ldr r4, [pc, #24] ; (2348 ) - 232e: 47a0 blx r4 -} - 2330: e7f5 b.n 231e - 2332: bf00 nop - 2334: 0001b51f .word 0x0001b51f - 2338: 00012655 .word 0x00012655 - 233c: 00023bec .word 0x00023bec - 2340: 00023c14 .word 0x00023c14 - 2344: 00023c28 .word 0x00023c28 - 2348: 0001225d .word 0x0001225d - -0000234c : + 230a: 9500 str r5, [sp, #0] + 230c: 4b06 ldr r3, [pc, #24] ; (2328 ) + 230e: 22bf movs r2, #191 ; 0xbf + 2310: 4906 ldr r1, [pc, #24] ; (232c ) + 2312: 2003 movs r0, #3 + 2314: 4c06 ldr r4, [pc, #24] ; (2330 ) + 2316: 47a0 blx r4 +} + 2318: e7f5 b.n 2306 + 231a: bf00 nop + 231c: 0001b507 .word 0x0001b507 + 2320: 0001263d .word 0x0001263d + 2324: 00023bd4 .word 0x00023bd4 + 2328: 00023bfc .word 0x00023bfc + 232c: 00023c10 .word 0x00023c10 + 2330: 00012245 .word 0x00012245 + +00002334 : * screen) * @return pointer to the active screen object (loaded by 'lv_scr_load()') */ lv_obj_t * lv_disp_get_scr_act(lv_disp_t * disp) { if(!disp) disp = lv_disp_get_default(); - 234c: b108 cbz r0, 2352 + 2334: b108 cbz r0, 233a if(!disp) { LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen"); return NULL; } return disp->act_scr; - 234e: 6bc0 ldr r0, [r0, #60] ; 0x3c - 2350: 4770 bx lr + 2336: 6bc0 ldr r0, [r0, #60] ; 0x3c + 2338: 4770 bx lr { - 2352: b510 push {r4, lr} - 2354: b082 sub sp, #8 + 233a: b510 push {r4, lr} + 233c: b082 sub sp, #8 if(!disp) disp = lv_disp_get_default(); - 2356: 4b08 ldr r3, [pc, #32] ; (2378 ) - 2358: 4798 blx r3 + 233e: 4b08 ldr r3, [pc, #32] ; (2360 ) + 2340: 4798 blx r3 if(!disp) { - 235a: b110 cbz r0, 2362 + 2342: b110 cbz r0, 234a return disp->act_scr; - 235c: 6bc0 ldr r0, [r0, #60] ; 0x3c + 2344: 6bc0 ldr r0, [r0, #60] ; 0x3c } - 235e: b002 add sp, #8 - 2360: bd10 pop {r4, pc} + 2346: b002 add sp, #8 + 2348: bd10 pop {r4, pc} LV_LOG_WARN("lv_scr_act: no display registered to get its act. screen"); - 2362: 4b06 ldr r3, [pc, #24] ; (237c ) - 2364: 9300 str r3, [sp, #0] - 2366: 4b06 ldr r3, [pc, #24] ; (2380 ) - 2368: 222e movs r2, #46 ; 0x2e - 236a: 4906 ldr r1, [pc, #24] ; (2384 ) - 236c: 2002 movs r0, #2 - 236e: 4c06 ldr r4, [pc, #24] ; (2388 ) - 2370: 47a0 blx r4 + 234a: 4b06 ldr r3, [pc, #24] ; (2364 ) + 234c: 9300 str r3, [sp, #0] + 234e: 4b06 ldr r3, [pc, #24] ; (2368 ) + 2350: 222e movs r2, #46 ; 0x2e + 2352: 4906 ldr r1, [pc, #24] ; (236c ) + 2354: 2002 movs r0, #2 + 2356: 4c06 ldr r4, [pc, #24] ; (2370 ) + 2358: 47a0 blx r4 return NULL; - 2372: 2000 movs r0, #0 - 2374: e7f3 b.n 235e - 2376: bf00 nop - 2378: 00010ee1 .word 0x00010ee1 - 237c: 00023e04 .word 0x00023e04 - 2380: 00023d30 .word 0x00023d30 - 2384: 00023dd8 .word 0x00023dd8 - 2388: 0001225d .word 0x0001225d - -0000238c : + 235a: 2000 movs r0, #0 + 235c: e7f3 b.n 2346 + 235e: bf00 nop + 2360: 00010ec9 .word 0x00010ec9 + 2364: 00023dec .word 0x00023dec + 2368: 00023d18 .word 0x00023d18 + 236c: 00023dc0 .word 0x00023dc0 + 2370: 00012245 .word 0x00012245 + +00002374 : * @param disp pointer to display which top layer should be get. (NULL to use the default screen) * @return pointer to the top layer object (transparent screen sized lv_obj) */ lv_obj_t * lv_disp_get_layer_top(lv_disp_t * disp) { if(!disp) disp = lv_disp_get_default(); - 238c: b108 cbz r0, 2392 + 2374: b108 cbz r0, 237a if(!disp) { LV_LOG_WARN("lv_layer_top: no display registered to get its top layer"); return NULL; } return disp->top_layer; - 238e: 6c00 ldr r0, [r0, #64] ; 0x40 - 2390: 4770 bx lr + 2376: 6c00 ldr r0, [r0, #64] ; 0x40 + 2378: 4770 bx lr { - 2392: b510 push {r4, lr} - 2394: b082 sub sp, #8 + 237a: b510 push {r4, lr} + 237c: b082 sub sp, #8 if(!disp) disp = lv_disp_get_default(); - 2396: 4b08 ldr r3, [pc, #32] ; (23b8 ) - 2398: 4798 blx r3 + 237e: 4b08 ldr r3, [pc, #32] ; (23a0 ) + 2380: 4798 blx r3 if(!disp) { - 239a: b110 cbz r0, 23a2 + 2382: b110 cbz r0, 238a return disp->top_layer; - 239c: 6c00 ldr r0, [r0, #64] ; 0x40 + 2384: 6c00 ldr r0, [r0, #64] ; 0x40 } - 239e: b002 add sp, #8 - 23a0: bd10 pop {r4, pc} + 2386: b002 add sp, #8 + 2388: bd10 pop {r4, pc} LV_LOG_WARN("lv_layer_top: no display registered to get its top layer"); - 23a2: 4b06 ldr r3, [pc, #24] ; (23bc ) - 23a4: 9300 str r3, [sp, #0] - 23a6: 4b06 ldr r3, [pc, #24] ; (23c0 ) - 23a8: 224b movs r2, #75 ; 0x4b - 23aa: 4906 ldr r1, [pc, #24] ; (23c4 ) - 23ac: 2002 movs r0, #2 - 23ae: 4c06 ldr r4, [pc, #24] ; (23c8 ) - 23b0: 47a0 blx r4 + 238a: 4b06 ldr r3, [pc, #24] ; (23a4 ) + 238c: 9300 str r3, [sp, #0] + 238e: 4b06 ldr r3, [pc, #24] ; (23a8 ) + 2390: 224b movs r2, #75 ; 0x4b + 2392: 4906 ldr r1, [pc, #24] ; (23ac ) + 2394: 2002 movs r0, #2 + 2396: 4c06 ldr r4, [pc, #24] ; (23b0 ) + 2398: 47a0 blx r4 return NULL; - 23b2: 2000 movs r0, #0 - 23b4: e7f3 b.n 239e - 23b6: bf00 nop - 23b8: 00010ee1 .word 0x00010ee1 - 23bc: 00023e40 .word 0x00023e40 - 23c0: 00023d44 .word 0x00023d44 - 23c4: 00023dd8 .word 0x00023dd8 - 23c8: 0001225d .word 0x0001225d - -000023cc : + 239a: 2000 movs r0, #0 + 239c: e7f3 b.n 2386 + 239e: bf00 nop + 23a0: 00010ec9 .word 0x00010ec9 + 23a4: 00023e28 .word 0x00023e28 + 23a8: 00023d2c .word 0x00023d2c + 23ac: 00023dc0 .word 0x00023dc0 + 23b0: 00012245 .word 0x00012245 + +000023b4 : * @param disp pointer to display which sys. layer should be get. (NULL to use the default screen) * @return pointer to the sys layer object (transparent screen sized lv_obj) */ lv_obj_t * lv_disp_get_layer_sys(lv_disp_t * disp) { if(!disp) disp = lv_disp_get_default(); - 23cc: b108 cbz r0, 23d2 + 23b4: b108 cbz r0, 23ba if(!disp) { LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer"); return NULL; } return disp->sys_layer; - 23ce: 6c40 ldr r0, [r0, #68] ; 0x44 - 23d0: 4770 bx lr + 23b6: 6c40 ldr r0, [r0, #68] ; 0x44 + 23b8: 4770 bx lr { - 23d2: b510 push {r4, lr} - 23d4: b082 sub sp, #8 + 23ba: b510 push {r4, lr} + 23bc: b082 sub sp, #8 if(!disp) disp = lv_disp_get_default(); - 23d6: 4b08 ldr r3, [pc, #32] ; (23f8 ) - 23d8: 4798 blx r3 + 23be: 4b08 ldr r3, [pc, #32] ; (23e0 ) + 23c0: 4798 blx r3 if(!disp) { - 23da: b110 cbz r0, 23e2 + 23c2: b110 cbz r0, 23ca return disp->sys_layer; - 23dc: 6c40 ldr r0, [r0, #68] ; 0x44 + 23c4: 6c40 ldr r0, [r0, #68] ; 0x44 } - 23de: b002 add sp, #8 - 23e0: bd10 pop {r4, pc} + 23c6: b002 add sp, #8 + 23c8: bd10 pop {r4, pc} LV_LOG_WARN("lv_layer_sys: no display registered to get its sys. layer"); - 23e2: 4b06 ldr r3, [pc, #24] ; (23fc ) - 23e4: 9300 str r3, [sp, #0] - 23e6: 4b06 ldr r3, [pc, #24] ; (2400 ) - 23e8: 225c movs r2, #92 ; 0x5c - 23ea: 4906 ldr r1, [pc, #24] ; (2404 ) - 23ec: 2002 movs r0, #2 - 23ee: 4c06 ldr r4, [pc, #24] ; (2408 ) - 23f0: 47a0 blx r4 + 23ca: 4b06 ldr r3, [pc, #24] ; (23e4 ) + 23cc: 9300 str r3, [sp, #0] + 23ce: 4b06 ldr r3, [pc, #24] ; (23e8 ) + 23d0: 225c movs r2, #92 ; 0x5c + 23d2: 4906 ldr r1, [pc, #24] ; (23ec ) + 23d4: 2002 movs r0, #2 + 23d6: 4c06 ldr r4, [pc, #24] ; (23f0 ) + 23d8: 47a0 blx r4 return NULL; - 23f2: 2000 movs r0, #0 - 23f4: e7f3 b.n 23de - 23f6: bf00 nop - 23f8: 00010ee1 .word 0x00010ee1 - 23fc: 00023e7c .word 0x00023e7c - 2400: 00023d5c .word 0x00023d5c - 2404: 00023dd8 .word 0x00023dd8 - 2408: 0001225d .word 0x0001225d - -0000240c : + 23da: 2000 movs r0, #0 + 23dc: e7f3 b.n 23c6 + 23de: bf00 nop + 23e0: 00010ec9 .word 0x00010ec9 + 23e4: 00023e64 .word 0x00023e64 + 23e8: 00023d44 .word 0x00023d44 + 23ec: 00023dc0 .word 0x00023dc0 + 23f0: 00012245 .word 0x00012245 + +000023f4 : static void obj_to_foreground(lv_obj_t * obj) { /*Search for 'top' attribute*/ lv_obj_t * i = obj; lv_obj_t * last_top = NULL; while(i != NULL) { - 240c: b1a0 cbz r0, 2438 + 23f4: b1a0 cbz r0, 2420 { - 240e: b538 push {r3, r4, r5, lr} - 2410: 4603 mov r3, r0 + 23f6: b538 push {r3, r4, r5, lr} + 23f8: 4603 mov r3, r0 while(i != NULL) { - 2412: 2400 movs r4, #0 + 23fa: 2400 movs r4, #0 if(i->top != 0) last_top = i; i = lv_obj_get_parent(i); - 2414: 4d09 ldr r5, [pc, #36] ; (243c ) + 23fc: 4d09 ldr r5, [pc, #36] ; (2424 ) if(i->top != 0) last_top = i; - 2416: f893 2034 ldrb.w r2, [r3, #52] ; 0x34 - 241a: f002 0220 and.w r2, r2, #32 - 241e: 2a00 cmp r2, #0 - 2420: bf18 it ne - 2422: 461c movne r4, r3 + 23fe: f893 2034 ldrb.w r2, [r3, #52] ; 0x34 + 2402: f002 0220 and.w r2, r2, #32 + 2406: 2a00 cmp r2, #0 + 2408: bf18 it ne + 240a: 461c movne r4, r3 i = lv_obj_get_parent(i); - 2424: 4618 mov r0, r3 - 2426: 47a8 blx r5 + 240c: 4618 mov r0, r3 + 240e: 47a8 blx r5 while(i != NULL) { - 2428: 4603 mov r3, r0 - 242a: 2800 cmp r0, #0 - 242c: d1f3 bne.n 2416 + 2410: 4603 mov r3, r0 + 2412: 2800 cmp r0, #0 + 2414: d1f3 bne.n 23fe } if(last_top != NULL) { - 242e: b114 cbz r4, 2436 + 2416: b114 cbz r4, 241e /*Move the last_top object to the foreground*/ lv_obj_move_foreground(last_top); - 2430: 4620 mov r0, r4 - 2432: 4b03 ldr r3, [pc, #12] ; (2440 ) - 2434: 4798 blx r3 - 2436: bd38 pop {r3, r4, r5, pc} - 2438: 4770 bx lr - 243a: bf00 nop - 243c: 00002c7d .word 0x00002c7d - 2440: 000033b5 .word 0x000033b5 - -00002444 : -{ - 2444: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 2418: 4620 mov r0, r4 + 241a: 4b03 ldr r3, [pc, #12] ; (2428 ) + 241c: 4798 blx r3 + 241e: bd38 pop {r3, r4, r5, pc} + 2420: 4770 bx lr + 2422: bf00 nop + 2424: 00002c65 .word 0x00002c65 + 2428: 0000339d .word 0x0000339d + +0000242c : +{ + 242c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} if(group->frozen) return; - 2448: 7d03 ldrb r3, [r0, #20] - 244a: f013 0f01 tst.w r3, #1 - 244e: d12a bne.n 24a6 - 2450: 4617 mov r7, r2 - 2452: 468a mov sl, r1 - 2454: 4606 mov r6, r0 + 2430: 7d03 ldrb r3, [r0, #20] + 2432: f013 0f01 tst.w r3, #1 + 2436: d12a bne.n 248e + 2438: 4617 mov r7, r2 + 243a: 468a mov sl, r1 + 243c: 4606 mov r6, r0 lv_obj_t ** obj_next = group->obj_focus; - 2456: 68c4 ldr r4, [r0, #12] + 243e: 68c4 ldr r4, [r0, #12] bool can_begin = true; - 2458: f04f 0901 mov.w r9, #1 + 2440: f04f 0901 mov.w r9, #1 lv_obj_t ** obj_sentinel = NULL; - 245c: 2500 movs r5, #0 + 2444: 2500 movs r5, #0 if(!lv_obj_get_hidden(*obj_next)) break; - 245e: f8df 80c4 ldr.w r8, [pc, #196] ; 2524 + 2446: f8df 80c4 ldr.w r8, [pc, #196] ; 250c can_begin = false; - 2462: 46ab mov fp, r5 - 2464: e04a b.n 24fc + 244a: 46ab mov fp, r5 + 244c: e04a b.n 24e4 if(group->wrap || obj_sentinel == NULL) { - 2466: 7d33 ldrb r3, [r6, #20] - 2468: f013 0f10 tst.w r3, #16 - 246c: d100 bne.n 2470 - 246e: b9d5 cbnz r5, 24a6 + 244e: 7d33 ldrb r3, [r6, #20] + 2450: f013 0f10 tst.w r3, #16 + 2454: d100 bne.n 2458 + 2456: b9d5 cbnz r5, 248e if(!can_begin) return; - 2470: f1b9 0f00 cmp.w r9, #0 - 2474: d017 beq.n 24a6 + 2458: f1b9 0f00 cmp.w r9, #0 + 245c: d017 beq.n 248e obj_next = begin(&group->obj_ll); - 2476: 4630 mov r0, r6 - 2478: 47d0 blx sl - 247a: 4604 mov r4, r0 + 245e: 4630 mov r0, r6 + 2460: 47d0 blx sl + 2462: 4604 mov r4, r0 if(obj_sentinel == NULL) { - 247c: 2d00 cmp r5, #0 - 247e: d035 beq.n 24ec + 2464: 2d00 cmp r5, #0 + 2466: d035 beq.n 24d4 can_begin = false; - 2480: 46d9 mov r9, fp - 2482: e046 b.n 2512 + 2468: 46d9 mov r9, fp + 246a: e046 b.n 24fa if(obj_next == group->obj_focus) return; /*There's only one visible object and it's already focused*/ - 2484: 68f3 ldr r3, [r6, #12] - 2486: 42a3 cmp r3, r4 - 2488: d00d beq.n 24a6 + 246c: 68f3 ldr r3, [r6, #12] + 246e: 42a3 cmp r3, r4 + 2470: d00d beq.n 248e if(group->obj_focus) { - 248a: b193 cbz r3, 24b2 + 2472: b193 cbz r3, 249a (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_DEFOCUS, NULL); - 248c: 6818 ldr r0, [r3, #0] - 248e: 69c3 ldr r3, [r0, #28] - 2490: 2200 movs r2, #0 - 2492: 2117 movs r1, #23 - 2494: 4798 blx r3 + 2474: 6818 ldr r0, [r3, #0] + 2476: 69c3 ldr r3, [r0, #28] + 2478: 2200 movs r2, #0 + 247a: 2117 movs r1, #23 + 247c: 4798 blx r3 lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_DEFOCUSED, NULL); - 2496: 68f3 ldr r3, [r6, #12] - 2498: 2200 movs r2, #0 - 249a: 210e movs r1, #14 - 249c: 6818 ldr r0, [r3, #0] - 249e: 4b1e ldr r3, [pc, #120] ; (2518 ) - 24a0: 4798 blx r3 + 247e: 68f3 ldr r3, [r6, #12] + 2480: 2200 movs r2, #0 + 2482: 210e movs r1, #14 + 2484: 6818 ldr r0, [r3, #0] + 2486: 4b1e ldr r3, [pc, #120] ; (2500 ) + 2488: 4798 blx r3 if(res != LV_RES_OK) return; - 24a2: 2801 cmp r0, #1 - 24a4: d001 beq.n 24aa - 24a6: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 248a: 2801 cmp r0, #1 + 248c: d001 beq.n 2492 + 248e: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} lv_obj_invalidate(*group->obj_focus); - 24aa: 68f3 ldr r3, [r6, #12] - 24ac: 6818 ldr r0, [r3, #0] - 24ae: 4b1b ldr r3, [pc, #108] ; (251c ) - 24b0: 4798 blx r3 + 2492: 68f3 ldr r3, [r6, #12] + 2494: 6818 ldr r0, [r3, #0] + 2496: 4b1b ldr r3, [pc, #108] ; (2504 ) + 2498: 4798 blx r3 group->obj_focus = obj_next; - 24b2: 60f4 str r4, [r6, #12] + 249a: 60f4 str r4, [r6, #12] (*group->obj_focus)->signal_cb(*group->obj_focus, LV_SIGNAL_FOCUS, NULL); - 24b4: 6820 ldr r0, [r4, #0] - 24b6: 69c3 ldr r3, [r0, #28] - 24b8: 2200 movs r2, #0 - 24ba: 2116 movs r1, #22 - 24bc: 4798 blx r3 + 249c: 6820 ldr r0, [r4, #0] + 249e: 69c3 ldr r3, [r0, #28] + 24a0: 2200 movs r2, #0 + 24a2: 2116 movs r1, #22 + 24a4: 4798 blx r3 lv_res_t res = lv_event_send(*group->obj_focus, LV_EVENT_FOCUSED, NULL); - 24be: 68f3 ldr r3, [r6, #12] - 24c0: 2200 movs r2, #0 - 24c2: 210d movs r1, #13 - 24c4: 6818 ldr r0, [r3, #0] - 24c6: 4b14 ldr r3, [pc, #80] ; (2518 ) - 24c8: 4798 blx r3 + 24a6: 68f3 ldr r3, [r6, #12] + 24a8: 2200 movs r2, #0 + 24aa: 210d movs r1, #13 + 24ac: 6818 ldr r0, [r3, #0] + 24ae: 4b14 ldr r3, [pc, #80] ; (2500 ) + 24b0: 4798 blx r3 if(res != LV_RES_OK) return; - 24ca: 2801 cmp r0, #1 - 24cc: d1eb bne.n 24a6 + 24b2: 2801 cmp r0, #1 + 24b4: d1eb bne.n 248e obj_to_foreground(*group->obj_focus); - 24ce: 68f3 ldr r3, [r6, #12] - 24d0: 6818 ldr r0, [r3, #0] - 24d2: 4b13 ldr r3, [pc, #76] ; (2520 ) - 24d4: 4798 blx r3 + 24b6: 68f3 ldr r3, [r6, #12] + 24b8: 6818 ldr r0, [r3, #0] + 24ba: 4b13 ldr r3, [pc, #76] ; (2508 ) + 24bc: 4798 blx r3 lv_obj_invalidate(*group->obj_focus); - 24d6: 68f3 ldr r3, [r6, #12] - 24d8: 6818 ldr r0, [r3, #0] - 24da: 4b10 ldr r3, [pc, #64] ; (251c ) - 24dc: 4798 blx r3 + 24be: 68f3 ldr r3, [r6, #12] + 24c0: 6818 ldr r0, [r3, #0] + 24c2: 4b10 ldr r3, [pc, #64] ; (2504 ) + 24c4: 4798 blx r3 if(group->focus_cb) group->focus_cb(group); - 24de: 6933 ldr r3, [r6, #16] - 24e0: 2b00 cmp r3, #0 - 24e2: d0e0 beq.n 24a6 - 24e4: 4630 mov r0, r6 - 24e6: 4798 blx r3 - 24e8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 24c6: 6933 ldr r3, [r6, #16] + 24c8: 2b00 cmp r3, #0 + 24ca: d0e0 beq.n 248e + 24cc: 4630 mov r0, r6 + 24ce: 4798 blx r3 + 24d0: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} if(obj_sentinel == NULL) return; /*Group is empty*/ - 24ec: 2800 cmp r0, #0 - 24ee: d0da beq.n 24a6 + 24d4: 2800 cmp r0, #0 + 24d6: d0da beq.n 248e obj_next = begin(&group->obj_ll); - 24f0: 4605 mov r5, r0 + 24d8: 4605 mov r5, r0 can_begin = false; - 24f2: 46d9 mov r9, fp + 24da: 46d9 mov r9, fp if(!lv_obj_get_hidden(*obj_next)) break; - 24f4: 6820 ldr r0, [r4, #0] - 24f6: 47c0 blx r8 - 24f8: 2800 cmp r0, #0 - 24fa: d0c3 beq.n 2484 + 24dc: 6820 ldr r0, [r4, #0] + 24de: 47c0 blx r8 + 24e0: 2800 cmp r0, #0 + 24e2: d0c3 beq.n 246c if(obj_next == NULL) { - 24fc: 2c00 cmp r4, #0 - 24fe: d0b2 beq.n 2466 - 2500: 2d00 cmp r5, #0 - 2502: bf08 it eq - 2504: 4625 moveq r5, r4 + 24e4: 2c00 cmp r4, #0 + 24e6: d0b2 beq.n 244e + 24e8: 2d00 cmp r5, #0 + 24ea: bf08 it eq + 24ec: 4625 moveq r5, r4 obj_next = move(&group->obj_ll, obj_next); - 2506: 4621 mov r1, r4 - 2508: 4630 mov r0, r6 - 250a: 47b8 blx r7 - 250c: 4604 mov r4, r0 + 24ee: 4621 mov r1, r4 + 24f0: 4630 mov r0, r6 + 24f2: 47b8 blx r7 + 24f4: 4604 mov r4, r0 if(obj_next == obj_sentinel) return; - 250e: 42a8 cmp r0, r5 - 2510: d0c9 beq.n 24a6 + 24f6: 42a8 cmp r0, r5 + 24f8: d0c9 beq.n 248e if(obj_next == NULL) continue; - 2512: 2c00 cmp r4, #0 - 2514: d1ee bne.n 24f4 - 2516: e7f1 b.n 24fc - 2518: 00002acd .word 0x00002acd - 251c: 00003321 .word 0x00003321 - 2520: 0000240d .word 0x0000240d - 2524: 000031a5 .word 0x000031a5 + 24fa: 2c00 cmp r4, #0 + 24fc: d1ee bne.n 24dc + 24fe: e7f1 b.n 24e4 + 2500: 00002ab5 .word 0x00002ab5 + 2504: 00003309 .word 0x00003309 + 2508: 000023f5 .word 0x000023f5 + 250c: 0000318d .word 0x0000318d -00002528 <_lv_group_init>: +00002510 <_lv_group_init>: { - 2528: b508 push {r3, lr} + 2510: b508 push {r3, lr} _lv_ll_init(&LV_GC_ROOT(_lv_group_ll), sizeof(lv_group_t)); - 252a: 2118 movs r1, #24 - 252c: 4801 ldr r0, [pc, #4] ; (2534 <_lv_group_init+0xc>) - 252e: 4b02 ldr r3, [pc, #8] ; (2538 <_lv_group_init+0x10>) - 2530: 4798 blx r3 - 2532: bd08 pop {r3, pc} - 2534: 20006dec .word 0x20006dec - 2538: 00011ef9 .word 0x00011ef9 + 2512: 2118 movs r1, #24 + 2514: 4801 ldr r0, [pc, #4] ; (251c <_lv_group_init+0xc>) + 2516: 4b02 ldr r3, [pc, #8] ; (2520 <_lv_group_init+0x10>) + 2518: 4798 blx r3 + 251a: bd08 pop {r3, pc} + 251c: 20006dec .word 0x20006dec + 2520: 00011ee1 .word 0x00011ee1 -0000253c : +00002524 : { - 253c: b508 push {r3, lr} + 2524: b508 push {r3, lr} focus_next_core(group, _lv_ll_get_head, _lv_ll_get_next); - 253e: 4a02 ldr r2, [pc, #8] ; (2548 ) - 2540: 4902 ldr r1, [pc, #8] ; (254c ) - 2542: 4b03 ldr r3, [pc, #12] ; (2550 ) + 2526: 4a02 ldr r2, [pc, #8] ; (2530 ) + 2528: 4902 ldr r1, [pc, #8] ; (2534 ) + 252a: 4b03 ldr r3, [pc, #12] ; (2538 ) + 252c: 4798 blx r3 + 252e: bd08 pop {r3, pc} + 2530: 00011fa5 .word 0x00011fa5 + 2534: 00011f91 .word 0x00011f91 + 2538: 0000242d .word 0x0000242d + +0000253c : +{ + 253c: b508 push {r3, lr} + focus_next_core(group, _lv_ll_get_tail, _lv_ll_get_prev); + 253e: 4a02 ldr r2, [pc, #8] ; (2548 ) + 2540: 4902 ldr r1, [pc, #8] ; (254c ) + 2542: 4b03 ldr r3, [pc, #12] ; (2550 ) 2544: 4798 blx r3 2546: bd08 pop {r3, pc} - 2548: 00011fbd .word 0x00011fbd - 254c: 00011fa9 .word 0x00011fa9 - 2550: 00002445 .word 0x00002445 + 2548: 00011fd1 .word 0x00011fd1 + 254c: 00011f9b .word 0x00011f9b + 2550: 0000242d .word 0x0000242d -00002554 : +00002554 : { - 2554: b508 push {r3, lr} - focus_next_core(group, _lv_ll_get_tail, _lv_ll_get_prev); - 2556: 4a02 ldr r2, [pc, #8] ; (2560 ) - 2558: 4902 ldr r1, [pc, #8] ; (2564 ) - 255a: 4b03 ldr r3, [pc, #12] ; (2568 ) - 255c: 4798 blx r3 - 255e: bd08 pop {r3, pc} - 2560: 00011fe9 .word 0x00011fe9 - 2564: 00011fb3 .word 0x00011fb3 - 2568: 00002445 .word 0x00002445 - -0000256c : -{ - 256c: b538 push {r3, r4, r5, lr} - 256e: 4604 mov r4, r0 + 2554: b538 push {r3, r4, r5, lr} + 2556: 4604 mov r4, r0 uint8_t temp_wrap = g->wrap; - 2570: 7d03 ldrb r3, [r0, #20] - 2572: f3c3 1500 ubfx r5, r3, #4, #1 + 2558: 7d03 ldrb r3, [r0, #20] + 255a: f3c3 1500 ubfx r5, r3, #4, #1 g->wrap = 1; - 2576: f043 0310 orr.w r3, r3, #16 - 257a: 7503 strb r3, [r0, #20] + 255e: f043 0310 orr.w r3, r3, #16 + 2562: 7503 strb r3, [r0, #20] if(g->refocus_policy == LV_GROUP_REFOCUS_POLICY_NEXT) - 257c: f013 0f08 tst.w r3, #8 + 2564: f013 0f08 tst.w r3, #8 lv_group_focus_next(g); - 2580: bf0c ite eq - 2582: 4b04 ldreq r3, [pc, #16] ; (2594 ) + 2568: bf0c ite eq + 256a: 4b04 ldreq r3, [pc, #16] ; (257c ) lv_group_focus_prev(g); - 2584: 4b04 ldrne r3, [pc, #16] ; (2598 ) - 2586: 4798 blx r3 + 256c: 4b04 ldrne r3, [pc, #16] ; (2580 ) + 256e: 4798 blx r3 g->wrap = temp_wrap; - 2588: 7d23 ldrb r3, [r4, #20] - 258a: f365 1304 bfi r3, r5, #4, #1 - 258e: 7523 strb r3, [r4, #20] - 2590: bd38 pop {r3, r4, r5, pc} - 2592: bf00 nop - 2594: 0000253d .word 0x0000253d - 2598: 00002555 .word 0x00002555 - -0000259c : + 2570: 7d23 ldrb r3, [r4, #20] + 2572: f365 1304 bfi r3, r5, #4, #1 + 2576: 7523 strb r3, [r4, #20] + 2578: bd38 pop {r3, r4, r5, pc} + 257a: bf00 nop + 257c: 00002525 .word 0x00002525 + 2580: 0000253d .word 0x0000253d + +00002584 : if(group == NULL) return; - 259c: 2800 cmp r0, #0 - 259e: d04f beq.n 2640 + 2584: 2800 cmp r0, #0 + 2586: d04f beq.n 2628 { - 25a0: b5f0 push {r4, r5, r6, r7, lr} - 25a2: b083 sub sp, #12 - 25a4: 4605 mov r5, r0 - 25a6: 460c mov r4, r1 + 2588: b5f0 push {r4, r5, r6, r7, lr} + 258a: b083 sub sp, #12 + 258c: 4605 mov r5, r0 + 258e: 460c mov r4, r1 _LV_LL_READ(group->obj_ll, obj_i) { - 25a8: 4607 mov r7, r0 - 25aa: 4b26 ldr r3, [pc, #152] ; (2644 ) - 25ac: 4798 blx r3 - 25ae: 4601 mov r1, r0 - 25b0: b1a0 cbz r0, 25dc + 2590: 4607 mov r7, r0 + 2592: 4b26 ldr r3, [pc, #152] ; (262c ) + 2594: 4798 blx r3 + 2596: 4601 mov r1, r0 + 2598: b1a0 cbz r0, 25c4 if((*obj_i) == obj) { - 25b2: 6803 ldr r3, [r0, #0] - 25b4: 429c cmp r4, r3 - 25b6: d007 beq.n 25c8 + 259a: 6803 ldr r3, [r0, #0] + 259c: 429c cmp r4, r3 + 259e: d007 beq.n 25b0 _LV_LL_READ(group->obj_ll, obj_i) { - 25b8: 4e23 ldr r6, [pc, #140] ; (2648 ) - 25ba: 4638 mov r0, r7 - 25bc: 47b0 blx r6 - 25be: 4601 mov r1, r0 - 25c0: b160 cbz r0, 25dc + 25a0: 4e23 ldr r6, [pc, #140] ; (2630 ) + 25a2: 4638 mov r0, r7 + 25a4: 47b0 blx r6 + 25a6: 4601 mov r1, r0 + 25a8: b160 cbz r0, 25c4 if((*obj_i) == obj) { - 25c2: 680b ldr r3, [r1, #0] - 25c4: 42a3 cmp r3, r4 - 25c6: d1f8 bne.n 25ba + 25aa: 680b ldr r3, [r1, #0] + 25ac: 42a3 cmp r3, r4 + 25ae: d1f8 bne.n 25a2 LV_LOG_INFO("lv_group_add_obj: the object is already added to this group"); - 25c8: 4b20 ldr r3, [pc, #128] ; (264c ) - 25ca: 9300 str r3, [sp, #0] - 25cc: 4b20 ldr r3, [pc, #128] ; (2650 ) - 25ce: 2275 movs r2, #117 ; 0x75 - 25d0: 4920 ldr r1, [pc, #128] ; (2654 ) - 25d2: 2001 movs r0, #1 - 25d4: 4c20 ldr r4, [pc, #128] ; (2658 ) - 25d6: 47a0 blx r4 -} - 25d8: b003 add sp, #12 - 25da: bdf0 pop {r4, r5, r6, r7, pc} + 25b0: 4b20 ldr r3, [pc, #128] ; (2634 ) + 25b2: 9300 str r3, [sp, #0] + 25b4: 4b20 ldr r3, [pc, #128] ; (2638 ) + 25b6: 2275 movs r2, #117 ; 0x75 + 25b8: 4920 ldr r1, [pc, #128] ; (263c ) + 25ba: 2001 movs r0, #1 + 25bc: 4c20 ldr r4, [pc, #128] ; (2640 ) + 25be: 47a0 blx r4 +} + 25c0: b003 add sp, #12 + 25c2: bdf0 pop {r4, r5, r6, r7, pc} if(obj->group_p) { - 25dc: 6ba3 ldr r3, [r4, #56] ; 0x38 - 25de: b173 cbz r3, 25fe + 25c4: 6ba3 ldr r3, [r4, #56] ; 0x38 + 25c6: b173 cbz r3, 25e6 if(lv_obj_is_focused(obj)) { - 25e0: 4620 mov r0, r4 - 25e2: 4b1e ldr r3, [pc, #120] ; (265c ) - 25e4: 4798 blx r3 - 25e6: b150 cbz r0, 25fe + 25c8: 4620 mov r0, r4 + 25ca: 4b1e ldr r3, [pc, #120] ; (2644 ) + 25cc: 4798 blx r3 + 25ce: b150 cbz r0, 25e6 lv_group_refocus(obj->group_p); - 25e8: 6ba0 ldr r0, [r4, #56] ; 0x38 - 25ea: 4b1d ldr r3, [pc, #116] ; (2660 ) - 25ec: 4798 blx r3 + 25d0: 6ba0 ldr r0, [r4, #56] ; 0x38 + 25d2: 4b1d ldr r3, [pc, #116] ; (2648 ) + 25d4: 4798 blx r3 LV_LOG_INFO("lv_group_add_obj: assign object to an other group"); - 25ee: 4b1d ldr r3, [pc, #116] ; (2664 ) - 25f0: 9300 str r3, [sp, #0] - 25f2: 4b17 ldr r3, [pc, #92] ; (2650 ) - 25f4: 227f movs r2, #127 ; 0x7f - 25f6: 4917 ldr r1, [pc, #92] ; (2654 ) - 25f8: 2001 movs r0, #1 - 25fa: 4e17 ldr r6, [pc, #92] ; (2658 ) - 25fc: 47b0 blx r6 + 25d6: 4b1d ldr r3, [pc, #116] ; (264c ) + 25d8: 9300 str r3, [sp, #0] + 25da: 4b17 ldr r3, [pc, #92] ; (2638 ) + 25dc: 227f movs r2, #127 ; 0x7f + 25de: 4917 ldr r1, [pc, #92] ; (263c ) + 25e0: 2001 movs r0, #1 + 25e2: 4e17 ldr r6, [pc, #92] ; (2640 ) + 25e4: 47b0 blx r6 obj->group_p = group; - 25fe: 63a5 str r5, [r4, #56] ; 0x38 + 25e6: 63a5 str r5, [r4, #56] ; 0x38 lv_obj_t ** next = _lv_ll_ins_tail(&group->obj_ll); - 2600: 4628 mov r0, r5 - 2602: 4b19 ldr r3, [pc, #100] ; (2668 ) - 2604: 4798 blx r3 - 2606: 4606 mov r6, r0 + 25e8: 4628 mov r0, r5 + 25ea: 4b19 ldr r3, [pc, #100] ; (2650 ) + 25ec: 4798 blx r3 + 25ee: 4606 mov r6, r0 LV_ASSERT_MEM(next); - 2608: 4b18 ldr r3, [pc, #96] ; (266c ) - 260a: 4798 blx r3 - 260c: b158 cbz r0, 2626 + 25f0: 4b18 ldr r3, [pc, #96] ; (2654 ) + 25f2: 4798 blx r3 + 25f4: b158 cbz r0, 260e if(next == NULL) return; - 260e: 2e00 cmp r6, #0 - 2610: d0e2 beq.n 25d8 + 25f6: 2e00 cmp r6, #0 + 25f8: d0e2 beq.n 25c0 *next = obj; - 2612: 6034 str r4, [r6, #0] + 25fa: 6034 str r4, [r6, #0] if(_lv_ll_get_head(&group->obj_ll) == next) { - 2614: 4628 mov r0, r5 - 2616: 4b0b ldr r3, [pc, #44] ; (2644 ) - 2618: 4798 blx r3 - 261a: 4286 cmp r6, r0 - 261c: d1dc bne.n 25d8 + 25fc: 4628 mov r0, r5 + 25fe: 4b0b ldr r3, [pc, #44] ; (262c ) + 2600: 4798 blx r3 + 2602: 4286 cmp r6, r0 + 2604: d1dc bne.n 25c0 lv_group_refocus(group); - 261e: 4628 mov r0, r5 - 2620: 4b0f ldr r3, [pc, #60] ; (2660 ) - 2622: 4798 blx r3 - 2624: e7d8 b.n 25d8 + 2606: 4628 mov r0, r5 + 2608: 4b0f ldr r3, [pc, #60] ; (2648 ) + 260a: 4798 blx r3 + 260c: e7d8 b.n 25c0 LV_ASSERT_MEM(next); - 2626: 4b0a ldr r3, [pc, #40] ; (2650 ) - 2628: 9300 str r3, [sp, #0] - 262a: 2285 movs r2, #133 ; 0x85 - 262c: 4909 ldr r1, [pc, #36] ; (2654 ) - 262e: 2003 movs r0, #3 - 2630: 4c09 ldr r4, [pc, #36] ; (2658 ) - 2632: 47a0 blx r4 - 2634: 4632 mov r2, r6 - 2636: 2300 movs r3, #0 - 2638: 480d ldr r0, [pc, #52] ; (2670 ) - 263a: 490e ldr r1, [pc, #56] ; (2674 ) - 263c: 4788 blx r1 - 263e: e7fe b.n 263e - 2640: 4770 bx lr - 2642: bf00 nop - 2644: 00011fa9 .word 0x00011fa9 - 2648: 00011fbd .word 0x00011fbd - 264c: 00023fe8 .word 0x00023fe8 - 2650: 00023f98 .word 0x00023f98 - 2654: 00023fac .word 0x00023fac - 2658: 0001225d .word 0x0001225d - 265c: 00004ff9 .word 0x00004ff9 - 2660: 0000256d .word 0x0000256d - 2664: 00024024 .word 0x00024024 - 2668: 00011f5d .word 0x00011f5d - 266c: 000022b1 .word 0x000022b1 - 2670: 00023fd8 .word 0x00023fd8 - 2674: 000022b9 .word 0x000022b9 - -00002678 : -{ - 2678: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 260e: 4b0a ldr r3, [pc, #40] ; (2638 ) + 2610: 9300 str r3, [sp, #0] + 2612: 2285 movs r2, #133 ; 0x85 + 2614: 4909 ldr r1, [pc, #36] ; (263c ) + 2616: 2003 movs r0, #3 + 2618: 4c09 ldr r4, [pc, #36] ; (2640 ) + 261a: 47a0 blx r4 + 261c: 4632 mov r2, r6 + 261e: 2300 movs r3, #0 + 2620: 480d ldr r0, [pc, #52] ; (2658 ) + 2622: 490e ldr r1, [pc, #56] ; (265c ) + 2624: 4788 blx r1 + 2626: e7fe b.n 2626 + 2628: 4770 bx lr + 262a: bf00 nop + 262c: 00011f91 .word 0x00011f91 + 2630: 00011fa5 .word 0x00011fa5 + 2634: 00023fd0 .word 0x00023fd0 + 2638: 00023f80 .word 0x00023f80 + 263c: 00023f94 .word 0x00023f94 + 2640: 00012245 .word 0x00012245 + 2644: 00004fe1 .word 0x00004fe1 + 2648: 00002555 .word 0x00002555 + 264c: 0002400c .word 0x0002400c + 2650: 00011f45 .word 0x00011f45 + 2654: 00002299 .word 0x00002299 + 2658: 00023fc0 .word 0x00023fc0 + 265c: 000022a1 .word 0x000022a1 + +00002660 : +{ + 2660: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} lv_group_t * g = obj->group_p; - 267c: f8d0 8038 ldr.w r8, [r0, #56] ; 0x38 + 2664: f8d0 8038 ldr.w r8, [r0, #56] ; 0x38 if(g == NULL) return; - 2680: f1b8 0f00 cmp.w r8, #0 - 2684: d051 beq.n 272a + 2668: f1b8 0f00 cmp.w r8, #0 + 266c: d051 beq.n 2712 if(g->obj_focus == NULL) return; /*Just to be sure (Not possible if there is at least one object in the group)*/ - 2686: f8d8 300c ldr.w r3, [r8, #12] - 268a: 2b00 cmp r3, #0 - 268c: d04d beq.n 272a - 268e: 4605 mov r5, r0 + 266e: f8d8 300c ldr.w r3, [r8, #12] + 2672: 2b00 cmp r3, #0 + 2674: d04d beq.n 2712 + 2676: 4605 mov r5, r0 if(*g->obj_focus == obj) { - 2690: 681b ldr r3, [r3, #0] - 2692: 4298 cmp r0, r3 - 2694: d01e beq.n 26d4 + 2678: 681b ldr r3, [r3, #0] + 267a: 4298 cmp r0, r3 + 267c: d01e beq.n 26bc _LV_LL_READ(g->obj_ll, i) { - 2696: 4646 mov r6, r8 - 2698: 4640 mov r0, r8 - 269a: 4b25 ldr r3, [pc, #148] ; (2730 ) - 269c: 4798 blx r3 - 269e: 4604 mov r4, r0 - 26a0: 2800 cmp r0, #0 - 26a2: d042 beq.n 272a + 267e: 4646 mov r6, r8 + 2680: 4640 mov r0, r8 + 2682: 4b25 ldr r3, [pc, #148] ; (2718 ) + 2684: 4798 blx r3 + 2686: 4604 mov r4, r0 + 2688: 2800 cmp r0, #0 + 268a: d042 beq.n 2712 if(*i == obj) { - 26a4: 6803 ldr r3, [r0, #0] - 26a6: 429d cmp r5, r3 - 26a8: d009 beq.n 26be + 268c: 6803 ldr r3, [r0, #0] + 268e: 429d cmp r5, r3 + 2690: d009 beq.n 26a6 _LV_LL_READ(g->obj_ll, i) { - 26aa: 4f22 ldr r7, [pc, #136] ; (2734 ) - 26ac: 4621 mov r1, r4 - 26ae: 4630 mov r0, r6 - 26b0: 47b8 blx r7 - 26b2: 4604 mov r4, r0 - 26b4: 2800 cmp r0, #0 - 26b6: d038 beq.n 272a + 2692: 4f22 ldr r7, [pc, #136] ; (271c ) + 2694: 4621 mov r1, r4 + 2696: 4630 mov r0, r6 + 2698: 47b8 blx r7 + 269a: 4604 mov r4, r0 + 269c: 2800 cmp r0, #0 + 269e: d038 beq.n 2712 if(*i == obj) { - 26b8: 6823 ldr r3, [r4, #0] - 26ba: 429d cmp r5, r3 - 26bc: d1f6 bne.n 26ac + 26a0: 6823 ldr r3, [r4, #0] + 26a2: 429d cmp r5, r3 + 26a4: d1f6 bne.n 2694 _lv_ll_remove(&g->obj_ll, i); - 26be: 4621 mov r1, r4 - 26c0: 4640 mov r0, r8 - 26c2: 4b1d ldr r3, [pc, #116] ; (2738 ) - 26c4: 4798 blx r3 + 26a6: 4621 mov r1, r4 + 26a8: 4640 mov r0, r8 + 26aa: 4b1d ldr r3, [pc, #116] ; (2720 ) + 26ac: 4798 blx r3 lv_mem_free(i); - 26c6: 4620 mov r0, r4 - 26c8: 4b1c ldr r3, [pc, #112] ; (273c ) - 26ca: 4798 blx r3 + 26ae: 4620 mov r0, r4 + 26b0: 4b1c ldr r3, [pc, #112] ; (2724 ) + 26b2: 4798 blx r3 obj->group_p = NULL; - 26cc: 2300 movs r3, #0 - 26ce: 63ab str r3, [r5, #56] ; 0x38 + 26b4: 2300 movs r3, #0 + 26b6: 63ab str r3, [r5, #56] ; 0x38 break; - 26d0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 26b8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(g->frozen) g->frozen = 0; - 26d4: f898 3014 ldrb.w r3, [r8, #20] - 26d8: f013 0f01 tst.w r3, #1 - 26dc: d005 beq.n 26ea - 26de: f898 3014 ldrb.w r3, [r8, #20] - 26e2: f36f 0300 bfc r3, #0, #1 - 26e6: f888 3014 strb.w r3, [r8, #20] + 26bc: f898 3014 ldrb.w r3, [r8, #20] + 26c0: f013 0f01 tst.w r3, #1 + 26c4: d005 beq.n 26d2 + 26c6: f898 3014 ldrb.w r3, [r8, #20] + 26ca: f36f 0300 bfc r3, #0, #1 + 26ce: f888 3014 strb.w r3, [r8, #20] if(_lv_ll_get_head(&g->obj_ll) == g->obj_focus && _lv_ll_get_tail(&g->obj_ll) == g->obj_focus) { - 26ea: 4640 mov r0, r8 - 26ec: 4b10 ldr r3, [pc, #64] ; (2730 ) - 26ee: 4798 blx r3 - 26f0: f8d8 300c ldr.w r3, [r8, #12] - 26f4: 4283 cmp r3, r0 - 26f6: d00b beq.n 2710 + 26d2: 4640 mov r0, r8 + 26d4: 4b10 ldr r3, [pc, #64] ; (2718 ) + 26d6: 4798 blx r3 + 26d8: f8d8 300c ldr.w r3, [r8, #12] + 26dc: 4283 cmp r3, r0 + 26de: d00b beq.n 26f8 lv_group_refocus(g); - 26f8: 4640 mov r0, r8 - 26fa: 4b11 ldr r3, [pc, #68] ; (2740 ) - 26fc: 4798 blx r3 + 26e0: 4640 mov r0, r8 + 26e2: 4b11 ldr r3, [pc, #68] ; (2728 ) + 26e4: 4798 blx r3 if(*g->obj_focus == obj) { - 26fe: f8d8 300c ldr.w r3, [r8, #12] - 2702: 681b ldr r3, [r3, #0] - 2704: 429d cmp r5, r3 + 26e6: f8d8 300c ldr.w r3, [r8, #12] + 26ea: 681b ldr r3, [r3, #0] + 26ec: 429d cmp r5, r3 g->obj_focus = NULL; - 2706: bf04 itt eq - 2708: 2300 moveq r3, #0 - 270a: f8c8 300c streq.w r3, [r8, #12] - 270e: e7c2 b.n 2696 + 26ee: bf04 itt eq + 26f0: 2300 moveq r3, #0 + 26f2: f8c8 300c streq.w r3, [r8, #12] + 26f6: e7c2 b.n 267e if(_lv_ll_get_head(&g->obj_ll) == g->obj_focus && _lv_ll_get_tail(&g->obj_ll) == g->obj_focus) { - 2710: 4640 mov r0, r8 - 2712: 4b0c ldr r3, [pc, #48] ; (2744 ) - 2714: 4798 blx r3 - 2716: f8d8 300c ldr.w r3, [r8, #12] - 271a: 4298 cmp r0, r3 - 271c: d1ec bne.n 26f8 + 26f8: 4640 mov r0, r8 + 26fa: 4b0c ldr r3, [pc, #48] ; (272c ) + 26fc: 4798 blx r3 + 26fe: f8d8 300c ldr.w r3, [r8, #12] + 2702: 4298 cmp r0, r3 + 2704: d1ec bne.n 26e0 (*g->obj_focus)->signal_cb(*g->obj_focus, LV_SIGNAL_DEFOCUS, NULL); - 271e: 6800 ldr r0, [r0, #0] - 2720: 69c3 ldr r3, [r0, #28] - 2722: 2200 movs r2, #0 - 2724: 2117 movs r1, #23 - 2726: 4798 blx r3 - 2728: e7e9 b.n 26fe - 272a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 272e: bf00 nop - 2730: 00011fa9 .word 0x00011fa9 - 2734: 00011fbd .word 0x00011fbd - 2738: 00012095 .word 0x00012095 - 273c: 000124c5 .word 0x000124c5 - 2740: 0000256d .word 0x0000256d - 2744: 00011fb3 .word 0x00011fb3 - -00002748 : + 2706: 6800 ldr r0, [r0, #0] + 2708: 69c3 ldr r3, [r0, #28] + 270a: 2200 movs r2, #0 + 270c: 2117 movs r1, #23 + 270e: 4798 blx r3 + 2710: e7e9 b.n 26e6 + 2712: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 2716: bf00 nop + 2718: 00011f91 .word 0x00011f91 + 271c: 00011fa5 .word 0x00011fa5 + 2720: 0001207d .word 0x0001207d + 2724: 000124ad .word 0x000124ad + 2728: 00002555 .word 0x00002555 + 272c: 00011f9b .word 0x00011f9b + +00002730 : if(!group) return NULL; - 2748: b118 cbz r0, 2752 + 2730: b118 cbz r0, 273a if(group->obj_focus == NULL) return NULL; - 274a: 68c3 ldr r3, [r0, #12] - 274c: b11b cbz r3, 2756 + 2732: 68c3 ldr r3, [r0, #12] + 2734: b11b cbz r3, 273e return *group->obj_focus; - 274e: 6818 ldr r0, [r3, #0] - 2750: 4770 bx lr + 2736: 6818 ldr r0, [r3, #0] + 2738: 4770 bx lr if(!group) return NULL; - 2752: 2000 movs r0, #0 - 2754: 4770 bx lr + 273a: 2000 movs r0, #0 + 273c: 4770 bx lr if(group->obj_focus == NULL) return NULL; - 2756: 2000 movs r0, #0 + 273e: 2000 movs r0, #0 } - 2758: 4770 bx lr + 2740: 4770 bx lr -0000275a : +00002742 : if(!group) return false; - 275a: b118 cbz r0, 2764 + 2742: b118 cbz r0, 274c return group->editing ? true : false; - 275c: 7d00 ldrb r0, [r0, #20] - 275e: f3c0 0040 ubfx r0, r0, #1, #1 - 2762: 4770 bx lr + 2744: 7d00 ldrb r0, [r0, #20] + 2746: f3c0 0040 ubfx r0, r0, #1, #1 + 274a: 4770 bx lr if(!group) return false; - 2764: 2000 movs r0, #0 + 274c: 2000 movs r0, #0 } - 2766: 4770 bx lr + 274e: 4770 bx lr -00002768 : +00002750 : * right now */ lv_indev_t * lv_indev_get_act(void) { return indev_act; } - 2768: 4b01 ldr r3, [pc, #4] ; (2770 ) - 276a: 6858 ldr r0, [r3, #4] - 276c: 4770 bx lr - 276e: bf00 nop - 2770: 20002674 .word 0x20002674 + 2750: 4b01 ldr r3, [pc, #4] ; (2758 ) + 2752: 6858 ldr r0, [r3, #4] + 2754: 4770 bx lr + 2756: bf00 nop + 2758: 20002674 .word 0x20002674 -00002774 : +0000275c : * Reset one or all input devices * @param indev pointer to an input device to reset or NULL to reset all of them * @param obj pointer to an object which triggers the reset. */ void lv_indev_reset(lv_indev_t * indev, lv_obj_t * obj) { - 2774: b5f8 push {r3, r4, r5, r6, r7, lr} + 275c: b5f8 push {r3, r4, r5, r6, r7, lr} if(indev) { - 2776: b1b0 cbz r0, 27a6 - 2778: 4603 mov r3, r0 + 275e: b1b0 cbz r0, 278e + 2760: 4603 mov r3, r0 indev->proc.reset_query = 1; - 277a: f890 2050 ldrb.w r2, [r0, #80] ; 0x50 - 277e: f042 0202 orr.w r2, r2, #2 - 2782: f880 2050 strb.w r2, [r0, #80] ; 0x50 + 2762: f890 2050 ldrb.w r2, [r0, #80] ; 0x50 + 2766: f042 0202 orr.w r2, r2, #2 + 276a: f880 2050 strb.w r2, [r0, #80] ; 0x50 if(indev_act == indev) indev_obj_act = NULL; - 2786: 4a18 ldr r2, [pc, #96] ; (27e8 ) - 2788: 6852 ldr r2, [r2, #4] - 278a: 4290 cmp r0, r2 - 278c: d004 beq.n 2798 + 276e: 4a18 ldr r2, [pc, #96] ; (27d0 ) + 2770: 6852 ldr r2, [r2, #4] + 2772: 4290 cmp r0, r2 + 2774: d004 beq.n 2780 if(obj == NULL || indev->proc.types.pointer.last_pressed == obj) { - 278e: b139 cbz r1, 27a0 - 2790: 6bda ldr r2, [r3, #60] ; 0x3c - 2792: 4291 cmp r1, r2 - 2794: d004 beq.n 27a0 - 2796: bdf8 pop {r3, r4, r5, r6, r7, pc} + 2776: b139 cbz r1, 2788 + 2778: 6bda ldr r2, [r3, #60] ; 0x3c + 277a: 4291 cmp r1, r2 + 277c: d004 beq.n 2788 + 277e: bdf8 pop {r3, r4, r5, r6, r7, pc} if(indev_act == indev) indev_obj_act = NULL; - 2798: 2000 movs r0, #0 - 279a: 4a13 ldr r2, [pc, #76] ; (27e8 ) - 279c: 6010 str r0, [r2, #0] - 279e: e7f6 b.n 278e + 2780: 2000 movs r0, #0 + 2782: 4a13 ldr r2, [pc, #76] ; (27d0 ) + 2784: 6010 str r0, [r2, #0] + 2786: e7f6 b.n 2776 indev->proc.types.pointer.last_pressed = NULL; - 27a0: 2200 movs r2, #0 - 27a2: 63da str r2, [r3, #60] ; 0x3c - 27a4: bdf8 pop {r3, r4, r5, r6, r7, pc} - 27a6: 460c mov r4, r1 + 2788: 2200 movs r2, #0 + 278a: 63da str r2, [r3, #60] ; 0x3c + 278c: bdf8 pop {r3, r4, r5, r6, r7, pc} + 278e: 460c mov r4, r1 } } else { lv_indev_t * i = lv_indev_get_next(NULL); - 27a8: 2000 movs r0, #0 - 27aa: 4b10 ldr r3, [pc, #64] ; (27ec ) - 27ac: 4798 blx r3 + 2790: 2000 movs r0, #0 + 2792: 4b10 ldr r3, [pc, #64] ; (27d4 ) + 2794: 4798 blx r3 while(i) { - 27ae: 4603 mov r3, r0 - 27b0: 2800 cmp r0, #0 - 27b2: d0f0 beq.n 2796 + 2796: 4603 mov r3, r0 + 2798: 2800 cmp r0, #0 + 279a: d0f0 beq.n 277e i->proc.reset_query = 1; if(indev_act == i) indev_obj_act = NULL; - 27b4: 4d0c ldr r5, [pc, #48] ; (27e8 ) - 27b6: 2700 movs r7, #0 + 279c: 4d0c ldr r5, [pc, #48] ; (27d0 ) + 279e: 2700 movs r7, #0 if(obj == NULL || i->proc.types.pointer.last_pressed == obj) { i->proc.types.pointer.last_pressed = NULL; } i = lv_indev_get_next(i); - 27b8: 4e0c ldr r6, [pc, #48] ; (27ec ) - 27ba: e005 b.n 27c8 + 27a0: 4e0c ldr r6, [pc, #48] ; (27d4 ) + 27a2: e005 b.n 27b0 i->proc.types.pointer.last_pressed = NULL; - 27bc: 63df str r7, [r3, #60] ; 0x3c + 27a4: 63df str r7, [r3, #60] ; 0x3c i = lv_indev_get_next(i); - 27be: 4618 mov r0, r3 - 27c0: 47b0 blx r6 + 27a6: 4618 mov r0, r3 + 27a8: 47b0 blx r6 while(i) { - 27c2: 4603 mov r3, r0 - 27c4: 2800 cmp r0, #0 - 27c6: d0e6 beq.n 2796 + 27aa: 4603 mov r3, r0 + 27ac: 2800 cmp r0, #0 + 27ae: d0e6 beq.n 277e i->proc.reset_query = 1; - 27c8: f893 2050 ldrb.w r2, [r3, #80] ; 0x50 - 27cc: f042 0202 orr.w r2, r2, #2 - 27d0: f883 2050 strb.w r2, [r3, #80] ; 0x50 + 27b0: f893 2050 ldrb.w r2, [r3, #80] ; 0x50 + 27b4: f042 0202 orr.w r2, r2, #2 + 27b8: f883 2050 strb.w r2, [r3, #80] ; 0x50 if(indev_act == i) indev_obj_act = NULL; - 27d4: 686a ldr r2, [r5, #4] - 27d6: 429a cmp r2, r3 - 27d8: bf08 it eq - 27da: 602f streq r7, [r5, #0] + 27bc: 686a ldr r2, [r5, #4] + 27be: 429a cmp r2, r3 + 27c0: bf08 it eq + 27c2: 602f streq r7, [r5, #0] if(obj == NULL || i->proc.types.pointer.last_pressed == obj) { - 27dc: 2c00 cmp r4, #0 - 27de: d0ed beq.n 27bc - 27e0: 6bda ldr r2, [r3, #60] ; 0x3c - 27e2: 4294 cmp r4, r2 - 27e4: d1eb bne.n 27be - 27e6: e7e9 b.n 27bc - 27e8: 20002674 .word 0x20002674 - 27ec: 00011021 .word 0x00011021 - -000027f0 <_lv_indev_init>: -{ - 27f0: b508 push {r3, lr} + 27c4: 2c00 cmp r4, #0 + 27c6: d0ed beq.n 27a4 + 27c8: 6bda ldr r2, [r3, #60] ; 0x3c + 27ca: 4294 cmp r4, r2 + 27cc: d1eb bne.n 27a6 + 27ce: e7e9 b.n 27a4 + 27d0: 20002674 .word 0x20002674 + 27d4: 00011009 .word 0x00011009 + +000027d8 <_lv_indev_init>: +{ + 27d8: b508 push {r3, lr} lv_indev_reset(NULL, NULL); /*Reset all input devices*/ - 27f2: 2100 movs r1, #0 - 27f4: 4608 mov r0, r1 - 27f6: 4b01 ldr r3, [pc, #4] ; (27fc <_lv_indev_init+0xc>) - 27f8: 4798 blx r3 - 27fa: bd08 pop {r3, pc} - 27fc: 00002775 .word 0x00002775 - -00002800 : + 27da: 2100 movs r1, #0 + 27dc: 4608 mov r0, r1 + 27de: 4b01 ldr r3, [pc, #4] ; (27e4 <_lv_indev_init+0xc>) + 27e0: 4798 blx r3 + 27e2: bd08 pop {r3, pc} + 27e4: 0000275d .word 0x0000275d + +000027e8 : * @return pointer to currently active object or NULL if no active object */ lv_obj_t * lv_indev_get_obj_act(void) { return indev_obj_act; } - 2800: 4b01 ldr r3, [pc, #4] ; (2808 ) - 2802: 6818 ldr r0, [r3, #0] - 2804: 4770 bx lr - 2806: bf00 nop - 2808: 20002674 .word 0x20002674 + 27e8: 4b01 ldr r3, [pc, #4] ; (27f0 ) + 27ea: 6818 ldr r0, [r3, #0] + 27ec: 4770 bx lr + 27ee: bf00 nop + 27f0: 20002674 .word 0x20002674 -0000280c : +000027f4 : * @param obj pointer to an object which children will be repositioned * @param x_diff x coordinate shift * @param y_diff y coordinate shift */ static void refresh_children_position(lv_obj_t * obj, lv_coord_t x_diff, lv_coord_t y_diff) { - 280c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 2810: 4689 mov r9, r1 - 2812: 4690 mov r8, r2 + 27f4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 27f8: 4689 mov r9, r1 + 27fa: 4690 mov r8, r2 lv_obj_t * i; _LV_LL_READ(obj->child_ll, i) { - 2814: f100 0a04 add.w sl, r0, #4 - 2818: 4650 mov r0, sl - 281a: 4b11 ldr r3, [pc, #68] ; (2860 ) - 281c: 4798 blx r3 - 281e: b1e0 cbz r0, 285a - 2820: 4604 mov r4, r0 + 27fc: f100 0a04 add.w sl, r0, #4 + 2800: 4650 mov r0, sl + 2802: 4b11 ldr r3, [pc, #68] ; (2848 ) + 2804: 4798 blx r3 + 2806: b1e0 cbz r0, 2842 + 2808: 4604 mov r4, r0 i->coords.x1 += x_diff; - 2822: fa1f f689 uxth.w r6, r9 + 280a: fa1f f689 uxth.w r6, r9 i->coords.y1 += y_diff; - 2826: fa1f f588 uxth.w r5, r8 + 280e: fa1f f588 uxth.w r5, r8 _LV_LL_READ(obj->child_ll, i) { - 282a: 4f0e ldr r7, [pc, #56] ; (2864 ) + 2812: 4f0e ldr r7, [pc, #56] ; (284c ) i->coords.x1 += x_diff; - 282c: 8a23 ldrh r3, [r4, #16] - 282e: 4433 add r3, r6 - 2830: 8223 strh r3, [r4, #16] + 2814: 8a23 ldrh r3, [r4, #16] + 2816: 4433 add r3, r6 + 2818: 8223 strh r3, [r4, #16] i->coords.y1 += y_diff; - 2832: 8a63 ldrh r3, [r4, #18] - 2834: 442b add r3, r5 - 2836: 8263 strh r3, [r4, #18] + 281a: 8a63 ldrh r3, [r4, #18] + 281c: 442b add r3, r5 + 281e: 8263 strh r3, [r4, #18] i->coords.x2 += x_diff; - 2838: 8aa3 ldrh r3, [r4, #20] - 283a: 4433 add r3, r6 - 283c: 82a3 strh r3, [r4, #20] + 2820: 8aa3 ldrh r3, [r4, #20] + 2822: 4433 add r3, r6 + 2824: 82a3 strh r3, [r4, #20] i->coords.y2 += y_diff; - 283e: 8ae3 ldrh r3, [r4, #22] - 2840: 442b add r3, r5 - 2842: 82e3 strh r3, [r4, #22] + 2826: 8ae3 ldrh r3, [r4, #22] + 2828: 442b add r3, r5 + 282a: 82e3 strh r3, [r4, #22] refresh_children_position(i, x_diff, y_diff); - 2844: 4642 mov r2, r8 - 2846: 4649 mov r1, r9 - 2848: 4620 mov r0, r4 - 284a: f7ff ffdf bl 280c + 282c: 4642 mov r2, r8 + 282e: 4649 mov r1, r9 + 2830: 4620 mov r0, r4 + 2832: f7ff ffdf bl 27f4 _LV_LL_READ(obj->child_ll, i) { - 284e: 4621 mov r1, r4 - 2850: 4650 mov r0, sl - 2852: 47b8 blx r7 - 2854: 4604 mov r4, r0 - 2856: 2800 cmp r0, #0 - 2858: d1e8 bne.n 282c - 285a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 285e: bf00 nop - 2860: 00011fa9 .word 0x00011fa9 - 2864: 00011fbd .word 0x00011fbd - -00002868 : -{ - 2868: b530 push {r4, r5, lr} - 286a: b085 sub sp, #20 + 2836: 4621 mov r1, r4 + 2838: 4650 mov r0, sl + 283a: 47b8 blx r7 + 283c: 4604 mov r4, r0 + 283e: 2800 cmp r0, #0 + 2840: d1e8 bne.n 2814 + 2842: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 2846: bf00 nop + 2848: 00011f91 .word 0x00011f91 + 284c: 00011fa5 .word 0x00011fa5 + +00002850 : +{ + 2850: b530 push {r4, r5, lr} + 2852: b085 sub sp, #20 if(lv_initialized) { - 286c: 4b21 ldr r3, [pc, #132] ; (28f4 ) - 286e: 781b ldrb r3, [r3, #0] - 2870: 2b00 cmp r3, #0 - 2872: d136 bne.n 28e2 + 2854: 4b21 ldr r3, [pc, #132] ; (28dc ) + 2856: 781b ldrb r3, [r3, #0] + 2858: 2b00 cmp r3, #0 + 285a: d136 bne.n 28ca _lv_mem_init(); - 2874: 4b20 ldr r3, [pc, #128] ; (28f8 ) - 2876: 4798 blx r3 + 285c: 4b20 ldr r3, [pc, #128] ; (28e0 ) + 285e: 4798 blx r3 _lv_task_core_init(); - 2878: 4b20 ldr r3, [pc, #128] ; (28fc ) - 287a: 4798 blx r3 + 2860: 4b20 ldr r3, [pc, #128] ; (28e4 ) + 2862: 4798 blx r3 _lv_fs_init(); - 287c: 4b20 ldr r3, [pc, #128] ; (2900 ) - 287e: 4798 blx r3 + 2864: 4b20 ldr r3, [pc, #128] ; (28e8 ) + 2866: 4798 blx r3 _lv_anim_core_init(); - 2880: 4b20 ldr r3, [pc, #128] ; (2904 ) - 2882: 4798 blx r3 + 2868: 4b20 ldr r3, [pc, #128] ; (28ec ) + 286a: 4798 blx r3 _lv_group_init(); - 2884: 4b20 ldr r3, [pc, #128] ; (2908 ) - 2886: 4798 blx r3 + 286c: 4b20 ldr r3, [pc, #128] ; (28f0 ) + 286e: 4798 blx r3 _lv_ll_init(&LV_GC_ROOT(_lv_obj_style_trans_ll), sizeof(lv_style_trans_t)); - 2888: 2110 movs r1, #16 - 288a: 4820 ldr r0, [pc, #128] ; (290c ) - 288c: 4c20 ldr r4, [pc, #128] ; (2910 ) - 288e: 47a0 blx r4 + 2870: 2110 movs r1, #16 + 2872: 4820 ldr r0, [pc, #128] ; (28f4 ) + 2874: 4c20 ldr r4, [pc, #128] ; (28f8 ) + 2876: 47a0 blx r4 lv_theme_t * th = LV_THEME_DEFAULT_INIT(LV_THEME_DEFAULT_COLOR_PRIMARY, LV_THEME_DEFAULT_COLOR_SECONDARY, - 2890: 4b20 ldr r3, [pc, #128] ; (2914 ) - 2892: 9302 str r3, [sp, #8] - 2894: 9301 str r3, [sp, #4] - 2896: 9300 str r3, [sp, #0] - 2898: 2202 movs r2, #2 - 289a: f04f 011f mov.w r1, #31 - 289e: f64f 0000 movw r0, #63488 ; 0xf800 - 28a2: 4d1d ldr r5, [pc, #116] ; (2918 ) - 28a4: 47a8 blx r5 + 2878: 4b20 ldr r3, [pc, #128] ; (28fc ) + 287a: 9302 str r3, [sp, #8] + 287c: 9301 str r3, [sp, #4] + 287e: 9300 str r3, [sp, #0] + 2880: 2202 movs r2, #2 + 2882: f04f 011f mov.w r1, #31 + 2886: f64f 0000 movw r0, #63488 ; 0xf800 + 288a: 4d1d ldr r5, [pc, #116] ; (2900 ) + 288c: 47a8 blx r5 lv_theme_set_act(th); - 28a6: 4b1d ldr r3, [pc, #116] ; (291c ) - 28a8: 4798 blx r3 + 288e: 4b1d ldr r3, [pc, #116] ; (2904 ) + 2890: 4798 blx r3 _lv_refr_init(); - 28aa: 4b1d ldr r3, [pc, #116] ; (2920 ) - 28ac: 4798 blx r3 + 2892: 4b1d ldr r3, [pc, #116] ; (2908 ) + 2894: 4798 blx r3 _lv_ll_init(&LV_GC_ROOT(_lv_disp_ll), sizeof(lv_disp_t)); - 28ae: f44f 71b8 mov.w r1, #368 ; 0x170 - 28b2: 481c ldr r0, [pc, #112] ; (2924 ) - 28b4: 47a0 blx r4 + 2896: f44f 71b8 mov.w r1, #368 ; 0x170 + 289a: 481c ldr r0, [pc, #112] ; (290c ) + 289c: 47a0 blx r4 _lv_ll_init(&LV_GC_ROOT(_lv_indev_ll), sizeof(lv_indev_t)); - 28b6: 2160 movs r1, #96 ; 0x60 - 28b8: 481b ldr r0, [pc, #108] ; (2928 ) - 28ba: 47a0 blx r4 + 289e: 2160 movs r1, #96 ; 0x60 + 28a0: 481b ldr r0, [pc, #108] ; (2910 ) + 28a2: 47a0 blx r4 _lv_indev_init(); - 28bc: 4b1b ldr r3, [pc, #108] ; (292c ) - 28be: 4798 blx r3 + 28a4: 4b1b ldr r3, [pc, #108] ; (2914 ) + 28a6: 4798 blx r3 _lv_img_decoder_init(); - 28c0: 4b1b ldr r3, [pc, #108] ; (2930 ) - 28c2: 4798 blx r3 + 28a8: 4b1b ldr r3, [pc, #108] ; (2918 ) + 28aa: 4798 blx r3 lv_img_cache_set_size(LV_IMG_CACHE_DEF_SIZE); - 28c4: 2001 movs r0, #1 - 28c6: 4b1b ldr r3, [pc, #108] ; (2934 ) - 28c8: 4798 blx r3 + 28ac: 2001 movs r0, #1 + 28ae: 4b1b ldr r3, [pc, #108] ; (291c ) + 28b0: 4798 blx r3 lv_initialized = true; - 28ca: 2001 movs r0, #1 - 28cc: 4b09 ldr r3, [pc, #36] ; (28f4 ) - 28ce: 7018 strb r0, [r3, #0] + 28b2: 2001 movs r0, #1 + 28b4: 4b09 ldr r3, [pc, #36] ; (28dc ) + 28b6: 7018 strb r0, [r3, #0] LV_LOG_INFO("lv_init ready"); - 28d0: 4b19 ldr r3, [pc, #100] ; (2938 ) - 28d2: 9300 str r3, [sp, #0] - 28d4: 4b19 ldr r3, [pc, #100] ; (293c ) - 28d6: 22a2 movs r2, #162 ; 0xa2 - 28d8: 4919 ldr r1, [pc, #100] ; (2940 ) - 28da: 4c1a ldr r4, [pc, #104] ; (2944 ) - 28dc: 47a0 blx r4 -} - 28de: b005 add sp, #20 - 28e0: bd30 pop {r4, r5, pc} + 28b8: 4b19 ldr r3, [pc, #100] ; (2920 ) + 28ba: 9300 str r3, [sp, #0] + 28bc: 4b19 ldr r3, [pc, #100] ; (2924 ) + 28be: 22a2 movs r2, #162 ; 0xa2 + 28c0: 4919 ldr r1, [pc, #100] ; (2928 ) + 28c2: 4c1a ldr r4, [pc, #104] ; (292c ) + 28c4: 47a0 blx r4 +} + 28c6: b005 add sp, #20 + 28c8: bd30 pop {r4, r5, pc} LV_LOG_WARN("lv_init: already inited"); - 28e2: 4b19 ldr r3, [pc, #100] ; (2948 ) - 28e4: 9300 str r3, [sp, #0] - 28e6: 4b15 ldr r3, [pc, #84] ; (293c ) - 28e8: 2278 movs r2, #120 ; 0x78 - 28ea: 4915 ldr r1, [pc, #84] ; (2940 ) - 28ec: 2002 movs r0, #2 - 28ee: 4c15 ldr r4, [pc, #84] ; (2944 ) - 28f0: 47a0 blx r4 + 28ca: 4b19 ldr r3, [pc, #100] ; (2930 ) + 28cc: 9300 str r3, [sp, #0] + 28ce: 4b15 ldr r3, [pc, #84] ; (2924 ) + 28d0: 2278 movs r2, #120 ; 0x78 + 28d2: 4915 ldr r1, [pc, #84] ; (2928 ) + 28d4: 2002 movs r0, #2 + 28d6: 4c15 ldr r4, [pc, #84] ; (292c ) + 28d8: 47a0 blx r4 return; - 28f2: e7f4 b.n 28de - 28f4: 2000267c .word 0x2000267c - 28f8: 000123bd .word 0x000123bd - 28fc: 000135ed .word 0x000135ed - 2900: 00011c79 .word 0x00011c79 - 2904: 0001129d .word 0x0001129d - 2908: 00002529 .word 0x00002529 - 290c: 20006d3c .word 0x20006d3c - 2910: 00011ef9 .word 0x00011ef9 - 2914: 20000010 .word 0x20000010 - 2918: 00016b49 .word 0x00016b49 - 291c: 000141d1 .word 0x000141d1 - 2920: 00005e55 .word 0x00005e55 - 2924: 20006c98 .word 0x20006c98 - 2928: 20006c8c .word 0x20006c8c - 292c: 000027f1 .word 0x000027f1 - 2930: 0000ffc1 .word 0x0000ffc1 - 2934: 0000f42d .word 0x0000f42d - 2938: 0002481c .word 0x0002481c - 293c: 00024058 .word 0x00024058 - 2940: 000247dc .word 0x000247dc - 2944: 0001225d .word 0x0001225d - 2948: 00024804 .word 0x00024804 - -0000294c : -{ - 294c: b530 push {r4, r5, lr} - 294e: b083 sub sp, #12 - 2950: 4604 mov r4, r0 - 2952: 460d mov r5, r1 + 28da: e7f4 b.n 28c6 + 28dc: 2000267c .word 0x2000267c + 28e0: 000123a5 .word 0x000123a5 + 28e4: 000135d5 .word 0x000135d5 + 28e8: 00011c61 .word 0x00011c61 + 28ec: 00011285 .word 0x00011285 + 28f0: 00002511 .word 0x00002511 + 28f4: 20006d3c .word 0x20006d3c + 28f8: 00011ee1 .word 0x00011ee1 + 28fc: 20000010 .word 0x20000010 + 2900: 00016b31 .word 0x00016b31 + 2904: 000141b9 .word 0x000141b9 + 2908: 00005e3d .word 0x00005e3d + 290c: 20006c98 .word 0x20006c98 + 2910: 20006c8c .word 0x20006c8c + 2914: 000027d9 .word 0x000027d9 + 2918: 0000ffa9 .word 0x0000ffa9 + 291c: 0000f415 .word 0x0000f415 + 2920: 00024804 .word 0x00024804 + 2924: 00024040 .word 0x00024040 + 2928: 000247c4 .word 0x000247c4 + 292c: 00012245 .word 0x00012245 + 2930: 000247ec .word 0x000247ec + +00002934 : +{ + 2934: b530 push {r4, r5, lr} + 2936: b083 sub sp, #12 + 2938: 4604 mov r4, r0 + 293a: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2954: 4b0c ldr r3, [pc, #48] ; (2988 ) - 2956: 4798 blx r3 - 2958: b138 cbz r0, 296a + 293c: 4b0c ldr r3, [pc, #48] ; (2970 ) + 293e: 4798 blx r3 + 2940: b138 cbz r0, 2952 obj->adv_hittest = en == false ? 0 : 1; - 295a: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 295e: f365 13c7 bfi r3, r5, #7, #1 - 2962: f884 3034 strb.w r3, [r4, #52] ; 0x34 + 2942: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 2946: f365 13c7 bfi r3, r5, #7, #1 + 294a: f884 3034 strb.w r3, [r4, #52] ; 0x34 } - 2966: b003 add sp, #12 - 2968: bd30 pop {r4, r5, pc} + 294e: b003 add sp, #12 + 2950: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 296a: 4b08 ldr r3, [pc, #32] ; (298c ) - 296c: 9300 str r3, [sp, #0] - 296e: f240 5294 movw r2, #1428 ; 0x594 - 2972: 4907 ldr r1, [pc, #28] ; (2990 ) - 2974: 2003 movs r0, #3 - 2976: 4d07 ldr r5, [pc, #28] ; (2994 ) - 2978: 47a8 blx r5 - 297a: 4622 mov r2, r4 - 297c: 2300 movs r3, #0 - 297e: 4806 ldr r0, [pc, #24] ; (2998 ) - 2980: 4906 ldr r1, [pc, #24] ; (299c ) - 2982: 4788 blx r1 - 2984: e7fe b.n 2984 - 2986: bf00 nop - 2988: 000022b1 .word 0x000022b1 - 298c: 000240b4 .word 0x000240b4 - 2990: 000247dc .word 0x000247dc - 2994: 0001225d .word 0x0001225d - 2998: 0002483c .word 0x0002483c - 299c: 000022b9 .word 0x000022b9 - -000029a0 : -{ - 29a0: b530 push {r4, r5, lr} - 29a2: b083 sub sp, #12 - 29a4: 4604 mov r4, r0 - 29a6: 460d mov r5, r1 + 2952: 4b08 ldr r3, [pc, #32] ; (2974 ) + 2954: 9300 str r3, [sp, #0] + 2956: f240 5294 movw r2, #1428 ; 0x594 + 295a: 4907 ldr r1, [pc, #28] ; (2978 ) + 295c: 2003 movs r0, #3 + 295e: 4d07 ldr r5, [pc, #28] ; (297c ) + 2960: 47a8 blx r5 + 2962: 4622 mov r2, r4 + 2964: 2300 movs r3, #0 + 2966: 4806 ldr r0, [pc, #24] ; (2980 ) + 2968: 4906 ldr r1, [pc, #24] ; (2984 ) + 296a: 4788 blx r1 + 296c: e7fe b.n 296c + 296e: bf00 nop + 2970: 00002299 .word 0x00002299 + 2974: 0002409c .word 0x0002409c + 2978: 000247c4 .word 0x000247c4 + 297c: 00012245 .word 0x00012245 + 2980: 00024824 .word 0x00024824 + 2984: 000022a1 .word 0x000022a1 + +00002988 : +{ + 2988: b530 push {r4, r5, lr} + 298a: b083 sub sp, #12 + 298c: 4604 mov r4, r0 + 298e: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 29a8: 4b0c ldr r3, [pc, #48] ; (29dc ) - 29aa: 4798 blx r3 - 29ac: b138 cbz r0, 29be + 2990: 4b0c ldr r3, [pc, #48] ; (29c4 ) + 2992: 4798 blx r3 + 2994: b138 cbz r0, 29a6 obj->click = (en == true ? 1 : 0); - 29ae: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 29b2: f365 0300 bfi r3, r5, #0, #1 - 29b6: f884 3034 strb.w r3, [r4, #52] ; 0x34 + 2996: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 299a: f365 0300 bfi r3, r5, #0, #1 + 299e: f884 3034 strb.w r3, [r4, #52] ; 0x34 } - 29ba: b003 add sp, #12 - 29bc: bd30 pop {r4, r5, pc} + 29a2: b003 add sp, #12 + 29a4: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 29be: 4b08 ldr r3, [pc, #32] ; (29e0 ) - 29c0: 9300 str r3, [sp, #0] - 29c2: f44f 62b4 mov.w r2, #1440 ; 0x5a0 - 29c6: 4907 ldr r1, [pc, #28] ; (29e4 ) - 29c8: 2003 movs r0, #3 - 29ca: 4d07 ldr r5, [pc, #28] ; (29e8 ) - 29cc: 47a8 blx r5 - 29ce: 4622 mov r2, r4 - 29d0: 2300 movs r3, #0 - 29d2: 4806 ldr r0, [pc, #24] ; (29ec ) - 29d4: 4906 ldr r1, [pc, #24] ; (29f0 ) - 29d6: 4788 blx r1 - 29d8: e7fe b.n 29d8 - 29da: bf00 nop - 29dc: 000022b1 .word 0x000022b1 - 29e0: 000240cc .word 0x000240cc - 29e4: 000247dc .word 0x000247dc - 29e8: 0001225d .word 0x0001225d - 29ec: 0002483c .word 0x0002483c - 29f0: 000022b9 .word 0x000022b9 - -000029f4 : -{ - 29f4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 29f8: b086 sub sp, #24 - 29fa: 4607 mov r7, r0 - 29fc: 4615 mov r5, r2 - 29fe: 461e mov r6, r3 + 29a6: 4b08 ldr r3, [pc, #32] ; (29c8 ) + 29a8: 9300 str r3, [sp, #0] + 29aa: f44f 62b4 mov.w r2, #1440 ; 0x5a0 + 29ae: 4907 ldr r1, [pc, #28] ; (29cc ) + 29b0: 2003 movs r0, #3 + 29b2: 4d07 ldr r5, [pc, #28] ; (29d0 ) + 29b4: 47a8 blx r5 + 29b6: 4622 mov r2, r4 + 29b8: 2300 movs r3, #0 + 29ba: 4806 ldr r0, [pc, #24] ; (29d4 ) + 29bc: 4906 ldr r1, [pc, #24] ; (29d8 ) + 29be: 4788 blx r1 + 29c0: e7fe b.n 29c0 + 29c2: bf00 nop + 29c4: 00002299 .word 0x00002299 + 29c8: 000240b4 .word 0x000240b4 + 29cc: 000247c4 .word 0x000247c4 + 29d0: 00012245 .word 0x00012245 + 29d4: 00024824 .word 0x00024824 + 29d8: 000022a1 .word 0x000022a1 + +000029dc : +{ + 29dc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 29e0: b086 sub sp, #24 + 29e2: 4607 mov r7, r0 + 29e4: 4615 mov r5, r2 + 29e6: 461e mov r6, r3 if(obj != NULL) { - 2a00: 460c mov r4, r1 - 2a02: b121 cbz r1, 2a0e + 29e8: 460c mov r4, r1 + 29ea: b121 cbz r1, 29f6 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2a04: 4608 mov r0, r1 - 2a06: 4b28 ldr r3, [pc, #160] ; (2aa8 ) - 2a08: 4798 blx r3 - 2a0a: 2800 cmp r0, #0 - 2a0c: d033 beq.n 2a76 + 29ec: 4608 mov r0, r1 + 29ee: 4b28 ldr r3, [pc, #160] ; (2a90 ) + 29f0: 4798 blx r3 + 29f2: 2800 cmp r0, #0 + 29f4: d033 beq.n 2a5e event_temp_data.obj = obj; - 2a0e: 9403 str r4, [sp, #12] + 29f6: 9403 str r4, [sp, #12] event_temp_data.deleted = false; - 2a10: 2300 movs r3, #0 - 2a12: f88d 3010 strb.w r3, [sp, #16] + 29f8: 2300 movs r3, #0 + 29fa: f88d 3010 strb.w r3, [sp, #16] event_temp_data.prev = NULL; - 2a16: 9305 str r3, [sp, #20] + 29fe: 9305 str r3, [sp, #20] if(event_temp_data_head) { - 2a18: 4b24 ldr r3, [pc, #144] ; (2aac ) - 2a1a: 685b ldr r3, [r3, #4] - 2a1c: b103 cbz r3, 2a20 + 2a00: 4b24 ldr r3, [pc, #144] ; (2a94 ) + 2a02: 685b ldr r3, [r3, #4] + 2a04: b103 cbz r3, 2a08 event_temp_data.prev = event_temp_data_head; - 2a1e: 9305 str r3, [sp, #20] + 2a06: 9305 str r3, [sp, #20] event_temp_data_head = &event_temp_data; - 2a20: 4b22 ldr r3, [pc, #136] ; (2aac ) - 2a22: aa03 add r2, sp, #12 - 2a24: 605a str r2, [r3, #4] + 2a08: 4b22 ldr r3, [pc, #136] ; (2a94 ) + 2a0a: aa03 add r2, sp, #12 + 2a0c: 605a str r2, [r3, #4] const void * event_act_data_save = event_act_data; - 2a26: f8d3 8008 ldr.w r8, [r3, #8] + 2a0e: f8d3 8008 ldr.w r8, [r3, #8] event_act_data = data; - 2a2a: 609e str r6, [r3, #8] + 2a12: 609e str r6, [r3, #8] lv_indev_t * indev_act = lv_indev_get_act(); - 2a2c: 4b20 ldr r3, [pc, #128] ; (2ab0 ) - 2a2e: 4798 blx r3 + 2a14: 4b20 ldr r3, [pc, #128] ; (2a98 ) + 2a16: 4798 blx r3 if(indev_act) { - 2a30: b118 cbz r0, 2a3a + 2a18: b118 cbz r0, 2a22 if(indev_act->driver.feedback_cb) indev_act->driver.feedback_cb(&indev_act->driver, event); - 2a32: 6883 ldr r3, [r0, #8] - 2a34: b10b cbz r3, 2a3a - 2a36: 4629 mov r1, r5 - 2a38: 4798 blx r3 + 2a1a: 6883 ldr r3, [r0, #8] + 2a1c: b10b cbz r3, 2a22 + 2a1e: 4629 mov r1, r5 + 2a20: 4798 blx r3 if(event_xcb) event_xcb(obj, event); - 2a3a: b117 cbz r7, 2a42 - 2a3c: 4629 mov r1, r5 - 2a3e: 4620 mov r0, r4 - 2a40: 47b8 blx r7 + 2a22: b117 cbz r7, 2a2a + 2a24: 4629 mov r1, r5 + 2a26: 4620 mov r0, r4 + 2a28: 47b8 blx r7 event_act_data = event_act_data_save; - 2a42: 4b1a ldr r3, [pc, #104] ; (2aac ) - 2a44: f8c3 8008 str.w r8, [r3, #8] + 2a2a: 4b1a ldr r3, [pc, #104] ; (2a94 ) + 2a2c: f8c3 8008 str.w r8, [r3, #8] event_temp_data_head = event_temp_data_head->prev; - 2a48: 685a ldr r2, [r3, #4] - 2a4a: 6892 ldr r2, [r2, #8] - 2a4c: 605a str r2, [r3, #4] + 2a30: 685a ldr r2, [r3, #4] + 2a32: 6892 ldr r2, [r2, #8] + 2a34: 605a str r2, [r3, #4] if(event_temp_data.deleted) { - 2a4e: f89d 3010 ldrb.w r3, [sp, #16] - 2a52: b9f3 cbnz r3, 2a92 + 2a36: f89d 3010 ldrb.w r3, [sp, #16] + 2a3a: b9f3 cbnz r3, 2a7a if(obj) { - 2a54: b30c cbz r4, 2a9a + 2a3c: b30c cbz r4, 2a82 if(obj->parent_event && obj->parent) { - 2a56: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 2a5a: f013 0f40 tst.w r3, #64 ; 0x40 - 2a5e: d01e beq.n 2a9e - 2a60: 6820 ldr r0, [r4, #0] - 2a62: b1f0 cbz r0, 2aa2 + 2a3e: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 2a42: f013 0f40 tst.w r3, #64 ; 0x40 + 2a46: d01e beq.n 2a86 + 2a48: 6820 ldr r0, [r4, #0] + 2a4a: b1f0 cbz r0, 2a8a lv_res_t res = lv_event_send(obj->parent, event, data); - 2a64: 4632 mov r2, r6 - 2a66: 4629 mov r1, r5 - 2a68: 4b12 ldr r3, [pc, #72] ; (2ab4 ) - 2a6a: 4798 blx r3 + 2a4c: 4632 mov r2, r6 + 2a4e: 4629 mov r1, r5 + 2a50: 4b12 ldr r3, [pc, #72] ; (2a9c ) + 2a52: 4798 blx r3 return LV_RES_INV; - 2a6c: 2801 cmp r0, #1 - 2a6e: bf14 ite ne - 2a70: 2000 movne r0, #0 - 2a72: 2001 moveq r0, #1 - 2a74: e00e b.n 2a94 + 2a54: 2801 cmp r0, #1 + 2a56: bf14 ite ne + 2a58: 2000 movne r0, #0 + 2a5a: 2001 moveq r0, #1 + 2a5c: e00e b.n 2a7c LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2a76: 4b10 ldr r3, [pc, #64] ; (2ab8 ) - 2a78: 9300 str r3, [sp, #0] - 2a7a: f44f 62db mov.w r2, #1752 ; 0x6d8 - 2a7e: 490f ldr r1, [pc, #60] ; (2abc ) - 2a80: 2003 movs r0, #3 - 2a82: 4d0f ldr r5, [pc, #60] ; (2ac0 ) - 2a84: 47a8 blx r5 - 2a86: 4622 mov r2, r4 - 2a88: 2300 movs r3, #0 - 2a8a: 480e ldr r0, [pc, #56] ; (2ac4 ) - 2a8c: 490e ldr r1, [pc, #56] ; (2ac8 ) - 2a8e: 4788 blx r1 - 2a90: e7fe b.n 2a90 + 2a5e: 4b10 ldr r3, [pc, #64] ; (2aa0 ) + 2a60: 9300 str r3, [sp, #0] + 2a62: f44f 62db mov.w r2, #1752 ; 0x6d8 + 2a66: 490f ldr r1, [pc, #60] ; (2aa4 ) + 2a68: 2003 movs r0, #3 + 2a6a: 4d0f ldr r5, [pc, #60] ; (2aa8 ) + 2a6c: 47a8 blx r5 + 2a6e: 4622 mov r2, r4 + 2a70: 2300 movs r3, #0 + 2a72: 480e ldr r0, [pc, #56] ; (2aac ) + 2a74: 490e ldr r1, [pc, #56] ; (2ab0 ) + 2a76: 4788 blx r1 + 2a78: e7fe b.n 2a78 return LV_RES_INV; - 2a92: 2000 movs r0, #0 + 2a7a: 2000 movs r0, #0 } - 2a94: b006 add sp, #24 - 2a96: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 2a7c: b006 add sp, #24 + 2a7e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_RES_OK; - 2a9a: 2001 movs r0, #1 - 2a9c: e7fa b.n 2a94 - 2a9e: 2001 movs r0, #1 - 2aa0: e7f8 b.n 2a94 - 2aa2: 2001 movs r0, #1 - 2aa4: e7f6 b.n 2a94 - 2aa6: bf00 nop - 2aa8: 000022b1 .word 0x000022b1 - 2aac: 2000267c .word 0x2000267c - 2ab0: 00002769 .word 0x00002769 - 2ab4: 00002acd .word 0x00002acd - 2ab8: 0002419c .word 0x0002419c - 2abc: 000247dc .word 0x000247dc - 2ac0: 0001225d .word 0x0001225d - 2ac4: 0002483c .word 0x0002483c - 2ac8: 000022b9 .word 0x000022b9 - -00002acc : + 2a82: 2001 movs r0, #1 + 2a84: e7fa b.n 2a7c + 2a86: 2001 movs r0, #1 + 2a88: e7f8 b.n 2a7c + 2a8a: 2001 movs r0, #1 + 2a8c: e7f6 b.n 2a7c + 2a8e: bf00 nop + 2a90: 00002299 .word 0x00002299 + 2a94: 2000267c .word 0x2000267c + 2a98: 00002751 .word 0x00002751 + 2a9c: 00002ab5 .word 0x00002ab5 + 2aa0: 00024184 .word 0x00024184 + 2aa4: 000247c4 .word 0x000247c4 + 2aa8: 00012245 .word 0x00012245 + 2aac: 00024824 .word 0x00024824 + 2ab0: 000022a1 .word 0x000022a1 + +00002ab4 : if(obj == NULL) return LV_RES_OK; - 2acc: b1e8 cbz r0, 2b0a + 2ab4: b1e8 cbz r0, 2af2 { - 2ace: b570 push {r4, r5, r6, lr} - 2ad0: b082 sub sp, #8 - 2ad2: 4604 mov r4, r0 - 2ad4: 4616 mov r6, r2 - 2ad6: 460d mov r5, r1 + 2ab6: b570 push {r4, r5, r6, lr} + 2ab8: b082 sub sp, #8 + 2aba: 4604 mov r4, r0 + 2abc: 4616 mov r6, r2 + 2abe: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2ad8: 4b0d ldr r3, [pc, #52] ; (2b10 ) - 2ada: 4798 blx r3 - 2adc: b968 cbnz r0, 2afa - 2ade: 4b0d ldr r3, [pc, #52] ; (2b14 ) - 2ae0: 9300 str r3, [sp, #0] - 2ae2: f240 62c4 movw r2, #1732 ; 0x6c4 - 2ae6: 490c ldr r1, [pc, #48] ; (2b18 ) - 2ae8: 2003 movs r0, #3 - 2aea: 4d0c ldr r5, [pc, #48] ; (2b1c ) - 2aec: 47a8 blx r5 - 2aee: 4622 mov r2, r4 - 2af0: 2300 movs r3, #0 - 2af2: 480b ldr r0, [pc, #44] ; (2b20 ) - 2af4: 490b ldr r1, [pc, #44] ; (2b24 ) - 2af6: 4788 blx r1 - 2af8: e7fe b.n 2af8 + 2ac0: 4b0d ldr r3, [pc, #52] ; (2af8 ) + 2ac2: 4798 blx r3 + 2ac4: b968 cbnz r0, 2ae2 + 2ac6: 4b0d ldr r3, [pc, #52] ; (2afc ) + 2ac8: 9300 str r3, [sp, #0] + 2aca: f240 62c4 movw r2, #1732 ; 0x6c4 + 2ace: 490c ldr r1, [pc, #48] ; (2b00 ) + 2ad0: 2003 movs r0, #3 + 2ad2: 4d0c ldr r5, [pc, #48] ; (2b04 ) + 2ad4: 47a8 blx r5 + 2ad6: 4622 mov r2, r4 + 2ad8: 2300 movs r3, #0 + 2ada: 480b ldr r0, [pc, #44] ; (2b08 ) + 2adc: 490b ldr r1, [pc, #44] ; (2b0c ) + 2ade: 4788 blx r1 + 2ae0: e7fe b.n 2ae0 res = lv_event_send_func(obj->event_cb, obj, event, data); - 2afa: 4633 mov r3, r6 - 2afc: 462a mov r2, r5 - 2afe: 4621 mov r1, r4 - 2b00: 69a0 ldr r0, [r4, #24] - 2b02: 4c09 ldr r4, [pc, #36] ; (2b28 ) - 2b04: 47a0 blx r4 -} - 2b06: b002 add sp, #8 - 2b08: bd70 pop {r4, r5, r6, pc} + 2ae2: 4633 mov r3, r6 + 2ae4: 462a mov r2, r5 + 2ae6: 4621 mov r1, r4 + 2ae8: 69a0 ldr r0, [r4, #24] + 2aea: 4c09 ldr r4, [pc, #36] ; (2b10 ) + 2aec: 47a0 blx r4 +} + 2aee: b002 add sp, #8 + 2af0: bd70 pop {r4, r5, r6, pc} if(obj == NULL) return LV_RES_OK; - 2b0a: 2001 movs r0, #1 - 2b0c: 4770 bx lr - 2b0e: bf00 nop - 2b10: 000022b1 .word 0x000022b1 - 2b14: 000241b0 .word 0x000241b0 - 2b18: 000247dc .word 0x000247dc - 2b1c: 0001225d .word 0x0001225d - 2b20: 0002483c .word 0x0002483c - 2b24: 000022b9 .word 0x000022b9 - 2b28: 000029f5 .word 0x000029f5 - -00002b2c : -{ - 2b2c: b530 push {r4, r5, lr} - 2b2e: b083 sub sp, #12 - 2b30: 4604 mov r4, r0 - 2b32: 460d mov r5, r1 + 2af2: 2001 movs r0, #1 + 2af4: 4770 bx lr + 2af6: bf00 nop + 2af8: 00002299 .word 0x00002299 + 2afc: 00024198 .word 0x00024198 + 2b00: 000247c4 .word 0x000247c4 + 2b04: 00012245 .word 0x00012245 + 2b08: 00024824 .word 0x00024824 + 2b0c: 000022a1 .word 0x000022a1 + 2b10: 000029dd .word 0x000029dd + +00002b14 : +{ + 2b14: b530 push {r4, r5, lr} + 2b16: b083 sub sp, #12 + 2b18: 4604 mov r4, r0 + 2b1a: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2b34: 4b09 ldr r3, [pc, #36] ; (2b5c ) - 2b36: 4798 blx r3 - 2b38: b110 cbz r0, 2b40 + 2b1c: 4b09 ldr r3, [pc, #36] ; (2b44 ) + 2b1e: 4798 blx r3 + 2b20: b110 cbz r0, 2b28 obj->signal_cb = signal_cb; - 2b3a: 61e5 str r5, [r4, #28] + 2b22: 61e5 str r5, [r4, #28] } - 2b3c: b003 add sp, #12 - 2b3e: bd30 pop {r4, r5, pc} + 2b24: b003 add sp, #12 + 2b26: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2b40: 4b07 ldr r3, [pc, #28] ; (2b60 ) - 2b42: 9300 str r3, [sp, #0] - 2b44: f240 721b movw r2, #1819 ; 0x71b - 2b48: 4906 ldr r1, [pc, #24] ; (2b64 ) - 2b4a: 2003 movs r0, #3 - 2b4c: 4d06 ldr r5, [pc, #24] ; (2b68 ) - 2b4e: 47a8 blx r5 - 2b50: 4622 mov r2, r4 - 2b52: 2300 movs r3, #0 - 2b54: 4805 ldr r0, [pc, #20] ; (2b6c ) - 2b56: 4906 ldr r1, [pc, #24] ; (2b70 ) - 2b58: 4788 blx r1 - 2b5a: e7fe b.n 2b5a - 2b5c: 000022b1 .word 0x000022b1 - 2b60: 000241c0 .word 0x000241c0 - 2b64: 000247dc .word 0x000247dc - 2b68: 0001225d .word 0x0001225d - 2b6c: 0002483c .word 0x0002483c - 2b70: 000022b9 .word 0x000022b9 - -00002b74 : + 2b28: 4b07 ldr r3, [pc, #28] ; (2b48 ) + 2b2a: 9300 str r3, [sp, #0] + 2b2c: f240 721b movw r2, #1819 ; 0x71b + 2b30: 4906 ldr r1, [pc, #24] ; (2b4c ) + 2b32: 2003 movs r0, #3 + 2b34: 4d06 ldr r5, [pc, #24] ; (2b50 ) + 2b36: 47a8 blx r5 + 2b38: 4622 mov r2, r4 + 2b3a: 2300 movs r3, #0 + 2b3c: 4805 ldr r0, [pc, #20] ; (2b54 ) + 2b3e: 4906 ldr r1, [pc, #24] ; (2b58 ) + 2b40: 4788 blx r1 + 2b42: e7fe b.n 2b42 + 2b44: 00002299 .word 0x00002299 + 2b48: 000241a8 .word 0x000241a8 + 2b4c: 000247c4 .word 0x000247c4 + 2b50: 00012245 .word 0x00012245 + 2b54: 00024824 .word 0x00024824 + 2b58: 000022a1 .word 0x000022a1 + +00002b5c : if(obj == NULL) return LV_RES_OK; - 2b74: b120 cbz r0, 2b80 + 2b5c: b120 cbz r0, 2b68 { - 2b76: b510 push {r4, lr} + 2b5e: b510 push {r4, lr} if(obj->signal_cb) res = obj->signal_cb(obj, signal, param); - 2b78: 69c4 ldr r4, [r0, #28] - 2b7a: b11c cbz r4, 2b84 - 2b7c: 47a0 blx r4 - 2b7e: bd10 pop {r4, pc} + 2b60: 69c4 ldr r4, [r0, #28] + 2b62: b11c cbz r4, 2b6c + 2b64: 47a0 blx r4 + 2b66: bd10 pop {r4, pc} if(obj == NULL) return LV_RES_OK; - 2b80: 2001 movs r0, #1 - 2b82: 4770 bx lr + 2b68: 2001 movs r0, #1 + 2b6a: 4770 bx lr lv_res_t res = LV_RES_OK; - 2b84: 2001 movs r0, #1 + 2b6c: 2001 movs r0, #1 } - 2b86: bd10 pop {r4, pc} + 2b6e: bd10 pop {r4, pc} -00002b88 : +00002b70 : { - 2b88: b530 push {r4, r5, lr} - 2b8a: b083 sub sp, #12 - 2b8c: 4604 mov r4, r0 - 2b8e: 460d mov r5, r1 + 2b70: b530 push {r4, r5, lr} + 2b72: b083 sub sp, #12 + 2b74: 4604 mov r4, r0 + 2b76: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2b90: 4b09 ldr r3, [pc, #36] ; (2bb8 ) - 2b92: 4798 blx r3 - 2b94: b110 cbz r0, 2b9c + 2b78: 4b09 ldr r3, [pc, #36] ; (2ba0 ) + 2b7a: 4798 blx r3 + 2b7c: b110 cbz r0, 2b84 obj->design_cb = design_cb; - 2b96: 6225 str r5, [r4, #32] + 2b7e: 6225 str r5, [r4, #32] } - 2b98: b003 add sp, #12 - 2b9a: bd30 pop {r4, r5, pc} + 2b80: b003 add sp, #12 + 2b82: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2b9c: 4b07 ldr r3, [pc, #28] ; (2bbc ) - 2b9e: 9300 str r3, [sp, #0] - 2ba0: f240 7237 movw r2, #1847 ; 0x737 - 2ba4: 4906 ldr r1, [pc, #24] ; (2bc0 ) - 2ba6: 2003 movs r0, #3 - 2ba8: 4d06 ldr r5, [pc, #24] ; (2bc4 ) - 2baa: 47a8 blx r5 - 2bac: 4622 mov r2, r4 - 2bae: 2300 movs r3, #0 - 2bb0: 4805 ldr r0, [pc, #20] ; (2bc8 ) - 2bb2: 4906 ldr r1, [pc, #24] ; (2bcc ) - 2bb4: 4788 blx r1 - 2bb6: e7fe b.n 2bb6 - 2bb8: 000022b1 .word 0x000022b1 - 2bbc: 000241d8 .word 0x000241d8 - 2bc0: 000247dc .word 0x000247dc - 2bc4: 0001225d .word 0x0001225d - 2bc8: 0002483c .word 0x0002483c - 2bcc: 000022b9 .word 0x000022b9 - -00002bd0 : -{ - 2bd0: b530 push {r4, r5, lr} - 2bd2: b083 sub sp, #12 - 2bd4: 4604 mov r4, r0 - 2bd6: 460d mov r5, r1 + 2b84: 4b07 ldr r3, [pc, #28] ; (2ba4 ) + 2b86: 9300 str r3, [sp, #0] + 2b88: f240 7237 movw r2, #1847 ; 0x737 + 2b8c: 4906 ldr r1, [pc, #24] ; (2ba8 ) + 2b8e: 2003 movs r0, #3 + 2b90: 4d06 ldr r5, [pc, #24] ; (2bac ) + 2b92: 47a8 blx r5 + 2b94: 4622 mov r2, r4 + 2b96: 2300 movs r3, #0 + 2b98: 4805 ldr r0, [pc, #20] ; (2bb0 ) + 2b9a: 4906 ldr r1, [pc, #24] ; (2bb4 ) + 2b9c: 4788 blx r1 + 2b9e: e7fe b.n 2b9e + 2ba0: 00002299 .word 0x00002299 + 2ba4: 000241c0 .word 0x000241c0 + 2ba8: 000247c4 .word 0x000247c4 + 2bac: 00012245 .word 0x00012245 + 2bb0: 00024824 .word 0x00024824 + 2bb4: 000022a1 .word 0x000022a1 + +00002bb8 : +{ + 2bb8: b530 push {r4, r5, lr} + 2bba: b083 sub sp, #12 + 2bbc: 4604 mov r4, r0 + 2bbe: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2bd8: 4b0d ldr r3, [pc, #52] ; (2c10 ) - 2bda: 4798 blx r3 - 2bdc: b968 cbnz r0, 2bfa - 2bde: 4b0d ldr r3, [pc, #52] ; (2c14 ) - 2be0: 9300 str r3, [sp, #0] - 2be2: f240 7249 movw r2, #1865 ; 0x749 - 2be6: 490c ldr r1, [pc, #48] ; (2c18 ) - 2be8: 2003 movs r0, #3 - 2bea: 4d0c ldr r5, [pc, #48] ; (2c1c ) - 2bec: 47a8 blx r5 - 2bee: 4622 mov r2, r4 - 2bf0: 2300 movs r3, #0 - 2bf2: 480b ldr r0, [pc, #44] ; (2c20 ) - 2bf4: 490b ldr r1, [pc, #44] ; (2c24 ) - 2bf6: 4788 blx r1 - 2bf8: e7fe b.n 2bf8 + 2bc0: 4b0d ldr r3, [pc, #52] ; (2bf8 ) + 2bc2: 4798 blx r3 + 2bc4: b968 cbnz r0, 2be2 + 2bc6: 4b0d ldr r3, [pc, #52] ; (2bfc ) + 2bc8: 9300 str r3, [sp, #0] + 2bca: f240 7249 movw r2, #1865 ; 0x749 + 2bce: 490c ldr r1, [pc, #48] ; (2c00 ) + 2bd0: 2003 movs r0, #3 + 2bd2: 4d0c ldr r5, [pc, #48] ; (2c04 ) + 2bd4: 47a8 blx r5 + 2bd6: 4622 mov r2, r4 + 2bd8: 2300 movs r3, #0 + 2bda: 480b ldr r0, [pc, #44] ; (2c08 ) + 2bdc: 490b ldr r1, [pc, #44] ; (2c0c ) + 2bde: 4788 blx r1 + 2be0: e7fe b.n 2be0 void * new_ext = lv_mem_realloc(obj->ext_attr, ext_size); - 2bfa: 4629 mov r1, r5 - 2bfc: 6a60 ldr r0, [r4, #36] ; 0x24 - 2bfe: 4b0a ldr r3, [pc, #40] ; (2c28 ) - 2c00: 4798 blx r3 + 2be2: 4629 mov r1, r5 + 2be4: 6a60 ldr r0, [r4, #36] ; 0x24 + 2be6: 4b0a ldr r3, [pc, #40] ; (2c10 ) + 2be8: 4798 blx r3 if(new_ext == NULL) return NULL; - 2c02: 4603 mov r3, r0 - 2c04: b100 cbz r0, 2c08 + 2bea: 4603 mov r3, r0 + 2bec: b100 cbz r0, 2bf0 obj->ext_attr = new_ext; - 2c06: 6260 str r0, [r4, #36] ; 0x24 -} - 2c08: 4618 mov r0, r3 - 2c0a: b003 add sp, #12 - 2c0c: bd30 pop {r4, r5, pc} - 2c0e: bf00 nop - 2c10: 000022b1 .word 0x000022b1 - 2c14: 000241f0 .word 0x000241f0 - 2c18: 000247dc .word 0x000247dc - 2c1c: 0001225d .word 0x0001225d - 2c20: 0002483c .word 0x0002483c - 2c24: 000022b9 .word 0x000022b9 - 2c28: 00012899 .word 0x00012899 - -00002c2c : -{ - 2c2c: b530 push {r4, r5, lr} - 2c2e: b083 sub sp, #12 - 2c30: 4604 mov r4, r0 + 2bee: 6260 str r0, [r4, #36] ; 0x24 +} + 2bf0: 4618 mov r0, r3 + 2bf2: b003 add sp, #12 + 2bf4: bd30 pop {r4, r5, pc} + 2bf6: bf00 nop + 2bf8: 00002299 .word 0x00002299 + 2bfc: 000241d8 .word 0x000241d8 + 2c00: 000247c4 .word 0x000247c4 + 2c04: 00012245 .word 0x00012245 + 2c08: 00024824 .word 0x00024824 + 2c0c: 000022a1 .word 0x000022a1 + 2c10: 00012881 .word 0x00012881 + +00002c14 : +{ + 2c14: b530 push {r4, r5, lr} + 2c16: b083 sub sp, #12 + 2c18: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2c32: 4b0c ldr r3, [pc, #48] ; (2c64 ) - 2c34: 4798 blx r3 - 2c36: b968 cbnz r0, 2c54 - 2c38: 4b0b ldr r3, [pc, #44] ; (2c68 ) - 2c3a: 9300 str r3, [sp, #0] - 2c3c: f240 7259 movw r2, #1881 ; 0x759 - 2c40: 490a ldr r1, [pc, #40] ; (2c6c ) - 2c42: 2003 movs r0, #3 - 2c44: 4d0a ldr r5, [pc, #40] ; (2c70 ) - 2c46: 47a8 blx r5 - 2c48: 4622 mov r2, r4 - 2c4a: 2300 movs r3, #0 - 2c4c: 4809 ldr r0, [pc, #36] ; (2c74 ) - 2c4e: 490a ldr r1, [pc, #40] ; (2c78 ) - 2c50: 4788 blx r1 - 2c52: e7fe b.n 2c52 + 2c1a: 4b0c ldr r3, [pc, #48] ; (2c4c ) + 2c1c: 4798 blx r3 + 2c1e: b968 cbnz r0, 2c3c + 2c20: 4b0b ldr r3, [pc, #44] ; (2c50 ) + 2c22: 9300 str r3, [sp, #0] + 2c24: f240 7259 movw r2, #1881 ; 0x759 + 2c28: 490a ldr r1, [pc, #40] ; (2c54 ) + 2c2a: 2003 movs r0, #3 + 2c2c: 4d0a ldr r5, [pc, #40] ; (2c58 ) + 2c2e: 47a8 blx r5 + 2c30: 4622 mov r2, r4 + 2c32: 2300 movs r3, #0 + 2c34: 4809 ldr r0, [pc, #36] ; (2c5c ) + 2c36: 490a ldr r1, [pc, #40] ; (2c60 ) + 2c38: 4788 blx r1 + 2c3a: e7fe b.n 2c3a obj->ext_draw_pad = 0; - 2c54: 2200 movs r2, #0 - 2c56: 8662 strh r2, [r4, #50] ; 0x32 + 2c3c: 2200 movs r2, #0 + 2c3e: 8662 strh r2, [r4, #50] ; 0x32 obj->signal_cb(obj, LV_SIGNAL_REFR_EXT_DRAW_PAD, NULL); - 2c58: 69e3 ldr r3, [r4, #28] - 2c5a: 2106 movs r1, #6 - 2c5c: 4620 mov r0, r4 - 2c5e: 4798 blx r3 -} - 2c60: b003 add sp, #12 - 2c62: bd30 pop {r4, r5, pc} - 2c64: 000022b1 .word 0x000022b1 - 2c68: 0002420c .word 0x0002420c - 2c6c: 000247dc .word 0x000247dc - 2c70: 0001225d .word 0x0001225d - 2c74: 0002483c .word 0x0002483c - 2c78: 000022b9 .word 0x000022b9 - -00002c7c : -{ - 2c7c: b530 push {r4, r5, lr} - 2c7e: b083 sub sp, #12 - 2c80: 4604 mov r4, r0 + 2c40: 69e3 ldr r3, [r4, #28] + 2c42: 2106 movs r1, #6 + 2c44: 4620 mov r0, r4 + 2c46: 4798 blx r3 +} + 2c48: b003 add sp, #12 + 2c4a: bd30 pop {r4, r5, pc} + 2c4c: 00002299 .word 0x00002299 + 2c50: 000241f4 .word 0x000241f4 + 2c54: 000247c4 .word 0x000247c4 + 2c58: 00012245 .word 0x00012245 + 2c5c: 00024824 .word 0x00024824 + 2c60: 000022a1 .word 0x000022a1 + +00002c64 : +{ + 2c64: b530 push {r4, r5, lr} + 2c66: b083 sub sp, #12 + 2c68: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2c82: 4b0a ldr r3, [pc, #40] ; (2cac ) - 2c84: 4798 blx r3 - 2c86: b110 cbz r0, 2c8e + 2c6a: 4b0a ldr r3, [pc, #40] ; (2c94 ) + 2c6c: 4798 blx r3 + 2c6e: b110 cbz r0, 2c76 } - 2c88: 6820 ldr r0, [r4, #0] - 2c8a: b003 add sp, #12 - 2c8c: bd30 pop {r4, r5, pc} + 2c70: 6820 ldr r0, [r4, #0] + 2c72: b003 add sp, #12 + 2c74: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2c8e: 4b08 ldr r3, [pc, #32] ; (2cb0 ) - 2c90: 9300 str r3, [sp, #0] - 2c92: f240 729f movw r2, #1951 ; 0x79f - 2c96: 4907 ldr r1, [pc, #28] ; (2cb4 ) - 2c98: 2003 movs r0, #3 - 2c9a: 4d07 ldr r5, [pc, #28] ; (2cb8 ) - 2c9c: 47a8 blx r5 - 2c9e: 4622 mov r2, r4 - 2ca0: 2300 movs r3, #0 - 2ca2: 4806 ldr r0, [pc, #24] ; (2cbc ) - 2ca4: 4906 ldr r1, [pc, #24] ; (2cc0 ) - 2ca6: 4788 blx r1 - 2ca8: e7fe b.n 2ca8 - 2caa: bf00 nop - 2cac: 000022b1 .word 0x000022b1 - 2cb0: 00024228 .word 0x00024228 - 2cb4: 000247dc .word 0x000247dc - 2cb8: 0001225d .word 0x0001225d - 2cbc: 0002483c .word 0x0002483c - 2cc0: 000022b9 .word 0x000022b9 - -00002cc4 : -{ - 2cc4: b530 push {r4, r5, lr} - 2cc6: b083 sub sp, #12 - 2cc8: 4604 mov r4, r0 + 2c76: 4b08 ldr r3, [pc, #32] ; (2c98 ) + 2c78: 9300 str r3, [sp, #0] + 2c7a: f240 729f movw r2, #1951 ; 0x79f + 2c7e: 4907 ldr r1, [pc, #28] ; (2c9c ) + 2c80: 2003 movs r0, #3 + 2c82: 4d07 ldr r5, [pc, #28] ; (2ca0 ) + 2c84: 47a8 blx r5 + 2c86: 4622 mov r2, r4 + 2c88: 2300 movs r3, #0 + 2c8a: 4806 ldr r0, [pc, #24] ; (2ca4 ) + 2c8c: 4906 ldr r1, [pc, #24] ; (2ca8 ) + 2c8e: 4788 blx r1 + 2c90: e7fe b.n 2c90 + 2c92: bf00 nop + 2c94: 00002299 .word 0x00002299 + 2c98: 00024210 .word 0x00024210 + 2c9c: 000247c4 .word 0x000247c4 + 2ca0: 00012245 .word 0x00012245 + 2ca4: 00024824 .word 0x00024824 + 2ca8: 000022a1 .word 0x000022a1 + +00002cac : +{ + 2cac: b530 push {r4, r5, lr} + 2cae: b083 sub sp, #12 + 2cb0: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2cca: 4b0e ldr r3, [pc, #56] ; (2d04 ) - 2ccc: 4798 blx r3 - 2cce: b108 cbz r0, 2cd4 + 2cb2: 4b0e ldr r3, [pc, #56] ; (2cec ) + 2cb4: 4798 blx r3 + 2cb6: b108 cbz r0, 2cbc par = lv_obj_get_parent(act_p); - 2cd0: 4d0d ldr r5, [pc, #52] ; (2d08 ) - 2cd2: e00e b.n 2cf2 + 2cb8: 4d0d ldr r5, [pc, #52] ; (2cf0 ) + 2cba: e00e b.n 2cda LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2cd4: 4b0d ldr r3, [pc, #52] ; (2d0c ) - 2cd6: 9300 str r3, [sp, #0] - 2cd8: f240 726b movw r2, #1899 ; 0x76b - 2cdc: 490c ldr r1, [pc, #48] ; (2d10 ) - 2cde: 2003 movs r0, #3 - 2ce0: 4d0c ldr r5, [pc, #48] ; (2d14 ) - 2ce2: 47a8 blx r5 - 2ce4: 4622 mov r2, r4 - 2ce6: 2300 movs r3, #0 - 2ce8: 480b ldr r0, [pc, #44] ; (2d18 ) - 2cea: 490c ldr r1, [pc, #48] ; (2d1c ) - 2cec: 4788 blx r1 - 2cee: e7fe b.n 2cee + 2cbc: 4b0d ldr r3, [pc, #52] ; (2cf4 ) + 2cbe: 9300 str r3, [sp, #0] + 2cc0: f240 726b movw r2, #1899 ; 0x76b + 2cc4: 490c ldr r1, [pc, #48] ; (2cf8 ) + 2cc6: 2003 movs r0, #3 + 2cc8: 4d0c ldr r5, [pc, #48] ; (2cfc ) + 2cca: 47a8 blx r5 + 2ccc: 4622 mov r2, r4 + 2cce: 2300 movs r3, #0 + 2cd0: 480b ldr r0, [pc, #44] ; (2d00 ) + 2cd2: 490c ldr r1, [pc, #48] ; (2d04 ) + 2cd4: 4788 blx r1 + 2cd6: e7fe b.n 2cd6 par = lv_obj_get_parent(act_p); - 2cf0: 461c mov r4, r3 - 2cf2: 4620 mov r0, r4 - 2cf4: 47a8 blx r5 + 2cd8: 461c mov r4, r3 + 2cda: 4620 mov r0, r4 + 2cdc: 47a8 blx r5 } while(par != NULL); - 2cf6: 4603 mov r3, r0 - 2cf8: 2800 cmp r0, #0 - 2cfa: d1f9 bne.n 2cf0 -} - 2cfc: 4620 mov r0, r4 - 2cfe: b003 add sp, #12 - 2d00: bd30 pop {r4, r5, pc} - 2d02: bf00 nop - 2d04: 000022b1 .word 0x000022b1 - 2d08: 00002c7d .word 0x00002c7d - 2d0c: 0002423c .word 0x0002423c - 2d10: 000247dc .word 0x000247dc - 2d14: 0001225d .word 0x0001225d - 2d18: 0002483c .word 0x0002483c - 2d1c: 000022b9 .word 0x000022b9 - -00002d20 : -{ - 2d20: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 2d24: b083 sub sp, #12 - 2d26: 4604 mov r4, r0 + 2cde: 4603 mov r3, r0 + 2ce0: 2800 cmp r0, #0 + 2ce2: d1f9 bne.n 2cd8 +} + 2ce4: 4620 mov r0, r4 + 2ce6: b003 add sp, #12 + 2ce8: bd30 pop {r4, r5, pc} + 2cea: bf00 nop + 2cec: 00002299 .word 0x00002299 + 2cf0: 00002c65 .word 0x00002c65 + 2cf4: 00024224 .word 0x00024224 + 2cf8: 000247c4 .word 0x000247c4 + 2cfc: 00012245 .word 0x00012245 + 2d00: 00024824 .word 0x00024824 + 2d04: 000022a1 .word 0x000022a1 + +00002d08 : +{ + 2d08: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 2d0c: b083 sub sp, #12 + 2d0e: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2d28: 4b22 ldr r3, [pc, #136] ; (2db4 ) - 2d2a: 4798 blx r3 - 2d2c: b180 cbz r0, 2d50 + 2d10: 4b22 ldr r3, [pc, #136] ; (2d9c ) + 2d12: 4798 blx r3 + 2d14: b180 cbz r0, 2d38 if(obj->parent == NULL) - 2d2e: 6823 ldr r3, [r4, #0] - 2d30: b11b cbz r3, 2d3a + 2d16: 6823 ldr r3, [r4, #0] + 2d18: b11b cbz r3, 2d22 scr = lv_obj_get_screen(obj); /*get the screen of `obj`*/ - 2d32: 4620 mov r0, r4 - 2d34: 4b20 ldr r3, [pc, #128] ; (2db8 ) - 2d36: 4798 blx r3 - 2d38: 4604 mov r4, r0 + 2d1a: 4620 mov r0, r4 + 2d1c: 4b20 ldr r3, [pc, #128] ; (2da0 ) + 2d1e: 4798 blx r3 + 2d20: 4604 mov r4, r0 _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 2d3a: 4820 ldr r0, [pc, #128] ; (2dbc ) - 2d3c: 4b20 ldr r3, [pc, #128] ; (2dc0 ) - 2d3e: 4798 blx r3 - 2d40: 4605 mov r5, r0 - 2d42: b360 cbz r0, 2d9e + 2d22: 4820 ldr r0, [pc, #128] ; (2da4 ) + 2d24: 4b20 ldr r3, [pc, #128] ; (2da8 ) + 2d26: 4798 blx r3 + 2d28: 4605 mov r5, r0 + 2d2a: b360 cbz r0, 2d86 _LV_LL_READ(d->scr_ll, s) { - 2d44: f8df 9078 ldr.w r9, [pc, #120] ; 2dc0 - 2d48: 4e1e ldr r6, [pc, #120] ; (2dc4 ) + 2d2c: f8df 9078 ldr.w r9, [pc, #120] ; 2da8 + 2d30: 4e1e ldr r6, [pc, #120] ; (2dac ) _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 2d4a: f8df 8070 ldr.w r8, [pc, #112] ; 2dbc - 2d4e: e012 b.n 2d76 + 2d32: f8df 8070 ldr.w r8, [pc, #112] ; 2da4 + 2d36: e012 b.n 2d5e LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2d50: 4b1d ldr r3, [pc, #116] ; (2dc8 ) - 2d52: 9300 str r3, [sp, #0] - 2d54: f240 727f movw r2, #1919 ; 0x77f - 2d58: 491c ldr r1, [pc, #112] ; (2dcc ) - 2d5a: 2003 movs r0, #3 - 2d5c: 4d1c ldr r5, [pc, #112] ; (2dd0 ) - 2d5e: 47a8 blx r5 - 2d60: 4622 mov r2, r4 - 2d62: 2300 movs r3, #0 - 2d64: 481b ldr r0, [pc, #108] ; (2dd4 ) - 2d66: 491c ldr r1, [pc, #112] ; (2dd8 ) - 2d68: 4788 blx r1 - 2d6a: e7fe b.n 2d6a + 2d38: 4b1d ldr r3, [pc, #116] ; (2db0 ) + 2d3a: 9300 str r3, [sp, #0] + 2d3c: f240 727f movw r2, #1919 ; 0x77f + 2d40: 491c ldr r1, [pc, #112] ; (2db4 ) + 2d42: 2003 movs r0, #3 + 2d44: 4d1c ldr r5, [pc, #112] ; (2db8 ) + 2d46: 47a8 blx r5 + 2d48: 4622 mov r2, r4 + 2d4a: 2300 movs r3, #0 + 2d4c: 481b ldr r0, [pc, #108] ; (2dbc ) + 2d4e: 491c ldr r1, [pc, #112] ; (2dc0 ) + 2d50: 4788 blx r1 + 2d52: e7fe b.n 2d52 _LV_LL_READ(LV_GC_ROOT(_lv_disp_ll), d) { - 2d6c: 4629 mov r1, r5 - 2d6e: 4640 mov r0, r8 - 2d70: 47b0 blx r6 - 2d72: 4605 mov r5, r0 - 2d74: b198 cbz r0, 2d9e + 2d54: 4629 mov r1, r5 + 2d56: 4640 mov r0, r8 + 2d58: 47b0 blx r6 + 2d5a: 4605 mov r5, r0 + 2d5c: b198 cbz r0, 2d86 _LV_LL_READ(d->scr_ll, s) { - 2d76: f105 0730 add.w r7, r5, #48 ; 0x30 - 2d7a: 4638 mov r0, r7 - 2d7c: 47c8 blx r9 - 2d7e: 4601 mov r1, r0 - 2d80: 2800 cmp r0, #0 - 2d82: d0f3 beq.n 2d6c + 2d5e: f105 0730 add.w r7, r5, #48 ; 0x30 + 2d62: 4638 mov r0, r7 + 2d64: 47c8 blx r9 + 2d66: 4601 mov r1, r0 + 2d68: 2800 cmp r0, #0 + 2d6a: d0f3 beq.n 2d54 if(s == scr) return d; - 2d84: 4284 cmp r4, r0 - 2d86: d006 beq.n 2d96 + 2d6c: 4284 cmp r4, r0 + 2d6e: d006 beq.n 2d7e _LV_LL_READ(d->scr_ll, s) { - 2d88: 4638 mov r0, r7 - 2d8a: 47b0 blx r6 - 2d8c: 4601 mov r1, r0 - 2d8e: 2800 cmp r0, #0 - 2d90: d0ec beq.n 2d6c + 2d70: 4638 mov r0, r7 + 2d72: 47b0 blx r6 + 2d74: 4601 mov r1, r0 + 2d76: 2800 cmp r0, #0 + 2d78: d0ec beq.n 2d54 if(s == scr) return d; - 2d92: 428c cmp r4, r1 - 2d94: d1f8 bne.n 2d88 + 2d7a: 428c cmp r4, r1 + 2d7c: d1f8 bne.n 2d70 } - 2d96: 4628 mov r0, r5 - 2d98: b003 add sp, #12 - 2d9a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 2d7e: 4628 mov r0, r5 + 2d80: b003 add sp, #12 + 2d82: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} LV_LOG_WARN("lv_scr_get_disp: screen not found") - 2d9e: 4b0f ldr r3, [pc, #60] ; (2ddc ) - 2da0: 9300 str r3, [sp, #0] - 2da2: 4b09 ldr r3, [pc, #36] ; (2dc8 ) - 2da4: f44f 62f2 mov.w r2, #1936 ; 0x790 - 2da8: 4908 ldr r1, [pc, #32] ; (2dcc ) - 2daa: 2002 movs r0, #2 - 2dac: 4c08 ldr r4, [pc, #32] ; (2dd0 ) - 2dae: 47a0 blx r4 + 2d86: 4b0f ldr r3, [pc, #60] ; (2dc4 ) + 2d88: 9300 str r3, [sp, #0] + 2d8a: 4b09 ldr r3, [pc, #36] ; (2db0 ) + 2d8c: f44f 62f2 mov.w r2, #1936 ; 0x790 + 2d90: 4908 ldr r1, [pc, #32] ; (2db4 ) + 2d92: 2002 movs r0, #2 + 2d94: 4c08 ldr r4, [pc, #32] ; (2db8 ) + 2d96: 47a0 blx r4 return NULL; - 2db0: 2500 movs r5, #0 - 2db2: e7f0 b.n 2d96 - 2db4: 000022b1 .word 0x000022b1 - 2db8: 00002cc5 .word 0x00002cc5 - 2dbc: 20006c98 .word 0x20006c98 - 2dc0: 00011fa9 .word 0x00011fa9 - 2dc4: 00011fbd .word 0x00011fbd - 2dc8: 00024250 .word 0x00024250 - 2dcc: 000247dc .word 0x000247dc - 2dd0: 0001225d .word 0x0001225d - 2dd4: 0002483c .word 0x0002483c - 2dd8: 000022b9 .word 0x000022b9 - 2ddc: 0002484c .word 0x0002484c - -00002de0 : -{ - 2de0: b530 push {r4, r5, lr} - 2de2: b083 sub sp, #12 - 2de4: 4604 mov r4, r0 - 2de6: 460d mov r5, r1 + 2d98: 2500 movs r5, #0 + 2d9a: e7f0 b.n 2d7e + 2d9c: 00002299 .word 0x00002299 + 2da0: 00002cad .word 0x00002cad + 2da4: 20006c98 .word 0x20006c98 + 2da8: 00011f91 .word 0x00011f91 + 2dac: 00011fa5 .word 0x00011fa5 + 2db0: 00024238 .word 0x00024238 + 2db4: 000247c4 .word 0x000247c4 + 2db8: 00012245 .word 0x00012245 + 2dbc: 00024824 .word 0x00024824 + 2dc0: 000022a1 .word 0x000022a1 + 2dc4: 00024834 .word 0x00024834 + +00002dc8 : +{ + 2dc8: b530 push {r4, r5, lr} + 2dca: b083 sub sp, #12 + 2dcc: 4604 mov r4, r0 + 2dce: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2de8: 4b0d ldr r3, [pc, #52] ; (2e20 ) - 2dea: 4798 blx r3 - 2dec: b130 cbz r0, 2dfc + 2dd0: 4b0d ldr r3, [pc, #52] ; (2e08 ) + 2dd2: 4798 blx r3 + 2dd4: b130 cbz r0, 2de4 if(child == NULL) { - 2dee: b19d cbz r5, 2e18 + 2dd6: b19d cbz r5, 2e00 result = _lv_ll_get_next(&obj->child_ll, child); - 2df0: 4629 mov r1, r5 - 2df2: 1d20 adds r0, r4, #4 - 2df4: 4b0b ldr r3, [pc, #44] ; (2e24 ) - 2df6: 4798 blx r3 + 2dd8: 4629 mov r1, r5 + 2dda: 1d20 adds r0, r4, #4 + 2ddc: 4b0b ldr r3, [pc, #44] ; (2e0c ) + 2dde: 4798 blx r3 } - 2df8: b003 add sp, #12 - 2dfa: bd30 pop {r4, r5, pc} + 2de0: b003 add sp, #12 + 2de2: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2dfc: 4b0a ldr r3, [pc, #40] ; (2e28 ) - 2dfe: 9300 str r3, [sp, #0] - 2e00: f240 72ad movw r2, #1965 ; 0x7ad - 2e04: 4909 ldr r1, [pc, #36] ; (2e2c ) - 2e06: 2003 movs r0, #3 - 2e08: 4d09 ldr r5, [pc, #36] ; (2e30 ) - 2e0a: 47a8 blx r5 - 2e0c: 4622 mov r2, r4 - 2e0e: 2300 movs r3, #0 - 2e10: 4808 ldr r0, [pc, #32] ; (2e34 ) - 2e12: 4909 ldr r1, [pc, #36] ; (2e38 ) - 2e14: 4788 blx r1 - 2e16: e7fe b.n 2e16 + 2de4: 4b0a ldr r3, [pc, #40] ; (2e10 ) + 2de6: 9300 str r3, [sp, #0] + 2de8: f240 72ad movw r2, #1965 ; 0x7ad + 2dec: 4909 ldr r1, [pc, #36] ; (2e14 ) + 2dee: 2003 movs r0, #3 + 2df0: 4d09 ldr r5, [pc, #36] ; (2e18 ) + 2df2: 47a8 blx r5 + 2df4: 4622 mov r2, r4 + 2df6: 2300 movs r3, #0 + 2df8: 4808 ldr r0, [pc, #32] ; (2e1c ) + 2dfa: 4909 ldr r1, [pc, #36] ; (2e20 ) + 2dfc: 4788 blx r1 + 2dfe: e7fe b.n 2dfe result = _lv_ll_get_head(&obj->child_ll); - 2e18: 1d20 adds r0, r4, #4 - 2e1a: 4b08 ldr r3, [pc, #32] ; (2e3c ) - 2e1c: 4798 blx r3 - 2e1e: e7eb b.n 2df8 - 2e20: 000022b1 .word 0x000022b1 - 2e24: 00011fbd .word 0x00011fbd - 2e28: 00024260 .word 0x00024260 - 2e2c: 000247dc .word 0x000247dc - 2e30: 0001225d .word 0x0001225d - 2e34: 0002483c .word 0x0002483c - 2e38: 000022b9 .word 0x000022b9 - 2e3c: 00011fa9 .word 0x00011fa9 - -00002e40 : -{ - 2e40: b530 push {r4, r5, lr} - 2e42: b083 sub sp, #12 - 2e44: 4605 mov r5, r0 - 2e46: 460c mov r4, r1 + 2e00: 1d20 adds r0, r4, #4 + 2e02: 4b08 ldr r3, [pc, #32] ; (2e24 ) + 2e04: 4798 blx r3 + 2e06: e7eb b.n 2de0 + 2e08: 00002299 .word 0x00002299 + 2e0c: 00011fa5 .word 0x00011fa5 + 2e10: 00024248 .word 0x00024248 + 2e14: 000247c4 .word 0x000247c4 + 2e18: 00012245 .word 0x00012245 + 2e1c: 00024824 .word 0x00024824 + 2e20: 000022a1 .word 0x000022a1 + 2e24: 00011f91 .word 0x00011f91 + +00002e28 : +{ + 2e28: b530 push {r4, r5, lr} + 2e2a: b083 sub sp, #12 + 2e2c: 4605 mov r5, r0 + 2e2e: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2e48: 4b0e ldr r3, [pc, #56] ; (2e84 ) - 2e4a: 4798 blx r3 - 2e4c: b160 cbz r0, 2e68 - 2e4e: f105 020f add.w r2, r5, #15 - 2e52: f104 0008 add.w r0, r4, #8 + 2e30: 4b0e ldr r3, [pc, #56] ; (2e6c ) + 2e32: 4798 blx r3 + 2e34: b160 cbz r0, 2e50 + 2e36: f105 020f add.w r2, r5, #15 + 2e3a: f104 0008 add.w r0, r4, #8 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - 2e56: 4623 mov r3, r4 + 2e3e: 4623 mov r3, r4 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 2e58: f812 1f01 ldrb.w r1, [r2, #1]! - 2e5c: f803 1b01 strb.w r1, [r3], #1 + 2e40: f812 1f01 ldrb.w r1, [r2, #1]! + 2e44: f803 1b01 strb.w r1, [r3], #1 while(len) { - 2e60: 4283 cmp r3, r0 - 2e62: d1f9 bne.n 2e58 + 2e48: 4283 cmp r3, r0 + 2e4a: d1f9 bne.n 2e40 } - 2e64: b003 add sp, #12 - 2e66: bd30 pop {r4, r5, pc} + 2e4c: b003 add sp, #12 + 2e4e: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2e68: 4b07 ldr r3, [pc, #28] ; (2e88 ) - 2e6a: 9300 str r3, [sp, #0] - 2e6c: f640 0201 movw r2, #2049 ; 0x801 - 2e70: 4906 ldr r1, [pc, #24] ; (2e8c ) - 2e72: 2003 movs r0, #3 - 2e74: 4c06 ldr r4, [pc, #24] ; (2e90 ) - 2e76: 47a0 blx r4 - 2e78: 462a mov r2, r5 - 2e7a: 2300 movs r3, #0 - 2e7c: 4805 ldr r0, [pc, #20] ; (2e94 ) - 2e7e: 4906 ldr r1, [pc, #24] ; (2e98 ) - 2e80: 4788 blx r1 - 2e82: e7fe b.n 2e82 - 2e84: 000022b1 .word 0x000022b1 - 2e88: 000242d8 .word 0x000242d8 - 2e8c: 000247dc .word 0x000247dc - 2e90: 0001225d .word 0x0001225d - 2e94: 0002483c .word 0x0002483c - 2e98: 000022b9 .word 0x000022b9 - -00002e9c : -{ - 2e9c: b530 push {r4, r5, lr} - 2e9e: b083 sub sp, #12 - 2ea0: 4604 mov r4, r0 + 2e50: 4b07 ldr r3, [pc, #28] ; (2e70 ) + 2e52: 9300 str r3, [sp, #0] + 2e54: f640 0201 movw r2, #2049 ; 0x801 + 2e58: 4906 ldr r1, [pc, #24] ; (2e74 ) + 2e5a: 2003 movs r0, #3 + 2e5c: 4c06 ldr r4, [pc, #24] ; (2e78 ) + 2e5e: 47a0 blx r4 + 2e60: 462a mov r2, r5 + 2e62: 2300 movs r3, #0 + 2e64: 4805 ldr r0, [pc, #20] ; (2e7c ) + 2e66: 4906 ldr r1, [pc, #24] ; (2e80 ) + 2e68: 4788 blx r1 + 2e6a: e7fe b.n 2e6a + 2e6c: 00002299 .word 0x00002299 + 2e70: 000242c0 .word 0x000242c0 + 2e74: 000247c4 .word 0x000247c4 + 2e78: 00012245 .word 0x00012245 + 2e7c: 00024824 .word 0x00024824 + 2e80: 000022a1 .word 0x000022a1 + +00002e84 : +{ + 2e84: b530 push {r4, r5, lr} + 2e86: b083 sub sp, #12 + 2e88: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2ea2: 4b0f ldr r3, [pc, #60] ; (2ee0 ) - 2ea4: 4798 blx r3 - 2ea6: b968 cbnz r0, 2ec4 - 2ea8: 4b0e ldr r3, [pc, #56] ; (2ee4 ) - 2eaa: 9300 str r3, [sp, #0] - 2eac: f640 0222 movw r2, #2082 ; 0x822 - 2eb0: 490d ldr r1, [pc, #52] ; (2ee8 ) - 2eb2: 2003 movs r0, #3 - 2eb4: 4d0d ldr r5, [pc, #52] ; (2eec ) - 2eb6: 47a8 blx r5 - 2eb8: 4622 mov r2, r4 - 2eba: 2300 movs r3, #0 - 2ebc: 480c ldr r0, [pc, #48] ; (2ef0 ) - 2ebe: 490d ldr r1, [pc, #52] ; (2ef4 ) - 2ec0: 4788 blx r1 - 2ec2: e7fe b.n 2ec2 + 2e8a: 4b0f ldr r3, [pc, #60] ; (2ec8 ) + 2e8c: 4798 blx r3 + 2e8e: b968 cbnz r0, 2eac + 2e90: 4b0e ldr r3, [pc, #56] ; (2ecc ) + 2e92: 9300 str r3, [sp, #0] + 2e94: f640 0222 movw r2, #2082 ; 0x822 + 2e98: 490d ldr r1, [pc, #52] ; (2ed0 ) + 2e9a: 2003 movs r0, #3 + 2e9c: 4d0d ldr r5, [pc, #52] ; (2ed4 ) + 2e9e: 47a8 blx r5 + 2ea0: 4622 mov r2, r4 + 2ea2: 2300 movs r3, #0 + 2ea4: 480c ldr r0, [pc, #48] ; (2ed8 ) + 2ea6: 490d ldr r1, [pc, #52] ; (2edc ) + 2ea8: 4788 blx r1 + 2eaa: e7fe b.n 2eaa lv_obj_t * parent = lv_obj_get_parent(obj); - 2ec4: 4620 mov r0, r4 - 2ec6: 4b0c ldr r3, [pc, #48] ; (2ef8 ) - 2ec8: 4798 blx r3 + 2eac: 4620 mov r0, r4 + 2eae: 4b0c ldr r3, [pc, #48] ; (2ee0 ) + 2eb0: 4798 blx r3 if(parent) { - 2eca: 4603 mov r3, r0 - 2ecc: b128 cbz r0, 2eda + 2eb2: 4603 mov r3, r0 + 2eb4: b128 cbz r0, 2ec2 rel_x = obj->coords.x1 - parent->coords.x1; - 2ece: 8a20 ldrh r0, [r4, #16] - 2ed0: 8a1b ldrh r3, [r3, #16] - 2ed2: 1ac0 subs r0, r0, r3 - 2ed4: b200 sxth r0, r0 + 2eb6: 8a20 ldrh r0, [r4, #16] + 2eb8: 8a1b ldrh r3, [r3, #16] + 2eba: 1ac0 subs r0, r0, r3 + 2ebc: b200 sxth r0, r0 } - 2ed6: b003 add sp, #12 - 2ed8: bd30 pop {r4, r5, pc} + 2ebe: b003 add sp, #12 + 2ec0: bd30 pop {r4, r5, pc} rel_x = obj->coords.x1; - 2eda: f9b4 0010 ldrsh.w r0, [r4, #16] - 2ede: e7fa b.n 2ed6 - 2ee0: 000022b1 .word 0x000022b1 - 2ee4: 000242ec .word 0x000242ec - 2ee8: 000247dc .word 0x000247dc - 2eec: 0001225d .word 0x0001225d - 2ef0: 0002483c .word 0x0002483c - 2ef4: 000022b9 .word 0x000022b9 - 2ef8: 00002c7d .word 0x00002c7d - -00002efc : -{ - 2efc: b530 push {r4, r5, lr} - 2efe: b083 sub sp, #12 - 2f00: 4604 mov r4, r0 + 2ec2: f9b4 0010 ldrsh.w r0, [r4, #16] + 2ec6: e7fa b.n 2ebe + 2ec8: 00002299 .word 0x00002299 + 2ecc: 000242d4 .word 0x000242d4 + 2ed0: 000247c4 .word 0x000247c4 + 2ed4: 00012245 .word 0x00012245 + 2ed8: 00024824 .word 0x00024824 + 2edc: 000022a1 .word 0x000022a1 + 2ee0: 00002c65 .word 0x00002c65 + +00002ee4 : +{ + 2ee4: b530 push {r4, r5, lr} + 2ee6: b083 sub sp, #12 + 2ee8: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2f02: 4b0f ldr r3, [pc, #60] ; (2f40 ) - 2f04: 4798 blx r3 - 2f06: b968 cbnz r0, 2f24 - 2f08: 4b0e ldr r3, [pc, #56] ; (2f44 ) - 2f0a: 9300 str r3, [sp, #0] - 2f0c: f640 0236 movw r2, #2102 ; 0x836 - 2f10: 490d ldr r1, [pc, #52] ; (2f48 ) - 2f12: 2003 movs r0, #3 - 2f14: 4d0d ldr r5, [pc, #52] ; (2f4c ) - 2f16: 47a8 blx r5 - 2f18: 4622 mov r2, r4 - 2f1a: 2300 movs r3, #0 - 2f1c: 480c ldr r0, [pc, #48] ; (2f50 ) - 2f1e: 490d ldr r1, [pc, #52] ; (2f54 ) - 2f20: 4788 blx r1 - 2f22: e7fe b.n 2f22 + 2eea: 4b0f ldr r3, [pc, #60] ; (2f28 ) + 2eec: 4798 blx r3 + 2eee: b968 cbnz r0, 2f0c + 2ef0: 4b0e ldr r3, [pc, #56] ; (2f2c ) + 2ef2: 9300 str r3, [sp, #0] + 2ef4: f640 0236 movw r2, #2102 ; 0x836 + 2ef8: 490d ldr r1, [pc, #52] ; (2f30 ) + 2efa: 2003 movs r0, #3 + 2efc: 4d0d ldr r5, [pc, #52] ; (2f34 ) + 2efe: 47a8 blx r5 + 2f00: 4622 mov r2, r4 + 2f02: 2300 movs r3, #0 + 2f04: 480c ldr r0, [pc, #48] ; (2f38 ) + 2f06: 490d ldr r1, [pc, #52] ; (2f3c ) + 2f08: 4788 blx r1 + 2f0a: e7fe b.n 2f0a lv_obj_t * parent = lv_obj_get_parent(obj); - 2f24: 4620 mov r0, r4 - 2f26: 4b0c ldr r3, [pc, #48] ; (2f58 ) - 2f28: 4798 blx r3 + 2f0c: 4620 mov r0, r4 + 2f0e: 4b0c ldr r3, [pc, #48] ; (2f40 ) + 2f10: 4798 blx r3 if(parent) { - 2f2a: 4603 mov r3, r0 - 2f2c: b128 cbz r0, 2f3a + 2f12: 4603 mov r3, r0 + 2f14: b128 cbz r0, 2f22 rel_y = obj->coords.y1 - parent->coords.y1; - 2f2e: 8a60 ldrh r0, [r4, #18] - 2f30: 8a5b ldrh r3, [r3, #18] - 2f32: 1ac0 subs r0, r0, r3 - 2f34: b200 sxth r0, r0 + 2f16: 8a60 ldrh r0, [r4, #18] + 2f18: 8a5b ldrh r3, [r3, #18] + 2f1a: 1ac0 subs r0, r0, r3 + 2f1c: b200 sxth r0, r0 } - 2f36: b003 add sp, #12 - 2f38: bd30 pop {r4, r5, pc} + 2f1e: b003 add sp, #12 + 2f20: bd30 pop {r4, r5, pc} rel_y = obj->coords.y1; - 2f3a: f9b4 0012 ldrsh.w r0, [r4, #18] - 2f3e: e7fa b.n 2f36 - 2f40: 000022b1 .word 0x000022b1 - 2f44: 000242fc .word 0x000242fc - 2f48: 000247dc .word 0x000247dc - 2f4c: 0001225d .word 0x0001225d - 2f50: 0002483c .word 0x0002483c - 2f54: 000022b9 .word 0x000022b9 - 2f58: 00002c7d .word 0x00002c7d - -00002f5c : -{ - 2f5c: b530 push {r4, r5, lr} - 2f5e: b083 sub sp, #12 - 2f60: 4604 mov r4, r0 + 2f22: f9b4 0012 ldrsh.w r0, [r4, #18] + 2f26: e7fa b.n 2f1e + 2f28: 00002299 .word 0x00002299 + 2f2c: 000242e4 .word 0x000242e4 + 2f30: 000247c4 .word 0x000247c4 + 2f34: 00012245 .word 0x00012245 + 2f38: 00024824 .word 0x00024824 + 2f3c: 000022a1 .word 0x000022a1 + 2f40: 00002c65 .word 0x00002c65 + +00002f44 : +{ + 2f44: b530 push {r4, r5, lr} + 2f46: b083 sub sp, #12 + 2f48: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2f62: 4b0c ldr r3, [pc, #48] ; (2f94 ) - 2f64: 4798 blx r3 - 2f66: b130 cbz r0, 2f76 + 2f4a: 4b0c ldr r3, [pc, #48] ; (2f7c ) + 2f4c: 4798 blx r3 + 2f4e: b130 cbz r0, 2f5e * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 2f68: 8aa0 ldrh r0, [r4, #20] - 2f6a: 3001 adds r0, #1 - 2f6c: 8a23 ldrh r3, [r4, #16] - 2f6e: 1ac0 subs r0, r0, r3 -} - 2f70: b200 sxth r0, r0 - 2f72: b003 add sp, #12 - 2f74: bd30 pop {r4, r5, pc} + 2f50: 8aa0 ldrh r0, [r4, #20] + 2f52: 3001 adds r0, #1 + 2f54: 8a23 ldrh r3, [r4, #16] + 2f56: 1ac0 subs r0, r0, r3 +} + 2f58: b200 sxth r0, r0 + 2f5a: b003 add sp, #12 + 2f5c: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2f76: 4b08 ldr r3, [pc, #32] ; (2f98 ) - 2f78: 9300 str r3, [sp, #0] - 2f7a: f640 024a movw r2, #2122 ; 0x84a - 2f7e: 4907 ldr r1, [pc, #28] ; (2f9c ) - 2f80: 2003 movs r0, #3 - 2f82: 4d07 ldr r5, [pc, #28] ; (2fa0 ) - 2f84: 47a8 blx r5 - 2f86: 4622 mov r2, r4 - 2f88: 2300 movs r3, #0 - 2f8a: 4806 ldr r0, [pc, #24] ; (2fa4 ) - 2f8c: 4906 ldr r1, [pc, #24] ; (2fa8 ) - 2f8e: 4788 blx r1 - 2f90: e7fe b.n 2f90 - 2f92: bf00 nop - 2f94: 000022b1 .word 0x000022b1 - 2f98: 0002430c .word 0x0002430c - 2f9c: 000247dc .word 0x000247dc - 2fa0: 0001225d .word 0x0001225d - 2fa4: 0002483c .word 0x0002483c - 2fa8: 000022b9 .word 0x000022b9 - -00002fac : -{ - 2fac: b530 push {r4, r5, lr} - 2fae: b083 sub sp, #12 - 2fb0: 4604 mov r4, r0 + 2f5e: 4b08 ldr r3, [pc, #32] ; (2f80 ) + 2f60: 9300 str r3, [sp, #0] + 2f62: f640 024a movw r2, #2122 ; 0x84a + 2f66: 4907 ldr r1, [pc, #28] ; (2f84 ) + 2f68: 2003 movs r0, #3 + 2f6a: 4d07 ldr r5, [pc, #28] ; (2f88 ) + 2f6c: 47a8 blx r5 + 2f6e: 4622 mov r2, r4 + 2f70: 2300 movs r3, #0 + 2f72: 4806 ldr r0, [pc, #24] ; (2f8c ) + 2f74: 4906 ldr r1, [pc, #24] ; (2f90 ) + 2f76: 4788 blx r1 + 2f78: e7fe b.n 2f78 + 2f7a: bf00 nop + 2f7c: 00002299 .word 0x00002299 + 2f80: 000242f4 .word 0x000242f4 + 2f84: 000247c4 .word 0x000247c4 + 2f88: 00012245 .word 0x00012245 + 2f8c: 00024824 .word 0x00024824 + 2f90: 000022a1 .word 0x000022a1 + +00002f94 : +{ + 2f94: b530 push {r4, r5, lr} + 2f96: b083 sub sp, #12 + 2f98: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2fb2: 4b0c ldr r3, [pc, #48] ; (2fe4 ) - 2fb4: 4798 blx r3 - 2fb6: b130 cbz r0, 2fc6 + 2f9a: 4b0c ldr r3, [pc, #48] ; (2fcc ) + 2f9c: 4798 blx r3 + 2f9e: b130 cbz r0, 2fae * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 2fb8: 8ae0 ldrh r0, [r4, #22] - 2fba: 3001 adds r0, #1 - 2fbc: 8a63 ldrh r3, [r4, #18] - 2fbe: 1ac0 subs r0, r0, r3 -} - 2fc0: b200 sxth r0, r0 - 2fc2: b003 add sp, #12 - 2fc4: bd30 pop {r4, r5, pc} + 2fa0: 8ae0 ldrh r0, [r4, #22] + 2fa2: 3001 adds r0, #1 + 2fa4: 8a63 ldrh r3, [r4, #18] + 2fa6: 1ac0 subs r0, r0, r3 +} + 2fa8: b200 sxth r0, r0 + 2faa: b003 add sp, #12 + 2fac: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 2fc6: 4b08 ldr r3, [pc, #32] ; (2fe8 ) - 2fc8: 9300 str r3, [sp, #0] - 2fca: f640 0256 movw r2, #2134 ; 0x856 - 2fce: 4907 ldr r1, [pc, #28] ; (2fec ) - 2fd0: 2003 movs r0, #3 - 2fd2: 4d07 ldr r5, [pc, #28] ; (2ff0 ) - 2fd4: 47a8 blx r5 - 2fd6: 4622 mov r2, r4 - 2fd8: 2300 movs r3, #0 - 2fda: 4806 ldr r0, [pc, #24] ; (2ff4 ) - 2fdc: 4906 ldr r1, [pc, #24] ; (2ff8 ) - 2fde: 4788 blx r1 - 2fe0: e7fe b.n 2fe0 - 2fe2: bf00 nop - 2fe4: 000022b1 .word 0x000022b1 - 2fe8: 00024320 .word 0x00024320 - 2fec: 000247dc .word 0x000247dc - 2ff0: 0001225d .word 0x0001225d - 2ff4: 0002483c .word 0x0002483c - 2ff8: 000022b9 .word 0x000022b9 - -00002ffc : + 2fae: 4b08 ldr r3, [pc, #32] ; (2fd0 ) + 2fb0: 9300 str r3, [sp, #0] + 2fb2: f640 0256 movw r2, #2134 ; 0x856 + 2fb6: 4907 ldr r1, [pc, #28] ; (2fd4 ) + 2fb8: 2003 movs r0, #3 + 2fba: 4d07 ldr r5, [pc, #28] ; (2fd8 ) + 2fbc: 47a8 blx r5 + 2fbe: 4622 mov r2, r4 + 2fc0: 2300 movs r3, #0 + 2fc2: 4806 ldr r0, [pc, #24] ; (2fdc ) + 2fc4: 4906 ldr r1, [pc, #24] ; (2fe0 ) + 2fc6: 4788 blx r1 + 2fc8: e7fe b.n 2fc8 + 2fca: bf00 nop + 2fcc: 00002299 .word 0x00002299 + 2fd0: 00024308 .word 0x00024308 + 2fd4: 000247c4 .word 0x000247c4 + 2fd8: 00012245 .word 0x00012245 + 2fdc: 00024824 .word 0x00024824 + 2fe0: 000022a1 .word 0x000022a1 + +00002fe4 : if(part == LV_OBJ_PART_MAIN) return &((lv_obj_t *)obj)->style_list; - 2ffc: b909 cbnz r1, 3002 - 2ffe: 3028 adds r0, #40 ; 0x28 - 3000: 4770 bx lr + 2fe4: b909 cbnz r1, 2fea + 2fe6: 3028 adds r0, #40 ; 0x28 + 2fe8: 4770 bx lr { - 3002: b500 push {lr} - 3004: b083 sub sp, #12 + 2fea: b500 push {lr} + 2fec: b083 sub sp, #12 info.part = part; - 3006: f88d 1000 strb.w r1, [sp] + 2fee: f88d 1000 strb.w r1, [sp] info.result = NULL; - 300a: 2300 movs r3, #0 - 300c: 9301 str r3, [sp, #4] + 2ff2: 2300 movs r3, #0 + 2ff4: 9301 str r3, [sp, #4] res = lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STYLE, &info); - 300e: 466a mov r2, sp - 3010: 2108 movs r1, #8 - 3012: 4b04 ldr r3, [pc, #16] ; (3024 ) - 3014: 4798 blx r3 + 2ff6: 466a mov r2, sp + 2ff8: 2108 movs r1, #8 + 2ffa: 4b04 ldr r3, [pc, #16] ; (300c ) + 2ffc: 4798 blx r3 if(res != LV_RES_OK) return NULL; - 3016: 2801 cmp r0, #1 + 2ffe: 2801 cmp r0, #1 return info.result; - 3018: bf0c ite eq - 301a: 9801 ldreq r0, [sp, #4] + 3000: bf0c ite eq + 3002: 9801 ldreq r0, [sp, #4] if(res != LV_RES_OK) return NULL; - 301c: 2000 movne r0, #0 + 3004: 2000 movne r0, #0 } - 301e: b003 add sp, #12 - 3020: f85d fb04 ldr.w pc, [sp], #4 - 3024: 00002b75 .word 0x00002b75 + 3006: b003 add sp, #12 + 3008: f85d fb04 ldr.w pc, [sp], #4 + 300c: 00002b5d .word 0x00002b5d -00003028 : +00003010 : * @param part a part of object or 0xFF to remove from all parts * @param prop a property or 0xFF to remove all porpeties * @param tr_limit delete transitions only "older" then this. `NULL` is not used */ static void trans_del(lv_obj_t * obj, uint8_t part, lv_style_property_t prop, lv_style_trans_t * tr_limit) { - 3028: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 302c: 4680 mov r8, r0 - 302e: 468a mov sl, r1 - 3030: 4693 mov fp, r2 - 3032: 461e mov r6, r3 + 3010: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 3014: 4680 mov r8, r0 + 3016: 468a mov sl, r1 + 3018: 4693 mov fp, r2 + 301a: 461e mov r6, r3 lv_style_trans_t * tr; lv_style_trans_t * tr_prev; tr = _lv_ll_get_tail(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 3034: 481c ldr r0, [pc, #112] ; (30a8 ) - 3036: 4b1d ldr r3, [pc, #116] ; (30ac ) - 3038: 4798 blx r3 + 301c: 481c ldr r0, [pc, #112] ; (3090 ) + 301e: 4b1d ldr r3, [pc, #116] ; (3094 ) + 3020: 4798 blx r3 while(tr != NULL) { - 303a: 2800 cmp r0, #0 - 303c: d031 beq.n 30a2 - 303e: 4605 mov r5, r0 + 3022: 2800 cmp r0, #0 + 3024: d031 beq.n 308a + 3026: 4605 mov r5, r0 if(tr == tr_limit) break; - 3040: 42b0 cmp r0, r6 - 3042: d02e beq.n 30a2 + 3028: 42b0 cmp r0, r6 + 302a: d02e beq.n 308a /*'tr' might be deleted, so get the next object while 'tr' is valid*/ tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 3044: f8df 9060 ldr.w r9, [pc, #96] ; 30a8 - 3048: 4f19 ldr r7, [pc, #100] ; (30b0 ) - 304a: e009 b.n 3060 + 302c: f8df 9060 ldr.w r9, [pc, #96] ; 3090 + 3030: 4f19 ldr r7, [pc, #100] ; (3098 ) + 3032: e009 b.n 3048 if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) { - 304c: 88ab ldrh r3, [r5, #4] - 304e: 455b cmp r3, fp - 3050: d014 beq.n 307c - 3052: f1bb 0fff cmp.w fp, #255 ; 0xff - 3056: d011 beq.n 307c + 3034: 88ab ldrh r3, [r5, #4] + 3036: 455b cmp r3, fp + 3038: d014 beq.n 3064 + 303a: f1bb 0fff cmp.w fp, #255 ; 0xff + 303e: d011 beq.n 3064 while(tr != NULL) { - 3058: b31c cbz r4, 30a2 - 305a: 4625 mov r5, r4 + 3040: b31c cbz r4, 308a + 3042: 4625 mov r5, r4 if(tr == tr_limit) break; - 305c: 42a6 cmp r6, r4 - 305e: d020 beq.n 30a2 + 3044: 42a6 cmp r6, r4 + 3046: d020 beq.n 308a tr_prev = _lv_ll_get_prev(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 3060: 4629 mov r1, r5 - 3062: 4648 mov r0, r9 - 3064: 47b8 blx r7 - 3066: 4604 mov r4, r0 + 3048: 4629 mov r1, r5 + 304a: 4648 mov r0, r9 + 304c: 47b8 blx r7 + 304e: 4604 mov r4, r0 if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) { - 3068: 6828 ldr r0, [r5, #0] - 306a: 4540 cmp r0, r8 - 306c: d1f4 bne.n 3058 - 306e: 79a9 ldrb r1, [r5, #6] - 3070: 4551 cmp r1, sl - 3072: d0eb beq.n 304c - 3074: f1ba 0fff cmp.w sl, #255 ; 0xff - 3078: d1ee bne.n 3058 - 307a: e7e7 b.n 304c + 3050: 6828 ldr r0, [r5, #0] + 3052: 4540 cmp r0, r8 + 3054: d1f4 bne.n 3040 + 3056: 79a9 ldrb r1, [r5, #6] + 3058: 4551 cmp r1, sl + 305a: d0eb beq.n 3034 + 305c: f1ba 0fff cmp.w sl, #255 ; 0xff + 3060: d1ee bne.n 3040 + 3062: e7e7 b.n 3034 /* Remove the transitioned property from trans. style * to allow changing it by normal styles*/ lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 307c: 4b0d ldr r3, [pc, #52] ; (30b4 ) - 307e: 4798 blx r3 + 3064: 4b0d ldr r3, [pc, #52] ; (309c ) + 3066: 4798 blx r3 lv_style_t * style_trans = _lv_style_list_get_transition_style(list); - 3080: 4b0d ldr r3, [pc, #52] ; (30b8 ) - 3082: 4798 blx r3 + 3068: 4b0d ldr r3, [pc, #52] ; (30a0 ) + 306a: 4798 blx r3 lv_style_remove_prop(style_trans, tr->prop); - 3084: 88a9 ldrh r1, [r5, #4] - 3086: 4b0d ldr r3, [pc, #52] ; (30bc ) - 3088: 4798 blx r3 + 306c: 88a9 ldrh r1, [r5, #4] + 306e: 4b0d ldr r3, [pc, #52] ; (30a4 ) + 3070: 4798 blx r3 lv_anim_del(tr, NULL); - 308a: 2100 movs r1, #0 - 308c: 4628 mov r0, r5 - 308e: 4b0c ldr r3, [pc, #48] ; (30c0 ) - 3090: 4798 blx r3 + 3072: 2100 movs r1, #0 + 3074: 4628 mov r0, r5 + 3076: 4b0c ldr r3, [pc, #48] ; (30a8 ) + 3078: 4798 blx r3 _lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 3092: 4629 mov r1, r5 - 3094: 4648 mov r0, r9 - 3096: 4b0b ldr r3, [pc, #44] ; (30c4 ) - 3098: 4798 blx r3 + 307a: 4629 mov r1, r5 + 307c: 4648 mov r0, r9 + 307e: 4b0b ldr r3, [pc, #44] ; (30ac ) + 3080: 4798 blx r3 lv_mem_free(tr); - 309a: 4628 mov r0, r5 - 309c: 4b0a ldr r3, [pc, #40] ; (30c8 ) - 309e: 4798 blx r3 - 30a0: e7da b.n 3058 - 30a2: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 30a6: bf00 nop - 30a8: 20006d3c .word 0x20006d3c - 30ac: 00011fb3 .word 0x00011fb3 - 30b0: 00011fe9 .word 0x00011fe9 - 30b4: 00002ffd .word 0x00002ffd - 30b8: 000070e7 .word 0x000070e7 - 30bc: 000067ed .word 0x000067ed - 30c0: 00011329 .word 0x00011329 - 30c4: 00012095 .word 0x00012095 - 30c8: 000124c5 .word 0x000124c5 - -000030cc : -{ - 30cc: b530 push {r4, r5, lr} - 30ce: b083 sub sp, #12 - 30d0: 4604 mov r4, r0 - 30d2: 460d mov r5, r1 + 3082: 4628 mov r0, r5 + 3084: 4b0a ldr r3, [pc, #40] ; (30b0 ) + 3086: 4798 blx r3 + 3088: e7da b.n 3040 + 308a: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 308e: bf00 nop + 3090: 20006d3c .word 0x20006d3c + 3094: 00011f9b .word 0x00011f9b + 3098: 00011fd1 .word 0x00011fd1 + 309c: 00002fe5 .word 0x00002fe5 + 30a0: 000070cf .word 0x000070cf + 30a4: 000067d5 .word 0x000067d5 + 30a8: 00011311 .word 0x00011311 + 30ac: 0001207d .word 0x0001207d + 30b0: 000124ad .word 0x000124ad + +000030b4 : +{ + 30b4: b530 push {r4, r5, lr} + 30b6: b083 sub sp, #12 + 30b8: 4604 mov r4, r0 + 30ba: 460d mov r5, r1 lv_style_list_t * style_dsc = lv_obj_get_style_list(obj, part); - 30d4: 4b0b ldr r3, [pc, #44] ; (3104 ) - 30d6: 4798 blx r3 + 30bc: 4b0b ldr r3, [pc, #44] ; (30ec ) + 30be: 4798 blx r3 if(style_dsc == NULL) { - 30d8: b148 cbz r0, 30ee + 30c0: b148 cbz r0, 30d6 _lv_style_list_reset(style_dsc); - 30da: 4b0b ldr r3, [pc, #44] ; (3108 ) - 30dc: 4798 blx r3 + 30c2: 4b0b ldr r3, [pc, #44] ; (30f0 ) + 30c4: 4798 blx r3 trans_del(obj, part, 0xFF, NULL); - 30de: 2300 movs r3, #0 - 30e0: 22ff movs r2, #255 ; 0xff - 30e2: 4629 mov r1, r5 - 30e4: 4620 mov r0, r4 - 30e6: 4c09 ldr r4, [pc, #36] ; (310c ) - 30e8: 47a0 blx r4 -} - 30ea: b003 add sp, #12 - 30ec: bd30 pop {r4, r5, pc} + 30c6: 2300 movs r3, #0 + 30c8: 22ff movs r2, #255 ; 0xff + 30ca: 4629 mov r1, r5 + 30cc: 4620 mov r0, r4 + 30ce: 4c09 ldr r4, [pc, #36] ; (30f4 ) + 30d0: 47a0 blx r4 +} + 30d2: b003 add sp, #12 + 30d4: bd30 pop {r4, r5, pc} LV_LOG_WARN("lv_obj_clean_style_list: can't find style with `part`"); - 30ee: 4b08 ldr r3, [pc, #32] ; (3110 ) - 30f0: 9300 str r3, [sp, #0] - 30f2: 4b08 ldr r3, [pc, #32] ; (3114 ) - 30f4: f240 4292 movw r2, #1170 ; 0x492 - 30f8: 4907 ldr r1, [pc, #28] ; (3118 ) - 30fa: 2002 movs r0, #2 - 30fc: 4c07 ldr r4, [pc, #28] ; (311c ) - 30fe: 47a0 blx r4 + 30d6: 4b08 ldr r3, [pc, #32] ; (30f8 ) + 30d8: 9300 str r3, [sp, #0] + 30da: 4b08 ldr r3, [pc, #32] ; (30fc ) + 30dc: f240 4292 movw r2, #1170 ; 0x492 + 30e0: 4907 ldr r1, [pc, #28] ; (3100 ) + 30e2: 2002 movs r0, #2 + 30e4: 4c07 ldr r4, [pc, #28] ; (3104 ) + 30e6: 47a0 blx r4 return; - 3100: e7f3 b.n 30ea - 3102: bf00 nop - 3104: 00002ffd .word 0x00002ffd - 3108: 000070f9 .word 0x000070f9 - 310c: 00003029 .word 0x00003029 - 3110: 00024898 .word 0x00024898 - 3114: 000243e4 .word 0x000243e4 - 3118: 000247dc .word 0x000247dc - 311c: 0001225d .word 0x0001225d - -00003120 : + 30e8: e7f3 b.n 30d2 + 30ea: bf00 nop + 30ec: 00002fe5 .word 0x00002fe5 + 30f0: 000070e1 .word 0x000070e1 + 30f4: 00003011 .word 0x00003011 + 30f8: 00024880 .word 0x00024880 + 30fc: 000243cc .word 0x000243cc + 3100: 000247c4 .word 0x000247c4 + 3104: 00012245 .word 0x00012245 + +00003108 : tr->prop = prop_tmp; } static void trans_anim_ready_cb(lv_anim_t * a) { - 3120: b5f8 push {r3, r4, r5, r6, r7, lr} + 3108: b5f8 push {r3, r4, r5, r6, r7, lr} lv_style_trans_t * tr = a->var; - 3122: 6804 ldr r4, [r0, #0] + 310a: 6804 ldr r4, [r0, #0] * if there no more transitions for this property * It allows changing it by normal styles*/ bool running = false; lv_style_trans_t * tr_i; _LV_LL_READ(LV_GC_ROOT(_lv_obj_style_trans_ll), tr_i) { - 3124: 4817 ldr r0, [pc, #92] ; (3184 ) - 3126: 4b18 ldr r3, [pc, #96] ; (3188 ) - 3128: 4798 blx r3 - 312a: b308 cbz r0, 3170 - 312c: 4601 mov r1, r0 - 312e: 2700 movs r7, #0 - 3130: 4e14 ldr r6, [pc, #80] ; (3184 ) - 3132: 4d16 ldr r5, [pc, #88] ; (318c ) - 3134: e003 b.n 313e - 3136: 4630 mov r0, r6 - 3138: 47a8 blx r5 - 313a: 4601 mov r1, r0 - 313c: b178 cbz r0, 315e + 310c: 4817 ldr r0, [pc, #92] ; (316c ) + 310e: 4b18 ldr r3, [pc, #96] ; (3170 ) + 3110: 4798 blx r3 + 3112: b308 cbz r0, 3158 + 3114: 4601 mov r1, r0 + 3116: 2700 movs r7, #0 + 3118: 4e14 ldr r6, [pc, #80] ; (316c ) + 311a: 4d16 ldr r5, [pc, #88] ; (3174 ) + 311c: e003 b.n 3126 + 311e: 4630 mov r0, r6 + 3120: 47a8 blx r5 + 3122: 4601 mov r1, r0 + 3124: b178 cbz r0, 3146 if(tr_i != tr && tr_i->obj == tr->obj && tr_i->part == tr->part && tr_i->prop == tr->prop) { - 313e: 428c cmp r4, r1 - 3140: d0f9 beq.n 3136 - 3142: 680a ldr r2, [r1, #0] - 3144: 6823 ldr r3, [r4, #0] - 3146: 429a cmp r2, r3 - 3148: d1f5 bne.n 3136 - 314a: 684b ldr r3, [r1, #4] - 314c: f023 427f bic.w r2, r3, #4278190080 ; 0xff000000 - 3150: 6863 ldr r3, [r4, #4] - 3152: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 + 3126: 428c cmp r4, r1 + 3128: d0f9 beq.n 311e + 312a: 680a ldr r2, [r1, #0] + 312c: 6823 ldr r3, [r4, #0] + 312e: 429a cmp r2, r3 + 3130: d1f5 bne.n 311e + 3132: 684b ldr r3, [r1, #4] + 3134: f023 427f bic.w r2, r3, #4278190080 ; 0xff000000 + 3138: 6863 ldr r3, [r4, #4] + 313a: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 running = true; - 3156: 429a cmp r2, r3 - 3158: bf08 it eq - 315a: 2701 moveq r7, #1 - 315c: e7eb b.n 3136 + 313e: 429a cmp r2, r3 + 3140: bf08 it eq + 3142: 2701 moveq r7, #1 + 3144: e7eb b.n 311e } } if(!running) { - 315e: b13f cbz r7, 3170 + 3146: b13f cbz r7, 3158 lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); lv_style_t * style_trans = _lv_style_list_get_transition_style(list); lv_style_remove_prop(style_trans, tr->prop); } _lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr); - 3160: 4621 mov r1, r4 - 3162: 4808 ldr r0, [pc, #32] ; (3184 ) - 3164: 4b0a ldr r3, [pc, #40] ; (3190 ) - 3166: 4798 blx r3 + 3148: 4621 mov r1, r4 + 314a: 4808 ldr r0, [pc, #32] ; (316c ) + 314c: 4b0a ldr r3, [pc, #40] ; (3178 ) + 314e: 4798 blx r3 lv_mem_free(tr); - 3168: 4620 mov r0, r4 - 316a: 4b0a ldr r3, [pc, #40] ; (3194 ) - 316c: 4798 blx r3 - 316e: bdf8 pop {r3, r4, r5, r6, r7, pc} + 3150: 4620 mov r0, r4 + 3152: 4b0a ldr r3, [pc, #40] ; (317c ) + 3154: 4798 blx r3 + 3156: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 3170: 79a1 ldrb r1, [r4, #6] - 3172: 6820 ldr r0, [r4, #0] - 3174: 4b08 ldr r3, [pc, #32] ; (3198 ) - 3176: 4798 blx r3 + 3158: 79a1 ldrb r1, [r4, #6] + 315a: 6820 ldr r0, [r4, #0] + 315c: 4b08 ldr r3, [pc, #32] ; (3180 ) + 315e: 4798 blx r3 lv_style_t * style_trans = _lv_style_list_get_transition_style(list); - 3178: 4b08 ldr r3, [pc, #32] ; (319c ) - 317a: 4798 blx r3 + 3160: 4b08 ldr r3, [pc, #32] ; (3184 ) + 3162: 4798 blx r3 lv_style_remove_prop(style_trans, tr->prop); - 317c: 88a1 ldrh r1, [r4, #4] - 317e: 4b08 ldr r3, [pc, #32] ; (31a0 ) - 3180: 4798 blx r3 - 3182: e7ed b.n 3160 - 3184: 20006d3c .word 0x20006d3c - 3188: 00011fa9 .word 0x00011fa9 - 318c: 00011fbd .word 0x00011fbd - 3190: 00012095 .word 0x00012095 - 3194: 000124c5 .word 0x000124c5 - 3198: 00002ffd .word 0x00002ffd - 319c: 000070e7 .word 0x000070e7 - 31a0: 000067ed .word 0x000067ed - -000031a4 : -{ - 31a4: b530 push {r4, r5, lr} - 31a6: b083 sub sp, #12 - 31a8: 4604 mov r4, r0 + 3164: 88a1 ldrh r1, [r4, #4] + 3166: 4b08 ldr r3, [pc, #32] ; (3188 ) + 3168: 4798 blx r3 + 316a: e7ed b.n 3148 + 316c: 20006d3c .word 0x20006d3c + 3170: 00011f91 .word 0x00011f91 + 3174: 00011fa5 .word 0x00011fa5 + 3178: 0001207d .word 0x0001207d + 317c: 000124ad .word 0x000124ad + 3180: 00002fe5 .word 0x00002fe5 + 3184: 000070cf .word 0x000070cf + 3188: 000067d5 .word 0x000067d5 + +0000318c : +{ + 318c: b530 push {r4, r5, lr} + 318e: b083 sub sp, #12 + 3190: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 31aa: 4b0b ldr r3, [pc, #44] ; (31d8 ) - 31ac: 4798 blx r3 - 31ae: b128 cbz r0, 31bc + 3192: 4b0b ldr r3, [pc, #44] ; (31c0 ) + 3194: 4798 blx r3 + 3196: b128 cbz r0, 31a4 return obj->hidden == 0 ? false : true; - 31b0: f894 0034 ldrb.w r0, [r4, #52] ; 0x34 + 3198: f894 0034 ldrb.w r0, [r4, #52] ; 0x34 } - 31b4: f3c0 1000 ubfx r0, r0, #4, #1 - 31b8: b003 add sp, #12 - 31ba: bd30 pop {r4, r5, pc} + 319c: f3c0 1000 ubfx r0, r0, #4, #1 + 31a0: b003 add sp, #12 + 31a2: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 31bc: 4b07 ldr r3, [pc, #28] ; (31dc ) - 31be: 9300 str r3, [sp, #0] - 31c0: f640 2241 movw r2, #2625 ; 0xa41 - 31c4: 4906 ldr r1, [pc, #24] ; (31e0 ) - 31c6: 2003 movs r0, #3 - 31c8: 4d06 ldr r5, [pc, #24] ; (31e4 ) - 31ca: 47a8 blx r5 - 31cc: 4622 mov r2, r4 - 31ce: 2300 movs r3, #0 - 31d0: 4805 ldr r0, [pc, #20] ; (31e8 ) - 31d2: 4906 ldr r1, [pc, #24] ; (31ec ) - 31d4: 4788 blx r1 - 31d6: e7fe b.n 31d6 - 31d8: 000022b1 .word 0x000022b1 - 31dc: 00024434 .word 0x00024434 - 31e0: 000247dc .word 0x000247dc - 31e4: 0001225d .word 0x0001225d - 31e8: 0002483c .word 0x0002483c - 31ec: 000022b9 .word 0x000022b9 - -000031f0 : -{ - 31f0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 31f4: b086 sub sp, #24 - 31f6: 4604 mov r4, r0 - 31f8: 460e mov r6, r1 + 31a4: 4b07 ldr r3, [pc, #28] ; (31c4 ) + 31a6: 9300 str r3, [sp, #0] + 31a8: f640 2241 movw r2, #2625 ; 0xa41 + 31ac: 4906 ldr r1, [pc, #24] ; (31c8 ) + 31ae: 2003 movs r0, #3 + 31b0: 4d06 ldr r5, [pc, #24] ; (31cc ) + 31b2: 47a8 blx r5 + 31b4: 4622 mov r2, r4 + 31b6: 2300 movs r3, #0 + 31b8: 4805 ldr r0, [pc, #20] ; (31d0 ) + 31ba: 4906 ldr r1, [pc, #24] ; (31d4 ) + 31bc: 4788 blx r1 + 31be: e7fe b.n 31be + 31c0: 00002299 .word 0x00002299 + 31c4: 0002441c .word 0x0002441c + 31c8: 000247c4 .word 0x000247c4 + 31cc: 00012245 .word 0x00012245 + 31d0: 00024824 .word 0x00024824 + 31d4: 000022a1 .word 0x000022a1 + +000031d8 : +{ + 31d8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 31dc: b086 sub sp, #24 + 31de: 4604 mov r4, r0 + 31e0: 460e mov r6, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 31fa: 4b3a ldr r3, [pc, #232] ; (32e4 ) - 31fc: 4798 blx r3 - 31fe: b968 cbnz r0, 321c - 3200: 4b39 ldr r3, [pc, #228] ; (32e8 ) - 3202: 9300 str r3, [sp, #0] - 3204: f44f 72f0 mov.w r2, #480 ; 0x1e0 - 3208: 4938 ldr r1, [pc, #224] ; (32ec ) - 320a: 2003 movs r0, #3 - 320c: 4d38 ldr r5, [pc, #224] ; (32f0 ) - 320e: 47a8 blx r5 - 3210: 4622 mov r2, r4 - 3212: 2300 movs r3, #0 - 3214: 4837 ldr r0, [pc, #220] ; (32f4 ) - 3216: 4938 ldr r1, [pc, #224] ; (32f8 ) - 3218: 4788 blx r1 - 321a: e7fe b.n 321a + 31e2: 4b3a ldr r3, [pc, #232] ; (32cc ) + 31e4: 4798 blx r3 + 31e6: b968 cbnz r0, 3204 + 31e8: 4b39 ldr r3, [pc, #228] ; (32d0 ) + 31ea: 9300 str r3, [sp, #0] + 31ec: f44f 72f0 mov.w r2, #480 ; 0x1e0 + 31f0: 4938 ldr r1, [pc, #224] ; (32d4 ) + 31f2: 2003 movs r0, #3 + 31f4: 4d38 ldr r5, [pc, #224] ; (32d8 ) + 31f6: 47a8 blx r5 + 31f8: 4622 mov r2, r4 + 31fa: 2300 movs r3, #0 + 31fc: 4837 ldr r0, [pc, #220] ; (32dc ) + 31fe: 4938 ldr r1, [pc, #224] ; (32e0 ) + 3200: 4788 blx r1 + 3202: e7fe b.n 3202 if(lv_obj_get_hidden(obj)) return; - 321c: 4620 mov r0, r4 - 321e: 4b37 ldr r3, [pc, #220] ; (32fc ) - 3220: 4798 blx r3 - 3222: b110 cbz r0, 322a + 3204: 4620 mov r0, r4 + 3206: 4b37 ldr r3, [pc, #220] ; (32e4 ) + 3208: 4798 blx r3 + 320a: b110 cbz r0, 3212 } - 3224: b006 add sp, #24 - 3226: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 320c: b006 add sp, #24 + 320e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} lv_obj_t * obj_scr = lv_obj_get_screen(obj); - 322a: 4620 mov r0, r4 - 322c: 4b34 ldr r3, [pc, #208] ; (3300 ) - 322e: 4798 blx r3 - 3230: 4607 mov r7, r0 + 3212: 4620 mov r0, r4 + 3214: 4b34 ldr r3, [pc, #208] ; (32e8 ) + 3216: 4798 blx r3 + 3218: 4607 mov r7, r0 lv_disp_t * disp = lv_obj_get_disp(obj_scr); - 3232: 4b34 ldr r3, [pc, #208] ; (3304 ) - 3234: 4798 blx r3 - 3236: 4605 mov r5, r0 + 321a: 4b34 ldr r3, [pc, #208] ; (32ec ) + 321c: 4798 blx r3 + 321e: 4605 mov r5, r0 if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) || - 3238: 4b33 ldr r3, [pc, #204] ; (3308 ) - 323a: 4798 blx r3 - 323c: 4287 cmp r7, r0 - 323e: d009 beq.n 3254 - 3240: 4628 mov r0, r5 - 3242: 4b32 ldr r3, [pc, #200] ; (330c ) - 3244: 4798 blx r3 - 3246: 4287 cmp r7, r0 - 3248: d004 beq.n 3254 + 3220: 4b33 ldr r3, [pc, #204] ; (32f0 ) + 3222: 4798 blx r3 + 3224: 4287 cmp r7, r0 + 3226: d009 beq.n 323c + 3228: 4628 mov r0, r5 + 322a: 4b32 ldr r3, [pc, #200] ; (32f4 ) + 322c: 4798 blx r3 + 322e: 4287 cmp r7, r0 + 3230: d004 beq.n 323c obj_scr == lv_disp_get_layer_sys(disp)) { - 324a: 4628 mov r0, r5 - 324c: 4b30 ldr r3, [pc, #192] ; (3310 ) - 324e: 4798 blx r3 + 3232: 4628 mov r0, r5 + 3234: 4b30 ldr r3, [pc, #192] ; (32f8 ) + 3236: 4798 blx r3 if(obj_scr == lv_disp_get_scr_act(disp) || obj_scr == lv_disp_get_layer_top(disp) || - 3250: 4287 cmp r7, r0 - 3252: d1e7 bne.n 3224 + 3238: 4287 cmp r7, r0 + 323a: d1e7 bne.n 320c lv_coord_t ext_size = obj->ext_draw_pad; - 3254: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 - 3258: f104 020f add.w r2, r4, #15 - 325c: f104 0017 add.w r0, r4, #23 + 323c: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 + 3240: f104 020f add.w r2, r4, #15 + 3244: f104 0017 add.w r0, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 3260: a902 add r1, sp, #8 + 3248: a902 add r1, sp, #8 *d8 = *s8; - 3262: f812 7f01 ldrb.w r7, [r2, #1]! - 3266: f801 7b01 strb.w r7, [r1], #1 + 324a: f812 7f01 ldrb.w r7, [r2, #1]! + 324e: f801 7b01 strb.w r7, [r1], #1 while(len) { - 326a: 4282 cmp r2, r0 - 326c: d1f9 bne.n 3262 + 3252: 4282 cmp r2, r0 + 3254: d1f9 bne.n 324a obj_coords.x1 -= ext_size; - 326e: b29b uxth r3, r3 - 3270: f8bd 2008 ldrh.w r2, [sp, #8] - 3274: 1ad2 subs r2, r2, r3 - 3276: f8ad 2008 strh.w r2, [sp, #8] + 3256: b29b uxth r3, r3 + 3258: f8bd 2008 ldrh.w r2, [sp, #8] + 325c: 1ad2 subs r2, r2, r3 + 325e: f8ad 2008 strh.w r2, [sp, #8] obj_coords.y1 -= ext_size; - 327a: f8bd 200a ldrh.w r2, [sp, #10] - 327e: 1ad2 subs r2, r2, r3 - 3280: f8ad 200a strh.w r2, [sp, #10] + 3262: f8bd 200a ldrh.w r2, [sp, #10] + 3266: 1ad2 subs r2, r2, r3 + 3268: f8ad 200a strh.w r2, [sp, #10] obj_coords.x2 += ext_size; - 3284: f8bd 200c ldrh.w r2, [sp, #12] - 3288: 441a add r2, r3 - 328a: f8ad 200c strh.w r2, [sp, #12] + 326c: f8bd 200c ldrh.w r2, [sp, #12] + 3270: 441a add r2, r3 + 3272: f8ad 200c strh.w r2, [sp, #12] obj_coords.y2 += ext_size; - 328e: f8bd 200e ldrh.w r2, [sp, #14] - 3292: 4413 add r3, r2 - 3294: f8ad 300e strh.w r3, [sp, #14] + 3276: f8bd 200e ldrh.w r2, [sp, #14] + 327a: 4413 add r3, r2 + 327c: f8ad 300e strh.w r3, [sp, #14] is_common = _lv_area_intersect(&area_trunc, area, &obj_coords); - 3298: aa02 add r2, sp, #8 - 329a: 4631 mov r1, r6 - 329c: a804 add r0, sp, #16 - 329e: 4b1d ldr r3, [pc, #116] ; (3314 ) - 32a0: 4798 blx r3 + 3280: aa02 add r2, sp, #8 + 3282: 4631 mov r1, r6 + 3284: a804 add r0, sp, #16 + 3286: 4b1d ldr r3, [pc, #116] ; (32fc ) + 3288: 4798 blx r3 if(is_common == false) return; /*The area is not on the object*/ - 32a2: 2800 cmp r0, #0 - 32a4: d0be beq.n 3224 + 328a: 2800 cmp r0, #0 + 328c: d0be beq.n 320c lv_obj_t * par = lv_obj_get_parent(obj); - 32a6: 4620 mov r0, r4 - 32a8: 4b1b ldr r3, [pc, #108] ; (3318 ) - 32aa: 4798 blx r3 + 328e: 4620 mov r0, r4 + 3290: 4b1b ldr r3, [pc, #108] ; (3300 ) + 3292: 4798 blx r3 while(par != NULL) { - 32ac: 4604 mov r4, r0 - 32ae: b198 cbz r0, 32d8 + 3294: 4604 mov r4, r0 + 3296: b198 cbz r0, 32c0 is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords); - 32b0: f8df 8060 ldr.w r8, [pc, #96] ; 3314 + 3298: f8df 8060 ldr.w r8, [pc, #96] ; 32fc if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/ - 32b4: 4f11 ldr r7, [pc, #68] ; (32fc ) + 329c: 4f11 ldr r7, [pc, #68] ; (32e4 ) par = lv_obj_get_parent(par); - 32b6: 4e18 ldr r6, [pc, #96] ; (3318 ) + 329e: 4e18 ldr r6, [pc, #96] ; (3300 ) is_common = _lv_area_intersect(&area_trunc, &area_trunc, &par->coords); - 32b8: f104 0210 add.w r2, r4, #16 - 32bc: a904 add r1, sp, #16 - 32be: 4608 mov r0, r1 - 32c0: 47c0 blx r8 + 32a0: f104 0210 add.w r2, r4, #16 + 32a4: a904 add r1, sp, #16 + 32a6: 4608 mov r0, r1 + 32a8: 47c0 blx r8 if(is_common == false) break; /*If no common parts with parent break;*/ - 32c2: 2800 cmp r0, #0 - 32c4: d0ae beq.n 3224 + 32aa: 2800 cmp r0, #0 + 32ac: d0ae beq.n 320c if(lv_obj_get_hidden(par)) return; /*If the parent is hidden then the child is hidden and won't be drawn*/ - 32c6: 4620 mov r0, r4 - 32c8: 47b8 blx r7 - 32ca: 2800 cmp r0, #0 - 32cc: d1aa bne.n 3224 + 32ae: 4620 mov r0, r4 + 32b0: 47b8 blx r7 + 32b2: 2800 cmp r0, #0 + 32b4: d1aa bne.n 320c par = lv_obj_get_parent(par); - 32ce: 4620 mov r0, r4 - 32d0: 47b0 blx r6 + 32b6: 4620 mov r0, r4 + 32b8: 47b0 blx r6 while(par != NULL) { - 32d2: 4604 mov r4, r0 - 32d4: 2800 cmp r0, #0 - 32d6: d1ef bne.n 32b8 + 32ba: 4604 mov r4, r0 + 32bc: 2800 cmp r0, #0 + 32be: d1ef bne.n 32a0 if(is_common) _lv_inv_area(disp, &area_trunc); - 32d8: a904 add r1, sp, #16 - 32da: 4628 mov r0, r5 - 32dc: 4b0f ldr r3, [pc, #60] ; (331c ) - 32de: 4798 blx r3 - 32e0: e7a0 b.n 3224 - 32e2: bf00 nop - 32e4: 000022b1 .word 0x000022b1 - 32e8: 00024448 .word 0x00024448 - 32ec: 000247dc .word 0x000247dc - 32f0: 0001225d .word 0x0001225d - 32f4: 0002483c .word 0x0002483c - 32f8: 000022b9 .word 0x000022b9 - 32fc: 000031a5 .word 0x000031a5 - 3300: 00002cc5 .word 0x00002cc5 - 3304: 00002d21 .word 0x00002d21 - 3308: 0000234d .word 0x0000234d - 330c: 0000238d .word 0x0000238d - 3310: 000023cd .word 0x000023cd - 3314: 00011519 .word 0x00011519 - 3318: 00002c7d .word 0x00002c7d - 331c: 00005e59 .word 0x00005e59 - -00003320 : -{ - 3320: b530 push {r4, r5, lr} - 3322: b085 sub sp, #20 - 3324: 4604 mov r4, r0 + 32c0: a904 add r1, sp, #16 + 32c2: 4628 mov r0, r5 + 32c4: 4b0f ldr r3, [pc, #60] ; (3304 ) + 32c6: 4798 blx r3 + 32c8: e7a0 b.n 320c + 32ca: bf00 nop + 32cc: 00002299 .word 0x00002299 + 32d0: 00024430 .word 0x00024430 + 32d4: 000247c4 .word 0x000247c4 + 32d8: 00012245 .word 0x00012245 + 32dc: 00024824 .word 0x00024824 + 32e0: 000022a1 .word 0x000022a1 + 32e4: 0000318d .word 0x0000318d + 32e8: 00002cad .word 0x00002cad + 32ec: 00002d09 .word 0x00002d09 + 32f0: 00002335 .word 0x00002335 + 32f4: 00002375 .word 0x00002375 + 32f8: 000023b5 .word 0x000023b5 + 32fc: 00011501 .word 0x00011501 + 3300: 00002c65 .word 0x00002c65 + 3304: 00005e41 .word 0x00005e41 + +00003308 : +{ + 3308: b530 push {r4, r5, lr} + 330a: b085 sub sp, #20 + 330c: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3326: 4b1c ldr r3, [pc, #112] ; (3398 ) - 3328: 4798 blx r3 - 332a: b338 cbz r0, 337c + 330e: 4b1c ldr r3, [pc, #112] ; (3380 ) + 3310: 4798 blx r3 + 3312: b338 cbz r0, 3364 lv_coord_t ext_size = obj->ext_draw_pad; - 332c: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 - 3330: f104 020f add.w r2, r4, #15 - 3334: f104 0517 add.w r5, r4, #23 + 3314: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 + 3318: f104 020f add.w r2, r4, #15 + 331c: f104 0517 add.w r5, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 3338: a902 add r1, sp, #8 + 3320: a902 add r1, sp, #8 *d8 = *s8; - 333a: f812 0f01 ldrb.w r0, [r2, #1]! - 333e: f801 0b01 strb.w r0, [r1], #1 + 3322: f812 0f01 ldrb.w r0, [r2, #1]! + 3326: f801 0b01 strb.w r0, [r1], #1 while(len) { - 3342: 42aa cmp r2, r5 - 3344: d1f9 bne.n 333a + 332a: 42aa cmp r2, r5 + 332c: d1f9 bne.n 3322 obj_coords.x1 -= ext_size; - 3346: b29b uxth r3, r3 - 3348: f8bd 2008 ldrh.w r2, [sp, #8] - 334c: 1ad2 subs r2, r2, r3 - 334e: f8ad 2008 strh.w r2, [sp, #8] + 332e: b29b uxth r3, r3 + 3330: f8bd 2008 ldrh.w r2, [sp, #8] + 3334: 1ad2 subs r2, r2, r3 + 3336: f8ad 2008 strh.w r2, [sp, #8] obj_coords.y1 -= ext_size; - 3352: f8bd 200a ldrh.w r2, [sp, #10] - 3356: 1ad2 subs r2, r2, r3 - 3358: f8ad 200a strh.w r2, [sp, #10] + 333a: f8bd 200a ldrh.w r2, [sp, #10] + 333e: 1ad2 subs r2, r2, r3 + 3340: f8ad 200a strh.w r2, [sp, #10] obj_coords.x2 += ext_size; - 335c: f8bd 200c ldrh.w r2, [sp, #12] - 3360: 441a add r2, r3 - 3362: f8ad 200c strh.w r2, [sp, #12] + 3344: f8bd 200c ldrh.w r2, [sp, #12] + 3348: 441a add r2, r3 + 334a: f8ad 200c strh.w r2, [sp, #12] obj_coords.y2 += ext_size; - 3366: f8bd 200e ldrh.w r2, [sp, #14] - 336a: 4413 add r3, r2 - 336c: f8ad 300e strh.w r3, [sp, #14] + 334e: f8bd 200e ldrh.w r2, [sp, #14] + 3352: 4413 add r3, r2 + 3354: f8ad 300e strh.w r3, [sp, #14] lv_obj_invalidate_area(obj, &obj_coords); - 3370: a902 add r1, sp, #8 - 3372: 4620 mov r0, r4 - 3374: 4b09 ldr r3, [pc, #36] ; (339c ) - 3376: 4798 blx r3 + 3358: a902 add r1, sp, #8 + 335a: 4620 mov r0, r4 + 335c: 4b09 ldr r3, [pc, #36] ; (3384 ) + 335e: 4798 blx r3 } - 3378: b005 add sp, #20 - 337a: bd30 pop {r4, r5, pc} + 3360: b005 add sp, #20 + 3362: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 337c: 4b08 ldr r3, [pc, #32] ; (33a0 ) - 337e: 9300 str r3, [sp, #0] - 3380: f240 220d movw r2, #525 ; 0x20d - 3384: 4907 ldr r1, [pc, #28] ; (33a4 ) - 3386: 2003 movs r0, #3 - 3388: 4d07 ldr r5, [pc, #28] ; (33a8 ) - 338a: 47a8 blx r5 - 338c: 4622 mov r2, r4 - 338e: 2300 movs r3, #0 - 3390: 4806 ldr r0, [pc, #24] ; (33ac ) - 3392: 4907 ldr r1, [pc, #28] ; (33b0 ) - 3394: 4788 blx r1 - 3396: e7fe b.n 3396 - 3398: 000022b1 .word 0x000022b1 - 339c: 000031f1 .word 0x000031f1 - 33a0: 00024460 .word 0x00024460 - 33a4: 000247dc .word 0x000247dc - 33a8: 0001225d .word 0x0001225d - 33ac: 0002483c .word 0x0002483c - 33b0: 000022b9 .word 0x000022b9 - -000033b4 : -{ - 33b4: b5f0 push {r4, r5, r6, r7, lr} - 33b6: b083 sub sp, #12 - 33b8: 4605 mov r5, r0 + 3364: 4b08 ldr r3, [pc, #32] ; (3388 ) + 3366: 9300 str r3, [sp, #0] + 3368: f240 220d movw r2, #525 ; 0x20d + 336c: 4907 ldr r1, [pc, #28] ; (338c ) + 336e: 2003 movs r0, #3 + 3370: 4d07 ldr r5, [pc, #28] ; (3390 ) + 3372: 47a8 blx r5 + 3374: 4622 mov r2, r4 + 3376: 2300 movs r3, #0 + 3378: 4806 ldr r0, [pc, #24] ; (3394 ) + 337a: 4907 ldr r1, [pc, #28] ; (3398 ) + 337c: 4788 blx r1 + 337e: e7fe b.n 337e + 3380: 00002299 .word 0x00002299 + 3384: 000031d9 .word 0x000031d9 + 3388: 00024448 .word 0x00024448 + 338c: 000247c4 .word 0x000247c4 + 3390: 00012245 .word 0x00012245 + 3394: 00024824 .word 0x00024824 + 3398: 000022a1 .word 0x000022a1 + +0000339c : +{ + 339c: b5f0 push {r4, r5, r6, r7, lr} + 339e: b083 sub sp, #12 + 33a0: 4605 mov r5, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 33ba: 4b16 ldr r3, [pc, #88] ; (3414 ) - 33bc: 4798 blx r3 - 33be: b968 cbnz r0, 33dc - 33c0: 4b15 ldr r3, [pc, #84] ; (3418 ) - 33c2: 9300 str r3, [sp, #0] - 33c4: f240 2262 movw r2, #610 ; 0x262 - 33c8: 4914 ldr r1, [pc, #80] ; (341c ) - 33ca: 2003 movs r0, #3 - 33cc: 4c14 ldr r4, [pc, #80] ; (3420 ) - 33ce: 47a0 blx r4 - 33d0: 462a mov r2, r5 - 33d2: 2300 movs r3, #0 - 33d4: 4813 ldr r0, [pc, #76] ; (3424 ) - 33d6: 4914 ldr r1, [pc, #80] ; (3428 ) - 33d8: 4788 blx r1 - 33da: e7fe b.n 33da + 33a2: 4b16 ldr r3, [pc, #88] ; (33fc ) + 33a4: 4798 blx r3 + 33a6: b968 cbnz r0, 33c4 + 33a8: 4b15 ldr r3, [pc, #84] ; (3400 ) + 33aa: 9300 str r3, [sp, #0] + 33ac: f240 2262 movw r2, #610 ; 0x262 + 33b0: 4914 ldr r1, [pc, #80] ; (3404 ) + 33b2: 2003 movs r0, #3 + 33b4: 4c14 ldr r4, [pc, #80] ; (3408 ) + 33b6: 47a0 blx r4 + 33b8: 462a mov r2, r5 + 33ba: 2300 movs r3, #0 + 33bc: 4813 ldr r0, [pc, #76] ; (340c ) + 33be: 4914 ldr r1, [pc, #80] ; (3410 ) + 33c0: 4788 blx r1 + 33c2: e7fe b.n 33c2 lv_obj_t * parent = lv_obj_get_parent(obj); - 33dc: 4628 mov r0, r5 - 33de: 4b13 ldr r3, [pc, #76] ; (342c ) - 33e0: 4798 blx r3 - 33e2: 4604 mov r4, r0 + 33c4: 4628 mov r0, r5 + 33c6: 4b13 ldr r3, [pc, #76] ; (3414 ) + 33c8: 4798 blx r3 + 33ca: 4604 mov r4, r0 if(_lv_ll_get_head(&parent->child_ll) == obj) return; - 33e4: 1d06 adds r6, r0, #4 - 33e6: 4630 mov r0, r6 - 33e8: 4b11 ldr r3, [pc, #68] ; (3430 ) - 33ea: 4798 blx r3 - 33ec: 4285 cmp r5, r0 - 33ee: d00f beq.n 3410 + 33cc: 1d06 adds r6, r0, #4 + 33ce: 4630 mov r0, r6 + 33d0: 4b11 ldr r3, [pc, #68] ; (3418 ) + 33d2: 4798 blx r3 + 33d4: 4285 cmp r5, r0 + 33d6: d00f beq.n 33f8 lv_obj_invalidate(parent); - 33f0: 4620 mov r0, r4 - 33f2: 4f10 ldr r7, [pc, #64] ; (3434 ) - 33f4: 47b8 blx r7 + 33d8: 4620 mov r0, r4 + 33da: 4f10 ldr r7, [pc, #64] ; (341c ) + 33dc: 47b8 blx r7 _lv_ll_chg_list(&parent->child_ll, &parent->child_ll, obj, true); - 33f6: 2301 movs r3, #1 - 33f8: 462a mov r2, r5 - 33fa: 4631 mov r1, r6 - 33fc: 4630 mov r0, r6 - 33fe: 4e0e ldr r6, [pc, #56] ; (3438 ) - 3400: 47b0 blx r6 + 33de: 2301 movs r3, #1 + 33e0: 462a mov r2, r5 + 33e2: 4631 mov r1, r6 + 33e4: 4630 mov r0, r6 + 33e6: 4e0e ldr r6, [pc, #56] ; (3420 ) + 33e8: 47b0 blx r6 parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, obj); - 3402: 69e3 ldr r3, [r4, #28] - 3404: 462a mov r2, r5 - 3406: 2101 movs r1, #1 - 3408: 4620 mov r0, r4 - 340a: 4798 blx r3 + 33ea: 69e3 ldr r3, [r4, #28] + 33ec: 462a mov r2, r5 + 33ee: 2101 movs r1, #1 + 33f0: 4620 mov r0, r4 + 33f2: 4798 blx r3 lv_obj_invalidate(parent); - 340c: 4620 mov r0, r4 - 340e: 47b8 blx r7 -} - 3410: b003 add sp, #12 - 3412: bdf0 pop {r4, r5, r6, r7, pc} - 3414: 000022b1 .word 0x000022b1 - 3418: 00024474 .word 0x00024474 - 341c: 000247dc .word 0x000247dc - 3420: 0001225d .word 0x0001225d - 3424: 0002483c .word 0x0002483c - 3428: 000022b9 .word 0x000022b9 - 342c: 00002c7d .word 0x00002c7d - 3430: 00011fa9 .word 0x00011fa9 - 3434: 00003321 .word 0x00003321 - 3438: 00012121 .word 0x00012121 - -0000343c : -{ - 343c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 3440: b084 sub sp, #16 - 3442: 4604 mov r4, r0 - 3444: 468a mov sl, r1 - 3446: 4617 mov r7, r2 + 33f4: 4620 mov r0, r4 + 33f6: 47b8 blx r7 +} + 33f8: b003 add sp, #12 + 33fa: bdf0 pop {r4, r5, r6, r7, pc} + 33fc: 00002299 .word 0x00002299 + 3400: 0002445c .word 0x0002445c + 3404: 000247c4 .word 0x000247c4 + 3408: 00012245 .word 0x00012245 + 340c: 00024824 .word 0x00024824 + 3410: 000022a1 .word 0x000022a1 + 3414: 00002c65 .word 0x00002c65 + 3418: 00011f91 .word 0x00011f91 + 341c: 00003309 .word 0x00003309 + 3420: 00012109 .word 0x00012109 + +00003424 : +{ + 3424: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 3428: b084 sub sp, #16 + 342a: 4604 mov r4, r0 + 342c: 468a mov sl, r1 + 342e: 4617 mov r7, r2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3448: 4b2d ldr r3, [pc, #180] ; (3500 ) - 344a: 4798 blx r3 - 344c: 2800 cmp r0, #0 - 344e: d03e beq.n 34ce + 3430: 4b2d ldr r3, [pc, #180] ; (34e8 ) + 3432: 4798 blx r3 + 3434: 2800 cmp r0, #0 + 3436: d03e beq.n 34b6 lv_obj_t * par = obj->parent; - 3450: 6826 ldr r6, [r4, #0] + 3438: 6826 ldr r6, [r4, #0] if(par == NULL) { - 3452: 2e00 cmp r6, #0 - 3454: d049 beq.n 34ea + 343a: 2e00 cmp r6, #0 + 343c: d049 beq.n 34d2 diff.x = x - obj->coords.x1; - 3456: 8a33 ldrh r3, [r6, #16] - 3458: 8a22 ldrh r2, [r4, #16] - 345a: 1a9b subs r3, r3, r2 - 345c: 4453 add r3, sl - 345e: fa1f fa83 uxth.w sl, r3 - 3462: fa0f f88a sxth.w r8, sl + 343e: 8a33 ldrh r3, [r6, #16] + 3440: 8a22 ldrh r2, [r4, #16] + 3442: 1a9b subs r3, r3, r2 + 3444: 4453 add r3, sl + 3446: fa1f fa83 uxth.w sl, r3 + 344a: fa0f f88a sxth.w r8, sl diff.y = y - obj->coords.y1; - 3466: 8a75 ldrh r5, [r6, #18] - 3468: 8a63 ldrh r3, [r4, #18] - 346a: 1aed subs r5, r5, r3 - 346c: 443d add r5, r7 - 346e: b2ad uxth r5, r5 - 3470: fa0f f985 sxth.w r9, r5 + 344e: 8a75 ldrh r5, [r6, #18] + 3450: 8a63 ldrh r3, [r4, #18] + 3452: 1aed subs r5, r5, r3 + 3454: 443d add r5, r7 + 3456: b2ad uxth r5, r5 + 3458: fa0f f985 sxth.w r9, r5 if(diff.x == 0 && diff.y == 0) return; - 3474: f1b8 0f00 cmp.w r8, #0 - 3478: d102 bne.n 3480 - 347a: f1b9 0f00 cmp.w r9, #0 - 347e: d023 beq.n 34c8 + 345c: f1b8 0f00 cmp.w r8, #0 + 3460: d102 bne.n 3468 + 3462: f1b9 0f00 cmp.w r9, #0 + 3466: d023 beq.n 34b0 lv_obj_invalidate(obj); - 3480: 4620 mov r0, r4 - 3482: 4f20 ldr r7, [pc, #128] ; (3504 ) - 3484: 47b8 blx r7 + 3468: 4620 mov r0, r4 + 346a: 4f20 ldr r7, [pc, #128] ; (34ec ) + 346c: 47b8 blx r7 lv_obj_get_coords(obj, &ori); - 3486: a902 add r1, sp, #8 - 3488: 4620 mov r0, r4 - 348a: 4b1f ldr r3, [pc, #124] ; (3508 ) - 348c: 4798 blx r3 + 346e: a902 add r1, sp, #8 + 3470: 4620 mov r0, r4 + 3472: 4b1f ldr r3, [pc, #124] ; (34f0 ) + 3474: 4798 blx r3 obj->coords.x1 += diff.x; - 348e: 8a23 ldrh r3, [r4, #16] - 3490: 4453 add r3, sl - 3492: 8223 strh r3, [r4, #16] + 3476: 8a23 ldrh r3, [r4, #16] + 3478: 4453 add r3, sl + 347a: 8223 strh r3, [r4, #16] obj->coords.y1 += diff.y; - 3494: 8a63 ldrh r3, [r4, #18] - 3496: 442b add r3, r5 - 3498: 8263 strh r3, [r4, #18] + 347c: 8a63 ldrh r3, [r4, #18] + 347e: 442b add r3, r5 + 3480: 8263 strh r3, [r4, #18] obj->coords.x2 += diff.x; - 349a: 8aa3 ldrh r3, [r4, #20] - 349c: 4453 add r3, sl - 349e: 82a3 strh r3, [r4, #20] + 3482: 8aa3 ldrh r3, [r4, #20] + 3484: 4453 add r3, sl + 3486: 82a3 strh r3, [r4, #20] obj->coords.y2 += diff.y; - 34a0: 8ae3 ldrh r3, [r4, #22] - 34a2: 441d add r5, r3 - 34a4: 82e5 strh r5, [r4, #22] + 3488: 8ae3 ldrh r3, [r4, #22] + 348a: 441d add r5, r3 + 348c: 82e5 strh r5, [r4, #22] refresh_children_position(obj, diff.x, diff.y); - 34a6: 464a mov r2, r9 - 34a8: 4641 mov r1, r8 - 34aa: 4620 mov r0, r4 - 34ac: 4b17 ldr r3, [pc, #92] ; (350c ) - 34ae: 4798 blx r3 + 348e: 464a mov r2, r9 + 3490: 4641 mov r1, r8 + 3492: 4620 mov r0, r4 + 3494: 4b17 ldr r3, [pc, #92] ; (34f4 ) + 3496: 4798 blx r3 obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori); - 34b0: 69e3 ldr r3, [r4, #28] - 34b2: aa02 add r2, sp, #8 - 34b4: 2102 movs r1, #2 - 34b6: 4620 mov r0, r4 - 34b8: 4798 blx r3 + 3498: 69e3 ldr r3, [r4, #28] + 349a: aa02 add r2, sp, #8 + 349c: 2102 movs r1, #2 + 349e: 4620 mov r0, r4 + 34a0: 4798 blx r3 par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj); - 34ba: 69f3 ldr r3, [r6, #28] - 34bc: 4622 mov r2, r4 - 34be: 2101 movs r1, #1 - 34c0: 4630 mov r0, r6 - 34c2: 4798 blx r3 + 34a2: 69f3 ldr r3, [r6, #28] + 34a4: 4622 mov r2, r4 + 34a6: 2101 movs r1, #1 + 34a8: 4630 mov r0, r6 + 34aa: 4798 blx r3 lv_obj_invalidate(obj); - 34c4: 4620 mov r0, r4 - 34c6: 47b8 blx r7 + 34ac: 4620 mov r0, r4 + 34ae: 47b8 blx r7 } - 34c8: b004 add sp, #16 - 34ca: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 34b0: b004 add sp, #16 + 34b2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 34ce: 4b10 ldr r3, [pc, #64] ; (3510 ) - 34d0: 9300 str r3, [sp, #0] - 34d2: f240 2296 movw r2, #662 ; 0x296 - 34d6: 490f ldr r1, [pc, #60] ; (3514 ) - 34d8: 2003 movs r0, #3 - 34da: 4d0f ldr r5, [pc, #60] ; (3518 ) - 34dc: 47a8 blx r5 - 34de: 4622 mov r2, r4 - 34e0: 2300 movs r3, #0 - 34e2: 480e ldr r0, [pc, #56] ; (351c ) - 34e4: 490e ldr r1, [pc, #56] ; (3520 ) - 34e6: 4788 blx r1 - 34e8: e7fe b.n 34e8 + 34b6: 4b10 ldr r3, [pc, #64] ; (34f8 ) + 34b8: 9300 str r3, [sp, #0] + 34ba: f240 2296 movw r2, #662 ; 0x296 + 34be: 490f ldr r1, [pc, #60] ; (34fc ) + 34c0: 2003 movs r0, #3 + 34c2: 4d0f ldr r5, [pc, #60] ; (3500 ) + 34c4: 47a8 blx r5 + 34c6: 4622 mov r2, r4 + 34c8: 2300 movs r3, #0 + 34ca: 480e ldr r0, [pc, #56] ; (3504 ) + 34cc: 490e ldr r1, [pc, #56] ; (3508 ) + 34ce: 4788 blx r1 + 34d0: e7fe b.n 34d0 LV_LOG_WARN("lv_obj_set_pos: not changing position of screen object"); - 34ea: 4b0e ldr r3, [pc, #56] ; (3524 ) - 34ec: 9300 str r3, [sp, #0] - 34ee: 4b08 ldr r3, [pc, #32] ; (3510 ) - 34f0: f44f 7227 mov.w r2, #668 ; 0x29c - 34f4: 4907 ldr r1, [pc, #28] ; (3514 ) - 34f6: 2002 movs r0, #2 - 34f8: 4c07 ldr r4, [pc, #28] ; (3518 ) - 34fa: 47a0 blx r4 + 34d2: 4b0e ldr r3, [pc, #56] ; (350c ) + 34d4: 9300 str r3, [sp, #0] + 34d6: 4b08 ldr r3, [pc, #32] ; (34f8 ) + 34d8: f44f 7227 mov.w r2, #668 ; 0x29c + 34dc: 4907 ldr r1, [pc, #28] ; (34fc ) + 34de: 2002 movs r0, #2 + 34e0: 4c07 ldr r4, [pc, #28] ; (3500 ) + 34e2: 47a0 blx r4 return; - 34fc: e7e4 b.n 34c8 - 34fe: bf00 nop - 3500: 000022b1 .word 0x000022b1 - 3504: 00003321 .word 0x00003321 - 3508: 00002e41 .word 0x00002e41 - 350c: 0000280d .word 0x0000280d - 3510: 000244a4 .word 0x000244a4 - 3514: 000247dc .word 0x000247dc - 3518: 0001225d .word 0x0001225d - 351c: 0002483c .word 0x0002483c - 3520: 000022b9 .word 0x000022b9 - 3524: 000248d0 .word 0x000248d0 - -00003528 : -{ - 3528: b530 push {r4, r5, lr} - 352a: b083 sub sp, #12 - 352c: 4604 mov r4, r0 - 352e: 460d mov r5, r1 + 34e4: e7e4 b.n 34b0 + 34e6: bf00 nop + 34e8: 00002299 .word 0x00002299 + 34ec: 00003309 .word 0x00003309 + 34f0: 00002e29 .word 0x00002e29 + 34f4: 000027f5 .word 0x000027f5 + 34f8: 0002448c .word 0x0002448c + 34fc: 000247c4 .word 0x000247c4 + 3500: 00012245 .word 0x00012245 + 3504: 00024824 .word 0x00024824 + 3508: 000022a1 .word 0x000022a1 + 350c: 000248b8 .word 0x000248b8 + +00003510 : +{ + 3510: b530 push {r4, r5, lr} + 3512: b083 sub sp, #12 + 3514: 4604 mov r4, r0 + 3516: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3530: 4b0d ldr r3, [pc, #52] ; (3568 ) - 3532: 4798 blx r3 - 3534: b968 cbnz r0, 3552 - 3536: 4b0d ldr r3, [pc, #52] ; (356c ) - 3538: 9300 str r3, [sp, #0] - 353a: f44f 7233 mov.w r2, #716 ; 0x2cc - 353e: 490c ldr r1, [pc, #48] ; (3570 ) - 3540: 2003 movs r0, #3 - 3542: 4d0c ldr r5, [pc, #48] ; (3574 ) - 3544: 47a8 blx r5 - 3546: 4622 mov r2, r4 - 3548: 2300 movs r3, #0 - 354a: 480b ldr r0, [pc, #44] ; (3578 ) - 354c: 490b ldr r1, [pc, #44] ; (357c ) - 354e: 4788 blx r1 - 3550: e7fe b.n 3550 + 3518: 4b0d ldr r3, [pc, #52] ; (3550 ) + 351a: 4798 blx r3 + 351c: b968 cbnz r0, 353a + 351e: 4b0d ldr r3, [pc, #52] ; (3554 ) + 3520: 9300 str r3, [sp, #0] + 3522: f44f 7233 mov.w r2, #716 ; 0x2cc + 3526: 490c ldr r1, [pc, #48] ; (3558 ) + 3528: 2003 movs r0, #3 + 352a: 4d0c ldr r5, [pc, #48] ; (355c ) + 352c: 47a8 blx r5 + 352e: 4622 mov r2, r4 + 3530: 2300 movs r3, #0 + 3532: 480b ldr r0, [pc, #44] ; (3560 ) + 3534: 490b ldr r1, [pc, #44] ; (3564 ) + 3536: 4788 blx r1 + 3538: e7fe b.n 3538 lv_obj_set_pos(obj, x, lv_obj_get_y(obj)); - 3552: 4620 mov r0, r4 - 3554: 4b0a ldr r3, [pc, #40] ; (3580 ) - 3556: 4798 blx r3 - 3558: 4602 mov r2, r0 - 355a: 4629 mov r1, r5 - 355c: 4620 mov r0, r4 - 355e: 4b09 ldr r3, [pc, #36] ; (3584 ) - 3560: 4798 blx r3 -} - 3562: b003 add sp, #12 - 3564: bd30 pop {r4, r5, pc} - 3566: bf00 nop - 3568: 000022b1 .word 0x000022b1 - 356c: 000244b4 .word 0x000244b4 - 3570: 000247dc .word 0x000247dc - 3574: 0001225d .word 0x0001225d - 3578: 0002483c .word 0x0002483c - 357c: 000022b9 .word 0x000022b9 - 3580: 00002efd .word 0x00002efd - 3584: 0000343d .word 0x0000343d - -00003588 : -{ - 3588: b530 push {r4, r5, lr} - 358a: b083 sub sp, #12 - 358c: 4604 mov r4, r0 - 358e: 460d mov r5, r1 + 353a: 4620 mov r0, r4 + 353c: 4b0a ldr r3, [pc, #40] ; (3568 ) + 353e: 4798 blx r3 + 3540: 4602 mov r2, r0 + 3542: 4629 mov r1, r5 + 3544: 4620 mov r0, r4 + 3546: 4b09 ldr r3, [pc, #36] ; (356c ) + 3548: 4798 blx r3 +} + 354a: b003 add sp, #12 + 354c: bd30 pop {r4, r5, pc} + 354e: bf00 nop + 3550: 00002299 .word 0x00002299 + 3554: 0002449c .word 0x0002449c + 3558: 000247c4 .word 0x000247c4 + 355c: 00012245 .word 0x00012245 + 3560: 00024824 .word 0x00024824 + 3564: 000022a1 .word 0x000022a1 + 3568: 00002ee5 .word 0x00002ee5 + 356c: 00003425 .word 0x00003425 + +00003570 : +{ + 3570: b530 push {r4, r5, lr} + 3572: b083 sub sp, #12 + 3574: 4604 mov r4, r0 + 3576: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3590: 4b0d ldr r3, [pc, #52] ; (35c8 ) - 3592: 4798 blx r3 - 3594: b968 cbnz r0, 35b2 - 3596: 4b0d ldr r3, [pc, #52] ; (35cc ) - 3598: 9300 str r3, [sp, #0] - 359a: f44f 7236 mov.w r2, #728 ; 0x2d8 - 359e: 490c ldr r1, [pc, #48] ; (35d0 ) - 35a0: 2003 movs r0, #3 - 35a2: 4d0c ldr r5, [pc, #48] ; (35d4 ) - 35a4: 47a8 blx r5 - 35a6: 4622 mov r2, r4 - 35a8: 2300 movs r3, #0 - 35aa: 480b ldr r0, [pc, #44] ; (35d8 ) - 35ac: 490b ldr r1, [pc, #44] ; (35dc ) - 35ae: 4788 blx r1 - 35b0: e7fe b.n 35b0 + 3578: 4b0d ldr r3, [pc, #52] ; (35b0 ) + 357a: 4798 blx r3 + 357c: b968 cbnz r0, 359a + 357e: 4b0d ldr r3, [pc, #52] ; (35b4 ) + 3580: 9300 str r3, [sp, #0] + 3582: f44f 7236 mov.w r2, #728 ; 0x2d8 + 3586: 490c ldr r1, [pc, #48] ; (35b8 ) + 3588: 2003 movs r0, #3 + 358a: 4d0c ldr r5, [pc, #48] ; (35bc ) + 358c: 47a8 blx r5 + 358e: 4622 mov r2, r4 + 3590: 2300 movs r3, #0 + 3592: 480b ldr r0, [pc, #44] ; (35c0 ) + 3594: 490b ldr r1, [pc, #44] ; (35c4 ) + 3596: 4788 blx r1 + 3598: e7fe b.n 3598 lv_obj_set_pos(obj, lv_obj_get_x(obj), y); - 35b2: 4620 mov r0, r4 - 35b4: 4b0a ldr r3, [pc, #40] ; (35e0 ) - 35b6: 4798 blx r3 - 35b8: 462a mov r2, r5 - 35ba: 4601 mov r1, r0 - 35bc: 4620 mov r0, r4 - 35be: 4b09 ldr r3, [pc, #36] ; (35e4 ) - 35c0: 4798 blx r3 -} - 35c2: b003 add sp, #12 - 35c4: bd30 pop {r4, r5, pc} - 35c6: bf00 nop - 35c8: 000022b1 .word 0x000022b1 - 35cc: 000244c4 .word 0x000244c4 - 35d0: 000247dc .word 0x000247dc - 35d4: 0001225d .word 0x0001225d - 35d8: 0002483c .word 0x0002483c - 35dc: 000022b9 .word 0x000022b9 - 35e0: 00002e9d .word 0x00002e9d - 35e4: 0000343d .word 0x0000343d - -000035e8 : -{ - 35e8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 35ec: b085 sub sp, #20 - 35ee: 4604 mov r4, r0 - 35f0: 460d mov r5, r1 - 35f2: 4690 mov r8, r2 - 35f4: 461f mov r7, r3 - 35f6: f9bd 6030 ldrsh.w r6, [sp, #48] ; 0x30 + 359a: 4620 mov r0, r4 + 359c: 4b0a ldr r3, [pc, #40] ; (35c8 ) + 359e: 4798 blx r3 + 35a0: 462a mov r2, r5 + 35a2: 4601 mov r1, r0 + 35a4: 4620 mov r0, r4 + 35a6: 4b09 ldr r3, [pc, #36] ; (35cc ) + 35a8: 4798 blx r3 +} + 35aa: b003 add sp, #12 + 35ac: bd30 pop {r4, r5, pc} + 35ae: bf00 nop + 35b0: 00002299 .word 0x00002299 + 35b4: 000244ac .word 0x000244ac + 35b8: 000247c4 .word 0x000247c4 + 35bc: 00012245 .word 0x00012245 + 35c0: 00024824 .word 0x00024824 + 35c4: 000022a1 .word 0x000022a1 + 35c8: 00002e85 .word 0x00002e85 + 35cc: 00003425 .word 0x00003425 + +000035d0 : +{ + 35d0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 35d4: b085 sub sp, #20 + 35d6: 4604 mov r4, r0 + 35d8: 460d mov r5, r1 + 35da: 4690 mov r8, r2 + 35dc: 461f mov r7, r3 + 35de: f9bd 6030 ldrsh.w r6, [sp, #48] ; 0x30 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 35fa: 4b2c ldr r3, [pc, #176] ; (36ac ) - 35fc: 4798 blx r3 - 35fe: b968 cbnz r0, 361c - 3600: 4b2b ldr r3, [pc, #172] ; (36b0 ) - 3602: 9300 str r3, [sp, #0] - 3604: f240 326d movw r2, #877 ; 0x36d - 3608: 492a ldr r1, [pc, #168] ; (36b4 ) - 360a: 2003 movs r0, #3 - 360c: 4d2a ldr r5, [pc, #168] ; (36b8 ) - 360e: 47a8 blx r5 - 3610: 4622 mov r2, r4 - 3612: 2300 movs r3, #0 - 3614: 4829 ldr r0, [pc, #164] ; (36bc ) - 3616: 492a ldr r1, [pc, #168] ; (36c0 ) - 3618: 4788 blx r1 - 361a: e7fe b.n 361a + 35e2: 4b2c ldr r3, [pc, #176] ; (3694 ) + 35e4: 4798 blx r3 + 35e6: b968 cbnz r0, 3604 + 35e8: 4b2b ldr r3, [pc, #172] ; (3698 ) + 35ea: 9300 str r3, [sp, #0] + 35ec: f240 326d movw r2, #877 ; 0x36d + 35f0: 492a ldr r1, [pc, #168] ; (369c ) + 35f2: 2003 movs r0, #3 + 35f4: 4d2a ldr r5, [pc, #168] ; (36a0 ) + 35f6: 47a8 blx r5 + 35f8: 4622 mov r2, r4 + 35fa: 2300 movs r3, #0 + 35fc: 4829 ldr r0, [pc, #164] ; (36a4 ) + 35fe: 492a ldr r1, [pc, #168] ; (36a8 ) + 3600: 4788 blx r1 + 3602: e7fe b.n 3602 if(base == NULL) base = lv_obj_get_parent(obj); - 361c: b18d cbz r5, 3642 + 3604: b18d cbz r5, 362a LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 361e: 4628 mov r0, r5 - 3620: 4b22 ldr r3, [pc, #136] ; (36ac ) - 3622: 4798 blx r3 - 3624: b990 cbnz r0, 364c - 3626: 4b22 ldr r3, [pc, #136] ; (36b0 ) - 3628: 9300 str r3, [sp, #0] - 362a: f240 3271 movw r2, #881 ; 0x371 - 362e: 4921 ldr r1, [pc, #132] ; (36b4 ) - 3630: 2003 movs r0, #3 - 3632: 4c21 ldr r4, [pc, #132] ; (36b8 ) - 3634: 47a0 blx r4 - 3636: 462a mov r2, r5 - 3638: 2300 movs r3, #0 - 363a: 4820 ldr r0, [pc, #128] ; (36bc ) - 363c: 4920 ldr r1, [pc, #128] ; (36c0 ) - 363e: 4788 blx r1 - 3640: e7fe b.n 3640 + 3606: 4628 mov r0, r5 + 3608: 4b22 ldr r3, [pc, #136] ; (3694 ) + 360a: 4798 blx r3 + 360c: b990 cbnz r0, 3634 + 360e: 4b22 ldr r3, [pc, #136] ; (3698 ) + 3610: 9300 str r3, [sp, #0] + 3612: f240 3271 movw r2, #881 ; 0x371 + 3616: 4921 ldr r1, [pc, #132] ; (369c ) + 3618: 2003 movs r0, #3 + 361a: 4c21 ldr r4, [pc, #132] ; (36a0 ) + 361c: 47a0 blx r4 + 361e: 462a mov r2, r5 + 3620: 2300 movs r3, #0 + 3622: 4820 ldr r0, [pc, #128] ; (36a4 ) + 3624: 4920 ldr r1, [pc, #128] ; (36a8 ) + 3626: 4788 blx r1 + 3628: e7fe b.n 3628 if(base == NULL) base = lv_obj_get_parent(obj); - 3642: 4620 mov r0, r4 - 3644: 4b1f ldr r3, [pc, #124] ; (36c4 ) - 3646: 4798 blx r3 - 3648: 4605 mov r5, r0 - 364a: e7e8 b.n 361e + 362a: 4620 mov r0, r4 + 362c: 4b1f ldr r3, [pc, #124] ; (36ac ) + 362e: 4798 blx r3 + 3630: 4605 mov r5, r0 + 3632: e7e8 b.n 3606 _lv_area_align(&base->coords, &obj->coords, align, &new_pos); - 364c: ab03 add r3, sp, #12 - 364e: 4642 mov r2, r8 - 3650: f104 0110 add.w r1, r4, #16 - 3654: f105 0010 add.w r0, r5, #16 - 3658: f8df 9070 ldr.w r9, [pc, #112] ; 36cc - 365c: 47c8 blx r9 + 3634: ab03 add r3, sp, #12 + 3636: 4642 mov r2, r8 + 3638: f104 0110 add.w r1, r4, #16 + 363c: f105 0010 add.w r0, r5, #16 + 3640: f8df 9070 ldr.w r9, [pc, #112] ; 36b4 + 3644: 47c8 blx r9 lv_obj_t * par = lv_obj_get_parent(obj); - 365e: 4620 mov r0, r4 - 3660: 4b18 ldr r3, [pc, #96] ; (36c4 ) - 3662: 4798 blx r3 + 3646: 4620 mov r0, r4 + 3648: 4b18 ldr r3, [pc, #96] ; (36ac ) + 364a: 4798 blx r3 lv_coord_t par_abs_y = par->coords.y1; - 3664: f9b0 3012 ldrsh.w r3, [r0, #18] + 364c: f9b0 3012 ldrsh.w r3, [r0, #18] new_pos.y += y_ofs; - 3668: f8bd 200e ldrh.w r2, [sp, #14] - 366c: 4432 add r2, r6 + 3650: f8bd 200e ldrh.w r2, [sp, #14] + 3654: 4432 add r2, r6 new_pos.x += x_ofs; - 366e: f8bd 100c ldrh.w r1, [sp, #12] - 3672: 4439 add r1, r7 + 3656: f8bd 100c ldrh.w r1, [sp, #12] + 365a: 4439 add r1, r7 new_pos.x -= par_abs_x; - 3674: 8a00 ldrh r0, [r0, #16] - 3676: 1a09 subs r1, r1, r0 - 3678: b209 sxth r1, r1 - 367a: f8ad 100c strh.w r1, [sp, #12] + 365c: 8a00 ldrh r0, [r0, #16] + 365e: 1a09 subs r1, r1, r0 + 3660: b209 sxth r1, r1 + 3662: f8ad 100c strh.w r1, [sp, #12] new_pos.y -= par_abs_y; - 367e: 1ad2 subs r2, r2, r3 - 3680: b212 sxth r2, r2 - 3682: f8ad 200e strh.w r2, [sp, #14] + 3666: 1ad2 subs r2, r2, r3 + 3668: b212 sxth r2, r2 + 366a: f8ad 200e strh.w r2, [sp, #14] lv_obj_set_pos(obj, new_pos.x, new_pos.y); - 3686: 4620 mov r0, r4 - 3688: 4b0f ldr r3, [pc, #60] ; (36c8 ) - 368a: 4798 blx r3 + 366e: 4620 mov r0, r4 + 3670: 4b0f ldr r3, [pc, #60] ; (36b0 ) + 3672: 4798 blx r3 obj->realign.align = align; - 368c: f884 8048 strb.w r8, [r4, #72] ; 0x48 + 3674: f884 8048 strb.w r8, [r4, #72] ; 0x48 obj->realign.xofs = x_ofs; - 3690: f8a4 7044 strh.w r7, [r4, #68] ; 0x44 + 3678: f8a4 7044 strh.w r7, [r4, #68] ; 0x44 obj->realign.yofs = y_ofs; - 3694: f8a4 6046 strh.w r6, [r4, #70] ; 0x46 + 367c: f8a4 6046 strh.w r6, [r4, #70] ; 0x46 obj->realign.base = base; - 3698: 6425 str r5, [r4, #64] ; 0x40 + 3680: 6425 str r5, [r4, #64] ; 0x40 obj->realign.origo_align = 0; - 369a: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 369e: f36f 0341 bfc r3, #1, #1 - 36a2: f884 3049 strb.w r3, [r4, #73] ; 0x49 -} - 36a6: b005 add sp, #20 - 36a8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 36ac: 000022b1 .word 0x000022b1 - 36b0: 000244d4 .word 0x000244d4 - 36b4: 000247dc .word 0x000247dc - 36b8: 0001225d .word 0x0001225d - 36bc: 0002483c .word 0x0002483c - 36c0: 000022b9 .word 0x000022b9 - 36c4: 00002c7d .word 0x00002c7d - 36c8: 0000343d .word 0x0000343d - 36cc: 00011825 .word 0x00011825 - -000036d0 : -{ - 36d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 36d4: b085 sub sp, #20 - 36d6: 4681 mov r9, r0 - 36d8: 460e mov r6, r1 - 36da: 4692 mov sl, r2 - 36dc: 9303 str r3, [sp, #12] - 36de: f9bd b038 ldrsh.w fp, [sp, #56] ; 0x38 + 3682: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 3686: f36f 0341 bfc r3, #1, #1 + 368a: f884 3049 strb.w r3, [r4, #73] ; 0x49 +} + 368e: b005 add sp, #20 + 3690: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 3694: 00002299 .word 0x00002299 + 3698: 000244bc .word 0x000244bc + 369c: 000247c4 .word 0x000247c4 + 36a0: 00012245 .word 0x00012245 + 36a4: 00024824 .word 0x00024824 + 36a8: 000022a1 .word 0x000022a1 + 36ac: 00002c65 .word 0x00002c65 + 36b0: 00003425 .word 0x00003425 + 36b4: 0001180d .word 0x0001180d + +000036b8 : +{ + 36b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 36bc: b085 sub sp, #20 + 36be: 4681 mov r9, r0 + 36c0: 460e mov r6, r1 + 36c2: 4692 mov sl, r2 + 36c4: 9303 str r3, [sp, #12] + 36c6: f9bd b038 ldrsh.w fp, [sp, #56] ; 0x38 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 36e2: 4ba3 ldr r3, [pc, #652] ; (3970 ) - 36e4: 4798 blx r3 - 36e6: b968 cbnz r0, 3704 - 36e8: 4ba2 ldr r3, [pc, #648] ; (3974 ) - 36ea: 9300 str r3, [sp, #0] - 36ec: f240 3295 movw r2, #917 ; 0x395 - 36f0: 49a1 ldr r1, [pc, #644] ; (3978 ) - 36f2: 2003 movs r0, #3 - 36f4: 4ca1 ldr r4, [pc, #644] ; (397c ) - 36f6: 47a0 blx r4 - 36f8: 464a mov r2, r9 - 36fa: 2300 movs r3, #0 - 36fc: 48a0 ldr r0, [pc, #640] ; (3980 ) - 36fe: 49a1 ldr r1, [pc, #644] ; (3984 ) - 3700: 4788 blx r1 - 3702: e7fe b.n 3702 + 36ca: 4ba3 ldr r3, [pc, #652] ; (3958 ) + 36cc: 4798 blx r3 + 36ce: b968 cbnz r0, 36ec + 36d0: 4ba2 ldr r3, [pc, #648] ; (395c ) + 36d2: 9300 str r3, [sp, #0] + 36d4: f240 3295 movw r2, #917 ; 0x395 + 36d8: 49a1 ldr r1, [pc, #644] ; (3960 ) + 36da: 2003 movs r0, #3 + 36dc: 4ca1 ldr r4, [pc, #644] ; (3964 ) + 36de: 47a0 blx r4 + 36e0: 464a mov r2, r9 + 36e2: 2300 movs r3, #0 + 36e4: 48a0 ldr r0, [pc, #640] ; (3968 ) + 36e6: 49a1 ldr r1, [pc, #644] ; (396c ) + 36e8: 4788 blx r1 + 36ea: e7fe b.n 36ea lv_coord_t new_x = lv_obj_get_x(obj); - 3704: 4648 mov r0, r9 - 3706: 4ba0 ldr r3, [pc, #640] ; (3988 ) - 3708: 4798 blx r3 - 370a: 4605 mov r5, r0 + 36ec: 4648 mov r0, r9 + 36ee: 4ba0 ldr r3, [pc, #640] ; (3970 ) + 36f0: 4798 blx r3 + 36f2: 4605 mov r5, r0 lv_coord_t new_y = lv_obj_get_y(obj); - 370c: 4648 mov r0, r9 - 370e: 4b9f ldr r3, [pc, #636] ; (398c ) - 3710: 4798 blx r3 - 3712: 4604 mov r4, r0 + 36f4: 4648 mov r0, r9 + 36f6: 4b9f ldr r3, [pc, #636] ; (3974 ) + 36f8: 4798 blx r3 + 36fa: 4604 mov r4, r0 lv_coord_t obj_w_half = lv_obj_get_width(obj) / 2; - 3714: 4648 mov r0, r9 - 3716: 4b9e ldr r3, [pc, #632] ; (3990 ) - 3718: 4798 blx r3 - 371a: eb00 70d0 add.w r0, r0, r0, lsr #31 - 371e: f340 084f sbfx r8, r0, #1, #16 + 36fc: 4648 mov r0, r9 + 36fe: 4b9e ldr r3, [pc, #632] ; (3978 ) + 3700: 4798 blx r3 + 3702: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3706: f340 084f sbfx r8, r0, #1, #16 lv_coord_t obj_h_half = lv_obj_get_height(obj) / 2; - 3722: 4648 mov r0, r9 - 3724: 4b9b ldr r3, [pc, #620] ; (3994 ) - 3726: 4798 blx r3 - 3728: eb00 70d0 add.w r0, r0, r0, lsr #31 - 372c: f340 074f sbfx r7, r0, #1, #16 + 370a: 4648 mov r0, r9 + 370c: 4b9b ldr r3, [pc, #620] ; (397c ) + 370e: 4798 blx r3 + 3710: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3714: f340 074f sbfx r7, r0, #1, #16 if(base == NULL) { - 3730: b1ee cbz r6, 376e + 3718: b1ee cbz r6, 3756 LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 3732: 4630 mov r0, r6 - 3734: 4b8e ldr r3, [pc, #568] ; (3970 ) - 3736: 4798 blx r3 - 3738: b1f0 cbz r0, 3778 + 371a: 4630 mov r0, r6 + 371c: 4b8e ldr r3, [pc, #568] ; (3958 ) + 371e: 4798 blx r3 + 3720: b1f0 cbz r0, 3760 switch(align) { - 373a: f1ba 0f14 cmp.w sl, #20 - 373e: d839 bhi.n 37b4 - 3740: e8df f01a tbh [pc, sl, lsl #1] - 3744: 005c0028 .word 0x005c0028 - 3748: 006d0062 .word 0x006d0062 - 374c: 007f0076 .word 0x007f0076 - 3750: 0099008d .word 0x0099008d - 3754: 00b400a5 .word 0x00b400a5 - 3758: 00c500ba .word 0x00c500ba - 375c: 00d700ce .word 0x00d700ce - 3760: 00f100e5 .word 0x00f100e5 - 3764: 010300f7 .word 0x010300f7 - 3768: 012e010c .word 0x012e010c - 376c: 013d .short 0x013d + 3722: f1ba 0f14 cmp.w sl, #20 + 3726: d839 bhi.n 379c + 3728: e8df f01a tbh [pc, sl, lsl #1] + 372c: 005c0028 .word 0x005c0028 + 3730: 006d0062 .word 0x006d0062 + 3734: 007f0076 .word 0x007f0076 + 3738: 0099008d .word 0x0099008d + 373c: 00b400a5 .word 0x00b400a5 + 3740: 00c500ba .word 0x00c500ba + 3744: 00d700ce .word 0x00d700ce + 3748: 00f100e5 .word 0x00f100e5 + 374c: 010300f7 .word 0x010300f7 + 3750: 012e010c .word 0x012e010c + 3754: 013d .short 0x013d base = lv_obj_get_parent(obj); - 376e: 4648 mov r0, r9 - 3770: 4b89 ldr r3, [pc, #548] ; (3998 ) - 3772: 4798 blx r3 - 3774: 4606 mov r6, r0 - 3776: e7dc b.n 3732 + 3756: 4648 mov r0, r9 + 3758: 4b89 ldr r3, [pc, #548] ; (3980 ) + 375a: 4798 blx r3 + 375c: 4606 mov r6, r0 + 375e: e7dc b.n 371a LV_ASSERT_OBJ(base, LV_OBJX_NAME); - 3778: 4b7e ldr r3, [pc, #504] ; (3974 ) - 377a: 9300 str r3, [sp, #0] - 377c: f240 32a1 movw r2, #929 ; 0x3a1 - 3780: 497d ldr r1, [pc, #500] ; (3978 ) - 3782: 2003 movs r0, #3 - 3784: 4c7d ldr r4, [pc, #500] ; (397c ) - 3786: 47a0 blx r4 - 3788: 4632 mov r2, r6 - 378a: 2300 movs r3, #0 - 378c: 487c ldr r0, [pc, #496] ; (3980 ) - 378e: 497d ldr r1, [pc, #500] ; (3984 ) - 3790: 4788 blx r1 - 3792: e7fe b.n 3792 + 3760: 4b7e ldr r3, [pc, #504] ; (395c ) + 3762: 9300 str r3, [sp, #0] + 3764: f240 32a1 movw r2, #929 ; 0x3a1 + 3768: 497d ldr r1, [pc, #500] ; (3960 ) + 376a: 2003 movs r0, #3 + 376c: 4c7d ldr r4, [pc, #500] ; (3964 ) + 376e: 47a0 blx r4 + 3770: 4632 mov r2, r6 + 3772: 2300 movs r3, #0 + 3774: 487c ldr r0, [pc, #496] ; (3968 ) + 3776: 497d ldr r1, [pc, #500] ; (396c ) + 3778: 4788 blx r1 + 377a: e7fe b.n 377a new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3794: 4630 mov r0, r6 - 3796: 4b7e ldr r3, [pc, #504] ; (3990 ) - 3798: 4798 blx r3 - 379a: eb00 70d0 add.w r0, r0, r0, lsr #31 - 379e: ebc8 0560 rsb r5, r8, r0, asr #1 - 37a2: b22d sxth r5, r5 + 377c: 4630 mov r0, r6 + 377e: 4b7e ldr r3, [pc, #504] ; (3978 ) + 3780: 4798 blx r3 + 3782: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3786: ebc8 0560 rsb r5, r8, r0, asr #1 + 378a: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 37a4: 4630 mov r0, r6 - 37a6: 4b7b ldr r3, [pc, #492] ; (3994 ) - 37a8: 4798 blx r3 - 37aa: eb00 70d0 add.w r0, r0, r0, lsr #31 - 37ae: ebc7 0460 rsb r4, r7, r0, asr #1 - 37b2: b224 sxth r4, r4 + 378c: 4630 mov r0, r6 + 378e: 4b7b ldr r3, [pc, #492] ; (397c ) + 3790: 4798 blx r3 + 3792: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3796: ebc7 0460 rsb r4, r7, r0, asr #1 + 379a: b224 sxth r4, r4 lv_obj_t * par = lv_obj_get_parent(obj); - 37b4: 4648 mov r0, r9 - 37b6: 4b78 ldr r3, [pc, #480] ; (3998 ) - 37b8: 4798 blx r3 + 379c: 4648 mov r0, r9 + 379e: 4b78 ldr r3, [pc, #480] ; (3980 ) + 37a0: 4798 blx r3 new_x += x_ofs + base_abs_x; - 37ba: 8a31 ldrh r1, [r6, #16] - 37bc: 9f03 ldr r7, [sp, #12] - 37be: 4439 add r1, r7 - 37c0: 4429 add r1, r5 + 37a2: 8a31 ldrh r1, [r6, #16] + 37a4: 9f03 ldr r7, [sp, #12] + 37a6: 4439 add r1, r7 + 37a8: 4429 add r1, r5 new_x -= par_abs_x; - 37c2: 8a03 ldrh r3, [r0, #16] - 37c4: 1ac9 subs r1, r1, r3 + 37aa: 8a03 ldrh r3, [r0, #16] + 37ac: 1ac9 subs r1, r1, r3 new_y += y_ofs + base_abs_y; - 37c6: 8a72 ldrh r2, [r6, #18] - 37c8: 445a add r2, fp - 37ca: 4422 add r2, r4 + 37ae: 8a72 ldrh r2, [r6, #18] + 37b0: 445a add r2, fp + 37b2: 4422 add r2, r4 new_y -= par_abs_y; - 37cc: 8a43 ldrh r3, [r0, #18] - 37ce: 1ad2 subs r2, r2, r3 + 37b4: 8a43 ldrh r3, [r0, #18] + 37b6: 1ad2 subs r2, r2, r3 lv_obj_set_pos(obj, new_x, new_y); - 37d0: b212 sxth r2, r2 - 37d2: b209 sxth r1, r1 - 37d4: 4648 mov r0, r9 - 37d6: 4b71 ldr r3, [pc, #452] ; (399c ) - 37d8: 4798 blx r3 + 37b8: b212 sxth r2, r2 + 37ba: b209 sxth r1, r1 + 37bc: 4648 mov r0, r9 + 37be: 4b71 ldr r3, [pc, #452] ; (3984 ) + 37c0: 4798 blx r3 obj->realign.align = align; - 37da: f889 a048 strb.w sl, [r9, #72] ; 0x48 + 37c2: f889 a048 strb.w sl, [r9, #72] ; 0x48 obj->realign.xofs = x_ofs; - 37de: f8a9 7044 strh.w r7, [r9, #68] ; 0x44 + 37c6: f8a9 7044 strh.w r7, [r9, #68] ; 0x44 obj->realign.yofs = y_ofs; - 37e2: f8a9 b046 strh.w fp, [r9, #70] ; 0x46 + 37ca: f8a9 b046 strh.w fp, [r9, #70] ; 0x46 obj->realign.base = base; - 37e6: f8c9 6040 str.w r6, [r9, #64] ; 0x40 + 37ce: f8c9 6040 str.w r6, [r9, #64] ; 0x40 obj->realign.origo_align = 1; - 37ea: f899 3049 ldrb.w r3, [r9, #73] ; 0x49 - 37ee: f043 0302 orr.w r3, r3, #2 - 37f2: f889 3049 strb.w r3, [r9, #73] ; 0x49 + 37d2: f899 3049 ldrb.w r3, [r9, #73] ; 0x49 + 37d6: f043 0302 orr.w r3, r3, #2 + 37da: f889 3049 strb.w r3, [r9, #73] ; 0x49 } - 37f6: b005 add sp, #20 - 37f8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 37de: b005 add sp, #20 + 37e0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} new_x = -obj_w_half; - 37fc: f1c8 0500 rsb r5, r8, #0 - 3800: b22d sxth r5, r5 + 37e4: f1c8 0500 rsb r5, r8, #0 + 37e8: b22d sxth r5, r5 new_y = -obj_h_half; - 3802: 427c negs r4, r7 - 3804: b224 sxth r4, r4 + 37ea: 427c negs r4, r7 + 37ec: b224 sxth r4, r4 break; - 3806: e7d5 b.n 37b4 + 37ee: e7d5 b.n 379c new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3808: 4630 mov r0, r6 - 380a: 4b61 ldr r3, [pc, #388] ; (3990 ) - 380c: 4798 blx r3 - 380e: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3812: ebc8 0560 rsb r5, r8, r0, asr #1 - 3816: b22d sxth r5, r5 + 37f0: 4630 mov r0, r6 + 37f2: 4b61 ldr r3, [pc, #388] ; (3978 ) + 37f4: 4798 blx r3 + 37f6: eb00 70d0 add.w r0, r0, r0, lsr #31 + 37fa: ebc8 0560 rsb r5, r8, r0, asr #1 + 37fe: b22d sxth r5, r5 new_y = -obj_h_half; - 3818: 427c negs r4, r7 - 381a: b224 sxth r4, r4 + 3800: 427c negs r4, r7 + 3802: b224 sxth r4, r4 break; - 381c: e7ca b.n 37b4 + 3804: e7ca b.n 379c new_x = lv_obj_get_width(base) - obj_w_half; - 381e: 4630 mov r0, r6 - 3820: 4b5b ldr r3, [pc, #364] ; (3990 ) - 3822: 4798 blx r3 - 3824: eba0 0008 sub.w r0, r0, r8 - 3828: b205 sxth r5, r0 + 3806: 4630 mov r0, r6 + 3808: 4b5b ldr r3, [pc, #364] ; (3978 ) + 380a: 4798 blx r3 + 380c: eba0 0008 sub.w r0, r0, r8 + 3810: b205 sxth r5, r0 new_y = -obj_h_half; - 382a: 427c negs r4, r7 - 382c: b224 sxth r4, r4 + 3812: 427c negs r4, r7 + 3814: b224 sxth r4, r4 break; - 382e: e7c1 b.n 37b4 + 3816: e7c1 b.n 379c new_x = -obj_w_half; - 3830: f1c8 0500 rsb r5, r8, #0 - 3834: b22d sxth r5, r5 + 3818: f1c8 0500 rsb r5, r8, #0 + 381c: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 3836: 4630 mov r0, r6 - 3838: 4b56 ldr r3, [pc, #344] ; (3994 ) - 383a: 4798 blx r3 - 383c: 1bc0 subs r0, r0, r7 - 383e: b204 sxth r4, r0 + 381e: 4630 mov r0, r6 + 3820: 4b56 ldr r3, [pc, #344] ; (397c ) + 3822: 4798 blx r3 + 3824: 1bc0 subs r0, r0, r7 + 3826: b204 sxth r4, r0 break; - 3840: e7b8 b.n 37b4 + 3828: e7b8 b.n 379c new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 3842: 4630 mov r0, r6 - 3844: 4b52 ldr r3, [pc, #328] ; (3990 ) - 3846: 4798 blx r3 - 3848: eb00 70d0 add.w r0, r0, r0, lsr #31 - 384c: ebc8 0560 rsb r5, r8, r0, asr #1 - 3850: b22d sxth r5, r5 + 382a: 4630 mov r0, r6 + 382c: 4b52 ldr r3, [pc, #328] ; (3978 ) + 382e: 4798 blx r3 + 3830: eb00 70d0 add.w r0, r0, r0, lsr #31 + 3834: ebc8 0560 rsb r5, r8, r0, asr #1 + 3838: b22d sxth r5, r5 + new_y = lv_obj_get_height(base) - obj_h_half; + 383a: 4630 mov r0, r6 + 383c: 4b4f ldr r3, [pc, #316] ; (397c ) + 383e: 4798 blx r3 + 3840: 1bc0 subs r0, r0, r7 + 3842: b204 sxth r4, r0 + break; + 3844: e7aa b.n 379c + new_x = lv_obj_get_width(base) - obj_w_half; + 3846: 4630 mov r0, r6 + 3848: 4b4b ldr r3, [pc, #300] ; (3978 ) + 384a: 4798 blx r3 + 384c: eba0 0008 sub.w r0, r0, r8 + 3850: b205 sxth r5, r0 new_y = lv_obj_get_height(base) - obj_h_half; 3852: 4630 mov r0, r6 - 3854: 4b4f ldr r3, [pc, #316] ; (3994 ) + 3854: 4b49 ldr r3, [pc, #292] ; (397c ) 3856: 4798 blx r3 3858: 1bc0 subs r0, r0, r7 385a: b204 sxth r4, r0 break; - 385c: e7aa b.n 37b4 - new_x = lv_obj_get_width(base) - obj_w_half; - 385e: 4630 mov r0, r6 - 3860: 4b4b ldr r3, [pc, #300] ; (3990 ) - 3862: 4798 blx r3 - 3864: eba0 0008 sub.w r0, r0, r8 - 3868: b205 sxth r5, r0 - new_y = lv_obj_get_height(base) - obj_h_half; - 386a: 4630 mov r0, r6 - 386c: 4b49 ldr r3, [pc, #292] ; (3994 ) - 386e: 4798 blx r3 - 3870: 1bc0 subs r0, r0, r7 - 3872: b204 sxth r4, r0 - break; - 3874: e79e b.n 37b4 + 385c: e79e b.n 379c new_x = -obj_w_half; - 3876: f1c8 0500 rsb r5, r8, #0 - 387a: b22d sxth r5, r5 + 385e: f1c8 0500 rsb r5, r8, #0 + 3862: b22d sxth r5, r5 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 387c: 4630 mov r0, r6 - 387e: 4b45 ldr r3, [pc, #276] ; (3994 ) - 3880: 4798 blx r3 - 3882: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3886: ebc7 0460 rsb r4, r7, r0, asr #1 - 388a: b224 sxth r4, r4 + 3864: 4630 mov r0, r6 + 3866: 4b45 ldr r3, [pc, #276] ; (397c ) + 3868: 4798 blx r3 + 386a: eb00 70d0 add.w r0, r0, r0, lsr #31 + 386e: ebc7 0460 rsb r4, r7, r0, asr #1 + 3872: b224 sxth r4, r4 break; - 388c: e792 b.n 37b4 + 3874: e792 b.n 379c new_x = lv_obj_get_width(base) - obj_w_half; - 388e: 4630 mov r0, r6 - 3890: 4b3f ldr r3, [pc, #252] ; (3990 ) - 3892: 4798 blx r3 - 3894: eba0 0008 sub.w r0, r0, r8 - 3898: b205 sxth r5, r0 + 3876: 4630 mov r0, r6 + 3878: 4b3f ldr r3, [pc, #252] ; (3978 ) + 387a: 4798 blx r3 + 387c: eba0 0008 sub.w r0, r0, r8 + 3880: b205 sxth r5, r0 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 389a: 4630 mov r0, r6 - 389c: 4b3d ldr r3, [pc, #244] ; (3994 ) - 389e: 4798 blx r3 - 38a0: eb00 70d0 add.w r0, r0, r0, lsr #31 - 38a4: ebc7 0460 rsb r4, r7, r0, asr #1 - 38a8: b224 sxth r4, r4 + 3882: 4630 mov r0, r6 + 3884: 4b3d ldr r3, [pc, #244] ; (397c ) + 3886: 4798 blx r3 + 3888: eb00 70d0 add.w r0, r0, r0, lsr #31 + 388c: ebc7 0460 rsb r4, r7, r0, asr #1 + 3890: b224 sxth r4, r4 break; - 38aa: e783 b.n 37b4 + 3892: e783 b.n 379c new_x = -obj_w_half; - 38ac: f1c8 0500 rsb r5, r8, #0 - 38b0: b22d sxth r5, r5 + 3894: f1c8 0500 rsb r5, r8, #0 + 3898: b22d sxth r5, r5 new_y = -obj_h_half; - 38b2: 427c negs r4, r7 - 38b4: b224 sxth r4, r4 + 389a: 427c negs r4, r7 + 389c: b224 sxth r4, r4 break; - 38b6: e77d b.n 37b4 + 389e: e77d b.n 379c new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 38b8: 4630 mov r0, r6 - 38ba: 4b35 ldr r3, [pc, #212] ; (3990 ) - 38bc: 4798 blx r3 - 38be: eb00 70d0 add.w r0, r0, r0, lsr #31 - 38c2: ebc8 0560 rsb r5, r8, r0, asr #1 - 38c6: b22d sxth r5, r5 + 38a0: 4630 mov r0, r6 + 38a2: 4b35 ldr r3, [pc, #212] ; (3978 ) + 38a4: 4798 blx r3 + 38a6: eb00 70d0 add.w r0, r0, r0, lsr #31 + 38aa: ebc8 0560 rsb r5, r8, r0, asr #1 + 38ae: b22d sxth r5, r5 new_y = -obj_h_half; - 38c8: 427c negs r4, r7 - 38ca: b224 sxth r4, r4 + 38b0: 427c negs r4, r7 + 38b2: b224 sxth r4, r4 break; - 38cc: e772 b.n 37b4 + 38b4: e772 b.n 379c new_x = lv_obj_get_width(base) - obj_w_half; - 38ce: 4630 mov r0, r6 - 38d0: 4b2f ldr r3, [pc, #188] ; (3990 ) - 38d2: 4798 blx r3 - 38d4: eba0 0008 sub.w r0, r0, r8 - 38d8: b205 sxth r5, r0 + 38b6: 4630 mov r0, r6 + 38b8: 4b2f ldr r3, [pc, #188] ; (3978 ) + 38ba: 4798 blx r3 + 38bc: eba0 0008 sub.w r0, r0, r8 + 38c0: b205 sxth r5, r0 new_y = -obj_h_half; - 38da: 427c negs r4, r7 - 38dc: b224 sxth r4, r4 + 38c2: 427c negs r4, r7 + 38c4: b224 sxth r4, r4 break; - 38de: e769 b.n 37b4 + 38c6: e769 b.n 379c new_x = -obj_w_half; - 38e0: f1c8 0500 rsb r5, r8, #0 - 38e4: b22d sxth r5, r5 + 38c8: f1c8 0500 rsb r5, r8, #0 + 38cc: b22d sxth r5, r5 new_y = lv_obj_get_height(base) - obj_h_half; - 38e6: 4630 mov r0, r6 - 38e8: 4b2a ldr r3, [pc, #168] ; (3994 ) - 38ea: 4798 blx r3 - 38ec: 1bc0 subs r0, r0, r7 - 38ee: b204 sxth r4, r0 + 38ce: 4630 mov r0, r6 + 38d0: 4b2a ldr r3, [pc, #168] ; (397c ) + 38d2: 4798 blx r3 + 38d4: 1bc0 subs r0, r0, r7 + 38d6: b204 sxth r4, r0 break; - 38f0: e760 b.n 37b4 + 38d8: e760 b.n 379c new_x = lv_obj_get_width(base) / 2 - obj_w_half; - 38f2: 4630 mov r0, r6 - 38f4: 4b26 ldr r3, [pc, #152] ; (3990 ) - 38f6: 4798 blx r3 - 38f8: eb00 70d0 add.w r0, r0, r0, lsr #31 - 38fc: ebc8 0560 rsb r5, r8, r0, asr #1 - 3900: b22d sxth r5, r5 + 38da: 4630 mov r0, r6 + 38dc: 4b26 ldr r3, [pc, #152] ; (3978 ) + 38de: 4798 blx r3 + 38e0: eb00 70d0 add.w r0, r0, r0, lsr #31 + 38e4: ebc8 0560 rsb r5, r8, r0, asr #1 + 38e8: b22d sxth r5, r5 + new_y = lv_obj_get_height(base) - obj_h_half; + 38ea: 4630 mov r0, r6 + 38ec: 4b23 ldr r3, [pc, #140] ; (397c ) + 38ee: 4798 blx r3 + 38f0: 1bc0 subs r0, r0, r7 + 38f2: b204 sxth r4, r0 + break; + 38f4: e752 b.n 379c + new_x = lv_obj_get_width(base) - obj_w_half; + 38f6: 4630 mov r0, r6 + 38f8: 4b1f ldr r3, [pc, #124] ; (3978 ) + 38fa: 4798 blx r3 + 38fc: eba0 0008 sub.w r0, r0, r8 + 3900: b205 sxth r5, r0 new_y = lv_obj_get_height(base) - obj_h_half; 3902: 4630 mov r0, r6 - 3904: 4b23 ldr r3, [pc, #140] ; (3994 ) + 3904: 4b1d ldr r3, [pc, #116] ; (397c ) 3906: 4798 blx r3 3908: 1bc0 subs r0, r0, r7 390a: b204 sxth r4, r0 break; - 390c: e752 b.n 37b4 - new_x = lv_obj_get_width(base) - obj_w_half; - 390e: 4630 mov r0, r6 - 3910: 4b1f ldr r3, [pc, #124] ; (3990 ) - 3912: 4798 blx r3 - 3914: eba0 0008 sub.w r0, r0, r8 - 3918: b205 sxth r5, r0 - new_y = lv_obj_get_height(base) - obj_h_half; - 391a: 4630 mov r0, r6 - 391c: 4b1d ldr r3, [pc, #116] ; (3994 ) - 391e: 4798 blx r3 - 3920: 1bc0 subs r0, r0, r7 - 3922: b204 sxth r4, r0 - break; - 3924: e746 b.n 37b4 + 390c: e746 b.n 379c new_x = -obj_w_half; - 3926: f1c8 0500 rsb r5, r8, #0 - 392a: b22d sxth r5, r5 + 390e: f1c8 0500 rsb r5, r8, #0 + 3912: b22d sxth r5, r5 new_y = -obj_h_half; - 392c: 427c negs r4, r7 + 3914: 427c negs r4, r7 + 3916: b224 sxth r4, r4 + break; + 3918: e740 b.n 379c + new_x = -obj_w_half; + 391a: f1c8 0500 rsb r5, r8, #0 + 391e: b22d sxth r5, r5 + new_y = lv_obj_get_height(base) / 2 - obj_h_half; + 3920: 4630 mov r0, r6 + 3922: 4b16 ldr r3, [pc, #88] ; (397c ) + 3924: 4798 blx r3 + 3926: eb00 70d0 add.w r0, r0, r0, lsr #31 + 392a: ebc7 0460 rsb r4, r7, r0, asr #1 392e: b224 sxth r4, r4 break; - 3930: e740 b.n 37b4 + 3930: e734 b.n 379c new_x = -obj_w_half; 3932: f1c8 0500 rsb r5, r8, #0 3936: b22d sxth r5, r5 - new_y = lv_obj_get_height(base) / 2 - obj_h_half; + new_y = lv_obj_get_height(base) - obj_h_half; 3938: 4630 mov r0, r6 - 393a: 4b16 ldr r3, [pc, #88] ; (3994 ) + 393a: 4b10 ldr r3, [pc, #64] ; (397c ) 393c: 4798 blx r3 - 393e: eb00 70d0 add.w r0, r0, r0, lsr #31 - 3942: ebc7 0460 rsb r4, r7, r0, asr #1 - 3946: b224 sxth r4, r4 - break; - 3948: e734 b.n 37b4 - new_x = -obj_w_half; - 394a: f1c8 0500 rsb r5, r8, #0 - 394e: b22d sxth r5, r5 - new_y = lv_obj_get_height(base) - obj_h_half; - 3950: 4630 mov r0, r6 - 3952: 4b10 ldr r3, [pc, #64] ; (3994 ) - 3954: 4798 blx r3 - 3956: 1bc0 subs r0, r0, r7 - 3958: b204 sxth r4, r0 + 393e: 1bc0 subs r0, r0, r7 + 3940: b204 sxth r4, r0 break; - 395a: e72b b.n 37b4 + 3942: e72b b.n 379c new_x = lv_obj_get_width(base) - obj_w_half; - 395c: 4630 mov r0, r6 - 395e: 4b0c ldr r3, [pc, #48] ; (3990 ) - 3960: 4798 blx r3 - 3962: eba0 0008 sub.w r0, r0, r8 - 3966: b205 sxth r5, r0 + 3944: 4630 mov r0, r6 + 3946: 4b0c ldr r3, [pc, #48] ; (3978 ) + 3948: 4798 blx r3 + 394a: eba0 0008 sub.w r0, r0, r8 + 394e: b205 sxth r5, r0 new_y = -obj_h_half; - 3968: 427c negs r4, r7 - 396a: b224 sxth r4, r4 + 3950: 427c negs r4, r7 + 3952: b224 sxth r4, r4 break; - 396c: e722 b.n 37b4 - 396e: bf00 nop - 3970: 000022b1 .word 0x000022b1 - 3974: 000244e4 .word 0x000244e4 - 3978: 000247dc .word 0x000247dc - 397c: 0001225d .word 0x0001225d - 3980: 0002483c .word 0x0002483c - 3984: 000022b9 .word 0x000022b9 - 3988: 00002e9d .word 0x00002e9d - 398c: 00002efd .word 0x00002efd - 3990: 00002f5d .word 0x00002f5d - 3994: 00002fad .word 0x00002fad - 3998: 00002c7d .word 0x00002c7d - 399c: 0000343d .word 0x0000343d + 3954: e722 b.n 379c + 3956: bf00 nop + 3958: 00002299 .word 0x00002299 + 395c: 000244cc .word 0x000244cc + 3960: 000247c4 .word 0x000247c4 + 3964: 00012245 .word 0x00012245 + 3968: 00024824 .word 0x00024824 + 396c: 000022a1 .word 0x000022a1 + 3970: 00002e85 .word 0x00002e85 + 3974: 00002ee5 .word 0x00002ee5 + 3978: 00002f45 .word 0x00002f45 + 397c: 00002f95 .word 0x00002f95 + 3980: 00002c65 .word 0x00002c65 + 3984: 00003425 .word 0x00003425 new_x = lv_obj_get_width(base) - obj_w_half; - 39a0: 4630 mov r0, r6 - 39a2: 4b0d ldr r3, [pc, #52] ; (39d8 ) - 39a4: 4798 blx r3 - 39a6: eba0 0008 sub.w r0, r0, r8 - 39aa: b205 sxth r5, r0 + 3988: 4630 mov r0, r6 + 398a: 4b0d ldr r3, [pc, #52] ; (39c0 ) + 398c: 4798 blx r3 + 398e: eba0 0008 sub.w r0, r0, r8 + 3992: b205 sxth r5, r0 new_y = lv_obj_get_height(base) / 2 - obj_h_half; - 39ac: 4630 mov r0, r6 - 39ae: 4b0b ldr r3, [pc, #44] ; (39dc ) - 39b0: 4798 blx r3 - 39b2: eb00 70d0 add.w r0, r0, r0, lsr #31 - 39b6: ebc7 0460 rsb r4, r7, r0, asr #1 - 39ba: b224 sxth r4, r4 + 3994: 4630 mov r0, r6 + 3996: 4b0b ldr r3, [pc, #44] ; (39c4 ) + 3998: 4798 blx r3 + 399a: eb00 70d0 add.w r0, r0, r0, lsr #31 + 399e: ebc7 0460 rsb r4, r7, r0, asr #1 + 39a2: b224 sxth r4, r4 break; - 39bc: e6fa b.n 37b4 + 39a4: e6fa b.n 379c new_x = lv_obj_get_width(base) - obj_w_half; - 39be: 4630 mov r0, r6 - 39c0: 4b05 ldr r3, [pc, #20] ; (39d8 ) - 39c2: 4798 blx r3 - 39c4: eba0 0008 sub.w r0, r0, r8 - 39c8: b205 sxth r5, r0 + 39a6: 4630 mov r0, r6 + 39a8: 4b05 ldr r3, [pc, #20] ; (39c0 ) + 39aa: 4798 blx r3 + 39ac: eba0 0008 sub.w r0, r0, r8 + 39b0: b205 sxth r5, r0 new_y = lv_obj_get_height(base) - obj_h_half; - 39ca: 4630 mov r0, r6 - 39cc: 4b03 ldr r3, [pc, #12] ; (39dc ) - 39ce: 4798 blx r3 - 39d0: 1bc0 subs r0, r0, r7 - 39d2: b204 sxth r4, r0 + 39b2: 4630 mov r0, r6 + 39b4: 4b03 ldr r3, [pc, #12] ; (39c4 ) + 39b6: 4798 blx r3 + 39b8: 1bc0 subs r0, r0, r7 + 39ba: b204 sxth r4, r0 break; - 39d4: e6ee b.n 37b4 - 39d6: bf00 nop - 39d8: 00002f5d .word 0x00002f5d - 39dc: 00002fad .word 0x00002fad + 39bc: e6ee b.n 379c + 39be: bf00 nop + 39c0: 00002f45 .word 0x00002f45 + 39c4: 00002f95 .word 0x00002f95 -000039e0 : +000039c8 : { - 39e0: b530 push {r4, r5, lr} - 39e2: b083 sub sp, #12 - 39e4: 4604 mov r4, r0 + 39c8: b530 push {r4, r5, lr} + 39ca: b083 sub sp, #12 + 39cc: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 39e6: 4b12 ldr r3, [pc, #72] ; (3a30 ) - 39e8: 4798 blx r3 - 39ea: b190 cbz r0, 3a12 + 39ce: 4b12 ldr r3, [pc, #72] ; (3a18 ) + 39d0: 4798 blx r3 + 39d2: b190 cbz r0, 39fa if(obj->realign.origo_align) - 39ec: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 39f0: f013 0f02 tst.w r3, #2 + 39d4: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 39d8: f013 0f02 tst.w r3, #2 lv_obj_align_origo(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); - 39f4: f9b4 3044 ldrsh.w r3, [r4, #68] ; 0x44 - 39f8: f894 2048 ldrb.w r2, [r4, #72] ; 0x48 - 39fc: f9b4 1046 ldrsh.w r1, [r4, #70] ; 0x46 - 3a00: 9100 str r1, [sp, #0] - 3a02: 6c21 ldr r1, [r4, #64] ; 0x40 - 3a04: 4620 mov r0, r4 - 3a06: bf14 ite ne - 3a08: 4c0a ldrne r4, [pc, #40] ; (3a34 ) + 39dc: f9b4 3044 ldrsh.w r3, [r4, #68] ; 0x44 + 39e0: f894 2048 ldrb.w r2, [r4, #72] ; 0x48 + 39e4: f9b4 1046 ldrsh.w r1, [r4, #70] ; 0x46 + 39e8: 9100 str r1, [sp, #0] + 39ea: 6c21 ldr r1, [r4, #64] ; 0x40 + 39ec: 4620 mov r0, r4 + 39ee: bf14 ite ne + 39f0: 4c0a ldrne r4, [pc, #40] ; (3a1c ) lv_obj_align(obj, obj->realign.base, obj->realign.align, obj->realign.xofs, obj->realign.yofs); - 3a0a: 4c0b ldreq r4, [pc, #44] ; (3a38 ) - 3a0c: 47a0 blx r4 + 39f2: 4c0b ldreq r4, [pc, #44] ; (3a20 ) + 39f4: 47a0 blx r4 } - 3a0e: b003 add sp, #12 - 3a10: bd30 pop {r4, r5, pc} + 39f6: b003 add sp, #12 + 39f8: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3a12: 4b0a ldr r3, [pc, #40] ; (3a3c ) - 3a14: 9300 str r3, [sp, #0] - 3a16: f240 422a movw r2, #1066 ; 0x42a - 3a1a: 4909 ldr r1, [pc, #36] ; (3a40 ) - 3a1c: 2003 movs r0, #3 - 3a1e: 4d09 ldr r5, [pc, #36] ; (3a44 ) - 3a20: 47a8 blx r5 - 3a22: 4622 mov r2, r4 - 3a24: 2300 movs r3, #0 - 3a26: 4808 ldr r0, [pc, #32] ; (3a48 ) - 3a28: 4908 ldr r1, [pc, #32] ; (3a4c ) - 3a2a: 4788 blx r1 - 3a2c: e7fe b.n 3a2c - 3a2e: bf00 nop - 3a30: 000022b1 .word 0x000022b1 - 3a34: 000036d1 .word 0x000036d1 - 3a38: 000035e9 .word 0x000035e9 - 3a3c: 000244f8 .word 0x000244f8 - 3a40: 000247dc .word 0x000247dc - 3a44: 0001225d .word 0x0001225d - 3a48: 0002483c .word 0x0002483c - 3a4c: 000022b9 .word 0x000022b9 - -00003a50 : -{ - 3a50: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 3a54: 4606 mov r6, r0 + 39fa: 4b0a ldr r3, [pc, #40] ; (3a24 ) + 39fc: 9300 str r3, [sp, #0] + 39fe: f240 422a movw r2, #1066 ; 0x42a + 3a02: 4909 ldr r1, [pc, #36] ; (3a28 ) + 3a04: 2003 movs r0, #3 + 3a06: 4d09 ldr r5, [pc, #36] ; (3a2c ) + 3a08: 47a8 blx r5 + 3a0a: 4622 mov r2, r4 + 3a0c: 2300 movs r3, #0 + 3a0e: 4808 ldr r0, [pc, #32] ; (3a30 ) + 3a10: 4908 ldr r1, [pc, #32] ; (3a34 ) + 3a12: 4788 blx r1 + 3a14: e7fe b.n 3a14 + 3a16: bf00 nop + 3a18: 00002299 .word 0x00002299 + 3a1c: 000036b9 .word 0x000036b9 + 3a20: 000035d1 .word 0x000035d1 + 3a24: 000244e0 .word 0x000244e0 + 3a28: 000247c4 .word 0x000247c4 + 3a2c: 00012245 .word 0x00012245 + 3a30: 00024824 .word 0x00024824 + 3a34: 000022a1 .word 0x000022a1 + +00003a38 : +{ + 3a38: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 3a3c: 4606 mov r6, r0 lv_obj_t * child = lv_obj_get_child(obj, NULL); - 3a56: 2100 movs r1, #0 - 3a58: 4b0d ldr r3, [pc, #52] ; (3a90 ) - 3a5a: 4798 blx r3 + 3a3e: 2100 movs r1, #0 + 3a40: 4b0d ldr r3, [pc, #52] ; (3a78 ) + 3a42: 4798 blx r3 while(child != NULL) { - 3a5c: b1b0 cbz r0, 3a8c - 3a5e: 4604 mov r4, r0 + 3a44: b1b0 cbz r0, 3a74 + 3a46: 4604 mov r4, r0 lv_obj_invalidate(child); - 3a60: 4d0c ldr r5, [pc, #48] ; (3a94 ) + 3a48: 4d0c ldr r5, [pc, #48] ; (3a7c ) child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL); - 3a62: f04f 0800 mov.w r8, #0 + 3a4a: f04f 0800 mov.w r8, #0 child = lv_obj_get_child(obj, child); - 3a66: 4f0a ldr r7, [pc, #40] ; (3a90 ) + 3a4e: 4f0a ldr r7, [pc, #40] ; (3a78 ) lv_obj_invalidate(child); - 3a68: 4620 mov r0, r4 - 3a6a: 47a8 blx r5 + 3a50: 4620 mov r0, r4 + 3a52: 47a8 blx r5 child->signal_cb(child, LV_SIGNAL_STYLE_CHG, NULL); - 3a6c: 69e3 ldr r3, [r4, #28] - 3a6e: 4642 mov r2, r8 - 3a70: 2104 movs r1, #4 - 3a72: 4620 mov r0, r4 - 3a74: 4798 blx r3 + 3a54: 69e3 ldr r3, [r4, #28] + 3a56: 4642 mov r2, r8 + 3a58: 2104 movs r1, #4 + 3a5a: 4620 mov r0, r4 + 3a5c: 4798 blx r3 lv_obj_invalidate(child); - 3a76: 4620 mov r0, r4 - 3a78: 47a8 blx r5 + 3a5e: 4620 mov r0, r4 + 3a60: 47a8 blx r5 refresh_children_style(child); /*Check children too*/ - 3a7a: 4620 mov r0, r4 - 3a7c: f7ff ffe8 bl 3a50 + 3a62: 4620 mov r0, r4 + 3a64: f7ff ffe8 bl 3a38 child = lv_obj_get_child(obj, child); - 3a80: 4621 mov r1, r4 - 3a82: 4630 mov r0, r6 - 3a84: 47b8 blx r7 + 3a68: 4621 mov r1, r4 + 3a6a: 4630 mov r0, r6 + 3a6c: 47b8 blx r7 while(child != NULL) { - 3a86: 4604 mov r4, r0 - 3a88: 2800 cmp r0, #0 - 3a8a: d1ed bne.n 3a68 - 3a8c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 3a90: 00002de1 .word 0x00002de1 - 3a94: 00003321 .word 0x00003321 - -00003a98 : -{ - 3a98: b530 push {r4, r5, lr} - 3a9a: b083 sub sp, #12 - 3a9c: 4605 mov r5, r0 - 3a9e: 460c mov r4, r1 + 3a6e: 4604 mov r4, r0 + 3a70: 2800 cmp r0, #0 + 3a72: d1ed bne.n 3a50 + 3a74: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 3a78: 00002dc9 .word 0x00002dc9 + 3a7c: 00003309 .word 0x00003309 + +00003a80 : +{ + 3a80: b530 push {r4, r5, lr} + 3a82: b083 sub sp, #12 + 3a84: 4605 mov r5, r0 + 3a86: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3aa0: 4b36 ldr r3, [pc, #216] ; (3b7c ) - 3aa2: 4798 blx r3 - 3aa4: b198 cbz r0, 3ace + 3a88: 4b36 ldr r3, [pc, #216] ; (3b64 ) + 3a8a: 4798 blx r3 + 3a8c: b198 cbz r0, 3ab6 switch(prop) { - 3aa6: 2c71 cmp r4, #113 ; 0x71 - 3aa8: d846 bhi.n 3b38 - 3aaa: 2c70 cmp r4, #112 ; 0x70 - 3aac: d223 bcs.n 3af6 - 3aae: 2c41 cmp r4, #65 ; 0x41 - 3ab0: d81b bhi.n 3aea - 3ab2: 2c40 cmp r4, #64 ; 0x40 - 3ab4: d21f bcs.n 3af6 - 3ab6: 2c02 cmp r4, #2 - 3ab8: d305 bcc.n 3ac6 - 3aba: 2c07 cmp r4, #7 - 3abc: d91b bls.n 3af6 - 3abe: f1a4 0310 sub.w r3, r4, #16 - 3ac2: 2b08 cmp r3, #8 - 3ac4: d917 bls.n 3af6 + 3a8e: 2c71 cmp r4, #113 ; 0x71 + 3a90: d846 bhi.n 3b20 + 3a92: 2c70 cmp r4, #112 ; 0x70 + 3a94: d223 bcs.n 3ade + 3a96: 2c41 cmp r4, #65 ; 0x41 + 3a98: d81b bhi.n 3ad2 + 3a9a: 2c40 cmp r4, #64 ; 0x40 + 3a9c: d21f bcs.n 3ade + 3a9e: 2c02 cmp r4, #2 + 3aa0: d305 bcc.n 3aae + 3aa2: 2c07 cmp r4, #7 + 3aa4: d91b bls.n 3ade + 3aa6: f1a4 0310 sub.w r3, r4, #16 + 3aaa: 2b08 cmp r3, #8 + 3aac: d917 bls.n 3ade lv_obj_invalidate(obj); - 3ac6: 4628 mov r0, r5 - 3ac8: 4b2d ldr r3, [pc, #180] ; (3b80 ) - 3aca: 4798 blx r3 + 3aae: 4628 mov r0, r5 + 3ab0: 4b2d ldr r3, [pc, #180] ; (3b68 ) + 3ab2: 4798 blx r3 } - 3acc: e02f b.n 3b2e + 3ab4: e02f b.n 3b16 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3ace: 4b2d ldr r3, [pc, #180] ; (3b84 ) - 3ad0: 9300 str r3, [sp, #0] - 3ad2: f240 521d movw r2, #1309 ; 0x51d - 3ad6: 492c ldr r1, [pc, #176] ; (3b88 ) - 3ad8: 2003 movs r0, #3 - 3ada: 4c2c ldr r4, [pc, #176] ; (3b8c ) - 3adc: 47a0 blx r4 - 3ade: 462a mov r2, r5 - 3ae0: 2300 movs r3, #0 - 3ae2: 482b ldr r0, [pc, #172] ; (3b90 ) - 3ae4: 492b ldr r1, [pc, #172] ; (3b94 ) - 3ae6: 4788 blx r1 - 3ae8: e7fe b.n 3ae8 + 3ab6: 4b2d ldr r3, [pc, #180] ; (3b6c ) + 3ab8: 9300 str r3, [sp, #0] + 3aba: f240 521d movw r2, #1309 ; 0x51d + 3abe: 492c ldr r1, [pc, #176] ; (3b70 ) + 3ac0: 2003 movs r0, #3 + 3ac2: 4c2c ldr r4, [pc, #176] ; (3b74 ) + 3ac4: 47a0 blx r4 + 3ac6: 462a mov r2, r5 + 3ac8: 2300 movs r3, #0 + 3aca: 482b ldr r0, [pc, #172] ; (3b78 ) + 3acc: 492b ldr r1, [pc, #172] ; (3b7c ) + 3ace: 4788 blx r1 + 3ad0: e7fe b.n 3ad0 switch(prop) { - 3aea: 2c53 cmp r4, #83 ; 0x53 - 3aec: d821 bhi.n 3b32 - 3aee: 2c50 cmp r4, #80 ; 0x50 - 3af0: d201 bcs.n 3af6 - 3af2: 2c4c cmp r4, #76 ; 0x4c - 3af4: d1e7 bne.n 3ac6 + 3ad2: 2c53 cmp r4, #83 ; 0x53 + 3ad4: d821 bhi.n 3b1a + 3ad6: 2c50 cmp r4, #80 ; 0x50 + 3ad8: d201 bcs.n 3ade + 3ada: 2c4c cmp r4, #76 ; 0x4c + 3adc: d1e7 bne.n 3aae lv_obj_invalidate(obj); - 3af6: 4628 mov r0, r5 - 3af8: 4b21 ldr r3, [pc, #132] ; (3b80 ) - 3afa: 4798 blx r3 + 3ade: 4628 mov r0, r5 + 3ae0: 4b21 ldr r3, [pc, #132] ; (3b68 ) + 3ae2: 4798 blx r3 obj->signal_cb(obj, LV_SIGNAL_STYLE_CHG, NULL); - 3afc: 69eb ldr r3, [r5, #28] - 3afe: 2200 movs r2, #0 - 3b00: 2104 movs r1, #4 - 3b02: 4628 mov r0, r5 - 3b04: 4798 blx r3 + 3ae4: 69eb ldr r3, [r5, #28] + 3ae6: 2200 movs r2, #0 + 3ae8: 2104 movs r1, #4 + 3aea: 4628 mov r0, r5 + 3aec: 4798 blx r3 switch(prop) { - 3b06: 2c15 cmp r4, #21 - 3b08: d309 bcc.n 3b1e - 3b0a: 2c18 cmp r4, #24 - 3b0c: d901 bls.n 3b12 - 3b0e: 2cff cmp r4, #255 ; 0xff - 3b10: d105 bne.n 3b1e + 3aee: 2c15 cmp r4, #21 + 3af0: d309 bcc.n 3b06 + 3af2: 2c18 cmp r4, #24 + 3af4: d901 bls.n 3afa + 3af6: 2cff cmp r4, #255 ; 0xff + 3af8: d105 bne.n 3b06 if(obj->parent) obj->parent->signal_cb(obj->parent, LV_SIGNAL_CHILD_CHG, NULL); - 3b12: 6828 ldr r0, [r5, #0] - 3b14: b118 cbz r0, 3b1e - 3b16: 69c3 ldr r3, [r0, #28] - 3b18: 2200 movs r2, #0 - 3b1a: 2101 movs r1, #1 - 3b1c: 4798 blx r3 + 3afa: 6828 ldr r0, [r5, #0] + 3afc: b118 cbz r0, 3b06 + 3afe: 69c3 ldr r3, [r0, #28] + 3b00: 2200 movs r2, #0 + 3b02: 2101 movs r1, #1 + 3b04: 4798 blx r3 lv_obj_invalidate(obj); - 3b1e: 4628 mov r0, r5 - 3b20: 4b17 ldr r3, [pc, #92] ; (3b80 ) - 3b22: 4798 blx r3 + 3b06: 4628 mov r0, r5 + 3b08: 4b17 ldr r3, [pc, #92] ; (3b68 ) + 3b0a: 4798 blx r3 if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj); - 3b24: 2cff cmp r4, #255 ; 0xff - 3b26: d024 beq.n 3b72 - 3b28: f414 4f00 tst.w r4, #32768 ; 0x8000 - 3b2c: d121 bne.n 3b72 + 3b0c: 2cff cmp r4, #255 ; 0xff + 3b0e: d024 beq.n 3b5a + 3b10: f414 4f00 tst.w r4, #32768 ; 0x8000 + 3b14: d121 bne.n 3b5a } - 3b2e: b003 add sp, #12 - 3b30: bd30 pop {r4, r5, pc} + 3b16: b003 add sp, #12 + 3b18: bd30 pop {r4, r5, pc} switch(prop) { - 3b32: 2c5c cmp r4, #92 ; 0x5c - 3b34: d1c7 bne.n 3ac6 - 3b36: e7de b.n 3af6 - 3b38: 2c7f cmp r4, #127 ; 0x7f - 3b3a: d90c bls.n 3b56 - 3b3c: f248 0381 movw r3, #32897 ; 0x8081 - 3b40: 429c cmp r4, r3 - 3b42: d811 bhi.n 3b68 - 3b44: f248 0380 movw r3, #32896 ; 0x8080 - 3b48: 429c cmp r4, r3 - 3b4a: d2d4 bcs.n 3af6 - 3b4c: 2c90 cmp r4, #144 ; 0x90 - 3b4e: d0d2 beq.n 3af6 - 3b50: 2cff cmp r4, #255 ; 0xff - 3b52: d1b8 bne.n 3ac6 - 3b54: e7cf b.n 3af6 - 3b56: 2c7e cmp r4, #126 ; 0x7e - 3b58: d2cd bcs.n 3af6 - 3b5a: 2c73 cmp r4, #115 ; 0x73 - 3b5c: d3b3 bcc.n 3ac6 - 3b5e: 2c75 cmp r4, #117 ; 0x75 - 3b60: d9c9 bls.n 3af6 - 3b62: 2c7c cmp r4, #124 ; 0x7c - 3b64: d1af bne.n 3ac6 - 3b66: e7c6 b.n 3af6 - 3b68: f248 038e movw r3, #32910 ; 0x808e - 3b6c: 429c cmp r4, r3 - 3b6e: d1aa bne.n 3ac6 - 3b70: e7c1 b.n 3af6 + 3b1a: 2c5c cmp r4, #92 ; 0x5c + 3b1c: d1c7 bne.n 3aae + 3b1e: e7de b.n 3ade + 3b20: 2c7f cmp r4, #127 ; 0x7f + 3b22: d90c bls.n 3b3e + 3b24: f248 0381 movw r3, #32897 ; 0x8081 + 3b28: 429c cmp r4, r3 + 3b2a: d811 bhi.n 3b50 + 3b2c: f248 0380 movw r3, #32896 ; 0x8080 + 3b30: 429c cmp r4, r3 + 3b32: d2d4 bcs.n 3ade + 3b34: 2c90 cmp r4, #144 ; 0x90 + 3b36: d0d2 beq.n 3ade + 3b38: 2cff cmp r4, #255 ; 0xff + 3b3a: d1b8 bne.n 3aae + 3b3c: e7cf b.n 3ade + 3b3e: 2c7e cmp r4, #126 ; 0x7e + 3b40: d2cd bcs.n 3ade + 3b42: 2c73 cmp r4, #115 ; 0x73 + 3b44: d3b3 bcc.n 3aae + 3b46: 2c75 cmp r4, #117 ; 0x75 + 3b48: d9c9 bls.n 3ade + 3b4a: 2c7c cmp r4, #124 ; 0x7c + 3b4c: d1af bne.n 3aae + 3b4e: e7c6 b.n 3ade + 3b50: f248 038e movw r3, #32910 ; 0x808e + 3b54: 429c cmp r4, r3 + 3b56: d1aa bne.n 3aae + 3b58: e7c1 b.n 3ade if(prop == LV_STYLE_PROP_ALL || (prop & LV_STYLE_INHERIT_MASK)) refresh_children_style(obj); - 3b72: 4628 mov r0, r5 - 3b74: 4b08 ldr r3, [pc, #32] ; (3b98 ) - 3b76: 4798 blx r3 - 3b78: e7d9 b.n 3b2e - 3b7a: bf00 nop - 3b7c: 000022b1 .word 0x000022b1 - 3b80: 00003321 .word 0x00003321 - 3b84: 00024508 .word 0x00024508 - 3b88: 000247dc .word 0x000247dc - 3b8c: 0001225d .word 0x0001225d - 3b90: 0002483c .word 0x0002483c - 3b94: 000022b9 .word 0x000022b9 - 3b98: 00003a51 .word 0x00003a51 - -00003b9c : -{ - 3b9c: b510 push {r4, lr} - 3b9e: 4604 mov r4, r0 + 3b5a: 4628 mov r0, r5 + 3b5c: 4b08 ldr r3, [pc, #32] ; (3b80 ) + 3b5e: 4798 blx r3 + 3b60: e7d9 b.n 3b16 + 3b62: bf00 nop + 3b64: 00002299 .word 0x00002299 + 3b68: 00003309 .word 0x00003309 + 3b6c: 000244f0 .word 0x000244f0 + 3b70: 000247c4 .word 0x000247c4 + 3b74: 00012245 .word 0x00012245 + 3b78: 00024824 .word 0x00024824 + 3b7c: 000022a1 .word 0x000022a1 + 3b80: 00003a39 .word 0x00003a39 + +00003b84 : +{ + 3b84: b510 push {r4, lr} + 3b86: 4604 mov r4, r0 lv_obj_clean_style_list(obj, part); - 3ba0: 4b03 ldr r3, [pc, #12] ; (3bb0 ) - 3ba2: 4798 blx r3 + 3b88: 4b03 ldr r3, [pc, #12] ; (3b98 ) + 3b8a: 4798 blx r3 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 3ba4: 21ff movs r1, #255 ; 0xff - 3ba6: 4620 mov r0, r4 - 3ba8: 4b02 ldr r3, [pc, #8] ; (3bb4 ) - 3baa: 4798 blx r3 - 3bac: bd10 pop {r4, pc} - 3bae: bf00 nop - 3bb0: 000030cd .word 0x000030cd - 3bb4: 00003a99 .word 0x00003a99 - -00003bb8 : -{ - 3bb8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 3bbc: 4604 mov r4, r0 - 3bbe: 460f mov r7, r1 - 3bc0: 2600 movs r6, #0 + 3b8c: 21ff movs r1, #255 ; 0xff + 3b8e: 4620 mov r0, r4 + 3b90: 4b02 ldr r3, [pc, #8] ; (3b9c ) + 3b92: 4798 blx r3 + 3b94: bd10 pop {r4, pc} + 3b96: bf00 nop + 3b98: 000030b5 .word 0x000030b5 + 3b9c: 00003a81 .word 0x00003a81 + +00003ba0 : +{ + 3ba0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 3ba4: 4604 mov r4, r0 + 3ba6: 460f mov r7, r1 + 3ba8: 2600 movs r6, #0 lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub); - 3bc2: f8df 8088 ldr.w r8, [pc, #136] ; 3c4c + 3baa: f8df 8088 ldr.w r8, [pc, #136] ; 3c34 void _lv_style_list_reset(lv_style_list_t * style_list); static inline lv_style_t * lv_style_list_get_style(lv_style_list_t * list, uint8_t id) { if(list->has_trans && list->skip_trans) id++; if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 3bc6: 4635 mov r5, r6 + 3bae: 4635 mov r5, r6 lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 3bc8: f8df 9084 ldr.w r9, [pc, #132] ; 3c50 - 3bcc: e005 b.n 3bda - 3bce: 21ff movs r1, #255 ; 0xff - 3bd0: 4638 mov r0, r7 - 3bd2: 47c8 blx r9 - 3bd4: 3601 adds r6, #1 + 3bb0: f8df 9084 ldr.w r9, [pc, #132] ; 3c38 + 3bb4: e005 b.n 3bc2 + 3bb6: 21ff movs r1, #255 ; 0xff + 3bb8: 4638 mov r0, r7 + 3bba: 47c8 blx r9 + 3bbc: 3601 adds r6, #1 for(part_sub = 0; part_sub != _LV_OBJ_PART_REAL_LAST; part_sub++) { - 3bd6: 2e40 cmp r6, #64 ; 0x40 - 3bd8: d022 beq.n 3c20 + 3bbe: 2e40 cmp r6, #64 ; 0x40 + 3bc0: d022 beq.n 3c08 lv_style_list_t * dsc = lv_obj_get_style_list(obj, part_sub); - 3bda: b2f1 uxtb r1, r6 - 3bdc: 4638 mov r0, r7 - 3bde: 47c0 blx r8 + 3bc2: b2f1 uxtb r1, r6 + 3bc4: 4638 mov r0, r7 + 3bc6: 47c0 blx r8 if(dsc == NULL) break; - 3be0: 4686 mov lr, r0 - 3be2: b1e8 cbz r0, 3c20 + 3bc8: 4686 mov lr, r0 + 3bca: b1e8 cbz r0, 3c08 for(ci = 0; ci < dsc->style_cnt; ci++) { - 3be4: 7901 ldrb r1, [r0, #4] - 3be6: 2900 cmp r1, #0 - 3be8: d0f4 beq.n 3bd4 + 3bcc: 7901 ldrb r1, [r0, #4] + 3bce: 2900 cmp r1, #0 + 3bd0: d0f4 beq.n 3bbc if(list->has_trans && list->skip_trans) id++; - 3bea: f890 c005 ldrb.w ip, [r0, #5] - 3bee: f00c 0c06 and.w ip, ip, #6 - 3bf2: 2300 movs r3, #0 - 3bf4: b2da uxtb r2, r3 - 3bf6: f1bc 0f06 cmp.w ip, #6 - 3bfa: bf04 itt eq - 3bfc: 3201 addeq r2, #1 - 3bfe: b2d2 uxtbeq r2, r2 + 3bd2: f890 c005 ldrb.w ip, [r0, #5] + 3bd6: f00c 0c06 and.w ip, ip, #6 + 3bda: 2300 movs r3, #0 + 3bdc: b2da uxtb r2, r3 + 3bde: f1bc 0f06 cmp.w ip, #6 + 3be2: bf04 itt eq + 3be4: 3201 addeq r2, #1 + 3be6: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 3c00: 428a cmp r2, r1 + 3be8: 428a cmp r2, r1 return list->style_list[id]; - 3c02: bf3a itte cc - 3c04: f8de 0000 ldrcc.w r0, [lr] - 3c08: f850 2022 ldrcc.w r2, [r0, r2, lsl #2] + 3bea: bf3a itte cc + 3bec: f8de 0000 ldrcc.w r0, [lr] + 3bf0: f850 2022 ldrcc.w r2, [r0, r2, lsl #2] if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 3c0c: 462a movcs r2, r5 + 3bf4: 462a movcs r2, r5 if(class == style || style == NULL) { - 3c0e: 4294 cmp r4, r2 - 3c10: d0dd beq.n 3bce - 3c12: 2c00 cmp r4, #0 - 3c14: d0db beq.n 3bce - 3c16: 3301 adds r3, #1 + 3bf6: 4294 cmp r4, r2 + 3bf8: d0dd beq.n 3bb6 + 3bfa: 2c00 cmp r4, #0 + 3bfc: d0db beq.n 3bb6 + 3bfe: 3301 adds r3, #1 for(ci = 0; ci < dsc->style_cnt; ci++) { - 3c18: b2da uxtb r2, r3 - 3c1a: 428a cmp r2, r1 - 3c1c: d3ea bcc.n 3bf4 - 3c1e: e7d9 b.n 3bd4 + 3c00: b2da uxtb r2, r3 + 3c02: 428a cmp r2, r1 + 3c04: d3ea bcc.n 3bdc + 3c06: e7d9 b.n 3bbc lv_obj_t * child = lv_obj_get_child(obj, NULL); - 3c20: 2100 movs r1, #0 - 3c22: 4638 mov r0, r7 - 3c24: 4b08 ldr r3, [pc, #32] ; (3c48 ) - 3c26: 4798 blx r3 + 3c08: 2100 movs r1, #0 + 3c0a: 4638 mov r0, r7 + 3c0c: 4b08 ldr r3, [pc, #32] ; (3c30 ) + 3c0e: 4798 blx r3 while(child) { - 3c28: 4605 mov r5, r0 - 3c2a: b150 cbz r0, 3c42 + 3c10: 4605 mov r5, r0 + 3c12: b150 cbz r0, 3c2a child = lv_obj_get_child(obj, child); - 3c2c: 4e06 ldr r6, [pc, #24] ; (3c48 ) + 3c14: 4e06 ldr r6, [pc, #24] ; (3c30 ) report_style_mod_core(style, child); - 3c2e: 4629 mov r1, r5 - 3c30: 4620 mov r0, r4 - 3c32: f7ff ffc1 bl 3bb8 + 3c16: 4629 mov r1, r5 + 3c18: 4620 mov r0, r4 + 3c1a: f7ff ffc1 bl 3ba0 child = lv_obj_get_child(obj, child); - 3c36: 4629 mov r1, r5 - 3c38: 4638 mov r0, r7 - 3c3a: 47b0 blx r6 + 3c1e: 4629 mov r1, r5 + 3c20: 4638 mov r0, r7 + 3c22: 47b0 blx r6 while(child) { - 3c3c: 4605 mov r5, r0 - 3c3e: 2800 cmp r0, #0 - 3c40: d1f5 bne.n 3c2e - 3c42: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 3c46: bf00 nop - 3c48: 00002de1 .word 0x00002de1 - 3c4c: 00002ffd .word 0x00002ffd - 3c50: 00003a99 .word 0x00003a99 - -00003c54 : -{ - 3c54: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 3c58: 4680 mov r8, r0 + 3c24: 4605 mov r5, r0 + 3c26: 2800 cmp r0, #0 + 3c28: d1f5 bne.n 3c16 + 3c2a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 3c2e: bf00 nop + 3c30: 00002dc9 .word 0x00002dc9 + 3c34: 00002fe5 .word 0x00002fe5 + 3c38: 00003a81 .word 0x00003a81 + +00003c3c : +{ + 3c3c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 3c40: 4680 mov r8, r0 lv_disp_t * d = lv_disp_get_next(NULL); - 3c5a: 2000 movs r0, #0 - 3c5c: 4b0f ldr r3, [pc, #60] ; (3c9c ) - 3c5e: 4798 blx r3 + 3c42: 2000 movs r0, #0 + 3c44: 4b0f ldr r3, [pc, #60] ; (3c84 ) + 3c46: 4798 blx r3 while(d) { - 3c60: b1c8 cbz r0, 3c96 - 3c62: 4681 mov r9, r0 + 3c48: b1c8 cbz r0, 3c7e + 3c4a: 4681 mov r9, r0 _LV_LL_READ(d->scr_ll, i) { - 3c64: f8df a040 ldr.w sl, [pc, #64] ; 3ca8 + 3c4c: f8df a040 ldr.w sl, [pc, #64] ; 3c90 report_style_mod_core(style, i); - 3c68: 4f0d ldr r7, [pc, #52] ; (3ca0 ) + 3c50: 4f0d ldr r7, [pc, #52] ; (3c88 ) _LV_LL_READ(d->scr_ll, i) { - 3c6a: 4e0e ldr r6, [pc, #56] ; (3ca4 ) - 3c6c: f109 0530 add.w r5, r9, #48 ; 0x30 - 3c70: 4628 mov r0, r5 - 3c72: 47d0 blx sl - 3c74: 4604 mov r4, r0 - 3c76: b140 cbz r0, 3c8a + 3c52: 4e0e ldr r6, [pc, #56] ; (3c8c ) + 3c54: f109 0530 add.w r5, r9, #48 ; 0x30 + 3c58: 4628 mov r0, r5 + 3c5a: 47d0 blx sl + 3c5c: 4604 mov r4, r0 + 3c5e: b140 cbz r0, 3c72 report_style_mod_core(style, i); - 3c78: 4621 mov r1, r4 - 3c7a: 4640 mov r0, r8 - 3c7c: 47b8 blx r7 + 3c60: 4621 mov r1, r4 + 3c62: 4640 mov r0, r8 + 3c64: 47b8 blx r7 _LV_LL_READ(d->scr_ll, i) { - 3c7e: 4621 mov r1, r4 - 3c80: 4628 mov r0, r5 - 3c82: 47b0 blx r6 - 3c84: 4604 mov r4, r0 - 3c86: 2800 cmp r0, #0 - 3c88: d1f6 bne.n 3c78 + 3c66: 4621 mov r1, r4 + 3c68: 4628 mov r0, r5 + 3c6a: 47b0 blx r6 + 3c6c: 4604 mov r4, r0 + 3c6e: 2800 cmp r0, #0 + 3c70: d1f6 bne.n 3c60 d = lv_disp_get_next(d); - 3c8a: 4648 mov r0, r9 - 3c8c: 4b03 ldr r3, [pc, #12] ; (3c9c ) - 3c8e: 4798 blx r3 + 3c72: 4648 mov r0, r9 + 3c74: 4b03 ldr r3, [pc, #12] ; (3c84 ) + 3c76: 4798 blx r3 while(d) { - 3c90: 4681 mov r9, r0 - 3c92: 2800 cmp r0, #0 - 3c94: d1ea bne.n 3c6c - 3c96: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 3c9a: bf00 nop - 3c9c: 00010fb9 .word 0x00010fb9 - 3ca0: 00003bb9 .word 0x00003bb9 - 3ca4: 00011fbd .word 0x00011fbd - 3ca8: 00011fa9 .word 0x00011fa9 - -00003cac : -{ - 3cac: b5f8 push {r3, r4, r5, r6, r7, lr} - 3cae: 4604 mov r4, r0 - 3cb0: 460d mov r5, r1 + 3c78: 4681 mov r9, r0 + 3c7a: 2800 cmp r0, #0 + 3c7c: d1ea bne.n 3c54 + 3c7e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 3c82: bf00 nop + 3c84: 00010fa1 .word 0x00010fa1 + 3c88: 00003ba1 .word 0x00003ba1 + 3c8c: 00011fa5 .word 0x00011fa5 + 3c90: 00011f91 .word 0x00011f91 + +00003c94 : +{ + 3c94: b5f8 push {r3, r4, r5, r6, r7, lr} + 3c96: 4604 mov r4, r0 + 3c98: 460d mov r5, r1 lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part); - 3cb2: 7981 ldrb r1, [r0, #6] - 3cb4: 6800 ldr r0, [r0, #0] - 3cb6: 4b42 ldr r3, [pc, #264] ; (3dc0 ) - 3cb8: 4798 blx r3 + 3c9a: 7981 ldrb r1, [r0, #6] + 3c9c: 6800 ldr r0, [r0, #0] + 3c9e: 4b42 ldr r3, [pc, #264] ; (3da8 ) + 3ca0: 4798 blx r3 lv_style_t * style = _lv_style_list_get_transition_style(list); - 3cba: 4b42 ldr r3, [pc, #264] ; (3dc4 ) - 3cbc: 4798 blx r3 + 3ca2: 4b42 ldr r3, [pc, #264] ; (3dac ) + 3ca4: 4798 blx r3 if((tr->prop & 0xF) < LV_STYLE_ID_COLOR) { /*Value*/ - 3cbe: 88a1 ldrh r1, [r4, #4] - 3cc0: f001 030f and.w r3, r1, #15 - 3cc4: 2b08 cmp r3, #8 - 3cc6: dc19 bgt.n 3cfc + 3ca6: 88a1 ldrh r1, [r4, #4] + 3ca8: f001 030f and.w r3, r1, #15 + 3cac: 2b08 cmp r3, #8 + 3cae: dc19 bgt.n 3ce4 if(v == 0) x = tr->start_value._int; - 3cc8: b945 cbnz r5, 3cdc - 3cca: f9b4 2008 ldrsh.w r2, [r4, #8] + 3cb0: b945 cbnz r5, 3cc4 + 3cb2: f9b4 2008 ldrsh.w r2, [r4, #8] _lv_style_set_int(style, tr->prop, x); - 3cce: 4b3e ldr r3, [pc, #248] ; (3dc8 ) - 3cd0: 4798 blx r3 + 3cb6: 4b3e ldr r3, [pc, #248] ; (3db0 ) + 3cb8: 4798 blx r3 lv_obj_refresh_style(tr->obj, tr->prop); - 3cd2: 88a1 ldrh r1, [r4, #4] - 3cd4: 6820 ldr r0, [r4, #0] - 3cd6: 4b3d ldr r3, [pc, #244] ; (3dcc ) - 3cd8: 4798 blx r3 - 3cda: bdf8 pop {r3, r4, r5, r6, r7, pc} + 3cba: 88a1 ldrh r1, [r4, #4] + 3cbc: 6820 ldr r0, [r4, #0] + 3cbe: 4b3d ldr r3, [pc, #244] ; (3db4 ) + 3cc0: 4798 blx r3 + 3cc2: bdf8 pop {r3, r4, r5, r6, r7, pc} else if(v == 255) x = tr->end_value._int; - 3cdc: 2dff cmp r5, #255 ; 0xff - 3cde: d00a beq.n 3cf6 + 3cc4: 2dff cmp r5, #255 ; 0xff + 3cc6: d00a beq.n 3cde else x = tr->start_value._int + ((int32_t)((int32_t)(tr->end_value._int - tr->start_value._int) * v) >> 8); - 3ce0: f9b4 2008 ldrsh.w r2, [r4, #8] - 3ce4: f9b4 300c ldrsh.w r3, [r4, #12] - 3ce8: 1a9b subs r3, r3, r2 - 3cea: fb05 f503 mul.w r5, r5, r3 - 3cee: eb02 2225 add.w r2, r2, r5, asr #8 - 3cf2: b212 sxth r2, r2 - 3cf4: e7eb b.n 3cce + 3cc8: f9b4 2008 ldrsh.w r2, [r4, #8] + 3ccc: f9b4 300c ldrsh.w r3, [r4, #12] + 3cd0: 1a9b subs r3, r3, r2 + 3cd2: fb05 f503 mul.w r5, r5, r3 + 3cd6: eb02 2225 add.w r2, r2, r5, asr #8 + 3cda: b212 sxth r2, r2 + 3cdc: e7eb b.n 3cb6 else if(v == 255) x = tr->end_value._int; - 3cf6: f9b4 200c ldrsh.w r2, [r4, #12] - 3cfa: e7e8 b.n 3cce + 3cde: f9b4 200c ldrsh.w r2, [r4, #12] + 3ce2: e7e8 b.n 3cb6 else if((tr->prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 3cfc: 2b0b cmp r3, #11 - 3cfe: dc43 bgt.n 3d88 + 3ce4: 2b0b cmp r3, #11 + 3ce6: dc43 bgt.n 3d70 if(v <= 0) x = tr->start_value._color; - 3d00: 2d00 cmp r5, #0 - 3d02: dd05 ble.n 3d10 + 3ce8: 2d00 cmp r5, #0 + 3cea: dd05 ble.n 3cf8 else if(v >= 255) x = tr->end_value._color; - 3d04: 2dfe cmp r5, #254 ; 0xfe - 3d06: dd05 ble.n 3d14 - 3d08: 89a2 ldrh r2, [r4, #12] + 3cec: 2dfe cmp r5, #254 ; 0xfe + 3cee: dd05 ble.n 3cfc + 3cf0: 89a2 ldrh r2, [r4, #12] _lv_style_set_color(style, tr->prop, x); - 3d0a: 4b31 ldr r3, [pc, #196] ; (3dd0 ) - 3d0c: 4798 blx r3 - 3d0e: e7e0 b.n 3cd2 + 3cf2: 4b31 ldr r3, [pc, #196] ; (3db8 ) + 3cf4: 4798 blx r3 + 3cf6: e7e0 b.n 3cba if(v <= 0) x = tr->start_value._color; - 3d10: 8922 ldrh r2, [r4, #8] - 3d12: e7fa b.n 3d0a + 3cf8: 8922 ldrh r2, [r4, #8] + 3cfa: e7fa b.n 3cf2 LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 3d14: b2ed uxtb r5, r5 - 3d16: f1c5 02ff rsb r2, r5, #255 ; 0xff - 3d1a: 7b63 ldrb r3, [r4, #13] - 3d1c: 08db lsrs r3, r3, #3 - 3d1e: 7a66 ldrb r6, [r4, #9] - 3d20: 08f6 lsrs r6, r6, #3 - 3d22: fb02 f606 mul.w r6, r2, r6 - 3d26: fb05 6303 mla r3, r5, r3, r6 - 3d2a: eb03 2703 add.w r7, r3, r3, lsl #8 - 3d2e: eb03 13c7 add.w r3, r3, r7, lsl #7 - 3d32: f3c3 57c4 ubfx r7, r3, #23, #5 + 3cfc: b2ed uxtb r5, r5 + 3cfe: f1c5 02ff rsb r2, r5, #255 ; 0xff + 3d02: 7b63 ldrb r3, [r4, #13] + 3d04: 08db lsrs r3, r3, #3 + 3d06: 7a66 ldrb r6, [r4, #9] + 3d08: 08f6 lsrs r6, r6, #3 + 3d0a: fb02 f606 mul.w r6, r2, r6 + 3d0e: fb05 6303 mla r3, r5, r3, r6 + 3d12: eb03 2703 add.w r7, r3, r3, lsl #8 + 3d16: eb03 13c7 add.w r3, r3, r7, lsl #7 + 3d1a: f3c3 57c4 ubfx r7, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 3d36: 89a3 ldrh r3, [r4, #12] - 3d38: f3c3 1345 ubfx r3, r3, #5, #6 - 3d3c: 8926 ldrh r6, [r4, #8] - 3d3e: f3c6 1645 ubfx r6, r6, #5, #6 - 3d42: fb02 f606 mul.w r6, r2, r6 - 3d46: fb05 6303 mla r3, r5, r3, r6 - 3d4a: eb03 2603 add.w r6, r3, r3, lsl #8 - 3d4e: eb03 13c6 add.w r3, r3, r6, lsl #7 - 3d52: f3c3 56c5 ubfx r6, r3, #23, #6 + 3d1e: 89a3 ldrh r3, [r4, #12] + 3d20: f3c3 1345 ubfx r3, r3, #5, #6 + 3d24: 8926 ldrh r6, [r4, #8] + 3d26: f3c6 1645 ubfx r6, r6, #5, #6 + 3d2a: fb02 f606 mul.w r6, r2, r6 + 3d2e: fb05 6303 mla r3, r5, r3, r6 + 3d32: eb03 2603 add.w r6, r3, r3, lsl #8 + 3d36: eb03 13c6 add.w r3, r3, r6, lsl #7 + 3d3a: f3c3 56c5 ubfx r6, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 3d56: 7b23 ldrb r3, [r4, #12] - 3d58: f003 031f and.w r3, r3, #31 - 3d5c: f894 e008 ldrb.w lr, [r4, #8] - 3d60: f00e 0e1f and.w lr, lr, #31 - 3d64: fb02 f20e mul.w r2, r2, lr - 3d68: fb05 2503 mla r5, r5, r3, r2 - 3d6c: eb05 2305 add.w r3, r5, r5, lsl #8 - 3d70: eb05 15c3 add.w r5, r5, r3, lsl #7 - 3d74: 0ded lsrs r5, r5, #23 - 3d76: f04f 0200 mov.w r2, #0 - 3d7a: f365 0204 bfi r2, r5, #0, #5 - 3d7e: f366 124a bfi r2, r6, #5, #6 - 3d82: f367 22cf bfi r2, r7, #11, #5 - 3d86: e7c0 b.n 3d0a + 3d3e: 7b23 ldrb r3, [r4, #12] + 3d40: f003 031f and.w r3, r3, #31 + 3d44: f894 e008 ldrb.w lr, [r4, #8] + 3d48: f00e 0e1f and.w lr, lr, #31 + 3d4c: fb02 f20e mul.w r2, r2, lr + 3d50: fb05 2503 mla r5, r5, r3, r2 + 3d54: eb05 2305 add.w r3, r5, r5, lsl #8 + 3d58: eb05 15c3 add.w r5, r5, r3, lsl #7 + 3d5c: 0ded lsrs r5, r5, #23 + 3d5e: f04f 0200 mov.w r2, #0 + 3d62: f365 0204 bfi r2, r5, #0, #5 + 3d66: f366 124a bfi r2, r6, #5, #6 + 3d6a: f367 22cf bfi r2, r7, #11, #5 + 3d6e: e7c0 b.n 3cf2 else if((tr->prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 3d88: 2b0d cmp r3, #13 - 3d8a: dc12 bgt.n 3db2 + 3d70: 2b0d cmp r3, #13 + 3d72: dc12 bgt.n 3d9a if(v <= 0) x = tr->start_value._opa; - 3d8c: 2d00 cmp r5, #0 - 3d8e: dd05 ble.n 3d9c + 3d74: 2d00 cmp r5, #0 + 3d76: dd05 ble.n 3d84 else if(v >= 255) x = tr->end_value._opa; - 3d90: 2dfe cmp r5, #254 ; 0xfe - 3d92: dd05 ble.n 3da0 - 3d94: 7b22 ldrb r2, [r4, #12] + 3d78: 2dfe cmp r5, #254 ; 0xfe + 3d7a: dd05 ble.n 3d88 + 3d7c: 7b22 ldrb r2, [r4, #12] _lv_style_set_opa(style, tr->prop, x); - 3d96: 4b0f ldr r3, [pc, #60] ; (3dd4 ) - 3d98: 4798 blx r3 - 3d9a: e79a b.n 3cd2 + 3d7e: 4b0f ldr r3, [pc, #60] ; (3dbc ) + 3d80: 4798 blx r3 + 3d82: e79a b.n 3cba if(v <= 0) x = tr->start_value._opa; - 3d9c: 7a22 ldrb r2, [r4, #8] - 3d9e: e7fa b.n 3d96 + 3d84: 7a22 ldrb r2, [r4, #8] + 3d86: e7fa b.n 3d7e else x = tr->start_value._opa + (((tr->end_value._opa - tr->start_value._opa) * v) >> 8); - 3da0: 7a22 ldrb r2, [r4, #8] - 3da2: 7b23 ldrb r3, [r4, #12] - 3da4: 1a9b subs r3, r3, r2 - 3da6: fb05 f503 mul.w r5, r5, r3 - 3daa: eb02 2225 add.w r2, r2, r5, asr #8 - 3dae: b2d2 uxtb r2, r2 - 3db0: e7f1 b.n 3d96 + 3d88: 7a22 ldrb r2, [r4, #8] + 3d8a: 7b23 ldrb r3, [r4, #12] + 3d8c: 1a9b subs r3, r3, r2 + 3d8e: fb05 f503 mul.w r5, r5, r3 + 3d92: eb02 2225 add.w r2, r2, r5, asr #8 + 3d96: b2d2 uxtb r2, r2 + 3d98: e7f1 b.n 3d7e if(v < 128) x = tr->start_value._ptr; - 3db2: 2d7f cmp r5, #127 ; 0x7f - 3db4: bfd4 ite le - 3db6: 68a2 ldrle r2, [r4, #8] + 3d9a: 2d7f cmp r5, #127 ; 0x7f + 3d9c: bfd4 ite le + 3d9e: 68a2 ldrle r2, [r4, #8] else x = tr->end_value._ptr; - 3db8: 68e2 ldrgt r2, [r4, #12] + 3da0: 68e2 ldrgt r2, [r4, #12] _lv_style_set_ptr(style, tr->prop, x); - 3dba: 4b07 ldr r3, [pc, #28] ; (3dd8 ) - 3dbc: 4798 blx r3 - 3dbe: e788 b.n 3cd2 - 3dc0: 00002ffd .word 0x00002ffd - 3dc4: 000070e7 .word 0x000070e7 - 3dc8: 000068e1 .word 0x000068e1 - 3dcc: 00003a99 .word 0x00003a99 - 3dd0: 00006a25 .word 0x00006a25 - 3dd4: 00006b69 .word 0x00006b69 - 3dd8: 00006c99 .word 0x00006c99 - -00003ddc : -{ - 3ddc: b530 push {r4, r5, lr} - 3dde: b083 sub sp, #12 - 3de0: 4604 mov r4, r0 + 3da2: 4b07 ldr r3, [pc, #28] ; (3dc0 ) + 3da4: 4798 blx r3 + 3da6: e788 b.n 3cba + 3da8: 00002fe5 .word 0x00002fe5 + 3dac: 000070cf .word 0x000070cf + 3db0: 000068c9 .word 0x000068c9 + 3db4: 00003a81 .word 0x00003a81 + 3db8: 00006a0d .word 0x00006a0d + 3dbc: 00006b51 .word 0x00006b51 + 3dc0: 00006c81 .word 0x00006c81 + +00003dc4 : +{ + 3dc4: b530 push {r4, r5, lr} + 3dc6: b083 sub sp, #12 + 3dc8: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3de2: 4b0a ldr r3, [pc, #40] ; (3e0c ) - 3de4: 4798 blx r3 - 3de6: b110 cbz r0, 3dee + 3dca: 4b0a ldr r3, [pc, #40] ; (3df4 ) + 3dcc: 4798 blx r3 + 3dce: b110 cbz r0, 3dd6 } - 3de8: 2000 movs r0, #0 - 3dea: b003 add sp, #12 - 3dec: bd30 pop {r4, r5, pc} + 3dd0: 2000 movs r0, #0 + 3dd2: b003 add sp, #12 + 3dd4: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 3dee: 4b08 ldr r3, [pc, #32] ; (3e10 ) - 3df0: 9300 str r3, [sp, #0] - 3df2: f640 22b1 movw r2, #2737 ; 0xab1 - 3df6: 4907 ldr r1, [pc, #28] ; (3e14 ) - 3df8: 2003 movs r0, #3 - 3dfa: 4d07 ldr r5, [pc, #28] ; (3e18 ) - 3dfc: 47a8 blx r5 - 3dfe: 4622 mov r2, r4 - 3e00: 2300 movs r3, #0 - 3e02: 4806 ldr r0, [pc, #24] ; (3e1c ) - 3e04: 4906 ldr r1, [pc, #24] ; (3e20 ) - 3e06: 4788 blx r1 - 3e08: e7fe b.n 3e08 - 3e0a: bf00 nop - 3e0c: 000022b1 .word 0x000022b1 - 3e10: 000245d8 .word 0x000245d8 - 3e14: 000247dc .word 0x000247dc - 3e18: 0001225d .word 0x0001225d - 3e1c: 0002483c .word 0x0002483c - 3e20: 000022b9 .word 0x000022b9 - -00003e24 : -{ - 3e24: b5f0 push {r4, r5, r6, r7, lr} - 3e26: b083 sub sp, #12 - 3e28: 460d mov r5, r1 + 3dd6: 4b08 ldr r3, [pc, #32] ; (3df8 ) + 3dd8: 9300 str r3, [sp, #0] + 3dda: f640 22b1 movw r2, #2737 ; 0xab1 + 3dde: 4907 ldr r1, [pc, #28] ; (3dfc ) + 3de0: 2003 movs r0, #3 + 3de2: 4d07 ldr r5, [pc, #28] ; (3e00 ) + 3de4: 47a8 blx r5 + 3de6: 4622 mov r2, r4 + 3de8: 2300 movs r3, #0 + 3dea: 4806 ldr r0, [pc, #24] ; (3e04 ) + 3dec: 4906 ldr r1, [pc, #24] ; (3e08 ) + 3dee: 4788 blx r1 + 3df0: e7fe b.n 3df0 + 3df2: bf00 nop + 3df4: 00002299 .word 0x00002299 + 3df8: 000245c0 .word 0x000245c0 + 3dfc: 000247c4 .word 0x000247c4 + 3e00: 00012245 .word 0x00012245 + 3e04: 00024824 .word 0x00024824 + 3e08: 000022a1 .word 0x000022a1 + +00003e0c : +{ + 3e0c: b5f0 push {r4, r5, r6, r7, lr} + 3e0e: b083 sub sp, #12 + 3e10: 460d mov r5, r1 if(parent == NULL) { - 3e2a: 4606 mov r6, r0 - 3e2c: b188 cbz r0, 3e52 + 3e12: 4606 mov r6, r0 + 3e14: b188 cbz r0, 3e3a LV_ASSERT_OBJ(parent, LV_OBJX_NAME); - 3e2e: 4b9d ldr r3, [pc, #628] ; (40a4 ) - 3e30: 4798 blx r3 - 3e32: 2800 cmp r0, #0 - 3e34: f040 8164 bne.w 4100 - 3e38: 4b9b ldr r3, [pc, #620] ; (40a8 ) - 3e3a: 9300 str r3, [sp, #0] - 3e3c: 22ed movs r2, #237 ; 0xed - 3e3e: 499b ldr r1, [pc, #620] ; (40ac ) - 3e40: 2003 movs r0, #3 - 3e42: 4c9b ldr r4, [pc, #620] ; (40b0 ) - 3e44: 47a0 blx r4 - 3e46: 4632 mov r2, r6 - 3e48: 2300 movs r3, #0 - 3e4a: 489a ldr r0, [pc, #616] ; (40b4 ) - 3e4c: 499a ldr r1, [pc, #616] ; (40b8 ) - 3e4e: 4788 blx r1 - 3e50: e7fe b.n 3e50 + 3e16: 4b9d ldr r3, [pc, #628] ; (408c ) + 3e18: 4798 blx r3 + 3e1a: 2800 cmp r0, #0 + 3e1c: f040 8164 bne.w 40e8 + 3e20: 4b9b ldr r3, [pc, #620] ; (4090 ) + 3e22: 9300 str r3, [sp, #0] + 3e24: 22ed movs r2, #237 ; 0xed + 3e26: 499b ldr r1, [pc, #620] ; (4094 ) + 3e28: 2003 movs r0, #3 + 3e2a: 4c9b ldr r4, [pc, #620] ; (4098 ) + 3e2c: 47a0 blx r4 + 3e2e: 4632 mov r2, r6 + 3e30: 2300 movs r3, #0 + 3e32: 489a ldr r0, [pc, #616] ; (409c ) + 3e34: 499a ldr r1, [pc, #616] ; (40a0 ) + 3e36: 4788 blx r1 + 3e38: e7fe b.n 3e38 lv_disp_t * disp = lv_disp_get_default(); - 3e52: 4b9a ldr r3, [pc, #616] ; (40bc ) - 3e54: 4798 blx r3 + 3e3a: 4b9a ldr r3, [pc, #616] ; (40a4 ) + 3e3c: 4798 blx r3 if(!disp) { - 3e56: b948 cbnz r0, 3e6c + 3e3e: b948 cbnz r0, 3e54 LV_LOG_WARN("lv_obj_create: not display created to so far. No place to assign the new screen"); - 3e58: 4b99 ldr r3, [pc, #612] ; (40c0 ) - 3e5a: 9300 str r3, [sp, #0] - 3e5c: 4b92 ldr r3, [pc, #584] ; (40a8 ) - 3e5e: 22cf movs r2, #207 ; 0xcf - 3e60: 4992 ldr r1, [pc, #584] ; (40ac ) - 3e62: 2002 movs r0, #2 - 3e64: 4c92 ldr r4, [pc, #584] ; (40b0 ) - 3e66: 47a0 blx r4 + 3e40: 4b99 ldr r3, [pc, #612] ; (40a8 ) + 3e42: 9300 str r3, [sp, #0] + 3e44: 4b92 ldr r3, [pc, #584] ; (4090 ) + 3e46: 22cf movs r2, #207 ; 0xcf + 3e48: 4992 ldr r1, [pc, #584] ; (4094 ) + 3e4a: 2002 movs r0, #2 + 3e4c: 4c92 ldr r4, [pc, #584] ; (4098 ) + 3e4e: 47a0 blx r4 return NULL; - 3e68: 4634 mov r4, r6 - 3e6a: e1f5 b.n 4258 + 3e50: 4634 mov r4, r6 + 3e52: e1f5 b.n 4240 new_obj = _lv_ll_ins_head(&disp->scr_ll); - 3e6c: 3030 adds r0, #48 ; 0x30 - 3e6e: 4b95 ldr r3, [pc, #596] ; (40c4 ) - 3e70: 4798 blx r3 - 3e72: 4604 mov r4, r0 + 3e54: 3030 adds r0, #48 ; 0x30 + 3e56: 4b95 ldr r3, [pc, #596] ; (40ac ) + 3e58: 4798 blx r3 + 3e5a: 4604 mov r4, r0 LV_ASSERT_MEM(new_obj); - 3e74: 4b8b ldr r3, [pc, #556] ; (40a4 ) - 3e76: 4798 blx r3 - 3e78: b960 cbnz r0, 3e94 - 3e7a: 4b8b ldr r3, [pc, #556] ; (40a8 ) - 3e7c: 9300 str r3, [sp, #0] - 3e7e: 22d4 movs r2, #212 ; 0xd4 - 3e80: 498a ldr r1, [pc, #552] ; (40ac ) - 3e82: 2003 movs r0, #3 - 3e84: 4d8a ldr r5, [pc, #552] ; (40b0 ) - 3e86: 47a8 blx r5 - 3e88: 4622 mov r2, r4 - 3e8a: 2300 movs r3, #0 - 3e8c: 488e ldr r0, [pc, #568] ; (40c8 ) - 3e8e: 498a ldr r1, [pc, #552] ; (40b8 ) - 3e90: 4788 blx r1 - 3e92: e7fe b.n 3e92 + 3e5c: 4b8b ldr r3, [pc, #556] ; (408c ) + 3e5e: 4798 blx r3 + 3e60: b960 cbnz r0, 3e7c + 3e62: 4b8b ldr r3, [pc, #556] ; (4090 ) + 3e64: 9300 str r3, [sp, #0] + 3e66: 22d4 movs r2, #212 ; 0xd4 + 3e68: 498a ldr r1, [pc, #552] ; (4094 ) + 3e6a: 2003 movs r0, #3 + 3e6c: 4d8a ldr r5, [pc, #552] ; (4098 ) + 3e6e: 47a8 blx r5 + 3e70: 4622 mov r2, r4 + 3e72: 2300 movs r3, #0 + 3e74: 488e ldr r0, [pc, #568] ; (40b0 ) + 3e76: 498a ldr r1, [pc, #552] ; (40a0 ) + 3e78: 4788 blx r1 + 3e7a: e7fe b.n 3e7a if(new_obj == NULL) return NULL; - 3e94: 2c00 cmp r4, #0 - 3e96: f000 81df beq.w 4258 + 3e7c: 2c00 cmp r4, #0 + 3e7e: f000 81df beq.w 4240 _lv_memset_00(new_obj, sizeof(lv_obj_t)); - 3e9a: 214c movs r1, #76 ; 0x4c - 3e9c: 4620 mov r0, r4 - 3e9e: 4b8b ldr r3, [pc, #556] ; (40cc ) - 3ea0: 4798 blx r3 + 3e82: 214c movs r1, #76 ; 0x4c + 3e84: 4620 mov r0, r4 + 3e86: 4b8b ldr r3, [pc, #556] ; (40b4 ) + 3e88: 4798 blx r3 new_obj->base_dir = LV_BIDI_DIR_LTR; - 3ea2: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 - 3ea6: f36f 1305 bfc r3, #4, #2 - 3eaa: f884 3035 strb.w r3, [r4, #53] ; 0x35 + 3e8a: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 + 3e8e: f36f 1305 bfc r3, #4, #2 + 3e92: f884 3035 strb.w r3, [r4, #53] ; 0x35 new_obj->signal_cb = lv_obj_signal; - 3eae: 4b88 ldr r3, [pc, #544] ; (40d0 ) - 3eb0: 61e3 str r3, [r4, #28] + 3e96: 4b88 ldr r3, [pc, #544] ; (40b8 ) + 3e98: 61e3 str r3, [r4, #28] new_obj->design_cb = lv_obj_design; - 3eb2: 4b88 ldr r3, [pc, #544] ; (40d4 ) - 3eb4: 6223 str r3, [r4, #32] + 3e9a: 4b88 ldr r3, [pc, #544] ; (40bc ) + 3e9c: 6223 str r3, [r4, #32] new_obj->event_cb = NULL; - 3eb6: 2700 movs r7, #0 - 3eb8: 61a7 str r7, [r4, #24] + 3e9e: 2700 movs r7, #0 + 3ea0: 61a7 str r7, [r4, #24] new_obj->coords.x1 = 0; - 3eba: 8227 strh r7, [r4, #16] + 3ea2: 8227 strh r7, [r4, #16] new_obj->coords.y1 = 0; - 3ebc: 8267 strh r7, [r4, #18] + 3ea4: 8267 strh r7, [r4, #18] new_obj->coords.x2 = lv_disp_get_hor_res(NULL) - 1; - 3ebe: 4638 mov r0, r7 - 3ec0: 4b85 ldr r3, [pc, #532] ; (40d8 ) - 3ec2: 4798 blx r3 - 3ec4: 3801 subs r0, #1 - 3ec6: 82a0 strh r0, [r4, #20] + 3ea6: 4638 mov r0, r7 + 3ea8: 4b85 ldr r3, [pc, #532] ; (40c0 ) + 3eaa: 4798 blx r3 + 3eac: 3801 subs r0, #1 + 3eae: 82a0 strh r0, [r4, #20] new_obj->coords.y2 = lv_disp_get_ver_res(NULL) - 1; - 3ec8: 4638 mov r0, r7 - 3eca: 4b84 ldr r3, [pc, #528] ; (40dc ) - 3ecc: 4798 blx r3 - 3ece: 3801 subs r0, #1 - 3ed0: 82e0 strh r0, [r4, #22] + 3eb0: 4638 mov r0, r7 + 3eb2: 4b84 ldr r3, [pc, #528] ; (40c4 ) + 3eb4: 4798 blx r3 + 3eb6: 3801 subs r0, #1 + 3eb8: 82e0 strh r0, [r4, #22] _lv_ll_init(&(new_obj->child_ll), sizeof(lv_obj_t)); - 3ed2: 214c movs r1, #76 ; 0x4c - 3ed4: 1d20 adds r0, r4, #4 - 3ed6: 4b82 ldr r3, [pc, #520] ; (40e0 ) - 3ed8: 4798 blx r3 + 3eba: 214c movs r1, #76 ; 0x4c + 3ebc: 1d20 adds r0, r4, #4 + 3ebe: 4b82 ldr r3, [pc, #520] ; (40c8 ) + 3ec0: 4798 blx r3 new_obj->ext_draw_pad = 0; - 3eda: 2300 movs r3, #0 - 3edc: 8663 strh r3, [r4, #50] ; 0x32 + 3ec2: 2300 movs r3, #0 + 3ec4: 8663 strh r3, [r4, #50] ; 0x32 new_obj->ext_click_pad_hor = 0; - 3ede: f884 3030 strb.w r3, [r4, #48] ; 0x30 + 3ec6: f884 3030 strb.w r3, [r4, #48] ; 0x30 new_obj->ext_click_pad_ver = 0; - 3ee2: f884 3031 strb.w r3, [r4, #49] ; 0x31 + 3eca: f884 3031 strb.w r3, [r4, #49] ; 0x31 new_obj->realign.align = LV_ALIGN_CENTER; - 3ee6: f884 3048 strb.w r3, [r4, #72] ; 0x48 + 3ece: f884 3048 strb.w r3, [r4, #72] ; 0x48 new_obj->realign.xofs = 0; - 3eea: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 + 3ed2: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 new_obj->realign.yofs = 0; - 3eee: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 + 3ed6: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 new_obj->realign.base = NULL; - 3ef2: 6423 str r3, [r4, #64] ; 0x40 + 3eda: 6423 str r3, [r4, #64] ; 0x40 new_obj->realign.auto_realign = 0; - 3ef4: f894 2049 ldrb.w r2, [r4, #73] ; 0x49 - 3ef8: f363 0200 bfi r2, r3, #0, #1 - 3efc: f884 2049 strb.w r2, [r4, #73] ; 0x49 + 3edc: f894 2049 ldrb.w r2, [r4, #73] ; 0x49 + 3ee0: f363 0200 bfi r2, r3, #0, #1 + 3ee4: f884 2049 strb.w r2, [r4, #73] ; 0x49 new_obj->group_p = NULL; - 3f00: 63a3 str r3, [r4, #56] ; 0x38 + 3ee8: 63a3 str r3, [r4, #56] ; 0x38 new_obj->adv_hittest = 0; - 3f02: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3eea: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 new_obj->click = 1; - 3f06: f002 027f and.w r2, r2, #127 ; 0x7f + 3eee: f002 027f and.w r2, r2, #127 ; 0x7f new_obj->drag = 0; - 3f0a: f042 0201 orr.w r2, r2, #1 + 3ef2: f042 0201 orr.w r2, r2, #1 new_obj->drag_dir = LV_DRAG_DIR_BOTH; - 3f0e: f894 1035 ldrb.w r1, [r4, #53] ; 0x35 - 3f12: 2003 movs r0, #3 - 3f14: f360 0143 bfi r1, r0, #1, #3 + 3ef6: f894 1035 ldrb.w r1, [r4, #53] ; 0x35 + 3efa: 2003 movs r0, #3 + 3efc: f360 0143 bfi r1, r0, #1, #3 new_obj->protect = LV_PROTECT_NONE; - 3f18: f884 303c strb.w r3, [r4, #60] ; 0x3c + 3f00: f884 303c strb.w r3, [r4, #60] ; 0x3c new_obj->parent_event = 0; - 3f1c: f002 02c1 and.w r2, r2, #193 ; 0xc1 - 3f20: f363 1286 bfi r2, r3, #6, #1 - 3f24: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3f04: f002 02c1 and.w r2, r2, #193 ; 0xc1 + 3f08: f363 1286 bfi r2, r3, #6, #1 + 3f0c: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->gesture_parent = 1; - 3f28: f041 0101 orr.w r1, r1, #1 - 3f2c: f884 1035 strb.w r1, [r4, #53] ; 0x35 + 3f10: f041 0101 orr.w r1, r1, #1 + 3f14: f884 1035 strb.w r1, [r4, #53] ; 0x35 new_obj->state = LV_STATE_DEFAULT; - 3f30: f884 303d strb.w r3, [r4, #61] ; 0x3d + 3f18: f884 303d strb.w r3, [r4, #61] ; 0x3d new_obj->ext_attr = NULL; - 3f34: 6263 str r3, [r4, #36] ; 0x24 + 3f1c: 6263 str r3, [r4, #36] ; 0x24 lv_style_list_init(&new_obj->style_list); - 3f36: f104 0728 add.w r7, r4, #40 ; 0x28 - 3f3a: 4638 mov r0, r7 - 3f3c: 4b69 ldr r3, [pc, #420] ; (40e4 ) - 3f3e: 4798 blx r3 + 3f1e: f104 0728 add.w r7, r4, #40 ; 0x28 + 3f22: 4638 mov r0, r7 + 3f24: 4b69 ldr r3, [pc, #420] ; (40cc ) + 3f26: 4798 blx r3 if(copy == NULL) { - 3f40: 2d00 cmp r5, #0 - 3f42: f000 816c beq.w 421e + 3f28: 2d00 cmp r5, #0 + 3f2a: f000 816c beq.w 4206 lv_style_list_copy(&new_obj->style_list, ©->style_list); - 3f46: f105 0128 add.w r1, r5, #40 ; 0x28 - 3f4a: 4638 mov r0, r7 - 3f4c: 4b66 ldr r3, [pc, #408] ; (40e8 ) - 3f4e: 4798 blx r3 - 3f50: f105 020f add.w r2, r5, #15 - 3f54: f104 0118 add.w r1, r4, #24 + 3f2e: f105 0128 add.w r1, r5, #40 ; 0x28 + 3f32: 4638 mov r0, r7 + 3f34: 4b66 ldr r3, [pc, #408] ; (40d0 ) + 3f36: 4798 blx r3 + 3f38: f105 020f add.w r2, r5, #15 + 3f3c: f104 0118 add.w r1, r4, #24 uint8_t * d8 = (uint8_t *)dst; - 3f58: f104 0310 add.w r3, r4, #16 + 3f40: f104 0310 add.w r3, r4, #16 *d8 = *s8; - 3f5c: f812 0f01 ldrb.w r0, [r2, #1]! - 3f60: f803 0b01 strb.w r0, [r3], #1 + 3f44: f812 0f01 ldrb.w r0, [r2, #1]! + 3f48: f803 0b01 strb.w r0, [r3], #1 while(len) { - 3f64: 428b cmp r3, r1 - 3f66: d1f9 bne.n 3f5c + 3f4c: 428b cmp r3, r1 + 3f4e: d1f9 bne.n 3f44 new_obj->ext_draw_pad = copy->ext_draw_pad; - 3f68: f9b5 3032 ldrsh.w r3, [r5, #50] ; 0x32 - 3f6c: 8663 strh r3, [r4, #50] ; 0x32 + 3f50: f9b5 3032 ldrsh.w r3, [r5, #50] ; 0x32 + 3f54: 8663 strh r3, [r4, #50] ; 0x32 new_obj->ext_click_pad_hor = copy->ext_click_pad_hor; - 3f6e: f895 3030 ldrb.w r3, [r5, #48] ; 0x30 - 3f72: f884 3030 strb.w r3, [r4, #48] ; 0x30 + 3f56: f895 3030 ldrb.w r3, [r5, #48] ; 0x30 + 3f5a: f884 3030 strb.w r3, [r4, #48] ; 0x30 new_obj->ext_click_pad_ver = copy->ext_click_pad_ver; - 3f76: f895 3031 ldrb.w r3, [r5, #49] ; 0x31 - 3f7a: f884 3031 strb.w r3, [r4, #49] ; 0x31 + 3f5e: f895 3031 ldrb.w r3, [r5, #49] ; 0x31 + 3f62: f884 3031 strb.w r3, [r4, #49] ; 0x31 new_obj->realign.align = copy->realign.align; - 3f7e: f895 3048 ldrb.w r3, [r5, #72] ; 0x48 - 3f82: f884 3048 strb.w r3, [r4, #72] ; 0x48 + 3f66: f895 3048 ldrb.w r3, [r5, #72] ; 0x48 + 3f6a: f884 3048 strb.w r3, [r4, #72] ; 0x48 new_obj->realign.xofs = copy->realign.xofs; - 3f86: f9b5 3044 ldrsh.w r3, [r5, #68] ; 0x44 - 3f8a: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 + 3f6e: f9b5 3044 ldrsh.w r3, [r5, #68] ; 0x44 + 3f72: f8a4 3044 strh.w r3, [r4, #68] ; 0x44 new_obj->realign.yofs = copy->realign.yofs; - 3f8e: f9b5 3046 ldrsh.w r3, [r5, #70] ; 0x46 - 3f92: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 + 3f76: f9b5 3046 ldrsh.w r3, [r5, #70] ; 0x46 + 3f7a: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 new_obj->realign.base = copy->realign.base; - 3f96: 6c2b ldr r3, [r5, #64] ; 0x40 - 3f98: 6423 str r3, [r4, #64] ; 0x40 + 3f7e: 6c2b ldr r3, [r5, #64] ; 0x40 + 3f80: 6423 str r3, [r4, #64] ; 0x40 new_obj->realign.auto_realign = copy->realign.auto_realign; - 3f9a: f895 2049 ldrb.w r2, [r5, #73] ; 0x49 - 3f9e: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 3fa2: f362 0300 bfi r3, r2, #0, #1 - 3fa6: f884 3049 strb.w r3, [r4, #73] ; 0x49 + 3f82: f895 2049 ldrb.w r2, [r5, #73] ; 0x49 + 3f86: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 3f8a: f362 0300 bfi r3, r2, #0, #1 + 3f8e: f884 3049 strb.w r3, [r4, #73] ; 0x49 new_obj->event_cb = copy->event_cb; - 3faa: 69ab ldr r3, [r5, #24] - 3fac: 61a3 str r3, [r4, #24] + 3f92: 69ab ldr r3, [r5, #24] + 3f94: 61a3 str r3, [r4, #24] new_obj->adv_hittest = copy->adv_hittest; - 3fae: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 3fb2: 09db lsrs r3, r3, #7 - 3fb4: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 - 3fb8: f363 12c7 bfi r2, r3, #7, #1 - 3fbc: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3f96: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3f9a: 09db lsrs r3, r3, #7 + 3f9c: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3fa0: f363 12c7 bfi r2, r3, #7, #1 + 3fa4: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->click = copy->click; - 3fc0: f895 2034 ldrb.w r2, [r5, #52] ; 0x34 - 3fc4: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - 3fc8: f362 0300 bfi r3, r2, #0, #1 - 3fcc: f884 3034 strb.w r3, [r4, #52] ; 0x34 + 3fa8: f895 2034 ldrb.w r2, [r5, #52] ; 0x34 + 3fac: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + 3fb0: f362 0300 bfi r3, r2, #0, #1 + 3fb4: f884 3034 strb.w r3, [r4, #52] ; 0x34 new_obj->drag = copy->drag; - 3fd0: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 3fd4: f3c3 0340 ubfx r3, r3, #1, #1 - 3fd8: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 - 3fdc: f363 0241 bfi r2, r3, #1, #1 - 3fe0: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3fb8: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3fbc: f3c3 0340 ubfx r3, r3, #1, #1 + 3fc0: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3fc4: f363 0241 bfi r2, r3, #1, #1 + 3fc8: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->drag_dir = copy->drag_dir; - 3fe4: f895 3035 ldrb.w r3, [r5, #53] ; 0x35 - 3fe8: f3c3 0342 ubfx r3, r3, #1, #3 - 3fec: f894 2035 ldrb.w r2, [r4, #53] ; 0x35 - 3ff0: f363 0243 bfi r2, r3, #1, #3 - 3ff4: f884 2035 strb.w r2, [r4, #53] ; 0x35 + 3fcc: f895 3035 ldrb.w r3, [r5, #53] ; 0x35 + 3fd0: f3c3 0342 ubfx r3, r3, #1, #3 + 3fd4: f894 2035 ldrb.w r2, [r4, #53] ; 0x35 + 3fd8: f363 0243 bfi r2, r3, #1, #3 + 3fdc: f884 2035 strb.w r2, [r4, #53] ; 0x35 new_obj->drag_throw = copy->drag_throw; - 3ff8: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 3ffc: f3c3 0380 ubfx r3, r3, #2, #1 - 4000: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 - 4004: f363 0282 bfi r2, r3, #2, #1 - 4008: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3fe0: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3fe4: f3c3 0380 ubfx r3, r3, #2, #1 + 3fe8: f894 2034 ldrb.w r2, [r4, #52] ; 0x34 + 3fec: f363 0282 bfi r2, r3, #2, #1 + 3ff0: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->drag_parent = copy->drag_parent; - 400c: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 4010: f3c3 03c0 ubfx r3, r3, #3, #1 - 4014: b2d2 uxtb r2, r2 - 4016: f363 02c3 bfi r2, r3, #3, #1 - 401a: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 3ff4: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 3ff8: f3c3 03c0 ubfx r3, r3, #3, #1 + 3ffc: b2d2 uxtb r2, r2 + 3ffe: f363 02c3 bfi r2, r3, #3, #1 + 4002: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->hidden = copy->hidden; - 401e: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 4022: f3c3 1300 ubfx r3, r3, #4, #1 - 4026: b2d2 uxtb r2, r2 - 4028: f363 1204 bfi r2, r3, #4, #1 - 402c: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 4006: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 400a: f3c3 1300 ubfx r3, r3, #4, #1 + 400e: b2d2 uxtb r2, r2 + 4010: f363 1204 bfi r2, r3, #4, #1 + 4014: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->top = copy->top; - 4030: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 4034: f3c3 1340 ubfx r3, r3, #5, #1 - 4038: b2d2 uxtb r2, r2 - 403a: f363 1245 bfi r2, r3, #5, #1 - 403e: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 4018: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 401c: f3c3 1340 ubfx r3, r3, #5, #1 + 4020: b2d2 uxtb r2, r2 + 4022: f363 1245 bfi r2, r3, #5, #1 + 4026: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->parent_event = copy->parent_event; - 4042: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 - 4046: f3c3 1380 ubfx r3, r3, #6, #1 - 404a: b2d2 uxtb r2, r2 - 404c: f363 1286 bfi r2, r3, #6, #1 - 4050: f884 2034 strb.w r2, [r4, #52] ; 0x34 + 402a: f895 3034 ldrb.w r3, [r5, #52] ; 0x34 + 402e: f3c3 1380 ubfx r3, r3, #6, #1 + 4032: b2d2 uxtb r2, r2 + 4034: f363 1286 bfi r2, r3, #6, #1 + 4038: f884 2034 strb.w r2, [r4, #52] ; 0x34 new_obj->protect = copy->protect; - 4054: f895 303c ldrb.w r3, [r5, #60] ; 0x3c - 4058: f884 303c strb.w r3, [r4, #60] ; 0x3c + 403c: f895 303c ldrb.w r3, [r5, #60] ; 0x3c + 4040: f884 303c strb.w r3, [r4, #60] ; 0x3c new_obj->gesture_parent = copy->gesture_parent; - 405c: f895 2035 ldrb.w r2, [r5, #53] ; 0x35 - 4060: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 - 4064: f362 0300 bfi r3, r2, #0, #1 - 4068: f884 3035 strb.w r3, [r4, #53] ; 0x35 + 4044: f895 2035 ldrb.w r2, [r5, #53] ; 0x35 + 4048: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 + 404c: f362 0300 bfi r3, r2, #0, #1 + 4050: f884 3035 strb.w r3, [r4, #53] ; 0x35 if(copy->group_p != NULL) { - 406c: 6ba8 ldr r0, [r5, #56] ; 0x38 - 406e: b110 cbz r0, 4076 + 4054: 6ba8 ldr r0, [r5, #56] ; 0x38 + 4056: b110 cbz r0, 405e lv_group_add_obj(copy->group_p, new_obj); - 4070: 4621 mov r1, r4 - 4072: 4b1e ldr r3, [pc, #120] ; (40ec ) - 4074: 4798 blx r3 + 4058: 4621 mov r1, r4 + 405a: 4b1e ldr r3, [pc, #120] ; (40d4 ) + 405c: 4798 blx r3 if(lv_obj_get_parent(copy) != NULL && parent != NULL) { - 4076: 4628 mov r0, r5 - 4078: 4b1d ldr r3, [pc, #116] ; (40f0 ) - 407a: 4798 blx r3 - 407c: 2800 cmp r0, #0 - 407e: f000 80d9 beq.w 4234 - 4082: 2e00 cmp r6, #0 - 4084: f000 80df beq.w 4246 + 405e: 4628 mov r0, r5 + 4060: 4b1d ldr r3, [pc, #116] ; (40d8 ) + 4062: 4798 blx r3 + 4064: 2800 cmp r0, #0 + 4066: f000 80d9 beq.w 421c + 406a: 2e00 cmp r6, #0 + 406c: f000 80df beq.w 422e lv_obj_set_pos(new_obj, lv_obj_get_x(copy), lv_obj_get_y(copy)); - 4088: 4628 mov r0, r5 - 408a: 4b1a ldr r3, [pc, #104] ; (40f4 ) - 408c: 4798 blx r3 - 408e: 4607 mov r7, r0 - 4090: 4628 mov r0, r5 - 4092: 4b19 ldr r3, [pc, #100] ; (40f8 ) - 4094: 4798 blx r3 - 4096: 4602 mov r2, r0 - 4098: 4639 mov r1, r7 - 409a: 4620 mov r0, r4 - 409c: 4b17 ldr r3, [pc, #92] ; (40fc ) - 409e: 4798 blx r3 - 40a0: e0c9 b.n 4236 - 40a2: bf00 nop - 40a4: 000022b1 .word 0x000022b1 - 40a8: 000245ec .word 0x000245ec - 40ac: 000247dc .word 0x000247dc - 40b0: 0001225d .word 0x0001225d - 40b4: 0002483c .word 0x0002483c - 40b8: 000022b9 .word 0x000022b9 - 40bc: 00010ee1 .word 0x00010ee1 - 40c0: 00024938 .word 0x00024938 - 40c4: 00011f11 .word 0x00011f11 - 40c8: 00023fd8 .word 0x00023fd8 - 40cc: 00012b37 .word 0x00012b37 - 40d0: 00005a05 .word 0x00005a05 - 40d4: 00005429 .word 0x00005429 - 40d8: 00010eed .word 0x00010eed - 40dc: 00010f15 .word 0x00010f15 - 40e0: 00011ef9 .word 0x00011ef9 - 40e4: 000064e9 .word 0x000064e9 - 40e8: 00007169 .word 0x00007169 - 40ec: 0000259d .word 0x0000259d - 40f0: 00002c7d .word 0x00002c7d - 40f4: 00002e9d .word 0x00002e9d - 40f8: 00002efd .word 0x00002efd - 40fc: 0000343d .word 0x0000343d + 4070: 4628 mov r0, r5 + 4072: 4b1a ldr r3, [pc, #104] ; (40dc ) + 4074: 4798 blx r3 + 4076: 4607 mov r7, r0 + 4078: 4628 mov r0, r5 + 407a: 4b19 ldr r3, [pc, #100] ; (40e0 ) + 407c: 4798 blx r3 + 407e: 4602 mov r2, r0 + 4080: 4639 mov r1, r7 + 4082: 4620 mov r0, r4 + 4084: 4b17 ldr r3, [pc, #92] ; (40e4 ) + 4086: 4798 blx r3 + 4088: e0c9 b.n 421e + 408a: bf00 nop + 408c: 00002299 .word 0x00002299 + 4090: 000245d4 .word 0x000245d4 + 4094: 000247c4 .word 0x000247c4 + 4098: 00012245 .word 0x00012245 + 409c: 00024824 .word 0x00024824 + 40a0: 000022a1 .word 0x000022a1 + 40a4: 00010ec9 .word 0x00010ec9 + 40a8: 00024920 .word 0x00024920 + 40ac: 00011ef9 .word 0x00011ef9 + 40b0: 00023fc0 .word 0x00023fc0 + 40b4: 00012b1f .word 0x00012b1f + 40b8: 000059ed .word 0x000059ed + 40bc: 00005411 .word 0x00005411 + 40c0: 00010ed5 .word 0x00010ed5 + 40c4: 00010efd .word 0x00010efd + 40c8: 00011ee1 .word 0x00011ee1 + 40cc: 000064d1 .word 0x000064d1 + 40d0: 00007151 .word 0x00007151 + 40d4: 00002585 .word 0x00002585 + 40d8: 00002c65 .word 0x00002c65 + 40dc: 00002e85 .word 0x00002e85 + 40e0: 00002ee5 .word 0x00002ee5 + 40e4: 00003425 .word 0x00003425 new_obj = _lv_ll_ins_head(&parent->child_ll); - 4100: 1d30 adds r0, r6, #4 - 4102: 4b57 ldr r3, [pc, #348] ; (4260 ) - 4104: 4798 blx r3 - 4106: 4604 mov r4, r0 + 40e8: 1d30 adds r0, r6, #4 + 40ea: 4b57 ldr r3, [pc, #348] ; (4248 ) + 40ec: 4798 blx r3 + 40ee: 4604 mov r4, r0 LV_ASSERT_MEM(new_obj); - 4108: 4b56 ldr r3, [pc, #344] ; (4264 ) - 410a: 4798 blx r3 - 410c: 2800 cmp r0, #0 - 410e: d047 beq.n 41a0 + 40f0: 4b56 ldr r3, [pc, #344] ; (424c ) + 40f2: 4798 blx r3 + 40f4: 2800 cmp r0, #0 + 40f6: d047 beq.n 4188 if(new_obj == NULL) return NULL; - 4110: 2c00 cmp r4, #0 - 4112: f000 80a1 beq.w 4258 + 40f8: 2c00 cmp r4, #0 + 40fa: f000 80a1 beq.w 4240 _lv_memset_00(new_obj, sizeof(lv_obj_t)); - 4116: 214c movs r1, #76 ; 0x4c - 4118: 4620 mov r0, r4 - 411a: 4b53 ldr r3, [pc, #332] ; (4268 ) - 411c: 4798 blx r3 + 40fe: 214c movs r1, #76 ; 0x4c + 4100: 4620 mov r0, r4 + 4102: 4b53 ldr r3, [pc, #332] ; (4250 ) + 4104: 4798 blx r3 new_obj->parent = parent; - 411e: 6026 str r6, [r4, #0] + 4106: 6026 str r6, [r4, #0] new_obj->base_dir = LV_BIDI_DIR_LTR; - 4120: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 - 4124: f36f 1305 bfc r3, #4, #2 - 4128: f884 3035 strb.w r3, [r4, #53] ; 0x35 + 4108: f894 3035 ldrb.w r3, [r4, #53] ; 0x35 + 410c: f36f 1305 bfc r3, #4, #2 + 4110: f884 3035 strb.w r3, [r4, #53] ; 0x35 new_obj->signal_cb = lv_obj_signal; - 412c: 4b4f ldr r3, [pc, #316] ; (426c ) - 412e: 61e3 str r3, [r4, #28] + 4114: 4b4f ldr r3, [pc, #316] ; (4254 ) + 4116: 61e3 str r3, [r4, #28] new_obj->design_cb = lv_obj_design; - 4130: 4b4f ldr r3, [pc, #316] ; (4270 ) - 4132: 6223 str r3, [r4, #32] + 4118: 4b4f ldr r3, [pc, #316] ; (4258 ) + 411a: 6223 str r3, [r4, #32] new_obj->event_cb = NULL; - 4134: 2000 movs r0, #0 - 4136: 61a0 str r0, [r4, #24] + 411c: 2000 movs r0, #0 + 411e: 61a0 str r0, [r4, #24] new_obj->coords.y1 = parent->coords.y1; - 4138: f9b6 3012 ldrsh.w r3, [r6, #18] - 413c: 8263 strh r3, [r4, #18] + 4120: f9b6 3012 ldrsh.w r3, [r6, #18] + 4124: 8263 strh r3, [r4, #18] new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; - 413e: 8a77 ldrh r7, [r6, #18] - 4140: 4b4c ldr r3, [pc, #304] ; (4274 ) - 4142: 4798 blx r3 - 4144: 2332 movs r3, #50 ; 0x32 - 4146: fb03 f300 mul.w r3, r3, r0 - 414a: 3350 adds r3, #80 ; 0x50 - 414c: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 4150: da33 bge.n 41ba - 4152: 2301 movs r3, #1 - 4154: 443b add r3, r7 - 4156: 82e3 strh r3, [r4, #22] + 4126: 8a77 ldrh r7, [r6, #18] + 4128: 4b4c ldr r3, [pc, #304] ; (425c ) + 412a: 4798 blx r3 + 412c: 2332 movs r3, #50 ; 0x32 + 412e: fb03 f300 mul.w r3, r3, r0 + 4132: 3350 adds r3, #80 ; 0x50 + 4134: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 4138: da33 bge.n 41a2 + 413a: 2301 movs r3, #1 + 413c: 443b add r3, r7 + 413e: 82e3 strh r3, [r4, #22] if(lv_obj_get_base_dir(new_obj) == LV_BIDI_DIR_RTL) { - 4158: 4620 mov r0, r4 - 415a: 4b47 ldr r3, [pc, #284] ; (4278 ) - 415c: 4798 blx r3 - 415e: 2801 cmp r0, #1 - 4160: d03a beq.n 41d8 + 4140: 4620 mov r0, r4 + 4142: 4b47 ldr r3, [pc, #284] ; (4260 ) + 4144: 4798 blx r3 + 4146: 2801 cmp r0, #1 + 4148: d03a beq.n 41c0 new_obj->coords.x1 = parent->coords.x1; - 4162: f9b6 3010 ldrsh.w r3, [r6, #16] - 4166: 8223 strh r3, [r4, #16] + 414a: f9b6 3010 ldrsh.w r3, [r6, #16] + 414e: 8223 strh r3, [r4, #16] new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; - 4168: 8a37 ldrh r7, [r6, #16] - 416a: 2000 movs r0, #0 - 416c: 4b41 ldr r3, [pc, #260] ; (4274 ) - 416e: 4798 blx r3 - 4170: 2364 movs r3, #100 ; 0x64 - 4172: fb03 f300 mul.w r3, r3, r0 - 4176: 3350 adds r3, #80 ; 0x50 - 4178: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 417c: db4d blt.n 421a - 417e: 2000 movs r0, #0 - 4180: 4b3c ldr r3, [pc, #240] ; (4274 ) - 4182: 4798 blx r3 - 4184: 2364 movs r3, #100 ; 0x64 - 4186: fb03 f300 mul.w r3, r3, r0 - 418a: 3350 adds r3, #80 ; 0x50 - 418c: 4a3b ldr r2, [pc, #236] ; (427c ) - 418e: fb82 1203 smull r1, r2, r2, r3 - 4192: 17db asrs r3, r3, #31 - 4194: ebc3 13a2 rsb r3, r3, r2, asr #6 - 4198: b29b uxth r3, r3 - 419a: 443b add r3, r7 - 419c: 82a3 strh r3, [r4, #20] - 419e: e698 b.n 3ed2 + 4150: 8a37 ldrh r7, [r6, #16] + 4152: 2000 movs r0, #0 + 4154: 4b41 ldr r3, [pc, #260] ; (425c ) + 4156: 4798 blx r3 + 4158: 2364 movs r3, #100 ; 0x64 + 415a: fb03 f300 mul.w r3, r3, r0 + 415e: 3350 adds r3, #80 ; 0x50 + 4160: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 4164: db4d blt.n 4202 + 4166: 2000 movs r0, #0 + 4168: 4b3c ldr r3, [pc, #240] ; (425c ) + 416a: 4798 blx r3 + 416c: 2364 movs r3, #100 ; 0x64 + 416e: fb03 f300 mul.w r3, r3, r0 + 4172: 3350 adds r3, #80 ; 0x50 + 4174: 4a3b ldr r2, [pc, #236] ; (4264 ) + 4176: fb82 1203 smull r1, r2, r2, r3 + 417a: 17db asrs r3, r3, #31 + 417c: ebc3 13a2 rsb r3, r3, r2, asr #6 + 4180: b29b uxth r3, r3 + 4182: 443b add r3, r7 + 4184: 82a3 strh r3, [r4, #20] + 4186: e698 b.n 3eba LV_ASSERT_MEM(new_obj); - 41a0: 4b37 ldr r3, [pc, #220] ; (4280 ) - 41a2: 9300 str r3, [sp, #0] - 41a4: 22f0 movs r2, #240 ; 0xf0 - 41a6: 4937 ldr r1, [pc, #220] ; (4284 ) - 41a8: 2003 movs r0, #3 - 41aa: 4d37 ldr r5, [pc, #220] ; (4288 ) - 41ac: 47a8 blx r5 - 41ae: 4622 mov r2, r4 - 41b0: 2300 movs r3, #0 - 41b2: 4836 ldr r0, [pc, #216] ; (428c ) - 41b4: 4936 ldr r1, [pc, #216] ; (4290 ) - 41b6: 4788 blx r1 - 41b8: e7fe b.n 41b8 + 4188: 4b37 ldr r3, [pc, #220] ; (4268 ) + 418a: 9300 str r3, [sp, #0] + 418c: 22f0 movs r2, #240 ; 0xf0 + 418e: 4937 ldr r1, [pc, #220] ; (426c ) + 4190: 2003 movs r0, #3 + 4192: 4d37 ldr r5, [pc, #220] ; (4270 ) + 4194: 47a8 blx r5 + 4196: 4622 mov r2, r4 + 4198: 2300 movs r3, #0 + 419a: 4836 ldr r0, [pc, #216] ; (4274 ) + 419c: 4936 ldr r1, [pc, #216] ; (4278 ) + 419e: 4788 blx r1 + 41a0: e7fe b.n 41a0 new_obj->coords.y2 = parent->coords.y1 + LV_OBJ_DEF_HEIGHT; - 41ba: 2000 movs r0, #0 - 41bc: 4b2d ldr r3, [pc, #180] ; (4274 ) - 41be: 4798 blx r3 - 41c0: 2332 movs r3, #50 ; 0x32 - 41c2: fb03 f300 mul.w r3, r3, r0 - 41c6: 3350 adds r3, #80 ; 0x50 - 41c8: 4a2c ldr r2, [pc, #176] ; (427c ) - 41ca: fb82 1203 smull r1, r2, r2, r3 - 41ce: 17db asrs r3, r3, #31 - 41d0: ebc3 13a2 rsb r3, r3, r2, asr #6 - 41d4: b29b uxth r3, r3 - 41d6: e7bd b.n 4154 + 41a2: 2000 movs r0, #0 + 41a4: 4b2d ldr r3, [pc, #180] ; (425c ) + 41a6: 4798 blx r3 + 41a8: 2332 movs r3, #50 ; 0x32 + 41aa: fb03 f300 mul.w r3, r3, r0 + 41ae: 3350 adds r3, #80 ; 0x50 + 41b0: 4a2c ldr r2, [pc, #176] ; (4264 ) + 41b2: fb82 1203 smull r1, r2, r2, r3 + 41b6: 17db asrs r3, r3, #31 + 41b8: ebc3 13a2 rsb r3, r3, r2, asr #6 + 41bc: b29b uxth r3, r3 + 41be: e7bd b.n 413c new_obj->coords.x2 = parent->coords.x2; - 41d8: f9b6 3014 ldrsh.w r3, [r6, #20] - 41dc: 82a3 strh r3, [r4, #20] + 41c0: f9b6 3014 ldrsh.w r3, [r6, #20] + 41c4: 82a3 strh r3, [r4, #20] new_obj->coords.x1 = parent->coords.x2 - LV_OBJ_DEF_WIDTH; - 41de: 8ab7 ldrh r7, [r6, #20] - 41e0: 2000 movs r0, #0 - 41e2: 4b24 ldr r3, [pc, #144] ; (4274 ) - 41e4: 4798 blx r3 - 41e6: 2364 movs r3, #100 ; 0x64 - 41e8: fb03 f300 mul.w r3, r3, r0 - 41ec: 3350 adds r3, #80 ; 0x50 - 41ee: f5b3 7fa0 cmp.w r3, #320 ; 0x140 - 41f2: db10 blt.n 4216 - 41f4: 2000 movs r0, #0 - 41f6: 4b1f ldr r3, [pc, #124] ; (4274 ) - 41f8: 4798 blx r3 - 41fa: 2364 movs r3, #100 ; 0x64 - 41fc: fb03 f300 mul.w r3, r3, r0 - 4200: 3350 adds r3, #80 ; 0x50 - 4202: 4a1e ldr r2, [pc, #120] ; (427c ) - 4204: fb82 1203 smull r1, r2, r2, r3 - 4208: 17db asrs r3, r3, #31 - 420a: ebc3 13a2 rsb r3, r3, r2, asr #6 - 420e: b29b uxth r3, r3 - 4210: 1afb subs r3, r7, r3 - 4212: 8223 strh r3, [r4, #16] - 4214: e65d b.n 3ed2 - 4216: 2301 movs r3, #1 - 4218: e7fa b.n 4210 + 41c6: 8ab7 ldrh r7, [r6, #20] + 41c8: 2000 movs r0, #0 + 41ca: 4b24 ldr r3, [pc, #144] ; (425c ) + 41cc: 4798 blx r3 + 41ce: 2364 movs r3, #100 ; 0x64 + 41d0: fb03 f300 mul.w r3, r3, r0 + 41d4: 3350 adds r3, #80 ; 0x50 + 41d6: f5b3 7fa0 cmp.w r3, #320 ; 0x140 + 41da: db10 blt.n 41fe + 41dc: 2000 movs r0, #0 + 41de: 4b1f ldr r3, [pc, #124] ; (425c ) + 41e0: 4798 blx r3 + 41e2: 2364 movs r3, #100 ; 0x64 + 41e4: fb03 f300 mul.w r3, r3, r0 + 41e8: 3350 adds r3, #80 ; 0x50 + 41ea: 4a1e ldr r2, [pc, #120] ; (4264 ) + 41ec: fb82 1203 smull r1, r2, r2, r3 + 41f0: 17db asrs r3, r3, #31 + 41f2: ebc3 13a2 rsb r3, r3, r2, asr #6 + 41f6: b29b uxth r3, r3 + 41f8: 1afb subs r3, r7, r3 + 41fa: 8223 strh r3, [r4, #16] + 41fc: e65d b.n 3eba + 41fe: 2301 movs r3, #1 + 4200: e7fa b.n 41f8 new_obj->coords.x2 = parent->coords.x1 + LV_OBJ_DEF_WIDTH; - 421a: 2301 movs r3, #1 - 421c: e7bd b.n 419a + 4202: 2301 movs r3, #1 + 4204: e7bd b.n 4182 if(parent != NULL) lv_theme_apply(new_obj, LV_THEME_OBJ); - 421e: b126 cbz r6, 422a - 4220: 2102 movs r1, #2 - 4222: 4620 mov r0, r4 - 4224: 4b1b ldr r3, [pc, #108] ; (4294 ) - 4226: 4798 blx r3 - 4228: e005 b.n 4236 + 4206: b126 cbz r6, 4212 + 4208: 2102 movs r1, #2 + 420a: 4620 mov r0, r4 + 420c: 4b1b ldr r3, [pc, #108] ; (427c ) + 420e: 4798 blx r3 + 4210: e005 b.n 421e else lv_theme_apply(new_obj, LV_THEME_SCR); - 422a: 2101 movs r1, #1 - 422c: 4620 mov r0, r4 - 422e: 4b19 ldr r3, [pc, #100] ; (4294 ) - 4230: 4798 blx r3 - 4232: e008 b.n 4246 + 4212: 2101 movs r1, #1 + 4214: 4620 mov r0, r4 + 4216: 4b19 ldr r3, [pc, #100] ; (427c ) + 4218: 4798 blx r3 + 421a: e008 b.n 422e if(parent != NULL) { - 4234: b13e cbz r6, 4246 + 421c: b13e cbz r6, 422e parent->signal_cb(parent, LV_SIGNAL_CHILD_CHG, new_obj); - 4236: 69f3 ldr r3, [r6, #28] - 4238: 4622 mov r2, r4 - 423a: 2101 movs r1, #1 - 423c: 4630 mov r0, r6 - 423e: 4798 blx r3 + 421e: 69f3 ldr r3, [r6, #28] + 4220: 4622 mov r2, r4 + 4222: 2101 movs r1, #1 + 4224: 4630 mov r0, r6 + 4226: 4798 blx r3 lv_obj_invalidate(new_obj); - 4240: 4620 mov r0, r4 - 4242: 4b15 ldr r3, [pc, #84] ; (4298 ) - 4244: 4798 blx r3 + 4228: 4620 mov r0, r4 + 422a: 4b15 ldr r3, [pc, #84] ; (4280 ) + 422c: 4798 blx r3 LV_LOG_INFO("Object create ready"); - 4246: 4b15 ldr r3, [pc, #84] ; (429c ) - 4248: 9300 str r3, [sp, #0] - 424a: 4b0d ldr r3, [pc, #52] ; (4280 ) - 424c: f240 1287 movw r2, #391 ; 0x187 - 4250: 490c ldr r1, [pc, #48] ; (4284 ) - 4252: 2001 movs r0, #1 - 4254: 4d0c ldr r5, [pc, #48] ; (4288 ) - 4256: 47a8 blx r5 -} - 4258: 4620 mov r0, r4 - 425a: b003 add sp, #12 - 425c: bdf0 pop {r4, r5, r6, r7, pc} - 425e: bf00 nop - 4260: 00011f11 .word 0x00011f11 - 4264: 000022b1 .word 0x000022b1 - 4268: 00012b37 .word 0x00012b37 - 426c: 00005a05 .word 0x00005a05 - 4270: 00005429 .word 0x00005429 - 4274: 00010f3d .word 0x00010f3d - 4278: 00003ddd .word 0x00003ddd - 427c: 66666667 .word 0x66666667 - 4280: 000245ec .word 0x000245ec - 4284: 000247dc .word 0x000247dc - 4288: 0001225d .word 0x0001225d - 428c: 00023fd8 .word 0x00023fd8 - 4290: 000022b9 .word 0x000022b9 - 4294: 000141e9 .word 0x000141e9 - 4298: 00003321 .word 0x00003321 - 429c: 00024988 .word 0x00024988 - -000042a0 : -{ - 42a0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 42a4: b084 sub sp, #16 - 42a6: 4604 mov r4, r0 - 42a8: 460d mov r5, r1 - 42aa: 4616 mov r6, r2 + 422e: 4b15 ldr r3, [pc, #84] ; (4284 ) + 4230: 9300 str r3, [sp, #0] + 4232: 4b0d ldr r3, [pc, #52] ; (4268 ) + 4234: f240 1287 movw r2, #391 ; 0x187 + 4238: 490c ldr r1, [pc, #48] ; (426c ) + 423a: 2001 movs r0, #1 + 423c: 4d0c ldr r5, [pc, #48] ; (4270 ) + 423e: 47a8 blx r5 +} + 4240: 4620 mov r0, r4 + 4242: b003 add sp, #12 + 4244: bdf0 pop {r4, r5, r6, r7, pc} + 4246: bf00 nop + 4248: 00011ef9 .word 0x00011ef9 + 424c: 00002299 .word 0x00002299 + 4250: 00012b1f .word 0x00012b1f + 4254: 000059ed .word 0x000059ed + 4258: 00005411 .word 0x00005411 + 425c: 00010f25 .word 0x00010f25 + 4260: 00003dc5 .word 0x00003dc5 + 4264: 66666667 .word 0x66666667 + 4268: 000245d4 .word 0x000245d4 + 426c: 000247c4 .word 0x000247c4 + 4270: 00012245 .word 0x00012245 + 4274: 00023fc0 .word 0x00023fc0 + 4278: 000022a1 .word 0x000022a1 + 427c: 000141d1 .word 0x000141d1 + 4280: 00003309 .word 0x00003309 + 4284: 00024970 .word 0x00024970 + +00004288 : +{ + 4288: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 428c: b084 sub sp, #16 + 428e: 4604 mov r4, r0 + 4290: 460d mov r5, r1 + 4292: 4616 mov r6, r2 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 42ac: 4b32 ldr r3, [pc, #200] ; (4378 ) - 42ae: 4798 blx r3 - 42b0: b968 cbnz r0, 42ce - 42b2: 4b32 ldr r3, [pc, #200] ; (437c ) - 42b4: 9300 str r3, [sp, #0] - 42b6: f240 22e5 movw r2, #741 ; 0x2e5 - 42ba: 4931 ldr r1, [pc, #196] ; (4380 ) - 42bc: 2003 movs r0, #3 - 42be: 4d31 ldr r5, [pc, #196] ; (4384 ) - 42c0: 47a8 blx r5 - 42c2: 4622 mov r2, r4 - 42c4: 2300 movs r3, #0 - 42c6: 4830 ldr r0, [pc, #192] ; (4388 ) - 42c8: 4930 ldr r1, [pc, #192] ; (438c ) - 42ca: 4788 blx r1 - 42cc: e7fe b.n 42cc + 4294: 4b32 ldr r3, [pc, #200] ; (4360 ) + 4296: 4798 blx r3 + 4298: b968 cbnz r0, 42b6 + 429a: 4b32 ldr r3, [pc, #200] ; (4364 ) + 429c: 9300 str r3, [sp, #0] + 429e: f240 22e5 movw r2, #741 ; 0x2e5 + 42a2: 4931 ldr r1, [pc, #196] ; (4368 ) + 42a4: 2003 movs r0, #3 + 42a6: 4d31 ldr r5, [pc, #196] ; (436c ) + 42a8: 47a8 blx r5 + 42aa: 4622 mov r2, r4 + 42ac: 2300 movs r3, #0 + 42ae: 4830 ldr r0, [pc, #192] ; (4370 ) + 42b0: 4930 ldr r1, [pc, #192] ; (4374 ) + 42b2: 4788 blx r1 + 42b4: e7fe b.n 42b4 if(lv_obj_get_width(obj) == w && lv_obj_get_height(obj) == h) { - 42ce: 4620 mov r0, r4 - 42d0: 4b2f ldr r3, [pc, #188] ; (4390 ) - 42d2: 4798 blx r3 - 42d4: 42a8 cmp r0, r5 - 42d6: d03f beq.n 4358 + 42b6: 4620 mov r0, r4 + 42b8: 4b2f ldr r3, [pc, #188] ; (4378 ) + 42ba: 4798 blx r3 + 42bc: 42a8 cmp r0, r5 + 42be: d03f beq.n 4340 lv_obj_invalidate(obj); - 42d8: 4620 mov r0, r4 - 42da: 4b2e ldr r3, [pc, #184] ; (4394 ) - 42dc: 4798 blx r3 + 42c0: 4620 mov r0, r4 + 42c2: 4b2e ldr r3, [pc, #184] ; (437c ) + 42c4: 4798 blx r3 lv_obj_get_coords(obj, &ori); - 42de: a902 add r1, sp, #8 - 42e0: 4620 mov r0, r4 - 42e2: 4b2d ldr r3, [pc, #180] ; (4398 ) - 42e4: 4798 blx r3 + 42c6: a902 add r1, sp, #8 + 42c8: 4620 mov r0, r4 + 42ca: 4b2d ldr r3, [pc, #180] ; (4380 ) + 42cc: 4798 blx r3 obj->coords.y2 = obj->coords.y1 + h - 1; - 42e6: 1e73 subs r3, r6, #1 - 42e8: 8a62 ldrh r2, [r4, #18] - 42ea: 4413 add r3, r2 - 42ec: 82e3 strh r3, [r4, #22] + 42ce: 1e73 subs r3, r6, #1 + 42d0: 8a62 ldrh r2, [r4, #18] + 42d2: 4413 add r3, r2 + 42d4: 82e3 strh r3, [r4, #22] if(lv_obj_get_base_dir(obj) == LV_BIDI_DIR_RTL) { - 42ee: 4620 mov r0, r4 - 42f0: 4b2a ldr r3, [pc, #168] ; (439c ) - 42f2: 4798 blx r3 - 42f4: 2801 cmp r0, #1 - 42f6: d035 beq.n 4364 + 42d6: 4620 mov r0, r4 + 42d8: 4b2a ldr r3, [pc, #168] ; (4384 ) + 42da: 4798 blx r3 + 42dc: 2801 cmp r0, #1 + 42de: d035 beq.n 434c obj->coords.x2 = obj->coords.x1 + w - 1; - 42f8: 1e6b subs r3, r5, #1 - 42fa: 8a22 ldrh r2, [r4, #16] - 42fc: 4413 add r3, r2 - 42fe: 82a3 strh r3, [r4, #20] + 42e0: 1e6b subs r3, r5, #1 + 42e2: 8a22 ldrh r2, [r4, #16] + 42e4: 4413 add r3, r2 + 42e6: 82a3 strh r3, [r4, #20] obj->signal_cb(obj, LV_SIGNAL_COORD_CHG, &ori); - 4300: 69e3 ldr r3, [r4, #28] - 4302: aa02 add r2, sp, #8 - 4304: 2102 movs r1, #2 - 4306: 4620 mov r0, r4 - 4308: 4798 blx r3 + 42e8: 69e3 ldr r3, [r4, #28] + 42ea: aa02 add r2, sp, #8 + 42ec: 2102 movs r1, #2 + 42ee: 4620 mov r0, r4 + 42f0: 4798 blx r3 lv_obj_t * par = lv_obj_get_parent(obj); - 430a: 4620 mov r0, r4 - 430c: 4b24 ldr r3, [pc, #144] ; (43a0 ) - 430e: 4798 blx r3 + 42f2: 4620 mov r0, r4 + 42f4: 4b24 ldr r3, [pc, #144] ; (4388 ) + 42f6: 4798 blx r3 if(par != NULL) par->signal_cb(par, LV_SIGNAL_CHILD_CHG, obj); - 4310: b118 cbz r0, 431a - 4312: 69c5 ldr r5, [r0, #28] - 4314: 4622 mov r2, r4 - 4316: 2101 movs r1, #1 - 4318: 47a8 blx r5 + 42f8: b118 cbz r0, 4302 + 42fa: 69c5 ldr r5, [r0, #28] + 42fc: 4622 mov r2, r4 + 42fe: 2101 movs r1, #1 + 4300: 47a8 blx r5 _LV_LL_READ(obj->child_ll, i) { - 431a: 1d26 adds r6, r4, #4 - 431c: 4630 mov r0, r6 - 431e: 4b21 ldr r3, [pc, #132] ; (43a4 ) - 4320: 4798 blx r3 - 4322: 4605 mov r5, r0 - 4324: b168 cbz r0, 4342 + 4302: 1d26 adds r6, r4, #4 + 4304: 4630 mov r0, r6 + 4306: 4b21 ldr r3, [pc, #132] ; (438c ) + 4308: 4798 blx r3 + 430a: 4605 mov r5, r0 + 430c: b168 cbz r0, 432a i->signal_cb(i, LV_SIGNAL_PARENT_SIZE_CHG, &ori); - 4326: f04f 0803 mov.w r8, #3 + 430e: f04f 0803 mov.w r8, #3 _LV_LL_READ(obj->child_ll, i) { - 432a: 4f1f ldr r7, [pc, #124] ; (43a8 ) + 4312: 4f1f ldr r7, [pc, #124] ; (4390 ) i->signal_cb(i, LV_SIGNAL_PARENT_SIZE_CHG, &ori); - 432c: 69eb ldr r3, [r5, #28] - 432e: aa02 add r2, sp, #8 - 4330: 4641 mov r1, r8 - 4332: 4628 mov r0, r5 - 4334: 4798 blx r3 + 4314: 69eb ldr r3, [r5, #28] + 4316: aa02 add r2, sp, #8 + 4318: 4641 mov r1, r8 + 431a: 4628 mov r0, r5 + 431c: 4798 blx r3 _LV_LL_READ(obj->child_ll, i) { - 4336: 4629 mov r1, r5 - 4338: 4630 mov r0, r6 - 433a: 47b8 blx r7 - 433c: 4605 mov r5, r0 - 433e: 2800 cmp r0, #0 - 4340: d1f4 bne.n 432c + 431e: 4629 mov r1, r5 + 4320: 4630 mov r0, r6 + 4322: 47b8 blx r7 + 4324: 4605 mov r5, r0 + 4326: 2800 cmp r0, #0 + 4328: d1f4 bne.n 4314 lv_obj_invalidate(obj); - 4342: 4620 mov r0, r4 - 4344: 4b13 ldr r3, [pc, #76] ; (4394 ) - 4346: 4798 blx r3 + 432a: 4620 mov r0, r4 + 432c: 4b13 ldr r3, [pc, #76] ; (437c ) + 432e: 4798 blx r3 if(obj->realign.auto_realign) lv_obj_realign(obj); - 4348: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 - 434c: f013 0f01 tst.w r3, #1 - 4350: d10e bne.n 4370 + 4330: f894 3049 ldrb.w r3, [r4, #73] ; 0x49 + 4334: f013 0f01 tst.w r3, #1 + 4338: d10e bne.n 4358 } - 4352: b004 add sp, #16 - 4354: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 433a: b004 add sp, #16 + 433c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(lv_obj_get_width(obj) == w && lv_obj_get_height(obj) == h) { - 4358: 4620 mov r0, r4 - 435a: 4b14 ldr r3, [pc, #80] ; (43ac ) - 435c: 4798 blx r3 - 435e: 42b0 cmp r0, r6 - 4360: d1ba bne.n 42d8 - 4362: e7f6 b.n 4352 + 4340: 4620 mov r0, r4 + 4342: 4b14 ldr r3, [pc, #80] ; (4394 ) + 4344: 4798 blx r3 + 4346: 42b0 cmp r0, r6 + 4348: d1ba bne.n 42c0 + 434a: e7f6 b.n 433a obj->coords.x1 = obj->coords.x2 - w + 1; - 4364: f1c5 0301 rsb r3, r5, #1 - 4368: 8aa2 ldrh r2, [r4, #20] - 436a: 4413 add r3, r2 - 436c: 8223 strh r3, [r4, #16] - 436e: e7c7 b.n 4300 + 434c: f1c5 0301 rsb r3, r5, #1 + 4350: 8aa2 ldrh r2, [r4, #20] + 4352: 4413 add r3, r2 + 4354: 8223 strh r3, [r4, #16] + 4356: e7c7 b.n 42e8 if(obj->realign.auto_realign) lv_obj_realign(obj); - 4370: 4620 mov r0, r4 - 4372: 4b0f ldr r3, [pc, #60] ; (43b0 ) - 4374: 4798 blx r3 - 4376: e7ec b.n 4352 - 4378: 000022b1 .word 0x000022b1 - 437c: 00024610 .word 0x00024610 - 4380: 000247dc .word 0x000247dc - 4384: 0001225d .word 0x0001225d - 4388: 0002483c .word 0x0002483c - 438c: 000022b9 .word 0x000022b9 - 4390: 00002f5d .word 0x00002f5d - 4394: 00003321 .word 0x00003321 - 4398: 00002e41 .word 0x00002e41 - 439c: 00003ddd .word 0x00003ddd - 43a0: 00002c7d .word 0x00002c7d - 43a4: 00011fa9 .word 0x00011fa9 - 43a8: 00011fbd .word 0x00011fbd - 43ac: 00002fad .word 0x00002fad - 43b0: 000039e1 .word 0x000039e1 - -000043b4 : -{ - 43b4: b530 push {r4, r5, lr} - 43b6: b083 sub sp, #12 - 43b8: 4604 mov r4, r0 - 43ba: 460d mov r5, r1 + 4358: 4620 mov r0, r4 + 435a: 4b0f ldr r3, [pc, #60] ; (4398 ) + 435c: 4798 blx r3 + 435e: e7ec b.n 433a + 4360: 00002299 .word 0x00002299 + 4364: 000245f8 .word 0x000245f8 + 4368: 000247c4 .word 0x000247c4 + 436c: 00012245 .word 0x00012245 + 4370: 00024824 .word 0x00024824 + 4374: 000022a1 .word 0x000022a1 + 4378: 00002f45 .word 0x00002f45 + 437c: 00003309 .word 0x00003309 + 4380: 00002e29 .word 0x00002e29 + 4384: 00003dc5 .word 0x00003dc5 + 4388: 00002c65 .word 0x00002c65 + 438c: 00011f91 .word 0x00011f91 + 4390: 00011fa5 .word 0x00011fa5 + 4394: 00002f95 .word 0x00002f95 + 4398: 000039c9 .word 0x000039c9 + +0000439c : +{ + 439c: b530 push {r4, r5, lr} + 439e: b083 sub sp, #12 + 43a0: 4604 mov r4, r0 + 43a2: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 43bc: 4b0d ldr r3, [pc, #52] ; (43f4 ) - 43be: 4798 blx r3 - 43c0: b968 cbnz r0, 43de - 43c2: 4b0d ldr r3, [pc, #52] ; (43f8 ) - 43c4: 9300 str r3, [sp, #0] - 43c6: f240 3227 movw r2, #807 ; 0x327 - 43ca: 490c ldr r1, [pc, #48] ; (43fc ) - 43cc: 2003 movs r0, #3 - 43ce: 4d0c ldr r5, [pc, #48] ; (4400 ) - 43d0: 47a8 blx r5 - 43d2: 4622 mov r2, r4 - 43d4: 2300 movs r3, #0 - 43d6: 480b ldr r0, [pc, #44] ; (4404 ) - 43d8: 490b ldr r1, [pc, #44] ; (4408 ) - 43da: 4788 blx r1 - 43dc: e7fe b.n 43dc + 43a4: 4b0d ldr r3, [pc, #52] ; (43dc ) + 43a6: 4798 blx r3 + 43a8: b968 cbnz r0, 43c6 + 43aa: 4b0d ldr r3, [pc, #52] ; (43e0 ) + 43ac: 9300 str r3, [sp, #0] + 43ae: f240 3227 movw r2, #807 ; 0x327 + 43b2: 490c ldr r1, [pc, #48] ; (43e4 ) + 43b4: 2003 movs r0, #3 + 43b6: 4d0c ldr r5, [pc, #48] ; (43e8 ) + 43b8: 47a8 blx r5 + 43ba: 4622 mov r2, r4 + 43bc: 2300 movs r3, #0 + 43be: 480b ldr r0, [pc, #44] ; (43ec ) + 43c0: 490b ldr r1, [pc, #44] ; (43f0 ) + 43c2: 4788 blx r1 + 43c4: e7fe b.n 43c4 lv_obj_set_size(obj, lv_obj_get_width(obj), h); - 43de: 4620 mov r0, r4 - 43e0: 4b0a ldr r3, [pc, #40] ; (440c ) - 43e2: 4798 blx r3 - 43e4: 462a mov r2, r5 - 43e6: 4601 mov r1, r0 - 43e8: 4620 mov r0, r4 - 43ea: 4b09 ldr r3, [pc, #36] ; (4410 ) - 43ec: 4798 blx r3 -} - 43ee: b003 add sp, #12 - 43f0: bd30 pop {r4, r5, pc} - 43f2: bf00 nop - 43f4: 000022b1 .word 0x000022b1 - 43f8: 00024634 .word 0x00024634 - 43fc: 000247dc .word 0x000247dc - 4400: 0001225d .word 0x0001225d - 4404: 0002483c .word 0x0002483c - 4408: 000022b9 .word 0x000022b9 - 440c: 00002f5d .word 0x00002f5d - 4410: 000042a1 .word 0x000042a1 - -00004414 : -{ - 4414: b530 push {r4, r5, lr} - 4416: b083 sub sp, #12 - 4418: 4604 mov r4, r0 - 441a: 460d mov r5, r1 + 43c6: 4620 mov r0, r4 + 43c8: 4b0a ldr r3, [pc, #40] ; (43f4 ) + 43ca: 4798 blx r3 + 43cc: 462a mov r2, r5 + 43ce: 4601 mov r1, r0 + 43d0: 4620 mov r0, r4 + 43d2: 4b09 ldr r3, [pc, #36] ; (43f8 ) + 43d4: 4798 blx r3 +} + 43d6: b003 add sp, #12 + 43d8: bd30 pop {r4, r5, pc} + 43da: bf00 nop + 43dc: 00002299 .word 0x00002299 + 43e0: 0002461c .word 0x0002461c + 43e4: 000247c4 .word 0x000247c4 + 43e8: 00012245 .word 0x00012245 + 43ec: 00024824 .word 0x00024824 + 43f0: 000022a1 .word 0x000022a1 + 43f4: 00002f45 .word 0x00002f45 + 43f8: 00004289 .word 0x00004289 + +000043fc : +{ + 43fc: b530 push {r4, r5, lr} + 43fe: b083 sub sp, #12 + 4400: 4604 mov r4, r0 + 4402: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 441c: 4b0c ldr r3, [pc, #48] ; (4450 ) - 441e: 4798 blx r3 - 4420: b138 cbz r0, 4432 + 4404: 4b0c ldr r3, [pc, #48] ; (4438 ) + 4406: 4798 blx r3 + 4408: b138 cbz r0, 441a return (obj->protect & prot) == 0 ? false : true; - 4422: f894 303c ldrb.w r3, [r4, #60] ; 0x3c - 4426: 421d tst r5, r3 -} - 4428: bf14 ite ne - 442a: 2001 movne r0, #1 - 442c: 2000 moveq r0, #0 - 442e: b003 add sp, #12 - 4430: bd30 pop {r4, r5, pc} + 440a: f894 303c ldrb.w r3, [r4, #60] ; 0x3c + 440e: 421d tst r5, r3 +} + 4410: bf14 ite ne + 4412: 2001 movne r0, #1 + 4414: 2000 moveq r0, #0 + 4416: b003 add sp, #12 + 4418: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4432: 4b08 ldr r3, [pc, #32] ; (4454 ) - 4434: 9300 str r3, [sp, #0] - 4436: f640 22d7 movw r2, #2775 ; 0xad7 - 443a: 4907 ldr r1, [pc, #28] ; (4458 ) - 443c: 2003 movs r0, #3 - 443e: 4d07 ldr r5, [pc, #28] ; (445c ) - 4440: 47a8 blx r5 - 4442: 4622 mov r2, r4 - 4444: 2300 movs r3, #0 - 4446: 4806 ldr r0, [pc, #24] ; (4460 ) - 4448: 4906 ldr r1, [pc, #24] ; (4464 ) - 444a: 4788 blx r1 - 444c: e7fe b.n 444c - 444e: bf00 nop - 4450: 000022b1 .word 0x000022b1 - 4454: 0002465c .word 0x0002465c - 4458: 000247dc .word 0x000247dc - 445c: 0001225d .word 0x0001225d - 4460: 0002483c .word 0x0002483c - 4464: 000022b9 .word 0x000022b9 - -00004468 : -{ - 4468: b530 push {r4, r5, lr} - 446a: b085 sub sp, #20 - 446c: 4604 mov r4, r0 - 446e: 460d mov r5, r1 + 441a: 4b08 ldr r3, [pc, #32] ; (443c ) + 441c: 9300 str r3, [sp, #0] + 441e: f640 22d7 movw r2, #2775 ; 0xad7 + 4422: 4907 ldr r1, [pc, #28] ; (4440 ) + 4424: 2003 movs r0, #3 + 4426: 4d07 ldr r5, [pc, #28] ; (4444 ) + 4428: 47a8 blx r5 + 442a: 4622 mov r2, r4 + 442c: 2300 movs r3, #0 + 442e: 4806 ldr r0, [pc, #24] ; (4448 ) + 4430: 4906 ldr r1, [pc, #24] ; (444c ) + 4432: 4788 blx r1 + 4434: e7fe b.n 4434 + 4436: bf00 nop + 4438: 00002299 .word 0x00002299 + 443c: 00024644 .word 0x00024644 + 4440: 000247c4 .word 0x000247c4 + 4444: 00012245 .word 0x00012245 + 4448: 00024824 .word 0x00024824 + 444c: 000022a1 .word 0x000022a1 + +00004450 : +{ + 4450: b530 push {r4, r5, lr} + 4452: b085 sub sp, #20 + 4454: 4604 mov r4, r0 + 4456: 460d mov r5, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4470: 4b11 ldr r3, [pc, #68] ; (44b8 ) - 4472: 4798 blx r3 - 4474: b128 cbz r0, 4482 + 4458: 4b11 ldr r3, [pc, #68] ; (44a0 ) + 445a: 4798 blx r3 + 445c: b128 cbz r0, 446a if(part < _LV_OBJ_PART_REAL_LAST) return ((lv_obj_t *)obj)->state; - 4476: 2d3f cmp r5, #63 ; 0x3f - 4478: d811 bhi.n 449e - 447a: f894 003d ldrb.w r0, [r4, #61] ; 0x3d + 445e: 2d3f cmp r5, #63 ; 0x3f + 4460: d811 bhi.n 4486 + 4462: f894 003d ldrb.w r0, [r4, #61] ; 0x3d } - 447e: b005 add sp, #20 - 4480: bd30 pop {r4, r5, pc} + 4466: b005 add sp, #20 + 4468: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4482: 4b0e ldr r3, [pc, #56] ; (44bc ) - 4484: 9300 str r3, [sp, #0] - 4486: f640 22de movw r2, #2782 ; 0xade - 448a: 490d ldr r1, [pc, #52] ; (44c0 ) - 448c: 2003 movs r0, #3 - 448e: 4d0d ldr r5, [pc, #52] ; (44c4 ) - 4490: 47a8 blx r5 - 4492: 4622 mov r2, r4 - 4494: 2300 movs r3, #0 - 4496: 480c ldr r0, [pc, #48] ; (44c8 ) - 4498: 490c ldr r1, [pc, #48] ; (44cc ) - 449a: 4788 blx r1 - 449c: e7fe b.n 449c + 446a: 4b0e ldr r3, [pc, #56] ; (44a4 ) + 446c: 9300 str r3, [sp, #0] + 446e: f640 22de movw r2, #2782 ; 0xade + 4472: 490d ldr r1, [pc, #52] ; (44a8 ) + 4474: 2003 movs r0, #3 + 4476: 4d0d ldr r5, [pc, #52] ; (44ac ) + 4478: 47a8 blx r5 + 447a: 4622 mov r2, r4 + 447c: 2300 movs r3, #0 + 447e: 480c ldr r0, [pc, #48] ; (44b0 ) + 4480: 490c ldr r1, [pc, #48] ; (44b4 ) + 4482: 4788 blx r1 + 4484: e7fe b.n 4484 info.part = part; - 449e: f88d 500c strb.w r5, [sp, #12] + 4486: f88d 500c strb.w r5, [sp, #12] info.result = LV_STATE_DEFAULT; - 44a2: 2300 movs r3, #0 - 44a4: f88d 300d strb.w r3, [sp, #13] + 448a: 2300 movs r3, #0 + 448c: f88d 300d strb.w r3, [sp, #13] lv_signal_send((lv_obj_t *)obj, LV_SIGNAL_GET_STATE_DSC, &info); - 44a8: aa03 add r2, sp, #12 - 44aa: 2109 movs r1, #9 - 44ac: 4620 mov r0, r4 - 44ae: 4b08 ldr r3, [pc, #32] ; (44d0 ) - 44b0: 4798 blx r3 + 4490: aa03 add r2, sp, #12 + 4492: 2109 movs r1, #9 + 4494: 4620 mov r0, r4 + 4496: 4b08 ldr r3, [pc, #32] ; (44b8 ) + 4498: 4798 blx r3 return info.result; - 44b2: f89d 000d ldrb.w r0, [sp, #13] - 44b6: e7e2 b.n 447e - 44b8: 000022b1 .word 0x000022b1 - 44bc: 00024670 .word 0x00024670 - 44c0: 000247dc .word 0x000247dc - 44c4: 0001225d .word 0x0001225d - 44c8: 0002483c .word 0x0002483c - 44cc: 000022b9 .word 0x000022b9 - 44d0: 00002b75 .word 0x00002b75 - -000044d4 <_lv_obj_get_style_int>: -{ - 44d4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 44d8: b085 sub sp, #20 - 44da: 4617 mov r7, r2 + 449a: f89d 000d ldrb.w r0, [sp, #13] + 449e: e7e2 b.n 4466 + 44a0: 00002299 .word 0x00002299 + 44a4: 00024658 .word 0x00024658 + 44a8: 000247c4 .word 0x000247c4 + 44ac: 00012245 .word 0x00012245 + 44b0: 00024824 .word 0x00024824 + 44b4: 000022a1 .word 0x000022a1 + 44b8: 00002b5d .word 0x00002b5d + +000044bc <_lv_obj_get_style_int>: +{ + 44bc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 44c0: b085 sub sp, #20 + 44c2: 4617 mov r7, r2 while(parent) { - 44dc: b360 cbz r0, 4538 <_lv_obj_get_style_int+0x64> - 44de: 460d mov r5, r1 - 44e0: ea4f 2b12 mov.w fp, r2, lsr #8 - 44e4: 4606 mov r6, r0 + 44c4: b360 cbz r0, 4520 <_lv_obj_get_style_int+0x64> + 44c6: 460d mov r5, r1 + 44c8: ea4f 2b12 mov.w fp, r2, lsr #8 + 44cc: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 44e6: f8df a08c ldr.w sl, [pc, #140] ; 4574 <_lv_obj_get_style_int+0xa0> + 44ce: f8df a08c ldr.w sl, [pc, #140] ; 455c <_lv_obj_get_style_int+0xa0> lv_state_t state = lv_obj_get_state(parent, part); - 44ea: f8df 908c ldr.w r9, [pc, #140] ; 4578 <_lv_obj_get_style_int+0xa4> + 44d2: f8df 908c ldr.w r9, [pc, #140] ; 4560 <_lv_obj_get_style_int+0xa4> res = _lv_style_list_get_int(dsc, prop, &value_act); - 44ee: f8df 808c ldr.w r8, [pc, #140] ; 457c <_lv_obj_get_style_int+0xa8> - 44f2: e006 b.n 4502 <_lv_obj_get_style_int+0x2e> + 44d6: f8df 808c ldr.w r8, [pc, #140] ; 4564 <_lv_obj_get_style_int+0xa8> + 44da: e006 b.n 44ea <_lv_obj_get_style_int+0x2e> if(res == LV_RES_OK) return value_act; - 44f4: f9bd 000e ldrsh.w r0, [sp, #14] + 44dc: f9bd 000e ldrsh.w r0, [sp, #14] } - 44f8: b005 add sp, #20 - 44fa: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 44fe: 2500 movs r5, #0 + 44e0: b005 add sp, #20 + 44e2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 44e6: 2500 movs r5, #0 while(parent) { - 4500: b1de cbz r6, 453a <_lv_obj_get_style_int+0x66> + 44e8: b1de cbz r6, 4522 <_lv_obj_get_style_int+0x66> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4502: 4629 mov r1, r5 - 4504: 4630 mov r0, r6 - 4506: 47d0 blx sl - 4508: 9001 str r0, [sp, #4] + 44ea: 4629 mov r1, r5 + 44ec: 4630 mov r0, r6 + 44ee: 47d0 blx sl + 44f0: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 450a: 4629 mov r1, r5 - 450c: 4630 mov r0, r6 - 450e: 47c8 blx r9 + 44f2: 4629 mov r1, r5 + 44f4: 4630 mov r0, r6 + 44f6: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 4510: eb07 2000 add.w r0, r7, r0, lsl #8 - 4514: b284 uxth r4, r0 + 44f8: eb07 2000 add.w r0, r7, r0, lsl #8 + 44fc: b284 uxth r4, r0 res = _lv_style_list_get_int(dsc, prop, &value_act); - 4516: f10d 020e add.w r2, sp, #14 - 451a: 4621 mov r1, r4 - 451c: 9801 ldr r0, [sp, #4] - 451e: 47c0 blx r8 + 44fe: f10d 020e add.w r2, sp, #14 + 4502: 4621 mov r1, r4 + 4504: 9801 ldr r0, [sp, #4] + 4506: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 4520: 2801 cmp r0, #1 - 4522: d0e7 beq.n 44f4 <_lv_obj_get_style_int+0x20> + 4508: 2801 cmp r0, #1 + 450a: d0e7 beq.n 44dc <_lv_obj_get_style_int+0x20> if(attr.bits.inherit == 0) break; - 4524: f01b 0f80 tst.w fp, #128 ; 0x80 - 4528: d007 beq.n 453a <_lv_obj_get_style_int+0x66> + 450c: f01b 0f80 tst.w fp, #128 ; 0x80 + 4510: d007 beq.n 4522 <_lv_obj_get_style_int+0x66> if(part != LV_OBJ_PART_MAIN) { - 452a: 2d00 cmp r5, #0 - 452c: d1e7 bne.n 44fe <_lv_obj_get_style_int+0x2a> + 4512: 2d00 cmp r5, #0 + 4514: d1e7 bne.n 44e6 <_lv_obj_get_style_int+0x2a> parent = lv_obj_get_parent(parent); - 452e: 4630 mov r0, r6 - 4530: 4b0f ldr r3, [pc, #60] ; (4570 <_lv_obj_get_style_int+0x9c>) - 4532: 4798 blx r3 - 4534: 4606 mov r6, r0 - 4536: e7e2 b.n 44fe <_lv_obj_get_style_int+0x2a> + 4516: 4630 mov r0, r6 + 4518: 4b0f ldr r3, [pc, #60] ; (4558 <_lv_obj_get_style_int+0x9c>) + 451a: 4798 blx r3 + 451c: 4606 mov r6, r0 + 451e: e7e2 b.n 44e6 <_lv_obj_get_style_int+0x2a> while(parent) { - 4538: 4614 mov r4, r2 + 4520: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 453a: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 4522: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 453e: b2a4 uxth r4, r4 - 4540: 2c22 cmp r4, #34 ; 0x22 - 4542: d00f beq.n 4564 <_lv_obj_get_style_int+0x90> - 4544: d806 bhi.n 4554 <_lv_obj_get_style_int+0x80> - 4546: 2c03 cmp r4, #3 - 4548: d00a beq.n 4560 <_lv_obj_get_style_int+0x8c> - 454a: 2c07 cmp r4, #7 - 454c: d10c bne.n 4568 <_lv_obj_get_style_int+0x94> + 4526: b2a4 uxth r4, r4 + 4528: 2c22 cmp r4, #34 ; 0x22 + 452a: d00f beq.n 454c <_lv_obj_get_style_int+0x90> + 452c: d806 bhi.n 453c <_lv_obj_get_style_int+0x80> + 452e: 2c03 cmp r4, #3 + 4530: d00a beq.n 4548 <_lv_obj_get_style_int+0x8c> + 4532: 2c07 cmp r4, #7 + 4534: d10c bne.n 4550 <_lv_obj_get_style_int+0x94> return LV_IMG_ZOOM_NONE; - 454e: f44f 7080 mov.w r0, #256 ; 0x100 - 4552: e7d1 b.n 44f8 <_lv_obj_get_style_int+0x24> + 4536: f44f 7080 mov.w r0, #256 ; 0x100 + 453a: e7d1 b.n 44e0 <_lv_obj_get_style_int+0x24> switch(prop) { - 4554: 2c31 cmp r4, #49 ; 0x31 - 4556: d009 beq.n 456c <_lv_obj_get_style_int+0x98> - 4558: 2cc0 cmp r4, #192 ; 0xc0 - 455a: d105 bne.n 4568 <_lv_obj_get_style_int+0x94> + 453c: 2c31 cmp r4, #49 ; 0x31 + 453e: d009 beq.n 4554 <_lv_obj_get_style_int+0x98> + 4540: 2cc0 cmp r4, #192 ; 0xc0 + 4542: d105 bne.n 4550 <_lv_obj_get_style_int+0x94> return LV_DPI / 8; - 455c: 2010 movs r0, #16 - 455e: e7cb b.n 44f8 <_lv_obj_get_style_int+0x24> + 4544: 2010 movs r0, #16 + 4546: e7cb b.n 44e0 <_lv_obj_get_style_int+0x24> return LV_DPI / 20; - 4560: 2006 movs r0, #6 - 4562: e7c9 b.n 44f8 <_lv_obj_get_style_int+0x24> + 4548: 2006 movs r0, #6 + 454a: e7c9 b.n 44e0 <_lv_obj_get_style_int+0x24> return 255; - 4564: 20ff movs r0, #255 ; 0xff - 4566: e7c7 b.n 44f8 <_lv_obj_get_style_int+0x24> + 454c: 20ff movs r0, #255 ; 0xff + 454e: e7c7 b.n 44e0 <_lv_obj_get_style_int+0x24> return 0; - 4568: 2000 movs r0, #0 - 456a: e7c5 b.n 44f8 <_lv_obj_get_style_int+0x24> + 4550: 2000 movs r0, #0 + 4552: e7c5 b.n 44e0 <_lv_obj_get_style_int+0x24> return LV_BORDER_SIDE_FULL; - 456c: 200f movs r0, #15 - 456e: e7c3 b.n 44f8 <_lv_obj_get_style_int+0x24> - 4570: 00002c7d .word 0x00002c7d - 4574: 00002ffd .word 0x00002ffd - 4578: 00004469 .word 0x00004469 - 457c: 000072e5 .word 0x000072e5 - -00004580 <_lv_obj_get_style_color>: -{ - 4580: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4584: b085 sub sp, #20 - 4586: 4617 mov r7, r2 + 4554: 200f movs r0, #15 + 4556: e7c3 b.n 44e0 <_lv_obj_get_style_int+0x24> + 4558: 00002c65 .word 0x00002c65 + 455c: 00002fe5 .word 0x00002fe5 + 4560: 00004451 .word 0x00004451 + 4564: 000072cd .word 0x000072cd + +00004568 <_lv_obj_get_style_color>: +{ + 4568: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 456c: b085 sub sp, #20 + 456e: 4617 mov r7, r2 while(parent) { - 4588: b348 cbz r0, 45de <_lv_obj_get_style_color+0x5e> - 458a: 460d mov r5, r1 - 458c: ea4f 2b12 mov.w fp, r2, lsr #8 - 4590: 4606 mov r6, r0 + 4570: b348 cbz r0, 45c6 <_lv_obj_get_style_color+0x5e> + 4572: 460d mov r5, r1 + 4574: ea4f 2b12 mov.w fp, r2, lsr #8 + 4578: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4592: f8df a06c ldr.w sl, [pc, #108] ; 4600 <_lv_obj_get_style_color+0x80> + 457a: f8df a06c ldr.w sl, [pc, #108] ; 45e8 <_lv_obj_get_style_color+0x80> lv_state_t state = lv_obj_get_state(parent, part); - 4596: f8df 906c ldr.w r9, [pc, #108] ; 4604 <_lv_obj_get_style_color+0x84> + 457e: f8df 906c ldr.w r9, [pc, #108] ; 45ec <_lv_obj_get_style_color+0x84> res = _lv_style_list_get_color(dsc, prop, &value_act); - 459a: f8df 806c ldr.w r8, [pc, #108] ; 4608 <_lv_obj_get_style_color+0x88> - 459e: e004 b.n 45aa <_lv_obj_get_style_color+0x2a> + 4582: f8df 806c ldr.w r8, [pc, #108] ; 45f0 <_lv_obj_get_style_color+0x88> + 4586: e004 b.n 4592 <_lv_obj_get_style_color+0x2a> if(res == LV_RES_OK) return value_act; - 45a0: f8bd 000c ldrh.w r0, [sp, #12] - 45a4: e025 b.n 45f2 <_lv_obj_get_style_color+0x72> - 45a6: 2500 movs r5, #0 + 4588: f8bd 000c ldrh.w r0, [sp, #12] + 458c: e025 b.n 45da <_lv_obj_get_style_color+0x72> + 458e: 2500 movs r5, #0 while(parent) { - 45a8: b1d6 cbz r6, 45e0 <_lv_obj_get_style_color+0x60> + 4590: b1d6 cbz r6, 45c8 <_lv_obj_get_style_color+0x60> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 45aa: 4629 mov r1, r5 - 45ac: 4630 mov r0, r6 - 45ae: 47d0 blx sl - 45b0: 9001 str r0, [sp, #4] + 4592: 4629 mov r1, r5 + 4594: 4630 mov r0, r6 + 4596: 47d0 blx sl + 4598: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 45b2: 4629 mov r1, r5 - 45b4: 4630 mov r0, r6 - 45b6: 47c8 blx r9 + 459a: 4629 mov r1, r5 + 459c: 4630 mov r0, r6 + 459e: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 45b8: eb07 2000 add.w r0, r7, r0, lsl #8 - 45bc: b284 uxth r4, r0 + 45a0: eb07 2000 add.w r0, r7, r0, lsl #8 + 45a4: b284 uxth r4, r0 res = _lv_style_list_get_color(dsc, prop, &value_act); - 45be: aa03 add r2, sp, #12 - 45c0: 4621 mov r1, r4 - 45c2: 9801 ldr r0, [sp, #4] - 45c4: 47c0 blx r8 + 45a6: aa03 add r2, sp, #12 + 45a8: 4621 mov r1, r4 + 45aa: 9801 ldr r0, [sp, #4] + 45ac: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 45c6: 2801 cmp r0, #1 - 45c8: d0ea beq.n 45a0 <_lv_obj_get_style_color+0x20> + 45ae: 2801 cmp r0, #1 + 45b0: d0ea beq.n 4588 <_lv_obj_get_style_color+0x20> if(attr.bits.inherit == 0) break; - 45ca: f01b 0f80 tst.w fp, #128 ; 0x80 - 45ce: d007 beq.n 45e0 <_lv_obj_get_style_color+0x60> + 45b2: f01b 0f80 tst.w fp, #128 ; 0x80 + 45b6: d007 beq.n 45c8 <_lv_obj_get_style_color+0x60> if(part != LV_OBJ_PART_MAIN) { - 45d0: 2d00 cmp r5, #0 - 45d2: d1e8 bne.n 45a6 <_lv_obj_get_style_color+0x26> + 45b8: 2d00 cmp r5, #0 + 45ba: d1e8 bne.n 458e <_lv_obj_get_style_color+0x26> parent = lv_obj_get_parent(parent); - 45d4: 4630 mov r0, r6 - 45d6: 4b08 ldr r3, [pc, #32] ; (45f8 <_lv_obj_get_style_color+0x78>) - 45d8: 4798 blx r3 - 45da: 4606 mov r6, r0 - 45dc: e7e3 b.n 45a6 <_lv_obj_get_style_color+0x26> + 45bc: 4630 mov r0, r6 + 45be: 4b08 ldr r3, [pc, #32] ; (45e0 <_lv_obj_get_style_color+0x78>) + 45c0: 4798 blx r3 + 45c2: 4606 mov r6, r0 + 45c4: e7e3 b.n 458e <_lv_obj_get_style_color+0x26> while(parent) { - 45de: 4614 mov r4, r2 + 45c6: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 45e0: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 45c8: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 45e4: 3c29 subs r4, #41 ; 0x29 - 45e6: 2c01 cmp r4, #1 + 45cc: 3c29 subs r4, #41 ; 0x29 + 45ce: 2c01 cmp r4, #1 return LV_COLOR_WHITE; - 45e8: bf9a itte ls - 45ea: 4b04 ldrls r3, [pc, #16] ; (45fc <_lv_obj_get_style_color+0x7c>) - 45ec: f8b3 0674 ldrhls.w r0, [r3, #1652] ; 0x674 + 45d0: bf9a itte ls + 45d2: 4b04 ldrls r3, [pc, #16] ; (45e4 <_lv_obj_get_style_color+0x7c>) + 45d4: f8b3 0674 ldrhls.w r0, [r3, #1652] ; 0x674 return LV_COLOR_BLACK; - 45f0: 2000 movhi r0, #0 + 45d8: 2000 movhi r0, #0 } - 45f2: b005 add sp, #20 - 45f4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 45f8: 00002c7d .word 0x00002c7d - 45fc: 00024058 .word 0x00024058 - 4600: 00002ffd .word 0x00002ffd - 4604: 00004469 .word 0x00004469 - 4608: 000073a9 .word 0x000073a9 + 45da: b005 add sp, #20 + 45dc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 45e0: 00002c65 .word 0x00002c65 + 45e4: 00024040 .word 0x00024040 + 45e8: 00002fe5 .word 0x00002fe5 + 45ec: 00004451 .word 0x00004451 + 45f0: 00007391 .word 0x00007391 -0000460c <_lv_obj_get_style_opa>: +000045f4 <_lv_obj_get_style_opa>: { - 460c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 4610: b085 sub sp, #20 - 4612: 4617 mov r7, r2 + 45f4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 45f8: b085 sub sp, #20 + 45fa: 4617 mov r7, r2 while(parent) { - 4614: b350 cbz r0, 466c <_lv_obj_get_style_opa+0x60> - 4616: 460d mov r5, r1 - 4618: ea4f 2b12 mov.w fp, r2, lsr #8 - 461c: 4606 mov r6, r0 + 45fc: b350 cbz r0, 4654 <_lv_obj_get_style_opa+0x60> + 45fe: 460d mov r5, r1 + 4600: ea4f 2b12 mov.w fp, r2, lsr #8 + 4604: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 461e: f8df a074 ldr.w sl, [pc, #116] ; 4694 <_lv_obj_get_style_opa+0x88> + 4606: f8df a074 ldr.w sl, [pc, #116] ; 467c <_lv_obj_get_style_opa+0x88> lv_state_t state = lv_obj_get_state(parent, part); - 4622: f8df 9074 ldr.w r9, [pc, #116] ; 4698 <_lv_obj_get_style_opa+0x8c> + 460a: f8df 9074 ldr.w r9, [pc, #116] ; 4680 <_lv_obj_get_style_opa+0x8c> res = _lv_style_list_get_opa(dsc, prop, &value_act); - 4626: f8df 8074 ldr.w r8, [pc, #116] ; 469c <_lv_obj_get_style_opa+0x90> - 462a: e004 b.n 4636 <_lv_obj_get_style_opa+0x2a> + 460e: f8df 8074 ldr.w r8, [pc, #116] ; 4684 <_lv_obj_get_style_opa+0x90> + 4612: e004 b.n 461e <_lv_obj_get_style_opa+0x2a> if(res == LV_RES_OK) return value_act; - 462c: f89d 000f ldrb.w r0, [sp, #15] - 4630: e029 b.n 4686 <_lv_obj_get_style_opa+0x7a> - 4632: 2500 movs r5, #0 + 4614: f89d 000f ldrb.w r0, [sp, #15] + 4618: e029 b.n 466e <_lv_obj_get_style_opa+0x7a> + 461a: 2500 movs r5, #0 while(parent) { - 4634: b1de cbz r6, 466e <_lv_obj_get_style_opa+0x62> + 461c: b1de cbz r6, 4656 <_lv_obj_get_style_opa+0x62> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 4636: 4629 mov r1, r5 - 4638: 4630 mov r0, r6 - 463a: 47d0 blx sl - 463c: 9001 str r0, [sp, #4] + 461e: 4629 mov r1, r5 + 4620: 4630 mov r0, r6 + 4622: 47d0 blx sl + 4624: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 463e: 4629 mov r1, r5 - 4640: 4630 mov r0, r6 - 4642: 47c8 blx r9 + 4626: 4629 mov r1, r5 + 4628: 4630 mov r0, r6 + 462a: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 4644: eb07 2000 add.w r0, r7, r0, lsl #8 - 4648: b284 uxth r4, r0 + 462c: eb07 2000 add.w r0, r7, r0, lsl #8 + 4630: b284 uxth r4, r0 res = _lv_style_list_get_opa(dsc, prop, &value_act); - 464a: f10d 020f add.w r2, sp, #15 - 464e: 4621 mov r1, r4 - 4650: 9801 ldr r0, [sp, #4] - 4652: 47c0 blx r8 + 4632: f10d 020f add.w r2, sp, #15 + 4636: 4621 mov r1, r4 + 4638: 9801 ldr r0, [sp, #4] + 463a: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 4654: 2801 cmp r0, #1 - 4656: d0e9 beq.n 462c <_lv_obj_get_style_opa+0x20> + 463c: 2801 cmp r0, #1 + 463e: d0e9 beq.n 4614 <_lv_obj_get_style_opa+0x20> if(attr.bits.inherit == 0) break; - 4658: f01b 0f80 tst.w fp, #128 ; 0x80 - 465c: d007 beq.n 466e <_lv_obj_get_style_opa+0x62> + 4640: f01b 0f80 tst.w fp, #128 ; 0x80 + 4644: d007 beq.n 4656 <_lv_obj_get_style_opa+0x62> if(part != LV_OBJ_PART_MAIN) { - 465e: 2d00 cmp r5, #0 - 4660: d1e7 bne.n 4632 <_lv_obj_get_style_opa+0x26> + 4646: 2d00 cmp r5, #0 + 4648: d1e7 bne.n 461a <_lv_obj_get_style_opa+0x26> parent = lv_obj_get_parent(parent); - 4662: 4630 mov r0, r6 - 4664: 4b0a ldr r3, [pc, #40] ; (4690 <_lv_obj_get_style_opa+0x84>) - 4666: 4798 blx r3 - 4668: 4606 mov r6, r0 - 466a: e7e2 b.n 4632 <_lv_obj_get_style_opa+0x26> + 464a: 4630 mov r0, r6 + 464c: 4b0a ldr r3, [pc, #40] ; (4678 <_lv_obj_get_style_opa+0x84>) + 464e: 4798 blx r3 + 4650: 4606 mov r6, r0 + 4652: e7e2 b.n 461a <_lv_obj_get_style_opa+0x26> while(parent) { - 466c: 4614 mov r4, r2 + 4654: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 466e: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 4656: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 4672: b2a4 uxth r4, r4 - 4674: 2c6d cmp r4, #109 ; 0x6d - 4676: d009 beq.n 468c <_lv_obj_get_style_opa+0x80> - 4678: f248 03ad movw r3, #32941 ; 0x80ad - 467c: 429c cmp r4, r3 - 467e: d005 beq.n 468c <_lv_obj_get_style_opa+0x80> - 4680: 2c2c cmp r4, #44 ; 0x2c - 4682: d003 beq.n 468c <_lv_obj_get_style_opa+0x80> + 465a: b2a4 uxth r4, r4 + 465c: 2c6d cmp r4, #109 ; 0x6d + 465e: d009 beq.n 4674 <_lv_obj_get_style_opa+0x80> + 4660: f248 03ad movw r3, #32941 ; 0x80ad + 4664: 429c cmp r4, r3 + 4666: d005 beq.n 4674 <_lv_obj_get_style_opa+0x80> + 4668: 2c2c cmp r4, #44 ; 0x2c + 466a: d003 beq.n 4674 <_lv_obj_get_style_opa+0x80> return LV_OPA_COVER; - 4684: 20ff movs r0, #255 ; 0xff + 466c: 20ff movs r0, #255 ; 0xff } - 4686: b005 add sp, #20 - 4688: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 466e: b005 add sp, #20 + 4670: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} return LV_OPA_TRANSP; - 468c: 2000 movs r0, #0 - 468e: e7fa b.n 4686 <_lv_obj_get_style_opa+0x7a> - 4690: 00002c7d .word 0x00002c7d - 4694: 00002ffd .word 0x00002ffd - 4698: 00004469 .word 0x00004469 - 469c: 0000746d .word 0x0000746d - -000046a0 <_lv_obj_get_style_ptr>: -{ - 46a0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 46a4: b085 sub sp, #20 - 46a6: 4617 mov r7, r2 + 4674: 2000 movs r0, #0 + 4676: e7fa b.n 466e <_lv_obj_get_style_opa+0x7a> + 4678: 00002c65 .word 0x00002c65 + 467c: 00002fe5 .word 0x00002fe5 + 4680: 00004451 .word 0x00004451 + 4684: 00007455 .word 0x00007455 + +00004688 <_lv_obj_get_style_ptr>: +{ + 4688: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 468c: b085 sub sp, #20 + 468e: 4617 mov r7, r2 while(parent) { - 46a8: b350 cbz r0, 4700 <_lv_obj_get_style_ptr+0x60> - 46aa: 460d mov r5, r1 - 46ac: ea4f 2b12 mov.w fp, r2, lsr #8 - 46b0: 4606 mov r6, r0 + 4690: b350 cbz r0, 46e8 <_lv_obj_get_style_ptr+0x60> + 4692: 460d mov r5, r1 + 4694: ea4f 2b12 mov.w fp, r2, lsr #8 + 4698: 4606 mov r6, r0 lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 46b2: f8df a080 ldr.w sl, [pc, #128] ; 4734 <_lv_obj_get_style_ptr+0x94> + 469a: f8df a080 ldr.w sl, [pc, #128] ; 471c <_lv_obj_get_style_ptr+0x94> lv_state_t state = lv_obj_get_state(parent, part); - 46b6: f8df 9080 ldr.w r9, [pc, #128] ; 4738 <_lv_obj_get_style_ptr+0x98> + 469e: f8df 9080 ldr.w r9, [pc, #128] ; 4720 <_lv_obj_get_style_ptr+0x98> res = _lv_style_list_get_ptr(dsc, prop, &value_act); - 46ba: f8df 8080 ldr.w r8, [pc, #128] ; 473c <_lv_obj_get_style_ptr+0x9c> - 46be: e005 b.n 46cc <_lv_obj_get_style_ptr+0x2c> + 46a2: f8df 8080 ldr.w r8, [pc, #128] ; 4724 <_lv_obj_get_style_ptr+0x9c> + 46a6: e005 b.n 46b4 <_lv_obj_get_style_ptr+0x2c> if(res == LV_RES_OK) return value_act; - 46c0: 9803 ldr r0, [sp, #12] + 46a8: 9803 ldr r0, [sp, #12] } - 46c2: b005 add sp, #20 - 46c4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 46c8: 2500 movs r5, #0 + 46aa: b005 add sp, #20 + 46ac: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 46b0: 2500 movs r5, #0 while(parent) { - 46ca: b1d6 cbz r6, 4702 <_lv_obj_get_style_ptr+0x62> + 46b2: b1d6 cbz r6, 46ea <_lv_obj_get_style_ptr+0x62> lv_style_list_t * dsc = lv_obj_get_style_list(parent, part); - 46cc: 4629 mov r1, r5 - 46ce: 4630 mov r0, r6 - 46d0: 47d0 blx sl - 46d2: 9001 str r0, [sp, #4] + 46b4: 4629 mov r1, r5 + 46b6: 4630 mov r0, r6 + 46b8: 47d0 blx sl + 46ba: 9001 str r0, [sp, #4] lv_state_t state = lv_obj_get_state(parent, part); - 46d4: 4629 mov r1, r5 - 46d6: 4630 mov r0, r6 - 46d8: 47c8 blx r9 + 46bc: 4629 mov r1, r5 + 46be: 4630 mov r0, r6 + 46c0: 47c8 blx r9 prop = (uint16_t)prop_ori + ((uint16_t)state << LV_STYLE_STATE_POS); - 46da: eb07 2000 add.w r0, r7, r0, lsl #8 - 46de: b284 uxth r4, r0 + 46c2: eb07 2000 add.w r0, r7, r0, lsl #8 + 46c6: b284 uxth r4, r0 res = _lv_style_list_get_ptr(dsc, prop, &value_act); - 46e0: aa03 add r2, sp, #12 - 46e2: 4621 mov r1, r4 - 46e4: 9801 ldr r0, [sp, #4] - 46e6: 47c0 blx r8 + 46c8: aa03 add r2, sp, #12 + 46ca: 4621 mov r1, r4 + 46cc: 9801 ldr r0, [sp, #4] + 46ce: 47c0 blx r8 if(res == LV_RES_OK) return value_act; - 46e8: 2801 cmp r0, #1 - 46ea: d0e9 beq.n 46c0 <_lv_obj_get_style_ptr+0x20> + 46d0: 2801 cmp r0, #1 + 46d2: d0e9 beq.n 46a8 <_lv_obj_get_style_ptr+0x20> if(attr.bits.inherit == 0) break; - 46ec: f01b 0f80 tst.w fp, #128 ; 0x80 - 46f0: d007 beq.n 4702 <_lv_obj_get_style_ptr+0x62> + 46d4: f01b 0f80 tst.w fp, #128 ; 0x80 + 46d8: d007 beq.n 46ea <_lv_obj_get_style_ptr+0x62> if(part != LV_OBJ_PART_MAIN) { - 46f2: 2d00 cmp r5, #0 - 46f4: d1e8 bne.n 46c8 <_lv_obj_get_style_ptr+0x28> + 46da: 2d00 cmp r5, #0 + 46dc: d1e8 bne.n 46b0 <_lv_obj_get_style_ptr+0x28> parent = lv_obj_get_parent(parent); - 46f6: 4630 mov r0, r6 - 46f8: 4b0b ldr r3, [pc, #44] ; (4728 <_lv_obj_get_style_ptr+0x88>) - 46fa: 4798 blx r3 - 46fc: 4606 mov r6, r0 - 46fe: e7e3 b.n 46c8 <_lv_obj_get_style_ptr+0x28> + 46de: 4630 mov r0, r6 + 46e0: 4b0b ldr r3, [pc, #44] ; (4710 <_lv_obj_get_style_ptr+0x88>) + 46e2: 4798 blx r3 + 46e4: 4606 mov r6, r0 + 46e6: e7e3 b.n 46b0 <_lv_obj_get_style_ptr+0x28> while(parent) { - 4700: 4614 mov r4, r2 + 46e8: 4614 mov r4, r2 prop = prop & (~LV_STYLE_STATE_MASK); - 4702: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 + 46ea: f424 44fe bic.w r4, r4, #32512 ; 0x7f00 switch(prop) { - 4706: b2a4 uxth r4, r4 - 4708: 2cbe cmp r4, #190 ; 0xbe - 470a: d00a beq.n 4722 <_lv_obj_get_style_ptr+0x82> - 470c: f248 038e movw r3, #32910 ; 0x808e - 4710: 429c cmp r4, r3 - 4712: d003 beq.n 471c <_lv_obj_get_style_ptr+0x7c> - 4714: 2c7e cmp r4, #126 ; 0x7e - 4716: d001 beq.n 471c <_lv_obj_get_style_ptr+0x7c> + 46ee: b2a4 uxth r4, r4 + 46f0: 2cbe cmp r4, #190 ; 0xbe + 46f2: d00a beq.n 470a <_lv_obj_get_style_ptr+0x82> + 46f4: f248 038e movw r3, #32910 ; 0x808e + 46f8: 429c cmp r4, r3 + 46fa: d003 beq.n 4704 <_lv_obj_get_style_ptr+0x7c> + 46fc: 2c7e cmp r4, #126 ; 0x7e + 46fe: d001 beq.n 4704 <_lv_obj_get_style_ptr+0x7c> return NULL; - 4718: 2000 movs r0, #0 - 471a: e7d2 b.n 46c2 <_lv_obj_get_style_ptr+0x22> + 4700: 2000 movs r0, #0 + 4702: e7d2 b.n 46aa <_lv_obj_get_style_ptr+0x22> return lv_theme_get_font_normal(); - 471c: 4b03 ldr r3, [pc, #12] ; (472c <_lv_obj_get_style_ptr+0x8c>) - 471e: 4798 blx r3 - 4720: e7cf b.n 46c2 <_lv_obj_get_style_ptr+0x22> + 4704: 4b03 ldr r3, [pc, #12] ; (4714 <_lv_obj_get_style_ptr+0x8c>) + 4706: 4798 blx r3 + 4708: e7cf b.n 46aa <_lv_obj_get_style_ptr+0x22> return &lv_anim_path_def; - 4722: 4803 ldr r0, [pc, #12] ; (4730 <_lv_obj_get_style_ptr+0x90>) - 4724: e7cd b.n 46c2 <_lv_obj_get_style_ptr+0x22> - 4726: bf00 nop - 4728: 00002c7d .word 0x00002c7d - 472c: 000141dd .word 0x000141dd - 4730: 00029200 .word 0x00029200 - 4734: 00002ffd .word 0x00002ffd - 4738: 00004469 .word 0x00004469 - 473c: 00007531 .word 0x00007531 - -00004740 : -{ - 4740: b570 push {r4, r5, r6, lr} + 470a: 4803 ldr r0, [pc, #12] ; (4718 <_lv_obj_get_style_ptr+0x90>) + 470c: e7cd b.n 46aa <_lv_obj_get_style_ptr+0x22> + 470e: bf00 nop + 4710: 00002c65 .word 0x00002c65 + 4714: 000141c5 .word 0x000141c5 + 4718: 000291e8 .word 0x000291e8 + 471c: 00002fe5 .word 0x00002fe5 + 4720: 00004451 .word 0x00004451 + 4724: 00007519 .word 0x00007519 + +00004728 : +{ + 4728: b570 push {r4, r5, r6, lr} lv_style_trans_t * tr = a->var; - 4742: 6804 ldr r4, [r0, #0] + 472a: 6804 ldr r4, [r0, #0] lv_style_property_t prop_tmp = tr->prop; - 4744: 88a5 ldrh r5, [r4, #4] + 472c: 88a5 ldrh r5, [r4, #4] if((prop_tmp & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/ - 4746: f005 030f and.w r3, r5, #15 - 474a: 2b08 cmp r3, #8 - 474c: dd13 ble.n 4776 + 472e: f005 030f and.w r3, r5, #15 + 4732: 2b08 cmp r3, #8 + 4734: dd13 ble.n 475e else if((prop_tmp & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 474e: 2b0b cmp r3, #11 - 4750: dd18 ble.n 4784 + 4736: 2b0b cmp r3, #11 + 4738: dd18 ble.n 476c else if((prop_tmp & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 4752: 2b0d cmp r3, #13 - 4754: dd1d ble.n 4792 + 473a: 2b0d cmp r3, #13 + 473c: dd1d ble.n 477a tr->start_value._ptr = _lv_obj_get_style_ptr(tr->obj, tr->part, prop_tmp); - 4756: 462a mov r2, r5 - 4758: 79a1 ldrb r1, [r4, #6] - 475a: 6820 ldr r0, [r4, #0] - 475c: 4b10 ldr r3, [pc, #64] ; (47a0 ) - 475e: 4798 blx r3 - 4760: 60a0 str r0, [r4, #8] + 473e: 462a mov r2, r5 + 4740: 79a1 ldrb r1, [r4, #6] + 4742: 6820 ldr r0, [r4, #0] + 4744: 4b10 ldr r3, [pc, #64] ; (4788 ) + 4746: 4798 blx r3 + 4748: 60a0 str r0, [r4, #8] tr->prop = 0; - 4762: 2300 movs r3, #0 - 4764: 80a3 strh r3, [r4, #4] + 474a: 2300 movs r3, #0 + 474c: 80a3 strh r3, [r4, #4] trans_del(tr->obj, tr->part, prop_tmp, tr); - 4766: 4623 mov r3, r4 - 4768: 462a mov r2, r5 - 476a: 79a1 ldrb r1, [r4, #6] - 476c: 6820 ldr r0, [r4, #0] - 476e: 4e0d ldr r6, [pc, #52] ; (47a4 ) - 4770: 47b0 blx r6 + 474e: 4623 mov r3, r4 + 4750: 462a mov r2, r5 + 4752: 79a1 ldrb r1, [r4, #6] + 4754: 6820 ldr r0, [r4, #0] + 4756: 4e0d ldr r6, [pc, #52] ; (478c ) + 4758: 47b0 blx r6 tr->prop = prop_tmp; - 4772: 80a5 strh r5, [r4, #4] - 4774: bd70 pop {r4, r5, r6, pc} + 475a: 80a5 strh r5, [r4, #4] + 475c: bd70 pop {r4, r5, r6, pc} tr->start_value._int = _lv_obj_get_style_int(tr->obj, tr->part, prop_tmp); - 4776: 462a mov r2, r5 - 4778: 79a1 ldrb r1, [r4, #6] - 477a: 6820 ldr r0, [r4, #0] - 477c: 4b0a ldr r3, [pc, #40] ; (47a8 ) - 477e: 4798 blx r3 - 4780: 8120 strh r0, [r4, #8] - 4782: e7ee b.n 4762 + 475e: 462a mov r2, r5 + 4760: 79a1 ldrb r1, [r4, #6] + 4762: 6820 ldr r0, [r4, #0] + 4764: 4b0a ldr r3, [pc, #40] ; (4790 ) + 4766: 4798 blx r3 + 4768: 8120 strh r0, [r4, #8] + 476a: e7ee b.n 474a tr->start_value._color = _lv_obj_get_style_color(tr->obj, tr->part, prop_tmp); - 4784: 462a mov r2, r5 - 4786: 79a1 ldrb r1, [r4, #6] - 4788: 6820 ldr r0, [r4, #0] - 478a: 4b08 ldr r3, [pc, #32] ; (47ac ) - 478c: 4798 blx r3 - 478e: 8120 strh r0, [r4, #8] - 4790: e7e7 b.n 4762 + 476c: 462a mov r2, r5 + 476e: 79a1 ldrb r1, [r4, #6] + 4770: 6820 ldr r0, [r4, #0] + 4772: 4b08 ldr r3, [pc, #32] ; (4794 ) + 4774: 4798 blx r3 + 4776: 8120 strh r0, [r4, #8] + 4778: e7e7 b.n 474a tr->start_value._opa = _lv_obj_get_style_opa(tr->obj, tr->part, prop_tmp); - 4792: 462a mov r2, r5 - 4794: 79a1 ldrb r1, [r4, #6] - 4796: 6820 ldr r0, [r4, #0] - 4798: 4b05 ldr r3, [pc, #20] ; (47b0 ) - 479a: 4798 blx r3 - 479c: 7220 strb r0, [r4, #8] - 479e: e7e0 b.n 4762 - 47a0: 000046a1 .word 0x000046a1 - 47a4: 00003029 .word 0x00003029 - 47a8: 000044d5 .word 0x000044d5 - 47ac: 00004581 .word 0x00004581 - 47b0: 0000460d .word 0x0000460d - -000047b4 : + 477a: 462a mov r2, r5 + 477c: 79a1 ldrb r1, [r4, #6] + 477e: 6820 ldr r0, [r4, #0] + 4780: 4b05 ldr r3, [pc, #20] ; (4798 ) + 4782: 4798 blx r3 + 4784: 7220 strb r0, [r4, #8] + 4786: e7e0 b.n 474a + 4788: 00004689 .word 0x00004689 + 478c: 00003011 .word 0x00003011 + 4790: 000044bd .word 0x000044bd + 4794: 00004569 .word 0x00004569 + 4798: 000045f5 .word 0x000045f5 + +0000479c : if(obj->state == new_state) return; - 47b4: f890 303d ldrb.w r3, [r0, #61] ; 0x3d - 47b8: 428b cmp r3, r1 - 47ba: f000 8252 beq.w 4c62 -{ - 47be: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 47c2: b0a1 sub sp, #132 ; 0x84 - 47c4: 4689 mov r9, r1 - 47c6: 4682 mov sl, r0 + 479c: f890 303d ldrb.w r3, [r0, #61] ; 0x3d + 47a0: 428b cmp r3, r1 + 47a2: f000 8252 beq.w 4c4a +{ + 47a6: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 47aa: b0a1 sub sp, #132 ; 0x84 + 47ac: 4689 mov r9, r1 + 47ae: 4682 mov sl, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 47c8: 4bab ldr r3, [pc, #684] ; (4a78 ) - 47ca: 4798 blx r3 - 47cc: b140 cbz r0, 47e0 + 47b0: 4bab ldr r3, [pc, #684] ; (4a60 ) + 47b2: 4798 blx r3 + 47b4: b140 cbz r0, 47c8 lv_state_t prev_state = obj->state; - 47ce: f89a b03d ldrb.w fp, [sl, #61] ; 0x3d + 47b6: f89a b03d ldrb.w fp, [sl, #61] ; 0x3d obj->state = new_state; - 47d2: f88a 903d strb.w r9, [sl, #61] ; 0x3d - 47d6: 2300 movs r3, #0 - 47d8: 9306 str r3, [sp, #24] + 47ba: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 47be: 2300 movs r3, #0 + 47c0: 9306 str r3, [sp, #24] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 47da: 4da8 ldr r5, [pc, #672] ; (4a7c ) + 47c2: 4da8 ldr r5, [pc, #672] ; (4a64 ) lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list); - 47dc: 46d8 mov r8, fp - 47de: e1d2 b.n 4b86 + 47c4: 46d8 mov r8, fp + 47c6: e1d2 b.n 4b6e LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 47e0: 4ba7 ldr r3, [pc, #668] ; (4a80 ) - 47e2: 9300 str r3, [sp, #0] - 47e4: f240 6237 movw r2, #1591 ; 0x637 - 47e8: 49a6 ldr r1, [pc, #664] ; (4a84 ) - 47ea: 2003 movs r0, #3 - 47ec: 4ca6 ldr r4, [pc, #664] ; (4a88 ) - 47ee: 47a0 blx r4 - 47f0: 4652 mov r2, sl - 47f2: 2300 movs r3, #0 - 47f4: 48a5 ldr r0, [pc, #660] ; (4a8c ) - 47f6: 49a6 ldr r1, [pc, #664] ; (4a90 ) - 47f8: 4788 blx r1 - 47fa: e7fe b.n 47fa + 47c8: 4ba7 ldr r3, [pc, #668] ; (4a68 ) + 47ca: 9300 str r3, [sp, #0] + 47cc: f240 6237 movw r2, #1591 ; 0x637 + 47d0: 49a6 ldr r1, [pc, #664] ; (4a6c ) + 47d2: 2003 movs r0, #3 + 47d4: 4ca6 ldr r4, [pc, #664] ; (4a70 ) + 47d6: 47a0 blx r4 + 47d8: 4652 mov r2, sl + 47da: 2300 movs r3, #0 + 47dc: 48a5 ldr r0, [pc, #660] ; (4a74 ) + 47de: 49a6 ldr r1, [pc, #664] ; (4a78 ) + 47e0: 4788 blx r1 + 47e2: e7fe b.n 47e2 style_list->skip_trans = 1; - 47fc: 7973 ldrb r3, [r6, #5] - 47fe: f043 0304 orr.w r3, r3, #4 - 4802: 7173 strb r3, [r6, #5] + 47e4: 7973 ldrb r3, [r6, #5] + 47e6: f043 0304 orr.w r3, r3, #4 + 47ea: 7173 strb r3, [r6, #5] obj->state = prev_state; - 4804: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 47ec: f88a 803d strb.w r8, [sl, #61] ; 0x3d lv_style_int_t int1 = _lv_obj_get_style_int(obj, part, prop); - 4808: 4622 mov r2, r4 - 480a: f8dd b00c ldr.w fp, [sp, #12] - 480e: 4659 mov r1, fp - 4810: 4650 mov r0, sl - 4812: 47a8 blx r5 - 4814: 4607 mov r7, r0 + 47f0: 4622 mov r2, r4 + 47f2: f8dd b00c ldr.w fp, [sp, #12] + 47f6: 4659 mov r1, fp + 47f8: 4650 mov r0, sl + 47fa: 47a8 blx r5 + 47fc: 4607 mov r7, r0 obj->state = new_state; - 4816: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 47fe: f88a 903d strb.w r9, [sl, #61] ; 0x3d lv_style_int_t int2 = _lv_obj_get_style_int(obj, part, prop); - 481a: 4622 mov r2, r4 - 481c: f8cd b00c str.w fp, [sp, #12] - 4820: 4659 mov r1, fp - 4822: 4650 mov r0, sl - 4824: 47a8 blx r5 - 4826: 4683 mov fp, r0 + 4802: 4622 mov r2, r4 + 4804: f8cd b00c str.w fp, [sp, #12] + 4808: 4659 mov r1, fp + 480a: 4650 mov r0, sl + 480c: 47a8 blx r5 + 480e: 4683 mov fp, r0 style_list->skip_trans = 0; - 4828: 7973 ldrb r3, [r6, #5] - 482a: f36f 0382 bfc r3, #2, #1 - 482e: 7173 strb r3, [r6, #5] + 4810: 7973 ldrb r3, [r6, #5] + 4812: f36f 0382 bfc r3, #2, #1 + 4816: 7173 strb r3, [r6, #5] if(int1 == int2) return NULL; - 4830: 4287 cmp r7, r0 - 4832: d04a beq.n 48ca + 4818: 4287 cmp r7, r0 + 481a: d04a beq.n 48b2 obj->state = prev_state; - 4834: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 481c: f88a 803d strb.w r8, [sl, #61] ; 0x3d int1 = _lv_obj_get_style_int(obj, part, prop); - 4838: 4622 mov r2, r4 - 483a: 9903 ldr r1, [sp, #12] - 483c: 4650 mov r0, sl - 483e: 47a8 blx r5 - 4840: 4606 mov r6, r0 + 4820: 4622 mov r2, r4 + 4822: 9903 ldr r1, [sp, #12] + 4824: 4650 mov r0, sl + 4826: 47a8 blx r5 + 4828: 4606 mov r6, r0 obj->state = new_state; - 4842: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 482a: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_int(style_trans, prop, int1); /*Be sure `trans_style` has a valid value */ - 4846: 4602 mov r2, r0 - 4848: 4621 mov r1, r4 - 484a: 9804 ldr r0, [sp, #16] - 484c: 4b91 ldr r3, [pc, #580] ; (4a94 ) - 484e: 4798 blx r3 + 482e: 4602 mov r2, r0 + 4830: 4621 mov r1, r4 + 4832: 9804 ldr r0, [sp, #16] + 4834: 4b91 ldr r3, [pc, #580] ; (4a7c ) + 4836: 4798 blx r3 if(prop == LV_STYLE_RADIUS) { - 4850: 2c01 cmp r4, #1 - 4852: f000 8094 beq.w 497e + 4838: 2c01 cmp r4, #1 + 483a: f000 8094 beq.w 4966 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 4856: 4890 ldr r0, [pc, #576] ; (4a98 ) - 4858: 4b90 ldr r3, [pc, #576] ; (4a9c ) - 485a: 4798 blx r3 - 485c: 4607 mov r7, r0 + 483e: 4890 ldr r0, [pc, #576] ; (4a80 ) + 4840: 4b90 ldr r3, [pc, #576] ; (4a84 ) + 4842: 4798 blx r3 + 4844: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 485e: 4b86 ldr r3, [pc, #536] ; (4a78 ) - 4860: 4798 blx r3 - 4862: 2800 cmp r0, #0 - 4864: f000 80a2 beq.w 49ac + 4846: 4b86 ldr r3, [pc, #536] ; (4a60 ) + 4848: 4798 blx r3 + 484a: 2800 cmp r0, #0 + 484c: f000 80a2 beq.w 4994 if(tr == NULL) return NULL; - 4868: 2f00 cmp r7, #0 - 486a: d02e beq.n 48ca + 4850: 2f00 cmp r7, #0 + 4852: d02e beq.n 48b2 tr->start_value._int = int1; - 486c: 813e strh r6, [r7, #8] + 4854: 813e strh r6, [r7, #8] tr->end_value._int = int2; - 486e: f8a7 b00c strh.w fp, [r7, #12] + 4856: f8a7 b00c strh.w fp, [r7, #12] tr->obj = obj; - 4872: f8c7 a000 str.w sl, [r7] + 485a: f8c7 a000 str.w sl, [r7] tr->prop = props[i]; - 4876: 80bc strh r4, [r7, #4] + 485e: 80bc strh r4, [r7, #4] tr->part = part; - 4878: f89d 300c ldrb.w r3, [sp, #12] - 487c: 71bb strb r3, [r7, #6] + 4860: f89d 300c ldrb.w r3, [sp, #12] + 4864: 71bb strb r3, [r7, #6] lv_anim_init(&a); - 487e: a810 add r0, sp, #64 ; 0x40 - 4880: 4b87 ldr r3, [pc, #540] ; (4aa0 ) - 4882: 4798 blx r3 + 4866: a810 add r0, sp, #64 ; 0x40 + 4868: 4b87 ldr r3, [pc, #540] ; (4a88 ) + 486a: 4798 blx r3 * @param a pointer to an initialized `lv_anim_t` variable * @param var pointer to a variable to animate */ static inline void lv_anim_set_var(lv_anim_t * a, void * var) { a->var = var; - 4884: 9710 str r7, [sp, #64] ; 0x40 + 486c: 9710 str r7, [sp, #64] ; 0x40 * LittelvGL's built-in functions can be used. * E.g. lv_obj_set_x */ static inline void lv_anim_set_exec_cb(lv_anim_t * a, lv_anim_exec_xcb_t exec_cb) { a->exec_cb = exec_cb; - 4886: 4b87 ldr r3, [pc, #540] ; (4aa4 ) - 4888: 9311 str r3, [sp, #68] ; 0x44 + 486e: 4b87 ldr r3, [pc, #540] ; (4a8c ) + 4870: 9311 str r3, [sp, #68] ; 0x44 * @param a pointer to an initialized `lv_anim_t` variable * @param start_cb a function call when the animation starts */ static inline void lv_anim_set_start_cb(lv_anim_t * a, lv_anim_ready_cb_t start_cb) { a->start_cb = start_cb; - 488a: 4b87 ldr r3, [pc, #540] ; (4aa8 ) - 488c: 9312 str r3, [sp, #72] ; 0x48 + 4872: 4b87 ldr r3, [pc, #540] ; (4a90 ) + 4874: 9312 str r3, [sp, #72] ; 0x48 * @param a pointer to an initialized `lv_anim_t` variable * @param ready_cb a function call when the animation is ready */ static inline void lv_anim_set_ready_cb(lv_anim_t * a, lv_anim_ready_cb_t ready_cb) { a->ready_cb = ready_cb; - 488e: 4b87 ldr r3, [pc, #540] ; (4aac ) - 4890: 9313 str r3, [sp, #76] ; 0x4c + 4876: 4b87 ldr r3, [pc, #540] ; (4a94 ) + 4878: 9313 str r3, [sp, #76] ; 0x4c a->start = start; - 4892: 2300 movs r3, #0 - 4894: 9316 str r3, [sp, #88] ; 0x58 + 487a: 2300 movs r3, #0 + 487c: 9316 str r3, [sp, #88] ; 0x58 a->end = end; - 4896: 23ff movs r3, #255 ; 0xff - 4898: 9317 str r3, [sp, #92] ; 0x5c + 487e: 23ff movs r3, #255 ; 0xff + 4880: 9317 str r3, [sp, #92] ; 0x5c a->time = duration; - 489a: 9b0a ldr r3, [sp, #40] ; 0x28 - 489c: 9318 str r3, [sp, #96] ; 0x60 + 4882: 9b0a ldr r3, [sp, #40] ; 0x28 + 4884: 9318 str r3, [sp, #96] ; 0x60 a->act_time = (int32_t)(-delay); - 489e: 9b09 ldr r3, [sp, #36] ; 0x24 - 48a0: 425b negs r3, r3 - 48a2: 9319 str r3, [sp, #100] ; 0x64 - 48a4: 9a08 ldr r2, [sp, #32] - 48a6: 1e53 subs r3, r2, #1 - 48a8: 1dd0 adds r0, r2, #7 + 4886: 9b09 ldr r3, [sp, #36] ; 0x24 + 4888: 425b negs r3, r3 + 488a: 9319 str r3, [sp, #100] ; 0x64 + 488c: 9a08 ldr r2, [sp, #32] + 488e: 1e53 subs r3, r2, #1 + 4890: 1dd0 adds r0, r2, #7 uint8_t * d8 = (uint8_t *)dst; - 48aa: aa14 add r2, sp, #80 ; 0x50 + 4892: aa14 add r2, sp, #80 ; 0x50 *d8 = *s8; - 48ac: f813 1f01 ldrb.w r1, [r3, #1]! - 48b0: f802 1b01 strb.w r1, [r2], #1 + 4894: f813 1f01 ldrb.w r1, [r3, #1]! + 4898: f802 1b01 strb.w r1, [r2], #1 while(len) { - 48b4: 4283 cmp r3, r0 - 48b6: d1f9 bne.n 48ac + 489c: 4283 cmp r3, r0 + 489e: d1f9 bne.n 4894 a.early_apply = 0; - 48b8: f89d 3076 ldrb.w r3, [sp, #118] ; 0x76 - 48bc: f36f 0300 bfc r3, #0, #1 - 48c0: f88d 3076 strb.w r3, [sp, #118] ; 0x76 + 48a0: f89d 3076 ldrb.w r3, [sp, #118] ; 0x76 + 48a4: f36f 0300 bfc r3, #0, #1 + 48a8: f88d 3076 strb.w r3, [sp, #118] ; 0x76 lv_anim_start(&a); - 48c4: a810 add r0, sp, #64 ; 0x40 - 48c6: 4b7a ldr r3, [pc, #488] ; (4ab0 ) - 48c8: 4798 blx r3 + 48ac: a810 add r0, sp, #64 ; 0x40 + 48ae: 4b7a ldr r3, [pc, #488] ; (4a98 ) + 48b0: 4798 blx r3 for(i = 0; i < LV_STYLE_TRANS_NUM_MAX; i++) { - 48ca: 9b05 ldr r3, [sp, #20] - 48cc: aa10 add r2, sp, #64 ; 0x40 - 48ce: 4293 cmp r3, r2 - 48d0: f000 8154 beq.w 4b7c + 48b2: 9b05 ldr r3, [sp, #20] + 48b4: aa10 add r2, sp, #64 ; 0x40 + 48b6: 4293 cmp r3, r2 + 48b8: f000 8154 beq.w 4b64 if(props[i] != 0) { - 48d4: 9b05 ldr r3, [sp, #20] - 48d6: f833 4b02 ldrh.w r4, [r3], #2 - 48da: 9305 str r3, [sp, #20] - 48dc: 2c00 cmp r4, #0 - 48de: d0f4 beq.n 48ca + 48bc: 9b05 ldr r3, [sp, #20] + 48be: f833 4b02 ldrh.w r4, [r3], #2 + 48c2: 9305 str r3, [sp, #20] + 48c4: 2c00 cmp r4, #0 + 48c6: d0f4 beq.n 48b2 _lv_style_list_add_trans_style(style_list); - 48e0: 9807 ldr r0, [sp, #28] - 48e2: 4b74 ldr r3, [pc, #464] ; (4ab4 ) - 48e4: 4798 blx r3 + 48c8: 9807 ldr r0, [sp, #28] + 48ca: 4b74 ldr r3, [pc, #464] ; (4a9c ) + 48cc: 4798 blx r3 lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 48e6: 9903 ldr r1, [sp, #12] - 48e8: 4650 mov r0, sl - 48ea: 4b73 ldr r3, [pc, #460] ; (4ab8 ) - 48ec: 4798 blx r3 - 48ee: 4606 mov r6, r0 + 48ce: 9903 ldr r1, [sp, #12] + 48d0: 4650 mov r0, sl + 48d2: 4b73 ldr r3, [pc, #460] ; (4aa0 ) + 48d4: 4798 blx r3 + 48d6: 4606 mov r6, r0 lv_style_t * style_trans = _lv_style_list_get_transition_style(style_list); - 48f0: 4b72 ldr r3, [pc, #456] ; (4abc ) - 48f2: 4798 blx r3 - 48f4: 9004 str r0, [sp, #16] + 48d8: 4b72 ldr r3, [pc, #456] ; (4aa4 ) + 48da: 4798 blx r3 + 48dc: 9004 str r0, [sp, #16] if((prop & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/ - 48f6: f004 030f and.w r3, r4, #15 - 48fa: 2b08 cmp r3, #8 - 48fc: f77f af7e ble.w 47fc + 48de: f004 030f and.w r3, r4, #15 + 48e2: 2b08 cmp r3, #8 + 48e4: f77f af7e ble.w 47e4 else if((prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/ - 4900: 2b0b cmp r3, #11 - 4902: dd61 ble.n 49c8 + 48e8: 2b0b cmp r3, #11 + 48ea: dd61 ble.n 49b0 else if((prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/ - 4904: 2b0d cmp r3, #13 - 4906: f300 80e9 bgt.w 4adc + 48ec: 2b0d cmp r3, #13 + 48ee: f300 80e9 bgt.w 4ac4 style_list->skip_trans = 1; - 490a: 7973 ldrb r3, [r6, #5] - 490c: f043 0304 orr.w r3, r3, #4 - 4910: 7173 strb r3, [r6, #5] + 48f2: 7973 ldrb r3, [r6, #5] + 48f4: f043 0304 orr.w r3, r3, #4 + 48f8: 7173 strb r3, [r6, #5] obj->state = prev_state; - 4912: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 48fa: f88a 803d strb.w r8, [sl, #61] ; 0x3d lv_opa_t o1 = _lv_obj_get_style_opa(obj, part, prop); - 4916: 4622 mov r2, r4 - 4918: f8dd b00c ldr.w fp, [sp, #12] - 491c: 4659 mov r1, fp - 491e: 4650 mov r0, sl - 4920: 4f67 ldr r7, [pc, #412] ; (4ac0 ) - 4922: 47b8 blx r7 - 4924: 900b str r0, [sp, #44] ; 0x2c + 48fe: 4622 mov r2, r4 + 4900: f8dd b00c ldr.w fp, [sp, #12] + 4904: 4659 mov r1, fp + 4906: 4650 mov r0, sl + 4908: 4f67 ldr r7, [pc, #412] ; (4aa8 ) + 490a: 47b8 blx r7 + 490c: 900b str r0, [sp, #44] ; 0x2c obj->state = new_state; - 4926: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 490e: f88a 903d strb.w r9, [sl, #61] ; 0x3d lv_opa_t o2 = _lv_obj_get_style_opa(obj, part, prop); - 492a: 4622 mov r2, r4 - 492c: f8cd b00c str.w fp, [sp, #12] - 4930: 4659 mov r1, fp - 4932: 4650 mov r0, sl - 4934: 47b8 blx r7 - 4936: 4683 mov fp, r0 + 4912: 4622 mov r2, r4 + 4914: f8cd b00c str.w fp, [sp, #12] + 4918: 4659 mov r1, fp + 491a: 4650 mov r0, sl + 491c: 47b8 blx r7 + 491e: 4683 mov fp, r0 style_list->skip_trans = 0; - 4938: 7973 ldrb r3, [r6, #5] - 493a: f36f 0382 bfc r3, #2, #1 - 493e: 7173 strb r3, [r6, #5] + 4920: 7973 ldrb r3, [r6, #5] + 4922: f36f 0382 bfc r3, #2, #1 + 4926: 7173 strb r3, [r6, #5] if(o1 == o2) return NULL; - 4940: 9b0b ldr r3, [sp, #44] ; 0x2c - 4942: 4283 cmp r3, r0 - 4944: d0c1 beq.n 48ca + 4928: 9b0b ldr r3, [sp, #44] ; 0x2c + 492a: 4283 cmp r3, r0 + 492c: d0c1 beq.n 48b2 obj->state = prev_state; - 4946: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 492e: f88a 803d strb.w r8, [sl, #61] ; 0x3d o1 = _lv_obj_get_style_opa(obj, part, prop); - 494a: 4622 mov r2, r4 - 494c: 9903 ldr r1, [sp, #12] - 494e: 4650 mov r0, sl - 4950: 47b8 blx r7 - 4952: 4606 mov r6, r0 + 4932: 4622 mov r2, r4 + 4934: 9903 ldr r1, [sp, #12] + 4936: 4650 mov r0, sl + 4938: 47b8 blx r7 + 493a: 4606 mov r6, r0 obj->state = new_state; - 4954: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 493c: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_opa(style_trans, prop, o1); /*Be sure `trans_style` has a valid value */ - 4958: 4602 mov r2, r0 - 495a: 4621 mov r1, r4 - 495c: 9804 ldr r0, [sp, #16] - 495e: 4b59 ldr r3, [pc, #356] ; (4ac4 ) - 4960: 4798 blx r3 + 4940: 4602 mov r2, r0 + 4942: 4621 mov r1, r4 + 4944: 9804 ldr r0, [sp, #16] + 4946: 4b59 ldr r3, [pc, #356] ; (4aac ) + 4948: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 4962: 484d ldr r0, [pc, #308] ; (4a98 ) - 4964: 4b4d ldr r3, [pc, #308] ; (4a9c ) - 4966: 4798 blx r3 - 4968: 4607 mov r7, r0 + 494a: 484d ldr r0, [pc, #308] ; (4a80 ) + 494c: 4b4d ldr r3, [pc, #308] ; (4a84 ) + 494e: 4798 blx r3 + 4950: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 496a: 4b43 ldr r3, [pc, #268] ; (4a78 ) - 496c: 4798 blx r3 - 496e: 2800 cmp r0, #0 - 4970: d074 beq.n 4a5c + 4952: 4b43 ldr r3, [pc, #268] ; (4a60 ) + 4954: 4798 blx r3 + 4956: 2800 cmp r0, #0 + 4958: d074 beq.n 4a44 if(tr == NULL) return NULL; - 4972: 2f00 cmp r7, #0 - 4974: d0a9 beq.n 48ca + 495a: 2f00 cmp r7, #0 + 495c: d0a9 beq.n 48b2 tr->start_value._opa = o1; - 4976: 723e strb r6, [r7, #8] + 495e: 723e strb r6, [r7, #8] tr->end_value._opa = o2; - 4978: f887 b00c strb.w fp, [r7, #12] - 497c: e779 b.n 4872 + 4960: f887 b00c strb.w fp, [r7, #12] + 4964: e779 b.n 485a if(int1 == LV_RADIUS_CIRCLE || int2 == LV_RADIUS_CIRCLE) { - 497e: f647 73ff movw r3, #32767 ; 0x7fff - 4982: 429e cmp r6, r3 - 4984: f000 814c beq.w 4c20 - 4988: 459b cmp fp, r3 - 498a: f47f af64 bne.w 4856 + 4966: f647 73ff movw r3, #32767 ; 0x7fff + 496a: 429e cmp r6, r3 + 496c: f000 814c beq.w 4c08 + 4970: 459b cmp fp, r3 + 4972: f47f af64 bne.w 483e lv_coord_t whalf = lv_obj_get_width(obj) / 2; - 498e: 4650 mov r0, sl - 4990: f8df b144 ldr.w fp, [pc, #324] ; 4ad8 - 4994: 47d8 blx fp - 4996: eb00 70d0 add.w r0, r0, r0, lsr #31 - 499a: f340 074f sbfx r7, r0, #1, #16 + 4976: 4650 mov r0, sl + 4978: f8df b144 ldr.w fp, [pc, #324] ; 4ac0 + 497c: 47d8 blx fp + 497e: eb00 70d0 add.w r0, r0, r0, lsr #31 + 4982: f340 074f sbfx r7, r0, #1, #16 lv_coord_t hhalf = lv_obj_get_width(obj) / 2; - 499e: 4650 mov r0, sl - 49a0: 47d8 blx fp - 49a2: eb00 70d0 add.w r0, r0, r0, lsr #31 - 49a6: f340 034f sbfx r3, r0, #1, #16 - 49aa: e151 b.n 4c50 + 4986: 4650 mov r0, sl + 4988: 47d8 blx fp + 498a: eb00 70d0 add.w r0, r0, r0, lsr #31 + 498e: f340 034f sbfx r3, r0, #1, #16 + 4992: e151 b.n 4c38 LV_ASSERT_MEM(tr); - 49ac: 4b46 ldr r3, [pc, #280] ; (4ac8 ) - 49ae: 9300 str r3, [sp, #0] - 49b0: f640 62b2 movw r2, #3762 ; 0xeb2 - 49b4: 4933 ldr r1, [pc, #204] ; (4a84 ) - 49b6: 2003 movs r0, #3 - 49b8: 4c33 ldr r4, [pc, #204] ; (4a88 ) - 49ba: 47a0 blx r4 - 49bc: 463a mov r2, r7 - 49be: 2300 movs r3, #0 - 49c0: 4842 ldr r0, [pc, #264] ; (4acc ) - 49c2: 4933 ldr r1, [pc, #204] ; (4a90 ) - 49c4: 4788 blx r1 - 49c6: e7fe b.n 49c6 + 4994: 4b46 ldr r3, [pc, #280] ; (4ab0 ) + 4996: 9300 str r3, [sp, #0] + 4998: f640 62b2 movw r2, #3762 ; 0xeb2 + 499c: 4933 ldr r1, [pc, #204] ; (4a6c ) + 499e: 2003 movs r0, #3 + 49a0: 4c33 ldr r4, [pc, #204] ; (4a70 ) + 49a2: 47a0 blx r4 + 49a4: 463a mov r2, r7 + 49a6: 2300 movs r3, #0 + 49a8: 4842 ldr r0, [pc, #264] ; (4ab4 ) + 49aa: 4933 ldr r1, [pc, #204] ; (4a78 ) + 49ac: 4788 blx r1 + 49ae: e7fe b.n 49ae style_list->skip_trans = 1; - 49c8: 7973 ldrb r3, [r6, #5] - 49ca: f043 0304 orr.w r3, r3, #4 - 49ce: 7173 strb r3, [r6, #5] + 49b0: 7973 ldrb r3, [r6, #5] + 49b2: f043 0304 orr.w r3, r3, #4 + 49b6: 7173 strb r3, [r6, #5] obj->state = prev_state; - 49d0: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 49b8: f88a 803d strb.w r8, [sl, #61] ; 0x3d lv_color_t c1 = _lv_obj_get_style_color(obj, part, prop); - 49d4: 4622 mov r2, r4 - 49d6: 9903 ldr r1, [sp, #12] - 49d8: 4650 mov r0, sl - 49da: 4f3d ldr r7, [pc, #244] ; (4ad0 ) - 49dc: 47b8 blx r7 - 49de: 4683 mov fp, r0 + 49bc: 4622 mov r2, r4 + 49be: 9903 ldr r1, [sp, #12] + 49c0: 4650 mov r0, sl + 49c2: 4f3d ldr r7, [pc, #244] ; (4ab8 ) + 49c4: 47b8 blx r7 + 49c6: 4683 mov fp, r0 obj->state = new_state; - 49e0: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 49c8: f88a 903d strb.w r9, [sl, #61] ; 0x3d lv_color_t c2 = _lv_obj_get_style_color(obj, part, prop); - 49e4: 4622 mov r2, r4 - 49e6: 9903 ldr r1, [sp, #12] - 49e8: 4650 mov r0, sl - 49ea: 47b8 blx r7 - 49ec: f8ad 002c strh.w r0, [sp, #44] ; 0x2c + 49cc: 4622 mov r2, r4 + 49ce: 9903 ldr r1, [sp, #12] + 49d0: 4650 mov r0, sl + 49d2: 47b8 blx r7 + 49d4: f8ad 002c strh.w r0, [sp, #44] ; 0x2c style_list->skip_trans = 0; - 49f0: 7973 ldrb r3, [r6, #5] - 49f2: f36f 0382 bfc r3, #2, #1 - 49f6: 7173 strb r3, [r6, #5] + 49d8: 7973 ldrb r3, [r6, #5] + 49da: f36f 0382 bfc r3, #2, #1 + 49de: 7173 strb r3, [r6, #5] if(c1.full == c2.full) return NULL; - 49f8: fa1f fb8b uxth.w fp, fp - 49fc: b283 uxth r3, r0 - 49fe: 459b cmp fp, r3 - 4a00: f43f af63 beq.w 48ca + 49e0: fa1f fb8b uxth.w fp, fp + 49e4: b283 uxth r3, r0 + 49e6: 459b cmp fp, r3 + 49e8: f43f af63 beq.w 48b2 obj->state = prev_state; - 4a04: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 49ec: f88a 803d strb.w r8, [sl, #61] ; 0x3d c1 = _lv_obj_get_style_color(obj, part, prop); - 4a08: 4622 mov r2, r4 - 4a0a: 9903 ldr r1, [sp, #12] - 4a0c: 4650 mov r0, sl - 4a0e: 47b8 blx r7 - 4a10: 4683 mov fp, r0 + 49f0: 4622 mov r2, r4 + 49f2: 9903 ldr r1, [sp, #12] + 49f4: 4650 mov r0, sl + 49f6: 47b8 blx r7 + 49f8: 4683 mov fp, r0 obj->state = new_state; - 4a12: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 49fa: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_color(style_trans, prop, c1); /*Be sure `trans_style` has a valid value */ - 4a16: 4602 mov r2, r0 - 4a18: 4621 mov r1, r4 - 4a1a: 9804 ldr r0, [sp, #16] - 4a1c: 4b2d ldr r3, [pc, #180] ; (4ad4 ) - 4a1e: 4798 blx r3 + 49fe: 4602 mov r2, r0 + 4a00: 4621 mov r1, r4 + 4a02: 9804 ldr r0, [sp, #16] + 4a04: 4b2d ldr r3, [pc, #180] ; (4abc ) + 4a06: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 4a20: 481d ldr r0, [pc, #116] ; (4a98 ) - 4a22: 4b1e ldr r3, [pc, #120] ; (4a9c ) - 4a24: 4798 blx r3 - 4a26: 4607 mov r7, r0 + 4a08: 481d ldr r0, [pc, #116] ; (4a80 ) + 4a0a: 4b1e ldr r3, [pc, #120] ; (4a84 ) + 4a0c: 4798 blx r3 + 4a0e: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 4a28: 4b13 ldr r3, [pc, #76] ; (4a78 ) - 4a2a: 4798 blx r3 - 4a2c: b140 cbz r0, 4a40 + 4a10: 4b13 ldr r3, [pc, #76] ; (4a60 ) + 4a12: 4798 blx r3 + 4a14: b140 cbz r0, 4a28 if(tr == NULL) return NULL; - 4a2e: 2f00 cmp r7, #0 - 4a30: f43f af4b beq.w 48ca + 4a16: 2f00 cmp r7, #0 + 4a18: f43f af4b beq.w 48b2 tr->start_value._color = c1; - 4a34: f8a7 b008 strh.w fp, [r7, #8] + 4a1c: f8a7 b008 strh.w fp, [r7, #8] tr->end_value._color = c2; - 4a38: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c - 4a3c: 81bb strh r3, [r7, #12] - 4a3e: e718 b.n 4872 + 4a20: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c + 4a24: 81bb strh r3, [r7, #12] + 4a26: e718 b.n 485a LV_ASSERT_MEM(tr); - 4a40: 4b21 ldr r3, [pc, #132] ; (4ac8 ) - 4a42: 9300 str r3, [sp, #0] - 4a44: f640 62c6 movw r2, #3782 ; 0xec6 - 4a48: 490e ldr r1, [pc, #56] ; (4a84 ) - 4a4a: 2003 movs r0, #3 - 4a4c: 4c0e ldr r4, [pc, #56] ; (4a88 ) - 4a4e: 47a0 blx r4 - 4a50: 463a mov r2, r7 - 4a52: 2300 movs r3, #0 - 4a54: 481d ldr r0, [pc, #116] ; (4acc ) - 4a56: 490e ldr r1, [pc, #56] ; (4a90 ) - 4a58: 4788 blx r1 - 4a5a: e7fe b.n 4a5a + 4a28: 4b21 ldr r3, [pc, #132] ; (4ab0 ) + 4a2a: 9300 str r3, [sp, #0] + 4a2c: f640 62c6 movw r2, #3782 ; 0xec6 + 4a30: 490e ldr r1, [pc, #56] ; (4a6c ) + 4a32: 2003 movs r0, #3 + 4a34: 4c0e ldr r4, [pc, #56] ; (4a70 ) + 4a36: 47a0 blx r4 + 4a38: 463a mov r2, r7 + 4a3a: 2300 movs r3, #0 + 4a3c: 481d ldr r0, [pc, #116] ; (4ab4 ) + 4a3e: 490e ldr r1, [pc, #56] ; (4a78 ) + 4a40: 4788 blx r1 + 4a42: e7fe b.n 4a42 LV_ASSERT_MEM(tr); - 4a5c: 4b1a ldr r3, [pc, #104] ; (4ac8 ) - 4a5e: 9300 str r3, [sp, #0] - 4a60: f640 62db movw r2, #3803 ; 0xedb - 4a64: 4907 ldr r1, [pc, #28] ; (4a84 ) - 4a66: 2003 movs r0, #3 - 4a68: 4c07 ldr r4, [pc, #28] ; (4a88 ) - 4a6a: 47a0 blx r4 - 4a6c: 463a mov r2, r7 - 4a6e: 2300 movs r3, #0 - 4a70: 4816 ldr r0, [pc, #88] ; (4acc ) - 4a72: 4907 ldr r1, [pc, #28] ; (4a90 ) - 4a74: 4788 blx r1 - 4a76: e7fe b.n 4a76 - 4a78: 000022b1 .word 0x000022b1 - 4a7c: 000044d5 .word 0x000044d5 - 4a80: 000246d0 .word 0x000246d0 - 4a84: 000247dc .word 0x000247dc - 4a88: 0001225d .word 0x0001225d - 4a8c: 0002483c .word 0x0002483c - 4a90: 000022b9 .word 0x000022b9 - 4a94: 000068e1 .word 0x000068e1 - 4a98: 20006d3c .word 0x20006d3c - 4a9c: 00011f11 .word 0x00011f11 - 4aa0: 000112e5 .word 0x000112e5 - 4aa4: 00003cad .word 0x00003cad - 4aa8: 00004741 .word 0x00004741 - 4aac: 00003121 .word 0x00003121 - 4ab0: 000113a1 .word 0x000113a1 - 4ab4: 00007235 .word 0x00007235 - 4ab8: 00002ffd .word 0x00002ffd - 4abc: 000070e7 .word 0x000070e7 - 4ac0: 0000460d .word 0x0000460d - 4ac4: 00006b69 .word 0x00006b69 - 4ac8: 000246e4 .word 0x000246e4 - 4acc: 00023fd8 .word 0x00023fd8 - 4ad0: 00004581 .word 0x00004581 - 4ad4: 00006a25 .word 0x00006a25 - 4ad8: 00002f5d .word 0x00002f5d + 4a44: 4b1a ldr r3, [pc, #104] ; (4ab0 ) + 4a46: 9300 str r3, [sp, #0] + 4a48: f640 62db movw r2, #3803 ; 0xedb + 4a4c: 4907 ldr r1, [pc, #28] ; (4a6c ) + 4a4e: 2003 movs r0, #3 + 4a50: 4c07 ldr r4, [pc, #28] ; (4a70 ) + 4a52: 47a0 blx r4 + 4a54: 463a mov r2, r7 + 4a56: 2300 movs r3, #0 + 4a58: 4816 ldr r0, [pc, #88] ; (4ab4 ) + 4a5a: 4907 ldr r1, [pc, #28] ; (4a78 ) + 4a5c: 4788 blx r1 + 4a5e: e7fe b.n 4a5e + 4a60: 00002299 .word 0x00002299 + 4a64: 000044bd .word 0x000044bd + 4a68: 000246b8 .word 0x000246b8 + 4a6c: 000247c4 .word 0x000247c4 + 4a70: 00012245 .word 0x00012245 + 4a74: 00024824 .word 0x00024824 + 4a78: 000022a1 .word 0x000022a1 + 4a7c: 000068c9 .word 0x000068c9 + 4a80: 20006d3c .word 0x20006d3c + 4a84: 00011ef9 .word 0x00011ef9 + 4a88: 000112cd .word 0x000112cd + 4a8c: 00003c95 .word 0x00003c95 + 4a90: 00004729 .word 0x00004729 + 4a94: 00003109 .word 0x00003109 + 4a98: 00011389 .word 0x00011389 + 4a9c: 0000721d .word 0x0000721d + 4aa0: 00002fe5 .word 0x00002fe5 + 4aa4: 000070cf .word 0x000070cf + 4aa8: 000045f5 .word 0x000045f5 + 4aac: 00006b51 .word 0x00006b51 + 4ab0: 000246cc .word 0x000246cc + 4ab4: 00023fc0 .word 0x00023fc0 + 4ab8: 00004569 .word 0x00004569 + 4abc: 00006a0d .word 0x00006a0d + 4ac0: 00002f45 .word 0x00002f45 obj->state = prev_state; - 4adc: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4ac4: f88a 803d strb.w r8, [sl, #61] ; 0x3d style_list->skip_trans = 1; - 4ae0: 7973 ldrb r3, [r6, #5] - 4ae2: f043 0304 orr.w r3, r3, #4 - 4ae6: 7173 strb r3, [r6, #5] + 4ac8: 7973 ldrb r3, [r6, #5] + 4aca: f043 0304 orr.w r3, r3, #4 + 4ace: 7173 strb r3, [r6, #5] const void * p1 = _lv_obj_get_style_ptr(obj, part, prop); - 4ae8: 4622 mov r2, r4 - 4aea: f8dd b00c ldr.w fp, [sp, #12] - 4aee: 4659 mov r1, fp - 4af0: 4650 mov r0, sl - 4af2: 4f5c ldr r7, [pc, #368] ; (4c64 ) - 4af4: 47b8 blx r7 - 4af6: 900c str r0, [sp, #48] ; 0x30 + 4ad0: 4622 mov r2, r4 + 4ad2: f8dd b00c ldr.w fp, [sp, #12] + 4ad6: 4659 mov r1, fp + 4ad8: 4650 mov r0, sl + 4ada: 4f5c ldr r7, [pc, #368] ; (4c4c ) + 4adc: 47b8 blx r7 + 4ade: 900c str r0, [sp, #48] ; 0x30 obj->state = new_state; - 4af8: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4ae0: f88a 903d strb.w r9, [sl, #61] ; 0x3d const void * p2 = _lv_obj_get_style_ptr(obj, part, prop); - 4afc: 4622 mov r2, r4 - 4afe: f8cd b00c str.w fp, [sp, #12] - 4b02: 4659 mov r1, fp - 4b04: 4650 mov r0, sl - 4b06: 47b8 blx r7 - 4b08: 4683 mov fp, r0 - 4b0a: a920 add r1, sp, #128 ; 0x80 - 4b0c: f841 0d40 str.w r0, [r1, #-64]! + 4ae4: 4622 mov r2, r4 + 4ae6: f8cd b00c str.w fp, [sp, #12] + 4aea: 4659 mov r1, fp + 4aec: 4650 mov r0, sl + 4aee: 47b8 blx r7 + 4af0: 4683 mov fp, r0 + 4af2: a920 add r1, sp, #128 ; 0x80 + 4af4: f841 0d40 str.w r0, [r1, #-64]! style_list->skip_trans = 0; - 4b10: 7973 ldrb r3, [r6, #5] - 4b12: f36f 0382 bfc r3, #2, #1 - 4b16: 7173 strb r3, [r6, #5] + 4af8: 7973 ldrb r3, [r6, #5] + 4afa: f36f 0382 bfc r3, #2, #1 + 4afe: 7173 strb r3, [r6, #5] if(memcmp(&p1, &p2, sizeof(const void *)) == 0) return NULL; - 4b18: 2204 movs r2, #4 - 4b1a: a80c add r0, sp, #48 ; 0x30 - 4b1c: 4b52 ldr r3, [pc, #328] ; (4c68 ) - 4b1e: 4798 blx r3 - 4b20: 2800 cmp r0, #0 - 4b22: f43f aed2 beq.w 48ca + 4b00: 2204 movs r2, #4 + 4b02: a80c add r0, sp, #48 ; 0x30 + 4b04: 4b52 ldr r3, [pc, #328] ; (4c50 ) + 4b06: 4798 blx r3 + 4b08: 2800 cmp r0, #0 + 4b0a: f43f aed2 beq.w 48b2 obj->state = prev_state; - 4b26: f88a 803d strb.w r8, [sl, #61] ; 0x3d + 4b0e: f88a 803d strb.w r8, [sl, #61] ; 0x3d p1 = _lv_obj_get_style_ptr(obj, part, prop); - 4b2a: 4622 mov r2, r4 - 4b2c: 9903 ldr r1, [sp, #12] - 4b2e: 4650 mov r0, sl - 4b30: 47b8 blx r7 - 4b32: 4606 mov r6, r0 - 4b34: 900c str r0, [sp, #48] ; 0x30 + 4b12: 4622 mov r2, r4 + 4b14: 9903 ldr r1, [sp, #12] + 4b16: 4650 mov r0, sl + 4b18: 47b8 blx r7 + 4b1a: 4606 mov r6, r0 + 4b1c: 900c str r0, [sp, #48] ; 0x30 obj->state = new_state; - 4b36: f88a 903d strb.w r9, [sl, #61] ; 0x3d + 4b1e: f88a 903d strb.w r9, [sl, #61] ; 0x3d _lv_style_set_ptr(style_trans, prop, p1); /*Be sure `trans_style` has a valid value */ - 4b3a: 4602 mov r2, r0 - 4b3c: 4621 mov r1, r4 - 4b3e: 9804 ldr r0, [sp, #16] - 4b40: 4b4a ldr r3, [pc, #296] ; (4c6c ) - 4b42: 4798 blx r3 + 4b22: 4602 mov r2, r0 + 4b24: 4621 mov r1, r4 + 4b26: 9804 ldr r0, [sp, #16] + 4b28: 4b4a ldr r3, [pc, #296] ; (4c54 ) + 4b2a: 4798 blx r3 tr = _lv_ll_ins_head(&LV_GC_ROOT(_lv_obj_style_trans_ll)); - 4b44: 484a ldr r0, [pc, #296] ; (4c70 ) - 4b46: 4b4b ldr r3, [pc, #300] ; (4c74 ) - 4b48: 4798 blx r3 - 4b4a: 4607 mov r7, r0 + 4b2c: 484a ldr r0, [pc, #296] ; (4c58 ) + 4b2e: 4b4b ldr r3, [pc, #300] ; (4c5c ) + 4b30: 4798 blx r3 + 4b32: 4607 mov r7, r0 LV_ASSERT_MEM(tr); - 4b4c: 4b4a ldr r3, [pc, #296] ; (4c78 ) - 4b4e: 4798 blx r3 - 4b50: b130 cbz r0, 4b60 + 4b34: 4b4a ldr r3, [pc, #296] ; (4c60 ) + 4b36: 4798 blx r3 + 4b38: b130 cbz r0, 4b48 if(tr == NULL) return NULL; - 4b52: 2f00 cmp r7, #0 - 4b54: f43f aeb9 beq.w 48ca + 4b3a: 2f00 cmp r7, #0 + 4b3c: f43f aeb9 beq.w 48b2 tr->start_value._ptr = p1; - 4b58: 60be str r6, [r7, #8] + 4b40: 60be str r6, [r7, #8] tr->end_value._ptr = p2; - 4b5a: f8c7 b00c str.w fp, [r7, #12] - 4b5e: e688 b.n 4872 + 4b42: f8c7 b00c str.w fp, [r7, #12] + 4b46: e688 b.n 485a LV_ASSERT_MEM(tr); - 4b60: 4b46 ldr r3, [pc, #280] ; (4c7c ) - 4b62: 9300 str r3, [sp, #0] - 4b64: f640 62ef movw r2, #3823 ; 0xeef - 4b68: 4945 ldr r1, [pc, #276] ; (4c80 ) - 4b6a: 2003 movs r0, #3 - 4b6c: 4c45 ldr r4, [pc, #276] ; (4c84 ) - 4b6e: 47a0 blx r4 - 4b70: 463a mov r2, r7 - 4b72: 2300 movs r3, #0 - 4b74: 4844 ldr r0, [pc, #272] ; (4c88 ) - 4b76: 4945 ldr r1, [pc, #276] ; (4c8c ) - 4b78: 4788 blx r1 - 4b7a: e7fe b.n 4b7a - 4b7c: 9b06 ldr r3, [sp, #24] - 4b7e: 3301 adds r3, #1 - 4b80: 9306 str r3, [sp, #24] + 4b48: 4b46 ldr r3, [pc, #280] ; (4c64 ) + 4b4a: 9300 str r3, [sp, #0] + 4b4c: f640 62ef movw r2, #3823 ; 0xeef + 4b50: 4945 ldr r1, [pc, #276] ; (4c68 ) + 4b52: 2003 movs r0, #3 + 4b54: 4c45 ldr r4, [pc, #276] ; (4c6c ) + 4b56: 47a0 blx r4 + 4b58: 463a mov r2, r7 + 4b5a: 2300 movs r3, #0 + 4b5c: 4844 ldr r0, [pc, #272] ; (4c70 ) + 4b5e: 4945 ldr r1, [pc, #276] ; (4c74 ) + 4b60: 4788 blx r1 + 4b62: e7fe b.n 4b62 + 4b64: 9b06 ldr r3, [sp, #24] + 4b66: 3301 adds r3, #1 + 4b68: 9306 str r3, [sp, #24] for(part = 0; part < _LV_OBJ_PART_REAL_LAST; part++) { - 4b82: 2b40 cmp r3, #64 ; 0x40 - 4b84: d045 beq.n 4c12 - 4b86: f89d 3018 ldrb.w r3, [sp, #24] - 4b8a: 9303 str r3, [sp, #12] + 4b6a: 2b40 cmp r3, #64 ; 0x40 + 4b6c: d045 beq.n 4bfa + 4b6e: f89d 3018 ldrb.w r3, [sp, #24] + 4b72: 9303 str r3, [sp, #12] lv_style_list_t * style_list = lv_obj_get_style_list(obj, part); - 4b8c: 4619 mov r1, r3 - 4b8e: 4650 mov r0, sl - 4b90: 4b3f ldr r3, [pc, #252] ; (4c90 ) - 4b92: 4798 blx r3 + 4b74: 4619 mov r1, r3 + 4b76: 4650 mov r0, sl + 4b78: 4b3f ldr r3, [pc, #252] ; (4c78 ) + 4b7a: 4798 blx r3 if(style_list == NULL) break; /*No more style lists*/ - 4b94: 9007 str r0, [sp, #28] - 4b96: 2800 cmp r0, #0 - 4b98: d03b beq.n 4c12 + 4b7c: 9007 str r0, [sp, #28] + 4b7e: 2800 cmp r0, #0 + 4b80: d03b beq.n 4bfa if(style_list->ignore_trans) continue; - 4b9a: 7943 ldrb r3, [r0, #5] - 4b9c: f013 0f08 tst.w r3, #8 - 4ba0: d1ec bne.n 4b7c - 4ba2: 22b0 movs r2, #176 ; 0xb0 - 4ba4: 9c03 ldr r4, [sp, #12] - 4ba6: 4621 mov r1, r4 - 4ba8: 4650 mov r0, sl - 4baa: 47a8 blx r5 - 4bac: 900a str r0, [sp, #40] ; 0x28 + 4b82: 7943 ldrb r3, [r0, #5] + 4b84: f013 0f08 tst.w r3, #8 + 4b88: d1ec bne.n 4b64 + 4b8a: 22b0 movs r2, #176 ; 0xb0 + 4b8c: 9c03 ldr r4, [sp, #12] + 4b8e: 4621 mov r1, r4 + 4b90: 4650 mov r0, sl + 4b92: 47a8 blx r5 + 4b94: 900a str r0, [sp, #40] ; 0x28 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar) - 4bae: 22b1 movs r2, #177 ; 0xb1 - 4bb0: 4621 mov r1, r4 - 4bb2: 4650 mov r0, sl - 4bb4: 47a8 blx r5 - 4bb6: 9009 str r0, [sp, #36] ; 0x24 + 4b96: 22b1 movs r2, #177 ; 0xb1 + 4b98: 4621 mov r1, r4 + 4b9a: 4650 mov r0, sl + 4b9c: 47a8 blx r5 + 4b9e: 9009 str r0, [sp, #36] ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) #if LV_USE_ANIMATION _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar) - 4bb8: 22be movs r2, #190 ; 0xbe + 4ba0: 22be movs r2, #190 ; 0xbe + 4ba2: 4621 mov r1, r4 + 4ba4: 4650 mov r0, sl + 4ba6: 4b29 ldr r3, [pc, #164] ; (4c4c ) + 4ba8: 4798 blx r3 + 4baa: 9008 str r0, [sp, #32] +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) + 4bac: 22b2 movs r2, #178 ; 0xb2 + 4bae: 4621 mov r1, r4 + 4bb0: 4650 mov r0, sl + 4bb2: 47a8 blx r5 + props[0] = lv_obj_get_style_transition_prop_1(obj, part); + 4bb4: f8ad 0034 strh.w r0, [sp, #52] ; 0x34 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) + 4bb8: 22b3 movs r2, #179 ; 0xb3 4bba: 4621 mov r1, r4 4bbc: 4650 mov r0, sl - 4bbe: 4b29 ldr r3, [pc, #164] ; (4c64 ) - 4bc0: 4798 blx r3 - 4bc2: 9008 str r0, [sp, #32] -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) - 4bc4: 22b2 movs r2, #178 ; 0xb2 + 4bbe: 47a8 blx r5 + props[1] = lv_obj_get_style_transition_prop_2(obj, part); + 4bc0: f8ad 0036 strh.w r0, [sp, #54] ; 0x36 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) + 4bc4: 22b4 movs r2, #180 ; 0xb4 4bc6: 4621 mov r1, r4 4bc8: 4650 mov r0, sl 4bca: 47a8 blx r5 - props[0] = lv_obj_get_style_transition_prop_1(obj, part); - 4bcc: f8ad 0034 strh.w r0, [sp, #52] ; 0x34 -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) - 4bd0: 22b3 movs r2, #179 ; 0xb3 + props[2] = lv_obj_get_style_transition_prop_3(obj, part); + 4bcc: f8ad 0038 strh.w r0, [sp, #56] ; 0x38 +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) + 4bd0: 22b5 movs r2, #181 ; 0xb5 4bd2: 4621 mov r1, r4 4bd4: 4650 mov r0, sl 4bd6: 47a8 blx r5 - props[1] = lv_obj_get_style_transition_prop_2(obj, part); - 4bd8: f8ad 0036 strh.w r0, [sp, #54] ; 0x36 -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) - 4bdc: 22b4 movs r2, #180 ; 0xb4 + props[3] = lv_obj_get_style_transition_prop_4(obj, part); + 4bd8: f8ad 003a strh.w r0, [sp, #58] ; 0x3a +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) + 4bdc: 22b6 movs r2, #182 ; 0xb6 4bde: 4621 mov r1, r4 4be0: 4650 mov r0, sl 4be2: 47a8 blx r5 - props[2] = lv_obj_get_style_transition_prop_3(obj, part); - 4be4: f8ad 0038 strh.w r0, [sp, #56] ; 0x38 -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) - 4be8: 22b5 movs r2, #181 ; 0xb5 + props[4] = lv_obj_get_style_transition_prop_5(obj, part); + 4be4: f8ad 003c strh.w r0, [sp, #60] ; 0x3c +_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) + 4be8: 22b7 movs r2, #183 ; 0xb7 4bea: 4621 mov r1, r4 4bec: 4650 mov r0, sl 4bee: 47a8 blx r5 - props[3] = lv_obj_get_style_transition_prop_4(obj, part); - 4bf0: f8ad 003a strh.w r0, [sp, #58] ; 0x3a -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 4bf4: 22b6 movs r2, #182 ; 0xb6 - 4bf6: 4621 mov r1, r4 - 4bf8: 4650 mov r0, sl - 4bfa: 47a8 blx r5 - props[4] = lv_obj_get_style_transition_prop_5(obj, part); - 4bfc: f8ad 003c strh.w r0, [sp, #60] ; 0x3c -_LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 4c00: 22b7 movs r2, #183 ; 0xb7 - 4c02: 4621 mov r1, r4 - 4c04: 4650 mov r0, sl - 4c06: 47a8 blx r5 props[5] = lv_obj_get_style_transition_prop_6(obj, part); - 4c08: f8ad 003e strh.w r0, [sp, #62] ; 0x3e - 4c0c: ab0d add r3, sp, #52 ; 0x34 - 4c0e: 9305 str r3, [sp, #20] - 4c10: e660 b.n 48d4 + 4bf0: f8ad 003e strh.w r0, [sp, #62] ; 0x3e + 4bf4: ab0d add r3, sp, #52 ; 0x34 + 4bf6: 9305 str r3, [sp, #20] + 4bf8: e660 b.n 48bc lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 4c12: 21ff movs r1, #255 ; 0xff - 4c14: 4650 mov r0, sl - 4c16: 4b1f ldr r3, [pc, #124] ; (4c94 ) - 4c18: 4798 blx r3 + 4bfa: 21ff movs r1, #255 ; 0xff + 4bfc: 4650 mov r0, sl + 4bfe: 4b1f ldr r3, [pc, #124] ; (4c7c ) + 4c00: 4798 blx r3 } - 4c1a: b021 add sp, #132 ; 0x84 - 4c1c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 4c02: b021 add sp, #132 ; 0x84 + 4c04: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} lv_coord_t whalf = lv_obj_get_width(obj) / 2; - 4c20: 4650 mov r0, sl - 4c22: 4e1d ldr r6, [pc, #116] ; (4c98 ) - 4c24: 47b0 blx r6 - 4c26: eb00 70d0 add.w r0, r0, r0, lsr #31 - 4c2a: f340 074f sbfx r7, r0, #1, #16 + 4c08: 4650 mov r0, sl + 4c0a: 4e1d ldr r6, [pc, #116] ; (4c80 ) + 4c0c: 47b0 blx r6 + 4c0e: eb00 70d0 add.w r0, r0, r0, lsr #31 + 4c12: f340 074f sbfx r7, r0, #1, #16 lv_coord_t hhalf = lv_obj_get_width(obj) / 2; - 4c2e: 4650 mov r0, sl - 4c30: 47b0 blx r6 - 4c32: eb00 70d0 add.w r0, r0, r0, lsr #31 - 4c36: f340 034f sbfx r3, r0, #1, #16 + 4c16: 4650 mov r0, sl + 4c18: 47b0 blx r6 + 4c1a: eb00 70d0 add.w r0, r0, r0, lsr #31 + 4c1e: f340 034f sbfx r3, r0, #1, #16 if(int1 == LV_RADIUS_CIRCLE) int1 = LV_MATH_MIN(whalf + 1, hhalf + 1); - 4c3a: 1c5e adds r6, r3, #1 - 4c3c: 1c7a adds r2, r7, #1 - 4c3e: 4296 cmp r6, r2 - 4c40: bfa8 it ge - 4c42: 4616 movge r6, r2 - 4c44: b236 sxth r6, r6 + 4c22: 1c5e adds r6, r3, #1 + 4c24: 1c7a adds r2, r7, #1 + 4c26: 4296 cmp r6, r2 + 4c28: bfa8 it ge + 4c2a: 4616 movge r6, r2 + 4c2c: b236 sxth r6, r6 if(int2 == LV_RADIUS_CIRCLE) int2 = LV_MATH_MIN(whalf + 1, hhalf + 1); - 4c46: f647 72ff movw r2, #32767 ; 0x7fff - 4c4a: 4593 cmp fp, r2 - 4c4c: f47f ae03 bne.w 4856 - 4c50: f103 0b01 add.w fp, r3, #1 - 4c54: 3701 adds r7, #1 - 4c56: 45bb cmp fp, r7 - 4c58: bfa8 it ge - 4c5a: 46bb movge fp, r7 - 4c5c: fa0f fb8b sxth.w fp, fp - 4c60: e5f9 b.n 4856 - 4c62: 4770 bx lr - 4c64: 000046a1 .word 0x000046a1 - 4c68: 0001b4dd .word 0x0001b4dd - 4c6c: 00006c99 .word 0x00006c99 - 4c70: 20006d3c .word 0x20006d3c - 4c74: 00011f11 .word 0x00011f11 - 4c78: 000022b1 .word 0x000022b1 - 4c7c: 000246e4 .word 0x000246e4 - 4c80: 000247dc .word 0x000247dc - 4c84: 0001225d .word 0x0001225d - 4c88: 00023fd8 .word 0x00023fd8 - 4c8c: 000022b9 .word 0x000022b9 - 4c90: 00002ffd .word 0x00002ffd - 4c94: 00003a99 .word 0x00003a99 - 4c98: 00002f5d .word 0x00002f5d - -00004c9c : -{ - 4c9c: b530 push {r4, r5, lr} - 4c9e: b083 sub sp, #12 - 4ca0: 4605 mov r5, r0 - 4ca2: 460c mov r4, r1 + 4c2e: f647 72ff movw r2, #32767 ; 0x7fff + 4c32: 4593 cmp fp, r2 + 4c34: f47f ae03 bne.w 483e + 4c38: f103 0b01 add.w fp, r3, #1 + 4c3c: 3701 adds r7, #1 + 4c3e: 45bb cmp fp, r7 + 4c40: bfa8 it ge + 4c42: 46bb movge fp, r7 + 4c44: fa0f fb8b sxth.w fp, fp + 4c48: e5f9 b.n 483e + 4c4a: 4770 bx lr + 4c4c: 00004689 .word 0x00004689 + 4c50: 0001b4c5 .word 0x0001b4c5 + 4c54: 00006c81 .word 0x00006c81 + 4c58: 20006d3c .word 0x20006d3c + 4c5c: 00011ef9 .word 0x00011ef9 + 4c60: 00002299 .word 0x00002299 + 4c64: 000246cc .word 0x000246cc + 4c68: 000247c4 .word 0x000247c4 + 4c6c: 00012245 .word 0x00012245 + 4c70: 00023fc0 .word 0x00023fc0 + 4c74: 000022a1 .word 0x000022a1 + 4c78: 00002fe5 .word 0x00002fe5 + 4c7c: 00003a81 .word 0x00003a81 + 4c80: 00002f45 .word 0x00002f45 + +00004c84 : +{ + 4c84: b530 push {r4, r5, lr} + 4c86: b083 sub sp, #12 + 4c88: 4605 mov r5, r0 + 4c8a: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4ca4: 4b0d ldr r3, [pc, #52] ; (4cdc ) - 4ca6: 4798 blx r3 - 4ca8: b150 cbz r0, 4cc0 + 4c8c: 4b0d ldr r3, [pc, #52] ; (4cc4 ) + 4c8e: 4798 blx r3 + 4c90: b150 cbz r0, 4ca8 lv_state_t new_state = obj->state | state; - 4caa: f895 303d ldrb.w r3, [r5, #61] ; 0x3d - 4cae: ea43 0104 orr.w r1, r3, r4 + 4c92: f895 303d ldrb.w r3, [r5, #61] ; 0x3d + 4c96: ea43 0104 orr.w r1, r3, r4 if(obj->state != new_state) { - 4cb2: 428b cmp r3, r1 - 4cb4: d002 beq.n 4cbc + 4c9a: 428b cmp r3, r1 + 4c9c: d002 beq.n 4ca4 lv_obj_set_state(obj, new_state); - 4cb6: 4628 mov r0, r5 - 4cb8: 4b09 ldr r3, [pc, #36] ; (4ce0 ) - 4cba: 4798 blx r3 + 4c9e: 4628 mov r0, r5 + 4ca0: 4b09 ldr r3, [pc, #36] ; (4cc8 ) + 4ca2: 4798 blx r3 } - 4cbc: b003 add sp, #12 - 4cbe: bd30 pop {r4, r5, pc} + 4ca4: b003 add sp, #12 + 4ca6: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4cc0: 4b08 ldr r3, [pc, #32] ; (4ce4 ) - 4cc2: 9300 str r3, [sp, #0] - 4cc4: f240 627e movw r2, #1662 ; 0x67e - 4cc8: 4907 ldr r1, [pc, #28] ; (4ce8 ) - 4cca: 2003 movs r0, #3 - 4ccc: 4c07 ldr r4, [pc, #28] ; (4cec ) - 4cce: 47a0 blx r4 - 4cd0: 462a mov r2, r5 - 4cd2: 2300 movs r3, #0 - 4cd4: 4806 ldr r0, [pc, #24] ; (4cf0 ) - 4cd6: 4907 ldr r1, [pc, #28] ; (4cf4 ) - 4cd8: 4788 blx r1 - 4cda: e7fe b.n 4cda - 4cdc: 000022b1 .word 0x000022b1 - 4ce0: 000047b5 .word 0x000047b5 - 4ce4: 000246f4 .word 0x000246f4 - 4ce8: 000247dc .word 0x000247dc - 4cec: 0001225d .word 0x0001225d - 4cf0: 0002483c .word 0x0002483c - 4cf4: 000022b9 .word 0x000022b9 - -00004cf8 : -{ - 4cf8: b530 push {r4, r5, lr} - 4cfa: b083 sub sp, #12 - 4cfc: 4605 mov r5, r0 - 4cfe: 460c mov r4, r1 + 4ca8: 4b08 ldr r3, [pc, #32] ; (4ccc ) + 4caa: 9300 str r3, [sp, #0] + 4cac: f240 627e movw r2, #1662 ; 0x67e + 4cb0: 4907 ldr r1, [pc, #28] ; (4cd0 ) + 4cb2: 2003 movs r0, #3 + 4cb4: 4c07 ldr r4, [pc, #28] ; (4cd4 ) + 4cb6: 47a0 blx r4 + 4cb8: 462a mov r2, r5 + 4cba: 2300 movs r3, #0 + 4cbc: 4806 ldr r0, [pc, #24] ; (4cd8 ) + 4cbe: 4907 ldr r1, [pc, #28] ; (4cdc ) + 4cc0: 4788 blx r1 + 4cc2: e7fe b.n 4cc2 + 4cc4: 00002299 .word 0x00002299 + 4cc8: 0000479d .word 0x0000479d + 4ccc: 000246dc .word 0x000246dc + 4cd0: 000247c4 .word 0x000247c4 + 4cd4: 00012245 .word 0x00012245 + 4cd8: 00024824 .word 0x00024824 + 4cdc: 000022a1 .word 0x000022a1 + +00004ce0 : +{ + 4ce0: b530 push {r4, r5, lr} + 4ce2: b083 sub sp, #12 + 4ce4: 4605 mov r5, r0 + 4ce6: 460c mov r4, r1 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4d00: 4b0d ldr r3, [pc, #52] ; (4d38 ) - 4d02: 4798 blx r3 - 4d04: b150 cbz r0, 4d1c + 4ce8: 4b0d ldr r3, [pc, #52] ; (4d20 ) + 4cea: 4798 blx r3 + 4cec: b150 cbz r0, 4d04 lv_state_t new_state = obj->state & (~state); - 4d06: f895 303d ldrb.w r3, [r5, #61] ; 0x3d - 4d0a: ea23 0104 bic.w r1, r3, r4 + 4cee: f895 303d ldrb.w r3, [r5, #61] ; 0x3d + 4cf2: ea23 0104 bic.w r1, r3, r4 if(obj->state != new_state) { - 4d0e: 428b cmp r3, r1 - 4d10: d002 beq.n 4d18 + 4cf6: 428b cmp r3, r1 + 4cf8: d002 beq.n 4d00 lv_obj_set_state(obj, new_state); - 4d12: 4628 mov r0, r5 - 4d14: 4b09 ldr r3, [pc, #36] ; (4d3c ) - 4d16: 4798 blx r3 + 4cfa: 4628 mov r0, r5 + 4cfc: 4b09 ldr r3, [pc, #36] ; (4d24 ) + 4cfe: 4798 blx r3 } - 4d18: b003 add sp, #12 - 4d1a: bd30 pop {r4, r5, pc} + 4d00: b003 add sp, #12 + 4d02: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4d1c: 4b08 ldr r3, [pc, #32] ; (4d40 ) - 4d1e: 9300 str r3, [sp, #0] - 4d20: f240 628f movw r2, #1679 ; 0x68f - 4d24: 4907 ldr r1, [pc, #28] ; (4d44 ) - 4d26: 2003 movs r0, #3 - 4d28: 4c07 ldr r4, [pc, #28] ; (4d48 ) - 4d2a: 47a0 blx r4 - 4d2c: 462a mov r2, r5 - 4d2e: 2300 movs r3, #0 - 4d30: 4806 ldr r0, [pc, #24] ; (4d4c ) - 4d32: 4907 ldr r1, [pc, #28] ; (4d50 ) - 4d34: 4788 blx r1 - 4d36: e7fe b.n 4d36 - 4d38: 000022b1 .word 0x000022b1 - 4d3c: 000047b5 .word 0x000047b5 - 4d40: 00024708 .word 0x00024708 - 4d44: 000247dc .word 0x000247dc - 4d48: 0001225d .word 0x0001225d - 4d4c: 0002483c .word 0x0002483c - 4d50: 000022b9 .word 0x000022b9 - -00004d54 : -{ - 4d54: b530 push {r4, r5, lr} - 4d56: b083 sub sp, #12 - 4d58: 4604 mov r4, r0 + 4d04: 4b08 ldr r3, [pc, #32] ; (4d28 ) + 4d06: 9300 str r3, [sp, #0] + 4d08: f240 628f movw r2, #1679 ; 0x68f + 4d0c: 4907 ldr r1, [pc, #28] ; (4d2c ) + 4d0e: 2003 movs r0, #3 + 4d10: 4c07 ldr r4, [pc, #28] ; (4d30 ) + 4d12: 47a0 blx r4 + 4d14: 462a mov r2, r5 + 4d16: 2300 movs r3, #0 + 4d18: 4806 ldr r0, [pc, #24] ; (4d34 ) + 4d1a: 4907 ldr r1, [pc, #28] ; (4d38 ) + 4d1c: 4788 blx r1 + 4d1e: e7fe b.n 4d1e + 4d20: 00002299 .word 0x00002299 + 4d24: 0000479d .word 0x0000479d + 4d28: 000246f0 .word 0x000246f0 + 4d2c: 000247c4 .word 0x000247c4 + 4d30: 00012245 .word 0x00012245 + 4d34: 00024824 .word 0x00024824 + 4d38: 000022a1 .word 0x000022a1 + +00004d3c : +{ + 4d3c: b530 push {r4, r5, lr} + 4d3e: b083 sub sp, #12 + 4d40: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4d5a: 4b0a ldr r3, [pc, #40] ; (4d84 ) - 4d5c: 4798 blx r3 - 4d5e: b110 cbz r0, 4d66 + 4d42: 4b0a ldr r3, [pc, #40] ; (4d6c ) + 4d44: 4798 blx r3 + 4d46: b110 cbz r0, 4d4e } - 4d60: 69e0 ldr r0, [r4, #28] - 4d62: b003 add sp, #12 - 4d64: bd30 pop {r4, r5, pc} + 4d48: 69e0 ldr r0, [r4, #28] + 4d4a: b003 add sp, #12 + 4d4c: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4d66: 4b08 ldr r3, [pc, #32] ; (4d88 ) - 4d68: 9300 str r3, [sp, #0] - 4d6a: f640 22f5 movw r2, #2805 ; 0xaf5 - 4d6e: 4907 ldr r1, [pc, #28] ; (4d8c ) - 4d70: 2003 movs r0, #3 - 4d72: 4d07 ldr r5, [pc, #28] ; (4d90 ) - 4d74: 47a8 blx r5 - 4d76: 4622 mov r2, r4 - 4d78: 2300 movs r3, #0 - 4d7a: 4806 ldr r0, [pc, #24] ; (4d94 ) - 4d7c: 4906 ldr r1, [pc, #24] ; (4d98 ) - 4d7e: 4788 blx r1 - 4d80: e7fe b.n 4d80 - 4d82: bf00 nop - 4d84: 000022b1 .word 0x000022b1 - 4d88: 0002471c .word 0x0002471c - 4d8c: 000247dc .word 0x000247dc - 4d90: 0001225d .word 0x0001225d - 4d94: 0002483c .word 0x0002483c - 4d98: 000022b9 .word 0x000022b9 - -00004d9c : -{ - 4d9c: b530 push {r4, r5, lr} - 4d9e: b083 sub sp, #12 - 4da0: 4604 mov r4, r0 + 4d4e: 4b08 ldr r3, [pc, #32] ; (4d70 ) + 4d50: 9300 str r3, [sp, #0] + 4d52: f640 22f5 movw r2, #2805 ; 0xaf5 + 4d56: 4907 ldr r1, [pc, #28] ; (4d74 ) + 4d58: 2003 movs r0, #3 + 4d5a: 4d07 ldr r5, [pc, #28] ; (4d78 ) + 4d5c: 47a8 blx r5 + 4d5e: 4622 mov r2, r4 + 4d60: 2300 movs r3, #0 + 4d62: 4806 ldr r0, [pc, #24] ; (4d7c ) + 4d64: 4906 ldr r1, [pc, #24] ; (4d80 ) + 4d66: 4788 blx r1 + 4d68: e7fe b.n 4d68 + 4d6a: bf00 nop + 4d6c: 00002299 .word 0x00002299 + 4d70: 00024704 .word 0x00024704 + 4d74: 000247c4 .word 0x000247c4 + 4d78: 00012245 .word 0x00012245 + 4d7c: 00024824 .word 0x00024824 + 4d80: 000022a1 .word 0x000022a1 + +00004d84 : +{ + 4d84: b530 push {r4, r5, lr} + 4d86: b083 sub sp, #12 + 4d88: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4da2: 4b0a ldr r3, [pc, #40] ; (4dcc ) - 4da4: 4798 blx r3 - 4da6: b110 cbz r0, 4dae + 4d8a: 4b0a ldr r3, [pc, #40] ; (4db4 ) + 4d8c: 4798 blx r3 + 4d8e: b110 cbz r0, 4d96 } - 4da8: 6a60 ldr r0, [r4, #36] ; 0x24 - 4daa: b003 add sp, #12 - 4dac: bd30 pop {r4, r5, pc} + 4d90: 6a60 ldr r0, [r4, #36] ; 0x24 + 4d92: b003 add sp, #12 + 4d94: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4dae: 4b08 ldr r3, [pc, #32] ; (4dd0 ) - 4db0: 9300 str r3, [sp, #0] - 4db2: f640 321e movw r2, #2846 ; 0xb1e - 4db6: 4907 ldr r1, [pc, #28] ; (4dd4 ) - 4db8: 2003 movs r0, #3 - 4dba: 4d07 ldr r5, [pc, #28] ; (4dd8 ) - 4dbc: 47a8 blx r5 - 4dbe: 4622 mov r2, r4 - 4dc0: 2300 movs r3, #0 - 4dc2: 4806 ldr r0, [pc, #24] ; (4ddc ) - 4dc4: 4906 ldr r1, [pc, #24] ; (4de0 ) - 4dc6: 4788 blx r1 - 4dc8: e7fe b.n 4dc8 - 4dca: bf00 nop - 4dcc: 000022b1 .word 0x000022b1 - 4dd0: 00024760 .word 0x00024760 - 4dd4: 000247dc .word 0x000247dc - 4dd8: 0001225d .word 0x0001225d - 4ddc: 0002483c .word 0x0002483c - 4de0: 000022b9 .word 0x000022b9 - -00004de4 : -{ - 4de4: b530 push {r4, r5, lr} - 4de6: b083 sub sp, #12 - 4de8: 4604 mov r4, r0 + 4d96: 4b08 ldr r3, [pc, #32] ; (4db8 ) + 4d98: 9300 str r3, [sp, #0] + 4d9a: f640 321e movw r2, #2846 ; 0xb1e + 4d9e: 4907 ldr r1, [pc, #28] ; (4dbc ) + 4da0: 2003 movs r0, #3 + 4da2: 4d07 ldr r5, [pc, #28] ; (4dc0 ) + 4da4: 47a8 blx r5 + 4da6: 4622 mov r2, r4 + 4da8: 2300 movs r3, #0 + 4daa: 4806 ldr r0, [pc, #24] ; (4dc4 ) + 4dac: 4906 ldr r1, [pc, #24] ; (4dc8 ) + 4dae: 4788 blx r1 + 4db0: e7fe b.n 4db0 + 4db2: bf00 nop + 4db4: 00002299 .word 0x00002299 + 4db8: 00024748 .word 0x00024748 + 4dbc: 000247c4 .word 0x000247c4 + 4dc0: 00012245 .word 0x00012245 + 4dc4: 00024824 .word 0x00024824 + 4dc8: 000022a1 .word 0x000022a1 + +00004dcc : +{ + 4dcc: b530 push {r4, r5, lr} + 4dce: b083 sub sp, #12 + 4dd0: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4dea: 4b0a ldr r3, [pc, #40] ; (4e14 ) - 4dec: 4798 blx r3 - 4dee: b110 cbz r0, 4df6 + 4dd2: 4b0a ldr r3, [pc, #40] ; (4dfc ) + 4dd4: 4798 blx r3 + 4dd6: b110 cbz r0, 4dde } - 4df0: 6ba0 ldr r0, [r4, #56] ; 0x38 - 4df2: b003 add sp, #12 - 4df4: bd30 pop {r4, r5, pc} + 4dd8: 6ba0 ldr r0, [r4, #56] ; 0x38 + 4dda: b003 add sp, #12 + 4ddc: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4df6: 4b08 ldr r3, [pc, #32] ; (4e18 ) - 4df8: 9300 str r3, [sp, #0] - 4dfa: f640 326f movw r2, #2927 ; 0xb6f - 4dfe: 4907 ldr r1, [pc, #28] ; (4e1c ) - 4e00: 2003 movs r0, #3 - 4e02: 4d07 ldr r5, [pc, #28] ; (4e20 ) - 4e04: 47a8 blx r5 - 4e06: 4622 mov r2, r4 - 4e08: 2300 movs r3, #0 - 4e0a: 4806 ldr r0, [pc, #24] ; (4e24 ) - 4e0c: 4906 ldr r1, [pc, #24] ; (4e28 ) - 4e0e: 4788 blx r1 - 4e10: e7fe b.n 4e10 - 4e12: bf00 nop - 4e14: 000022b1 .word 0x000022b1 - 4e18: 00024784 .word 0x00024784 - 4e1c: 000247dc .word 0x000247dc - 4e20: 0001225d .word 0x0001225d - 4e24: 0002483c .word 0x0002483c - 4e28: 000022b9 .word 0x000022b9 - -00004e2c : -{ - 4e2c: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 4e30: 4605 mov r5, r0 + 4dde: 4b08 ldr r3, [pc, #32] ; (4e00 ) + 4de0: 9300 str r3, [sp, #0] + 4de2: f640 326f movw r2, #2927 ; 0xb6f + 4de6: 4907 ldr r1, [pc, #28] ; (4e04 ) + 4de8: 2003 movs r0, #3 + 4dea: 4d07 ldr r5, [pc, #28] ; (4e08 ) + 4dec: 47a8 blx r5 + 4dee: 4622 mov r2, r4 + 4df0: 2300 movs r3, #0 + 4df2: 4806 ldr r0, [pc, #24] ; (4e0c ) + 4df4: 4906 ldr r1, [pc, #24] ; (4e10 ) + 4df6: 4788 blx r1 + 4df8: e7fe b.n 4df8 + 4dfa: bf00 nop + 4dfc: 00002299 .word 0x00002299 + 4e00: 0002476c .word 0x0002476c + 4e04: 000247c4 .word 0x000247c4 + 4e08: 00012245 .word 0x00012245 + 4e0c: 00024824 .word 0x00024824 + 4e10: 000022a1 .word 0x000022a1 + +00004e14 : +{ + 4e14: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 4e18: 4605 mov r5, r0 lv_event_send(obj, LV_EVENT_DELETE, NULL); - 4e32: 2200 movs r2, #0 - 4e34: 2115 movs r1, #21 - 4e36: 4b3c ldr r3, [pc, #240] ; (4f28 ) - 4e38: 4798 blx r3 + 4e1a: 2200 movs r2, #0 + 4e1c: 2115 movs r1, #21 + 4e1e: 4b3c ldr r3, [pc, #240] ; (4f10 ) + 4e20: 4798 blx r3 lv_group_t * group = lv_obj_get_group(obj); - 4e3a: 4628 mov r0, r5 - 4e3c: 4b3b ldr r3, [pc, #236] ; (4f2c ) - 4e3e: 4798 blx r3 + 4e22: 4628 mov r0, r5 + 4e24: 4b3b ldr r3, [pc, #236] ; (4f14 ) + 4e26: 4798 blx r3 if(group) lv_group_remove_obj(obj); - 4e40: 4607 mov r7, r0 - 4e42: b110 cbz r0, 4e4a - 4e44: 4628 mov r0, r5 - 4e46: 4b3a ldr r3, [pc, #232] ; (4f30 ) - 4e48: 4798 blx r3 + 4e28: 4607 mov r7, r0 + 4e2a: b110 cbz r0, 4e32 + 4e2c: 4628 mov r0, r5 + 4e2e: 4b3a ldr r3, [pc, #232] ; (4f18 ) + 4e30: 4798 blx r3 lv_anim_del(obj, NULL); - 4e4a: 2100 movs r1, #0 - 4e4c: 4628 mov r0, r5 - 4e4e: 4b39 ldr r3, [pc, #228] ; (4f34 ) - 4e50: 4798 blx r3 + 4e32: 2100 movs r1, #0 + 4e34: 4628 mov r0, r5 + 4e36: 4b39 ldr r3, [pc, #228] ; (4f1c ) + 4e38: 4798 blx r3 trans_del(obj, 0xFF, 0xFF, NULL); - 4e52: 2300 movs r3, #0 - 4e54: 22ff movs r2, #255 ; 0xff - 4e56: 4611 mov r1, r2 - 4e58: 4628 mov r0, r5 - 4e5a: 4c37 ldr r4, [pc, #220] ; (4f38 ) - 4e5c: 47a0 blx r4 + 4e3a: 2300 movs r3, #0 + 4e3c: 22ff movs r2, #255 ; 0xff + 4e3e: 4611 mov r1, r2 + 4e40: 4628 mov r0, r5 + 4e42: 4c37 ldr r4, [pc, #220] ; (4f20 ) + 4e44: 47a0 blx r4 i = _lv_ll_get_head(&(obj->child_ll)); - 4e5e: f105 0804 add.w r8, r5, #4 - 4e62: 4640 mov r0, r8 - 4e64: 4b35 ldr r3, [pc, #212] ; (4f3c ) - 4e66: 4798 blx r3 + 4e46: f105 0804 add.w r8, r5, #4 + 4e4a: 4640 mov r0, r8 + 4e4c: 4b35 ldr r3, [pc, #212] ; (4f24 ) + 4e4e: 4798 blx r3 while(i != NULL) { - 4e68: 4604 mov r4, r0 - 4e6a: b158 cbz r0, 4e84 + 4e50: 4604 mov r4, r0 + 4e52: b158 cbz r0, 4e6c i_next = _lv_ll_get_next(&(obj->child_ll), i); - 4e6c: f8df 90e8 ldr.w r9, [pc, #232] ; 4f58 - 4e70: 4621 mov r1, r4 - 4e72: 4640 mov r0, r8 - 4e74: 47c8 blx r9 - 4e76: 4606 mov r6, r0 + 4e54: f8df 90e8 ldr.w r9, [pc, #232] ; 4f40 + 4e58: 4621 mov r1, r4 + 4e5a: 4640 mov r0, r8 + 4e5c: 47c8 blx r9 + 4e5e: 4606 mov r6, r0 obj_del_core(i); - 4e78: 4620 mov r0, r4 - 4e7a: f7ff ffd7 bl 4e2c + 4e60: 4620 mov r0, r4 + 4e62: f7ff ffd7 bl 4e14 i = i_next; - 4e7e: 4634 mov r4, r6 + 4e66: 4634 mov r4, r6 while(i != NULL) { - 4e80: 2e00 cmp r6, #0 - 4e82: d1f5 bne.n 4e70 + 4e68: 2e00 cmp r6, #0 + 4e6a: d1f5 bne.n 4e58 #endif static void lv_event_mark_deleted(lv_obj_t * obj) { lv_event_temp_data_t * t = event_temp_data_head; - 4e84: 4b2e ldr r3, [pc, #184] ; (4f40 ) - 4e86: 685b ldr r3, [r3, #4] + 4e6c: 4b2e ldr r3, [pc, #184] ; (4f28 ) + 4e6e: 685b ldr r3, [r3, #4] while(t) { - 4e88: b13b cbz r3, 4e9a + 4e70: b13b cbz r3, 4e82 if(t->obj == obj) t->deleted = true; - 4e8a: 2101 movs r1, #1 - 4e8c: 681a ldr r2, [r3, #0] - 4e8e: 4295 cmp r5, r2 - 4e90: bf08 it eq - 4e92: 7119 strbeq r1, [r3, #4] + 4e72: 2101 movs r1, #1 + 4e74: 681a ldr r2, [r3, #0] + 4e76: 4295 cmp r5, r2 + 4e78: bf08 it eq + 4e7a: 7119 strbeq r1, [r3, #4] t = t->prev; - 4e94: 689b ldr r3, [r3, #8] + 4e7c: 689b ldr r3, [r3, #8] while(t) { - 4e96: 2b00 cmp r3, #0 - 4e98: d1f8 bne.n 4e8c + 4e7e: 2b00 cmp r3, #0 + 4e80: d1f8 bne.n 4e74 lv_indev_t * indev = lv_indev_get_next(NULL); - 4e9a: 2000 movs r0, #0 - 4e9c: 4b29 ldr r3, [pc, #164] ; (4f44 ) - 4e9e: 4798 blx r3 + 4e82: 2000 movs r0, #0 + 4e84: 4b29 ldr r3, [pc, #164] ; (4f2c ) + 4e86: 4798 blx r3 while(indev) { - 4ea0: 4604 mov r4, r0 - 4ea2: b310 cbz r0, 4eea + 4e88: 4604 mov r4, r0 + 4e8a: b310 cbz r0, 4ed2 lv_indev_reset(indev, obj); - 4ea4: f8df 80b4 ldr.w r8, [pc, #180] ; 4f5c + 4e8c: f8df 80b4 ldr.w r8, [pc, #180] ; 4f44 if(indev->group == group && obj == lv_indev_get_obj_act()) { - 4ea8: f8df 90b4 ldr.w r9, [pc, #180] ; 4f60 + 4e90: f8df 90b4 ldr.w r9, [pc, #180] ; 4f48 indev = lv_indev_get_next(indev); - 4eac: 4e25 ldr r6, [pc, #148] ; (4f44 ) - 4eae: e00e b.n 4ece + 4e94: 4e25 ldr r6, [pc, #148] ; (4f2c ) + 4e96: e00e b.n 4eb6 lv_indev_reset(indev, obj); - 4eb0: 4629 mov r1, r5 - 4eb2: 4620 mov r0, r4 - 4eb4: 47c0 blx r8 + 4e98: 4629 mov r1, r5 + 4e9a: 4620 mov r0, r4 + 4e9c: 47c0 blx r8 if(indev->proc.types.pointer.last_pressed == obj) { - 4eb6: 6be3 ldr r3, [r4, #60] ; 0x3c - 4eb8: 429d cmp r5, r3 + 4e9e: 6be3 ldr r3, [r4, #60] ; 0x3c + 4ea0: 429d cmp r5, r3 indev->proc.types.pointer.last_pressed = NULL; - 4eba: bf04 itt eq - 4ebc: 2300 moveq r3, #0 - 4ebe: 63e3 streq r3, [r4, #60] ; 0x3c + 4ea2: bf04 itt eq + 4ea4: 2300 moveq r3, #0 + 4ea6: 63e3 streq r3, [r4, #60] ; 0x3c if(indev->group == group && obj == lv_indev_get_obj_act()) { - 4ec0: 6da3 ldr r3, [r4, #88] ; 0x58 - 4ec2: 429f cmp r7, r3 - 4ec4: d00a beq.n 4edc + 4ea8: 6da3 ldr r3, [r4, #88] ; 0x58 + 4eaa: 429f cmp r7, r3 + 4eac: d00a beq.n 4ec4 indev = lv_indev_get_next(indev); - 4ec6: 4620 mov r0, r4 - 4ec8: 47b0 blx r6 + 4eae: 4620 mov r0, r4 + 4eb0: 47b0 blx r6 while(indev) { - 4eca: 4604 mov r4, r0 - 4ecc: b168 cbz r0, 4eea + 4eb2: 4604 mov r4, r0 + 4eb4: b168 cbz r0, 4ed2 if(indev->proc.types.pointer.act_obj == obj || indev->proc.types.pointer.last_obj == obj) { - 4ece: 6b63 ldr r3, [r4, #52] ; 0x34 - 4ed0: 429d cmp r5, r3 - 4ed2: d0ed beq.n 4eb0 - 4ed4: 6ba3 ldr r3, [r4, #56] ; 0x38 - 4ed6: 429d cmp r5, r3 - 4ed8: d1ed bne.n 4eb6 - 4eda: e7e9 b.n 4eb0 + 4eb6: 6b63 ldr r3, [r4, #52] ; 0x34 + 4eb8: 429d cmp r5, r3 + 4eba: d0ed beq.n 4e98 + 4ebc: 6ba3 ldr r3, [r4, #56] ; 0x38 + 4ebe: 429d cmp r5, r3 + 4ec0: d1ed bne.n 4e9e + 4ec2: e7e9 b.n 4e98 if(indev->group == group && obj == lv_indev_get_obj_act()) { - 4edc: 47c8 blx r9 - 4ede: 4285 cmp r5, r0 - 4ee0: d1f1 bne.n 4ec6 + 4ec4: 47c8 blx r9 + 4ec6: 4285 cmp r5, r0 + 4ec8: d1f1 bne.n 4eae lv_indev_reset(indev, obj); - 4ee2: 4629 mov r1, r5 - 4ee4: 4620 mov r0, r4 - 4ee6: 47c0 blx r8 - 4ee8: e7ed b.n 4ec6 + 4eca: 4629 mov r1, r5 + 4ecc: 4620 mov r0, r4 + 4ece: 47c0 blx r8 + 4ed0: e7ed b.n 4eae obj->signal_cb(obj, LV_SIGNAL_CLEANUP, NULL); - 4eea: 69eb ldr r3, [r5, #28] - 4eec: 2200 movs r2, #0 - 4eee: 4611 mov r1, r2 - 4ef0: 4628 mov r0, r5 - 4ef2: 4798 blx r3 + 4ed2: 69eb ldr r3, [r5, #28] + 4ed4: 2200 movs r2, #0 + 4ed6: 4611 mov r1, r2 + 4ed8: 4628 mov r0, r5 + 4eda: 4798 blx r3 lv_obj_t * par = lv_obj_get_parent(obj); - 4ef4: 4628 mov r0, r5 - 4ef6: 4b14 ldr r3, [pc, #80] ; (4f48 ) - 4ef8: 4798 blx r3 + 4edc: 4628 mov r0, r5 + 4ede: 4b14 ldr r3, [pc, #80] ; (4f30 ) + 4ee0: 4798 blx r3 if(par == NULL) { /*It is a screen*/ - 4efa: b160 cbz r0, 4f16 + 4ee2: b160 cbz r0, 4efe _lv_ll_remove(&(par->child_ll), obj); - 4efc: 4629 mov r1, r5 - 4efe: 3004 adds r0, #4 - 4f00: 4b12 ldr r3, [pc, #72] ; (4f4c ) - 4f02: 4798 blx r3 + 4ee4: 4629 mov r1, r5 + 4ee6: 3004 adds r0, #4 + 4ee8: 4b12 ldr r3, [pc, #72] ; (4f34 ) + 4eea: 4798 blx r3 if(obj->ext_attr != NULL) lv_mem_free(obj->ext_attr); - 4f04: 6a68 ldr r0, [r5, #36] ; 0x24 - 4f06: b108 cbz r0, 4f0c - 4f08: 4b11 ldr r3, [pc, #68] ; (4f50 ) - 4f0a: 4798 blx r3 + 4eec: 6a68 ldr r0, [r5, #36] ; 0x24 + 4eee: b108 cbz r0, 4ef4 + 4ef0: 4b11 ldr r3, [pc, #68] ; (4f38 ) + 4ef2: 4798 blx r3 lv_mem_free(obj); /*Free the object itself*/ - 4f0c: 4628 mov r0, r5 - 4f0e: 4b10 ldr r3, [pc, #64] ; (4f50 ) - 4f10: 4798 blx r3 - 4f12: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 4ef4: 4628 mov r0, r5 + 4ef6: 4b10 ldr r3, [pc, #64] ; (4f38 ) + 4ef8: 4798 blx r3 + 4efa: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} lv_disp_t * d = lv_obj_get_disp(obj); - 4f16: 4628 mov r0, r5 - 4f18: 4b0e ldr r3, [pc, #56] ; (4f54 ) - 4f1a: 4798 blx r3 + 4efe: 4628 mov r0, r5 + 4f00: 4b0e ldr r3, [pc, #56] ; (4f3c ) + 4f02: 4798 blx r3 _lv_ll_remove(&d->scr_ll, obj); - 4f1c: 4629 mov r1, r5 - 4f1e: 3030 adds r0, #48 ; 0x30 - 4f20: 4b0a ldr r3, [pc, #40] ; (4f4c ) - 4f22: 4798 blx r3 - 4f24: e7ee b.n 4f04 - 4f26: bf00 nop - 4f28: 00002acd .word 0x00002acd - 4f2c: 00004de5 .word 0x00004de5 - 4f30: 00002679 .word 0x00002679 - 4f34: 00011329 .word 0x00011329 - 4f38: 00003029 .word 0x00003029 - 4f3c: 00011fa9 .word 0x00011fa9 - 4f40: 2000267c .word 0x2000267c - 4f44: 00011021 .word 0x00011021 - 4f48: 00002c7d .word 0x00002c7d - 4f4c: 00012095 .word 0x00012095 - 4f50: 000124c5 .word 0x000124c5 - 4f54: 00002d21 .word 0x00002d21 - 4f58: 00011fbd .word 0x00011fbd - 4f5c: 00002775 .word 0x00002775 - 4f60: 00002801 .word 0x00002801 - -00004f64 : -{ - 4f64: b570 push {r4, r5, r6, lr} - 4f66: b082 sub sp, #8 - 4f68: 4604 mov r4, r0 + 4f04: 4629 mov r1, r5 + 4f06: 3030 adds r0, #48 ; 0x30 + 4f08: 4b0a ldr r3, [pc, #40] ; (4f34 ) + 4f0a: 4798 blx r3 + 4f0c: e7ee b.n 4eec + 4f0e: bf00 nop + 4f10: 00002ab5 .word 0x00002ab5 + 4f14: 00004dcd .word 0x00004dcd + 4f18: 00002661 .word 0x00002661 + 4f1c: 00011311 .word 0x00011311 + 4f20: 00003011 .word 0x00003011 + 4f24: 00011f91 .word 0x00011f91 + 4f28: 2000267c .word 0x2000267c + 4f2c: 00011009 .word 0x00011009 + 4f30: 00002c65 .word 0x00002c65 + 4f34: 0001207d .word 0x0001207d + 4f38: 000124ad .word 0x000124ad + 4f3c: 00002d09 .word 0x00002d09 + 4f40: 00011fa5 .word 0x00011fa5 + 4f44: 0000275d .word 0x0000275d + 4f48: 000027e9 .word 0x000027e9 + +00004f4c : +{ + 4f4c: b570 push {r4, r5, r6, lr} + 4f4e: b082 sub sp, #8 + 4f50: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4f6a: 4b19 ldr r3, [pc, #100] ; (4fd0 ) - 4f6c: 4798 blx r3 - 4f6e: b968 cbnz r0, 4f8c - 4f70: 4b18 ldr r3, [pc, #96] ; (4fd4 ) - 4f72: 9300 str r3, [sp, #0] - 4f74: f240 1293 movw r2, #403 ; 0x193 - 4f78: 4917 ldr r1, [pc, #92] ; (4fd8 ) - 4f7a: 2003 movs r0, #3 - 4f7c: 4d17 ldr r5, [pc, #92] ; (4fdc ) - 4f7e: 47a8 blx r5 - 4f80: 4622 mov r2, r4 - 4f82: 2300 movs r3, #0 - 4f84: 4816 ldr r0, [pc, #88] ; (4fe0 ) - 4f86: 4917 ldr r1, [pc, #92] ; (4fe4 ) - 4f88: 4788 blx r1 - 4f8a: e7fe b.n 4f8a + 4f52: 4b19 ldr r3, [pc, #100] ; (4fb8 ) + 4f54: 4798 blx r3 + 4f56: b968 cbnz r0, 4f74 + 4f58: 4b18 ldr r3, [pc, #96] ; (4fbc ) + 4f5a: 9300 str r3, [sp, #0] + 4f5c: f240 1293 movw r2, #403 ; 0x193 + 4f60: 4917 ldr r1, [pc, #92] ; (4fc0 ) + 4f62: 2003 movs r0, #3 + 4f64: 4d17 ldr r5, [pc, #92] ; (4fc4 ) + 4f66: 47a8 blx r5 + 4f68: 4622 mov r2, r4 + 4f6a: 2300 movs r3, #0 + 4f6c: 4816 ldr r0, [pc, #88] ; (4fc8 ) + 4f6e: 4917 ldr r1, [pc, #92] ; (4fcc ) + 4f70: 4788 blx r1 + 4f72: e7fe b.n 4f72 lv_obj_invalidate(obj); - 4f8c: 4620 mov r0, r4 - 4f8e: 4b16 ldr r3, [pc, #88] ; (4fe8 ) - 4f90: 4798 blx r3 + 4f74: 4620 mov r0, r4 + 4f76: 4b16 ldr r3, [pc, #88] ; (4fd0 ) + 4f78: 4798 blx r3 lv_obj_t * par = lv_obj_get_parent(obj); - 4f92: 4620 mov r0, r4 - 4f94: 4b15 ldr r3, [pc, #84] ; (4fec ) - 4f96: 4798 blx r3 + 4f7a: 4620 mov r0, r4 + 4f7c: 4b15 ldr r3, [pc, #84] ; (4fd4 ) + 4f7e: 4798 blx r3 if(par == NULL) { - 4f98: 4605 mov r5, r0 - 4f9a: b140 cbz r0, 4fae + 4f80: 4605 mov r5, r0 + 4f82: b140 cbz r0, 4f96 obj_del_core(obj); - 4f9c: 4620 mov r0, r4 - 4f9e: 4b14 ldr r3, [pc, #80] ; (4ff0 ) - 4fa0: 4798 blx r3 + 4f84: 4620 mov r0, r4 + 4f86: 4b14 ldr r3, [pc, #80] ; (4fd8 ) + 4f88: 4798 blx r3 par->signal_cb(par, LV_SIGNAL_CHILD_CHG, NULL); - 4fa2: 69eb ldr r3, [r5, #28] - 4fa4: 2200 movs r2, #0 - 4fa6: 2101 movs r1, #1 - 4fa8: 4628 mov r0, r5 - 4faa: 4798 blx r3 - 4fac: e00c b.n 4fc8 + 4f8a: 69eb ldr r3, [r5, #28] + 4f8c: 2200 movs r2, #0 + 4f8e: 2101 movs r1, #1 + 4f90: 4628 mov r0, r5 + 4f92: 4798 blx r3 + 4f94: e00c b.n 4fb0 disp = lv_obj_get_disp(obj); - 4fae: 4620 mov r0, r4 - 4fb0: 4b10 ldr r3, [pc, #64] ; (4ff4 ) - 4fb2: 4798 blx r3 + 4f96: 4620 mov r0, r4 + 4f98: 4b10 ldr r3, [pc, #64] ; (4fdc ) + 4f9a: 4798 blx r3 if(!disp) return LV_RES_INV; /*Shouldn't happen*/ - 4fb4: 4605 mov r5, r0 - 4fb6: b138 cbz r0, 4fc8 + 4f9c: 4605 mov r5, r0 + 4f9e: b138 cbz r0, 4fb0 if(disp->act_scr == obj) act_scr_del = true; - 4fb8: 6bc6 ldr r6, [r0, #60] ; 0x3c + 4fa0: 6bc6 ldr r6, [r0, #60] ; 0x3c obj_del_core(obj); - 4fba: 4620 mov r0, r4 - 4fbc: 4b0c ldr r3, [pc, #48] ; (4ff0 ) - 4fbe: 4798 blx r3 + 4fa2: 4620 mov r0, r4 + 4fa4: 4b0c ldr r3, [pc, #48] ; (4fd8 ) + 4fa6: 4798 blx r3 if(act_scr_del) { - 4fc0: 42b4 cmp r4, r6 - 4fc2: d101 bne.n 4fc8 + 4fa8: 42b4 cmp r4, r6 + 4faa: d101 bne.n 4fb0 disp->act_scr = NULL; - 4fc4: 2300 movs r3, #0 - 4fc6: 63eb str r3, [r5, #60] ; 0x3c -} - 4fc8: 2000 movs r0, #0 - 4fca: b002 add sp, #8 - 4fcc: bd70 pop {r4, r5, r6, pc} - 4fce: bf00 nop - 4fd0: 000022b1 .word 0x000022b1 - 4fd4: 00024798 .word 0x00024798 - 4fd8: 000247dc .word 0x000247dc - 4fdc: 0001225d .word 0x0001225d - 4fe0: 0002483c .word 0x0002483c - 4fe4: 000022b9 .word 0x000022b9 - 4fe8: 00003321 .word 0x00003321 - 4fec: 00002c7d .word 0x00002c7d - 4ff0: 00004e2d .word 0x00004e2d - 4ff4: 00002d21 .word 0x00002d21 - -00004ff8 : -{ - 4ff8: b530 push {r4, r5, lr} - 4ffa: b083 sub sp, #12 - 4ffc: 4604 mov r4, r0 + 4fac: 2300 movs r3, #0 + 4fae: 63eb str r3, [r5, #60] ; 0x3c +} + 4fb0: 2000 movs r0, #0 + 4fb2: b002 add sp, #8 + 4fb4: bd70 pop {r4, r5, r6, pc} + 4fb6: bf00 nop + 4fb8: 00002299 .word 0x00002299 + 4fbc: 00024780 .word 0x00024780 + 4fc0: 000247c4 .word 0x000247c4 + 4fc4: 00012245 .word 0x00012245 + 4fc8: 00024824 .word 0x00024824 + 4fcc: 000022a1 .word 0x000022a1 + 4fd0: 00003309 .word 0x00003309 + 4fd4: 00002c65 .word 0x00002c65 + 4fd8: 00004e15 .word 0x00004e15 + 4fdc: 00002d09 .word 0x00002d09 + +00004fe0 : +{ + 4fe0: b530 push {r4, r5, lr} + 4fe2: b083 sub sp, #12 + 4fe4: 4604 mov r4, r0 LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 4ffe: 4b0e ldr r3, [pc, #56] ; (5038 ) - 5000: 4798 blx r3 - 5002: b148 cbz r0, 5018 + 4fe6: 4b0e ldr r3, [pc, #56] ; (5020 ) + 4fe8: 4798 blx r3 + 4fea: b148 cbz r0, 5000 if(obj->group_p) { - 5004: 6ba0 ldr r0, [r4, #56] ; 0x38 - 5006: b1a8 cbz r0, 5034 + 4fec: 6ba0 ldr r0, [r4, #56] ; 0x38 + 4fee: b1a8 cbz r0, 501c if(lv_group_get_focused(obj->group_p) == obj) return true; - 5008: 4b0c ldr r3, [pc, #48] ; (503c ) - 500a: 4798 blx r3 - 500c: 4284 cmp r4, r0 - 500e: bf14 ite ne - 5010: 2000 movne r0, #0 - 5012: 2001 moveq r0, #1 -} - 5014: b003 add sp, #12 - 5016: bd30 pop {r4, r5, pc} + 4ff0: 4b0c ldr r3, [pc, #48] ; (5024 ) + 4ff2: 4798 blx r3 + 4ff4: 4284 cmp r4, r0 + 4ff6: bf14 ite ne + 4ff8: 2000 movne r0, #0 + 4ffa: 2001 moveq r0, #1 +} + 4ffc: b003 add sp, #12 + 4ffe: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(obj, LV_OBJX_NAME); - 5018: 4b09 ldr r3, [pc, #36] ; (5040 ) - 501a: 9300 str r3, [sp, #0] - 501c: f44f 6238 mov.w r2, #2944 ; 0xb80 - 5020: 4908 ldr r1, [pc, #32] ; (5044 ) - 5022: 2003 movs r0, #3 - 5024: 4d08 ldr r5, [pc, #32] ; (5048 ) - 5026: 47a8 blx r5 - 5028: 4622 mov r2, r4 - 502a: 2300 movs r3, #0 - 502c: 4807 ldr r0, [pc, #28] ; (504c ) - 502e: 4908 ldr r1, [pc, #32] ; (5050 ) - 5030: 4788 blx r1 - 5032: e7fe b.n 5032 + 5000: 4b09 ldr r3, [pc, #36] ; (5028 ) + 5002: 9300 str r3, [sp, #0] + 5004: f44f 6238 mov.w r2, #2944 ; 0xb80 + 5008: 4908 ldr r1, [pc, #32] ; (502c ) + 500a: 2003 movs r0, #3 + 500c: 4d08 ldr r5, [pc, #32] ; (5030 ) + 500e: 47a8 blx r5 + 5010: 4622 mov r2, r4 + 5012: 2300 movs r3, #0 + 5014: 4807 ldr r0, [pc, #28] ; (5034 ) + 5016: 4908 ldr r1, [pc, #32] ; (5038 ) + 5018: 4788 blx r1 + 501a: e7fe b.n 501a return false; - 5034: 2000 movs r0, #0 - 5036: e7ed b.n 5014 - 5038: 000022b1 .word 0x000022b1 - 503c: 00002749 .word 0x00002749 - 5040: 000247c8 .word 0x000247c8 - 5044: 000247dc .word 0x000247dc - 5048: 0001225d .word 0x0001225d - 504c: 0002483c .word 0x0002483c - 5050: 000022b9 .word 0x000022b9 - -00005054 : -{ - 5054: b500 push {lr} - 5056: b083 sub sp, #12 + 501c: 2000 movs r0, #0 + 501e: e7ed b.n 4ffc + 5020: 00002299 .word 0x00002299 + 5024: 00002731 .word 0x00002731 + 5028: 000247b0 .word 0x000247b0 + 502c: 000247c4 .word 0x000247c4 + 5030: 00012245 .word 0x00012245 + 5034: 00024824 .word 0x00024824 + 5038: 000022a1 .word 0x000022a1 + +0000503c : +{ + 503c: b500 push {lr} + 503e: b083 sub sp, #12 ext_area.x1 = obj->coords.x1 - obj->ext_click_pad_hor; - 5058: f890 3030 ldrb.w r3, [r0, #48] ; 0x30 - 505c: 8a02 ldrh r2, [r0, #16] - 505e: 1ad2 subs r2, r2, r3 - 5060: f8ad 2000 strh.w r2, [sp] + 5040: f890 3030 ldrb.w r3, [r0, #48] ; 0x30 + 5044: 8a02 ldrh r2, [r0, #16] + 5046: 1ad2 subs r2, r2, r3 + 5048: f8ad 2000 strh.w r2, [sp] ext_area.x2 = obj->coords.x2 + obj->ext_click_pad_hor; - 5064: 8a82 ldrh r2, [r0, #20] - 5066: 4413 add r3, r2 - 5068: f8ad 3004 strh.w r3, [sp, #4] + 504c: 8a82 ldrh r2, [r0, #20] + 504e: 4413 add r3, r2 + 5050: f8ad 3004 strh.w r3, [sp, #4] ext_area.y1 = obj->coords.y1 - obj->ext_click_pad_ver; - 506c: f890 3031 ldrb.w r3, [r0, #49] ; 0x31 - 5070: 8a42 ldrh r2, [r0, #18] - 5072: 1ad2 subs r2, r2, r3 - 5074: f8ad 2002 strh.w r2, [sp, #2] + 5054: f890 3031 ldrb.w r3, [r0, #49] ; 0x31 + 5058: 8a42 ldrh r2, [r0, #18] + 505a: 1ad2 subs r2, r2, r3 + 505c: f8ad 2002 strh.w r2, [sp, #2] ext_area.y2 = obj->coords.y2 + obj->ext_click_pad_ver; - 5078: 8ac2 ldrh r2, [r0, #22] - 507a: 4413 add r3, r2 - 507c: f8ad 3006 strh.w r3, [sp, #6] + 5060: 8ac2 ldrh r2, [r0, #22] + 5062: 4413 add r3, r2 + 5064: f8ad 3006 strh.w r3, [sp, #6] if(!_lv_area_is_point_on(&ext_area, point, 0)) { - 5080: 2200 movs r2, #0 - 5082: 4668 mov r0, sp - 5084: 4b02 ldr r3, [pc, #8] ; (5090 ) - 5086: 4798 blx r3 + 5068: 2200 movs r2, #0 + 506a: 4668 mov r0, sp + 506c: 4b02 ldr r3, [pc, #8] ; (5078 ) + 506e: 4798 blx r3 } - 5088: b003 add sp, #12 - 508a: f85d fb04 ldr.w pc, [sp], #4 - 508e: bf00 nop - 5090: 000115b9 .word 0x000115b9 + 5070: b003 add sp, #12 + 5072: f85d fb04 ldr.w pc, [sp], #4 + 5076: bf00 nop + 5078: 000115a1 .word 0x000115a1 -00005094 : +0000507c : if(buf->type[i] == NULL) break; - 5094: 6803 ldr r3, [r0, #0] - 5096: b17b cbz r3, 50b8 + 507c: 6803 ldr r3, [r0, #0] + 507e: b17b cbz r3, 50a0 { - 5098: b410 push {r4} - 509a: 1d02 adds r2, r0, #4 + 5080: b410 push {r4} + 5082: 1d02 adds r2, r0, #4 for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 509c: 2301 movs r3, #1 + 5084: 2301 movs r3, #1 if(buf->type[i] == NULL) break; - 509e: f852 4b04 ldr.w r4, [r2], #4 - 50a2: b11c cbz r4, 50ac + 5086: f852 4b04 ldr.w r4, [r2], #4 + 508a: b11c cbz r4, 5094 for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 50a4: 3301 adds r3, #1 - 50a6: b2db uxtb r3, r3 - 50a8: 2b07 cmp r3, #7 - 50aa: d1f8 bne.n 509e + 508c: 3301 adds r3, #1 + 508e: b2db uxtb r3, r3 + 5090: 2b07 cmp r3, #7 + 5092: d1f8 bne.n 5086 buf->type[i] = name; - 50ac: f840 1023 str.w r1, [r0, r3, lsl #2] + 5094: f840 1023 str.w r1, [r0, r3, lsl #2] } - 50b0: 2001 movs r0, #1 - 50b2: f85d 4b04 ldr.w r4, [sp], #4 - 50b6: 4770 bx lr + 5098: 2001 movs r0, #1 + 509a: f85d 4b04 ldr.w r4, [sp], #4 + 509e: 4770 bx lr for(i = 0; i < LV_MAX_ANCESTOR_NUM - 1; i++) { /*Find the last set data*/ - 50b8: 2300 movs r3, #0 + 50a0: 2300 movs r3, #0 buf->type[i] = name; - 50ba: f840 1023 str.w r1, [r0, r3, lsl #2] + 50a2: f840 1023 str.w r1, [r0, r3, lsl #2] } - 50be: 2001 movs r0, #1 - 50c0: 4770 bx lr + 50a6: 2001 movs r0, #1 + 50a8: 4770 bx lr ... -000050c4 : +000050ac : { - 50c4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 50c8: 4605 mov r5, r0 - 50ca: 460e mov r6, r1 - 50cc: 4614 mov r4, r2 + 50ac: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 50b0: 4605 mov r5, r0 + 50b2: 460e mov r6, r1 + 50b4: 4614 mov r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 50ce: 2201 movs r2, #1 - 50d0: 4ba8 ldr r3, [pc, #672] ; (5374 ) - 50d2: 4798 blx r3 + 50b6: 2201 movs r2, #1 + 50b8: 4ba8 ldr r3, [pc, #672] ; (535c ) + 50ba: 4798 blx r3 draw_dsc->radius = lv_obj_get_style_radius(obj, part); - 50d4: 8020 strh r0, [r4, #0] + 50bc: 8020 strh r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 50d6: f248 020c movw r2, #32780 ; 0x800c - 50da: 4631 mov r1, r6 - 50dc: 4628 mov r0, r5 - 50de: 4ba6 ldr r3, [pc, #664] ; (5378 ) - 50e0: 4798 blx r3 + 50be: f248 020c movw r2, #32780 ; 0x800c + 50c2: 4631 mov r1, r6 + 50c4: 4628 mov r0, r5 + 50c6: 4ba6 ldr r3, [pc, #664] ; (5360 ) + 50c8: 4798 blx r3 if(opa_scale <= LV_OPA_MIN) { - 50e2: 2805 cmp r0, #5 - 50e4: d942 bls.n 516c - 50e6: 4607 mov r7, r0 + 50ca: 2805 cmp r0, #5 + 50cc: d942 bls.n 5154 + 50ce: 4607 mov r7, r0 if(draw_dsc->bg_opa != LV_OPA_TRANSP) { - 50e8: 7b23 ldrb r3, [r4, #12] - 50ea: 2b00 cmp r3, #0 - 50ec: d149 bne.n 5182 + 50d0: 7b23 ldrb r3, [r4, #12] + 50d2: 2b00 cmp r3, #0 + 50d4: d149 bne.n 516a if(draw_dsc->border_opa != LV_OPA_TRANSP) { - 50ee: 7d23 ldrb r3, [r4, #20] - 50f0: 2b00 cmp r3, #0 - 50f2: d176 bne.n 51e2 + 50d6: 7d23 ldrb r3, [r4, #20] + 50d8: 2b00 cmp r3, #0 + 50da: d176 bne.n 51ca if(draw_dsc->outline_opa != LV_OPA_TRANSP) { - 50f4: 7f23 ldrb r3, [r4, #28] - 50f6: 2b00 cmp r3, #0 - 50f8: f040 8098 bne.w 522c + 50dc: 7f23 ldrb r3, [r4, #28] + 50de: 2b00 cmp r3, #0 + 50e0: f040 8098 bne.w 5214 if(draw_dsc->pattern_opa != LV_OPA_TRANSP) { - 50fc: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 5100: 2b00 cmp r3, #0 - 5102: f040 80b8 bne.w 5276 + 50e4: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 50e8: 2b00 cmp r3, #0 + 50ea: f040 80b8 bne.w 525e if(draw_dsc->shadow_opa > LV_OPA_MIN) { - 5106: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - 510a: 2b05 cmp r3, #5 - 510c: f200 8101 bhi.w 5312 + 50ee: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + 50f2: 2b05 cmp r3, #5 + 50f4: f200 8101 bhi.w 52fa if(draw_dsc->value_opa > LV_OPA_MIN) { - 5110: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 - 5114: 2b05 cmp r3, #5 - 5116: f200 8137 bhi.w 5388 + 50f8: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 + 50fc: 2b05 cmp r3, #5 + 50fe: f200 8137 bhi.w 5370 if(opa_scale < LV_OPA_MAX) { - 511a: 2ff9 cmp r7, #249 ; 0xf9 - 511c: d824 bhi.n 5168 + 5102: 2ff9 cmp r7, #249 ; 0xf9 + 5104: d824 bhi.n 5150 draw_dsc->bg_opa = (uint16_t)((uint16_t)draw_dsc->bg_opa * opa_scale) >> 8; - 511e: b2bf uxth r7, r7 - 5120: 7b23 ldrb r3, [r4, #12] - 5122: fb13 f307 smulbb r3, r3, r7 - 5126: f3c3 2307 ubfx r3, r3, #8, #8 - 512a: 7323 strb r3, [r4, #12] + 5106: b2bf uxth r7, r7 + 5108: 7b23 ldrb r3, [r4, #12] + 510a: fb13 f307 smulbb r3, r3, r7 + 510e: f3c3 2307 ubfx r3, r3, #8, #8 + 5112: 7323 strb r3, [r4, #12] draw_dsc->border_opa = (uint16_t)((uint16_t)draw_dsc->border_opa * opa_scale) >> 8; - 512c: 7d23 ldrb r3, [r4, #20] - 512e: fb13 f307 smulbb r3, r3, r7 - 5132: f3c3 2307 ubfx r3, r3, #8, #8 - 5136: 7523 strb r3, [r4, #20] + 5114: 7d23 ldrb r3, [r4, #20] + 5116: fb13 f307 smulbb r3, r3, r7 + 511a: f3c3 2307 ubfx r3, r3, #8, #8 + 511e: 7523 strb r3, [r4, #20] draw_dsc->shadow_opa = (uint16_t)((uint16_t)draw_dsc->shadow_opa * opa_scale) >> 8; - 5138: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - 513c: fb13 f307 smulbb r3, r3, r7 - 5140: f3c3 2307 ubfx r3, r3, #8, #8 - 5144: f884 3028 strb.w r3, [r4, #40] ; 0x28 + 5120: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + 5124: fb13 f307 smulbb r3, r3, r7 + 5128: f3c3 2307 ubfx r3, r3, #8, #8 + 512c: f884 3028 strb.w r3, [r4, #40] ; 0x28 draw_dsc->pattern_opa = (uint16_t)((uint16_t)draw_dsc->pattern_opa * opa_scale) >> 8; - 5148: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 514c: fb13 f307 smulbb r3, r3, r7 - 5150: f3c3 2307 ubfx r3, r3, #8, #8 - 5154: f884 3036 strb.w r3, [r4, #54] ; 0x36 + 5130: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 5134: fb13 f307 smulbb r3, r3, r7 + 5138: f3c3 2307 ubfx r3, r3, #8, #8 + 513c: f884 3036 strb.w r3, [r4, #54] ; 0x36 draw_dsc->value_opa = (uint16_t)((uint16_t)draw_dsc->value_opa * opa_scale) >> 8; - 5158: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 - 515c: fb13 f707 smulbb r7, r3, r7 - 5160: f3c7 2707 ubfx r7, r7, #8, #8 - 5164: f884 7044 strb.w r7, [r4, #68] ; 0x44 - 5168: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 5140: f894 3044 ldrb.w r3, [r4, #68] ; 0x44 + 5144: fb13 f707 smulbb r7, r3, r7 + 5148: f3c7 2707 ubfx r7, r7, #8, #8 + 514c: f884 7044 strb.w r7, [r4, #68] ; 0x44 + 5150: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} draw_dsc->bg_opa = LV_OPA_TRANSP; - 516c: 2300 movs r3, #0 - 516e: 7323 strb r3, [r4, #12] + 5154: 2300 movs r3, #0 + 5156: 7323 strb r3, [r4, #12] draw_dsc->border_opa = LV_OPA_TRANSP; - 5170: 7523 strb r3, [r4, #20] + 5158: 7523 strb r3, [r4, #20] draw_dsc->shadow_opa = LV_OPA_TRANSP; - 5172: f884 3028 strb.w r3, [r4, #40] ; 0x28 + 515a: f884 3028 strb.w r3, [r4, #40] ; 0x28 draw_dsc->pattern_opa = LV_OPA_TRANSP; - 5176: f884 3036 strb.w r3, [r4, #54] ; 0x36 + 515e: f884 3036 strb.w r3, [r4, #54] ; 0x36 draw_dsc->value_opa = LV_OPA_TRANSP; - 517a: f884 3044 strb.w r3, [r4, #68] ; 0x44 + 5162: f884 3044 strb.w r3, [r4, #68] ; 0x44 return; - 517e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 5166: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 5182: 222c movs r2, #44 ; 0x2c - 5184: 4631 mov r1, r6 - 5186: 4628 mov r0, r5 - 5188: 4b7b ldr r3, [pc, #492] ; (5378 ) - 518a: 4798 blx r3 + 516a: 222c movs r2, #44 ; 0x2c + 516c: 4631 mov r1, r6 + 516e: 4628 mov r0, r5 + 5170: 4b7b ldr r3, [pc, #492] ; (5360 ) + 5172: 4798 blx r3 draw_dsc->bg_opa = lv_obj_get_style_bg_opa(obj, part); - 518c: 7320 strb r0, [r4, #12] + 5174: 7320 strb r0, [r4, #12] if(draw_dsc->bg_opa > LV_OPA_MIN) { - 518e: 2805 cmp r0, #5 - 5190: d9ad bls.n 50ee + 5176: 2805 cmp r0, #5 + 5178: d9ad bls.n 50d6 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 5192: 2229 movs r2, #41 ; 0x29 - 5194: 4631 mov r1, r6 - 5196: 4628 mov r0, r5 - 5198: 4b78 ldr r3, [pc, #480] ; (537c ) - 519a: 4798 blx r3 + 517a: 2229 movs r2, #41 ; 0x29 + 517c: 4631 mov r1, r6 + 517e: 4628 mov r0, r5 + 5180: 4b78 ldr r3, [pc, #480] ; (5364 ) + 5182: 4798 blx r3 draw_dsc->bg_color = lv_obj_get_style_bg_color(obj, part); - 519c: 8060 strh r0, [r4, #2] + 5184: 8060 strh r0, [r4, #2] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar) - 519e: 2223 movs r2, #35 ; 0x23 - 51a0: 4631 mov r1, r6 - 51a2: 4628 mov r0, r5 - 51a4: 4b73 ldr r3, [pc, #460] ; (5374 ) - 51a6: 4798 blx r3 - 51a8: b2c0 uxtb r0, r0 + 5186: 2223 movs r2, #35 ; 0x23 + 5188: 4631 mov r1, r6 + 518a: 4628 mov r0, r5 + 518c: 4b73 ldr r3, [pc, #460] ; (535c ) + 518e: 4798 blx r3 + 5190: b2c0 uxtb r0, r0 draw_dsc->bg_grad_dir = lv_obj_get_style_bg_grad_dir(obj, part); - 51aa: 71a0 strb r0, [r4, #6] + 5192: 71a0 strb r0, [r4, #6] if(draw_dsc->bg_grad_dir != LV_GRAD_DIR_NONE) { - 51ac: b930 cbnz r0, 51bc + 5194: b930 cbnz r0, 51a4 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar) - 51ae: 2220 movs r2, #32 - 51b0: 4631 mov r1, r6 - 51b2: 4628 mov r0, r5 - 51b4: 4b6f ldr r3, [pc, #444] ; (5374 ) - 51b6: 4798 blx r3 - 51b8: 7360 strb r0, [r4, #13] - 51ba: e798 b.n 50ee + 5196: 2220 movs r2, #32 + 5198: 4631 mov r1, r6 + 519a: 4628 mov r0, r5 + 519c: 4b6f ldr r3, [pc, #444] ; (535c ) + 519e: 4798 blx r3 + 51a0: 7360 strb r0, [r4, #13] + 51a2: e798 b.n 50d6 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar) - 51bc: 222a movs r2, #42 ; 0x2a - 51be: 4631 mov r1, r6 - 51c0: 4628 mov r0, r5 - 51c2: 4b6e ldr r3, [pc, #440] ; (537c ) - 51c4: 4798 blx r3 + 51a4: 222a movs r2, #42 ; 0x2a + 51a6: 4631 mov r1, r6 + 51a8: 4628 mov r0, r5 + 51aa: 4b6e ldr r3, [pc, #440] ; (5364 ) + 51ac: 4798 blx r3 draw_dsc->bg_grad_color = lv_obj_get_style_bg_grad_color(obj, part); - 51c6: 80a0 strh r0, [r4, #4] + 51ae: 80a0 strh r0, [r4, #4] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar) - 51c8: 2221 movs r2, #33 ; 0x21 - 51ca: 4631 mov r1, r6 - 51cc: 4628 mov r0, r5 - 51ce: f8df 81a4 ldr.w r8, [pc, #420] ; 5374 - 51d2: 47c0 blx r8 + 51b0: 2221 movs r2, #33 ; 0x21 + 51b2: 4631 mov r1, r6 + 51b4: 4628 mov r0, r5 + 51b6: f8df 81a4 ldr.w r8, [pc, #420] ; 535c + 51ba: 47c0 blx r8 draw_dsc->bg_main_color_stop = lv_obj_get_style_bg_main_stop(obj, part); - 51d4: 8120 strh r0, [r4, #8] + 51bc: 8120 strh r0, [r4, #8] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar) - 51d6: 2222 movs r2, #34 ; 0x22 - 51d8: 4631 mov r1, r6 - 51da: 4628 mov r0, r5 - 51dc: 47c0 blx r8 + 51be: 2222 movs r2, #34 ; 0x22 + 51c0: 4631 mov r1, r6 + 51c2: 4628 mov r0, r5 + 51c4: 47c0 blx r8 draw_dsc->bg_grad_color_stop = lv_obj_get_style_bg_grad_stop(obj, part); - 51de: 8160 strh r0, [r4, #10] - 51e0: e7e5 b.n 51ae + 51c6: 8160 strh r0, [r4, #10] + 51c8: e7e5 b.n 5196 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 51e2: 2230 movs r2, #48 ; 0x30 - 51e4: 4631 mov r1, r6 - 51e6: 4628 mov r0, r5 - 51e8: 4b62 ldr r3, [pc, #392] ; (5374 ) - 51ea: 4798 blx r3 + 51ca: 2230 movs r2, #48 ; 0x30 + 51cc: 4631 mov r1, r6 + 51ce: 4628 mov r0, r5 + 51d0: 4b62 ldr r3, [pc, #392] ; (535c ) + 51d2: 4798 blx r3 draw_dsc->border_width = lv_obj_get_style_border_width(obj, part); - 51ec: 8220 strh r0, [r4, #16] + 51d4: 8220 strh r0, [r4, #16] if(draw_dsc->border_width) { - 51ee: 2800 cmp r0, #0 - 51f0: d080 beq.n 50f4 + 51d6: 2800 cmp r0, #0 + 51d8: d080 beq.n 50dc _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 51f2: 223c movs r2, #60 ; 0x3c - 51f4: 4631 mov r1, r6 - 51f6: 4628 mov r0, r5 - 51f8: 4b5f ldr r3, [pc, #380] ; (5378 ) - 51fa: 4798 blx r3 + 51da: 223c movs r2, #60 ; 0x3c + 51dc: 4631 mov r1, r6 + 51de: 4628 mov r0, r5 + 51e0: 4b5f ldr r3, [pc, #380] ; (5360 ) + 51e2: 4798 blx r3 draw_dsc->border_opa = lv_obj_get_style_border_opa(obj, part); - 51fc: 7520 strb r0, [r4, #20] + 51e4: 7520 strb r0, [r4, #20] if(draw_dsc->border_opa > LV_OPA_MIN) { - 51fe: 2805 cmp r0, #5 - 5200: d806 bhi.n 5210 + 51e6: 2805 cmp r0, #5 + 51e8: d806 bhi.n 51f8 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar) - 5202: 2232 movs r2, #50 ; 0x32 - 5204: 4631 mov r1, r6 - 5206: 4628 mov r0, r5 - 5208: 4b5a ldr r3, [pc, #360] ; (5374 ) - 520a: 4798 blx r3 - 520c: 7560 strb r0, [r4, #21] - 520e: e771 b.n 50f4 + 51ea: 2232 movs r2, #50 ; 0x32 + 51ec: 4631 mov r1, r6 + 51ee: 4628 mov r0, r5 + 51f0: 4b5a ldr r3, [pc, #360] ; (535c ) + 51f2: 4798 blx r3 + 51f4: 7560 strb r0, [r4, #21] + 51f6: e771 b.n 50dc _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 5210: 2231 movs r2, #49 ; 0x31 - 5212: 4631 mov r1, r6 - 5214: 4628 mov r0, r5 - 5216: 4b57 ldr r3, [pc, #348] ; (5374 ) - 5218: 4798 blx r3 + 51f8: 2231 movs r2, #49 ; 0x31 + 51fa: 4631 mov r1, r6 + 51fc: 4628 mov r0, r5 + 51fe: 4b57 ldr r3, [pc, #348] ; (535c ) + 5200: 4798 blx r3 draw_dsc->border_side = lv_obj_get_style_border_side(obj, part); - 521a: b2c0 uxtb r0, r0 - 521c: 8260 strh r0, [r4, #18] + 5202: b2c0 uxtb r0, r0 + 5204: 8260 strh r0, [r4, #18] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 521e: 2239 movs r2, #57 ; 0x39 - 5220: 4631 mov r1, r6 - 5222: 4628 mov r0, r5 - 5224: 4b55 ldr r3, [pc, #340] ; (537c ) - 5226: 4798 blx r3 + 5206: 2239 movs r2, #57 ; 0x39 + 5208: 4631 mov r1, r6 + 520a: 4628 mov r0, r5 + 520c: 4b55 ldr r3, [pc, #340] ; (5364 ) + 520e: 4798 blx r3 draw_dsc->border_color = lv_obj_get_style_border_color(obj, part); - 5228: 81e0 strh r0, [r4, #14] - 522a: e7ea b.n 5202 + 5210: 81e0 strh r0, [r4, #14] + 5212: e7ea b.n 51ea _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 522c: 2240 movs r2, #64 ; 0x40 - 522e: 4631 mov r1, r6 - 5230: 4628 mov r0, r5 - 5232: 4b50 ldr r3, [pc, #320] ; (5374 ) - 5234: 4798 blx r3 + 5214: 2240 movs r2, #64 ; 0x40 + 5216: 4631 mov r1, r6 + 5218: 4628 mov r0, r5 + 521a: 4b50 ldr r3, [pc, #320] ; (535c ) + 521c: 4798 blx r3 draw_dsc->outline_width = lv_obj_get_style_outline_width(obj, part); - 5236: 8320 strh r0, [r4, #24] + 521e: 8320 strh r0, [r4, #24] if(draw_dsc->outline_width) { - 5238: 2800 cmp r0, #0 - 523a: f43f af5f beq.w 50fc + 5220: 2800 cmp r0, #0 + 5222: f43f af5f beq.w 50e4 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 523e: 224c movs r2, #76 ; 0x4c - 5240: 4631 mov r1, r6 - 5242: 4628 mov r0, r5 - 5244: 4b4c ldr r3, [pc, #304] ; (5378 ) - 5246: 4798 blx r3 + 5226: 224c movs r2, #76 ; 0x4c + 5228: 4631 mov r1, r6 + 522a: 4628 mov r0, r5 + 522c: 4b4c ldr r3, [pc, #304] ; (5360 ) + 522e: 4798 blx r3 draw_dsc->outline_opa = lv_obj_get_style_outline_opa(obj, part); - 5248: 7720 strb r0, [r4, #28] + 5230: 7720 strb r0, [r4, #28] if(draw_dsc->outline_opa > LV_OPA_MIN) { - 524a: 2805 cmp r0, #5 - 524c: d806 bhi.n 525c + 5232: 2805 cmp r0, #5 + 5234: d806 bhi.n 5244 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_BLEND_MODE, outline_blend_mode, lv_blend_mode_t, _int, scalar) - 524e: 2242 movs r2, #66 ; 0x42 - 5250: 4631 mov r1, r6 - 5252: 4628 mov r0, r5 - 5254: 4b47 ldr r3, [pc, #284] ; (5374 ) - 5256: 4798 blx r3 - 5258: 7760 strb r0, [r4, #29] - 525a: e74f b.n 50fc + 5236: 2242 movs r2, #66 ; 0x42 + 5238: 4631 mov r1, r6 + 523a: 4628 mov r0, r5 + 523c: 4b47 ldr r3, [pc, #284] ; (535c ) + 523e: 4798 blx r3 + 5240: 7760 strb r0, [r4, #29] + 5242: e74f b.n 50e4 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 525c: 2241 movs r2, #65 ; 0x41 - 525e: 4631 mov r1, r6 - 5260: 4628 mov r0, r5 - 5262: 4b44 ldr r3, [pc, #272] ; (5374 ) - 5264: 4798 blx r3 + 5244: 2241 movs r2, #65 ; 0x41 + 5246: 4631 mov r1, r6 + 5248: 4628 mov r0, r5 + 524a: 4b44 ldr r3, [pc, #272] ; (535c ) + 524c: 4798 blx r3 draw_dsc->outline_pad = lv_obj_get_style_outline_pad(obj, part); - 5266: 8360 strh r0, [r4, #26] + 524e: 8360 strh r0, [r4, #26] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 5268: 2249 movs r2, #73 ; 0x49 - 526a: 4631 mov r1, r6 - 526c: 4628 mov r0, r5 - 526e: 4b43 ldr r3, [pc, #268] ; (537c ) - 5270: 4798 blx r3 + 5250: 2249 movs r2, #73 ; 0x49 + 5252: 4631 mov r1, r6 + 5254: 4628 mov r0, r5 + 5256: 4b43 ldr r3, [pc, #268] ; (5364 ) + 5258: 4798 blx r3 draw_dsc->outline_color = lv_obj_get_style_outline_color(obj, part); - 5272: 82e0 strh r0, [r4, #22] - 5274: e7eb b.n 524e + 525a: 82e0 strh r0, [r4, #22] + 525c: e7eb b.n 5236 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar) - 5276: 226e movs r2, #110 ; 0x6e - 5278: 4631 mov r1, r6 - 527a: 4628 mov r0, r5 - 527c: 4b40 ldr r3, [pc, #256] ; (5380 ) - 527e: 4798 blx r3 + 525e: 226e movs r2, #110 ; 0x6e + 5260: 4631 mov r1, r6 + 5262: 4628 mov r0, r5 + 5264: 4b40 ldr r3, [pc, #256] ; (5368 ) + 5266: 4798 blx r3 draw_dsc->pattern_image = lv_obj_get_style_pattern_image(obj, part); - 5280: 62e0 str r0, [r4, #44] ; 0x2c + 5268: 62e0 str r0, [r4, #44] ; 0x2c if(draw_dsc->pattern_image) { - 5282: 2800 cmp r0, #0 - 5284: f43f af3f beq.w 5106 + 526a: 2800 cmp r0, #0 + 526c: f43f af3f beq.w 50ee _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_OPA, pattern_opa, lv_opa_t, _opa, scalar) - 5288: 226c movs r2, #108 ; 0x6c - 528a: 4631 mov r1, r6 - 528c: 4628 mov r0, r5 - 528e: 4b3a ldr r3, [pc, #232] ; (5378 ) - 5290: 4798 blx r3 + 5270: 226c movs r2, #108 ; 0x6c + 5272: 4631 mov r1, r6 + 5274: 4628 mov r0, r5 + 5276: 4b3a ldr r3, [pc, #232] ; (5360 ) + 5278: 4798 blx r3 draw_dsc->pattern_opa = lv_obj_get_style_pattern_opa(obj, part); - 5292: f884 0036 strb.w r0, [r4, #54] ; 0x36 + 527a: f884 0036 strb.w r0, [r4, #54] ; 0x36 if(draw_dsc->pattern_opa > LV_OPA_MIN) { - 5296: 2805 cmp r0, #5 - 5298: f67f af35 bls.w 5106 + 527e: 2805 cmp r0, #5 + 5280: f67f af35 bls.w 50ee _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR_OPA, pattern_recolor_opa, lv_opa_t, _opa, scalar) - 529c: 226d movs r2, #109 ; 0x6d - 529e: 4631 mov r1, r6 - 52a0: 4628 mov r0, r5 - 52a2: 4b35 ldr r3, [pc, #212] ; (5378 ) - 52a4: 4798 blx r3 + 5284: 226d movs r2, #109 ; 0x6d + 5286: 4631 mov r1, r6 + 5288: 4628 mov r0, r5 + 528a: 4b35 ldr r3, [pc, #212] ; (5360 ) + 528c: 4798 blx r3 draw_dsc->pattern_recolor_opa = lv_obj_get_style_pattern_recolor_opa(obj, part); - 52a6: f884 0037 strb.w r0, [r4, #55] ; 0x37 + 528e: f884 0037 strb.w r0, [r4, #55] ; 0x37 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_REPEAT, pattern_repeat, bool, _int, scalar) - 52aa: 2261 movs r2, #97 ; 0x61 - 52ac: 4631 mov r1, r6 - 52ae: 4628 mov r0, r5 - 52b0: 4b30 ldr r3, [pc, #192] ; (5374 ) - 52b2: 4798 blx r3 - 52b4: 3000 adds r0, #0 - 52b6: bf18 it ne - 52b8: 2001 movne r0, #1 + 5292: 2261 movs r2, #97 ; 0x61 + 5294: 4631 mov r1, r6 + 5296: 4628 mov r0, r5 + 5298: 4b30 ldr r3, [pc, #192] ; (535c ) + 529a: 4798 blx r3 + 529c: 3000 adds r0, #0 + 529e: bf18 it ne + 52a0: 2001 movne r0, #1 draw_dsc->pattern_repeat = lv_obj_get_style_pattern_repeat(obj, part); - 52ba: f894 3038 ldrb.w r3, [r4, #56] ; 0x38 - 52be: f360 0300 bfi r3, r0, #0, #1 - 52c2: f884 3038 strb.w r3, [r4, #56] ; 0x38 + 52a2: f894 3038 ldrb.w r3, [r4, #56] ; 0x38 + 52a6: f360 0300 bfi r3, r0, #0, #1 + 52aa: f884 3038 strb.w r3, [r4, #56] ; 0x38 if(lv_img_src_get_type(draw_dsc->pattern_image) == LV_IMG_SRC_SYMBOL) { - 52c6: 6ae0 ldr r0, [r4, #44] ; 0x2c - 52c8: 4b2e ldr r3, [pc, #184] ; (5384 ) - 52ca: 4798 blx r3 - 52cc: 2802 cmp r0, #2 - 52ce: d00b beq.n 52e8 + 52ae: 6ae0 ldr r0, [r4, #44] ; 0x2c + 52b0: 4b2e ldr r3, [pc, #184] ; (536c ) + 52b2: 4798 blx r3 + 52b4: 2802 cmp r0, #2 + 52b6: d00b beq.n 52d0 else if(draw_dsc->pattern_recolor_opa > LV_OPA_MIN) { - 52d0: f894 3037 ldrb.w r3, [r4, #55] ; 0x37 - 52d4: 2b05 cmp r3, #5 - 52d6: d815 bhi.n 5304 + 52b8: f894 3037 ldrb.w r3, [r4, #55] ; 0x37 + 52bc: 2b05 cmp r3, #5 + 52be: d815 bhi.n 52ec _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_BLEND_MODE, pattern_blend_mode, lv_blend_mode_t, _int, scalar) - 52d8: 2260 movs r2, #96 ; 0x60 - 52da: 4631 mov r1, r6 - 52dc: 4628 mov r0, r5 - 52de: 4b25 ldr r3, [pc, #148] ; (5374 ) - 52e0: 4798 blx r3 - 52e2: f884 0039 strb.w r0, [r4, #57] ; 0x39 - 52e6: e70e b.n 5106 + 52c0: 2260 movs r2, #96 ; 0x60 + 52c2: 4631 mov r1, r6 + 52c4: 4628 mov r0, r5 + 52c6: 4b25 ldr r3, [pc, #148] ; (535c ) + 52c8: 4798 blx r3 + 52ca: f884 0039 strb.w r0, [r4, #57] ; 0x39 + 52ce: e70e b.n 50ee _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 52e8: 2269 movs r2, #105 ; 0x69 - 52ea: 4631 mov r1, r6 - 52ec: 4628 mov r0, r5 - 52ee: 4b23 ldr r3, [pc, #140] ; (537c ) - 52f0: 4798 blx r3 + 52d0: 2269 movs r2, #105 ; 0x69 + 52d2: 4631 mov r1, r6 + 52d4: 4628 mov r0, r5 + 52d6: 4b23 ldr r3, [pc, #140] ; (5364 ) + 52d8: 4798 blx r3 draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part); - 52f2: 86a0 strh r0, [r4, #52] ; 0x34 + 52da: 86a0 strh r0, [r4, #52] ; 0x34 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 52f4: f248 028e movw r2, #32910 ; 0x808e - 52f8: 4631 mov r1, r6 - 52fa: 4628 mov r0, r5 - 52fc: 4b20 ldr r3, [pc, #128] ; (5380 ) - 52fe: 4798 blx r3 + 52dc: f248 028e movw r2, #32910 ; 0x808e + 52e0: 4631 mov r1, r6 + 52e2: 4628 mov r0, r5 + 52e4: 4b20 ldr r3, [pc, #128] ; (5368 ) + 52e6: 4798 blx r3 draw_dsc->pattern_font = lv_obj_get_style_text_font(obj, part); - 5300: 6320 str r0, [r4, #48] ; 0x30 - 5302: e7e9 b.n 52d8 + 52e8: 6320 str r0, [r4, #48] ; 0x30 + 52ea: e7e9 b.n 52c0 _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 5304: 2269 movs r2, #105 ; 0x69 - 5306: 4631 mov r1, r6 - 5308: 4628 mov r0, r5 - 530a: 4b1c ldr r3, [pc, #112] ; (537c ) - 530c: 4798 blx r3 + 52ec: 2269 movs r2, #105 ; 0x69 + 52ee: 4631 mov r1, r6 + 52f0: 4628 mov r0, r5 + 52f2: 4b1c ldr r3, [pc, #112] ; (5364 ) + 52f4: 4798 blx r3 draw_dsc->pattern_recolor = lv_obj_get_style_pattern_recolor(obj, part); - 530e: 86a0 strh r0, [r4, #52] ; 0x34 - 5310: e7e2 b.n 52d8 + 52f6: 86a0 strh r0, [r4, #52] ; 0x34 + 52f8: e7e2 b.n 52c0 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 5312: 2250 movs r2, #80 ; 0x50 - 5314: 4631 mov r1, r6 - 5316: 4628 mov r0, r5 - 5318: 4b16 ldr r3, [pc, #88] ; (5374 ) - 531a: 4798 blx r3 + 52fa: 2250 movs r2, #80 ; 0x50 + 52fc: 4631 mov r1, r6 + 52fe: 4628 mov r0, r5 + 5300: 4b16 ldr r3, [pc, #88] ; (535c ) + 5302: 4798 blx r3 draw_dsc->shadow_width = lv_obj_get_style_shadow_width(obj, part); - 531c: 8420 strh r0, [r4, #32] + 5304: 8420 strh r0, [r4, #32] if(draw_dsc->shadow_width) { - 531e: 2800 cmp r0, #0 - 5320: f43f aef6 beq.w 5110 + 5306: 2800 cmp r0, #0 + 5308: f43f aef6 beq.w 50f8 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar) - 5324: 225c movs r2, #92 ; 0x5c - 5326: 4631 mov r1, r6 - 5328: 4628 mov r0, r5 - 532a: 4b13 ldr r3, [pc, #76] ; (5378 ) - 532c: 4798 blx r3 + 530c: 225c movs r2, #92 ; 0x5c + 530e: 4631 mov r1, r6 + 5310: 4628 mov r0, r5 + 5312: 4b13 ldr r3, [pc, #76] ; (5360 ) + 5314: 4798 blx r3 draw_dsc->shadow_opa = lv_obj_get_style_shadow_opa(obj, part); - 532e: f884 0028 strb.w r0, [r4, #40] ; 0x28 + 5316: f884 0028 strb.w r0, [r4, #40] ; 0x28 if(draw_dsc->shadow_opa > LV_OPA_MIN) { - 5332: 2805 cmp r0, #5 - 5334: f67f aeec bls.w 5110 + 531a: 2805 cmp r0, #5 + 531c: f67f aeec bls.w 50f8 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar) - 5338: 2251 movs r2, #81 ; 0x51 - 533a: 4631 mov r1, r6 - 533c: 4628 mov r0, r5 - 533e: f8df 8034 ldr.w r8, [pc, #52] ; 5374 - 5342: 47c0 blx r8 + 5320: 2251 movs r2, #81 ; 0x51 + 5322: 4631 mov r1, r6 + 5324: 4628 mov r0, r5 + 5326: f8df 8034 ldr.w r8, [pc, #52] ; 535c + 532a: 47c0 blx r8 draw_dsc->shadow_ofs_x = lv_obj_get_style_shadow_ofs_x(obj, part); - 5344: 8460 strh r0, [r4, #34] ; 0x22 + 532c: 8460 strh r0, [r4, #34] ; 0x22 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar) - 5346: 2252 movs r2, #82 ; 0x52 - 5348: 4631 mov r1, r6 - 534a: 4628 mov r0, r5 - 534c: 47c0 blx r8 + 532e: 2252 movs r2, #82 ; 0x52 + 5330: 4631 mov r1, r6 + 5332: 4628 mov r0, r5 + 5334: 47c0 blx r8 draw_dsc->shadow_ofs_y = lv_obj_get_style_shadow_ofs_y(obj, part); - 534e: 84a0 strh r0, [r4, #36] ; 0x24 + 5336: 84a0 strh r0, [r4, #36] ; 0x24 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 5350: 2253 movs r2, #83 ; 0x53 - 5352: 4631 mov r1, r6 - 5354: 4628 mov r0, r5 - 5356: 47c0 blx r8 + 5338: 2253 movs r2, #83 ; 0x53 + 533a: 4631 mov r1, r6 + 533c: 4628 mov r0, r5 + 533e: 47c0 blx r8 draw_dsc->shadow_spread = lv_obj_get_style_shadow_spread(obj, part); - 5358: 84e0 strh r0, [r4, #38] ; 0x26 + 5340: 84e0 strh r0, [r4, #38] ; 0x26 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 535a: 2259 movs r2, #89 ; 0x59 - 535c: 4631 mov r1, r6 - 535e: 4628 mov r0, r5 - 5360: 4b06 ldr r3, [pc, #24] ; (537c ) - 5362: 4798 blx r3 + 5342: 2259 movs r2, #89 ; 0x59 + 5344: 4631 mov r1, r6 + 5346: 4628 mov r0, r5 + 5348: 4b06 ldr r3, [pc, #24] ; (5364 ) + 534a: 4798 blx r3 draw_dsc->shadow_color = lv_obj_get_style_shadow_color(obj, part); - 5364: 83e0 strh r0, [r4, #30] + 534c: 83e0 strh r0, [r4, #30] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_BLEND_MODE, shadow_blend_mode, lv_blend_mode_t, _int, scalar) - 5366: 2254 movs r2, #84 ; 0x54 - 5368: 4631 mov r1, r6 - 536a: 4628 mov r0, r5 - 536c: 47c0 blx r8 - 536e: f884 0029 strb.w r0, [r4, #41] ; 0x29 - 5372: e6cd b.n 5110 - 5374: 000044d5 .word 0x000044d5 - 5378: 0000460d .word 0x0000460d - 537c: 00004581 .word 0x00004581 - 5380: 000046a1 .word 0x000046a1 - 5384: 00009969 .word 0x00009969 + 534e: 2254 movs r2, #84 ; 0x54 + 5350: 4631 mov r1, r6 + 5352: 4628 mov r0, r5 + 5354: 47c0 blx r8 + 5356: f884 0029 strb.w r0, [r4, #41] ; 0x29 + 535a: e6cd b.n 50f8 + 535c: 000044bd .word 0x000044bd + 5360: 000045f5 .word 0x000045f5 + 5364: 00004569 .word 0x00004569 + 5368: 00004689 .word 0x00004689 + 536c: 00009951 .word 0x00009951 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) - 5388: 227f movs r2, #127 ; 0x7f - 538a: 4631 mov r1, r6 - 538c: 4628 mov r0, r5 - 538e: 4b22 ldr r3, [pc, #136] ; (5418 ) - 5390: 4798 blx r3 + 5370: 227f movs r2, #127 ; 0x7f + 5372: 4631 mov r1, r6 + 5374: 4628 mov r0, r5 + 5376: 4b22 ldr r3, [pc, #136] ; (5400 ) + 5378: 4798 blx r3 draw_dsc->value_str = lv_obj_get_style_value_str(obj, part); - 5392: 63e0 str r0, [r4, #60] ; 0x3c + 537a: 63e0 str r0, [r4, #60] ; 0x3c if(draw_dsc->value_str) { - 5394: 2800 cmp r0, #0 - 5396: f43f aec0 beq.w 511a + 537c: 2800 cmp r0, #0 + 537e: f43f aec0 beq.w 5102 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar) - 539a: 227c movs r2, #124 ; 0x7c - 539c: 4631 mov r1, r6 - 539e: 4628 mov r0, r5 - 53a0: 4b1e ldr r3, [pc, #120] ; (541c ) - 53a2: 4798 blx r3 + 5382: 227c movs r2, #124 ; 0x7c + 5384: 4631 mov r1, r6 + 5386: 4628 mov r0, r5 + 5388: 4b1e ldr r3, [pc, #120] ; (5404 ) + 538a: 4798 blx r3 draw_dsc->value_opa = lv_obj_get_style_value_opa(obj, part); - 53a4: f884 0044 strb.w r0, [r4, #68] ; 0x44 + 538c: f884 0044 strb.w r0, [r4, #68] ; 0x44 if(draw_dsc->value_opa > LV_OPA_MIN) { - 53a8: 2805 cmp r0, #5 - 53aa: f67f aeb6 bls.w 511a + 5390: 2805 cmp r0, #5 + 5392: f67f aeb6 bls.w 5102 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar) - 53ae: 2273 movs r2, #115 ; 0x73 - 53b0: 4631 mov r1, r6 - 53b2: 4628 mov r0, r5 - 53b4: f8df 806c ldr.w r8, [pc, #108] ; 5424 - 53b8: 47c0 blx r8 + 5396: 2273 movs r2, #115 ; 0x73 + 5398: 4631 mov r1, r6 + 539a: 4628 mov r0, r5 + 539c: f8df 806c ldr.w r8, [pc, #108] ; 540c + 53a0: 47c0 blx r8 draw_dsc->value_ofs_x = lv_obj_get_style_value_ofs_x(obj, part); - 53ba: f8a4 0048 strh.w r0, [r4, #72] ; 0x48 + 53a2: f8a4 0048 strh.w r0, [r4, #72] ; 0x48 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar) - 53be: 2274 movs r2, #116 ; 0x74 - 53c0: 4631 mov r1, r6 - 53c2: 4628 mov r0, r5 - 53c4: 47c0 blx r8 + 53a6: 2274 movs r2, #116 ; 0x74 + 53a8: 4631 mov r1, r6 + 53aa: 4628 mov r0, r5 + 53ac: 47c0 blx r8 draw_dsc->value_ofs_y = lv_obj_get_style_value_ofs_y(obj, part); - 53c6: f8a4 004a strh.w r0, [r4, #74] ; 0x4a + 53ae: f8a4 004a strh.w r0, [r4, #74] ; 0x4a _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 53ca: 2279 movs r2, #121 ; 0x79 - 53cc: 4631 mov r1, r6 - 53ce: 4628 mov r0, r5 - 53d0: 4b13 ldr r3, [pc, #76] ; (5420 ) - 53d2: 4798 blx r3 + 53b2: 2279 movs r2, #121 ; 0x79 + 53b4: 4631 mov r1, r6 + 53b6: 4628 mov r0, r5 + 53b8: 4b13 ldr r3, [pc, #76] ; (5408 ) + 53ba: 4798 blx r3 draw_dsc->value_color = lv_obj_get_style_value_color(obj, part); - 53d4: f8a4 0046 strh.w r0, [r4, #70] ; 0x46 + 53bc: f8a4 0046 strh.w r0, [r4, #70] ; 0x46 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 53d8: 227e movs r2, #126 ; 0x7e - 53da: 4631 mov r1, r6 - 53dc: 4628 mov r0, r5 - 53de: 4b0e ldr r3, [pc, #56] ; (5418 ) - 53e0: 4798 blx r3 + 53c0: 227e movs r2, #126 ; 0x7e + 53c2: 4631 mov r1, r6 + 53c4: 4628 mov r0, r5 + 53c6: 4b0e ldr r3, [pc, #56] ; (5400 ) + 53c8: 4798 blx r3 draw_dsc->value_font = lv_obj_get_style_value_font(obj, part); - 53e2: 6420 str r0, [r4, #64] ; 0x40 + 53ca: 6420 str r0, [r4, #64] ; 0x40 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar) - 53e4: 2270 movs r2, #112 ; 0x70 + 53cc: 2270 movs r2, #112 ; 0x70 + 53ce: 4631 mov r1, r6 + 53d0: 4628 mov r0, r5 + 53d2: 47c0 blx r8 + draw_dsc->value_letter_space = lv_obj_get_style_value_letter_space(obj, part); + 53d4: f8a4 004c strh.w r0, [r4, #76] ; 0x4c +_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LINE_SPACE, value_line_space, lv_style_int_t, _int, scalar) + 53d8: 2271 movs r2, #113 ; 0x71 + 53da: 4631 mov r1, r6 + 53dc: 4628 mov r0, r5 + 53de: 47c0 blx r8 + draw_dsc->value_line_space = lv_obj_get_style_value_line_space(obj, part); + 53e0: f8a4 004e strh.w r0, [r4, #78] ; 0x4e +_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) + 53e4: 2275 movs r2, #117 ; 0x75 53e6: 4631 mov r1, r6 53e8: 4628 mov r0, r5 53ea: 47c0 blx r8 - draw_dsc->value_letter_space = lv_obj_get_style_value_letter_space(obj, part); - 53ec: f8a4 004c strh.w r0, [r4, #76] ; 0x4c -_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LINE_SPACE, value_line_space, lv_style_int_t, _int, scalar) - 53f0: 2271 movs r2, #113 ; 0x71 + 53ec: f884 0050 strb.w r0, [r4, #80] ; 0x50 +_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_BLEND_MODE, value_blend_mode, lv_blend_mode_t, _int, scalar) + 53f0: 2272 movs r2, #114 ; 0x72 53f2: 4631 mov r1, r6 53f4: 4628 mov r0, r5 53f6: 47c0 blx r8 - draw_dsc->value_line_space = lv_obj_get_style_value_line_space(obj, part); - 53f8: f8a4 004e strh.w r0, [r4, #78] ; 0x4e -_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) - 53fc: 2275 movs r2, #117 ; 0x75 - 53fe: 4631 mov r1, r6 - 5400: 4628 mov r0, r5 - 5402: 47c0 blx r8 - 5404: f884 0050 strb.w r0, [r4, #80] ; 0x50 -_LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_BLEND_MODE, value_blend_mode, lv_blend_mode_t, _int, scalar) - 5408: 2272 movs r2, #114 ; 0x72 - 540a: 4631 mov r1, r6 - 540c: 4628 mov r0, r5 - 540e: 47c0 blx r8 - 5410: f884 0051 strb.w r0, [r4, #81] ; 0x51 - 5414: e681 b.n 511a - 5416: bf00 nop - 5418: 000046a1 .word 0x000046a1 - 541c: 0000460d .word 0x0000460d - 5420: 00004581 .word 0x00004581 - 5424: 000044d5 .word 0x000044d5 - -00005428 : -{ - 5428: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 542c: b098 sub sp, #96 ; 0x60 - 542e: 4604 mov r4, r0 - 5430: 460e mov r6, r1 + 53f8: f884 0051 strb.w r0, [r4, #81] ; 0x51 + 53fc: e681 b.n 5102 + 53fe: bf00 nop + 5400: 00004689 .word 0x00004689 + 5404: 000045f5 .word 0x000045f5 + 5408: 00004569 .word 0x00004569 + 540c: 000044bd .word 0x000044bd + +00005410 : +{ + 5410: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 5414: b098 sub sp, #96 ; 0x60 + 5416: 4604 mov r4, r0 + 5418: 460e mov r6, r1 if(mode == LV_DESIGN_COVER_CHK) { - 5432: 2a02 cmp r2, #2 - 5434: d008 beq.n 5448 + 541a: 2a02 cmp r2, #2 + 541c: d008 beq.n 5430 else if(mode == LV_DESIGN_DRAW_MAIN) { - 5436: 2a00 cmp r2, #0 - 5438: d06c beq.n 5514 + 541e: 2a00 cmp r2, #0 + 5420: d06c beq.n 54fc else if(mode == LV_DESIGN_DRAW_POST) { - 543a: 2a01 cmp r2, #1 - 543c: f000 80cc beq.w 55d8 + 5422: 2a01 cmp r2, #1 + 5424: f000 80cc beq.w 55c0 return LV_DESIGN_RES_OK; - 5440: 2000 movs r0, #0 + 5428: 2000 movs r0, #0 } - 5442: b018 add sp, #96 ; 0x60 - 5444: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 542a: b018 add sp, #96 ; 0x60 + 542c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 5448: 2100 movs r1, #0 - 544a: 4b8e ldr r3, [pc, #568] ; (5684 ) - 544c: 4798 blx r3 + 5430: 2100 movs r1, #0 + 5432: 4b8e ldr r3, [pc, #568] ; (566c ) + 5434: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) return LV_DESIGN_RES_MASKED; - 544e: b108 cbz r0, 5454 - 5450: 2003 movs r0, #3 - 5452: e7f6 b.n 5442 + 5436: b108 cbz r0, 543c + 5438: 2003 movs r0, #3 + 543a: e7f6 b.n 542a _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 5454: 2201 movs r2, #1 - 5456: 2100 movs r1, #0 - 5458: 4620 mov r0, r4 - 545a: 4d8a ldr r5, [pc, #552] ; (5684 ) - 545c: 47a8 blx r5 - 545e: 4607 mov r7, r0 + 543c: 2201 movs r2, #1 + 543e: 2100 movs r1, #0 + 5440: 4620 mov r0, r4 + 5442: 4d8a ldr r5, [pc, #552] ; (566c ) + 5444: 47a8 blx r5 + 5446: 4607 mov r7, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 5460: 2204 movs r2, #4 - 5462: 2100 movs r1, #0 - 5464: 4620 mov r0, r4 - 5466: 47a8 blx r5 - 5468: 4680 mov r8, r0 + 5448: 2204 movs r2, #4 + 544a: 2100 movs r1, #0 + 544c: 4620 mov r0, r4 + 544e: 47a8 blx r5 + 5450: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 546a: 2205 movs r2, #5 - 546c: 2100 movs r1, #0 - 546e: 4620 mov r0, r4 - 5470: 47a8 blx r5 - 5472: f104 030f add.w r3, r4, #15 - 5476: f104 0517 add.w r5, r4, #23 + 5452: 2205 movs r2, #5 + 5454: 2100 movs r1, #0 + 5456: 4620 mov r0, r4 + 5458: 47a8 blx r5 + 545a: f104 030f add.w r3, r4, #15 + 545e: f104 0517 add.w r5, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 547a: aa03 add r2, sp, #12 + 5462: aa03 add r2, sp, #12 *d8 = *s8; - 547c: f813 1f01 ldrb.w r1, [r3, #1]! - 5480: f802 1b01 strb.w r1, [r2], #1 + 5464: f813 1f01 ldrb.w r1, [r3, #1]! + 5468: f802 1b01 strb.w r1, [r2], #1 while(len) { - 5484: 429d cmp r5, r3 - 5486: d1f9 bne.n 547c + 546c: 429d cmp r5, r3 + 546e: d1f9 bne.n 5464 coords.x1 -= w; - 5488: fa1f f888 uxth.w r8, r8 - 548c: f8bd 300c ldrh.w r3, [sp, #12] - 5490: eba3 0308 sub.w r3, r3, r8 - 5494: f8ad 300c strh.w r3, [sp, #12] + 5470: fa1f f888 uxth.w r8, r8 + 5474: f8bd 300c ldrh.w r3, [sp, #12] + 5478: eba3 0308 sub.w r3, r3, r8 + 547c: f8ad 300c strh.w r3, [sp, #12] coords.x2 += w; - 5498: f8bd 3010 ldrh.w r3, [sp, #16] - 549c: 4498 add r8, r3 - 549e: f8ad 8010 strh.w r8, [sp, #16] + 5480: f8bd 3010 ldrh.w r3, [sp, #16] + 5484: 4498 add r8, r3 + 5486: f8ad 8010 strh.w r8, [sp, #16] coords.y1 -= h; - 54a2: b280 uxth r0, r0 - 54a4: f8bd 300e ldrh.w r3, [sp, #14] - 54a8: 1a1b subs r3, r3, r0 - 54aa: f8ad 300e strh.w r3, [sp, #14] + 548a: b280 uxth r0, r0 + 548c: f8bd 300e ldrh.w r3, [sp, #14] + 5490: 1a1b subs r3, r3, r0 + 5492: f8ad 300e strh.w r3, [sp, #14] coords.y2 += h; - 54ae: f8bd 3012 ldrh.w r3, [sp, #18] - 54b2: 4418 add r0, r3 - 54b4: f8ad 0012 strh.w r0, [sp, #18] + 5496: f8bd 3012 ldrh.w r3, [sp, #18] + 549a: 4418 add r0, r3 + 549c: f8ad 0012 strh.w r0, [sp, #18] if(_lv_area_is_in(clip_area, &coords, r) == false) return LV_DESIGN_RES_NOT_COVER; - 54b8: 463a mov r2, r7 - 54ba: a903 add r1, sp, #12 - 54bc: 4630 mov r0, r6 - 54be: 4b72 ldr r3, [pc, #456] ; (5688 ) - 54c0: 4798 blx r3 - 54c2: b908 cbnz r0, 54c8 - 54c4: 2002 movs r0, #2 - 54c6: e7bc b.n 5442 + 54a0: 463a mov r2, r7 + 54a2: a903 add r1, sp, #12 + 54a4: 4630 mov r0, r6 + 54a6: 4b72 ldr r3, [pc, #456] ; (5670 ) + 54a8: 4798 blx r3 + 54aa: b908 cbnz r0, 54b0 + 54ac: 2002 movs r0, #2 + 54ae: e7bc b.n 542a _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 54c8: 222c movs r2, #44 ; 0x2c - 54ca: 2100 movs r1, #0 - 54cc: 4620 mov r0, r4 - 54ce: 4b6f ldr r3, [pc, #444] ; (568c ) - 54d0: 4798 blx r3 + 54b0: 222c movs r2, #44 ; 0x2c + 54b2: 2100 movs r1, #0 + 54b4: 4620 mov r0, r4 + 54b6: 4b6f ldr r3, [pc, #444] ; (5674 ) + 54b8: 4798 blx r3 if(lv_obj_get_style_bg_opa(obj, LV_OBJ_PART_MAIN) < LV_OPA_MAX) return LV_DESIGN_RES_NOT_COVER; - 54d2: 28f9 cmp r0, #249 ; 0xf9 - 54d4: d801 bhi.n 54da - 54d6: 2002 movs r0, #2 - 54d8: e7b3 b.n 5442 + 54ba: 28f9 cmp r0, #249 ; 0xf9 + 54bc: d801 bhi.n 54c2 + 54be: 2002 movs r0, #2 + 54c0: e7b3 b.n 542a _LV_OBJ_STYLE_SET_GET_DECLARE(BG_BLEND_MODE, bg_blend_mode, lv_blend_mode_t, _int, scalar) - 54da: 2220 movs r2, #32 - 54dc: 2100 movs r1, #0 - 54de: 4620 mov r0, r4 - 54e0: 4b68 ldr r3, [pc, #416] ; (5684 ) - 54e2: 4798 blx r3 + 54c2: 2220 movs r2, #32 + 54c4: 2100 movs r1, #0 + 54c6: 4620 mov r0, r4 + 54c8: 4b68 ldr r3, [pc, #416] ; (566c ) + 54ca: 4798 blx r3 if(lv_obj_get_style_bg_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER; - 54e4: b2c0 uxtb r0, r0 - 54e6: b108 cbz r0, 54ec - 54e8: 2002 movs r0, #2 - 54ea: e7aa b.n 5442 + 54cc: b2c0 uxtb r0, r0 + 54ce: b108 cbz r0, 54d4 + 54d0: 2002 movs r0, #2 + 54d2: e7aa b.n 542a _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_BLEND_MODE, border_blend_mode, lv_blend_mode_t, _int, scalar) - 54ec: 2232 movs r2, #50 ; 0x32 - 54ee: 2100 movs r1, #0 - 54f0: 4620 mov r0, r4 - 54f2: 4b64 ldr r3, [pc, #400] ; (5684 ) - 54f4: 4798 blx r3 + 54d4: 2232 movs r2, #50 ; 0x32 + 54d6: 2100 movs r1, #0 + 54d8: 4620 mov r0, r4 + 54da: 4b64 ldr r3, [pc, #400] ; (566c ) + 54dc: 4798 blx r3 if(lv_obj_get_style_border_blend_mode(obj, LV_OBJ_PART_MAIN) != LV_BLEND_MODE_NORMAL) return LV_DESIGN_RES_NOT_COVER; - 54f6: b2c0 uxtb r0, r0 - 54f8: b108 cbz r0, 54fe - 54fa: 2002 movs r0, #2 - 54fc: e7a1 b.n 5442 + 54de: b2c0 uxtb r0, r0 + 54e0: b108 cbz r0, 54e6 + 54e2: 2002 movs r0, #2 + 54e4: e7a1 b.n 542a _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 54fe: f248 020c movw r2, #32780 ; 0x800c - 5502: 2100 movs r1, #0 - 5504: 4620 mov r0, r4 - 5506: 4b61 ldr r3, [pc, #388] ; (568c ) - 5508: 4798 blx r3 + 54e6: f248 020c movw r2, #32780 ; 0x800c + 54ea: 2100 movs r1, #0 + 54ec: 4620 mov r0, r4 + 54ee: 4b61 ldr r3, [pc, #388] ; (5674 ) + 54f0: 4798 blx r3 return LV_DESIGN_RES_COVER; - 550a: 28fa cmp r0, #250 ; 0xfa - 550c: bf34 ite cc - 550e: 2002 movcc r0, #2 - 5510: 2001 movcs r0, #1 - 5512: e796 b.n 5442 + 54f2: 28fa cmp r0, #250 ; 0xfa + 54f4: bf34 ite cc + 54f6: 2002 movcc r0, #2 + 54f8: 2001 movcs r0, #1 + 54fa: e796 b.n 542a lv_draw_rect_dsc_init(&draw_dsc); - 5514: a803 add r0, sp, #12 - 5516: 4b5e ldr r3, [pc, #376] ; (5690 ) - 5518: 4798 blx r3 + 54fc: a803 add r0, sp, #12 + 54fe: 4b5e ldr r3, [pc, #376] ; (5678 ) + 5500: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 551a: 2233 movs r2, #51 ; 0x33 - 551c: 2100 movs r1, #0 - 551e: 4620 mov r0, r4 - 5520: 4b58 ldr r3, [pc, #352] ; (5684 ) - 5522: 4798 blx r3 + 5502: 2233 movs r2, #51 ; 0x33 + 5504: 2100 movs r1, #0 + 5506: 4620 mov r0, r4 + 5508: 4b58 ldr r3, [pc, #352] ; (566c ) + 550a: 4798 blx r3 if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) { - 5524: b110 cbz r0, 552c + 550c: b110 cbz r0, 5514 draw_dsc.border_opa = LV_OPA_TRANSP; - 5526: 2300 movs r3, #0 - 5528: f88d 3020 strb.w r3, [sp, #32] + 550e: 2300 movs r3, #0 + 5510: f88d 3020 strb.w r3, [sp, #32] lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc); - 552c: aa03 add r2, sp, #12 - 552e: 2100 movs r1, #0 - 5530: 4620 mov r0, r4 - 5532: 4b58 ldr r3, [pc, #352] ; (5694 ) - 5534: 4798 blx r3 + 5514: aa03 add r2, sp, #12 + 5516: 2100 movs r1, #0 + 5518: 4620 mov r0, r4 + 551a: 4b58 ldr r3, [pc, #352] ; (567c ) + 551c: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 5536: 2204 movs r2, #4 - 5538: 2100 movs r1, #0 - 553a: 4620 mov r0, r4 - 553c: 4d51 ldr r5, [pc, #324] ; (5684 ) - 553e: 47a8 blx r5 - 5540: 4680 mov r8, r0 + 551e: 2204 movs r2, #4 + 5520: 2100 movs r1, #0 + 5522: 4620 mov r0, r4 + 5524: 4d51 ldr r5, [pc, #324] ; (566c ) + 5526: 47a8 blx r5 + 5528: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 5542: 2205 movs r2, #5 - 5544: 2100 movs r1, #0 - 5546: 4620 mov r0, r4 - 5548: 47a8 blx r5 + 552a: 2205 movs r2, #5 + 552c: 2100 movs r1, #0 + 552e: 4620 mov r0, r4 + 5530: 47a8 blx r5 lv_area_copy(&coords, &obj->coords); - 554a: f104 0710 add.w r7, r4, #16 - 554e: f104 030f add.w r3, r4, #15 - 5552: f104 0517 add.w r5, r4, #23 + 5532: f104 0710 add.w r7, r4, #16 + 5536: f104 030f add.w r3, r4, #15 + 553a: f104 0517 add.w r5, r4, #23 uint8_t * d8 = (uint8_t *)dst; - 5556: aa01 add r2, sp, #4 + 553e: aa01 add r2, sp, #4 *d8 = *s8; - 5558: f813 1f01 ldrb.w r1, [r3, #1]! - 555c: f802 1b01 strb.w r1, [r2], #1 + 5540: f813 1f01 ldrb.w r1, [r3, #1]! + 5544: f802 1b01 strb.w r1, [r2], #1 while(len) { - 5560: 42ab cmp r3, r5 - 5562: d1f9 bne.n 5558 + 5548: 42ab cmp r3, r5 + 554a: d1f9 bne.n 5540 coords.x1 -= w; - 5564: fa1f f888 uxth.w r8, r8 - 5568: f8bd 3004 ldrh.w r3, [sp, #4] - 556c: eba3 0308 sub.w r3, r3, r8 - 5570: f8ad 3004 strh.w r3, [sp, #4] + 554c: fa1f f888 uxth.w r8, r8 + 5550: f8bd 3004 ldrh.w r3, [sp, #4] + 5554: eba3 0308 sub.w r3, r3, r8 + 5558: f8ad 3004 strh.w r3, [sp, #4] coords.x2 += w; - 5574: f8bd 3008 ldrh.w r3, [sp, #8] - 5578: 4498 add r8, r3 - 557a: f8ad 8008 strh.w r8, [sp, #8] + 555c: f8bd 3008 ldrh.w r3, [sp, #8] + 5560: 4498 add r8, r3 + 5562: f8ad 8008 strh.w r8, [sp, #8] coords.y1 -= h; - 557e: b280 uxth r0, r0 - 5580: f8bd 3006 ldrh.w r3, [sp, #6] - 5584: 1a1b subs r3, r3, r0 - 5586: f8ad 3006 strh.w r3, [sp, #6] + 5566: b280 uxth r0, r0 + 5568: f8bd 3006 ldrh.w r3, [sp, #6] + 556c: 1a1b subs r3, r3, r0 + 556e: f8ad 3006 strh.w r3, [sp, #6] coords.y2 += h; - 558a: f8bd 300a ldrh.w r3, [sp, #10] - 558e: 4418 add r0, r3 - 5590: f8ad 000a strh.w r0, [sp, #10] + 5572: f8bd 300a ldrh.w r3, [sp, #10] + 5576: 4418 add r0, r3 + 5578: f8ad 000a strh.w r0, [sp, #10] lv_draw_rect(&coords, clip_area, &draw_dsc); - 5594: aa03 add r2, sp, #12 - 5596: 4631 mov r1, r6 - 5598: a801 add r0, sp, #4 - 559a: 4b3f ldr r3, [pc, #252] ; (5698 ) - 559c: 4798 blx r3 + 557c: aa03 add r2, sp, #12 + 557e: 4631 mov r1, r6 + 5580: a801 add r0, sp, #4 + 5582: 4b3f ldr r3, [pc, #252] ; (5680 ) + 5584: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 559e: 2202 movs r2, #2 - 55a0: 2100 movs r1, #0 - 55a2: 4620 mov r0, r4 - 55a4: 4b37 ldr r3, [pc, #220] ; (5684 ) - 55a6: 4798 blx r3 + 5586: 2202 movs r2, #2 + 5588: 2100 movs r1, #0 + 558a: 4620 mov r0, r4 + 558c: 4b37 ldr r3, [pc, #220] ; (566c ) + 558e: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) { - 55a8: b908 cbnz r0, 55ae + 5590: b908 cbnz r0, 5596 return LV_DESIGN_RES_OK; - 55aa: 2000 movs r0, #0 - 55ac: e749 b.n 5442 + 5592: 2000 movs r0, #0 + 5594: e749 b.n 542a lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t)); - 55ae: 201c movs r0, #28 - 55b0: 4b3a ldr r3, [pc, #232] ; (569c ) - 55b2: 4798 blx r3 - 55b4: 4605 mov r5, r0 + 5596: 201c movs r0, #28 + 5598: 4b3a ldr r3, [pc, #232] ; (5684 ) + 559a: 4798 blx r3 + 559c: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 55b6: 2201 movs r2, #1 - 55b8: 2100 movs r1, #0 - 55ba: 4620 mov r0, r4 - 55bc: 4b31 ldr r3, [pc, #196] ; (5684 ) - 55be: 4798 blx r3 + 559e: 2201 movs r2, #1 + 55a0: 2100 movs r1, #0 + 55a2: 4620 mov r0, r4 + 55a4: 4b31 ldr r3, [pc, #196] ; (566c ) + 55a6: 4798 blx r3 lv_draw_mask_radius_init(mp, &obj->coords, r, false); - 55c0: 2300 movs r3, #0 - 55c2: 4602 mov r2, r0 - 55c4: 4639 mov r1, r7 - 55c6: 4628 mov r0, r5 - 55c8: 4e35 ldr r6, [pc, #212] ; (56a0 ) - 55ca: 47b0 blx r6 + 55a8: 2300 movs r3, #0 + 55aa: 4602 mov r2, r0 + 55ac: 4639 mov r1, r7 + 55ae: 4628 mov r0, r5 + 55b0: 4e35 ldr r6, [pc, #212] ; (5688 ) + 55b2: 47b0 blx r6 lv_draw_mask_add(mp, obj + 8); - 55cc: f504 7118 add.w r1, r4, #608 ; 0x260 - 55d0: 4628 mov r0, r5 - 55d2: 4b34 ldr r3, [pc, #208] ; (56a4 ) - 55d4: 4798 blx r3 - 55d6: e7e8 b.n 55aa + 55b4: f504 7118 add.w r1, r4, #608 ; 0x260 + 55b8: 4628 mov r0, r5 + 55ba: 4b34 ldr r3, [pc, #208] ; (568c ) + 55bc: 4798 blx r3 + 55be: e7e8 b.n 5592 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 55d8: 2202 movs r2, #2 - 55da: 2100 movs r1, #0 - 55dc: 4b29 ldr r3, [pc, #164] ; (5684 ) - 55de: 4798 blx r3 + 55c0: 2202 movs r2, #2 + 55c2: 2100 movs r1, #0 + 55c4: 4b29 ldr r3, [pc, #164] ; (566c ) + 55c6: 4798 blx r3 if(lv_obj_get_style_clip_corner(obj, LV_OBJ_PART_MAIN)) { - 55e0: b938 cbnz r0, 55f2 + 55c8: b938 cbnz r0, 55da _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 55e2: 2233 movs r2, #51 ; 0x33 - 55e4: 2100 movs r1, #0 - 55e6: 4620 mov r0, r4 - 55e8: 4b26 ldr r3, [pc, #152] ; (5684 ) - 55ea: 4798 blx r3 + 55ca: 2233 movs r2, #51 ; 0x33 + 55cc: 2100 movs r1, #0 + 55ce: 4620 mov r0, r4 + 55d0: 4b26 ldr r3, [pc, #152] ; (566c ) + 55d2: 4798 blx r3 if(lv_obj_get_style_border_post(obj, LV_OBJ_PART_MAIN)) { - 55ec: b940 cbnz r0, 5600 + 55d4: b940 cbnz r0, 55e8 return LV_DESIGN_RES_OK; - 55ee: 2000 movs r0, #0 - 55f0: e727 b.n 5442 + 55d6: 2000 movs r0, #0 + 55d8: e727 b.n 542a lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(obj + 8); - 55f2: f504 7018 add.w r0, r4, #608 ; 0x260 - 55f6: 4b2c ldr r3, [pc, #176] ; (56a8 ) - 55f8: 4798 blx r3 + 55da: f504 7018 add.w r0, r4, #608 ; 0x260 + 55de: 4b2c ldr r3, [pc, #176] ; (5690 ) + 55e0: 4798 blx r3 _lv_mem_buf_release(param); - 55fa: 4b2c ldr r3, [pc, #176] ; (56ac ) - 55fc: 4798 blx r3 - 55fe: e7f0 b.n 55e2 + 55e2: 4b2c ldr r3, [pc, #176] ; (5694 ) + 55e4: 4798 blx r3 + 55e6: e7f0 b.n 55ca lv_draw_rect_dsc_init(&draw_dsc); - 5600: a803 add r0, sp, #12 - 5602: 4b23 ldr r3, [pc, #140] ; (5690 ) - 5604: 4798 blx r3 + 55e8: a803 add r0, sp, #12 + 55ea: 4b23 ldr r3, [pc, #140] ; (5678 ) + 55ec: 4798 blx r3 draw_dsc.bg_opa = LV_OPA_TRANSP; - 5606: 2700 movs r7, #0 - 5608: f88d 7018 strb.w r7, [sp, #24] + 55ee: 2700 movs r7, #0 + 55f0: f88d 7018 strb.w r7, [sp, #24] draw_dsc.pattern_opa = LV_OPA_TRANSP; - 560c: f88d 7042 strb.w r7, [sp, #66] ; 0x42 + 55f4: f88d 7042 strb.w r7, [sp, #66] ; 0x42 draw_dsc.shadow_opa = LV_OPA_TRANSP; - 5610: f88d 7034 strb.w r7, [sp, #52] ; 0x34 + 55f8: f88d 7034 strb.w r7, [sp, #52] ; 0x34 lv_obj_init_draw_rect_dsc(obj, LV_OBJ_PART_MAIN, &draw_dsc); - 5614: aa03 add r2, sp, #12 - 5616: 4639 mov r1, r7 - 5618: 4620 mov r0, r4 - 561a: 4b1e ldr r3, [pc, #120] ; (5694 ) - 561c: 4798 blx r3 + 55fc: aa03 add r2, sp, #12 + 55fe: 4639 mov r1, r7 + 5600: 4620 mov r0, r4 + 5602: 4b1e ldr r3, [pc, #120] ; (567c ) + 5604: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 561e: 2204 movs r2, #4 - 5620: 4639 mov r1, r7 - 5622: 4620 mov r0, r4 - 5624: 4d17 ldr r5, [pc, #92] ; (5684 ) - 5626: 47a8 blx r5 - 5628: 4680 mov r8, r0 + 5606: 2204 movs r2, #4 + 5608: 4639 mov r1, r7 + 560a: 4620 mov r0, r4 + 560c: 4d17 ldr r5, [pc, #92] ; (566c ) + 560e: 47a8 blx r5 + 5610: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 562a: 2205 movs r2, #5 - 562c: 4639 mov r1, r7 - 562e: 4620 mov r0, r4 - 5630: 47a8 blx r5 - 5632: f104 030f add.w r3, r4, #15 - 5636: 3417 adds r4, #23 + 5612: 2205 movs r2, #5 + 5614: 4639 mov r1, r7 + 5616: 4620 mov r0, r4 + 5618: 47a8 blx r5 + 561a: f104 030f add.w r3, r4, #15 + 561e: 3417 adds r4, #23 uint8_t * d8 = (uint8_t *)dst; - 5638: aa01 add r2, sp, #4 + 5620: aa01 add r2, sp, #4 *d8 = *s8; - 563a: f813 1f01 ldrb.w r1, [r3, #1]! - 563e: f802 1b01 strb.w r1, [r2], #1 + 5622: f813 1f01 ldrb.w r1, [r3, #1]! + 5626: f802 1b01 strb.w r1, [r2], #1 while(len) { - 5642: 42a3 cmp r3, r4 - 5644: d1f9 bne.n 563a + 562a: 42a3 cmp r3, r4 + 562c: d1f9 bne.n 5622 coords.x1 -= w; - 5646: fa1f f388 uxth.w r3, r8 - 564a: f8bd 2004 ldrh.w r2, [sp, #4] - 564e: 1ad2 subs r2, r2, r3 - 5650: f8ad 2004 strh.w r2, [sp, #4] + 562e: fa1f f388 uxth.w r3, r8 + 5632: f8bd 2004 ldrh.w r2, [sp, #4] + 5636: 1ad2 subs r2, r2, r3 + 5638: f8ad 2004 strh.w r2, [sp, #4] coords.x2 += w; - 5654: f8bd 2008 ldrh.w r2, [sp, #8] - 5658: 4413 add r3, r2 - 565a: f8ad 3008 strh.w r3, [sp, #8] + 563c: f8bd 2008 ldrh.w r2, [sp, #8] + 5640: 4413 add r3, r2 + 5642: f8ad 3008 strh.w r3, [sp, #8] coords.y1 -= h; - 565e: b280 uxth r0, r0 - 5660: f8bd 3006 ldrh.w r3, [sp, #6] - 5664: 1a1b subs r3, r3, r0 - 5666: f8ad 3006 strh.w r3, [sp, #6] + 5646: b280 uxth r0, r0 + 5648: f8bd 3006 ldrh.w r3, [sp, #6] + 564c: 1a1b subs r3, r3, r0 + 564e: f8ad 3006 strh.w r3, [sp, #6] coords.y2 += h; - 566a: f8bd 300a ldrh.w r3, [sp, #10] - 566e: 4418 add r0, r3 - 5670: f8ad 000a strh.w r0, [sp, #10] + 5652: f8bd 300a ldrh.w r3, [sp, #10] + 5656: 4418 add r0, r3 + 5658: f8ad 000a strh.w r0, [sp, #10] lv_draw_rect(&coords, clip_area, &draw_dsc); - 5674: aa03 add r2, sp, #12 - 5676: 4631 mov r1, r6 - 5678: a801 add r0, sp, #4 - 567a: 4b07 ldr r3, [pc, #28] ; (5698 ) - 567c: 4798 blx r3 + 565c: aa03 add r2, sp, #12 + 565e: 4631 mov r1, r6 + 5660: a801 add r0, sp, #4 + 5662: 4b07 ldr r3, [pc, #28] ; (5680 ) + 5664: 4798 blx r3 return LV_DESIGN_RES_OK; - 567e: 2000 movs r0, #0 - 5680: e6df b.n 5442 - 5682: bf00 nop - 5684: 000044d5 .word 0x000044d5 - 5688: 0001176d .word 0x0001176d - 568c: 0000460d .word 0x0000460d - 5690: 0000c269 .word 0x0000c269 - 5694: 000050c5 .word 0x000050c5 - 5698: 0000c331 .word 0x0000c331 - 569c: 0001293d .word 0x0001293d - 56a0: 0000c02d .word 0x0000c02d - 56a4: 0000bdc1 .word 0x0000bdc1 - 56a8: 0000be91 .word 0x0000be91 - 56ac: 00012571 .word 0x00012571 - -000056b0 : -{ - 56b0: b5f8 push {r3, r4, r5, r6, r7, lr} - 56b2: 4605 mov r5, r0 - 56b4: 460e mov r6, r1 - 56b6: 4614 mov r4, r2 + 5666: 2000 movs r0, #0 + 5668: e6df b.n 542a + 566a: bf00 nop + 566c: 000044bd .word 0x000044bd + 5670: 00011755 .word 0x00011755 + 5674: 000045f5 .word 0x000045f5 + 5678: 0000c251 .word 0x0000c251 + 567c: 000050ad .word 0x000050ad + 5680: 0000c319 .word 0x0000c319 + 5684: 00012925 .word 0x00012925 + 5688: 0000c015 .word 0x0000c015 + 568c: 0000bda9 .word 0x0000bda9 + 5690: 0000be79 .word 0x0000be79 + 5694: 00012559 .word 0x00012559 + +00005698 : +{ + 5698: b5f8 push {r3, r4, r5, r6, r7, lr} + 569a: 4605 mov r5, r0 + 569c: 460e mov r6, r1 + 569e: 4614 mov r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar) - 56b8: f248 028c movw r2, #32908 ; 0x808c - 56bc: 4b26 ldr r3, [pc, #152] ; (5758 ) - 56be: 4798 blx r3 + 56a0: f248 028c movw r2, #32908 ; 0x808c + 56a4: 4b26 ldr r3, [pc, #152] ; (5740 ) + 56a6: 4798 blx r3 draw_dsc->opa = lv_obj_get_style_text_opa(obj, part); - 56c0: 7220 strb r0, [r4, #8] + 56a8: 7220 strb r0, [r4, #8] if(draw_dsc->opa <= LV_OPA_MIN) return; - 56c2: 2805 cmp r0, #5 - 56c4: d800 bhi.n 56c8 - 56c6: bdf8 pop {r3, r4, r5, r6, r7, pc} + 56aa: 2805 cmp r0, #5 + 56ac: d800 bhi.n 56b0 + 56ae: bdf8 pop {r3, r4, r5, r6, r7, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 56c8: f248 020c movw r2, #32780 ; 0x800c - 56cc: 4631 mov r1, r6 - 56ce: 4628 mov r0, r5 - 56d0: 4b21 ldr r3, [pc, #132] ; (5758 ) - 56d2: 4798 blx r3 + 56b0: f248 020c movw r2, #32780 ; 0x800c + 56b4: 4631 mov r1, r6 + 56b6: 4628 mov r0, r5 + 56b8: 4b21 ldr r3, [pc, #132] ; (5740 ) + 56ba: 4798 blx r3 if(opa_scale < LV_OPA_MAX) { - 56d4: 28f9 cmp r0, #249 ; 0xf9 - 56d6: d805 bhi.n 56e4 + 56bc: 28f9 cmp r0, #249 ; 0xf9 + 56be: d805 bhi.n 56cc draw_dsc->opa = (uint16_t)((uint16_t)draw_dsc->opa * opa_scale) >> 8; - 56d8: 7a23 ldrb r3, [r4, #8] - 56da: fb13 f000 smulbb r0, r3, r0 - 56de: f3c0 2007 ubfx r0, r0, #8, #8 - 56e2: 7220 strb r0, [r4, #8] + 56c0: 7a23 ldrb r3, [r4, #8] + 56c2: fb13 f000 smulbb r0, r3, r0 + 56c6: f3c0 2007 ubfx r0, r0, #8, #8 + 56ca: 7220 strb r0, [r4, #8] if(draw_dsc->opa <= LV_OPA_MIN) return; - 56e4: 7a23 ldrb r3, [r4, #8] - 56e6: 2b05 cmp r3, #5 - 56e8: d9ed bls.n 56c6 + 56cc: 7a23 ldrb r3, [r4, #8] + 56ce: 2b05 cmp r3, #5 + 56d0: d9ed bls.n 56ae _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 56ea: f248 0289 movw r2, #32905 ; 0x8089 - 56ee: 4631 mov r1, r6 - 56f0: 4628 mov r0, r5 - 56f2: 4b1a ldr r3, [pc, #104] ; (575c ) - 56f4: 4798 blx r3 + 56d2: f248 0289 movw r2, #32905 ; 0x8089 + 56d6: 4631 mov r1, r6 + 56d8: 4628 mov r0, r5 + 56da: 4b1a ldr r3, [pc, #104] ; (5744 ) + 56dc: 4798 blx r3 draw_dsc->color = lv_obj_get_style_text_color(obj, part); - 56f6: 8020 strh r0, [r4, #0] + 56de: 8020 strh r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 56f8: f248 0280 movw r2, #32896 ; 0x8080 - 56fc: 4631 mov r1, r6 - 56fe: 4628 mov r0, r5 - 5700: 4f17 ldr r7, [pc, #92] ; (5760 ) - 5702: 47b8 blx r7 + 56e0: f248 0280 movw r2, #32896 ; 0x8080 + 56e4: 4631 mov r1, r6 + 56e6: 4628 mov r0, r5 + 56e8: 4f17 ldr r7, [pc, #92] ; (5748 ) + 56ea: 47b8 blx r7 draw_dsc->letter_space = lv_obj_get_style_text_letter_space(obj, part); - 5704: 81a0 strh r0, [r4, #12] + 56ec: 81a0 strh r0, [r4, #12] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 5706: f248 0281 movw r2, #32897 ; 0x8081 + 56ee: f248 0281 movw r2, #32897 ; 0x8081 + 56f2: 4631 mov r1, r6 + 56f4: 4628 mov r0, r5 + 56f6: 47b8 blx r7 + draw_dsc->line_space = lv_obj_get_style_text_line_space(obj, part); + 56f8: 8160 strh r0, [r4, #10] +_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) + 56fa: f248 0282 movw r2, #32898 ; 0x8082 + 56fe: 4631 mov r1, r6 + 5700: 4628 mov r0, r5 + 5702: 47b8 blx r7 + 5704: 7620 strb r0, [r4, #24] +_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) + 5706: f248 0283 movw r2, #32899 ; 0x8083 570a: 4631 mov r1, r6 570c: 4628 mov r0, r5 570e: 47b8 blx r7 - draw_dsc->line_space = lv_obj_get_style_text_line_space(obj, part); - 5710: 8160 strh r0, [r4, #10] -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) - 5712: f248 0282 movw r2, #32898 ; 0x8082 + 5710: 7660 strb r0, [r4, #25] +_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) + 5712: f248 028e movw r2, #32910 ; 0x808e 5716: 4631 mov r1, r6 5718: 4628 mov r0, r5 - 571a: 47b8 blx r7 - 571c: 7620 strb r0, [r4, #24] -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) - 571e: f248 0283 movw r2, #32899 ; 0x8083 - 5722: 4631 mov r1, r6 - 5724: 4628 mov r0, r5 - 5726: 47b8 blx r7 - 5728: 7660 strb r0, [r4, #25] -_LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 572a: f248 028e movw r2, #32910 ; 0x808e - 572e: 4631 mov r1, r6 - 5730: 4628 mov r0, r5 - 5732: 4b0c ldr r3, [pc, #48] ; (5764 ) - 5734: 4798 blx r3 + 571a: 4b0c ldr r3, [pc, #48] ; (574c ) + 571c: 4798 blx r3 draw_dsc->font = lv_obj_get_style_text_font(obj, part); - 5736: 6060 str r0, [r4, #4] + 571e: 6060 str r0, [r4, #4] if(draw_dsc->sel_start != LV_DRAW_LABEL_NO_TXT_SEL && draw_dsc->sel_end != LV_DRAW_LABEL_NO_TXT_SEL) { - 5738: 89e2 ldrh r2, [r4, #14] - 573a: f64f 73ff movw r3, #65535 ; 0xffff - 573e: 429a cmp r2, r3 - 5740: d0c1 beq.n 56c6 - 5742: 8a22 ldrh r2, [r4, #16] - 5744: 429a cmp r2, r3 - 5746: d0be beq.n 56c6 + 5720: 89e2 ldrh r2, [r4, #14] + 5722: f64f 73ff movw r3, #65535 ; 0xffff + 5726: 429a cmp r2, r3 + 5728: d0c1 beq.n 56ae + 572a: 8a22 ldrh r2, [r4, #16] + 572c: 429a cmp r2, r3 + 572e: d0be beq.n 56ae _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar) - 5748: f248 028a movw r2, #32906 ; 0x808a - 574c: 4631 mov r1, r6 - 574e: 4628 mov r0, r5 - 5750: 4b02 ldr r3, [pc, #8] ; (575c ) - 5752: 4798 blx r3 + 5730: f248 028a movw r2, #32906 ; 0x808a + 5734: 4631 mov r1, r6 + 5736: 4628 mov r0, r5 + 5738: 4b02 ldr r3, [pc, #8] ; (5744 ) + 573a: 4798 blx r3 draw_dsc->color = lv_obj_get_style_text_sel_color(obj, part); - 5754: 8020 strh r0, [r4, #0] - 5756: e7b6 b.n 56c6 - 5758: 0000460d .word 0x0000460d - 575c: 00004581 .word 0x00004581 - 5760: 000044d5 .word 0x000044d5 - 5764: 000046a1 .word 0x000046a1 - -00005768 : -{ - 5768: b570 push {r4, r5, r6, lr} - 576a: 4605 mov r5, r0 - 576c: 460e mov r6, r1 - 576e: 4614 mov r4, r2 + 573c: 8020 strh r0, [r4, #0] + 573e: e7b6 b.n 56ae + 5740: 000045f5 .word 0x000045f5 + 5744: 00004569 .word 0x00004569 + 5748: 000044bd .word 0x000044bd + 574c: 00004689 .word 0x00004689 + +00005750 : +{ + 5750: b570 push {r4, r5, r6, lr} + 5752: 4605 mov r5, r0 + 5754: 460e mov r6, r1 + 5756: 4614 mov r4, r2 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) - 5770: f248 02ac movw r2, #32940 ; 0x80ac - 5774: 4b21 ldr r3, [pc, #132] ; (57fc ) - 5776: 4798 blx r3 + 5758: f248 02ac movw r2, #32940 ; 0x80ac + 575c: 4b21 ldr r3, [pc, #132] ; (57e4 ) + 575e: 4798 blx r3 draw_dsc->opa = lv_obj_get_style_image_opa(obj, part); - 5778: 7020 strb r0, [r4, #0] + 5760: 7020 strb r0, [r4, #0] if(draw_dsc->opa <= LV_OPA_MIN) return; - 577a: 2805 cmp r0, #5 - 577c: d800 bhi.n 5780 - 577e: bd70 pop {r4, r5, r6, pc} + 5762: 2805 cmp r0, #5 + 5764: d800 bhi.n 5768 + 5766: bd70 pop {r4, r5, r6, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(OPA_SCALE, opa_scale, lv_opa_t, _opa, scalar) - 5780: f248 020c movw r2, #32780 ; 0x800c - 5784: 4631 mov r1, r6 - 5786: 4628 mov r0, r5 - 5788: 4b1c ldr r3, [pc, #112] ; (57fc ) - 578a: 4798 blx r3 + 5768: f248 020c movw r2, #32780 ; 0x800c + 576c: 4631 mov r1, r6 + 576e: 4628 mov r0, r5 + 5770: 4b1c ldr r3, [pc, #112] ; (57e4 ) + 5772: 4798 blx r3 if(opa_scale < LV_OPA_MAX) { - 578c: 28f9 cmp r0, #249 ; 0xf9 - 578e: d805 bhi.n 579c + 5774: 28f9 cmp r0, #249 ; 0xf9 + 5776: d805 bhi.n 5784 draw_dsc->opa = (uint16_t)((uint16_t)draw_dsc->opa * opa_scale) >> 8; - 5790: 7823 ldrb r3, [r4, #0] - 5792: fb13 f000 smulbb r0, r3, r0 - 5796: f3c0 2007 ubfx r0, r0, #8, #8 - 579a: 7020 strb r0, [r4, #0] + 5778: 7823 ldrb r3, [r4, #0] + 577a: fb13 f000 smulbb r0, r3, r0 + 577e: f3c0 2007 ubfx r0, r0, #8, #8 + 5782: 7020 strb r0, [r4, #0] if(draw_dsc->opa <= LV_OPA_MIN) return; - 579c: 7823 ldrb r3, [r4, #0] - 579e: 2b05 cmp r3, #5 - 57a0: d9ed bls.n 577e + 5784: 7823 ldrb r3, [r4, #0] + 5786: 2b05 cmp r3, #5 + 5788: d9ed bls.n 5766 draw_dsc->angle = 0; - 57a2: 2300 movs r3, #0 - 57a4: 8063 strh r3, [r4, #2] + 578a: 2300 movs r3, #0 + 578c: 8063 strh r3, [r4, #2] draw_dsc->zoom = LV_IMG_ZOOM_NONE; - 57a6: f44f 7380 mov.w r3, #256 ; 0x100 - 57aa: 8123 strh r3, [r4, #8] + 578e: f44f 7380 mov.w r3, #256 ; 0x100 + 5792: 8123 strh r3, [r4, #8] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 57ac: 8aab ldrh r3, [r5, #20] - 57ae: 3301 adds r3, #1 - 57b0: 8a2a ldrh r2, [r5, #16] - 57b2: 1a9b subs r3, r3, r2 + 5794: 8aab ldrh r3, [r5, #20] + 5796: 3301 adds r3, #1 + 5798: 8a2a ldrh r2, [r5, #16] + 579a: 1a9b subs r3, r3, r2 draw_dsc->pivot.x = lv_area_get_width(&obj->coords) / 2; - 57b4: b21b sxth r3, r3 - 57b6: eb03 73d3 add.w r3, r3, r3, lsr #31 - 57ba: 105b asrs r3, r3, #1 - 57bc: 80a3 strh r3, [r4, #4] + 579c: b21b sxth r3, r3 + 579e: eb03 73d3 add.w r3, r3, r3, lsr #31 + 57a2: 105b asrs r3, r3, #1 + 57a4: 80a3 strh r3, [r4, #4] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 57be: 8aeb ldrh r3, [r5, #22] - 57c0: 3301 adds r3, #1 - 57c2: 8a6a ldrh r2, [r5, #18] - 57c4: 1a9b subs r3, r3, r2 + 57a6: 8aeb ldrh r3, [r5, #22] + 57a8: 3301 adds r3, #1 + 57aa: 8a6a ldrh r2, [r5, #18] + 57ac: 1a9b subs r3, r3, r2 draw_dsc->pivot.y = lv_area_get_height(&obj->coords) / 2; - 57c6: b21b sxth r3, r3 - 57c8: eb03 73d3 add.w r3, r3, r3, lsr #31 - 57cc: 105b asrs r3, r3, #1 - 57ce: 80e3 strh r3, [r4, #6] + 57ae: b21b sxth r3, r3 + 57b0: eb03 73d3 add.w r3, r3, r3, lsr #31 + 57b4: 105b asrs r3, r3, #1 + 57b6: 80e3 strh r3, [r4, #6] _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) - 57d0: f248 02ad movw r2, #32941 ; 0x80ad - 57d4: 4631 mov r1, r6 - 57d6: 4628 mov r0, r5 - 57d8: 4b08 ldr r3, [pc, #32] ; (57fc ) - 57da: 4798 blx r3 + 57b8: f248 02ad movw r2, #32941 ; 0x80ad + 57bc: 4631 mov r1, r6 + 57be: 4628 mov r0, r5 + 57c0: 4b08 ldr r3, [pc, #32] ; (57e4 ) + 57c2: 4798 blx r3 draw_dsc->recolor_opa = lv_obj_get_style_image_recolor_opa(obj, part); - 57dc: 72a0 strb r0, [r4, #10] + 57c4: 72a0 strb r0, [r4, #10] _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 57de: f248 02a9 movw r2, #32937 ; 0x80a9 - 57e2: 4631 mov r1, r6 - 57e4: 4628 mov r0, r5 - 57e6: 4b06 ldr r3, [pc, #24] ; (5800 ) - 57e8: 4798 blx r3 + 57c6: f248 02a9 movw r2, #32937 ; 0x80a9 + 57ca: 4631 mov r1, r6 + 57cc: 4628 mov r0, r5 + 57ce: 4b06 ldr r3, [pc, #24] ; (57e8 ) + 57d0: 4798 blx r3 draw_dsc->recolor = lv_obj_get_style_image_recolor(obj, part); - 57ea: 81a0 strh r0, [r4, #12] + 57d2: 81a0 strh r0, [r4, #12] _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) - 57ec: f248 02a0 movw r2, #32928 ; 0x80a0 - 57f0: 4631 mov r1, r6 - 57f2: 4628 mov r0, r5 - 57f4: 4b03 ldr r3, [pc, #12] ; (5804 ) - 57f6: 4798 blx r3 - 57f8: 73a0 strb r0, [r4, #14] - 57fa: e7c0 b.n 577e - 57fc: 0000460d .word 0x0000460d - 5800: 00004581 .word 0x00004581 - 5804: 000044d5 .word 0x000044d5 - -00005808 : -{ - 5808: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 580c: b089 sub sp, #36 ; 0x24 - 580e: 4604 mov r4, r0 - 5810: 460e mov r6, r1 + 57d4: f248 02a0 movw r2, #32928 ; 0x80a0 + 57d8: 4631 mov r1, r6 + 57da: 4628 mov r0, r5 + 57dc: 4b03 ldr r3, [pc, #12] ; (57ec ) + 57de: 4798 blx r3 + 57e0: 73a0 strb r0, [r4, #14] + 57e2: e7c0 b.n 5766 + 57e4: 000045f5 .word 0x000045f5 + 57e8: 00004569 .word 0x00004569 + 57ec: 000044bd .word 0x000044bd + +000057f0 : +{ + 57f0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 57f4: b089 sub sp, #36 ; 0x24 + 57f6: 4604 mov r4, r0 + 57f8: 460e mov r6, r1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 5812: 2250 movs r2, #80 ; 0x50 - 5814: 4b76 ldr r3, [pc, #472] ; (59f0 ) - 5816: 4798 blx r3 + 57fa: 2250 movs r2, #80 ; 0x50 + 57fc: 4b76 ldr r3, [pc, #472] ; (59d8 ) + 57fe: 4798 blx r3 if(sh_width) { - 5818: 4607 mov r7, r0 - 581a: bb68 cbnz r0, 5878 + 5800: 4607 mov r7, r0 + 5802: bb68 cbnz r0, 5860 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) - 581c: 227f movs r2, #127 ; 0x7f - 581e: 4631 mov r1, r6 - 5820: 4620 mov r0, r4 - 5822: 4b74 ldr r3, [pc, #464] ; (59f4 ) - 5824: 4798 blx r3 + 5804: 227f movs r2, #127 ; 0x7f + 5806: 4631 mov r1, r6 + 5808: 4620 mov r0, r4 + 580a: 4b74 ldr r3, [pc, #464] ; (59dc ) + 580c: 4798 blx r3 if(value_str) { - 5826: 4680 mov r8, r0 - 5828: b130 cbz r0, 5838 + 580e: 4680 mov r8, r0 + 5810: b130 cbz r0, 5820 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OPA, value_opa, lv_opa_t, _opa, scalar) - 582a: 227c movs r2, #124 ; 0x7c - 582c: 4631 mov r1, r6 - 582e: 4620 mov r0, r4 - 5830: 4b71 ldr r3, [pc, #452] ; (59f8 ) - 5832: 4798 blx r3 + 5812: 227c movs r2, #124 ; 0x7c + 5814: 4631 mov r1, r6 + 5816: 4620 mov r0, r4 + 5818: 4b71 ldr r3, [pc, #452] ; (59e0 ) + 581a: 4798 blx r3 if(value_opa > LV_OPA_MIN) { - 5834: 2805 cmp r0, #5 - 5836: d84c bhi.n 58d2 + 581c: 2805 cmp r0, #5 + 581e: d84c bhi.n 58ba _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 5838: 2240 movs r2, #64 ; 0x40 - 583a: 4631 mov r1, r6 - 583c: 4620 mov r0, r4 - 583e: 4b6c ldr r3, [pc, #432] ; (59f0 ) - 5840: 4798 blx r3 + 5820: 2240 movs r2, #64 ; 0x40 + 5822: 4631 mov r1, r6 + 5824: 4620 mov r0, r4 + 5826: 4b6c ldr r3, [pc, #432] ; (59d8 ) + 5828: 4798 blx r3 if(outline_width) { - 5842: 4605 mov r5, r0 - 5844: 2800 cmp r0, #0 - 5846: f040 80bf bne.w 59c8 + 582a: 4605 mov r5, r0 + 582c: 2800 cmp r0, #0 + 582e: f040 80bf bne.w 59b0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 584a: 2204 movs r2, #4 - 584c: 4631 mov r1, r6 - 584e: 4620 mov r0, r4 - 5850: f8df 819c ldr.w r8, [pc, #412] ; 59f0 - 5854: 47c0 blx r8 - 5856: 4605 mov r5, r0 + 5832: 2204 movs r2, #4 + 5834: 4631 mov r1, r6 + 5836: 4620 mov r0, r4 + 5838: f8df 819c ldr.w r8, [pc, #412] ; 59d8 + 583c: 47c0 blx r8 + 583e: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 5858: 2205 movs r2, #5 - 585a: 4631 mov r1, r6 - 585c: 4620 mov r0, r4 - 585e: 47c0 blx r8 + 5840: 2205 movs r2, #5 + 5842: 4631 mov r1, r6 + 5844: 4620 mov r0, r4 + 5846: 47c0 blx r8 lv_coord_t wh = LV_MATH_MAX(w, h); - 5860: 42a8 cmp r0, r5 - 5862: bfb8 it lt - 5864: 4628 movlt r0, r5 - 5866: b200 sxth r0, r0 + 5848: 42a8 cmp r0, r5 + 584a: bfb8 it lt + 584c: 4628 movlt r0, r5 + 584e: b200 sxth r0, r0 if(wh > 0) s += wh; - 5868: 2800 cmp r0, #0 - 586a: bfc4 itt gt - 586c: 19c0 addgt r0, r0, r7 - 586e: b207 sxthgt r7, r0 -} - 5870: 4638 mov r0, r7 - 5872: b009 add sp, #36 ; 0x24 - 5874: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 5850: 2800 cmp r0, #0 + 5852: bfc4 itt gt + 5854: 19c0 addgt r0, r0, r7 + 5856: b207 sxthgt r7, r0 +} + 5858: 4638 mov r0, r7 + 585a: b009 add sp, #36 ; 0x24 + 585c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OPA, shadow_opa, lv_opa_t, _opa, scalar) - 5878: 225c movs r2, #92 ; 0x5c - 587a: 4631 mov r1, r6 - 587c: 4620 mov r0, r4 - 587e: 4b5e ldr r3, [pc, #376] ; (59f8 ) - 5880: 4798 blx r3 + 5860: 225c movs r2, #92 ; 0x5c + 5862: 4631 mov r1, r6 + 5864: 4620 mov r0, r4 + 5866: 4b5e ldr r3, [pc, #376] ; (59e0 ) + 5868: 4798 blx r3 if(sh_opa > LV_OPA_MIN) { - 5882: 2805 cmp r0, #5 - 5884: d801 bhi.n 588a + 586a: 2805 cmp r0, #5 + 586c: d801 bhi.n 5872 lv_coord_t s = 0; - 5886: 2700 movs r7, #0 - 5888: e7c8 b.n 581c + 586e: 2700 movs r7, #0 + 5870: e7c8 b.n 5804 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 588a: 2253 movs r2, #83 ; 0x53 - 588c: 4631 mov r1, r6 - 588e: 4620 mov r0, r4 - 5890: 4d57 ldr r5, [pc, #348] ; (59f0 ) - 5892: 47a8 blx r5 + 5872: 2253 movs r2, #83 ; 0x53 + 5874: 4631 mov r1, r6 + 5876: 4620 mov r0, r4 + 5878: 4d57 ldr r5, [pc, #348] ; (59d8 ) + 587a: 47a8 blx r5 sh_width = sh_width / 2; /*THe blur adds only half width*/ - 5894: eb07 77d7 add.w r7, r7, r7, lsr #31 + 587c: eb07 77d7 add.w r7, r7, r7, lsr #31 sh_width++; - 5898: eb00 0767 add.w r7, r0, r7, asr #1 + 5880: eb00 0767 add.w r7, r0, r7, asr #1 sh_width += lv_obj_get_style_shadow_spread(obj, part); - 589c: 3701 adds r7, #1 - 589e: b2bf uxth r7, r7 + 5884: 3701 adds r7, #1 + 5886: b2bf uxth r7, r7 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_X, shadow_ofs_x, lv_style_int_t, _int, scalar) - 58a0: 2251 movs r2, #81 ; 0x51 - 58a2: 4631 mov r1, r6 - 58a4: 4620 mov r0, r4 - 58a6: 47a8 blx r5 - 58a8: 4680 mov r8, r0 + 5888: 2251 movs r2, #81 ; 0x51 + 588a: 4631 mov r1, r6 + 588c: 4620 mov r0, r4 + 588e: 47a8 blx r5 + 5890: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_OFS_Y, shadow_ofs_y, lv_style_int_t, _int, scalar) - 58aa: 2252 movs r2, #82 ; 0x52 - 58ac: 4631 mov r1, r6 - 58ae: 4620 mov r0, r4 - 58b0: 47a8 blx r5 + 5892: 2252 movs r2, #82 ; 0x52 + 5894: 4631 mov r1, r6 + 5896: 4620 mov r0, r4 + 5898: 47a8 blx r5 sh_width += LV_MATH_MAX(LV_MATH_ABS(sh_ofs_x), LV_MATH_ABS(sh_ofs_y)); - 58b2: 2800 cmp r0, #0 - 58b4: bfb8 it lt - 58b6: 4240 neglt r0, r0 - 58b8: f1b8 0f00 cmp.w r8, #0 - 58bc: bfb8 it lt - 58be: f1c8 0800 rsblt r8, r8, #0 - 58c2: 4540 cmp r0, r8 - 58c4: bfac ite ge - 58c6: 183f addge r7, r7, r0 - 58c8: 4447 addlt r7, r8 + 589a: 2800 cmp r0, #0 + 589c: bfb8 it lt + 589e: 4240 neglt r0, r0 + 58a0: f1b8 0f00 cmp.w r8, #0 + 58a4: bfb8 it lt + 58a6: f1c8 0800 rsblt r8, r8, #0 + 58aa: 4540 cmp r0, r8 + 58ac: bfac ite ge + 58ae: 183f addge r7, r7, r0 + 58b0: 4447 addlt r7, r8 s = LV_MATH_MAX(s, sh_width); - 58ca: b238 sxth r0, r7 - 58cc: ea20 77e0 bic.w r7, r0, r0, asr #31 - 58d0: e7a4 b.n 581c + 58b2: b238 sxth r0, r7 + 58b4: ea20 77e0 bic.w r7, r0, r0, asr #31 + 58b8: e7a4 b.n 5804 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_LETTER_SPACE, value_letter_space, lv_style_int_t, _int, scalar) - 58d2: 2270 movs r2, #112 ; 0x70 - 58d4: 4631 mov r1, r6 - 58d6: 4620 mov r0, r4 - 58d8: 4d45 ldr r5, [pc, #276] ; (59f0 ) - 58da: 47a8 blx r5 - 58dc: 4682 mov sl, r0 - 58de: 2270 movs r2, #112 ; 0x70 - 58e0: 4631 mov r1, r6 - 58e2: 4620 mov r0, r4 - 58e4: 47a8 blx r5 - 58e6: 4683 mov fp, r0 + 58ba: 2270 movs r2, #112 ; 0x70 + 58bc: 4631 mov r1, r6 + 58be: 4620 mov r0, r4 + 58c0: 4d45 ldr r5, [pc, #276] ; (59d8 ) + 58c2: 47a8 blx r5 + 58c4: 4682 mov sl, r0 + 58c6: 2270 movs r2, #112 ; 0x70 + 58c8: 4631 mov r1, r6 + 58ca: 4620 mov r0, r4 + 58cc: 47a8 blx r5 + 58ce: 4683 mov fp, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 58e8: 227e movs r2, #126 ; 0x7e - 58ea: 4631 mov r1, r6 - 58ec: 4620 mov r0, r4 - 58ee: 4b41 ldr r3, [pc, #260] ; (59f4 ) - 58f0: 4798 blx r3 + 58d0: 227e movs r2, #126 ; 0x7e + 58d2: 4631 mov r1, r6 + 58d4: 4620 mov r0, r4 + 58d6: 4b41 ldr r3, [pc, #260] ; (59dc ) + 58d8: 4798 blx r3 _lv_txt_get_size(&txt_size, value_str, font, letter_space, line_space, LV_COORD_MAX, LV_TXT_FLAG_NONE); - 58f2: f04f 0900 mov.w r9, #0 - 58f6: f8cd 9008 str.w r9, [sp, #8] - 58fa: f647 4318 movw r3, #31768 ; 0x7c18 - 58fe: 9301 str r3, [sp, #4] - 5900: f8cd b000 str.w fp, [sp] - 5904: 4653 mov r3, sl - 5906: 4602 mov r2, r0 - 5908: 4641 mov r1, r8 - 590a: a804 add r0, sp, #16 - 590c: f8df 80ec ldr.w r8, [pc, #236] ; 59fc - 5910: 47c0 blx r8 + 58da: f04f 0900 mov.w r9, #0 + 58de: f8cd 9008 str.w r9, [sp, #8] + 58e2: f647 4318 movw r3, #31768 ; 0x7c18 + 58e6: 9301 str r3, [sp, #4] + 58e8: f8cd b000 str.w fp, [sp] + 58ec: 4653 mov r3, sl + 58ee: 4602 mov r2, r0 + 58f0: 4641 mov r1, r8 + 58f2: a804 add r0, sp, #16 + 58f4: f8df 80ec ldr.w r8, [pc, #236] ; 59e4 + 58f8: 47c0 blx r8 value_area.x1 = 0; - 5912: f8ad 9018 strh.w r9, [sp, #24] + 58fa: f8ad 9018 strh.w r9, [sp, #24] value_area.y1 = 0; - 5916: f8ad 901a strh.w r9, [sp, #26] + 58fe: f8ad 901a strh.w r9, [sp, #26] value_area.x2 = txt_size.x - 1; - 591a: f8bd 3010 ldrh.w r3, [sp, #16] - 591e: 3b01 subs r3, #1 - 5920: f8ad 301c strh.w r3, [sp, #28] + 5902: f8bd 3010 ldrh.w r3, [sp, #16] + 5906: 3b01 subs r3, #1 + 5908: f8ad 301c strh.w r3, [sp, #28] value_area.y2 = txt_size.y - 1; - 5924: f8bd 3012 ldrh.w r3, [sp, #18] - 5928: 3b01 subs r3, #1 - 592a: f8ad 301e strh.w r3, [sp, #30] + 590c: f8bd 3012 ldrh.w r3, [sp, #18] + 5910: 3b01 subs r3, #1 + 5912: f8ad 301e strh.w r3, [sp, #30] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_ALIGN, value_align, lv_align_t, _int, scalar) - 592e: 2275 movs r2, #117 ; 0x75 - 5930: 4631 mov r1, r6 - 5932: 4620 mov r0, r4 - 5934: 47a8 blx r5 - 5936: 4681 mov r9, r0 + 5916: 2275 movs r2, #117 ; 0x75 + 5918: 4631 mov r1, r6 + 591a: 4620 mov r0, r4 + 591c: 47a8 blx r5 + 591e: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_X, value_ofs_x, lv_style_int_t, _int, scalar) - 5938: 2273 movs r2, #115 ; 0x73 - 593a: 4631 mov r1, r6 - 593c: 4620 mov r0, r4 - 593e: 47a8 blx r5 - 5940: 4680 mov r8, r0 + 5920: 2273 movs r2, #115 ; 0x73 + 5922: 4631 mov r1, r6 + 5924: 4620 mov r0, r4 + 5926: 47a8 blx r5 + 5928: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_OFS_Y, value_ofs_y, lv_style_int_t, _int, scalar) - 5942: 2274 movs r2, #116 ; 0x74 - 5944: 4631 mov r1, r6 - 5946: 4620 mov r0, r4 - 5948: 47a8 blx r5 - 594a: 4605 mov r5, r0 + 592a: 2274 movs r2, #116 ; 0x74 + 592c: 4631 mov r1, r6 + 592e: 4620 mov r0, r4 + 5930: 47a8 blx r5 + 5932: 4605 mov r5, r0 _lv_area_align(&obj->coords, &value_area, align, &p_align); - 594c: ab05 add r3, sp, #20 - 594e: fa5f f289 uxtb.w r2, r9 - 5952: a906 add r1, sp, #24 - 5954: f104 0010 add.w r0, r4, #16 - 5958: f8df 90a4 ldr.w r9, [pc, #164] ; 5a00 - 595c: 47c8 blx r9 + 5934: ab05 add r3, sp, #20 + 5936: fa5f f289 uxtb.w r2, r9 + 593a: a906 add r1, sp, #24 + 593c: f104 0010 add.w r0, r4, #16 + 5940: f8df 90a4 ldr.w r9, [pc, #164] ; 59e8 + 5944: 47c8 blx r9 value_area.x1 += p_align.x + xofs; - 595e: f8bd 3014 ldrh.w r3, [sp, #20] - 5962: 4443 add r3, r8 - 5964: b29b uxth r3, r3 + 5946: f8bd 3014 ldrh.w r3, [sp, #20] + 594a: 4443 add r3, r8 + 594c: b29b uxth r3, r3 value_area.y1 += p_align.y + yofs; - 5966: f8bd 2016 ldrh.w r2, [sp, #22] - 596a: 442a add r2, r5 - 596c: b292 uxth r2, r2 + 594e: f8bd 2016 ldrh.w r2, [sp, #22] + 5952: 442a add r2, r5 + 5954: b292 uxth r2, r2 s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1); - 596e: f9b4 0010 ldrsh.w r0, [r4, #16] + 5956: f9b4 0010 ldrsh.w r0, [r4, #16] value_area.x1 += p_align.x + xofs; - 5972: f8bd 1018 ldrh.w r1, [sp, #24] - 5976: 4419 add r1, r3 + 595a: f8bd 1018 ldrh.w r1, [sp, #24] + 595e: 4419 add r1, r3 s = LV_MATH_MAX(s, obj->coords.x1 - value_area.x1); - 5978: b209 sxth r1, r1 - 597a: 1a40 subs r0, r0, r1 - 597c: 42b8 cmp r0, r7 - 597e: bfb8 it lt - 5980: 4638 movlt r0, r7 + 5960: b209 sxth r1, r1 + 5962: 1a40 subs r0, r0, r1 + 5964: 42b8 cmp r0, r7 + 5966: bfb8 it lt + 5968: 4638 movlt r0, r7 s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1); - 5982: f9b4 1012 ldrsh.w r1, [r4, #18] + 596a: f9b4 1012 ldrsh.w r1, [r4, #18] value_area.y1 += p_align.y + yofs; - 5986: f8bd 701a ldrh.w r7, [sp, #26] - 598a: 4417 add r7, r2 + 596e: f8bd 701a ldrh.w r7, [sp, #26] + 5972: 4417 add r7, r2 s = LV_MATH_MAX(s, obj->coords.y1 - value_area.y1); - 598c: b23f sxth r7, r7 - 598e: 1bcf subs r7, r1, r7 - 5990: b200 sxth r0, r0 - 5992: 4287 cmp r7, r0 - 5994: bfb8 it lt - 5996: 4607 movlt r7, r0 + 5974: b23f sxth r7, r7 + 5976: 1bcf subs r7, r1, r7 + 5978: b200 sxth r0, r0 + 597a: 4287 cmp r7, r0 + 597c: bfb8 it lt + 597e: 4607 movlt r7, r0 value_area.x2 += p_align.x + xofs; - 5998: f8bd 001c ldrh.w r0, [sp, #28] - 599c: 4403 add r3, r0 + 5980: f8bd 001c ldrh.w r0, [sp, #28] + 5984: 4403 add r3, r0 s = LV_MATH_MAX(s, value_area.x2 - obj->coords.x2); - 599e: b21b sxth r3, r3 - 59a0: f9b4 0014 ldrsh.w r0, [r4, #20] - 59a4: 1a18 subs r0, r3, r0 - 59a6: b23b sxth r3, r7 - 59a8: 4283 cmp r3, r0 - 59aa: bfb8 it lt - 59ac: 4603 movlt r3, r0 + 5986: b21b sxth r3, r3 + 5988: f9b4 0014 ldrsh.w r0, [r4, #20] + 598c: 1a18 subs r0, r3, r0 + 598e: b23b sxth r3, r7 + 5990: 4283 cmp r3, r0 + 5992: bfb8 it lt + 5994: 4603 movlt r3, r0 value_area.y2 += p_align.y + yofs; - 59ae: f8bd 001e ldrh.w r0, [sp, #30] - 59b2: 4410 add r0, r2 + 5996: f8bd 001e ldrh.w r0, [sp, #30] + 599a: 4410 add r0, r2 s = LV_MATH_MAX(s, value_area.y2 - obj->coords.y2); - 59b4: b200 sxth r0, r0 - 59b6: f9b4 7016 ldrsh.w r7, [r4, #22] - 59ba: 1bc7 subs r7, r0, r7 - 59bc: b218 sxth r0, r3 - 59be: 42b8 cmp r0, r7 - 59c0: bfb8 it lt - 59c2: 4638 movlt r0, r7 - 59c4: b207 sxth r7, r0 - 59c6: e737 b.n 5838 + 599c: b200 sxth r0, r0 + 599e: f9b4 7016 ldrsh.w r7, [r4, #22] + 59a2: 1bc7 subs r7, r0, r7 + 59a4: b218 sxth r0, r3 + 59a6: 42b8 cmp r0, r7 + 59a8: bfb8 it lt + 59aa: 4638 movlt r0, r7 + 59ac: b207 sxth r7, r0 + 59ae: e737 b.n 5820 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 59c8: 224c movs r2, #76 ; 0x4c - 59ca: 4631 mov r1, r6 - 59cc: 4620 mov r0, r4 - 59ce: 4b0a ldr r3, [pc, #40] ; (59f8 ) - 59d0: 4798 blx r3 + 59b0: 224c movs r2, #76 ; 0x4c + 59b2: 4631 mov r1, r6 + 59b4: 4620 mov r0, r4 + 59b6: 4b0a ldr r3, [pc, #40] ; (59e0 ) + 59b8: 4798 blx r3 if(outline_opa > LV_OPA_MIN) { - 59d2: 2805 cmp r0, #5 - 59d4: f67f af39 bls.w 584a + 59ba: 2805 cmp r0, #5 + 59bc: f67f af39 bls.w 5832 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 59d8: 2241 movs r2, #65 ; 0x41 - 59da: 4631 mov r1, r6 - 59dc: 4620 mov r0, r4 - 59de: 4b04 ldr r3, [pc, #16] ; (59f0 ) - 59e0: 4798 blx r3 + 59c0: 2241 movs r2, #65 ; 0x41 + 59c2: 4631 mov r1, r6 + 59c4: 4620 mov r0, r4 + 59c6: 4b04 ldr r3, [pc, #16] ; (59d8 ) + 59c8: 4798 blx r3 s = LV_MATH_MAX(s, outline_pad + outline_width); - 59e2: 4428 add r0, r5 - 59e4: 42b8 cmp r0, r7 - 59e6: bfb8 it lt - 59e8: 4638 movlt r0, r7 - 59ea: b207 sxth r7, r0 - 59ec: e72d b.n 584a - 59ee: bf00 nop - 59f0: 000044d5 .word 0x000044d5 - 59f4: 000046a1 .word 0x000046a1 - 59f8: 0000460d .word 0x0000460d - 59fc: 0001407d .word 0x0001407d - 5a00: 00011825 .word 0x00011825 - -00005a04 : + 59ca: 4428 add r0, r5 + 59cc: 42b8 cmp r0, r7 + 59ce: bfb8 it lt + 59d0: 4638 movlt r0, r7 + 59d2: b207 sxth r7, r0 + 59d4: e72d b.n 5832 + 59d6: bf00 nop + 59d8: 000044bd .word 0x000044bd + 59dc: 00004689 .word 0x00004689 + 59e0: 000045f5 .word 0x000045f5 + 59e4: 00014065 .word 0x00014065 + 59e8: 0001180d .word 0x0001180d + +000059ec : if(sign == LV_SIGNAL_GET_STYLE) { - 5a04: 2908 cmp r1, #8 - 5a06: d01a beq.n 5a3e + 59ec: 2908 cmp r1, #8 + 59ee: d01a beq.n 5a26 { - 5a08: b510 push {r4, lr} - 5a0a: 4604 mov r4, r0 + 59f0: b510 push {r4, lr} + 59f2: 4604 mov r4, r0 else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 5a0c: 2907 cmp r1, #7 - 5a0e: d020 beq.n 5a52 + 59f4: 2907 cmp r1, #7 + 59f6: d020 beq.n 5a3a if(sign == LV_SIGNAL_CHILD_CHG) { - 5a10: 2901 cmp r1, #1 - 5a12: d023 beq.n 5a5c + 59f8: 2901 cmp r1, #1 + 59fa: d023 beq.n 5a44 else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { - 5a14: 2906 cmp r1, #6 - 5a16: d027 beq.n 5a68 + 59fc: 2906 cmp r1, #6 + 59fe: d027 beq.n 5a50 else if(sign == LV_SIGNAL_PARENT_SIZE_CHG) { - 5a18: 2903 cmp r1, #3 - 5a1a: d030 beq.n 5a7e + 5a00: 2903 cmp r1, #3 + 5a02: d030 beq.n 5a66 else if(sign == LV_SIGNAL_STYLE_CHG) { - 5a1c: 2904 cmp r1, #4 - 5a1e: d039 beq.n 5a94 + 5a04: 2904 cmp r1, #4 + 5a06: d039 beq.n 5a7c else if(sign == LV_SIGNAL_PRESSED) { - 5a20: 290b cmp r1, #11 - 5a22: d03b beq.n 5a9c + 5a08: 290b cmp r1, #11 + 5a0a: d03b beq.n 5a84 else if(sign == LV_SIGNAL_RELEASED || sign == LV_SIGNAL_PRESS_LOST) { - 5a24: f1a1 030d sub.w r3, r1, #13 - 5a28: b2db uxtb r3, r3 - 5a2a: 2b01 cmp r3, #1 - 5a2c: d93b bls.n 5aa6 + 5a0c: f1a1 030d sub.w r3, r1, #13 + 5a10: b2db uxtb r3, r3 + 5a12: 2b01 cmp r3, #1 + 5a14: d93b bls.n 5a8e else if(sign == LV_SIGNAL_FOCUS) { - 5a2e: 2916 cmp r1, #22 - 5a30: d03e beq.n 5ab0 + 5a16: 2916 cmp r1, #22 + 5a18: d03e beq.n 5a98 else if(sign == LV_SIGNAL_DEFOCUS) { - 5a32: 2917 cmp r1, #23 - 5a34: d051 beq.n 5ada + 5a1a: 2917 cmp r1, #23 + 5a1c: d051 beq.n 5ac2 else if(sign == LV_SIGNAL_CLEANUP) { - 5a36: 2900 cmp r1, #0 - 5a38: d054 beq.n 5ae4 + 5a1e: 2900 cmp r1, #0 + 5a20: d054 beq.n 5acc lv_res_t res = LV_RES_OK; - 5a3a: 2001 movs r0, #1 + 5a22: 2001 movs r0, #1 } - 5a3c: bd10 pop {r4, pc} + 5a24: bd10 pop {r4, pc} if(info->part == LV_OBJ_PART_MAIN) info->result = &obj->style_list; - 5a3e: 7813 ldrb r3, [r2, #0] - 5a40: b91b cbnz r3, 5a4a - 5a42: 3028 adds r0, #40 ; 0x28 - 5a44: 6050 str r0, [r2, #4] + 5a26: 7813 ldrb r3, [r2, #0] + 5a28: b91b cbnz r3, 5a32 + 5a2a: 3028 adds r0, #40 ; 0x28 + 5a2c: 6050 str r0, [r2, #4] return LV_RES_OK; - 5a46: 2001 movs r0, #1 - 5a48: 4770 bx lr + 5a2e: 2001 movs r0, #1 + 5a30: 4770 bx lr else info->result = NULL; - 5a4a: 2300 movs r3, #0 - 5a4c: 6053 str r3, [r2, #4] + 5a32: 2300 movs r3, #0 + 5a34: 6053 str r3, [r2, #4] return LV_RES_OK; - 5a4e: 2001 movs r0, #1 - 5a50: 4770 bx lr + 5a36: 2001 movs r0, #1 + 5a38: 4770 bx lr else if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 5a52: 4926 ldr r1, [pc, #152] ; (5aec ) - 5a54: 4610 mov r0, r2 - 5a56: 4b26 ldr r3, [pc, #152] ; (5af0 ) - 5a58: 4798 blx r3 - 5a5a: bd10 pop {r4, pc} + 5a3a: 4926 ldr r1, [pc, #152] ; (5ad4 ) + 5a3c: 4610 mov r0, r2 + 5a3e: 4b26 ldr r3, [pc, #152] ; (5ad8 ) + 5a40: 4798 blx r3 + 5a42: bd10 pop {r4, pc} if(lv_obj_is_protected(obj, LV_PROTECT_CHILD_CHG) != false) res = LV_RES_INV; - 5a5c: 4b25 ldr r3, [pc, #148] ; (5af4 ) - 5a5e: 4798 blx r3 - 5a60: f080 0001 eor.w r0, r0, #1 + 5a44: 4b25 ldr r3, [pc, #148] ; (5adc ) + 5a46: 4798 blx r3 + 5a48: f080 0001 eor.w r0, r0, #1 return LV_RES_OK; - 5a64: b2c0 uxtb r0, r0 - 5a66: bd10 pop {r4, pc} + 5a4c: b2c0 uxtb r0, r0 + 5a4e: bd10 pop {r4, pc} lv_coord_t d = lv_obj_get_draw_rect_ext_pad_size(obj, LV_OBJ_PART_MAIN); - 5a68: 2100 movs r1, #0 - 5a6a: 4b23 ldr r3, [pc, #140] ; (5af8 ) - 5a6c: 4798 blx r3 + 5a50: 2100 movs r1, #0 + 5a52: 4b23 ldr r3, [pc, #140] ; (5ae0 ) + 5a54: 4798 blx r3 obj->ext_draw_pad = LV_MATH_MAX(obj->ext_draw_pad, d); - 5a6e: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 - 5a72: 4298 cmp r0, r3 - 5a74: bfb8 it lt - 5a76: 4618 movlt r0, r3 - 5a78: 8660 strh r0, [r4, #50] ; 0x32 + 5a56: f9b4 3032 ldrsh.w r3, [r4, #50] ; 0x32 + 5a5a: 4298 cmp r0, r3 + 5a5c: bfb8 it lt + 5a5e: 4618 movlt r0, r3 + 5a60: 8660 strh r0, [r4, #50] ; 0x32 lv_res_t res = LV_RES_OK; - 5a7a: 2001 movs r0, #1 - 5a7c: bd10 pop {r4, pc} + 5a62: 2001 movs r0, #1 + 5a64: bd10 pop {r4, pc} if(obj->realign.auto_realign) { - 5a7e: f890 3049 ldrb.w r3, [r0, #73] ; 0x49 - 5a82: f013 0f01 tst.w r3, #1 - 5a86: d101 bne.n 5a8c + 5a66: f890 3049 ldrb.w r3, [r0, #73] ; 0x49 + 5a6a: f013 0f01 tst.w r3, #1 + 5a6e: d101 bne.n 5a74 lv_res_t res = LV_RES_OK; - 5a88: 2001 movs r0, #1 - 5a8a: bd10 pop {r4, pc} + 5a70: 2001 movs r0, #1 + 5a72: bd10 pop {r4, pc} lv_obj_realign(obj); - 5a8c: 4b1b ldr r3, [pc, #108] ; (5afc ) - 5a8e: 4798 blx r3 + 5a74: 4b1b ldr r3, [pc, #108] ; (5ae4 ) + 5a76: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5a90: 2001 movs r0, #1 - 5a92: bd10 pop {r4, pc} + 5a78: 2001 movs r0, #1 + 5a7a: bd10 pop {r4, pc} lv_obj_refresh_ext_draw_pad(obj); - 5a94: 4b1a ldr r3, [pc, #104] ; (5b00 ) - 5a96: 4798 blx r3 + 5a7c: 4b1a ldr r3, [pc, #104] ; (5ae8 ) + 5a7e: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5a98: 2001 movs r0, #1 - 5a9a: bd10 pop {r4, pc} + 5a80: 2001 movs r0, #1 + 5a82: bd10 pop {r4, pc} lv_obj_add_state(obj, LV_STATE_PRESSED); - 5a9c: 2110 movs r1, #16 - 5a9e: 4b19 ldr r3, [pc, #100] ; (5b04 ) - 5aa0: 4798 blx r3 + 5a84: 2110 movs r1, #16 + 5a86: 4b19 ldr r3, [pc, #100] ; (5aec ) + 5a88: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5aa2: 2001 movs r0, #1 - 5aa4: bd10 pop {r4, pc} + 5a8a: 2001 movs r0, #1 + 5a8c: bd10 pop {r4, pc} lv_obj_clear_state(obj, LV_STATE_PRESSED); - 5aa6: 2110 movs r1, #16 - 5aa8: 4b17 ldr r3, [pc, #92] ; (5b08 ) - 5aaa: 4798 blx r3 + 5a8e: 2110 movs r1, #16 + 5a90: 4b17 ldr r3, [pc, #92] ; (5af0 ) + 5a92: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5aac: 2001 movs r0, #1 - 5aae: bd10 pop {r4, pc} + 5a94: 2001 movs r0, #1 + 5a96: bd10 pop {r4, pc} if(lv_group_get_editing(lv_obj_get_group(obj))) { - 5ab0: 4b16 ldr r3, [pc, #88] ; (5b0c ) - 5ab2: 4798 blx r3 - 5ab4: 4b16 ldr r3, [pc, #88] ; (5b10 ) - 5ab6: 4798 blx r3 - 5ab8: b128 cbz r0, 5ac6 + 5a98: 4b16 ldr r3, [pc, #88] ; (5af4 ) + 5a9a: 4798 blx r3 + 5a9c: 4b16 ldr r3, [pc, #88] ; (5af8 ) + 5a9e: 4798 blx r3 + 5aa0: b128 cbz r0, 5aae lv_obj_add_state(obj, state); - 5aba: 2106 movs r1, #6 - 5abc: 4620 mov r0, r4 - 5abe: 4b11 ldr r3, [pc, #68] ; (5b04 ) - 5ac0: 4798 blx r3 + 5aa2: 2106 movs r1, #6 + 5aa4: 4620 mov r0, r4 + 5aa6: 4b11 ldr r3, [pc, #68] ; (5aec ) + 5aa8: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5ac2: 2001 movs r0, #1 - 5ac4: bd10 pop {r4, pc} + 5aaa: 2001 movs r0, #1 + 5aac: bd10 pop {r4, pc} lv_obj_add_state(obj, LV_STATE_FOCUSED); - 5ac6: 2102 movs r1, #2 - 5ac8: 4620 mov r0, r4 - 5aca: 4b0e ldr r3, [pc, #56] ; (5b04 ) - 5acc: 4798 blx r3 + 5aae: 2102 movs r1, #2 + 5ab0: 4620 mov r0, r4 + 5ab2: 4b0e ldr r3, [pc, #56] ; (5aec ) + 5ab4: 4798 blx r3 lv_obj_clear_state(obj, LV_STATE_EDITED); - 5ace: 2104 movs r1, #4 - 5ad0: 4620 mov r0, r4 - 5ad2: 4b0d ldr r3, [pc, #52] ; (5b08 ) - 5ad4: 4798 blx r3 + 5ab6: 2104 movs r1, #4 + 5ab8: 4620 mov r0, r4 + 5aba: 4b0d ldr r3, [pc, #52] ; (5af0 ) + 5abc: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5ad6: 2001 movs r0, #1 - 5ad8: bd10 pop {r4, pc} + 5abe: 2001 movs r0, #1 + 5ac0: bd10 pop {r4, pc} lv_obj_clear_state(obj, LV_STATE_FOCUSED | LV_STATE_EDITED); - 5ada: 2106 movs r1, #6 - 5adc: 4b0a ldr r3, [pc, #40] ; (5b08 ) - 5ade: 4798 blx r3 + 5ac2: 2106 movs r1, #6 + 5ac4: 4b0a ldr r3, [pc, #40] ; (5af0 ) + 5ac6: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5ae0: 2001 movs r0, #1 - 5ae2: bd10 pop {r4, pc} + 5ac8: 2001 movs r0, #1 + 5aca: bd10 pop {r4, pc} lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 5ae4: 4b0b ldr r3, [pc, #44] ; (5b14 ) - 5ae6: 4798 blx r3 + 5acc: 4b0b ldr r3, [pc, #44] ; (5afc ) + 5ace: 4798 blx r3 lv_res_t res = LV_RES_OK; - 5ae8: 2001 movs r0, #1 - 5aea: bd10 pop {r4, pc} - 5aec: 000249e8 .word 0x000249e8 - 5af0: 00005095 .word 0x00005095 - 5af4: 00004415 .word 0x00004415 - 5af8: 00005809 .word 0x00005809 - 5afc: 000039e1 .word 0x000039e1 - 5b00: 00002c2d .word 0x00002c2d - 5b04: 00004c9d .word 0x00004c9d - 5b08: 00004cf9 .word 0x00004cf9 - 5b0c: 00004de5 .word 0x00004de5 - 5b10: 0000275b .word 0x0000275b - 5b14: 000030cd .word 0x000030cd - -00005b18 : + 5ad0: 2001 movs r0, #1 + 5ad2: bd10 pop {r4, pc} + 5ad4: 000249d0 .word 0x000249d0 + 5ad8: 0000507d .word 0x0000507d + 5adc: 000043fd .word 0x000043fd + 5ae0: 000057f1 .word 0x000057f1 + 5ae4: 000039c9 .word 0x000039c9 + 5ae8: 00002c15 .word 0x00002c15 + 5aec: 00004c85 .word 0x00004c85 + 5af0: 00004ce1 .word 0x00004ce1 + 5af4: 00004dcd .word 0x00004dcd + 5af8: 00002743 .word 0x00002743 + 5afc: 000030b5 .word 0x000030b5 + +00005b00 : * @param area_p pointer to an area * @param obj the first object to start the searching (typically a screen) * @return */ static lv_obj_t * lv_refr_get_top_obj(const lv_area_t * area_p, lv_obj_t * obj) { - 5b18: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 5b1c: 4605 mov r5, r0 - 5b1e: 4688 mov r8, r1 + 5b00: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 5b04: 4605 mov r5, r0 + 5b06: 4688 mov r8, r1 lv_obj_t * found_p = NULL; /*If this object is fully cover the draw area check the children too */ if(_lv_area_is_in(area_p, &obj->coords, 0) && obj->hidden == 0) { - 5b20: 2200 movs r2, #0 - 5b22: 3110 adds r1, #16 - 5b24: 4b1f ldr r3, [pc, #124] ; (5ba4 ) - 5b26: 4798 blx r3 - 5b28: b350 cbz r0, 5b80 - 5b2a: f898 3034 ldrb.w r3, [r8, #52] ; 0x34 - 5b2e: f013 0f10 tst.w r3, #16 - 5b32: d127 bne.n 5b84 + 5b08: 2200 movs r2, #0 + 5b0a: 3110 adds r1, #16 + 5b0c: 4b1f ldr r3, [pc, #124] ; (5b8c ) + 5b0e: 4798 blx r3 + 5b10: b350 cbz r0, 5b68 + 5b12: f898 3034 ldrb.w r3, [r8, #52] ; 0x34 + 5b16: f013 0f10 tst.w r3, #16 + 5b1a: d127 bne.n 5b6c lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p, - 5b34: f8d8 3020 ldr.w r3, [r8, #32] - 5b38: b343 cbz r3, 5b8c - 5b3a: 2202 movs r2, #2 - 5b3c: 4629 mov r1, r5 - 5b3e: 4640 mov r0, r8 - 5b40: 4798 blx r3 - 5b42: 4681 mov r9, r0 + 5b1c: f8d8 3020 ldr.w r3, [r8, #32] + 5b20: b343 cbz r3, 5b74 + 5b22: 2202 movs r2, #2 + 5b24: 4629 mov r1, r5 + 5b26: 4640 mov r0, r8 + 5b28: 4798 blx r3 + 5b2a: 4681 mov r9, r0 LV_DESIGN_COVER_CHK) : LV_DESIGN_RES_NOT_COVER; if(design_res == LV_DESIGN_RES_MASKED) return NULL; - 5b44: 2803 cmp r0, #3 - 5b46: d01f beq.n 5b88 + 5b2c: 2803 cmp r0, #3 + 5b2e: d01f beq.n 5b70 lv_obj_t * i; _LV_LL_READ(obj->child_ll, i) { - 5b48: f108 0604 add.w r6, r8, #4 - 5b4c: 4630 mov r0, r6 - 5b4e: 4b16 ldr r3, [pc, #88] ; (5ba8 ) - 5b50: 4798 blx r3 - 5b52: 4604 mov r4, r0 - 5b54: b160 cbz r0, 5b70 - 5b56: 4f15 ldr r7, [pc, #84] ; (5bac ) + 5b30: f108 0604 add.w r6, r8, #4 + 5b34: 4630 mov r0, r6 + 5b36: 4b16 ldr r3, [pc, #88] ; (5b90 ) + 5b38: 4798 blx r3 + 5b3a: 4604 mov r4, r0 + 5b3c: b160 cbz r0, 5b58 + 5b3e: 4f15 ldr r7, [pc, #84] ; (5b94 ) found_p = lv_refr_get_top_obj(area_p, i); - 5b58: 4621 mov r1, r4 - 5b5a: 4628 mov r0, r5 - 5b5c: f7ff ffdc bl 5b18 + 5b40: 4621 mov r1, r4 + 5b42: 4628 mov r0, r5 + 5b44: f7ff ffdc bl 5b00 /*If a children is ok then break*/ if(found_p != NULL) { - 5b60: 4603 mov r3, r0 - 5b62: b950 cbnz r0, 5b7a + 5b48: 4603 mov r3, r0 + 5b4a: b950 cbnz r0, 5b62 _LV_LL_READ(obj->child_ll, i) { - 5b64: 4621 mov r1, r4 - 5b66: 4630 mov r0, r6 - 5b68: 47b8 blx r7 - 5b6a: 4604 mov r4, r0 - 5b6c: 2800 cmp r0, #0 - 5b6e: d1f3 bne.n 5b58 + 5b4c: 4621 mov r1, r4 + 5b4e: 4630 mov r0, r6 + 5b50: 47b8 blx r7 + 5b52: 4604 mov r4, r0 + 5b54: 2800 cmp r0, #0 + 5b56: d1f3 bne.n 5b40 } /*If no better children use this object*/ if(found_p == NULL) { if(design_res == LV_DESIGN_RES_COVER) { found_p = obj; - 5b70: f1b9 0f01 cmp.w r9, #1 - 5b74: bf0c ite eq - 5b76: 4643 moveq r3, r8 - 5b78: 2300 movne r3, #0 + 5b58: f1b9 0f01 cmp.w r9, #1 + 5b5c: bf0c ite eq + 5b5e: 4643 moveq r3, r8 + 5b60: 2300 movne r3, #0 } } } return found_p; } - 5b7a: 4618 mov r0, r3 - 5b7c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 5b62: 4618 mov r0, r3 + 5b64: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} lv_obj_t * found_p = NULL; - 5b80: 2300 movs r3, #0 - 5b82: e7fa b.n 5b7a - 5b84: 2300 movs r3, #0 - 5b86: e7f8 b.n 5b7a + 5b68: 2300 movs r3, #0 + 5b6a: e7fa b.n 5b62 + 5b6c: 2300 movs r3, #0 + 5b6e: e7f8 b.n 5b62 if(design_res == LV_DESIGN_RES_MASKED) return NULL; - 5b88: 2300 movs r3, #0 - 5b8a: e7f6 b.n 5b7a + 5b70: 2300 movs r3, #0 + 5b72: e7f6 b.n 5b62 _LV_LL_READ(obj->child_ll, i) { - 5b8c: f108 0604 add.w r6, r8, #4 - 5b90: 4630 mov r0, r6 - 5b92: 4b05 ldr r3, [pc, #20] ; (5ba8 ) - 5b94: 4798 blx r3 - 5b96: 4604 mov r4, r0 + 5b74: f108 0604 add.w r6, r8, #4 + 5b78: 4630 mov r0, r6 + 5b7a: 4b05 ldr r3, [pc, #20] ; (5b90 ) + 5b7c: 4798 blx r3 + 5b7e: 4604 mov r4, r0 lv_design_res_t design_res = obj->design_cb ? obj->design_cb(obj, area_p, - 5b98: f04f 0902 mov.w r9, #2 + 5b80: f04f 0902 mov.w r9, #2 _LV_LL_READ(obj->child_ll, i) { - 5b9c: 2800 cmp r0, #0 - 5b9e: d1da bne.n 5b56 - 5ba0: 4603 mov r3, r0 - 5ba2: e7ea b.n 5b7a - 5ba4: 0001176d .word 0x0001176d - 5ba8: 00011fa9 .word 0x00011fa9 - 5bac: 00011fbd .word 0x00011fbd - -00005bb0 : + 5b84: 2800 cmp r0, #0 + 5b86: d1da bne.n 5b3e + 5b88: 4603 mov r3, r0 + 5b8a: e7ea b.n 5b62 + 5b8c: 00011755 .word 0x00011755 + 5b90: 00011f91 .word 0x00011f91 + 5b94: 00011fa5 .word 0x00011fa5 + +00005b98 : * @param mask_ori_p pointer to an area, the objects will be drawn only here */ static void lv_refr_obj(lv_obj_t * obj, const lv_area_t * mask_ori_p) { /*Do not refresh hidden objects*/ if(obj->hidden != 0) return; - 5bb0: f890 3034 ldrb.w r3, [r0, #52] ; 0x34 - 5bb4: f013 0f10 tst.w r3, #16 - 5bb8: d000 beq.n 5bbc - 5bba: 4770 bx lr -{ - 5bbc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 5bc0: b08b sub sp, #44 ; 0x2c - 5bc2: 460e mov r6, r1 - 5bc4: 4605 mov r5, r0 + 5b98: f890 3034 ldrb.w r3, [r0, #52] ; 0x34 + 5b9c: f013 0f10 tst.w r3, #16 + 5ba0: d000 beq.n 5ba4 + 5ba2: 4770 bx lr +{ + 5ba4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 5ba8: b08b sub sp, #44 ; 0x2c + 5baa: 460e mov r6, r1 + 5bac: 4605 mov r5, r0 /* Truncate the original mask to the coordinates of the parent * because the parent and its children are visible only here */ lv_area_t obj_mask; lv_area_t obj_ext_mask; lv_area_t obj_area; lv_coord_t ext_size = obj->ext_draw_pad; - 5bc6: f9b0 4032 ldrsh.w r4, [r0, #50] ; 0x32 + 5bae: f9b0 4032 ldrsh.w r4, [r0, #50] ; 0x32 lv_obj_get_coords(obj, &obj_area); - 5bca: a904 add r1, sp, #16 - 5bcc: 4b35 ldr r3, [pc, #212] ; (5ca4 ) - 5bce: 4798 blx r3 + 5bb2: a904 add r1, sp, #16 + 5bb4: 4b35 ldr r3, [pc, #212] ; (5c8c ) + 5bb6: 4798 blx r3 obj_area.x1 -= ext_size; - 5bd0: b2a3 uxth r3, r4 - 5bd2: f8bd 2010 ldrh.w r2, [sp, #16] - 5bd6: 1ad2 subs r2, r2, r3 - 5bd8: f8ad 2010 strh.w r2, [sp, #16] + 5bb8: b2a3 uxth r3, r4 + 5bba: f8bd 2010 ldrh.w r2, [sp, #16] + 5bbe: 1ad2 subs r2, r2, r3 + 5bc0: f8ad 2010 strh.w r2, [sp, #16] obj_area.y1 -= ext_size; - 5bdc: f8bd 2012 ldrh.w r2, [sp, #18] - 5be0: 1ad2 subs r2, r2, r3 - 5be2: f8ad 2012 strh.w r2, [sp, #18] + 5bc4: f8bd 2012 ldrh.w r2, [sp, #18] + 5bc8: 1ad2 subs r2, r2, r3 + 5bca: f8ad 2012 strh.w r2, [sp, #18] obj_area.x2 += ext_size; - 5be6: f8bd 2014 ldrh.w r2, [sp, #20] - 5bea: 441a add r2, r3 - 5bec: f8ad 2014 strh.w r2, [sp, #20] + 5bce: f8bd 2014 ldrh.w r2, [sp, #20] + 5bd2: 441a add r2, r3 + 5bd4: f8ad 2014 strh.w r2, [sp, #20] obj_area.y2 += ext_size; - 5bf0: f8bd 2016 ldrh.w r2, [sp, #22] - 5bf4: 4413 add r3, r2 - 5bf6: f8ad 3016 strh.w r3, [sp, #22] + 5bd8: f8bd 2016 ldrh.w r2, [sp, #22] + 5bdc: 4413 add r3, r2 + 5bde: f8ad 3016 strh.w r3, [sp, #22] union_ok = _lv_area_intersect(&obj_ext_mask, mask_ori_p, &obj_area); - 5bfa: aa04 add r2, sp, #16 - 5bfc: 4631 mov r1, r6 - 5bfe: a806 add r0, sp, #24 - 5c00: 4b29 ldr r3, [pc, #164] ; (5ca8 ) - 5c02: 4798 blx r3 + 5be2: aa04 add r2, sp, #16 + 5be4: 4631 mov r1, r6 + 5be6: a806 add r0, sp, #24 + 5be8: 4b29 ldr r3, [pc, #164] ; (5c90 ) + 5bea: 4798 blx r3 /*Draw the parent and its children only if they ore on 'mask_parent'*/ if(union_ok != false) { - 5c04: b1a8 cbz r0, 5c32 + 5bec: b1a8 cbz r0, 5c1a /* Redraw the object */ if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_MAIN); - 5c06: 6a2b ldr r3, [r5, #32] - 5c08: b11b cbz r3, 5c12 - 5c0a: 2200 movs r2, #0 - 5c0c: a906 add r1, sp, #24 - 5c0e: 4628 mov r0, r5 - 5c10: 4798 blx r3 + 5bee: 6a2b ldr r3, [r5, #32] + 5bf0: b11b cbz r3, 5bfa + 5bf2: 2200 movs r2, #0 + 5bf4: a906 add r1, sp, #24 + 5bf6: 4628 mov r0, r5 + 5bf8: 4798 blx r3 #if LV_COLOR_DEPTH == 32 debug_color.ch.alpha = 0xff; #endif #endif /*Create a new 'obj_mask' without 'ext_size' because the children can't be visible there*/ lv_obj_get_coords(obj, &obj_area); - 5c12: a904 add r1, sp, #16 - 5c14: 4628 mov r0, r5 - 5c16: 4b23 ldr r3, [pc, #140] ; (5ca4 ) - 5c18: 4798 blx r3 + 5bfa: a904 add r1, sp, #16 + 5bfc: 4628 mov r0, r5 + 5bfe: 4b23 ldr r3, [pc, #140] ; (5c8c ) + 5c00: 4798 blx r3 union_ok = _lv_area_intersect(&obj_mask, mask_ori_p, &obj_area); - 5c1a: aa04 add r2, sp, #16 - 5c1c: 4631 mov r1, r6 - 5c1e: a808 add r0, sp, #32 - 5c20: 4b21 ldr r3, [pc, #132] ; (5ca8 ) - 5c22: 4798 blx r3 + 5c02: aa04 add r2, sp, #16 + 5c04: 4631 mov r1, r6 + 5c06: a808 add r0, sp, #32 + 5c08: 4b21 ldr r3, [pc, #132] ; (5c90 ) + 5c0a: 4798 blx r3 if(union_ok != false) { - 5c24: b940 cbnz r0, 5c38 + 5c0c: b940 cbnz r0, 5c20 } } } /* If all the children are redrawn make 'post draw' design */ if(obj->design_cb) obj->design_cb(obj, &obj_ext_mask, LV_DESIGN_DRAW_POST); - 5c26: 6a2b ldr r3, [r5, #32] - 5c28: b11b cbz r3, 5c32 - 5c2a: 2201 movs r2, #1 - 5c2c: a906 add r1, sp, #24 - 5c2e: 4628 mov r0, r5 - 5c30: 4798 blx r3 + 5c0e: 6a2b ldr r3, [r5, #32] + 5c10: b11b cbz r3, 5c1a + 5c12: 2201 movs r2, #1 + 5c14: a906 add r1, sp, #24 + 5c16: 4628 mov r0, r5 + 5c18: 4798 blx r3 } } - 5c32: b00b add sp, #44 ; 0x2c - 5c34: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 5c1a: b00b add sp, #44 ; 0x2c + 5c1c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} _LV_LL_READ_BACK(obj->child_ll, child_p) { - 5c38: f105 0804 add.w r8, r5, #4 - 5c3c: 4640 mov r0, r8 - 5c3e: 4b1b ldr r3, [pc, #108] ; (5cac ) - 5c40: 4798 blx r3 - 5c42: 4604 mov r4, r0 - 5c44: 2800 cmp r0, #0 - 5c46: d0ee beq.n 5c26 + 5c20: f105 0804 add.w r8, r5, #4 + 5c24: 4640 mov r0, r8 + 5c26: 4b1b ldr r3, [pc, #108] ; (5c94 ) + 5c28: 4798 blx r3 + 5c2a: 4604 mov r4, r0 + 5c2c: 2800 cmp r0, #0 + 5c2e: d0ee beq.n 5c0e lv_obj_get_coords(child_p, &child_area); - 5c48: f8df 9058 ldr.w r9, [pc, #88] ; 5ca4 + 5c30: f8df 9058 ldr.w r9, [pc, #88] ; 5c8c union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area); - 5c4c: 4e16 ldr r6, [pc, #88] ; (5ca8 ) + 5c34: 4e16 ldr r6, [pc, #88] ; (5c90 ) _LV_LL_READ_BACK(obj->child_ll, child_p) { - 5c4e: 4f18 ldr r7, [pc, #96] ; (5cb0 ) - 5c50: e005 b.n 5c5e - 5c52: 4621 mov r1, r4 - 5c54: 4640 mov r0, r8 - 5c56: 47b8 blx r7 - 5c58: 4604 mov r4, r0 - 5c5a: 2800 cmp r0, #0 - 5c5c: d0e3 beq.n 5c26 + 5c36: 4f18 ldr r7, [pc, #96] ; (5c98 ) + 5c38: e005 b.n 5c46 + 5c3a: 4621 mov r1, r4 + 5c3c: 4640 mov r0, r8 + 5c3e: 47b8 blx r7 + 5c40: 4604 mov r4, r0 + 5c42: 2800 cmp r0, #0 + 5c44: d0e3 beq.n 5c0e lv_obj_get_coords(child_p, &child_area); - 5c5e: a902 add r1, sp, #8 - 5c60: 4620 mov r0, r4 - 5c62: 47c8 blx r9 + 5c46: a902 add r1, sp, #8 + 5c48: 4620 mov r0, r4 + 5c4a: 47c8 blx r9 child_area.x1 -= ext_size; - 5c64: 8e63 ldrh r3, [r4, #50] ; 0x32 - 5c66: f8bd 2008 ldrh.w r2, [sp, #8] - 5c6a: 1ad2 subs r2, r2, r3 - 5c6c: f8ad 2008 strh.w r2, [sp, #8] + 5c4c: 8e63 ldrh r3, [r4, #50] ; 0x32 + 5c4e: f8bd 2008 ldrh.w r2, [sp, #8] + 5c52: 1ad2 subs r2, r2, r3 + 5c54: f8ad 2008 strh.w r2, [sp, #8] child_area.y1 -= ext_size; - 5c70: f8bd 200a ldrh.w r2, [sp, #10] - 5c74: 1ad2 subs r2, r2, r3 - 5c76: f8ad 200a strh.w r2, [sp, #10] + 5c58: f8bd 200a ldrh.w r2, [sp, #10] + 5c5c: 1ad2 subs r2, r2, r3 + 5c5e: f8ad 200a strh.w r2, [sp, #10] child_area.x2 += ext_size; - 5c7a: f8bd 200c ldrh.w r2, [sp, #12] - 5c7e: 441a add r2, r3 - 5c80: f8ad 200c strh.w r2, [sp, #12] + 5c62: f8bd 200c ldrh.w r2, [sp, #12] + 5c66: 441a add r2, r3 + 5c68: f8ad 200c strh.w r2, [sp, #12] child_area.y2 += ext_size; - 5c84: f8bd 200e ldrh.w r2, [sp, #14] - 5c88: 4413 add r3, r2 - 5c8a: f8ad 300e strh.w r3, [sp, #14] + 5c6c: f8bd 200e ldrh.w r2, [sp, #14] + 5c70: 4413 add r3, r2 + 5c72: f8ad 300e strh.w r3, [sp, #14] union_ok = _lv_area_intersect(&mask_child, &obj_mask, &child_area); - 5c8e: aa02 add r2, sp, #8 - 5c90: a908 add r1, sp, #32 - 5c92: 4668 mov r0, sp - 5c94: 47b0 blx r6 + 5c76: aa02 add r2, sp, #8 + 5c78: a908 add r1, sp, #32 + 5c7a: 4668 mov r0, sp + 5c7c: 47b0 blx r6 if(union_ok) { - 5c96: 2800 cmp r0, #0 - 5c98: d0db beq.n 5c52 + 5c7e: 2800 cmp r0, #0 + 5c80: d0db beq.n 5c3a lv_refr_obj(child_p, &mask_child); - 5c9a: 4669 mov r1, sp - 5c9c: 4620 mov r0, r4 - 5c9e: f7ff ff87 bl 5bb0 - 5ca2: e7d6 b.n 5c52 - 5ca4: 00002e41 .word 0x00002e41 - 5ca8: 00011519 .word 0x00011519 - 5cac: 00011fb3 .word 0x00011fb3 - 5cb0: 00011fe9 .word 0x00011fe9 - -00005cb4 : -{ - 5cb4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 5cb8: 460f mov r7, r1 + 5c82: 4669 mov r1, sp + 5c84: 4620 mov r0, r4 + 5c86: f7ff ff87 bl 5b98 + 5c8a: e7d6 b.n 5c3a + 5c8c: 00002e29 .word 0x00002e29 + 5c90: 00011501 .word 0x00011501 + 5c94: 00011f9b .word 0x00011f9b + 5c98: 00011fd1 .word 0x00011fd1 + +00005c9c : +{ + 5c9c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 5ca0: 460f mov r7, r1 if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr); - 5cba: 4604 mov r4, r0 - 5cbc: b170 cbz r0, 5cdc + 5ca2: 4604 mov r4, r0 + 5ca4: b170 cbz r0, 5cc4 lv_refr_obj(top_p, mask_p); - 5cbe: 4639 mov r1, r7 - 5cc0: 4620 mov r0, r4 - 5cc2: 4b1a ldr r3, [pc, #104] ; (5d2c ) - 5cc4: 4798 blx r3 + 5ca6: 4639 mov r1, r7 + 5ca8: 4620 mov r0, r4 + 5caa: 4b1a ldr r3, [pc, #104] ; (5d14 ) + 5cac: 4798 blx r3 par = lv_obj_get_parent(top_p); - 5cc6: 4620 mov r0, r4 - 5cc8: 4b19 ldr r3, [pc, #100] ; (5d30 ) - 5cca: 4798 blx r3 + 5cae: 4620 mov r0, r4 + 5cb0: 4b19 ldr r3, [pc, #100] ; (5d18 ) + 5cb2: 4798 blx r3 while(par != NULL) { - 5ccc: 4681 mov r9, r0 - 5cce: b160 cbz r0, 5cea + 5cb4: 4681 mov r9, r0 + 5cb6: b160 cbz r0, 5cd2 lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p); - 5cd0: 4e18 ldr r6, [pc, #96] ; (5d34 ) + 5cb8: 4e18 ldr r6, [pc, #96] ; (5d1c ) lv_refr_obj(i, mask_p); - 5cd2: f8df 8058 ldr.w r8, [pc, #88] ; 5d2c + 5cba: f8df 8058 ldr.w r8, [pc, #88] ; 5d14 par = lv_obj_get_parent(par); - 5cd6: f8df a058 ldr.w sl, [pc, #88] ; 5d30 - 5cda: e00e b.n 5cfa + 5cbe: f8df a058 ldr.w sl, [pc, #88] ; 5d18 + 5cc2: e00e b.n 5ce2 if(top_p == NULL) top_p = lv_disp_get_scr_act(disp_refr); - 5cdc: 4b16 ldr r3, [pc, #88] ; (5d38 ) - 5cde: 6818 ldr r0, [r3, #0] - 5ce0: 4b16 ldr r3, [pc, #88] ; (5d3c ) - 5ce2: 4798 blx r3 + 5cc4: 4b16 ldr r3, [pc, #88] ; (5d20 ) + 5cc6: 6818 ldr r0, [r3, #0] + 5cc8: 4b16 ldr r3, [pc, #88] ; (5d24 ) + 5cca: 4798 blx r3 if(top_p == NULL) return; /*Shouldn't happen*/ - 5ce4: 4604 mov r4, r0 - 5ce6: 2800 cmp r0, #0 - 5ce8: d1e9 bne.n 5cbe - 5cea: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 5ccc: 4604 mov r4, r0 + 5cce: 2800 cmp r0, #0 + 5cd0: d1e9 bne.n 5ca6 + 5cd2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} par = lv_obj_get_parent(par); - 5cee: 4648 mov r0, r9 - 5cf0: 47d0 blx sl - 5cf2: 464c mov r4, r9 + 5cd6: 4648 mov r0, r9 + 5cd8: 47d0 blx sl + 5cda: 464c mov r4, r9 while(par != NULL) { - 5cf4: 4681 mov r9, r0 - 5cf6: 2800 cmp r0, #0 - 5cf8: d0f7 beq.n 5cea + 5cdc: 4681 mov r9, r0 + 5cde: 2800 cmp r0, #0 + 5ce0: d0f7 beq.n 5cd2 lv_obj_t * i = _lv_ll_get_prev(&(par->child_ll), border_p); - 5cfa: f109 0504 add.w r5, r9, #4 - 5cfe: 4621 mov r1, r4 - 5d00: 4628 mov r0, r5 - 5d02: 47b0 blx r6 + 5ce2: f109 0504 add.w r5, r9, #4 + 5ce6: 4621 mov r1, r4 + 5ce8: 4628 mov r0, r5 + 5cea: 47b0 blx r6 while(i != NULL) { - 5d04: 4604 mov r4, r0 - 5d06: b140 cbz r0, 5d1a + 5cec: 4604 mov r4, r0 + 5cee: b140 cbz r0, 5d02 lv_refr_obj(i, mask_p); - 5d08: 4639 mov r1, r7 - 5d0a: 4620 mov r0, r4 - 5d0c: 47c0 blx r8 + 5cf0: 4639 mov r1, r7 + 5cf2: 4620 mov r0, r4 + 5cf4: 47c0 blx r8 i = _lv_ll_get_prev(&(par->child_ll), i); - 5d0e: 4621 mov r1, r4 - 5d10: 4628 mov r0, r5 - 5d12: 47b0 blx r6 + 5cf6: 4621 mov r1, r4 + 5cf8: 4628 mov r0, r5 + 5cfa: 47b0 blx r6 while(i != NULL) { - 5d14: 4604 mov r4, r0 - 5d16: 2800 cmp r0, #0 - 5d18: d1f6 bne.n 5d08 + 5cfc: 4604 mov r4, r0 + 5cfe: 2800 cmp r0, #0 + 5d00: d1f6 bne.n 5cf0 if(par->design_cb) par->design_cb(par, mask_p, LV_DESIGN_DRAW_POST); - 5d1a: f8d9 3020 ldr.w r3, [r9, #32] - 5d1e: 2b00 cmp r3, #0 - 5d20: d0e5 beq.n 5cee - 5d22: 2201 movs r2, #1 - 5d24: 4639 mov r1, r7 - 5d26: 4648 mov r0, r9 - 5d28: 4798 blx r3 - 5d2a: e7e0 b.n 5cee - 5d2c: 00005bb1 .word 0x00005bb1 - 5d30: 00002c7d .word 0x00002c7d - 5d34: 00011fe9 .word 0x00011fe9 - 5d38: 20002688 .word 0x20002688 - 5d3c: 0000234d .word 0x0000234d - -00005d40 : + 5d02: f8d9 3020 ldr.w r3, [r9, #32] + 5d06: 2b00 cmp r3, #0 + 5d08: d0e5 beq.n 5cd6 + 5d0a: 2201 movs r2, #1 + 5d0c: 4639 mov r1, r7 + 5d0e: 4648 mov r0, r9 + 5d10: 4798 blx r3 + 5d12: e7e0 b.n 5cd6 + 5d14: 00005b99 .word 0x00005b99 + 5d18: 00002c65 .word 0x00002c65 + 5d1c: 00011fd1 .word 0x00011fd1 + 5d20: 20002688 .word 0x20002688 + 5d24: 00002335 .word 0x00002335 + +00005d28 : /** * Flush the content of the VDB */ static void lv_refr_vdb_flush(void) { - 5d40: b538 push {r3, r4, r5, lr} + 5d28: b538 push {r3, r4, r5, lr} lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 5d42: 4d1a ldr r5, [pc, #104] ; (5dac ) - 5d44: 6828 ldr r0, [r5, #0] - 5d46: 4b1a ldr r3, [pc, #104] ; (5db0 ) - 5d48: 4798 blx r3 - 5d4a: 4604 mov r4, r0 + 5d2a: 4d1a ldr r5, [pc, #104] ; (5d94 ) + 5d2c: 6828 ldr r0, [r5, #0] + 5d2e: 4b1a ldr r3, [pc, #104] ; (5d98 ) + 5d30: 4798 blx r3 + 5d32: 4604 mov r4, r0 /*In double buffered mode wait until the other buffer is flushed before flushing the current * one*/ if(lv_disp_is_double_buf(disp_refr)) { - 5d4c: 6828 ldr r0, [r5, #0] - 5d4e: 4b19 ldr r3, [pc, #100] ; (5db4 ) - 5d50: 4798 blx r3 - 5d52: b978 cbnz r0, 5d74 + 5d34: 6828 ldr r0, [r5, #0] + 5d36: 4b19 ldr r3, [pc, #100] ; (5d9c ) + 5d38: 4798 blx r3 + 5d3a: b978 cbnz r0, 5d5c while(vdb->flushing) { if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); } } vdb->flushing = 1; - 5d54: 2301 movs r3, #1 - 5d56: 61a3 str r3, [r4, #24] + 5d3c: 2301 movs r3, #1 + 5d3e: 61a3 str r3, [r4, #24] if(disp_refr->driver.buffer->last_area && disp_refr->driver.buffer->last_part) vdb->flushing_last = 1; - 5d58: 4b14 ldr r3, [pc, #80] ; (5dac ) - 5d5a: 6818 ldr r0, [r3, #0] - 5d5c: 6843 ldr r3, [r0, #4] - 5d5e: 6a1a ldr r2, [r3, #32] - 5d60: f012 0f01 tst.w r2, #1 - 5d64: d010 beq.n 5d88 - 5d66: 6a1b ldr r3, [r3, #32] - 5d68: f013 0f02 tst.w r3, #2 - 5d6c: d00c beq.n 5d88 - 5d6e: 2301 movs r3, #1 - 5d70: 61e3 str r3, [r4, #28] - 5d72: e00b b.n 5d8c + 5d40: 4b14 ldr r3, [pc, #80] ; (5d94 ) + 5d42: 6818 ldr r0, [r3, #0] + 5d44: 6843 ldr r3, [r0, #4] + 5d46: 6a1a ldr r2, [r3, #32] + 5d48: f012 0f01 tst.w r2, #1 + 5d4c: d010 beq.n 5d70 + 5d4e: 6a1b ldr r3, [r3, #32] + 5d50: f013 0f02 tst.w r3, #2 + 5d54: d00c beq.n 5d70 + 5d56: 2301 movs r3, #1 + 5d58: 61e3 str r3, [r4, #28] + 5d5a: e00b b.n 5d74 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 5d74: 4d0d ldr r5, [pc, #52] ; (5dac ) - 5d76: 6828 ldr r0, [r5, #0] + 5d5c: 4d0d ldr r5, [pc, #52] ; (5d94 ) + 5d5e: 6828 ldr r0, [r5, #0] while(vdb->flushing) { - 5d78: 69a3 ldr r3, [r4, #24] - 5d7a: 2b00 cmp r3, #0 - 5d7c: d0ea beq.n 5d54 + 5d60: 69a3 ldr r3, [r4, #24] + 5d62: 2b00 cmp r3, #0 + 5d64: d0ea beq.n 5d3c if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 5d7e: 69c3 ldr r3, [r0, #28] - 5d80: 2b00 cmp r3, #0 - 5d82: d0f9 beq.n 5d78 - 5d84: 4798 blx r3 - 5d86: e7f6 b.n 5d76 + 5d66: 69c3 ldr r3, [r0, #28] + 5d68: 2b00 cmp r3, #0 + 5d6a: d0f9 beq.n 5d60 + 5d6c: 4798 blx r3 + 5d6e: e7f6 b.n 5d5e else vdb->flushing_last = 0; - 5d88: 2300 movs r3, #0 - 5d8a: 61e3 str r3, [r4, #28] + 5d70: 2300 movs r3, #0 + 5d72: 61e3 str r3, [r4, #28] /*Flush the rendered content to the display*/ lv_disp_t * disp = _lv_refr_get_disp_refreshing(); if(disp->driver.flush_cb) disp->driver.flush_cb(&disp->driver, &vdb->area, vdb->buf_act); - 5d8c: 68c3 ldr r3, [r0, #12] - 5d8e: b11b cbz r3, 5d98 - 5d90: 68a2 ldr r2, [r4, #8] - 5d92: f104 0110 add.w r1, r4, #16 - 5d96: 4798 blx r3 + 5d74: 68c3 ldr r3, [r0, #12] + 5d76: b11b cbz r3, 5d80 + 5d78: 68a2 ldr r2, [r4, #8] + 5d7a: f104 0110 add.w r1, r4, #16 + 5d7e: 4798 blx r3 if(vdb->buf1 && vdb->buf2) { - 5d98: 6823 ldr r3, [r4, #0] - 5d9a: b133 cbz r3, 5daa - 5d9c: 6862 ldr r2, [r4, #4] - 5d9e: b122 cbz r2, 5daa + 5d80: 6823 ldr r3, [r4, #0] + 5d82: b133 cbz r3, 5d92 + 5d84: 6862 ldr r2, [r4, #4] + 5d86: b122 cbz r2, 5d92 if(vdb->buf_act == vdb->buf1) - 5da0: 68a1 ldr r1, [r4, #8] + 5d88: 68a1 ldr r1, [r4, #8] vdb->buf_act = vdb->buf2; - 5da2: 428b cmp r3, r1 - 5da4: bf08 it eq - 5da6: 4613 moveq r3, r2 - 5da8: 60a3 str r3, [r4, #8] - 5daa: bd38 pop {r3, r4, r5, pc} - 5dac: 20002688 .word 0x20002688 - 5db0: 00010fdd .word 0x00010fdd - 5db4: 00010fe1 .word 0x00010fe1 - -00005db8 : -{ - 5db8: b570 push {r4, r5, r6, lr} - 5dba: b082 sub sp, #8 - 5dbc: 4606 mov r6, r0 + 5d8a: 428b cmp r3, r1 + 5d8c: bf08 it eq + 5d8e: 4613 moveq r3, r2 + 5d90: 60a3 str r3, [r4, #8] + 5d92: bd38 pop {r3, r4, r5, pc} + 5d94: 20002688 .word 0x20002688 + 5d98: 00010fc5 .word 0x00010fc5 + 5d9c: 00010fc9 .word 0x00010fc9 + +00005da0 : +{ + 5da0: b570 push {r4, r5, r6, lr} + 5da2: b082 sub sp, #8 + 5da4: 4606 mov r6, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 5dbe: 4d1a ldr r5, [pc, #104] ; (5e28 ) - 5dc0: 6828 ldr r0, [r5, #0] - 5dc2: 4b1a ldr r3, [pc, #104] ; (5e2c ) - 5dc4: 4798 blx r3 - 5dc6: 4604 mov r4, r0 + 5da6: 4d1a ldr r5, [pc, #104] ; (5e10 ) + 5da8: 6828 ldr r0, [r5, #0] + 5daa: 4b1a ldr r3, [pc, #104] ; (5e14 ) + 5dac: 4798 blx r3 + 5dae: 4604 mov r4, r0 if(lv_disp_is_double_buf(disp_refr) == false) { - 5dc8: 6828 ldr r0, [r5, #0] - 5dca: 4b19 ldr r3, [pc, #100] ; (5e30 ) - 5dcc: 4798 blx r3 - 5dce: b938 cbnz r0, 5de0 + 5db0: 6828 ldr r0, [r5, #0] + 5db2: 4b19 ldr r3, [pc, #100] ; (5e18 ) + 5db4: 4798 blx r3 + 5db6: b938 cbnz r0, 5dc8 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 5dd0: 6828 ldr r0, [r5, #0] + 5db8: 6828 ldr r0, [r5, #0] while(vdb->flushing) { - 5dd2: 69a3 ldr r3, [r4, #24] - 5dd4: b123 cbz r3, 5de0 + 5dba: 69a3 ldr r3, [r4, #24] + 5dbc: b123 cbz r3, 5dc8 if(disp_refr->driver.wait_cb) disp_refr->driver.wait_cb(&disp_refr->driver); - 5dd6: 69c3 ldr r3, [r0, #28] - 5dd8: 2b00 cmp r3, #0 - 5dda: d0fa beq.n 5dd2 - 5ddc: 4798 blx r3 - 5dde: e7f7 b.n 5dd0 + 5dbe: 69c3 ldr r3, [r0, #28] + 5dc0: 2b00 cmp r3, #0 + 5dc2: d0fa beq.n 5dba + 5dc4: 4798 blx r3 + 5dc6: e7f7 b.n 5db8 _lv_area_intersect(&start_mask, area_p, &vdb->area); - 5de0: f104 0210 add.w r2, r4, #16 - 5de4: 4631 mov r1, r6 - 5de6: 4668 mov r0, sp - 5de8: 4b12 ldr r3, [pc, #72] ; (5e34 ) - 5dea: 4798 blx r3 + 5dc8: f104 0210 add.w r2, r4, #16 + 5dcc: 4631 mov r1, r6 + 5dce: 4668 mov r0, sp + 5dd0: 4b12 ldr r3, [pc, #72] ; (5e1c ) + 5dd2: 4798 blx r3 top_p = lv_refr_get_top_obj(&start_mask, lv_disp_get_scr_act(disp_refr)); - 5dec: 4c0e ldr r4, [pc, #56] ; (5e28 ) - 5dee: 6820 ldr r0, [r4, #0] - 5df0: 4b11 ldr r3, [pc, #68] ; (5e38 ) - 5df2: 4798 blx r3 - 5df4: 4601 mov r1, r0 - 5df6: 4668 mov r0, sp - 5df8: 4b10 ldr r3, [pc, #64] ; (5e3c ) - 5dfa: 4798 blx r3 + 5dd4: 4c0e ldr r4, [pc, #56] ; (5e10 ) + 5dd6: 6820 ldr r0, [r4, #0] + 5dd8: 4b11 ldr r3, [pc, #68] ; (5e20 ) + 5dda: 4798 blx r3 + 5ddc: 4601 mov r1, r0 + 5dde: 4668 mov r0, sp + 5de0: 4b10 ldr r3, [pc, #64] ; (5e24 ) + 5de2: 4798 blx r3 lv_refr_obj_and_children(top_p, &start_mask); - 5dfc: 4669 mov r1, sp - 5dfe: 4d10 ldr r5, [pc, #64] ; (5e40 ) - 5e00: 47a8 blx r5 + 5de4: 4669 mov r1, sp + 5de6: 4d10 ldr r5, [pc, #64] ; (5e28 ) + 5de8: 47a8 blx r5 lv_refr_obj_and_children(lv_disp_get_layer_top(disp_refr), &start_mask); - 5e02: 6820 ldr r0, [r4, #0] - 5e04: 4b0f ldr r3, [pc, #60] ; (5e44 ) - 5e06: 4798 blx r3 - 5e08: 4669 mov r1, sp - 5e0a: 47a8 blx r5 + 5dea: 6820 ldr r0, [r4, #0] + 5dec: 4b0f ldr r3, [pc, #60] ; (5e2c ) + 5dee: 4798 blx r3 + 5df0: 4669 mov r1, sp + 5df2: 47a8 blx r5 lv_refr_obj_and_children(lv_disp_get_layer_sys(disp_refr), &start_mask); - 5e0c: 6820 ldr r0, [r4, #0] - 5e0e: 4b0e ldr r3, [pc, #56] ; (5e48 ) - 5e10: 4798 blx r3 - 5e12: 4669 mov r1, sp - 5e14: 47a8 blx r5 + 5df4: 6820 ldr r0, [r4, #0] + 5df6: 4b0e ldr r3, [pc, #56] ; (5e30 ) + 5df8: 4798 blx r3 + 5dfa: 4669 mov r1, sp + 5dfc: 47a8 blx r5 if(lv_disp_is_true_double_buf(disp_refr) == false) { - 5e16: 6820 ldr r0, [r4, #0] - 5e18: 4b0c ldr r3, [pc, #48] ; (5e4c ) - 5e1a: 4798 blx r3 - 5e1c: b108 cbz r0, 5e22 + 5dfe: 6820 ldr r0, [r4, #0] + 5e00: 4b0c ldr r3, [pc, #48] ; (5e34 ) + 5e02: 4798 blx r3 + 5e04: b108 cbz r0, 5e0a } - 5e1e: b002 add sp, #8 - 5e20: bd70 pop {r4, r5, r6, pc} + 5e06: b002 add sp, #8 + 5e08: bd70 pop {r4, r5, r6, pc} lv_refr_vdb_flush(); - 5e22: 4b0b ldr r3, [pc, #44] ; (5e50 ) - 5e24: 4798 blx r3 -} - 5e26: e7fa b.n 5e1e - 5e28: 20002688 .word 0x20002688 - 5e2c: 00010fdd .word 0x00010fdd - 5e30: 00010fe1 .word 0x00010fe1 - 5e34: 00011519 .word 0x00011519 - 5e38: 0000234d .word 0x0000234d - 5e3c: 00005b19 .word 0x00005b19 - 5e40: 00005cb5 .word 0x00005cb5 - 5e44: 0000238d .word 0x0000238d - 5e48: 000023cd .word 0x000023cd - 5e4c: 00010ff5 .word 0x00010ff5 - 5e50: 00005d41 .word 0x00005d41 - -00005e54 <_lv_refr_init>: -{ - 5e54: 4770 bx lr + 5e0a: 4b0b ldr r3, [pc, #44] ; (5e38 ) + 5e0c: 4798 blx r3 +} + 5e0e: e7fa b.n 5e06 + 5e10: 20002688 .word 0x20002688 + 5e14: 00010fc5 .word 0x00010fc5 + 5e18: 00010fc9 .word 0x00010fc9 + 5e1c: 00011501 .word 0x00011501 + 5e20: 00002335 .word 0x00002335 + 5e24: 00005b01 .word 0x00005b01 + 5e28: 00005c9d .word 0x00005c9d + 5e2c: 00002375 .word 0x00002375 + 5e30: 000023b5 .word 0x000023b5 + 5e34: 00010fdd .word 0x00010fdd + 5e38: 00005d29 .word 0x00005d29 + +00005e3c <_lv_refr_init>: +{ + 5e3c: 4770 bx lr ... -00005e58 <_lv_inv_area>: +00005e40 <_lv_inv_area>: { - 5e58: b5f0 push {r4, r5, r6, r7, lr} - 5e5a: b085 sub sp, #20 - 5e5c: 460c mov r4, r1 + 5e40: b5f0 push {r4, r5, r6, r7, lr} + 5e42: b085 sub sp, #20 + 5e44: 460c mov r4, r1 if(!disp) disp = lv_disp_get_default(); - 5e5e: 4605 mov r5, r0 - 5e60: 2800 cmp r0, #0 - 5e62: d054 beq.n 5f0e <_lv_inv_area+0xb6> + 5e46: 4605 mov r5, r0 + 5e48: 2800 cmp r0, #0 + 5e4a: d054 beq.n 5ef6 <_lv_inv_area+0xb6> if(area_p == NULL) { - 5e64: 2c00 cmp r4, #0 - 5e66: d057 beq.n 5f18 <_lv_inv_area+0xc0> + 5e4c: 2c00 cmp r4, #0 + 5e4e: d057 beq.n 5f00 <_lv_inv_area+0xc0> scr_area.x1 = 0; - 5e68: 2300 movs r3, #0 - 5e6a: f8ad 3008 strh.w r3, [sp, #8] + 5e50: 2300 movs r3, #0 + 5e52: f8ad 3008 strh.w r3, [sp, #8] scr_area.y1 = 0; - 5e6e: f8ad 300a strh.w r3, [sp, #10] + 5e56: f8ad 300a strh.w r3, [sp, #10] scr_area.x2 = lv_disp_get_hor_res(disp) - 1; - 5e72: 4628 mov r0, r5 - 5e74: 4b36 ldr r3, [pc, #216] ; (5f50 <_lv_inv_area+0xf8>) - 5e76: 4798 blx r3 - 5e78: 3801 subs r0, #1 - 5e7a: f8ad 000c strh.w r0, [sp, #12] + 5e5a: 4628 mov r0, r5 + 5e5c: 4b36 ldr r3, [pc, #216] ; (5f38 <_lv_inv_area+0xf8>) + 5e5e: 4798 blx r3 + 5e60: 3801 subs r0, #1 + 5e62: f8ad 000c strh.w r0, [sp, #12] scr_area.y2 = lv_disp_get_ver_res(disp) - 1; - 5e7e: 4628 mov r0, r5 - 5e80: 4b34 ldr r3, [pc, #208] ; (5f54 <_lv_inv_area+0xfc>) - 5e82: 4798 blx r3 - 5e84: 3801 subs r0, #1 - 5e86: f8ad 000e strh.w r0, [sp, #14] + 5e66: 4628 mov r0, r5 + 5e68: 4b34 ldr r3, [pc, #208] ; (5f3c <_lv_inv_area+0xfc>) + 5e6a: 4798 blx r3 + 5e6c: 3801 subs r0, #1 + 5e6e: f8ad 000e strh.w r0, [sp, #14] suc = _lv_area_intersect(&com_area, area_p, &scr_area); - 5e8a: aa02 add r2, sp, #8 - 5e8c: 4621 mov r1, r4 - 5e8e: 4668 mov r0, sp - 5e90: 4b31 ldr r3, [pc, #196] ; (5f58 <_lv_inv_area+0x100>) - 5e92: 4798 blx r3 + 5e72: aa02 add r2, sp, #8 + 5e74: 4621 mov r1, r4 + 5e76: 4668 mov r0, sp + 5e78: 4b31 ldr r3, [pc, #196] ; (5f40 <_lv_inv_area+0x100>) + 5e7a: 4798 blx r3 if(suc != false) { - 5e94: 2800 cmp r0, #0 - 5e96: d045 beq.n 5f24 <_lv_inv_area+0xcc> + 5e7c: 2800 cmp r0, #0 + 5e7e: d045 beq.n 5f0c <_lv_inv_area+0xcc> if(disp->driver.rounder_cb) disp->driver.rounder_cb(&disp->driver, &com_area); - 5e98: 692b ldr r3, [r5, #16] - 5e9a: b113 cbz r3, 5ea2 <_lv_inv_area+0x4a> - 5e9c: 4669 mov r1, sp - 5e9e: 4628 mov r0, r5 - 5ea0: 4798 blx r3 + 5e80: 692b ldr r3, [r5, #16] + 5e82: b113 cbz r3, 5e8a <_lv_inv_area+0x4a> + 5e84: 4669 mov r1, sp + 5e86: 4628 mov r0, r5 + 5e88: 4798 blx r3 for(i = 0; i < disp->inv_p; i++) { - 5ea2: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 5ea6: f3c3 0309 ubfx r3, r3, #0, #10 - 5eaa: b19b cbz r3, 5ed4 <_lv_inv_area+0x7c> - 5eac: 2100 movs r1, #0 - 5eae: 460c mov r4, r1 + 5e8a: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5e8e: f3c3 0309 ubfx r3, r3, #0, #10 + 5e92: b19b cbz r3, 5ebc <_lv_inv_area+0x7c> + 5e94: 2100 movs r1, #0 + 5e96: 460c mov r4, r1 if(_lv_area_is_in(&com_area, &disp->inv_areas[i], 0) != false) return; - 5eb0: 460f mov r7, r1 - 5eb2: 4e2a ldr r6, [pc, #168] ; (5f5c <_lv_inv_area+0x104>) - 5eb4: 3109 adds r1, #9 - 5eb6: 463a mov r2, r7 - 5eb8: eb05 01c1 add.w r1, r5, r1, lsl #3 - 5ebc: 4668 mov r0, sp - 5ebe: 47b0 blx r6 - 5ec0: bb80 cbnz r0, 5f24 <_lv_inv_area+0xcc> + 5e98: 460f mov r7, r1 + 5e9a: 4e2a ldr r6, [pc, #168] ; (5f44 <_lv_inv_area+0x104>) + 5e9c: 3109 adds r1, #9 + 5e9e: 463a mov r2, r7 + 5ea0: eb05 01c1 add.w r1, r5, r1, lsl #3 + 5ea4: 4668 mov r0, sp + 5ea6: 47b0 blx r6 + 5ea8: bb80 cbnz r0, 5f0c <_lv_inv_area+0xcc> for(i = 0; i < disp->inv_p; i++) { - 5ec2: 3401 adds r4, #1 - 5ec4: b2a4 uxth r4, r4 - 5ec6: 4621 mov r1, r4 - 5ec8: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 5ecc: f3c3 0309 ubfx r3, r3, #0, #10 - 5ed0: 429c cmp r4, r3 - 5ed2: dbef blt.n 5eb4 <_lv_inv_area+0x5c> + 5eaa: 3401 adds r4, #1 + 5eac: b2a4 uxth r4, r4 + 5eae: 4621 mov r1, r4 + 5eb0: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5eb4: f3c3 0309 ubfx r3, r3, #0, #10 + 5eb8: 429c cmp r4, r3 + 5eba: dbef blt.n 5e9c <_lv_inv_area+0x5c> if(disp->inv_p < LV_INV_BUF_SIZE) { - 5ed4: 2b1f cmp r3, #31 - 5ed6: dc27 bgt.n 5f28 <_lv_inv_area+0xd0> + 5ebc: 2b1f cmp r3, #31 + 5ebe: dc27 bgt.n 5f10 <_lv_inv_area+0xd0> lv_area_copy(&disp->inv_areas[disp->inv_p], &com_area); - 5ed8: 3309 adds r3, #9 - 5eda: eb05 03c3 add.w r3, r5, r3, lsl #3 - 5ede: f10d 32ff add.w r2, sp, #4294967295 - 5ee2: f103 0008 add.w r0, r3, #8 + 5ec0: 3309 adds r3, #9 + 5ec2: eb05 03c3 add.w r3, r5, r3, lsl #3 + 5ec6: f10d 32ff add.w r2, sp, #4294967295 + 5eca: f103 0008 add.w r0, r3, #8 *d8 = *s8; - 5ee6: f812 1f01 ldrb.w r1, [r2, #1]! - 5eea: f803 1b01 strb.w r1, [r3], #1 + 5ece: f812 1f01 ldrb.w r1, [r2, #1]! + 5ed2: f803 1b01 strb.w r1, [r3], #1 while(len) { - 5eee: 4283 cmp r3, r0 - 5ef0: d1f9 bne.n 5ee6 <_lv_inv_area+0x8e> + 5ed6: 4283 cmp r3, r0 + 5ed8: d1f9 bne.n 5ece <_lv_inv_area+0x8e> disp->inv_p++; - 5ef2: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 5ef6: f3c3 0209 ubfx r2, r3, #0, #10 - 5efa: 3201 adds r2, #1 - 5efc: f362 0309 bfi r3, r2, #0, #10 - 5f00: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 + 5eda: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5ede: f3c3 0209 ubfx r2, r3, #0, #10 + 5ee2: 3201 adds r2, #1 + 5ee4: f362 0309 bfi r3, r2, #0, #10 + 5ee8: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 lv_task_set_prio(disp->refr_task, LV_REFR_TASK_PRIO); - 5f04: 2103 movs r1, #3 - 5f06: 6ae8 ldr r0, [r5, #44] ; 0x2c - 5f08: 4b15 ldr r3, [pc, #84] ; (5f60 <_lv_inv_area+0x108>) - 5f0a: 4798 blx r3 - 5f0c: e00a b.n 5f24 <_lv_inv_area+0xcc> + 5eec: 2103 movs r1, #3 + 5eee: 6ae8 ldr r0, [r5, #44] ; 0x2c + 5ef0: 4b15 ldr r3, [pc, #84] ; (5f48 <_lv_inv_area+0x108>) + 5ef2: 4798 blx r3 + 5ef4: e00a b.n 5f0c <_lv_inv_area+0xcc> if(!disp) disp = lv_disp_get_default(); - 5f0e: 4b15 ldr r3, [pc, #84] ; (5f64 <_lv_inv_area+0x10c>) - 5f10: 4798 blx r3 + 5ef6: 4b15 ldr r3, [pc, #84] ; (5f4c <_lv_inv_area+0x10c>) + 5ef8: 4798 blx r3 if(!disp) return; - 5f12: 4605 mov r5, r0 - 5f14: b130 cbz r0, 5f24 <_lv_inv_area+0xcc> - 5f16: e7a5 b.n 5e64 <_lv_inv_area+0xc> + 5efa: 4605 mov r5, r0 + 5efc: b130 cbz r0, 5f0c <_lv_inv_area+0xcc> + 5efe: e7a5 b.n 5e4c <_lv_inv_area+0xc> disp->inv_p = 0; - 5f18: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 5f1c: f36f 0309 bfc r3, #0, #10 - 5f20: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 + 5f00: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5f04: f36f 0309 bfc r3, #0, #10 + 5f08: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 } - 5f24: b005 add sp, #20 - 5f26: bdf0 pop {r4, r5, r6, r7, pc} + 5f0c: b005 add sp, #20 + 5f0e: bdf0 pop {r4, r5, r6, r7, pc} disp->inv_p = 0; - 5f28: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 - 5f2c: f36f 0309 bfc r3, #0, #10 - 5f30: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 - 5f34: f10d 0207 add.w r2, sp, #7 - 5f38: f105 0050 add.w r0, r5, #80 ; 0x50 + 5f10: f8b5 3168 ldrh.w r3, [r5, #360] ; 0x168 + 5f14: f36f 0309 bfc r3, #0, #10 + 5f18: f8a5 3168 strh.w r3, [r5, #360] ; 0x168 + 5f1c: f10d 0207 add.w r2, sp, #7 + 5f20: f105 0050 add.w r0, r5, #80 ; 0x50 uint8_t * d8 = (uint8_t *)dst; - 5f3c: f105 0348 add.w r3, r5, #72 ; 0x48 + 5f24: f105 0348 add.w r3, r5, #72 ; 0x48 *d8 = *s8; - 5f40: f812 1f01 ldrb.w r1, [r2, #1]! - 5f44: f803 1b01 strb.w r1, [r3], #1 + 5f28: f812 1f01 ldrb.w r1, [r2, #1]! + 5f2c: f803 1b01 strb.w r1, [r3], #1 while(len) { - 5f48: 4283 cmp r3, r0 - 5f4a: d1f9 bne.n 5f40 <_lv_inv_area+0xe8> - 5f4c: e7d1 b.n 5ef2 <_lv_inv_area+0x9a> - 5f4e: bf00 nop - 5f50: 00010eed .word 0x00010eed - 5f54: 00010f15 .word 0x00010f15 - 5f58: 00011519 .word 0x00011519 - 5f5c: 0001176d .word 0x0001176d - 5f60: 00013959 .word 0x00013959 - 5f64: 00010ee1 .word 0x00010ee1 - -00005f68 <_lv_refr_get_disp_refreshing>: -} - 5f68: 4b01 ldr r3, [pc, #4] ; (5f70 <_lv_refr_get_disp_refreshing+0x8>) - 5f6a: 6818 ldr r0, [r3, #0] - 5f6c: 4770 bx lr - 5f6e: bf00 nop - 5f70: 20002688 .word 0x20002688 - -00005f74 <_lv_disp_refr_task>: -{ - 5f74: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 5f78: b08d sub sp, #52 ; 0x34 - 5f7a: 4605 mov r5, r0 + 5f30: 4283 cmp r3, r0 + 5f32: d1f9 bne.n 5f28 <_lv_inv_area+0xe8> + 5f34: e7d1 b.n 5eda <_lv_inv_area+0x9a> + 5f36: bf00 nop + 5f38: 00010ed5 .word 0x00010ed5 + 5f3c: 00010efd .word 0x00010efd + 5f40: 00011501 .word 0x00011501 + 5f44: 00011755 .word 0x00011755 + 5f48: 00013941 .word 0x00013941 + 5f4c: 00010ec9 .word 0x00010ec9 + +00005f50 <_lv_refr_get_disp_refreshing>: +} + 5f50: 4b01 ldr r3, [pc, #4] ; (5f58 <_lv_refr_get_disp_refreshing+0x8>) + 5f52: 6818 ldr r0, [r3, #0] + 5f54: 4770 bx lr + 5f56: bf00 nop + 5f58: 20002688 .word 0x20002688 + +00005f5c <_lv_disp_refr_task>: +{ + 5f5c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 5f60: b08d sub sp, #52 ; 0x34 + 5f62: 4605 mov r5, r0 uint32_t start = lv_tick_get(); - 5f7c: 4bb7 ldr r3, [pc, #732] ; (625c <_lv_disp_refr_task+0x2e8>) - 5f7e: 4798 blx r3 - 5f80: 9009 str r0, [sp, #36] ; 0x24 + 5f64: 4bb7 ldr r3, [pc, #732] ; (6244 <_lv_disp_refr_task+0x2e8>) + 5f66: 4798 blx r3 + 5f68: 9009 str r0, [sp, #36] ; 0x24 disp_refr = task->user_data; - 5f82: 4cb7 ldr r4, [pc, #732] ; (6260 <_lv_disp_refr_task+0x2ec>) - 5f84: 68eb ldr r3, [r5, #12] - 5f86: 6023 str r3, [r4, #0] + 5f6a: 4cb7 ldr r4, [pc, #732] ; (6248 <_lv_disp_refr_task+0x2ec>) + 5f6c: 68eb ldr r3, [r5, #12] + 5f6e: 6023 str r3, [r4, #0] lv_task_set_prio(task, LV_TASK_PRIO_OFF); - 5f88: 2100 movs r1, #0 - 5f8a: 4628 mov r0, r5 - 5f8c: 4bb5 ldr r3, [pc, #724] ; (6264 <_lv_disp_refr_task+0x2f0>) - 5f8e: 4798 blx r3 + 5f70: 2100 movs r1, #0 + 5f72: 4628 mov r0, r5 + 5f74: 4bb5 ldr r3, [pc, #724] ; (624c <_lv_disp_refr_task+0x2f0>) + 5f76: 4798 blx r3 if(disp_refr->act_scr == NULL) { - 5f90: 6820 ldr r0, [r4, #0] - 5f92: 6bc3 ldr r3, [r0, #60] ; 0x3c - 5f94: b17b cbz r3, 5fb6 <_lv_disp_refr_task+0x42> + 5f78: 6820 ldr r0, [r4, #0] + 5f7a: 6bc3 ldr r3, [r0, #60] ; 0x3c + 5f7c: b17b cbz r3, 5f9e <_lv_disp_refr_task+0x42> for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { - 5f96: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 5f9a: f3c3 0309 ubfx r3, r3, #0, #10 - 5f9e: 2b00 cmp r3, #0 - 5fa0: f000 8278 beq.w 6494 <_lv_disp_refr_task+0x520> - 5fa4: f04f 0848 mov.w r8, #72 ; 0x48 - 5fa8: 2700 movs r7, #0 + 5f7e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 5f82: f3c3 0309 ubfx r3, r3, #0, #10 + 5f86: 2b00 cmp r3, #0 + 5f88: f000 8278 beq.w 647c <_lv_disp_refr_task+0x520> + 5f8c: f04f 0848 mov.w r8, #72 ; 0x48 + 5f90: 2700 movs r7, #0 for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 5faa: 4dad ldr r5, [pc, #692] ; (6260 <_lv_disp_refr_task+0x2ec>) + 5f92: 4dad ldr r5, [pc, #692] ; (6248 <_lv_disp_refr_task+0x2ec>) if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { - 5fac: f8df a2e4 ldr.w sl, [pc, #740] ; 6294 <_lv_disp_refr_task+0x320> + 5f94: f8df a2e4 ldr.w sl, [pc, #740] ; 627c <_lv_disp_refr_task+0x320> if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 5fb0: f8df b2c8 ldr.w fp, [pc, #712] ; 627c <_lv_disp_refr_task+0x308> - 5fb4: e04d b.n 6052 <_lv_disp_refr_task+0xde> + 5f98: f8df b2c8 ldr.w fp, [pc, #712] ; 6264 <_lv_disp_refr_task+0x308> + 5f9c: e04d b.n 603a <_lv_disp_refr_task+0xde> disp_refr->inv_p = 0; - 5fb6: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 5fba: f36f 0309 bfc r3, #0, #10 - 5fbe: f8a0 3168 strh.w r3, [r0, #360] ; 0x168 + 5f9e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 5fa2: f36f 0309 bfc r3, #0, #10 + 5fa6: f8a0 3168 strh.w r3, [r0, #360] ; 0x168 return; - 5fc2: e262 b.n 648a <_lv_disp_refr_task+0x516> + 5faa: e262 b.n 6472 <_lv_disp_refr_task+0x516> disp_refr->inv_area_joined[join_from] = 1; - 5fc4: 4426 add r6, r4 - 5fc6: 2301 movs r3, #1 - 5fc8: f886 3148 strb.w r3, [r6, #328] ; 0x148 + 5fac: 4426 add r6, r4 + 5fae: 2301 movs r3, #1 + 5fb0: f886 3148 strb.w r3, [r6, #328] ; 0x148 for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 5fcc: 3401 adds r4, #1 - 5fce: 6828 ldr r0, [r5, #0] - 5fd0: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 5fd4: f3c3 0309 ubfx r3, r3, #0, #10 - 5fd8: 429c cmp r4, r3 - 5fda: d230 bcs.n 603e <_lv_disp_refr_task+0xca> + 5fb4: 3401 adds r4, #1 + 5fb6: 6828 ldr r0, [r5, #0] + 5fb8: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 5fbc: f3c3 0309 ubfx r3, r3, #0, #10 + 5fc0: 429c cmp r4, r3 + 5fc2: d230 bcs.n 6026 <_lv_disp_refr_task+0xca> if(disp_refr->inv_area_joined[join_from] != 0 || join_in == join_from) { - 5fdc: 1903 adds r3, r0, r4 - 5fde: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 - 5fe2: 2b00 cmp r3, #0 - 5fe4: d1f2 bne.n 5fcc <_lv_disp_refr_task+0x58> - 5fe6: 42a7 cmp r7, r4 - 5fe8: d0f0 beq.n 5fcc <_lv_disp_refr_task+0x58> - 5fea: f104 0609 add.w r6, r4, #9 - 5fee: 00f6 lsls r6, r6, #3 + 5fc4: 1903 adds r3, r0, r4 + 5fc6: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 + 5fca: 2b00 cmp r3, #0 + 5fcc: d1f2 bne.n 5fb4 <_lv_disp_refr_task+0x58> + 5fce: 42a7 cmp r7, r4 + 5fd0: d0f0 beq.n 5fb4 <_lv_disp_refr_task+0x58> + 5fd2: f104 0609 add.w r6, r4, #9 + 5fd6: 00f6 lsls r6, r6, #3 if(_lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { - 5ff0: 1981 adds r1, r0, r6 - 5ff2: 4440 add r0, r8 - 5ff4: 47d0 blx sl - 5ff6: 2800 cmp r0, #0 - 5ff8: d0e8 beq.n 5fcc <_lv_disp_refr_task+0x58> + 5fd8: 1981 adds r1, r0, r6 + 5fda: 4440 add r0, r8 + 5fdc: 47d0 blx sl + 5fde: 2800 cmp r0, #0 + 5fe0: d0e8 beq.n 5fb4 <_lv_disp_refr_task+0x58> _lv_area_join(&joined_area, &disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]); - 5ffa: 6829 ldr r1, [r5, #0] - 5ffc: 198a adds r2, r1, r6 - 5ffe: 4441 add r1, r8 - 6000: a80a add r0, sp, #40 ; 0x28 - 6002: 4b99 ldr r3, [pc, #612] ; (6268 <_lv_disp_refr_task+0x2f4>) - 6004: 4798 blx r3 + 5fe2: 6829 ldr r1, [r5, #0] + 5fe4: 198a adds r2, r1, r6 + 5fe6: 4441 add r1, r8 + 5fe8: a80a add r0, sp, #40 ; 0x28 + 5fea: 4b99 ldr r3, [pc, #612] ; (6250 <_lv_disp_refr_task+0x2f4>) + 5fec: 4798 blx r3 if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 6006: a80a add r0, sp, #40 ; 0x28 - 6008: 47d8 blx fp - 600a: 9003 str r0, [sp, #12] - 600c: 6828 ldr r0, [r5, #0] - 600e: 4440 add r0, r8 - 6010: 47d8 blx fp - 6012: 4681 mov r9, r0 + 5fee: a80a add r0, sp, #40 ; 0x28 + 5ff0: 47d8 blx fp + 5ff2: 9003 str r0, [sp, #12] + 5ff4: 6828 ldr r0, [r5, #0] + 5ff6: 4440 add r0, r8 + 5ff8: 47d8 blx fp + 5ffa: 4681 mov r9, r0 lv_area_get_size(&disp_refr->inv_areas[join_from]))) { - 6014: 6828 ldr r0, [r5, #0] - 6016: 4430 add r0, r6 - 6018: 47d8 blx fp + 5ffc: 6828 ldr r0, [r5, #0] + 5ffe: 4430 add r0, r6 + 6000: 47d8 blx fp if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + - 601a: 4448 add r0, r9 - 601c: 9b03 ldr r3, [sp, #12] - 601e: 4283 cmp r3, r0 - 6020: d2d4 bcs.n 5fcc <_lv_disp_refr_task+0x58> + 6002: 4448 add r0, r9 + 6004: 9b03 ldr r3, [sp, #12] + 6006: 4283 cmp r3, r0 + 6008: d2d4 bcs.n 5fb4 <_lv_disp_refr_task+0x58> lv_area_copy(&disp_refr->inv_areas[join_in], &joined_area); - 6022: 682e ldr r6, [r5, #0] - 6024: eb06 0308 add.w r3, r6, r8 - 6028: f10d 0227 add.w r2, sp, #39 ; 0x27 - 602c: f103 0008 add.w r0, r3, #8 + 600a: 682e ldr r6, [r5, #0] + 600c: eb06 0308 add.w r3, r6, r8 + 6010: f10d 0227 add.w r2, sp, #39 ; 0x27 + 6014: f103 0008 add.w r0, r3, #8 *d8 = *s8; - 6030: f812 1f01 ldrb.w r1, [r2, #1]! - 6034: f803 1b01 strb.w r1, [r3], #1 + 6018: f812 1f01 ldrb.w r1, [r2, #1]! + 601c: f803 1b01 strb.w r1, [r3], #1 while(len) { - 6038: 4283 cmp r3, r0 - 603a: d1f9 bne.n 6030 <_lv_disp_refr_task+0xbc> - 603c: e7c2 b.n 5fc4 <_lv_disp_refr_task+0x50> + 6020: 4283 cmp r3, r0 + 6022: d1f9 bne.n 6018 <_lv_disp_refr_task+0xbc> + 6024: e7c2 b.n 5fac <_lv_disp_refr_task+0x50> for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { - 603e: 3701 adds r7, #1 - 6040: 6828 ldr r0, [r5, #0] - 6042: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6046: f3c3 0309 ubfx r3, r3, #0, #10 - 604a: f108 0808 add.w r8, r8, #8 - 604e: 429f cmp r7, r3 - 6050: d20e bcs.n 6070 <_lv_disp_refr_task+0xfc> + 6026: 3701 adds r7, #1 + 6028: 6828 ldr r0, [r5, #0] + 602a: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 602e: f3c3 0309 ubfx r3, r3, #0, #10 + 6032: f108 0808 add.w r8, r8, #8 + 6036: 429f cmp r7, r3 + 6038: d20e bcs.n 6058 <_lv_disp_refr_task+0xfc> if(disp_refr->inv_area_joined[join_in] != 0) continue; - 6052: 4438 add r0, r7 - 6054: f890 3148 ldrb.w r3, [r0, #328] ; 0x148 - 6058: 2b00 cmp r3, #0 - 605a: d1f0 bne.n 603e <_lv_disp_refr_task+0xca> + 603a: 4438 add r0, r7 + 603c: f890 3148 ldrb.w r3, [r0, #328] ; 0x148 + 6040: 2b00 cmp r3, #0 + 6042: d1f0 bne.n 6026 <_lv_disp_refr_task+0xca> for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { - 605c: 6828 ldr r0, [r5, #0] - 605e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6062: f3c3 0309 ubfx r3, r3, #0, #10 - 6066: 2b00 cmp r3, #0 - 6068: f000 81fa beq.w 6460 <_lv_disp_refr_task+0x4ec> - 606c: 2400 movs r4, #0 - 606e: e7b5 b.n 5fdc <_lv_disp_refr_task+0x68> + 6044: 6828 ldr r0, [r5, #0] + 6046: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 604a: f3c3 0309 ubfx r3, r3, #0, #10 + 604e: 2b00 cmp r3, #0 + 6050: f000 81fa beq.w 6448 <_lv_disp_refr_task+0x4ec> + 6054: 2400 movs r4, #0 + 6056: e7b5 b.n 5fc4 <_lv_disp_refr_task+0x68> px_num = 0; - 6070: 2100 movs r1, #0 - 6072: 4a7b ldr r2, [pc, #492] ; (6260 <_lv_disp_refr_task+0x2ec>) - 6074: 6051 str r1, [r2, #4] + 6058: 2100 movs r1, #0 + 605a: 4a7b ldr r2, [pc, #492] ; (6248 <_lv_disp_refr_task+0x2ec>) + 605c: 6051 str r1, [r2, #4] if(disp_refr->inv_p == 0) return; - 6076: 2b00 cmp r3, #0 - 6078: f000 81fa beq.w 6470 <_lv_disp_refr_task+0x4fc> + 605e: 2b00 cmp r3, #0 + 6060: f000 81fa beq.w 6458 <_lv_disp_refr_task+0x4fc> for(i = disp_refr->inv_p - 1; i >= 0; i--) { - 607c: 1e5a subs r2, r3, #1 - 607e: 4611 mov r1, r2 - 6080: 9207 str r2, [sp, #28] - 6082: d432 bmi.n 60ea <_lv_disp_refr_task+0x176> + 6064: 1e5a subs r2, r3, #1 + 6066: 4611 mov r1, r2 + 6068: 9207 str r2, [sp, #28] + 606a: d432 bmi.n 60d2 <_lv_disp_refr_task+0x176> if(disp_refr->inv_area_joined[i] == 0) { - 6084: 1882 adds r2, r0, r2 - 6086: f892 2148 ldrb.w r2, [r2, #328] ; 0x148 - 608a: b17a cbz r2, 60ac <_lv_disp_refr_task+0x138> - 608c: f203 1347 addw r3, r3, #327 ; 0x147 - 6090: 4403 add r3, r0 - 6092: 460a mov r2, r1 + 606c: 1882 adds r2, r0, r2 + 606e: f892 2148 ldrb.w r2, [r2, #328] ; 0x148 + 6072: b17a cbz r2, 6094 <_lv_disp_refr_task+0x138> + 6074: f203 1347 addw r3, r3, #327 ; 0x147 + 6078: 4403 add r3, r0 + 607a: 460a mov r2, r1 for(i = disp_refr->inv_p - 1; i >= 0; i--) { - 6094: 3a01 subs r2, #1 - 6096: f1b2 3fff cmp.w r2, #4294967295 - 609a: d005 beq.n 60a8 <_lv_disp_refr_task+0x134> + 607c: 3a01 subs r2, #1 + 607e: f1b2 3fff cmp.w r2, #4294967295 + 6082: d005 beq.n 6090 <_lv_disp_refr_task+0x134> if(disp_refr->inv_area_joined[i] == 0) { - 609c: f813 1d01 ldrb.w r1, [r3, #-1]! - 60a0: 2900 cmp r1, #0 - 60a2: d1f7 bne.n 6094 <_lv_disp_refr_task+0x120> - 60a4: 9207 str r2, [sp, #28] - 60a6: e001 b.n 60ac <_lv_disp_refr_task+0x138> + 6084: f813 1d01 ldrb.w r1, [r3, #-1]! + 6088: 2900 cmp r1, #0 + 608a: d1f7 bne.n 607c <_lv_disp_refr_task+0x120> + 608c: 9207 str r2, [sp, #28] + 608e: e001 b.n 6094 <_lv_disp_refr_task+0x138> int32_t last_i = 0; - 60a8: 2300 movs r3, #0 - 60aa: 9307 str r3, [sp, #28] + 6090: 2300 movs r3, #0 + 6092: 9307 str r3, [sp, #28] disp_refr->driver.buffer->last_area = 0; - 60ac: 6842 ldr r2, [r0, #4] - 60ae: f892 3020 ldrb.w r3, [r2, #32] - 60b2: f36f 0300 bfc r3, #0, #1 - 60b6: f882 3020 strb.w r3, [r2, #32] + 6094: 6842 ldr r2, [r0, #4] + 6096: f892 3020 ldrb.w r3, [r2, #32] + 609a: f36f 0300 bfc r3, #0, #1 + 609e: f882 3020 strb.w r3, [r2, #32] disp_refr->driver.buffer->last_part = 0; - 60ba: 6842 ldr r2, [r0, #4] - 60bc: f892 3020 ldrb.w r3, [r2, #32] - 60c0: f36f 0341 bfc r3, #1, #1 - 60c4: f882 3020 strb.w r3, [r2, #32] + 60a2: 6842 ldr r2, [r0, #4] + 60a4: f892 3020 ldrb.w r3, [r2, #32] + 60a8: f36f 0341 bfc r3, #1, #1 + 60ac: f882 3020 strb.w r3, [r2, #32] for(i = 0; i < disp_refr->inv_p; i++) { - 60c8: 4b65 ldr r3, [pc, #404] ; (6260 <_lv_disp_refr_task+0x2ec>) - 60ca: 681c ldr r4, [r3, #0] - 60cc: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 - 60d0: f3c3 0309 ubfx r3, r3, #0, #10 - 60d4: 2b00 cmp r3, #0 - 60d6: f000 81cb beq.w 6470 <_lv_disp_refr_task+0x4fc> - 60da: 2348 movs r3, #72 ; 0x48 - 60dc: 9306 str r3, [sp, #24] - 60de: f04f 0a00 mov.w sl, #0 + 60b0: 4b65 ldr r3, [pc, #404] ; (6248 <_lv_disp_refr_task+0x2ec>) + 60b2: 681c ldr r4, [r3, #0] + 60b4: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 + 60b8: f3c3 0309 ubfx r3, r3, #0, #10 + 60bc: 2b00 cmp r3, #0 + 60be: f000 81cb beq.w 6458 <_lv_disp_refr_task+0x4fc> + 60c2: 2348 movs r3, #72 ; 0x48 + 60c4: 9306 str r3, [sp, #24] + 60c6: f04f 0a00 mov.w sl, #0 if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]); - 60e2: f8df b17c ldr.w fp, [pc, #380] ; 6260 <_lv_disp_refr_task+0x2ec> - 60e6: 4627 mov r7, r4 - 60e8: e045 b.n 6176 <_lv_disp_refr_task+0x202> + 60ca: f8df b17c ldr.w fp, [pc, #380] ; 6248 <_lv_disp_refr_task+0x2ec> + 60ce: 4627 mov r7, r4 + 60d0: e045 b.n 615e <_lv_disp_refr_task+0x202> int32_t last_i = 0; - 60ea: 2300 movs r3, #0 - 60ec: 9307 str r3, [sp, #28] - 60ee: e7dd b.n 60ac <_lv_disp_refr_task+0x138> + 60d2: 2300 movs r3, #0 + 60d4: 9307 str r3, [sp, #28] + 60d6: e7dd b.n 6094 <_lv_disp_refr_task+0x138> if(i == last_i) disp_refr->driver.buffer->last_area = 1; - 60f0: 687a ldr r2, [r7, #4] - 60f2: f892 3020 ldrb.w r3, [r2, #32] - 60f6: f043 0301 orr.w r3, r3, #1 - 60fa: f882 3020 strb.w r3, [r2, #32] - 60fe: e043 b.n 6188 <_lv_disp_refr_task+0x214> + 60d8: 687a ldr r2, [r7, #4] + 60da: f892 3020 ldrb.w r3, [r2, #32] + 60de: f043 0301 orr.w r3, r3, #1 + 60e2: f882 3020 strb.w r3, [r2, #32] + 60e6: e043 b.n 6170 <_lv_disp_refr_task+0x214> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 6100: f8db 0000 ldr.w r0, [fp] - 6104: 4b59 ldr r3, [pc, #356] ; (626c <_lv_disp_refr_task+0x2f8>) - 6106: 4798 blx r3 - 6108: 4604 mov r4, r0 + 60e8: f8db 0000 ldr.w r0, [fp] + 60ec: 4b59 ldr r3, [pc, #356] ; (6254 <_lv_disp_refr_task+0x2f8>) + 60ee: 4798 blx r3 + 60f0: 4604 mov r4, r0 vdb->area.x1 = 0; - 610a: 2500 movs r5, #0 - 610c: 8205 strh r5, [r0, #16] + 60f2: 2500 movs r5, #0 + 60f4: 8205 strh r5, [r0, #16] vdb->area.x2 = lv_disp_get_hor_res(disp_refr) - 1; - 610e: f8db 0000 ldr.w r0, [fp] - 6112: 4b57 ldr r3, [pc, #348] ; (6270 <_lv_disp_refr_task+0x2fc>) - 6114: 4798 blx r3 - 6116: 3801 subs r0, #1 - 6118: 82a0 strh r0, [r4, #20] + 60f6: f8db 0000 ldr.w r0, [fp] + 60fa: 4b57 ldr r3, [pc, #348] ; (6258 <_lv_disp_refr_task+0x2fc>) + 60fc: 4798 blx r3 + 60fe: 3801 subs r0, #1 + 6100: 82a0 strh r0, [r4, #20] vdb->area.y1 = 0; - 611a: 8265 strh r5, [r4, #18] + 6102: 8265 strh r5, [r4, #18] vdb->area.y2 = lv_disp_get_ver_res(disp_refr) - 1; - 611c: f8db 0000 ldr.w r0, [fp] - 6120: 4b54 ldr r3, [pc, #336] ; (6274 <_lv_disp_refr_task+0x300>) - 6122: 4798 blx r3 - 6124: 3801 subs r0, #1 - 6126: 82e0 strh r0, [r4, #22] + 6104: f8db 0000 ldr.w r0, [fp] + 6108: 4b54 ldr r3, [pc, #336] ; (625c <_lv_disp_refr_task+0x300>) + 610a: 4798 blx r3 + 610c: 3801 subs r0, #1 + 610e: 82e0 strh r0, [r4, #22] disp_refr->driver.buffer->last_part = 1; - 6128: f8db 3000 ldr.w r3, [fp] - 612c: 685a ldr r2, [r3, #4] - 612e: f892 3020 ldrb.w r3, [r2, #32] - 6132: f043 0302 orr.w r3, r3, #2 - 6136: f882 3020 strb.w r3, [r2, #32] + 6110: f8db 3000 ldr.w r3, [fp] + 6114: 685a ldr r2, [r3, #4] + 6116: f892 3020 ldrb.w r3, [r2, #32] + 611a: f043 0302 orr.w r3, r3, #2 + 611e: f882 3020 strb.w r3, [r2, #32] lv_refr_area_part(area_p); - 613a: 9803 ldr r0, [sp, #12] - 613c: 4b4e ldr r3, [pc, #312] ; (6278 <_lv_disp_refr_task+0x304>) - 613e: 4798 blx r3 + 6122: 9803 ldr r0, [sp, #12] + 6124: 4b4e ldr r3, [pc, #312] ; (6260 <_lv_disp_refr_task+0x304>) + 6126: 4798 blx r3 if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]); - 6140: f8db 0000 ldr.w r0, [fp] - 6144: 6983 ldr r3, [r0, #24] - 6146: b143 cbz r3, 615a <_lv_disp_refr_task+0x1e6> - 6148: 9b06 ldr r3, [sp, #24] - 614a: 4418 add r0, r3 - 614c: 4b4b ldr r3, [pc, #300] ; (627c <_lv_disp_refr_task+0x308>) - 614e: 4798 blx r3 - 6150: f8db 3004 ldr.w r3, [fp, #4] - 6154: 4403 add r3, r0 - 6156: f8cb 3004 str.w r3, [fp, #4] + 6128: f8db 0000 ldr.w r0, [fp] + 612c: 6983 ldr r3, [r0, #24] + 612e: b143 cbz r3, 6142 <_lv_disp_refr_task+0x1e6> + 6130: 9b06 ldr r3, [sp, #24] + 6132: 4418 add r0, r3 + 6134: 4b4b ldr r3, [pc, #300] ; (6264 <_lv_disp_refr_task+0x308>) + 6136: 4798 blx r3 + 6138: f8db 3004 ldr.w r3, [fp, #4] + 613c: 4403 add r3, r0 + 613e: f8cb 3004 str.w r3, [fp, #4] for(i = 0; i < disp_refr->inv_p; i++) { - 615a: f10a 0a01 add.w sl, sl, #1 - 615e: f8db 7000 ldr.w r7, [fp] - 6162: 9b06 ldr r3, [sp, #24] - 6164: 3308 adds r3, #8 - 6166: 9306 str r3, [sp, #24] - 6168: f8b7 3168 ldrh.w r3, [r7, #360] ; 0x168 - 616c: f3c3 0309 ubfx r3, r3, #0, #10 - 6170: 459a cmp sl, r3 - 6172: f280 817d bge.w 6470 <_lv_disp_refr_task+0x4fc> + 6142: f10a 0a01 add.w sl, sl, #1 + 6146: f8db 7000 ldr.w r7, [fp] + 614a: 9b06 ldr r3, [sp, #24] + 614c: 3308 adds r3, #8 + 614e: 9306 str r3, [sp, #24] + 6150: f8b7 3168 ldrh.w r3, [r7, #360] ; 0x168 + 6154: f3c3 0309 ubfx r3, r3, #0, #10 + 6158: 459a cmp sl, r3 + 615a: f280 817d bge.w 6458 <_lv_disp_refr_task+0x4fc> if(disp_refr->inv_area_joined[i] == 0) { - 6176: eb07 030a add.w r3, r7, sl - 617a: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 - 617e: 2b00 cmp r3, #0 - 6180: d1eb bne.n 615a <_lv_disp_refr_task+0x1e6> + 615e: eb07 030a add.w r3, r7, sl + 6162: f893 3148 ldrb.w r3, [r3, #328] ; 0x148 + 6166: 2b00 cmp r3, #0 + 6168: d1eb bne.n 6142 <_lv_disp_refr_task+0x1e6> if(i == last_i) disp_refr->driver.buffer->last_area = 1; - 6182: 9b07 ldr r3, [sp, #28] - 6184: 4553 cmp r3, sl - 6186: d0b3 beq.n 60f0 <_lv_disp_refr_task+0x17c> + 616a: 9b07 ldr r3, [sp, #28] + 616c: 4553 cmp r3, sl + 616e: d0b3 beq.n 60d8 <_lv_disp_refr_task+0x17c> disp_refr->driver.buffer->last_part = 0; - 6188: 687a ldr r2, [r7, #4] - 618a: f892 3020 ldrb.w r3, [r2, #32] - 618e: f36f 0341 bfc r3, #1, #1 - 6192: f882 3020 strb.w r3, [r2, #32] + 6170: 687a ldr r2, [r7, #4] + 6172: f892 3020 ldrb.w r3, [r2, #32] + 6176: f36f 0341 bfc r3, #1, #1 + 617a: f882 3020 strb.w r3, [r2, #32] lv_refr_area(&disp_refr->inv_areas[i]); - 6196: 9b06 ldr r3, [sp, #24] - 6198: 18fb adds r3, r7, r3 - 619a: 9303 str r3, [sp, #12] + 617e: 9b06 ldr r3, [sp, #24] + 6180: 18fb adds r3, r7, r3 + 6182: 9303 str r3, [sp, #12] if(lv_disp_is_true_double_buf(disp_refr)) { - 619c: 4638 mov r0, r7 - 619e: 4b38 ldr r3, [pc, #224] ; (6280 <_lv_disp_refr_task+0x30c>) - 61a0: 4798 blx r3 - 61a2: 2800 cmp r0, #0 - 61a4: d1ac bne.n 6100 <_lv_disp_refr_task+0x18c> + 6184: 4638 mov r0, r7 + 6186: 4b38 ldr r3, [pc, #224] ; (6268 <_lv_disp_refr_task+0x30c>) + 6188: 4798 blx r3 + 618a: 2800 cmp r0, #0 + 618c: d1ac bne.n 60e8 <_lv_disp_refr_task+0x18c> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 61a6: f8db 0000 ldr.w r0, [fp] - 61aa: 4b30 ldr r3, [pc, #192] ; (626c <_lv_disp_refr_task+0x2f8>) - 61ac: 4798 blx r3 - 61ae: 4606 mov r6, r0 - 61b0: eb07 07ca add.w r7, r7, sl, lsl #3 + 618e: f8db 0000 ldr.w r0, [fp] + 6192: 4b30 ldr r3, [pc, #192] ; (6254 <_lv_disp_refr_task+0x2f8>) + 6194: 4798 blx r3 + 6196: 4606 mov r6, r0 + 6198: eb07 07ca add.w r7, r7, sl, lsl #3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 61b4: f8b7 404c ldrh.w r4, [r7, #76] ; 0x4c - 61b8: 3401 adds r4, #1 - 61ba: f8b7 3048 ldrh.w r3, [r7, #72] ; 0x48 - 61be: 1ae4 subs r4, r4, r3 - 61c0: b224 sxth r4, r4 + 619c: f8b7 404c ldrh.w r4, [r7, #76] ; 0x4c + 61a0: 3401 adds r4, #1 + 61a2: f8b7 3048 ldrh.w r3, [r7, #72] ; 0x48 + 61a6: 1ae4 subs r4, r4, r3 + 61a8: b224 sxth r4, r4 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 61c2: f9b7 504e ldrsh.w r5, [r7, #78] ; 0x4e - 61c6: f105 0801 add.w r8, r5, #1 - 61ca: f8b7 304a ldrh.w r3, [r7, #74] ; 0x4a - 61ce: eba8 0803 sub.w r8, r8, r3 - 61d2: fa0f f888 sxth.w r8, r8 + 61aa: f9b7 504e ldrsh.w r5, [r7, #78] ; 0x4e + 61ae: f105 0801 add.w r8, r5, #1 + 61b2: f8b7 304a ldrh.w r3, [r7, #74] ; 0x4a + 61b6: eba8 0803 sub.w r8, r8, r3 + 61ba: fa0f f888 sxth.w r8, r8 area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2; - 61d6: f8db 0000 ldr.w r0, [fp] - 61da: 4b26 ldr r3, [pc, #152] ; (6274 <_lv_disp_refr_task+0x300>) - 61dc: 4798 blx r3 + 61be: f8db 0000 ldr.w r0, [fp] + 61c2: 4b26 ldr r3, [pc, #152] ; (625c <_lv_disp_refr_task+0x300>) + 61c4: 4798 blx r3 lv_coord_t y2 = - 61de: 4285 cmp r5, r0 - 61e0: da34 bge.n 624c <_lv_disp_refr_task+0x2d8> - 61e2: f9b7 904e ldrsh.w r9, [r7, #78] ; 0x4e + 61c6: 4285 cmp r5, r0 + 61c8: da34 bge.n 6234 <_lv_disp_refr_task+0x2d8> + 61ca: f9b7 904e ldrsh.w r9, [r7, #78] ; 0x4e int32_t max_row = (uint32_t)vdb->size / w; - 61e6: 68f3 ldr r3, [r6, #12] - 61e8: fbb3 f3f4 udiv r3, r3, r4 - 61ec: 4598 cmp r8, r3 - 61ee: bfa8 it ge - 61f0: 4698 movge r8, r3 + 61ce: 68f3 ldr r3, [r6, #12] + 61d0: fbb3 f3f4 udiv r3, r3, r4 + 61d4: 4598 cmp r8, r3 + 61d6: bfa8 it ge + 61d8: 4698 movge r8, r3 if(disp_refr->driver.rounder_cb) { - 61f2: f8db 3000 ldr.w r3, [fp] - 61f6: 691b ldr r3, [r3, #16] - 61f8: 2b00 cmp r3, #0 - 61fa: d052 beq.n 62a2 <_lv_disp_refr_task+0x32e> + 61da: f8db 3000 ldr.w r3, [fp] + 61de: 691b ldr r3, [r3, #16] + 61e0: 2b00 cmp r3, #0 + 61e2: d052 beq.n 628a <_lv_disp_refr_task+0x32e> tmp.x1 = 0; - 61fc: 2300 movs r3, #0 - 61fe: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 + 61e4: 2300 movs r3, #0 + 61e6: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 tmp.x2 = 0; - 6202: f8ad 302c strh.w r3, [sp, #44] ; 0x2c + 61ea: f8ad 302c strh.w r3, [sp, #44] ; 0x2c tmp.y1 = 0; - 6206: f8ad 302a strh.w r3, [sp, #42] ; 0x2a + 61ee: f8ad 302a strh.w r3, [sp, #42] ; 0x2a lv_coord_t h_tmp = max_row; - 620a: fa0f f588 sxth.w r5, r8 - 620e: 1e6c subs r4, r5, #1 - 6210: b224 sxth r4, r4 + 61f2: fa0f f588 sxth.w r5, r8 + 61f6: 1e6c subs r4, r5, #1 + 61f8: b224 sxth r4, r4 tmp.y2 = h_tmp - 1; - 6212: f8ad 402e strh.w r4, [sp, #46] ; 0x2e + 61fa: f8ad 402e strh.w r4, [sp, #46] ; 0x2e disp_refr->driver.rounder_cb(&disp_refr->driver, &tmp); - 6216: f8db 0000 ldr.w r0, [fp] - 621a: 6903 ldr r3, [r0, #16] - 621c: a90a add r1, sp, #40 ; 0x28 - 621e: 4798 blx r3 - 6220: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e - 6224: 1c4b adds r3, r1, #1 - 6226: f8bd 202a ldrh.w r2, [sp, #42] ; 0x2a - 622a: 1a9b subs r3, r3, r2 + 61fe: f8db 0000 ldr.w r0, [fp] + 6202: 6903 ldr r3, [r0, #16] + 6204: a90a add r1, sp, #40 ; 0x28 + 6206: 4798 blx r3 + 6208: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e + 620c: 1c4b adds r3, r1, #1 + 620e: f8bd 202a ldrh.w r2, [sp, #42] ; 0x2a + 6212: 1a9b subs r3, r3, r2 if(lv_area_get_height(&tmp) <= max_row) break; - 622c: b21b sxth r3, r3 - 622e: 4598 cmp r8, r3 - 6230: da32 bge.n 6298 <_lv_disp_refr_task+0x324> + 6214: b21b sxth r3, r3 + 6216: 4598 cmp r8, r3 + 6218: da32 bge.n 6280 <_lv_disp_refr_task+0x324> h_tmp--; - 6232: 4625 mov r5, r4 + 621a: 4625 mov r5, r4 } while(h_tmp > 0); - 6234: 2c00 cmp r4, #0 - 6236: dcea bgt.n 620e <_lv_disp_refr_task+0x29a> + 621c: 2c00 cmp r4, #0 + 621e: dcea bgt.n 61f6 <_lv_disp_refr_task+0x29a> LV_LOG_WARN("Can't set VDB height using the round function. (Wrong round_cb or to " - 6238: 4b12 ldr r3, [pc, #72] ; (6284 <_lv_disp_refr_task+0x310>) - 623a: 9300 str r3, [sp, #0] - 623c: 4b12 ldr r3, [pc, #72] ; (6288 <_lv_disp_refr_task+0x314>) - 623e: f240 129f movw r2, #415 ; 0x19f - 6242: 4912 ldr r1, [pc, #72] ; (628c <_lv_disp_refr_task+0x318>) - 6244: 2002 movs r0, #2 - 6246: 4c12 ldr r4, [pc, #72] ; (6290 <_lv_disp_refr_task+0x31c>) - 6248: 47a0 blx r4 - 624a: e779 b.n 6140 <_lv_disp_refr_task+0x1cc> + 6220: 4b12 ldr r3, [pc, #72] ; (626c <_lv_disp_refr_task+0x310>) + 6222: 9300 str r3, [sp, #0] + 6224: 4b12 ldr r3, [pc, #72] ; (6270 <_lv_disp_refr_task+0x314>) + 6226: f240 129f movw r2, #415 ; 0x19f + 622a: 4912 ldr r1, [pc, #72] ; (6274 <_lv_disp_refr_task+0x318>) + 622c: 2002 movs r0, #2 + 622e: 4c12 ldr r4, [pc, #72] ; (6278 <_lv_disp_refr_task+0x31c>) + 6230: 47a0 blx r4 + 6232: e779 b.n 6128 <_lv_disp_refr_task+0x1cc> area_p->y2 >= lv_disp_get_ver_res(disp_refr) ? lv_disp_get_ver_res(disp_refr) - 1 : area_p->y2; - 624c: f8db 0000 ldr.w r0, [fp] - 6250: 4b08 ldr r3, [pc, #32] ; (6274 <_lv_disp_refr_task+0x300>) - 6252: 4798 blx r3 - 6254: 3801 subs r0, #1 + 6234: f8db 0000 ldr.w r0, [fp] + 6238: 4b08 ldr r3, [pc, #32] ; (625c <_lv_disp_refr_task+0x300>) + 623a: 4798 blx r3 + 623c: 3801 subs r0, #1 lv_coord_t y2 = - 6256: fa0f f980 sxth.w r9, r0 - 625a: e7c4 b.n 61e6 <_lv_disp_refr_task+0x272> - 625c: 00011059 .word 0x00011059 - 6260: 20002688 .word 0x20002688 - 6264: 00013959 .word 0x00013959 - 6268: 0001156f .word 0x0001156f - 626c: 00010fdd .word 0x00010fdd - 6270: 00010eed .word 0x00010eed - 6274: 00010f15 .word 0x00010f15 - 6278: 00005db9 .word 0x00005db9 - 627c: 000114fd .word 0x000114fd - 6280: 00010ff5 .word 0x00010ff5 - 6284: 00024a2c .word 0x00024a2c - 6288: 000249f0 .word 0x000249f0 - 628c: 00024a00 .word 0x00024a00 - 6290: 0001225d .word 0x0001225d - 6294: 00011729 .word 0x00011729 + 623e: fa0f f980 sxth.w r9, r0 + 6242: e7c4 b.n 61ce <_lv_disp_refr_task+0x272> + 6244: 00011041 .word 0x00011041 + 6248: 20002688 .word 0x20002688 + 624c: 00013941 .word 0x00013941 + 6250: 00011557 .word 0x00011557 + 6254: 00010fc5 .word 0x00010fc5 + 6258: 00010ed5 .word 0x00010ed5 + 625c: 00010efd .word 0x00010efd + 6260: 00005da1 .word 0x00005da1 + 6264: 000114e5 .word 0x000114e5 + 6268: 00010fdd .word 0x00010fdd + 626c: 00024a14 .word 0x00024a14 + 6270: 000249d8 .word 0x000249d8 + 6274: 000249e8 .word 0x000249e8 + 6278: 00012245 .word 0x00012245 + 627c: 00011711 .word 0x00011711 if(h_tmp <= 0) { - 6298: 2d00 cmp r5, #0 + 6280: 2d00 cmp r5, #0 max_row = tmp.y2 + 1; - 629a: bfc8 it gt - 629c: f101 0801 addgt.w r8, r1, #1 + 6282: bfc8 it gt + 6284: f101 0801 addgt.w r8, r1, #1 if(h_tmp <= 0) { - 62a0: ddca ble.n 6238 <_lv_disp_refr_task+0x2c4> + 6288: ddca ble.n 6220 <_lv_disp_refr_task+0x2c4> for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { - 62a2: f9b7 404a ldrsh.w r4, [r7, #74] ; 0x4a - 62a6: f8cd 9010 str.w r9, [sp, #16] - 62aa: eb04 0308 add.w r3, r4, r8 - 62ae: 3b01 subs r3, #1 - 62b0: 454b cmp r3, r9 - 62b2: dc4b bgt.n 634c <_lv_disp_refr_task+0x3d8> + 628a: f9b7 404a ldrsh.w r4, [r7, #74] ; 0x4a + 628e: f8cd 9010 str.w r9, [sp, #16] + 6292: eb04 0308 add.w r3, r4, r8 + 6296: 3b01 subs r3, #1 + 6298: 454b cmp r3, r9 + 629a: dc4b bgt.n 6334 <_lv_disp_refr_task+0x3d8> vdb->area.y2 = row + max_row - 1; - 62b4: fa1f f388 uxth.w r3, r8 - 62b8: 9305 str r3, [sp, #20] - 62ba: 3b01 subs r3, #1 - 62bc: f8cd a020 str.w sl, [sp, #32] - 62c0: 469a mov sl, r3 - 62c2: e00d b.n 62e0 <_lv_disp_refr_task+0x36c> + 629c: fa1f f388 uxth.w r3, r8 + 62a0: 9305 str r3, [sp, #20] + 62a2: 3b01 subs r3, #1 + 62a4: f8cd a020 str.w sl, [sp, #32] + 62a8: 469a mov sl, r3 + 62aa: e00d b.n 62c8 <_lv_disp_refr_task+0x36c> if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 62c4: 45a9 cmp r9, r5 - 62c6: d01c beq.n 6302 <_lv_disp_refr_task+0x38e> + 62ac: 45a9 cmp r9, r5 + 62ae: d01c beq.n 62ea <_lv_disp_refr_task+0x38e> lv_refr_area_part(area_p); - 62c8: 9803 ldr r0, [sp, #12] - 62ca: 4b78 ldr r3, [pc, #480] ; (64ac <_lv_disp_refr_task+0x538>) - 62cc: 4798 blx r3 - 62ce: 9b05 ldr r3, [sp, #20] - 62d0: 441c add r4, r3 - 62d2: b224 sxth r4, r4 + 62b0: 9803 ldr r0, [sp, #12] + 62b2: 4b78 ldr r3, [pc, #480] ; (6494 <_lv_disp_refr_task+0x538>) + 62b4: 4798 blx r3 + 62b6: 9b05 ldr r3, [sp, #20] + 62b8: 441c add r4, r3 + 62ba: b224 sxth r4, r4 for(row = area_p->y1; row + max_row - 1 <= y2; row += max_row) { - 62d4: eb04 0308 add.w r3, r4, r8 - 62d8: 3b01 subs r3, #1 - 62da: 9a04 ldr r2, [sp, #16] - 62dc: 4293 cmp r3, r2 - 62de: dc1a bgt.n 6316 <_lv_disp_refr_task+0x3a2> + 62bc: eb04 0308 add.w r3, r4, r8 + 62c0: 3b01 subs r3, #1 + 62c2: 9a04 ldr r2, [sp, #16] + 62c4: 4293 cmp r3, r2 + 62c6: dc1a bgt.n 62fe <_lv_disp_refr_task+0x3a2> vdb->area.x1 = area_p->x1; - 62e0: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 - 62e4: 8233 strh r3, [r6, #16] + 62c8: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 + 62cc: 8233 strh r3, [r6, #16] vdb->area.x2 = area_p->x2; - 62e6: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c - 62ea: 82b3 strh r3, [r6, #20] + 62ce: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c + 62d2: 82b3 strh r3, [r6, #20] vdb->area.y1 = row; - 62ec: 8274 strh r4, [r6, #18] - 62ee: b2a4 uxth r4, r4 - 62f0: eb04 050a add.w r5, r4, sl - 62f4: b22d sxth r5, r5 + 62d4: 8274 strh r4, [r6, #18] + 62d6: b2a4 uxth r4, r4 + 62d8: eb04 050a add.w r5, r4, sl + 62dc: b22d sxth r5, r5 vdb->area.y2 = row + max_row - 1; - 62f6: 82f5 strh r5, [r6, #22] + 62de: 82f5 strh r5, [r6, #22] if(vdb->area.y2 > y2) vdb->area.y2 = y2; - 62f8: 45a9 cmp r9, r5 - 62fa: dae3 bge.n 62c4 <_lv_disp_refr_task+0x350> - 62fc: f8a6 9016 strh.w r9, [r6, #22] + 62e0: 45a9 cmp r9, r5 + 62e2: dae3 bge.n 62ac <_lv_disp_refr_task+0x350> + 62e4: f8a6 9016 strh.w r9, [r6, #22] row_last = vdb->area.y2; - 6300: 464d mov r5, r9 + 62e8: 464d mov r5, r9 if(y2 == row_last) disp_refr->driver.buffer->last_part = 1; - 6302: f8db 3000 ldr.w r3, [fp] - 6306: 685a ldr r2, [r3, #4] - 6308: f892 3020 ldrb.w r3, [r2, #32] - 630c: f043 0302 orr.w r3, r3, #2 - 6310: f882 3020 strb.w r3, [r2, #32] - 6314: e7d8 b.n 62c8 <_lv_disp_refr_task+0x354> - 6316: f8dd a020 ldr.w sl, [sp, #32] + 62ea: f8db 3000 ldr.w r3, [fp] + 62ee: 685a ldr r2, [r3, #4] + 62f0: f892 3020 ldrb.w r3, [r2, #32] + 62f4: f043 0302 orr.w r3, r3, #2 + 62f8: f882 3020 strb.w r3, [r2, #32] + 62fc: e7d8 b.n 62b0 <_lv_disp_refr_task+0x354> + 62fe: f8dd a020 ldr.w sl, [sp, #32] if(y2 != row_last) { - 631a: 45a9 cmp r9, r5 - 631c: f43f af10 beq.w 6140 <_lv_disp_refr_task+0x1cc> + 6302: 45a9 cmp r9, r5 + 6304: f43f af10 beq.w 6128 <_lv_disp_refr_task+0x1cc> vdb->area.x1 = area_p->x1; - 6320: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 - 6324: 8233 strh r3, [r6, #16] + 6308: f9b7 3048 ldrsh.w r3, [r7, #72] ; 0x48 + 630c: 8233 strh r3, [r6, #16] vdb->area.x2 = area_p->x2; - 6326: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c - 632a: 82b3 strh r3, [r6, #20] + 630e: f9b7 304c ldrsh.w r3, [r7, #76] ; 0x4c + 6312: 82b3 strh r3, [r6, #20] vdb->area.y1 = row; - 632c: 8274 strh r4, [r6, #18] + 6314: 8274 strh r4, [r6, #18] vdb->area.y2 = y2; - 632e: f8a6 9016 strh.w r9, [r6, #22] + 6316: f8a6 9016 strh.w r9, [r6, #22] disp_refr->driver.buffer->last_part = 1; - 6332: f8db 3000 ldr.w r3, [fp] - 6336: 685a ldr r2, [r3, #4] - 6338: f892 3020 ldrb.w r3, [r2, #32] - 633c: f043 0302 orr.w r3, r3, #2 - 6340: f882 3020 strb.w r3, [r2, #32] + 631a: f8db 3000 ldr.w r3, [fp] + 631e: 685a ldr r2, [r3, #4] + 6320: f892 3020 ldrb.w r3, [r2, #32] + 6324: f043 0302 orr.w r3, r3, #2 + 6328: f882 3020 strb.w r3, [r2, #32] lv_refr_area_part(area_p); - 6344: 9803 ldr r0, [sp, #12] - 6346: 4b59 ldr r3, [pc, #356] ; (64ac <_lv_disp_refr_task+0x538>) - 6348: 4798 blx r3 - 634a: e6f9 b.n 6140 <_lv_disp_refr_task+0x1cc> + 632c: 9803 ldr r0, [sp, #12] + 632e: 4b59 ldr r3, [pc, #356] ; (6494 <_lv_disp_refr_task+0x538>) + 6330: 4798 blx r3 + 6332: e6f9 b.n 6128 <_lv_disp_refr_task+0x1cc> lv_coord_t row_last = 0; - 634c: 2500 movs r5, #0 - 634e: e7e4 b.n 631a <_lv_disp_refr_task+0x3a6> + 6334: 2500 movs r5, #0 + 6336: e7e4 b.n 6302 <_lv_disp_refr_task+0x3a6> if(lv_disp_is_true_double_buf(disp_refr) && disp_refr->driver.set_px_cb == NULL) { - 6350: 4b57 ldr r3, [pc, #348] ; (64b0 <_lv_disp_refr_task+0x53c>) - 6352: 4798 blx r3 - 6354: b118 cbz r0, 635e <_lv_disp_refr_task+0x3ea> - 6356: 4b57 ldr r3, [pc, #348] ; (64b4 <_lv_disp_refr_task+0x540>) - 6358: 6818 ldr r0, [r3, #0] - 635a: 6943 ldr r3, [r0, #20] - 635c: b1eb cbz r3, 639a <_lv_disp_refr_task+0x426> + 6338: 4b57 ldr r3, [pc, #348] ; (6498 <_lv_disp_refr_task+0x53c>) + 633a: 4798 blx r3 + 633c: b118 cbz r0, 6346 <_lv_disp_refr_task+0x3ea> + 633e: 4b57 ldr r3, [pc, #348] ; (649c <_lv_disp_refr_task+0x540>) + 6340: 6818 ldr r0, [r3, #0] + 6342: 6943 ldr r3, [r0, #20] + 6344: b1eb cbz r3, 6382 <_lv_disp_refr_task+0x426> _lv_memset_00(disp_refr->inv_areas, sizeof(disp_refr->inv_areas)); - 635e: 4c55 ldr r4, [pc, #340] ; (64b4 <_lv_disp_refr_task+0x540>) - 6360: 6820 ldr r0, [r4, #0] - 6362: f44f 7180 mov.w r1, #256 ; 0x100 - 6366: 3048 adds r0, #72 ; 0x48 - 6368: 4d53 ldr r5, [pc, #332] ; (64b8 <_lv_disp_refr_task+0x544>) - 636a: 47a8 blx r5 + 6346: 4c55 ldr r4, [pc, #340] ; (649c <_lv_disp_refr_task+0x540>) + 6348: 6820 ldr r0, [r4, #0] + 634a: f44f 7180 mov.w r1, #256 ; 0x100 + 634e: 3048 adds r0, #72 ; 0x48 + 6350: 4d53 ldr r5, [pc, #332] ; (64a0 <_lv_disp_refr_task+0x544>) + 6352: 47a8 blx r5 _lv_memset_00(disp_refr->inv_area_joined, sizeof(disp_refr->inv_area_joined)); - 636c: 6820 ldr r0, [r4, #0] - 636e: 2120 movs r1, #32 - 6370: f500 70a4 add.w r0, r0, #328 ; 0x148 - 6374: 47a8 blx r5 + 6354: 6820 ldr r0, [r4, #0] + 6356: 2120 movs r1, #32 + 6358: f500 70a4 add.w r0, r0, #328 ; 0x148 + 635c: 47a8 blx r5 disp_refr->inv_p = 0; - 6376: 6823 ldr r3, [r4, #0] - 6378: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 - 637c: f36f 0209 bfc r2, #0, #10 - 6380: f8a3 2168 strh.w r2, [r3, #360] ; 0x168 + 635e: 6823 ldr r3, [r4, #0] + 6360: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 + 6364: f36f 0209 bfc r2, #0, #10 + 6368: f8a3 2168 strh.w r2, [r3, #360] ; 0x168 elaps = lv_tick_elaps(start); - 6384: 9809 ldr r0, [sp, #36] ; 0x24 - 6386: 4b4d ldr r3, [pc, #308] ; (64bc <_lv_disp_refr_task+0x548>) - 6388: 4798 blx r3 - 638a: 4601 mov r1, r0 + 636c: 9809 ldr r0, [sp, #36] ; 0x24 + 636e: 4b4d ldr r3, [pc, #308] ; (64a4 <_lv_disp_refr_task+0x548>) + 6370: 4798 blx r3 + 6372: 4601 mov r1, r0 if(disp_refr->driver.monitor_cb) { - 638c: 6820 ldr r0, [r4, #0] - 638e: 6983 ldr r3, [r0, #24] - 6390: 2b00 cmp r3, #0 - 6392: d076 beq.n 6482 <_lv_disp_refr_task+0x50e> + 6374: 6820 ldr r0, [r4, #0] + 6376: 6983 ldr r3, [r0, #24] + 6378: 2b00 cmp r3, #0 + 637a: d076 beq.n 646a <_lv_disp_refr_task+0x50e> disp_refr->driver.monitor_cb(&disp_refr->driver, elaps, px_num); - 6394: 6862 ldr r2, [r4, #4] - 6396: 4798 blx r3 - 6398: e073 b.n 6482 <_lv_disp_refr_task+0x50e> + 637c: 6862 ldr r2, [r4, #4] + 637e: 4798 blx r3 + 6380: e073 b.n 646a <_lv_disp_refr_task+0x50e> lv_disp_buf_t * vdb = lv_disp_get_buf(disp_refr); - 639a: 4b49 ldr r3, [pc, #292] ; (64c0 <_lv_disp_refr_task+0x54c>) - 639c: 4798 blx r3 - 639e: 4604 mov r4, r0 + 6382: 4b49 ldr r3, [pc, #292] ; (64a8 <_lv_disp_refr_task+0x54c>) + 6384: 4798 blx r3 + 6386: 4604 mov r4, r0 lv_refr_vdb_flush(); - 63a0: 4b48 ldr r3, [pc, #288] ; (64c4 <_lv_disp_refr_task+0x550>) - 63a2: 4798 blx r3 + 6388: 4b48 ldr r3, [pc, #288] ; (64ac <_lv_disp_refr_task+0x550>) + 638a: 4798 blx r3 while(vdb->flushing) - 63a4: 69a3 ldr r3, [r4, #24] - 63a6: 2b00 cmp r3, #0 - 63a8: d1fc bne.n 63a4 <_lv_disp_refr_task+0x430> + 638c: 69a3 ldr r3, [r4, #24] + 638e: 2b00 cmp r3, #0 + 6390: d1fc bne.n 638c <_lv_disp_refr_task+0x430> uint8_t * buf_act = (uint8_t *)vdb->buf_act; - 63aa: 68a3 ldr r3, [r4, #8] - 63ac: 9303 str r3, [sp, #12] + 6392: 68a3 ldr r3, [r4, #8] + 6394: 9303 str r3, [sp, #12] uint8_t * buf_ina = (uint8_t *)vdb->buf_act == vdb->buf1 ? vdb->buf2 : vdb->buf1; - 63ae: f8d4 a000 ldr.w sl, [r4] - 63b2: 4553 cmp r3, sl - 63b4: bf08 it eq - 63b6: f8d4 a004 ldreq.w sl, [r4, #4] + 6396: f8d4 a000 ldr.w sl, [r4] + 639a: 4553 cmp r3, sl + 639c: bf08 it eq + 639e: f8d4 a004 ldreq.w sl, [r4, #4] lv_coord_t hres = lv_disp_get_hor_res(disp_refr); - 63ba: 4c3e ldr r4, [pc, #248] ; (64b4 <_lv_disp_refr_task+0x540>) - 63bc: 6820 ldr r0, [r4, #0] - 63be: 4b42 ldr r3, [pc, #264] ; (64c8 <_lv_disp_refr_task+0x554>) - 63c0: 4798 blx r3 - 63c2: 9004 str r0, [sp, #16] + 63a2: 4c3e ldr r4, [pc, #248] ; (649c <_lv_disp_refr_task+0x540>) + 63a4: 6820 ldr r0, [r4, #0] + 63a6: 4b42 ldr r3, [pc, #264] ; (64b0 <_lv_disp_refr_task+0x554>) + 63a8: 4798 blx r3 + 63aa: 9004 str r0, [sp, #16] for(a = 0; a < disp_refr->inv_p; a++) { - 63c4: 6823 ldr r3, [r4, #0] - 63c6: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 - 63ca: f3c2 0209 ubfx r2, r2, #0, #10 - 63ce: 2a00 cmp r2, #0 - 63d0: d0c5 beq.n 635e <_lv_disp_refr_task+0x3ea> + 63ac: 6823 ldr r3, [r4, #0] + 63ae: f8b3 2168 ldrh.w r2, [r3, #360] ; 0x168 + 63b2: f3c2 0209 ubfx r2, r2, #0, #10 + 63b6: 2a00 cmp r2, #0 + 63b8: d0c5 beq.n 6346 <_lv_disp_refr_task+0x3ea> start_offs += hres * sizeof(lv_color_t); - 63d2: 0045 lsls r5, r0, #1 - 63d4: 2200 movs r2, #0 - 63d6: 4690 mov r8, r2 + 63ba: 0045 lsls r5, r0, #1 + 63bc: 2200 movs r2, #0 + 63be: 4690 mov r8, r2 for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 63d8: 46a1 mov r9, r4 - 63da: e00c b.n 63f6 <_lv_disp_refr_task+0x482> + 63c0: 46a1 mov r9, r4 + 63c2: e00c b.n 63de <_lv_disp_refr_task+0x482> for(a = 0; a < disp_refr->inv_p; a++) { - 63dc: f108 0801 add.w r8, r8, #1 - 63e0: fa1f f888 uxth.w r8, r8 - 63e4: 4642 mov r2, r8 - 63e6: f8d9 3000 ldr.w r3, [r9] - 63ea: f8b3 1168 ldrh.w r1, [r3, #360] ; 0x168 - 63ee: f3c1 0109 ubfx r1, r1, #0, #10 - 63f2: 4588 cmp r8, r1 - 63f4: dab3 bge.n 635e <_lv_disp_refr_task+0x3ea> + 63c4: f108 0801 add.w r8, r8, #1 + 63c8: fa1f f888 uxth.w r8, r8 + 63cc: 4642 mov r2, r8 + 63ce: f8d9 3000 ldr.w r3, [r9] + 63d2: f8b3 1168 ldrh.w r1, [r3, #360] ; 0x168 + 63d6: f3c1 0109 ubfx r1, r1, #0, #10 + 63da: 4588 cmp r8, r1 + 63dc: dab3 bge.n 6346 <_lv_disp_refr_task+0x3ea> if(disp_refr->inv_area_joined[a] == 0) { - 63f6: 1899 adds r1, r3, r2 - 63f8: f891 1148 ldrb.w r1, [r1, #328] ; 0x148 - 63fc: 2900 cmp r1, #0 - 63fe: d1ed bne.n 63dc <_lv_disp_refr_task+0x468> - 6400: eb03 03c2 add.w r3, r3, r2, lsl #3 + 63de: 1899 adds r1, r3, r2 + 63e0: f891 1148 ldrb.w r1, [r1, #328] ; 0x148 + 63e4: 2900 cmp r1, #0 + 63e6: d1ed bne.n 63c4 <_lv_disp_refr_task+0x468> + 63e8: eb03 03c2 add.w r3, r3, r2, lsl #3 (hres * disp_refr->inv_areas[a].y1 + disp_refr->inv_areas[a].x1) * sizeof(lv_color_t); - 6404: f9b3 704a ldrsh.w r7, [r3, #74] ; 0x4a - 6408: f9b3 1048 ldrsh.w r1, [r3, #72] ; 0x48 - 640c: 9804 ldr r0, [sp, #16] - 640e: fb07 1600 mla r6, r7, r0, r1 + 63ec: f9b3 704a ldrsh.w r7, [r3, #74] ; 0x4a + 63f0: f9b3 1048 ldrsh.w r1, [r3, #72] ; 0x48 + 63f4: 9804 ldr r0, [sp, #16] + 63f6: fb07 1600 mla r6, r7, r0, r1 uint32_t start_offs = - 6412: 0076 lsls r6, r6, #1 + 63fa: 0076 lsls r6, r6, #1 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 6414: f8b3 304c ldrh.w r3, [r3, #76] ; 0x4c - 6418: 3301 adds r3, #1 - 641a: 1a5b subs r3, r3, r1 + 63fc: f8b3 304c ldrh.w r3, [r3, #76] ; 0x4c + 6400: 3301 adds r3, #1 + 6402: 1a5b subs r3, r3, r1 uint32_t line_length = lv_area_get_width(&disp_refr->inv_areas[a]) * sizeof(lv_color_t); - 641c: b21b sxth r3, r3 - 641e: 005b lsls r3, r3, #1 - 6420: 9305 str r3, [sp, #20] + 6404: b21b sxth r3, r3 + 6406: 005b lsls r3, r3, #1 + 6408: 9305 str r3, [sp, #20] for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 6422: f8d9 3000 ldr.w r3, [r9] - 6426: eb03 03c2 add.w r3, r3, r2, lsl #3 - 642a: f9b3 304e ldrsh.w r3, [r3, #78] ; 0x4e - 642e: 42bb cmp r3, r7 - 6430: dbd4 blt.n 63dc <_lv_disp_refr_task+0x468> - 6432: 9b03 ldr r3, [sp, #12] - 6434: eb03 0b06 add.w fp, r3, r6 - 6438: 4456 add r6, sl - 643a: 3209 adds r2, #9 - 643c: 00d4 lsls r4, r2, #3 + 640a: f8d9 3000 ldr.w r3, [r9] + 640e: eb03 03c2 add.w r3, r3, r2, lsl #3 + 6412: f9b3 304e ldrsh.w r3, [r3, #78] ; 0x4e + 6416: 42bb cmp r3, r7 + 6418: dbd4 blt.n 63c4 <_lv_disp_refr_task+0x468> + 641a: 9b03 ldr r3, [sp, #12] + 641c: eb03 0b06 add.w fp, r3, r6 + 6420: 4456 add r6, sl + 6422: 3209 adds r2, #9 + 6424: 00d4 lsls r4, r2, #3 _lv_memcpy(buf_act + start_offs, buf_ina + start_offs, line_length); - 643e: 9a05 ldr r2, [sp, #20] - 6440: 4631 mov r1, r6 - 6442: 4658 mov r0, fp - 6444: 4b21 ldr r3, [pc, #132] ; (64cc <_lv_disp_refr_task+0x558>) - 6446: 4798 blx r3 - 6448: 3701 adds r7, #1 - 644a: b23f sxth r7, r7 - 644c: 44ab add fp, r5 - 644e: 442e add r6, r5 + 6426: 9a05 ldr r2, [sp, #20] + 6428: 4631 mov r1, r6 + 642a: 4658 mov r0, fp + 642c: 4b21 ldr r3, [pc, #132] ; (64b4 <_lv_disp_refr_task+0x558>) + 642e: 4798 blx r3 + 6430: 3701 adds r7, #1 + 6432: b23f sxth r7, r7 + 6434: 44ab add fp, r5 + 6436: 442e add r6, r5 for(y = disp_refr->inv_areas[a].y1; y <= disp_refr->inv_areas[a].y2; y++) { - 6450: f8d9 3000 ldr.w r3, [r9] - 6454: 4423 add r3, r4 - 6456: f9b3 3006 ldrsh.w r3, [r3, #6] - 645a: 42bb cmp r3, r7 - 645c: daef bge.n 643e <_lv_disp_refr_task+0x4ca> - 645e: e7bd b.n 63dc <_lv_disp_refr_task+0x468> + 6438: f8d9 3000 ldr.w r3, [r9] + 643c: 4423 add r3, r4 + 643e: f9b3 3006 ldrsh.w r3, [r3, #6] + 6442: 42bb cmp r3, r7 + 6444: daef bge.n 6426 <_lv_disp_refr_task+0x4ca> + 6446: e7bd b.n 63c4 <_lv_disp_refr_task+0x468> px_num = 0; - 6460: 2200 movs r2, #0 - 6462: 4b14 ldr r3, [pc, #80] ; (64b4 <_lv_disp_refr_task+0x540>) - 6464: 605a str r2, [r3, #4] + 6448: 2200 movs r2, #0 + 644a: 4b14 ldr r3, [pc, #80] ; (649c <_lv_disp_refr_task+0x540>) + 644c: 605a str r2, [r3, #4] if(disp_refr->inv_p == 0) return; - 6466: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 646a: f3c3 0309 ubfx r3, r3, #0, #10 - 646e: b97b cbnz r3, 6490 <_lv_disp_refr_task+0x51c> + 644e: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 6452: f3c3 0309 ubfx r3, r3, #0, #10 + 6456: b97b cbnz r3, 6478 <_lv_disp_refr_task+0x51c> if(disp_refr->inv_p != 0) { - 6470: 4b10 ldr r3, [pc, #64] ; (64b4 <_lv_disp_refr_task+0x540>) - 6472: 6818 ldr r0, [r3, #0] - 6474: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 6478: f3c3 0309 ubfx r3, r3, #0, #10 - 647c: 2b00 cmp r3, #0 - 647e: f47f af67 bne.w 6350 <_lv_disp_refr_task+0x3dc> + 6458: 4b10 ldr r3, [pc, #64] ; (649c <_lv_disp_refr_task+0x540>) + 645a: 6818 ldr r0, [r3, #0] + 645c: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 6460: f3c3 0309 ubfx r3, r3, #0, #10 + 6464: 2b00 cmp r3, #0 + 6466: f47f af67 bne.w 6338 <_lv_disp_refr_task+0x3dc> _lv_mem_buf_free_all(); - 6482: 4b13 ldr r3, [pc, #76] ; (64d0 <_lv_disp_refr_task+0x55c>) - 6484: 4798 blx r3 + 646a: 4b13 ldr r3, [pc, #76] ; (64b8 <_lv_disp_refr_task+0x55c>) + 646c: 4798 blx r3 _lv_font_clean_up_fmt_txt(); - 6486: 4b13 ldr r3, [pc, #76] ; (64d4 <_lv_disp_refr_task+0x560>) - 6488: 4798 blx r3 + 646e: 4b13 ldr r3, [pc, #76] ; (64bc <_lv_disp_refr_task+0x560>) + 6470: 4798 blx r3 } - 648a: b00d add sp, #52 ; 0x34 - 648c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 6472: b00d add sp, #52 ; 0x34 + 6474: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} int32_t last_i = 0; - 6490: 9207 str r2, [sp, #28] - 6492: e60b b.n 60ac <_lv_disp_refr_task+0x138> + 6478: 9207 str r2, [sp, #28] + 647a: e60b b.n 6094 <_lv_disp_refr_task+0x138> px_num = 0; - 6494: 2200 movs r2, #0 - 6496: 4b07 ldr r3, [pc, #28] ; (64b4 <_lv_disp_refr_task+0x540>) - 6498: 605a str r2, [r3, #4] + 647c: 2200 movs r2, #0 + 647e: 4b07 ldr r3, [pc, #28] ; (649c <_lv_disp_refr_task+0x540>) + 6480: 605a str r2, [r3, #4] if(disp_refr->inv_p == 0) return; - 649a: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 - 649e: f3c3 0309 ubfx r3, r3, #0, #10 - 64a2: 2b00 cmp r3, #0 - 64a4: d0ed beq.n 6482 <_lv_disp_refr_task+0x50e> + 6482: f8b0 3168 ldrh.w r3, [r0, #360] ; 0x168 + 6486: f3c3 0309 ubfx r3, r3, #0, #10 + 648a: 2b00 cmp r3, #0 + 648c: d0ed beq.n 646a <_lv_disp_refr_task+0x50e> int32_t last_i = 0; - 64a6: 9207 str r2, [sp, #28] - 64a8: e600 b.n 60ac <_lv_disp_refr_task+0x138> - 64aa: bf00 nop - 64ac: 00005db9 .word 0x00005db9 - 64b0: 00010ff5 .word 0x00010ff5 - 64b4: 20002688 .word 0x20002688 - 64b8: 00012b37 .word 0x00012b37 - 64bc: 00011071 .word 0x00011071 - 64c0: 00010fdd .word 0x00010fdd - 64c4: 00005d41 .word 0x00005d41 - 64c8: 00010eed .word 0x00010eed - 64cc: 00012655 .word 0x00012655 - 64d0: 000125f9 .word 0x000125f9 - 64d4: 00010cf5 .word 0x00010cf5 - -000064d8 : + 648e: 9207 str r2, [sp, #28] + 6490: e600 b.n 6094 <_lv_disp_refr_task+0x138> + 6492: bf00 nop + 6494: 00005da1 .word 0x00005da1 + 6498: 00010fdd .word 0x00010fdd + 649c: 20002688 .word 0x20002688 + 64a0: 00012b1f .word 0x00012b1f + 64a4: 00011059 .word 0x00011059 + 64a8: 00010fc5 .word 0x00010fc5 + 64ac: 00005d29 .word 0x00005d29 + 64b0: 00010ed5 .word 0x00010ed5 + 64b4: 0001263d .word 0x0001263d + 64b8: 000125e1 .word 0x000125e1 + 64bc: 00010cdd .word 0x00010cdd + +000064c0 : /** * Initialize a style * @param style pointer to a style to initialize */ void lv_style_init(lv_style_t * style) { - 64d8: b508 push {r3, lr} + 64c0: b508 push {r3, lr} _lv_memset_00(style, sizeof(lv_style_t)); - 64da: 2104 movs r1, #4 - 64dc: 4b01 ldr r3, [pc, #4] ; (64e4 ) - 64de: 4798 blx r3 - 64e0: bd08 pop {r3, pc} - 64e2: bf00 nop - 64e4: 00012b37 .word 0x00012b37 - -000064e8 : + 64c2: 2104 movs r1, #4 + 64c4: 4b01 ldr r3, [pc, #4] ; (64cc ) + 64c6: 4798 blx r3 + 64c8: bd08 pop {r3, pc} + 64ca: bf00 nop + 64cc: 00012b1f .word 0x00012b1f + +000064d0 : /** * Initialize a style list * @param list a style list to initialize */ void lv_style_list_init(lv_style_list_t * list) { - 64e8: b508 push {r3, lr} + 64d0: b508 push {r3, lr} _lv_memset_00(list, sizeof(lv_style_list_t)); - 64ea: 2108 movs r1, #8 - 64ec: 4b01 ldr r3, [pc, #4] ; (64f4 ) - 64ee: 4798 blx r3 - 64f0: bd08 pop {r3, pc} - 64f2: bf00 nop - 64f4: 00012b37 .word 0x00012b37 - -000064f8 <_lv_style_list_remove_style>: + 64d2: 2108 movs r1, #8 + 64d4: 4b01 ldr r3, [pc, #4] ; (64dc ) + 64d6: 4798 blx r3 + 64d8: bd08 pop {r3, pc} + 64da: bf00 nop + 64dc: 00012b1f .word 0x00012b1f + +000064e0 <_lv_style_list_remove_style>: * Remove a style from a style list * @param style_list pointer to a style list * @param style pointer to a style to remove */ void _lv_style_list_remove_style(lv_style_list_t * list, lv_style_t * style) { - 64f8: b570 push {r4, r5, r6, lr} - 64fa: b082 sub sp, #8 + 64e0: b570 push {r4, r5, r6, lr} + 64e2: b082 sub sp, #8 LV_ASSERT_STYLE_LIST(list); LV_ASSERT_STYLE(style); if(list->style_cnt == 0) return; - 64fc: 7906 ldrb r6, [r0, #4] - 64fe: 2e00 cmp r6, #0 - 6500: d055 beq.n 65ae <_lv_style_list_remove_style+0xb6> - 6502: 4604 mov r4, r0 + 64e4: 7906 ldrb r6, [r0, #4] + 64e6: 2e00 cmp r6, #0 + 64e8: d055 beq.n 6596 <_lv_style_list_remove_style+0xb6> + 64ea: 4604 mov r4, r0 /*Check if the style really exists here*/ uint8_t i; bool found = false; for(i = 0; i < list->style_cnt; i++) { if(list->style_list[i] == style) { - 6504: 6800 ldr r0, [r0, #0] - 6506: 6803 ldr r3, [r0, #0] - 6508: 4299 cmp r1, r3 - 650a: d00a beq.n 6522 <_lv_style_list_remove_style+0x2a> - 650c: 4603 mov r3, r0 - 650e: 1e75 subs r5, r6, #1 - 6510: b2ed uxtb r5, r5 - 6512: eb00 0585 add.w r5, r0, r5, lsl #2 + 64ec: 6800 ldr r0, [r0, #0] + 64ee: 6803 ldr r3, [r0, #0] + 64f0: 4299 cmp r1, r3 + 64f2: d00a beq.n 650a <_lv_style_list_remove_style+0x2a> + 64f4: 4603 mov r3, r0 + 64f6: 1e75 subs r5, r6, #1 + 64f8: b2ed uxtb r5, r5 + 64fa: eb00 0585 add.w r5, r0, r5, lsl #2 for(i = 0; i < list->style_cnt; i++) { - 6516: 429d cmp r5, r3 - 6518: d049 beq.n 65ae <_lv_style_list_remove_style+0xb6> + 64fe: 429d cmp r5, r3 + 6500: d049 beq.n 6596 <_lv_style_list_remove_style+0xb6> if(list->style_list[i] == style) { - 651a: f853 2f04 ldr.w r2, [r3, #4]! - 651e: 428a cmp r2, r1 - 6520: d1f9 bne.n 6516 <_lv_style_list_remove_style+0x1e> - 6522: 460d mov r5, r1 + 6502: f853 2f04 ldr.w r2, [r3, #4]! + 6506: 428a cmp r2, r1 + 6508: d1f9 bne.n 64fe <_lv_style_list_remove_style+0x1e> + 650a: 460d mov r5, r1 break; } } if(found == false) return; if(list->style_cnt == 1) { - 6524: 2e01 cmp r6, #1 - 6526: d00e beq.n 6546 <_lv_style_list_remove_style+0x4e> + 650c: 2e01 cmp r6, #1 + 650e: d00e beq.n 652e <_lv_style_list_remove_style+0x4e> list->style_cnt = 0; list->has_local = 0; return; } lv_style_t ** new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt - 1)); - 6528: 1e71 subs r1, r6, #1 - 652a: 0089 lsls r1, r1, #2 - 652c: 4b21 ldr r3, [pc, #132] ; (65b4 <_lv_style_list_remove_style+0xbc>) - 652e: 4798 blx r3 - 6530: 4606 mov r6, r0 + 6510: 1e71 subs r1, r6, #1 + 6512: 0089 lsls r1, r1, #2 + 6514: 4b21 ldr r3, [pc, #132] ; (659c <_lv_style_list_remove_style+0xbc>) + 6516: 4798 blx r3 + 6518: 4606 mov r6, r0 LV_ASSERT_MEM(new_classes); - 6532: 4b21 ldr r3, [pc, #132] ; (65b8 <_lv_style_list_remove_style+0xc0>) - 6534: 4798 blx r3 - 6536: b180 cbz r0, 655a <_lv_style_list_remove_style+0x62> + 651a: 4b21 ldr r3, [pc, #132] ; (65a0 <_lv_style_list_remove_style+0xc0>) + 651c: 4798 blx r3 + 651e: b180 cbz r0, 6542 <_lv_style_list_remove_style+0x62> if(new_classes == NULL) { - 6538: b1ee cbz r6, 6576 <_lv_style_list_remove_style+0x7e> + 6520: b1ee cbz r6, 655e <_lv_style_list_remove_style+0x7e> LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list"); return; } uint8_t j; for(i = 0, j = 0; i < list->style_cnt; i++) { - 653a: 7921 ldrb r1, [r4, #4] - 653c: 2900 cmp r1, #0 - 653e: d033 beq.n 65a8 <_lv_style_list_remove_style+0xb0> - 6540: 2200 movs r2, #0 - 6542: 4613 mov r3, r2 - 6544: e026 b.n 6594 <_lv_style_list_remove_style+0x9c> + 6522: 7921 ldrb r1, [r4, #4] + 6524: 2900 cmp r1, #0 + 6526: d033 beq.n 6590 <_lv_style_list_remove_style+0xb0> + 6528: 2200 movs r2, #0 + 652a: 4613 mov r3, r2 + 652c: e026 b.n 657c <_lv_style_list_remove_style+0x9c> lv_mem_free(list->style_list); - 6546: 4b1d ldr r3, [pc, #116] ; (65bc <_lv_style_list_remove_style+0xc4>) - 6548: 4798 blx r3 + 652e: 4b1d ldr r3, [pc, #116] ; (65a4 <_lv_style_list_remove_style+0xc4>) + 6530: 4798 blx r3 list->style_list = NULL; - 654a: 2300 movs r3, #0 - 654c: 6023 str r3, [r4, #0] + 6532: 2300 movs r3, #0 + 6534: 6023 str r3, [r4, #0] list->style_cnt = 0; - 654e: 7123 strb r3, [r4, #4] + 6536: 7123 strb r3, [r4, #4] list->has_local = 0; - 6550: 7962 ldrb r2, [r4, #5] - 6552: f363 0200 bfi r2, r3, #0, #1 - 6556: 7162 strb r2, [r4, #5] + 6538: 7962 ldrb r2, [r4, #5] + 653a: f363 0200 bfi r2, r3, #0, #1 + 653e: 7162 strb r2, [r4, #5] return; - 6558: e029 b.n 65ae <_lv_style_list_remove_style+0xb6> + 6540: e029 b.n 6596 <_lv_style_list_remove_style+0xb6> LV_ASSERT_MEM(new_classes); - 655a: 4b19 ldr r3, [pc, #100] ; (65c0 <_lv_style_list_remove_style+0xc8>) - 655c: 9300 str r3, [sp, #0] - 655e: f44f 7282 mov.w r2, #260 ; 0x104 - 6562: 4918 ldr r1, [pc, #96] ; (65c4 <_lv_style_list_remove_style+0xcc>) - 6564: 2003 movs r0, #3 - 6566: 4c18 ldr r4, [pc, #96] ; (65c8 <_lv_style_list_remove_style+0xd0>) - 6568: 47a0 blx r4 - 656a: 4632 mov r2, r6 - 656c: 2300 movs r3, #0 - 656e: 4817 ldr r0, [pc, #92] ; (65cc <_lv_style_list_remove_style+0xd4>) - 6570: 4917 ldr r1, [pc, #92] ; (65d0 <_lv_style_list_remove_style+0xd8>) - 6572: 4788 blx r1 - 6574: e7fe b.n 6574 <_lv_style_list_remove_style+0x7c> + 6542: 4b19 ldr r3, [pc, #100] ; (65a8 <_lv_style_list_remove_style+0xc8>) + 6544: 9300 str r3, [sp, #0] + 6546: f44f 7282 mov.w r2, #260 ; 0x104 + 654a: 4918 ldr r1, [pc, #96] ; (65ac <_lv_style_list_remove_style+0xcc>) + 654c: 2003 movs r0, #3 + 654e: 4c18 ldr r4, [pc, #96] ; (65b0 <_lv_style_list_remove_style+0xd0>) + 6550: 47a0 blx r4 + 6552: 4632 mov r2, r6 + 6554: 2300 movs r3, #0 + 6556: 4817 ldr r0, [pc, #92] ; (65b4 <_lv_style_list_remove_style+0xd4>) + 6558: 4917 ldr r1, [pc, #92] ; (65b8 <_lv_style_list_remove_style+0xd8>) + 655a: 4788 blx r1 + 655c: e7fe b.n 655c <_lv_style_list_remove_style+0x7c> LV_LOG_WARN("lv_style_list_remove_style: couldn't reallocate class list"); - 6576: 4b17 ldr r3, [pc, #92] ; (65d4 <_lv_style_list_remove_style+0xdc>) - 6578: 9300 str r3, [sp, #0] - 657a: 4b11 ldr r3, [pc, #68] ; (65c0 <_lv_style_list_remove_style+0xc8>) - 657c: f44f 7283 mov.w r2, #262 ; 0x106 - 6580: 4910 ldr r1, [pc, #64] ; (65c4 <_lv_style_list_remove_style+0xcc>) - 6582: 2002 movs r0, #2 - 6584: 4c10 ldr r4, [pc, #64] ; (65c8 <_lv_style_list_remove_style+0xd0>) - 6586: 47a0 blx r4 + 655e: 4b17 ldr r3, [pc, #92] ; (65bc <_lv_style_list_remove_style+0xdc>) + 6560: 9300 str r3, [sp, #0] + 6562: 4b11 ldr r3, [pc, #68] ; (65a8 <_lv_style_list_remove_style+0xc8>) + 6564: f44f 7283 mov.w r2, #262 ; 0x106 + 6568: 4910 ldr r1, [pc, #64] ; (65ac <_lv_style_list_remove_style+0xcc>) + 656a: 2002 movs r0, #2 + 656c: 4c10 ldr r4, [pc, #64] ; (65b0 <_lv_style_list_remove_style+0xd0>) + 656e: 47a0 blx r4 return; - 6588: e011 b.n 65ae <_lv_style_list_remove_style+0xb6> + 6570: e011 b.n 6596 <_lv_style_list_remove_style+0xb6> for(i = 0, j = 0; i < list->style_cnt; i++) { - 658a: 3301 adds r3, #1 - 658c: b2db uxtb r3, r3 - 658e: 7921 ldrb r1, [r4, #4] - 6590: 4299 cmp r1, r3 - 6592: d909 bls.n 65a8 <_lv_style_list_remove_style+0xb0> + 6572: 3301 adds r3, #1 + 6574: b2db uxtb r3, r3 + 6576: 7921 ldrb r1, [r4, #4] + 6578: 4299 cmp r1, r3 + 657a: d909 bls.n 6590 <_lv_style_list_remove_style+0xb0> if(list->style_list[i] == style) continue; - 6594: 6821 ldr r1, [r4, #0] - 6596: f851 1023 ldr.w r1, [r1, r3, lsl #2] - 659a: 428d cmp r5, r1 - 659c: d0f5 beq.n 658a <_lv_style_list_remove_style+0x92> + 657c: 6821 ldr r1, [r4, #0] + 657e: f851 1023 ldr.w r1, [r1, r3, lsl #2] + 6582: 428d cmp r5, r1 + 6584: d0f5 beq.n 6572 <_lv_style_list_remove_style+0x92> new_classes[j] = list->style_list[i]; - 659e: f846 1022 str.w r1, [r6, r2, lsl #2] + 6586: f846 1022 str.w r1, [r6, r2, lsl #2] j++; - 65a2: 3201 adds r2, #1 - 65a4: b2d2 uxtb r2, r2 - 65a6: e7f0 b.n 658a <_lv_style_list_remove_style+0x92> + 658a: 3201 adds r2, #1 + 658c: b2d2 uxtb r2, r2 + 658e: e7f0 b.n 6572 <_lv_style_list_remove_style+0x92> } list->style_cnt--; - 65a8: 3901 subs r1, #1 - 65aa: 7121 strb r1, [r4, #4] + 6590: 3901 subs r1, #1 + 6592: 7121 strb r1, [r4, #4] list->style_list = new_classes; - 65ac: 6026 str r6, [r4, #0] -} - 65ae: b002 add sp, #8 - 65b0: bd70 pop {r4, r5, r6, pc} - 65b2: bf00 nop - 65b4: 00012899 .word 0x00012899 - 65b8: 000022b1 .word 0x000022b1 - 65bc: 000124c5 .word 0x000124c5 - 65c0: 00024a7c .word 0x00024a7c - 65c4: 00024b3c .word 0x00024b3c - 65c8: 0001225d .word 0x0001225d - 65cc: 00023fd8 .word 0x00023fd8 - 65d0: 000022b9 .word 0x000022b9 - 65d4: 00024b68 .word 0x00024b68 - -000065d8 <_lv_style_list_add_style>: + 6594: 6026 str r6, [r4, #0] +} + 6596: b002 add sp, #8 + 6598: bd70 pop {r4, r5, r6, pc} + 659a: bf00 nop + 659c: 00012881 .word 0x00012881 + 65a0: 00002299 .word 0x00002299 + 65a4: 000124ad .word 0x000124ad + 65a8: 00024a64 .word 0x00024a64 + 65ac: 00024b24 .word 0x00024b24 + 65b0: 00012245 .word 0x00012245 + 65b4: 00023fc0 .word 0x00023fc0 + 65b8: 000022a1 .word 0x000022a1 + 65bc: 00024b50 .word 0x00024b50 + +000065c0 <_lv_style_list_add_style>: if(list == NULL) return; - 65d8: 2800 cmp r0, #0 - 65da: d051 beq.n 6680 <_lv_style_list_add_style+0xa8> + 65c0: 2800 cmp r0, #0 + 65c2: d051 beq.n 6668 <_lv_style_list_add_style+0xa8> { - 65dc: b570 push {r4, r5, r6, lr} - 65de: b082 sub sp, #8 - 65e0: 4604 mov r4, r0 - 65e2: 460e mov r6, r1 + 65c4: b570 push {r4, r5, r6, lr} + 65c6: b082 sub sp, #8 + 65c8: 4604 mov r4, r0 + 65ca: 460e mov r6, r1 _lv_style_list_remove_style(list, style); - 65e4: 4b27 ldr r3, [pc, #156] ; (6684 <_lv_style_list_add_style+0xac>) - 65e6: 4798 blx r3 + 65cc: 4b27 ldr r3, [pc, #156] ; (666c <_lv_style_list_add_style+0xac>) + 65ce: 4798 blx r3 if(list->style_cnt == 0) new_classes = lv_mem_alloc(sizeof(lv_style_t *)); - 65e8: 7923 ldrb r3, [r4, #4] - 65ea: bb63 cbnz r3, 6646 <_lv_style_list_add_style+0x6e> - 65ec: 2004 movs r0, #4 - 65ee: 4b26 ldr r3, [pc, #152] ; (6688 <_lv_style_list_add_style+0xb0>) - 65f0: 4798 blx r3 - 65f2: 4605 mov r5, r0 + 65d0: 7923 ldrb r3, [r4, #4] + 65d2: bb63 cbnz r3, 662e <_lv_style_list_add_style+0x6e> + 65d4: 2004 movs r0, #4 + 65d6: 4b26 ldr r3, [pc, #152] ; (6670 <_lv_style_list_add_style+0xb0>) + 65d8: 4798 blx r3 + 65da: 4605 mov r5, r0 LV_ASSERT_MEM(new_classes); - 65f4: 4628 mov r0, r5 - 65f6: 4b25 ldr r3, [pc, #148] ; (668c <_lv_style_list_add_style+0xb4>) - 65f8: 4798 blx r3 - 65fa: b358 cbz r0, 6654 <_lv_style_list_add_style+0x7c> + 65dc: 4628 mov r0, r5 + 65de: 4b25 ldr r3, [pc, #148] ; (6674 <_lv_style_list_add_style+0xb4>) + 65e0: 4798 blx r3 + 65e2: b358 cbz r0, 663c <_lv_style_list_add_style+0x7c> if(new_classes == NULL) { - 65fc: 2d00 cmp r5, #0 - 65fe: d036 beq.n 666e <_lv_style_list_add_style+0x96> + 65e4: 2d00 cmp r5, #0 + 65e6: d036 beq.n 6656 <_lv_style_list_add_style+0x96> if(list->has_trans) first_style++; - 6600: 7963 ldrb r3, [r4, #5] + 65e8: 7963 ldrb r3, [r4, #5] uint8_t first_style = 0; - 6602: f3c3 0040 ubfx r0, r3, #1, #1 + 65ea: f3c3 0040 ubfx r0, r3, #1, #1 if(list->has_local) first_style++; - 6606: f013 0f01 tst.w r3, #1 - 660a: bf18 it ne - 660c: 3001 addne r0, #1 + 65ee: f013 0f01 tst.w r3, #1 + 65f2: bf18 it ne + 65f4: 3001 addne r0, #1 for(i = list->style_cnt; i > first_style; i--) { - 660e: 7923 ldrb r3, [r4, #4] - 6610: 4298 cmp r0, r3 - 6612: d210 bcs.n 6636 <_lv_style_list_add_style+0x5e> - 6614: eb05 0183 add.w r1, r5, r3, lsl #2 - 6618: f103 4280 add.w r2, r3, #1073741824 ; 0x40000000 - 661c: 3a01 subs r2, #1 - 661e: 3b01 subs r3, #1 - 6620: 1a1b subs r3, r3, r0 - 6622: b2db uxtb r3, r3 - 6624: 1ad3 subs r3, r2, r3 - 6626: eb05 0383 add.w r3, r5, r3, lsl #2 + 65f6: 7923 ldrb r3, [r4, #4] + 65f8: 4298 cmp r0, r3 + 65fa: d210 bcs.n 661e <_lv_style_list_add_style+0x5e> + 65fc: eb05 0183 add.w r1, r5, r3, lsl #2 + 6600: f103 4280 add.w r2, r3, #1073741824 ; 0x40000000 + 6604: 3a01 subs r2, #1 + 6606: 3b01 subs r3, #1 + 6608: 1a1b subs r3, r3, r0 + 660a: b2db uxtb r3, r3 + 660c: 1ad3 subs r3, r2, r3 + 660e: eb05 0383 add.w r3, r5, r3, lsl #2 new_classes[i] = new_classes[i - 1]; - 662a: f851 2c04 ldr.w r2, [r1, #-4] - 662e: f841 2904 str.w r2, [r1], #-4 + 6612: f851 2c04 ldr.w r2, [r1, #-4] + 6616: f841 2904 str.w r2, [r1], #-4 for(i = list->style_cnt; i > first_style; i--) { - 6632: 4299 cmp r1, r3 - 6634: d1f9 bne.n 662a <_lv_style_list_add_style+0x52> + 661a: 4299 cmp r1, r3 + 661c: d1f9 bne.n 6612 <_lv_style_list_add_style+0x52> new_classes[first_style] = style; - 6636: f845 6020 str.w r6, [r5, r0, lsl #2] + 661e: f845 6020 str.w r6, [r5, r0, lsl #2] list->style_cnt++; - 663a: 7923 ldrb r3, [r4, #4] - 663c: 3301 adds r3, #1 - 663e: 7123 strb r3, [r4, #4] + 6622: 7923 ldrb r3, [r4, #4] + 6624: 3301 adds r3, #1 + 6626: 7123 strb r3, [r4, #4] list->style_list = new_classes; - 6640: 6025 str r5, [r4, #0] + 6628: 6025 str r5, [r4, #0] } - 6642: b002 add sp, #8 - 6644: bd70 pop {r4, r5, r6, pc} + 662a: b002 add sp, #8 + 662c: bd70 pop {r4, r5, r6, pc} else new_classes = lv_mem_realloc(list->style_list, sizeof(lv_style_t *) * (list->style_cnt + 1)); - 6646: 3301 adds r3, #1 - 6648: 0099 lsls r1, r3, #2 - 664a: 6820 ldr r0, [r4, #0] - 664c: 4b10 ldr r3, [pc, #64] ; (6690 <_lv_style_list_add_style+0xb8>) - 664e: 4798 blx r3 - 6650: 4605 mov r5, r0 - 6652: e7cf b.n 65f4 <_lv_style_list_add_style+0x1c> + 662e: 3301 adds r3, #1 + 6630: 0099 lsls r1, r3, #2 + 6632: 6820 ldr r0, [r4, #0] + 6634: 4b10 ldr r3, [pc, #64] ; (6678 <_lv_style_list_add_style+0xb8>) + 6636: 4798 blx r3 + 6638: 4605 mov r5, r0 + 663a: e7cf b.n 65dc <_lv_style_list_add_style+0x1c> LV_ASSERT_MEM(new_classes); - 6654: 4b0f ldr r3, [pc, #60] ; (6694 <_lv_style_list_add_style+0xbc>) - 6656: 9300 str r3, [sp, #0] - 6658: 22d0 movs r2, #208 ; 0xd0 - 665a: 490f ldr r1, [pc, #60] ; (6698 <_lv_style_list_add_style+0xc0>) - 665c: 2003 movs r0, #3 - 665e: 4c0f ldr r4, [pc, #60] ; (669c <_lv_style_list_add_style+0xc4>) - 6660: 47a0 blx r4 - 6662: 462a mov r2, r5 - 6664: 2300 movs r3, #0 - 6666: 480e ldr r0, [pc, #56] ; (66a0 <_lv_style_list_add_style+0xc8>) - 6668: 490e ldr r1, [pc, #56] ; (66a4 <_lv_style_list_add_style+0xcc>) - 666a: 4788 blx r1 - 666c: e7fe b.n 666c <_lv_style_list_add_style+0x94> + 663c: 4b0f ldr r3, [pc, #60] ; (667c <_lv_style_list_add_style+0xbc>) + 663e: 9300 str r3, [sp, #0] + 6640: 22d0 movs r2, #208 ; 0xd0 + 6642: 490f ldr r1, [pc, #60] ; (6680 <_lv_style_list_add_style+0xc0>) + 6644: 2003 movs r0, #3 + 6646: 4c0f ldr r4, [pc, #60] ; (6684 <_lv_style_list_add_style+0xc4>) + 6648: 47a0 blx r4 + 664a: 462a mov r2, r5 + 664c: 2300 movs r3, #0 + 664e: 480e ldr r0, [pc, #56] ; (6688 <_lv_style_list_add_style+0xc8>) + 6650: 490e ldr r1, [pc, #56] ; (668c <_lv_style_list_add_style+0xcc>) + 6652: 4788 blx r1 + 6654: e7fe b.n 6654 <_lv_style_list_add_style+0x94> LV_LOG_WARN("lv_style_list_add_style: couldn't add the class"); - 666e: 4b0e ldr r3, [pc, #56] ; (66a8 <_lv_style_list_add_style+0xd0>) - 6670: 9300 str r3, [sp, #0] - 6672: 4b08 ldr r3, [pc, #32] ; (6694 <_lv_style_list_add_style+0xbc>) - 6674: 22d2 movs r2, #210 ; 0xd2 - 6676: 4908 ldr r1, [pc, #32] ; (6698 <_lv_style_list_add_style+0xc0>) - 6678: 2002 movs r0, #2 - 667a: 4c08 ldr r4, [pc, #32] ; (669c <_lv_style_list_add_style+0xc4>) - 667c: 47a0 blx r4 + 6656: 4b0e ldr r3, [pc, #56] ; (6690 <_lv_style_list_add_style+0xd0>) + 6658: 9300 str r3, [sp, #0] + 665a: 4b08 ldr r3, [pc, #32] ; (667c <_lv_style_list_add_style+0xbc>) + 665c: 22d2 movs r2, #210 ; 0xd2 + 665e: 4908 ldr r1, [pc, #32] ; (6680 <_lv_style_list_add_style+0xc0>) + 6660: 2002 movs r0, #2 + 6662: 4c08 ldr r4, [pc, #32] ; (6684 <_lv_style_list_add_style+0xc4>) + 6664: 47a0 blx r4 return; - 667e: e7e0 b.n 6642 <_lv_style_list_add_style+0x6a> - 6680: 4770 bx lr - 6682: bf00 nop - 6684: 000064f9 .word 0x000064f9 - 6688: 000123dd .word 0x000123dd - 668c: 000022b1 .word 0x000022b1 - 6690: 00012899 .word 0x00012899 - 6694: 00024a98 .word 0x00024a98 - 6698: 00024b3c .word 0x00024b3c - 669c: 0001225d .word 0x0001225d - 66a0: 00023fd8 .word 0x00023fd8 - 66a4: 000022b9 .word 0x000022b9 - 66a8: 00024ba4 .word 0x00024ba4 - -000066ac : + 6666: e7e0 b.n 662a <_lv_style_list_add_style+0x6a> + 6668: 4770 bx lr + 666a: bf00 nop + 666c: 000064e1 .word 0x000064e1 + 6670: 000123c5 .word 0x000123c5 + 6674: 00002299 .word 0x00002299 + 6678: 00012881 .word 0x00012881 + 667c: 00024a80 .word 0x00024a80 + 6680: 00024b24 .word 0x00024b24 + 6684: 00012245 .word 0x00012245 + 6688: 00023fc0 .word 0x00023fc0 + 668c: 000022a1 .word 0x000022a1 + 6690: 00024b8c .word 0x00024b8c + +00006694 : * Get he local style from a style list. Allocate it if not exists yet. * @param list pointer to a style list * @return pointer to the local style */ static lv_style_t * get_alloc_local_style(lv_style_list_t * list) { - 66ac: b530 push {r4, r5, lr} - 66ae: b083 sub sp, #12 + 6694: b530 push {r4, r5, lr} + 6696: b083 sub sp, #12 LV_ASSERT_STYLE_LIST(list); if(list->has_local) return lv_style_list_get_style(list, 0); - 66b0: 7943 ldrb r3, [r0, #5] - 66b2: f013 0f01 tst.w r3, #1 - 66b6: d010 beq.n 66da + 6698: 7943 ldrb r3, [r0, #5] + 669a: f013 0f01 tst.w r3, #1 + 669e: d010 beq.n 66c2 if(list->has_trans && list->skip_trans) id++; - 66b8: f003 0306 and.w r3, r3, #6 - 66bc: 2b06 cmp r3, #6 - 66be: bf14 ite ne - 66c0: 2300 movne r3, #0 - 66c2: 2301 moveq r3, #1 + 66a0: f003 0306 and.w r3, r3, #6 + 66a4: 2b06 cmp r3, #6 + 66a6: bf14 ite ne + 66a8: 2300 movne r3, #0 + 66aa: 2301 moveq r3, #1 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 66c4: 7902 ldrb r2, [r0, #4] - 66c6: 2a00 cmp r2, #0 - 66c8: d034 beq.n 6734 - 66ca: 429a cmp r2, r3 - 66cc: d934 bls.n 6738 + 66ac: 7902 ldrb r2, [r0, #4] + 66ae: 2a00 cmp r2, #0 + 66b0: d034 beq.n 671c + 66b2: 429a cmp r2, r3 + 66b4: d934 bls.n 6720 return list->style_list[id]; - 66ce: 6802 ldr r2, [r0, #0] - 66d0: f852 4023 ldr.w r4, [r2, r3, lsl #2] + 66b6: 6802 ldr r2, [r0, #0] + 66b8: f852 4023 ldr.w r4, [r2, r3, lsl #2] /*Add the local style to the furst place*/ _lv_style_list_add_style(list, local_style); list->has_local = 1; return local_style; } - 66d4: 4620 mov r0, r4 - 66d6: b003 add sp, #12 - 66d8: bd30 pop {r4, r5, pc} - 66da: 4605 mov r5, r0 + 66bc: 4620 mov r0, r4 + 66be: b003 add sp, #12 + 66c0: bd30 pop {r4, r5, pc} + 66c2: 4605 mov r5, r0 lv_style_t * local_style = lv_mem_alloc(sizeof(lv_style_t)); - 66dc: 2004 movs r0, #4 - 66de: 4b17 ldr r3, [pc, #92] ; (673c ) - 66e0: 4798 blx r3 - 66e2: 4604 mov r4, r0 + 66c4: 2004 movs r0, #4 + 66c6: 4b17 ldr r3, [pc, #92] ; (6724 ) + 66c8: 4798 blx r3 + 66ca: 4604 mov r4, r0 LV_ASSERT_MEM(local_style); - 66e4: 4b16 ldr r3, [pc, #88] ; (6740 ) - 66e6: 4798 blx r3 - 66e8: b160 cbz r0, 6704 + 66cc: 4b16 ldr r3, [pc, #88] ; (6728 ) + 66ce: 4798 blx r3 + 66d0: b160 cbz r0, 66ec if(local_style == NULL) { - 66ea: b1cc cbz r4, 6720 + 66d2: b1cc cbz r4, 6708 lv_style_init(local_style); - 66ec: 4620 mov r0, r4 - 66ee: 4b15 ldr r3, [pc, #84] ; (6744 ) - 66f0: 4798 blx r3 + 66d4: 4620 mov r0, r4 + 66d6: 4b15 ldr r3, [pc, #84] ; (672c ) + 66d8: 4798 blx r3 _lv_style_list_add_style(list, local_style); - 66f2: 4621 mov r1, r4 - 66f4: 4628 mov r0, r5 - 66f6: 4b14 ldr r3, [pc, #80] ; (6748 ) - 66f8: 4798 blx r3 + 66da: 4621 mov r1, r4 + 66dc: 4628 mov r0, r5 + 66de: 4b14 ldr r3, [pc, #80] ; (6730 ) + 66e0: 4798 blx r3 list->has_local = 1; - 66fa: 796b ldrb r3, [r5, #5] - 66fc: f043 0301 orr.w r3, r3, #1 - 6700: 716b strb r3, [r5, #5] + 66e2: 796b ldrb r3, [r5, #5] + 66e4: f043 0301 orr.w r3, r3, #1 + 66e8: 716b strb r3, [r5, #5] return local_style; - 6702: e7e7 b.n 66d4 + 66ea: e7e7 b.n 66bc LV_ASSERT_MEM(local_style); - 6704: 4b11 ldr r3, [pc, #68] ; (674c ) - 6706: 9300 str r3, [sp, #0] - 6708: f240 4235 movw r2, #1077 ; 0x435 - 670c: 4910 ldr r1, [pc, #64] ; (6750 ) - 670e: 2003 movs r0, #3 - 6710: 4d10 ldr r5, [pc, #64] ; (6754 ) - 6712: 47a8 blx r5 - 6714: 4622 mov r2, r4 - 6716: 2300 movs r3, #0 - 6718: 480f ldr r0, [pc, #60] ; (6758 ) - 671a: 4910 ldr r1, [pc, #64] ; (675c ) - 671c: 4788 blx r1 - 671e: e7fe b.n 671e + 66ec: 4b11 ldr r3, [pc, #68] ; (6734 ) + 66ee: 9300 str r3, [sp, #0] + 66f0: f240 4235 movw r2, #1077 ; 0x435 + 66f4: 4910 ldr r1, [pc, #64] ; (6738 ) + 66f6: 2003 movs r0, #3 + 66f8: 4d10 ldr r5, [pc, #64] ; (673c ) + 66fa: 47a8 blx r5 + 66fc: 4622 mov r2, r4 + 66fe: 2300 movs r3, #0 + 6700: 480f ldr r0, [pc, #60] ; (6740 ) + 6702: 4910 ldr r1, [pc, #64] ; (6744 ) + 6704: 4788 blx r1 + 6706: e7fe b.n 6706 LV_LOG_WARN("get_local_style: couldn't create local style"); - 6720: 4b0f ldr r3, [pc, #60] ; (6760 ) - 6722: 9300 str r3, [sp, #0] - 6724: 4b09 ldr r3, [pc, #36] ; (674c ) - 6726: f240 4237 movw r2, #1079 ; 0x437 - 672a: 4909 ldr r1, [pc, #36] ; (6750 ) - 672c: 2002 movs r0, #2 - 672e: 4d09 ldr r5, [pc, #36] ; (6754 ) - 6730: 47a8 blx r5 + 6708: 4b0f ldr r3, [pc, #60] ; (6748 ) + 670a: 9300 str r3, [sp, #0] + 670c: 4b09 ldr r3, [pc, #36] ; (6734 ) + 670e: f240 4237 movw r2, #1079 ; 0x437 + 6712: 4909 ldr r1, [pc, #36] ; (6738 ) + 6714: 2002 movs r0, #2 + 6716: 4d09 ldr r5, [pc, #36] ; (673c ) + 6718: 47a8 blx r5 return NULL; - 6732: e7cf b.n 66d4 + 671a: e7cf b.n 66bc if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 6734: 2400 movs r4, #0 - 6736: e7cd b.n 66d4 - 6738: 2400 movs r4, #0 - 673a: e7cb b.n 66d4 - 673c: 000123dd .word 0x000123dd - 6740: 000022b1 .word 0x000022b1 - 6744: 000064d9 .word 0x000064d9 - 6748: 000065d9 .word 0x000065d9 - 674c: 00024ab4 .word 0x00024ab4 - 6750: 00024b3c .word 0x00024b3c - 6754: 0001225d .word 0x0001225d - 6758: 00023fd8 .word 0x00023fd8 - 675c: 000022b9 .word 0x000022b9 - 6760: 00024bd4 .word 0x00024bd4 - -00006764 : -{ - 6764: b510 push {r4, lr} - 6766: 4604 mov r4, r0 + 671c: 2400 movs r4, #0 + 671e: e7cd b.n 66bc + 6720: 2400 movs r4, #0 + 6722: e7cb b.n 66bc + 6724: 000123c5 .word 0x000123c5 + 6728: 00002299 .word 0x00002299 + 672c: 000064c1 .word 0x000064c1 + 6730: 000065c1 .word 0x000065c1 + 6734: 00024a9c .word 0x00024a9c + 6738: 00024b24 .word 0x00024b24 + 673c: 00012245 .word 0x00012245 + 6740: 00023fc0 .word 0x00023fc0 + 6744: 000022a1 .word 0x000022a1 + 6748: 00024bbc .word 0x00024bbc + +0000674c : +{ + 674c: b510 push {r4, lr} + 674e: 4604 mov r4, r0 lv_mem_free(style->map); - 6768: 6800 ldr r0, [r0, #0] - 676a: 4b02 ldr r3, [pc, #8] ; (6774 ) - 676c: 4798 blx r3 + 6750: 6800 ldr r0, [r0, #0] + 6752: 4b02 ldr r3, [pc, #8] ; (675c ) + 6754: 4798 blx r3 style->map = NULL; - 676e: 2300 movs r3, #0 - 6770: 6023 str r3, [r4, #0] - 6772: bd10 pop {r4, pc} - 6774: 000124c5 .word 0x000124c5 + 6756: 2300 movs r3, #0 + 6758: 6023 str r3, [r4, #0] + 675a: bd10 pop {r4, pc} + 675c: 000124ad .word 0x000124ad -00006778 <_lv_style_get_mem_size>: +00006760 <_lv_style_get_mem_size>: if(style->map == NULL) return 0; - 6778: 6802 ldr r2, [r0, #0] - 677a: b1d2 cbz r2, 67b2 <_lv_style_get_mem_size+0x3a> + 6760: 6802 ldr r2, [r0, #0] + 6762: b1d2 cbz r2, 679a <_lv_style_get_mem_size+0x3a> while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 677c: 7813 ldrb r3, [r2, #0] - 677e: 2bff cmp r3, #255 ; 0xff - 6780: d013 beq.n 67aa <_lv_style_get_mem_size+0x32> - 6782: 2000 movs r0, #0 - 6784: e006 b.n 6794 <_lv_style_get_mem_size+0x1c> + 6764: 7813 ldrb r3, [r2, #0] + 6766: 2bff cmp r3, #255 ; 0xff + 6768: d013 beq.n 6792 <_lv_style_get_mem_size+0x32> + 676a: 2000 movs r0, #0 + 676c: e006 b.n 677c <_lv_style_get_mem_size+0x1c> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6786: 2b0b cmp r3, #11 - 6788: dc0a bgt.n 67a0 <_lv_style_get_mem_size+0x28> - 678a: 3002 adds r0, #2 + 676e: 2b0b cmp r3, #11 + 6770: dc0a bgt.n 6788 <_lv_style_get_mem_size+0x28> + 6772: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 678c: 3002 adds r0, #2 + 6774: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 678e: 5c13 ldrb r3, [r2, r0] - 6790: 2bff cmp r3, #255 ; 0xff - 6792: d00b beq.n 67ac <_lv_style_get_mem_size+0x34> + 6776: 5c13 ldrb r3, [r2, r0] + 6778: 2bff cmp r3, #255 ; 0xff + 677a: d00b beq.n 6794 <_lv_style_get_mem_size+0x34> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6794: f003 030f and.w r3, r3, #15 - 6798: 2b08 cmp r3, #8 - 679a: dcf4 bgt.n 6786 <_lv_style_get_mem_size+0xe> - 679c: 3002 adds r0, #2 - 679e: e7f5 b.n 678c <_lv_style_get_mem_size+0x14> + 677c: f003 030f and.w r3, r3, #15 + 6780: 2b08 cmp r3, #8 + 6782: dcf4 bgt.n 676e <_lv_style_get_mem_size+0xe> + 6784: 3002 adds r0, #2 + 6786: e7f5 b.n 6774 <_lv_style_get_mem_size+0x14> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 67a0: 2b0d cmp r3, #13 - 67a2: bfd4 ite le - 67a4: 3001 addle r0, #1 + 6788: 2b0d cmp r3, #13 + 678a: bfd4 ite le + 678c: 3001 addle r0, #1 else i += sizeof(const void *); - 67a6: 3004 addgt r0, #4 - 67a8: e7f0 b.n 678c <_lv_style_get_mem_size+0x14> + 678e: 3004 addgt r0, #4 + 6790: e7f0 b.n 6774 <_lv_style_get_mem_size+0x14> while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 67aa: 2000 movs r0, #0 + 6792: 2000 movs r0, #0 return i + sizeof(lv_style_property_t); - 67ac: 3002 adds r0, #2 - 67ae: b280 uxth r0, r0 - 67b0: 4770 bx lr + 6794: 3002 adds r0, #2 + 6796: b280 uxth r0, r0 + 6798: 4770 bx lr if(style->map == NULL) return 0; - 67b2: 2000 movs r0, #0 + 679a: 2000 movs r0, #0 } - 67b4: 4770 bx lr + 679c: 4770 bx lr ... -000067b8 : +000067a0 : if(style_src == NULL) return; - 67b8: b181 cbz r1, 67dc + 67a0: b181 cbz r1, 67c4 { - 67ba: b570 push {r4, r5, r6, lr} - 67bc: 460c mov r4, r1 + 67a2: b570 push {r4, r5, r6, lr} + 67a4: 460c mov r4, r1 if(style_src->map == NULL) return; - 67be: 680a ldr r2, [r1, #0] - 67c0: b15a cbz r2, 67da - 67c2: 4605 mov r5, r0 + 67a6: 680a ldr r2, [r1, #0] + 67a8: b15a cbz r2, 67c2 + 67aa: 4605 mov r5, r0 uint16_t size = _lv_style_get_mem_size(style_src); - 67c4: 4608 mov r0, r1 - 67c6: 4b06 ldr r3, [pc, #24] ; (67e0 ) - 67c8: 4798 blx r3 - 67ca: 4606 mov r6, r0 + 67ac: 4608 mov r0, r1 + 67ae: 4b06 ldr r3, [pc, #24] ; (67c8 ) + 67b0: 4798 blx r3 + 67b2: 4606 mov r6, r0 style_dest->map = lv_mem_alloc(size); - 67cc: 4b05 ldr r3, [pc, #20] ; (67e4 ) - 67ce: 4798 blx r3 - 67d0: 6028 str r0, [r5, #0] + 67b4: 4b05 ldr r3, [pc, #20] ; (67cc ) + 67b6: 4798 blx r3 + 67b8: 6028 str r0, [r5, #0] _lv_memcpy(style_dest->map, style_src->map, size); - 67d2: 4632 mov r2, r6 - 67d4: 6821 ldr r1, [r4, #0] - 67d6: 4b04 ldr r3, [pc, #16] ; (67e8 ) - 67d8: 4798 blx r3 - 67da: bd70 pop {r4, r5, r6, pc} - 67dc: 4770 bx lr - 67de: bf00 nop - 67e0: 00006779 .word 0x00006779 - 67e4: 000123dd .word 0x000123dd - 67e8: 00012655 .word 0x00012655 - -000067ec : + 67ba: 4632 mov r2, r6 + 67bc: 6821 ldr r1, [r4, #0] + 67be: 4b04 ldr r3, [pc, #16] ; (67d0 ) + 67c0: 4798 blx r3 + 67c2: bd70 pop {r4, r5, r6, pc} + 67c4: 4770 bx lr + 67c6: bf00 nop + 67c8: 00006761 .word 0x00006761 + 67cc: 000123c5 .word 0x000123c5 + 67d0: 0001263d .word 0x0001263d + +000067d4 : if(style == NULL) return false; - 67ec: 2800 cmp r0, #0 - 67ee: d06b beq.n 68c8 + 67d4: 2800 cmp r0, #0 + 67d6: d06b beq.n 68b0 { - 67f0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 67f4: 4607 mov r7, r0 + 67d8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 67dc: 4607 mov r7, r0 if(style->map == NULL) return -1; - 67f6: 6800 ldr r0, [r0, #0] - 67f8: 2800 cmp r0, #0 - 67fa: d06a beq.n 68d2 + 67de: 6800 ldr r0, [r0, #0] + 67e0: 2800 cmp r0, #0 + 67e2: d06a beq.n 68ba uint8_t id_to_find = prop & 0xFF; - 67fc: b2cd uxtb r5, r1 + 67e4: b2cd uxtb r5, r1 attr.full = (prop >> 8) & 0xFF; - 67fe: 0a0e lsrs r6, r1, #8 - 6800: 46b4 mov ip, r6 + 67e6: 0a0e lsrs r6, r1, #8 + 67e8: 46b4 mov ip, r6 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6802: 7803 ldrb r3, [r0, #0] - 6804: 2bff cmp r3, #255 ; 0xff - 6806: d03b beq.n 6880 - 6808: f04f 3eff mov.w lr, #4294967295 - 680c: 46f0 mov r8, lr - 680e: 2200 movs r2, #0 + 67ea: 7803 ldrb r3, [r0, #0] + 67ec: 2bff cmp r3, #255 ; 0xff + 67ee: d03b beq.n 6868 + 67f0: f04f 3eff mov.w lr, #4294967295 + 67f4: 46f0 mov r8, lr + 67f6: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6810: f3cc 0c06 ubfx ip, ip, #0, #7 - 6814: e027 b.n 6866 + 67f8: f3cc 0c06 ubfx ip, ip, #0, #7 + 67fc: e027 b.n 684e attr_i.full = style->map[i + 1]; - 6816: 1884 adds r4, r0, r2 - 6818: 7864 ldrb r4, [r4, #1] + 67fe: 1884 adds r4, r0, r2 + 6800: 7864 ldrb r4, [r4, #1] if(attr_i.bits.state == attr.bits.state) { - 681a: ea86 0904 eor.w r9, r6, r4 - 681e: f019 0f7f tst.w r9, #127 ; 0x7f - 6822: d00b beq.n 683c + 6802: ea86 0904 eor.w r9, r6, r4 + 6806: f019 0f7f tst.w r9, #127 ; 0x7f + 680a: d00b beq.n 6824 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6824: f004 047f and.w r4, r4, #127 ; 0x7f - 6828: ea34 090c bics.w r9, r4, ip - 682c: d11d bne.n 686a + 680c: f004 047f and.w r4, r4, #127 ; 0x7f + 6810: ea34 090c bics.w r9, r4, ip + 6814: d11d bne.n 6852 if(attr_i.bits.state > weight) { - 682e: 4544 cmp r4, r8 + 6816: 4544 cmp r4, r8 weight = attr_i.bits.state; - 6830: bfc4 itt gt - 6832: fa0f f884 sxthgt.w r8, r4 + 6818: bfc4 itt gt + 681a: fa0f f884 sxthgt.w r8, r4 id_guess = i; - 6836: fa0f fe82 sxthgt.w lr, r2 - 683a: e016 b.n 686a + 681e: fa0f fe82 sxthgt.w lr, r2 + 6822: e016 b.n 6852 return i; - 683c: 4696 mov lr, r2 + 6824: 4696 mov lr, r2 if(id >= 0) { - 683e: f1be 0f00 cmp.w lr, #0 - 6842: db43 blt.n 68cc + 6826: f1be 0f00 cmp.w lr, #0 + 682a: db43 blt.n 68b4 attr_found.full = *(style->map + id + 1); - 6844: 4674 mov r4, lr - 6846: 4470 add r0, lr + 682c: 4674 mov r4, lr + 682e: 4470 add r0, lr if(attr_found.bits.state == attr_goal.bits.state) { - 6848: 7843 ldrb r3, [r0, #1] - 684a: 405e eors r6, r3 - 684c: f016 0f7f tst.w r6, #127 ; 0x7f - 6850: d019 beq.n 6886 + 6830: 7843 ldrb r3, [r0, #1] + 6832: 405e eors r6, r3 + 6834: f016 0f7f tst.w r6, #127 ; 0x7f + 6838: d019 beq.n 686e return false; - 6852: 2000 movs r0, #0 - 6854: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 683a: 2000 movs r0, #0 + 683c: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6858: 2b0b cmp r3, #11 - 685a: dc0c bgt.n 6876 - 685c: 3202 adds r2, #2 + 6840: 2b0b cmp r3, #11 + 6842: dc0c bgt.n 685e + 6844: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 685e: 3202 adds r2, #2 + 6846: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6860: 5c83 ldrb r3, [r0, r2] - 6862: 2bff cmp r3, #255 ; 0xff - 6864: d0eb beq.n 683e + 6848: 5c83 ldrb r3, [r0, r2] + 684a: 2bff cmp r3, #255 ; 0xff + 684c: d0eb beq.n 6826 if(style->map[i] == id_to_find) { - 6866: 429d cmp r5, r3 - 6868: d0d5 beq.n 6816 + 684e: 429d cmp r5, r3 + 6850: d0d5 beq.n 67fe if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 686a: f003 030f and.w r3, r3, #15 - 686e: 2b08 cmp r3, #8 - 6870: dcf2 bgt.n 6858 - 6872: 3202 adds r2, #2 - 6874: e7f3 b.n 685e + 6852: f003 030f and.w r3, r3, #15 + 6856: 2b08 cmp r3, #8 + 6858: dcf2 bgt.n 6840 + 685a: 3202 adds r2, #2 + 685c: e7f3 b.n 6846 else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6876: 2b0d cmp r3, #13 - 6878: bfd4 ite le - 687a: 3201 addle r2, #1 + 685e: 2b0d cmp r3, #13 + 6860: bfd4 ite le + 6862: 3201 addle r2, #1 else i += sizeof(const void *); - 687c: 3204 addgt r2, #4 - 687e: e7ee b.n 685e + 6864: 3204 addgt r2, #4 + 6866: e7ee b.n 6846 int16_t id_guess = -1; - 6880: f04f 3eff mov.w lr, #4294967295 - 6884: e7db b.n 683e - 6886: 460d mov r5, r1 + 6868: f04f 3eff mov.w lr, #4294967295 + 686c: e7db b.n 6826 + 686e: 460d mov r5, r1 uint32_t map_size = _lv_style_get_mem_size(style); - 6888: 4638 mov r0, r7 - 688a: 4b13 ldr r3, [pc, #76] ; (68d8 ) - 688c: 4798 blx r3 + 6870: 4638 mov r0, r7 + 6872: 4b13 ldr r3, [pc, #76] ; (68c0 ) + 6874: 4798 blx r3 if((prop & 0xF) < LV_STYLE_ID_COLOR) prop_size += sizeof(lv_style_int_t); - 688e: f005 010f and.w r1, r5, #15 + 6876: f005 010f and.w r1, r5, #15 else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t); - 6892: 290b cmp r1, #11 - 6894: dd04 ble.n 68a0 + 687a: 290b cmp r1, #11 + 687c: dd04 ble.n 6888 else prop_size += sizeof(const void *); - 6896: 290e cmp r1, #14 - 6898: bfb4 ite lt - 689a: 2103 movlt r1, #3 - 689c: 2106 movge r1, #6 - 689e: e000 b.n 68a2 + 687e: 290e cmp r1, #14 + 6880: bfb4 ite lt + 6882: 2103 movlt r1, #3 + 6884: 2106 movge r1, #6 + 6886: e000 b.n 688a else if((prop & 0xF) < LV_STYLE_ID_OPA) prop_size += sizeof(lv_color_t); - 68a0: 2104 movs r1, #4 + 6888: 2104 movs r1, #4 for(i = id; i < map_size - prop_size; i++) { - 68a2: 460d mov r5, r1 - 68a4: 1a41 subs r1, r0, r1 - 68a6: 428c cmp r4, r1 - 68a8: d207 bcs.n 68ba - 68aa: 4623 mov r3, r4 + 688a: 460d mov r5, r1 + 688c: 1a41 subs r1, r0, r1 + 688e: 428c cmp r4, r1 + 6890: d207 bcs.n 68a2 + 6892: 4623 mov r3, r4 style->map[i] = style->map[i + prop_size]; - 68ac: 683a ldr r2, [r7, #0] - 68ae: 1954 adds r4, r2, r5 - 68b0: 5ce4 ldrb r4, [r4, r3] - 68b2: 54d4 strb r4, [r2, r3] + 6894: 683a ldr r2, [r7, #0] + 6896: 1954 adds r4, r2, r5 + 6898: 5ce4 ldrb r4, [r4, r3] + 689a: 54d4 strb r4, [r2, r3] for(i = id; i < map_size - prop_size; i++) { - 68b4: 3301 adds r3, #1 - 68b6: 428b cmp r3, r1 - 68b8: d1f8 bne.n 68ac + 689c: 3301 adds r3, #1 + 689e: 428b cmp r3, r1 + 68a0: d1f8 bne.n 6894 style->map = lv_mem_realloc(style->map, map_size - prop_size); - 68ba: 6838 ldr r0, [r7, #0] - 68bc: 4b07 ldr r3, [pc, #28] ; (68dc ) - 68be: 4798 blx r3 - 68c0: 6038 str r0, [r7, #0] + 68a2: 6838 ldr r0, [r7, #0] + 68a4: 4b07 ldr r3, [pc, #28] ; (68c4 ) + 68a6: 4798 blx r3 + 68a8: 6038 str r0, [r7, #0] return true; - 68c2: 2001 movs r0, #1 - 68c4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 68aa: 2001 movs r0, #1 + 68ac: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} if(style == NULL) return false; - 68c8: 2000 movs r0, #0 - 68ca: 4770 bx lr + 68b0: 2000 movs r0, #0 + 68b2: 4770 bx lr return false; - 68cc: 2000 movs r0, #0 - 68ce: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 68d2: 2000 movs r0, #0 + 68b4: 2000 movs r0, #0 + 68b6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 68ba: 2000 movs r0, #0 } - 68d4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 68d8: 00006779 .word 0x00006779 - 68dc: 00012899 .word 0x00012899 + 68bc: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 68c0: 00006761 .word 0x00006761 + 68c4: 00012881 .word 0x00012881 -000068e0 <_lv_style_set_int>: +000068c8 <_lv_style_set_int>: { - 68e0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 68e4: b086 sub sp, #24 - 68e6: f8ad 100e strh.w r1, [sp, #14] - 68ea: f8ad 200c strh.w r2, [sp, #12] + 68c8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 68cc: b086 sub sp, #24 + 68ce: f8ad 100e strh.w r1, [sp, #14] + 68d2: f8ad 200c strh.w r2, [sp, #12] if(style->map == NULL) return -1; - 68ee: 6804 ldr r4, [r0, #0] - 68f0: 2c00 cmp r4, #0 - 68f2: d048 beq.n 6986 <_lv_style_set_int+0xa6> + 68d6: 6804 ldr r4, [r0, #0] + 68d8: 2c00 cmp r4, #0 + 68da: d048 beq.n 696e <_lv_style_set_int+0xa6> uint8_t id_to_find = prop & 0xFF; - 68f4: b2cf uxtb r7, r1 + 68dc: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 68f6: 0a0d lsrs r5, r1, #8 - 68f8: 46ae mov lr, r5 + 68de: 0a0d lsrs r5, r1, #8 + 68e0: 46ae mov lr, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 68fa: 7823 ldrb r3, [r4, #0] - 68fc: 2bff cmp r3, #255 ; 0xff - 68fe: d02c beq.n 695a <_lv_style_set_int+0x7a> - 6900: f04f 31ff mov.w r1, #4294967295 - 6904: 4688 mov r8, r1 - 6906: 2200 movs r2, #0 + 68e2: 7823 ldrb r3, [r4, #0] + 68e4: 2bff cmp r3, #255 ; 0xff + 68e6: d02c beq.n 6942 <_lv_style_set_int+0x7a> + 68e8: f04f 31ff mov.w r1, #4294967295 + 68ec: 4688 mov r8, r1 + 68ee: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6908: f3ce 0e06 ubfx lr, lr, #0, #7 - 690c: e018 b.n 6940 <_lv_style_set_int+0x60> + 68f0: f3ce 0e06 ubfx lr, lr, #0, #7 + 68f4: e018 b.n 6928 <_lv_style_set_int+0x60> attr_i.full = style->map[i + 1]; - 690e: 18a6 adds r6, r4, r2 - 6910: 7876 ldrb r6, [r6, #1] + 68f6: 18a6 adds r6, r4, r2 + 68f8: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 6912: ea85 0c06 eor.w ip, r5, r6 - 6916: f01c 0f7f tst.w ip, #127 ; 0x7f - 691a: d021 beq.n 6960 <_lv_style_set_int+0x80> + 68fa: ea85 0c06 eor.w ip, r5, r6 + 68fe: f01c 0f7f tst.w ip, #127 ; 0x7f + 6902: d021 beq.n 6948 <_lv_style_set_int+0x80> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 691c: f006 067f and.w r6, r6, #127 ; 0x7f - 6920: ea36 0c0e bics.w ip, r6, lr - 6924: d10e bne.n 6944 <_lv_style_set_int+0x64> + 6904: f006 067f and.w r6, r6, #127 ; 0x7f + 6908: ea36 0c0e bics.w ip, r6, lr + 690c: d10e bne.n 692c <_lv_style_set_int+0x64> if(attr_i.bits.state > weight) { - 6926: 4546 cmp r6, r8 + 690e: 4546 cmp r6, r8 weight = attr_i.bits.state; - 6928: bfc4 itt gt - 692a: fa0f f886 sxthgt.w r8, r6 + 6910: bfc4 itt gt + 6912: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 692e: b211 sxthgt r1, r2 - 6930: e008 b.n 6944 <_lv_style_set_int+0x64> + 6916: b211 sxthgt r1, r2 + 6918: e008 b.n 692c <_lv_style_set_int+0x64> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6932: 2b0b cmp r3, #11 - 6934: dc0c bgt.n 6950 <_lv_style_set_int+0x70> - 6936: 3202 adds r2, #2 + 691a: 2b0b cmp r3, #11 + 691c: dc0c bgt.n 6938 <_lv_style_set_int+0x70> + 691e: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 6938: 3202 adds r2, #2 + 6920: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 693a: 5ca3 ldrb r3, [r4, r2] - 693c: 2bff cmp r3, #255 ; 0xff - 693e: d00e beq.n 695e <_lv_style_set_int+0x7e> + 6922: 5ca3 ldrb r3, [r4, r2] + 6924: 2bff cmp r3, #255 ; 0xff + 6926: d00e beq.n 6946 <_lv_style_set_int+0x7e> if(style->map[i] == id_to_find) { - 6940: 429f cmp r7, r3 - 6942: d0e4 beq.n 690e <_lv_style_set_int+0x2e> + 6928: 429f cmp r7, r3 + 692a: d0e4 beq.n 68f6 <_lv_style_set_int+0x2e> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6944: f003 030f and.w r3, r3, #15 - 6948: 2b08 cmp r3, #8 - 694a: dcf2 bgt.n 6932 <_lv_style_set_int+0x52> - 694c: 3202 adds r2, #2 - 694e: e7f3 b.n 6938 <_lv_style_set_int+0x58> + 692c: f003 030f and.w r3, r3, #15 + 6930: 2b08 cmp r3, #8 + 6932: dcf2 bgt.n 691a <_lv_style_set_int+0x52> + 6934: 3202 adds r2, #2 + 6936: e7f3 b.n 6920 <_lv_style_set_int+0x58> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6950: 2b0d cmp r3, #13 - 6952: bfd4 ite le - 6954: 3201 addle r2, #1 + 6938: 2b0d cmp r3, #13 + 693a: bfd4 ite le + 693c: 3201 addle r2, #1 else i += sizeof(const void *); - 6956: 3204 addgt r2, #4 - 6958: e7ee b.n 6938 <_lv_style_set_int+0x58> + 693e: 3204 addgt r2, #4 + 6940: e7ee b.n 6920 <_lv_style_set_int+0x58> int16_t id_guess = -1; - 695a: f04f 31ff mov.w r1, #4294967295 + 6942: f04f 31ff mov.w r1, #4294967295 return id_guess; - 695e: 460a mov r2, r1 + 6946: 460a mov r2, r1 if(id >= 0) { - 6960: 2a00 cmp r2, #0 - 6962: db10 blt.n 6986 <_lv_style_set_int+0xa6> + 6948: 2a00 cmp r2, #0 + 694a: db10 blt.n 696e <_lv_style_set_int+0xa6> attr_found.full = *(style->map + id + 1); - 6964: 18a3 adds r3, r4, r2 + 694c: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 6966: 785b ldrb r3, [r3, #1] - 6968: 405d eors r5, r3 - 696a: f015 0f7f tst.w r5, #127 ; 0x7f - 696e: d10a bne.n 6986 <_lv_style_set_int+0xa6> + 694e: 785b ldrb r3, [r3, #1] + 6950: 405d eors r5, r3 + 6952: f015 0f7f tst.w r5, #127 ; 0x7f + 6956: d10a bne.n 696e <_lv_style_set_int+0xa6> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &value, sizeof(lv_style_int_t)); - 6970: 3202 adds r2, #2 - 6972: 18a3 adds r3, r4, r2 + 6958: 3202 adds r2, #2 + 695a: 18a3 adds r3, r4, r2 *d8 = *s8; - 6974: f89d 100c ldrb.w r1, [sp, #12] - 6978: 54a1 strb r1, [r4, r2] - 697a: f89d 200d ldrb.w r2, [sp, #13] - 697e: 705a strb r2, [r3, #1] -} - 6980: b006 add sp, #24 - 6982: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 6986: 4606 mov r6, r0 + 695c: f89d 100c ldrb.w r1, [sp, #12] + 6960: 54a1 strb r1, [r4, r2] + 6962: f89d 200d ldrb.w r2, [sp, #13] + 6966: 705a strb r2, [r3, #1] +} + 6968: b006 add sp, #24 + 696a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 696e: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 6988: 23ff movs r3, #255 ; 0xff - 698a: f8ad 3016 strh.w r3, [sp, #22] + 6970: 23ff movs r3, #255 ; 0xff + 6972: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 698e: 4b1d ldr r3, [pc, #116] ; (6a04 <_lv_style_set_int+0x124>) - 6990: 4798 blx r3 + 6976: 4b1d ldr r3, [pc, #116] ; (69ec <_lv_style_set_int+0x124>) + 6978: 4798 blx r3 if(size == 0) size += end_mark_size; - 6992: 2800 cmp r0, #0 - 6994: bf08 it eq - 6996: 2002 moveq r0, #2 + 697a: 2800 cmp r0, #0 + 697c: bf08 it eq + 697e: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_style_int_t); - 6998: 1d05 adds r5, r0, #4 + 6980: 1d05 adds r5, r0, #4 style->map = lv_mem_realloc(style->map, size); - 699a: b2ad uxth r5, r5 - 699c: 4629 mov r1, r5 - 699e: 4620 mov r0, r4 - 69a0: 4b19 ldr r3, [pc, #100] ; (6a08 <_lv_style_set_int+0x128>) - 69a2: 4798 blx r3 - 69a4: 6030 str r0, [r6, #0] + 6982: b2ad uxth r5, r5 + 6984: 4629 mov r1, r5 + 6986: 4620 mov r0, r4 + 6988: 4b19 ldr r3, [pc, #100] ; (69f0 <_lv_style_set_int+0x128>) + 698a: 4798 blx r3 + 698c: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 69a6: 4b19 ldr r3, [pc, #100] ; (6a0c <_lv_style_set_int+0x12c>) - 69a8: 4798 blx r3 - 69aa: b1e8 cbz r0, 69e8 <_lv_style_set_int+0x108> + 698e: 4b19 ldr r3, [pc, #100] ; (69f4 <_lv_style_set_int+0x12c>) + 6990: 4798 blx r3 + 6992: b1e8 cbz r0, 69d0 <_lv_style_set_int+0x108> if(style == NULL) return; - 69ac: 2e00 cmp r6, #0 - 69ae: d0e7 beq.n 6980 <_lv_style_set_int+0xa0> + 6994: 2e00 cmp r6, #0 + 6996: d0e7 beq.n 6968 <_lv_style_set_int+0xa0> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 69b0: 1fab subs r3, r5, #6 - 69b2: 6832 ldr r2, [r6, #0] - 69b4: 18d1 adds r1, r2, r3 - 69b6: f89d 000e ldrb.w r0, [sp, #14] - 69ba: 54d0 strb r0, [r2, r3] - 69bc: f89d 300f ldrb.w r3, [sp, #15] - 69c0: 704b strb r3, [r1, #1] - 69c2: 1f2b subs r3, r5, #4 + 6998: 1fab subs r3, r5, #6 + 699a: 6832 ldr r2, [r6, #0] + 699c: 18d1 adds r1, r2, r3 + 699e: f89d 000e ldrb.w r0, [sp, #14] + 69a2: 54d0 strb r0, [r2, r3] + 69a4: f89d 300f ldrb.w r3, [sp, #15] + 69a8: 704b strb r3, [r1, #1] + 69aa: 1f2b subs r3, r5, #4 _lv_memcpy_small(style->map + size - sizeof(lv_style_int_t) - end_mark_size, &value, sizeof(lv_style_int_t)); - 69c4: 6832 ldr r2, [r6, #0] - 69c6: 18d1 adds r1, r2, r3 - 69c8: f89d 000c ldrb.w r0, [sp, #12] - 69cc: 54d0 strb r0, [r2, r3] - 69ce: f89d 300d ldrb.w r3, [sp, #13] - 69d2: 704b strb r3, [r1, #1] - 69d4: 3d02 subs r5, #2 + 69ac: 6832 ldr r2, [r6, #0] + 69ae: 18d1 adds r1, r2, r3 + 69b0: f89d 000c ldrb.w r0, [sp, #12] + 69b4: 54d0 strb r0, [r2, r3] + 69b6: f89d 300d ldrb.w r3, [sp, #13] + 69ba: 704b strb r3, [r1, #1] + 69bc: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 69d6: 6833 ldr r3, [r6, #0] - 69d8: 195a adds r2, r3, r5 - 69da: f89d 1016 ldrb.w r1, [sp, #22] - 69de: 5559 strb r1, [r3, r5] - 69e0: f89d 3017 ldrb.w r3, [sp, #23] - 69e4: 7053 strb r3, [r2, #1] - 69e6: e7cb b.n 6980 <_lv_style_set_int+0xa0> + 69be: 6833 ldr r3, [r6, #0] + 69c0: 195a adds r2, r3, r5 + 69c2: f89d 1016 ldrb.w r1, [sp, #22] + 69c6: 5559 strb r1, [r3, r5] + 69c8: f89d 3017 ldrb.w r3, [sp, #23] + 69cc: 7053 strb r3, [r2, #1] + 69ce: e7cb b.n 6968 <_lv_style_set_int+0xa0> LV_ASSERT_MEM(style->map); - 69e8: 4b09 ldr r3, [pc, #36] ; (6a10 <_lv_style_set_int+0x130>) - 69ea: 9300 str r3, [sp, #0] - 69ec: f44f 72c3 mov.w r2, #390 ; 0x186 - 69f0: 4908 ldr r1, [pc, #32] ; (6a14 <_lv_style_set_int+0x134>) - 69f2: 2003 movs r0, #3 - 69f4: 4c08 ldr r4, [pc, #32] ; (6a18 <_lv_style_set_int+0x138>) - 69f6: 47a0 blx r4 - 69f8: 6832 ldr r2, [r6, #0] - 69fa: 2300 movs r3, #0 - 69fc: 4807 ldr r0, [pc, #28] ; (6a1c <_lv_style_set_int+0x13c>) - 69fe: 4908 ldr r1, [pc, #32] ; (6a20 <_lv_style_set_int+0x140>) - 6a00: 4788 blx r1 - 6a02: e7fe b.n 6a02 <_lv_style_set_int+0x122> - 6a04: 00006779 .word 0x00006779 - 6a08: 00012899 .word 0x00012899 - 6a0c: 000022b1 .word 0x000022b1 - 6a10: 00024acc .word 0x00024acc - 6a14: 00024b3c .word 0x00024b3c - 6a18: 0001225d .word 0x0001225d - 6a1c: 00023fd8 .word 0x00023fd8 - 6a20: 000022b9 .word 0x000022b9 - -00006a24 <_lv_style_set_color>: -{ - 6a24: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 6a28: b086 sub sp, #24 - 6a2a: f8ad 200c strh.w r2, [sp, #12] - 6a2e: f8ad 100e strh.w r1, [sp, #14] + 69d0: 4b09 ldr r3, [pc, #36] ; (69f8 <_lv_style_set_int+0x130>) + 69d2: 9300 str r3, [sp, #0] + 69d4: f44f 72c3 mov.w r2, #390 ; 0x186 + 69d8: 4908 ldr r1, [pc, #32] ; (69fc <_lv_style_set_int+0x134>) + 69da: 2003 movs r0, #3 + 69dc: 4c08 ldr r4, [pc, #32] ; (6a00 <_lv_style_set_int+0x138>) + 69de: 47a0 blx r4 + 69e0: 6832 ldr r2, [r6, #0] + 69e2: 2300 movs r3, #0 + 69e4: 4807 ldr r0, [pc, #28] ; (6a04 <_lv_style_set_int+0x13c>) + 69e6: 4908 ldr r1, [pc, #32] ; (6a08 <_lv_style_set_int+0x140>) + 69e8: 4788 blx r1 + 69ea: e7fe b.n 69ea <_lv_style_set_int+0x122> + 69ec: 00006761 .word 0x00006761 + 69f0: 00012881 .word 0x00012881 + 69f4: 00002299 .word 0x00002299 + 69f8: 00024ab4 .word 0x00024ab4 + 69fc: 00024b24 .word 0x00024b24 + 6a00: 00012245 .word 0x00012245 + 6a04: 00023fc0 .word 0x00023fc0 + 6a08: 000022a1 .word 0x000022a1 + +00006a0c <_lv_style_set_color>: +{ + 6a0c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 6a10: b086 sub sp, #24 + 6a12: f8ad 200c strh.w r2, [sp, #12] + 6a16: f8ad 100e strh.w r1, [sp, #14] if(style->map == NULL) return -1; - 6a32: 6804 ldr r4, [r0, #0] - 6a34: 2c00 cmp r4, #0 - 6a36: d048 beq.n 6aca <_lv_style_set_color+0xa6> + 6a1a: 6804 ldr r4, [r0, #0] + 6a1c: 2c00 cmp r4, #0 + 6a1e: d048 beq.n 6ab2 <_lv_style_set_color+0xa6> uint8_t id_to_find = prop & 0xFF; - 6a38: b2cf uxtb r7, r1 + 6a20: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 6a3a: 0a0d lsrs r5, r1, #8 - 6a3c: 46ae mov lr, r5 + 6a22: 0a0d lsrs r5, r1, #8 + 6a24: 46ae mov lr, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6a3e: 7823 ldrb r3, [r4, #0] - 6a40: 2bff cmp r3, #255 ; 0xff - 6a42: d02c beq.n 6a9e <_lv_style_set_color+0x7a> - 6a44: f04f 31ff mov.w r1, #4294967295 - 6a48: 4688 mov r8, r1 - 6a4a: 2200 movs r2, #0 + 6a26: 7823 ldrb r3, [r4, #0] + 6a28: 2bff cmp r3, #255 ; 0xff + 6a2a: d02c beq.n 6a86 <_lv_style_set_color+0x7a> + 6a2c: f04f 31ff mov.w r1, #4294967295 + 6a30: 4688 mov r8, r1 + 6a32: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6a4c: f3ce 0e06 ubfx lr, lr, #0, #7 - 6a50: e018 b.n 6a84 <_lv_style_set_color+0x60> + 6a34: f3ce 0e06 ubfx lr, lr, #0, #7 + 6a38: e018 b.n 6a6c <_lv_style_set_color+0x60> attr_i.full = style->map[i + 1]; - 6a52: 18a6 adds r6, r4, r2 - 6a54: 7876 ldrb r6, [r6, #1] + 6a3a: 18a6 adds r6, r4, r2 + 6a3c: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 6a56: ea85 0c06 eor.w ip, r5, r6 - 6a5a: f01c 0f7f tst.w ip, #127 ; 0x7f - 6a5e: d021 beq.n 6aa4 <_lv_style_set_color+0x80> + 6a3e: ea85 0c06 eor.w ip, r5, r6 + 6a42: f01c 0f7f tst.w ip, #127 ; 0x7f + 6a46: d021 beq.n 6a8c <_lv_style_set_color+0x80> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6a60: f006 067f and.w r6, r6, #127 ; 0x7f - 6a64: ea36 0c0e bics.w ip, r6, lr - 6a68: d10e bne.n 6a88 <_lv_style_set_color+0x64> + 6a48: f006 067f and.w r6, r6, #127 ; 0x7f + 6a4c: ea36 0c0e bics.w ip, r6, lr + 6a50: d10e bne.n 6a70 <_lv_style_set_color+0x64> if(attr_i.bits.state > weight) { - 6a6a: 4546 cmp r6, r8 + 6a52: 4546 cmp r6, r8 weight = attr_i.bits.state; - 6a6c: bfc4 itt gt - 6a6e: fa0f f886 sxthgt.w r8, r6 + 6a54: bfc4 itt gt + 6a56: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 6a72: b211 sxthgt r1, r2 - 6a74: e008 b.n 6a88 <_lv_style_set_color+0x64> + 6a5a: b211 sxthgt r1, r2 + 6a5c: e008 b.n 6a70 <_lv_style_set_color+0x64> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6a76: 2b0b cmp r3, #11 - 6a78: dc0c bgt.n 6a94 <_lv_style_set_color+0x70> - 6a7a: 3202 adds r2, #2 + 6a5e: 2b0b cmp r3, #11 + 6a60: dc0c bgt.n 6a7c <_lv_style_set_color+0x70> + 6a62: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 6a7c: 3202 adds r2, #2 + 6a64: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6a7e: 5ca3 ldrb r3, [r4, r2] - 6a80: 2bff cmp r3, #255 ; 0xff - 6a82: d00e beq.n 6aa2 <_lv_style_set_color+0x7e> + 6a66: 5ca3 ldrb r3, [r4, r2] + 6a68: 2bff cmp r3, #255 ; 0xff + 6a6a: d00e beq.n 6a8a <_lv_style_set_color+0x7e> if(style->map[i] == id_to_find) { - 6a84: 429f cmp r7, r3 - 6a86: d0e4 beq.n 6a52 <_lv_style_set_color+0x2e> + 6a6c: 429f cmp r7, r3 + 6a6e: d0e4 beq.n 6a3a <_lv_style_set_color+0x2e> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6a88: f003 030f and.w r3, r3, #15 - 6a8c: 2b08 cmp r3, #8 - 6a8e: dcf2 bgt.n 6a76 <_lv_style_set_color+0x52> - 6a90: 3202 adds r2, #2 - 6a92: e7f3 b.n 6a7c <_lv_style_set_color+0x58> + 6a70: f003 030f and.w r3, r3, #15 + 6a74: 2b08 cmp r3, #8 + 6a76: dcf2 bgt.n 6a5e <_lv_style_set_color+0x52> + 6a78: 3202 adds r2, #2 + 6a7a: e7f3 b.n 6a64 <_lv_style_set_color+0x58> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6a94: 2b0d cmp r3, #13 - 6a96: bfd4 ite le - 6a98: 3201 addle r2, #1 + 6a7c: 2b0d cmp r3, #13 + 6a7e: bfd4 ite le + 6a80: 3201 addle r2, #1 else i += sizeof(const void *); - 6a9a: 3204 addgt r2, #4 - 6a9c: e7ee b.n 6a7c <_lv_style_set_color+0x58> + 6a82: 3204 addgt r2, #4 + 6a84: e7ee b.n 6a64 <_lv_style_set_color+0x58> int16_t id_guess = -1; - 6a9e: f04f 31ff mov.w r1, #4294967295 + 6a86: f04f 31ff mov.w r1, #4294967295 return id_guess; - 6aa2: 460a mov r2, r1 + 6a8a: 460a mov r2, r1 if(id >= 0) { - 6aa4: 2a00 cmp r2, #0 - 6aa6: db10 blt.n 6aca <_lv_style_set_color+0xa6> + 6a8c: 2a00 cmp r2, #0 + 6a8e: db10 blt.n 6ab2 <_lv_style_set_color+0xa6> attr_found.full = *(style->map + id + 1); - 6aa8: 18a3 adds r3, r4, r2 + 6a90: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 6aaa: 785b ldrb r3, [r3, #1] - 6aac: 405d eors r5, r3 - 6aae: f015 0f7f tst.w r5, #127 ; 0x7f - 6ab2: d10a bne.n 6aca <_lv_style_set_color+0xa6> + 6a92: 785b ldrb r3, [r3, #1] + 6a94: 405d eors r5, r3 + 6a96: f015 0f7f tst.w r5, #127 ; 0x7f + 6a9a: d10a bne.n 6ab2 <_lv_style_set_color+0xa6> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &color, sizeof(lv_color_t)); - 6ab4: 3202 adds r2, #2 - 6ab6: 18a3 adds r3, r4, r2 - 6ab8: f89d 100c ldrb.w r1, [sp, #12] - 6abc: 54a1 strb r1, [r4, r2] - 6abe: f89d 200d ldrb.w r2, [sp, #13] - 6ac2: 705a strb r2, [r3, #1] -} - 6ac4: b006 add sp, #24 - 6ac6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 6aca: 4606 mov r6, r0 + 6a9c: 3202 adds r2, #2 + 6a9e: 18a3 adds r3, r4, r2 + 6aa0: f89d 100c ldrb.w r1, [sp, #12] + 6aa4: 54a1 strb r1, [r4, r2] + 6aa6: f89d 200d ldrb.w r2, [sp, #13] + 6aaa: 705a strb r2, [r3, #1] +} + 6aac: b006 add sp, #24 + 6aae: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 6ab2: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 6acc: 23ff movs r3, #255 ; 0xff - 6ace: f8ad 3016 strh.w r3, [sp, #22] + 6ab4: 23ff movs r3, #255 ; 0xff + 6ab6: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 6ad2: 4b1d ldr r3, [pc, #116] ; (6b48 <_lv_style_set_color+0x124>) - 6ad4: 4798 blx r3 + 6aba: 4b1d ldr r3, [pc, #116] ; (6b30 <_lv_style_set_color+0x124>) + 6abc: 4798 blx r3 if(size == 0) size += end_mark_size; - 6ad6: 2800 cmp r0, #0 - 6ad8: bf08 it eq - 6ada: 2002 moveq r0, #2 + 6abe: 2800 cmp r0, #0 + 6ac0: bf08 it eq + 6ac2: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_color_t); - 6adc: 1d05 adds r5, r0, #4 + 6ac4: 1d05 adds r5, r0, #4 style->map = lv_mem_realloc(style->map, size); - 6ade: b2ad uxth r5, r5 - 6ae0: 4629 mov r1, r5 - 6ae2: 4620 mov r0, r4 - 6ae4: 4b19 ldr r3, [pc, #100] ; (6b4c <_lv_style_set_color+0x128>) - 6ae6: 4798 blx r3 - 6ae8: 6030 str r0, [r6, #0] + 6ac6: b2ad uxth r5, r5 + 6ac8: 4629 mov r1, r5 + 6aca: 4620 mov r0, r4 + 6acc: 4b19 ldr r3, [pc, #100] ; (6b34 <_lv_style_set_color+0x128>) + 6ace: 4798 blx r3 + 6ad0: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 6aea: 4b19 ldr r3, [pc, #100] ; (6b50 <_lv_style_set_color+0x12c>) - 6aec: 4798 blx r3 - 6aee: b1e8 cbz r0, 6b2c <_lv_style_set_color+0x108> + 6ad2: 4b19 ldr r3, [pc, #100] ; (6b38 <_lv_style_set_color+0x12c>) + 6ad4: 4798 blx r3 + 6ad6: b1e8 cbz r0, 6b14 <_lv_style_set_color+0x108> if(style == NULL) return; - 6af0: 2e00 cmp r6, #0 - 6af2: d0e7 beq.n 6ac4 <_lv_style_set_color+0xa0> + 6ad8: 2e00 cmp r6, #0 + 6ada: d0e7 beq.n 6aac <_lv_style_set_color+0xa0> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 6af4: 1fab subs r3, r5, #6 - 6af6: 6832 ldr r2, [r6, #0] - 6af8: 18d1 adds r1, r2, r3 - 6afa: f89d 000e ldrb.w r0, [sp, #14] - 6afe: 54d0 strb r0, [r2, r3] - 6b00: f89d 300f ldrb.w r3, [sp, #15] - 6b04: 704b strb r3, [r1, #1] - 6b06: 1f2b subs r3, r5, #4 + 6adc: 1fab subs r3, r5, #6 + 6ade: 6832 ldr r2, [r6, #0] + 6ae0: 18d1 adds r1, r2, r3 + 6ae2: f89d 000e ldrb.w r0, [sp, #14] + 6ae6: 54d0 strb r0, [r2, r3] + 6ae8: f89d 300f ldrb.w r3, [sp, #15] + 6aec: 704b strb r3, [r1, #1] + 6aee: 1f2b subs r3, r5, #4 _lv_memcpy_small(style->map + size - sizeof(lv_color_t) - end_mark_size, &color, sizeof(lv_color_t)); - 6b08: 6832 ldr r2, [r6, #0] - 6b0a: 18d1 adds r1, r2, r3 - 6b0c: f89d 000c ldrb.w r0, [sp, #12] - 6b10: 54d0 strb r0, [r2, r3] - 6b12: f89d 300d ldrb.w r3, [sp, #13] - 6b16: 704b strb r3, [r1, #1] - 6b18: 3d02 subs r5, #2 + 6af0: 6832 ldr r2, [r6, #0] + 6af2: 18d1 adds r1, r2, r3 + 6af4: f89d 000c ldrb.w r0, [sp, #12] + 6af8: 54d0 strb r0, [r2, r3] + 6afa: f89d 300d ldrb.w r3, [sp, #13] + 6afe: 704b strb r3, [r1, #1] + 6b00: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 6b1a: 6833 ldr r3, [r6, #0] - 6b1c: 195a adds r2, r3, r5 - 6b1e: f89d 1016 ldrb.w r1, [sp, #22] - 6b22: 5559 strb r1, [r3, r5] - 6b24: f89d 3017 ldrb.w r3, [sp, #23] - 6b28: 7053 strb r3, [r2, #1] - 6b2a: e7cb b.n 6ac4 <_lv_style_set_color+0xa0> + 6b02: 6833 ldr r3, [r6, #0] + 6b04: 195a adds r2, r3, r5 + 6b06: f89d 1016 ldrb.w r1, [sp, #22] + 6b0a: 5559 strb r1, [r3, r5] + 6b0c: f89d 3017 ldrb.w r3, [sp, #23] + 6b10: 7053 strb r3, [r2, #1] + 6b12: e7cb b.n 6aac <_lv_style_set_color+0xa0> LV_ASSERT_MEM(style->map); - 6b2c: 4b09 ldr r3, [pc, #36] ; (6b54 <_lv_style_set_color+0x130>) - 6b2e: 9300 str r3, [sp, #0] - 6b30: f240 12b5 movw r2, #437 ; 0x1b5 - 6b34: 4908 ldr r1, [pc, #32] ; (6b58 <_lv_style_set_color+0x134>) - 6b36: 2003 movs r0, #3 - 6b38: 4c08 ldr r4, [pc, #32] ; (6b5c <_lv_style_set_color+0x138>) - 6b3a: 47a0 blx r4 - 6b3c: 6832 ldr r2, [r6, #0] - 6b3e: 2300 movs r3, #0 - 6b40: 4807 ldr r0, [pc, #28] ; (6b60 <_lv_style_set_color+0x13c>) - 6b42: 4908 ldr r1, [pc, #32] ; (6b64 <_lv_style_set_color+0x140>) - 6b44: 4788 blx r1 - 6b46: e7fe b.n 6b46 <_lv_style_set_color+0x122> - 6b48: 00006779 .word 0x00006779 - 6b4c: 00012899 .word 0x00012899 - 6b50: 000022b1 .word 0x000022b1 - 6b54: 00024ae0 .word 0x00024ae0 - 6b58: 00024b3c .word 0x00024b3c - 6b5c: 0001225d .word 0x0001225d - 6b60: 00023fd8 .word 0x00023fd8 - 6b64: 000022b9 .word 0x000022b9 - -00006b68 <_lv_style_set_opa>: -{ - 6b68: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 6b6c: b087 sub sp, #28 - 6b6e: f8ad 100e strh.w r1, [sp, #14] + 6b14: 4b09 ldr r3, [pc, #36] ; (6b3c <_lv_style_set_color+0x130>) + 6b16: 9300 str r3, [sp, #0] + 6b18: f240 12b5 movw r2, #437 ; 0x1b5 + 6b1c: 4908 ldr r1, [pc, #32] ; (6b40 <_lv_style_set_color+0x134>) + 6b1e: 2003 movs r0, #3 + 6b20: 4c08 ldr r4, [pc, #32] ; (6b44 <_lv_style_set_color+0x138>) + 6b22: 47a0 blx r4 + 6b24: 6832 ldr r2, [r6, #0] + 6b26: 2300 movs r3, #0 + 6b28: 4807 ldr r0, [pc, #28] ; (6b48 <_lv_style_set_color+0x13c>) + 6b2a: 4908 ldr r1, [pc, #32] ; (6b4c <_lv_style_set_color+0x140>) + 6b2c: 4788 blx r1 + 6b2e: e7fe b.n 6b2e <_lv_style_set_color+0x122> + 6b30: 00006761 .word 0x00006761 + 6b34: 00012881 .word 0x00012881 + 6b38: 00002299 .word 0x00002299 + 6b3c: 00024ac8 .word 0x00024ac8 + 6b40: 00024b24 .word 0x00024b24 + 6b44: 00012245 .word 0x00012245 + 6b48: 00023fc0 .word 0x00023fc0 + 6b4c: 000022a1 .word 0x000022a1 + +00006b50 <_lv_style_set_opa>: +{ + 6b50: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6b54: b087 sub sp, #28 + 6b56: f8ad 100e strh.w r1, [sp, #14] if(style->map == NULL) return -1; - 6b72: 6804 ldr r4, [r0, #0] - 6b74: 2c00 cmp r4, #0 - 6b76: d043 beq.n 6c00 <_lv_style_set_opa+0x98> + 6b5a: 6804 ldr r4, [r0, #0] + 6b5c: 2c00 cmp r4, #0 + 6b5e: d043 beq.n 6be8 <_lv_style_set_opa+0x98> uint8_t id_to_find = prop & 0xFF; - 6b78: fa5f fe81 uxtb.w lr, r1 + 6b60: fa5f fe81 uxtb.w lr, r1 attr.full = (prop >> 8) & 0xFF; - 6b7c: 0a0d lsrs r5, r1, #8 - 6b7e: 46ac mov ip, r5 + 6b64: 0a0d lsrs r5, r1, #8 + 6b66: 46ac mov ip, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6b80: 7823 ldrb r3, [r4, #0] - 6b82: 2bff cmp r3, #255 ; 0xff - 6b84: d02c beq.n 6be0 <_lv_style_set_opa+0x78> - 6b86: f04f 37ff mov.w r7, #4294967295 - 6b8a: 46b8 mov r8, r7 - 6b8c: 2100 movs r1, #0 + 6b68: 7823 ldrb r3, [r4, #0] + 6b6a: 2bff cmp r3, #255 ; 0xff + 6b6c: d02c beq.n 6bc8 <_lv_style_set_opa+0x78> + 6b6e: f04f 37ff mov.w r7, #4294967295 + 6b72: 46b8 mov r8, r7 + 6b74: 2100 movs r1, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6b8e: f3cc 0c06 ubfx ip, ip, #0, #7 - 6b92: e018 b.n 6bc6 <_lv_style_set_opa+0x5e> + 6b76: f3cc 0c06 ubfx ip, ip, #0, #7 + 6b7a: e018 b.n 6bae <_lv_style_set_opa+0x5e> attr_i.full = style->map[i + 1]; - 6b94: 1866 adds r6, r4, r1 - 6b96: 7876 ldrb r6, [r6, #1] + 6b7c: 1866 adds r6, r4, r1 + 6b7e: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 6b98: ea85 0906 eor.w r9, r5, r6 - 6b9c: f019 0f7f tst.w r9, #127 ; 0x7f - 6ba0: d021 beq.n 6be6 <_lv_style_set_opa+0x7e> + 6b80: ea85 0906 eor.w r9, r5, r6 + 6b84: f019 0f7f tst.w r9, #127 ; 0x7f + 6b88: d021 beq.n 6bce <_lv_style_set_opa+0x7e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6ba2: f006 067f and.w r6, r6, #127 ; 0x7f - 6ba6: ea36 090c bics.w r9, r6, ip - 6baa: d10e bne.n 6bca <_lv_style_set_opa+0x62> + 6b8a: f006 067f and.w r6, r6, #127 ; 0x7f + 6b8e: ea36 090c bics.w r9, r6, ip + 6b92: d10e bne.n 6bb2 <_lv_style_set_opa+0x62> if(attr_i.bits.state > weight) { - 6bac: 4546 cmp r6, r8 + 6b94: 4546 cmp r6, r8 weight = attr_i.bits.state; - 6bae: bfc4 itt gt - 6bb0: fa0f f886 sxthgt.w r8, r6 + 6b96: bfc4 itt gt + 6b98: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 6bb4: b20f sxthgt r7, r1 - 6bb6: e008 b.n 6bca <_lv_style_set_opa+0x62> + 6b9c: b20f sxthgt r7, r1 + 6b9e: e008 b.n 6bb2 <_lv_style_set_opa+0x62> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6bb8: 2b0b cmp r3, #11 - 6bba: dc0c bgt.n 6bd6 <_lv_style_set_opa+0x6e> - 6bbc: 3102 adds r1, #2 + 6ba0: 2b0b cmp r3, #11 + 6ba2: dc0c bgt.n 6bbe <_lv_style_set_opa+0x6e> + 6ba4: 3102 adds r1, #2 i += sizeof(lv_style_property_t); - 6bbe: 3102 adds r1, #2 + 6ba6: 3102 adds r1, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6bc0: 5c63 ldrb r3, [r4, r1] - 6bc2: 2bff cmp r3, #255 ; 0xff - 6bc4: d00e beq.n 6be4 <_lv_style_set_opa+0x7c> + 6ba8: 5c63 ldrb r3, [r4, r1] + 6baa: 2bff cmp r3, #255 ; 0xff + 6bac: d00e beq.n 6bcc <_lv_style_set_opa+0x7c> if(style->map[i] == id_to_find) { - 6bc6: 459e cmp lr, r3 - 6bc8: d0e4 beq.n 6b94 <_lv_style_set_opa+0x2c> + 6bae: 459e cmp lr, r3 + 6bb0: d0e4 beq.n 6b7c <_lv_style_set_opa+0x2c> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6bca: f003 030f and.w r3, r3, #15 - 6bce: 2b08 cmp r3, #8 - 6bd0: dcf2 bgt.n 6bb8 <_lv_style_set_opa+0x50> - 6bd2: 3102 adds r1, #2 - 6bd4: e7f3 b.n 6bbe <_lv_style_set_opa+0x56> + 6bb2: f003 030f and.w r3, r3, #15 + 6bb6: 2b08 cmp r3, #8 + 6bb8: dcf2 bgt.n 6ba0 <_lv_style_set_opa+0x50> + 6bba: 3102 adds r1, #2 + 6bbc: e7f3 b.n 6ba6 <_lv_style_set_opa+0x56> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6bd6: 2b0d cmp r3, #13 - 6bd8: bfd4 ite le - 6bda: 3101 addle r1, #1 + 6bbe: 2b0d cmp r3, #13 + 6bc0: bfd4 ite le + 6bc2: 3101 addle r1, #1 else i += sizeof(const void *); - 6bdc: 3104 addgt r1, #4 - 6bde: e7ee b.n 6bbe <_lv_style_set_opa+0x56> + 6bc4: 3104 addgt r1, #4 + 6bc6: e7ee b.n 6ba6 <_lv_style_set_opa+0x56> int16_t id_guess = -1; - 6be0: f04f 37ff mov.w r7, #4294967295 + 6bc8: f04f 37ff mov.w r7, #4294967295 return id_guess; - 6be4: 4639 mov r1, r7 + 6bcc: 4639 mov r1, r7 if(id >= 0) { - 6be6: 2900 cmp r1, #0 - 6be8: db0a blt.n 6c00 <_lv_style_set_opa+0x98> + 6bce: 2900 cmp r1, #0 + 6bd0: db0a blt.n 6be8 <_lv_style_set_opa+0x98> attr_found.full = *(style->map + id + 1); - 6bea: 1863 adds r3, r4, r1 + 6bd2: 1863 adds r3, r4, r1 if(attr_found.bits.state == attr_goal.bits.state) { - 6bec: 785b ldrb r3, [r3, #1] - 6bee: 405d eors r5, r3 - 6bf0: f015 0f7f tst.w r5, #127 ; 0x7f - 6bf4: d104 bne.n 6c00 <_lv_style_set_opa+0x98> - 6bf6: 4421 add r1, r4 - 6bf8: 708a strb r2, [r1, #2] -} - 6bfa: b007 add sp, #28 - 6bfc: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} - 6c00: 4617 mov r7, r2 - 6c02: 4606 mov r6, r0 + 6bd4: 785b ldrb r3, [r3, #1] + 6bd6: 405d eors r5, r3 + 6bd8: f015 0f7f tst.w r5, #127 ; 0x7f + 6bdc: d104 bne.n 6be8 <_lv_style_set_opa+0x98> + 6bde: 4421 add r1, r4 + 6be0: 708a strb r2, [r1, #2] +} + 6be2: b007 add sp, #28 + 6be4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6be8: 4617 mov r7, r2 + 6bea: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 6c04: 23ff movs r3, #255 ; 0xff - 6c06: f8ad 3016 strh.w r3, [sp, #22] + 6bec: 23ff movs r3, #255 ; 0xff + 6bee: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 6c0a: 4b1b ldr r3, [pc, #108] ; (6c78 <_lv_style_set_opa+0x110>) - 6c0c: 4798 blx r3 + 6bf2: 4b1b ldr r3, [pc, #108] ; (6c60 <_lv_style_set_opa+0x110>) + 6bf4: 4798 blx r3 if(size == 0) size += end_mark_size; - 6c0e: 2800 cmp r0, #0 - 6c10: bf08 it eq - 6c12: 2002 moveq r0, #2 + 6bf6: 2800 cmp r0, #0 + 6bf8: bf08 it eq + 6bfa: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(lv_opa_t); - 6c14: 1cc5 adds r5, r0, #3 + 6bfc: 1cc5 adds r5, r0, #3 style->map = lv_mem_realloc(style->map, size); - 6c16: b2ad uxth r5, r5 - 6c18: 4629 mov r1, r5 - 6c1a: 4620 mov r0, r4 - 6c1c: 4b17 ldr r3, [pc, #92] ; (6c7c <_lv_style_set_opa+0x114>) - 6c1e: 4798 blx r3 - 6c20: 6030 str r0, [r6, #0] + 6bfe: b2ad uxth r5, r5 + 6c00: 4629 mov r1, r5 + 6c02: 4620 mov r0, r4 + 6c04: 4b17 ldr r3, [pc, #92] ; (6c64 <_lv_style_set_opa+0x114>) + 6c06: 4798 blx r3 + 6c08: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 6c22: 4b17 ldr r3, [pc, #92] ; (6c80 <_lv_style_set_opa+0x118>) - 6c24: 4798 blx r3 - 6c26: b1c0 cbz r0, 6c5a <_lv_style_set_opa+0xf2> + 6c0a: 4b17 ldr r3, [pc, #92] ; (6c68 <_lv_style_set_opa+0x118>) + 6c0c: 4798 blx r3 + 6c0e: b1c0 cbz r0, 6c42 <_lv_style_set_opa+0xf2> if(style == NULL) return; - 6c28: 2e00 cmp r6, #0 - 6c2a: d0e6 beq.n 6bfa <_lv_style_set_opa+0x92> + 6c10: 2e00 cmp r6, #0 + 6c12: d0e6 beq.n 6be2 <_lv_style_set_opa+0x92> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 6c2c: 1f6b subs r3, r5, #5 - 6c2e: 6832 ldr r2, [r6, #0] - 6c30: 18d1 adds r1, r2, r3 - 6c32: f89d 000e ldrb.w r0, [sp, #14] - 6c36: 54d0 strb r0, [r2, r3] - 6c38: f89d 300f ldrb.w r3, [sp, #15] - 6c3c: 704b strb r3, [r1, #1] - 6c3e: 6833 ldr r3, [r6, #0] - 6c40: 442b add r3, r5 - 6c42: f803 7c03 strb.w r7, [r3, #-3] + 6c14: 1f6b subs r3, r5, #5 + 6c16: 6832 ldr r2, [r6, #0] + 6c18: 18d1 adds r1, r2, r3 + 6c1a: f89d 000e ldrb.w r0, [sp, #14] + 6c1e: 54d0 strb r0, [r2, r3] + 6c20: f89d 300f ldrb.w r3, [sp, #15] + 6c24: 704b strb r3, [r1, #1] + 6c26: 6833 ldr r3, [r6, #0] + 6c28: 442b add r3, r5 + 6c2a: f803 7c03 strb.w r7, [r3, #-3] _lv_memcpy_small(style->map + size - sizeof(lv_opa_t) - end_mark_size, &opa, sizeof(lv_opa_t)); - 6c46: 3d02 subs r5, #2 + 6c2e: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 6c48: 6833 ldr r3, [r6, #0] - 6c4a: 195a adds r2, r3, r5 - 6c4c: f89d 1016 ldrb.w r1, [sp, #22] - 6c50: 5559 strb r1, [r3, r5] - 6c52: f89d 3017 ldrb.w r3, [sp, #23] - 6c56: 7053 strb r3, [r2, #1] - 6c58: e7cf b.n 6bfa <_lv_style_set_opa+0x92> + 6c30: 6833 ldr r3, [r6, #0] + 6c32: 195a adds r2, r3, r5 + 6c34: f89d 1016 ldrb.w r1, [sp, #22] + 6c38: 5559 strb r1, [r3, r5] + 6c3a: f89d 3017 ldrb.w r3, [sp, #23] + 6c3e: 7053 strb r3, [r2, #1] + 6c40: e7cf b.n 6be2 <_lv_style_set_opa+0x92> LV_ASSERT_MEM(style->map); - 6c5a: 4b0a ldr r3, [pc, #40] ; (6c84 <_lv_style_set_opa+0x11c>) - 6c5c: 9300 str r3, [sp, #0] - 6c5e: f44f 72f2 mov.w r2, #484 ; 0x1e4 - 6c62: 4909 ldr r1, [pc, #36] ; (6c88 <_lv_style_set_opa+0x120>) - 6c64: 2003 movs r0, #3 - 6c66: 4c09 ldr r4, [pc, #36] ; (6c8c <_lv_style_set_opa+0x124>) - 6c68: 47a0 blx r4 - 6c6a: 6832 ldr r2, [r6, #0] - 6c6c: 2300 movs r3, #0 - 6c6e: 4808 ldr r0, [pc, #32] ; (6c90 <_lv_style_set_opa+0x128>) - 6c70: 4908 ldr r1, [pc, #32] ; (6c94 <_lv_style_set_opa+0x12c>) - 6c72: 4788 blx r1 - 6c74: e7fe b.n 6c74 <_lv_style_set_opa+0x10c> - 6c76: bf00 nop - 6c78: 00006779 .word 0x00006779 - 6c7c: 00012899 .word 0x00012899 - 6c80: 000022b1 .word 0x000022b1 - 6c84: 00024af4 .word 0x00024af4 - 6c88: 00024b3c .word 0x00024b3c - 6c8c: 0001225d .word 0x0001225d - 6c90: 00023fd8 .word 0x00023fd8 - 6c94: 000022b9 .word 0x000022b9 - -00006c98 <_lv_style_set_ptr>: -{ - 6c98: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 6c9c: b086 sub sp, #24 - 6c9e: 9202 str r2, [sp, #8] - 6ca0: f8ad 100e strh.w r1, [sp, #14] + 6c42: 4b0a ldr r3, [pc, #40] ; (6c6c <_lv_style_set_opa+0x11c>) + 6c44: 9300 str r3, [sp, #0] + 6c46: f44f 72f2 mov.w r2, #484 ; 0x1e4 + 6c4a: 4909 ldr r1, [pc, #36] ; (6c70 <_lv_style_set_opa+0x120>) + 6c4c: 2003 movs r0, #3 + 6c4e: 4c09 ldr r4, [pc, #36] ; (6c74 <_lv_style_set_opa+0x124>) + 6c50: 47a0 blx r4 + 6c52: 6832 ldr r2, [r6, #0] + 6c54: 2300 movs r3, #0 + 6c56: 4808 ldr r0, [pc, #32] ; (6c78 <_lv_style_set_opa+0x128>) + 6c58: 4908 ldr r1, [pc, #32] ; (6c7c <_lv_style_set_opa+0x12c>) + 6c5a: 4788 blx r1 + 6c5c: e7fe b.n 6c5c <_lv_style_set_opa+0x10c> + 6c5e: bf00 nop + 6c60: 00006761 .word 0x00006761 + 6c64: 00012881 .word 0x00012881 + 6c68: 00002299 .word 0x00002299 + 6c6c: 00024adc .word 0x00024adc + 6c70: 00024b24 .word 0x00024b24 + 6c74: 00012245 .word 0x00012245 + 6c78: 00023fc0 .word 0x00023fc0 + 6c7c: 000022a1 .word 0x000022a1 + +00006c80 <_lv_style_set_ptr>: +{ + 6c80: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 6c84: b086 sub sp, #24 + 6c86: 9202 str r2, [sp, #8] + 6c88: f8ad 100e strh.w r1, [sp, #14] if(style->map == NULL) return -1; - 6ca4: 6804 ldr r4, [r0, #0] - 6ca6: 2c00 cmp r4, #0 - 6ca8: d04e beq.n 6d48 <_lv_style_set_ptr+0xb0> + 6c8c: 6804 ldr r4, [r0, #0] + 6c8e: 2c00 cmp r4, #0 + 6c90: d04e beq.n 6d30 <_lv_style_set_ptr+0xb0> uint8_t id_to_find = prop & 0xFF; - 6caa: b2cf uxtb r7, r1 + 6c92: b2cf uxtb r7, r1 attr.full = (prop >> 8) & 0xFF; - 6cac: 0a0d lsrs r5, r1, #8 - 6cae: 46ae mov lr, r5 + 6c94: 0a0d lsrs r5, r1, #8 + 6c96: 46ae mov lr, r5 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6cb0: 7823 ldrb r3, [r4, #0] - 6cb2: 2bff cmp r3, #255 ; 0xff - 6cb4: d02c beq.n 6d10 <_lv_style_set_ptr+0x78> - 6cb6: f04f 31ff mov.w r1, #4294967295 - 6cba: 4688 mov r8, r1 - 6cbc: 2200 movs r2, #0 + 6c98: 7823 ldrb r3, [r4, #0] + 6c9a: 2bff cmp r3, #255 ; 0xff + 6c9c: d02c beq.n 6cf8 <_lv_style_set_ptr+0x78> + 6c9e: f04f 31ff mov.w r1, #4294967295 + 6ca2: 4688 mov r8, r1 + 6ca4: 2200 movs r2, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6cbe: f3ce 0e06 ubfx lr, lr, #0, #7 - 6cc2: e018 b.n 6cf6 <_lv_style_set_ptr+0x5e> + 6ca6: f3ce 0e06 ubfx lr, lr, #0, #7 + 6caa: e018 b.n 6cde <_lv_style_set_ptr+0x5e> attr_i.full = style->map[i + 1]; - 6cc4: 18a6 adds r6, r4, r2 - 6cc6: 7876 ldrb r6, [r6, #1] + 6cac: 18a6 adds r6, r4, r2 + 6cae: 7876 ldrb r6, [r6, #1] if(attr_i.bits.state == attr.bits.state) { - 6cc8: ea85 0c06 eor.w ip, r5, r6 - 6ccc: f01c 0f7f tst.w ip, #127 ; 0x7f - 6cd0: d021 beq.n 6d16 <_lv_style_set_ptr+0x7e> + 6cb0: ea85 0c06 eor.w ip, r5, r6 + 6cb4: f01c 0f7f tst.w ip, #127 ; 0x7f + 6cb8: d021 beq.n 6cfe <_lv_style_set_ptr+0x7e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6cd2: f006 067f and.w r6, r6, #127 ; 0x7f - 6cd6: ea36 0c0e bics.w ip, r6, lr - 6cda: d10e bne.n 6cfa <_lv_style_set_ptr+0x62> + 6cba: f006 067f and.w r6, r6, #127 ; 0x7f + 6cbe: ea36 0c0e bics.w ip, r6, lr + 6cc2: d10e bne.n 6ce2 <_lv_style_set_ptr+0x62> if(attr_i.bits.state > weight) { - 6cdc: 4546 cmp r6, r8 + 6cc4: 4546 cmp r6, r8 weight = attr_i.bits.state; - 6cde: bfc4 itt gt - 6ce0: fa0f f886 sxthgt.w r8, r6 + 6cc6: bfc4 itt gt + 6cc8: fa0f f886 sxthgt.w r8, r6 id_guess = i; - 6ce4: b211 sxthgt r1, r2 - 6ce6: e008 b.n 6cfa <_lv_style_set_ptr+0x62> + 6ccc: b211 sxthgt r1, r2 + 6cce: e008 b.n 6ce2 <_lv_style_set_ptr+0x62> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6ce8: 2b0b cmp r3, #11 - 6cea: dc0c bgt.n 6d06 <_lv_style_set_ptr+0x6e> - 6cec: 3202 adds r2, #2 + 6cd0: 2b0b cmp r3, #11 + 6cd2: dc0c bgt.n 6cee <_lv_style_set_ptr+0x6e> + 6cd4: 3202 adds r2, #2 i += sizeof(lv_style_property_t); - 6cee: 3202 adds r2, #2 + 6cd6: 3202 adds r2, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6cf0: 5ca3 ldrb r3, [r4, r2] - 6cf2: 2bff cmp r3, #255 ; 0xff - 6cf4: d00e beq.n 6d14 <_lv_style_set_ptr+0x7c> + 6cd8: 5ca3 ldrb r3, [r4, r2] + 6cda: 2bff cmp r3, #255 ; 0xff + 6cdc: d00e beq.n 6cfc <_lv_style_set_ptr+0x7c> if(style->map[i] == id_to_find) { - 6cf6: 429f cmp r7, r3 - 6cf8: d0e4 beq.n 6cc4 <_lv_style_set_ptr+0x2c> + 6cde: 429f cmp r7, r3 + 6ce0: d0e4 beq.n 6cac <_lv_style_set_ptr+0x2c> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6cfa: f003 030f and.w r3, r3, #15 - 6cfe: 2b08 cmp r3, #8 - 6d00: dcf2 bgt.n 6ce8 <_lv_style_set_ptr+0x50> - 6d02: 3202 adds r2, #2 - 6d04: e7f3 b.n 6cee <_lv_style_set_ptr+0x56> + 6ce2: f003 030f and.w r3, r3, #15 + 6ce6: 2b08 cmp r3, #8 + 6ce8: dcf2 bgt.n 6cd0 <_lv_style_set_ptr+0x50> + 6cea: 3202 adds r2, #2 + 6cec: e7f3 b.n 6cd6 <_lv_style_set_ptr+0x56> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6d06: 2b0d cmp r3, #13 - 6d08: bfd4 ite le - 6d0a: 3201 addle r2, #1 + 6cee: 2b0d cmp r3, #13 + 6cf0: bfd4 ite le + 6cf2: 3201 addle r2, #1 else i += sizeof(const void *); - 6d0c: 3204 addgt r2, #4 - 6d0e: e7ee b.n 6cee <_lv_style_set_ptr+0x56> + 6cf4: 3204 addgt r2, #4 + 6cf6: e7ee b.n 6cd6 <_lv_style_set_ptr+0x56> int16_t id_guess = -1; - 6d10: f04f 31ff mov.w r1, #4294967295 + 6cf8: f04f 31ff mov.w r1, #4294967295 return id_guess; - 6d14: 460a mov r2, r1 + 6cfc: 460a mov r2, r1 if(id >= 0) { - 6d16: 2a00 cmp r2, #0 - 6d18: db16 blt.n 6d48 <_lv_style_set_ptr+0xb0> + 6cfe: 2a00 cmp r2, #0 + 6d00: db16 blt.n 6d30 <_lv_style_set_ptr+0xb0> attr_found.full = *(style->map + id + 1); - 6d1a: 18a3 adds r3, r4, r2 + 6d02: 18a3 adds r3, r4, r2 if(attr_found.bits.state == attr_goal.bits.state) { - 6d1c: 785b ldrb r3, [r3, #1] - 6d1e: 405d eors r5, r3 - 6d20: f015 0f7f tst.w r5, #127 ; 0x7f - 6d24: d110 bne.n 6d48 <_lv_style_set_ptr+0xb0> + 6d04: 785b ldrb r3, [r3, #1] + 6d06: 405d eors r5, r3 + 6d08: f015 0f7f tst.w r5, #127 ; 0x7f + 6d0c: d110 bne.n 6d30 <_lv_style_set_ptr+0xb0> _lv_memcpy_small(style->map + id + sizeof(lv_style_property_t), &p, sizeof(const void *)); - 6d26: 3202 adds r2, #2 - 6d28: 18a3 adds r3, r4, r2 - 6d2a: f89d 1008 ldrb.w r1, [sp, #8] - 6d2e: 54a1 strb r1, [r4, r2] - 6d30: f89d 2009 ldrb.w r2, [sp, #9] - 6d34: 705a strb r2, [r3, #1] - 6d36: f89d 200a ldrb.w r2, [sp, #10] - 6d3a: 709a strb r2, [r3, #2] - 6d3c: f89d 200b ldrb.w r2, [sp, #11] - 6d40: 70da strb r2, [r3, #3] -} - 6d42: b006 add sp, #24 - 6d44: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 6d48: 4606 mov r6, r0 + 6d0e: 3202 adds r2, #2 + 6d10: 18a3 adds r3, r4, r2 + 6d12: f89d 1008 ldrb.w r1, [sp, #8] + 6d16: 54a1 strb r1, [r4, r2] + 6d18: f89d 2009 ldrb.w r2, [sp, #9] + 6d1c: 705a strb r2, [r3, #1] + 6d1e: f89d 200a ldrb.w r2, [sp, #10] + 6d22: 709a strb r2, [r3, #2] + 6d24: f89d 200b ldrb.w r2, [sp, #11] + 6d28: 70da strb r2, [r3, #3] +} + 6d2a: b006 add sp, #24 + 6d2c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 6d30: 4606 mov r6, r0 lv_style_property_t end_mark = _LV_STYLE_CLOSEING_PROP; - 6d4a: 23ff movs r3, #255 ; 0xff - 6d4c: f8ad 3016 strh.w r3, [sp, #22] + 6d32: 23ff movs r3, #255 ; 0xff + 6d34: f8ad 3016 strh.w r3, [sp, #22] uint16_t size = _lv_style_get_mem_size(style); - 6d50: 4b20 ldr r3, [pc, #128] ; (6dd4 <_lv_style_set_ptr+0x13c>) - 6d52: 4798 blx r3 + 6d38: 4b20 ldr r3, [pc, #128] ; (6dbc <_lv_style_set_ptr+0x13c>) + 6d3a: 4798 blx r3 if(size == 0) size += end_mark_size; - 6d54: 2800 cmp r0, #0 - 6d56: bf08 it eq - 6d58: 2002 moveq r0, #2 + 6d3c: 2800 cmp r0, #0 + 6d3e: bf08 it eq + 6d40: 2002 moveq r0, #2 size += sizeof(lv_style_property_t) + sizeof(const void *); - 6d5a: 1d85 adds r5, r0, #6 + 6d42: 1d85 adds r5, r0, #6 style->map = lv_mem_realloc(style->map, size); - 6d5c: b2ad uxth r5, r5 - 6d5e: 4629 mov r1, r5 - 6d60: 4620 mov r0, r4 - 6d62: 4b1d ldr r3, [pc, #116] ; (6dd8 <_lv_style_set_ptr+0x140>) - 6d64: 4798 blx r3 - 6d66: 6030 str r0, [r6, #0] + 6d44: b2ad uxth r5, r5 + 6d46: 4629 mov r1, r5 + 6d48: 4620 mov r0, r4 + 6d4a: 4b1d ldr r3, [pc, #116] ; (6dc0 <_lv_style_set_ptr+0x140>) + 6d4c: 4798 blx r3 + 6d4e: 6030 str r0, [r6, #0] LV_ASSERT_MEM(style->map); - 6d68: 4b1c ldr r3, [pc, #112] ; (6ddc <_lv_style_set_ptr+0x144>) - 6d6a: 4798 blx r3 - 6d6c: b320 cbz r0, 6db8 <_lv_style_set_ptr+0x120> + 6d50: 4b1c ldr r3, [pc, #112] ; (6dc4 <_lv_style_set_ptr+0x144>) + 6d52: 4798 blx r3 + 6d54: b320 cbz r0, 6da0 <_lv_style_set_ptr+0x120> if(style == NULL) return; - 6d6e: 2e00 cmp r6, #0 - 6d70: d0e7 beq.n 6d42 <_lv_style_set_ptr+0xaa> + 6d56: 2e00 cmp r6, #0 + 6d58: d0e7 beq.n 6d2a <_lv_style_set_ptr+0xaa> _lv_memcpy_small(style->map + size - new_prop_size - end_mark_size, &prop, sizeof(lv_style_property_t)); - 6d72: f1a5 0308 sub.w r3, r5, #8 - 6d76: 6832 ldr r2, [r6, #0] - 6d78: 18d1 adds r1, r2, r3 - 6d7a: f89d 000e ldrb.w r0, [sp, #14] - 6d7e: 54d0 strb r0, [r2, r3] - 6d80: f89d 300f ldrb.w r3, [sp, #15] - 6d84: 704b strb r3, [r1, #1] - 6d86: 1faa subs r2, r5, #6 + 6d5a: f1a5 0308 sub.w r3, r5, #8 + 6d5e: 6832 ldr r2, [r6, #0] + 6d60: 18d1 adds r1, r2, r3 + 6d62: f89d 000e ldrb.w r0, [sp, #14] + 6d66: 54d0 strb r0, [r2, r3] + 6d68: f89d 300f ldrb.w r3, [sp, #15] + 6d6c: 704b strb r3, [r1, #1] + 6d6e: 1faa subs r2, r5, #6 _lv_memcpy_small(style->map + size - sizeof(const void *) - end_mark_size, &p, sizeof(const void *)); - 6d88: 6831 ldr r1, [r6, #0] - 6d8a: 188b adds r3, r1, r2 - 6d8c: f89d 0008 ldrb.w r0, [sp, #8] - 6d90: 5488 strb r0, [r1, r2] - 6d92: f89d 2009 ldrb.w r2, [sp, #9] - 6d96: 705a strb r2, [r3, #1] - 6d98: f89d 200a ldrb.w r2, [sp, #10] - 6d9c: 709a strb r2, [r3, #2] - 6d9e: f89d 200b ldrb.w r2, [sp, #11] - 6da2: 70da strb r2, [r3, #3] - 6da4: 3d02 subs r5, #2 + 6d70: 6831 ldr r1, [r6, #0] + 6d72: 188b adds r3, r1, r2 + 6d74: f89d 0008 ldrb.w r0, [sp, #8] + 6d78: 5488 strb r0, [r1, r2] + 6d7a: f89d 2009 ldrb.w r2, [sp, #9] + 6d7e: 705a strb r2, [r3, #1] + 6d80: f89d 200a ldrb.w r2, [sp, #10] + 6d84: 709a strb r2, [r3, #2] + 6d86: f89d 200b ldrb.w r2, [sp, #11] + 6d8a: 70da strb r2, [r3, #3] + 6d8c: 3d02 subs r5, #2 _lv_memcpy_small(style->map + size - end_mark_size, &end_mark, sizeof(end_mark)); - 6da6: 6833 ldr r3, [r6, #0] - 6da8: 195a adds r2, r3, r5 - 6daa: f89d 1016 ldrb.w r1, [sp, #22] - 6dae: 5559 strb r1, [r3, r5] - 6db0: f89d 3017 ldrb.w r3, [sp, #23] - 6db4: 7053 strb r3, [r2, #1] - 6db6: e7c4 b.n 6d42 <_lv_style_set_ptr+0xaa> + 6d8e: 6833 ldr r3, [r6, #0] + 6d90: 195a adds r2, r3, r5 + 6d92: f89d 1016 ldrb.w r1, [sp, #22] + 6d96: 5559 strb r1, [r3, r5] + 6d98: f89d 3017 ldrb.w r3, [sp, #23] + 6d9c: 7053 strb r3, [r2, #1] + 6d9e: e7c4 b.n 6d2a <_lv_style_set_ptr+0xaa> LV_ASSERT_MEM(style->map); - 6db8: 4b09 ldr r3, [pc, #36] ; (6de0 <_lv_style_set_ptr+0x148>) - 6dba: 9300 str r3, [sp, #0] - 6dbc: f240 2213 movw r2, #531 ; 0x213 - 6dc0: 4908 ldr r1, [pc, #32] ; (6de4 <_lv_style_set_ptr+0x14c>) - 6dc2: 2003 movs r0, #3 - 6dc4: 4c08 ldr r4, [pc, #32] ; (6de8 <_lv_style_set_ptr+0x150>) - 6dc6: 47a0 blx r4 - 6dc8: 6832 ldr r2, [r6, #0] - 6dca: 2300 movs r3, #0 - 6dcc: 4807 ldr r0, [pc, #28] ; (6dec <_lv_style_set_ptr+0x154>) - 6dce: 4908 ldr r1, [pc, #32] ; (6df0 <_lv_style_set_ptr+0x158>) - 6dd0: 4788 blx r1 - 6dd2: e7fe b.n 6dd2 <_lv_style_set_ptr+0x13a> - 6dd4: 00006779 .word 0x00006779 - 6dd8: 00012899 .word 0x00012899 - 6ddc: 000022b1 .word 0x000022b1 - 6de0: 00024b08 .word 0x00024b08 - 6de4: 00024b3c .word 0x00024b3c - 6de8: 0001225d .word 0x0001225d - 6dec: 00023fd8 .word 0x00023fd8 - 6df0: 000022b9 .word 0x000022b9 - -00006df4 <_lv_style_get_int>: + 6da0: 4b09 ldr r3, [pc, #36] ; (6dc8 <_lv_style_set_ptr+0x148>) + 6da2: 9300 str r3, [sp, #0] + 6da4: f240 2213 movw r2, #531 ; 0x213 + 6da8: 4908 ldr r1, [pc, #32] ; (6dcc <_lv_style_set_ptr+0x14c>) + 6daa: 2003 movs r0, #3 + 6dac: 4c08 ldr r4, [pc, #32] ; (6dd0 <_lv_style_set_ptr+0x150>) + 6dae: 47a0 blx r4 + 6db0: 6832 ldr r2, [r6, #0] + 6db2: 2300 movs r3, #0 + 6db4: 4807 ldr r0, [pc, #28] ; (6dd4 <_lv_style_set_ptr+0x154>) + 6db6: 4908 ldr r1, [pc, #32] ; (6dd8 <_lv_style_set_ptr+0x158>) + 6db8: 4788 blx r1 + 6dba: e7fe b.n 6dba <_lv_style_set_ptr+0x13a> + 6dbc: 00006761 .word 0x00006761 + 6dc0: 00012881 .word 0x00012881 + 6dc4: 00002299 .word 0x00002299 + 6dc8: 00024af0 .word 0x00024af0 + 6dcc: 00024b24 .word 0x00024b24 + 6dd0: 00012245 .word 0x00012245 + 6dd4: 00023fc0 .word 0x00023fc0 + 6dd8: 000022a1 .word 0x000022a1 + +00006ddc <_lv_style_get_int>: if(style == NULL) return -1; - 6df4: 2800 cmp r0, #0 - 6df6: d04d beq.n 6e94 <_lv_style_get_int+0xa0> + 6ddc: 2800 cmp r0, #0 + 6dde: d04d beq.n 6e7c <_lv_style_get_int+0xa0> { - 6df8: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 6dfc: 4684 mov ip, r0 + 6de0: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6de4: 4684 mov ip, r0 if(style->map == NULL) return -1; - 6dfe: 6804 ldr r4, [r0, #0] - 6e00: 2c00 cmp r4, #0 - 6e02: d04a beq.n 6e9a <_lv_style_get_int+0xa6> + 6de6: 6804 ldr r4, [r0, #0] + 6de8: 2c00 cmp r4, #0 + 6dea: d04a beq.n 6e82 <_lv_style_get_int+0xa6> uint8_t id_to_find = prop & 0xFF; - 6e04: b2ce uxtb r6, r1 + 6dec: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 6e06: 0a09 lsrs r1, r1, #8 - 6e08: 468e mov lr, r1 + 6dee: 0a09 lsrs r1, r1, #8 + 6df0: 468e mov lr, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6e0a: 7823 ldrb r3, [r4, #0] - 6e0c: 2bff cmp r3, #255 ; 0xff - 6e0e: d03e beq.n 6e8e <_lv_style_get_int+0x9a> - 6e10: f04f 37ff mov.w r7, #4294967295 - 6e14: 46b8 mov r8, r7 - 6e16: 2000 movs r0, #0 + 6df2: 7823 ldrb r3, [r4, #0] + 6df4: 2bff cmp r3, #255 ; 0xff + 6df6: d03e beq.n 6e76 <_lv_style_get_int+0x9a> + 6df8: f04f 37ff mov.w r7, #4294967295 + 6dfc: 46b8 mov r8, r7 + 6dfe: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6e18: f3ce 0e06 ubfx lr, lr, #0, #7 - 6e1c: e02a b.n 6e74 <_lv_style_get_int+0x80> + 6e00: f3ce 0e06 ubfx lr, lr, #0, #7 + 6e04: e02a b.n 6e5c <_lv_style_get_int+0x80> attr_i.full = style->map[i + 1]; - 6e1e: 1825 adds r5, r4, r0 - 6e20: 786d ldrb r5, [r5, #1] + 6e06: 1825 adds r5, r4, r0 + 6e08: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 6e22: ea81 0905 eor.w r9, r1, r5 - 6e26: f019 0f7f tst.w r9, #127 ; 0x7f - 6e2a: d00a beq.n 6e42 <_lv_style_get_int+0x4e> + 6e0a: ea81 0905 eor.w r9, r1, r5 + 6e0e: f019 0f7f tst.w r9, #127 ; 0x7f + 6e12: d00a beq.n 6e2a <_lv_style_get_int+0x4e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6e2c: f005 057f and.w r5, r5, #127 ; 0x7f - 6e30: ea35 090e bics.w r9, r5, lr - 6e34: d120 bne.n 6e78 <_lv_style_get_int+0x84> + 6e14: f005 057f and.w r5, r5, #127 ; 0x7f + 6e18: ea35 090e bics.w r9, r5, lr + 6e1c: d120 bne.n 6e60 <_lv_style_get_int+0x84> if(attr_i.bits.state > weight) { - 6e36: 4545 cmp r5, r8 + 6e1e: 4545 cmp r5, r8 weight = attr_i.bits.state; - 6e38: bfc4 itt gt - 6e3a: fa0f f885 sxthgt.w r8, r5 + 6e20: bfc4 itt gt + 6e22: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 6e3e: b207 sxthgt r7, r0 - 6e40: e01a b.n 6e78 <_lv_style_get_int+0x84> + 6e26: b207 sxthgt r7, r0 + 6e28: e01a b.n 6e60 <_lv_style_get_int+0x84> return i; - 6e42: 4607 mov r7, r0 + 6e2a: 4607 mov r7, r0 if(id < 0) { - 6e44: 2f00 cmp r7, #0 - 6e46: db2c blt.n 6ea2 <_lv_style_get_int+0xae> + 6e2c: 2f00 cmp r7, #0 + 6e2e: db2c blt.n 6e8a <_lv_style_get_int+0xae> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_style_int_t)); - 6e48: 1cbb adds r3, r7, #2 - 6e4a: 18e0 adds r0, r4, r3 - 6e4c: 5ce3 ldrb r3, [r4, r3] - 6e4e: 7013 strb r3, [r2, #0] - 6e50: 7843 ldrb r3, [r0, #1] - 6e52: 7053 strb r3, [r2, #1] + 6e30: 1cbb adds r3, r7, #2 + 6e32: 18e0 adds r0, r4, r3 + 6e34: 5ce3 ldrb r3, [r4, r3] + 6e36: 7013 strb r3, [r2, #0] + 6e38: 7843 ldrb r3, [r0, #1] + 6e3a: 7053 strb r3, [r2, #1] attr_act.full = style->map[id + 1]; - 6e54: f8dc 0000 ldr.w r0, [ip] - 6e58: 4407 add r7, r0 - 6e5a: 7878 ldrb r0, [r7, #1] + 6e3c: f8dc 0000 ldr.w r0, [ip] + 6e40: 4407 add r7, r0 + 6e42: 7878 ldrb r0, [r7, #1] return attr_act.bits.state & attr_goal.bits.state; - 6e5c: f3c1 0106 ubfx r1, r1, #0, #7 - 6e60: 4008 ands r0, r1 - 6e62: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6e44: f3c1 0106 ubfx r1, r1, #0, #7 + 6e48: 4008 ands r0, r1 + 6e4a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6e66: 2b0b cmp r3, #11 - 6e68: dc0c bgt.n 6e84 <_lv_style_get_int+0x90> - 6e6a: 3002 adds r0, #2 + 6e4e: 2b0b cmp r3, #11 + 6e50: dc0c bgt.n 6e6c <_lv_style_get_int+0x90> + 6e52: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 6e6c: 3002 adds r0, #2 + 6e54: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6e6e: 5c23 ldrb r3, [r4, r0] - 6e70: 2bff cmp r3, #255 ; 0xff - 6e72: d0e7 beq.n 6e44 <_lv_style_get_int+0x50> + 6e56: 5c23 ldrb r3, [r4, r0] + 6e58: 2bff cmp r3, #255 ; 0xff + 6e5a: d0e7 beq.n 6e2c <_lv_style_get_int+0x50> if(style->map[i] == id_to_find) { - 6e74: 429e cmp r6, r3 - 6e76: d0d2 beq.n 6e1e <_lv_style_get_int+0x2a> + 6e5c: 429e cmp r6, r3 + 6e5e: d0d2 beq.n 6e06 <_lv_style_get_int+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6e78: f003 030f and.w r3, r3, #15 - 6e7c: 2b08 cmp r3, #8 - 6e7e: dcf2 bgt.n 6e66 <_lv_style_get_int+0x72> - 6e80: 3002 adds r0, #2 - 6e82: e7f3 b.n 6e6c <_lv_style_get_int+0x78> + 6e60: f003 030f and.w r3, r3, #15 + 6e64: 2b08 cmp r3, #8 + 6e66: dcf2 bgt.n 6e4e <_lv_style_get_int+0x72> + 6e68: 3002 adds r0, #2 + 6e6a: e7f3 b.n 6e54 <_lv_style_get_int+0x78> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6e84: 2b0d cmp r3, #13 - 6e86: bfd4 ite le - 6e88: 3001 addle r0, #1 + 6e6c: 2b0d cmp r3, #13 + 6e6e: bfd4 ite le + 6e70: 3001 addle r0, #1 else i += sizeof(const void *); - 6e8a: 3004 addgt r0, #4 - 6e8c: e7ee b.n 6e6c <_lv_style_get_int+0x78> + 6e72: 3004 addgt r0, #4 + 6e74: e7ee b.n 6e54 <_lv_style_get_int+0x78> int16_t id_guess = -1; - 6e8e: f04f 37ff mov.w r7, #4294967295 - 6e92: e7d7 b.n 6e44 <_lv_style_get_int+0x50> + 6e76: f04f 37ff mov.w r7, #4294967295 + 6e7a: e7d7 b.n 6e2c <_lv_style_get_int+0x50> if(style == NULL) return -1; - 6e94: f04f 30ff mov.w r0, #4294967295 - 6e98: 4770 bx lr + 6e7c: f04f 30ff mov.w r0, #4294967295 + 6e80: 4770 bx lr if(style->map == NULL) return -1; - 6e9a: f04f 30ff mov.w r0, #4294967295 - 6e9e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6e82: f04f 30ff mov.w r0, #4294967295 + 6e86: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 6ea2: f04f 30ff mov.w r0, #4294967295 + 6e8a: f04f 30ff mov.w r0, #4294967295 } - 6ea6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6e8e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -00006eaa <_lv_style_get_opa>: +00006e92 <_lv_style_get_opa>: if(style == NULL) return -1; - 6eaa: 2800 cmp r0, #0 - 6eac: d04a beq.n 6f44 <_lv_style_get_opa+0x9a> + 6e92: 2800 cmp r0, #0 + 6e94: d04a beq.n 6f2c <_lv_style_get_opa+0x9a> { - 6eae: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 6eb2: 4686 mov lr, r0 + 6e96: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6e9a: 4686 mov lr, r0 if(style->map == NULL) return -1; - 6eb4: 6804 ldr r4, [r0, #0] - 6eb6: 2c00 cmp r4, #0 - 6eb8: d047 beq.n 6f4a <_lv_style_get_opa+0xa0> + 6e9c: 6804 ldr r4, [r0, #0] + 6e9e: 2c00 cmp r4, #0 + 6ea0: d047 beq.n 6f32 <_lv_style_get_opa+0xa0> uint8_t id_to_find = prop & 0xFF; - 6eba: b2ce uxtb r6, r1 + 6ea2: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 6ebc: 0a09 lsrs r1, r1, #8 - 6ebe: 468c mov ip, r1 + 6ea4: 0a09 lsrs r1, r1, #8 + 6ea6: 468c mov ip, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6ec0: 7823 ldrb r3, [r4, #0] - 6ec2: 2bff cmp r3, #255 ; 0xff - 6ec4: d03b beq.n 6f3e <_lv_style_get_opa+0x94> - 6ec6: f04f 37ff mov.w r7, #4294967295 - 6eca: 46b8 mov r8, r7 - 6ecc: 2000 movs r0, #0 + 6ea8: 7823 ldrb r3, [r4, #0] + 6eaa: 2bff cmp r3, #255 ; 0xff + 6eac: d03b beq.n 6f26 <_lv_style_get_opa+0x94> + 6eae: f04f 37ff mov.w r7, #4294967295 + 6eb2: 46b8 mov r8, r7 + 6eb4: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6ece: f3cc 0c06 ubfx ip, ip, #0, #7 - 6ed2: e027 b.n 6f24 <_lv_style_get_opa+0x7a> + 6eb6: f3cc 0c06 ubfx ip, ip, #0, #7 + 6eba: e027 b.n 6f0c <_lv_style_get_opa+0x7a> attr_i.full = style->map[i + 1]; - 6ed4: 1825 adds r5, r4, r0 - 6ed6: 786d ldrb r5, [r5, #1] + 6ebc: 1825 adds r5, r4, r0 + 6ebe: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 6ed8: ea81 0905 eor.w r9, r1, r5 - 6edc: f019 0f7f tst.w r9, #127 ; 0x7f - 6ee0: d00a beq.n 6ef8 <_lv_style_get_opa+0x4e> + 6ec0: ea81 0905 eor.w r9, r1, r5 + 6ec4: f019 0f7f tst.w r9, #127 ; 0x7f + 6ec8: d00a beq.n 6ee0 <_lv_style_get_opa+0x4e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6ee2: f005 057f and.w r5, r5, #127 ; 0x7f - 6ee6: ea35 090c bics.w r9, r5, ip - 6eea: d11d bne.n 6f28 <_lv_style_get_opa+0x7e> + 6eca: f005 057f and.w r5, r5, #127 ; 0x7f + 6ece: ea35 090c bics.w r9, r5, ip + 6ed2: d11d bne.n 6f10 <_lv_style_get_opa+0x7e> if(attr_i.bits.state > weight) { - 6eec: 4545 cmp r5, r8 + 6ed4: 4545 cmp r5, r8 weight = attr_i.bits.state; - 6eee: bfc4 itt gt - 6ef0: fa0f f885 sxthgt.w r8, r5 + 6ed6: bfc4 itt gt + 6ed8: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 6ef4: b207 sxthgt r7, r0 - 6ef6: e017 b.n 6f28 <_lv_style_get_opa+0x7e> + 6edc: b207 sxthgt r7, r0 + 6ede: e017 b.n 6f10 <_lv_style_get_opa+0x7e> return i; - 6ef8: 4607 mov r7, r0 + 6ee0: 4607 mov r7, r0 if(id < 0) { - 6efa: 2f00 cmp r7, #0 - 6efc: db29 blt.n 6f52 <_lv_style_get_opa+0xa8> - 6efe: 443c add r4, r7 - 6f00: 78a3 ldrb r3, [r4, #2] - 6f02: 7013 strb r3, [r2, #0] + 6ee2: 2f00 cmp r7, #0 + 6ee4: db29 blt.n 6f3a <_lv_style_get_opa+0xa8> + 6ee6: 443c add r4, r7 + 6ee8: 78a3 ldrb r3, [r4, #2] + 6eea: 7013 strb r3, [r2, #0] attr_act.full = style->map[id + 1]; - 6f04: f8de 0000 ldr.w r0, [lr] - 6f08: 4407 add r7, r0 - 6f0a: 7878 ldrb r0, [r7, #1] + 6eec: f8de 0000 ldr.w r0, [lr] + 6ef0: 4407 add r7, r0 + 6ef2: 7878 ldrb r0, [r7, #1] return attr_act.bits.state & attr_goal.bits.state; - 6f0c: f3c1 0106 ubfx r1, r1, #0, #7 - 6f10: 4008 ands r0, r1 - 6f12: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6ef4: f3c1 0106 ubfx r1, r1, #0, #7 + 6ef8: 4008 ands r0, r1 + 6efa: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6f16: 2b0b cmp r3, #11 - 6f18: dc0c bgt.n 6f34 <_lv_style_get_opa+0x8a> - 6f1a: 3002 adds r0, #2 + 6efe: 2b0b cmp r3, #11 + 6f00: dc0c bgt.n 6f1c <_lv_style_get_opa+0x8a> + 6f02: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 6f1c: 3002 adds r0, #2 + 6f04: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6f1e: 5c23 ldrb r3, [r4, r0] - 6f20: 2bff cmp r3, #255 ; 0xff - 6f22: d0ea beq.n 6efa <_lv_style_get_opa+0x50> + 6f06: 5c23 ldrb r3, [r4, r0] + 6f08: 2bff cmp r3, #255 ; 0xff + 6f0a: d0ea beq.n 6ee2 <_lv_style_get_opa+0x50> if(style->map[i] == id_to_find) { - 6f24: 429e cmp r6, r3 - 6f26: d0d5 beq.n 6ed4 <_lv_style_get_opa+0x2a> + 6f0c: 429e cmp r6, r3 + 6f0e: d0d5 beq.n 6ebc <_lv_style_get_opa+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6f28: f003 030f and.w r3, r3, #15 - 6f2c: 2b08 cmp r3, #8 - 6f2e: dcf2 bgt.n 6f16 <_lv_style_get_opa+0x6c> - 6f30: 3002 adds r0, #2 - 6f32: e7f3 b.n 6f1c <_lv_style_get_opa+0x72> + 6f10: f003 030f and.w r3, r3, #15 + 6f14: 2b08 cmp r3, #8 + 6f16: dcf2 bgt.n 6efe <_lv_style_get_opa+0x6c> + 6f18: 3002 adds r0, #2 + 6f1a: e7f3 b.n 6f04 <_lv_style_get_opa+0x72> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6f34: 2b0d cmp r3, #13 - 6f36: bfd4 ite le - 6f38: 3001 addle r0, #1 + 6f1c: 2b0d cmp r3, #13 + 6f1e: bfd4 ite le + 6f20: 3001 addle r0, #1 else i += sizeof(const void *); - 6f3a: 3004 addgt r0, #4 - 6f3c: e7ee b.n 6f1c <_lv_style_get_opa+0x72> + 6f22: 3004 addgt r0, #4 + 6f24: e7ee b.n 6f04 <_lv_style_get_opa+0x72> int16_t id_guess = -1; - 6f3e: f04f 37ff mov.w r7, #4294967295 - 6f42: e7da b.n 6efa <_lv_style_get_opa+0x50> + 6f26: f04f 37ff mov.w r7, #4294967295 + 6f2a: e7da b.n 6ee2 <_lv_style_get_opa+0x50> if(style == NULL) return -1; - 6f44: f04f 30ff mov.w r0, #4294967295 - 6f48: 4770 bx lr + 6f2c: f04f 30ff mov.w r0, #4294967295 + 6f30: 4770 bx lr if(style->map == NULL) return -1; - 6f4a: f04f 30ff mov.w r0, #4294967295 - 6f4e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6f32: f04f 30ff mov.w r0, #4294967295 + 6f36: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 6f52: f04f 30ff mov.w r0, #4294967295 + 6f3a: f04f 30ff mov.w r0, #4294967295 } - 6f56: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6f3e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -00006f5a <_lv_style_get_color>: +00006f42 <_lv_style_get_color>: if(style == NULL) return -1; - 6f5a: 2800 cmp r0, #0 - 6f5c: d04d beq.n 6ffa <_lv_style_get_color+0xa0> + 6f42: 2800 cmp r0, #0 + 6f44: d04d beq.n 6fe2 <_lv_style_get_color+0xa0> { - 6f5e: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 6f62: 4684 mov ip, r0 + 6f46: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 6f4a: 4684 mov ip, r0 if(style->map == NULL) return -1; - 6f64: 6804 ldr r4, [r0, #0] - 6f66: 2c00 cmp r4, #0 - 6f68: d04a beq.n 7000 <_lv_style_get_color+0xa6> + 6f4c: 6804 ldr r4, [r0, #0] + 6f4e: 2c00 cmp r4, #0 + 6f50: d04a beq.n 6fe8 <_lv_style_get_color+0xa6> uint8_t id_to_find = prop & 0xFF; - 6f6a: b2ce uxtb r6, r1 + 6f52: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 6f6c: 0a09 lsrs r1, r1, #8 - 6f6e: 468e mov lr, r1 + 6f54: 0a09 lsrs r1, r1, #8 + 6f56: 468e mov lr, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6f70: 7823 ldrb r3, [r4, #0] - 6f72: 2bff cmp r3, #255 ; 0xff - 6f74: d03e beq.n 6ff4 <_lv_style_get_color+0x9a> - 6f76: f04f 37ff mov.w r7, #4294967295 - 6f7a: 46b8 mov r8, r7 - 6f7c: 2000 movs r0, #0 + 6f58: 7823 ldrb r3, [r4, #0] + 6f5a: 2bff cmp r3, #255 ; 0xff + 6f5c: d03e beq.n 6fdc <_lv_style_get_color+0x9a> + 6f5e: f04f 37ff mov.w r7, #4294967295 + 6f62: 46b8 mov r8, r7 + 6f64: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6f7e: f3ce 0e06 ubfx lr, lr, #0, #7 - 6f82: e02a b.n 6fda <_lv_style_get_color+0x80> + 6f66: f3ce 0e06 ubfx lr, lr, #0, #7 + 6f6a: e02a b.n 6fc2 <_lv_style_get_color+0x80> attr_i.full = style->map[i + 1]; - 6f84: 1825 adds r5, r4, r0 - 6f86: 786d ldrb r5, [r5, #1] + 6f6c: 1825 adds r5, r4, r0 + 6f6e: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 6f88: ea81 0905 eor.w r9, r1, r5 - 6f8c: f019 0f7f tst.w r9, #127 ; 0x7f - 6f90: d00a beq.n 6fa8 <_lv_style_get_color+0x4e> + 6f70: ea81 0905 eor.w r9, r1, r5 + 6f74: f019 0f7f tst.w r9, #127 ; 0x7f + 6f78: d00a beq.n 6f90 <_lv_style_get_color+0x4e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 6f92: f005 057f and.w r5, r5, #127 ; 0x7f - 6f96: ea35 090e bics.w r9, r5, lr - 6f9a: d120 bne.n 6fde <_lv_style_get_color+0x84> + 6f7a: f005 057f and.w r5, r5, #127 ; 0x7f + 6f7e: ea35 090e bics.w r9, r5, lr + 6f82: d120 bne.n 6fc6 <_lv_style_get_color+0x84> if(attr_i.bits.state > weight) { - 6f9c: 4545 cmp r5, r8 + 6f84: 4545 cmp r5, r8 weight = attr_i.bits.state; - 6f9e: bfc4 itt gt - 6fa0: fa0f f885 sxthgt.w r8, r5 + 6f86: bfc4 itt gt + 6f88: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 6fa4: b207 sxthgt r7, r0 - 6fa6: e01a b.n 6fde <_lv_style_get_color+0x84> + 6f8c: b207 sxthgt r7, r0 + 6f8e: e01a b.n 6fc6 <_lv_style_get_color+0x84> return i; - 6fa8: 4607 mov r7, r0 + 6f90: 4607 mov r7, r0 if(id < 0) { - 6faa: 2f00 cmp r7, #0 - 6fac: db2c blt.n 7008 <_lv_style_get_color+0xae> + 6f92: 2f00 cmp r7, #0 + 6f94: db2c blt.n 6ff0 <_lv_style_get_color+0xae> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(lv_color_t)); - 6fae: 1cbb adds r3, r7, #2 - 6fb0: 18e0 adds r0, r4, r3 - 6fb2: 5ce3 ldrb r3, [r4, r3] - 6fb4: 7013 strb r3, [r2, #0] - 6fb6: 7843 ldrb r3, [r0, #1] - 6fb8: 7053 strb r3, [r2, #1] + 6f96: 1cbb adds r3, r7, #2 + 6f98: 18e0 adds r0, r4, r3 + 6f9a: 5ce3 ldrb r3, [r4, r3] + 6f9c: 7013 strb r3, [r2, #0] + 6f9e: 7843 ldrb r3, [r0, #1] + 6fa0: 7053 strb r3, [r2, #1] attr_act.full = style->map[id + 1]; - 6fba: f8dc 0000 ldr.w r0, [ip] - 6fbe: 4407 add r7, r0 - 6fc0: 7878 ldrb r0, [r7, #1] + 6fa2: f8dc 0000 ldr.w r0, [ip] + 6fa6: 4407 add r7, r0 + 6fa8: 7878 ldrb r0, [r7, #1] return attr_act.bits.state & attr_goal.bits.state; - 6fc2: f3c1 0106 ubfx r1, r1, #0, #7 - 6fc6: 4008 ands r0, r1 - 6fc8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6faa: f3c1 0106 ubfx r1, r1, #0, #7 + 6fae: 4008 ands r0, r1 + 6fb0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 6fcc: 2b0b cmp r3, #11 - 6fce: dc0c bgt.n 6fea <_lv_style_get_color+0x90> - 6fd0: 3002 adds r0, #2 + 6fb4: 2b0b cmp r3, #11 + 6fb6: dc0c bgt.n 6fd2 <_lv_style_get_color+0x90> + 6fb8: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 6fd2: 3002 adds r0, #2 + 6fba: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 6fd4: 5c23 ldrb r3, [r4, r0] - 6fd6: 2bff cmp r3, #255 ; 0xff - 6fd8: d0e7 beq.n 6faa <_lv_style_get_color+0x50> + 6fbc: 5c23 ldrb r3, [r4, r0] + 6fbe: 2bff cmp r3, #255 ; 0xff + 6fc0: d0e7 beq.n 6f92 <_lv_style_get_color+0x50> if(style->map[i] == id_to_find) { - 6fda: 429e cmp r6, r3 - 6fdc: d0d2 beq.n 6f84 <_lv_style_get_color+0x2a> + 6fc2: 429e cmp r6, r3 + 6fc4: d0d2 beq.n 6f6c <_lv_style_get_color+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 6fde: f003 030f and.w r3, r3, #15 - 6fe2: 2b08 cmp r3, #8 - 6fe4: dcf2 bgt.n 6fcc <_lv_style_get_color+0x72> - 6fe6: 3002 adds r0, #2 - 6fe8: e7f3 b.n 6fd2 <_lv_style_get_color+0x78> + 6fc6: f003 030f and.w r3, r3, #15 + 6fca: 2b08 cmp r3, #8 + 6fcc: dcf2 bgt.n 6fb4 <_lv_style_get_color+0x72> + 6fce: 3002 adds r0, #2 + 6fd0: e7f3 b.n 6fba <_lv_style_get_color+0x78> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 6fea: 2b0d cmp r3, #13 - 6fec: bfd4 ite le - 6fee: 3001 addle r0, #1 + 6fd2: 2b0d cmp r3, #13 + 6fd4: bfd4 ite le + 6fd6: 3001 addle r0, #1 else i += sizeof(const void *); - 6ff0: 3004 addgt r0, #4 - 6ff2: e7ee b.n 6fd2 <_lv_style_get_color+0x78> + 6fd8: 3004 addgt r0, #4 + 6fda: e7ee b.n 6fba <_lv_style_get_color+0x78> int16_t id_guess = -1; - 6ff4: f04f 37ff mov.w r7, #4294967295 - 6ff8: e7d7 b.n 6faa <_lv_style_get_color+0x50> + 6fdc: f04f 37ff mov.w r7, #4294967295 + 6fe0: e7d7 b.n 6f92 <_lv_style_get_color+0x50> if(style == NULL) return -1; - 6ffa: f04f 30ff mov.w r0, #4294967295 - 6ffe: 4770 bx lr + 6fe2: f04f 30ff mov.w r0, #4294967295 + 6fe6: 4770 bx lr if(style->map == NULL) return -1; - 7000: f04f 30ff mov.w r0, #4294967295 - 7004: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6fe8: f04f 30ff mov.w r0, #4294967295 + 6fec: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 7008: f04f 30ff mov.w r0, #4294967295 + 6ff0: f04f 30ff mov.w r0, #4294967295 } - 700c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 6ff4: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -00007010 <_lv_style_get_ptr>: +00006ff8 <_lv_style_get_ptr>: if(style == NULL) return -1; - 7010: 2800 cmp r0, #0 - 7012: d050 beq.n 70b6 <_lv_style_get_ptr+0xa6> + 6ff8: 2800 cmp r0, #0 + 6ffa: d050 beq.n 709e <_lv_style_get_ptr+0xa6> { - 7014: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 7018: 4607 mov r7, r0 + 6ffc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 7000: 4607 mov r7, r0 if(style->map == NULL) return -1; - 701a: 6804 ldr r4, [r0, #0] - 701c: 2c00 cmp r4, #0 - 701e: d04d beq.n 70bc <_lv_style_get_ptr+0xac> + 7002: 6804 ldr r4, [r0, #0] + 7004: 2c00 cmp r4, #0 + 7006: d04d beq.n 70a4 <_lv_style_get_ptr+0xac> uint8_t id_to_find = prop & 0xFF; - 7020: b2ce uxtb r6, r1 + 7008: b2ce uxtb r6, r1 attr.full = (prop >> 8) & 0xFF; - 7022: 0a09 lsrs r1, r1, #8 - 7024: 468c mov ip, r1 + 700a: 0a09 lsrs r1, r1, #8 + 700c: 468c mov ip, r1 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7026: 7823 ldrb r3, [r4, #0] - 7028: 2bff cmp r3, #255 ; 0xff - 702a: d02d beq.n 7088 <_lv_style_get_ptr+0x78> - 702c: f04f 3eff mov.w lr, #4294967295 - 7030: 46f0 mov r8, lr - 7032: 2000 movs r0, #0 + 700e: 7823 ldrb r3, [r4, #0] + 7010: 2bff cmp r3, #255 ; 0xff + 7012: d02d beq.n 7070 <_lv_style_get_ptr+0x78> + 7014: f04f 3eff mov.w lr, #4294967295 + 7018: 46f0 mov r8, lr + 701a: 2000 movs r0, #0 else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7034: f3cc 0c06 ubfx ip, ip, #0, #7 - 7038: e019 b.n 706e <_lv_style_get_ptr+0x5e> + 701c: f3cc 0c06 ubfx ip, ip, #0, #7 + 7020: e019 b.n 7056 <_lv_style_get_ptr+0x5e> attr_i.full = style->map[i + 1]; - 703a: 1825 adds r5, r4, r0 - 703c: 786d ldrb r5, [r5, #1] + 7022: 1825 adds r5, r4, r0 + 7024: 786d ldrb r5, [r5, #1] if(attr_i.bits.state == attr.bits.state) { - 703e: ea81 0905 eor.w r9, r1, r5 - 7042: f019 0f7f tst.w r9, #127 ; 0x7f - 7046: d022 beq.n 708e <_lv_style_get_ptr+0x7e> + 7026: ea81 0905 eor.w r9, r1, r5 + 702a: f019 0f7f tst.w r9, #127 ; 0x7f + 702e: d022 beq.n 7076 <_lv_style_get_ptr+0x7e> else if((attr_i.bits.state & (~attr.bits.state)) == 0) { - 7048: f005 057f and.w r5, r5, #127 ; 0x7f - 704c: ea35 090c bics.w r9, r5, ip - 7050: d10f bne.n 7072 <_lv_style_get_ptr+0x62> + 7030: f005 057f and.w r5, r5, #127 ; 0x7f + 7034: ea35 090c bics.w r9, r5, ip + 7038: d10f bne.n 705a <_lv_style_get_ptr+0x62> if(attr_i.bits.state > weight) { - 7052: 4545 cmp r5, r8 + 703a: 4545 cmp r5, r8 weight = attr_i.bits.state; - 7054: bfc4 itt gt - 7056: fa0f f885 sxthgt.w r8, r5 + 703c: bfc4 itt gt + 703e: fa0f f885 sxthgt.w r8, r5 id_guess = i; - 705a: fa0f fe80 sxthgt.w lr, r0 - 705e: e008 b.n 7072 <_lv_style_get_ptr+0x62> + 7042: fa0f fe80 sxthgt.w lr, r0 + 7046: e008 b.n 705a <_lv_style_get_ptr+0x62> else if((style->map[i] & 0xF) < LV_STYLE_ID_OPA) i += sizeof(lv_color_t); - 7060: 2b0b cmp r3, #11 - 7062: dc0c bgt.n 707e <_lv_style_get_ptr+0x6e> - 7064: 3002 adds r0, #2 + 7048: 2b0b cmp r3, #11 + 704a: dc0c bgt.n 7066 <_lv_style_get_ptr+0x6e> + 704c: 3002 adds r0, #2 i += sizeof(lv_style_property_t); - 7066: 3002 adds r0, #2 + 704e: 3002 adds r0, #2 while(style->map[i] != _LV_STYLE_CLOSEING_PROP) { - 7068: 5c23 ldrb r3, [r4, r0] - 706a: 2bff cmp r3, #255 ; 0xff - 706c: d00e beq.n 708c <_lv_style_get_ptr+0x7c> + 7050: 5c23 ldrb r3, [r4, r0] + 7052: 2bff cmp r3, #255 ; 0xff + 7054: d00e beq.n 7074 <_lv_style_get_ptr+0x7c> if(style->map[i] == id_to_find) { - 706e: 429e cmp r6, r3 - 7070: d0e3 beq.n 703a <_lv_style_get_ptr+0x2a> + 7056: 429e cmp r6, r3 + 7058: d0e3 beq.n 7022 <_lv_style_get_ptr+0x2a> if((style->map[i] & 0xF) < LV_STYLE_ID_COLOR) i += sizeof(lv_style_int_t); - 7072: f003 030f and.w r3, r3, #15 - 7076: 2b08 cmp r3, #8 - 7078: dcf2 bgt.n 7060 <_lv_style_get_ptr+0x50> - 707a: 3002 adds r0, #2 - 707c: e7f3 b.n 7066 <_lv_style_get_ptr+0x56> + 705a: f003 030f and.w r3, r3, #15 + 705e: 2b08 cmp r3, #8 + 7060: dcf2 bgt.n 7048 <_lv_style_get_ptr+0x50> + 7062: 3002 adds r0, #2 + 7064: e7f3 b.n 704e <_lv_style_get_ptr+0x56> else if((style->map[i] & 0xF) < LV_STYLE_ID_PTR) i += sizeof(lv_opa_t); - 707e: 2b0d cmp r3, #13 - 7080: bfd4 ite le - 7082: 3001 addle r0, #1 + 7066: 2b0d cmp r3, #13 + 7068: bfd4 ite le + 706a: 3001 addle r0, #1 else i += sizeof(const void *); - 7084: 3004 addgt r0, #4 - 7086: e7ee b.n 7066 <_lv_style_get_ptr+0x56> + 706c: 3004 addgt r0, #4 + 706e: e7ee b.n 704e <_lv_style_get_ptr+0x56> int16_t id_guess = -1; - 7088: f04f 3eff mov.w lr, #4294967295 + 7070: f04f 3eff mov.w lr, #4294967295 return id_guess; - 708c: 4670 mov r0, lr + 7074: 4670 mov r0, lr if(id < 0) { - 708e: 2800 cmp r0, #0 - 7090: db18 blt.n 70c4 <_lv_style_get_ptr+0xb4> + 7076: 2800 cmp r0, #0 + 7078: db18 blt.n 70ac <_lv_style_get_ptr+0xb4> _lv_memcpy_small(res, &style->map[id + sizeof(lv_style_property_t)], sizeof(const void *)); - 7092: 4605 mov r5, r0 - 7094: 3001 adds r0, #1 - 7096: 1823 adds r3, r4, r0 - 7098: 1d14 adds r4, r2, #4 - 709a: f813 0f01 ldrb.w r0, [r3, #1]! - 709e: f802 0b01 strb.w r0, [r2], #1 + 707a: 4605 mov r5, r0 + 707c: 3001 adds r0, #1 + 707e: 1823 adds r3, r4, r0 + 7080: 1d14 adds r4, r2, #4 + 7082: f813 0f01 ldrb.w r0, [r3, #1]! + 7086: f802 0b01 strb.w r0, [r2], #1 while(len) { - 70a2: 4294 cmp r4, r2 - 70a4: d1f9 bne.n 709a <_lv_style_get_ptr+0x8a> + 708a: 4294 cmp r4, r2 + 708c: d1f9 bne.n 7082 <_lv_style_get_ptr+0x8a> attr_act.full = style->map[id + 1]; - 70a6: 683b ldr r3, [r7, #0] - 70a8: 442b add r3, r5 - 70aa: 7858 ldrb r0, [r3, #1] + 708e: 683b ldr r3, [r7, #0] + 7090: 442b add r3, r5 + 7092: 7858 ldrb r0, [r3, #1] return attr_act.bits.state & attr_goal.bits.state; - 70ac: f3c1 0106 ubfx r1, r1, #0, #7 - 70b0: 4008 ands r0, r1 - 70b2: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 7094: f3c1 0106 ubfx r1, r1, #0, #7 + 7098: 4008 ands r0, r1 + 709a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} if(style == NULL) return -1; - 70b6: f04f 30ff mov.w r0, #4294967295 - 70ba: 4770 bx lr + 709e: f04f 30ff mov.w r0, #4294967295 + 70a2: 4770 bx lr if(style->map == NULL) return -1; - 70bc: f04f 30ff mov.w r0, #4294967295 - 70c0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 70a4: f04f 30ff mov.w r0, #4294967295 + 70a8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return -1; - 70c4: f04f 30ff mov.w r0, #4294967295 + 70ac: f04f 30ff mov.w r0, #4294967295 } - 70c8: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 70b0: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} -000070cc : +000070b4 : if(!list->has_local) return NULL; - 70cc: 7943 ldrb r3, [r0, #5] - 70ce: f013 0f01 tst.w r3, #1 - 70d2: d006 beq.n 70e2 + 70b4: 7943 ldrb r3, [r0, #5] + 70b6: f013 0f01 tst.w r3, #1 + 70ba: d006 beq.n 70ca if(list->has_trans) return list->style_list[1]; - 70d4: f013 0f02 tst.w r3, #2 - 70d8: 6803 ldr r3, [r0, #0] - 70da: bf14 ite ne - 70dc: 6858 ldrne r0, [r3, #4] + 70bc: f013 0f02 tst.w r3, #2 + 70c0: 6803 ldr r3, [r0, #0] + 70c2: bf14 ite ne + 70c4: 6858 ldrne r0, [r3, #4] else return list->style_list[0]; - 70de: 6818 ldreq r0, [r3, #0] - 70e0: 4770 bx lr + 70c6: 6818 ldreq r0, [r3, #0] + 70c8: 4770 bx lr if(!list->has_local) return NULL; - 70e2: 2000 movs r0, #0 + 70ca: 2000 movs r0, #0 } - 70e4: 4770 bx lr + 70cc: 4770 bx lr -000070e6 <_lv_style_list_get_transition_style>: +000070ce <_lv_style_list_get_transition_style>: if(!list->has_trans) return NULL; - 70e6: 7943 ldrb r3, [r0, #5] - 70e8: f013 0f02 tst.w r3, #2 + 70ce: 7943 ldrb r3, [r0, #5] + 70d0: f013 0f02 tst.w r3, #2 return list->style_list[0]; - 70ec: bf1a itte ne - 70ee: 6803 ldrne r3, [r0, #0] - 70f0: 6818 ldrne r0, [r3, #0] + 70d4: bf1a itte ne + 70d6: 6803 ldrne r3, [r0, #0] + 70d8: 6818 ldrne r0, [r3, #0] if(!list->has_trans) return NULL; - 70f2: 2000 moveq r0, #0 + 70da: 2000 moveq r0, #0 } - 70f4: 4770 bx lr + 70dc: 4770 bx lr ... -000070f8 <_lv_style_list_reset>: +000070e0 <_lv_style_list_reset>: if(list == NULL) return; - 70f8: 2800 cmp r0, #0 - 70fa: d02c beq.n 7156 <_lv_style_list_reset+0x5e> + 70e0: 2800 cmp r0, #0 + 70e2: d02c beq.n 713e <_lv_style_list_reset+0x5e> { - 70fc: b538 push {r3, r4, r5, lr} - 70fe: 4604 mov r4, r0 + 70e4: b538 push {r3, r4, r5, lr} + 70e6: 4604 mov r4, r0 if(list->has_local) { - 7100: 7943 ldrb r3, [r0, #5] - 7102: f013 0f01 tst.w r3, #1 - 7106: d008 beq.n 711a <_lv_style_list_reset+0x22> + 70e8: 7943 ldrb r3, [r0, #5] + 70ea: f013 0f01 tst.w r3, #1 + 70ee: d008 beq.n 7102 <_lv_style_list_reset+0x22> lv_style_t * local = lv_style_list_get_local_style(list); - 7108: 4b13 ldr r3, [pc, #76] ; (7158 <_lv_style_list_reset+0x60>) - 710a: 4798 blx r3 + 70f0: 4b13 ldr r3, [pc, #76] ; (7140 <_lv_style_list_reset+0x60>) + 70f2: 4798 blx r3 if(local) { - 710c: 4605 mov r5, r0 - 710e: b120 cbz r0, 711a <_lv_style_list_reset+0x22> + 70f4: 4605 mov r5, r0 + 70f6: b120 cbz r0, 7102 <_lv_style_list_reset+0x22> lv_style_reset(local); - 7110: 4b12 ldr r3, [pc, #72] ; (715c <_lv_style_list_reset+0x64>) - 7112: 4798 blx r3 + 70f8: 4b12 ldr r3, [pc, #72] ; (7144 <_lv_style_list_reset+0x64>) + 70fa: 4798 blx r3 lv_mem_free(local); - 7114: 4628 mov r0, r5 - 7116: 4b12 ldr r3, [pc, #72] ; (7160 <_lv_style_list_reset+0x68>) - 7118: 4798 blx r3 + 70fc: 4628 mov r0, r5 + 70fe: 4b12 ldr r3, [pc, #72] ; (7148 <_lv_style_list_reset+0x68>) + 7100: 4798 blx r3 if(list->has_trans) { - 711a: 7963 ldrb r3, [r4, #5] - 711c: f013 0f02 tst.w r3, #2 - 7120: d009 beq.n 7136 <_lv_style_list_reset+0x3e> + 7102: 7963 ldrb r3, [r4, #5] + 7104: f013 0f02 tst.w r3, #2 + 7108: d009 beq.n 711e <_lv_style_list_reset+0x3e> lv_style_t * trans = _lv_style_list_get_transition_style(list); - 7122: 4620 mov r0, r4 - 7124: 4b0f ldr r3, [pc, #60] ; (7164 <_lv_style_list_reset+0x6c>) - 7126: 4798 blx r3 + 710a: 4620 mov r0, r4 + 710c: 4b0f ldr r3, [pc, #60] ; (714c <_lv_style_list_reset+0x6c>) + 710e: 4798 blx r3 if(trans) { - 7128: 4605 mov r5, r0 - 712a: b120 cbz r0, 7136 <_lv_style_list_reset+0x3e> + 7110: 4605 mov r5, r0 + 7112: b120 cbz r0, 711e <_lv_style_list_reset+0x3e> lv_style_reset(trans); - 712c: 4b0b ldr r3, [pc, #44] ; (715c <_lv_style_list_reset+0x64>) - 712e: 4798 blx r3 + 7114: 4b0b ldr r3, [pc, #44] ; (7144 <_lv_style_list_reset+0x64>) + 7116: 4798 blx r3 lv_mem_free(trans); - 7130: 4628 mov r0, r5 - 7132: 4b0b ldr r3, [pc, #44] ; (7160 <_lv_style_list_reset+0x68>) - 7134: 4798 blx r3 + 7118: 4628 mov r0, r5 + 711a: 4b0b ldr r3, [pc, #44] ; (7148 <_lv_style_list_reset+0x68>) + 711c: 4798 blx r3 if(list->style_cnt > 0) lv_mem_free(list->style_list); - 7136: 7923 ldrb r3, [r4, #4] - 7138: b94b cbnz r3, 714e <_lv_style_list_reset+0x56> + 711e: 7923 ldrb r3, [r4, #4] + 7120: b94b cbnz r3, 7136 <_lv_style_list_reset+0x56> list->style_list = NULL; - 713a: 2200 movs r2, #0 - 713c: 6022 str r2, [r4, #0] + 7122: 2200 movs r2, #0 + 7124: 6022 str r2, [r4, #0] list->style_cnt = 0; - 713e: 7122 strb r2, [r4, #4] + 7126: 7122 strb r2, [r4, #4] list->has_local = 0; - 7140: 7963 ldrb r3, [r4, #5] + 7128: 7963 ldrb r3, [r4, #5] list->skip_trans = 0; - 7142: f003 03fc and.w r3, r3, #252 ; 0xfc - 7146: f362 0382 bfi r3, r2, #2, #1 - 714a: 7163 strb r3, [r4, #5] - 714c: bd38 pop {r3, r4, r5, pc} + 712a: f003 03fc and.w r3, r3, #252 ; 0xfc + 712e: f362 0382 bfi r3, r2, #2, #1 + 7132: 7163 strb r3, [r4, #5] + 7134: bd38 pop {r3, r4, r5, pc} if(list->style_cnt > 0) lv_mem_free(list->style_list); - 714e: 6820 ldr r0, [r4, #0] - 7150: 4b03 ldr r3, [pc, #12] ; (7160 <_lv_style_list_reset+0x68>) - 7152: 4798 blx r3 - 7154: e7f1 b.n 713a <_lv_style_list_reset+0x42> - 7156: 4770 bx lr - 7158: 000070cd .word 0x000070cd - 715c: 00006765 .word 0x00006765 - 7160: 000124c5 .word 0x000124c5 - 7164: 000070e7 .word 0x000070e7 - -00007168 : -{ - 7168: b570 push {r4, r5, r6, lr} - 716a: 4605 mov r5, r0 - 716c: 460c mov r4, r1 + 7136: 6820 ldr r0, [r4, #0] + 7138: 4b03 ldr r3, [pc, #12] ; (7148 <_lv_style_list_reset+0x68>) + 713a: 4798 blx r3 + 713c: e7f1 b.n 7122 <_lv_style_list_reset+0x42> + 713e: 4770 bx lr + 7140: 000070b5 .word 0x000070b5 + 7144: 0000674d .word 0x0000674d + 7148: 000124ad .word 0x000124ad + 714c: 000070cf .word 0x000070cf + +00007150 : +{ + 7150: b570 push {r4, r5, r6, lr} + 7152: 4605 mov r5, r0 + 7154: 460c mov r4, r1 _lv_style_list_reset(list_dest); - 716e: 4b2c ldr r3, [pc, #176] ; (7220 ) - 7170: 4798 blx r3 + 7156: 4b2c ldr r3, [pc, #176] ; (7208 ) + 7158: 4798 blx r3 if(list_src->style_list == NULL) return; - 7172: 6823 ldr r3, [r4, #0] - 7174: 2b00 cmp r3, #0 - 7176: d041 beq.n 71fc + 715a: 6823 ldr r3, [r4, #0] + 715c: 2b00 cmp r3, #0 + 715e: d041 beq.n 71e4 if(list_src->has_local == 0) { - 7178: 7963 ldrb r3, [r4, #5] - 717a: f013 0f01 tst.w r3, #1 - 717e: d120 bne.n 71c2 + 7160: 7963 ldrb r3, [r4, #5] + 7162: f013 0f01 tst.w r3, #1 + 7166: d120 bne.n 71aa if(list_src->has_trans) { - 7180: f013 0f02 tst.w r3, #2 - 7184: d010 beq.n 71a8 + 7168: f013 0f02 tst.w r3, #2 + 716c: d010 beq.n 7190 list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 7186: 7920 ldrb r0, [r4, #4] - 7188: 3801 subs r0, #1 - 718a: 0080 lsls r0, r0, #2 - 718c: 4b25 ldr r3, [pc, #148] ; (7224 ) - 718e: 4798 blx r3 - 7190: 6028 str r0, [r5, #0] + 716e: 7920 ldrb r0, [r4, #4] + 7170: 3801 subs r0, #1 + 7172: 0080 lsls r0, r0, #2 + 7174: 4b25 ldr r3, [pc, #148] ; (720c ) + 7176: 4798 blx r3 + 7178: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 7192: 7922 ldrb r2, [r4, #4] - 7194: 3a01 subs r2, #1 - 7196: 6821 ldr r1, [r4, #0] - 7198: 0092 lsls r2, r2, #2 - 719a: 3104 adds r1, #4 - 719c: 4b22 ldr r3, [pc, #136] ; (7228 ) - 719e: 4798 blx r3 + 717a: 7922 ldrb r2, [r4, #4] + 717c: 3a01 subs r2, #1 + 717e: 6821 ldr r1, [r4, #0] + 7180: 0092 lsls r2, r2, #2 + 7182: 3104 adds r1, #4 + 7184: 4b22 ldr r3, [pc, #136] ; (7210 ) + 7186: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 1; - 71a0: 7923 ldrb r3, [r4, #4] - 71a2: 3b01 subs r3, #1 - 71a4: 712b strb r3, [r5, #4] - 71a6: bd70 pop {r4, r5, r6, pc} + 7188: 7923 ldrb r3, [r4, #4] + 718a: 3b01 subs r3, #1 + 718c: 712b strb r3, [r5, #4] + 718e: bd70 pop {r4, r5, r6, pc} list_dest->style_list = lv_mem_alloc(list_src->style_cnt * sizeof(lv_style_t *)); - 71a8: 7920 ldrb r0, [r4, #4] - 71aa: 0080 lsls r0, r0, #2 - 71ac: 4b1d ldr r3, [pc, #116] ; (7224 ) - 71ae: 4798 blx r3 - 71b0: 6028 str r0, [r5, #0] + 7190: 7920 ldrb r0, [r4, #4] + 7192: 0080 lsls r0, r0, #2 + 7194: 4b1d ldr r3, [pc, #116] ; (720c ) + 7196: 4798 blx r3 + 7198: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list, list_src->style_cnt * sizeof(lv_style_t *)); - 71b2: 7922 ldrb r2, [r4, #4] - 71b4: 0092 lsls r2, r2, #2 - 71b6: 6821 ldr r1, [r4, #0] - 71b8: 4b1b ldr r3, [pc, #108] ; (7228 ) - 71ba: 4798 blx r3 + 719a: 7922 ldrb r2, [r4, #4] + 719c: 0092 lsls r2, r2, #2 + 719e: 6821 ldr r1, [r4, #0] + 71a0: 4b1b ldr r3, [pc, #108] ; (7210 ) + 71a2: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt; - 71bc: 7923 ldrb r3, [r4, #4] - 71be: 712b strb r3, [r5, #4] - 71c0: bd70 pop {r4, r5, r6, pc} + 71a4: 7923 ldrb r3, [r4, #4] + 71a6: 712b strb r3, [r5, #4] + 71a8: bd70 pop {r4, r5, r6, pc} if(list_src->has_trans) { - 71c2: f013 0f02 tst.w r3, #2 - 71c6: d01a beq.n 71fe + 71aa: f013 0f02 tst.w r3, #2 + 71ae: d01a beq.n 71e6 list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 2) * sizeof(lv_style_t *)); - 71c8: 7920 ldrb r0, [r4, #4] - 71ca: 3802 subs r0, #2 - 71cc: 0080 lsls r0, r0, #2 - 71ce: 4b15 ldr r3, [pc, #84] ; (7224 ) - 71d0: 4798 blx r3 - 71d2: 6028 str r0, [r5, #0] + 71b0: 7920 ldrb r0, [r4, #4] + 71b2: 3802 subs r0, #2 + 71b4: 0080 lsls r0, r0, #2 + 71b6: 4b15 ldr r3, [pc, #84] ; (720c ) + 71b8: 4798 blx r3 + 71ba: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 2, (list_src->style_cnt - 2) * sizeof(lv_style_t *)); - 71d4: 7922 ldrb r2, [r4, #4] - 71d6: 3a02 subs r2, #2 - 71d8: 6821 ldr r1, [r4, #0] - 71da: 0092 lsls r2, r2, #2 - 71dc: 3108 adds r1, #8 - 71de: 4b12 ldr r3, [pc, #72] ; (7228 ) - 71e0: 4798 blx r3 + 71bc: 7922 ldrb r2, [r4, #4] + 71be: 3a02 subs r2, #2 + 71c0: 6821 ldr r1, [r4, #0] + 71c2: 0092 lsls r2, r2, #2 + 71c4: 3108 adds r1, #8 + 71c6: 4b12 ldr r3, [pc, #72] ; (7210 ) + 71c8: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 2; - 71e2: 7923 ldrb r3, [r4, #4] - 71e4: 3b02 subs r3, #2 - 71e6: 712b strb r3, [r5, #4] + 71ca: 7923 ldrb r3, [r4, #4] + 71cc: 3b02 subs r3, #2 + 71ce: 712b strb r3, [r5, #4] lv_style_t * local_style = get_alloc_local_style(list_dest); - 71e8: 4628 mov r0, r5 - 71ea: 4d10 ldr r5, [pc, #64] ; (722c ) - 71ec: 47a8 blx r5 - 71ee: 4606 mov r6, r0 + 71d0: 4628 mov r0, r5 + 71d2: 4d10 ldr r5, [pc, #64] ; (7214 ) + 71d4: 47a8 blx r5 + 71d6: 4606 mov r6, r0 lv_style_copy(local_style, get_alloc_local_style((lv_style_list_t *)list_src)); - 71f0: 4620 mov r0, r4 - 71f2: 47a8 blx r5 - 71f4: 4601 mov r1, r0 - 71f6: 4630 mov r0, r6 - 71f8: 4b0d ldr r3, [pc, #52] ; (7230 ) - 71fa: 4798 blx r3 - 71fc: bd70 pop {r4, r5, r6, pc} + 71d8: 4620 mov r0, r4 + 71da: 47a8 blx r5 + 71dc: 4601 mov r1, r0 + 71de: 4630 mov r0, r6 + 71e0: 4b0d ldr r3, [pc, #52] ; (7218 ) + 71e2: 4798 blx r3 + 71e4: bd70 pop {r4, r5, r6, pc} list_dest->style_list = lv_mem_alloc((list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 71fe: 7920 ldrb r0, [r4, #4] - 7200: 3801 subs r0, #1 - 7202: 0080 lsls r0, r0, #2 - 7204: 4b07 ldr r3, [pc, #28] ; (7224 ) - 7206: 4798 blx r3 - 7208: 6028 str r0, [r5, #0] + 71e6: 7920 ldrb r0, [r4, #4] + 71e8: 3801 subs r0, #1 + 71ea: 0080 lsls r0, r0, #2 + 71ec: 4b07 ldr r3, [pc, #28] ; (720c ) + 71ee: 4798 blx r3 + 71f0: 6028 str r0, [r5, #0] _lv_memcpy(list_dest->style_list, list_src->style_list + 1, (list_src->style_cnt - 1) * sizeof(lv_style_t *)); - 720a: 7922 ldrb r2, [r4, #4] - 720c: 3a01 subs r2, #1 - 720e: 6821 ldr r1, [r4, #0] - 7210: 0092 lsls r2, r2, #2 - 7212: 3104 adds r1, #4 - 7214: 4b04 ldr r3, [pc, #16] ; (7228 ) - 7216: 4798 blx r3 + 71f2: 7922 ldrb r2, [r4, #4] + 71f4: 3a01 subs r2, #1 + 71f6: 6821 ldr r1, [r4, #0] + 71f8: 0092 lsls r2, r2, #2 + 71fa: 3104 adds r1, #4 + 71fc: 4b04 ldr r3, [pc, #16] ; (7210 ) + 71fe: 4798 blx r3 list_dest->style_cnt = list_src->style_cnt - 1; - 7218: 7923 ldrb r3, [r4, #4] - 721a: 3b01 subs r3, #1 - 721c: 712b strb r3, [r5, #4] - 721e: e7e3 b.n 71e8 - 7220: 000070f9 .word 0x000070f9 - 7224: 000123dd .word 0x000123dd - 7228: 00012655 .word 0x00012655 - 722c: 000066ad .word 0x000066ad - 7230: 000067b9 .word 0x000067b9 - -00007234 <_lv_style_list_add_trans_style>: -{ - 7234: b530 push {r4, r5, lr} - 7236: b083 sub sp, #12 - 7238: 4604 mov r4, r0 + 7200: 7923 ldrb r3, [r4, #4] + 7202: 3b01 subs r3, #1 + 7204: 712b strb r3, [r5, #4] + 7206: e7e3 b.n 71d0 + 7208: 000070e1 .word 0x000070e1 + 720c: 000123c5 .word 0x000123c5 + 7210: 0001263d .word 0x0001263d + 7214: 00006695 .word 0x00006695 + 7218: 000067a1 .word 0x000067a1 + +0000721c <_lv_style_list_add_trans_style>: +{ + 721c: b530 push {r4, r5, lr} + 721e: b083 sub sp, #12 + 7220: 4604 mov r4, r0 if(list->has_trans) return _lv_style_list_get_transition_style(list); - 723a: 7943 ldrb r3, [r0, #5] - 723c: f013 0f02 tst.w r3, #2 - 7240: d005 beq.n 724e <_lv_style_list_add_trans_style+0x1a> - 7242: 4b1d ldr r3, [pc, #116] ; (72b8 <_lv_style_list_add_trans_style+0x84>) - 7244: 4798 blx r3 - 7246: 4605 mov r5, r0 -} - 7248: 4628 mov r0, r5 - 724a: b003 add sp, #12 - 724c: bd30 pop {r4, r5, pc} + 7222: 7943 ldrb r3, [r0, #5] + 7224: f013 0f02 tst.w r3, #2 + 7228: d005 beq.n 7236 <_lv_style_list_add_trans_style+0x1a> + 722a: 4b1d ldr r3, [pc, #116] ; (72a0 <_lv_style_list_add_trans_style+0x84>) + 722c: 4798 blx r3 + 722e: 4605 mov r5, r0 +} + 7230: 4628 mov r0, r5 + 7232: b003 add sp, #12 + 7234: bd30 pop {r4, r5, pc} lv_style_t * trans_style = lv_mem_alloc(sizeof(lv_style_t)); - 724e: 2004 movs r0, #4 - 7250: 4b1a ldr r3, [pc, #104] ; (72bc <_lv_style_list_add_trans_style+0x88>) - 7252: 4798 blx r3 - 7254: 4605 mov r5, r0 + 7236: 2004 movs r0, #4 + 7238: 4b1a ldr r3, [pc, #104] ; (72a4 <_lv_style_list_add_trans_style+0x88>) + 723a: 4798 blx r3 + 723c: 4605 mov r5, r0 LV_ASSERT_MEM(trans_style); - 7256: 4b1a ldr r3, [pc, #104] ; (72c0 <_lv_style_list_add_trans_style+0x8c>) - 7258: 4798 blx r3 - 725a: b1a8 cbz r0, 7288 <_lv_style_list_add_trans_style+0x54> + 723e: 4b1a ldr r3, [pc, #104] ; (72a8 <_lv_style_list_add_trans_style+0x8c>) + 7240: 4798 blx r3 + 7242: b1a8 cbz r0, 7270 <_lv_style_list_add_trans_style+0x54> if(trans_style == NULL) { - 725c: b315 cbz r5, 72a4 <_lv_style_list_add_trans_style+0x70> + 7244: b315 cbz r5, 728c <_lv_style_list_add_trans_style+0x70> lv_style_init(trans_style); - 725e: 4628 mov r0, r5 - 7260: 4b18 ldr r3, [pc, #96] ; (72c4 <_lv_style_list_add_trans_style+0x90>) - 7262: 4798 blx r3 + 7246: 4628 mov r0, r5 + 7248: 4b18 ldr r3, [pc, #96] ; (72ac <_lv_style_list_add_trans_style+0x90>) + 724a: 4798 blx r3 _lv_style_list_add_style(list, trans_style); - 7264: 4629 mov r1, r5 - 7266: 4620 mov r0, r4 - 7268: 4b17 ldr r3, [pc, #92] ; (72c8 <_lv_style_list_add_trans_style+0x94>) - 726a: 4798 blx r3 + 724c: 4629 mov r1, r5 + 724e: 4620 mov r0, r4 + 7250: 4b17 ldr r3, [pc, #92] ; (72b0 <_lv_style_list_add_trans_style+0x94>) + 7252: 4798 blx r3 list->has_trans = 1; - 726c: 7963 ldrb r3, [r4, #5] - 726e: f043 0302 orr.w r3, r3, #2 - 7272: 7163 strb r3, [r4, #5] + 7254: 7963 ldrb r3, [r4, #5] + 7256: f043 0302 orr.w r3, r3, #2 + 725a: 7163 strb r3, [r4, #5] if(list->has_local) { - 7274: f013 0f01 tst.w r3, #1 - 7278: d0e6 beq.n 7248 <_lv_style_list_add_trans_style+0x14> + 725c: f013 0f01 tst.w r3, #1 + 7260: d0e6 beq.n 7230 <_lv_style_list_add_trans_style+0x14> lv_style_t * tmp = list->style_list[0]; - 727a: 6823 ldr r3, [r4, #0] - 727c: 681a ldr r2, [r3, #0] + 7262: 6823 ldr r3, [r4, #0] + 7264: 681a ldr r2, [r3, #0] list->style_list[0] = list->style_list[1]; - 727e: 6859 ldr r1, [r3, #4] - 7280: 6019 str r1, [r3, #0] + 7266: 6859 ldr r1, [r3, #4] + 7268: 6019 str r1, [r3, #0] list->style_list[1] = tmp; - 7282: 6823 ldr r3, [r4, #0] - 7284: 605a str r2, [r3, #4] - 7286: e7df b.n 7248 <_lv_style_list_add_trans_style+0x14> + 726a: 6823 ldr r3, [r4, #0] + 726c: 605a str r2, [r3, #4] + 726e: e7df b.n 7230 <_lv_style_list_add_trans_style+0x14> LV_ASSERT_MEM(trans_style); - 7288: 4b10 ldr r3, [pc, #64] ; (72cc <_lv_style_list_add_trans_style+0x98>) - 728a: 9300 str r3, [sp, #0] - 728c: f240 22cd movw r2, #717 ; 0x2cd - 7290: 490f ldr r1, [pc, #60] ; (72d0 <_lv_style_list_add_trans_style+0x9c>) - 7292: 2003 movs r0, #3 - 7294: 4c0f ldr r4, [pc, #60] ; (72d4 <_lv_style_list_add_trans_style+0xa0>) - 7296: 47a0 blx r4 - 7298: 462a mov r2, r5 - 729a: 2300 movs r3, #0 - 729c: 480e ldr r0, [pc, #56] ; (72d8 <_lv_style_list_add_trans_style+0xa4>) - 729e: 490f ldr r1, [pc, #60] ; (72dc <_lv_style_list_add_trans_style+0xa8>) - 72a0: 4788 blx r1 - 72a2: e7fe b.n 72a2 <_lv_style_list_add_trans_style+0x6e> + 7270: 4b10 ldr r3, [pc, #64] ; (72b4 <_lv_style_list_add_trans_style+0x98>) + 7272: 9300 str r3, [sp, #0] + 7274: f240 22cd movw r2, #717 ; 0x2cd + 7278: 490f ldr r1, [pc, #60] ; (72b8 <_lv_style_list_add_trans_style+0x9c>) + 727a: 2003 movs r0, #3 + 727c: 4c0f ldr r4, [pc, #60] ; (72bc <_lv_style_list_add_trans_style+0xa0>) + 727e: 47a0 blx r4 + 7280: 462a mov r2, r5 + 7282: 2300 movs r3, #0 + 7284: 480e ldr r0, [pc, #56] ; (72c0 <_lv_style_list_add_trans_style+0xa4>) + 7286: 490f ldr r1, [pc, #60] ; (72c4 <_lv_style_list_add_trans_style+0xa8>) + 7288: 4788 blx r1 + 728a: e7fe b.n 728a <_lv_style_list_add_trans_style+0x6e> LV_LOG_WARN("lv_style_list_add_trans_style: couldn't create transition style"); - 72a4: 4b0e ldr r3, [pc, #56] ; (72e0 <_lv_style_list_add_trans_style+0xac>) - 72a6: 9300 str r3, [sp, #0] - 72a8: 4b08 ldr r3, [pc, #32] ; (72cc <_lv_style_list_add_trans_style+0x98>) - 72aa: f240 22cf movw r2, #719 ; 0x2cf - 72ae: 4908 ldr r1, [pc, #32] ; (72d0 <_lv_style_list_add_trans_style+0x9c>) - 72b0: 2002 movs r0, #2 - 72b2: 4c08 ldr r4, [pc, #32] ; (72d4 <_lv_style_list_add_trans_style+0xa0>) - 72b4: 47a0 blx r4 + 728c: 4b0e ldr r3, [pc, #56] ; (72c8 <_lv_style_list_add_trans_style+0xac>) + 728e: 9300 str r3, [sp, #0] + 7290: 4b08 ldr r3, [pc, #32] ; (72b4 <_lv_style_list_add_trans_style+0x98>) + 7292: f240 22cf movw r2, #719 ; 0x2cf + 7296: 4908 ldr r1, [pc, #32] ; (72b8 <_lv_style_list_add_trans_style+0x9c>) + 7298: 2002 movs r0, #2 + 729a: 4c08 ldr r4, [pc, #32] ; (72bc <_lv_style_list_add_trans_style+0xa0>) + 729c: 47a0 blx r4 return NULL; - 72b6: e7c7 b.n 7248 <_lv_style_list_add_trans_style+0x14> - 72b8: 000070e7 .word 0x000070e7 - 72bc: 000123dd .word 0x000123dd - 72c0: 000022b1 .word 0x000022b1 - 72c4: 000064d9 .word 0x000064d9 - 72c8: 000065d9 .word 0x000065d9 - 72cc: 00024b1c .word 0x00024b1c - 72d0: 00024b3c .word 0x00024b3c - 72d4: 0001225d .word 0x0001225d - 72d8: 00023fd8 .word 0x00023fd8 - 72dc: 000022b9 .word 0x000022b9 - 72e0: 00024c04 .word 0x00024c04 - -000072e4 <_lv_style_list_get_int>: + 729e: e7c7 b.n 7230 <_lv_style_list_add_trans_style+0x14> + 72a0: 000070cf .word 0x000070cf + 72a4: 000123c5 .word 0x000123c5 + 72a8: 00002299 .word 0x00002299 + 72ac: 000064c1 .word 0x000064c1 + 72b0: 000065c1 .word 0x000065c1 + 72b4: 00024b04 .word 0x00024b04 + 72b8: 00024b24 .word 0x00024b24 + 72bc: 00012245 .word 0x00012245 + 72c0: 00023fc0 .word 0x00023fc0 + 72c4: 000022a1 .word 0x000022a1 + 72c8: 00024bec .word 0x00024bec + +000072cc <_lv_style_list_get_int>: if(list == NULL) return LV_RES_INV; - 72e4: 2800 cmp r0, #0 - 72e6: d059 beq.n 739c <_lv_style_list_get_int+0xb8> + 72cc: 2800 cmp r0, #0 + 72ce: d059 beq.n 7384 <_lv_style_list_get_int+0xb8> { - 72e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 72ec: b083 sub sp, #12 - 72ee: 4605 mov r5, r0 + 72d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 72d4: b083 sub sp, #12 + 72d6: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 72f0: 6803 ldr r3, [r0, #0] - 72f2: 2b00 cmp r3, #0 - 72f4: d054 beq.n 73a0 <_lv_style_list_get_int+0xbc> + 72d8: 6803 ldr r3, [r0, #0] + 72da: 2b00 cmp r3, #0 + 72dc: d054 beq.n 7388 <_lv_style_list_get_int+0xbc> int16_t weight_goal = attr.full; - 72f6: ea4f 2811 mov.w r8, r1, lsr #8 + 72de: ea4f 2811 mov.w r8, r1, lsr #8 lv_style_int_t value_act = 0; - 72fa: 2300 movs r3, #0 - 72fc: f8ad 3006 strh.w r3, [sp, #6] + 72e2: 2300 movs r3, #0 + 72e4: f8ad 3006 strh.w r3, [sp, #6] for(ci = 0; ci < list->style_cnt; ci++) { - 7300: 7900 ldrb r0, [r0, #4] - 7302: 2800 cmp r0, #0 - 7304: d042 beq.n 738c <_lv_style_list_get_int+0xa8> - 7306: 4693 mov fp, r2 - 7308: 4689 mov r9, r1 - 730a: 461c mov r4, r3 - 730c: f04f 36ff mov.w r6, #4294967295 - 7310: 469a mov sl, r3 + 72e8: 7900 ldrb r0, [r0, #4] + 72ea: 2800 cmp r0, #0 + 72ec: d042 beq.n 7374 <_lv_style_list_get_int+0xa8> + 72ee: 4693 mov fp, r2 + 72f0: 4689 mov r9, r1 + 72f2: 461c mov r4, r3 + 72f4: f04f 36ff mov.w r6, #4294967295 + 72f8: 469a mov sl, r3 int16_t weight_act = _lv_style_get_int(class, prop, &value_act); - 7312: 4f24 ldr r7, [pc, #144] ; (73a4 <_lv_style_list_get_int+0xc0>) - 7314: e01c b.n 7350 <_lv_style_list_get_int+0x6c> - 7316: 4650 mov r0, sl - 7318: f10d 0206 add.w r2, sp, #6 - 731c: 4649 mov r1, r9 - 731e: 47b8 blx r7 + 72fa: 4f24 ldr r7, [pc, #144] ; (738c <_lv_style_list_get_int+0xc0>) + 72fc: e01c b.n 7338 <_lv_style_list_get_int+0x6c> + 72fe: 4650 mov r0, sl + 7300: f10d 0206 add.w r2, sp, #6 + 7304: 4649 mov r1, r9 + 7306: 47b8 blx r7 if(weight_act == weight_goal) { - 7320: 4580 cmp r8, r0 - 7322: d027 beq.n 7374 <_lv_style_list_get_int+0x90> + 7308: 4580 cmp r8, r0 + 730a: d027 beq.n 735c <_lv_style_list_get_int+0x90> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 7324: 796b ldrb r3, [r5, #5] - 7326: f013 0f02 tst.w r3, #2 - 732a: d005 beq.n 7338 <_lv_style_list_get_int+0x54> - 732c: 2800 cmp r0, #0 - 732e: db03 blt.n 7338 <_lv_style_list_get_int+0x54> - 7330: b914 cbnz r4, 7338 <_lv_style_list_get_int+0x54> - 7332: f013 0f04 tst.w r3, #4 - 7336: d023 beq.n 7380 <_lv_style_list_get_int+0x9c> + 730c: 796b ldrb r3, [r5, #5] + 730e: f013 0f02 tst.w r3, #2 + 7312: d005 beq.n 7320 <_lv_style_list_get_int+0x54> + 7314: 2800 cmp r0, #0 + 7316: db03 blt.n 7320 <_lv_style_list_get_int+0x54> + 7318: b914 cbnz r4, 7320 <_lv_style_list_get_int+0x54> + 731a: f013 0f04 tst.w r3, #4 + 731e: d023 beq.n 7368 <_lv_style_list_get_int+0x9c> else if(weight_act > weight) { - 7338: 42b0 cmp r0, r6 - 733a: dd04 ble.n 7346 <_lv_style_list_get_int+0x62> + 7320: 42b0 cmp r0, r6 + 7322: dd04 ble.n 732e <_lv_style_list_get_int+0x62> *res = value_act; - 733c: f8bd 3006 ldrh.w r3, [sp, #6] - 7340: f8ab 3000 strh.w r3, [fp] + 7324: f8bd 3006 ldrh.w r3, [sp, #6] + 7328: f8ab 3000 strh.w r3, [fp] weight = weight_act; - 7344: 4606 mov r6, r0 - 7346: 3401 adds r4, #1 - 7348: b224 sxth r4, r4 + 732c: 4606 mov r6, r0 + 732e: 3401 adds r4, #1 + 7330: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 734a: 7928 ldrb r0, [r5, #4] - 734c: 4284 cmp r4, r0 - 734e: da1f bge.n 7390 <_lv_style_list_get_int+0xac> + 7332: 7928 ldrb r0, [r5, #4] + 7334: 4284 cmp r4, r0 + 7336: da1f bge.n 7378 <_lv_style_list_get_int+0xac> lv_style_t * class = lv_style_list_get_style(list, ci); - 7350: b2e2 uxtb r2, r4 + 7338: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 7352: 796b ldrb r3, [r5, #5] - 7354: f003 0306 and.w r3, r3, #6 - 7358: 2b06 cmp r3, #6 - 735a: bf04 itt eq - 735c: 3201 addeq r2, #1 - 735e: b2d2 uxtbeq r2, r2 + 733a: 796b ldrb r3, [r5, #5] + 733c: f003 0306 and.w r3, r3, #6 + 7340: 2b06 cmp r3, #6 + 7342: bf04 itt eq + 7344: 3201 addeq r2, #1 + 7346: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7360: 2800 cmp r0, #0 - 7362: d0d8 beq.n 7316 <_lv_style_list_get_int+0x32> - 7364: 4282 cmp r2, r0 - 7366: d203 bcs.n 7370 <_lv_style_list_get_int+0x8c> + 7348: 2800 cmp r0, #0 + 734a: d0d8 beq.n 72fe <_lv_style_list_get_int+0x32> + 734c: 4282 cmp r2, r0 + 734e: d203 bcs.n 7358 <_lv_style_list_get_int+0x8c> return list->style_list[id]; - 7368: 682b ldr r3, [r5, #0] - 736a: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 736e: e7d3 b.n 7318 <_lv_style_list_get_int+0x34> + 7350: 682b ldr r3, [r5, #0] + 7352: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 7356: e7d3 b.n 7300 <_lv_style_list_get_int+0x34> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7370: 4650 mov r0, sl - 7372: e7d1 b.n 7318 <_lv_style_list_get_int+0x34> + 7358: 4650 mov r0, sl + 735a: e7d1 b.n 7300 <_lv_style_list_get_int+0x34> *res = value_act; - 7374: f8bd 3006 ldrh.w r3, [sp, #6] - 7378: f8ab 3000 strh.w r3, [fp] + 735c: f8bd 3006 ldrh.w r3, [sp, #6] + 7360: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 737c: 2001 movs r0, #1 - 737e: e00a b.n 7396 <_lv_style_list_get_int+0xb2> + 7364: 2001 movs r0, #1 + 7366: e00a b.n 737e <_lv_style_list_get_int+0xb2> *res = value_act; - 7380: f8bd 3006 ldrh.w r3, [sp, #6] - 7384: f8ab 3000 strh.w r3, [fp] + 7368: f8bd 3006 ldrh.w r3, [sp, #6] + 736c: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 7388: 2001 movs r0, #1 - 738a: e004 b.n 7396 <_lv_style_list_get_int+0xb2> + 7370: 2001 movs r0, #1 + 7372: e004 b.n 737e <_lv_style_list_get_int+0xb2> int16_t weight = -1; - 738c: f04f 36ff mov.w r6, #4294967295 + 7374: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 7390: 43f0 mvns r0, r6 + 7378: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 7392: f3c0 30c0 ubfx r0, r0, #15, #1 + 737a: f3c0 30c0 ubfx r0, r0, #15, #1 } - 7396: b003 add sp, #12 - 7398: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 737e: b003 add sp, #12 + 7380: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 739c: 2000 movs r0, #0 - 739e: 4770 bx lr + 7384: 2000 movs r0, #0 + 7386: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 73a0: 2000 movs r0, #0 - 73a2: e7f8 b.n 7396 <_lv_style_list_get_int+0xb2> - 73a4: 00006df5 .word 0x00006df5 + 7388: 2000 movs r0, #0 + 738a: e7f8 b.n 737e <_lv_style_list_get_int+0xb2> + 738c: 00006ddd .word 0x00006ddd -000073a8 <_lv_style_list_get_color>: +00007390 <_lv_style_list_get_color>: if(list == NULL) return LV_RES_INV; - 73a8: 2800 cmp r0, #0 - 73aa: d058 beq.n 745e <_lv_style_list_get_color+0xb6> + 7390: 2800 cmp r0, #0 + 7392: d058 beq.n 7446 <_lv_style_list_get_color+0xb6> { - 73ac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 73b0: b083 sub sp, #12 - 73b2: 4605 mov r5, r0 + 7394: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 7398: b083 sub sp, #12 + 739a: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 73b4: 6803 ldr r3, [r0, #0] - 73b6: 2b00 cmp r3, #0 - 73b8: d053 beq.n 7462 <_lv_style_list_get_color+0xba> + 739c: 6803 ldr r3, [r0, #0] + 739e: 2b00 cmp r3, #0 + 73a0: d053 beq.n 744a <_lv_style_list_get_color+0xba> int16_t weight_goal = attr.full; - 73ba: ea4f 2811 mov.w r8, r1, lsr #8 + 73a2: ea4f 2811 mov.w r8, r1, lsr #8 lv_color_t value_act = { 0 }; - 73be: 2300 movs r3, #0 - 73c0: f8ad 3004 strh.w r3, [sp, #4] + 73a6: 2300 movs r3, #0 + 73a8: f8ad 3004 strh.w r3, [sp, #4] for(ci = 0; ci < list->style_cnt; ci++) { - 73c4: 7900 ldrb r0, [r0, #4] - 73c6: 2800 cmp r0, #0 - 73c8: d041 beq.n 744e <_lv_style_list_get_color+0xa6> - 73ca: 4693 mov fp, r2 - 73cc: 4689 mov r9, r1 - 73ce: 461c mov r4, r3 - 73d0: f04f 36ff mov.w r6, #4294967295 - 73d4: 469a mov sl, r3 + 73ac: 7900 ldrb r0, [r0, #4] + 73ae: 2800 cmp r0, #0 + 73b0: d041 beq.n 7436 <_lv_style_list_get_color+0xa6> + 73b2: 4693 mov fp, r2 + 73b4: 4689 mov r9, r1 + 73b6: 461c mov r4, r3 + 73b8: f04f 36ff mov.w r6, #4294967295 + 73bc: 469a mov sl, r3 int16_t weight_act = _lv_style_get_color(class, prop, &value_act); - 73d6: 4f24 ldr r7, [pc, #144] ; (7468 <_lv_style_list_get_color+0xc0>) - 73d8: e01b b.n 7412 <_lv_style_list_get_color+0x6a> - 73da: 4650 mov r0, sl - 73dc: aa01 add r2, sp, #4 - 73de: 4649 mov r1, r9 - 73e0: 47b8 blx r7 + 73be: 4f24 ldr r7, [pc, #144] ; (7450 <_lv_style_list_get_color+0xc0>) + 73c0: e01b b.n 73fa <_lv_style_list_get_color+0x6a> + 73c2: 4650 mov r0, sl + 73c4: aa01 add r2, sp, #4 + 73c6: 4649 mov r1, r9 + 73c8: 47b8 blx r7 if(weight_act == weight_goal) { - 73e2: 4580 cmp r8, r0 - 73e4: d027 beq.n 7436 <_lv_style_list_get_color+0x8e> + 73ca: 4580 cmp r8, r0 + 73cc: d027 beq.n 741e <_lv_style_list_get_color+0x8e> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 73e6: 796b ldrb r3, [r5, #5] - 73e8: f013 0f02 tst.w r3, #2 - 73ec: d005 beq.n 73fa <_lv_style_list_get_color+0x52> - 73ee: 2800 cmp r0, #0 - 73f0: db03 blt.n 73fa <_lv_style_list_get_color+0x52> - 73f2: b914 cbnz r4, 73fa <_lv_style_list_get_color+0x52> - 73f4: f013 0f04 tst.w r3, #4 - 73f8: d023 beq.n 7442 <_lv_style_list_get_color+0x9a> + 73ce: 796b ldrb r3, [r5, #5] + 73d0: f013 0f02 tst.w r3, #2 + 73d4: d005 beq.n 73e2 <_lv_style_list_get_color+0x52> + 73d6: 2800 cmp r0, #0 + 73d8: db03 blt.n 73e2 <_lv_style_list_get_color+0x52> + 73da: b914 cbnz r4, 73e2 <_lv_style_list_get_color+0x52> + 73dc: f013 0f04 tst.w r3, #4 + 73e0: d023 beq.n 742a <_lv_style_list_get_color+0x9a> else if(weight_act > weight) { - 73fa: 42b0 cmp r0, r6 - 73fc: dd04 ble.n 7408 <_lv_style_list_get_color+0x60> + 73e2: 42b0 cmp r0, r6 + 73e4: dd04 ble.n 73f0 <_lv_style_list_get_color+0x60> *res = value_act; - 73fe: f8bd 3004 ldrh.w r3, [sp, #4] - 7402: f8ab 3000 strh.w r3, [fp] + 73e6: f8bd 3004 ldrh.w r3, [sp, #4] + 73ea: f8ab 3000 strh.w r3, [fp] weight = weight_act; - 7406: 4606 mov r6, r0 - 7408: 3401 adds r4, #1 - 740a: b224 sxth r4, r4 + 73ee: 4606 mov r6, r0 + 73f0: 3401 adds r4, #1 + 73f2: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 740c: 7928 ldrb r0, [r5, #4] - 740e: 4284 cmp r4, r0 - 7410: da1f bge.n 7452 <_lv_style_list_get_color+0xaa> + 73f4: 7928 ldrb r0, [r5, #4] + 73f6: 4284 cmp r4, r0 + 73f8: da1f bge.n 743a <_lv_style_list_get_color+0xaa> lv_style_t * class = lv_style_list_get_style(list, ci); - 7412: b2e2 uxtb r2, r4 + 73fa: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 7414: 796b ldrb r3, [r5, #5] - 7416: f003 0306 and.w r3, r3, #6 - 741a: 2b06 cmp r3, #6 - 741c: bf04 itt eq - 741e: 3201 addeq r2, #1 - 7420: b2d2 uxtbeq r2, r2 + 73fc: 796b ldrb r3, [r5, #5] + 73fe: f003 0306 and.w r3, r3, #6 + 7402: 2b06 cmp r3, #6 + 7404: bf04 itt eq + 7406: 3201 addeq r2, #1 + 7408: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7422: 2800 cmp r0, #0 - 7424: d0d9 beq.n 73da <_lv_style_list_get_color+0x32> - 7426: 4282 cmp r2, r0 - 7428: d203 bcs.n 7432 <_lv_style_list_get_color+0x8a> + 740a: 2800 cmp r0, #0 + 740c: d0d9 beq.n 73c2 <_lv_style_list_get_color+0x32> + 740e: 4282 cmp r2, r0 + 7410: d203 bcs.n 741a <_lv_style_list_get_color+0x8a> return list->style_list[id]; - 742a: 682b ldr r3, [r5, #0] - 742c: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 7430: e7d4 b.n 73dc <_lv_style_list_get_color+0x34> + 7412: 682b ldr r3, [r5, #0] + 7414: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 7418: e7d4 b.n 73c4 <_lv_style_list_get_color+0x34> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 7432: 4650 mov r0, sl - 7434: e7d2 b.n 73dc <_lv_style_list_get_color+0x34> + 741a: 4650 mov r0, sl + 741c: e7d2 b.n 73c4 <_lv_style_list_get_color+0x34> *res = value_act; - 7436: f8bd 3004 ldrh.w r3, [sp, #4] - 743a: f8ab 3000 strh.w r3, [fp] + 741e: f8bd 3004 ldrh.w r3, [sp, #4] + 7422: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 743e: 2001 movs r0, #1 - 7440: e00a b.n 7458 <_lv_style_list_get_color+0xb0> + 7426: 2001 movs r0, #1 + 7428: e00a b.n 7440 <_lv_style_list_get_color+0xb0> *res = value_act; - 7442: f8bd 3004 ldrh.w r3, [sp, #4] - 7446: f8ab 3000 strh.w r3, [fp] + 742a: f8bd 3004 ldrh.w r3, [sp, #4] + 742e: f8ab 3000 strh.w r3, [fp] return LV_RES_OK; - 744a: 2001 movs r0, #1 - 744c: e004 b.n 7458 <_lv_style_list_get_color+0xb0> + 7432: 2001 movs r0, #1 + 7434: e004 b.n 7440 <_lv_style_list_get_color+0xb0> int16_t weight = -1; - 744e: f04f 36ff mov.w r6, #4294967295 + 7436: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 7452: 43f0 mvns r0, r6 + 743a: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 7454: f3c0 30c0 ubfx r0, r0, #15, #1 + 743c: f3c0 30c0 ubfx r0, r0, #15, #1 } - 7458: b003 add sp, #12 - 745a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 7440: b003 add sp, #12 + 7442: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 745e: 2000 movs r0, #0 - 7460: 4770 bx lr + 7446: 2000 movs r0, #0 + 7448: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 7462: 2000 movs r0, #0 - 7464: e7f8 b.n 7458 <_lv_style_list_get_color+0xb0> - 7466: bf00 nop - 7468: 00006f5b .word 0x00006f5b + 744a: 2000 movs r0, #0 + 744c: e7f8 b.n 7440 <_lv_style_list_get_color+0xb0> + 744e: bf00 nop + 7450: 00006f43 .word 0x00006f43 -0000746c <_lv_style_list_get_opa>: +00007454 <_lv_style_list_get_opa>: if(list == NULL) return LV_RES_INV; - 746c: 2800 cmp r0, #0 - 746e: d059 beq.n 7524 <_lv_style_list_get_opa+0xb8> + 7454: 2800 cmp r0, #0 + 7456: d059 beq.n 750c <_lv_style_list_get_opa+0xb8> { - 7470: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7474: b083 sub sp, #12 - 7476: 4605 mov r5, r0 + 7458: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 745c: b083 sub sp, #12 + 745e: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 7478: 6803 ldr r3, [r0, #0] - 747a: 2b00 cmp r3, #0 - 747c: d054 beq.n 7528 <_lv_style_list_get_opa+0xbc> + 7460: 6803 ldr r3, [r0, #0] + 7462: 2b00 cmp r3, #0 + 7464: d054 beq.n 7510 <_lv_style_list_get_opa+0xbc> int16_t weight_goal = attr.full; - 747e: ea4f 2811 mov.w r8, r1, lsr #8 + 7466: ea4f 2811 mov.w r8, r1, lsr #8 lv_opa_t value_act = LV_OPA_TRANSP; - 7482: 2300 movs r3, #0 - 7484: f88d 3007 strb.w r3, [sp, #7] + 746a: 2300 movs r3, #0 + 746c: f88d 3007 strb.w r3, [sp, #7] for(ci = 0; ci < list->style_cnt; ci++) { - 7488: 7900 ldrb r0, [r0, #4] - 748a: 2800 cmp r0, #0 - 748c: d042 beq.n 7514 <_lv_style_list_get_opa+0xa8> - 748e: 4693 mov fp, r2 - 7490: 4689 mov r9, r1 - 7492: 461c mov r4, r3 - 7494: f04f 36ff mov.w r6, #4294967295 - 7498: 469a mov sl, r3 + 7470: 7900 ldrb r0, [r0, #4] + 7472: 2800 cmp r0, #0 + 7474: d042 beq.n 74fc <_lv_style_list_get_opa+0xa8> + 7476: 4693 mov fp, r2 + 7478: 4689 mov r9, r1 + 747a: 461c mov r4, r3 + 747c: f04f 36ff mov.w r6, #4294967295 + 7480: 469a mov sl, r3 int16_t weight_act = _lv_style_get_opa(class, prop, &value_act); - 749a: 4f24 ldr r7, [pc, #144] ; (752c <_lv_style_list_get_opa+0xc0>) - 749c: e01c b.n 74d8 <_lv_style_list_get_opa+0x6c> - 749e: 4650 mov r0, sl - 74a0: f10d 0207 add.w r2, sp, #7 - 74a4: 4649 mov r1, r9 - 74a6: 47b8 blx r7 + 7482: 4f24 ldr r7, [pc, #144] ; (7514 <_lv_style_list_get_opa+0xc0>) + 7484: e01c b.n 74c0 <_lv_style_list_get_opa+0x6c> + 7486: 4650 mov r0, sl + 7488: f10d 0207 add.w r2, sp, #7 + 748c: 4649 mov r1, r9 + 748e: 47b8 blx r7 if(weight_act == weight_goal) { - 74a8: 4580 cmp r8, r0 - 74aa: d027 beq.n 74fc <_lv_style_list_get_opa+0x90> + 7490: 4580 cmp r8, r0 + 7492: d027 beq.n 74e4 <_lv_style_list_get_opa+0x90> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 74ac: 796b ldrb r3, [r5, #5] - 74ae: f013 0f02 tst.w r3, #2 - 74b2: d005 beq.n 74c0 <_lv_style_list_get_opa+0x54> - 74b4: 2800 cmp r0, #0 - 74b6: db03 blt.n 74c0 <_lv_style_list_get_opa+0x54> - 74b8: b914 cbnz r4, 74c0 <_lv_style_list_get_opa+0x54> - 74ba: f013 0f04 tst.w r3, #4 - 74be: d023 beq.n 7508 <_lv_style_list_get_opa+0x9c> + 7494: 796b ldrb r3, [r5, #5] + 7496: f013 0f02 tst.w r3, #2 + 749a: d005 beq.n 74a8 <_lv_style_list_get_opa+0x54> + 749c: 2800 cmp r0, #0 + 749e: db03 blt.n 74a8 <_lv_style_list_get_opa+0x54> + 74a0: b914 cbnz r4, 74a8 <_lv_style_list_get_opa+0x54> + 74a2: f013 0f04 tst.w r3, #4 + 74a6: d023 beq.n 74f0 <_lv_style_list_get_opa+0x9c> else if(weight_act > weight) { - 74c0: 42b0 cmp r0, r6 - 74c2: dd04 ble.n 74ce <_lv_style_list_get_opa+0x62> + 74a8: 42b0 cmp r0, r6 + 74aa: dd04 ble.n 74b6 <_lv_style_list_get_opa+0x62> *res = value_act; - 74c4: f89d 3007 ldrb.w r3, [sp, #7] - 74c8: f88b 3000 strb.w r3, [fp] + 74ac: f89d 3007 ldrb.w r3, [sp, #7] + 74b0: f88b 3000 strb.w r3, [fp] weight = weight_act; - 74cc: 4606 mov r6, r0 - 74ce: 3401 adds r4, #1 - 74d0: b224 sxth r4, r4 + 74b4: 4606 mov r6, r0 + 74b6: 3401 adds r4, #1 + 74b8: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 74d2: 7928 ldrb r0, [r5, #4] - 74d4: 4284 cmp r4, r0 - 74d6: da1f bge.n 7518 <_lv_style_list_get_opa+0xac> + 74ba: 7928 ldrb r0, [r5, #4] + 74bc: 4284 cmp r4, r0 + 74be: da1f bge.n 7500 <_lv_style_list_get_opa+0xac> lv_style_t * class = lv_style_list_get_style(list, ci); - 74d8: b2e2 uxtb r2, r4 + 74c0: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 74da: 796b ldrb r3, [r5, #5] - 74dc: f003 0306 and.w r3, r3, #6 - 74e0: 2b06 cmp r3, #6 - 74e2: bf04 itt eq - 74e4: 3201 addeq r2, #1 - 74e6: b2d2 uxtbeq r2, r2 + 74c2: 796b ldrb r3, [r5, #5] + 74c4: f003 0306 and.w r3, r3, #6 + 74c8: 2b06 cmp r3, #6 + 74ca: bf04 itt eq + 74cc: 3201 addeq r2, #1 + 74ce: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 74e8: 2800 cmp r0, #0 - 74ea: d0d8 beq.n 749e <_lv_style_list_get_opa+0x32> - 74ec: 4282 cmp r2, r0 - 74ee: d203 bcs.n 74f8 <_lv_style_list_get_opa+0x8c> + 74d0: 2800 cmp r0, #0 + 74d2: d0d8 beq.n 7486 <_lv_style_list_get_opa+0x32> + 74d4: 4282 cmp r2, r0 + 74d6: d203 bcs.n 74e0 <_lv_style_list_get_opa+0x8c> return list->style_list[id]; - 74f0: 682b ldr r3, [r5, #0] - 74f2: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 74f6: e7d3 b.n 74a0 <_lv_style_list_get_opa+0x34> + 74d8: 682b ldr r3, [r5, #0] + 74da: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 74de: e7d3 b.n 7488 <_lv_style_list_get_opa+0x34> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 74f8: 4650 mov r0, sl - 74fa: e7d1 b.n 74a0 <_lv_style_list_get_opa+0x34> + 74e0: 4650 mov r0, sl + 74e2: e7d1 b.n 7488 <_lv_style_list_get_opa+0x34> *res = value_act; - 74fc: f89d 3007 ldrb.w r3, [sp, #7] - 7500: f88b 3000 strb.w r3, [fp] + 74e4: f89d 3007 ldrb.w r3, [sp, #7] + 74e8: f88b 3000 strb.w r3, [fp] return LV_RES_OK; - 7504: 2001 movs r0, #1 - 7506: e00a b.n 751e <_lv_style_list_get_opa+0xb2> + 74ec: 2001 movs r0, #1 + 74ee: e00a b.n 7506 <_lv_style_list_get_opa+0xb2> *res = value_act; - 7508: f89d 3007 ldrb.w r3, [sp, #7] - 750c: f88b 3000 strb.w r3, [fp] + 74f0: f89d 3007 ldrb.w r3, [sp, #7] + 74f4: f88b 3000 strb.w r3, [fp] return LV_RES_OK; - 7510: 2001 movs r0, #1 - 7512: e004 b.n 751e <_lv_style_list_get_opa+0xb2> + 74f8: 2001 movs r0, #1 + 74fa: e004 b.n 7506 <_lv_style_list_get_opa+0xb2> int16_t weight = -1; - 7514: f04f 36ff mov.w r6, #4294967295 + 74fc: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 7518: 43f0 mvns r0, r6 + 7500: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 751a: f3c0 30c0 ubfx r0, r0, #15, #1 + 7502: f3c0 30c0 ubfx r0, r0, #15, #1 } - 751e: b003 add sp, #12 - 7520: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 7506: b003 add sp, #12 + 7508: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 7524: 2000 movs r0, #0 - 7526: 4770 bx lr + 750c: 2000 movs r0, #0 + 750e: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 7528: 2000 movs r0, #0 - 752a: e7f8 b.n 751e <_lv_style_list_get_opa+0xb2> - 752c: 00006eab .word 0x00006eab + 7510: 2000 movs r0, #0 + 7512: e7f8 b.n 7506 <_lv_style_list_get_opa+0xb2> + 7514: 00006e93 .word 0x00006e93 -00007530 <_lv_style_list_get_ptr>: +00007518 <_lv_style_list_get_ptr>: if(list == NULL) return LV_RES_INV; - 7530: 2800 cmp r0, #0 - 7532: d052 beq.n 75da <_lv_style_list_get_ptr+0xaa> + 7518: 2800 cmp r0, #0 + 751a: d052 beq.n 75c2 <_lv_style_list_get_ptr+0xaa> { - 7534: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7538: b083 sub sp, #12 - 753a: 4605 mov r5, r0 + 751c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 7520: b083 sub sp, #12 + 7522: 4605 mov r5, r0 if(list->style_list == NULL) return LV_RES_INV; - 753c: 6803 ldr r3, [r0, #0] - 753e: 2b00 cmp r3, #0 - 7540: d04d beq.n 75de <_lv_style_list_get_ptr+0xae> + 7524: 6803 ldr r3, [r0, #0] + 7526: 2b00 cmp r3, #0 + 7528: d04d beq.n 75c6 <_lv_style_list_get_ptr+0xae> int16_t weight_goal = attr.full; - 7542: ea4f 2811 mov.w r8, r1, lsr #8 + 752a: ea4f 2811 mov.w r8, r1, lsr #8 for(ci = 0; ci < list->style_cnt; ci++) { - 7546: 7900 ldrb r0, [r0, #4] - 7548: 2800 cmp r0, #0 - 754a: d03e beq.n 75ca <_lv_style_list_get_ptr+0x9a> - 754c: 4693 mov fp, r2 - 754e: 4689 mov r9, r1 - 7550: 2400 movs r4, #0 - 7552: f04f 36ff mov.w r6, #4294967295 - 7556: 46a2 mov sl, r4 + 752e: 7900 ldrb r0, [r0, #4] + 7530: 2800 cmp r0, #0 + 7532: d03e beq.n 75b2 <_lv_style_list_get_ptr+0x9a> + 7534: 4693 mov fp, r2 + 7536: 4689 mov r9, r1 + 7538: 2400 movs r4, #0 + 753a: f04f 36ff mov.w r6, #4294967295 + 753e: 46a2 mov sl, r4 int16_t weight_act = _lv_style_get_ptr(class, prop, &value_act); - 7558: 4f22 ldr r7, [pc, #136] ; (75e4 <_lv_style_list_get_ptr+0xb4>) - 755a: e01a b.n 7592 <_lv_style_list_get_ptr+0x62> - 755c: 4650 mov r0, sl - 755e: aa01 add r2, sp, #4 - 7560: 4649 mov r1, r9 - 7562: 47b8 blx r7 + 7540: 4f22 ldr r7, [pc, #136] ; (75cc <_lv_style_list_get_ptr+0xb4>) + 7542: e01a b.n 757a <_lv_style_list_get_ptr+0x62> + 7544: 4650 mov r0, sl + 7546: aa01 add r2, sp, #4 + 7548: 4649 mov r1, r9 + 754a: 47b8 blx r7 if(weight_act == weight_goal) { - 7564: 4580 cmp r8, r0 - 7566: d026 beq.n 75b6 <_lv_style_list_get_ptr+0x86> + 754c: 4580 cmp r8, r0 + 754e: d026 beq.n 759e <_lv_style_list_get_ptr+0x86> else if(list->has_trans && weight_act >= 0 && ci == 0 && !list->skip_trans) { - 7568: 796b ldrb r3, [r5, #5] - 756a: f013 0f02 tst.w r3, #2 - 756e: d005 beq.n 757c <_lv_style_list_get_ptr+0x4c> - 7570: 2800 cmp r0, #0 - 7572: db03 blt.n 757c <_lv_style_list_get_ptr+0x4c> - 7574: b914 cbnz r4, 757c <_lv_style_list_get_ptr+0x4c> - 7576: f013 0f04 tst.w r3, #4 - 757a: d021 beq.n 75c0 <_lv_style_list_get_ptr+0x90> + 7550: 796b ldrb r3, [r5, #5] + 7552: f013 0f02 tst.w r3, #2 + 7556: d005 beq.n 7564 <_lv_style_list_get_ptr+0x4c> + 7558: 2800 cmp r0, #0 + 755a: db03 blt.n 7564 <_lv_style_list_get_ptr+0x4c> + 755c: b914 cbnz r4, 7564 <_lv_style_list_get_ptr+0x4c> + 755e: f013 0f04 tst.w r3, #4 + 7562: d021 beq.n 75a8 <_lv_style_list_get_ptr+0x90> else if(weight_act > weight) { - 757c: 42b0 cmp r0, r6 - 757e: dd03 ble.n 7588 <_lv_style_list_get_ptr+0x58> + 7564: 42b0 cmp r0, r6 + 7566: dd03 ble.n 7570 <_lv_style_list_get_ptr+0x58> *res = value_act; - 7580: 9b01 ldr r3, [sp, #4] - 7582: f8cb 3000 str.w r3, [fp] + 7568: 9b01 ldr r3, [sp, #4] + 756a: f8cb 3000 str.w r3, [fp] weight = weight_act; - 7586: 4606 mov r6, r0 - 7588: 3401 adds r4, #1 - 758a: b224 sxth r4, r4 + 756e: 4606 mov r6, r0 + 7570: 3401 adds r4, #1 + 7572: b224 sxth r4, r4 for(ci = 0; ci < list->style_cnt; ci++) { - 758c: 7928 ldrb r0, [r5, #4] - 758e: 4284 cmp r4, r0 - 7590: da1d bge.n 75ce <_lv_style_list_get_ptr+0x9e> + 7574: 7928 ldrb r0, [r5, #4] + 7576: 4284 cmp r4, r0 + 7578: da1d bge.n 75b6 <_lv_style_list_get_ptr+0x9e> lv_style_t * class = lv_style_list_get_style(list, ci); - 7592: b2e2 uxtb r2, r4 + 757a: b2e2 uxtb r2, r4 if(list->has_trans && list->skip_trans) id++; - 7594: 796b ldrb r3, [r5, #5] - 7596: f003 0306 and.w r3, r3, #6 - 759a: 2b06 cmp r3, #6 - 759c: bf04 itt eq - 759e: 3201 addeq r2, #1 - 75a0: b2d2 uxtbeq r2, r2 + 757c: 796b ldrb r3, [r5, #5] + 757e: f003 0306 and.w r3, r3, #6 + 7582: 2b06 cmp r3, #6 + 7584: bf04 itt eq + 7586: 3201 addeq r2, #1 + 7588: b2d2 uxtbeq r2, r2 if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 75a2: 2800 cmp r0, #0 - 75a4: d0da beq.n 755c <_lv_style_list_get_ptr+0x2c> - 75a6: 4282 cmp r2, r0 - 75a8: d203 bcs.n 75b2 <_lv_style_list_get_ptr+0x82> + 758a: 2800 cmp r0, #0 + 758c: d0da beq.n 7544 <_lv_style_list_get_ptr+0x2c> + 758e: 4282 cmp r2, r0 + 7590: d203 bcs.n 759a <_lv_style_list_get_ptr+0x82> return list->style_list[id]; - 75aa: 682b ldr r3, [r5, #0] - 75ac: f853 0022 ldr.w r0, [r3, r2, lsl #2] - 75b0: e7d5 b.n 755e <_lv_style_list_get_ptr+0x2e> + 7592: 682b ldr r3, [r5, #0] + 7594: f853 0022 ldr.w r0, [r3, r2, lsl #2] + 7598: e7d5 b.n 7546 <_lv_style_list_get_ptr+0x2e> if(list->style_cnt == 0 || id >= list->style_cnt) return NULL; - 75b2: 4650 mov r0, sl - 75b4: e7d3 b.n 755e <_lv_style_list_get_ptr+0x2e> + 759a: 4650 mov r0, sl + 759c: e7d3 b.n 7546 <_lv_style_list_get_ptr+0x2e> *res = value_act; - 75b6: 9b01 ldr r3, [sp, #4] - 75b8: f8cb 3000 str.w r3, [fp] + 759e: 9b01 ldr r3, [sp, #4] + 75a0: f8cb 3000 str.w r3, [fp] return LV_RES_OK; - 75bc: 2001 movs r0, #1 - 75be: e009 b.n 75d4 <_lv_style_list_get_ptr+0xa4> + 75a4: 2001 movs r0, #1 + 75a6: e009 b.n 75bc <_lv_style_list_get_ptr+0xa4> *res = value_act; - 75c0: 9b01 ldr r3, [sp, #4] - 75c2: f8cb 3000 str.w r3, [fp] + 75a8: 9b01 ldr r3, [sp, #4] + 75aa: f8cb 3000 str.w r3, [fp] return LV_RES_OK; - 75c6: 2001 movs r0, #1 - 75c8: e004 b.n 75d4 <_lv_style_list_get_ptr+0xa4> + 75ae: 2001 movs r0, #1 + 75b0: e004 b.n 75bc <_lv_style_list_get_ptr+0xa4> int16_t weight = -1; - 75ca: f04f 36ff mov.w r6, #4294967295 + 75b2: f04f 36ff mov.w r6, #4294967295 if(weight >= 0) return LV_RES_OK; - 75ce: 43f0 mvns r0, r6 + 75b6: 43f0 mvns r0, r6 if(list == NULL) return LV_RES_INV; - 75d0: f3c0 30c0 ubfx r0, r0, #15, #1 + 75b8: f3c0 30c0 ubfx r0, r0, #15, #1 } - 75d4: b003 add sp, #12 - 75d6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 75bc: b003 add sp, #12 + 75be: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(list == NULL) return LV_RES_INV; - 75da: 2000 movs r0, #0 - 75dc: 4770 bx lr + 75c2: 2000 movs r0, #0 + 75c4: 4770 bx lr if(list->style_list == NULL) return LV_RES_INV; - 75de: 2000 movs r0, #0 - 75e0: e7f8 b.n 75d4 <_lv_style_list_get_ptr+0xa4> - 75e2: bf00 nop - 75e4: 00007011 .word 0x00007011 + 75c6: 2000 movs r0, #0 + 75c8: e7f8 b.n 75bc <_lv_style_list_get_ptr+0xa4> + 75ca: bf00 nop + 75cc: 00006ff9 .word 0x00006ff9 -000075e8 : +000075d0 : } } } static inline lv_color_t color_blend_true_color_additive(lv_color_t fg, lv_color_t bg, lv_opa_t opa) { - 75e8: b5f0 push {r4, r5, r6, r7, lr} - 75ea: f001 0e1f and.w lr, r1, #31 - 75ee: f3c1 1645 ubfx r6, r1, #5, #6 - 75f2: f3c1 21c4 ubfx r1, r1, #11, #5 + 75d0: b5f0 push {r4, r5, r6, r7, lr} + 75d2: f001 0e1f and.w lr, r1, #31 + 75d6: f3c1 1645 ubfx r6, r1, #5, #6 + 75da: f3c1 21c4 ubfx r1, r1, #11, #5 if(opa <= LV_OPA_MIN) return bg; - 75f6: 2a05 cmp r2, #5 - 75f8: d93f bls.n 767a + 75de: 2a05 cmp r2, #5 + 75e0: d93f bls.n 7662 uint32_t tmp; #if LV_COLOR_DEPTH == 1 tmp = bg.full + fg.full; fg.full = LV_MATH_MIN(tmp, 1); #else tmp = bg.ch.red + fg.ch.red; - 75fa: f3c0 24c4 ubfx r4, r0, #11, #5 - 75fe: 440c add r4, r1 + 75e2: f3c0 24c4 ubfx r4, r0, #11, #5 + 75e6: 440c add r4, r1 #if LV_COLOR_DEPTH == 8 fg.ch.red = LV_MATH_MIN(tmp, 7); #elif LV_COLOR_DEPTH == 16 fg.ch.red = LV_MATH_MIN(tmp, 31); - 7600: 2c1f cmp r4, #31 - 7602: bf28 it cs - 7604: 241f movcs r4, #31 - 7606: f004 041f and.w r4, r4, #31 + 75e8: 2c1f cmp r4, #31 + 75ea: bf28 it cs + 75ec: 241f movcs r4, #31 + 75ee: f004 041f and.w r4, r4, #31 #if LV_COLOR_DEPTH == 8 fg.ch.green = LV_MATH_MIN(tmp, 7); #elif LV_COLOR_DEPTH == 16 #if LV_COLOR_16_SWAP == 0 tmp = bg.ch.green + fg.ch.green; - 760a: f3c0 1345 ubfx r3, r0, #5, #6 - 760e: 4433 add r3, r6 + 75f2: f3c0 1345 ubfx r3, r0, #5, #6 + 75f6: 4433 add r3, r6 fg.ch.green = LV_MATH_MIN(tmp, 63); - 7610: 2b3f cmp r3, #63 ; 0x3f - 7612: bf28 it cs - 7614: 233f movcs r3, #63 ; 0x3f - 7616: f003 053f and.w r5, r3, #63 ; 0x3f + 75f8: 2b3f cmp r3, #63 ; 0x3f + 75fa: bf28 it cs + 75fc: 233f movcs r3, #63 ; 0x3f + 75fe: f003 053f and.w r5, r3, #63 ; 0x3f #elif LV_COLOR_DEPTH == 32 fg.ch.green = LV_MATH_MIN(tmp, 255); #endif tmp = bg.ch.blue + fg.ch.blue; - 761a: f000 001f and.w r0, r0, #31 - 761e: 4470 add r0, lr + 7602: f000 001f and.w r0, r0, #31 + 7606: 4470 add r0, lr #if LV_COLOR_DEPTH == 8 fg.ch.blue = LV_MATH_MIN(tmp, 4); #elif LV_COLOR_DEPTH == 16 fg.ch.blue = LV_MATH_MIN(tmp, 31); - 7620: 281f cmp r0, #31 - 7622: bf28 it cs - 7624: 201f movcs r0, #31 - 7626: f000 031f and.w r3, r0, #31 + 7608: 281f cmp r0, #31 + 760a: bf28 it cs + 760c: 201f movcs r0, #31 + 760e: f000 031f and.w r3, r0, #31 #elif LV_COLOR_DEPTH == 32 fg.ch.blue = LV_MATH_MIN(tmp, 255); #endif #endif if(opa == LV_OPA_COVER) return fg; - 762a: 2aff cmp r2, #255 ; 0xff - 762c: d02e beq.n 768c + 7612: 2aff cmp r2, #255 ; 0xff + 7614: d02e beq.n 7674 LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 762e: f1c2 07ff rsb r7, r2, #255 ; 0xff + 7616: f1c2 07ff rsb r7, r2, #255 ; 0xff LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7632: fb07 f00e mul.w r0, r7, lr - 7636: fb02 0003 mla r0, r2, r3, r0 - 763a: eb00 2300 add.w r3, r0, r0, lsl #8 - 763e: eb00 10c3 add.w r0, r0, r3, lsl #7 - 7642: 0dc3 lsrs r3, r0, #23 - 7644: f04f 0000 mov.w r0, #0 - 7648: f363 0004 bfi r0, r3, #0, #5 + 761a: fb07 f00e mul.w r0, r7, lr + 761e: fb02 0003 mla r0, r2, r3, r0 + 7622: eb00 2300 add.w r3, r0, r0, lsl #8 + 7626: eb00 10c3 add.w r0, r0, r3, lsl #7 + 762a: 0dc3 lsrs r3, r0, #23 + 762c: f04f 0000 mov.w r0, #0 + 7630: f363 0004 bfi r0, r3, #0, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 764c: fb07 f306 mul.w r3, r7, r6 - 7650: fb02 3305 mla r3, r2, r5, r3 - 7654: eb03 2503 add.w r5, r3, r3, lsl #8 - 7658: eb03 13c5 add.w r3, r3, r5, lsl #7 - 765c: 0ddb lsrs r3, r3, #23 - 765e: f363 104a bfi r0, r3, #5, #6 + 7634: fb07 f306 mul.w r3, r7, r6 + 7638: fb02 3305 mla r3, r2, r5, r3 + 763c: eb03 2503 add.w r5, r3, r3, lsl #8 + 7640: eb03 13c5 add.w r3, r3, r5, lsl #7 + 7644: 0ddb lsrs r3, r3, #23 + 7646: f363 104a bfi r0, r3, #5, #6 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7662: fb07 f101 mul.w r1, r7, r1 - 7666: fb02 1204 mla r2, r2, r4, r1 - 766a: eb02 2302 add.w r3, r2, r2, lsl #8 - 766e: eb02 12c3 add.w r2, r2, r3, lsl #7 - 7672: 0dd2 lsrs r2, r2, #23 - 7674: f362 20cf bfi r0, r2, #11, #5 + 764a: fb07 f101 mul.w r1, r7, r1 + 764e: fb02 1204 mla r2, r2, r4, r1 + 7652: eb02 2302 add.w r3, r2, r2, lsl #8 + 7656: eb02 12c3 add.w r2, r2, r3, lsl #7 + 765a: 0dd2 lsrs r2, r2, #23 + 765c: f362 20cf bfi r0, r2, #11, #5 return lv_color_mix(fg, bg, opa); } - 7678: bdf0 pop {r4, r5, r6, r7, pc} + 7660: bdf0 pop {r4, r5, r6, r7, pc} if(opa <= LV_OPA_MIN) return bg; - 767a: f04f 0000 mov.w r0, #0 - 767e: f36e 0004 bfi r0, lr, #0, #5 - 7682: f366 104a bfi r0, r6, #5, #6 - 7686: f361 20cf bfi r0, r1, #11, #5 - 768a: bdf0 pop {r4, r5, r6, r7, pc} + 7662: f04f 0000 mov.w r0, #0 + 7666: f36e 0004 bfi r0, lr, #0, #5 + 766a: f366 104a bfi r0, r6, #5, #6 + 766e: f361 20cf bfi r0, r1, #11, #5 + 7672: bdf0 pop {r4, r5, r6, r7, pc} if(opa == LV_OPA_COVER) return fg; - 768c: f04f 0000 mov.w r0, #0 - 7690: f363 0004 bfi r0, r3, #0, #5 - 7694: f365 104a bfi r0, r5, #5, #6 - 7698: f364 20cf bfi r0, r4, #11, #5 - 769c: bdf0 pop {r4, r5, r6, r7, pc} + 7674: f04f 0000 mov.w r0, #0 + 7678: f363 0004 bfi r0, r3, #0, #5 + 767c: f365 104a bfi r0, r5, #5, #6 + 7680: f364 20cf bfi r0, r4, #11, #5 + 7684: bdf0 pop {r4, r5, r6, r7, pc} -0000769e : +00007686 : static inline lv_color_t color_blend_true_color_subtractive(lv_color_t fg, lv_color_t bg, lv_opa_t opa) { - 769e: b5f0 push {r4, r5, r6, r7, lr} - 76a0: f001 0e1f and.w lr, r1, #31 - 76a4: f3c1 1645 ubfx r6, r1, #5, #6 - 76a8: f3c1 21c4 ubfx r1, r1, #11, #5 + 7686: b5f0 push {r4, r5, r6, r7, lr} + 7688: f001 0e1f and.w lr, r1, #31 + 768c: f3c1 1645 ubfx r6, r1, #5, #6 + 7690: f3c1 21c4 ubfx r1, r1, #11, #5 if(opa <= LV_OPA_MIN) return bg; - 76ac: 2a05 cmp r2, #5 - 76ae: d93d bls.n 772c + 7694: 2a05 cmp r2, #5 + 7696: d93d bls.n 7714 int32_t tmp; tmp = bg.ch.red - fg.ch.red; - 76b0: f3c0 24c4 ubfx r4, r0, #11, #5 - 76b4: 1b0c subs r4, r1, r4 + 7698: f3c0 24c4 ubfx r4, r0, #11, #5 + 769c: 1b0c subs r4, r1, r4 fg.ch.red = LV_MATH_MAX(tmp, 0); - 76b6: ea24 74e4 bic.w r4, r4, r4, asr #31 - 76ba: f004 041f and.w r4, r4, #31 + 769e: ea24 74e4 bic.w r4, r4, r4, asr #31 + 76a2: f004 041f and.w r4, r4, #31 #if LV_COLOR_16_SWAP == 0 tmp = bg.ch.green - fg.ch.green; - 76be: f3c0 1345 ubfx r3, r0, #5, #6 - 76c2: 1af3 subs r3, r6, r3 + 76a6: f3c0 1345 ubfx r3, r0, #5, #6 + 76aa: 1af3 subs r3, r6, r3 fg.ch.green = LV_MATH_MAX(tmp, 0); - 76c4: ea23 73e3 bic.w r3, r3, r3, asr #31 - 76c8: f003 053f and.w r5, r3, #63 ; 0x3f + 76ac: ea23 73e3 bic.w r3, r3, r3, asr #31 + 76b0: f003 053f and.w r5, r3, #63 ; 0x3f tmp = LV_MATH_MAX(tmp, 0); fg.ch.green_h = tmp >> 3; fg.ch.green_l = tmp & 0x7; #endif tmp = bg.ch.blue - fg.ch.blue; - 76cc: f000 001f and.w r0, r0, #31 - 76d0: ebae 0000 sub.w r0, lr, r0 + 76b4: f000 001f and.w r0, r0, #31 + 76b8: ebae 0000 sub.w r0, lr, r0 fg.ch.blue = LV_MATH_MAX(tmp, 0); - 76d4: ea20 70e0 bic.w r0, r0, r0, asr #31 - 76d8: f000 031f and.w r3, r0, #31 + 76bc: ea20 70e0 bic.w r0, r0, r0, asr #31 + 76c0: f000 031f and.w r3, r0, #31 if(opa == LV_OPA_COVER) return fg; - 76dc: 2aff cmp r2, #255 ; 0xff - 76de: d02e beq.n 773e - 76e0: f1c2 07ff rsb r7, r2, #255 ; 0xff + 76c4: 2aff cmp r2, #255 ; 0xff + 76c6: d02e beq.n 7726 + 76c8: f1c2 07ff rsb r7, r2, #255 ; 0xff LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 76e4: fb07 f00e mul.w r0, r7, lr - 76e8: fb02 0003 mla r0, r2, r3, r0 - 76ec: eb00 2300 add.w r3, r0, r0, lsl #8 - 76f0: eb00 10c3 add.w r0, r0, r3, lsl #7 - 76f4: 0dc3 lsrs r3, r0, #23 - 76f6: f04f 0000 mov.w r0, #0 - 76fa: f363 0004 bfi r0, r3, #0, #5 + 76cc: fb07 f00e mul.w r0, r7, lr + 76d0: fb02 0003 mla r0, r2, r3, r0 + 76d4: eb00 2300 add.w r3, r0, r0, lsl #8 + 76d8: eb00 10c3 add.w r0, r0, r3, lsl #7 + 76dc: 0dc3 lsrs r3, r0, #23 + 76de: f04f 0000 mov.w r0, #0 + 76e2: f363 0004 bfi r0, r3, #0, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 76fe: fb07 f306 mul.w r3, r7, r6 - 7702: fb02 3305 mla r3, r2, r5, r3 - 7706: eb03 2503 add.w r5, r3, r3, lsl #8 - 770a: eb03 13c5 add.w r3, r3, r5, lsl #7 - 770e: 0ddb lsrs r3, r3, #23 - 7710: f363 104a bfi r0, r3, #5, #6 + 76e6: fb07 f306 mul.w r3, r7, r6 + 76ea: fb02 3305 mla r3, r2, r5, r3 + 76ee: eb03 2503 add.w r5, r3, r3, lsl #8 + 76f2: eb03 13c5 add.w r3, r3, r5, lsl #7 + 76f6: 0ddb lsrs r3, r3, #23 + 76f8: f363 104a bfi r0, r3, #5, #6 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7714: fb07 f101 mul.w r1, r7, r1 - 7718: fb02 1204 mla r2, r2, r4, r1 - 771c: eb02 2302 add.w r3, r2, r2, lsl #8 - 7720: eb02 12c3 add.w r2, r2, r3, lsl #7 - 7724: 0dd2 lsrs r2, r2, #23 - 7726: f362 20cf bfi r0, r2, #11, #5 + 76fc: fb07 f101 mul.w r1, r7, r1 + 7700: fb02 1204 mla r2, r2, r4, r1 + 7704: eb02 2302 add.w r3, r2, r2, lsl #8 + 7708: eb02 12c3 add.w r2, r2, r3, lsl #7 + 770c: 0dd2 lsrs r2, r2, #23 + 770e: f362 20cf bfi r0, r2, #11, #5 return lv_color_mix(fg, bg, opa); } - 772a: bdf0 pop {r4, r5, r6, r7, pc} + 7712: bdf0 pop {r4, r5, r6, r7, pc} if(opa <= LV_OPA_MIN) return bg; - 772c: f04f 0000 mov.w r0, #0 - 7730: f36e 0004 bfi r0, lr, #0, #5 - 7734: f366 104a bfi r0, r6, #5, #6 - 7738: f361 20cf bfi r0, r1, #11, #5 - 773c: bdf0 pop {r4, r5, r6, r7, pc} + 7714: f04f 0000 mov.w r0, #0 + 7718: f36e 0004 bfi r0, lr, #0, #5 + 771c: f366 104a bfi r0, r6, #5, #6 + 7720: f361 20cf bfi r0, r1, #11, #5 + 7724: bdf0 pop {r4, r5, r6, r7, pc} if(opa == LV_OPA_COVER) return fg; - 773e: f04f 0000 mov.w r0, #0 - 7742: f363 0004 bfi r0, r3, #0, #5 - 7746: f365 104a bfi r0, r5, #5, #6 - 774a: f364 20cf bfi r0, r4, #11, #5 - 774e: bdf0 pop {r4, r5, r6, r7, pc} - -00007750 <_lv_blend_fill>: -{ - 7750: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 7754: b093 sub sp, #76 ; 0x4c - 7756: f89d 4070 ldrb.w r4, [sp, #112] ; 0x70 - 775a: f89d b074 ldrb.w fp, [sp, #116] ; 0x74 - 775e: f89d 9078 ldrb.w r9, [sp, #120] ; 0x78 + 7726: f04f 0000 mov.w r0, #0 + 772a: f363 0004 bfi r0, r3, #0, #5 + 772e: f365 104a bfi r0, r5, #5, #6 + 7732: f364 20cf bfi r0, r4, #11, #5 + 7736: bdf0 pop {r4, r5, r6, r7, pc} + +00007738 <_lv_blend_fill>: +{ + 7738: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 773c: b093 sub sp, #76 ; 0x4c + 773e: f89d 4070 ldrb.w r4, [sp, #112] ; 0x70 + 7742: f89d b074 ldrb.w fp, [sp, #116] ; 0x74 + 7746: f89d 9078 ldrb.w r9, [sp, #120] ; 0x78 if(opa < LV_OPA_MIN) return; - 7762: f1bb 0f04 cmp.w fp, #4 - 7766: d900 bls.n 776a <_lv_blend_fill+0x1a> + 774a: f1bb 0f04 cmp.w fp, #4 + 774e: d900 bls.n 7752 <_lv_blend_fill+0x1a> if(mask_res == LV_DRAW_MASK_RES_TRANSP) return; - 7768: b914 cbnz r4, 7770 <_lv_blend_fill+0x20> -} - 776a: b013 add sp, #76 ; 0x4c - 776c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 7770: 9308 str r3, [sp, #32] - 7772: f8ad 2024 strh.w r2, [sp, #36] ; 0x24 - 7776: 460e mov r6, r1 - 7778: 4605 mov r5, r0 + 7750: b914 cbnz r4, 7758 <_lv_blend_fill+0x20> +} + 7752: b013 add sp, #76 ; 0x4c + 7754: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 7758: 9308 str r3, [sp, #32] + 775a: f8ad 2024 strh.w r2, [sp, #36] ; 0x24 + 775e: 460e mov r6, r1 + 7760: 4605 mov r5, r0 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 777a: 4bba ldr r3, [pc, #744] ; (7a64 <_lv_blend_fill+0x314>) - 777c: 4798 blx r3 - 777e: 4680 mov r8, r0 + 7762: 4bba ldr r3, [pc, #744] ; (7a4c <_lv_blend_fill+0x314>) + 7764: 4798 blx r3 + 7766: 4680 mov r8, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 7780: 4bb9 ldr r3, [pc, #740] ; (7a68 <_lv_blend_fill+0x318>) - 7782: 4798 blx r3 - 7784: 4607 mov r7, r0 + 7768: 4bb9 ldr r3, [pc, #740] ; (7a50 <_lv_blend_fill+0x318>) + 776a: 4798 blx r3 + 776c: 4607 mov r7, r0 lv_color_t * disp_buf = vdb->buf_act; - 7786: 6882 ldr r2, [r0, #8] - 7788: 9206 str r2, [sp, #24] + 776e: 6882 ldr r2, [r0, #8] + 7770: 9206 str r2, [sp, #24] is_common = _lv_area_intersect(&draw_area, clip_area, fill_area); - 778a: 4632 mov r2, r6 - 778c: 4629 mov r1, r5 - 778e: a810 add r0, sp, #64 ; 0x40 - 7790: 4bb6 ldr r3, [pc, #728] ; (7a6c <_lv_blend_fill+0x31c>) - 7792: 4798 blx r3 + 7772: 4632 mov r2, r6 + 7774: 4629 mov r1, r5 + 7776: a810 add r0, sp, #64 ; 0x40 + 7778: 4bb6 ldr r3, [pc, #728] ; (7a54 <_lv_blend_fill+0x31c>) + 777a: 4798 blx r3 if(!is_common) return; - 7794: 2800 cmp r0, #0 - 7796: d0e8 beq.n 776a <_lv_blend_fill+0x1a> + 777c: 2800 cmp r0, #0 + 777e: d0e8 beq.n 7752 <_lv_blend_fill+0x1a> draw_area.x1 -= disp_area->x1; - 7798: 8a3a ldrh r2, [r7, #16] - 779a: f8bd 3040 ldrh.w r3, [sp, #64] ; 0x40 - 779e: 1a9b subs r3, r3, r2 - 77a0: b299 uxth r1, r3 - 77a2: 460d mov r5, r1 - 77a4: 910a str r1, [sp, #40] ; 0x28 - 77a6: b208 sxth r0, r1 - 77a8: 900b str r0, [sp, #44] ; 0x2c - 77aa: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 + 7780: 8a3a ldrh r2, [r7, #16] + 7782: f8bd 3040 ldrh.w r3, [sp, #64] ; 0x40 + 7786: 1a9b subs r3, r3, r2 + 7788: b299 uxth r1, r3 + 778a: 460d mov r5, r1 + 778c: 910a str r1, [sp, #40] ; 0x28 + 778e: b208 sxth r0, r1 + 7790: 900b str r0, [sp, #44] ; 0x2c + 7792: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 draw_area.y1 -= disp_area->y1; - 77ae: 8a7b ldrh r3, [r7, #18] - 77b0: f8bd 1042 ldrh.w r1, [sp, #66] ; 0x42 - 77b4: 1ac9 subs r1, r1, r3 - 77b6: fa0f fc81 sxth.w ip, r1 - 77ba: f8ad c042 strh.w ip, [sp, #66] ; 0x42 + 7796: 8a7b ldrh r3, [r7, #18] + 7798: f8bd 1042 ldrh.w r1, [sp, #66] ; 0x42 + 779c: 1ac9 subs r1, r1, r3 + 779e: fa0f fc81 sxth.w ip, r1 + 77a2: f8ad c042 strh.w ip, [sp, #66] ; 0x42 draw_area.x2 -= disp_area->x1; - 77be: f8bd 0044 ldrh.w r0, [sp, #68] ; 0x44 - 77c2: 1a80 subs r0, r0, r2 - 77c4: b280 uxth r0, r0 - 77c6: f8ad 0044 strh.w r0, [sp, #68] ; 0x44 + 77a6: f8bd 0044 ldrh.w r0, [sp, #68] ; 0x44 + 77aa: 1a80 subs r0, r0, r2 + 77ac: b280 uxth r0, r0 + 77ae: f8ad 0044 strh.w r0, [sp, #68] ; 0x44 draw_area.y2 -= disp_area->y1; - 77ca: f8bd e046 ldrh.w lr, [sp, #70] ; 0x46 - 77ce: ebae 0e03 sub.w lr, lr, r3 - 77d2: fa0f fe8e sxth.w lr, lr - 77d6: f8ad e046 strh.w lr, [sp, #70] ; 0x46 + 77b2: f8bd e046 ldrh.w lr, [sp, #70] ; 0x46 + 77b6: ebae 0e03 sub.w lr, lr, r3 + 77ba: fa0f fe8e sxth.w lr, lr + 77be: f8ad e046 strh.w lr, [sp, #70] ; 0x46 if(mask && disp->driver.antialiasing == 0) - 77da: 9a08 ldr r2, [sp, #32] - 77dc: b1aa cbz r2, 780a <_lv_blend_fill+0xba> - 77de: f898 3008 ldrb.w r3, [r8, #8] - 77e2: f013 0f01 tst.w r3, #1 - 77e6: d110 bne.n 780a <_lv_blend_fill+0xba> + 77c2: 9a08 ldr r2, [sp, #32] + 77c4: b1aa cbz r2, 77f2 <_lv_blend_fill+0xba> + 77c6: f898 3008 ldrb.w r3, [r8, #8] + 77ca: f013 0f01 tst.w r3, #1 + 77ce: d110 bne.n 77f2 <_lv_blend_fill+0xba> * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 77e8: 1c41 adds r1, r0, #1 - 77ea: 1b49 subs r1, r1, r5 - 77ec: b209 sxth r1, r1 + 77d0: 1c41 adds r1, r0, #1 + 77d2: 1b49 subs r1, r1, r5 + 77d4: b209 sxth r1, r1 for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP; - 77ee: 2900 cmp r1, #0 - 77f0: dd0b ble.n 780a <_lv_blend_fill+0xba> - 77f2: 4613 mov r3, r2 - 77f4: 4411 add r1, r2 - 77f6: 781a ldrb r2, [r3, #0] - 77f8: 2a80 cmp r2, #128 ; 0x80 - 77fa: f04f 32ff mov.w r2, #4294967295 - 77fe: bf98 it ls - 7800: 2200 movls r2, #0 - 7802: f803 2b01 strb.w r2, [r3], #1 - 7806: 428b cmp r3, r1 - 7808: d1f5 bne.n 77f6 <_lv_blend_fill+0xa6> + 77d6: 2900 cmp r1, #0 + 77d8: dd0b ble.n 77f2 <_lv_blend_fill+0xba> + 77da: 4613 mov r3, r2 + 77dc: 4411 add r1, r2 + 77de: 781a ldrb r2, [r3, #0] + 77e0: 2a80 cmp r2, #128 ; 0x80 + 77e2: f04f 32ff mov.w r2, #4294967295 + 77e6: bf98 it ls + 77e8: 2200 movls r2, #0 + 77ea: f803 2b01 strb.w r2, [r3], #1 + 77ee: 428b cmp r3, r1 + 77f0: d1f5 bne.n 77de <_lv_blend_fill+0xa6> if(disp->driver.set_px_cb) { - 780a: f8d8 3014 ldr.w r3, [r8, #20] - 780e: 2b00 cmp r3, #0 - 7810: d077 beq.n 7902 <_lv_blend_fill+0x1b2> - 7812: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 + 77f2: f8d8 3014 ldr.w r3, [r8, #20] + 77f6: 2b00 cmp r3, #0 + 77f8: d077 beq.n 78ea <_lv_blend_fill+0x1b2> + 77fa: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 7816: 4b93 ldr r3, [pc, #588] ; (7a64 <_lv_blend_fill+0x314>) - 7818: 4798 blx r3 - 781a: 4605 mov r5, r0 - 781c: 8abb ldrh r3, [r7, #20] - 781e: 3301 adds r3, #1 - 7820: 8a3a ldrh r2, [r7, #16] - 7822: 1a9b subs r3, r3, r2 - 7824: b21b sxth r3, r3 - 7826: 9307 str r3, [sp, #28] + 77fe: 4b93 ldr r3, [pc, #588] ; (7a4c <_lv_blend_fill+0x314>) + 7800: 4798 blx r3 + 7802: 4605 mov r5, r0 + 7804: 8abb ldrh r3, [r7, #20] + 7806: 3301 adds r3, #1 + 7808: 8a3a ldrh r2, [r7, #16] + 780a: 1a9b subs r3, r3, r2 + 780c: b21b sxth r3, r3 + 780e: 9307 str r3, [sp, #28] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 7828: 2c01 cmp r4, #1 - 782a: d03e beq.n 78aa <_lv_blend_fill+0x15a> + 7810: 2c01 cmp r4, #1 + 7812: d03e beq.n 7892 <_lv_blend_fill+0x15a> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 782c: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 - 7830: 9b08 ldr r3, [sp, #32] - 7832: 1a9f subs r7, r3, r2 - 7834: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 - 7838: 3301 adds r3, #1 - 783a: 1a9b subs r3, r3, r2 - 783c: b21b sxth r3, r3 - 783e: 9308 str r3, [sp, #32] + 7814: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 + 7818: 9b08 ldr r3, [sp, #32] + 781a: 1a9f subs r7, r3, r2 + 781c: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 + 7820: 3301 adds r3, #1 + 7822: 1a9b subs r3, r3, r2 + 7824: b21b sxth r3, r3 + 7826: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7840: f9bd a042 ldrsh.w sl, [sp, #66] ; 0x42 - 7844: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7848: 459a cmp sl, r3 - 784a: dc8e bgt.n 776a <_lv_blend_fill+0x1a> + 7828: f9bd a042 ldrsh.w sl, [sp, #66] ; 0x42 + 782c: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 7830: 459a cmp sl, r3 + 7832: dc8e bgt.n 7752 <_lv_blend_fill+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 784c: f9bd 6040 ldrsh.w r6, [sp, #64] ; 0x40 - 7850: 4634 mov r4, r6 - 7852: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 7856: 429e cmp r6, r3 - 7858: dc1e bgt.n 7898 <_lv_blend_fill+0x148> - 785a: 443e add r6, r7 + 7834: f9bd 6040 ldrsh.w r6, [sp, #64] ; 0x40 + 7838: 4634 mov r4, r6 + 783a: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 783e: 429e cmp r6, r3 + 7840: dc1e bgt.n 7880 <_lv_blend_fill+0x148> + 7842: 443e add r6, r7 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 785c: fa0f f98a sxth.w r9, sl - 7860: 9605 str r6, [sp, #20] - 7862: 464b mov r3, r9 - 7864: 46b9 mov r9, r7 - 7866: 461f mov r7, r3 + 7844: fa0f f98a sxth.w r9, sl + 7848: 9605 str r6, [sp, #20] + 784a: 464b mov r3, r9 + 784c: 46b9 mov r9, r7 + 784e: 461f mov r7, r3 (uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8); - 7868: 9a05 ldr r2, [sp, #20] - 786a: f812 3b01 ldrb.w r3, [r2], #1 - 786e: 9205 str r2, [sp, #20] - 7870: fb03 f30b mul.w r3, r3, fp + 7850: 9a05 ldr r2, [sp, #20] + 7852: f812 3b01 ldrb.w r3, [r2], #1 + 7856: 9205 str r2, [sp, #20] + 7858: fb03 f30b mul.w r3, r3, fp disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, - 7874: f3c3 2307 ubfx r3, r3, #8, #8 - 7878: 9302 str r3, [sp, #8] - 787a: f8ad 8004 strh.w r8, [sp, #4] - 787e: 9700 str r7, [sp, #0] - 7880: b223 sxth r3, r4 - 7882: 9a07 ldr r2, [sp, #28] - 7884: 9906 ldr r1, [sp, #24] - 7886: 4628 mov r0, r5 - 7888: 696e ldr r6, [r5, #20] - 788a: 47b0 blx r6 + 785c: f3c3 2307 ubfx r3, r3, #8, #8 + 7860: 9302 str r3, [sp, #8] + 7862: f8ad 8004 strh.w r8, [sp, #4] + 7866: 9700 str r7, [sp, #0] + 7868: b223 sxth r3, r4 + 786a: 9a07 ldr r2, [sp, #28] + 786c: 9906 ldr r1, [sp, #24] + 786e: 4628 mov r0, r5 + 7870: 696e ldr r6, [r5, #20] + 7872: 47b0 blx r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 788c: 3401 adds r4, #1 - 788e: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 7892: 429c cmp r4, r3 - 7894: dde8 ble.n 7868 <_lv_blend_fill+0x118> - 7896: 464f mov r7, r9 - 7898: 9b08 ldr r3, [sp, #32] - 789a: 441f add r7, r3 + 7874: 3401 adds r4, #1 + 7876: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 787a: 429c cmp r4, r3 + 787c: dde8 ble.n 7850 <_lv_blend_fill+0x118> + 787e: 464f mov r7, r9 + 7880: 9b08 ldr r3, [sp, #32] + 7882: 441f add r7, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 789c: f10a 0a01 add.w sl, sl, #1 - 78a0: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 78a4: 459a cmp sl, r3 - 78a6: ddd1 ble.n 784c <_lv_blend_fill+0xfc> - 78a8: e75f b.n 776a <_lv_blend_fill+0x1a> + 7884: f10a 0a01 add.w sl, sl, #1 + 7888: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 788c: 459a cmp sl, r3 + 788e: ddd1 ble.n 7834 <_lv_blend_fill+0xfc> + 7890: e75f b.n 7752 <_lv_blend_fill+0x1a> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 78aa: f9bd 9042 ldrsh.w r9, [sp, #66] ; 0x42 - 78ae: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 78b2: 4599 cmp r9, r3 - 78b4: f73f af59 bgt.w 776a <_lv_blend_fill+0x1a> - 78b8: f8dd a01c ldr.w sl, [sp, #28] - 78bc: 465e mov r6, fp - 78be: f8dd b018 ldr.w fp, [sp, #24] + 7892: f9bd 9042 ldrsh.w r9, [sp, #66] ; 0x42 + 7896: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 789a: 4599 cmp r9, r3 + 789c: f73f af59 bgt.w 7752 <_lv_blend_fill+0x1a> + 78a0: f8dd a01c ldr.w sl, [sp, #28] + 78a4: 465e mov r6, fp + 78a6: f8dd b018 ldr.w fp, [sp, #24] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 78c2: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 - 78c6: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 78ca: 429c cmp r4, r3 - 78cc: dc12 bgt.n 78f4 <_lv_blend_fill+0x1a4> + 78aa: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 + 78ae: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 78b2: 429c cmp r4, r3 + 78b4: dc12 bgt.n 78dc <_lv_blend_fill+0x1a4> disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, color, opa); - 78ce: fa0f f789 sxth.w r7, r9 - 78d2: 9705 str r7, [sp, #20] - 78d4: 9602 str r6, [sp, #8] - 78d6: f8ad 8004 strh.w r8, [sp, #4] - 78da: 9b05 ldr r3, [sp, #20] - 78dc: 9300 str r3, [sp, #0] - 78de: b223 sxth r3, r4 - 78e0: 4652 mov r2, sl - 78e2: 4659 mov r1, fp - 78e4: 4628 mov r0, r5 - 78e6: 696f ldr r7, [r5, #20] - 78e8: 47b8 blx r7 + 78b6: fa0f f789 sxth.w r7, r9 + 78ba: 9705 str r7, [sp, #20] + 78bc: 9602 str r6, [sp, #8] + 78be: f8ad 8004 strh.w r8, [sp, #4] + 78c2: 9b05 ldr r3, [sp, #20] + 78c4: 9300 str r3, [sp, #0] + 78c6: b223 sxth r3, r4 + 78c8: 4652 mov r2, sl + 78ca: 4659 mov r1, fp + 78cc: 4628 mov r0, r5 + 78ce: 696f ldr r7, [r5, #20] + 78d0: 47b8 blx r7 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 78ea: 3401 adds r4, #1 - 78ec: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 78f0: 429c cmp r4, r3 - 78f2: ddef ble.n 78d4 <_lv_blend_fill+0x184> + 78d2: 3401 adds r4, #1 + 78d4: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 78d8: 429c cmp r4, r3 + 78da: ddef ble.n 78bc <_lv_blend_fill+0x184> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 78f4: f109 0901 add.w r9, r9, #1 - 78f8: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 78fc: 4599 cmp r9, r3 - 78fe: dde0 ble.n 78c2 <_lv_blend_fill+0x172> - 7900: e733 b.n 776a <_lv_blend_fill+0x1a> + 78dc: f109 0901 add.w r9, r9, #1 + 78e0: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 78e4: 4599 cmp r9, r3 + 78e6: dde0 ble.n 78aa <_lv_blend_fill+0x172> + 78e8: e733 b.n 7752 <_lv_blend_fill+0x1a> else if(mode == LV_BLEND_MODE_NORMAL) { - 7902: f1b9 0f00 cmp.w r9, #0 - 7906: f040 83a0 bne.w 804a <_lv_blend_fill+0x8fa> - 790a: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 790e: f8ad 301c strh.w r3, [sp, #28] + 78ea: f1b9 0f00 cmp.w r9, #0 + 78ee: f040 83a0 bne.w 8032 <_lv_blend_fill+0x8fa> + 78f2: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 78f6: f8ad 301c strh.w r3, [sp, #28] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 7912: 4b54 ldr r3, [pc, #336] ; (7a64 <_lv_blend_fill+0x314>) - 7914: 4798 blx r3 - 7916: 4606 mov r6, r0 - 7918: 8abb ldrh r3, [r7, #20] - 791a: 3301 adds r3, #1 - 791c: 8a3f ldrh r7, [r7, #16] - 791e: 1bdf subs r7, r3, r7 - 7920: b23f sxth r7, r7 - 7922: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 - 7926: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 - 792a: 3301 adds r3, #1 - 792c: 1a9b subs r3, r3, r2 - 792e: b21b sxth r3, r3 - 7930: 930b str r3, [sp, #44] ; 0x2c + 78fa: 4b54 ldr r3, [pc, #336] ; (7a4c <_lv_blend_fill+0x314>) + 78fc: 4798 blx r3 + 78fe: 4606 mov r6, r0 + 7900: 8abb ldrh r3, [r7, #20] + 7902: 3301 adds r3, #1 + 7904: 8a3f ldrh r7, [r7, #16] + 7906: 1bdf subs r7, r3, r7 + 7908: b23f sxth r7, r7 + 790a: f9bd 2040 ldrsh.w r2, [sp, #64] ; 0x40 + 790e: f8bd 3044 ldrh.w r3, [sp, #68] ; 0x44 + 7912: 3301 adds r3, #1 + 7914: 1a9b subs r3, r3, r2 + 7916: b21b sxth r3, r3 + 7918: 930b str r3, [sp, #44] ; 0x2c int32_t draw_area_w = lv_area_get_width(draw_area); - 7932: 461d mov r5, r3 + 791a: 461d mov r5, r3 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 7934: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 - 7938: f9bd 3042 ldrsh.w r3, [sp, #66] ; 0x42 - 793c: 1c41 adds r1, r0, #1 - 793e: 1ac9 subs r1, r1, r3 + 791c: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 + 7920: f9bd 3042 ldrsh.w r3, [sp, #66] ; 0x42 + 7924: 1c41 adds r1, r0, #1 + 7926: 1ac9 subs r1, r1, r3 int32_t draw_area_h = lv_area_get_height(draw_area); - 7940: b209 sxth r1, r1 - 7942: 910c str r1, [sp, #48] ; 0x30 + 7928: b209 sxth r1, r1 + 792a: 910c str r1, [sp, #48] ; 0x30 lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1; - 7944: 930a str r3, [sp, #40] ; 0x28 - 7946: fb03 2207 mla r2, r3, r7, r2 - 794a: 9906 ldr r1, [sp, #24] - 794c: eb01 0142 add.w r1, r1, r2, lsl #1 - 7950: 9105 str r1, [sp, #20] + 792c: 930a str r3, [sp, #40] ; 0x28 + 792e: fb03 2207 mla r2, r3, r7, r2 + 7932: 9906 ldr r1, [sp, #24] + 7934: eb01 0142 add.w r1, r1, r2, lsl #1 + 7938: 9105 str r1, [sp, #20] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 7952: 2c01 cmp r4, #1 - 7954: d029 beq.n 79aa <_lv_blend_fill+0x25a> + 793a: 2c01 cmp r4, #1 + 793c: d029 beq.n 7992 <_lv_blend_fill+0x25a> if(opa > LV_OPA_MAX) { - 7956: f1bb 0ffa cmp.w fp, #250 ; 0xfa - 795a: f200 8108 bhi.w 7b6e <_lv_blend_fill+0x41e> + 793e: f1bb 0ffa cmp.w fp, #250 ; 0xfa + 7942: f200 8108 bhi.w 7b56 <_lv_blend_fill+0x41e> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 795e: 4283 cmp r3, r0 - 7960: f73f af03 bgt.w 776a <_lv_blend_fill+0x1a> + 7946: 4283 cmp r3, r0 + 7948: f73f af03 bgt.w 7752 <_lv_blend_fill+0x1a> last_dest_color.full = disp_buf_first[0].full; - 7964: 9b06 ldr r3, [sp, #24] - 7966: f833 3012 ldrh.w r3, [r3, r2, lsl #1] - 796a: f8bd 6024 ldrh.w r6, [sp, #36] ; 0x24 - 796e: f3c6 2cc4 ubfx ip, r6, #11, #5 + 794c: 9b06 ldr r3, [sp, #24] + 794e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] + 7952: f8bd 6024 ldrh.w r6, [sp, #36] ; 0x24 + 7956: f3c6 2cc4 ubfx ip, r6, #11, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7972: f3c6 1245 ubfx r2, r6, #5, #6 - 7976: 4610 mov r0, r2 + 795a: f3c6 1245 ubfx r2, r6, #5, #6 + 795e: 4610 mov r0, r2 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7978: f006 021f and.w r2, r6, #31 - 797c: 4614 mov r4, r2 + 7960: f006 021f and.w r2, r6, #31 + 7964: 4614 mov r4, r2 disp_buf_first += disp_w; - 797e: 007a lsls r2, r7, #1 - 7980: 920c str r2, [sp, #48] ; 0x30 - 7982: 9a0b ldr r2, [sp, #44] ; 0x2c - 7984: 9908 ldr r1, [sp, #32] - 7986: 3901 subs r1, #1 - 7988: 9106 str r1, [sp, #24] - 798a: 0052 lsls r2, r2, #1 - 798c: 920e str r2, [sp, #56] ; 0x38 - 798e: 4619 mov r1, r3 - 7990: f04f 0e00 mov.w lr, #0 - 7994: 4672 mov r2, lr + 7966: 007a lsls r2, r7, #1 + 7968: 920c str r2, [sp, #48] ; 0x30 + 796a: 9a0b ldr r2, [sp, #44] ; 0x2c + 796c: 9908 ldr r1, [sp, #32] + 796e: 3901 subs r1, #1 + 7970: 9106 str r1, [sp, #24] + 7972: 0052 lsls r2, r2, #1 + 7974: 920e str r2, [sp, #56] ; 0x38 + 7976: 4619 mov r1, r3 + 7978: f04f 0e00 mov.w lr, #0 + 797c: 4672 mov r2, lr if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 7996: b2b6 uxth r6, r6 - 7998: 9608 str r6, [sp, #32] + 797e: b2b6 uxth r6, r6 + 7980: 9608 str r6, [sp, #32] if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 799a: f8cd b024 str.w fp, [sp, #36] ; 0x24 - 799e: 950d str r5, [sp, #52] ; 0x34 - 79a0: 46a1 mov r9, r4 - 79a2: f8cd b01c str.w fp, [sp, #28] - 79a6: 4683 mov fp, r0 - 79a8: e345 b.n 8036 <_lv_blend_fill+0x8e6> + 7982: f8cd b024 str.w fp, [sp, #36] ; 0x24 + 7986: 950d str r5, [sp, #52] ; 0x34 + 7988: 46a1 mov r9, r4 + 798a: f8cd b01c str.w fp, [sp, #28] + 798e: 4683 mov fp, r0 + 7990: e345 b.n 801e <_lv_blend_fill+0x8e6> if(opa > LV_OPA_MAX) { - 79aa: f1bb 0ffa cmp.w fp, #250 ; 0xfa - 79ae: d925 bls.n 79fc <_lv_blend_fill+0x2ac> + 7992: f1bb 0ffa cmp.w fp, #250 ; 0xfa + 7996: d925 bls.n 79e4 <_lv_blend_fill+0x2ac> if(disp->driver.gpu_fill_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) { - 79b0: 6a73 ldr r3, [r6, #36] ; 0x24 - 79b2: b123 cbz r3, 79be <_lv_blend_fill+0x26e> - 79b4: a810 add r0, sp, #64 ; 0x40 - 79b6: 4b2e ldr r3, [pc, #184] ; (7a70 <_lv_blend_fill+0x320>) - 79b8: 4798 blx r3 - 79ba: 28f0 cmp r0, #240 ; 0xf0 - 79bc: d813 bhi.n 79e6 <_lv_blend_fill+0x296> + 7998: 6a73 ldr r3, [r6, #36] ; 0x24 + 799a: b123 cbz r3, 79a6 <_lv_blend_fill+0x26e> + 799c: a810 add r0, sp, #64 ; 0x40 + 799e: 4b2e ldr r3, [pc, #184] ; (7a58 <_lv_blend_fill+0x320>) + 79a0: 4798 blx r3 + 79a2: 28f0 cmp r0, #240 ; 0xf0 + 79a4: d813 bhi.n 79ce <_lv_blend_fill+0x296> for(y = 0; y < draw_area_h; y++) { - 79be: 9b0c ldr r3, [sp, #48] ; 0x30 - 79c0: 2b00 cmp r3, #0 - 79c2: f77f aed2 ble.w 776a <_lv_blend_fill+0x1a> + 79a6: 9b0c ldr r3, [sp, #48] ; 0x30 + 79a8: 2b00 cmp r3, #0 + 79aa: f77f aed2 ble.w 7752 <_lv_blend_fill+0x1a> disp_buf_first += disp_w; - 79c6: 007f lsls r7, r7, #1 - 79c8: 2400 movs r4, #0 + 79ae: 007f lsls r7, r7, #1 + 79b0: 2400 movs r4, #0 lv_color_fill(disp_buf_first, color, draw_area_w); - 79ca: 4d2a ldr r5, [pc, #168] ; (7a74 <_lv_blend_fill+0x324>) - 79cc: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 - 79d0: 9e05 ldr r6, [sp, #20] - 79d2: 9a0b ldr r2, [sp, #44] ; 0x2c - 79d4: f8bd 101c ldrh.w r1, [sp, #28] - 79d8: 4630 mov r0, r6 - 79da: 47a8 blx r5 + 79b2: 4d2a ldr r5, [pc, #168] ; (7a5c <_lv_blend_fill+0x324>) + 79b4: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 + 79b8: 9e05 ldr r6, [sp, #20] + 79ba: 9a0b ldr r2, [sp, #44] ; 0x2c + 79bc: f8bd 101c ldrh.w r1, [sp, #28] + 79c0: 4630 mov r0, r6 + 79c2: 47a8 blx r5 disp_buf_first += disp_w; - 79dc: 443e add r6, r7 + 79c4: 443e add r6, r7 for(y = 0; y < draw_area_h; y++) { - 79de: 3401 adds r4, #1 - 79e0: 45a0 cmp r8, r4 - 79e2: d1f6 bne.n 79d2 <_lv_blend_fill+0x282> - 79e4: e6c1 b.n 776a <_lv_blend_fill+0x1a> + 79c6: 3401 adds r4, #1 + 79c8: 45a0 cmp r8, r4 + 79ca: d1f6 bne.n 79ba <_lv_blend_fill+0x282> + 79cc: e6c1 b.n 7752 <_lv_blend_fill+0x1a> disp->driver.gpu_fill_cb(&disp->driver, disp_buf, disp_w, draw_area, color); - 79e6: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 79ea: f8ad 3000 strh.w r3, [sp] - 79ee: 6a74 ldr r4, [r6, #36] ; 0x24 - 79f0: ab10 add r3, sp, #64 ; 0x40 - 79f2: 463a mov r2, r7 - 79f4: 9906 ldr r1, [sp, #24] - 79f6: 4630 mov r0, r6 - 79f8: 47a0 blx r4 - 79fa: e6b6 b.n 776a <_lv_blend_fill+0x1a> + 79ce: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 79d2: f8ad 3000 strh.w r3, [sp] + 79d6: 6a74 ldr r4, [r6, #36] ; 0x24 + 79d8: ab10 add r3, sp, #64 ; 0x40 + 79da: 463a mov r2, r7 + 79dc: 9906 ldr r1, [sp, #24] + 79de: 4630 mov r0, r6 + 79e0: 47a0 blx r4 + 79e2: e6b6 b.n 7752 <_lv_blend_fill+0x1a> if(disp->driver.gpu_blend_cb && lv_area_get_size(draw_area) > GPU_SIZE_LIMIT) { - 79fc: 6a33 ldr r3, [r6, #32] - 79fe: 2b00 cmp r3, #0 - 7a00: d03c beq.n 7a7c <_lv_blend_fill+0x32c> - 7a02: a810 add r0, sp, #64 ; 0x40 - 7a04: 4b1a ldr r3, [pc, #104] ; (7a70 <_lv_blend_fill+0x320>) - 7a06: 4798 blx r3 - 7a08: 28f0 cmp r0, #240 ; 0xf0 - 7a0a: d937 bls.n 7a7c <_lv_blend_fill+0x32c> + 79e4: 6a33 ldr r3, [r6, #32] + 79e6: 2b00 cmp r3, #0 + 79e8: d03c beq.n 7a64 <_lv_blend_fill+0x32c> + 79ea: a810 add r0, sp, #64 ; 0x40 + 79ec: 4b1a ldr r3, [pc, #104] ; (7a58 <_lv_blend_fill+0x320>) + 79ee: 4798 blx r3 + 79f0: 28f0 cmp r0, #240 ; 0xf0 + 79f2: d937 bls.n 7a64 <_lv_blend_fill+0x32c> for(x = 0; x < draw_area_w ; x++) blend_buf[x].full = color.full; - 7a0c: 990b ldr r1, [sp, #44] ; 0x2c - 7a0e: 2900 cmp r1, #0 - 7a10: dd0c ble.n 7a2c <_lv_blend_fill+0x2dc> - 7a12: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 - 7a16: 4a18 ldr r2, [pc, #96] ; (7a78 <_lv_blend_fill+0x328>) - 7a18: 1e93 subs r3, r2, #2 - 7a1a: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 - 7a1e: 3901 subs r1, #1 - 7a20: eb02 0241 add.w r2, r2, r1, lsl #1 - 7a24: f823 8f02 strh.w r8, [r3, #2]! - 7a28: 429a cmp r2, r3 - 7a2a: d1fb bne.n 7a24 <_lv_blend_fill+0x2d4> + 79f4: 990b ldr r1, [sp, #44] ; 0x2c + 79f6: 2900 cmp r1, #0 + 79f8: dd0c ble.n 7a14 <_lv_blend_fill+0x2dc> + 79fa: f8bd 8024 ldrh.w r8, [sp, #36] ; 0x24 + 79fe: 4a18 ldr r2, [pc, #96] ; (7a60 <_lv_blend_fill+0x328>) + 7a00: 1e93 subs r3, r2, #2 + 7a02: f101 4100 add.w r1, r1, #2147483648 ; 0x80000000 + 7a06: 3901 subs r1, #1 + 7a08: eb02 0241 add.w r2, r2, r1, lsl #1 + 7a0c: f823 8f02 strh.w r8, [r3, #2]! + 7a10: 429a cmp r2, r3 + 7a12: d1fb bne.n 7a0c <_lv_blend_fill+0x2d4> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7a2c: f9bd 5042 ldrsh.w r5, [sp, #66] ; 0x42 - 7a30: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7a34: 429d cmp r5, r3 - 7a36: f73f ae98 bgt.w 776a <_lv_blend_fill+0x1a> + 7a14: f9bd 5042 ldrsh.w r5, [sp, #66] ; 0x42 + 7a18: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 7a1c: 429d cmp r5, r3 + 7a1e: f73f ae98 bgt.w 7752 <_lv_blend_fill+0x1a> disp_buf_first += disp_w; - 7a3a: ea4f 0847 mov.w r8, r7, lsl #1 + 7a22: ea4f 0847 mov.w r8, r7, lsl #1 disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, blend_buf, draw_area_w, opa); - 7a3e: f8df a038 ldr.w sl, [pc, #56] ; 7a78 <_lv_blend_fill+0x328> - 7a42: f8dd 9014 ldr.w r9, [sp, #20] - 7a46: 465c mov r4, fp - 7a48: 9400 str r4, [sp, #0] - 7a4a: 9b0b ldr r3, [sp, #44] ; 0x2c - 7a4c: 4652 mov r2, sl - 7a4e: 4649 mov r1, r9 - 7a50: 4630 mov r0, r6 - 7a52: 6a37 ldr r7, [r6, #32] - 7a54: 47b8 blx r7 + 7a26: f8df a038 ldr.w sl, [pc, #56] ; 7a60 <_lv_blend_fill+0x328> + 7a2a: f8dd 9014 ldr.w r9, [sp, #20] + 7a2e: 465c mov r4, fp + 7a30: 9400 str r4, [sp, #0] + 7a32: 9b0b ldr r3, [sp, #44] ; 0x2c + 7a34: 4652 mov r2, sl + 7a36: 4649 mov r1, r9 + 7a38: 4630 mov r0, r6 + 7a3a: 6a37 ldr r7, [r6, #32] + 7a3c: 47b8 blx r7 disp_buf_first += disp_w; - 7a56: 44c1 add r9, r8 + 7a3e: 44c1 add r9, r8 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 7a58: 3501 adds r5, #1 - 7a5a: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 7a5e: 429d cmp r5, r3 - 7a60: ddf2 ble.n 7a48 <_lv_blend_fill+0x2f8> - 7a62: e682 b.n 776a <_lv_blend_fill+0x1a> - 7a64: 00005f69 .word 0x00005f69 - 7a68: 00010fdd .word 0x00010fdd - 7a6c: 00011519 .word 0x00011519 - 7a70: 000114fd .word 0x000114fd - 7a74: 00011b3b .word 0x00011b3b - 7a78: 20002690 .word 0x20002690 + 7a40: 3501 adds r5, #1 + 7a42: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 7a46: 429d cmp r5, r3 + 7a48: ddf2 ble.n 7a30 <_lv_blend_fill+0x2f8> + 7a4a: e682 b.n 7752 <_lv_blend_fill+0x1a> + 7a4c: 00005f51 .word 0x00005f51 + 7a50: 00010fc5 .word 0x00010fc5 + 7a54: 00011501 .word 0x00011501 + 7a58: 000114e5 .word 0x000114e5 + 7a5c: 00011b23 .word 0x00011b23 + 7a60: 20002690 .word 0x20002690 lv_color_t last_dest_color = LV_COLOR_BLACK; - 7a7c: f04f 0e00 mov.w lr, #0 - 7a80: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 - 7a84: f002 091f and.w r9, r2, #31 - 7a88: f3c2 1845 ubfx r8, r2, #5, #6 - 7a8c: f3c2 2cc4 ubfx ip, r2, #11, #5 + 7a64: f04f 0e00 mov.w lr, #0 + 7a68: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 + 7a6c: f002 091f and.w r9, r2, #31 + 7a70: f3c2 1845 ubfx r8, r2, #5, #6 + 7a74: f3c2 2cc4 ubfx ip, r2, #11, #5 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7a90: fb0b f30c mul.w r3, fp, ip - 7a94: eb03 2103 add.w r1, r3, r3, lsl #8 - 7a98: eb03 13c1 add.w r3, r3, r1, lsl #7 - 7a9c: f3c3 51c4 ubfx r1, r3, #23, #5 + 7a78: fb0b f30c mul.w r3, fp, ip + 7a7c: eb03 2103 add.w r1, r3, r3, lsl #8 + 7a80: eb03 13c1 add.w r3, r3, r1, lsl #7 + 7a84: f3c3 51c4 ubfx r1, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7aa0: fb0b f308 mul.w r3, fp, r8 - 7aa4: eb03 2403 add.w r4, r3, r3, lsl #8 - 7aa8: eb03 13c4 add.w r3, r3, r4, lsl #7 - 7aac: f3c3 54c5 ubfx r4, r3, #23, #6 + 7a88: fb0b f308 mul.w r3, fp, r8 + 7a8c: eb03 2403 add.w r4, r3, r3, lsl #8 + 7a90: eb03 13c4 add.w r3, r3, r4, lsl #7 + 7a94: f3c3 54c5 ubfx r4, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7ab0: fb0b f309 mul.w r3, fp, r9 - 7ab4: eb03 2203 add.w r2, r3, r3, lsl #8 - 7ab8: eb03 13c2 add.w r3, r3, r2, lsl #7 - 7abc: f3c3 52c4 ubfx r2, r3, #23, #5 + 7a98: fb0b f309 mul.w r3, fp, r9 + 7a9c: eb03 2203 add.w r2, r3, r3, lsl #8 + 7aa0: eb03 13c2 add.w r3, r3, r2, lsl #7 + 7aa4: f3c3 52c4 ubfx r2, r3, #23, #5 } LV_ATTRIBUTE_FAST_MEM static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out) { #if LV_COLOR_DEPTH != 1 out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; - 7ac0: fa1f f38b uxth.w r3, fp - 7ac4: fb0c fc03 mul.w ip, ip, r3 + 7aa8: fa1f f38b uxth.w r3, fp + 7aac: fb0c fc03 mul.w ip, ip, r3 out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix; - 7ac8: fb08 f803 mul.w r8, r8, r3 + 7ab0: fb08 f803 mul.w r8, r8, r3 out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix; - 7acc: fb09 f903 mul.w r9, r9, r3 + 7ab4: fb09 f903 mul.w r9, r9, r3 lv_opa_t opa_inv = 255 - opa; - 7ad0: ea6f 030b mvn.w r3, fp - 7ad4: b2db uxtb r3, r3 + 7ab8: ea6f 030b mvn.w r3, fp + 7abc: b2db uxtb r3, r3 for(y = 0; y < draw_area_h; y++) { - 7ad6: 980c ldr r0, [sp, #48] ; 0x30 - 7ad8: 2800 cmp r0, #0 - 7ada: f77f ae46 ble.w 776a <_lv_blend_fill+0x1a> + 7abe: 980c ldr r0, [sp, #48] ; 0x30 + 7ac0: 2800 cmp r0, #0 + 7ac2: f77f ae46 ble.w 7752 <_lv_blend_fill+0x1a> disp_buf_first += disp_w; - 7ade: 0078 lsls r0, r7, #1 - 7ae0: 9007 str r0, [sp, #28] - 7ae2: 980b ldr r0, [sp, #44] ; 0x2c - 7ae4: 0040 lsls r0, r0, #1 - 7ae6: 9008 str r0, [sp, #32] - 7ae8: 2000 movs r0, #0 - 7aea: 9006 str r0, [sp, #24] + 7ac6: 0078 lsls r0, r7, #1 + 7ac8: 9007 str r0, [sp, #28] + 7aca: 980b ldr r0, [sp, #44] ; 0x2c + 7acc: 0040 lsls r0, r0, #1 + 7ace: 9008 str r0, [sp, #32] + 7ad0: 2000 movs r0, #0 + 7ad2: 9006 str r0, [sp, #24] LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 7aec: b29f uxth r7, r3 - 7aee: e036 b.n 7b5e <_lv_blend_fill+0x40e> + 7ad4: b29f uxth r7, r3 + 7ad6: e036 b.n 7b46 <_lv_blend_fill+0x40e> disp_buf_first[x] = last_res_color; - 7af0: 7830 ldrb r0, [r6, #0] - 7af2: f362 0004 bfi r0, r2, #0, #5 - 7af6: 7030 strb r0, [r6, #0] - 7af8: 8830 ldrh r0, [r6, #0] - 7afa: f364 104a bfi r0, r4, #5, #6 - 7afe: 8030 strh r0, [r6, #0] - 7b00: 0a00 lsrs r0, r0, #8 - 7b02: f361 00c7 bfi r0, r1, #3, #5 - 7b06: 7070 strb r0, [r6, #1] - 7b08: 3302 adds r3, #2 + 7ad8: 7830 ldrb r0, [r6, #0] + 7ada: f362 0004 bfi r0, r2, #0, #5 + 7ade: 7030 strb r0, [r6, #0] + 7ae0: 8830 ldrh r0, [r6, #0] + 7ae2: f364 104a bfi r0, r4, #5, #6 + 7ae6: 8030 strh r0, [r6, #0] + 7ae8: 0a00 lsrs r0, r0, #8 + 7aea: f361 00c7 bfi r0, r1, #3, #5 + 7aee: 7070 strb r0, [r6, #1] + 7af0: 3302 adds r3, #2 for(x = 0; x < draw_area_w; x++) { - 7b0a: 459b cmp fp, r3 - 7b0c: d01c beq.n 7b48 <_lv_blend_fill+0x3f8> + 7af2: 459b cmp fp, r3 + 7af4: d01c beq.n 7b30 <_lv_blend_fill+0x3f8> if(last_dest_color.full != disp_buf_first[x].full) { - 7b0e: 461e mov r6, r3 - 7b10: fa1f f08e uxth.w r0, lr - 7b14: f8b3 a000 ldrh.w sl, [r3] - 7b18: 4550 cmp r0, sl - 7b1a: d0e9 beq.n 7af0 <_lv_blend_fill+0x3a0> + 7af6: 461e mov r6, r3 + 7af8: fa1f f08e uxth.w r0, lr + 7afc: f8b3 a000 ldrh.w sl, [r3] + 7b00: 4550 cmp r0, sl + 7b02: d0e9 beq.n 7ad8 <_lv_blend_fill+0x3a0> last_dest_color = disp_buf_first[x]; - 7b1c: f8b3 e000 ldrh.w lr, [r3] - 7b20: 7859 ldrb r1, [r3, #1] - 7b22: 08c9 lsrs r1, r1, #3 - 7b24: fb01 c107 mla r1, r1, r7, ip - 7b28: f3c1 2104 ubfx r1, r1, #8, #5 + 7b04: f8b3 e000 ldrh.w lr, [r3] + 7b08: 7859 ldrb r1, [r3, #1] + 7b0a: 08c9 lsrs r1, r1, #3 + 7b0c: fb01 c107 mla r1, r1, r7, ip + 7b10: f3c1 2104 ubfx r1, r1, #8, #5 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 7b2c: f3ce 1445 ubfx r4, lr, #5, #6 - 7b30: fb04 8407 mla r4, r4, r7, r8 - 7b34: f3c4 2405 ubfx r4, r4, #8, #6 + 7b14: f3ce 1445 ubfx r4, lr, #5, #6 + 7b18: fb04 8407 mla r4, r4, r7, r8 + 7b1c: f3c4 2405 ubfx r4, r4, #8, #6 LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8); - 7b38: 781a ldrb r2, [r3, #0] - 7b3a: f002 021f and.w r2, r2, #31 - 7b3e: fb02 9207 mla r2, r2, r7, r9 - 7b42: f3c2 2204 ubfx r2, r2, #8, #5 - 7b46: e7d3 b.n 7af0 <_lv_blend_fill+0x3a0> + 7b20: 781a ldrb r2, [r3, #0] + 7b22: f002 021f and.w r2, r2, #31 + 7b26: fb02 9207 mla r2, r2, r7, r9 + 7b2a: f3c2 2204 ubfx r2, r2, #8, #5 + 7b2e: e7d3 b.n 7ad8 <_lv_blend_fill+0x3a0> disp_buf_first += disp_w; - 7b48: 9b05 ldr r3, [sp, #20] - 7b4a: 9807 ldr r0, [sp, #28] - 7b4c: 4403 add r3, r0 - 7b4e: 9305 str r3, [sp, #20] + 7b30: 9b05 ldr r3, [sp, #20] + 7b32: 9807 ldr r0, [sp, #28] + 7b34: 4403 add r3, r0 + 7b36: 9305 str r3, [sp, #20] for(y = 0; y < draw_area_h; y++) { - 7b50: 9b06 ldr r3, [sp, #24] - 7b52: 3301 adds r3, #1 - 7b54: 9306 str r3, [sp, #24] - 7b56: 980c ldr r0, [sp, #48] ; 0x30 - 7b58: 4298 cmp r0, r3 - 7b5a: f43f ae06 beq.w 776a <_lv_blend_fill+0x1a> + 7b38: 9b06 ldr r3, [sp, #24] + 7b3a: 3301 adds r3, #1 + 7b3c: 9306 str r3, [sp, #24] + 7b3e: 980c ldr r0, [sp, #48] ; 0x30 + 7b40: 4298 cmp r0, r3 + 7b42: f43f ae06 beq.w 7752 <_lv_blend_fill+0x1a> for(x = 0; x < draw_area_w; x++) { - 7b5e: 2d00 cmp r5, #0 - 7b60: ddf2 ble.n 7b48 <_lv_blend_fill+0x3f8> - 7b62: 9805 ldr r0, [sp, #20] - 7b64: 4603 mov r3, r0 - 7b66: 9e08 ldr r6, [sp, #32] - 7b68: eb00 0b06 add.w fp, r0, r6 - 7b6c: e7cf b.n 7b0e <_lv_blend_fill+0x3be> + 7b46: 2d00 cmp r5, #0 + 7b48: ddf2 ble.n 7b30 <_lv_blend_fill+0x3f8> + 7b4a: 9805 ldr r0, [sp, #20] + 7b4c: 4603 mov r3, r0 + 7b4e: 9e08 ldr r6, [sp, #32] + 7b50: eb00 0b06 add.w fp, r0, r6 + 7b54: e7cf b.n 7af6 <_lv_blend_fill+0x3be> for(y = 0; y < draw_area_h; y++) { - 7b6e: 9b0c ldr r3, [sp, #48] ; 0x30 - 7b70: 2b00 cmp r3, #0 - 7b72: f77f adfa ble.w 776a <_lv_blend_fill+0x1a> + 7b56: 9b0c ldr r3, [sp, #48] ; 0x30 + 7b58: 2b00 cmp r3, #0 + 7b5a: f77f adfa ble.w 7752 <_lv_blend_fill+0x1a> int32_t x_end4 = draw_area_w - 4; - 7b76: 9b0b ldr r3, [sp, #44] ; 0x2c - 7b78: 3b04 subs r3, #4 - 7b7a: 930d str r3, [sp, #52] ; 0x34 + 7b5e: 9b0b ldr r3, [sp, #44] ; 0x2c + 7b60: 3b04 subs r3, #4 + 7b62: 930d str r3, [sp, #52] ; 0x34 disp_buf_first += disp_w; - 7b7c: 007b lsls r3, r7, #1 - 7b7e: 930f str r3, [sp, #60] ; 0x3c - 7b80: 2300 movs r3, #0 - 7b82: 930a str r3, [sp, #40] ; 0x28 + 7b64: 007b lsls r3, r7, #1 + 7b66: 930f str r3, [sp, #60] ; 0x3c + 7b68: 2300 movs r3, #0 + 7b6a: 930a str r3, [sp, #40] ; 0x28 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7b84: f8bd 201c ldrh.w r2, [sp, #28] - 7b88: f3c2 2cc4 ubfx ip, r2, #11, #5 + 7b6c: f8bd 201c ldrh.w r2, [sp, #28] + 7b70: f3c2 2cc4 ubfx ip, r2, #11, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7b8c: f3c2 1e45 ubfx lr, r2, #5, #6 + 7b74: f3c2 1e45 ubfx lr, r2, #5, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7b90: f3c2 0304 ubfx r3, r2, #0, #5 - 7b94: 9306 str r3, [sp, #24] - 7b96: e1de b.n 7f56 <_lv_blend_fill+0x806> + 7b78: f3c2 0304 ubfx r3, r2, #0, #5 + 7b7c: 9306 str r3, [sp, #24] + 7b7e: e1de b.n 7f3e <_lv_blend_fill+0x806> FILL_NORMAL_MASK_PX(x, color) - 7b98: f8bd 301c ldrh.w r3, [sp, #28] - 7b9c: 803b strh r3, [r7, #0] - 7b9e: 4643 mov r3, r8 + 7b80: f8bd 301c ldrh.w r3, [sp, #28] + 7b84: 803b strh r3, [r7, #0] + 7b86: 4643 mov r3, r8 for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 7ba0: 3101 adds r1, #1 - 7ba2: 428d cmp r5, r1 - 7ba4: f000 834c beq.w 8240 <_lv_blend_fill+0xaf0> - 7ba8: 3702 adds r7, #2 - 7baa: f018 0f03 tst.w r8, #3 - 7bae: f000 8355 beq.w 825c <_lv_blend_fill+0xb0c> + 7b88: 3101 adds r1, #1 + 7b8a: 428d cmp r5, r1 + 7b8c: f000 834c beq.w 8228 <_lv_blend_fill+0xaf0> + 7b90: 3702 adds r7, #2 + 7b92: f018 0f03 tst.w r8, #3 + 7b96: f000 8355 beq.w 8244 <_lv_blend_fill+0xb0c> FILL_NORMAL_MASK_PX(x, color) - 7bb2: f818 3b01 ldrb.w r3, [r8], #1 - 7bb6: 2b00 cmp r3, #0 - 7bb8: d0f1 beq.n 7b9e <_lv_blend_fill+0x44e> - 7bba: 2bff cmp r3, #255 ; 0xff - 7bbc: d0ec beq.n 7b98 <_lv_blend_fill+0x448> + 7b9a: f818 3b01 ldrb.w r3, [r8], #1 + 7b9e: 2b00 cmp r3, #0 + 7ba0: d0f1 beq.n 7b86 <_lv_blend_fill+0x44e> + 7ba2: 2bff cmp r3, #255 ; 0xff + 7ba4: d0ec beq.n 7b80 <_lv_blend_fill+0x448> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7bbe: f1c3 09ff rsb r9, r3, #255 ; 0xff - 7bc2: 787a ldrb r2, [r7, #1] - 7bc4: 08d2 lsrs r2, r2, #3 - 7bc6: fb09 f202 mul.w r2, r9, r2 - 7bca: fb03 220c mla r2, r3, ip, r2 - 7bce: eb02 2002 add.w r0, r2, r2, lsl #8 - 7bd2: eb02 12c0 add.w r2, r2, r0, lsl #7 - 7bd6: f3c2 52c4 ubfx r2, r2, #23, #5 + 7ba6: f1c3 09ff rsb r9, r3, #255 ; 0xff + 7baa: 787a ldrb r2, [r7, #1] + 7bac: 08d2 lsrs r2, r2, #3 + 7bae: fb09 f202 mul.w r2, r9, r2 + 7bb2: fb03 220c mla r2, r3, ip, r2 + 7bb6: eb02 2002 add.w r0, r2, r2, lsl #8 + 7bba: eb02 12c0 add.w r2, r2, r0, lsl #7 + 7bbe: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7bda: 8838 ldrh r0, [r7, #0] - 7bdc: f3c0 1045 ubfx r0, r0, #5, #6 - 7be0: fb09 f000 mul.w r0, r9, r0 - 7be4: fb03 000e mla r0, r3, lr, r0 - 7be8: eb00 2600 add.w r6, r0, r0, lsl #8 - 7bec: eb00 10c6 add.w r0, r0, r6, lsl #7 - 7bf0: f3c0 50c5 ubfx r0, r0, #23, #6 + 7bc2: 8838 ldrh r0, [r7, #0] + 7bc4: f3c0 1045 ubfx r0, r0, #5, #6 + 7bc8: fb09 f000 mul.w r0, r9, r0 + 7bcc: fb03 000e mla r0, r3, lr, r0 + 7bd0: eb00 2600 add.w r6, r0, r0, lsl #8 + 7bd4: eb00 10c6 add.w r0, r0, r6, lsl #7 + 7bd8: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7bf4: 783e ldrb r6, [r7, #0] - 7bf6: f006 0a1f and.w sl, r6, #31 - 7bfa: fb09 f90a mul.w r9, r9, sl - 7bfe: fb03 9304 mla r3, r3, r4, r9 - 7c02: eb03 2903 add.w r9, r3, r3, lsl #8 - 7c06: eb03 13c9 add.w r3, r3, r9, lsl #7 - 7c0a: 0ddb lsrs r3, r3, #23 - 7c0c: f363 0604 bfi r6, r3, #0, #5 - 7c10: 703e strb r6, [r7, #0] - 7c12: 883b ldrh r3, [r7, #0] - 7c14: f360 134a bfi r3, r0, #5, #6 - 7c18: 803b strh r3, [r7, #0] - 7c1a: 0a1b lsrs r3, r3, #8 - 7c1c: f362 03c7 bfi r3, r2, #3, #5 - 7c20: 707b strb r3, [r7, #1] - 7c22: e7bc b.n 7b9e <_lv_blend_fill+0x44e> + 7bdc: 783e ldrb r6, [r7, #0] + 7bde: f006 0a1f and.w sl, r6, #31 + 7be2: fb09 f90a mul.w r9, r9, sl + 7be6: fb03 9304 mla r3, r3, r4, r9 + 7bea: eb03 2903 add.w r9, r3, r3, lsl #8 + 7bee: eb03 13c9 add.w r3, r3, r9, lsl #7 + 7bf2: 0ddb lsrs r3, r3, #23 + 7bf4: f363 0604 bfi r6, r3, #0, #5 + 7bf8: 703e strb r6, [r7, #0] + 7bfa: 883b ldrh r3, [r7, #0] + 7bfc: f360 134a bfi r3, r0, #5, #6 + 7c00: 803b strh r3, [r7, #0] + 7c02: 0a1b lsrs r3, r3, #8 + 7c04: f362 03c7 bfi r3, r2, #3, #5 + 7c08: 707b strb r3, [r7, #1] + 7c0a: e7bc b.n 7b86 <_lv_blend_fill+0x44e> disp_buf_first[x] = color; - 7c24: f8bd 401c ldrh.w r4, [sp, #28] - 7c28: f820 4c06 strh.w r4, [r0, #-6] + 7c0c: f8bd 401c ldrh.w r4, [sp, #28] + 7c10: f820 4c06 strh.w r4, [r0, #-6] disp_buf_first[x + 1] = color; - 7c2c: f820 4c04 strh.w r4, [r0, #-4] + 7c14: f820 4c04 strh.w r4, [r0, #-4] disp_buf_first[x + 2] = color; - 7c30: f820 4c02 strh.w r4, [r0, #-2] + 7c18: f820 4c02 strh.w r4, [r0, #-2] disp_buf_first[x + 3] = color; - 7c34: 8004 strh r4, [r0, #0] + 7c1c: 8004 strh r4, [r0, #0] for(; x <= x_end4; x += 4) { - 7c36: 3104 adds r1, #4 - 7c38: 3304 adds r3, #4 - 7c3a: 3008 adds r0, #8 - 7c3c: 428f cmp r7, r1 - 7c3e: f2c0 8129 blt.w 7e94 <_lv_blend_fill+0x744> - 7c42: 461a mov r2, r3 + 7c1e: 3104 adds r1, #4 + 7c20: 3304 adds r3, #4 + 7c22: 3008 adds r0, #8 + 7c24: 428f cmp r7, r1 + 7c26: f2c0 8129 blt.w 7e7c <_lv_blend_fill+0x744> + 7c2a: 461a mov r2, r3 if(*mask32) { - 7c44: f853 4c04 ldr.w r4, [r3, #-4] - 7c48: 2c00 cmp r4, #0 - 7c4a: d0f4 beq.n 7c36 <_lv_blend_fill+0x4e6> + 7c2c: f853 4c04 ldr.w r4, [r3, #-4] + 7c30: 2c00 cmp r4, #0 + 7c32: d0f4 beq.n 7c1e <_lv_blend_fill+0x4e6> if((*mask32) == 0xFFFFFFFF) { - 7c4c: f1b4 3fff cmp.w r4, #4294967295 - 7c50: d0e8 beq.n 7c24 <_lv_blend_fill+0x4d4> + 7c34: f1b4 3fff cmp.w r4, #4294967295 + 7c38: d0e8 beq.n 7c0c <_lv_blend_fill+0x4d4> FILL_NORMAL_MASK_PX(x, color) - 7c52: f813 8c04 ldrb.w r8, [r3, #-4] - 7c56: f1b8 0f00 cmp.w r8, #0 - 7c5a: d03f beq.n 7cdc <_lv_blend_fill+0x58c> - 7c5c: f1b8 0fff cmp.w r8, #255 ; 0xff - 7c60: f000 8105 beq.w 7e6e <_lv_blend_fill+0x71e> + 7c3a: f813 8c04 ldrb.w r8, [r3, #-4] + 7c3e: f1b8 0f00 cmp.w r8, #0 + 7c42: d03f beq.n 7cc4 <_lv_blend_fill+0x58c> + 7c44: f1b8 0fff cmp.w r8, #255 ; 0xff + 7c48: f000 8105 beq.w 7e56 <_lv_blend_fill+0x71e> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7c64: f1c8 06ff rsb r6, r8, #255 ; 0xff - 7c68: f810 4c05 ldrb.w r4, [r0, #-5] - 7c6c: 08e4 lsrs r4, r4, #3 - 7c6e: fb06 f404 mul.w r4, r6, r4 - 7c72: fb08 440c mla r4, r8, ip, r4 - 7c76: eb04 2504 add.w r5, r4, r4, lsl #8 - 7c7a: eb04 14c5 add.w r4, r4, r5, lsl #7 - 7c7e: f3c4 54c4 ubfx r4, r4, #23, #5 - 7c82: 9409 str r4, [sp, #36] ; 0x24 + 7c4c: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7c50: f810 4c05 ldrb.w r4, [r0, #-5] + 7c54: 08e4 lsrs r4, r4, #3 + 7c56: fb06 f404 mul.w r4, r6, r4 + 7c5a: fb08 440c mla r4, r8, ip, r4 + 7c5e: eb04 2504 add.w r5, r4, r4, lsl #8 + 7c62: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7c66: f3c4 54c4 ubfx r4, r4, #23, #5 + 7c6a: 9409 str r4, [sp, #36] ; 0x24 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7c84: f830 5c06 ldrh.w r5, [r0, #-6] - 7c88: f3c5 1545 ubfx r5, r5, #5, #6 - 7c8c: fb06 f505 mul.w r5, r6, r5 - 7c90: fb08 550e mla r5, r8, lr, r5 - 7c94: eb05 2905 add.w r9, r5, r5, lsl #8 - 7c98: eb05 15c9 add.w r5, r5, r9, lsl #7 - 7c9c: f3c5 55c5 ubfx r5, r5, #23, #6 + 7c6c: f830 5c06 ldrh.w r5, [r0, #-6] + 7c70: f3c5 1545 ubfx r5, r5, #5, #6 + 7c74: fb06 f505 mul.w r5, r6, r5 + 7c78: fb08 550e mla r5, r8, lr, r5 + 7c7c: eb05 2905 add.w r9, r5, r5, lsl #8 + 7c80: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7c84: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7ca0: f810 9c06 ldrb.w r9, [r0, #-6] - 7ca4: f009 0b1f and.w fp, r9, #31 - 7ca8: fb06 f60b mul.w r6, r6, fp - 7cac: 9c06 ldr r4, [sp, #24] - 7cae: fb08 6804 mla r8, r8, r4, r6 - 7cb2: eb08 2608 add.w r6, r8, r8, lsl #8 - 7cb6: eb08 16c6 add.w r6, r8, r6, lsl #7 - 7cba: 0df6 lsrs r6, r6, #23 - 7cbc: f366 0904 bfi r9, r6, #0, #5 - 7cc0: f800 9c06 strb.w r9, [r0, #-6] - 7cc4: f830 6c06 ldrh.w r6, [r0, #-6] - 7cc8: f365 164a bfi r6, r5, #5, #6 - 7ccc: f820 6c06 strh.w r6, [r0, #-6] - 7cd0: 0a36 lsrs r6, r6, #8 - 7cd2: 9c09 ldr r4, [sp, #36] ; 0x24 - 7cd4: f364 06c7 bfi r6, r4, #3, #5 - 7cd8: f800 6c05 strb.w r6, [r0, #-5] + 7c88: f810 9c06 ldrb.w r9, [r0, #-6] + 7c8c: f009 0b1f and.w fp, r9, #31 + 7c90: fb06 f60b mul.w r6, r6, fp + 7c94: 9c06 ldr r4, [sp, #24] + 7c96: fb08 6804 mla r8, r8, r4, r6 + 7c9a: eb08 2608 add.w r6, r8, r8, lsl #8 + 7c9e: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7ca2: 0df6 lsrs r6, r6, #23 + 7ca4: f366 0904 bfi r9, r6, #0, #5 + 7ca8: f800 9c06 strb.w r9, [r0, #-6] + 7cac: f830 6c06 ldrh.w r6, [r0, #-6] + 7cb0: f365 164a bfi r6, r5, #5, #6 + 7cb4: f820 6c06 strh.w r6, [r0, #-6] + 7cb8: 0a36 lsrs r6, r6, #8 + 7cba: 9c09 ldr r4, [sp, #36] ; 0x24 + 7cbc: f364 06c7 bfi r6, r4, #3, #5 + 7cc0: f800 6c05 strb.w r6, [r0, #-5] FILL_NORMAL_MASK_PX(x + 1, color) - 7cdc: f812 8c03 ldrb.w r8, [r2, #-3] - 7ce0: f1b8 0f00 cmp.w r8, #0 - 7ce4: d03f beq.n 7d66 <_lv_blend_fill+0x616> - 7ce6: f1b8 0fff cmp.w r8, #255 ; 0xff - 7cea: f000 80c5 beq.w 7e78 <_lv_blend_fill+0x728> + 7cc4: f812 8c03 ldrb.w r8, [r2, #-3] + 7cc8: f1b8 0f00 cmp.w r8, #0 + 7ccc: d03f beq.n 7d4e <_lv_blend_fill+0x616> + 7cce: f1b8 0fff cmp.w r8, #255 ; 0xff + 7cd2: f000 80c5 beq.w 7e60 <_lv_blend_fill+0x728> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7cee: f1c8 06ff rsb r6, r8, #255 ; 0xff - 7cf2: f810 4c03 ldrb.w r4, [r0, #-3] - 7cf6: 08e4 lsrs r4, r4, #3 - 7cf8: fb06 f404 mul.w r4, r6, r4 - 7cfc: fb08 440c mla r4, r8, ip, r4 - 7d00: eb04 2504 add.w r5, r4, r4, lsl #8 - 7d04: eb04 14c5 add.w r4, r4, r5, lsl #7 - 7d08: f3c4 54c4 ubfx r4, r4, #23, #5 - 7d0c: 9409 str r4, [sp, #36] ; 0x24 + 7cd6: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7cda: f810 4c03 ldrb.w r4, [r0, #-3] + 7cde: 08e4 lsrs r4, r4, #3 + 7ce0: fb06 f404 mul.w r4, r6, r4 + 7ce4: fb08 440c mla r4, r8, ip, r4 + 7ce8: eb04 2504 add.w r5, r4, r4, lsl #8 + 7cec: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7cf0: f3c4 54c4 ubfx r4, r4, #23, #5 + 7cf4: 9409 str r4, [sp, #36] ; 0x24 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7d0e: f830 5c04 ldrh.w r5, [r0, #-4] - 7d12: f3c5 1545 ubfx r5, r5, #5, #6 - 7d16: fb06 f505 mul.w r5, r6, r5 - 7d1a: fb08 550e mla r5, r8, lr, r5 - 7d1e: eb05 2905 add.w r9, r5, r5, lsl #8 - 7d22: eb05 15c9 add.w r5, r5, r9, lsl #7 - 7d26: f3c5 55c5 ubfx r5, r5, #23, #6 + 7cf6: f830 5c04 ldrh.w r5, [r0, #-4] + 7cfa: f3c5 1545 ubfx r5, r5, #5, #6 + 7cfe: fb06 f505 mul.w r5, r6, r5 + 7d02: fb08 550e mla r5, r8, lr, r5 + 7d06: eb05 2905 add.w r9, r5, r5, lsl #8 + 7d0a: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7d0e: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7d2a: f810 9c04 ldrb.w r9, [r0, #-4] - 7d2e: f009 0b1f and.w fp, r9, #31 - 7d32: fb06 f60b mul.w r6, r6, fp - 7d36: 9c06 ldr r4, [sp, #24] - 7d38: fb08 6804 mla r8, r8, r4, r6 - 7d3c: eb08 2608 add.w r6, r8, r8, lsl #8 - 7d40: eb08 16c6 add.w r6, r8, r6, lsl #7 - 7d44: 0df6 lsrs r6, r6, #23 - 7d46: f366 0904 bfi r9, r6, #0, #5 - 7d4a: f800 9c04 strb.w r9, [r0, #-4] - 7d4e: f830 6c04 ldrh.w r6, [r0, #-4] - 7d52: f365 164a bfi r6, r5, #5, #6 - 7d56: f820 6c04 strh.w r6, [r0, #-4] - 7d5a: 0a36 lsrs r6, r6, #8 - 7d5c: 9c09 ldr r4, [sp, #36] ; 0x24 - 7d5e: f364 06c7 bfi r6, r4, #3, #5 - 7d62: f800 6c03 strb.w r6, [r0, #-3] + 7d12: f810 9c04 ldrb.w r9, [r0, #-4] + 7d16: f009 0b1f and.w fp, r9, #31 + 7d1a: fb06 f60b mul.w r6, r6, fp + 7d1e: 9c06 ldr r4, [sp, #24] + 7d20: fb08 6804 mla r8, r8, r4, r6 + 7d24: eb08 2608 add.w r6, r8, r8, lsl #8 + 7d28: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7d2c: 0df6 lsrs r6, r6, #23 + 7d2e: f366 0904 bfi r9, r6, #0, #5 + 7d32: f800 9c04 strb.w r9, [r0, #-4] + 7d36: f830 6c04 ldrh.w r6, [r0, #-4] + 7d3a: f365 164a bfi r6, r5, #5, #6 + 7d3e: f820 6c04 strh.w r6, [r0, #-4] + 7d42: 0a36 lsrs r6, r6, #8 + 7d44: 9c09 ldr r4, [sp, #36] ; 0x24 + 7d46: f364 06c7 bfi r6, r4, #3, #5 + 7d4a: f800 6c03 strb.w r6, [r0, #-3] FILL_NORMAL_MASK_PX(x + 2, color) - 7d66: f812 8c02 ldrb.w r8, [r2, #-2] - 7d6a: f1b8 0f00 cmp.w r8, #0 - 7d6e: d03f beq.n 7df0 <_lv_blend_fill+0x6a0> - 7d70: f1b8 0fff cmp.w r8, #255 ; 0xff - 7d74: f000 8085 beq.w 7e82 <_lv_blend_fill+0x732> + 7d4e: f812 8c02 ldrb.w r8, [r2, #-2] + 7d52: f1b8 0f00 cmp.w r8, #0 + 7d56: d03f beq.n 7dd8 <_lv_blend_fill+0x6a0> + 7d58: f1b8 0fff cmp.w r8, #255 ; 0xff + 7d5c: f000 8085 beq.w 7e6a <_lv_blend_fill+0x732> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7d78: f1c8 06ff rsb r6, r8, #255 ; 0xff - 7d7c: f810 4c01 ldrb.w r4, [r0, #-1] - 7d80: 08e4 lsrs r4, r4, #3 - 7d82: fb06 f404 mul.w r4, r6, r4 - 7d86: fb08 440c mla r4, r8, ip, r4 - 7d8a: eb04 2504 add.w r5, r4, r4, lsl #8 - 7d8e: eb04 14c5 add.w r4, r4, r5, lsl #7 - 7d92: f3c4 54c4 ubfx r4, r4, #23, #5 - 7d96: 9409 str r4, [sp, #36] ; 0x24 + 7d60: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7d64: f810 4c01 ldrb.w r4, [r0, #-1] + 7d68: 08e4 lsrs r4, r4, #3 + 7d6a: fb06 f404 mul.w r4, r6, r4 + 7d6e: fb08 440c mla r4, r8, ip, r4 + 7d72: eb04 2504 add.w r5, r4, r4, lsl #8 + 7d76: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7d7a: f3c4 54c4 ubfx r4, r4, #23, #5 + 7d7e: 9409 str r4, [sp, #36] ; 0x24 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7d98: f830 5c02 ldrh.w r5, [r0, #-2] - 7d9c: f3c5 1545 ubfx r5, r5, #5, #6 - 7da0: fb06 f505 mul.w r5, r6, r5 - 7da4: fb08 550e mla r5, r8, lr, r5 - 7da8: eb05 2905 add.w r9, r5, r5, lsl #8 - 7dac: eb05 15c9 add.w r5, r5, r9, lsl #7 - 7db0: f3c5 55c5 ubfx r5, r5, #23, #6 + 7d80: f830 5c02 ldrh.w r5, [r0, #-2] + 7d84: f3c5 1545 ubfx r5, r5, #5, #6 + 7d88: fb06 f505 mul.w r5, r6, r5 + 7d8c: fb08 550e mla r5, r8, lr, r5 + 7d90: eb05 2905 add.w r9, r5, r5, lsl #8 + 7d94: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7d98: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7db4: f810 9c02 ldrb.w r9, [r0, #-2] - 7db8: f009 0b1f and.w fp, r9, #31 - 7dbc: fb06 f60b mul.w r6, r6, fp - 7dc0: 9c06 ldr r4, [sp, #24] - 7dc2: fb08 6804 mla r8, r8, r4, r6 - 7dc6: eb08 2608 add.w r6, r8, r8, lsl #8 - 7dca: eb08 16c6 add.w r6, r8, r6, lsl #7 - 7dce: 0df6 lsrs r6, r6, #23 - 7dd0: f366 0904 bfi r9, r6, #0, #5 - 7dd4: f800 9c02 strb.w r9, [r0, #-2] - 7dd8: f830 6c02 ldrh.w r6, [r0, #-2] - 7ddc: f365 164a bfi r6, r5, #5, #6 - 7de0: f820 6c02 strh.w r6, [r0, #-2] - 7de4: 0a36 lsrs r6, r6, #8 - 7de6: 9c09 ldr r4, [sp, #36] ; 0x24 - 7de8: f364 06c7 bfi r6, r4, #3, #5 - 7dec: f800 6c01 strb.w r6, [r0, #-1] + 7d9c: f810 9c02 ldrb.w r9, [r0, #-2] + 7da0: f009 0b1f and.w fp, r9, #31 + 7da4: fb06 f60b mul.w r6, r6, fp + 7da8: 9c06 ldr r4, [sp, #24] + 7daa: fb08 6804 mla r8, r8, r4, r6 + 7dae: eb08 2608 add.w r6, r8, r8, lsl #8 + 7db2: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7db6: 0df6 lsrs r6, r6, #23 + 7db8: f366 0904 bfi r9, r6, #0, #5 + 7dbc: f800 9c02 strb.w r9, [r0, #-2] + 7dc0: f830 6c02 ldrh.w r6, [r0, #-2] + 7dc4: f365 164a bfi r6, r5, #5, #6 + 7dc8: f820 6c02 strh.w r6, [r0, #-2] + 7dcc: 0a36 lsrs r6, r6, #8 + 7dce: 9c09 ldr r4, [sp, #36] ; 0x24 + 7dd0: f364 06c7 bfi r6, r4, #3, #5 + 7dd4: f800 6c01 strb.w r6, [r0, #-1] FILL_NORMAL_MASK_PX(x + 3, color) - 7df0: f812 8c01 ldrb.w r8, [r2, #-1] - 7df4: f1b8 0f00 cmp.w r8, #0 - 7df8: f43f af1d beq.w 7c36 <_lv_blend_fill+0x4e6> - 7dfc: f1b8 0fff cmp.w r8, #255 ; 0xff - 7e00: d044 beq.n 7e8c <_lv_blend_fill+0x73c> + 7dd8: f812 8c01 ldrb.w r8, [r2, #-1] + 7ddc: f1b8 0f00 cmp.w r8, #0 + 7de0: f43f af1d beq.w 7c1e <_lv_blend_fill+0x4e6> + 7de4: f1b8 0fff cmp.w r8, #255 ; 0xff + 7de8: d044 beq.n 7e74 <_lv_blend_fill+0x73c> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7e02: f1c8 06ff rsb r6, r8, #255 ; 0xff - 7e06: 7844 ldrb r4, [r0, #1] - 7e08: 08e4 lsrs r4, r4, #3 - 7e0a: fb06 f404 mul.w r4, r6, r4 - 7e0e: fb08 440c mla r4, r8, ip, r4 - 7e12: eb04 2504 add.w r5, r4, r4, lsl #8 - 7e16: eb04 14c5 add.w r4, r4, r5, lsl #7 - 7e1a: f3c4 5bc4 ubfx fp, r4, #23, #5 + 7dea: f1c8 06ff rsb r6, r8, #255 ; 0xff + 7dee: 7844 ldrb r4, [r0, #1] + 7df0: 08e4 lsrs r4, r4, #3 + 7df2: fb06 f404 mul.w r4, r6, r4 + 7df6: fb08 440c mla r4, r8, ip, r4 + 7dfa: eb04 2504 add.w r5, r4, r4, lsl #8 + 7dfe: eb04 14c5 add.w r4, r4, r5, lsl #7 + 7e02: f3c4 5bc4 ubfx fp, r4, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7e1e: 8805 ldrh r5, [r0, #0] - 7e20: f3c5 1545 ubfx r5, r5, #5, #6 - 7e24: fb06 f505 mul.w r5, r6, r5 - 7e28: fb08 550e mla r5, r8, lr, r5 - 7e2c: eb05 2905 add.w r9, r5, r5, lsl #8 - 7e30: eb05 15c9 add.w r5, r5, r9, lsl #7 - 7e34: f3c5 55c5 ubfx r5, r5, #23, #6 + 7e06: 8805 ldrh r5, [r0, #0] + 7e08: f3c5 1545 ubfx r5, r5, #5, #6 + 7e0c: fb06 f505 mul.w r5, r6, r5 + 7e10: fb08 550e mla r5, r8, lr, r5 + 7e14: eb05 2905 add.w r9, r5, r5, lsl #8 + 7e18: eb05 15c9 add.w r5, r5, r9, lsl #7 + 7e1c: f3c5 55c5 ubfx r5, r5, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7e38: f890 9000 ldrb.w r9, [r0] - 7e3c: f009 0a1f and.w sl, r9, #31 - 7e40: fb06 f60a mul.w r6, r6, sl - 7e44: 9c06 ldr r4, [sp, #24] - 7e46: fb08 6804 mla r8, r8, r4, r6 - 7e4a: eb08 2608 add.w r6, r8, r8, lsl #8 - 7e4e: eb08 16c6 add.w r6, r8, r6, lsl #7 - 7e52: 0df6 lsrs r6, r6, #23 - 7e54: f366 0904 bfi r9, r6, #0, #5 - 7e58: f880 9000 strb.w r9, [r0] - 7e5c: 8806 ldrh r6, [r0, #0] - 7e5e: f365 164a bfi r6, r5, #5, #6 - 7e62: 8006 strh r6, [r0, #0] - 7e64: 0a36 lsrs r6, r6, #8 - 7e66: f36b 06c7 bfi r6, fp, #3, #5 - 7e6a: 7046 strb r6, [r0, #1] - 7e6c: e6e3 b.n 7c36 <_lv_blend_fill+0x4e6> + 7e20: f890 9000 ldrb.w r9, [r0] + 7e24: f009 0a1f and.w sl, r9, #31 + 7e28: fb06 f60a mul.w r6, r6, sl + 7e2c: 9c06 ldr r4, [sp, #24] + 7e2e: fb08 6804 mla r8, r8, r4, r6 + 7e32: eb08 2608 add.w r6, r8, r8, lsl #8 + 7e36: eb08 16c6 add.w r6, r8, r6, lsl #7 + 7e3a: 0df6 lsrs r6, r6, #23 + 7e3c: f366 0904 bfi r9, r6, #0, #5 + 7e40: f880 9000 strb.w r9, [r0] + 7e44: 8806 ldrh r6, [r0, #0] + 7e46: f365 164a bfi r6, r5, #5, #6 + 7e4a: 8006 strh r6, [r0, #0] + 7e4c: 0a36 lsrs r6, r6, #8 + 7e4e: f36b 06c7 bfi r6, fp, #3, #5 + 7e52: 7046 strb r6, [r0, #1] + 7e54: e6e3 b.n 7c1e <_lv_blend_fill+0x4e6> FILL_NORMAL_MASK_PX(x, color) - 7e6e: f8bd 401c ldrh.w r4, [sp, #28] - 7e72: f820 4c06 strh.w r4, [r0, #-6] - 7e76: e731 b.n 7cdc <_lv_blend_fill+0x58c> + 7e56: f8bd 401c ldrh.w r4, [sp, #28] + 7e5a: f820 4c06 strh.w r4, [r0, #-6] + 7e5e: e731 b.n 7cc4 <_lv_blend_fill+0x58c> FILL_NORMAL_MASK_PX(x + 1, color) - 7e78: f8bd 401c ldrh.w r4, [sp, #28] - 7e7c: f820 4c04 strh.w r4, [r0, #-4] - 7e80: e771 b.n 7d66 <_lv_blend_fill+0x616> + 7e60: f8bd 401c ldrh.w r4, [sp, #28] + 7e64: f820 4c04 strh.w r4, [r0, #-4] + 7e68: e771 b.n 7d4e <_lv_blend_fill+0x616> FILL_NORMAL_MASK_PX(x + 2, color) - 7e82: f8bd 401c ldrh.w r4, [sp, #28] - 7e86: f820 4c02 strh.w r4, [r0, #-2] - 7e8a: e7b1 b.n 7df0 <_lv_blend_fill+0x6a0> + 7e6a: f8bd 401c ldrh.w r4, [sp, #28] + 7e6e: f820 4c02 strh.w r4, [r0, #-2] + 7e72: e7b1 b.n 7dd8 <_lv_blend_fill+0x6a0> FILL_NORMAL_MASK_PX(x + 3, color) - 7e8c: f8bd 401c ldrh.w r4, [sp, #28] - 7e90: 8004 strh r4, [r0, #0] - 7e92: e6d0 b.n 7c36 <_lv_blend_fill+0x4e6> - 7e94: 9d0e ldr r5, [sp, #56] ; 0x38 + 7e74: f8bd 401c ldrh.w r4, [sp, #28] + 7e78: 8004 strh r4, [r0, #0] + 7e7a: e6d0 b.n 7c1e <_lv_blend_fill+0x4e6> + 7e7c: 9d0e ldr r5, [sp, #56] ; 0x38 for(; x < draw_area_w ; x++) { - 7e96: 428d cmp r5, r1 - 7e98: dd4e ble.n 7f38 <_lv_blend_fill+0x7e8> - 7e9a: 1e54 subs r4, r2, #1 - 7e9c: 9b05 ldr r3, [sp, #20] - 7e9e: eb03 0841 add.w r8, r3, r1, lsl #1 - 7ea2: 9e06 ldr r6, [sp, #24] - 7ea4: e008 b.n 7eb8 <_lv_blend_fill+0x768> + 7e7e: 428d cmp r5, r1 + 7e80: dd4e ble.n 7f20 <_lv_blend_fill+0x7e8> + 7e82: 1e54 subs r4, r2, #1 + 7e84: 9b05 ldr r3, [sp, #20] + 7e86: eb03 0841 add.w r8, r3, r1, lsl #1 + 7e8a: 9e06 ldr r6, [sp, #24] + 7e8c: e008 b.n 7ea0 <_lv_blend_fill+0x768> FILL_NORMAL_MASK_PX(x, color) - 7ea6: f8bd 301c ldrh.w r3, [sp, #28] - 7eaa: f8a8 3000 strh.w r3, [r8] + 7e8e: f8bd 301c ldrh.w r3, [sp, #28] + 7e92: f8a8 3000 strh.w r3, [r8] for(; x < draw_area_w ; x++) { - 7eae: 3101 adds r1, #1 - 7eb0: f108 0802 add.w r8, r8, #2 - 7eb4: 428d cmp r5, r1 - 7eb6: dd3f ble.n 7f38 <_lv_blend_fill+0x7e8> + 7e96: 3101 adds r1, #1 + 7e98: f108 0802 add.w r8, r8, #2 + 7e9c: 428d cmp r5, r1 + 7e9e: dd3f ble.n 7f20 <_lv_blend_fill+0x7e8> FILL_NORMAL_MASK_PX(x, color) - 7eb8: f814 3f01 ldrb.w r3, [r4, #1]! - 7ebc: 2b00 cmp r3, #0 - 7ebe: d0f6 beq.n 7eae <_lv_blend_fill+0x75e> - 7ec0: 2bff cmp r3, #255 ; 0xff - 7ec2: d0f0 beq.n 7ea6 <_lv_blend_fill+0x756> + 7ea0: f814 3f01 ldrb.w r3, [r4, #1]! + 7ea4: 2b00 cmp r3, #0 + 7ea6: d0f6 beq.n 7e96 <_lv_blend_fill+0x75e> + 7ea8: 2bff cmp r3, #255 ; 0xff + 7eaa: d0f0 beq.n 7e8e <_lv_blend_fill+0x756> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7ec4: f1c3 09ff rsb r9, r3, #255 ; 0xff - 7ec8: f898 2001 ldrb.w r2, [r8, #1] - 7ecc: 08d2 lsrs r2, r2, #3 - 7ece: fb09 f202 mul.w r2, r9, r2 - 7ed2: fb03 220c mla r2, r3, ip, r2 - 7ed6: eb02 2002 add.w r0, r2, r2, lsl #8 - 7eda: eb02 12c0 add.w r2, r2, r0, lsl #7 - 7ede: f3c2 52c4 ubfx r2, r2, #23, #5 + 7eac: f1c3 09ff rsb r9, r3, #255 ; 0xff + 7eb0: f898 2001 ldrb.w r2, [r8, #1] + 7eb4: 08d2 lsrs r2, r2, #3 + 7eb6: fb09 f202 mul.w r2, r9, r2 + 7eba: fb03 220c mla r2, r3, ip, r2 + 7ebe: eb02 2002 add.w r0, r2, r2, lsl #8 + 7ec2: eb02 12c0 add.w r2, r2, r0, lsl #7 + 7ec6: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7ee2: f8b8 0000 ldrh.w r0, [r8] - 7ee6: f3c0 1045 ubfx r0, r0, #5, #6 - 7eea: fb09 f000 mul.w r0, r9, r0 - 7eee: fb03 000e mla r0, r3, lr, r0 - 7ef2: eb00 2700 add.w r7, r0, r0, lsl #8 - 7ef6: eb00 10c7 add.w r0, r0, r7, lsl #7 - 7efa: f3c0 50c5 ubfx r0, r0, #23, #6 + 7eca: f8b8 0000 ldrh.w r0, [r8] + 7ece: f3c0 1045 ubfx r0, r0, #5, #6 + 7ed2: fb09 f000 mul.w r0, r9, r0 + 7ed6: fb03 000e mla r0, r3, lr, r0 + 7eda: eb00 2700 add.w r7, r0, r0, lsl #8 + 7ede: eb00 10c7 add.w r0, r0, r7, lsl #7 + 7ee2: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7efe: f898 7000 ldrb.w r7, [r8] - 7f02: f007 0a1f and.w sl, r7, #31 - 7f06: fb09 f90a mul.w r9, r9, sl - 7f0a: fb03 9306 mla r3, r3, r6, r9 - 7f0e: eb03 2903 add.w r9, r3, r3, lsl #8 - 7f12: eb03 13c9 add.w r3, r3, r9, lsl #7 - 7f16: 0ddb lsrs r3, r3, #23 - 7f18: f363 0704 bfi r7, r3, #0, #5 - 7f1c: f888 7000 strb.w r7, [r8] - 7f20: f8b8 3000 ldrh.w r3, [r8] - 7f24: f360 134a bfi r3, r0, #5, #6 - 7f28: f8a8 3000 strh.w r3, [r8] - 7f2c: 0a1b lsrs r3, r3, #8 - 7f2e: f362 03c7 bfi r3, r2, #3, #5 - 7f32: f888 3001 strb.w r3, [r8, #1] - 7f36: e7ba b.n 7eae <_lv_blend_fill+0x75e> + 7ee6: f898 7000 ldrb.w r7, [r8] + 7eea: f007 0a1f and.w sl, r7, #31 + 7eee: fb09 f90a mul.w r9, r9, sl + 7ef2: fb03 9306 mla r3, r3, r6, r9 + 7ef6: eb03 2903 add.w r9, r3, r3, lsl #8 + 7efa: eb03 13c9 add.w r3, r3, r9, lsl #7 + 7efe: 0ddb lsrs r3, r3, #23 + 7f00: f363 0704 bfi r7, r3, #0, #5 + 7f04: f888 7000 strb.w r7, [r8] + 7f08: f8b8 3000 ldrh.w r3, [r8] + 7f0c: f360 134a bfi r3, r0, #5, #6 + 7f10: f8a8 3000 strh.w r3, [r8] + 7f14: 0a1b lsrs r3, r3, #8 + 7f16: f362 03c7 bfi r3, r2, #3, #5 + 7f1a: f888 3001 strb.w r3, [r8, #1] + 7f1e: e7ba b.n 7e96 <_lv_blend_fill+0x75e> disp_buf_first += disp_w; - 7f38: 9b05 ldr r3, [sp, #20] - 7f3a: 9a0f ldr r2, [sp, #60] ; 0x3c - 7f3c: 4413 add r3, r2 - 7f3e: 9305 str r3, [sp, #20] - 7f40: 9b08 ldr r3, [sp, #32] - 7f42: 9a0b ldr r2, [sp, #44] ; 0x2c - 7f44: 4413 add r3, r2 - 7f46: 9308 str r3, [sp, #32] + 7f20: 9b05 ldr r3, [sp, #20] + 7f22: 9a0f ldr r2, [sp, #60] ; 0x3c + 7f24: 4413 add r3, r2 + 7f26: 9305 str r3, [sp, #20] + 7f28: 9b08 ldr r3, [sp, #32] + 7f2a: 9a0b ldr r2, [sp, #44] ; 0x2c + 7f2c: 4413 add r3, r2 + 7f2e: 9308 str r3, [sp, #32] for(y = 0; y < draw_area_h; y++) { - 7f48: 9b0a ldr r3, [sp, #40] ; 0x28 - 7f4a: 3301 adds r3, #1 - 7f4c: 930a str r3, [sp, #40] ; 0x28 - 7f4e: 9a0c ldr r2, [sp, #48] ; 0x30 - 7f50: 429a cmp r2, r3 - 7f52: f43f ac0a beq.w 776a <_lv_blend_fill+0x1a> + 7f30: 9b0a ldr r3, [sp, #40] ; 0x28 + 7f32: 3301 adds r3, #1 + 7f34: 930a str r3, [sp, #40] ; 0x28 + 7f36: 9a0c ldr r2, [sp, #48] ; 0x30 + 7f38: 429a cmp r2, r3 + 7f3a: f43f ac0a beq.w 7752 <_lv_blend_fill+0x1a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 7f56: 2d00 cmp r5, #0 - 7f58: f340 8170 ble.w 823c <_lv_blend_fill+0xaec> - 7f5c: 9a08 ldr r2, [sp, #32] - 7f5e: f012 0f03 tst.w r2, #3 - 7f62: f000 8179 beq.w 8258 <_lv_blend_fill+0xb08> - 7f66: 9f05 ldr r7, [sp, #20] - 7f68: 4690 mov r8, r2 - 7f6a: 2100 movs r1, #0 - 7f6c: 9c06 ldr r4, [sp, #24] - 7f6e: e620 b.n 7bb2 <_lv_blend_fill+0x462> + 7f3e: 2d00 cmp r5, #0 + 7f40: f340 8170 ble.w 8224 <_lv_blend_fill+0xaec> + 7f44: 9a08 ldr r2, [sp, #32] + 7f46: f012 0f03 tst.w r2, #3 + 7f4a: f000 8179 beq.w 8240 <_lv_blend_fill+0xb08> + 7f4e: 9f05 ldr r7, [sp, #20] + 7f50: 4690 mov r8, r2 + 7f52: 2100 movs r1, #0 + 7f54: 9c06 ldr r4, [sp, #24] + 7f56: e620 b.n 7b9a <_lv_blend_fill+0x462> if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) { - 7f70: 2aff cmp r2, #255 ; 0xff - 7f72: d002 beq.n 7f7a <_lv_blend_fill+0x82a> + 7f58: 2aff cmp r2, #255 ; 0xff + 7f5a: d002 beq.n 7f62 <_lv_blend_fill+0x82a> if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 7f74: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 - 7f78: e004 b.n 7f84 <_lv_blend_fill+0x834> - 7f7a: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 + 7f5c: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 + 7f60: e004 b.n 7f6c <_lv_blend_fill+0x834> + 7f62: f8dd e024 ldr.w lr, [sp, #36] ; 0x24 if(*mask_tmp_x != last_mask || last_dest_color.full != disp_buf_first[x].full) { - 7f7e: 882a ldrh r2, [r5, #0] - 7f80: 429a cmp r2, r3 - 7f82: d032 beq.n 7fea <_lv_blend_fill+0x89a> + 7f66: 882a ldrh r2, [r5, #0] + 7f68: 429a cmp r2, r3 + 7f6a: d032 beq.n 7fd2 <_lv_blend_fill+0x89a> if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 7f84: f1be 0fff cmp.w lr, #255 ; 0xff - 7f88: d042 beq.n 8010 <_lv_blend_fill+0x8c0> + 7f6c: f1be 0fff cmp.w lr, #255 ; 0xff + 7f70: d042 beq.n 7ff8 <_lv_blend_fill+0x8c0> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 7f8a: f1ce 04ff rsb r4, lr, #255 ; 0xff - 7f8e: 786b ldrb r3, [r5, #1] - 7f90: 08db lsrs r3, r3, #3 - 7f92: fb0e f20c mul.w r2, lr, ip - 7f96: fb04 2303 mla r3, r4, r3, r2 - 7f9a: eb03 2203 add.w r2, r3, r3, lsl #8 - 7f9e: eb03 13c2 add.w r3, r3, r2, lsl #7 - 7fa2: f3c3 53c4 ubfx r3, r3, #23, #5 + 7f72: f1ce 04ff rsb r4, lr, #255 ; 0xff + 7f76: 786b ldrb r3, [r5, #1] + 7f78: 08db lsrs r3, r3, #3 + 7f7a: fb0e f20c mul.w r2, lr, ip + 7f7e: fb04 2303 mla r3, r4, r3, r2 + 7f82: eb03 2203 add.w r2, r3, r3, lsl #8 + 7f86: eb03 13c2 add.w r3, r3, r2, lsl #7 + 7f8a: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 7fa6: 882a ldrh r2, [r5, #0] - 7fa8: f3c2 1245 ubfx r2, r2, #5, #6 - 7fac: fb0b f10e mul.w r1, fp, lr - 7fb0: fb04 1202 mla r2, r4, r2, r1 - 7fb4: eb02 2102 add.w r1, r2, r2, lsl #8 - 7fb8: eb02 12c1 add.w r2, r2, r1, lsl #7 - 7fbc: f3c2 52c5 ubfx r2, r2, #23, #6 + 7f8e: 882a ldrh r2, [r5, #0] + 7f90: f3c2 1245 ubfx r2, r2, #5, #6 + 7f94: fb0b f10e mul.w r1, fp, lr + 7f98: fb04 1202 mla r2, r4, r2, r1 + 7f9c: eb02 2102 add.w r1, r2, r2, lsl #8 + 7fa0: eb02 12c1 add.w r2, r2, r1, lsl #7 + 7fa4: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 7fc0: 7829 ldrb r1, [r5, #0] - 7fc2: f001 011f and.w r1, r1, #31 - 7fc6: fb09 f60e mul.w r6, r9, lr - 7fca: fb04 6101 mla r1, r4, r1, r6 - 7fce: eb01 2601 add.w r6, r1, r1, lsl #8 - 7fd2: eb01 11c6 add.w r1, r1, r6, lsl #7 - 7fd6: 0dc9 lsrs r1, r1, #23 - 7fd8: f361 0a04 bfi sl, r1, #0, #5 - 7fdc: f362 1a4a bfi sl, r2, #5, #6 - 7fe0: f363 2acf bfi sl, r3, #11, #5 - 7fe4: fa1f f18a uxth.w r1, sl + 7fa8: 7829 ldrb r1, [r5, #0] + 7faa: f001 011f and.w r1, r1, #31 + 7fae: fb09 f60e mul.w r6, r9, lr + 7fb2: fb04 6101 mla r1, r4, r1, r6 + 7fb6: eb01 2601 add.w r6, r1, r1, lsl #8 + 7fba: eb01 11c6 add.w r1, r1, r6, lsl #7 + 7fbe: 0dc9 lsrs r1, r1, #23 + 7fc0: f361 0a04 bfi sl, r1, #0, #5 + 7fc4: f362 1a4a bfi sl, r2, #5, #6 + 7fc8: f363 2acf bfi sl, r3, #11, #5 + 7fcc: fa1f f18a uxth.w r1, sl last_dest_color.full = disp_buf_first[x].full; - 7fe8: 882b ldrh r3, [r5, #0] + 7fd0: 882b ldrh r3, [r5, #0] disp_buf_first[x] = last_res_color; - 7fea: 8029 strh r1, [r5, #0] - 7fec: 4602 mov r2, r0 - 7fee: 3502 adds r5, #2 + 7fd2: 8029 strh r1, [r5, #0] + 7fd4: 4602 mov r2, r0 + 7fd6: 3502 adds r5, #2 for(x = 0; x < draw_area_w; x++) { - 7ff0: 45a8 cmp r8, r5 - 7ff2: d00f beq.n 8014 <_lv_blend_fill+0x8c4> + 7fd8: 45a8 cmp r8, r5 + 7fda: d00f beq.n 7ffc <_lv_blend_fill+0x8c4> if(*mask_tmp_x) { - 7ff4: f817 0f01 ldrb.w r0, [r7, #1]! - 7ff8: 2800 cmp r0, #0 - 7ffa: d0f8 beq.n 7fee <_lv_blend_fill+0x89e> + 7fdc: f817 0f01 ldrb.w r0, [r7, #1]! + 7fe0: 2800 cmp r0, #0 + 7fe2: d0f8 beq.n 7fd6 <_lv_blend_fill+0x89e> if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 7ffc: 4290 cmp r0, r2 - 7ffe: d0be beq.n 7f7e <_lv_blend_fill+0x82e> - 8000: 28ff cmp r0, #255 ; 0xff - 8002: d0b5 beq.n 7f70 <_lv_blend_fill+0x820> + 7fe4: 4290 cmp r0, r2 + 7fe6: d0be beq.n 7f66 <_lv_blend_fill+0x82e> + 7fe8: 28ff cmp r0, #255 ; 0xff + 7fea: d0b5 beq.n 7f58 <_lv_blend_fill+0x820> (uint32_t)((uint32_t)(*mask_tmp_x) * opa) >> 8; - 8004: 9b07 ldr r3, [sp, #28] - 8006: fb03 fe00 mul.w lr, r3, r0 + 7fec: 9b07 ldr r3, [sp, #28] + 7fee: fb03 fe00 mul.w lr, r3, r0 if(*mask_tmp_x != last_mask) opa_tmp = *mask_tmp_x == LV_OPA_COVER ? opa : - 800a: f3ce 2e07 ubfx lr, lr, #8, #8 - 800e: e7b9 b.n 7f84 <_lv_blend_fill+0x834> + 7ff2: f3ce 2e07 ubfx lr, lr, #8, #8 + 7ff6: e7b9 b.n 7f6c <_lv_blend_fill+0x834> if(opa_tmp == LV_OPA_COVER) last_res_color = color; - 8010: 9908 ldr r1, [sp, #32] - 8012: e7e9 b.n 7fe8 <_lv_blend_fill+0x898> + 7ff8: 9908 ldr r1, [sp, #32] + 7ffa: e7e9 b.n 7fd0 <_lv_blend_fill+0x898> disp_buf_first += disp_w; - 8014: 9805 ldr r0, [sp, #20] - 8016: 9c0c ldr r4, [sp, #48] ; 0x30 - 8018: 4420 add r0, r4 - 801a: 9005 str r0, [sp, #20] + 7ffc: 9805 ldr r0, [sp, #20] + 7ffe: 9c0c ldr r4, [sp, #48] ; 0x30 + 8000: 4420 add r0, r4 + 8002: 9005 str r0, [sp, #20] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 801c: 980a ldr r0, [sp, #40] ; 0x28 - 801e: 3001 adds r0, #1 - 8020: 4604 mov r4, r0 - 8022: 900a str r0, [sp, #40] ; 0x28 - 8024: 9806 ldr r0, [sp, #24] - 8026: 9d0b ldr r5, [sp, #44] ; 0x2c - 8028: 4428 add r0, r5 - 802a: 9006 str r0, [sp, #24] - 802c: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 - 8030: 4284 cmp r4, r0 - 8032: f73f ab9a bgt.w 776a <_lv_blend_fill+0x1a> + 8004: 980a ldr r0, [sp, #40] ; 0x28 + 8006: 3001 adds r0, #1 + 8008: 4604 mov r4, r0 + 800a: 900a str r0, [sp, #40] ; 0x28 + 800c: 9806 ldr r0, [sp, #24] + 800e: 9d0b ldr r5, [sp, #44] ; 0x2c + 8010: 4428 add r0, r5 + 8012: 9006 str r0, [sp, #24] + 8014: f9bd 0046 ldrsh.w r0, [sp, #70] ; 0x46 + 8018: 4284 cmp r4, r0 + 801a: f73f ab9a bgt.w 7752 <_lv_blend_fill+0x1a> for(x = 0; x < draw_area_w; x++) { - 8036: 980d ldr r0, [sp, #52] ; 0x34 - 8038: 2800 cmp r0, #0 - 803a: ddeb ble.n 8014 <_lv_blend_fill+0x8c4> - 803c: 9805 ldr r0, [sp, #20] - 803e: 4605 mov r5, r0 - 8040: 9c0e ldr r4, [sp, #56] ; 0x38 - 8042: eb00 0804 add.w r8, r0, r4 - 8046: 9f06 ldr r7, [sp, #24] - 8048: e7d4 b.n 7ff4 <_lv_blend_fill+0x8a4> - 804a: f8bd 5024 ldrh.w r5, [sp, #36] ; 0x24 + 801e: 980d ldr r0, [sp, #52] ; 0x34 + 8020: 2800 cmp r0, #0 + 8022: ddeb ble.n 7ffc <_lv_blend_fill+0x8c4> + 8024: 9805 ldr r0, [sp, #20] + 8026: 4605 mov r5, r0 + 8028: 9c0e ldr r4, [sp, #56] ; 0x38 + 802a: eb00 0804 add.w r8, r0, r4 + 802e: 9f06 ldr r7, [sp, #24] + 8030: e7d4 b.n 7fdc <_lv_blend_fill+0x8a4> + 8032: f8bd 5024 ldrh.w r5, [sp, #36] ; 0x24 switch(mode) { - 804e: f1b9 0f01 cmp.w r9, #1 - 8052: d040 beq.n 80d6 <_lv_blend_fill+0x986> - 8054: f1b9 0f02 cmp.w r9, #2 - 8058: d132 bne.n 80c0 <_lv_blend_fill+0x970> + 8036: f1b9 0f01 cmp.w r9, #1 + 803a: d040 beq.n 80be <_lv_blend_fill+0x986> + 803c: f1b9 0f02 cmp.w r9, #2 + 8040: d132 bne.n 80a8 <_lv_blend_fill+0x970> blend_fp = color_blend_true_color_subtractive; - 805a: 4b83 ldr r3, [pc, #524] ; (8268 <_lv_blend_fill+0xb18>) - 805c: 9305 str r3, [sp, #20] - 805e: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 - 8062: f002 081f and.w r8, r2, #31 - 8066: f3c2 1645 ubfx r6, r2, #5, #6 - 806a: f3c2 23c4 ubfx r3, r2, #11, #5 - 806e: 4699 mov r9, r3 + 8042: 4b83 ldr r3, [pc, #524] ; (8250 <_lv_blend_fill+0xb18>) + 8044: 9305 str r3, [sp, #20] + 8046: f8bd 2024 ldrh.w r2, [sp, #36] ; 0x24 + 804a: f002 081f and.w r8, r2, #31 + 804e: f3c2 1645 ubfx r6, r2, #5, #6 + 8052: f3c2 23c4 ubfx r3, r2, #11, #5 + 8056: 4699 mov r9, r3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 8070: 8aba ldrh r2, [r7, #20] - 8072: 3201 adds r2, #1 - 8074: 8a3b ldrh r3, [r7, #16] - 8076: 1ad3 subs r3, r2, r3 - 8078: b21f sxth r7, r3 + 8058: 8aba ldrh r2, [r7, #20] + 805a: 3201 adds r2, #1 + 805c: 8a3b ldrh r3, [r7, #16] + 805e: 1ad3 subs r3, r2, r3 + 8060: b21f sxth r7, r3 lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1; - 807a: f8cd c024 str.w ip, [sp, #36] ; 0x24 - 807e: fb0c f307 mul.w r3, ip, r7 - 8082: 9a06 ldr r2, [sp, #24] - 8084: eb02 0243 add.w r2, r2, r3, lsl #1 - 8088: 9207 str r2, [sp, #28] + 8062: f8cd c024 str.w ip, [sp, #36] ; 0x24 + 8066: fb0c f307 mul.w r3, ip, r7 + 806a: 9a06 ldr r2, [sp, #24] + 806c: eb02 0243 add.w r2, r2, r3, lsl #1 + 8070: 9207 str r2, [sp, #28] if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 808a: 2c01 cmp r4, #1 - 808c: d026 beq.n 80dc <_lv_blend_fill+0x98c> - 808e: 3001 adds r0, #1 - 8090: 9a0a ldr r2, [sp, #40] ; 0x28 - 8092: 1a80 subs r0, r0, r2 - 8094: b202 sxth r2, r0 - 8096: 920c str r2, [sp, #48] ; 0x30 + 8072: 2c01 cmp r4, #1 + 8074: d026 beq.n 80c4 <_lv_blend_fill+0x98c> + 8076: 3001 adds r0, #1 + 8078: 9a0a ldr r2, [sp, #40] ; 0x28 + 807a: 1a80 subs r0, r0, r2 + 807c: b202 sxth r2, r0 + 807e: 920c str r2, [sp, #48] ; 0x30 const lv_opa_t * mask_tmp = mask - draw_area->x1; - 8098: 9a08 ldr r2, [sp, #32] - 809a: 990b ldr r1, [sp, #44] ; 0x2c - 809c: 1a52 subs r2, r2, r1 - 809e: 9208 str r2, [sp, #32] + 8080: 9a08 ldr r2, [sp, #32] + 8082: 990b ldr r1, [sp, #44] ; 0x2c + 8084: 1a52 subs r2, r2, r1 + 8086: 9208 str r2, [sp, #32] last_dest_color.full = disp_buf_tmp[0].full; - 80a0: 9a06 ldr r2, [sp, #24] - 80a2: f832 2013 ldrh.w r2, [r2, r3, lsl #1] + 8088: 9a06 ldr r2, [sp, #24] + 808a: f832 2013 ldrh.w r2, [r2, r3, lsl #1] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 80a6: 45f4 cmp ip, lr - 80a8: f73f ab5f bgt.w 776a <_lv_blend_fill+0x1a> + 808e: 45f4 cmp ip, lr + 8090: f73f ab5f bgt.w 7752 <_lv_blend_fill+0x1a> disp_buf_tmp += disp_w; - 80ac: 007b lsls r3, r7, #1 - 80ae: 930b str r3, [sp, #44] ; 0x2c - 80b0: 4610 mov r0, r2 - 80b2: 2100 movs r1, #0 + 8094: 007b lsls r3, r7, #1 + 8096: 930b str r3, [sp, #44] ; 0x2c + 8098: 4610 mov r0, r2 + 809a: 2100 movs r1, #0 lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8; - 80b4: f8cd b018 str.w fp, [sp, #24] - 80b8: f8cd b028 str.w fp, [sp, #40] ; 0x28 - 80bc: 46cb mov fp, r9 - 80be: e0b0 b.n 8222 <_lv_blend_fill+0xad2> + 809c: f8cd b018 str.w fp, [sp, #24] + 80a0: f8cd b028 str.w fp, [sp, #40] ; 0x28 + 80a4: 46cb mov fp, r9 + 80a6: e0b0 b.n 820a <_lv_blend_fill+0xad2> LV_LOG_WARN("fill_blended: unsupported blend mode"); - 80c0: 4b6a ldr r3, [pc, #424] ; (826c <_lv_blend_fill+0xb1c>) - 80c2: 9300 str r3, [sp, #0] - 80c4: 4b6a ldr r3, [pc, #424] ; (8270 <_lv_blend_fill+0xb20>) - 80c6: f44f 7204 mov.w r2, #528 ; 0x210 - 80ca: 496a ldr r1, [pc, #424] ; (8274 <_lv_blend_fill+0xb24>) - 80cc: 2002 movs r0, #2 - 80ce: 4c6a ldr r4, [pc, #424] ; (8278 <_lv_blend_fill+0xb28>) - 80d0: 47a0 blx r4 - 80d2: f7ff bb4a b.w 776a <_lv_blend_fill+0x1a> + 80a8: 4b6a ldr r3, [pc, #424] ; (8254 <_lv_blend_fill+0xb1c>) + 80aa: 9300 str r3, [sp, #0] + 80ac: 4b6a ldr r3, [pc, #424] ; (8258 <_lv_blend_fill+0xb20>) + 80ae: f44f 7204 mov.w r2, #528 ; 0x210 + 80b2: 496a ldr r1, [pc, #424] ; (825c <_lv_blend_fill+0xb24>) + 80b4: 2002 movs r0, #2 + 80b6: 4c6a ldr r4, [pc, #424] ; (8260 <_lv_blend_fill+0xb28>) + 80b8: 47a0 blx r4 + 80ba: f7ff bb4a b.w 7752 <_lv_blend_fill+0x1a> blend_fp = color_blend_true_color_additive; - 80d6: 4b69 ldr r3, [pc, #420] ; (827c <_lv_blend_fill+0xb2c>) - 80d8: 9305 str r3, [sp, #20] - 80da: e7c0 b.n 805e <_lv_blend_fill+0x90e> + 80be: 4b69 ldr r3, [pc, #420] ; (8264 <_lv_blend_fill+0xb2c>) + 80c0: 9305 str r3, [sp, #20] + 80c2: e7c0 b.n 8046 <_lv_blend_fill+0x90e> lv_color_t last_dest_color = LV_COLOR_BLACK; - 80dc: f04f 0a00 mov.w sl, #0 + 80c4: f04f 0a00 mov.w sl, #0 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 80e0: fb0b f309 mul.w r3, fp, r9 - 80e4: eb03 2003 add.w r0, r3, r3, lsl #8 - 80e8: eb03 13c0 add.w r3, r3, r0, lsl #7 - 80ec: f3c3 50c4 ubfx r0, r3, #23, #5 + 80c8: fb0b f309 mul.w r3, fp, r9 + 80cc: eb03 2003 add.w r0, r3, r3, lsl #8 + 80d0: eb03 13c0 add.w r3, r3, r0, lsl #7 + 80d4: f3c3 50c4 ubfx r0, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 80f0: fb0b f306 mul.w r3, fp, r6 - 80f4: eb03 2203 add.w r2, r3, r3, lsl #8 - 80f8: eb03 13c2 add.w r3, r3, r2, lsl #7 - 80fc: f3c3 52c5 ubfx r2, r3, #23, #6 + 80d8: fb0b f306 mul.w r3, fp, r6 + 80dc: eb03 2203 add.w r2, r3, r3, lsl #8 + 80e0: eb03 13c2 add.w r3, r3, r2, lsl #7 + 80e4: f3c3 52c5 ubfx r2, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8100: fb0b f308 mul.w r3, fp, r8 - 8104: eb03 2103 add.w r1, r3, r3, lsl #8 - 8108: eb03 13c1 add.w r3, r3, r1, lsl #7 - 810c: f3c3 53c4 ubfx r3, r3, #23, #5 + 80e8: fb0b f308 mul.w r3, fp, r8 + 80ec: eb03 2103 add.w r1, r3, r3, lsl #8 + 80f0: eb03 13c1 add.w r3, r3, r1, lsl #7 + 80f4: f3c3 53c4 ubfx r3, r3, #23, #5 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8110: 45f4 cmp ip, lr - 8112: f73f ab2a bgt.w 776a <_lv_blend_fill+0x1a> + 80f8: 45f4 cmp ip, lr + 80fa: f73f ab2a bgt.w 7752 <_lv_blend_fill+0x1a> disp_buf_tmp += disp_w; - 8116: 0079 lsls r1, r7, #1 - 8118: 9108 str r1, [sp, #32] - 811a: f8cd b018 str.w fp, [sp, #24] - 811e: 46cb mov fp, r9 - 8120: e03a b.n 8198 <_lv_blend_fill+0xa48> + 80fe: 0079 lsls r1, r7, #1 + 8100: 9108 str r1, [sp, #32] + 8102: f8cd b018 str.w fp, [sp, #24] + 8106: 46cb mov fp, r9 + 8108: e03a b.n 8180 <_lv_blend_fill+0xa48> disp_buf_tmp[x] = last_res_color; - 8122: 7821 ldrb r1, [r4, #0] - 8124: f363 0104 bfi r1, r3, #0, #5 - 8128: 7021 strb r1, [r4, #0] - 812a: 8821 ldrh r1, [r4, #0] - 812c: f362 114a bfi r1, r2, #5, #6 - 8130: 8021 strh r1, [r4, #0] - 8132: 0a09 lsrs r1, r1, #8 - 8134: f360 01c7 bfi r1, r0, #3, #5 - 8138: 7061 strb r1, [r4, #1] + 810a: 7821 ldrb r1, [r4, #0] + 810c: f363 0104 bfi r1, r3, #0, #5 + 8110: 7021 strb r1, [r4, #0] + 8112: 8821 ldrh r1, [r4, #0] + 8114: f362 114a bfi r1, r2, #5, #6 + 8118: 8021 strh r1, [r4, #0] + 811a: 0a09 lsrs r1, r1, #8 + 811c: f360 01c7 bfi r1, r0, #3, #5 + 8120: 7061 strb r1, [r4, #1] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 813a: f109 0901 add.w r9, r9, #1 - 813e: 3702 adds r7, #2 - 8140: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 - 8144: 4589 cmp r9, r1 - 8146: dc1a bgt.n 817e <_lv_blend_fill+0xa2e> + 8122: f109 0901 add.w r9, r9, #1 + 8126: 3702 adds r7, #2 + 8128: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 + 812c: 4589 cmp r9, r1 + 812e: dc1a bgt.n 8166 <_lv_blend_fill+0xa2e> if(last_dest_color.full != disp_buf_tmp[x].full) { - 8148: 463c mov r4, r7 - 814a: fa1f f18a uxth.w r1, sl - 814e: f8b7 e000 ldrh.w lr, [r7] - 8152: 4571 cmp r1, lr - 8154: d0e5 beq.n 8122 <_lv_blend_fill+0x9d2> + 8130: 463c mov r4, r7 + 8132: fa1f f18a uxth.w r1, sl + 8136: f8b7 e000 ldrh.w lr, [r7] + 813a: 4571 cmp r1, lr + 813c: d0e5 beq.n 810a <_lv_blend_fill+0x9d2> last_dest_color = disp_buf_tmp[x]; - 8156: f8b7 a000 ldrh.w sl, [r7] + 813e: f8b7 a000 ldrh.w sl, [r7] last_res_color = blend_fp(color, disp_buf_tmp[x], opa); - 815a: f368 0504 bfi r5, r8, #0, #5 - 815e: f366 154a bfi r5, r6, #5, #6 - 8162: f36b 25cf bfi r5, fp, #11, #5 - 8166: 9a06 ldr r2, [sp, #24] - 8168: 4651 mov r1, sl - 816a: 4628 mov r0, r5 - 816c: 9b05 ldr r3, [sp, #20] - 816e: 4798 blx r3 - 8170: f000 031f and.w r3, r0, #31 - 8174: f3c0 1245 ubfx r2, r0, #5, #6 - 8178: f3c0 20c4 ubfx r0, r0, #11, #5 - 817c: e7d1 b.n 8122 <_lv_blend_fill+0x9d2> + 8142: f368 0504 bfi r5, r8, #0, #5 + 8146: f366 154a bfi r5, r6, #5, #6 + 814a: f36b 25cf bfi r5, fp, #11, #5 + 814e: 9a06 ldr r2, [sp, #24] + 8150: 4651 mov r1, sl + 8152: 4628 mov r0, r5 + 8154: 9b05 ldr r3, [sp, #20] + 8156: 4798 blx r3 + 8158: f000 031f and.w r3, r0, #31 + 815c: f3c0 1245 ubfx r2, r0, #5, #6 + 8160: f3c0 20c4 ubfx r0, r0, #11, #5 + 8164: e7d1 b.n 810a <_lv_blend_fill+0x9d2> disp_buf_tmp += disp_w; - 817e: 9907 ldr r1, [sp, #28] - 8180: 9c08 ldr r4, [sp, #32] - 8182: 4421 add r1, r4 - 8184: 9107 str r1, [sp, #28] + 8166: 9907 ldr r1, [sp, #28] + 8168: 9c08 ldr r4, [sp, #32] + 816a: 4421 add r1, r4 + 816c: 9107 str r1, [sp, #28] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8186: 9909 ldr r1, [sp, #36] ; 0x24 - 8188: 3101 adds r1, #1 - 818a: 460c mov r4, r1 - 818c: 9109 str r1, [sp, #36] ; 0x24 - 818e: f9bd 1046 ldrsh.w r1, [sp, #70] ; 0x46 - 8192: 428c cmp r4, r1 - 8194: f73f aae9 bgt.w 776a <_lv_blend_fill+0x1a> + 816e: 9909 ldr r1, [sp, #36] ; 0x24 + 8170: 3101 adds r1, #1 + 8172: 460c mov r4, r1 + 8174: 9109 str r1, [sp, #36] ; 0x24 + 8176: f9bd 1046 ldrsh.w r1, [sp, #70] ; 0x46 + 817a: 428c cmp r4, r1 + 817c: f73f aae9 bgt.w 7752 <_lv_blend_fill+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8198: f9bd 7040 ldrsh.w r7, [sp, #64] ; 0x40 - 819c: 46b9 mov r9, r7 - 819e: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 - 81a2: 428f cmp r7, r1 - 81a4: dceb bgt.n 817e <_lv_blend_fill+0xa2e> - 81a6: 9907 ldr r1, [sp, #28] - 81a8: eb01 0747 add.w r7, r1, r7, lsl #1 - 81ac: e7cc b.n 8148 <_lv_blend_fill+0x9f8> + 8180: f9bd 7040 ldrsh.w r7, [sp, #64] ; 0x40 + 8184: 46b9 mov r9, r7 + 8186: f9bd 1044 ldrsh.w r1, [sp, #68] ; 0x44 + 818a: 428f cmp r7, r1 + 818c: dceb bgt.n 8166 <_lv_blend_fill+0xa2e> + 818e: 9907 ldr r1, [sp, #28] + 8190: eb01 0747 add.w r7, r1, r7, lsl #1 + 8194: e7cc b.n 8130 <_lv_blend_fill+0x9f8> lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : (uint32_t)((uint32_t)mask_tmp[x] * opa) >> 8; - 81ae: 2bf9 cmp r3, #249 ; 0xf9 - 81b0: bf9d ittte ls - 81b2: 9a0a ldrls r2, [sp, #40] ; 0x28 - 81b4: 4353 mulls r3, r2 - 81b6: f3c3 2207 ubfxls r2, r3, #8, #8 - 81ba: 9a06 ldrhi r2, [sp, #24] + 8196: 2bf9 cmp r3, #249 ; 0xf9 + 8198: bf9d ittte ls + 819a: 9a0a ldrls r2, [sp, #40] ; 0x28 + 819c: 4353 mulls r3, r2 + 819e: f3c3 2207 ubfxls r2, r3, #8, #8 + 81a2: 9a06 ldrhi r2, [sp, #24] last_res_color = blend_fp(color, disp_buf_tmp[x], opa_tmp); - 81bc: f368 0504 bfi r5, r8, #0, #5 - 81c0: f366 154a bfi r5, r6, #5, #6 - 81c4: f36b 25cf bfi r5, fp, #11, #5 - 81c8: 8821 ldrh r1, [r4, #0] - 81ca: 4628 mov r0, r5 - 81cc: 9b05 ldr r3, [sp, #20] - 81ce: 4798 blx r3 - 81d0: b280 uxth r0, r0 + 81a4: f368 0504 bfi r5, r8, #0, #5 + 81a8: f366 154a bfi r5, r6, #5, #6 + 81ac: f36b 25cf bfi r5, fp, #11, #5 + 81b0: 8821 ldrh r1, [r4, #0] + 81b2: 4628 mov r0, r5 + 81b4: 9b05 ldr r3, [sp, #20] + 81b6: 4798 blx r3 + 81b8: b280 uxth r0, r0 last_mask = mask_tmp[x]; - 81d2: f89a 1000 ldrb.w r1, [sl] + 81ba: f89a 1000 ldrb.w r1, [sl] last_dest_color.full = disp_buf_tmp[x].full; - 81d6: 8822 ldrh r2, [r4, #0] + 81be: 8822 ldrh r2, [r4, #0] disp_buf_tmp[x] = last_res_color; - 81d8: 8020 strh r0, [r4, #0] + 81c0: 8020 strh r0, [r4, #0] for(x = draw_area->x1; x <= draw_area->x2; x++) { - 81da: f109 0901 add.w r9, r9, #1 - 81de: 3701 adds r7, #1 - 81e0: 3402 adds r4, #2 - 81e2: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 81e6: 4599 cmp r9, r3 - 81e8: dc0a bgt.n 8200 <_lv_blend_fill+0xab0> - 81ea: 46ba mov sl, r7 + 81c2: f109 0901 add.w r9, r9, #1 + 81c6: 3701 adds r7, #1 + 81c8: 3402 adds r4, #2 + 81ca: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 81ce: 4599 cmp r9, r3 + 81d0: dc0a bgt.n 81e8 <_lv_blend_fill+0xab0> + 81d2: 46ba mov sl, r7 if(mask_tmp[x] == 0) continue; - 81ec: 783b ldrb r3, [r7, #0] - 81ee: 2b00 cmp r3, #0 - 81f0: d0f3 beq.n 81da <_lv_blend_fill+0xa8a> + 81d4: 783b ldrb r3, [r7, #0] + 81d6: 2b00 cmp r3, #0 + 81d8: d0f3 beq.n 81c2 <_lv_blend_fill+0xa8a> if(mask_tmp[x] != last_mask || last_dest_color.full != disp_buf_tmp[x].full) { - 81f2: 428b cmp r3, r1 - 81f4: d1db bne.n 81ae <_lv_blend_fill+0xa5e> - 81f6: f8b4 e000 ldrh.w lr, [r4] - 81fa: 4596 cmp lr, r2 - 81fc: d1d7 bne.n 81ae <_lv_blend_fill+0xa5e> - 81fe: e7eb b.n 81d8 <_lv_blend_fill+0xa88> + 81da: 428b cmp r3, r1 + 81dc: d1db bne.n 8196 <_lv_blend_fill+0xa5e> + 81de: f8b4 e000 ldrh.w lr, [r4] + 81e2: 4596 cmp lr, r2 + 81e4: d1d7 bne.n 8196 <_lv_blend_fill+0xa5e> + 81e6: e7eb b.n 81c0 <_lv_blend_fill+0xa88> disp_buf_tmp += disp_w; - 8200: 9b07 ldr r3, [sp, #28] - 8202: 9c0b ldr r4, [sp, #44] ; 0x2c - 8204: 4423 add r3, r4 - 8206: 9307 str r3, [sp, #28] - 8208: 9b08 ldr r3, [sp, #32] - 820a: 9c0c ldr r4, [sp, #48] ; 0x30 - 820c: 4423 add r3, r4 - 820e: 9308 str r3, [sp, #32] + 81e8: 9b07 ldr r3, [sp, #28] + 81ea: 9c0b ldr r4, [sp, #44] ; 0x2c + 81ec: 4423 add r3, r4 + 81ee: 9307 str r3, [sp, #28] + 81f0: 9b08 ldr r3, [sp, #32] + 81f2: 9c0c ldr r4, [sp, #48] ; 0x30 + 81f4: 4423 add r3, r4 + 81f6: 9308 str r3, [sp, #32] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8210: 9b09 ldr r3, [sp, #36] ; 0x24 - 8212: 3301 adds r3, #1 - 8214: 461c mov r4, r3 - 8216: 9309 str r3, [sp, #36] ; 0x24 - 8218: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - 821c: 429c cmp r4, r3 - 821e: f73f aaa4 bgt.w 776a <_lv_blend_fill+0x1a> + 81f8: 9b09 ldr r3, [sp, #36] ; 0x24 + 81fa: 3301 adds r3, #1 + 81fc: 461c mov r4, r3 + 81fe: 9309 str r3, [sp, #36] ; 0x24 + 8200: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + 8204: 429c cmp r4, r3 + 8206: f73f aaa4 bgt.w 7752 <_lv_blend_fill+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8222: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 - 8226: 46a1 mov r9, r4 - 8228: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 - 822c: 429c cmp r4, r3 - 822e: dce7 bgt.n 8200 <_lv_blend_fill+0xab0> - 8230: 9b08 ldr r3, [sp, #32] - 8232: 191f adds r7, r3, r4 - 8234: 9b07 ldr r3, [sp, #28] - 8236: eb03 0444 add.w r4, r3, r4, lsl #1 - 823a: e7d6 b.n 81ea <_lv_blend_fill+0xa9a> + 820a: f9bd 4040 ldrsh.w r4, [sp, #64] ; 0x40 + 820e: 46a1 mov r9, r4 + 8210: f9bd 3044 ldrsh.w r3, [sp, #68] ; 0x44 + 8214: 429c cmp r4, r3 + 8216: dce7 bgt.n 81e8 <_lv_blend_fill+0xab0> + 8218: 9b08 ldr r3, [sp, #32] + 821a: 191f adds r7, r3, r4 + 821c: 9b07 ldr r3, [sp, #28] + 821e: eb03 0444 add.w r4, r3, r4, lsl #1 + 8222: e7d6 b.n 81d2 <_lv_blend_fill+0xa9a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 823c: 9b08 ldr r3, [sp, #32] - 823e: 2100 movs r1, #0 + 8224: 9b08 ldr r3, [sp, #32] + 8226: 2100 movs r1, #0 for(; x <= x_end4; x += 4) { - 8240: 9a0d ldr r2, [sp, #52] ; 0x34 - 8242: 428a cmp r2, r1 - 8244: f6ff ae78 blt.w 7f38 <_lv_blend_fill+0x7e8> - 8248: 3304 adds r3, #4 - 824a: 1cc8 adds r0, r1, #3 - 824c: 9a05 ldr r2, [sp, #20] - 824e: eb02 0040 add.w r0, r2, r0, lsl #1 - 8252: 950e str r5, [sp, #56] ; 0x38 - 8254: 9f0d ldr r7, [sp, #52] ; 0x34 - 8256: e4f4 b.n 7c42 <_lv_blend_fill+0x4f2> + 8228: 9a0d ldr r2, [sp, #52] ; 0x34 + 822a: 428a cmp r2, r1 + 822c: f6ff ae78 blt.w 7f20 <_lv_blend_fill+0x7e8> + 8230: 3304 adds r3, #4 + 8232: 1cc8 adds r0, r1, #3 + 8234: 9a05 ldr r2, [sp, #20] + 8236: eb02 0040 add.w r0, r2, r0, lsl #1 + 823a: 950e str r5, [sp, #56] ; 0x38 + 823c: 9f0d ldr r7, [sp, #52] ; 0x34 + 823e: e4f4 b.n 7c2a <_lv_blend_fill+0x4f2> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8258: 9b08 ldr r3, [sp, #32] - 825a: 2100 movs r1, #0 + 8240: 9b08 ldr r3, [sp, #32] + 8242: 2100 movs r1, #0 for(; x <= x_end4; x += 4) { - 825c: 9a0d ldr r2, [sp, #52] ; 0x34 - 825e: 428a cmp r2, r1 - 8260: daf2 bge.n 8248 <_lv_blend_fill+0xaf8> - 8262: 461a mov r2, r3 - 8264: e619 b.n 7e9a <_lv_blend_fill+0x74a> - 8266: bf00 nop - 8268: 0000769f .word 0x0000769f - 826c: 00024c90 .word 0x00024c90 - 8270: 00024c44 .word 0x00024c44 - 8274: 00024c60 .word 0x00024c60 - 8278: 0001225d .word 0x0001225d - 827c: 000075e9 .word 0x000075e9 - -00008280 <_lv_blend_map>: -{ - 8280: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8284: b091 sub sp, #68 ; 0x44 - 8286: f89d 4068 ldrb.w r4, [sp, #104] ; 0x68 - 828a: f89d a06c ldrb.w sl, [sp, #108] ; 0x6c - 828e: f89d 5070 ldrb.w r5, [sp, #112] ; 0x70 + 8244: 9a0d ldr r2, [sp, #52] ; 0x34 + 8246: 428a cmp r2, r1 + 8248: daf2 bge.n 8230 <_lv_blend_fill+0xaf8> + 824a: 461a mov r2, r3 + 824c: e619 b.n 7e82 <_lv_blend_fill+0x74a> + 824e: bf00 nop + 8250: 00007687 .word 0x00007687 + 8254: 00024c78 .word 0x00024c78 + 8258: 00024c2c .word 0x00024c2c + 825c: 00024c48 .word 0x00024c48 + 8260: 00012245 .word 0x00012245 + 8264: 000075d1 .word 0x000075d1 + +00008268 <_lv_blend_map>: +{ + 8268: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 826c: b091 sub sp, #68 ; 0x44 + 826e: f89d 4068 ldrb.w r4, [sp, #104] ; 0x68 + 8272: f89d a06c ldrb.w sl, [sp, #108] ; 0x6c + 8276: f89d 5070 ldrb.w r5, [sp, #112] ; 0x70 if(opa < LV_OPA_MIN) return; - 8292: f1ba 0f04 cmp.w sl, #4 - 8296: d900 bls.n 829a <_lv_blend_map+0x1a> + 827a: f1ba 0f04 cmp.w sl, #4 + 827e: d900 bls.n 8282 <_lv_blend_map+0x1a> if(mask_res == LV_DRAW_MASK_RES_TRANSP) return; - 8298: b914 cbnz r4, 82a0 <_lv_blend_map+0x20> -} - 829a: b011 add sp, #68 ; 0x44 - 829c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 82a0: 9304 str r3, [sp, #16] - 82a2: 9207 str r2, [sp, #28] - 82a4: 460f mov r7, r1 - 82a6: 4601 mov r1, r0 + 8280: b914 cbnz r4, 8288 <_lv_blend_map+0x20> +} + 8282: b011 add sp, #68 ; 0x44 + 8284: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 8288: 9304 str r3, [sp, #16] + 828a: 9207 str r2, [sp, #28] + 828c: 460f mov r7, r1 + 828e: 4601 mov r1, r0 is_common = _lv_area_intersect(&draw_area, clip_area, map_area); - 82a8: 463a mov r2, r7 - 82aa: a80e add r0, sp, #56 ; 0x38 - 82ac: 4bbc ldr r3, [pc, #752] ; (85a0 <_lv_blend_map+0x320>) - 82ae: 4798 blx r3 + 8290: 463a mov r2, r7 + 8292: a80e add r0, sp, #56 ; 0x38 + 8294: 4bbc ldr r3, [pc, #752] ; (8588 <_lv_blend_map+0x320>) + 8296: 4798 blx r3 if(!is_common) return; - 82b0: 2800 cmp r0, #0 - 82b2: d0f2 beq.n 829a <_lv_blend_map+0x1a> + 8298: 2800 cmp r0, #0 + 829a: d0f2 beq.n 8282 <_lv_blend_map+0x1a> lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 82b4: 4bbb ldr r3, [pc, #748] ; (85a4 <_lv_blend_map+0x324>) - 82b6: 4798 blx r3 - 82b8: 4680 mov r8, r0 + 829c: 4bbb ldr r3, [pc, #748] ; (858c <_lv_blend_map+0x324>) + 829e: 4798 blx r3 + 82a0: 4680 mov r8, r0 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 82ba: 4bbb ldr r3, [pc, #748] ; (85a8 <_lv_blend_map+0x328>) - 82bc: 4798 blx r3 - 82be: 4606 mov r6, r0 + 82a2: 4bbb ldr r3, [pc, #748] ; (8590 <_lv_blend_map+0x328>) + 82a4: 4798 blx r3 + 82a6: 4606 mov r6, r0 lv_color_t * disp_buf = vdb->buf_act; - 82c0: 6883 ldr r3, [r0, #8] - 82c2: 9305 str r3, [sp, #20] + 82a8: 6883 ldr r3, [r0, #8] + 82aa: 9305 str r3, [sp, #20] draw_area.x1 -= disp_area->x1; - 82c4: 8a02 ldrh r2, [r0, #16] - 82c6: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 - 82ca: 1a9b subs r3, r3, r2 - 82cc: b29b uxth r3, r3 - 82ce: 9306 str r3, [sp, #24] - 82d0: f9bd c018 ldrsh.w ip, [sp, #24] - 82d4: f8ad c038 strh.w ip, [sp, #56] ; 0x38 + 82ac: 8a02 ldrh r2, [r0, #16] + 82ae: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 + 82b2: 1a9b subs r3, r3, r2 + 82b4: b29b uxth r3, r3 + 82b6: 9306 str r3, [sp, #24] + 82b8: f9bd c018 ldrsh.w ip, [sp, #24] + 82bc: f8ad c038 strh.w ip, [sp, #56] ; 0x38 draw_area.y1 -= disp_area->y1; - 82d8: 8a43 ldrh r3, [r0, #18] - 82da: f8bd b03a ldrh.w fp, [sp, #58] ; 0x3a - 82de: ebab 0b03 sub.w fp, fp, r3 - 82e2: fa1f fb8b uxth.w fp, fp - 82e6: fa0f fe8b sxth.w lr, fp - 82ea: f8ad e03a strh.w lr, [sp, #58] ; 0x3a + 82c0: 8a43 ldrh r3, [r0, #18] + 82c2: f8bd b03a ldrh.w fp, [sp, #58] ; 0x3a + 82c6: ebab 0b03 sub.w fp, fp, r3 + 82ca: fa1f fb8b uxth.w fp, fp + 82ce: fa0f fe8b sxth.w lr, fp + 82d2: f8ad e03a strh.w lr, [sp, #58] ; 0x3a draw_area.x2 -= disp_area->x1; - 82ee: f8bd 103c ldrh.w r1, [sp, #60] ; 0x3c - 82f2: 1a89 subs r1, r1, r2 - 82f4: b289 uxth r1, r1 - 82f6: f8ad 103c strh.w r1, [sp, #60] ; 0x3c + 82d6: f8bd 103c ldrh.w r1, [sp, #60] ; 0x3c + 82da: 1a89 subs r1, r1, r2 + 82dc: b289 uxth r1, r1 + 82de: f8ad 103c strh.w r1, [sp, #60] ; 0x3c draw_area.y2 -= disp_area->y1; - 82fa: f8bd 003e ldrh.w r0, [sp, #62] ; 0x3e - 82fe: 1ac0 subs r0, r0, r3 - 8300: b280 uxth r0, r0 - 8302: b202 sxth r2, r0 - 8304: 9208 str r2, [sp, #32] - 8306: f8ad 203e strh.w r2, [sp, #62] ; 0x3e + 82e2: f8bd 003e ldrh.w r0, [sp, #62] ; 0x3e + 82e6: 1ac0 subs r0, r0, r3 + 82e8: b280 uxth r0, r0 + 82ea: b202 sxth r2, r0 + 82ec: 9208 str r2, [sp, #32] + 82ee: f8ad 203e strh.w r2, [sp, #62] ; 0x3e if(mask && disp->driver.antialiasing == 0) - 830a: 9a04 ldr r2, [sp, #16] - 830c: b1d2 cbz r2, 8344 <_lv_blend_map+0xc4> - 830e: f898 3008 ldrb.w r3, [r8, #8] - 8312: f013 0f01 tst.w r3, #1 - 8316: d115 bne.n 8344 <_lv_blend_map+0xc4> - 8318: f101 0901 add.w r9, r1, #1 - 831c: 9b06 ldr r3, [sp, #24] - 831e: eba9 0903 sub.w r9, r9, r3 - 8322: fa0f f989 sxth.w r9, r9 + 82f2: 9a04 ldr r2, [sp, #16] + 82f4: b1d2 cbz r2, 832c <_lv_blend_map+0xc4> + 82f6: f898 3008 ldrb.w r3, [r8, #8] + 82fa: f013 0f01 tst.w r3, #1 + 82fe: d115 bne.n 832c <_lv_blend_map+0xc4> + 8300: f101 0901 add.w r9, r1, #1 + 8304: 9b06 ldr r3, [sp, #24] + 8306: eba9 0903 sub.w r9, r9, r3 + 830a: fa0f f989 sxth.w r9, r9 for(i = 0; i < mask_w; i++) mask[i] = mask[i] > 128 ? LV_OPA_COVER : LV_OPA_TRANSP; - 8326: f1b9 0f00 cmp.w r9, #0 - 832a: dd0b ble.n 8344 <_lv_blend_map+0xc4> - 832c: 4613 mov r3, r2 - 832e: 4491 add r9, r2 - 8330: 781a ldrb r2, [r3, #0] - 8332: 2a80 cmp r2, #128 ; 0x80 - 8334: f04f 32ff mov.w r2, #4294967295 - 8338: bf98 it ls - 833a: 2200 movls r2, #0 - 833c: f803 2b01 strb.w r2, [r3], #1 - 8340: 454b cmp r3, r9 - 8342: d1f5 bne.n 8330 <_lv_blend_map+0xb0> + 830e: f1b9 0f00 cmp.w r9, #0 + 8312: dd0b ble.n 832c <_lv_blend_map+0xc4> + 8314: 4613 mov r3, r2 + 8316: 4491 add r9, r2 + 8318: 781a ldrb r2, [r3, #0] + 831a: 2a80 cmp r2, #128 ; 0x80 + 831c: f04f 32ff mov.w r2, #4294967295 + 8320: bf98 it ls + 8322: 2200 movls r2, #0 + 8324: f803 2b01 strb.w r2, [r3], #1 + 8328: 454b cmp r3, r9 + 832a: d1f5 bne.n 8318 <_lv_blend_map+0xb0> if(disp->driver.set_px_cb) { - 8344: f8d8 3014 ldr.w r3, [r8, #20] - 8348: 2b00 cmp r3, #0 - 834a: f000 80a9 beq.w 84a0 <_lv_blend_map+0x220> + 832c: f8d8 3014 ldr.w r3, [r8, #20] + 8330: 2b00 cmp r3, #0 + 8332: f000 80a9 beq.w 8488 <_lv_blend_map+0x220> lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 834e: 4b95 ldr r3, [pc, #596] ; (85a4 <_lv_blend_map+0x324>) - 8350: 4798 blx r3 - 8352: 4605 mov r5, r0 - 8354: f9b6 0010 ldrsh.w r0, [r6, #16] - 8358: 8ab3 ldrh r3, [r6, #20] - 835a: 3301 adds r3, #1 - 835c: 1a1b subs r3, r3, r0 - 835e: b21b sxth r3, r3 - 8360: 9306 str r3, [sp, #24] - 8362: f9bd 1038 ldrsh.w r1, [sp, #56] ; 0x38 - 8366: f9b7 2000 ldrsh.w r2, [r7] - 836a: f8b7 9004 ldrh.w r9, [r7, #4] - 836e: f109 0901 add.w r9, r9, #1 - 8372: eba9 0902 sub.w r9, r9, r2 - 8376: fa0f f989 sxth.w r9, r9 + 8336: 4b95 ldr r3, [pc, #596] ; (858c <_lv_blend_map+0x324>) + 8338: 4798 blx r3 + 833a: 4605 mov r5, r0 + 833c: f9b6 0010 ldrsh.w r0, [r6, #16] + 8340: 8ab3 ldrh r3, [r6, #20] + 8342: 3301 adds r3, #1 + 8344: 1a1b subs r3, r3, r0 + 8346: b21b sxth r3, r3 + 8348: 9306 str r3, [sp, #24] + 834a: f9bd 1038 ldrsh.w r1, [sp, #56] ; 0x38 + 834e: f9b7 2000 ldrsh.w r2, [r7] + 8352: f8b7 9004 ldrh.w r9, [r7, #4] + 8356: f109 0901 add.w r9, r9, #1 + 835a: eba9 0902 sub.w r9, r9, r2 + 835e: fa0f f989 sxth.w r9, r9 const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 837a: f9bd e03a ldrsh.w lr, [sp, #58] ; 0x3a - 837e: f9b7 3002 ldrsh.w r3, [r7, #2] - 8382: f9b6 6012 ldrsh.w r6, [r6, #18] - 8386: 1b9b subs r3, r3, r6 - 8388: ebae 0303 sub.w r3, lr, r3 + 8362: f9bd e03a ldrsh.w lr, [sp, #58] ; 0x3a + 8366: f9b7 3002 ldrsh.w r3, [r7, #2] + 836a: f9b6 6012 ldrsh.w r6, [r6, #18] + 836e: 1b9b subs r3, r3, r6 + 8370: ebae 0303 sub.w r3, lr, r3 map_buf_tmp += (draw_area->x1 - (map_area->x1 - disp_area->x1)); - 838c: 1a12 subs r2, r2, r0 - 838e: 1a8a subs r2, r1, r2 + 8374: 1a12 subs r2, r2, r0 + 8376: 1a8a subs r2, r1, r2 map_buf_tmp -= draw_area->x1; - 8390: fb09 2303 mla r3, r9, r3, r2 - 8394: ea4f 0b41 mov.w fp, r1, lsl #1 - 8398: ebcb 0b43 rsb fp, fp, r3, lsl #1 - 839c: 9b07 ldr r3, [sp, #28] - 839e: 445b add r3, fp - 83a0: 469b mov fp, r3 + 8378: fb09 2303 mla r3, r9, r3, r2 + 837c: ea4f 0b41 mov.w fp, r1, lsl #1 + 8380: ebcb 0b43 rsb fp, fp, r3, lsl #1 + 8384: 9b07 ldr r3, [sp, #28] + 8386: 445b add r3, fp + 8388: 469b mov fp, r3 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 83a2: 2c01 cmp r4, #1 - 83a4: d046 beq.n 8434 <_lv_blend_map+0x1b4> + 838a: 2c01 cmp r4, #1 + 838c: d046 beq.n 841c <_lv_blend_map+0x1b4> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 83a6: 9b04 ldr r3, [sp, #16] - 83a8: 1a5b subs r3, r3, r1 - 83aa: 9307 str r3, [sp, #28] + 838e: 9b04 ldr r3, [sp, #16] + 8390: 1a5b subs r3, r3, r1 + 8392: 9307 str r3, [sp, #28] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 83ac: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 83b0: 459e cmp lr, r3 - 83b2: f73f af72 bgt.w 829a <_lv_blend_map+0x1a> - 83b6: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8394: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8398: 459e cmp lr, r3 + 839a: f73f af72 bgt.w 8282 <_lv_blend_map+0x1a> + 839e: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c map_buf_tmp += map_w; - 83ba: ea4f 0249 mov.w r2, r9, lsl #1 - 83be: 9208 str r2, [sp, #32] - 83c0: 3301 adds r3, #1 - 83c2: 1a59 subs r1, r3, r1 + 83a2: ea4f 0249 mov.w r2, r9, lsl #1 + 83a6: 9208 str r2, [sp, #32] + 83a8: 3301 adds r3, #1 + 83aa: 1a59 subs r1, r3, r1 mask_tmp += draw_area_w; - 83c4: b20b sxth r3, r1 - 83c6: 9309 str r3, [sp, #36] ; 0x24 - 83c8: 46f1 mov r9, lr + 83ac: b20b sxth r3, r1 + 83ae: 9309 str r3, [sp, #36] ; 0x24 + 83b0: 46f1 mov r9, lr for(x = draw_area->x1; x <= draw_area->x2; x++) { - 83ca: f9bd 6038 ldrsh.w r6, [sp, #56] ; 0x38 - 83ce: 4634 mov r4, r6 - 83d0: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 83d4: 429e cmp r6, r3 - 83d6: dc20 bgt.n 841a <_lv_blend_map+0x19a> - 83d8: 9b07 ldr r3, [sp, #28] - 83da: eb03 0806 add.w r8, r3, r6 - 83de: eb0b 0646 add.w r6, fp, r6, lsl #1 + 83b2: f9bd 6038 ldrsh.w r6, [sp, #56] ; 0x38 + 83b6: 4634 mov r4, r6 + 83b8: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 83bc: 429e cmp r6, r3 + 83be: dc20 bgt.n 8402 <_lv_blend_map+0x19a> + 83c0: 9b07 ldr r3, [sp, #28] + 83c2: eb03 0806 add.w r8, r3, r6 + 83c6: eb0b 0646 add.w r6, fp, r6, lsl #1 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 83e2: fa0f f789 sxth.w r7, r9 - 83e6: 9604 str r6, [sp, #16] + 83ca: fa0f f789 sxth.w r7, r9 + 83ce: 9604 str r6, [sp, #16] (uint32_t)((uint32_t)opa * mask_tmp[x]) >> 8); - 83e8: f818 3b01 ldrb.w r3, [r8], #1 - 83ec: fb03 f30a mul.w r3, r3, sl + 83d0: f818 3b01 ldrb.w r3, [r8], #1 + 83d4: fb03 f30a mul.w r3, r3, sl disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], - 83f0: f3c3 2307 ubfx r3, r3, #8, #8 - 83f4: 9302 str r3, [sp, #8] - 83f6: 9a04 ldr r2, [sp, #16] - 83f8: f832 3b02 ldrh.w r3, [r2], #2 - 83fc: 9204 str r2, [sp, #16] - 83fe: f8ad 3004 strh.w r3, [sp, #4] - 8402: 9700 str r7, [sp, #0] - 8404: b223 sxth r3, r4 - 8406: 9a06 ldr r2, [sp, #24] - 8408: 9905 ldr r1, [sp, #20] - 840a: 4628 mov r0, r5 - 840c: 696e ldr r6, [r5, #20] - 840e: 47b0 blx r6 + 83d8: f3c3 2307 ubfx r3, r3, #8, #8 + 83dc: 9302 str r3, [sp, #8] + 83de: 9a04 ldr r2, [sp, #16] + 83e0: f832 3b02 ldrh.w r3, [r2], #2 + 83e4: 9204 str r2, [sp, #16] + 83e6: f8ad 3004 strh.w r3, [sp, #4] + 83ea: 9700 str r7, [sp, #0] + 83ec: b223 sxth r3, r4 + 83ee: 9a06 ldr r2, [sp, #24] + 83f0: 9905 ldr r1, [sp, #20] + 83f2: 4628 mov r0, r5 + 83f4: 696e ldr r6, [r5, #20] + 83f6: 47b0 blx r6 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8410: 3401 adds r4, #1 - 8412: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 8416: 429c cmp r4, r3 - 8418: dde6 ble.n 83e8 <_lv_blend_map+0x168> - 841a: 9b07 ldr r3, [sp, #28] - 841c: 9a09 ldr r2, [sp, #36] ; 0x24 - 841e: 4413 add r3, r2 - 8420: 9307 str r3, [sp, #28] + 83f8: 3401 adds r4, #1 + 83fa: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 83fe: 429c cmp r4, r3 + 8400: dde6 ble.n 83d0 <_lv_blend_map+0x168> + 8402: 9b07 ldr r3, [sp, #28] + 8404: 9a09 ldr r2, [sp, #36] ; 0x24 + 8406: 4413 add r3, r2 + 8408: 9307 str r3, [sp, #28] map_buf_tmp += map_w; - 8422: 9b08 ldr r3, [sp, #32] - 8424: 449b add fp, r3 + 840a: 9b08 ldr r3, [sp, #32] + 840c: 449b add fp, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8426: f109 0901 add.w r9, r9, #1 - 842a: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 842e: 4599 cmp r9, r3 - 8430: ddcb ble.n 83ca <_lv_blend_map+0x14a> - 8432: e732 b.n 829a <_lv_blend_map+0x1a> + 840e: f109 0901 add.w r9, r9, #1 + 8412: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8416: 4599 cmp r9, r3 + 8418: ddcb ble.n 83b2 <_lv_blend_map+0x14a> + 841a: e732 b.n 8282 <_lv_blend_map+0x1a> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8434: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8438: 4573 cmp r3, lr - 843a: f6ff af2e blt.w 829a <_lv_blend_map+0x1a> + 841c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8420: 4573 cmp r3, lr + 8422: f6ff af2e blt.w 8282 <_lv_blend_map+0x1a> map_buf_tmp += map_w; - 843e: ea4f 0949 mov.w r9, r9, lsl #1 - 8442: 46f0 mov r8, lr + 8426: ea4f 0949 mov.w r9, r9, lsl #1 + 842a: 46f0 mov r8, lr for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8444: f9bd 7038 ldrsh.w r7, [sp, #56] ; 0x38 - 8448: 463c mov r4, r7 - 844a: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 844e: 429f cmp r7, r3 - 8450: dc1e bgt.n 8490 <_lv_blend_map+0x210> - 8452: eb0b 0747 add.w r7, fp, r7, lsl #1 + 842c: f9bd 7038 ldrsh.w r7, [sp, #56] ; 0x38 + 8430: 463c mov r4, r7 + 8432: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8436: 429f cmp r7, r3 + 8438: dc1e bgt.n 8478 <_lv_blend_map+0x210> + 843a: eb0b 0747 add.w r7, fp, r7, lsl #1 disp->driver.set_px_cb(&disp->driver, (void *)disp_buf, disp_w, x, y, map_buf_tmp[x], opa); - 8456: fa0f f688 sxth.w r6, r8 - 845a: 9704 str r7, [sp, #16] - 845c: 4633 mov r3, r6 - 845e: 4656 mov r6, sl - 8460: 46ca mov sl, r9 - 8462: 4699 mov r9, r3 - 8464: 9602 str r6, [sp, #8] - 8466: 9a04 ldr r2, [sp, #16] - 8468: f832 3b02 ldrh.w r3, [r2], #2 - 846c: 9204 str r2, [sp, #16] - 846e: f8ad 3004 strh.w r3, [sp, #4] - 8472: f8cd 9000 str.w r9, [sp] - 8476: b223 sxth r3, r4 - 8478: 9a06 ldr r2, [sp, #24] - 847a: 9905 ldr r1, [sp, #20] - 847c: 4628 mov r0, r5 - 847e: 696f ldr r7, [r5, #20] - 8480: 47b8 blx r7 + 843e: fa0f f688 sxth.w r6, r8 + 8442: 9704 str r7, [sp, #16] + 8444: 4633 mov r3, r6 + 8446: 4656 mov r6, sl + 8448: 46ca mov sl, r9 + 844a: 4699 mov r9, r3 + 844c: 9602 str r6, [sp, #8] + 844e: 9a04 ldr r2, [sp, #16] + 8450: f832 3b02 ldrh.w r3, [r2], #2 + 8454: 9204 str r2, [sp, #16] + 8456: f8ad 3004 strh.w r3, [sp, #4] + 845a: f8cd 9000 str.w r9, [sp] + 845e: b223 sxth r3, r4 + 8460: 9a06 ldr r2, [sp, #24] + 8462: 9905 ldr r1, [sp, #20] + 8464: 4628 mov r0, r5 + 8466: 696f ldr r7, [r5, #20] + 8468: 47b8 blx r7 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8482: 3401 adds r4, #1 - 8484: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 8488: 429c cmp r4, r3 - 848a: ddeb ble.n 8464 <_lv_blend_map+0x1e4> - 848c: 46d1 mov r9, sl - 848e: 46b2 mov sl, r6 + 846a: 3401 adds r4, #1 + 846c: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8470: 429c cmp r4, r3 + 8472: ddeb ble.n 844c <_lv_blend_map+0x1e4> + 8474: 46d1 mov r9, sl + 8476: 46b2 mov sl, r6 map_buf_tmp += map_w; - 8490: 44cb add fp, r9 + 8478: 44cb add fp, r9 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8492: f108 0801 add.w r8, r8, #1 - 8496: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 849a: 4598 cmp r8, r3 - 849c: ddd2 ble.n 8444 <_lv_blend_map+0x1c4> - 849e: e6fc b.n 829a <_lv_blend_map+0x1a> + 847a: f108 0801 add.w r8, r8, #1 + 847e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8482: 4598 cmp r8, r3 + 8484: ddd2 ble.n 842c <_lv_blend_map+0x1c4> + 8486: e6fc b.n 8282 <_lv_blend_map+0x1a> else if(mode == LV_BLEND_MODE_NORMAL) { - 84a0: 2d00 cmp r5, #0 - 84a2: f040 8399 bne.w 8bd8 <_lv_blend_map+0x958> - 84a6: f9b6 3010 ldrsh.w r3, [r6, #16] - 84aa: f8b6 8014 ldrh.w r8, [r6, #20] - 84ae: f108 0801 add.w r8, r8, #1 - 84b2: eba8 0803 sub.w r8, r8, r3 - 84b6: fa0f f888 sxth.w r8, r8 - 84ba: 3101 adds r1, #1 - 84bc: 9a06 ldr r2, [sp, #24] - 84be: 1a89 subs r1, r1, r2 - 84c0: b20a sxth r2, r1 - 84c2: 9209 str r2, [sp, #36] ; 0x24 + 8488: 2d00 cmp r5, #0 + 848a: f040 8399 bne.w 8bc0 <_lv_blend_map+0x958> + 848e: f9b6 3010 ldrsh.w r3, [r6, #16] + 8492: f8b6 8014 ldrh.w r8, [r6, #20] + 8496: f108 0801 add.w r8, r8, #1 + 849a: eba8 0803 sub.w r8, r8, r3 + 849e: fa0f f888 sxth.w r8, r8 + 84a2: 3101 adds r1, #1 + 84a4: 9a06 ldr r2, [sp, #24] + 84a6: 1a89 subs r1, r1, r2 + 84a8: b20a sxth r2, r1 + 84aa: 9209 str r2, [sp, #36] ; 0x24 int32_t draw_area_w = lv_area_get_width(draw_area); - 84c4: 4615 mov r5, r2 + 84ac: 4615 mov r5, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 84c6: 3001 adds r0, #1 - 84c8: eba0 0b0b sub.w fp, r0, fp + 84ae: 3001 adds r0, #1 + 84b0: eba0 0b0b sub.w fp, r0, fp int32_t draw_area_h = lv_area_get_height(draw_area); - 84cc: fa0f f28b sxth.w r2, fp - 84d0: 9208 str r2, [sp, #32] + 84b4: fa0f f28b sxth.w r2, fp + 84b8: 9208 str r2, [sp, #32] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 84d2: f9b7 1000 ldrsh.w r1, [r7] - 84d6: f8b7 9004 ldrh.w r9, [r7, #4] - 84da: f109 0901 add.w r9, r9, #1 - 84de: eba9 0901 sub.w r9, r9, r1 - 84e2: fa0f f989 sxth.w r9, r9 + 84ba: f9b7 1000 ldrsh.w r1, [r7] + 84be: f8b7 9004 ldrh.w r9, [r7, #4] + 84c2: f109 0901 add.w r9, r9, #1 + 84c6: eba9 0901 sub.w r9, r9, r1 + 84ca: fa0f f989 sxth.w r9, r9 lv_color_t * disp_buf_first = disp_buf + disp_w * draw_area->y1 + draw_area->x1; - 84e6: fb0e c208 mla r2, lr, r8, ip - 84ea: 9805 ldr r0, [sp, #20] - 84ec: eb00 0242 add.w r2, r0, r2, lsl #1 - 84f0: 9205 str r2, [sp, #20] + 84ce: fb0e c208 mla r2, lr, r8, ip + 84d2: 9805 ldr r0, [sp, #20] + 84d4: eb00 0242 add.w r2, r0, r2, lsl #1 + 84d8: 9205 str r2, [sp, #20] const lv_color_t * map_buf_first = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 84f2: f9b7 2002 ldrsh.w r2, [r7, #2] - 84f6: f9b6 0012 ldrsh.w r0, [r6, #18] - 84fa: 1a12 subs r2, r2, r0 - 84fc: ebae 0e02 sub.w lr, lr, r2 + 84da: f9b7 2002 ldrsh.w r2, [r7, #2] + 84de: f9b6 0012 ldrsh.w r0, [r6, #18] + 84e2: 1a12 subs r2, r2, r0 + 84e4: ebae 0e02 sub.w lr, lr, r2 map_buf_first += (draw_area->x1 - (map_area->x1 - disp_area->x1)); - 8500: 1acb subs r3, r1, r3 - 8502: ebac 0303 sub.w r3, ip, r3 - 8506: fb09 330e mla r3, r9, lr, r3 - 850a: 9a07 ldr r2, [sp, #28] - 850c: eb02 0343 add.w r3, r2, r3, lsl #1 - 8510: 9306 str r3, [sp, #24] + 84e8: 1acb subs r3, r1, r3 + 84ea: ebac 0303 sub.w r3, ip, r3 + 84ee: fb09 330e mla r3, r9, lr, r3 + 84f2: 9a07 ldr r2, [sp, #28] + 84f4: eb02 0343 add.w r3, r2, r3, lsl #1 + 84f8: 9306 str r3, [sp, #24] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 8512: 4b24 ldr r3, [pc, #144] ; (85a4 <_lv_blend_map+0x324>) - 8514: 4798 blx r3 - 8516: 4606 mov r6, r0 + 84fa: 4b24 ldr r3, [pc, #144] ; (858c <_lv_blend_map+0x324>) + 84fc: 4798 blx r3 + 84fe: 4606 mov r6, r0 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 8518: 2c01 cmp r4, #1 - 851a: d01b beq.n 8554 <_lv_blend_map+0x2d4> + 8500: 2c01 cmp r4, #1 + 8502: d01b beq.n 853c <_lv_blend_map+0x2d4> if(opa > LV_OPA_MAX) { - 851c: f1ba 0ffa cmp.w sl, #250 ; 0xfa - 8520: f200 80c5 bhi.w 86ae <_lv_blend_map+0x42e> + 8504: f1ba 0ffa cmp.w sl, #250 ; 0xfa + 8508: f200 80c5 bhi.w 8696 <_lv_blend_map+0x42e> for(y = 0; y < draw_area_h; y++) { - 8524: 9b08 ldr r3, [sp, #32] - 8526: 2b00 cmp r3, #0 - 8528: f77f aeb7 ble.w 829a <_lv_blend_map+0x1a> + 850c: 9b08 ldr r3, [sp, #32] + 850e: 2b00 cmp r3, #0 + 8510: f77f aeb7 ble.w 8282 <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 852c: ea4f 0348 mov.w r3, r8, lsl #1 - 8530: 930a str r3, [sp, #40] ; 0x28 + 8514: ea4f 0348 mov.w r3, r8, lsl #1 + 8518: 930a str r3, [sp, #40] ; 0x28 map_buf_first += map_w; - 8532: ea4f 0349 mov.w r3, r9, lsl #1 - 8536: 930b str r3, [sp, #44] ; 0x2c - 8538: 9b09 ldr r3, [sp, #36] ; 0x24 - 853a: 9a04 ldr r2, [sp, #16] - 853c: 3a01 subs r2, #1 - 853e: 9204 str r2, [sp, #16] - 8540: 005b lsls r3, r3, #1 - 8542: 930d str r3, [sp, #52] ; 0x34 - 8544: f04f 0b00 mov.w fp, #0 + 851a: ea4f 0349 mov.w r3, r9, lsl #1 + 851e: 930b str r3, [sp, #44] ; 0x2c + 8520: 9b09 ldr r3, [sp, #36] ; 0x24 + 8522: 9a04 ldr r2, [sp, #16] + 8524: 3a01 subs r2, #1 + 8526: 9204 str r2, [sp, #16] + 8528: 005b lsls r3, r3, #1 + 852a: 930d str r3, [sp, #52] ; 0x34 + 852c: f04f 0b00 mov.w fp, #0 lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8); - 8548: f8cd a01c str.w sl, [sp, #28] - 854c: 950c str r5, [sp, #48] ; 0x30 - 854e: f8dd 9018 ldr.w r9, [sp, #24] - 8552: e336 b.n 8bc2 <_lv_blend_map+0x942> + 8530: f8cd a01c str.w sl, [sp, #28] + 8534: 950c str r5, [sp, #48] ; 0x30 + 8536: f8dd 9018 ldr.w r9, [sp, #24] + 853a: e336 b.n 8baa <_lv_blend_map+0x942> if(disp->driver.gpu_blend_cb && (lv_area_get_size(draw_area) > GPU_SIZE_LIMIT)) { - 8554: 6a03 ldr r3, [r0, #32] - 8556: b35b cbz r3, 85b0 <_lv_blend_map+0x330> - 8558: a80e add r0, sp, #56 ; 0x38 - 855a: 4b14 ldr r3, [pc, #80] ; (85ac <_lv_blend_map+0x32c>) - 855c: 4798 blx r3 - 855e: 28f0 cmp r0, #240 ; 0xf0 - 8560: d926 bls.n 85b0 <_lv_blend_map+0x330> + 853c: 6a03 ldr r3, [r0, #32] + 853e: b35b cbz r3, 8598 <_lv_blend_map+0x330> + 8540: a80e add r0, sp, #56 ; 0x38 + 8542: 4b14 ldr r3, [pc, #80] ; (8594 <_lv_blend_map+0x32c>) + 8544: 4798 blx r3 + 8546: 28f0 cmp r0, #240 ; 0xf0 + 8548: d926 bls.n 8598 <_lv_blend_map+0x330> for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8562: f9bd 503a ldrsh.w r5, [sp, #58] ; 0x3a - 8566: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 856a: 429d cmp r5, r3 - 856c: f73f ae95 bgt.w 829a <_lv_blend_map+0x1a> + 854a: f9bd 503a ldrsh.w r5, [sp, #58] ; 0x3a + 854e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8552: 429d cmp r5, r3 + 8554: f73f ae95 bgt.w 8282 <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 8570: ea4f 0848 mov.w r8, r8, lsl #1 + 8558: ea4f 0848 mov.w r8, r8, lsl #1 map_buf_first += map_w; - 8574: ea4f 0949 mov.w r9, r9, lsl #1 - 8578: f8dd b014 ldr.w fp, [sp, #20] - 857c: 9f06 ldr r7, [sp, #24] + 855c: ea4f 0949 mov.w r9, r9, lsl #1 + 8560: f8dd b014 ldr.w fp, [sp, #20] + 8564: 9f06 ldr r7, [sp, #24] disp->driver.gpu_blend_cb(&disp->driver, disp_buf_first, map_buf_first, draw_area_w, opa); - 857e: f8cd a000 str.w sl, [sp] - 8582: 9b09 ldr r3, [sp, #36] ; 0x24 - 8584: 463a mov r2, r7 - 8586: 4659 mov r1, fp - 8588: 4630 mov r0, r6 - 858a: 6a34 ldr r4, [r6, #32] - 858c: 47a0 blx r4 + 8566: f8cd a000 str.w sl, [sp] + 856a: 9b09 ldr r3, [sp, #36] ; 0x24 + 856c: 463a mov r2, r7 + 856e: 4659 mov r1, fp + 8570: 4630 mov r0, r6 + 8572: 6a34 ldr r4, [r6, #32] + 8574: 47a0 blx r4 disp_buf_first += disp_w; - 858e: 44c3 add fp, r8 + 8576: 44c3 add fp, r8 map_buf_first += map_w; - 8590: 444f add r7, r9 + 8578: 444f add r7, r9 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8592: 3501 adds r5, #1 - 8594: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8598: 429d cmp r5, r3 - 859a: ddf0 ble.n 857e <_lv_blend_map+0x2fe> - 859c: e67d b.n 829a <_lv_blend_map+0x1a> - 859e: bf00 nop - 85a0: 00011519 .word 0x00011519 - 85a4: 00005f69 .word 0x00005f69 - 85a8: 00010fdd .word 0x00010fdd - 85ac: 000114fd .word 0x000114fd + 857a: 3501 adds r5, #1 + 857c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8580: 429d cmp r5, r3 + 8582: ddf0 ble.n 8566 <_lv_blend_map+0x2fe> + 8584: e67d b.n 8282 <_lv_blend_map+0x1a> + 8586: bf00 nop + 8588: 00011501 .word 0x00011501 + 858c: 00005f51 .word 0x00005f51 + 8590: 00010fc5 .word 0x00010fc5 + 8594: 000114e5 .word 0x000114e5 if(opa > LV_OPA_MAX) { - 85b0: f1ba 0ffa cmp.w sl, #250 ; 0xfa - 85b4: d810 bhi.n 85d8 <_lv_blend_map+0x358> + 8598: f1ba 0ffa cmp.w sl, #250 ; 0xfa + 859c: d810 bhi.n 85c0 <_lv_blend_map+0x358> for(y = 0; y < draw_area_h; y++) { - 85b6: 9b08 ldr r3, [sp, #32] - 85b8: 2b00 cmp r3, #0 - 85ba: f77f ae6e ble.w 829a <_lv_blend_map+0x1a> + 859e: 9b08 ldr r3, [sp, #32] + 85a0: 2b00 cmp r3, #0 + 85a2: f77f ae6e ble.w 8282 <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 85be: ea4f 0348 mov.w r3, r8, lsl #1 - 85c2: 9304 str r3, [sp, #16] + 85a6: ea4f 0348 mov.w r3, r8, lsl #1 + 85aa: 9304 str r3, [sp, #16] map_buf_first += map_w; - 85c4: ea4f 0949 mov.w r9, r9, lsl #1 - 85c8: 9b09 ldr r3, [sp, #36] ; 0x24 - 85ca: ea4f 0b43 mov.w fp, r3, lsl #1 - 85ce: f04f 0800 mov.w r8, #0 + 85ac: ea4f 0949 mov.w r9, r9, lsl #1 + 85b0: 9b09 ldr r3, [sp, #36] ; 0x24 + 85b2: ea4f 0b43 mov.w fp, r3, lsl #1 + 85b6: f04f 0800 mov.w r8, #0 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 85d2: f1ca 0eff rsb lr, sl, #255 ; 0xff - 85d6: e026 b.n 8626 <_lv_blend_map+0x3a6> + 85ba: f1ca 0eff rsb lr, sl, #255 ; 0xff + 85be: e026 b.n 860e <_lv_blend_map+0x3a6> for(y = 0; y < draw_area_h; y++) { - 85d8: 9b08 ldr r3, [sp, #32] - 85da: 2b00 cmp r3, #0 - 85dc: f77f ae5d ble.w 829a <_lv_blend_map+0x1a> + 85c0: 9b08 ldr r3, [sp, #32] + 85c2: 2b00 cmp r3, #0 + 85c4: f77f ae5d ble.w 8282 <_lv_blend_map+0x1a> _lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t)); - 85e0: 9a09 ldr r2, [sp, #36] ; 0x24 - 85e2: 0056 lsls r6, r2, #1 + 85c8: 9a09 ldr r2, [sp, #36] ; 0x24 + 85ca: 0056 lsls r6, r2, #1 disp_buf_first += disp_w; - 85e4: ea4f 0848 mov.w r8, r8, lsl #1 + 85cc: ea4f 0848 mov.w r8, r8, lsl #1 map_buf_first += map_w; - 85e8: ea4f 0949 mov.w r9, r9, lsl #1 - 85ec: 2400 movs r4, #0 + 85d0: ea4f 0949 mov.w r9, r9, lsl #1 + 85d4: 2400 movs r4, #0 _lv_memcpy(disp_buf_first, map_buf_first, draw_area_w * sizeof(lv_color_t)); - 85ee: 4d66 ldr r5, [pc, #408] ; (8788 <_lv_blend_map+0x508>) - 85f0: 469b mov fp, r3 - 85f2: 9f05 ldr r7, [sp, #20] - 85f4: f8dd a018 ldr.w sl, [sp, #24] - 85f8: 4632 mov r2, r6 - 85fa: 4651 mov r1, sl - 85fc: 4638 mov r0, r7 - 85fe: 47a8 blx r5 + 85d6: 4d66 ldr r5, [pc, #408] ; (8770 <_lv_blend_map+0x508>) + 85d8: 469b mov fp, r3 + 85da: 9f05 ldr r7, [sp, #20] + 85dc: f8dd a018 ldr.w sl, [sp, #24] + 85e0: 4632 mov r2, r6 + 85e2: 4651 mov r1, sl + 85e4: 4638 mov r0, r7 + 85e6: 47a8 blx r5 disp_buf_first += disp_w; - 8600: 4447 add r7, r8 + 85e8: 4447 add r7, r8 map_buf_first += map_w; - 8602: 44ca add sl, r9 + 85ea: 44ca add sl, r9 for(y = 0; y < draw_area_h; y++) { - 8604: 3401 adds r4, #1 - 8606: 45a3 cmp fp, r4 - 8608: d1f6 bne.n 85f8 <_lv_blend_map+0x378> - 860a: e646 b.n 829a <_lv_blend_map+0x1a> + 85ec: 3401 adds r4, #1 + 85ee: 45a3 cmp fp, r4 + 85f0: d1f6 bne.n 85e0 <_lv_blend_map+0x378> + 85f2: e646 b.n 8282 <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 860c: 9b05 ldr r3, [sp, #20] - 860e: 9a04 ldr r2, [sp, #16] - 8610: 4413 add r3, r2 - 8612: 9305 str r3, [sp, #20] + 85f4: 9b05 ldr r3, [sp, #20] + 85f6: 9a04 ldr r2, [sp, #16] + 85f8: 4413 add r3, r2 + 85fa: 9305 str r3, [sp, #20] map_buf_first += map_w; - 8614: 9b06 ldr r3, [sp, #24] - 8616: 444b add r3, r9 - 8618: 9306 str r3, [sp, #24] + 85fc: 9b06 ldr r3, [sp, #24] + 85fe: 444b add r3, r9 + 8600: 9306 str r3, [sp, #24] for(y = 0; y < draw_area_h; y++) { - 861a: f108 0801 add.w r8, r8, #1 - 861e: 9b08 ldr r3, [sp, #32] - 8620: 4543 cmp r3, r8 - 8622: f43f ae3a beq.w 829a <_lv_blend_map+0x1a> + 8602: f108 0801 add.w r8, r8, #1 + 8606: 9b08 ldr r3, [sp, #32] + 8608: 4543 cmp r3, r8 + 860a: f43f ae3a beq.w 8282 <_lv_blend_map+0x1a> for(x = 0; x < draw_area_w; x++) { - 8626: 2d00 cmp r5, #0 - 8628: ddf0 ble.n 860c <_lv_blend_map+0x38c> - 862a: 9b06 ldr r3, [sp, #24] - 862c: 461f mov r7, r3 - 862e: 9c05 ldr r4, [sp, #20] - 8630: eb03 0c0b add.w ip, r3, fp - 8634: 787b ldrb r3, [r7, #1] - 8636: 08db lsrs r3, r3, #3 - 8638: 7862 ldrb r2, [r4, #1] - 863a: 08d2 lsrs r2, r2, #3 - 863c: fb0e f202 mul.w r2, lr, r2 - 8640: fb0a 2303 mla r3, sl, r3, r2 - 8644: eb03 2203 add.w r2, r3, r3, lsl #8 - 8648: eb03 13c2 add.w r3, r3, r2, lsl #7 - 864c: f3c3 53c4 ubfx r3, r3, #23, #5 + 860e: 2d00 cmp r5, #0 + 8610: ddf0 ble.n 85f4 <_lv_blend_map+0x38c> + 8612: 9b06 ldr r3, [sp, #24] + 8614: 461f mov r7, r3 + 8616: 9c05 ldr r4, [sp, #20] + 8618: eb03 0c0b add.w ip, r3, fp + 861c: 787b ldrb r3, [r7, #1] + 861e: 08db lsrs r3, r3, #3 + 8620: 7862 ldrb r2, [r4, #1] + 8622: 08d2 lsrs r2, r2, #3 + 8624: fb0e f202 mul.w r2, lr, r2 + 8628: fb0a 2303 mla r3, sl, r3, r2 + 862c: eb03 2203 add.w r2, r3, r3, lsl #8 + 8630: eb03 13c2 add.w r3, r3, r2, lsl #7 + 8634: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8650: 883a ldrh r2, [r7, #0] - 8652: f3c2 1245 ubfx r2, r2, #5, #6 - 8656: 8821 ldrh r1, [r4, #0] - 8658: f3c1 1145 ubfx r1, r1, #5, #6 - 865c: fb0e f101 mul.w r1, lr, r1 - 8660: fb0a 1202 mla r2, sl, r2, r1 - 8664: eb02 2102 add.w r1, r2, r2, lsl #8 - 8668: eb02 12c1 add.w r2, r2, r1, lsl #7 - 866c: f3c2 52c5 ubfx r2, r2, #23, #6 + 8638: 883a ldrh r2, [r7, #0] + 863a: f3c2 1245 ubfx r2, r2, #5, #6 + 863e: 8821 ldrh r1, [r4, #0] + 8640: f3c1 1145 ubfx r1, r1, #5, #6 + 8644: fb0e f101 mul.w r1, lr, r1 + 8648: fb0a 1202 mla r2, sl, r2, r1 + 864c: eb02 2102 add.w r1, r2, r2, lsl #8 + 8650: eb02 12c1 add.w r2, r2, r1, lsl #7 + 8654: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8670: f817 1b02 ldrb.w r1, [r7], #2 - 8674: f001 011f and.w r1, r1, #31 - 8678: 7820 ldrb r0, [r4, #0] - 867a: f000 061f and.w r6, r0, #31 - 867e: fb0e f606 mul.w r6, lr, r6 - 8682: fb0a 6101 mla r1, sl, r1, r6 - 8686: eb01 2601 add.w r6, r1, r1, lsl #8 - 868a: eb01 11c6 add.w r1, r1, r6, lsl #7 - 868e: 0dc9 lsrs r1, r1, #23 + 8658: f817 1b02 ldrb.w r1, [r7], #2 + 865c: f001 011f and.w r1, r1, #31 + 8660: 7820 ldrb r0, [r4, #0] + 8662: f000 061f and.w r6, r0, #31 + 8666: fb0e f606 mul.w r6, lr, r6 + 866a: fb0a 6101 mla r1, sl, r1, r6 + 866e: eb01 2601 add.w r6, r1, r1, lsl #8 + 8672: eb01 11c6 add.w r1, r1, r6, lsl #7 + 8676: 0dc9 lsrs r1, r1, #23 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa); - 8690: f361 0004 bfi r0, r1, #0, #5 - 8694: 7020 strb r0, [r4, #0] - 8696: 8821 ldrh r1, [r4, #0] - 8698: f362 114a bfi r1, r2, #5, #6 - 869c: 8021 strh r1, [r4, #0] - 869e: 0a09 lsrs r1, r1, #8 - 86a0: f363 01c7 bfi r1, r3, #3, #5 - 86a4: 7061 strb r1, [r4, #1] - 86a6: 3402 adds r4, #2 + 8678: f361 0004 bfi r0, r1, #0, #5 + 867c: 7020 strb r0, [r4, #0] + 867e: 8821 ldrh r1, [r4, #0] + 8680: f362 114a bfi r1, r2, #5, #6 + 8684: 8021 strh r1, [r4, #0] + 8686: 0a09 lsrs r1, r1, #8 + 8688: f363 01c7 bfi r1, r3, #3, #5 + 868c: 7061 strb r1, [r4, #1] + 868e: 3402 adds r4, #2 for(x = 0; x < draw_area_w; x++) { - 86a8: 45bc cmp ip, r7 - 86aa: d1c3 bne.n 8634 <_lv_blend_map+0x3b4> - 86ac: e7ae b.n 860c <_lv_blend_map+0x38c> + 8690: 45bc cmp ip, r7 + 8692: d1c3 bne.n 861c <_lv_blend_map+0x3b4> + 8694: e7ae b.n 85f4 <_lv_blend_map+0x38c> int32_t x_end4 = draw_area_w - 4; - 86ae: 9b09 ldr r3, [sp, #36] ; 0x24 - 86b0: 3b04 subs r3, #4 - 86b2: 930a str r3, [sp, #40] ; 0x28 + 8696: 9b09 ldr r3, [sp, #36] ; 0x24 + 8698: 3b04 subs r3, #4 + 869a: 930a str r3, [sp, #40] ; 0x28 for(y = 0; y < draw_area_h; y++) { - 86b4: 9b08 ldr r3, [sp, #32] - 86b6: 2b00 cmp r3, #0 - 86b8: f77f adef ble.w 829a <_lv_blend_map+0x1a> + 869c: 9b08 ldr r3, [sp, #32] + 869e: 2b00 cmp r3, #0 + 86a0: f77f adef ble.w 8282 <_lv_blend_map+0x1a> disp_buf_first += disp_w; - 86bc: ea4f 0348 mov.w r3, r8, lsl #1 - 86c0: 930c str r3, [sp, #48] ; 0x30 + 86a4: ea4f 0348 mov.w r3, r8, lsl #1 + 86a8: 930c str r3, [sp, #48] ; 0x30 map_buf_first += map_w; - 86c2: ea4f 0349 mov.w r3, r9, lsl #1 - 86c6: 930d str r3, [sp, #52] ; 0x34 - 86c8: 2300 movs r3, #0 - 86ca: 9307 str r3, [sp, #28] - 86cc: e365 b.n 8d9a <_lv_blend_map+0xb1a> + 86aa: ea4f 0349 mov.w r3, r9, lsl #1 + 86ae: 930d str r3, [sp, #52] ; 0x34 + 86b0: 2300 movs r3, #0 + 86b2: 9307 str r3, [sp, #28] + 86b4: e365 b.n 8d82 <_lv_blend_map+0xb1a> MAP_NORMAL_MASK_PX(x) - 86ce: f8b8 3000 ldrh.w r3, [r8] - 86d2: f8ae 3000 strh.w r3, [lr] - 86d6: 4663 mov r3, ip + 86b6: f8b8 3000 ldrh.w r3, [r8] + 86ba: f8ae 3000 strh.w r3, [lr] + 86be: 4663 mov r3, ip for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 86d8: 3101 adds r1, #1 - 86da: 428d cmp r5, r1 - 86dc: f000 8347 beq.w 8d6e <_lv_blend_map+0xaee> - 86e0: f108 0802 add.w r8, r8, #2 - 86e4: f10e 0e02 add.w lr, lr, #2 - 86e8: f01c 0f03 tst.w ip, #3 - 86ec: f000 832d beq.w 8d4a <_lv_blend_map+0xaca> + 86c0: 3101 adds r1, #1 + 86c2: 428d cmp r5, r1 + 86c4: f000 8347 beq.w 8d56 <_lv_blend_map+0xaee> + 86c8: f108 0802 add.w r8, r8, #2 + 86cc: f10e 0e02 add.w lr, lr, #2 + 86d0: f01c 0f03 tst.w ip, #3 + 86d4: f000 832d beq.w 8d32 <_lv_blend_map+0xaca> MAP_NORMAL_MASK_PX(x) - 86f0: f81c 4b01 ldrb.w r4, [ip], #1 - 86f4: 2c00 cmp r4, #0 - 86f6: d0ee beq.n 86d6 <_lv_blend_map+0x456> - 86f8: 2cff cmp r4, #255 ; 0xff - 86fa: d0e8 beq.n 86ce <_lv_blend_map+0x44e> + 86d8: f81c 4b01 ldrb.w r4, [ip], #1 + 86dc: 2c00 cmp r4, #0 + 86de: d0ee beq.n 86be <_lv_blend_map+0x456> + 86e0: 2cff cmp r4, #255 ; 0xff + 86e2: d0e8 beq.n 86b6 <_lv_blend_map+0x44e> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 86fc: f1c4 06ff rsb r6, r4, #255 ; 0xff - 8700: f898 3001 ldrb.w r3, [r8, #1] - 8704: 08db lsrs r3, r3, #3 - 8706: f89e 2001 ldrb.w r2, [lr, #1] - 870a: 08d2 lsrs r2, r2, #3 - 870c: fb06 f202 mul.w r2, r6, r2 - 8710: fb04 2303 mla r3, r4, r3, r2 - 8714: eb03 2203 add.w r2, r3, r3, lsl #8 - 8718: eb03 13c2 add.w r3, r3, r2, lsl #7 - 871c: f3c3 53c4 ubfx r3, r3, #23, #5 + 86e4: f1c4 06ff rsb r6, r4, #255 ; 0xff + 86e8: f898 3001 ldrb.w r3, [r8, #1] + 86ec: 08db lsrs r3, r3, #3 + 86ee: f89e 2001 ldrb.w r2, [lr, #1] + 86f2: 08d2 lsrs r2, r2, #3 + 86f4: fb06 f202 mul.w r2, r6, r2 + 86f8: fb04 2303 mla r3, r4, r3, r2 + 86fc: eb03 2203 add.w r2, r3, r3, lsl #8 + 8700: eb03 13c2 add.w r3, r3, r2, lsl #7 + 8704: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8720: f8b8 0000 ldrh.w r0, [r8] - 8724: f3c0 1045 ubfx r0, r0, #5, #6 - 8728: f8be 2000 ldrh.w r2, [lr] - 872c: f3c2 1245 ubfx r2, r2, #5, #6 - 8730: fb06 f202 mul.w r2, r6, r2 - 8734: fb04 2000 mla r0, r4, r0, r2 - 8738: eb00 2200 add.w r2, r0, r0, lsl #8 - 873c: eb00 10c2 add.w r0, r0, r2, lsl #7 - 8740: f3c0 50c5 ubfx r0, r0, #23, #6 + 8708: f8b8 0000 ldrh.w r0, [r8] + 870c: f3c0 1045 ubfx r0, r0, #5, #6 + 8710: f8be 2000 ldrh.w r2, [lr] + 8714: f3c2 1245 ubfx r2, r2, #5, #6 + 8718: fb06 f202 mul.w r2, r6, r2 + 871c: fb04 2000 mla r0, r4, r0, r2 + 8720: eb00 2200 add.w r2, r0, r0, lsl #8 + 8724: eb00 10c2 add.w r0, r0, r2, lsl #7 + 8728: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8744: f898 2000 ldrb.w r2, [r8] - 8748: f002 021f and.w r2, r2, #31 - 874c: f89e 7000 ldrb.w r7, [lr] - 8750: f007 091f and.w r9, r7, #31 - 8754: fb06 f609 mul.w r6, r6, r9 - 8758: fb04 6202 mla r2, r4, r2, r6 - 875c: eb02 2402 add.w r4, r2, r2, lsl #8 - 8760: eb02 12c4 add.w r2, r2, r4, lsl #7 - 8764: 0dd2 lsrs r2, r2, #23 - 8766: 463c mov r4, r7 - 8768: f362 0404 bfi r4, r2, #0, #5 - 876c: f88e 4000 strb.w r4, [lr] - 8770: f8be 2000 ldrh.w r2, [lr] - 8774: f360 124a bfi r2, r0, #5, #6 - 8778: f8ae 2000 strh.w r2, [lr] - 877c: 0a12 lsrs r2, r2, #8 - 877e: f363 02c7 bfi r2, r3, #3, #5 - 8782: f88e 2001 strb.w r2, [lr, #1] - 8786: e7a6 b.n 86d6 <_lv_blend_map+0x456> - 8788: 00012655 .word 0x00012655 + 872c: f898 2000 ldrb.w r2, [r8] + 8730: f002 021f and.w r2, r2, #31 + 8734: f89e 7000 ldrb.w r7, [lr] + 8738: f007 091f and.w r9, r7, #31 + 873c: fb06 f609 mul.w r6, r6, r9 + 8740: fb04 6202 mla r2, r4, r2, r6 + 8744: eb02 2402 add.w r4, r2, r2, lsl #8 + 8748: eb02 12c4 add.w r2, r2, r4, lsl #7 + 874c: 0dd2 lsrs r2, r2, #23 + 874e: 463c mov r4, r7 + 8750: f362 0404 bfi r4, r2, #0, #5 + 8754: f88e 4000 strb.w r4, [lr] + 8758: f8be 2000 ldrh.w r2, [lr] + 875c: f360 124a bfi r2, r0, #5, #6 + 8760: f8ae 2000 strh.w r2, [lr] + 8764: 0a12 lsrs r2, r2, #8 + 8766: f363 02c7 bfi r2, r3, #3, #5 + 876a: f88e 2001 strb.w r2, [lr, #1] + 876e: e7a6 b.n 86be <_lv_blend_map+0x456> + 8770: 0001263d .word 0x0001263d disp_buf_first[x] = map_buf_first[x]; - 878c: f834 5c06 ldrh.w r5, [r4, #-6] - 8790: f820 5c06 strh.w r5, [r0, #-6] + 8774: f834 5c06 ldrh.w r5, [r4, #-6] + 8778: f820 5c06 strh.w r5, [r0, #-6] disp_buf_first[x + 1] = map_buf_first[x + 1]; - 8794: f834 5c04 ldrh.w r5, [r4, #-4] - 8798: f820 5c04 strh.w r5, [r0, #-4] + 877c: f834 5c04 ldrh.w r5, [r4, #-4] + 8780: f820 5c04 strh.w r5, [r0, #-4] disp_buf_first[x + 2] = map_buf_first[x + 2]; - 879c: f834 5c02 ldrh.w r5, [r4, #-2] - 87a0: f820 5c02 strh.w r5, [r0, #-2] + 8784: f834 5c02 ldrh.w r5, [r4, #-2] + 8788: f820 5c02 strh.w r5, [r0, #-2] disp_buf_first[x + 3] = map_buf_first[x + 3]; - 87a4: 8825 ldrh r5, [r4, #0] - 87a6: 8005 strh r5, [r0, #0] + 878c: 8825 ldrh r5, [r4, #0] + 878e: 8005 strh r5, [r0, #0] for(; x < x_end4; x += 4) { - 87a8: 3104 adds r1, #4 - 87aa: 3304 adds r3, #4 - 87ac: 3408 adds r4, #8 - 87ae: 3008 adds r0, #8 - 87b0: 458e cmp lr, r1 - 87b2: f340 8147 ble.w 8a44 <_lv_blend_map+0x7c4> - 87b6: 461a mov r2, r3 + 8790: 3104 adds r1, #4 + 8792: 3304 adds r3, #4 + 8794: 3408 adds r4, #8 + 8796: 3008 adds r0, #8 + 8798: 458e cmp lr, r1 + 879a: f340 8147 ble.w 8a2c <_lv_blend_map+0x7c4> + 879e: 461a mov r2, r3 if(*mask32) { - 87b8: f853 5c04 ldr.w r5, [r3, #-4] - 87bc: 2d00 cmp r5, #0 - 87be: d0f3 beq.n 87a8 <_lv_blend_map+0x528> + 87a0: f853 5c04 ldr.w r5, [r3, #-4] + 87a4: 2d00 cmp r5, #0 + 87a6: d0f3 beq.n 8790 <_lv_blend_map+0x528> if((*mask32) == 0xFFFFFFFF) { - 87c0: f1b5 3fff cmp.w r5, #4294967295 - 87c4: d0e2 beq.n 878c <_lv_blend_map+0x50c> + 87a8: f1b5 3fff cmp.w r5, #4294967295 + 87ac: d0e2 beq.n 8774 <_lv_blend_map+0x50c> MAP_NORMAL_MASK_PX(x) - 87c6: f813 cc04 ldrb.w ip, [r3, #-4] - 87ca: f1bc 0f00 cmp.w ip, #0 - 87ce: d047 beq.n 8860 <_lv_blend_map+0x5e0> - 87d0: f1bc 0fff cmp.w ip, #255 ; 0xff - 87d4: f000 8124 beq.w 8a20 <_lv_blend_map+0x7a0> + 87ae: f813 cc04 ldrb.w ip, [r3, #-4] + 87b2: f1bc 0f00 cmp.w ip, #0 + 87b6: d047 beq.n 8848 <_lv_blend_map+0x5e0> + 87b8: f1bc 0fff cmp.w ip, #255 ; 0xff + 87bc: f000 8124 beq.w 8a08 <_lv_blend_map+0x7a0> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 87d8: f1cc 09ff rsb r9, ip, #255 ; 0xff - 87dc: f814 5c05 ldrb.w r5, [r4, #-5] - 87e0: 08ed lsrs r5, r5, #3 - 87e2: f810 6c05 ldrb.w r6, [r0, #-5] - 87e6: 08f6 lsrs r6, r6, #3 - 87e8: fb09 f606 mul.w r6, r9, r6 - 87ec: fb0c 6505 mla r5, ip, r5, r6 - 87f0: eb05 2605 add.w r6, r5, r5, lsl #8 - 87f4: eb05 15c6 add.w r5, r5, r6, lsl #7 - 87f8: f3c5 55c4 ubfx r5, r5, #23, #5 + 87c0: f1cc 09ff rsb r9, ip, #255 ; 0xff + 87c4: f814 5c05 ldrb.w r5, [r4, #-5] + 87c8: 08ed lsrs r5, r5, #3 + 87ca: f810 6c05 ldrb.w r6, [r0, #-5] + 87ce: 08f6 lsrs r6, r6, #3 + 87d0: fb09 f606 mul.w r6, r9, r6 + 87d4: fb0c 6505 mla r5, ip, r5, r6 + 87d8: eb05 2605 add.w r6, r5, r5, lsl #8 + 87dc: eb05 15c6 add.w r5, r5, r6, lsl #7 + 87e0: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 87fc: f834 6c06 ldrh.w r6, [r4, #-6] - 8800: f3c6 1645 ubfx r6, r6, #5, #6 - 8804: f830 7c06 ldrh.w r7, [r0, #-6] - 8808: f3c7 1745 ubfx r7, r7, #5, #6 - 880c: fb09 f707 mul.w r7, r9, r7 - 8810: fb0c 7606 mla r6, ip, r6, r7 - 8814: eb06 2706 add.w r7, r6, r6, lsl #8 - 8818: eb06 16c7 add.w r6, r6, r7, lsl #7 - 881c: f3c6 56c5 ubfx r6, r6, #23, #6 + 87e4: f834 6c06 ldrh.w r6, [r4, #-6] + 87e8: f3c6 1645 ubfx r6, r6, #5, #6 + 87ec: f830 7c06 ldrh.w r7, [r0, #-6] + 87f0: f3c7 1745 ubfx r7, r7, #5, #6 + 87f4: fb09 f707 mul.w r7, r9, r7 + 87f8: fb0c 7606 mla r6, ip, r6, r7 + 87fc: eb06 2706 add.w r7, r6, r6, lsl #8 + 8800: eb06 16c7 add.w r6, r6, r7, lsl #7 + 8804: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8820: f814 7c06 ldrb.w r7, [r4, #-6] - 8824: f007 071f and.w r7, r7, #31 - 8828: f810 8c06 ldrb.w r8, [r0, #-6] - 882c: f008 0b1f and.w fp, r8, #31 - 8830: fb09 f90b mul.w r9, r9, fp - 8834: fb0c 9707 mla r7, ip, r7, r9 - 8838: eb07 2c07 add.w ip, r7, r7, lsl #8 - 883c: eb07 17cc add.w r7, r7, ip, lsl #7 - 8840: 0dff lsrs r7, r7, #23 - 8842: f367 0804 bfi r8, r7, #0, #5 - 8846: f800 8c06 strb.w r8, [r0, #-6] - 884a: f830 7c06 ldrh.w r7, [r0, #-6] - 884e: f366 174a bfi r7, r6, #5, #6 - 8852: f820 7c06 strh.w r7, [r0, #-6] - 8856: 0a3f lsrs r7, r7, #8 - 8858: f365 07c7 bfi r7, r5, #3, #5 - 885c: f800 7c05 strb.w r7, [r0, #-5] + 8808: f814 7c06 ldrb.w r7, [r4, #-6] + 880c: f007 071f and.w r7, r7, #31 + 8810: f810 8c06 ldrb.w r8, [r0, #-6] + 8814: f008 0b1f and.w fp, r8, #31 + 8818: fb09 f90b mul.w r9, r9, fp + 881c: fb0c 9707 mla r7, ip, r7, r9 + 8820: eb07 2c07 add.w ip, r7, r7, lsl #8 + 8824: eb07 17cc add.w r7, r7, ip, lsl #7 + 8828: 0dff lsrs r7, r7, #23 + 882a: f367 0804 bfi r8, r7, #0, #5 + 882e: f800 8c06 strb.w r8, [r0, #-6] + 8832: f830 7c06 ldrh.w r7, [r0, #-6] + 8836: f366 174a bfi r7, r6, #5, #6 + 883a: f820 7c06 strh.w r7, [r0, #-6] + 883e: 0a3f lsrs r7, r7, #8 + 8840: f365 07c7 bfi r7, r5, #3, #5 + 8844: f800 7c05 strb.w r7, [r0, #-5] MAP_NORMAL_MASK_PX(x + 1) - 8860: f812 cc03 ldrb.w ip, [r2, #-3] - 8864: f1bc 0f00 cmp.w ip, #0 - 8868: d047 beq.n 88fa <_lv_blend_map+0x67a> - 886a: f1bc 0fff cmp.w ip, #255 ; 0xff - 886e: f000 80dc beq.w 8a2a <_lv_blend_map+0x7aa> + 8848: f812 cc03 ldrb.w ip, [r2, #-3] + 884c: f1bc 0f00 cmp.w ip, #0 + 8850: d047 beq.n 88e2 <_lv_blend_map+0x67a> + 8852: f1bc 0fff cmp.w ip, #255 ; 0xff + 8856: f000 80dc beq.w 8a12 <_lv_blend_map+0x7aa> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8872: f1cc 09ff rsb r9, ip, #255 ; 0xff - 8876: f814 5c03 ldrb.w r5, [r4, #-3] - 887a: 08ed lsrs r5, r5, #3 - 887c: f810 6c03 ldrb.w r6, [r0, #-3] - 8880: 08f6 lsrs r6, r6, #3 - 8882: fb09 f606 mul.w r6, r9, r6 - 8886: fb0c 6505 mla r5, ip, r5, r6 - 888a: eb05 2605 add.w r6, r5, r5, lsl #8 - 888e: eb05 15c6 add.w r5, r5, r6, lsl #7 - 8892: f3c5 55c4 ubfx r5, r5, #23, #5 + 885a: f1cc 09ff rsb r9, ip, #255 ; 0xff + 885e: f814 5c03 ldrb.w r5, [r4, #-3] + 8862: 08ed lsrs r5, r5, #3 + 8864: f810 6c03 ldrb.w r6, [r0, #-3] + 8868: 08f6 lsrs r6, r6, #3 + 886a: fb09 f606 mul.w r6, r9, r6 + 886e: fb0c 6505 mla r5, ip, r5, r6 + 8872: eb05 2605 add.w r6, r5, r5, lsl #8 + 8876: eb05 15c6 add.w r5, r5, r6, lsl #7 + 887a: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8896: f834 6c04 ldrh.w r6, [r4, #-4] - 889a: f3c6 1645 ubfx r6, r6, #5, #6 - 889e: f830 7c04 ldrh.w r7, [r0, #-4] - 88a2: f3c7 1745 ubfx r7, r7, #5, #6 - 88a6: fb09 f707 mul.w r7, r9, r7 - 88aa: fb0c 7606 mla r6, ip, r6, r7 - 88ae: eb06 2706 add.w r7, r6, r6, lsl #8 - 88b2: eb06 16c7 add.w r6, r6, r7, lsl #7 - 88b6: f3c6 56c5 ubfx r6, r6, #23, #6 + 887e: f834 6c04 ldrh.w r6, [r4, #-4] + 8882: f3c6 1645 ubfx r6, r6, #5, #6 + 8886: f830 7c04 ldrh.w r7, [r0, #-4] + 888a: f3c7 1745 ubfx r7, r7, #5, #6 + 888e: fb09 f707 mul.w r7, r9, r7 + 8892: fb0c 7606 mla r6, ip, r6, r7 + 8896: eb06 2706 add.w r7, r6, r6, lsl #8 + 889a: eb06 16c7 add.w r6, r6, r7, lsl #7 + 889e: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 88ba: f814 7c04 ldrb.w r7, [r4, #-4] - 88be: f007 071f and.w r7, r7, #31 - 88c2: f810 8c04 ldrb.w r8, [r0, #-4] - 88c6: f008 0b1f and.w fp, r8, #31 - 88ca: fb09 f90b mul.w r9, r9, fp - 88ce: fb0c 9707 mla r7, ip, r7, r9 - 88d2: eb07 2c07 add.w ip, r7, r7, lsl #8 - 88d6: eb07 17cc add.w r7, r7, ip, lsl #7 - 88da: 0dff lsrs r7, r7, #23 - 88dc: f367 0804 bfi r8, r7, #0, #5 - 88e0: f800 8c04 strb.w r8, [r0, #-4] - 88e4: f830 7c04 ldrh.w r7, [r0, #-4] - 88e8: f366 174a bfi r7, r6, #5, #6 - 88ec: f820 7c04 strh.w r7, [r0, #-4] - 88f0: 0a3f lsrs r7, r7, #8 - 88f2: f365 07c7 bfi r7, r5, #3, #5 - 88f6: f800 7c03 strb.w r7, [r0, #-3] + 88a2: f814 7c04 ldrb.w r7, [r4, #-4] + 88a6: f007 071f and.w r7, r7, #31 + 88aa: f810 8c04 ldrb.w r8, [r0, #-4] + 88ae: f008 0b1f and.w fp, r8, #31 + 88b2: fb09 f90b mul.w r9, r9, fp + 88b6: fb0c 9707 mla r7, ip, r7, r9 + 88ba: eb07 2c07 add.w ip, r7, r7, lsl #8 + 88be: eb07 17cc add.w r7, r7, ip, lsl #7 + 88c2: 0dff lsrs r7, r7, #23 + 88c4: f367 0804 bfi r8, r7, #0, #5 + 88c8: f800 8c04 strb.w r8, [r0, #-4] + 88cc: f830 7c04 ldrh.w r7, [r0, #-4] + 88d0: f366 174a bfi r7, r6, #5, #6 + 88d4: f820 7c04 strh.w r7, [r0, #-4] + 88d8: 0a3f lsrs r7, r7, #8 + 88da: f365 07c7 bfi r7, r5, #3, #5 + 88de: f800 7c03 strb.w r7, [r0, #-3] MAP_NORMAL_MASK_PX(x + 2) - 88fa: f812 cc02 ldrb.w ip, [r2, #-2] - 88fe: f1bc 0f00 cmp.w ip, #0 - 8902: d047 beq.n 8994 <_lv_blend_map+0x714> - 8904: f1bc 0fff cmp.w ip, #255 ; 0xff - 8908: f000 8094 beq.w 8a34 <_lv_blend_map+0x7b4> + 88e2: f812 cc02 ldrb.w ip, [r2, #-2] + 88e6: f1bc 0f00 cmp.w ip, #0 + 88ea: d047 beq.n 897c <_lv_blend_map+0x714> + 88ec: f1bc 0fff cmp.w ip, #255 ; 0xff + 88f0: f000 8094 beq.w 8a1c <_lv_blend_map+0x7b4> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 890c: f1cc 09ff rsb r9, ip, #255 ; 0xff - 8910: f814 5c01 ldrb.w r5, [r4, #-1] - 8914: 08ed lsrs r5, r5, #3 - 8916: f810 6c01 ldrb.w r6, [r0, #-1] - 891a: 08f6 lsrs r6, r6, #3 - 891c: fb09 f606 mul.w r6, r9, r6 - 8920: fb0c 6505 mla r5, ip, r5, r6 - 8924: eb05 2605 add.w r6, r5, r5, lsl #8 - 8928: eb05 15c6 add.w r5, r5, r6, lsl #7 - 892c: f3c5 55c4 ubfx r5, r5, #23, #5 + 88f4: f1cc 09ff rsb r9, ip, #255 ; 0xff + 88f8: f814 5c01 ldrb.w r5, [r4, #-1] + 88fc: 08ed lsrs r5, r5, #3 + 88fe: f810 6c01 ldrb.w r6, [r0, #-1] + 8902: 08f6 lsrs r6, r6, #3 + 8904: fb09 f606 mul.w r6, r9, r6 + 8908: fb0c 6505 mla r5, ip, r5, r6 + 890c: eb05 2605 add.w r6, r5, r5, lsl #8 + 8910: eb05 15c6 add.w r5, r5, r6, lsl #7 + 8914: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8930: f834 6c02 ldrh.w r6, [r4, #-2] - 8934: f3c6 1645 ubfx r6, r6, #5, #6 - 8938: f830 7c02 ldrh.w r7, [r0, #-2] - 893c: f3c7 1745 ubfx r7, r7, #5, #6 - 8940: fb09 f707 mul.w r7, r9, r7 - 8944: fb0c 7606 mla r6, ip, r6, r7 - 8948: eb06 2706 add.w r7, r6, r6, lsl #8 - 894c: eb06 16c7 add.w r6, r6, r7, lsl #7 - 8950: f3c6 56c5 ubfx r6, r6, #23, #6 + 8918: f834 6c02 ldrh.w r6, [r4, #-2] + 891c: f3c6 1645 ubfx r6, r6, #5, #6 + 8920: f830 7c02 ldrh.w r7, [r0, #-2] + 8924: f3c7 1745 ubfx r7, r7, #5, #6 + 8928: fb09 f707 mul.w r7, r9, r7 + 892c: fb0c 7606 mla r6, ip, r6, r7 + 8930: eb06 2706 add.w r7, r6, r6, lsl #8 + 8934: eb06 16c7 add.w r6, r6, r7, lsl #7 + 8938: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8954: f814 7c02 ldrb.w r7, [r4, #-2] - 8958: f007 071f and.w r7, r7, #31 - 895c: f810 8c02 ldrb.w r8, [r0, #-2] - 8960: f008 0b1f and.w fp, r8, #31 - 8964: fb09 f90b mul.w r9, r9, fp - 8968: fb0c 9707 mla r7, ip, r7, r9 - 896c: eb07 2c07 add.w ip, r7, r7, lsl #8 - 8970: eb07 17cc add.w r7, r7, ip, lsl #7 - 8974: 0dff lsrs r7, r7, #23 - 8976: f367 0804 bfi r8, r7, #0, #5 - 897a: f800 8c02 strb.w r8, [r0, #-2] - 897e: f830 7c02 ldrh.w r7, [r0, #-2] - 8982: f366 174a bfi r7, r6, #5, #6 - 8986: f820 7c02 strh.w r7, [r0, #-2] - 898a: 0a3f lsrs r7, r7, #8 - 898c: f365 07c7 bfi r7, r5, #3, #5 - 8990: f800 7c01 strb.w r7, [r0, #-1] + 893c: f814 7c02 ldrb.w r7, [r4, #-2] + 8940: f007 071f and.w r7, r7, #31 + 8944: f810 8c02 ldrb.w r8, [r0, #-2] + 8948: f008 0b1f and.w fp, r8, #31 + 894c: fb09 f90b mul.w r9, r9, fp + 8950: fb0c 9707 mla r7, ip, r7, r9 + 8954: eb07 2c07 add.w ip, r7, r7, lsl #8 + 8958: eb07 17cc add.w r7, r7, ip, lsl #7 + 895c: 0dff lsrs r7, r7, #23 + 895e: f367 0804 bfi r8, r7, #0, #5 + 8962: f800 8c02 strb.w r8, [r0, #-2] + 8966: f830 7c02 ldrh.w r7, [r0, #-2] + 896a: f366 174a bfi r7, r6, #5, #6 + 896e: f820 7c02 strh.w r7, [r0, #-2] + 8972: 0a3f lsrs r7, r7, #8 + 8974: f365 07c7 bfi r7, r5, #3, #5 + 8978: f800 7c01 strb.w r7, [r0, #-1] MAP_NORMAL_MASK_PX(x + 3) - 8994: f812 8c01 ldrb.w r8, [r2, #-1] - 8998: f1b8 0f00 cmp.w r8, #0 - 899c: f43f af04 beq.w 87a8 <_lv_blend_map+0x528> - 89a0: f1b8 0fff cmp.w r8, #255 ; 0xff - 89a4: d04b beq.n 8a3e <_lv_blend_map+0x7be> + 897c: f812 8c01 ldrb.w r8, [r2, #-1] + 8980: f1b8 0f00 cmp.w r8, #0 + 8984: f43f af04 beq.w 8790 <_lv_blend_map+0x528> + 8988: f1b8 0fff cmp.w r8, #255 ; 0xff + 898c: d04b beq.n 8a26 <_lv_blend_map+0x7be> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 89a6: f1c8 09ff rsb r9, r8, #255 ; 0xff - 89aa: 7865 ldrb r5, [r4, #1] - 89ac: 08ed lsrs r5, r5, #3 - 89ae: 7846 ldrb r6, [r0, #1] - 89b0: 08f6 lsrs r6, r6, #3 - 89b2: fb09 f606 mul.w r6, r9, r6 - 89b6: fb08 6505 mla r5, r8, r5, r6 - 89ba: eb05 2605 add.w r6, r5, r5, lsl #8 - 89be: eb05 15c6 add.w r5, r5, r6, lsl #7 - 89c2: f3c5 55c4 ubfx r5, r5, #23, #5 + 898e: f1c8 09ff rsb r9, r8, #255 ; 0xff + 8992: 7865 ldrb r5, [r4, #1] + 8994: 08ed lsrs r5, r5, #3 + 8996: 7846 ldrb r6, [r0, #1] + 8998: 08f6 lsrs r6, r6, #3 + 899a: fb09 f606 mul.w r6, r9, r6 + 899e: fb08 6505 mla r5, r8, r5, r6 + 89a2: eb05 2605 add.w r6, r5, r5, lsl #8 + 89a6: eb05 15c6 add.w r5, r5, r6, lsl #7 + 89aa: f3c5 55c4 ubfx r5, r5, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 89c6: 8826 ldrh r6, [r4, #0] - 89c8: f3c6 1645 ubfx r6, r6, #5, #6 - 89cc: 8807 ldrh r7, [r0, #0] - 89ce: f3c7 1745 ubfx r7, r7, #5, #6 - 89d2: fb09 f707 mul.w r7, r9, r7 - 89d6: fb08 7606 mla r6, r8, r6, r7 - 89da: eb06 2706 add.w r7, r6, r6, lsl #8 - 89de: eb06 16c7 add.w r6, r6, r7, lsl #7 - 89e2: f3c6 56c5 ubfx r6, r6, #23, #6 + 89ae: 8826 ldrh r6, [r4, #0] + 89b0: f3c6 1645 ubfx r6, r6, #5, #6 + 89b4: 8807 ldrh r7, [r0, #0] + 89b6: f3c7 1745 ubfx r7, r7, #5, #6 + 89ba: fb09 f707 mul.w r7, r9, r7 + 89be: fb08 7606 mla r6, r8, r6, r7 + 89c2: eb06 2706 add.w r7, r6, r6, lsl #8 + 89c6: eb06 16c7 add.w r6, r6, r7, lsl #7 + 89ca: f3c6 56c5 ubfx r6, r6, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 89e6: 7827 ldrb r7, [r4, #0] - 89e8: f007 071f and.w r7, r7, #31 - 89ec: f890 c000 ldrb.w ip, [r0] - 89f0: f00c 0a1f and.w sl, ip, #31 - 89f4: fb09 f90a mul.w r9, r9, sl - 89f8: fb08 9707 mla r7, r8, r7, r9 - 89fc: eb07 2807 add.w r8, r7, r7, lsl #8 - 8a00: eb07 17c8 add.w r7, r7, r8, lsl #7 - 8a04: 0dff lsrs r7, r7, #23 - 8a06: f367 0c04 bfi ip, r7, #0, #5 - 8a0a: f880 c000 strb.w ip, [r0] - 8a0e: 8807 ldrh r7, [r0, #0] - 8a10: f366 174a bfi r7, r6, #5, #6 - 8a14: 8007 strh r7, [r0, #0] - 8a16: 0a3f lsrs r7, r7, #8 - 8a18: f365 07c7 bfi r7, r5, #3, #5 - 8a1c: 7047 strb r7, [r0, #1] - 8a1e: e6c3 b.n 87a8 <_lv_blend_map+0x528> + 89ce: 7827 ldrb r7, [r4, #0] + 89d0: f007 071f and.w r7, r7, #31 + 89d4: f890 c000 ldrb.w ip, [r0] + 89d8: f00c 0a1f and.w sl, ip, #31 + 89dc: fb09 f90a mul.w r9, r9, sl + 89e0: fb08 9707 mla r7, r8, r7, r9 + 89e4: eb07 2807 add.w r8, r7, r7, lsl #8 + 89e8: eb07 17c8 add.w r7, r7, r8, lsl #7 + 89ec: 0dff lsrs r7, r7, #23 + 89ee: f367 0c04 bfi ip, r7, #0, #5 + 89f2: f880 c000 strb.w ip, [r0] + 89f6: 8807 ldrh r7, [r0, #0] + 89f8: f366 174a bfi r7, r6, #5, #6 + 89fc: 8007 strh r7, [r0, #0] + 89fe: 0a3f lsrs r7, r7, #8 + 8a00: f365 07c7 bfi r7, r5, #3, #5 + 8a04: 7047 strb r7, [r0, #1] + 8a06: e6c3 b.n 8790 <_lv_blend_map+0x528> MAP_NORMAL_MASK_PX(x) - 8a20: f834 5c06 ldrh.w r5, [r4, #-6] - 8a24: f820 5c06 strh.w r5, [r0, #-6] - 8a28: e71a b.n 8860 <_lv_blend_map+0x5e0> + 8a08: f834 5c06 ldrh.w r5, [r4, #-6] + 8a0c: f820 5c06 strh.w r5, [r0, #-6] + 8a10: e71a b.n 8848 <_lv_blend_map+0x5e0> MAP_NORMAL_MASK_PX(x + 1) - 8a2a: f834 5c04 ldrh.w r5, [r4, #-4] - 8a2e: f820 5c04 strh.w r5, [r0, #-4] - 8a32: e762 b.n 88fa <_lv_blend_map+0x67a> + 8a12: f834 5c04 ldrh.w r5, [r4, #-4] + 8a16: f820 5c04 strh.w r5, [r0, #-4] + 8a1a: e762 b.n 88e2 <_lv_blend_map+0x67a> MAP_NORMAL_MASK_PX(x + 2) - 8a34: f834 5c02 ldrh.w r5, [r4, #-2] - 8a38: f820 5c02 strh.w r5, [r0, #-2] - 8a3c: e7aa b.n 8994 <_lv_blend_map+0x714> + 8a1c: f834 5c02 ldrh.w r5, [r4, #-2] + 8a20: f820 5c02 strh.w r5, [r0, #-2] + 8a24: e7aa b.n 897c <_lv_blend_map+0x714> MAP_NORMAL_MASK_PX(x + 3) - 8a3e: 8825 ldrh r5, [r4, #0] - 8a40: 8005 strh r5, [r0, #0] - 8a42: e6b1 b.n 87a8 <_lv_blend_map+0x528> - 8a44: 9d0b ldr r5, [sp, #44] ; 0x2c + 8a26: 8825 ldrh r5, [r4, #0] + 8a28: 8005 strh r5, [r0, #0] + 8a2a: e6b1 b.n 8790 <_lv_blend_map+0x528> + 8a2c: 9d0b ldr r5, [sp, #44] ; 0x2c for(; x < draw_area_w ; x++) { - 8a46: 428d cmp r5, r1 - 8a48: f340 8194 ble.w 8d74 <_lv_blend_map+0xaf4> - 8a4c: 1e56 subs r6, r2, #1 - 8a4e: ea4f 0c41 mov.w ip, r1, lsl #1 - 8a52: 9b06 ldr r3, [sp, #24] - 8a54: eb03 080c add.w r8, r3, ip - 8a58: 9b05 ldr r3, [sp, #20] - 8a5a: 449c add ip, r3 - 8a5c: e00b b.n 8a76 <_lv_blend_map+0x7f6> + 8a2e: 428d cmp r5, r1 + 8a30: f340 8194 ble.w 8d5c <_lv_blend_map+0xaf4> + 8a34: 1e56 subs r6, r2, #1 + 8a36: ea4f 0c41 mov.w ip, r1, lsl #1 + 8a3a: 9b06 ldr r3, [sp, #24] + 8a3c: eb03 080c add.w r8, r3, ip + 8a40: 9b05 ldr r3, [sp, #20] + 8a42: 449c add ip, r3 + 8a44: e00b b.n 8a5e <_lv_blend_map+0x7f6> MAP_NORMAL_MASK_PX(x) - 8a5e: f8b8 3000 ldrh.w r3, [r8] - 8a62: f8ac 3000 strh.w r3, [ip] + 8a46: f8b8 3000 ldrh.w r3, [r8] + 8a4a: f8ac 3000 strh.w r3, [ip] for(; x < draw_area_w ; x++) { - 8a66: 3101 adds r1, #1 - 8a68: f108 0802 add.w r8, r8, #2 - 8a6c: f10c 0c02 add.w ip, ip, #2 - 8a70: 428d cmp r5, r1 - 8a72: f340 817f ble.w 8d74 <_lv_blend_map+0xaf4> + 8a4e: 3101 adds r1, #1 + 8a50: f108 0802 add.w r8, r8, #2 + 8a54: f10c 0c02 add.w ip, ip, #2 + 8a58: 428d cmp r5, r1 + 8a5a: f340 817f ble.w 8d5c <_lv_blend_map+0xaf4> MAP_NORMAL_MASK_PX(x) - 8a76: f816 4f01 ldrb.w r4, [r6, #1]! - 8a7a: 2c00 cmp r4, #0 - 8a7c: d0f3 beq.n 8a66 <_lv_blend_map+0x7e6> - 8a7e: 2cff cmp r4, #255 ; 0xff - 8a80: d0ed beq.n 8a5e <_lv_blend_map+0x7de> + 8a5e: f816 4f01 ldrb.w r4, [r6, #1]! + 8a62: 2c00 cmp r4, #0 + 8a64: d0f3 beq.n 8a4e <_lv_blend_map+0x7e6> + 8a66: 2cff cmp r4, #255 ; 0xff + 8a68: d0ed beq.n 8a46 <_lv_blend_map+0x7de> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8a82: f1c4 07ff rsb r7, r4, #255 ; 0xff - 8a86: f898 3001 ldrb.w r3, [r8, #1] - 8a8a: 08db lsrs r3, r3, #3 - 8a8c: f89c 2001 ldrb.w r2, [ip, #1] - 8a90: 08d2 lsrs r2, r2, #3 - 8a92: fb07 f202 mul.w r2, r7, r2 - 8a96: fb04 2303 mla r3, r4, r3, r2 - 8a9a: eb03 2203 add.w r2, r3, r3, lsl #8 - 8a9e: eb03 13c2 add.w r3, r3, r2, lsl #7 - 8aa2: f3c3 53c4 ubfx r3, r3, #23, #5 + 8a6a: f1c4 07ff rsb r7, r4, #255 ; 0xff + 8a6e: f898 3001 ldrb.w r3, [r8, #1] + 8a72: 08db lsrs r3, r3, #3 + 8a74: f89c 2001 ldrb.w r2, [ip, #1] + 8a78: 08d2 lsrs r2, r2, #3 + 8a7a: fb07 f202 mul.w r2, r7, r2 + 8a7e: fb04 2303 mla r3, r4, r3, r2 + 8a82: eb03 2203 add.w r2, r3, r3, lsl #8 + 8a86: eb03 13c2 add.w r3, r3, r2, lsl #7 + 8a8a: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8aa6: f8b8 0000 ldrh.w r0, [r8] - 8aaa: f3c0 1045 ubfx r0, r0, #5, #6 - 8aae: f8bc 2000 ldrh.w r2, [ip] - 8ab2: f3c2 1245 ubfx r2, r2, #5, #6 - 8ab6: fb07 f202 mul.w r2, r7, r2 - 8aba: fb04 2000 mla r0, r4, r0, r2 - 8abe: eb00 2200 add.w r2, r0, r0, lsl #8 - 8ac2: eb00 10c2 add.w r0, r0, r2, lsl #7 - 8ac6: f3c0 50c5 ubfx r0, r0, #23, #6 + 8a8e: f8b8 0000 ldrh.w r0, [r8] + 8a92: f3c0 1045 ubfx r0, r0, #5, #6 + 8a96: f8bc 2000 ldrh.w r2, [ip] + 8a9a: f3c2 1245 ubfx r2, r2, #5, #6 + 8a9e: fb07 f202 mul.w r2, r7, r2 + 8aa2: fb04 2000 mla r0, r4, r0, r2 + 8aa6: eb00 2200 add.w r2, r0, r0, lsl #8 + 8aaa: eb00 10c2 add.w r0, r0, r2, lsl #7 + 8aae: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8aca: f898 2000 ldrb.w r2, [r8] - 8ace: f002 021f and.w r2, r2, #31 - 8ad2: f89c e000 ldrb.w lr, [ip] - 8ad6: f00e 091f and.w r9, lr, #31 - 8ada: fb07 f709 mul.w r7, r7, r9 - 8ade: fb04 7202 mla r2, r4, r2, r7 - 8ae2: eb02 2402 add.w r4, r2, r2, lsl #8 - 8ae6: eb02 12c4 add.w r2, r2, r4, lsl #7 - 8aea: 0dd2 lsrs r2, r2, #23 - 8aec: 4674 mov r4, lr - 8aee: f362 0404 bfi r4, r2, #0, #5 - 8af2: f88c 4000 strb.w r4, [ip] - 8af6: f8bc 2000 ldrh.w r2, [ip] - 8afa: f360 124a bfi r2, r0, #5, #6 - 8afe: f8ac 2000 strh.w r2, [ip] - 8b02: 0a12 lsrs r2, r2, #8 - 8b04: f363 02c7 bfi r2, r3, #3, #5 - 8b08: f88c 2001 strb.w r2, [ip, #1] - 8b0c: e7ab b.n 8a66 <_lv_blend_map+0x7e6> - 8b0e: 3702 adds r7, #2 - 8b10: 3602 adds r6, #2 + 8ab2: f898 2000 ldrb.w r2, [r8] + 8ab6: f002 021f and.w r2, r2, #31 + 8aba: f89c e000 ldrb.w lr, [ip] + 8abe: f00e 091f and.w r9, lr, #31 + 8ac2: fb07 f709 mul.w r7, r7, r9 + 8ac6: fb04 7202 mla r2, r4, r2, r7 + 8aca: eb02 2402 add.w r4, r2, r2, lsl #8 + 8ace: eb02 12c4 add.w r2, r2, r4, lsl #7 + 8ad2: 0dd2 lsrs r2, r2, #23 + 8ad4: 4674 mov r4, lr + 8ad6: f362 0404 bfi r4, r2, #0, #5 + 8ada: f88c 4000 strb.w r4, [ip] + 8ade: f8bc 2000 ldrh.w r2, [ip] + 8ae2: f360 124a bfi r2, r0, #5, #6 + 8ae6: f8ac 2000 strh.w r2, [ip] + 8aea: 0a12 lsrs r2, r2, #8 + 8aec: f363 02c7 bfi r2, r3, #3, #5 + 8af0: f88c 2001 strb.w r2, [ip, #1] + 8af4: e7ab b.n 8a4e <_lv_blend_map+0x7e6> + 8af6: 3702 adds r7, #2 + 8af8: 3602 adds r6, #2 for(x = 0; x < draw_area_w; x++) { - 8b12: 4547 cmp r7, r8 - 8b14: d045 beq.n 8ba2 <_lv_blend_map+0x922> + 8afa: 4547 cmp r7, r8 + 8afc: d045 beq.n 8b8a <_lv_blend_map+0x922> if(mask[x]) { - 8b16: f81c 1f01 ldrb.w r1, [ip, #1]! - 8b1a: 2900 cmp r1, #0 - 8b1c: d0f7 beq.n 8b0e <_lv_blend_map+0x88e> + 8afe: f81c 1f01 ldrb.w r1, [ip, #1]! + 8b02: 2900 cmp r1, #0 + 8b04: d0f7 beq.n 8af6 <_lv_blend_map+0x88e> lv_opa_t opa_tmp = mask[x] >= LV_OPA_MAX ? opa : ((opa * mask[x]) >> 8); - 8b1e: 29f9 cmp r1, #249 ; 0xf9 - 8b20: bf9a itte ls - 8b22: fb01 f10a mulls.w r1, r1, sl - 8b26: f3c1 2407 ubfxls r4, r1, #8, #8 - 8b2a: 9c07 ldrhi r4, [sp, #28] + 8b06: 29f9 cmp r1, #249 ; 0xf9 + 8b08: bf9a itte ls + 8b0a: fb01 f10a mulls.w r1, r1, sl + 8b0e: f3c1 2407 ubfxls r4, r1, #8, #8 + 8b12: 9c07 ldrhi r4, [sp, #28] LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 8b2c: f1c4 05ff rsb r5, r4, #255 ; 0xff - 8b30: 787b ldrb r3, [r7, #1] - 8b32: 08db lsrs r3, r3, #3 - 8b34: 7872 ldrb r2, [r6, #1] - 8b36: 08d2 lsrs r2, r2, #3 - 8b38: fb05 f202 mul.w r2, r5, r2 - 8b3c: fb04 2303 mla r3, r4, r3, r2 - 8b40: eb03 2203 add.w r2, r3, r3, lsl #8 - 8b44: eb03 13c2 add.w r3, r3, r2, lsl #7 - 8b48: f3c3 53c4 ubfx r3, r3, #23, #5 + 8b14: f1c4 05ff rsb r5, r4, #255 ; 0xff + 8b18: 787b ldrb r3, [r7, #1] + 8b1a: 08db lsrs r3, r3, #3 + 8b1c: 7872 ldrb r2, [r6, #1] + 8b1e: 08d2 lsrs r2, r2, #3 + 8b20: fb05 f202 mul.w r2, r5, r2 + 8b24: fb04 2303 mla r3, r4, r3, r2 + 8b28: eb03 2203 add.w r2, r3, r3, lsl #8 + 8b2c: eb03 13c2 add.w r3, r3, r2, lsl #7 + 8b30: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 8b4c: 883a ldrh r2, [r7, #0] - 8b4e: f3c2 1245 ubfx r2, r2, #5, #6 - 8b52: 8831 ldrh r1, [r6, #0] - 8b54: f3c1 1145 ubfx r1, r1, #5, #6 - 8b58: fb05 f101 mul.w r1, r5, r1 - 8b5c: fb04 1202 mla r2, r4, r2, r1 - 8b60: eb02 2102 add.w r1, r2, r2, lsl #8 - 8b64: eb02 12c1 add.w r2, r2, r1, lsl #7 - 8b68: f3c2 52c5 ubfx r2, r2, #23, #6 + 8b34: 883a ldrh r2, [r7, #0] + 8b36: f3c2 1245 ubfx r2, r2, #5, #6 + 8b3a: 8831 ldrh r1, [r6, #0] + 8b3c: f3c1 1145 ubfx r1, r1, #5, #6 + 8b40: fb05 f101 mul.w r1, r5, r1 + 8b44: fb04 1202 mla r2, r4, r2, r1 + 8b48: eb02 2102 add.w r1, r2, r2, lsl #8 + 8b4c: eb02 12c1 add.w r2, r2, r1, lsl #7 + 8b50: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 8b6c: 7839 ldrb r1, [r7, #0] - 8b6e: f001 011f and.w r1, r1, #31 - 8b72: 7830 ldrb r0, [r6, #0] - 8b74: f000 0e1f and.w lr, r0, #31 - 8b78: fb05 f50e mul.w r5, r5, lr - 8b7c: fb04 5101 mla r1, r4, r1, r5 - 8b80: eb01 2401 add.w r4, r1, r1, lsl #8 - 8b84: eb01 11c4 add.w r1, r1, r4, lsl #7 - 8b88: 0dc9 lsrs r1, r1, #23 + 8b54: 7839 ldrb r1, [r7, #0] + 8b56: f001 011f and.w r1, r1, #31 + 8b5a: 7830 ldrb r0, [r6, #0] + 8b5c: f000 0e1f and.w lr, r0, #31 + 8b60: fb05 f50e mul.w r5, r5, lr + 8b64: fb04 5101 mla r1, r4, r1, r5 + 8b68: eb01 2401 add.w r4, r1, r1, lsl #8 + 8b6c: eb01 11c4 add.w r1, r1, r4, lsl #7 + 8b70: 0dc9 lsrs r1, r1, #23 disp_buf_first[x] = lv_color_mix(map_buf_first[x], disp_buf_first[x], opa_tmp); - 8b8a: f361 0004 bfi r0, r1, #0, #5 - 8b8e: 7030 strb r0, [r6, #0] - 8b90: 8831 ldrh r1, [r6, #0] - 8b92: f362 114a bfi r1, r2, #5, #6 - 8b96: 8031 strh r1, [r6, #0] - 8b98: 0a09 lsrs r1, r1, #8 - 8b9a: f363 01c7 bfi r1, r3, #3, #5 - 8b9e: 7071 strb r1, [r6, #1] - 8ba0: e7b5 b.n 8b0e <_lv_blend_map+0x88e> + 8b72: f361 0004 bfi r0, r1, #0, #5 + 8b76: 7030 strb r0, [r6, #0] + 8b78: 8831 ldrh r1, [r6, #0] + 8b7a: f362 114a bfi r1, r2, #5, #6 + 8b7e: 8031 strh r1, [r6, #0] + 8b80: 0a09 lsrs r1, r1, #8 + 8b82: f363 01c7 bfi r1, r3, #3, #5 + 8b86: 7071 strb r1, [r6, #1] + 8b88: e7b5 b.n 8af6 <_lv_blend_map+0x88e> disp_buf_first += disp_w; - 8ba2: 9b05 ldr r3, [sp, #20] - 8ba4: 9a0a ldr r2, [sp, #40] ; 0x28 - 8ba6: 4413 add r3, r2 - 8ba8: 9305 str r3, [sp, #20] + 8b8a: 9b05 ldr r3, [sp, #20] + 8b8c: 9a0a ldr r2, [sp, #40] ; 0x28 + 8b8e: 4413 add r3, r2 + 8b90: 9305 str r3, [sp, #20] map_buf_first += map_w; - 8baa: 9b0b ldr r3, [sp, #44] ; 0x2c - 8bac: 4499 add r9, r3 + 8b92: 9b0b ldr r3, [sp, #44] ; 0x2c + 8b94: 4499 add r9, r3 for(y = 0; y < draw_area_h; y++) { - 8bae: f10b 0b01 add.w fp, fp, #1 - 8bb2: 9b04 ldr r3, [sp, #16] - 8bb4: 9a09 ldr r2, [sp, #36] ; 0x24 - 8bb6: 4413 add r3, r2 - 8bb8: 9304 str r3, [sp, #16] - 8bba: 9b08 ldr r3, [sp, #32] - 8bbc: 455b cmp r3, fp - 8bbe: f43f ab6c beq.w 829a <_lv_blend_map+0x1a> + 8b96: f10b 0b01 add.w fp, fp, #1 + 8b9a: 9b04 ldr r3, [sp, #16] + 8b9c: 9a09 ldr r2, [sp, #36] ; 0x24 + 8b9e: 4413 add r3, r2 + 8ba0: 9304 str r3, [sp, #16] + 8ba2: 9b08 ldr r3, [sp, #32] + 8ba4: 455b cmp r3, fp + 8ba6: f43f ab6c beq.w 8282 <_lv_blend_map+0x1a> for(x = 0; x < draw_area_w; x++) { - 8bc2: 9b0c ldr r3, [sp, #48] ; 0x30 - 8bc4: 2b00 cmp r3, #0 - 8bc6: ddec ble.n 8ba2 <_lv_blend_map+0x922> - 8bc8: 464f mov r7, r9 - 8bca: 9e05 ldr r6, [sp, #20] - 8bcc: 9b0d ldr r3, [sp, #52] ; 0x34 - 8bce: eb09 0803 add.w r8, r9, r3 - 8bd2: f8dd c010 ldr.w ip, [sp, #16] - 8bd6: e79e b.n 8b16 <_lv_blend_map+0x896> + 8baa: 9b0c ldr r3, [sp, #48] ; 0x30 + 8bac: 2b00 cmp r3, #0 + 8bae: ddec ble.n 8b8a <_lv_blend_map+0x922> + 8bb0: 464f mov r7, r9 + 8bb2: 9e05 ldr r6, [sp, #20] + 8bb4: 9b0d ldr r3, [sp, #52] ; 0x34 + 8bb6: eb09 0803 add.w r8, r9, r3 + 8bba: f8dd c010 ldr.w ip, [sp, #16] + 8bbe: e79e b.n 8afe <_lv_blend_map+0x896> switch(mode) { - 8bd8: 2d01 cmp r5, #1 - 8bda: d049 beq.n 8c70 <_lv_blend_map+0x9f0> - 8bdc: 2d02 cmp r5, #2 - 8bde: d13c bne.n 8c5a <_lv_blend_map+0x9da> + 8bc0: 2d01 cmp r5, #1 + 8bc2: d049 beq.n 8c58 <_lv_blend_map+0x9f0> + 8bc4: 2d02 cmp r5, #2 + 8bc6: d13c bne.n 8c42 <_lv_blend_map+0x9da> blend_fp = color_blend_true_color_subtractive; - 8be0: f8df 81e0 ldr.w r8, [pc, #480] ; 8dc4 <_lv_blend_map+0xb44> - 8be4: f9b6 3010 ldrsh.w r3, [r6, #16] - 8be8: 9309 str r3, [sp, #36] ; 0x24 - 8bea: 8ab0 ldrh r0, [r6, #20] - 8bec: 3001 adds r0, #1 - 8bee: 1ac0 subs r0, r0, r3 - 8bf0: b200 sxth r0, r0 - 8bf2: f9b7 2000 ldrsh.w r2, [r7] - 8bf6: 88bb ldrh r3, [r7, #4] - 8bf8: 3301 adds r3, #1 - 8bfa: 1a9b subs r3, r3, r2 - 8bfc: b21d sxth r5, r3 + 8bc8: f8df 81e0 ldr.w r8, [pc, #480] ; 8dac <_lv_blend_map+0xb44> + 8bcc: f9b6 3010 ldrsh.w r3, [r6, #16] + 8bd0: 9309 str r3, [sp, #36] ; 0x24 + 8bd2: 8ab0 ldrh r0, [r6, #20] + 8bd4: 3001 adds r0, #1 + 8bd6: 1ac0 subs r0, r0, r3 + 8bd8: b200 sxth r0, r0 + 8bda: f9b7 2000 ldrsh.w r2, [r7] + 8bde: 88bb ldrh r3, [r7, #4] + 8be0: 3301 adds r3, #1 + 8be2: 1a9b subs r3, r3, r2 + 8be4: b21d sxth r5, r3 lv_color_t * disp_buf_tmp = disp_buf + disp_w * draw_area->y1; - 8bfe: 46f1 mov r9, lr - 8c00: fb0e fb00 mul.w fp, lr, r0 - 8c04: 9b05 ldr r3, [sp, #20] - 8c06: eb03 0b4b add.w fp, r3, fp, lsl #1 + 8be6: 46f1 mov r9, lr + 8be8: fb0e fb00 mul.w fp, lr, r0 + 8bec: 9b05 ldr r3, [sp, #20] + 8bee: eb03 0b4b add.w fp, r3, fp, lsl #1 const lv_color_t * map_buf_tmp = map_buf + map_w * (draw_area->y1 - (map_area->y1 - disp_area->y1)); - 8c0a: f9b7 3002 ldrsh.w r3, [r7, #2] - 8c0e: f9b6 6012 ldrsh.w r6, [r6, #18] - 8c12: 1b9f subs r7, r3, r6 - 8c14: ebae 0707 sub.w r7, lr, r7 - 8c18: fb05 f707 mul.w r7, r5, r7 - 8c1c: 9b07 ldr r3, [sp, #28] - 8c1e: eb03 0747 add.w r7, r3, r7, lsl #1 + 8bf2: f9b7 3002 ldrsh.w r3, [r7, #2] + 8bf6: f9b6 6012 ldrsh.w r6, [r6, #18] + 8bfa: 1b9f subs r7, r3, r6 + 8bfc: ebae 0707 sub.w r7, lr, r7 + 8c00: fb05 f707 mul.w r7, r5, r7 + 8c04: 9b07 ldr r3, [sp, #28] + 8c06: eb03 0747 add.w r7, r3, r7, lsl #1 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) { - 8c22: 2c01 cmp r4, #1 - 8c24: d027 beq.n 8c76 <_lv_blend_map+0x9f6> + 8c0a: 2c01 cmp r4, #1 + 8c0c: d027 beq.n 8c5e <_lv_blend_map+0x9f6> const lv_opa_t * mask_tmp = mask - draw_area->x1; - 8c26: 9b04 ldr r3, [sp, #16] - 8c28: eba3 030c sub.w r3, r3, ip - 8c2c: 461a mov r2, r3 + 8c0e: 9b04 ldr r3, [sp, #16] + 8c10: eba3 030c sub.w r3, r3, ip + 8c14: 461a mov r2, r3 map_buf_tmp -= draw_area->x1; - 8c2e: eba7 034c sub.w r3, r7, ip, lsl #1 - 8c32: 9304 str r3, [sp, #16] + 8c16: eba7 034c sub.w r3, r7, ip, lsl #1 + 8c1a: 9304 str r3, [sp, #16] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8c34: 9b08 ldr r3, [sp, #32] - 8c36: 459e cmp lr, r3 - 8c38: f73f ab2f bgt.w 829a <_lv_blend_map+0x1a> + 8c1c: 9b08 ldr r3, [sp, #32] + 8c1e: 459e cmp lr, r3 + 8c20: f73f ab2f bgt.w 8282 <_lv_blend_map+0x1a> disp_buf_tmp += disp_w; - 8c3c: 0043 lsls r3, r0, #1 - 8c3e: 9307 str r3, [sp, #28] + 8c24: 0043 lsls r3, r0, #1 + 8c26: 9307 str r3, [sp, #28] map_buf_tmp += map_w; - 8c40: 006b lsls r3, r5, #1 - 8c42: 9308 str r3, [sp, #32] + 8c28: 006b lsls r3, r5, #1 + 8c2a: 9308 str r3, [sp, #32] lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8); - 8c44: f8cd a014 str.w sl, [sp, #20] - 8c48: 1c4b adds r3, r1, #1 - 8c4a: 9906 ldr r1, [sp, #24] - 8c4c: 1a5b subs r3, r3, r1 + 8c2c: f8cd a014 str.w sl, [sp, #20] + 8c30: 1c4b adds r3, r1, #1 + 8c32: 9906 ldr r1, [sp, #24] + 8c34: 1a5b subs r3, r3, r1 mask_tmp += draw_area_w; - 8c4e: b21b sxth r3, r3 - 8c50: 9309 str r3, [sp, #36] ; 0x24 - 8c52: f8cd a018 str.w sl, [sp, #24] - 8c56: 4692 mov sl, r2 - 8c58: e066 b.n 8d28 <_lv_blend_map+0xaa8> + 8c36: b21b sxth r3, r3 + 8c38: 9309 str r3, [sp, #36] ; 0x24 + 8c3a: f8cd a018 str.w sl, [sp, #24] + 8c3e: 4692 mov sl, r2 + 8c40: e066 b.n 8d10 <_lv_blend_map+0xaa8> LV_LOG_WARN("fill_blended: unsupported blend mode"); - 8c5a: 4b56 ldr r3, [pc, #344] ; (8db4 <_lv_blend_map+0xb34>) - 8c5c: 9300 str r3, [sp, #0] - 8c5e: 4b56 ldr r3, [pc, #344] ; (8db8 <_lv_blend_map+0xb38>) - 8c60: f240 3253 movw r2, #851 ; 0x353 - 8c64: 4955 ldr r1, [pc, #340] ; (8dbc <_lv_blend_map+0xb3c>) - 8c66: 2002 movs r0, #2 - 8c68: 4c55 ldr r4, [pc, #340] ; (8dc0 <_lv_blend_map+0xb40>) - 8c6a: 47a0 blx r4 - 8c6c: f7ff bb15 b.w 829a <_lv_blend_map+0x1a> + 8c42: 4b56 ldr r3, [pc, #344] ; (8d9c <_lv_blend_map+0xb34>) + 8c44: 9300 str r3, [sp, #0] + 8c46: 4b56 ldr r3, [pc, #344] ; (8da0 <_lv_blend_map+0xb38>) + 8c48: f240 3253 movw r2, #851 ; 0x353 + 8c4c: 4955 ldr r1, [pc, #340] ; (8da4 <_lv_blend_map+0xb3c>) + 8c4e: 2002 movs r0, #2 + 8c50: 4c55 ldr r4, [pc, #340] ; (8da8 <_lv_blend_map+0xb40>) + 8c52: 47a0 blx r4 + 8c54: f7ff bb15 b.w 8282 <_lv_blend_map+0x1a> blend_fp = color_blend_true_color_additive; - 8c70: f8df 8154 ldr.w r8, [pc, #340] ; 8dc8 <_lv_blend_map+0xb48> - 8c74: e7b6 b.n 8be4 <_lv_blend_map+0x964> + 8c58: f8df 8154 ldr.w r8, [pc, #340] ; 8db0 <_lv_blend_map+0xb48> + 8c5c: e7b6 b.n 8bcc <_lv_blend_map+0x964> map_buf_tmp -= draw_area->x1; - 8c76: 9b09 ldr r3, [sp, #36] ; 0x24 - 8c78: 1a9b subs r3, r3, r2 - 8c7a: eb07 0743 add.w r7, r7, r3, lsl #1 + 8c5e: 9b09 ldr r3, [sp, #36] ; 0x24 + 8c60: 1a9b subs r3, r3, r2 + 8c62: eb07 0743 add.w r7, r7, r3, lsl #1 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8c7e: 9b08 ldr r3, [sp, #32] - 8c80: 459e cmp lr, r3 - 8c82: f73f ab0a bgt.w 829a <_lv_blend_map+0x1a> + 8c66: 9b08 ldr r3, [sp, #32] + 8c68: 459e cmp lr, r3 + 8c6a: f73f ab0a bgt.w 8282 <_lv_blend_map+0x1a> disp_buf_tmp += disp_w; - 8c86: 0043 lsls r3, r0, #1 - 8c88: 9304 str r3, [sp, #16] + 8c6e: 0043 lsls r3, r0, #1 + 8c70: 9304 str r3, [sp, #16] map_buf_tmp += map_w; - 8c8a: 006b lsls r3, r5, #1 - 8c8c: 9305 str r3, [sp, #20] - 8c8e: 463b mov r3, r7 - 8c90: 4647 mov r7, r8 - 8c92: 4698 mov r8, r3 + 8c72: 006b lsls r3, r5, #1 + 8c74: 9305 str r3, [sp, #20] + 8c76: 463b mov r3, r7 + 8c78: 4647 mov r7, r8 + 8c7a: 4698 mov r8, r3 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8c94: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 - 8c98: 461c mov r4, r3 - 8c9a: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c - 8c9e: 4293 cmp r3, r2 - 8ca0: dc10 bgt.n 8cc4 <_lv_blend_map+0xa44> - 8ca2: 005b lsls r3, r3, #1 - 8ca4: eb0b 0503 add.w r5, fp, r3 - 8ca8: eb08 0603 add.w r6, r8, r3 + 8c7c: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 + 8c80: 461c mov r4, r3 + 8c82: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c + 8c86: 4293 cmp r3, r2 + 8c88: dc10 bgt.n 8cac <_lv_blend_map+0xa44> + 8c8a: 005b lsls r3, r3, #1 + 8c8c: eb0b 0503 add.w r5, fp, r3 + 8c90: eb08 0603 add.w r6, r8, r3 disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa); - 8cac: 4652 mov r2, sl - 8cae: 8829 ldrh r1, [r5, #0] - 8cb0: f836 0b02 ldrh.w r0, [r6], #2 - 8cb4: 47b8 blx r7 - 8cb6: f825 0b02 strh.w r0, [r5], #2 + 8c94: 4652 mov r2, sl + 8c96: 8829 ldrh r1, [r5, #0] + 8c98: f836 0b02 ldrh.w r0, [r6], #2 + 8c9c: 47b8 blx r7 + 8c9e: f825 0b02 strh.w r0, [r5], #2 for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8cba: 3401 adds r4, #1 - 8cbc: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 8cc0: 429c cmp r4, r3 - 8cc2: ddf3 ble.n 8cac <_lv_blend_map+0xa2c> + 8ca2: 3401 adds r4, #1 + 8ca4: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8ca8: 429c cmp r4, r3 + 8caa: ddf3 ble.n 8c94 <_lv_blend_map+0xa2c> disp_buf_tmp += disp_w; - 8cc4: 9b04 ldr r3, [sp, #16] - 8cc6: 449b add fp, r3 + 8cac: 9b04 ldr r3, [sp, #16] + 8cae: 449b add fp, r3 map_buf_tmp += map_w; - 8cc8: 9b05 ldr r3, [sp, #20] - 8cca: 4498 add r8, r3 + 8cb0: 9b05 ldr r3, [sp, #20] + 8cb2: 4498 add r8, r3 for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8ccc: f109 0901 add.w r9, r9, #1 - 8cd0: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8cd4: 4599 cmp r9, r3 - 8cd6: dddd ble.n 8c94 <_lv_blend_map+0xa14> - 8cd8: f7ff badf b.w 829a <_lv_blend_map+0x1a> + 8cb4: f109 0901 add.w r9, r9, #1 + 8cb8: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8cbc: 4599 cmp r9, r3 + 8cbe: dddd ble.n 8c7c <_lv_blend_map+0xa14> + 8cc0: f7ff badf b.w 8282 <_lv_blend_map+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8cdc: 3501 adds r5, #1 - 8cde: 3602 adds r6, #2 - 8ce0: 3402 adds r4, #2 - 8ce2: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 8ce6: 429d cmp r5, r3 - 8ce8: dc0f bgt.n 8d0a <_lv_blend_map+0xa8a> + 8cc4: 3501 adds r5, #1 + 8cc6: 3602 adds r6, #2 + 8cc8: 3402 adds r4, #2 + 8cca: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 8cce: 429d cmp r5, r3 + 8cd0: dc0f bgt.n 8cf2 <_lv_blend_map+0xa8a> if(mask_tmp[x] == 0) continue; - 8cea: f817 3b01 ldrb.w r3, [r7], #1 - 8cee: 2b00 cmp r3, #0 - 8cf0: d0f4 beq.n 8cdc <_lv_blend_map+0xa5c> + 8cd2: f817 3b01 ldrb.w r3, [r7], #1 + 8cd6: 2b00 cmp r3, #0 + 8cd8: d0f4 beq.n 8cc4 <_lv_blend_map+0xa5c> lv_opa_t opa_tmp = mask_tmp[x] >= LV_OPA_MAX ? opa : ((opa * mask_tmp[x]) >> 8); - 8cf2: 2bf9 cmp r3, #249 ; 0xf9 - 8cf4: bf9d ittte ls - 8cf6: 9a06 ldrls r2, [sp, #24] - 8cf8: 4353 mulls r3, r2 - 8cfa: f3c3 2207 ubfxls r2, r3, #8, #8 - 8cfe: 9a05 ldrhi r2, [sp, #20] + 8cda: 2bf9 cmp r3, #249 ; 0xf9 + 8cdc: bf9d ittte ls + 8cde: 9a06 ldrls r2, [sp, #24] + 8ce0: 4353 mulls r3, r2 + 8ce2: f3c3 2207 ubfxls r2, r3, #8, #8 + 8ce6: 9a05 ldrhi r2, [sp, #20] disp_buf_tmp[x] = blend_fp(map_buf_tmp[x], disp_buf_tmp[x], opa_tmp); - 8d00: 8831 ldrh r1, [r6, #0] - 8d02: 8820 ldrh r0, [r4, #0] - 8d04: 47c0 blx r8 - 8d06: 8030 strh r0, [r6, #0] - 8d08: e7e8 b.n 8cdc <_lv_blend_map+0xa5c> + 8ce8: 8831 ldrh r1, [r6, #0] + 8cea: 8820 ldrh r0, [r4, #0] + 8cec: 47c0 blx r8 + 8cee: 8030 strh r0, [r6, #0] + 8cf0: e7e8 b.n 8cc4 <_lv_blend_map+0xa5c> disp_buf_tmp += disp_w; - 8d0a: 9b07 ldr r3, [sp, #28] - 8d0c: 449b add fp, r3 - 8d0e: 9b09 ldr r3, [sp, #36] ; 0x24 - 8d10: 449a add sl, r3 + 8cf2: 9b07 ldr r3, [sp, #28] + 8cf4: 449b add fp, r3 + 8cf6: 9b09 ldr r3, [sp, #36] ; 0x24 + 8cf8: 449a add sl, r3 map_buf_tmp += map_w; - 8d12: 9b04 ldr r3, [sp, #16] - 8d14: 9a08 ldr r2, [sp, #32] - 8d16: 4413 add r3, r2 - 8d18: 9304 str r3, [sp, #16] + 8cfa: 9b04 ldr r3, [sp, #16] + 8cfc: 9a08 ldr r2, [sp, #32] + 8cfe: 4413 add r3, r2 + 8d00: 9304 str r3, [sp, #16] for(y = draw_area->y1; y <= draw_area->y2; y++) { - 8d1a: f109 0901 add.w r9, r9, #1 - 8d1e: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - 8d22: 4599 cmp r9, r3 - 8d24: f73f aab9 bgt.w 829a <_lv_blend_map+0x1a> + 8d02: f109 0901 add.w r9, r9, #1 + 8d06: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + 8d0a: 4599 cmp r9, r3 + 8d0c: f73f aab9 bgt.w 8282 <_lv_blend_map+0x1a> for(x = draw_area->x1; x <= draw_area->x2; x++) { - 8d28: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 - 8d2c: 461d mov r5, r3 - 8d2e: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c - 8d32: 4293 cmp r3, r2 - 8d34: dce9 bgt.n 8d0a <_lv_blend_map+0xa8a> - 8d36: eb0a 0703 add.w r7, sl, r3 - 8d3a: 005b lsls r3, r3, #1 - 8d3c: eb0b 0603 add.w r6, fp, r3 - 8d40: 9a04 ldr r2, [sp, #16] - 8d42: 18d4 adds r4, r2, r3 - 8d44: e7d1 b.n 8cea <_lv_blend_map+0xa6a> + 8d10: f9bd 3038 ldrsh.w r3, [sp, #56] ; 0x38 + 8d14: 461d mov r5, r3 + 8d16: f9bd 203c ldrsh.w r2, [sp, #60] ; 0x3c + 8d1a: 4293 cmp r3, r2 + 8d1c: dce9 bgt.n 8cf2 <_lv_blend_map+0xa8a> + 8d1e: eb0a 0703 add.w r7, sl, r3 + 8d22: 005b lsls r3, r3, #1 + 8d24: eb0b 0603 add.w r6, fp, r3 + 8d28: 9a04 ldr r2, [sp, #16] + 8d2a: 18d4 adds r4, r2, r3 + 8d2c: e7d1 b.n 8cd2 <_lv_blend_map+0xa6a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8d46: 9b04 ldr r3, [sp, #16] - 8d48: 2100 movs r1, #0 + 8d2e: 9b04 ldr r3, [sp, #16] + 8d30: 2100 movs r1, #0 for(; x < x_end4; x += 4) { - 8d4a: 9a0a ldr r2, [sp, #40] ; 0x28 - 8d4c: 428a cmp r2, r1 - 8d4e: dd0a ble.n 8d66 <_lv_blend_map+0xae6> - 8d50: 3304 adds r3, #4 - 8d52: 1cc8 adds r0, r1, #3 - 8d54: 0040 lsls r0, r0, #1 - 8d56: 9a06 ldr r2, [sp, #24] - 8d58: 1814 adds r4, r2, r0 - 8d5a: 9a05 ldr r2, [sp, #20] - 8d5c: 4410 add r0, r2 - 8d5e: 950b str r5, [sp, #44] ; 0x2c - 8d60: f8dd e028 ldr.w lr, [sp, #40] ; 0x28 - 8d64: e527 b.n 87b6 <_lv_blend_map+0x536> - 8d66: 461a mov r2, r3 - 8d68: e670 b.n 8a4c <_lv_blend_map+0x7cc> + 8d32: 9a0a ldr r2, [sp, #40] ; 0x28 + 8d34: 428a cmp r2, r1 + 8d36: dd0a ble.n 8d4e <_lv_blend_map+0xae6> + 8d38: 3304 adds r3, #4 + 8d3a: 1cc8 adds r0, r1, #3 + 8d3c: 0040 lsls r0, r0, #1 + 8d3e: 9a06 ldr r2, [sp, #24] + 8d40: 1814 adds r4, r2, r0 + 8d42: 9a05 ldr r2, [sp, #20] + 8d44: 4410 add r0, r2 + 8d46: 950b str r5, [sp, #44] ; 0x2c + 8d48: f8dd e028 ldr.w lr, [sp, #40] ; 0x28 + 8d4c: e527 b.n 879e <_lv_blend_map+0x536> + 8d4e: 461a mov r2, r3 + 8d50: e670 b.n 8a34 <_lv_blend_map+0x7cc> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8d6a: 9b04 ldr r3, [sp, #16] - 8d6c: 2100 movs r1, #0 + 8d52: 9b04 ldr r3, [sp, #16] + 8d54: 2100 movs r1, #0 for(; x < x_end4; x += 4) { - 8d6e: 9a0a ldr r2, [sp, #40] ; 0x28 - 8d70: 4291 cmp r1, r2 - 8d72: dbed blt.n 8d50 <_lv_blend_map+0xad0> + 8d56: 9a0a ldr r2, [sp, #40] ; 0x28 + 8d58: 4291 cmp r1, r2 + 8d5a: dbed blt.n 8d38 <_lv_blend_map+0xad0> disp_buf_first += disp_w; - 8d74: 9b05 ldr r3, [sp, #20] - 8d76: 9a0c ldr r2, [sp, #48] ; 0x30 - 8d78: 4413 add r3, r2 - 8d7a: 9305 str r3, [sp, #20] - 8d7c: 9b04 ldr r3, [sp, #16] - 8d7e: 9a09 ldr r2, [sp, #36] ; 0x24 - 8d80: 4413 add r3, r2 - 8d82: 9304 str r3, [sp, #16] + 8d5c: 9b05 ldr r3, [sp, #20] + 8d5e: 9a0c ldr r2, [sp, #48] ; 0x30 + 8d60: 4413 add r3, r2 + 8d62: 9305 str r3, [sp, #20] + 8d64: 9b04 ldr r3, [sp, #16] + 8d66: 9a09 ldr r2, [sp, #36] ; 0x24 + 8d68: 4413 add r3, r2 + 8d6a: 9304 str r3, [sp, #16] map_buf_first += map_w; - 8d84: 9b06 ldr r3, [sp, #24] - 8d86: 9a0d ldr r2, [sp, #52] ; 0x34 - 8d88: 4413 add r3, r2 - 8d8a: 9306 str r3, [sp, #24] + 8d6c: 9b06 ldr r3, [sp, #24] + 8d6e: 9a0d ldr r2, [sp, #52] ; 0x34 + 8d70: 4413 add r3, r2 + 8d72: 9306 str r3, [sp, #24] for(y = 0; y < draw_area_h; y++) { - 8d8c: 9b07 ldr r3, [sp, #28] - 8d8e: 3301 adds r3, #1 - 8d90: 9307 str r3, [sp, #28] - 8d92: 9a08 ldr r2, [sp, #32] - 8d94: 429a cmp r2, r3 - 8d96: f43f aa80 beq.w 829a <_lv_blend_map+0x1a> + 8d74: 9b07 ldr r3, [sp, #28] + 8d76: 3301 adds r3, #1 + 8d78: 9307 str r3, [sp, #28] + 8d7a: 9a08 ldr r2, [sp, #32] + 8d7c: 429a cmp r2, r3 + 8d7e: f43f aa80 beq.w 8282 <_lv_blend_map+0x1a> for(x = 0; x < draw_area_w && ((lv_uintptr_t)mask_tmp_x & 0x3); x++) { - 8d9a: 2d00 cmp r5, #0 - 8d9c: dde5 ble.n 8d6a <_lv_blend_map+0xaea> - 8d9e: 9a04 ldr r2, [sp, #16] - 8da0: f012 0f03 tst.w r2, #3 - 8da4: d0cf beq.n 8d46 <_lv_blend_map+0xac6> - 8da6: f8dd 8018 ldr.w r8, [sp, #24] - 8daa: f8dd e014 ldr.w lr, [sp, #20] - 8dae: 4694 mov ip, r2 - 8db0: 2100 movs r1, #0 - 8db2: e49d b.n 86f0 <_lv_blend_map+0x470> - 8db4: 00024c90 .word 0x00024c90 - 8db8: 00024c54 .word 0x00024c54 - 8dbc: 00024c60 .word 0x00024c60 - 8dc0: 0001225d .word 0x0001225d - 8dc4: 0000769f .word 0x0000769f - 8dc8: 000075e9 .word 0x000075e9 - -00008dcc : + 8d82: 2d00 cmp r5, #0 + 8d84: dde5 ble.n 8d52 <_lv_blend_map+0xaea> + 8d86: 9a04 ldr r2, [sp, #16] + 8d88: f012 0f03 tst.w r2, #3 + 8d8c: d0cf beq.n 8d2e <_lv_blend_map+0xac6> + 8d8e: f8dd 8018 ldr.w r8, [sp, #24] + 8d92: f8dd e014 ldr.w lr, [sp, #20] + 8d96: 4694 mov ip, r2 + 8d98: 2100 movs r1, #0 + 8d9a: e49d b.n 86d8 <_lv_blend_map+0x470> + 8d9c: 00024c78 .word 0x00024c78 + 8da0: 00024c3c .word 0x00024c3c + 8da4: 00024c48 .word 0x00024c48 + 8da8: 00012245 .word 0x00012245 + 8dac: 00007687 .word 0x00007687 + 8db0: 000075d1 .word 0x000075d1 + +00008db4 : * @param antialias anti-alias transformations (rotate, zoom) or not */ LV_ATTRIBUTE_FAST_MEM static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p, lv_draw_img_dsc_t * draw_dsc, bool chroma_key, bool alpha_byte) { - 8dcc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 8dd0: b0bd sub sp, #244 ; 0xf4 - 8dd2: 901b str r0, [sp, #108] ; 0x6c - 8dd4: 9123 str r1, [sp, #140] ; 0x8c - 8dd6: 4617 mov r7, r2 - 8dd8: 9308 str r3, [sp, #32] - 8dda: f89d 3118 ldrb.w r3, [sp, #280] ; 0x118 - 8dde: 930a str r3, [sp, #40] ; 0x28 - 8de0: f89d 311c ldrb.w r3, [sp, #284] ; 0x11c - 8de4: 9306 str r3, [sp, #24] - 8de6: 1e4b subs r3, r1, #1 - 8de8: 1dc8 adds r0, r1, #7 + 8db4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 8db8: b0bd sub sp, #244 ; 0xf4 + 8dba: 901b str r0, [sp, #108] ; 0x6c + 8dbc: 9123 str r1, [sp, #140] ; 0x8c + 8dbe: 4617 mov r7, r2 + 8dc0: 9308 str r3, [sp, #32] + 8dc2: f89d 3118 ldrb.w r3, [sp, #280] ; 0x118 + 8dc6: 930a str r3, [sp, #40] ; 0x28 + 8dc8: f89d 311c ldrb.w r3, [sp, #284] ; 0x11c + 8dcc: 9306 str r3, [sp, #24] + 8dce: 1e4b subs r3, r1, #1 + 8dd0: 1dc8 adds r0, r1, #7 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - 8dea: aa3a add r2, sp, #232 ; 0xe8 + 8dd2: aa3a add r2, sp, #232 ; 0xe8 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 8dec: f813 1f01 ldrb.w r1, [r3, #1]! - 8df0: f802 1b01 strb.w r1, [r2], #1 + 8dd4: f813 1f01 ldrb.w r1, [r3, #1]! + 8dd8: f802 1b01 strb.w r1, [r2], #1 while(len) { - 8df4: 4283 cmp r3, r0 - 8df6: d1f9 bne.n 8dec + 8ddc: 4283 cmp r3, r0 + 8dde: d1f9 bne.n 8dd4 /* Use the clip area as draw area*/ lv_area_t draw_area; lv_area_copy(&draw_area, clip_area); lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - 8df8: 4ba3 ldr r3, [pc, #652] ; (9088 ) - 8dfa: 4798 blx r3 + 8de0: 4ba3 ldr r3, [pc, #652] ; (9070 ) + 8de2: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - 8dfc: 4ba3 ldr r3, [pc, #652] ; (908c ) - 8dfe: 4798 blx r3 - 8e00: 9018 str r0, [sp, #96] ; 0x60 + 8de4: 4ba3 ldr r3, [pc, #652] ; (9074 ) + 8de6: 4798 blx r3 + 8de8: 9018 str r0, [sp, #96] ; 0x60 const lv_area_t * disp_area = &vdb->area; /* Now `draw_area` has absolute coordinates. * Make it relative to `disp_area` to simplify draw to `disp_buf`*/ draw_area.x1 -= disp_area->x1; - 8e02: 8a01 ldrh r1, [r0, #16] - 8e04: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 - 8e08: 1a5b subs r3, r3, r1 - 8e0a: f8ad 30e8 strh.w r3, [sp, #232] ; 0xe8 + 8dea: 8a01 ldrh r1, [r0, #16] + 8dec: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 + 8df0: 1a5b subs r3, r3, r1 + 8df2: f8ad 30e8 strh.w r3, [sp, #232] ; 0xe8 draw_area.y1 -= disp_area->y1; - 8e0e: 8a42 ldrh r2, [r0, #18] - 8e10: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - 8e14: 1a9b subs r3, r3, r2 - 8e16: f8ad 30ea strh.w r3, [sp, #234] ; 0xea + 8df6: 8a42 ldrh r2, [r0, #18] + 8df8: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 8dfc: 1a9b subs r3, r3, r2 + 8dfe: f8ad 30ea strh.w r3, [sp, #234] ; 0xea draw_area.x2 -= disp_area->x1; - 8e1a: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 8e1e: 1a5b subs r3, r3, r1 - 8e20: f8ad 30ec strh.w r3, [sp, #236] ; 0xec + 8e02: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 8e06: 1a5b subs r3, r3, r1 + 8e08: f8ad 30ec strh.w r3, [sp, #236] ; 0xec draw_area.y2 -= disp_area->y1; - 8e24: f8bd 30ee ldrh.w r3, [sp, #238] ; 0xee - 8e28: 1a9b subs r3, r3, r2 - 8e2a: f8ad 30ee strh.w r3, [sp, #238] ; 0xee + 8e0c: f8bd 30ee ldrh.w r3, [sp, #238] ; 0xee + 8e10: 1a9b subs r3, r3, r2 + 8e12: f8ad 30ee strh.w r3, [sp, #238] ; 0xee uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - 8e2e: 4b98 ldr r3, [pc, #608] ; (9090 ) - 8e30: 4798 blx r3 + 8e16: 4b98 ldr r3, [pc, #608] ; (9078 ) + 8e18: 4798 blx r3 /*The simplest case just copy the pixels into the VDB*/ if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE && - 8e32: 9019 str r0, [sp, #100] ; 0x64 - 8e34: b930 cbnz r0, 8e44 - 8e36: 9a08 ldr r2, [sp, #32] - 8e38: 8853 ldrh r3, [r2, #2] - 8e3a: b91b cbnz r3, 8e44 - 8e3c: 8913 ldrh r3, [r2, #8] - 8e3e: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 8e42: d071 beq.n 8f28 + 8e1a: 9019 str r0, [sp, #100] ; 0x64 + 8e1c: b930 cbnz r0, 8e2c + 8e1e: 9a08 ldr r2, [sp, #32] + 8e20: 8853 ldrh r3, [r2, #2] + 8e22: b91b cbnz r3, 8e2c + 8e24: 8913 ldrh r3, [r2, #8] + 8e26: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8e2a: d071 beq.n 8f10 draw_dsc->blend_mode); } /*In the other cases every pixel need to be checked one-by-one*/ else { /*The pixel size in byte is different if an alpha byte is added too*/ uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 8e44: 9b06 ldr r3, [sp, #24] - 8e46: 2b00 cmp r3, #0 - 8e48: bf14 ite ne - 8e4a: f04f 0b03 movne.w fp, #3 - 8e4e: f04f 0b02 moveq.w fp, #2 - 8e52: 991b ldr r1, [sp, #108] ; 0x6c - 8e54: 460b mov r3, r1 - 8e56: f9b1 2000 ldrsh.w r2, [r1] - 8e5a: 888d ldrh r5, [r1, #4] - 8e5c: 3501 adds r5, #1 - 8e5e: 1aad subs r5, r5, r2 - 8e60: b22d sxth r5, r5 + 8e2c: 9b06 ldr r3, [sp, #24] + 8e2e: 2b00 cmp r3, #0 + 8e30: bf14 ite ne + 8e32: f04f 0b03 movne.w fp, #3 + 8e36: f04f 0b02 moveq.w fp, #2 + 8e3a: 991b ldr r1, [sp, #108] ; 0x6c + 8e3c: 460b mov r3, r1 + 8e3e: f9b1 2000 ldrsh.w r2, [r1] + 8e42: 888d ldrh r5, [r1, #4] + 8e44: 3501 adds r5, #1 + 8e46: 1aad subs r5, r5, r2 + 8e48: b22d sxth r5, r5 /*Go to the first displayed pixel of the map*/ int32_t map_w = lv_area_get_width(map_area); const uint8_t * map_buf_tmp = map_p; map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte; - 8e62: f9bd 00ea ldrsh.w r0, [sp, #234] ; 0xea - 8e66: 9e18 ldr r6, [sp, #96] ; 0x60 - 8e68: f9b6 1012 ldrsh.w r1, [r6, #18] - 8e6c: 46d8 mov r8, fp + 8e4a: f9bd 00ea ldrsh.w r0, [sp, #234] ; 0xea + 8e4e: 9e18 ldr r6, [sp, #96] ; 0x60 + 8e50: f9b6 1012 ldrsh.w r1, [r6, #18] + 8e54: 46d8 mov r8, fp map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte; - 8e6e: f9bd 40e8 ldrsh.w r4, [sp, #232] ; 0xe8 - 8e72: f9b6 6010 ldrsh.w r6, [r6, #16] + 8e56: f9bd 40e8 ldrsh.w r4, [sp, #232] ; 0xe8 + 8e5a: f9b6 6010 ldrsh.w r6, [r6, #16] map_buf_tmp += map_w * (draw_area.y1 - (map_area->y1 - disp_area->y1)) * px_size_byte; - 8e76: f9b3 3002 ldrsh.w r3, [r3, #2] - 8e7a: 1a5b subs r3, r3, r1 - 8e7c: 1ac3 subs r3, r0, r3 + 8e5e: f9b3 3002 ldrsh.w r3, [r3, #2] + 8e62: 1a5b subs r3, r3, r1 + 8e64: 1ac3 subs r3, r0, r3 map_buf_tmp += (draw_area.x1 - (map_area->x1 - disp_area->x1)) * px_size_byte; - 8e7e: 1b92 subs r2, r2, r6 - 8e80: 1aa2 subs r2, r4, r2 - 8e82: fb05 2303 mla r3, r5, r3, r2 - 8e86: fb03 730b mla r3, r3, fp, r7 - 8e8a: 9314 str r3, [sp, #80] ; 0x50 + 8e66: 1b92 subs r2, r2, r6 + 8e68: 1aa2 subs r2, r4, r2 + 8e6a: fb05 2303 mla r3, r5, r3, r2 + 8e6e: fb03 730b mla r3, r3, fp, r7 + 8e72: 9314 str r3, [sp, #80] ; 0x50 uint32_t px_i = 0; const uint8_t * map_px; lv_area_t blend_area; blend_area.x1 = draw_area.x1 + disp_area->x1; - 8e8c: b2a4 uxth r4, r4 - 8e8e: 19a2 adds r2, r4, r6 - 8e90: b292 uxth r2, r2 - 8e92: f8ad 2098 strh.w r2, [sp, #152] ; 0x98 - 8e96: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 8e9a: 3301 adds r3, #1 - 8e9c: 1b1b subs r3, r3, r4 - 8e9e: b29b uxth r3, r3 - 8ea0: b21c sxth r4, r3 - 8ea2: 9416 str r4, [sp, #88] ; 0x58 + 8e74: b2a4 uxth r4, r4 + 8e76: 19a2 adds r2, r4, r6 + 8e78: b292 uxth r2, r2 + 8e7a: f8ad 2098 strh.w r2, [sp, #152] ; 0x98 + 8e7e: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 8e82: 3301 adds r3, #1 + 8e84: 1b1b subs r3, r3, r4 + 8e86: b29b uxth r3, r3 + 8e88: b21c sxth r4, r3 + 8e8a: 9416 str r4, [sp, #88] ; 0x58 blend_area.x2 = blend_area.x1 + lv_area_get_width(&draw_area) - 1; - 8ea4: 3b01 subs r3, #1 - 8ea6: 4413 add r3, r2 - 8ea8: f8ad 309c strh.w r3, [sp, #156] ; 0x9c + 8e8c: 3b01 subs r3, #1 + 8e8e: 4413 add r3, r2 + 8e90: f8ad 309c strh.w r3, [sp, #156] ; 0x9c blend_area.y1 = disp_area->y1 + draw_area.y1; - 8eac: b280 uxth r0, r0 - 8eae: 1843 adds r3, r0, r1 - 8eb0: b21b sxth r3, r3 - 8eb2: f8ad 309a strh.w r3, [sp, #154] ; 0x9a + 8e94: b280 uxth r0, r0 + 8e96: 1843 adds r3, r0, r1 + 8e98: b21b sxth r3, r3 + 8e9a: f8ad 309a strh.w r3, [sp, #154] ; 0x9a blend_area.y2 = blend_area.y1; - 8eb6: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 8e9e: f8ad 309e strh.w r3, [sp, #158] ; 0x9e return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 8eba: f8bd 60ee ldrh.w r6, [sp, #238] ; 0xee - 8ebe: 3601 adds r6, #1 - 8ec0: 1a36 subs r6, r6, r0 - 8ec2: b236 sxth r6, r6 + 8ea2: f8bd 60ee ldrh.w r6, [sp, #238] ; 0xee + 8ea6: 3601 adds r6, #1 + 8ea8: 1a36 subs r6, r6, r0 + 8eaa: b236 sxth r6, r6 lv_coord_t draw_area_h = lv_area_get_height(&draw_area); lv_coord_t draw_area_w = lv_area_get_width(&draw_area); #if LV_USE_IMG_TRANSFORM bool transform = draw_dsc->angle != 0 || draw_dsc->zoom != LV_IMG_ZOOM_NONE ? true : false; - 8ec4: 9908 ldr r1, [sp, #32] - 8ec6: 884b ldrh r3, [r1, #2] - 8ec8: 2b00 cmp r3, #0 - 8eca: f040 8353 bne.w 9574 - 8ece: 890b ldrh r3, [r1, #8] - 8ed0: f5b3 7280 subs.w r2, r3, #256 ; 0x100 - 8ed4: bf18 it ne - 8ed6: 2201 movne r2, #1 - 8ed8: 9205 str r2, [sp, #20] + 8eac: 9908 ldr r1, [sp, #32] + 8eae: 884b ldrh r3, [r1, #2] + 8eb0: 2b00 cmp r3, #0 + 8eb2: f040 8353 bne.w 955c + 8eb6: 890b ldrh r3, [r1, #8] + 8eb8: f5b3 7280 subs.w r2, r3, #256 ; 0x100 + 8ebc: bf18 it ne + 8ebe: 2201 movne r2, #1 + 8ec0: 9205 str r2, [sp, #20] #else bool transform = false; #endif /*Simple ARGB image. Handle it as special case because it's very common*/ if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 8eda: 9a19 ldr r2, [sp, #100] ; 0x64 - 8edc: 2a00 cmp r2, #0 - 8ede: f040 8370 bne.w 95c2 - 8ee2: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 8ee6: f040 8349 bne.w 957c - 8eea: 9b0a ldr r3, [sp, #40] ; 0x28 - 8eec: b923 cbnz r3, 8ef8 - 8eee: 7a8b ldrb r3, [r1, #10] - 8ef0: b913 cbnz r3, 8ef8 - 8ef2: 9b06 ldr r3, [sp, #24] - 8ef4: 2b00 cmp r3, #0 - 8ef6: d131 bne.n 8f5c + 8ec2: 9a19 ldr r2, [sp, #100] ; 0x64 + 8ec4: 2a00 cmp r2, #0 + 8ec6: f040 8370 bne.w 95aa + 8eca: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 8ece: f040 8349 bne.w 9564 + 8ed2: 9b0a ldr r3, [sp, #40] ; 0x28 + 8ed4: b923 cbnz r3, 8ee0 + 8ed6: 7a8b ldrb r3, [r1, #10] + 8ed8: b913 cbnz r3, 8ee0 + 8eda: 9b06 ldr r3, [sp, #24] + 8edc: 2b00 cmp r3, #0 + 8ede: d131 bne.n 8f44 _lv_mem_buf_release(map2); } /*Most complicated case: transform or other mask or chroma keyed*/ else { /*Build the image and a mask line-by-line*/ uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 8ef8: a83a add r0, sp, #232 ; 0xe8 - 8efa: 4b66 ldr r3, [pc, #408] ; (9094 ) - 8efc: 4798 blx r3 - 8efe: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 8f02: f240 80ac bls.w 905e + 8ee0: a83a add r0, sp, #232 ; 0xe8 + 8ee2: 4b66 ldr r3, [pc, #408] ; (907c ) + 8ee4: 4798 blx r3 + 8ee6: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 8eea: f240 80ac bls.w 9046 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 8f06: f44f 7070 mov.w r0, #960 ; 0x3c0 - 8f0a: 4c63 ldr r4, [pc, #396] ; (9098 ) - 8f0c: 47a0 blx r4 - 8f0e: 901a str r0, [sp, #104] ; 0x68 + 8eee: f44f 7070 mov.w r0, #960 ; 0x3c0 + 8ef2: 4c63 ldr r4, [pc, #396] ; (9080 ) + 8ef4: 47a0 blx r4 + 8ef6: 901a str r0, [sp, #104] ; 0x68 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 8f10: f44f 70f0 mov.w r0, #480 ; 0x1e0 - 8f14: 47a0 blx r4 - 8f16: 9017 str r0, [sp, #92] ; 0x5c + 8ef8: f44f 70f0 mov.w r0, #480 ; 0x1e0 + 8efc: 47a0 blx r4 + 8efe: 9017 str r0, [sp, #92] ; 0x5c #if LV_USE_IMG_TRANSFORM lv_img_transform_dsc_t trans_dsc; _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 8f18: 2148 movs r1, #72 ; 0x48 - 8f1a: a828 add r0, sp, #160 ; 0xa0 - 8f1c: 4b5f ldr r3, [pc, #380] ; (909c ) - 8f1e: 4798 blx r3 + 8f00: 2148 movs r1, #72 ; 0x48 + 8f02: a828 add r0, sp, #160 ; 0xa0 + 8f04: 4b5f ldr r3, [pc, #380] ; (9084 ) + 8f06: 4798 blx r3 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 8f20: f44f 73f0 mov.w r3, #480 ; 0x1e0 - 8f24: 931c str r3, [sp, #112] ; 0x70 - 8f26: e0e4 b.n 90f2 + 8f08: f44f 73f0 mov.w r3, #480 ; 0x1e0 + 8f0c: 931c str r3, [sp, #112] ; 0x70 + 8f0e: e0e4 b.n 90da if(other_mask_cnt == 0 && draw_dsc->angle == 0 && draw_dsc->zoom == LV_IMG_ZOOM_NONE && - 8f28: 9b0a ldr r3, [sp, #40] ; 0x28 - 8f2a: 2b00 cmp r3, #0 - 8f2c: d18a bne.n 8e44 + 8f10: 9b0a ldr r3, [sp, #40] ; 0x28 + 8f12: 2b00 cmp r3, #0 + 8f14: d18a bne.n 8e2c chroma_key == false && alpha_byte == false && draw_dsc->recolor_opa == LV_OPA_TRANSP) { - 8f2e: 9b06 ldr r3, [sp, #24] - 8f30: b98b cbnz r3, 8f56 - 8f32: 7a93 ldrb r3, [r2, #10] - 8f34: b113 cbz r3, 8f3c + 8f16: 9b06 ldr r3, [sp, #24] + 8f18: b98b cbnz r3, 8f3e + 8f1a: 7a93 ldrb r3, [r2, #10] + 8f1c: b113 cbz r3, 8f24 uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 8f36: f04f 0b02 mov.w fp, #2 - 8f3a: e78a b.n 8e52 + 8f1e: f04f 0b02 mov.w fp, #2 + 8f22: e78a b.n 8e3a _lv_blend_map(clip_area, map_area, (lv_color_t *)map_p, NULL, LV_DRAW_MASK_RES_FULL_COVER, draw_dsc->opa, - 8f3c: 7b93 ldrb r3, [r2, #14] - 8f3e: 9302 str r3, [sp, #8] - 8f40: 7813 ldrb r3, [r2, #0] - 8f42: 9301 str r3, [sp, #4] - 8f44: 2301 movs r3, #1 - 8f46: 9300 str r3, [sp, #0] - 8f48: 2300 movs r3, #0 - 8f4a: 463a mov r2, r7 - 8f4c: 991b ldr r1, [sp, #108] ; 0x6c - 8f4e: 9823 ldr r0, [sp, #140] ; 0x8c - 8f50: 4c53 ldr r4, [pc, #332] ; (90a0 ) - 8f52: 47a0 blx r4 - 8f54: e30b b.n 956e + 8f24: 7b93 ldrb r3, [r2, #14] + 8f26: 9302 str r3, [sp, #8] + 8f28: 7813 ldrb r3, [r2, #0] + 8f2a: 9301 str r3, [sp, #4] + 8f2c: 2301 movs r3, #1 + 8f2e: 9300 str r3, [sp, #0] + 8f30: 2300 movs r3, #0 + 8f32: 463a mov r2, r7 + 8f34: 991b ldr r1, [sp, #108] ; 0x6c + 8f36: 9823 ldr r0, [sp, #140] ; 0x8c + 8f38: 4c53 ldr r4, [pc, #332] ; (9088 ) + 8f3a: 47a0 blx r4 + 8f3c: e30b b.n 9556 uint8_t px_size_byte = alpha_byte ? LV_IMG_PX_SIZE_ALPHA_BYTE : sizeof(lv_color_t); - 8f56: f04f 0b03 mov.w fp, #3 - 8f5a: e77a b.n 8e52 + 8f3e: f04f 0b03 mov.w fp, #3 + 8f42: e77a b.n 8e3a uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 8f5c: a83a add r0, sp, #232 ; 0xe8 - 8f5e: 4b4d ldr r3, [pc, #308] ; (9094 ) - 8f60: 4798 blx r3 - 8f62: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 8f66: d814 bhi.n 8f92 - 8f68: a83a add r0, sp, #232 ; 0xe8 - 8f6a: 4b4a ldr r3, [pc, #296] ; (9094 ) - 8f6c: 4798 blx r3 - 8f6e: 4681 mov r9, r0 + 8f44: a83a add r0, sp, #232 ; 0xe8 + 8f46: 4b4d ldr r3, [pc, #308] ; (907c ) + 8f48: 4798 blx r3 + 8f4a: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 8f4e: d814 bhi.n 8f7a + 8f50: a83a add r0, sp, #232 ; 0xe8 + 8f52: 4b4a ldr r3, [pc, #296] ; (907c ) + 8f54: 4798 blx r3 + 8f56: 4681 mov r9, r0 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 8f70: ea4f 0049 mov.w r0, r9, lsl #1 - 8f74: 4c48 ldr r4, [pc, #288] ; (9098 ) - 8f76: 47a0 blx r4 - 8f78: 4682 mov sl, r0 + 8f58: ea4f 0049 mov.w r0, r9, lsl #1 + 8f5c: 4c48 ldr r4, [pc, #288] ; (9080 ) + 8f5e: 47a0 blx r4 + 8f60: 4682 mov sl, r0 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 8f7a: 4648 mov r0, r9 - 8f7c: 47a0 blx r4 - 8f7e: 4604 mov r4, r0 + 8f62: 4648 mov r0, r9 + 8f64: 47a0 blx r4 + 8f66: 4604 mov r4, r0 for(y = 0; y < draw_area_h; y++) { - 8f80: 9605 str r6, [sp, #20] - 8f82: 2e00 cmp r6, #0 - 8f84: dd4f ble.n 9026 + 8f68: 9605 str r6, [sp, #20] + 8f6a: 2e00 cmp r6, #0 + 8f6c: dd4f ble.n 900e map_buf_tmp += map_w * px_size_byte; - 8f86: fb08 f805 mul.w r8, r8, r5 - 8f8a: 2500 movs r5, #0 - 8f8c: 46ac mov ip, r5 - 8f8e: 9e14 ldr r6, [sp, #80] ; 0x50 - 8f90: e025 b.n 8fde + 8f6e: fb08 f805 mul.w r8, r8, r5 + 8f72: 2500 movs r5, #0 + 8f74: 46ac mov ip, r5 + 8f76: 9e14 ldr r6, [sp, #80] ; 0x50 + 8f78: e025 b.n 8fc6 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 8f92: f44f 79f0 mov.w r9, #480 ; 0x1e0 - 8f96: e7eb b.n 8f70 - 8f98: 445b add r3, fp - 8f9a: 3702 adds r7, #2 + 8f7a: f44f 79f0 mov.w r9, #480 ; 0x1e0 + 8f7e: e7eb b.n 8f58 + 8f80: 445b add r3, fp + 8f82: 3702 adds r7, #2 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 8f9c: 4596 cmp lr, r2 - 8f9e: d00a beq.n 8fb6 + 8f84: 4596 cmp lr, r2 + 8f86: d00a beq.n 8f9e lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - 8fa0: 7899 ldrb r1, [r3, #2] + 8f88: 7899 ldrb r1, [r3, #2] mask_buf[px_i] = px_opa; - 8fa2: f802 1b01 strb.w r1, [r2], #1 + 8f8a: f802 1b01 strb.w r1, [r2], #1 if(px_opa) { - 8fa6: 2900 cmp r1, #0 - 8fa8: d0f6 beq.n 8f98 + 8f8e: 2900 cmp r1, #0 + 8f90: d0f6 beq.n 8f80 map2[px_i].full = map_px[0] + (map_px[1] << 8); - 8faa: 7858 ldrb r0, [r3, #1] - 8fac: 7819 ldrb r1, [r3, #0] - 8fae: eb01 2100 add.w r1, r1, r0, lsl #8 - 8fb2: 8039 strh r1, [r7, #0] - 8fb4: e7f0 b.n 8f98 + 8f92: 7858 ldrb r0, [r3, #1] + 8f94: 7819 ldrb r1, [r3, #0] + 8f96: eb01 2100 add.w r1, r1, r0, lsl #8 + 8f9a: 8039 strh r1, [r7, #0] + 8f9c: e7f0 b.n 8f80 map_buf_tmp += map_w * px_size_byte; - 8fb6: 4446 add r6, r8 + 8f9e: 4446 add r6, r8 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 8fb8: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 8fbc: 3301 adds r3, #1 - 8fbe: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 - 8fc2: 1a9b subs r3, r3, r2 + 8fa0: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 8fa4: 3301 adds r3, #1 + 8fa6: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 + 8faa: 1a9b subs r3, r3, r2 if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) { - 8fc4: fa0c f383 sxtah r3, ip, r3 - 8fc8: 4599 cmp r9, r3 - 8fca: d914 bls.n 8ff6 + 8fac: fa0c f383 sxtah r3, ip, r3 + 8fb0: 4599 cmp r9, r3 + 8fb2: d914 bls.n 8fde blend_area.y2 ++; - 8fcc: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 8fd0: 3301 adds r3, #1 - 8fd2: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 8fb4: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 8fb8: 3301 adds r3, #1 + 8fba: f8ad 309e strh.w r3, [sp, #158] ; 0x9e for(y = 0; y < draw_area_h; y++) { - 8fd6: 3501 adds r5, #1 - 8fd8: 9b05 ldr r3, [sp, #20] - 8fda: 429d cmp r5, r3 - 8fdc: d023 beq.n 9026 + 8fbe: 3501 adds r5, #1 + 8fc0: 9b05 ldr r3, [sp, #20] + 8fc2: 429d cmp r5, r3 + 8fc4: d023 beq.n 900e for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 8fde: 9b16 ldr r3, [sp, #88] ; 0x58 - 8fe0: 2b00 cmp r3, #0 - 8fe2: dde8 ble.n 8fb6 - 8fe4: eb04 020c add.w r2, r4, ip - 8fe8: eb0a 074c add.w r7, sl, ip, lsl #1 - 8fec: 449c add ip, r3 - 8fee: eb04 0e0c add.w lr, r4, ip - 8ff2: 4633 mov r3, r6 - 8ff4: e7d4 b.n 8fa0 + 8fc6: 9b16 ldr r3, [sp, #88] ; 0x58 + 8fc8: 2b00 cmp r3, #0 + 8fca: dde8 ble.n 8f9e + 8fcc: eb04 020c add.w r2, r4, ip + 8fd0: eb0a 074c add.w r7, sl, ip, lsl #1 + 8fd4: 449c add ip, r3 + 8fd6: eb04 0e0c add.w lr, r4, ip + 8fda: 4633 mov r3, r6 + 8fdc: e7d4 b.n 8f88 _lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode); - 8ff6: 9a08 ldr r2, [sp, #32] - 8ff8: 7b93 ldrb r3, [r2, #14] - 8ffa: 9302 str r3, [sp, #8] - 8ffc: 7813 ldrb r3, [r2, #0] - 8ffe: 9301 str r3, [sp, #4] - 9000: 2302 movs r3, #2 - 9002: 9300 str r3, [sp, #0] - 9004: 4623 mov r3, r4 - 9006: 4652 mov r2, sl - 9008: a926 add r1, sp, #152 ; 0x98 - 900a: 9823 ldr r0, [sp, #140] ; 0x8c - 900c: 4f24 ldr r7, [pc, #144] ; (90a0 ) - 900e: 47b8 blx r7 + 8fde: 9a08 ldr r2, [sp, #32] + 8fe0: 7b93 ldrb r3, [r2, #14] + 8fe2: 9302 str r3, [sp, #8] + 8fe4: 7813 ldrb r3, [r2, #0] + 8fe6: 9301 str r3, [sp, #4] + 8fe8: 2302 movs r3, #2 + 8fea: 9300 str r3, [sp, #0] + 8fec: 4623 mov r3, r4 + 8fee: 4652 mov r2, sl + 8ff0: a926 add r1, sp, #152 ; 0x98 + 8ff2: 9823 ldr r0, [sp, #140] ; 0x8c + 8ff4: 4f24 ldr r7, [pc, #144] ; (9088 ) + 8ff6: 47b8 blx r7 blend_area.y1 = blend_area.y2 + 1; - 9010: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 9014: 3301 adds r3, #1 - 9016: b21b sxth r3, r3 - 9018: f8ad 309a strh.w r3, [sp, #154] ; 0x9a + 8ff8: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 8ffc: 3301 adds r3, #1 + 8ffe: b21b sxth r3, r3 + 9000: f8ad 309a strh.w r3, [sp, #154] ; 0x9a blend_area.y2 = blend_area.y1; - 901c: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 9004: f8ad 309e strh.w r3, [sp, #158] ; 0x9e px_i = 0; - 9020: f04f 0c00 mov.w ip, #0 - 9024: e7d7 b.n 8fd6 + 9008: f04f 0c00 mov.w ip, #0 + 900c: e7d7 b.n 8fbe if(blend_area.y1 != blend_area.y2) { - 9026: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e - 902a: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a - 902e: 429a cmp r2, r3 - 9030: d00f beq.n 9052 + 900e: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e + 9012: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a + 9016: 429a cmp r2, r3 + 9018: d00f beq.n 903a blend_area.y2--; - 9032: 3b01 subs r3, #1 - 9034: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 901a: 3b01 subs r3, #1 + 901c: f8ad 309e strh.w r3, [sp, #158] ; 0x9e _lv_blend_map(clip_area, &blend_area, map2, mask_buf, LV_DRAW_MASK_RES_CHANGED, draw_dsc->opa, draw_dsc->blend_mode); - 9038: 9a08 ldr r2, [sp, #32] - 903a: 7b93 ldrb r3, [r2, #14] - 903c: 9302 str r3, [sp, #8] - 903e: 7813 ldrb r3, [r2, #0] - 9040: 9301 str r3, [sp, #4] - 9042: 2302 movs r3, #2 - 9044: 9300 str r3, [sp, #0] - 9046: 4623 mov r3, r4 - 9048: 4652 mov r2, sl - 904a: a926 add r1, sp, #152 ; 0x98 - 904c: 9823 ldr r0, [sp, #140] ; 0x8c - 904e: 4d14 ldr r5, [pc, #80] ; (90a0 ) - 9050: 47a8 blx r5 + 9020: 9a08 ldr r2, [sp, #32] + 9022: 7b93 ldrb r3, [r2, #14] + 9024: 9302 str r3, [sp, #8] + 9026: 7813 ldrb r3, [r2, #0] + 9028: 9301 str r3, [sp, #4] + 902a: 2302 movs r3, #2 + 902c: 9300 str r3, [sp, #0] + 902e: 4623 mov r3, r4 + 9030: 4652 mov r2, sl + 9032: a926 add r1, sp, #152 ; 0x98 + 9034: 9823 ldr r0, [sp, #140] ; 0x8c + 9036: 4d14 ldr r5, [pc, #80] ; (9088 ) + 9038: 47a8 blx r5 _lv_mem_buf_release(mask_buf); - 9052: 4620 mov r0, r4 - 9054: 4c13 ldr r4, [pc, #76] ; (90a4 ) - 9056: 47a0 blx r4 + 903a: 4620 mov r0, r4 + 903c: 4c13 ldr r4, [pc, #76] ; (908c ) + 903e: 47a0 blx r4 _lv_mem_buf_release(map2); - 9058: 4650 mov r0, sl - 905a: 47a0 blx r4 + 9040: 4650 mov r0, sl + 9042: 47a0 blx r4 if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 905c: e287 b.n 956e + 9044: e287 b.n 9556 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 905e: a83a add r0, sp, #232 ; 0xe8 - 9060: 4b0c ldr r3, [pc, #48] ; (9094 ) - 9062: 4798 blx r3 - 9064: 901c str r0, [sp, #112] ; 0x70 + 9046: a83a add r0, sp, #232 ; 0xe8 + 9048: 4b0c ldr r3, [pc, #48] ; (907c ) + 904a: 4798 blx r3 + 904c: 901c str r0, [sp, #112] ; 0x70 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 9066: 9b1c ldr r3, [sp, #112] ; 0x70 - 9068: 0058 lsls r0, r3, #1 - 906a: 4c0b ldr r4, [pc, #44] ; (9098 ) - 906c: 47a0 blx r4 - 906e: 901a str r0, [sp, #104] ; 0x68 + 904e: 9b1c ldr r3, [sp, #112] ; 0x70 + 9050: 0058 lsls r0, r3, #1 + 9052: 4c0b ldr r4, [pc, #44] ; (9080 ) + 9054: 47a0 blx r4 + 9056: 901a str r0, [sp, #104] ; 0x68 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 9070: 981c ldr r0, [sp, #112] ; 0x70 - 9072: 47a0 blx r4 - 9074: 9017 str r0, [sp, #92] ; 0x5c + 9058: 981c ldr r0, [sp, #112] ; 0x70 + 905a: 47a0 blx r4 + 905c: 9017 str r0, [sp, #92] ; 0x5c _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 9076: 2148 movs r1, #72 ; 0x48 - 9078: a828 add r0, sp, #160 ; 0xa0 - 907a: 4b08 ldr r3, [pc, #32] ; (909c ) - 907c: 4798 blx r3 + 905e: 2148 movs r1, #72 ; 0x48 + 9060: a828 add r0, sp, #160 ; 0xa0 + 9062: 4b08 ldr r3, [pc, #32] ; (9084 ) + 9064: 4798 blx r3 if(transform) { - 907e: 9b05 ldr r3, [sp, #20] - 9080: 2b00 cmp r3, #0 - 9082: d036 beq.n 90f2 - 9084: e291 b.n 95aa - 9086: bf00 nop - 9088: 00005f69 .word 0x00005f69 - 908c: 00010fdd .word 0x00010fdd - 9090: 0000bec5 .word 0x0000bec5 - 9094: 000114fd .word 0x000114fd - 9098: 0001293d .word 0x0001293d - 909c: 00012b37 .word 0x00012b37 - 90a0: 00008281 .word 0x00008281 - 90a4: 00012571 .word 0x00012571 + 9066: 9b05 ldr r3, [sp, #20] + 9068: 2b00 cmp r3, #0 + 906a: d036 beq.n 90da + 906c: e291 b.n 9592 + 906e: bf00 nop + 9070: 00005f51 .word 0x00005f51 + 9074: 00010fc5 .word 0x00010fc5 + 9078: 0000bead .word 0x0000bead + 907c: 000114e5 .word 0x000114e5 + 9080: 00012925 .word 0x00012925 + 9084: 00012b1f .word 0x00012b1f + 9088: 00008269 .word 0x00008269 + 908c: 00012559 .word 0x00012559 lv_img_cf_t cf = LV_IMG_CF_TRUE_COLOR; if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA; - 90a8: 2205 movs r2, #5 + 9090: 2205 movs r2, #5 else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED; trans_dsc.cfg.angle = draw_dsc->angle; - 90aa: 9808 ldr r0, [sp, #32] - 90ac: 8843 ldrh r3, [r0, #2] - 90ae: f8ad 30ac strh.w r3, [sp, #172] ; 0xac + 9092: 9808 ldr r0, [sp, #32] + 9094: 8843 ldrh r3, [r0, #2] + 9096: f8ad 30ac strh.w r3, [sp, #172] ; 0xac trans_dsc.cfg.zoom = draw_dsc->zoom; - 90b2: 8903 ldrh r3, [r0, #8] - 90b4: f8ad 30ae strh.w r3, [sp, #174] ; 0xae + 909a: 8903 ldrh r3, [r0, #8] + 909c: f8ad 30ae strh.w r3, [sp, #174] ; 0xae trans_dsc.cfg.src = map_p; - 90b8: 9728 str r7, [sp, #160] ; 0xa0 + 90a0: 9728 str r7, [sp, #160] ; 0xa0 trans_dsc.cfg.src_w = map_w; - 90ba: f8ad 50a4 strh.w r5, [sp, #164] ; 0xa4 + 90a2: f8ad 50a4 strh.w r5, [sp, #164] ; 0xa4 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 90be: 991b ldr r1, [sp, #108] ; 0x6c - 90c0: 88cb ldrh r3, [r1, #6] - 90c2: 3301 adds r3, #1 - 90c4: 8849 ldrh r1, [r1, #2] - 90c6: 1a5b subs r3, r3, r1 + 90a6: 991b ldr r1, [sp, #108] ; 0x6c + 90a8: 88cb ldrh r3, [r1, #6] + 90aa: 3301 adds r3, #1 + 90ac: 8849 ldrh r1, [r1, #2] + 90ae: 1a5b subs r3, r3, r1 trans_dsc.cfg.src_h = lv_area_get_height(map_area);; - 90c8: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + 90b0: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 trans_dsc.cfg.cf = cf; - 90cc: f88d 20b2 strb.w r2, [sp, #178] ; 0xb2 + 90b4: f88d 20b2 strb.w r2, [sp, #178] ; 0xb2 trans_dsc.cfg.pivot_x = draw_dsc->pivot.x; - 90d0: 8883 ldrh r3, [r0, #4] - 90d2: f8ad 30a8 strh.w r3, [sp, #168] ; 0xa8 + 90b8: 8883 ldrh r3, [r0, #4] + 90ba: f8ad 30a8 strh.w r3, [sp, #168] ; 0xa8 trans_dsc.cfg.pivot_y = draw_dsc->pivot.y; - 90d6: 88c3 ldrh r3, [r0, #6] - 90d8: f8ad 30aa strh.w r3, [sp, #170] ; 0xaa + 90be: 88c3 ldrh r3, [r0, #6] + 90c0: f8ad 30aa strh.w r3, [sp, #170] ; 0xaa trans_dsc.cfg.color = draw_dsc->recolor; - 90dc: 8983 ldrh r3, [r0, #12] - 90de: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 + 90c4: 8983 ldrh r3, [r0, #12] + 90c6: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 trans_dsc.cfg.antialias = draw_dsc->antialias; - 90e2: 7bc3 ldrb r3, [r0, #15] - 90e4: f3c3 0300 ubfx r3, r3, #0, #1 - 90e8: f88d 30b3 strb.w r3, [sp, #179] ; 0xb3 + 90ca: 7bc3 ldrb r3, [r0, #15] + 90cc: f3c3 0300 ubfx r3, r3, #0, #1 + 90d0: f88d 30b3 strb.w r3, [sp, #179] ; 0xb3 _lv_img_buf_transform_init(&trans_dsc); - 90ec: a828 add r0, sp, #160 ; 0xa0 - 90ee: 4b93 ldr r3, [pc, #588] ; (933c ) - 90f0: 4798 blx r3 + 90d4: a828 add r0, sp, #160 ; 0xa0 + 90d6: 4b93 ldr r3, [pc, #588] ; (9324 ) + 90d8: 4798 blx r3 } #endif uint16_t recolor_premult[3] = {0}; lv_opa_t recolor_opa_inv = 255 - draw_dsc->recolor_opa; - 90f2: 9808 ldr r0, [sp, #32] - 90f4: 7a83 ldrb r3, [r0, #10] - 90f6: 43da mvns r2, r3 - 90f8: b2d2 uxtb r2, r2 - 90fa: 9212 str r2, [sp, #72] ; 0x48 + 90da: 9808 ldr r0, [sp, #32] + 90dc: 7a83 ldrb r3, [r0, #10] + 90de: 43da mvns r2, r3 + 90e0: b2d2 uxtb r2, r2 + 90e2: 9212 str r2, [sp, #72] ; 0x48 if(draw_dsc->recolor_opa != 0) { - 90fc: b303 cbz r3, 9140 + 90e4: b303 cbz r3, 9128 out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; - 90fe: b29b uxth r3, r3 - 9100: 7b42 ldrb r2, [r0, #13] - 9102: 08d2 lsrs r2, r2, #3 - 9104: fb02 f203 mul.w r2, r2, r3 - 9108: 9210 str r2, [sp, #64] ; 0x40 + 90e6: b29b uxth r3, r3 + 90e8: 7b42 ldrb r2, [r0, #13] + 90ea: 08d2 lsrs r2, r2, #3 + 90ec: fb02 f203 mul.w r2, r2, r3 + 90f0: 9210 str r2, [sp, #64] ; 0x40 out[1] = (uint16_t) LV_COLOR_GET_G(c) * mix; - 910a: 8982 ldrh r2, [r0, #12] - 910c: f3c2 1245 ubfx r2, r2, #5, #6 - 9110: fb02 f203 mul.w r2, r2, r3 - 9114: 9211 str r2, [sp, #68] ; 0x44 + 90f2: 8982 ldrh r2, [r0, #12] + 90f4: f3c2 1245 ubfx r2, r2, #5, #6 + 90f8: fb02 f203 mul.w r2, r2, r3 + 90fc: 9211 str r2, [sp, #68] ; 0x44 out[2] = (uint16_t) LV_COLOR_GET_B(c) * mix; - 9116: 7b02 ldrb r2, [r0, #12] - 9118: f002 021f and.w r2, r2, #31 - 911c: fb02 f303 mul.w r3, r2, r3 - 9120: 9313 str r3, [sp, #76] ; 0x4c + 90fe: 7b02 ldrb r2, [r0, #12] + 9100: f002 021f and.w r2, r2, #31 + 9104: fb02 f303 mul.w r3, r2, r3 + 9108: 9313 str r3, [sp, #76] ; 0x4c lv_color_premult(draw_dsc->recolor, draw_dsc->recolor_opa, recolor_premult); } lv_draw_mask_res_t mask_res; mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 9122: 9b06 ldr r3, [sp, #24] - 9124: b98b cbnz r3, 914a - 9126: 9b0a ldr r3, [sp, #40] ; 0x28 - 9128: bb53 cbnz r3, 9180 - 912a: 9a08 ldr r2, [sp, #32] - 912c: 8853 ldrh r3, [r2, #2] - 912e: bb53 cbnz r3, 9186 - 9130: 8913 ldrh r3, [r2, #8] - 9132: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 9136: bf14 ite ne - 9138: 2302 movne r3, #2 - 913a: 2301 moveq r3, #1 - 913c: 931d str r3, [sp, #116] ; 0x74 - 913e: e006 b.n 914e + 910a: 9b06 ldr r3, [sp, #24] + 910c: b98b cbnz r3, 9132 + 910e: 9b0a ldr r3, [sp, #40] ; 0x28 + 9110: bb53 cbnz r3, 9168 + 9112: 9a08 ldr r2, [sp, #32] + 9114: 8853 ldrh r3, [r2, #2] + 9116: bb53 cbnz r3, 916e + 9118: 8913 ldrh r3, [r2, #8] + 911a: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 911e: bf14 ite ne + 9120: 2302 movne r3, #2 + 9122: 2301 moveq r3, #1 + 9124: 931d str r3, [sp, #116] ; 0x74 + 9126: e006 b.n 9136 uint16_t recolor_premult[3] = {0}; - 9140: 2300 movs r3, #0 - 9142: 9313 str r3, [sp, #76] ; 0x4c - 9144: 9311 str r3, [sp, #68] ; 0x44 - 9146: 9310 str r3, [sp, #64] ; 0x40 - 9148: e7eb b.n 9122 + 9128: 2300 movs r3, #0 + 912a: 9313 str r3, [sp, #76] ; 0x4c + 912c: 9311 str r3, [sp, #68] ; 0x44 + 912e: 9310 str r3, [sp, #64] ; 0x40 + 9130: e7eb b.n 910a mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 914a: 2302 movs r3, #2 - 914c: 931d str r3, [sp, #116] ; 0x74 + 9132: 2302 movs r3, #2 + 9134: 931d str r3, [sp, #116] ; 0x74 draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; /*Prepare the `mask_buf`if there are other masks*/ if(other_mask_cnt) { - 914e: 9b19 ldr r3, [sp, #100] ; 0x64 - 9150: b9e3 cbnz r3, 918c + 9136: 9b19 ldr r3, [sp, #100] ; 0x64 + 9138: b9e3 cbnz r3, 9174 } int32_t x; int32_t y; #if LV_USE_IMG_TRANSFORM int32_t rot_y = disp_area->y1 + draw_area.y1 - map_area->y1; - 9152: 9b18 ldr r3, [sp, #96] ; 0x60 - 9154: f9b3 3012 ldrsh.w r3, [r3, #18] - 9158: f9bd 20ea ldrsh.w r2, [sp, #234] ; 0xea - 915c: 4413 add r3, r2 - 915e: 9a1b ldr r2, [sp, #108] ; 0x6c - 9160: f9b2 2002 ldrsh.w r2, [r2, #2] - 9164: 1a9b subs r3, r3, r2 - 9166: 9322 str r3, [sp, #136] ; 0x88 + 913a: 9b18 ldr r3, [sp, #96] ; 0x60 + 913c: f9b3 3012 ldrsh.w r3, [r3, #18] + 9140: f9bd 20ea ldrsh.w r2, [sp, #234] ; 0xea + 9144: 4413 add r3, r2 + 9146: 9a1b ldr r2, [sp, #108] ; 0x6c + 9148: f9b2 2002 ldrsh.w r2, [r2, #2] + 914c: 1a9b subs r3, r3, r2 + 914e: 9322 str r3, [sp, #136] ; 0x88 #endif for(y = 0; y < draw_area_h; y++) { - 9168: 961f str r6, [sp, #124] ; 0x7c - 916a: 2e00 cmp r6, #0 - 916c: f340 81e4 ble.w 9538 + 9150: 961f str r6, [sp, #124] ; 0x7c + 9152: 2e00 cmp r6, #0 + 9154: f340 81e4 ble.w 9520 else if(mask_res_sub == LV_DRAW_MASK_RES_CHANGED) { mask_res = LV_DRAW_MASK_RES_CHANGED; } } map_buf_tmp += map_w * px_size_byte; - 9170: fb08 f305 mul.w r3, r8, r5 - 9174: 931e str r3, [sp, #120] ; 0x78 - 9176: 2300 movs r3, #0 - 9178: 930e str r3, [sp, #56] ; 0x38 - 917a: 930f str r3, [sp, #60] ; 0x3c + 9158: fb08 f305 mul.w r3, r8, r5 + 915c: 931e str r3, [sp, #120] ; 0x78 + 915e: 2300 movs r3, #0 + 9160: 930e str r3, [sp, #56] ; 0x38 + 9162: 930f str r3, [sp, #60] ; 0x3c } } else { pxi = 0; /*unused*/ px_size = 0; /*unused*/ dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color); - 917c: 46d1 mov r9, sl - 917e: e154 b.n 942a + 9164: 46d1 mov r9, sl + 9166: e154 b.n 9412 mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 9180: 2302 movs r3, #2 - 9182: 931d str r3, [sp, #116] ; 0x74 - 9184: e7e3 b.n 914e - 9186: 2302 movs r3, #2 - 9188: 931d str r3, [sp, #116] ; 0x74 - 918a: e7e0 b.n 914e + 9168: 2302 movs r3, #2 + 916a: 931d str r3, [sp, #116] ; 0x74 + 916c: e7e3 b.n 9136 + 916e: 2302 movs r3, #2 + 9170: 931d str r3, [sp, #116] ; 0x74 + 9172: e7e0 b.n 9136 _lv_memset_ff(mask_buf, mask_buf_size); - 918c: 991c ldr r1, [sp, #112] ; 0x70 - 918e: 9817 ldr r0, [sp, #92] ; 0x5c - 9190: 4b6b ldr r3, [pc, #428] ; (9340 ) - 9192: 4798 blx r3 - 9194: e7dd b.n 9152 + 9174: 991c ldr r1, [sp, #112] ; 0x70 + 9176: 9817 ldr r0, [sp, #92] ; 0x5c + 9178: 4b6b ldr r3, [pc, #428] ; (9328 ) + 917a: 4798 blx r3 + 917c: e7dd b.n 913a int32_t xt = x - dsc->cfg.pivot_x; - 9196: 9b0c ldr r3, [sp, #48] ; 0x30 - 9198: 442b add r3, r5 - 919a: b21b sxth r3, r3 - 919c: f9bd 20a8 ldrsh.w r2, [sp, #168] ; 0xa8 - 91a0: 1a9b subs r3, r3, r2 + 917e: 9b0c ldr r3, [sp, #48] ; 0x30 + 9180: 442b add r3, r5 + 9182: b21b sxth r3, r3 + 9184: f9bd 20a8 ldrsh.w r2, [sp, #168] ; 0xa8 + 9188: 1a9b subs r3, r3, r2 int32_t yt = y - dsc->cfg.pivot_y; - 91a2: f9bd 20aa ldrsh.w r2, [sp, #170] ; 0xaa - 91a6: 990d ldr r1, [sp, #52] ; 0x34 - 91a8: 1a8a subs r2, r1, r2 + 918a: f9bd 20aa ldrsh.w r2, [sp, #170] ; 0xaa + 918e: 990d ldr r1, [sp, #52] ; 0x34 + 9190: 1a8a subs r2, r1, r2 if(dsc->cfg.zoom == LV_IMG_ZOOM_NONE) { - 91aa: f8bd 10ae ldrh.w r1, [sp, #174] ; 0xae - 91ae: f5b1 7f80 cmp.w r1, #256 ; 0x100 - 91b2: d056 beq.n 9262 + 9192: f8bd 10ae ldrh.w r1, [sp, #174] ; 0xae + 9196: f5b1 7f80 cmp.w r1, #256 ; 0x100 + 919a: d056 beq.n 924a else if(dsc->cfg.angle == 0) { - 91b4: f9bd 10ac ldrsh.w r1, [sp, #172] ; 0xac - 91b8: 2900 cmp r1, #0 - 91ba: d165 bne.n 9288 + 919c: f9bd 10ac ldrsh.w r1, [sp, #172] ; 0xac + 91a0: 2900 cmp r1, #0 + 91a2: d165 bne.n 9270 xt *= dsc->tmp.zoom_inv; - 91bc: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 + 91a4: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 xs = xt + dsc->tmp.pivot_x_256; - 91c0: 9c31 ldr r4, [sp, #196] ; 0xc4 - 91c2: fb01 4303 mla r3, r1, r3, r4 - 91c6: 9309 str r3, [sp, #36] ; 0x24 + 91a8: 9c31 ldr r4, [sp, #196] ; 0xc4 + 91aa: fb01 4303 mla r3, r1, r3, r4 + 91ae: 9309 str r3, [sp, #36] ; 0x24 ys = yt + dsc->tmp.pivot_y_256; - 91c8: 9b32 ldr r3, [sp, #200] ; 0xc8 - 91ca: fb01 3302 mla r3, r1, r2, r3 - 91ce: 930b str r3, [sp, #44] ; 0x2c + 91b0: 9b32 ldr r3, [sp, #200] ; 0xc8 + 91b2: fb01 3302 mla r3, r1, r2, r3 + 91b6: 930b str r3, [sp, #44] ; 0x2c int32_t xs_int = xs >> 8; - 91d0: 9b09 ldr r3, [sp, #36] ; 0x24 - 91d2: 121f asrs r7, r3, #8 + 91b8: 9b09 ldr r3, [sp, #36] ; 0x24 + 91ba: 121f asrs r7, r3, #8 if(xs_int >= dsc->cfg.src_w) return false; - 91d4: f9bd 30a4 ldrsh.w r3, [sp, #164] ; 0xa4 - 91d8: 429f cmp r7, r3 - 91da: f280 80ab bge.w 9334 + 91bc: f9bd 30a4 ldrsh.w r3, [sp, #164] ; 0xa4 + 91c0: 429f cmp r7, r3 + 91c2: f280 80ab bge.w 931c else if(xs_int < 0) return false; - 91de: 2f00 cmp r7, #0 - 91e0: f2c0 80a8 blt.w 9334 + 91c6: 2f00 cmp r7, #0 + 91c8: f2c0 80a8 blt.w 931c int32_t ys_int = ys >> 8; - 91e4: 9a0b ldr r2, [sp, #44] ; 0x2c - 91e6: 1212 asrs r2, r2, #8 - 91e8: 4610 mov r0, r2 - 91ea: 9215 str r2, [sp, #84] ; 0x54 + 91cc: 9a0b ldr r2, [sp, #44] ; 0x2c + 91ce: 1212 asrs r2, r2, #8 + 91d0: 4610 mov r0, r2 + 91d2: 9215 str r2, [sp, #84] ; 0x54 if(ys_int >= dsc->cfg.src_h) return false; - 91ec: f9bd 20a6 ldrsh.w r2, [sp, #166] ; 0xa6 - 91f0: 4290 cmp r0, r2 - 91f2: f280 809f bge.w 9334 + 91d4: f9bd 20a6 ldrsh.w r2, [sp, #166] ; 0xa6 + 91d8: 4290 cmp r0, r2 + 91da: f280 809f bge.w 931c else if(ys_int < 0) return false; - 91f6: 2800 cmp r0, #0 - 91f8: f2c0 809c blt.w 9334 + 91de: 2800 cmp r0, #0 + 91e0: f2c0 809c blt.w 931c if(dsc->tmp.native_color) { - 91fc: f89d 20d4 ldrb.w r2, [sp, #212] ; 0xd4 - 9200: f012 0f04 tst.w r2, #4 - 9204: d06a beq.n 92dc + 91e4: f89d 20d4 ldrb.w r2, [sp, #212] ; 0xd4 + 91e8: f012 0f04 tst.w r2, #4 + 91ec: d06a beq.n 92c4 const uint8_t * src_u8 = (const uint8_t *)dsc->cfg.src; - 9206: 9928 ldr r1, [sp, #160] ; 0xa0 + 91ee: 9928 ldr r1, [sp, #160] ; 0xa0 if(dsc->tmp.has_alpha == 0) { - 9208: f012 0f02 tst.w r2, #2 - 920c: d155 bne.n 92ba + 91f0: f012 0f02 tst.w r2, #2 + 91f4: d155 bne.n 92a2 pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size; - 920e: fb03 7300 mla r3, r3, r0, r7 - 9212: 005a lsls r2, r3, #1 + 91f6: fb03 7300 mla r3, r3, r0, r7 + 91fa: 005a lsls r2, r3, #1 _lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size); - 9214: 1888 adds r0, r1, r2 + 91fc: 1888 adds r0, r1, r2 *d8 = *s8; - 9216: f811 3013 ldrb.w r3, [r1, r3, lsl #1] - 921a: f88d 30b4 strb.w r3, [sp, #180] ; 0xb4 - 921e: 7843 ldrb r3, [r0, #1] - 9220: f88d 30b5 strb.w r3, [sp, #181] ; 0xb5 + 91fe: f811 3013 ldrb.w r3, [r1, r3, lsl #1] + 9202: f88d 30b4 strb.w r3, [sp, #180] ; 0xb4 + 9206: 7843 ldrb r3, [r0, #1] + 9208: f88d 30b5 strb.w r3, [sp, #181] ; 0xb5 px_size = LV_COLOR_SIZE >> 3; - 9224: 2102 movs r1, #2 + 920c: 2102 movs r1, #2 dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int); } if(dsc->tmp.chroma_keyed) { - 9226: f89d 30d4 ldrb.w r3, [sp, #212] ; 0xd4 - 922a: f013 0f01 tst.w r3, #1 - 922e: d00d beq.n 924c + 920e: f89d 30d4 ldrb.w r3, [sp, #212] ; 0xd4 + 9212: f013 0f01 tst.w r3, #1 + 9216: d00d beq.n 9234 lv_color_t ct = LV_COLOR_TRANSP; - 9230: 9b20 ldr r3, [sp, #128] ; 0x80 - 9232: f36f 0304 bfc r3, #0, #5 - 9236: f443 63fc orr.w r3, r3, #2016 ; 0x7e0 - 923a: f36f 23cf bfc r3, #11, #5 - 923e: f8ad 3080 strh.w r3, [sp, #128] ; 0x80 + 9218: 9b20 ldr r3, [sp, #128] ; 0x80 + 921a: f36f 0304 bfc r3, #0, #5 + 921e: f443 63fc orr.w r3, r3, #2016 ; 0x7e0 + 9222: f36f 23cf bfc r3, #11, #5 + 9226: f8ad 3080 strh.w r3, [sp, #128] ; 0x80 if(dsc->res.color.full == ct.full) return false; - 9242: f8bd 00b4 ldrh.w r0, [sp, #180] ; 0xb4 - 9246: b29b uxth r3, r3 - 9248: 4298 cmp r0, r3 - 924a: d073 beq.n 9334 + 922a: f8bd 00b4 ldrh.w r0, [sp, #180] ; 0xb4 + 922e: b29b uxth r3, r3 + 9230: 4298 cmp r0, r3 + 9232: d073 beq.n 931c } if(dsc->cfg.antialias == false) return true; - 924c: f89d 30b3 ldrb.w r3, [sp, #179] ; 0xb3 - 9250: 2b00 cmp r3, #0 - 9252: d159 bne.n 9308 + 9234: f89d 30b3 ldrb.w r3, [sp, #179] ; 0xb3 + 9238: 2b00 cmp r3, #0 + 923a: d159 bne.n 92f0 mask_buf[px_i] = trans_dsc.res.opa; - 9254: f89d 30b6 ldrb.w r3, [sp, #182] ; 0xb6 - 9258: f88a 3000 strb.w r3, [sl] + 923c: f89d 30b6 ldrb.w r3, [sp, #182] ; 0xb6 + 9240: f88a 3000 strb.w r3, [sl] c.full = trans_dsc.res.color.full; - 925c: f8bd 30b4 ldrh.w r3, [sp, #180] ; 0xb4 - 9260: e086 b.n 9370 + 9244: f8bd 30b4 ldrh.w r3, [sp, #180] ; 0xb4 + 9248: e086 b.n 9358 xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_x_256; - 9262: 9834 ldr r0, [sp, #208] ; 0xd0 - 9264: 9933 ldr r1, [sp, #204] ; 0xcc - 9266: fb00 f403 mul.w r4, r0, r3 - 926a: fb01 4712 mls r7, r1, r2, r4 - 926e: 9c31 ldr r4, [sp, #196] ; 0xc4 - 9270: eb04 14e7 add.w r4, r4, r7, asr #7 - 9274: 9409 str r4, [sp, #36] ; 0x24 + 924a: 9834 ldr r0, [sp, #208] ; 0xd0 + 924c: 9933 ldr r1, [sp, #204] ; 0xcc + 924e: fb00 f403 mul.w r4, r0, r3 + 9252: fb01 4712 mls r7, r1, r2, r4 + 9256: 9c31 ldr r4, [sp, #196] ; 0xc4 + 9258: eb04 14e7 add.w r4, r4, r7, asr #7 + 925c: 9409 str r4, [sp, #36] ; 0x24 ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT - 8)) + dsc->tmp.pivot_y_256; - 9276: fb00 f202 mul.w r2, r0, r2 - 927a: fb01 2303 mla r3, r1, r3, r2 - 927e: 9a32 ldr r2, [sp, #200] ; 0xc8 - 9280: eb02 13e3 add.w r3, r2, r3, asr #7 - 9284: 930b str r3, [sp, #44] ; 0x2c - 9286: e7a3 b.n 91d0 + 925e: fb00 f202 mul.w r2, r0, r2 + 9262: fb01 2303 mla r3, r1, r3, r2 + 9266: 9a32 ldr r2, [sp, #200] ; 0xc8 + 9268: eb02 13e3 add.w r3, r2, r3, asr #7 + 926c: 930b str r3, [sp, #44] ; 0x2c + 926e: e7a3 b.n 91b8 xt *= dsc->tmp.zoom_inv; - 9288: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 - 928c: fb01 f303 mul.w r3, r1, r3 + 9270: f8bd 10d6 ldrh.w r1, [sp, #214] ; 0xd6 + 9274: fb01 f303 mul.w r3, r1, r3 yt *= dsc->tmp.zoom_inv; - 9290: fb01 f202 mul.w r2, r1, r2 + 9278: fb01 f202 mul.w r2, r1, r2 xs = ((dsc->tmp.cosma * xt - dsc->tmp.sinma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_x_256; - 9294: 9934 ldr r1, [sp, #208] ; 0xd0 - 9296: 9833 ldr r0, [sp, #204] ; 0xcc - 9298: fb01 f403 mul.w r4, r1, r3 - 929c: fb00 4712 mls r7, r0, r2, r4 - 92a0: 9c31 ldr r4, [sp, #196] ; 0xc4 - 92a2: eb04 34e7 add.w r4, r4, r7, asr #15 - 92a6: 9409 str r4, [sp, #36] ; 0x24 + 927c: 9934 ldr r1, [sp, #208] ; 0xd0 + 927e: 9833 ldr r0, [sp, #204] ; 0xcc + 9280: fb01 f403 mul.w r4, r1, r3 + 9284: fb00 4712 mls r7, r0, r2, r4 + 9288: 9c31 ldr r4, [sp, #196] ; 0xc4 + 928a: eb04 34e7 add.w r4, r4, r7, asr #15 + 928e: 9409 str r4, [sp, #36] ; 0x24 ys = ((dsc->tmp.sinma * xt + dsc->tmp.cosma * yt) >> (LV_TRIGO_SHIFT)) + dsc->tmp.pivot_y_256; - 92a8: fb01 f202 mul.w r2, r1, r2 - 92ac: fb00 2303 mla r3, r0, r3, r2 - 92b0: 9a32 ldr r2, [sp, #200] ; 0xc8 - 92b2: eb02 33e3 add.w r3, r2, r3, asr #15 - 92b6: 930b str r3, [sp, #44] ; 0x2c - 92b8: e78a b.n 91d0 + 9290: fb01 f202 mul.w r2, r1, r2 + 9294: fb00 2303 mla r3, r0, r3, r2 + 9298: 9a32 ldr r2, [sp, #200] ; 0xc8 + 929a: eb02 33e3 add.w r3, r2, r3, asr #15 + 929e: 930b str r3, [sp, #44] ; 0x2c + 92a0: e78a b.n 91b8 pxi = dsc->cfg.src_w * ys_int * px_size + xs_int * px_size; - 92ba: 9a15 ldr r2, [sp, #84] ; 0x54 - 92bc: fb03 7302 mla r3, r3, r2, r7 - 92c0: eb03 0243 add.w r2, r3, r3, lsl #1 + 92a2: 9a15 ldr r2, [sp, #84] ; 0x54 + 92a4: fb03 7302 mla r3, r3, r2, r7 + 92a8: eb03 0243 add.w r2, r3, r3, lsl #1 _lv_memcpy_small(&dsc->res.color, &src_u8[pxi], px_size - 1); - 92c4: 188b adds r3, r1, r2 - 92c6: 5c89 ldrb r1, [r1, r2] - 92c8: f88d 10b4 strb.w r1, [sp, #180] ; 0xb4 - 92cc: 7859 ldrb r1, [r3, #1] - 92ce: f88d 10b5 strb.w r1, [sp, #181] ; 0xb5 + 92ac: 188b adds r3, r1, r2 + 92ae: 5c89 ldrb r1, [r1, r2] + 92b0: f88d 10b4 strb.w r1, [sp, #180] ; 0xb4 + 92b4: 7859 ldrb r1, [r3, #1] + 92b6: f88d 10b5 strb.w r1, [sp, #181] ; 0xb5 dsc->res.opa = src_u8[pxi + px_size - 1]; - 92d2: 789b ldrb r3, [r3, #2] - 92d4: f88d 30b6 strb.w r3, [sp, #182] ; 0xb6 + 92ba: 789b ldrb r3, [r3, #2] + 92bc: f88d 30b6 strb.w r3, [sp, #182] ; 0xb6 px_size = LV_IMG_PX_SIZE_ALPHA_BYTE; - 92d8: 2103 movs r1, #3 - 92da: e7a4 b.n 9226 + 92c0: 2103 movs r1, #3 + 92c2: e7a4 b.n 920e dsc->res.color = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, xs_int, ys_int, dsc->cfg.color); - 92dc: b239 sxth r1, r7 - 92de: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 - 92e2: f8bd 30b0 ldrh.w r3, [sp, #176] ; 0xb0 - 92e6: 9225 str r2, [sp, #148] ; 0x94 - 92e8: 9124 str r1, [sp, #144] ; 0x90 - 92ea: a82e add r0, sp, #184 ; 0xb8 - 92ec: 4c15 ldr r4, [pc, #84] ; (9344 ) - 92ee: 47a0 blx r4 - 92f0: f8ad 00b4 strh.w r0, [sp, #180] ; 0xb4 + 92c4: b239 sxth r1, r7 + 92c6: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 + 92ca: f8bd 30b0 ldrh.w r3, [sp, #176] ; 0xb0 + 92ce: 9225 str r2, [sp, #148] ; 0x94 + 92d0: 9124 str r1, [sp, #144] ; 0x90 + 92d2: a82e add r0, sp, #184 ; 0xb8 + 92d4: 4c15 ldr r4, [pc, #84] ; (932c ) + 92d6: 47a0 blx r4 + 92d8: f8ad 00b4 strh.w r0, [sp, #180] ; 0xb4 dsc->res.opa = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, xs_int, ys_int); - 92f4: 9a25 ldr r2, [sp, #148] ; 0x94 - 92f6: 9924 ldr r1, [sp, #144] ; 0x90 - 92f8: a82e add r0, sp, #184 ; 0xb8 - 92fa: 4b13 ldr r3, [pc, #76] ; (9348 ) - 92fc: 4798 blx r3 - 92fe: f88d 00b6 strb.w r0, [sp, #182] ; 0xb6 + 92dc: 9a25 ldr r2, [sp, #148] ; 0x94 + 92de: 9924 ldr r1, [sp, #144] ; 0x90 + 92e0: a82e add r0, sp, #184 ; 0xb8 + 92e2: 4b13 ldr r3, [pc, #76] ; (9330 ) + 92e4: 4798 blx r3 + 92e6: f88d 00b6 strb.w r0, [sp, #182] ; 0xb6 pxi = 0; /*unused*/ - 9302: 2200 movs r2, #0 + 92ea: 2200 movs r2, #0 px_size = 0; /*unused*/ - 9304: 4611 mov r1, r2 - 9306: e78e b.n 9226 + 92ec: 4611 mov r1, r2 + 92ee: e78e b.n 920e dsc->tmp.xs = xs; - 9308: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 930c: f8ad 30d8 strh.w r3, [sp, #216] ; 0xd8 + 92f0: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 92f4: f8ad 30d8 strh.w r3, [sp, #216] ; 0xd8 dsc->tmp.ys = ys; - 9310: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c - 9314: f8ad 30da strh.w r3, [sp, #218] ; 0xda + 92f8: f8bd 302c ldrh.w r3, [sp, #44] ; 0x2c + 92fc: f8ad 30da strh.w r3, [sp, #218] ; 0xda dsc->tmp.xs_int = xs_int; - 9318: f8ad 70dc strh.w r7, [sp, #220] ; 0xdc + 9300: f8ad 70dc strh.w r7, [sp, #220] ; 0xdc dsc->tmp.ys_int = ys_int; - 931c: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 - 9320: f8ad 30de strh.w r3, [sp, #222] ; 0xde + 9304: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 + 9308: f8ad 30de strh.w r3, [sp, #222] ; 0xde dsc->tmp.pxi = pxi; - 9324: 9238 str r2, [sp, #224] ; 0xe0 + 930c: 9238 str r2, [sp, #224] ; 0xe0 dsc->tmp.px_size = px_size; - 9326: f88d 10e4 strb.w r1, [sp, #228] ; 0xe4 + 930e: f88d 10e4 strb.w r1, [sp, #228] ; 0xe4 bool ret; ret = _lv_img_buf_transform_anti_alias(dsc); - 932a: a828 add r0, sp, #160 ; 0xa0 - 932c: 4b07 ldr r3, [pc, #28] ; (934c ) - 932e: 4798 blx r3 + 9312: a828 add r0, sp, #160 ; 0xa0 + 9314: 4b07 ldr r3, [pc, #28] ; (9334 ) + 9316: 4798 blx r3 if(ret == false) { - 9330: 2800 cmp r0, #0 - 9332: d18f bne.n 9254 + 9318: 2800 cmp r0, #0 + 931a: d18f bne.n 923c mask_buf[px_i] = LV_OPA_TRANSP; - 9334: 2300 movs r3, #0 - 9336: f88a 3000 strb.w r3, [sl] + 931c: 2300 movs r3, #0 + 931e: f88a 3000 strb.w r3, [sl] continue; - 933a: e03d b.n 93b8 - 933c: 0000eb4d .word 0x0000eb4d - 9340: 00012bed .word 0x00012bed - 9344: 0000e919 .word 0x0000e919 - 9348: 0000ea49 .word 0x0000ea49 - 934c: 0000edfd .word 0x0000edfd - 9350: 000007e0 .word 0x000007e0 + 9322: e03d b.n 93a0 + 9324: 0000eb35 .word 0x0000eb35 + 9328: 00012bd5 .word 0x00012bd5 + 932c: 0000e901 .word 0x0000e901 + 9330: 0000ea31 .word 0x0000ea31 + 9334: 0000ede5 .word 0x0000ede5 + 9338: 000007e0 .word 0x000007e0 mask_buf[px_i] = 0xFF; - 9354: 23ff movs r3, #255 ; 0xff - 9356: f88a 3000 strb.w r3, [sl] + 933c: 23ff movs r3, #255 ; 0xff + 933e: f88a 3000 strb.w r3, [sl] c.full = map_px[0] + (map_px[1] << 8); - 935a: 7872 ldrb r2, [r6, #1] - 935c: 7833 ldrb r3, [r6, #0] - 935e: eb03 2302 add.w r3, r3, r2, lsl #8 - 9362: b29b uxth r3, r3 + 9342: 7872 ldrb r2, [r6, #1] + 9344: 7833 ldrb r3, [r6, #0] + 9346: eb03 2302 add.w r3, r3, r2, lsl #8 + 934a: b29b uxth r3, r3 if(chroma_key) { - 9364: 9a0a ldr r2, [sp, #40] ; 0x28 - 9366: b11a cbz r2, 9370 + 934c: 9a0a ldr r2, [sp, #40] ; 0x28 + 934e: b11a cbz r2, 9358 if(c.full == chroma_keyed_color.full) { - 9368: f83f 201c ldrh.w r2, [pc, #-28] ; 9350 - 936c: 429a cmp r2, r3 - 936e: d036 beq.n 93de + 9350: f83f 201c ldrh.w r2, [pc, #-28] ; 9338 + 9354: 429a cmp r2, r3 + 9356: d036 beq.n 93c6 if(draw_dsc->recolor_opa != 0) { - 9370: 9a08 ldr r2, [sp, #32] - 9372: 7a92 ldrb r2, [r2, #10] - 9374: b1ea cbz r2, 93b2 + 9358: 9a08 ldr r2, [sp, #32] + 935a: 7a92 ldrb r2, [r2, #10] + 935c: b1ea cbz r2, 939a LV_COLOR_SET_R(ret, (uint16_t)((uint16_t) premult_c1[0] + LV_COLOR_GET_R(c2) * mix) >> 8); - 9376: f8bd 2048 ldrh.w r2, [sp, #72] ; 0x48 - 937a: 0ad9 lsrs r1, r3, #11 - 937c: 9810 ldr r0, [sp, #64] ; 0x40 - 937e: fb01 0102 mla r1, r1, r2, r0 - 9382: f3c1 2104 ubfx r1, r1, #8, #5 + 935e: f8bd 2048 ldrh.w r2, [sp, #72] ; 0x48 + 9362: 0ad9 lsrs r1, r3, #11 + 9364: 9810 ldr r0, [sp, #64] ; 0x40 + 9366: fb01 0102 mla r1, r1, r2, r0 + 936a: f3c1 2104 ubfx r1, r1, #8, #5 LV_COLOR_SET_G(ret, (uint16_t)((uint16_t) premult_c1[1] + LV_COLOR_GET_G(c2) * mix) >> 8); - 9386: f3c3 1045 ubfx r0, r3, #5, #6 - 938a: 9c11 ldr r4, [sp, #68] ; 0x44 - 938c: fb00 4002 mla r0, r0, r2, r4 - 9390: f3c0 2005 ubfx r0, r0, #8, #6 + 936e: f3c3 1045 ubfx r0, r3, #5, #6 + 9372: 9c11 ldr r4, [sp, #68] ; 0x44 + 9374: fb00 4002 mla r0, r0, r2, r4 + 9378: f3c0 2005 ubfx r0, r0, #8, #6 LV_COLOR_SET_B(ret, (uint16_t)((uint16_t) premult_c1[2] + LV_COLOR_GET_B(c2) * mix) >> 8); - 9394: f003 031f and.w r3, r3, #31 - 9398: 9c13 ldr r4, [sp, #76] ; 0x4c - 939a: fb03 4302 mla r3, r3, r2, r4 - 939e: f3c3 2307 ubfx r3, r3, #8, #8 - 93a2: f363 0904 bfi r9, r3, #0, #5 - 93a6: f360 194a bfi r9, r0, #5, #6 - 93aa: f361 29cf bfi r9, r1, #11, #5 - 93ae: fa1f f389 uxth.w r3, r9 + 937c: f003 031f and.w r3, r3, #31 + 9380: 9c13 ldr r4, [sp, #76] ; 0x4c + 9382: fb03 4302 mla r3, r3, r2, r4 + 9386: f3c3 2307 ubfx r3, r3, #8, #8 + 938a: f363 0904 bfi r9, r3, #0, #5 + 938e: f360 194a bfi r9, r0, #5, #6 + 9392: f361 29cf bfi r9, r1, #11, #5 + 9396: fa1f f389 uxth.w r3, r9 map2[px_i].full = c.full; - 93b2: 9a07 ldr r2, [sp, #28] - 93b4: f822 3015 strh.w r3, [r2, r5, lsl #1] + 939a: 9a07 ldr r2, [sp, #28] + 939c: f822 3015 strh.w r3, [r2, r5, lsl #1] for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 93b8: 3501 adds r5, #1 - 93ba: 445e add r6, fp - 93bc: f10a 0a01 add.w sl, sl, #1 - 93c0: 4545 cmp r5, r8 - 93c2: d010 beq.n 93e6 + 93a0: 3501 adds r5, #1 + 93a2: 445e add r6, fp + 93a4: f10a 0a01 add.w sl, sl, #1 + 93a8: 4545 cmp r5, r8 + 93aa: d010 beq.n 93ce if(transform) { - 93c4: 9b05 ldr r3, [sp, #20] - 93c6: 2b00 cmp r3, #0 - 93c8: f47f aee5 bne.w 9196 + 93ac: 9b05 ldr r3, [sp, #20] + 93ae: 2b00 cmp r3, #0 + 93b0: f47f aee5 bne.w 917e if(alpha_byte) { - 93cc: 9b06 ldr r3, [sp, #24] - 93ce: 2b00 cmp r3, #0 - 93d0: d0c0 beq.n 9354 + 93b4: 9b06 ldr r3, [sp, #24] + 93b6: 2b00 cmp r3, #0 + 93b8: d0c0 beq.n 933c lv_opa_t px_opa = map_px[LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - 93d2: 78b3 ldrb r3, [r6, #2] + 93ba: 78b3 ldrb r3, [r6, #2] mask_buf[px_i] = px_opa; - 93d4: f88a 3000 strb.w r3, [sl] + 93bc: f88a 3000 strb.w r3, [sl] if(px_opa == 0) { - 93d8: 2b00 cmp r3, #0 - 93da: d0ed beq.n 93b8 - 93dc: e7bd b.n 935a + 93c0: 2b00 cmp r3, #0 + 93c2: d0ed beq.n 93a0 + 93c4: e7bd b.n 9342 mask_buf[px_i] = LV_OPA_TRANSP; - 93de: 2300 movs r3, #0 - 93e0: f88a 3000 strb.w r3, [sl] + 93c6: 2300 movs r3, #0 + 93c8: f88a 3000 strb.w r3, [sl] continue; - 93e4: e7e8 b.n 93b8 - 93e6: 9b16 ldr r3, [sp, #88] ; 0x58 - 93e8: 9a0f ldr r2, [sp, #60] ; 0x3c - 93ea: 189c adds r4, r3, r2 + 93cc: e7e8 b.n 93a0 + 93ce: 9b16 ldr r3, [sp, #88] ; 0x58 + 93d0: 9a0f ldr r2, [sp, #60] ; 0x3c + 93d2: 189c adds r4, r3, r2 if(other_mask_cnt) { - 93ec: 9b19 ldr r3, [sp, #100] ; 0x64 - 93ee: 2b00 cmp r3, #0 - 93f0: d13e bne.n 9470 + 93d4: 9b19 ldr r3, [sp, #100] ; 0x64 + 93d6: 2b00 cmp r3, #0 + 93d8: d13e bne.n 9458 map_buf_tmp += map_w * px_size_byte; - 93f2: 9b14 ldr r3, [sp, #80] ; 0x50 - 93f4: 9a1e ldr r2, [sp, #120] ; 0x78 - 93f6: 4413 add r3, r2 - 93f8: 9314 str r3, [sp, #80] ; 0x50 + 93da: 9b14 ldr r3, [sp, #80] ; 0x50 + 93dc: 9a1e ldr r2, [sp, #120] ; 0x78 + 93de: 4413 add r3, r2 + 93e0: 9314 str r3, [sp, #80] ; 0x50 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 93fa: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 93fe: 3301 adds r3, #1 - 9400: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 - 9404: 1a9b subs r3, r3, r2 + 93e2: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 93e6: 3301 adds r3, #1 + 93e8: f8bd 20e8 ldrh.w r2, [sp, #232] ; 0xe8 + 93ec: 1a9b subs r3, r3, r2 if(px_i + lv_area_get_width(&draw_area) < mask_buf_size) { - 9406: fa04 f383 sxtah r3, r4, r3 - 940a: 9a1c ldr r2, [sp, #112] ; 0x70 - 940c: 429a cmp r2, r3 - 940e: d95c bls.n 94ca + 93ee: fa04 f383 sxtah r3, r4, r3 + 93f2: 9a1c ldr r2, [sp, #112] ; 0x70 + 93f4: 429a cmp r2, r3 + 93f6: d95c bls.n 94b2 blend_area.y2 ++; - 9410: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 9414: 3301 adds r3, #1 - 9416: f8ad 309e strh.w r3, [sp, #158] ; 0x9e - 941a: 940f str r4, [sp, #60] ; 0x3c + 93f8: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 93fc: 3301 adds r3, #1 + 93fe: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 9402: 940f str r4, [sp, #60] ; 0x3c for(y = 0; y < draw_area_h; y++) { - 941c: 9b0e ldr r3, [sp, #56] ; 0x38 - 941e: 3301 adds r3, #1 - 9420: 930e str r3, [sp, #56] ; 0x38 - 9422: 9a1f ldr r2, [sp, #124] ; 0x7c - 9424: 4293 cmp r3, r2 - 9426: f000 8087 beq.w 9538 + 9404: 9b0e ldr r3, [sp, #56] ; 0x38 + 9406: 3301 adds r3, #1 + 9408: 930e str r3, [sp, #56] ; 0x38 + 940a: 9a1f ldr r2, [sp, #124] ; 0x7c + 940c: 4293 cmp r3, r2 + 940e: f000 8087 beq.w 9520 int32_t rot_x = disp_area->x1 + draw_area.x1 - map_area->x1; - 942a: 9b18 ldr r3, [sp, #96] ; 0x60 - 942c: f9b3 3010 ldrsh.w r3, [r3, #16] - 9430: f9bd 20e8 ldrsh.w r2, [sp, #232] ; 0xe8 - 9434: 4413 add r3, r2 - 9436: 9a1b ldr r2, [sp, #108] ; 0x6c - 9438: f9b2 2000 ldrsh.w r2, [r2] - 943c: 1a9b subs r3, r3, r2 - 943e: 930c str r3, [sp, #48] ; 0x30 + 9412: 9b18 ldr r3, [sp, #96] ; 0x60 + 9414: f9b3 3010 ldrsh.w r3, [r3, #16] + 9418: f9bd 20e8 ldrsh.w r2, [sp, #232] ; 0xe8 + 941c: 4413 add r3, r2 + 941e: 9a1b ldr r2, [sp, #108] ; 0x6c + 9420: f9b2 2000 ldrsh.w r2, [r2] + 9424: 1a9b subs r3, r3, r2 + 9426: 930c str r3, [sp, #48] ; 0x30 for(x = 0; x < draw_area_w; x++, map_px += px_size_byte, px_i++) { - 9440: 9b16 ldr r3, [sp, #88] ; 0x58 - 9442: 4698 mov r8, r3 - 9444: 2b00 cmp r3, #0 - 9446: dd11 ble.n 946c - 9448: 9b17 ldr r3, [sp, #92] ; 0x5c - 944a: 4619 mov r1, r3 - 944c: 9a0f ldr r2, [sp, #60] ; 0x3c - 944e: eb01 0a02 add.w sl, r1, r2 - 9452: 9b1a ldr r3, [sp, #104] ; 0x68 - 9454: 4619 mov r1, r3 - 9456: eb01 0342 add.w r3, r1, r2, lsl #1 - 945a: 9307 str r3, [sp, #28] - 945c: 9e14 ldr r6, [sp, #80] ; 0x50 - 945e: 2500 movs r5, #0 + 9428: 9b16 ldr r3, [sp, #88] ; 0x58 + 942a: 4698 mov r8, r3 + 942c: 2b00 cmp r3, #0 + 942e: dd11 ble.n 9454 + 9430: 9b17 ldr r3, [sp, #92] ; 0x5c + 9432: 4619 mov r1, r3 + 9434: 9a0f ldr r2, [sp, #60] ; 0x3c + 9436: eb01 0a02 add.w sl, r1, r2 + 943a: 9b1a ldr r3, [sp, #104] ; 0x68 + 943c: 4619 mov r1, r3 + 943e: eb01 0342 add.w r3, r1, r2, lsl #1 + 9442: 9307 str r3, [sp, #28] + 9444: 9e14 ldr r6, [sp, #80] ; 0x50 + 9446: 2500 movs r5, #0 int32_t yt = y - dsc->cfg.pivot_y; - 9460: 9b22 ldr r3, [sp, #136] ; 0x88 - 9462: 9a0e ldr r2, [sp, #56] ; 0x38 - 9464: 4413 add r3, r2 - 9466: b21b sxth r3, r3 - 9468: 930d str r3, [sp, #52] ; 0x34 - 946a: e7ab b.n 93c4 - 946c: 9c0f ldr r4, [sp, #60] ; 0x3c - 946e: e7bd b.n 93ec + 9448: 9b22 ldr r3, [sp, #136] ; 0x88 + 944a: 9a0e ldr r2, [sp, #56] ; 0x38 + 944c: 4413 add r3, r2 + 944e: b21b sxth r3, r3 + 9450: 930d str r3, [sp, #52] ; 0x34 + 9452: e7ab b.n 93ac + 9454: 9c0f ldr r4, [sp, #60] ; 0x3c + 9456: e7bd b.n 93d4 mask_res_sub = lv_draw_mask_apply(mask_buf + px_i_start, draw_area.x1 + vdb->area.x1, y + draw_area.y1 + vdb->area.y1, - 9470: 9b0f ldr r3, [sp, #60] ; 0x3c - 9472: 9a17 ldr r2, [sp, #92] ; 0x5c - 9474: 4413 add r3, r2 - 9476: 461e mov r6, r3 - 9478: f8bd 10e8 ldrh.w r1, [sp, #232] ; 0xe8 - 947c: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec - 9480: 3301 adds r3, #1 - 9482: 1a5b subs r3, r3, r1 - 9484: f8bd 20ea ldrh.w r2, [sp, #234] ; 0xea - 9488: 9d18 ldr r5, [sp, #96] ; 0x60 - 948a: 8a68 ldrh r0, [r5, #18] - 948c: 4402 add r2, r0 - 948e: 980e ldr r0, [sp, #56] ; 0x38 - 9490: 4402 add r2, r0 - 9492: 8a28 ldrh r0, [r5, #16] - 9494: 4401 add r1, r0 - 9496: b21b sxth r3, r3 - 9498: b212 sxth r2, r2 - 949a: b209 sxth r1, r1 - 949c: 4630 mov r0, r6 - 949e: 4d4e ldr r5, [pc, #312] ; (95d8 ) - 94a0: 47a8 blx r5 + 9458: 9b0f ldr r3, [sp, #60] ; 0x3c + 945a: 9a17 ldr r2, [sp, #92] ; 0x5c + 945c: 4413 add r3, r2 + 945e: 461e mov r6, r3 + 9460: f8bd 10e8 ldrh.w r1, [sp, #232] ; 0xe8 + 9464: f8bd 30ec ldrh.w r3, [sp, #236] ; 0xec + 9468: 3301 adds r3, #1 + 946a: 1a5b subs r3, r3, r1 + 946c: f8bd 20ea ldrh.w r2, [sp, #234] ; 0xea + 9470: 9d18 ldr r5, [sp, #96] ; 0x60 + 9472: 8a68 ldrh r0, [r5, #18] + 9474: 4402 add r2, r0 + 9476: 980e ldr r0, [sp, #56] ; 0x38 + 9478: 4402 add r2, r0 + 947a: 8a28 ldrh r0, [r5, #16] + 947c: 4401 add r1, r0 + 947e: b21b sxth r3, r3 + 9480: b212 sxth r2, r2 + 9482: b209 sxth r1, r1 + 9484: 4630 mov r0, r6 + 9486: 4d4e ldr r5, [pc, #312] ; (95c0 ) + 9488: 47a8 blx r5 if(mask_res_sub == LV_DRAW_MASK_RES_TRANSP) { - 94a2: b128 cbz r0, 94b0 + 948a: b128 cbz r0, 9498 mask_res = LV_DRAW_MASK_RES_CHANGED; - 94a4: 2802 cmp r0, #2 - 94a6: 9a1d ldr r2, [sp, #116] ; 0x74 - 94a8: bf08 it eq - 94aa: 4602 moveq r2, r0 - 94ac: 921d str r2, [sp, #116] ; 0x74 - 94ae: e7a0 b.n 93f2 - 94b0: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec - 94b4: 3101 adds r1, #1 - 94b6: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 - 94ba: 1ac9 subs r1, r1, r3 + 948c: 2802 cmp r0, #2 + 948e: 9a1d ldr r2, [sp, #116] ; 0x74 + 9490: bf08 it eq + 9492: 4602 moveq r2, r0 + 9494: 921d str r2, [sp, #116] ; 0x74 + 9496: e7a0 b.n 93da + 9498: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec + 949c: 3101 adds r1, #1 + 949e: f8bd 30e8 ldrh.w r3, [sp, #232] ; 0xe8 + 94a2: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + px_i_start, lv_area_get_width(&draw_area)); - 94bc: b209 sxth r1, r1 - 94be: 4630 mov r0, r6 - 94c0: 4b46 ldr r3, [pc, #280] ; (95dc ) - 94c2: 4798 blx r3 + 94a4: b209 sxth r1, r1 + 94a6: 4630 mov r0, r6 + 94a8: 4b46 ldr r3, [pc, #280] ; (95c4 ) + 94aa: 4798 blx r3 mask_res = LV_DRAW_MASK_RES_CHANGED; - 94c4: 2302 movs r3, #2 - 94c6: 931d str r3, [sp, #116] ; 0x74 - 94c8: e793 b.n 93f2 + 94ac: 2302 movs r3, #2 + 94ae: 931d str r3, [sp, #116] ; 0x74 + 94b0: e793 b.n 93da } else { _lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode); - 94ca: 9d08 ldr r5, [sp, #32] - 94cc: 7bab ldrb r3, [r5, #14] - 94ce: 9302 str r3, [sp, #8] - 94d0: 782b ldrb r3, [r5, #0] - 94d2: 9301 str r3, [sp, #4] - 94d4: 9b1d ldr r3, [sp, #116] ; 0x74 - 94d6: 9300 str r3, [sp, #0] - 94d8: 9b17 ldr r3, [sp, #92] ; 0x5c - 94da: 9a1a ldr r2, [sp, #104] ; 0x68 - 94dc: a926 add r1, sp, #152 ; 0x98 - 94de: 9823 ldr r0, [sp, #140] ; 0x8c - 94e0: 4c3f ldr r4, [pc, #252] ; (95e0 ) - 94e2: 47a0 blx r4 + 94b2: 9d08 ldr r5, [sp, #32] + 94b4: 7bab ldrb r3, [r5, #14] + 94b6: 9302 str r3, [sp, #8] + 94b8: 782b ldrb r3, [r5, #0] + 94ba: 9301 str r3, [sp, #4] + 94bc: 9b1d ldr r3, [sp, #116] ; 0x74 + 94be: 9300 str r3, [sp, #0] + 94c0: 9b17 ldr r3, [sp, #92] ; 0x5c + 94c2: 9a1a ldr r2, [sp, #104] ; 0x68 + 94c4: a926 add r1, sp, #152 ; 0x98 + 94c6: 9823 ldr r0, [sp, #140] ; 0x8c + 94c8: 4c3f ldr r4, [pc, #252] ; (95c8 ) + 94ca: 47a0 blx r4 blend_area.y1 = blend_area.y2 + 1; - 94e4: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e - 94e8: 3301 adds r3, #1 - 94ea: b21b sxth r3, r3 - 94ec: f8ad 309a strh.w r3, [sp, #154] ; 0x9a + 94cc: f8bd 309e ldrh.w r3, [sp, #158] ; 0x9e + 94d0: 3301 adds r3, #1 + 94d2: b21b sxth r3, r3 + 94d4: f8ad 309a strh.w r3, [sp, #154] ; 0x9a blend_area.y2 = blend_area.y1; - 94f0: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 94d8: f8ad 309e strh.w r3, [sp, #158] ; 0x9e px_i = 0; mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 94f4: 9b06 ldr r3, [sp, #24] - 94f6: b95b cbnz r3, 9510 - 94f8: 9b0a ldr r3, [sp, #40] ; 0x28 - 94fa: b983 cbnz r3, 951e - 94fc: 886b ldrh r3, [r5, #2] - 94fe: b98b cbnz r3, 9524 - 9500: 892b ldrh r3, [r5, #8] - 9502: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 9506: bf14 ite ne - 9508: 2302 movne r3, #2 - 950a: 2301 moveq r3, #1 - 950c: 931d str r3, [sp, #116] ; 0x74 - 950e: e001 b.n 9514 - 9510: 2302 movs r3, #2 - 9512: 931d str r3, [sp, #116] ; 0x74 + 94dc: 9b06 ldr r3, [sp, #24] + 94de: b95b cbnz r3, 94f8 + 94e0: 9b0a ldr r3, [sp, #40] ; 0x28 + 94e2: b983 cbnz r3, 9506 + 94e4: 886b ldrh r3, [r5, #2] + 94e6: b98b cbnz r3, 950c + 94e8: 892b ldrh r3, [r5, #8] + 94ea: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 94ee: bf14 ite ne + 94f0: 2302 movne r3, #2 + 94f2: 2301 moveq r3, #1 + 94f4: 931d str r3, [sp, #116] ; 0x74 + 94f6: e001 b.n 94fc + 94f8: 2302 movs r3, #2 + 94fa: 931d str r3, [sp, #116] ; 0x74 draw_dsc->zoom != LV_IMG_ZOOM_NONE) ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; /*Prepare the `mask_buf`if there are other masks*/ if(other_mask_cnt) { - 9514: 9b19 ldr r3, [sp, #100] ; 0x64 - 9516: b943 cbnz r3, 952a + 94fc: 9b19 ldr r3, [sp, #100] ; 0x64 + 94fe: b943 cbnz r3, 9512 px_i = 0; - 9518: 2300 movs r3, #0 - 951a: 930f str r3, [sp, #60] ; 0x3c - 951c: e77e b.n 941c + 9500: 2300 movs r3, #0 + 9502: 930f str r3, [sp, #60] ; 0x3c + 9504: e77e b.n 9404 mask_res = (alpha_byte || chroma_key || draw_dsc->angle || - 951e: 2302 movs r3, #2 - 9520: 931d str r3, [sp, #116] ; 0x74 - 9522: e7f7 b.n 9514 - 9524: 2302 movs r3, #2 - 9526: 931d str r3, [sp, #116] ; 0x74 - 9528: e7f4 b.n 9514 + 9506: 2302 movs r3, #2 + 9508: 931d str r3, [sp, #116] ; 0x74 + 950a: e7f7 b.n 94fc + 950c: 2302 movs r3, #2 + 950e: 931d str r3, [sp, #116] ; 0x74 + 9510: e7f4 b.n 94fc _lv_memset_ff(mask_buf, mask_buf_size); - 952a: 991c ldr r1, [sp, #112] ; 0x70 - 952c: 9817 ldr r0, [sp, #92] ; 0x5c - 952e: 4b2d ldr r3, [pc, #180] ; (95e4 ) - 9530: 4798 blx r3 + 9512: 991c ldr r1, [sp, #112] ; 0x70 + 9514: 9817 ldr r0, [sp, #92] ; 0x5c + 9516: 4b2d ldr r3, [pc, #180] ; (95cc ) + 9518: 4798 blx r3 px_i = 0; - 9532: 2300 movs r3, #0 - 9534: 930f str r3, [sp, #60] ; 0x3c - 9536: e771 b.n 941c + 951a: 2300 movs r3, #0 + 951c: 930f str r3, [sp, #60] ; 0x3c + 951e: e771 b.n 9404 } } } /*Flush the last part*/ if(blend_area.y1 != blend_area.y2) { - 9538: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e - 953c: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a - 9540: 429a cmp r2, r3 - 9542: d00f beq.n 9564 + 9520: f9bd 309e ldrsh.w r3, [sp, #158] ; 0x9e + 9524: f9bd 209a ldrsh.w r2, [sp, #154] ; 0x9a + 9528: 429a cmp r2, r3 + 952a: d00f beq.n 954c blend_area.y2--; - 9544: 3b01 subs r3, #1 - 9546: f8ad 309e strh.w r3, [sp, #158] ; 0x9e + 952c: 3b01 subs r3, #1 + 952e: f8ad 309e strh.w r3, [sp, #158] ; 0x9e _lv_blend_map(clip_area, &blend_area, map2, mask_buf, mask_res, draw_dsc->opa, draw_dsc->blend_mode); - 954a: 9a08 ldr r2, [sp, #32] - 954c: 7b93 ldrb r3, [r2, #14] - 954e: 9302 str r3, [sp, #8] - 9550: 7813 ldrb r3, [r2, #0] - 9552: 9301 str r3, [sp, #4] - 9554: 9b1d ldr r3, [sp, #116] ; 0x74 - 9556: 9300 str r3, [sp, #0] - 9558: 9b17 ldr r3, [sp, #92] ; 0x5c - 955a: 9a1a ldr r2, [sp, #104] ; 0x68 - 955c: a926 add r1, sp, #152 ; 0x98 - 955e: 9823 ldr r0, [sp, #140] ; 0x8c - 9560: 4c1f ldr r4, [pc, #124] ; (95e0 ) - 9562: 47a0 blx r4 + 9532: 9a08 ldr r2, [sp, #32] + 9534: 7b93 ldrb r3, [r2, #14] + 9536: 9302 str r3, [sp, #8] + 9538: 7813 ldrb r3, [r2, #0] + 953a: 9301 str r3, [sp, #4] + 953c: 9b1d ldr r3, [sp, #116] ; 0x74 + 953e: 9300 str r3, [sp, #0] + 9540: 9b17 ldr r3, [sp, #92] ; 0x5c + 9542: 9a1a ldr r2, [sp, #104] ; 0x68 + 9544: a926 add r1, sp, #152 ; 0x98 + 9546: 9823 ldr r0, [sp, #140] ; 0x8c + 9548: 4c1f ldr r4, [pc, #124] ; (95c8 ) + 954a: 47a0 blx r4 } _lv_mem_buf_release(mask_buf); - 9564: 9817 ldr r0, [sp, #92] ; 0x5c - 9566: 4c20 ldr r4, [pc, #128] ; (95e8 ) - 9568: 47a0 blx r4 + 954c: 9817 ldr r0, [sp, #92] ; 0x5c + 954e: 4c20 ldr r4, [pc, #128] ; (95d0 ) + 9550: 47a0 blx r4 _lv_mem_buf_release(map2); - 956a: 981a ldr r0, [sp, #104] ; 0x68 - 956c: 47a0 blx r4 + 9552: 981a ldr r0, [sp, #104] ; 0x68 + 9554: 47a0 blx r4 } } } - 956e: b03d add sp, #244 ; 0xf4 - 9570: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 9556: b03d add sp, #244 ; 0xf4 + 9558: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 9574: 9b19 ldr r3, [sp, #100] ; 0x64 - 9576: bb13 cbnz r3, 95be - 9578: 2301 movs r3, #1 - 957a: 9305 str r3, [sp, #20] + 955c: 9b19 ldr r3, [sp, #100] ; 0x64 + 955e: bb13 cbnz r3, 95a6 + 9560: 2301 movs r3, #1 + 9562: 9305 str r3, [sp, #20] uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 957c: a83a add r0, sp, #232 ; 0xe8 - 957e: 4b1b ldr r3, [pc, #108] ; (95ec ) - 9580: 4798 blx r3 - 9582: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 9586: f67f ad6a bls.w 905e + 9564: a83a add r0, sp, #232 ; 0xe8 + 9566: 4b1b ldr r3, [pc, #108] ; (95d4 ) + 9568: 4798 blx r3 + 956a: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 956e: f67f ad6a bls.w 9046 lv_color_t * map2 = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - 958a: f44f 7070 mov.w r0, #960 ; 0x3c0 - 958e: 4c18 ldr r4, [pc, #96] ; (95f0 ) - 9590: 47a0 blx r4 - 9592: 901a str r0, [sp, #104] ; 0x68 + 9572: f44f 7070 mov.w r0, #960 ; 0x3c0 + 9576: 4c18 ldr r4, [pc, #96] ; (95d8 ) + 9578: 47a0 blx r4 + 957a: 901a str r0, [sp, #104] ; 0x68 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - 9594: f44f 70f0 mov.w r0, #480 ; 0x1e0 - 9598: 47a0 blx r4 - 959a: 9017 str r0, [sp, #92] ; 0x5c + 957c: f44f 70f0 mov.w r0, #480 ; 0x1e0 + 9580: 47a0 blx r4 + 9582: 9017 str r0, [sp, #92] ; 0x5c _lv_memset_00(&trans_dsc, sizeof(lv_img_transform_dsc_t)); - 959c: 2148 movs r1, #72 ; 0x48 - 959e: a828 add r0, sp, #160 ; 0xa0 - 95a0: 4b0e ldr r3, [pc, #56] ; (95dc ) - 95a2: 4798 blx r3 + 9584: 2148 movs r1, #72 ; 0x48 + 9586: a828 add r0, sp, #160 ; 0xa0 + 9588: 4b0e ldr r3, [pc, #56] ; (95c4 ) + 958a: 4798 blx r3 uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 95a4: f44f 73f0 mov.w r3, #480 ; 0x1e0 - 95a8: 931c str r3, [sp, #112] ; 0x70 + 958c: f44f 73f0 mov.w r3, #480 ; 0x1e0 + 9590: 931c str r3, [sp, #112] ; 0x70 if(alpha_byte) cf = LV_IMG_CF_TRUE_COLOR_ALPHA; - 95aa: 9b06 ldr r3, [sp, #24] - 95ac: 2b00 cmp r3, #0 - 95ae: f47f ad7b bne.w 90a8 + 9592: 9b06 ldr r3, [sp, #24] + 9594: 2b00 cmp r3, #0 + 9596: f47f ad7b bne.w 9090 else if(chroma_key) cf = LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED; - 95b2: 9b0a ldr r3, [sp, #40] ; 0x28 - 95b4: 2b00 cmp r3, #0 - 95b6: bf0c ite eq - 95b8: 2204 moveq r2, #4 - 95ba: 2206 movne r2, #6 - 95bc: e575 b.n 90aa + 959a: 9b0a ldr r3, [sp, #40] ; 0x28 + 959c: 2b00 cmp r3, #0 + 959e: bf0c ite eq + 95a0: 2204 moveq r2, #4 + 95a2: 2206 movne r2, #6 + 95a4: e575 b.n 9092 if(other_mask_cnt == 0 && !transform && !chroma_key && draw_dsc->recolor_opa == LV_OPA_TRANSP && alpha_byte) { - 95be: 2301 movs r3, #1 - 95c0: 9305 str r3, [sp, #20] + 95a6: 2301 movs r3, #1 + 95a8: 9305 str r3, [sp, #20] uint32_t mask_buf_size = lv_area_get_size(&draw_area) > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : lv_area_get_size(&draw_area); - 95c2: a83a add r0, sp, #232 ; 0xe8 - 95c4: 4b09 ldr r3, [pc, #36] ; (95ec ) - 95c6: 4798 blx r3 - 95c8: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - 95cc: f67f ad47 bls.w 905e - 95d0: f44f 73f0 mov.w r3, #480 ; 0x1e0 - 95d4: 931c str r3, [sp, #112] ; 0x70 - 95d6: e546 b.n 9066 - 95d8: 0000be1d .word 0x0000be1d - 95dc: 00012b37 .word 0x00012b37 - 95e0: 00008281 .word 0x00008281 - 95e4: 00012bed .word 0x00012bed - 95e8: 00012571 .word 0x00012571 - 95ec: 000114fd .word 0x000114fd - 95f0: 0001293d .word 0x0001293d - -000095f4 : + 95aa: a83a add r0, sp, #232 ; 0xe8 + 95ac: 4b09 ldr r3, [pc, #36] ; (95d4 ) + 95ae: 4798 blx r3 + 95b0: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + 95b4: f67f ad47 bls.w 9046 + 95b8: f44f 73f0 mov.w r3, #480 ; 0x1e0 + 95bc: 931c str r3, [sp, #112] ; 0x70 + 95be: e546 b.n 904e + 95c0: 0000be05 .word 0x0000be05 + 95c4: 00012b1f .word 0x00012b1f + 95c8: 00008269 .word 0x00008269 + 95cc: 00012bd5 .word 0x00012bd5 + 95d0: 00012559 .word 0x00012559 + 95d4: 000114e5 .word 0x000114e5 + 95d8: 00012925 .word 0x00012925 + +000095dc : static void show_error(const lv_area_t * coords, const lv_area_t * clip_area, const char * msg) { - 95f4: b570 push {r4, r5, r6, lr} - 95f6: b09e sub sp, #120 ; 0x78 - 95f8: 4604 mov r4, r0 - 95fa: 460d mov r5, r1 - 95fc: 4616 mov r6, r2 + 95dc: b570 push {r4, r5, r6, lr} + 95de: b09e sub sp, #120 ; 0x78 + 95e0: 4604 mov r4, r0 + 95e2: 460d mov r5, r1 + 95e4: 4616 mov r6, r2 lv_draw_rect_dsc_t rect_dsc; lv_draw_rect_dsc_init(&rect_dsc); - 95fe: a809 add r0, sp, #36 ; 0x24 - 9600: 4b0b ldr r3, [pc, #44] ; (9630 ) - 9602: 4798 blx r3 + 95e6: a809 add r0, sp, #36 ; 0x24 + 95e8: 4b0b ldr r3, [pc, #44] ; (9618 ) + 95ea: 4798 blx r3 rect_dsc.bg_color = LV_COLOR_WHITE; - 9604: 4b0b ldr r3, [pc, #44] ; (9634 ) - 9606: 881b ldrh r3, [r3, #0] - 9608: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 + 95ec: 4b0b ldr r3, [pc, #44] ; (961c ) + 95ee: 881b ldrh r3, [r3, #0] + 95f0: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 lv_draw_rect(coords, clip_area, &rect_dsc); - 960c: aa09 add r2, sp, #36 ; 0x24 - 960e: 4629 mov r1, r5 - 9610: 4620 mov r0, r4 - 9612: 4b09 ldr r3, [pc, #36] ; (9638 ) - 9614: 4798 blx r3 + 95f4: aa09 add r2, sp, #36 ; 0x24 + 95f6: 4629 mov r1, r5 + 95f8: 4620 mov r0, r4 + 95fa: 4b09 ldr r3, [pc, #36] ; (9620 ) + 95fc: 4798 blx r3 lv_draw_label_dsc_t label_dsc; lv_draw_label_dsc_init(&label_dsc); - 9616: a802 add r0, sp, #8 - 9618: 4b08 ldr r3, [pc, #32] ; (963c ) - 961a: 4798 blx r3 + 95fe: a802 add r0, sp, #8 + 9600: 4b08 ldr r3, [pc, #32] ; (9624 ) + 9602: 4798 blx r3 lv_draw_label(coords, clip_area, &label_dsc, msg, NULL); - 961c: 2300 movs r3, #0 - 961e: 9300 str r3, [sp, #0] - 9620: 4633 mov r3, r6 - 9622: aa02 add r2, sp, #8 - 9624: 4629 mov r1, r5 - 9626: 4620 mov r0, r4 - 9628: 4c05 ldr r4, [pc, #20] ; (9640 ) - 962a: 47a0 blx r4 -} - 962c: b01e add sp, #120 ; 0x78 - 962e: bd70 pop {r4, r5, r6, pc} - 9630: 0000c269 .word 0x0000c269 - 9634: 00024cb8 .word 0x00024cb8 - 9638: 0000c331 .word 0x0000c331 - 963c: 000099cd .word 0x000099cd - 9640: 00009a25 .word 0x00009a25 - -00009644 : -{ - 9644: b510 push {r4, lr} - 9646: 4604 mov r4, r0 + 9604: 2300 movs r3, #0 + 9606: 9300 str r3, [sp, #0] + 9608: 4633 mov r3, r6 + 960a: aa02 add r2, sp, #8 + 960c: 4629 mov r1, r5 + 960e: 4620 mov r0, r4 + 9610: 4c05 ldr r4, [pc, #20] ; (9628 ) + 9612: 47a0 blx r4 +} + 9614: b01e add sp, #120 ; 0x78 + 9616: bd70 pop {r4, r5, r6, pc} + 9618: 0000c251 .word 0x0000c251 + 961c: 00024ca0 .word 0x00024ca0 + 9620: 0000c319 .word 0x0000c319 + 9624: 000099b5 .word 0x000099b5 + 9628: 00009a0d .word 0x00009a0d + +0000962c : +{ + 962c: b510 push {r4, lr} + 962e: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_img_dsc_t)); - 9648: 2110 movs r1, #16 - 964a: 4b0c ldr r3, [pc, #48] ; (967c ) - 964c: 4798 blx r3 + 9630: 2110 movs r1, #16 + 9632: 4b0c ldr r3, [pc, #48] ; (9664 ) + 9634: 4798 blx r3 dsc->recolor = LV_COLOR_BLACK; - 964e: 7b23 ldrb r3, [r4, #12] - 9650: f36f 0304 bfc r3, #0, #5 - 9654: 7323 strb r3, [r4, #12] - 9656: 89a3 ldrh r3, [r4, #12] - 9658: f36f 134a bfc r3, #5, #6 - 965c: 81a3 strh r3, [r4, #12] - 965e: 0a1b lsrs r3, r3, #8 - 9660: f36f 03c7 bfc r3, #3, #5 - 9664: 7363 strb r3, [r4, #13] + 9636: 7b23 ldrb r3, [r4, #12] + 9638: f36f 0304 bfc r3, #0, #5 + 963c: 7323 strb r3, [r4, #12] + 963e: 89a3 ldrh r3, [r4, #12] + 9640: f36f 134a bfc r3, #5, #6 + 9644: 81a3 strh r3, [r4, #12] + 9646: 0a1b lsrs r3, r3, #8 + 9648: f36f 03c7 bfc r3, #3, #5 + 964c: 7363 strb r3, [r4, #13] dsc->opa = LV_OPA_COVER; - 9666: 23ff movs r3, #255 ; 0xff - 9668: 7023 strb r3, [r4, #0] + 964e: 23ff movs r3, #255 ; 0xff + 9650: 7023 strb r3, [r4, #0] dsc->zoom = LV_IMG_ZOOM_NONE; - 966a: f44f 7380 mov.w r3, #256 ; 0x100 - 966e: 8123 strh r3, [r4, #8] + 9652: f44f 7380 mov.w r3, #256 ; 0x100 + 9656: 8123 strh r3, [r4, #8] dsc->antialias = LV_ANTIALIAS; - 9670: 7be3 ldrb r3, [r4, #15] - 9672: f043 0301 orr.w r3, r3, #1 - 9676: 73e3 strb r3, [r4, #15] - 9678: bd10 pop {r4, pc} - 967a: bf00 nop - 967c: 00012b37 .word 0x00012b37 - -00009680 : + 9658: 7be3 ldrb r3, [r4, #15] + 965a: f043 0301 orr.w r3, r3, #1 + 965e: 73e3 strb r3, [r4, #15] + 9660: bd10 pop {r4, pc} + 9662: bf00 nop + 9664: 00012b1f .word 0x00012b1f + +00009668 : switch(cf) { - 9680: 3804 subs r0, #4 - 9682: 280a cmp r0, #10 - 9684: d813 bhi.n 96ae - 9686: e8df f000 tbb [pc, r0] - 968a: 0806 .short 0x0806 - 968c: 0e0c0a06 .word 0x0e0c0a06 - 9690: 0e0c0a10 .word 0x0e0c0a10 - 9694: 10 .byte 0x10 - 9695: 00 .byte 0x00 + 9668: 3804 subs r0, #4 + 966a: 280a cmp r0, #10 + 966c: d813 bhi.n 9696 + 966e: e8df f000 tbb [pc, r0] + 9672: 0806 .short 0x0806 + 9674: 0e0c0a06 .word 0x0e0c0a06 + 9678: 0e0c0a10 .word 0x0e0c0a10 + 967c: 10 .byte 0x10 + 967d: 00 .byte 0x00 px_size = LV_COLOR_SIZE; - 9696: 2010 movs r0, #16 - 9698: 4770 bx lr + 967e: 2010 movs r0, #16 + 9680: 4770 bx lr px_size = LV_IMG_PX_SIZE_ALPHA_BYTE << 3; - 969a: 2018 movs r0, #24 + 9682: 2018 movs r0, #24 break; - 969c: 4770 bx lr + 9684: 4770 bx lr px_size = 1; - 969e: 2001 movs r0, #1 + 9686: 2001 movs r0, #1 break; - 96a0: 4770 bx lr + 9688: 4770 bx lr px_size = 2; - 96a2: 2002 movs r0, #2 + 968a: 2002 movs r0, #2 break; - 96a4: 4770 bx lr + 968c: 4770 bx lr px_size = 4; - 96a6: 2004 movs r0, #4 + 968e: 2004 movs r0, #4 break; - 96a8: 4770 bx lr + 9690: 4770 bx lr px_size = 8; - 96aa: 2008 movs r0, #8 + 9692: 2008 movs r0, #8 break; - 96ac: 4770 bx lr + 9694: 4770 bx lr px_size = 0; - 96ae: 2000 movs r0, #0 + 9696: 2000 movs r0, #0 } - 96b0: 4770 bx lr + 9698: 4770 bx lr -000096b2 : +0000969a : switch(cf) { - 96b2: 2803 cmp r0, #3 - 96b4: d005 beq.n 96c2 - 96b6: d302 bcc.n 96be - 96b8: 3806 subs r0, #6 - 96ba: 2804 cmp r0, #4 - 96bc: d901 bls.n 96c2 + 969a: 2803 cmp r0, #3 + 969c: d005 beq.n 96aa + 969e: d302 bcc.n 96a6 + 96a0: 3806 subs r0, #6 + 96a2: 2804 cmp r0, #4 + 96a4: d901 bls.n 96aa is_chroma_keyed = false; - 96be: 2000 movs r0, #0 - 96c0: 4770 bx lr + 96a6: 2000 movs r0, #0 + 96a8: 4770 bx lr is_chroma_keyed = true; - 96c2: 2001 movs r0, #1 + 96aa: 2001 movs r0, #1 } - 96c4: 4770 bx lr + 96ac: 4770 bx lr -000096c6 : +000096ae : switch(cf) { - 96c6: 3802 subs r0, #2 - 96c8: 280c cmp r0, #12 - 96ca: d808 bhi.n 96de - 96cc: e8df f000 tbb [pc, r0] - 96d0: 09070709 .word 0x09070709 - 96d4: 09090907 .word 0x09090907 - 96d8: 09090909 .word 0x09090909 - 96dc: 09 .byte 0x09 - 96dd: 00 .byte 0x00 + 96ae: 3802 subs r0, #2 + 96b0: 280c cmp r0, #12 + 96b2: d808 bhi.n 96c6 + 96b4: e8df f000 tbb [pc, r0] + 96b8: 09070709 .word 0x09070709 + 96bc: 09090907 .word 0x09090907 + 96c0: 09090909 .word 0x09090909 + 96c4: 09 .byte 0x09 + 96c5: 00 .byte 0x00 has_alpha = false; - 96de: 2000 movs r0, #0 - 96e0: 4770 bx lr + 96c6: 2000 movs r0, #0 + 96c8: 4770 bx lr has_alpha = true; - 96e2: 2001 movs r0, #1 + 96ca: 2001 movs r0, #1 } - 96e4: 4770 bx lr + 96cc: 4770 bx lr ... -000096e8 : +000096d0 : { - 96e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 96ec: b08f sub sp, #60 ; 0x3c - 96ee: 4605 mov r5, r0 - 96f0: 460e mov r6, r1 + 96d0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 96d4: b08f sub sp, #60 ; 0x3c + 96d6: 4605 mov r5, r0 + 96d8: 460e mov r6, r1 if(src == NULL) { - 96f2: b13a cbz r2, 9704 - 96f4: 461c mov r4, r3 - 96f6: 4610 mov r0, r2 + 96da: b13a cbz r2, 96ec + 96dc: 461c mov r4, r3 + 96de: 4610 mov r0, r2 if(dsc->opa <= LV_OPA_MIN) return; - 96f8: 781b ldrb r3, [r3, #0] - 96fa: 2b05 cmp r3, #5 - 96fc: d810 bhi.n 9720 + 96e0: 781b ldrb r3, [r3, #0] + 96e2: 2b05 cmp r3, #5 + 96e4: d810 bhi.n 9708 } - 96fe: b00f add sp, #60 ; 0x3c - 9700: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 96e6: b00f add sp, #60 ; 0x3c + 96e8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} LV_LOG_WARN("Image draw: src is NULL"); - 9704: 4b84 ldr r3, [pc, #528] ; (9918 ) - 9706: 9300 str r3, [sp, #0] - 9708: 4b84 ldr r3, [pc, #528] ; (991c ) - 970a: 224d movs r2, #77 ; 0x4d - 970c: 4984 ldr r1, [pc, #528] ; (9920 ) - 970e: 2002 movs r0, #2 - 9710: 4c84 ldr r4, [pc, #528] ; (9924 ) - 9712: 47a0 blx r4 + 96ec: 4b84 ldr r3, [pc, #528] ; (9900 ) + 96ee: 9300 str r3, [sp, #0] + 96f0: 4b84 ldr r3, [pc, #528] ; (9904 ) + 96f2: 224d movs r2, #77 ; 0x4d + 96f4: 4984 ldr r1, [pc, #528] ; (9908 ) + 96f6: 2002 movs r0, #2 + 96f8: 4c84 ldr r4, [pc, #528] ; (990c ) + 96fa: 47a0 blx r4 show_error(coords, mask, "No\ndata"); - 9714: 4a84 ldr r2, [pc, #528] ; (9928 ) - 9716: 4631 mov r1, r6 - 9718: 4628 mov r0, r5 - 971a: 4b84 ldr r3, [pc, #528] ; (992c ) - 971c: 4798 blx r3 + 96fc: 4a84 ldr r2, [pc, #528] ; (9910 ) + 96fe: 4631 mov r1, r6 + 9700: 4628 mov r0, r5 + 9702: 4b84 ldr r3, [pc, #528] ; (9914 ) + 9704: 4798 blx r3 return; - 971e: e7ee b.n 96fe + 9706: e7ee b.n 96e6 lv_img_cache_entry_t * cdsc = _lv_img_cache_open(src, draw_dsc->recolor); - 9720: 89a1 ldrh r1, [r4, #12] - 9722: 4b83 ldr r3, [pc, #524] ; (9930 ) - 9724: 4798 blx r3 + 9708: 89a1 ldrh r1, [r4, #12] + 970a: 4b83 ldr r3, [pc, #524] ; (9918 ) + 970c: 4798 blx r3 if(cdsc == NULL) return LV_RES_INV; - 9726: 4607 mov r7, r0 - 9728: 2800 cmp r0, #0 - 972a: f000 80b5 beq.w 9898 + 970e: 4607 mov r7, r0 + 9710: 2800 cmp r0, #0 + 9712: f000 80b5 beq.w 9880 bool chroma_keyed = lv_img_cf_is_chroma_keyed(cdsc->dec_dsc.header.cf); - 972e: f890 900c ldrb.w r9, [r0, #12] - 9732: f009 091f and.w r9, r9, #31 - 9736: 4648 mov r0, r9 - 9738: 4b7e ldr r3, [pc, #504] ; (9934 ) - 973a: 4798 blx r3 - 973c: 4680 mov r8, r0 + 9716: f890 900c ldrb.w r9, [r0, #12] + 971a: f009 091f and.w r9, r9, #31 + 971e: 4648 mov r0, r9 + 9720: 4b7e ldr r3, [pc, #504] ; (991c ) + 9722: 4798 blx r3 + 9724: 4680 mov r8, r0 bool alpha_byte = lv_img_cf_has_alpha(cdsc->dec_dsc.header.cf); - 973e: 4648 mov r0, r9 - 9740: 4b7d ldr r3, [pc, #500] ; (9938 ) - 9742: 4798 blx r3 - 9744: 4681 mov r9, r0 + 9726: 4648 mov r0, r9 + 9728: 4b7d ldr r3, [pc, #500] ; (9920 ) + 972a: 4798 blx r3 + 972c: 4681 mov r9, r0 if(cdsc->dec_dsc.error_msg != NULL) { - 9746: 69bb ldr r3, [r7, #24] - 9748: b16b cbz r3, 9766 + 972e: 69bb ldr r3, [r7, #24] + 9730: b16b cbz r3, 974e LV_LOG_WARN("Image draw error"); - 974a: 4b7c ldr r3, [pc, #496] ; (993c ) - 974c: 9300 str r3, [sp, #0] - 974e: 4b7c ldr r3, [pc, #496] ; (9940 ) - 9750: 22f7 movs r2, #247 ; 0xf7 - 9752: 4973 ldr r1, [pc, #460] ; (9920 ) - 9754: 2002 movs r0, #2 - 9756: 4c73 ldr r4, [pc, #460] ; (9924 ) - 9758: 47a0 blx r4 + 9732: 4b7c ldr r3, [pc, #496] ; (9924 ) + 9734: 9300 str r3, [sp, #0] + 9736: 4b7c ldr r3, [pc, #496] ; (9928 ) + 9738: 22f7 movs r2, #247 ; 0xf7 + 973a: 4973 ldr r1, [pc, #460] ; (9908 ) + 973c: 2002 movs r0, #2 + 973e: 4c73 ldr r4, [pc, #460] ; (990c ) + 9740: 47a0 blx r4 show_error(coords, clip_area, cdsc->dec_dsc.error_msg); - 975a: 69ba ldr r2, [r7, #24] - 975c: 4631 mov r1, r6 - 975e: 4628 mov r0, r5 - 9760: 4b72 ldr r3, [pc, #456] ; (992c ) - 9762: 4798 blx r3 - 9764: e7cb b.n 96fe + 9742: 69ba ldr r2, [r7, #24] + 9744: 4631 mov r1, r6 + 9746: 4628 mov r0, r5 + 9748: 4b72 ldr r3, [pc, #456] ; (9914 ) + 974a: 4798 blx r3 + 974c: e7cb b.n 96e6 else if(cdsc->dec_dsc.img_data) { - 9766: 693b ldr r3, [r7, #16] - 9768: 2b00 cmp r3, #0 - 976a: d049 beq.n 9800 - 976c: 1e6b subs r3, r5, #1 - 976e: 1de8 adds r0, r5, #7 - 9770: aa0a add r2, sp, #40 ; 0x28 - 9772: f813 1f01 ldrb.w r1, [r3, #1]! - 9776: f802 1b01 strb.w r1, [r2], #1 + 974e: 693b ldr r3, [r7, #16] + 9750: 2b00 cmp r3, #0 + 9752: d049 beq.n 97e8 + 9754: 1e6b subs r3, r5, #1 + 9756: 1de8 adds r0, r5, #7 + 9758: aa0a add r2, sp, #40 ; 0x28 + 975a: f813 1f01 ldrb.w r1, [r3, #1]! + 975e: f802 1b01 strb.w r1, [r2], #1 while(len) { - 977a: 4298 cmp r0, r3 - 977c: d1f9 bne.n 9772 + 9762: 4298 cmp r0, r3 + 9764: d1f9 bne.n 975a if(draw_dsc->angle || draw_dsc->zoom != LV_IMG_ZOOM_NONE) { - 977e: 8863 ldrh r3, [r4, #2] - 9780: b91b cbnz r3, 978a - 9782: 8922 ldrh r2, [r4, #8] - 9784: f5b2 7f80 cmp.w r2, #256 ; 0x100 - 9788: d028 beq.n 97dc + 9766: 8863 ldrh r3, [r4, #2] + 9768: b91b cbnz r3, 9772 + 976a: 8922 ldrh r2, [r4, #8] + 976c: f5b2 7f80 cmp.w r2, #256 ; 0x100 + 9770: d028 beq.n 97c4 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 978a: 88ea ldrh r2, [r5, #6] - 978c: 3201 adds r2, #1 - 978e: 8869 ldrh r1, [r5, #2] - 9790: 1a52 subs r2, r2, r1 + 9772: 88ea ldrh r2, [r5, #6] + 9774: 3201 adds r2, #1 + 9776: 8869 ldrh r1, [r5, #2] + 9778: 1a52 subs r2, r2, r1 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 9792: 88a9 ldrh r1, [r5, #4] - 9794: 3101 adds r1, #1 - 9796: 8828 ldrh r0, [r5, #0] - 9798: 1a09 subs r1, r1, r0 + 977a: 88a9 ldrh r1, [r5, #4] + 977c: 3101 adds r1, #1 + 977e: 8828 ldrh r0, [r5, #0] + 9780: 1a09 subs r1, r1, r0 _lv_img_buf_get_transformed_area(&map_area_rot, w, h, draw_dsc->angle, draw_dsc->zoom, &draw_dsc->pivot); - 979a: 1d20 adds r0, r4, #4 - 979c: 9001 str r0, [sp, #4] - 979e: 8920 ldrh r0, [r4, #8] - 97a0: 9000 str r0, [sp, #0] - 97a2: b21b sxth r3, r3 - 97a4: b212 sxth r2, r2 - 97a6: b209 sxth r1, r1 - 97a8: a80a add r0, sp, #40 ; 0x28 - 97aa: f8df a1b8 ldr.w sl, [pc, #440] ; 9964 - 97ae: 47d0 blx sl + 9782: 1d20 adds r0, r4, #4 + 9784: 9001 str r0, [sp, #4] + 9786: 8920 ldrh r0, [r4, #8] + 9788: 9000 str r0, [sp, #0] + 978a: b21b sxth r3, r3 + 978c: b212 sxth r2, r2 + 978e: b209 sxth r1, r1 + 9790: a80a add r0, sp, #40 ; 0x28 + 9792: f8df a1b8 ldr.w sl, [pc, #440] ; 994c + 9796: 47d0 blx sl map_area_rot.x1 += coords->x1; - 97b0: 882a ldrh r2, [r5, #0] - 97b2: f8bd 3028 ldrh.w r3, [sp, #40] ; 0x28 - 97b6: 4413 add r3, r2 - 97b8: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 + 9798: 882a ldrh r2, [r5, #0] + 979a: f8bd 3028 ldrh.w r3, [sp, #40] ; 0x28 + 979e: 4413 add r3, r2 + 97a0: f8ad 3028 strh.w r3, [sp, #40] ; 0x28 map_area_rot.y1 += coords->y1; - 97bc: 886b ldrh r3, [r5, #2] - 97be: f8bd 102a ldrh.w r1, [sp, #42] ; 0x2a - 97c2: 4419 add r1, r3 - 97c4: f8ad 102a strh.w r1, [sp, #42] ; 0x2a + 97a4: 886b ldrh r3, [r5, #2] + 97a6: f8bd 102a ldrh.w r1, [sp, #42] ; 0x2a + 97aa: 4419 add r1, r3 + 97ac: f8ad 102a strh.w r1, [sp, #42] ; 0x2a map_area_rot.x2 += coords->x1; - 97c8: f8bd 102c ldrh.w r1, [sp, #44] ; 0x2c - 97cc: 440a add r2, r1 - 97ce: f8ad 202c strh.w r2, [sp, #44] ; 0x2c + 97b0: f8bd 102c ldrh.w r1, [sp, #44] ; 0x2c + 97b4: 440a add r2, r1 + 97b6: f8ad 202c strh.w r2, [sp, #44] ; 0x2c map_area_rot.y2 += coords->y1; - 97d2: f8bd 202e ldrh.w r2, [sp, #46] ; 0x2e - 97d6: 4413 add r3, r2 - 97d8: f8ad 302e strh.w r3, [sp, #46] ; 0x2e + 97ba: f8bd 202e ldrh.w r2, [sp, #46] ; 0x2e + 97be: 4413 add r3, r2 + 97c0: f8ad 302e strh.w r3, [sp, #46] ; 0x2e union_ok = _lv_area_intersect(&mask_com, clip_area, &map_area_rot); - 97dc: aa0a add r2, sp, #40 ; 0x28 - 97de: 4631 mov r1, r6 - 97e0: a80c add r0, sp, #48 ; 0x30 - 97e2: 4b58 ldr r3, [pc, #352] ; (9944 ) - 97e4: 4798 blx r3 + 97c4: aa0a add r2, sp, #40 ; 0x28 + 97c6: 4631 mov r1, r6 + 97c8: a80c add r0, sp, #48 ; 0x30 + 97ca: 4b58 ldr r3, [pc, #352] ; (992c ) + 97cc: 4798 blx r3 if(union_ok == false) { - 97e6: 2800 cmp r0, #0 - 97e8: d089 beq.n 96fe + 97ce: 2800 cmp r0, #0 + 97d0: d089 beq.n 96e6 lv_draw_map(coords, &mask_com, cdsc->dec_dsc.img_data, draw_dsc, chroma_keyed, alpha_byte); - 97ea: 693a ldr r2, [r7, #16] - 97ec: f8cd 9004 str.w r9, [sp, #4] - 97f0: f8cd 8000 str.w r8, [sp] - 97f4: 4623 mov r3, r4 - 97f6: a90c add r1, sp, #48 ; 0x30 - 97f8: 4628 mov r0, r5 - 97fa: 4c53 ldr r4, [pc, #332] ; (9948 ) - 97fc: 47a0 blx r4 - 97fe: e77e b.n 96fe + 97d2: 693a ldr r2, [r7, #16] + 97d4: f8cd 9004 str.w r9, [sp, #4] + 97d8: f8cd 8000 str.w r8, [sp] + 97dc: 4623 mov r3, r4 + 97de: a90c add r1, sp, #48 ; 0x30 + 97e0: 4628 mov r0, r5 + 97e2: 4c53 ldr r4, [pc, #332] ; (9930 ) + 97e4: 47a0 blx r4 + 97e6: e77e b.n 96e6 union_ok = _lv_area_intersect(&mask_com, clip_area, coords); - 9800: 462a mov r2, r5 - 9802: 4631 mov r1, r6 - 9804: a808 add r0, sp, #32 - 9806: 4b4f ldr r3, [pc, #316] ; (9944 ) - 9808: 4798 blx r3 + 97e8: 462a mov r2, r5 + 97ea: 4631 mov r1, r6 + 97ec: a808 add r0, sp, #32 + 97ee: 4b4f ldr r3, [pc, #316] ; (992c ) + 97f0: 4798 blx r3 if(union_ok == false) { - 980a: 2800 cmp r0, #0 - 980c: f43f af77 beq.w 96fe - 9810: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 9814: 3301 adds r3, #1 - 9816: f8bd 2020 ldrh.w r2, [sp, #32] - 981a: 1a9b subs r3, r3, r2 - 981c: b21b sxth r3, r3 - 981e: 9303 str r3, [sp, #12] + 97f2: 2800 cmp r0, #0 + 97f4: f43f af77 beq.w 96e6 + 97f8: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 97fc: 3301 adds r3, #1 + 97fe: f8bd 2020 ldrh.w r2, [sp, #32] + 9802: 1a9b subs r3, r3, r2 + 9804: b21b sxth r3, r3 + 9806: 9303 str r3, [sp, #12] uint8_t * buf = _lv_mem_buf_get(lv_area_get_width(&mask_com) * - 9820: eb03 0043 add.w r0, r3, r3, lsl #1 - 9824: 4b49 ldr r3, [pc, #292] ; (994c ) - 9826: 4798 blx r3 - 9828: 9002 str r0, [sp, #8] - 982a: f10d 021f add.w r2, sp, #31 + 9808: eb03 0043 add.w r0, r3, r3, lsl #1 + 980c: 4b49 ldr r3, [pc, #292] ; (9934 ) + 980e: 4798 blx r3 + 9810: 9002 str r0, [sp, #8] + 9812: f10d 021f add.w r2, sp, #31 uint8_t * d8 = (uint8_t *)dst; - 982e: ab0a add r3, sp, #40 ; 0x28 + 9816: ab0a add r3, sp, #40 ; 0x28 while(len) { - 9830: a80c add r0, sp, #48 ; 0x30 + 9818: a80c add r0, sp, #48 ; 0x30 *d8 = *s8; - 9832: f812 1f01 ldrb.w r1, [r2, #1]! - 9836: f803 1b01 strb.w r1, [r3], #1 + 981a: f812 1f01 ldrb.w r1, [r2, #1]! + 981e: f803 1b01 strb.w r1, [r3], #1 while(len) { - 983a: 4283 cmp r3, r0 - 983c: d1f9 bne.n 9832 + 9822: 4283 cmp r3, r0 + 9824: d1f9 bne.n 981a lv_area_set_height(&line, 1); - 983e: 2101 movs r1, #1 - 9840: a80a add r0, sp, #40 ; 0x28 - 9842: 4b43 ldr r3, [pc, #268] ; (9950 ) - 9844: 4798 blx r3 + 9826: 2101 movs r1, #1 + 9828: a80a add r0, sp, #40 ; 0x28 + 982a: 4b43 ldr r3, [pc, #268] ; (9938 ) + 982c: 4798 blx r3 int32_t x = mask_com.x1 - coords->x1; - 9846: f9bd 3020 ldrsh.w r3, [sp, #32] - 984a: f9b5 2000 ldrsh.w r2, [r5] + 982e: f9bd 3020 ldrsh.w r3, [sp, #32] + 9832: f9b5 2000 ldrsh.w r2, [r5] int32_t y = mask_com.y1 - coords->y1; - 984e: f9bd a022 ldrsh.w sl, [sp, #34] ; 0x22 - 9852: f9b5 1002 ldrsh.w r1, [r5, #2] - 9856: ebaa 0101 sub.w r1, sl, r1 - 985a: 4608 mov r0, r1 + 9836: f9bd a022 ldrsh.w sl, [sp, #34] ; 0x22 + 983a: f9b5 1002 ldrsh.w r1, [r5, #2] + 983e: ebaa 0101 sub.w r1, sl, r1 + 9842: 4608 mov r0, r1 for(row = mask_com.y1; row <= mask_com.y2; row++) { - 985c: f9bd 1026 ldrsh.w r1, [sp, #38] ; 0x26 - 9860: 458a cmp sl, r1 - 9862: dc55 bgt.n 9910 + 9844: f9bd 1026 ldrsh.w r1, [sp, #38] ; 0x26 + 9848: 458a cmp sl, r1 + 984a: dc55 bgt.n 98f8 union_ok = _lv_area_intersect(&mask_line, clip_area, &line); - 9864: f8df b0dc ldr.w fp, [pc, #220] ; 9944 + 984c: f8df b0dc ldr.w fp, [pc, #220] ; 992c read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf); - 9868: 1a9b subs r3, r3, r2 - 986a: b21b sxth r3, r3 - 986c: 9305 str r3, [sp, #20] - 986e: 9507 str r5, [sp, #28] - 9870: 9406 str r4, [sp, #24] - 9872: 4644 mov r4, r8 - 9874: 4680 mov r8, r0 - 9876: e023 b.n 98c0 - 9878: 9d07 ldr r5, [sp, #28] + 9850: 1a9b subs r3, r3, r2 + 9852: b21b sxth r3, r3 + 9854: 9305 str r3, [sp, #20] + 9856: 9507 str r5, [sp, #28] + 9858: 9406 str r4, [sp, #24] + 985a: 4644 mov r4, r8 + 985c: 4680 mov r8, r0 + 985e: e023 b.n 98a8 + 9860: 9d07 ldr r5, [sp, #28] lv_img_decoder_close(&cdsc->dec_dsc); - 987a: 9804 ldr r0, [sp, #16] - 987c: 4b35 ldr r3, [pc, #212] ; (9954 ) - 987e: 4798 blx r3 + 9862: 9804 ldr r0, [sp, #16] + 9864: 4b35 ldr r3, [pc, #212] ; (993c ) + 9866: 4798 blx r3 LV_LOG_WARN("Image draw can't read the line"); - 9880: 4b35 ldr r3, [pc, #212] ; (9958 ) - 9882: 9300 str r3, [sp, #0] - 9884: 4b2e ldr r3, [pc, #184] ; (9940 ) - 9886: f44f 729a mov.w r2, #308 ; 0x134 - 988a: 4925 ldr r1, [pc, #148] ; (9920 ) - 988c: 2002 movs r0, #2 - 988e: 4c25 ldr r4, [pc, #148] ; (9924 ) - 9890: 47a0 blx r4 + 9868: 4b35 ldr r3, [pc, #212] ; (9940 ) + 986a: 9300 str r3, [sp, #0] + 986c: 4b2e ldr r3, [pc, #184] ; (9928 ) + 986e: f44f 729a mov.w r2, #308 ; 0x134 + 9872: 4925 ldr r1, [pc, #148] ; (9908 ) + 9874: 2002 movs r0, #2 + 9876: 4c25 ldr r4, [pc, #148] ; (990c ) + 9878: 47a0 blx r4 _lv_mem_buf_release(buf); - 9892: 9802 ldr r0, [sp, #8] - 9894: 4b31 ldr r3, [pc, #196] ; (995c ) - 9896: 4798 blx r3 + 987a: 9802 ldr r0, [sp, #8] + 987c: 4b31 ldr r3, [pc, #196] ; (9944 ) + 987e: 4798 blx r3 LV_LOG_WARN("Image draw error"); - 9898: 4b28 ldr r3, [pc, #160] ; (993c ) - 989a: 9300 str r3, [sp, #0] - 989c: 4b1f ldr r3, [pc, #124] ; (991c ) - 989e: 2258 movs r2, #88 ; 0x58 - 98a0: 491f ldr r1, [pc, #124] ; (9920 ) - 98a2: 2002 movs r0, #2 - 98a4: 4c1f ldr r4, [pc, #124] ; (9924 ) - 98a6: 47a0 blx r4 + 9880: 4b28 ldr r3, [pc, #160] ; (9924 ) + 9882: 9300 str r3, [sp, #0] + 9884: 4b1f ldr r3, [pc, #124] ; (9904 ) + 9886: 2258 movs r2, #88 ; 0x58 + 9888: 491f ldr r1, [pc, #124] ; (9908 ) + 988a: 2002 movs r0, #2 + 988c: 4c1f ldr r4, [pc, #124] ; (990c ) + 988e: 47a0 blx r4 show_error(coords, mask, "No\ndata"); - 98a8: 4a1f ldr r2, [pc, #124] ; (9928 ) - 98aa: 4631 mov r1, r6 - 98ac: 4628 mov r0, r5 - 98ae: 4b1f ldr r3, [pc, #124] ; (992c ) - 98b0: 4798 blx r3 + 9890: 4a1f ldr r2, [pc, #124] ; (9910 ) + 9892: 4631 mov r1, r6 + 9894: 4628 mov r0, r5 + 9896: 4b1f ldr r3, [pc, #124] ; (9914 ) + 9898: 4798 blx r3 return; - 98b2: e724 b.n 96fe + 989a: e724 b.n 96e6 for(row = mask_com.y1; row <= mask_com.y2; row++) { - 98b4: f10a 0a01 add.w sl, sl, #1 - 98b8: f9bd 3026 ldrsh.w r3, [sp, #38] ; 0x26 - 98bc: 459a cmp sl, r3 - 98be: dc27 bgt.n 9910 + 989c: f10a 0a01 add.w sl, sl, #1 + 98a0: f9bd 3026 ldrsh.w r3, [sp, #38] ; 0x26 + 98a4: 459a cmp sl, r3 + 98a6: dc27 bgt.n 98f8 union_ok = _lv_area_intersect(&mask_line, clip_area, &line); - 98c0: aa0a add r2, sp, #40 ; 0x28 - 98c2: 4631 mov r1, r6 - 98c4: a80c add r0, sp, #48 ; 0x30 - 98c6: 47d8 blx fp + 98a8: aa0a add r2, sp, #40 ; 0x28 + 98aa: 4631 mov r1, r6 + 98ac: a80c add r0, sp, #48 ; 0x30 + 98ae: 47d8 blx fp if(union_ok == false) continue; - 98c8: 2800 cmp r0, #0 - 98ca: d0f3 beq.n 98b4 + 98b0: 2800 cmp r0, #0 + 98b2: d0f3 beq.n 989c read_res = lv_img_decoder_read_line(&cdsc->dec_dsc, x, y, width, buf); - 98cc: 9704 str r7, [sp, #16] - 98ce: 9b02 ldr r3, [sp, #8] - 98d0: 9300 str r3, [sp, #0] - 98d2: 9b03 ldr r3, [sp, #12] - 98d4: fa0f f288 sxth.w r2, r8 - 98d8: 9905 ldr r1, [sp, #20] - 98da: 4638 mov r0, r7 - 98dc: 4d20 ldr r5, [pc, #128] ; (9960 ) - 98de: 47a8 blx r5 + 98b4: 9704 str r7, [sp, #16] + 98b6: 9b02 ldr r3, [sp, #8] + 98b8: 9300 str r3, [sp, #0] + 98ba: 9b03 ldr r3, [sp, #12] + 98bc: fa0f f288 sxth.w r2, r8 + 98c0: 9905 ldr r1, [sp, #20] + 98c2: 4638 mov r0, r7 + 98c4: 4d20 ldr r5, [pc, #128] ; (9948 ) + 98c6: 47a8 blx r5 if(read_res != LV_RES_OK) { - 98e0: 2801 cmp r0, #1 - 98e2: d1c9 bne.n 9878 + 98c8: 2801 cmp r0, #1 + 98ca: d1c9 bne.n 9860 lv_draw_map(&line, &mask_line, buf, draw_dsc, chroma_keyed, alpha_byte); - 98e4: f8cd 9004 str.w r9, [sp, #4] - 98e8: 9400 str r4, [sp, #0] - 98ea: 9b06 ldr r3, [sp, #24] - 98ec: 9a02 ldr r2, [sp, #8] - 98ee: a90c add r1, sp, #48 ; 0x30 - 98f0: a80a add r0, sp, #40 ; 0x28 - 98f2: 4d15 ldr r5, [pc, #84] ; (9948 ) - 98f4: 47a8 blx r5 + 98cc: f8cd 9004 str.w r9, [sp, #4] + 98d0: 9400 str r4, [sp, #0] + 98d2: 9b06 ldr r3, [sp, #24] + 98d4: 9a02 ldr r2, [sp, #8] + 98d6: a90c add r1, sp, #48 ; 0x30 + 98d8: a80a add r0, sp, #40 ; 0x28 + 98da: 4d15 ldr r5, [pc, #84] ; (9930 ) + 98dc: 47a8 blx r5 line.y1++; - 98f6: f8bd 302a ldrh.w r3, [sp, #42] ; 0x2a - 98fa: 3301 adds r3, #1 - 98fc: f8ad 302a strh.w r3, [sp, #42] ; 0x2a + 98de: f8bd 302a ldrh.w r3, [sp, #42] ; 0x2a + 98e2: 3301 adds r3, #1 + 98e4: f8ad 302a strh.w r3, [sp, #42] ; 0x2a line.y2++; - 9900: f8bd 302e ldrh.w r3, [sp, #46] ; 0x2e - 9904: 3301 adds r3, #1 - 9906: f8ad 302e strh.w r3, [sp, #46] ; 0x2e + 98e8: f8bd 302e ldrh.w r3, [sp, #46] ; 0x2e + 98ec: 3301 adds r3, #1 + 98ee: f8ad 302e strh.w r3, [sp, #46] ; 0x2e y++; - 990a: f108 0801 add.w r8, r8, #1 - 990e: e7d1 b.n 98b4 + 98f2: f108 0801 add.w r8, r8, #1 + 98f6: e7d1 b.n 989c _lv_mem_buf_release(buf); - 9910: 9802 ldr r0, [sp, #8] - 9912: 4b12 ldr r3, [pc, #72] ; (995c ) - 9914: 4798 blx r3 - 9916: e6f2 b.n 96fe - 9918: 00024d0c .word 0x00024d0c - 991c: 00024cbc .word 0x00024cbc - 9920: 00024cdc .word 0x00024cdc - 9924: 0001225d .word 0x0001225d - 9928: 00024d24 .word 0x00024d24 - 992c: 000095f5 .word 0x000095f5 - 9930: 0000f201 .word 0x0000f201 - 9934: 000096b3 .word 0x000096b3 - 9938: 000096c7 .word 0x000096c7 - 993c: 00024d2c .word 0x00024d2c - 9940: 00024cc8 .word 0x00024cc8 - 9944: 00011519 .word 0x00011519 - 9948: 00008dcd .word 0x00008dcd - 994c: 0001293d .word 0x0001293d - 9950: 000114f3 .word 0x000114f3 - 9954: 0000ff35 .word 0x0000ff35 - 9958: 00024d40 .word 0x00024d40 - 995c: 00012571 .word 0x00012571 - 9960: 0000ff11 .word 0x0000ff11 - 9964: 0000ec65 .word 0x0000ec65 - -00009968 : + 98f8: 9802 ldr r0, [sp, #8] + 98fa: 4b12 ldr r3, [pc, #72] ; (9944 ) + 98fc: 4798 blx r3 + 98fe: e6f2 b.n 96e6 + 9900: 00024cf4 .word 0x00024cf4 + 9904: 00024ca4 .word 0x00024ca4 + 9908: 00024cc4 .word 0x00024cc4 + 990c: 00012245 .word 0x00012245 + 9910: 00024d0c .word 0x00024d0c + 9914: 000095dd .word 0x000095dd + 9918: 0000f1e9 .word 0x0000f1e9 + 991c: 0000969b .word 0x0000969b + 9920: 000096af .word 0x000096af + 9924: 00024d14 .word 0x00024d14 + 9928: 00024cb0 .word 0x00024cb0 + 992c: 00011501 .word 0x00011501 + 9930: 00008db5 .word 0x00008db5 + 9934: 00012925 .word 0x00012925 + 9938: 000114db .word 0x000114db + 993c: 0000ff1d .word 0x0000ff1d + 9940: 00024d28 .word 0x00024d28 + 9944: 00012559 .word 0x00012559 + 9948: 0000fef9 .word 0x0000fef9 + 994c: 0000ec4d .word 0x0000ec4d + +00009950 : if(src == NULL) return img_src_type; - 9968: b158 cbz r0, 9982 + 9950: b158 cbz r0, 996a if(u8_p[0] >= 0x20 && u8_p[0] <= 0x7F) { - 996a: 7802 ldrb r2, [r0, #0] - 996c: f1a2 0320 sub.w r3, r2, #32 - 9970: b2db uxtb r3, r3 - 9972: 2b5f cmp r3, #95 ; 0x5f - 9974: d907 bls.n 9986 + 9952: 7802 ldrb r2, [r0, #0] + 9954: f1a2 0320 sub.w r3, r2, #32 + 9958: b2db uxtb r3, r3 + 995a: 2b5f cmp r3, #95 ; 0x5f + 995c: d907 bls.n 996e else if(u8_p[0] >= 0x80) { - 9976: b252 sxtb r2, r2 + 995e: b252 sxtb r2, r2 img_src_type = LV_IMG_SRC_VARIABLE; /*`lv_img_dsc_t` is design to the first byte < 0x20*/ - 9978: 2a00 cmp r2, #0 - 997a: bfb4 ite lt - 997c: 2002 movlt r0, #2 - 997e: 2000 movge r0, #0 - 9980: 4770 bx lr + 9960: 2a00 cmp r2, #0 + 9962: bfb4 ite lt + 9964: 2002 movlt r0, #2 + 9966: 2000 movge r0, #0 + 9968: 4770 bx lr if(src == NULL) return img_src_type; - 9982: 2003 movs r0, #3 - 9984: 4770 bx lr + 996a: 2003 movs r0, #3 + 996c: 4770 bx lr img_src_type = LV_IMG_SRC_FILE; /*If it's an ASCII character then it's file name*/ - 9986: 2001 movs r0, #1 + 996e: 2001 movs r0, #1 } - 9988: 4770 bx lr + 9970: 4770 bx lr -0000998a : +00009972 : */ static uint8_t hex_char_to_num(char hex) { uint8_t result = 0; if(hex >= '0' && hex <= '9') { - 998a: f1a0 0330 sub.w r3, r0, #48 ; 0x30 - 998e: b2db uxtb r3, r3 - 9990: 2b09 cmp r3, #9 - 9992: d917 bls.n 99c4 + 9972: f1a0 0330 sub.w r3, r0, #48 ; 0x30 + 9976: b2db uxtb r3, r3 + 9978: 2b09 cmp r3, #9 + 997a: d917 bls.n 99ac result = hex - '0'; } else { if(hex >= 'a') hex -= 'a' - 'A'; /*Convert to upper case*/ - 9994: 2860 cmp r0, #96 ; 0x60 - 9996: bf84 itt hi - 9998: 3820 subhi r0, #32 - 999a: b2c0 uxtbhi r0, r0 + 997c: 2860 cmp r0, #96 ; 0x60 + 997e: bf84 itt hi + 9980: 3820 subhi r0, #32 + 9982: b2c0 uxtbhi r0, r0 switch(hex) { - 999c: 3841 subs r0, #65 ; 0x41 - 999e: 2805 cmp r0, #5 - 99a0: d80e bhi.n 99c0 - 99a2: e8df f000 tbb [pc, r0] - 99a6: 0311 .short 0x0311 - 99a8: 0b090705 .word 0x0b090705 + 9984: 3841 subs r0, #65 ; 0x41 + 9986: 2805 cmp r0, #5 + 9988: d80e bhi.n 99a8 + 998a: e8df f000 tbb [pc, r0] + 998e: 0311 .short 0x0311 + 9990: 0b090705 .word 0x0b090705 case 'A': result = 10; break; case 'B': result = 11; - 99ac: 200b movs r0, #11 - 99ae: 4770 bx lr + 9994: 200b movs r0, #11 + 9996: 4770 bx lr break; case 'C': result = 12; - 99b0: 200c movs r0, #12 + 9998: 200c movs r0, #12 break; - 99b2: 4770 bx lr + 999a: 4770 bx lr case 'D': result = 13; - 99b4: 200d movs r0, #13 + 999c: 200d movs r0, #13 break; - 99b6: 4770 bx lr + 999e: 4770 bx lr case 'E': result = 14; - 99b8: 200e movs r0, #14 + 99a0: 200e movs r0, #14 break; - 99ba: 4770 bx lr + 99a2: 4770 bx lr case 'F': result = 15; - 99bc: 200f movs r0, #15 + 99a4: 200f movs r0, #15 break; - 99be: 4770 bx lr + 99a6: 4770 bx lr default: result = 0; - 99c0: 2000 movs r0, #0 + 99a8: 2000 movs r0, #0 break; - 99c2: 4770 bx lr + 99aa: 4770 bx lr result = hex - '0'; - 99c4: 4618 mov r0, r3 - 99c6: 4770 bx lr + 99ac: 4618 mov r0, r3 + 99ae: 4770 bx lr result = 10; - 99c8: 200a movs r0, #10 + 99b0: 200a movs r0, #10 } } return result; } - 99ca: 4770 bx lr + 99b2: 4770 bx lr -000099cc : +000099b4 : { - 99cc: b510 push {r4, lr} - 99ce: 4604 mov r4, r0 + 99b4: b510 push {r4, lr} + 99b6: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_label_dsc_t)); - 99d0: 211c movs r1, #28 - 99d2: 4b12 ldr r3, [pc, #72] ; (9a1c ) - 99d4: 4798 blx r3 + 99b8: 211c movs r1, #28 + 99ba: 4b12 ldr r3, [pc, #72] ; (9a04 ) + 99bc: 4798 blx r3 dsc->opa = LV_OPA_COVER; - 99d6: 23ff movs r3, #255 ; 0xff - 99d8: 7223 strb r3, [r4, #8] + 99be: 23ff movs r3, #255 ; 0xff + 99c0: 7223 strb r3, [r4, #8] dsc->color = LV_COLOR_BLACK; - 99da: 7823 ldrb r3, [r4, #0] - 99dc: f36f 0304 bfc r3, #0, #5 - 99e0: 7023 strb r3, [r4, #0] - 99e2: 8823 ldrh r3, [r4, #0] - 99e4: f36f 134a bfc r3, #5, #6 - 99e8: 8023 strh r3, [r4, #0] - 99ea: 0a1b lsrs r3, r3, #8 - 99ec: f36f 03c7 bfc r3, #3, #5 - 99f0: 7063 strb r3, [r4, #1] + 99c2: 7823 ldrb r3, [r4, #0] + 99c4: f36f 0304 bfc r3, #0, #5 + 99c8: 7023 strb r3, [r4, #0] + 99ca: 8823 ldrh r3, [r4, #0] + 99cc: f36f 134a bfc r3, #5, #6 + 99d0: 8023 strh r3, [r4, #0] + 99d2: 0a1b lsrs r3, r3, #8 + 99d4: f36f 03c7 bfc r3, #3, #5 + 99d8: 7063 strb r3, [r4, #1] dsc->font = LV_THEME_DEFAULT_FONT_NORMAL; - 99f2: 4b0b ldr r3, [pc, #44] ; (9a20 ) - 99f4: 6063 str r3, [r4, #4] + 99da: 4b0b ldr r3, [pc, #44] ; (9a08 ) + 99dc: 6063 str r3, [r4, #4] dsc->sel_start = LV_DRAW_LABEL_NO_TXT_SEL; - 99f6: f64f 73ff movw r3, #65535 ; 0xffff - 99fa: 81e3 strh r3, [r4, #14] + 99de: f64f 73ff movw r3, #65535 ; 0xffff + 99e2: 81e3 strh r3, [r4, #14] dsc->sel_end = LV_DRAW_LABEL_NO_TXT_SEL; - 99fc: 8223 strh r3, [r4, #16] + 99e4: 8223 strh r3, [r4, #16] dsc->sel_color = LV_COLOR_BLUE; - 99fe: 78a3 ldrb r3, [r4, #2] - 9a00: f043 031f orr.w r3, r3, #31 - 9a04: 70a3 strb r3, [r4, #2] - 9a06: 8863 ldrh r3, [r4, #2] - 9a08: f36f 134a bfc r3, #5, #6 - 9a0c: 8063 strh r3, [r4, #2] - 9a0e: 0a1b lsrs r3, r3, #8 - 9a10: f36f 03c7 bfc r3, #3, #5 - 9a14: 70e3 strb r3, [r4, #3] + 99e6: 78a3 ldrb r3, [r4, #2] + 99e8: f043 031f orr.w r3, r3, #31 + 99ec: 70a3 strb r3, [r4, #2] + 99ee: 8863 ldrh r3, [r4, #2] + 99f0: f36f 134a bfc r3, #5, #6 + 99f4: 8063 strh r3, [r4, #2] + 99f6: 0a1b lsrs r3, r3, #8 + 99f8: f36f 03c7 bfc r3, #3, #5 + 99fc: 70e3 strb r3, [r4, #3] dsc->bidi_dir = LV_BIDI_DIR_LTR; - 9a16: 2300 movs r3, #0 - 9a18: 75a3 strb r3, [r4, #22] - 9a1a: bd10 pop {r4, pc} - 9a1c: 00012b37 .word 0x00012b37 - 9a20: 20000010 .word 0x20000010 + 99fe: 2300 movs r3, #0 + 9a00: 75a3 strb r3, [r4, #22] + 9a02: bd10 pop {r4, pc} + 9a04: 00012b1f .word 0x00012b1f + 9a08: 20000010 .word 0x20000010 -00009a24 : +00009a0c : { - 9a24: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 9a28: b0d9 sub sp, #356 ; 0x164 - 9a2a: 9c62 ldr r4, [sp, #392] ; 0x188 + 9a0c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 9a10: b0d9 sub sp, #356 ; 0x164 + 9a12: 9c62 ldr r4, [sp, #392] ; 0x188 if(dsc->opa <= LV_OPA_MIN) return; - 9a2c: 7a15 ldrb r5, [r2, #8] - 9a2e: 2d05 cmp r5, #5 - 9a30: d901 bls.n 9a36 + 9a14: 7a15 ldrb r5, [r2, #8] + 9a16: 2d05 cmp r5, #5 + 9a18: d901 bls.n 9a1e if(txt[0] == '\0') return; - 9a32: 781d ldrb r5, [r3, #0] - 9a34: b915 cbnz r5, 9a3c -} - 9a36: b059 add sp, #356 ; 0x164 - 9a38: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - 9a3c: 930a str r3, [sp, #40] ; 0x28 - 9a3e: 4693 mov fp, r2 - 9a40: 460a mov r2, r1 - 9a42: 910d str r1, [sp, #52] ; 0x34 - 9a44: 4605 mov r5, r0 - 9a46: 9013 str r0, [sp, #76] ; 0x4c + 9a1a: 781d ldrb r5, [r3, #0] + 9a1c: b915 cbnz r5, 9a24 +} + 9a1e: b059 add sp, #356 ; 0x164 + 9a20: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 9a24: 930a str r3, [sp, #40] ; 0x28 + 9a26: 4693 mov fp, r2 + 9a28: 460a mov r2, r1 + 9a2a: 910d str r1, [sp, #52] ; 0x34 + 9a2c: 4605 mov r5, r0 + 9a2e: 9013 str r0, [sp, #76] ; 0x4c const lv_font_t * font = dsc->font; - 9a48: f8db 3004 ldr.w r3, [fp, #4] - 9a4c: 9305 str r3, [sp, #20] + 9a30: f8db 3004 ldr.w r3, [fp, #4] + 9a34: 9305 str r3, [sp, #20] bool clip_ok = _lv_area_intersect(&clipped_area, coords, mask); - 9a4e: 4601 mov r1, r0 - 9a50: a856 add r0, sp, #344 ; 0x158 - 9a52: 4baa ldr r3, [pc, #680] ; (9cfc ) - 9a54: 4798 blx r3 + 9a36: 4601 mov r1, r0 + 9a38: a856 add r0, sp, #344 ; 0x158 + 9a3a: 4baa ldr r3, [pc, #680] ; (9ce4 ) + 9a3c: 4798 blx r3 if(!clip_ok) return; - 9a56: 2800 cmp r0, #0 - 9a58: d0ed beq.n 9a36 + 9a3e: 2800 cmp r0, #0 + 9a40: d0ed beq.n 9a1e if((dsc->flag & LV_TXT_FLAG_EXPAND) == 0) { - 9a5a: f89b 2017 ldrb.w r2, [fp, #23] - 9a5e: f012 0f02 tst.w r2, #2 - 9a62: d121 bne.n 9aa8 - 9a64: 88ab ldrh r3, [r5, #4] - 9a66: 3301 adds r3, #1 - 9a68: 882a ldrh r2, [r5, #0] - 9a6a: 1a9b subs r3, r3, r2 + 9a42: f89b 2017 ldrb.w r2, [fp, #23] + 9a46: f012 0f02 tst.w r2, #2 + 9a4a: d121 bne.n 9a90 + 9a4c: 88ab ldrh r3, [r5, #4] + 9a4e: 3301 adds r3, #1 + 9a50: 882a ldrh r2, [r5, #0] + 9a52: 1a9b subs r3, r3, r2 w = lv_area_get_width(coords); - 9a6c: b21b sxth r3, r3 + 9a54: b21b sxth r3, r3 int32_t line_height_font = lv_font_get_line_height(font); - 9a6e: 9a05 ldr r2, [sp, #20] - 9a70: f9b2 a008 ldrsh.w sl, [r2, #8] + 9a56: 9a05 ldr r2, [sp, #20] + 9a58: f9b2 a008 ldrsh.w sl, [r2, #8] int32_t line_height = line_height_font + dsc->line_space; - 9a74: f9bb 900a ldrsh.w r9, [fp, #10] - 9a78: 44d1 add r9, sl + 9a5c: f9bb 900a ldrsh.w r9, [fp, #10] + 9a60: 44d1 add r9, sl pos.x = coords->x1; - 9a7a: 9913 ldr r1, [sp, #76] ; 0x4c - 9a7c: f9b1 2000 ldrsh.w r2, [r1] - 9a80: 921f str r2, [sp, #124] ; 0x7c + 9a62: 9913 ldr r1, [sp, #76] ; 0x4c + 9a64: f9b1 2000 ldrsh.w r2, [r1] + 9a68: 921f str r2, [sp, #124] ; 0x7c pos.y = coords->y1; - 9a82: f9b1 0002 ldrsh.w r0, [r1, #2] + 9a6a: f9b1 0002 ldrsh.w r0, [r1, #2] x_ofs = dsc->ofs_x; - 9a86: f9bb 2012 ldrsh.w r2, [fp, #18] - 9a8a: 921a str r2, [sp, #104] ; 0x68 + 9a6e: f9bb 2012 ldrsh.w r2, [fp, #18] + 9a72: 921a str r2, [sp, #104] ; 0x68 y_ofs = dsc->ofs_y; - 9a8c: f9bb 1014 ldrsh.w r1, [fp, #20] + 9a74: f9bb 1014 ldrsh.w r1, [fp, #20] pos.y += y_ofs; - 9a90: 1842 adds r2, r0, r1 - 9a92: b292 uxth r2, r2 - 9a94: b215 sxth r5, r2 + 9a78: 1842 adds r2, r0, r1 + 9a7a: b292 uxth r2, r2 + 9a7c: b215 sxth r5, r2 if(hint && y_ofs == 0 && coords->y1 < 0) { - 9a96: 2c00 cmp r4, #0 - 9a98: d04a beq.n 9b30 - 9a9a: 2900 cmp r1, #0 - 9a9c: d14b bne.n 9b36 - 9a9e: 2800 cmp r0, #0 - 9aa0: db14 blt.n 9acc + 9a7e: 2c00 cmp r4, #0 + 9a80: d04a beq.n 9b18 + 9a82: 2900 cmp r1, #0 + 9a84: d14b bne.n 9b1e + 9a86: 2800 cmp r0, #0 + 9a88: db14 blt.n 9ab4 pos.y += y_ofs; - 9aa2: 950e str r5, [sp, #56] ; 0x38 + 9a8a: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - 9aa4: 2600 movs r6, #0 - 9aa6: e029 b.n 9afc + 9a8c: 2600 movs r6, #0 + 9a8e: e029 b.n 9ae4 _lv_txt_get_size(&p, txt, dsc->font, dsc->letter_space, dsc->line_space, LV_COORD_MAX, - 9aa8: f9bb 300c ldrsh.w r3, [fp, #12] - 9aac: 9202 str r2, [sp, #8] - 9aae: f647 4218 movw r2, #31768 ; 0x7c18 - 9ab2: 9201 str r2, [sp, #4] - 9ab4: f9bb 200a ldrsh.w r2, [fp, #10] - 9ab8: 9200 str r2, [sp, #0] - 9aba: f8db 2004 ldr.w r2, [fp, #4] - 9abe: 990a ldr r1, [sp, #40] ; 0x28 - 9ac0: a83a add r0, sp, #232 ; 0xe8 - 9ac2: 4d8f ldr r5, [pc, #572] ; (9d00 ) - 9ac4: 47a8 blx r5 + 9a90: f9bb 300c ldrsh.w r3, [fp, #12] + 9a94: 9202 str r2, [sp, #8] + 9a96: f647 4218 movw r2, #31768 ; 0x7c18 + 9a9a: 9201 str r2, [sp, #4] + 9a9c: f9bb 200a ldrsh.w r2, [fp, #10] + 9aa0: 9200 str r2, [sp, #0] + 9aa2: f8db 2004 ldr.w r2, [fp, #4] + 9aa6: 990a ldr r1, [sp, #40] ; 0x28 + 9aa8: a83a add r0, sp, #232 ; 0xe8 + 9aaa: 4d8f ldr r5, [pc, #572] ; (9ce8 ) + 9aac: 47a8 blx r5 w = p.x; - 9ac6: f9bd 30e8 ldrsh.w r3, [sp, #232] ; 0xe8 - 9aca: e7d0 b.n 9a6e + 9aae: f9bd 30e8 ldrsh.w r3, [sp, #232] ; 0xe8 + 9ab2: e7d0 b.n 9a56 if(LV_MATH_ABS(hint->coord_y - coords->y1) > LV_LABEL_HINT_UPDATE_TH - 2 * line_height) { - 9acc: 68a1 ldr r1, [r4, #8] - 9ace: 1a08 subs r0, r1, r0 - 9ad0: ea80 71e0 eor.w r1, r0, r0, asr #31 - 9ad4: eba1 71e0 sub.w r1, r1, r0, asr #31 - 9ad8: f5c9 7000 rsb r0, r9, #512 ; 0x200 - 9adc: ebb1 0f40 cmp.w r1, r0, lsl #1 - 9ae0: dd05 ble.n 9aee + 9ab4: 68a1 ldr r1, [r4, #8] + 9ab6: 1a08 subs r0, r1, r0 + 9ab8: ea80 71e0 eor.w r1, r0, r0, asr #31 + 9abc: eba1 71e0 sub.w r1, r1, r0, asr #31 + 9ac0: f5c9 7000 rsb r0, r9, #512 ; 0x200 + 9ac4: ebb1 0f40 cmp.w r1, r0, lsl #1 + 9ac8: dd05 ble.n 9ad6 hint->line_start = -1; - 9ae2: f04f 32ff mov.w r2, #4294967295 - 9ae6: 6022 str r2, [r4, #0] + 9aca: f04f 32ff mov.w r2, #4294967295 + 9ace: 6022 str r2, [r4, #0] pos.y += y_ofs; - 9ae8: 950e str r5, [sp, #56] ; 0x38 + 9ad0: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - 9aea: 2600 movs r6, #0 - 9aec: e006 b.n 9afc + 9ad2: 2600 movs r6, #0 + 9ad4: e006 b.n 9ae4 last_line_start = hint->line_start; - 9aee: 6826 ldr r6, [r4, #0] + 9ad6: 6826 ldr r6, [r4, #0] if(hint && last_line_start >= 0) { - 9af0: 2e00 cmp r6, #0 - 9af2: db23 blt.n 9b3c + 9ad8: 2e00 cmp r6, #0 + 9ada: db23 blt.n 9b24 pos.y += hint->y; - 9af4: 6861 ldr r1, [r4, #4] - 9af6: 440a add r2, r1 - 9af8: b212 sxth r2, r2 - 9afa: 920e str r2, [sp, #56] ; 0x38 + 9adc: 6861 ldr r1, [r4, #4] + 9ade: 440a add r2, r1 + 9ae0: b212 sxth r2, r2 + 9ae2: 920e str r2, [sp, #56] ; 0x38 uint32_t line_end = line_start + _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 9afc: b21b sxth r3, r3 - 9afe: 4619 mov r1, r3 - 9b00: 9310 str r3, [sp, #64] ; 0x40 - 9b02: f9bb 200c ldrsh.w r2, [fp, #12] - 9b06: f89b 3017 ldrb.w r3, [fp, #23] - 9b0a: 9300 str r3, [sp, #0] - 9b0c: 460b mov r3, r1 - 9b0e: 9905 ldr r1, [sp, #20] - 9b10: 980a ldr r0, [sp, #40] ; 0x28 - 9b12: 4430 add r0, r6 - 9b14: 4d7b ldr r5, [pc, #492] ; (9d04 ) - 9b16: 47a8 blx r5 - 9b18: 1983 adds r3, r0, r6 + 9ae4: b21b sxth r3, r3 + 9ae6: 4619 mov r1, r3 + 9ae8: 9310 str r3, [sp, #64] ; 0x40 + 9aea: f9bb 200c ldrsh.w r2, [fp, #12] + 9aee: f89b 3017 ldrb.w r3, [fp, #23] + 9af2: 9300 str r3, [sp, #0] + 9af4: 460b mov r3, r1 + 9af6: 9905 ldr r1, [sp, #20] + 9af8: 980a ldr r0, [sp, #40] ; 0x28 + 9afa: 4430 add r0, r6 + 9afc: 4d7b ldr r5, [pc, #492] ; (9cec ) + 9afe: 47a8 blx r5 + 9b00: 1983 adds r3, r0, r6 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 9b1a: 462f mov r7, r5 + 9b02: 462f mov r7, r5 if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) { - 9b1c: f8df 81f8 ldr.w r8, [pc, #504] ; 9d18 - 9b20: 4631 mov r1, r6 - 9b22: f8cd 9018 str.w r9, [sp, #24] - 9b26: 46d1 mov r9, sl - 9b28: 9d0e ldr r5, [sp, #56] ; 0x38 - 9b2a: 4626 mov r6, r4 - 9b2c: 461c mov r4, r3 + 9b04: f8df 81f8 ldr.w r8, [pc, #504] ; 9d00 + 9b08: 4631 mov r1, r6 + 9b0a: f8cd 9018 str.w r9, [sp, #24] + 9b0e: 46d1 mov r9, sl + 9b10: 9d0e ldr r5, [sp, #56] ; 0x38 + 9b12: 4626 mov r6, r4 + 9b14: 461c mov r4, r3 while(pos.y + line_height_font < mask->y1) { - 9b2e: e00f b.n 9b50 + 9b16: e00f b.n 9b38 pos.y += y_ofs; - 9b30: 950e str r5, [sp, #56] ; 0x38 + 9b18: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - 9b32: 2600 movs r6, #0 - 9b34: e7e2 b.n 9afc + 9b1a: 2600 movs r6, #0 + 9b1c: e7e2 b.n 9ae4 pos.y += y_ofs; - 9b36: 950e str r5, [sp, #56] ; 0x38 + 9b1e: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - 9b38: 2600 movs r6, #0 - 9b3a: e7df b.n 9afc + 9b20: 2600 movs r6, #0 + 9b22: e7df b.n 9ae4 pos.y += y_ofs; - 9b3c: 950e str r5, [sp, #56] ; 0x38 + 9b24: 950e str r5, [sp, #56] ; 0x38 uint32_t line_start = 0; - 9b3e: 2600 movs r6, #0 - 9b40: e7dc b.n 9afc - 9b42: 4621 mov r1, r4 + 9b26: 2600 movs r6, #0 + 9b28: e7dc b.n 9ae4 + 9b2a: 4621 mov r1, r4 if(txt[line_start] == '\0') return; - 9b44: f89a 3000 ldrb.w r3, [sl] - 9b48: 2b00 cmp r3, #0 - 9b4a: f43f af74 beq.w 9a36 + 9b2c: f89a 3000 ldrb.w r3, [sl] + 9b30: 2b00 cmp r3, #0 + 9b32: f43f af74 beq.w 9a1e line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 9b4e: 4604 mov r4, r0 + 9b36: 4604 mov r4, r0 while(pos.y + line_height_font < mask->y1) { - 9b50: eb05 0309 add.w r3, r5, r9 - 9b54: 9a0d ldr r2, [sp, #52] ; 0x34 - 9b56: f9b2 2002 ldrsh.w r2, [r2, #2] - 9b5a: 4293 cmp r3, r2 - 9b5c: da20 bge.n 9ba0 + 9b38: eb05 0309 add.w r3, r5, r9 + 9b3c: 9a0d ldr r2, [sp, #52] ; 0x34 + 9b3e: f9b2 2002 ldrsh.w r2, [r2, #2] + 9b42: 4293 cmp r3, r2 + 9b44: da20 bge.n 9b88 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - 9b5e: 9b0a ldr r3, [sp, #40] ; 0x28 - 9b60: eb03 0a04 add.w sl, r3, r4 - 9b64: f9bb 200c ldrsh.w r2, [fp, #12] - 9b68: f89b 3017 ldrb.w r3, [fp, #23] - 9b6c: 9300 str r3, [sp, #0] - 9b6e: 9b10 ldr r3, [sp, #64] ; 0x40 - 9b70: 9905 ldr r1, [sp, #20] - 9b72: 4650 mov r0, sl - 9b74: 47b8 blx r7 - 9b76: 4420 add r0, r4 - 9b78: 9b06 ldr r3, [sp, #24] - 9b7a: 441d add r5, r3 - 9b7c: b22d sxth r5, r5 + 9b46: 9b0a ldr r3, [sp, #40] ; 0x28 + 9b48: eb03 0a04 add.w sl, r3, r4 + 9b4c: f9bb 200c ldrsh.w r2, [fp, #12] + 9b50: f89b 3017 ldrb.w r3, [fp, #23] + 9b54: 9300 str r3, [sp, #0] + 9b56: 9b10 ldr r3, [sp, #64] ; 0x40 + 9b58: 9905 ldr r1, [sp, #20] + 9b5a: 4650 mov r0, sl + 9b5c: 47b8 blx r7 + 9b5e: 4420 add r0, r4 + 9b60: 9b06 ldr r3, [sp, #24] + 9b62: 441d add r5, r3 + 9b64: b22d sxth r5, r5 if(hint && pos.y >= -LV_LABEL_HINT_UPDATE_TH && hint->line_start < 0) { - 9b7e: 2e00 cmp r6, #0 - 9b80: d0df beq.n 9b42 - 9b82: 4545 cmp r5, r8 - 9b84: dbdd blt.n 9b42 - 9b86: 6833 ldr r3, [r6, #0] - 9b88: 2b00 cmp r3, #0 - 9b8a: dada bge.n 9b42 + 9b66: 2e00 cmp r6, #0 + 9b68: d0df beq.n 9b2a + 9b6a: 4545 cmp r5, r8 + 9b6c: dbdd blt.n 9b2a + 9b6e: 6833 ldr r3, [r6, #0] + 9b70: 2b00 cmp r3, #0 + 9b72: dada bge.n 9b2a hint->line_start = line_start; - 9b8c: 6034 str r4, [r6, #0] + 9b74: 6034 str r4, [r6, #0] hint->y = pos.y - coords->y1; - 9b8e: 9a13 ldr r2, [sp, #76] ; 0x4c - 9b90: f9b2 3002 ldrsh.w r3, [r2, #2] - 9b94: 1aeb subs r3, r5, r3 - 9b96: 6073 str r3, [r6, #4] + 9b76: 9a13 ldr r2, [sp, #76] ; 0x4c + 9b78: f9b2 3002 ldrsh.w r3, [r2, #2] + 9b7c: 1aeb subs r3, r5, r3 + 9b7e: 6073 str r3, [r6, #4] hint->coord_y = coords->y1; - 9b98: f9b2 3002 ldrsh.w r3, [r2, #2] - 9b9c: 60b3 str r3, [r6, #8] - 9b9e: e7d0 b.n 9b42 - 9ba0: 460e mov r6, r1 - 9ba2: 9407 str r4, [sp, #28] - 9ba4: f8dd 9018 ldr.w r9, [sp, #24] - 9ba8: 950e str r5, [sp, #56] ; 0x38 + 9b80: f9b2 3002 ldrsh.w r3, [r2, #2] + 9b84: 60b3 str r3, [r6, #8] + 9b86: e7d0 b.n 9b2a + 9b88: 460e mov r6, r1 + 9b8a: 9407 str r4, [sp, #28] + 9b8c: f8dd 9018 ldr.w r9, [sp, #24] + 9b90: 950e str r5, [sp, #56] ; 0x38 if(dsc->flag & LV_TXT_FLAG_CENTER) { - 9baa: f89b 2017 ldrb.w r2, [fp, #23] - 9bae: f012 0f04 tst.w r2, #4 - 9bb2: d12f bne.n 9c14 + 9b92: f89b 2017 ldrb.w r2, [fp, #23] + 9b96: f012 0f04 tst.w r2, #4 + 9b9a: d12f bne.n 9bfc else if(dsc->flag & LV_TXT_FLAG_RIGHT) { - 9bb4: f012 0f08 tst.w r2, #8 - 9bb8: d145 bne.n 9c46 + 9b9c: f012 0f08 tst.w r2, #8 + 9ba0: d145 bne.n 9c2e lv_opa_t opa = dsc->opa; - 9bba: f89b 3008 ldrb.w r3, [fp, #8] - 9bbe: 930b str r3, [sp, #44] ; 0x2c + 9ba2: f89b 3008 ldrb.w r3, [fp, #8] + 9ba6: 930b str r3, [sp, #44] ; 0x2c uint16_t sel_start = dsc->sel_start; - 9bc0: f8bb 700e ldrh.w r7, [fp, #14] + 9ba8: f8bb 700e ldrh.w r7, [fp, #14] uint16_t sel_end = dsc->sel_end; - 9bc4: f8bb 3010 ldrh.w r3, [fp, #16] - 9bc8: 4619 mov r1, r3 - 9bca: 9308 str r3, [sp, #32] + 9bac: f8bb 3010 ldrh.w r3, [fp, #16] + 9bb0: 4619 mov r1, r3 + 9bb2: 9308 str r3, [sp, #32] if(sel_start > sel_end) { - 9bcc: 429f cmp r7, r3 - 9bce: d902 bls.n 9bd6 - 9bd0: 463b mov r3, r7 + 9bb4: 429f cmp r7, r3 + 9bb6: d902 bls.n 9bbe + 9bb8: 463b mov r3, r7 sel_start = sel_end; - 9bd2: 460f mov r7, r1 + 9bba: 460f mov r7, r1 sel_end = tmp; - 9bd4: 9308 str r3, [sp, #32] + 9bbc: 9308 str r3, [sp, #32] if((dsc->decor & LV_TEXT_DECOR_UNDERLINE) || (dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH)) { - 9bd6: f89b 3018 ldrb.w r3, [fp, #24] - 9bda: f013 0f03 tst.w r3, #3 - 9bde: d149 bne.n 9c74 + 9bbe: f89b 3018 ldrb.w r3, [fp, #24] + 9bc2: f013 0f03 tst.w r3, #3 + 9bc6: d149 bne.n 9c5c lv_draw_rect_dsc_init(&draw_dsc_sel); - 9be0: a83d add r0, sp, #244 ; 0xf4 - 9be2: 4b49 ldr r3, [pc, #292] ; (9d08 ) - 9be4: 4798 blx r3 + 9bc8: a83d add r0, sp, #244 ; 0xf4 + 9bca: 4b49 ldr r3, [pc, #292] ; (9cf0 ) + 9bcc: 4798 blx r3 draw_dsc_sel.bg_color = dsc->sel_color; - 9be6: f8bb 3002 ldrh.w r3, [fp, #2] - 9bea: f8ad 30f6 strh.w r3, [sp, #246] ; 0xf6 - 9bee: 9b0b ldr r3, [sp, #44] ; 0x2c - 9bf0: 2bfa cmp r3, #250 ; 0xfa - 9bf2: bf88 it hi - 9bf4: 23ff movhi r3, #255 ; 0xff - 9bf6: 9316 str r3, [sp, #88] ; 0x58 - 9bf8: fa1f f389 uxth.w r3, r9 - 9bfc: 9317 str r3, [sp, #92] ; 0x5c - 9bfe: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 - 9c02: 9311 str r3, [sp, #68] ; 0x44 + 9bce: f8bb 3002 ldrh.w r3, [fp, #2] + 9bd2: f8ad 30f6 strh.w r3, [sp, #246] ; 0xf6 + 9bd6: 9b0b ldr r3, [sp, #44] ; 0x2c + 9bd8: 2bfa cmp r3, #250 ; 0xfa + 9bda: bf88 it hi + 9bdc: 23ff movhi r3, #255 ; 0xff + 9bde: 9316 str r3, [sp, #88] ; 0x58 + 9be0: fa1f f389 uxth.w r3, r9 + 9be4: 9317 str r3, [sp, #92] ; 0x5c + 9be6: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 + 9bea: 9311 str r3, [sp, #68] ; 0x44 while(txt[line_start] != '\0') { - 9c04: 9d1f ldr r5, [sp, #124] ; 0x7c + 9bec: 9d1f ldr r5, [sp, #124] ; 0x7c uint16_t par_start = 0; - 9c06: 2300 movs r3, #0 - 9c08: 9319 str r3, [sp, #100] ; 0x64 - 9c0a: 46ba mov sl, r7 - 9c0c: 46d8 mov r8, fp - 9c0e: 46b3 mov fp, r6 + 9bee: 2300 movs r3, #0 + 9bf0: 9319 str r3, [sp, #100] ; 0x64 + 9bf2: 46ba mov sl, r7 + 9bf4: 46d8 mov r8, fp + 9bf6: 46b3 mov fp, r6 while(txt[line_start] != '\0') { - 9c10: f000 bdd3 b.w a7ba + 9bf8: f000 bdd3 b.w a7a2 line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - 9c14: f9bb 300c ldrsh.w r3, [fp, #12] - 9c18: 1ba1 subs r1, r4, r6 - 9c1a: 9200 str r2, [sp, #0] - 9c1c: 9a05 ldr r2, [sp, #20] - 9c1e: b289 uxth r1, r1 - 9c20: 980a ldr r0, [sp, #40] ; 0x28 - 9c22: 4430 add r0, r6 - 9c24: 4c39 ldr r4, [pc, #228] ; (9d0c ) - 9c26: 47a0 blx r4 - 9c28: 9a13 ldr r2, [sp, #76] ; 0x4c - 9c2a: 8893 ldrh r3, [r2, #4] - 9c2c: 3301 adds r3, #1 - 9c2e: 8812 ldrh r2, [r2, #0] - 9c30: 1a9b subs r3, r3, r2 + 9bfc: f9bb 300c ldrsh.w r3, [fp, #12] + 9c00: 1ba1 subs r1, r4, r6 + 9c02: 9200 str r2, [sp, #0] + 9c04: 9a05 ldr r2, [sp, #20] + 9c06: b289 uxth r1, r1 + 9c08: 980a ldr r0, [sp, #40] ; 0x28 + 9c0a: 4430 add r0, r6 + 9c0c: 4c39 ldr r4, [pc, #228] ; (9cf4 ) + 9c0e: 47a0 blx r4 + 9c10: 9a13 ldr r2, [sp, #76] ; 0x4c + 9c12: 8893 ldrh r3, [r2, #4] + 9c14: 3301 adds r3, #1 + 9c16: 8812 ldrh r2, [r2, #0] + 9c18: 1a9b subs r3, r3, r2 pos.x += (lv_area_get_width(coords) - line_width) / 2; - 9c32: b21b sxth r3, r3 - 9c34: 1a18 subs r0, r3, r0 - 9c36: eb00 70d0 add.w r0, r0, r0, lsr #31 - 9c3a: 9b1f ldr r3, [sp, #124] ; 0x7c - 9c3c: eb03 0360 add.w r3, r3, r0, asr #1 - 9c40: b21b sxth r3, r3 - 9c42: 931f str r3, [sp, #124] ; 0x7c - 9c44: e7b9 b.n 9bba + 9c1a: b21b sxth r3, r3 + 9c1c: 1a18 subs r0, r3, r0 + 9c1e: eb00 70d0 add.w r0, r0, r0, lsr #31 + 9c22: 9b1f ldr r3, [sp, #124] ; 0x7c + 9c24: eb03 0360 add.w r3, r3, r0, asr #1 + 9c28: b21b sxth r3, r3 + 9c2a: 931f str r3, [sp, #124] ; 0x7c + 9c2c: e7b9 b.n 9ba2 line_width = _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - 9c46: f9bb 300c ldrsh.w r3, [fp, #12] - 9c4a: 9907 ldr r1, [sp, #28] - 9c4c: 1b89 subs r1, r1, r6 - 9c4e: 9200 str r2, [sp, #0] - 9c50: 9a05 ldr r2, [sp, #20] - 9c52: b289 uxth r1, r1 - 9c54: 980a ldr r0, [sp, #40] ; 0x28 - 9c56: 4430 add r0, r6 - 9c58: 4c2c ldr r4, [pc, #176] ; (9d0c ) - 9c5a: 47a0 blx r4 - 9c5c: 9a13 ldr r2, [sp, #76] ; 0x4c - 9c5e: 8893 ldrh r3, [r2, #4] - 9c60: 3301 adds r3, #1 - 9c62: 8812 ldrh r2, [r2, #0] - 9c64: 1a9b subs r3, r3, r2 + 9c2e: f9bb 300c ldrsh.w r3, [fp, #12] + 9c32: 9907 ldr r1, [sp, #28] + 9c34: 1b89 subs r1, r1, r6 + 9c36: 9200 str r2, [sp, #0] + 9c38: 9a05 ldr r2, [sp, #20] + 9c3a: b289 uxth r1, r1 + 9c3c: 980a ldr r0, [sp, #40] ; 0x28 + 9c3e: 4430 add r0, r6 + 9c40: 4c2c ldr r4, [pc, #176] ; (9cf4 ) + 9c42: 47a0 blx r4 + 9c44: 9a13 ldr r2, [sp, #76] ; 0x4c + 9c46: 8893 ldrh r3, [r2, #4] + 9c48: 3301 adds r3, #1 + 9c4a: 8812 ldrh r2, [r2, #0] + 9c4c: 1a9b subs r3, r3, r2 pos.x += lv_area_get_width(coords) - line_width; - 9c66: b21b sxth r3, r3 - 9c68: 1a1b subs r3, r3, r0 - 9c6a: 9a1f ldr r2, [sp, #124] ; 0x7c - 9c6c: 4413 add r3, r2 - 9c6e: b21b sxth r3, r3 - 9c70: 931f str r3, [sp, #124] ; 0x7c - 9c72: e7a2 b.n 9bba + 9c4e: b21b sxth r3, r3 + 9c50: 1a1b subs r3, r3, r0 + 9c52: 9a1f ldr r2, [sp, #124] ; 0x7c + 9c54: 4413 add r3, r2 + 9c56: b21b sxth r3, r3 + 9c58: 931f str r3, [sp, #124] ; 0x7c + 9c5a: e7a2 b.n 9ba2 lv_draw_line_dsc_init(&line_dsc); - 9c74: a853 add r0, sp, #332 ; 0x14c - 9c76: 4b26 ldr r3, [pc, #152] ; (9d10 ) - 9c78: 4798 blx r3 + 9c5c: a853 add r0, sp, #332 ; 0x14c + 9c5e: 4b26 ldr r3, [pc, #152] ; (9cf8 ) + 9c60: 4798 blx r3 line_dsc.color = dsc->color; - 9c7a: f8bb 3000 ldrh.w r3, [fp] - 9c7e: f8ad 314c strh.w r3, [sp, #332] ; 0x14c + 9c62: f8bb 3000 ldrh.w r3, [fp] + 9c66: f8ad 314c strh.w r3, [sp, #332] ; 0x14c line_dsc.width = (dsc->font->line_height + 5) / 10; /*+5 for rounding*/ - 9c82: f8db 3004 ldr.w r3, [fp, #4] - 9c86: f9b3 3008 ldrsh.w r3, [r3, #8] - 9c8a: 3305 adds r3, #5 - 9c8c: 4a21 ldr r2, [pc, #132] ; (9d14 ) - 9c8e: fb82 1203 smull r1, r2, r2, r3 - 9c92: 17db asrs r3, r3, #31 - 9c94: ebc3 03a2 rsb r3, r3, r2, asr #2 - 9c98: f8ad 314e strh.w r3, [sp, #334] ; 0x14e + 9c6a: f8db 3004 ldr.w r3, [fp, #4] + 9c6e: f9b3 3008 ldrsh.w r3, [r3, #8] + 9c72: 3305 adds r3, #5 + 9c74: 4a21 ldr r2, [pc, #132] ; (9cfc ) + 9c76: fb82 1203 smull r1, r2, r2, r3 + 9c7a: 17db asrs r3, r3, #31 + 9c7c: ebc3 03a2 rsb r3, r3, r2, asr #2 + 9c80: f8ad 314e strh.w r3, [sp, #334] ; 0x14e line_dsc.opa = dsc->opa; - 9c9c: f89b 3008 ldrb.w r3, [fp, #8] - 9ca0: f88d 3154 strb.w r3, [sp, #340] ; 0x154 + 9c84: f89b 3008 ldrb.w r3, [fp, #8] + 9c88: f88d 3154 strb.w r3, [sp, #340] ; 0x154 line_dsc.blend_mode = dsc->blend_mode; - 9ca4: f89d 3155 ldrb.w r3, [sp, #341] ; 0x155 - 9ca8: f89b 2019 ldrb.w r2, [fp, #25] - 9cac: f362 0301 bfi r3, r2, #0, #2 - 9cb0: f88d 3155 strb.w r3, [sp, #341] ; 0x155 - 9cb4: e794 b.n 9be0 + 9c8c: f89d 3155 ldrb.w r3, [sp, #341] ; 0x155 + 9c90: f89b 2019 ldrb.w r2, [fp, #25] + 9c94: f362 0301 bfi r3, r2, #0, #2 + 9c98: f88d 3155 strb.w r3, [sp, #341] ; 0x155 + 9c9c: e794 b.n 9bc8 uint16_t logical_char_pos = 0; - 9cb6: 2500 movs r5, #0 - 9cb8: e0aa b.n 9e10 - 9cba: 2500 movs r5, #0 - 9cbc: e0a8 b.n 9e10 + 9c9e: 2500 movs r5, #0 + 9ca0: e0aa b.n 9df8 + 9ca2: 2500 movs r5, #0 + 9ca4: e0a8 b.n 9df8 if(cmd_state == CMD_STATE_WAIT) { /*Start char*/ - 9cbe: 9b06 ldr r3, [sp, #24] - 9cc0: b92b cbnz r3, 9cce + 9ca6: 9b06 ldr r3, [sp, #24] + 9ca8: b92b cbnz r3, 9cb6 par_start = i; - 9cc2: f8bd 3148 ldrh.w r3, [sp, #328] ; 0x148 - 9cc6: 9319 str r3, [sp, #100] ; 0x64 + 9caa: f8bd 3148 ldrh.w r3, [sp, #328] ; 0x148 + 9cae: 9319 str r3, [sp, #100] ; 0x64 cmd_state = CMD_STATE_PAR; - 9cc8: 2301 movs r3, #1 - 9cca: 9306 str r3, [sp, #24] + 9cb0: 2301 movs r3, #1 + 9cb2: 9306 str r3, [sp, #24] continue; - 9ccc: e08a b.n 9de4 + 9cb4: e08a b.n 9dcc else if(cmd_state == CMD_STATE_PAR) { /*Other start char in parameter escaped cmd. char */ - 9cce: 9b06 ldr r3, [sp, #24] - 9cd0: 2b01 cmp r3, #1 - 9cd2: f000 85f1 beq.w a8b8 + 9cb6: 9b06 ldr r3, [sp, #24] + 9cb8: 2b01 cmp r3, #1 + 9cba: f000 85f1 beq.w a8a0 else if(cmd_state == CMD_STATE_IN) { /*Command end */ - 9cd6: 2b02 cmp r3, #2 - 9cd8: f000 8533 beq.w a742 + 9cbe: 2b02 cmp r3, #2 + 9cc0: f000 8533 beq.w a72a lv_color_t color = dsc->color; - 9cdc: f8b8 6000 ldrh.w r6, [r8] - 9ce0: e0b5 b.n 9e4e + 9cc4: f8b8 6000 ldrh.w r6, [r8] + 9cc8: e0b5 b.n 9e36 if(letter == ' ') { - 9ce2: 2c20 cmp r4, #32 - 9ce4: d17e bne.n 9de4 + 9cca: 2c20 cmp r4, #32 + 9ccc: d17e bne.n 9dcc if(i - par_start == LABEL_RECOLOR_PAR_LENGTH + 1) { - 9ce6: 9b52 ldr r3, [sp, #328] ; 0x148 - 9ce8: 9a19 ldr r2, [sp, #100] ; 0x64 - 9cea: 1a9b subs r3, r3, r2 - 9cec: 2b07 cmp r3, #7 - 9cee: d015 beq.n 9d1c + 9cce: 9b52 ldr r3, [sp, #328] ; 0x148 + 9cd0: 9a19 ldr r2, [sp, #100] ; 0x64 + 9cd2: 1a9b subs r3, r3, r2 + 9cd4: 2b07 cmp r3, #7 + 9cd6: d015 beq.n 9d04 recolor.full = dsc->color.full; - 9cf0: f8b8 3000 ldrh.w r3, [r8] - 9cf4: 930c str r3, [sp, #48] ; 0x30 + 9cd8: f8b8 3000 ldrh.w r3, [r8] + 9cdc: 930c str r3, [sp, #48] ; 0x30 cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/ - 9cf6: 2302 movs r3, #2 - 9cf8: 9306 str r3, [sp, #24] - 9cfa: e073 b.n 9de4 - 9cfc: 00011519 .word 0x00011519 - 9d00: 0001407d .word 0x0001407d - 9d04: 00013db1 .word 0x00013db1 - 9d08: 0000c269 .word 0x0000c269 - 9d0c: 00013fdd .word 0x00013fdd - 9d10: 0000a8e1 .word 0x0000a8e1 - 9d14: 66666667 .word 0x66666667 - 9d18: fffffc00 .word 0xfffffc00 + 9cde: 2302 movs r3, #2 + 9ce0: 9306 str r3, [sp, #24] + 9ce2: e073 b.n 9dcc + 9ce4: 00011501 .word 0x00011501 + 9ce8: 00014065 .word 0x00014065 + 9cec: 00013d99 .word 0x00013d99 + 9cf0: 0000c251 .word 0x0000c251 + 9cf4: 00013fc5 .word 0x00013fc5 + 9cf8: 0000a8c9 .word 0x0000a8c9 + 9cfc: 66666667 .word 0x66666667 + 9d00: fffffc00 .word 0xfffffc00 _lv_memcpy_small(buf, &bidi_txt[par_start], LABEL_RECOLOR_PAR_LENGTH); - 9d1c: 9b09 ldr r3, [sp, #36] ; 0x24 - 9d1e: 1898 adds r0, r3, r2 - 9d20: 1e43 subs r3, r0, #1 - 9d22: 3005 adds r0, #5 + 9d04: 9b09 ldr r3, [sp, #36] ; 0x24 + 9d06: 1898 adds r0, r3, r2 + 9d08: 1e43 subs r3, r0, #1 + 9d0a: 3005 adds r0, #5 uint8_t * d8 = (uint8_t *)dst; - 9d24: aa3a add r2, sp, #232 ; 0xe8 + 9d0c: aa3a add r2, sp, #232 ; 0xe8 *d8 = *s8; - 9d26: f813 1f01 ldrb.w r1, [r3, #1]! - 9d2a: f802 1b01 strb.w r1, [r2], #1 + 9d0e: f813 1f01 ldrb.w r1, [r3, #1]! + 9d12: f802 1b01 strb.w r1, [r2], #1 while(len) { - 9d2e: 4283 cmp r3, r0 - 9d30: d1f9 bne.n 9d26 + 9d16: 4283 cmp r3, r0 + 9d18: d1f9 bne.n 9d0e r = (hex_char_to_num(buf[0]) << 4) + hex_char_to_num(buf[1]); - 9d32: f89d 00e8 ldrb.w r0, [sp, #232] ; 0xe8 - 9d36: 4c8c ldr r4, [pc, #560] ; (9f68 ) - 9d38: 47a0 blx r4 - 9d3a: 4605 mov r5, r0 - 9d3c: f89d 00e9 ldrb.w r0, [sp, #233] ; 0xe9 - 9d40: 47a0 blx r4 - 9d42: eb00 1505 add.w r5, r0, r5, lsl #4 + 9d1a: f89d 00e8 ldrb.w r0, [sp, #232] ; 0xe8 + 9d1e: 4c8c ldr r4, [pc, #560] ; (9f50 ) + 9d20: 47a0 blx r4 + 9d22: 4605 mov r5, r0 + 9d24: f89d 00e9 ldrb.w r0, [sp, #233] ; 0xe9 + 9d28: 47a0 blx r4 + 9d2a: eb00 1505 add.w r5, r0, r5, lsl #4 g = (hex_char_to_num(buf[2]) << 4) + hex_char_to_num(buf[3]); - 9d46: f89d 00ea ldrb.w r0, [sp, #234] ; 0xea - 9d4a: 47a0 blx r4 - 9d4c: 4606 mov r6, r0 - 9d4e: f89d 00eb ldrb.w r0, [sp, #235] ; 0xeb - 9d52: 47a0 blx r4 - 9d54: eb00 1606 add.w r6, r0, r6, lsl #4 + 9d2e: f89d 00ea ldrb.w r0, [sp, #234] ; 0xea + 9d32: 47a0 blx r4 + 9d34: 4606 mov r6, r0 + 9d36: f89d 00eb ldrb.w r0, [sp, #235] ; 0xeb + 9d3a: 47a0 blx r4 + 9d3c: eb00 1606 add.w r6, r0, r6, lsl #4 b = (hex_char_to_num(buf[4]) << 4) + hex_char_to_num(buf[5]); - 9d58: f89d 00ec ldrb.w r0, [sp, #236] ; 0xec - 9d5c: 47a0 blx r4 - 9d5e: 4607 mov r7, r0 - 9d60: f89d 00ed ldrb.w r0, [sp, #237] ; 0xed - 9d64: 47a0 blx r4 - 9d66: eb00 1307 add.w r3, r0, r7, lsl #4 + 9d40: f89d 00ec ldrb.w r0, [sp, #236] ; 0xec + 9d44: 47a0 blx r4 + 9d46: 4607 mov r7, r0 + 9d48: f89d 00ed ldrb.w r0, [sp, #237] ; 0xed + 9d4c: 47a0 blx r4 + 9d4e: eb00 1307 add.w r3, r0, r7, lsl #4 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ #endif static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { return LV_COLOR_MAKE(r, g, b); - 9d6a: f3c3 03c4 ubfx r3, r3, #3, #5 - 9d6e: 9a2e ldr r2, [sp, #184] ; 0xb8 - 9d70: f363 0204 bfi r2, r3, #0, #5 - 9d74: 4613 mov r3, r2 - 9d76: f3c6 0685 ubfx r6, r6, #2, #6 - 9d7a: f366 134a bfi r3, r6, #5, #6 - 9d7e: f3c5 05c4 ubfx r5, r5, #3, #5 - 9d82: f365 23cf bfi r3, r5, #11, #5 - 9d86: f8ad 30b8 strh.w r3, [sp, #184] ; 0xb8 - 9d8a: b29b uxth r3, r3 - 9d8c: 930c str r3, [sp, #48] ; 0x30 + 9d52: f3c3 03c4 ubfx r3, r3, #3, #5 + 9d56: 9a2e ldr r2, [sp, #184] ; 0xb8 + 9d58: f363 0204 bfi r2, r3, #0, #5 + 9d5c: 4613 mov r3, r2 + 9d5e: f3c6 0685 ubfx r6, r6, #2, #6 + 9d62: f366 134a bfi r3, r6, #5, #6 + 9d66: f3c5 05c4 ubfx r5, r5, #3, #5 + 9d6a: f365 23cf bfi r3, r5, #11, #5 + 9d6e: f8ad 30b8 strh.w r3, [sp, #184] ; 0xb8 + 9d72: b29b uxth r3, r3 + 9d74: 930c str r3, [sp, #48] ; 0x30 cmd_state = CMD_STATE_IN; /*After the parameter the text is in the command*/ - 9d8e: 2302 movs r3, #2 - 9d90: 9306 str r3, [sp, #24] - 9d92: e027 b.n 9de4 + 9d76: 2302 movs r3, #2 + 9d78: 9306 str r3, [sp, #24] + 9d7a: e027 b.n 9dcc sel_coords.x1 = pos.x; - 9d94: f8ad a0e8 strh.w sl, [sp, #232] ; 0xe8 + 9d7c: f8ad a0e8 strh.w sl, [sp, #232] ; 0xe8 sel_coords.y1 = pos.y; - 9d98: 9a0e ldr r2, [sp, #56] ; 0x38 - 9d9a: f8ad 20ea strh.w r2, [sp, #234] ; 0xea + 9d80: 9a0e ldr r2, [sp, #56] ; 0x38 + 9d82: f8ad 20ea strh.w r2, [sp, #234] ; 0xea sel_coords.x2 = pos.x + letter_w + dsc->letter_space - 1; - 9d9e: f8b8 300c ldrh.w r3, [r8, #12] - 9da2: 3b01 subs r3, #1 - 9da4: 4453 add r3, sl - 9da6: 4403 add r3, r0 - 9da8: f8ad 30ec strh.w r3, [sp, #236] ; 0xec + 9d86: f8b8 300c ldrh.w r3, [r8, #12] + 9d8a: 3b01 subs r3, #1 + 9d8c: 4453 add r3, sl + 9d8e: 4403 add r3, r0 + 9d90: f8ad 30ec strh.w r3, [sp, #236] ; 0xec sel_coords.y2 = pos.y + line_height - 1; - 9dac: 9b17 ldr r3, [sp, #92] ; 0x5c - 9dae: 3b01 subs r3, #1 - 9db0: 4413 add r3, r2 - 9db2: f8ad 30ee strh.w r3, [sp, #238] ; 0xee + 9d94: 9b17 ldr r3, [sp, #92] ; 0x5c + 9d96: 3b01 subs r3, #1 + 9d98: 4413 add r3, r2 + 9d9a: f8ad 30ee strh.w r3, [sp, #238] ; 0xee lv_draw_rect(&sel_coords, mask, &draw_dsc_sel); - 9db6: aa3d add r2, sp, #244 ; 0xf4 - 9db8: 990d ldr r1, [sp, #52] ; 0x34 - 9dba: a83a add r0, sp, #232 ; 0xe8 - 9dbc: 4b6b ldr r3, [pc, #428] ; (9f6c ) - 9dbe: 4798 blx r3 - 9dc0: e056 b.n 9e70 + 9d9e: aa3d add r2, sp, #244 ; 0xf4 + 9da0: 990d ldr r1, [sp, #52] ; 0x34 + 9da2: a83a add r0, sp, #232 ; 0xe8 + 9da4: 4b6b ldr r3, [pc, #428] ; (9f54 ) + 9da6: 4798 blx r3 + 9da8: e056 b.n 9e58 LV_LOG_WARN("lv_draw_letter: font is NULL"); - 9dc2: 4b6b ldr r3, [pc, #428] ; (9f70 ) - 9dc4: 9300 str r3, [sp, #0] - 9dc6: 4b6b ldr r3, [pc, #428] ; (9f74 ) - 9dc8: f240 1297 movw r2, #407 ; 0x197 - 9dcc: 496a ldr r1, [pc, #424] ; (9f78 ) - 9dce: 2002 movs r0, #2 - 9dd0: 4c6a ldr r4, [pc, #424] ; (9f7c ) - 9dd2: 47a0 blx r4 + 9daa: 4b6b ldr r3, [pc, #428] ; (9f58 ) + 9dac: 9300 str r3, [sp, #0] + 9dae: 4b6b ldr r3, [pc, #428] ; (9f5c ) + 9db0: f240 1297 movw r2, #407 ; 0x197 + 9db4: 496a ldr r1, [pc, #424] ; (9f60 ) + 9db6: 2002 movs r0, #2 + 9db8: 4c6a ldr r4, [pc, #424] ; (9f64 ) + 9dba: 47a0 blx r4 if(letter_w > 0) { - 9dd4: 2f00 cmp r7, #0 - 9dd6: dd05 ble.n 9de4 + 9dbc: 2f00 cmp r7, #0 + 9dbe: dd05 ble.n 9dcc pos.x += letter_w + dsc->letter_space; - 9dd8: f8b8 300c ldrh.w r3, [r8, #12] - 9ddc: 4453 add r3, sl - 9dde: 443b add r3, r7 - 9de0: fa0f fa83 sxth.w sl, r3 + 9dc0: f8b8 300c ldrh.w r3, [r8, #12] + 9dc4: 4453 add r3, sl + 9dc6: 443b add r3, r7 + 9dc8: fa0f fa83 sxth.w sl, r3 while(i < line_end - line_start) { - 9de4: 9952 ldr r1, [sp, #328] ; 0x148 - 9de6: 9b07 ldr r3, [sp, #28] - 9de8: eba3 030b sub.w r3, r3, fp - 9dec: 428b cmp r3, r1 - 9dee: f240 84ac bls.w a74a + 9dcc: 9952 ldr r1, [sp, #328] ; 0x148 + 9dce: 9b07 ldr r3, [sp, #28] + 9dd0: eba3 030b sub.w r3, r3, fp + 9dd4: 428b cmp r3, r1 + 9dd6: f240 84ac bls.w a732 if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - 9df2: f64f 73ff movw r3, #65535 ; 0xffff - 9df6: 4599 cmp r9, r3 - 9df8: f43f af5d beq.w 9cb6 - 9dfc: 9a08 ldr r2, [sp, #32] - 9dfe: 429a cmp r2, r3 - 9e00: f43f af5b beq.w 9cba + 9dda: f64f 73ff movw r3, #65535 ; 0xffff + 9dde: 4599 cmp r9, r3 + 9de0: f43f af5d beq.w 9c9e + 9de4: 9a08 ldr r2, [sp, #32] + 9de6: 429a cmp r2, r3 + 9de8: f43f af5b beq.w 9ca2 logical_char_pos = _lv_txt_encoded_get_char_id(txt, line_start + i); - 9e04: 4459 add r1, fp - 9e06: 980a ldr r0, [sp, #40] ; 0x28 - 9e08: 4b5d ldr r3, [pc, #372] ; (9f80 ) - 9e0a: 681b ldr r3, [r3, #0] - 9e0c: 4798 blx r3 - 9e0e: b285 uxth r5, r0 + 9dec: 4459 add r1, fp + 9dee: 980a ldr r0, [sp, #40] ; 0x28 + 9df0: 4b5d ldr r3, [pc, #372] ; (9f68 ) + 9df2: 681b ldr r3, [r3, #0] + 9df4: 4798 blx r3 + 9df6: b285 uxth r5, r0 uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - 9e10: 4e5c ldr r6, [pc, #368] ; (9f84 ) - 9e12: 6833 ldr r3, [r6, #0] - 9e14: a952 add r1, sp, #328 ; 0x148 - 9e16: 9f09 ldr r7, [sp, #36] ; 0x24 - 9e18: 4638 mov r0, r7 - 9e1a: 4798 blx r3 - 9e1c: 4604 mov r4, r0 + 9df8: 4e5c ldr r6, [pc, #368] ; (9f6c ) + 9dfa: 6833 ldr r3, [r6, #0] + 9dfc: a952 add r1, sp, #328 ; 0x148 + 9dfe: 9f09 ldr r7, [sp, #36] ; 0x24 + 9e00: 4638 mov r0, r7 + 9e02: 4798 blx r3 + 9e04: 4604 mov r4, r0 uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL); - 9e1e: 6833 ldr r3, [r6, #0] - 9e20: 2100 movs r1, #0 - 9e22: 9852 ldr r0, [sp, #328] ; 0x148 - 9e24: 4438 add r0, r7 - 9e26: 4798 blx r3 + 9e06: 6833 ldr r3, [r6, #0] + 9e08: 2100 movs r1, #0 + 9e0a: 9852 ldr r0, [sp, #328] ; 0x148 + 9e0c: 4438 add r0, r7 + 9e0e: 4798 blx r3 if((dsc->flag & LV_TXT_FLAG_RECOLOR) != 0) { - 9e28: f898 3017 ldrb.w r3, [r8, #23] - 9e2c: f013 0f01 tst.w r3, #1 - 9e30: d006 beq.n 9e40 + 9e10: f898 3017 ldrb.w r3, [r8, #23] + 9e14: f013 0f01 tst.w r3, #1 + 9e18: d006 beq.n 9e28 if(letter == (uint32_t)LV_TXT_COLOR_CMD[0]) { - 9e32: 2c23 cmp r4, #35 ; 0x23 - 9e34: f43f af43 beq.w 9cbe + 9e1a: 2c23 cmp r4, #35 ; 0x23 + 9e1c: f43f af43 beq.w 9ca6 if(cmd_state == CMD_STATE_PAR) { - 9e38: 9b06 ldr r3, [sp, #24] - 9e3a: 2b01 cmp r3, #1 - 9e3c: f43f af51 beq.w 9ce2 + 9e20: 9b06 ldr r3, [sp, #24] + 9e22: 2b01 cmp r3, #1 + 9e24: f43f af51 beq.w 9cca lv_color_t color = dsc->color; - 9e40: f8b8 6000 ldrh.w r6, [r8] + 9e28: f8b8 6000 ldrh.w r6, [r8] if(cmd_state == CMD_STATE_IN) color = recolor; - 9e44: 9b0c ldr r3, [sp, #48] ; 0x30 - 9e46: 9a06 ldr r2, [sp, #24] - 9e48: 2a02 cmp r2, #2 - 9e4a: bf08 it eq - 9e4c: 461e moveq r6, r3 + 9e2c: 9b0c ldr r3, [sp, #48] ; 0x30 + 9e2e: 9a06 ldr r2, [sp, #24] + 9e30: 2a02 cmp r2, #2 + 9e32: bf08 it eq + 9e34: 461e moveq r6, r3 letter_w = lv_font_get_glyph_width(font, letter, letter_next); - 9e4e: 4602 mov r2, r0 - 9e50: 4621 mov r1, r4 - 9e52: 9805 ldr r0, [sp, #20] - 9e54: 4b4c ldr r3, [pc, #304] ; (9f88 ) - 9e56: 4798 blx r3 - 9e58: 4607 mov r7, r0 + 9e36: 4602 mov r2, r0 + 9e38: 4621 mov r1, r4 + 9e3a: 9805 ldr r0, [sp, #20] + 9e3c: 4b4c ldr r3, [pc, #304] ; (9f70 ) + 9e3e: 4798 blx r3 + 9e40: 4607 mov r7, r0 if(sel_start != 0xFFFF && sel_end != 0xFFFF) { - 9e5a: f64f 73ff movw r3, #65535 ; 0xffff - 9e5e: 4599 cmp r9, r3 - 9e60: d006 beq.n 9e70 - 9e62: 9908 ldr r1, [sp, #32] - 9e64: 4299 cmp r1, r3 - 9e66: d003 beq.n 9e70 + 9e42: f64f 73ff movw r3, #65535 ; 0xffff + 9e46: 4599 cmp r9, r3 + 9e48: d006 beq.n 9e58 + 9e4a: 9908 ldr r1, [sp, #32] + 9e4c: 4299 cmp r1, r3 + 9e4e: d003 beq.n 9e58 if(logical_char_pos >= sel_start && logical_char_pos < sel_end) { - 9e68: 45a9 cmp r9, r5 - 9e6a: d801 bhi.n 9e70 - 9e6c: 42a9 cmp r1, r5 - 9e6e: d891 bhi.n 9d94 + 9e50: 45a9 cmp r9, r5 + 9e52: d801 bhi.n 9e58 + 9e54: 42a9 cmp r1, r5 + 9e56: d891 bhi.n 9d7c if(opa < LV_OPA_MIN) return; - 9e70: 9b0b ldr r3, [sp, #44] ; 0x2c - 9e72: 2b04 cmp r3, #4 - 9e74: d9ae bls.n 9dd4 + 9e58: 9b0b ldr r3, [sp, #44] ; 0x2c + 9e5a: 2b04 cmp r3, #4 + 9e5c: d9ae bls.n 9dbc if(font_p == NULL) { - 9e76: 9b05 ldr r3, [sp, #20] - 9e78: 2b00 cmp r3, #0 - 9e7a: d0a2 beq.n 9dc2 + 9e5e: 9b05 ldr r3, [sp, #20] + 9e60: 2b00 cmp r3, #0 + 9e62: d0a2 beq.n 9daa lv_draw_letter(&pos, mask, font, letter, color, opa, dsc->blend_mode); - 9e7c: f898 3019 ldrb.w r3, [r8, #25] - 9e80: 930f str r3, [sp, #60] ; 0x3c + 9e64: f898 3019 ldrb.w r3, [r8, #25] + 9e68: 930f str r3, [sp, #60] ; 0x3c bool g_ret = lv_font_get_glyph_dsc(font_p, &g, letter, '\0'); - 9e82: 2300 movs r3, #0 - 9e84: 4622 mov r2, r4 - 9e86: a93a add r1, sp, #232 ; 0xe8 - 9e88: 9805 ldr r0, [sp, #20] - 9e8a: 4d40 ldr r5, [pc, #256] ; (9f8c ) - 9e8c: 47a8 blx r5 + 9e6a: 2300 movs r3, #0 + 9e6c: 4622 mov r2, r4 + 9e6e: a93a add r1, sp, #232 ; 0xe8 + 9e70: 9805 ldr r0, [sp, #20] + 9e72: 4d40 ldr r5, [pc, #256] ; (9f74 ) + 9e74: 47a8 blx r5 if(g_ret == false) { - 9e8e: b958 cbnz r0, 9ea8 + 9e76: b958 cbnz r0, 9e90 if(letter >= 0x20) { - 9e90: 2c1f cmp r4, #31 - 9e92: d99f bls.n 9dd4 + 9e78: 2c1f cmp r4, #31 + 9e7a: d99f bls.n 9dbc LV_LOG_WARN("lv_draw_letter: glyph dsc. not found"); - 9e94: 4b3e ldr r3, [pc, #248] ; (9f90 ) - 9e96: 9300 str r3, [sp, #0] - 9e98: 4b36 ldr r3, [pc, #216] ; (9f74 ) - 9e9a: f240 12a1 movw r2, #417 ; 0x1a1 - 9e9e: 4936 ldr r1, [pc, #216] ; (9f78 ) - 9ea0: 2002 movs r0, #2 - 9ea2: 4c36 ldr r4, [pc, #216] ; (9f7c ) - 9ea4: 47a0 blx r4 - 9ea6: e795 b.n 9dd4 + 9e7c: 4b3e ldr r3, [pc, #248] ; (9f78 ) + 9e7e: 9300 str r3, [sp, #0] + 9e80: 4b36 ldr r3, [pc, #216] ; (9f5c ) + 9e82: f240 12a1 movw r2, #417 ; 0x1a1 + 9e86: 4936 ldr r1, [pc, #216] ; (9f60 ) + 9e88: 2002 movs r0, #2 + 9e8a: 4c36 ldr r4, [pc, #216] ; (9f64 ) + 9e8c: 47a0 blx r4 + 9e8e: e795 b.n 9dbc if((g.box_h == 0) && (g.box_w == 0)) return; - 9ea8: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec - 9eac: b91a cbnz r2, 9eb6 - 9eae: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - 9eb2: 2b00 cmp r3, #0 - 9eb4: d08e beq.n 9dd4 + 9e90: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec + 9e94: b91a cbnz r2, 9e9e + 9e96: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 9e9a: 2b00 cmp r3, #0 + 9e9c: d08e beq.n 9dbc int32_t pos_x = pos_p->x + g.ofs_x; - 9eb6: f9bd 50ee ldrsh.w r5, [sp, #238] ; 0xee - 9eba: 4455 add r5, sl + 9e9e: f9bd 50ee ldrsh.w r5, [sp, #238] ; 0xee + 9ea2: 4455 add r5, sl if(pos_x + g.box_w < clip_area->x1 || - 9ebc: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - 9ec0: 442b add r3, r5 - 9ec2: 980d ldr r0, [sp, #52] ; 0x34 - 9ec4: f9b0 1000 ldrsh.w r1, [r0] - 9ec8: 428b cmp r3, r1 - 9eca: db83 blt.n 9dd4 + 9ea4: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 9ea8: 442b add r3, r5 + 9eaa: 980d ldr r0, [sp, #52] ; 0x34 + 9eac: f9b0 1000 ldrsh.w r1, [r0] + 9eb0: 428b cmp r3, r1 + 9eb2: db83 blt.n 9dbc pos_x > clip_area->x2 || - 9ecc: f9b0 3004 ldrsh.w r3, [r0, #4] + 9eb4: f9b0 3004 ldrsh.w r3, [r0, #4] if(pos_x + g.box_w < clip_area->x1 || - 9ed0: 429d cmp r5, r3 - 9ed2: f73f af7f bgt.w 9dd4 + 9eb8: 429d cmp r5, r3 + 9eba: f73f af7f bgt.w 9dbc int32_t pos_y = pos_p->y + (font_p->line_height - font_p->base_line) - g.box_h - g.ofs_y; - 9ed6: 9b05 ldr r3, [sp, #20] - 9ed8: f9b3 1008 ldrsh.w r1, [r3, #8] - 9edc: f9b3 300a ldrsh.w r3, [r3, #10] - 9ee0: 1acb subs r3, r1, r3 - 9ee2: 990e ldr r1, [sp, #56] ; 0x38 - 9ee4: 440b add r3, r1 - 9ee6: 1a99 subs r1, r3, r2 - 9ee8: f9bd 30f0 ldrsh.w r3, [sp, #240] ; 0xf0 - 9eec: 1acb subs r3, r1, r3 + 9ebe: 9b05 ldr r3, [sp, #20] + 9ec0: f9b3 1008 ldrsh.w r1, [r3, #8] + 9ec4: f9b3 300a ldrsh.w r3, [r3, #10] + 9ec8: 1acb subs r3, r1, r3 + 9eca: 990e ldr r1, [sp, #56] ; 0x38 + 9ecc: 440b add r3, r1 + 9ece: 1a99 subs r1, r3, r2 + 9ed0: f9bd 30f0 ldrsh.w r3, [sp, #240] ; 0xf0 + 9ed4: 1acb subs r3, r1, r3 pos_y + g.box_h < clip_area->y1 || - 9eee: 9315 str r3, [sp, #84] ; 0x54 - 9ef0: 441a add r2, r3 - 9ef2: f9b0 3002 ldrsh.w r3, [r0, #2] + 9ed6: 9315 str r3, [sp, #84] ; 0x54 + 9ed8: 441a add r2, r3 + 9eda: f9b0 3002 ldrsh.w r3, [r0, #2] pos_x > clip_area->x2 || - 9ef6: 429a cmp r2, r3 - 9ef8: f6ff af6c blt.w 9dd4 + 9ede: 429a cmp r2, r3 + 9ee0: f6ff af6c blt.w 9dbc pos_y > clip_area->y2) { - 9efc: f9b0 3006 ldrsh.w r3, [r0, #6] + 9ee4: f9b0 3006 ldrsh.w r3, [r0, #6] pos_y + g.box_h < clip_area->y1 || - 9f00: 9915 ldr r1, [sp, #84] ; 0x54 - 9f02: 4299 cmp r1, r3 - 9f04: f73f af66 bgt.w 9dd4 + 9ee8: 9915 ldr r1, [sp, #84] ; 0x54 + 9eea: 4299 cmp r1, r3 + 9eec: f73f af66 bgt.w 9dbc const uint8_t * map_p = lv_font_get_glyph_bitmap(font_p, letter); - 9f08: 4621 mov r1, r4 - 9f0a: 9805 ldr r0, [sp, #20] - 9f0c: 4b21 ldr r3, [pc, #132] ; (9f94 ) - 9f0e: 4798 blx r3 + 9ef0: 4621 mov r1, r4 + 9ef2: 9805 ldr r0, [sp, #20] + 9ef4: 4b21 ldr r3, [pc, #132] ; (9f7c ) + 9ef6: 4798 blx r3 if(map_p == NULL) { - 9f10: 4686 mov lr, r0 - 9f12: b1f0 cbz r0, 9f52 + 9ef8: 4686 mov lr, r0 + 9efa: b1f0 cbz r0, 9f3a if(font_p->subpx) { - 9f14: 9b05 ldr r3, [sp, #20] - 9f16: 7b1b ldrb r3, [r3, #12] - 9f18: f013 0f03 tst.w r3, #3 - 9f1c: f000 825e beq.w a3dc + 9efc: 9b05 ldr r3, [sp, #20] + 9efe: 7b1b ldrb r3, [r3, #12] + 9f00: f013 0f03 tst.w r3, #3 + 9f04: f000 825e beq.w a3c4 draw_letter_subpx(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode); - 9f20: b22b sxth r3, r5 - 9f22: 9318 str r3, [sp, #96] ; 0x60 - 9f24: f9bd 3054 ldrsh.w r3, [sp, #84] ; 0x54 - 9f28: 931d str r3, [sp, #116] ; 0x74 + 9f08: b22b sxth r3, r5 + 9f0a: 9318 str r3, [sp, #96] ; 0x60 + 9f0c: f9bd 3054 ldrsh.w r3, [sp, #84] ; 0x54 + 9f10: 931d str r3, [sp, #116] ; 0x74 uint32_t bpp = g->bpp; - 9f2a: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 - 9f2e: 9312 str r3, [sp, #72] ; 0x48 + 9f12: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 + 9f16: 9312 str r3, [sp, #72] ; 0x48 if(bpp == 3) bpp = 4; - 9f30: 2b03 cmp r3, #3 - 9f32: f000 80ff beq.w a134 + 9f18: 2b03 cmp r3, #3 + 9f1a: f000 80ff beq.w a11c switch(bpp) { - 9f36: 3b01 subs r3, #1 - 9f38: 2b07 cmp r3, #7 - 9f3a: f200 8102 bhi.w a142 - 9f3e: e8df f013 tbh [pc, r3, lsl #1] - 9f42: 010a .short 0x010a - 9f44: 0100002d .word 0x0100002d - 9f48: 010000fb .word 0x010000fb - 9f4c: 01000100 .word 0x01000100 - 9f50: 0111 .short 0x0111 + 9f1e: 3b01 subs r3, #1 + 9f20: 2b07 cmp r3, #7 + 9f22: f200 8102 bhi.w a12a + 9f26: e8df f013 tbh [pc, r3, lsl #1] + 9f2a: 010a .short 0x010a + 9f2c: 0100002d .word 0x0100002d + 9f30: 010000fb .word 0x010000fb + 9f34: 01000100 .word 0x01000100 + 9f38: 0111 .short 0x0111 LV_LOG_WARN("lv_draw_letter: character's bitmap not found"); - 9f52: 4b11 ldr r3, [pc, #68] ; (9f98 ) - 9f54: 9300 str r3, [sp, #0] - 9f56: 4b07 ldr r3, [pc, #28] ; (9f74 ) - 9f58: f240 12b7 movw r2, #439 ; 0x1b7 - 9f5c: 4906 ldr r1, [pc, #24] ; (9f78 ) - 9f5e: 2002 movs r0, #2 - 9f60: 4c06 ldr r4, [pc, #24] ; (9f7c ) - 9f62: 47a0 blx r4 - 9f64: e736 b.n 9dd4 - 9f66: bf00 nop - 9f68: 0000998b .word 0x0000998b - 9f6c: 0000c331 .word 0x0000c331 - 9f70: 00024ee8 .word 0x00024ee8 - 9f74: 00024e78 .word 0x00024e78 - 9f78: 00024eb8 .word 0x00024eb8 - 9f7c: 0001225d .word 0x0001225d - 9f80: 20000064 .word 0x20000064 - 9f84: 20000058 .word 0x20000058 - 9f88: 00010061 .word 0x00010061 - 9f8c: 00010059 .word 0x00010059 - 9f90: 00024f08 .word 0x00024f08 - 9f94: 00010051 .word 0x00010051 - 9f98: 00024f30 .word 0x00024f30 + 9f3a: 4b11 ldr r3, [pc, #68] ; (9f80 ) + 9f3c: 9300 str r3, [sp, #0] + 9f3e: 4b07 ldr r3, [pc, #28] ; (9f5c ) + 9f40: f240 12b7 movw r2, #439 ; 0x1b7 + 9f44: 4906 ldr r1, [pc, #24] ; (9f60 ) + 9f46: 2002 movs r0, #2 + 9f48: 4c06 ldr r4, [pc, #24] ; (9f64 ) + 9f4a: 47a0 blx r4 + 9f4c: e736 b.n 9dbc + 9f4e: bf00 nop + 9f50: 00009973 .word 0x00009973 + 9f54: 0000c319 .word 0x0000c319 + 9f58: 00024ed0 .word 0x00024ed0 + 9f5c: 00024e60 .word 0x00024e60 + 9f60: 00024ea0 .word 0x00024ea0 + 9f64: 00012245 .word 0x00012245 + 9f68: 20000064 .word 0x20000064 + 9f6c: 20000058 .word 0x20000058 + 9f70: 00010049 .word 0x00010049 + 9f74: 00010041 .word 0x00010041 + 9f78: 00024ef0 .word 0x00024ef0 + 9f7c: 00010039 .word 0x00010039 + 9f80: 00024f18 .word 0x00024f18 bitmask_init = 0xC0; - 9f9c: 23c0 movs r3, #192 ; 0xc0 - 9f9e: 931b str r3, [sp, #108] ; 0x6c + 9f84: 23c0 movs r3, #192 ; 0xc0 + 9f86: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp2_opa_table; - 9fa0: 4bac ldr r3, [pc, #688] ; (a254 ) - 9fa2: 9320 str r3, [sp, #128] ; 0x80 + 9f88: 4bac ldr r3, [pc, #688] ; (a23c ) + 9f8a: 9320 str r3, [sp, #128] ; 0x80 int32_t box_w = g->box_w; - 9fa4: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - 9fa8: 931e str r3, [sp, #120] ; 0x78 + 9f8c: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + 9f90: 931e str r3, [sp, #120] ; 0x78 int32_t box_h = g->box_h; - 9faa: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec + 9f92: f8bd 10ec ldrh.w r1, [sp, #236] ; 0xec int32_t width_bit = box_w * bpp; /*Letter width in bits*/ - 9fae: 9a12 ldr r2, [sp, #72] ; 0x48 - 9fb0: fb02 f203 mul.w r2, r2, r3 + 9f96: 9a12 ldr r2, [sp, #72] ; 0x48 + 9f98: fb02 f203 mul.w r2, r2, r3 int32_t col_start = pos_x >= clip_area->x1 ? 0 : (clip_area->x1 - pos_x) * 3; - 9fb4: 9b0d ldr r3, [sp, #52] ; 0x34 - 9fb6: f9b3 3000 ldrsh.w r3, [r3] - 9fba: 9c18 ldr r4, [sp, #96] ; 0x60 - 9fbc: 429c cmp r4, r3 - 9fbe: bfba itte lt - 9fc0: 1b1b sublt r3, r3, r4 - 9fc2: eb03 0343 addlt.w r3, r3, r3, lsl #1 - 9fc6: 2300 movge r3, #0 - 9fc8: 9327 str r3, [sp, #156] ; 0x9c + 9f9c: 9b0d ldr r3, [sp, #52] ; 0x34 + 9f9e: f9b3 3000 ldrsh.w r3, [r3] + 9fa2: 9c18 ldr r4, [sp, #96] ; 0x60 + 9fa4: 429c cmp r4, r3 + 9fa6: bfba itte lt + 9fa8: 1b1b sublt r3, r3, r4 + 9faa: eb03 0343 addlt.w r3, r3, r3, lsl #1 + 9fae: 2300 movge r3, #0 + 9fb0: 9327 str r3, [sp, #156] ; 0x9c int32_t col_end = pos_x + box_w / 3 <= clip_area->x2 ? box_w : (clip_area->x2 - pos_x + 1) * 3; - 9fca: 9b0d ldr r3, [sp, #52] ; 0x34 - 9fcc: f9b3 3004 ldrsh.w r3, [r3, #4] - 9fd0: 981e ldr r0, [sp, #120] ; 0x78 - 9fd2: 4604 mov r4, r0 - 9fd4: 48a0 ldr r0, [pc, #640] ; (a258 ) - 9fd6: fb80 4004 smull r4, r0, r0, r4 - 9fda: 9c18 ldr r4, [sp, #96] ; 0x60 - 9fdc: 4420 add r0, r4 - 9fde: 4298 cmp r0, r3 - 9fe0: bfc3 ittte gt - 9fe2: 1b1b subgt r3, r3, r4 - 9fe4: 3301 addgt r3, #1 - 9fe6: eb03 0343 addgt.w r3, r3, r3, lsl #1 - 9fea: 9b1e ldrle r3, [sp, #120] ; 0x78 - 9fec: 9314 str r3, [sp, #80] ; 0x50 + 9fb2: 9b0d ldr r3, [sp, #52] ; 0x34 + 9fb4: f9b3 3004 ldrsh.w r3, [r3, #4] + 9fb8: 981e ldr r0, [sp, #120] ; 0x78 + 9fba: 4604 mov r4, r0 + 9fbc: 48a0 ldr r0, [pc, #640] ; (a240 ) + 9fbe: fb80 4004 smull r4, r0, r0, r4 + 9fc2: 9c18 ldr r4, [sp, #96] ; 0x60 + 9fc4: 4420 add r0, r4 + 9fc6: 4298 cmp r0, r3 + 9fc8: bfc3 ittte gt + 9fca: 1b1b subgt r3, r3, r4 + 9fcc: 3301 addgt r3, #1 + 9fce: eb03 0343 addgt.w r3, r3, r3, lsl #1 + 9fd2: 9b1e ldrle r3, [sp, #120] ; 0x78 + 9fd4: 9314 str r3, [sp, #80] ; 0x50 int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y; - 9fee: 9b0d ldr r3, [sp, #52] ; 0x34 - 9ff0: f9b3 3002 ldrsh.w r3, [r3, #2] - 9ff4: 9c1d ldr r4, [sp, #116] ; 0x74 - 9ff6: 429c cmp r4, r3 - 9ff8: bfb4 ite lt - 9ffa: 1b1b sublt r3, r3, r4 - 9ffc: 2300 movge r3, #0 - 9ffe: 9325 str r3, [sp, #148] ; 0x94 + 9fd6: 9b0d ldr r3, [sp, #52] ; 0x34 + 9fd8: f9b3 3002 ldrsh.w r3, [r3, #2] + 9fdc: 9c1d ldr r4, [sp, #116] ; 0x74 + 9fde: 429c cmp r4, r3 + 9fe0: bfb4 ite lt + 9fe2: 1b1b sublt r3, r3, r4 + 9fe4: 2300 movge r3, #0 + 9fe6: 9325 str r3, [sp, #148] ; 0x94 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - a000: 9b0d ldr r3, [sp, #52] ; 0x34 - a002: f9b3 3006 ldrsh.w r3, [r3, #6] - a006: 9c1d ldr r4, [sp, #116] ; 0x74 - a008: 1908 adds r0, r1, r4 - a00a: 4298 cmp r0, r3 - a00c: f340 80b1 ble.w a172 - a010: 1b1b subs r3, r3, r4 - a012: 3301 adds r3, #1 - a014: 9328 str r3, [sp, #160] ; 0xa0 - a016: f006 031f and.w r3, r6, #31 - a01a: 9322 str r3, [sp, #136] ; 0x88 - a01c: f3c6 1345 ubfx r3, r6, #5, #6 - a020: 9324 str r3, [sp, #144] ; 0x90 - a022: f3c6 23c4 ubfx r3, r6, #11, #5 - a026: 9323 str r3, [sp, #140] ; 0x8c + 9fe8: 9b0d ldr r3, [sp, #52] ; 0x34 + 9fea: f9b3 3006 ldrsh.w r3, [r3, #6] + 9fee: 9c1d ldr r4, [sp, #116] ; 0x74 + 9ff0: 1908 adds r0, r1, r4 + 9ff2: 4298 cmp r0, r3 + 9ff4: f340 80b1 ble.w a15a + 9ff8: 1b1b subs r3, r3, r4 + 9ffa: 3301 adds r3, #1 + 9ffc: 9328 str r3, [sp, #160] ; 0xa0 + 9ffe: f006 031f and.w r3, r6, #31 + a002: 9322 str r3, [sp, #136] ; 0x88 + a004: f3c6 1345 ubfx r3, r6, #5, #6 + a008: 9324 str r3, [sp, #144] ; 0x90 + a00a: f3c6 23c4 ubfx r3, r6, #11, #5 + a00e: 9323 str r3, [sp, #140] ; 0x8c int32_t bit_ofs = (row_start * width_bit) + (col_start * bpp); - a028: 9b12 ldr r3, [sp, #72] ; 0x48 - a02a: 4618 mov r0, r3 - a02c: 9b27 ldr r3, [sp, #156] ; 0x9c - a02e: fb00 f303 mul.w r3, r0, r3 - a032: 9825 ldr r0, [sp, #148] ; 0x94 - a034: fb00 3202 mla r2, r0, r2, r3 + a010: 9b12 ldr r3, [sp, #72] ; 0x48 + a012: 4618 mov r0, r3 + a014: 9b27 ldr r3, [sp, #156] ; 0x9c + a016: fb00 f303 mul.w r3, r0, r3 + a01a: 9825 ldr r0, [sp, #148] ; 0x94 + a01c: fb00 3202 mla r2, r0, r2, r3 map_p += bit_ofs >> 3; - a038: eb0e 06e2 add.w r6, lr, r2, asr #3 - a03c: 9631 str r6, [sp, #196] ; 0xc4 + a020: eb0e 06e2 add.w r6, lr, r2, asr #3 + a024: 9631 str r6, [sp, #196] ; 0xc4 col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ - a03e: f002 0607 and.w r6, r2, #7 + a026: f002 0607 and.w r6, r2, #7 int32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : g->box_w * g->box_h; - a042: 981e ldr r0, [sp, #120] ; 0x78 - a044: fb01 f100 mul.w r1, r1, r0 - a048: f5b1 7ff0 cmp.w r1, #480 ; 0x1e0 - a04c: bfa8 it ge - a04e: f44f 71f0 movge.w r1, #480 ; 0x1e0 + a02a: 981e ldr r0, [sp, #120] ; 0x78 + a02c: fb01 f100 mul.w r1, r1, r0 + a030: f5b1 7ff0 cmp.w r1, #480 ; 0x1e0 + a034: bfa8 it ge + a036: f44f 71f0 movge.w r1, #480 ; 0x1e0 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - a052: 9129 str r1, [sp, #164] ; 0xa4 - a054: 4608 mov r0, r1 - a056: 4c81 ldr r4, [pc, #516] ; (a25c ) - a058: 47a0 blx r4 - a05a: 9021 str r0, [sp, #132] ; 0x84 + a03a: 9129 str r1, [sp, #164] ; 0xa4 + a03c: 4608 mov r0, r1 + a03e: 4c81 ldr r4, [pc, #516] ; (a244 ) + a040: 47a0 blx r4 + a042: 9021 str r0, [sp, #132] ; 0x84 lv_color_t * color_buf = _lv_mem_buf_get(mask_buf_size * sizeof(lv_color_t)); - a05c: 9929 ldr r1, [sp, #164] ; 0xa4 - a05e: 0048 lsls r0, r1, #1 - a060: 47a0 blx r4 - a062: 9030 str r0, [sp, #192] ; 0xc0 + a044: 9929 ldr r1, [sp, #164] ; 0xa4 + a046: 0048 lsls r0, r1, #1 + a048: 47a0 blx r4 + a04a: 9030 str r0, [sp, #192] ; 0xc0 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - a064: 4b7e ldr r3, [pc, #504] ; (a260 ) - a066: 4798 blx r3 + a04c: 4b7e ldr r3, [pc, #504] ; (a248 ) + a04e: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - a068: 4b7e ldr r3, [pc, #504] ; (a264 ) - a06a: 4798 blx r3 - a06c: f9b0 4010 ldrsh.w r4, [r0, #16] - a070: 8a83 ldrh r3, [r0, #20] - a072: 3301 adds r3, #1 - a074: 1b1b subs r3, r3, r4 + a050: 4b7e ldr r3, [pc, #504] ; (a24c ) + a052: 4798 blx r3 + a054: f9b0 4010 ldrsh.w r4, [r0, #16] + a058: 8a83 ldrh r3, [r0, #20] + a05a: 3301 adds r3, #1 + a05c: 1b1b subs r3, r3, r4 int32_t vdb_width = lv_area_get_width(&vdb->area); - a076: b219 sxth r1, r3 - a078: 9126 str r1, [sp, #152] ; 0x98 + a05e: b219 sxth r1, r3 + a060: 9126 str r1, [sp, #152] ; 0x98 lv_color_t * vdb_buf_tmp = vdb->buf_act; - a07a: 6881 ldr r1, [r0, #8] + a062: 6881 ldr r1, [r0, #8] vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; - a07c: 9b27 ldr r3, [sp, #156] ; 0x9c - a07e: 4a76 ldr r2, [pc, #472] ; (a258 ) - a080: fb82 e203 smull lr, r2, r2, r3 - a084: eba2 72e3 sub.w r2, r2, r3, asr #31 + a064: 9b27 ldr r3, [sp, #156] ; 0x9c + a066: 4a76 ldr r2, [pc, #472] ; (a240 ) + a068: fb82 e203 smull lr, r2, r2, r3 + a06c: eba2 72e3 sub.w r2, r2, r3, asr #31 vdb_buf_tmp += ((pos_y - vdb->area.y1) * vdb_width) + pos_x - vdb->area.x1; - a088: f9b0 3012 ldrsh.w r3, [r0, #18] - a08c: 981d ldr r0, [sp, #116] ; 0x74 - a08e: 1ac3 subs r3, r0, r3 - a090: 9826 ldr r0, [sp, #152] ; 0x98 - a092: 4686 mov lr, r0 - a094: 9818 ldr r0, [sp, #96] ; 0x60 - a096: fb0e 0303 mla r3, lr, r3, r0 - a09a: 1b1b subs r3, r3, r4 + a070: f9b0 3012 ldrsh.w r3, [r0, #18] + a074: 981d ldr r0, [sp, #116] ; 0x74 + a076: 1ac3 subs r3, r0, r3 + a078: 9826 ldr r0, [sp, #152] ; 0x98 + a07a: 4686 mov lr, r0 + a07c: 9818 ldr r0, [sp, #96] ; 0x60 + a07e: fb0e 0303 mla r3, lr, r3, r0 + a082: 1b1b subs r3, r3, r4 vdb_buf_tmp += (row_start * vdb_width) + col_start / 3; - a09c: 9c25 ldr r4, [sp, #148] ; 0x94 - a09e: fb0e 2004 mla r0, lr, r4, r2 - a0a2: 4403 add r3, r0 - a0a4: eb01 0143 add.w r1, r1, r3, lsl #1 - a0a8: 9118 str r1, [sp, #96] ; 0x60 + a084: 9c25 ldr r4, [sp, #148] ; 0x94 + a086: fb0e 2004 mla r0, lr, r4, r2 + a08a: 4403 add r3, r0 + a08c: eb01 0143 add.w r1, r1, r3, lsl #1 + a090: 9118 str r1, [sp, #96] ; 0x60 map_area.x1 = col_start / 3 + pos_x; - a0aa: b2ad uxth r5, r5 - a0ac: 442a add r2, r5 - a0ae: f8ad 20e0 strh.w r2, [sp, #224] ; 0xe0 + a092: b2ad uxth r5, r5 + a094: 442a add r2, r5 + a096: f8ad 20e0 strh.w r2, [sp, #224] ; 0xe0 map_area.x2 = col_end / 3 + pos_x - 1; - a0b2: 9a14 ldr r2, [sp, #80] ; 0x50 - a0b4: 4696 mov lr, r2 - a0b6: 4968 ldr r1, [pc, #416] ; (a258 ) - a0b8: fb81 e30e smull lr, r3, r1, lr - a0bc: eba3 73e2 sub.w r3, r3, r2, asr #31 - a0c0: 3d01 subs r5, #1 - a0c2: 442b add r3, r5 - a0c4: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 + a09a: 9a14 ldr r2, [sp, #80] ; 0x50 + a09c: 4696 mov lr, r2 + a09e: 4968 ldr r1, [pc, #416] ; (a240 ) + a0a0: fb81 e30e smull lr, r3, r1, lr + a0a4: eba3 73e2 sub.w r3, r3, r2, asr #31 + a0a8: 3d01 subs r5, #1 + a0aa: 442b add r3, r5 + a0ac: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 map_area.y1 = row_start + pos_y; - a0c8: 9d15 ldr r5, [sp, #84] ; 0x54 - a0ca: 4425 add r5, r4 - a0cc: b22b sxth r3, r5 - a0ce: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a0b0: 9d15 ldr r5, [sp, #84] ; 0x54 + a0b2: 4425 add r5, r4 + a0b4: b22b sxth r3, r5 + a0b6: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 map_area.y2 = map_area.y1; - a0d2: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a0ba: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - a0d6: 4b64 ldr r3, [pc, #400] ; (a268 ) - a0d8: 4798 blx r3 - a0da: 902a str r0, [sp, #168] ; 0xa8 + a0be: 4b64 ldr r3, [pc, #400] ; (a250 ) + a0c0: 4798 blx r3 + a0c2: 902a str r0, [sp, #168] ; 0xa8 for(row = row_start ; row < row_end; row++) { - a0dc: 9d28 ldr r5, [sp, #160] ; 0xa0 - a0de: 42ac cmp r4, r5 - a0e0: f280 8161 bge.w a3a6 + a0c4: 9d28 ldr r5, [sp, #160] ; 0xa0 + a0c6: 42ac cmp r4, r5 + a0c8: f280 8161 bge.w a38e if((int32_t) mask_p + (col_end - col_start) < mask_buf_size) { - a0e4: 9914 ldr r1, [sp, #80] ; 0x50 - a0e6: 9a27 ldr r2, [sp, #156] ; 0x9c - a0e8: 1a8c subs r4, r1, r2 - a0ea: 942b str r4, [sp, #172] ; 0xac + a0cc: 9914 ldr r1, [sp, #80] ; 0x50 + a0ce: 9a27 ldr r2, [sp, #156] ; 0x9c + a0d0: 1a8c subs r4, r1, r2 + a0d2: 942b str r4, [sp, #172] ; 0xac col_bit += ((box_w - col_end) + col_start) * bpp; - a0ec: 9d1e ldr r5, [sp, #120] ; 0x78 - a0ee: 1a6b subs r3, r5, r1 - a0f0: 4413 add r3, r2 - a0f2: 9912 ldr r1, [sp, #72] ; 0x48 - a0f4: fb01 f303 mul.w r3, r1, r3 - a0f8: 932c str r3, [sp, #176] ; 0xb0 + a0d4: 9d1e ldr r5, [sp, #120] ; 0x78 + a0d6: 1a6b subs r3, r5, r1 + a0d8: 4413 add r3, r2 + a0da: 9912 ldr r1, [sp, #72] ; 0x48 + a0dc: fb01 f303 mul.w r3, r1, r3 + a0e0: 932c str r3, [sp, #176] ; 0xb0 vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; - a0fa: 4a57 ldr r2, [pc, #348] ; (a258 ) - a0fc: fb82 2304 smull r2, r3, r2, r4 - a100: ebc3 73e4 rsb r3, r3, r4, asr #31 - a104: 9826 ldr r0, [sp, #152] ; 0x98 - a106: 4403 add r3, r0 - a108: 005b lsls r3, r3, #1 - a10a: 932d str r3, [sp, #180] ; 0xb4 - a10c: 2300 movs r3, #0 - a10e: 9326 str r3, [sp, #152] ; 0x98 + a0e2: 4a57 ldr r2, [pc, #348] ; (a240 ) + a0e4: fb82 2304 smull r2, r3, r2, r4 + a0e8: ebc3 73e4 rsb r3, r3, r4, asr #31 + a0ec: 9826 ldr r0, [sp, #152] ; 0x98 + a0ee: 4403 add r3, r0 + a0f0: 005b lsls r3, r3, #1 + a0f2: 932d str r3, [sp, #180] ; 0xb4 + a0f4: 2300 movs r3, #0 + a0f6: 9326 str r3, [sp, #152] ; 0x98 col_bit = 0; - a110: 9315 str r3, [sp, #84] ; 0x54 - a112: f8cd b0c8 str.w fp, [sp, #200] ; 0xc8 - a116: f8cd 90cc str.w r9, [sp, #204] ; 0xcc - a11a: 9734 str r7, [sp, #208] ; 0xd0 - a11c: f8dd 9060 ldr.w r9, [sp, #96] ; 0x60 - a120: f8dd b0c4 ldr.w fp, [sp, #196] ; 0xc4 - a124: f8cd a0c4 str.w sl, [sp, #196] ; 0xc4 - a128: f8dd a0c0 ldr.w sl, [sp, #192] ; 0xc0 - a12c: f8cd 80d4 str.w r8, [sp, #212] ; 0xd4 - a130: 4688 mov r8, r1 - a132: e0ea b.n a30a + a0f8: 9315 str r3, [sp, #84] ; 0x54 + a0fa: f8cd b0c8 str.w fp, [sp, #200] ; 0xc8 + a0fe: f8cd 90cc str.w r9, [sp, #204] ; 0xcc + a102: 9734 str r7, [sp, #208] ; 0xd0 + a104: f8dd 9060 ldr.w r9, [sp, #96] ; 0x60 + a108: f8dd b0c4 ldr.w fp, [sp, #196] ; 0xc4 + a10c: f8cd a0c4 str.w sl, [sp, #196] ; 0xc4 + a110: f8dd a0c0 ldr.w sl, [sp, #192] ; 0xc0 + a114: f8cd 80d4 str.w r8, [sp, #212] ; 0xd4 + a118: 4688 mov r8, r1 + a11a: e0ea b.n a2f2 if(bpp == 3) bpp = 4; - a134: 2304 movs r3, #4 - a136: 9312 str r3, [sp, #72] ; 0x48 + a11c: 2304 movs r3, #4 + a11e: 9312 str r3, [sp, #72] ; 0x48 bitmask_init = 0xF0; - a138: 23f0 movs r3, #240 ; 0xf0 - a13a: 931b str r3, [sp, #108] ; 0x6c + a120: 23f0 movs r3, #240 ; 0xf0 + a122: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp4_opa_table; - a13c: 4b4b ldr r3, [pc, #300] ; (a26c ) - a13e: 9320 str r3, [sp, #128] ; 0x80 - a140: e730 b.n 9fa4 + a124: 4b4b ldr r3, [pc, #300] ; (a254 ) + a126: 9320 str r3, [sp, #128] ; 0x80 + a128: e730 b.n 9f8c LV_LOG_WARN("lv_draw_letter: invalid bpp not found"); - a142: 4b4b ldr r3, [pc, #300] ; (a270 ) - a144: 9300 str r3, [sp, #0] - a146: 4b4b ldr r3, [pc, #300] ; (a274 ) - a148: f240 227a movw r2, #634 ; 0x27a - a14c: 494a ldr r1, [pc, #296] ; (a278 ) - a14e: 2002 movs r0, #2 - a150: 4c4a ldr r4, [pc, #296] ; (a27c ) - a152: 47a0 blx r4 - a154: e63e b.n 9dd4 + a12a: 4b4b ldr r3, [pc, #300] ; (a258 ) + a12c: 9300 str r3, [sp, #0] + a12e: 4b4b ldr r3, [pc, #300] ; (a25c ) + a130: f240 227a movw r2, #634 ; 0x27a + a134: 494a ldr r1, [pc, #296] ; (a260 ) + a136: 2002 movs r0, #2 + a138: 4c4a ldr r4, [pc, #296] ; (a264 ) + a13a: 47a0 blx r4 + a13c: e63e b.n 9dbc uint32_t bpp = g->bpp; - a156: 2301 movs r3, #1 - a158: 9312 str r3, [sp, #72] ; 0x48 + a13e: 2301 movs r3, #1 + a140: 9312 str r3, [sp, #72] ; 0x48 bitmask_init = 0x80; - a15a: 2380 movs r3, #128 ; 0x80 - a15c: 931b str r3, [sp, #108] ; 0x6c + a142: 2380 movs r3, #128 ; 0x80 + a144: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp1_opa_table; - a15e: 4b48 ldr r3, [pc, #288] ; (a280 ) - a160: 9320 str r3, [sp, #128] ; 0x80 - a162: e71f b.n 9fa4 + a146: 4b48 ldr r3, [pc, #288] ; (a268 ) + a148: 9320 str r3, [sp, #128] ; 0x80 + a14a: e71f b.n 9f8c uint32_t bpp = g->bpp; - a164: 2308 movs r3, #8 - a166: 9312 str r3, [sp, #72] ; 0x48 + a14c: 2308 movs r3, #8 + a14e: 9312 str r3, [sp, #72] ; 0x48 bitmask_init = 0xFF; - a168: 23ff movs r3, #255 ; 0xff - a16a: 931b str r3, [sp, #108] ; 0x6c + a150: 23ff movs r3, #255 ; 0xff + a152: 931b str r3, [sp, #108] ; 0x6c bpp_opa_table = _lv_bpp8_opa_table; - a16c: 4b45 ldr r3, [pc, #276] ; (a284 ) - a16e: 9320 str r3, [sp, #128] ; 0x80 - a170: e718 b.n 9fa4 + a154: 4b45 ldr r3, [pc, #276] ; (a26c ) + a156: 9320 str r3, [sp, #128] ; 0x80 + a158: e718 b.n 9f8c int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - a172: 9128 str r1, [sp, #160] ; 0xa0 - a174: e74f b.n a016 + a15a: 9128 str r1, [sp, #160] ; 0xa0 + a15c: e74f b.n 9ffe px_opa = bpp == 8 ? letter_px : bpp_opa_table[letter_px]; - a176: f1b8 0f08 cmp.w r8, #8 - a17a: d004 beq.n a186 - a17c: b2db uxtb r3, r3 - a17e: 9a20 ldr r2, [sp, #128] ; 0x80 - a180: 5cd2 ldrb r2, [r2, r3] - a182: e000 b.n a186 + a15e: f1b8 0f08 cmp.w r8, #8 + a162: d004 beq.n a16e + a164: b2db uxtb r3, r3 + a166: 9a20 ldr r2, [sp, #128] ; 0x80 + a168: 5cd2 ldrb r2, [r2, r3] + a16a: e000 b.n a16e px_opa = 0; - a184: 9a15 ldr r2, [sp, #84] ; 0x54 + a16c: 9a15 ldr r2, [sp, #84] ; 0x54 font_rgb[subpx_cnt] = px_opa; - a186: ab58 add r3, sp, #352 ; 0x160 - a188: 440b add r3, r1 - a18a: f803 2c84 strb.w r2, [r3, #-132] + a16e: ab58 add r3, sp, #352 ; 0x160 + a170: 440b add r3, r1 + a172: f803 2c84 strb.w r2, [r3, #-132] subpx_cnt ++; - a18e: 3101 adds r1, #1 + a176: 3101 adds r1, #1 if(subpx_cnt == 3) { - a190: 2903 cmp r1, #3 - a192: d028 beq.n a1e6 + a178: 2903 cmp r1, #3 + a17a: d028 beq.n a1ce if(col_bit < (int32_t) (8 - bpp)) { - a194: 45b4 cmp ip, r6 - a196: f340 8094 ble.w a2c2 + a17c: 45b4 cmp ip, r6 + a17e: f340 8094 ble.w a2aa col_bit += bpp; - a19a: 9b12 ldr r3, [sp, #72] ; 0x48 - a19c: 4443 add r3, r8 - a19e: 461e mov r6, r3 + a182: 9b12 ldr r3, [sp, #72] ; 0x48 + a184: 4443 add r3, r8 + a186: 461e mov r6, r3 bitmask = bitmask >> bpp; - a1a0: fa2e fe08 lsr.w lr, lr, r8 + a188: fa2e fe08 lsr.w lr, lr, r8 for(col = col_start; col < col_end; col++) { - a1a4: 3501 adds r5, #1 - a1a6: 9b14 ldr r3, [sp, #80] ; 0x50 - a1a8: 42ab cmp r3, r5 - a1aa: f000 8090 beq.w a2ce + a18c: 3501 adds r5, #1 + a18e: 9b14 ldr r3, [sp, #80] ; 0x50 + a190: 42ab cmp r3, r5 + a192: f000 8090 beq.w a2b6 letter_px = (*map_p & bitmask) >> (8 - col_bit - bpp); - a1ae: 9612 str r6, [sp, #72] ; 0x48 - a1b0: f89b 3000 ldrb.w r3, [fp] - a1b4: ea03 020e and.w r2, r3, lr - a1b8: ebac 0306 sub.w r3, ip, r6 - a1bc: fa22 f303 lsr.w r3, r2, r3 + a196: 9612 str r6, [sp, #72] ; 0x48 + a198: f89b 3000 ldrb.w r3, [fp] + a19c: ea03 020e and.w r2, r3, lr + a1a0: ebac 0306 sub.w r3, ip, r6 + a1a4: fa22 f303 lsr.w r3, r2, r3 if(letter_px != 0) { - a1c0: f013 02ff ands.w r2, r3, #255 ; 0xff - a1c4: d0de beq.n a184 + a1a8: f013 02ff ands.w r2, r3, #255 ; 0xff + a1ac: d0de beq.n a16c if(opa == LV_OPA_COVER) { - a1c6: 9816 ldr r0, [sp, #88] ; 0x58 - a1c8: 28ff cmp r0, #255 ; 0xff - a1ca: d0d4 beq.n a176 + a1ae: 9816 ldr r0, [sp, #88] ; 0x58 + a1b0: 28ff cmp r0, #255 ; 0xff + a1b2: d0d4 beq.n a15e px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - a1cc: f1b8 0f08 cmp.w r8, #8 - a1d0: bf0f iteee eq - a1d2: b2da uxtbeq r2, r3 + a1b4: f1b8 0f08 cmp.w r8, #8 + a1b8: bf0f iteee eq + a1ba: b2da uxtbeq r2, r3 : (uint32_t)((uint32_t)bpp_opa_table[letter_px] * opa) >> 8; - a1d4: b2db uxtbne r3, r3 - a1d6: 9a20 ldrne r2, [sp, #128] ; 0x80 - a1d8: 5cd2 ldrbne r2, [r2, r3] - a1da: 9b16 ldr r3, [sp, #88] ; 0x58 - a1dc: fb03 f202 mul.w r2, r3, r2 + a1bc: b2db uxtbne r3, r3 + a1be: 9a20 ldrne r2, [sp, #128] ; 0x80 + a1c0: 5cd2 ldrbne r2, [r2, r3] + a1c2: 9b16 ldr r3, [sp, #88] ; 0x58 + a1c4: fb03 f202 mul.w r2, r3, r2 px_opa = bpp == 8 ? (uint32_t)((uint32_t)letter_px * opa) >> 8 - a1e0: f3c2 2207 ubfx r2, r2, #8, #8 - a1e4: e7cf b.n a186 + a1c8: f3c2 2207 ubfx r2, r2, #8, #8 + a1cc: e7cf b.n a16e res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8; - a1e6: f89d 10dc ldrb.w r1, [sp, #220] ; 0xdc + a1ce: f89d 10dc ldrb.w r1, [sp, #220] ; 0xdc uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - a1ea: f89a 3001 ldrb.w r3, [sl, #1] + a1d2: f89a 3001 ldrb.w r3, [sl, #1] res_color.ch.red = (uint32_t)((uint16_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8; - a1ee: 08db lsrs r3, r3, #3 - a1f0: f1c1 00ff rsb r0, r1, #255 ; 0xff - a1f4: 9a23 ldr r2, [sp, #140] ; 0x8c - a1f6: fb01 f202 mul.w r2, r1, r2 - a1fa: fb00 2303 mla r3, r0, r3, r2 - a1fe: f3c3 2304 ubfx r3, r3, #8, #5 - a202: 931d str r3, [sp, #116] ; 0x74 + a1d6: 08db lsrs r3, r3, #3 + a1d8: f1c1 00ff rsb r0, r1, #255 ; 0xff + a1dc: 9a23 ldr r2, [sp, #140] ; 0x8c + a1de: fb01 f202 mul.w r2, r1, r2 + a1e2: fb00 2303 mla r3, r0, r3, r2 + a1e6: f3c3 2304 ubfx r3, r3, #8, #5 + a1ea: 931d str r3, [sp, #116] ; 0x74 res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8; - a204: f89d 30de ldrb.w r3, [sp, #222] ; 0xde - a208: 9318 str r3, [sp, #96] ; 0x60 + a1ec: f89d 30de ldrb.w r3, [sp, #222] ; 0xde + a1f0: 9318 str r3, [sp, #96] ; 0x60 uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - a20a: f89a 2000 ldrb.w r2, [sl] + a1f2: f89a 2000 ldrb.w r2, [sl] res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8; - a20e: f002 021f and.w r2, r2, #31 - a212: f1c3 00ff rsb r0, r3, #255 ; 0xff - a216: 9b22 ldr r3, [sp, #136] ; 0x88 - a218: 9c18 ldr r4, [sp, #96] ; 0x60 - a21a: fb04 f303 mul.w r3, r4, r3 - a21e: fb00 3202 mla r2, r0, r2, r3 - a222: f3c2 2304 ubfx r3, r2, #8, #5 - a226: 931e str r3, [sp, #120] ; 0x78 + a1f6: f002 021f and.w r2, r2, #31 + a1fa: f1c3 00ff rsb r0, r3, #255 ; 0xff + a1fe: 9b22 ldr r3, [sp, #136] ; 0x88 + a200: 9c18 ldr r4, [sp, #96] ; 0x60 + a202: fb04 f303 mul.w r3, r4, r3 + a206: fb00 3202 mla r2, r0, r2, r3 + a20a: f3c2 2304 ubfx r3, r2, #8, #5 + a20e: 931e str r3, [sp, #120] ; 0x78 res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8; - a228: f89d 00dd ldrb.w r0, [sp, #221] ; 0xdd + a210: f89d 00dd ldrb.w r0, [sp, #221] ; 0xdd uint8_t bg_rgb[3] = {vdb_buf_tmp->ch.red, vdb_buf_tmp->ch.green, vdb_buf_tmp->ch.blue}; - a22c: f8ba 3000 ldrh.w r3, [sl] + a214: f8ba 3000 ldrh.w r3, [sl] res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8; - a230: f3c3 1445 ubfx r4, r3, #5, #6 - a234: f1c0 03ff rsb r3, r0, #255 ; 0xff - a238: 9a24 ldr r2, [sp, #144] ; 0x90 - a23a: fb00 f202 mul.w r2, r0, r2 - a23e: fb03 2304 mla r3, r3, r4, r2 - a242: f3c3 2305 ubfx r3, r3, #8, #6 + a218: f3c3 1445 ubfx r4, r3, #5, #6 + a21c: f1c0 03ff rsb r3, r0, #255 ; 0xff + a220: 9a24 ldr r2, [sp, #144] ; 0x90 + a222: fb00 f202 mul.w r2, r0, r2 + a226: fb03 2304 mla r3, r3, r4, r2 + a22a: f3c3 2305 ubfx r3, r3, #8, #6 if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) mask_buf[mask_p] = LV_OPA_TRANSP; - a246: b9f9 cbnz r1, a288 - a248: b9f0 cbnz r0, a288 - a24a: 9a18 ldr r2, [sp, #96] ; 0x60 - a24c: b9e2 cbnz r2, a288 - a24e: 9a21 ldr r2, [sp, #132] ; 0x84 - a250: 55d1 strb r1, [r2, r7] - a252: e01d b.n a290 - a254: 00024d64 .word 0x00024d64 - a258: 55555556 .word 0x55555556 - a25c: 0001293d .word 0x0001293d - a260: 00005f69 .word 0x00005f69 - a264: 00010fdd .word 0x00010fdd - a268: 0000bec5 .word 0x0000bec5 - a26c: 00024d68 .word 0x00024d68 - a270: 00024f60 .word 0x00024f60 - a274: 00024e88 .word 0x00024e88 - a278: 00024eb8 .word 0x00024eb8 - a27c: 0001225d .word 0x0001225d - a280: 00024d60 .word 0x00024d60 - a284: 00024d78 .word 0x00024d78 + a22e: b9f9 cbnz r1, a270 + a230: b9f0 cbnz r0, a270 + a232: 9a18 ldr r2, [sp, #96] ; 0x60 + a234: b9e2 cbnz r2, a270 + a236: 9a21 ldr r2, [sp, #132] ; 0x84 + a238: 55d1 strb r1, [r2, r7] + a23a: e01d b.n a278 + a23c: 00024d4c .word 0x00024d4c + a240: 55555556 .word 0x55555556 + a244: 00012925 .word 0x00012925 + a248: 00005f51 .word 0x00005f51 + a24c: 00010fc5 .word 0x00010fc5 + a250: 0000bead .word 0x0000bead + a254: 00024d50 .word 0x00024d50 + a258: 00024f48 .word 0x00024f48 + a25c: 00024e70 .word 0x00024e70 + a260: 00024ea0 .word 0x00024ea0 + a264: 00012245 .word 0x00012245 + a268: 00024d48 .word 0x00024d48 + a26c: 00024d60 .word 0x00024d60 else mask_buf[mask_p] = LV_OPA_COVER; - a288: 9a21 ldr r2, [sp, #132] ; 0x84 - a28a: f04f 31ff mov.w r1, #4294967295 - a28e: 55d1 strb r1, [r2, r7] + a270: 9a21 ldr r2, [sp, #132] ; 0x84 + a272: f04f 31ff mov.w r1, #4294967295 + a276: 55d1 strb r1, [r2, r7] color_buf[mask_p] = res_color; - a290: eb09 0047 add.w r0, r9, r7, lsl #1 - a294: f819 1017 ldrb.w r1, [r9, r7, lsl #1] - a298: 9a1e ldr r2, [sp, #120] ; 0x78 - a29a: f362 0104 bfi r1, r2, #0, #5 - a29e: f809 1017 strb.w r1, [r9, r7, lsl #1] - a2a2: f839 2017 ldrh.w r2, [r9, r7, lsl #1] - a2a6: f363 124a bfi r2, r3, #5, #6 - a2aa: f829 2017 strh.w r2, [r9, r7, lsl #1] - a2ae: 0a12 lsrs r2, r2, #8 - a2b0: 9b1d ldr r3, [sp, #116] ; 0x74 - a2b2: f363 02c7 bfi r2, r3, #3, #5 - a2b6: 7042 strb r2, [r0, #1] + a278: eb09 0047 add.w r0, r9, r7, lsl #1 + a27c: f819 1017 ldrb.w r1, [r9, r7, lsl #1] + a280: 9a1e ldr r2, [sp, #120] ; 0x78 + a282: f362 0104 bfi r1, r2, #0, #5 + a286: f809 1017 strb.w r1, [r9, r7, lsl #1] + a28a: f839 2017 ldrh.w r2, [r9, r7, lsl #1] + a28e: f363 124a bfi r2, r3, #5, #6 + a292: f829 2017 strh.w r2, [r9, r7, lsl #1] + a296: 0a12 lsrs r2, r2, #8 + a298: 9b1d ldr r3, [sp, #116] ; 0x74 + a29a: f363 02c7 bfi r2, r3, #3, #5 + a29e: 7042 strb r2, [r0, #1] mask_p++; - a2b8: 3701 adds r7, #1 + a2a0: 3701 adds r7, #1 vdb_buf_tmp++; - a2ba: f10a 0a02 add.w sl, sl, #2 + a2a2: f10a 0a02 add.w sl, sl, #2 subpx_cnt = 0; - a2be: 2100 movs r1, #0 - a2c0: e768 b.n a194 + a2a6: 2100 movs r1, #0 + a2a8: e768 b.n a17c map_p++; - a2c2: f10b 0b01 add.w fp, fp, #1 + a2aa: f10b 0b01 add.w fp, fp, #1 bitmask = bitmask_init; - a2c6: f8dd e06c ldr.w lr, [sp, #108] ; 0x6c + a2ae: f8dd e06c ldr.w lr, [sp, #108] ; 0x6c col_bit = 0; - a2ca: 9e15 ldr r6, [sp, #84] ; 0x54 - a2cc: e76a b.n a1a4 - a2ce: 4653 mov r3, sl - a2d0: 46ca mov sl, r9 - a2d2: 4699 mov r9, r3 + a2b2: 9e15 ldr r6, [sp, #84] ; 0x54 + a2b4: e76a b.n a18c + a2b6: 4653 mov r3, sl + a2b8: 46ca mov sl, r9 + a2ba: 4699 mov r9, r3 if(other_mask_cnt) { - a2d4: 9b2a ldr r3, [sp, #168] ; 0xa8 - a2d6: bb4b cbnz r3, a32c + a2bc: 9b2a ldr r3, [sp, #168] ; 0xa8 + a2be: bb4b cbnz r3, a314 if((int32_t) mask_p + (col_end - col_start) < mask_buf_size) { - a2d8: 9b2b ldr r3, [sp, #172] ; 0xac - a2da: 443b add r3, r7 - a2dc: 9a29 ldr r2, [sp, #164] ; 0xa4 - a2de: 429a cmp r2, r3 - a2e0: dd41 ble.n a366 + a2c0: 9b2b ldr r3, [sp, #172] ; 0xac + a2c2: 443b add r3, r7 + a2c4: 9a29 ldr r2, [sp, #164] ; 0xa4 + a2c6: 429a cmp r2, r3 + a2c8: dd41 ble.n a34e map_area.y2 ++; - a2e2: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - a2e6: 3301 adds r3, #1 - a2e8: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 - a2ec: 9726 str r7, [sp, #152] ; 0x98 + a2ca: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a2ce: 3301 adds r3, #1 + a2d0: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a2d4: 9726 str r7, [sp, #152] ; 0x98 col_bit += ((box_w - col_end) + col_start) * bpp; - a2ee: 9b2c ldr r3, [sp, #176] ; 0xb0 - a2f0: 441e add r6, r3 + a2d6: 9b2c ldr r3, [sp, #176] ; 0xb0 + a2d8: 441e add r6, r3 map_p += (col_bit >> 3); - a2f2: eb0b 0be6 add.w fp, fp, r6, asr #3 + a2da: eb0b 0be6 add.w fp, fp, r6, asr #3 col_bit = col_bit & 0x7; - a2f6: f006 0607 and.w r6, r6, #7 + a2de: f006 0607 and.w r6, r6, #7 vdb_buf_tmp += vdb_width - (col_end - col_start) / 3; - a2fa: 9b2d ldr r3, [sp, #180] ; 0xb4 - a2fc: 4499 add r9, r3 + a2e2: 9b2d ldr r3, [sp, #180] ; 0xb4 + a2e4: 4499 add r9, r3 for(row = row_start ; row < row_end; row++) { - a2fe: 9b25 ldr r3, [sp, #148] ; 0x94 - a300: 3301 adds r3, #1 - a302: 9325 str r3, [sp, #148] ; 0x94 - a304: 9a28 ldr r2, [sp, #160] ; 0xa0 - a306: 4293 cmp r3, r2 - a308: da44 bge.n a394 + a2e6: 9b25 ldr r3, [sp, #148] ; 0x94 + a2e8: 3301 adds r3, #1 + a2ea: 9325 str r3, [sp, #148] ; 0x94 + a2ec: 9a28 ldr r2, [sp, #160] ; 0xa0 + a2ee: 4293 cmp r3, r2 + a2f0: da44 bge.n a37c bitmask = bitmask_init >> col_bit; - a30a: 9b1b ldr r3, [sp, #108] ; 0x6c - a30c: fa23 fe06 lsr.w lr, r3, r6 + a2f2: 9b1b ldr r3, [sp, #108] ; 0x6c + a2f4: fa23 fe06 lsr.w lr, r3, r6 for(col = col_start; col < col_end; col++) { - a310: 9d27 ldr r5, [sp, #156] ; 0x9c - a312: 9a14 ldr r2, [sp, #80] ; 0x50 - a314: 4295 cmp r5, r2 - a316: da07 bge.n a328 - a318: 9f26 ldr r7, [sp, #152] ; 0x98 - a31a: 2100 movs r1, #0 - a31c: f1c8 0c08 rsb ip, r8, #8 + a2f8: 9d27 ldr r5, [sp, #156] ; 0x9c + a2fa: 9a14 ldr r2, [sp, #80] ; 0x50 + a2fc: 4295 cmp r5, r2 + a2fe: da07 bge.n a310 + a300: 9f26 ldr r7, [sp, #152] ; 0x98 + a302: 2100 movs r1, #0 + a304: f1c8 0c08 rsb ip, r8, #8 else mask_buf[mask_p] = LV_OPA_COVER; - a320: 464b mov r3, r9 - a322: 46d1 mov r9, sl - a324: 469a mov sl, r3 - a326: e742 b.n a1ae + a308: 464b mov r3, r9 + a30a: 46d1 mov r9, sl + a30c: 469a mov sl, r3 + a30e: e742 b.n a196 for(col = col_start; col < col_end; col++) { - a328: 9f26 ldr r7, [sp, #152] ; 0x98 - a32a: e7d3 b.n a2d4 + a310: 9f26 ldr r7, [sp, #152] ; 0x98 + a312: e7d3 b.n a2bc lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, map_area.x1, map_area.y2, - a32c: 9b26 ldr r3, [sp, #152] ; 0x98 - a32e: 9a21 ldr r2, [sp, #132] ; 0x84 - a330: 4413 add r3, r2 - a332: 461c mov r4, r3 - a334: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 - a338: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 - a33c: 3301 adds r3, #1 - a33e: 1a5b subs r3, r3, r1 - a340: b21b sxth r3, r3 - a342: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 - a346: 4620 mov r0, r4 - a348: 4dab ldr r5, [pc, #684] ; (a5f8 ) - a34a: 47a8 blx r5 + a314: 9b26 ldr r3, [sp, #152] ; 0x98 + a316: 9a21 ldr r2, [sp, #132] ; 0x84 + a318: 4413 add r3, r2 + a31a: 461c mov r4, r3 + a31c: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 + a320: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 + a324: 3301 adds r3, #1 + a326: 1a5b subs r3, r3, r1 + a328: b21b sxth r3, r3 + a32a: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 + a32e: 4620 mov r0, r4 + a330: 4dab ldr r5, [pc, #684] ; (a5e0 ) + a332: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - a34c: 2800 cmp r0, #0 - a34e: d1c3 bne.n a2d8 - a350: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 - a354: 3101 adds r1, #1 - a356: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 - a35a: 1ac9 subs r1, r1, r3 + a334: 2800 cmp r0, #0 + a336: d1c3 bne.n a2c0 + a338: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 + a33c: 3101 adds r1, #1 + a33e: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 + a342: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&map_area)); - a35c: b209 sxth r1, r1 - a35e: 4620 mov r0, r4 - a360: 4ba6 ldr r3, [pc, #664] ; (a5fc ) - a362: 4798 blx r3 - a364: e7b8 b.n a2d8 + a344: b209 sxth r1, r1 + a346: 4620 mov r0, r4 + a348: 4ba6 ldr r3, [pc, #664] ; (a5e4 ) + a34a: 4798 blx r3 + a34c: e7b8 b.n a2c0 _lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode); - a366: 9b0f ldr r3, [sp, #60] ; 0x3c - a368: 9302 str r3, [sp, #8] - a36a: 9b16 ldr r3, [sp, #88] ; 0x58 - a36c: 9301 str r3, [sp, #4] - a36e: 2302 movs r3, #2 - a370: 9300 str r3, [sp, #0] - a372: 9b21 ldr r3, [sp, #132] ; 0x84 - a374: 4652 mov r2, sl - a376: a938 add r1, sp, #224 ; 0xe0 - a378: 980d ldr r0, [sp, #52] ; 0x34 - a37a: 4ca1 ldr r4, [pc, #644] ; (a600 ) - a37c: 47a0 blx r4 + a34e: 9b0f ldr r3, [sp, #60] ; 0x3c + a350: 9302 str r3, [sp, #8] + a352: 9b16 ldr r3, [sp, #88] ; 0x58 + a354: 9301 str r3, [sp, #4] + a356: 2302 movs r3, #2 + a358: 9300 str r3, [sp, #0] + a35a: 9b21 ldr r3, [sp, #132] ; 0x84 + a35c: 4652 mov r2, sl + a35e: a938 add r1, sp, #224 ; 0xe0 + a360: 980d ldr r0, [sp, #52] ; 0x34 + a362: 4ca1 ldr r4, [pc, #644] ; (a5e8 ) + a364: 47a0 blx r4 map_area.y1 = map_area.y2 + 1; - a37e: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - a382: 3301 adds r3, #1 - a384: b21b sxth r3, r3 - a386: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a366: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a36a: 3301 adds r3, #1 + a36c: b21b sxth r3, r3 + a36e: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 map_area.y2 = map_area.y1; - a38a: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a372: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 mask_p = 0; - a38e: 2300 movs r3, #0 - a390: 9326 str r3, [sp, #152] ; 0x98 - a392: e7ac b.n a2ee - a394: f8dd b0c8 ldr.w fp, [sp, #200] ; 0xc8 - a398: f8dd 90cc ldr.w r9, [sp, #204] ; 0xcc - a39c: 9f34 ldr r7, [sp, #208] ; 0xd0 - a39e: f8dd a0c4 ldr.w sl, [sp, #196] ; 0xc4 - a3a2: f8dd 80d4 ldr.w r8, [sp, #212] ; 0xd4 + a376: 2300 movs r3, #0 + a378: 9326 str r3, [sp, #152] ; 0x98 + a37a: e7ac b.n a2d6 + a37c: f8dd b0c8 ldr.w fp, [sp, #200] ; 0xc8 + a380: f8dd 90cc ldr.w r9, [sp, #204] ; 0xcc + a384: 9f34 ldr r7, [sp, #208] ; 0xd0 + a386: f8dd a0c4 ldr.w sl, [sp, #196] ; 0xc4 + a38a: f8dd 80d4 ldr.w r8, [sp, #212] ; 0xd4 if(map_area.y1 != map_area.y2) { - a3a6: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 - a3aa: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 - a3ae: 429a cmp r2, r3 - a3b0: d00e beq.n a3d0 + a38e: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 + a392: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 + a396: 429a cmp r2, r3 + a398: d00e beq.n a3b8 map_area.y2--; - a3b2: 3b01 subs r3, #1 - a3b4: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a39a: 3b01 subs r3, #1 + a39c: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 _lv_blend_map(clip_area, &map_area, color_buf, mask_buf, LV_DRAW_MASK_RES_CHANGED, opa, blend_mode); - a3b8: 9b0f ldr r3, [sp, #60] ; 0x3c - a3ba: 9302 str r3, [sp, #8] - a3bc: 9b16 ldr r3, [sp, #88] ; 0x58 - a3be: 9301 str r3, [sp, #4] - a3c0: 2302 movs r3, #2 - a3c2: 9300 str r3, [sp, #0] - a3c4: 9b21 ldr r3, [sp, #132] ; 0x84 - a3c6: 9a30 ldr r2, [sp, #192] ; 0xc0 - a3c8: a938 add r1, sp, #224 ; 0xe0 - a3ca: 980d ldr r0, [sp, #52] ; 0x34 - a3cc: 4c8c ldr r4, [pc, #560] ; (a600 ) - a3ce: 47a0 blx r4 + a3a0: 9b0f ldr r3, [sp, #60] ; 0x3c + a3a2: 9302 str r3, [sp, #8] + a3a4: 9b16 ldr r3, [sp, #88] ; 0x58 + a3a6: 9301 str r3, [sp, #4] + a3a8: 2302 movs r3, #2 + a3aa: 9300 str r3, [sp, #0] + a3ac: 9b21 ldr r3, [sp, #132] ; 0x84 + a3ae: 9a30 ldr r2, [sp, #192] ; 0xc0 + a3b0: a938 add r1, sp, #224 ; 0xe0 + a3b2: 980d ldr r0, [sp, #52] ; 0x34 + a3b4: 4c8c ldr r4, [pc, #560] ; (a5e8 ) + a3b6: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - a3d0: 9821 ldr r0, [sp, #132] ; 0x84 - a3d2: 4c8c ldr r4, [pc, #560] ; (a604 ) - a3d4: 47a0 blx r4 + a3b8: 9821 ldr r0, [sp, #132] ; 0x84 + a3ba: 4c8c ldr r4, [pc, #560] ; (a5ec ) + a3bc: 47a0 blx r4 _lv_mem_buf_release(color_buf); - a3d6: 9830 ldr r0, [sp, #192] ; 0xc0 - a3d8: 47a0 blx r4 - a3da: e4fb b.n 9dd4 + a3be: 9830 ldr r0, [sp, #192] ; 0xc0 + a3c0: 47a0 blx r4 + a3c2: e4fb b.n 9dbc draw_letter_normal(pos_x, pos_y, &g, clip_area, map_p, color, opa, blend_mode); - a3dc: b22c sxth r4, r5 - a3de: f9bd 0054 ldrsh.w r0, [sp, #84] ; 0x54 - a3e2: f8ad 608c strh.w r6, [sp, #140] ; 0x8c + a3c4: b22c sxth r4, r5 + a3c6: f9bd 0054 ldrsh.w r0, [sp, #84] ; 0x54 + a3ca: f8ad 608c strh.w r6, [sp, #140] ; 0x8c uint32_t bpp = g->bpp; - a3e6: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 - a3ea: 9320 str r3, [sp, #128] ; 0x80 + a3ce: f89d 30f2 ldrb.w r3, [sp, #242] ; 0xf2 + a3d2: 9320 str r3, [sp, #128] ; 0x80 if(bpp == 3) bpp = 4; - a3ec: 2b03 cmp r3, #3 - a3ee: f000 80c1 beq.w a574 + a3d4: 2b03 cmp r3, #3 + a3d6: f000 80c1 beq.w a55c switch(bpp) { - a3f2: 3b01 subs r3, #1 - a3f4: 2b07 cmp r3, #7 - a3f6: f200 80c5 bhi.w a584 - a3fa: e8df f013 tbh [pc, r3, lsl #1] - a3fe: 00cd .short 0x00cd - a400: 00c30008 .word 0x00c30008 - a404: 00c300bd .word 0x00c300bd - a408: 00c300c3 .word 0x00c300c3 - a40c: 00d5 .short 0x00d5 + a3da: 3b01 subs r3, #1 + a3dc: 2b07 cmp r3, #7 + a3de: f200 80c5 bhi.w a56c + a3e2: e8df f013 tbh [pc, r3, lsl #1] + a3e6: 00cd .short 0x00cd + a3e8: 00c30008 .word 0x00c30008 + a3ec: 00c300bd .word 0x00c300bd + a3f0: 00c300c3 .word 0x00c300c3 + a3f4: 00d5 .short 0x00d5 shades = 4; - a40e: 2304 movs r3, #4 + a3f6: 2304 movs r3, #4 bitmask_init = 0xC0; - a410: 22c0 movs r2, #192 ; 0xc0 - a412: 9212 str r2, [sp, #72] ; 0x48 + a3f8: 22c0 movs r2, #192 ; 0xc0 + a3fa: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp2_opa_table; - a414: 4a7c ldr r2, [pc, #496] ; (a608 ) - a416: 9222 str r2, [sp, #136] ; 0x88 + a3fc: 4a7c ldr r2, [pc, #496] ; (a5f0 ) + a3fe: 9222 str r2, [sp, #136] ; 0x88 if(opa < LV_OPA_MAX) { - a418: 9916 ldr r1, [sp, #88] ; 0x58 - a41a: 29f9 cmp r1, #249 ; 0xf9 - a41c: d82b bhi.n a476 + a400: 9916 ldr r1, [sp, #88] ; 0x58 + a402: 29f9 cmp r1, #249 ; 0xf9 + a404: d82b bhi.n a45e if(prev_opa != opa || prev_bpp != bpp) { - a41e: 4a7b ldr r2, [pc, #492] ; (a60c ) - a420: f892 2100 ldrb.w r2, [r2, #256] ; 0x100 - a424: 428a cmp r2, r1 - a426: f000 80c8 beq.w a5ba + a406: 4a7b ldr r2, [pc, #492] ; (a5f4 ) + a408: f892 2100 ldrb.w r2, [r2, #256] ; 0x100 + a40c: 428a cmp r2, r1 + a40e: f000 80c8 beq.w a5a2 for(i = 0; i < shades; i++) { - a42a: b1d3 cbz r3, a462 - a42c: 9e22 ldr r6, [sp, #136] ; 0x88 - a42e: 1e72 subs r2, r6, #1 - a430: 4976 ldr r1, [pc, #472] ; (a60c ) - a432: 3901 subs r1, #1 - a434: 3b01 subs r3, #1 - a436: eb06 0c03 add.w ip, r6, r3 + a412: b1d3 cbz r3, a44a + a414: 9e22 ldr r6, [sp, #136] ; 0x88 + a416: 1e72 subs r2, r6, #1 + a418: 4976 ldr r1, [pc, #472] ; (a5f4 ) + a41a: 3901 subs r1, #1 + a41c: 3b01 subs r3, #1 + a41e: eb06 0c03 add.w ip, r6, r3 opa_table[i] = bpp_opa_table_p[i] == LV_OPA_COVER ? opa : ((bpp_opa_table_p[i] * opa) >> 8); - a43a: 9b16 ldr r3, [sp, #88] ; 0x58 - a43c: 461e mov r6, r3 - a43e: f8cd b050 str.w fp, [sp, #80] ; 0x50 - a442: 469b mov fp, r3 - a444: f812 3f01 ldrb.w r3, [r2, #1]! - a448: 2bff cmp r3, #255 ; 0xff - a44a: bf1a itte ne - a44c: fb0b f303 mulne.w r3, fp, r3 - a450: f3c3 2307 ubfxne r3, r3, #8, #8 - a454: 4633 moveq r3, r6 - a456: f801 3f01 strb.w r3, [r1, #1]! + a422: 9b16 ldr r3, [sp, #88] ; 0x58 + a424: 461e mov r6, r3 + a426: f8cd b050 str.w fp, [sp, #80] ; 0x50 + a42a: 469b mov fp, r3 + a42c: f812 3f01 ldrb.w r3, [r2, #1]! + a430: 2bff cmp r3, #255 ; 0xff + a432: bf1a itte ne + a434: fb0b f303 mulne.w r3, fp, r3 + a438: f3c3 2307 ubfxne r3, r3, #8, #8 + a43c: 4633 moveq r3, r6 + a43e: f801 3f01 strb.w r3, [r1, #1]! for(i = 0; i < shades; i++) { - a45a: 4594 cmp ip, r2 - a45c: d1f2 bne.n a444 - a45e: f8dd b050 ldr.w fp, [sp, #80] ; 0x50 + a442: 4594 cmp ip, r2 + a444: d1f2 bne.n a42c + a446: f8dd b050 ldr.w fp, [sp, #80] ; 0x50 prev_opa = opa; - a462: 4b6a ldr r3, [pc, #424] ; (a60c ) - a464: f89d 2058 ldrb.w r2, [sp, #88] ; 0x58 - a468: f883 2100 strb.w r2, [r3, #256] ; 0x100 + a44a: 4b6a ldr r3, [pc, #424] ; (a5f4 ) + a44c: f89d 2058 ldrb.w r2, [sp, #88] ; 0x58 + a450: f883 2100 strb.w r2, [r3, #256] ; 0x100 prev_bpp = bpp; - a46c: 9a20 ldr r2, [sp, #128] ; 0x80 - a46e: f8c3 2104 str.w r2, [r3, #260] ; 0x104 + a454: 9a20 ldr r2, [sp, #128] ; 0x80 + a456: f8c3 2104 str.w r2, [r3, #260] ; 0x104 bpp_opa_table_p = opa_table; - a472: 9b1c ldr r3, [sp, #112] ; 0x70 - a474: 9322 str r3, [sp, #136] ; 0x88 + a45a: 9b1c ldr r3, [sp, #112] ; 0x70 + a45c: 9322 str r3, [sp, #136] ; 0x88 int32_t box_w = g->box_w; - a476: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea - a47a: 9324 str r3, [sp, #144] ; 0x90 + a45e: f8bd 30ea ldrh.w r3, [sp, #234] ; 0xea + a462: 9324 str r3, [sp, #144] ; 0x90 int32_t box_h = g->box_h; - a47c: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec + a464: f8bd 20ec ldrh.w r2, [sp, #236] ; 0xec int32_t width_bit = box_w * bpp; /*Letter width in bits*/ - a480: 9920 ldr r1, [sp, #128] ; 0x80 - a482: fb01 fc03 mul.w ip, r1, r3 + a468: 9920 ldr r1, [sp, #128] ; 0x80 + a46a: fb01 fc03 mul.w ip, r1, r3 int32_t col_start = pos_x >= clip_area->x1 ? 0 : clip_area->x1 - pos_x; - a486: 9b0d ldr r3, [sp, #52] ; 0x34 - a488: f9b3 3000 ldrsh.w r3, [r3] - a48c: 429c cmp r4, r3 - a48e: bfb4 ite lt - a490: 1b1b sublt r3, r3, r4 - a492: 2300 movge r3, #0 - a494: 9314 str r3, [sp, #80] ; 0x50 + a46e: 9b0d ldr r3, [sp, #52] ; 0x34 + a470: f9b3 3000 ldrsh.w r3, [r3] + a474: 429c cmp r4, r3 + a476: bfb4 ite lt + a478: 1b1b sublt r3, r3, r4 + a47a: 2300 movge r3, #0 + a47c: 9314 str r3, [sp, #80] ; 0x50 int32_t col_end = pos_x + box_w <= clip_area->x2 ? box_w : clip_area->x2 - pos_x + 1; - a496: 9b0d ldr r3, [sp, #52] ; 0x34 - a498: f9b3 3004 ldrsh.w r3, [r3, #4] - a49c: 9924 ldr r1, [sp, #144] ; 0x90 - a49e: 4421 add r1, r4 - a4a0: 4299 cmp r1, r3 - a4a2: bfc6 itte gt - a4a4: 1b1b subgt r3, r3, r4 - a4a6: 3301 addgt r3, #1 - a4a8: 9b24 ldrle r3, [sp, #144] ; 0x90 - a4aa: 9325 str r3, [sp, #148] ; 0x94 + a47e: 9b0d ldr r3, [sp, #52] ; 0x34 + a480: f9b3 3004 ldrsh.w r3, [r3, #4] + a484: 9924 ldr r1, [sp, #144] ; 0x90 + a486: 4421 add r1, r4 + a488: 4299 cmp r1, r3 + a48a: bfc6 itte gt + a48c: 1b1b subgt r3, r3, r4 + a48e: 3301 addgt r3, #1 + a490: 9b24 ldrle r3, [sp, #144] ; 0x90 + a492: 9325 str r3, [sp, #148] ; 0x94 int32_t row_start = pos_y >= clip_area->y1 ? 0 : clip_area->y1 - pos_y; - a4ac: 9b0d ldr r3, [sp, #52] ; 0x34 - a4ae: f9b3 3002 ldrsh.w r3, [r3, #2] - a4b2: 4298 cmp r0, r3 - a4b4: bfb4 ite lt - a4b6: 1a1b sublt r3, r3, r0 - a4b8: 2300 movge r3, #0 - a4ba: 9326 str r3, [sp, #152] ; 0x98 + a494: 9b0d ldr r3, [sp, #52] ; 0x34 + a496: f9b3 3002 ldrsh.w r3, [r3, #2] + a49a: 4298 cmp r0, r3 + a49c: bfb4 ite lt + a49e: 1a1b sublt r3, r3, r0 + a4a0: 2300 movge r3, #0 + a4a2: 9326 str r3, [sp, #152] ; 0x98 int32_t row_end = pos_y + box_h <= clip_area->y2 ? box_h : clip_area->y2 - pos_y + 1; - a4bc: 9b0d ldr r3, [sp, #52] ; 0x34 - a4be: f9b3 3006 ldrsh.w r3, [r3, #6] - a4c2: 1811 adds r1, r2, r0 - a4c4: 4299 cmp r1, r3 - a4c6: bfc3 ittte gt - a4c8: 1a1b subgt r3, r3, r0 - a4ca: 3301 addgt r3, #1 - a4cc: 931b strgt r3, [sp, #108] ; 0x6c - a4ce: 921b strle r2, [sp, #108] ; 0x6c + a4a4: 9b0d ldr r3, [sp, #52] ; 0x34 + a4a6: f9b3 3006 ldrsh.w r3, [r3, #6] + a4aa: 1811 adds r1, r2, r0 + a4ac: 4299 cmp r1, r3 + a4ae: bfc3 ittte gt + a4b0: 1a1b subgt r3, r3, r0 + a4b2: 3301 addgt r3, #1 + a4b4: 931b strgt r3, [sp, #108] ; 0x6c + a4b6: 921b strle r2, [sp, #108] ; 0x6c uint32_t bit_ofs = (row_start * width_bit) + (col_start * bpp); - a4d0: 9b14 ldr r3, [sp, #80] ; 0x50 - a4d2: 9321 str r3, [sp, #132] ; 0x84 - a4d4: 9920 ldr r1, [sp, #128] ; 0x80 - a4d6: fb03 f401 mul.w r4, r3, r1 - a4da: 9826 ldr r0, [sp, #152] ; 0x98 - a4dc: fb00 440c mla r4, r0, ip, r4 + a4b8: 9b14 ldr r3, [sp, #80] ; 0x50 + a4ba: 9321 str r3, [sp, #132] ; 0x84 + a4bc: 9920 ldr r1, [sp, #128] ; 0x80 + a4be: fb03 f401 mul.w r4, r3, r1 + a4c2: 9826 ldr r0, [sp, #152] ; 0x98 + a4c4: fb00 440c mla r4, r0, ip, r4 map_p += bit_ofs >> 3; - a4e0: eb0e 06d4 add.w r6, lr, r4, lsr #3 + a4c8: eb0e 06d4 add.w r6, lr, r4, lsr #3 col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */ - a4e4: f004 0407 and.w r4, r4, #7 + a4cc: f004 0407 and.w r4, r4, #7 uint32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : box_w * box_h; - a4e8: 9924 ldr r1, [sp, #144] ; 0x90 - a4ea: fb02 fe01 mul.w lr, r2, r1 - a4ee: 4672 mov r2, lr - a4f0: f5be 7ff0 cmp.w lr, #480 ; 0x1e0 - a4f4: bfa8 it ge - a4f6: f44f 72f0 movge.w r2, #480 ; 0x1e0 - a4fa: 921d str r2, [sp, #116] ; 0x74 + a4d0: 9924 ldr r1, [sp, #144] ; 0x90 + a4d2: fb02 fe01 mul.w lr, r2, r1 + a4d6: 4672 mov r2, lr + a4d8: f5be 7ff0 cmp.w lr, #480 ; 0x1e0 + a4dc: bfa8 it ge + a4de: f44f 72f0 movge.w r2, #480 ; 0x1e0 + a4e2: 921d str r2, [sp, #116] ; 0x74 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - a4fc: 4610 mov r0, r2 - a4fe: 4b44 ldr r3, [pc, #272] ; (a610 ) - a500: 4798 blx r3 - a502: 9018 str r0, [sp, #96] ; 0x60 + a4e4: 4610 mov r0, r2 + a4e6: 4b44 ldr r3, [pc, #272] ; (a5f8 ) + a4e8: 4798 blx r3 + a4ea: 9018 str r0, [sp, #96] ; 0x60 fill_area.x1 = col_start + pos_x; - a504: b2ad uxth r5, r5 - a506: 9b14 ldr r3, [sp, #80] ; 0x50 - a508: 18eb adds r3, r5, r3 - a50a: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 + a4ec: b2ad uxth r5, r5 + a4ee: 9b14 ldr r3, [sp, #80] ; 0x50 + a4f0: 18eb adds r3, r5, r3 + a4f2: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 fill_area.x2 = col_end + pos_x - 1; - a50e: 3d01 subs r5, #1 - a510: 9a25 ldr r2, [sp, #148] ; 0x94 - a512: 18ab adds r3, r5, r2 - a514: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 + a4f6: 3d01 subs r5, #1 + a4f8: 9a25 ldr r2, [sp, #148] ; 0x94 + a4fa: 18ab adds r3, r5, r2 + a4fc: f8ad 30e4 strh.w r3, [sp, #228] ; 0xe4 fill_area.y1 = row_start + pos_y; - a518: 9d15 ldr r5, [sp, #84] ; 0x54 - a51a: 9826 ldr r0, [sp, #152] ; 0x98 - a51c: 4405 add r5, r0 - a51e: b22b sxth r3, r5 - a520: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a500: 9d15 ldr r5, [sp, #84] ; 0x54 + a502: 9826 ldr r0, [sp, #152] ; 0x98 + a504: 4405 add r5, r0 + a506: b22b sxth r3, r5 + a508: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 fill_area.y2 = fill_area.y1; - a524: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a50c: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - a528: 4b3a ldr r3, [pc, #232] ; (a614 ) - a52a: 4798 blx r3 - a52c: 901e str r0, [sp, #120] ; 0x78 + a510: 4b3a ldr r3, [pc, #232] ; (a5fc ) + a512: 4798 blx r3 + a514: 901e str r0, [sp, #120] ; 0x78 uint32_t col_bit_max = 8 - bpp; - a52e: 9920 ldr r1, [sp, #128] ; 0x80 - a530: f1c1 0508 rsb r5, r1, #8 + a516: 9920 ldr r1, [sp, #128] ; 0x80 + a518: f1c1 0508 rsb r5, r1, #8 uint32_t col_bit_row_ofs = (box_w + col_start - col_end) * bpp; - a534: 9a24 ldr r2, [sp, #144] ; 0x90 - a536: 9b14 ldr r3, [sp, #80] ; 0x50 - a538: 18d3 adds r3, r2, r3 - a53a: 9a25 ldr r2, [sp, #148] ; 0x94 - a53c: 1a9b subs r3, r3, r2 - a53e: fb01 f303 mul.w r3, r1, r3 - a542: 9320 str r3, [sp, #128] ; 0x80 + a51c: 9a24 ldr r2, [sp, #144] ; 0x90 + a51e: 9b14 ldr r3, [sp, #80] ; 0x50 + a520: 18d3 adds r3, r2, r3 + a522: 9a25 ldr r2, [sp, #148] ; 0x94 + a524: 1a9b subs r3, r3, r2 + a526: fb01 f303 mul.w r3, r1, r3 + a52a: 9320 str r3, [sp, #128] ; 0x80 for(row = row_start ; row < row_end; row++) { - a544: 9826 ldr r0, [sp, #152] ; 0x98 - a546: 9b1b ldr r3, [sp, #108] ; 0x6c - a548: 4298 cmp r0, r3 - a54a: f280 80df bge.w a70c - a54e: f04f 0e00 mov.w lr, #0 + a52c: 9826 ldr r0, [sp, #152] ; 0x98 + a52e: 9b1b ldr r3, [sp, #108] ; 0x6c + a530: 4298 cmp r0, r3 + a532: f280 80df bge.w a6f4 + a536: f04f 0e00 mov.w lr, #0 mask_buf[mask_p] = 0; - a552: f8cd b090 str.w fp, [sp, #144] ; 0x90 - a556: f8cd 9098 str.w r9, [sp, #152] ; 0x98 - a55a: 9727 str r7, [sp, #156] ; 0x9c - a55c: 460f mov r7, r1 - a55e: 9515 str r5, [sp, #84] ; 0x54 - a560: f8cd a0a0 str.w sl, [sp, #160] ; 0xa0 - a564: f8dd a094 ldr.w sl, [sp, #148] ; 0x94 - a568: 4681 mov r9, r0 - a56a: f8cd 8094 str.w r8, [sp, #148] ; 0x94 - a56e: f8dd 8088 ldr.w r8, [sp, #136] ; 0x88 - a572: e07a b.n a66a + a53a: f8cd b090 str.w fp, [sp, #144] ; 0x90 + a53e: f8cd 9098 str.w r9, [sp, #152] ; 0x98 + a542: 9727 str r7, [sp, #156] ; 0x9c + a544: 460f mov r7, r1 + a546: 9515 str r5, [sp, #84] ; 0x54 + a548: f8cd a0a0 str.w sl, [sp, #160] ; 0xa0 + a54c: f8dd a094 ldr.w sl, [sp, #148] ; 0x94 + a550: 4681 mov r9, r0 + a552: f8cd 8094 str.w r8, [sp, #148] ; 0x94 + a556: f8dd 8088 ldr.w r8, [sp, #136] ; 0x88 + a55a: e07a b.n a652 if(bpp == 3) bpp = 4; - a574: 2304 movs r3, #4 - a576: 9320 str r3, [sp, #128] ; 0x80 + a55c: 2304 movs r3, #4 + a55e: 9320 str r3, [sp, #128] ; 0x80 shades = 16; - a578: 2310 movs r3, #16 + a560: 2310 movs r3, #16 bitmask_init = 0xF0; - a57a: 22f0 movs r2, #240 ; 0xf0 - a57c: 9212 str r2, [sp, #72] ; 0x48 + a562: 22f0 movs r2, #240 ; 0xf0 + a564: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp4_opa_table; - a57e: 4a26 ldr r2, [pc, #152] ; (a618 ) - a580: 9222 str r2, [sp, #136] ; 0x88 - a582: e749 b.n a418 + a566: 4a26 ldr r2, [pc, #152] ; (a600 ) + a568: 9222 str r2, [sp, #136] ; 0x88 + a56a: e749 b.n a400 LV_LOG_WARN("lv_draw_letter: invalid bpp"); - a584: 4b25 ldr r3, [pc, #148] ; (a61c ) - a586: 9300 str r3, [sp, #0] - a588: 4b25 ldr r3, [pc, #148] ; (a620 ) - a58a: f240 12e5 movw r2, #485 ; 0x1e5 - a58e: 4925 ldr r1, [pc, #148] ; (a624 ) - a590: 2002 movs r0, #2 - a592: 4c25 ldr r4, [pc, #148] ; (a628 ) - a594: 47a0 blx r4 - a596: e41d b.n 9dd4 + a56c: 4b25 ldr r3, [pc, #148] ; (a604 ) + a56e: 9300 str r3, [sp, #0] + a570: 4b25 ldr r3, [pc, #148] ; (a608 ) + a572: f240 12e5 movw r2, #485 ; 0x1e5 + a576: 4925 ldr r1, [pc, #148] ; (a60c ) + a578: 2002 movs r0, #2 + a57a: 4c25 ldr r4, [pc, #148] ; (a610 ) + a57c: 47a0 blx r4 + a57e: e41d b.n 9dbc uint32_t bpp = g->bpp; - a598: 2301 movs r3, #1 - a59a: 9320 str r3, [sp, #128] ; 0x80 + a580: 2301 movs r3, #1 + a582: 9320 str r3, [sp, #128] ; 0x80 shades = 2; - a59c: 2302 movs r3, #2 + a584: 2302 movs r3, #2 bitmask_init = 0x80; - a59e: 2280 movs r2, #128 ; 0x80 - a5a0: 9212 str r2, [sp, #72] ; 0x48 + a586: 2280 movs r2, #128 ; 0x80 + a588: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp1_opa_table; - a5a2: 4a22 ldr r2, [pc, #136] ; (a62c ) - a5a4: 9222 str r2, [sp, #136] ; 0x88 - a5a6: e737 b.n a418 + a58a: 4a22 ldr r2, [pc, #136] ; (a614 ) + a58c: 9222 str r2, [sp, #136] ; 0x88 + a58e: e737 b.n a400 uint32_t bpp = g->bpp; - a5a8: 2308 movs r3, #8 - a5aa: 9320 str r3, [sp, #128] ; 0x80 + a590: 2308 movs r3, #8 + a592: 9320 str r3, [sp, #128] ; 0x80 shades = 256; - a5ac: f44f 7380 mov.w r3, #256 ; 0x100 + a594: f44f 7380 mov.w r3, #256 ; 0x100 bitmask_init = 0xFF; - a5b0: 22ff movs r2, #255 ; 0xff - a5b2: 9212 str r2, [sp, #72] ; 0x48 + a598: 22ff movs r2, #255 ; 0xff + a59a: 9212 str r2, [sp, #72] ; 0x48 bpp_opa_table_p = _lv_bpp8_opa_table; - a5b4: 4a1e ldr r2, [pc, #120] ; (a630 ) - a5b6: 9222 str r2, [sp, #136] ; 0x88 - a5b8: e72e b.n a418 + a59c: 4a1e ldr r2, [pc, #120] ; (a618 ) + a59e: 9222 str r2, [sp, #136] ; 0x88 + a5a0: e72e b.n a400 if(prev_opa != opa || prev_bpp != bpp) { - a5ba: 4a14 ldr r2, [pc, #80] ; (a60c ) - a5bc: f8d2 2104 ldr.w r2, [r2, #260] ; 0x104 - a5c0: 9920 ldr r1, [sp, #128] ; 0x80 - a5c2: 4291 cmp r1, r2 - a5c4: f47f af31 bne.w a42a - a5c8: e74b b.n a462 + a5a2: 4a14 ldr r2, [pc, #80] ; (a5f4 ) + a5a4: f8d2 2104 ldr.w r2, [r2, #260] ; 0x104 + a5a8: 9920 ldr r1, [sp, #128] ; 0x80 + a5aa: 4291 cmp r1, r2 + a5ac: f47f af31 bne.w a412 + a5b0: e74b b.n a44a map_p++; - a5ca: 3601 adds r6, #1 + a5b2: 3601 adds r6, #1 bitmask = bitmask_init; - a5cc: 9812 ldr r0, [sp, #72] ; 0x48 + a5b4: 9812 ldr r0, [sp, #72] ; 0x48 col_bit = 0; - a5ce: 2400 movs r4, #0 - a5d0: 3101 adds r1, #1 + a5b6: 2400 movs r4, #0 + a5b8: 3101 adds r1, #1 for(col = col_start; col < col_end; col++) { - a5d2: 458c cmp ip, r1 - a5d4: d02e beq.n a634 + a5ba: 458c cmp ip, r1 + a5bc: d02e beq.n a61c letter_px = (*map_p & bitmask) >> (col_bit_max - col_bit); - a5d6: 7833 ldrb r3, [r6, #0] - a5d8: 4003 ands r3, r0 - a5da: 1b2a subs r2, r5, r4 - a5dc: 40d3 lsrs r3, r2 + a5be: 7833 ldrb r3, [r6, #0] + a5c0: 4003 ands r3, r0 + a5c2: 1b2a subs r2, r5, r4 + a5c4: 40d3 lsrs r3, r2 if(letter_px) { - a5de: f013 0fff tst.w r3, #255 ; 0xff + a5c6: f013 0fff tst.w r3, #255 ; 0xff mask_buf[mask_p] = bpp_opa_table_p[letter_px]; - a5e2: bf1a itte ne - a5e4: b2db uxtbne r3, r3 - a5e6: f818 3003 ldrbne.w r3, [r8, r3] + a5ca: bf1a itte ne + a5cc: b2db uxtbne r3, r3 + a5ce: f818 3003 ldrbne.w r3, [r8, r3] mask_buf[mask_p] = 0; - a5ea: 2300 moveq r3, #0 - a5ec: 700b strb r3, [r1, #0] + a5d2: 2300 moveq r3, #0 + a5d4: 700b strb r3, [r1, #0] if(col_bit < col_bit_max) { - a5ee: 42a5 cmp r5, r4 - a5f0: d9eb bls.n a5ca + a5d6: 42a5 cmp r5, r4 + a5d8: d9eb bls.n a5b2 col_bit += bpp; - a5f2: 443c add r4, r7 + a5da: 443c add r4, r7 bitmask = bitmask >> bpp; - a5f4: 40f8 lsrs r0, r7 - a5f6: e7eb b.n a5d0 - a5f8: 0000be1d .word 0x0000be1d - a5fc: 00012b37 .word 0x00012b37 - a600: 00008281 .word 0x00008281 - a604: 00012571 .word 0x00012571 - a608: 00024d64 .word 0x00024d64 - a60c: 20002a50 .word 0x20002a50 - a610: 0001293d .word 0x0001293d - a614: 0000bec5 .word 0x0000bec5 - a618: 00024d68 .word 0x00024d68 - a61c: 00024f88 .word 0x00024f88 - a620: 00024e9c .word 0x00024e9c - a624: 00024eb8 .word 0x00024eb8 - a628: 0001225d .word 0x0001225d - a62c: 00024d60 .word 0x00024d60 - a630: 00024d78 .word 0x00024d78 - a634: 9515 str r5, [sp, #84] ; 0x54 + a5dc: 40f8 lsrs r0, r7 + a5de: e7eb b.n a5b8 + a5e0: 0000be05 .word 0x0000be05 + a5e4: 00012b1f .word 0x00012b1f + a5e8: 00008269 .word 0x00008269 + a5ec: 00012559 .word 0x00012559 + a5f0: 00024d4c .word 0x00024d4c + a5f4: 20002a50 .word 0x20002a50 + a5f8: 00012925 .word 0x00012925 + a5fc: 0000bead .word 0x0000bead + a600: 00024d50 .word 0x00024d50 + a604: 00024f70 .word 0x00024f70 + a608: 00024e84 .word 0x00024e84 + a60c: 00024ea0 .word 0x00024ea0 + a610: 00012245 .word 0x00012245 + a614: 00024d48 .word 0x00024d48 + a618: 00024d60 .word 0x00024d60 + a61c: 9515 str r5, [sp, #84] ; 0x54 if(other_mask_cnt) { - a636: 9b1e ldr r3, [sp, #120] ; 0x78 - a638: bb53 cbnz r3, a690 + a61e: 9b1e ldr r3, [sp, #120] ; 0x78 + a620: bb53 cbnz r3, a678 if((uint32_t) mask_p + (col_end - col_start) < mask_buf_size) { - a63a: 9b14 ldr r3, [sp, #80] ; 0x50 - a63c: ebaa 0303 sub.w r3, sl, r3 - a640: 445b add r3, fp - a642: 9a1d ldr r2, [sp, #116] ; 0x74 - a644: 429a cmp r2, r3 - a646: d93f bls.n a6c8 + a622: 9b14 ldr r3, [sp, #80] ; 0x50 + a624: ebaa 0303 sub.w r3, sl, r3 + a628: 445b add r3, fp + a62a: 9a1d ldr r2, [sp, #116] ; 0x74 + a62c: 429a cmp r2, r3 + a62e: d93f bls.n a6b0 fill_area.y2 ++; - a648: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - a64c: 3301 adds r3, #1 - a64e: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 - a652: 46de mov lr, fp + a630: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a634: 3301 adds r3, #1 + a636: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a63a: 46de mov lr, fp col_bit += col_bit_row_ofs; - a654: 9b20 ldr r3, [sp, #128] ; 0x80 - a656: 441c add r4, r3 + a63c: 9b20 ldr r3, [sp, #128] ; 0x80 + a63e: 441c add r4, r3 map_p += (col_bit >> 3); - a658: eb06 06d4 add.w r6, r6, r4, lsr #3 + a640: eb06 06d4 add.w r6, r6, r4, lsr #3 col_bit = col_bit & 0x7; - a65c: f004 0407 and.w r4, r4, #7 + a644: f004 0407 and.w r4, r4, #7 for(row = row_start ; row < row_end; row++) { - a660: f109 0901 add.w r9, r9, #1 - a664: 9b1b ldr r3, [sp, #108] ; 0x6c - a666: 4599 cmp r9, r3 - a668: da47 bge.n a6fa + a648: f109 0901 add.w r9, r9, #1 + a64c: 9b1b ldr r3, [sp, #108] ; 0x6c + a64e: 4599 cmp r9, r3 + a650: da47 bge.n a6e2 bitmask = bitmask_init >> col_bit; - a66a: 9b12 ldr r3, [sp, #72] ; 0x48 - a66c: fa23 f004 lsr.w r0, r3, r4 + a652: 9b12 ldr r3, [sp, #72] ; 0x48 + a654: fa23 f004 lsr.w r0, r3, r4 for(col = col_start; col < col_end; col++) { - a670: 9b14 ldr r3, [sp, #80] ; 0x50 - a672: 4553 cmp r3, sl - a674: da0a bge.n a68c - a676: 9a18 ldr r2, [sp, #96] ; 0x60 - a678: eb02 010e add.w r1, r2, lr - a67c: 9b21 ldr r3, [sp, #132] ; 0x84 - a67e: ebaa 0b03 sub.w fp, sl, r3 - a682: 44f3 add fp, lr - a684: eb02 0c0b add.w ip, r2, fp - a688: 9d15 ldr r5, [sp, #84] ; 0x54 - a68a: e7a4 b.n a5d6 - a68c: 46f3 mov fp, lr - a68e: e7d2 b.n a636 + a658: 9b14 ldr r3, [sp, #80] ; 0x50 + a65a: 4553 cmp r3, sl + a65c: da0a bge.n a674 + a65e: 9a18 ldr r2, [sp, #96] ; 0x60 + a660: eb02 010e add.w r1, r2, lr + a664: 9b21 ldr r3, [sp, #132] ; 0x84 + a666: ebaa 0b03 sub.w fp, sl, r3 + a66a: 44f3 add fp, lr + a66c: eb02 0c0b add.w ip, r2, fp + a670: 9d15 ldr r5, [sp, #84] ; 0x54 + a672: e7a4 b.n a5be + a674: 46f3 mov fp, lr + a676: e7d2 b.n a61e lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf + mask_p_start, fill_area.x1, fill_area.y2, - a690: 9b18 ldr r3, [sp, #96] ; 0x60 - a692: 4473 add r3, lr - a694: 4618 mov r0, r3 - a696: 9322 str r3, [sp, #136] ; 0x88 - a698: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 - a69c: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 - a6a0: 3301 adds r3, #1 - a6a2: 1a5b subs r3, r3, r1 - a6a4: b21b sxth r3, r3 - a6a6: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 - a6aa: 4d85 ldr r5, [pc, #532] ; (a8c0 ) - a6ac: 47a8 blx r5 + a678: 9b18 ldr r3, [sp, #96] ; 0x60 + a67a: 4473 add r3, lr + a67c: 4618 mov r0, r3 + a67e: 9322 str r3, [sp, #136] ; 0x88 + a680: f9bd 10e0 ldrsh.w r1, [sp, #224] ; 0xe0 + a684: f8bd 30e4 ldrh.w r3, [sp, #228] ; 0xe4 + a688: 3301 adds r3, #1 + a68a: 1a5b subs r3, r3, r1 + a68c: b21b sxth r3, r3 + a68e: f9bd 20e6 ldrsh.w r2, [sp, #230] ; 0xe6 + a692: 4d85 ldr r5, [pc, #532] ; (a8a8 ) + a694: 47a8 blx r5 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - a6ae: 2800 cmp r0, #0 - a6b0: d1c3 bne.n a63a - a6b2: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 - a6b6: 3101 adds r1, #1 - a6b8: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 - a6bc: 1ac9 subs r1, r1, r3 + a696: 2800 cmp r0, #0 + a698: d1c3 bne.n a622 + a69a: f8bd 10e4 ldrh.w r1, [sp, #228] ; 0xe4 + a69e: 3101 adds r1, #1 + a6a0: f8bd 30e0 ldrh.w r3, [sp, #224] ; 0xe0 + a6a4: 1ac9 subs r1, r1, r3 _lv_memset_00(mask_buf + mask_p_start, lv_area_get_width(&fill_area)); - a6be: b209 sxth r1, r1 - a6c0: 9822 ldr r0, [sp, #136] ; 0x88 - a6c2: 4b80 ldr r3, [pc, #512] ; (a8c4 ) - a6c4: 4798 blx r3 - a6c6: e7b8 b.n a63a + a6a6: b209 sxth r1, r1 + a6a8: 9822 ldr r0, [sp, #136] ; 0x88 + a6aa: 4b80 ldr r3, [pc, #512] ; (a8ac ) + a6ac: 4798 blx r3 + a6ae: e7b8 b.n a622 _lv_blend_fill(clip_area, &fill_area, - a6c8: 9b0f ldr r3, [sp, #60] ; 0x3c - a6ca: 9302 str r3, [sp, #8] - a6cc: 23ff movs r3, #255 ; 0xff - a6ce: 9301 str r3, [sp, #4] - a6d0: 2302 movs r3, #2 - a6d2: 9300 str r3, [sp, #0] - a6d4: 9b18 ldr r3, [sp, #96] ; 0x60 - a6d6: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c - a6da: a938 add r1, sp, #224 ; 0xe0 - a6dc: 980d ldr r0, [sp, #52] ; 0x34 - a6de: f8df b1e8 ldr.w fp, [pc, #488] ; a8c8 - a6e2: 47d8 blx fp + a6b0: 9b0f ldr r3, [sp, #60] ; 0x3c + a6b2: 9302 str r3, [sp, #8] + a6b4: 23ff movs r3, #255 ; 0xff + a6b6: 9301 str r3, [sp, #4] + a6b8: 2302 movs r3, #2 + a6ba: 9300 str r3, [sp, #0] + a6bc: 9b18 ldr r3, [sp, #96] ; 0x60 + a6be: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c + a6c2: a938 add r1, sp, #224 ; 0xe0 + a6c4: 980d ldr r0, [sp, #52] ; 0x34 + a6c6: f8df b1e8 ldr.w fp, [pc, #488] ; a8b0 + a6ca: 47d8 blx fp fill_area.y1 = fill_area.y2 + 1; - a6e4: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 - a6e8: 3301 adds r3, #1 - a6ea: b21b sxth r3, r3 - a6ec: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a6cc: f8bd 30e6 ldrh.w r3, [sp, #230] ; 0xe6 + a6d0: 3301 adds r3, #1 + a6d2: b21b sxth r3, r3 + a6d4: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 fill_area.y2 = fill_area.y1; - a6f0: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a6d8: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 mask_p = 0; - a6f4: f04f 0e00 mov.w lr, #0 - a6f8: e7ac b.n a654 - a6fa: f8dd b090 ldr.w fp, [sp, #144] ; 0x90 - a6fe: f8dd 9098 ldr.w r9, [sp, #152] ; 0x98 - a702: 9f27 ldr r7, [sp, #156] ; 0x9c - a704: f8dd a0a0 ldr.w sl, [sp, #160] ; 0xa0 - a708: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94 + a6dc: f04f 0e00 mov.w lr, #0 + a6e0: e7ac b.n a63c + a6e2: f8dd b090 ldr.w fp, [sp, #144] ; 0x90 + a6e6: f8dd 9098 ldr.w r9, [sp, #152] ; 0x98 + a6ea: 9f27 ldr r7, [sp, #156] ; 0x9c + a6ec: f8dd a0a0 ldr.w sl, [sp, #160] ; 0xa0 + a6f0: f8dd 8094 ldr.w r8, [sp, #148] ; 0x94 if(fill_area.y1 != fill_area.y2) { - a70c: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 - a710: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 - a714: 429a cmp r2, r3 - a716: d00f beq.n a738 + a6f4: f9bd 30e6 ldrsh.w r3, [sp, #230] ; 0xe6 + a6f8: f9bd 20e2 ldrsh.w r2, [sp, #226] ; 0xe2 + a6fc: 429a cmp r2, r3 + a6fe: d00f beq.n a720 fill_area.y2--; - a718: 3b01 subs r3, #1 - a71a: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 + a700: 3b01 subs r3, #1 + a702: f8ad 30e6 strh.w r3, [sp, #230] ; 0xe6 _lv_blend_fill(clip_area, &fill_area, - a71e: 9b0f ldr r3, [sp, #60] ; 0x3c - a720: 9302 str r3, [sp, #8] - a722: 23ff movs r3, #255 ; 0xff - a724: 9301 str r3, [sp, #4] - a726: 2302 movs r3, #2 - a728: 9300 str r3, [sp, #0] - a72a: 9b18 ldr r3, [sp, #96] ; 0x60 - a72c: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c - a730: a938 add r1, sp, #224 ; 0xe0 - a732: 980d ldr r0, [sp, #52] ; 0x34 - a734: 4c64 ldr r4, [pc, #400] ; (a8c8 ) - a736: 47a0 blx r4 + a706: 9b0f ldr r3, [sp, #60] ; 0x3c + a708: 9302 str r3, [sp, #8] + a70a: 23ff movs r3, #255 ; 0xff + a70c: 9301 str r3, [sp, #4] + a70e: 2302 movs r3, #2 + a710: 9300 str r3, [sp, #0] + a712: 9b18 ldr r3, [sp, #96] ; 0x60 + a714: f8bd 208c ldrh.w r2, [sp, #140] ; 0x8c + a718: a938 add r1, sp, #224 ; 0xe0 + a71a: 980d ldr r0, [sp, #52] ; 0x34 + a71c: 4c64 ldr r4, [pc, #400] ; (a8b0 ) + a71e: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - a738: 9818 ldr r0, [sp, #96] ; 0x60 - a73a: 4b64 ldr r3, [pc, #400] ; (a8cc ) - a73c: 4798 blx r3 - a73e: f7ff bb49 b.w 9dd4 + a720: 9818 ldr r0, [sp, #96] ; 0x60 + a722: 4b64 ldr r3, [pc, #400] ; (a8b4 ) + a724: 4798 blx r3 + a726: f7ff bb49 b.w 9dbc cmd_state = CMD_STATE_WAIT; - a742: 2300 movs r3, #0 - a744: 9306 str r3, [sp, #24] - a746: f7ff bb4d b.w 9de4 - a74a: 4653 mov r3, sl - a74c: 46ca mov sl, r9 - a74e: 4699 mov r9, r3 + a72a: 2300 movs r3, #0 + a72c: 9306 str r3, [sp, #24] + a72e: f7ff bb4d b.w 9dcc + a732: 4653 mov r3, sl + a734: 46ca mov sl, r9 + a736: 4699 mov r9, r3 if(dsc->decor & LV_TEXT_DECOR_STRIKETHROUGH) { - a750: f898 3018 ldrb.w r3, [r8, #24] - a754: f013 0f02 tst.w r3, #2 - a758: d146 bne.n a7e8 + a738: f898 3018 ldrb.w r3, [r8, #24] + a73c: f013 0f02 tst.w r3, #2 + a740: d146 bne.n a7d0 if(dsc->decor & LV_TEXT_DECOR_UNDERLINE) { - a75a: f898 3018 ldrb.w r3, [r8, #24] - a75e: f013 0f01 tst.w r3, #1 - a762: d162 bne.n a82a + a742: f898 3018 ldrb.w r3, [r8, #24] + a746: f013 0f01 tst.w r3, #1 + a74a: d162 bne.n a812 line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - a764: 9a0a ldr r2, [sp, #40] ; 0x28 - a766: 9d07 ldr r5, [sp, #28] - a768: 1956 adds r6, r2, r5 - a76a: f9b8 200c ldrsh.w r2, [r8, #12] - a76e: f898 3017 ldrb.w r3, [r8, #23] - a772: 9300 str r3, [sp, #0] - a774: 9b10 ldr r3, [sp, #64] ; 0x40 - a776: 9905 ldr r1, [sp, #20] - a778: 4630 mov r0, r6 - a77a: 4c55 ldr r4, [pc, #340] ; (a8d0 ) - a77c: 47a0 blx r4 - a77e: 1944 adds r4, r0, r5 + a74c: 9a0a ldr r2, [sp, #40] ; 0x28 + a74e: 9d07 ldr r5, [sp, #28] + a750: 1956 adds r6, r2, r5 + a752: f9b8 200c ldrsh.w r2, [r8, #12] + a756: f898 3017 ldrb.w r3, [r8, #23] + a75a: 9300 str r3, [sp, #0] + a75c: 9b10 ldr r3, [sp, #64] ; 0x40 + a75e: 9905 ldr r1, [sp, #20] + a760: 4630 mov r0, r6 + a762: 4c55 ldr r4, [pc, #340] ; (a8b8 ) + a764: 47a0 blx r4 + a766: 1944 adds r4, r0, r5 pos.x = coords->x1; - a780: 9b13 ldr r3, [sp, #76] ; 0x4c - a782: f9b3 5000 ldrsh.w r5, [r3] + a768: 9b13 ldr r3, [sp, #76] ; 0x4c + a76a: f9b3 5000 ldrsh.w r5, [r3] if(dsc->flag & LV_TXT_FLAG_CENTER) { - a786: f898 2017 ldrb.w r2, [r8, #23] - a78a: f012 0f04 tst.w r2, #4 - a78e: d16c bne.n a86a + a76e: f898 2017 ldrb.w r2, [r8, #23] + a772: f012 0f04 tst.w r2, #4 + a776: d16c bne.n a852 else if(dsc->flag & LV_TXT_FLAG_RIGHT) { - a790: f012 0f08 tst.w r2, #8 - a794: d17e bne.n a894 - a796: 9b0e ldr r3, [sp, #56] ; 0x38 - a798: 9917 ldr r1, [sp, #92] ; 0x5c - a79a: 440b add r3, r1 - a79c: b21b sxth r3, r3 - a79e: 9a11 ldr r2, [sp, #68] ; 0x44 - a7a0: 440a add r2, r1 - a7a2: b292 uxth r2, r2 - a7a4: 9211 str r2, [sp, #68] ; 0x44 + a778: f012 0f08 tst.w r2, #8 + a77c: d17e bne.n a87c + a77e: 9b0e ldr r3, [sp, #56] ; 0x38 + a780: 9917 ldr r1, [sp, #92] ; 0x5c + a782: 440b add r3, r1 + a784: b21b sxth r3, r3 + a786: 9a11 ldr r2, [sp, #68] ; 0x44 + a788: 440a add r2, r1 + a78a: b292 uxth r2, r2 + a78c: 9211 str r2, [sp, #68] ; 0x44 line_start = line_end; - a7a6: f8dd b01c ldr.w fp, [sp, #28] + a78e: f8dd b01c ldr.w fp, [sp, #28] pos.y += line_height; - a7aa: 930e str r3, [sp, #56] ; 0x38 + a792: 930e str r3, [sp, #56] ; 0x38 if(pos.y > mask->y2) return; - a7ac: 9a0d ldr r2, [sp, #52] ; 0x34 - a7ae: f9b2 2006 ldrsh.w r2, [r2, #6] - a7b2: 429a cmp r2, r3 - a7b4: f6ff a93f blt.w 9a36 + a794: 9a0d ldr r2, [sp, #52] ; 0x34 + a796: f9b2 2006 ldrsh.w r2, [r2, #6] + a79a: 429a cmp r2, r3 + a79c: f6ff a93f blt.w 9a1e line_end += _lv_txt_get_next_line(&txt[line_start], font, dsc->letter_space, w, dsc->flag); - a7b8: 9407 str r4, [sp, #28] + a7a0: 9407 str r4, [sp, #28] while(txt[line_start] != '\0') { - a7ba: 9a0a ldr r2, [sp, #40] ; 0x28 - a7bc: 4613 mov r3, r2 - a7be: 445b add r3, fp - a7c0: 9309 str r3, [sp, #36] ; 0x24 - a7c2: f812 300b ldrb.w r3, [r2, fp] - a7c6: 2b00 cmp r3, #0 - a7c8: f43f a935 beq.w 9a36 + a7a2: 9a0a ldr r2, [sp, #40] ; 0x28 + a7a4: 4613 mov r3, r2 + a7a6: 445b add r3, fp + a7a8: 9309 str r3, [sp, #36] ; 0x24 + a7aa: f812 300b ldrb.w r3, [r2, fp] + a7ae: 2b00 cmp r3, #0 + a7b0: f43f a935 beq.w 9a1e pos.x += x_ofs; - a7cc: 9b1a ldr r3, [sp, #104] ; 0x68 - a7ce: 441d add r5, r3 - a7d0: fa0f f985 sxth.w r9, r5 + a7b4: 9b1a ldr r3, [sp, #104] ; 0x68 + a7b6: 441d add r5, r3 + a7b8: fa0f f985 sxth.w r9, r5 i = 0; - a7d4: 2300 movs r3, #0 - a7d6: 9352 str r3, [sp, #328] ; 0x148 + a7bc: 2300 movs r3, #0 + a7be: 9352 str r3, [sp, #328] ; 0x148 cmd_state = CMD_STATE_WAIT; - a7d8: 9306 str r3, [sp, #24] + a7c0: 9306 str r3, [sp, #24] bpp_opa_table_p = opa_table; - a7da: 4b3e ldr r3, [pc, #248] ; (a8d4 ) - a7dc: 931c str r3, [sp, #112] ; 0x70 - a7de: 464b mov r3, r9 - a7e0: 46d1 mov r9, sl - a7e2: 469a mov sl, r3 + a7c2: 4b3e ldr r3, [pc, #248] ; (a8bc ) + a7c4: 931c str r3, [sp, #112] ; 0x70 + a7c6: 464b mov r3, r9 + a7c8: 46d1 mov r9, sl + a7ca: 469a mov sl, r3 while(i < line_end - line_start) { - a7e4: f7ff bafe b.w 9de4 + a7cc: f7ff bafe b.w 9dcc p1.x = pos_x_start; - a7e8: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - a7ec: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 + a7d0: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + a7d4: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 p1.y = pos.y + (dsc->font->line_height / 2) + line_dsc.width / 2; - a7f0: f8d8 3004 ldr.w r3, [r8, #4] - a7f4: f9b3 3008 ldrsh.w r3, [r3, #8] - a7f8: eb03 72d3 add.w r2, r3, r3, lsr #31 - a7fc: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e - a800: eb03 73d3 add.w r3, r3, r3, lsr #31 - a804: 105b asrs r3, r3, #1 - a806: eb03 0362 add.w r3, r3, r2, asr #1 - a80a: 9a11 ldr r2, [sp, #68] ; 0x44 - a80c: 4413 add r3, r2 - a80e: b21b sxth r3, r3 - a810: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a7d8: f8d8 3004 ldr.w r3, [r8, #4] + a7dc: f9b3 3008 ldrsh.w r3, [r3, #8] + a7e0: eb03 72d3 add.w r2, r3, r3, lsr #31 + a7e4: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e + a7e8: eb03 73d3 add.w r3, r3, r3, lsr #31 + a7ec: 105b asrs r3, r3, #1 + a7ee: eb03 0362 add.w r3, r3, r2, asr #1 + a7f2: 9a11 ldr r2, [sp, #68] ; 0x44 + a7f4: 4413 add r3, r2 + a7f6: b21b sxth r3, r3 + a7f8: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 p2.x = pos.x; - a814: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 + a7fc: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 p2.y = p1.y; - a818: f8ad 30ea strh.w r3, [sp, #234] ; 0xea + a800: f8ad 30ea strh.w r3, [sp, #234] ; 0xea lv_draw_line(&p1, &p2, mask, &line_dsc); - a81c: ab53 add r3, sp, #332 ; 0x14c - a81e: 9a0d ldr r2, [sp, #52] ; 0x34 - a820: a93a add r1, sp, #232 ; 0xe8 - a822: a838 add r0, sp, #224 ; 0xe0 - a824: 4c2c ldr r4, [pc, #176] ; (a8d8 ) - a826: 47a0 blx r4 - a828: e797 b.n a75a + a804: ab53 add r3, sp, #332 ; 0x14c + a806: 9a0d ldr r2, [sp, #52] ; 0x34 + a808: a93a add r1, sp, #232 ; 0xe8 + a80a: a838 add r0, sp, #224 ; 0xe0 + a80c: 4c2c ldr r4, [pc, #176] ; (a8c0 ) + a80e: 47a0 blx r4 + a810: e797 b.n a742 p1.x = pos_x_start; - a82a: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - a82e: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 + a812: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + a816: f8ad 30e0 strh.w r3, [sp, #224] ; 0xe0 p1.y = pos.y + dsc->font->line_height - dsc->font->base_line + line_dsc.width / 2 + 1; - a832: f8d8 2004 ldr.w r2, [r8, #4] - a836: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e - a83a: eb03 73d3 add.w r3, r3, r3, lsr #31 - a83e: 105b asrs r3, r3, #1 - a840: 3301 adds r3, #1 - a842: 8911 ldrh r1, [r2, #8] - a844: 440b add r3, r1 - a846: 8952 ldrh r2, [r2, #10] - a848: 1a9b subs r3, r3, r2 - a84a: 9a11 ldr r2, [sp, #68] ; 0x44 - a84c: 4413 add r3, r2 - a84e: b21b sxth r3, r3 - a850: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 + a81a: f8d8 2004 ldr.w r2, [r8, #4] + a81e: f9bd 314e ldrsh.w r3, [sp, #334] ; 0x14e + a822: eb03 73d3 add.w r3, r3, r3, lsr #31 + a826: 105b asrs r3, r3, #1 + a828: 3301 adds r3, #1 + a82a: 8911 ldrh r1, [r2, #8] + a82c: 440b add r3, r1 + a82e: 8952 ldrh r2, [r2, #10] + a830: 1a9b subs r3, r3, r2 + a832: 9a11 ldr r2, [sp, #68] ; 0x44 + a834: 4413 add r3, r2 + a836: b21b sxth r3, r3 + a838: f8ad 30e2 strh.w r3, [sp, #226] ; 0xe2 p2.x = pos.x; - a854: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 + a83c: f8ad 90e8 strh.w r9, [sp, #232] ; 0xe8 p2.y = p1.y; - a858: f8ad 30ea strh.w r3, [sp, #234] ; 0xea + a840: f8ad 30ea strh.w r3, [sp, #234] ; 0xea lv_draw_line(&p1, &p2, mask, &line_dsc); - a85c: ab53 add r3, sp, #332 ; 0x14c - a85e: 9a0d ldr r2, [sp, #52] ; 0x34 - a860: a93a add r1, sp, #232 ; 0xe8 - a862: a838 add r0, sp, #224 ; 0xe0 - a864: 4c1c ldr r4, [pc, #112] ; (a8d8 ) - a866: 47a0 blx r4 - a868: e77c b.n a764 + a844: ab53 add r3, sp, #332 ; 0x14c + a846: 9a0d ldr r2, [sp, #52] ; 0x34 + a848: a93a add r1, sp, #232 ; 0xe8 + a84a: a838 add r0, sp, #224 ; 0xe0 + a84c: 4c1c ldr r4, [pc, #112] ; (a8c0 ) + a84e: 47a0 blx r4 + a850: e77c b.n a74c _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - a86a: f9b8 300c ldrsh.w r3, [r8, #12] - a86e: 9200 str r2, [sp, #0] - a870: 9a05 ldr r2, [sp, #20] - a872: 4601 mov r1, r0 - a874: 4630 mov r0, r6 - a876: 4e19 ldr r6, [pc, #100] ; (a8dc ) - a878: 47b0 blx r6 - a87a: 9a13 ldr r2, [sp, #76] ; 0x4c - a87c: 8893 ldrh r3, [r2, #4] - a87e: 3301 adds r3, #1 - a880: 8812 ldrh r2, [r2, #0] - a882: 1a9b subs r3, r3, r2 + a852: f9b8 300c ldrsh.w r3, [r8, #12] + a856: 9200 str r2, [sp, #0] + a858: 9a05 ldr r2, [sp, #20] + a85a: 4601 mov r1, r0 + a85c: 4630 mov r0, r6 + a85e: 4e19 ldr r6, [pc, #100] ; (a8c4 ) + a860: 47b0 blx r6 + a862: 9a13 ldr r2, [sp, #76] ; 0x4c + a864: 8893 ldrh r3, [r2, #4] + a866: 3301 adds r3, #1 + a868: 8812 ldrh r2, [r2, #0] + a86a: 1a9b subs r3, r3, r2 pos.x += (lv_area_get_width(coords) - line_width) / 2; - a884: b21b sxth r3, r3 - a886: 1a18 subs r0, r3, r0 - a888: eb00 70d0 add.w r0, r0, r0, lsr #31 - a88c: eb05 0560 add.w r5, r5, r0, asr #1 - a890: b22d sxth r5, r5 - a892: e780 b.n a796 + a86c: b21b sxth r3, r3 + a86e: 1a18 subs r0, r3, r0 + a870: eb00 70d0 add.w r0, r0, r0, lsr #31 + a874: eb05 0560 add.w r5, r5, r0, asr #1 + a878: b22d sxth r5, r5 + a87a: e780 b.n a77e _lv_txt_get_width(&txt[line_start], line_end - line_start, font, dsc->letter_space, dsc->flag); - a894: f9b8 300c ldrsh.w r3, [r8, #12] - a898: 9200 str r2, [sp, #0] - a89a: 9a05 ldr r2, [sp, #20] - a89c: 4601 mov r1, r0 - a89e: 4630 mov r0, r6 - a8a0: 4e0e ldr r6, [pc, #56] ; (a8dc ) - a8a2: 47b0 blx r6 - a8a4: 9a13 ldr r2, [sp, #76] ; 0x4c - a8a6: 8893 ldrh r3, [r2, #4] - a8a8: 3301 adds r3, #1 - a8aa: 8812 ldrh r2, [r2, #0] - a8ac: 1a9b subs r3, r3, r2 + a87c: f9b8 300c ldrsh.w r3, [r8, #12] + a880: 9200 str r2, [sp, #0] + a882: 9a05 ldr r2, [sp, #20] + a884: 4601 mov r1, r0 + a886: 4630 mov r0, r6 + a888: 4e0e ldr r6, [pc, #56] ; (a8c4 ) + a88a: 47b0 blx r6 + a88c: 9a13 ldr r2, [sp, #76] ; 0x4c + a88e: 8893 ldrh r3, [r2, #4] + a890: 3301 adds r3, #1 + a892: 8812 ldrh r2, [r2, #0] + a894: 1a9b subs r3, r3, r2 pos.x += lv_area_get_width(coords) - line_width; - a8ae: b21b sxth r3, r3 - a8b0: 1a18 subs r0, r3, r0 - a8b2: 4405 add r5, r0 - a8b4: b22d sxth r5, r5 - a8b6: e76e b.n a796 + a896: b21b sxth r3, r3 + a898: 1a18 subs r0, r3, r0 + a89a: 4405 add r5, r0 + a89c: b22d sxth r5, r5 + a89e: e76e b.n a77e cmd_state = CMD_STATE_WAIT; - a8b8: 2300 movs r3, #0 - a8ba: 9306 str r3, [sp, #24] - a8bc: f7ff ba0e b.w 9cdc - a8c0: 0000be1d .word 0x0000be1d - a8c4: 00012b37 .word 0x00012b37 - a8c8: 00007751 .word 0x00007751 - a8cc: 00012571 .word 0x00012571 - a8d0: 00013db1 .word 0x00013db1 - a8d4: 20002a50 .word 0x20002a50 - a8d8: 0000a911 .word 0x0000a911 - a8dc: 00013fdd .word 0x00013fdd - -0000a8e0 : + a8a0: 2300 movs r3, #0 + a8a2: 9306 str r3, [sp, #24] + a8a4: f7ff ba0e b.w 9cc4 + a8a8: 0000be05 .word 0x0000be05 + a8ac: 00012b1f .word 0x00012b1f + a8b0: 00007739 .word 0x00007739 + a8b4: 00012559 .word 0x00012559 + a8b8: 00013d99 .word 0x00013d99 + a8bc: 20002a50 .word 0x20002a50 + a8c0: 0000a8f9 .word 0x0000a8f9 + a8c4: 00013fc5 .word 0x00013fc5 + +0000a8c8 : /********************** * GLOBAL FUNCTIONS **********************/ LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc) { - a8e0: b510 push {r4, lr} - a8e2: 4604 mov r4, r0 + a8c8: b510 push {r4, lr} + a8ca: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_line_dsc_t)); - a8e4: 210a movs r1, #10 - a8e6: 4b09 ldr r3, [pc, #36] ; (a90c ) - a8e8: 4798 blx r3 + a8cc: 210a movs r1, #10 + a8ce: 4b09 ldr r3, [pc, #36] ; (a8f4 ) + a8d0: 4798 blx r3 dsc->width = 1; - a8ea: 2301 movs r3, #1 - a8ec: 8063 strh r3, [r4, #2] + a8d2: 2301 movs r3, #1 + a8d4: 8063 strh r3, [r4, #2] dsc->opa = LV_OPA_COVER; - a8ee: 23ff movs r3, #255 ; 0xff - a8f0: 7223 strb r3, [r4, #8] + a8d6: 23ff movs r3, #255 ; 0xff + a8d8: 7223 strb r3, [r4, #8] dsc->color = LV_COLOR_BLACK; - a8f2: 7823 ldrb r3, [r4, #0] - a8f4: f36f 0304 bfc r3, #0, #5 - a8f8: 7023 strb r3, [r4, #0] - a8fa: 8823 ldrh r3, [r4, #0] - a8fc: f36f 134a bfc r3, #5, #6 - a900: 8023 strh r3, [r4, #0] - a902: 0a1b lsrs r3, r3, #8 - a904: f36f 03c7 bfc r3, #3, #5 - a908: 7063 strb r3, [r4, #1] - a90a: bd10 pop {r4, pc} - a90c: 00012b37 .word 0x00012b37 - -0000a910 : + a8da: 7823 ldrb r3, [r4, #0] + a8dc: f36f 0304 bfc r3, #0, #5 + a8e0: 7023 strb r3, [r4, #0] + a8e2: 8823 ldrh r3, [r4, #0] + a8e4: f36f 134a bfc r3, #5, #6 + a8e8: 8023 strh r3, [r4, #0] + a8ea: 0a1b lsrs r3, r3, #8 + a8ec: f36f 03c7 bfc r3, #3, #5 + a8f0: 7063 strb r3, [r4, #1] + a8f2: bd10 pop {r4, pc} + a8f4: 00012b1f .word 0x00012b1f + +0000a8f8 : * @param style pointer to a line's style * @param opa_scale scale down all opacities by the factor */ LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, lv_draw_line_dsc_t * dsc) { - a910: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - a914: b0cb sub sp, #300 ; 0x12c + a8f8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + a8fc: b0cb sub sp, #300 ; 0x12c if(dsc->width == 0) return; - a916: f9b3 5002 ldrsh.w r5, [r3, #2] - a91a: 2d00 cmp r5, #0 - a91c: f000 8418 beq.w b150 + a8fe: f9b3 5002 ldrsh.w r5, [r3, #2] + a902: 2d00 cmp r5, #0 + a904: f000 8418 beq.w b138 if(dsc->opa <= LV_OPA_MIN) return; - a920: 7a1c ldrb r4, [r3, #8] - a922: 2c05 cmp r4, #5 - a924: f240 8414 bls.w b150 + a908: 7a1c ldrb r4, [r3, #8] + a90a: 2c05 cmp r4, #5 + a90c: f240 8414 bls.w b138 if(point1->x == point2->x && point1->y == point2->y) return; - a928: f9b0 6000 ldrsh.w r6, [r0] - a92c: f9b1 7000 ldrsh.w r7, [r1] - a930: 42be cmp r6, r7 - a932: f000 8130 beq.w ab96 - a936: 461c mov r4, r3 - a938: 4696 mov lr, r2 - a93a: 9208 str r2, [sp, #32] - a93c: 9107 str r1, [sp, #28] - a93e: 9006 str r0, [sp, #24] + a910: f9b0 6000 ldrsh.w r6, [r0] + a914: f9b1 7000 ldrsh.w r7, [r1] + a918: 42be cmp r6, r7 + a91a: f000 8130 beq.w ab7e + a91e: 461c mov r4, r3 + a920: 4696 mov lr, r2 + a922: 9208 str r2, [sp, #32] + a924: 9107 str r1, [sp, #28] + a926: 9006 str r0, [sp, #24] lv_area_t clip_line; clip_line.x1 = LV_MATH_MIN(point1->x, point2->x) - dsc->width / 2; - a940: eb05 75d5 add.w r5, r5, r5, lsr #31 - a944: f3c5 054f ubfx r5, r5, #1, #16 - a948: 42be cmp r6, r7 - a94a: bfd4 ite le - a94c: ebc5 0306 rsble r3, r5, r6 - a950: ebc5 0307 rsbgt r3, r5, r7 - a954: f8ad 3120 strh.w r3, [sp, #288] ; 0x120 + a928: eb05 75d5 add.w r5, r5, r5, lsr #31 + a92c: f3c5 054f ubfx r5, r5, #1, #16 + a930: 42be cmp r6, r7 + a932: bfd4 ite le + a934: ebc5 0306 rsble r3, r5, r6 + a938: ebc5 0307 rsbgt r3, r5, r7 + a93c: f8ad 3120 strh.w r3, [sp, #288] ; 0x120 clip_line.x2 = LV_MATH_MAX(point1->x, point2->x) + dsc->width / 2; - a958: 42be cmp r6, r7 - a95a: bfac ite ge - a95c: 19ab addge r3, r5, r6 - a95e: 19eb addlt r3, r5, r7 - a960: f8ad 3124 strh.w r3, [sp, #292] ; 0x124 + a940: 42be cmp r6, r7 + a942: bfac ite ge + a944: 19ab addge r3, r5, r6 + a946: 19eb addlt r3, r5, r7 + a948: f8ad 3124 strh.w r3, [sp, #292] ; 0x124 clip_line.y1 = LV_MATH_MIN(point1->y, point2->y) - dsc->width / 2; - a964: 460f mov r7, r1 - a966: f9b1 2002 ldrsh.w r2, [r1, #2] - a96a: 4606 mov r6, r0 - a96c: f9b0 3002 ldrsh.w r3, [r0, #2] - a970: 429a cmp r2, r3 - a972: bfd4 ite le - a974: ebc5 0102 rsble r1, r5, r2 - a978: ebc5 0103 rsbgt r1, r5, r3 - a97c: f8ad 1122 strh.w r1, [sp, #290] ; 0x122 + a94c: 460f mov r7, r1 + a94e: f9b1 2002 ldrsh.w r2, [r1, #2] + a952: 4606 mov r6, r0 + a954: f9b0 3002 ldrsh.w r3, [r0, #2] + a958: 429a cmp r2, r3 + a95a: bfd4 ite le + a95c: ebc5 0102 rsble r1, r5, r2 + a960: ebc5 0103 rsbgt r1, r5, r3 + a964: f8ad 1122 strh.w r1, [sp, #290] ; 0x122 clip_line.y2 = LV_MATH_MAX(point1->y, point2->y) + dsc->width / 2; - a980: 429a cmp r2, r3 - a982: bfac ite ge - a984: 18ad addge r5, r5, r2 - a986: 18ed addlt r5, r5, r3 - a988: f8ad 5126 strh.w r5, [sp, #294] ; 0x126 + a968: 429a cmp r2, r3 + a96a: bfac ite ge + a96c: 18ad addge r5, r5, r2 + a96e: 18ed addlt r5, r5, r3 + a970: f8ad 5126 strh.w r5, [sp, #294] ; 0x126 bool is_common; is_common = _lv_area_intersect(&clip_line, &clip_line, clip); - a98c: 4672 mov r2, lr - a98e: a948 add r1, sp, #288 ; 0x120 - a990: 4608 mov r0, r1 - a992: 4bab ldr r3, [pc, #684] ; (ac40 ) - a994: 4798 blx r3 + a974: 4672 mov r2, lr + a976: a948 add r1, sp, #288 ; 0x120 + a978: 4608 mov r0, r1 + a97a: 4bab ldr r3, [pc, #684] ; (ac28 ) + a97c: 4798 blx r3 if(!is_common) return; - a996: 2800 cmp r0, #0 - a998: f000 83da beq.w b150 + a97e: 2800 cmp r0, #0 + a980: f000 83da beq.w b138 if(point1->y == point2->y) draw_line_hor(point1, point2, &clip_line, dsc); - a99c: f9b6 6002 ldrsh.w r6, [r6, #2] - a9a0: f9b7 5002 ldrsh.w r5, [r7, #2] - a9a4: 42ae cmp r6, r5 - a9a6: f000 80fe beq.w aba6 + a984: f9b6 6002 ldrsh.w r6, [r6, #2] + a988: f9b7 5002 ldrsh.w r5, [r7, #2] + a98c: 42ae cmp r6, r5 + a98e: f000 80fe beq.w ab8e else if(point1->x == point2->x) draw_line_ver(point1, point2, &clip_line, dsc); - a9aa: 9b06 ldr r3, [sp, #24] - a9ac: f9b3 3000 ldrsh.w r3, [r3] - a9b0: 461a mov r2, r3 - a9b2: 9305 str r3, [sp, #20] - a9b4: 9b07 ldr r3, [sp, #28] - a9b6: f9b3 a000 ldrsh.w sl, [r3] - a9ba: 4552 cmp r2, sl - a9bc: f000 8201 beq.w adc2 + a992: 9b06 ldr r3, [sp, #24] + a994: f9b3 3000 ldrsh.w r3, [r3] + a998: 461a mov r2, r3 + a99a: 9305 str r3, [sp, #20] + a99c: 9b07 ldr r3, [sp, #28] + a99e: f9b3 a000 ldrsh.w sl, [r3] + a9a2: 4552 cmp r2, sl + a9a4: f000 8201 beq.w adaa lv_draw_line_dsc_t * dsc) { /*Keep the great y in p1*/ lv_point_t p1; lv_point_t p2; if(point1->y < point2->y) { - a9c0: 42ae cmp r6, r5 - a9c2: db06 blt.n a9d2 - a9c4: 4633 mov r3, r6 + a9a8: 42ae cmp r6, r5 + a9aa: db06 blt.n a9ba + a9ac: 4633 mov r3, r6 p2.y = point2->y; p1.x = point1->x; p2.x = point2->x; } else { p1.y = point2->y; - a9c6: 462e mov r6, r5 + a9ae: 462e mov r6, r5 p2.y = point1->y; - a9c8: 461d mov r5, r3 + a9b0: 461d mov r5, r3 if(point1->y < point2->y) { - a9ca: 9b05 ldr r3, [sp, #20] + a9b2: 9b05 ldr r3, [sp, #20] p1.x = point2->x; - a9cc: f8cd a014 str.w sl, [sp, #20] + a9b4: f8cd a014 str.w sl, [sp, #20] p2.x = point1->x; - a9d0: 469a mov sl, r3 + a9b8: 469a mov sl, r3 } int32_t xdiff = p2.x - p1.x; - a9d2: 9b05 ldr r3, [sp, #20] - a9d4: ebaa 0303 sub.w r3, sl, r3 - a9d8: 9309 str r3, [sp, #36] ; 0x24 + a9ba: 9b05 ldr r3, [sp, #20] + a9bc: ebaa 0303 sub.w r3, sl, r3 + a9c0: 9309 str r3, [sp, #36] ; 0x24 int32_t ydiff = p2.y - p1.y; - a9da: 1baa subs r2, r5, r6 - a9dc: 920a str r2, [sp, #40] ; 0x28 + a9c2: 1baa subs r2, r5, r6 + a9c4: 920a str r2, [sp, #40] ; 0x28 bool flat = LV_MATH_ABS(xdiff) > LV_MATH_ABS(ydiff) ? true : false; - a9de: 2b00 cmp r3, #0 - a9e0: bfb8 it lt - a9e2: 425b neglt r3, r3 - a9e4: 469b mov fp, r3 - a9e6: 2a00 cmp r2, #0 - a9e8: bfb8 it lt - a9ea: 4252 neglt r2, r2 - a9ec: 4690 mov r8, r2 + a9c6: 2b00 cmp r3, #0 + a9c8: bfb8 it lt + a9ca: 425b neglt r3, r3 + a9cc: 469b mov fp, r3 + a9ce: 2a00 cmp r2, #0 + a9d0: bfb8 it lt + a9d2: 4252 neglt r2, r2 + a9d4: 4690 mov r8, r2 143, 145, 147, 149, 151, 153, 155, 158, 160, 162, 165, 167, 170, 173, 175, 178, 181, }; int32_t w = dsc->width; - a9ee: f9b4 9002 ldrsh.w r9, [r4, #2] + a9d6: f9b4 9002 ldrsh.w r9, [r4, #2] int32_t wcorr_i = 0; if(flat) wcorr_i = (LV_MATH_ABS(ydiff) << 5) / LV_MATH_ABS(xdiff); - a9f2: 4293 cmp r3, r2 - a9f4: bfc7 ittee gt - a9f6: 0153 lslgt r3, r2, #5 - a9f8: fb93 f3fb sdivgt r3, r3, fp + a9da: 4293 cmp r3, r2 + a9dc: bfc7 ittee gt + a9de: 0153 lslgt r3, r2, #5 + a9e0: fb93 f3fb sdivgt r3, r3, fp else wcorr_i = (LV_MATH_ABS(xdiff) << 5) / LV_MATH_ABS(ydiff); - a9fc: ea4f 134b movle.w r3, fp, lsl #5 - aa00: fb93 f3f2 sdivle r3, r3, r2 + a9e4: ea4f 134b movle.w r3, fp, lsl #5 + a9e8: fb93 f3f2 sdivle r3, r3, r2 w = (w * wcorr[wcorr_i] + 63) >> 7; /*+ 63 for rounding*/ - aa04: 4a8f ldr r2, [pc, #572] ; (ac44 ) - aa06: 5cd3 ldrb r3, [r2, r3] - aa08: fb09 f903 mul.w r9, r9, r3 - aa0c: f109 093f add.w r9, r9, #63 ; 0x3f - aa10: ea4f 13e9 mov.w r3, r9, asr #7 - aa14: 461f mov r7, r3 + a9ec: 4a8f ldr r2, [pc, #572] ; (ac2c ) + a9ee: 5cd3 ldrb r3, [r2, r3] + a9f0: fb09 f903 mul.w r9, r9, r3 + a9f4: f109 093f add.w r9, r9, #63 ; 0x3f + a9f8: ea4f 13e9 mov.w r3, r9, asr #7 + a9fc: 461f mov r7, r3 int32_t w_half0 = w >> 1; int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ lv_area_t draw_area; draw_area.x1 = LV_MATH_MIN(p1.x, p2.x) - w; - aa16: b29b uxth r3, r3 - aa18: 9805 ldr r0, [sp, #20] - aa1a: 4582 cmp sl, r0 - aa1c: bfd4 ite le - aa1e: ebc3 020a rsble r2, r3, sl - aa22: ebc3 0200 rsbgt r2, r3, r0 - aa26: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 + a9fe: b29b uxth r3, r3 + aa00: 9805 ldr r0, [sp, #20] + aa02: 4582 cmp sl, r0 + aa04: bfd4 ite le + aa06: ebc3 020a rsble r2, r3, sl + aa0a: ebc3 0200 rsbgt r2, r3, r0 + aa0e: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 draw_area.x2 = LV_MATH_MAX(p1.x, p2.x) + w; - aa2a: 4582 cmp sl, r0 - aa2c: bfac ite ge - aa2e: eb03 020a addge.w r2, r3, sl - aa32: 181a addlt r2, r3, r0 - aa34: f8ad 203c strh.w r2, [sp, #60] ; 0x3c + aa12: 4582 cmp sl, r0 + aa14: bfac ite ge + aa16: eb03 020a addge.w r2, r3, sl + aa1a: 181a addlt r2, r3, r0 + aa1c: f8ad 203c strh.w r2, [sp, #60] ; 0x3c draw_area.y1 = LV_MATH_MIN(p1.y, p2.y) - w; - aa38: 42b5 cmp r5, r6 - aa3a: bfd4 ite le - aa3c: ebc3 0205 rsble r2, r3, r5 - aa40: ebc3 0206 rsbgt r2, r3, r6 - aa44: f8ad 203a strh.w r2, [sp, #58] ; 0x3a + aa20: 42b5 cmp r5, r6 + aa22: bfd4 ite le + aa24: ebc3 0205 rsble r2, r3, r5 + aa28: ebc3 0206 rsbgt r2, r3, r6 + aa2c: f8ad 203a strh.w r2, [sp, #58] ; 0x3a draw_area.y2 = LV_MATH_MAX(p1.y, p2.y) + w; - aa48: 42b5 cmp r5, r6 - aa4a: bfac ite ge - aa4c: 195b addge r3, r3, r5 - aa4e: 199b addlt r3, r3, r6 - aa50: f8ad 303e strh.w r3, [sp, #62] ; 0x3e + aa30: 42b5 cmp r5, r6 + aa32: bfac ite ge + aa34: 195b addge r3, r3, r5 + aa36: 199b addlt r3, r3, r6 + aa38: f8ad 303e strh.w r3, [sp, #62] ; 0x3e /* Get the union of `coords` and `clip`*/ /* `clip` is already truncated to the `vdb` size * in 'lv_refr_area' function */ bool is_common = _lv_area_intersect(&draw_area, &draw_area, clip); - aa54: aa48 add r2, sp, #288 ; 0x120 - aa56: a90e add r1, sp, #56 ; 0x38 - aa58: 4608 mov r0, r1 - aa5a: 4b79 ldr r3, [pc, #484] ; (ac40 ) - aa5c: 4798 blx r3 + aa3c: aa48 add r2, sp, #288 ; 0x120 + aa3e: a90e add r1, sp, #56 ; 0x38 + aa40: 4608 mov r0, r1 + aa42: 4b79 ldr r3, [pc, #484] ; (ac28 ) + aa44: 4798 blx r3 if(is_common == false) return; - aa5e: 2800 cmp r0, #0 - aa60: f000 8372 beq.w b148 + aa46: 2800 cmp r0, #0 + aa48: f000 8372 beq.w b130 int32_t w_half0 = w >> 1; - aa64: ea4f 2929 mov.w r9, r9, asr #8 + aa4c: ea4f 2929 mov.w r9, r9, asr #8 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - aa68: f007 0301 and.w r3, r7, #1 - aa6c: 444b add r3, r9 - aa6e: 930b str r3, [sp, #44] ; 0x2c + aa50: f007 0301 and.w r3, r7, #1 + aa54: 444b add r3, r9 + aa56: 930b str r3, [sp, #44] ; 0x2c lv_draw_mask_line_param_t mask_left_param; lv_draw_mask_line_param_t mask_right_param; lv_draw_mask_line_param_t mask_top_param; lv_draw_mask_line_param_t mask_bottom_param; if(flat) { - aa70: 45c3 cmp fp, r8 - aa72: f340 82b6 ble.w afe2 + aa58: 45c3 cmp fp, r8 + aa5a: f340 82b6 ble.w afca if(xdiff > 0) { - aa76: 9a09 ldr r2, [sp, #36] ; 0x24 - aa78: 2a00 cmp r2, #0 - aa7a: f340 828e ble.w af9a + aa5e: 9a09 ldr r2, [sp, #36] ; 0x24 + aa60: 2a00 cmp r2, #0 + aa62: f340 828e ble.w af82 lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0, - aa7e: fa1f fb86 uxth.w fp, r6 - aa82: fa1f f389 uxth.w r3, r9 - aa86: fa1f f985 uxth.w r9, r5 - aa8a: ebab 0203 sub.w r2, fp, r3 - aa8e: 2100 movs r1, #0 - aa90: 9101 str r1, [sp, #4] - aa92: eba9 0303 sub.w r3, r9, r3 - aa96: b21b sxth r3, r3 - aa98: 9300 str r3, [sp, #0] - aa9a: 4653 mov r3, sl - aa9c: b212 sxth r2, r2 - aa9e: 9905 ldr r1, [sp, #20] - aaa0: a812 add r0, sp, #72 ; 0x48 - aaa2: 4f69 ldr r7, [pc, #420] ; (ac48 ) - aaa4: 47b8 blx r7 + aa66: fa1f fb86 uxth.w fp, r6 + aa6a: fa1f f389 uxth.w r3, r9 + aa6e: fa1f f985 uxth.w r9, r5 + aa72: ebab 0203 sub.w r2, fp, r3 + aa76: 2100 movs r1, #0 + aa78: 9101 str r1, [sp, #4] + aa7a: eba9 0303 sub.w r3, r9, r3 + aa7e: b21b sxth r3, r3 + aa80: 9300 str r3, [sp, #0] + aa82: 4653 mov r3, sl + aa84: b212 sxth r2, r2 + aa86: 9905 ldr r1, [sp, #20] + aa88: a812 add r0, sp, #72 ; 0x48 + aa8a: 4f69 ldr r7, [pc, #420] ; (ac30 ) + aa8c: 47b8 blx r7 LV_DRAW_MASK_LINE_SIDE_LEFT); lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1, - aaa6: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c - aaaa: eb0b 0208 add.w r2, fp, r8 - aaae: 2301 movs r3, #1 - aab0: 9301 str r3, [sp, #4] - aab2: 44c1 add r9, r8 - aab4: fa0f f389 sxth.w r3, r9 - aab8: 9300 str r3, [sp, #0] - aaba: 4653 mov r3, sl - aabc: b212 sxth r2, r2 - aabe: 9905 ldr r1, [sp, #20] - aac0: a81d add r0, sp, #116 ; 0x74 - aac2: 47b8 blx r7 + aa8e: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c + aa92: eb0b 0208 add.w r2, fp, r8 + aa96: 2301 movs r3, #1 + aa98: 9301 str r3, [sp, #4] + aa9a: 44c1 add r9, r8 + aa9c: fa0f f389 sxth.w r3, r9 + aaa0: 9300 str r3, [sp, #0] + aaa2: 4653 mov r3, sl + aaa4: b212 sxth r2, r2 + aaa6: 9905 ldr r1, [sp, #20] + aaa8: a81d add r0, sp, #116 ; 0x74 + aaaa: 47b8 blx r7 LV_DRAW_MASK_LINE_SIDE_RIGHT); } /*Use the normal vector for the endings*/ int16_t mask_left_id = lv_draw_mask_add(&mask_left_param, NULL); - aac4: 2100 movs r1, #0 - aac6: a812 add r0, sp, #72 ; 0x48 - aac8: f8df 819c ldr.w r8, [pc, #412] ; ac68 - aacc: 47c0 blx r8 - aace: 900b str r0, [sp, #44] ; 0x2c + aaac: 2100 movs r1, #0 + aaae: a812 add r0, sp, #72 ; 0x48 + aab0: f8df 819c ldr.w r8, [pc, #412] ; ac50 + aab4: 47c0 blx r8 + aab6: 900b str r0, [sp, #44] ; 0x2c int16_t mask_right_id = lv_draw_mask_add(&mask_right_param, NULL); - aad0: 2100 movs r1, #0 - aad2: a81d add r0, sp, #116 ; 0x74 - aad4: 47c0 blx r8 - aad6: 900c str r0, [sp, #48] ; 0x30 + aab8: 2100 movs r1, #0 + aaba: a81d add r0, sp, #116 ; 0x74 + aabc: 47c0 blx r8 + aabe: 900c str r0, [sp, #48] ; 0x30 int16_t mask_top_id = LV_MASK_ID_INV; int16_t mask_bottom_id = LV_MASK_ID_INV; if(!dsc->raw_end) { - aad8: 7a63 ldrb r3, [r4, #9] - aada: f013 0f10 tst.w r3, #16 - aade: f000 82a4 beq.w b02a + aac0: 7a63 ldrb r3, [r4, #9] + aac2: f013 0f10 tst.w r3, #16 + aac6: f000 82a4 beq.w b012 int16_t mask_bottom_id = LV_MASK_ID_INV; - aae2: f04f 33ff mov.w r3, #4294967295 - aae6: 930d str r3, [sp, #52] ; 0x34 + aaca: f04f 33ff mov.w r3, #4294967295 + aace: 930d str r3, [sp, #52] ; 0x34 int16_t mask_top_id = LV_MASK_ID_INV; - aae8: 930a str r3, [sp, #40] ; 0x28 + aad0: 930a str r3, [sp, #40] ; 0x28 lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP); mask_top_id = lv_draw_mask_add(&mask_top_param, NULL); mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL); } lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - aaea: 4b58 ldr r3, [pc, #352] ; (ac4c ) - aaec: 4798 blx r3 + aad2: 4b58 ldr r3, [pc, #352] ; (ac34 ) + aad4: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - aaee: 4b58 ldr r3, [pc, #352] ; (ac50 ) - aaf0: 4798 blx r3 - aaf2: 4682 mov sl, r0 + aad6: 4b58 ldr r3, [pc, #352] ; (ac38 ) + aad8: 4798 blx r3 + aada: 4682 mov sl, r0 const lv_area_t * disp_area = &vdb->area; /*Store the coordinates of the `draw_a` relative to the VDB */ draw_area.x1 -= disp_area->x1; - aaf4: 8a06 ldrh r6, [r0, #16] - aaf6: f8bd 5038 ldrh.w r5, [sp, #56] ; 0x38 - aafa: 1bad subs r5, r5, r6 - aafc: b2aa uxth r2, r5 - aafe: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 + aadc: 8a06 ldrh r6, [r0, #16] + aade: f8bd 5038 ldrh.w r5, [sp, #56] ; 0x38 + aae2: 1bad subs r5, r5, r6 + aae4: b2aa uxth r2, r5 + aae6: f8ad 2038 strh.w r2, [sp, #56] ; 0x38 draw_area.y1 -= disp_area->y1; - ab02: 8a40 ldrh r0, [r0, #18] - ab04: f8bd 103a ldrh.w r1, [sp, #58] ; 0x3a - ab08: 1a09 subs r1, r1, r0 - ab0a: f8ad 103a strh.w r1, [sp, #58] ; 0x3a + aaea: 8a40 ldrh r0, [r0, #18] + aaec: f8bd 103a ldrh.w r1, [sp, #58] ; 0x3a + aaf0: 1a09 subs r1, r1, r0 + aaf2: f8ad 103a strh.w r1, [sp, #58] ; 0x3a draw_area.x2 -= disp_area->x1; - ab0e: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c - ab12: 1b9b subs r3, r3, r6 - ab14: b29b uxth r3, r3 - ab16: f8ad 303c strh.w r3, [sp, #60] ; 0x3c + aaf6: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c + aafa: 1b9b subs r3, r3, r6 + aafc: b29b uxth r3, r3 + aafe: f8ad 303c strh.w r3, [sp, #60] ; 0x3c draw_area.y2 -= disp_area->y1; - ab1a: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e - ab1e: 1a09 subs r1, r1, r0 - ab20: f8ad 103e strh.w r1, [sp, #62] ; 0x3e - ab24: 1c5d adds r5, r3, #1 - ab26: 1aad subs r5, r5, r2 - ab28: b22d sxth r5, r5 + ab02: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e + ab06: 1a09 subs r1, r1, r0 + ab08: f8ad 103e strh.w r1, [sp, #62] ; 0x3e + ab0c: 1c5d adds r5, r3, #1 + ab0e: 1aad subs r5, r5, r2 + ab10: b22d sxth r5, r5 * So deal with it only with steep lines. */ int32_t draw_area_w = lv_area_get_width(&draw_area); /*Draw the background line by line*/ int32_t h; size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX); - ab2a: a80e add r0, sp, #56 ; 0x38 - ab2c: 4b49 ldr r3, [pc, #292] ; (ac54 ) - ab2e: 4798 blx r3 - ab30: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 - ab34: f0c0 82a2 bcc.w b07c - ab38: f44f 7bf0 mov.w fp, #480 ; 0x1e0 + ab12: a80e add r0, sp, #56 ; 0x38 + ab14: 4b49 ldr r3, [pc, #292] ; (ac3c ) + ab16: 4798 blx r3 + ab18: f5b0 7ff0 cmp.w r0, #480 ; 0x1e0 + ab1c: f0c0 82a2 bcc.w b064 + ab20: f44f 7bf0 mov.w fp, #480 ; 0x1e0 lv_opa_t * mask_buf = _lv_mem_buf_get(mask_buf_size); - ab3c: 4658 mov r0, fp - ab3e: 4b46 ldr r3, [pc, #280] ; (ac58 ) - ab40: 4798 blx r3 - ab42: 4681 mov r9, r0 + ab24: 4658 mov r0, fp + ab26: 4b46 ldr r3, [pc, #280] ; (ac40 ) + ab28: 4798 blx r3 + ab2a: 4681 mov r9, r0 lv_area_t fill_area; fill_area.x1 = draw_area.x1 + disp_area->x1; - ab44: f8ba 3010 ldrh.w r3, [sl, #16] - ab48: f8bd 2038 ldrh.w r2, [sp, #56] ; 0x38 - ab4c: 441a add r2, r3 - ab4e: b212 sxth r2, r2 - ab50: 9205 str r2, [sp, #20] - ab52: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 + ab2c: f8ba 3010 ldrh.w r3, [sl, #16] + ab30: f8bd 2038 ldrh.w r2, [sp, #56] ; 0x38 + ab34: 441a add r2, r3 + ab36: b212 sxth r2, r2 + ab38: 9205 str r2, [sp, #20] + ab3a: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 fill_area.x2 = draw_area.x2 + disp_area->x1; - ab56: f8bd 203c ldrh.w r2, [sp, #60] ; 0x3c - ab5a: 4413 add r3, r2 - ab5c: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + ab3e: f8bd 203c ldrh.w r2, [sp, #60] ; 0x3c + ab42: 4413 add r3, r2 + ab44: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 fill_area.y1 = draw_area.y1 + disp_area->y1; - ab60: f8bd 303a ldrh.w r3, [sp, #58] ; 0x3a - ab64: f8ba 2012 ldrh.w r2, [sl, #18] - ab68: 4413 add r3, r2 - ab6a: b21b sxth r3, r3 - ab6c: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + ab48: f8bd 303a ldrh.w r3, [sp, #58] ; 0x3a + ab4c: f8ba 2012 ldrh.w r2, [sl, #18] + ab50: 4413 add r3, r2 + ab52: b21b sxth r3, r3 + ab54: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 fill_area.y2 = fill_area.y1; - ab70: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + ab58: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 int32_t x = vdb->area.x1 + draw_area.x1; uint32_t mask_p = 0; _lv_memset_ff(mask_buf, mask_buf_size); - ab74: 4659 mov r1, fp - ab76: 4b39 ldr r3, [pc, #228] ; (ac5c ) - ab78: 4798 blx r3 + ab5c: 4659 mov r1, fp + ab5e: 4b39 ldr r3, [pc, #228] ; (ac44 ) + ab60: 4798 blx r3 /*Fill the first row with 'color'*/ for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) { - ab7a: f9ba 2012 ldrsh.w r2, [sl, #18] - ab7e: f9bd 603a ldrsh.w r6, [sp, #58] ; 0x3a - ab82: 4416 add r6, r2 - ab84: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - ab88: 4413 add r3, r2 - ab8a: 429e cmp r6, r3 - ab8c: f300 82b9 bgt.w b102 - ab90: 2700 movs r7, #0 + ab62: f9ba 2012 ldrsh.w r2, [sl, #18] + ab66: f9bd 603a ldrsh.w r6, [sp, #58] ; 0x3a + ab6a: 4416 add r6, r2 + ab6c: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + ab70: 4413 add r3, r2 + ab72: 429e cmp r6, r3 + ab74: f300 82b9 bgt.w b0ea + ab78: 2700 movs r7, #0 mask_p += draw_area_w; if((uint32_t) mask_p + draw_area_w < mask_buf_size) { fill_area.y2 ++; } else { _lv_blend_fill(&fill_area, clip, - ab92: 9409 str r4, [sp, #36] ; 0x24 - ab94: e2a0 b.n b0d8 + ab7a: 9409 str r4, [sp, #36] ; 0x24 + ab7c: e2a0 b.n b0c0 if(point1->x == point2->x && point1->y == point2->y) return; - ab96: f9b0 e002 ldrsh.w lr, [r0, #2] - ab9a: f9b1 4002 ldrsh.w r4, [r1, #2] - ab9e: 45a6 cmp lr, r4 - aba0: f47f aec9 bne.w a936 - aba4: e2d4 b.n b150 + ab7e: f9b0 e002 ldrsh.w lr, [r0, #2] + ab82: f9b1 4002 ldrsh.w r4, [r1, #2] + ab86: 45a6 cmp lr, r4 + ab88: f47f aec9 bne.w a91e + ab8c: e2d4 b.n b138 lv_opa_t opa = dsc->opa; - aba6: f894 9008 ldrb.w r9, [r4, #8] + ab8e: f894 9008 ldrb.w r9, [r4, #8] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - abaa: 4b28 ldr r3, [pc, #160] ; (ac4c ) - abac: 4798 blx r3 + ab92: 4b28 ldr r3, [pc, #160] ; (ac34 ) + ab94: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - abae: 4b28 ldr r3, [pc, #160] ; (ac50 ) - abb0: 4798 blx r3 - abb2: 4607 mov r7, r0 + ab96: 4b28 ldr r3, [pc, #160] ; (ac38 ) + ab98: 4798 blx r3 + ab9a: 4607 mov r7, r0 int32_t w = dsc->width - 1; - abb4: f9b4 3002 ldrsh.w r3, [r4, #2] - abb8: 3b01 subs r3, #1 + ab9c: f9b4 3002 ldrsh.w r3, [r4, #2] + aba0: 3b01 subs r3, #1 int32_t w_half0 = w >> 1; - abba: 105e asrs r6, r3, #1 + aba2: 105e asrs r6, r3, #1 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - abbc: f003 0301 and.w r3, r3, #1 - abc0: 199d adds r5, r3, r6 + aba4: f003 0301 and.w r3, r3, #1 + aba8: 199d adds r5, r3, r6 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - abc2: f9b4 3006 ldrsh.w r3, [r4, #6] - abc6: 2b00 cmp r3, #0 - abc8: d035 beq.n ac36 - abca: f9b4 8004 ldrsh.w r8, [r4, #4] - abce: f118 0800 adds.w r8, r8, #0 - abd2: bf18 it ne - abd4: f04f 0801 movne.w r8, #1 + abaa: f9b4 3006 ldrsh.w r3, [r4, #6] + abae: 2b00 cmp r3, #0 + abb0: d035 beq.n ac1e + abb2: f9b4 8004 ldrsh.w r8, [r4, #4] + abb6: f118 0800 adds.w r8, r8, #0 + abba: bf18 it ne + abbc: f04f 0801 movne.w r8, #1 if(lv_draw_mask_get_cnt()) simple_mode = false; - abd8: 4b21 ldr r3, [pc, #132] ; (ac60 ) - abda: 4798 blx r3 - abdc: bb70 cbnz r0, ac3c + abc0: 4b21 ldr r3, [pc, #132] ; (ac48 ) + abc2: 4798 blx r3 + abc4: bb70 cbnz r0, ac24 else if(dashed) simple_mode = false; - abde: f088 0201 eor.w r2, r8, #1 + abc6: f088 0201 eor.w r2, r8, #1 draw_area.x1 = LV_MATH_MIN(point1->x, point2->x); - abe2: 9b07 ldr r3, [sp, #28] - abe4: f9b3 3000 ldrsh.w r3, [r3] - abe8: 9906 ldr r1, [sp, #24] - abea: f9b1 1000 ldrsh.w r1, [r1] - abee: 4618 mov r0, r3 - abf0: 428b cmp r3, r1 - abf2: bfa8 it ge - abf4: 4608 movge r0, r1 - abf6: f8ad 00a0 strh.w r0, [sp, #160] ; 0xa0 + abca: 9b07 ldr r3, [sp, #28] + abcc: f9b3 3000 ldrsh.w r3, [r3] + abd0: 9906 ldr r1, [sp, #24] + abd2: f9b1 1000 ldrsh.w r1, [r1] + abd6: 4618 mov r0, r3 + abd8: 428b cmp r3, r1 + abda: bfa8 it ge + abdc: 4608 movge r0, r1 + abde: f8ad 00a0 strh.w r0, [sp, #160] ; 0xa0 draw_area.x2 = LV_MATH_MAX(point1->x, point2->x) - 1; - abfa: 428b cmp r3, r1 - abfc: bfb8 it lt - abfe: 460b movlt r3, r1 - ac00: 3b01 subs r3, #1 - ac02: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + abe2: 428b cmp r3, r1 + abe4: bfb8 it lt + abe6: 460b movlt r3, r1 + abe8: 3b01 subs r3, #1 + abea: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 draw_area.y1 = point1->y - w_half1; - ac06: 9906 ldr r1, [sp, #24] - ac08: 884b ldrh r3, [r1, #2] - ac0a: 1b5d subs r5, r3, r5 - ac0c: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 + abee: 9906 ldr r1, [sp, #24] + abf0: 884b ldrh r3, [r1, #2] + abf2: 1b5d subs r5, r3, r5 + abf4: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 draw_area.y2 = point1->y + w_half0; - ac10: 4433 add r3, r6 - ac12: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + abf8: 4433 add r3, r6 + abfa: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 if(simple_mode) { - ac16: b34a cbz r2, ac6c + abfe: b34a cbz r2, ac54 dsc->blend_mode); - ac18: 7a63 ldrb r3, [r4, #9] + ac00: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(clip, &draw_area, - ac1a: f003 0303 and.w r3, r3, #3 - ac1e: 9302 str r3, [sp, #8] - ac20: f8cd 9004 str.w r9, [sp, #4] - ac24: 2301 movs r3, #1 - ac26: 9300 str r3, [sp, #0] - ac28: 2300 movs r3, #0 - ac2a: 8822 ldrh r2, [r4, #0] - ac2c: a928 add r1, sp, #160 ; 0xa0 - ac2e: a848 add r0, sp, #288 ; 0x120 - ac30: 4d0c ldr r5, [pc, #48] ; (ac64 ) - ac32: 47a8 blx r5 - ac34: e288 b.n b148 + ac02: f003 0303 and.w r3, r3, #3 + ac06: 9302 str r3, [sp, #8] + ac08: f8cd 9004 str.w r9, [sp, #4] + ac0c: 2301 movs r3, #1 + ac0e: 9300 str r3, [sp, #0] + ac10: 2300 movs r3, #0 + ac12: 8822 ldrh r2, [r4, #0] + ac14: a928 add r1, sp, #160 ; 0xa0 + ac16: a848 add r0, sp, #288 ; 0x120 + ac18: 4d0c ldr r5, [pc, #48] ; (ac4c ) + ac1a: 47a8 blx r5 + ac1c: e288 b.n b130 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - ac36: f04f 0800 mov.w r8, #0 - ac3a: e7cd b.n abd8 + ac1e: f04f 0800 mov.w r8, #0 + ac22: e7cd b.n abc0 if(lv_draw_mask_get_cnt()) simple_mode = false; - ac3c: 2200 movs r2, #0 - ac3e: e7d0 b.n abe2 - ac40: 00011519 .word 0x00011519 - ac44: 00024fa4 .word 0x00024fa4 - ac48: 0000bee9 .word 0x0000bee9 - ac4c: 00005f69 .word 0x00005f69 - ac50: 00010fdd .word 0x00010fdd - ac54: 000114fd .word 0x000114fd - ac58: 0001293d .word 0x0001293d - ac5c: 00012bed .word 0x00012bed - ac60: 0000bec5 .word 0x0000bec5 - ac64: 00007751 .word 0x00007751 - ac68: 0000bdc1 .word 0x0000bdc1 + ac24: 2200 movs r2, #0 + ac26: e7d0 b.n abca + ac28: 00011501 .word 0x00011501 + ac2c: 00024f8c .word 0x00024f8c + ac30: 0000bed1 .word 0x0000bed1 + ac34: 00005f51 .word 0x00005f51 + ac38: 00010fc5 .word 0x00010fc5 + ac3c: 000114e5 .word 0x000114e5 + ac40: 00012925 .word 0x00012925 + ac44: 00012bd5 .word 0x00012bd5 + ac48: 0000bead .word 0x0000bead + ac4c: 00007739 .word 0x00007739 + ac50: 0000bda9 .word 0x0000bda9 is_common = _lv_area_intersect(&draw_area, clip, &draw_area); - ac6c: aa28 add r2, sp, #160 ; 0xa0 - ac6e: a948 add r1, sp, #288 ; 0x120 - ac70: 4610 mov r0, r2 - ac72: 4ba1 ldr r3, [pc, #644] ; (aef8 ) - ac74: 4798 blx r3 + ac54: aa28 add r2, sp, #160 ; 0xa0 + ac56: a948 add r1, sp, #288 ; 0x120 + ac58: 4610 mov r0, r2 + ac5a: 4ba1 ldr r3, [pc, #644] ; (aee0 ) + ac5c: 4798 blx r3 if(!is_common) return; - ac76: 2800 cmp r0, #0 - ac78: f000 8266 beq.w b148 + ac5e: 2800 cmp r0, #0 + ac60: f000 8266 beq.w b130 draw_area.x1 -= disp_area->x1; - ac7c: f9bd e0a0 ldrsh.w lr, [sp, #160] ; 0xa0 - ac80: f9b7 1010 ldrsh.w r1, [r7, #16] - ac84: b28b uxth r3, r1 - ac86: ebae 0203 sub.w r2, lr, r3 - ac8a: b292 uxth r2, r2 - ac8c: fa0f fc82 sxth.w ip, r2 - ac90: f8ad c0a0 strh.w ip, [sp, #160] ; 0xa0 + ac64: f9bd e0a0 ldrsh.w lr, [sp, #160] ; 0xa0 + ac68: f9b7 1010 ldrsh.w r1, [r7, #16] + ac6c: b28b uxth r3, r1 + ac6e: ebae 0203 sub.w r2, lr, r3 + ac72: b292 uxth r2, r2 + ac74: fa0f fc82 sxth.w ip, r2 + ac78: f8ad c0a0 strh.w ip, [sp, #160] ; 0xa0 draw_area.y1 -= disp_area->y1; - ac94: f9bd 00a2 ldrsh.w r0, [sp, #162] ; 0xa2 - ac98: f8b7 9012 ldrh.w r9, [r7, #18] - ac9c: eba0 0509 sub.w r5, r0, r9 - aca0: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 + ac7c: f9bd 00a2 ldrsh.w r0, [sp, #162] ; 0xa2 + ac80: f8b7 9012 ldrh.w r9, [r7, #18] + ac84: eba0 0509 sub.w r5, r0, r9 + ac88: f8ad 50a2 strh.w r5, [sp, #162] ; 0xa2 draw_area.x2 -= disp_area->x1; - aca4: f9bd 60a4 ldrsh.w r6, [sp, #164] ; 0xa4 - aca8: 1af3 subs r3, r6, r3 - acaa: b29b uxth r3, r3 - acac: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + ac8c: f9bd 60a4 ldrsh.w r6, [sp, #164] ; 0xa4 + ac90: 1af3 subs r3, r6, r3 + ac92: b29b uxth r3, r3 + ac94: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 draw_area.y2 -= disp_area->y1; - acb0: f8bd 50a6 ldrh.w r5, [sp, #166] ; 0xa6 - acb4: eba5 0509 sub.w r5, r5, r9 - acb8: f8ad 50a6 strh.w r5, [sp, #166] ; 0xa6 - acbc: 3301 adds r3, #1 - acbe: 1a9a subs r2, r3, r2 - acc0: b215 sxth r5, r2 + ac98: f8bd 50a6 ldrh.w r5, [sp, #166] ; 0xa6 + ac9c: eba5 0509 sub.w r5, r5, r9 + aca0: f8ad 50a6 strh.w r5, [sp, #166] ; 0xa6 + aca4: 3301 adds r3, #1 + aca6: 1a9a subs r2, r3, r2 + aca8: b215 sxth r5, r2 fill_area.x1 = draw_area.x1 + disp_area->x1; - acc2: f8ad e0cc strh.w lr, [sp, #204] ; 0xcc + acaa: f8ad e0cc strh.w lr, [sp, #204] ; 0xcc fill_area.x2 = draw_area.x2 + disp_area->x1; - acc6: f8ad 60d0 strh.w r6, [sp, #208] ; 0xd0 + acae: f8ad 60d0 strh.w r6, [sp, #208] ; 0xd0 fill_area.y1 = draw_area.y1 + disp_area->y1; - acca: f8ad 00ce strh.w r0, [sp, #206] ; 0xce + acb2: f8ad 00ce strh.w r0, [sp, #206] ; 0xce fill_area.y2 = fill_area.y1; - acce: f8ad 00d2 strh.w r0, [sp, #210] ; 0xd2 + acb6: f8ad 00d2 strh.w r0, [sp, #210] ; 0xd2 if(dashed) { - acd2: f1b8 0f00 cmp.w r8, #0 - acd6: d01c beq.n ad12 + acba: f1b8 0f00 cmp.w r8, #0 + acbe: d01c beq.n acfa dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width); - acd8: 4461 add r1, ip - acda: f9b4 2006 ldrsh.w r2, [r4, #6] - acde: f9b4 3004 ldrsh.w r3, [r4, #4] - ace2: 441a add r2, r3 - ace4: fb91 f3f2 sdiv r3, r1, r2 - ace8: fb02 1113 mls r1, r2, r3, r1 - acec: b20b sxth r3, r1 - acee: 930a str r3, [sp, #40] ; 0x28 + acc0: 4461 add r1, ip + acc2: f9b4 2006 ldrsh.w r2, [r4, #6] + acc6: f9b4 3004 ldrsh.w r3, [r4, #4] + acca: 441a add r2, r3 + accc: fb91 f3f2 sdiv r3, r1, r2 + acd0: fb02 1113 mls r1, r2, r3, r1 + acd4: b20b sxth r3, r1 + acd6: 930a str r3, [sp, #40] ; 0x28 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - acf0: 9509 str r5, [sp, #36] ; 0x24 - acf2: 4628 mov r0, r5 - acf4: 4b81 ldr r3, [pc, #516] ; (aefc ) - acf6: 4798 blx r3 - acf8: 4682 mov sl, r0 + acd8: 9509 str r5, [sp, #36] ; 0x24 + acda: 4628 mov r0, r5 + acdc: 4b81 ldr r3, [pc, #516] ; (aee4 ) + acde: 4798 blx r3 + ace0: 4682 mov sl, r0 for(h = draw_area.y1; h <= draw_area.y2; h++) { - acfa: f9bd 60a2 ldrsh.w r6, [sp, #162] ; 0xa2 - acfe: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - ad02: 42b3 cmp r3, r6 - ad04: db59 blt.n adba + ace2: f9bd 60a2 ldrsh.w r6, [sp, #162] ; 0xa2 + ace6: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + acea: 42b3 cmp r3, r6 + acec: db59 blt.n ada2 _lv_memset_ff(mask_buf, draw_area_w); - ad06: f8df 9210 ldr.w r9, [pc, #528] ; af18 + acee: f8df 9210 ldr.w r9, [pc, #528] ; af00 _lv_blend_fill(clip, &fill_area, - ad0a: f8df b208 ldr.w fp, [pc, #520] ; af14 - ad0e: 9505 str r5, [sp, #20] - ad10: e035 b.n ad7e + acf2: f8df b208 ldr.w fp, [pc, #520] ; aefc + acf6: 9505 str r5, [sp, #20] + acf8: e035 b.n ad66 if(dashed) { - ad12: 2100 movs r1, #0 - ad14: e7ea b.n acec + acfa: 2100 movs r1, #0 + acfc: e7ea b.n acd4 else if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - ad16: f9b4 e006 ldrsh.w lr, [r4, #6] - ad1a: 4473 add r3, lr - ad1c: 429a cmp r2, r3 + acfe: f9b4 e006 ldrsh.w lr, [r4, #6] + ad02: 4473 add r3, lr + ad04: 429a cmp r2, r3 mask_buf[i] = 0x00; - ad1e: bfba itte lt - ad20: f80a 1000 strblt.w r1, [sl, r0] - ad24: 4613 movlt r3, r2 + ad06: bfba itte lt + ad08: f80a 1000 strblt.w r1, [sl, r0] + ad0c: 4613 movlt r3, r2 dash_cnt = 0; - ad26: 460b movge r3, r1 + ad0e: 460b movge r3, r1 for(i = 0; i < draw_area_w; i++, dash_cnt++) { - ad28: 3001 adds r0, #1 - ad2a: b200 sxth r0, r0 - ad2c: 3301 adds r3, #1 - ad2e: b21a sxth r2, r3 - ad30: 4285 cmp r5, r0 - ad32: dd07 ble.n ad44 + ad10: 3001 adds r0, #1 + ad12: b200 sxth r0, r0 + ad14: 3301 adds r3, #1 + ad16: b21a sxth r2, r3 + ad18: 4285 cmp r5, r0 + ad1a: dd07 ble.n ad2c if(dash_cnt <= dsc->dash_width) { - ad34: f9b4 3004 ldrsh.w r3, [r4, #4] - ad38: 4293 cmp r3, r2 - ad3a: dbec blt.n ad16 + ad1c: f9b4 3004 ldrsh.w r3, [r4, #4] + ad20: 4293 cmp r3, r2 + ad22: dbec blt.n acfe i += diff; - ad3c: 4418 add r0, r3 - ad3e: 1a80 subs r0, r0, r2 - ad40: b200 sxth r0, r0 - ad42: e7f1 b.n ad28 - ad44: 9505 str r5, [sp, #20] + ad24: 4418 add r0, r3 + ad26: 1a80 subs r0, r0, r2 + ad28: b200 sxth r0, r0 + ad2a: e7f1 b.n ad10 + ad2c: 9505 str r5, [sp, #20] mask_res = LV_DRAW_MASK_RES_CHANGED; - ad46: 2002 movs r0, #2 + ad2e: 2002 movs r0, #2 dsc->blend_mode); - ad48: 7a63 ldrb r3, [r4, #9] + ad30: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(clip, &fill_area, - ad4a: f003 0303 and.w r3, r3, #3 - ad4e: 9302 str r3, [sp, #8] - ad50: 7a23 ldrb r3, [r4, #8] - ad52: 9301 str r3, [sp, #4] - ad54: 9000 str r0, [sp, #0] - ad56: 4653 mov r3, sl - ad58: 8822 ldrh r2, [r4, #0] - ad5a: a933 add r1, sp, #204 ; 0xcc - ad5c: a848 add r0, sp, #288 ; 0x120 - ad5e: 47d8 blx fp + ad32: f003 0303 and.w r3, r3, #3 + ad36: 9302 str r3, [sp, #8] + ad38: 7a23 ldrb r3, [r4, #8] + ad3a: 9301 str r3, [sp, #4] + ad3c: 9000 str r0, [sp, #0] + ad3e: 4653 mov r3, sl + ad40: 8822 ldrh r2, [r4, #0] + ad42: a933 add r1, sp, #204 ; 0xcc + ad44: a848 add r0, sp, #288 ; 0x120 + ad46: 47d8 blx fp fill_area.y1++; - ad60: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce - ad64: 3301 adds r3, #1 - ad66: f8ad 30ce strh.w r3, [sp, #206] ; 0xce + ad48: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce + ad4c: 3301 adds r3, #1 + ad4e: f8ad 30ce strh.w r3, [sp, #206] ; 0xce fill_area.y2++; - ad6a: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 - ad6e: 3301 adds r3, #1 - ad70: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 + ad52: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 + ad56: 3301 adds r3, #1 + ad58: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 for(h = draw_area.y1; h <= draw_area.y2; h++) { - ad74: 3601 adds r6, #1 - ad76: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - ad7a: 429e cmp r6, r3 - ad7c: dc1d bgt.n adba + ad5c: 3601 adds r6, #1 + ad5e: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + ad62: 429e cmp r6, r3 + ad64: dc1d bgt.n ada2 _lv_memset_ff(mask_buf, draw_area_w); - ad7e: 9909 ldr r1, [sp, #36] ; 0x24 - ad80: 4650 mov r0, sl - ad82: 47c8 blx r9 + ad66: 9909 ldr r1, [sp, #36] ; 0x24 + ad68: 4650 mov r0, sl + ad6a: 47c8 blx r9 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - ad84: 8a7a ldrh r2, [r7, #18] - ad86: 4432 add r2, r6 - ad88: 8a39 ldrh r1, [r7, #16] - ad8a: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 - ad8e: 4419 add r1, r3 - ad90: 9b05 ldr r3, [sp, #20] - ad92: b212 sxth r2, r2 - ad94: b209 sxth r1, r1 - ad96: 4650 mov r0, sl - ad98: 4d59 ldr r5, [pc, #356] ; (af00 ) - ad9a: 47a8 blx r5 + ad6c: 8a7a ldrh r2, [r7, #18] + ad6e: 4432 add r2, r6 + ad70: 8a39 ldrh r1, [r7, #16] + ad72: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 + ad76: 4419 add r1, r3 + ad78: 9b05 ldr r3, [sp, #20] + ad7a: b212 sxth r2, r2 + ad7c: b209 sxth r1, r1 + ad7e: 4650 mov r0, sl + ad80: 4d59 ldr r5, [pc, #356] ; (aee8 ) + ad82: 47a8 blx r5 if(dashed) { - ad9c: f1b8 0f00 cmp.w r8, #0 - ada0: d0d2 beq.n ad48 + ad84: f1b8 0f00 cmp.w r8, #0 + ad88: d0d2 beq.n ad30 if(mask_res != LV_DRAW_MASK_RES_TRANSP) { - ada2: 2800 cmp r0, #0 - ada4: d0d0 beq.n ad48 + ad8a: 2800 cmp r0, #0 + ad8c: d0d0 beq.n ad30 for(i = 0; i < draw_area_w; i++, dash_cnt++) { - ada6: 9b05 ldr r3, [sp, #20] - ada8: 2b00 cmp r3, #0 - adaa: dd04 ble.n adb6 - adac: 9a0a ldr r2, [sp, #40] ; 0x28 - adae: 2000 movs r0, #0 + ad8e: 9b05 ldr r3, [sp, #20] + ad90: 2b00 cmp r3, #0 + ad92: dd04 ble.n ad9e + ad94: 9a0a ldr r2, [sp, #40] ; 0x28 + ad96: 2000 movs r0, #0 dash_cnt = 0; - adb0: 4601 mov r1, r0 - adb2: 461d mov r5, r3 - adb4: e7be b.n ad34 + ad98: 4601 mov r1, r0 + ad9a: 461d mov r5, r3 + ad9c: e7be b.n ad1c mask_res = LV_DRAW_MASK_RES_CHANGED; - adb6: 2002 movs r0, #2 - adb8: e7c6 b.n ad48 + ad9e: 2002 movs r0, #2 + ada0: e7c6 b.n ad30 _lv_mem_buf_release(mask_buf); - adba: 4650 mov r0, sl - adbc: 4b51 ldr r3, [pc, #324] ; (af04 ) - adbe: 4798 blx r3 - adc0: e1c2 b.n b148 + ada2: 4650 mov r0, sl + ada4: 4b51 ldr r3, [pc, #324] ; (aeec ) + ada6: 4798 blx r3 + ada8: e1c2 b.n b130 lv_opa_t opa = dsc->opa; - adc2: f894 9008 ldrb.w r9, [r4, #8] + adaa: f894 9008 ldrb.w r9, [r4, #8] lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - adc6: 4b50 ldr r3, [pc, #320] ; (af08 ) - adc8: 4798 blx r3 + adae: 4b50 ldr r3, [pc, #320] ; (aef0 ) + adb0: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - adca: 4b50 ldr r3, [pc, #320] ; (af0c ) - adcc: 4798 blx r3 - adce: 4680 mov r8, r0 + adb2: 4b50 ldr r3, [pc, #320] ; (aef4 ) + adb4: 4798 blx r3 + adb6: 4680 mov r8, r0 int32_t w = dsc->width - 1; - add0: f9b4 5002 ldrsh.w r5, [r4, #2] - add4: 3d01 subs r5, #1 + adb8: f9b4 5002 ldrsh.w r5, [r4, #2] + adbc: 3d01 subs r5, #1 int32_t w_half0 = w >> 1; - add6: 106f asrs r7, r5, #1 + adbe: 106f asrs r7, r5, #1 int32_t w_half1 = w_half0 + (w & 0x1); /*Compensate rounding error*/ - add8: f005 0501 and.w r5, r5, #1 - addc: 443d add r5, r7 + adc0: f005 0501 and.w r5, r5, #1 + adc4: 443d add r5, r7 bool dashed = dsc->dash_gap && dsc->dash_width ? true : false; - adde: f9b4 3006 ldrsh.w r3, [r4, #6] - ade2: b12b cbz r3, adf0 - ade4: f9b4 6004 ldrsh.w r6, [r4, #4] - ade8: 3600 adds r6, #0 - adea: bf18 it ne - adec: 2601 movne r6, #1 - adee: e000 b.n adf2 - adf0: 2600 movs r6, #0 + adc6: f9b4 3006 ldrsh.w r3, [r4, #6] + adca: b12b cbz r3, add8 + adcc: f9b4 6004 ldrsh.w r6, [r4, #4] + add0: 3600 adds r6, #0 + add2: bf18 it ne + add4: 2601 movne r6, #1 + add6: e000 b.n adda + add8: 2600 movs r6, #0 if(lv_draw_mask_get_cnt()) simple_mode = false; - adf2: 4b47 ldr r3, [pc, #284] ; (af10 ) - adf4: 4798 blx r3 - adf6: b910 cbnz r0, adfe + adda: 4b47 ldr r3, [pc, #284] ; (aef8 ) + addc: 4798 blx r3 + adde: b910 cbnz r0, ade6 else if(dashed) simple_mode = false; - adf8: f086 0201 eor.w r2, r6, #1 - adfc: e000 b.n ae00 + ade0: f086 0201 eor.w r2, r6, #1 + ade4: e000 b.n ade8 if(lv_draw_mask_get_cnt()) simple_mode = false; - adfe: 2200 movs r2, #0 + ade6: 2200 movs r2, #0 draw_area.x1 = point1->x - w_half1; - ae00: 9906 ldr r1, [sp, #24] - ae02: 880b ldrh r3, [r1, #0] - ae04: 1b5d subs r5, r3, r5 - ae06: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 + ade8: 9906 ldr r1, [sp, #24] + adea: 880b ldrh r3, [r1, #0] + adec: 1b5d subs r5, r3, r5 + adee: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 draw_area.x2 = point1->x + w_half0; - ae0a: 441f add r7, r3 - ae0c: f8ad 70a4 strh.w r7, [sp, #164] ; 0xa4 + adf2: 441f add r7, r3 + adf4: f8ad 70a4 strh.w r7, [sp, #164] ; 0xa4 draw_area.y1 = LV_MATH_MIN(point1->y, point2->y); - ae10: 9b07 ldr r3, [sp, #28] - ae12: f9b3 3002 ldrsh.w r3, [r3, #2] - ae16: f9b1 1002 ldrsh.w r1, [r1, #2] - ae1a: 4618 mov r0, r3 - ae1c: 428b cmp r3, r1 - ae1e: bfa8 it ge - ae20: 4608 movge r0, r1 - ae22: f8ad 00a2 strh.w r0, [sp, #162] ; 0xa2 + adf8: 9b07 ldr r3, [sp, #28] + adfa: f9b3 3002 ldrsh.w r3, [r3, #2] + adfe: f9b1 1002 ldrsh.w r1, [r1, #2] + ae02: 4618 mov r0, r3 + ae04: 428b cmp r3, r1 + ae06: bfa8 it ge + ae08: 4608 movge r0, r1 + ae0a: f8ad 00a2 strh.w r0, [sp, #162] ; 0xa2 draw_area.y2 = LV_MATH_MAX(point1->y, point2->y) - 1; - ae26: 428b cmp r3, r1 - ae28: bfb8 it lt - ae2a: 460b movlt r3, r1 - ae2c: 3b01 subs r3, #1 - ae2e: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + ae0e: 428b cmp r3, r1 + ae10: bfb8 it lt + ae12: 460b movlt r3, r1 + ae14: 3b01 subs r3, #1 + ae16: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 if(simple_mode) { - ae32: b172 cbz r2, ae52 + ae1a: b172 cbz r2, ae3a dsc->blend_mode); - ae34: 7a63 ldrb r3, [r4, #9] + ae1c: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(clip, &draw_area, - ae36: f003 0303 and.w r3, r3, #3 - ae3a: 9302 str r3, [sp, #8] - ae3c: f8cd 9004 str.w r9, [sp, #4] - ae40: 2301 movs r3, #1 - ae42: 9300 str r3, [sp, #0] - ae44: 2300 movs r3, #0 - ae46: 8822 ldrh r2, [r4, #0] - ae48: a928 add r1, sp, #160 ; 0xa0 - ae4a: a848 add r0, sp, #288 ; 0x120 - ae4c: 4d31 ldr r5, [pc, #196] ; (af14 ) - ae4e: 47a8 blx r5 - ae50: e17a b.n b148 + ae1e: f003 0303 and.w r3, r3, #3 + ae22: 9302 str r3, [sp, #8] + ae24: f8cd 9004 str.w r9, [sp, #4] + ae28: 2301 movs r3, #1 + ae2a: 9300 str r3, [sp, #0] + ae2c: 2300 movs r3, #0 + ae2e: 8822 ldrh r2, [r4, #0] + ae30: a928 add r1, sp, #160 ; 0xa0 + ae32: a848 add r0, sp, #288 ; 0x120 + ae34: 4d31 ldr r5, [pc, #196] ; (aefc ) + ae36: 47a8 blx r5 + ae38: e17a b.n b130 is_common = _lv_area_intersect(&draw_area, clip, &draw_area); - ae52: aa28 add r2, sp, #160 ; 0xa0 - ae54: a948 add r1, sp, #288 ; 0x120 - ae56: 4610 mov r0, r2 - ae58: 4b27 ldr r3, [pc, #156] ; (aef8 ) - ae5a: 4798 blx r3 + ae3a: aa28 add r2, sp, #160 ; 0xa0 + ae3c: a948 add r1, sp, #288 ; 0x120 + ae3e: 4610 mov r0, r2 + ae40: 4b27 ldr r3, [pc, #156] ; (aee0 ) + ae42: 4798 blx r3 if(!is_common) return; - ae5c: 2800 cmp r0, #0 - ae5e: f000 8173 beq.w b148 + ae44: 2800 cmp r0, #0 + ae46: f000 8173 beq.w b130 draw_area.x1 -= vdb->area.x1; - ae62: f9bd 00a0 ldrsh.w r0, [sp, #160] ; 0xa0 - ae66: f8b8 3010 ldrh.w r3, [r8, #16] - ae6a: 1ac5 subs r5, r0, r3 - ae6c: b2ad uxth r5, r5 - ae6e: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 + ae4a: f9bd 00a0 ldrsh.w r0, [sp, #160] ; 0xa0 + ae4e: f8b8 3010 ldrh.w r3, [r8, #16] + ae52: 1ac5 subs r5, r0, r3 + ae54: b2ad uxth r5, r5 + ae56: f8ad 50a0 strh.w r5, [sp, #160] ; 0xa0 draw_area.y1 -= vdb->area.y1; - ae72: f9bd 20a2 ldrsh.w r2, [sp, #162] ; 0xa2 - ae76: f8b8 7012 ldrh.w r7, [r8, #18] - ae7a: 1bd1 subs r1, r2, r7 - ae7c: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 + ae5a: f9bd 20a2 ldrsh.w r2, [sp, #162] ; 0xa2 + ae5e: f8b8 7012 ldrh.w r7, [r8, #18] + ae62: 1bd1 subs r1, r2, r7 + ae64: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 draw_area.x2 -= vdb->area.x1; - ae80: f9bd 10a4 ldrsh.w r1, [sp, #164] ; 0xa4 - ae84: 1acb subs r3, r1, r3 - ae86: b29b uxth r3, r3 - ae88: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + ae68: f9bd 10a4 ldrsh.w r1, [sp, #164] ; 0xa4 + ae6c: 1acb subs r3, r1, r3 + ae6e: b29b uxth r3, r3 + ae70: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 draw_area.y2 -= vdb->area.y1; - ae8c: f8bd e0a6 ldrh.w lr, [sp, #166] ; 0xa6 - ae90: ebae 0707 sub.w r7, lr, r7 - ae94: f8ad 70a6 strh.w r7, [sp, #166] ; 0xa6 - ae98: 3301 adds r3, #1 - ae9a: 1b5b subs r3, r3, r5 - ae9c: b21b sxth r3, r3 - ae9e: 9309 str r3, [sp, #36] ; 0x24 + ae74: f8bd e0a6 ldrh.w lr, [sp, #166] ; 0xa6 + ae78: ebae 0707 sub.w r7, lr, r7 + ae7c: f8ad 70a6 strh.w r7, [sp, #166] ; 0xa6 + ae80: 3301 adds r3, #1 + ae82: 1b5b subs r3, r3, r5 + ae84: b21b sxth r3, r3 + ae86: 9309 str r3, [sp, #36] ; 0x24 fill_area.x1 = draw_area.x1 + disp_area->x1; - aea0: f8ad 00cc strh.w r0, [sp, #204] ; 0xcc + ae88: f8ad 00cc strh.w r0, [sp, #204] ; 0xcc fill_area.x2 = draw_area.x2 + disp_area->x1; - aea4: f8ad 10d0 strh.w r1, [sp, #208] ; 0xd0 + ae8c: f8ad 10d0 strh.w r1, [sp, #208] ; 0xd0 fill_area.y1 = draw_area.y1 + disp_area->y1; - aea8: f8ad 20ce strh.w r2, [sp, #206] ; 0xce + ae90: f8ad 20ce strh.w r2, [sp, #206] ; 0xce fill_area.y2 = fill_area.y1; - aeac: f8ad 20d2 strh.w r2, [sp, #210] ; 0xd2 + ae94: f8ad 20d2 strh.w r2, [sp, #210] ; 0xd2 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - aeb0: 930a str r3, [sp, #40] ; 0x28 - aeb2: 4618 mov r0, r3 - aeb4: 4b11 ldr r3, [pc, #68] ; (aefc ) - aeb6: 4798 blx r3 - aeb8: 9005 str r0, [sp, #20] + ae98: 930a str r3, [sp, #40] ; 0x28 + ae9a: 4618 mov r0, r3 + ae9c: 4b11 ldr r3, [pc, #68] ; (aee4 ) + ae9e: 4798 blx r3 + aea0: 9005 str r0, [sp, #20] if(dashed) { - aeba: b176 cbz r6, aeda + aea2: b176 cbz r6, aec2 dash_start = (vdb->area.x1 + draw_area.x1) % (dsc->dash_gap + dsc->dash_width); - aebc: f9b8 2010 ldrsh.w r2, [r8, #16] - aec0: f9bd 70a0 ldrsh.w r7, [sp, #160] ; 0xa0 - aec4: 443a add r2, r7 - aec6: f9b4 3006 ldrsh.w r3, [r4, #6] - aeca: f9b4 7004 ldrsh.w r7, [r4, #4] - aece: 443b add r3, r7 - aed0: fb92 f7f3 sdiv r7, r2, r3 - aed4: fb03 2717 mls r7, r3, r7, r2 - aed8: e000 b.n aedc + aea4: f9b8 2010 ldrsh.w r2, [r8, #16] + aea8: f9bd 70a0 ldrsh.w r7, [sp, #160] ; 0xa0 + aeac: 443a add r2, r7 + aeae: f9b4 3006 ldrsh.w r3, [r4, #6] + aeb2: f9b4 7004 ldrsh.w r7, [r4, #4] + aeb6: 443b add r3, r7 + aeb8: fb92 f7f3 sdiv r7, r2, r3 + aebc: fb03 2717 mls r7, r3, r7, r2 + aec0: e000 b.n aec4 if(dashed) { - aeda: 2700 movs r7, #0 - aedc: b23f sxth r7, r7 + aec2: 2700 movs r7, #0 + aec4: b23f sxth r7, r7 for(h = draw_area.y1; h <= draw_area.y2; h++) { - aede: f9bd 50a2 ldrsh.w r5, [sp, #162] ; 0xa2 - aee2: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - aee6: 429d cmp r5, r3 - aee8: dc53 bgt.n af92 + aec6: f9bd 50a2 ldrsh.w r5, [sp, #162] ; 0xa2 + aeca: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + aece: 429d cmp r5, r3 + aed0: dc53 bgt.n af7a _lv_memset_ff(mask_buf, draw_area_w); - aeea: f8df 902c ldr.w r9, [pc, #44] ; af18 + aed2: f8df 902c ldr.w r9, [pc, #44] ; af00 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - aeee: f8df a010 ldr.w sl, [pc, #16] ; af00 + aed6: f8df a010 ldr.w sl, [pc, #16] ; aee8 _lv_blend_fill(clip, &fill_area, - aef2: f8df b020 ldr.w fp, [pc, #32] ; af14 - aef6: e02c b.n af52 - aef8: 00011519 .word 0x00011519 - aefc: 0001293d .word 0x0001293d - af00: 0000be1d .word 0x0000be1d - af04: 00012571 .word 0x00012571 - af08: 00005f69 .word 0x00005f69 - af0c: 00010fdd .word 0x00010fdd - af10: 0000bec5 .word 0x0000bec5 - af14: 00007751 .word 0x00007751 - af18: 00012bed .word 0x00012bed + aeda: f8df b020 ldr.w fp, [pc, #32] ; aefc + aede: e02c b.n af3a + aee0: 00011501 .word 0x00011501 + aee4: 00012925 .word 0x00012925 + aee8: 0000be05 .word 0x0000be05 + aeec: 00012559 .word 0x00012559 + aef0: 00005f51 .word 0x00005f51 + aef4: 00010fc5 .word 0x00010fc5 + aef8: 0000bead .word 0x0000bead + aefc: 00007739 .word 0x00007739 + af00: 00012bd5 .word 0x00012bd5 dash_cnt ++; - af1c: 3701 adds r7, #1 - af1e: b23f sxth r7, r7 + af04: 3701 adds r7, #1 + af06: b23f sxth r7, r7 _lv_blend_fill(clip, &fill_area, - af20: 2300 movs r3, #0 - af22: 9302 str r3, [sp, #8] - af24: 7a23 ldrb r3, [r4, #8] - af26: 9301 str r3, [sp, #4] - af28: 9000 str r0, [sp, #0] - af2a: 9b05 ldr r3, [sp, #20] - af2c: 8822 ldrh r2, [r4, #0] - af2e: a933 add r1, sp, #204 ; 0xcc - af30: a848 add r0, sp, #288 ; 0x120 - af32: 47d8 blx fp + af08: 2300 movs r3, #0 + af0a: 9302 str r3, [sp, #8] + af0c: 7a23 ldrb r3, [r4, #8] + af0e: 9301 str r3, [sp, #4] + af10: 9000 str r0, [sp, #0] + af12: 9b05 ldr r3, [sp, #20] + af14: 8822 ldrh r2, [r4, #0] + af16: a933 add r1, sp, #204 ; 0xcc + af18: a848 add r0, sp, #288 ; 0x120 + af1a: 47d8 blx fp fill_area.y1++; - af34: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce - af38: 3301 adds r3, #1 - af3a: f8ad 30ce strh.w r3, [sp, #206] ; 0xce + af1c: f8bd 30ce ldrh.w r3, [sp, #206] ; 0xce + af20: 3301 adds r3, #1 + af22: f8ad 30ce strh.w r3, [sp, #206] ; 0xce fill_area.y2++; - af3e: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 - af42: 3301 adds r3, #1 - af44: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 + af26: f8bd 30d2 ldrh.w r3, [sp, #210] ; 0xd2 + af2a: 3301 adds r3, #1 + af2c: f8ad 30d2 strh.w r3, [sp, #210] ; 0xd2 for(h = draw_area.y1; h <= draw_area.y2; h++) { - af48: 3501 adds r5, #1 - af4a: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 - af4e: 429d cmp r5, r3 - af50: dc1f bgt.n af92 + af30: 3501 adds r5, #1 + af32: f9bd 30a6 ldrsh.w r3, [sp, #166] ; 0xa6 + af36: 429d cmp r5, r3 + af38: dc1f bgt.n af7a _lv_memset_ff(mask_buf, draw_area_w); - af52: 990a ldr r1, [sp, #40] ; 0x28 - af54: 9805 ldr r0, [sp, #20] - af56: 47c8 blx r9 + af3a: 990a ldr r1, [sp, #40] ; 0x28 + af3c: 9805 ldr r0, [sp, #20] + af3e: 47c8 blx r9 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - af58: f8b8 2012 ldrh.w r2, [r8, #18] - af5c: 442a add r2, r5 - af5e: f8b8 1010 ldrh.w r1, [r8, #16] - af62: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 - af66: 4419 add r1, r3 - af68: 9b09 ldr r3, [sp, #36] ; 0x24 - af6a: b212 sxth r2, r2 - af6c: b209 sxth r1, r1 - af6e: 9805 ldr r0, [sp, #20] - af70: 47d0 blx sl + af40: f8b8 2012 ldrh.w r2, [r8, #18] + af44: 442a add r2, r5 + af46: f8b8 1010 ldrh.w r1, [r8, #16] + af4a: f8bd 30a0 ldrh.w r3, [sp, #160] ; 0xa0 + af4e: 4419 add r1, r3 + af50: 9b09 ldr r3, [sp, #36] ; 0x24 + af52: b212 sxth r2, r2 + af54: b209 sxth r1, r1 + af56: 9805 ldr r0, [sp, #20] + af58: 47d0 blx sl if(dashed) { - af72: 2e00 cmp r6, #0 - af74: d0d4 beq.n af20 + af5a: 2e00 cmp r6, #0 + af5c: d0d4 beq.n af08 if(mask_res != LV_DRAW_MASK_RES_TRANSP) { - af76: 2800 cmp r0, #0 - af78: d0d0 beq.n af1c + af5e: 2800 cmp r0, #0 + af60: d0d0 beq.n af04 if(dash_cnt > dsc->dash_width) { - af7a: f9b4 2004 ldrsh.w r2, [r4, #4] + af62: f9b4 2004 ldrsh.w r2, [r4, #4] mask_res = LV_DRAW_MASK_RES_TRANSP; - af7e: 42ba cmp r2, r7 - af80: bfb8 it lt - af82: 2000 movlt r0, #0 + af66: 42ba cmp r2, r7 + af68: bfb8 it lt + af6a: 2000 movlt r0, #0 if(dash_cnt >= dsc->dash_gap + dsc->dash_width) { - af84: f9b4 3006 ldrsh.w r3, [r4, #6] - af88: 4413 add r3, r2 + af6c: f9b4 3006 ldrsh.w r3, [r4, #6] + af70: 4413 add r3, r2 dash_cnt = 0; - af8a: 429f cmp r7, r3 - af8c: bfa8 it ge - af8e: 2700 movge r7, #0 - af90: e7c4 b.n af1c + af72: 429f cmp r7, r3 + af74: bfa8 it ge + af76: 2700 movge r7, #0 + af78: e7c4 b.n af04 _lv_mem_buf_release(mask_buf); - af92: 9805 ldr r0, [sp, #20] - af94: 4b97 ldr r3, [pc, #604] ; (b1f4 ) - af96: 4798 blx r3 - af98: e0d6 b.n b148 + af7a: 9805 ldr r0, [sp, #20] + af7c: 4b97 ldr r3, [pc, #604] ; (b1dc ) + af7e: 4798 blx r3 + af80: e0d6 b.n b130 lv_draw_mask_line_points_init(&mask_left_param, p1.x, p1.y + w_half1, p2.x, p2.y + w_half1, - af9a: fa1f fb86 uxth.w fp, r6 - af9e: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c - afa2: b2a9 uxth r1, r5 - afa4: eb0b 0208 add.w r2, fp, r8 - afa8: 2300 movs r3, #0 - afaa: 9301 str r3, [sp, #4] - afac: 460f mov r7, r1 - afae: 4488 add r8, r1 - afb0: fa0f f388 sxth.w r3, r8 - afb4: 9300 str r3, [sp, #0] - afb6: 4653 mov r3, sl - afb8: b212 sxth r2, r2 - afba: 9905 ldr r1, [sp, #20] - afbc: a812 add r0, sp, #72 ; 0x48 - afbe: f8df 8238 ldr.w r8, [pc, #568] ; b1f8 - afc2: 47c0 blx r8 + af82: fa1f fb86 uxth.w fp, r6 + af86: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c + af8a: b2a9 uxth r1, r5 + af8c: eb0b 0208 add.w r2, fp, r8 + af90: 2300 movs r3, #0 + af92: 9301 str r3, [sp, #4] + af94: 460f mov r7, r1 + af96: 4488 add r8, r1 + af98: fa0f f388 sxth.w r3, r8 + af9c: 9300 str r3, [sp, #0] + af9e: 4653 mov r3, sl + afa0: b212 sxth r2, r2 + afa2: 9905 ldr r1, [sp, #20] + afa4: a812 add r0, sp, #72 ; 0x48 + afa6: f8df 8238 ldr.w r8, [pc, #568] ; b1e0 + afaa: 47c0 blx r8 lv_draw_mask_line_points_init(&mask_right_param, p1.x, p1.y - w_half0, p2.x, p2.y - w_half0, - afc4: fa1f f389 uxth.w r3, r9 - afc8: ebab 0203 sub.w r2, fp, r3 - afcc: 2101 movs r1, #1 - afce: 9101 str r1, [sp, #4] - afd0: 1afb subs r3, r7, r3 - afd2: b21b sxth r3, r3 - afd4: 9300 str r3, [sp, #0] - afd6: 4653 mov r3, sl - afd8: b212 sxth r2, r2 - afda: 9905 ldr r1, [sp, #20] - afdc: a81d add r0, sp, #116 ; 0x74 - afde: 47c0 blx r8 - afe0: e570 b.n aac4 + afac: fa1f f389 uxth.w r3, r9 + afb0: ebab 0203 sub.w r2, fp, r3 + afb4: 2101 movs r1, #1 + afb6: 9101 str r1, [sp, #4] + afb8: 1afb subs r3, r7, r3 + afba: b21b sxth r3, r3 + afbc: 9300 str r3, [sp, #0] + afbe: 4653 mov r3, sl + afc0: b212 sxth r2, r2 + afc2: 9905 ldr r1, [sp, #20] + afc4: a81d add r0, sp, #116 ; 0x74 + afc6: 47c0 blx r8 + afc8: e570 b.n aaac lv_draw_mask_line_points_init(&mask_left_param, p1.x + w_half1, p1.y, p2.x + w_half1, p2.y, - afe2: f8bd b014 ldrh.w fp, [sp, #20] - afe6: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c - afea: fa1f f38a uxth.w r3, sl - afee: 461f mov r7, r3 - aff0: 4443 add r3, r8 - aff2: 44d8 add r8, fp - aff4: 2200 movs r2, #0 - aff6: 9201 str r2, [sp, #4] - aff8: 9500 str r5, [sp, #0] - affa: b21b sxth r3, r3 - affc: 4632 mov r2, r6 - affe: fa0f f188 sxth.w r1, r8 - b002: a812 add r0, sp, #72 ; 0x48 - b004: f8df 81f0 ldr.w r8, [pc, #496] ; b1f8 - b008: 47c0 blx r8 + afca: f8bd b014 ldrh.w fp, [sp, #20] + afce: f8bd 802c ldrh.w r8, [sp, #44] ; 0x2c + afd2: fa1f f38a uxth.w r3, sl + afd6: 461f mov r7, r3 + afd8: 4443 add r3, r8 + afda: 44d8 add r8, fp + afdc: 2200 movs r2, #0 + afde: 9201 str r2, [sp, #4] + afe0: 9500 str r5, [sp, #0] + afe2: b21b sxth r3, r3 + afe4: 4632 mov r2, r6 + afe6: fa0f f188 sxth.w r1, r8 + afea: a812 add r0, sp, #72 ; 0x48 + afec: f8df 81f0 ldr.w r8, [pc, #496] ; b1e0 + aff0: 47c0 blx r8 lv_draw_mask_line_points_init(&mask_right_param, p1.x - w_half0, p1.y, p2.x - w_half0, p2.y, - b00a: fa1f f989 uxth.w r9, r9 - b00e: eba7 0309 sub.w r3, r7, r9 - b012: ebab 0909 sub.w r9, fp, r9 - b016: 2201 movs r2, #1 - b018: 9201 str r2, [sp, #4] - b01a: 9500 str r5, [sp, #0] - b01c: b21b sxth r3, r3 - b01e: 4632 mov r2, r6 - b020: fa0f f189 sxth.w r1, r9 - b024: a81d add r0, sp, #116 ; 0x74 - b026: 47c0 blx r8 - b028: e54c b.n aac4 + aff2: fa1f f989 uxth.w r9, r9 + aff6: eba7 0309 sub.w r3, r7, r9 + affa: ebab 0909 sub.w r9, fp, r9 + affe: 2201 movs r2, #1 + b000: 9201 str r2, [sp, #4] + b002: 9500 str r5, [sp, #0] + b004: b21b sxth r3, r3 + b006: 4632 mov r2, r6 + b008: fa0f f189 sxth.w r1, r9 + b00c: a81d add r0, sp, #116 ; 0x74 + b00e: 47c0 blx r8 + b010: e54c b.n aaac lv_draw_mask_line_points_init(&mask_top_param, p1.x, p1.y, p1.x - ydiff, p1.y + xdiff, LV_DRAW_MASK_LINE_SIDE_BOTTOM); - b02a: f8bd 8028 ldrh.w r8, [sp, #40] ; 0x28 - b02e: f8bd 9024 ldrh.w r9, [sp, #36] ; 0x24 - b032: 9905 ldr r1, [sp, #20] - b034: eba1 0308 sub.w r3, r1, r8 - b038: 2203 movs r2, #3 - b03a: 9201 str r2, [sp, #4] - b03c: eb09 0206 add.w r2, r9, r6 - b040: b212 sxth r2, r2 - b042: 9200 str r2, [sp, #0] - b044: b21b sxth r3, r3 - b046: 4632 mov r2, r6 - b048: a828 add r0, sp, #160 ; 0xa0 - b04a: 4e6b ldr r6, [pc, #428] ; (b1f8 ) - b04c: 47b0 blx r6 + b012: f8bd 8028 ldrh.w r8, [sp, #40] ; 0x28 + b016: f8bd 9024 ldrh.w r9, [sp, #36] ; 0x24 + b01a: 9905 ldr r1, [sp, #20] + b01c: eba1 0308 sub.w r3, r1, r8 + b020: 2203 movs r2, #3 + b022: 9201 str r2, [sp, #4] + b024: eb09 0206 add.w r2, r9, r6 + b028: b212 sxth r2, r2 + b02a: 9200 str r2, [sp, #0] + b02c: b21b sxth r3, r3 + b02e: 4632 mov r2, r6 + b030: a828 add r0, sp, #160 ; 0xa0 + b032: 4e6b ldr r6, [pc, #428] ; (b1e0 ) + b034: 47b0 blx r6 lv_draw_mask_line_points_init(&mask_bottom_param, p2.x, p2.y, p2.x - ydiff, p2.y + xdiff, LV_DRAW_MASK_LINE_SIDE_TOP); - b04e: ebaa 0308 sub.w r3, sl, r8 - b052: 2202 movs r2, #2 - b054: 9201 str r2, [sp, #4] - b056: eb09 0205 add.w r2, r9, r5 - b05a: b212 sxth r2, r2 - b05c: 9200 str r2, [sp, #0] - b05e: b21b sxth r3, r3 - b060: 462a mov r2, r5 - b062: 4651 mov r1, sl - b064: a833 add r0, sp, #204 ; 0xcc - b066: 47b0 blx r6 + b036: ebaa 0308 sub.w r3, sl, r8 + b03a: 2202 movs r2, #2 + b03c: 9201 str r2, [sp, #4] + b03e: eb09 0205 add.w r2, r9, r5 + b042: b212 sxth r2, r2 + b044: 9200 str r2, [sp, #0] + b046: b21b sxth r3, r3 + b048: 462a mov r2, r5 + b04a: 4651 mov r1, sl + b04c: a833 add r0, sp, #204 ; 0xcc + b04e: 47b0 blx r6 mask_top_id = lv_draw_mask_add(&mask_top_param, NULL); - b068: 2100 movs r1, #0 - b06a: a828 add r0, sp, #160 ; 0xa0 - b06c: 4d63 ldr r5, [pc, #396] ; (b1fc ) - b06e: 47a8 blx r5 - b070: 900a str r0, [sp, #40] ; 0x28 + b050: 2100 movs r1, #0 + b052: a828 add r0, sp, #160 ; 0xa0 + b054: 4d63 ldr r5, [pc, #396] ; (b1e4 ) + b056: 47a8 blx r5 + b058: 900a str r0, [sp, #40] ; 0x28 mask_bottom_id = lv_draw_mask_add(&mask_bottom_param, NULL); - b072: 2100 movs r1, #0 - b074: a833 add r0, sp, #204 ; 0xcc - b076: 47a8 blx r5 - b078: 900d str r0, [sp, #52] ; 0x34 - b07a: e536 b.n aaea + b05a: 2100 movs r1, #0 + b05c: a833 add r0, sp, #204 ; 0xcc + b05e: 47a8 blx r5 + b060: 900d str r0, [sp, #52] ; 0x34 + b062: e536 b.n aad2 size_t mask_buf_size = LV_MATH_MIN(lv_area_get_size(&draw_area), LV_HOR_RES_MAX); - b07c: a80e add r0, sp, #56 ; 0x38 - b07e: 4b60 ldr r3, [pc, #384] ; (b200 ) - b080: 4798 blx r3 - b082: 4683 mov fp, r0 - b084: e55a b.n ab3c + b064: a80e add r0, sp, #56 ; 0x38 + b066: 4b60 ldr r3, [pc, #384] ; (b1e8 ) + b068: 4798 blx r3 + b06a: 4683 mov fp, r0 + b06c: e55a b.n ab24 _lv_memset_00(&mask_buf[mask_p], draw_area_w); - b086: 4629 mov r1, r5 - b088: 4640 mov r0, r8 - b08a: 4b5e ldr r3, [pc, #376] ; (b204 ) - b08c: 4798 blx r3 - b08e: e02d b.n b0ec + b06e: 4629 mov r1, r5 + b070: 4640 mov r0, r8 + b072: 4b5e ldr r3, [pc, #376] ; (b1ec ) + b074: 4798 blx r3 + b076: e02d b.n b0d4 dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa, dsc->blend_mode); - b090: 9a09 ldr r2, [sp, #36] ; 0x24 - b092: 7a53 ldrb r3, [r2, #9] + b078: 9a09 ldr r2, [sp, #36] ; 0x24 + b07a: 7a53 ldrb r3, [r2, #9] _lv_blend_fill(&fill_area, clip, - b094: f003 0303 and.w r3, r3, #3 - b098: 9302 str r3, [sp, #8] - b09a: 7a13 ldrb r3, [r2, #8] - b09c: 9301 str r3, [sp, #4] - b09e: 2302 movs r3, #2 - b0a0: 9300 str r3, [sp, #0] - b0a2: 464b mov r3, r9 - b0a4: 8812 ldrh r2, [r2, #0] - b0a6: a948 add r1, sp, #288 ; 0x120 - b0a8: a810 add r0, sp, #64 ; 0x40 - b0aa: 4c57 ldr r4, [pc, #348] ; (b208 ) - b0ac: 47a0 blx r4 + b07c: f003 0303 and.w r3, r3, #3 + b080: 9302 str r3, [sp, #8] + b082: 7a13 ldrb r3, [r2, #8] + b084: 9301 str r3, [sp, #4] + b086: 2302 movs r3, #2 + b088: 9300 str r3, [sp, #0] + b08a: 464b mov r3, r9 + b08c: 8812 ldrh r2, [r2, #0] + b08e: a948 add r1, sp, #288 ; 0x120 + b090: a810 add r0, sp, #64 ; 0x40 + b092: 4c57 ldr r4, [pc, #348] ; (b1f0 ) + b094: 47a0 blx r4 fill_area.y1 = fill_area.y2 + 1; - b0ae: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 - b0b2: 3301 adds r3, #1 - b0b4: b21b sxth r3, r3 - b0b6: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + b096: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 + b09a: 3301 adds r3, #1 + b09c: b21b sxth r3, r3 + b09e: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 fill_area.y2 = fill_area.y1; - b0ba: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + b0a2: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 mask_p = 0; _lv_memset_ff(mask_buf, mask_buf_size); - b0be: 4659 mov r1, fp - b0c0: 4648 mov r0, r9 - b0c2: 4b52 ldr r3, [pc, #328] ; (b20c ) - b0c4: 4798 blx r3 + b0a6: 4659 mov r1, fp + b0a8: 4648 mov r0, r9 + b0aa: 4b52 ldr r3, [pc, #328] ; (b1f4 ) + b0ac: 4798 blx r3 mask_p = 0; - b0c6: 2700 movs r7, #0 + b0ae: 2700 movs r7, #0 for(h = draw_area.y1 + disp_area->y1; h <= draw_area.y2 + disp_area->y1; h++) { - b0c8: 3601 adds r6, #1 - b0ca: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e - b0ce: f9ba 2012 ldrsh.w r2, [sl, #18] - b0d2: 4413 add r3, r2 - b0d4: 429e cmp r6, r3 - b0d6: dc13 bgt.n b100 + b0b0: 3601 adds r6, #1 + b0b2: f9bd 303e ldrsh.w r3, [sp, #62] ; 0x3e + b0b6: f9ba 2012 ldrsh.w r2, [sl, #18] + b0ba: 4413 add r3, r2 + b0bc: 429e cmp r6, r3 + b0be: dc13 bgt.n b0e8 lv_draw_mask_res_t mask_res = lv_draw_mask_apply(&mask_buf[mask_p], x, h, draw_area_w); - b0d8: eb09 0807 add.w r8, r9, r7 - b0dc: 462b mov r3, r5 - b0de: b232 sxth r2, r6 - b0e0: 9905 ldr r1, [sp, #20] - b0e2: 4640 mov r0, r8 - b0e4: 4c4a ldr r4, [pc, #296] ; (b210 ) - b0e6: 47a0 blx r4 + b0c0: eb09 0807 add.w r8, r9, r7 + b0c4: 462b mov r3, r5 + b0c6: b232 sxth r2, r6 + b0c8: 9905 ldr r1, [sp, #20] + b0ca: 4640 mov r0, r8 + b0cc: 4c4a ldr r4, [pc, #296] ; (b1f8 ) + b0ce: 47a0 blx r4 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - b0e8: 2800 cmp r0, #0 - b0ea: d0cc beq.n b086 + b0d0: 2800 cmp r0, #0 + b0d2: d0cc beq.n b06e mask_p += draw_area_w; - b0ec: 442f add r7, r5 + b0d4: 442f add r7, r5 if((uint32_t) mask_p + draw_area_w < mask_buf_size) { - b0ee: 19eb adds r3, r5, r7 - b0f0: 459b cmp fp, r3 - b0f2: d9cd bls.n b090 + b0d6: 19eb adds r3, r5, r7 + b0d8: 459b cmp fp, r3 + b0da: d9cd bls.n b078 fill_area.y2 ++; - b0f4: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 - b0f8: 3301 adds r3, #1 - b0fa: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 - b0fe: e7e3 b.n b0c8 - b100: 9c09 ldr r4, [sp, #36] ; 0x24 + b0dc: f8bd 3046 ldrh.w r3, [sp, #70] ; 0x46 + b0e0: 3301 adds r3, #1 + b0e2: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + b0e6: e7e3 b.n b0b0 + b0e8: 9c09 ldr r4, [sp, #36] ; 0x24 } } /*Flush the last part*/ if(fill_area.y1 != fill_area.y2) { - b102: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 - b106: f9bd 2042 ldrsh.w r2, [sp, #66] ; 0x42 - b10a: 429a cmp r2, r3 - b10c: d010 beq.n b130 + b0ea: f9bd 3046 ldrsh.w r3, [sp, #70] ; 0x46 + b0ee: f9bd 2042 ldrsh.w r2, [sp, #66] ; 0x42 + b0f2: 429a cmp r2, r3 + b0f4: d010 beq.n b118 fill_area.y2--; - b10e: 3b01 subs r3, #1 - b110: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 + b0f6: 3b01 subs r3, #1 + b0f8: f8ad 3046 strh.w r3, [sp, #70] ; 0x46 _lv_blend_fill(&fill_area, clip, dsc->color, mask_buf, LV_DRAW_MASK_RES_CHANGED, dsc->opa, dsc->blend_mode); - b114: 7a63 ldrb r3, [r4, #9] + b0fc: 7a63 ldrb r3, [r4, #9] _lv_blend_fill(&fill_area, clip, - b116: f003 0303 and.w r3, r3, #3 - b11a: 9302 str r3, [sp, #8] - b11c: 7a23 ldrb r3, [r4, #8] - b11e: 9301 str r3, [sp, #4] - b120: 2302 movs r3, #2 - b122: 9300 str r3, [sp, #0] - b124: 464b mov r3, r9 - b126: 8822 ldrh r2, [r4, #0] - b128: a948 add r1, sp, #288 ; 0x120 - b12a: a810 add r0, sp, #64 ; 0x40 - b12c: 4d36 ldr r5, [pc, #216] ; (b208 ) - b12e: 47a8 blx r5 + b0fe: f003 0303 and.w r3, r3, #3 + b102: 9302 str r3, [sp, #8] + b104: 7a23 ldrb r3, [r4, #8] + b106: 9301 str r3, [sp, #4] + b108: 2302 movs r3, #2 + b10a: 9300 str r3, [sp, #0] + b10c: 464b mov r3, r9 + b10e: 8822 ldrh r2, [r4, #0] + b110: a948 add r1, sp, #288 ; 0x120 + b112: a810 add r0, sp, #64 ; 0x40 + b114: 4d36 ldr r5, [pc, #216] ; (b1f0 ) + b116: 47a8 blx r5 } _lv_mem_buf_release(mask_buf); - b130: 4648 mov r0, r9 - b132: 4b30 ldr r3, [pc, #192] ; (b1f4 ) - b134: 4798 blx r3 + b118: 4648 mov r0, r9 + b11a: 4b30 ldr r3, [pc, #192] ; (b1dc ) + b11c: 4798 blx r3 lv_draw_mask_remove_id(mask_left_id); - b136: 980b ldr r0, [sp, #44] ; 0x2c - b138: 4d36 ldr r5, [pc, #216] ; (b214 ) - b13a: 47a8 blx r5 + b11e: 980b ldr r0, [sp, #44] ; 0x2c + b120: 4d36 ldr r5, [pc, #216] ; (b1fc ) + b122: 47a8 blx r5 lv_draw_mask_remove_id(mask_right_id); - b13c: 980c ldr r0, [sp, #48] ; 0x30 - b13e: 47a8 blx r5 + b124: 980c ldr r0, [sp, #48] ; 0x30 + b126: 47a8 blx r5 lv_draw_mask_remove_id(mask_top_id); - b140: 980a ldr r0, [sp, #40] ; 0x28 - b142: 47a8 blx r5 + b128: 980a ldr r0, [sp, #40] ; 0x28 + b12a: 47a8 blx r5 lv_draw_mask_remove_id(mask_bottom_id); - b144: 980d ldr r0, [sp, #52] ; 0x34 - b146: 47a8 blx r5 + b12c: 980d ldr r0, [sp, #52] ; 0x34 + b12e: 47a8 blx r5 if(dsc->round_end || dsc->round_start) { - b148: 7a63 ldrb r3, [r4, #9] - b14a: f013 0f0c tst.w r3, #12 - b14e: d102 bne.n b156 + b130: 7a63 ldrb r3, [r4, #9] + b132: f013 0f0c tst.w r3, #12 + b136: d102 bne.n b13e } - b150: b04b add sp, #300 ; 0x12c - b152: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + b138: b04b add sp, #300 ; 0x12c + b13a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} lv_draw_rect_dsc_init(&cir_dsc); - b156: a833 add r0, sp, #204 ; 0xcc - b158: 4b2f ldr r3, [pc, #188] ; (b218 ) - b15a: 4798 blx r3 + b13e: a833 add r0, sp, #204 ; 0xcc + b140: 4b2f ldr r3, [pc, #188] ; (b200 ) + b142: 4798 blx r3 cir_dsc.bg_color = dsc->color; - b15c: 8823 ldrh r3, [r4, #0] - b15e: f8ad 30ce strh.w r3, [sp, #206] ; 0xce + b144: 8823 ldrh r3, [r4, #0] + b146: f8ad 30ce strh.w r3, [sp, #206] ; 0xce cir_dsc.radius = LV_RADIUS_CIRCLE; - b162: f647 73ff movw r3, #32767 ; 0x7fff - b166: f8ad 30cc strh.w r3, [sp, #204] ; 0xcc + b14a: f647 73ff movw r3, #32767 ; 0x7fff + b14e: f8ad 30cc strh.w r3, [sp, #204] ; 0xcc cir_dsc.bg_opa = dsc->opa; - b16a: 7a23 ldrb r3, [r4, #8] - b16c: f88d 30d8 strb.w r3, [sp, #216] ; 0xd8 + b152: 7a23 ldrb r3, [r4, #8] + b154: f88d 30d8 strb.w r3, [sp, #216] ; 0xd8 int32_t r = (dsc->width >> 1); - b170: f9b4 3002 ldrsh.w r3, [r4, #2] - b174: 105e asrs r6, r3, #1 + b158: f9b4 3002 ldrsh.w r3, [r4, #2] + b15c: 105e asrs r6, r3, #1 int32_t r_corr = (dsc->width & 1) ? 0 : 1; - b176: f083 0301 eor.w r3, r3, #1 - b17a: f003 0501 and.w r5, r3, #1 + b15e: f083 0301 eor.w r3, r3, #1 + b162: f003 0501 and.w r5, r3, #1 if(dsc->round_start) { - b17e: 7a63 ldrb r3, [r4, #9] - b180: f013 0f04 tst.w r3, #4 - b184: d11c bne.n b1c0 + b166: 7a63 ldrb r3, [r4, #9] + b168: f013 0f04 tst.w r3, #4 + b16c: d11c bne.n b1a8 if(dsc->round_end) { - b186: 7a63 ldrb r3, [r4, #9] - b188: f013 0f08 tst.w r3, #8 - b18c: d0e0 beq.n b150 + b16e: 7a63 ldrb r3, [r4, #9] + b170: f013 0f08 tst.w r3, #8 + b174: d0e0 beq.n b138 cir_area.x1 = point2->x - r; - b18e: 9907 ldr r1, [sp, #28] - b190: 880a ldrh r2, [r1, #0] - b192: b2b6 uxth r6, r6 - b194: 1b93 subs r3, r2, r6 - b196: f8ad 30a0 strh.w r3, [sp, #160] ; 0xa0 + b176: 9907 ldr r1, [sp, #28] + b178: 880a ldrh r2, [r1, #0] + b17a: b2b6 uxth r6, r6 + b17c: 1b93 subs r3, r2, r6 + b17e: f8ad 30a0 strh.w r3, [sp, #160] ; 0xa0 cir_area.y1 = point2->y - r; - b19a: 8849 ldrh r1, [r1, #2] - b19c: 1b8b subs r3, r1, r6 - b19e: f8ad 30a2 strh.w r3, [sp, #162] ; 0xa2 + b182: 8849 ldrh r1, [r1, #2] + b184: 1b8b subs r3, r1, r6 + b186: f8ad 30a2 strh.w r3, [sp, #162] ; 0xa2 cir_area.x2 = point2->x + r - r_corr; - b1a2: b2ab uxth r3, r5 - b1a4: 4432 add r2, r6 - b1a6: 1ad2 subs r2, r2, r3 - b1a8: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 + b18a: b2ab uxth r3, r5 + b18c: 4432 add r2, r6 + b18e: 1ad2 subs r2, r2, r3 + b190: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 cir_area.y2 = point2->y + r - r_corr ; - b1ac: 440e add r6, r1 - b1ae: 1af3 subs r3, r6, r3 - b1b0: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + b194: 440e add r6, r1 + b196: 1af3 subs r3, r6, r3 + b198: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 lv_draw_rect(&cir_area, clip, &cir_dsc); - b1b4: aa33 add r2, sp, #204 ; 0xcc - b1b6: 9908 ldr r1, [sp, #32] - b1b8: a828 add r0, sp, #160 ; 0xa0 - b1ba: 4b18 ldr r3, [pc, #96] ; (b21c ) - b1bc: 4798 blx r3 - b1be: e7c7 b.n b150 + b19c: aa33 add r2, sp, #204 ; 0xcc + b19e: 9908 ldr r1, [sp, #32] + b1a0: a828 add r0, sp, #160 ; 0xa0 + b1a2: 4b18 ldr r3, [pc, #96] ; (b204 ) + b1a4: 4798 blx r3 + b1a6: e7c7 b.n b138 cir_area.x1 = point1->x - r; - b1c0: 9806 ldr r0, [sp, #24] - b1c2: 8802 ldrh r2, [r0, #0] - b1c4: b2b3 uxth r3, r6 - b1c6: 1ad1 subs r1, r2, r3 - b1c8: f8ad 10a0 strh.w r1, [sp, #160] ; 0xa0 + b1a8: 9806 ldr r0, [sp, #24] + b1aa: 8802 ldrh r2, [r0, #0] + b1ac: b2b3 uxth r3, r6 + b1ae: 1ad1 subs r1, r2, r3 + b1b0: f8ad 10a0 strh.w r1, [sp, #160] ; 0xa0 cir_area.y1 = point1->y - r; - b1cc: 8840 ldrh r0, [r0, #2] - b1ce: 1ac1 subs r1, r0, r3 - b1d0: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 + b1b4: 8840 ldrh r0, [r0, #2] + b1b6: 1ac1 subs r1, r0, r3 + b1b8: f8ad 10a2 strh.w r1, [sp, #162] ; 0xa2 cir_area.x2 = point1->x + r - r_corr; - b1d4: b2a9 uxth r1, r5 - b1d6: 441a add r2, r3 - b1d8: 1a52 subs r2, r2, r1 - b1da: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 + b1bc: b2a9 uxth r1, r5 + b1be: 441a add r2, r3 + b1c0: 1a52 subs r2, r2, r1 + b1c2: f8ad 20a4 strh.w r2, [sp, #164] ; 0xa4 cir_area.y2 = point1->y + r - r_corr ; - b1de: 4403 add r3, r0 - b1e0: 1a5b subs r3, r3, r1 - b1e2: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 + b1c6: 4403 add r3, r0 + b1c8: 1a5b subs r3, r3, r1 + b1ca: f8ad 30a6 strh.w r3, [sp, #166] ; 0xa6 lv_draw_rect(&cir_area, clip, &cir_dsc); - b1e6: aa33 add r2, sp, #204 ; 0xcc - b1e8: 9908 ldr r1, [sp, #32] - b1ea: a828 add r0, sp, #160 ; 0xa0 - b1ec: 4b0b ldr r3, [pc, #44] ; (b21c ) - b1ee: 4798 blx r3 - b1f0: e7c9 b.n b186 - b1f2: bf00 nop - b1f4: 00012571 .word 0x00012571 - b1f8: 0000bee9 .word 0x0000bee9 - b1fc: 0000bdc1 .word 0x0000bdc1 - b200: 000114fd .word 0x000114fd - b204: 00012b37 .word 0x00012b37 - b208: 00007751 .word 0x00007751 - b20c: 00012bed .word 0x00012bed - b210: 0000be1d .word 0x0000be1d - b214: 0000be6d .word 0x0000be6d - b218: 0000c269 .word 0x0000c269 - b21c: 0000c331 .word 0x0000c331 - -0000b220 : + b1ce: aa33 add r2, sp, #204 ; 0xcc + b1d0: 9908 ldr r1, [sp, #32] + b1d2: a828 add r0, sp, #160 ; 0xa0 + b1d4: 4b0b ldr r3, [pc, #44] ; (b204 ) + b1d6: 4798 blx r3 + b1d8: e7c9 b.n b16e + b1da: bf00 nop + b1dc: 00012559 .word 0x00012559 + b1e0: 0000bed1 .word 0x0000bed1 + b1e4: 0000bda9 .word 0x0000bda9 + b1e8: 000114e5 .word 0x000114e5 + b1ec: 00012b1f .word 0x00012b1f + b1f0: 00007739 .word 0x00007739 + b1f4: 00012bd5 .word 0x00012bd5 + b1f8: 0000be05 .word 0x0000be05 + b1fc: 0000be55 .word 0x0000be55 + b200: 0000c251 .word 0x0000c251 + b204: 0000c319 .word 0x0000c319 + +0000b208 : **********************/ LV_ATTRIBUTE_FAST_MEM static lv_draw_mask_res_t lv_draw_mask_line(lv_opa_t * mask_buf, lv_coord_t abs_x, lv_coord_t abs_y, lv_coord_t len, lv_draw_mask_line_param_t * p) { - b220: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - b224: 9c06 ldr r4, [sp, #24] + b208: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + b20c: 9c06 ldr r4, [sp, #24] /*Make to points relative to the vertex*/ abs_y -= p->origo.y; - b226: 8aa5 ldrh r5, [r4, #20] - b228: 1b52 subs r2, r2, r5 - b22a: b212 sxth r2, r2 + b20e: 8aa5 ldrh r5, [r4, #20] + b210: 1b52 subs r2, r2, r5 + b212: b212 sxth r2, r2 abs_x -= p->origo.x; - b22c: 8a65 ldrh r5, [r4, #18] - b22e: 1b4d subs r5, r1, r5 - b230: b22d sxth r5, r5 + b214: 8a65 ldrh r5, [r4, #18] + b216: 1b4d subs r5, r1, r5 + b218: b22d sxth r5, r5 /*Handle special cases*/ if(p->steep == 0) { - b232: 6a21 ldr r1, [r4, #32] - b234: 2900 cmp r1, #0 - b236: d14b bne.n b2d0 + b21a: 6a21 ldr r1, [r4, #32] + b21c: 2900 cmp r1, #0 + b21e: d14b bne.n b2b8 /*Horizontal*/ if(p->flat) { - b238: f894 1028 ldrb.w r1, [r4, #40] ; 0x28 - b23c: f011 0f01 tst.w r1, #1 - b240: d016 beq.n b270 + b220: f894 1028 ldrb.w r1, [r4, #40] ; 0x28 + b224: f011 0f01 tst.w r1, #1 + b228: d016 beq.n b258 /*Non sense: Can't be on the right/left of a horizontal line*/ if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT || - b242: 7c23 ldrb r3, [r4, #16] - b244: f003 0303 and.w r3, r3, #3 - b248: 2b01 cmp r3, #1 - b24a: f240 81db bls.w b604 + b22a: 7c23 ldrb r3, [r4, #16] + b22c: f003 0303 and.w r3, r3, #3 + b230: 2b01 cmp r3, #1 + b232: f240 81db bls.w b5ec p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b24e: 2b02 cmp r3, #2 - b250: d004 beq.n b25c + b236: 2b02 cmp r3, #2 + b238: d004 beq.n b244 else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM && abs_y > 0) return LV_DRAW_MASK_RES_FULL_COVER; - b252: 2b03 cmp r3, #3 - b254: d006 beq.n b264 + b23a: 2b03 cmp r3, #3 + b23c: d006 beq.n b24c else { return LV_DRAW_MASK_RES_TRANSP; - b256: 2000 movs r0, #0 - b258: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b23e: 2000 movs r0, #0 + b240: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP && abs_y + 1 < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b25c: 3201 adds r2, #1 + b244: 3201 adds r2, #1 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b25e: 0fd0 lsrs r0, r2, #31 - b260: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - b264: 2a00 cmp r2, #0 - b266: bfd4 ite le - b268: 2000 movle r0, #0 - b26a: 2001 movgt r0, #1 - b26c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b246: 0fd0 lsrs r0, r2, #31 + b248: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b24c: 2a00 cmp r2, #0 + b24e: bfd4 ite le + b250: 2000 movle r0, #0 + b252: 2001 movgt r0, #1 + b254: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} } } /*Vertical*/ else { /*Non sense: Can't be on the top/bottom of a vertical line*/ if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP || - b270: 7c22 ldrb r2, [r4, #16] - b272: f002 0203 and.w r2, r2, #3 - b276: 1e91 subs r1, r2, #2 - b278: b2c9 uxtb r1, r1 - b27a: 2901 cmp r1, #1 - b27c: f240 81c5 bls.w b60a + b258: 7c22 ldrb r2, [r4, #16] + b25a: f002 0203 and.w r2, r2, #3 + b25e: 1e91 subs r1, r2, #2 + b260: b2c9 uxtb r1, r1 + b262: 2901 cmp r1, #1 + b264: f240 81c5 bls.w b5f2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER; else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER; - b280: 2a01 cmp r2, #1 - b282: d00c beq.n b29e + b268: 2a01 cmp r2, #1 + b26a: d00c beq.n b286 else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) { - b284: b9b2 cbnz r2, b2b4 + b26c: b9b2 cbnz r2, b29c if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b286: 18e9 adds r1, r5, r3 - b288: f100 81c2 bmi.w b610 + b26e: 18e9 adds r1, r5, r3 + b270: f100 81c2 bmi.w b5f8 else { int32_t k = - abs_x; - b28c: 426d negs r5, r5 + b274: 426d negs r5, r5 if(k < 0) return LV_DRAW_MASK_RES_TRANSP; - b28e: 2d00 cmp r5, #0 - b290: f2c0 81c1 blt.w b616 + b276: 2d00 cmp r5, #0 + b278: f2c0 81c1 blt.w b5fe if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k); - b294: 42ab cmp r3, r5 - b296: dc07 bgt.n b2a8 + b27c: 42ab cmp r3, r5 + b27e: dc07 bgt.n b290 return LV_DRAW_MASK_RES_CHANGED; - b298: 2002 movs r0, #2 - b29a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b280: 2002 movs r0, #2 + b282: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} else if(p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT && abs_x > 0) return LV_DRAW_MASK_RES_FULL_COVER; - b29e: 2d00 cmp r5, #0 - b2a0: dd08 ble.n b2b4 - b2a2: 2001 movs r0, #1 - b2a4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b286: 2d00 cmp r5, #0 + b288: dd08 ble.n b29c + b28a: 2001 movs r0, #1 + b28c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k >= 0 && k < len) _lv_memset_00(&mask_buf[k], len - k); - b2a8: 4428 add r0, r5 - b2aa: 4bcd ldr r3, [pc, #820] ; (b5e0 ) - b2ac: 4798 blx r3 + b290: 4428 add r0, r5 + b292: 4bcd ldr r3, [pc, #820] ; (b5c8 ) + b294: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b2ae: 2002 movs r0, #2 - b2b0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b296: 2002 movs r0, #2 + b298: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} } } else { if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP; - b2b4: 42dd cmn r5, r3 - b2b6: f100 81b1 bmi.w b61c + b29c: 42dd cmn r5, r3 + b29e: f100 81b1 bmi.w b604 else { int32_t k = - abs_x; - b2ba: 4269 negs r1, r5 - b2bc: ea21 71e1 bic.w r1, r1, r1, asr #31 + b2a2: 4269 negs r1, r5 + b2a4: ea21 71e1 bic.w r1, r1, r1, asr #31 if(k < 0) k = 0; if(k >= len) return LV_DRAW_MASK_RES_TRANSP; - b2c0: 428b cmp r3, r1 - b2c2: f340 81ae ble.w b622 + b2a8: 428b cmp r3, r1 + b2aa: f340 81ae ble.w b60a else if(k >= 0 && k < len) _lv_memset_00(&mask_buf[0], k); - b2c6: 4bc6 ldr r3, [pc, #792] ; (b5e0 ) - b2c8: 4798 blx r3 + b2ae: 4bc6 ldr r3, [pc, #792] ; (b5c8 ) + b2b0: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b2ca: 2002 movs r0, #2 - b2cc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b2b2: 2002 movs r0, #2 + b2b4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} } } } lv_draw_mask_res_t res; if(p->flat) { - b2d0: f894 6028 ldrb.w r6, [r4, #40] ; 0x28 - b2d4: f016 0f01 tst.w r6, #1 - b2d8: d10f bne.n b2fa + b2b8: f894 6028 ldrb.w r6, [r4, #40] ; 0x28 + b2bc: f016 0f01 tst.w r6, #1 + b2c0: d10f bne.n b2e2 { int32_t k; int32_t x_at_y; /* At the beginning of the mask if the limit line is greater then the mask's y. * Then the mask is in the "wrong" area*/ x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10; - b2da: 69a7 ldr r7, [r4, #24] - b2dc: fb02 f107 mul.w r1, r2, r7 - b2e0: 1289 asrs r1, r1, #10 + b2c2: 69a7 ldr r7, [r4, #24] + b2c4: fb02 f107 mul.w r1, r2, r7 + b2c8: 1289 asrs r1, r1, #10 if(p->xy_steep > 0) x_at_y++; - b2e2: 2f00 cmp r7, #0 - b2e4: bfcc ite gt - b2e6: f101 0e01 addgt.w lr, r1, #1 + b2ca: 2f00 cmp r7, #0 + b2cc: bfcc ite gt + b2ce: f101 0e01 addgt.w lr, r1, #1 x_at_y = (int32_t)((int32_t)p->xy_steep * abs_y) >> 10; - b2ea: 468e movle lr, r1 + b2d2: 468e movle lr, r1 if(x_at_y < abs_x) { - b2ec: 4575 cmp r5, lr - b2ee: f340 8098 ble.w b422 + b2d4: 4575 cmp r5, lr + b2d6: f340 8098 ble.w b40a p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b2f2: f3c6 0040 ubfx r0, r6, #1, #1 - b2f6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b2da: f3c6 0040 ubfx r0, r6, #1, #1 + b2de: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} y_at_x = (int32_t)((int32_t)p->yx_steep * abs_x) >> 10; - b2fa: 69e1 ldr r1, [r4, #28] - b2fc: fb05 f701 mul.w r7, r5, r1 - b300: 12bf asrs r7, r7, #10 + b2e2: 69e1 ldr r1, [r4, #28] + b2e4: fb05 f701 mul.w r7, r5, r1 + b2e8: 12bf asrs r7, r7, #10 if(p->yx_steep > 0) { - b302: 2900 cmp r1, #0 - b304: dd06 ble.n b314 + b2ea: 2900 cmp r1, #0 + b2ec: dd06 ble.n b2fc if(y_at_x > abs_y) { - b306: 4297 cmp r7, r2 - b308: f340 81b8 ble.w b67c + b2ee: 4297 cmp r7, r2 + b2f0: f340 81b8 ble.w b664 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b30c: f3c6 0040 ubfx r0, r6, #1, #1 - b310: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b2f4: f3c6 0040 ubfx r0, r6, #1, #1 + b2f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(y_at_x < abs_y) { - b314: 4297 cmp r7, r2 - b316: f280 81ed bge.w b6f4 + b2fc: 4297 cmp r7, r2 + b2fe: f280 81ed bge.w b6dc p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b31a: f3c6 0040 ubfx r0, r6, #1, #1 - b31e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b302: f3c6 0040 ubfx r0, r6, #1, #1 + b306: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(p->inv) { - b322: f086 0002 eor.w r0, r6, #2 + b30a: f086 0002 eor.w r0, r6, #2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b326: f3c0 0040 ubfx r0, r0, #1, #1 - b32a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b30e: f3c0 0040 ubfx r0, r0, #1, #1 + b312: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(p->inv) { - b32e: f086 0002 eor.w r0, r6, #2 + b316: f086 0002 eor.w r0, r6, #2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b332: f3c0 0040 ubfx r0, r0, #1, #1 - b336: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b31a: f3c0 0040 ubfx r0, r0, #1, #1 + b31e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_ATTRIBUTE_FAST_MEM static inline lv_opa_t mask_mix(lv_opa_t mask_act, lv_opa_t mask_new) { if(mask_new >= LV_OPA_MAX) return mask_act; if(mask_new <= LV_OPA_MIN) return 0; - b33a: 2500 movs r5, #0 - b33c: e1d4 b.n b6e8 - b33e: 46f4 mov ip, lr + b322: 2500 movs r5, #0 + b324: e1d4 b.n b6d0 + b326: 46f4 mov ip, lr mask_buf[k] = mask_mix(mask_buf[k], m); - b340: f888 c000 strb.w ip, [r8] + b328: f888 c000 strb.w ip, [r8] px_h -= p->spx; - b344: 6a63 ldr r3, [r4, #36] ; 0x24 - b346: 1ad2 subs r2, r2, r3 + b32c: 6a63 ldr r3, [r4, #36] ; 0x24 + b32e: 1ad2 subs r2, r2, r3 k++; - b348: 3501 adds r5, #1 - b34a: 3601 adds r6, #1 + b330: 3501 adds r5, #1 + b332: 3601 adds r6, #1 if(k >= len) break; - b34c: 42bd cmp r5, r7 - b34e: da49 bge.n b3e4 + b334: 42bd cmp r5, r7 + b336: da49 bge.n b3cc while(px_h > p->spx) { - b350: 6a63 ldr r3, [r4, #36] ; 0x24 - b352: 429a cmp r2, r3 - b354: dd1d ble.n b392 + b338: 6a63 ldr r3, [r4, #36] ; 0x24 + b33a: 429a cmp r2, r3 + b33c: dd1d ble.n b37a if(k >= 0 && k < len) { - b356: 2d00 cmp r5, #0 - b358: dbf4 blt.n b344 - b35a: 42bd cmp r5, r7 - b35c: daf2 bge.n b344 + b33e: 2d00 cmp r5, #0 + b340: dbf4 blt.n b32c + b342: 42bd cmp r5, r7 + b344: daf2 bge.n b32c m = px_h - (p->spx >> 1); - b35e: eba2 0363 sub.w r3, r2, r3, asr #1 - b362: b2db uxtb r3, r3 + b346: eba2 0363 sub.w r3, r2, r3, asr #1 + b34a: b2db uxtb r3, r3 if(p->inv) m = 255 - m; - b364: f894 c028 ldrb.w ip, [r4, #40] ; 0x28 - b368: f01c 0f02 tst.w ip, #2 - b36c: bf1c itt ne - b36e: 43db mvnne r3, r3 - b370: b2db uxtbne r3, r3 - b372: 46b0 mov r8, r6 + b34c: f894 c028 ldrb.w ip, [r4, #40] ; 0x28 + b350: f01c 0f02 tst.w ip, #2 + b354: bf1c itt ne + b356: 43db mvnne r3, r3 + b358: b2db uxtbne r3, r3 + b35a: 46b0 mov r8, r6 mask_buf[k] = mask_mix(mask_buf[k], m); - b374: f896 c000 ldrb.w ip, [r6] + b35c: f896 c000 ldrb.w ip, [r6] if(mask_new >= LV_OPA_MAX) return mask_act; - b378: 2bf9 cmp r3, #249 ; 0xf9 - b37a: d8e1 bhi.n b340 + b360: 2bf9 cmp r3, #249 ; 0xf9 + b362: d8e1 bhi.n b328 if(mask_new <= LV_OPA_MIN) return 0; - b37c: 2b05 cmp r3, #5 - b37e: d9de bls.n b33e + b364: 2b05 cmp r3, #5 + b366: d9de bls.n b326 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b380: fb03 f30c mul.w r3, r3, ip - b384: eb03 2c03 add.w ip, r3, r3, lsl #8 - b388: eb03 13cc add.w r3, r3, ip, lsl #7 - b38c: f3c3 5cc7 ubfx ip, r3, #23, #8 - b390: e7d6 b.n b340 + b368: fb03 f30c mul.w r3, r3, ip + b36c: eb03 2c03 add.w ip, r3, r3, lsl #8 + b370: eb03 13cc add.w r3, r3, ip, lsl #7 + b374: f3c3 5cc7 ubfx ip, r3, #23, #8 + b378: e7d6 b.n b328 if(k < len && k >= 0) { - b392: 42bd cmp r5, r7 - b394: da26 bge.n b3e4 - b396: 2d00 cmp r5, #0 - b398: db24 blt.n b3e4 + b37a: 42bd cmp r5, r7 + b37c: da26 bge.n b3cc + b37e: 2d00 cmp r5, #0 + b380: db24 blt.n b3cc int32_t x_inters = (px_h * p->xy_steep) >> 10; - b39a: 69a3 ldr r3, [r4, #24] - b39c: fb03 f302 mul.w r3, r3, r2 - b3a0: 129b asrs r3, r3, #10 + b382: 69a3 ldr r3, [r4, #24] + b384: fb03 f302 mul.w r3, r3, r2 + b388: 129b asrs r3, r3, #10 m = (x_inters * px_h) >> 9; - b3a2: fb02 f203 mul.w r2, r2, r3 - b3a6: f3c2 2247 ubfx r2, r2, #9, #8 + b38a: fb02 f203 mul.w r2, r2, r3 + b38e: f3c2 2247 ubfx r2, r2, #9, #8 if(p->yx_steep < 0) m = 255 - m; - b3aa: 69e3 ldr r3, [r4, #28] - b3ac: 2b00 cmp r3, #0 - b3ae: bfbc itt lt - b3b0: 43d2 mvnlt r2, r2 - b3b2: b2d2 uxtblt r2, r2 + b392: 69e3 ldr r3, [r4, #28] + b394: 2b00 cmp r3, #0 + b396: bfbc itt lt + b398: 43d2 mvnlt r2, r2 + b39a: b2d2 uxtblt r2, r2 if(p->inv) m = 255 - m; - b3b4: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - b3b8: f013 0f02 tst.w r3, #2 - b3bc: bf1c itt ne - b3be: 43d2 mvnne r2, r2 - b3c0: b2d2 uxtbne r2, r2 + b39c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + b3a0: f013 0f02 tst.w r3, #2 + b3a4: bf1c itt ne + b3a6: 43d2 mvnne r2, r2 + b3a8: b2d2 uxtbne r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - b3c2: 1946 adds r6, r0, r5 - b3c4: 5d43 ldrb r3, [r0, r5] + b3aa: 1946 adds r6, r0, r5 + b3ac: 5d43 ldrb r3, [r0, r5] if(mask_new >= LV_OPA_MAX) return mask_act; - b3c6: 2af9 cmp r2, #249 ; 0xf9 - b3c8: d80b bhi.n b3e2 + b3ae: 2af9 cmp r2, #249 ; 0xf9 + b3b0: d80b bhi.n b3ca if(mask_new <= LV_OPA_MIN) return 0; - b3ca: 2a05 cmp r2, #5 - b3cc: d908 bls.n b3e0 + b3b2: 2a05 cmp r2, #5 + b3b4: d908 bls.n b3c8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b3ce: fb02 f203 mul.w r2, r2, r3 - b3d2: eb02 2302 add.w r3, r2, r2, lsl #8 - b3d6: eb02 12c3 add.w r2, r2, r3, lsl #7 - b3da: f3c2 53c7 ubfx r3, r2, #23, #8 - b3de: e000 b.n b3e2 + b3b6: fb02 f203 mul.w r2, r2, r3 + b3ba: eb02 2302 add.w r3, r2, r2, lsl #8 + b3be: eb02 12c3 add.w r2, r2, r3, lsl #7 + b3c2: f3c2 53c7 ubfx r3, r2, #23, #8 + b3c6: e000 b.n b3ca if(mask_new <= LV_OPA_MIN) return 0; - b3e0: 2300 movs r3, #0 + b3c8: 2300 movs r3, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - b3e2: 7033 strb r3, [r6, #0] + b3ca: 7033 strb r3, [r6, #0] if(p->inv) { - b3e4: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - b3e8: f013 0f02 tst.w r3, #2 - b3ec: d00a beq.n b404 + b3cc: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + b3d0: f013 0f02 tst.w r3, #2 + b3d4: d00a beq.n b3ec if(k > len) { - b3ee: 428f cmp r7, r1 - b3f0: f2c0 811a blt.w b628 + b3d6: 428f cmp r7, r1 + b3d8: f2c0 811a blt.w b610 if(k >= 0) { - b3f4: 2900 cmp r1, #0 - b3f6: f2c0 811a blt.w b62e + b3dc: 2900 cmp r1, #0 + b3de: f2c0 811a blt.w b616 _lv_memset_00(&mask_buf[0], k); - b3fa: 4b79 ldr r3, [pc, #484] ; (b5e0 ) - b3fc: 4798 blx r3 + b3e2: 4b79 ldr r3, [pc, #484] ; (b5c8 ) + b3e4: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b3fe: 2002 movs r0, #2 - b400: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b3e6: 2002 movs r0, #2 + b3e8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k < 0) { - b404: 3501 adds r5, #1 - b406: f100 8115 bmi.w b634 + b3ec: 3501 adds r5, #1 + b3ee: f100 8115 bmi.w b61c if(k <= len) { - b40a: 42bd cmp r5, r7 - b40c: dd02 ble.n b414 + b3f2: 42bd cmp r5, r7 + b3f4: dd02 ble.n b3fc return LV_DRAW_MASK_RES_CHANGED; - b40e: 2002 movs r0, #2 - b410: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b3f6: 2002 movs r0, #2 + b3f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} _lv_memset_00(&mask_buf[k], len - k); - b414: 1b79 subs r1, r7, r5 - b416: 4428 add r0, r5 - b418: 4b71 ldr r3, [pc, #452] ; (b5e0 ) - b41a: 4798 blx r3 + b3fc: 1b79 subs r1, r7, r5 + b3fe: 4428 add r0, r5 + b400: 4b71 ldr r3, [pc, #452] ; (b5c8 ) + b402: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b41c: 2002 movs r0, #2 - b41e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b404: 2002 movs r0, #2 + b406: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(x_at_y > abs_x + len) { - b422: eb05 0e03 add.w lr, r5, r3 - b426: 4571 cmp r1, lr - b428: dd05 ble.n b436 + b40a: eb05 0e03 add.w lr, r5, r3 + b40e: 4571 cmp r1, lr + b410: dd05 ble.n b41e if(p->inv) { - b42a: f086 0002 eor.w r0, r6, #2 + b412: f086 0002 eor.w r0, r6, #2 p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b42e: f3c0 0040 ubfx r0, r0, #1, #1 - b432: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b416: f3c0 0040 ubfx r0, r0, #1, #1 + b41a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} int32_t xs = ((abs_y << 8) * p->xy_steep) >> 10; - b436: 0211 lsls r1, r2, #8 - b438: fb07 f101 mul.w r1, r7, r1 + b41e: 0211 lsls r1, r2, #8 + b420: fb07 f101 mul.w r1, r7, r1 int32_t xsi = xs >> 8; - b43c: ea4f 48a1 mov.w r8, r1, asr #18 + b424: ea4f 48a1 mov.w r8, r1, asr #18 int32_t xsf = xs & 0xFF; - b440: f3c1 2187 ubfx r1, r1, #10, #8 + b428: f3c1 2187 ubfx r1, r1, #10, #8 int32_t xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10; - b444: 3201 adds r2, #1 - b446: 0212 lsls r2, r2, #8 - b448: fb07 f202 mul.w r2, r7, r2 + b42c: 3201 adds r2, #1 + b42e: 0212 lsls r2, r2, #8 + b430: fb07 f202 mul.w r2, r7, r2 int32_t xei = xe >> 8; - b44c: ea4f 4ca2 mov.w ip, r2, asr #18 + b434: ea4f 4ca2 mov.w ip, r2, asr #18 k = xsi - abs_x; - b450: eba8 0e05 sub.w lr, r8, r5 + b438: eba8 0e05 sub.w lr, r8, r5 if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) { - b454: 45e0 cmp r8, ip - b456: d063 beq.n b520 - b458: 2f00 cmp r7, #0 - b45a: db5b blt.n b514 + b43c: 45e0 cmp r8, ip + b43e: d063 beq.n b508 + b440: 2f00 cmp r7, #0 + b442: db5b blt.n b4fc y_inters = ((255 - xsf) * p->yx_steep) >> 10; - b45c: f1c1 01ff rsb r1, r1, #255 ; 0xff - b460: 69e2 ldr r2, [r4, #28] - b462: fb02 f201 mul.w r2, r2, r1 - b466: 1295 asrs r5, r2, #10 + b444: f1c1 01ff rsb r1, r1, #255 ; 0xff + b448: 69e2 ldr r2, [r4, #28] + b44a: fb02 f201 mul.w r2, r2, r1 + b44e: 1295 asrs r5, r2, #10 if(k >= 0 && k < len) { - b468: f1be 0f00 cmp.w lr, #0 - b46c: db1c blt.n b4a8 - b46e: 4573 cmp r3, lr - b470: dd1a ble.n b4a8 + b450: f1be 0f00 cmp.w lr, #0 + b454: db1c blt.n b490 + b456: 4573 cmp r3, lr + b458: dd1a ble.n b490 m = 255 - ((y_inters * (255 - xsf)) >> 9); - b472: fb05 f101 mul.w r1, r5, r1 - b476: f3c1 2247 ubfx r2, r1, #9, #8 + b45a: fb05 f101 mul.w r1, r5, r1 + b45e: f3c1 2247 ubfx r2, r1, #9, #8 if(p->inv) m = 255 - m; - b47a: f016 0f02 tst.w r6, #2 + b462: f016 0f02 tst.w r6, #2 m = 255 - ((y_inters * (255 - xsf)) >> 9); - b47e: bf04 itt eq - b480: 43d2 mvneq r2, r2 - b482: b2d2 uxtbeq r2, r2 + b466: bf04 itt eq + b468: 43d2 mvneq r2, r2 + b46a: b2d2 uxtbeq r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - b484: eb00 060e add.w r6, r0, lr - b488: f810 100e ldrb.w r1, [r0, lr] + b46c: eb00 060e add.w r6, r0, lr + b470: f810 100e ldrb.w r1, [r0, lr] if(mask_new >= LV_OPA_MAX) return mask_act; - b48c: 2af9 cmp r2, #249 ; 0xf9 - b48e: d80a bhi.n b4a6 + b474: 2af9 cmp r2, #249 ; 0xf9 + b476: d80a bhi.n b48e if(mask_new <= LV_OPA_MIN) return 0; - b490: 2a05 cmp r2, #5 - b492: f240 80a1 bls.w b5d8 + b478: 2a05 cmp r2, #5 + b47a: f240 80a1 bls.w b5c0 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b496: fb02 f201 mul.w r2, r2, r1 - b49a: eb02 2102 add.w r1, r2, r2, lsl #8 - b49e: eb02 12c1 add.w r2, r2, r1, lsl #7 - b4a2: f3c2 51c7 ubfx r1, r2, #23, #8 + b47e: fb02 f201 mul.w r2, r2, r1 + b482: eb02 2102 add.w r1, r2, r2, lsl #8 + b486: eb02 12c1 add.w r2, r2, r1, lsl #7 + b48a: f3c2 51c7 ubfx r1, r2, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - b4a6: 7031 strb r1, [r6, #0] + b48e: 7031 strb r1, [r6, #0] if(k >= 0 && k < len) { - b4a8: f11e 0101 adds.w r1, lr, #1 - b4ac: d420 bmi.n b4f0 - b4ae: 428b cmp r3, r1 - b4b0: dd1e ble.n b4f0 + b490: f11e 0101 adds.w r1, lr, #1 + b494: d420 bmi.n b4d8 + b496: 428b cmp r3, r1 + b498: dd1e ble.n b4d8 int32_t x_inters = ((255 - y_inters) * p->xy_steep) >> 10; - b4b2: f1c5 02ff rsb r2, r5, #255 ; 0xff - b4b6: 69a5 ldr r5, [r4, #24] - b4b8: fb05 f502 mul.w r5, r5, r2 - b4bc: 12ad asrs r5, r5, #10 + b49a: f1c5 02ff rsb r2, r5, #255 ; 0xff + b49e: 69a5 ldr r5, [r4, #24] + b4a0: fb05 f502 mul.w r5, r5, r2 + b4a4: 12ad asrs r5, r5, #10 m = ((255 - y_inters) * x_inters) >> 9; - b4be: fb02 f205 mul.w r2, r2, r5 - b4c2: f3c2 2247 ubfx r2, r2, #9, #8 + b4a6: fb02 f205 mul.w r2, r2, r5 + b4aa: f3c2 2247 ubfx r2, r2, #9, #8 if(p->inv) m = 255 - m; - b4c6: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 - b4ca: f015 0f02 tst.w r5, #2 - b4ce: bf1c itt ne - b4d0: 43d2 mvnne r2, r2 - b4d2: b2d2 uxtbne r2, r2 + b4ae: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 + b4b2: f015 0f02 tst.w r5, #2 + b4b6: bf1c itt ne + b4b8: 43d2 mvnne r2, r2 + b4ba: b2d2 uxtbne r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - b4d4: 5c45 ldrb r5, [r0, r1] + b4bc: 5c45 ldrb r5, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - b4d6: 2af9 cmp r2, #249 ; 0xf9 - b4d8: d809 bhi.n b4ee + b4be: 2af9 cmp r2, #249 ; 0xf9 + b4c0: d809 bhi.n b4d6 if(mask_new <= LV_OPA_MIN) return 0; - b4da: 2a05 cmp r2, #5 - b4dc: d97e bls.n b5dc + b4c2: 2a05 cmp r2, #5 + b4c4: d97e bls.n b5c4 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b4de: fb02 f205 mul.w r2, r2, r5 - b4e2: eb02 2502 add.w r5, r2, r2, lsl #8 - b4e6: eb02 12c5 add.w r2, r2, r5, lsl #7 - b4ea: f3c2 55c7 ubfx r5, r2, #23, #8 + b4c6: fb02 f205 mul.w r2, r2, r5 + b4ca: eb02 2502 add.w r5, r2, r2, lsl #8 + b4ce: eb02 12c5 add.w r2, r2, r5, lsl #7 + b4d2: f3c2 55c7 ubfx r5, r2, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - b4ee: 5445 strb r5, [r0, r1] + b4d6: 5445 strb r5, [r0, r1] if(p->inv) { - b4f0: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - b4f4: f012 0f02 tst.w r2, #2 - b4f8: d074 beq.n b5e4 + b4d8: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + b4dc: f012 0f02 tst.w r2, #2 + b4e0: d074 beq.n b5cc if(k > len) return LV_DRAW_MASK_RES_TRANSP; - b4fa: 4573 cmp r3, lr - b4fc: f2c0 80b2 blt.w b664 + b4e2: 4573 cmp r3, lr + b4e4: f2c0 80b2 blt.w b64c if(k >= 0) _lv_memset_00(&mask_buf[0], k); - b500: f1be 0f00 cmp.w lr, #0 - b504: f2c0 80b1 blt.w b66a - b508: 4671 mov r1, lr - b50a: 4b35 ldr r3, [pc, #212] ; (b5e0 ) - b50c: 4798 blx r3 + b4e8: f1be 0f00 cmp.w lr, #0 + b4ec: f2c0 80b1 blt.w b652 + b4f0: 4671 mov r1, lr + b4f2: 4b35 ldr r3, [pc, #212] ; (b5c8 ) + b4f4: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b50e: 2002 movs r0, #2 - b510: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b4f6: 2002 movs r0, #2 + b4f8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(xsi != xei && (p->xy_steep < 0 && xsf == 0)) { - b514: 2900 cmp r1, #0 - b516: f040 8100 bne.w b71a + b4fc: 2900 cmp r1, #0 + b4fe: f040 8100 bne.w b702 k--; - b51a: f10e 3eff add.w lr, lr, #4294967295 + b502: f10e 3eff add.w lr, lr, #4294967295 xsf = 0xFF; - b51e: 21ff movs r1, #255 ; 0xff + b506: 21ff movs r1, #255 ; 0xff if(k >= 0 && k < len) { - b520: f1be 0f00 cmp.w lr, #0 - b524: db1e blt.n b564 - b526: 4573 cmp r3, lr - b528: dd1c ble.n b564 + b508: f1be 0f00 cmp.w lr, #0 + b50c: db1e blt.n b54c + b50e: 4573 cmp r3, lr + b510: dd1c ble.n b54c int32_t xef = xe & 0xFF; - b52a: f3c2 2287 ubfx r2, r2, #10, #8 + b512: f3c2 2287 ubfx r2, r2, #10, #8 m = (xsf + xef) >> 1; - b52e: 440a add r2, r1 - b530: f3c2 0247 ubfx r2, r2, #1, #8 + b516: 440a add r2, r1 + b518: f3c2 0247 ubfx r2, r2, #1, #8 if(p->inv) m = 255 - m; - b534: f016 0f02 tst.w r6, #2 - b538: bf1c itt ne - b53a: 43d2 mvnne r2, r2 - b53c: b2d2 uxtbne r2, r2 + b51c: f016 0f02 tst.w r6, #2 + b520: bf1c itt ne + b522: 43d2 mvnne r2, r2 + b524: b2d2 uxtbne r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - b53e: eb00 060e add.w r6, r0, lr - b542: f810 100e ldrb.w r1, [r0, lr] + b526: eb00 060e add.w r6, r0, lr + b52a: f810 100e ldrb.w r1, [r0, lr] if(mask_new >= LV_OPA_MAX) return mask_act; - b546: 2af9 cmp r2, #249 ; 0xf9 - b548: d80b bhi.n b562 + b52e: 2af9 cmp r2, #249 ; 0xf9 + b530: d80b bhi.n b54a if(mask_new <= LV_OPA_MIN) return 0; - b54a: 2a05 cmp r2, #5 - b54c: d908 bls.n b560 + b532: 2a05 cmp r2, #5 + b534: d908 bls.n b548 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b54e: fb02 f201 mul.w r2, r2, r1 - b552: eb02 2102 add.w r1, r2, r2, lsl #8 - b556: eb02 12c1 add.w r2, r2, r1, lsl #7 - b55a: f3c2 51c7 ubfx r1, r2, #23, #8 - b55e: e000 b.n b562 + b536: fb02 f201 mul.w r2, r2, r1 + b53a: eb02 2102 add.w r1, r2, r2, lsl #8 + b53e: eb02 12c1 add.w r2, r2, r1, lsl #7 + b542: f3c2 51c7 ubfx r1, r2, #23, #8 + b546: e000 b.n b54a if(mask_new <= LV_OPA_MIN) return 0; - b560: 2100 movs r1, #0 + b548: 2100 movs r1, #0 mask_buf[k] = mask_mix(mask_buf[k], m); - b562: 7031 strb r1, [r6, #0] + b54a: 7031 strb r1, [r6, #0] if(p->inv) { - b564: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - b568: f012 0f02 tst.w r2, #2 - b56c: d00a beq.n b584 + b54c: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + b550: f012 0f02 tst.w r2, #2 + b554: d00a beq.n b56c k = xsi - abs_x; - b56e: ebac 0105 sub.w r1, ip, r5 + b556: ebac 0105 sub.w r1, ip, r5 if(k >= len) { - b572: 428b cmp r3, r1 - b574: dd61 ble.n b63a + b55a: 428b cmp r3, r1 + b55c: dd61 ble.n b622 if(k >= 0) _lv_memset_00(&mask_buf[0], k); - b576: 2900 cmp r1, #0 - b578: db62 blt.n b640 - b57a: 4b19 ldr r3, [pc, #100] ; (b5e0 ) - b57c: 4798 blx r3 + b55e: 2900 cmp r1, #0 + b560: db62 blt.n b628 + b562: 4b19 ldr r3, [pc, #100] ; (b5c8 ) + b564: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b57e: 2002 movs r0, #2 - b580: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b566: 2002 movs r0, #2 + b568: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} k++; - b584: f10e 0201 add.w r2, lr, #1 - b588: 429a cmp r2, r3 - b58a: bfa8 it ge - b58c: 461a movge r2, r3 + b56c: f10e 0201 add.w r2, lr, #1 + b570: 429a cmp r2, r3 + b572: bfa8 it ge + b574: 461a movge r2, r3 if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - b58e: 2a00 cmp r2, #0 - b590: d059 beq.n b646 + b576: 2a00 cmp r2, #0 + b578: d059 beq.n b62e else if(k > 0) _lv_memset_00(&mask_buf[k], len - k); - b592: 2a00 cmp r2, #0 - b594: dd5a ble.n b64c - b596: 1a99 subs r1, r3, r2 - b598: 4410 add r0, r2 - b59a: 4b11 ldr r3, [pc, #68] ; (b5e0 ) - b59c: 4798 blx r3 + b57a: 2a00 cmp r2, #0 + b57c: dd5a ble.n b634 + b57e: 1a99 subs r1, r3, r2 + b580: 4410 add r0, r2 + b582: 4b11 ldr r3, [pc, #68] ; (b5c8 ) + b584: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b59e: 2002 movs r0, #2 - b5a0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b586: 2002 movs r0, #2 + b588: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(mask_new <= LV_OPA_MIN) return 0; - b5a4: 2500 movs r5, #0 - b5a6: e0dc b.n b762 - b5a8: 2500 movs r5, #0 - b5aa: e100 b.n b7ae + b58c: 2500 movs r5, #0 + b58e: e0dc b.n b74a + b590: 2500 movs r5, #0 + b592: e100 b.n b796 else if(k > 0) _lv_memset_00(&mask_buf[0], k); - b5ac: 2900 cmp r1, #0 - b5ae: dd50 ble.n b652 - b5b0: 4b0b ldr r3, [pc, #44] ; (b5e0 ) - b5b2: 4798 blx r3 + b594: 2900 cmp r1, #0 + b596: dd50 ble.n b63a + b598: 4b0b ldr r3, [pc, #44] ; (b5c8 ) + b59a: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b5b4: 2002 movs r0, #2 - b5b6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b59c: 2002 movs r0, #2 + b59e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} k += 2; - b5ba: f10e 0e01 add.w lr, lr, #1 + b5a2: f10e 0e01 add.w lr, lr, #1 if(k > len) return LV_DRAW_MASK_RES_FULL_COVER; - b5be: 4573 cmp r3, lr - b5c0: db4a blt.n b658 + b5a6: 4573 cmp r3, lr + b5a8: db4a blt.n b640 if(k >= 0) _lv_memset_00(&mask_buf[k], len - k); - b5c2: f1be 0f00 cmp.w lr, #0 - b5c6: db4a blt.n b65e - b5c8: eba3 010e sub.w r1, r3, lr - b5cc: 4470 add r0, lr - b5ce: 4b04 ldr r3, [pc, #16] ; (b5e0 ) - b5d0: 4798 blx r3 + b5aa: f1be 0f00 cmp.w lr, #0 + b5ae: db4a blt.n b646 + b5b0: eba3 010e sub.w r1, r3, lr + b5b4: 4470 add r0, lr + b5b6: 4b04 ldr r3, [pc, #16] ; (b5c8 ) + b5b8: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b5d2: 2002 movs r0, #2 - b5d4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5ba: 2002 movs r0, #2 + b5bc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(mask_new <= LV_OPA_MIN) return 0; - b5d8: 2100 movs r1, #0 - b5da: e764 b.n b4a6 - b5dc: 2500 movs r5, #0 - b5de: e786 b.n b4ee - b5e0: 00012b37 .word 0x00012b37 + b5c0: 2100 movs r1, #0 + b5c2: e764 b.n b48e + b5c4: 2500 movs r5, #0 + b5c6: e786 b.n b4d6 + b5c8: 00012b1f .word 0x00012b1f k++; - b5e4: f10e 0202 add.w r2, lr, #2 - b5e8: 429a cmp r2, r3 - b5ea: bfa8 it ge - b5ec: 461a movge r2, r3 + b5cc: f10e 0202 add.w r2, lr, #2 + b5d0: 429a cmp r2, r3 + b5d2: bfa8 it ge + b5d4: 461a movge r2, r3 if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - b5ee: 2a00 cmp r2, #0 - b5f0: d03e beq.n b670 + b5d6: 2a00 cmp r2, #0 + b5d8: d03e beq.n b658 else if(k > 0) _lv_memset_00(&mask_buf[k], len - k); - b5f2: 2a00 cmp r2, #0 - b5f4: dd3f ble.n b676 - b5f6: 1a99 subs r1, r3, r2 - b5f8: 4410 add r0, r2 - b5fa: 4b73 ldr r3, [pc, #460] ; (b7c8 ) - b5fc: 4798 blx r3 + b5da: 2a00 cmp r2, #0 + b5dc: dd3f ble.n b65e + b5de: 1a99 subs r1, r3, r2 + b5e0: 4410 add r0, r2 + b5e2: 4b73 ldr r3, [pc, #460] ; (b7b0 ) + b5e4: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b5fe: 2002 movs r0, #2 - b600: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5e6: 2002 movs r0, #2 + b5e8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} p->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) return LV_DRAW_MASK_RES_FULL_COVER; - b604: 2001 movs r0, #1 - b606: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5ec: 2001 movs r0, #1 + b5ee: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} p->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) return LV_DRAW_MASK_RES_FULL_COVER; - b60a: 2001 movs r0, #1 - b60c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5f2: 2001 movs r0, #1 + b5f4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(abs_x + len < 0) return LV_DRAW_MASK_RES_FULL_COVER; - b610: 2001 movs r0, #1 - b612: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5f8: 2001 movs r0, #1 + b5fa: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(k < 0) return LV_DRAW_MASK_RES_TRANSP; - b616: 2000 movs r0, #0 - b618: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b5fe: 2000 movs r0, #0 + b600: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(abs_x + len < 0) return LV_DRAW_MASK_RES_TRANSP; + b604: 2000 movs r0, #0 + b606: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + if(k >= len) return LV_DRAW_MASK_RES_TRANSP; + b60a: 2000 movs r0, #0 + b60c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + return LV_DRAW_MASK_RES_TRANSP; + b610: 2000 movs r0, #0 + b612: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + return LV_DRAW_MASK_RES_CHANGED; + b616: 2002 movs r0, #2 + b618: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + return LV_DRAW_MASK_RES_TRANSP; b61c: 2000 movs r0, #0 b61e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - if(k >= len) return LV_DRAW_MASK_RES_TRANSP; + return LV_DRAW_MASK_RES_TRANSP; b622: 2000 movs r0, #0 b624: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - return LV_DRAW_MASK_RES_TRANSP; - b628: 2000 movs r0, #0 - b62a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - b62e: 2002 movs r0, #2 + b628: 2002 movs r0, #2 + b62a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + if(k == 0) return LV_DRAW_MASK_RES_TRANSP; + b62e: 2000 movs r0, #0 b630: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - return LV_DRAW_MASK_RES_TRANSP; - b634: 2000 movs r0, #0 + return LV_DRAW_MASK_RES_CHANGED; + b634: 2002 movs r0, #2 b636: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - return LV_DRAW_MASK_RES_TRANSP; - b63a: 2000 movs r0, #0 + b63a: 2002 movs r0, #2 b63c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - return LV_DRAW_MASK_RES_CHANGED; - b640: 2002 movs r0, #2 + if(k > len) return LV_DRAW_MASK_RES_FULL_COVER; + b640: 2001 movs r0, #1 b642: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - b646: 2000 movs r0, #0 - b648: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; - b64c: 2002 movs r0, #2 + b646: 2002 movs r0, #2 + b648: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + if(k > len) return LV_DRAW_MASK_RES_TRANSP; + b64c: 2000 movs r0, #0 b64e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + return LV_DRAW_MASK_RES_CHANGED; b652: 2002 movs r0, #2 b654: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - if(k > len) return LV_DRAW_MASK_RES_FULL_COVER; - b658: 2001 movs r0, #1 + if(k == 0) return LV_DRAW_MASK_RES_TRANSP; + b658: 2000 movs r0, #0 b65a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} return LV_DRAW_MASK_RES_CHANGED; b65e: 2002 movs r0, #2 b660: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - if(k > len) return LV_DRAW_MASK_RES_TRANSP; - b664: 2000 movs r0, #0 - b666: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - return LV_DRAW_MASK_RES_CHANGED; - b66a: 2002 movs r0, #2 - b66c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - if(k == 0) return LV_DRAW_MASK_RES_TRANSP; - b670: 2000 movs r0, #0 - b672: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - return LV_DRAW_MASK_RES_CHANGED; - b676: 2002 movs r0, #2 - b678: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10; - b67c: 461f mov r7, r3 - b67e: 442b add r3, r5 - b680: fb01 f103 mul.w r1, r1, r3 + b664: 461f mov r7, r3 + b666: 442b add r3, r5 + b668: fb01 f103 mul.w r1, r1, r3 if(y_at_x < abs_y) { - b684: ebb2 2fa1 cmp.w r2, r1, asr #10 - b688: f73f ae4b bgt.w b322 + b66c: ebb2 2fa1 cmp.w r2, r1, asr #10 + b670: f73f ae4b bgt.w b30a if(p->yx_steep > 0) xe = ((abs_y << 8) * p->xy_steep) >> 10; - b68c: 0212 lsls r2, r2, #8 - b68e: 69a3 ldr r3, [r4, #24] - b690: fb03 f302 mul.w r3, r3, r2 - b694: 129b asrs r3, r3, #10 + b674: 0212 lsls r2, r2, #8 + b676: 69a3 ldr r3, [r4, #24] + b678: fb03 f302 mul.w r3, r3, r2 + b67c: 129b asrs r3, r3, #10 int32_t xei = xe >> 8; - b696: 1219 asrs r1, r3, #8 + b67e: 1219 asrs r1, r3, #8 if(xef == 0) px_h = 255; - b698: f013 03ff ands.w r3, r3, #255 ; 0xff - b69c: d039 beq.n b712 + b680: f013 03ff ands.w r3, r3, #255 ; 0xff + b684: d039 beq.n b6fa else px_h = 255 - (((255 - xef) * p->spx) >> 8); - b69e: f1c3 03ff rsb r3, r3, #255 ; 0xff - b6a2: 6a62 ldr r2, [r4, #36] ; 0x24 - b6a4: fb02 f203 mul.w r2, r2, r3 - b6a8: ea4f 2e22 mov.w lr, r2, asr #8 - b6ac: f1ce 02ff rsb r2, lr, #255 ; 0xff + b686: f1c3 03ff rsb r3, r3, #255 ; 0xff + b68a: 6a62 ldr r2, [r4, #36] ; 0x24 + b68c: fb02 f203 mul.w r2, r2, r3 + b690: ea4f 2e22 mov.w lr, r2, asr #8 + b694: f1ce 02ff rsb r2, lr, #255 ; 0xff if(k >= 0 && k < len) { - b6b0: 1b49 subs r1, r1, r5 - b6b2: d41a bmi.n b6ea - b6b4: 42b9 cmp r1, r7 - b6b6: da18 bge.n b6ea + b698: 1b49 subs r1, r1, r5 + b69a: d41a bmi.n b6d2 + b69c: 42b9 cmp r1, r7 + b69e: da18 bge.n b6d2 m = 255 - (((255 - xef) * (255 - px_h)) >> 9); - b6b8: fb0e f303 mul.w r3, lr, r3 - b6bc: f3c3 2347 ubfx r3, r3, #9, #8 + b6a0: fb0e f303 mul.w r3, lr, r3 + b6a4: f3c3 2347 ubfx r3, r3, #9, #8 if(p->inv) m = 255 - m; - b6c0: f016 0f02 tst.w r6, #2 + b6a8: f016 0f02 tst.w r6, #2 m = 255 - (((255 - xef) * (255 - px_h)) >> 9); - b6c4: bf04 itt eq - b6c6: 43db mvneq r3, r3 - b6c8: b2db uxtbeq r3, r3 + b6ac: bf04 itt eq + b6ae: 43db mvneq r3, r3 + b6b0: b2db uxtbeq r3, r3 mask_buf[k] = mask_mix(mask_buf[k], m); - b6ca: 1846 adds r6, r0, r1 - b6cc: 5c45 ldrb r5, [r0, r1] + b6b2: 1846 adds r6, r0, r1 + b6b4: 5c45 ldrb r5, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - b6ce: 2bf9 cmp r3, #249 ; 0xf9 - b6d0: d80a bhi.n b6e8 + b6b6: 2bf9 cmp r3, #249 ; 0xf9 + b6b8: d80a bhi.n b6d0 if(mask_new <= LV_OPA_MIN) return 0; - b6d2: 2b05 cmp r3, #5 - b6d4: f67f ae31 bls.w b33a + b6ba: 2b05 cmp r3, #5 + b6bc: f67f ae31 bls.w b322 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b6d8: fb03 f305 mul.w r3, r3, r5 - b6dc: eb03 2503 add.w r5, r3, r3, lsl #8 - b6e0: eb03 13c5 add.w r3, r3, r5, lsl #7 - b6e4: f3c3 55c7 ubfx r5, r3, #23, #8 + b6c0: fb03 f305 mul.w r3, r3, r5 + b6c4: eb03 2503 add.w r5, r3, r3, lsl #8 + b6c8: eb03 13c5 add.w r3, r3, r5, lsl #7 + b6cc: f3c3 55c7 ubfx r5, r3, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - b6e8: 7035 strb r5, [r6, #0] + b6d0: 7035 strb r5, [r6, #0] k++; - b6ea: 1c4d adds r5, r1, #1 - b6ec: 1946 adds r6, r0, r5 + b6d2: 1c4d adds r5, r1, #1 + b6d4: 1946 adds r6, r0, r5 if(mask_new <= LV_OPA_MIN) return 0; - b6ee: f04f 0e00 mov.w lr, #0 - b6f2: e62d b.n b350 + b6d6: f04f 0e00 mov.w lr, #0 + b6da: e62d b.n b338 y_at_x = (int32_t)((int32_t)p->yx_steep * (abs_x + len)) >> 10; - b6f4: 461f mov r7, r3 - b6f6: 442b add r3, r5 - b6f8: fb01 f103 mul.w r1, r1, r3 + b6dc: 461f mov r7, r3 + b6de: 442b add r3, r5 + b6e0: fb01 f103 mul.w r1, r1, r3 if(y_at_x > abs_y) { - b6fc: ebb2 2fa1 cmp.w r2, r1, asr #10 - b700: f6ff ae15 blt.w b32e + b6e4: ebb2 2fa1 cmp.w r2, r1, asr #10 + b6e8: f6ff ae15 blt.w b316 else xe = (((abs_y + 1) << 8) * p->xy_steep) >> 10; - b704: 3201 adds r2, #1 - b706: 0212 lsls r2, r2, #8 - b708: 69a3 ldr r3, [r4, #24] - b70a: fb03 f302 mul.w r3, r3, r2 - b70e: 129b asrs r3, r3, #10 - b710: e7c1 b.n b696 + b6ec: 3201 adds r2, #1 + b6ee: 0212 lsls r2, r2, #8 + b6f0: 69a3 ldr r3, [r4, #24] + b6f2: fb03 f302 mul.w r3, r3, r2 + b6f6: 129b asrs r3, r3, #10 + b6f8: e7c1 b.n b67e int32_t k = xei - abs_x; - b712: 1b4d subs r5, r1, r5 - b714: 4629 mov r1, r5 + b6fa: 1b4d subs r5, r1, r5 + b6fc: 4629 mov r1, r5 if(xef == 0) px_h = 255; - b716: 22ff movs r2, #255 ; 0xff - b718: e7e8 b.n b6ec + b6fe: 22ff movs r2, #255 ; 0xff + b700: e7e8 b.n b6d4 y_inters = (xsf * (-p->yx_steep)) >> 10; - b71a: 69e2 ldr r2, [r4, #28] - b71c: 4252 negs r2, r2 - b71e: fb01 f202 mul.w r2, r1, r2 - b722: 1292 asrs r2, r2, #10 + b702: 69e2 ldr r2, [r4, #28] + b704: 4252 negs r2, r2 + b706: fb01 f202 mul.w r2, r1, r2 + b70a: 1292 asrs r2, r2, #10 if(k >= 0 && k < len) { - b724: f1be 0f00 cmp.w lr, #0 - b728: db1c blt.n b764 - b72a: 4573 cmp r3, lr - b72c: dd1a ble.n b764 + b70c: f1be 0f00 cmp.w lr, #0 + b710: db1c blt.n b74c + b712: 4573 cmp r3, lr + b714: dd1a ble.n b74c m = (y_inters * xsf) >> 9; - b72e: fb02 f101 mul.w r1, r2, r1 - b732: f3c1 2147 ubfx r1, r1, #9, #8 + b716: fb02 f101 mul.w r1, r2, r1 + b71a: f3c1 2147 ubfx r1, r1, #9, #8 if(p->inv) m = 255 - m; - b736: f016 0f02 tst.w r6, #2 - b73a: bf1c itt ne - b73c: 43c9 mvnne r1, r1 - b73e: b2c9 uxtbne r1, r1 + b71e: f016 0f02 tst.w r6, #2 + b722: bf1c itt ne + b724: 43c9 mvnne r1, r1 + b726: b2c9 uxtbne r1, r1 mask_buf[k] = mask_mix(mask_buf[k], m); - b740: eb00 060e add.w r6, r0, lr - b744: f810 500e ldrb.w r5, [r0, lr] + b728: eb00 060e add.w r6, r0, lr + b72c: f810 500e ldrb.w r5, [r0, lr] if(mask_new >= LV_OPA_MAX) return mask_act; - b748: 29f9 cmp r1, #249 ; 0xf9 - b74a: d80a bhi.n b762 + b730: 29f9 cmp r1, #249 ; 0xf9 + b732: d80a bhi.n b74a if(mask_new <= LV_OPA_MIN) return 0; - b74c: 2905 cmp r1, #5 - b74e: f67f af29 bls.w b5a4 + b734: 2905 cmp r1, #5 + b736: f67f af29 bls.w b58c return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b752: fb01 f105 mul.w r1, r1, r5 - b756: eb01 2501 add.w r5, r1, r1, lsl #8 - b75a: eb01 11c5 add.w r1, r1, r5, lsl #7 - b75e: f3c1 55c7 ubfx r5, r1, #23, #8 + b73a: fb01 f105 mul.w r1, r1, r5 + b73e: eb01 2501 add.w r5, r1, r1, lsl #8 + b742: eb01 11c5 add.w r1, r1, r5, lsl #7 + b746: f3c1 55c7 ubfx r5, r1, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - b762: 7035 strb r5, [r6, #0] + b74a: 7035 strb r5, [r6, #0] if(k >= 0 && k < len) { - b764: f1be 0101 subs.w r1, lr, #1 - b768: d422 bmi.n b7b0 - b76a: 428b cmp r3, r1 - b76c: dd20 ble.n b7b0 + b74c: f1be 0101 subs.w r1, lr, #1 + b750: d422 bmi.n b798 + b752: 428b cmp r3, r1 + b754: dd20 ble.n b798 int32_t x_inters = ((255 - y_inters) * (-p->xy_steep)) >> 10; - b76e: f1c2 02ff rsb r2, r2, #255 ; 0xff - b772: 69a5 ldr r5, [r4, #24] - b774: 426d negs r5, r5 - b776: fb02 f505 mul.w r5, r2, r5 - b77a: 12ad asrs r5, r5, #10 + b756: f1c2 02ff rsb r2, r2, #255 ; 0xff + b75a: 69a5 ldr r5, [r4, #24] + b75c: 426d negs r5, r5 + b75e: fb02 f505 mul.w r5, r2, r5 + b762: 12ad asrs r5, r5, #10 m = 255 - (((255 - y_inters) * x_inters) >> 9); - b77c: fb02 f205 mul.w r2, r2, r5 - b780: f3c2 2247 ubfx r2, r2, #9, #8 + b764: fb02 f205 mul.w r2, r2, r5 + b768: f3c2 2247 ubfx r2, r2, #9, #8 if(p->inv) m = 255 - m; - b784: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 - b788: f015 0f02 tst.w r5, #2 + b76c: f894 5028 ldrb.w r5, [r4, #40] ; 0x28 + b770: f015 0f02 tst.w r5, #2 m = 255 - (((255 - y_inters) * x_inters) >> 9); - b78c: bf04 itt eq - b78e: 43d2 mvneq r2, r2 - b790: b2d2 uxtbeq r2, r2 + b774: bf04 itt eq + b776: 43d2 mvneq r2, r2 + b778: b2d2 uxtbeq r2, r2 mask_buf[k] = mask_mix(mask_buf[k], m); - b792: 5c45 ldrb r5, [r0, r1] + b77a: 5c45 ldrb r5, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - b794: 2af9 cmp r2, #249 ; 0xf9 - b796: d80a bhi.n b7ae + b77c: 2af9 cmp r2, #249 ; 0xf9 + b77e: d80a bhi.n b796 if(mask_new <= LV_OPA_MIN) return 0; - b798: 2a05 cmp r2, #5 - b79a: f67f af05 bls.w b5a8 + b780: 2a05 cmp r2, #5 + b782: f67f af05 bls.w b590 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b79e: fb02 f205 mul.w r2, r2, r5 - b7a2: eb02 2502 add.w r5, r2, r2, lsl #8 - b7a6: eb02 12c5 add.w r2, r2, r5, lsl #7 - b7aa: f3c2 55c7 ubfx r5, r2, #23, #8 + b786: fb02 f205 mul.w r2, r2, r5 + b78a: eb02 2502 add.w r5, r2, r2, lsl #8 + b78e: eb02 12c5 add.w r2, r2, r5, lsl #7 + b792: f3c2 55c7 ubfx r5, r2, #23, #8 mask_buf[k] = mask_mix(mask_buf[k], m); - b7ae: 5445 strb r5, [r0, r1] + b796: 5445 strb r5, [r0, r1] if(p->inv) { - b7b0: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - b7b4: f012 0f02 tst.w r2, #2 - b7b8: f43f aeff beq.w b5ba + b798: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + b79c: f012 0f02 tst.w r2, #2 + b7a0: f43f aeff beq.w b5a2 if(k > len) k = len; - b7bc: 428b cmp r3, r1 - b7be: f6bf aef5 bge.w b5ac + b7a4: 428b cmp r3, r1 + b7a6: f6bf aef5 bge.w b594 return LV_DRAW_MASK_RES_CHANGED; - b7c2: 2002 movs r0, #2 - b7c4: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - b7c8: 00012b37 .word 0x00012b37 + b7aa: 2002 movs r0, #2 + b7ac: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + b7b0: 00012b1f .word 0x00012b1f -0000b7cc : +0000b7b4 : { - b7cc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - b7d0: b08d sub sp, #52 ; 0x34 - b7d2: 9d16 ldr r5, [sp, #88] ; 0x58 + b7b4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + b7b8: b08d sub sp, #52 ; 0x34 + b7ba: 9d16 ldr r5, [sp, #88] ; 0x58 bool outer = p->cfg.outer; - b7d4: 7cae ldrb r6, [r5, #18] - b7d6: f006 0601 and.w r6, r6, #1 + b7bc: 7cae ldrb r6, [r5, #18] + b7be: f006 0601 and.w r6, r6, #1 int32_t radius = p->cfg.radius; - b7da: f9b5 8010 ldrsh.w r8, [r5, #16] - b7de: 1dec adds r4, r5, #7 - b7e0: f105 090f add.w r9, r5, #15 + b7c2: f9b5 8010 ldrsh.w r8, [r5, #16] + b7c6: 1dec adds r4, r5, #7 + b7c8: f105 090f add.w r9, r5, #15 uint8_t * d8 = (uint8_t *)dst; - b7e4: f10d 0e28 add.w lr, sp, #40 ; 0x28 + b7cc: f10d 0e28 add.w lr, sp, #40 ; 0x28 *d8 = *s8; - b7e8: f814 7f01 ldrb.w r7, [r4, #1]! - b7ec: f80e 7b01 strb.w r7, [lr], #1 + b7d0: f814 7f01 ldrb.w r7, [r4, #1]! + b7d4: f80e 7b01 strb.w r7, [lr], #1 while(len) { - b7f0: 454c cmp r4, r9 - b7f2: d1f9 bne.n b7e8 + b7d8: 454c cmp r4, r9 + b7da: d1f9 bne.n b7d0 if(outer == false) { - b7f4: 2e00 cmp r6, #0 - b7f6: d13d bne.n b874 + b7dc: 2e00 cmp r6, #0 + b7de: d13d bne.n b85c if(abs_y < rect.y1 || abs_y > rect.y2) { - b7f8: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a - b7fc: 4294 cmp r4, r2 - b7fe: f300 822b bgt.w bc58 - b802: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e - b806: 4294 cmp r4, r2 - b808: f2c0 822a blt.w bc60 - b80c: 469b mov fp, r3 - b80e: 460f mov r7, r1 - b810: 9002 str r0, [sp, #8] + b7e0: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a + b7e4: 4294 cmp r4, r2 + b7e6: f300 822b bgt.w bc40 + b7ea: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e + b7ee: 4294 cmp r4, r2 + b7f0: f2c0 822a blt.w bc48 + b7f4: 469b mov fp, r3 + b7f6: 460f mov r7, r1 + b7f8: 9002 str r0, [sp, #8] if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) || - b812: f9bd 9028 ldrsh.w r9, [sp, #40] ; 0x28 - b816: eb08 0309 add.w r3, r8, r9 - b81a: 4299 cmp r1, r3 - b81c: db06 blt.n b82c - b81e: 4459 add r1, fp - b820: f9bd 302c ldrsh.w r3, [sp, #44] ; 0x2c - b824: eba3 0308 sub.w r3, r3, r8 - b828: 4299 cmp r1, r3 - b82a: dd0b ble.n b844 + b7fa: f9bd 9028 ldrsh.w r9, [sp, #40] ; 0x28 + b7fe: eb08 0309 add.w r3, r8, r9 + b802: 4299 cmp r1, r3 + b804: db06 blt.n b814 + b806: 4459 add r1, fp + b808: f9bd 302c ldrsh.w r3, [sp, #44] ; 0x2c + b80c: eba3 0308 sub.w r3, r3, r8 + b810: 4299 cmp r1, r3 + b812: dd0b ble.n b82c (abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) { - b82c: f9bd 302a ldrsh.w r3, [sp, #42] ; 0x2a - b830: eb03 0108 add.w r1, r3, r8 + b814: f9bd 302a ldrsh.w r3, [sp, #42] ; 0x2a + b818: eb03 0108 add.w r1, r3, r8 if((abs_x >= rect.x1 + radius && abs_x + len <= rect.x2 - radius) || - b834: 428a cmp r2, r1 - b836: db53 blt.n b8e0 + b81c: 428a cmp r2, r1 + b81e: db53 blt.n b8c8 (abs_y >= rect.y1 + radius && abs_y <= rect.y2 - radius)) { - b838: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e - b83c: eba1 0108 sub.w r1, r1, r8 - b840: 428a cmp r2, r1 - b842: dc4d bgt.n b8e0 + b820: f9bd 102e ldrsh.w r1, [sp, #46] ; 0x2e + b824: eba1 0108 sub.w r1, r1, r8 + b828: 428a cmp r2, r1 + b82a: dc4d bgt.n b8c8 if(outer == false) { - b844: bb86 cbnz r6, b8a8 + b82c: bb86 cbnz r6, b890 int32_t last = rect.x1 - abs_x; - b846: eba9 0407 sub.w r4, r9, r7 + b82e: eba9 0407 sub.w r4, r9, r7 if(last > len) return LV_DRAW_MASK_RES_TRANSP; - b84a: 455c cmp r4, fp - b84c: f300 820c bgt.w bc68 + b832: 455c cmp r4, fp + b834: f300 820c bgt.w bc50 if(last >= 0) { - b850: 2c00 cmp r4, #0 - b852: db03 blt.n b85c + b838: 2c00 cmp r4, #0 + b83a: db03 blt.n b844 _lv_memset_00(&mask_buf[0], last); - b854: 4621 mov r1, r4 - b856: 9802 ldr r0, [sp, #8] - b858: 4b9f ldr r3, [pc, #636] ; (bad8 ) - b85a: 4798 blx r3 + b83c: 4621 mov r1, r4 + b83e: 9802 ldr r0, [sp, #8] + b840: 4b9f ldr r3, [pc, #636] ; (bac0 ) + b842: 4798 blx r3 int32_t first = rect.x2 - abs_x + 1; - b85c: f9bd 002c ldrsh.w r0, [sp, #44] ; 0x2c - b860: 1bc0 subs r0, r0, r7 - b862: 3001 adds r0, #1 + b844: f9bd 002c ldrsh.w r0, [sp, #44] ; 0x2c + b848: 1bc0 subs r0, r0, r7 + b84a: 3001 adds r0, #1 if(first <= 0) return LV_DRAW_MASK_RES_TRANSP; - b864: 2800 cmp r0, #0 - b866: f340 8201 ble.w bc6c + b84c: 2800 cmp r0, #0 + b84e: f340 8201 ble.w bc54 else if(first < len) { - b86a: 4583 cmp fp, r0 - b86c: dc0d bgt.n b88a + b852: 4583 cmp fp, r0 + b854: dc0d bgt.n b872 if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - b86e: b1bc cbz r4, b8a0 + b856: b1bc cbz r4, b888 else return LV_DRAW_MASK_RES_CHANGED; - b870: 2002 movs r0, #2 - b872: e1f2 b.n bc5a + b858: 2002 movs r0, #2 + b85a: e1f2 b.n bc42 if(abs_y < rect.y1 || abs_y > rect.y2) { - b874: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a - b878: 4294 cmp r4, r2 - b87a: f300 81f3 bgt.w bc64 - b87e: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e - b882: 4294 cmp r4, r2 - b884: dac2 bge.n b80c + b85c: f9bd 402a ldrsh.w r4, [sp, #42] ; 0x2a + b860: 4294 cmp r4, r2 + b862: f300 81f3 bgt.w bc4c + b866: f9bd 402e ldrsh.w r4, [sp, #46] ; 0x2e + b86a: 4294 cmp r4, r2 + b86c: dac2 bge.n b7f4 return LV_DRAW_MASK_RES_FULL_COVER; - b886: 2001 movs r0, #1 - b888: e1e7 b.n bc5a + b86e: 2001 movs r0, #1 + b870: e1e7 b.n bc42 _lv_memset_00(&mask_buf[first], len - first); - b88a: ebab 0100 sub.w r1, fp, r0 - b88e: 9b02 ldr r3, [sp, #8] - b890: 4403 add r3, r0 - b892: 4618 mov r0, r3 - b894: 4b90 ldr r3, [pc, #576] ; (bad8 ) - b896: 4798 blx r3 + b872: ebab 0100 sub.w r1, fp, r0 + b876: 9b02 ldr r3, [sp, #8] + b878: 4403 add r3, r0 + b87a: 4618 mov r0, r3 + b87c: 4b90 ldr r3, [pc, #576] ; (bac0 ) + b87e: 4798 blx r3 if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - b898: 2c00 cmp r4, #0 - b89a: d1e9 bne.n b870 + b880: 2c00 cmp r4, #0 + b882: d1e9 bne.n b858 else return LV_DRAW_MASK_RES_CHANGED; - b89c: 2002 movs r0, #2 - b89e: e1dc b.n bc5a + b884: 2002 movs r0, #2 + b886: e1dc b.n bc42 if(last == 0 && first == len) return LV_DRAW_MASK_RES_FULL_COVER; - b8a0: 4583 cmp fp, r0 - b8a2: d1e5 bne.n b870 - b8a4: 2001 movs r0, #1 - b8a6: e1d8 b.n bc5a + b888: 4583 cmp fp, r0 + b88a: d1e5 bne.n b858 + b88c: 2001 movs r0, #1 + b88e: e1d8 b.n bc42 int32_t first = rect.x1 - abs_x; - b8a8: eba9 0007 sub.w r0, r9, r7 - b8ac: ea20 70e0 bic.w r0, r0, r0, asr #31 + b890: eba9 0007 sub.w r0, r9, r7 + b894: ea20 70e0 bic.w r0, r0, r0, asr #31 if(first <= len) { - b8b0: 4558 cmp r0, fp - b8b2: dd01 ble.n b8b8 + b898: 4558 cmp r0, fp + b89a: dd01 ble.n b8a0 return LV_DRAW_MASK_RES_CHANGED; - b8b4: 2002 movs r0, #2 - b8b6: e1d0 b.n bc5a + b89c: 2002 movs r0, #2 + b89e: e1d0 b.n bc42 int32_t last = rect.x2 - abs_x - first + 1; - b8b8: f9bd 102c ldrsh.w r1, [sp, #44] ; 0x2c - b8bc: 1bc9 subs r1, r1, r7 - b8be: 1a09 subs r1, r1, r0 - b8c0: 3101 adds r1, #1 + b8a0: f9bd 102c ldrsh.w r1, [sp, #44] ; 0x2c + b8a4: 1bc9 subs r1, r1, r7 + b8a6: 1a09 subs r1, r1, r0 + b8a8: 3101 adds r1, #1 if(first + last > len) last = len - first; - b8c2: 1843 adds r3, r0, r1 - b8c4: 459b cmp fp, r3 - b8c6: bfb8 it lt - b8c8: ebab 0100 sublt.w r1, fp, r0 + b8aa: 1843 adds r3, r0, r1 + b8ac: 459b cmp fp, r3 + b8ae: bfb8 it lt + b8b0: ebab 0100 sublt.w r1, fp, r0 if(last >= 0) { - b8cc: 2900 cmp r1, #0 - b8ce: f2c0 81cf blt.w bc70 + b8b4: 2900 cmp r1, #0 + b8b6: f2c0 81cf blt.w bc58 _lv_memset_00(&mask_buf[first], last); - b8d2: 9b02 ldr r3, [sp, #8] - b8d4: 4403 add r3, r0 - b8d6: 4618 mov r0, r3 - b8d8: 4b7f ldr r3, [pc, #508] ; (bad8 ) - b8da: 4798 blx r3 + b8ba: 9b02 ldr r3, [sp, #8] + b8bc: 4403 add r3, r0 + b8be: 4618 mov r0, r3 + b8c0: 4b7f ldr r3, [pc, #508] ; (bac0 ) + b8c2: 4798 blx r3 return LV_DRAW_MASK_RES_CHANGED; - b8dc: 2002 movs r0, #2 - b8de: e1bc b.n bc5a - b8e0: f9bd a02c ldrsh.w sl, [sp, #44] ; 0x2c + b8c4: 2002 movs r0, #2 + b8c6: e1bc b.n bc42 + b8c8: f9bd a02c ldrsh.w sl, [sp, #44] ; 0x2c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - b8e4: b29b uxth r3, r3 - b8e6: f8bd 102e ldrh.w r1, [sp, #46] ; 0x2e - b8ea: 3101 adds r1, #1 - b8ec: 1ac9 subs r1, r1, r3 + b8cc: b29b uxth r3, r3 + b8ce: f8bd 102e ldrh.w r1, [sp, #46] ; 0x2e + b8d2: 3101 adds r1, #1 + b8d4: 1ac9 subs r1, r1, r3 int32_t h = lv_area_get_height(&rect); - b8ee: b209 sxth r1, r1 + b8d6: b209 sxth r1, r1 abs_y -= rect.y1; - b8f0: 1ad2 subs r2, r2, r3 + b8d8: 1ad2 subs r2, r2, r3 uint32_t r2 = p->cfg.radius * p->cfg.radius; - b8f2: fb08 f308 mul.w r3, r8, r8 - b8f6: 9301 str r3, [sp, #4] + b8da: fb08 f308 mul.w r3, r8, r8 + b8de: 9301 str r3, [sp, #4] if(abs_y < radius || abs_y > h - radius - 1) { - b8f8: b212 sxth r2, r2 - b8fa: 4590 cmp r8, r2 - b8fc: f300 81d1 bgt.w bca2 - b900: eba1 0308 sub.w r3, r1, r8 - b904: 3b01 subs r3, #1 - b906: 429a cmp r2, r3 - b908: f300 81b4 bgt.w bc74 + b8e0: b212 sxth r2, r2 + b8e2: 4590 cmp r8, r2 + b8e4: f300 81d1 bgt.w bc8a + b8e8: eba1 0308 sub.w r3, r1, r8 + b8ec: 3b01 subs r3, #1 + b8ee: 429a cmp r2, r3 + b8f0: f300 81b4 bgt.w bc5c return LV_DRAW_MASK_RES_CHANGED; - b90c: 2002 movs r0, #2 - b90e: e1a4 b.n bc5a + b8f4: 2002 movs r0, #2 + b8f6: e1a4 b.n bc42 x0.f = p->y_prev_x.f; - b910: 8b6b ldrh r3, [r5, #26] - b912: f8ad 301a strh.w r3, [sp, #26] + b8f8: 8b6b ldrh r3, [r5, #26] + b8fa: f8ad 301a strh.w r3, [sp, #26] x0.i = p->y_prev_x.i; - b916: 8b2b ldrh r3, [r5, #24] - b918: f8ad 3018 strh.w r3, [sp, #24] - b91c: e1d6 b.n bccc + b8fe: 8b2b ldrh r3, [r5, #24] + b900: f8ad 3018 strh.w r3, [sp, #24] + b904: e1d6 b.n bcb4 _lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask); - b91e: 9a04 ldr r2, [sp, #16] - b920: a907 add r1, sp, #28 - b922: 9b01 ldr r3, [sp, #4] - b924: fb00 3010 mls r0, r0, r0, r3 - b928: 4b6c ldr r3, [pc, #432] ; (badc ) - b92a: 4798 blx r3 + b906: 9a04 ldr r2, [sp, #16] + b908: a907 add r1, sp, #28 + b90a: 9b01 ldr r3, [sp, #4] + b90c: fb00 3010 mls r0, r0, r0, r3 + b910: 4b6c ldr r3, [pc, #432] ; (bac4 ) + b912: 4798 blx r3 _lv_sqrt(r2 - (y * y), &x0, sqrt_mask); - b92c: 9a04 ldr r2, [sp, #16] - b92e: a906 add r1, sp, #24 - b930: 9b01 ldr r3, [sp, #4] - b932: fb04 3014 mls r0, r4, r4, r3 - b936: 4b69 ldr r3, [pc, #420] ; (badc ) - b938: 4798 blx r3 + b914: 9a04 ldr r2, [sp, #16] + b916: a906 add r1, sp, #24 + b918: 9b01 ldr r3, [sp, #4] + b91a: fb04 3014 mls r0, r4, r4, r3 + b91e: 4b69 ldr r3, [pc, #420] ; (bac4 ) + b920: 4798 blx r3 p->y_prev = y; - b93a: 616c str r4, [r5, #20] + b922: 616c str r4, [r5, #20] p->y_prev_x.f = x0.f; - b93c: f8bd 301a ldrh.w r3, [sp, #26] - b940: 836b strh r3, [r5, #26] + b924: f8bd 301a ldrh.w r3, [sp, #26] + b928: 836b strh r3, [r5, #26] p->y_prev_x.i = x0.i; - b942: f8bd 3018 ldrh.w r3, [sp, #24] - b946: 832b strh r3, [r5, #24] - b948: e1d1 b.n bcee + b92a: f8bd 3018 ldrh.w r3, [sp, #24] + b92e: 832b strh r3, [r5, #24] + b930: e1d1 b.n bcd6 if(x0.i == x1.i - 1 && x1.f == 0) { - b94a: f8bd 101e ldrh.w r1, [sp, #30] - b94e: 2900 cmp r1, #0 - b950: f040 81d5 bne.w bcfe + b932: f8bd 101e ldrh.w r1, [sp, #30] + b936: 2900 cmp r1, #0 + b938: f040 81d5 bne.w bce6 x1.i--; - b954: 3a01 subs r2, #1 - b956: f8ad 201c strh.w r2, [sp, #28] + b93c: 3a01 subs r2, #1 + b93e: f8ad 201c strh.w r2, [sp, #28] x1.f = 0xFF; - b95a: 22ff movs r2, #255 ; 0xff - b95c: f8ad 201e strh.w r2, [sp, #30] - b960: e1cd b.n bcfe + b942: 22ff movs r2, #255 ; 0xff + b944: f8ad 201e strh.w r2, [sp, #30] + b948: e1cd b.n bce6 lv_opa_t m = (x0.f + x1.f) >> 1; - b962: f8bd 201a ldrh.w r2, [sp, #26] - b966: f8bd 101e ldrh.w r1, [sp, #30] - b96a: 440a add r2, r1 - b96c: f3c2 0247 ubfx r2, r2, #1, #8 + b94a: f8bd 201a ldrh.w r2, [sp, #26] + b94e: f8bd 101e ldrh.w r1, [sp, #30] + b952: 440a add r2, r1 + b954: f3c2 0247 ubfx r2, r2, #1, #8 if(outer) m = 255 - m; - b970: b10e cbz r6, b976 - b972: 43d2 mvns r2, r2 - b974: b2d2 uxtb r2, r2 + b958: b10e cbz r6, b95e + b95a: 43d2 mvns r2, r2 + b95c: b2d2 uxtb r2, r2 int32_t ofs = radius - x0.i - 1; - b976: eba8 0303 sub.w r3, r8, r3 - b97a: 3b01 subs r3, #1 + b95e: eba8 0303 sub.w r3, r8, r3 + b962: 3b01 subs r3, #1 if(kl >= 0 && kl < len) { - b97c: 18f9 adds r1, r7, r3 - b97e: d411 bmi.n b9a4 - b980: 4559 cmp r1, fp - b982: da0f bge.n b9a4 + b964: 18f9 adds r1, r7, r3 + b966: d411 bmi.n b98c + b968: 4559 cmp r1, fp + b96a: da0f bge.n b98c mask_buf[kl] = mask_mix(mask_buf[kl], m); - b984: 9802 ldr r0, [sp, #8] - b986: 5c40 ldrb r0, [r0, r1] + b96c: 9802 ldr r0, [sp, #8] + b96e: 5c40 ldrb r0, [r0, r1] if(mask_new >= LV_OPA_MAX) return mask_act; - b988: 2af9 cmp r2, #249 ; 0xf9 - b98a: d809 bhi.n b9a0 + b970: 2af9 cmp r2, #249 ; 0xf9 + b972: d809 bhi.n b988 if(mask_new <= LV_OPA_MIN) return 0; - b98c: 2a05 cmp r2, #5 - b98e: d935 bls.n b9fc + b974: 2a05 cmp r2, #5 + b976: d935 bls.n b9e4 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b990: fb02 f000 mul.w r0, r2, r0 - b994: eb00 2400 add.w r4, r0, r0, lsl #8 - b998: eb00 10c4 add.w r0, r0, r4, lsl #7 - b99c: f3c0 50c7 ubfx r0, r0, #23, #8 + b978: fb02 f000 mul.w r0, r2, r0 + b97c: eb00 2400 add.w r4, r0, r0, lsl #8 + b980: eb00 10c4 add.w r0, r0, r4, lsl #7 + b984: f3c0 50c7 ubfx r0, r0, #23, #8 mask_buf[kl] = mask_mix(mask_buf[kl], m); - b9a0: 9c02 ldr r4, [sp, #8] - b9a2: 5460 strb r0, [r4, r1] + b988: 9c02 ldr r4, [sp, #8] + b98a: 5460 strb r0, [r4, r1] int32_t kr = k + (w - ofs - 1); - b9a4: eba9 0303 sub.w r3, r9, r3 - b9a8: 3b01 subs r3, #1 + b98c: eba9 0303 sub.w r3, r9, r3 + b990: 3b01 subs r3, #1 if(kr >= 0 && kr < len) { - b9aa: 19df adds r7, r3, r7 - b9ac: d411 bmi.n b9d2 - b9ae: 455f cmp r7, fp - b9b0: da0f bge.n b9d2 + b992: 19df adds r7, r3, r7 + b994: d411 bmi.n b9ba + b996: 455f cmp r7, fp + b998: da0f bge.n b9ba mask_buf[kr] = mask_mix(mask_buf[kr], m); - b9b2: 9b02 ldr r3, [sp, #8] - b9b4: 5ddb ldrb r3, [r3, r7] + b99a: 9b02 ldr r3, [sp, #8] + b99c: 5ddb ldrb r3, [r3, r7] if(mask_new >= LV_OPA_MAX) return mask_act; - b9b6: 2af9 cmp r2, #249 ; 0xf9 - b9b8: d809 bhi.n b9ce + b99e: 2af9 cmp r2, #249 ; 0xf9 + b9a0: d809 bhi.n b9b6 if(mask_new <= LV_OPA_MIN) return 0; - b9ba: 2a05 cmp r2, #5 - b9bc: d920 bls.n ba00 + b9a2: 2a05 cmp r2, #5 + b9a4: d920 bls.n b9e8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - b9be: fb02 f203 mul.w r2, r2, r3 - b9c2: eb02 2302 add.w r3, r2, r2, lsl #8 - b9c6: eb02 12c3 add.w r2, r2, r3, lsl #7 - b9ca: f3c2 53c7 ubfx r3, r2, #23, #8 + b9a6: fb02 f203 mul.w r2, r2, r3 + b9aa: eb02 2302 add.w r3, r2, r2, lsl #8 + b9ae: eb02 12c3 add.w r2, r2, r3, lsl #7 + b9b2: f3c2 53c7 ubfx r3, r2, #23, #8 mask_buf[kr] = mask_mix(mask_buf[kr], m); - b9ce: 9a02 ldr r2, [sp, #8] - b9d0: 55d3 strb r3, [r2, r7] + b9b6: 9a02 ldr r2, [sp, #8] + b9b8: 55d3 strb r3, [r2, r7] if(outer == false) { - b9d2: b1be cbz r6, ba04 + b9ba: b1be cbz r6, b9ec kl++; - b9d4: 1c48 adds r0, r1, #1 - b9d6: ea20 70e0 bic.w r0, r0, r0, asr #31 + b9bc: 1c48 adds r0, r1, #1 + b9be: ea20 70e0 bic.w r0, r0, r0, asr #31 if(len_tmp + first > len) len_tmp = len - first; - b9da: 455f cmp r7, fp + b9c2: 455f cmp r7, fp int32_t len_tmp = kr - first; - b9dc: bfd4 ite le - b9de: 1a39 suble r1, r7, r0 + b9c4: bfd4 ite le + b9c6: 1a39 suble r1, r7, r0 if(len_tmp + first > len) len_tmp = len - first; - b9e0: ebab 0100 subgt.w r1, fp, r0 + b9c8: ebab 0100 subgt.w r1, fp, r0 if(first < len && len_tmp >= 0) { - b9e4: 4558 cmp r0, fp - b9e6: f280 8119 bge.w bc1c - b9ea: 2900 cmp r1, #0 - b9ec: f2c0 8116 blt.w bc1c + b9cc: 4558 cmp r0, fp + b9ce: f280 8119 bge.w bc04 + b9d2: 2900 cmp r1, #0 + b9d4: f2c0 8116 blt.w bc04 _lv_memset_00(&mask_buf[first], len_tmp); - b9f0: 9b02 ldr r3, [sp, #8] - b9f2: 4403 add r3, r0 - b9f4: 4618 mov r0, r3 - b9f6: 4b38 ldr r3, [pc, #224] ; (bad8 ) - b9f8: 4798 blx r3 - b9fa: e10f b.n bc1c + b9d8: 9b02 ldr r3, [sp, #8] + b9da: 4403 add r3, r0 + b9dc: 4618 mov r0, r3 + b9de: 4b38 ldr r3, [pc, #224] ; (bac0 ) + b9e0: 4798 blx r3 + b9e2: e10f b.n bc04 if(mask_new <= LV_OPA_MIN) return 0; - b9fc: 2000 movs r0, #0 - b9fe: e7cf b.n b9a0 - ba00: 2300 movs r3, #0 - ba02: e7e4 b.n b9ce + b9e4: 2000 movs r0, #0 + b9e6: e7cf b.n b988 + b9e8: 2300 movs r3, #0 + b9ea: e7e4 b.n b9b6 if(kl > len) { - ba04: 4559 cmp r1, fp - ba06: f300 8125 bgt.w bc54 + b9ec: 4559 cmp r1, fp + b9ee: f300 8125 bgt.w bc3c if(kl >= 0) { - ba0a: 2900 cmp r1, #0 - ba0c: db02 blt.n ba14 + b9f2: 2900 cmp r1, #0 + b9f4: db02 blt.n b9fc _lv_memset_00(&mask_buf[0], kl); - ba0e: 9802 ldr r0, [sp, #8] - ba10: 4b31 ldr r3, [pc, #196] ; (bad8 ) - ba12: 4798 blx r3 + b9f6: 9802 ldr r0, [sp, #8] + b9f8: 4b31 ldr r3, [pc, #196] ; (bac0 ) + b9fa: 4798 blx r3 if(kr < 0) { - ba14: 3701 adds r7, #1 - ba16: f100 811d bmi.w bc54 + b9fc: 3701 adds r7, #1 + b9fe: f100 811d bmi.w bc3c if(kr <= len) { - ba1a: 455f cmp r7, fp - ba1c: f300 80fe bgt.w bc1c + ba02: 455f cmp r7, fp + ba04: f300 80fe bgt.w bc04 _lv_memset_00(&mask_buf[kr], len - kr); - ba20: ebab 0107 sub.w r1, fp, r7 - ba24: 9b02 ldr r3, [sp, #8] - ba26: 443b add r3, r7 - ba28: 4618 mov r0, r3 - ba2a: 4b2b ldr r3, [pc, #172] ; (bad8 ) - ba2c: 4798 blx r3 - ba2e: e0f5 b.n bc1c + ba08: ebab 0107 sub.w r1, fp, r7 + ba0c: 9b02 ldr r3, [sp, #8] + ba0e: 443b add r3, r7 + ba10: 4618 mov r0, r3 + ba12: 4b2b ldr r3, [pc, #172] ; (bac0 ) + ba14: 4798 blx r3 + ba16: e0f5 b.n bc04 _lv_sqrt(r2 - (i * i), &y_next, sqrt_mask); - ba30: 9a04 ldr r2, [sp, #16] - ba32: a909 add r1, sp, #36 ; 0x24 - ba34: 9b01 ldr r3, [sp, #4] - ba36: fb08 3018 mls r0, r8, r8, r3 - ba3a: 4b28 ldr r3, [pc, #160] ; (badc ) - ba3c: 4798 blx r3 + ba18: 9a04 ldr r2, [sp, #16] + ba1a: a909 add r1, sp, #36 ; 0x24 + ba1c: 9b01 ldr r3, [sp, #4] + ba1e: fb08 3018 mls r0, r8, r8, r3 + ba22: 4b28 ldr r3, [pc, #160] ; (bac4 ) + ba24: 4798 blx r3 m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9); - ba3e: f8bd 1026 ldrh.w r1, [sp, #38] ; 0x26 - ba42: f8bd 301a ldrh.w r3, [sp, #26] - ba46: f1c3 02ff rsb r2, r3, #255 ; 0xff - ba4a: f1c1 03ff rsb r3, r1, #255 ; 0xff - ba4e: fb03 f302 mul.w r3, r3, r2 - ba52: f3c3 2347 ubfx r3, r3, #9, #8 + ba26: f8bd 1026 ldrh.w r1, [sp, #38] ; 0x26 + ba2a: f8bd 301a ldrh.w r3, [sp, #26] + ba2e: f1c3 02ff rsb r2, r3, #255 ; 0xff + ba32: f1c1 03ff rsb r3, r1, #255 ; 0xff + ba36: fb03 f302 mul.w r3, r3, r2 + ba3a: f3c3 2347 ubfx r3, r3, #9, #8 if(outer) m = 255 - m; - ba56: b90e cbnz r6, ba5c + ba3e: b90e cbnz r6, ba44 m = 255 - (((255 - x0.f) * (255 - y_next.f)) >> 9); - ba58: 43db mvns r3, r3 - ba5a: b2db uxtb r3, r3 + ba40: 43db mvns r3, r3 + ba42: b2db uxtb r3, r3 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - ba5c: 9803 ldr r0, [sp, #12] - ba5e: 4602 mov r2, r0 - ba60: 2800 cmp r0, #0 - ba62: db11 blt.n ba88 - ba64: 4558 cmp r0, fp - ba66: da0f bge.n ba88 - ba68: 9c02 ldr r4, [sp, #8] - ba6a: 1820 adds r0, r4, r0 - ba6c: 5ca2 ldrb r2, [r4, r2] + ba44: 9803 ldr r0, [sp, #12] + ba46: 4602 mov r2, r0 + ba48: 2800 cmp r0, #0 + ba4a: db11 blt.n ba70 + ba4c: 4558 cmp r0, fp + ba4e: da0f bge.n ba70 + ba50: 9c02 ldr r4, [sp, #8] + ba52: 1820 adds r0, r4, r0 + ba54: 5ca2 ldrb r2, [r4, r2] if(mask_new >= LV_OPA_MAX) return mask_act; - ba6e: 2bf9 cmp r3, #249 ; 0xf9 - ba70: d809 bhi.n ba86 + ba56: 2bf9 cmp r3, #249 ; 0xf9 + ba58: d809 bhi.n ba6e if(mask_new <= LV_OPA_MIN) return 0; - ba72: 2b05 cmp r3, #5 - ba74: d929 bls.n baca + ba5a: 2b05 cmp r3, #5 + ba5c: d929 bls.n bab2 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - ba76: fb03 f202 mul.w r2, r3, r2 - ba7a: eb02 2402 add.w r4, r2, r2, lsl #8 - ba7e: eb02 12c4 add.w r2, r2, r4, lsl #7 - ba82: f3c2 52c7 ubfx r2, r2, #23, #8 + ba5e: fb03 f202 mul.w r2, r3, r2 + ba62: eb02 2402 add.w r4, r2, r2, lsl #8 + ba66: eb02 12c4 add.w r2, r2, r4, lsl #7 + ba6a: f3c2 52c7 ubfx r2, r2, #23, #8 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - ba86: 7002 strb r2, [r0, #0] + ba6e: 7002 strb r2, [r0, #0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - ba88: f1ba 0f00 cmp.w sl, #0 - ba8c: db13 blt.n bab6 - ba8e: 45da cmp sl, fp - ba90: da11 bge.n bab6 - ba92: 9c02 ldr r4, [sp, #8] - ba94: eb04 000a add.w r0, r4, sl - ba98: f814 200a ldrb.w r2, [r4, sl] + ba70: f1ba 0f00 cmp.w sl, #0 + ba74: db13 blt.n ba9e + ba76: 45da cmp sl, fp + ba78: da11 bge.n ba9e + ba7a: 9c02 ldr r4, [sp, #8] + ba7c: eb04 000a add.w r0, r4, sl + ba80: f814 200a ldrb.w r2, [r4, sl] if(mask_new >= LV_OPA_MAX) return mask_act; - ba9c: 2bf9 cmp r3, #249 ; 0xf9 - ba9e: d809 bhi.n bab4 + ba84: 2bf9 cmp r3, #249 ; 0xf9 + ba86: d809 bhi.n ba9c if(mask_new <= LV_OPA_MIN) return 0; - baa0: 2b05 cmp r3, #5 - baa2: d914 bls.n bace + ba88: 2b05 cmp r3, #5 + ba8a: d914 bls.n bab6 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - baa4: fb03 f302 mul.w r3, r3, r2 - baa8: eb03 2203 add.w r2, r3, r3, lsl #8 - baac: eb03 13c2 add.w r3, r3, r2, lsl #7 - bab0: f3c3 52c7 ubfx r2, r3, #23, #8 + ba8c: fb03 f302 mul.w r3, r3, r2 + ba90: eb03 2203 add.w r2, r3, r3, lsl #8 + ba94: eb03 13c2 add.w r3, r3, r2, lsl #7 + ba98: f3c3 52c7 ubfx r2, r3, #23, #8 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - bab4: 7002 strb r2, [r0, #0] + ba9c: 7002 strb r2, [r0, #0] kl--; - bab6: 9b03 ldr r3, [sp, #12] - bab8: 3b01 subs r3, #1 - baba: 9303 str r3, [sp, #12] + ba9e: 9b03 ldr r3, [sp, #12] + baa0: 3b01 subs r3, #1 + baa2: 9303 str r3, [sp, #12] kr++; - babc: f10a 0a01 add.w sl, sl, #1 + baa4: f10a 0a01 add.w sl, sl, #1 y_prev.f = y_next.f; - bac0: f8ad 1022 strh.w r1, [sp, #34] ; 0x22 + baa8: f8ad 1022 strh.w r1, [sp, #34] ; 0x22 i++; - bac4: f108 0801 add.w r8, r8, #1 - bac8: e15e b.n bd88 + baac: f108 0801 add.w r8, r8, #1 + bab0: e15e b.n bd70 if(mask_new <= LV_OPA_MIN) return 0; - baca: 2200 movs r2, #0 - bacc: e7db b.n ba86 - bace: 2200 movs r2, #0 - bad0: e7f0 b.n bab4 - bad2: 2700 movs r7, #0 - bad4: e039 b.n bb4a - bad6: bf00 nop - bad8: 00012b37 .word 0x00012b37 - badc: 0001231d .word 0x0001231d - bae0: 2700 movs r7, #0 + bab2: 2200 movs r2, #0 + bab4: e7db b.n ba6e + bab6: 2200 movs r2, #0 + bab8: e7f0 b.n ba9c + baba: 2700 movs r7, #0 + babc: e039 b.n bb32 + babe: bf00 nop + bac0: 00012b1f .word 0x00012b1f + bac4: 00012305 .word 0x00012305 + bac8: 2700 movs r7, #0 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - bae2: f80e 7008 strb.w r7, [lr, r8] + baca: f80e 7008 strb.w r7, [lr, r8] kl--; - bae6: 3801 subs r0, #1 + bace: 3801 subs r0, #1 kr++; - bae8: 3401 adds r4, #1 + bad0: 3401 adds r4, #1 for(; i <= x1.i; i++) { - baea: 3101 adds r1, #1 + bad2: 3101 adds r1, #1 y_prev.f = y_next.f; - baec: 461a mov r2, r3 + bad4: 461a mov r2, r3 for(; i <= x1.i; i++) { - baee: 9d01 ldr r5, [sp, #4] - baf0: 42a9 cmp r1, r5 - baf2: d840 bhi.n bb76 + bad6: 9d01 ldr r5, [sp, #4] + bad8: 42a9 cmp r1, r5 + bada: d840 bhi.n bb5e */ LV_ATTRIBUTE_FAST_MEM static inline void sqrt_approx(lv_sqrt_res_t * q, lv_sqrt_res_t * ref, uint32_t x) { x = x << 8; /*Upscale for extra precision*/ uint32_t raw = (ref->i << 4) + (ref->f >> 4); - baf4: eb09 1712 add.w r7, r9, r2, lsr #4 + badc: eb09 1712 add.w r7, r9, r2, lsr #4 sqrt_approx(&y_next, &y_prev, r2 - (i * i)); - baf8: fb01 a311 mls r3, r1, r1, sl + bae0: fb01 a311 mls r3, r1, r1, sl uint32_t raw2 = raw * raw; - bafc: fb07 fc07 mul.w ip, r7, r7 + bae4: fb07 fc07 mul.w ip, r7, r7 int32_t d = x - raw2; - bb00: ebcc 2303 rsb r3, ip, r3, lsl #8 + bae8: ebcc 2303 rsb r3, ip, r3, lsl #8 d = (int32_t)d / (int32_t)(2 * raw) + raw; - bb04: ea4f 0c47 mov.w ip, r7, lsl #1 - bb08: fb93 f3fc sdiv r3, r3, ip - bb0c: 441f add r7, r3 + baec: ea4f 0c47 mov.w ip, r7, lsl #1 + baf0: fb93 f3fc sdiv r3, r3, ip + baf4: 441f add r7, r3 q->i = d >> 4; - bb0e: f3c7 1c0f ubfx ip, r7, #4, #16 + baf6: f3c7 1c0f ubfx ip, r7, #4, #16 q->f = (d & 0xF) << 4; - bb12: 013f lsls r7, r7, #4 - bb14: f007 03f0 and.w r3, r7, #240 ; 0xf0 + bafa: 013f lsls r7, r7, #4 + bafc: f007 03f0 and.w r3, r7, #240 ; 0xf0 m = (y_prev.f + y_next.f) >> 1; - bb18: 441a add r2, r3 - bb1a: f3c2 0247 ubfx r2, r2, #1, #8 + bb00: 441a add r2, r3 + bb02: f3c2 0247 ubfx r2, r2, #1, #8 if(outer) m = 255 - m; - bb1e: b10e cbz r6, bb24 - bb20: 43d2 mvns r2, r2 - bb22: b2d2 uxtb r2, r2 + bb06: b10e cbz r6, bb0c + bb08: 43d2 mvns r2, r2 + bb0a: b2d2 uxtb r2, r2 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - bb24: 2800 cmp r0, #0 - bb26: db12 blt.n bb4e - bb28: 4583 cmp fp, r0 - bb2a: dd10 ble.n bb4e - bb2c: 4680 mov r8, r0 - bb2e: f81e 7000 ldrb.w r7, [lr, r0] + bb0c: 2800 cmp r0, #0 + bb0e: db12 blt.n bb36 + bb10: 4583 cmp fp, r0 + bb12: dd10 ble.n bb36 + bb14: 4680 mov r8, r0 + bb16: f81e 7000 ldrb.w r7, [lr, r0] if(mask_new >= LV_OPA_MAX) return mask_act; - bb32: 2af9 cmp r2, #249 ; 0xf9 - bb34: d809 bhi.n bb4a + bb1a: 2af9 cmp r2, #249 ; 0xf9 + bb1c: d809 bhi.n bb32 if(mask_new <= LV_OPA_MIN) return 0; - bb36: 2a05 cmp r2, #5 - bb38: d9cb bls.n bad2 + bb1e: 2a05 cmp r2, #5 + bb20: d9cb bls.n baba return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bb3a: fb02 f507 mul.w r5, r2, r7 - bb3e: eb05 2705 add.w r7, r5, r5, lsl #8 - bb42: eb05 17c7 add.w r7, r5, r7, lsl #7 - bb46: f3c7 57c7 ubfx r7, r7, #23, #8 + bb22: fb02 f507 mul.w r5, r2, r7 + bb26: eb05 2705 add.w r7, r5, r5, lsl #8 + bb2a: eb05 17c7 add.w r7, r5, r7, lsl #7 + bb2e: f3c7 57c7 ubfx r7, r7, #23, #8 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - bb4a: f80e 7008 strb.w r7, [lr, r8] + bb32: f80e 7008 strb.w r7, [lr, r8] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - bb4e: 2c00 cmp r4, #0 - bb50: dbc9 blt.n bae6 - bb52: 45a3 cmp fp, r4 - bb54: ddc7 ble.n bae6 - bb56: 46a0 mov r8, r4 - bb58: f81e 7004 ldrb.w r7, [lr, r4] + bb36: 2c00 cmp r4, #0 + bb38: dbc9 blt.n bace + bb3a: 45a3 cmp fp, r4 + bb3c: ddc7 ble.n bace + bb3e: 46a0 mov r8, r4 + bb40: f81e 7004 ldrb.w r7, [lr, r4] if(mask_new >= LV_OPA_MAX) return mask_act; - bb5c: 2af9 cmp r2, #249 ; 0xf9 - bb5e: d8c0 bhi.n bae2 + bb44: 2af9 cmp r2, #249 ; 0xf9 + bb46: d8c0 bhi.n baca if(mask_new <= LV_OPA_MIN) return 0; - bb60: 2a05 cmp r2, #5 - bb62: d9bd bls.n bae0 + bb48: 2a05 cmp r2, #5 + bb4a: d9bd bls.n bac8 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bb64: fb02 f207 mul.w r2, r2, r7 - bb68: eb02 2702 add.w r7, r2, r2, lsl #8 - bb6c: eb02 17c7 add.w r7, r2, r7, lsl #7 - bb70: f3c7 57c7 ubfx r7, r7, #23, #8 - bb74: e7b5 b.n bae2 - bb76: f8dd 8010 ldr.w r8, [sp, #16] - bb7a: f8dd a014 ldr.w sl, [sp, #20] - bb7e: 43ea mvns r2, r5 - bb80: 4442 add r2, r8 - bb82: 9903 ldr r1, [sp, #12] - bb84: 4411 add r1, r2 - bb86: 9103 str r1, [sp, #12] - bb88: 3501 adds r5, #1 - bb8a: 44aa add sl, r5 - bb8c: ebaa 0a08 sub.w sl, sl, r8 - bb90: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 - bb94: f8ad c024 strh.w ip, [sp, #36] ; 0x24 - bb98: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 + bb4c: fb02 f207 mul.w r2, r2, r7 + bb50: eb02 2702 add.w r7, r2, r2, lsl #8 + bb54: eb02 17c7 add.w r7, r2, r7, lsl #7 + bb58: f3c7 57c7 ubfx r7, r7, #23, #8 + bb5c: e7b5 b.n baca + bb5e: f8dd 8010 ldr.w r8, [sp, #16] + bb62: f8dd a014 ldr.w sl, [sp, #20] + bb66: 43ea mvns r2, r5 + bb68: 4442 add r2, r8 + bb6a: 9903 ldr r1, [sp, #12] + bb6c: 4411 add r1, r2 + bb6e: 9103 str r1, [sp, #12] + bb70: 3501 adds r5, #1 + bb72: 44aa add sl, r5 + bb74: ebaa 0a08 sub.w sl, sl, r8 + bb78: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 + bb7c: f8ad c024 strh.w ip, [sp, #36] ; 0x24 + bb80: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 if(y_prev.f) { - bb9c: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 - bba0: 2b00 cmp r3, #0 - bba2: d03a beq.n bc1a + bb84: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 + bb88: 2b00 cmp r3, #0 + bb8a: d03a beq.n bc02 m = (y_prev.f * x1.f) >> 9; - bba4: f8bd 201e ldrh.w r2, [sp, #30] - bba8: fb03 f302 mul.w r3, r3, r2 - bbac: f3c3 2347 ubfx r3, r3, #9, #8 + bb8c: f8bd 201e ldrh.w r2, [sp, #30] + bb90: fb03 f302 mul.w r3, r3, r2 + bb94: f3c3 2347 ubfx r3, r3, #9, #8 if(outer) m = 255 - m; - bbb0: b10e cbz r6, bbb6 - bbb2: 43db mvns r3, r3 - bbb4: b2db uxtb r3, r3 + bb98: b10e cbz r6, bb9e + bb9a: 43db mvns r3, r3 + bb9c: b2db uxtb r3, r3 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - bbb6: 9a03 ldr r2, [sp, #12] - bbb8: 2a00 cmp r2, #0 - bbba: db12 blt.n bbe2 - bbbc: 4593 cmp fp, r2 - bbbe: dd10 ble.n bbe2 - bbc0: 9802 ldr r0, [sp, #8] - bbc2: 4601 mov r1, r0 - bbc4: 4411 add r1, r2 - bbc6: 5c82 ldrb r2, [r0, r2] + bb9e: 9a03 ldr r2, [sp, #12] + bba0: 2a00 cmp r2, #0 + bba2: db12 blt.n bbca + bba4: 4593 cmp fp, r2 + bba6: dd10 ble.n bbca + bba8: 9802 ldr r0, [sp, #8] + bbaa: 4601 mov r1, r0 + bbac: 4411 add r1, r2 + bbae: 5c82 ldrb r2, [r0, r2] if(mask_new >= LV_OPA_MAX) return mask_act; - bbc8: 2bf9 cmp r3, #249 ; 0xf9 - bbca: d809 bhi.n bbe0 + bbb0: 2bf9 cmp r3, #249 ; 0xf9 + bbb2: d809 bhi.n bbc8 if(mask_new <= LV_OPA_MIN) return 0; - bbcc: 2b05 cmp r3, #5 - bbce: d927 bls.n bc20 + bbb4: 2b05 cmp r3, #5 + bbb6: d927 bls.n bc08 return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bbd0: fb03 f202 mul.w r2, r3, r2 - bbd4: eb02 2002 add.w r0, r2, r2, lsl #8 - bbd8: eb02 12c0 add.w r2, r2, r0, lsl #7 - bbdc: f3c2 52c7 ubfx r2, r2, #23, #8 + bbb8: fb03 f202 mul.w r2, r3, r2 + bbbc: eb02 2002 add.w r0, r2, r2, lsl #8 + bbc0: eb02 12c0 add.w r2, r2, r0, lsl #7 + bbc4: f3c2 52c7 ubfx r2, r2, #23, #8 if(kl >= 0 && kl < len) mask_buf[kl] = mask_mix(mask_buf[kl], m); - bbe0: 700a strb r2, [r1, #0] + bbc8: 700a strb r2, [r1, #0] if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - bbe2: f1ba 0f00 cmp.w sl, #0 - bbe6: db13 blt.n bc10 - bbe8: 45d3 cmp fp, sl - bbea: dd11 ble.n bc10 - bbec: 9802 ldr r0, [sp, #8] - bbee: eb00 010a add.w r1, r0, sl - bbf2: f810 200a ldrb.w r2, [r0, sl] + bbca: f1ba 0f00 cmp.w sl, #0 + bbce: db13 blt.n bbf8 + bbd0: 45d3 cmp fp, sl + bbd2: dd11 ble.n bbf8 + bbd4: 9802 ldr r0, [sp, #8] + bbd6: eb00 010a add.w r1, r0, sl + bbda: f810 200a ldrb.w r2, [r0, sl] if(mask_new >= LV_OPA_MAX) return mask_act; - bbf6: 2bf9 cmp r3, #249 ; 0xf9 - bbf8: d809 bhi.n bc0e + bbde: 2bf9 cmp r3, #249 ; 0xf9 + bbe0: d809 bhi.n bbf6 if(mask_new <= LV_OPA_MIN) return 0; - bbfa: 2b05 cmp r3, #5 - bbfc: d912 bls.n bc24 + bbe2: 2b05 cmp r3, #5 + bbe4: d912 bls.n bc0c return LV_MATH_UDIV255(mask_act * mask_new);// >> 8); - bbfe: fb03 f302 mul.w r3, r3, r2 - bc02: eb03 2203 add.w r2, r3, r3, lsl #8 - bc06: eb03 13c2 add.w r3, r3, r2, lsl #7 - bc0a: f3c3 52c7 ubfx r2, r3, #23, #8 + bbe6: fb03 f302 mul.w r3, r3, r2 + bbea: eb03 2203 add.w r2, r3, r3, lsl #8 + bbee: eb03 13c2 add.w r3, r3, r2, lsl #7 + bbf2: f3c3 52c7 ubfx r2, r3, #23, #8 if(kr >= 0 && kr < len) mask_buf[kr] = mask_mix(mask_buf[kr], m); - bc0e: 700a strb r2, [r1, #0] + bbf6: 700a strb r2, [r1, #0] kl--; - bc10: 9b03 ldr r3, [sp, #12] - bc12: 3b01 subs r3, #1 - bc14: 9303 str r3, [sp, #12] + bbf8: 9b03 ldr r3, [sp, #12] + bbfa: 3b01 subs r3, #1 + bbfc: 9303 str r3, [sp, #12] kr++; - bc16: f10a 0a01 add.w sl, sl, #1 + bbfe: f10a 0a01 add.w sl, sl, #1 if(outer == 0) { - bc1a: b12e cbz r6, bc28 + bc02: b12e cbz r6, bc10 return LV_DRAW_MASK_RES_CHANGED; - bc1c: 2002 movs r0, #2 - bc1e: e01c b.n bc5a + bc04: 2002 movs r0, #2 + bc06: e01c b.n bc42 if(mask_new <= LV_OPA_MIN) return 0; - bc20: 2200 movs r2, #0 - bc22: e7dd b.n bbe0 - bc24: 2200 movs r2, #0 - bc26: e7f2 b.n bc0e + bc08: 2200 movs r2, #0 + bc0a: e7dd b.n bbc8 + bc0c: 2200 movs r2, #0 + bc0e: e7f2 b.n bbf6 kl++; - bc28: 9903 ldr r1, [sp, #12] - bc2a: 3101 adds r1, #1 + bc10: 9903 ldr r1, [sp, #12] + bc12: 3101 adds r1, #1 if(kl > len) { - bc2c: 4559 cmp r1, fp - bc2e: dc11 bgt.n bc54 + bc14: 4559 cmp r1, fp + bc16: dc11 bgt.n bc3c if(kl >= 0) _lv_memset_00(&mask_buf[0], kl); - bc30: 2900 cmp r1, #0 - bc32: db02 blt.n bc3a - bc34: 9802 ldr r0, [sp, #8] - bc36: 4b60 ldr r3, [pc, #384] ; (bdb8 ) - bc38: 4798 blx r3 + bc18: 2900 cmp r1, #0 + bc1a: db02 blt.n bc22 + bc1c: 9802 ldr r0, [sp, #8] + bc1e: 4b60 ldr r3, [pc, #384] ; (bda0 ) + bc20: 4798 blx r3 if(kr < 0) { - bc3a: f1ba 0f00 cmp.w sl, #0 - bc3e: db09 blt.n bc54 + bc22: f1ba 0f00 cmp.w sl, #0 + bc26: db09 blt.n bc3c if(kr < len) _lv_memset_00(&mask_buf[kr], len - kr); - bc40: 45da cmp sl, fp - bc42: daeb bge.n bc1c - bc44: ebab 010a sub.w r1, fp, sl - bc48: 9b02 ldr r3, [sp, #8] - bc4a: 4453 add r3, sl - bc4c: 4618 mov r0, r3 - bc4e: 4b5a ldr r3, [pc, #360] ; (bdb8 ) - bc50: 4798 blx r3 - bc52: e7e3 b.n bc1c + bc28: 45da cmp sl, fp + bc2a: daeb bge.n bc04 + bc2c: ebab 010a sub.w r1, fp, sl + bc30: 9b02 ldr r3, [sp, #8] + bc32: 4453 add r3, sl + bc34: 4618 mov r0, r3 + bc36: 4b5a ldr r3, [pc, #360] ; (bda0 ) + bc38: 4798 blx r3 + bc3a: e7e3 b.n bc04 return LV_DRAW_MASK_RES_TRANSP; - bc54: 2000 movs r0, #0 - bc56: e000 b.n bc5a + bc3c: 2000 movs r0, #0 + bc3e: e000 b.n bc42 return LV_DRAW_MASK_RES_TRANSP; - bc58: 2000 movs r0, #0 + bc40: 2000 movs r0, #0 } - bc5a: b00d add sp, #52 ; 0x34 - bc5c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + bc42: b00d add sp, #52 ; 0x34 + bc44: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} return LV_DRAW_MASK_RES_TRANSP; - bc60: 2000 movs r0, #0 - bc62: e7fa b.n bc5a + bc48: 2000 movs r0, #0 + bc4a: e7fa b.n bc42 return LV_DRAW_MASK_RES_FULL_COVER; - bc64: 2001 movs r0, #1 - bc66: e7f8 b.n bc5a + bc4c: 2001 movs r0, #1 + bc4e: e7f8 b.n bc42 if(last > len) return LV_DRAW_MASK_RES_TRANSP; - bc68: 2000 movs r0, #0 - bc6a: e7f6 b.n bc5a + bc50: 2000 movs r0, #0 + bc52: e7f6 b.n bc42 if(first <= 0) return LV_DRAW_MASK_RES_TRANSP; - bc6c: 2000 movs r0, #0 - bc6e: e7f4 b.n bc5a + bc54: 2000 movs r0, #0 + bc56: e7f4 b.n bc42 return LV_DRAW_MASK_RES_CHANGED; - bc70: 2002 movs r0, #2 - bc72: e7f2 b.n bc5a + bc58: 2002 movs r0, #2 + bc5a: e7f2 b.n bc42 if(radius <= 256) sqrt_mask = 0x800; - bc74: f5b8 7f80 cmp.w r8, #256 ; 0x100 - bc78: bfd4 ite le - bc7a: f44f 6300 movle.w r3, #2048 ; 0x800 - bc7e: f44f 4300 movgt.w r3, #32768 ; 0x8000 - bc82: 9304 str r3, [sp, #16] + bc5c: f5b8 7f80 cmp.w r8, #256 ; 0x100 + bc60: bfd4 ite le + bc62: f44f 6300 movle.w r3, #2048 ; 0x800 + bc66: f44f 4300 movgt.w r3, #32768 ; 0x8000 + bc6a: 9304 str r3, [sp, #16] y = radius - (h - abs_y) + 1; - bc84: 1a89 subs r1, r1, r2 - bc86: eba8 0001 sub.w r0, r8, r1 - bc8a: 1c44 adds r4, r0, #1 + bc6c: 1a89 subs r1, r1, r2 + bc6e: eba8 0001 sub.w r0, r8, r1 + bc72: 1c44 adds r4, r0, #1 if((y - 1) == p->y_prev) { - bc8c: 696b ldr r3, [r5, #20] - bc8e: 4298 cmp r0, r3 - bc90: f47f ae45 bne.w b91e + bc74: 696b ldr r3, [r5, #20] + bc76: 4298 cmp r0, r3 + bc78: f47f ae45 bne.w b906 x1.f = p->y_prev_x.f; - bc94: 8b6b ldrh r3, [r5, #26] - bc96: f8ad 301e strh.w r3, [sp, #30] + bc7c: 8b6b ldrh r3, [r5, #26] + bc7e: f8ad 301e strh.w r3, [sp, #30] x1.i = p->y_prev_x.i; - bc9a: 8b2b ldrh r3, [r5, #24] - bc9c: f8ad 301c strh.w r3, [sp, #28] - bca0: e644 b.n b92c + bc82: 8b2b ldrh r3, [r5, #24] + bc84: f8ad 301c strh.w r3, [sp, #28] + bc88: e644 b.n b914 if(radius <= 256) sqrt_mask = 0x800; - bca2: f5b8 7f80 cmp.w r8, #256 ; 0x100 - bca6: bfd4 ite le - bca8: f44f 6300 movle.w r3, #2048 ; 0x800 - bcac: f44f 4300 movgt.w r3, #32768 ; 0x8000 - bcb0: 9304 str r3, [sp, #16] + bc8a: f5b8 7f80 cmp.w r8, #256 ; 0x100 + bc8e: bfd4 ite le + bc90: f44f 6300 movle.w r3, #2048 ; 0x800 + bc94: f44f 4300 movgt.w r3, #32768 ; 0x8000 + bc98: 9304 str r3, [sp, #16] y = radius - abs_y; - bcb2: eba8 0402 sub.w r4, r8, r2 + bc9a: eba8 0402 sub.w r4, r8, r2 if(y == p->y_prev) { - bcb6: 696b ldr r3, [r5, #20] - bcb8: 429c cmp r4, r3 - bcba: f43f ae29 beq.w b910 + bc9e: 696b ldr r3, [r5, #20] + bca0: 429c cmp r4, r3 + bca2: f43f ae29 beq.w b8f8 _lv_sqrt(r2 - (y * y), &x0, sqrt_mask); - bcbe: 9a04 ldr r2, [sp, #16] - bcc0: a906 add r1, sp, #24 - bcc2: 9b01 ldr r3, [sp, #4] - bcc4: fb04 3014 mls r0, r4, r4, r3 - bcc8: 4b3c ldr r3, [pc, #240] ; (bdbc ) - bcca: 4798 blx r3 + bca6: 9a04 ldr r2, [sp, #16] + bca8: a906 add r1, sp, #24 + bcaa: 9b01 ldr r3, [sp, #4] + bcac: fb04 3014 mls r0, r4, r4, r3 + bcb0: 4b3c ldr r3, [pc, #240] ; (bda4 ) + bcb2: 4798 blx r3 _lv_sqrt(r2 - ((y - 1) * (y - 1)), &x1, sqrt_mask); - bccc: 1e63 subs r3, r4, #1 - bcce: 9a04 ldr r2, [sp, #16] - bcd0: a907 add r1, sp, #28 - bcd2: 9303 str r3, [sp, #12] - bcd4: 9801 ldr r0, [sp, #4] - bcd6: fb03 0013 mls r0, r3, r3, r0 - bcda: 4b38 ldr r3, [pc, #224] ; (bdbc ) - bcdc: 4798 blx r3 + bcb4: 1e63 subs r3, r4, #1 + bcb6: 9a04 ldr r2, [sp, #16] + bcb8: a907 add r1, sp, #28 + bcba: 9303 str r3, [sp, #12] + bcbc: 9801 ldr r0, [sp, #4] + bcbe: fb03 0013 mls r0, r3, r3, r0 + bcc2: 4b38 ldr r3, [pc, #224] ; (bda4 ) + bcc4: 4798 blx r3 p->y_prev = y - 1; - bcde: 9b03 ldr r3, [sp, #12] - bce0: 616b str r3, [r5, #20] + bcc6: 9b03 ldr r3, [sp, #12] + bcc8: 616b str r3, [r5, #20] p->y_prev_x.f = x1.f; - bce2: f8bd 301e ldrh.w r3, [sp, #30] - bce6: 836b strh r3, [r5, #26] + bcca: f8bd 301e ldrh.w r3, [sp, #30] + bcce: 836b strh r3, [r5, #26] p->y_prev_x.i = x1.i; - bce8: f8bd 301c ldrh.w r3, [sp, #28] - bcec: 832b strh r3, [r5, #24] + bcd0: f8bd 301c ldrh.w r3, [sp, #28] + bcd4: 832b strh r3, [r5, #24] if(x0.i == x1.i - 1 && x1.f == 0) { - bcee: f8bd 3018 ldrh.w r3, [sp, #24] - bcf2: f8bd 201c ldrh.w r2, [sp, #28] - bcf6: 1e51 subs r1, r2, #1 - bcf8: 428b cmp r3, r1 - bcfa: f43f ae26 beq.w b94a + bcd6: f8bd 3018 ldrh.w r3, [sp, #24] + bcda: f8bd 201c ldrh.w r2, [sp, #28] + bcde: 1e51 subs r1, r2, #1 + bce0: 428b cmp r3, r1 + bce2: f43f ae26 beq.w b932 int32_t k = rect.x1 - abs_x; /*First relevant coordinate on the of the mask*/ - bcfe: eba9 0707 sub.w r7, r9, r7 + bce6: eba9 0707 sub.w r7, r9, r7 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - bd02: f10a 0a01 add.w sl, sl, #1 - bd06: ebaa 0909 sub.w r9, sl, r9 + bcea: f10a 0a01 add.w sl, sl, #1 + bcee: ebaa 0909 sub.w r9, sl, r9 int32_t w = lv_area_get_width(&rect); - bd0a: fa0f f989 sxth.w r9, r9 + bcf2: fa0f f989 sxth.w r9, r9 if(x0.i == x1.i) { - bd0e: f8bd 201c ldrh.w r2, [sp, #28] - bd12: 429a cmp r2, r3 - bd14: f43f ae25 beq.w b962 + bcf6: f8bd 201c ldrh.w r2, [sp, #28] + bcfa: 429a cmp r2, r3 + bcfc: f43f ae25 beq.w b94a int32_t ofs = radius - (x0.i + 1); - bd18: 3301 adds r3, #1 - bd1a: eba8 0803 sub.w r8, r8, r3 + bd00: 3301 adds r3, #1 + bd02: eba8 0803 sub.w r8, r8, r3 int32_t kl = k + ofs; - bd1e: eb07 0308 add.w r3, r7, r8 - bd22: 9303 str r3, [sp, #12] + bd06: eb07 0308 add.w r3, r7, r8 + bd0a: 9303 str r3, [sp, #12] int32_t kr = k + (w - ofs - 1); - bd24: eba9 0808 sub.w r8, r9, r8 - bd28: f108 3aff add.w sl, r8, #4294967295 - bd2c: 44ba add sl, r7 + bd0c: eba9 0808 sub.w r8, r9, r8 + bd10: f108 3aff add.w sl, r8, #4294967295 + bd14: 44ba add sl, r7 if(outer) { - bd2e: b186 cbz r6, bd52 + bd16: b186 cbz r6, bd3a int32_t first = kl + 1; - bd30: 1c58 adds r0, r3, #1 - bd32: ea20 70e0 bic.w r0, r0, r0, asr #31 + bd18: 1c58 adds r0, r3, #1 + bd1a: ea20 70e0 bic.w r0, r0, r0, asr #31 if(len_tmp + first > len) len_tmp = len - first; - bd36: 45da cmp sl, fp + bd1e: 45da cmp sl, fp int32_t len_tmp = kr - first; - bd38: bfd4 ite le - bd3a: ebaa 0100 suble.w r1, sl, r0 + bd20: bfd4 ite le + bd22: ebaa 0100 suble.w r1, sl, r0 if(len_tmp + first > len) len_tmp = len - first; - bd3e: ebab 0100 subgt.w r1, fp, r0 + bd26: ebab 0100 subgt.w r1, fp, r0 if(first < len && len_tmp >= 0) { - bd42: 4558 cmp r0, fp - bd44: da05 bge.n bd52 - bd46: 2900 cmp r1, #0 - bd48: db03 blt.n bd52 + bd2a: 4558 cmp r0, fp + bd2c: da05 bge.n bd3a + bd2e: 2900 cmp r1, #0 + bd30: db03 blt.n bd3a _lv_memset_00(&mask_buf[first], len_tmp); - bd4a: 9b02 ldr r3, [sp, #8] - bd4c: 4418 add r0, r3 - bd4e: 4b1a ldr r3, [pc, #104] ; (bdb8 ) - bd50: 4798 blx r3 + bd32: 9b02 ldr r3, [sp, #8] + bd34: 4418 add r0, r3 + bd36: 4b1a ldr r3, [pc, #104] ; (bda0 ) + bd38: 4798 blx r3 uint32_t i = x0.i + 1; - bd52: f8bd 0018 ldrh.w r0, [sp, #24] - bd56: f100 0801 add.w r8, r0, #1 + bd3a: f8bd 0018 ldrh.w r0, [sp, #24] + bd3e: f100 0801 add.w r8, r0, #1 _lv_sqrt(r2 - (x0.i * x0.i), &y_prev, sqrt_mask); - bd5a: 9a04 ldr r2, [sp, #16] - bd5c: a908 add r1, sp, #32 - bd5e: 9b01 ldr r3, [sp, #4] - bd60: fb00 3010 mls r0, r0, r0, r3 - bd64: 4b15 ldr r3, [pc, #84] ; (bdbc ) - bd66: 4798 blx r3 + bd42: 9a04 ldr r2, [sp, #16] + bd44: a908 add r1, sp, #32 + bd46: 9b01 ldr r3, [sp, #4] + bd48: fb00 3010 mls r0, r0, r0, r3 + bd4c: 4b15 ldr r3, [pc, #84] ; (bda4 ) + bd4e: 4798 blx r3 if(y_prev.f == 0) { - bd68: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 - bd6c: b93b cbnz r3, bd7e + bd50: f8bd 3022 ldrh.w r3, [sp, #34] ; 0x22 + bd54: b93b cbnz r3, bd66 y_prev.i--; - bd6e: f8bd 3020 ldrh.w r3, [sp, #32] - bd72: 3b01 subs r3, #1 - bd74: f8ad 3020 strh.w r3, [sp, #32] + bd56: f8bd 3020 ldrh.w r3, [sp, #32] + bd5a: 3b01 subs r3, #1 + bd5c: f8ad 3020 strh.w r3, [sp, #32] y_prev.f = 0xFF; - bd78: 23ff movs r3, #255 ; 0xff - bd7a: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 + bd60: 23ff movs r3, #255 ; 0xff + bd62: f8ad 3022 strh.w r3, [sp, #34] ; 0x22 if(y_prev.i >= y) { - bd7e: f8bd 3020 ldrh.w r3, [sp, #32] - bd82: 429c cmp r4, r3 - bd84: f77f ae54 ble.w ba30 + bd66: f8bd 3020 ldrh.w r3, [sp, #32] + bd6a: 429c cmp r4, r3 + bd6c: f77f ae54 ble.w ba18 for(; i <= x1.i; i++) { - bd88: f8bd 501c ldrh.w r5, [sp, #28] - bd8c: 45a8 cmp r8, r5 - bd8e: f63f af05 bhi.w bb9c + bd70: f8bd 501c ldrh.w r5, [sp, #28] + bd74: 45a8 cmp r8, r5 + bd76: f63f af05 bhi.w bb84 uint32_t raw = (ref->i << 4) + (ref->f >> 4); - bd92: f8bd 9020 ldrh.w r9, [sp, #32] - bd96: ea4f 1909 mov.w r9, r9, lsl #4 - bd9a: f8bd 2022 ldrh.w r2, [sp, #34] ; 0x22 - bd9e: 4641 mov r1, r8 - bda0: 4654 mov r4, sl - bda2: 9803 ldr r0, [sp, #12] + bd7a: f8bd 9020 ldrh.w r9, [sp, #32] + bd7e: ea4f 1909 mov.w r9, r9, lsl #4 + bd82: f8bd 2022 ldrh.w r2, [sp, #34] ; 0x22 + bd86: 4641 mov r1, r8 + bd88: 4654 mov r4, sl + bd8a: 9803 ldr r0, [sp, #12] if(mask_new <= LV_OPA_MIN) return 0; - bda4: f8cd 8010 str.w r8, [sp, #16] - bda8: f8cd a014 str.w sl, [sp, #20] - bdac: f8dd a004 ldr.w sl, [sp, #4] - bdb0: 9501 str r5, [sp, #4] - bdb2: f8dd e008 ldr.w lr, [sp, #8] - bdb6: e69d b.n baf4 - bdb8: 00012b37 .word 0x00012b37 - bdbc: 0001231d .word 0x0001231d - -0000bdc0 : -{ - bdc0: b510 push {r4, lr} - bdc2: b082 sub sp, #8 + bd8c: f8cd 8010 str.w r8, [sp, #16] + bd90: f8cd a014 str.w sl, [sp, #20] + bd94: f8dd a004 ldr.w sl, [sp, #4] + bd98: 9501 str r5, [sp, #4] + bd9a: f8dd e008 ldr.w lr, [sp, #8] + bd9e: e69d b.n badc + bda0: 00012b1f .word 0x00012b1f + bda4: 00012305 .word 0x00012305 + +0000bda8 : +{ + bda8: b510 push {r4, lr} + bdaa: b082 sub sp, #8 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break; - bdc4: 4b10 ldr r3, [pc, #64] ; (be08 ) - bdc6: 681b ldr r3, [r3, #0] - bdc8: b19b cbz r3, bdf2 - bdca: 4a0f ldr r2, [pc, #60] ; (be08 ) + bdac: 4b10 ldr r3, [pc, #64] ; (bdf0 ) + bdae: 681b ldr r3, [r3, #0] + bdb0: b19b cbz r3, bdda + bdb2: 4a0f ldr r2, [pc, #60] ; (bdf0 ) for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - bdcc: 2301 movs r3, #1 + bdb4: 2301 movs r3, #1 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param == NULL) break; - bdce: 6894 ldr r4, [r2, #8] - bdd0: b184 cbz r4, bdf4 + bdb6: 6894 ldr r4, [r2, #8] + bdb8: b184 cbz r4, bddc for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - bdd2: 3301 adds r3, #1 - bdd4: b2db uxtb r3, r3 - bdd6: 3208 adds r2, #8 - bdd8: 2b10 cmp r3, #16 - bdda: d1f8 bne.n bdce + bdba: 3301 adds r3, #1 + bdbc: b2db uxtb r3, r3 + bdbe: 3208 adds r2, #8 + bdc0: 2b10 cmp r3, #16 + bdc2: d1f8 bne.n bdb6 LV_LOG_WARN("lv_mask_add: no place to add the mask"); - bddc: 4b0b ldr r3, [pc, #44] ; (be0c ) - bdde: 9300 str r3, [sp, #0] - bde0: 4b0b ldr r3, [pc, #44] ; (be10 ) - bde2: 2257 movs r2, #87 ; 0x57 - bde4: 490b ldr r1, [pc, #44] ; (be14 ) - bde6: 2002 movs r0, #2 - bde8: 4c0b ldr r4, [pc, #44] ; (be18 ) - bdea: 47a0 blx r4 + bdc4: 4b0b ldr r3, [pc, #44] ; (bdf4 ) + bdc6: 9300 str r3, [sp, #0] + bdc8: 4b0b ldr r3, [pc, #44] ; (bdf8 ) + bdca: 2257 movs r2, #87 ; 0x57 + bdcc: 490b ldr r1, [pc, #44] ; (bdfc ) + bdce: 2002 movs r0, #2 + bdd0: 4c0b ldr r4, [pc, #44] ; (be00 ) + bdd2: 47a0 blx r4 return LV_MASK_ID_INV; - bdec: f04f 30ff mov.w r0, #4294967295 - bdf0: e007 b.n be02 + bdd4: f04f 30ff mov.w r0, #4294967295 + bdd8: e007 b.n bdea for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - bdf2: 2300 movs r3, #0 + bdda: 2300 movs r3, #0 LV_GC_ROOT(_lv_draw_mask_list[i]).param = param; - bdf4: 4a04 ldr r2, [pc, #16] ; (be08 ) - bdf6: f842 0033 str.w r0, [r2, r3, lsl #3] + bddc: 4a04 ldr r2, [pc, #16] ; (bdf0 ) + bdde: f842 0033 str.w r0, [r2, r3, lsl #3] LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = custom_id; - bdfa: eb02 02c3 add.w r2, r2, r3, lsl #3 - bdfe: 6051 str r1, [r2, #4] + bde2: eb02 02c3 add.w r2, r2, r3, lsl #3 + bde6: 6051 str r1, [r2, #4] return i; - be00: b218 sxth r0, r3 + bde8: b218 sxth r0, r3 } - be02: b002 add sp, #8 - be04: bd10 pop {r4, pc} - be06: bf00 nop - be08: 20006d6c .word 0x20006d6c - be0c: 00025024 .word 0x00025024 - be10: 00024fc8 .word 0x00024fc8 - be14: 00024ff4 .word 0x00024ff4 - be18: 0001225d .word 0x0001225d + bdea: b002 add sp, #8 + bdec: bd10 pop {r4, pc} + bdee: bf00 nop + bdf0: 20006d6c .word 0x20006d6c + bdf4: 0002500c .word 0x0002500c + bdf8: 00024fb0 .word 0x00024fb0 + bdfc: 00024fdc .word 0x00024fdc + be00: 00012245 .word 0x00012245 -0000be1c : +0000be04 : { - be1c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - be20: b082 sub sp, #8 + be04: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + be08: b082 sub sp, #8 while(m->param) { - be22: 4c11 ldr r4, [pc, #68] ; (be68 ) - be24: 6824 ldr r4, [r4, #0] - be26: b1ec cbz r4, be64 - be28: 469a mov sl, r3 - be2a: 4691 mov r9, r2 - be2c: 4688 mov r8, r1 - be2e: 4607 mov r7, r0 - be30: 4e0d ldr r6, [pc, #52] ; (be68 ) - be32: 2500 movs r5, #0 + be0a: 4c11 ldr r4, [pc, #68] ; (be50 ) + be0c: 6824 ldr r4, [r4, #0] + be0e: b1ec cbz r4, be4c + be10: 469a mov sl, r3 + be12: 4691 mov r9, r2 + be14: 4688 mov r8, r1 + be16: 4607 mov r7, r0 + be18: 4e0d ldr r6, [pc, #52] ; (be50 ) + be1a: 2500 movs r5, #0 res = dsc->cb(mask_buf, abs_x, abs_y, len, (void *)m->param); - be34: 9400 str r4, [sp, #0] - be36: 6824 ldr r4, [r4, #0] - be38: 4653 mov r3, sl - be3a: 464a mov r2, r9 - be3c: 4641 mov r1, r8 - be3e: 4638 mov r0, r7 - be40: 47a0 blx r4 + be1c: 9400 str r4, [sp, #0] + be1e: 6824 ldr r4, [r4, #0] + be20: 4653 mov r3, sl + be22: 464a mov r2, r9 + be24: 4641 mov r1, r8 + be26: 4638 mov r0, r7 + be28: 47a0 blx r4 if(res == LV_DRAW_MASK_RES_TRANSP) return LV_DRAW_MASK_RES_TRANSP; - be42: 4604 mov r4, r0 - be44: b150 cbz r0, be5c + be2a: 4604 mov r4, r0 + be2c: b150 cbz r0, be44 else if(res == LV_DRAW_MASK_RES_CHANGED) changed = true; - be46: 2802 cmp r0, #2 - be48: bf08 it eq - be4a: 2501 moveq r5, #1 + be2e: 2802 cmp r0, #2 + be30: bf08 it eq + be32: 2501 moveq r5, #1 while(m->param) { - be4c: f856 4f08 ldr.w r4, [r6, #8]! - be50: 2c00 cmp r4, #0 - be52: d1ef bne.n be34 + be34: f856 4f08 ldr.w r4, [r6, #8]! + be38: 2c00 cmp r4, #0 + be3a: d1ef bne.n be1c return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; - be54: 2d00 cmp r5, #0 - be56: bf14 ite ne - be58: 2402 movne r4, #2 - be5a: 2401 moveq r4, #1 -} - be5c: 4620 mov r0, r4 - be5e: b002 add sp, #8 - be60: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + be3c: 2d00 cmp r5, #0 + be3e: bf14 ite ne + be40: 2402 movne r4, #2 + be42: 2401 moveq r4, #1 +} + be44: 4620 mov r0, r4 + be46: b002 add sp, #8 + be48: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} return changed ? LV_DRAW_MASK_RES_CHANGED : LV_DRAW_MASK_RES_FULL_COVER; - be64: 2401 movs r4, #1 - be66: e7f9 b.n be5c - be68: 20006d6c .word 0x20006d6c + be4c: 2401 movs r4, #1 + be4e: e7f9 b.n be44 + be50: 20006d6c .word 0x20006d6c -0000be6c : +0000be54 : if(id != LV_MASK_ID_INV) { - be6c: f1b0 3fff cmp.w r0, #4294967295 - be70: d00a beq.n be88 + be54: f1b0 3fff cmp.w r0, #4294967295 + be58: d00a beq.n be70 p = LV_GC_ROOT(_lv_draw_mask_list[id]).param; - be72: 4b06 ldr r3, [pc, #24] ; (be8c ) - be74: f853 1030 ldr.w r1, [r3, r0, lsl #3] + be5a: 4b06 ldr r3, [pc, #24] ; (be74 ) + be5c: f853 1030 ldr.w r1, [r3, r0, lsl #3] LV_GC_ROOT(_lv_draw_mask_list[id]).param = NULL; - be78: 2200 movs r2, #0 - be7a: f843 2030 str.w r2, [r3, r0, lsl #3] + be60: 2200 movs r2, #0 + be62: f843 2030 str.w r2, [r3, r0, lsl #3] LV_GC_ROOT(_lv_draw_mask_list[id]).custom_id = NULL; - be7e: eb03 03c0 add.w r3, r3, r0, lsl #3 - be82: 605a str r2, [r3, #4] + be66: eb03 03c0 add.w r3, r3, r0, lsl #3 + be6a: 605a str r2, [r3, #4] } - be84: 4608 mov r0, r1 - be86: 4770 bx lr + be6c: 4608 mov r0, r1 + be6e: 4770 bx lr void * p = NULL; - be88: 2100 movs r1, #0 + be70: 2100 movs r1, #0 return p; - be8a: e7fb b.n be84 - be8c: 20006d6c .word 0x20006d6c + be72: e7fb b.n be6c + be74: 20006d6c .word 0x20006d6c -0000be90 : +0000be78 : { - be90: b470 push {r4, r5, r6} - be92: 4b0b ldr r3, [pc, #44] ; (bec0 ) - be94: 1d1a adds r2, r3, #4 - be96: f103 0480 add.w r4, r3, #128 ; 0x80 + be78: b470 push {r4, r5, r6} + be7a: 4b0b ldr r3, [pc, #44] ; (bea8 ) + be7c: 1d1a adds r2, r3, #4 + be7e: f103 0480 add.w r4, r3, #128 ; 0x80 void * p = NULL; - be9a: 2600 movs r6, #0 + be82: 2600 movs r6, #0 LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL; - be9c: 4635 mov r5, r6 - be9e: e003 b.n bea8 - bea0: 3308 adds r3, #8 - bea2: 3208 adds r2, #8 + be84: 4635 mov r5, r6 + be86: e003 b.n be90 + be88: 3308 adds r3, #8 + be8a: 3208 adds r2, #8 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - bea4: 42a3 cmp r3, r4 - bea6: d008 beq.n beba + be8c: 42a3 cmp r3, r4 + be8e: d008 beq.n bea2 if(LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id == custom_id) { - bea8: 6859 ldr r1, [r3, #4] - beaa: 4281 cmp r1, r0 - beac: d1f8 bne.n bea0 + be90: 6859 ldr r1, [r3, #4] + be92: 4281 cmp r1, r0 + be94: d1f8 bne.n be88 p = LV_GC_ROOT(_lv_draw_mask_list[i]).param; - beae: f852 6c04 ldr.w r6, [r2, #-4] + be96: f852 6c04 ldr.w r6, [r2, #-4] LV_GC_ROOT(_lv_draw_mask_list[i]).param = NULL; - beb2: f842 5c04 str.w r5, [r2, #-4] + be9a: f842 5c04 str.w r5, [r2, #-4] LV_GC_ROOT(_lv_draw_mask_list[i]).custom_id = NULL; - beb6: 605d str r5, [r3, #4] - beb8: e7f2 b.n bea0 + be9e: 605d str r5, [r3, #4] + bea0: e7f2 b.n be88 } - beba: 4630 mov r0, r6 - bebc: bc70 pop {r4, r5, r6} - bebe: 4770 bx lr - bec0: 20006d6c .word 0x20006d6c + bea2: 4630 mov r0, r6 + bea4: bc70 pop {r4, r5, r6} + bea6: 4770 bx lr + bea8: 20006d6c .word 0x20006d6c -0000bec4 : +0000beac : { - bec4: 2300 movs r3, #0 + beac: 2300 movs r3, #0 uint8_t cnt = 0; - bec6: 4618 mov r0, r3 + beae: 4618 mov r0, r3 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++; - bec8: 4906 ldr r1, [pc, #24] ; (bee4 ) - beca: e002 b.n bed2 - becc: 3301 adds r3, #1 + beb0: 4906 ldr r1, [pc, #24] ; (becc ) + beb2: e002 b.n beba + beb4: 3301 adds r3, #1 for(i = 0; i < _LV_MASK_MAX_NUM; i++) { - bece: 2b10 cmp r3, #16 - bed0: d006 beq.n bee0 + beb6: 2b10 cmp r3, #16 + beb8: d006 beq.n bec8 if(LV_GC_ROOT(_lv_draw_mask_list[i]).param) cnt++; - bed2: f851 2033 ldr.w r2, [r1, r3, lsl #3] - bed6: 2a00 cmp r2, #0 - bed8: d0f8 beq.n becc - beda: 3001 adds r0, #1 - bedc: b2c0 uxtb r0, r0 - bede: e7f5 b.n becc -} - bee0: 4770 bx lr - bee2: bf00 nop - bee4: 20006d6c .word 0x20006d6c - -0000bee8 : -{ - bee8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - beec: 4604 mov r4, r0 - beee: 460f mov r7, r1 - bef0: 4615 mov r5, r2 - bef2: 4698 mov r8, r3 - bef4: f9bd 6018 ldrsh.w r6, [sp, #24] + beba: f851 2033 ldr.w r2, [r1, r3, lsl #3] + bebe: 2a00 cmp r2, #0 + bec0: d0f8 beq.n beb4 + bec2: 3001 adds r0, #1 + bec4: b2c0 uxtb r0, r0 + bec6: e7f5 b.n beb4 +} + bec8: 4770 bx lr + beca: bf00 nop + becc: 20006d6c .word 0x20006d6c + +0000bed0 : +{ + bed0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + bed4: 4604 mov r4, r0 + bed6: 460f mov r7, r1 + bed8: 4615 mov r5, r2 + beda: 4698 mov r8, r3 + bedc: f9bd 6018 ldrsh.w r6, [sp, #24] _lv_memset_00(param, sizeof(lv_draw_mask_line_param_t)); - bef8: 212c movs r1, #44 ; 0x2c - befa: 4b4a ldr r3, [pc, #296] ; (c024 ) - befc: 4798 blx r3 + bee0: 212c movs r1, #44 ; 0x2c + bee2: 4b4a ldr r3, [pc, #296] ; (c00c ) + bee4: 4798 blx r3 if(p1y > p2y) { - befe: 42b5 cmp r5, r6 - bf00: dd05 ble.n bf0e - bf02: 462b mov r3, r5 + bee6: 42b5 cmp r5, r6 + bee8: dd05 ble.n bef6 + beea: 462b mov r3, r5 p1y = t; - bf04: 4635 mov r5, r6 + beec: 4635 mov r5, r6 p2y = p1y; - bf06: 461e mov r6, r3 + beee: 461e mov r6, r3 if(p1y > p2y) { - bf08: 463b mov r3, r7 + bef0: 463b mov r3, r7 p1x = t; - bf0a: 4647 mov r7, r8 + bef2: 4647 mov r7, r8 p2x = p1x; - bf0c: 4698 mov r8, r3 + bef4: 4698 mov r8, r3 param->cfg.p1.x = p1x; - bf0e: 8127 strh r7, [r4, #8] + bef6: 8127 strh r7, [r4, #8] param->cfg.p1.y = p1y; - bf10: 8165 strh r5, [r4, #10] + bef8: 8165 strh r5, [r4, #10] param->cfg.p2.x = p2x; - bf12: f8a4 800c strh.w r8, [r4, #12] + befa: f8a4 800c strh.w r8, [r4, #12] param->cfg.p2.y = p2y; - bf16: 81e6 strh r6, [r4, #14] + befe: 81e6 strh r6, [r4, #14] param->cfg.side = side; - bf18: 7c23 ldrb r3, [r4, #16] - bf1a: f89d 201c ldrb.w r2, [sp, #28] - bf1e: f362 0301 bfi r3, r2, #0, #2 - bf22: 7423 strb r3, [r4, #16] + bf00: 7c23 ldrb r3, [r4, #16] + bf02: f89d 201c ldrb.w r2, [sp, #28] + bf06: f362 0301 bfi r3, r2, #0, #2 + bf0a: 7423 strb r3, [r4, #16] param->origo.x = p1x; - bf24: 8267 strh r7, [r4, #18] + bf0c: 8267 strh r7, [r4, #18] param->origo.y = p1y; - bf26: 82a5 strh r5, [r4, #20] + bf0e: 82a5 strh r5, [r4, #20] param->flat = (LV_MATH_ABS(p2x - p1x) > LV_MATH_ABS(p2y - p1y)) ? 1 : 0; - bf28: eba8 0707 sub.w r7, r8, r7 - bf2c: 1b75 subs r5, r6, r5 - bf2e: ea87 71e7 eor.w r1, r7, r7, asr #31 - bf32: eba1 71e7 sub.w r1, r1, r7, asr #31 - bf36: ea85 73e5 eor.w r3, r5, r5, asr #31 - bf3a: eba3 73e5 sub.w r3, r3, r5, asr #31 - bf3e: 4299 cmp r1, r3 - bf40: bfd4 ite le - bf42: 2100 movle r1, #0 - bf44: 2101 movgt r1, #1 - bf46: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - bf4a: f361 0200 bfi r2, r1, #0, #1 - bf4e: f884 2028 strb.w r2, [r4, #40] ; 0x28 + bf10: eba8 0707 sub.w r7, r8, r7 + bf14: 1b75 subs r5, r6, r5 + bf16: ea87 71e7 eor.w r1, r7, r7, asr #31 + bf1a: eba1 71e7 sub.w r1, r1, r7, asr #31 + bf1e: ea85 73e5 eor.w r3, r5, r5, asr #31 + bf22: eba3 73e5 sub.w r3, r3, r5, asr #31 + bf26: 4299 cmp r1, r3 + bf28: bfd4 ite le + bf2a: 2100 movle r1, #0 + bf2c: 2101 movgt r1, #1 + bf2e: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + bf32: f361 0200 bfi r2, r1, #0, #1 + bf36: f884 2028 strb.w r2, [r4, #40] ; 0x28 param->yx_steep = 0; - bf52: 2100 movs r1, #0 - bf54: 61e1 str r1, [r4, #28] + bf3a: 2100 movs r1, #0 + bf3c: 61e1 str r1, [r4, #28] param->xy_steep = 0; - bf56: 61a1 str r1, [r4, #24] + bf3e: 61a1 str r1, [r4, #24] param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_line; - bf58: 4b33 ldr r3, [pc, #204] ; (c028 ) - bf5a: 6023 str r3, [r4, #0] + bf40: 4b33 ldr r3, [pc, #204] ; (c010 ) + bf42: 6023 str r3, [r4, #0] param->dsc.type = LV_DRAW_MASK_TYPE_LINE; - bf5c: 7121 strb r1, [r4, #4] + bf44: 7121 strb r1, [r4, #4] if(param->flat) { - bf5e: f012 0f01 tst.w r2, #1 - bf62: d025 beq.n bfb0 + bf46: f012 0f01 tst.w r2, #1 + bf4a: d025 beq.n bf98 if(dx) { - bf64: b13f cbz r7, bf76 + bf4c: b13f cbz r7, bf5e m = (1 << 20) / dx; /*m is multiplier to normalize y (upscaled by 1024)*/ - bf66: f44f 1380 mov.w r3, #1048576 ; 0x100000 - bf6a: fb93 f3f7 sdiv r3, r3, r7 + bf4e: f44f 1380 mov.w r3, #1048576 ; 0x100000 + bf52: fb93 f3f7 sdiv r3, r3, r7 param->yx_steep = (m * dy) >> 10; - bf6e: fb05 f303 mul.w r3, r5, r3 - bf72: 129b asrs r3, r3, #10 - bf74: 61e3 str r3, [r4, #28] + bf56: fb05 f303 mul.w r3, r5, r3 + bf5a: 129b asrs r3, r3, #10 + bf5c: 61e3 str r3, [r4, #28] if(dy) { - bf76: b13d cbz r5, bf88 + bf5e: b13d cbz r5, bf70 m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/ - bf78: f44f 1680 mov.w r6, #1048576 ; 0x100000 - bf7c: fb96 f5f5 sdiv r5, r6, r5 + bf60: f44f 1680 mov.w r6, #1048576 ; 0x100000 + bf64: fb96 f5f5 sdiv r5, r6, r5 param->xy_steep = (m * dx) >> 10; - bf80: fb07 f705 mul.w r7, r7, r5 - bf84: 12bf asrs r7, r7, #10 - bf86: 61a7 str r7, [r4, #24] + bf68: fb07 f705 mul.w r7, r7, r5 + bf6c: 12bf asrs r7, r7, #10 + bf6e: 61a7 str r7, [r4, #24] param->steep = param->yx_steep; - bf88: 69e3 ldr r3, [r4, #28] - bf8a: 6223 str r3, [r4, #32] + bf70: 69e3 ldr r3, [r4, #28] + bf72: 6223 str r3, [r4, #32] if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_LEFT) param->inv = 0; - bf8c: 7c23 ldrb r3, [r4, #16] - bf8e: f013 0303 ands.w r3, r3, #3 - bf92: d122 bne.n bfda - bf94: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - bf98: f36f 0341 bfc r3, #1, #1 - bf9c: f884 3028 strb.w r3, [r4, #40] ; 0x28 + bf74: 7c23 ldrb r3, [r4, #16] + bf76: f013 0303 ands.w r3, r3, #3 + bf7a: d122 bne.n bfc2 + bf7c: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + bf80: f36f 0341 bfc r3, #1, #1 + bf84: f884 3028 strb.w r3, [r4, #40] ; 0x28 param->spx = param->steep >> 2; - bfa0: 6a23 ldr r3, [r4, #32] - bfa2: 109a asrs r2, r3, #2 + bf88: 6a23 ldr r3, [r4, #32] + bf8a: 109a asrs r2, r3, #2 if(param->steep < 0) param->spx = -param->spx; - bfa4: 2b00 cmp r3, #0 - bfa6: bfb8 it lt - bfa8: 4252 neglt r2, r2 - bfaa: 6262 str r2, [r4, #36] ; 0x24 - bfac: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + bf8c: 2b00 cmp r3, #0 + bf8e: bfb8 it lt + bf90: 4252 neglt r2, r2 + bf92: 6262 str r2, [r4, #36] ; 0x24 + bf94: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(dy) { - bfb0: b13d cbz r5, bfc2 + bf98: b13d cbz r5, bfaa m = (1 << 20) / dy; /*m is multiplier to normalize x (upscaled by 1024)*/ - bfb2: f44f 1380 mov.w r3, #1048576 ; 0x100000 - bfb6: fb93 f3f5 sdiv r3, r3, r5 + bf9a: f44f 1380 mov.w r3, #1048576 ; 0x100000 + bf9e: fb93 f3f5 sdiv r3, r3, r5 param->xy_steep = (m * dx) >> 10; - bfba: fb07 f303 mul.w r3, r7, r3 - bfbe: 129b asrs r3, r3, #10 - bfc0: 61a3 str r3, [r4, #24] + bfa2: fb07 f303 mul.w r3, r7, r3 + bfa6: 129b asrs r3, r3, #10 + bfa8: 61a3 str r3, [r4, #24] if(dx) { - bfc2: b13f cbz r7, bfd4 + bfaa: b13f cbz r7, bfbc m = (1 << 20) / dx; /*m is multiplier to normalize x (upscaled by 1024)*/ - bfc4: f44f 1880 mov.w r8, #1048576 ; 0x100000 - bfc8: fb98 f7f7 sdiv r7, r8, r7 + bfac: f44f 1880 mov.w r8, #1048576 ; 0x100000 + bfb0: fb98 f7f7 sdiv r7, r8, r7 param->yx_steep = (m * dy) >> 10; - bfcc: fb05 f507 mul.w r5, r5, r7 - bfd0: 12ad asrs r5, r5, #10 - bfd2: 61e5 str r5, [r4, #28] + bfb4: fb05 f507 mul.w r5, r5, r7 + bfb8: 12ad asrs r5, r5, #10 + bfba: 61e5 str r5, [r4, #28] param->steep = param->xy_steep; - bfd4: 69a3 ldr r3, [r4, #24] - bfd6: 6223 str r3, [r4, #32] - bfd8: e7d8 b.n bf8c + bfbc: 69a3 ldr r3, [r4, #24] + bfbe: 6223 str r3, [r4, #32] + bfc0: e7d8 b.n bf74 else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1; - bfda: 2b01 cmp r3, #1 - bfdc: d00f beq.n bffe + bfc2: 2b01 cmp r3, #1 + bfc4: d00f beq.n bfe6 else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_TOP) { - bfde: 2b02 cmp r3, #2 - bfe0: d014 beq.n c00c + bfc6: 2b02 cmp r3, #2 + bfc8: d014 beq.n bff4 else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_BOTTOM) { - bfe2: 2b03 cmp r3, #3 - bfe4: d1dc bne.n bfa0 + bfca: 2b03 cmp r3, #3 + bfcc: d1dc bne.n bf88 if(param->steep > 0) param->inv = 0; - bfe6: 6a23 ldr r3, [r4, #32] - bfe8: 2b00 cmp r3, #0 - bfea: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - bfee: bfcc ite gt - bff0: f36f 0341 bfcgt r3, #1, #1 + bfce: 6a23 ldr r3, [r4, #32] + bfd0: 2b00 cmp r3, #0 + bfd2: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + bfd6: bfcc ite gt + bfd8: f36f 0341 bfcgt r3, #1, #1 else param->inv = 1; - bff4: f043 0302 orrle.w r3, r3, #2 - bff8: f884 3028 strb.w r3, [r4, #40] ; 0x28 - bffc: e7d0 b.n bfa0 + bfdc: f043 0302 orrle.w r3, r3, #2 + bfe0: f884 3028 strb.w r3, [r4, #40] ; 0x28 + bfe4: e7d0 b.n bf88 else if(param->cfg.side == LV_DRAW_MASK_LINE_SIDE_RIGHT) param->inv = 1; - bffe: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - c002: f043 0302 orr.w r3, r3, #2 - c006: f884 3028 strb.w r3, [r4, #40] ; 0x28 - c00a: e7c9 b.n bfa0 + bfe6: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + bfea: f043 0302 orr.w r3, r3, #2 + bfee: f884 3028 strb.w r3, [r4, #40] ; 0x28 + bff2: e7c9 b.n bf88 if(param->steep > 0) param->inv = 1; - c00c: 6a23 ldr r3, [r4, #32] - c00e: 2b00 cmp r3, #0 - c010: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 - c014: bfcc ite gt - c016: f043 0302 orrgt.w r3, r3, #2 + bff4: 6a23 ldr r3, [r4, #32] + bff6: 2b00 cmp r3, #0 + bff8: f894 3028 ldrb.w r3, [r4, #40] ; 0x28 + bffc: bfcc ite gt + bffe: f043 0302 orrgt.w r3, r3, #2 else param->inv = 0; - c01a: f36f 0341 bfcle r3, #1, #1 - c01e: f884 3028 strb.w r3, [r4, #40] ; 0x28 - c022: e7bd b.n bfa0 - c024: 00012b37 .word 0x00012b37 - c028: 0000b221 .word 0x0000b221 + c002: f36f 0341 bfcle r3, #1, #1 + c006: f884 3028 strb.w r3, [r4, #40] ; 0x28 + c00a: e7bd b.n bf88 + c00c: 00012b1f .word 0x00012b1f + c010: 0000b209 .word 0x0000b209 -0000c02c : +0000c014 : { - c02c: b470 push {r4, r5, r6} + c014: b470 push {r4, r5, r6} return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c02e: 88cc ldrh r4, [r1, #6] - c030: 3401 adds r4, #1 - c032: 884d ldrh r5, [r1, #2] - c034: 1b64 subs r4, r4, r5 + c016: 88cc ldrh r4, [r1, #6] + c018: 3401 adds r4, #1 + c01a: 884d ldrh r5, [r1, #2] + c01c: 1b64 subs r4, r4, r5 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c036: 888d ldrh r5, [r1, #4] - c038: 3501 adds r5, #1 - c03a: 880e ldrh r6, [r1, #0] - c03c: 1bad subs r5, r5, r6 + c01e: 888d ldrh r5, [r1, #4] + c020: 3501 adds r5, #1 + c022: 880e ldrh r6, [r1, #0] + c024: 1bad subs r5, r5, r6 int32_t short_side = LV_MATH_MIN(w, h); - c03e: b224 sxth r4, r4 - c040: b22d sxth r5, r5 - c042: 42ac cmp r4, r5 - c044: bfa8 it ge - c046: 462c movge r4, r5 + c026: b224 sxth r4, r4 + c028: b22d sxth r5, r5 + c02a: 42ac cmp r4, r5 + c02c: bfa8 it ge + c02e: 462c movge r4, r5 if(radius > short_side >> 1) radius = short_side >> 1; - c048: 1064 asrs r4, r4, #1 - c04a: 42a2 cmp r2, r4 - c04c: bfc8 it gt - c04e: b222 sxthgt r2, r4 - c050: 3901 subs r1, #1 - c052: f100 0610 add.w r6, r0, #16 + c030: 1064 asrs r4, r4, #1 + c032: 42a2 cmp r2, r4 + c034: bfc8 it gt + c036: b222 sxthgt r2, r4 + c038: 3901 subs r1, #1 + c03a: f100 0610 add.w r6, r0, #16 uint8_t * d8 = (uint8_t *)dst; - c056: f100 0408 add.w r4, r0, #8 + c03e: f100 0408 add.w r4, r0, #8 *d8 = *s8; - c05a: f811 5f01 ldrb.w r5, [r1, #1]! - c05e: f804 5b01 strb.w r5, [r4], #1 + c042: f811 5f01 ldrb.w r5, [r1, #1]! + c046: f804 5b01 strb.w r5, [r4], #1 while(len) { - c062: 42b4 cmp r4, r6 - c064: d1f9 bne.n c05a + c04a: 42b4 cmp r4, r6 + c04c: d1f9 bne.n c042 param->cfg.radius = radius; - c066: 8202 strh r2, [r0, #16] + c04e: 8202 strh r2, [r0, #16] param->cfg.outer = inv ? 1 : 0; - c068: 7c82 ldrb r2, [r0, #18] - c06a: f363 0200 bfi r2, r3, #0, #1 - c06e: 7482 strb r2, [r0, #18] + c050: 7c82 ldrb r2, [r0, #18] + c052: f363 0200 bfi r2, r3, #0, #1 + c056: 7482 strb r2, [r0, #18] param->dsc.cb = (lv_draw_mask_xcb_t)lv_draw_mask_radius; - c070: 4b05 ldr r3, [pc, #20] ; (c088 ) - c072: 6003 str r3, [r0, #0] + c058: 4b05 ldr r3, [pc, #20] ; (c070 ) + c05a: 6003 str r3, [r0, #0] param->dsc.type = LV_DRAW_MASK_TYPE_RADIUS; - c074: 2302 movs r3, #2 - c076: 7103 strb r3, [r0, #4] + c05c: 2302 movs r3, #2 + c05e: 7103 strb r3, [r0, #4] param->y_prev = INT32_MIN; - c078: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 - c07c: 6143 str r3, [r0, #20] + c060: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 + c064: 6143 str r3, [r0, #20] param->y_prev_x.f = 0; - c07e: 2300 movs r3, #0 - c080: 8343 strh r3, [r0, #26] + c066: 2300 movs r3, #0 + c068: 8343 strh r3, [r0, #26] param->y_prev_x.i = 0; - c082: 8303 strh r3, [r0, #24] + c06a: 8303 strh r3, [r0, #24] } - c084: bc70 pop {r4, r5, r6} - c086: 4770 bx lr - c088: 0000b7cd .word 0x0000b7cd + c06c: bc70 pop {r4, r5, r6} + c06e: 4770 bx lr + c070: 0000b7b5 .word 0x0000b7b5 -0000c08c : +0000c074 : #endif } LV_ATTRIBUTE_FAST_MEM static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf) { - c08c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - c090: b08b sub sp, #44 ; 0x2c - c092: 9006 str r0, [sp, #24] - c094: 4689 mov r9, r1 - c096: 9207 str r2, [sp, #28] + c074: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + c078: b08b sub sp, #44 ; 0x2c + c07a: 9006 str r0, [sp, #24] + c07c: 4689 mov r9, r1 + c07e: 9207 str r2, [sp, #28] int32_t s_left = sw >> 1; - c098: ea4f 0b61 mov.w fp, r1, asr #1 - c09c: f8cd b008 str.w fp, [sp, #8] + c080: ea4f 0b61 mov.w fp, r1, asr #1 + c084: f8cd b008 str.w fp, [sp, #8] int32_t s_right = (sw >> 1); if((sw & 1) == 0) s_left--; - c0a0: f011 0f01 tst.w r1, #1 - c0a4: bf06 itte eq - c0a6: f10b 33ff addeq.w r3, fp, #4294967295 - c0aa: 9308 streq r3, [sp, #32] + c088: f011 0f01 tst.w r1, #1 + c08c: bf06 itte eq + c08e: f10b 33ff addeq.w r3, fp, #4294967295 + c092: 9308 streq r3, [sp, #32] int32_t s_left = sw >> 1; - c0ac: f8cd b020 strne.w fp, [sp, #32] + c094: f8cd b020 strne.w fp, [sp, #32] /*Horizontal blur*/ uint16_t * sh_ups_blur_buf = _lv_mem_buf_get(size * sizeof(uint16_t)); - c0b0: 9c06 ldr r4, [sp, #24] - c0b2: 0067 lsls r7, r4, #1 - c0b4: 4638 mov r0, r7 - c0b6: 4b69 ldr r3, [pc, #420] ; (c25c ) - c0b8: 4798 blx r3 - c0ba: 9005 str r0, [sp, #20] + c098: 9c06 ldr r4, [sp, #24] + c09a: 0067 lsls r7, r4, #1 + c09c: 4638 mov r0, r7 + c09e: 4b69 ldr r3, [pc, #420] ; (c244 ) + c0a0: 4798 blx r3 + c0a2: 9005 str r0, [sp, #20] int32_t x; int32_t y; uint16_t * sh_ups_tmp_buf = sh_ups_buf; for(y = 0; y < size; y++) { - c0bc: 2c00 cmp r4, #0 - c0be: f340 80be ble.w c23e + c0a4: 2c00 cmp r4, #0 + c0a6: f340 80be ble.w c226 int32_t v = sh_ups_tmp_buf[size - 1] * sw; - c0c2: 1eba subs r2, r7, #2 - c0c4: 19c1 adds r1, r0, r7 - c0c6: 9103 str r1, [sp, #12] - c0c8: 9d07 ldr r5, [sp, #28] - c0ca: f04f 0800 mov.w r8, #0 + c0aa: 1eba subs r2, r7, #2 + c0ac: 19c1 adds r1, r0, r7 + c0ae: 9103 str r1, [sp, #12] + c0b0: 9d07 ldr r5, [sp, #28] + c0b2: f04f 0800 mov.w r8, #0 for(x = size - 1; x >= 0; x--) { - c0ce: f104 3aff add.w sl, r4, #4294967295 - c0d2: 9908 ldr r1, [sp, #32] - c0d4: ebaa 0101 sub.w r1, sl, r1 - c0d8: 9104 str r1, [sp, #16] - c0da: 4606 mov r6, r0 - c0dc: f8cd b024 str.w fp, [sp, #36] ; 0x24 - c0e0: 4693 mov fp, r2 + c0b6: f104 3aff add.w sl, r4, #4294967295 + c0ba: 9908 ldr r1, [sp, #32] + c0bc: ebaa 0101 sub.w r1, sl, r1 + c0c0: 9104 str r1, [sp, #16] + c0c2: 4606 mov r6, r0 + c0c4: f8cd b024 str.w fp, [sp, #36] ; 0x24 + c0c8: 4693 mov fp, r2 int32_t v = sh_ups_tmp_buf[size - 1] * sw; - c0e2: f8cd 9004 str.w r9, [sp, #4] - c0e6: f835 300b ldrh.w r3, [r5, fp] - c0ea: fb09 f303 mul.w r3, r9, r3 + c0ca: f8cd 9004 str.w r9, [sp, #4] + c0ce: f835 300b ldrh.w r3, [r5, fp] + c0d2: fb09 f303 mul.w r3, r9, r3 for(x = size - 1; x >= 0; x--) { - c0ee: f1ba 0f00 cmp.w sl, #0 - c0f2: db1b blt.n c12c - c0f4: 9a02 ldr r2, [sp, #8] - c0f6: eb02 010a add.w r1, r2, sl - c0fa: 9a04 ldr r2, [sp, #16] - c0fc: 3a01 subs r2, #1 - c0fe: 9803 ldr r0, [sp, #12] - c100: f04f 0e00 mov.w lr, #0 + c0d6: f1ba 0f00 cmp.w sl, #0 + c0da: db1b blt.n c114 + c0dc: 9a02 ldr r2, [sp, #8] + c0de: eb02 010a add.w r1, r2, sl + c0e2: 9a04 ldr r2, [sp, #16] + c0e4: 3a01 subs r2, #1 + c0e6: 9803 ldr r0, [sp, #12] + c0e8: f04f 0e00 mov.w lr, #0 sh_ups_blur_buf[x] = v; - c104: f820 3d02 strh.w r3, [r0, #-2]! + c0ec: f820 3d02 strh.w r3, [r0, #-2]! /*Forget the right pixel*/ uint32_t right_val = 0; if(x + s_right < size) right_val = sh_ups_tmp_buf[x + s_right]; - c108: 428c cmp r4, r1 - c10a: bfcc ite gt - c10c: f835 c011 ldrhgt.w ip, [r5, r1, lsl #1] - c110: 46f4 movle ip, lr + c0f0: 428c cmp r4, r1 + c0f2: bfcc ite gt + c0f4: f835 c011 ldrhgt.w ip, [r5, r1, lsl #1] + c0f8: 46f4 movle ip, lr v -= right_val; - c112: eba3 030c sub.w r3, r3, ip + c0fa: eba3 030c sub.w r3, r3, ip /*Add the left pixel*/ uint32_t left_val; if(x - s_left - 1 < 0) left_val = sh_ups_tmp_buf[0]; - c116: 2a00 cmp r2, #0 - c118: bfb4 ite lt - c11a: f8b5 c000 ldrhlt.w ip, [r5] + c0fe: 2a00 cmp r2, #0 + c100: bfb4 ite lt + c102: f8b5 c000 ldrhlt.w ip, [r5] else left_val = sh_ups_tmp_buf[x - s_left - 1]; - c11e: f835 c012 ldrhge.w ip, [r5, r2, lsl #1] + c106: f835 c012 ldrhge.w ip, [r5, r2, lsl #1] v += left_val; - c122: 4463 add r3, ip - c124: 3901 subs r1, #1 - c126: 3a01 subs r2, #1 + c10a: 4463 add r3, ip + c10c: 3901 subs r1, #1 + c10e: 3a01 subs r2, #1 for(x = size - 1; x >= 0; x--) { - c128: 42b0 cmp r0, r6 - c12a: d1eb bne.n c104 + c110: 42b0 cmp r0, r6 + c112: d1eb bne.n c0ec } _lv_memcpy(sh_ups_tmp_buf, sh_ups_blur_buf, size * sizeof(uint16_t)); - c12c: 463a mov r2, r7 - c12e: 4631 mov r1, r6 - c130: 4628 mov r0, r5 - c132: 4b4b ldr r3, [pc, #300] ; (c260 ) - c134: 4798 blx r3 + c114: 463a mov r2, r7 + c116: 4631 mov r1, r6 + c118: 4628 mov r0, r5 + c11a: 4b4b ldr r3, [pc, #300] ; (c248 ) + c11c: 4798 blx r3 sh_ups_tmp_buf += size; - c136: 443d add r5, r7 + c11e: 443d add r5, r7 for(y = 0; y < size; y++) { - c138: f108 0801 add.w r8, r8, #1 - c13c: 45a0 cmp r8, r4 - c13e: d1d0 bne.n c0e2 - c140: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 + c120: f108 0801 add.w r8, r8, #1 + c124: 45a0 cmp r8, r4 + c126: d1d0 bne.n c0ca + c128: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 } /*Vertical blur*/ uint32_t i; sh_ups_buf[0] = sh_ups_buf[0] / sw; - c144: 9a07 ldr r2, [sp, #28] - c146: 8813 ldrh r3, [r2, #0] - c148: 9901 ldr r1, [sp, #4] - c14a: fb93 f3f1 sdiv r3, r3, r1 - c14e: 8013 strh r3, [r2, #0] + c12c: 9a07 ldr r2, [sp, #28] + c12e: 8813 ldrh r3, [r2, #0] + c130: 9901 ldr r1, [sp, #4] + c132: fb93 f3f1 sdiv r3, r3, r1 + c136: 8013 strh r3, [r2, #0] for(i = 1; i < (uint32_t)size * size; i++) { - c150: 9b06 ldr r3, [sp, #24] - c152: fb03 f503 mul.w r5, r3, r3 - c156: 2d01 cmp r5, #1 - c158: d911 bls.n c17e - c15a: 9a07 ldr r2, [sp, #28] - c15c: 2101 movs r1, #1 - c15e: 9e01 ldr r6, [sp, #4] - c160: 4610 mov r0, r2 + c138: 9b06 ldr r3, [sp, #24] + c13a: fb03 f503 mul.w r5, r3, r3 + c13e: 2d01 cmp r5, #1 + c140: d911 bls.n c166 + c142: 9a07 ldr r2, [sp, #28] + c144: 2101 movs r1, #1 + c146: 9e01 ldr r6, [sp, #4] + c148: 4610 mov r0, r2 if(sh_ups_buf[i] == sh_ups_buf[i - 1]) sh_ups_buf[i] = sh_ups_buf[i - 1]; - c162: f832 3f02 ldrh.w r3, [r2, #2]! - c166: 8800 ldrh r0, [r0, #0] - c168: 4298 cmp r0, r3 + c14a: f832 3f02 ldrh.w r3, [r2, #2]! + c14e: 8800 ldrh r0, [r0, #0] + c150: 4298 cmp r0, r3 else sh_ups_buf[i] = sh_ups_buf[i] / sw; - c16a: bf1c itt ne - c16c: fb93 f3f6 sdivne r3, r3, r6 - c170: 8013 strhne r3, [r2, #0] + c152: bf1c itt ne + c154: fb93 f3f6 sdivne r3, r3, r6 + c158: 8013 strhne r3, [r2, #0] for(i = 1; i < (uint32_t)size * size; i++) { - c172: 3101 adds r1, #1 - c174: 42a9 cmp r1, r5 - c176: d3f3 bcc.n c160 + c15a: 3101 adds r1, #1 + c15c: 42a9 cmp r1, r5 + c15e: d3f3 bcc.n c148 } for(x = 0; x < size; x++) { - c178: 9b06 ldr r3, [sp, #24] - c17a: 2b00 cmp r3, #0 - c17c: dd59 ble.n c232 - c17e: 9e07 ldr r6, [sp, #28] - c180: 9602 str r6, [sp, #8] - c182: 9908 ldr r1, [sp, #32] - c184: fb01 7207 mla r2, r1, r7, r7 - c188: ea6f 030b mvn.w r3, fp - c18c: 1a5b subs r3, r3, r1 - c18e: 9d06 ldr r5, [sp, #24] - c190: fb05 f303 mul.w r3, r5, r3 - c194: 9306 str r3, [sp, #24] + c160: 9b06 ldr r3, [sp, #24] + c162: 2b00 cmp r3, #0 + c164: dd59 ble.n c21a + c166: 9e07 ldr r6, [sp, #28] + c168: 9602 str r6, [sp, #8] + c16a: 9908 ldr r1, [sp, #32] + c16c: fb01 7207 mla r2, r1, r7, r7 + c170: ea6f 030b mvn.w r3, fp + c174: 1a5b subs r3, r3, r1 + c176: 9d06 ldr r5, [sp, #24] + c178: fb05 f303 mul.w r3, r5, r3 + c17c: 9306 str r3, [sp, #24] v -= top_val; /*Add the bottom pixel*/ uint32_t bottom_val; if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; else bottom_val = sh_ups_buf[(size - 1) * size + x]; - c196: 1e6b subs r3, r5, #1 - c198: fb05 f303 mul.w r3, r5, r3 - c19c: eb06 0343 add.w r3, r6, r3, lsl #1 - c1a0: 9307 str r3, [sp, #28] - c1a2: f04f 0a00 mov.w sl, #0 - c1a6: 1e93 subs r3, r2, #2 - c1a8: 9308 str r3, [sp, #32] + c17e: 1e6b subs r3, r5, #1 + c180: fb05 f303 mul.w r3, r5, r3 + c184: eb06 0343 add.w r3, r6, r3, lsl #1 + c188: 9307 str r3, [sp, #28] + c18a: f04f 0a00 mov.w sl, #0 + c18e: 1e93 subs r3, r2, #2 + c190: 9308 str r3, [sp, #32] if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; - c1aa: f101 0901 add.w r9, r1, #1 + c192: f101 0901 add.w r9, r1, #1 sh_ups_tmp_buf = &sh_ups_buf[x]; - c1ae: 9b02 ldr r3, [sp, #8] - c1b0: 461e mov r6, r3 - c1b2: 3302 adds r3, #2 - c1b4: 461a mov r2, r3 - c1b6: 9302 str r3, [sp, #8] + c196: 9b02 ldr r3, [sp, #8] + c198: 461e mov r6, r3 + c19a: 3302 adds r3, #2 + c19c: 461a mov r2, r3 + c19e: 9302 str r3, [sp, #8] int32_t v = sh_ups_tmp_buf[0] * sw; - c1b8: 8833 ldrh r3, [r6, #0] - c1ba: 9901 ldr r1, [sp, #4] - c1bc: fb01 f303 mul.w r3, r1, r3 - c1c0: 9908 ldr r1, [sp, #32] - c1c2: 188d adds r5, r1, r2 - c1c4: 9a05 ldr r2, [sp, #20] - c1c6: f1a2 0c02 sub.w ip, r2, #2 - c1ca: 46e0 mov r8, ip - c1cc: 46b6 mov lr, r6 - c1ce: 2200 movs r2, #0 - c1d0: f8cd c00c str.w ip, [sp, #12] - c1d4: 9604 str r6, [sp, #16] - c1d6: 9e06 ldr r6, [sp, #24] - c1d8: f8dd c01c ldr.w ip, [sp, #28] + c1a0: 8833 ldrh r3, [r6, #0] + c1a2: 9901 ldr r1, [sp, #4] + c1a4: fb01 f303 mul.w r3, r1, r3 + c1a8: 9908 ldr r1, [sp, #32] + c1aa: 188d adds r5, r1, r2 + c1ac: 9a05 ldr r2, [sp, #20] + c1ae: f1a2 0c02 sub.w ip, r2, #2 + c1b2: 46e0 mov r8, ip + c1b4: 46b6 mov lr, r6 + c1b6: 2200 movs r2, #0 + c1b8: f8cd c00c str.w ip, [sp, #12] + c1bc: 9604 str r6, [sp, #16] + c1be: 9e06 ldr r6, [sp, #24] + c1c0: f8dd c01c ldr.w ip, [sp, #28] sh_ups_blur_buf[y] = v < 0 ? 0 : (v >> SHADOW_UPSACALE_SHIFT); - c1dc: 2b00 cmp r3, #0 - c1de: bfac ite ge - c1e0: 1199 asrge r1, r3, #6 - c1e2: 2100 movlt r1, #0 - c1e4: f828 1f02 strh.w r1, [r8, #2]! - c1e8: 4611 mov r1, r2 + c1c4: 2b00 cmp r3, #0 + c1c6: bfac ite ge + c1c8: 1199 asrge r1, r3, #6 + c1ca: 2100 movlt r1, #0 + c1cc: f828 1f02 strh.w r1, [r8, #2]! + c1d0: 4611 mov r1, r2 if(y - s_right <= 0) top_val = sh_ups_tmp_buf[0]; - c1ea: eba2 000b sub.w r0, r2, fp - c1ee: 2800 cmp r0, #0 - c1f0: bfd4 ite le - c1f2: f8be 0000 ldrhle.w r0, [lr] + c1d2: eba2 000b sub.w r0, r2, fp + c1d6: 2800 cmp r0, #0 + c1d8: bfd4 ite le + c1da: f8be 0000 ldrhle.w r0, [lr] else top_val = sh_ups_buf[(y - s_right) * size + x]; - c1f6: f835 0016 ldrhgt.w r0, [r5, r6, lsl #1] + c1de: f835 0016 ldrhgt.w r0, [r5, r6, lsl #1] v -= top_val; - c1fa: 1a1b subs r3, r3, r0 + c1e2: 1a1b subs r3, r3, r0 if(y + s_left + 1 < size) bottom_val = sh_ups_buf[(y + s_left + 1) * size + x]; - c1fc: 4449 add r1, r9 - c1fe: 428c cmp r4, r1 - c200: bfcc ite gt - c202: 8829 ldrhgt r1, [r5, #0] + c1e4: 4449 add r1, r9 + c1e6: 428c cmp r4, r1 + c1e8: bfcc ite gt + c1ea: 8829 ldrhgt r1, [r5, #0] else bottom_val = sh_ups_buf[(size - 1) * size + x]; - c204: f83c 101a ldrhle.w r1, [ip, sl, lsl #1] + c1ec: f83c 101a ldrhle.w r1, [ip, sl, lsl #1] v += bottom_val; - c208: 440b add r3, r1 + c1f0: 440b add r3, r1 for(y = 0; y < size ; y++, sh_ups_tmp_buf += size) { - c20a: 3201 adds r2, #1 - c20c: 44be add lr, r7 - c20e: 443d add r5, r7 - c210: 42a2 cmp r2, r4 - c212: dbe3 blt.n c1dc - c214: f8dd c00c ldr.w ip, [sp, #12] - c218: 9e04 ldr r6, [sp, #16] - c21a: 2300 movs r3, #0 + c1f2: 3201 adds r2, #1 + c1f4: 44be add lr, r7 + c1f6: 443d add r5, r7 + c1f8: 42a2 cmp r2, r4 + c1fa: dbe3 blt.n c1c4 + c1fc: f8dd c00c ldr.w ip, [sp, #12] + c200: 9e04 ldr r6, [sp, #16] + c202: 2300 movs r3, #0 } /*Write back the result into `sh_ups_buf`*/ sh_ups_tmp_buf = &sh_ups_buf[x]; for(y = 0; y < size; y++, sh_ups_tmp_buf += size) { (*sh_ups_tmp_buf) = sh_ups_blur_buf[y]; - c21c: f83c 2f02 ldrh.w r2, [ip, #2]! - c220: 8032 strh r2, [r6, #0] + c204: f83c 2f02 ldrh.w r2, [ip, #2]! + c208: 8032 strh r2, [r6, #0] for(y = 0; y < size; y++, sh_ups_tmp_buf += size) { - c222: 3301 adds r3, #1 - c224: 443e add r6, r7 - c226: 42a3 cmp r3, r4 - c228: dbf8 blt.n c21c + c20a: 3301 adds r3, #1 + c20c: 443e add r6, r7 + c20e: 42a3 cmp r3, r4 + c210: dbf8 blt.n c204 for(x = 0; x < size; x++) { - c22a: f10a 0a01 add.w sl, sl, #1 - c22e: 45a2 cmp sl, r4 - c230: dbbd blt.n c1ae + c212: f10a 0a01 add.w sl, sl, #1 + c216: 45a2 cmp sl, r4 + c218: dbbd blt.n c196 } } _lv_mem_buf_release(sh_ups_blur_buf); - c232: 9805 ldr r0, [sp, #20] - c234: 4b0b ldr r3, [pc, #44] ; (c264 ) - c236: 4798 blx r3 + c21a: 9805 ldr r0, [sp, #20] + c21c: 4b0b ldr r3, [pc, #44] ; (c24c ) + c21e: 4798 blx r3 } - c238: b00b add sp, #44 ; 0x2c - c23a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + c220: b00b add sp, #44 ; 0x2c + c222: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} sh_ups_buf[0] = sh_ups_buf[0] / sw; - c23e: f8cd 9004 str.w r9, [sp, #4] - c242: 9a07 ldr r2, [sp, #28] - c244: 8813 ldrh r3, [r2, #0] - c246: fb93 f9f9 sdiv r9, r3, r9 - c24a: f8a2 9000 strh.w r9, [r2] + c226: f8cd 9004 str.w r9, [sp, #4] + c22a: 9a07 ldr r2, [sp, #28] + c22c: 8813 ldrh r3, [r2, #0] + c22e: fb93 f9f9 sdiv r9, r3, r9 + c232: f8a2 9000 strh.w r9, [r2] for(i = 1; i < (uint32_t)size * size; i++) { - c24e: 9b06 ldr r3, [sp, #24] - c250: fb03 f503 mul.w r5, r3, r3 - c254: 2d01 cmp r5, #1 - c256: d880 bhi.n c15a - c258: e7eb b.n c232 - c25a: bf00 nop - c25c: 0001293d .word 0x0001293d - c260: 00012655 .word 0x00012655 - c264: 00012571 .word 0x00012571 - -0000c268 : -{ - c268: b510 push {r4, lr} - c26a: 4604 mov r4, r0 + c236: 9b06 ldr r3, [sp, #24] + c238: fb03 f503 mul.w r5, r3, r3 + c23c: 2d01 cmp r5, #1 + c23e: d880 bhi.n c142 + c240: e7eb b.n c21a + c242: bf00 nop + c244: 00012925 .word 0x00012925 + c248: 0001263d .word 0x0001263d + c24c: 00012559 .word 0x00012559 + +0000c250 : +{ + c250: b510 push {r4, lr} + c252: 4604 mov r4, r0 _lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t)); - c26c: 2154 movs r1, #84 ; 0x54 - c26e: 4b2d ldr r3, [pc, #180] ; (c324 ) - c270: 4798 blx r3 + c254: 2154 movs r1, #84 ; 0x54 + c256: 4b2d ldr r3, [pc, #180] ; (c30c ) + c258: 4798 blx r3 dsc->bg_color = LV_COLOR_WHITE; - c272: 4b2d ldr r3, [pc, #180] ; (c328 ) - c274: 881b ldrh r3, [r3, #0] - c276: 8063 strh r3, [r4, #2] + c25a: 4b2d ldr r3, [pc, #180] ; (c310 ) + c25c: 881b ldrh r3, [r3, #0] + c25e: 8063 strh r3, [r4, #2] dsc->bg_grad_color = LV_COLOR_BLACK; - c278: 7923 ldrb r3, [r4, #4] + c260: 7923 ldrb r3, [r4, #4] + c262: f36f 0304 bfc r3, #0, #5 + c266: 7123 strb r3, [r4, #4] + c268: 88a3 ldrh r3, [r4, #4] + c26a: f36f 134a bfc r3, #5, #6 + c26e: 80a3 strh r3, [r4, #4] + c270: 0a1b lsrs r3, r3, #8 + c272: f36f 03c7 bfc r3, #3, #5 + c276: 7163 strb r3, [r4, #5] + dsc->border_color = LV_COLOR_BLACK; + c278: 7ba3 ldrb r3, [r4, #14] c27a: f36f 0304 bfc r3, #0, #5 - c27e: 7123 strb r3, [r4, #4] - c280: 88a3 ldrh r3, [r4, #4] + c27e: 73a3 strb r3, [r4, #14] + c280: 89e3 ldrh r3, [r4, #14] c282: f36f 134a bfc r3, #5, #6 - c286: 80a3 strh r3, [r4, #4] + c286: 81e3 strh r3, [r4, #14] c288: 0a1b lsrs r3, r3, #8 c28a: f36f 03c7 bfc r3, #3, #5 - c28e: 7163 strb r3, [r4, #5] - dsc->border_color = LV_COLOR_BLACK; - c290: 7ba3 ldrb r3, [r4, #14] - c292: f36f 0304 bfc r3, #0, #5 - c296: 73a3 strb r3, [r4, #14] - c298: 89e3 ldrh r3, [r4, #14] - c29a: f36f 134a bfc r3, #5, #6 - c29e: 81e3 strh r3, [r4, #14] - c2a0: 0a1b lsrs r3, r3, #8 - c2a2: f36f 03c7 bfc r3, #3, #5 - c2a6: 73e3 strb r3, [r4, #15] + c28e: 73e3 strb r3, [r4, #15] dsc->pattern_recolor = LV_COLOR_BLACK; - c2a8: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - c2ac: f36f 0304 bfc r3, #0, #5 - c2b0: f884 3034 strb.w r3, [r4, #52] ; 0x34 - c2b4: 8ea3 ldrh r3, [r4, #52] ; 0x34 - c2b6: f36f 134a bfc r3, #5, #6 - c2ba: 86a3 strh r3, [r4, #52] ; 0x34 - c2bc: 0a1b lsrs r3, r3, #8 - c2be: f36f 03c7 bfc r3, #3, #5 - c2c2: f884 3035 strb.w r3, [r4, #53] ; 0x35 + c290: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + c294: f36f 0304 bfc r3, #0, #5 + c298: f884 3034 strb.w r3, [r4, #52] ; 0x34 + c29c: 8ea3 ldrh r3, [r4, #52] ; 0x34 + c29e: f36f 134a bfc r3, #5, #6 + c2a2: 86a3 strh r3, [r4, #52] ; 0x34 + c2a4: 0a1b lsrs r3, r3, #8 + c2a6: f36f 03c7 bfc r3, #3, #5 + c2aa: f884 3035 strb.w r3, [r4, #53] ; 0x35 dsc->value_color = LV_COLOR_BLACK; - c2c6: f894 3046 ldrb.w r3, [r4, #70] ; 0x46 - c2ca: f36f 0304 bfc r3, #0, #5 - c2ce: f884 3046 strb.w r3, [r4, #70] ; 0x46 - c2d2: f8b4 3046 ldrh.w r3, [r4, #70] ; 0x46 - c2d6: f36f 134a bfc r3, #5, #6 - c2da: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 - c2de: 0a1b lsrs r3, r3, #8 - c2e0: f36f 03c7 bfc r3, #3, #5 - c2e4: f884 3047 strb.w r3, [r4, #71] ; 0x47 + c2ae: f894 3046 ldrb.w r3, [r4, #70] ; 0x46 + c2b2: f36f 0304 bfc r3, #0, #5 + c2b6: f884 3046 strb.w r3, [r4, #70] ; 0x46 + c2ba: f8b4 3046 ldrh.w r3, [r4, #70] ; 0x46 + c2be: f36f 134a bfc r3, #5, #6 + c2c2: f8a4 3046 strh.w r3, [r4, #70] ; 0x46 + c2c6: 0a1b lsrs r3, r3, #8 + c2c8: f36f 03c7 bfc r3, #3, #5 + c2cc: f884 3047 strb.w r3, [r4, #71] ; 0x47 dsc->shadow_color = LV_COLOR_BLACK; - c2e8: 7fa3 ldrb r3, [r4, #30] - c2ea: f36f 0304 bfc r3, #0, #5 - c2ee: 77a3 strb r3, [r4, #30] - c2f0: 8be3 ldrh r3, [r4, #30] - c2f2: f36f 134a bfc r3, #5, #6 - c2f6: 83e3 strh r3, [r4, #30] - c2f8: 0a1b lsrs r3, r3, #8 - c2fa: f36f 03c7 bfc r3, #3, #5 - c2fe: 77e3 strb r3, [r4, #31] + c2d0: 7fa3 ldrb r3, [r4, #30] + c2d2: f36f 0304 bfc r3, #0, #5 + c2d6: 77a3 strb r3, [r4, #30] + c2d8: 8be3 ldrh r3, [r4, #30] + c2da: f36f 134a bfc r3, #5, #6 + c2de: 83e3 strh r3, [r4, #30] + c2e0: 0a1b lsrs r3, r3, #8 + c2e2: f36f 03c7 bfc r3, #3, #5 + c2e6: 77e3 strb r3, [r4, #31] dsc->bg_grad_color_stop = 0xFF; - c300: 23ff movs r3, #255 ; 0xff - c302: 8163 strh r3, [r4, #10] + c2e8: 23ff movs r3, #255 ; 0xff + c2ea: 8163 strh r3, [r4, #10] dsc->bg_opa = LV_OPA_COVER; - c304: 7323 strb r3, [r4, #12] + c2ec: 7323 strb r3, [r4, #12] dsc->outline_opa = LV_OPA_COVER; - c306: 7723 strb r3, [r4, #28] + c2ee: 7723 strb r3, [r4, #28] dsc->border_opa = LV_OPA_COVER; - c308: 7523 strb r3, [r4, #20] + c2f0: 7523 strb r3, [r4, #20] dsc->pattern_opa = LV_OPA_COVER; - c30a: f884 3036 strb.w r3, [r4, #54] ; 0x36 + c2f2: f884 3036 strb.w r3, [r4, #54] ; 0x36 dsc->pattern_font = LV_THEME_DEFAULT_FONT_NORMAL; - c30e: 4a07 ldr r2, [pc, #28] ; (c32c ) - c310: 6322 str r2, [r4, #48] ; 0x30 + c2f6: 4a07 ldr r2, [pc, #28] ; (c314 ) + c2f8: 6322 str r2, [r4, #48] ; 0x30 dsc->value_opa = LV_OPA_COVER; - c312: f884 3044 strb.w r3, [r4, #68] ; 0x44 + c2fa: f884 3044 strb.w r3, [r4, #68] ; 0x44 dsc->value_font = LV_THEME_DEFAULT_FONT_NORMAL; - c316: 6422 str r2, [r4, #64] ; 0x40 + c2fe: 6422 str r2, [r4, #64] ; 0x40 dsc->shadow_opa = LV_OPA_COVER; - c318: f884 3028 strb.w r3, [r4, #40] ; 0x28 + c300: f884 3028 strb.w r3, [r4, #40] ; 0x28 dsc->border_side = LV_BORDER_SIDE_FULL; - c31c: 230f movs r3, #15 - c31e: 8263 strh r3, [r4, #18] - c320: bd10 pop {r4, pc} - c322: bf00 nop - c324: 00012b37 .word 0x00012b37 - c328: 0002507c .word 0x0002507c - c32c: 20000010 .word 0x20000010 - -0000c330 : -{ - c330: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - c334: b0b1 sub sp, #196 ; 0xc4 + c304: 230f movs r3, #15 + c306: 8263 strh r3, [r4, #18] + c308: bd10 pop {r4, pc} + c30a: bf00 nop + c30c: 00012b1f .word 0x00012b1f + c310: 00025064 .word 0x00025064 + c314: 20000010 .word 0x20000010 + +0000c318 : +{ + c318: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + c31c: b0b1 sub sp, #196 ; 0xc4 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c336: 88c4 ldrh r4, [r0, #6] - c338: 8845 ldrh r5, [r0, #2] - c33a: 1c63 adds r3, r4, #1 - c33c: 1b5b subs r3, r3, r5 + c31e: 88c4 ldrh r4, [r0, #6] + c320: 8845 ldrh r5, [r0, #2] + c322: 1c63 adds r3, r4, #1 + c324: 1b5b subs r3, r3, r5 if(lv_area_get_height(coords) < 1 || lv_area_get_width(coords) < 1) return; - c33e: b21b sxth r3, r3 - c340: 2b00 cmp r3, #0 - c342: f341 800f ble.w d364 + c326: b21b sxth r3, r3 + c328: 2b00 cmp r3, #0 + c32a: f341 800f ble.w d34c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c346: 8886 ldrh r6, [r0, #4] - c348: f8b0 8000 ldrh.w r8, [r0] - c34c: 1c73 adds r3, r6, #1 - c34e: eba3 0308 sub.w r3, r3, r8 - c352: b21b sxth r3, r3 - c354: 2b00 cmp r3, #0 - c356: f341 8005 ble.w d364 - c35a: 4692 mov sl, r2 - c35c: 9104 str r1, [sp, #16] - c35e: 9006 str r0, [sp, #24] + c32e: 8886 ldrh r6, [r0, #4] + c330: f8b0 8000 ldrh.w r8, [r0] + c334: 1c73 adds r3, r6, #1 + c336: eba3 0308 sub.w r3, r3, r8 + c33a: b21b sxth r3, r3 + c33c: 2b00 cmp r3, #0 + c33e: f341 8005 ble.w d34c + c342: 4692 mov sl, r2 + c344: 9104 str r1, [sp, #16] + c346: 9006 str r0, [sp, #24] if(dsc->shadow_width == 0) return; - c360: f9b2 7020 ldrsh.w r7, [r2, #32] - c364: 2f00 cmp r7, #0 - c366: f000 8719 beq.w d19c + c348: f9b2 7020 ldrsh.w r7, [r2, #32] + c34c: 2f00 cmp r7, #0 + c34e: f000 8719 beq.w d184 if(dsc->shadow_opa <= LV_OPA_MIN) return; - c36a: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 - c36e: 9309 str r3, [sp, #36] ; 0x24 - c370: 2b05 cmp r3, #5 - c372: f240 8713 bls.w d19c + c352: f892 3028 ldrb.w r3, [r2, #40] ; 0x28 + c356: 9309 str r3, [sp, #36] ; 0x24 + c358: 2b05 cmp r3, #5 + c35a: f240 8713 bls.w d184 if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 && - c376: 6a13 ldr r3, [r2, #32] - c378: 2b01 cmp r3, #1 - c37a: f000 80f6 beq.w c56a + c35e: 6a13 ldr r3, [r2, #32] + c360: 2b01 cmp r3, #1 + c362: f000 80f6 beq.w c552 sh_rect_area.x1 = coords->x1 + dsc->shadow_ofs_x - dsc->shadow_spread; - c37e: f8ba 2022 ldrh.w r2, [sl, #34] ; 0x22 - c382: f8ba 3026 ldrh.w r3, [sl, #38] ; 0x26 - c386: 1ad1 subs r1, r2, r3 - c388: 4488 add r8, r1 - c38a: fa1f f888 uxth.w r8, r8 - c38e: f8ad 8050 strh.w r8, [sp, #80] ; 0x50 + c366: f8ba 2022 ldrh.w r2, [sl, #34] ; 0x22 + c36a: f8ba 3026 ldrh.w r3, [sl, #38] ; 0x26 + c36e: 1ad1 subs r1, r2, r3 + c370: 4488 add r8, r1 + c372: fa1f f888 uxth.w r8, r8 + c376: f8ad 8050 strh.w r8, [sp, #80] ; 0x50 sh_rect_area.x2 = coords->x2 + dsc->shadow_ofs_x + dsc->shadow_spread; - c392: 441a add r2, r3 - c394: 4416 add r6, r2 - c396: b2b6 uxth r6, r6 - c398: f8ad 6054 strh.w r6, [sp, #84] ; 0x54 + c37a: 441a add r2, r3 + c37c: 4416 add r6, r2 + c37e: b2b6 uxth r6, r6 + c380: f8ad 6054 strh.w r6, [sp, #84] ; 0x54 sh_rect_area.y1 = coords->y1 + dsc->shadow_ofs_y - dsc->shadow_spread; - c39c: f8ba 2024 ldrh.w r2, [sl, #36] ; 0x24 - c3a0: 1ad1 subs r1, r2, r3 - c3a2: 440d add r5, r1 - c3a4: b2ad uxth r5, r5 - c3a6: f8ad 5052 strh.w r5, [sp, #82] ; 0x52 + c384: f8ba 2024 ldrh.w r2, [sl, #36] ; 0x24 + c388: 1ad1 subs r1, r2, r3 + c38a: 440d add r5, r1 + c38c: b2ad uxth r5, r5 + c38e: f8ad 5052 strh.w r5, [sp, #82] ; 0x52 sh_rect_area.y2 = coords->y2 + dsc->shadow_ofs_y + dsc->shadow_spread; - c3aa: 4413 add r3, r2 - c3ac: 441c add r4, r3 - c3ae: b2a4 uxth r4, r4 - c3b0: f8ad 4056 strh.w r4, [sp, #86] ; 0x56 + c392: 4413 add r3, r2 + c394: 441c add r4, r3 + c396: b2a4 uxth r4, r4 + c398: f8ad 4056 strh.w r4, [sp, #86] ; 0x56 sh_area.x1 = sh_rect_area.x1 - sw / 2 - 1; - c3b4: eb07 73d7 add.w r3, r7, r7, lsr #31 - c3b8: ea6f 0263 mvn.w r2, r3, asr #1 - c3bc: b292 uxth r2, r2 - c3be: eb08 0102 add.w r1, r8, r2 - c3c2: f8ad 1058 strh.w r1, [sp, #88] ; 0x58 + c39c: eb07 73d7 add.w r3, r7, r7, lsr #31 + c3a0: ea6f 0263 mvn.w r2, r3, asr #1 + c3a4: b292 uxth r2, r2 + c3a6: eb08 0102 add.w r1, r8, r2 + c3aa: f8ad 1058 strh.w r1, [sp, #88] ; 0x58 sh_area.x2 = sh_rect_area.x2 + sw / 2 + 1; - c3c6: 105b asrs r3, r3, #1 - c3c8: 3301 adds r3, #1 - c3ca: b29b uxth r3, r3 - c3cc: 18f1 adds r1, r6, r3 - c3ce: f8ad 105c strh.w r1, [sp, #92] ; 0x5c + c3ae: 105b asrs r3, r3, #1 + c3b0: 3301 adds r3, #1 + c3b2: b29b uxth r3, r3 + c3b4: 18f1 adds r1, r6, r3 + c3b6: f8ad 105c strh.w r1, [sp, #92] ; 0x5c sh_area.y1 = sh_rect_area.y1 - sw / 2 - 1; - c3d2: 442a add r2, r5 - c3d4: f8ad 205a strh.w r2, [sp, #90] ; 0x5a + c3ba: 442a add r2, r5 + c3bc: f8ad 205a strh.w r2, [sp, #90] ; 0x5a sh_area.y2 = sh_rect_area.y2 + sw / 2 + 1; - c3d8: 4423 add r3, r4 - c3da: f8ad 305e strh.w r3, [sp, #94] ; 0x5e + c3c0: 4423 add r3, r4 + c3c2: f8ad 305e strh.w r3, [sp, #94] ; 0x5e if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - c3de: 9b09 ldr r3, [sp, #36] ; 0x24 - c3e0: 2bfb cmp r3, #251 ; 0xfb - c3e2: bf28 it cs - c3e4: 23ff movcs r3, #255 ; 0xff - c3e6: 9309 str r3, [sp, #36] ; 0x24 + c3c6: 9b09 ldr r3, [sp, #36] ; 0x24 + c3c8: 2bfb cmp r3, #251 ; 0xfb + c3ca: bf28 it cs + c3cc: 23ff movcs r3, #255 ; 0xff + c3ce: 9309 str r3, [sp, #36] ; 0x24 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - c3e8: 4bbe ldr r3, [pc, #760] ; (c6e4 ) - c3ea: 4798 blx r3 + c3d0: 4bbe ldr r3, [pc, #760] ; (c6cc ) + c3d2: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - c3ec: 4bbe ldr r3, [pc, #760] ; (c6e8 ) - c3ee: 4798 blx r3 - c3f0: 4681 mov r9, r0 + c3d4: 4bbe ldr r3, [pc, #760] ; (c6d0 ) + c3d6: 4798 blx r3 + c3d8: 4681 mov r9, r0 is_common = _lv_area_intersect(&draw_area, &sh_area, clip); - c3f2: 9a04 ldr r2, [sp, #16] - c3f4: a916 add r1, sp, #88 ; 0x58 - c3f6: a818 add r0, sp, #96 ; 0x60 - c3f8: 4bbc ldr r3, [pc, #752] ; (c6ec ) - c3fa: 4798 blx r3 + c3da: 9a04 ldr r2, [sp, #16] + c3dc: a916 add r1, sp, #88 ; 0x58 + c3de: a818 add r0, sp, #96 ; 0x60 + c3e0: 4bbc ldr r3, [pc, #752] ; (c6d4 ) + c3e2: 4798 blx r3 if(is_common == false) return; - c3fc: 2800 cmp r0, #0 - c3fe: f000 86cd beq.w d19c + c3e4: 2800 cmp r0, #0 + c3e6: f000 86cd beq.w d184 draw_area.x1 -= disp_area->x1; - c402: f8b9 1010 ldrh.w r1, [r9, #16] - c406: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - c40a: 1a5b subs r3, r3, r1 - c40c: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 + c3ea: f8b9 1010 ldrh.w r1, [r9, #16] + c3ee: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + c3f2: 1a5b subs r3, r3, r1 + c3f4: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 draw_area.y1 -= disp_area->y1; - c410: f8b9 2012 ldrh.w r2, [r9, #18] - c414: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 - c418: 1a9b subs r3, r3, r2 - c41a: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 + c3f8: f8b9 2012 ldrh.w r2, [r9, #18] + c3fc: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 + c400: 1a9b subs r3, r3, r2 + c402: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 draw_area.x2 -= disp_area->x1; - c41e: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - c422: 1a5b subs r3, r3, r1 - c424: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 + c406: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + c40a: 1a5b subs r3, r3, r1 + c40c: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 draw_area.y2 -= disp_area->y1; - c428: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 - c42c: 1a9b subs r3, r3, r2 - c42e: f8ad 3066 strh.w r3, [sp, #102] ; 0x66 - c432: 9a06 ldr r2, [sp, #24] - c434: 1e53 subs r3, r2, #1 - c436: 1dd0 adds r0, r2, #7 + c410: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 + c414: 1a9b subs r3, r3, r2 + c416: f8ad 3066 strh.w r3, [sp, #102] ; 0x66 + c41a: 9a06 ldr r2, [sp, #24] + c41c: 1e53 subs r3, r2, #1 + c41e: 1dd0 adds r0, r2, #7 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - c438: aa1a add r2, sp, #104 ; 0x68 + c420: aa1a add r2, sp, #104 ; 0x68 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - c43a: f813 1f01 ldrb.w r1, [r3, #1]! - c43e: f802 1b01 strb.w r1, [r2], #1 + c422: f813 1f01 ldrb.w r1, [r3, #1]! + c426: f802 1b01 strb.w r1, [r2], #1 while(len) { - c442: 4298 cmp r0, r3 - c444: d1f9 bne.n c43a + c42a: 4298 cmp r0, r3 + c42c: d1f9 bne.n c422 bg_coords.x1 += 1; - c446: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - c44a: 3301 adds r3, #1 - c44c: fa1f fe83 uxth.w lr, r3 - c450: f8ad e068 strh.w lr, [sp, #104] ; 0x68 + c42e: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + c432: 3301 adds r3, #1 + c434: fa1f fe83 uxth.w lr, r3 + c438: f8ad e068 strh.w lr, [sp, #104] ; 0x68 bg_coords.y1 += 1; - c454: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a - c458: 3101 adds r1, #1 - c45a: b288 uxth r0, r1 - c45c: f8ad 006a strh.w r0, [sp, #106] ; 0x6a + c43c: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a + c440: 3101 adds r1, #1 + c442: b288 uxth r0, r1 + c444: f8ad 006a strh.w r0, [sp, #106] ; 0x6a bg_coords.x2 -= 1; - c460: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - c464: 1e5a subs r2, r3, #1 - c466: f8ad 206c strh.w r2, [sp, #108] ; 0x6c + c448: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + c44c: 1e5a subs r2, r3, #1 + c44e: f8ad 206c strh.w r2, [sp, #108] ; 0x6c bg_coords.y2 -= 1; - c46a: f8bd 106e ldrh.w r1, [sp, #110] ; 0x6e - c46e: 1e4a subs r2, r1, #1 - c470: f8ad 206e strh.w r2, [sp, #110] ; 0x6e + c452: f8bd 106e ldrh.w r1, [sp, #110] ; 0x6e + c456: 1e4a subs r2, r1, #1 + c458: f8ad 206e strh.w r2, [sp, #110] ; 0x6e int32_t r_bg = dsc->radius; - c474: f9ba 2000 ldrsh.w r2, [sl] - c478: eba3 030e sub.w r3, r3, lr - c47c: b21b sxth r3, r3 + c45c: f9ba 2000 ldrsh.w r2, [sl] + c460: eba3 030e sub.w r3, r3, lr + c464: b21b sxth r3, r3 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c47e: 1a09 subs r1, r1, r0 - c480: b209 sxth r1, r1 + c466: 1a09 subs r1, r1, r0 + c468: b209 sxth r1, r1 int32_t short_side = LV_MATH_MIN(lv_area_get_width(&bg_coords), lv_area_get_height(&bg_coords)); - c482: 428b cmp r3, r1 - c484: bfa8 it ge - c486: 460b movge r3, r1 + c46a: 428b cmp r3, r1 + c46c: bfa8 it ge + c46e: 460b movge r3, r1 if(r_bg > short_side >> 1) r_bg = short_side >> 1; - c488: 105b asrs r3, r3, #1 - c48a: 4293 cmp r3, r2 - c48c: bfa8 it ge - c48e: 4613 movge r3, r2 - c490: 930e str r3, [sp, #56] ; 0x38 + c470: 105b asrs r3, r3, #1 + c472: 4293 cmp r3, r2 + c474: bfa8 it ge + c476: 4613 movge r3, r2 + c478: 930e str r3, [sp, #56] ; 0x38 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c492: 3601 adds r6, #1 - c494: eba6 0608 sub.w r6, r6, r8 - c498: b2b6 uxth r6, r6 - c49a: b233 sxth r3, r6 + c47a: 3601 adds r6, #1 + c47c: eba6 0608 sub.w r6, r6, r8 + c480: b2b6 uxth r6, r6 + c482: b233 sxth r3, r6 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c49c: 3401 adds r4, #1 - c49e: 1b64 subs r4, r4, r5 - c4a0: b2a4 uxth r4, r4 - c4a2: b225 sxth r5, r4 + c484: 3401 adds r4, #1 + c486: 1b64 subs r4, r4, r5 + c488: b2a4 uxth r4, r4 + c48a: b225 sxth r5, r4 short_side = LV_MATH_MIN(lv_area_get_width(&sh_rect_area), lv_area_get_height(&sh_rect_area)); - c4a4: 429d cmp r5, r3 - c4a6: bfa8 it ge - c4a8: 461d movge r5, r3 + c48c: 429d cmp r5, r3 + c48e: bfa8 it ge + c490: 461d movge r5, r3 if(r_sh > short_side >> 1) r_sh = short_side >> 1; - c4aa: 106d asrs r5, r5, #1 - c4ac: 4295 cmp r5, r2 - c4ae: bfa8 it ge - c4b0: 4615 movge r5, r2 + c492: 106d asrs r5, r5, #1 + c494: 4295 cmp r5, r2 + c496: bfa8 it ge + c498: 4615 movge r5, r2 int32_t corner_size = sw + r_sh; - c4b2: eb07 0905 add.w r9, r7, r5 + c49a: eb07 0905 add.w r9, r7, r5 sh_buf = _lv_mem_buf_get(corner_size * corner_size * sizeof(uint16_t)); - c4b6: fb09 f009 mul.w r0, r9, r9 - c4ba: 0040 lsls r0, r0, #1 - c4bc: 4b8c ldr r3, [pc, #560] ; (c6f0 ) - c4be: 4798 blx r3 - c4c0: 900a str r0, [sp, #40] ; 0x28 + c49e: fb09 f009 mul.w r0, r9, r9 + c4a2: 0040 lsls r0, r0, #1 + c4a4: 4b8c ldr r3, [pc, #560] ; (c6d8 ) + c4a6: 4798 blx r3 + c4a8: 900a str r0, [sp, #40] ; 0x28 shadow_draw_corner_buf(&sh_rect_area, (uint16_t *)sh_buf, dsc->shadow_width, r_sh); - c4c2: f9ba b020 ldrsh.w fp, [sl, #32] - c4c6: b22a sxth r2, r5 + c4aa: f9ba b020 ldrsh.w fp, [sl, #32] + c4ae: b22a sxth r2, r5 int32_t size = sw_ori + r; - c4c8: eb02 070b add.w r7, r2, fp - c4cc: f10d 014f add.w r1, sp, #79 ; 0x4f + c4b0: eb02 070b add.w r7, r2, fp + c4b4: f10d 014f add.w r1, sp, #79 ; 0x4f uint8_t * d8 = (uint8_t *)dst; - c4d0: ab22 add r3, sp, #136 ; 0x88 + c4b8: ab22 add r3, sp, #136 ; 0x88 while(len) { - c4d2: f10d 0e90 add.w lr, sp, #144 ; 0x90 + c4ba: f10d 0e90 add.w lr, sp, #144 ; 0x90 *d8 = *s8; - c4d6: f811 0f01 ldrb.w r0, [r1, #1]! - c4da: f803 0b01 strb.w r0, [r3], #1 + c4be: f811 0f01 ldrb.w r0, [r1, #1]! + c4c2: f803 0b01 strb.w r0, [r3], #1 while(len) { - c4de: 4573 cmp r3, lr - c4e0: d1f9 bne.n c4d6 + c4c6: 4573 cmp r3, lr + c4c8: d1f9 bne.n c4be sh_area.x2 = sw / 2 + r - 1 - ((sw & 1) ? 0 : 1); - c4e2: eb0b 71db add.w r1, fp, fp, lsr #31 - c4e6: f3c1 014f ubfx r1, r1, #1, #16 - c4ea: 1e4b subs r3, r1, #1 - c4ec: f01b 0001 ands.w r0, fp, #1 - c4f0: 9010 str r0, [sp, #64] ; 0x40 - c4f2: bf0c ite eq - c4f4: 2001 moveq r0, #1 - c4f6: 2000 movne r0, #0 - c4f8: 1a1b subs r3, r3, r0 - c4fa: 442b add r3, r5 - c4fc: b29b uxth r3, r3 - c4fe: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + c4ca: eb0b 71db add.w r1, fp, fp, lsr #31 + c4ce: f3c1 014f ubfx r1, r1, #1, #16 + c4d2: 1e4b subs r3, r1, #1 + c4d4: f01b 0001 ands.w r0, fp, #1 + c4d8: 9010 str r0, [sp, #64] ; 0x40 + c4da: bf0c ite eq + c4dc: 2001 moveq r0, #1 + c4de: 2000 movne r0, #0 + c4e0: 1a1b subs r3, r3, r0 + c4e2: 442b add r3, r5 + c4e4: b29b uxth r3, r3 + c4e6: f8ad 308c strh.w r3, [sp, #140] ; 0x8c sh_area.y1 = sw / 2 + 1; - c502: 3101 adds r1, #1 - c504: b289 uxth r1, r1 - c506: f8ad 108a strh.w r1, [sp, #138] ; 0x8a + c4ea: 3101 adds r1, #1 + c4ec: b289 uxth r1, r1 + c4ee: f8ad 108a strh.w r1, [sp, #138] ; 0x8a sh_area.x1 = sh_area.x2 - lv_area_get_width(coords); - c50a: 1b9b subs r3, r3, r6 - c50c: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + c4f2: 1b9b subs r3, r3, r6 + c4f4: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 sh_area.y2 = sh_area.y1 + lv_area_get_height(coords); - c510: 4421 add r1, r4 - c512: f8ad 108e strh.w r1, [sp, #142] ; 0x8e + c4f8: 4421 add r1, r4 + c4fa: f8ad 108e strh.w r1, [sp, #142] ; 0x8e lv_draw_mask_radius_init(&mask_param, &sh_area, r, false); - c516: 2300 movs r3, #0 - c518: a922 add r1, sp, #136 ; 0x88 - c51a: a829 add r0, sp, #164 ; 0xa4 - c51c: 4c75 ldr r4, [pc, #468] ; (c6f4 ) - c51e: 47a0 blx r4 + c4fe: 2300 movs r3, #0 + c500: a922 add r1, sp, #136 ; 0x88 + c502: a829 add r0, sp, #164 ; 0xa4 + c504: 4c75 ldr r4, [pc, #468] ; (c6dc ) + c506: 47a0 blx r4 if(sw_ori == 1) sw = 1; - c520: f1bb 0f01 cmp.w fp, #1 - c524: f002 81d8 beq.w e8d8 - c528: ea4f 036b mov.w r3, fp, asr #1 - c52c: 930b str r3, [sp, #44] ; 0x2c + c508: f1bb 0f01 cmp.w fp, #1 + c50c: f002 81d8 beq.w e8c0 + c510: ea4f 036b mov.w r3, fp, asr #1 + c514: 930b str r3, [sp, #44] ; 0x2c lv_opa_t * mask_line = _lv_mem_buf_get(size); - c52e: 9707 str r7, [sp, #28] - c530: 4638 mov r0, r7 - c532: 4b6f ldr r3, [pc, #444] ; (c6f0 ) - c534: 4798 blx r3 - c536: 900c str r0, [sp, #48] ; 0x30 + c516: 9707 str r7, [sp, #28] + c518: 4638 mov r0, r7 + c51a: 4b6f ldr r3, [pc, #444] ; (c6d8 ) + c51c: 4798 blx r3 + c51e: 900c str r0, [sp, #48] ; 0x30 for(y = 0; y < size; y++) { - c538: 2f00 cmp r7, #0 - c53a: dd5c ble.n c5f6 + c520: 2f00 cmp r7, #0 + c522: dd5c ble.n c5de _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - c53c: 9b07 ldr r3, [sp, #28] - c53e: ea4f 0b43 mov.w fp, r3, lsl #1 - c542: f107 4300 add.w r3, r7, #2147483648 ; 0x80000000 - c546: 3b01 subs r3, #1 - c548: 005b lsls r3, r3, #1 - c54a: 9c0a ldr r4, [sp, #40] ; 0x28 - c54c: 2500 movs r5, #0 + c524: 9b07 ldr r3, [sp, #28] + c526: ea4f 0b43 mov.w fp, r3, lsl #1 + c52a: f107 4300 add.w r3, r7, #2147483648 ; 0x80000000 + c52e: 3b01 subs r3, #1 + c530: 005b lsls r3, r3, #1 + c532: 9c0a ldr r4, [sp, #40] ; 0x28 + c534: 2500 movs r5, #0 _lv_memset_ff(mask_line, size); - c54e: f8df 81b8 ldr.w r8, [pc, #440] ; c708 + c536: f8df 81b8 ldr.w r8, [pc, #440] ; c6f0 lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param); - c552: b23a sxth r2, r7 - c554: 9208 str r2, [sp, #32] + c53a: b23a sxth r2, r7 + c53c: 9208 str r2, [sp, #32] _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - c556: f8cd 9034 str.w r9, [sp, #52] ; 0x34 - c55a: 9705 str r7, [sp, #20] - c55c: 9e0c ldr r6, [sp, #48] ; 0x30 - c55e: 4699 mov r9, r3 - c560: f8cd a03c str.w sl, [sp, #60] ; 0x3c - c564: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - c568: e014 b.n c594 + c53e: f8cd 9034 str.w r9, [sp, #52] ; 0x34 + c542: 9705 str r7, [sp, #20] + c544: 9e0c ldr r6, [sp, #48] ; 0x30 + c546: 4699 mov r9, r3 + c548: f8cd a03c str.w sl, [sp, #60] ; 0x3c + c54c: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + c550: e014 b.n c57c if(dsc->shadow_width == 1 && dsc->shadow_ofs_x == 0 && - c56a: f9b2 3024 ldrsh.w r3, [r2, #36] ; 0x24 - c56e: 2b00 cmp r3, #0 - c570: f47f af05 bne.w c37e + c552: f9b2 3024 ldrsh.w r3, [r2, #36] ; 0x24 + c556: 2b00 cmp r3, #0 + c558: f47f af05 bne.w c366 dsc->shadow_ofs_y == 0 && dsc->shadow_spread <= 0) { - c574: f9b2 3026 ldrsh.w r3, [r2, #38] ; 0x26 - c578: 2b00 cmp r3, #0 - c57a: f73f af00 bgt.w c37e - c57e: f000 be0d b.w d19c + c55c: f9b2 3026 ldrsh.w r3, [r2, #38] ; 0x26 + c560: 2b00 cmp r3, #0 + c562: f73f af00 bgt.w c366 + c566: f000 be0d b.w d184 _lv_memset_00(sh_ups_tmp_buf, size * sizeof(sh_ups_tmp_buf[0])); - c582: 4659 mov r1, fp - c584: 4620 mov r0, r4 - c586: 4b5c ldr r3, [pc, #368] ; (c6f8 ) - c588: 4798 blx r3 + c56a: 4659 mov r1, fp + c56c: 4620 mov r0, r4 + c56e: 4b5c ldr r3, [pc, #368] ; (c6e0 ) + c570: 4798 blx r3 sh_ups_tmp_buf += size; - c58a: 445c add r4, fp + c572: 445c add r4, fp for(y = 0; y < size; y++) { - c58c: 3501 adds r5, #1 - c58e: 9b05 ldr r3, [sp, #20] - c590: 42ab cmp r3, r5 - c592: dd2b ble.n c5ec + c574: 3501 adds r5, #1 + c576: 9b05 ldr r3, [sp, #20] + c578: 42ab cmp r3, r5 + c57a: dd2b ble.n c5d4 _lv_memset_ff(mask_line, size); - c594: 9907 ldr r1, [sp, #28] - c596: 4630 mov r0, r6 - c598: 47c0 blx r8 + c57c: 9907 ldr r1, [sp, #28] + c57e: 4630 mov r0, r6 + c580: 47c0 blx r8 lv_draw_mask_res_t mask_res = mask_param.dsc.cb(mask_line, 0, y, size, &mask_param); - c59a: ab29 add r3, sp, #164 ; 0xa4 - c59c: 9300 str r3, [sp, #0] - c59e: 9b08 ldr r3, [sp, #32] - c5a0: b22a sxth r2, r5 - c5a2: 2100 movs r1, #0 - c5a4: 4630 mov r0, r6 - c5a6: 9f29 ldr r7, [sp, #164] ; 0xa4 - c5a8: 47b8 blx r7 + c582: ab29 add r3, sp, #164 ; 0xa4 + c584: 9300 str r3, [sp, #0] + c586: 9b08 ldr r3, [sp, #32] + c588: b22a sxth r2, r5 + c58a: 2100 movs r1, #0 + c58c: 4630 mov r0, r6 + c58e: 9f29 ldr r7, [sp, #164] ; 0xa4 + c590: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_TRANSP) { - c5aa: 2800 cmp r0, #0 - c5ac: d0e9 beq.n c582 + c592: 2800 cmp r0, #0 + c594: d0e9 beq.n c56a sh_ups_tmp_buf[0] = (mask_line[0] << SHADOW_UPSACALE_SHIFT) / sw; - c5ae: 46d6 mov lr, sl - c5b0: 7833 ldrb r3, [r6, #0] - c5b2: 019b lsls r3, r3, #6 - c5b4: fb93 f3fa sdiv r3, r3, sl - c5b8: 8023 strh r3, [r4, #0] + c596: 46d6 mov lr, sl + c598: 7833 ldrb r3, [r6, #0] + c59a: 019b lsls r3, r3, #6 + c59c: fb93 f3fa sdiv r3, r3, sl + c5a0: 8023 strh r3, [r4, #0] for(i = 1; i < size; i++) { - c5ba: 9b05 ldr r3, [sp, #20] - c5bc: 2b01 cmp r3, #1 - c5be: dde4 ble.n c58a - c5c0: 4631 mov r1, r6 - c5c2: 4622 mov r2, r4 - c5c4: eb04 0009 add.w r0, r4, r9 - c5c8: 461f mov r7, r3 - c5ca: 468c mov ip, r1 + c5a2: 9b05 ldr r3, [sp, #20] + c5a4: 2b01 cmp r3, #1 + c5a6: dde4 ble.n c572 + c5a8: 4631 mov r1, r6 + c5aa: 4622 mov r2, r4 + c5ac: eb04 0009 add.w r0, r4, r9 + c5b0: 461f mov r7, r3 + c5b2: 468c mov ip, r1 if(mask_line[i] == mask_line[i - 1]) sh_ups_tmp_buf[i] = sh_ups_tmp_buf[i - 1]; - c5cc: f811 3f01 ldrb.w r3, [r1, #1]! - c5d0: f89c c000 ldrb.w ip, [ip] - c5d4: 459c cmp ip, r3 - c5d6: bf0e itee eq - c5d8: 8813 ldrheq r3, [r2, #0] + c5b4: f811 3f01 ldrb.w r3, [r1, #1]! + c5b8: f89c c000 ldrb.w ip, [ip] + c5bc: 459c cmp ip, r3 + c5be: bf0e itee eq + c5c0: 8813 ldrheq r3, [r2, #0] else sh_ups_tmp_buf[i] = (mask_line[i] << SHADOW_UPSACALE_SHIFT) / sw; - c5da: 019b lslne r3, r3, #6 - c5dc: fb93 f3fe sdivne r3, r3, lr - c5e0: 8053 strh r3, [r2, #2] - c5e2: 3202 adds r2, #2 + c5c2: 019b lslne r3, r3, #6 + c5c4: fb93 f3fe sdivne r3, r3, lr + c5c8: 8053 strh r3, [r2, #2] + c5ca: 3202 adds r2, #2 for(i = 1; i < size; i++) { - c5e4: 4290 cmp r0, r2 - c5e6: d1f0 bne.n c5ca - c5e8: 9705 str r7, [sp, #20] - c5ea: e7ce b.n c58a - c5ec: f8dd 9034 ldr.w r9, [sp, #52] ; 0x34 - c5f0: 461f mov r7, r3 - c5f2: f8dd a03c ldr.w sl, [sp, #60] ; 0x3c + c5cc: 4290 cmp r0, r2 + c5ce: d1f0 bne.n c5b2 + c5d0: 9705 str r7, [sp, #20] + c5d2: e7ce b.n c572 + c5d4: f8dd 9034 ldr.w r9, [sp, #52] ; 0x34 + c5d8: 461f mov r7, r3 + c5da: f8dd a03c ldr.w sl, [sp, #60] ; 0x3c _lv_mem_buf_release(mask_line); - c5f6: 980c ldr r0, [sp, #48] ; 0x30 - c5f8: 4b40 ldr r3, [pc, #256] ; (c6fc ) - c5fa: 4798 blx r3 + c5de: 980c ldr r0, [sp, #48] ; 0x30 + c5e0: 4b40 ldr r3, [pc, #256] ; (c6e4 ) + c5e2: 4798 blx r3 if(sw == 1) { - c5fc: 9b0b ldr r3, [sp, #44] ; 0x2c - c5fe: 2b01 cmp r3, #1 - c600: f002 814d beq.w e89e + c5e4: 9b0b ldr r3, [sp, #44] ; 0x2c + c5e6: 2b01 cmp r3, #1 + c5e8: f002 814d beq.w e886 shadow_blur_corner(size, sw, sh_buf); - c604: b23c sxth r4, r7 - c606: 9e0a ldr r6, [sp, #40] ; 0x28 - c608: 4632 mov r2, r6 - c60a: 9d0b ldr r5, [sp, #44] ; 0x2c - c60c: 4629 mov r1, r5 - c60e: 4620 mov r0, r4 - c610: 4b3b ldr r3, [pc, #236] ; (c700 ) - c612: 4798 blx r3 + c5ec: b23c sxth r4, r7 + c5ee: 9e0a ldr r6, [sp, #40] ; 0x28 + c5f0: 4632 mov r2, r6 + c5f2: 9d0b ldr r5, [sp, #44] ; 0x2c + c5f4: 4629 mov r1, r5 + c5f6: 4620 mov r0, r4 + c5f8: 4b3b ldr r3, [pc, #236] ; (c6e8 ) + c5fa: 4798 blx r3 sw += sw_ori & 1; - c614: 9a10 ldr r2, [sp, #64] ; 0x40 - c616: 442a add r2, r5 - c618: b211 sxth r1, r2 + c5fc: 9a10 ldr r2, [sp, #64] ; 0x40 + c5fe: 442a add r2, r5 + c600: b211 sxth r1, r2 if(sw > 1) { - c61a: 2901 cmp r1, #1 - c61c: dd22 ble.n c664 + c602: 2901 cmp r1, #1 + c604: dd22 ble.n c64c sh_buf[0] = (sh_buf[0] << SHADOW_UPSACALE_SHIFT) / sw; - c61e: 460d mov r5, r1 - c620: 8833 ldrh r3, [r6, #0] - c622: 019b lsls r3, r3, #6 - c624: fb93 f3f1 sdiv r3, r3, r1 - c628: 4632 mov r2, r6 - c62a: 8033 strh r3, [r6, #0] + c606: 460d mov r5, r1 + c608: 8833 ldrh r3, [r6, #0] + c60a: 019b lsls r3, r3, #6 + c60c: fb93 f3f1 sdiv r3, r3, r1 + c610: 4632 mov r2, r6 + c612: 8033 strh r3, [r6, #0] for(i = 1; i < (uint32_t) size * size; i++) { - c62c: 9807 ldr r0, [sp, #28] - c62e: fb00 f000 mul.w r0, r0, r0 - c632: 2801 cmp r0, #1 - c634: d912 bls.n c65c - c636: f100 4000 add.w r0, r0, #2147483648 ; 0x80000000 - c63a: 3801 subs r0, #1 - c63c: eb06 0040 add.w r0, r6, r0, lsl #1 - c640: e001 b.n c646 - c642: 4282 cmp r2, r0 - c644: d00a beq.n c65c - c646: 4616 mov r6, r2 + c614: 9807 ldr r0, [sp, #28] + c616: fb00 f000 mul.w r0, r0, r0 + c61a: 2801 cmp r0, #1 + c61c: d912 bls.n c644 + c61e: f100 4000 add.w r0, r0, #2147483648 ; 0x80000000 + c622: 3801 subs r0, #1 + c624: eb06 0040 add.w r0, r6, r0, lsl #1 + c628: e001 b.n c62e + c62a: 4282 cmp r2, r0 + c62c: d00a beq.n c644 + c62e: 4616 mov r6, r2 if(sh_buf[i] == sh_buf[i - 1]) sh_buf[i] = sh_buf[i - 1]; - c648: f832 3f02 ldrh.w r3, [r2, #2]! - c64c: 8836 ldrh r6, [r6, #0] - c64e: 429e cmp r6, r3 - c650: d0f7 beq.n c642 + c630: f832 3f02 ldrh.w r3, [r2, #2]! + c634: 8836 ldrh r6, [r6, #0] + c636: 429e cmp r6, r3 + c638: d0f7 beq.n c62a else sh_buf[i] = (sh_buf[i] << SHADOW_UPSACALE_SHIFT) / sw; - c652: 019b lsls r3, r3, #6 - c654: fb93 f3f5 sdiv r3, r3, r5 - c658: 8013 strh r3, [r2, #0] - c65a: e7f2 b.n c642 + c63a: 019b lsls r3, r3, #6 + c63c: fb93 f3f5 sdiv r3, r3, r5 + c640: 8013 strh r3, [r2, #0] + c642: e7f2 b.n c62a shadow_blur_corner(size, sw, sh_buf); - c65c: 9a0a ldr r2, [sp, #40] ; 0x28 - c65e: 4620 mov r0, r4 - c660: 4b27 ldr r3, [pc, #156] ; (c700 ) - c662: 4798 blx r3 + c644: 9a0a ldr r2, [sp, #40] ; 0x28 + c646: 4620 mov r0, r4 + c648: 4b27 ldr r3, [pc, #156] ; (c6e8 ) + c64a: 4798 blx r3 for(x = 0; x < size * size; x++) { - c664: fb07 f707 mul.w r7, r7, r7 - c668: b157 cbz r7, c680 - c66a: 990a ldr r1, [sp, #40] ; 0x28 - c66c: 460b mov r3, r1 - c66e: 1e4a subs r2, r1, #1 - c670: eb01 0047 add.w r0, r1, r7, lsl #1 + c64c: fb07 f707 mul.w r7, r7, r7 + c650: b157 cbz r7, c668 + c652: 990a ldr r1, [sp, #40] ; 0x28 + c654: 460b mov r3, r1 + c656: 1e4a subs r2, r1, #1 + c658: eb01 0047 add.w r0, r1, r7, lsl #1 res_buf[x] = sh_buf[x]; - c674: f833 1b02 ldrh.w r1, [r3], #2 - c678: f802 1f01 strb.w r1, [r2, #1]! + c65c: f833 1b02 ldrh.w r1, [r3], #2 + c660: f802 1f01 strb.w r1, [r2, #1]! for(x = 0; x < size * size; x++) { - c67c: 4283 cmp r3, r0 - c67e: d1f9 bne.n c674 + c664: 4283 cmp r3, r0 + c666: d1f9 bne.n c65c lv_coord_t h_half = sh_area.y1 + lv_area_get_height(&sh_area) / 2; - c680: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a - c684: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - c688: 3301 adds r3, #1 - c68a: 1a9b subs r3, r3, r2 - c68c: b21b sxth r3, r3 - c68e: eb03 73d3 add.w r3, r3, r3, lsr #31 - c692: eb02 0363 add.w r3, r2, r3, asr #1 - c696: b29b uxth r3, r3 - c698: 930f str r3, [sp, #60] ; 0x3c - c69a: b21b sxth r3, r3 - c69c: 930c str r3, [sp, #48] ; 0x30 + c668: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a + c66c: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + c670: 3301 adds r3, #1 + c672: 1a9b subs r3, r3, r2 + c674: b21b sxth r3, r3 + c676: eb03 73d3 add.w r3, r3, r3, lsr #31 + c67a: eb02 0363 add.w r3, r2, r3, asr #1 + c67e: b29b uxth r3, r3 + c680: 930f str r3, [sp, #60] ; 0x3c + c682: b21b sxth r3, r3 + c684: 930c str r3, [sp, #48] ; 0x30 lv_coord_t w_half = sh_area.x1 + lv_area_get_width(&sh_area) / 2; - c69e: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 + c686: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c6a2: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - c6a6: 3301 adds r3, #1 - c6a8: 1a9b subs r3, r3, r2 - c6aa: b21b sxth r3, r3 - c6ac: eb03 73d3 add.w r3, r3, r3, lsr #31 - c6b0: eb02 0363 add.w r3, r2, r3, asr #1 - c6b4: b29b uxth r3, r3 - c6b6: 9310 str r3, [sp, #64] ; 0x40 - c6b8: b21b sxth r3, r3 - c6ba: 930d str r3, [sp, #52] ; 0x34 + c68a: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + c68e: 3301 adds r3, #1 + c690: 1a9b subs r3, r3, r2 + c692: b21b sxth r3, r3 + c694: eb03 73d3 add.w r3, r3, r3, lsr #31 + c698: eb02 0363 add.w r3, r2, r3, asr #1 + c69c: b29b uxth r3, r3 + c69e: 9310 str r3, [sp, #64] ; 0x40 + c6a0: b21b sxth r3, r3 + c6a2: 930d str r3, [sp, #52] ; 0x34 if(lv_draw_mask_get_cnt() > 0) simple_mode = false; - c6bc: 4b11 ldr r3, [pc, #68] ; (c704 ) - c6be: 4798 blx r3 - c6c0: bb20 cbnz r0, c70c + c6a4: 4b11 ldr r3, [pc, #68] ; (c6ec ) + c6a6: 4798 blx r3 + c6a8: bb20 cbnz r0, c6f4 else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false; - c6c2: f9ba 3022 ldrsh.w r3, [sl, #34] ; 0x22 - c6c6: 2b00 cmp r3, #0 - c6c8: f040 81bc bne.w ca44 - c6cc: f9ba 3024 ldrsh.w r3, [sl, #36] ; 0x24 - c6d0: 2b00 cmp r3, #0 - c6d2: f040 81ba bne.w ca4a + c6aa: f9ba 3022 ldrsh.w r3, [sl, #34] ; 0x22 + c6ae: 2b00 cmp r3, #0 + c6b0: f040 81bc bne.w ca2c + c6b4: f9ba 3024 ldrsh.w r3, [sl, #36] ; 0x24 + c6b8: 2b00 cmp r3, #0 + c6ba: f040 81ba bne.w ca32 else if(dsc->shadow_spread != 0) simple_mode = false; - c6d6: f9ba 3026 ldrsh.w r3, [sl, #38] ; 0x26 - c6da: fab3 f383 clz r3, r3 - c6de: 095b lsrs r3, r3, #5 - c6e0: 9307 str r3, [sp, #28] - c6e2: e015 b.n c710 - c6e4: 00005f69 .word 0x00005f69 - c6e8: 00010fdd .word 0x00010fdd - c6ec: 00011519 .word 0x00011519 - c6f0: 0001293d .word 0x0001293d - c6f4: 0000c02d .word 0x0000c02d - c6f8: 00012b37 .word 0x00012b37 - c6fc: 00012571 .word 0x00012571 - c700: 0000c08d .word 0x0000c08d - c704: 0000bec5 .word 0x0000bec5 - c708: 00012bed .word 0x00012bed + c6be: f9ba 3026 ldrsh.w r3, [sl, #38] ; 0x26 + c6c2: fab3 f383 clz r3, r3 + c6c6: 095b lsrs r3, r3, #5 + c6c8: 9307 str r3, [sp, #28] + c6ca: e015 b.n c6f8 + c6cc: 00005f51 .word 0x00005f51 + c6d0: 00010fc5 .word 0x00010fc5 + c6d4: 00011501 .word 0x00011501 + c6d8: 00012925 .word 0x00012925 + c6dc: 0000c015 .word 0x0000c015 + c6e0: 00012b1f .word 0x00012b1f + c6e4: 00012559 .word 0x00012559 + c6e8: 0000c075 .word 0x0000c075 + c6ec: 0000bead .word 0x0000bead + c6f0: 00012bd5 .word 0x00012bd5 if(lv_draw_mask_get_cnt() > 0) simple_mode = false; - c70c: 2300 movs r3, #0 - c70e: 9307 str r3, [sp, #28] - c710: f8bd 005c ldrh.w r0, [sp, #92] ; 0x5c - c714: 3001 adds r0, #1 - c716: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - c71a: 1ac0 subs r0, r0, r3 + c6f4: 2300 movs r3, #0 + c6f6: 9307 str r3, [sp, #28] + c6f8: f8bd 005c ldrh.w r0, [sp, #92] ; 0x5c + c6fc: 3001 adds r0, #1 + c6fe: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + c702: 1ac0 subs r0, r0, r3 lv_opa_t * mask_buf = _lv_mem_buf_get(lv_area_get_width(&sh_area)); - c71c: b200 sxth r0, r0 - c71e: 4bc2 ldr r3, [pc, #776] ; (ca28 ) - c720: 4798 blx r3 - c722: 9005 str r0, [sp, #20] + c704: b200 sxth r0, r0 + c706: 4bc2 ldr r3, [pc, #776] ; (ca10 ) + c708: 4798 blx r3 + c70a: 9005 str r0, [sp, #20] lv_draw_mask_radius_init(&mask_rout_param, &bg_coords, r_bg, true); - c724: 2301 movs r3, #1 - c726: 9a0e ldr r2, [sp, #56] ; 0x38 - c728: a91a add r1, sp, #104 ; 0x68 - c72a: a829 add r0, sp, #164 ; 0xa4 - c72c: 4cbf ldr r4, [pc, #764] ; (ca2c ) - c72e: 47a0 blx r4 + c70c: 2301 movs r3, #1 + c70e: 9a0e ldr r2, [sp, #56] ; 0x38 + c710: a91a add r1, sp, #104 ; 0x68 + c712: a829 add r0, sp, #164 ; 0xa4 + c714: 4cbf ldr r4, [pc, #764] ; (ca14 ) + c716: 47a0 blx r4 int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - c730: 2100 movs r1, #0 - c732: a829 add r0, sp, #164 ; 0xa4 - c734: 4bbe ldr r3, [pc, #760] ; (ca30 ) - c736: 4798 blx r3 - c738: 900e str r0, [sp, #56] ; 0x38 + c718: 2100 movs r1, #0 + c71a: a829 add r0, sp, #164 ; 0xa4 + c71c: 4bbe ldr r3, [pc, #760] ; (ca18 ) + c71e: 4798 blx r3 + c720: 900e str r0, [sp, #56] ; 0x38 a.x2 = sh_area.x2; - c73a: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c - c73e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + c722: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c + c726: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.x1 = a.x2 - corner_size + 1; - c742: fa1f fb89 uxth.w fp, r9 - c746: 3301 adds r3, #1 - c748: eba3 030b sub.w r3, r3, fp - c74c: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + c72a: fa1f fb89 uxth.w fp, r9 + c72e: 3301 adds r3, #1 + c730: eba3 030b sub.w r3, r3, fp + c734: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.y1 = sh_area.y1; - c750: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a - c754: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + c738: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a + c73c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = a.y1 + corner_size - 1; - c758: 3b01 subs r3, #1 - c75a: 445b add r3, fp - c75c: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + c740: 3b01 subs r3, #1 + c742: 445b add r3, fp + c744: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 bool has_com = _lv_area_intersect(&ca, &a, clip); - c760: 9a04 ldr r2, [sp, #16] - c762: a91c add r1, sp, #112 ; 0x70 - c764: a81e add r0, sp, #120 ; 0x78 - c766: 4bb3 ldr r3, [pc, #716] ; (ca34 ) - c768: 4798 blx r3 + c748: 9a04 ldr r2, [sp, #16] + c74a: a91c add r1, sp, #112 ; 0x70 + c74c: a81e add r0, sp, #120 ; 0x78 + c74e: 4bb3 ldr r3, [pc, #716] ; (ca1c ) + c750: 4798 blx r3 if(has_com) { - c76a: 2800 cmp r0, #0 - c76c: d072 beq.n c854 + c752: 2800 cmp r0, #0 + c754: d072 beq.n c83c if(ca.y2 > h_half) ca.y2 = h_half; - c76e: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - c772: 990c ldr r1, [sp, #48] ; 0x30 - c774: 428b cmp r3, r1 - c776: bfc4 itt gt - c778: 460b movgt r3, r1 - c77a: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e + c756: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + c75a: 990c ldr r1, [sp, #48] ; 0x30 + c75c: 428b cmp r3, r1 + c75e: bfc4 itt gt + c760: 460b movgt r3, r1 + c762: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e if(ca.x1 <= w_half) ca.x1 = w_half + 1; - c77e: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - c782: 9a0d ldr r2, [sp, #52] ; 0x34 - c784: 4293 cmp r3, r2 - c786: dc03 bgt.n c790 - c788: 9b10 ldr r3, [sp, #64] ; 0x40 - c78a: 3301 adds r3, #1 - c78c: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 - c790: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - c794: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - c798: 3301 adds r3, #1 - c79a: 1a9b subs r3, r3, r2 - c79c: b21b sxth r3, r3 - c79e: 9308 str r3, [sp, #32] + c766: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + c76a: 9a0d ldr r2, [sp, #52] ; 0x34 + c76c: 4293 cmp r3, r2 + c76e: dc03 bgt.n c778 + c770: 9b10 ldr r3, [sp, #64] ; 0x40 + c772: 3301 adds r3, #1 + c774: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + c778: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + c77c: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + c780: 3301 adds r3, #1 + c782: 1a9b subs r3, r3, r2 + c784: b21b sxth r3, r3 + c786: 9308 str r3, [sp, #32] if(w > 0) { - c7a0: 2b00 cmp r3, #0 - c7a2: dd57 ble.n c854 + c788: 2b00 cmp r3, #0 + c78a: dd57 ble.n c83c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c7a4: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e - c7a8: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a + c78c: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e + c790: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (ca.y1 - a.y1); - c7ac: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 - c7b0: 1b65 subs r5, r4, r5 + c794: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 + c798: 1b65 subs r5, r4, r5 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - c7b2: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - c7b6: 1ad2 subs r2, r2, r3 + c79a: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + c79e: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - c7b8: fb09 2505 mla r5, r9, r5, r2 - c7bc: 9b0a ldr r3, [sp, #40] ; 0x28 - c7be: 441d add r5, r3 - c7c0: f10d 0277 add.w r2, sp, #119 ; 0x77 + c7a0: fb09 2505 mla r5, r9, r5, r2 + c7a4: 9b0a ldr r3, [sp, #40] ; 0x28 + c7a6: 441d add r5, r3 + c7a8: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - c7c4: ab22 add r3, sp, #136 ; 0x88 + c7ac: ab22 add r3, sp, #136 ; 0x88 while(len) { - c7c6: a824 add r0, sp, #144 ; 0x90 + c7ae: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - c7c8: f812 1f01 ldrb.w r1, [r2, #1]! - c7cc: f803 1b01 strb.w r1, [r3], #1 + c7b0: f812 1f01 ldrb.w r1, [r2, #1]! + c7b4: f803 1b01 strb.w r1, [r3], #1 while(len) { - c7d0: 4283 cmp r3, r0 - c7d2: d1f9 bne.n c7c8 + c7b8: 4283 cmp r3, r0 + c7ba: d1f9 bne.n c7b0 fa.y2 = fa.y1; - c7d4: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - c7d8: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - c7dc: 3701 adds r7, #1 - c7de: 1b3f subs r7, r7, r4 + c7bc: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c7c0: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c7c4: 3701 adds r7, #1 + c7c6: 1b3f subs r7, r7, r4 for(y = 0; y < h; y++) { - c7e0: b23f sxth r7, r7 - c7e2: 2f00 cmp r7, #0 - c7e4: dd36 ble.n c854 - c7e6: 2600 movs r6, #0 + c7c8: b23f sxth r7, r7 + c7ca: 2f00 cmp r7, #0 + c7cc: dd36 ble.n c83c + c7ce: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - c7e8: f8df 8254 ldr.w r8, [pc, #596] ; ca40 - c7ec: f8cd b044 str.w fp, [sp, #68] ; 0x44 - c7f0: 46bb mov fp, r7 - c7f2: 9b09 ldr r3, [sp, #36] ; 0x24 - c7f4: 930b str r3, [sp, #44] ; 0x2c + c7d0: f8df 8254 ldr.w r8, [pc, #596] ; ca28 + c7d4: f8cd b044 str.w fp, [sp, #68] ; 0x44 + c7d8: 46bb mov fp, r7 + c7da: 9b09 ldr r3, [sp, #36] ; 0x24 + c7dc: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - c7f6: 9a08 ldr r2, [sp, #32] - c7f8: 4629 mov r1, r5 - c7fa: 9f05 ldr r7, [sp, #20] - c7fc: 4638 mov r0, r7 - c7fe: 4c8e ldr r4, [pc, #568] ; (ca38 ) - c800: 47a0 blx r4 + c7de: 9a08 ldr r2, [sp, #32] + c7e0: 4629 mov r1, r5 + c7e2: 9f05 ldr r7, [sp, #20] + c7e4: 4638 mov r0, r7 + c7e6: 4c8e ldr r4, [pc, #568] ; (ca20 ) + c7e8: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - c802: ac30 add r4, sp, #192 ; 0xc0 - c804: 9b08 ldr r3, [sp, #32] - c806: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - c80a: f934 1d38 ldrsh.w r1, [r4, #-56]! - c80e: 9705 str r7, [sp, #20] - c810: 4638 mov r0, r7 - c812: 4f8a ldr r7, [pc, #552] ; (ca3c ) - c814: 47b8 blx r7 + c7ea: ac30 add r4, sp, #192 ; 0xc0 + c7ec: 9b08 ldr r3, [sp, #32] + c7ee: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + c7f2: f934 1d38 ldrsh.w r1, [r4, #-56]! + c7f6: 9705 str r7, [sp, #20] + c7f8: 4638 mov r0, r7 + c7fa: 4f8a ldr r7, [pc, #552] ; (ca24 ) + c7fc: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - c816: 2801 cmp r0, #1 - c818: bf08 it eq - c81a: 2002 moveq r0, #2 + c7fe: 2801 cmp r0, #1 + c800: bf08 it eq + c802: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - c81c: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - c820: 9302 str r3, [sp, #8] - c822: 9a0b ldr r2, [sp, #44] ; 0x2c - c824: 9201 str r2, [sp, #4] - c826: 9000 str r0, [sp, #0] - c828: 9b05 ldr r3, [sp, #20] - c82a: f8ba 201e ldrh.w r2, [sl, #30] - c82e: 4621 mov r1, r4 - c830: 9804 ldr r0, [sp, #16] - c832: 47c0 blx r8 + c804: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + c808: 9302 str r3, [sp, #8] + c80a: 9a0b ldr r2, [sp, #44] ; 0x2c + c80c: 9201 str r2, [sp, #4] + c80e: 9000 str r0, [sp, #0] + c810: 9b05 ldr r3, [sp, #20] + c812: f8ba 201e ldrh.w r2, [sl, #30] + c816: 4621 mov r1, r4 + c818: 9804 ldr r0, [sp, #16] + c81a: 47c0 blx r8 fa.y1++; - c834: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - c838: 3301 adds r3, #1 - c83a: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + c81c: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c820: 3301 adds r3, #1 + c822: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - c83e: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - c842: 3301 adds r3, #1 - c844: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - c848: 444d add r5, r9 + c826: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + c82a: 3301 adds r3, #1 + c82c: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c830: 444d add r5, r9 for(y = 0; y < h; y++) { - c84a: 3601 adds r6, #1 - c84c: 455e cmp r6, fp - c84e: d1d2 bne.n c7f6 - c850: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 + c832: 3601 adds r6, #1 + c834: 455e cmp r6, fp + c836: d1d2 bne.n c7de + c838: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 a.x2 = sh_area.x2; - c854: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c - c858: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + c83c: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c + c840: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.x1 = a.x2 - corner_size + 1; - c85c: 3301 adds r3, #1 - c85e: eba3 030b sub.w r3, r3, fp - c862: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + c844: 3301 adds r3, #1 + c846: eba3 030b sub.w r3, r3, fp + c84a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.y1 = sh_area.y2 - corner_size + 1; - c866: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e - c86a: 1c53 adds r3, r2, #1 - c86c: eba3 030b sub.w r3, r3, fp - c870: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + c84e: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e + c852: 1c53 adds r3, r2, #1 + c854: eba3 030b sub.w r3, r3, fp + c858: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2; - c874: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + c85c: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - c878: 9a04 ldr r2, [sp, #16] - c87a: a91c add r1, sp, #112 ; 0x70 - c87c: a81e add r0, sp, #120 ; 0x78 - c87e: 4b6d ldr r3, [pc, #436] ; (ca34 ) - c880: 4798 blx r3 + c860: 9a04 ldr r2, [sp, #16] + c862: a91c add r1, sp, #112 ; 0x70 + c864: a81e add r0, sp, #120 ; 0x78 + c866: 4b6d ldr r3, [pc, #436] ; (ca1c ) + c868: 4798 blx r3 if(has_com) { - c882: 2800 cmp r0, #0 - c884: d073 beq.n c96e + c86a: 2800 cmp r0, #0 + c86c: d073 beq.n c956 if(ca.y1 <= h_half) ca.y1 = h_half + 1; - c886: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a - c88a: 9a0c ldr r2, [sp, #48] ; 0x30 - c88c: 4293 cmp r3, r2 - c88e: dc03 bgt.n c898 - c890: 9b0f ldr r3, [sp, #60] ; 0x3c - c892: 3301 adds r3, #1 - c894: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + c86e: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a + c872: 9a0c ldr r2, [sp, #48] ; 0x30 + c874: 4293 cmp r3, r2 + c876: dc03 bgt.n c880 + c878: 9b0f ldr r3, [sp, #60] ; 0x3c + c87a: 3301 adds r3, #1 + c87c: f8ad 307a strh.w r3, [sp, #122] ; 0x7a if(ca.x1 <= w_half) ca.x1 = w_half + 1; - c898: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - c89c: 9a0d ldr r2, [sp, #52] ; 0x34 - c89e: 4293 cmp r3, r2 - c8a0: dc03 bgt.n c8aa - c8a2: 9b10 ldr r3, [sp, #64] ; 0x40 - c8a4: 3301 adds r3, #1 - c8a6: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + c880: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + c884: 9a0d ldr r2, [sp, #52] ; 0x34 + c886: 4293 cmp r3, r2 + c888: dc03 bgt.n c892 + c88a: 9b10 ldr r3, [sp, #64] ; 0x40 + c88c: 3301 adds r3, #1 + c88e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c8aa: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - c8ae: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - c8b2: 3301 adds r3, #1 - c8b4: 1a9b subs r3, r3, r2 - c8b6: b21b sxth r3, r3 - c8b8: 9308 str r3, [sp, #32] + c892: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + c896: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + c89a: 3301 adds r3, #1 + c89c: 1a9b subs r3, r3, r2 + c89e: b21b sxth r3, r3 + c8a0: 9308 str r3, [sp, #32] if(w > 0) { - c8ba: 2b00 cmp r3, #0 - c8bc: dd57 ble.n c96e + c8a2: 2b00 cmp r3, #0 + c8a4: dd57 ble.n c956 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c8be: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e - c8c2: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a + c8a6: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e + c8aa: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (a.y2 - ca.y2); - c8c6: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 - c8ca: 1b2d subs r5, r5, r4 + c8ae: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 + c8b2: 1b2d subs r5, r5, r4 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - c8cc: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - c8d0: 1ad2 subs r2, r2, r3 + c8b4: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + c8b8: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - c8d2: fb09 2505 mla r5, r9, r5, r2 - c8d6: 9b0a ldr r3, [sp, #40] ; 0x28 - c8d8: 441d add r5, r3 - c8da: f10d 0277 add.w r2, sp, #119 ; 0x77 + c8ba: fb09 2505 mla r5, r9, r5, r2 + c8be: 9b0a ldr r3, [sp, #40] ; 0x28 + c8c0: 441d add r5, r3 + c8c2: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - c8de: ab22 add r3, sp, #136 ; 0x88 + c8c6: ab22 add r3, sp, #136 ; 0x88 while(len) { - c8e0: a824 add r0, sp, #144 ; 0x90 + c8c8: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - c8e2: f812 1f01 ldrb.w r1, [r2, #1]! - c8e6: f803 1b01 strb.w r1, [r3], #1 + c8ca: f812 1f01 ldrb.w r1, [r2, #1]! + c8ce: f803 1b01 strb.w r1, [r3], #1 while(len) { - c8ea: 4283 cmp r3, r0 - c8ec: d1f9 bne.n c8e2 + c8d2: 4283 cmp r3, r0 + c8d4: d1f9 bne.n c8ca fa.y1 = fa.y2; /*Fill from bottom to top*/ - c8ee: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - c8f2: f8ad 308a strh.w r3, [sp, #138] ; 0x8a - c8f6: 1c67 adds r7, r4, #1 - c8f8: 1bbf subs r7, r7, r6 + c8d6: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + c8da: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + c8de: 1c67 adds r7, r4, #1 + c8e0: 1bbf subs r7, r7, r6 for(y = 0; y < h; y++) { - c8fa: b23f sxth r7, r7 - c8fc: 2f00 cmp r7, #0 - c8fe: dd36 ble.n c96e - c900: 2600 movs r6, #0 + c8e2: b23f sxth r7, r7 + c8e4: 2f00 cmp r7, #0 + c8e6: dd36 ble.n c956 + c8e8: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - c902: f8df 813c ldr.w r8, [pc, #316] ; ca40 - c906: f8cd b040 str.w fp, [sp, #64] ; 0x40 - c90a: 46bb mov fp, r7 - c90c: 9b09 ldr r3, [sp, #36] ; 0x24 - c90e: 930b str r3, [sp, #44] ; 0x2c + c8ea: f8df 813c ldr.w r8, [pc, #316] ; ca28 + c8ee: f8cd b040 str.w fp, [sp, #64] ; 0x40 + c8f2: 46bb mov fp, r7 + c8f4: 9b09 ldr r3, [sp, #36] ; 0x24 + c8f6: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - c910: 9a08 ldr r2, [sp, #32] - c912: 4629 mov r1, r5 - c914: 9f05 ldr r7, [sp, #20] - c916: 4638 mov r0, r7 - c918: 4c47 ldr r4, [pc, #284] ; (ca38 ) - c91a: 47a0 blx r4 + c8f8: 9a08 ldr r2, [sp, #32] + c8fa: 4629 mov r1, r5 + c8fc: 9f05 ldr r7, [sp, #20] + c8fe: 4638 mov r0, r7 + c900: 4c47 ldr r4, [pc, #284] ; (ca20 ) + c902: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - c91c: ac30 add r4, sp, #192 ; 0xc0 - c91e: 9b08 ldr r3, [sp, #32] - c920: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - c924: f934 1d38 ldrsh.w r1, [r4, #-56]! - c928: 9705 str r7, [sp, #20] - c92a: 4638 mov r0, r7 - c92c: 4f43 ldr r7, [pc, #268] ; (ca3c ) - c92e: 47b8 blx r7 + c904: ac30 add r4, sp, #192 ; 0xc0 + c906: 9b08 ldr r3, [sp, #32] + c908: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + c90c: f934 1d38 ldrsh.w r1, [r4, #-56]! + c910: 9705 str r7, [sp, #20] + c912: 4638 mov r0, r7 + c914: 4f43 ldr r7, [pc, #268] ; (ca24 ) + c916: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - c930: 2801 cmp r0, #1 - c932: bf08 it eq - c934: 2002 moveq r0, #2 + c918: 2801 cmp r0, #1 + c91a: bf08 it eq + c91c: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - c936: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - c93a: 9302 str r3, [sp, #8] - c93c: 9a0b ldr r2, [sp, #44] ; 0x2c - c93e: 9201 str r2, [sp, #4] - c940: 9000 str r0, [sp, #0] - c942: 9b05 ldr r3, [sp, #20] - c944: f8ba 201e ldrh.w r2, [sl, #30] - c948: 4621 mov r1, r4 - c94a: 9804 ldr r0, [sp, #16] - c94c: 47c0 blx r8 + c91e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + c922: 9302 str r3, [sp, #8] + c924: 9a0b ldr r2, [sp, #44] ; 0x2c + c926: 9201 str r2, [sp, #4] + c928: 9000 str r0, [sp, #0] + c92a: 9b05 ldr r3, [sp, #20] + c92c: f8ba 201e ldrh.w r2, [sl, #30] + c930: 4621 mov r1, r4 + c932: 9804 ldr r0, [sp, #16] + c934: 47c0 blx r8 fa.y1--; - c94e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - c952: 3b01 subs r3, #1 - c954: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + c936: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c93a: 3b01 subs r3, #1 + c93c: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2--; - c958: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - c95c: 3b01 subs r3, #1 - c95e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - c962: 444d add r5, r9 + c940: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + c944: 3b01 subs r3, #1 + c946: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c94a: 444d add r5, r9 for(y = 0; y < h; y++) { - c964: 3601 adds r6, #1 - c966: 455e cmp r6, fp - c968: d1d2 bne.n c910 - c96a: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 + c94c: 3601 adds r6, #1 + c94e: 455e cmp r6, fp + c950: d1d2 bne.n c8f8 + c952: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 a.x2 = sh_area.x2; - c96e: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c - c972: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + c956: f9bd 305c ldrsh.w r3, [sp, #92] ; 0x5c + c95a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.x1 = a.x2 - corner_size + 1; - c976: 3301 adds r3, #1 - c978: eba3 030b sub.w r3, r3, fp - c97c: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + c95e: 3301 adds r3, #1 + c960: eba3 030b sub.w r3, r3, fp + c964: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.y1 = sh_area.y1 + corner_size; - c980: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - c984: 445b add r3, fp - c986: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + c968: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + c96c: 445b add r3, fp + c96e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2 - corner_size; - c98a: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - c98e: eba3 030b sub.w r3, r3, fp - c992: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + c972: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + c976: eba3 030b sub.w r3, r3, fp + c97a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - c996: 9a04 ldr r2, [sp, #16] - c998: a91c add r1, sp, #112 ; 0x70 - c99a: a81e add r0, sp, #120 ; 0x78 - c99c: 4b25 ldr r3, [pc, #148] ; (ca34 ) - c99e: 4798 blx r3 + c97e: 9a04 ldr r2, [sp, #16] + c980: a91c add r1, sp, #112 ; 0x70 + c982: a81e add r0, sp, #120 ; 0x78 + c984: 4b25 ldr r3, [pc, #148] ; (ca1c ) + c986: 4798 blx r3 if(has_com) { - c9a0: 2800 cmp r0, #0 - c9a2: f000 8085 beq.w cab0 + c988: 2800 cmp r0, #0 + c98a: f000 8085 beq.w ca98 if(simple_mode) ca.x1 = LV_MATH_MAX(ca.x1, coords->x2); - c9a6: 9b07 ldr r3, [sp, #28] - c9a8: b14b cbz r3, c9be - c9aa: 9b06 ldr r3, [sp, #24] - c9ac: f9b3 3004 ldrsh.w r3, [r3, #4] - c9b0: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - c9b4: 4293 cmp r3, r2 - c9b6: bfb8 it lt - c9b8: 4613 movlt r3, r2 - c9ba: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + c98e: 9b07 ldr r3, [sp, #28] + c990: b14b cbz r3, c9a6 + c992: 9b06 ldr r3, [sp, #24] + c994: f9b3 3004 ldrsh.w r3, [r3, #4] + c998: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + c99c: 4293 cmp r3, r2 + c99e: bfb8 it lt + c9a0: 4613 movlt r3, r2 + c9a2: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - c9be: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - c9c2: f8bd 207c ldrh.w r2, [sp, #124] ; 0x7c - c9c6: 3201 adds r2, #1 - c9c8: 1ad2 subs r2, r2, r3 - c9ca: fa0f f882 sxth.w r8, r2 + c9a6: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + c9aa: f8bd 207c ldrh.w r2, [sp, #124] ; 0x7c + c9ae: 3201 adds r2, #1 + c9b0: 1ad2 subs r2, r2, r3 + c9b2: fa0f f882 sxth.w r8, r2 if(w > 0) { - c9ce: f1b8 0f00 cmp.w r8, #0 - c9d2: dd6d ble.n cab0 + c9b6: f1b8 0f00 cmp.w r8, #0 + c9ba: dd6d ble.n ca98 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - c9d4: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e - c9d8: 3401 adds r4, #1 - c9da: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a - c9de: 1aa4 subs r4, r4, r2 - c9e0: b224 sxth r4, r4 + c9bc: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e + c9c0: 3401 adds r4, #1 + c9c2: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a + c9c6: 1aa4 subs r4, r4, r2 + c9c8: b224 sxth r4, r4 sh_buf_tmp = sh_buf + corner_size * (corner_size - 1); - c9e2: f109 31ff add.w r1, r9, #4294967295 + c9ca: f109 31ff add.w r1, r9, #4294967295 sh_buf_tmp += ca.x1 - a.x1; - c9e6: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 - c9ea: 1a9b subs r3, r3, r2 - c9ec: fb09 3301 mla r3, r9, r1, r3 - c9f0: 9a0a ldr r2, [sp, #40] ; 0x28 - c9f2: 18d3 adds r3, r2, r3 - c9f4: 9308 str r3, [sp, #32] - c9f6: f10d 0277 add.w r2, sp, #119 ; 0x77 + c9ce: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 + c9d2: 1a9b subs r3, r3, r2 + c9d4: fb09 3301 mla r3, r9, r1, r3 + c9d8: 9a0a ldr r2, [sp, #40] ; 0x28 + c9da: 18d3 adds r3, r2, r3 + c9dc: 9308 str r3, [sp, #32] + c9de: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - c9fa: ab22 add r3, sp, #136 ; 0x88 + c9e2: ab22 add r3, sp, #136 ; 0x88 while(len) { - c9fc: a824 add r0, sp, #144 ; 0x90 + c9e4: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - c9fe: f812 1f01 ldrb.w r1, [r2, #1]! - ca02: f803 1b01 strb.w r1, [r3], #1 + c9e6: f812 1f01 ldrb.w r1, [r2, #1]! + c9ea: f803 1b01 strb.w r1, [r3], #1 while(len) { - ca06: 4283 cmp r3, r0 - ca08: d1f9 bne.n c9fe + c9ee: 4283 cmp r3, r0 + c9f0: d1f9 bne.n c9e6 fa.y2 = fa.y1; - ca0a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - ca0e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + c9f2: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + c9f6: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - ca12: 4625 mov r5, r4 - ca14: 2c00 cmp r4, #0 - ca16: dd4b ble.n cab0 - ca18: 2400 movs r4, #0 + c9fa: 4625 mov r5, r4 + c9fc: 2c00 cmp r4, #0 + c9fe: dd4b ble.n ca98 + ca00: 2400 movs r4, #0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - ca1a: 4f07 ldr r7, [pc, #28] ; (ca38 ) + ca02: 4f07 ldr r7, [pc, #28] ; (ca20 ) _lv_blend_fill(clip, &fa, - ca1c: f8cd 902c str.w r9, [sp, #44] ; 0x2c - ca20: 46a9 mov r9, r5 - ca22: 9d07 ldr r5, [sp, #28] - ca24: e03a b.n ca9c - ca26: bf00 nop - ca28: 0001293d .word 0x0001293d - ca2c: 0000c02d .word 0x0000c02d - ca30: 0000bdc1 .word 0x0000bdc1 - ca34: 00011519 .word 0x00011519 - ca38: 00012655 .word 0x00012655 - ca3c: 0000be1d .word 0x0000be1d - ca40: 00007751 .word 0x00007751 + ca04: f8cd 902c str.w r9, [sp, #44] ; 0x2c + ca08: 46a9 mov r9, r5 + ca0a: 9d07 ldr r5, [sp, #28] + ca0c: e03a b.n ca84 + ca0e: bf00 nop + ca10: 00012925 .word 0x00012925 + ca14: 0000c015 .word 0x0000c015 + ca18: 0000bda9 .word 0x0000bda9 + ca1c: 00011501 .word 0x00011501 + ca20: 0001263d .word 0x0001263d + ca24: 0000be05 .word 0x0000be05 + ca28: 00007739 .word 0x00007739 else if(dsc->shadow_ofs_x != 0 || dsc->shadow_ofs_y != 0) simple_mode = false; - ca44: 2300 movs r3, #0 - ca46: 9307 str r3, [sp, #28] - ca48: e662 b.n c710 - ca4a: 2300 movs r3, #0 - ca4c: 9307 str r3, [sp, #28] - ca4e: e65f b.n c710 + ca2c: 2300 movs r3, #0 + ca2e: 9307 str r3, [sp, #28] + ca30: e662 b.n c6f8 + ca32: 2300 movs r3, #0 + ca34: 9307 str r3, [sp, #28] + ca36: e65f b.n c6f8 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - ca50: 4643 mov r3, r8 - ca52: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - ca56: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - ca5a: 9805 ldr r0, [sp, #20] - ca5c: 4e23 ldr r6, [pc, #140] ; (caec ) - ca5e: 47b0 blx r6 + ca38: 4643 mov r3, r8 + ca3a: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + ca3e: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + ca42: 9805 ldr r0, [sp, #20] + ca44: 4e23 ldr r6, [pc, #140] ; (cad4 ) + ca46: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - ca60: 2801 cmp r0, #1 - ca62: bf08 it eq - ca64: 2002 moveq r0, #2 + ca48: 2801 cmp r0, #1 + ca4a: bf08 it eq + ca4c: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, - ca66: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - ca6a: 9302 str r3, [sp, #8] - ca6c: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 - ca70: 9301 str r3, [sp, #4] - ca72: 9000 str r0, [sp, #0] - ca74: 9b05 ldr r3, [sp, #20] - ca76: f8ba 201e ldrh.w r2, [sl, #30] - ca7a: a922 add r1, sp, #136 ; 0x88 - ca7c: 9804 ldr r0, [sp, #16] - ca7e: 4e1c ldr r6, [pc, #112] ; (caf0 ) - ca80: 47b0 blx r6 + ca4e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + ca52: 9302 str r3, [sp, #8] + ca54: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 + ca58: 9301 str r3, [sp, #4] + ca5a: 9000 str r0, [sp, #0] + ca5c: 9b05 ldr r3, [sp, #20] + ca5e: f8ba 201e ldrh.w r2, [sl, #30] + ca62: a922 add r1, sp, #136 ; 0x88 + ca64: 9804 ldr r0, [sp, #16] + ca66: 4e1c ldr r6, [pc, #112] ; (cad8 ) + ca68: 47b0 blx r6 fa.y1++; - ca82: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - ca86: 3301 adds r3, #1 - ca88: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + ca6a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + ca6e: 3301 adds r3, #1 + ca70: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - ca8c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - ca90: 3301 adds r3, #1 - ca92: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ca74: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + ca78: 3301 adds r3, #1 + ca7a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - ca96: 3401 adds r4, #1 - ca98: 454c cmp r4, r9 - ca9a: d007 beq.n caac + ca7e: 3401 adds r4, #1 + ca80: 454c cmp r4, r9 + ca82: d007 beq.n ca94 _lv_memcpy(mask_buf, sh_buf_tmp, w); - ca9c: 4642 mov r2, r8 - ca9e: 9908 ldr r1, [sp, #32] - caa0: 9805 ldr r0, [sp, #20] - caa2: 47b8 blx r7 + ca84: 4642 mov r2, r8 + ca86: 9908 ldr r1, [sp, #32] + ca88: 9805 ldr r0, [sp, #20] + ca8a: 47b8 blx r7 if(simple_mode) { - caa4: 2d00 cmp r5, #0 - caa6: d0d3 beq.n ca50 + ca8c: 2d00 cmp r5, #0 + ca8e: d0d3 beq.n ca38 mask_res = LV_DRAW_MASK_RES_CHANGED; - caa8: 2002 movs r0, #2 - caaa: e7dc b.n ca66 - caac: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c + ca90: 2002 movs r0, #2 + ca92: e7dc b.n ca4e + ca94: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c for(y = 0; y < corner_size; y++) { - cab0: f1b9 0f00 cmp.w r9, #0 - cab4: dd1e ble.n caf4 + ca98: f1b9 0f00 cmp.w r9, #0 + ca9c: dd1e ble.n cadc for(x = 0; x < corner_size / 2; x++) { - cab6: eb09 77d9 add.w r7, r9, r9, lsr #31 - caba: 107f asrs r7, r7, #1 - cabc: 9d0a ldr r5, [sp, #40] ; 0x28 - cabe: 2600 movs r6, #0 - cac0: e00c b.n cadc + ca9e: eb09 77d9 add.w r7, r9, r9, lsr #31 + caa2: 107f asrs r7, r7, #1 + caa4: 9d0a ldr r5, [sp, #40] ; 0x28 + caa6: 2600 movs r6, #0 + caa8: e00c b.n cac4 lv_opa_t tmp = sh_buf_tmp[x]; - cac2: 7819 ldrb r1, [r3, #0] + caaa: 7819 ldrb r1, [r3, #0] sh_buf_tmp[x] = sh_buf_tmp[corner_size - x - 1]; - cac4: f812 0c01 ldrb.w r0, [r2, #-1] - cac8: f803 0b01 strb.w r0, [r3], #1 + caac: f812 0c01 ldrb.w r0, [r2, #-1] + cab0: f803 0b01 strb.w r0, [r3], #1 sh_buf_tmp[corner_size - x - 1] = tmp; - cacc: f802 1d01 strb.w r1, [r2, #-1]! + cab4: f802 1d01 strb.w r1, [r2, #-1]! for(x = 0; x < corner_size / 2; x++) { - cad0: 42a3 cmp r3, r4 - cad2: d1f6 bne.n cac2 - cad4: 444d add r5, r9 + cab8: 42a3 cmp r3, r4 + caba: d1f6 bne.n caaa + cabc: 444d add r5, r9 for(y = 0; y < corner_size; y++) { - cad6: 3601 adds r6, #1 - cad8: 45b1 cmp r9, r6 - cada: d00b beq.n caf4 + cabe: 3601 adds r6, #1 + cac0: 45b1 cmp r9, r6 + cac2: d00b beq.n cadc for(x = 0; x < corner_size / 2; x++) { - cadc: 2f00 cmp r7, #0 - cade: ddf9 ble.n cad4 - cae0: 462b mov r3, r5 - cae2: eb05 0209 add.w r2, r5, r9 - cae6: 19ec adds r4, r5, r7 - cae8: e7eb b.n cac2 - caea: bf00 nop - caec: 0000be1d .word 0x0000be1d - caf0: 00007751 .word 0x00007751 + cac4: 2f00 cmp r7, #0 + cac6: ddf9 ble.n cabc + cac8: 462b mov r3, r5 + caca: eb05 0209 add.w r2, r5, r9 + cace: 19ec adds r4, r5, r7 + cad0: e7eb b.n caaa + cad2: bf00 nop + cad4: 0000be05 .word 0x0000be05 + cad8: 00007739 .word 0x00007739 a.x1 = sh_area.x1; - caf4: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 - caf8: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cadc: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 + cae0: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = a.x1 + corner_size - 1; - cafc: 3b01 subs r3, #1 - cafe: 445b add r3, fp - cb00: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cae4: 3b01 subs r3, #1 + cae6: 445b add r3, fp + cae8: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1; - cb04: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a - cb08: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + caec: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a + caf0: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = a.y1 + corner_size - 1; - cb0c: 3b01 subs r3, #1 - cb0e: 445b add r3, fp - cb10: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + caf4: 3b01 subs r3, #1 + caf6: 445b add r3, fp + caf8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - cb14: 9a04 ldr r2, [sp, #16] - cb16: a91c add r1, sp, #112 ; 0x70 - cb18: a81e add r0, sp, #120 ; 0x78 - cb1a: 4bae ldr r3, [pc, #696] ; (cdd4 ) - cb1c: 4798 blx r3 + cafc: 9a04 ldr r2, [sp, #16] + cafe: a91c add r1, sp, #112 ; 0x70 + cb00: a81e add r0, sp, #120 ; 0x78 + cb02: 4bae ldr r3, [pc, #696] ; (cdbc ) + cb04: 4798 blx r3 if(has_com) { - cb1e: 2800 cmp r0, #0 - cb20: d071 beq.n cc06 + cb06: 2800 cmp r0, #0 + cb08: d071 beq.n cbee if(ca.y2 > h_half) ca.y2 = h_half; - cb22: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - cb26: 990c ldr r1, [sp, #48] ; 0x30 - cb28: 428b cmp r3, r1 - cb2a: bfc4 itt gt - cb2c: 460b movgt r3, r1 - cb2e: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e + cb0a: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + cb0e: 990c ldr r1, [sp, #48] ; 0x30 + cb10: 428b cmp r3, r1 + cb12: bfc4 itt gt + cb14: 460b movgt r3, r1 + cb16: f8ad 307e strhgt.w r3, [sp, #126] ; 0x7e if(ca.x2 > w_half) ca.x2 = w_half; - cb32: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c - cb36: 990d ldr r1, [sp, #52] ; 0x34 - cb38: 428b cmp r3, r1 - cb3a: bfc4 itt gt - cb3c: 460b movgt r3, r1 - cb3e: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c + cb1a: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c + cb1e: 990d ldr r1, [sp, #52] ; 0x34 + cb20: 428b cmp r3, r1 + cb22: bfc4 itt gt + cb24: 460b movgt r3, r1 + cb26: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cb42: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - cb46: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - cb4a: 3301 adds r3, #1 - cb4c: 1a9b subs r3, r3, r2 - cb4e: b21b sxth r3, r3 - cb50: 9308 str r3, [sp, #32] + cb2a: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + cb2e: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + cb32: 3301 adds r3, #1 + cb34: 1a9b subs r3, r3, r2 + cb36: b21b sxth r3, r3 + cb38: 9308 str r3, [sp, #32] if(w > 0) { - cb52: 2b00 cmp r3, #0 - cb54: dd57 ble.n cc06 + cb3a: 2b00 cmp r3, #0 + cb3c: dd57 ble.n cbee return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cb56: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e - cb5a: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a + cb3e: f9bd 707e ldrsh.w r7, [sp, #126] ; 0x7e + cb42: f9bd 407a ldrsh.w r4, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (ca.y1 - a.y1); - cb5e: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 - cb62: 1b65 subs r5, r4, r5 + cb46: f9bd 5072 ldrsh.w r5, [sp, #114] ; 0x72 + cb4a: 1b65 subs r5, r4, r5 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - cb64: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - cb68: 1ad2 subs r2, r2, r3 + cb4c: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + cb50: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - cb6a: fb09 2505 mla r5, r9, r5, r2 - cb6e: 9b0a ldr r3, [sp, #40] ; 0x28 - cb70: 441d add r5, r3 - cb72: f10d 0277 add.w r2, sp, #119 ; 0x77 + cb52: fb09 2505 mla r5, r9, r5, r2 + cb56: 9b0a ldr r3, [sp, #40] ; 0x28 + cb58: 441d add r5, r3 + cb5a: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cb76: ab22 add r3, sp, #136 ; 0x88 + cb5e: ab22 add r3, sp, #136 ; 0x88 while(len) { - cb78: a824 add r0, sp, #144 ; 0x90 + cb60: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - cb7a: f812 1f01 ldrb.w r1, [r2, #1]! - cb7e: f803 1b01 strb.w r1, [r3], #1 + cb62: f812 1f01 ldrb.w r1, [r2, #1]! + cb66: f803 1b01 strb.w r1, [r3], #1 while(len) { - cb82: 4283 cmp r3, r0 - cb84: d1f9 bne.n cb7a + cb6a: 4283 cmp r3, r0 + cb6c: d1f9 bne.n cb62 fa.y2 = fa.y1; - cb86: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cb8a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - cb8e: 3701 adds r7, #1 - cb90: 1b3f subs r7, r7, r4 + cb6e: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cb72: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cb76: 3701 adds r7, #1 + cb78: 1b3f subs r7, r7, r4 for(y = 0; y < h; y++) { - cb92: b23f sxth r7, r7 - cb94: 2f00 cmp r7, #0 - cb96: dd36 ble.n cc06 - cb98: 2600 movs r6, #0 + cb7a: b23f sxth r7, r7 + cb7c: 2f00 cmp r7, #0 + cb7e: dd36 ble.n cbee + cb80: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cb9a: f8df 8244 ldr.w r8, [pc, #580] ; cde0 - cb9e: f8cd b040 str.w fp, [sp, #64] ; 0x40 - cba2: 46bb mov fp, r7 - cba4: 9b09 ldr r3, [sp, #36] ; 0x24 - cba6: 930b str r3, [sp, #44] ; 0x2c + cb82: f8df 8244 ldr.w r8, [pc, #580] ; cdc8 + cb86: f8cd b040 str.w fp, [sp, #64] ; 0x40 + cb8a: 46bb mov fp, r7 + cb8c: 9b09 ldr r3, [sp, #36] ; 0x24 + cb8e: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - cba8: 9a08 ldr r2, [sp, #32] - cbaa: 4629 mov r1, r5 - cbac: 9f05 ldr r7, [sp, #20] - cbae: 4638 mov r0, r7 - cbb0: 4c89 ldr r4, [pc, #548] ; (cdd8 ) - cbb2: 47a0 blx r4 + cb90: 9a08 ldr r2, [sp, #32] + cb92: 4629 mov r1, r5 + cb94: 9f05 ldr r7, [sp, #20] + cb96: 4638 mov r0, r7 + cb98: 4c89 ldr r4, [pc, #548] ; (cdc0 ) + cb9a: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - cbb4: ac30 add r4, sp, #192 ; 0xc0 - cbb6: 9b08 ldr r3, [sp, #32] - cbb8: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - cbbc: f934 1d38 ldrsh.w r1, [r4, #-56]! - cbc0: 9705 str r7, [sp, #20] - cbc2: 4638 mov r0, r7 - cbc4: 4f85 ldr r7, [pc, #532] ; (cddc ) - cbc6: 47b8 blx r7 + cb9c: ac30 add r4, sp, #192 ; 0xc0 + cb9e: 9b08 ldr r3, [sp, #32] + cba0: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + cba4: f934 1d38 ldrsh.w r1, [r4, #-56]! + cba8: 9705 str r7, [sp, #20] + cbaa: 4638 mov r0, r7 + cbac: 4f85 ldr r7, [pc, #532] ; (cdc4 ) + cbae: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - cbc8: 2801 cmp r0, #1 - cbca: bf08 it eq - cbcc: 2002 moveq r0, #2 + cbb0: 2801 cmp r0, #1 + cbb2: bf08 it eq + cbb4: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cbce: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - cbd2: 9302 str r3, [sp, #8] - cbd4: 9a0b ldr r2, [sp, #44] ; 0x2c - cbd6: 9201 str r2, [sp, #4] - cbd8: 9000 str r0, [sp, #0] - cbda: 9b05 ldr r3, [sp, #20] - cbdc: f8ba 201e ldrh.w r2, [sl, #30] - cbe0: 4621 mov r1, r4 - cbe2: 9804 ldr r0, [sp, #16] - cbe4: 47c0 blx r8 + cbb6: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cbba: 9302 str r3, [sp, #8] + cbbc: 9a0b ldr r2, [sp, #44] ; 0x2c + cbbe: 9201 str r2, [sp, #4] + cbc0: 9000 str r0, [sp, #0] + cbc2: 9b05 ldr r3, [sp, #20] + cbc4: f8ba 201e ldrh.w r2, [sl, #30] + cbc8: 4621 mov r1, r4 + cbca: 9804 ldr r0, [sp, #16] + cbcc: 47c0 blx r8 fa.y1++; - cbe6: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cbea: 3301 adds r3, #1 - cbec: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cbce: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cbd2: 3301 adds r3, #1 + cbd4: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - cbf0: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - cbf4: 3301 adds r3, #1 - cbf6: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - cbfa: 444d add r5, r9 + cbd8: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cbdc: 3301 adds r3, #1 + cbde: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cbe2: 444d add r5, r9 for(y = 0; y < h; y++) { - cbfc: 3601 adds r6, #1 - cbfe: 455e cmp r6, fp - cc00: d1d2 bne.n cba8 - cc02: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 + cbe4: 3601 adds r6, #1 + cbe6: 455e cmp r6, fp + cbe8: d1d2 bne.n cb90 + cbea: f8dd b040 ldr.w fp, [sp, #64] ; 0x40 a.x1 = sh_area.x1; - cc06: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 - cc0a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cbee: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 + cbf2: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = a.x1 + corner_size - 1; - cc0e: 3b01 subs r3, #1 - cc10: 445b add r3, fp - cc12: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cbf6: 3b01 subs r3, #1 + cbf8: 445b add r3, fp + cbfa: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y2 - corner_size + 1; - cc16: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e - cc1a: 1c53 adds r3, r2, #1 - cc1c: eba3 030b sub.w r3, r3, fp - cc20: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cbfe: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e + cc02: 1c53 adds r3, r2, #1 + cc04: eba3 030b sub.w r3, r3, fp + cc08: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2; - cc24: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + cc0c: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - cc28: 9a04 ldr r2, [sp, #16] - cc2a: a91c add r1, sp, #112 ; 0x70 - cc2c: a81e add r0, sp, #120 ; 0x78 - cc2e: 4b69 ldr r3, [pc, #420] ; (cdd4 ) - cc30: 4798 blx r3 + cc10: 9a04 ldr r2, [sp, #16] + cc12: a91c add r1, sp, #112 ; 0x70 + cc14: a81e add r0, sp, #120 ; 0x78 + cc16: 4b69 ldr r3, [pc, #420] ; (cdbc ) + cc18: 4798 blx r3 if(has_com) { - cc32: 2800 cmp r0, #0 - cc34: d072 beq.n cd1c + cc1a: 2800 cmp r0, #0 + cc1c: d072 beq.n cd04 if(ca.y1 <= h_half) ca.y1 = h_half + 1; - cc36: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a - cc3a: 9a0c ldr r2, [sp, #48] ; 0x30 - cc3c: 4293 cmp r3, r2 - cc3e: dc03 bgt.n cc48 - cc40: 9b0f ldr r3, [sp, #60] ; 0x3c - cc42: 3301 adds r3, #1 - cc44: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + cc1e: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a + cc22: 9a0c ldr r2, [sp, #48] ; 0x30 + cc24: 4293 cmp r3, r2 + cc26: dc03 bgt.n cc30 + cc28: 9b0f ldr r3, [sp, #60] ; 0x3c + cc2a: 3301 adds r3, #1 + cc2c: f8ad 307a strh.w r3, [sp, #122] ; 0x7a if(ca.x2 > w_half) ca.x2 = w_half; - cc48: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c - cc4c: 990d ldr r1, [sp, #52] ; 0x34 - cc4e: 428b cmp r3, r1 - cc50: bfc4 itt gt - cc52: 460b movgt r3, r1 - cc54: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c + cc30: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c + cc34: 990d ldr r1, [sp, #52] ; 0x34 + cc36: 428b cmp r3, r1 + cc38: bfc4 itt gt + cc3a: 460b movgt r3, r1 + cc3c: f8ad 307c strhgt.w r3, [sp, #124] ; 0x7c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cc58: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 - cc5c: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - cc60: 3301 adds r3, #1 - cc62: 1a9b subs r3, r3, r2 - cc64: b21b sxth r3, r3 - cc66: 9308 str r3, [sp, #32] + cc40: f9bd 2078 ldrsh.w r2, [sp, #120] ; 0x78 + cc44: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + cc48: 3301 adds r3, #1 + cc4a: 1a9b subs r3, r3, r2 + cc4c: b21b sxth r3, r3 + cc4e: 9308 str r3, [sp, #32] if(w > 0) { - cc68: 2b00 cmp r3, #0 - cc6a: dd57 ble.n cd1c + cc50: 2b00 cmp r3, #0 + cc52: dd57 ble.n cd04 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cc6c: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e - cc70: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a + cc54: f9bd 407e ldrsh.w r4, [sp, #126] ; 0x7e + cc58: f9bd 607a ldrsh.w r6, [sp, #122] ; 0x7a sh_buf_tmp += corner_size * (a.y2 - ca.y2); - cc74: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 - cc78: 1b2d subs r5, r5, r4 + cc5c: f9bd 5076 ldrsh.w r5, [sp, #118] ; 0x76 + cc60: 1b2d subs r5, r5, r4 sh_buf_tmp = sh_buf + (ca.x1 - a.x1); - cc7a: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 - cc7e: 1ad2 subs r2, r2, r3 + cc62: f9bd 3070 ldrsh.w r3, [sp, #112] ; 0x70 + cc66: 1ad2 subs r2, r2, r3 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - cc80: fb09 2505 mla r5, r9, r5, r2 - cc84: 9b0a ldr r3, [sp, #40] ; 0x28 - cc86: 441d add r5, r3 - cc88: f10d 0277 add.w r2, sp, #119 ; 0x77 + cc68: fb09 2505 mla r5, r9, r5, r2 + cc6c: 9b0a ldr r3, [sp, #40] ; 0x28 + cc6e: 441d add r5, r3 + cc70: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cc8c: ab22 add r3, sp, #136 ; 0x88 + cc74: ab22 add r3, sp, #136 ; 0x88 while(len) { - cc8e: a824 add r0, sp, #144 ; 0x90 + cc76: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - cc90: f812 1f01 ldrb.w r1, [r2, #1]! - cc94: f803 1b01 strb.w r1, [r3], #1 + cc78: f812 1f01 ldrb.w r1, [r2, #1]! + cc7c: f803 1b01 strb.w r1, [r3], #1 while(len) { - cc98: 4283 cmp r3, r0 - cc9a: d1f9 bne.n cc90 + cc80: 4283 cmp r3, r0 + cc82: d1f9 bne.n cc78 fa.y1 = fa.y2; /*Fill from bottom to top*/ - cc9c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - cca0: f8ad 308a strh.w r3, [sp, #138] ; 0x8a - cca4: 1c67 adds r7, r4, #1 - cca6: 1bbf subs r7, r7, r6 + cc84: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cc88: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cc8c: 1c67 adds r7, r4, #1 + cc8e: 1bbf subs r7, r7, r6 for(y = 0; y < h; y++) { - cca8: b23f sxth r7, r7 - ccaa: 2f00 cmp r7, #0 - ccac: dd36 ble.n cd1c - ccae: 2600 movs r6, #0 + cc90: b23f sxth r7, r7 + cc92: 2f00 cmp r7, #0 + cc94: dd36 ble.n cd04 + cc96: 2600 movs r6, #0 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - ccb0: f8df 812c ldr.w r8, [pc, #300] ; cde0 - ccb4: f8cd b030 str.w fp, [sp, #48] ; 0x30 - ccb8: 46bb mov fp, r7 - ccba: 9b09 ldr r3, [sp, #36] ; 0x24 - ccbc: 930b str r3, [sp, #44] ; 0x2c + cc98: f8df 812c ldr.w r8, [pc, #300] ; cdc8 + cc9c: f8cd b030 str.w fp, [sp, #48] ; 0x30 + cca0: 46bb mov fp, r7 + cca2: 9b09 ldr r3, [sp, #36] ; 0x24 + cca4: 930b str r3, [sp, #44] ; 0x2c _lv_memcpy(mask_buf, sh_buf_tmp, w); - ccbe: 9a08 ldr r2, [sp, #32] - ccc0: 4629 mov r1, r5 - ccc2: 9f05 ldr r7, [sp, #20] - ccc4: 4638 mov r0, r7 - ccc6: 4c44 ldr r4, [pc, #272] ; (cdd8 ) - ccc8: 47a0 blx r4 + cca6: 9a08 ldr r2, [sp, #32] + cca8: 4629 mov r1, r5 + ccaa: 9f05 ldr r7, [sp, #20] + ccac: 4638 mov r0, r7 + ccae: 4c44 ldr r4, [pc, #272] ; (cdc0 ) + ccb0: 47a0 blx r4 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - ccca: ac30 add r4, sp, #192 ; 0xc0 - cccc: 9b08 ldr r3, [sp, #32] - ccce: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - ccd2: f934 1d38 ldrsh.w r1, [r4, #-56]! - ccd6: 9705 str r7, [sp, #20] - ccd8: 4638 mov r0, r7 - ccda: 4f40 ldr r7, [pc, #256] ; (cddc ) - ccdc: 47b8 blx r7 + ccb2: ac30 add r4, sp, #192 ; 0xc0 + ccb4: 9b08 ldr r3, [sp, #32] + ccb6: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + ccba: f934 1d38 ldrsh.w r1, [r4, #-56]! + ccbe: 9705 str r7, [sp, #20] + ccc0: 4638 mov r0, r7 + ccc2: 4f40 ldr r7, [pc, #256] ; (cdc4 ) + ccc4: 47b8 blx r7 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - ccde: 2801 cmp r0, #1 - cce0: bf08 it eq - cce2: 2002 moveq r0, #2 + ccc6: 2801 cmp r0, #1 + ccc8: bf08 it eq + ccca: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cce4: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - cce8: 9302 str r3, [sp, #8] - ccea: 9a0b ldr r2, [sp, #44] ; 0x2c - ccec: 9201 str r2, [sp, #4] - ccee: 9000 str r0, [sp, #0] - ccf0: 9b05 ldr r3, [sp, #20] - ccf2: f8ba 201e ldrh.w r2, [sl, #30] - ccf6: 4621 mov r1, r4 - ccf8: 9804 ldr r0, [sp, #16] - ccfa: 47c0 blx r8 + cccc: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + ccd0: 9302 str r3, [sp, #8] + ccd2: 9a0b ldr r2, [sp, #44] ; 0x2c + ccd4: 9201 str r2, [sp, #4] + ccd6: 9000 str r0, [sp, #0] + ccd8: 9b05 ldr r3, [sp, #20] + ccda: f8ba 201e ldrh.w r2, [sl, #30] + ccde: 4621 mov r1, r4 + cce0: 9804 ldr r0, [sp, #16] + cce2: 47c0 blx r8 fa.y1--; - ccfc: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cd00: 3b01 subs r3, #1 - cd02: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cce4: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cce8: 3b01 subs r3, #1 + ccea: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2--; - cd06: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - cd0a: 3b01 subs r3, #1 - cd0c: f8ad 308e strh.w r3, [sp, #142] ; 0x8e - cd10: 444d add r5, r9 + ccee: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + ccf2: 3b01 subs r3, #1 + ccf4: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ccf8: 444d add r5, r9 for(y = 0; y < h; y++) { - cd12: 3601 adds r6, #1 - cd14: 455e cmp r6, fp - cd16: d1d2 bne.n ccbe - cd18: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 + ccfa: 3601 adds r6, #1 + ccfc: 455e cmp r6, fp + ccfe: d1d2 bne.n cca6 + cd00: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 a.x1 = sh_area.x1; - cd1c: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 - cd20: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cd04: f9bd 3058 ldrsh.w r3, [sp, #88] ; 0x58 + cd08: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = a.x1 + corner_size - 1; - cd24: 3b01 subs r3, #1 - cd26: 445b add r3, fp - cd28: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cd0c: 3b01 subs r3, #1 + cd0e: 445b add r3, fp + cd10: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1 + corner_size; - cd2c: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - cd30: 445b add r3, fp - cd32: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cd14: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + cd18: 445b add r3, fp + cd1a: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2 - corner_size; - cd36: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - cd3a: eba3 030b sub.w r3, r3, fp - cd3e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + cd1e: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + cd22: eba3 030b sub.w r3, r3, fp + cd26: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - cd42: 9a04 ldr r2, [sp, #16] - cd44: a91c add r1, sp, #112 ; 0x70 - cd46: a81e add r0, sp, #120 ; 0x78 - cd48: 4b22 ldr r3, [pc, #136] ; (cdd4 ) - cd4a: 4798 blx r3 + cd2a: 9a04 ldr r2, [sp, #16] + cd2c: a91c add r1, sp, #112 ; 0x70 + cd2e: a81e add r0, sp, #120 ; 0x78 + cd30: 4b22 ldr r3, [pc, #136] ; (cdbc ) + cd32: 4798 blx r3 if(has_com) { - cd4c: 2800 cmp r0, #0 - cd4e: d079 beq.n ce44 + cd34: 2800 cmp r0, #0 + cd36: d079 beq.n ce2c if(simple_mode) ca.x2 = LV_MATH_MIN(coords->x1, ca.x2); - cd50: 9b07 ldr r3, [sp, #28] - cd52: b14b cbz r3, cd68 - cd54: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c - cd58: 9a06 ldr r2, [sp, #24] - cd5a: f9b2 2000 ldrsh.w r2, [r2] - cd5e: 4293 cmp r3, r2 - cd60: bfa8 it ge - cd62: 4613 movge r3, r2 - cd64: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + cd38: 9b07 ldr r3, [sp, #28] + cd3a: b14b cbz r3, cd50 + cd3c: f9bd 307c ldrsh.w r3, [sp, #124] ; 0x7c + cd40: 9a06 ldr r2, [sp, #24] + cd42: f9b2 2000 ldrsh.w r2, [r2] + cd46: 4293 cmp r3, r2 + cd48: bfa8 it ge + cd4a: 4613 movge r3, r2 + cd4c: f8ad 307c strh.w r3, [sp, #124] ; 0x7c return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cd68: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 - cd6c: f8bd 807c ldrh.w r8, [sp, #124] ; 0x7c - cd70: f108 0801 add.w r8, r8, #1 - cd74: eba8 0803 sub.w r8, r8, r3 - cd78: fa0f f888 sxth.w r8, r8 + cd50: f9bd 3078 ldrsh.w r3, [sp, #120] ; 0x78 + cd54: f8bd 807c ldrh.w r8, [sp, #124] ; 0x7c + cd58: f108 0801 add.w r8, r8, #1 + cd5c: eba8 0803 sub.w r8, r8, r3 + cd60: fa0f f888 sxth.w r8, r8 if(w > 0) { - cd7c: f1b8 0f00 cmp.w r8, #0 - cd80: dd60 ble.n ce44 + cd64: f1b8 0f00 cmp.w r8, #0 + cd68: dd60 ble.n ce2c return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cd82: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e - cd86: 3401 adds r4, #1 - cd88: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a - cd8c: 1aa4 subs r4, r4, r2 - cd8e: b224 sxth r4, r4 + cd6a: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e + cd6e: 3401 adds r4, #1 + cd70: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a + cd74: 1aa4 subs r4, r4, r2 + cd76: b224 sxth r4, r4 sh_buf_tmp = sh_buf + corner_size * (corner_size - 1); - cd90: f109 31ff add.w r1, r9, #4294967295 + cd78: f109 31ff add.w r1, r9, #4294967295 sh_buf_tmp += ca.x1 - a.x1; - cd94: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 - cd98: 1a9b subs r3, r3, r2 - cd9a: fb09 3301 mla r3, r9, r1, r3 - cd9e: 9a0a ldr r2, [sp, #40] ; 0x28 - cda0: 18d3 adds r3, r2, r3 - cda2: 9308 str r3, [sp, #32] - cda4: f10d 0277 add.w r2, sp, #119 ; 0x77 + cd7c: f9bd 2070 ldrsh.w r2, [sp, #112] ; 0x70 + cd80: 1a9b subs r3, r3, r2 + cd82: fb09 3301 mla r3, r9, r1, r3 + cd86: 9a0a ldr r2, [sp, #40] ; 0x28 + cd88: 18d3 adds r3, r2, r3 + cd8a: 9308 str r3, [sp, #32] + cd8c: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cda8: ab22 add r3, sp, #136 ; 0x88 + cd90: ab22 add r3, sp, #136 ; 0x88 while(len) { - cdaa: a824 add r0, sp, #144 ; 0x90 + cd92: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - cdac: f812 1f01 ldrb.w r1, [r2, #1]! - cdb0: f803 1b01 strb.w r1, [r3], #1 + cd94: f812 1f01 ldrb.w r1, [r2, #1]! + cd98: f803 1b01 strb.w r1, [r3], #1 while(len) { - cdb4: 4283 cmp r3, r0 - cdb6: d1f9 bne.n cdac + cd9c: 4283 cmp r3, r0 + cd9e: d1f9 bne.n cd94 fa.y2 = fa.y1; - cdb8: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cdbc: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cda0: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cda4: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - cdc0: 4625 mov r5, r4 - cdc2: 2c00 cmp r4, #0 - cdc4: dd3e ble.n ce44 - cdc6: 2400 movs r4, #0 + cda8: 4625 mov r5, r4 + cdaa: 2c00 cmp r4, #0 + cdac: dd3e ble.n ce2c + cdae: 2400 movs r4, #0 _lv_memcpy(mask_buf, sh_buf_tmp, w); - cdc8: 4f03 ldr r7, [pc, #12] ; (cdd8 ) + cdb0: 4f03 ldr r7, [pc, #12] ; (cdc0 ) _lv_blend_fill(clip, &fa, - cdca: f8cd 902c str.w r9, [sp, #44] ; 0x2c - cdce: 46a9 mov r9, r5 - cdd0: 9d07 ldr r5, [sp, #28] - cdd2: e02d b.n ce30 - cdd4: 00011519 .word 0x00011519 - cdd8: 00012655 .word 0x00012655 - cddc: 0000be1d .word 0x0000be1d - cde0: 00007751 .word 0x00007751 + cdb2: f8cd 902c str.w r9, [sp, #44] ; 0x2c + cdb6: 46a9 mov r9, r5 + cdb8: 9d07 ldr r5, [sp, #28] + cdba: e02d b.n ce18 + cdbc: 00011501 .word 0x00011501 + cdc0: 0001263d .word 0x0001263d + cdc4: 0000be05 .word 0x0000be05 + cdc8: 00007739 .word 0x00007739 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - cde4: 4643 mov r3, r8 - cde6: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - cdea: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - cdee: 9805 ldr r0, [sp, #20] - cdf0: 4eaa ldr r6, [pc, #680] ; (d09c ) - cdf2: 47b0 blx r6 + cdcc: 4643 mov r3, r8 + cdce: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + cdd2: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + cdd6: 9805 ldr r0, [sp, #20] + cdd8: 4eaa ldr r6, [pc, #680] ; (d084 ) + cdda: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - cdf4: 2801 cmp r0, #1 - cdf6: bf08 it eq - cdf8: 2002 moveq r0, #2 + cddc: 2801 cmp r0, #1 + cdde: bf08 it eq + cde0: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, - cdfa: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - cdfe: 9302 str r3, [sp, #8] - ce00: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 - ce04: 9301 str r3, [sp, #4] - ce06: 9000 str r0, [sp, #0] - ce08: 9b05 ldr r3, [sp, #20] - ce0a: f8ba 201e ldrh.w r2, [sl, #30] - ce0e: a922 add r1, sp, #136 ; 0x88 - ce10: 9804 ldr r0, [sp, #16] - ce12: 4ea3 ldr r6, [pc, #652] ; (d0a0 ) - ce14: 47b0 blx r6 + cde2: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cde6: 9302 str r3, [sp, #8] + cde8: f89a 3028 ldrb.w r3, [sl, #40] ; 0x28 + cdec: 9301 str r3, [sp, #4] + cdee: 9000 str r0, [sp, #0] + cdf0: 9b05 ldr r3, [sp, #20] + cdf2: f8ba 201e ldrh.w r2, [sl, #30] + cdf6: a922 add r1, sp, #136 ; 0x88 + cdf8: 9804 ldr r0, [sp, #16] + cdfa: 4ea3 ldr r6, [pc, #652] ; (d088 ) + cdfc: 47b0 blx r6 fa.y1++; - ce16: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - ce1a: 3301 adds r3, #1 - ce1c: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cdfe: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + ce02: 3301 adds r3, #1 + ce04: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - ce20: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - ce24: 3301 adds r3, #1 - ce26: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + ce08: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + ce0c: 3301 adds r3, #1 + ce0e: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - ce2a: 3401 adds r4, #1 - ce2c: 454c cmp r4, r9 - ce2e: d007 beq.n ce40 + ce12: 3401 adds r4, #1 + ce14: 454c cmp r4, r9 + ce16: d007 beq.n ce28 _lv_memcpy(mask_buf, sh_buf_tmp, w); - ce30: 4642 mov r2, r8 - ce32: 9908 ldr r1, [sp, #32] - ce34: 9805 ldr r0, [sp, #20] - ce36: 47b8 blx r7 + ce18: 4642 mov r2, r8 + ce1a: 9908 ldr r1, [sp, #32] + ce1c: 9805 ldr r0, [sp, #20] + ce1e: 47b8 blx r7 if(simple_mode) { - ce38: 2d00 cmp r5, #0 - ce3a: d0d3 beq.n cde4 + ce20: 2d00 cmp r5, #0 + ce22: d0d3 beq.n cdcc mask_res = LV_DRAW_MASK_RES_CHANGED; - ce3c: 2002 movs r0, #2 - ce3e: e7dc b.n cdfa - ce40: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c + ce24: 2002 movs r0, #2 + ce26: e7dc b.n cde2 + ce28: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c a.x1 = sh_area.x1 + corner_size; - ce44: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - ce48: 445b add r3, fp - ce4a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + ce2c: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + ce30: 445b add r3, fp + ce32: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = sh_area.x2 - corner_size; - ce4e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - ce52: eba3 030b sub.w r3, r3, fp - ce56: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + ce36: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + ce3a: eba3 030b sub.w r3, r3, fp + ce3e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1; - ce5a: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a - ce5e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + ce42: f9bd 305a ldrsh.w r3, [sp, #90] ; 0x5a + ce46: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y1 + corner_size - 1; - ce62: 3b01 subs r3, #1 - ce64: 445b add r3, fp - ce66: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + ce4a: 3b01 subs r3, #1 + ce4c: 445b add r3, fp + ce4e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - ce6a: 9a04 ldr r2, [sp, #16] - ce6c: a91c add r1, sp, #112 ; 0x70 - ce6e: a81e add r0, sp, #120 ; 0x78 - ce70: 4b8c ldr r3, [pc, #560] ; (d0a4 ) - ce72: 4798 blx r3 + ce52: 9a04 ldr r2, [sp, #16] + ce54: a91c add r1, sp, #112 ; 0x70 + ce56: a81e add r0, sp, #120 ; 0x78 + ce58: 4b8c ldr r3, [pc, #560] ; (d08c ) + ce5a: 4798 blx r3 if(has_com) { - ce74: 2800 cmp r0, #0 - ce76: d07d beq.n cf74 + ce5c: 2800 cmp r0, #0 + ce5e: d07d beq.n cf5c if(simple_mode) ca.y2 = LV_MATH_MIN(ca.y2, coords->y1); - ce78: 9b07 ldr r3, [sp, #28] - ce7a: b14b cbz r3, ce90 - ce7c: 9b06 ldr r3, [sp, #24] - ce7e: f9b3 3002 ldrsh.w r3, [r3, #2] - ce82: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - ce86: 4293 cmp r3, r2 - ce88: bfa8 it ge - ce8a: 4613 movge r3, r2 - ce8c: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + ce60: 9b07 ldr r3, [sp, #28] + ce62: b14b cbz r3, ce78 + ce64: 9b06 ldr r3, [sp, #24] + ce66: f9b3 3002 ldrsh.w r3, [r3, #2] + ce6a: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + ce6e: 4293 cmp r3, r2 + ce70: bfa8 it ge + ce72: 4613 movge r3, r2 + ce74: f8ad 307e strh.w r3, [sp, #126] ; 0x7e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - ce90: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - ce94: 3301 adds r3, #1 - ce96: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 - ce9a: 1a9b subs r3, r3, r2 - ce9c: b21b sxth r3, r3 - ce9e: 9308 str r3, [sp, #32] + ce78: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + ce7c: 3301 adds r3, #1 + ce7e: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 + ce82: 1a9b subs r3, r3, r2 + ce84: b21b sxth r3, r3 + ce86: 9308 str r3, [sp, #32] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cea0: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a - cea4: f8bd 507e ldrh.w r5, [sp, #126] ; 0x7e - cea8: 3501 adds r5, #1 - ceaa: 1aed subs r5, r5, r3 - ceac: b22d sxth r5, r5 + ce88: f9bd 307a ldrsh.w r3, [sp, #122] ; 0x7a + ce8c: f8bd 507e ldrh.w r5, [sp, #126] ; 0x7e + ce90: 3501 adds r5, #1 + ce92: 1aed subs r5, r5, r3 + ce94: b22d sxth r5, r5 sh_buf_tmp = sh_buf + corner_size - 1; - ceae: 46c8 mov r8, r9 + ce96: 46c8 mov r8, r9 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - ceb0: f9bd 4072 ldrsh.w r4, [sp, #114] ; 0x72 - ceb4: 1b1c subs r4, r3, r4 + ce98: f9bd 4072 ldrsh.w r4, [sp, #114] ; 0x72 + ce9c: 1b1c subs r4, r3, r4 sh_buf_tmp = sh_buf + corner_size - 1; - ceb6: f109 33ff add.w r3, r9, #4294967295 + ce9e: f109 33ff add.w r3, r9, #4294967295 sh_buf_tmp += corner_size * (ca.y1 - a.y1); - ceba: fb09 3404 mla r4, r9, r4, r3 - cebe: 9b0a ldr r3, [sp, #40] ; 0x28 - cec0: 441c add r4, r3 - cec2: f10d 0277 add.w r2, sp, #119 ; 0x77 + cea2: fb09 3404 mla r4, r9, r4, r3 + cea6: 9b0a ldr r3, [sp, #40] ; 0x28 + cea8: 441c add r4, r3 + ceaa: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cec6: ab22 add r3, sp, #136 ; 0x88 + ceae: ab22 add r3, sp, #136 ; 0x88 while(len) { - cec8: a824 add r0, sp, #144 ; 0x90 + ceb0: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - ceca: f812 1f01 ldrb.w r1, [r2, #1]! - cece: f803 1b01 strb.w r1, [r3], #1 + ceb2: f812 1f01 ldrb.w r1, [r2, #1]! + ceb6: f803 1b01 strb.w r1, [r3], #1 while(len) { - ced2: 4283 cmp r3, r0 - ced4: d1f9 bne.n ceca + ceba: 4283 cmp r3, r0 + cebc: d1f9 bne.n ceb2 fa.y2 = fa.y1; - ced6: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - ceda: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cebe: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cec2: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - cede: 462b mov r3, r5 - cee0: 2d00 cmp r5, #0 - cee2: dd47 ble.n cf74 - cee4: 2500 movs r5, #0 + cec6: 462b mov r3, r5 + cec8: 2d00 cmp r5, #0 + ceca: dd47 ble.n cf5c + cecc: 2500 movs r5, #0 _lv_memset(mask_buf, opa_tmp, w); - cee6: 4f70 ldr r7, [pc, #448] ; (d0a8 ) + cece: 4f70 ldr r7, [pc, #448] ; (d090 ) _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cee8: f8cd 902c str.w r9, [sp, #44] ; 0x2c - ceec: f8dd 9024 ldr.w r9, [sp, #36] ; 0x24 - cef0: f8cd b030 str.w fp, [sp, #48] ; 0x30 - cef4: 469b mov fp, r3 - cef6: e02a b.n cf4e + ced0: f8cd 902c str.w r9, [sp, #44] ; 0x2c + ced4: f8dd 9024 ldr.w r9, [sp, #36] ; 0x24 + ced8: f8cd b030 str.w fp, [sp, #48] ; 0x30 + cedc: 469b mov fp, r3 + cede: e02a b.n cf36 if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - cef8: f1b9 0fff cmp.w r9, #255 ; 0xff - cefc: d12a bne.n cf54 + cee0: f1b9 0fff cmp.w r9, #255 ; 0xff + cee4: d12a bne.n cf3c lv_opa_t opa_tmp = sh_buf_tmp[0]; - cefe: 4649 mov r1, r9 - cf00: e02c b.n cf5c + cee6: 4649 mov r1, r9 + cee8: e02c b.n cf44 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - cf02: 9b08 ldr r3, [sp, #32] - cf04: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - cf08: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - cf0c: 9805 ldr r0, [sp, #20] - cf0e: 4e63 ldr r6, [pc, #396] ; (d09c ) - cf10: 47b0 blx r6 + ceea: 9b08 ldr r3, [sp, #32] + ceec: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + cef0: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + cef4: 9805 ldr r0, [sp, #20] + cef6: 4e63 ldr r6, [pc, #396] ; (d084 ) + cef8: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - cf12: 2801 cmp r0, #1 - cf14: bf08 it eq - cf16: 2002 moveq r0, #2 + cefa: 2801 cmp r0, #1 + cefc: bf08 it eq + cefe: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - cf18: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - cf1c: 9302 str r3, [sp, #8] - cf1e: 23ff movs r3, #255 ; 0xff - cf20: 9301 str r3, [sp, #4] - cf22: 9000 str r0, [sp, #0] - cf24: 9b05 ldr r3, [sp, #20] - cf26: f8ba 201e ldrh.w r2, [sl, #30] - cf2a: a922 add r1, sp, #136 ; 0x88 - cf2c: 9804 ldr r0, [sp, #16] - cf2e: 4e5c ldr r6, [pc, #368] ; (d0a0 ) - cf30: 47b0 blx r6 + cf00: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + cf04: 9302 str r3, [sp, #8] + cf06: 23ff movs r3, #255 ; 0xff + cf08: 9301 str r3, [sp, #4] + cf0a: 9000 str r0, [sp, #0] + cf0c: 9b05 ldr r3, [sp, #20] + cf0e: f8ba 201e ldrh.w r2, [sl, #30] + cf12: a922 add r1, sp, #136 ; 0x88 + cf14: 9804 ldr r0, [sp, #16] + cf16: 4e5c ldr r6, [pc, #368] ; (d088 ) + cf18: 47b0 blx r6 fa.y1++; - cf32: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - cf36: 3301 adds r3, #1 - cf38: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cf1a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + cf1e: 3301 adds r3, #1 + cf20: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - cf3c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - cf40: 3301 adds r3, #1 - cf42: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + cf24: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cf28: 3301 adds r3, #1 + cf2a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e sh_buf_tmp += corner_size; - cf46: 4444 add r4, r8 + cf2e: 4444 add r4, r8 for(y = 0; y < h; y++) { - cf48: 3501 adds r5, #1 - cf4a: 455d cmp r5, fp - cf4c: d00e beq.n cf6c + cf30: 3501 adds r5, #1 + cf32: 455d cmp r5, fp + cf34: d00e beq.n cf54 lv_opa_t opa_tmp = sh_buf_tmp[0]; - cf4e: 7823 ldrb r3, [r4, #0] + cf36: 7823 ldrb r3, [r4, #0] if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - cf50: 2bff cmp r3, #255 ; 0xff - cf52: d0d1 beq.n cef8 - cf54: fb03 f309 mul.w r3, r3, r9 - cf58: f3c3 2107 ubfx r1, r3, #8, #8 + cf38: 2bff cmp r3, #255 ; 0xff + cf3a: d0d1 beq.n cee0 + cf3c: fb03 f309 mul.w r3, r3, r9 + cf40: f3c3 2107 ubfx r1, r3, #8, #8 _lv_memset(mask_buf, opa_tmp, w); - cf5c: 9a08 ldr r2, [sp, #32] - cf5e: 9805 ldr r0, [sp, #20] - cf60: 47b8 blx r7 + cf44: 9a08 ldr r2, [sp, #32] + cf46: 9805 ldr r0, [sp, #20] + cf48: 47b8 blx r7 if(simple_mode) { - cf62: 9b07 ldr r3, [sp, #28] - cf64: 2b00 cmp r3, #0 - cf66: d0cc beq.n cf02 + cf4a: 9b07 ldr r3, [sp, #28] + cf4c: 2b00 cmp r3, #0 + cf4e: d0cc beq.n ceea mask_res = LV_DRAW_MASK_RES_CHANGED; - cf68: 2002 movs r0, #2 - cf6a: e7d5 b.n cf18 - cf6c: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c - cf70: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 + cf50: 2002 movs r0, #2 + cf52: e7d5 b.n cf00 + cf54: f8dd 902c ldr.w r9, [sp, #44] ; 0x2c + cf58: f8dd b030 ldr.w fp, [sp, #48] ; 0x30 a.x1 = sh_area.x1 + corner_size; - cf74: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - cf78: 445b add r3, fp - cf7a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + cf5c: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + cf60: 445b add r3, fp + cf62: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = sh_area.x2 - corner_size; - cf7e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - cf82: eba3 030b sub.w r3, r3, fp - cf86: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + cf66: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + cf6a: eba3 030b sub.w r3, r3, fp + cf6e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y2 - corner_size + 1; - cf8a: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e - cf8e: 1c53 adds r3, r2, #1 - cf90: eba3 030b sub.w r3, r3, fp - cf94: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + cf72: f9bd 205e ldrsh.w r2, [sp, #94] ; 0x5e + cf76: 1c53 adds r3, r2, #1 + cf78: eba3 030b sub.w r3, r3, fp + cf7c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2; - cf98: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + cf80: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - cf9c: 9a04 ldr r2, [sp, #16] - cf9e: a91c add r1, sp, #112 ; 0x70 - cfa0: a81e add r0, sp, #120 ; 0x78 - cfa2: 4b40 ldr r3, [pc, #256] ; (d0a4 ) - cfa4: 4798 blx r3 + cf84: 9a04 ldr r2, [sp, #16] + cf86: a91c add r1, sp, #112 ; 0x70 + cf88: a81e add r0, sp, #120 ; 0x78 + cf8a: 4b40 ldr r3, [pc, #256] ; (d08c ) + cf8c: 4798 blx r3 if(has_com) { - cfa6: 2800 cmp r0, #0 - cfa8: f000 8082 beq.w d0b0 + cf8e: 2800 cmp r0, #0 + cf90: f000 8082 beq.w d098 if(simple_mode) ca.y1 = LV_MATH_MAX(ca.y1, coords->y2); - cfac: 9b07 ldr r3, [sp, #28] - cfae: b14b cbz r3, cfc4 - cfb0: 9b06 ldr r3, [sp, #24] - cfb2: f9b3 3006 ldrsh.w r3, [r3, #6] - cfb6: f9bd 207a ldrsh.w r2, [sp, #122] ; 0x7a - cfba: 4293 cmp r3, r2 - cfbc: bfb8 it lt - cfbe: 4613 movlt r3, r2 - cfc0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + cf94: 9b07 ldr r3, [sp, #28] + cf96: b14b cbz r3, cfac + cf98: 9b06 ldr r3, [sp, #24] + cf9a: f9b3 3006 ldrsh.w r3, [r3, #6] + cf9e: f9bd 207a ldrsh.w r2, [sp, #122] ; 0x7a + cfa2: 4293 cmp r3, r2 + cfa4: bfb8 it lt + cfa6: 4613 movlt r3, r2 + cfa8: f8ad 307a strh.w r3, [sp, #122] ; 0x7a return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - cfc4: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c - cfc8: 3301 adds r3, #1 - cfca: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 - cfce: 1a9b subs r3, r3, r2 - cfd0: b21b sxth r3, r3 - cfd2: 9308 str r3, [sp, #32] + cfac: f8bd 307c ldrh.w r3, [sp, #124] ; 0x7c + cfb0: 3301 adds r3, #1 + cfb2: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 + cfb6: 1a9b subs r3, r3, r2 + cfb8: b21b sxth r3, r3 + cfba: 9308 str r3, [sp, #32] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - cfd4: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - cfd8: 1c5d adds r5, r3, #1 - cfda: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a - cfde: 1aad subs r5, r5, r2 - cfe0: b22d sxth r5, r5 + cfbc: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + cfc0: 1c5d adds r5, r3, #1 + cfc2: f8bd 207a ldrh.w r2, [sp, #122] ; 0x7a + cfc6: 1aad subs r5, r5, r2 + cfc8: b22d sxth r5, r5 sh_buf_tmp = sh_buf + corner_size - 1; - cfe2: 46c8 mov r8, r9 + cfca: 46c8 mov r8, r9 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - cfe4: f9bd 4076 ldrsh.w r4, [sp, #118] ; 0x76 - cfe8: 1ae4 subs r4, r4, r3 + cfcc: f9bd 4076 ldrsh.w r4, [sp, #118] ; 0x76 + cfd0: 1ae4 subs r4, r4, r3 sh_buf_tmp = sh_buf + corner_size - 1; - cfea: f109 33ff add.w r3, r9, #4294967295 + cfd2: f109 33ff add.w r3, r9, #4294967295 sh_buf_tmp += corner_size * (a.y2 - ca.y2); - cfee: fb09 3404 mla r4, r9, r4, r3 - cff2: 9b0a ldr r3, [sp, #40] ; 0x28 - cff4: 441c add r4, r3 - cff6: f10d 0277 add.w r2, sp, #119 ; 0x77 + cfd6: fb09 3404 mla r4, r9, r4, r3 + cfda: 9b0a ldr r3, [sp, #40] ; 0x28 + cfdc: 441c add r4, r3 + cfde: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - cffa: ab22 add r3, sp, #136 ; 0x88 + cfe2: ab22 add r3, sp, #136 ; 0x88 while(len) { - cffc: a824 add r0, sp, #144 ; 0x90 + cfe4: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - cffe: f812 1f01 ldrb.w r1, [r2, #1]! - d002: f803 1b01 strb.w r1, [r3], #1 + cfe6: f812 1f01 ldrb.w r1, [r2, #1]! + cfea: f803 1b01 strb.w r1, [r3], #1 while(len) { - d006: 4283 cmp r3, r0 - d008: d1f9 bne.n cffe + cfee: 4283 cmp r3, r0 + cff0: d1f9 bne.n cfe6 fa.y1 = fa.y2; - d00a: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d00e: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + cff2: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + cff6: f8ad 308a strh.w r3, [sp, #138] ; 0x8a for(y = 0; y < h; y++) { - d012: 46a9 mov r9, r5 - d014: 2d00 cmp r5, #0 - d016: dd4b ble.n d0b0 - d018: 2500 movs r5, #0 + cffa: 46a9 mov r9, r5 + cffc: 2d00 cmp r5, #0 + cffe: dd4b ble.n d098 + d000: 2500 movs r5, #0 _lv_memset(mask_buf, opa_tmp, w); - d01a: 4f23 ldr r7, [pc, #140] ; (d0a8 ) + d002: 4f23 ldr r7, [pc, #140] ; (d090 ) _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d01c: f8cd b02c str.w fp, [sp, #44] ; 0x2c - d020: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 - d024: e02a b.n d07c + d004: f8cd b02c str.w fp, [sp, #44] ; 0x2c + d008: f8dd b024 ldr.w fp, [sp, #36] ; 0x24 + d00c: e02a b.n d064 if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - d026: f1bb 0fff cmp.w fp, #255 ; 0xff - d02a: d12a bne.n d082 + d00e: f1bb 0fff cmp.w fp, #255 ; 0xff + d012: d12a bne.n d06a lv_opa_t opa_tmp = sh_buf_tmp[0]; - d02c: 4659 mov r1, fp - d02e: e02c b.n d08a + d014: 4659 mov r1, fp + d016: e02c b.n d072 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d030: 9b08 ldr r3, [sp, #32] - d032: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d036: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 - d03a: 9805 ldr r0, [sp, #20] - d03c: 4e17 ldr r6, [pc, #92] ; (d09c ) - d03e: 47b0 blx r6 + d018: 9b08 ldr r3, [sp, #32] + d01a: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + d01e: f9bd 1088 ldrsh.w r1, [sp, #136] ; 0x88 + d022: 9805 ldr r0, [sp, #20] + d024: 4e17 ldr r6, [pc, #92] ; (d084 ) + d026: 47b0 blx r6 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d040: 2801 cmp r0, #1 - d042: bf08 it eq - d044: 2002 moveq r0, #2 + d028: 2801 cmp r0, #1 + d02a: bf08 it eq + d02c: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d046: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d04a: 9302 str r3, [sp, #8] - d04c: 23ff movs r3, #255 ; 0xff - d04e: 9301 str r3, [sp, #4] - d050: 9000 str r0, [sp, #0] - d052: 9b05 ldr r3, [sp, #20] - d054: f8ba 201e ldrh.w r2, [sl, #30] - d058: a922 add r1, sp, #136 ; 0x88 - d05a: 9804 ldr r0, [sp, #16] - d05c: 4e10 ldr r6, [pc, #64] ; (d0a0 ) - d05e: 47b0 blx r6 + d02e: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + d032: 9302 str r3, [sp, #8] + d034: 23ff movs r3, #255 ; 0xff + d036: 9301 str r3, [sp, #4] + d038: 9000 str r0, [sp, #0] + d03a: 9b05 ldr r3, [sp, #20] + d03c: f8ba 201e ldrh.w r2, [sl, #30] + d040: a922 add r1, sp, #136 ; 0x88 + d042: 9804 ldr r0, [sp, #16] + d044: 4e10 ldr r6, [pc, #64] ; (d088 ) + d046: 47b0 blx r6 fa.y1--; - d060: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d064: 3b01 subs r3, #1 - d066: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d048: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + d04c: 3b01 subs r3, #1 + d04e: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2--; - d06a: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d06e: 3b01 subs r3, #1 - d070: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d052: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + d056: 3b01 subs r3, #1 + d058: f8ad 308e strh.w r3, [sp, #142] ; 0x8e sh_buf_tmp += corner_size; - d074: 4444 add r4, r8 + d05c: 4444 add r4, r8 for(y = 0; y < h; y++) { - d076: 3501 adds r5, #1 - d078: 454d cmp r5, r9 - d07a: d017 beq.n d0ac + d05e: 3501 adds r5, #1 + d060: 454d cmp r5, r9 + d062: d017 beq.n d094 lv_opa_t opa_tmp = sh_buf_tmp[0]; - d07c: 7823 ldrb r3, [r4, #0] + d064: 7823 ldrb r3, [r4, #0] if(opa_tmp != LV_OPA_COVER || opa != LV_OPA_COVER) opa_tmp = (opa * opa_tmp) >> 8; - d07e: 2bff cmp r3, #255 ; 0xff - d080: d0d1 beq.n d026 - d082: fb03 f30b mul.w r3, r3, fp - d086: f3c3 2107 ubfx r1, r3, #8, #8 + d066: 2bff cmp r3, #255 ; 0xff + d068: d0d1 beq.n d00e + d06a: fb03 f30b mul.w r3, r3, fp + d06e: f3c3 2107 ubfx r1, r3, #8, #8 _lv_memset(mask_buf, opa_tmp, w); - d08a: 9a08 ldr r2, [sp, #32] - d08c: 9805 ldr r0, [sp, #20] - d08e: 47b8 blx r7 + d072: 9a08 ldr r2, [sp, #32] + d074: 9805 ldr r0, [sp, #20] + d076: 47b8 blx r7 if(simple_mode) { - d090: 9b07 ldr r3, [sp, #28] - d092: 2b00 cmp r3, #0 - d094: d0cc beq.n d030 + d078: 9b07 ldr r3, [sp, #28] + d07a: 2b00 cmp r3, #0 + d07c: d0cc beq.n d018 mask_res = LV_DRAW_MASK_RES_CHANGED; - d096: 2002 movs r0, #2 - d098: e7d5 b.n d046 - d09a: bf00 nop - d09c: 0000be1d .word 0x0000be1d - d0a0: 00007751 .word 0x00007751 - d0a4: 00011519 .word 0x00011519 - d0a8: 00012a81 .word 0x00012a81 - d0ac: f8dd b02c ldr.w fp, [sp, #44] ; 0x2c + d07e: 2002 movs r0, #2 + d080: e7d5 b.n d02e + d082: bf00 nop + d084: 0000be05 .word 0x0000be05 + d088: 00007739 .word 0x00007739 + d08c: 00011501 .word 0x00011501 + d090: 00012a69 .word 0x00012a69 + d094: f8dd b02c ldr.w fp, [sp, #44] ; 0x2c a.x1 = sh_area.x1 + corner_size; - d0b0: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - d0b4: 445b add r3, fp - d0b6: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + d098: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + d09c: 445b add r3, fp + d09e: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 a.x2 = sh_area.x2 - corner_size; - d0ba: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - d0be: eba3 030b sub.w r3, r3, fp - d0c2: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + d0a2: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + d0a6: eba3 030b sub.w r3, r3, fp + d0aa: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 a.y1 = sh_area.y1 + corner_size; - d0c6: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - d0ca: 445b add r3, fp - d0cc: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + d0ae: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + d0b2: 445b add r3, fp + d0b4: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 a.y2 = sh_area.y2 - corner_size; - d0d0: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - d0d4: eba3 0b0b sub.w fp, r3, fp - d0d8: f8ad b076 strh.w fp, [sp, #118] ; 0x76 + d0b8: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + d0bc: eba3 0b0b sub.w fp, r3, fp + d0c0: f8ad b076 strh.w fp, [sp, #118] ; 0x76 has_com = _lv_area_intersect(&ca, &a, clip); - d0dc: 9a04 ldr r2, [sp, #16] - d0de: a91c add r1, sp, #112 ; 0x70 - d0e0: a81e add r0, sp, #120 ; 0x78 - d0e2: 4ba2 ldr r3, [pc, #648] ; (d36c ) - d0e4: 4798 blx r3 + d0c4: 9a04 ldr r2, [sp, #16] + d0c6: a91c add r1, sp, #112 ; 0x70 + d0c8: a81e add r0, sp, #120 ; 0x78 + d0ca: 4ba2 ldr r3, [pc, #648] ; (d354 ) + d0cc: 4798 blx r3 if(has_com && simple_mode == false) { - d0e6: 2800 cmp r0, #0 - d0e8: d050 beq.n d18c - d0ea: 9b07 ldr r3, [sp, #28] - d0ec: 2b00 cmp r3, #0 - d0ee: d14d bne.n d18c + d0ce: 2800 cmp r0, #0 + d0d0: d050 beq.n d174 + d0d2: 9b07 ldr r3, [sp, #28] + d0d4: 2b00 cmp r3, #0 + d0d6: d14d bne.n d174 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d0f0: f8bd 607c ldrh.w r6, [sp, #124] ; 0x7c - d0f4: 3601 adds r6, #1 - d0f6: f8bd 3078 ldrh.w r3, [sp, #120] ; 0x78 - d0fa: 1af6 subs r6, r6, r3 - d0fc: b236 sxth r6, r6 + d0d8: f8bd 607c ldrh.w r6, [sp, #124] ; 0x7c + d0dc: 3601 adds r6, #1 + d0de: f8bd 3078 ldrh.w r3, [sp, #120] ; 0x78 + d0e2: 1af6 subs r6, r6, r3 + d0e4: b236 sxth r6, r6 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d0fe: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e - d102: 3401 adds r4, #1 - d104: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - d108: 1ae4 subs r4, r4, r3 - d10a: b224 sxth r4, r4 - d10c: f10d 0277 add.w r2, sp, #119 ; 0x77 + d0e6: f8bd 407e ldrh.w r4, [sp, #126] ; 0x7e + d0ea: 3401 adds r4, #1 + d0ec: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + d0f0: 1ae4 subs r4, r4, r3 + d0f2: b224 sxth r4, r4 + d0f4: f10d 0277 add.w r2, sp, #119 ; 0x77 uint8_t * d8 = (uint8_t *)dst; - d110: ab22 add r3, sp, #136 ; 0x88 + d0f8: ab22 add r3, sp, #136 ; 0x88 while(len) { - d112: a824 add r0, sp, #144 ; 0x90 + d0fa: a824 add r0, sp, #144 ; 0x90 *d8 = *s8; - d114: f812 1f01 ldrb.w r1, [r2, #1]! - d118: f803 1b01 strb.w r1, [r3], #1 + d0fc: f812 1f01 ldrb.w r1, [r2, #1]! + d100: f803 1b01 strb.w r1, [r3], #1 while(len) { - d11c: 4283 cmp r3, r0 - d11e: d1f9 bne.n d114 + d104: 4283 cmp r3, r0 + d106: d1f9 bne.n d0fc fa.y2 = fa.y1; - d120: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d124: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d108: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + d10c: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d128: 46a3 mov fp, r4 - d12a: 2c00 cmp r4, #0 - d12c: dd2e ble.n d18c - d12e: 2500 movs r5, #0 + d110: 46a3 mov fp, r4 + d112: 2c00 cmp r4, #0 + d114: dd2e ble.n d174 + d116: 2500 movs r5, #0 _lv_memset(mask_buf, dsc->shadow_opa, w); - d130: f8df 9254 ldr.w r9, [pc, #596] ; d388 + d118: f8df 9254 ldr.w r9, [pc, #596] ; d370 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d134: f8df 8254 ldr.w r8, [pc, #596] ; d38c + d11c: f8df 8254 ldr.w r8, [pc, #596] ; d374 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d138: 4f8d ldr r7, [pc, #564] ; (d370 ) + d120: 4f8d ldr r7, [pc, #564] ; (d358 ) _lv_memset(mask_buf, dsc->shadow_opa, w); - d13a: 4632 mov r2, r6 - d13c: f89a 1028 ldrb.w r1, [sl, #40] ; 0x28 - d140: 9805 ldr r0, [sp, #20] - d142: 47c8 blx r9 + d122: 4632 mov r2, r6 + d124: f89a 1028 ldrb.w r1, [sl, #40] ; 0x28 + d128: 9805 ldr r0, [sp, #20] + d12a: 47c8 blx r9 mask_res = lv_draw_mask_apply(mask_buf, fa.x1, fa.y1, w); - d144: ac30 add r4, sp, #192 ; 0xc0 - d146: 4633 mov r3, r6 - d148: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a - d14c: f934 1d38 ldrsh.w r1, [r4, #-56]! - d150: 9805 ldr r0, [sp, #20] - d152: 47c0 blx r8 + d12c: ac30 add r4, sp, #192 ; 0xc0 + d12e: 4633 mov r3, r6 + d130: f9bd 208a ldrsh.w r2, [sp, #138] ; 0x8a + d134: f934 1d38 ldrsh.w r1, [r4, #-56]! + d138: 9805 ldr r0, [sp, #20] + d13a: 47c0 blx r8 if(mask_res == LV_DRAW_MASK_RES_FULL_COVER) mask_res = LV_DRAW_MASK_RES_CHANGED; - d154: 2801 cmp r0, #1 - d156: bf08 it eq - d158: 2002 moveq r0, #2 + d13c: 2801 cmp r0, #1 + d13e: bf08 it eq + d140: 2002 moveq r0, #2 _lv_blend_fill(clip, &fa, dsc->shadow_color, mask_buf, - d15a: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 - d15e: 9302 str r3, [sp, #8] - d160: 23ff movs r3, #255 ; 0xff - d162: 9301 str r3, [sp, #4] - d164: 9000 str r0, [sp, #0] - d166: 9b05 ldr r3, [sp, #20] - d168: f8ba 201e ldrh.w r2, [sl, #30] - d16c: 4621 mov r1, r4 - d16e: 9804 ldr r0, [sp, #16] - d170: 47b8 blx r7 + d142: f89a 3029 ldrb.w r3, [sl, #41] ; 0x29 + d146: 9302 str r3, [sp, #8] + d148: 23ff movs r3, #255 ; 0xff + d14a: 9301 str r3, [sp, #4] + d14c: 9000 str r0, [sp, #0] + d14e: 9b05 ldr r3, [sp, #20] + d150: f8ba 201e ldrh.w r2, [sl, #30] + d154: 4621 mov r1, r4 + d156: 9804 ldr r0, [sp, #16] + d158: 47b8 blx r7 fa.y1++; - d172: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a - d176: 3301 adds r3, #1 - d178: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d15a: f8bd 308a ldrh.w r3, [sp, #138] ; 0x8a + d15e: 3301 adds r3, #1 + d160: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fa.y2++; - d17c: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e - d180: 3301 adds r3, #1 - d182: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d164: f8bd 308e ldrh.w r3, [sp, #142] ; 0x8e + d168: 3301 adds r3, #1 + d16a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e for(y = 0; y < h; y++) { - d186: 3501 adds r5, #1 - d188: 455d cmp r5, fp - d18a: d1d6 bne.n d13a + d16e: 3501 adds r5, #1 + d170: 455d cmp r5, fp + d172: d1d6 bne.n d122 lv_draw_mask_remove_id(mask_rout_id); - d18c: 980e ldr r0, [sp, #56] ; 0x38 - d18e: 4b79 ldr r3, [pc, #484] ; (d374 ) - d190: 4798 blx r3 + d174: 980e ldr r0, [sp, #56] ; 0x38 + d176: 4b79 ldr r3, [pc, #484] ; (d35c ) + d178: 4798 blx r3 _lv_mem_buf_release(mask_buf); - d192: 9805 ldr r0, [sp, #20] - d194: 4c78 ldr r4, [pc, #480] ; (d378 ) - d196: 47a0 blx r4 + d17a: 9805 ldr r0, [sp, #20] + d17c: 4c78 ldr r4, [pc, #480] ; (d360 ) + d17e: 47a0 blx r4 _lv_mem_buf_release(sh_buf); - d198: 980a ldr r0, [sp, #40] ; 0x28 - d19a: 47a0 blx r4 + d180: 980a ldr r0, [sp, #40] ; 0x28 + d182: 47a0 blx r4 if(dsc->bg_opa <= LV_OPA_MIN) return; - d19c: f89a 700c ldrb.w r7, [sl, #12] - d1a0: 2f05 cmp r7, #5 - d1a2: d942 bls.n d22a - d1a4: 9a06 ldr r2, [sp, #24] - d1a6: 1e53 subs r3, r2, #1 - d1a8: 1dd0 adds r0, r2, #7 - d1aa: aa1a add r2, sp, #104 ; 0x68 + d184: f89a 700c ldrb.w r7, [sl, #12] + d188: 2f05 cmp r7, #5 + d18a: d942 bls.n d212 + d18c: 9a06 ldr r2, [sp, #24] + d18e: 1e53 subs r3, r2, #1 + d190: 1dd0 adds r0, r2, #7 + d192: aa1a add r2, sp, #104 ; 0x68 *d8 = *s8; - d1ac: f813 1f01 ldrb.w r1, [r3, #1]! - d1b0: f802 1b01 strb.w r1, [r2], #1 + d194: f813 1f01 ldrb.w r1, [r3, #1]! + d198: f802 1b01 strb.w r1, [r2], #1 while(len) { - d1b4: 4298 cmp r0, r3 - d1b6: d1f9 bne.n d1ac + d19c: 4298 cmp r0, r3 + d19e: d1f9 bne.n d194 if(dsc->border_width > 1 && dsc->border_opa >= LV_OPA_MAX && dsc->radius != 0) { - d1b8: f9ba 3010 ldrsh.w r3, [sl, #16] - d1bc: 2b01 cmp r3, #1 - d1be: dd24 ble.n d20a - d1c0: f89a 3014 ldrb.w r3, [sl, #20] - d1c4: 2bf9 cmp r3, #249 ; 0xf9 - d1c6: d920 bls.n d20a - d1c8: f9ba 3000 ldrsh.w r3, [sl] - d1cc: b1eb cbz r3, d20a + d1a0: f9ba 3010 ldrsh.w r3, [sl, #16] + d1a4: 2b01 cmp r3, #1 + d1a6: dd24 ble.n d1f2 + d1a8: f89a 3014 ldrb.w r3, [sl, #20] + d1ac: 2bf9 cmp r3, #249 ; 0xf9 + d1ae: d920 bls.n d1f2 + d1b0: f9ba 3000 ldrsh.w r3, [sl] + d1b4: b1eb cbz r3, d1f2 coords_bg.x1 += (dsc->border_side & LV_BORDER_SIDE_LEFT) ? 1 : 0; - d1ce: f8ba 3012 ldrh.w r3, [sl, #18] - d1d2: f3c3 0280 ubfx r2, r3, #2, #1 - d1d6: f8bd 1068 ldrh.w r1, [sp, #104] ; 0x68 - d1da: 440a add r2, r1 - d1dc: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 + d1b6: f8ba 3012 ldrh.w r3, [sl, #18] + d1ba: f3c3 0280 ubfx r2, r3, #2, #1 + d1be: f8bd 1068 ldrh.w r1, [sp, #104] ; 0x68 + d1c2: 440a add r2, r1 + d1c4: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 coords_bg.y1 += (dsc->border_side & LV_BORDER_SIDE_TOP) ? 1 : 0; - d1e0: f3c3 0240 ubfx r2, r3, #1, #1 - d1e4: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a - d1e8: 440a add r2, r1 - d1ea: f8ad 206a strh.w r2, [sp, #106] ; 0x6a + d1c8: f3c3 0240 ubfx r2, r3, #1, #1 + d1cc: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a + d1d0: 440a add r2, r1 + d1d2: f8ad 206a strh.w r2, [sp, #106] ; 0x6a coords_bg.x2 -= (dsc->border_side & LV_BORDER_SIDE_RIGHT) ? 1 : 0; - d1ee: f3c3 01c0 ubfx r1, r3, #3, #1 - d1f2: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c - d1f6: 1a52 subs r2, r2, r1 - d1f8: f8ad 206c strh.w r2, [sp, #108] ; 0x6c + d1d6: f3c3 01c0 ubfx r1, r3, #3, #1 + d1da: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c + d1de: 1a52 subs r2, r2, r1 + d1e0: f8ad 206c strh.w r2, [sp, #108] ; 0x6c coords_bg.y2 -= (dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? 1 : 0; - d1fc: f003 0301 and.w r3, r3, #1 - d200: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e - d204: 1ad3 subs r3, r2, r3 - d206: f8ad 306e strh.w r3, [sp, #110] ; 0x6e + d1e4: f003 0301 and.w r3, r3, #1 + d1e8: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e + d1ec: 1ad3 subs r3, r2, r3 + d1ee: f8ad 306e strh.w r3, [sp, #110] ; 0x6e if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - d20a: 2ffb cmp r7, #251 ; 0xfb - d20c: bf28 it cs - d20e: 27ff movcs r7, #255 ; 0xff + d1f2: 2ffb cmp r7, #251 ; 0xfb + d1f4: bf28 it cs + d1f6: 27ff movcs r7, #255 ; 0xff lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - d210: 4b5a ldr r3, [pc, #360] ; (d37c ) - d212: 4798 blx r3 + d1f8: 4b5a ldr r3, [pc, #360] ; (d364 ) + d1fa: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - d214: 4b5a ldr r3, [pc, #360] ; (d380 ) - d216: 4798 blx r3 - d218: 4680 mov r8, r0 + d1fc: 4b5a ldr r3, [pc, #360] ; (d368 ) + d1fe: 4798 blx r3 + d200: 4680 mov r8, r0 is_common = _lv_area_intersect(&draw_area, &coords_bg, clip); - d21a: 9a04 ldr r2, [sp, #16] - d21c: a91a add r1, sp, #104 ; 0x68 - d21e: a81c add r0, sp, #112 ; 0x70 - d220: 4b52 ldr r3, [pc, #328] ; (d36c ) - d222: 4798 blx r3 + d202: 9a04 ldr r2, [sp, #16] + d204: a91a add r1, sp, #104 ; 0x68 + d206: a81c add r0, sp, #112 ; 0x70 + d208: 4b52 ldr r3, [pc, #328] ; (d354 ) + d20a: 4798 blx r3 if(is_common == false) return; - d224: 2800 cmp r0, #0 - d226: f040 80b3 bne.w d390 + d20c: 2800 cmp r0, #0 + d20e: f040 80b3 bne.w d378 _lv_mem_buf_release(mask_buf); } static void draw_pattern(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) { if(dsc->pattern_image == NULL) return; - d22a: f8da 002c ldr.w r0, [sl, #44] ; 0x2c - d22e: b120 cbz r0, d23a + d212: f8da 002c ldr.w r0, [sl, #44] ; 0x2c + d216: b120 cbz r0, d222 if(dsc->pattern_opa <= LV_OPA_MIN) return; - d230: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 - d234: 2b05 cmp r3, #5 - d236: f200 83eb bhi.w da10 + d218: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 + d21c: 2b05 cmp r3, #5 + d21e: f200 83eb bhi.w d9f8 if(dsc->border_opa <= LV_OPA_MIN) return; - d23a: f89a 4014 ldrb.w r4, [sl, #20] - d23e: 2c05 cmp r4, #5 - d240: d915 bls.n d26e + d222: f89a 4014 ldrb.w r4, [sl, #20] + d226: 2c05 cmp r4, #5 + d228: d915 bls.n d256 if(dsc->border_width == 0) return; - d242: f9ba 3010 ldrsh.w r3, [sl, #16] - d246: b193 cbz r3, d26e + d22a: f9ba 3010 ldrsh.w r3, [sl, #16] + d22e: b193 cbz r3, d256 if(dsc->border_side == LV_BORDER_SIDE_NONE) return; - d248: f9ba 3012 ldrsh.w r3, [sl, #18] - d24c: b17b cbz r3, d26e + d230: f9ba 3012 ldrsh.w r3, [sl, #18] + d234: b17b cbz r3, d256 if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - d24e: 2cfb cmp r4, #251 ; 0xfb - d250: bf28 it cs - d252: 24ff movcs r4, #255 ; 0xff + d236: 2cfb cmp r4, #251 ; 0xfb + d238: bf28 it cs + d23a: 24ff movcs r4, #255 ; 0xff lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - d254: 4b49 ldr r3, [pc, #292] ; (d37c ) - d256: 4798 blx r3 + d23c: 4b49 ldr r3, [pc, #292] ; (d364 ) + d23e: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - d258: 4b49 ldr r3, [pc, #292] ; (d380 ) - d25a: 4798 blx r3 - d25c: 4605 mov r5, r0 + d240: 4b49 ldr r3, [pc, #292] ; (d368 ) + d242: 4798 blx r3 + d244: 4605 mov r5, r0 is_common = _lv_area_intersect(&draw_area, coords, clip); - d25e: 9a04 ldr r2, [sp, #16] - d260: 9906 ldr r1, [sp, #24] - d262: a818 add r0, sp, #96 ; 0x60 - d264: 4b41 ldr r3, [pc, #260] ; (d36c ) - d266: 4798 blx r3 + d246: 9a04 ldr r2, [sp, #16] + d248: 9906 ldr r1, [sp, #24] + d24a: a818 add r0, sp, #96 ; 0x60 + d24c: 4b41 ldr r3, [pc, #260] ; (d354 ) + d24e: 4798 blx r3 if(is_common == false) return; - d268: 2800 cmp r0, #0 - d26a: f040 8546 bne.w dcfa + d250: 2800 cmp r0, #0 + d252: f040 8546 bne.w dce2 } static void draw_value(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) { if(dsc->value_str == NULL) return; - d26e: f8da 103c ldr.w r1, [sl, #60] ; 0x3c - d272: b121 cbz r1, d27e + d256: f8da 103c ldr.w r1, [sl, #60] ; 0x3c + d25a: b121 cbz r1, d266 if(dsc->value_opa <= LV_OPA_MIN) return; - d274: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 - d278: 2b05 cmp r3, #5 - d27a: f201 8053 bhi.w e324 + d25c: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 + d260: 2b05 cmp r3, #5 + d262: f201 8053 bhi.w e30c if(dsc->outline_opa <= LV_OPA_MIN) return; - d27e: f89a b01c ldrb.w fp, [sl, #28] - d282: f1bb 0f05 cmp.w fp, #5 - d286: d96d bls.n d364 + d266: f89a b01c ldrb.w fp, [sl, #28] + d26a: f1bb 0f05 cmp.w fp, #5 + d26e: d96d bls.n d34c if(dsc->outline_width == 0) return; - d288: f9ba 3018 ldrsh.w r3, [sl, #24] - d28c: 2b00 cmp r3, #0 - d28e: d069 beq.n d364 + d270: f9ba 3018 ldrsh.w r3, [sl, #24] + d274: 2b00 cmp r3, #0 + d276: d069 beq.n d34c if(opa > LV_OPA_MAX) opa = LV_OPA_COVER; - d290: f1bb 0ffb cmp.w fp, #251 ; 0xfb - d294: bf28 it cs - d296: f04f 0bff movcs.w fp, #255 ; 0xff + d278: f1bb 0ffb cmp.w fp, #251 ; 0xfb + d27c: bf28 it cs + d27e: f04f 0bff movcs.w fp, #255 ; 0xff uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - d29a: 4b3a ldr r3, [pc, #232] ; (d384 ) - d29c: 4798 blx r3 - d29e: 9009 str r0, [sp, #36] ; 0x24 - d2a0: 9a06 ldr r2, [sp, #24] - d2a2: 1e53 subs r3, r2, #1 - d2a4: 1dd0 adds r0, r2, #7 + d282: 4b3a ldr r3, [pc, #232] ; (d36c ) + d284: 4798 blx r3 + d286: 9009 str r0, [sp, #36] ; 0x24 + d288: 9a06 ldr r2, [sp, #24] + d28a: 1e53 subs r3, r2, #1 + d28c: 1dd0 adds r0, r2, #7 uint8_t * d8 = (uint8_t *)dst; - d2a6: aa16 add r2, sp, #88 ; 0x58 + d28e: aa16 add r2, sp, #88 ; 0x58 *d8 = *s8; - d2a8: f813 1f01 ldrb.w r1, [r3, #1]! - d2ac: f802 1b01 strb.w r1, [r2], #1 + d290: f813 1f01 ldrb.w r1, [r3, #1]! + d294: f802 1b01 strb.w r1, [r2], #1 while(len) { - d2b0: 4283 cmp r3, r0 - d2b2: d1f9 bne.n d2a8 + d298: 4283 cmp r3, r0 + d29a: d1f9 bne.n d290 area_inner.x1 -= dsc->outline_pad; - d2b4: f8ba 501a ldrh.w r5, [sl, #26] - d2b8: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - d2bc: 1b5b subs r3, r3, r5 - d2be: b29b uxth r3, r3 - d2c0: 9306 str r3, [sp, #24] - d2c2: f8ad 3058 strh.w r3, [sp, #88] ; 0x58 + d29c: f8ba 501a ldrh.w r5, [sl, #26] + d2a0: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + d2a4: 1b5b subs r3, r3, r5 + d2a6: b29b uxth r3, r3 + d2a8: 9306 str r3, [sp, #24] + d2aa: f8ad 3058 strh.w r3, [sp, #88] ; 0x58 area_inner.y1 -= dsc->outline_pad; - d2c6: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a - d2ca: 1b5b subs r3, r3, r5 - d2cc: b29b uxth r3, r3 - d2ce: 9307 str r3, [sp, #28] - d2d0: f8ad 305a strh.w r3, [sp, #90] ; 0x5a + d2ae: f8bd 305a ldrh.w r3, [sp, #90] ; 0x5a + d2b2: 1b5b subs r3, r3, r5 + d2b4: b29b uxth r3, r3 + d2b6: 9307 str r3, [sp, #28] + d2b8: f8ad 305a strh.w r3, [sp, #90] ; 0x5a area_inner.x2 += dsc->outline_pad; - d2d4: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c - d2d8: 442e add r6, r5 - d2da: b2b6 uxth r6, r6 - d2dc: f8ad 605c strh.w r6, [sp, #92] ; 0x5c + d2bc: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c + d2c0: 442e add r6, r5 + d2c2: b2b6 uxth r6, r6 + d2c4: f8ad 605c strh.w r6, [sp, #92] ; 0x5c area_inner.y2 += dsc->outline_pad; - d2e0: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - d2e4: 441d add r5, r3 - d2e6: b2ad uxth r5, r5 - d2e8: f8ad 505e strh.w r5, [sp, #94] ; 0x5e + d2c8: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + d2cc: 441d add r5, r3 + d2ce: b2ad uxth r5, r5 + d2d0: f8ad 505e strh.w r5, [sp, #94] ; 0x5e int32_t rin = dsc->radius; - d2ec: f9ba 3000 ldrsh.w r3, [sl] - d2f0: 9308 str r3, [sp, #32] + d2d4: f9ba 3000 ldrsh.w r3, [sl] + d2d8: 9308 str r3, [sp, #32] int32_t rout = rin + dsc->outline_width; - d2f2: f9ba 3018 ldrsh.w r3, [sl, #24] - d2f6: 9305 str r3, [sp, #20] - d2f8: f10d 0257 add.w r2, sp, #87 ; 0x57 + d2da: f9ba 3018 ldrsh.w r3, [sl, #24] + d2de: 9305 str r3, [sp, #20] + d2e0: f10d 0257 add.w r2, sp, #87 ; 0x57 uint8_t * d8 = (uint8_t *)dst; - d2fc: ab18 add r3, sp, #96 ; 0x60 + d2e4: ab18 add r3, sp, #96 ; 0x60 while(len) { - d2fe: a81a add r0, sp, #104 ; 0x68 + d2e6: a81a add r0, sp, #104 ; 0x68 *d8 = *s8; - d300: f812 1f01 ldrb.w r1, [r2, #1]! - d304: f803 1b01 strb.w r1, [r3], #1 + d2e8: f812 1f01 ldrb.w r1, [r2, #1]! + d2ec: f803 1b01 strb.w r1, [r3], #1 while(len) { - d308: 4283 cmp r3, r0 - d30a: d1f9 bne.n d300 + d2f0: 4283 cmp r3, r0 + d2f2: d1f9 bne.n d2e8 area_outer.x1 -= dsc->outline_width; - d30c: f8bd 4014 ldrh.w r4, [sp, #20] - d310: f8bd 9060 ldrh.w r9, [sp, #96] ; 0x60 - d314: eba9 0904 sub.w r9, r9, r4 - d318: fa1f f389 uxth.w r3, r9 - d31c: 930a str r3, [sp, #40] ; 0x28 - d31e: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 + d2f4: f8bd 4014 ldrh.w r4, [sp, #20] + d2f8: f8bd 9060 ldrh.w r9, [sp, #96] ; 0x60 + d2fc: eba9 0904 sub.w r9, r9, r4 + d300: fa1f f389 uxth.w r3, r9 + d304: 930a str r3, [sp, #40] ; 0x28 + d306: f8ad 3060 strh.w r3, [sp, #96] ; 0x60 area_outer.x2 += dsc->outline_width; - d322: f8bd 7064 ldrh.w r7, [sp, #100] ; 0x64 - d326: 4427 add r7, r4 - d328: b2bf uxth r7, r7 - d32a: f8ad 7064 strh.w r7, [sp, #100] ; 0x64 + d30a: f8bd 7064 ldrh.w r7, [sp, #100] ; 0x64 + d30e: 4427 add r7, r4 + d310: b2bf uxth r7, r7 + d312: f8ad 7064 strh.w r7, [sp, #100] ; 0x64 area_outer.y1 -= dsc->outline_width; - d32e: f8bd 8062 ldrh.w r8, [sp, #98] ; 0x62 - d332: eba8 0804 sub.w r8, r8, r4 - d336: fa1f f888 uxth.w r8, r8 - d33a: f8ad 8062 strh.w r8, [sp, #98] ; 0x62 + d316: f8bd 8062 ldrh.w r8, [sp, #98] ; 0x62 + d31a: eba8 0804 sub.w r8, r8, r4 + d31e: fa1f f888 uxth.w r8, r8 + d322: f8ad 8062 strh.w r8, [sp, #98] ; 0x62 area_outer.y2 += dsc->outline_width; - d33e: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 - d342: 441c add r4, r3 - d344: b2a4 uxth r4, r4 - d346: f8ad 4066 strh.w r4, [sp, #102] ; 0x66 + d326: f8bd 3066 ldrh.w r3, [sp, #102] ; 0x66 + d32a: 441c add r4, r3 + d32c: b2a4 uxth r4, r4 + d32e: f8ad 4066 strh.w r4, [sp, #102] ; 0x66 lv_disp_t * disp = _lv_refr_get_disp_refreshing(); - d34a: 4b0c ldr r3, [pc, #48] ; (d37c ) - d34c: 4798 blx r3 + d332: 4b0c ldr r3, [pc, #48] ; (d364 ) + d334: 4798 blx r3 lv_disp_buf_t * vdb = lv_disp_get_buf(disp); - d34e: 4b0c ldr r3, [pc, #48] ; (d380 ) - d350: 4798 blx r3 - d352: 4681 mov r9, r0 + d336: 4b0c ldr r3, [pc, #48] ; (d368 ) + d338: 4798 blx r3 + d33a: 4681 mov r9, r0 is_common = _lv_area_intersect(&draw_area, &area_outer, clip); - d354: 9a04 ldr r2, [sp, #16] - d356: a918 add r1, sp, #96 ; 0x60 - d358: a81a add r0, sp, #104 ; 0x68 - d35a: 4b04 ldr r3, [pc, #16] ; (d36c ) - d35c: 4798 blx r3 + d33c: 9a04 ldr r2, [sp, #16] + d33e: a918 add r1, sp, #96 ; 0x60 + d340: a81a add r0, sp, #104 ; 0x68 + d342: 4b04 ldr r3, [pc, #16] ; (d354 ) + d344: 4798 blx r3 if(is_common == false) return; - d35e: 2800 cmp r0, #0 - d360: f041 8044 bne.w e3ec -} - d364: b031 add sp, #196 ; 0xc4 - d366: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - d36a: bf00 nop - d36c: 00011519 .word 0x00011519 - d370: 00007751 .word 0x00007751 - d374: 0000be6d .word 0x0000be6d - d378: 00012571 .word 0x00012571 - d37c: 00005f69 .word 0x00005f69 - d380: 00010fdd .word 0x00010fdd - d384: 0000bec5 .word 0x0000bec5 - d388: 00012a81 .word 0x00012a81 - d38c: 0000be1d .word 0x0000be1d + d346: 2800 cmp r0, #0 + d348: f041 8044 bne.w e3d4 +} + d34c: b031 add sp, #196 ; 0xc4 + d34e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + d352: bf00 nop + d354: 00011501 .word 0x00011501 + d358: 00007739 .word 0x00007739 + d35c: 0000be55 .word 0x0000be55 + d360: 00012559 .word 0x00012559 + d364: 00005f51 .word 0x00005f51 + d368: 00010fc5 .word 0x00010fc5 + d36c: 0000bead .word 0x0000bead + d370: 00012a69 .word 0x00012a69 + d374: 0000be05 .word 0x0000be05 draw_area.x1 -= disp_area->x1; - d390: f8b8 1010 ldrh.w r1, [r8, #16] - d394: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - d398: 1a5b subs r3, r3, r1 - d39a: b29a uxth r2, r3 - d39c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + d378: f8b8 1010 ldrh.w r1, [r8, #16] + d37c: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + d380: 1a5b subs r3, r3, r1 + d382: b29a uxth r2, r3 + d384: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 draw_area.y1 -= disp_area->y1; - d3a0: f8b8 0012 ldrh.w r0, [r8, #18] - d3a4: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - d3a8: 1a1b subs r3, r3, r0 - d3aa: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + d388: f8b8 0012 ldrh.w r0, [r8, #18] + d38c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + d390: 1a1b subs r3, r3, r0 + d392: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 draw_area.x2 -= disp_area->x1; - d3ae: f8bd 3074 ldrh.w r3, [sp, #116] ; 0x74 - d3b2: 1a5b subs r3, r3, r1 - d3b4: b29b uxth r3, r3 - d3b6: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + d396: f8bd 3074 ldrh.w r3, [sp, #116] ; 0x74 + d39a: 1a5b subs r3, r3, r1 + d39c: b29b uxth r3, r3 + d39e: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 draw_area.y2 -= disp_area->y1; - d3ba: f8bd 1076 ldrh.w r1, [sp, #118] ; 0x76 - d3be: 1a09 subs r1, r1, r0 - d3c0: f8ad 1076 strh.w r1, [sp, #118] ; 0x76 + d3a2: f8bd 1076 ldrh.w r1, [sp, #118] ; 0x76 + d3a6: 1a09 subs r1, r1, r0 + d3a8: f8ad 1076 strh.w r1, [sp, #118] ; 0x76 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d3c4: 3301 adds r3, #1 - d3c6: 1a9b subs r3, r3, r2 - d3c8: b21b sxth r3, r3 - d3ca: 9309 str r3, [sp, #36] ; 0x24 + d3ac: 3301 adds r3, #1 + d3ae: 1a9b subs r3, r3, r2 + d3b0: b21b sxth r3, r3 + d3b2: 9309 str r3, [sp, #36] ; 0x24 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - d3cc: 930a str r3, [sp, #40] ; 0x28 - d3ce: 4618 mov r0, r3 - d3d0: 4b93 ldr r3, [pc, #588] ; (d620 ) - d3d2: 4798 blx r3 - d3d4: 9005 str r0, [sp, #20] + d3b4: 930a str r3, [sp, #40] ; 0x28 + d3b6: 4618 mov r0, r3 + d3b8: 4b93 ldr r3, [pc, #588] ; (d608 ) + d3ba: 4798 blx r3 + d3bc: 9005 str r0, [sp, #20] uint16_t other_mask_cnt = lv_draw_mask_get_cnt(); - d3d6: 4b93 ldr r3, [pc, #588] ; (d624 ) - d3d8: 4798 blx r3 - d3da: b283 uxth r3, r0 - d3dc: 930b str r3, [sp, #44] ; 0x2c + d3be: 4b93 ldr r3, [pc, #588] ; (d60c ) + d3c0: 4798 blx r3 + d3c2: b283 uxth r3, r0 + d3c4: 930b str r3, [sp, #44] ; 0x2c if(other_mask_cnt) simple_mode = false; - d3de: bb43 cbnz r3, d432 + d3c6: bb43 cbnz r3, d41a else if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) simple_mode = false; - d3e0: f89a 3006 ldrb.w r3, [sl, #6] - d3e4: 3b02 subs r3, #2 - d3e6: bf18 it ne - d3e8: 2301 movne r3, #1 - d3ea: 9307 str r3, [sp, #28] - d3ec: f8bd 506c ldrh.w r5, [sp, #108] ; 0x6c - d3f0: 3501 adds r5, #1 - d3f2: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - d3f6: 1aed subs r5, r5, r3 - d3f8: b22d sxth r5, r5 + d3c8: f89a 3006 ldrb.w r3, [sl, #6] + d3cc: 3b02 subs r3, #2 + d3ce: bf18 it ne + d3d0: 2301 movne r3, #1 + d3d2: 9307 str r3, [sp, #28] + d3d4: f8bd 506c ldrh.w r5, [sp, #108] ; 0x6c + d3d8: 3501 adds r5, #1 + d3da: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d3de: 1aed subs r5, r5, r3 + d3e0: b22d sxth r5, r5 int32_t coords_w = lv_area_get_width(&coords_bg); - d3fa: 462c mov r4, r5 + d3e2: 462c mov r4, r5 int32_t rout = dsc->radius; - d3fc: f9ba 2000 ldrsh.w r2, [sl] + d3e4: f9ba 2000 ldrsh.w r2, [sl] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d400: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e - d404: 3301 adds r3, #1 - d406: f8bd 606a ldrh.w r6, [sp, #106] ; 0x6a - d40a: 1b9b subs r3, r3, r6 + d3e8: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e + d3ec: 3301 adds r3, #1 + d3ee: f8bd 606a ldrh.w r6, [sp, #106] ; 0x6a + d3f2: 1b9b subs r3, r3, r6 int32_t coords_h = lv_area_get_height(&coords_bg); - d40c: b21e sxth r6, r3 + d3f4: b21e sxth r6, r3 int32_t short_side = LV_MATH_MIN(coords_w, coords_h); - d40e: 4633 mov r3, r6 - d410: 42ae cmp r6, r5 - d412: bfa8 it ge - d414: 462b movge r3, r5 + d3f6: 4633 mov r3, r6 + d3f8: 42ae cmp r6, r5 + d3fa: bfa8 it ge + d3fc: 462b movge r3, r5 if(rout > short_side >> 1) rout = short_side >> 1; - d416: 105e asrs r6, r3, #1 - d418: 4296 cmp r6, r2 - d41a: bfa8 it ge - d41c: 4616 movge r6, r2 + d3fe: 105e asrs r6, r3, #1 + d400: 4296 cmp r6, r2 + d402: bfa8 it ge + d404: 4616 movge r6, r2 if(simple_mode && rout == 0 && (dsc->bg_grad_dir == LV_GRAD_DIR_NONE)) { - d41e: 9b07 ldr r3, [sp, #28] - d420: b1db cbz r3, d45a - d422: b9d6 cbnz r6, d45a - d424: f89a 3006 ldrb.w r3, [sl, #6] - d428: b133 cbz r3, d438 + d406: 9b07 ldr r3, [sp, #28] + d408: b1db cbz r3, d442 + d40a: b9d6 cbnz r6, d442 + d40c: f89a 3006 ldrb.w r3, [sl, #6] + d410: b133 cbz r3, d420 int16_t mask_rout_id = LV_MASK_ID_INV; - d42a: f04f 33ff mov.w r3, #4294967295 - d42e: 930e str r3, [sp, #56] ; 0x38 - d430: e021 b.n d476 + d412: f04f 33ff mov.w r3, #4294967295 + d416: 930e str r3, [sp, #56] ; 0x38 + d418: e021 b.n d45e if(other_mask_cnt) simple_mode = false; - d432: 2300 movs r3, #0 - d434: 9307 str r3, [sp, #28] - d436: e7d9 b.n d3ec + d41a: 2300 movs r3, #0 + d41c: 9307 str r3, [sp, #28] + d41e: e7d9 b.n d3d4 _lv_blend_fill(clip, &coords_bg, - d438: f89a 300d ldrb.w r3, [sl, #13] - d43c: 9302 str r3, [sp, #8] - d43e: 9701 str r7, [sp, #4] - d440: 2301 movs r3, #1 - d442: 9300 str r3, [sp, #0] - d444: 2300 movs r3, #0 - d446: f8ba 2002 ldrh.w r2, [sl, #2] - d44a: a91a add r1, sp, #104 ; 0x68 - d44c: 9804 ldr r0, [sp, #16] - d44e: 4c76 ldr r4, [pc, #472] ; (d628 ) - d450: 47a0 blx r4 + d420: f89a 300d ldrb.w r3, [sl, #13] + d424: 9302 str r3, [sp, #8] + d426: 9701 str r7, [sp, #4] + d428: 2301 movs r3, #1 + d42a: 9300 str r3, [sp, #0] + d42c: 2300 movs r3, #0 + d42e: f8ba 2002 ldrh.w r2, [sl, #2] + d432: a91a add r1, sp, #104 ; 0x68 + d434: 9804 ldr r0, [sp, #16] + d436: 4c76 ldr r4, [pc, #472] ; (d610 ) + d438: 47a0 blx r4 int16_t mask_rout_id = LV_MASK_ID_INV; - d452: f04f 33ff mov.w r3, #4294967295 - d456: 930e str r3, [sp, #56] ; 0x38 - d458: e276 b.n d948 + d43a: f04f 33ff mov.w r3, #4294967295 + d43e: 930e str r3, [sp, #56] ; 0x38 + d440: e276 b.n d930 if(rout > 0) { - d45a: 2e00 cmp r6, #0 - d45c: dd32 ble.n d4c4 + d442: 2e00 cmp r6, #0 + d444: dd32 ble.n d4ac lv_draw_mask_radius_init(&mask_rout_param, &coords_bg, rout, false); - d45e: 2300 movs r3, #0 - d460: 4632 mov r2, r6 - d462: a91a add r1, sp, #104 ; 0x68 - d464: a829 add r0, sp, #164 ; 0xa4 - d466: f8df 91d0 ldr.w r9, [pc, #464] ; d638 - d46a: 47c8 blx r9 + d446: 2300 movs r3, #0 + d448: 4632 mov r2, r6 + d44a: a91a add r1, sp, #104 ; 0x68 + d44c: a829 add r0, sp, #164 ; 0xa4 + d44e: f8df 91d0 ldr.w r9, [pc, #464] ; d620 + d452: 47c8 blx r9 mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - d46c: 2100 movs r1, #0 - d46e: a829 add r0, sp, #164 ; 0xa4 - d470: 4b6e ldr r3, [pc, #440] ; (d62c ) - d472: 4798 blx r3 - d474: 900e str r0, [sp, #56] ; 0x38 + d454: 2100 movs r1, #0 + d456: a829 add r0, sp, #164 ; 0xa4 + d458: 4b6e ldr r3, [pc, #440] ; (d614 ) + d45a: 4798 blx r3 + d45c: 900e str r0, [sp, #56] ; 0x38 lv_color_t grad_color = dsc->bg_color; - d476: f8ba b002 ldrh.w fp, [sl, #2] + d45e: f8ba b002 ldrh.w fp, [sl, #2] if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - d47a: f89a 3006 ldrb.w r3, [sl, #6] - d47e: 2b02 cmp r3, #2 - d480: d024 beq.n d4cc + d462: f89a 3006 ldrb.w r3, [sl, #6] + d466: 2b02 cmp r3, #2 + d468: d024 beq.n d4b4 lv_color_t * grad_map = NULL; - d482: 2300 movs r3, #0 - d484: 930d str r3, [sp, #52] ; 0x34 + d46a: 2300 movs r3, #0 + d46c: 930d str r3, [sp, #52] ; 0x34 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - d486: f9bd 206c ldrsh.w r2, [sp, #108] ; 0x6c - d48a: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 - d48e: 1c53 adds r3, r2, #1 - d490: 1a5b subs r3, r3, r1 + d46e: f9bd 206c ldrsh.w r2, [sp, #108] ; 0x6c + d472: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 + d476: 1c53 adds r3, r2, #1 + d478: 1a5b subs r3, r3, r1 if(lv_area_get_width(&coords_bg) - 2 * rout > SPLIT_LIMIT) split = true; - d492: b21b sxth r3, r3 - d494: eba3 0946 sub.w r9, r3, r6, lsl #1 + d47a: b21b sxth r3, r3 + d47c: eba3 0946 sub.w r9, r3, r6, lsl #1 fill_area.x1 = coords_bg.x1; - d498: f8ad 1078 strh.w r1, [sp, #120] ; 0x78 + d480: f8ad 1078 strh.w r1, [sp, #120] ; 0x78 fill_area.x2 = coords_bg.x2; - d49c: f8ad 207c strh.w r2, [sp, #124] ; 0x7c + d484: f8ad 207c strh.w r2, [sp, #124] ; 0x7c fill_area.y1 = disp_area->y1 + draw_area.y1; - d4a0: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 - d4a4: f8b8 3012 ldrh.w r3, [r8, #18] - d4a8: 4413 add r3, r2 - d4aa: b21b sxth r3, r3 - d4ac: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d488: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 + d48c: f8b8 3012 ldrh.w r3, [r8, #18] + d490: 4413 add r3, r2 + d492: b21b sxth r3, r3 + d494: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2 = fill_area.y1; - d4b0: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + d498: f8ad 307e strh.w r3, [sp, #126] ; 0x7e for(h = draw_area.y1; h <= draw_area.y2; h++) { - d4b4: 4615 mov r5, r2 - d4b6: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 - d4ba: 429a cmp r2, r3 - d4bc: f300 8237 bgt.w d92e + d49c: 4615 mov r5, r2 + d49e: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 + d4a2: 429a cmp r2, r3 + d4a4: f300 8237 bgt.w d916 _lv_blend_fill(clip, &fill_area2, - d4c0: 9708 str r7, [sp, #32] - d4c2: e0fa b.n d6ba + d4a8: 9708 str r7, [sp, #32] + d4aa: e0fa b.n d6a2 int16_t mask_rout_id = LV_MASK_ID_INV; - d4c4: f04f 33ff mov.w r3, #4294967295 - d4c8: 930e str r3, [sp, #56] ; 0x38 - d4ca: e7d4 b.n d476 + d4ac: f04f 33ff mov.w r3, #4294967295 + d4b0: 930e str r3, [sp, #56] ; 0x38 + d4b2: e7d4 b.n d45e if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR && dsc->bg_color.full != dsc->bg_grad_color.full) { - d4cc: f8ba 3004 ldrh.w r3, [sl, #4] - d4d0: 459b cmp fp, r3 - d4d2: f000 8089 beq.w d5e8 + d4b4: f8ba 3004 ldrh.w r3, [sl, #4] + d4b8: 459b cmp fp, r3 + d4ba: f000 8089 beq.w d5d0 grad_map = _lv_mem_buf_get(coords_w * sizeof(lv_color_t)); - d4d6: 0068 lsls r0, r5, #1 - d4d8: 4b51 ldr r3, [pc, #324] ; (d620 ) - d4da: 4798 blx r3 - d4dc: 900d str r0, [sp, #52] ; 0x34 + d4be: 0068 lsls r0, r5, #1 + d4c0: 4b51 ldr r3, [pc, #324] ; (d608 ) + d4c2: 4798 blx r3 + d4c4: 900d str r0, [sp, #52] ; 0x34 for(i = 0; i < coords_w; i++) { - d4de: 2d00 cmp r5, #0 - d4e0: ddd1 ble.n d486 - d4e2: f04f 0900 mov.w r9, #0 - d4e6: 9608 str r6, [sp, #32] - d4e8: 4606 mov r6, r0 - d4ea: e01b b.n d524 + d4c6: 2d00 cmp r5, #0 + d4c8: ddd1 ble.n d46e + d4ca: f04f 0900 mov.w r9, #0 + d4ce: 9608 str r6, [sp, #32] + d4d0: 4606 mov r6, r0 + d4d2: e01b b.n d50c if(i <= min) return dsc->bg_color; - d4ec: f89a 3002 ldrb.w r3, [sl, #2] - d4f0: f003 031f and.w r3, r3, #31 - d4f4: f8ba 1002 ldrh.w r1, [sl, #2] - d4f8: f3c1 1145 ubfx r1, r1, #5, #6 - d4fc: f89a 2003 ldrb.w r2, [sl, #3] - d500: 08d2 lsrs r2, r2, #3 + d4d4: f89a 3002 ldrb.w r3, [sl, #2] + d4d8: f003 031f and.w r3, r3, #31 + d4dc: f8ba 1002 ldrh.w r1, [sl, #2] + d4e0: f3c1 1145 ubfx r1, r1, #5, #6 + d4e4: f89a 2003 ldrb.w r2, [sl, #3] + d4e8: 08d2 lsrs r2, r2, #3 grad_map[i] = grad_get(dsc, coords_w, i); - d502: 7828 ldrb r0, [r5, #0] - d504: f363 0004 bfi r0, r3, #0, #5 - d508: 7028 strb r0, [r5, #0] - d50a: 882b ldrh r3, [r5, #0] - d50c: f361 134a bfi r3, r1, #5, #6 - d510: 802b strh r3, [r5, #0] - d512: 0a1b lsrs r3, r3, #8 - d514: f362 03c7 bfi r3, r2, #3, #5 - d518: 706b strb r3, [r5, #1] + d4ea: 7828 ldrb r0, [r5, #0] + d4ec: f363 0004 bfi r0, r3, #0, #5 + d4f0: 7028 strb r0, [r5, #0] + d4f2: 882b ldrh r3, [r5, #0] + d4f4: f361 134a bfi r3, r1, #5, #6 + d4f8: 802b strh r3, [r5, #0] + d4fa: 0a1b lsrs r3, r3, #8 + d4fc: f362 03c7 bfi r3, r2, #3, #5 + d500: 706b strb r3, [r5, #1] for(i = 0; i < coords_w; i++) { - d51a: f109 0901 add.w r9, r9, #1 - d51e: 3602 adds r6, #2 - d520: 454c cmp r4, r9 - d522: d05f beq.n d5e4 + d502: f109 0901 add.w r9, r9, #1 + d506: 3602 adds r6, #2 + d508: 454c cmp r4, r9 + d50a: d05f beq.n d5cc grad_map[i] = grad_get(dsc, coords_w, i); - d524: 4635 mov r5, r6 + d50c: 4635 mov r5, r6 int32_t min = (dsc->bg_main_color_stop * s) >> 8; - d526: f9ba 0008 ldrsh.w r0, [sl, #8] - d52a: fb00 f304 mul.w r3, r0, r4 - d52e: 121b asrs r3, r3, #8 + d50e: f9ba 0008 ldrsh.w r0, [sl, #8] + d512: fb00 f304 mul.w r3, r0, r4 + d516: 121b asrs r3, r3, #8 if(i <= min) return dsc->bg_color; - d530: fa0f f189 sxth.w r1, r9 - d534: 428b cmp r3, r1 - d536: dad9 bge.n d4ec + d518: fa0f f189 sxth.w r1, r9 + d51c: 428b cmp r3, r1 + d51e: dad9 bge.n d4d4 int32_t max = (dsc->bg_grad_color_stop * s) >> 8; - d538: f9ba 200a ldrsh.w r2, [sl, #10] - d53c: fb02 fe04 mul.w lr, r2, r4 + d520: f9ba 200a ldrsh.w r2, [sl, #10] + d524: fb02 fe04 mul.w lr, r2, r4 if(i >= max) return dsc->bg_grad_color; - d540: ebb1 2f2e cmp.w r1, lr, asr #8 - d544: da42 bge.n d5cc + d528: ebb1 2f2e cmp.w r1, lr, asr #8 + d52c: da42 bge.n d5b4 int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop; - d546: 1a12 subs r2, r2, r0 + d52e: 1a12 subs r2, r2, r0 d = (s * d) >> 8; - d548: fb04 f202 mul.w r2, r4, r2 + d530: fb04 f202 mul.w r2, r4, r2 i -= min; - d54c: eba9 0303 sub.w r3, r9, r3 + d534: eba9 0303 sub.w r3, r9, r3 lv_opa_t mix = (i * 255) / d; - d550: b21b sxth r3, r3 - d552: ebc3 2303 rsb r3, r3, r3, lsl #8 + d538: b21b sxth r3, r3 + d53a: ebc3 2303 rsb r3, r3, r3, lsl #8 d = (s * d) >> 8; - d556: 1212 asrs r2, r2, #8 + d53e: 1212 asrs r2, r2, #8 lv_opa_t mix = (i * 255) / d; - d558: fb93 f3f2 sdiv r3, r3, r2 - d55c: b2db uxtb r3, r3 + d540: fb93 f3f2 sdiv r3, r3, r2 + d544: b2db uxtb r3, r3 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - d55e: f1c3 0eff rsb lr, r3, #255 ; 0xff - d562: f89a 2005 ldrb.w r2, [sl, #5] - d566: 08d2 lsrs r2, r2, #3 - d568: f89a 1003 ldrb.w r1, [sl, #3] - d56c: 08c9 lsrs r1, r1, #3 - d56e: fb0e f101 mul.w r1, lr, r1 - d572: fb03 1202 mla r2, r3, r2, r1 - d576: eb02 2102 add.w r1, r2, r2, lsl #8 - d57a: eb02 12c1 add.w r2, r2, r1, lsl #7 - d57e: f3c2 52c4 ubfx r2, r2, #23, #5 + d546: f1c3 0eff rsb lr, r3, #255 ; 0xff + d54a: f89a 2005 ldrb.w r2, [sl, #5] + d54e: 08d2 lsrs r2, r2, #3 + d550: f89a 1003 ldrb.w r1, [sl, #3] + d554: 08c9 lsrs r1, r1, #3 + d556: fb0e f101 mul.w r1, lr, r1 + d55a: fb03 1202 mla r2, r3, r2, r1 + d55e: eb02 2102 add.w r1, r2, r2, lsl #8 + d562: eb02 12c1 add.w r2, r2, r1, lsl #7 + d566: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - d582: f8ba 1004 ldrh.w r1, [sl, #4] - d586: f3c1 1145 ubfx r1, r1, #5, #6 - d58a: f8ba 0002 ldrh.w r0, [sl, #2] - d58e: f3c0 1045 ubfx r0, r0, #5, #6 - d592: fb0e f000 mul.w r0, lr, r0 - d596: fb03 0101 mla r1, r3, r1, r0 - d59a: eb01 2001 add.w r0, r1, r1, lsl #8 - d59e: eb01 11c0 add.w r1, r1, r0, lsl #7 - d5a2: f3c1 51c5 ubfx r1, r1, #23, #6 + d56a: f8ba 1004 ldrh.w r1, [sl, #4] + d56e: f3c1 1145 ubfx r1, r1, #5, #6 + d572: f8ba 0002 ldrh.w r0, [sl, #2] + d576: f3c0 1045 ubfx r0, r0, #5, #6 + d57a: fb0e f000 mul.w r0, lr, r0 + d57e: fb03 0101 mla r1, r3, r1, r0 + d582: eb01 2001 add.w r0, r1, r1, lsl #8 + d586: eb01 11c0 add.w r1, r1, r0, lsl #7 + d58a: f3c1 51c5 ubfx r1, r1, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - d5a6: f89a 0004 ldrb.w r0, [sl, #4] - d5aa: f000 001f and.w r0, r0, #31 - d5ae: f89a c002 ldrb.w ip, [sl, #2] - d5b2: f00c 0c1f and.w ip, ip, #31 - d5b6: fb0e fe0c mul.w lr, lr, ip - d5ba: fb03 e300 mla r3, r3, r0, lr - d5be: eb03 2003 add.w r0, r3, r3, lsl #8 - d5c2: eb03 13c0 add.w r3, r3, r0, lsl #7 - d5c6: f3c3 53c4 ubfx r3, r3, #23, #5 - d5ca: e79a b.n d502 + d58e: f89a 0004 ldrb.w r0, [sl, #4] + d592: f000 001f and.w r0, r0, #31 + d596: f89a c002 ldrb.w ip, [sl, #2] + d59a: f00c 0c1f and.w ip, ip, #31 + d59e: fb0e fe0c mul.w lr, lr, ip + d5a2: fb03 e300 mla r3, r3, r0, lr + d5a6: eb03 2003 add.w r0, r3, r3, lsl #8 + d5aa: eb03 13c0 add.w r3, r3, r0, lsl #7 + d5ae: f3c3 53c4 ubfx r3, r3, #23, #5 + d5b2: e79a b.n d4ea if(i >= max) return dsc->bg_grad_color; - d5cc: f89a 3004 ldrb.w r3, [sl, #4] - d5d0: f003 031f and.w r3, r3, #31 - d5d4: f8ba 1004 ldrh.w r1, [sl, #4] - d5d8: f3c1 1145 ubfx r1, r1, #5, #6 - d5dc: f89a 2005 ldrb.w r2, [sl, #5] - d5e0: 08d2 lsrs r2, r2, #3 - d5e2: e78e b.n d502 - d5e4: 9e08 ldr r6, [sp, #32] - d5e6: e74e b.n d486 + d5b4: f89a 3004 ldrb.w r3, [sl, #4] + d5b8: f003 031f and.w r3, r3, #31 + d5bc: f8ba 1004 ldrh.w r1, [sl, #4] + d5c0: f3c1 1145 ubfx r1, r1, #5, #6 + d5c4: f89a 2005 ldrb.w r2, [sl, #5] + d5c8: 08d2 lsrs r2, r2, #3 + d5ca: e78e b.n d4ea + d5cc: 9e08 ldr r6, [sp, #32] + d5ce: e74e b.n d46e lv_color_t * grad_map = NULL; - d5e8: 2300 movs r3, #0 - d5ea: 930d str r3, [sp, #52] ; 0x34 - d5ec: e74b b.n d486 + d5d0: 2300 movs r3, #0 + d5d2: 930d str r3, [sp, #52] ; 0x34 + d5d4: e74b b.n d46e _lv_memset_ff(mask_buf, draw_area_w); - d5ee: 990a ldr r1, [sp, #40] ; 0x28 - d5f0: 9f05 ldr r7, [sp, #20] - d5f2: 4638 mov r0, r7 - d5f4: 4b0e ldr r3, [pc, #56] ; (d630 ) - d5f6: 4798 blx r3 + d5d6: 990a ldr r1, [sp, #40] ; 0x28 + d5d8: 9f05 ldr r7, [sp, #20] + d5da: 4638 mov r0, r7 + d5dc: 4b0e ldr r3, [pc, #56] ; (d618 ) + d5de: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - d5f8: f8b8 2012 ldrh.w r2, [r8, #18] - d5fc: 442a add r2, r5 - d5fe: f8b8 1010 ldrh.w r1, [r8, #16] - d602: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - d606: 4419 add r1, r3 - d608: 9b09 ldr r3, [sp, #36] ; 0x24 - d60a: b212 sxth r2, r2 - d60c: b209 sxth r1, r1 - d60e: 4638 mov r0, r7 - d610: 4f08 ldr r7, [pc, #32] ; (d634 ) - d612: 47b8 blx r7 - d614: 4607 mov r7, r0 + d5e0: f8b8 2012 ldrh.w r2, [r8, #18] + d5e4: 442a add r2, r5 + d5e6: f8b8 1010 ldrh.w r1, [r8, #16] + d5ea: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + d5ee: 4419 add r1, r3 + d5f0: 9b09 ldr r3, [sp, #36] ; 0x24 + d5f2: b212 sxth r2, r2 + d5f4: b209 sxth r1, r1 + d5f6: 4638 mov r0, r7 + d5f8: 4f08 ldr r7, [pc, #32] ; (d61c ) + d5fa: 47b8 blx r7 + d5fc: 4607 mov r7, r0 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - d616: f89a 3006 ldrb.w r3, [sl, #6] - d61a: 2b01 cmp r3, #1 - d61c: d129 bne.n d672 - d61e: e07a b.n d716 - d620: 0001293d .word 0x0001293d - d624: 0000bec5 .word 0x0000bec5 - d628: 00007751 .word 0x00007751 - d62c: 0000bdc1 .word 0x0000bdc1 - d630: 00012bed .word 0x00012bed - d634: 0000be1d .word 0x0000be1d - d638: 0000c02d .word 0x0000c02d + d5fe: f89a 3006 ldrb.w r3, [sl, #6] + d602: 2b01 cmp r3, #1 + d604: d129 bne.n d65a + d606: e07a b.n d6fe + d608: 00012925 .word 0x00012925 + d60c: 0000bead .word 0x0000bead + d610: 00007739 .word 0x00007739 + d614: 0000bda9 .word 0x0000bda9 + d618: 00012bd5 .word 0x00012bd5 + d61c: 0000be05 .word 0x0000be05 + d620: 0000c015 .word 0x0000c015 _lv_memset_ff(mask_buf, draw_area_w); - d63c: 990a ldr r1, [sp, #40] ; 0x28 - d63e: 9f05 ldr r7, [sp, #20] - d640: 4638 mov r0, r7 - d642: 4bb6 ldr r3, [pc, #728] ; (d91c ) - d644: 4798 blx r3 + d624: 990a ldr r1, [sp, #40] ; 0x28 + d626: 9f05 ldr r7, [sp, #20] + d628: 4638 mov r0, r7 + d62a: 4bb6 ldr r3, [pc, #728] ; (d904 ) + d62c: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - d646: f8b8 2012 ldrh.w r2, [r8, #18] - d64a: 442a add r2, r5 - d64c: f8b8 1010 ldrh.w r1, [r8, #16] - d650: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - d654: 4419 add r1, r3 - d656: 9b09 ldr r3, [sp, #36] ; 0x24 - d658: b212 sxth r2, r2 - d65a: b209 sxth r1, r1 - d65c: 4638 mov r0, r7 - d65e: 4fb0 ldr r7, [pc, #704] ; (d920 ) - d660: 47b8 blx r7 - d662: 4607 mov r7, r0 + d62e: f8b8 2012 ldrh.w r2, [r8, #18] + d632: 442a add r2, r5 + d634: f8b8 1010 ldrh.w r1, [r8, #16] + d638: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + d63c: 4419 add r1, r3 + d63e: 9b09 ldr r3, [sp, #36] ; 0x24 + d640: b212 sxth r2, r2 + d642: b209 sxth r1, r1 + d644: 4638 mov r0, r7 + d646: 4fb0 ldr r7, [pc, #704] ; (d908 ) + d648: 47b8 blx r7 + d64a: 4607 mov r7, r0 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - d664: f89a 3006 ldrb.w r3, [sl, #6] - d668: 2b01 cmp r3, #1 - d66a: d054 beq.n d716 + d64c: f89a 3006 ldrb.w r3, [sl, #6] + d650: 2b01 cmp r3, #1 + d652: d054 beq.n d6fe if(simple_mode && split && - d66c: 9a07 ldr r2, [sp, #28] - d66e: 2a00 cmp r2, #0 - d670: d13a bne.n d6e8 + d654: 9a07 ldr r2, [sp, #28] + d656: 2a00 cmp r2, #0 + d658: d13a bne.n d6d0 if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) { - d672: 2b02 cmp r3, #2 - d674: f000 8144 beq.w d900 + d65a: 2b02 cmp r3, #2 + d65c: f000 8144 beq.w d8e8 else if(other_mask_cnt != 0 || !split) { - d678: 9b0b ldr r3, [sp, #44] ; 0x2c - d67a: b913 cbnz r3, d682 - d67c: f1b9 0f32 cmp.w r9, #50 ; 0x32 - d680: dc0b bgt.n d69a + d660: 9b0b ldr r3, [sp, #44] ; 0x2c + d662: b913 cbnz r3, d66a + d664: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d668: dc0b bgt.n d682 _lv_blend_fill(clip, &fill_area, - d682: f89a 300d ldrb.w r3, [sl, #13] - d686: 9302 str r3, [sp, #8] - d688: 9b08 ldr r3, [sp, #32] - d68a: 9301 str r3, [sp, #4] - d68c: 9700 str r7, [sp, #0] - d68e: 9b05 ldr r3, [sp, #20] - d690: 465a mov r2, fp - d692: a91e add r1, sp, #120 ; 0x78 - d694: 9804 ldr r0, [sp, #16] - d696: 4ca3 ldr r4, [pc, #652] ; (d924 ) - d698: 47a0 blx r4 + d66a: f89a 300d ldrb.w r3, [sl, #13] + d66e: 9302 str r3, [sp, #8] + d670: 9b08 ldr r3, [sp, #32] + d672: 9301 str r3, [sp, #4] + d674: 9700 str r7, [sp, #0] + d676: 9b05 ldr r3, [sp, #20] + d678: 465a mov r2, fp + d67a: a91e add r1, sp, #120 ; 0x78 + d67c: 9804 ldr r0, [sp, #16] + d67e: 4ca3 ldr r4, [pc, #652] ; (d90c ) + d680: 47a0 blx r4 fill_area.y1++; - d69a: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - d69e: 3301 adds r3, #1 - d6a0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d682: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + d686: 3301 adds r3, #1 + d688: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2++; - d6a4: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e - d6a8: 3301 adds r3, #1 - d6aa: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + d68c: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e + d690: 3301 adds r3, #1 + d692: f8ad 307e strh.w r3, [sp, #126] ; 0x7e for(h = draw_area.y1; h <= draw_area.y2; h++) { - d6ae: 3501 adds r5, #1 - d6b0: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 - d6b4: 429d cmp r5, r3 - d6b6: f300 8139 bgt.w d92c + d696: 3501 adds r5, #1 + d698: f9bd 3076 ldrsh.w r3, [sp, #118] ; 0x76 + d69c: 429d cmp r5, r3 + d69e: f300 8139 bgt.w d914 int32_t y = h + vdb->area.y1; - d6ba: f9b8 4012 ldrsh.w r4, [r8, #18] - d6be: 442c add r4, r5 + d6a2: f9b8 4012 ldrsh.w r4, [r8, #18] + d6a6: 442c add r4, r5 if(y > coords_bg.y1 + rout + 1 && - d6c0: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a - d6c4: 4433 add r3, r6 - d6c6: 3301 adds r3, #1 - d6c8: 429c cmp r4, r3 - d6ca: ddb7 ble.n d63c + d6a8: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a + d6ac: 4433 add r3, r6 + d6ae: 3301 adds r3, #1 + d6b0: 429c cmp r4, r3 + d6b2: ddb7 ble.n d624 y < coords_bg.y2 - rout - 1) { - d6cc: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - d6d0: 1b9b subs r3, r3, r6 - d6d2: 3b01 subs r3, #1 + d6b4: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + d6b8: 1b9b subs r3, r3, r6 + d6ba: 3b01 subs r3, #1 if(y > coords_bg.y1 + rout + 1 && - d6d4: 429c cmp r4, r3 - d6d6: dab1 bge.n d63c + d6bc: 429c cmp r4, r3 + d6be: dab1 bge.n d624 if(simple_mode == false) { - d6d8: 9b07 ldr r3, [sp, #28] - d6da: 2b00 cmp r3, #0 - d6dc: d087 beq.n d5ee + d6c0: 9b07 ldr r3, [sp, #28] + d6c2: 2b00 cmp r3, #0 + d6c4: d087 beq.n d5d6 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - d6de: f89a 3006 ldrb.w r3, [sl, #6] - d6e2: 2b01 cmp r3, #1 - d6e4: d016 beq.n d714 + d6c6: f89a 3006 ldrb.w r3, [sl, #6] + d6ca: 2b01 cmp r3, #1 + d6cc: d016 beq.n d6fc mask_res = LV_DRAW_MASK_RES_FULL_COVER; - d6e6: 2701 movs r7, #1 + d6ce: 2701 movs r7, #1 if(simple_mode && split && - d6e8: f1b9 0f32 cmp.w r9, #50 ; 0x32 - d6ec: f300 8093 bgt.w d816 + d6d0: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d6d4: f300 8093 bgt.w d7fe if(dsc->bg_grad_dir == LV_GRAD_DIR_HOR) { - d6f0: 2b02 cmp r3, #2 - d6f2: f000 8105 beq.w d900 + d6d8: 2b02 cmp r3, #2 + d6da: f000 8105 beq.w d8e8 else if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) { - d6f6: 2b01 cmp r3, #1 - d6f8: d1be bne.n d678 + d6de: 2b01 cmp r3, #1 + d6e0: d1be bne.n d660 _lv_blend_fill(clip, &fill_area, - d6fa: f89a 300d ldrb.w r3, [sl, #13] - d6fe: 9302 str r3, [sp, #8] - d700: 9b08 ldr r3, [sp, #32] - d702: 9301 str r3, [sp, #4] - d704: 9700 str r7, [sp, #0] - d706: 9b05 ldr r3, [sp, #20] - d708: 465a mov r2, fp - d70a: a91e add r1, sp, #120 ; 0x78 - d70c: 9804 ldr r0, [sp, #16] - d70e: 4c85 ldr r4, [pc, #532] ; (d924 ) - d710: 47a0 blx r4 - d712: e7c2 b.n d69a + d6e2: f89a 300d ldrb.w r3, [sl, #13] + d6e6: 9302 str r3, [sp, #8] + d6e8: 9b08 ldr r3, [sp, #32] + d6ea: 9301 str r3, [sp, #4] + d6ec: 9700 str r7, [sp, #0] + d6ee: 9b05 ldr r3, [sp, #20] + d6f0: 465a mov r2, fp + d6f2: a91e add r1, sp, #120 ; 0x78 + d6f4: 9804 ldr r0, [sp, #16] + d6f6: 4c85 ldr r4, [pc, #532] ; (d90c ) + d6f8: 47a0 blx r4 + d6fa: e7c2 b.n d682 mask_res = LV_DRAW_MASK_RES_FULL_COVER; - d714: 2701 movs r7, #1 + d6fc: 2701 movs r7, #1 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER && dsc->bg_color.full != dsc->bg_grad_color.full) { - d716: f8ba 2002 ldrh.w r2, [sl, #2] - d71a: f8ba 3004 ldrh.w r3, [sl, #4] - d71e: 429a cmp r2, r3 - d720: d06f beq.n d802 + d6fe: f8ba 2002 ldrh.w r2, [sl, #2] + d702: f8ba 3004 ldrh.w r3, [sl, #4] + d706: 429a cmp r2, r3 + d708: d06f beq.n d7ea return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - d722: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a + d70a: f8bd 106a ldrh.w r1, [sp, #106] ; 0x6a grad_color = grad_get(dsc, lv_area_get_height(&coords_bg), y - coords_bg.y1); - d726: 1a62 subs r2, r4, r1 - d728: b293 uxth r3, r2 - d72a: 461a mov r2, r3 - d72c: 930c str r3, [sp, #48] ; 0x30 + d70e: 1a62 subs r2, r4, r1 + d710: b293 uxth r3, r2 + d712: 461a mov r2, r3 + d714: 930c str r3, [sp, #48] ; 0x30 int32_t min = (dsc->bg_main_color_stop * s) >> 8; - d72e: f9ba e008 ldrsh.w lr, [sl, #8] - d732: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e - d736: 3301 adds r3, #1 - d738: 1a5b subs r3, r3, r1 - d73a: b21b sxth r3, r3 - d73c: fb03 f10e mul.w r1, r3, lr - d740: 1209 asrs r1, r1, #8 + d716: f9ba e008 ldrsh.w lr, [sl, #8] + d71a: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e + d71e: 3301 adds r3, #1 + d720: 1a5b subs r3, r3, r1 + d722: b21b sxth r3, r3 + d724: fb03 f10e mul.w r1, r3, lr + d728: 1209 asrs r1, r1, #8 if(i <= min) return dsc->bg_color; - d742: b210 sxth r0, r2 - d744: 4281 cmp r1, r0 - d746: da4b bge.n d7e0 + d72a: b210 sxth r0, r2 + d72c: 4281 cmp r1, r0 + d72e: da4b bge.n d7c8 int32_t max = (dsc->bg_grad_color_stop * s) >> 8; - d748: f9ba c00a ldrsh.w ip, [sl, #10] - d74c: fb0c f203 mul.w r2, ip, r3 + d730: f9ba c00a ldrsh.w ip, [sl, #10] + d734: fb0c f203 mul.w r2, ip, r3 if(i >= max) return dsc->bg_grad_color; - d750: ebb0 2f22 cmp.w r0, r2, asr #8 - d754: f280 80b0 bge.w d8b8 + d738: ebb0 2f22 cmp.w r0, r2, asr #8 + d73c: f280 80b0 bge.w d8a0 int32_t d = dsc->bg_grad_color_stop - dsc->bg_main_color_stop; - d758: ebac 0e0e sub.w lr, ip, lr + d740: ebac 0e0e sub.w lr, ip, lr d = (s * d) >> 8; - d75c: fb03 f30e mul.w r3, r3, lr + d744: fb03 f30e mul.w r3, r3, lr i -= min; - d760: 9a0c ldr r2, [sp, #48] ; 0x30 - d762: 1a52 subs r2, r2, r1 + d748: 9a0c ldr r2, [sp, #48] ; 0x30 + d74a: 1a52 subs r2, r2, r1 lv_opa_t mix = (i * 255) / d; - d764: b212 sxth r2, r2 - d766: ebc2 2202 rsb r2, r2, r2, lsl #8 + d74c: b212 sxth r2, r2 + d74e: ebc2 2202 rsb r2, r2, r2, lsl #8 d = (s * d) >> 8; - d76a: 121b asrs r3, r3, #8 + d752: 121b asrs r3, r3, #8 lv_opa_t mix = (i * 255) / d; - d76c: fb92 f3f3 sdiv r3, r2, r3 - d770: b2db uxtb r3, r3 + d754: fb92 f3f3 sdiv r3, r2, r3 + d758: b2db uxtb r3, r3 LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - d772: f1c3 01ff rsb r1, r3, #255 ; 0xff - d776: f89a 2005 ldrb.w r2, [sl, #5] - d77a: 08d2 lsrs r2, r2, #3 - d77c: f89a 0003 ldrb.w r0, [sl, #3] - d780: 08c0 lsrs r0, r0, #3 - d782: fb01 f000 mul.w r0, r1, r0 - d786: fb03 0202 mla r2, r3, r2, r0 - d78a: eb02 2002 add.w r0, r2, r2, lsl #8 - d78e: eb02 12c0 add.w r2, r2, r0, lsl #7 - d792: f3c2 52c4 ubfx r2, r2, #23, #5 + d75a: f1c3 01ff rsb r1, r3, #255 ; 0xff + d75e: f89a 2005 ldrb.w r2, [sl, #5] + d762: 08d2 lsrs r2, r2, #3 + d764: f89a 0003 ldrb.w r0, [sl, #3] + d768: 08c0 lsrs r0, r0, #3 + d76a: fb01 f000 mul.w r0, r1, r0 + d76e: fb03 0202 mla r2, r3, r2, r0 + d772: eb02 2002 add.w r0, r2, r2, lsl #8 + d776: eb02 12c0 add.w r2, r2, r0, lsl #7 + d77a: f3c2 52c4 ubfx r2, r2, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - d796: f8ba 0004 ldrh.w r0, [sl, #4] - d79a: f3c0 1045 ubfx r0, r0, #5, #6 - d79e: f8ba e002 ldrh.w lr, [sl, #2] - d7a2: f3ce 1e45 ubfx lr, lr, #5, #6 - d7a6: fb01 fe0e mul.w lr, r1, lr - d7aa: fb03 e000 mla r0, r3, r0, lr - d7ae: eb00 2e00 add.w lr, r0, r0, lsl #8 - d7b2: eb00 10ce add.w r0, r0, lr, lsl #7 - d7b6: f3c0 50c5 ubfx r0, r0, #23, #6 + d77e: f8ba 0004 ldrh.w r0, [sl, #4] + d782: f3c0 1045 ubfx r0, r0, #5, #6 + d786: f8ba e002 ldrh.w lr, [sl, #2] + d78a: f3ce 1e45 ubfx lr, lr, #5, #6 + d78e: fb01 fe0e mul.w lr, r1, lr + d792: fb03 e000 mla r0, r3, r0, lr + d796: eb00 2e00 add.w lr, r0, r0, lsl #8 + d79a: eb00 10ce add.w r0, r0, lr, lsl #7 + d79e: f3c0 50c5 ubfx r0, r0, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - d7ba: f89a e004 ldrb.w lr, [sl, #4] - d7be: f00e 0e1f and.w lr, lr, #31 - d7c2: f89a c002 ldrb.w ip, [sl, #2] - d7c6: f00c 0c1f and.w ip, ip, #31 - d7ca: fb01 f10c mul.w r1, r1, ip - d7ce: fb03 130e mla r3, r3, lr, r1 - d7d2: eb03 2103 add.w r1, r3, r3, lsl #8 - d7d6: eb03 13c1 add.w r3, r3, r1, lsl #7 - d7da: f3c3 53c4 ubfx r3, r3, #23, #5 - d7de: e00a b.n d7f6 + d7a2: f89a e004 ldrb.w lr, [sl, #4] + d7a6: f00e 0e1f and.w lr, lr, #31 + d7aa: f89a c002 ldrb.w ip, [sl, #2] + d7ae: f00c 0c1f and.w ip, ip, #31 + d7b2: fb01 f10c mul.w r1, r1, ip + d7b6: fb03 130e mla r3, r3, lr, r1 + d7ba: eb03 2103 add.w r1, r3, r3, lsl #8 + d7be: eb03 13c1 add.w r3, r3, r1, lsl #7 + d7c2: f3c3 53c4 ubfx r3, r3, #23, #5 + d7c6: e00a b.n d7de if(i <= min) return dsc->bg_color; - d7e0: f89a 3002 ldrb.w r3, [sl, #2] - d7e4: f003 031f and.w r3, r3, #31 - d7e8: f8ba 0002 ldrh.w r0, [sl, #2] - d7ec: f3c0 1045 ubfx r0, r0, #5, #6 - d7f0: f89a 2003 ldrb.w r2, [sl, #3] - d7f4: 08d2 lsrs r2, r2, #3 - d7f6: f363 0b04 bfi fp, r3, #0, #5 - d7fa: f360 1b4a bfi fp, r0, #5, #6 - d7fe: f362 2bcf bfi fp, r2, #11, #5 + d7c8: f89a 3002 ldrb.w r3, [sl, #2] + d7cc: f003 031f and.w r3, r3, #31 + d7d0: f8ba 0002 ldrh.w r0, [sl, #2] + d7d4: f3c0 1045 ubfx r0, r0, #5, #6 + d7d8: f89a 2003 ldrb.w r2, [sl, #3] + d7dc: 08d2 lsrs r2, r2, #3 + d7de: f363 0b04 bfi fp, r3, #0, #5 + d7e2: f360 1b4a bfi fp, r0, #5, #6 + d7e6: f362 2bcf bfi fp, r2, #11, #5 if(simple_mode && split && - d802: 9b07 ldr r3, [sp, #28] - d804: 2b00 cmp r3, #0 - d806: f43f af78 beq.w d6fa - d80a: f1b9 0f32 cmp.w r9, #50 ; 0x32 - d80e: bfc8 it gt - d810: 2301 movgt r3, #1 - d812: f77f af72 ble.w d6fa + d7ea: 9b07 ldr r3, [sp, #28] + d7ec: 2b00 cmp r3, #0 + d7ee: f43f af78 beq.w d6e2 + d7f2: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d7f6: bfc8 it gt + d7f8: 2301 movgt r3, #1 + d7fa: f77f af72 ble.w d6e2 (y < coords_bg.y1 + rout + 1 || - d816: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a - d81a: 4432 add r2, r6 - d81c: 3201 adds r2, #1 + d7fe: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a + d802: 4432 add r2, r6 + d804: 3201 adds r2, #1 if(simple_mode && split && - d81e: 4294 cmp r4, r2 - d820: db06 blt.n d830 + d806: 4294 cmp r4, r2 + d808: db06 blt.n d818 y > coords_bg.y2 - rout - 1)) { - d822: f9bd 206e ldrsh.w r2, [sp, #110] ; 0x6e - d826: 1b92 subs r2, r2, r6 - d828: 3a01 subs r2, #1 + d80a: f9bd 206e ldrsh.w r2, [sp, #110] ; 0x6e + d80e: 1b92 subs r2, r2, r6 + d810: 3a01 subs r2, #1 (y < coords_bg.y1 + rout + 1 || - d82a: 4294 cmp r4, r2 - d82c: f77f af60 ble.w d6f0 + d812: 4294 cmp r4, r2 + d814: f77f af60 ble.w d6d8 fill_area2.x1 = coords_bg.x1; - d830: f9bd 3068 ldrsh.w r3, [sp, #104] ; 0x68 - d834: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + d818: f9bd 3068 ldrsh.w r3, [sp, #104] ; 0x68 + d81c: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 fill_area2.x2 = coords_bg.x1 + rout - 1; - d838: b2b2 uxth r2, r6 - d83a: 920c str r2, [sp, #48] ; 0x30 - d83c: 3b01 subs r3, #1 - d83e: 4413 add r3, r2 - d840: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + d820: b2b2 uxth r2, r6 + d822: 920c str r2, [sp, #48] ; 0x30 + d824: 3b01 subs r3, #1 + d826: 4413 add r3, r2 + d828: f8ad 308c strh.w r3, [sp, #140] ; 0x8c fill_area2.y1 = fill_area.y1; - d844: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - d848: f8ad 308a strh.w r3, [sp, #138] ; 0x8a + d82c: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + d830: f8ad 308a strh.w r3, [sp, #138] ; 0x8a fill_area2.y2 = fill_area.y2; - d84c: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e - d850: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + d834: f8bd 307e ldrh.w r3, [sp, #126] ; 0x7e + d838: f8ad 308e strh.w r3, [sp, #142] ; 0x8e _lv_blend_fill(clip, &fill_area2, - d854: f89a 300d ldrb.w r3, [sl, #13] - d858: 9302 str r3, [sp, #8] - d85a: 9b08 ldr r3, [sp, #32] - d85c: 9301 str r3, [sp, #4] - d85e: 9700 str r7, [sp, #0] - d860: 9b05 ldr r3, [sp, #20] - d862: 465a mov r2, fp - d864: a922 add r1, sp, #136 ; 0x88 - d866: 9804 ldr r0, [sp, #16] - d868: 4c2e ldr r4, [pc, #184] ; (d924 ) - d86a: 47a0 blx r4 + d83c: f89a 300d ldrb.w r3, [sl, #13] + d840: 9302 str r3, [sp, #8] + d842: 9b08 ldr r3, [sp, #32] + d844: 9301 str r3, [sp, #4] + d846: 9700 str r7, [sp, #0] + d848: 9b05 ldr r3, [sp, #20] + d84a: 465a mov r2, fp + d84c: a922 add r1, sp, #136 ; 0x88 + d84e: 9804 ldr r0, [sp, #16] + d850: 4c2e ldr r4, [pc, #184] ; (d90c ) + d852: 47a0 blx r4 if(dsc->bg_grad_dir == LV_GRAD_DIR_VER) { - d86c: f89a 3006 ldrb.w r3, [sl, #6] - d870: 2b01 cmp r3, #1 - d872: d02d beq.n d8d0 + d854: f89a 3006 ldrb.w r3, [sl, #6] + d858: 2b01 cmp r3, #1 + d85a: d02d beq.n d8b8 fill_area2.x1 = coords_bg.x2 - rout + 1; - d874: f9bd 306c ldrsh.w r3, [sp, #108] ; 0x6c - d878: 1c5a adds r2, r3, #1 - d87a: 990c ldr r1, [sp, #48] ; 0x30 - d87c: 1a54 subs r4, r2, r1 - d87e: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 + d85c: f9bd 306c ldrsh.w r3, [sp, #108] ; 0x6c + d860: 1c5a adds r2, r3, #1 + d862: 990c ldr r1, [sp, #48] ; 0x30 + d864: 1a54 subs r4, r2, r1 + d866: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 fill_area2.x2 = coords_bg.x2; - d882: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + d86a: f8ad 308c strh.w r3, [sp, #140] ; 0x8c int32_t mask_ofs = (coords_bg.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - d886: 1b9b subs r3, r3, r6 - d888: 3301 adds r3, #1 - d88a: f9b8 2010 ldrsh.w r2, [r8, #16] - d88e: f9bd 1070 ldrsh.w r1, [sp, #112] ; 0x70 - d892: 440a add r2, r1 - d894: 1a9b subs r3, r3, r2 + d86e: 1b9b subs r3, r3, r6 + d870: 3301 adds r3, #1 + d872: f9b8 2010 ldrsh.w r2, [r8, #16] + d876: f9bd 1070 ldrsh.w r1, [sp, #112] ; 0x70 + d87a: 440a add r2, r1 + d87c: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, - d896: f89a 200d ldrb.w r2, [sl, #13] - d89a: 9202 str r2, [sp, #8] - d89c: 9a08 ldr r2, [sp, #32] - d89e: 9201 str r2, [sp, #4] - d8a0: 9700 str r7, [sp, #0] - d8a2: 9a05 ldr r2, [sp, #20] - d8a4: 2b00 cmp r3, #0 - d8a6: bfa8 it ge - d8a8: 18d2 addge r2, r2, r3 - d8aa: 4613 mov r3, r2 - d8ac: 465a mov r2, fp - d8ae: a922 add r1, sp, #136 ; 0x88 - d8b0: 9804 ldr r0, [sp, #16] - d8b2: 4c1c ldr r4, [pc, #112] ; (d924 ) - d8b4: 47a0 blx r4 - d8b6: e6f0 b.n d69a + d87e: f89a 200d ldrb.w r2, [sl, #13] + d882: 9202 str r2, [sp, #8] + d884: 9a08 ldr r2, [sp, #32] + d886: 9201 str r2, [sp, #4] + d888: 9700 str r7, [sp, #0] + d88a: 9a05 ldr r2, [sp, #20] + d88c: 2b00 cmp r3, #0 + d88e: bfa8 it ge + d890: 18d2 addge r2, r2, r3 + d892: 4613 mov r3, r2 + d894: 465a mov r2, fp + d896: a922 add r1, sp, #136 ; 0x88 + d898: 9804 ldr r0, [sp, #16] + d89a: 4c1c ldr r4, [pc, #112] ; (d90c ) + d89c: 47a0 blx r4 + d89e: e6f0 b.n d682 if(i >= max) return dsc->bg_grad_color; - d8b8: f89a 3004 ldrb.w r3, [sl, #4] - d8bc: f003 031f and.w r3, r3, #31 - d8c0: f8ba 0004 ldrh.w r0, [sl, #4] - d8c4: f3c0 1045 ubfx r0, r0, #5, #6 - d8c8: f89a 2005 ldrb.w r2, [sl, #5] - d8cc: 08d2 lsrs r2, r2, #3 - d8ce: e792 b.n d7f6 + d8a0: f89a 3004 ldrb.w r3, [sl, #4] + d8a4: f003 031f and.w r3, r3, #31 + d8a8: f8ba 0004 ldrh.w r0, [sl, #4] + d8ac: f3c0 1045 ubfx r0, r0, #5, #6 + d8b0: f89a 2005 ldrb.w r2, [sl, #5] + d8b4: 08d2 lsrs r2, r2, #3 + d8b6: e792 b.n d7de fill_area2.x1 = coords_bg.x1 + rout; - d8d0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - d8d4: 9a0c ldr r2, [sp, #48] ; 0x30 - d8d6: 4413 add r3, r2 - d8d8: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + d8b8: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d8bc: 9a0c ldr r2, [sp, #48] ; 0x30 + d8be: 4413 add r3, r2 + d8c0: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 fill_area2.x2 = coords_bg.x2 - rout; - d8dc: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - d8e0: 1a9b subs r3, r3, r2 - d8e2: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + d8c4: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + d8c8: 1a9b subs r3, r3, r2 + d8ca: f8ad 308c strh.w r3, [sp, #140] ; 0x8c _lv_blend_fill(clip, &fill_area2, - d8e6: f89a 300d ldrb.w r3, [sl, #13] - d8ea: 9302 str r3, [sp, #8] - d8ec: 9b08 ldr r3, [sp, #32] - d8ee: 9301 str r3, [sp, #4] - d8f0: 2301 movs r3, #1 - d8f2: 9300 str r3, [sp, #0] - d8f4: 2300 movs r3, #0 - d8f6: 465a mov r2, fp - d8f8: a922 add r1, sp, #136 ; 0x88 - d8fa: 9804 ldr r0, [sp, #16] - d8fc: 47a0 blx r4 - d8fe: e7b9 b.n d874 + d8ce: f89a 300d ldrb.w r3, [sl, #13] + d8d2: 9302 str r3, [sp, #8] + d8d4: 9b08 ldr r3, [sp, #32] + d8d6: 9301 str r3, [sp, #4] + d8d8: 2301 movs r3, #1 + d8da: 9300 str r3, [sp, #0] + d8dc: 2300 movs r3, #0 + d8de: 465a mov r2, fp + d8e0: a922 add r1, sp, #136 ; 0x88 + d8e2: 9804 ldr r0, [sp, #16] + d8e4: 47a0 blx r4 + d8e6: e7b9 b.n d85c _lv_blend_map(clip, &fill_area, grad_map, mask_buf, mask_res, opa, dsc->bg_blend_mode); - d900: f89a 300d ldrb.w r3, [sl, #13] - d904: 9302 str r3, [sp, #8] - d906: 9b08 ldr r3, [sp, #32] - d908: 9301 str r3, [sp, #4] - d90a: 9700 str r7, [sp, #0] - d90c: 9b05 ldr r3, [sp, #20] - d90e: 9a0d ldr r2, [sp, #52] ; 0x34 - d910: a91e add r1, sp, #120 ; 0x78 - d912: 9804 ldr r0, [sp, #16] - d914: 4c04 ldr r4, [pc, #16] ; (d928 ) - d916: 47a0 blx r4 - d918: e6bf b.n d69a - d91a: bf00 nop - d91c: 00012bed .word 0x00012bed - d920: 0000be1d .word 0x0000be1d - d924: 00007751 .word 0x00007751 - d928: 00008281 .word 0x00008281 - d92c: 9f08 ldr r7, [sp, #32] + d8e8: f89a 300d ldrb.w r3, [sl, #13] + d8ec: 9302 str r3, [sp, #8] + d8ee: 9b08 ldr r3, [sp, #32] + d8f0: 9301 str r3, [sp, #4] + d8f2: 9700 str r7, [sp, #0] + d8f4: 9b05 ldr r3, [sp, #20] + d8f6: 9a0d ldr r2, [sp, #52] ; 0x34 + d8f8: a91e add r1, sp, #120 ; 0x78 + d8fa: 9804 ldr r0, [sp, #16] + d8fc: 4c04 ldr r4, [pc, #16] ; (d910 ) + d8fe: 47a0 blx r4 + d900: e6bf b.n d682 + d902: bf00 nop + d904: 00012bd5 .word 0x00012bd5 + d908: 0000be05 .word 0x0000be05 + d90c: 00007739 .word 0x00007739 + d910: 00008269 .word 0x00008269 + d914: 9f08 ldr r7, [sp, #32] if(dsc->bg_grad_dir == LV_GRAD_DIR_NONE && other_mask_cnt == 0 && split) { - d92e: f89a 3006 ldrb.w r3, [sl, #6] - d932: b923 cbnz r3, d93e - d934: 9b0b ldr r3, [sp, #44] ; 0x2c - d936: b913 cbnz r3, d93e - d938: f1b9 0f32 cmp.w r9, #50 ; 0x32 - d93c: dc0b bgt.n d956 + d916: f89a 3006 ldrb.w r3, [sl, #6] + d91a: b923 cbnz r3, d926 + d91c: 9b0b ldr r3, [sp, #44] ; 0x2c + d91e: b913 cbnz r3, d926 + d920: f1b9 0f32 cmp.w r9, #50 ; 0x32 + d924: dc0b bgt.n d93e if(grad_map) _lv_mem_buf_release(grad_map); - d93e: 9b0d ldr r3, [sp, #52] ; 0x34 - d940: b113 cbz r3, d948 - d942: 4618 mov r0, r3 - d944: 4bb3 ldr r3, [pc, #716] ; (dc14 ) - d946: 4798 blx r3 + d926: 9b0d ldr r3, [sp, #52] ; 0x34 + d928: b113 cbz r3, d930 + d92a: 4618 mov r0, r3 + d92c: 4bb3 ldr r3, [pc, #716] ; (dbfc ) + d92e: 4798 blx r3 lv_draw_mask_remove_id(mask_rout_id); - d948: 980e ldr r0, [sp, #56] ; 0x38 - d94a: 4bb3 ldr r3, [pc, #716] ; (dc18 ) - d94c: 4798 blx r3 + d930: 980e ldr r0, [sp, #56] ; 0x38 + d932: 4bb3 ldr r3, [pc, #716] ; (dc00 ) + d934: 4798 blx r3 _lv_mem_buf_release(mask_buf); - d94e: 9805 ldr r0, [sp, #20] - d950: 4bb0 ldr r3, [pc, #704] ; (dc14 ) - d952: 4798 blx r3 - d954: e469 b.n d22a + d936: 9805 ldr r0, [sp, #20] + d938: 4bb0 ldr r3, [pc, #704] ; (dbfc ) + d93a: 4798 blx r3 + d93c: e469 b.n d212 fill_area.x1 = coords_bg.x1 + rout; - d956: b2b6 uxth r6, r6 - d958: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - d95c: 4433 add r3, r6 - d95e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + d93e: b2b6 uxth r6, r6 + d940: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d944: 4433 add r3, r6 + d946: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area.x2 = coords_bg.x2 - rout; - d962: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - d966: 1b9b subs r3, r3, r6 - d968: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + d94a: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + d94e: 1b9b subs r3, r3, r6 + d950: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area.y1 = coords_bg.y1; - d96c: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a - d970: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d954: f9bd 306a ldrsh.w r3, [sp, #106] ; 0x6a + d958: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2 = coords_bg.y1 + rout; - d974: 4433 add r3, r6 - d976: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + d95c: 4433 add r3, r6 + d95e: f8ad 307e strh.w r3, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area, - d97a: f89a 300d ldrb.w r3, [sl, #13] - d97e: 9302 str r3, [sp, #8] - d980: 9701 str r7, [sp, #4] - d982: 2301 movs r3, #1 - d984: 9300 str r3, [sp, #0] - d986: 2300 movs r3, #0 - d988: f8ba 2002 ldrh.w r2, [sl, #2] - d98c: a91e add r1, sp, #120 ; 0x78 - d98e: 9804 ldr r0, [sp, #16] - d990: 4ca2 ldr r4, [pc, #648] ; (dc1c ) - d992: 47a0 blx r4 + d962: f89a 300d ldrb.w r3, [sl, #13] + d966: 9302 str r3, [sp, #8] + d968: 9701 str r7, [sp, #4] + d96a: 2301 movs r3, #1 + d96c: 9300 str r3, [sp, #0] + d96e: 2300 movs r3, #0 + d970: f8ba 2002 ldrh.w r2, [sl, #2] + d974: a91e add r1, sp, #120 ; 0x78 + d976: 9804 ldr r0, [sp, #16] + d978: 4ca2 ldr r4, [pc, #648] ; (dc04 ) + d97a: 47a0 blx r4 fill_area.y1 = coords_bg.y2 - rout; - d994: f9bd 106e ldrsh.w r1, [sp, #110] ; 0x6e - d998: 1b8a subs r2, r1, r6 - d99a: b212 sxth r2, r2 - d99c: f8ad 207a strh.w r2, [sp, #122] ; 0x7a + d97c: f9bd 106e ldrsh.w r1, [sp, #110] ; 0x6e + d980: 1b8a subs r2, r1, r6 + d982: b212 sxth r2, r2 + d984: f8ad 207a strh.w r2, [sp, #122] ; 0x7a if(fill_area.y1 <= fill_area.y2) fill_area.y1 = fill_area.y2 + 1; /*Avoid overdrawing the last line*/ - d9a0: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e - d9a4: 429a cmp r2, r3 - d9a6: bfdc itt le - d9a8: 3301 addle r3, #1 - d9aa: f8ad 307a strhle.w r3, [sp, #122] ; 0x7a + d988: f9bd 307e ldrsh.w r3, [sp, #126] ; 0x7e + d98c: 429a cmp r2, r3 + d98e: bfdc itt le + d990: 3301 addle r3, #1 + d992: f8ad 307a strhle.w r3, [sp, #122] ; 0x7a fill_area.y2 = coords_bg.y2; - d9ae: f8ad 107e strh.w r1, [sp, #126] ; 0x7e + d996: f8ad 107e strh.w r1, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area, - d9b2: f89a 300d ldrb.w r3, [sl, #13] - d9b6: 9302 str r3, [sp, #8] - d9b8: 9701 str r7, [sp, #4] - d9ba: 2501 movs r5, #1 - d9bc: 9500 str r5, [sp, #0] - d9be: 2300 movs r3, #0 - d9c0: f8ba 2002 ldrh.w r2, [sl, #2] - d9c4: a91e add r1, sp, #120 ; 0x78 - d9c6: f8dd 8010 ldr.w r8, [sp, #16] - d9ca: 4640 mov r0, r8 - d9cc: 4c93 ldr r4, [pc, #588] ; (dc1c ) - d9ce: 47a0 blx r4 + d99a: f89a 300d ldrb.w r3, [sl, #13] + d99e: 9302 str r3, [sp, #8] + d9a0: 9701 str r7, [sp, #4] + d9a2: 2501 movs r5, #1 + d9a4: 9500 str r5, [sp, #0] + d9a6: 2300 movs r3, #0 + d9a8: f8ba 2002 ldrh.w r2, [sl, #2] + d9ac: a91e add r1, sp, #120 ; 0x78 + d9ae: f8dd 8010 ldr.w r8, [sp, #16] + d9b2: 4640 mov r0, r8 + d9b4: 4c93 ldr r4, [pc, #588] ; (dc04 ) + d9b6: 47a0 blx r4 fill_area.x1 = coords_bg.x1; - d9d0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - d9d4: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + d9b8: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + d9bc: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area.x2 = coords_bg.x2; - d9d8: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - d9dc: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + d9c0: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + d9c4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area.y1 = coords_bg.y1 + rout + 1; - d9e0: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a - d9e4: 442b add r3, r5 - d9e6: 4433 add r3, r6 - d9e8: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + d9c8: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a + d9cc: 442b add r3, r5 + d9ce: 4433 add r3, r6 + d9d0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area.y2 = coords_bg.y2 - rout - 1; - d9ec: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e - d9f0: 3b01 subs r3, #1 - d9f2: 1b9e subs r6, r3, r6 - d9f4: f8ad 607e strh.w r6, [sp, #126] ; 0x7e + d9d4: f8bd 306e ldrh.w r3, [sp, #110] ; 0x6e + d9d8: 3b01 subs r3, #1 + d9da: 1b9e subs r6, r3, r6 + d9dc: f8ad 607e strh.w r6, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area, - d9f8: f89a 300d ldrb.w r3, [sl, #13] - d9fc: 9302 str r3, [sp, #8] - d9fe: 9701 str r7, [sp, #4] - da00: 9500 str r5, [sp, #0] - da02: 2300 movs r3, #0 - da04: f8ba 2002 ldrh.w r2, [sl, #2] - da08: a91e add r1, sp, #120 ; 0x78 - da0a: 4640 mov r0, r8 - da0c: 47a0 blx r4 - da0e: e796 b.n d93e + d9e0: f89a 300d ldrb.w r3, [sl, #13] + d9e4: 9302 str r3, [sp, #8] + d9e6: 9701 str r7, [sp, #4] + d9e8: 9500 str r5, [sp, #0] + d9ea: 2300 movs r3, #0 + d9ec: f8ba 2002 ldrh.w r2, [sl, #2] + d9f0: a91e add r1, sp, #120 ; 0x78 + d9f2: 4640 mov r0, r8 + d9f4: 47a0 blx r4 + d9f6: e796 b.n d926 lv_img_src_t src_type = lv_img_src_get_type(dsc->pattern_image); - da10: 4b83 ldr r3, [pc, #524] ; (dc20 ) - da12: 4798 blx r3 - da14: 4605 mov r5, r0 + d9f8: 4b83 ldr r3, [pc, #524] ; (dc08 ) + d9fa: 4798 blx r3 + d9fc: 4605 mov r5, r0 if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_VARIABLE) { - da16: 2801 cmp r0, #1 - da18: d912 bls.n da40 + d9fe: 2801 cmp r0, #1 + da00: d912 bls.n da28 else if(src_type == LV_IMG_SRC_SYMBOL) { - da1a: 2802 cmp r0, #2 - da1c: d039 beq.n da92 + da02: 2802 cmp r0, #2 + da04: d039 beq.n da7a LV_LOG_WARN("lv_img_design: image source type is unknown"); - da1e: 4b81 ldr r3, [pc, #516] ; (dc24 ) - da20: 9300 str r3, [sp, #0] - da22: 4b81 ldr r3, [pc, #516] ; (dc28 ) - da24: f240 52ae movw r2, #1454 ; 0x5ae - da28: 4980 ldr r1, [pc, #512] ; (dc2c ) - da2a: 2002 movs r0, #2 - da2c: 4c80 ldr r4, [pc, #512] ; (dc30 ) - da2e: 47a0 blx r4 + da06: 4b81 ldr r3, [pc, #516] ; (dc0c ) + da08: 9300 str r3, [sp, #0] + da0a: 4b81 ldr r3, [pc, #516] ; (dc10 ) + da0c: f240 52ae movw r2, #1454 ; 0x5ae + da10: 4980 ldr r1, [pc, #512] ; (dc14 ) + da12: 2002 movs r0, #2 + da14: 4c80 ldr r4, [pc, #512] ; (dc18 ) + da16: 47a0 blx r4 lv_draw_img(coords, clip, NULL, NULL); - da30: 2300 movs r3, #0 - da32: 461a mov r2, r3 - da34: 9904 ldr r1, [sp, #16] - da36: 9806 ldr r0, [sp, #24] - da38: 4c7e ldr r4, [pc, #504] ; (dc34 ) - da3a: 47a0 blx r4 - da3c: f7ff bbfd b.w d23a + da18: 2300 movs r3, #0 + da1a: 461a mov r2, r3 + da1c: 9904 ldr r1, [sp, #16] + da1e: 9806 ldr r0, [sp, #24] + da20: 4c7e ldr r4, [pc, #504] ; (dc1c ) + da22: 47a0 blx r4 + da24: f7ff bbfd b.w d222 lv_res_t res = lv_img_decoder_get_info(dsc->pattern_image, &header); - da40: a929 add r1, sp, #164 ; 0xa4 - da42: f8da 002c ldr.w r0, [sl, #44] ; 0x2c - da46: 4b7c ldr r3, [pc, #496] ; (dc38 ) - da48: 4798 blx r3 + da28: a929 add r1, sp, #164 ; 0xa4 + da2a: f8da 002c ldr.w r0, [sl, #44] ; 0x2c + da2e: 4b7c ldr r3, [pc, #496] ; (dc20 ) + da30: 4798 blx r3 if(res != LV_RES_OK) { - da4a: 2801 cmp r0, #1 - da4c: d00a beq.n da64 + da32: 2801 cmp r0, #1 + da34: d00a beq.n da4c LV_LOG_WARN("draw_img: can't get image info"); - da4e: 4b7b ldr r3, [pc, #492] ; (dc3c ) - da50: 9300 str r3, [sp, #0] - da52: 4b75 ldr r3, [pc, #468] ; (dc28 ) - da54: f240 5294 movw r2, #1428 ; 0x594 - da58: 4974 ldr r1, [pc, #464] ; (dc2c ) - da5a: 2002 movs r0, #2 - da5c: 4c74 ldr r4, [pc, #464] ; (dc30 ) - da5e: 47a0 blx r4 - da60: f7ff bbeb b.w d23a + da36: 4b7b ldr r3, [pc, #492] ; (dc24 ) + da38: 9300 str r3, [sp, #0] + da3a: 4b75 ldr r3, [pc, #468] ; (dc10 ) + da3c: f240 5294 movw r2, #1428 ; 0x594 + da40: 4974 ldr r1, [pc, #464] ; (dc14 ) + da42: 2002 movs r0, #2 + da44: 4c74 ldr r4, [pc, #464] ; (dc18 ) + da46: 47a0 blx r4 + da48: f7ff bbeb b.w d222 img_w = header.w; - da64: 9b29 ldr r3, [sp, #164] ; 0xa4 - da66: f3c3 298a ubfx r9, r3, #10, #11 + da4c: 9b29 ldr r3, [sp, #164] ; 0xa4 + da4e: f3c3 298a ubfx r9, r3, #10, #11 img_h = header.h; - da6a: f8bd 70a6 ldrh.w r7, [sp, #166] ; 0xa6 - da6e: f3c7 174a ubfx r7, r7, #5, #11 + da52: f8bd 70a6 ldrh.w r7, [sp, #166] ; 0xa6 + da56: f3c7 174a ubfx r7, r7, #5, #11 lv_draw_img_dsc_init(&img_dsc); - da72: a81e add r0, sp, #120 ; 0x78 - da74: 4b72 ldr r3, [pc, #456] ; (dc40 ) - da76: 4798 blx r3 + da5a: a81e add r0, sp, #120 ; 0x78 + da5c: 4b72 ldr r3, [pc, #456] ; (dc28 ) + da5e: 4798 blx r3 img_dsc.opa = dsc->pattern_opa; - da78: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 - da7c: f88d 3078 strb.w r3, [sp, #120] ; 0x78 + da60: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 + da64: f88d 3078 strb.w r3, [sp, #120] ; 0x78 img_dsc.recolor_opa = dsc->pattern_recolor_opa; - da80: f89a 3037 ldrb.w r3, [sl, #55] ; 0x37 - da84: f88d 3082 strb.w r3, [sp, #130] ; 0x82 + da68: f89a 3037 ldrb.w r3, [sl, #55] ; 0x37 + da6c: f88d 3082 strb.w r3, [sp, #130] ; 0x82 img_dsc.recolor = dsc->pattern_recolor; - da88: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 - da8c: f8ad 3084 strh.w r3, [sp, #132] ; 0x84 - da90: e020 b.n dad4 + da70: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 + da74: f8ad 3084 strh.w r3, [sp, #132] ; 0x84 + da78: e020 b.n dabc lv_draw_label_dsc_init(&label_dsc); - da92: a822 add r0, sp, #136 ; 0x88 - da94: 4b6b ldr r3, [pc, #428] ; (dc44 ) - da96: 4798 blx r3 + da7a: a822 add r0, sp, #136 ; 0x88 + da7c: 4b6b ldr r3, [pc, #428] ; (dc2c ) + da7e: 4798 blx r3 label_dsc.color = dsc->pattern_recolor; - da98: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 - da9c: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + da80: f8ba 3034 ldrh.w r3, [sl, #52] ; 0x34 + da84: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 label_dsc.font = dsc->pattern_font; - daa0: f8da 2030 ldr.w r2, [sl, #48] ; 0x30 - daa4: 9223 str r2, [sp, #140] ; 0x8c + da88: f8da 2030 ldr.w r2, [sl, #48] ; 0x30 + da8c: 9223 str r2, [sp, #140] ; 0x8c label_dsc.opa = dsc->pattern_opa; - daa6: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 - daaa: f88d 3090 strb.w r3, [sp, #144] ; 0x90 + da8e: f89a 3036 ldrb.w r3, [sl, #54] ; 0x36 + da92: f88d 3090 strb.w r3, [sp, #144] ; 0x90 _lv_txt_get_size(&s, dsc->pattern_image, label_dsc.font, label_dsc.letter_space, label_dsc.line_space, LV_COORD_MAX, - daae: f9bd 3094 ldrsh.w r3, [sp, #148] ; 0x94 - dab2: 2100 movs r1, #0 - dab4: 9102 str r1, [sp, #8] - dab6: f647 4118 movw r1, #31768 ; 0x7c18 - daba: 9101 str r1, [sp, #4] - dabc: f9bd 1092 ldrsh.w r1, [sp, #146] ; 0x92 - dac0: 9100 str r1, [sp, #0] - dac2: f8da 102c ldr.w r1, [sl, #44] ; 0x2c - dac6: a829 add r0, sp, #164 ; 0xa4 - dac8: 4c5f ldr r4, [pc, #380] ; (dc48 ) - daca: 47a0 blx r4 + da96: f9bd 3094 ldrsh.w r3, [sp, #148] ; 0x94 + da9a: 2100 movs r1, #0 + da9c: 9102 str r1, [sp, #8] + da9e: f647 4118 movw r1, #31768 ; 0x7c18 + daa2: 9101 str r1, [sp, #4] + daa4: f9bd 1092 ldrsh.w r1, [sp, #146] ; 0x92 + daa8: 9100 str r1, [sp, #0] + daaa: f8da 102c ldr.w r1, [sl, #44] ; 0x2c + daae: a829 add r0, sp, #164 ; 0xa4 + dab0: 4c5f ldr r4, [pc, #380] ; (dc30 ) + dab2: 47a0 blx r4 img_w = s.x; - dacc: f9bd 90a4 ldrsh.w r9, [sp, #164] ; 0xa4 + dab4: f9bd 90a4 ldrsh.w r9, [sp, #164] ; 0xa4 img_h = s.y; - dad0: f9bd 70a6 ldrsh.w r7, [sp, #166] ; 0xa6 + dab8: f9bd 70a6 ldrsh.w r7, [sp, #166] ; 0xa6 if(dsc->pattern_repeat) { - dad4: f89a 3038 ldrb.w r3, [sl, #56] ; 0x38 - dad8: f013 0f01 tst.w r3, #1 - dadc: d13f bne.n db5e + dabc: f89a 3038 ldrb.w r3, [sl, #56] ; 0x38 + dac0: f013 0f01 tst.w r3, #1 + dac4: d13f bne.n db46 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - dade: 9c06 ldr r4, [sp, #24] - dae0: 8821 ldrh r1, [r4, #0] + dac6: 9c06 ldr r4, [sp, #24] + dac8: 8821 ldrh r1, [r4, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - dae2: 8860 ldrh r0, [r4, #2] - dae4: 88e2 ldrh r2, [r4, #6] - dae6: 3201 adds r2, #1 - dae8: 1a12 subs r2, r2, r0 + daca: 8860 ldrh r0, [r4, #2] + dacc: 88e2 ldrh r2, [r4, #6] + dace: 3201 adds r2, #1 + dad0: 1a12 subs r2, r2, r0 int32_t obj_h = lv_area_get_height(coords); - daea: b212 sxth r2, r2 + dad2: b212 sxth r2, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - daec: 88a3 ldrh r3, [r4, #4] - daee: 3301 adds r3, #1 - daf0: 1a5b subs r3, r3, r1 + dad4: 88a3 ldrh r3, [r4, #4] + dad6: 3301 adds r3, #1 + dad8: 1a5b subs r3, r3, r1 int32_t obj_w = lv_area_get_width(coords); - daf2: b21b sxth r3, r3 + dada: b21b sxth r3, r3 coords_tmp.x1 = coords->x1 + (obj_w - img_w) / 2; - daf4: eba3 0309 sub.w r3, r3, r9 - daf8: eb03 73d3 add.w r3, r3, r3, lsr #31 - dafc: eb01 0363 add.w r3, r1, r3, asr #1 - db00: b29b uxth r3, r3 - db02: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + dadc: eba3 0309 sub.w r3, r3, r9 + dae0: eb03 73d3 add.w r3, r3, r3, lsr #31 + dae4: eb01 0363 add.w r3, r1, r3, asr #1 + dae8: b29b uxth r3, r3 + daea: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 coords_tmp.y1 = coords->y1 + (obj_h - img_h) / 2; - db06: 1bd2 subs r2, r2, r7 - db08: eb02 71d2 add.w r1, r2, r2, lsr #31 - db0c: eb00 0161 add.w r1, r0, r1, asr #1 - db10: b289 uxth r1, r1 - db12: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 + daee: 1bd2 subs r2, r2, r7 + daf0: eb02 71d2 add.w r1, r2, r2, lsr #31 + daf4: eb00 0161 add.w r1, r0, r1, asr #1 + daf8: b289 uxth r1, r1 + dafa: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - db16: f109 39ff add.w r9, r9, #4294967295 - db1a: 4499 add r9, r3 - db1c: f8ad 9074 strh.w r9, [sp, #116] ; 0x74 + dafe: f109 39ff add.w r9, r9, #4294967295 + db02: 4499 add r9, r3 + db04: f8ad 9074 strh.w r9, [sp, #116] ; 0x74 coords_tmp.y2 = coords_tmp.y1 + img_h - 1; - db20: 1e7b subs r3, r7, #1 - db22: 440b add r3, r1 - db24: b29b uxth r3, r3 - db26: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + db08: 1e7b subs r3, r7, #1 + db0a: 440b add r3, r1 + db0c: b29b uxth r3, r3 + db0e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 if(src_type == LV_IMG_SRC_SYMBOL) { - db2a: 2d02 cmp r5, #2 - db2c: f000 80bd beq.w dcaa + db12: 2d02 cmp r5, #2 + db14: f000 80bd beq.w dc92 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - db30: f9ba 2000 ldrsh.w r2, [sl] - db34: 9906 ldr r1, [sp, #24] - db36: a81c add r0, sp, #112 ; 0x70 - db38: 4b44 ldr r3, [pc, #272] ; (dc4c ) - db3a: 4798 blx r3 + db18: f9ba 2000 ldrsh.w r2, [sl] + db1c: 9906 ldr r1, [sp, #24] + db1e: a81c add r0, sp, #112 ; 0x70 + db20: 4b44 ldr r3, [pc, #272] ; (dc34 ) + db22: 4798 blx r3 int16_t radius_mask_id = LV_MASK_ID_INV; - db3c: f04f 34ff mov.w r4, #4294967295 + db24: f04f 34ff mov.w r4, #4294967295 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - db40: 2800 cmp r0, #0 - db42: f000 86d4 beq.w e8ee + db28: 2800 cmp r0, #0 + db2a: f000 86d4 beq.w e8d6 else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - db46: ab1e add r3, sp, #120 ; 0x78 - db48: f8da 202c ldr.w r2, [sl, #44] ; 0x2c - db4c: 9904 ldr r1, [sp, #16] - db4e: a81c add r0, sp, #112 ; 0x70 - db50: 4d38 ldr r5, [pc, #224] ; (dc34 ) - db52: 47a8 blx r5 + db2e: ab1e add r3, sp, #120 ; 0x78 + db30: f8da 202c ldr.w r2, [sl, #44] ; 0x2c + db34: 9904 ldr r1, [sp, #16] + db36: a81c add r0, sp, #112 ; 0x70 + db38: 4d38 ldr r5, [pc, #224] ; (dc1c ) + db3a: 47a8 blx r5 lv_draw_mask_remove_id(radius_mask_id); - db54: 4620 mov r0, r4 - db56: 4b30 ldr r3, [pc, #192] ; (dc18 ) - db58: 4798 blx r3 - db5a: f7ff bb6e b.w d23a + db3c: 4620 mov r0, r4 + db3e: 4b30 ldr r3, [pc, #192] ; (dc00 ) + db40: 4798 blx r3 + db42: f7ff bb6e b.w d222 lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - db5e: 2300 movs r3, #0 - db60: f9ba 2000 ldrsh.w r2, [sl] - db64: 9e06 ldr r6, [sp, #24] - db66: 4631 mov r1, r6 - db68: a829 add r0, sp, #164 ; 0xa4 - db6a: 4c39 ldr r4, [pc, #228] ; (dc50 ) - db6c: 47a0 blx r4 + db46: 2300 movs r3, #0 + db48: f9ba 2000 ldrsh.w r2, [sl] + db4c: 9e06 ldr r6, [sp, #24] + db4e: 4631 mov r1, r6 + db50: a829 add r0, sp, #164 ; 0xa4 + db52: 4c39 ldr r4, [pc, #228] ; (dc38 ) + db54: 47a0 blx r4 int16_t radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - db6e: 2100 movs r1, #0 - db70: a829 add r0, sp, #164 ; 0xa4 - db72: 4b38 ldr r3, [pc, #224] ; (dc54 ) - db74: 4798 blx r3 - db76: 9007 str r0, [sp, #28] - db78: 88b3 ldrh r3, [r6, #4] - db7a: 3301 adds r3, #1 - db7c: 4634 mov r4, r6 - db7e: 8832 ldrh r2, [r6, #0] - db80: 1a9b subs r3, r3, r2 + db56: 2100 movs r1, #0 + db58: a829 add r0, sp, #164 ; 0xa4 + db5a: 4b38 ldr r3, [pc, #224] ; (dc3c ) + db5c: 4798 blx r3 + db5e: 9007 str r0, [sp, #28] + db60: 88b3 ldrh r3, [r6, #4] + db62: 3301 adds r3, #1 + db64: 4634 mov r4, r6 + db66: 8832 ldrh r2, [r6, #0] + db68: 1a9b subs r3, r3, r2 int32_t ofs_x = (lv_area_get_width(coords) - (lv_area_get_width(coords) / img_w) * img_w) / 2; - db82: b21b sxth r3, r3 - db84: fb93 f2f9 sdiv r2, r3, r9 - db88: fb09 3312 mls r3, r9, r2, r3 - db8c: eb03 73d3 add.w r3, r3, r3, lsr #31 - db90: ea4f 0b63 mov.w fp, r3, asr #1 + db6a: b21b sxth r3, r3 + db6c: fb93 f2f9 sdiv r2, r3, r9 + db70: fb09 3312 mls r3, r9, r2, r3 + db74: eb03 73d3 add.w r3, r3, r3, lsr #31 + db78: ea4f 0b63 mov.w fp, r3, asr #1 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - db94: f9b6 1006 ldrsh.w r1, [r6, #6] - db98: 8873 ldrh r3, [r6, #2] - db9a: 1c4a adds r2, r1, #1 - db9c: 1ad2 subs r2, r2, r3 + db7c: f9b6 1006 ldrsh.w r1, [r6, #6] + db80: 8873 ldrh r3, [r6, #2] + db82: 1c4a adds r2, r1, #1 + db84: 1ad2 subs r2, r2, r3 int32_t ofs_y = (lv_area_get_height(coords) - (lv_area_get_height(coords) / img_h) * img_h) / 2; - db9e: b210 sxth r0, r2 - dba0: fb90 f2f7 sdiv r2, r0, r7 - dba4: fb07 0212 mls r2, r7, r2, r0 - dba8: eb02 72d2 add.w r2, r2, r2, lsr #31 + db86: b210 sxth r0, r2 + db88: fb90 f2f7 sdiv r2, r0, r7 + db8c: fb07 0212 mls r2, r7, r2, r0 + db90: eb02 72d2 add.w r2, r2, r2, lsr #31 coords_tmp.y1 = coords->y1 - ofs_y; - dbac: eba3 0362 sub.w r3, r3, r2, asr #1 - dbb0: b29b uxth r3, r3 - dbb2: b21a sxth r2, r3 - dbb4: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 + db94: eba3 0362 sub.w r3, r3, r2, asr #1 + db98: b29b uxth r3, r3 + db9a: b21a sxth r2, r3 + db9c: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 coords_tmp.y2 = coords_tmp.y1 + img_h - 1; - dbb8: b2bf uxth r7, r7 - dbba: 1e78 subs r0, r7, #1 - dbbc: 4403 add r3, r0 - dbbe: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + dba0: b2bf uxth r7, r7 + dba2: 1e78 subs r0, r7, #1 + dba4: 4403 add r3, r0 + dba6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) { - dbc2: 4291 cmp r1, r2 - dbc4: db6c blt.n dca0 + dbaa: 4291 cmp r1, r2 + dbac: db6c blt.n dc88 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - dbc6: f8df 8090 ldr.w r8, [pc, #144] ; dc58 + dbae: f8df 8090 ldr.w r8, [pc, #144] ; dc40 else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - dbca: 4e1a ldr r6, [pc, #104] ; (dc34 ) - dbcc: f8cd 9014 str.w r9, [sp, #20] - dbd0: 46a1 mov r9, r4 - dbd2: e052 b.n dc7a + dbb2: 4e1a ldr r6, [pc, #104] ; (dc1c ) + dbb4: f8cd 9014 str.w r9, [sp, #20] + dbb8: 46a1 mov r9, r4 + dbba: e052 b.n dc62 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - dbd4: 2300 movs r3, #0 - dbd6: 9300 str r3, [sp, #0] - dbd8: f8da 302c ldr.w r3, [sl, #44] ; 0x2c - dbdc: aa22 add r2, sp, #136 ; 0x88 - dbde: 9904 ldr r1, [sp, #16] - dbe0: a81c add r0, sp, #112 ; 0x70 - dbe2: 47c0 blx r8 + dbbc: 2300 movs r3, #0 + dbbe: 9300 str r3, [sp, #0] + dbc0: f8da 302c ldr.w r3, [sl, #44] ; 0x2c + dbc4: aa22 add r2, sp, #136 ; 0x88 + dbc6: 9904 ldr r1, [sp, #16] + dbc8: a81c add r0, sp, #112 ; 0x70 + dbca: 47c0 blx r8 for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) { - dbe4: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - dbe8: 4423 add r3, r4 - dbea: b21b sxth r3, r3 - dbec: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 - dbf0: f8bd 2074 ldrh.w r2, [sp, #116] ; 0x74 - dbf4: 4422 add r2, r4 - dbf6: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 - dbfa: f9b9 2004 ldrsh.w r2, [r9, #4] - dbfe: 429a cmp r2, r3 - dc00: db2c blt.n dc5c + dbcc: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + dbd0: 4423 add r3, r4 + dbd2: b21b sxth r3, r3 + dbd4: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + dbd8: f8bd 2074 ldrh.w r2, [sp, #116] ; 0x74 + dbdc: 4422 add r2, r4 + dbde: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + dbe2: f9b9 2004 ldrsh.w r2, [r9, #4] + dbe6: 429a cmp r2, r3 + dbe8: db2c blt.n dc44 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - dc02: 2d02 cmp r5, #2 - dc04: d0e6 beq.n dbd4 + dbea: 2d02 cmp r5, #2 + dbec: d0e6 beq.n dbbc else lv_draw_img(&coords_tmp, clip, dsc->pattern_image, &img_dsc); - dc06: ab1e add r3, sp, #120 ; 0x78 - dc08: f8da 202c ldr.w r2, [sl, #44] ; 0x2c - dc0c: 9904 ldr r1, [sp, #16] - dc0e: a81c add r0, sp, #112 ; 0x70 - dc10: 47b0 blx r6 - dc12: e7e7 b.n dbe4 - dc14: 00012571 .word 0x00012571 - dc18: 0000be6d .word 0x0000be6d - dc1c: 00007751 .word 0x00007751 - dc20: 00009969 .word 0x00009969 - dc24: 000250e0 .word 0x000250e0 - dc28: 00025080 .word 0x00025080 - dc2c: 00025090 .word 0x00025090 - dc30: 0001225d .word 0x0001225d - dc34: 000096e9 .word 0x000096e9 - dc38: 0000fded .word 0x0000fded - dc3c: 000250c0 .word 0x000250c0 - dc40: 00009645 .word 0x00009645 - dc44: 000099cd .word 0x000099cd - dc48: 0001407d .word 0x0001407d - dc4c: 0001176d .word 0x0001176d - dc50: 0000c02d .word 0x0000c02d - dc54: 0000bdc1 .word 0x0000bdc1 - dc58: 00009a25 .word 0x00009a25 + dbee: ab1e add r3, sp, #120 ; 0x78 + dbf0: f8da 202c ldr.w r2, [sl, #44] ; 0x2c + dbf4: 9904 ldr r1, [sp, #16] + dbf6: a81c add r0, sp, #112 ; 0x70 + dbf8: 47b0 blx r6 + dbfa: e7e7 b.n dbcc + dbfc: 00012559 .word 0x00012559 + dc00: 0000be55 .word 0x0000be55 + dc04: 00007739 .word 0x00007739 + dc08: 00009951 .word 0x00009951 + dc0c: 000250c8 .word 0x000250c8 + dc10: 00025068 .word 0x00025068 + dc14: 00025078 .word 0x00025078 + dc18: 00012245 .word 0x00012245 + dc1c: 000096d1 .word 0x000096d1 + dc20: 0000fdd5 .word 0x0000fdd5 + dc24: 000250a8 .word 0x000250a8 + dc28: 0000962d .word 0x0000962d + dc2c: 000099b5 .word 0x000099b5 + dc30: 00014065 .word 0x00014065 + dc34: 00011755 .word 0x00011755 + dc38: 0000c015 .word 0x0000c015 + dc3c: 0000bda9 .word 0x0000bda9 + dc40: 00009a0d .word 0x00009a0d for(; coords_tmp.y1 <= coords->y2; coords_tmp.y1 += img_h, coords_tmp.y2 += img_h) { - dc5c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - dc60: 443b add r3, r7 - dc62: b21b sxth r3, r3 - dc64: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 - dc68: f8bd 2076 ldrh.w r2, [sp, #118] ; 0x76 - dc6c: 443a add r2, r7 - dc6e: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 - dc72: f9b9 2006 ldrsh.w r2, [r9, #6] - dc76: 429a cmp r2, r3 - dc78: db12 blt.n dca0 + dc44: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + dc48: 443b add r3, r7 + dc4a: b21b sxth r3, r3 + dc4c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + dc50: f8bd 2076 ldrh.w r2, [sp, #118] ; 0x76 + dc54: 443a add r2, r7 + dc56: f8ad 2076 strh.w r2, [sp, #118] ; 0x76 + dc5a: f9b9 2006 ldrsh.w r2, [r9, #6] + dc5e: 429a cmp r2, r3 + dc60: db12 blt.n dc88 coords_tmp.x1 = coords->x1 - ofs_x; - dc7a: f8b9 3000 ldrh.w r3, [r9] - dc7e: eba3 030b sub.w r3, r3, fp - dc82: b29b uxth r3, r3 - dc84: b21a sxth r2, r3 - dc86: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + dc62: f8b9 3000 ldrh.w r3, [r9] + dc66: eba3 030b sub.w r3, r3, fp + dc6a: b29b uxth r3, r3 + dc6c: b21a sxth r2, r3 + dc6e: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 coords_tmp.x2 = coords_tmp.x1 + img_w - 1; - dc8a: f8bd 4014 ldrh.w r4, [sp, #20] - dc8e: 1e61 subs r1, r4, #1 - dc90: 440b add r3, r1 - dc92: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + dc72: f8bd 4014 ldrh.w r4, [sp, #20] + dc76: 1e61 subs r1, r4, #1 + dc78: 440b add r3, r1 + dc7a: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 for(; coords_tmp.x1 <= coords->x2; coords_tmp.x1 += img_w, coords_tmp.x2 += img_w) { - dc96: f9b9 3004 ldrsh.w r3, [r9, #4] - dc9a: 4293 cmp r3, r2 - dc9c: dab1 bge.n dc02 - dc9e: e7dd b.n dc5c + dc7e: f9b9 3004 ldrsh.w r3, [r9, #4] + dc82: 4293 cmp r3, r2 + dc84: dab1 bge.n dbea + dc86: e7dd b.n dc44 lv_draw_mask_remove_id(radius_mask_id); - dca0: 9807 ldr r0, [sp, #28] - dca2: 4b8a ldr r3, [pc, #552] ; (decc ) - dca4: 4798 blx r3 - dca6: f7ff bac8 b.w d23a + dc88: 9807 ldr r0, [sp, #28] + dc8a: 4b8a ldr r3, [pc, #552] ; (deb4 ) + dc8c: 4798 blx r3 + dc8e: f7ff bac8 b.w d222 coords_tmp.y1 += y_corr; - dcaa: f002 0201 and.w r2, r2, #1 - dcae: 4411 add r1, r2 - dcb0: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 + dc92: f002 0201 and.w r2, r2, #1 + dc96: 4411 add r1, r2 + dc98: f8ad 1072 strh.w r1, [sp, #114] ; 0x72 coords_tmp.y2 += y_corr; - dcb4: 4413 add r3, r2 - dcb6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + dc9c: 4413 add r3, r2 + dc9e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 if(_lv_area_is_in(&coords_tmp, coords, dsc->radius) == false) { - dcba: f9ba 2000 ldrsh.w r2, [sl] - dcbe: 4621 mov r1, r4 - dcc0: a81c add r0, sp, #112 ; 0x70 - dcc2: 4b83 ldr r3, [pc, #524] ; (ded0 ) - dcc4: 4798 blx r3 - dcc6: b9a8 cbnz r0, dcf4 + dca2: f9ba 2000 ldrsh.w r2, [sl] + dca6: 4621 mov r1, r4 + dca8: a81c add r0, sp, #112 ; 0x70 + dcaa: 4b83 ldr r3, [pc, #524] ; (deb8 ) + dcac: 4798 blx r3 + dcae: b9a8 cbnz r0, dcdc lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - dcc8: 2300 movs r3, #0 - dcca: f9ba 2000 ldrsh.w r2, [sl] - dcce: 9906 ldr r1, [sp, #24] - dcd0: a829 add r0, sp, #164 ; 0xa4 - dcd2: 4c80 ldr r4, [pc, #512] ; (ded4 ) - dcd4: 47a0 blx r4 + dcb0: 2300 movs r3, #0 + dcb2: f9ba 2000 ldrsh.w r2, [sl] + dcb6: 9906 ldr r1, [sp, #24] + dcb8: a829 add r0, sp, #164 ; 0xa4 + dcba: 4c80 ldr r4, [pc, #512] ; (debc ) + dcbc: 47a0 blx r4 radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - dcd6: 2100 movs r1, #0 - dcd8: a829 add r0, sp, #164 ; 0xa4 - dcda: 4b7f ldr r3, [pc, #508] ; (ded8 ) - dcdc: 4798 blx r3 - dcde: 4604 mov r4, r0 + dcbe: 2100 movs r1, #0 + dcc0: a829 add r0, sp, #164 ; 0xa4 + dcc2: 4b7f ldr r3, [pc, #508] ; (dec0 ) + dcc4: 4798 blx r3 + dcc6: 4604 mov r4, r0 if(src_type == LV_IMG_SRC_SYMBOL) lv_draw_label(&coords_tmp, clip, &label_dsc, dsc->pattern_image, NULL); - dce0: 2300 movs r3, #0 - dce2: 9300 str r3, [sp, #0] - dce4: f8da 302c ldr.w r3, [sl, #44] ; 0x2c - dce8: aa22 add r2, sp, #136 ; 0x88 - dcea: 9904 ldr r1, [sp, #16] - dcec: a81c add r0, sp, #112 ; 0x70 - dcee: 4d7b ldr r5, [pc, #492] ; (dedc ) - dcf0: 47a8 blx r5 - dcf2: e72f b.n db54 + dcc8: 2300 movs r3, #0 + dcca: 9300 str r3, [sp, #0] + dccc: f8da 302c ldr.w r3, [sl, #44] ; 0x2c + dcd0: aa22 add r2, sp, #136 ; 0x88 + dcd2: 9904 ldr r1, [sp, #16] + dcd4: a81c add r0, sp, #112 ; 0x70 + dcd6: 4d7b ldr r5, [pc, #492] ; (dec4 ) + dcd8: 47a8 blx r5 + dcda: e72f b.n db3c int16_t radius_mask_id = LV_MASK_ID_INV; - dcf4: f04f 34ff mov.w r4, #4294967295 - dcf8: e7f2 b.n dce0 + dcdc: f04f 34ff mov.w r4, #4294967295 + dce0: e7f2 b.n dcc8 draw_area.x1 -= disp_area->x1; - dcfa: 8a29 ldrh r1, [r5, #16] - dcfc: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - dd00: 1a5b subs r3, r3, r1 - dd02: b29a uxth r2, r3 - dd04: f8ad 2060 strh.w r2, [sp, #96] ; 0x60 + dce2: 8a29 ldrh r1, [r5, #16] + dce4: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + dce8: 1a5b subs r3, r3, r1 + dcea: b29a uxth r2, r3 + dcec: f8ad 2060 strh.w r2, [sp, #96] ; 0x60 draw_area.y1 -= disp_area->y1; - dd08: 8a68 ldrh r0, [r5, #18] - dd0a: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 - dd0e: 1a1b subs r3, r3, r0 - dd10: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 + dcf0: 8a68 ldrh r0, [r5, #18] + dcf2: f8bd 3062 ldrh.w r3, [sp, #98] ; 0x62 + dcf6: 1a1b subs r3, r3, r0 + dcf8: f8ad 3062 strh.w r3, [sp, #98] ; 0x62 draw_area.x2 -= disp_area->x1; - dd14: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - dd18: 1a5b subs r3, r3, r1 - dd1a: b29b uxth r3, r3 - dd1c: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 + dcfc: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + dd00: 1a5b subs r3, r3, r1 + dd02: b29b uxth r3, r3 + dd04: f8ad 3064 strh.w r3, [sp, #100] ; 0x64 draw_area.y2 -= disp_area->y1; - dd20: f8bd 1066 ldrh.w r1, [sp, #102] ; 0x66 - dd24: 1a09 subs r1, r1, r0 - dd26: f8ad 1066 strh.w r1, [sp, #102] ; 0x66 + dd08: f8bd 1066 ldrh.w r1, [sp, #102] ; 0x66 + dd0c: 1a09 subs r1, r1, r0 + dd0e: f8ad 1066 strh.w r1, [sp, #102] ; 0x66 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - dd2a: 3301 adds r3, #1 - dd2c: 1a9b subs r3, r3, r2 - dd2e: b21b sxth r3, r3 - dd30: 9308 str r3, [sp, #32] + dd12: 3301 adds r3, #1 + dd14: 1a9b subs r3, r3, r2 + dd16: b21b sxth r3, r3 + dd18: 9308 str r3, [sp, #32] lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - dd32: 9309 str r3, [sp, #36] ; 0x24 - dd34: 4618 mov r0, r3 - dd36: 4b6a ldr r3, [pc, #424] ; (dee0 ) - dd38: 4798 blx r3 - dd3a: 4683 mov fp, r0 + dd1a: 9309 str r3, [sp, #36] ; 0x24 + dd1c: 4618 mov r0, r3 + dd1e: 4b6a ldr r3, [pc, #424] ; (dec8 ) + dd20: 4798 blx r3 + dd22: 4683 mov fp, r0 uint8_t other_mask_cnt = lv_draw_mask_get_cnt(); - dd3c: 4b69 ldr r3, [pc, #420] ; (dee4 ) - dd3e: 4798 blx r3 + dd24: 4b69 ldr r3, [pc, #420] ; (decc ) + dd26: 4798 blx r3 if(other_mask_cnt) simple_mode = false; - dd40: b948 cbnz r0, dd56 + dd28: b948 cbnz r0, dd3e else if(dsc->border_side != LV_BORDER_SIDE_FULL) simple_mode = false; - dd42: f9ba 8012 ldrsh.w r8, [sl, #18] - dd46: f1b8 0f0f cmp.w r8, #15 - dd4a: bf14 ite ne - dd4c: f04f 0800 movne.w r8, #0 - dd50: f04f 0801 moveq.w r8, #1 - dd54: e001 b.n dd5a + dd2a: f9ba 8012 ldrsh.w r8, [sl, #18] + dd2e: f1b8 0f0f cmp.w r8, #15 + dd32: bf14 ite ne + dd34: f04f 0800 movne.w r8, #0 + dd38: f04f 0801 moveq.w r8, #1 + dd3c: e001 b.n dd42 if(other_mask_cnt) simple_mode = false; - dd56: f04f 0800 mov.w r8, #0 + dd3e: f04f 0800 mov.w r8, #0 int32_t rout = dsc->radius; - dd5a: f9ba 2000 ldrsh.w r2, [sl] - dd5e: 9e06 ldr r6, [sp, #24] - dd60: 88b3 ldrh r3, [r6, #4] - dd62: 3301 adds r3, #1 - dd64: 8831 ldrh r1, [r6, #0] - dd66: 1a5b subs r3, r3, r1 + dd42: f9ba 2000 ldrsh.w r2, [sl] + dd46: 9e06 ldr r6, [sp, #24] + dd48: 88b3 ldrh r3, [r6, #4] + dd4a: 3301 adds r3, #1 + dd4c: 8831 ldrh r1, [r6, #0] + dd4e: 1a5b subs r3, r3, r1 int32_t coords_w = lv_area_get_width(coords); - dd68: b219 sxth r1, r3 + dd50: b219 sxth r1, r3 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - dd6a: 88f3 ldrh r3, [r6, #6] - dd6c: 3301 adds r3, #1 - dd6e: 8870 ldrh r0, [r6, #2] - dd70: 1a1b subs r3, r3, r0 + dd52: 88f3 ldrh r3, [r6, #6] + dd54: 3301 adds r3, #1 + dd56: 8870 ldrh r0, [r6, #2] + dd58: 1a1b subs r3, r3, r0 int32_t coords_h = lv_area_get_height(coords); - dd72: b21b sxth r3, r3 + dd5a: b21b sxth r3, r3 int32_t short_side = LV_MATH_MIN(coords_w, coords_h); - dd74: 428b cmp r3, r1 - dd76: bfa8 it ge - dd78: 460b movge r3, r1 + dd5c: 428b cmp r3, r1 + dd5e: bfa8 it ge + dd60: 460b movge r3, r1 if(rout > short_side >> 1) rout = short_side >> 1; - dd7a: 105b asrs r3, r3, #1 - dd7c: 4293 cmp r3, r2 - dd7e: bfa8 it ge - dd80: 4613 movge r3, r2 - dd82: 461a mov r2, r3 - dd84: 930a str r3, [sp, #40] ; 0x28 + dd62: 105b asrs r3, r3, #1 + dd64: 4293 cmp r3, r2 + dd66: bfa8 it ge + dd68: 4613 movge r3, r2 + dd6a: 461a mov r2, r3 + dd6c: 930a str r3, [sp, #40] ; 0x28 if(rout > 0) { - dd86: 2b00 cmp r3, #0 - dd88: f340 8088 ble.w de9c + dd6e: 2b00 cmp r3, #0 + dd70: f340 8088 ble.w de84 lv_draw_mask_radius_init(&mask_rout_param, coords, rout, false); - dd8c: 2300 movs r3, #0 - dd8e: 4631 mov r1, r6 - dd90: a822 add r0, sp, #136 ; 0x88 - dd92: 4e50 ldr r6, [pc, #320] ; (ded4 ) - dd94: 47b0 blx r6 + dd74: 2300 movs r3, #0 + dd76: 4631 mov r1, r6 + dd78: a822 add r0, sp, #136 ; 0x88 + dd7a: 4e50 ldr r6, [pc, #320] ; (debc ) + dd7c: 47b0 blx r6 mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - dd96: 2100 movs r1, #0 - dd98: a822 add r0, sp, #136 ; 0x88 - dd9a: 4b4f ldr r3, [pc, #316] ; (ded8 ) - dd9c: 4798 blx r3 - dd9e: 900e str r0, [sp, #56] ; 0x38 + dd7e: 2100 movs r1, #0 + dd80: a822 add r0, sp, #136 ; 0x88 + dd82: 4b4f ldr r3, [pc, #316] ; (dec0 ) + dd84: 4798 blx r3 + dd86: 900e str r0, [sp, #56] ; 0x38 int32_t rin = rout - dsc->border_width; - dda0: f9ba 6010 ldrsh.w r6, [sl, #16] - dda4: 9a06 ldr r2, [sp, #24] - dda6: 1e53 subs r3, r2, #1 - dda8: 1dd0 adds r0, r2, #7 + dd88: f9ba 6010 ldrsh.w r6, [sl, #16] + dd8c: 9a06 ldr r2, [sp, #24] + dd8e: 1e53 subs r3, r2, #1 + dd90: 1dd0 adds r0, r2, #7 uint8_t * d8 = (uint8_t *)dst; - ddaa: aa1a add r2, sp, #104 ; 0x68 + dd92: aa1a add r2, sp, #104 ; 0x68 *d8 = *s8; - ddac: f813 1f01 ldrb.w r1, [r3, #1]! - ddb0: f802 1b01 strb.w r1, [r2], #1 + dd94: f813 1f01 ldrb.w r1, [r3, #1]! + dd98: f802 1b01 strb.w r1, [r2], #1 while(len) { - ddb4: 4283 cmp r3, r0 - ddb6: d1f9 bne.n ddac + dd9c: 4283 cmp r3, r0 + dd9e: d1f9 bne.n dd94 area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout)); - ddb8: f8bd 2068 ldrh.w r2, [sp, #104] ; 0x68 - ddbc: f8ba 3012 ldrh.w r3, [sl, #18] - ddc0: f013 0f04 tst.w r3, #4 - ddc4: d06e beq.n dea4 - ddc6: b2b1 uxth r1, r6 - ddc8: 440a add r2, r1 - ddca: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 + dda0: f8bd 2068 ldrh.w r2, [sp, #104] ; 0x68 + dda4: f8ba 3012 ldrh.w r3, [sl, #18] + dda8: f013 0f04 tst.w r3, #4 + ddac: d06e beq.n de8c + ddae: b2b1 uxth r1, r6 + ddb0: 440a add r2, r1 + ddb2: f8ad 2068 strh.w r2, [sp, #104] ; 0x68 area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout)); - ddce: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c - ddd2: f013 0f08 tst.w r3, #8 - ddd6: d06a beq.n deae - ddd8: b2b1 uxth r1, r6 - ddda: 1a52 subs r2, r2, r1 - dddc: f8ad 206c strh.w r2, [sp, #108] ; 0x6c + ddb6: f8bd 206c ldrh.w r2, [sp, #108] ; 0x6c + ddba: f013 0f08 tst.w r3, #8 + ddbe: d06a beq.n de96 + ddc0: b2b1 uxth r1, r6 + ddc2: 1a52 subs r2, r2, r1 + ddc4: f8ad 206c strh.w r2, [sp, #108] ; 0x6c area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout)); - dde0: f8bd 206a ldrh.w r2, [sp, #106] ; 0x6a - dde4: f013 0f02 tst.w r3, #2 - dde8: d066 beq.n deb8 - ddea: b2b1 uxth r1, r6 - ddec: 440a add r2, r1 - ddee: f8ad 206a strh.w r2, [sp, #106] ; 0x6a + ddc8: f8bd 206a ldrh.w r2, [sp, #106] ; 0x6a + ddcc: f013 0f02 tst.w r3, #2 + ddd0: d066 beq.n dea0 + ddd2: b2b1 uxth r1, r6 + ddd4: 440a add r2, r1 + ddd6: f8ad 206a strh.w r2, [sp, #106] ; 0x6a area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout)); - ddf2: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e - ddf6: f013 0f01 tst.w r3, #1 - ddfa: d062 beq.n dec2 - ddfc: b2b3 uxth r3, r6 - ddfe: 1ad3 subs r3, r2, r3 - de00: f8ad 306e strh.w r3, [sp, #110] ; 0x6e + ddda: f8bd 206e ldrh.w r2, [sp, #110] ; 0x6e + ddde: f013 0f01 tst.w r3, #1 + dde2: d062 beq.n deaa + dde4: b2b3 uxth r3, r6 + dde6: 1ad3 subs r3, r2, r3 + dde8: f8ad 306e strh.w r3, [sp, #110] ; 0x6e lv_draw_mask_radius_init(&mask_rin_param, &area_small, rout - dsc->border_width, true); - de04: f8dd 9028 ldr.w r9, [sp, #40] ; 0x28 - de08: fa1f f789 uxth.w r7, r9 - de0c: 1bba subs r2, r7, r6 - de0e: 2301 movs r3, #1 - de10: b212 sxth r2, r2 - de12: a91a add r1, sp, #104 ; 0x68 - de14: a829 add r0, sp, #164 ; 0xa4 - de16: 4e2f ldr r6, [pc, #188] ; (ded4 ) - de18: 47b0 blx r6 + ddec: f8dd 9028 ldr.w r9, [sp, #40] ; 0x28 + ddf0: fa1f f789 uxth.w r7, r9 + ddf4: 1bba subs r2, r7, r6 + ddf6: 2301 movs r3, #1 + ddf8: b212 sxth r2, r2 + ddfa: a91a add r1, sp, #104 ; 0x68 + ddfc: a829 add r0, sp, #164 ; 0xa4 + ddfe: 4e2f ldr r6, [pc, #188] ; (debc ) + de00: 47b0 blx r6 int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL); - de1a: 2100 movs r1, #0 - de1c: a829 add r0, sp, #164 ; 0xa4 - de1e: 4b2e ldr r3, [pc, #184] ; (ded8 ) - de20: 4798 blx r3 - de22: 900f str r0, [sp, #60] ; 0x3c + de02: 2100 movs r1, #0 + de04: a829 add r0, sp, #164 ; 0xa4 + de06: 4b2e ldr r3, [pc, #184] ; (dec0 ) + de08: 4798 blx r3 + de0a: 900f str r0, [sp, #60] ; 0x3c int32_t corner_size = LV_MATH_MAX(rout, dsc->border_width - 1); - de24: f9ba 3010 ldrsh.w r3, [sl, #16] - de28: 3b01 subs r3, #1 - de2a: 454b cmp r3, r9 - de2c: bfb8 it lt - de2e: 464b movlt r3, r9 - de30: 4619 mov r1, r3 - de32: 930d str r3, [sp, #52] ; 0x34 + de0c: f9ba 3010 ldrsh.w r3, [sl, #16] + de10: 3b01 subs r3, #1 + de12: 454b cmp r3, r9 + de14: bfb8 it lt + de16: 464b movlt r3, r9 + de18: 4619 mov r1, r3 + de1a: 930d str r3, [sp, #52] ; 0x34 lv_color_t color = dsc->border_color; - de34: f8ba 300e ldrh.w r3, [sl, #14] - de38: f8ad 3014 strh.w r3, [sp, #20] + de1c: f8ba 300e ldrh.w r3, [sl, #14] + de20: f8ad 3014 strh.w r3, [sp, #20] lv_blend_mode_t blend_mode = dsc->border_blend_mode; - de3c: f89a 6015 ldrb.w r6, [sl, #21] + de24: f89a 6015 ldrb.w r6, [sl, #21] if(simple_mode) { - de40: f1b8 0f00 cmp.w r8, #0 - de44: f000 81bf beq.w e1c6 + de28: f1b8 0f00 cmp.w r8, #0 + de2c: f000 81bf beq.w e1ae int32_t upper_corner_end = coords->y1 - disp_area->y1 + corner_size; - de48: f9b5 3012 ldrsh.w r3, [r5, #18] - de4c: 9806 ldr r0, [sp, #24] - de4e: f9b0 2002 ldrsh.w r2, [r0, #2] - de52: 1ad2 subs r2, r2, r3 - de54: 440a add r2, r1 + de30: f9b5 3012 ldrsh.w r3, [r5, #18] + de34: 9806 ldr r0, [sp, #24] + de36: f9b0 2002 ldrsh.w r2, [r0, #2] + de3a: 1ad2 subs r2, r2, r3 + de3c: 440a add r2, r1 upper_corner_end = LV_MATH_MIN(upper_corner_end, draw_area.y2); - de56: f9bd 1066 ldrsh.w r1, [sp, #102] ; 0x66 - de5a: 4291 cmp r1, r2 - de5c: bfa8 it ge - de5e: 4611 movge r1, r2 - de60: 910b str r1, [sp, #44] ; 0x2c + de3e: f9bd 1066 ldrsh.w r1, [sp, #102] ; 0x66 + de42: 4291 cmp r1, r2 + de44: bfa8 it ge + de46: 4611 movge r1, r2 + de48: 910b str r1, [sp, #44] ; 0x2c fill_area.x1 = coords->x1; - de62: 8802 ldrh r2, [r0, #0] - de64: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + de4a: 8802 ldrh r2, [r0, #0] + de4c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 fill_area.x2 = coords->x2; - de68: 8882 ldrh r2, [r0, #4] - de6a: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + de50: 8882 ldrh r2, [r0, #4] + de52: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - de6e: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 - de72: 4413 add r3, r2 - de74: b21b sxth r3, r3 - de76: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + de56: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 + de5a: 4413 add r3, r2 + de5c: b21b sxth r3, r3 + de5e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - de7a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + de62: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - de7e: 4690 mov r8, r2 - de80: 9b0b ldr r3, [sp, #44] ; 0x2c - de82: 4293 cmp r3, r2 - de84: f2c0 80b3 blt.w dfee + de66: 4690 mov r8, r2 + de68: 9b0b ldr r3, [sp, #44] ; 0x2c + de6a: 4293 cmp r3, r2 + de6c: f2c0 80b3 blt.w dfd6 _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - de88: f8df 905c ldr.w r9, [pc, #92] ; dee8 - de8c: f8cd b01c str.w fp, [sp, #28] - de90: 46b3 mov fp, r6 - de92: 4626 mov r6, r4 - de94: f8cd a030 str.w sl, [sp, #48] ; 0x30 - de98: 4682 mov sl, r0 - de9a: e055 b.n df48 + de70: f8df 905c ldr.w r9, [pc, #92] ; ded0 + de74: f8cd b01c str.w fp, [sp, #28] + de78: 46b3 mov fp, r6 + de7a: 4626 mov r6, r4 + de7c: f8cd a030 str.w sl, [sp, #48] ; 0x30 + de80: 4682 mov sl, r0 + de82: e055 b.n df30 int16_t mask_rout_id = LV_MASK_ID_INV; - de9c: f04f 33ff mov.w r3, #4294967295 - dea0: 930e str r3, [sp, #56] ; 0x38 - dea2: e77d b.n dda0 + de84: f04f 33ff mov.w r3, #4294967295 + de88: 930e str r3, [sp, #56] ; 0x38 + de8a: e77d b.n dd88 area_small.x1 += ((dsc->border_side & LV_BORDER_SIDE_LEFT) ? dsc->border_width : - (dsc->border_width + rout)); - dea4: 990a ldr r1, [sp, #40] ; 0x28 - dea6: 1871 adds r1, r6, r1 - dea8: 4249 negs r1, r1 - deaa: b289 uxth r1, r1 - deac: e78c b.n ddc8 + de8c: 990a ldr r1, [sp, #40] ; 0x28 + de8e: 1871 adds r1, r6, r1 + de90: 4249 negs r1, r1 + de92: b289 uxth r1, r1 + de94: e78c b.n ddb0 area_small.x2 -= ((dsc->border_side & LV_BORDER_SIDE_RIGHT) ? dsc->border_width : - (dsc->border_width + rout)); - deae: 990a ldr r1, [sp, #40] ; 0x28 - deb0: 1871 adds r1, r6, r1 - deb2: 4249 negs r1, r1 - deb4: b289 uxth r1, r1 - deb6: e790 b.n ddda + de96: 990a ldr r1, [sp, #40] ; 0x28 + de98: 1871 adds r1, r6, r1 + de9a: 4249 negs r1, r1 + de9c: b289 uxth r1, r1 + de9e: e790 b.n ddc2 area_small.y1 += ((dsc->border_side & LV_BORDER_SIDE_TOP) ? dsc->border_width : - (dsc->border_width + rout)); - deb8: 990a ldr r1, [sp, #40] ; 0x28 - deba: 1871 adds r1, r6, r1 - debc: 4249 negs r1, r1 - debe: b289 uxth r1, r1 - dec0: e794 b.n ddec + dea0: 990a ldr r1, [sp, #40] ; 0x28 + dea2: 1871 adds r1, r6, r1 + dea4: 4249 negs r1, r1 + dea6: b289 uxth r1, r1 + dea8: e794 b.n ddd4 area_small.y2 -= ((dsc->border_side & LV_BORDER_SIDE_BOTTOM) ? dsc->border_width : - (dsc->border_width + rout)); - dec2: 9b0a ldr r3, [sp, #40] ; 0x28 - dec4: 18f3 adds r3, r6, r3 - dec6: 425b negs r3, r3 - dec8: b29b uxth r3, r3 - deca: e798 b.n ddfe - decc: 0000be6d .word 0x0000be6d - ded0: 0001176d .word 0x0001176d - ded4: 0000c02d .word 0x0000c02d - ded8: 0000bdc1 .word 0x0000bdc1 - dedc: 00009a25 .word 0x00009a25 - dee0: 0001293d .word 0x0001293d - dee4: 0000bec5 .word 0x0000bec5 - dee8: 00007751 .word 0x00007751 + deaa: 9b0a ldr r3, [sp, #40] ; 0x28 + deac: 18f3 adds r3, r6, r3 + deae: 425b negs r3, r3 + deb0: b29b uxth r3, r3 + deb2: e798 b.n dde6 + deb4: 0000be55 .word 0x0000be55 + deb8: 00011755 .word 0x00011755 + debc: 0000c015 .word 0x0000c015 + dec0: 0000bda9 .word 0x0000bda9 + dec4: 00009a0d .word 0x00009a0d + dec8: 00012925 .word 0x00012925 + decc: 0000bead .word 0x0000bead + ded0: 00007739 .word 0x00007739 fill_area2.x1 = coords->x2 - rout + 1; - deec: f9ba 3004 ldrsh.w r3, [sl, #4] - def0: 1c5a adds r2, r3, #1 - def2: 1bd2 subs r2, r2, r7 - def4: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 + ded4: f9ba 3004 ldrsh.w r3, [sl, #4] + ded8: 1c5a adds r2, r3, #1 + deda: 1bd2 subs r2, r2, r7 + dedc: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2; - def8: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + dee0: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - defc: 9a0a ldr r2, [sp, #40] ; 0x28 - defe: 1a9b subs r3, r3, r2 - df00: 3301 adds r3, #1 - df02: f9b5 2010 ldrsh.w r2, [r5, #16] - df06: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 - df0a: 440a add r2, r1 - df0c: 1a9b subs r3, r3, r2 + dee4: 9a0a ldr r2, [sp, #40] ; 0x28 + dee6: 1a9b subs r3, r3, r2 + dee8: 3301 adds r3, #1 + deea: f9b5 2010 ldrsh.w r2, [r5, #16] + deee: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 + def2: 440a add r2, r1 + def4: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - df0e: f8cd b008 str.w fp, [sp, #8] - df12: 9601 str r6, [sp, #4] - df14: 9400 str r4, [sp, #0] - df16: 9a07 ldr r2, [sp, #28] - df18: 2b00 cmp r3, #0 - df1a: bfa8 it ge - df1c: 18d2 addge r2, r2, r3 - df1e: 4613 mov r3, r2 - df20: f8bd 2014 ldrh.w r2, [sp, #20] - df24: a91e add r1, sp, #120 ; 0x78 - df26: 9804 ldr r0, [sp, #16] - df28: 47c8 blx r9 + def6: f8cd b008 str.w fp, [sp, #8] + defa: 9601 str r6, [sp, #4] + defc: 9400 str r4, [sp, #0] + defe: 9a07 ldr r2, [sp, #28] + df00: 2b00 cmp r3, #0 + df02: bfa8 it ge + df04: 18d2 addge r2, r2, r3 + df06: 4613 mov r3, r2 + df08: f8bd 2014 ldrh.w r2, [sp, #20] + df0c: a91e add r1, sp, #120 ; 0x78 + df0e: 9804 ldr r0, [sp, #16] + df10: 47c8 blx r9 fill_area.y1++; - df2a: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - df2e: 3301 adds r3, #1 - df30: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + df12: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + df16: 3301 adds r3, #1 + df18: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - df34: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - df38: 3301 adds r3, #1 - df3a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + df1c: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + df20: 3301 adds r3, #1 + df22: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - df3e: f108 0801 add.w r8, r8, #1 - df42: 9b0b ldr r3, [sp, #44] ; 0x2c - df44: 4543 cmp r3, r8 - df46: db4c blt.n dfe2 + df26: f108 0801 add.w r8, r8, #1 + df2a: 9b0b ldr r3, [sp, #44] ; 0x2c + df2c: 4543 cmp r3, r8 + df2e: db4c blt.n dfca _lv_memset_ff(mask_buf, draw_area_w); - df48: 9909 ldr r1, [sp, #36] ; 0x24 - df4a: 9c07 ldr r4, [sp, #28] - df4c: 4620 mov r0, r4 - df4e: 4bc7 ldr r3, [pc, #796] ; (e26c ) - df50: 4798 blx r3 + df30: 9909 ldr r1, [sp, #36] ; 0x24 + df32: 9c07 ldr r4, [sp, #28] + df34: 4620 mov r0, r4 + df36: 4bc7 ldr r3, [pc, #796] ; (e254 ) + df38: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - df52: 8a6a ldrh r2, [r5, #18] - df54: 4442 add r2, r8 - df56: 8a29 ldrh r1, [r5, #16] - df58: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - df5c: 4419 add r1, r3 - df5e: 9b08 ldr r3, [sp, #32] - df60: b212 sxth r2, r2 - df62: b209 sxth r1, r1 - df64: 9407 str r4, [sp, #28] - df66: 4620 mov r0, r4 - df68: 4cc1 ldr r4, [pc, #772] ; (e270 ) - df6a: 47a0 blx r4 - df6c: 4604 mov r4, r0 + df3a: 8a6a ldrh r2, [r5, #18] + df3c: 4442 add r2, r8 + df3e: 8a29 ldrh r1, [r5, #16] + df40: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + df44: 4419 add r1, r3 + df46: 9b08 ldr r3, [sp, #32] + df48: b212 sxth r2, r2 + df4a: b209 sxth r1, r1 + df4c: 9407 str r4, [sp, #28] + df4e: 4620 mov r0, r4 + df50: 4cc1 ldr r4, [pc, #772] ; (e258 ) + df52: 47a0 blx r4 + df54: 4604 mov r4, r0 fill_area2.y1 = fill_area.y1; - df6e: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - df72: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + df56: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + df5a: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - df76: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - df7a: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + df5e: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + df62: f8ad 307e strh.w r3, [sp, #126] ; 0x7e fill_area2.x1 = coords->x1; - df7e: f9ba 3000 ldrsh.w r3, [sl] - df82: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + df66: f9ba 3000 ldrsh.w r3, [sl] + df6a: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x1 + rout - 1; - df86: 3b01 subs r3, #1 - df88: 443b add r3, r7 - df8a: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + df6e: 3b01 subs r3, #1 + df70: 443b add r3, r7 + df72: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - df8e: f8cd b008 str.w fp, [sp, #8] - df92: 9601 str r6, [sp, #4] - df94: 9000 str r0, [sp, #0] - df96: 9b07 ldr r3, [sp, #28] - df98: f8bd 2014 ldrh.w r2, [sp, #20] - df9c: a91e add r1, sp, #120 ; 0x78 - df9e: 9804 ldr r0, [sp, #16] - dfa0: 47c8 blx r9 + df76: f8cd b008 str.w fp, [sp, #8] + df7a: 9601 str r6, [sp, #4] + df7c: 9000 str r0, [sp, #0] + df7e: 9b07 ldr r3, [sp, #28] + df80: f8bd 2014 ldrh.w r2, [sp, #20] + df84: a91e add r1, sp, #120 ; 0x78 + df86: 9804 ldr r0, [sp, #16] + df88: 47c8 blx r9 if(fill_area2.y2 < coords->y1 + dsc->border_width) { - dfa2: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - dfa6: f9ba 3002 ldrsh.w r3, [sl, #2] - dfaa: 990c ldr r1, [sp, #48] ; 0x30 - dfac: f9b1 1010 ldrsh.w r1, [r1, #16] - dfb0: 440b add r3, r1 - dfb2: 429a cmp r2, r3 - dfb4: da9a bge.n deec + df8a: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + df8e: f9ba 3002 ldrsh.w r3, [sl, #2] + df92: 990c ldr r1, [sp, #48] ; 0x30 + df94: f9b1 1010 ldrsh.w r1, [r1, #16] + df98: 440b add r3, r1 + df9a: 429a cmp r2, r3 + df9c: da9a bge.n ded4 fill_area2.x1 = coords->x1 + rout; - dfb6: f8ba 3000 ldrh.w r3, [sl] - dfba: 443b add r3, r7 - dfbc: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + df9e: f8ba 3000 ldrh.w r3, [sl] + dfa2: 443b add r3, r7 + dfa4: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2 - rout; - dfc0: f8ba 3004 ldrh.w r3, [sl, #4] - dfc4: 1bdb subs r3, r3, r7 - dfc6: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + dfa8: f8ba 3004 ldrh.w r3, [sl, #4] + dfac: 1bdb subs r3, r3, r7 + dfae: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - dfca: f8cd b008 str.w fp, [sp, #8] - dfce: 9601 str r6, [sp, #4] - dfd0: 2301 movs r3, #1 - dfd2: 9300 str r3, [sp, #0] - dfd4: 2300 movs r3, #0 - dfd6: f8bd 2014 ldrh.w r2, [sp, #20] - dfda: a91e add r1, sp, #120 ; 0x78 - dfdc: 9804 ldr r0, [sp, #16] - dfde: 47c8 blx r9 - dfe0: e784 b.n deec - dfe2: 4634 mov r4, r6 - dfe4: 465e mov r6, fp - dfe6: f8dd b01c ldr.w fp, [sp, #28] - dfea: f8dd a030 ldr.w sl, [sp, #48] ; 0x30 + dfb2: f8cd b008 str.w fp, [sp, #8] + dfb6: 9601 str r6, [sp, #4] + dfb8: 2301 movs r3, #1 + dfba: 9300 str r3, [sp, #0] + dfbc: 2300 movs r3, #0 + dfbe: f8bd 2014 ldrh.w r2, [sp, #20] + dfc2: a91e add r1, sp, #120 ; 0x78 + dfc4: 9804 ldr r0, [sp, #16] + dfc6: 47c8 blx r9 + dfc8: e784 b.n ded4 + dfca: 4634 mov r4, r6 + dfcc: 465e mov r6, fp + dfce: f8dd b01c ldr.w fp, [sp, #28] + dfd2: f8dd a030 ldr.w sl, [sp, #48] ; 0x30 int32_t lower_corner_end = coords->y2 - disp_area->y1 - corner_size; - dfee: f9b5 3012 ldrsh.w r3, [r5, #18] - dff2: 9a06 ldr r2, [sp, #24] - dff4: f9b2 2006 ldrsh.w r2, [r2, #6] - dff8: 1ad2 subs r2, r2, r3 - dffa: 990d ldr r1, [sp, #52] ; 0x34 - dffc: 1a52 subs r2, r2, r1 + dfd6: f9b5 3012 ldrsh.w r3, [r5, #18] + dfda: 9a06 ldr r2, [sp, #24] + dfdc: f9b2 2006 ldrsh.w r2, [r2, #6] + dfe0: 1ad2 subs r2, r2, r3 + dfe2: 990d ldr r1, [sp, #52] ; 0x34 + dfe4: 1a52 subs r2, r2, r1 lower_corner_end = LV_MATH_MAX(lower_corner_end, draw_area.y1); - dffe: f9bd 8062 ldrsh.w r8, [sp, #98] ; 0x62 - e002: 4590 cmp r8, r2 - e004: bfb8 it lt - e006: 4690 movlt r8, r2 + dfe6: f9bd 8062 ldrsh.w r8, [sp, #98] ; 0x62 + dfea: 4590 cmp r8, r2 + dfec: bfb8 it lt + dfee: 4690 movlt r8, r2 if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1; - e008: 990b ldr r1, [sp, #44] ; 0x2c - e00a: 4541 cmp r1, r8 - e00c: bfa8 it ge - e00e: f101 0801 addge.w r8, r1, #1 + dff0: 990b ldr r1, [sp, #44] ; 0x2c + dff2: 4541 cmp r1, r8 + dff4: bfa8 it ge + dff6: f101 0801 addge.w r8, r1, #1 fill_area.y1 = disp_area->y1 + lower_corner_end; - e012: 4443 add r3, r8 - e014: b21b sxth r3, r3 - e016: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + dffa: 4443 add r3, r8 + dffc: b21b sxth r3, r3 + dffe: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e01a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e002: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - e01e: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e022: 4598 cmp r8, r3 - e024: f300 808d bgt.w e142 + e006: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e00a: 4598 cmp r8, r3 + e00c: f300 808d bgt.w e12a _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e028: f8df 9248 ldr.w r9, [pc, #584] ; e274 - e02c: f8cd b01c str.w fp, [sp, #28] - e030: 46b3 mov fp, r6 - e032: 4626 mov r6, r4 - e034: f8cd a02c str.w sl, [sp, #44] ; 0x2c - e038: f8dd a018 ldr.w sl, [sp, #24] - e03c: e02e b.n e09c + e010: f8df 9248 ldr.w r9, [pc, #584] ; e25c + e014: f8cd b01c str.w fp, [sp, #28] + e018: 46b3 mov fp, r6 + e01a: 4626 mov r6, r4 + e01c: f8cd a02c str.w sl, [sp, #44] ; 0x2c + e020: f8dd a018 ldr.w sl, [sp, #24] + e024: e02e b.n e084 fill_area2.x1 = coords->x2 - rout + 1; - e03e: f9ba 3004 ldrsh.w r3, [sl, #4] - e042: 1c5a adds r2, r3, #1 - e044: 1bd2 subs r2, r2, r7 - e046: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 + e026: f9ba 3004 ldrsh.w r3, [sl, #4] + e02a: 1c5a adds r2, r3, #1 + e02c: 1bd2 subs r2, r2, r7 + e02e: f8ad 2078 strh.w r2, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2; - e04a: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e032: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (coords->x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - e04e: 9a0a ldr r2, [sp, #40] ; 0x28 - e050: 1a9b subs r3, r3, r2 - e052: 3301 adds r3, #1 - e054: f9b5 2010 ldrsh.w r2, [r5, #16] - e058: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 - e05c: 440a add r2, r1 - e05e: 1a9b subs r3, r3, r2 + e036: 9a0a ldr r2, [sp, #40] ; 0x28 + e038: 1a9b subs r3, r3, r2 + e03a: 3301 adds r3, #1 + e03c: f9b5 2010 ldrsh.w r2, [r5, #16] + e040: f9bd 1060 ldrsh.w r1, [sp, #96] ; 0x60 + e044: 440a add r2, r1 + e046: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - e060: f8cd b008 str.w fp, [sp, #8] - e064: 9601 str r6, [sp, #4] - e066: 9400 str r4, [sp, #0] - e068: 9a07 ldr r2, [sp, #28] - e06a: 2b00 cmp r3, #0 - e06c: bfa8 it ge - e06e: 18d2 addge r2, r2, r3 - e070: 4613 mov r3, r2 - e072: f8bd 2014 ldrh.w r2, [sp, #20] - e076: a91e add r1, sp, #120 ; 0x78 - e078: 9804 ldr r0, [sp, #16] - e07a: 47c8 blx r9 + e048: f8cd b008 str.w fp, [sp, #8] + e04c: 9601 str r6, [sp, #4] + e04e: 9400 str r4, [sp, #0] + e050: 9a07 ldr r2, [sp, #28] + e052: 2b00 cmp r3, #0 + e054: bfa8 it ge + e056: 18d2 addge r2, r2, r3 + e058: 4613 mov r3, r2 + e05a: f8bd 2014 ldrh.w r2, [sp, #20] + e05e: a91e add r1, sp, #120 ; 0x78 + e060: 9804 ldr r0, [sp, #16] + e062: 47c8 blx r9 fill_area.y1++; - e07c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e080: 3301 adds r3, #1 - e082: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e064: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e068: 3301 adds r3, #1 + e06a: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e086: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e08a: 3301 adds r3, #1 - e08c: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e06e: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e072: 3301 adds r3, #1 + e074: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - e090: f108 0801 add.w r8, r8, #1 - e094: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e098: 4598 cmp r8, r3 - e09a: dc4c bgt.n e136 + e078: f108 0801 add.w r8, r8, #1 + e07c: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e080: 4598 cmp r8, r3 + e082: dc4c bgt.n e11e _lv_memset_ff(mask_buf, draw_area_w); - e09c: 9909 ldr r1, [sp, #36] ; 0x24 - e09e: 9c07 ldr r4, [sp, #28] - e0a0: 4620 mov r0, r4 - e0a2: 4b72 ldr r3, [pc, #456] ; (e26c ) - e0a4: 4798 blx r3 + e084: 9909 ldr r1, [sp, #36] ; 0x24 + e086: 9c07 ldr r4, [sp, #28] + e088: 4620 mov r0, r4 + e08a: 4b72 ldr r3, [pc, #456] ; (e254 ) + e08c: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e0a6: 8a6a ldrh r2, [r5, #18] - e0a8: 4442 add r2, r8 - e0aa: 8a29 ldrh r1, [r5, #16] - e0ac: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e0b0: 4419 add r1, r3 - e0b2: 9b08 ldr r3, [sp, #32] - e0b4: b212 sxth r2, r2 - e0b6: b209 sxth r1, r1 - e0b8: 9407 str r4, [sp, #28] - e0ba: 4620 mov r0, r4 - e0bc: 4c6c ldr r4, [pc, #432] ; (e270 ) - e0be: 47a0 blx r4 - e0c0: 4604 mov r4, r0 + e08e: 8a6a ldrh r2, [r5, #18] + e090: 4442 add r2, r8 + e092: 8a29 ldrh r1, [r5, #16] + e094: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e098: 4419 add r1, r3 + e09a: 9b08 ldr r3, [sp, #32] + e09c: b212 sxth r2, r2 + e09e: b209 sxth r1, r1 + e0a0: 9407 str r4, [sp, #28] + e0a2: 4620 mov r0, r4 + e0a4: 4c6c ldr r4, [pc, #432] ; (e258 ) + e0a6: 47a0 blx r4 + e0a8: 4604 mov r4, r0 fill_area2.x1 = coords->x1; - e0c2: f9ba 3000 ldrsh.w r3, [sl] - e0c6: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e0aa: f9ba 3000 ldrsh.w r3, [sl] + e0ae: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x1 + rout - 1; - e0ca: 3b01 subs r3, #1 - e0cc: 443b add r3, r7 - e0ce: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e0b2: 3b01 subs r3, #1 + e0b4: 443b add r3, r7 + e0b6: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area2.y1 = fill_area.y1; - e0d2: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e0d6: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + e0ba: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e0be: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - e0da: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e0de: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + e0c2: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e0c6: f8ad 307e strh.w r3, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e0e2: f8cd b008 str.w fp, [sp, #8] - e0e6: 9601 str r6, [sp, #4] - e0e8: 9000 str r0, [sp, #0] - e0ea: 9b07 ldr r3, [sp, #28] - e0ec: f8bd 2014 ldrh.w r2, [sp, #20] - e0f0: a91e add r1, sp, #120 ; 0x78 - e0f2: 9804 ldr r0, [sp, #16] - e0f4: 47c8 blx r9 + e0ca: f8cd b008 str.w fp, [sp, #8] + e0ce: 9601 str r6, [sp, #4] + e0d0: 9000 str r0, [sp, #0] + e0d2: 9b07 ldr r3, [sp, #28] + e0d4: f8bd 2014 ldrh.w r2, [sp, #20] + e0d8: a91e add r1, sp, #120 ; 0x78 + e0da: 9804 ldr r0, [sp, #16] + e0dc: 47c8 blx r9 if(fill_area2.y2 > coords->y2 - dsc->border_width) { - e0f6: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - e0fa: f9ba 3006 ldrsh.w r3, [sl, #6] - e0fe: 990b ldr r1, [sp, #44] ; 0x2c - e100: f9b1 1010 ldrsh.w r1, [r1, #16] - e104: 1a5b subs r3, r3, r1 - e106: 429a cmp r2, r3 - e108: dd99 ble.n e03e + e0de: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + e0e2: f9ba 3006 ldrsh.w r3, [sl, #6] + e0e6: 990b ldr r1, [sp, #44] ; 0x2c + e0e8: f9b1 1010 ldrsh.w r1, [r1, #16] + e0ec: 1a5b subs r3, r3, r1 + e0ee: 429a cmp r2, r3 + e0f0: dd99 ble.n e026 fill_area2.x1 = coords->x1 + rout; - e10a: f8ba 3000 ldrh.w r3, [sl] - e10e: 443b add r3, r7 - e110: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e0f2: f8ba 3000 ldrh.w r3, [sl] + e0f6: 443b add r3, r7 + e0f8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = coords->x2 - rout; - e114: f8ba 3004 ldrh.w r3, [sl, #4] - e118: 1bdb subs r3, r3, r7 - e11a: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e0fc: f8ba 3004 ldrh.w r3, [sl, #4] + e100: 1bdb subs r3, r3, r7 + e102: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e11e: f8cd b008 str.w fp, [sp, #8] - e122: 9601 str r6, [sp, #4] - e124: 2301 movs r3, #1 - e126: 9300 str r3, [sp, #0] - e128: 2300 movs r3, #0 - e12a: f8bd 2014 ldrh.w r2, [sp, #20] - e12e: a91e add r1, sp, #120 ; 0x78 - e130: 9804 ldr r0, [sp, #16] - e132: 47c8 blx r9 - e134: e783 b.n e03e - e136: 4634 mov r4, r6 - e138: 465e mov r6, fp - e13a: f8dd b01c ldr.w fp, [sp, #28] - e13e: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e106: f8cd b008 str.w fp, [sp, #8] + e10a: 9601 str r6, [sp, #4] + e10c: 2301 movs r3, #1 + e10e: 9300 str r3, [sp, #0] + e110: 2300 movs r3, #0 + e112: f8bd 2014 ldrh.w r2, [sp, #20] + e116: a91e add r1, sp, #120 ; 0x78 + e118: 9804 ldr r0, [sp, #16] + e11a: 47c8 blx r9 + e11c: e783 b.n e026 + e11e: 4634 mov r4, r6 + e120: 465e mov r6, fp + e122: f8dd b01c ldr.w fp, [sp, #28] + e126: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c fill_area.y1 = coords->y1 + corner_size + 1; - e142: f8bd 2034 ldrh.w r2, [sp, #52] ; 0x34 - e146: 9906 ldr r1, [sp, #24] - e148: 884b ldrh r3, [r1, #2] - e14a: 3301 adds r3, #1 - e14c: 4413 add r3, r2 - e14e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e12a: f8bd 2034 ldrh.w r2, [sp, #52] ; 0x34 + e12e: 9906 ldr r1, [sp, #24] + e130: 884b ldrh r3, [r1, #2] + e132: 3301 adds r3, #1 + e134: 4413 add r3, r2 + e136: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = coords->y2 - corner_size - 1; - e152: 88cb ldrh r3, [r1, #6] - e154: 3b01 subs r3, #1 - e156: 1a9b subs r3, r3, r2 - e158: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e13a: 88cb ldrh r3, [r1, #6] + e13c: 3b01 subs r3, #1 + e13e: 1a9b subs r3, r3, r2 + e140: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 fill_area.x1 = coords->x1; - e15c: f9b1 3000 ldrsh.w r3, [r1] - e160: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e144: f9b1 3000 ldrsh.w r3, [r1] + e148: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = coords->x1 + dsc->border_width - 1; - e164: f8ba 2010 ldrh.w r2, [sl, #16] - e168: 3a01 subs r2, #1 - e16a: 4413 add r3, r2 - e16c: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + e14c: f8ba 2010 ldrh.w r2, [sl, #16] + e150: 3a01 subs r2, #1 + e152: 4413 add r3, r2 + e154: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e170: 9602 str r6, [sp, #8] - e172: 9401 str r4, [sp, #4] - e174: 2701 movs r7, #1 - e176: 9700 str r7, [sp, #0] - e178: 2300 movs r3, #0 - e17a: f8bd 9014 ldrh.w r9, [sp, #20] - e17e: 464a mov r2, r9 - e180: a91c add r1, sp, #112 ; 0x70 - e182: f8dd 8010 ldr.w r8, [sp, #16] - e186: 4640 mov r0, r8 - e188: 4d3a ldr r5, [pc, #232] ; (e274 ) - e18a: 47a8 blx r5 + e158: 9602 str r6, [sp, #8] + e15a: 9401 str r4, [sp, #4] + e15c: 2701 movs r7, #1 + e15e: 9700 str r7, [sp, #0] + e160: 2300 movs r3, #0 + e162: f8bd 9014 ldrh.w r9, [sp, #20] + e166: 464a mov r2, r9 + e168: a91c add r1, sp, #112 ; 0x70 + e16a: f8dd 8010 ldr.w r8, [sp, #16] + e16e: 4640 mov r0, r8 + e170: 4d3a ldr r5, [pc, #232] ; (e25c ) + e172: 47a8 blx r5 fill_area.x1 = coords->x2 - dsc->border_width + 1; - e18c: 9b06 ldr r3, [sp, #24] - e18e: f9b3 2004 ldrsh.w r2, [r3, #4] - e192: f8ba 3010 ldrh.w r3, [sl, #16] - e196: 1afb subs r3, r7, r3 - e198: 4413 add r3, r2 - e19a: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e174: 9b06 ldr r3, [sp, #24] + e176: f9b3 2004 ldrsh.w r2, [r3, #4] + e17a: f8ba 3010 ldrh.w r3, [sl, #16] + e17e: 1afb subs r3, r7, r3 + e180: 4413 add r3, r2 + e182: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = coords->x2; - e19e: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e186: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e1a2: 9602 str r6, [sp, #8] - e1a4: 9401 str r4, [sp, #4] - e1a6: 9700 str r7, [sp, #0] - e1a8: 2300 movs r3, #0 - e1aa: 464a mov r2, r9 - e1ac: a91c add r1, sp, #112 ; 0x70 - e1ae: 4640 mov r0, r8 - e1b0: 47a8 blx r5 + e18a: 9602 str r6, [sp, #8] + e18c: 9401 str r4, [sp, #4] + e18e: 9700 str r7, [sp, #0] + e190: 2300 movs r3, #0 + e192: 464a mov r2, r9 + e194: a91c add r1, sp, #112 ; 0x70 + e196: 4640 mov r0, r8 + e198: 47a8 blx r5 lv_draw_mask_remove_id(mask_rin_id); - e1b2: 980f ldr r0, [sp, #60] ; 0x3c - e1b4: 4c30 ldr r4, [pc, #192] ; (e278 ) - e1b6: 47a0 blx r4 + e19a: 980f ldr r0, [sp, #60] ; 0x3c + e19c: 4c30 ldr r4, [pc, #192] ; (e260 ) + e19e: 47a0 blx r4 lv_draw_mask_remove_id(mask_rout_id); - e1b8: 980e ldr r0, [sp, #56] ; 0x38 - e1ba: 47a0 blx r4 + e1a0: 980e ldr r0, [sp, #56] ; 0x38 + e1a2: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - e1bc: 4658 mov r0, fp - e1be: 4b2f ldr r3, [pc, #188] ; (e27c ) - e1c0: 4798 blx r3 - e1c2: f7ff b854 b.w d26e + e1a4: 4658 mov r0, fp + e1a6: 4b2f ldr r3, [pc, #188] ; (e264 ) + e1a8: 4798 blx r3 + e1aa: f7ff b854 b.w d256 fill_area.x1 = coords->x1; - e1c6: 9a06 ldr r2, [sp, #24] - e1c8: f9b2 1000 ldrsh.w r1, [r2] - e1cc: f8ad 1070 strh.w r1, [sp, #112] ; 0x70 + e1ae: 9a06 ldr r2, [sp, #24] + e1b0: f9b2 1000 ldrsh.w r1, [r2] + e1b4: f8ad 1070 strh.w r1, [sp, #112] ; 0x70 fill_area.x2 = coords->x2; - e1d0: f9b2 2004 ldrsh.w r2, [r2, #4] - e1d4: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e1b8: f9b2 2004 ldrsh.w r2, [r2, #4] + e1bc: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - e1d8: f9bd 0062 ldrsh.w r0, [sp, #98] ; 0x62 - e1dc: 8a6b ldrh r3, [r5, #18] - e1de: 4403 add r3, r0 - e1e0: b21b sxth r3, r3 - e1e2: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e1c0: f9bd 0062 ldrsh.w r0, [sp, #98] ; 0x62 + e1c4: 8a6b ldrh r3, [r5, #18] + e1c6: 4403 add r3, r0 + e1c8: b21b sxth r3, r3 + e1ca: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e1e6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e1ce: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size; - e1ea: f9ba 3012 ldrsh.w r3, [sl, #18] - e1ee: 2b04 cmp r3, #4 - e1f0: d029 beq.n e246 + e1d2: f9ba 3012 ldrsh.w r3, [sl, #18] + e1d6: 2b04 cmp r3, #4 + e1d8: d029 beq.n e22e else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size; - e1f2: 2b08 cmp r3, #8 - e1f4: d044 beq.n e280 + e1da: 2b08 cmp r3, #8 + e1dc: d044 beq.n e268 volatile bool top_only = false; - e1f6: 2200 movs r2, #0 - e1f8: f88d 204e strb.w r2, [sp, #78] ; 0x4e + e1de: 2200 movs r2, #0 + e1e0: f88d 204e strb.w r2, [sp, #78] ; 0x4e volatile bool bottom_only = false; - e1fc: f88d 204f strb.w r2, [sp, #79] ; 0x4f + e1e4: f88d 204f strb.w r2, [sp, #79] ; 0x4f if(dsc->border_side == LV_BORDER_SIDE_TOP) top_only = true; - e200: 2b02 cmp r3, #2 - e202: d129 bne.n e258 - e204: 2301 movs r3, #1 - e206: f88d 304e strb.w r3, [sp, #78] ; 0x4e + e1e8: 2b02 cmp r3, #2 + e1ea: d129 bne.n e240 + e1ec: 2301 movs r3, #1 + e1ee: f88d 304e strb.w r3, [sp, #78] ; 0x4e volatile bool normal = !top_only && !bottom_only ? true : false; - e20a: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e - e20e: b91b cbnz r3, e218 - e210: f89d 804f ldrb.w r8, [sp, #79] ; 0x4f - e214: f088 0801 eor.w r8, r8, #1 - e218: f008 0801 and.w r8, r8, #1 - e21c: f88d 8050 strb.w r8, [sp, #80] ; 0x50 + e1f2: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e + e1f6: b91b cbnz r3, e200 + e1f8: f89d 804f ldrb.w r8, [sp, #79] ; 0x4f + e1fc: f088 0801 eor.w r8, r8, #1 + e200: f008 0801 and.w r8, r8, #1 + e204: f88d 8050 strb.w r8, [sp, #80] ; 0x50 for(h = draw_area.y1; h <= draw_area.y2; h++) { - e220: 4607 mov r7, r0 - e222: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e226: 4298 cmp r0, r3 - e228: dcc3 bgt.n e1b2 + e208: 4607 mov r7, r0 + e20a: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e20e: 4298 cmp r0, r3 + e210: dcc3 bgt.n e19a _lv_memset_ff(mask_buf, draw_area_w); - e22a: f8df 8040 ldr.w r8, [pc, #64] ; e26c + e212: f8df 8040 ldr.w r8, [pc, #64] ; e254 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - e22e: f8df 9044 ldr.w r9, [pc, #68] ; e274 - e232: 940a str r4, [sp, #40] ; 0x28 - e234: f8cd b01c str.w fp, [sp, #28] - e238: f8dd b018 ldr.w fp, [sp, #24] - e23c: f8cd a02c str.w sl, [sp, #44] ; 0x2c - e240: f8dd a034 ldr.w sl, [sp, #52] ; 0x34 - e244: e04e b.n e2e4 + e216: f8df 9044 ldr.w r9, [pc, #68] ; e25c + e21a: 940a str r4, [sp, #40] ; 0x28 + e21c: f8cd b01c str.w fp, [sp, #28] + e220: f8dd b018 ldr.w fp, [sp, #24] + e224: f8cd a02c str.w sl, [sp, #44] ; 0x2c + e228: f8dd a034 ldr.w sl, [sp, #52] ; 0x34 + e22c: e04e b.n e2cc if(dsc->border_side == LV_BORDER_SIDE_LEFT) fill_area.x2 = coords->x1 + corner_size; - e246: 9a0d ldr r2, [sp, #52] ; 0x34 - e248: 4411 add r1, r2 - e24a: f8ad 1074 strh.w r1, [sp, #116] ; 0x74 + e22e: 9a0d ldr r2, [sp, #52] ; 0x34 + e230: 4411 add r1, r2 + e232: f8ad 1074 strh.w r1, [sp, #116] ; 0x74 volatile bool top_only = false; - e24e: 2200 movs r2, #0 - e250: f88d 204e strb.w r2, [sp, #78] ; 0x4e + e236: 2200 movs r2, #0 + e238: f88d 204e strb.w r2, [sp, #78] ; 0x4e volatile bool bottom_only = false; - e254: f88d 204f strb.w r2, [sp, #79] ; 0x4f + e23c: f88d 204f strb.w r2, [sp, #79] ; 0x4f if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true; - e258: 2b01 cmp r3, #1 - e25a: d016 beq.n e28a + e240: 2b01 cmp r3, #1 + e242: d016 beq.n e272 if(dsc->border_side == (LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM)) { - e25c: 2b03 cmp r3, #3 - e25e: d1d4 bne.n e20a + e244: 2b03 cmp r3, #3 + e246: d1d4 bne.n e1f2 top_only = true; - e260: 2301 movs r3, #1 - e262: f88d 304e strb.w r3, [sp, #78] ; 0x4e + e248: 2301 movs r3, #1 + e24a: f88d 304e strb.w r3, [sp, #78] ; 0x4e bottom_only = true; - e266: f88d 304f strb.w r3, [sp, #79] ; 0x4f - e26a: e7ce b.n e20a - e26c: 00012bed .word 0x00012bed - e270: 0000be1d .word 0x0000be1d - e274: 00007751 .word 0x00007751 - e278: 0000be6d .word 0x0000be6d - e27c: 00012571 .word 0x00012571 + e24e: f88d 304f strb.w r3, [sp, #79] ; 0x4f + e252: e7ce b.n e1f2 + e254: 00012bd5 .word 0x00012bd5 + e258: 0000be05 .word 0x0000be05 + e25c: 00007739 .word 0x00007739 + e260: 0000be55 .word 0x0000be55 + e264: 00012559 .word 0x00012559 else if(dsc->border_side == LV_BORDER_SIDE_RIGHT) fill_area.x1 = coords->x2 - corner_size; - e280: 990d ldr r1, [sp, #52] ; 0x34 - e282: 1a52 subs r2, r2, r1 - e284: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 - e288: e7e1 b.n e24e + e268: 990d ldr r1, [sp, #52] ; 0x34 + e26a: 1a52 subs r2, r2, r1 + e26c: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + e270: e7e1 b.n e236 if(dsc->border_side == LV_BORDER_SIDE_BOTTOM) bottom_only = true; - e28a: f88d 304f strb.w r3, [sp, #79] ; 0x4f - e28e: e7bc b.n e20a + e272: f88d 304f strb.w r3, [sp, #79] ; 0x4f + e276: e7bc b.n e1f2 _lv_memset_ff(mask_buf, draw_area_w); - e290: 9909 ldr r1, [sp, #36] ; 0x24 - e292: 9c07 ldr r4, [sp, #28] - e294: 4620 mov r0, r4 - e296: 47c0 blx r8 + e278: 9909 ldr r1, [sp, #36] ; 0x24 + e27a: 9c07 ldr r4, [sp, #28] + e27c: 4620 mov r0, r4 + e27e: 47c0 blx r8 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e298: 8a6a ldrh r2, [r5, #18] - e29a: 443a add r2, r7 - e29c: 8a29 ldrh r1, [r5, #16] - e29e: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e2a2: 4419 add r1, r3 - e2a4: 9b08 ldr r3, [sp, #32] - e2a6: b212 sxth r2, r2 - e2a8: b209 sxth r1, r1 - e2aa: 9407 str r4, [sp, #28] - e2ac: 4620 mov r0, r4 - e2ae: 4c98 ldr r4, [pc, #608] ; (e510 ) - e2b0: 47a0 blx r4 + e280: 8a6a ldrh r2, [r5, #18] + e282: 443a add r2, r7 + e284: 8a29 ldrh r1, [r5, #16] + e286: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e28a: 4419 add r1, r3 + e28c: 9b08 ldr r3, [sp, #32] + e28e: b212 sxth r2, r2 + e290: b209 sxth r1, r1 + e292: 9407 str r4, [sp, #28] + e294: 4620 mov r0, r4 + e296: 4c98 ldr r4, [pc, #608] ; (e4f8 ) + e298: 47a0 blx r4 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - e2b2: 9602 str r6, [sp, #8] - e2b4: 9a0a ldr r2, [sp, #40] ; 0x28 - e2b6: 9201 str r2, [sp, #4] - e2b8: 9000 str r0, [sp, #0] - e2ba: 9b07 ldr r3, [sp, #28] - e2bc: f8bd 2014 ldrh.w r2, [sp, #20] - e2c0: a91c add r1, sp, #112 ; 0x70 - e2c2: 9804 ldr r0, [sp, #16] - e2c4: 47c8 blx r9 + e29a: 9602 str r6, [sp, #8] + e29c: 9a0a ldr r2, [sp, #40] ; 0x28 + e29e: 9201 str r2, [sp, #4] + e2a0: 9000 str r0, [sp, #0] + e2a2: 9b07 ldr r3, [sp, #28] + e2a4: f8bd 2014 ldrh.w r2, [sp, #20] + e2a8: a91c add r1, sp, #112 ; 0x70 + e2aa: 9804 ldr r0, [sp, #16] + e2ac: 47c8 blx r9 fill_area.y1++; - e2c6: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e2ca: 3301 adds r3, #1 - e2cc: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e2ae: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e2b2: 3301 adds r3, #1 + e2b4: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e2d0: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e2d4: 3301 adds r3, #1 - e2d6: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e2b8: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e2bc: 3301 adds r3, #1 + e2be: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= draw_area.y2; h++) { - e2da: 3701 adds r7, #1 - e2dc: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e2e0: 429f cmp r7, r3 - e2e2: dc1a bgt.n e31a + e2c2: 3701 adds r7, #1 + e2c4: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e2c8: 429f cmp r7, r3 + e2ca: dc1a bgt.n e302 if(normal || - e2e4: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 - e2e8: 2b00 cmp r3, #0 - e2ea: d1d1 bne.n e290 + e2cc: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 + e2d0: 2b00 cmp r3, #0 + e2d2: d1d1 bne.n e278 (top_only && fill_area.y1 <= coords->y1 + corner_size) || - e2ec: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e + e2d4: f89d 304e ldrb.w r3, [sp, #78] ; 0x4e if(normal || - e2f0: b133 cbz r3, e300 + e2d8: b133 cbz r3, e2e8 (top_only && fill_area.y1 <= coords->y1 + corner_size) || - e2f2: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 - e2f6: f9bb 3002 ldrsh.w r3, [fp, #2] - e2fa: 4453 add r3, sl - e2fc: 429a cmp r2, r3 - e2fe: ddc7 ble.n e290 + e2da: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 + e2de: f9bb 3002 ldrsh.w r3, [fp, #2] + e2e2: 4453 add r3, sl + e2e4: 429a cmp r2, r3 + e2e6: ddc7 ble.n e278 (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - e300: f89d 304f ldrb.w r3, [sp, #79] ; 0x4f + e2e8: f89d 304f ldrb.w r3, [sp, #79] ; 0x4f (top_only && fill_area.y1 <= coords->y1 + corner_size) || - e304: 2b00 cmp r3, #0 - e306: d0de beq.n e2c6 + e2ec: 2b00 cmp r3, #0 + e2ee: d0de beq.n e2ae (bottom_only && fill_area.y1 >= coords->y2 - corner_size)) { - e308: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 - e30c: f9bb 3006 ldrsh.w r3, [fp, #6] - e310: eba3 030a sub.w r3, r3, sl - e314: 429a cmp r2, r3 - e316: dbd6 blt.n e2c6 - e318: e7ba b.n e290 - e31a: f8dd b01c ldr.w fp, [sp, #28] - e31e: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - e322: e746 b.n e1b2 + e2f0: f9bd 2072 ldrsh.w r2, [sp, #114] ; 0x72 + e2f4: f9bb 3006 ldrsh.w r3, [fp, #6] + e2f8: eba3 030a sub.w r3, r3, sl + e2fc: 429a cmp r2, r3 + e2fe: dbd6 blt.n e2ae + e300: e7ba b.n e278 + e302: f8dd b01c ldr.w fp, [sp, #28] + e306: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e30a: e746 b.n e19a lv_point_t s; _lv_txt_get_size(&s, dsc->value_str, dsc->value_font, dsc->value_letter_space, dsc->value_line_space, LV_COORD_MAX, - e324: f9ba 304c ldrsh.w r3, [sl, #76] ; 0x4c - e328: 2400 movs r4, #0 - e32a: 9402 str r4, [sp, #8] - e32c: f647 4218 movw r2, #31768 ; 0x7c18 - e330: 9201 str r2, [sp, #4] - e332: f9ba 204e ldrsh.w r2, [sl, #78] ; 0x4e - e336: 9200 str r2, [sp, #0] - e338: f8da 2040 ldr.w r2, [sl, #64] ; 0x40 - e33c: a81c add r0, sp, #112 ; 0x70 - e33e: 4d75 ldr r5, [pc, #468] ; (e514 ) - e340: 47a8 blx r5 + e30c: f9ba 304c ldrsh.w r3, [sl, #76] ; 0x4c + e310: 2400 movs r4, #0 + e312: 9402 str r4, [sp, #8] + e314: f647 4218 movw r2, #31768 ; 0x7c18 + e318: 9201 str r2, [sp, #4] + e31a: f9ba 204e ldrsh.w r2, [sl, #78] ; 0x4e + e31e: 9200 str r2, [sp, #0] + e320: f8da 2040 ldr.w r2, [sl, #64] ; 0x40 + e324: a81c add r0, sp, #112 ; 0x70 + e326: 4d75 ldr r5, [pc, #468] ; (e4fc ) + e328: 47a8 blx r5 LV_TXT_FLAG_NONE); lv_area_t value_area; value_area.x1 = 0; - e342: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 + e32a: f8ad 4088 strh.w r4, [sp, #136] ; 0x88 value_area.y1 = 0; - e346: f8ad 408a strh.w r4, [sp, #138] ; 0x8a + e32e: f8ad 408a strh.w r4, [sp, #138] ; 0x8a value_area.x2 = s.x - 1; - e34a: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 - e34e: 3b01 subs r3, #1 - e350: f8ad 308c strh.w r3, [sp, #140] ; 0x8c + e332: f8bd 3070 ldrh.w r3, [sp, #112] ; 0x70 + e336: 3b01 subs r3, #1 + e338: f8ad 308c strh.w r3, [sp, #140] ; 0x8c value_area.y2 = s.y - 1; - e354: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e358: 3b01 subs r3, #1 - e35a: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + e33c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e340: 3b01 subs r3, #1 + e342: f8ad 308e strh.w r3, [sp, #142] ; 0x8e lv_point_t p_align; _lv_area_align(coords, &value_area, dsc->value_align, &p_align); - e35e: ab1e add r3, sp, #120 ; 0x78 - e360: f89a 2050 ldrb.w r2, [sl, #80] ; 0x50 - e364: a922 add r1, sp, #136 ; 0x88 - e366: 9806 ldr r0, [sp, #24] - e368: 4d6b ldr r5, [pc, #428] ; (e518 ) - e36a: 47a8 blx r5 + e346: ab1e add r3, sp, #120 ; 0x78 + e348: f89a 2050 ldrb.w r2, [sl, #80] ; 0x50 + e34c: a922 add r1, sp, #136 ; 0x88 + e34e: 9806 ldr r0, [sp, #24] + e350: 4d6b ldr r5, [pc, #428] ; (e500 ) + e352: 47a8 blx r5 value_area.x1 += p_align.x + dsc->value_ofs_x; - e36c: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 - e370: f8ba 3048 ldrh.w r3, [sl, #72] ; 0x48 - e374: 441a add r2, r3 - e376: b292 uxth r2, r2 - e378: f8bd 3088 ldrh.w r3, [sp, #136] ; 0x88 - e37c: 4413 add r3, r2 - e37e: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 + e354: f8bd 2078 ldrh.w r2, [sp, #120] ; 0x78 + e358: f8ba 3048 ldrh.w r3, [sl, #72] ; 0x48 + e35c: 441a add r2, r3 + e35e: b292 uxth r2, r2 + e360: f8bd 3088 ldrh.w r3, [sp, #136] ; 0x88 + e364: 4413 add r3, r2 + e366: f8ad 3088 strh.w r3, [sp, #136] ; 0x88 value_area.y1 += p_align.y + dsc->value_ofs_y; - e382: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a - e386: f8ba 104a ldrh.w r1, [sl, #74] ; 0x4a - e38a: 440b add r3, r1 - e38c: b29b uxth r3, r3 - e38e: f8bd 108a ldrh.w r1, [sp, #138] ; 0x8a - e392: 4419 add r1, r3 - e394: f8ad 108a strh.w r1, [sp, #138] ; 0x8a + e36a: f8bd 307a ldrh.w r3, [sp, #122] ; 0x7a + e36e: f8ba 104a ldrh.w r1, [sl, #74] ; 0x4a + e372: 440b add r3, r1 + e374: b29b uxth r3, r3 + e376: f8bd 108a ldrh.w r1, [sp, #138] ; 0x8a + e37a: 4419 add r1, r3 + e37c: f8ad 108a strh.w r1, [sp, #138] ; 0x8a value_area.x2 += p_align.x + dsc->value_ofs_x; - e398: f8bd 108c ldrh.w r1, [sp, #140] ; 0x8c - e39c: 440a add r2, r1 - e39e: f8ad 208c strh.w r2, [sp, #140] ; 0x8c + e380: f8bd 108c ldrh.w r1, [sp, #140] ; 0x8c + e384: 440a add r2, r1 + e386: f8ad 208c strh.w r2, [sp, #140] ; 0x8c value_area.y2 += p_align.y + dsc->value_ofs_y; - e3a2: f8bd 208e ldrh.w r2, [sp, #142] ; 0x8e - e3a6: 4413 add r3, r2 - e3a8: f8ad 308e strh.w r3, [sp, #142] ; 0x8e + e38a: f8bd 208e ldrh.w r2, [sp, #142] ; 0x8e + e38e: 4413 add r3, r2 + e390: f8ad 308e strh.w r3, [sp, #142] ; 0x8e lv_draw_label_dsc_t label_dsc; lv_draw_label_dsc_init(&label_dsc); - e3ac: a829 add r0, sp, #164 ; 0xa4 - e3ae: 4b5b ldr r3, [pc, #364] ; (e51c ) - e3b0: 4798 blx r3 + e394: a829 add r0, sp, #164 ; 0xa4 + e396: 4b5b ldr r3, [pc, #364] ; (e504 ) + e398: 4798 blx r3 label_dsc.font = dsc->value_font; - e3b2: f8da 3040 ldr.w r3, [sl, #64] ; 0x40 - e3b6: 932a str r3, [sp, #168] ; 0xa8 + e39a: f8da 3040 ldr.w r3, [sl, #64] ; 0x40 + e39e: 932a str r3, [sp, #168] ; 0xa8 label_dsc.letter_space = dsc->value_letter_space; - e3b8: f8ba 304c ldrh.w r3, [sl, #76] ; 0x4c - e3bc: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 + e3a0: f8ba 304c ldrh.w r3, [sl, #76] ; 0x4c + e3a4: f8ad 30b0 strh.w r3, [sp, #176] ; 0xb0 label_dsc.line_space = dsc->value_line_space; - e3c0: f8ba 304e ldrh.w r3, [sl, #78] ; 0x4e - e3c4: f8ad 30ae strh.w r3, [sp, #174] ; 0xae + e3a8: f8ba 304e ldrh.w r3, [sl, #78] ; 0x4e + e3ac: f8ad 30ae strh.w r3, [sp, #174] ; 0xae label_dsc.color = dsc->value_color; - e3c8: f8ba 3046 ldrh.w r3, [sl, #70] ; 0x46 - e3cc: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 + e3b0: f8ba 3046 ldrh.w r3, [sl, #70] ; 0x46 + e3b4: f8ad 30a4 strh.w r3, [sp, #164] ; 0xa4 label_dsc.opa = dsc->value_opa; - e3d0: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 - e3d4: f88d 30ac strb.w r3, [sp, #172] ; 0xac + e3b8: f89a 3044 ldrb.w r3, [sl, #68] ; 0x44 + e3bc: f88d 30ac strb.w r3, [sp, #172] ; 0xac lv_draw_label(&value_area, clip, &label_dsc, dsc->value_str, NULL); - e3d8: 9400 str r4, [sp, #0] - e3da: f8da 303c ldr.w r3, [sl, #60] ; 0x3c - e3de: aa29 add r2, sp, #164 ; 0xa4 - e3e0: 9904 ldr r1, [sp, #16] - e3e2: a822 add r0, sp, #136 ; 0x88 - e3e4: 4c4e ldr r4, [pc, #312] ; (e520 ) - e3e6: 47a0 blx r4 - e3e8: f7fe bf49 b.w d27e + e3c0: 9400 str r4, [sp, #0] + e3c2: f8da 303c ldr.w r3, [sl, #60] ; 0x3c + e3c6: aa29 add r2, sp, #164 ; 0xa4 + e3c8: 9904 ldr r1, [sp, #16] + e3ca: a822 add r0, sp, #136 ; 0x88 + e3cc: 4c4e ldr r4, [pc, #312] ; (e508 ) + e3ce: 47a0 blx r4 + e3d0: f7fe bf49 b.w d266 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e3ec: 1c72 adds r2, r6, #1 - e3ee: 9b06 ldr r3, [sp, #24] - e3f0: 1ad2 subs r2, r2, r3 + e3d4: 1c72 adds r2, r6, #1 + e3d6: 9b06 ldr r3, [sp, #24] + e3d8: 1ad2 subs r2, r2, r3 int32_t inner_w = lv_area_get_width(&area_inner); - e3f2: b212 sxth r2, r2 + e3da: b212 sxth r2, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e3f4: 1c6b adds r3, r5, #1 - e3f6: 9907 ldr r1, [sp, #28] - e3f8: 1a5b subs r3, r3, r1 + e3dc: 1c6b adds r3, r5, #1 + e3de: 9907 ldr r1, [sp, #28] + e3e0: 1a5b subs r3, r3, r1 int32_t inner_h = lv_area_get_height(&area_inner); - e3fa: b21b sxth r3, r3 + e3e2: b21b sxth r3, r3 int32_t short_side = LV_MATH_MIN(inner_w, inner_h); - e3fc: 429a cmp r2, r3 - e3fe: bfa8 it ge - e400: 461a movge r2, r3 + e3e4: 429a cmp r2, r3 + e3e6: bfa8 it ge + e3e8: 461a movge r2, r3 if(rin > short_side >> 1) rin = short_side >> 1; - e402: 1052 asrs r2, r2, #1 - e404: 9b08 ldr r3, [sp, #32] - e406: 429a cmp r2, r3 - e408: bfa8 it ge - e40a: 461a movge r2, r3 + e3ea: 1052 asrs r2, r2, #1 + e3ec: 9b08 ldr r3, [sp, #32] + e3ee: 429a cmp r2, r3 + e3f0: bfa8 it ge + e3f2: 461a movge r2, r3 int32_t rout = rin + dsc->outline_width; - e40c: 9b05 ldr r3, [sp, #20] - e40e: 4413 add r3, r2 + e3f4: 9b05 ldr r3, [sp, #20] + e3f6: 4413 add r3, r2 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e410: 3701 adds r7, #1 - e412: 990a ldr r1, [sp, #40] ; 0x28 - e414: 1a79 subs r1, r7, r1 + e3f8: 3701 adds r7, #1 + e3fa: 990a ldr r1, [sp, #40] ; 0x28 + e3fc: 1a79 subs r1, r7, r1 int32_t coords_out_w = lv_area_get_width(&area_outer); - e416: b208 sxth r0, r1 + e3fe: b208 sxth r0, r1 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - e418: 1c61 adds r1, r4, #1 - e41a: eba1 0108 sub.w r1, r1, r8 + e400: 1c61 adds r1, r4, #1 + e402: eba1 0108 sub.w r1, r1, r8 int32_t coords_out_h = lv_area_get_height(&area_outer); - e41e: b209 sxth r1, r1 + e406: b209 sxth r1, r1 short_side = LV_MATH_MIN(coords_out_w, coords_out_h); - e420: 4281 cmp r1, r0 - e422: bfa8 it ge - e424: 4601 movge r1, r0 + e408: 4281 cmp r1, r0 + e40a: bfa8 it ge + e40c: 4601 movge r1, r0 if(rout > short_side >> 1) rout = short_side >> 1; - e426: 1049 asrs r1, r1, #1 - e428: 4299 cmp r1, r3 - e42a: bfa8 it ge - e42c: 4619 movge r1, r3 - e42e: 460f mov r7, r1 - e430: 9106 str r1, [sp, #24] + e40e: 1049 asrs r1, r1, #1 + e410: 4299 cmp r1, r3 + e412: bfa8 it ge + e414: 4619 movge r1, r3 + e416: 460f mov r7, r1 + e418: 9106 str r1, [sp, #24] draw_area.x1 -= disp_area->x1; - e432: f8b9 0010 ldrh.w r0, [r9, #16] - e436: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - e43a: 1a1b subs r3, r3, r0 - e43c: b299 uxth r1, r3 - e43e: f8ad 1068 strh.w r1, [sp, #104] ; 0x68 + e41a: f8b9 0010 ldrh.w r0, [r9, #16] + e41e: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e422: 1a1b subs r3, r3, r0 + e424: b299 uxth r1, r3 + e426: f8ad 1068 strh.w r1, [sp, #104] ; 0x68 draw_area.y1 -= disp_area->y1; - e442: f8b9 4012 ldrh.w r4, [r9, #18] - e446: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a - e44a: 1b1b subs r3, r3, r4 - e44c: f8ad 306a strh.w r3, [sp, #106] ; 0x6a + e42a: f8b9 4012 ldrh.w r4, [r9, #18] + e42e: f8bd 306a ldrh.w r3, [sp, #106] ; 0x6a + e432: 1b1b subs r3, r3, r4 + e434: f8ad 306a strh.w r3, [sp, #106] ; 0x6a draw_area.x2 -= disp_area->x1; - e450: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c - e454: 1a1b subs r3, r3, r0 - e456: b29b uxth r3, r3 - e458: f8ad 306c strh.w r3, [sp, #108] ; 0x6c + e438: f8bd 306c ldrh.w r3, [sp, #108] ; 0x6c + e43c: 1a1b subs r3, r3, r0 + e43e: b29b uxth r3, r3 + e440: f8ad 306c strh.w r3, [sp, #108] ; 0x6c draw_area.y2 -= disp_area->y1; - e45c: f8bd 006e ldrh.w r0, [sp, #110] ; 0x6e - e460: 1b00 subs r0, r0, r4 - e462: f8ad 006e strh.w r0, [sp, #110] ; 0x6e + e444: f8bd 006e ldrh.w r0, [sp, #110] ; 0x6e + e448: 1b00 subs r0, r0, r4 + e44a: f8ad 006e strh.w r0, [sp, #110] ; 0x6e return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - e466: 3301 adds r3, #1 - e468: 1a5b subs r3, r3, r1 - e46a: b21b sxth r3, r3 - e46c: 461e mov r6, r3 - e46e: 9307 str r3, [sp, #28] + e44e: 3301 adds r3, #1 + e450: 1a5b subs r3, r3, r1 + e452: b21b sxth r3, r3 + e454: 461e mov r6, r3 + e456: 9307 str r3, [sp, #28] lv_draw_mask_radius_init(&mask_rin_param, &area_inner, rin, true); - e470: 2301 movs r3, #1 - e472: a916 add r1, sp, #88 ; 0x58 - e474: a822 add r0, sp, #136 ; 0x88 - e476: 4d2b ldr r5, [pc, #172] ; (e524 ) - e478: 47a8 blx r5 + e458: 2301 movs r3, #1 + e45a: a916 add r1, sp, #88 ; 0x58 + e45c: a822 add r0, sp, #136 ; 0x88 + e45e: 4d2b ldr r5, [pc, #172] ; (e50c ) + e460: 47a8 blx r5 int16_t mask_rin_id = lv_draw_mask_add(&mask_rin_param, NULL); - e47a: 2100 movs r1, #0 - e47c: a822 add r0, sp, #136 ; 0x88 - e47e: 4c2a ldr r4, [pc, #168] ; (e528 ) - e480: 47a0 blx r4 - e482: 900c str r0, [sp, #48] ; 0x30 + e462: 2100 movs r1, #0 + e464: a822 add r0, sp, #136 ; 0x88 + e466: 4c2a ldr r4, [pc, #168] ; (e510 ) + e468: 47a0 blx r4 + e46a: 900c str r0, [sp, #48] ; 0x30 lv_draw_mask_radius_init(&mask_rout_param, &area_outer, rout, false); - e484: 2300 movs r3, #0 - e486: b23a sxth r2, r7 - e488: a918 add r1, sp, #96 ; 0x60 - e48a: a829 add r0, sp, #164 ; 0xa4 - e48c: 47a8 blx r5 + e46c: 2300 movs r3, #0 + e46e: b23a sxth r2, r7 + e470: a918 add r1, sp, #96 ; 0x60 + e472: a829 add r0, sp, #164 ; 0xa4 + e474: 47a8 blx r5 int16_t mask_rout_id = lv_draw_mask_add(&mask_rout_param, NULL); - e48e: 2100 movs r1, #0 - e490: a829 add r0, sp, #164 ; 0xa4 - e492: 47a0 blx r4 - e494: 900d str r0, [sp, #52] ; 0x34 + e476: 2100 movs r1, #0 + e478: a829 add r0, sp, #164 ; 0xa4 + e47a: 47a0 blx r4 + e47c: 900d str r0, [sp, #52] ; 0x34 lv_opa_t * mask_buf = _lv_mem_buf_get(draw_area_w); - e496: 9608 str r6, [sp, #32] - e498: 4630 mov r0, r6 - e49a: 4b24 ldr r3, [pc, #144] ; (e52c ) - e49c: 4798 blx r3 - e49e: 900b str r0, [sp, #44] ; 0x2c + e47e: 9608 str r6, [sp, #32] + e480: 4630 mov r0, r6 + e482: 4b24 ldr r3, [pc, #144] ; (e514 ) + e484: 4798 blx r3 + e486: 900b str r0, [sp, #44] ; 0x2c int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1); - e4a0: f9ba 3018 ldrsh.w r3, [sl, #24] + e488: f9ba 3018 ldrsh.w r3, [sl, #24] lv_color_t color = dsc->outline_color; - e4a4: f8ba 2016 ldrh.w r2, [sl, #22] - e4a8: f8ad 2014 strh.w r2, [sp, #20] + e48c: f8ba 2016 ldrh.w r2, [sl, #22] + e490: f8ad 2014 strh.w r2, [sp, #20] lv_blend_mode_t blend_mode = dsc->outline_blend_mode; - e4ac: f89a 501d ldrb.w r5, [sl, #29] + e494: f89a 501d ldrb.w r5, [sl, #29] if(simple_mode) { - e4b0: 9a09 ldr r2, [sp, #36] ; 0x24 - e4b2: 2a00 cmp r2, #0 - e4b4: f040 81a6 bne.w e804 + e498: 9a09 ldr r2, [sp, #36] ; 0x24 + e49a: 2a00 cmp r2, #0 + e49c: f040 81a6 bne.w e7ec int32_t corner_size = LV_MATH_MAX(rout, dsc->outline_width - 1); - e4b8: 3b01 subs r3, #1 - e4ba: 42bb cmp r3, r7 - e4bc: bfb8 it lt - e4be: 463b movlt r3, r7 - e4c0: 4619 mov r1, r3 - e4c2: 930e str r3, [sp, #56] ; 0x38 + e4a0: 3b01 subs r3, #1 + e4a2: 42bb cmp r3, r7 + e4a4: bfb8 it lt + e4a6: 463b movlt r3, r7 + e4a8: 4619 mov r1, r3 + e4aa: 930e str r3, [sp, #56] ; 0x38 int32_t upper_corner_end = area_outer.y1 - disp_area->y1 + corner_size; - e4c4: f9b9 3012 ldrsh.w r3, [r9, #18] - e4c8: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 - e4cc: 1ad2 subs r2, r2, r3 - e4ce: 440a add r2, r1 - e4d0: 4611 mov r1, r2 - e4d2: 9209 str r2, [sp, #36] ; 0x24 + e4ac: f9b9 3012 ldrsh.w r3, [r9, #18] + e4b0: f9bd 2062 ldrsh.w r2, [sp, #98] ; 0x62 + e4b4: 1ad2 subs r2, r2, r3 + e4b6: 440a add r2, r1 + e4b8: 4611 mov r1, r2 + e4ba: 9209 str r2, [sp, #36] ; 0x24 fill_area.x1 = area_outer.x1; - e4d4: f8bd 2060 ldrh.w r2, [sp, #96] ; 0x60 - e4d8: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 + e4bc: f8bd 2060 ldrh.w r2, [sp, #96] ; 0x60 + e4c0: f8ad 2070 strh.w r2, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x2; - e4dc: f8bd 2064 ldrh.w r2, [sp, #100] ; 0x64 - e4e0: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e4c4: f8bd 2064 ldrh.w r2, [sp, #100] ; 0x64 + e4c8: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - e4e4: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a - e4e8: 4413 add r3, r2 - e4ea: b21b sxth r3, r3 - e4ec: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e4cc: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a + e4d0: 4413 add r3, r2 + e4d2: b21b sxth r3, r3 + e4d4: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e4f0: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e4d8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - e4f4: 4616 mov r6, r2 - e4f6: 4291 cmp r1, r2 - e4f8: f2c0 809d blt.w e636 + e4dc: 4616 mov r6, r2 + e4de: 4291 cmp r1, r2 + e4e0: f2c0 809d blt.w e61e _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e4fc: f8df 8030 ldr.w r8, [pc, #48] ; e530 - e500: 462b mov r3, r5 - e502: 465d mov r5, fp - e504: f8cd a028 str.w sl, [sp, #40] ; 0x28 - e508: 4682 mov sl, r0 - e50a: 469b mov fp, r3 - e50c: e03f b.n e58e - e50e: bf00 nop - e510: 0000be1d .word 0x0000be1d - e514: 0001407d .word 0x0001407d - e518: 00011825 .word 0x00011825 - e51c: 000099cd .word 0x000099cd - e520: 00009a25 .word 0x00009a25 - e524: 0000c02d .word 0x0000c02d - e528: 0000bdc1 .word 0x0000bdc1 - e52c: 0001293d .word 0x0001293d - e530: 00007751 .word 0x00007751 + e4e4: f8df 8030 ldr.w r8, [pc, #48] ; e518 + e4e8: 462b mov r3, r5 + e4ea: 465d mov r5, fp + e4ec: f8cd a028 str.w sl, [sp, #40] ; 0x28 + e4f0: 4682 mov sl, r0 + e4f2: 469b mov fp, r3 + e4f4: e03f b.n e576 + e4f6: bf00 nop + e4f8: 0000be05 .word 0x0000be05 + e4fc: 00014065 .word 0x00014065 + e500: 0001180d .word 0x0001180d + e504: 000099b5 .word 0x000099b5 + e508: 00009a0d .word 0x00009a0d + e50c: 0000c015 .word 0x0000c015 + e510: 0000bda9 .word 0x0000bda9 + e514: 00012925 .word 0x00012925 + e518: 00007739 .word 0x00007739 fill_area2.x1 = area_outer.x2 - rout + 1; - e534: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 - e538: 1c5a adds r2, r3, #1 - e53a: 1b14 subs r4, r2, r4 - e53c: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 + e51c: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 + e520: 1c5a adds r2, r3, #1 + e522: 1b14 subs r4, r2, r4 + e524: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2; - e540: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e528: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - e544: 9a06 ldr r2, [sp, #24] - e546: 1a9b subs r3, r3, r2 - e548: 3301 adds r3, #1 - e54a: f9b9 2010 ldrsh.w r2, [r9, #16] - e54e: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 - e552: 440a add r2, r1 - e554: 1a9b subs r3, r3, r2 + e52c: 9a06 ldr r2, [sp, #24] + e52e: 1a9b subs r3, r3, r2 + e530: 3301 adds r3, #1 + e532: f9b9 2010 ldrsh.w r2, [r9, #16] + e536: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 + e53a: 440a add r2, r1 + e53c: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - e556: f8cd b008 str.w fp, [sp, #8] - e55a: 9501 str r5, [sp, #4] - e55c: 9700 str r7, [sp, #0] - e55e: 2b00 cmp r3, #0 - e560: bfac ite ge - e562: 4453 addge r3, sl - e564: f10a 0300 addlt.w r3, sl, #0 - e568: f8bd 2014 ldrh.w r2, [sp, #20] - e56c: a91e add r1, sp, #120 ; 0x78 - e56e: 9804 ldr r0, [sp, #16] - e570: 47c0 blx r8 + e53e: f8cd b008 str.w fp, [sp, #8] + e542: 9501 str r5, [sp, #4] + e544: 9700 str r7, [sp, #0] + e546: 2b00 cmp r3, #0 + e548: bfac ite ge + e54a: 4453 addge r3, sl + e54c: f10a 0300 addlt.w r3, sl, #0 + e550: f8bd 2014 ldrh.w r2, [sp, #20] + e554: a91e add r1, sp, #120 ; 0x78 + e556: 9804 ldr r0, [sp, #16] + e558: 47c0 blx r8 fill_area.y1++; - e572: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e576: 3301 adds r3, #1 - e578: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e55a: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e55e: 3301 adds r3, #1 + e560: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e57c: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e580: 3301 adds r3, #1 - e582: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e564: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e568: 3301 adds r3, #1 + e56a: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= upper_corner_end; h++) { - e586: 3601 adds r6, #1 - e588: 9b09 ldr r3, [sp, #36] ; 0x24 - e58a: 42b3 cmp r3, r6 - e58c: db4e blt.n e62c + e56e: 3601 adds r6, #1 + e570: 9b09 ldr r3, [sp, #36] ; 0x24 + e572: 42b3 cmp r3, r6 + e574: db4e blt.n e614 _lv_memset_ff(mask_buf, draw_area_w); - e58e: 9908 ldr r1, [sp, #32] - e590: 4650 mov r0, sl - e592: 4bcc ldr r3, [pc, #816] ; (e8c4 ) - e594: 4798 blx r3 + e576: 9908 ldr r1, [sp, #32] + e578: 4650 mov r0, sl + e57a: 4bcc ldr r3, [pc, #816] ; (e8ac ) + e57c: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e596: f8b9 2012 ldrh.w r2, [r9, #18] - e59a: 4432 add r2, r6 - e59c: f8b9 1010 ldrh.w r1, [r9, #16] - e5a0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - e5a4: 4419 add r1, r3 - e5a6: 9b07 ldr r3, [sp, #28] - e5a8: b212 sxth r2, r2 - e5aa: b209 sxth r1, r1 - e5ac: 4650 mov r0, sl - e5ae: 4cc6 ldr r4, [pc, #792] ; (e8c8 ) - e5b0: 47a0 blx r4 - e5b2: 4607 mov r7, r0 + e57e: f8b9 2012 ldrh.w r2, [r9, #18] + e582: 4432 add r2, r6 + e584: f8b9 1010 ldrh.w r1, [r9, #16] + e588: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e58c: 4419 add r1, r3 + e58e: 9b07 ldr r3, [sp, #28] + e590: b212 sxth r2, r2 + e592: b209 sxth r1, r1 + e594: 4650 mov r0, sl + e596: 4cc6 ldr r4, [pc, #792] ; (e8b0 ) + e598: 47a0 blx r4 + e59a: 4607 mov r7, r0 fill_area2.y1 = fill_area.y1; - e5b4: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e5b8: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + e59c: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e5a0: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - e5bc: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e5c0: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + e5a4: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e5a8: f8ad 307e strh.w r3, [sp, #126] ; 0x7e fill_area2.x1 = area_outer.x1; - e5c4: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 - e5c8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e5ac: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 + e5b0: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x1 + rout - 1; - e5cc: f8bd 4018 ldrh.w r4, [sp, #24] - e5d0: 3b01 subs r3, #1 - e5d2: 4423 add r3, r4 - e5d4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e5b4: f8bd 4018 ldrh.w r4, [sp, #24] + e5b8: 3b01 subs r3, #1 + e5ba: 4423 add r3, r4 + e5bc: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e5d8: f8cd b008 str.w fp, [sp, #8] - e5dc: 9501 str r5, [sp, #4] - e5de: 9000 str r0, [sp, #0] - e5e0: 4653 mov r3, sl - e5e2: f8bd 2014 ldrh.w r2, [sp, #20] - e5e6: a91e add r1, sp, #120 ; 0x78 - e5e8: 9804 ldr r0, [sp, #16] - e5ea: 47c0 blx r8 + e5c0: f8cd b008 str.w fp, [sp, #8] + e5c4: 9501 str r5, [sp, #4] + e5c6: 9000 str r0, [sp, #0] + e5c8: 4653 mov r3, sl + e5ca: f8bd 2014 ldrh.w r2, [sp, #20] + e5ce: a91e add r1, sp, #120 ; 0x78 + e5d0: 9804 ldr r0, [sp, #16] + e5d2: 47c0 blx r8 if(fill_area2.y2 < area_outer.y1 + dsc->outline_width) { - e5ec: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - e5f0: f9bd 3062 ldrsh.w r3, [sp, #98] ; 0x62 - e5f4: 990a ldr r1, [sp, #40] ; 0x28 - e5f6: f9b1 1018 ldrsh.w r1, [r1, #24] - e5fa: 440b add r3, r1 - e5fc: 429a cmp r2, r3 - e5fe: da99 bge.n e534 + e5d4: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + e5d8: f9bd 3062 ldrsh.w r3, [sp, #98] ; 0x62 + e5dc: 990a ldr r1, [sp, #40] ; 0x28 + e5de: f9b1 1018 ldrsh.w r1, [r1, #24] + e5e2: 440b add r3, r1 + e5e4: 429a cmp r2, r3 + e5e6: da99 bge.n e51c fill_area2.x1 = area_outer.x1 + rout; - e600: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e604: 4423 add r3, r4 - e606: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e5e8: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e5ec: 4423 add r3, r4 + e5ee: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2 - rout; - e60a: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - e60e: 1b1b subs r3, r3, r4 - e610: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e5f2: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + e5f6: 1b1b subs r3, r3, r4 + e5f8: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e614: f8cd b008 str.w fp, [sp, #8] - e618: 9501 str r5, [sp, #4] - e61a: 2301 movs r3, #1 - e61c: 9300 str r3, [sp, #0] - e61e: 2300 movs r3, #0 - e620: f8bd 2014 ldrh.w r2, [sp, #20] - e624: a91e add r1, sp, #120 ; 0x78 - e626: 9804 ldr r0, [sp, #16] - e628: 47c0 blx r8 - e62a: e783 b.n e534 - e62c: 465b mov r3, fp - e62e: 46ab mov fp, r5 - e630: f8dd a028 ldr.w sl, [sp, #40] ; 0x28 - e634: 461d mov r5, r3 + e5fc: f8cd b008 str.w fp, [sp, #8] + e600: 9501 str r5, [sp, #4] + e602: 2301 movs r3, #1 + e604: 9300 str r3, [sp, #0] + e606: 2300 movs r3, #0 + e608: f8bd 2014 ldrh.w r2, [sp, #20] + e60c: a91e add r1, sp, #120 ; 0x78 + e60e: 9804 ldr r0, [sp, #16] + e610: 47c0 blx r8 + e612: e783 b.n e51c + e614: 465b mov r3, fp + e616: 46ab mov fp, r5 + e618: f8dd a028 ldr.w sl, [sp, #40] ; 0x28 + e61c: 461d mov r5, r3 int32_t lower_corner_end = area_outer.y2 - disp_area->y1 - corner_size; - e636: f9b9 3012 ldrsh.w r3, [r9, #18] - e63a: f9bd 6066 ldrsh.w r6, [sp, #102] ; 0x66 - e63e: 1af6 subs r6, r6, r3 - e640: 9a0e ldr r2, [sp, #56] ; 0x38 - e642: 1ab6 subs r6, r6, r2 + e61e: f9b9 3012 ldrsh.w r3, [r9, #18] + e622: f9bd 6066 ldrsh.w r6, [sp, #102] ; 0x66 + e626: 1af6 subs r6, r6, r3 + e628: 9a0e ldr r2, [sp, #56] ; 0x38 + e62a: 1ab6 subs r6, r6, r2 if(lower_corner_end <= upper_corner_end) lower_corner_end = upper_corner_end + 1; - e644: 9909 ldr r1, [sp, #36] ; 0x24 - e646: 460a mov r2, r1 - e648: 42b1 cmp r1, r6 - e64a: bfa4 itt ge - e64c: 3201 addge r2, #1 - e64e: 4616 movge r6, r2 + e62c: 9909 ldr r1, [sp, #36] ; 0x24 + e62e: 460a mov r2, r1 + e630: 42b1 cmp r1, r6 + e632: bfa4 itt ge + e634: 3201 addge r2, #1 + e636: 4616 movge r6, r2 fill_area.y1 = disp_area->y1 + lower_corner_end; - e650: 4433 add r3, r6 - e652: b21b sxth r3, r3 - e654: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e638: 4433 add r3, r6 + e63a: b21b sxth r3, r3 + e63c: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e658: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e640: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - e65c: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - e660: 429e cmp r6, r3 - e662: f300 808c bgt.w e77e + e644: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e648: 429e cmp r6, r3 + e64a: f300 808c bgt.w e766 _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e666: f8df 8264 ldr.w r8, [pc, #612] ; e8cc - e66a: 462b mov r3, r5 - e66c: 465d mov r5, fp - e66e: f8cd a024 str.w sl, [sp, #36] ; 0x24 - e672: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - e676: 469b mov fp, r3 - e678: e02d b.n e6d6 + e64e: f8df 8264 ldr.w r8, [pc, #612] ; e8b4 + e652: 462b mov r3, r5 + e654: 465d mov r5, fp + e656: f8cd a024 str.w sl, [sp, #36] ; 0x24 + e65a: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e65e: 469b mov fp, r3 + e660: e02d b.n e6be fill_area2.x1 = area_outer.x2 - rout + 1; - e67a: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 - e67e: 1c5a adds r2, r3, #1 - e680: 1b14 subs r4, r2, r4 - e682: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 + e662: f9bd 3064 ldrsh.w r3, [sp, #100] ; 0x64 + e666: 1c5a adds r2, r3, #1 + e668: 1b14 subs r4, r2, r4 + e66a: f8ad 4078 strh.w r4, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2; - e686: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e66e: f8ad 307c strh.w r3, [sp, #124] ; 0x7c int32_t mask_ofs = (area_outer.x2 - rout + 1) - (vdb->area.x1 + draw_area.x1); - e68a: 9a06 ldr r2, [sp, #24] - e68c: 1a9b subs r3, r3, r2 - e68e: 3301 adds r3, #1 - e690: f9b9 2010 ldrsh.w r2, [r9, #16] - e694: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 - e698: 440a add r2, r1 - e69a: 1a9b subs r3, r3, r2 + e672: 9a06 ldr r2, [sp, #24] + e674: 1a9b subs r3, r3, r2 + e676: 3301 adds r3, #1 + e678: f9b9 2010 ldrsh.w r2, [r9, #16] + e67c: f9bd 1068 ldrsh.w r1, [sp, #104] ; 0x68 + e680: 440a add r2, r1 + e682: 1a9b subs r3, r3, r2 _lv_blend_fill(clip, &fill_area2, color, mask_buf + mask_ofs, mask_res, opa, blend_mode); - e69c: f8cd b008 str.w fp, [sp, #8] - e6a0: 9501 str r5, [sp, #4] - e6a2: 9700 str r7, [sp, #0] - e6a4: 2b00 cmp r3, #0 - e6a6: bfac ite ge - e6a8: 4453 addge r3, sl - e6aa: f10a 0300 addlt.w r3, sl, #0 - e6ae: f8bd 2014 ldrh.w r2, [sp, #20] - e6b2: a91e add r1, sp, #120 ; 0x78 - e6b4: 9804 ldr r0, [sp, #16] - e6b6: 47c0 blx r8 + e684: f8cd b008 str.w fp, [sp, #8] + e688: 9501 str r5, [sp, #4] + e68a: 9700 str r7, [sp, #0] + e68c: 2b00 cmp r3, #0 + e68e: bfac ite ge + e690: 4453 addge r3, sl + e692: f10a 0300 addlt.w r3, sl, #0 + e696: f8bd 2014 ldrh.w r2, [sp, #20] + e69a: a91e add r1, sp, #120 ; 0x78 + e69c: 9804 ldr r0, [sp, #16] + e69e: 47c0 blx r8 fill_area.y1++; - e6b8: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e6bc: 3301 adds r3, #1 - e6be: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e6a0: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e6a4: 3301 adds r3, #1 + e6a6: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e6c2: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e6c6: 3301 adds r3, #1 - e6c8: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e6aa: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e6ae: 3301 adds r3, #1 + e6b0: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = lower_corner_end; h <= draw_area.y2; h++) { - e6cc: 3601 adds r6, #1 - e6ce: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - e6d2: 429e cmp r6, r3 - e6d4: dc4e bgt.n e774 + e6b4: 3601 adds r6, #1 + e6b6: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e6ba: 429e cmp r6, r3 + e6bc: dc4e bgt.n e75c _lv_memset_ff(mask_buf, draw_area_w); - e6d6: 9908 ldr r1, [sp, #32] - e6d8: 4650 mov r0, sl - e6da: 4b7a ldr r3, [pc, #488] ; (e8c4 ) - e6dc: 4798 blx r3 + e6be: 9908 ldr r1, [sp, #32] + e6c0: 4650 mov r0, sl + e6c2: 4b7a ldr r3, [pc, #488] ; (e8ac ) + e6c4: 4798 blx r3 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e6de: f8b9 2012 ldrh.w r2, [r9, #18] - e6e2: 4432 add r2, r6 - e6e4: f8b9 1010 ldrh.w r1, [r9, #16] - e6e8: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - e6ec: 4419 add r1, r3 - e6ee: 9b07 ldr r3, [sp, #28] - e6f0: b212 sxth r2, r2 - e6f2: b209 sxth r1, r1 - e6f4: 4650 mov r0, sl - e6f6: 4c74 ldr r4, [pc, #464] ; (e8c8 ) - e6f8: 47a0 blx r4 - e6fa: 4607 mov r7, r0 + e6c6: f8b9 2012 ldrh.w r2, [r9, #18] + e6ca: 4432 add r2, r6 + e6cc: f8b9 1010 ldrh.w r1, [r9, #16] + e6d0: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e6d4: 4419 add r1, r3 + e6d6: 9b07 ldr r3, [sp, #28] + e6d8: b212 sxth r2, r2 + e6da: b209 sxth r1, r1 + e6dc: 4650 mov r0, sl + e6de: 4c74 ldr r4, [pc, #464] ; (e8b0 ) + e6e0: 47a0 blx r4 + e6e2: 4607 mov r7, r0 fill_area2.x1 = area_outer.x1; - e6fc: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 - e700: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e6e4: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 + e6e8: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x1 + rout - 1; - e704: f8bd 4018 ldrh.w r4, [sp, #24] - e708: 3b01 subs r3, #1 - e70a: 4423 add r3, r4 - e70c: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e6ec: f8bd 4018 ldrh.w r4, [sp, #24] + e6f0: 3b01 subs r3, #1 + e6f2: 4423 add r3, r4 + e6f4: f8ad 307c strh.w r3, [sp, #124] ; 0x7c fill_area2.y1 = fill_area.y1; - e710: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e714: f8ad 307a strh.w r3, [sp, #122] ; 0x7a + e6f8: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e6fc: f8ad 307a strh.w r3, [sp, #122] ; 0x7a fill_area2.y2 = fill_area.y2; - e718: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e71c: f8ad 307e strh.w r3, [sp, #126] ; 0x7e + e700: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e704: f8ad 307e strh.w r3, [sp, #126] ; 0x7e _lv_blend_fill(clip, &fill_area2, color, mask_buf, mask_res, opa, blend_mode); - e720: f8cd b008 str.w fp, [sp, #8] - e724: 9501 str r5, [sp, #4] - e726: 9000 str r0, [sp, #0] - e728: 4653 mov r3, sl - e72a: f8bd 2014 ldrh.w r2, [sp, #20] - e72e: a91e add r1, sp, #120 ; 0x78 - e730: 9804 ldr r0, [sp, #16] - e732: 47c0 blx r8 + e708: f8cd b008 str.w fp, [sp, #8] + e70c: 9501 str r5, [sp, #4] + e70e: 9000 str r0, [sp, #0] + e710: 4653 mov r3, sl + e712: f8bd 2014 ldrh.w r2, [sp, #20] + e716: a91e add r1, sp, #120 ; 0x78 + e718: 9804 ldr r0, [sp, #16] + e71a: 47c0 blx r8 if(fill_area2.y2 > area_outer.y2 - dsc->outline_width) { - e734: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e - e738: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 - e73c: 9909 ldr r1, [sp, #36] ; 0x24 - e73e: f9b1 1018 ldrsh.w r1, [r1, #24] - e742: 1a5b subs r3, r3, r1 - e744: 429a cmp r2, r3 - e746: dd98 ble.n e67a + e71c: f9bd 207e ldrsh.w r2, [sp, #126] ; 0x7e + e720: f9bd 3066 ldrsh.w r3, [sp, #102] ; 0x66 + e724: 9909 ldr r1, [sp, #36] ; 0x24 + e726: f9b1 1018 ldrsh.w r1, [r1, #24] + e72a: 1a5b subs r3, r3, r1 + e72c: 429a cmp r2, r3 + e72e: dd98 ble.n e662 fill_area2.x1 = area_outer.x1 + rout; - e748: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e74c: 4423 add r3, r4 - e74e: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 + e730: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e734: 4423 add r3, r4 + e736: f8ad 3078 strh.w r3, [sp, #120] ; 0x78 fill_area2.x2 = area_outer.x2 - rout; - e752: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - e756: 1b1b subs r3, r3, r4 - e758: f8ad 307c strh.w r3, [sp, #124] ; 0x7c + e73a: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + e73e: 1b1b subs r3, r3, r4 + e740: f8ad 307c strh.w r3, [sp, #124] ; 0x7c _lv_blend_fill(clip, &fill_area2, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e75c: f8cd b008 str.w fp, [sp, #8] - e760: 9501 str r5, [sp, #4] - e762: 2301 movs r3, #1 - e764: 9300 str r3, [sp, #0] - e766: 2300 movs r3, #0 - e768: f8bd 2014 ldrh.w r2, [sp, #20] - e76c: a91e add r1, sp, #120 ; 0x78 - e76e: 9804 ldr r0, [sp, #16] - e770: 47c0 blx r8 - e772: e782 b.n e67a - e774: 465b mov r3, fp - e776: 46ab mov fp, r5 - e778: f8dd a024 ldr.w sl, [sp, #36] ; 0x24 - e77c: 461d mov r5, r3 + e744: f8cd b008 str.w fp, [sp, #8] + e748: 9501 str r5, [sp, #4] + e74a: 2301 movs r3, #1 + e74c: 9300 str r3, [sp, #0] + e74e: 2300 movs r3, #0 + e750: f8bd 2014 ldrh.w r2, [sp, #20] + e754: a91e add r1, sp, #120 ; 0x78 + e756: 9804 ldr r0, [sp, #16] + e758: 47c0 blx r8 + e75a: e782 b.n e662 + e75c: 465b mov r3, fp + e75e: 46ab mov fp, r5 + e760: f8dd a024 ldr.w sl, [sp, #36] ; 0x24 + e764: 461d mov r5, r3 fill_area.y1 = area_outer.y1 + corner_size + 1; - e77e: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 - e782: f8bd 2062 ldrh.w r2, [sp, #98] ; 0x62 - e786: 3201 adds r2, #1 - e788: 441a add r2, r3 - e78a: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 + e766: f8bd 3038 ldrh.w r3, [sp, #56] ; 0x38 + e76a: f8bd 2062 ldrh.w r2, [sp, #98] ; 0x62 + e76e: 3201 adds r2, #1 + e770: 441a add r2, r3 + e772: f8ad 2072 strh.w r2, [sp, #114] ; 0x72 fill_area.y2 = area_outer.y2 - corner_size - 1; - e78e: f8bd 2066 ldrh.w r2, [sp, #102] ; 0x66 - e792: 3a01 subs r2, #1 - e794: 1ad3 subs r3, r2, r3 - e796: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e776: f8bd 2066 ldrh.w r2, [sp, #102] ; 0x66 + e77a: 3a01 subs r2, #1 + e77c: 1ad3 subs r3, r2, r3 + e77e: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 fill_area.x1 = area_outer.x1; - e79a: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 - e79e: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e782: f9bd 3060 ldrsh.w r3, [sp, #96] ; 0x60 + e786: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x1 + dsc->outline_width - 1; - e7a2: 3b01 subs r3, #1 - e7a4: f8ba 2018 ldrh.w r2, [sl, #24] - e7a8: 4413 add r3, r2 - e7aa: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + e78a: 3b01 subs r3, #1 + e78c: f8ba 2018 ldrh.w r2, [sl, #24] + e790: 4413 add r3, r2 + e792: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e7ae: 9502 str r5, [sp, #8] - e7b0: f8cd b004 str.w fp, [sp, #4] - e7b4: 2601 movs r6, #1 - e7b6: 9600 str r6, [sp, #0] - e7b8: 2300 movs r3, #0 - e7ba: f8bd 8014 ldrh.w r8, [sp, #20] - e7be: 4642 mov r2, r8 - e7c0: a91c add r1, sp, #112 ; 0x70 - e7c2: 9f04 ldr r7, [sp, #16] - e7c4: 4638 mov r0, r7 - e7c6: 4c41 ldr r4, [pc, #260] ; (e8cc ) - e7c8: 47a0 blx r4 + e796: 9502 str r5, [sp, #8] + e798: f8cd b004 str.w fp, [sp, #4] + e79c: 2601 movs r6, #1 + e79e: 9600 str r6, [sp, #0] + e7a0: 2300 movs r3, #0 + e7a2: f8bd 8014 ldrh.w r8, [sp, #20] + e7a6: 4642 mov r2, r8 + e7a8: a91c add r1, sp, #112 ; 0x70 + e7aa: 9f04 ldr r7, [sp, #16] + e7ac: 4638 mov r0, r7 + e7ae: 4c41 ldr r4, [pc, #260] ; (e8b4 ) + e7b0: 47a0 blx r4 fill_area.x1 = area_outer.x2 - dsc->outline_width + 1; - e7ca: f9bd 2064 ldrsh.w r2, [sp, #100] ; 0x64 - e7ce: 1993 adds r3, r2, r6 - e7d0: f8ba 1018 ldrh.w r1, [sl, #24] - e7d4: 1a5b subs r3, r3, r1 - e7d6: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e7b2: f9bd 2064 ldrsh.w r2, [sp, #100] ; 0x64 + e7b6: 1993 adds r3, r2, r6 + e7b8: f8ba 1018 ldrh.w r1, [sl, #24] + e7bc: 1a5b subs r3, r3, r1 + e7be: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x2; - e7da: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 + e7c2: f8ad 2074 strh.w r2, [sp, #116] ; 0x74 _lv_blend_fill(clip, &fill_area, color, NULL, LV_DRAW_MASK_RES_FULL_COVER, opa, blend_mode); - e7de: 9502 str r5, [sp, #8] - e7e0: f8cd b004 str.w fp, [sp, #4] - e7e4: 9600 str r6, [sp, #0] - e7e6: 2300 movs r3, #0 - e7e8: 4642 mov r2, r8 - e7ea: a91c add r1, sp, #112 ; 0x70 - e7ec: 4638 mov r0, r7 - e7ee: 47a0 blx r4 + e7c6: 9502 str r5, [sp, #8] + e7c8: f8cd b004 str.w fp, [sp, #4] + e7cc: 9600 str r6, [sp, #0] + e7ce: 2300 movs r3, #0 + e7d0: 4642 mov r2, r8 + e7d2: a91c add r1, sp, #112 ; 0x70 + e7d4: 4638 mov r0, r7 + e7d6: 47a0 blx r4 lv_draw_mask_remove_id(mask_rin_id); - e7f0: 980c ldr r0, [sp, #48] ; 0x30 - e7f2: 4c37 ldr r4, [pc, #220] ; (e8d0 ) - e7f4: 47a0 blx r4 + e7d8: 980c ldr r0, [sp, #48] ; 0x30 + e7da: 4c37 ldr r4, [pc, #220] ; (e8b8 ) + e7dc: 47a0 blx r4 lv_draw_mask_remove_id(mask_rout_id); - e7f6: 980d ldr r0, [sp, #52] ; 0x34 - e7f8: 47a0 blx r4 + e7de: 980d ldr r0, [sp, #52] ; 0x34 + e7e0: 47a0 blx r4 _lv_mem_buf_release(mask_buf); - e7fa: 980b ldr r0, [sp, #44] ; 0x2c - e7fc: 4b35 ldr r3, [pc, #212] ; (e8d4 ) - e7fe: 4798 blx r3 - e800: f7fe bdb0 b.w d364 + e7e2: 980b ldr r0, [sp, #44] ; 0x2c + e7e4: 4b35 ldr r3, [pc, #212] ; (e8bc ) + e7e6: 4798 blx r3 + e7e8: f7fe bdb0 b.w d34c fill_area.x1 = area_outer.x1; - e804: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 - e808: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 + e7ec: f8bd 3060 ldrh.w r3, [sp, #96] ; 0x60 + e7f0: f8ad 3070 strh.w r3, [sp, #112] ; 0x70 fill_area.x2 = area_outer.x2; - e80c: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 - e810: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 + e7f4: f8bd 3064 ldrh.w r3, [sp, #100] ; 0x64 + e7f8: f8ad 3074 strh.w r3, [sp, #116] ; 0x74 fill_area.y1 = disp_area->y1 + draw_area.y1; - e814: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a - e818: f8b9 3012 ldrh.w r3, [r9, #18] - e81c: 4413 add r3, r2 - e81e: b21b sxth r3, r3 - e820: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e7fc: f9bd 206a ldrsh.w r2, [sp, #106] ; 0x6a + e800: f8b9 3012 ldrh.w r3, [r9, #18] + e804: 4413 add r3, r2 + e806: b21b sxth r3, r3 + e808: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2 = fill_area.y1; - e824: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e80c: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= draw_area.y2; h++) { - e828: 4614 mov r4, r2 - e82a: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - e82e: 429a cmp r2, r3 - e830: dcde bgt.n e7f0 + e810: 4614 mov r4, r2 + e812: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e816: 429a cmp r2, r3 + e818: dcde bgt.n e7d8 _lv_memset_ff(mask_buf, draw_area_w); - e832: f8df 8090 ldr.w r8, [pc, #144] ; e8c4 + e81a: f8df 8090 ldr.w r8, [pc, #144] ; e8ac mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e836: 4f24 ldr r7, [pc, #144] ; (e8c8 ) + e81e: 4f24 ldr r7, [pc, #144] ; (e8b0 ) _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - e838: 4e24 ldr r6, [pc, #144] ; (e8cc ) - e83a: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c - e83e: 462b mov r3, r5 - e840: 465d mov r5, fp - e842: 469b mov fp, r3 + e820: 4e24 ldr r6, [pc, #144] ; (e8b4 ) + e822: f8dd a02c ldr.w sl, [sp, #44] ; 0x2c + e826: 462b mov r3, r5 + e828: 465d mov r5, fp + e82a: 469b mov fp, r3 _lv_memset_ff(mask_buf, draw_area_w); - e844: 9908 ldr r1, [sp, #32] - e846: 4650 mov r0, sl - e848: 47c0 blx r8 + e82c: 9908 ldr r1, [sp, #32] + e82e: 4650 mov r0, sl + e830: 47c0 blx r8 mask_res = lv_draw_mask_apply(mask_buf, vdb->area.x1 + draw_area.x1, vdb->area.y1 + h, draw_area_w); - e84a: f8b9 2012 ldrh.w r2, [r9, #18] - e84e: 4422 add r2, r4 - e850: f8b9 1010 ldrh.w r1, [r9, #16] - e854: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 - e858: 4419 add r1, r3 - e85a: 9b07 ldr r3, [sp, #28] - e85c: b212 sxth r2, r2 - e85e: b209 sxth r1, r1 - e860: 4650 mov r0, sl - e862: 47b8 blx r7 + e832: f8b9 2012 ldrh.w r2, [r9, #18] + e836: 4422 add r2, r4 + e838: f8b9 1010 ldrh.w r1, [r9, #16] + e83c: f8bd 3068 ldrh.w r3, [sp, #104] ; 0x68 + e840: 4419 add r1, r3 + e842: 9b07 ldr r3, [sp, #28] + e844: b212 sxth r2, r2 + e846: b209 sxth r1, r1 + e848: 4650 mov r0, sl + e84a: 47b8 blx r7 _lv_blend_fill(clip, &fill_area, color, mask_buf, mask_res, opa, blend_mode); - e864: f8cd b008 str.w fp, [sp, #8] - e868: 9501 str r5, [sp, #4] - e86a: 9000 str r0, [sp, #0] - e86c: 4653 mov r3, sl - e86e: f8bd 2014 ldrh.w r2, [sp, #20] - e872: a91c add r1, sp, #112 ; 0x70 - e874: 9804 ldr r0, [sp, #16] - e876: 47b0 blx r6 + e84c: f8cd b008 str.w fp, [sp, #8] + e850: 9501 str r5, [sp, #4] + e852: 9000 str r0, [sp, #0] + e854: 4653 mov r3, sl + e856: f8bd 2014 ldrh.w r2, [sp, #20] + e85a: a91c add r1, sp, #112 ; 0x70 + e85c: 9804 ldr r0, [sp, #16] + e85e: 47b0 blx r6 fill_area.y1++; - e878: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 - e87c: 3301 adds r3, #1 - e87e: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 + e860: f8bd 3072 ldrh.w r3, [sp, #114] ; 0x72 + e864: 3301 adds r3, #1 + e866: f8ad 3072 strh.w r3, [sp, #114] ; 0x72 fill_area.y2++; - e882: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 - e886: 3301 adds r3, #1 - e888: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 + e86a: f8bd 3076 ldrh.w r3, [sp, #118] ; 0x76 + e86e: 3301 adds r3, #1 + e870: f8ad 3076 strh.w r3, [sp, #118] ; 0x76 for(h = draw_area.y1; h <= draw_area.y2; h++) { - e88c: 3401 adds r4, #1 - e88e: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e - e892: 429c cmp r4, r3 - e894: ddd6 ble.n e844 - e896: e7ab b.n e7f0 + e874: 3401 adds r4, #1 + e876: f9bd 306e ldrsh.w r3, [sp, #110] ; 0x6e + e87a: 429c cmp r4, r3 + e87c: ddd6 ble.n e82c + e87e: e7ab b.n e7d8 _lv_mem_buf_release(mask_line); - e898: 980c ldr r0, [sp, #48] ; 0x30 - e89a: 4b0e ldr r3, [pc, #56] ; (e8d4 ) - e89c: 4798 blx r3 + e880: 980c ldr r0, [sp, #48] ; 0x30 + e882: 4b0e ldr r3, [pc, #56] ; (e8bc ) + e884: 4798 blx r3 for(i = 0; i < size * size; i++) { - e89e: fb07 f707 mul.w r7, r7, r7 - e8a2: 2f00 cmp r7, #0 - e8a4: f43d aeec beq.w c680 - e8a8: 980a ldr r0, [sp, #40] ; 0x28 - e8aa: 4602 mov r2, r0 - e8ac: 1e41 subs r1, r0, #1 - e8ae: eb00 0047 add.w r0, r0, r7, lsl #1 + e886: fb07 f707 mul.w r7, r7, r7 + e88a: 2f00 cmp r7, #0 + e88c: f43d aeec beq.w c668 + e890: 980a ldr r0, [sp, #40] ; 0x28 + e892: 4602 mov r2, r0 + e894: 1e41 subs r1, r0, #1 + e896: eb00 0047 add.w r0, r0, r7, lsl #1 res_buf[i] = (sh_buf[i] >> SHADOW_UPSACALE_SHIFT); - e8b2: f832 3b02 ldrh.w r3, [r2], #2 - e8b6: 099b lsrs r3, r3, #6 - e8b8: f801 3f01 strb.w r3, [r1, #1]! + e89a: f832 3b02 ldrh.w r3, [r2], #2 + e89e: 099b lsrs r3, r3, #6 + e8a0: f801 3f01 strb.w r3, [r1, #1]! for(i = 0; i < size * size; i++) { - e8bc: 4290 cmp r0, r2 - e8be: d1f8 bne.n e8b2 - e8c0: f7fd bede b.w c680 - e8c4: 00012bed .word 0x00012bed - e8c8: 0000be1d .word 0x0000be1d - e8cc: 00007751 .word 0x00007751 - e8d0: 0000be6d .word 0x0000be6d - e8d4: 00012571 .word 0x00012571 + e8a4: 4290 cmp r0, r2 + e8a6: d1f8 bne.n e89a + e8a8: f7fd bede b.w c668 + e8ac: 00012bd5 .word 0x00012bd5 + e8b0: 0000be05 .word 0x0000be05 + e8b4: 00007739 .word 0x00007739 + e8b8: 0000be55 .word 0x0000be55 + e8bc: 00012559 .word 0x00012559 lv_opa_t * mask_line = _lv_mem_buf_get(size); - e8d8: 9707 str r7, [sp, #28] - e8da: 4638 mov r0, r7 - e8dc: 4b0b ldr r3, [pc, #44] ; (e90c ) - e8de: 4798 blx r3 - e8e0: 900c str r0, [sp, #48] ; 0x30 + e8c0: 9707 str r7, [sp, #28] + e8c2: 4638 mov r0, r7 + e8c4: 4b0b ldr r3, [pc, #44] ; (e8f4 ) + e8c6: 4798 blx r3 + e8c8: 900c str r0, [sp, #48] ; 0x30 for(y = 0; y < size; y++) { - e8e2: 2f00 cmp r7, #0 - e8e4: ddd8 ble.n e898 - e8e6: 2301 movs r3, #1 - e8e8: 930b str r3, [sp, #44] ; 0x2c - e8ea: f7fd be27 b.w c53c + e8ca: 2f00 cmp r7, #0 + e8cc: ddd8 ble.n e880 + e8ce: 2301 movs r3, #1 + e8d0: 930b str r3, [sp, #44] ; 0x2c + e8d2: f7fd be27 b.w c524 lv_draw_mask_radius_init(&radius_mask_param, coords, dsc->radius, false); - e8ee: 2300 movs r3, #0 - e8f0: f9ba 2000 ldrsh.w r2, [sl] - e8f4: 9906 ldr r1, [sp, #24] - e8f6: a829 add r0, sp, #164 ; 0xa4 - e8f8: 4c05 ldr r4, [pc, #20] ; (e910 ) - e8fa: 47a0 blx r4 + e8d6: 2300 movs r3, #0 + e8d8: f9ba 2000 ldrsh.w r2, [sl] + e8dc: 9906 ldr r1, [sp, #24] + e8de: a829 add r0, sp, #164 ; 0xa4 + e8e0: 4c05 ldr r4, [pc, #20] ; (e8f8 ) + e8e2: 47a0 blx r4 radius_mask_id = lv_draw_mask_add(&radius_mask_param, NULL); - e8fc: 2100 movs r1, #0 - e8fe: a829 add r0, sp, #164 ; 0xa4 - e900: 4b04 ldr r3, [pc, #16] ; (e914 ) - e902: 4798 blx r3 - e904: 4604 mov r4, r0 - e906: f7ff b91e b.w db46 - e90a: bf00 nop - e90c: 0001293d .word 0x0001293d - e910: 0000c02d .word 0x0000c02d - e914: 0000bdc1 .word 0x0000bdc1 - -0000e918 : + e8e4: 2100 movs r1, #0 + e8e6: a829 add r0, sp, #164 ; 0xa4 + e8e8: 4b04 ldr r3, [pc, #16] ; (e8fc ) + e8ea: 4798 blx r3 + e8ec: 4604 mov r4, r0 + e8ee: f7ff b91e b.w db2e + e8f2: bf00 nop + e8f4: 00012925 .word 0x00012925 + e8f8: 0000c015 .word 0x0000c015 + e8fc: 0000bda9 .word 0x0000bda9 + +0000e900 : * Not used in other cases. * @param safe true: check out of bounds * @return color of the point */ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color) { - e918: b5f0 push {r4, r5, r6, r7, lr} - e91a: b083 sub sp, #12 + e900: b5f0 push {r4, r5, r6, r7, lr} + e902: b083 sub sp, #12 lv_color_t p_color = LV_COLOR_BLACK; - e91c: f89d 4004 ldrb.w r4, [sp, #4] - e920: f36f 0404 bfc r4, #0, #5 - e924: f88d 4004 strb.w r4, [sp, #4] - e928: f8bd 4004 ldrh.w r4, [sp, #4] - e92c: f36f 144a bfc r4, #5, #6 - e930: f8ad 4004 strh.w r4, [sp, #4] - e934: 0a24 lsrs r4, r4, #8 - e936: f36f 04c7 bfc r4, #3, #5 - e93a: f88d 4005 strb.w r4, [sp, #5] + e904: f89d 4004 ldrb.w r4, [sp, #4] + e908: f36f 0404 bfc r4, #0, #5 + e90c: f88d 4004 strb.w r4, [sp, #4] + e910: f8bd 4004 ldrh.w r4, [sp, #4] + e914: f36f 144a bfc r4, #5, #6 + e918: f8ad 4004 strh.w r4, [sp, #4] + e91c: 0a24 lsrs r4, r4, #8 + e91e: f36f 04c7 bfc r4, #3, #5 + e922: f88d 4005 strb.w r4, [sp, #5] uint8_t * buf_u8 = (uint8_t *)dsc->data; - e93e: 6886 ldr r6, [r0, #8] + e926: 6886 ldr r6, [r0, #8] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED || - e940: 7804 ldrb r4, [r0, #0] - e942: f004 041f and.w r4, r4, #31 - e946: 1f25 subs r5, r4, #4 - e948: b2ed uxtb r5, r5 - e94a: 2d02 cmp r5, #2 - e94c: d90e bls.n e96c + e928: 7804 ldrb r4, [r0, #0] + e92a: f004 041f and.w r4, r4, #31 + e92e: 1f25 subs r5, r4, #4 + e930: b2ed uxtb r5, r5 + e932: 2d02 cmp r5, #2 + e934: d90e bls.n e954 _lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t)); #if LV_COLOR_SIZE == 32 p_color.ch.alpha = 0xFF; /*Only the color should be get so use a deafult alpha value*/ #endif } else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT) { - e94e: 2c07 cmp r4, #7 - e950: d028 beq.n e9a4 + e936: 2c07 cmp r4, #7 + e938: d028 beq.n e98c * dsc->header.w + 7 means rounding up to 8 because the lines are byte aligned * so the possible real width are 8, 16, 24 ...*/ uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_2BIT) { - e952: 2c08 cmp r4, #8 - e954: d03b beq.n e9ce + e93a: 2c08 cmp r4, #8 + e93c: d03b beq.n e9b6 * dsc->header.w + 3 means rounding up to 4 because the lines are byte aligned * so the possible real width are 4, 8, 12 ...*/ uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_4BIT) { - e956: 2c09 cmp r4, #9 - e958: d050 beq.n e9fc + e93e: 2c09 cmp r4, #9 + e940: d050 beq.n e9e4 * dsc->header.w + 1 means rounding up to 2 because the lines are byte aligned * so the possible real width are 2, 4, 6 ...*/ uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); } else if(dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) { - e95a: 2c0a cmp r4, #10 - e95c: d066 beq.n ea2c + e942: 2c0a cmp r4, #10 + e944: d066 beq.n ea14 buf_u8 += 4 * 256; uint32_t px = dsc->header.w * y + x; p_color.full = buf_u8[px]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - e95e: 3c0b subs r4, #11 + e946: 3c0b subs r4, #11 else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || - e960: b2e4 uxtb r4, r4 - e962: 2c03 cmp r4, #3 + e948: b2e4 uxtb r4, r4 + e94a: 2c03 cmp r4, #3 p_color = color; - e964: bf98 it ls - e966: f8ad 3004 strhls.w r3, [sp, #4] - e96a: e017 b.n e99c - e96c: 4614 mov r4, r2 - e96e: 460f mov r7, r1 - e970: 4605 mov r5, r0 + e94c: bf98 it ls + e94e: f8ad 3004 strhls.w r3, [sp, #4] + e952: e017 b.n e984 + e954: 4614 mov r4, r2 + e956: 460f mov r7, r1 + e958: 4605 mov r5, r0 uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf) >> 3; - e972: 7800 ldrb r0, [r0, #0] - e974: f000 001f and.w r0, r0, #31 - e978: 4b32 ldr r3, [pc, #200] ; (ea44 ) - e97a: 4798 blx r3 + e95a: 7800 ldrb r0, [r0, #0] + e95c: f000 001f and.w r0, r0, #31 + e960: 4b32 ldr r3, [pc, #200] ; (ea2c ) + e962: 4798 blx r3 uint32_t px = dsc->header.w * y * px_size + x * px_size; - e97c: 682b ldr r3, [r5, #0] - e97e: f3c3 238a ubfx r3, r3, #10, #11 - e982: fb04 7203 mla r2, r4, r3, r7 - e986: f3c0 00c7 ubfx r0, r0, #3, #8 - e98a: fb00 f202 mul.w r2, r0, r2 + e964: 682b ldr r3, [r5, #0] + e966: f3c3 238a ubfx r3, r3, #10, #11 + e96a: fb04 7203 mla r2, r4, r3, r7 + e96e: f3c0 00c7 ubfx r0, r0, #3, #8 + e972: fb00 f202 mul.w r2, r0, r2 _lv_memcpy_small(&p_color, &buf_u8[px], sizeof(lv_color_t)); - e98e: 18b3 adds r3, r6, r2 + e976: 18b3 adds r3, r6, r2 *d8 = *s8; - e990: 5cb2 ldrb r2, [r6, r2] - e992: f88d 2004 strb.w r2, [sp, #4] - e996: 785b ldrb r3, [r3, #1] - e998: f88d 3005 strb.w r3, [sp, #5] + e978: 5cb2 ldrb r2, [r6, r2] + e97a: f88d 2004 strb.w r2, [sp, #4] + e97e: 785b ldrb r3, [r3, #1] + e980: f88d 3005 strb.w r3, [sp, #5] } return p_color; } - e99c: f8bd 0004 ldrh.w r0, [sp, #4] - e9a0: b003 add sp, #12 - e9a2: bdf0 pop {r4, r5, r6, r7, pc} + e984: f8bd 0004 ldrh.w r0, [sp, #4] + e988: b003 add sp, #12 + e98a: bdf0 pop {r4, r5, r6, r7, pc} p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - e9a4: f001 0307 and.w r3, r1, #7 - e9a8: f1c3 0407 rsb r4, r3, #7 + e98c: f001 0307 and.w r3, r1, #7 + e990: f1c3 0407 rsb r4, r3, #7 uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; - e9ac: 6803 ldr r3, [r0, #0] - e9ae: f3c3 238a ubfx r3, r3, #10, #11 - e9b2: 3307 adds r3, #7 - e9b4: 10db asrs r3, r3, #3 + e994: 6803 ldr r3, [r0, #0] + e996: f3c3 238a ubfx r3, r3, #10, #11 + e99a: 3307 adds r3, #7 + e99c: 10db asrs r3, r3, #3 p_color.full = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - e9b6: fb02 6603 mla r6, r2, r3, r6 - e9ba: eb06 01e1 add.w r1, r6, r1, asr #3 - e9be: 7a0b ldrb r3, [r1, #8] - e9c0: 2201 movs r2, #1 - e9c2: 40a2 lsls r2, r4 - e9c4: 4013 ands r3, r2 - e9c6: 4123 asrs r3, r4 - e9c8: f8ad 3004 strh.w r3, [sp, #4] - e9cc: e7e6 b.n e99c + e99e: fb02 6603 mla r6, r2, r3, r6 + e9a2: eb06 01e1 add.w r1, r6, r1, asr #3 + e9a6: 7a0b ldrb r3, [r1, #8] + e9a8: 2201 movs r2, #1 + e9aa: 40a2 lsls r2, r4 + e9ac: 4013 ands r3, r2 + e9ae: 4123 asrs r3, r4 + e9b0: f8ad 3004 strh.w r3, [sp, #4] + e9b4: e7e6 b.n e984 uint8_t bit = (x & 0x3) * 2; - e9ce: f001 0403 and.w r4, r1, #3 + e9b6: f001 0403 and.w r4, r1, #3 p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - e9d2: 0064 lsls r4, r4, #1 - e9d4: f1c4 0406 rsb r4, r4, #6 + e9ba: 0064 lsls r4, r4, #1 + e9bc: f1c4 0406 rsb r4, r4, #6 uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; - e9d8: 6803 ldr r3, [r0, #0] - e9da: f3c3 238a ubfx r3, r3, #10, #11 - e9de: 3303 adds r3, #3 - e9e0: 109b asrs r3, r3, #2 + e9c0: 6803 ldr r3, [r0, #0] + e9c2: f3c3 238a ubfx r3, r3, #10, #11 + e9c6: 3303 adds r3, #3 + e9c8: 109b asrs r3, r3, #2 p_color.full = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - e9e2: fb02 6603 mla r6, r2, r3, r6 - e9e6: eb06 01a1 add.w r1, r6, r1, asr #2 - e9ea: 7c0b ldrb r3, [r1, #16] - e9ec: 2203 movs r2, #3 - e9ee: 40a2 lsls r2, r4 - e9f0: 4013 ands r3, r2 - e9f2: fa43 f404 asr.w r4, r3, r4 - e9f6: f8ad 4004 strh.w r4, [sp, #4] - e9fa: e7cf b.n e99c + e9ca: fb02 6603 mla r6, r2, r3, r6 + e9ce: eb06 01a1 add.w r1, r6, r1, asr #2 + e9d2: 7c0b ldrb r3, [r1, #16] + e9d4: 2203 movs r2, #3 + e9d6: 40a2 lsls r2, r4 + e9d8: 4013 ands r3, r2 + e9da: fa43 f404 asr.w r4, r3, r4 + e9de: f8ad 4004 strh.w r4, [sp, #4] + e9e2: e7cf b.n e984 uint8_t bit = (x & 0x1) * 4; - e9fc: f001 0401 and.w r4, r1, #1 + e9e4: f001 0401 and.w r4, r1, #1 p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - ea00: 00a4 lsls r4, r4, #2 - ea02: f1c4 0404 rsb r4, r4, #4 + e9e8: 00a4 lsls r4, r4, #2 + e9ea: f1c4 0404 rsb r4, r4, #4 uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; - ea06: 6803 ldr r3, [r0, #0] - ea08: f3c3 238a ubfx r3, r3, #10, #11 - ea0c: 3301 adds r3, #1 - ea0e: 105b asrs r3, r3, #1 + e9ee: 6803 ldr r3, [r0, #0] + e9f0: f3c3 238a ubfx r3, r3, #10, #11 + e9f4: 3301 adds r3, #1 + e9f6: 105b asrs r3, r3, #1 p_color.full = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - ea10: fb02 6603 mla r6, r2, r3, r6 - ea14: eb06 0161 add.w r1, r6, r1, asr #1 - ea18: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 - ea1c: 220f movs r2, #15 - ea1e: 40a2 lsls r2, r4 - ea20: 4013 ands r3, r2 - ea22: fa43 f404 asr.w r4, r3, r4 - ea26: f8ad 4004 strh.w r4, [sp, #4] - ea2a: e7b7 b.n e99c + e9f8: fb02 6603 mla r6, r2, r3, r6 + e9fc: eb06 0161 add.w r1, r6, r1, asr #1 + ea00: f891 3040 ldrb.w r3, [r1, #64] ; 0x40 + ea04: 220f movs r2, #15 + ea06: 40a2 lsls r2, r4 + ea08: 4013 ands r3, r2 + ea0a: fa43 f404 asr.w r4, r3, r4 + ea0e: f8ad 4004 strh.w r4, [sp, #4] + ea12: e7b7 b.n e984 uint32_t px = dsc->header.w * y + x; - ea2c: 6803 ldr r3, [r0, #0] - ea2e: f3c3 238a ubfx r3, r3, #10, #11 + ea14: 6803 ldr r3, [r0, #0] + ea16: f3c3 238a ubfx r3, r3, #10, #11 p_color.full = buf_u8[px]; - ea32: 4431 add r1, r6 - ea34: fb02 1103 mla r1, r2, r3, r1 - ea38: f891 3400 ldrb.w r3, [r1, #1024] ; 0x400 - ea3c: f8ad 3004 strh.w r3, [sp, #4] - ea40: e7ac b.n e99c - ea42: bf00 nop - ea44: 00009681 .word 0x00009681 - -0000ea48 : + ea1a: 4431 add r1, r6 + ea1c: fb02 1103 mla r1, r2, r3, r1 + ea20: f891 3400 ldrb.w r3, [r1, #1024] ; 0x400 + ea24: f8ad 3004 strh.w r3, [sp, #4] + ea28: e7ac b.n e984 + ea2a: bf00 nop + ea2c: 00009669 .word 0x00009669 + +0000ea30 : * @param y x coordinate of the point to set * @param safe true: check out of bounds * @return alpha value of the point */ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) { - ea48: b5f0 push {r4, r5, r6, r7, lr} - ea4a: b085 sub sp, #20 - ea4c: 4604 mov r4, r0 - ea4e: 460d mov r5, r1 - ea50: 4617 mov r7, r2 + ea30: b5f0 push {r4, r5, r6, r7, lr} + ea32: b085 sub sp, #20 + ea34: 4604 mov r4, r0 + ea36: 460d mov r5, r1 + ea38: 4617 mov r7, r2 uint8_t * buf_u8 = (uint8_t *)dsc->data; - ea52: 6886 ldr r6, [r0, #8] + ea3a: 6886 ldr r6, [r0, #8] if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA) { - ea54: 7803 ldrb r3, [r0, #0] - ea56: f003 031f and.w r3, r3, #31 - ea5a: 2b05 cmp r3, #5 - ea5c: d00a beq.n ea74 + ea3c: 7803 ldrb r3, [r0, #0] + ea3e: f003 031f and.w r3, r3, #31 + ea42: 2b05 cmp r3, #5 + ea44: d00a beq.n ea5c uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE; return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT) { - ea5e: 2b0b cmp r3, #11 - ea60: d012 beq.n ea88 + ea46: 2b0b cmp r3, #11 + ea48: d012 beq.n ea70 * so the possible real width are 8 ,16, 24 ...*/ uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_2BIT) { - ea62: 2b0c cmp r3, #12 - ea64: d027 beq.n eab6 + ea4a: 2b0c cmp r3, #12 + ea4c: d027 beq.n ea9e * so the possible real width are 4 ,8, 12 ...*/ uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); return opa_table[px_opa]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_4BIT) { - ea66: 2b0d cmp r3, #13 - ea68: d049 beq.n eafe + ea4e: 2b0d cmp r3, #13 + ea50: d049 beq.n eae6 * so the possible real width are 2 ,4, 6 ...*/ uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); return opa_table[px_opa]; } else if(dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - ea6a: 2b0e cmp r3, #14 - ea6c: d064 beq.n eb38 + ea52: 2b0e cmp r3, #14 + ea54: d064 beq.n eb20 uint32_t px = dsc->header.w * y + x; return buf_u8[px]; } return LV_OPA_COVER; - ea6e: 20ff movs r0, #255 ; 0xff + ea56: 20ff movs r0, #255 ; 0xff } - ea70: b005 add sp, #20 - ea72: bdf0 pop {r4, r5, r6, r7, pc} + ea58: b005 add sp, #20 + ea5a: bdf0 pop {r4, r5, r6, r7, pc} uint32_t px = dsc->header.w * y * LV_IMG_PX_SIZE_ALPHA_BYTE + x * LV_IMG_PX_SIZE_ALPHA_BYTE; - ea74: 6802 ldr r2, [r0, #0] - ea76: f3c2 228a ubfx r2, r2, #10, #11 - ea7a: fb07 1502 mla r5, r7, r2, r1 + ea5c: 6802 ldr r2, [r0, #0] + ea5e: f3c2 228a ubfx r2, r2, #10, #11 + ea62: fb07 1502 mla r5, r7, r2, r1 return buf_u8[px + LV_IMG_PX_SIZE_ALPHA_BYTE - 1]; - ea7e: eb05 0545 add.w r5, r5, r5, lsl #1 - ea82: 4435 add r5, r6 - ea84: 78a8 ldrb r0, [r5, #2] - ea86: e7f3 b.n ea70 + ea66: eb05 0545 add.w r5, r5, r5, lsl #1 + ea6a: 4435 add r5, r6 + ea6c: 78a8 ldrb r0, [r5, #2] + ea6e: e7f3 b.n ea58 uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - ea88: f001 0307 and.w r3, r1, #7 - ea8c: f1c3 0107 rsb r1, r3, #7 + ea70: f001 0307 and.w r3, r1, #7 + ea74: f1c3 0107 rsb r1, r3, #7 uint32_t px = ((dsc->header.w + 7) >> 3) * y + x; - ea90: 6802 ldr r2, [r0, #0] - ea92: f3c2 228a ubfx r2, r2, #10, #11 - ea96: 3207 adds r2, #7 - ea98: 10d2 asrs r2, r2, #3 - ea9a: 10ed asrs r5, r5, #3 + ea78: 6802 ldr r2, [r0, #0] + ea7a: f3c2 228a ubfx r2, r2, #10, #11 + ea7e: 3207 adds r2, #7 + ea80: 10d2 asrs r2, r2, #3 + ea82: 10ed asrs r5, r5, #3 uint8_t px_opa = (buf_u8[px] & (1 << (7 - bit))) >> (7 - bit); - ea9c: fb07 6202 mla r2, r7, r2, r6 - eaa0: 5d53 ldrb r3, [r2, r5] - eaa2: 2201 movs r2, #1 - eaa4: 408a lsls r2, r1 - eaa6: 4013 ands r3, r2 - eaa8: 410b asrs r3, r1 + ea84: fb07 6202 mla r2, r7, r2, r6 + ea88: 5d53 ldrb r3, [r2, r5] + ea8a: 2201 movs r2, #1 + ea8c: 408a lsls r2, r1 + ea8e: 4013 ands r3, r2 + ea90: 410b asrs r3, r1 return px_opa ? LV_OPA_TRANSP : LV_OPA_COVER; - eaaa: f013 0fff tst.w r3, #255 ; 0xff - eaae: bf0c ite eq - eab0: 20ff moveq r0, #255 ; 0xff - eab2: 2000 movne r0, #0 - eab4: e7dc b.n ea70 + ea92: f013 0fff tst.w r3, #255 ; 0xff + ea96: bf0c ite eq + ea98: 20ff moveq r0, #255 ; 0xff + ea9a: 2000 movne r0, #0 + ea9c: e7dc b.n ea58 const uint8_t opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/ - eab6: 2300 movs r3, #0 - eab8: f88d 3000 strb.w r3, [sp] - eabc: 2355 movs r3, #85 ; 0x55 - eabe: f88d 3001 strb.w r3, [sp, #1] - eac2: 23aa movs r3, #170 ; 0xaa - eac4: f88d 3002 strb.w r3, [sp, #2] - eac8: 23ff movs r3, #255 ; 0xff - eaca: f88d 3003 strb.w r3, [sp, #3] + ea9e: 2300 movs r3, #0 + eaa0: f88d 3000 strb.w r3, [sp] + eaa4: 2355 movs r3, #85 ; 0x55 + eaa6: f88d 3001 strb.w r3, [sp, #1] + eaaa: 23aa movs r3, #170 ; 0xaa + eaac: f88d 3002 strb.w r3, [sp, #2] + eab0: 23ff movs r3, #255 ; 0xff + eab2: f88d 3003 strb.w r3, [sp, #3] uint8_t bit = (x & 0x3) * 2; - eace: f001 0303 and.w r3, r1, #3 + eab6: f001 0303 and.w r3, r1, #3 uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - ead2: 005b lsls r3, r3, #1 - ead4: f1c3 0106 rsb r1, r3, #6 + eaba: 005b lsls r3, r3, #1 + eabc: f1c3 0106 rsb r1, r3, #6 uint32_t px = ((dsc->header.w + 3) >> 2) * y + x; - ead8: 6802 ldr r2, [r0, #0] - eada: f3c2 228a ubfx r2, r2, #10, #11 - eade: 3203 adds r2, #3 - eae0: 1092 asrs r2, r2, #2 - eae2: 10ad asrs r5, r5, #2 + eac0: 6802 ldr r2, [r0, #0] + eac2: f3c2 228a ubfx r2, r2, #10, #11 + eac6: 3203 adds r2, #3 + eac8: 1092 asrs r2, r2, #2 + eaca: 10ad asrs r5, r5, #2 uint8_t px_opa = (buf_u8[px] & (3 << (6 - bit))) >> (6 - bit); - eae4: fb07 6202 mla r2, r7, r2, r6 - eae8: 5d53 ldrb r3, [r2, r5] - eaea: 2203 movs r2, #3 - eaec: 408a lsls r2, r1 - eaee: 4013 ands r3, r2 - eaf0: 410b asrs r3, r1 + eacc: fb07 6202 mla r2, r7, r2, r6 + ead0: 5d53 ldrb r3, [r2, r5] + ead2: 2203 movs r2, #3 + ead4: 408a lsls r2, r1 + ead6: 4013 ands r3, r2 + ead8: 410b asrs r3, r1 return opa_table[px_opa]; - eaf2: aa04 add r2, sp, #16 - eaf4: fa52 f383 uxtab r3, r2, r3 - eaf8: f813 0c10 ldrb.w r0, [r3, #-16] - eafc: e7b8 b.n ea70 + eada: aa04 add r2, sp, #16 + eadc: fa52 f383 uxtab r3, r2, r3 + eae0: f813 0c10 ldrb.w r0, [r3, #-16] + eae4: e7b8 b.n ea58 const uint8_t opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/ - eafe: 4b12 ldr r3, [pc, #72] ; (eb48 ) - eb00: cb0f ldmia r3, {r0, r1, r2, r3} - eb02: f10d 0e10 add.w lr, sp, #16 - eb06: e90e 000f stmdb lr, {r0, r1, r2, r3} + eae6: 4b12 ldr r3, [pc, #72] ; (eb30 ) + eae8: cb0f ldmia r3, {r0, r1, r2, r3} + eaea: f10d 0e10 add.w lr, sp, #16 + eaee: e90e 000f stmdb lr, {r0, r1, r2, r3} uint8_t bit = (x & 0x1) * 4; - eb0a: f005 0301 and.w r3, r5, #1 + eaf2: f005 0301 and.w r3, r5, #1 uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - eb0e: 009b lsls r3, r3, #2 - eb10: f1c3 0104 rsb r1, r3, #4 + eaf6: 009b lsls r3, r3, #2 + eaf8: f1c3 0104 rsb r1, r3, #4 uint32_t px = ((dsc->header.w + 1) >> 1) * y + x; - eb14: 6822 ldr r2, [r4, #0] - eb16: f3c2 228a ubfx r2, r2, #10, #11 - eb1a: 3201 adds r2, #1 - eb1c: 1052 asrs r2, r2, #1 - eb1e: 106d asrs r5, r5, #1 + eafc: 6822 ldr r2, [r4, #0] + eafe: f3c2 228a ubfx r2, r2, #10, #11 + eb02: 3201 adds r2, #1 + eb04: 1052 asrs r2, r2, #1 + eb06: 106d asrs r5, r5, #1 uint8_t px_opa = (buf_u8[px] & (0xF << (4 - bit))) >> (4 - bit); - eb20: fb07 6202 mla r2, r7, r2, r6 - eb24: 5d53 ldrb r3, [r2, r5] - eb26: 220f movs r2, #15 - eb28: 408a lsls r2, r1 - eb2a: 4013 ands r3, r2 - eb2c: 410b asrs r3, r1 + eb08: fb07 6202 mla r2, r7, r2, r6 + eb0c: 5d53 ldrb r3, [r2, r5] + eb0e: 220f movs r2, #15 + eb10: 408a lsls r2, r1 + eb12: 4013 ands r3, r2 + eb14: 410b asrs r3, r1 return opa_table[px_opa]; - eb2e: fa5e f383 uxtab r3, lr, r3 - eb32: f813 0c10 ldrb.w r0, [r3, #-16] - eb36: e79b b.n ea70 + eb16: fa5e f383 uxtab r3, lr, r3 + eb1a: f813 0c10 ldrb.w r0, [r3, #-16] + eb1e: e79b b.n ea58 uint32_t px = dsc->header.w * y + x; - eb38: 6802 ldr r2, [r0, #0] - eb3a: f3c2 228a ubfx r2, r2, #10, #11 + eb20: 6802 ldr r2, [r0, #0] + eb22: f3c2 228a ubfx r2, r2, #10, #11 return buf_u8[px]; - eb3e: fb07 6202 mla r2, r7, r2, r6 - eb42: 5c50 ldrb r0, [r2, r1] - eb44: e794 b.n ea70 - eb46: bf00 nop - eb48: 0002510c .word 0x0002510c + eb26: fb07 6202 mla r2, r7, r2, r6 + eb2a: 5c50 ldrb r0, [r2, r1] + eb2c: e794 b.n ea58 + eb2e: bf00 nop + eb30: 000250f4 .word 0x000250f4 -0000eb4c <_lv_img_buf_transform_init>: +0000eb34 <_lv_img_buf_transform_init>: /** * Initialize a descriptor to tranform an image * @param dsc pointer to an `lv_img_transform_dsc_t` variable whose `cfg` field is initialized */ void _lv_img_buf_transform_init(lv_img_transform_dsc_t * dsc) { - eb4c: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - eb50: 4604 mov r4, r0 + eb34: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + eb38: 4604 mov r4, r0 dsc->tmp.pivot_x_256 = dsc->cfg.pivot_x * 256; - eb52: f9b0 3008 ldrsh.w r3, [r0, #8] - eb56: 021b lsls r3, r3, #8 - eb58: 6243 str r3, [r0, #36] ; 0x24 + eb3a: f9b0 3008 ldrsh.w r3, [r0, #8] + eb3e: 021b lsls r3, r3, #8 + eb40: 6243 str r3, [r0, #36] ; 0x24 dsc->tmp.pivot_y_256 = dsc->cfg.pivot_y * 256; - eb5a: f9b0 300a ldrsh.w r3, [r0, #10] - eb5e: 021b lsls r3, r3, #8 - eb60: 6283 str r3, [r0, #40] ; 0x28 + eb42: f9b0 300a ldrsh.w r3, [r0, #10] + eb46: 021b lsls r3, r3, #8 + eb48: 6283 str r3, [r0, #40] ; 0x28 int32_t angle_low = dsc->cfg.angle / 10; - eb62: f9b0 000c ldrsh.w r0, [r0, #12] - eb66: f8df 80f4 ldr.w r8, [pc, #244] ; ec5c <_lv_img_buf_transform_init+0x110> - eb6a: fb88 2300 smull r2, r3, r8, r0 - eb6e: 17c5 asrs r5, r0, #31 - eb70: ebc5 05a3 rsb r5, r5, r3, asr #2 - eb74: b22d sxth r5, r5 + eb4a: f9b0 000c ldrsh.w r0, [r0, #12] + eb4e: f8df 80f4 ldr.w r8, [pc, #244] ; ec44 <_lv_img_buf_transform_init+0x110> + eb52: fb88 2300 smull r2, r3, r8, r0 + eb56: 17c5 asrs r5, r0, #31 + eb58: ebc5 05a3 rsb r5, r5, r3, asr #2 + eb5c: b22d sxth r5, r5 int32_t angle_hight = angle_low + 1; int32_t angle_rem = dsc->cfg.angle - (angle_low * 10); - eb76: f06f 0709 mvn.w r7, #9 - eb7a: fb07 0705 mla r7, r7, r5, r0 + eb5e: f06f 0709 mvn.w r7, #9 + eb62: fb07 0705 mla r7, r7, r5, r0 int32_t s1 = _lv_trigo_sin(-angle_low); - eb7e: fa1f fa85 uxth.w sl, r5 - eb82: f1ca 0000 rsb r0, sl, #0 - eb86: b200 sxth r0, r0 - eb88: f8df 90d4 ldr.w r9, [pc, #212] ; ec60 <_lv_img_buf_transform_init+0x114> - eb8c: 47c8 blx r9 - eb8e: 4606 mov r6, r0 + eb66: fa1f fa85 uxth.w sl, r5 + eb6a: f1ca 0000 rsb r0, sl, #0 + eb6e: b200 sxth r0, r0 + eb70: f8df 90d4 ldr.w r9, [pc, #212] ; ec48 <_lv_img_buf_transform_init+0x114> + eb74: 47c8 blx r9 + eb76: 4606 mov r6, r0 int32_t angle_hight = angle_low + 1; - eb90: 3501 adds r5, #1 + eb78: 3501 adds r5, #1 int32_t s2 = _lv_trigo_sin(-angle_hight); - eb92: b2ad uxth r5, r5 - eb94: 4268 negs r0, r5 - eb96: b200 sxth r0, r0 - eb98: 47c8 blx r9 - eb9a: 4683 mov fp, r0 + eb7a: b2ad uxth r5, r5 + eb7c: 4268 negs r0, r5 + eb7e: b200 sxth r0, r0 + eb80: 47c8 blx r9 + eb82: 4683 mov fp, r0 int32_t c1 = _lv_trigo_sin(-angle_low + 90); - eb9c: f1ca 005a rsb r0, sl, #90 ; 0x5a - eba0: b200 sxth r0, r0 - eba2: 47c8 blx r9 - eba4: 4682 mov sl, r0 + eb84: f1ca 005a rsb r0, sl, #90 ; 0x5a + eb88: b200 sxth r0, r0 + eb8a: 47c8 blx r9 + eb8c: 4682 mov sl, r0 int32_t c2 = _lv_trigo_sin(-angle_hight + 90); - eba6: f1c5 055a rsb r5, r5, #90 ; 0x5a - ebaa: b228 sxth r0, r5 - ebac: 47c8 blx r9 + eb8e: f1c5 055a rsb r5, r5, #90 ; 0x5a + eb92: b228 sxth r0, r5 + eb94: 47c8 blx r9 dsc->tmp.sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10; - ebae: f1c7 030a rsb r3, r7, #10 - ebb2: fb07 fb0b mul.w fp, r7, fp - ebb6: fb03 b606 mla r6, r3, r6, fp - ebba: fb88 2b06 smull r2, fp, r8, r6 - ebbe: 17f6 asrs r6, r6, #31 - ebc0: ebc6 06ab rsb r6, r6, fp, asr #2 - ebc4: 62e6 str r6, [r4, #44] ; 0x2c + eb96: f1c7 030a rsb r3, r7, #10 + eb9a: fb07 fb0b mul.w fp, r7, fp + eb9e: fb03 b606 mla r6, r3, r6, fp + eba2: fb88 2b06 smull r2, fp, r8, r6 + eba6: 17f6 asrs r6, r6, #31 + eba8: ebc6 06ab rsb r6, r6, fp, asr #2 + ebac: 62e6 str r6, [r4, #44] ; 0x2c dsc->tmp.cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10; - ebc6: fb07 f000 mul.w r0, r7, r0 - ebca: fb03 000a mla r0, r3, sl, r0 - ebce: fb88 3800 smull r3, r8, r8, r0 - ebd2: 17c0 asrs r0, r0, #31 - ebd4: ebc0 00a8 rsb r0, r0, r8, asr #2 - ebd8: 6320 str r0, [r4, #48] ; 0x30 + ebae: fb07 f000 mul.w r0, r7, r0 + ebb2: fb03 000a mla r0, r3, sl, r0 + ebb6: fb88 3800 smull r3, r8, r8, r0 + ebba: 17c0 asrs r0, r0, #31 + ebbc: ebc0 00a8 rsb r0, r0, r8, asr #2 + ebc0: 6320 str r0, [r4, #48] ; 0x30 dsc->tmp.chroma_keyed = lv_img_cf_is_chroma_keyed(dsc->cfg.cf) ? 1 : 0; - ebda: 7ca0 ldrb r0, [r4, #18] - ebdc: 4b1d ldr r3, [pc, #116] ; (ec54 <_lv_img_buf_transform_init+0x108>) - ebde: 4798 blx r3 - ebe0: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - ebe4: f360 0300 bfi r3, r0, #0, #1 - ebe8: f884 3034 strb.w r3, [r4, #52] ; 0x34 + ebc2: 7ca0 ldrb r0, [r4, #18] + ebc4: 4b1d ldr r3, [pc, #116] ; (ec3c <_lv_img_buf_transform_init+0x108>) + ebc6: 4798 blx r3 + ebc8: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ebcc: f360 0300 bfi r3, r0, #0, #1 + ebd0: f884 3034 strb.w r3, [r4, #52] ; 0x34 dsc->tmp.has_alpha = lv_img_cf_has_alpha(dsc->cfg.cf) ? 1 : 0; - ebec: 7ca0 ldrb r0, [r4, #18] - ebee: 4b1a ldr r3, [pc, #104] ; (ec58 <_lv_img_buf_transform_init+0x10c>) - ebf0: 4798 blx r3 - ebf2: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - ebf6: f360 0341 bfi r3, r0, #1, #1 - ebfa: f884 3034 strb.w r3, [r4, #52] ; 0x34 + ebd4: 7ca0 ldrb r0, [r4, #18] + ebd6: 4b1a ldr r3, [pc, #104] ; (ec40 <_lv_img_buf_transform_init+0x10c>) + ebd8: 4798 blx r3 + ebda: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ebde: f360 0341 bfi r3, r0, #1, #1 + ebe2: f884 3034 strb.w r3, [r4, #52] ; 0x34 if(dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR || dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || - ebfe: 7ca2 ldrb r2, [r4, #18] - ec00: 1f13 subs r3, r2, #4 - ec02: b2db uxtb r3, r3 - ec04: 2b02 cmp r3, #2 + ebe6: 7ca2 ldrb r2, [r4, #18] + ebe8: 1f13 subs r3, r2, #4 + ebea: b2db uxtb r3, r3 + ebec: 2b02 cmp r3, #2 dsc->cfg.cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { dsc->tmp.native_color = 1; - ec06: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - ec0a: bf94 ite ls - ec0c: f043 0304 orrls.w r3, r3, #4 + ebee: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ebf2: bf94 ite ls + ebf4: f043 0304 orrls.w r3, r3, #4 } else { dsc->tmp.native_color = 0; - ec10: f36f 0382 bfchi r3, #2, #1 - ec14: f884 3034 strb.w r3, [r4, #52] ; 0x34 + ebf8: f36f 0382 bfchi r3, #2, #1 + ebfc: f884 3034 strb.w r3, [r4, #52] ; 0x34 } dsc->tmp.img_dsc.data = dsc->cfg.src; - ec18: 6823 ldr r3, [r4, #0] - ec1a: 6223 str r3, [r4, #32] + ec00: 6823 ldr r3, [r4, #0] + ec02: 6223 str r3, [r4, #32] dsc->tmp.img_dsc.header.always_zero = 0; - ec1c: 7e23 ldrb r3, [r4, #24] + ec04: 7e23 ldrb r3, [r4, #24] dsc->tmp.img_dsc.header.cf = dsc->cfg.cf; - ec1e: f003 031f and.w r3, r3, #31 - ec22: f362 0304 bfi r3, r2, #0, #5 - ec26: 7623 strb r3, [r4, #24] + ec06: f003 031f and.w r3, r3, #31 + ec0a: f362 0304 bfi r3, r2, #0, #5 + ec0e: 7623 strb r3, [r4, #24] dsc->tmp.img_dsc.header.w = dsc->cfg.src_w; - ec28: 69a3 ldr r3, [r4, #24] - ec2a: 88a2 ldrh r2, [r4, #4] - ec2c: f362 2394 bfi r3, r2, #10, #11 - ec30: 61a3 str r3, [r4, #24] + ec10: 69a3 ldr r3, [r4, #24] + ec12: 88a2 ldrh r2, [r4, #4] + ec14: f362 2394 bfi r3, r2, #10, #11 + ec18: 61a3 str r3, [r4, #24] dsc->tmp.img_dsc.header.h = dsc->cfg.src_h; - ec32: 0c1b lsrs r3, r3, #16 - ec34: 88e2 ldrh r2, [r4, #6] - ec36: f362 134f bfi r3, r2, #5, #11 - ec3a: 8363 strh r3, [r4, #26] + ec1a: 0c1b lsrs r3, r3, #16 + ec1c: 88e2 ldrh r2, [r4, #6] + ec1e: f362 134f bfi r3, r2, #5, #11 + ec22: 8363 strh r3, [r4, #26] dsc->tmp.zoom_inv = (256 * 256) / dsc->cfg.zoom; - ec3c: 89e2 ldrh r2, [r4, #14] - ec3e: f44f 3380 mov.w r3, #65536 ; 0x10000 - ec42: fb93 f3f2 sdiv r3, r3, r2 - ec46: 86e3 strh r3, [r4, #54] ; 0x36 + ec24: 89e2 ldrh r2, [r4, #14] + ec26: f44f 3380 mov.w r3, #65536 ; 0x10000 + ec2a: fb93 f3f2 sdiv r3, r3, r2 + ec2e: 86e3 strh r3, [r4, #54] ; 0x36 dsc->res.opa = LV_OPA_COVER; - ec48: 23ff movs r3, #255 ; 0xff - ec4a: 75a3 strb r3, [r4, #22] + ec30: 23ff movs r3, #255 ; 0xff + ec32: 75a3 strb r3, [r4, #22] dsc->res.color = dsc->cfg.color; - ec4c: 8a23 ldrh r3, [r4, #16] - ec4e: 82a3 strh r3, [r4, #20] - ec50: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - ec54: 000096b3 .word 0x000096b3 - ec58: 000096c7 .word 0x000096c7 - ec5c: 66666667 .word 0x66666667 - ec60: 000122a5 .word 0x000122a5 - -0000ec64 <_lv_img_buf_get_transformed_area>: + ec34: 8a23 ldrh r3, [r4, #16] + ec36: 82a3 strh r3, [r4, #20] + ec38: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + ec3c: 0000969b .word 0x0000969b + ec40: 000096af .word 0x000096af + ec44: 66666667 .word 0x66666667 + ec48: 0001228d .word 0x0001228d + +0000ec4c <_lv_img_buf_get_transformed_area>: * @param zoom zoom, (256 no zoom) * @param pivot x,y pivot coordinates of rotation */ void _lv_img_buf_get_transformed_area(lv_area_t * res, lv_coord_t w, lv_coord_t h, int16_t angle, uint16_t zoom, lv_point_t * pivot) { - ec64: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - ec68: b087 sub sp, #28 - ec6a: 9003 str r0, [sp, #12] - ec6c: 9104 str r1, [sp, #16] - ec6e: 9205 str r2, [sp, #20] - ec70: f8bd 4040 ldrh.w r4, [sp, #64] ; 0x40 - ec74: 9401 str r4, [sp, #4] - ec76: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 + ec4c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + ec50: b087 sub sp, #28 + ec52: 9003 str r0, [sp, #12] + ec54: 9104 str r1, [sp, #16] + ec56: 9205 str r2, [sp, #20] + ec58: f8bd 4040 ldrh.w r4, [sp, #64] ; 0x40 + ec5c: 9401 str r4, [sp, #4] + ec5e: f8dd b044 ldr.w fp, [sp, #68] ; 0x44 #if LV_USE_IMG_TRANSFORM int32_t angle_low = angle / 10; - ec7a: 4f5e ldr r7, [pc, #376] ; (edf4 <_lv_img_buf_get_transformed_area+0x190>) - ec7c: fb87 6003 smull r6, r0, r7, r3 - ec80: 17dd asrs r5, r3, #31 - ec82: ebc5 05a0 rsb r5, r5, r0, asr #2 - ec86: b22d sxth r5, r5 + ec62: 4f5e ldr r7, [pc, #376] ; (eddc <_lv_img_buf_get_transformed_area+0x190>) + ec64: fb87 6003 smull r6, r0, r7, r3 + ec68: 17dd asrs r5, r3, #31 + ec6a: ebc5 05a0 rsb r5, r5, r0, asr #2 + ec6e: b22d sxth r5, r5 int32_t angle_hight = angle_low + 1; - ec88: f105 0901 add.w r9, r5, #1 + ec70: f105 0901 add.w r9, r5, #1 int32_t angle_rem = angle - (angle_low * 10); - ec8c: f06f 0609 mvn.w r6, #9 - ec90: fb06 3605 mla r6, r6, r5, r3 + ec74: f06f 0609 mvn.w r6, #9 + ec78: fb06 3605 mla r6, r6, r5, r3 int32_t s1 = _lv_trigo_sin(angle_low); - ec94: 4628 mov r0, r5 - ec96: f8df 8160 ldr.w r8, [pc, #352] ; edf8 <_lv_img_buf_get_transformed_area+0x194> - ec9a: 47c0 blx r8 - ec9c: 4604 mov r4, r0 + ec7c: 4628 mov r0, r5 + ec7e: f8df 8160 ldr.w r8, [pc, #352] ; ede0 <_lv_img_buf_get_transformed_area+0x194> + ec82: 47c0 blx r8 + ec84: 4604 mov r4, r0 int32_t s2 = _lv_trigo_sin(angle_hight); - ec9e: fa0f f089 sxth.w r0, r9 - eca2: 47c0 blx r8 - eca4: 4682 mov sl, r0 + ec86: fa0f f089 sxth.w r0, r9 + ec8a: 47c0 blx r8 + ec8c: 4682 mov sl, r0 int32_t c1 = _lv_trigo_sin(angle_low + 90); - eca6: f105 005a add.w r0, r5, #90 ; 0x5a - ecaa: b200 sxth r0, r0 - ecac: 47c0 blx r8 - ecae: 4605 mov r5, r0 + ec8e: f105 005a add.w r0, r5, #90 ; 0x5a + ec92: b200 sxth r0, r0 + ec94: 47c0 blx r8 + ec96: 4605 mov r5, r0 int32_t c2 = _lv_trigo_sin(angle_hight + 90); - ecb0: f109 005a add.w r0, r9, #90 ; 0x5a - ecb4: b200 sxth r0, r0 - ecb6: 47c0 blx r8 + ec98: f109 005a add.w r0, r9, #90 ; 0x5a + ec9c: b200 sxth r0, r0 + ec9e: 47c0 blx r8 int32_t sinma = (s1 * (10 - angle_rem) + s2 * angle_rem) / 10; - ecb8: f1c6 030a rsb r3, r6, #10 - ecbc: fb06 fa0a mul.w sl, r6, sl - ecc0: fb03 a404 mla r4, r3, r4, sl - ecc4: fb87 ea04 smull lr, sl, r7, r4 - ecc8: 17e4 asrs r4, r4, #31 - ecca: ebc4 04aa rsb r4, r4, sl, asr #2 + eca0: f1c6 030a rsb r3, r6, #10 + eca4: fb06 fa0a mul.w sl, r6, sl + eca8: fb03 a404 mla r4, r3, r4, sl + ecac: fb87 ea04 smull lr, sl, r7, r4 + ecb0: 17e4 asrs r4, r4, #31 + ecb2: ebc4 04aa rsb r4, r4, sl, asr #2 int32_t cosma = (c1 * (10 - angle_rem) + c2 * angle_rem) / 10; - ecce: fb06 f000 mul.w r0, r6, r0 - ecd2: fb03 0505 mla r5, r3, r5, r0 - ecd6: fb87 3705 smull r3, r7, r7, r5 - ecda: 17ed asrs r5, r5, #31 - ecdc: ebc5 07a7 rsb r7, r5, r7, asr #2 + ecb6: fb06 f000 mul.w r0, r6, r0 + ecba: fb03 0505 mla r5, r3, r5, r0 + ecbe: fb87 3705 smull r3, r7, r7, r5 + ecc2: 17ed asrs r5, r5, #31 + ecc4: ebc5 07a7 rsb r7, r5, r7, asr #2 lv_coord_t xt; lv_coord_t yt; lv_area_t a; a.x1 = ((-pivot->x) * zoom) >> 8; - ece0: f9bb c000 ldrsh.w ip, [fp] + ecc8: f9bb c000 ldrsh.w ip, [fp] a.y1 = ((-pivot->y) * zoom) >> 8; - ece4: f9bb 8002 ldrsh.w r8, [fp, #2] + eccc: f9bb 8002 ldrsh.w r8, [fp, #2] a.x1 = ((-pivot->x) * zoom) >> 8; - ece8: f1cc 0300 rsb r3, ip, #0 - ecec: 9d01 ldr r5, [sp, #4] - ecee: fb05 f303 mul.w r3, r5, r3 + ecd0: f1cc 0300 rsb r3, ip, #0 + ecd4: 9d01 ldr r5, [sp, #4] + ecd6: fb05 f303 mul.w r3, r5, r3 a.x2 = ((w - pivot->x) * zoom) >> 8; a.y2 = ((h - pivot->y) * zoom) >> 8; xt = a.x1; yt = a.y1; lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - ecf2: f343 230f sbfx r3, r3, #8, #16 - ecf6: fb03 fa07 mul.w sl, r3, r7 + ecda: f343 230f sbfx r3, r3, #8, #16 + ecde: fb03 fa07 mul.w sl, r3, r7 a.y1 = ((-pivot->y) * zoom) >> 8; - ecfa: f1c8 0200 rsb r2, r8, #0 - ecfe: fb05 f202 mul.w r2, r5, r2 + ece2: f1c8 0200 rsb r2, r8, #0 + ece6: fb05 f202 mul.w r2, r5, r2 lt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - ed02: f342 220f sbfx r2, r2, #8, #16 - ed06: fb02 fe04 mul.w lr, r2, r4 - ed0a: fa1f f68c uxth.w r6, ip - ed0e: ebaa 0b0e sub.w fp, sl, lr - ed12: eb06 3beb add.w fp, r6, fp, asr #15 - ed16: fa0f fb8b sxth.w fp, fp + ecea: f342 220f sbfx r2, r2, #8, #16 + ecee: fb02 fe04 mul.w lr, r2, r4 + ecf2: fa1f f68c uxth.w r6, ip + ecf6: ebaa 0b0e sub.w fp, sl, lr + ecfa: eb06 3beb add.w fp, r6, fp, asr #15 + ecfe: fa0f fb8b sxth.w fp, fp lt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - ed1a: fb03 f304 mul.w r3, r3, r4 - ed1e: fb02 f207 mul.w r2, r2, r7 - ed22: fa1f f088 uxth.w r0, r8 - ed26: 1899 adds r1, r3, r2 - ed28: eb00 31e1 add.w r1, r0, r1, asr #15 - ed2c: b209 sxth r1, r1 - ed2e: 9102 str r1, [sp, #8] + ed02: fb03 f304 mul.w r3, r3, r4 + ed06: fb02 f207 mul.w r2, r2, r7 + ed0a: fa1f f088 uxth.w r0, r8 + ed0e: 1899 adds r1, r3, r2 + ed10: eb00 31e1 add.w r1, r0, r1, asr #15 + ed14: b209 sxth r1, r1 + ed16: 9102 str r1, [sp, #8] a.x2 = ((w - pivot->x) * zoom) >> 8; - ed30: 9904 ldr r1, [sp, #16] - ed32: eba1 0c0c sub.w ip, r1, ip - ed36: fb05 fc0c mul.w ip, r5, ip + ed18: 9904 ldr r1, [sp, #16] + ed1a: eba1 0c0c sub.w ip, r1, ip + ed1e: fb05 fc0c mul.w ip, r5, ip xt = a.x2; yt = a.y1; rt.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - ed3a: f34c 2c0f sbfx ip, ip, #8, #16 - ed3e: fb0c f907 mul.w r9, ip, r7 - ed42: eba9 0e0e sub.w lr, r9, lr - ed46: eb06 3eee add.w lr, r6, lr, asr #15 - ed4a: fa0f fe8e sxth.w lr, lr + ed22: f34c 2c0f sbfx ip, ip, #8, #16 + ed26: fb0c f907 mul.w r9, ip, r7 + ed2a: eba9 0e0e sub.w lr, r9, lr + ed2e: eb06 3eee add.w lr, r6, lr, asr #15 + ed32: fa0f fe8e sxth.w lr, lr rt.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - ed4e: fb0c fc04 mul.w ip, ip, r4 - ed52: 4462 add r2, ip - ed54: eb00 32e2 add.w r2, r0, r2, asr #15 - ed58: b212 sxth r2, r2 + ed36: fb0c fc04 mul.w ip, ip, r4 + ed3a: 4462 add r2, ip + ed3c: eb00 32e2 add.w r2, r0, r2, asr #15 + ed40: b212 sxth r2, r2 a.y2 = ((h - pivot->y) * zoom) >> 8; - ed5a: 9905 ldr r1, [sp, #20] - ed5c: eba1 0808 sub.w r8, r1, r8 - ed60: fb05 f808 mul.w r8, r5, r8 + ed42: 9905 ldr r1, [sp, #20] + ed44: eba1 0808 sub.w r8, r1, r8 + ed48: fb05 f808 mul.w r8, r5, r8 xt = a.x1; yt = a.y2; lb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - ed64: f348 280f sbfx r8, r8, #8, #16 - ed68: fb08 f404 mul.w r4, r8, r4 - ed6c: ebaa 0504 sub.w r5, sl, r4 - ed70: eb06 35e5 add.w r5, r6, r5, asr #15 - ed74: b22d sxth r5, r5 + ed4c: f348 280f sbfx r8, r8, #8, #16 + ed50: fb08 f404 mul.w r4, r8, r4 + ed54: ebaa 0504 sub.w r5, sl, r4 + ed58: eb06 35e5 add.w r5, r6, r5, asr #15 + ed5c: b22d sxth r5, r5 lb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - ed76: fb08 f707 mul.w r7, r8, r7 - ed7a: 443b add r3, r7 - ed7c: eb00 33e3 add.w r3, r0, r3, asr #15 - ed80: b21b sxth r3, r3 + ed5e: fb08 f707 mul.w r7, r8, r7 + ed62: 443b add r3, r7 + ed64: eb00 33e3 add.w r3, r0, r3, asr #15 + ed68: b21b sxth r3, r3 xt = a.x2; yt = a.y2; rb.x = ((cosma * xt - sinma * yt) >> LV_TRIGO_SHIFT) + pivot->x; - ed82: eba9 0404 sub.w r4, r9, r4 - ed86: eb06 36e4 add.w r6, r6, r4, asr #15 - ed8a: b236 sxth r6, r6 + ed6a: eba9 0404 sub.w r4, r9, r4 + ed6e: eb06 36e4 add.w r6, r6, r4, asr #15 + ed72: b236 sxth r6, r6 rb.y = ((sinma * xt + cosma * yt) >> LV_TRIGO_SHIFT) + pivot->y; - ed8c: 44bc add ip, r7 - ed8e: eb00 30ec add.w r0, r0, ip, asr #15 - ed92: b200 sxth r0, r0 + ed74: 44bc add ip, r7 + ed76: eb00 30ec add.w r0, r0, ip, asr #15 + ed7a: b200 sxth r0, r0 res->x1 = LV_MATH_MIN4(lb.x, lt.x, rb.x, rt.x); - ed94: 465c mov r4, fp - ed96: 45f3 cmp fp, lr - ed98: bfa8 it ge - ed9a: 4674 movge r4, lr - ed9c: 42ac cmp r4, r5 - ed9e: bfa8 it ge - eda0: 462c movge r4, r5 - eda2: 42b4 cmp r4, r6 - eda4: bfa8 it ge - eda6: 4634 movge r4, r6 - eda8: 9903 ldr r1, [sp, #12] - edaa: 460f mov r7, r1 - edac: 800c strh r4, [r1, #0] + ed7c: 465c mov r4, fp + ed7e: 45f3 cmp fp, lr + ed80: bfa8 it ge + ed82: 4674 movge r4, lr + ed84: 42ac cmp r4, r5 + ed86: bfa8 it ge + ed88: 462c movge r4, r5 + ed8a: 42b4 cmp r4, r6 + ed8c: bfa8 it ge + ed8e: 4634 movge r4, r6 + ed90: 9903 ldr r1, [sp, #12] + ed92: 460f mov r7, r1 + ed94: 800c strh r4, [r1, #0] res->x2 = LV_MATH_MAX4(lb.x, lt.x, rb.x, rt.x); - edae: 45de cmp lr, fp - edb0: bfb8 it lt - edb2: 46de movlt lr, fp - edb4: 4575 cmp r5, lr - edb6: bfb8 it lt - edb8: 4675 movlt r5, lr - edba: 42ae cmp r6, r5 - edbc: bfb8 it lt - edbe: 462e movlt r6, r5 - edc0: 808e strh r6, [r1, #4] + ed96: 45de cmp lr, fp + ed98: bfb8 it lt + ed9a: 46de movlt lr, fp + ed9c: 4575 cmp r5, lr + ed9e: bfb8 it lt + eda0: 4675 movlt r5, lr + eda2: 42ae cmp r6, r5 + eda4: bfb8 it lt + eda6: 462e movlt r6, r5 + eda8: 808e strh r6, [r1, #4] res->y1 = LV_MATH_MIN4(lb.y, lt.y, rb.y, rt.y); - edc2: 9902 ldr r1, [sp, #8] - edc4: 460c mov r4, r1 - edc6: 4291 cmp r1, r2 - edc8: bfa8 it ge - edca: 4614 movge r4, r2 - edcc: 429c cmp r4, r3 - edce: bfa8 it ge - edd0: 461c movge r4, r3 - edd2: 4284 cmp r4, r0 - edd4: bfa8 it ge - edd6: 4604 movge r4, r0 - edd8: 807c strh r4, [r7, #2] + edaa: 9902 ldr r1, [sp, #8] + edac: 460c mov r4, r1 + edae: 4291 cmp r1, r2 + edb0: bfa8 it ge + edb2: 4614 movge r4, r2 + edb4: 429c cmp r4, r3 + edb6: bfa8 it ge + edb8: 461c movge r4, r3 + edba: 4284 cmp r4, r0 + edbc: bfa8 it ge + edbe: 4604 movge r4, r0 + edc0: 807c strh r4, [r7, #2] res->y2 = LV_MATH_MAX4(lb.y, lt.y, rb.y, rt.y); - edda: 4291 cmp r1, r2 - eddc: bfb8 it lt - edde: 4611 movlt r1, r2 - ede0: 428b cmp r3, r1 - ede2: bfb8 it lt - ede4: 460b movlt r3, r1 - ede6: 4298 cmp r0, r3 - ede8: bfb8 it lt - edea: 4618 movlt r0, r3 - edec: 80f8 strh r0, [r7, #6] + edc2: 4291 cmp r1, r2 + edc4: bfb8 it lt + edc6: 4611 movlt r1, r2 + edc8: 428b cmp r3, r1 + edca: bfb8 it lt + edcc: 460b movlt r3, r1 + edce: 4298 cmp r0, r3 + edd0: bfb8 it lt + edd2: 4618 movlt r0, r3 + edd4: 80f8 strh r0, [r7, #6] res->x1 = 0; res->y1 = 0; res->x2 = w; res->y2 = h; #endif } - edee: b007 add sp, #28 - edf0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} - edf4: 66666667 .word 0x66666667 - edf8: 000122a5 .word 0x000122a5 + edd6: b007 add sp, #28 + edd8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + eddc: 66666667 .word 0x66666667 + ede0: 0001228d .word 0x0001228d -0000edfc <_lv_img_buf_transform_anti_alias>: +0000ede4 <_lv_img_buf_transform_anti_alias>: /** * Continue transformation by taking the neighbors into account * @param dsc pointer to the transformation descriptor */ bool _lv_img_buf_transform_anti_alias(lv_img_transform_dsc_t * dsc) { - edfc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - ee00: b089 sub sp, #36 ; 0x24 - ee02: 4604 mov r4, r0 + ede4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + ede8: b089 sub sp, #36 ; 0x24 + edea: 4604 mov r4, r0 const uint8_t * src_u8 = dsc->cfg.src; /*Get the fractional part of the source pixel*/ int xs_fract = dsc->tmp.xs & 0xff; - ee04: f9b0 5038 ldrsh.w r5, [r0, #56] ; 0x38 - ee08: b2ea uxtb r2, r5 + edec: f9b0 5038 ldrsh.w r5, [r0, #56] ; 0x38 + edf0: b2ea uxtb r2, r5 int ys_fract = dsc->tmp.ys & 0xff; - ee0a: f9b0 603a ldrsh.w r6, [r0, #58] ; 0x3a - ee0e: b2f3 uxtb r3, r6 + edf2: f9b0 603a ldrsh.w r6, [r0, #58] ; 0x3a + edf6: b2f3 uxtb r3, r6 int32_t xn; /*x neightboor*/ lv_opa_t xr; /*x mix ratio*/ if(xs_fract < 0x70) { - ee10: 2a6f cmp r2, #111 ; 0x6f - ee12: dc74 bgt.n eefe <_lv_img_buf_transform_anti_alias+0x102> + edf8: 2a6f cmp r2, #111 ; 0x6f + edfa: dc74 bgt.n eee6 <_lv_img_buf_transform_anti_alias+0x102> xn = - 1; if(dsc->tmp.xs_int + xn < 0) xn = 0; - ee14: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c - ee18: 4249 negs r1, r1 - ee1a: 17c9 asrs r1, r1, #31 + edfc: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c + ee00: 4249 negs r1, r1 + ee02: 17c9 asrs r1, r1, #31 xr = xs_fract + 0x80; - ee1c: 3d80 subs r5, #128 ; 0x80 - ee1e: b2ed uxtb r5, r5 + ee04: 3d80 subs r5, #128 ; 0x80 + ee06: b2ed uxtb r5, r5 } int32_t yn; /*x neightboor*/ lv_opa_t yr; /*x mix ratio*/ if(ys_fract < 0x70) { - ee20: 2b6f cmp r3, #111 ; 0x6f - ee22: dc7e bgt.n ef22 <_lv_img_buf_transform_anti_alias+0x126> + ee08: 2b6f cmp r3, #111 ; 0x6f + ee0a: dc7e bgt.n ef0a <_lv_img_buf_transform_anti_alias+0x126> yn = - 1; if(dsc->tmp.ys_int + yn < 0) yn = 0; - ee24: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e - ee28: f1cb 0b00 rsb fp, fp, #0 - ee2c: ea4f 7beb mov.w fp, fp, asr #31 + ee0c: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e + ee10: f1cb 0b00 rsb fp, fp, #0 + ee14: ea4f 7beb mov.w fp, fp, asr #31 yr = ys_fract + 0x80; - ee30: 3e80 subs r6, #128 ; 0x80 - ee32: b2f6 uxtb r6, r6 + ee18: 3e80 subs r6, #128 ; 0x80 + ee1a: b2f6 uxtb r6, r6 else { yn = 0; yr = 0xFF; } lv_color_t c00 = dsc->res.color; - ee34: f894 9014 ldrb.w r9, [r4, #20] - ee38: f009 091f and.w r9, r9, #31 - ee3c: f8b4 8014 ldrh.w r8, [r4, #20] - ee40: f3c8 1845 ubfx r8, r8, #5, #6 - ee44: 7d67 ldrb r7, [r4, #21] - ee46: 08ff lsrs r7, r7, #3 + ee1c: f894 9014 ldrb.w r9, [r4, #20] + ee20: f009 091f and.w r9, r9, #31 + ee24: f8b4 8014 ldrh.w r8, [r4, #20] + ee28: f3c8 1845 ubfx r8, r8, #5, #6 + ee2c: 7d67 ldrb r7, [r4, #21] + ee2e: 08ff lsrs r7, r7, #3 lv_color_t c01; lv_color_t c10; lv_color_t c11; lv_opa_t a00 = dsc->res.opa; - ee48: 7da3 ldrb r3, [r4, #22] - ee4a: 9300 str r3, [sp, #0] + ee30: 7da3 ldrb r3, [r4, #22] + ee32: 9300 str r3, [sp, #0] lv_opa_t a10 = 0; lv_opa_t a01 = 0; lv_opa_t a11 = 0; if(dsc->tmp.native_color) { - ee4c: f894 c034 ldrb.w ip, [r4, #52] ; 0x34 - ee50: f01c 0f04 tst.w ip, #4 - ee54: d07b beq.n ef4e <_lv_img_buf_transform_anti_alias+0x152> + ee34: f894 c034 ldrb.w ip, [r4, #52] ; 0x34 + ee38: f01c 0f04 tst.w ip, #4 + ee3c: d07b beq.n ef36 <_lv_img_buf_transform_anti_alias+0x152> const uint8_t * src_u8 = dsc->cfg.src; - ee56: 6823 ldr r3, [r4, #0] + ee3e: 6823 ldr r3, [r4, #0] _lv_memcpy_small(&c01, &src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn], sizeof(lv_color_t)); - ee58: 6c20 ldr r0, [r4, #64] ; 0x40 - ee5a: f894 e044 ldrb.w lr, [r4, #68] ; 0x44 - ee5e: fb0e 0101 mla r1, lr, r1, r0 - ee62: 185a adds r2, r3, r1 - ee64: f813 a001 ldrb.w sl, [r3, r1] - ee68: f88d a01c strb.w sl, [sp, #28] - ee6c: 7852 ldrb r2, [r2, #1] - ee6e: f88d 201d strb.w r2, [sp, #29] + ee40: 6c20 ldr r0, [r4, #64] ; 0x40 + ee42: f894 e044 ldrb.w lr, [r4, #68] ; 0x44 + ee46: fb0e 0101 mla r1, lr, r1, r0 + ee4a: 185a adds r2, r3, r1 + ee4c: f813 a001 ldrb.w sl, [r3, r1] + ee50: f88d a01c strb.w sl, [sp, #28] + ee54: 7852 ldrb r2, [r2, #1] + ee56: f88d 201d strb.w r2, [sp, #29] _lv_memcpy_small(&c10, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn], sizeof(lv_color_t)); - ee72: f9b4 2004 ldrsh.w r2, [r4, #4] - ee76: fb0e f202 mul.w r2, lr, r2 - ee7a: fb0b fb02 mul.w fp, fp, r2 - ee7e: 4458 add r0, fp - ee80: 181a adds r2, r3, r0 - ee82: f813 a000 ldrb.w sl, [r3, r0] - ee86: f88d a018 strb.w sl, [sp, #24] - ee8a: 7852 ldrb r2, [r2, #1] - ee8c: f88d 2019 strb.w r2, [sp, #25] + ee5a: f9b4 2004 ldrsh.w r2, [r4, #4] + ee5e: fb0e f202 mul.w r2, lr, r2 + ee62: fb0b fb02 mul.w fp, fp, r2 + ee66: 4458 add r0, fp + ee68: 181a adds r2, r3, r0 + ee6a: f813 a000 ldrb.w sl, [r3, r0] + ee6e: f88d a018 strb.w sl, [sp, #24] + ee72: 7852 ldrb r2, [r2, #1] + ee74: f88d 2019 strb.w r2, [sp, #25] _lv_memcpy_small(&c11, &src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn], - ee90: eb01 020b add.w r2, r1, fp - ee94: eb03 0a02 add.w sl, r3, r2 - ee98: f813 b002 ldrb.w fp, [r3, r2] - ee9c: f88d b014 strb.w fp, [sp, #20] - eea0: f89a a001 ldrb.w sl, [sl, #1] - eea4: f88d a015 strb.w sl, [sp, #21] + ee78: eb01 020b add.w r2, r1, fp + ee7c: eb03 0a02 add.w sl, r3, r2 + ee80: f813 b002 ldrb.w fp, [r3, r2] + ee84: f88d b014 strb.w fp, [sp, #20] + ee88: f89a a001 ldrb.w sl, [sl, #1] + ee8c: f88d a015 strb.w sl, [sp, #21] sizeof(lv_color_t)); if(dsc->tmp.has_alpha) { - eea8: f01c 0f02 tst.w ip, #2 - eeac: f000 8081 beq.w efb2 <_lv_img_buf_transform_anti_alias+0x1b6> - eeb0: f10e 3eff add.w lr, lr, #4294967295 + ee90: f01c 0f02 tst.w ip, #2 + ee94: f000 8081 beq.w ef9a <_lv_img_buf_transform_anti_alias+0x1b6> + ee98: f10e 3eff add.w lr, lr, #4294967295 a10 = src_u8[dsc->tmp.pxi + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1]; - eeb4: 4473 add r3, lr - eeb6: f813 b001 ldrb.w fp, [r3, r1] + ee9c: 4473 add r3, lr + ee9e: f813 b001 ldrb.w fp, [r3, r1] a01 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size - 1]; - eeba: f813 a000 ldrb.w sl, [r3, r0] + eea2: f813 a000 ldrb.w sl, [r3, r0] a11 = src_u8[dsc->tmp.pxi + dsc->cfg.src_w * dsc->tmp.px_size * yn + dsc->tmp.px_size * xn + dsc->tmp.px_size - 1]; - eebe: 5c98 ldrb r0, [r3, r2] + eea6: 5c98 ldrb r0, [r3, r2] } lv_opa_t xr0 = xr; lv_opa_t xr1 = xr; if(dsc->tmp.has_alpha) { lv_opa_t a0 = (a00 * xr + (a10 * (255 - xr))) >> 8; - eec0: f1c5 03ff rsb r3, r5, #255 ; 0xff - eec4: fb03 f10b mul.w r1, r3, fp - eec8: 9a00 ldr r2, [sp, #0] - eeca: fb05 1102 mla r1, r5, r2, r1 + eea8: f1c5 03ff rsb r3, r5, #255 ; 0xff + eeac: fb03 f10b mul.w r1, r3, fp + eeb0: 9a00 ldr r2, [sp, #0] + eeb2: fb05 1102 mla r1, r5, r2, r1 lv_opa_t a1 = (a01 * xr + (a11 * (255 - xr))) >> 8; - eece: fb03 f300 mul.w r3, r3, r0 - eed2: fb05 330a mla r3, r5, sl, r3 - eed6: f3c3 2307 ubfx r3, r3, #8, #8 + eeb6: fb03 f300 mul.w r3, r3, r0 + eeba: fb05 330a mla r3, r5, sl, r3 + eebe: f3c3 2307 ubfx r3, r3, #8, #8 dsc->res.opa = (a0 * yr + (a1 * (255 - yr))) >> 8; - eeda: f1c6 02ff rsb r2, r6, #255 ; 0xff - eede: f3c1 2107 ubfx r1, r1, #8, #8 - eee2: fb06 fe01 mul.w lr, r6, r1 - eee6: fb02 e203 mla r2, r2, r3, lr - eeea: 1212 asrs r2, r2, #8 - eeec: 75a2 strb r2, [r4, #22] + eec2: f1c6 02ff rsb r2, r6, #255 ; 0xff + eec6: f3c1 2107 ubfx r1, r1, #8, #8 + eeca: fb06 fe01 mul.w lr, r6, r1 + eece: fb02 e203 mla r2, r2, r3, lr + eed2: 1212 asrs r2, r2, #8 + eed4: 75a2 strb r2, [r4, #22] if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false; - eeee: 2905 cmp r1, #5 - eef0: f200 80dc bhi.w f0ac <_lv_img_buf_transform_anti_alias+0x2b0> - eef4: 2b05 cmp r3, #5 - eef6: f240 817d bls.w f1f4 <_lv_img_buf_transform_anti_alias+0x3f8> + eed6: 2905 cmp r1, #5 + eed8: f200 80dc bhi.w f094 <_lv_img_buf_transform_anti_alias+0x2b0> + eedc: 2b05 cmp r3, #5 + eede: f240 817d bls.w f1dc <_lv_img_buf_transform_anti_alias+0x3f8> if(a0 <= LV_OPA_MIN) yr = LV_OPA_TRANSP; - eefa: 2600 movs r6, #0 - eefc: e0d9 b.n f0b2 <_lv_img_buf_transform_anti_alias+0x2b6> + eee2: 2600 movs r6, #0 + eee4: e0d9 b.n f09a <_lv_img_buf_transform_anti_alias+0x2b6> else if(xs_fract > 0x90) { - eefe: 2a90 cmp r2, #144 ; 0x90 - ef00: dd0c ble.n ef1c <_lv_img_buf_transform_anti_alias+0x120> + eee6: 2a90 cmp r2, #144 ; 0x90 + eee8: dd0c ble.n ef04 <_lv_img_buf_transform_anti_alias+0x120> if(dsc->tmp.xs_int + xn >= dsc->cfg.src_w) xn = 0; - ef02: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c - ef06: 3101 adds r1, #1 - ef08: f9b0 2004 ldrsh.w r2, [r0, #4] - ef0c: 4291 cmp r1, r2 - ef0e: bfac ite ge - ef10: 2100 movge r1, #0 - ef12: 2101 movlt r1, #1 + eeea: f9b0 103c ldrsh.w r1, [r0, #60] ; 0x3c + eeee: 3101 adds r1, #1 + eef0: f9b0 2004 ldrsh.w r2, [r0, #4] + eef4: 4291 cmp r1, r2 + eef6: bfac ite ge + eef8: 2100 movge r1, #0 + eefa: 2101 movlt r1, #1 xr = (0xFF - xs_fract) + 0x80; - ef14: f1c5 057f rsb r5, r5, #127 ; 0x7f - ef18: b2ed uxtb r5, r5 - ef1a: e781 b.n ee20 <_lv_img_buf_transform_anti_alias+0x24> + eefc: f1c5 057f rsb r5, r5, #127 ; 0x7f + ef00: b2ed uxtb r5, r5 + ef02: e781 b.n ee08 <_lv_img_buf_transform_anti_alias+0x24> xr = 0xFF; - ef1c: 25ff movs r5, #255 ; 0xff + ef04: 25ff movs r5, #255 ; 0xff xn = 0; - ef1e: 2100 movs r1, #0 - ef20: e77e b.n ee20 <_lv_img_buf_transform_anti_alias+0x24> + ef06: 2100 movs r1, #0 + ef08: e77e b.n ee08 <_lv_img_buf_transform_anti_alias+0x24> else if(ys_fract > 0x90) { - ef22: 2b90 cmp r3, #144 ; 0x90 - ef24: dd0f ble.n ef46 <_lv_img_buf_transform_anti_alias+0x14a> + ef0a: 2b90 cmp r3, #144 ; 0x90 + ef0c: dd0f ble.n ef2e <_lv_img_buf_transform_anti_alias+0x14a> if(dsc->tmp.ys_int + yn >= dsc->cfg.src_h) yn = 0; - ef26: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e - ef2a: f10b 0b01 add.w fp, fp, #1 - ef2e: f9b4 2006 ldrsh.w r2, [r4, #6] - ef32: 4593 cmp fp, r2 - ef34: bfac ite ge - ef36: f04f 0b00 movge.w fp, #0 - ef3a: f04f 0b01 movlt.w fp, #1 + ef0e: f9b4 b03e ldrsh.w fp, [r4, #62] ; 0x3e + ef12: f10b 0b01 add.w fp, fp, #1 + ef16: f9b4 2006 ldrsh.w r2, [r4, #6] + ef1a: 4593 cmp fp, r2 + ef1c: bfac ite ge + ef1e: f04f 0b00 movge.w fp, #0 + ef22: f04f 0b01 movlt.w fp, #1 yr = (0xFF - ys_fract) + 0x80; - ef3e: f1c6 067f rsb r6, r6, #127 ; 0x7f - ef42: b2f6 uxtb r6, r6 - ef44: e776 b.n ee34 <_lv_img_buf_transform_anti_alias+0x38> + ef26: f1c6 067f rsb r6, r6, #127 ; 0x7f + ef2a: b2f6 uxtb r6, r6 + ef2c: e776 b.n ee1c <_lv_img_buf_transform_anti_alias+0x38> yr = 0xFF; - ef46: 26ff movs r6, #255 ; 0xff + ef2e: 26ff movs r6, #255 ; 0xff yn = 0; - ef48: f04f 0b00 mov.w fp, #0 - ef4c: e772 b.n ee34 <_lv_img_buf_transform_anti_alias+0x38> + ef30: f04f 0b00 mov.w fp, #0 + ef34: e772 b.n ee1c <_lv_img_buf_transform_anti_alias+0x38> c01 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int, dsc->cfg.color); - ef4e: f104 0318 add.w r3, r4, #24 - ef52: 4618 mov r0, r3 - ef54: b28b uxth r3, r1 - ef56: 8fa1 ldrh r1, [r4, #60] ; 0x3c - ef58: 9302 str r3, [sp, #8] - ef5a: 4419 add r1, r3 - ef5c: 8a23 ldrh r3, [r4, #16] - ef5e: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e - ef62: b209 sxth r1, r1 - ef64: 9001 str r0, [sp, #4] - ef66: f8df a294 ldr.w sl, [pc, #660] ; f1fc <_lv_img_buf_transform_anti_alias+0x400> - ef6a: 47d0 blx sl - ef6c: f8ad 001c strh.w r0, [sp, #28] + ef36: f104 0318 add.w r3, r4, #24 + ef3a: 4618 mov r0, r3 + ef3c: b28b uxth r3, r1 + ef3e: 8fa1 ldrh r1, [r4, #60] ; 0x3c + ef40: 9302 str r3, [sp, #8] + ef42: 4419 add r1, r3 + ef44: 8a23 ldrh r3, [r4, #16] + ef46: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e + ef4a: b209 sxth r1, r1 + ef4c: 9001 str r0, [sp, #4] + ef4e: f8df a294 ldr.w sl, [pc, #660] ; f1e4 <_lv_img_buf_transform_anti_alias+0x400> + ef52: 47d0 blx sl + ef54: f8ad 001c strh.w r0, [sp, #28] c10 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn, dsc->cfg.color); - ef70: fa1f f18b uxth.w r1, fp - ef74: 8fe2 ldrh r2, [r4, #62] ; 0x3e - ef76: 9103 str r1, [sp, #12] - ef78: 440a add r2, r1 - ef7a: 8a23 ldrh r3, [r4, #16] - ef7c: b212 sxth r2, r2 - ef7e: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c - ef82: f8dd b004 ldr.w fp, [sp, #4] - ef86: 4658 mov r0, fp - ef88: 47d0 blx sl - ef8a: f8ad 0018 strh.w r0, [sp, #24] + ef58: fa1f f18b uxth.w r1, fp + ef5c: 8fe2 ldrh r2, [r4, #62] ; 0x3e + ef5e: 9103 str r1, [sp, #12] + ef60: 440a add r2, r1 + ef62: 8a23 ldrh r3, [r4, #16] + ef64: b212 sxth r2, r2 + ef66: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c + ef6a: f8dd b004 ldr.w fp, [sp, #4] + ef6e: 4658 mov r0, fp + ef70: 47d0 blx sl + ef72: f8ad 0018 strh.w r0, [sp, #24] c11 = lv_img_buf_get_px_color(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn, dsc->cfg.color); - ef8e: 8fe2 ldrh r2, [r4, #62] ; 0x3e - ef90: 9903 ldr r1, [sp, #12] - ef92: 440a add r2, r1 - ef94: 8fa1 ldrh r1, [r4, #60] ; 0x3c - ef96: 9b02 ldr r3, [sp, #8] - ef98: 4419 add r1, r3 - ef9a: 8a23 ldrh r3, [r4, #16] - ef9c: b212 sxth r2, r2 - ef9e: b209 sxth r1, r1 - efa0: 4658 mov r0, fp - efa2: 47d0 blx sl - efa4: f8ad 0014 strh.w r0, [sp, #20] + ef76: 8fe2 ldrh r2, [r4, #62] ; 0x3e + ef78: 9903 ldr r1, [sp, #12] + ef7a: 440a add r2, r1 + ef7c: 8fa1 ldrh r1, [r4, #60] ; 0x3c + ef7e: 9b02 ldr r3, [sp, #8] + ef80: 4419 add r1, r3 + ef82: 8a23 ldrh r3, [r4, #16] + ef84: b212 sxth r2, r2 + ef86: b209 sxth r1, r1 + ef88: 4658 mov r0, fp + ef8a: 47d0 blx sl + ef8c: f8ad 0014 strh.w r0, [sp, #20] if(dsc->tmp.has_alpha) { - efa8: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - efac: f013 0f02 tst.w r3, #2 - efb0: d152 bne.n f058 <_lv_img_buf_transform_anti_alias+0x25c> + ef90: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + ef94: f013 0f02 tst.w r3, #2 + ef98: d152 bne.n f040 <_lv_img_buf_transform_anti_alias+0x25c> if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER; } else { xr0 = xr; xr1 = xr; dsc->res.opa = LV_OPA_COVER; - efb2: 23ff movs r3, #255 ; 0xff - efb4: 75a3 strb r3, [r4, #22] + ef9a: 23ff movs r3, #255 ; 0xff + ef9c: 75a3 strb r3, [r4, #22] xr0 = xr; - efb6: 462b mov r3, r5 + ef9e: 462b mov r3, r5 } lv_color_t c0; if(xr0 == LV_OPA_TRANSP) c0 = c01; - efb8: 2b00 cmp r3, #0 - efba: f040 808b bne.w f0d4 <_lv_img_buf_transform_anti_alias+0x2d8> - efbe: f89d 901c ldrb.w r9, [sp, #28] - efc2: f009 091f and.w r9, r9, #31 - efc6: f8bd 801c ldrh.w r8, [sp, #28] - efca: f3c8 1845 ubfx r8, r8, #5, #6 - efce: f89d 701d ldrb.w r7, [sp, #29] - efd2: 08ff lsrs r7, r7, #3 + efa0: 2b00 cmp r3, #0 + efa2: f040 808b bne.w f0bc <_lv_img_buf_transform_anti_alias+0x2d8> + efa6: f89d 901c ldrb.w r9, [sp, #28] + efaa: f009 091f and.w r9, r9, #31 + efae: f8bd 801c ldrh.w r8, [sp, #28] + efb2: f3c8 1845 ubfx r8, r8, #5, #6 + efb6: f89d 701d ldrb.w r7, [sp, #29] + efba: 08ff lsrs r7, r7, #3 else if(xr0 == LV_OPA_COVER) c0 = c00; else c0 = lv_color_mix(c00, c01, xr0); lv_color_t c1; if(xr1 == LV_OPA_TRANSP) c1 = c11; - efd4: 2d00 cmp r5, #0 - efd6: f040 80ac bne.w f132 <_lv_img_buf_transform_anti_alias+0x336> - efda: f89d 5014 ldrb.w r5, [sp, #20] - efde: f005 051f and.w r5, r5, #31 - efe2: f8bd 3014 ldrh.w r3, [sp, #20] - efe6: f3c3 1345 ubfx r3, r3, #5, #6 - efea: f89d 1015 ldrb.w r1, [sp, #21] - efee: 08c9 lsrs r1, r1, #3 + efbc: 2d00 cmp r5, #0 + efbe: f040 80ac bne.w f11a <_lv_img_buf_transform_anti_alias+0x336> + efc2: f89d 5014 ldrb.w r5, [sp, #20] + efc6: f005 051f and.w r5, r5, #31 + efca: f8bd 3014 ldrh.w r3, [sp, #20] + efce: f3c3 1345 ubfx r3, r3, #5, #6 + efd2: f89d 1015 ldrb.w r1, [sp, #21] + efd6: 08c9 lsrs r1, r1, #3 else if(xr1 == LV_OPA_COVER) c1 = c10; else c1 = lv_color_mix(c10, c11, xr1); if(yr == LV_OPA_TRANSP) dsc->res.color = c1; - eff0: 2e00 cmp r6, #0 - eff2: f000 80e3 beq.w f1bc <_lv_img_buf_transform_anti_alias+0x3c0> + efd8: 2e00 cmp r6, #0 + efda: f000 80e3 beq.w f1a4 <_lv_img_buf_transform_anti_alias+0x3c0> else if(yr == LV_OPA_COVER) dsc->res.color = c0; - eff6: 2eff cmp r6, #255 ; 0xff - eff8: f000 80ee beq.w f1d8 <_lv_img_buf_transform_anti_alias+0x3dc> + efde: 2eff cmp r6, #255 ; 0xff + efe0: f000 80ee beq.w f1c0 <_lv_img_buf_transform_anti_alias+0x3dc> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - effc: f1c6 02ff rsb r2, r6, #255 ; 0xff + efe4: f1c6 02ff rsb r2, r6, #255 ; 0xff LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - f000: fb02 f505 mul.w r5, r2, r5 - f004: fb06 5509 mla r5, r6, r9, r5 - f008: eb05 2905 add.w r9, r5, r5, lsl #8 - f00c: eb05 15c9 add.w r5, r5, r9, lsl #7 - f010: 0ded lsrs r5, r5, #23 + efe8: fb02 f505 mul.w r5, r2, r5 + efec: fb06 5509 mla r5, r6, r9, r5 + eff0: eb05 2905 add.w r9, r5, r5, lsl #8 + eff4: eb05 15c9 add.w r5, r5, r9, lsl #7 + eff8: 0ded lsrs r5, r5, #23 else dsc->res.color = lv_color_mix(c0, c1, yr); - f012: 7d20 ldrb r0, [r4, #20] - f014: f365 0004 bfi r0, r5, #0, #5 - f018: 7520 strb r0, [r4, #20] + effa: 7d20 ldrb r0, [r4, #20] + effc: f365 0004 bfi r0, r5, #0, #5 + f000: 7520 strb r0, [r4, #20] LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - f01a: fb02 f303 mul.w r3, r2, r3 - f01e: fb06 3808 mla r8, r6, r8, r3 - f022: eb08 2308 add.w r3, r8, r8, lsl #8 - f026: eb08 18c3 add.w r8, r8, r3, lsl #7 - f02a: ea4f 58d8 mov.w r8, r8, lsr #23 - f02e: 8aa3 ldrh r3, [r4, #20] - f030: f368 134a bfi r3, r8, #5, #6 - f034: 82a3 strh r3, [r4, #20] + f002: fb02 f303 mul.w r3, r2, r3 + f006: fb06 3808 mla r8, r6, r8, r3 + f00a: eb08 2308 add.w r3, r8, r8, lsl #8 + f00e: eb08 18c3 add.w r8, r8, r3, lsl #7 + f012: ea4f 58d8 mov.w r8, r8, lsr #23 + f016: 8aa3 ldrh r3, [r4, #20] + f018: f368 134a bfi r3, r8, #5, #6 + f01c: 82a3 strh r3, [r4, #20] LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - f036: fb02 f101 mul.w r1, r2, r1 - f03a: fb06 1607 mla r6, r6, r7, r1 - f03e: eb06 2706 add.w r7, r6, r6, lsl #8 - f042: eb06 16c7 add.w r6, r6, r7, lsl #7 - f046: 0df6 lsrs r6, r6, #23 - f048: 0a1b lsrs r3, r3, #8 - f04a: f366 03c7 bfi r3, r6, #3, #5 - f04e: 7563 strb r3, [r4, #21] + f01e: fb02 f101 mul.w r1, r2, r1 + f022: fb06 1607 mla r6, r6, r7, r1 + f026: eb06 2706 add.w r7, r6, r6, lsl #8 + f02a: eb06 16c7 add.w r6, r6, r7, lsl #7 + f02e: 0df6 lsrs r6, r6, #23 + f030: 0a1b lsrs r3, r3, #8 + f032: f366 03c7 bfi r3, r6, #3, #5 + f036: 7563 strb r3, [r4, #21] return true; - f050: 2001 movs r0, #1 + f038: 2001 movs r0, #1 } - f052: b009 add sp, #36 ; 0x24 - f054: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + f03a: b009 add sp, #36 ; 0x24 + f03c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} a10 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int); - f058: 8fa1 ldrh r1, [r4, #60] ; 0x3c - f05a: 9b02 ldr r3, [sp, #8] - f05c: 4419 add r1, r3 - f05e: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e - f062: b209 sxth r1, r1 - f064: f8dd a004 ldr.w sl, [sp, #4] + f040: 8fa1 ldrh r1, [r4, #60] ; 0x3c + f042: 9b02 ldr r3, [sp, #8] + f044: 4419 add r1, r3 + f046: f9b4 203e ldrsh.w r2, [r4, #62] ; 0x3e + f04a: b209 sxth r1, r1 + f04c: f8dd a004 ldr.w sl, [sp, #4] + f050: 4650 mov r0, sl + f052: 4b63 ldr r3, [pc, #396] ; (f1e0 <_lv_img_buf_transform_anti_alias+0x3fc>) + f054: 4798 blx r3 + f056: 4683 mov fp, r0 + a01 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn); + f058: 8fe2 ldrh r2, [r4, #62] ; 0x3e + f05a: 9903 ldr r1, [sp, #12] + f05c: 440a add r2, r1 + f05e: b212 sxth r2, r2 + f060: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c + f064: f8cd a004 str.w sl, [sp, #4] f068: 4650 mov r0, sl - f06a: 4b63 ldr r3, [pc, #396] ; (f1f8 <_lv_img_buf_transform_anti_alias+0x3fc>) + f06a: 4b5d ldr r3, [pc, #372] ; (f1e0 <_lv_img_buf_transform_anti_alias+0x3fc>) f06c: 4798 blx r3 - f06e: 4683 mov fp, r0 - a01 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int, dsc->tmp.ys_int + yn); + f06e: 4682 mov sl, r0 + a11 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn); f070: 8fe2 ldrh r2, [r4, #62] ; 0x3e f072: 9903 ldr r1, [sp, #12] f074: 440a add r2, r1 - f076: b212 sxth r2, r2 - f078: f9b4 103c ldrsh.w r1, [r4, #60] ; 0x3c - f07c: f8cd a004 str.w sl, [sp, #4] - f080: 4650 mov r0, sl - f082: 4b5d ldr r3, [pc, #372] ; (f1f8 <_lv_img_buf_transform_anti_alias+0x3fc>) + f076: 8fa1 ldrh r1, [r4, #60] ; 0x3c + f078: 9b02 ldr r3, [sp, #8] + f07a: 4419 add r1, r3 + f07c: b212 sxth r2, r2 + f07e: b209 sxth r1, r1 + f080: 9801 ldr r0, [sp, #4] + f082: 4b57 ldr r3, [pc, #348] ; (f1e0 <_lv_img_buf_transform_anti_alias+0x3fc>) f084: 4798 blx r3 - f086: 4682 mov sl, r0 - a11 = lv_img_buf_get_px_alpha(&dsc->tmp.img_dsc, dsc->tmp.xs_int + xn, dsc->tmp.ys_int + yn); - f088: 8fe2 ldrh r2, [r4, #62] ; 0x3e - f08a: 9903 ldr r1, [sp, #12] - f08c: 440a add r2, r1 - f08e: 8fa1 ldrh r1, [r4, #60] ; 0x3c - f090: 9b02 ldr r3, [sp, #8] - f092: 4419 add r1, r3 - f094: b212 sxth r2, r2 - f096: b209 sxth r1, r1 - f098: 9801 ldr r0, [sp, #4] - f09a: 4b57 ldr r3, [pc, #348] ; (f1f8 <_lv_img_buf_transform_anti_alias+0x3fc>) - f09c: 4798 blx r3 if(dsc->tmp.has_alpha) { - f09e: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 - f0a2: f013 0f02 tst.w r3, #2 - f0a6: f47f af0b bne.w eec0 <_lv_img_buf_transform_anti_alias+0xc4> - f0aa: e782 b.n efb2 <_lv_img_buf_transform_anti_alias+0x1b6> + f086: f894 3034 ldrb.w r3, [r4, #52] ; 0x34 + f08a: f013 0f02 tst.w r3, #2 + f08e: f47f af0b bne.w eea8 <_lv_img_buf_transform_anti_alias+0xc4> + f092: e782 b.n ef9a <_lv_img_buf_transform_anti_alias+0x1b6> if(a1 <= LV_OPA_MIN) yr = LV_OPA_COVER; - f0ac: 2b05 cmp r3, #5 - f0ae: bf98 it ls - f0b0: 26ff movls r6, #255 ; 0xff + f094: 2b05 cmp r3, #5 + f096: bf98 it ls + f098: 26ff movls r6, #255 ; 0xff if(a00 <= LV_OPA_MIN) xr0 = LV_OPA_TRANSP; - f0b2: 9b00 ldr r3, [sp, #0] - f0b4: 2b05 cmp r3, #5 - f0b6: bf8c ite hi - f0b8: 462b movhi r3, r5 - f0ba: 2300 movls r3, #0 + f09a: 9b00 ldr r3, [sp, #0] + f09c: 2b05 cmp r3, #5 + f09e: bf8c ite hi + f0a0: 462b movhi r3, r5 + f0a2: 2300 movls r3, #0 if(a10 <= LV_OPA_MIN) xr0 = LV_OPA_COVER; - f0bc: f1bb 0f05 cmp.w fp, #5 - f0c0: bf98 it ls - f0c2: 23ff movls r3, #255 ; 0xff + f0a4: f1bb 0f05 cmp.w fp, #5 + f0a8: bf98 it ls + f0aa: 23ff movls r3, #255 ; 0xff if(a01 <= LV_OPA_MIN) xr1 = LV_OPA_TRANSP; - f0c4: f1ba 0f05 cmp.w sl, #5 - f0c8: bf98 it ls - f0ca: 2500 movls r5, #0 + f0ac: f1ba 0f05 cmp.w sl, #5 + f0b0: bf98 it ls + f0b2: 2500 movls r5, #0 if(a11 <= LV_OPA_MIN) xr1 = LV_OPA_COVER; - f0cc: 2805 cmp r0, #5 - f0ce: bf98 it ls - f0d0: 25ff movls r5, #255 ; 0xff - f0d2: e771 b.n efb8 <_lv_img_buf_transform_anti_alias+0x1bc> + f0b4: 2805 cmp r0, #5 + f0b6: bf98 it ls + f0b8: 25ff movls r5, #255 ; 0xff + f0ba: e771 b.n efa0 <_lv_img_buf_transform_anti_alias+0x1bc> else if(xr0 == LV_OPA_COVER) c0 = c00; - f0d4: 2bff cmp r3, #255 ; 0xff - f0d6: f43f af7d beq.w efd4 <_lv_img_buf_transform_anti_alias+0x1d8> - f0da: f1c3 01ff rsb r1, r3, #255 ; 0xff - f0de: f89d 201d ldrb.w r2, [sp, #29] - f0e2: 08d2 lsrs r2, r2, #3 - f0e4: fb03 f707 mul.w r7, r3, r7 - f0e8: fb01 7702 mla r7, r1, r2, r7 - f0ec: eb07 2207 add.w r2, r7, r7, lsl #8 - f0f0: eb07 17c2 add.w r7, r7, r2, lsl #7 - f0f4: f3c7 57c4 ubfx r7, r7, #23, #5 + f0bc: 2bff cmp r3, #255 ; 0xff + f0be: f43f af7d beq.w efbc <_lv_img_buf_transform_anti_alias+0x1d8> + f0c2: f1c3 01ff rsb r1, r3, #255 ; 0xff + f0c6: f89d 201d ldrb.w r2, [sp, #29] + f0ca: 08d2 lsrs r2, r2, #3 + f0cc: fb03 f707 mul.w r7, r3, r7 + f0d0: fb01 7702 mla r7, r1, r2, r7 + f0d4: eb07 2207 add.w r2, r7, r7, lsl #8 + f0d8: eb07 17c2 add.w r7, r7, r2, lsl #7 + f0dc: f3c7 57c4 ubfx r7, r7, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - f0f8: f8bd 201c ldrh.w r2, [sp, #28] - f0fc: f3c2 1245 ubfx r2, r2, #5, #6 - f100: fb03 f808 mul.w r8, r3, r8 - f104: fb01 8802 mla r8, r1, r2, r8 - f108: eb08 2208 add.w r2, r8, r8, lsl #8 - f10c: eb08 18c2 add.w r8, r8, r2, lsl #7 - f110: f3c8 58c5 ubfx r8, r8, #23, #6 + f0e0: f8bd 201c ldrh.w r2, [sp, #28] + f0e4: f3c2 1245 ubfx r2, r2, #5, #6 + f0e8: fb03 f808 mul.w r8, r3, r8 + f0ec: fb01 8802 mla r8, r1, r2, r8 + f0f0: eb08 2208 add.w r2, r8, r8, lsl #8 + f0f4: eb08 18c2 add.w r8, r8, r2, lsl #7 + f0f8: f3c8 58c5 ubfx r8, r8, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - f114: f89d 201c ldrb.w r2, [sp, #28] - f118: f002 021f and.w r2, r2, #31 - f11c: fb03 f909 mul.w r9, r3, r9 - f120: fb01 9902 mla r9, r1, r2, r9 - f124: eb09 2309 add.w r3, r9, r9, lsl #8 - f128: eb09 19c3 add.w r9, r9, r3, lsl #7 - f12c: f3c9 59c4 ubfx r9, r9, #23, #5 - f130: e750 b.n efd4 <_lv_img_buf_transform_anti_alias+0x1d8> + f0fc: f89d 201c ldrb.w r2, [sp, #28] + f100: f002 021f and.w r2, r2, #31 + f104: fb03 f909 mul.w r9, r3, r9 + f108: fb01 9902 mla r9, r1, r2, r9 + f10c: eb09 2309 add.w r3, r9, r9, lsl #8 + f110: eb09 19c3 add.w r9, r9, r3, lsl #7 + f114: f3c9 59c4 ubfx r9, r9, #23, #5 + f118: e750 b.n efbc <_lv_img_buf_transform_anti_alias+0x1d8> else if(xr1 == LV_OPA_COVER) c1 = c10; - f132: 2dff cmp r5, #255 ; 0xff - f134: d036 beq.n f1a4 <_lv_img_buf_transform_anti_alias+0x3a8> + f11a: 2dff cmp r5, #255 ; 0xff + f11c: d036 beq.n f18c <_lv_img_buf_transform_anti_alias+0x3a8> LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - f136: f1c5 00ff rsb r0, r5, #255 ; 0xff - f13a: f89d 1019 ldrb.w r1, [sp, #25] - f13e: 08c9 lsrs r1, r1, #3 - f140: f89d 3015 ldrb.w r3, [sp, #21] - f144: 08db lsrs r3, r3, #3 - f146: fb00 f303 mul.w r3, r0, r3 - f14a: fb05 3101 mla r1, r5, r1, r3 - f14e: eb01 2301 add.w r3, r1, r1, lsl #8 - f152: eb01 11c3 add.w r1, r1, r3, lsl #7 - f156: f3c1 51c4 ubfx r1, r1, #23, #5 + f11e: f1c5 00ff rsb r0, r5, #255 ; 0xff + f122: f89d 1019 ldrb.w r1, [sp, #25] + f126: 08c9 lsrs r1, r1, #3 + f128: f89d 3015 ldrb.w r3, [sp, #21] + f12c: 08db lsrs r3, r3, #3 + f12e: fb00 f303 mul.w r3, r0, r3 + f132: fb05 3101 mla r1, r5, r1, r3 + f136: eb01 2301 add.w r3, r1, r1, lsl #8 + f13a: eb01 11c3 add.w r1, r1, r3, lsl #7 + f13e: f3c1 51c4 ubfx r1, r1, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - f15a: f8bd 3018 ldrh.w r3, [sp, #24] - f15e: f3c3 1345 ubfx r3, r3, #5, #6 - f162: f8bd 2014 ldrh.w r2, [sp, #20] - f166: f3c2 1245 ubfx r2, r2, #5, #6 - f16a: fb00 f202 mul.w r2, r0, r2 - f16e: fb05 2303 mla r3, r5, r3, r2 - f172: eb03 2203 add.w r2, r3, r3, lsl #8 - f176: eb03 13c2 add.w r3, r3, r2, lsl #7 - f17a: f3c3 53c5 ubfx r3, r3, #23, #6 + f142: f8bd 3018 ldrh.w r3, [sp, #24] + f146: f3c3 1345 ubfx r3, r3, #5, #6 + f14a: f8bd 2014 ldrh.w r2, [sp, #20] + f14e: f3c2 1245 ubfx r2, r2, #5, #6 + f152: fb00 f202 mul.w r2, r0, r2 + f156: fb05 2303 mla r3, r5, r3, r2 + f15a: eb03 2203 add.w r2, r3, r3, lsl #8 + f15e: eb03 13c2 add.w r3, r3, r2, lsl #7 + f162: f3c3 53c5 ubfx r3, r3, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - f17e: f89d 2018 ldrb.w r2, [sp, #24] - f182: f002 021f and.w r2, r2, #31 - f186: f89d e014 ldrb.w lr, [sp, #20] - f18a: f00e 0e1f and.w lr, lr, #31 - f18e: fb00 f00e mul.w r0, r0, lr - f192: fb05 0502 mla r5, r5, r2, r0 - f196: eb05 2205 add.w r2, r5, r5, lsl #8 - f19a: eb05 15c2 add.w r5, r5, r2, lsl #7 - f19e: f3c5 55c4 ubfx r5, r5, #23, #5 - f1a2: e725 b.n eff0 <_lv_img_buf_transform_anti_alias+0x1f4> - f1a4: f89d 5018 ldrb.w r5, [sp, #24] - f1a8: f005 051f and.w r5, r5, #31 - f1ac: f8bd 3018 ldrh.w r3, [sp, #24] - f1b0: f3c3 1345 ubfx r3, r3, #5, #6 - f1b4: f89d 1019 ldrb.w r1, [sp, #25] - f1b8: 08c9 lsrs r1, r1, #3 - f1ba: e719 b.n eff0 <_lv_img_buf_transform_anti_alias+0x1f4> + f166: f89d 2018 ldrb.w r2, [sp, #24] + f16a: f002 021f and.w r2, r2, #31 + f16e: f89d e014 ldrb.w lr, [sp, #20] + f172: f00e 0e1f and.w lr, lr, #31 + f176: fb00 f00e mul.w r0, r0, lr + f17a: fb05 0502 mla r5, r5, r2, r0 + f17e: eb05 2205 add.w r2, r5, r5, lsl #8 + f182: eb05 15c2 add.w r5, r5, r2, lsl #7 + f186: f3c5 55c4 ubfx r5, r5, #23, #5 + f18a: e725 b.n efd8 <_lv_img_buf_transform_anti_alias+0x1f4> + f18c: f89d 5018 ldrb.w r5, [sp, #24] + f190: f005 051f and.w r5, r5, #31 + f194: f8bd 3018 ldrh.w r3, [sp, #24] + f198: f3c3 1345 ubfx r3, r3, #5, #6 + f19c: f89d 1019 ldrb.w r1, [sp, #25] + f1a0: 08c9 lsrs r1, r1, #3 + f1a2: e719 b.n efd8 <_lv_img_buf_transform_anti_alias+0x1f4> if(yr == LV_OPA_TRANSP) dsc->res.color = c1; - f1bc: 7d22 ldrb r2, [r4, #20] - f1be: f365 0204 bfi r2, r5, #0, #5 - f1c2: 7522 strb r2, [r4, #20] - f1c4: 8aa2 ldrh r2, [r4, #20] - f1c6: f363 124a bfi r2, r3, #5, #6 - f1ca: 82a2 strh r2, [r4, #20] - f1cc: 0a12 lsrs r2, r2, #8 - f1ce: f361 02c7 bfi r2, r1, #3, #5 - f1d2: 7562 strb r2, [r4, #21] + f1a4: 7d22 ldrb r2, [r4, #20] + f1a6: f365 0204 bfi r2, r5, #0, #5 + f1aa: 7522 strb r2, [r4, #20] + f1ac: 8aa2 ldrh r2, [r4, #20] + f1ae: f363 124a bfi r2, r3, #5, #6 + f1b2: 82a2 strh r2, [r4, #20] + f1b4: 0a12 lsrs r2, r2, #8 + f1b6: f361 02c7 bfi r2, r1, #3, #5 + f1ba: 7562 strb r2, [r4, #21] return true; - f1d4: 2001 movs r0, #1 - f1d6: e73c b.n f052 <_lv_img_buf_transform_anti_alias+0x256> + f1bc: 2001 movs r0, #1 + f1be: e73c b.n f03a <_lv_img_buf_transform_anti_alias+0x256> else if(yr == LV_OPA_COVER) dsc->res.color = c0; - f1d8: 7d23 ldrb r3, [r4, #20] - f1da: f369 0304 bfi r3, r9, #0, #5 - f1de: 7523 strb r3, [r4, #20] - f1e0: 8aa3 ldrh r3, [r4, #20] - f1e2: f368 134a bfi r3, r8, #5, #6 - f1e6: 82a3 strh r3, [r4, #20] - f1e8: 0a1b lsrs r3, r3, #8 - f1ea: f367 03c7 bfi r3, r7, #3, #5 - f1ee: 7563 strb r3, [r4, #21] + f1c0: 7d23 ldrb r3, [r4, #20] + f1c2: f369 0304 bfi r3, r9, #0, #5 + f1c6: 7523 strb r3, [r4, #20] + f1c8: 8aa3 ldrh r3, [r4, #20] + f1ca: f368 134a bfi r3, r8, #5, #6 + f1ce: 82a3 strh r3, [r4, #20] + f1d0: 0a1b lsrs r3, r3, #8 + f1d2: f367 03c7 bfi r3, r7, #3, #5 + f1d6: 7563 strb r3, [r4, #21] return true; - f1f0: 2001 movs r0, #1 - f1f2: e72e b.n f052 <_lv_img_buf_transform_anti_alias+0x256> + f1d8: 2001 movs r0, #1 + f1da: e72e b.n f03a <_lv_img_buf_transform_anti_alias+0x256> if(a0 <= LV_OPA_MIN && a1 <= LV_OPA_MIN) return false; - f1f4: 2000 movs r0, #0 - f1f6: e72c b.n f052 <_lv_img_buf_transform_anti_alias+0x256> - f1f8: 0000ea49 .word 0x0000ea49 - f1fc: 0000e919 .word 0x0000e919 + f1dc: 2000 movs r0, #0 + f1de: e72c b.n f03a <_lv_img_buf_transform_anti_alias+0x256> + f1e0: 0000ea31 .word 0x0000ea31 + f1e4: 0000e901 .word 0x0000e901 -0000f200 <_lv_img_cache_open>: +0000f1e8 <_lv_img_cache_open>: * @param src source of the image. Path to file or pointer to an `lv_img_dsc_t` variable * @param style style of the image * @return pointer to the cache entry or NULL if can open the image */ lv_img_cache_entry_t * _lv_img_cache_open(const void * src, lv_color_t color) { - f200: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - f204: b083 sub sp, #12 - f206: 4688 mov r8, r1 + f1e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + f1ec: b083 sub sp, #12 + f1ee: 4688 mov r8, r1 if(entry_cnt == 0) { - f208: 4b5d ldr r3, [pc, #372] ; (f380 <_lv_img_cache_open+0x180>) - f20a: 8819 ldrh r1, [r3, #0] - f20c: b1e1 cbz r1, f248 <_lv_img_cache_open+0x48> - f20e: 4607 mov r7, r0 + f1f0: 4b5d ldr r3, [pc, #372] ; (f368 <_lv_img_cache_open+0x180>) + f1f2: 8819 ldrh r1, [r3, #0] + f1f4: b1e1 cbz r1, f230 <_lv_img_cache_open+0x48> + f1f6: 4607 mov r7, r0 LV_LOG_WARN("lv_img_cache_open: the cache size is 0"); return NULL; } lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array); - f210: 4b5c ldr r3, [pc, #368] ; (f384 <_lv_img_cache_open+0x184>) - f212: 681e ldr r6, [r3, #0] - f214: 4633 mov r3, r6 - f216: 3901 subs r1, #1 - f218: b289 uxth r1, r1 - f21a: 3101 adds r1, #1 - f21c: eb01 01c1 add.w r1, r1, r1, lsl #3 - f220: eb06 0181 add.w r1, r6, r1, lsl #2 + f1f8: 4b5c ldr r3, [pc, #368] ; (f36c <_lv_img_cache_open+0x184>) + f1fa: 681e ldr r6, [r3, #0] + f1fc: 4633 mov r3, r6 + f1fe: 3901 subs r1, #1 + f200: b289 uxth r1, r1 + f202: 3101 adds r1, #1 + f204: eb01 01c1 add.w r1, r1, r1, lsl #3 + f208: eb06 0181 add.w r1, r6, r1, lsl #2 /*Decrement all lifes. Make the entries older*/ uint16_t i; for(i = 0; i < entry_cnt; i++) { if(cache[i].life > INT32_MIN + LV_IMG_CACHE_AGING) { - f224: 4858 ldr r0, [pc, #352] ; (f388 <_lv_img_cache_open+0x188>) - f226: 6a1a ldr r2, [r3, #32] - f228: 4282 cmp r2, r0 + f20c: 4858 ldr r0, [pc, #352] ; (f370 <_lv_img_cache_open+0x188>) + f20e: 6a1a ldr r2, [r3, #32] + f210: 4282 cmp r2, r0 cache[i].life -= LV_IMG_CACHE_AGING; - f22a: bfa4 itt ge - f22c: f102 32ff addge.w r2, r2, #4294967295 - f230: 621a strge r2, [r3, #32] - f232: 3324 adds r3, #36 ; 0x24 + f212: bfa4 itt ge + f214: f102 32ff addge.w r2, r2, #4294967295 + f218: 621a strge r2, [r3, #32] + f21a: 3324 adds r3, #36 ; 0x24 for(i = 0; i < entry_cnt; i++) { - f234: 428b cmp r3, r1 - f236: d1f6 bne.n f226 <_lv_img_cache_open+0x26> - f238: 2400 movs r4, #0 + f21c: 428b cmp r3, r1 + f21e: d1f6 bne.n f20e <_lv_img_cache_open+0x26> + f220: 2400 movs r4, #0 /*Is the image cached?*/ lv_img_cache_entry_t * cached_src = NULL; for(i = 0; i < entry_cnt; i++) { bool match = false; lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); - f23a: f8df 9180 ldr.w r9, [pc, #384] ; f3bc <_lv_img_cache_open+0x1bc> + f222: f8df 9180 ldr.w r9, [pc, #384] ; f3a4 <_lv_img_cache_open+0x1bc> if(src_type == LV_IMG_SRC_VARIABLE) { if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true; } else if(src_type == LV_IMG_SRC_FILE) { if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; - f23e: f8df b180 ldr.w fp, [pc, #384] ; f3c0 <_lv_img_cache_open+0x1c0> + f226: f8df b180 ldr.w fp, [pc, #384] ; f3a8 <_lv_img_cache_open+0x1c0> for(i = 0; i < entry_cnt; i++) { - f242: f8df a13c ldr.w sl, [pc, #316] ; f380 <_lv_img_cache_open+0x180> - f246: e011 b.n f26c <_lv_img_cache_open+0x6c> + f22a: f8df a13c ldr.w sl, [pc, #316] ; f368 <_lv_img_cache_open+0x180> + f22e: e011 b.n f254 <_lv_img_cache_open+0x6c> LV_LOG_WARN("lv_img_cache_open: the cache size is 0"); - f248: 4b50 ldr r3, [pc, #320] ; (f38c <_lv_img_cache_open+0x18c>) - f24a: 9300 str r3, [sp, #0] - f24c: 4b50 ldr r3, [pc, #320] ; (f390 <_lv_img_cache_open+0x190>) - f24e: 2244 movs r2, #68 ; 0x44 - f250: 4950 ldr r1, [pc, #320] ; (f394 <_lv_img_cache_open+0x194>) - f252: 2002 movs r0, #2 - f254: 4c50 ldr r4, [pc, #320] ; (f398 <_lv_img_cache_open+0x198>) - f256: 47a0 blx r4 + f230: 4b50 ldr r3, [pc, #320] ; (f374 <_lv_img_cache_open+0x18c>) + f232: 9300 str r3, [sp, #0] + f234: 4b50 ldr r3, [pc, #320] ; (f378 <_lv_img_cache_open+0x190>) + f236: 2244 movs r2, #68 ; 0x44 + f238: 4950 ldr r1, [pc, #320] ; (f37c <_lv_img_cache_open+0x194>) + f23a: 2002 movs r0, #2 + f23c: 4c50 ldr r4, [pc, #320] ; (f380 <_lv_img_cache_open+0x198>) + f23e: 47a0 blx r4 return NULL; - f258: 2500 movs r5, #0 - f25a: e025 b.n f2a8 <_lv_img_cache_open+0xa8> + f240: 2500 movs r5, #0 + f242: e025 b.n f290 <_lv_img_cache_open+0xa8> else if(src_type == LV_IMG_SRC_FILE) { - f25c: 2801 cmp r0, #1 - f25e: d027 beq.n f2b0 <_lv_img_cache_open+0xb0> + f244: 2801 cmp r0, #1 + f246: d027 beq.n f298 <_lv_img_cache_open+0xb0> for(i = 0; i < entry_cnt; i++) { - f260: 3401 adds r4, #1 - f262: b2a4 uxth r4, r4 - f264: f8ba 3000 ldrh.w r3, [sl] - f268: 42a3 cmp r3, r4 - f26a: d92a bls.n f2c2 <_lv_img_cache_open+0xc2> + f248: 3401 adds r4, #1 + f24a: b2a4 uxth r4, r4 + f24c: f8ba 3000 ldrh.w r3, [sl] + f250: 42a3 cmp r3, r4 + f252: d92a bls.n f2aa <_lv_img_cache_open+0xc2> lv_img_src_t src_type = lv_img_src_get_type(cache[i].dec_dsc.src); - f26c: eb04 05c4 add.w r5, r4, r4, lsl #3 - f270: eb06 0585 add.w r5, r6, r5, lsl #2 - f274: 6868 ldr r0, [r5, #4] - f276: 47c8 blx r9 + f254: eb04 05c4 add.w r5, r4, r4, lsl #3 + f258: eb06 0585 add.w r5, r6, r5, lsl #2 + f25c: 6868 ldr r0, [r5, #4] + f25e: 47c8 blx r9 if(src_type == LV_IMG_SRC_VARIABLE) { - f278: 2800 cmp r0, #0 - f27a: d1ef bne.n f25c <_lv_img_cache_open+0x5c> + f260: 2800 cmp r0, #0 + f262: d1ef bne.n f244 <_lv_img_cache_open+0x5c> if(cache[i].dec_dsc.src == src && cache[i].dec_dsc.color.full == color.full) match = true; - f27c: 686b ldr r3, [r5, #4] - f27e: 42bb cmp r3, r7 - f280: d1ee bne.n f260 <_lv_img_cache_open+0x60> - f282: 8928 ldrh r0, [r5, #8] - f284: fa1f f388 uxth.w r3, r8 - f288: 4298 cmp r0, r3 - f28a: bf14 ite ne - f28c: 2000 movne r0, #0 - f28e: 2001 moveq r0, #1 + f264: 686b ldr r3, [r5, #4] + f266: 42bb cmp r3, r7 + f268: d1ee bne.n f248 <_lv_img_cache_open+0x60> + f26a: 8928 ldrh r0, [r5, #8] + f26c: fa1f f388 uxth.w r3, r8 + f270: 4298 cmp r0, r3 + f272: bf14 ite ne + f274: 2000 movne r0, #0 + f276: 2001 moveq r0, #1 } if(match) { - f290: 2800 cmp r0, #0 - f292: d0e5 beq.n f260 <_lv_img_cache_open+0x60> + f278: 2800 cmp r0, #0 + f27a: d0e5 beq.n f248 <_lv_img_cache_open+0x60> /* If opened increment its life. * Image difficult to open should live longer to keep avoid frequent their recaching. * Therefore increase `life` with `time_to_open`*/ cached_src = &cache[i]; cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN; - f294: 6a2b ldr r3, [r5, #32] - f296: 696a ldr r2, [r5, #20] - f298: 4413 add r3, r2 + f27c: 6a2b ldr r3, [r5, #32] + f27e: 696a ldr r2, [r5, #20] + f280: 4413 add r3, r2 if(cached_src->life > LV_IMG_CACHE_LIFE_LIMIT) cached_src->life = LV_IMG_CACHE_LIFE_LIMIT; - f29a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 - f29e: dd0e ble.n f2be <_lv_img_cache_open+0xbe> - f2a0: f44f 737a mov.w r3, #1000 ; 0x3e8 - f2a4: 622b str r3, [r5, #32] + f282: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 + f286: dd0e ble.n f2a6 <_lv_img_cache_open+0xbe> + f288: f44f 737a mov.w r3, #1000 ; 0x3e8 + f28c: 622b str r3, [r5, #32] break; } } /*The image is not cached then cache it now*/ if(cached_src == NULL) { - f2a6: b165 cbz r5, f2c2 <_lv_img_cache_open+0xc2> + f28e: b165 cbz r5, f2aa <_lv_img_cache_open+0xc2> if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1; } return cached_src; } - f2a8: 4628 mov r0, r5 - f2aa: b003 add sp, #12 - f2ac: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + f290: 4628 mov r0, r5 + f292: b003 add sp, #12 + f294: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(strcmp(cache[i].dec_dsc.src, src) == 0) match = true; - f2b0: 4639 mov r1, r7 - f2b2: 6868 ldr r0, [r5, #4] - f2b4: 47d8 blx fp - f2b6: fab0 f080 clz r0, r0 - f2ba: 0940 lsrs r0, r0, #5 - f2bc: e7e8 b.n f290 <_lv_img_cache_open+0x90> + f298: 4639 mov r1, r7 + f29a: 6868 ldr r0, [r5, #4] + f29c: 47d8 blx fp + f29e: fab0 f080 clz r0, r0 + f2a2: 0940 lsrs r0, r0, #5 + f2a4: e7e8 b.n f278 <_lv_img_cache_open+0x90> cached_src->life += cached_src->dec_dsc.time_to_open * LV_IMG_CACHE_LIFE_GAIN; - f2be: 622b str r3, [r5, #32] - f2c0: e7f1 b.n f2a6 <_lv_img_cache_open+0xa6> + f2a6: 622b str r3, [r5, #32] + f2a8: e7f1 b.n f28e <_lv_img_cache_open+0xa6> for(i = 1; i < entry_cnt; i++) { - f2c2: 4b2f ldr r3, [pc, #188] ; (f380 <_lv_img_cache_open+0x180>) - f2c4: 881a ldrh r2, [r3, #0] - f2c6: 2a01 cmp r2, #1 - f2c8: d937 bls.n f33a <_lv_img_cache_open+0x13a> - f2ca: f106 0324 add.w r3, r6, #36 ; 0x24 - f2ce: 3a02 subs r2, #2 - f2d0: b292 uxth r2, r2 - f2d2: eb02 02c2 add.w r2, r2, r2, lsl #3 - f2d6: eb06 0282 add.w r2, r6, r2, lsl #2 - f2da: 3248 adds r2, #72 ; 0x48 - f2dc: 4635 mov r5, r6 + f2aa: 4b2f ldr r3, [pc, #188] ; (f368 <_lv_img_cache_open+0x180>) + f2ac: 881a ldrh r2, [r3, #0] + f2ae: 2a01 cmp r2, #1 + f2b0: d937 bls.n f322 <_lv_img_cache_open+0x13a> + f2b2: f106 0324 add.w r3, r6, #36 ; 0x24 + f2b6: 3a02 subs r2, #2 + f2b8: b292 uxth r2, r2 + f2ba: eb02 02c2 add.w r2, r2, r2, lsl #3 + f2be: eb06 0282 add.w r2, r6, r2, lsl #2 + f2c2: 3248 adds r2, #72 ; 0x48 + f2c4: 4635 mov r5, r6 if(cache[i].life < cached_src->life) { - f2de: 6a18 ldr r0, [r3, #32] - f2e0: 6a29 ldr r1, [r5, #32] + f2c6: 6a18 ldr r0, [r3, #32] + f2c8: 6a29 ldr r1, [r5, #32] cached_src = &cache[i]; - f2e2: 4288 cmp r0, r1 - f2e4: bfb8 it lt - f2e6: 461d movlt r5, r3 - f2e8: 3324 adds r3, #36 ; 0x24 + f2ca: 4288 cmp r0, r1 + f2cc: bfb8 it lt + f2ce: 461d movlt r5, r3 + f2d0: 3324 adds r3, #36 ; 0x24 for(i = 1; i < entry_cnt; i++) { - f2ea: 4293 cmp r3, r2 - f2ec: d1f7 bne.n f2de <_lv_img_cache_open+0xde> + f2d2: 4293 cmp r3, r2 + f2d4: d1f7 bne.n f2c6 <_lv_img_cache_open+0xde> if(cached_src->dec_dsc.src) { - f2ee: 686b ldr r3, [r5, #4] - f2f0: b32b cbz r3, f33e <_lv_img_cache_open+0x13e> + f2d6: 686b ldr r3, [r5, #4] + f2d8: b32b cbz r3, f326 <_lv_img_cache_open+0x13e> lv_img_decoder_close(&cached_src->dec_dsc); - f2f2: 4628 mov r0, r5 - f2f4: 4b29 ldr r3, [pc, #164] ; (f39c <_lv_img_cache_open+0x19c>) - f2f6: 4798 blx r3 + f2da: 4628 mov r0, r5 + f2dc: 4b29 ldr r3, [pc, #164] ; (f384 <_lv_img_cache_open+0x19c>) + f2de: 4798 blx r3 LV_LOG_INFO("image draw: cache miss, close and reuse an entry"); - f2f8: 4b29 ldr r3, [pc, #164] ; (f3a0 <_lv_img_cache_open+0x1a0>) - f2fa: 9300 str r3, [sp, #0] - f2fc: 4b24 ldr r3, [pc, #144] ; (f390 <_lv_img_cache_open+0x190>) - f2fe: 2277 movs r2, #119 ; 0x77 - f300: 4924 ldr r1, [pc, #144] ; (f394 <_lv_img_cache_open+0x194>) - f302: 2001 movs r0, #1 - f304: 4c24 ldr r4, [pc, #144] ; (f398 <_lv_img_cache_open+0x198>) - f306: 47a0 blx r4 + f2e0: 4b29 ldr r3, [pc, #164] ; (f388 <_lv_img_cache_open+0x1a0>) + f2e2: 9300 str r3, [sp, #0] + f2e4: 4b24 ldr r3, [pc, #144] ; (f378 <_lv_img_cache_open+0x190>) + f2e6: 2277 movs r2, #119 ; 0x77 + f2e8: 4924 ldr r1, [pc, #144] ; (f37c <_lv_img_cache_open+0x194>) + f2ea: 2001 movs r0, #1 + f2ec: 4c24 ldr r4, [pc, #144] ; (f380 <_lv_img_cache_open+0x198>) + f2ee: 47a0 blx r4 t_start = lv_tick_get(); - f308: 4b26 ldr r3, [pc, #152] ; (f3a4 <_lv_img_cache_open+0x1a4>) - f30a: 4798 blx r3 - f30c: 4604 mov r4, r0 + f2f0: 4b26 ldr r3, [pc, #152] ; (f38c <_lv_img_cache_open+0x1a4>) + f2f2: 4798 blx r3 + f2f4: 4604 mov r4, r0 cached_src->dec_dsc.time_to_open = 0; - f30e: 2300 movs r3, #0 - f310: 616b str r3, [r5, #20] + f2f6: 2300 movs r3, #0 + f2f8: 616b str r3, [r5, #20] lv_res_t open_res = lv_img_decoder_open(&cached_src->dec_dsc, src, color); - f312: 4642 mov r2, r8 - f314: 4639 mov r1, r7 - f316: 4628 mov r0, r5 - f318: 4b23 ldr r3, [pc, #140] ; (f3a8 <_lv_img_cache_open+0x1a8>) - f31a: 4798 blx r3 + f2fa: 4642 mov r2, r8 + f2fc: 4639 mov r1, r7 + f2fe: 4628 mov r0, r5 + f300: 4b23 ldr r3, [pc, #140] ; (f390 <_lv_img_cache_open+0x1a8>) + f302: 4798 blx r3 if(open_res == LV_RES_INV) { - f31c: b1c0 cbz r0, f350 <_lv_img_cache_open+0x150> + f304: b1c0 cbz r0, f338 <_lv_img_cache_open+0x150> cached_src->life = 0; - f31e: 2300 movs r3, #0 - f320: 622b str r3, [r5, #32] + f306: 2300 movs r3, #0 + f308: 622b str r3, [r5, #32] if(cached_src->dec_dsc.time_to_open == 0) { - f322: 696b ldr r3, [r5, #20] - f324: 2b00 cmp r3, #0 - f326: d1bf bne.n f2a8 <_lv_img_cache_open+0xa8> + f30a: 696b ldr r3, [r5, #20] + f30c: 2b00 cmp r3, #0 + f30e: d1bf bne.n f290 <_lv_img_cache_open+0xa8> cached_src->dec_dsc.time_to_open = lv_tick_elaps(t_start); - f328: 4620 mov r0, r4 - f32a: 4b20 ldr r3, [pc, #128] ; (f3ac <_lv_img_cache_open+0x1ac>) - f32c: 4798 blx r3 - f32e: 6168 str r0, [r5, #20] + f310: 4620 mov r0, r4 + f312: 4b20 ldr r3, [pc, #128] ; (f394 <_lv_img_cache_open+0x1ac>) + f314: 4798 blx r3 + f316: 6168 str r0, [r5, #20] if(cached_src->dec_dsc.time_to_open == 0) cached_src->dec_dsc.time_to_open = 1; - f330: 2800 cmp r0, #0 - f332: d1b9 bne.n f2a8 <_lv_img_cache_open+0xa8> - f334: 2301 movs r3, #1 - f336: 616b str r3, [r5, #20] - f338: e7b6 b.n f2a8 <_lv_img_cache_open+0xa8> + f318: 2800 cmp r0, #0 + f31a: d1b9 bne.n f290 <_lv_img_cache_open+0xa8> + f31c: 2301 movs r3, #1 + f31e: 616b str r3, [r5, #20] + f320: e7b6 b.n f290 <_lv_img_cache_open+0xa8> for(i = 1; i < entry_cnt; i++) { - f33a: 4635 mov r5, r6 - f33c: e7d7 b.n f2ee <_lv_img_cache_open+0xee> + f322: 4635 mov r5, r6 + f324: e7d7 b.n f2d6 <_lv_img_cache_open+0xee> LV_LOG_INFO("image draw: cache miss, cached to an empty entry"); - f33e: 4b1c ldr r3, [pc, #112] ; (f3b0 <_lv_img_cache_open+0x1b0>) - f340: 9300 str r3, [sp, #0] - f342: 4b13 ldr r3, [pc, #76] ; (f390 <_lv_img_cache_open+0x190>) - f344: 227a movs r2, #122 ; 0x7a - f346: 4913 ldr r1, [pc, #76] ; (f394 <_lv_img_cache_open+0x194>) - f348: 2001 movs r0, #1 - f34a: 4c13 ldr r4, [pc, #76] ; (f398 <_lv_img_cache_open+0x198>) - f34c: 47a0 blx r4 - f34e: e7db b.n f308 <_lv_img_cache_open+0x108> + f326: 4b1c ldr r3, [pc, #112] ; (f398 <_lv_img_cache_open+0x1b0>) + f328: 9300 str r3, [sp, #0] + f32a: 4b13 ldr r3, [pc, #76] ; (f378 <_lv_img_cache_open+0x190>) + f32c: 227a movs r2, #122 ; 0x7a + f32e: 4913 ldr r1, [pc, #76] ; (f37c <_lv_img_cache_open+0x194>) + f330: 2001 movs r0, #1 + f332: 4c13 ldr r4, [pc, #76] ; (f380 <_lv_img_cache_open+0x198>) + f334: 47a0 blx r4 + f336: e7db b.n f2f0 <_lv_img_cache_open+0x108> LV_LOG_WARN("Image draw cannot open the image resource"); - f350: 4b18 ldr r3, [pc, #96] ; (f3b4 <_lv_img_cache_open+0x1b4>) - f352: 9300 str r3, [sp, #0] - f354: 4b0e ldr r3, [pc, #56] ; (f390 <_lv_img_cache_open+0x190>) - f356: 2283 movs r2, #131 ; 0x83 - f358: 490e ldr r1, [pc, #56] ; (f394 <_lv_img_cache_open+0x194>) - f35a: 2002 movs r0, #2 - f35c: 4c0e ldr r4, [pc, #56] ; (f398 <_lv_img_cache_open+0x198>) - f35e: 47a0 blx r4 + f338: 4b18 ldr r3, [pc, #96] ; (f39c <_lv_img_cache_open+0x1b4>) + f33a: 9300 str r3, [sp, #0] + f33c: 4b0e ldr r3, [pc, #56] ; (f378 <_lv_img_cache_open+0x190>) + f33e: 2283 movs r2, #131 ; 0x83 + f340: 490e ldr r1, [pc, #56] ; (f37c <_lv_img_cache_open+0x194>) + f342: 2002 movs r0, #2 + f344: 4c0e ldr r4, [pc, #56] ; (f380 <_lv_img_cache_open+0x198>) + f346: 47a0 blx r4 lv_img_decoder_close(&cached_src->dec_dsc); - f360: 4628 mov r0, r5 - f362: 4b0e ldr r3, [pc, #56] ; (f39c <_lv_img_cache_open+0x19c>) - f364: 4798 blx r3 + f348: 4628 mov r0, r5 + f34a: 4b0e ldr r3, [pc, #56] ; (f384 <_lv_img_cache_open+0x19c>) + f34c: 4798 blx r3 _lv_memset_00(&cached_src->dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f366: 2120 movs r1, #32 - f368: 4628 mov r0, r5 - f36a: 4c13 ldr r4, [pc, #76] ; (f3b8 <_lv_img_cache_open+0x1b8>) - f36c: 47a0 blx r4 + f34e: 2120 movs r1, #32 + f350: 4628 mov r0, r5 + f352: 4c13 ldr r4, [pc, #76] ; (f3a0 <_lv_img_cache_open+0x1b8>) + f354: 47a0 blx r4 _lv_memset_00(cached_src, sizeof(lv_img_cache_entry_t)); - f36e: 2124 movs r1, #36 ; 0x24 - f370: 4628 mov r0, r5 - f372: 47a0 blx r4 + f356: 2124 movs r1, #36 ; 0x24 + f358: 4628 mov r0, r5 + f35a: 47a0 blx r4 cached_src->life = INT32_MIN; /*Make the empty entry very "weak" to force its use */ - f374: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 - f378: 622b str r3, [r5, #32] + f35c: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 + f360: 622b str r3, [r5, #32] return NULL; - f37a: 2500 movs r5, #0 - f37c: e794 b.n f2a8 <_lv_img_cache_open+0xa8> - f37e: bf00 nop - f380: 20002b58 .word 0x20002b58 - f384: 20006d58 .word 0x20006d58 - f388: 80000002 .word 0x80000002 - f38c: 00025190 .word 0x00025190 - f390: 00025134 .word 0x00025134 - f394: 00025160 .word 0x00025160 - f398: 0001225d .word 0x0001225d - f39c: 0000ff35 .word 0x0000ff35 - f3a0: 000251b8 .word 0x000251b8 - f3a4: 00011059 .word 0x00011059 - f3a8: 0000fe49 .word 0x0000fe49 - f3ac: 00011071 .word 0x00011071 - f3b0: 000251ec .word 0x000251ec - f3b4: 00025220 .word 0x00025220 - f3b8: 00012b37 .word 0x00012b37 - f3bc: 00009969 .word 0x00009969 - f3c0: 0001b4fb .word 0x0001b4fb - -0000f3c4 : + f362: 2500 movs r5, #0 + f364: e794 b.n f290 <_lv_img_cache_open+0xa8> + f366: bf00 nop + f368: 20002b58 .word 0x20002b58 + f36c: 20006d58 .word 0x20006d58 + f370: 80000002 .word 0x80000002 + f374: 00025178 .word 0x00025178 + f378: 0002511c .word 0x0002511c + f37c: 00025148 .word 0x00025148 + f380: 00012245 .word 0x00012245 + f384: 0000ff1d .word 0x0000ff1d + f388: 000251a0 .word 0x000251a0 + f38c: 00011041 .word 0x00011041 + f390: 0000fe31 .word 0x0000fe31 + f394: 00011059 .word 0x00011059 + f398: 000251d4 .word 0x000251d4 + f39c: 00025208 .word 0x00025208 + f3a0: 00012b1f .word 0x00012b1f + f3a4: 00009951 .word 0x00009951 + f3a8: 0001b4e3 .word 0x0001b4e3 + +0000f3ac : * Invalidate an image source in the cache. * Useful if the image source is updated therefore it needs to be cached again. * @param src an image source path to a file or pointer to an `lv_img_dsc_t` variable. */ void lv_img_cache_invalidate_src(const void * src) { - f3c4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + f3ac: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} lv_img_cache_entry_t * cache = LV_GC_ROOT(_lv_img_cache_array); - f3c8: 4b14 ldr r3, [pc, #80] ; (f41c ) - f3ca: 681f ldr r7, [r3, #0] + f3b0: 4b14 ldr r3, [pc, #80] ; (f404 ) + f3b2: 681f ldr r7, [r3, #0] uint16_t i; for(i = 0; i < entry_cnt; i++) { - f3cc: 4b14 ldr r3, [pc, #80] ; (f420 ) - f3ce: 881b ldrh r3, [r3, #0] - f3d0: b30b cbz r3, f416 - f3d2: 4606 mov r6, r0 - f3d4: 2400 movs r4, #0 + f3b4: 4b14 ldr r3, [pc, #80] ; (f408 ) + f3b6: 881b ldrh r3, [r3, #0] + f3b8: b30b cbz r3, f3fe + f3ba: 4606 mov r6, r0 + f3bc: 2400 movs r4, #0 if(cache[i].dec_dsc.src == src || src == NULL) { if(cache[i].dec_dsc.src != NULL) { lv_img_decoder_close(&cache[i].dec_dsc); } _lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f3d6: f8df 904c ldr.w r9, [pc, #76] ; f424 + f3be: f8df 904c ldr.w r9, [pc, #76] ; f40c lv_img_decoder_close(&cache[i].dec_dsc); - f3da: f8df a04c ldr.w sl, [pc, #76] ; f428 + f3c2: f8df a04c ldr.w sl, [pc, #76] ; f410 for(i = 0; i < entry_cnt; i++) { - f3de: f8df 8040 ldr.w r8, [pc, #64] ; f420 - f3e2: e00e b.n f402 + f3c6: f8df 8040 ldr.w r8, [pc, #64] ; f408 + f3ca: e00e b.n f3ea if(cache[i].dec_dsc.src != NULL) { - f3e4: b10b cbz r3, f3ea + f3cc: b10b cbz r3, f3d2 lv_img_decoder_close(&cache[i].dec_dsc); - f3e6: 4628 mov r0, r5 - f3e8: 47d0 blx sl + f3ce: 4628 mov r0, r5 + f3d0: 47d0 blx sl _lv_memset_00(&cache[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f3ea: 2120 movs r1, #32 - f3ec: 4628 mov r0, r5 - f3ee: 47c8 blx r9 + f3d2: 2120 movs r1, #32 + f3d4: 4628 mov r0, r5 + f3d6: 47c8 blx r9 _lv_memset_00(&cache[i], sizeof(lv_img_cache_entry_t)); - f3f0: 2124 movs r1, #36 ; 0x24 - f3f2: 4628 mov r0, r5 - f3f4: 47c8 blx r9 + f3d8: 2124 movs r1, #36 ; 0x24 + f3da: 4628 mov r0, r5 + f3dc: 47c8 blx r9 for(i = 0; i < entry_cnt; i++) { - f3f6: 3401 adds r4, #1 - f3f8: b2a4 uxth r4, r4 - f3fa: f8b8 3000 ldrh.w r3, [r8] - f3fe: 42a3 cmp r3, r4 - f400: d909 bls.n f416 + f3de: 3401 adds r4, #1 + f3e0: b2a4 uxth r4, r4 + f3e2: f8b8 3000 ldrh.w r3, [r8] + f3e6: 42a3 cmp r3, r4 + f3e8: d909 bls.n f3fe if(cache[i].dec_dsc.src == src || src == NULL) { - f402: eb04 05c4 add.w r5, r4, r4, lsl #3 - f406: eb07 0585 add.w r5, r7, r5, lsl #2 - f40a: 686b ldr r3, [r5, #4] - f40c: 42b3 cmp r3, r6 - f40e: d0e9 beq.n f3e4 - f410: 2e00 cmp r6, #0 - f412: d1f0 bne.n f3f6 - f414: e7e6 b.n f3e4 - f416: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - f41a: bf00 nop - f41c: 20006d58 .word 0x20006d58 - f420: 20002b58 .word 0x20002b58 - f424: 00012b37 .word 0x00012b37 - f428: 0000ff35 .word 0x0000ff35 - -0000f42c : -{ - f42c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - f430: b082 sub sp, #8 - f432: 4604 mov r4, r0 + f3ea: eb04 05c4 add.w r5, r4, r4, lsl #3 + f3ee: eb07 0585 add.w r5, r7, r5, lsl #2 + f3f2: 686b ldr r3, [r5, #4] + f3f4: 42b3 cmp r3, r6 + f3f6: d0e9 beq.n f3cc + f3f8: 2e00 cmp r6, #0 + f3fa: d1f0 bne.n f3de + f3fc: e7e6 b.n f3cc + f3fe: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + f402: bf00 nop + f404: 20006d58 .word 0x20006d58 + f408: 20002b58 .word 0x20002b58 + f40c: 00012b1f .word 0x00012b1f + f410: 0000ff1d .word 0x0000ff1d + +0000f414 : +{ + f414: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + f418: b082 sub sp, #8 + f41a: 4604 mov r4, r0 if(LV_GC_ROOT(_lv_img_cache_array) != NULL) { - f434: 4b21 ldr r3, [pc, #132] ; (f4bc ) - f436: 681b ldr r3, [r3, #0] - f438: b133 cbz r3, f448 + f41c: 4b21 ldr r3, [pc, #132] ; (f4a4 ) + f41e: 681b ldr r3, [r3, #0] + f420: b133 cbz r3, f430 lv_img_cache_invalidate_src(NULL); - f43a: 2000 movs r0, #0 - f43c: 4b20 ldr r3, [pc, #128] ; (f4c0 ) - f43e: 4798 blx r3 + f422: 2000 movs r0, #0 + f424: 4b20 ldr r3, [pc, #128] ; (f4a8 ) + f426: 4798 blx r3 lv_mem_free(LV_GC_ROOT(_lv_img_cache_array)); - f440: 4b1e ldr r3, [pc, #120] ; (f4bc ) - f442: 6818 ldr r0, [r3, #0] - f444: 4b1f ldr r3, [pc, #124] ; (f4c4 ) - f446: 4798 blx r3 + f428: 4b1e ldr r3, [pc, #120] ; (f4a4 ) + f42a: 6818 ldr r0, [r3, #0] + f42c: 4b1f ldr r3, [pc, #124] ; (f4ac ) + f42e: 4798 blx r3 LV_GC_ROOT(_lv_img_cache_array) = lv_mem_alloc(sizeof(lv_img_cache_entry_t) * new_entry_cnt); - f448: eb04 00c4 add.w r0, r4, r4, lsl #3 - f44c: 0080 lsls r0, r0, #2 - f44e: 4b1e ldr r3, [pc, #120] ; (f4c8 ) - f450: 4798 blx r3 - f452: 4b1a ldr r3, [pc, #104] ; (f4bc ) - f454: 6018 str r0, [r3, #0] + f430: eb04 00c4 add.w r0, r4, r4, lsl #3 + f434: 0080 lsls r0, r0, #2 + f436: 4b1e ldr r3, [pc, #120] ; (f4b0 ) + f438: 4798 blx r3 + f43a: 4b1a ldr r3, [pc, #104] ; (f4a4 ) + f43c: 6018 str r0, [r3, #0] LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); - f456: 4b1d ldr r3, [pc, #116] ; (f4cc ) - f458: 4798 blx r3 - f45a: b1e8 cbz r0, f498 + f43e: 4b1d ldr r3, [pc, #116] ; (f4b4 ) + f440: 4798 blx r3 + f442: b1e8 cbz r0, f480 if(LV_GC_ROOT(_lv_img_cache_array) == NULL) { - f45c: 4b17 ldr r3, [pc, #92] ; (f4bc ) - f45e: 681b ldr r3, [r3, #0] - f460: b343 cbz r3, f4b4 + f444: 4b17 ldr r3, [pc, #92] ; (f4a4 ) + f446: 681b ldr r3, [r3, #0] + f448: b343 cbz r3, f49c entry_cnt = new_entry_cnt; - f462: 4b1b ldr r3, [pc, #108] ; (f4d0 ) - f464: 801c strh r4, [r3, #0] + f44a: 4b1b ldr r3, [pc, #108] ; (f4b8 ) + f44c: 801c strh r4, [r3, #0] for(i = 0; i < entry_cnt; i++) { - f466: b1a4 cbz r4, f492 - f468: 2400 movs r4, #0 + f44e: b1a4 cbz r4, f47a + f450: 2400 movs r4, #0 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f46a: 4f14 ldr r7, [pc, #80] ; (f4bc ) - f46c: 4e19 ldr r6, [pc, #100] ; (f4d4 ) + f452: 4f14 ldr r7, [pc, #80] ; (f4a4 ) + f454: 4e19 ldr r6, [pc, #100] ; (f4bc ) for(i = 0; i < entry_cnt; i++) { - f46e: 4698 mov r8, r3 + f456: 4698 mov r8, r3 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i].dec_dsc, sizeof(lv_img_decoder_dsc_t)); - f470: eb04 05c4 add.w r5, r4, r4, lsl #3 - f474: 00ad lsls r5, r5, #2 - f476: 6838 ldr r0, [r7, #0] - f478: 2120 movs r1, #32 - f47a: 4428 add r0, r5 - f47c: 47b0 blx r6 + f458: eb04 05c4 add.w r5, r4, r4, lsl #3 + f45c: 00ad lsls r5, r5, #2 + f45e: 6838 ldr r0, [r7, #0] + f460: 2120 movs r1, #32 + f462: 4428 add r0, r5 + f464: 47b0 blx r6 _lv_memset_00(&LV_GC_ROOT(_lv_img_cache_array)[i], sizeof(lv_img_cache_entry_t)); - f47e: 6838 ldr r0, [r7, #0] - f480: 2124 movs r1, #36 ; 0x24 - f482: 4428 add r0, r5 - f484: 47b0 blx r6 + f466: 6838 ldr r0, [r7, #0] + f468: 2124 movs r1, #36 ; 0x24 + f46a: 4428 add r0, r5 + f46c: 47b0 blx r6 for(i = 0; i < entry_cnt; i++) { - f486: 3401 adds r4, #1 - f488: b2a4 uxth r4, r4 - f48a: f8b8 3000 ldrh.w r3, [r8] - f48e: 42a3 cmp r3, r4 - f490: d8ee bhi.n f470 -} - f492: b002 add sp, #8 - f494: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + f46e: 3401 adds r4, #1 + f470: b2a4 uxth r4, r4 + f472: f8b8 3000 ldrh.w r3, [r8] + f476: 42a3 cmp r3, r4 + f478: d8ee bhi.n f458 +} + f47a: b002 add sp, #8 + f47c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_ASSERT_MEM(LV_GC_ROOT(_lv_img_cache_array)); - f498: 4b0f ldr r3, [pc, #60] ; (f4d8 ) - f49a: 9300 str r3, [sp, #0] - f49c: 22a8 movs r2, #168 ; 0xa8 - f49e: 490f ldr r1, [pc, #60] ; (f4dc ) - f4a0: 2003 movs r0, #3 - f4a2: 4c0f ldr r4, [pc, #60] ; (f4e0 ) - f4a4: 47a0 blx r4 - f4a6: 4b05 ldr r3, [pc, #20] ; (f4bc ) - f4a8: 681a ldr r2, [r3, #0] - f4aa: 2300 movs r3, #0 - f4ac: 480d ldr r0, [pc, #52] ; (f4e4 ) - f4ae: 490e ldr r1, [pc, #56] ; (f4e8 ) - f4b0: 4788 blx r1 - f4b2: e7fe b.n f4b2 + f480: 4b0f ldr r3, [pc, #60] ; (f4c0 ) + f482: 9300 str r3, [sp, #0] + f484: 22a8 movs r2, #168 ; 0xa8 + f486: 490f ldr r1, [pc, #60] ; (f4c4 ) + f488: 2003 movs r0, #3 + f48a: 4c0f ldr r4, [pc, #60] ; (f4c8 ) + f48c: 47a0 blx r4 + f48e: 4b05 ldr r3, [pc, #20] ; (f4a4 ) + f490: 681a ldr r2, [r3, #0] + f492: 2300 movs r3, #0 + f494: 480d ldr r0, [pc, #52] ; (f4cc ) + f496: 490e ldr r1, [pc, #56] ; (f4d0 ) + f498: 4788 blx r1 + f49a: e7fe b.n f49a entry_cnt = 0; - f4b4: 2200 movs r2, #0 - f4b6: 4b06 ldr r3, [pc, #24] ; (f4d0 ) - f4b8: 801a strh r2, [r3, #0] + f49c: 2200 movs r2, #0 + f49e: 4b06 ldr r3, [pc, #24] ; (f4b8 ) + f4a0: 801a strh r2, [r3, #0] return; - f4ba: e7ea b.n f492 - f4bc: 20006d58 .word 0x20006d58 - f4c0: 0000f3c5 .word 0x0000f3c5 - f4c4: 000124c5 .word 0x000124c5 - f4c8: 000123dd .word 0x000123dd - f4cc: 000022b1 .word 0x000022b1 - f4d0: 20002b58 .word 0x20002b58 - f4d4: 00012b37 .word 0x00012b37 - f4d8: 00025148 .word 0x00025148 - f4dc: 00025160 .word 0x00025160 - f4e0: 0001225d .word 0x0001225d - f4e4: 00023fd8 .word 0x00023fd8 - f4e8: 000022b9 .word 0x000022b9 - -0000f4ec : + f4a2: e7ea b.n f47a + f4a4: 20006d58 .word 0x20006d58 + f4a8: 0000f3ad .word 0x0000f3ad + f4ac: 000124ad .word 0x000124ad + f4b0: 000123c5 .word 0x000123c5 + f4b4: 00002299 .word 0x00002299 + f4b8: 20002b58 .word 0x20002b58 + f4bc: 00012b1f .word 0x00012b1f + f4c0: 00025130 .word 0x00025130 + f4c4: 00025148 .word 0x00025148 + f4c8: 00012245 .word 0x00012245 + f4cc: 00023fc0 .word 0x00023fc0 + f4d0: 000022a1 .word 0x000022a1 + +0000f4d4 : * @param src the image source: pointer to an `lv_img_dsc_t` variable, a file path or a symbol * @param header store the image data here * @return LV_RES_OK: the info is successfully stored in `header`; LV_RES_INV: unknown format or other error. */ lv_res_t lv_img_decoder_built_in_info(lv_img_decoder_t * decoder, const void * src, lv_img_header_t * header) { - f4ec: b530 push {r4, r5, lr} - f4ee: b087 sub sp, #28 - f4f0: 460c mov r4, r1 - f4f2: 4615 mov r5, r2 + f4d4: b530 push {r4, r5, lr} + f4d6: b087 sub sp, #28 + f4d8: 460c mov r4, r1 + f4da: 4615 mov r5, r2 (void)decoder; /*Unused*/ lv_img_src_t src_type = lv_img_src_get_type(src); - f4f4: 4608 mov r0, r1 - f4f6: 4b33 ldr r3, [pc, #204] ; (f5c4 ) - f4f8: 4798 blx r3 + f4dc: 4608 mov r0, r1 + f4de: 4b33 ldr r3, [pc, #204] ; (f5ac ) + f4e0: 4798 blx r3 if(src_type == LV_IMG_SRC_VARIABLE) { - f4fa: b9d8 cbnz r0, f534 + f4e2: b9d8 cbnz r0, f51c lv_img_cf_t cf = ((lv_img_dsc_t *)src)->header.cf; - f4fc: 7823 ldrb r3, [r4, #0] - f4fe: f3c3 0304 ubfx r3, r3, #0, #5 + f4e4: 7823 ldrb r3, [r4, #0] + f4e6: f3c3 0304 ubfx r3, r3, #0, #5 if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV; - f502: 3b04 subs r3, #4 - f504: b2db uxtb r3, r3 - f506: 2b0a cmp r3, #10 - f508: d859 bhi.n f5be + f4ea: 3b04 subs r3, #4 + f4ec: b2db uxtb r3, r3 + f4ee: 2b0a cmp r3, #10 + f4f0: d859 bhi.n f5a6 header->w = ((lv_img_dsc_t *)src)->header.w; - f50a: 6823 ldr r3, [r4, #0] - f50c: f3c3 238a ubfx r3, r3, #10, #11 - f510: 682a ldr r2, [r5, #0] - f512: f363 2294 bfi r2, r3, #10, #11 - f516: 602a str r2, [r5, #0] + f4f2: 6823 ldr r3, [r4, #0] + f4f4: f3c3 238a ubfx r3, r3, #10, #11 + f4f8: 682a ldr r2, [r5, #0] + f4fa: f363 2294 bfi r2, r3, #10, #11 + f4fe: 602a str r2, [r5, #0] header->h = ((lv_img_dsc_t *)src)->header.h; - f518: 8863 ldrh r3, [r4, #2] - f51a: f3c3 134a ubfx r3, r3, #5, #11 - f51e: 886a ldrh r2, [r5, #2] - f520: f363 124f bfi r2, r3, #5, #11 - f524: 806a strh r2, [r5, #2] + f500: 8863 ldrh r3, [r4, #2] + f502: f3c3 134a ubfx r3, r3, #5, #11 + f506: 886a ldrh r2, [r5, #2] + f508: f363 124f bfi r2, r3, #5, #11 + f50c: 806a strh r2, [r5, #2] header->cf = ((lv_img_dsc_t *)src)->header.cf; - f526: 7822 ldrb r2, [r4, #0] - f528: 782b ldrb r3, [r5, #0] - f52a: f362 0304 bfi r3, r2, #0, #5 - f52e: 702b strb r3, [r5, #0] + f50e: 7822 ldrb r2, [r4, #0] + f510: 782b ldrb r3, [r5, #0] + f512: f362 0304 bfi r3, r2, #0, #5 + f516: 702b strb r3, [r5, #0] } else { LV_LOG_WARN("Image get info found unknown src type"); return LV_RES_INV; } return LV_RES_OK; - f530: 2001 movs r0, #1 - f532: e00d b.n f550 + f518: 2001 movs r0, #1 + f51a: e00d b.n f538 else if(src_type == LV_IMG_SRC_FILE) { - f534: 2801 cmp r0, #1 - f536: d00d beq.n f554 + f51c: 2801 cmp r0, #1 + f51e: d00d beq.n f53c else if(src_type == LV_IMG_SRC_SYMBOL) { - f538: 2802 cmp r0, #2 - f53a: d032 beq.n f5a2 + f520: 2802 cmp r0, #2 + f522: d032 beq.n f58a LV_LOG_WARN("Image get info found unknown src type"); - f53c: 4b22 ldr r3, [pc, #136] ; (f5c8 ) - f53e: 9300 str r3, [sp, #0] - f540: 4b22 ldr r3, [pc, #136] ; (f5cc ) - f542: f44f 729a mov.w r2, #308 ; 0x134 - f546: 4922 ldr r1, [pc, #136] ; (f5d0 ) - f548: 2002 movs r0, #2 - f54a: 4c22 ldr r4, [pc, #136] ; (f5d4 ) - f54c: 47a0 blx r4 + f524: 4b22 ldr r3, [pc, #136] ; (f5b0 ) + f526: 9300 str r3, [sp, #0] + f528: 4b22 ldr r3, [pc, #136] ; (f5b4 ) + f52a: f44f 729a mov.w r2, #308 ; 0x134 + f52e: 4922 ldr r1, [pc, #136] ; (f5b8 ) + f530: 2002 movs r0, #2 + f532: 4c22 ldr r4, [pc, #136] ; (f5bc ) + f534: 47a0 blx r4 return LV_RES_INV; - f54e: 2000 movs r0, #0 + f536: 2000 movs r0, #0 } - f550: b007 add sp, #28 - f552: bd30 pop {r4, r5, pc} + f538: b007 add sp, #28 + f53a: bd30 pop {r4, r5, pc} res = lv_fs_open(&file, src, LV_FS_MODE_RD); - f554: 2202 movs r2, #2 - f556: 4621 mov r1, r4 - f558: a804 add r0, sp, #16 - f55a: 4b1f ldr r3, [pc, #124] ; (f5d8 ) - f55c: 4798 blx r3 + f53c: 2202 movs r2, #2 + f53e: 4621 mov r1, r4 + f540: a804 add r0, sp, #16 + f542: 4b1f ldr r3, [pc, #124] ; (f5c0 ) + f544: 4798 blx r3 if(res == LV_FS_RES_OK) { - f55e: b138 cbz r0, f570 + f546: b138 cbz r0, f558 if(header->cf < CF_BUILT_IN_FIRST || header->cf > CF_BUILT_IN_LAST) return LV_RES_INV; - f560: 782b ldrb r3, [r5, #0] - f562: 331c adds r3, #28 - f564: f003 031f and.w r3, r3, #31 - f568: 2b0a cmp r3, #10 - f56a: d818 bhi.n f59e + f548: 782b ldrb r3, [r5, #0] + f54a: 331c adds r3, #28 + f54c: f003 031f and.w r3, r3, #31 + f550: 2b0a cmp r3, #10 + f552: d818 bhi.n f586 return LV_RES_OK; - f56c: 2001 movs r0, #1 - f56e: e7ef b.n f550 + f554: 2001 movs r0, #1 + f556: e7ef b.n f538 res = lv_fs_read(&file, header, sizeof(lv_img_header_t), &rn); - f570: ab03 add r3, sp, #12 - f572: 2204 movs r2, #4 - f574: 4629 mov r1, r5 - f576: a804 add r0, sp, #16 - f578: 4c18 ldr r4, [pc, #96] ; (f5dc ) - f57a: 47a0 blx r4 - f57c: 4604 mov r4, r0 + f558: ab03 add r3, sp, #12 + f55a: 2204 movs r2, #4 + f55c: 4629 mov r1, r5 + f55e: a804 add r0, sp, #16 + f560: 4c18 ldr r4, [pc, #96] ; (f5c4 ) + f562: 47a0 blx r4 + f564: 4604 mov r4, r0 lv_fs_close(&file); - f57e: a804 add r0, sp, #16 - f580: 4b17 ldr r3, [pc, #92] ; (f5e0 ) - f582: 4798 blx r3 + f566: a804 add r0, sp, #16 + f568: 4b17 ldr r3, [pc, #92] ; (f5c8 ) + f56a: 4798 blx r3 if(res != LV_FS_RES_OK || rn != sizeof(lv_img_header_t)) { - f584: b914 cbnz r4, f58c - f586: 9b03 ldr r3, [sp, #12] - f588: 2b04 cmp r3, #4 - f58a: d0e9 beq.n f560 + f56c: b914 cbnz r4, f574 + f56e: 9b03 ldr r3, [sp, #12] + f570: 2b04 cmp r3, #4 + f572: d0e9 beq.n f548 LV_LOG_WARN("Image get info get read file header"); - f58c: 4b15 ldr r3, [pc, #84] ; (f5e4 ) - f58e: 9300 str r3, [sp, #0] - f590: 4b0e ldr r3, [pc, #56] ; (f5cc ) - f592: f240 1221 movw r2, #289 ; 0x121 - f596: 490e ldr r1, [pc, #56] ; (f5d0 ) - f598: 2002 movs r0, #2 - f59a: 4c0e ldr r4, [pc, #56] ; (f5d4 ) - f59c: 47a0 blx r4 + f574: 4b15 ldr r3, [pc, #84] ; (f5cc ) + f576: 9300 str r3, [sp, #0] + f578: 4b0e ldr r3, [pc, #56] ; (f5b4 ) + f57a: f240 1221 movw r2, #289 ; 0x121 + f57e: 490e ldr r1, [pc, #56] ; (f5b8 ) + f580: 2002 movs r0, #2 + f582: 4c0e ldr r4, [pc, #56] ; (f5bc ) + f584: 47a0 blx r4 return LV_RES_INV; - f59e: 2000 movs r0, #0 - f5a0: e7d6 b.n f550 + f586: 2000 movs r0, #0 + f588: e7d6 b.n f538 header->w = 1; - f5a2: 682b ldr r3, [r5, #0] - f5a4: 2001 movs r0, #1 - f5a6: f360 2394 bfi r3, r0, #10, #11 - f5aa: 602b str r3, [r5, #0] + f58a: 682b ldr r3, [r5, #0] + f58c: 2001 movs r0, #1 + f58e: f360 2394 bfi r3, r0, #10, #11 + f592: 602b str r3, [r5, #0] header->h = 1; - f5ac: 0c1a lsrs r2, r3, #16 - f5ae: f360 124f bfi r2, r0, #5, #11 - f5b2: 806a strh r2, [r5, #2] + f594: 0c1a lsrs r2, r3, #16 + f596: f360 124f bfi r2, r0, #5, #11 + f59a: 806a strh r2, [r5, #2] header->cf = LV_IMG_CF_ALPHA_1BIT; - f5b4: 220b movs r2, #11 - f5b6: f362 0304 bfi r3, r2, #0, #5 - f5ba: 702b strb r3, [r5, #0] - f5bc: e7c8 b.n f550 + f59c: 220b movs r2, #11 + f59e: f362 0304 bfi r3, r2, #0, #5 + f5a2: 702b strb r3, [r5, #0] + f5a4: e7c8 b.n f538 if(cf < CF_BUILT_IN_FIRST || cf > CF_BUILT_IN_LAST) return LV_RES_INV; - f5be: 2000 movs r0, #0 - f5c0: e7c6 b.n f550 - f5c2: bf00 nop - f5c4: 00009969 .word 0x00009969 - f5c8: 0002536c .word 0x0002536c - f5cc: 0002524c .word 0x0002524c - f5d0: 00025318 .word 0x00025318 - f5d4: 0001225d .word 0x0001225d - f5d8: 00011d4d .word 0x00011d4d - f5dc: 00011cbd .word 0x00011cbd - f5e0: 00011c8d .word 0x00011c8d - f5e4: 00025348 .word 0x00025348 - -0000f5e8 : + f5a6: 2000 movs r0, #0 + f5a8: e7c6 b.n f538 + f5aa: bf00 nop + f5ac: 00009951 .word 0x00009951 + f5b0: 00025354 .word 0x00025354 + f5b4: 00025234 .word 0x00025234 + f5b8: 00025300 .word 0x00025300 + f5bc: 00012245 .word 0x00012245 + f5c0: 00011d35 .word 0x00011d35 + f5c4: 00011ca5 .word 0x00011ca5 + f5c8: 00011c75 .word 0x00011c75 + f5cc: 00025330 .word 0x00025330 + +0000f5d0 : * Close the pending decoding. Free resources etc. * @param decoder pointer to the decoder the function associated with * @param dsc pointer to decoder descriptor */ void lv_img_decoder_built_in_close(lv_img_decoder_t * decoder, lv_img_decoder_dsc_t * dsc) { - f5e8: b538 push {r3, r4, r5, lr} + f5d0: b538 push {r3, r4, r5, lr} (void)decoder; /*Unused*/ lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - f5ea: 69cc ldr r4, [r1, #28] + f5d2: 69cc ldr r4, [r1, #28] if(user_data) { - f5ec: b1a4 cbz r4, f618 - f5ee: 460d mov r5, r1 + f5d4: b1a4 cbz r4, f600 + f5d6: 460d mov r5, r1 #if LV_USE_FILESYSTEM if(user_data->f) { - f5f0: 6820 ldr r0, [r4, #0] - f5f2: b120 cbz r0, f5fe + f5d8: 6820 ldr r0, [r4, #0] + f5da: b120 cbz r0, f5e6 lv_fs_close(user_data->f); - f5f4: 4b09 ldr r3, [pc, #36] ; (f61c ) - f5f6: 4798 blx r3 + f5dc: 4b09 ldr r3, [pc, #36] ; (f604 ) + f5de: 4798 blx r3 lv_mem_free(user_data->f); - f5f8: 6820 ldr r0, [r4, #0] - f5fa: 4b09 ldr r3, [pc, #36] ; (f620 ) - f5fc: 4798 blx r3 + f5e0: 6820 ldr r0, [r4, #0] + f5e2: 4b09 ldr r3, [pc, #36] ; (f608 ) + f5e4: 4798 blx r3 } #endif if(user_data->palette) lv_mem_free(user_data->palette); - f5fe: 6860 ldr r0, [r4, #4] - f600: b108 cbz r0, f606 - f602: 4b07 ldr r3, [pc, #28] ; (f620 ) - f604: 4798 blx r3 + f5e6: 6860 ldr r0, [r4, #4] + f5e8: b108 cbz r0, f5ee + f5ea: 4b07 ldr r3, [pc, #28] ; (f608 ) + f5ec: 4798 blx r3 if(user_data->opa) lv_mem_free(user_data->opa); - f606: 68a0 ldr r0, [r4, #8] - f608: b108 cbz r0, f60e - f60a: 4b05 ldr r3, [pc, #20] ; (f620 ) - f60c: 4798 blx r3 + f5ee: 68a0 ldr r0, [r4, #8] + f5f0: b108 cbz r0, f5f6 + f5f2: 4b05 ldr r3, [pc, #20] ; (f608 ) + f5f4: 4798 blx r3 lv_mem_free(user_data); - f60e: 4620 mov r0, r4 - f610: 4b03 ldr r3, [pc, #12] ; (f620 ) - f612: 4798 blx r3 + f5f6: 4620 mov r0, r4 + f5f8: 4b03 ldr r3, [pc, #12] ; (f608 ) + f5fa: 4798 blx r3 dsc->user_data = NULL; - f614: 2300 movs r3, #0 - f616: 61eb str r3, [r5, #28] - f618: bd38 pop {r3, r4, r5, pc} - f61a: bf00 nop - f61c: 00011c8d .word 0x00011c8d - f620: 000124c5 .word 0x000124c5 - -0000f624 : -{ - f624: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - f628: b085 sub sp, #20 - f62a: 4605 mov r5, r0 - f62c: 460c mov r4, r1 + f5fc: 2300 movs r3, #0 + f5fe: 61eb str r3, [r5, #28] + f600: bd38 pop {r3, r4, r5, pc} + f602: bf00 nop + f604: 00011c75 .word 0x00011c75 + f608: 000124ad .word 0x000124ad + +0000f60c : +{ + f60c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + f610: b085 sub sp, #20 + f612: 4605 mov r5, r0 + f614: 460c mov r4, r1 if(dsc->src_type == LV_IMG_SRC_FILE) { - f62e: 7a8b ldrb r3, [r1, #10] - f630: 2b01 cmp r3, #1 - f632: d016 beq.n f662 + f616: 7a8b ldrb r3, [r1, #10] + f618: 2b01 cmp r3, #1 + f61a: d016 beq.n f64a else if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - f634: 2b00 cmp r3, #0 - f636: f040 81aa bne.w f98e + f61c: 2b00 cmp r3, #0 + f61e: f040 81aa bne.w f976 if(((lv_img_dsc_t *)dsc->src)->data == NULL) { - f63a: 684b ldr r3, [r1, #4] - f63c: 689b ldr r3, [r3, #8] - f63e: 2b00 cmp r3, #0 - f640: f000 81a3 beq.w f98a + f622: 684b ldr r3, [r1, #4] + f624: 689b ldr r3, [r3, #8] + f626: 2b00 cmp r3, #0 + f628: f000 81a3 beq.w f972 lv_img_cf_t cf = dsc->header.cf; - f644: 7b08 ldrb r0, [r1, #12] - f646: f000 001f and.w r0, r0, #31 + f62c: 7b08 ldrb r0, [r1, #12] + f62e: f000 001f and.w r0, r0, #31 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - f64a: 1f03 subs r3, r0, #4 - f64c: b2db uxtb r3, r3 - f64e: 2b02 cmp r3, #2 - f650: f200 8085 bhi.w f75e + f632: 1f03 subs r3, r0, #4 + f634: b2db uxtb r3, r3 + f636: 2b02 cmp r3, #2 + f638: f200 8085 bhi.w f746 dsc->img_data = ((lv_img_dsc_t *)dsc->src)->data; - f654: 6863 ldr r3, [r4, #4] - f656: 689b ldr r3, [r3, #8] - f658: 6123 str r3, [r4, #16] + f63c: 6863 ldr r3, [r4, #4] + f63e: 689b ldr r3, [r3, #8] + f640: 6123 str r3, [r4, #16] return LV_RES_OK; - f65a: 2001 movs r0, #1 + f642: 2001 movs r0, #1 } - f65c: b005 add sp, #20 - f65e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + f644: b005 add sp, #20 + f646: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; - f662: 6848 ldr r0, [r1, #4] - f664: 4b96 ldr r3, [pc, #600] ; (f8c0 ) - f666: 4798 blx r3 - f668: 4996 ldr r1, [pc, #600] ; (f8c4 ) - f66a: 4b97 ldr r3, [pc, #604] ; (f8c8 ) - f66c: 4798 blx r3 - f66e: 2800 cmp r0, #0 - f670: d12a bne.n f6c8 + f64a: 6848 ldr r0, [r1, #4] + f64c: 4b96 ldr r3, [pc, #600] ; (f8a8 ) + f64e: 4798 blx r3 + f650: 4996 ldr r1, [pc, #600] ; (f8ac ) + f652: 4b97 ldr r3, [pc, #604] ; (f8b0 ) + f654: 4798 blx r3 + f656: 2800 cmp r0, #0 + f658: d12a bne.n f6b0 lv_fs_res_t res = lv_fs_open(&f, dsc->src, LV_FS_MODE_RD); - f672: 2202 movs r2, #2 - f674: 6861 ldr r1, [r4, #4] - f676: a802 add r0, sp, #8 - f678: 4b94 ldr r3, [pc, #592] ; (f8cc ) - f67a: 4798 blx r3 + f65a: 2202 movs r2, #2 + f65c: 6861 ldr r1, [r4, #4] + f65e: a802 add r0, sp, #8 + f660: 4b94 ldr r3, [pc, #592] ; (f8b4 ) + f662: 4798 blx r3 if(res != LV_FS_RES_OK) { - f67c: b9d8 cbnz r0, f6b6 + f664: b9d8 cbnz r0, f69e if(dsc->user_data == NULL) { - f67e: 69e3 ldr r3, [r4, #28] - f680: b323 cbz r3, f6cc + f666: 69e3 ldr r3, [r4, #28] + f668: b323 cbz r3, f6b4 lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - f682: 69e6 ldr r6, [r4, #28] + f66a: 69e6 ldr r6, [r4, #28] user_data->f = lv_mem_alloc(sizeof(f)); - f684: 2008 movs r0, #8 - f686: 4b92 ldr r3, [pc, #584] ; (f8d0 ) - f688: 4798 blx r3 - f68a: 6030 str r0, [r6, #0] + f66c: 2008 movs r0, #8 + f66e: 4b92 ldr r3, [pc, #584] ; (f8b8 ) + f670: 4798 blx r3 + f672: 6030 str r0, [r6, #0] LV_ASSERT_MEM(user_data->f); - f68c: 4b91 ldr r3, [pc, #580] ; (f8d4 ) - f68e: 4798 blx r3 - f690: 2800 cmp r0, #0 - f692: d040 beq.n f716 + f674: 4b91 ldr r3, [pc, #580] ; (f8bc ) + f676: 4798 blx r3 + f678: 2800 cmp r0, #0 + f67a: d040 beq.n f6fe if(user_data->f == NULL) { - f694: 6833 ldr r3, [r6, #0] - f696: 2b00 cmp r3, #0 - f698: d14b bne.n f732 + f67c: 6833 ldr r3, [r6, #0] + f67e: 2b00 cmp r3, #0 + f680: d14b bne.n f71a LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - f69a: 4b8f ldr r3, [pc, #572] ; (f8d8 ) - f69c: 9300 str r3, [sp, #0] - f69e: 4b8f ldr r3, [pc, #572] ; (f8dc ) - f6a0: f240 125f movw r2, #351 ; 0x15f - f6a4: 498e ldr r1, [pc, #568] ; (f8e0 ) - f6a6: 2003 movs r0, #3 - f6a8: 4e8e ldr r6, [pc, #568] ; (f8e4 ) - f6aa: 47b0 blx r6 + f682: 4b8f ldr r3, [pc, #572] ; (f8c0 ) + f684: 9300 str r3, [sp, #0] + f686: 4b8f ldr r3, [pc, #572] ; (f8c4 ) + f688: f240 125f movw r2, #351 ; 0x15f + f68c: 498e ldr r1, [pc, #568] ; (f8c8 ) + f68e: 2003 movs r0, #3 + f690: 4e8e ldr r6, [pc, #568] ; (f8cc ) + f692: 47b0 blx r6 lv_img_decoder_built_in_close(decoder, dsc); - f6ac: 4621 mov r1, r4 - f6ae: 4628 mov r0, r5 - f6b0: 4b8d ldr r3, [pc, #564] ; (f8e8 ) - f6b2: 4798 blx r3 + f694: 4621 mov r1, r4 + f696: 4628 mov r0, r5 + f698: 4b8d ldr r3, [pc, #564] ; (f8d0 ) + f69a: 4798 blx r3 return LV_RES_INV; - f6b4: e008 b.n f6c8 + f69c: e008 b.n f6b0 LV_LOG_WARN("Built-in image decoder can't open the file"); - f6b6: 4b8d ldr r3, [pc, #564] ; (f8ec ) - f6b8: 9300 str r3, [sp, #0] - f6ba: 4b88 ldr r3, [pc, #544] ; (f8dc ) - f6bc: f44f 72a6 mov.w r2, #332 ; 0x14c - f6c0: 4987 ldr r1, [pc, #540] ; (f8e0 ) - f6c2: 2002 movs r0, #2 - f6c4: 4c87 ldr r4, [pc, #540] ; (f8e4 ) - f6c6: 47a0 blx r4 + f69e: 4b8d ldr r3, [pc, #564] ; (f8d4 ) + f6a0: 9300 str r3, [sp, #0] + f6a2: 4b88 ldr r3, [pc, #544] ; (f8c4 ) + f6a4: f44f 72a6 mov.w r2, #332 ; 0x14c + f6a8: 4987 ldr r1, [pc, #540] ; (f8c8 ) + f6aa: 2002 movs r0, #2 + f6ac: 4c87 ldr r4, [pc, #540] ; (f8cc ) + f6ae: 47a0 blx r4 if(strcmp(lv_fs_get_ext(dsc->src), "bin")) return LV_RES_INV; - f6c8: 2000 movs r0, #0 - f6ca: e7c7 b.n f65c + f6b0: 2000 movs r0, #0 + f6b2: e7c7 b.n f644 dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); - f6cc: 200c movs r0, #12 - f6ce: 4b80 ldr r3, [pc, #512] ; (f8d0 ) - f6d0: 4798 blx r3 - f6d2: 61e0 str r0, [r4, #28] + f6b4: 200c movs r0, #12 + f6b6: 4b80 ldr r3, [pc, #512] ; (f8b8 ) + f6b8: 4798 blx r3 + f6ba: 61e0 str r0, [r4, #28] LV_ASSERT_MEM(dsc->user_data); - f6d4: 4b7f ldr r3, [pc, #508] ; (f8d4 ) - f6d6: 4798 blx r3 - f6d8: b968 cbnz r0, f6f6 - f6da: 4b80 ldr r3, [pc, #512] ; (f8dc ) - f6dc: 9300 str r3, [sp, #0] - f6de: f240 1253 movw r2, #339 ; 0x153 - f6e2: 497f ldr r1, [pc, #508] ; (f8e0 ) - f6e4: 2003 movs r0, #3 - f6e6: 4d7f ldr r5, [pc, #508] ; (f8e4 ) - f6e8: 47a8 blx r5 - f6ea: 69e2 ldr r2, [r4, #28] - f6ec: 2300 movs r3, #0 - f6ee: 4880 ldr r0, [pc, #512] ; (f8f0 ) - f6f0: 4980 ldr r1, [pc, #512] ; (f8f4 ) - f6f2: 4788 blx r1 - f6f4: e7fe b.n f6f4 + f6bc: 4b7f ldr r3, [pc, #508] ; (f8bc ) + f6be: 4798 blx r3 + f6c0: b968 cbnz r0, f6de + f6c2: 4b80 ldr r3, [pc, #512] ; (f8c4 ) + f6c4: 9300 str r3, [sp, #0] + f6c6: f240 1253 movw r2, #339 ; 0x153 + f6ca: 497f ldr r1, [pc, #508] ; (f8c8 ) + f6cc: 2003 movs r0, #3 + f6ce: 4d7f ldr r5, [pc, #508] ; (f8cc ) + f6d0: 47a8 blx r5 + f6d2: 69e2 ldr r2, [r4, #28] + f6d4: 2300 movs r3, #0 + f6d6: 4880 ldr r0, [pc, #512] ; (f8d8 ) + f6d8: 4980 ldr r1, [pc, #512] ; (f8dc ) + f6da: 4788 blx r1 + f6dc: e7fe b.n f6dc if(dsc->user_data == NULL) { - f6f6: 69e0 ldr r0, [r4, #28] - f6f8: b948 cbnz r0, f70e + f6de: 69e0 ldr r0, [r4, #28] + f6e0: b948 cbnz r0, f6f6 LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - f6fa: 4b77 ldr r3, [pc, #476] ; (f8d8 ) - f6fc: 9300 str r3, [sp, #0] - f6fe: 4b77 ldr r3, [pc, #476] ; (f8dc ) - f700: f240 1255 movw r2, #341 ; 0x155 - f704: 4976 ldr r1, [pc, #472] ; (f8e0 ) - f706: 2003 movs r0, #3 - f708: 4c76 ldr r4, [pc, #472] ; (f8e4 ) - f70a: 47a0 blx r4 + f6e2: 4b77 ldr r3, [pc, #476] ; (f8c0 ) + f6e4: 9300 str r3, [sp, #0] + f6e6: 4b77 ldr r3, [pc, #476] ; (f8c4 ) + f6e8: f240 1255 movw r2, #341 ; 0x155 + f6ec: 4976 ldr r1, [pc, #472] ; (f8c8 ) + f6ee: 2003 movs r0, #3 + f6f0: 4c76 ldr r4, [pc, #472] ; (f8cc ) + f6f2: 47a0 blx r4 return LV_RES_INV; - f70c: e7dc b.n f6c8 + f6f4: e7dc b.n f6b0 _lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); - f70e: 210c movs r1, #12 - f710: 4b79 ldr r3, [pc, #484] ; (f8f8 ) - f712: 4798 blx r3 - f714: e7b5 b.n f682 + f6f6: 210c movs r1, #12 + f6f8: 4b79 ldr r3, [pc, #484] ; (f8e0 ) + f6fa: 4798 blx r3 + f6fc: e7b5 b.n f66a LV_ASSERT_MEM(user_data->f); - f716: 4b71 ldr r3, [pc, #452] ; (f8dc ) - f718: 9300 str r3, [sp, #0] - f71a: f240 125d movw r2, #349 ; 0x15d - f71e: 4970 ldr r1, [pc, #448] ; (f8e0 ) - f720: 2003 movs r0, #3 - f722: 4c70 ldr r4, [pc, #448] ; (f8e4 ) - f724: 47a0 blx r4 - f726: 6832 ldr r2, [r6, #0] - f728: 2300 movs r3, #0 - f72a: 4871 ldr r0, [pc, #452] ; (f8f0 ) - f72c: 4971 ldr r1, [pc, #452] ; (f8f4 ) - f72e: 4788 blx r1 - f730: e7fe b.n f730 - f732: f10d 0207 add.w r2, sp, #7 - f736: f103 0108 add.w r1, r3, #8 - f73a: f812 0f01 ldrb.w r0, [r2, #1]! - f73e: f803 0b01 strb.w r0, [r3], #1 + f6fe: 4b71 ldr r3, [pc, #452] ; (f8c4 ) + f700: 9300 str r3, [sp, #0] + f702: f240 125d movw r2, #349 ; 0x15d + f706: 4970 ldr r1, [pc, #448] ; (f8c8 ) + f708: 2003 movs r0, #3 + f70a: 4c70 ldr r4, [pc, #448] ; (f8cc ) + f70c: 47a0 blx r4 + f70e: 6832 ldr r2, [r6, #0] + f710: 2300 movs r3, #0 + f712: 4871 ldr r0, [pc, #452] ; (f8d8 ) + f714: 4971 ldr r1, [pc, #452] ; (f8dc ) + f716: 4788 blx r1 + f718: e7fe b.n f718 + f71a: f10d 0207 add.w r2, sp, #7 + f71e: f103 0108 add.w r1, r3, #8 + f722: f812 0f01 ldrb.w r0, [r2, #1]! + f726: f803 0b01 strb.w r0, [r3], #1 while(len) { - f742: 428b cmp r3, r1 - f744: d1f9 bne.n f73a + f72a: 428b cmp r3, r1 + f72c: d1f9 bne.n f722 lv_img_cf_t cf = dsc->header.cf; - f746: 7b20 ldrb r0, [r4, #12] - f748: f000 001f and.w r0, r0, #31 + f72e: 7b20 ldrb r0, [r4, #12] + f730: f000 001f and.w r0, r0, #31 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - f74c: 1f03 subs r3, r0, #4 - f74e: b2db uxtb r3, r3 - f750: 2b02 cmp r3, #2 - f752: d804 bhi.n f75e + f734: 1f03 subs r3, r0, #4 + f736: b2db uxtb r3, r3 + f738: 2b02 cmp r3, #2 + f73a: d804 bhi.n f746 if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - f754: 7aa3 ldrb r3, [r4, #10] - f756: 2b00 cmp r3, #0 - f758: f43f af7c beq.w f654 - f75c: e11f b.n f99e + f73c: 7aa3 ldrb r3, [r4, #10] + f73e: 2b00 cmp r3, #0 + f740: f43f af7c beq.w f63c + f744: e11f b.n f986 else if(cf == LV_IMG_CF_INDEXED_1BIT || cf == LV_IMG_CF_INDEXED_2BIT || cf == LV_IMG_CF_INDEXED_4BIT || - f75e: 1fc3 subs r3, r0, #7 - f760: b2db uxtb r3, r3 - f762: 2b03 cmp r3, #3 - f764: d909 bls.n f77a + f746: 1fc3 subs r3, r0, #7 + f748: b2db uxtb r3, r3 + f74a: 2b03 cmp r3, #3 + f74c: d909 bls.n f762 else if(cf == LV_IMG_CF_ALPHA_1BIT || cf == LV_IMG_CF_ALPHA_2BIT || cf == LV_IMG_CF_ALPHA_4BIT || - f766: f1a0 030b sub.w r3, r0, #11 - f76a: b2db uxtb r3, r3 - f76c: 2b03 cmp r3, #3 - f76e: f200 80fd bhi.w f96c + f74e: f1a0 030b sub.w r3, r0, #11 + f752: b2db uxtb r3, r3 + f754: 2b03 cmp r3, #3 + f756: f200 80fd bhi.w f954 dsc->img_data = NULL; - f772: 2300 movs r3, #0 - f774: 6123 str r3, [r4, #16] + f75a: 2300 movs r3, #0 + f75c: 6123 str r3, [r4, #16] return LV_RES_OK; /*Nothing to process*/ - f776: 2001 movs r0, #1 - f778: e770 b.n f65c + f75e: 2001 movs r0, #1 + f760: e770 b.n f644 uint8_t px_size = lv_img_cf_get_px_size(cf); - f77a: 4b60 ldr r3, [pc, #384] ; (f8fc ) - f77c: 4798 blx r3 - f77e: 4607 mov r7, r0 + f762: 4b60 ldr r3, [pc, #384] ; (f8e4 ) + f764: 4798 blx r3 + f766: 4607 mov r7, r0 if(dsc->user_data == NULL) { - f780: 69e3 ldr r3, [r4, #28] - f782: b1bb cbz r3, f7b4 + f768: 69e3 ldr r3, [r4, #28] + f76a: b1bb cbz r3, f79c lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - f784: 69e6 ldr r6, [r4, #28] + f76c: 69e6 ldr r6, [r4, #28] user_data->palette = lv_mem_alloc(palette_size * sizeof(lv_color_t)); - f786: 2002 movs r0, #2 - f788: 40b8 lsls r0, r7 - f78a: 4b51 ldr r3, [pc, #324] ; (f8d0 ) - f78c: 4798 blx r3 - f78e: 6070 str r0, [r6, #4] + f76e: 2002 movs r0, #2 + f770: 40b8 lsls r0, r7 + f772: 4b51 ldr r3, [pc, #324] ; (f8b8 ) + f774: 4798 blx r3 + f776: 6070 str r0, [r6, #4] LV_ASSERT_MEM(user_data->palette); - f790: 4b50 ldr r3, [pc, #320] ; (f8d4 ) - f792: 4798 blx r3 - f794: 2800 cmp r0, #0 - f796: d137 bne.n f808 - f798: 4b50 ldr r3, [pc, #320] ; (f8dc ) - f79a: 9300 str r3, [sp, #0] - f79c: f240 1297 movw r2, #407 ; 0x197 - f7a0: 494f ldr r1, [pc, #316] ; (f8e0 ) - f7a2: 2003 movs r0, #3 - f7a4: 4c4f ldr r4, [pc, #316] ; (f8e4 ) - f7a6: 47a0 blx r4 - f7a8: 6872 ldr r2, [r6, #4] - f7aa: 2300 movs r3, #0 - f7ac: 4850 ldr r0, [pc, #320] ; (f8f0 ) - f7ae: 4951 ldr r1, [pc, #324] ; (f8f4 ) - f7b0: 4788 blx r1 - f7b2: e7fe b.n f7b2 + f778: 4b50 ldr r3, [pc, #320] ; (f8bc ) + f77a: 4798 blx r3 + f77c: 2800 cmp r0, #0 + f77e: d137 bne.n f7f0 + f780: 4b50 ldr r3, [pc, #320] ; (f8c4 ) + f782: 9300 str r3, [sp, #0] + f784: f240 1297 movw r2, #407 ; 0x197 + f788: 494f ldr r1, [pc, #316] ; (f8c8 ) + f78a: 2003 movs r0, #3 + f78c: 4c4f ldr r4, [pc, #316] ; (f8cc ) + f78e: 47a0 blx r4 + f790: 6872 ldr r2, [r6, #4] + f792: 2300 movs r3, #0 + f794: 4850 ldr r0, [pc, #320] ; (f8d8 ) + f796: 4951 ldr r1, [pc, #324] ; (f8dc ) + f798: 4788 blx r1 + f79a: e7fe b.n f79a dsc->user_data = lv_mem_alloc(sizeof(lv_img_decoder_built_in_data_t)); - f7b4: 200c movs r0, #12 - f7b6: 4b46 ldr r3, [pc, #280] ; (f8d0 ) - f7b8: 4798 blx r3 - f7ba: 61e0 str r0, [r4, #28] + f79c: 200c movs r0, #12 + f79e: 4b46 ldr r3, [pc, #280] ; (f8b8 ) + f7a0: 4798 blx r3 + f7a2: 61e0 str r0, [r4, #28] LV_ASSERT_MEM(dsc->user_data); - f7bc: 4b45 ldr r3, [pc, #276] ; (f8d4 ) - f7be: 4798 blx r3 - f7c0: b968 cbnz r0, f7de - f7c2: 4b46 ldr r3, [pc, #280] ; (f8dc ) - f7c4: 9300 str r3, [sp, #0] - f7c6: f44f 72c6 mov.w r2, #396 ; 0x18c - f7ca: 4945 ldr r1, [pc, #276] ; (f8e0 ) - f7cc: 2003 movs r0, #3 - f7ce: 4d45 ldr r5, [pc, #276] ; (f8e4 ) - f7d0: 47a8 blx r5 - f7d2: 69e2 ldr r2, [r4, #28] - f7d4: 2300 movs r3, #0 - f7d6: 4846 ldr r0, [pc, #280] ; (f8f0 ) - f7d8: 4946 ldr r1, [pc, #280] ; (f8f4 ) - f7da: 4788 blx r1 - f7dc: e7fe b.n f7dc + f7a4: 4b45 ldr r3, [pc, #276] ; (f8bc ) + f7a6: 4798 blx r3 + f7a8: b968 cbnz r0, f7c6 + f7aa: 4b46 ldr r3, [pc, #280] ; (f8c4 ) + f7ac: 9300 str r3, [sp, #0] + f7ae: f44f 72c6 mov.w r2, #396 ; 0x18c + f7b2: 4945 ldr r1, [pc, #276] ; (f8c8 ) + f7b4: 2003 movs r0, #3 + f7b6: 4d45 ldr r5, [pc, #276] ; (f8cc ) + f7b8: 47a8 blx r5 + f7ba: 69e2 ldr r2, [r4, #28] + f7bc: 2300 movs r3, #0 + f7be: 4846 ldr r0, [pc, #280] ; (f8d8 ) + f7c0: 4946 ldr r1, [pc, #280] ; (f8dc ) + f7c2: 4788 blx r1 + f7c4: e7fe b.n f7c4 if(dsc->user_data == NULL) { - f7de: 69e0 ldr r0, [r4, #28] - f7e0: b970 cbnz r0, f800 + f7c6: 69e0 ldr r0, [r4, #28] + f7c8: b970 cbnz r0, f7e8 LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - f7e2: 4b3d ldr r3, [pc, #244] ; (f8d8 ) - f7e4: 9300 str r3, [sp, #0] - f7e6: 4b3d ldr r3, [pc, #244] ; (f8dc ) - f7e8: f44f 72c7 mov.w r2, #398 ; 0x18e - f7ec: 493c ldr r1, [pc, #240] ; (f8e0 ) - f7ee: 2003 movs r0, #3 - f7f0: 4e3c ldr r6, [pc, #240] ; (f8e4 ) - f7f2: 47b0 blx r6 + f7ca: 4b3d ldr r3, [pc, #244] ; (f8c0 ) + f7cc: 9300 str r3, [sp, #0] + f7ce: 4b3d ldr r3, [pc, #244] ; (f8c4 ) + f7d0: f44f 72c7 mov.w r2, #398 ; 0x18e + f7d4: 493c ldr r1, [pc, #240] ; (f8c8 ) + f7d6: 2003 movs r0, #3 + f7d8: 4e3c ldr r6, [pc, #240] ; (f8cc ) + f7da: 47b0 blx r6 lv_img_decoder_built_in_close(decoder, dsc); - f7f4: 4621 mov r1, r4 - f7f6: 4628 mov r0, r5 - f7f8: 4b3b ldr r3, [pc, #236] ; (f8e8 ) - f7fa: 4798 blx r3 + f7dc: 4621 mov r1, r4 + f7de: 4628 mov r0, r5 + f7e0: 4b3b ldr r3, [pc, #236] ; (f8d0 ) + f7e2: 4798 blx r3 return LV_RES_INV; - f7fc: 2000 movs r0, #0 - f7fe: e72d b.n f65c + f7e4: 2000 movs r0, #0 + f7e6: e72d b.n f644 _lv_memset_00(dsc->user_data, sizeof(lv_img_decoder_built_in_data_t)); - f800: 210c movs r1, #12 - f802: 4b3d ldr r3, [pc, #244] ; (f8f8 ) - f804: 4798 blx r3 - f806: e7bd b.n f784 + f7e8: 210c movs r1, #12 + f7ea: 4b3d ldr r3, [pc, #244] ; (f8e0 ) + f7ec: 4798 blx r3 + f7ee: e7bd b.n f76c uint32_t palette_size = 1 << px_size; - f808: 2301 movs r3, #1 - f80a: fa03 f707 lsl.w r7, r3, r7 + f7f0: 2301 movs r3, #1 + f7f2: fa03 f707 lsl.w r7, r3, r7 user_data->opa = lv_mem_alloc(palette_size * sizeof(lv_opa_t)); - f80e: 4638 mov r0, r7 - f810: 4b2f ldr r3, [pc, #188] ; (f8d0 ) - f812: 4798 blx r3 - f814: 60b0 str r0, [r6, #8] + f7f6: 4638 mov r0, r7 + f7f8: 4b2f ldr r3, [pc, #188] ; (f8b8 ) + f7fa: 4798 blx r3 + f7fc: 60b0 str r0, [r6, #8] LV_ASSERT_MEM(user_data->opa); - f816: 4b2f ldr r3, [pc, #188] ; (f8d4 ) - f818: 4798 blx r3 - f81a: 2800 cmp r0, #0 - f81c: d032 beq.n f884 + f7fe: 4b2f ldr r3, [pc, #188] ; (f8bc ) + f800: 4798 blx r3 + f802: 2800 cmp r0, #0 + f804: d032 beq.n f86c if(user_data->palette == NULL || user_data->opa == NULL) { - f81e: 6873 ldr r3, [r6, #4] - f820: 2b00 cmp r3, #0 - f822: d03d beq.n f8a0 - f824: 68b3 ldr r3, [r6, #8] - f826: 2b00 cmp r3, #0 - f828: d03a beq.n f8a0 + f806: 6873 ldr r3, [r6, #4] + f808: 2b00 cmp r3, #0 + f80a: d03d beq.n f888 + f80c: 68b3 ldr r3, [r6, #8] + f80e: 2b00 cmp r3, #0 + f810: d03a beq.n f888 if(dsc->src_type == LV_IMG_SRC_FILE) { - f82a: 7aa3 ldrb r3, [r4, #10] - f82c: 2b01 cmp r3, #1 - f82e: d067 beq.n f900 + f812: 7aa3 ldrb r3, [r4, #10] + f814: 2b01 cmp r3, #1 + f816: d067 beq.n f8e8 lv_color32_t * palette_p = (lv_color32_t *)((lv_img_dsc_t *)dsc->src)->data; - f830: 6863 ldr r3, [r4, #4] - f832: 689a ldr r2, [r3, #8] + f818: 6863 ldr r3, [r4, #4] + f81a: 689a ldr r2, [r3, #8] for(i = 0; i < palette_size; i++) { - f834: 2f00 cmp r7, #0 - f836: f000 8095 beq.w f964 - f83a: 2300 movs r3, #0 + f81c: 2f00 cmp r7, #0 + f81e: f000 8095 beq.w f94c + f822: 2300 movs r3, #0 user_data->palette[i] = lv_color_make(palette_p[i].ch.red, palette_p[i].ch.green, palette_p[i].ch.blue); - f83c: 6870 ldr r0, [r6, #4] - f83e: eb00 0c43 add.w ip, r0, r3, lsl #1 + f824: 6870 ldr r0, [r6, #4] + f826: eb00 0c43 add.w ip, r0, r3, lsl #1 #define LV_COLOR_MAKE(r8, g8, b8) ((lv_color_t){{b8, g8, r8, 0xff}}) /*Fix 0xff alpha*/ #endif static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) { return LV_COLOR_MAKE(r, g, b); - f842: f892 e001 ldrb.w lr, [r2, #1] - f846: ea4f 0e9e mov.w lr, lr, lsr #2 - f84a: 7895 ldrb r5, [r2, #2] - f84c: 08ed lsrs r5, r5, #3 - f84e: 7811 ldrb r1, [r2, #0] - f850: 08c9 lsrs r1, r1, #3 - f852: f810 8013 ldrb.w r8, [r0, r3, lsl #1] - f856: f361 0804 bfi r8, r1, #0, #5 - f85a: f800 8013 strb.w r8, [r0, r3, lsl #1] - f85e: f830 1013 ldrh.w r1, [r0, r3, lsl #1] - f862: f36e 114a bfi r1, lr, #5, #6 - f866: f820 1013 strh.w r1, [r0, r3, lsl #1] - f86a: 0a09 lsrs r1, r1, #8 - f86c: f365 01c7 bfi r1, r5, #3, #5 - f870: f88c 1001 strb.w r1, [ip, #1] + f82a: f892 e001 ldrb.w lr, [r2, #1] + f82e: ea4f 0e9e mov.w lr, lr, lsr #2 + f832: 7895 ldrb r5, [r2, #2] + f834: 08ed lsrs r5, r5, #3 + f836: 7811 ldrb r1, [r2, #0] + f838: 08c9 lsrs r1, r1, #3 + f83a: f810 8013 ldrb.w r8, [r0, r3, lsl #1] + f83e: f361 0804 bfi r8, r1, #0, #5 + f842: f800 8013 strb.w r8, [r0, r3, lsl #1] + f846: f830 1013 ldrh.w r1, [r0, r3, lsl #1] + f84a: f36e 114a bfi r1, lr, #5, #6 + f84e: f820 1013 strh.w r1, [r0, r3, lsl #1] + f852: 0a09 lsrs r1, r1, #8 + f854: f365 01c7 bfi r1, r5, #3, #5 + f858: f88c 1001 strb.w r1, [ip, #1] user_data->opa[i] = palette_p[i].ch.alpha; - f874: 78d0 ldrb r0, [r2, #3] - f876: 68b1 ldr r1, [r6, #8] - f878: 54c8 strb r0, [r1, r3] + f85c: 78d0 ldrb r0, [r2, #3] + f85e: 68b1 ldr r1, [r6, #8] + f860: 54c8 strb r0, [r1, r3] for(i = 0; i < palette_size; i++) { - f87a: 3301 adds r3, #1 - f87c: 3204 adds r2, #4 - f87e: 429f cmp r7, r3 - f880: d1dc bne.n f83c - f882: e06f b.n f964 + f862: 3301 adds r3, #1 + f864: 3204 adds r2, #4 + f866: 429f cmp r7, r3 + f868: d1dc bne.n f824 + f86a: e06f b.n f94c LV_ASSERT_MEM(user_data->opa); - f884: 4b15 ldr r3, [pc, #84] ; (f8dc ) - f886: 9300 str r3, [sp, #0] - f888: f240 1299 movw r2, #409 ; 0x199 - f88c: 4914 ldr r1, [pc, #80] ; (f8e0 ) - f88e: 2003 movs r0, #3 - f890: 4c14 ldr r4, [pc, #80] ; (f8e4 ) - f892: 47a0 blx r4 - f894: 68b2 ldr r2, [r6, #8] - f896: 2300 movs r3, #0 - f898: 4815 ldr r0, [pc, #84] ; (f8f0 ) - f89a: 4916 ldr r1, [pc, #88] ; (f8f4 ) - f89c: 4788 blx r1 - f89e: e7fe b.n f89e + f86c: 4b15 ldr r3, [pc, #84] ; (f8c4 ) + f86e: 9300 str r3, [sp, #0] + f870: f240 1299 movw r2, #409 ; 0x199 + f874: 4914 ldr r1, [pc, #80] ; (f8c8 ) + f876: 2003 movs r0, #3 + f878: 4c14 ldr r4, [pc, #80] ; (f8cc ) + f87a: 47a0 blx r4 + f87c: 68b2 ldr r2, [r6, #8] + f87e: 2300 movs r3, #0 + f880: 4815 ldr r0, [pc, #84] ; (f8d8 ) + f882: 4916 ldr r1, [pc, #88] ; (f8dc ) + f884: 4788 blx r1 + f886: e7fe b.n f886 LV_LOG_ERROR("img_decoder_built_in_open: out of memory"); - f8a0: 4b0d ldr r3, [pc, #52] ; (f8d8 ) - f8a2: 9300 str r3, [sp, #0] - f8a4: 4b0d ldr r3, [pc, #52] ; (f8dc ) - f8a6: f240 129b movw r2, #411 ; 0x19b - f8aa: 490d ldr r1, [pc, #52] ; (f8e0 ) - f8ac: 2003 movs r0, #3 - f8ae: 4e0d ldr r6, [pc, #52] ; (f8e4 ) - f8b0: 47b0 blx r6 + f888: 4b0d ldr r3, [pc, #52] ; (f8c0 ) + f88a: 9300 str r3, [sp, #0] + f88c: 4b0d ldr r3, [pc, #52] ; (f8c4 ) + f88e: f240 129b movw r2, #411 ; 0x19b + f892: 490d ldr r1, [pc, #52] ; (f8c8 ) + f894: 2003 movs r0, #3 + f896: 4e0d ldr r6, [pc, #52] ; (f8cc ) + f898: 47b0 blx r6 lv_img_decoder_built_in_close(decoder, dsc); - f8b2: 4621 mov r1, r4 - f8b4: 4628 mov r0, r5 - f8b6: 4b0c ldr r3, [pc, #48] ; (f8e8 ) - f8b8: 4798 blx r3 + f89a: 4621 mov r1, r4 + f89c: 4628 mov r0, r5 + f89e: 4b0c ldr r3, [pc, #48] ; (f8d0 ) + f8a0: 4798 blx r3 return LV_RES_INV; - f8ba: 2000 movs r0, #0 - f8bc: e6ce b.n f65c - f8be: bf00 nop - f8c0: 00011e21 .word 0x00011e21 - f8c4: 00025394 .word 0x00025394 - f8c8: 0001b4fb .word 0x0001b4fb - f8cc: 00011d4d .word 0x00011d4d - f8d0: 000123dd .word 0x000123dd - f8d4: 000022b1 .word 0x000022b1 - f8d8: 000253c4 .word 0x000253c4 - f8dc: 0002526c .word 0x0002526c - f8e0: 00025318 .word 0x00025318 - f8e4: 0001225d .word 0x0001225d - f8e8: 0000f5e9 .word 0x0000f5e9 - f8ec: 00025398 .word 0x00025398 - f8f0: 00023fd8 .word 0x00023fd8 - f8f4: 000022b9 .word 0x000022b9 - f8f8: 00012b37 .word 0x00012b37 - f8fc: 00009681 .word 0x00009681 + f8a2: 2000 movs r0, #0 + f8a4: e6ce b.n f644 + f8a6: bf00 nop + f8a8: 00011e09 .word 0x00011e09 + f8ac: 0002537c .word 0x0002537c + f8b0: 0001b4e3 .word 0x0001b4e3 + f8b4: 00011d35 .word 0x00011d35 + f8b8: 000123c5 .word 0x000123c5 + f8bc: 00002299 .word 0x00002299 + f8c0: 000253ac .word 0x000253ac + f8c4: 00025254 .word 0x00025254 + f8c8: 00025300 .word 0x00025300 + f8cc: 00012245 .word 0x00012245 + f8d0: 0000f5d1 .word 0x0000f5d1 + f8d4: 00025380 .word 0x00025380 + f8d8: 00023fc0 .word 0x00023fc0 + f8dc: 000022a1 .word 0x000022a1 + f8e0: 00012b1f .word 0x00012b1f + f8e4: 00009669 .word 0x00009669 lv_fs_seek(user_data->f, 4); /*Skip the header*/ - f900: 2104 movs r1, #4 - f902: 6830 ldr r0, [r6, #0] - f904: 4b28 ldr r3, [pc, #160] ; (f9a8 ) - f906: 4798 blx r3 + f8e8: 2104 movs r1, #4 + f8ea: 6830 ldr r0, [r6, #0] + f8ec: 4b28 ldr r3, [pc, #160] ; (f990 ) + f8ee: 4798 blx r3 for(i = 0; i < palette_size; i++) { - f908: b367 cbz r7, f964 - f90a: 2500 movs r5, #0 + f8f0: b367 cbz r7, f94c + f8f2: 2500 movs r5, #0 lv_fs_read(user_data->f, &cur_color, sizeof(lv_color32_t), NULL); - f90c: 46a9 mov r9, r5 - f90e: f8df 80b0 ldr.w r8, [pc, #176] ; f9c0 - f912: 464b mov r3, r9 - f914: 2204 movs r2, #4 - f916: a902 add r1, sp, #8 - f918: 6830 ldr r0, [r6, #0] - f91a: 47c0 blx r8 + f8f4: 46a9 mov r9, r5 + f8f6: f8df 80b0 ldr.w r8, [pc, #176] ; f9a8 + f8fa: 464b mov r3, r9 + f8fc: 2204 movs r2, #4 + f8fe: a902 add r1, sp, #8 + f900: 6830 ldr r0, [r6, #0] + f902: 47c0 blx r8 user_data->palette[i] = lv_color_make(cur_color.ch.red, cur_color.ch.green, cur_color.ch.blue); - f91c: 6872 ldr r2, [r6, #4] - f91e: eb02 0e45 add.w lr, r2, r5, lsl #1 - f922: f89d 0009 ldrb.w r0, [sp, #9] - f926: 0880 lsrs r0, r0, #2 - f928: f89d 100a ldrb.w r1, [sp, #10] - f92c: 08c9 lsrs r1, r1, #3 - f92e: f89d 3008 ldrb.w r3, [sp, #8] - f932: 08db lsrs r3, r3, #3 - f934: f812 c015 ldrb.w ip, [r2, r5, lsl #1] - f938: f363 0c04 bfi ip, r3, #0, #5 - f93c: f802 c015 strb.w ip, [r2, r5, lsl #1] - f940: f832 3015 ldrh.w r3, [r2, r5, lsl #1] - f944: f360 134a bfi r3, r0, #5, #6 - f948: f822 3015 strh.w r3, [r2, r5, lsl #1] - f94c: 0a1b lsrs r3, r3, #8 - f94e: f361 03c7 bfi r3, r1, #3, #5 - f952: f88e 3001 strb.w r3, [lr, #1] + f904: 6872 ldr r2, [r6, #4] + f906: eb02 0e45 add.w lr, r2, r5, lsl #1 + f90a: f89d 0009 ldrb.w r0, [sp, #9] + f90e: 0880 lsrs r0, r0, #2 + f910: f89d 100a ldrb.w r1, [sp, #10] + f914: 08c9 lsrs r1, r1, #3 + f916: f89d 3008 ldrb.w r3, [sp, #8] + f91a: 08db lsrs r3, r3, #3 + f91c: f812 c015 ldrb.w ip, [r2, r5, lsl #1] + f920: f363 0c04 bfi ip, r3, #0, #5 + f924: f802 c015 strb.w ip, [r2, r5, lsl #1] + f928: f832 3015 ldrh.w r3, [r2, r5, lsl #1] + f92c: f360 134a bfi r3, r0, #5, #6 + f930: f822 3015 strh.w r3, [r2, r5, lsl #1] + f934: 0a1b lsrs r3, r3, #8 + f936: f361 03c7 bfi r3, r1, #3, #5 + f93a: f88e 3001 strb.w r3, [lr, #1] user_data->opa[i] = cur_color.ch.alpha; - f956: f89d 200b ldrb.w r2, [sp, #11] - f95a: 68b3 ldr r3, [r6, #8] - f95c: 555a strb r2, [r3, r5] + f93e: f89d 200b ldrb.w r2, [sp, #11] + f942: 68b3 ldr r3, [r6, #8] + f944: 555a strb r2, [r3, r5] for(i = 0; i < palette_size; i++) { - f95e: 3501 adds r5, #1 - f960: 42af cmp r7, r5 - f962: d1d6 bne.n f912 + f946: 3501 adds r5, #1 + f948: 42af cmp r7, r5 + f94a: d1d6 bne.n f8fa dsc->img_data = NULL; - f964: 2300 movs r3, #0 - f966: 6123 str r3, [r4, #16] + f94c: 2300 movs r3, #0 + f94e: 6123 str r3, [r4, #16] return LV_RES_OK; - f968: 2001 movs r0, #1 - f96a: e677 b.n f65c + f950: 2001 movs r0, #1 + f952: e677 b.n f644 lv_img_decoder_built_in_close(decoder, dsc); - f96c: 4621 mov r1, r4 - f96e: 4628 mov r0, r5 - f970: 4b0e ldr r3, [pc, #56] ; (f9ac ) - f972: 4798 blx r3 + f954: 4621 mov r1, r4 + f956: 4628 mov r0, r5 + f958: 4b0e ldr r3, [pc, #56] ; (f994 ) + f95a: 4798 blx r3 LV_LOG_WARN("Image decoder open: unknown color format") - f974: 4b0e ldr r3, [pc, #56] ; (f9b0 ) - f976: 9300 str r3, [sp, #0] - f978: 4b0e ldr r3, [pc, #56] ; (f9b4 ) - f97a: f240 12d3 movw r2, #467 ; 0x1d3 - f97e: 490e ldr r1, [pc, #56] ; (f9b8 ) - f980: 2002 movs r0, #2 - f982: 4c0e ldr r4, [pc, #56] ; (f9bc ) - f984: 47a0 blx r4 + f95c: 4b0e ldr r3, [pc, #56] ; (f998 ) + f95e: 9300 str r3, [sp, #0] + f960: 4b0e ldr r3, [pc, #56] ; (f99c ) + f962: f240 12d3 movw r2, #467 ; 0x1d3 + f966: 490e ldr r1, [pc, #56] ; (f9a0 ) + f968: 2002 movs r0, #2 + f96a: 4c0e ldr r4, [pc, #56] ; (f9a4 ) + f96c: 47a0 blx r4 return LV_RES_INV; - f986: 2000 movs r0, #0 - f988: e668 b.n f65c + f96e: 2000 movs r0, #0 + f970: e668 b.n f644 return LV_RES_INV; - f98a: 2000 movs r0, #0 - f98c: e666 b.n f65c + f972: 2000 movs r0, #0 + f974: e666 b.n f644 lv_img_cf_t cf = dsc->header.cf; - f98e: 7b08 ldrb r0, [r1, #12] - f990: f000 001f and.w r0, r0, #31 + f976: 7b08 ldrb r0, [r1, #12] + f978: f000 001f and.w r0, r0, #31 if(cf == LV_IMG_CF_TRUE_COLOR || cf == LV_IMG_CF_TRUE_COLOR_ALPHA || cf == LV_IMG_CF_TRUE_COLOR_CHROMA_KEYED) { - f994: 1f03 subs r3, r0, #4 - f996: b2db uxtb r3, r3 - f998: 2b02 cmp r3, #2 - f99a: f63f aee0 bhi.w f75e + f97c: 1f03 subs r3, r0, #4 + f97e: b2db uxtb r3, r3 + f980: 2b02 cmp r3, #2 + f982: f63f aee0 bhi.w f746 dsc->img_data = NULL; - f99e: 2300 movs r3, #0 - f9a0: 6123 str r3, [r4, #16] + f986: 2300 movs r3, #0 + f988: 6123 str r3, [r4, #16] return LV_RES_OK; - f9a2: 2001 movs r0, #1 - f9a4: e65a b.n f65c - f9a6: bf00 nop - f9a8: 00011cf9 .word 0x00011cf9 - f9ac: 0000f5e9 .word 0x0000f5e9 - f9b0: 000253f0 .word 0x000253f0 - f9b4: 0002526c .word 0x0002526c - f9b8: 00025318 .word 0x00025318 - f9bc: 0001225d .word 0x0001225d - f9c0: 00011cbd .word 0x00011cbd - -0000f9c4 : -{ - f9c4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - f9c8: b08b sub sp, #44 ; 0x2c - f9ca: 460d mov r5, r1 - f9cc: 4614 mov r4, r2 - f9ce: 469a mov sl, r3 - f9d0: f9bd 6050 ldrsh.w r6, [sp, #80] ; 0x50 + f98a: 2001 movs r0, #1 + f98c: e65a b.n f644 + f98e: bf00 nop + f990: 00011ce1 .word 0x00011ce1 + f994: 0000f5d1 .word 0x0000f5d1 + f998: 000253d8 .word 0x000253d8 + f99c: 00025254 .word 0x00025254 + f9a0: 00025300 .word 0x00025300 + f9a4: 00012245 .word 0x00012245 + f9a8: 00011ca5 .word 0x00011ca5 + +0000f9ac : +{ + f9ac: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + f9b0: b08b sub sp, #44 ; 0x2c + f9b2: 460d mov r5, r1 + f9b4: 4614 mov r4, r2 + f9b6: 469a mov sl, r3 + f9b8: f9bd 6050 ldrsh.w r6, [sp, #80] ; 0x50 if(dsc->header.cf == LV_IMG_CF_TRUE_COLOR || dsc->header.cf == LV_IMG_CF_TRUE_COLOR_ALPHA || - f9d4: 7b0b ldrb r3, [r1, #12] - f9d6: f003 031f and.w r3, r3, #31 - f9da: 1f1a subs r2, r3, #4 - f9dc: b2d2 uxtb r2, r2 - f9de: 2a02 cmp r2, #2 - f9e0: d845 bhi.n fa6e + f9bc: 7b0b ldrb r3, [r1, #12] + f9be: f003 031f and.w r3, r3, #31 + f9c2: 1f1a subs r2, r3, #4 + f9c4: b2d2 uxtb r2, r2 + f9c6: 2a02 cmp r2, #2 + f9c8: d845 bhi.n fa56 if(dsc->src_type == LV_IMG_SRC_FILE) { - f9e2: 7a8b ldrb r3, [r1, #10] - f9e4: 2b01 cmp r3, #1 - f9e6: d003 beq.n f9f0 + f9ca: 7a8b ldrb r3, [r1, #10] + f9cc: 2b01 cmp r3, #1 + f9ce: d003 beq.n f9d8 lv_res_t res = LV_RES_INV; - f9e8: 2000 movs r0, #0 + f9d0: 2000 movs r0, #0 } - f9ea: b00b add sp, #44 ; 0x2c - f9ec: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + f9d2: b00b add sp, #44 ; 0x2c + f9d4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} static lv_res_t lv_img_decoder_built_in_line_true_color(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_USE_FILESYSTEM lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - f9f0: f8d1 801c ldr.w r8, [r1, #28] + f9d8: f8d1 801c ldr.w r8, [r1, #28] lv_fs_res_t res; uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - f9f4: 7b08 ldrb r0, [r1, #12] - f9f6: f000 001f and.w r0, r0, #31 - f9fa: 4b9e ldr r3, [pc, #632] ; (fc74 ) - f9fc: 4798 blx r3 - f9fe: 4607 mov r7, r0 + f9dc: 7b08 ldrb r0, [r1, #12] + f9de: f000 001f and.w r0, r0, #31 + f9e2: 4b9e ldr r3, [pc, #632] ; (fc5c ) + f9e4: 4798 blx r3 + f9e6: 4607 mov r7, r0 uint32_t pos = ((y * dsc->header.w + x) * px_size) >> 3; - fa00: 68e9 ldr r1, [r5, #12] - fa02: f3c1 218a ubfx r1, r1, #10, #11 - fa06: fb0a 4101 mla r1, sl, r1, r4 - fa0a: fb00 f101 mul.w r1, r0, r1 - fa0e: 10c9 asrs r1, r1, #3 + f9e8: 68e9 ldr r1, [r5, #12] + f9ea: f3c1 218a ubfx r1, r1, #10, #11 + f9ee: fb0a 4101 mla r1, sl, r1, r4 + f9f2: fb00 f101 mul.w r1, r0, r1 + f9f6: 10c9 asrs r1, r1, #3 pos += 4; /*Skip the header*/ res = lv_fs_seek(user_data->f, pos); - fa10: 3104 adds r1, #4 - fa12: f8d8 0000 ldr.w r0, [r8] - fa16: 4b98 ldr r3, [pc, #608] ; (fc78 ) - fa18: 4798 blx r3 + f9f8: 3104 adds r1, #4 + f9fa: f8d8 0000 ldr.w r0, [r8] + f9fe: 4b98 ldr r3, [pc, #608] ; (fc60 ) + fa00: 4798 blx r3 if(res != LV_FS_RES_OK) { - fa1a: b9d8 cbnz r0, fa54 + fa02: b9d8 cbnz r0, fa3c LV_LOG_WARN("Built-in image decoder seek failed"); return LV_RES_INV; } uint32_t btr = len * (px_size >> 3); - fa1c: f3c7 07c7 ubfx r7, r7, #3, #8 - fa20: fb06 f607 mul.w r6, r6, r7 + fa04: f3c7 07c7 ubfx r7, r7, #3, #8 + fa08: fb06 f607 mul.w r6, r6, r7 uint32_t br = 0; - fa24: ab0a add r3, sp, #40 ; 0x28 - fa26: 2200 movs r2, #0 - fa28: f843 2d10 str.w r2, [r3, #-16]! + fa0c: ab0a add r3, sp, #40 ; 0x28 + fa0e: 2200 movs r2, #0 + fa10: f843 2d10 str.w r2, [r3, #-16]! lv_fs_read(user_data->f, buf, btr, &br); - fa2c: 4632 mov r2, r6 - fa2e: 9915 ldr r1, [sp, #84] ; 0x54 - fa30: f8d8 0000 ldr.w r0, [r8] - fa34: 4c91 ldr r4, [pc, #580] ; (fc7c ) - fa36: 47a0 blx r4 + fa14: 4632 mov r2, r6 + fa16: 9915 ldr r1, [sp, #84] ; 0x54 + fa18: f8d8 0000 ldr.w r0, [r8] + fa1c: 4c91 ldr r4, [pc, #580] ; (fc64 ) + fa1e: 47a0 blx r4 if(res != LV_FS_RES_OK || btr != br) { - fa38: 9b06 ldr r3, [sp, #24] - fa3a: 429e cmp r6, r3 - fa3c: d015 beq.n fa6a + fa20: 9b06 ldr r3, [sp, #24] + fa22: 429e cmp r6, r3 + fa24: d015 beq.n fa52 LV_LOG_WARN("Built-in image decoder read failed"); - fa3e: 4b90 ldr r3, [pc, #576] ; (fc80 ) - fa40: 9300 str r3, [sp, #0] - fa42: 4b90 ldr r3, [pc, #576] ; (fc84 ) - fa44: f240 2235 movw r2, #565 ; 0x235 - fa48: 498f ldr r1, [pc, #572] ; (fc88 ) - fa4a: 2002 movs r0, #2 - fa4c: 4c8f ldr r4, [pc, #572] ; (fc8c ) - fa4e: 47a0 blx r4 + fa26: 4b90 ldr r3, [pc, #576] ; (fc68 ) + fa28: 9300 str r3, [sp, #0] + fa2a: 4b90 ldr r3, [pc, #576] ; (fc6c ) + fa2c: f240 2235 movw r2, #565 ; 0x235 + fa30: 498f ldr r1, [pc, #572] ; (fc70 ) + fa32: 2002 movs r0, #2 + fa34: 4c8f ldr r4, [pc, #572] ; (fc74 ) + fa36: 47a0 blx r4 return LV_RES_INV; - fa50: 2000 movs r0, #0 - fa52: e7ca b.n f9ea + fa38: 2000 movs r0, #0 + fa3a: e7ca b.n f9d2 LV_LOG_WARN("Built-in image decoder seek failed"); - fa54: 4b8e ldr r3, [pc, #568] ; (fc90 ) - fa56: 9300 str r3, [sp, #0] - fa58: 4b8a ldr r3, [pc, #552] ; (fc84 ) - fa5a: f240 222e movw r2, #558 ; 0x22e - fa5e: 498a ldr r1, [pc, #552] ; (fc88 ) - fa60: 2002 movs r0, #2 - fa62: 4c8a ldr r4, [pc, #552] ; (fc8c ) - fa64: 47a0 blx r4 + fa3c: 4b8e ldr r3, [pc, #568] ; (fc78 ) + fa3e: 9300 str r3, [sp, #0] + fa40: 4b8a ldr r3, [pc, #552] ; (fc6c ) + fa42: f240 222e movw r2, #558 ; 0x22e + fa46: 498a ldr r1, [pc, #552] ; (fc70 ) + fa48: 2002 movs r0, #2 + fa4a: 4c8a ldr r4, [pc, #552] ; (fc74 ) + fa4c: 47a0 blx r4 return LV_RES_INV; - fa66: 2000 movs r0, #0 - fa68: e7bf b.n f9ea + fa4e: 2000 movs r0, #0 + fa50: e7bf b.n f9d2 } return LV_RES_OK; - fa6a: 2001 movs r0, #1 - fa6c: e7bd b.n f9ea + fa52: 2001 movs r0, #1 + fa54: e7bd b.n f9d2 dsc->header.cf == LV_IMG_CF_ALPHA_4BIT || dsc->header.cf == LV_IMG_CF_ALPHA_8BIT) { - fa6e: f1a3 020b sub.w r2, r3, #11 + fa56: f1a3 020b sub.w r2, r3, #11 else if(dsc->header.cf == LV_IMG_CF_ALPHA_1BIT || dsc->header.cf == LV_IMG_CF_ALPHA_2BIT || - fa72: b2d2 uxtb r2, r2 - fa74: 2a03 cmp r2, #3 - fa76: d90f bls.n fa98 + fa5a: b2d2 uxtb r2, r2 + fa5c: 2a03 cmp r2, #3 + fa5e: d90f bls.n fa80 dsc->header.cf == LV_IMG_CF_INDEXED_4BIT || dsc->header.cf == LV_IMG_CF_INDEXED_8BIT) { - fa78: 3b07 subs r3, #7 + fa60: 3b07 subs r3, #7 else if(dsc->header.cf == LV_IMG_CF_INDEXED_1BIT || dsc->header.cf == LV_IMG_CF_INDEXED_2BIT || - fa7a: b2db uxtb r3, r3 - fa7c: 2b03 cmp r3, #3 - fa7e: f240 80df bls.w fc40 + fa62: b2db uxtb r3, r3 + fa64: 2b03 cmp r3, #3 + fa66: f240 80df bls.w fc28 LV_LOG_WARN("Built-in image decoder read not supports the color format"); - fa82: 4b84 ldr r3, [pc, #528] ; (fc94 ) - fa84: 9300 str r3, [sp, #0] - fa86: 4b84 ldr r3, [pc, #528] ; (fc98 ) - fa88: f44f 72fe mov.w r2, #508 ; 0x1fc - fa8c: 497e ldr r1, [pc, #504] ; (fc88 ) - fa8e: 2002 movs r0, #2 - fa90: 4c7e ldr r4, [pc, #504] ; (fc8c ) - fa92: 47a0 blx r4 + fa6a: 4b84 ldr r3, [pc, #528] ; (fc7c ) + fa6c: 9300 str r3, [sp, #0] + fa6e: 4b84 ldr r3, [pc, #528] ; (fc80 ) + fa70: f44f 72fe mov.w r2, #508 ; 0x1fc + fa74: 497e ldr r1, [pc, #504] ; (fc70 ) + fa76: 2002 movs r0, #2 + fa78: 4c7e ldr r4, [pc, #504] ; (fc74 ) + fa7a: 47a0 blx r4 return LV_RES_INV; - fa94: 2000 movs r0, #0 - fa96: e7a8 b.n f9ea + fa7c: 2000 movs r0, #0 + fa7e: e7a8 b.n f9d2 static lv_res_t lv_img_decoder_built_in_line_alpha(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_IMG_CF_ALPHA const lv_opa_t alpha1_opa_table[2] = {0, 255}; /*Opacity mapping with bpp = 1 (Just for compatibility)*/ - fa98: 2200 movs r2, #0 - fa9a: f88d 2010 strb.w r2, [sp, #16] - fa9e: 23ff movs r3, #255 ; 0xff - faa0: f88d 3011 strb.w r3, [sp, #17] + fa80: 2200 movs r2, #0 + fa82: f88d 2010 strb.w r2, [sp, #16] + fa86: 23ff movs r3, #255 ; 0xff + fa88: f88d 3011 strb.w r3, [sp, #17] const lv_opa_t alpha2_opa_table[4] = {0, 85, 170, 255}; /*Opacity mapping with bpp = 2*/ - faa4: f88d 2014 strb.w r2, [sp, #20] - faa8: 2255 movs r2, #85 ; 0x55 - faaa: f88d 2015 strb.w r2, [sp, #21] - faae: 22aa movs r2, #170 ; 0xaa - fab0: f88d 2016 strb.w r2, [sp, #22] - fab4: f88d 3017 strb.w r3, [sp, #23] + fa8c: f88d 2014 strb.w r2, [sp, #20] + fa90: 2255 movs r2, #85 ; 0x55 + fa92: f88d 2015 strb.w r2, [sp, #21] + fa96: 22aa movs r2, #170 ; 0xaa + fa98: f88d 2016 strb.w r2, [sp, #22] + fa9c: f88d 3017 strb.w r3, [sp, #23] const lv_opa_t alpha4_opa_table[16] = {0, 17, 34, 51, /*Opacity mapping with bpp = 4*/ - fab8: 4b78 ldr r3, [pc, #480] ; (fc9c ) - faba: cb0f ldmia r3, {r0, r1, r2, r3} - fabc: af0a add r7, sp, #40 ; 0x28 - fabe: e907 000f stmdb r7, {r0, r1, r2, r3} + faa0: 4b78 ldr r3, [pc, #480] ; (fc84 ) + faa2: cb0f ldmia r3, {r0, r1, r2, r3} + faa4: af0a add r7, sp, #40 ; 0x28 + faa6: e907 000f stmdb r7, {r0, r1, r2, r3} 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255 }; /*Simply fill the buffer with the color. Later only the alpha value will be modified.*/ lv_color_t bg_color = dsc->color; - fac2: 8929 ldrh r1, [r5, #8] + faaa: 8929 ldrh r1, [r5, #8] lv_coord_t i; for(i = 0; i < len; i++) { - fac4: 2e00 cmp r6, #0 - fac6: dd0c ble.n fae2 + faac: 2e00 cmp r6, #0 + faae: dd0c ble.n faca #if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full; #elif LV_COLOR_DEPTH == 16 /*Because of Alpha byte 16 bit color can start on odd address which can cause crash*/ buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF; buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF; - fac8: 0a08 lsrs r0, r1, #8 - faca: 9b15 ldr r3, [sp, #84] ; 0x54 - facc: 1e72 subs r2, r6, #1 - face: b292 uxth r2, r2 - fad0: 3201 adds r2, #1 - fad2: eb02 0242 add.w r2, r2, r2, lsl #1 - fad6: 441a add r2, r3 + fab0: 0a08 lsrs r0, r1, #8 + fab2: 9b15 ldr r3, [sp, #84] ; 0x54 + fab4: 1e72 subs r2, r6, #1 + fab6: b292 uxth r2, r2 + fab8: 3201 adds r2, #1 + faba: eb02 0242 add.w r2, r2, r2, lsl #1 + fabe: 441a add r2, r3 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = bg_color.full & 0xFF; - fad8: 7019 strb r1, [r3, #0] + fac0: 7019 strb r1, [r3, #0] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (bg_color.full >> 8) & 0xFF; - fada: 7058 strb r0, [r3, #1] - fadc: 3303 adds r3, #3 + fac2: 7058 strb r0, [r3, #1] + fac4: 3303 adds r3, #3 for(i = 0; i < len; i++) { - fade: 429a cmp r2, r3 - fae0: d1fa bne.n fad8 + fac6: 429a cmp r2, r3 + fac8: d1fa bne.n fac0 #error "Invalid LV_COLOR_DEPTH. Check it in lv_conf.h" #endif } const lv_opa_t * opa_table = NULL; uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - fae2: 7b28 ldrb r0, [r5, #12] - fae4: f000 001f and.w r0, r0, #31 - fae8: 4b62 ldr r3, [pc, #392] ; (fc74 ) - faea: 4798 blx r3 - faec: 4680 mov r8, r0 + faca: 7b28 ldrb r0, [r5, #12] + facc: f000 001f and.w r0, r0, #31 + fad0: 4b62 ldr r3, [pc, #392] ; (fc5c ) + fad2: 4798 blx r3 + fad4: 4680 mov r8, r0 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ - faee: 2701 movs r7, #1 - faf0: 4087 lsls r7, r0 - faf2: 3f01 subs r7, #1 - faf4: b2bf uxth r7, r7 + fad6: 2701 movs r7, #1 + fad8: 4087 lsls r7, r0 + fada: 3f01 subs r7, #1 + fadc: b2bf uxth r7, r7 lv_coord_t w = 0; uint32_t ofs = 0; int8_t pos = 0; switch(dsc->header.cf) { - faf6: 7b2b ldrb r3, [r5, #12] - faf8: f003 031f and.w r3, r3, #31 - fafc: 3b0b subs r3, #11 - fafe: 2b03 cmp r3, #3 - fb00: f200 8083 bhi.w fc0a - fb04: e8df f003 tbb [pc, r3] - fb08: 76614c02 .word 0x76614c02 + fade: 7b2b ldrb r3, [r5, #12] + fae0: f003 031f and.w r3, r3, #31 + fae4: 3b0b subs r3, #11 + fae6: 2b03 cmp r3, #3 + fae8: f200 8083 bhi.w fbf2 + faec: e8df f003 tbb [pc, r3] + faf0: 76614c02 .word 0x76614c02 case LV_IMG_CF_ALPHA_1BIT: w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - fb0c: 68eb ldr r3, [r5, #12] - fb0e: f3c3 238a ubfx r3, r3, #10, #11 - fb12: 10da asrs r2, r3, #3 + faf4: 68eb ldr r3, [r5, #12] + faf6: f3c3 238a ubfx r3, r3, #10, #11 + fafa: 10da asrs r2, r3, #3 if(dsc->header.w & 0x7) w++; - fb14: f013 0f07 tst.w r3, #7 + fafc: f013 0f07 tst.w r3, #7 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - fb18: bf0c ite eq - fb1a: fa0f fb82 sxtheq.w fp, r2 + fb00: bf0c ite eq + fb02: fa0f fb82 sxtheq.w fp, r2 if(dsc->header.w & 0x7) w++; - fb1e: f102 0b01 addne.w fp, r2, #1 + fb06: f102 0b01 addne.w fp, r2, #1 ofs += w * y + (x >> 3); /*First pixel*/ - fb22: 10e3 asrs r3, r4, #3 - fb24: fb0a 3a0b mla sl, sl, fp, r3 + fb0a: 10e3 asrs r3, r4, #3 + fb0c: fb0a 3a0b mla sl, sl, fp, r3 pos = 7 - (x & 0x7); - fb28: 43e4 mvns r4, r4 - fb2a: f004 0407 and.w r4, r4, #7 + fb10: 43e4 mvns r4, r4 + fb12: f004 0407 and.w r4, r4, #7 opa_table = alpha1_opa_table; - fb2e: f10d 0910 add.w r9, sp, #16 + fb16: f10d 0910 add.w r9, sp, #16 pos = 0; break; } #if LV_USE_FILESYSTEM lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - fb32: 69eb ldr r3, [r5, #28] - fb34: 9303 str r3, [sp, #12] + fb1a: 69eb ldr r3, [r5, #28] + fb1c: 9303 str r3, [sp, #12] uint8_t * fs_buf = _lv_mem_buf_get(w); - fb36: 4658 mov r0, fp - fb38: 4b59 ldr r3, [pc, #356] ; (fca0 ) - fb3a: 4798 blx r3 - fb3c: 9002 str r0, [sp, #8] + fb1e: 4658 mov r0, fp + fb20: 4b59 ldr r3, [pc, #356] ; (fc88 ) + fb22: 4798 blx r3 + fb24: 9002 str r0, [sp, #8] #endif const uint8_t * data_tmp = NULL; if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - fb3e: 7aab ldrb r3, [r5, #10] - fb40: 2b00 cmp r3, #0 - fb42: d16b bne.n fc1c + fb26: 7aab ldrb r3, [r5, #10] + fb28: 2b00 cmp r3, #0 + fb2a: d16b bne.n fc04 const lv_img_dsc_t * img_dsc = dsc->src; data_tmp = img_dsc->data + ofs; - fb44: 686b ldr r3, [r5, #4] - fb46: 689b ldr r3, [r3, #8] - fb48: 449a add sl, r3 + fb2c: 686b ldr r3, [r5, #4] + fb2e: 689b ldr r3, [r3, #8] + fb30: 449a add sl, r3 data_tmp = NULL; /*To avoid warnings*/ return LV_RES_INV; #endif } for(i = 0; i < len; i++) { - fb4a: 2e00 cmp r6, #0 - fb4c: dd23 ble.n fb96 - fb4e: 9a15 ldr r2, [sp, #84] ; 0x54 - fb50: 1e71 subs r1, r6, #1 - fb52: b289 uxth r1, r1 - fb54: 3101 adds r1, #1 - fb56: eb01 0141 add.w r1, r1, r1, lsl #1 - fb5a: 4411 add r1, r2 + fb32: 2e00 cmp r6, #0 + fb34: dd23 ble.n fb7e + fb36: 9a15 ldr r2, [sp, #84] ; 0x54 + fb38: 1e71 subs r1, r6, #1 + fb3a: b289 uxth r1, r1 + fb3c: 3101 adds r1, #1 + fb3e: eb01 0141 add.w r1, r1, r1, lsl #1 + fb42: 4411 add r1, r2 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; pos -= px_size; if(pos < 0) { pos = 8 - px_size; - fb5c: f1c8 0008 rsb r0, r8, #8 - fb60: b240 sxtb r0, r0 + fb44: f1c8 0008 rsb r0, r8, #8 + fb48: b240 sxtb r0, r0 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - fb62: f89a 3000 ldrb.w r3, [sl] - fb66: fa07 f604 lsl.w r6, r7, r4 - fb6a: 4033 ands r3, r6 - fb6c: 4123 asrs r3, r4 + fb4a: f89a 3000 ldrb.w r3, [sl] + fb4e: fa07 f604 lsl.w r6, r7, r4 + fb52: 4033 ands r3, r6 + fb54: 4123 asrs r3, r4 dsc->header.cf == LV_IMG_CF_ALPHA_8BIT ? val_act : opa_table[val_act]; - fb6e: 7b2e ldrb r6, [r5, #12] + fb56: 7b2e ldrb r6, [r5, #12] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - fb70: f006 061f and.w r6, r6, #31 - fb74: 2e0e cmp r6, #14 + fb58: f006 061f and.w r6, r6, #31 + fb5c: 2e0e cmp r6, #14 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - fb76: b2db uxtb r3, r3 + fb5e: b2db uxtb r3, r3 buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = - fb78: bf18 it ne - fb7a: f819 3003 ldrbne.w r3, [r9, r3] - fb7e: 7093 strb r3, [r2, #2] + fb60: bf18 it ne + fb62: f819 3003 ldrbne.w r3, [r9, r3] + fb66: 7093 strb r3, [r2, #2] pos -= px_size; - fb80: eba4 0408 sub.w r4, r4, r8 - fb84: b264 sxtb r4, r4 + fb68: eba4 0408 sub.w r4, r4, r8 + fb6c: b264 sxtb r4, r4 if(pos < 0) { - fb86: 2c00 cmp r4, #0 + fb6e: 2c00 cmp r4, #0 pos = 8 - px_size; - fb88: bfbc itt lt - fb8a: 4604 movlt r4, r0 + fb70: bfbc itt lt + fb72: 4604 movlt r4, r0 data_tmp++; - fb8c: f10a 0a01 addlt.w sl, sl, #1 - fb90: 3203 adds r2, #3 + fb74: f10a 0a01 addlt.w sl, sl, #1 + fb78: 3203 adds r2, #3 for(i = 0; i < len; i++) { - fb92: 428a cmp r2, r1 - fb94: d1e5 bne.n fb62 + fb7a: 428a cmp r2, r1 + fb7c: d1e5 bne.n fb4a } } #if LV_USE_FILESYSTEM _lv_mem_buf_release(fs_buf); - fb96: 9802 ldr r0, [sp, #8] - fb98: 4b42 ldr r3, [pc, #264] ; (fca4 ) - fb9a: 4798 blx r3 + fb7e: 9802 ldr r0, [sp, #8] + fb80: 4b42 ldr r3, [pc, #264] ; (fc8c ) + fb82: 4798 blx r3 res = lv_img_decoder_built_in_line_alpha(dsc, x, y, len, buf); - fb9c: 2001 movs r0, #1 - fb9e: e724 b.n f9ea + fb84: 2001 movs r0, #1 + fb86: e724 b.n f9d2 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - fba0: 68eb ldr r3, [r5, #12] - fba2: f3c3 238a ubfx r3, r3, #10, #11 - fba6: 109a asrs r2, r3, #2 + fb88: 68eb ldr r3, [r5, #12] + fb8a: f3c3 238a ubfx r3, r3, #10, #11 + fb8e: 109a asrs r2, r3, #2 if(dsc->header.w & 0x3) w++; - fba8: f013 0f03 tst.w r3, #3 + fb90: f013 0f03 tst.w r3, #3 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - fbac: bf0c ite eq - fbae: fa0f fb82 sxtheq.w fp, r2 + fb94: bf0c ite eq + fb96: fa0f fb82 sxtheq.w fp, r2 if(dsc->header.w & 0x3) w++; - fbb2: f102 0b01 addne.w fp, r2, #1 + fb9a: f102 0b01 addne.w fp, r2, #1 ofs += w * y + (x >> 2); /*First pixel*/ - fbb6: 10a3 asrs r3, r4, #2 - fbb8: fb0a 3a0b mla sl, sl, fp, r3 + fb9e: 10a3 asrs r3, r4, #2 + fba0: fb0a 3a0b mla sl, sl, fp, r3 pos = 6 - ((x & 0x3) * 2); - fbbc: 43e4 mvns r4, r4 - fbbe: f004 0403 and.w r4, r4, #3 - fbc2: 0064 lsls r4, r4, #1 + fba4: 43e4 mvns r4, r4 + fba6: f004 0403 and.w r4, r4, #3 + fbaa: 0064 lsls r4, r4, #1 opa_table = alpha2_opa_table; - fbc4: f10d 0914 add.w r9, sp, #20 - fbc8: e7b3 b.n fb32 + fbac: f10d 0914 add.w r9, sp, #20 + fbb0: e7b3 b.n fb1a w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - fbca: 68eb ldr r3, [r5, #12] - fbcc: f3c3 238a ubfx r3, r3, #10, #11 - fbd0: 105a asrs r2, r3, #1 + fbb2: 68eb ldr r3, [r5, #12] + fbb4: f3c3 238a ubfx r3, r3, #10, #11 + fbb8: 105a asrs r2, r3, #1 if(dsc->header.w & 0x1) w++; - fbd2: f013 0f01 tst.w r3, #1 + fbba: f013 0f01 tst.w r3, #1 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - fbd6: bf0c ite eq - fbd8: fa0f fb82 sxtheq.w fp, r2 + fbbe: bf0c ite eq + fbc0: fa0f fb82 sxtheq.w fp, r2 if(dsc->header.w & 0x1) w++; - fbdc: f102 0b01 addne.w fp, r2, #1 + fbc4: f102 0b01 addne.w fp, r2, #1 ofs += w * y + (x >> 1); /*First pixel*/ - fbe0: 1063 asrs r3, r4, #1 - fbe2: fb0a 3a0b mla sl, sl, fp, r3 + fbc8: 1063 asrs r3, r4, #1 + fbca: fb0a 3a0b mla sl, sl, fp, r3 pos = 4 - ((x & 0x1) * 4); - fbe6: f014 0f01 tst.w r4, #1 - fbea: d013 beq.n fc14 - fbec: 2400 movs r4, #0 + fbce: f014 0f01 tst.w r4, #1 + fbd2: d013 beq.n fbfc + fbd4: 2400 movs r4, #0 opa_table = alpha4_opa_table; - fbee: f10d 0918 add.w r9, sp, #24 - fbf2: e79e b.n fb32 + fbd6: f10d 0918 add.w r9, sp, #24 + fbda: e79e b.n fb1a w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ - fbf4: 68eb ldr r3, [r5, #12] - fbf6: f3c3 238a ubfx r3, r3, #10, #11 - fbfa: b29a uxth r2, r3 - fbfc: fa0f fb83 sxth.w fp, r3 + fbdc: 68eb ldr r3, [r5, #12] + fbde: f3c3 238a ubfx r3, r3, #10, #11 + fbe2: b29a uxth r2, r3 + fbe4: fa0f fb83 sxth.w fp, r3 ofs += w * y + x; /*First pixel*/ - fc00: fb0a 4a02 mla sl, sl, r2, r4 + fbe8: fb0a 4a02 mla sl, sl, r2, r4 pos = 0; - fc04: 2400 movs r4, #0 + fbec: 2400 movs r4, #0 const lv_opa_t * opa_table = NULL; - fc06: 46a1 mov r9, r4 - fc08: e793 b.n fb32 + fbee: 46a1 mov r9, r4 + fbf0: e793 b.n fb1a int8_t pos = 0; - fc0a: 2400 movs r4, #0 + fbf2: 2400 movs r4, #0 uint32_t ofs = 0; - fc0c: 46a2 mov sl, r4 + fbf4: 46a2 mov sl, r4 lv_coord_t w = 0; - fc0e: 46a3 mov fp, r4 + fbf6: 46a3 mov fp, r4 const lv_opa_t * opa_table = NULL; - fc10: 46a1 mov r9, r4 - fc12: e78e b.n fb32 + fbf8: 46a1 mov r9, r4 + fbfa: e78e b.n fb1a pos = 4 - ((x & 0x1) * 4); - fc14: 2404 movs r4, #4 + fbfc: 2404 movs r4, #4 opa_table = alpha4_opa_table; - fc16: f10d 0918 add.w r9, sp, #24 - fc1a: e78a b.n fb32 + fbfe: f10d 0918 add.w r9, sp, #24 + fc02: e78a b.n fb1a lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/ - fc1c: f10a 0104 add.w r1, sl, #4 - fc20: 9b03 ldr r3, [sp, #12] - fc22: 6818 ldr r0, [r3, #0] - fc24: 4b14 ldr r3, [pc, #80] ; (fc78 ) - fc26: 4798 blx r3 + fc04: f10a 0104 add.w r1, sl, #4 + fc08: 9b03 ldr r3, [sp, #12] + fc0a: 6818 ldr r0, [r3, #0] + fc0c: 4b14 ldr r3, [pc, #80] ; (fc60 ) + fc0e: 4798 blx r3 lv_fs_read(user_data->f, fs_buf, w, NULL); - fc28: 2300 movs r3, #0 - fc2a: 465a mov r2, fp - fc2c: f8dd b008 ldr.w fp, [sp, #8] - fc30: 4659 mov r1, fp - fc32: 9803 ldr r0, [sp, #12] - fc34: 6800 ldr r0, [r0, #0] - fc36: f8df a044 ldr.w sl, [pc, #68] ; fc7c - fc3a: 47d0 blx sl + fc10: 2300 movs r3, #0 + fc12: 465a mov r2, fp + fc14: f8dd b008 ldr.w fp, [sp, #8] + fc18: 4659 mov r1, fp + fc1a: 9803 ldr r0, [sp, #12] + fc1c: 6800 ldr r0, [r0, #0] + fc1e: f8df a044 ldr.w sl, [pc, #68] ; fc64 + fc22: 47d0 blx sl data_tmp = fs_buf; - fc3c: 46da mov sl, fp - fc3e: e784 b.n fb4a + fc24: 46da mov sl, fp + fc26: e784 b.n fb32 static lv_res_t lv_img_decoder_built_in_line_indexed(lv_img_decoder_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_coord_t len, uint8_t * buf) { #if LV_IMG_CF_INDEXED uint8_t px_size = lv_img_cf_get_px_size(dsc->header.cf); - fc40: 7b08 ldrb r0, [r1, #12] - fc42: f000 001f and.w r0, r0, #31 - fc46: 4b0b ldr r3, [pc, #44] ; (fc74 ) - fc48: 4798 blx r3 - fc4a: 4681 mov r9, r0 + fc28: 7b08 ldrb r0, [r1, #12] + fc2a: f000 001f and.w r0, r0, #31 + fc2e: 4b0b ldr r3, [pc, #44] ; (fc5c ) + fc30: 4798 blx r3 + fc32: 4681 mov r9, r0 uint16_t mask = (1 << px_size) - 1; /*E.g. px_size = 2; mask = 0x03*/ - fc4c: f04f 0801 mov.w r8, #1 - fc50: fa08 f800 lsl.w r8, r8, r0 - fc54: f108 38ff add.w r8, r8, #4294967295 - fc58: fa1f f888 uxth.w r8, r8 + fc34: f04f 0801 mov.w r8, #1 + fc38: fa08 f800 lsl.w r8, r8, r0 + fc3c: f108 38ff add.w r8, r8, #4294967295 + fc40: fa1f f888 uxth.w r8, r8 lv_coord_t w = 0; int8_t pos = 0; uint32_t ofs = 0; switch(dsc->header.cf) { - fc5c: 7b2b ldrb r3, [r5, #12] - fc5e: f003 031f and.w r3, r3, #31 - fc62: 3b07 subs r3, #7 - fc64: 2b03 cmp r3, #3 - fc66: f200 80a5 bhi.w fdb4 - fc6a: e8df f003 tbb [pc, r3] - fc6e: 681d .short 0x681d - fc70: 967e .short 0x967e - fc72: bf00 nop - fc74: 00009681 .word 0x00009681 - fc78: 00011cf9 .word 0x00011cf9 - fc7c: 00011cbd .word 0x00011cbd - fc80: 00025440 .word 0x00025440 - fc84: 0002528c .word 0x0002528c - fc88: 00025318 .word 0x00025318 - fc8c: 0001225d .word 0x0001225d - fc90: 0002541c .word 0x0002541c - fc94: 00025464 .word 0x00025464 - fc98: 000252c4 .word 0x000252c4 - fc9c: 000252b4 .word 0x000252b4 - fca0: 0001293d .word 0x0001293d - fca4: 00012571 .word 0x00012571 + fc44: 7b2b ldrb r3, [r5, #12] + fc46: f003 031f and.w r3, r3, #31 + fc4a: 3b07 subs r3, #7 + fc4c: 2b03 cmp r3, #3 + fc4e: f200 80a5 bhi.w fd9c + fc52: e8df f003 tbb [pc, r3] + fc56: 681d .short 0x681d + fc58: 967e .short 0x967e + fc5a: bf00 nop + fc5c: 00009669 .word 0x00009669 + fc60: 00011ce1 .word 0x00011ce1 + fc64: 00011ca5 .word 0x00011ca5 + fc68: 00025428 .word 0x00025428 + fc6c: 00025274 .word 0x00025274 + fc70: 00025300 .word 0x00025300 + fc74: 00012245 .word 0x00012245 + fc78: 00025404 .word 0x00025404 + fc7c: 0002544c .word 0x0002544c + fc80: 000252ac .word 0x000252ac + fc84: 0002529c .word 0x0002529c + fc88: 00012925 .word 0x00012925 + fc8c: 00012559 .word 0x00012559 case LV_IMG_CF_INDEXED_1BIT: w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - fca8: 68eb ldr r3, [r5, #12] - fcaa: f3c3 238a ubfx r3, r3, #10, #11 - fcae: ea4f 0be3 mov.w fp, r3, asr #3 + fc90: 68eb ldr r3, [r5, #12] + fc92: f3c3 238a ubfx r3, r3, #10, #11 + fc96: ea4f 0be3 mov.w fp, r3, asr #3 if(dsc->header.w & 0x7) w++; - fcb2: f013 0f07 tst.w r3, #7 + fc9a: f013 0f07 tst.w r3, #7 w = (dsc->header.w >> 3); /*E.g. w = 20 -> w = 2 + 1*/ - fcb6: bf0c ite eq - fcb8: fa0f fb8b sxtheq.w fp, fp + fc9e: bf0c ite eq + fca0: fa0f fb8b sxtheq.w fp, fp if(dsc->header.w & 0x7) w++; - fcbc: f10b 0b01 addne.w fp, fp, #1 + fca4: f10b 0b01 addne.w fp, fp, #1 ofs += w * y + (x >> 3); /*First pixel*/ - fcc0: 10e3 asrs r3, r4, #3 - fcc2: fb0a 3a0b mla sl, sl, fp, r3 + fca8: 10e3 asrs r3, r4, #3 + fcaa: fb0a 3a0b mla sl, sl, fp, r3 ofs += 8; /*Skip the palette*/ - fcc6: f10a 0a08 add.w sl, sl, #8 + fcae: f10a 0a08 add.w sl, sl, #8 pos = 7 - (x & 0x7); - fcca: 43e4 mvns r4, r4 - fccc: f004 0407 and.w r4, r4, #7 + fcb2: 43e4 mvns r4, r4 + fcb4: f004 0407 and.w r4, r4, #7 ofs += 1024; /*Skip the palette*/ pos = 0; break; } lv_img_decoder_built_in_data_t * user_data = dsc->user_data; - fcd0: 69ef ldr r7, [r5, #28] + fcb8: 69ef ldr r7, [r5, #28] #if LV_USE_FILESYSTEM uint8_t * fs_buf = _lv_mem_buf_get(w); - fcd2: 4658 mov r0, fp - fcd4: 4b41 ldr r3, [pc, #260] ; (fddc ) - fcd6: 4798 blx r3 - fcd8: 9002 str r0, [sp, #8] + fcba: 4658 mov r0, fp + fcbc: 4b41 ldr r3, [pc, #260] ; (fdc4 ) + fcbe: 4798 blx r3 + fcc0: 9002 str r0, [sp, #8] #endif const uint8_t * data_tmp = NULL; if(dsc->src_type == LV_IMG_SRC_VARIABLE) { - fcda: 7aab ldrb r3, [r5, #10] - fcdc: 2b00 cmp r3, #0 - fcde: d16e bne.n fdbe + fcc2: 7aab ldrb r3, [r5, #10] + fcc4: 2b00 cmp r3, #0 + fcc6: d16e bne.n fda6 const lv_img_dsc_t * img_dsc = dsc->src; data_tmp = img_dsc->data + ofs; - fce0: 686b ldr r3, [r5, #4] - fce2: 689b ldr r3, [r3, #8] - fce4: 449a add sl, r3 + fcc8: 686b ldr r3, [r5, #4] + fcca: 689b ldr r3, [r3, #8] + fccc: 449a add sl, r3 return LV_RES_INV; #endif } lv_coord_t i; for(i = 0; i < len; i++) { - fce6: 2e00 cmp r6, #0 - fce8: dd24 ble.n fd34 - fcea: 9a15 ldr r2, [sp, #84] ; 0x54 - fcec: 1e71 subs r1, r6, #1 - fcee: b289 uxth r1, r1 - fcf0: 3101 adds r1, #1 - fcf2: eb01 0141 add.w r1, r1, r1, lsl #1 - fcf6: 4411 add r1, r2 + fcce: 2e00 cmp r6, #0 + fcd0: dd24 ble.n fd1c + fcd2: 9a15 ldr r2, [sp, #84] ; 0x54 + fcd4: 1e71 subs r1, r6, #1 + fcd6: b289 uxth r1, r1 + fcd8: 3101 adds r1, #1 + fcda: eb01 0141 add.w r1, r1, r1, lsl #1 + fcde: 4411 add r1, r2 #endif buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; pos -= px_size; if(pos < 0) { pos = 8 - px_size; - fcf8: f1c9 0508 rsb r5, r9, #8 - fcfc: b26d sxtb r5, r5 + fce0: f1c9 0508 rsb r5, r9, #8 + fce4: b26d sxtb r5, r5 uint8_t val_act = (*data_tmp & (mask << pos)) >> pos; - fcfe: f89a 3000 ldrb.w r3, [sl] - fd02: fa08 f004 lsl.w r0, r8, r4 - fd06: 4003 ands r3, r0 - fd08: 4123 asrs r3, r4 + fce6: f89a 3000 ldrb.w r3, [sl] + fcea: fa08 f004 lsl.w r0, r8, r4 + fcee: 4003 ands r3, r0 + fcf0: 4123 asrs r3, r4 lv_color_t color = user_data->palette[val_act]; - fd0a: b2db uxtb r3, r3 - fd0c: 6878 ldr r0, [r7, #4] - fd0e: f830 0013 ldrh.w r0, [r0, r3, lsl #1] + fcf2: b2db uxtb r3, r3 + fcf4: 6878 ldr r0, [r7, #4] + fcf6: f830 0013 ldrh.w r0, [r0, r3, lsl #1] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE] = color.full & 0xFF; - fd12: 7010 strb r0, [r2, #0] + fcfa: 7010 strb r0, [r2, #0] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + 1] = (color.full >> 8) & 0xFF; - fd14: 0a00 lsrs r0, r0, #8 - fd16: 7050 strb r0, [r2, #1] + fcfc: 0a00 lsrs r0, r0, #8 + fcfe: 7050 strb r0, [r2, #1] buf[i * LV_IMG_PX_SIZE_ALPHA_BYTE + LV_IMG_PX_SIZE_ALPHA_BYTE - 1] = user_data->opa[val_act]; - fd18: 68b8 ldr r0, [r7, #8] - fd1a: 5cc3 ldrb r3, [r0, r3] - fd1c: 7093 strb r3, [r2, #2] + fd00: 68b8 ldr r0, [r7, #8] + fd02: 5cc3 ldrb r3, [r0, r3] + fd04: 7093 strb r3, [r2, #2] pos -= px_size; - fd1e: eba4 0409 sub.w r4, r4, r9 - fd22: b264 sxtb r4, r4 + fd06: eba4 0409 sub.w r4, r4, r9 + fd0a: b264 sxtb r4, r4 if(pos < 0) { - fd24: 2c00 cmp r4, #0 + fd0c: 2c00 cmp r4, #0 pos = 8 - px_size; - fd26: bfbc itt lt - fd28: 462c movlt r4, r5 + fd0e: bfbc itt lt + fd10: 462c movlt r4, r5 data_tmp++; - fd2a: f10a 0a01 addlt.w sl, sl, #1 - fd2e: 3203 adds r2, #3 + fd12: f10a 0a01 addlt.w sl, sl, #1 + fd16: 3203 adds r2, #3 for(i = 0; i < len; i++) { - fd30: 428a cmp r2, r1 - fd32: d1e4 bne.n fcfe + fd18: 428a cmp r2, r1 + fd1a: d1e4 bne.n fce6 } } #if LV_USE_FILESYSTEM _lv_mem_buf_release(fs_buf); - fd34: 9802 ldr r0, [sp, #8] - fd36: 4b2a ldr r3, [pc, #168] ; (fde0 ) - fd38: 4798 blx r3 + fd1c: 9802 ldr r0, [sp, #8] + fd1e: 4b2a ldr r3, [pc, #168] ; (fdc8 ) + fd20: 4798 blx r3 res = lv_img_decoder_built_in_line_indexed(dsc, x, y, len, buf); - fd3a: 2001 movs r0, #1 - fd3c: e655 b.n f9ea + fd22: 2001 movs r0, #1 + fd24: e655 b.n f9d2 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - fd3e: 68eb ldr r3, [r5, #12] - fd40: f3c3 238a ubfx r3, r3, #10, #11 - fd44: ea4f 0ba3 mov.w fp, r3, asr #2 + fd26: 68eb ldr r3, [r5, #12] + fd28: f3c3 238a ubfx r3, r3, #10, #11 + fd2c: ea4f 0ba3 mov.w fp, r3, asr #2 if(dsc->header.w & 0x3) w++; - fd48: f013 0f03 tst.w r3, #3 + fd30: f013 0f03 tst.w r3, #3 w = (dsc->header.w >> 2); /*E.g. w = 13 -> w = 3 + 1 (bytes)*/ - fd4c: bf0c ite eq - fd4e: fa0f fb8b sxtheq.w fp, fp + fd34: bf0c ite eq + fd36: fa0f fb8b sxtheq.w fp, fp if(dsc->header.w & 0x3) w++; - fd52: f10b 0b01 addne.w fp, fp, #1 + fd3a: f10b 0b01 addne.w fp, fp, #1 ofs += w * y + (x >> 2); /*First pixel*/ - fd56: 10a3 asrs r3, r4, #2 - fd58: fb0a 3a0b mla sl, sl, fp, r3 + fd3e: 10a3 asrs r3, r4, #2 + fd40: fb0a 3a0b mla sl, sl, fp, r3 ofs += 16; /*Skip the palette*/ - fd5c: f10a 0a10 add.w sl, sl, #16 + fd44: f10a 0a10 add.w sl, sl, #16 pos = 6 - ((x & 0x3) * 2); - fd60: 43e4 mvns r4, r4 - fd62: f004 0403 and.w r4, r4, #3 - fd66: 0064 lsls r4, r4, #1 - fd68: e7b2 b.n fcd0 + fd48: 43e4 mvns r4, r4 + fd4a: f004 0403 and.w r4, r4, #3 + fd4e: 0064 lsls r4, r4, #1 + fd50: e7b2 b.n fcb8 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - fd6a: 68eb ldr r3, [r5, #12] - fd6c: f3c3 238a ubfx r3, r3, #10, #11 - fd70: ea4f 0b63 mov.w fp, r3, asr #1 + fd52: 68eb ldr r3, [r5, #12] + fd54: f3c3 238a ubfx r3, r3, #10, #11 + fd58: ea4f 0b63 mov.w fp, r3, asr #1 if(dsc->header.w & 0x1) w++; - fd74: f013 0f01 tst.w r3, #1 + fd5c: f013 0f01 tst.w r3, #1 w = (dsc->header.w >> 1); /*E.g. w = 13 -> w = 6 + 1 (bytes)*/ - fd78: bf0c ite eq - fd7a: fa0f fb8b sxtheq.w fp, fp + fd60: bf0c ite eq + fd62: fa0f fb8b sxtheq.w fp, fp if(dsc->header.w & 0x1) w++; - fd7e: f10b 0b01 addne.w fp, fp, #1 + fd66: f10b 0b01 addne.w fp, fp, #1 ofs += w * y + (x >> 1); /*First pixel*/ - fd82: 1063 asrs r3, r4, #1 - fd84: fb0a 3a0b mla sl, sl, fp, r3 + fd6a: 1063 asrs r3, r4, #1 + fd6c: fb0a 3a0b mla sl, sl, fp, r3 ofs += 64; /*Skip the palette*/ - fd88: f10a 0a40 add.w sl, sl, #64 ; 0x40 + fd70: f10a 0a40 add.w sl, sl, #64 ; 0x40 pos = 4 - ((x & 0x1) * 4); - fd8c: f004 0401 and.w r4, r4, #1 - fd90: 2c00 cmp r4, #0 - fd92: bf0c ite eq - fd94: 2404 moveq r4, #4 - fd96: 2400 movne r4, #0 - fd98: e79a b.n fcd0 + fd74: f004 0401 and.w r4, r4, #1 + fd78: 2c00 cmp r4, #0 + fd7a: bf0c ite eq + fd7c: 2404 moveq r4, #4 + fd7e: 2400 movne r4, #0 + fd80: e79a b.n fcb8 w = dsc->header.w; /*E.g. x = 7 -> w = 7 (bytes)*/ - fd9a: 68eb ldr r3, [r5, #12] - fd9c: f3c3 2b8a ubfx fp, r3, #10, #11 - fda0: fa1f f38b uxth.w r3, fp - fda4: fa0f fb8b sxth.w fp, fp + fd82: 68eb ldr r3, [r5, #12] + fd84: f3c3 2b8a ubfx fp, r3, #10, #11 + fd88: fa1f f38b uxth.w r3, fp + fd8c: fa0f fb8b sxth.w fp, fp ofs += w * y + x; /*First pixel*/ - fda8: fb0a 4a03 mla sl, sl, r3, r4 + fd90: fb0a 4a03 mla sl, sl, r3, r4 ofs += 1024; /*Skip the palette*/ - fdac: f50a 6a80 add.w sl, sl, #1024 ; 0x400 + fd94: f50a 6a80 add.w sl, sl, #1024 ; 0x400 pos = 0; - fdb0: 2400 movs r4, #0 - fdb2: e78d b.n fcd0 + fd98: 2400 movs r4, #0 + fd9a: e78d b.n fcb8 uint32_t ofs = 0; - fdb4: f04f 0a00 mov.w sl, #0 + fd9c: f04f 0a00 mov.w sl, #0 int8_t pos = 0; - fdb8: 4654 mov r4, sl + fda0: 4654 mov r4, sl lv_coord_t w = 0; - fdba: 46d3 mov fp, sl - fdbc: e788 b.n fcd0 + fda2: 46d3 mov fp, sl + fda4: e788 b.n fcb8 lv_fs_seek(user_data->f, ofs + 4); /*+4 to skip the header*/ - fdbe: f10a 0104 add.w r1, sl, #4 - fdc2: 6838 ldr r0, [r7, #0] - fdc4: 4b07 ldr r3, [pc, #28] ; (fde4 ) - fdc6: 4798 blx r3 + fda6: f10a 0104 add.w r1, sl, #4 + fdaa: 6838 ldr r0, [r7, #0] + fdac: 4b07 ldr r3, [pc, #28] ; (fdcc ) + fdae: 4798 blx r3 lv_fs_read(user_data->f, fs_buf, w, NULL); - fdc8: 2300 movs r3, #0 - fdca: 465a mov r2, fp - fdcc: f8dd a008 ldr.w sl, [sp, #8] - fdd0: 4651 mov r1, sl - fdd2: 6838 ldr r0, [r7, #0] - fdd4: 4d04 ldr r5, [pc, #16] ; (fde8 ) - fdd6: 47a8 blx r5 - fdd8: e785 b.n fce6 - fdda: bf00 nop - fddc: 0001293d .word 0x0001293d - fde0: 00012571 .word 0x00012571 - fde4: 00011cf9 .word 0x00011cf9 - fde8: 00011cbd .word 0x00011cbd - -0000fdec : -{ - fdec: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - fdf0: 4681 mov r9, r0 - fdf2: 460e mov r6, r1 + fdb0: 2300 movs r3, #0 + fdb2: 465a mov r2, fp + fdb4: f8dd a008 ldr.w sl, [sp, #8] + fdb8: 4651 mov r1, sl + fdba: 6838 ldr r0, [r7, #0] + fdbc: 4d04 ldr r5, [pc, #16] ; (fdd0 ) + fdbe: 47a8 blx r5 + fdc0: e785 b.n fcce + fdc2: bf00 nop + fdc4: 00012925 .word 0x00012925 + fdc8: 00012559 .word 0x00012559 + fdcc: 00011ce1 .word 0x00011ce1 + fdd0: 00011ca5 .word 0x00011ca5 + +0000fdd4 : +{ + fdd4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + fdd8: 4681 mov r9, r0 + fdda: 460e mov r6, r1 header->always_zero = 0; - fdf4: 780b ldrb r3, [r1, #0] - fdf6: f36f 1347 bfc r3, #5, #3 - fdfa: 700b strb r3, [r1, #0] + fddc: 780b ldrb r3, [r1, #0] + fdde: f36f 1347 bfc r3, #5, #3 + fde2: 700b strb r3, [r1, #0] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - fdfc: 480f ldr r0, [pc, #60] ; (fe3c ) - fdfe: 4b10 ldr r3, [pc, #64] ; (fe40 ) - fe00: 4798 blx r3 - fe02: b1c8 cbz r0, fe38 - fe04: 4604 mov r4, r0 + fde4: 480f ldr r0, [pc, #60] ; (fe24 ) + fde6: 4b10 ldr r3, [pc, #64] ; (fe28 ) + fde8: 4798 blx r3 + fdea: b1c8 cbz r0, fe20 + fdec: 4604 mov r4, r0 res = LV_RES_INV; - fe06: f04f 0a00 mov.w sl, #0 + fdee: f04f 0a00 mov.w sl, #0 _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - fe0a: f8df 8030 ldr.w r8, [pc, #48] ; fe3c - fe0e: 4f0d ldr r7, [pc, #52] ; (fe44 ) - fe10: e005 b.n fe1e + fdf2: f8df 8030 ldr.w r8, [pc, #48] ; fe24 + fdf6: 4f0d ldr r7, [pc, #52] ; (fe2c ) + fdf8: e005 b.n fe06 res = LV_RES_INV; - fe12: 4655 mov r5, sl + fdfa: 4655 mov r5, sl _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - fe14: 4621 mov r1, r4 - fe16: 4640 mov r0, r8 - fe18: 47b8 blx r7 - fe1a: 4604 mov r4, r0 - fe1c: b148 cbz r0, fe32 + fdfc: 4621 mov r1, r4 + fdfe: 4640 mov r0, r8 + fe00: 47b8 blx r7 + fe02: 4604 mov r4, r0 + fe04: b148 cbz r0, fe1a if(d->info_cb) { - fe1e: 6823 ldr r3, [r4, #0] - fe20: 2b00 cmp r3, #0 - fe22: d0f6 beq.n fe12 + fe06: 6823 ldr r3, [r4, #0] + fe08: 2b00 cmp r3, #0 + fe0a: d0f6 beq.n fdfa res = d->info_cb(d, src, header); - fe24: 4632 mov r2, r6 - fe26: 4649 mov r1, r9 - fe28: 4620 mov r0, r4 - fe2a: 4798 blx r3 - fe2c: 4605 mov r5, r0 + fe0c: 4632 mov r2, r6 + fe0e: 4649 mov r1, r9 + fe10: 4620 mov r0, r4 + fe12: 4798 blx r3 + fe14: 4605 mov r5, r0 if(res == LV_RES_OK) break; - fe2e: 2801 cmp r0, #1 - fe30: d1f0 bne.n fe14 + fe16: 2801 cmp r0, #1 + fe18: d1f0 bne.n fdfc } - fe32: 4628 mov r0, r5 - fe34: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + fe1a: 4628 mov r0, r5 + fe1c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} lv_res_t res = LV_RES_INV; - fe38: 2500 movs r5, #0 - fe3a: e7fa b.n fe32 - fe3c: 20006ca4 .word 0x20006ca4 - fe40: 00011fa9 .word 0x00011fa9 - fe44: 00011fbd .word 0x00011fbd + fe20: 2500 movs r5, #0 + fe22: e7fa b.n fe1a + fe24: 20006ca4 .word 0x20006ca4 + fe28: 00011f91 .word 0x00011f91 + fe2c: 00011fa5 .word 0x00011fa5 -0000fe48 : +0000fe30 : { - fe48: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - fe4c: 4682 mov sl, r0 - fe4e: 4688 mov r8, r1 + fe30: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + fe34: 4682 mov sl, r0 + fe36: 4688 mov r8, r1 dsc->color = color; - fe50: 8102 strh r2, [r0, #8] + fe38: 8102 strh r2, [r0, #8] dsc->src_type = lv_img_src_get_type(src); - fe52: 4608 mov r0, r1 - fe54: 4b26 ldr r3, [pc, #152] ; (fef0 ) - fe56: 4798 blx r3 - fe58: f88a 000a strb.w r0, [sl, #10] + fe3a: 4608 mov r0, r1 + fe3c: 4b26 ldr r3, [pc, #152] ; (fed8 ) + fe3e: 4798 blx r3 + fe40: f88a 000a strb.w r0, [sl, #10] dsc->user_data = NULL; - fe5c: 2300 movs r3, #0 - fe5e: f8ca 301c str.w r3, [sl, #28] + fe44: 2300 movs r3, #0 + fe46: f8ca 301c str.w r3, [sl, #28] if(dsc->src_type == LV_IMG_SRC_FILE) { - fe62: 2801 cmp r0, #1 - fe64: d00d beq.n fe82 + fe4a: 2801 cmp r0, #1 + fe4c: d00d beq.n fe6a dsc->src = src; - fe66: f8ca 8004 str.w r8, [sl, #4] + fe4e: f8ca 8004 str.w r8, [sl, #4] _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - fe6a: 4822 ldr r0, [pc, #136] ; (fef4 ) - fe6c: 4b22 ldr r3, [pc, #136] ; (fef8 ) - fe6e: 4798 blx r3 - fe70: 4604 mov r4, r0 - fe72: 2800 cmp r0, #0 - fe74: d036 beq.n fee4 - fe76: 2500 movs r5, #0 + fe52: 4822 ldr r0, [pc, #136] ; (fedc ) + fe54: 4b22 ldr r3, [pc, #136] ; (fee0 ) + fe56: 4798 blx r3 + fe58: 4604 mov r4, r0 + fe5a: 2800 cmp r0, #0 + fe5c: d036 beq.n fecc + fe5e: 2500 movs r5, #0 res = d->info_cb(d, src, &dsc->header); - fe78: f10a 090c add.w r9, sl, #12 + fe60: f10a 090c add.w r9, sl, #12 _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - fe7c: 4f1d ldr r7, [pc, #116] ; (fef4 ) - fe7e: 4e1f ldr r6, [pc, #124] ; (fefc ) - fe80: e010 b.n fea4 + fe64: 4f1d ldr r7, [pc, #116] ; (fedc ) + fe66: 4e1f ldr r6, [pc, #124] ; (fee4 ) + fe68: e010 b.n fe8c size_t fnlen = strlen(src); - fe82: 4640 mov r0, r8 - fe84: 4b1e ldr r3, [pc, #120] ; (ff00 ) - fe86: 4798 blx r3 + fe6a: 4640 mov r0, r8 + fe6c: 4b1e ldr r3, [pc, #120] ; (fee8 ) + fe6e: 4798 blx r3 dsc->src = lv_mem_alloc(fnlen + 1); - fe88: 3001 adds r0, #1 - fe8a: 4b1e ldr r3, [pc, #120] ; (ff04 ) - fe8c: 4798 blx r3 - fe8e: f8ca 0004 str.w r0, [sl, #4] + fe70: 3001 adds r0, #1 + fe72: 4b1e ldr r3, [pc, #120] ; (feec ) + fe74: 4798 blx r3 + fe76: f8ca 0004 str.w r0, [sl, #4] strcpy((char *)dsc->src, src); - fe92: 4641 mov r1, r8 - fe94: 4b1c ldr r3, [pc, #112] ; (ff08 ) - fe96: 4798 blx r3 - fe98: e7e7 b.n fe6a + fe7a: 4641 mov r1, r8 + fe7c: 4b1c ldr r3, [pc, #112] ; (fef0 ) + fe7e: 4798 blx r3 + fe80: e7e7 b.n fe52 _LV_LL_READ(LV_GC_ROOT(_lv_img_defoder_ll), d) { - fe9a: 4621 mov r1, r4 - fe9c: 4638 mov r0, r7 - fe9e: 47b0 blx r6 - fea0: 4604 mov r4, r0 - fea2: b1d8 cbz r0, fedc + fe82: 4621 mov r1, r4 + fe84: 4638 mov r0, r7 + fe86: 47b0 blx r6 + fe88: 4604 mov r4, r0 + fe8a: b1d8 cbz r0, fec4 if(d->info_cb == NULL || d->open_cb == NULL) continue; - fea4: 6823 ldr r3, [r4, #0] - fea6: 2b00 cmp r3, #0 - fea8: d0f7 beq.n fe9a - feaa: 6862 ldr r2, [r4, #4] - feac: 2a00 cmp r2, #0 - feae: d0f4 beq.n fe9a + fe8c: 6823 ldr r3, [r4, #0] + fe8e: 2b00 cmp r3, #0 + fe90: d0f7 beq.n fe82 + fe92: 6862 ldr r2, [r4, #4] + fe94: 2a00 cmp r2, #0 + fe96: d0f4 beq.n fe82 res = d->info_cb(d, src, &dsc->header); - feb0: 464a mov r2, r9 - feb2: 4641 mov r1, r8 - feb4: 4620 mov r0, r4 - feb6: 4798 blx r3 - feb8: 4605 mov r5, r0 + fe98: 464a mov r2, r9 + fe9a: 4641 mov r1, r8 + fe9c: 4620 mov r0, r4 + fe9e: 4798 blx r3 + fea0: 4605 mov r5, r0 if(res != LV_RES_OK) continue; - feba: 2801 cmp r0, #1 - febc: d1ed bne.n fe9a + fea2: 2801 cmp r0, #1 + fea4: d1ed bne.n fe82 dsc->error_msg = NULL; - febe: 2300 movs r3, #0 - fec0: f8ca 3018 str.w r3, [sl, #24] + fea6: 2300 movs r3, #0 + fea8: f8ca 3018 str.w r3, [sl, #24] dsc->img_data = NULL; - fec4: f8ca 3010 str.w r3, [sl, #16] + feac: f8ca 3010 str.w r3, [sl, #16] dsc->decoder = d; - fec8: f8ca 4000 str.w r4, [sl] + feb0: f8ca 4000 str.w r4, [sl] res = d->open_cb(d, dsc); - fecc: 6863 ldr r3, [r4, #4] - fece: 4651 mov r1, sl - fed0: 4620 mov r0, r4 - fed2: 4798 blx r3 - fed4: 4605 mov r5, r0 + feb4: 6863 ldr r3, [r4, #4] + feb6: 4651 mov r1, sl + feb8: 4620 mov r0, r4 + feba: 4798 blx r3 + febc: 4605 mov r5, r0 if(res == LV_RES_OK) break; - fed6: 2801 cmp r0, #1 - fed8: d1df bne.n fe9a - feda: e000 b.n fede + febe: 2801 cmp r0, #1 + fec0: d1df bne.n fe82 + fec2: e000 b.n fec6 if(res == LV_RES_INV) { - fedc: b11d cbz r5, fee6 + fec4: b11d cbz r5, fece } - fede: 4628 mov r0, r5 - fee0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + fec6: 4628 mov r0, r5 + fec8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} lv_res_t res = LV_RES_INV; - fee4: 2500 movs r5, #0 + fecc: 2500 movs r5, #0 _lv_memset_00(dsc, sizeof(lv_img_decoder_dsc_t)); - fee6: 2120 movs r1, #32 - fee8: 4650 mov r0, sl - feea: 4b08 ldr r3, [pc, #32] ; (ff0c ) - feec: 4798 blx r3 - feee: e7f6 b.n fede - fef0: 00009969 .word 0x00009969 - fef4: 20006ca4 .word 0x20006ca4 - fef8: 00011fa9 .word 0x00011fa9 - fefc: 00011fbd .word 0x00011fbd - ff00: 0001b51f .word 0x0001b51f - ff04: 000123dd .word 0x000123dd - ff08: 0001b50f .word 0x0001b50f - ff0c: 00012b37 .word 0x00012b37 - -0000ff10 : -{ - ff10: b570 push {r4, r5, r6, lr} - ff12: b082 sub sp, #8 + fece: 2120 movs r1, #32 + fed0: 4650 mov r0, sl + fed2: 4b08 ldr r3, [pc, #32] ; (fef4 ) + fed4: 4798 blx r3 + fed6: e7f6 b.n fec6 + fed8: 00009951 .word 0x00009951 + fedc: 20006ca4 .word 0x20006ca4 + fee0: 00011f91 .word 0x00011f91 + fee4: 00011fa5 .word 0x00011fa5 + fee8: 0001b507 .word 0x0001b507 + feec: 000123c5 .word 0x000123c5 + fef0: 0001b4f7 .word 0x0001b4f7 + fef4: 00012b1f .word 0x00012b1f + +0000fef8 : +{ + fef8: b570 push {r4, r5, r6, lr} + fefa: b082 sub sp, #8 if(dsc->decoder->read_line_cb) res = dsc->decoder->read_line_cb(dsc->decoder, dsc, x, y, len, buf); - ff14: 6806 ldr r6, [r0, #0] - ff16: 68b4 ldr r4, [r6, #8] - ff18: b154 cbz r4, ff30 - ff1a: 461d mov r5, r3 - ff1c: 4613 mov r3, r2 - ff1e: 460a mov r2, r1 - ff20: 4601 mov r1, r0 - ff22: 9806 ldr r0, [sp, #24] - ff24: 9001 str r0, [sp, #4] - ff26: 9500 str r5, [sp, #0] - ff28: 4630 mov r0, r6 - ff2a: 47a0 blx r4 -} - ff2c: b002 add sp, #8 - ff2e: bd70 pop {r4, r5, r6, pc} + fefc: 6806 ldr r6, [r0, #0] + fefe: 68b4 ldr r4, [r6, #8] + ff00: b154 cbz r4, ff18 + ff02: 461d mov r5, r3 + ff04: 4613 mov r3, r2 + ff06: 460a mov r2, r1 + ff08: 4601 mov r1, r0 + ff0a: 9806 ldr r0, [sp, #24] + ff0c: 9001 str r0, [sp, #4] + ff0e: 9500 str r5, [sp, #0] + ff10: 4630 mov r0, r6 + ff12: 47a0 blx r4 +} + ff14: b002 add sp, #8 + ff16: bd70 pop {r4, r5, r6, pc} lv_res_t res = LV_RES_INV; - ff30: 2000 movs r0, #0 - ff32: e7fb b.n ff2c + ff18: 2000 movs r0, #0 + ff1a: e7fb b.n ff14 -0000ff34 : +0000ff1c : if(dsc->decoder) { - ff34: 6803 ldr r3, [r0, #0] - ff36: b183 cbz r3, ff5a + ff1c: 6803 ldr r3, [r0, #0] + ff1e: b183 cbz r3, ff42 { - ff38: b510 push {r4, lr} - ff3a: 4604 mov r4, r0 + ff20: b510 push {r4, lr} + ff22: 4604 mov r4, r0 if(dsc->decoder->close_cb) dsc->decoder->close_cb(dsc->decoder, dsc); - ff3c: 68da ldr r2, [r3, #12] - ff3e: b112 cbz r2, ff46 - ff40: 4601 mov r1, r0 - ff42: 4618 mov r0, r3 - ff44: 4790 blx r2 + ff24: 68da ldr r2, [r3, #12] + ff26: b112 cbz r2, ff2e + ff28: 4601 mov r1, r0 + ff2a: 4618 mov r0, r3 + ff2c: 4790 blx r2 if(dsc->src_type == LV_IMG_SRC_FILE) { - ff46: 7aa3 ldrb r3, [r4, #10] - ff48: 2b01 cmp r3, #1 - ff4a: d000 beq.n ff4e - ff4c: bd10 pop {r4, pc} + ff2e: 7aa3 ldrb r3, [r4, #10] + ff30: 2b01 cmp r3, #1 + ff32: d000 beq.n ff36 + ff34: bd10 pop {r4, pc} lv_mem_free(dsc->src); - ff4e: 6860 ldr r0, [r4, #4] - ff50: 4b02 ldr r3, [pc, #8] ; (ff5c ) - ff52: 4798 blx r3 + ff36: 6860 ldr r0, [r4, #4] + ff38: 4b02 ldr r3, [pc, #8] ; (ff44 ) + ff3a: 4798 blx r3 dsc->src = NULL; - ff54: 2300 movs r3, #0 - ff56: 6063 str r3, [r4, #4] + ff3c: 2300 movs r3, #0 + ff3e: 6063 str r3, [r4, #4] } - ff58: e7f8 b.n ff4c - ff5a: 4770 bx lr - ff5c: 000124c5 .word 0x000124c5 + ff40: e7f8 b.n ff34 + ff42: 4770 bx lr + ff44: 000124ad .word 0x000124ad -0000ff60 : +0000ff48 : { - ff60: b530 push {r4, r5, lr} - ff62: b083 sub sp, #12 + ff48: b530 push {r4, r5, lr} + ff4a: b083 sub sp, #12 decoder = _lv_ll_ins_head(&LV_GC_ROOT(_lv_img_defoder_ll)); - ff64: 480d ldr r0, [pc, #52] ; (ff9c ) - ff66: 4b0e ldr r3, [pc, #56] ; (ffa0 ) - ff68: 4798 blx r3 - ff6a: 4604 mov r4, r0 + ff4c: 480d ldr r0, [pc, #52] ; (ff84 ) + ff4e: 4b0e ldr r3, [pc, #56] ; (ff88 ) + ff50: 4798 blx r3 + ff52: 4604 mov r4, r0 LV_ASSERT_MEM(decoder); - ff6c: 4b0d ldr r3, [pc, #52] ; (ffa4 ) - ff6e: 4798 blx r3 - ff70: b138 cbz r0, ff82 + ff54: 4b0d ldr r3, [pc, #52] ; (ff8c ) + ff56: 4798 blx r3 + ff58: b138 cbz r0, ff6a if(decoder == NULL) return NULL; - ff72: b11c cbz r4, ff7c + ff5a: b11c cbz r4, ff64 _lv_memset_00(decoder, sizeof(lv_img_decoder_t)); - ff74: 2110 movs r1, #16 - ff76: 4620 mov r0, r4 - ff78: 4b0b ldr r3, [pc, #44] ; (ffa8 ) - ff7a: 4798 blx r3 -} - ff7c: 4620 mov r0, r4 - ff7e: b003 add sp, #12 - ff80: bd30 pop {r4, r5, pc} + ff5c: 2110 movs r1, #16 + ff5e: 4620 mov r0, r4 + ff60: 4b0b ldr r3, [pc, #44] ; (ff90 ) + ff62: 4798 blx r3 +} + ff64: 4620 mov r0, r4 + ff66: b003 add sp, #12 + ff68: bd30 pop {r4, r5, pc} LV_ASSERT_MEM(decoder); - ff82: 4b0a ldr r3, [pc, #40] ; (ffac ) - ff84: 9300 str r3, [sp, #0] - ff86: 22c9 movs r2, #201 ; 0xc9 - ff88: 4909 ldr r1, [pc, #36] ; (ffb0 ) - ff8a: 2003 movs r0, #3 - ff8c: 4d09 ldr r5, [pc, #36] ; (ffb4 ) - ff8e: 47a8 blx r5 - ff90: 4622 mov r2, r4 - ff92: 2300 movs r3, #0 - ff94: 4808 ldr r0, [pc, #32] ; (ffb8 ) - ff96: 4909 ldr r1, [pc, #36] ; (ffbc ) - ff98: 4788 blx r1 - ff9a: e7fe b.n ff9a - ff9c: 20006ca4 .word 0x20006ca4 - ffa0: 00011f11 .word 0x00011f11 - ffa4: 000022b1 .word 0x000022b1 - ffa8: 00012b37 .word 0x00012b37 - ffac: 000252e8 .word 0x000252e8 - ffb0: 00025318 .word 0x00025318 - ffb4: 0001225d .word 0x0001225d - ffb8: 00023fd8 .word 0x00023fd8 - ffbc: 000022b9 .word 0x000022b9 - -0000ffc0 <_lv_img_decoder_init>: -{ - ffc0: b510 push {r4, lr} - ffc2: b082 sub sp, #8 + ff6a: 4b0a ldr r3, [pc, #40] ; (ff94 ) + ff6c: 9300 str r3, [sp, #0] + ff6e: 22c9 movs r2, #201 ; 0xc9 + ff70: 4909 ldr r1, [pc, #36] ; (ff98 ) + ff72: 2003 movs r0, #3 + ff74: 4d09 ldr r5, [pc, #36] ; (ff9c ) + ff76: 47a8 blx r5 + ff78: 4622 mov r2, r4 + ff7a: 2300 movs r3, #0 + ff7c: 4808 ldr r0, [pc, #32] ; (ffa0 ) + ff7e: 4909 ldr r1, [pc, #36] ; (ffa4 ) + ff80: 4788 blx r1 + ff82: e7fe b.n ff82 + ff84: 20006ca4 .word 0x20006ca4 + ff88: 00011ef9 .word 0x00011ef9 + ff8c: 00002299 .word 0x00002299 + ff90: 00012b1f .word 0x00012b1f + ff94: 000252d0 .word 0x000252d0 + ff98: 00025300 .word 0x00025300 + ff9c: 00012245 .word 0x00012245 + ffa0: 00023fc0 .word 0x00023fc0 + ffa4: 000022a1 .word 0x000022a1 + +0000ffa8 <_lv_img_decoder_init>: +{ + ffa8: b510 push {r4, lr} + ffaa: b082 sub sp, #8 _lv_ll_init(&LV_GC_ROOT(_lv_img_defoder_ll), sizeof(lv_img_decoder_t)); - ffc4: 2110 movs r1, #16 - ffc6: 4814 ldr r0, [pc, #80] ; (10018 ) - ffc8: 4b14 ldr r3, [pc, #80] ; (1001c ) - ffca: 4798 blx r3 + ffac: 2110 movs r1, #16 + ffae: 4814 ldr r0, [pc, #80] ; (10000 ) + ffb0: 4b14 ldr r3, [pc, #80] ; (10004 ) + ffb2: 4798 blx r3 decoder = lv_img_decoder_create(); - ffcc: 4b14 ldr r3, [pc, #80] ; (10020 ) - ffce: 4798 blx r3 + ffb4: 4b14 ldr r3, [pc, #80] ; (10008 ) + ffb6: 4798 blx r3 if(decoder == NULL) { - ffd0: b148 cbz r0, ffe6 <_lv_img_decoder_init+0x26> + ffb8: b148 cbz r0, ffce <_lv_img_decoder_init+0x26> decoder->info_cb = info_cb; - ffd2: 4a14 ldr r2, [pc, #80] ; (10024 ) - ffd4: 6002 str r2, [r0, #0] + ffba: 4a14 ldr r2, [pc, #80] ; (1000c ) + ffbc: 6002 str r2, [r0, #0] decoder->open_cb = open_cb; - ffd6: 4a14 ldr r2, [pc, #80] ; (10028 ) - ffd8: 6042 str r2, [r0, #4] + ffbe: 4a14 ldr r2, [pc, #80] ; (10010 ) + ffc0: 6042 str r2, [r0, #4] decoder->read_line_cb = read_line_cb; - ffda: 4a14 ldr r2, [pc, #80] ; (1002c ) - ffdc: 6082 str r2, [r0, #8] + ffc2: 4a14 ldr r2, [pc, #80] ; (10014 ) + ffc4: 6082 str r2, [r0, #8] decoder->close_cb = close_cb; - ffde: 4a14 ldr r2, [pc, #80] ; (10030 ) - ffe0: 60c2 str r2, [r0, #12] + ffc6: 4a14 ldr r2, [pc, #80] ; (10018 ) + ffc8: 60c2 str r2, [r0, #12] } - ffe2: b002 add sp, #8 - ffe4: bd10 pop {r4, pc} + ffca: b002 add sp, #8 + ffcc: bd10 pop {r4, pc} LV_LOG_WARN("lv_img_decoder_init: out of memory"); - ffe6: 4b13 ldr r3, [pc, #76] ; (10034 ) - ffe8: 9300 str r3, [sp, #0] - ffea: 4b13 ldr r3, [pc, #76] ; (10038 ) - ffec: 2247 movs r2, #71 ; 0x47 - ffee: 4913 ldr r1, [pc, #76] ; (1003c ) - fff0: 2002 movs r0, #2 - fff2: 4c13 ldr r4, [pc, #76] ; (10040 ) - fff4: 47a0 blx r4 + ffce: 4b13 ldr r3, [pc, #76] ; (1001c ) + ffd0: 9300 str r3, [sp, #0] + ffd2: 4b13 ldr r3, [pc, #76] ; (10020 ) + ffd4: 2247 movs r2, #71 ; 0x47 + ffd6: 4913 ldr r1, [pc, #76] ; (10024 ) + ffd8: 2002 movs r0, #2 + ffda: 4c13 ldr r4, [pc, #76] ; (10028 ) + ffdc: 47a0 blx r4 LV_ASSERT_MEM(decoder); - fff6: 2000 movs r0, #0 - fff8: 4b12 ldr r3, [pc, #72] ; (10044 ) - fffa: 4798 blx r3 - fffc: 2800 cmp r0, #0 - fffe: d1f0 bne.n ffe2 <_lv_img_decoder_init+0x22> - 10000: 4b0d ldr r3, [pc, #52] ; (10038 ) - 10002: 9300 str r3, [sp, #0] - 10004: 2248 movs r2, #72 ; 0x48 - 10006: 490d ldr r1, [pc, #52] ; (1003c ) - 10008: 2003 movs r0, #3 - 1000a: 47a0 blx r4 - 1000c: 2200 movs r2, #0 - 1000e: 2300 movs r3, #0 - 10010: 480d ldr r0, [pc, #52] ; (10048 ) - 10012: 490e ldr r1, [pc, #56] ; (1004c ) - 10014: 4788 blx r1 - 10016: e7fe b.n 10016 - 10018: 20006ca4 .word 0x20006ca4 - 1001c: 00011ef9 .word 0x00011ef9 - 10020: 0000ff61 .word 0x0000ff61 - 10024: 0000f4ed .word 0x0000f4ed - 10028: 0000f625 .word 0x0000f625 - 1002c: 0000f9c5 .word 0x0000f9c5 - 10030: 0000f5e9 .word 0x0000f5e9 - 10034: 000254a0 .word 0x000254a0 - 10038: 00025300 .word 0x00025300 - 1003c: 00025318 .word 0x00025318 - 10040: 0001225d .word 0x0001225d - 10044: 000022b1 .word 0x000022b1 - 10048: 00023fd8 .word 0x00023fd8 - 1004c: 000022b9 .word 0x000022b9 - -00010050 : + ffde: 2000 movs r0, #0 + ffe0: 4b12 ldr r3, [pc, #72] ; (1002c ) + ffe2: 4798 blx r3 + ffe4: 2800 cmp r0, #0 + ffe6: d1f0 bne.n ffca <_lv_img_decoder_init+0x22> + ffe8: 4b0d ldr r3, [pc, #52] ; (10020 ) + ffea: 9300 str r3, [sp, #0] + ffec: 2248 movs r2, #72 ; 0x48 + ffee: 490d ldr r1, [pc, #52] ; (10024 ) + fff0: 2003 movs r0, #3 + fff2: 47a0 blx r4 + fff4: 2200 movs r2, #0 + fff6: 2300 movs r3, #0 + fff8: 480d ldr r0, [pc, #52] ; (10030 ) + fffa: 490e ldr r1, [pc, #56] ; (10034 ) + fffc: 4788 blx r1 + fffe: e7fe b.n fffe <_lv_img_decoder_init+0x56> + 10000: 20006ca4 .word 0x20006ca4 + 10004: 00011ee1 .word 0x00011ee1 + 10008: 0000ff49 .word 0x0000ff49 + 1000c: 0000f4d5 .word 0x0000f4d5 + 10010: 0000f60d .word 0x0000f60d + 10014: 0000f9ad .word 0x0000f9ad + 10018: 0000f5d1 .word 0x0000f5d1 + 1001c: 00025488 .word 0x00025488 + 10020: 000252e8 .word 0x000252e8 + 10024: 00025300 .word 0x00025300 + 10028: 00012245 .word 0x00012245 + 1002c: 00002299 .word 0x00002299 + 10030: 00023fc0 .word 0x00023fc0 + 10034: 000022a1 .word 0x000022a1 + +00010038 : * @param font_p pointer to a font * @param letter an UNICODE character code * @return pointer to the bitmap of the letter */ const uint8_t * lv_font_get_glyph_bitmap(const lv_font_t * font_p, uint32_t letter) { - 10050: b508 push {r3, lr} + 10038: b508 push {r3, lr} return font_p->get_glyph_bitmap(font_p, letter); - 10052: 6843 ldr r3, [r0, #4] - 10054: 4798 blx r3 + 1003a: 6843 ldr r3, [r0, #4] + 1003c: 4798 blx r3 } - 10056: bd08 pop {r3, pc} + 1003e: bd08 pop {r3, pc} -00010058 : +00010040 : * @return true: descriptor is successfully loaded into `dsc_out`. * false: the letter was not found, no data is loaded to `dsc_out` */ bool lv_font_get_glyph_dsc(const lv_font_t * font_p, lv_font_glyph_dsc_t * dsc_out, uint32_t letter, uint32_t letter_next) { - 10058: b510 push {r4, lr} + 10040: b510 push {r4, lr} return font_p->get_glyph_dsc(font_p, dsc_out, letter, letter_next); - 1005a: 6804 ldr r4, [r0, #0] - 1005c: 47a0 blx r4 + 10042: 6804 ldr r4, [r0, #0] + 10044: 47a0 blx r4 } - 1005e: bd10 pop {r4, pc} + 10046: bd10 pop {r4, pc} -00010060 : +00010048 : * @param letter an UNICODE letter * @param letter_next the next letter after `letter`. Used for kerning * @return the width of the glyph */ uint16_t lv_font_get_glyph_width(const lv_font_t * font, uint32_t letter, uint32_t letter_next) { - 10060: b510 push {r4, lr} - 10062: b084 sub sp, #16 + 10048: b510 push {r4, lr} + 1004a: b084 sub sp, #16 lv_font_glyph_dsc_t g; bool ret; ret = lv_font_get_glyph_dsc(font, &g, letter, letter_next); - 10064: 4613 mov r3, r2 - 10066: 460a mov r2, r1 - 10068: a901 add r1, sp, #4 - 1006a: 4c04 ldr r4, [pc, #16] ; (1007c ) - 1006c: 47a0 blx r4 + 1004c: 4613 mov r3, r2 + 1004e: 460a mov r2, r1 + 10050: a901 add r1, sp, #4 + 10052: 4c04 ldr r4, [pc, #16] ; (10064 ) + 10054: 47a0 blx r4 if(ret) return g.adv_w; - 1006e: b118 cbz r0, 10078 - 10070: f8bd 0004 ldrh.w r0, [sp, #4] + 10056: b118 cbz r0, 10060 + 10058: f8bd 0004 ldrh.w r0, [sp, #4] else return 0; } - 10074: b004 add sp, #16 - 10076: bd10 pop {r4, pc} + 1005c: b004 add sp, #16 + 1005e: bd10 pop {r4, pc} else return 0; - 10078: 2000 movs r0, #0 - 1007a: e7fb b.n 10074 - 1007c: 00010059 .word 0x00010059 + 10060: 2000 movs r0, #0 + 10062: e7fb b.n 1005c + 10064: 00010041 .word 0x00010041 -00010080 : +00010068 : { const uint8_t * ref8_p = ref; const uint8_t * element8_p = element; /*If the MSB is different it will matter. If not return the diff. of the LSB*/ if(ref8_p[0] != element8_p[0]) return (int32_t)ref8_p[0] - element8_p[0]; - 10080: 7803 ldrb r3, [r0, #0] - 10082: 780a ldrb r2, [r1, #0] - 10084: 4293 cmp r3, r2 - 10086: bf11 iteee ne - 10088: 1a98 subne r0, r3, r2 + 10068: 7803 ldrb r3, [r0, #0] + 1006a: 780a ldrb r2, [r1, #0] + 1006c: 4293 cmp r3, r2 + 1006e: bf11 iteee ne + 10070: 1a98 subne r0, r3, r2 else return (int32_t) ref8_p[1] - element8_p[1]; - 1008a: 7840 ldrbeq r0, [r0, #1] - 1008c: 784b ldrbeq r3, [r1, #1] - 1008e: 1ac0 subeq r0, r0, r3 + 10072: 7840 ldrbeq r0, [r0, #1] + 10074: 784b ldrbeq r3, [r1, #1] + 10076: 1ac0 subeq r0, r0, r3 } - 10090: 4770 bx lr + 10078: 4770 bx lr -00010092 : +0001007a : { const uint16_t * ref16_p = ref; const uint16_t * element16_p = element; /*If the MSB is different it will matter. If not return the diff. of the LSB*/ if(ref16_p[0] != element16_p[0]) return (int32_t)ref16_p[0] - element16_p[0]; - 10092: 8803 ldrh r3, [r0, #0] - 10094: 880a ldrh r2, [r1, #0] - 10096: 4293 cmp r3, r2 - 10098: bf11 iteee ne - 1009a: 1a98 subne r0, r3, r2 + 1007a: 8803 ldrh r3, [r0, #0] + 1007c: 880a ldrh r2, [r1, #0] + 1007e: 4293 cmp r3, r2 + 10080: bf11 iteee ne + 10082: 1a98 subne r0, r3, r2 else return (int32_t) ref16_p[1] - element16_p[1]; - 1009c: 8840 ldrheq r0, [r0, #2] - 1009e: 884b ldrheq r3, [r1, #2] - 100a0: 1ac0 subeq r0, r0, r3 + 10084: 8840 ldrheq r0, [r0, #2] + 10086: 884b ldrheq r3, [r1, #2] + 10088: 1ac0 subeq r0, r0, r3 } - 100a2: 4770 bx lr + 1008a: 4770 bx lr -000100a4 : +0001008c : * @retval > 0 Reference is less than element. * */ static int32_t unicode_list_compare(const void * ref, const void * element) { return ((int32_t)(*(uint16_t *)ref)) - ((int32_t)(*(uint16_t *)element)); - 100a4: 8800 ldrh r0, [r0, #0] - 100a6: 880b ldrh r3, [r1, #0] + 1008c: 8800 ldrh r0, [r0, #0] + 1008e: 880b ldrh r3, [r1, #0] } - 100a8: 1ac0 subs r0, r0, r3 - 100aa: 4770 bx lr + 10090: 1ac0 subs r0, r0, r3 + 10092: 4770 bx lr -000100ac : +00010094 : if(letter == '\0') return 0; - 100ac: 460b mov r3, r1 - 100ae: 2900 cmp r1, #0 - 100b0: d06c beq.n 1018c + 10094: 460b mov r3, r1 + 10096: 2900 cmp r1, #0 + 10098: d06c beq.n 10174 { - 100b2: b5f0 push {r4, r5, r6, r7, lr} - 100b4: b085 sub sp, #20 + 1009a: b5f0 push {r4, r5, r6, r7, lr} + 1009c: b085 sub sp, #20 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 100b6: 6904 ldr r4, [r0, #16] + 1009e: 6904 ldr r4, [r0, #16] if(letter == fdsc->last_letter) return fdsc->last_glyph_id; - 100b8: 69a2 ldr r2, [r4, #24] - 100ba: 4291 cmp r1, r2 - 100bc: d015 beq.n 100ea + 100a0: 69a2 ldr r2, [r4, #24] + 100a2: 4291 cmp r1, r2 + 100a4: d015 beq.n 100d2 for(i = 0; i < fdsc->cmap_num; i++) { - 100be: 8a67 ldrh r7, [r4, #18] - 100c0: f3c7 0709 ubfx r7, r7, #0, #10 - 100c4: 2f00 cmp r7, #0 - 100c6: d05d beq.n 10184 + 100a6: 8a67 ldrh r7, [r4, #18] + 100a8: f3c7 0709 ubfx r7, r7, #0, #10 + 100ac: 2f00 cmp r7, #0 + 100ae: d05d beq.n 1016c uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 100c8: 68a1 ldr r1, [r4, #8] - 100ca: 6808 ldr r0, [r1, #0] - 100cc: 1a1a subs r2, r3, r0 - 100ce: 9203 str r2, [sp, #12] + 100b0: 68a1 ldr r1, [r4, #8] + 100b2: 6808 ldr r0, [r1, #0] + 100b4: 1a1a subs r2, r3, r0 + 100b6: 9203 str r2, [sp, #12] if(rcp > fdsc->cmaps[i].range_length) continue; - 100d0: 8888 ldrh r0, [r1, #4] - 100d2: 4282 cmp r2, r0 - 100d4: d80b bhi.n 100ee + 100b8: 8888 ldrh r0, [r1, #4] + 100ba: 4282 cmp r2, r0 + 100bc: d80b bhi.n 100d6 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 100d6: 2600 movs r6, #0 - 100d8: 461d mov r5, r3 + 100be: 2600 movs r6, #0 + 100c0: 461d mov r5, r3 if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY) { - 100da: 7c8b ldrb r3, [r1, #18] - 100dc: b9e3 cbnz r3, 10118 + 100c2: 7c8b ldrb r3, [r1, #18] + 100c4: b9e3 cbnz r3, 10100 glyph_id = fdsc->cmaps[i].glyph_id_start + rcp; - 100de: 88c8 ldrh r0, [r1, #6] - 100e0: 4410 add r0, r2 + 100c6: 88c8 ldrh r0, [r1, #6] + 100c8: 4410 add r0, r2 fdsc->last_letter = letter; - 100e2: 61a5 str r5, [r4, #24] + 100ca: 61a5 str r5, [r4, #24] fdsc->last_glyph_id = glyph_id; - 100e4: 61e0 str r0, [r4, #28] + 100cc: 61e0 str r0, [r4, #28] } - 100e6: b005 add sp, #20 - 100e8: bdf0 pop {r4, r5, r6, r7, pc} + 100ce: b005 add sp, #20 + 100d0: bdf0 pop {r4, r5, r6, r7, pc} if(letter == fdsc->last_letter) return fdsc->last_glyph_id; - 100ea: 69e0 ldr r0, [r4, #28] - 100ec: e7fb b.n 100e6 + 100d2: 69e0 ldr r0, [r4, #28] + 100d4: e7fb b.n 100ce if(rcp > fdsc->cmaps[i].range_length) continue; - 100ee: 2500 movs r5, #0 + 100d6: 2500 movs r5, #0 for(i = 0; i < fdsc->cmap_num; i++) { - 100f0: 3501 adds r5, #1 - 100f2: b2ad uxth r5, r5 - 100f4: 42bd cmp r5, r7 - 100f6: da45 bge.n 10184 + 100d8: 3501 adds r5, #1 + 100da: b2ad uxth r5, r5 + 100dc: 42bd cmp r5, r7 + 100de: da45 bge.n 1016c uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 100f8: eb05 0085 add.w r0, r5, r5, lsl #2 - 100fc: 0082 lsls r2, r0, #2 - 100fe: 4616 mov r6, r2 - 10100: eb01 0e02 add.w lr, r1, r2 - 10104: f851 2020 ldr.w r2, [r1, r0, lsl #2] - 10108: 1a9a subs r2, r3, r2 - 1010a: 9203 str r2, [sp, #12] + 100e0: eb05 0085 add.w r0, r5, r5, lsl #2 + 100e4: 0082 lsls r2, r0, #2 + 100e6: 4616 mov r6, r2 + 100e8: eb01 0e02 add.w lr, r1, r2 + 100ec: f851 2020 ldr.w r2, [r1, r0, lsl #2] + 100f0: 1a9a subs r2, r3, r2 + 100f2: 9203 str r2, [sp, #12] if(rcp > fdsc->cmaps[i].range_length) continue; - 1010c: f8be 0004 ldrh.w r0, [lr, #4] - 10110: 4282 cmp r2, r0 - 10112: d8ed bhi.n 100f0 + 100f4: f8be 0004 ldrh.w r0, [lr, #4] + 100f8: 4282 cmp r2, r0 + 100fa: d8ed bhi.n 100d8 uint32_t rcp = letter - fdsc->cmaps[i].range_start; - 10114: 4671 mov r1, lr - 10116: e7df b.n 100d8 + 100fc: 4671 mov r1, lr + 100fe: e7df b.n 100c0 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_FORMAT0_FULL) { - 10118: 2b01 cmp r3, #1 - 1011a: d005 beq.n 10128 + 10100: 2b01 cmp r3, #1 + 10102: d005 beq.n 10110 else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_TINY) { - 1011c: 2b02 cmp r3, #2 - 1011e: d008 beq.n 10132 + 10104: 2b02 cmp r3, #2 + 10106: d008 beq.n 1011a else if(fdsc->cmaps[i].type == LV_FONT_FMT_TXT_CMAP_SPARSE_FULL) { - 10120: 2b03 cmp r3, #3 - 10122: d018 beq.n 10156 + 10108: 2b03 cmp r3, #3 + 1010a: d018 beq.n 1013e uint32_t glyph_id = 0; - 10124: 2000 movs r0, #0 - 10126: e7dc b.n 100e2 + 1010c: 2000 movs r0, #0 + 1010e: e7dc b.n 100ca glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_8[rcp]; - 10128: 68cb ldr r3, [r1, #12] - 1012a: 5c9b ldrb r3, [r3, r2] - 1012c: 88c8 ldrh r0, [r1, #6] - 1012e: 4418 add r0, r3 - 10130: e7d7 b.n 100e2 + 10110: 68cb ldr r3, [r1, #12] + 10112: 5c9b ldrb r3, [r3, r2] + 10114: 88c8 ldrh r0, [r1, #6] + 10116: 4418 add r0, r3 + 10118: e7d7 b.n 100ca uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, - 10132: 8a0a ldrh r2, [r1, #16] - 10134: 6889 ldr r1, [r1, #8] - 10136: 4b16 ldr r3, [pc, #88] ; (10190 ) - 10138: 9300 str r3, [sp, #0] - 1013a: 2302 movs r3, #2 - 1013c: a803 add r0, sp, #12 - 1013e: 4f15 ldr r7, [pc, #84] ; (10194 ) - 10140: 47b8 blx r7 + 1011a: 8a0a ldrh r2, [r1, #16] + 1011c: 6889 ldr r1, [r1, #8] + 1011e: 4b16 ldr r3, [pc, #88] ; (10178 ) + 10120: 9300 str r3, [sp, #0] + 10122: 2302 movs r3, #2 + 10124: a803 add r0, sp, #12 + 10126: 4f15 ldr r7, [pc, #84] ; (1017c ) + 10128: 47b8 blx r7 if(p) { - 10142: 4603 mov r3, r0 - 10144: b1d0 cbz r0, 1017c + 1012a: 4603 mov r3, r0 + 1012c: b1d0 cbz r0, 10164 lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); - 10146: 68a2 ldr r2, [r4, #8] - 10148: 4416 add r6, r2 - 1014a: 68b0 ldr r0, [r6, #8] - 1014c: 1a18 subs r0, r3, r0 + 1012e: 68a2 ldr r2, [r4, #8] + 10130: 4416 add r6, r2 + 10132: 68b0 ldr r0, [r6, #8] + 10134: 1a18 subs r0, r3, r0 glyph_id = fdsc->cmaps[i].glyph_id_start + ofs; - 1014e: 88f3 ldrh r3, [r6, #6] - 10150: eb03 0050 add.w r0, r3, r0, lsr #1 - 10154: e7c5 b.n 100e2 + 10136: 88f3 ldrh r3, [r6, #6] + 10138: eb03 0050 add.w r0, r3, r0, lsr #1 + 1013c: e7c5 b.n 100ca uint8_t * p = _lv_utils_bsearch(&rcp, fdsc->cmaps[i].unicode_list, fdsc->cmaps[i].list_length, - 10156: 8a0a ldrh r2, [r1, #16] - 10158: 6889 ldr r1, [r1, #8] - 1015a: 4b0d ldr r3, [pc, #52] ; (10190 ) - 1015c: 9300 str r3, [sp, #0] - 1015e: 2302 movs r3, #2 - 10160: a803 add r0, sp, #12 - 10162: 4f0c ldr r7, [pc, #48] ; (10194 ) - 10164: 47b8 blx r7 + 1013e: 8a0a ldrh r2, [r1, #16] + 10140: 6889 ldr r1, [r1, #8] + 10142: 4b0d ldr r3, [pc, #52] ; (10178 ) + 10144: 9300 str r3, [sp, #0] + 10146: 2302 movs r3, #2 + 10148: a803 add r0, sp, #12 + 1014a: 4f0c ldr r7, [pc, #48] ; (1017c ) + 1014c: 47b8 blx r7 if(p) { - 10166: b158 cbz r0, 10180 + 1014e: b158 cbz r0, 10168 lv_uintptr_t ofs = (lv_uintptr_t)(p - (uint8_t *) fdsc->cmaps[i].unicode_list); - 10168: 68a2 ldr r2, [r4, #8] - 1016a: 4416 add r6, r2 - 1016c: 68b2 ldr r2, [r6, #8] - 1016e: 1a83 subs r3, r0, r2 + 10150: 68a2 ldr r2, [r4, #8] + 10152: 4416 add r6, r2 + 10154: 68b2 ldr r2, [r6, #8] + 10156: 1a83 subs r3, r0, r2 ofs = ofs >> 1; /*The list stores `uint16_t` so the get the index divide by 2*/ - 10170: 085b lsrs r3, r3, #1 + 10158: 085b lsrs r3, r3, #1 glyph_id = fdsc->cmaps[i].glyph_id_start + gid_ofs_16[ofs]; - 10172: 68f2 ldr r2, [r6, #12] - 10174: 5cd3 ldrb r3, [r2, r3] - 10176: 88f0 ldrh r0, [r6, #6] - 10178: 4418 add r0, r3 - 1017a: e7b2 b.n 100e2 + 1015a: 68f2 ldr r2, [r6, #12] + 1015c: 5cd3 ldrb r3, [r2, r3] + 1015e: 88f0 ldrh r0, [r6, #6] + 10160: 4418 add r0, r3 + 10162: e7b2 b.n 100ca uint32_t glyph_id = 0; - 1017c: 2000 movs r0, #0 - 1017e: e7b0 b.n 100e2 - 10180: 2000 movs r0, #0 - 10182: e7ae b.n 100e2 + 10164: 2000 movs r0, #0 + 10166: e7b0 b.n 100ca + 10168: 2000 movs r0, #0 + 1016a: e7ae b.n 100ca fdsc->last_letter = letter; - 10184: 61a3 str r3, [r4, #24] + 1016c: 61a3 str r3, [r4, #24] fdsc->last_glyph_id = 0; - 10186: 2000 movs r0, #0 - 10188: 61e0 str r0, [r4, #28] + 1016e: 2000 movs r0, #0 + 10170: 61e0 str r0, [r4, #28] return 0; - 1018a: e7ac b.n 100e6 + 10172: e7ac b.n 100ce if(letter == '\0') return 0; - 1018c: 4608 mov r0, r1 - 1018e: 4770 bx lr - 10190: 000100a5 .word 0x000100a5 - 10194: 00014185 .word 0x00014185 + 10174: 4608 mov r0, r1 + 10176: 4770 bx lr + 10178: 0001008d .word 0x0001008d + 1017c: 0001416d .word 0x0001416d -00010198 : +00010180 : { - 10198: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1019c: b09f sub sp, #124 ; 0x7c + 10180: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 10184: b09f sub sp, #124 ; 0x7c if(unicode_letter == '\t') unicode_letter = ' '; - 1019e: 2909 cmp r1, #9 + 10186: 2909 cmp r1, #9 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 101a0: 6905 ldr r5, [r0, #16] + 10188: 6905 ldr r5, [r0, #16] uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - 101a2: bf08 it eq - 101a4: 2120 moveq r1, #32 - 101a6: 4ba0 ldr r3, [pc, #640] ; (10428 ) - 101a8: 4798 blx r3 + 1018a: bf08 it eq + 1018c: 2120 moveq r1, #32 + 1018e: 4ba0 ldr r3, [pc, #640] ; (10410 ) + 10190: 4798 blx r3 if(!gid) return NULL; - 101aa: 2800 cmp r0, #0 - 101ac: f000 84ea beq.w 10b84 - 101b0: 4680 mov r8, r0 + 10192: 2800 cmp r0, #0 + 10194: f000 84ea beq.w 10b6c + 10198: 4680 mov r8, r0 const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - 101b2: 686f ldr r7, [r5, #4] - 101b4: eb07 06c0 add.w r6, r7, r0, lsl #3 + 1019a: 686f ldr r7, [r5, #4] + 1019c: eb07 06c0 add.w r6, r7, r0, lsl #3 if(fdsc->bitmap_format == LV_FONT_FMT_TXT_PLAIN) { - 101b8: 7d2b ldrb r3, [r5, #20] - 101ba: f013 0f03 tst.w r3, #3 - 101be: d10b bne.n 101d8 + 101a0: 7d2b ldrb r3, [r5, #20] + 101a2: f013 0f03 tst.w r3, #3 + 101a6: d10b bne.n 101c0 if(gdsc) return &fdsc->glyph_bitmap[gdsc->bitmap_index]; - 101c0: 2e00 cmp r6, #0 - 101c2: f000 84e2 beq.w 10b8a - 101c6: f857 3030 ldr.w r3, [r7, r0, lsl #3] - 101ca: f3c3 0313 ubfx r3, r3, #0, #20 - 101ce: 6828 ldr r0, [r5, #0] - 101d0: 4418 add r0, r3 -} - 101d2: b01f add sp, #124 ; 0x7c - 101d4: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 101a8: 2e00 cmp r6, #0 + 101aa: f000 84e2 beq.w 10b72 + 101ae: f857 3030 ldr.w r3, [r7, r0, lsl #3] + 101b2: f3c3 0313 ubfx r3, r3, #0, #20 + 101b6: 6828 ldr r0, [r5, #0] + 101b8: 4418 add r0, r3 +} + 101ba: b01f add sp, #124 ; 0x7c + 101bc: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} uint32_t gsize = gdsc->box_w * gdsc->box_h; - 101d8: 7933 ldrb r3, [r6, #4] - 101da: 7974 ldrb r4, [r6, #5] - 101dc: fb04 f403 mul.w r4, r4, r3 + 101c0: 7933 ldrb r3, [r6, #4] + 101c2: 7974 ldrb r4, [r6, #5] + 101c4: fb04 f403 mul.w r4, r4, r3 if(gsize == 0) return NULL; - 101e0: 2c00 cmp r4, #0 - 101e2: f000 84d5 beq.w 10b90 + 101c8: 2c00 cmp r4, #0 + 101ca: f000 84d5 beq.w 10b78 switch(fdsc->bpp) { - 101e6: 7ceb ldrb r3, [r5, #19] - 101e8: f3c3 0383 ubfx r3, r3, #2, #4 - 101ec: 3b01 subs r3, #1 - 101ee: 2b03 cmp r3, #3 - 101f0: d805 bhi.n 101fe - 101f2: e8df f003 tbb [pc, r3] - 101f6: 7502 .short 0x7502 - 101f8: 7b78 .short 0x7b78 + 101ce: 7ceb ldrb r3, [r5, #19] + 101d0: f3c3 0383 ubfx r3, r3, #2, #4 + 101d4: 3b01 subs r3, #1 + 101d6: 2b03 cmp r3, #3 + 101d8: d805 bhi.n 101e6 + 101da: e8df f003 tbb [pc, r3] + 101de: 7502 .short 0x7502 + 101e0: 7b78 .short 0x7b78 buf_size = (gsize + 7) >> 3; - 101fa: 3407 adds r4, #7 - 101fc: 08e4 lsrs r4, r4, #3 + 101e2: 3407 adds r4, #7 + 101e4: 08e4 lsrs r4, r4, #3 if(_lv_mem_get_size(decompr_buf) < buf_size) { - 101fe: 4b8b ldr r3, [pc, #556] ; (1042c ) - 10200: 6818 ldr r0, [r3, #0] - 10202: 4b8b ldr r3, [pc, #556] ; (10430 ) - 10204: 4798 blx r3 - 10206: 4284 cmp r4, r0 - 10208: d911 bls.n 1022e + 101e6: 4b8b ldr r3, [pc, #556] ; (10414 ) + 101e8: 6818 ldr r0, [r3, #0] + 101ea: 4b8b ldr r3, [pc, #556] ; (10418 ) + 101ec: 4798 blx r3 + 101ee: 4284 cmp r4, r0 + 101f0: d911 bls.n 10216 decompr_buf = lv_mem_realloc(decompr_buf, buf_size); - 1020a: f8df 9220 ldr.w r9, [pc, #544] ; 1042c - 1020e: 4621 mov r1, r4 - 10210: f8d9 0000 ldr.w r0, [r9] - 10214: 4b87 ldr r3, [pc, #540] ; (10434 ) - 10216: 4798 blx r3 - 10218: f8c9 0000 str.w r0, [r9] + 101f2: f8df 9220 ldr.w r9, [pc, #544] ; 10414 + 101f6: 4621 mov r1, r4 + 101f8: f8d9 0000 ldr.w r0, [r9] + 101fc: 4b87 ldr r3, [pc, #540] ; (1041c ) + 101fe: 4798 blx r3 + 10200: f8c9 0000 str.w r0, [r9] LV_ASSERT_MEM(decompr_buf); - 1021c: 4b86 ldr r3, [pc, #536] ; (10438 ) - 1021e: 4798 blx r3 - 10220: 2800 cmp r0, #0 - 10222: d066 beq.n 102f2 + 10204: 4b86 ldr r3, [pc, #536] ; (10420 ) + 10206: 4798 blx r3 + 10208: 2800 cmp r0, #0 + 1020a: d066 beq.n 102da if(decompr_buf == NULL) return NULL; - 10224: 4b81 ldr r3, [pc, #516] ; (1042c ) - 10226: 681b ldr r3, [r3, #0] - 10228: 2b00 cmp r3, #0 - 1022a: f000 84b4 beq.w 10b96 + 1020c: 4b81 ldr r3, [pc, #516] ; (10414 ) + 1020e: 681b ldr r3, [r3, #0] + 10210: 2b00 cmp r3, #0 + 10212: f000 84b4 beq.w 10b7e decompress(&fdsc->glyph_bitmap[gdsc->bitmap_index], decompr_buf, gdsc->box_w, gdsc->box_h, (uint8_t)fdsc->bpp); - 1022e: f857 1038 ldr.w r1, [r7, r8, lsl #3] - 10232: f3c1 0113 ubfx r1, r1, #0, #20 - 10236: 682b ldr r3, [r5, #0] - 10238: 4419 add r1, r3 - 1023a: 4b7c ldr r3, [pc, #496] ; (1042c ) - 1023c: f8d3 9000 ldr.w r9, [r3] - 10240: 7933 ldrb r3, [r6, #4] - 10242: 930c str r3, [sp, #48] ; 0x30 - 10244: 469b mov fp, r3 - 10246: b21a sxth r2, r3 - 10248: 4617 mov r7, r2 - 1024a: 9218 str r2, [sp, #96] ; 0x60 - 1024c: 7972 ldrb r2, [r6, #5] - 1024e: 9215 str r2, [sp, #84] ; 0x54 - 10250: 7cea ldrb r2, [r5, #19] - 10252: f3c2 0283 ubfx r2, r2, #2, #4 - 10256: b2d3 uxtb r3, r2 - 10258: 930f str r3, [sp, #60] ; 0x3c + 10216: f857 1038 ldr.w r1, [r7, r8, lsl #3] + 1021a: f3c1 0113 ubfx r1, r1, #0, #20 + 1021e: 682b ldr r3, [r5, #0] + 10220: 4419 add r1, r3 + 10222: 4b7c ldr r3, [pc, #496] ; (10414 ) + 10224: f8d3 9000 ldr.w r9, [r3] + 10228: 7933 ldrb r3, [r6, #4] + 1022a: 930c str r3, [sp, #48] ; 0x30 + 1022c: 469b mov fp, r3 + 1022e: b21a sxth r2, r3 + 10230: 4617 mov r7, r2 + 10232: 9218 str r2, [sp, #96] ; 0x60 + 10234: 7972 ldrb r2, [r6, #5] + 10236: 9215 str r2, [sp, #84] ; 0x54 + 10238: 7cea ldrb r2, [r5, #19] + 1023a: f3c2 0283 ubfx r2, r2, #2, #4 + 1023e: b2d3 uxtb r3, r2 + 10240: 930f str r3, [sp, #60] ; 0x3c if(bpp == 3) wr_size = 4; - 1025a: 2b03 cmp r3, #3 - 1025c: bf14 ite ne - 1025e: 4618 movne r0, r3 - 10260: 2004 moveq r0, #4 - 10262: 9008 str r0, [sp, #32] + 10242: 2b03 cmp r3, #3 + 10244: bf14 ite ne + 10246: 4618 movne r0, r3 + 10248: 2004 moveq r0, #4 + 1024a: 9008 str r0, [sp, #32] rle_in = in; - 10264: 4b71 ldr r3, [pc, #452] ; (1042c ) - 10266: 6059 str r1, [r3, #4] + 1024c: 4b71 ldr r3, [pc, #452] ; (10414 ) + 1024e: 6059 str r1, [r3, #4] rle_bpp = bpp; - 10268: 721a strb r2, [r3, #8] + 10250: 721a strb r2, [r3, #8] rle_state = RLE_STATE_SINGLE; - 1026a: 2200 movs r2, #0 - 1026c: 725a strb r2, [r3, #9] + 10252: 2200 movs r2, #0 + 10254: 725a strb r2, [r3, #9] rle_rdp = 0; - 1026e: 60da str r2, [r3, #12] + 10256: 60da str r2, [r3, #12] rle_prev_v = 0; - 10270: 741a strb r2, [r3, #16] + 10258: 741a strb r2, [r3, #16] rle_cnt = 0; - 10272: 745a strb r2, [r3, #17] + 1025a: 745a strb r2, [r3, #17] uint8_t * line_buf1 = _lv_mem_buf_get(w); - 10274: 4658 mov r0, fp - 10276: 4c71 ldr r4, [pc, #452] ; (1043c ) - 10278: 47a0 blx r4 - 1027a: 9016 str r0, [sp, #88] ; 0x58 + 1025c: 4658 mov r0, fp + 1025e: 4c71 ldr r4, [pc, #452] ; (10424 ) + 10260: 47a0 blx r4 + 10262: 9016 str r0, [sp, #88] ; 0x58 uint8_t * line_buf2 = _lv_mem_buf_get(w); - 1027c: 4658 mov r0, fp - 1027e: 47a0 blx r4 - 10280: 9017 str r0, [sp, #92] ; 0x5c + 10264: 4658 mov r0, fp + 10266: 47a0 blx r4 + 10268: 9017 str r0, [sp, #92] ; 0x5c for(i = 0; i < w; i++) { - 10282: 2f00 cmp r7, #0 - 10284: f000 8251 beq.w 1072a - 10288: 4b68 ldr r3, [pc, #416] ; (1042c ) - 1028a: 7c19 ldrb r1, [r3, #16] - 1028c: 9103 str r1, [sp, #12] - 1028e: 7c5c ldrb r4, [r3, #17] + 1026a: 2f00 cmp r7, #0 + 1026c: f000 8251 beq.w 10712 + 10270: 4b68 ldr r3, [pc, #416] ; (10414 ) + 10272: 7c19 ldrb r1, [r3, #16] + 10274: 9103 str r1, [sp, #12] + 10276: 7c5c ldrb r4, [r3, #17] ret = get_bits(rle_in, rle_rdp, rle_bpp); - 10290: 685f ldr r7, [r3, #4] - 10292: 68dd ldr r5, [r3, #12] - 10294: f893 a008 ldrb.w sl, [r3, #8] + 10278: 685f ldr r7, [r3, #4] + 1027a: 68dd ldr r5, [r3, #12] + 1027c: f893 a008 ldrb.w sl, [r3, #8] bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10298: 2201 movs r2, #1 - 1029a: fa02 f20a lsl.w r2, r2, sl - 1029e: 1e51 subs r1, r2, #1 + 10280: 2201 movs r2, #1 + 10282: fa02 f20a lsl.w r2, r2, sl + 10286: 1e51 subs r1, r2, #1 if(bit_pos + len >= 8) { - 102a0: 46d0 mov r8, sl - 102a2: f1ca 0608 rsb r6, sl, #8 - 102a6: 960a str r6, [sp, #40] ; 0x28 - 102a8: f1ca 0610 rsb r6, sl, #16 - 102ac: 9609 str r6, [sp, #36] ; 0x24 - 102ae: f893 c009 ldrb.w ip, [r3, #9] - 102b2: 9816 ldr r0, [sp, #88] ; 0x58 - 102b4: f100 3eff add.w lr, r0, #4294967295 - 102b8: f10b 33ff add.w r3, fp, #4294967295 - 102bc: b29b uxth r3, r3 - 102be: 930d str r3, [sp, #52] ; 0x34 - 102c0: eb00 0b03 add.w fp, r0, r3 - 102c4: 4676 mov r6, lr - 102c6: 2300 movs r3, #0 - 102c8: 9305 str r3, [sp, #20] - 102ca: 9307 str r3, [sp, #28] - 102cc: 461a mov r2, r3 + 10288: 46d0 mov r8, sl + 1028a: f1ca 0608 rsb r6, sl, #8 + 1028e: 960a str r6, [sp, #40] ; 0x28 + 10290: f1ca 0610 rsb r6, sl, #16 + 10294: 9609 str r6, [sp, #36] ; 0x24 + 10296: f893 c009 ldrb.w ip, [r3, #9] + 1029a: 9816 ldr r0, [sp, #88] ; 0x58 + 1029c: f100 3eff add.w lr, r0, #4294967295 + 102a0: f10b 33ff add.w r3, fp, #4294967295 + 102a4: b29b uxth r3, r3 + 102a6: 930d str r3, [sp, #52] ; 0x34 + 102a8: eb00 0b03 add.w fp, r0, r3 + 102ac: 4676 mov r6, lr + 102ae: 2300 movs r3, #0 + 102b0: 9305 str r3, [sp, #20] + 102b2: 9307 str r3, [sp, #28] + 102b4: 461a mov r2, r3 switch(len) { - 102ce: f10a 3aff add.w sl, sl, #4294967295 + 102b6: f10a 3aff add.w sl, sl, #4294967295 rle_rdp += rle_bpp; - 102d2: 2301 movs r3, #1 - 102d4: 9304 str r3, [sp, #16] + 102ba: 2301 movs r3, #1 + 102bc: 9304 str r3, [sp, #16] bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 102d6: b2cb uxtb r3, r1 - 102d8: 930b str r3, [sp, #44] ; 0x2c + 102be: b2cb uxtb r3, r1 + 102c0: 930b str r3, [sp, #44] ; 0x2c bit_mask = 0x3; - 102da: 9206 str r2, [sp, #24] - 102dc: 4661 mov r1, ip - 102de: e034 b.n 1034a + 102c2: 9206 str r2, [sp, #24] + 102c4: 4661 mov r1, ip + 102c6: e034 b.n 10332 buf_size = (gsize + 3) >> 2; - 102e0: 3403 adds r4, #3 - 102e2: 08a4 lsrs r4, r4, #2 + 102c8: 3403 adds r4, #3 + 102ca: 08a4 lsrs r4, r4, #2 break; - 102e4: e78b b.n 101fe + 102cc: e78b b.n 101e6 buf_size = (gsize + 1) >> 1; - 102e6: 3401 adds r4, #1 - 102e8: 0864 lsrs r4, r4, #1 + 102ce: 3401 adds r4, #1 + 102d0: 0864 lsrs r4, r4, #1 break; - 102ea: e788 b.n 101fe + 102d2: e788 b.n 101e6 buf_size = (gsize + 1) >> 1; - 102ec: 3401 adds r4, #1 - 102ee: 0864 lsrs r4, r4, #1 + 102d4: 3401 adds r4, #1 + 102d6: 0864 lsrs r4, r4, #1 break; - 102f0: e785 b.n 101fe + 102d8: e785 b.n 101e6 LV_ASSERT_MEM(decompr_buf); - 102f2: 4b53 ldr r3, [pc, #332] ; (10440 ) - 102f4: 9300 str r3, [sp, #0] - 102f6: 2272 movs r2, #114 ; 0x72 - 102f8: 4952 ldr r1, [pc, #328] ; (10444 ) - 102fa: 2003 movs r0, #3 - 102fc: 4c52 ldr r4, [pc, #328] ; (10448 ) - 102fe: 47a0 blx r4 - 10300: f8d9 2000 ldr.w r2, [r9] - 10304: 2300 movs r3, #0 - 10306: 4851 ldr r0, [pc, #324] ; (1044c ) - 10308: 4951 ldr r1, [pc, #324] ; (10450 ) - 1030a: 4788 blx r1 - 1030c: e7fe b.n 1030c + 102da: 4b53 ldr r3, [pc, #332] ; (10428 ) + 102dc: 9300 str r3, [sp, #0] + 102de: 2272 movs r2, #114 ; 0x72 + 102e0: 4952 ldr r1, [pc, #328] ; (1042c ) + 102e2: 2003 movs r0, #3 + 102e4: 4c52 ldr r4, [pc, #328] ; (10430 ) + 102e6: 47a0 blx r4 + 102e8: f8d9 2000 ldr.w r2, [r9] + 102ec: 2300 movs r3, #0 + 102ee: 4851 ldr r0, [pc, #324] ; (10434 ) + 102f0: 4951 ldr r1, [pc, #324] ; (10438 ) + 102f2: 4788 blx r1 + 102f4: e7fe b.n 102f4 bit_mask = 0x3; - 1030e: 2003 movs r0, #3 + 102f6: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 10310: 08eb lsrs r3, r5, #3 + 102f8: 08eb lsrs r3, r5, #3 bit_pos = bit_pos & 0x7; - 10312: f005 0207 and.w r2, r5, #7 + 102fa: f005 0207 and.w r2, r5, #7 if(bit_pos + len >= 8) { - 10316: eb02 0c08 add.w ip, r2, r8 - 1031a: f1bc 0f07 cmp.w ip, #7 - 1031e: d835 bhi.n 1038c + 102fe: eb02 0c08 add.w ip, r2, r8 + 10302: f1bc 0f07 cmp.w ip, #7 + 10306: d835 bhi.n 10374 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10320: f817 c003 ldrb.w ip, [r7, r3] - 10324: 9b0a ldr r3, [sp, #40] ; 0x28 - 10326: 1a9a subs r2, r3, r2 - 10328: fa4c f302 asr.w r3, ip, r2 - 1032c: 4003 ands r3, r0 + 10308: f817 c003 ldrb.w ip, [r7, r3] + 1030c: 9b0a ldr r3, [sp, #40] ; 0x28 + 1030e: 1a9a subs r2, r3, r2 + 10310: fa4c f302 asr.w r3, ip, r2 + 10314: 4003 ands r3, r0 if(rle_rdp != 0 && rle_prev_v == ret) { - 1032e: b115 cbz r5, 10336 - 10330: 9a03 ldr r2, [sp, #12] - 10332: 4293 cmp r3, r2 - 10334: d038 beq.n 103a8 + 10316: b115 cbz r5, 1031e + 10318: 9a03 ldr r2, [sp, #12] + 1031a: 4293 cmp r3, r2 + 1031c: d038 beq.n 10390 rle_rdp += rle_bpp; - 10336: 4445 add r5, r8 + 1031e: 4445 add r5, r8 rle_prev_v = ret; - 10338: 9303 str r3, [sp, #12] + 10320: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 1033a: 2201 movs r2, #1 - 1033c: 9804 ldr r0, [sp, #16] - 1033e: 9006 str r0, [sp, #24] + 10322: 2201 movs r2, #1 + 10324: 9804 ldr r0, [sp, #16] + 10326: 9006 str r0, [sp, #24] out[i] = rle_next(); - 10340: f806 3f01 strb.w r3, [r6, #1]! + 10328: f806 3f01 strb.w r3, [r6, #1]! for(i = 0; i < w; i++) { - 10344: 455e cmp r6, fp - 10346: f000 814e beq.w 105e6 + 1032c: 455e cmp r6, fp + 1032e: f000 814e beq.w 105ce if(rle_state == RLE_STATE_SINGLE) { - 1034a: bba1 cbnz r1, 103b6 + 10332: bba1 cbnz r1, 1039e switch(len) { - 1034c: f1ba 0f07 cmp.w sl, #7 - 10350: d818 bhi.n 10384 - 10352: a301 add r3, pc, #4 ; (adr r3, 10358 ) - 10354: f853 f02a ldr.w pc, [r3, sl, lsl #2] - 10358: 00010389 .word 0x00010389 - 1035c: 0001030f .word 0x0001030f - 10360: 00010379 .word 0x00010379 - 10364: 0001037d .word 0x0001037d - 10368: 00010385 .word 0x00010385 - 1036c: 00010385 .word 0x00010385 - 10370: 00010385 .word 0x00010385 - 10374: 00010381 .word 0x00010381 + 10334: f1ba 0f07 cmp.w sl, #7 + 10338: d818 bhi.n 1036c + 1033a: a301 add r3, pc, #4 ; (adr r3, 10340 ) + 1033c: f853 f02a ldr.w pc, [r3, sl, lsl #2] + 10340: 00010371 .word 0x00010371 + 10344: 000102f7 .word 0x000102f7 + 10348: 00010361 .word 0x00010361 + 1034c: 00010365 .word 0x00010365 + 10350: 0001036d .word 0x0001036d + 10354: 0001036d .word 0x0001036d + 10358: 0001036d .word 0x0001036d + 1035c: 00010369 .word 0x00010369 bit_mask = 0x7; - 10378: 2007 movs r0, #7 - 1037a: e7c9 b.n 10310 + 10360: 2007 movs r0, #7 + 10362: e7c9 b.n 102f8 bit_mask = 0xF; - 1037c: 200f movs r0, #15 - 1037e: e7c7 b.n 10310 + 10364: 200f movs r0, #15 + 10366: e7c7 b.n 102f8 bit_mask = 0xFF; - 10380: 20ff movs r0, #255 ; 0xff - 10382: e7c5 b.n 10310 + 10368: 20ff movs r0, #255 ; 0xff + 1036a: e7c5 b.n 102f8 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10384: 980b ldr r0, [sp, #44] ; 0x2c - 10386: e7c3 b.n 10310 + 1036c: 980b ldr r0, [sp, #44] ; 0x2c + 1036e: e7c3 b.n 102f8 bit_mask = 0x1; - 10388: 2001 movs r0, #1 - 1038a: e7c1 b.n 10310 + 10370: 2001 movs r0, #1 + 10372: e7c1 b.n 102f8 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 1038c: f817 c003 ldrb.w ip, [r7, r3] - 10390: 443b add r3, r7 - 10392: 785b ldrb r3, [r3, #1] - 10394: eb03 230c add.w r3, r3, ip, lsl #8 + 10374: f817 c003 ldrb.w ip, [r7, r3] + 10378: 443b add r3, r7 + 1037a: 785b ldrb r3, [r3, #1] + 1037c: eb03 230c add.w r3, r3, ip, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10398: fa1f fc83 uxth.w ip, r3 - 1039c: 9b09 ldr r3, [sp, #36] ; 0x24 - 1039e: 1a9a subs r2, r3, r2 - 103a0: fa4c f302 asr.w r3, ip, r2 - 103a4: 4003 ands r3, r0 - 103a6: e7c2 b.n 1032e + 10380: fa1f fc83 uxth.w ip, r3 + 10384: 9b09 ldr r3, [sp, #36] ; 0x24 + 10386: 1a9a subs r2, r3, r2 + 10388: fa4c f302 asr.w r3, ip, r2 + 1038c: 4003 ands r3, r0 + 1038e: e7c2 b.n 10316 if(rle_rdp != 0 && rle_prev_v == ret) { - 103a8: 2201 movs r2, #1 - 103aa: 9205 str r2, [sp, #20] + 10390: 2201 movs r2, #1 + 10392: 9205 str r2, [sp, #20] rle_cnt = 0; - 103ac: 2400 movs r4, #0 + 10394: 2400 movs r4, #0 if(rle_rdp != 0 && rle_prev_v == ret) { - 103ae: 9a04 ldr r2, [sp, #16] - 103b0: 9207 str r2, [sp, #28] + 10396: 9a04 ldr r2, [sp, #16] + 10398: 9207 str r2, [sp, #28] rle_state = RLE_STATE_REPEATE; - 103b2: 4611 mov r1, r2 - 103b4: e7bf b.n 10336 + 1039a: 4611 mov r1, r2 + 1039c: e7bf b.n 1031e else if(rle_state == RLE_STATE_REPEATE) { - 103b6: 2901 cmp r1, #1 - 103b8: d004 beq.n 103c4 + 1039e: 2901 cmp r1, #1 + 103a0: d004 beq.n 103ac else if(rle_state == RLE_STATE_COUNTER) { - 103ba: 2902 cmp r1, #2 - 103bc: f000 80cd beq.w 1055a + 103a2: 2902 cmp r1, #2 + 103a4: f000 80cd beq.w 10542 uint8_t ret = 0; - 103c0: 2300 movs r3, #0 - 103c2: e7bd b.n 10340 + 103a8: 2300 movs r3, #0 + 103aa: e7bd b.n 10328 uint32_t byte_pos = bit_pos >> 3; - 103c4: 08eb lsrs r3, r5, #3 + 103ac: 08eb lsrs r3, r5, #3 bit_pos = bit_pos & 0x7; - 103c6: f005 0207 and.w r2, r5, #7 + 103ae: f005 0207 and.w r2, r5, #7 if(bit_pos + len >= 8) { - 103ca: f102 0c01 add.w ip, r2, #1 - 103ce: f1bc 0f07 cmp.w ip, #7 - 103d2: d813 bhi.n 103fc + 103b2: f102 0c01 add.w ip, r2, #1 + 103b6: f1bc 0f07 cmp.w ip, #7 + 103ba: d813 bhi.n 103e4 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 103d4: 5cfb ldrb r3, [r7, r3] - 103d6: 43d2 mvns r2, r2 - 103d8: 3208 adds r2, #8 - 103da: 4113 asrs r3, r2 - 103dc: f003 0301 and.w r3, r3, #1 + 103bc: 5cfb ldrb r3, [r7, r3] + 103be: 43d2 mvns r2, r2 + 103c0: 3208 adds r2, #8 + 103c2: 4113 asrs r3, r2 + 103c4: f003 0301 and.w r3, r3, #1 rle_cnt++; - 103e0: 3401 adds r4, #1 - 103e2: b2e4 uxtb r4, r4 + 103c8: 3401 adds r4, #1 + 103ca: b2e4 uxtb r4, r4 rle_rdp += 1; - 103e4: 1c6a adds r2, r5, #1 + 103cc: 1c6a adds r2, r5, #1 if(v == 1) { - 103e6: b9b3 cbnz r3, 10416 + 103ce: b9b3 cbnz r3, 103fe switch(len) { - 103e8: f1ba 0f07 cmp.w sl, #7 - 103ec: f200 80a5 bhi.w 1053a - 103f0: e8df f00a tbb [pc, sl] - 103f4: 9f9d84a5 .word 0x9f9d84a5 - 103f8: a1a3a3a3 .word 0xa1a3a3a3 + 103d0: f1ba 0f07 cmp.w sl, #7 + 103d4: f200 80a5 bhi.w 10522 + 103d8: e8df f00a tbb [pc, sl] + 103dc: 9f9d84a5 .word 0x9f9d84a5 + 103e0: a1a3a3a3 .word 0xa1a3a3a3 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 103fc: f817 c003 ldrb.w ip, [r7, r3] - 10400: 443b add r3, r7 - 10402: 785b ldrb r3, [r3, #1] - 10404: eb03 230c add.w r3, r3, ip, lsl #8 + 103e4: f817 c003 ldrb.w ip, [r7, r3] + 103e8: 443b add r3, r7 + 103ea: 785b ldrb r3, [r3, #1] + 103ec: eb03 230c add.w r3, r3, ip, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10408: b29b uxth r3, r3 - 1040a: 43d2 mvns r2, r2 - 1040c: 3210 adds r2, #16 - 1040e: 4113 asrs r3, r2 - 10410: f003 0301 and.w r3, r3, #1 - 10414: e7e4 b.n 103e0 + 103f0: b29b uxth r3, r3 + 103f2: 43d2 mvns r2, r2 + 103f4: 3210 adds r2, #16 + 103f6: 4113 asrs r3, r2 + 103f8: f003 0301 and.w r3, r3, #1 + 103fc: e7e4 b.n 103c8 if(rle_cnt == 11) { - 10416: 2c0b cmp r4, #11 - 10418: d01c beq.n 10454 + 103fe: 2c0b cmp r4, #11 + 10400: d01c beq.n 1043c rle_rdp += 1; - 1041a: 4615 mov r5, r2 + 10402: 4615 mov r5, r2 ret = rle_prev_v; - 1041c: 9b03 ldr r3, [sp, #12] + 10404: 9b03 ldr r3, [sp, #12] if(rle_cnt == 11) { - 1041e: 2201 movs r2, #1 - 10420: 9205 str r2, [sp, #20] - 10422: 9a04 ldr r2, [sp, #16] - 10424: e78c b.n 10340 - 10426: bf00 nop - 10428: 000100ad .word 0x000100ad - 1042c: 20002b5c .word 0x20002b5c - 10430: 00012551 .word 0x00012551 - 10434: 00012899 .word 0x00012899 - 10438: 000022b1 .word 0x000022b1 - 1043c: 0001293d .word 0x0001293d - 10440: 000254c4 .word 0x000254c4 - 10444: 000254e0 .word 0x000254e0 - 10448: 0001225d .word 0x0001225d - 1044c: 00023fd8 .word 0x00023fd8 - 10450: 000022b9 .word 0x000022b9 + 10406: 2201 movs r2, #1 + 10408: 9205 str r2, [sp, #20] + 1040a: 9a04 ldr r2, [sp, #16] + 1040c: e78c b.n 10328 + 1040e: bf00 nop + 10410: 00010095 .word 0x00010095 + 10414: 20002b5c .word 0x20002b5c + 10418: 00012539 .word 0x00012539 + 1041c: 00012881 .word 0x00012881 + 10420: 00002299 .word 0x00002299 + 10424: 00012925 .word 0x00012925 + 10428: 000254ac .word 0x000254ac + 1042c: 000254c8 .word 0x000254c8 + 10430: 00012245 .word 0x00012245 + 10434: 00023fc0 .word 0x00023fc0 + 10438: 000022a1 .word 0x000022a1 uint32_t byte_pos = bit_pos >> 3; - 10454: 08d3 lsrs r3, r2, #3 + 1043c: 08d3 lsrs r3, r2, #3 bit_pos = bit_pos & 0x7; - 10456: f002 0207 and.w r2, r2, #7 + 1043e: f002 0207 and.w r2, r2, #7 if(bit_pos + len >= 8) { - 1045a: 1d91 adds r1, r2, #6 - 1045c: 2907 cmp r1, #7 - 1045e: d813 bhi.n 10488 + 10442: 1d91 adds r1, r2, #6 + 10444: 2907 cmp r1, #7 + 10446: d813 bhi.n 10470 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10460: 5cfc ldrb r4, [r7, r3] - 10462: f1c2 0202 rsb r2, r2, #2 - 10466: fa44 f202 asr.w r2, r4, r2 - 1046a: f002 043f and.w r4, r2, #63 ; 0x3f + 10448: 5cfc ldrb r4, [r7, r3] + 1044a: f1c2 0202 rsb r2, r2, #2 + 1044e: fa44 f202 asr.w r2, r4, r2 + 10452: f002 043f and.w r4, r2, #63 ; 0x3f rle_rdp += 6; - 1046e: 3507 adds r5, #7 + 10456: 3507 adds r5, #7 if(rle_cnt != 0) { - 10470: 2c00 cmp r4, #0 - 10472: f040 80ad bne.w 105d0 + 10458: 2c00 cmp r4, #0 + 1045a: f040 80ad bne.w 105b8 switch(len) { - 10476: f1ba 0f07 cmp.w sl, #7 - 1047a: d826 bhi.n 104ca - 1047c: e8df f00a tbb [pc, sl] - 10480: 211f1027 .word 0x211f1027 - 10484: 23252525 .word 0x23252525 + 1045e: f1ba 0f07 cmp.w sl, #7 + 10462: d826 bhi.n 104b2 + 10464: e8df f00a tbb [pc, sl] + 10468: 211f1027 .word 0x211f1027 + 1046c: 23252525 .word 0x23252525 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10488: 5cf9 ldrb r1, [r7, r3] - 1048a: 443b add r3, r7 - 1048c: 785c ldrb r4, [r3, #1] - 1048e: eb04 2401 add.w r4, r4, r1, lsl #8 + 10470: 5cf9 ldrb r1, [r7, r3] + 10472: 443b add r3, r7 + 10474: 785c ldrb r4, [r3, #1] + 10476: eb04 2401 add.w r4, r4, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10492: b2a4 uxth r4, r4 - 10494: f1c2 020a rsb r2, r2, #10 - 10498: 4114 asrs r4, r2 - 1049a: f004 043f and.w r4, r4, #63 ; 0x3f - 1049e: e7e6 b.n 1046e + 1047a: b2a4 uxth r4, r4 + 1047c: f1c2 020a rsb r2, r2, #10 + 10480: 4114 asrs r4, r2 + 10482: f004 043f and.w r4, r4, #63 ; 0x3f + 10486: e7e6 b.n 10456 bit_mask = 0x3; - 104a0: 2003 movs r0, #3 + 10488: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 104a2: 08ea lsrs r2, r5, #3 + 1048a: 08ea lsrs r2, r5, #3 bit_pos = bit_pos & 0x7; - 104a4: f005 0307 and.w r3, r5, #7 + 1048c: f005 0307 and.w r3, r5, #7 if(bit_pos + len >= 8) { - 104a8: eb03 0108 add.w r1, r3, r8 - 104ac: 2907 cmp r1, #7 - 104ae: d810 bhi.n 104d2 + 10490: eb03 0108 add.w r1, r3, r8 + 10494: 2907 cmp r1, #7 + 10496: d810 bhi.n 104ba return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 104b0: 5cba ldrb r2, [r7, r2] - 104b2: 990a ldr r1, [sp, #40] ; 0x28 - 104b4: 1acb subs r3, r1, r3 - 104b6: fa42 f303 asr.w r3, r2, r3 - 104ba: 4003 ands r3, r0 - 104bc: e014 b.n 104e8 + 10498: 5cba ldrb r2, [r7, r2] + 1049a: 990a ldr r1, [sp, #40] ; 0x28 + 1049c: 1acb subs r3, r1, r3 + 1049e: fa42 f303 asr.w r3, r2, r3 + 104a2: 4003 ands r3, r0 + 104a4: e014 b.n 104d0 bit_mask = 0x7; - 104be: 2007 movs r0, #7 - 104c0: e7ef b.n 104a2 + 104a6: 2007 movs r0, #7 + 104a8: e7ef b.n 1048a bit_mask = 0xF; - 104c2: 200f movs r0, #15 - 104c4: e7ed b.n 104a2 + 104aa: 200f movs r0, #15 + 104ac: e7ed b.n 1048a bit_mask = 0xFF; - 104c6: 20ff movs r0, #255 ; 0xff - 104c8: e7eb b.n 104a2 + 104ae: 20ff movs r0, #255 ; 0xff + 104b0: e7eb b.n 1048a bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 104ca: 980b ldr r0, [sp, #44] ; 0x2c - 104cc: e7e9 b.n 104a2 + 104b2: 980b ldr r0, [sp, #44] ; 0x2c + 104b4: e7e9 b.n 1048a bit_mask = 0x1; - 104ce: 2001 movs r0, #1 - 104d0: e7e7 b.n 104a2 + 104b6: 2001 movs r0, #1 + 104b8: e7e7 b.n 1048a uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 104d2: 5cb9 ldrb r1, [r7, r2] - 104d4: 443a add r2, r7 - 104d6: 7852 ldrb r2, [r2, #1] - 104d8: eb02 2201 add.w r2, r2, r1, lsl #8 + 104ba: 5cb9 ldrb r1, [r7, r2] + 104bc: 443a add r2, r7 + 104be: 7852 ldrb r2, [r2, #1] + 104c0: eb02 2201 add.w r2, r2, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 104dc: b292 uxth r2, r2 - 104de: 9909 ldr r1, [sp, #36] ; 0x24 - 104e0: 1acb subs r3, r1, r3 - 104e2: fa42 f303 asr.w r3, r2, r3 - 104e6: 4003 ands r3, r0 + 104c4: b292 uxth r2, r2 + 104c6: 9909 ldr r1, [sp, #36] ; 0x24 + 104c8: 1acb subs r3, r1, r3 + 104ca: fa42 f303 asr.w r3, r2, r3 + 104ce: 4003 ands r3, r0 rle_rdp += rle_bpp; - 104e8: 4445 add r5, r8 + 104d0: 4445 add r5, r8 rle_prev_v = ret; - 104ea: 9303 str r3, [sp, #12] + 104d2: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 104ec: 2201 movs r2, #1 - 104ee: 9205 str r2, [sp, #20] - 104f0: 9804 ldr r0, [sp, #16] - 104f2: 4602 mov r2, r0 - 104f4: 9007 str r0, [sp, #28] + 104d4: 2201 movs r2, #1 + 104d6: 9205 str r2, [sp, #20] + 104d8: 9804 ldr r0, [sp, #16] + 104da: 4602 mov r2, r0 + 104dc: 9007 str r0, [sp, #28] rle_state = RLE_STATE_SINGLE; - 104f6: 2100 movs r1, #0 + 104de: 2100 movs r1, #0 rle_rdp += rle_bpp; - 104f8: 9006 str r0, [sp, #24] - 104fa: e721 b.n 10340 + 104e0: 9006 str r0, [sp, #24] + 104e2: e721 b.n 10328 bit_mask = 0x3; - 104fc: 2003 movs r0, #3 + 104e4: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 104fe: 08d1 lsrs r1, r2, #3 + 104e6: 08d1 lsrs r1, r2, #3 bit_pos = bit_pos & 0x7; - 10500: f002 0307 and.w r3, r2, #7 + 104e8: f002 0307 and.w r3, r2, #7 if(bit_pos + len >= 8) { - 10504: eb03 0508 add.w r5, r3, r8 - 10508: 2d07 cmp r5, #7 - 1050a: d81a bhi.n 10542 + 104ec: eb03 0508 add.w r5, r3, r8 + 104f0: 2d07 cmp r5, #7 + 104f2: d81a bhi.n 1052a return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 1050c: 5c79 ldrb r1, [r7, r1] - 1050e: 9d0a ldr r5, [sp, #40] ; 0x28 - 10510: 1aeb subs r3, r5, r3 - 10512: fa41 f303 asr.w r3, r1, r3 - 10516: 4003 ands r3, r0 + 104f4: 5c79 ldrb r1, [r7, r1] + 104f6: 9d0a ldr r5, [sp, #40] ; 0x28 + 104f8: 1aeb subs r3, r5, r3 + 104fa: fa41 f303 asr.w r3, r1, r3 + 104fe: 4003 ands r3, r0 rle_rdp += rle_bpp; - 10518: eb02 0508 add.w r5, r2, r8 + 10500: eb02 0508 add.w r5, r2, r8 rle_prev_v = ret; - 1051c: 9303 str r3, [sp, #12] + 10504: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 1051e: 2201 movs r2, #1 - 10520: 9205 str r2, [sp, #20] - 10522: 9804 ldr r0, [sp, #16] - 10524: 4602 mov r2, r0 - 10526: 9007 str r0, [sp, #28] + 10506: 2201 movs r2, #1 + 10508: 9205 str r2, [sp, #20] + 1050a: 9804 ldr r0, [sp, #16] + 1050c: 4602 mov r2, r0 + 1050e: 9007 str r0, [sp, #28] rle_state = RLE_STATE_SINGLE; - 10528: 2100 movs r1, #0 + 10510: 2100 movs r1, #0 rle_rdp += rle_bpp; - 1052a: 9006 str r0, [sp, #24] - 1052c: e708 b.n 10340 + 10512: 9006 str r0, [sp, #24] + 10514: e708 b.n 10328 bit_mask = 0x7; - 1052e: 2007 movs r0, #7 - 10530: e7e5 b.n 104fe + 10516: 2007 movs r0, #7 + 10518: e7e5 b.n 104e6 bit_mask = 0xF; - 10532: 200f movs r0, #15 - 10534: e7e3 b.n 104fe + 1051a: 200f movs r0, #15 + 1051c: e7e3 b.n 104e6 bit_mask = 0xFF; - 10536: 20ff movs r0, #255 ; 0xff - 10538: e7e1 b.n 104fe + 1051e: 20ff movs r0, #255 ; 0xff + 10520: e7e1 b.n 104e6 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 1053a: 980b ldr r0, [sp, #44] ; 0x2c - 1053c: e7df b.n 104fe + 10522: 980b ldr r0, [sp, #44] ; 0x2c + 10524: e7df b.n 104e6 bit_mask = 0x1; - 1053e: 2001 movs r0, #1 - 10540: e7dd b.n 104fe + 10526: 2001 movs r0, #1 + 10528: e7dd b.n 104e6 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10542: 5c7d ldrb r5, [r7, r1] - 10544: 4439 add r1, r7 - 10546: 7849 ldrb r1, [r1, #1] - 10548: eb01 2105 add.w r1, r1, r5, lsl #8 + 1052a: 5c7d ldrb r5, [r7, r1] + 1052c: 4439 add r1, r7 + 1052e: 7849 ldrb r1, [r1, #1] + 10530: eb01 2105 add.w r1, r1, r5, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 1054c: b289 uxth r1, r1 - 1054e: 9d09 ldr r5, [sp, #36] ; 0x24 - 10550: 1aeb subs r3, r5, r3 - 10552: fa41 f303 asr.w r3, r1, r3 - 10556: 4003 ands r3, r0 - 10558: e7de b.n 10518 + 10534: b289 uxth r1, r1 + 10536: 9d09 ldr r5, [sp, #36] ; 0x24 + 10538: 1aeb subs r3, r5, r3 + 1053a: fa41 f303 asr.w r3, r1, r3 + 1053e: 4003 ands r3, r0 + 10540: e7de b.n 10500 rle_cnt--; - 1055a: 3c01 subs r4, #1 + 10542: 3c01 subs r4, #1 if(rle_cnt == 0) { - 1055c: f014 04ff ands.w r4, r4, #255 ; 0xff - 10560: d13d bne.n 105de + 10544: f014 04ff ands.w r4, r4, #255 ; 0xff + 10548: d13d bne.n 105c6 switch(len) { - 10562: f1ba 0f07 cmp.w sl, #7 - 10566: d823 bhi.n 105b0 - 10568: e8df f00a tbb [pc, sl] - 1056c: 1e1c0424 .word 0x1e1c0424 - 10570: 20222222 .word 0x20222222 + 1054a: f1ba 0f07 cmp.w sl, #7 + 1054e: d823 bhi.n 10598 + 10550: e8df f00a tbb [pc, sl] + 10554: 1e1c0424 .word 0x1e1c0424 + 10558: 20222222 .word 0x20222222 bit_mask = 0x3; - 10574: 2003 movs r0, #3 + 1055c: 2003 movs r0, #3 uint32_t byte_pos = bit_pos >> 3; - 10576: 08ea lsrs r2, r5, #3 + 1055e: 08ea lsrs r2, r5, #3 bit_pos = bit_pos & 0x7; - 10578: f005 0307 and.w r3, r5, #7 + 10560: f005 0307 and.w r3, r5, #7 if(bit_pos + len >= 8) { - 1057c: eb03 0108 add.w r1, r3, r8 - 10580: 2907 cmp r1, #7 - 10582: d819 bhi.n 105b8 + 10564: eb03 0108 add.w r1, r3, r8 + 10568: 2907 cmp r1, #7 + 1056a: d819 bhi.n 105a0 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10584: 5cba ldrb r2, [r7, r2] - 10586: 990a ldr r1, [sp, #40] ; 0x28 - 10588: 1acb subs r3, r1, r3 - 1058a: fa42 f303 asr.w r3, r2, r3 - 1058e: 4003 ands r3, r0 + 1056c: 5cba ldrb r2, [r7, r2] + 1056e: 990a ldr r1, [sp, #40] ; 0x28 + 10570: 1acb subs r3, r1, r3 + 10572: fa42 f303 asr.w r3, r2, r3 + 10576: 4003 ands r3, r0 rle_rdp += rle_bpp; - 10590: 4445 add r5, r8 + 10578: 4445 add r5, r8 rle_prev_v = ret; - 10592: 9303 str r3, [sp, #12] + 1057a: 9303 str r3, [sp, #12] rle_rdp += rle_bpp; - 10594: 2201 movs r2, #1 - 10596: 9205 str r2, [sp, #20] - 10598: 9804 ldr r0, [sp, #16] - 1059a: 4602 mov r2, r0 - 1059c: 9007 str r0, [sp, #28] + 1057c: 2201 movs r2, #1 + 1057e: 9205 str r2, [sp, #20] + 10580: 9804 ldr r0, [sp, #16] + 10582: 4602 mov r2, r0 + 10584: 9007 str r0, [sp, #28] rle_state = RLE_STATE_SINGLE; - 1059e: 2100 movs r1, #0 + 10586: 2100 movs r1, #0 rle_rdp += rle_bpp; - 105a0: 9006 str r0, [sp, #24] - 105a2: e6cd b.n 10340 + 10588: 9006 str r0, [sp, #24] + 1058a: e6cd b.n 10328 bit_mask = 0x7; - 105a4: 2007 movs r0, #7 - 105a6: e7e6 b.n 10576 + 1058c: 2007 movs r0, #7 + 1058e: e7e6 b.n 1055e bit_mask = 0xF; - 105a8: 200f movs r0, #15 - 105aa: e7e4 b.n 10576 + 10590: 200f movs r0, #15 + 10592: e7e4 b.n 1055e bit_mask = 0xFF; - 105ac: 20ff movs r0, #255 ; 0xff - 105ae: e7e2 b.n 10576 + 10594: 20ff movs r0, #255 ; 0xff + 10596: e7e2 b.n 1055e bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 105b0: 980b ldr r0, [sp, #44] ; 0x2c - 105b2: e7e0 b.n 10576 + 10598: 980b ldr r0, [sp, #44] ; 0x2c + 1059a: e7e0 b.n 1055e bit_mask = 0x1; - 105b4: 2001 movs r0, #1 - 105b6: e7de b.n 10576 + 1059c: 2001 movs r0, #1 + 1059e: e7de b.n 1055e uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 105b8: 5cb9 ldrb r1, [r7, r2] - 105ba: 443a add r2, r7 - 105bc: 7852 ldrb r2, [r2, #1] - 105be: eb02 2201 add.w r2, r2, r1, lsl #8 + 105a0: 5cb9 ldrb r1, [r7, r2] + 105a2: 443a add r2, r7 + 105a4: 7852 ldrb r2, [r2, #1] + 105a6: eb02 2201 add.w r2, r2, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 105c2: b292 uxth r2, r2 - 105c4: 9909 ldr r1, [sp, #36] ; 0x24 - 105c6: 1acb subs r3, r1, r3 - 105c8: fa42 f303 asr.w r3, r2, r3 - 105cc: 4003 ands r3, r0 - 105ce: e7df b.n 10590 + 105aa: b292 uxth r2, r2 + 105ac: 9909 ldr r1, [sp, #36] ; 0x24 + 105ae: 1acb subs r3, r1, r3 + 105b0: fa42 f303 asr.w r3, r2, r3 + 105b4: 4003 ands r3, r0 + 105b6: e7df b.n 10578 ret = rle_prev_v; - 105d0: 9b03 ldr r3, [sp, #12] + 105b8: 9b03 ldr r3, [sp, #12] if(rle_cnt != 0) { - 105d2: 2201 movs r2, #1 - 105d4: 9205 str r2, [sp, #20] - 105d6: 9a04 ldr r2, [sp, #16] - 105d8: 9207 str r2, [sp, #28] + 105ba: 2201 movs r2, #1 + 105bc: 9205 str r2, [sp, #20] + 105be: 9a04 ldr r2, [sp, #16] + 105c0: 9207 str r2, [sp, #28] rle_state = RLE_STATE_COUNTER; - 105da: 2102 movs r1, #2 - 105dc: e6b0 b.n 10340 + 105c2: 2102 movs r1, #2 + 105c4: e6b0 b.n 10328 ret = rle_prev_v; - 105de: 9b03 ldr r3, [sp, #12] + 105c6: 9b03 ldr r3, [sp, #12] if(rle_cnt == 0) { - 105e0: 2001 movs r0, #1 - 105e2: 9005 str r0, [sp, #20] - 105e4: e6ac b.n 10340 - 105e6: 9806 ldr r0, [sp, #24] - 105e8: 468c mov ip, r1 - 105ea: b9c8 cbnz r0, 10620 - 105ec: b10a cbz r2, 105f2 - 105ee: 4b9f ldr r3, [pc, #636] ; (1086c ) - 105f0: 60dd str r5, [r3, #12] - 105f2: 9b07 ldr r3, [sp, #28] - 105f4: b113 cbz r3, 105fc - 105f6: 4b9d ldr r3, [pc, #628] ; (1086c ) - 105f8: f883 c009 strb.w ip, [r3, #9] - 105fc: 9b05 ldr r3, [sp, #20] - 105fe: b10b cbz r3, 10604 - 10600: 4b9a ldr r3, [pc, #616] ; (1086c ) - 10602: 745c strb r4, [r3, #17] + 105c8: 2001 movs r0, #1 + 105ca: 9005 str r0, [sp, #20] + 105cc: e6ac b.n 10328 + 105ce: 9806 ldr r0, [sp, #24] + 105d0: 468c mov ip, r1 + 105d2: b9c8 cbnz r0, 10608 + 105d4: b10a cbz r2, 105da + 105d6: 4b9f ldr r3, [pc, #636] ; (10854 ) + 105d8: 60dd str r5, [r3, #12] + 105da: 9b07 ldr r3, [sp, #28] + 105dc: b113 cbz r3, 105e4 + 105de: 4b9d ldr r3, [pc, #628] ; (10854 ) + 105e0: f883 c009 strb.w ip, [r3, #9] + 105e4: 9b05 ldr r3, [sp, #20] + 105e6: b10b cbz r3, 105ec + 105e8: 4b9a ldr r3, [pc, #616] ; (10854 ) + 105ea: 745c strb r4, [r3, #17] rle_rdp += rle_bpp; - 10604: 2000 movs r0, #0 + 105ec: 2000 movs r0, #0 if(len == 3) { - 10606: 9b0f ldr r3, [sp, #60] ; 0x3c - 10608: 9303 str r3, [sp, #12] + 105ee: 9b0f ldr r3, [sp, #60] ; 0x3c + 105f0: 9303 str r3, [sp, #12] len = 4; - 1060a: 2704 movs r7, #4 + 105f2: 2704 movs r7, #4 val = 15; - 1060c: f04f 0c0f mov.w ip, #15 + 105f4: f04f 0c0f mov.w ip, #15 val = 13; - 10610: f04f 080d mov.w r8, #13 + 105f8: f04f 080d mov.w r8, #13 val = 11; - 10614: f04f 0a0b mov.w sl, #11 + 105fc: f04f 0a0b mov.w sl, #11 val = 9; - 10618: f04f 0b09 mov.w fp, #9 + 10600: f04f 0b09 mov.w fp, #9 val = 4; - 1061c: 9704 str r7, [sp, #16] - 1061e: e028 b.n 10672 - 10620: 4b92 ldr r3, [pc, #584] ; (1086c ) - 10622: f89d 100c ldrb.w r1, [sp, #12] - 10626: 7419 strb r1, [r3, #16] - 10628: e7e0 b.n 105ec + 10604: 9704 str r7, [sp, #16] + 10606: e028 b.n 1065a + 10608: 4b92 ldr r3, [pc, #584] ; (10854 ) + 1060a: f89d 100c ldrb.w r1, [sp, #12] + 1060e: 7419 strb r1, [r3, #16] + 10610: e7e0 b.n 105d4 switch(val) { - 1062a: 2907 cmp r1, #7 - 1062c: d83d bhi.n 106aa - 1062e: e8df f001 tbb [pc, r1] - 10632: 2704 .short 0x2704 - 10634: 33302d2a .word 0x33302d2a - 10638: 3936 .short 0x3936 + 10612: 2907 cmp r1, #7 + 10614: d83d bhi.n 10692 + 10616: e8df f001 tbb [pc, r1] + 1061a: 2704 .short 0x2704 + 1061c: 33302d2a .word 0x33302d2a + 10620: 3936 .short 0x3936 len = 4; - 1063a: 463d mov r5, r7 + 10622: 463d mov r5, r7 val = 0; - 1063c: 2100 movs r1, #0 + 10624: 2100 movs r1, #0 bit_pos = bit_pos & 0x7; - 1063e: f000 0207 and.w r2, r0, #7 - 10642: f1c2 0208 rsb r2, r2, #8 + 10626: f000 0207 and.w r2, r0, #7 + 1062a: f1c2 0208 rsb r2, r2, #8 bit_pos = 8 - bit_pos - len; - 10646: 1b52 subs r2, r2, r5 + 1062e: 1b52 subs r2, r2, r5 out[byte_pos] &= ((~bit_mask) << bit_pos); - 10648: f3c0 04cf ubfx r4, r0, #3, #16 - 1064c: f04f 33ff mov.w r3, #4294967295 - 10650: 40ab lsls r3, r5 - 10652: f063 03ff orn r3, r3, #255 ; 0xff - 10656: 4093 lsls r3, r2 - 10658: f819 5004 ldrb.w r5, [r9, r4] - 1065c: 402b ands r3, r5 + 10630: f3c0 04cf ubfx r4, r0, #3, #16 + 10634: f04f 33ff mov.w r3, #4294967295 + 10638: 40ab lsls r3, r5 + 1063a: f063 03ff orn r3, r3, #255 ; 0xff + 1063e: 4093 lsls r3, r2 + 10640: f819 5004 ldrb.w r5, [r9, r4] + 10644: 402b ands r3, r5 out[byte_pos] |= (val << bit_pos); - 1065e: fa01 f202 lsl.w r2, r1, r2 - 10662: 4313 orrs r3, r2 - 10664: f809 3004 strb.w r3, [r9, r4] + 10646: fa01 f202 lsl.w r2, r1, r2 + 1064a: 4313 orrs r3, r2 + 1064c: f809 3004 strb.w r3, [r9, r4] wrp += wr_size; - 10668: 9a08 ldr r2, [sp, #32] - 1066a: 4613 mov r3, r2 - 1066c: 4410 add r0, r2 + 10650: 9a08 ldr r2, [sp, #32] + 10652: 4613 mov r3, r2 + 10654: 4410 add r0, r2 for(x = 0; x < w; x++) { - 1066e: 45b6 cmp lr, r6 - 10670: d01d beq.n 106ae + 10656: 45b6 cmp lr, r6 + 10658: d01d beq.n 10696 bits_write(out, wrp, line_buf1[x], bpp); - 10672: f81e 1f01 ldrb.w r1, [lr, #1]! + 1065a: f81e 1f01 ldrb.w r1, [lr, #1]! if(len == 3) { - 10676: 9b0f ldr r3, [sp, #60] ; 0x3c - 10678: 2b03 cmp r3, #3 - 1067a: d0d6 beq.n 1062a - 1067c: 9d03 ldr r5, [sp, #12] - 1067e: e7de b.n 1063e + 1065e: 9b0f ldr r3, [sp, #60] ; 0x3c + 10660: 2b03 cmp r3, #3 + 10662: d0d6 beq.n 10612 + 10664: 9d03 ldr r5, [sp, #12] + 10666: e7de b.n 10626 len = 4; - 10680: 463d mov r5, r7 + 10668: 463d mov r5, r7 val = 2; - 10682: 2102 movs r1, #2 - 10684: e7db b.n 1063e + 1066a: 2102 movs r1, #2 + 1066c: e7db b.n 10626 len = 4; - 10686: 463d mov r5, r7 + 1066e: 463d mov r5, r7 val = 4; - 10688: 9904 ldr r1, [sp, #16] - 1068a: e7d8 b.n 1063e + 10670: 9904 ldr r1, [sp, #16] + 10672: e7d8 b.n 10626 len = 4; - 1068c: 463d mov r5, r7 + 10674: 463d mov r5, r7 val = 6; - 1068e: 2106 movs r1, #6 - 10690: e7d5 b.n 1063e + 10676: 2106 movs r1, #6 + 10678: e7d5 b.n 10626 len = 4; - 10692: 463d mov r5, r7 + 1067a: 463d mov r5, r7 val = 9; - 10694: 4659 mov r1, fp - 10696: e7d2 b.n 1063e + 1067c: 4659 mov r1, fp + 1067e: e7d2 b.n 10626 len = 4; - 10698: 463d mov r5, r7 + 10680: 463d mov r5, r7 val = 11; - 1069a: 4651 mov r1, sl - 1069c: e7cf b.n 1063e + 10682: 4651 mov r1, sl + 10684: e7cf b.n 10626 len = 4; - 1069e: 463d mov r5, r7 + 10686: 463d mov r5, r7 val = 13; - 106a0: 4641 mov r1, r8 - 106a2: e7cc b.n 1063e + 10688: 4641 mov r1, r8 + 1068a: e7cc b.n 10626 len = 4; - 106a4: 463d mov r5, r7 + 1068c: 463d mov r5, r7 val = 15; - 106a6: 4661 mov r1, ip - 106a8: e7c9 b.n 1063e + 1068e: 4661 mov r1, ip + 10690: e7c9 b.n 10626 len = 4; - 106aa: 463d mov r5, r7 - 106ac: e7c7 b.n 1063e - 106ae: 9a0d ldr r2, [sp, #52] ; 0x34 - 106b0: fb02 3303 mla r3, r2, r3, r3 - 106b4: 930e str r3, [sp, #56] ; 0x38 + 10692: 463d mov r5, r7 + 10694: e7c7 b.n 10626 + 10696: 9a0d ldr r2, [sp, #52] ; 0x34 + 10698: fb02 3303 mla r3, r2, r3, r3 + 1069c: 930e str r3, [sp, #56] ; 0x38 for(y = 1; y < h; y++) { - 106b6: 9b15 ldr r3, [sp, #84] ; 0x54 - 106b8: 2b01 cmp r3, #1 - 106ba: f340 8255 ble.w 10b68 + 1069e: 9b15 ldr r3, [sp, #84] ; 0x54 + 106a0: 2b01 cmp r3, #1 + 106a2: f340 8255 ble.w 10b50 ret = get_bits(rle_in, rle_rdp, rle_bpp); - 106be: 4b6b ldr r3, [pc, #428] ; (1086c ) - 106c0: f8d3 8004 ldr.w r8, [r3, #4] - 106c4: 7a1a ldrb r2, [r3, #8] - 106c6: 4610 mov r0, r2 - 106c8: 9219 str r2, [sp, #100] ; 0x64 + 106a6: 4b6b ldr r3, [pc, #428] ; (10854 ) + 106a8: f8d3 8004 ldr.w r8, [r3, #4] + 106ac: 7a1a ldrb r2, [r3, #8] + 106ae: 4610 mov r0, r2 + 106b0: 9219 str r2, [sp, #100] ; 0x64 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 106ca: 2201 movs r2, #1 - 106cc: fa02 f100 lsl.w r1, r2, r0 - 106d0: 3901 subs r1, #1 - 106d2: b2c9 uxtb r1, r1 - 106d4: 911b str r1, [sp, #108] ; 0x6c + 106b2: 2201 movs r2, #1 + 106b4: fa02 f100 lsl.w r1, r2, r0 + 106b8: 3901 subs r1, #1 + 106ba: b2c9 uxtb r1, r1 + 106bc: 911b str r1, [sp, #108] ; 0x6c if(bit_pos + len >= 8) { - 106d6: 4601 mov r1, r0 - 106d8: 4682 mov sl, r0 - 106da: 7c58 ldrb r0, [r3, #17] - 106dc: 9007 str r0, [sp, #28] - 106de: f1c1 0108 rsb r1, r1, #8 - 106e2: 910b str r1, [sp, #44] ; 0x2c - 106e4: f1ca 0110 rsb r1, sl, #16 - 106e8: 910d str r1, [sp, #52] ; 0x34 - 106ea: 7c19 ldrb r1, [r3, #16] - 106ec: 9103 str r1, [sp, #12] - 106ee: f8d3 c00c ldr.w ip, [r3, #12] - 106f2: f893 b009 ldrb.w fp, [r3, #9] - 106f6: 9908 ldr r1, [sp, #32] - 106f8: 9112 str r1, [sp, #72] ; 0x48 - 106fa: 9b0c ldr r3, [sp, #48] ; 0x30 - 106fc: 3b01 subs r3, #1 - 106fe: b29b uxth r3, r3 - 10700: fb01 f103 mul.w r1, r1, r3 - 10704: 911a str r1, [sp, #104] ; 0x68 - 10706: 2100 movs r1, #0 - 10708: 910a str r1, [sp, #40] ; 0x28 - 1070a: 910c str r1, [sp, #48] ; 0x30 - 1070c: 9106 str r1, [sp, #24] - 1070e: 9108 str r1, [sp, #32] - 10710: 9210 str r2, [sp, #64] ; 0x40 - 10712: 9a17 ldr r2, [sp, #92] ; 0x5c - 10714: 18d3 adds r3, r2, r3 - 10716: 931c str r3, [sp, #112] ; 0x70 + 106be: 4601 mov r1, r0 + 106c0: 4682 mov sl, r0 + 106c2: 7c58 ldrb r0, [r3, #17] + 106c4: 9007 str r0, [sp, #28] + 106c6: f1c1 0108 rsb r1, r1, #8 + 106ca: 910b str r1, [sp, #44] ; 0x2c + 106cc: f1ca 0110 rsb r1, sl, #16 + 106d0: 910d str r1, [sp, #52] ; 0x34 + 106d2: 7c19 ldrb r1, [r3, #16] + 106d4: 9103 str r1, [sp, #12] + 106d6: f8d3 c00c ldr.w ip, [r3, #12] + 106da: f893 b009 ldrb.w fp, [r3, #9] + 106de: 9908 ldr r1, [sp, #32] + 106e0: 9112 str r1, [sp, #72] ; 0x48 + 106e2: 9b0c ldr r3, [sp, #48] ; 0x30 + 106e4: 3b01 subs r3, #1 + 106e6: b29b uxth r3, r3 + 106e8: fb01 f103 mul.w r1, r1, r3 + 106ec: 911a str r1, [sp, #104] ; 0x68 + 106ee: 2100 movs r1, #0 + 106f0: 910a str r1, [sp, #40] ; 0x28 + 106f2: 910c str r1, [sp, #48] ; 0x30 + 106f4: 9106 str r1, [sp, #24] + 106f6: 9108 str r1, [sp, #32] + 106f8: 9210 str r2, [sp, #64] ; 0x40 + 106fa: 9a17 ldr r2, [sp, #92] ; 0x5c + 106fc: 18d3 adds r3, r2, r3 + 106fe: 931c str r3, [sp, #112] ; 0x70 rle_rdp += rle_bpp; - 10718: 2301 movs r3, #1 - 1071a: 9304 str r3, [sp, #16] + 10700: 2301 movs r3, #1 + 10702: 9304 str r3, [sp, #16] if(len == 3) { - 1071c: 9a0f ldr r2, [sp, #60] ; 0x3c - 1071e: 9209 str r2, [sp, #36] ; 0x24 + 10704: 9a0f ldr r2, [sp, #60] ; 0x3c + 10706: 9209 str r2, [sp, #36] ; 0x24 val = 4; - 10720: 2204 movs r2, #4 - 10722: 921d str r2, [sp, #116] ; 0x74 + 10708: 2204 movs r2, #4 + 1070a: 921d str r2, [sp, #116] ; 0x74 rle_rdp += rle_bpp; - 10724: 9305 str r3, [sp, #20] - 10726: 4666 mov r6, ip - 10728: e1f5 b.n 10b16 + 1070c: 9305 str r3, [sp, #20] + 1070e: 4666 mov r6, ip + 10710: e1f5 b.n 10afe for(i = 0; i < w; i++) { - 1072a: 2300 movs r3, #0 - 1072c: 930e str r3, [sp, #56] ; 0x38 - 1072e: e7c2 b.n 106b6 + 10712: 2300 movs r3, #0 + 10714: 930e str r3, [sp, #56] ; 0x38 + 10716: e7c2 b.n 1069e bit_mask = 0x3; - 10730: f04f 0903 mov.w r9, #3 - 10734: e00c b.n 10750 + 10718: f04f 0903 mov.w r9, #3 + 1071c: e00c b.n 10738 bit_mask = 0x7; - 10736: f04f 0907 mov.w r9, #7 - 1073a: e009 b.n 10750 + 1071e: f04f 0907 mov.w r9, #7 + 10722: e009 b.n 10738 bit_mask = 0xF; - 1073c: f04f 090f mov.w r9, #15 - 10740: e006 b.n 10750 + 10724: f04f 090f mov.w r9, #15 + 10728: e006 b.n 10738 bit_mask = 0xFF; - 10742: 46e1 mov r9, ip - 10744: e004 b.n 10750 + 1072a: 46e1 mov r9, ip + 1072c: e004 b.n 10738 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10746: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 - 1074a: e001 b.n 10750 + 1072e: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 + 10732: e001 b.n 10738 bit_mask = 0x1; - 1074c: f8dd 9010 ldr.w r9, [sp, #16] + 10734: f8dd 9010 ldr.w r9, [sp, #16] uint32_t byte_pos = bit_pos >> 3; - 10750: 08f3 lsrs r3, r6, #3 + 10738: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 10752: f006 0207 and.w r2, r6, #7 + 1073a: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 10756: eb02 0b0a add.w fp, r2, sl - 1075a: f1bb 0f07 cmp.w fp, #7 - 1075e: d831 bhi.n 107c4 + 1073e: eb02 0b0a add.w fp, r2, sl + 10742: f1bb 0f07 cmp.w fp, #7 + 10746: d831 bhi.n 107ac return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10760: f818 3003 ldrb.w r3, [r8, r3] - 10764: 9d0b ldr r5, [sp, #44] ; 0x2c - 10766: 1aaa subs r2, r5, r2 - 10768: fa43 f202 asr.w r2, r3, r2 - 1076c: ea02 0909 and.w r9, r2, r9 - 10770: fa5f f989 uxtb.w r9, r9 + 10748: f818 3003 ldrb.w r3, [r8, r3] + 1074c: 9d0b ldr r5, [sp, #44] ; 0x2c + 1074e: 1aaa subs r2, r5, r2 + 10750: fa43 f202 asr.w r2, r3, r2 + 10754: ea02 0909 and.w r9, r2, r9 + 10758: fa5f f989 uxtb.w r9, r9 if(rle_rdp != 0 && rle_prev_v == ret) { - 10774: b116 cbz r6, 1077c - 10776: 9b03 ldr r3, [sp, #12] - 10778: 454b cmp r3, r9 - 1077a: d033 beq.n 107e4 + 1075c: b116 cbz r6, 10764 + 1075e: 9b03 ldr r3, [sp, #12] + 10760: 454b cmp r3, r9 + 10762: d033 beq.n 107cc rle_rdp += rle_bpp; - 1077c: 4456 add r6, sl + 10764: 4456 add r6, sl rle_prev_v = ret; - 1077e: f8cd 900c str.w r9, [sp, #12] + 10766: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 10782: 9b04 ldr r3, [sp, #16] - 10784: 9306 str r3, [sp, #24] - 10786: 9b05 ldr r3, [sp, #20] - 10788: 9308 str r3, [sp, #32] + 1076a: 9b04 ldr r3, [sp, #16] + 1076c: 9306 str r3, [sp, #24] + 1076e: 9b05 ldr r3, [sp, #20] + 10770: 9308 str r3, [sp, #32] out[i] = rle_next(); - 1078a: f804 9f01 strb.w r9, [r4, #1]! + 10772: f804 9f01 strb.w r9, [r4, #1]! for(i = 0; i < w; i++) { - 1078e: 42a0 cmp r0, r4 - 10790: f000 815d beq.w 10a4e + 10776: 42a0 cmp r0, r4 + 10778: f000 815d beq.w 10a36 if(rle_state == RLE_STATE_SINGLE) { - 10794: bb69 cbnz r1, 107f2 + 1077c: bb69 cbnz r1, 107da switch(len) { - 10796: 9b07 ldr r3, [sp, #28] - 10798: 461a mov r2, r3 - 1079a: 2a07 cmp r2, #7 - 1079c: d8d3 bhi.n 10746 - 1079e: a301 add r3, pc, #4 ; (adr r3, 107a4 ) - 107a0: f853 f022 ldr.w pc, [r3, r2, lsl #2] - 107a4: 0001074d .word 0x0001074d - 107a8: 00010731 .word 0x00010731 - 107ac: 00010737 .word 0x00010737 - 107b0: 0001073d .word 0x0001073d - 107b4: 00010747 .word 0x00010747 - 107b8: 00010747 .word 0x00010747 - 107bc: 00010747 .word 0x00010747 - 107c0: 00010743 .word 0x00010743 + 1077e: 9b07 ldr r3, [sp, #28] + 10780: 461a mov r2, r3 + 10782: 2a07 cmp r2, #7 + 10784: d8d3 bhi.n 1072e + 10786: a301 add r3, pc, #4 ; (adr r3, 1078c ) + 10788: f853 f022 ldr.w pc, [r3, r2, lsl #2] + 1078c: 00010735 .word 0x00010735 + 10790: 00010719 .word 0x00010719 + 10794: 0001071f .word 0x0001071f + 10798: 00010725 .word 0x00010725 + 1079c: 0001072f .word 0x0001072f + 107a0: 0001072f .word 0x0001072f + 107a4: 0001072f .word 0x0001072f + 107a8: 0001072b .word 0x0001072b uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 107c4: f818 b003 ldrb.w fp, [r8, r3] - 107c8: 4443 add r3, r8 - 107ca: 785b ldrb r3, [r3, #1] - 107cc: eb03 230b add.w r3, r3, fp, lsl #8 + 107ac: f818 b003 ldrb.w fp, [r8, r3] + 107b0: 4443 add r3, r8 + 107b2: 785b ldrb r3, [r3, #1] + 107b4: eb03 230b add.w r3, r3, fp, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 107d0: b29b uxth r3, r3 - 107d2: 9d0d ldr r5, [sp, #52] ; 0x34 - 107d4: 1aaa subs r2, r5, r2 - 107d6: fa43 f202 asr.w r2, r3, r2 - 107da: ea02 0209 and.w r2, r2, r9 - 107de: fa5f f982 uxtb.w r9, r2 - 107e2: e7c7 b.n 10774 + 107b8: b29b uxth r3, r3 + 107ba: 9d0d ldr r5, [sp, #52] ; 0x34 + 107bc: 1aaa subs r2, r5, r2 + 107be: fa43 f202 asr.w r2, r3, r2 + 107c2: ea02 0209 and.w r2, r2, r9 + 107c6: fa5f f982 uxtb.w r9, r2 + 107ca: e7c7 b.n 1075c if(rle_rdp != 0 && rle_prev_v == ret) { - 107e4: 9b04 ldr r3, [sp, #16] - 107e6: 930a str r3, [sp, #40] ; 0x28 + 107cc: 9b04 ldr r3, [sp, #16] + 107ce: 930a str r3, [sp, #40] ; 0x28 rle_cnt = 0; - 107e8: 4677 mov r7, lr + 107d0: 4677 mov r7, lr if(rle_rdp != 0 && rle_prev_v == ret) { - 107ea: 9b05 ldr r3, [sp, #20] - 107ec: 930c str r3, [sp, #48] ; 0x30 + 107d2: 9b05 ldr r3, [sp, #20] + 107d4: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_REPEATE; - 107ee: 4619 mov r1, r3 - 107f0: e7c4 b.n 1077c + 107d6: 4619 mov r1, r3 + 107d8: e7c4 b.n 10764 else if(rle_state == RLE_STATE_REPEATE) { - 107f2: 2901 cmp r1, #1 - 107f4: d004 beq.n 10800 + 107da: 2901 cmp r1, #1 + 107dc: d004 beq.n 107e8 else if(rle_state == RLE_STATE_COUNTER) { - 107f6: 2902 cmp r1, #2 - 107f8: f000 80d7 beq.w 109aa + 107de: 2902 cmp r1, #2 + 107e0: f000 80d7 beq.w 10992 uint8_t ret = 0; - 107fc: 46f1 mov r9, lr - 107fe: e7c4 b.n 1078a + 107e4: 46f1 mov r9, lr + 107e6: e7c4 b.n 10772 uint32_t byte_pos = bit_pos >> 3; - 10800: 08f3 lsrs r3, r6, #3 + 107e8: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 10802: f006 0207 and.w r2, r6, #7 + 107ea: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 10806: f102 0901 add.w r9, r2, #1 - 1080a: f1b9 0f07 cmp.w r9, #7 - 1080e: d815 bhi.n 1083c + 107ee: f102 0901 add.w r9, r2, #1 + 107f2: f1b9 0f07 cmp.w r9, #7 + 107f6: d815 bhi.n 10824 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10810: f818 3003 ldrb.w r3, [r8, r3] - 10814: 43d2 mvns r2, r2 - 10816: 3208 adds r2, #8 - 10818: 4113 asrs r3, r2 - 1081a: f003 0301 and.w r3, r3, #1 + 107f8: f818 3003 ldrb.w r3, [r8, r3] + 107fc: 43d2 mvns r2, r2 + 107fe: 3208 adds r2, #8 + 10800: 4113 asrs r3, r2 + 10802: f003 0301 and.w r3, r3, #1 rle_cnt++; - 1081e: 1c7a adds r2, r7, #1 - 10820: b2d7 uxtb r7, r2 + 10806: 1c7a adds r2, r7, #1 + 10808: b2d7 uxtb r7, r2 rle_rdp += 1; - 10822: 1c72 adds r2, r6, #1 + 1080a: 1c72 adds r2, r6, #1 if(v == 1) { - 10824: b9bb cbnz r3, 10856 + 1080c: b9bb cbnz r3, 1083e switch(len) { - 10826: 9b07 ldr r3, [sp, #28] - 10828: 4619 mov r1, r3 - 1082a: 2907 cmp r1, #7 - 1082c: f200 808e bhi.w 1094c - 10830: e8df f001 tbb [pc, r1] - 10834: 8886848e .word 0x8886848e - 10838: 8a8c8c8c .word 0x8a8c8c8c + 1080e: 9b07 ldr r3, [sp, #28] + 10810: 4619 mov r1, r3 + 10812: 2907 cmp r1, #7 + 10814: f200 808e bhi.w 10934 + 10818: e8df f001 tbb [pc, r1] + 1081c: 8886848e .word 0x8886848e + 10820: 8a8c8c8c .word 0x8a8c8c8c uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 1083c: f818 9003 ldrb.w r9, [r8, r3] - 10840: 4443 add r3, r8 - 10842: 785b ldrb r3, [r3, #1] - 10844: eb03 2309 add.w r3, r3, r9, lsl #8 + 10824: f818 9003 ldrb.w r9, [r8, r3] + 10828: 4443 add r3, r8 + 1082a: 785b ldrb r3, [r3, #1] + 1082c: eb03 2309 add.w r3, r3, r9, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10848: b29b uxth r3, r3 - 1084a: 43d2 mvns r2, r2 - 1084c: 3210 adds r2, #16 - 1084e: 4113 asrs r3, r2 - 10850: f003 0301 and.w r3, r3, #1 - 10854: e7e3 b.n 1081e + 10830: b29b uxth r3, r3 + 10832: 43d2 mvns r2, r2 + 10834: 3210 adds r2, #16 + 10836: 4113 asrs r3, r2 + 10838: f003 0301 and.w r3, r3, #1 + 1083c: e7e3 b.n 10806 if(rle_cnt == 11) { - 10856: 2f0b cmp r7, #11 - 10858: d00a beq.n 10870 + 1083e: 2f0b cmp r7, #11 + 10840: d00a beq.n 10858 rle_rdp += 1; - 1085a: 4616 mov r6, r2 + 10842: 4616 mov r6, r2 ret = rle_prev_v; - 1085c: f8dd 900c ldr.w r9, [sp, #12] + 10844: f8dd 900c ldr.w r9, [sp, #12] if(rle_cnt == 11) { - 10860: 9b04 ldr r3, [sp, #16] - 10862: 930a str r3, [sp, #40] ; 0x28 - 10864: 9b05 ldr r3, [sp, #20] - 10866: 9306 str r3, [sp, #24] - 10868: e78f b.n 1078a - 1086a: bf00 nop - 1086c: 20002b5c .word 0x20002b5c + 10848: 9b04 ldr r3, [sp, #16] + 1084a: 930a str r3, [sp, #40] ; 0x28 + 1084c: 9b05 ldr r3, [sp, #20] + 1084e: 9306 str r3, [sp, #24] + 10850: e78f b.n 10772 + 10852: bf00 nop + 10854: 20002b5c .word 0x20002b5c uint32_t byte_pos = bit_pos >> 3; - 10870: 08d3 lsrs r3, r2, #3 + 10858: 08d3 lsrs r3, r2, #3 bit_pos = bit_pos & 0x7; - 10872: f002 0207 and.w r2, r2, #7 + 1085a: f002 0207 and.w r2, r2, #7 if(bit_pos + len >= 8) { - 10876: 1d91 adds r1, r2, #6 - 10878: 2907 cmp r1, #7 - 1087a: d815 bhi.n 108a8 + 1085e: 1d91 adds r1, r2, #6 + 10860: 2907 cmp r1, #7 + 10862: d815 bhi.n 10890 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 1087c: f818 3003 ldrb.w r3, [r8, r3] - 10880: f1c2 0202 rsb r2, r2, #2 - 10884: fa43 f202 asr.w r2, r3, r2 - 10888: f002 073f and.w r7, r2, #63 ; 0x3f + 10864: f818 3003 ldrb.w r3, [r8, r3] + 10868: f1c2 0202 rsb r2, r2, #2 + 1086c: fa43 f202 asr.w r2, r3, r2 + 10870: f002 073f and.w r7, r2, #63 ; 0x3f rle_rdp += 6; - 1088c: 3607 adds r6, #7 + 10874: 3607 adds r6, #7 if(rle_cnt != 0) { - 1088e: 2f00 cmp r7, #0 - 10890: f040 80cf bne.w 10a32 + 10876: 2f00 cmp r7, #0 + 10878: f040 80cf bne.w 10a1a switch(len) { - 10894: 9b07 ldr r3, [sp, #28] - 10896: 461a mov r2, r3 - 10898: 2a07 cmp r2, #7 - 1089a: d839 bhi.n 10910 - 1089c: e8df f002 tbb [pc, r2] - 108a0: 3330123b .word 0x3330123b - 108a4: 36383838 .word 0x36383838 + 1087c: 9b07 ldr r3, [sp, #28] + 1087e: 461a mov r2, r3 + 10880: 2a07 cmp r2, #7 + 10882: d839 bhi.n 108f8 + 10884: e8df f002 tbb [pc, r2] + 10888: 3330123b .word 0x3330123b + 1088c: 36383838 .word 0x36383838 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 108a8: f818 1003 ldrb.w r1, [r8, r3] - 108ac: 4443 add r3, r8 - 108ae: 785b ldrb r3, [r3, #1] - 108b0: eb03 2301 add.w r3, r3, r1, lsl #8 + 10890: f818 1003 ldrb.w r1, [r8, r3] + 10894: 4443 add r3, r8 + 10896: 785b ldrb r3, [r3, #1] + 10898: eb03 2301 add.w r3, r3, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 108b4: b29b uxth r3, r3 - 108b6: f1c2 020a rsb r2, r2, #10 - 108ba: fa43 f202 asr.w r2, r3, r2 - 108be: f002 073f and.w r7, r2, #63 ; 0x3f - 108c2: e7e3 b.n 1088c + 1089c: b29b uxth r3, r3 + 1089e: f1c2 020a rsb r2, r2, #10 + 108a2: fa43 f202 asr.w r2, r3, r2 + 108a6: f002 073f and.w r7, r2, #63 ; 0x3f + 108aa: e7e3 b.n 10874 bit_mask = 0x3; - 108c4: f04f 0903 mov.w r9, #3 + 108ac: f04f 0903 mov.w r9, #3 uint32_t byte_pos = bit_pos >> 3; - 108c8: 08f3 lsrs r3, r6, #3 + 108b0: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 108ca: f006 0207 and.w r2, r6, #7 + 108b2: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 108ce: eb02 010a add.w r1, r2, sl - 108d2: 2907 cmp r1, #7 - 108d4: d822 bhi.n 1091c + 108b6: eb02 010a add.w r1, r2, sl + 108ba: 2907 cmp r1, #7 + 108bc: d822 bhi.n 10904 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 108d6: f818 3003 ldrb.w r3, [r8, r3] - 108da: 990b ldr r1, [sp, #44] ; 0x2c - 108dc: 1a8a subs r2, r1, r2 - 108de: fa43 f202 asr.w r2, r3, r2 - 108e2: ea02 0209 and.w r2, r2, r9 - 108e6: fa5f f982 uxtb.w r9, r2 + 108be: f818 3003 ldrb.w r3, [r8, r3] + 108c2: 990b ldr r1, [sp, #44] ; 0x2c + 108c4: 1a8a subs r2, r1, r2 + 108c6: fa43 f202 asr.w r2, r3, r2 + 108ca: ea02 0209 and.w r2, r2, r9 + 108ce: fa5f f982 uxtb.w r9, r2 rle_rdp += rle_bpp; - 108ea: 4456 add r6, sl + 108d2: 4456 add r6, sl rle_prev_v = ret; - 108ec: f8cd 900c str.w r9, [sp, #12] + 108d4: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 108f0: 9b04 ldr r3, [sp, #16] - 108f2: 930a str r3, [sp, #40] ; 0x28 - 108f4: 9b05 ldr r3, [sp, #20] - 108f6: 930c str r3, [sp, #48] ; 0x30 + 108d8: 9b04 ldr r3, [sp, #16] + 108da: 930a str r3, [sp, #40] ; 0x28 + 108dc: 9b05 ldr r3, [sp, #20] + 108de: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_SINGLE; - 108f8: 4671 mov r1, lr + 108e0: 4671 mov r1, lr rle_rdp += rle_bpp; - 108fa: 9306 str r3, [sp, #24] - 108fc: 9308 str r3, [sp, #32] - 108fe: e744 b.n 1078a + 108e2: 9306 str r3, [sp, #24] + 108e4: 9308 str r3, [sp, #32] + 108e6: e744 b.n 10772 bit_mask = 0x7; - 10900: f04f 0907 mov.w r9, #7 - 10904: e7e0 b.n 108c8 + 108e8: f04f 0907 mov.w r9, #7 + 108ec: e7e0 b.n 108b0 bit_mask = 0xF; - 10906: f04f 090f mov.w r9, #15 - 1090a: e7dd b.n 108c8 + 108ee: f04f 090f mov.w r9, #15 + 108f2: e7dd b.n 108b0 bit_mask = 0xFF; - 1090c: 46e1 mov r9, ip - 1090e: e7db b.n 108c8 + 108f4: 46e1 mov r9, ip + 108f6: e7db b.n 108b0 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10910: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 - 10914: e7d8 b.n 108c8 + 108f8: f8dd 9044 ldr.w r9, [sp, #68] ; 0x44 + 108fc: e7d8 b.n 108b0 bit_mask = 0x1; - 10916: f8dd 9010 ldr.w r9, [sp, #16] - 1091a: e7d5 b.n 108c8 + 108fe: f8dd 9010 ldr.w r9, [sp, #16] + 10902: e7d5 b.n 108b0 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 1091c: f818 1003 ldrb.w r1, [r8, r3] - 10920: 4443 add r3, r8 - 10922: 785b ldrb r3, [r3, #1] - 10924: eb03 2301 add.w r3, r3, r1, lsl #8 + 10904: f818 1003 ldrb.w r1, [r8, r3] + 10908: 4443 add r3, r8 + 1090a: 785b ldrb r3, [r3, #1] + 1090c: eb03 2301 add.w r3, r3, r1, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10928: b29b uxth r3, r3 - 1092a: 990d ldr r1, [sp, #52] ; 0x34 - 1092c: 1a8a subs r2, r1, r2 - 1092e: fa43 f202 asr.w r2, r3, r2 - 10932: ea02 0209 and.w r2, r2, r9 - 10936: fa5f f982 uxtb.w r9, r2 - 1093a: e7d6 b.n 108ea + 10910: b29b uxth r3, r3 + 10912: 990d ldr r1, [sp, #52] ; 0x34 + 10914: 1a8a subs r2, r1, r2 + 10916: fa43 f202 asr.w r2, r3, r2 + 1091a: ea02 0209 and.w r2, r2, r9 + 1091e: fa5f f982 uxtb.w r9, r2 + 10922: e7d6 b.n 108d2 bit_mask = 0x3; - 1093c: 2603 movs r6, #3 - 1093e: e008 b.n 10952 + 10924: 2603 movs r6, #3 + 10926: e008 b.n 1093a bit_mask = 0x7; - 10940: 2607 movs r6, #7 - 10942: e006 b.n 10952 + 10928: 2607 movs r6, #7 + 1092a: e006 b.n 1093a bit_mask = 0xF; - 10944: 260f movs r6, #15 - 10946: e004 b.n 10952 + 1092c: 260f movs r6, #15 + 1092e: e004 b.n 1093a bit_mask = 0xFF; - 10948: 4666 mov r6, ip - 1094a: e002 b.n 10952 + 10930: 4666 mov r6, ip + 10932: e002 b.n 1093a bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 1094c: 9e11 ldr r6, [sp, #68] ; 0x44 - 1094e: e000 b.n 10952 + 10934: 9e11 ldr r6, [sp, #68] ; 0x44 + 10936: e000 b.n 1093a bit_mask = 0x1; - 10950: 9e04 ldr r6, [sp, #16] + 10938: 9e04 ldr r6, [sp, #16] uint32_t byte_pos = bit_pos >> 3; - 10952: 08d3 lsrs r3, r2, #3 + 1093a: 08d3 lsrs r3, r2, #3 bit_pos = bit_pos & 0x7; - 10954: f002 0107 and.w r1, r2, #7 + 1093c: f002 0107 and.w r1, r2, #7 if(bit_pos + len >= 8) { - 10958: eb01 090a add.w r9, r1, sl - 1095c: f1b9 0f07 cmp.w r9, #7 - 10960: d814 bhi.n 1098c + 10940: eb01 090a add.w r9, r1, sl + 10944: f1b9 0f07 cmp.w r9, #7 + 10948: d814 bhi.n 10974 return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 10962: f818 3003 ldrb.w r3, [r8, r3] - 10966: 9d0b ldr r5, [sp, #44] ; 0x2c - 10968: 1a69 subs r1, r5, r1 - 1096a: fa43 f101 asr.w r1, r3, r1 - 1096e: 4031 ands r1, r6 - 10970: fa5f f981 uxtb.w r9, r1 + 1094a: f818 3003 ldrb.w r3, [r8, r3] + 1094e: 9d0b ldr r5, [sp, #44] ; 0x2c + 10950: 1a69 subs r1, r5, r1 + 10952: fa43 f101 asr.w r1, r3, r1 + 10956: 4031 ands r1, r6 + 10958: fa5f f981 uxtb.w r9, r1 rle_rdp += rle_bpp; - 10974: eb02 060a add.w r6, r2, sl + 1095c: eb02 060a add.w r6, r2, sl rle_prev_v = ret; - 10978: f8cd 900c str.w r9, [sp, #12] + 10960: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 1097c: 9b04 ldr r3, [sp, #16] - 1097e: 930a str r3, [sp, #40] ; 0x28 - 10980: 9b05 ldr r3, [sp, #20] - 10982: 930c str r3, [sp, #48] ; 0x30 + 10964: 9b04 ldr r3, [sp, #16] + 10966: 930a str r3, [sp, #40] ; 0x28 + 10968: 9b05 ldr r3, [sp, #20] + 1096a: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_SINGLE; - 10984: 4671 mov r1, lr + 1096c: 4671 mov r1, lr rle_rdp += rle_bpp; - 10986: 9306 str r3, [sp, #24] - 10988: 9308 str r3, [sp, #32] - 1098a: e6fe b.n 1078a + 1096e: 9306 str r3, [sp, #24] + 10970: 9308 str r3, [sp, #32] + 10972: e6fe b.n 10772 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 1098c: f818 9003 ldrb.w r9, [r8, r3] - 10990: 4443 add r3, r8 - 10992: 785b ldrb r3, [r3, #1] - 10994: eb03 2309 add.w r3, r3, r9, lsl #8 + 10974: f818 9003 ldrb.w r9, [r8, r3] + 10978: 4443 add r3, r8 + 1097a: 785b ldrb r3, [r3, #1] + 1097c: eb03 2309 add.w r3, r3, r9, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10998: b29b uxth r3, r3 - 1099a: 9d0d ldr r5, [sp, #52] ; 0x34 - 1099c: 1a69 subs r1, r5, r1 - 1099e: fa43 f101 asr.w r1, r3, r1 - 109a2: 4031 ands r1, r6 - 109a4: fa5f f981 uxtb.w r9, r1 - 109a8: e7e4 b.n 10974 + 10980: b29b uxth r3, r3 + 10982: 9d0d ldr r5, [sp, #52] ; 0x34 + 10984: 1a69 subs r1, r5, r1 + 10986: fa43 f101 asr.w r1, r3, r1 + 1098a: 4031 ands r1, r6 + 1098c: fa5f f981 uxtb.w r9, r1 + 10990: e7e4 b.n 1095c rle_cnt--; - 109aa: 1e7b subs r3, r7, #1 + 10992: 1e7b subs r3, r7, #1 if(rle_cnt == 0) { - 109ac: f013 07ff ands.w r7, r3, #255 ; 0xff - 109b0: d148 bne.n 10a44 + 10994: f013 07ff ands.w r7, r3, #255 ; 0xff + 10998: d148 bne.n 10a2c switch(len) { - 109b2: 9b07 ldr r3, [sp, #28] - 109b4: 461a mov r2, r3 - 109b6: 2a07 cmp r2, #7 - 109b8: d80d bhi.n 109d6 - 109ba: e8df f002 tbb [pc, r2] - 109be: 040e .short 0x040e - 109c0: 0c0c0806 .word 0x0c0c0806 - 109c4: 0a0c .short 0x0a0c + 1099a: 9b07 ldr r3, [sp, #28] + 1099c: 461a mov r2, r3 + 1099e: 2a07 cmp r2, #7 + 109a0: d80d bhi.n 109be + 109a2: e8df f002 tbb [pc, r2] + 109a6: 040e .short 0x040e + 109a8: 0c0c0806 .word 0x0c0c0806 + 109ac: 0a0c .short 0x0a0c bit_mask = 0x3; - 109c6: 2103 movs r1, #3 - 109c8: e008 b.n 109dc + 109ae: 2103 movs r1, #3 + 109b0: e008 b.n 109c4 bit_mask = 0x7; - 109ca: 2107 movs r1, #7 - 109cc: e006 b.n 109dc + 109b2: 2107 movs r1, #7 + 109b4: e006 b.n 109c4 bit_mask = 0xF; - 109ce: 210f movs r1, #15 - 109d0: e004 b.n 109dc + 109b6: 210f movs r1, #15 + 109b8: e004 b.n 109c4 bit_mask = 0xFF; - 109d2: 4661 mov r1, ip - 109d4: e002 b.n 109dc + 109ba: 4661 mov r1, ip + 109bc: e002 b.n 109c4 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 109d6: 9911 ldr r1, [sp, #68] ; 0x44 - 109d8: e000 b.n 109dc + 109be: 9911 ldr r1, [sp, #68] ; 0x44 + 109c0: e000 b.n 109c4 bit_mask = 0x1; - 109da: 9904 ldr r1, [sp, #16] + 109c2: 9904 ldr r1, [sp, #16] uint32_t byte_pos = bit_pos >> 3; - 109dc: 08f3 lsrs r3, r6, #3 + 109c4: 08f3 lsrs r3, r6, #3 bit_pos = bit_pos & 0x7; - 109de: f006 0207 and.w r2, r6, #7 + 109c6: f006 0207 and.w r2, r6, #7 if(bit_pos + len >= 8) { - 109e2: eb02 090a add.w r9, r2, sl - 109e6: f1b9 0f07 cmp.w r9, #7 - 109ea: d813 bhi.n 10a14 + 109ca: eb02 090a add.w r9, r2, sl + 109ce: f1b9 0f07 cmp.w r9, #7 + 109d2: d813 bhi.n 109fc return (in[byte_pos] >> (8 - bit_pos - len)) & bit_mask; - 109ec: f818 3003 ldrb.w r3, [r8, r3] - 109f0: 9d0b ldr r5, [sp, #44] ; 0x2c - 109f2: 1aaa subs r2, r5, r2 - 109f4: fa43 f202 asr.w r2, r3, r2 - 109f8: 400a ands r2, r1 - 109fa: fa5f f982 uxtb.w r9, r2 + 109d4: f818 3003 ldrb.w r3, [r8, r3] + 109d8: 9d0b ldr r5, [sp, #44] ; 0x2c + 109da: 1aaa subs r2, r5, r2 + 109dc: fa43 f202 asr.w r2, r3, r2 + 109e0: 400a ands r2, r1 + 109e2: fa5f f982 uxtb.w r9, r2 rle_rdp += rle_bpp; - 109fe: 4456 add r6, sl + 109e6: 4456 add r6, sl rle_prev_v = ret; - 10a00: f8cd 900c str.w r9, [sp, #12] + 109e8: f8cd 900c str.w r9, [sp, #12] rle_rdp += rle_bpp; - 10a04: 9b04 ldr r3, [sp, #16] - 10a06: 930a str r3, [sp, #40] ; 0x28 - 10a08: 9b05 ldr r3, [sp, #20] - 10a0a: 930c str r3, [sp, #48] ; 0x30 + 109ec: 9b04 ldr r3, [sp, #16] + 109ee: 930a str r3, [sp, #40] ; 0x28 + 109f0: 9b05 ldr r3, [sp, #20] + 109f2: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_SINGLE; - 10a0c: 4671 mov r1, lr + 109f4: 4671 mov r1, lr rle_rdp += rle_bpp; - 10a0e: 9306 str r3, [sp, #24] - 10a10: 9308 str r3, [sp, #32] - 10a12: e6ba b.n 1078a + 109f6: 9306 str r3, [sp, #24] + 109f8: 9308 str r3, [sp, #32] + 109fa: e6ba b.n 10772 uint16_t in16 = (in[byte_pos] << 8) + in[byte_pos + 1]; - 10a14: f818 9003 ldrb.w r9, [r8, r3] - 10a18: 4443 add r3, r8 - 10a1a: 785b ldrb r3, [r3, #1] - 10a1c: eb03 2309 add.w r3, r3, r9, lsl #8 + 109fc: f818 9003 ldrb.w r9, [r8, r3] + 10a00: 4443 add r3, r8 + 10a02: 785b ldrb r3, [r3, #1] + 10a04: eb03 2309 add.w r3, r3, r9, lsl #8 return (in16 >> (16 - bit_pos - len)) & bit_mask; - 10a20: b29b uxth r3, r3 - 10a22: 9d0d ldr r5, [sp, #52] ; 0x34 - 10a24: 1aaa subs r2, r5, r2 - 10a26: fa43 f202 asr.w r2, r3, r2 - 10a2a: 400a ands r2, r1 - 10a2c: fa5f f982 uxtb.w r9, r2 - 10a30: e7e5 b.n 109fe + 10a08: b29b uxth r3, r3 + 10a0a: 9d0d ldr r5, [sp, #52] ; 0x34 + 10a0c: 1aaa subs r2, r5, r2 + 10a0e: fa43 f202 asr.w r2, r3, r2 + 10a12: 400a ands r2, r1 + 10a14: fa5f f982 uxtb.w r9, r2 + 10a18: e7e5 b.n 109e6 ret = rle_prev_v; - 10a32: f8dd 900c ldr.w r9, [sp, #12] + 10a1a: f8dd 900c ldr.w r9, [sp, #12] if(rle_cnt != 0) { - 10a36: 9b04 ldr r3, [sp, #16] - 10a38: 930a str r3, [sp, #40] ; 0x28 - 10a3a: 9b05 ldr r3, [sp, #20] - 10a3c: 930c str r3, [sp, #48] ; 0x30 + 10a1e: 9b04 ldr r3, [sp, #16] + 10a20: 930a str r3, [sp, #40] ; 0x28 + 10a22: 9b05 ldr r3, [sp, #20] + 10a24: 930c str r3, [sp, #48] ; 0x30 rle_state = RLE_STATE_COUNTER; - 10a3e: 2102 movs r1, #2 + 10a26: 2102 movs r1, #2 if(rle_cnt != 0) { - 10a40: 9306 str r3, [sp, #24] - 10a42: e6a2 b.n 1078a + 10a28: 9306 str r3, [sp, #24] + 10a2a: e6a2 b.n 10772 ret = rle_prev_v; - 10a44: f8dd 900c ldr.w r9, [sp, #12] + 10a2c: f8dd 900c ldr.w r9, [sp, #12] if(rle_cnt == 0) { - 10a48: 9b04 ldr r3, [sp, #16] - 10a4a: 930a str r3, [sp, #40] ; 0x28 - 10a4c: e69d b.n 1078a - 10a4e: f8dd 904c ldr.w r9, [sp, #76] ; 0x4c - 10a52: 9707 str r7, [sp, #28] - 10a54: 9f14 ldr r7, [sp, #80] ; 0x50 - 10a56: 9b16 ldr r3, [sp, #88] ; 0x58 - 10a58: f103 3eff add.w lr, r3, #4294967295 + 10a30: 9b04 ldr r3, [sp, #16] + 10a32: 930a str r3, [sp, #40] ; 0x28 + 10a34: e69d b.n 10772 + 10a36: f8dd 904c ldr.w r9, [sp, #76] ; 0x4c + 10a3a: 9707 str r7, [sp, #28] + 10a3c: 9f14 ldr r7, [sp, #80] ; 0x50 + 10a3e: 9b16 ldr r3, [sp, #88] ; 0x58 + 10a40: f103 3eff add.w lr, r3, #4294967295 for(i = 0; i < w; i++) { - 10a5c: 9d0e ldr r5, [sp, #56] ; 0x38 + 10a44: 9d0e ldr r5, [sp, #56] ; 0x38 val = 2; - 10a5e: f8dd c03c ldr.w ip, [sp, #60] ; 0x3c - 10a62: 9611 str r6, [sp, #68] ; 0x44 - 10a64: 9113 str r1, [sp, #76] ; 0x4c - 10a66: f8dd b048 ldr.w fp, [sp, #72] ; 0x48 - 10a6a: e021 b.n 10ab0 + 10a46: f8dd c03c ldr.w ip, [sp, #60] ; 0x3c + 10a4a: 9611 str r6, [sp, #68] ; 0x44 + 10a4c: 9113 str r1, [sp, #76] ; 0x4c + 10a4e: f8dd b048 ldr.w fp, [sp, #72] ; 0x48 + 10a52: e021 b.n 10a98 switch(val) { - 10a6c: 2a07 cmp r2, #7 - 10a6e: d840 bhi.n 10af2 - 10a70: e8df f002 tbb [pc, r2] - 10a74: 302d2a04 .word 0x302d2a04 - 10a78: 3c393633 .word 0x3c393633 + 10a54: 2a07 cmp r2, #7 + 10a56: d840 bhi.n 10ada + 10a58: e8df f002 tbb [pc, r2] + 10a5c: 302d2a04 .word 0x302d2a04 + 10a60: 3c393633 .word 0x3c393633 len = 4; - 10a7c: 2304 movs r3, #4 + 10a64: 2304 movs r3, #4 val = 0; - 10a7e: 2200 movs r2, #0 + 10a66: 2200 movs r2, #0 bit_pos = bit_pos & 0x7; - 10a80: f005 0107 and.w r1, r5, #7 - 10a84: f1c1 0108 rsb r1, r1, #8 + 10a68: f005 0107 and.w r1, r5, #7 + 10a6c: f1c1 0108 rsb r1, r1, #8 bit_pos = 8 - bit_pos - len; - 10a88: 1ac9 subs r1, r1, r3 + 10a70: 1ac9 subs r1, r1, r3 out[byte_pos] &= ((~bit_mask) << bit_pos); - 10a8a: f3c5 00cf ubfx r0, r5, #3, #16 + 10a72: f3c5 00cf ubfx r0, r5, #3, #16 uint8_t bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10a8e: 2601 movs r6, #1 - 10a90: fa06 f303 lsl.w r3, r6, r3 + 10a76: 2601 movs r6, #1 + 10a78: fa06 f303 lsl.w r3, r6, r3 out[byte_pos] &= ((~bit_mask) << bit_pos); - 10a94: 425b negs r3, r3 - 10a96: f063 03ff orn r3, r3, #255 ; 0xff - 10a9a: 408b lsls r3, r1 - 10a9c: f819 6000 ldrb.w r6, [r9, r0] - 10aa0: 4033 ands r3, r6 + 10a7c: 425b negs r3, r3 + 10a7e: f063 03ff orn r3, r3, #255 ; 0xff + 10a82: 408b lsls r3, r1 + 10a84: f819 6000 ldrb.w r6, [r9, r0] + 10a88: 4033 ands r3, r6 out[byte_pos] |= (val << bit_pos); - 10aa2: 408a lsls r2, r1 - 10aa4: 4313 orrs r3, r2 - 10aa6: f809 3000 strb.w r3, [r9, r0] - 10aaa: 445d add r5, fp + 10a8a: 408a lsls r2, r1 + 10a8c: 4313 orrs r3, r2 + 10a8e: f809 3000 strb.w r3, [r9, r0] + 10a92: 445d add r5, fp for(x = 0; x < w; x++) { - 10aac: 42bc cmp r4, r7 - 10aae: d022 beq.n 10af6 + 10a94: 42bc cmp r4, r7 + 10a96: d022 beq.n 10ade line_buf1[x] = line_buf2[x] ^ line_buf1[x]; - 10ab0: f817 2f01 ldrb.w r2, [r7, #1]! - 10ab4: f89e 3001 ldrb.w r3, [lr, #1] - 10ab8: 405a eors r2, r3 - 10aba: f80e 2f01 strb.w r2, [lr, #1]! + 10a98: f817 2f01 ldrb.w r2, [r7, #1]! + 10a9c: f89e 3001 ldrb.w r3, [lr, #1] + 10aa0: 405a eors r2, r3 + 10aa2: f80e 2f01 strb.w r2, [lr, #1]! if(len == 3) { - 10abe: f1bc 0f03 cmp.w ip, #3 - 10ac2: d0d3 beq.n 10a6c - 10ac4: 9b09 ldr r3, [sp, #36] ; 0x24 - 10ac6: e7db b.n 10a80 + 10aa6: f1bc 0f03 cmp.w ip, #3 + 10aaa: d0d3 beq.n 10a54 + 10aac: 9b09 ldr r3, [sp, #36] ; 0x24 + 10aae: e7db b.n 10a68 len = 4; - 10ac8: 2304 movs r3, #4 + 10ab0: 2304 movs r3, #4 val = 2; - 10aca: 2202 movs r2, #2 - 10acc: e7d8 b.n 10a80 + 10ab2: 2202 movs r2, #2 + 10ab4: e7d8 b.n 10a68 len = 4; - 10ace: 2304 movs r3, #4 + 10ab6: 2304 movs r3, #4 val = 4; - 10ad0: 9a1d ldr r2, [sp, #116] ; 0x74 - 10ad2: e7d5 b.n 10a80 + 10ab8: 9a1d ldr r2, [sp, #116] ; 0x74 + 10aba: e7d5 b.n 10a68 len = 4; - 10ad4: 2304 movs r3, #4 + 10abc: 2304 movs r3, #4 val = 6; - 10ad6: 2206 movs r2, #6 - 10ad8: e7d2 b.n 10a80 + 10abe: 2206 movs r2, #6 + 10ac0: e7d2 b.n 10a68 len = 4; - 10ada: 2304 movs r3, #4 + 10ac2: 2304 movs r3, #4 val = 9; - 10adc: 2209 movs r2, #9 - 10ade: e7cf b.n 10a80 + 10ac4: 2209 movs r2, #9 + 10ac6: e7cf b.n 10a68 len = 4; - 10ae0: 2304 movs r3, #4 + 10ac8: 2304 movs r3, #4 val = 11; - 10ae2: 220b movs r2, #11 - 10ae4: e7cc b.n 10a80 + 10aca: 220b movs r2, #11 + 10acc: e7cc b.n 10a68 len = 4; - 10ae6: 2304 movs r3, #4 + 10ace: 2304 movs r3, #4 val = 13; - 10ae8: 220d movs r2, #13 - 10aea: e7c9 b.n 10a80 + 10ad0: 220d movs r2, #13 + 10ad2: e7c9 b.n 10a68 len = 4; - 10aec: 2304 movs r3, #4 + 10ad4: 2304 movs r3, #4 val = 15; - 10aee: 220f movs r2, #15 - 10af0: e7c6 b.n 10a80 + 10ad6: 220f movs r2, #15 + 10ad8: e7c6 b.n 10a68 len = 4; - 10af2: 2304 movs r3, #4 - 10af4: e7c4 b.n 10a80 - 10af6: 9e11 ldr r6, [sp, #68] ; 0x44 - 10af8: f8dd b04c ldr.w fp, [sp, #76] ; 0x4c - 10afc: 9b1a ldr r3, [sp, #104] ; 0x68 - 10afe: 9a12 ldr r2, [sp, #72] ; 0x48 - 10b00: 4413 add r3, r2 - 10b02: 9a0e ldr r2, [sp, #56] ; 0x38 - 10b04: 441a add r2, r3 - 10b06: 920e str r2, [sp, #56] ; 0x38 - 10b08: 9b10 ldr r3, [sp, #64] ; 0x40 - 10b0a: 3301 adds r3, #1 - 10b0c: b21b sxth r3, r3 - 10b0e: 9310 str r3, [sp, #64] ; 0x40 + 10ada: 2304 movs r3, #4 + 10adc: e7c4 b.n 10a68 + 10ade: 9e11 ldr r6, [sp, #68] ; 0x44 + 10ae0: f8dd b04c ldr.w fp, [sp, #76] ; 0x4c + 10ae4: 9b1a ldr r3, [sp, #104] ; 0x68 + 10ae6: 9a12 ldr r2, [sp, #72] ; 0x48 + 10ae8: 4413 add r3, r2 + 10aea: 9a0e ldr r2, [sp, #56] ; 0x38 + 10aec: 441a add r2, r3 + 10aee: 920e str r2, [sp, #56] ; 0x38 + 10af0: 9b10 ldr r3, [sp, #64] ; 0x40 + 10af2: 3301 adds r3, #1 + 10af4: b21b sxth r3, r3 + 10af6: 9310 str r3, [sp, #64] ; 0x40 for(y = 1; y < h; y++) { - 10b10: 9a15 ldr r2, [sp, #84] ; 0x54 - 10b12: 429a cmp r2, r3 - 10b14: d015 beq.n 10b42 + 10af8: 9a15 ldr r2, [sp, #84] ; 0x54 + 10afa: 429a cmp r2, r3 + 10afc: d015 beq.n 10b2a for(i = 0; i < w; i++) { - 10b16: 9b18 ldr r3, [sp, #96] ; 0x60 - 10b18: 2b00 cmp r3, #0 - 10b1a: d0f5 beq.n 10b08 - 10b1c: 9b17 ldr r3, [sp, #92] ; 0x5c - 10b1e: 1e5f subs r7, r3, #1 - 10b20: 463c mov r4, r7 + 10afe: 9b18 ldr r3, [sp, #96] ; 0x60 + 10b00: 2b00 cmp r3, #0 + 10b02: d0f5 beq.n 10af0 + 10b04: 9b17 ldr r3, [sp, #92] ; 0x5c + 10b06: 1e5f subs r7, r3, #1 + 10b08: 463c mov r4, r7 uint8_t ret = 0; - 10b22: f04f 0e00 mov.w lr, #0 + 10b0a: f04f 0e00 mov.w lr, #0 switch(len) { - 10b26: 9b19 ldr r3, [sp, #100] ; 0x64 - 10b28: 1e5d subs r5, r3, #1 + 10b0e: 9b19 ldr r3, [sp, #100] ; 0x64 + 10b10: 1e5d subs r5, r3, #1 bit_mask = (uint16_t)((uint16_t) 1 << len) - 1; - 10b2a: 9b1b ldr r3, [sp, #108] ; 0x6c - 10b2c: 9311 str r3, [sp, #68] ; 0x44 + 10b12: 9b1b ldr r3, [sp, #108] ; 0x6c + 10b14: 9311 str r3, [sp, #68] ; 0x44 bit_mask = 0xFF; - 10b2e: f04f 0cff mov.w ip, #255 ; 0xff - 10b32: f8cd 904c str.w r9, [sp, #76] ; 0x4c - 10b36: 4659 mov r1, fp - 10b38: 9714 str r7, [sp, #80] ; 0x50 - 10b3a: 9f07 ldr r7, [sp, #28] - 10b3c: 9507 str r5, [sp, #28] - 10b3e: 981c ldr r0, [sp, #112] ; 0x70 - 10b40: e628 b.n 10794 - 10b42: 46b4 mov ip, r6 - 10b44: 9b08 ldr r3, [sp, #32] - 10b46: b9c3 cbnz r3, 10b7a - 10b48: 9b06 ldr r3, [sp, #24] - 10b4a: b113 cbz r3, 10b52 - 10b4c: 4b13 ldr r3, [pc, #76] ; (10b9c ) - 10b4e: f8c3 c00c str.w ip, [r3, #12] - 10b52: 9b0c ldr r3, [sp, #48] ; 0x30 - 10b54: b113 cbz r3, 10b5c - 10b56: 4b11 ldr r3, [pc, #68] ; (10b9c ) - 10b58: f883 b009 strb.w fp, [r3, #9] - 10b5c: 9b0a ldr r3, [sp, #40] ; 0x28 - 10b5e: b11b cbz r3, 10b68 - 10b60: 4b0e ldr r3, [pc, #56] ; (10b9c ) - 10b62: f89d 201c ldrb.w r2, [sp, #28] - 10b66: 745a strb r2, [r3, #17] + 10b16: f04f 0cff mov.w ip, #255 ; 0xff + 10b1a: f8cd 904c str.w r9, [sp, #76] ; 0x4c + 10b1e: 4659 mov r1, fp + 10b20: 9714 str r7, [sp, #80] ; 0x50 + 10b22: 9f07 ldr r7, [sp, #28] + 10b24: 9507 str r5, [sp, #28] + 10b26: 981c ldr r0, [sp, #112] ; 0x70 + 10b28: e628 b.n 1077c + 10b2a: 46b4 mov ip, r6 + 10b2c: 9b08 ldr r3, [sp, #32] + 10b2e: b9c3 cbnz r3, 10b62 + 10b30: 9b06 ldr r3, [sp, #24] + 10b32: b113 cbz r3, 10b3a + 10b34: 4b13 ldr r3, [pc, #76] ; (10b84 ) + 10b36: f8c3 c00c str.w ip, [r3, #12] + 10b3a: 9b0c ldr r3, [sp, #48] ; 0x30 + 10b3c: b113 cbz r3, 10b44 + 10b3e: 4b11 ldr r3, [pc, #68] ; (10b84 ) + 10b40: f883 b009 strb.w fp, [r3, #9] + 10b44: 9b0a ldr r3, [sp, #40] ; 0x28 + 10b46: b11b cbz r3, 10b50 + 10b48: 4b0e ldr r3, [pc, #56] ; (10b84 ) + 10b4a: f89d 201c ldrb.w r2, [sp, #28] + 10b4e: 745a strb r2, [r3, #17] _lv_mem_buf_release(line_buf1); - 10b68: 9816 ldr r0, [sp, #88] ; 0x58 - 10b6a: 4c0d ldr r4, [pc, #52] ; (10ba0 ) - 10b6c: 47a0 blx r4 + 10b50: 9816 ldr r0, [sp, #88] ; 0x58 + 10b52: 4c0d ldr r4, [pc, #52] ; (10b88 ) + 10b54: 47a0 blx r4 _lv_mem_buf_release(line_buf2); - 10b6e: 9817 ldr r0, [sp, #92] ; 0x5c - 10b70: 47a0 blx r4 + 10b56: 9817 ldr r0, [sp, #92] ; 0x5c + 10b58: 47a0 blx r4 return decompr_buf; - 10b72: 4b0a ldr r3, [pc, #40] ; (10b9c ) - 10b74: 6818 ldr r0, [r3, #0] - 10b76: f7ff bb2c b.w 101d2 - 10b7a: 4b08 ldr r3, [pc, #32] ; (10b9c ) - 10b7c: f89d 200c ldrb.w r2, [sp, #12] - 10b80: 741a strb r2, [r3, #16] - 10b82: e7e1 b.n 10b48 + 10b5a: 4b0a ldr r3, [pc, #40] ; (10b84 ) + 10b5c: 6818 ldr r0, [r3, #0] + 10b5e: f7ff bb2c b.w 101ba + 10b62: 4b08 ldr r3, [pc, #32] ; (10b84 ) + 10b64: f89d 200c ldrb.w r2, [sp, #12] + 10b68: 741a strb r2, [r3, #16] + 10b6a: e7e1 b.n 10b30 if(!gid) return NULL; - 10b84: 2000 movs r0, #0 - 10b86: f7ff bb24 b.w 101d2 + 10b6c: 2000 movs r0, #0 + 10b6e: f7ff bb24 b.w 101ba return NULL; - 10b8a: 2000 movs r0, #0 - 10b8c: f7ff bb21 b.w 101d2 + 10b72: 2000 movs r0, #0 + 10b74: f7ff bb21 b.w 101ba if(gsize == 0) return NULL; - 10b90: 2000 movs r0, #0 - 10b92: f7ff bb1e b.w 101d2 + 10b78: 2000 movs r0, #0 + 10b7a: f7ff bb1e b.w 101ba if(decompr_buf == NULL) return NULL; - 10b96: 2000 movs r0, #0 - 10b98: f7ff bb1b b.w 101d2 - 10b9c: 20002b5c .word 0x20002b5c - 10ba0: 00012571 .word 0x00012571 - -00010ba4 : -{ - 10ba4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 10ba8: b084 sub sp, #16 - 10baa: 4607 mov r7, r0 - 10bac: 460c mov r4, r1 - 10bae: 4699 mov r9, r3 + 10b7e: 2000 movs r0, #0 + 10b80: f7ff bb1b b.w 101ba + 10b84: 20002b5c .word 0x20002b5c + 10b88: 00012559 .word 0x00012559 + +00010b8c : +{ + 10b8c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 10b90: b084 sub sp, #16 + 10b92: 4607 mov r7, r0 + 10b94: 460c mov r4, r1 + 10b96: 4699 mov r9, r3 if(unicode_letter == '\t') { - 10bb0: 2a09 cmp r2, #9 + 10b98: 2a09 cmp r2, #9 is_tab = true; - 10bb2: bf06 itte eq - 10bb4: 2501 moveq r5, #1 + 10b9a: bf06 itte eq + 10b9c: 2501 moveq r5, #1 unicode_letter = ' '; - 10bb6: 2220 moveq r2, #32 + 10b9e: 2220 moveq r2, #32 bool is_tab = false; - 10bb8: 2500 movne r5, #0 + 10ba0: 2500 movne r5, #0 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 10bba: 6906 ldr r6, [r0, #16] + 10ba2: 6906 ldr r6, [r0, #16] uint32_t gid = get_glyph_dsc_id(font, unicode_letter); - 10bbc: 4611 mov r1, r2 - 10bbe: 4b49 ldr r3, [pc, #292] ; (10ce4 ) - 10bc0: 4798 blx r3 + 10ba4: 4611 mov r1, r2 + 10ba6: 4b49 ldr r3, [pc, #292] ; (10ccc ) + 10ba8: 4798 blx r3 if(!gid) return false; - 10bc2: 4680 mov r8, r0 - 10bc4: 2800 cmp r0, #0 - 10bc6: f000 8086 beq.w 10cd6 + 10baa: 4680 mov r8, r0 + 10bac: 2800 cmp r0, #0 + 10bae: f000 8086 beq.w 10cbe if(fdsc->kern_dsc) { - 10bca: 68f3 ldr r3, [r6, #12] - 10bcc: 2b00 cmp r3, #0 - 10bce: d07c beq.n 10cca + 10bb2: 68f3 ldr r3, [r6, #12] + 10bb4: 2b00 cmp r3, #0 + 10bb6: d07c beq.n 10cb2 uint32_t gid_next = get_glyph_dsc_id(font, unicode_letter_next); - 10bd0: 4649 mov r1, r9 - 10bd2: 4638 mov r0, r7 - 10bd4: 4b43 ldr r3, [pc, #268] ; (10ce4 ) - 10bd6: 4798 blx r3 + 10bb8: 4649 mov r1, r9 + 10bba: 4638 mov r0, r7 + 10bbc: 4b43 ldr r3, [pc, #268] ; (10ccc ) + 10bbe: 4798 blx r3 if(gid_next) { - 10bd8: 4603 mov r3, r0 - 10bda: bb18 cbnz r0, 10c24 + 10bc0: 4603 mov r3, r0 + 10bc2: bb18 cbnz r0, 10c0c int8_t kvalue = 0; - 10bdc: 2300 movs r3, #0 + 10bc4: 2300 movs r3, #0 const lv_font_fmt_txt_glyph_dsc_t * gdsc = &fdsc->glyph_dsc[gid]; - 10bde: 6870 ldr r0, [r6, #4] - 10be0: eb00 00c8 add.w r0, r0, r8, lsl #3 + 10bc6: 6870 ldr r0, [r6, #4] + 10bc8: eb00 00c8 add.w r0, r0, r8, lsl #3 int32_t kv = ((int32_t)((int32_t)kvalue * fdsc->kern_scale) >> 4); - 10be4: 8a32 ldrh r2, [r6, #16] - 10be6: fb03 f302 mul.w r3, r3, r2 - 10bea: 111b asrs r3, r3, #4 + 10bcc: 8a32 ldrh r2, [r6, #16] + 10bce: fb03 f302 mul.w r3, r3, r2 + 10bd2: 111b asrs r3, r3, #4 uint32_t adv_w = gdsc->adv_w; - 10bec: 8842 ldrh r2, [r0, #2] - 10bee: f3c2 120b ubfx r2, r2, #4, #12 + 10bd4: 8842 ldrh r2, [r0, #2] + 10bd6: f3c2 120b ubfx r2, r2, #4, #12 if(is_tab) adv_w *= 2; - 10bf2: b105 cbz r5, 10bf6 - 10bf4: 0052 lsls r2, r2, #1 + 10bda: b105 cbz r5, 10bde + 10bdc: 0052 lsls r2, r2, #1 adv_w = (adv_w + (1 << 3)) >> 4; - 10bf6: 3308 adds r3, #8 - 10bf8: 4413 add r3, r2 - 10bfa: 091b lsrs r3, r3, #4 + 10bde: 3308 adds r3, #8 + 10be0: 4413 add r3, r2 + 10be2: 091b lsrs r3, r3, #4 dsc_out->adv_w = adv_w; - 10bfc: 8023 strh r3, [r4, #0] + 10be4: 8023 strh r3, [r4, #0] dsc_out->box_h = gdsc->box_h; - 10bfe: 7943 ldrb r3, [r0, #5] - 10c00: 80a3 strh r3, [r4, #4] + 10be6: 7943 ldrb r3, [r0, #5] + 10be8: 80a3 strh r3, [r4, #4] dsc_out->box_w = gdsc->box_w; - 10c02: 7902 ldrb r2, [r0, #4] - 10c04: 8062 strh r2, [r4, #2] + 10bea: 7902 ldrb r2, [r0, #4] + 10bec: 8062 strh r2, [r4, #2] dsc_out->ofs_x = gdsc->ofs_x; - 10c06: f990 3006 ldrsb.w r3, [r0, #6] - 10c0a: 80e3 strh r3, [r4, #6] + 10bee: f990 3006 ldrsb.w r3, [r0, #6] + 10bf2: 80e3 strh r3, [r4, #6] dsc_out->ofs_y = gdsc->ofs_y; - 10c0c: f990 3007 ldrsb.w r3, [r0, #7] - 10c10: 8123 strh r3, [r4, #8] + 10bf4: f990 3007 ldrsb.w r3, [r0, #7] + 10bf8: 8123 strh r3, [r4, #8] dsc_out->bpp = (uint8_t)fdsc->bpp; - 10c12: 7cf3 ldrb r3, [r6, #19] - 10c14: f3c3 0383 ubfx r3, r3, #2, #4 - 10c18: 72a3 strb r3, [r4, #10] + 10bfa: 7cf3 ldrb r3, [r6, #19] + 10bfc: f3c3 0383 ubfx r3, r3, #2, #4 + 10c00: 72a3 strb r3, [r4, #10] if(is_tab) dsc_out->box_w = dsc_out->box_w * 2; - 10c1a: 2d00 cmp r5, #0 - 10c1c: d060 beq.n 10ce0 - 10c1e: 0052 lsls r2, r2, #1 - 10c20: 8062 strh r2, [r4, #2] - 10c22: e059 b.n 10cd8 + 10c02: 2d00 cmp r5, #0 + 10c04: d060 beq.n 10cc8 + 10c06: 0052 lsls r2, r2, #1 + 10c08: 8062 strh r2, [r4, #2] + 10c0a: e059 b.n 10cc0 lv_font_fmt_txt_dsc_t * fdsc = (lv_font_fmt_txt_dsc_t *) font->dsc; - 10c24: 693a ldr r2, [r7, #16] + 10c0c: 693a ldr r2, [r7, #16] if(fdsc->kern_classes == 0) { - 10c26: 7cd1 ldrb r1, [r2, #19] - 10c28: f011 0f40 tst.w r1, #64 ; 0x40 - 10c2c: d13c bne.n 10ca8 + 10c0e: 7cd1 ldrb r1, [r2, #19] + 10c10: f011 0f40 tst.w r1, #64 ; 0x40 + 10c14: d13c bne.n 10c90 const lv_font_fmt_txt_kern_pair_t * kdsc = fdsc->kern_dsc; - 10c2e: 68d7 ldr r7, [r2, #12] + 10c16: 68d7 ldr r7, [r2, #12] if(kdsc->glyph_ids_size == 0) { - 10c30: 7afa ldrb r2, [r7, #11] - 10c32: f012 0203 ands.w r2, r2, #3 - 10c36: d003 beq.n 10c40 + 10c18: 7afa ldrb r2, [r7, #11] + 10c1a: f012 0203 ands.w r2, r2, #3 + 10c1e: d003 beq.n 10c28 else if(kdsc->glyph_ids_size == 1) { - 10c38: 2a01 cmp r2, #1 - 10c3a: d01b beq.n 10c74 + 10c20: 2a01 cmp r2, #1 + 10c22: d01b beq.n 10c5c int8_t value = 0; - 10c3c: 2300 movs r3, #0 - 10c3e: e7ce b.n 10bde + 10c24: 2300 movs r3, #0 + 10c26: e7ce b.n 10bc6 const uint8_t * g_ids = kdsc->glyph_ids; - 10c40: f8d7 9000 ldr.w r9, [r7] + 10c28: f8d7 9000 ldr.w r9, [r7] uint16_t g_id_both = (gid_right << 8) + gid_left; /*Create one number from the ids*/ - 10c44: eb08 2300 add.w r3, r8, r0, lsl #8 - 10c48: a804 add r0, sp, #16 - 10c4a: f820 3d04 strh.w r3, [r0, #-4]! + 10c2c: eb08 2300 add.w r3, r8, r0, lsl #8 + 10c30: a804 add r0, sp, #16 + 10c32: f820 3d04 strh.w r3, [r0, #-4]! uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 2, kern_pair_8_compare); - 10c4e: 68ba ldr r2, [r7, #8] - 10c50: 4b25 ldr r3, [pc, #148] ; (10ce8 ) - 10c52: 9300 str r3, [sp, #0] - 10c54: 2302 movs r3, #2 - 10c56: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 - 10c5a: 4649 mov r1, r9 - 10c5c: f8df a090 ldr.w sl, [pc, #144] ; 10cf0 - 10c60: 47d0 blx sl + 10c36: 68ba ldr r2, [r7, #8] + 10c38: 4b25 ldr r3, [pc, #148] ; (10cd0 ) + 10c3a: 9300 str r3, [sp, #0] + 10c3c: 2302 movs r3, #2 + 10c3e: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 + 10c42: 4649 mov r1, r9 + 10c44: f8df a090 ldr.w sl, [pc, #144] ; 10cd8 + 10c48: 47d0 blx sl if(kid_p) { - 10c62: b128 cbz r0, 10c70 + 10c4a: b128 cbz r0, 10c58 lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - g_ids); - 10c64: eba0 0309 sub.w r3, r0, r9 + 10c4c: eba0 0309 sub.w r3, r0, r9 ofs = ofs >> 1; /*ofs is for pair, divide by 2 to refer as a single value*/ - 10c68: 085b lsrs r3, r3, #1 + 10c50: 085b lsrs r3, r3, #1 value = kdsc->values[ofs]; - 10c6a: 687a ldr r2, [r7, #4] - 10c6c: 56d3 ldrsb r3, [r2, r3] - 10c6e: e7b6 b.n 10bde + 10c52: 687a ldr r2, [r7, #4] + 10c54: 56d3 ldrsb r3, [r2, r3] + 10c56: e7b6 b.n 10bc6 int8_t value = 0; - 10c70: 2300 movs r3, #0 - 10c72: e7b4 b.n 10bde + 10c58: 2300 movs r3, #0 + 10c5a: e7b4 b.n 10bc6 const uint16_t * g_ids = kdsc->glyph_ids; - 10c74: f8d7 9000 ldr.w r9, [r7] + 10c5c: f8d7 9000 ldr.w r9, [r7] lv_uintptr_t g_id_both = (uint32_t)((uint32_t)gid_right << 8) + gid_left; /*Create one number from the ids*/ - 10c78: eb08 2300 add.w r3, r8, r0, lsl #8 - 10c7c: a804 add r0, sp, #16 - 10c7e: f840 3d04 str.w r3, [r0, #-4]! + 10c60: eb08 2300 add.w r3, r8, r0, lsl #8 + 10c64: a804 add r0, sp, #16 + 10c66: f840 3d04 str.w r3, [r0, #-4]! uint8_t * kid_p = _lv_utils_bsearch(&g_id_both, g_ids, kdsc->pair_cnt, 4, kern_pair_16_compare); - 10c82: 68ba ldr r2, [r7, #8] - 10c84: 4b19 ldr r3, [pc, #100] ; (10cec ) - 10c86: 9300 str r3, [sp, #0] - 10c88: 2304 movs r3, #4 - 10c8a: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 - 10c8e: 4649 mov r1, r9 - 10c90: f8df a05c ldr.w sl, [pc, #92] ; 10cf0 - 10c94: 47d0 blx sl + 10c6a: 68ba ldr r2, [r7, #8] + 10c6c: 4b19 ldr r3, [pc, #100] ; (10cd4 ) + 10c6e: 9300 str r3, [sp, #0] + 10c70: 2304 movs r3, #4 + 10c72: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 + 10c76: 4649 mov r1, r9 + 10c78: f8df a05c ldr.w sl, [pc, #92] ; 10cd8 + 10c7c: 47d0 blx sl if(kid_p) { - 10c96: b128 cbz r0, 10ca4 + 10c7e: b128 cbz r0, 10c8c lv_uintptr_t ofs = (lv_uintptr_t)(kid_p - (const uint8_t *)g_ids); - 10c98: eba0 0309 sub.w r3, r0, r9 + 10c80: eba0 0309 sub.w r3, r0, r9 ofs = ofs >> 4; /*ofs is 4 byte pairs, divide by 4 to refer as a single value*/ - 10c9c: 091b lsrs r3, r3, #4 + 10c84: 091b lsrs r3, r3, #4 value = kdsc->values[ofs]; - 10c9e: 687a ldr r2, [r7, #4] - 10ca0: 56d3 ldrsb r3, [r2, r3] - 10ca2: e79c b.n 10bde + 10c86: 687a ldr r2, [r7, #4] + 10c88: 56d3 ldrsb r3, [r2, r3] + 10c8a: e79c b.n 10bc6 int8_t value = 0; - 10ca4: 2300 movs r3, #0 - 10ca6: e79a b.n 10bde + 10c8c: 2300 movs r3, #0 + 10c8e: e79a b.n 10bc6 const lv_font_fmt_txt_kern_classes_t * kdsc = fdsc->kern_dsc; - 10ca8: 68d1 ldr r1, [r2, #12] + 10c90: 68d1 ldr r1, [r2, #12] uint8_t left_class = kdsc->left_class_mapping[gid_left]; - 10caa: 684a ldr r2, [r1, #4] - 10cac: f812 2008 ldrb.w r2, [r2, r8] + 10c92: 684a ldr r2, [r1, #4] + 10c94: f812 2008 ldrb.w r2, [r2, r8] if(left_class > 0 && right_class > 0) { - 10cb0: b16a cbz r2, 10cce + 10c98: b16a cbz r2, 10cb6 uint8_t right_class = kdsc->right_class_mapping[gid_right]; - 10cb2: 6888 ldr r0, [r1, #8] - 10cb4: 5cc3 ldrb r3, [r0, r3] + 10c9a: 6888 ldr r0, [r1, #8] + 10c9c: 5cc3 ldrb r3, [r0, r3] if(left_class > 0 && right_class > 0) { - 10cb6: b163 cbz r3, 10cd2 + 10c9e: b163 cbz r3, 10cba value = kdsc->class_pair_values[(left_class - 1) * kdsc->right_class_cnt + (right_class - 1)]; - 10cb8: 3a01 subs r2, #1 - 10cba: 7b48 ldrb r0, [r1, #13] - 10cbc: 6809 ldr r1, [r1, #0] - 10cbe: 440b add r3, r1 - 10cc0: fb00 3202 mla r2, r0, r2, r3 - 10cc4: f912 3c01 ldrsb.w r3, [r2, #-1] - 10cc8: e789 b.n 10bde + 10ca0: 3a01 subs r2, #1 + 10ca2: 7b48 ldrb r0, [r1, #13] + 10ca4: 6809 ldr r1, [r1, #0] + 10ca6: 440b add r3, r1 + 10ca8: fb00 3202 mla r2, r0, r2, r3 + 10cac: f912 3c01 ldrsb.w r3, [r2, #-1] + 10cb0: e789 b.n 10bc6 int8_t kvalue = 0; - 10cca: 2300 movs r3, #0 - 10ccc: e787 b.n 10bde + 10cb2: 2300 movs r3, #0 + 10cb4: e787 b.n 10bc6 int8_t value = 0; - 10cce: 2300 movs r3, #0 - 10cd0: e785 b.n 10bde - 10cd2: 2300 movs r3, #0 - 10cd4: e783 b.n 10bde + 10cb6: 2300 movs r3, #0 + 10cb8: e785 b.n 10bc6 + 10cba: 2300 movs r3, #0 + 10cbc: e783 b.n 10bc6 if(!gid) return false; - 10cd6: 2500 movs r5, #0 + 10cbe: 2500 movs r5, #0 } - 10cd8: 4628 mov r0, r5 - 10cda: b004 add sp, #16 - 10cdc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 10cc0: 4628 mov r0, r5 + 10cc2: b004 add sp, #16 + 10cc4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} return true; - 10ce0: 2501 movs r5, #1 - 10ce2: e7f9 b.n 10cd8 - 10ce4: 000100ad .word 0x000100ad - 10ce8: 00010081 .word 0x00010081 - 10cec: 00010093 .word 0x00010093 - 10cf0: 00014185 .word 0x00014185 + 10cc8: 2501 movs r5, #1 + 10cca: e7f9 b.n 10cc0 + 10ccc: 00010095 .word 0x00010095 + 10cd0: 00010069 .word 0x00010069 + 10cd4: 0001007b .word 0x0001007b + 10cd8: 0001416d .word 0x0001416d -00010cf4 <_lv_font_clean_up_fmt_txt>: +00010cdc <_lv_font_clean_up_fmt_txt>: { - 10cf4: b508 push {r3, lr} + 10cdc: b508 push {r3, lr} if(decompr_buf) { - 10cf6: 4b04 ldr r3, [pc, #16] ; (10d08 <_lv_font_clean_up_fmt_txt+0x14>) - 10cf8: 6818 ldr r0, [r3, #0] - 10cfa: b120 cbz r0, 10d06 <_lv_font_clean_up_fmt_txt+0x12> + 10cde: 4b04 ldr r3, [pc, #16] ; (10cf0 <_lv_font_clean_up_fmt_txt+0x14>) + 10ce0: 6818 ldr r0, [r3, #0] + 10ce2: b120 cbz r0, 10cee <_lv_font_clean_up_fmt_txt+0x12> lv_mem_free(decompr_buf); - 10cfc: 4b03 ldr r3, [pc, #12] ; (10d0c <_lv_font_clean_up_fmt_txt+0x18>) - 10cfe: 4798 blx r3 + 10ce4: 4b03 ldr r3, [pc, #12] ; (10cf4 <_lv_font_clean_up_fmt_txt+0x18>) + 10ce6: 4798 blx r3 decompr_buf = NULL; - 10d00: 2200 movs r2, #0 - 10d02: 4b01 ldr r3, [pc, #4] ; (10d08 <_lv_font_clean_up_fmt_txt+0x14>) - 10d04: 601a str r2, [r3, #0] - 10d06: bd08 pop {r3, pc} - 10d08: 20002b5c .word 0x20002b5c - 10d0c: 000124c5 .word 0x000124c5 - -00010d10 : + 10ce8: 2200 movs r2, #0 + 10cea: 4b01 ldr r3, [pc, #4] ; (10cf0 <_lv_font_clean_up_fmt_txt+0x14>) + 10cec: 601a str r2, [r3, #0] + 10cee: bd08 pop {r3, pc} + 10cf0: 20002b5c .word 0x20002b5c + 10cf4: 000124ad .word 0x000124ad + +00010cf8 : * It is used to surly have known values in the fields ant not memory junk. * After it you can set the fields. * @param driver pointer to driver variable to initialize */ void lv_disp_drv_init(lv_disp_drv_t * driver) { - 10d10: b510 push {r4, lr} - 10d12: 4604 mov r4, r0 + 10cf8: b510 push {r4, lr} + 10cfa: 4604 mov r4, r0 _lv_memset_00(driver, sizeof(lv_disp_drv_t)); - 10d14: 212c movs r1, #44 ; 0x2c - 10d16: 4b15 ldr r3, [pc, #84] ; (10d6c ) - 10d18: 4798 blx r3 + 10cfc: 212c movs r1, #44 ; 0x2c + 10cfe: 4b15 ldr r3, [pc, #84] ; (10d54 ) + 10d00: 4798 blx r3 driver->flush_cb = NULL; - 10d1a: 2300 movs r3, #0 - 10d1c: 60e3 str r3, [r4, #12] + 10d02: 2300 movs r3, #0 + 10d04: 60e3 str r3, [r4, #12] driver->hor_res = LV_HOR_RES_MAX; - 10d1e: f44f 72f0 mov.w r2, #480 ; 0x1e0 - 10d22: 8022 strh r2, [r4, #0] + 10d06: f44f 72f0 mov.w r2, #480 ; 0x1e0 + 10d0a: 8022 strh r2, [r4, #0] driver->ver_res = LV_VER_RES_MAX; - 10d24: f44f 7288 mov.w r2, #272 ; 0x110 - 10d28: 8062 strh r2, [r4, #2] + 10d0c: f44f 7288 mov.w r2, #272 ; 0x110 + 10d10: 8062 strh r2, [r4, #2] driver->buffer = NULL; - 10d2a: 6063 str r3, [r4, #4] + 10d12: 6063 str r3, [r4, #4] driver->rotated = 0; - 10d2c: 7a22 ldrb r2, [r4, #8] - 10d2e: f363 0241 bfi r2, r3, #1, #1 - 10d32: 7222 strb r2, [r4, #8] + 10d14: 7a22 ldrb r2, [r4, #8] + 10d16: f363 0241 bfi r2, r3, #1, #1 + 10d1a: 7222 strb r2, [r4, #8] driver->color_chroma_key = LV_COLOR_TRANSP; - 10d34: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 - 10d38: f363 0204 bfi r2, r3, #0, #5 - 10d3c: f884 2028 strb.w r2, [r4, #40] ; 0x28 - 10d40: 8d22 ldrh r2, [r4, #40] ; 0x28 - 10d42: f442 62fc orr.w r2, r2, #2016 ; 0x7e0 - 10d46: 8522 strh r2, [r4, #40] ; 0x28 - 10d48: 0a12 lsrs r2, r2, #8 - 10d4a: f363 02c7 bfi r2, r3, #3, #5 - 10d4e: f884 2029 strb.w r2, [r4, #41] ; 0x29 + 10d1c: f894 2028 ldrb.w r2, [r4, #40] ; 0x28 + 10d20: f363 0204 bfi r2, r3, #0, #5 + 10d24: f884 2028 strb.w r2, [r4, #40] ; 0x28 + 10d28: 8d22 ldrh r2, [r4, #40] ; 0x28 + 10d2a: f442 62fc orr.w r2, r2, #2016 ; 0x7e0 + 10d2e: 8522 strh r2, [r4, #40] ; 0x28 + 10d30: 0a12 lsrs r2, r2, #8 + 10d32: f363 02c7 bfi r2, r3, #3, #5 + 10d36: f884 2029 strb.w r2, [r4, #41] ; 0x29 driver->dpi = LV_DPI; - 10d52: 8922 ldrh r2, [r4, #8] - 10d54: 2182 movs r1, #130 ; 0x82 - 10d56: f361 028b bfi r2, r1, #2, #10 - 10d5a: 8122 strh r2, [r4, #8] + 10d3a: 8922 ldrh r2, [r4, #8] + 10d3c: 2182 movs r1, #130 ; 0x82 + 10d3e: f361 028b bfi r2, r1, #2, #10 + 10d42: 8122 strh r2, [r4, #8] #if LV_ANTIALIAS driver->antialiasing = true; - 10d5c: f042 0201 orr.w r2, r2, #1 - 10d60: 7222 strb r2, [r4, #8] + 10d44: f042 0201 orr.w r2, r2, #1 + 10d48: 7222 strb r2, [r4, #8] #if LV_COLOR_SCREEN_TRANSP driver->screen_transp = 1; #endif #if LV_USE_GPU driver->gpu_blend_cb = NULL; - 10d62: 6223 str r3, [r4, #32] + 10d4a: 6223 str r3, [r4, #32] driver->gpu_fill_cb = NULL; - 10d64: 6263 str r3, [r4, #36] ; 0x24 + 10d4c: 6263 str r3, [r4, #36] ; 0x24 #if LV_USE_USER_DATA driver->user_data = NULL; #endif driver->set_px_cb = NULL; - 10d66: 6163 str r3, [r4, #20] - 10d68: bd10 pop {r4, pc} - 10d6a: bf00 nop - 10d6c: 00012b37 .word 0x00012b37 + 10d4e: 6163 str r3, [r4, #20] + 10d50: bd10 pop {r4, pc} + 10d52: bf00 nop + 10d54: 00012b1f .word 0x00012b1f -00010d70 : +00010d58 : * It lets LVGL to render next frame into the other buffer while previous is being * sent. Set to `NULL` if unused. * @param size_in_px_cnt size of the `buf1` and `buf2` in pixel count. */ void lv_disp_buf_init(lv_disp_buf_t * disp_buf, void * buf1, void * buf2, uint32_t size_in_px_cnt) { - 10d70: b5f8 push {r3, r4, r5, r6, r7, lr} - 10d72: 4604 mov r4, r0 - 10d74: 460d mov r5, r1 - 10d76: 4617 mov r7, r2 - 10d78: 461e mov r6, r3 + 10d58: b5f8 push {r3, r4, r5, r6, r7, lr} + 10d5a: 4604 mov r4, r0 + 10d5c: 460d mov r5, r1 + 10d5e: 4617 mov r7, r2 + 10d60: 461e mov r6, r3 _lv_memset_00(disp_buf, sizeof(lv_disp_buf_t)); - 10d7a: 2124 movs r1, #36 ; 0x24 - 10d7c: 4b03 ldr r3, [pc, #12] ; (10d8c ) - 10d7e: 4798 blx r3 + 10d62: 2124 movs r1, #36 ; 0x24 + 10d64: 4b03 ldr r3, [pc, #12] ; (10d74 ) + 10d66: 4798 blx r3 disp_buf->buf1 = buf1; - 10d80: 6025 str r5, [r4, #0] + 10d68: 6025 str r5, [r4, #0] disp_buf->buf2 = buf2; - 10d82: 6067 str r7, [r4, #4] + 10d6a: 6067 str r7, [r4, #4] disp_buf->buf_act = disp_buf->buf1; - 10d84: 60a5 str r5, [r4, #8] + 10d6c: 60a5 str r5, [r4, #8] disp_buf->size = size_in_px_cnt; - 10d86: 60e6 str r6, [r4, #12] - 10d88: bdf8 pop {r3, r4, r5, r6, r7, pc} - 10d8a: bf00 nop - 10d8c: 00012b37 .word 0x00012b37 + 10d6e: 60e6 str r6, [r4, #12] + 10d70: bdf8 pop {r3, r4, r5, r6, r7, pc} + 10d72: bf00 nop + 10d74: 00012b1f .word 0x00012b1f -00010d90 : +00010d78 : * Automatically set the first display as active. * @param driver pointer to an initialized 'lv_disp_drv_t' variable (can be local variable) * @return pointer to the new display or NULL on error */ lv_disp_t * lv_disp_drv_register(lv_disp_drv_t * driver) { - 10d90: b5f0 push {r4, r5, r6, r7, lr} - 10d92: b083 sub sp, #12 - 10d94: 4605 mov r5, r0 + 10d78: b5f0 push {r4, r5, r6, r7, lr} + 10d7a: b083 sub sp, #12 + 10d7c: 4605 mov r5, r0 lv_disp_t * disp = _lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll)); - 10d96: 483f ldr r0, [pc, #252] ; (10e94 ) - 10d98: 4b3f ldr r3, [pc, #252] ; (10e98 ) - 10d9a: 4798 blx r3 + 10d7e: 483f ldr r0, [pc, #252] ; (10e7c ) + 10d80: 4b3f ldr r3, [pc, #252] ; (10e80 ) + 10d82: 4798 blx r3 if(!disp) { - 10d9c: 4604 mov r4, r0 - 10d9e: 2800 cmp r0, #0 - 10da0: d054 beq.n 10e4c + 10d84: 4604 mov r4, r0 + 10d86: 2800 cmp r0, #0 + 10d88: d054 beq.n 10e34 LV_ASSERT_MEM(disp); return NULL; } _lv_memset_00(disp, sizeof(lv_disp_t)); - 10da2: f44f 71b8 mov.w r1, #368 ; 0x170 - 10da6: 4b3d ldr r3, [pc, #244] ; (10e9c ) - 10da8: 4798 blx r3 + 10d8a: f44f 71b8 mov.w r1, #368 ; 0x170 + 10d8e: 4b3d ldr r3, [pc, #244] ; (10e84 ) + 10d90: 4798 blx r3 _lv_memcpy(&disp->driver, driver, sizeof(lv_disp_drv_t)); - 10daa: 222c movs r2, #44 ; 0x2c - 10dac: 4629 mov r1, r5 - 10dae: 4620 mov r0, r4 - 10db0: 4b3b ldr r3, [pc, #236] ; (10ea0 ) - 10db2: 4798 blx r3 + 10d92: 222c movs r2, #44 ; 0x2c + 10d94: 4629 mov r1, r5 + 10d96: 4620 mov r0, r4 + 10d98: 4b3b ldr r3, [pc, #236] ; (10e88 ) + 10d9a: 4798 blx r3 _lv_ll_init(&disp->scr_ll, sizeof(lv_obj_t)); - 10db4: 214c movs r1, #76 ; 0x4c - 10db6: f104 0030 add.w r0, r4, #48 ; 0x30 - 10dba: 4b3a ldr r3, [pc, #232] ; (10ea4 ) - 10dbc: 4798 blx r3 + 10d9c: 214c movs r1, #76 ; 0x4c + 10d9e: f104 0030 add.w r0, r4, #48 ; 0x30 + 10da2: 4b3a ldr r3, [pc, #232] ; (10e8c ) + 10da4: 4798 blx r3 disp->last_activity_time = 0; - 10dbe: 2300 movs r3, #0 - 10dc0: f8c4 316c str.w r3, [r4, #364] ; 0x16c + 10da6: 2300 movs r3, #0 + 10da8: f8c4 316c str.w r3, [r4, #364] ; 0x16c if(disp_def == NULL) disp_def = disp; - 10dc4: 4b38 ldr r3, [pc, #224] ; (10ea8 ) - 10dc6: 681b ldr r3, [r3, #0] - 10dc8: 2b00 cmp r3, #0 - 10dca: d050 beq.n 10e6e + 10dac: 4b38 ldr r3, [pc, #224] ; (10e90 ) + 10dae: 681b ldr r3, [r3, #0] + 10db0: 2b00 cmp r3, #0 + 10db2: d050 beq.n 10e56 lv_disp_t * disp_def_tmp = disp_def; - 10dcc: 4b36 ldr r3, [pc, #216] ; (10ea8 ) - 10dce: 681f ldr r7, [r3, #0] + 10db4: 4b36 ldr r3, [pc, #216] ; (10e90 ) + 10db6: 681f ldr r7, [r3, #0] disp_def = disp; /*Temporarily change the default screen to create the default screens on the - 10dd0: 601c str r4, [r3, #0] + 10db8: 601c str r4, [r3, #0] new display*/ /*Create a refresh task*/ disp->refr_task = lv_task_create(_lv_disp_refr_task, LV_DISP_DEF_REFR_PERIOD, LV_REFR_TASK_PRIO, disp); - 10dd2: 4623 mov r3, r4 - 10dd4: 2203 movs r2, #3 - 10dd6: 211e movs r1, #30 - 10dd8: 4834 ldr r0, [pc, #208] ; (10eac ) - 10dda: 4d35 ldr r5, [pc, #212] ; (10eb0 ) - 10ddc: 47a8 blx r5 - 10dde: 62e0 str r0, [r4, #44] ; 0x2c + 10dba: 4623 mov r3, r4 + 10dbc: 2203 movs r2, #3 + 10dbe: 211e movs r1, #30 + 10dc0: 4834 ldr r0, [pc, #208] ; (10e94 ) + 10dc2: 4d35 ldr r5, [pc, #212] ; (10e98 ) + 10dc4: 47a8 blx r5 + 10dc6: 62e0 str r0, [r4, #44] ; 0x2c LV_ASSERT_MEM(disp->refr_task); - 10de0: 4b34 ldr r3, [pc, #208] ; (10eb4 ) - 10de2: 4798 blx r3 - 10de4: 2800 cmp r0, #0 - 10de6: d045 beq.n 10e74 + 10dc8: 4b34 ldr r3, [pc, #208] ; (10e9c ) + 10dca: 4798 blx r3 + 10dcc: 2800 cmp r0, #0 + 10dce: d045 beq.n 10e5c if(disp->refr_task == NULL) return NULL; - 10de8: 6ae3 ldr r3, [r4, #44] ; 0x2c - 10dea: 2b00 cmp r3, #0 - 10dec: d04f beq.n 10e8e + 10dd0: 6ae3 ldr r3, [r4, #44] ; 0x2c + 10dd2: 2b00 cmp r3, #0 + 10dd4: d04f beq.n 10e76 disp->inv_p = 0; - 10dee: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 - 10df2: f36f 0309 bfc r3, #0, #10 - 10df6: f8a4 3168 strh.w r3, [r4, #360] ; 0x168 + 10dd6: f8b4 3168 ldrh.w r3, [r4, #360] ; 0x168 + 10dda: f36f 0309 bfc r3, #0, #10 + 10dde: f8a4 3168 strh.w r3, [r4, #360] ; 0x168 disp->last_activity_time = 0; - 10dfa: 2500 movs r5, #0 - 10dfc: f8c4 516c str.w r5, [r4, #364] ; 0x16c + 10de2: 2500 movs r5, #0 + 10de4: f8c4 516c str.w r5, [r4, #364] ; 0x16c disp->act_scr = lv_obj_create(NULL, NULL); /*Create a default screen on the display*/ - 10e00: 4629 mov r1, r5 - 10e02: 4628 mov r0, r5 - 10e04: 4e2c ldr r6, [pc, #176] ; (10eb8 ) - 10e06: 47b0 blx r6 - 10e08: 63e0 str r0, [r4, #60] ; 0x3c + 10de8: 4629 mov r1, r5 + 10dea: 4628 mov r0, r5 + 10dec: 4e2c ldr r6, [pc, #176] ; (10ea0 ) + 10dee: 47b0 blx r6 + 10df0: 63e0 str r0, [r4, #60] ; 0x3c disp->top_layer = lv_obj_create(NULL, NULL); /*Create top layer on the display*/ - 10e0a: 4629 mov r1, r5 - 10e0c: 4628 mov r0, r5 - 10e0e: 47b0 blx r6 - 10e10: 6420 str r0, [r4, #64] ; 0x40 + 10df2: 4629 mov r1, r5 + 10df4: 4628 mov r0, r5 + 10df6: 47b0 blx r6 + 10df8: 6420 str r0, [r4, #64] ; 0x40 disp->sys_layer = lv_obj_create(NULL, NULL); /*Create sys layer on the display*/ - 10e12: 4629 mov r1, r5 - 10e14: 4628 mov r0, r5 - 10e16: 47b0 blx r6 - 10e18: 6460 str r0, [r4, #68] ; 0x44 + 10dfa: 4629 mov r1, r5 + 10dfc: 4628 mov r0, r5 + 10dfe: 47b0 blx r6 + 10e00: 6460 str r0, [r4, #68] ; 0x44 lv_obj_reset_style_list(disp->top_layer, LV_OBJ_PART_MAIN); - 10e1a: 4629 mov r1, r5 - 10e1c: 6c20 ldr r0, [r4, #64] ; 0x40 - 10e1e: 4e27 ldr r6, [pc, #156] ; (10ebc ) - 10e20: 47b0 blx r6 + 10e02: 4629 mov r1, r5 + 10e04: 6c20 ldr r0, [r4, #64] ; 0x40 + 10e06: 4e27 ldr r6, [pc, #156] ; (10ea4 ) + 10e08: 47b0 blx r6 lv_obj_reset_style_list(disp->sys_layer, LV_OBJ_PART_MAIN); - 10e22: 4629 mov r1, r5 - 10e24: 6c60 ldr r0, [r4, #68] ; 0x44 - 10e26: 47b0 blx r6 + 10e0a: 4629 mov r1, r5 + 10e0c: 6c60 ldr r0, [r4, #68] ; 0x44 + 10e0e: 47b0 blx r6 lv_obj_set_click(disp->top_layer, false); - 10e28: 4629 mov r1, r5 - 10e2a: 6c20 ldr r0, [r4, #64] ; 0x40 - 10e2c: 4e24 ldr r6, [pc, #144] ; (10ec0 ) - 10e2e: 47b0 blx r6 + 10e10: 4629 mov r1, r5 + 10e12: 6c20 ldr r0, [r4, #64] ; 0x40 + 10e14: 4e24 ldr r6, [pc, #144] ; (10ea8 ) + 10e16: 47b0 blx r6 lv_obj_set_click(disp->sys_layer, false); - 10e30: 4629 mov r1, r5 - 10e32: 6c60 ldr r0, [r4, #68] ; 0x44 - 10e34: 47b0 blx r6 + 10e18: 4629 mov r1, r5 + 10e1a: 6c60 ldr r0, [r4, #68] ; 0x44 + 10e1c: 47b0 blx r6 lv_obj_invalidate(disp->act_scr); - 10e36: 6be0 ldr r0, [r4, #60] ; 0x3c - 10e38: 4b22 ldr r3, [pc, #136] ; (10ec4 ) - 10e3a: 4798 blx r3 + 10e1e: 6be0 ldr r0, [r4, #60] ; 0x3c + 10e20: 4b22 ldr r3, [pc, #136] ; (10eac ) + 10e22: 4798 blx r3 disp_def = disp_def_tmp; /*Revert the default display*/ - 10e3c: 4b1a ldr r3, [pc, #104] ; (10ea8 ) - 10e3e: 601f str r7, [r3, #0] + 10e24: 4b1a ldr r3, [pc, #104] ; (10e90 ) + 10e26: 601f str r7, [r3, #0] lv_task_ready(disp->refr_task); /*Be sure the screen will be refreshed immediately on start up*/ - 10e40: 6ae0 ldr r0, [r4, #44] ; 0x2c - 10e42: 4b21 ldr r3, [pc, #132] ; (10ec8 ) - 10e44: 4798 blx r3 + 10e28: 6ae0 ldr r0, [r4, #44] ; 0x2c + 10e2a: 4b21 ldr r3, [pc, #132] ; (10eb0 ) + 10e2c: 4798 blx r3 return disp; } - 10e46: 4620 mov r0, r4 - 10e48: b003 add sp, #12 - 10e4a: bdf0 pop {r4, r5, r6, r7, pc} + 10e2e: 4620 mov r0, r4 + 10e30: b003 add sp, #12 + 10e32: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_MEM(disp); - 10e4c: 4b19 ldr r3, [pc, #100] ; (10eb4 ) - 10e4e: 4798 blx r3 - 10e50: 2800 cmp r0, #0 - 10e52: d1f8 bne.n 10e46 - 10e54: 4b1d ldr r3, [pc, #116] ; (10ecc ) - 10e56: 9300 str r3, [sp, #0] - 10e58: 227c movs r2, #124 ; 0x7c - 10e5a: 491d ldr r1, [pc, #116] ; (10ed0 ) - 10e5c: 2003 movs r0, #3 - 10e5e: 4c1d ldr r4, [pc, #116] ; (10ed4 ) - 10e60: 47a0 blx r4 - 10e62: 2200 movs r2, #0 - 10e64: 2300 movs r3, #0 - 10e66: 481c ldr r0, [pc, #112] ; (10ed8 ) - 10e68: 491c ldr r1, [pc, #112] ; (10edc ) - 10e6a: 4788 blx r1 - 10e6c: e7fe b.n 10e6c + 10e34: 4b19 ldr r3, [pc, #100] ; (10e9c ) + 10e36: 4798 blx r3 + 10e38: 2800 cmp r0, #0 + 10e3a: d1f8 bne.n 10e2e + 10e3c: 4b1d ldr r3, [pc, #116] ; (10eb4 ) + 10e3e: 9300 str r3, [sp, #0] + 10e40: 227c movs r2, #124 ; 0x7c + 10e42: 491d ldr r1, [pc, #116] ; (10eb8 ) + 10e44: 2003 movs r0, #3 + 10e46: 4c1d ldr r4, [pc, #116] ; (10ebc ) + 10e48: 47a0 blx r4 + 10e4a: 2200 movs r2, #0 + 10e4c: 2300 movs r3, #0 + 10e4e: 481c ldr r0, [pc, #112] ; (10ec0 ) + 10e50: 491c ldr r1, [pc, #112] ; (10ec4 ) + 10e52: 4788 blx r1 + 10e54: e7fe b.n 10e54 if(disp_def == NULL) disp_def = disp; - 10e6e: 4b0e ldr r3, [pc, #56] ; (10ea8 ) - 10e70: 601c str r4, [r3, #0] - 10e72: e7ab b.n 10dcc + 10e56: 4b0e ldr r3, [pc, #56] ; (10e90 ) + 10e58: 601c str r4, [r3, #0] + 10e5a: e7ab b.n 10db4 LV_ASSERT_MEM(disp->refr_task); - 10e74: 4b15 ldr r3, [pc, #84] ; (10ecc ) - 10e76: 9300 str r3, [sp, #0] - 10e78: 228d movs r2, #141 ; 0x8d - 10e7a: 4915 ldr r1, [pc, #84] ; (10ed0 ) - 10e7c: 2003 movs r0, #3 - 10e7e: 4d15 ldr r5, [pc, #84] ; (10ed4 ) - 10e80: 47a8 blx r5 - 10e82: 6ae2 ldr r2, [r4, #44] ; 0x2c - 10e84: 2300 movs r3, #0 - 10e86: 4814 ldr r0, [pc, #80] ; (10ed8 ) - 10e88: 4914 ldr r1, [pc, #80] ; (10edc ) - 10e8a: 4788 blx r1 - 10e8c: e7fe b.n 10e8c + 10e5c: 4b15 ldr r3, [pc, #84] ; (10eb4 ) + 10e5e: 9300 str r3, [sp, #0] + 10e60: 228d movs r2, #141 ; 0x8d + 10e62: 4915 ldr r1, [pc, #84] ; (10eb8 ) + 10e64: 2003 movs r0, #3 + 10e66: 4d15 ldr r5, [pc, #84] ; (10ebc ) + 10e68: 47a8 blx r5 + 10e6a: 6ae2 ldr r2, [r4, #44] ; 0x2c + 10e6c: 2300 movs r3, #0 + 10e6e: 4814 ldr r0, [pc, #80] ; (10ec0 ) + 10e70: 4914 ldr r1, [pc, #80] ; (10ec4 ) + 10e72: 4788 blx r1 + 10e74: e7fe b.n 10e74 if(disp->refr_task == NULL) return NULL; - 10e8e: 2400 movs r4, #0 - 10e90: e7d9 b.n 10e46 - 10e92: bf00 nop - 10e94: 20006c98 .word 0x20006c98 - 10e98: 00011f11 .word 0x00011f11 - 10e9c: 00012b37 .word 0x00012b37 - 10ea0: 00012655 .word 0x00012655 - 10ea4: 00011ef9 .word 0x00011ef9 - 10ea8: 20002b70 .word 0x20002b70 - 10eac: 00005f75 .word 0x00005f75 - 10eb0: 000139e5 .word 0x000139e5 - 10eb4: 000022b1 .word 0x000022b1 - 10eb8: 00003e25 .word 0x00003e25 - 10ebc: 00003b9d .word 0x00003b9d - 10ec0: 000029a1 .word 0x000029a1 - 10ec4: 00003321 .word 0x00003321 - 10ec8: 00013a55 .word 0x00013a55 - 10ecc: 000291bc .word 0x000291bc - 10ed0: 000291d4 .word 0x000291d4 - 10ed4: 0001225d .word 0x0001225d - 10ed8: 00023fd8 .word 0x00023fd8 - 10edc: 000022b9 .word 0x000022b9 - -00010ee0 : + 10e76: 2400 movs r4, #0 + 10e78: e7d9 b.n 10e2e + 10e7a: bf00 nop + 10e7c: 20006c98 .word 0x20006c98 + 10e80: 00011ef9 .word 0x00011ef9 + 10e84: 00012b1f .word 0x00012b1f + 10e88: 0001263d .word 0x0001263d + 10e8c: 00011ee1 .word 0x00011ee1 + 10e90: 20002b70 .word 0x20002b70 + 10e94: 00005f5d .word 0x00005f5d + 10e98: 000139cd .word 0x000139cd + 10e9c: 00002299 .word 0x00002299 + 10ea0: 00003e0d .word 0x00003e0d + 10ea4: 00003b85 .word 0x00003b85 + 10ea8: 00002989 .word 0x00002989 + 10eac: 00003309 .word 0x00003309 + 10eb0: 00013a3d .word 0x00013a3d + 10eb4: 000291a4 .word 0x000291a4 + 10eb8: 000291bc .word 0x000291bc + 10ebc: 00012245 .word 0x00012245 + 10ec0: 00023fc0 .word 0x00023fc0 + 10ec4: 000022a1 .word 0x000022a1 + +00010ec8 : * @return pointer to the default display */ lv_disp_t * lv_disp_get_default(void) { return disp_def; } - 10ee0: 4b01 ldr r3, [pc, #4] ; (10ee8 ) - 10ee2: 6818 ldr r0, [r3, #0] - 10ee4: 4770 bx lr - 10ee6: bf00 nop - 10ee8: 20002b70 .word 0x20002b70 + 10ec8: 4b01 ldr r3, [pc, #4] ; (10ed0 ) + 10eca: 6818 ldr r0, [r3, #0] + 10ecc: 4770 bx lr + 10ece: bf00 nop + 10ed0: 20002b70 .word 0x20002b70 -00010eec : +00010ed4 : * @param disp pointer to a display (NULL to use the default display) * @return the horizontal resolution of the display */ lv_coord_t lv_disp_get_hor_res(lv_disp_t * disp) { if(disp == NULL) disp = lv_disp_get_default(); - 10eec: 4603 mov r3, r0 - 10eee: b140 cbz r0, 10f02 + 10ed4: 4603 mov r3, r0 + 10ed6: b140 cbz r0, 10eea if(disp == NULL) return LV_HOR_RES_MAX; else return disp->driver.rotated == 0 ? disp->driver.hor_res : disp->driver.ver_res; - 10ef0: 7a1a ldrb r2, [r3, #8] - 10ef2: f012 0f02 tst.w r2, #2 - 10ef6: bf0c ite eq - 10ef8: f9b3 0000 ldrsheq.w r0, [r3] - 10efc: f9b3 0002 ldrshne.w r0, [r3, #2] - 10f00: 4770 bx lr + 10ed8: 7a1a ldrb r2, [r3, #8] + 10eda: f012 0f02 tst.w r2, #2 + 10ede: bf0c ite eq + 10ee0: f9b3 0000 ldrsheq.w r0, [r3] + 10ee4: f9b3 0002 ldrshne.w r0, [r3, #2] + 10ee8: 4770 bx lr return disp_def; - 10f02: 4b03 ldr r3, [pc, #12] ; (10f10 ) - 10f04: 681b ldr r3, [r3, #0] + 10eea: 4b03 ldr r3, [pc, #12] ; (10ef8 ) + 10eec: 681b ldr r3, [r3, #0] if(disp == NULL) - 10f06: 2b00 cmp r3, #0 - 10f08: d1f2 bne.n 10ef0 + 10eee: 2b00 cmp r3, #0 + 10ef0: d1f2 bne.n 10ed8 return LV_HOR_RES_MAX; - 10f0a: f44f 70f0 mov.w r0, #480 ; 0x1e0 + 10ef2: f44f 70f0 mov.w r0, #480 ; 0x1e0 } - 10f0e: 4770 bx lr - 10f10: 20002b70 .word 0x20002b70 + 10ef6: 4770 bx lr + 10ef8: 20002b70 .word 0x20002b70 -00010f14 : +00010efc : * @param disp pointer to a display (NULL to use the default display) * @return the vertical resolution of the display */ lv_coord_t lv_disp_get_ver_res(lv_disp_t * disp) { if(disp == NULL) disp = lv_disp_get_default(); - 10f14: 4603 mov r3, r0 - 10f16: b140 cbz r0, 10f2a + 10efc: 4603 mov r3, r0 + 10efe: b140 cbz r0, 10f12 if(disp == NULL) return LV_VER_RES_MAX; else return disp->driver.rotated == 0 ? disp->driver.ver_res : disp->driver.hor_res; - 10f18: 7a1a ldrb r2, [r3, #8] - 10f1a: f012 0f02 tst.w r2, #2 - 10f1e: bf0c ite eq - 10f20: f9b3 0002 ldrsheq.w r0, [r3, #2] - 10f24: f9b3 0000 ldrshne.w r0, [r3] - 10f28: 4770 bx lr + 10f00: 7a1a ldrb r2, [r3, #8] + 10f02: f012 0f02 tst.w r2, #2 + 10f06: bf0c ite eq + 10f08: f9b3 0002 ldrsheq.w r0, [r3, #2] + 10f0c: f9b3 0000 ldrshne.w r0, [r3] + 10f10: 4770 bx lr return disp_def; - 10f2a: 4b03 ldr r3, [pc, #12] ; (10f38 ) - 10f2c: 681b ldr r3, [r3, #0] + 10f12: 4b03 ldr r3, [pc, #12] ; (10f20 ) + 10f14: 681b ldr r3, [r3, #0] if(disp == NULL) - 10f2e: 2b00 cmp r3, #0 - 10f30: d1f2 bne.n 10f18 + 10f16: 2b00 cmp r3, #0 + 10f18: d1f2 bne.n 10f00 return LV_VER_RES_MAX; - 10f32: f44f 7088 mov.w r0, #272 ; 0x110 + 10f1a: f44f 7088 mov.w r0, #272 ; 0x110 } - 10f36: 4770 bx lr - 10f38: 20002b70 .word 0x20002b70 + 10f1e: 4770 bx lr + 10f20: 20002b70 .word 0x20002b70 -00010f3c : +00010f24 : * @param disp pointer to a display (NULL to use the default display) * @return dpi of the display */ lv_coord_t lv_disp_get_dpi(lv_disp_t * disp) { if(disp == NULL) disp = lv_disp_get_default(); - 10f3c: 4603 mov r3, r0 - 10f3e: b118 cbz r0, 10f48 + 10f24: 4603 mov r3, r0 + 10f26: b118 cbz r0, 10f30 if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/ return disp->driver.dpi; - 10f40: 8918 ldrh r0, [r3, #8] - 10f42: f3c0 0089 ubfx r0, r0, #2, #10 - 10f46: 4770 bx lr + 10f28: 8918 ldrh r0, [r3, #8] + 10f2a: f3c0 0089 ubfx r0, r0, #2, #10 + 10f2e: 4770 bx lr return disp_def; - 10f48: 4b02 ldr r3, [pc, #8] ; (10f54 ) - 10f4a: 681b ldr r3, [r3, #0] + 10f30: 4b02 ldr r3, [pc, #8] ; (10f3c ) + 10f32: 681b ldr r3, [r3, #0] if(disp == NULL) return LV_DPI; /*Do not return 0 because it might be a divider*/ - 10f4c: 2b00 cmp r3, #0 - 10f4e: d1f7 bne.n 10f40 - 10f50: 2082 movs r0, #130 ; 0x82 + 10f34: 2b00 cmp r3, #0 + 10f36: d1f7 bne.n 10f28 + 10f38: 2082 movs r0, #130 ; 0x82 } - 10f52: 4770 bx lr - 10f54: 20002b70 .word 0x20002b70 + 10f3a: 4770 bx lr + 10f3c: 20002b70 .word 0x20002b70 -00010f58 : +00010f40 : * Get the size category of the display based on it's hor. res. and dpi. * @param disp pointer to a display (NULL to use the default display) * @return LV_DISP_SIZE_SMALL/MEDIUM/LARGE/EXTRA_LARGE */ lv_disp_size_t lv_disp_get_size_category(lv_disp_t * disp) { - 10f58: b538 push {r3, r4, r5, lr} + 10f40: b538 push {r3, r4, r5, lr} if(disp == NULL) disp = lv_disp_get_default(); - 10f5a: 4605 mov r5, r0 - 10f5c: b1a0 cbz r0, 10f88 + 10f42: 4605 mov r5, r0 + 10f44: b1a0 cbz r0, 10f70 uint32_t w; if(disp == NULL) w = LV_HOR_RES_MAX; else w = lv_disp_get_hor_res(disp); - 10f5e: 4628 mov r0, r5 - 10f60: 4b0f ldr r3, [pc, #60] ; (10fa0 ) - 10f62: 4798 blx r3 - 10f64: 4604 mov r4, r0 + 10f46: 4628 mov r0, r5 + 10f48: 4b0f ldr r3, [pc, #60] ; (10f88 ) + 10f4a: 4798 blx r3 + 10f4c: 4604 mov r4, r0 uint32_t dpi = lv_disp_get_dpi(disp); - 10f66: 4628 mov r0, r5 - 10f68: 4b0e ldr r3, [pc, #56] ; (10fa4 ) - 10f6a: 4798 blx r3 + 10f4e: 4628 mov r0, r5 + 10f50: 4b0e ldr r3, [pc, #56] ; (10f8c ) + 10f52: 4798 blx r3 w = w * 10 / dpi; - 10f6c: eb04 0484 add.w r4, r4, r4, lsl #2 - 10f70: 0064 lsls r4, r4, #1 - 10f72: fbb4 f0f0 udiv r0, r4, r0 + 10f54: eb04 0484 add.w r4, r4, r4, lsl #2 + 10f58: 0064 lsls r4, r4, #1 + 10f5a: fbb4 f0f0 udiv r0, r4, r0 if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL; - 10f76: 281d cmp r0, #29 - 10f78: d90d bls.n 10f96 + 10f5e: 281d cmp r0, #29 + 10f60: d90d bls.n 10f7e if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM; - 10f7a: 2831 cmp r0, #49 ; 0x31 - 10f7c: d90d bls.n 10f9a + 10f62: 2831 cmp r0, #49 ; 0x31 + 10f64: d90d bls.n 10f82 if(w < LV_DISP_LARGE_LIMIT) return LV_DISP_SIZE_LARGE; else return LV_DISP_SIZE_EXTRA_LARGE; - 10f7e: 2846 cmp r0, #70 ; 0x46 - 10f80: bf34 ite cc - 10f82: 2002 movcc r0, #2 - 10f84: 2003 movcs r0, #3 - 10f86: bd38 pop {r3, r4, r5, pc} + 10f66: 2846 cmp r0, #70 ; 0x46 + 10f68: bf34 ite cc + 10f6a: 2002 movcc r0, #2 + 10f6c: 2003 movcs r0, #3 + 10f6e: bd38 pop {r3, r4, r5, pc} return disp_def; - 10f88: 4b07 ldr r3, [pc, #28] ; (10fa8 ) - 10f8a: 681d ldr r5, [r3, #0] - 10f8c: f44f 74f0 mov.w r4, #480 ; 0x1e0 + 10f70: 4b07 ldr r3, [pc, #28] ; (10f90 ) + 10f72: 681d ldr r5, [r3, #0] + 10f74: f44f 74f0 mov.w r4, #480 ; 0x1e0 if(disp == NULL) w = LV_HOR_RES_MAX; - 10f90: 2d00 cmp r5, #0 - 10f92: d0e8 beq.n 10f66 - 10f94: e7e3 b.n 10f5e + 10f78: 2d00 cmp r5, #0 + 10f7a: d0e8 beq.n 10f4e + 10f7c: e7e3 b.n 10f46 if(w < LV_DISP_SMALL_LIMIT) return LV_DISP_SIZE_SMALL; - 10f96: 2000 movs r0, #0 - 10f98: bd38 pop {r3, r4, r5, pc} + 10f7e: 2000 movs r0, #0 + 10f80: bd38 pop {r3, r4, r5, pc} if(w < LV_DISP_MEDIUM_LIMIT) return LV_DISP_SIZE_MEDIUM; - 10f9a: 2001 movs r0, #1 + 10f82: 2001 movs r0, #1 } - 10f9c: bd38 pop {r3, r4, r5, pc} - 10f9e: bf00 nop - 10fa0: 00010eed .word 0x00010eed - 10fa4: 00010f3d .word 0x00010f3d - 10fa8: 20002b70 .word 0x20002b70 + 10f84: bd38 pop {r3, r4, r5, pc} + 10f86: bf00 nop + 10f88: 00010ed5 .word 0x00010ed5 + 10f8c: 00010f25 .word 0x00010f25 + 10f90: 20002b70 .word 0x20002b70 -00010fac : +00010f94 : if(disp_drv->screen_transp) { _lv_memset_00(disp_drv->buffer->buf_act, disp_drv->buffer->size * sizeof(lv_color32_t)); } #endif disp_drv->buffer->flushing = 0; - 10fac: 6842 ldr r2, [r0, #4] - 10fae: 2300 movs r3, #0 - 10fb0: 6193 str r3, [r2, #24] + 10f94: 6842 ldr r2, [r0, #4] + 10f96: 2300 movs r3, #0 + 10f98: 6193 str r3, [r2, #24] disp_drv->buffer->flushing_last = 0; - 10fb2: 6842 ldr r2, [r0, #4] - 10fb4: 61d3 str r3, [r2, #28] - 10fb6: 4770 bx lr + 10f9a: 6842 ldr r2, [r0, #4] + 10f9c: 61d3 str r3, [r2, #28] + 10f9e: 4770 bx lr -00010fb8 : +00010fa0 : * Get the next display. * @param disp pointer to the current display. NULL to initialize. * @return the next display or NULL if no more. Give the first display when the parameter is NULL */ lv_disp_t * lv_disp_get_next(lv_disp_t * disp) { - 10fb8: b508 push {r3, lr} + 10fa0: b508 push {r3, lr} if(disp == NULL) - 10fba: b120 cbz r0, 10fc6 - 10fbc: 4601 mov r1, r0 + 10fa2: b120 cbz r0, 10fae + 10fa4: 4601 mov r1, r0 return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll)); else return _lv_ll_get_next(&LV_GC_ROOT(_lv_disp_ll), disp); - 10fbe: 4804 ldr r0, [pc, #16] ; (10fd0 ) - 10fc0: 4b04 ldr r3, [pc, #16] ; (10fd4 ) - 10fc2: 4798 blx r3 + 10fa6: 4804 ldr r0, [pc, #16] ; (10fb8 ) + 10fa8: 4b04 ldr r3, [pc, #16] ; (10fbc ) + 10faa: 4798 blx r3 } - 10fc4: bd08 pop {r3, pc} + 10fac: bd08 pop {r3, pc} return _lv_ll_get_head(&LV_GC_ROOT(_lv_disp_ll)); - 10fc6: 4802 ldr r0, [pc, #8] ; (10fd0 ) - 10fc8: 4b03 ldr r3, [pc, #12] ; (10fd8 ) - 10fca: 4798 blx r3 - 10fcc: bd08 pop {r3, pc} - 10fce: bf00 nop - 10fd0: 20006c98 .word 0x20006c98 - 10fd4: 00011fbd .word 0x00011fbd - 10fd8: 00011fa9 .word 0x00011fa9 - -00010fdc : + 10fae: 4802 ldr r0, [pc, #8] ; (10fb8 ) + 10fb0: 4b03 ldr r3, [pc, #12] ; (10fc0 ) + 10fb2: 4798 blx r3 + 10fb4: bd08 pop {r3, pc} + 10fb6: bf00 nop + 10fb8: 20006c98 .word 0x20006c98 + 10fbc: 00011fa5 .word 0x00011fa5 + 10fc0: 00011f91 .word 0x00011f91 + +00010fc4 : * @return pointer to the internal buffers */ lv_disp_buf_t * lv_disp_get_buf(lv_disp_t * disp) { return disp->driver.buffer; } - 10fdc: 6840 ldr r0, [r0, #4] - 10fde: 4770 bx lr + 10fc4: 6840 ldr r0, [r0, #4] + 10fc6: 4770 bx lr -00010fe0 : +00010fc8 : * @param disp pointer to to display to check * @return true: double buffered; false: not double buffered */ bool lv_disp_is_double_buf(lv_disp_t * disp) { if(disp->driver.buffer->buf1 && disp->driver.buffer->buf2) - 10fe0: 6843 ldr r3, [r0, #4] - 10fe2: 681a ldr r2, [r3, #0] - 10fe4: b122 cbz r2, 10ff0 - 10fe6: 6858 ldr r0, [r3, #4] - 10fe8: 3000 adds r0, #0 - 10fea: bf18 it ne - 10fec: 2001 movne r0, #1 - 10fee: 4770 bx lr + 10fc8: 6843 ldr r3, [r0, #4] + 10fca: 681a ldr r2, [r3, #0] + 10fcc: b122 cbz r2, 10fd8 + 10fce: 6858 ldr r0, [r3, #4] + 10fd0: 3000 adds r0, #0 + 10fd2: bf18 it ne + 10fd4: 2001 movne r0, #1 + 10fd6: 4770 bx lr return true; else return false; - 10ff0: 2000 movs r0, #0 + 10fd8: 2000 movs r0, #0 } - 10ff2: 4770 bx lr + 10fda: 4770 bx lr -00010ff4 : +00010fdc : * `size` is screen sized) * @param disp pointer to to display to check * @return true: double buffered; false: not double buffered */ bool lv_disp_is_true_double_buf(lv_disp_t * disp) { - 10ff4: b510 push {r4, lr} - 10ff6: 4604 mov r4, r0 + 10fdc: b510 push {r4, lr} + 10fde: 4604 mov r4, r0 uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res; if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) { - 10ff8: 4b08 ldr r3, [pc, #32] ; (1101c ) - 10ffa: 4798 blx r3 - 10ffc: 4603 mov r3, r0 - 10ffe: b158 cbz r0, 11018 + 10fe0: 4b08 ldr r3, [pc, #32] ; (11004 ) + 10fe2: 4798 blx r3 + 10fe4: 4603 mov r3, r0 + 10fe6: b158 cbz r0, 11000 uint32_t scr_size = disp->driver.hor_res * disp->driver.ver_res; - 11000: f9b4 2000 ldrsh.w r2, [r4] - 11004: f9b4 3002 ldrsh.w r3, [r4, #2] - 11008: fb03 f302 mul.w r3, r3, r2 + 10fe8: f9b4 2000 ldrsh.w r2, [r4] + 10fec: f9b4 3002 ldrsh.w r3, [r4, #2] + 10ff0: fb03 f302 mul.w r3, r3, r2 if(lv_disp_is_double_buf(disp) && disp->driver.buffer->size == scr_size) { - 1100c: 6862 ldr r2, [r4, #4] - 1100e: 68d2 ldr r2, [r2, #12] - 11010: 4293 cmp r3, r2 - 11012: bf14 ite ne - 11014: 2300 movne r3, #0 - 11016: 2301 moveq r3, #1 + 10ff4: 6862 ldr r2, [r4, #4] + 10ff6: 68d2 ldr r2, [r2, #12] + 10ff8: 4293 cmp r3, r2 + 10ffa: bf14 ite ne + 10ffc: 2300 movne r3, #0 + 10ffe: 2301 moveq r3, #1 return true; } else { return false; } } - 11018: 4618 mov r0, r3 - 1101a: bd10 pop {r4, pc} - 1101c: 00010fe1 .word 0x00010fe1 + 11000: 4618 mov r0, r3 + 11002: bd10 pop {r4, pc} + 11004: 00010fc9 .word 0x00010fc9 -00011020 : +00011008 : * @param indev pointer to the current input device. NULL to initialize. * @return the next input devise or NULL if no more. Give the first input device when the parameter * is NULL */ lv_indev_t * lv_indev_get_next(lv_indev_t * indev) { - 11020: b508 push {r3, lr} + 11008: b508 push {r3, lr} if(indev == NULL) - 11022: b120 cbz r0, 1102e - 11024: 4601 mov r1, r0 + 1100a: b120 cbz r0, 11016 + 1100c: 4601 mov r1, r0 return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll)); else return _lv_ll_get_next(&LV_GC_ROOT(_lv_indev_ll), indev); - 11026: 4804 ldr r0, [pc, #16] ; (11038 ) - 11028: 4b04 ldr r3, [pc, #16] ; (1103c ) - 1102a: 4798 blx r3 + 1100e: 4804 ldr r0, [pc, #16] ; (11020 ) + 11010: 4b04 ldr r3, [pc, #16] ; (11024 ) + 11012: 4798 blx r3 } - 1102c: bd08 pop {r3, pc} + 11014: bd08 pop {r3, pc} return _lv_ll_get_head(&LV_GC_ROOT(_lv_indev_ll)); - 1102e: 4802 ldr r0, [pc, #8] ; (11038 ) - 11030: 4b03 ldr r3, [pc, #12] ; (11040 ) - 11032: 4798 blx r3 - 11034: bd08 pop {r3, pc} - 11036: bf00 nop - 11038: 20006c8c .word 0x20006c8c - 1103c: 00011fbd .word 0x00011fbd - 11040: 00011fa9 .word 0x00011fa9 - -00011044 : + 11016: 4802 ldr r0, [pc, #8] ; (11020 ) + 11018: 4b03 ldr r3, [pc, #12] ; (11028 ) + 1101a: 4798 blx r3 + 1101c: bd08 pop {r3, pc} + 1101e: bf00 nop + 11020: 20006c8c .word 0x20006c8c + 11024: 00011fa5 .word 0x00011fa5 + 11028: 00011f91 .word 0x00011f91 + +0001102c : * You have to call this function periodically * @param tick_period the call period of this function in milliseconds */ LV_ATTRIBUTE_TICK_INC void lv_tick_inc(uint32_t tick_period) { tick_irq_flag = 0; - 11044: 4b03 ldr r3, [pc, #12] ; (11054 ) - 11046: 2200 movs r2, #0 - 11048: 701a strb r2, [r3, #0] + 1102c: 4b03 ldr r3, [pc, #12] ; (1103c ) + 1102e: 2200 movs r2, #0 + 11030: 701a strb r2, [r3, #0] sys_time += tick_period; - 1104a: 685a ldr r2, [r3, #4] - 1104c: 4410 add r0, r2 - 1104e: 6058 str r0, [r3, #4] - 11050: 4770 bx lr - 11052: bf00 nop - 11054: 20002b74 .word 0x20002b74 - -00011058 : + 11032: 685a ldr r2, [r3, #4] + 11034: 4410 add r0, r2 + 11036: 6058 str r0, [r3, #4] + 11038: 4770 bx lr + 1103a: bf00 nop + 1103c: 20002b74 .word 0x20002b74 + +00011040 : uint32_t lv_tick_get(void) { #if LV_TICK_CUSTOM == 0 uint32_t result; do { tick_irq_flag = 1; - 11058: 4b04 ldr r3, [pc, #16] ; (1106c ) - 1105a: f04f 0101 mov.w r1, #1 - 1105e: 7019 strb r1, [r3, #0] + 11040: 4b04 ldr r3, [pc, #16] ; (11054 ) + 11042: f04f 0101 mov.w r1, #1 + 11046: 7019 strb r1, [r3, #0] result = sys_time; } while(!tick_irq_flag); /*'lv_tick_inc()' clears this flag which can be in an interrupt. - 11060: 781a ldrb r2, [r3, #0] - 11062: 2a00 cmp r2, #0 - 11064: d0fb beq.n 1105e + 11048: 781a ldrb r2, [r3, #0] + 1104a: 2a00 cmp r2, #0 + 1104c: d0fb beq.n 11046 return result; #else return LV_TICK_CUSTOM_SYS_TIME_EXPR; #endif } - 11066: 4b01 ldr r3, [pc, #4] ; (1106c ) - 11068: 6858 ldr r0, [r3, #4] - 1106a: 4770 bx lr - 1106c: 20002b74 .word 0x20002b74 + 1104e: 4b01 ldr r3, [pc, #4] ; (11054 ) + 11050: 6858 ldr r0, [r3, #4] + 11052: 4770 bx lr + 11054: 20002b74 .word 0x20002b74 -00011070 : +00011058 : * Get the elapsed milliseconds since a previous time stamp * @param prev_tick a previous time stamp (return value of systick_get() ) * @return the elapsed milliseconds since 'prev_tick' */ uint32_t lv_tick_elaps(uint32_t prev_tick) { - 11070: b510 push {r4, lr} - 11072: 4604 mov r4, r0 + 11058: b510 push {r4, lr} + 1105a: 4604 mov r4, r0 uint32_t act_time = lv_tick_get(); - 11074: 4b01 ldr r3, [pc, #4] ; (1107c ) - 11076: 4798 blx r3 + 1105c: 4b01 ldr r3, [pc, #4] ; (11064 ) + 1105e: 4798 blx r3 prev_tick = UINT32_MAX - prev_tick + 1; prev_tick += act_time; } return prev_tick; } - 11078: 1b00 subs r0, r0, r4 - 1107a: bd10 pop {r4, pc} - 1107c: 00011059 .word 0x00011059 + 11060: 1b00 subs r0, r0, r4 + 11062: bd10 pop {r4, pc} + 11064: 00011041 .word 0x00011041 -00011080 : +00011068 : { LV_UNUSED(path); /*Calculate the current step*/ uint32_t step; if(a->time == a->act_time) { - 11080: 6a0a ldr r2, [r1, #32] - 11082: 6a48 ldr r0, [r1, #36] ; 0x24 - 11084: 4282 cmp r2, r0 + 11068: 6a0a ldr r2, [r1, #32] + 1106a: 6a48 ldr r0, [r1, #36] ; 0x24 + 1106c: 4282 cmp r2, r0 step = LV_ANIM_RESOLUTION; /*Use the last value if the time fully elapsed*/ } else { step = ((int32_t)a->act_time * LV_ANIM_RESOLUTION) / a->time; - 11086: bf1a itte ne - 11088: 0280 lslne r0, r0, #10 - 1108a: fb90 f0f2 sdivne r0, r0, r2 - 1108e: f44f 6080 moveq.w r0, #1024 ; 0x400 + 1106e: bf1a itte ne + 11070: 0280 lslne r0, r0, #10 + 11072: fb90 f0f2 sdivne r0, r0, r2 + 11076: f44f 6080 moveq.w r0, #1024 ; 0x400 } /* Get the new value which will be proportional to `step` * and the `start` and `end` values*/ int32_t new_value; new_value = (int32_t)step * (a->end - a->start); - 11092: 698a ldr r2, [r1, #24] - 11094: 69cb ldr r3, [r1, #28] - 11096: 1a9b subs r3, r3, r2 - 11098: fb00 f003 mul.w r0, r0, r3 + 1107a: 698a ldr r2, [r1, #24] + 1107c: 69cb ldr r3, [r1, #28] + 1107e: 1a9b subs r3, r3, r2 + 11080: fb00 f003 mul.w r0, r0, r3 new_value = new_value >> LV_ANIM_RES_SHIFT; new_value += a->start; - 1109c: eb02 20a0 add.w r0, r2, r0, asr #10 + 11084: eb02 20a0 add.w r0, r2, r0, asr #10 return (lv_anim_value_t)new_value; } - 110a0: b200 sxth r0, r0 - 110a2: 4770 bx lr + 11088: b200 sxth r0, r0 + 1108a: 4770 bx lr -000110a4 : +0001108c : } return anim_list_changed; } static void anim_mark_list_change(void) { - 110a4: b508 push {r3, lr} + 1108c: b508 push {r3, lr} anim_list_changed = true; - 110a6: 2201 movs r2, #1 - 110a8: 4b08 ldr r3, [pc, #32] ; (110cc ) - 110aa: 701a strb r2, [r3, #0] + 1108e: 2201 movs r2, #1 + 11090: 4b08 ldr r3, [pc, #32] ; (110b4 ) + 11092: 701a strb r2, [r3, #0] if(_lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)) == NULL) - 110ac: 4808 ldr r0, [pc, #32] ; (110d0 ) - 110ae: 4b09 ldr r3, [pc, #36] ; (110d4 ) - 110b0: 4798 blx r3 - 110b2: b128 cbz r0, 110c0 + 11094: 4808 ldr r0, [pc, #32] ; (110b8 ) + 11096: 4b09 ldr r3, [pc, #36] ; (110bc ) + 11098: 4798 blx r3 + 1109a: b128 cbz r0, 110a8 lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF); else lv_task_set_prio(_lv_anim_task, LV_ANIM_TASK_PRIO); - 110b4: 2104 movs r1, #4 - 110b6: 4b05 ldr r3, [pc, #20] ; (110cc ) - 110b8: 6858 ldr r0, [r3, #4] - 110ba: 4b07 ldr r3, [pc, #28] ; (110d8 ) - 110bc: 4798 blx r3 - 110be: bd08 pop {r3, pc} + 1109c: 2104 movs r1, #4 + 1109e: 4b05 ldr r3, [pc, #20] ; (110b4 ) + 110a0: 6858 ldr r0, [r3, #4] + 110a2: 4b07 ldr r3, [pc, #28] ; (110c0 ) + 110a4: 4798 blx r3 + 110a6: bd08 pop {r3, pc} lv_task_set_prio(_lv_anim_task, LV_TASK_PRIO_OFF); - 110c0: 2100 movs r1, #0 - 110c2: 4b02 ldr r3, [pc, #8] ; (110cc ) - 110c4: 6858 ldr r0, [r3, #4] - 110c6: 4b04 ldr r3, [pc, #16] ; (110d8 ) - 110c8: 4798 blx r3 - 110ca: bd08 pop {r3, pc} - 110cc: 20002b7c .word 0x20002b7c - 110d0: 20006d5c .word 0x20006d5c - 110d4: 00011fa9 .word 0x00011fa9 - 110d8: 00013959 .word 0x00013959 - -000110dc : -{ - 110dc: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 110e0: b091 sub sp, #68 ; 0x44 + 110a8: 2100 movs r1, #0 + 110aa: 4b02 ldr r3, [pc, #8] ; (110b4 ) + 110ac: 6858 ldr r0, [r3, #4] + 110ae: 4b04 ldr r3, [pc, #16] ; (110c0 ) + 110b0: 4798 blx r3 + 110b2: bd08 pop {r3, pc} + 110b4: 20002b7c .word 0x20002b7c + 110b8: 20006d5c .word 0x20006d5c + 110bc: 00011f91 .word 0x00011f91 + 110c0: 00013941 .word 0x00013941 + +000110c4 : +{ + 110c4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 110c8: b091 sub sp, #68 ; 0x44 _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - 110e2: 4863 ldr r0, [pc, #396] ; (11270 ) - 110e4: 4b63 ldr r3, [pc, #396] ; (11274 ) - 110e6: 4798 blx r3 - 110e8: b168 cbz r0, 11106 - 110ea: 4601 mov r1, r0 - 110ec: 4d60 ldr r5, [pc, #384] ; (11270 ) - 110ee: 4c62 ldr r4, [pc, #392] ; (11278 ) + 110ca: 4863 ldr r0, [pc, #396] ; (11258 ) + 110cc: 4b63 ldr r3, [pc, #396] ; (1125c ) + 110ce: 4798 blx r3 + 110d0: b168 cbz r0, 110ee + 110d2: 4601 mov r1, r0 + 110d4: 4d60 ldr r5, [pc, #384] ; (11258 ) + 110d6: 4c62 ldr r4, [pc, #392] ; (11260 ) a->has_run = 0; - 110f0: f891 303c ldrb.w r3, [r1, #60] ; 0x3c - 110f4: f36f 0341 bfc r3, #1, #1 - 110f8: f881 303c strb.w r3, [r1, #60] ; 0x3c + 110d8: f891 303c ldrb.w r3, [r1, #60] ; 0x3c + 110dc: f36f 0341 bfc r3, #1, #1 + 110e0: f881 303c strb.w r3, [r1, #60] ; 0x3c _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - 110fc: 4628 mov r0, r5 - 110fe: 47a0 blx r4 - 11100: 4601 mov r1, r0 - 11102: 2800 cmp r0, #0 - 11104: d1f4 bne.n 110f0 + 110e4: 4628 mov r0, r5 + 110e6: 47a0 blx r4 + 110e8: 4601 mov r1, r0 + 110ea: 2800 cmp r0, #0 + 110ec: d1f4 bne.n 110d8 uint32_t elaps = lv_tick_elaps(last_task_run); - 11106: 4b5d ldr r3, [pc, #372] ; (1127c ) - 11108: 6898 ldr r0, [r3, #8] - 1110a: 4b5d ldr r3, [pc, #372] ; (11280 ) - 1110c: 4798 blx r3 - 1110e: 4680 mov r8, r0 + 110ee: 4b5d ldr r3, [pc, #372] ; (11264 ) + 110f0: 6898 ldr r0, [r3, #8] + 110f2: 4b5d ldr r3, [pc, #372] ; (11268 ) + 110f4: 4798 blx r3 + 110f6: 4680 mov r8, r0 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 11110: 4857 ldr r0, [pc, #348] ; (11270 ) - 11112: 4b58 ldr r3, [pc, #352] ; (11274 ) - 11114: 4798 blx r3 + 110f8: 4857 ldr r0, [pc, #348] ; (11258 ) + 110fa: 4b58 ldr r3, [pc, #352] ; (1125c ) + 110fc: 4798 blx r3 while(a != NULL) { - 11116: 4604 mov r4, r0 - 11118: 2800 cmp r0, #0 - 1111a: f000 8089 beq.w 11230 + 110fe: 4604 mov r4, r0 + 11100: 2800 cmp r0, #0 + 11102: f000 8089 beq.w 11218 anim_list_changed = false; - 1111e: 4d57 ldr r5, [pc, #348] ; (1127c ) - 11120: f04f 0700 mov.w r7, #0 + 11106: 4d57 ldr r5, [pc, #348] ; (11264 ) + 11108: f04f 0700 mov.w r7, #0 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 11124: 4e52 ldr r6, [pc, #328] ; (11270 ) - 11126: f8df 914c ldr.w r9, [pc, #332] ; 11274 - 1112a: e01c b.n 11166 + 1110c: 4e52 ldr r6, [pc, #328] ; (11258 ) + 1110e: f8df 914c ldr.w r9, [pc, #332] ; 1125c + 11112: e01c b.n 1114e if(a->act_time <= 0 && new_act_time >= 0) { - 1112c: eb13 0308 adds.w r3, r3, r8 - 11130: f100 8085 bmi.w 1123e + 11114: eb13 0308 adds.w r3, r3, r8 + 11118: f100 8085 bmi.w 11226 if(a->start_cb) a->start_cb(a); - 11134: 68a2 ldr r2, [r4, #8] - 11136: 2a00 cmp r2, #0 - 11138: f000 8088 beq.w 1124c - 1113c: 4620 mov r0, r4 - 1113e: 4790 blx r2 - 11140: e01e b.n 11180 + 1111c: 68a2 ldr r2, [r4, #8] + 1111e: 2a00 cmp r2, #0 + 11120: f000 8088 beq.w 11234 + 11124: 4620 mov r0, r4 + 11126: 4790 blx r2 + 11128: e01e b.n 11168 else new_value = lv_anim_path_linear(&a->path, a); - 11142: 4621 mov r1, r4 - 11144: f104 0010 add.w r0, r4, #16 - 11148: 4b4e ldr r3, [pc, #312] ; (11284 ) - 1114a: 4798 blx r3 - 1114c: e028 b.n 111a0 + 1112a: 4621 mov r1, r4 + 1112c: f104 0010 add.w r0, r4, #16 + 11130: 4b4e ldr r3, [pc, #312] ; (1126c ) + 11132: 4798 blx r3 + 11134: e028 b.n 11188 if(a->act_time >= a->time) { - 1114e: 6a62 ldr r2, [r4, #36] ; 0x24 - 11150: 6a23 ldr r3, [r4, #32] - 11152: 429a cmp r2, r3 - 11154: da2b bge.n 111ae + 11136: 6a62 ldr r2, [r4, #36] ; 0x24 + 11138: 6a23 ldr r3, [r4, #32] + 1113a: 429a cmp r2, r3 + 1113c: da2b bge.n 11196 if(anim_list_changed) - 11156: 782b ldrb r3, [r5, #0] - 11158: 2b00 cmp r3, #0 - 1115a: d071 beq.n 11240 + 1113e: 782b ldrb r3, [r5, #0] + 11140: 2b00 cmp r3, #0 + 11142: d071 beq.n 11228 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 1115c: 4630 mov r0, r6 - 1115e: 47c8 blx r9 - 11160: 4604 mov r4, r0 + 11144: 4630 mov r0, r6 + 11146: 47c8 blx r9 + 11148: 4604 mov r4, r0 while(a != NULL) { - 11162: 2c00 cmp r4, #0 - 11164: d064 beq.n 11230 + 1114a: 2c00 cmp r4, #0 + 1114c: d064 beq.n 11218 anim_list_changed = false; - 11166: 702f strb r7, [r5, #0] + 1114e: 702f strb r7, [r5, #0] if(!a->has_run) { - 11168: f894 303c ldrb.w r3, [r4, #60] ; 0x3c - 1116c: f013 0f02 tst.w r3, #2 - 11170: d166 bne.n 11240 + 11150: f894 303c ldrb.w r3, [r4, #60] ; 0x3c + 11154: f013 0f02 tst.w r3, #2 + 11158: d166 bne.n 11228 a->has_run = 1; /*The list readying might be reseted so need to know which anim has run already*/ - 11172: f043 0302 orr.w r3, r3, #2 - 11176: f884 303c strb.w r3, [r4, #60] ; 0x3c + 1115a: f043 0302 orr.w r3, r3, #2 + 1115e: f884 303c strb.w r3, [r4, #60] ; 0x3c int32_t new_act_time = a->act_time + elaps; - 1117a: 6a63 ldr r3, [r4, #36] ; 0x24 + 11162: 6a63 ldr r3, [r4, #36] ; 0x24 if(a->act_time <= 0 && new_act_time >= 0) { - 1117c: 2b00 cmp r3, #0 - 1117e: ddd5 ble.n 1112c + 11164: 2b00 cmp r3, #0 + 11166: ddd5 ble.n 11114 a->act_time += elaps; - 11180: 6a63 ldr r3, [r4, #36] ; 0x24 - 11182: 4443 add r3, r8 - 11184: 6263 str r3, [r4, #36] ; 0x24 + 11168: 6a63 ldr r3, [r4, #36] ; 0x24 + 1116a: 4443 add r3, r8 + 1116c: 6263 str r3, [r4, #36] ; 0x24 if(a->act_time >= 0) { - 11186: 2b00 cmp r3, #0 - 11188: dbe5 blt.n 11156 + 1116e: 2b00 cmp r3, #0 + 11170: dbe5 blt.n 1113e if(a->act_time > a->time) a->act_time = a->time; - 1118a: 6a22 ldr r2, [r4, #32] - 1118c: 429a cmp r2, r3 - 1118e: bfb8 it lt - 11190: 6262 strlt r2, [r4, #36] ; 0x24 + 11172: 6a22 ldr r2, [r4, #32] + 11174: 429a cmp r2, r3 + 11176: bfb8 it lt + 11178: 6262 strlt r2, [r4, #36] ; 0x24 if(a->path.cb) new_value = a->path.cb(&a->path, a); - 11192: 6923 ldr r3, [r4, #16] - 11194: 2b00 cmp r3, #0 - 11196: d0d4 beq.n 11142 - 11198: 4621 mov r1, r4 - 1119a: f104 0010 add.w r0, r4, #16 - 1119e: 4798 blx r3 + 1117a: 6923 ldr r3, [r4, #16] + 1117c: 2b00 cmp r3, #0 + 1117e: d0d4 beq.n 1112a + 11180: 4621 mov r1, r4 + 11182: f104 0010 add.w r0, r4, #16 + 11186: 4798 blx r3 if(a->exec_cb) a->exec_cb(a->var, new_value); - 111a0: 6863 ldr r3, [r4, #4] - 111a2: 2b00 cmp r3, #0 - 111a4: d0d3 beq.n 1114e - 111a6: b201 sxth r1, r0 - 111a8: 6820 ldr r0, [r4, #0] - 111aa: 4798 blx r3 - 111ac: e7cf b.n 1114e + 11188: 6863 ldr r3, [r4, #4] + 1118a: 2b00 cmp r3, #0 + 1118c: d0d3 beq.n 11136 + 1118e: b201 sxth r1, r0 + 11190: 6820 ldr r0, [r4, #0] + 11192: 4798 blx r3 + 11194: e7cf b.n 11136 if(a->playback_now == 0 && a->repeat_cnt > 0 && a->repeat_cnt != LV_ANIM_REPEAT_INFINITE) { - 111ae: f894 303c ldrb.w r3, [r4, #60] ; 0x3c - 111b2: f013 0301 ands.w r3, r3, #1 - 111b6: d108 bne.n 111ca - 111b8: 8ea2 ldrh r2, [r4, #52] ; 0x34 - 111ba: 2a00 cmp r2, #0 - 111bc: d048 beq.n 11250 - 111be: f64f 71ff movw r1, #65535 ; 0xffff - 111c2: 428a cmp r2, r1 - 111c4: d04b beq.n 1125e + 11196: f894 303c ldrb.w r3, [r4, #60] ; 0x3c + 1119a: f013 0301 ands.w r3, r3, #1 + 1119e: d108 bne.n 111b2 + 111a0: 8ea2 ldrh r2, [r4, #52] ; 0x34 + 111a2: 2a00 cmp r2, #0 + 111a4: d048 beq.n 11238 + 111a6: f64f 71ff movw r1, #65535 ; 0xffff + 111aa: 428a cmp r2, r1 + 111ac: d04b beq.n 11246 a->repeat_cnt--; - 111c6: 3a01 subs r2, #1 - 111c8: 86a2 strh r2, [r4, #52] ; 0x34 + 111ae: 3a01 subs r2, #1 + 111b0: 86a2 strh r2, [r4, #52] ; 0x34 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - 111ca: 8ea2 ldrh r2, [r4, #52] ; 0x34 - 111cc: b1ca cbz r2, 11202 + 111b2: 8ea2 ldrh r2, [r4, #52] ; 0x34 + 111b4: b1ca cbz r2, 111ea a->act_time = -a->repeat_delay; /*Restart the animation*/ - 111ce: 6b22 ldr r2, [r4, #48] ; 0x30 - 111d0: 4252 negs r2, r2 - 111d2: 6262 str r2, [r4, #36] ; 0x24 + 111b6: 6b22 ldr r2, [r4, #48] ; 0x30 + 111b8: 4252 negs r2, r2 + 111ba: 6262 str r2, [r4, #36] ; 0x24 if(a->playback_time != 0) { - 111d4: 6ae2 ldr r2, [r4, #44] ; 0x2c - 111d6: 2a00 cmp r2, #0 - 111d8: d0bd beq.n 11156 + 111bc: 6ae2 ldr r2, [r4, #44] ; 0x2c + 111be: 2a00 cmp r2, #0 + 111c0: d0bd beq.n 1113e if(a->playback_now == 0) a->act_time = -a->playback_delay; - 111da: 2b00 cmp r3, #0 - 111dc: d03b beq.n 11256 + 111c2: 2b00 cmp r3, #0 + 111c4: d03b beq.n 1123e a->playback_now = a->playback_now == 0 ? 1 : 0; - 111de: f083 0301 eor.w r3, r3, #1 - 111e2: f894 103c ldrb.w r1, [r4, #60] ; 0x3c - 111e6: f363 0100 bfi r1, r3, #0, #1 - 111ea: f884 103c strb.w r1, [r4, #60] ; 0x3c + 111c6: f083 0301 eor.w r3, r3, #1 + 111ca: f894 103c ldrb.w r1, [r4, #60] ; 0x3c + 111ce: f363 0100 bfi r1, r3, #0, #1 + 111d2: f884 103c strb.w r1, [r4, #60] ; 0x3c tmp = a->start; - 111ee: 69a3 ldr r3, [r4, #24] + 111d6: 69a3 ldr r3, [r4, #24] a->start = a->end; - 111f0: 69e0 ldr r0, [r4, #28] - 111f2: 61a0 str r0, [r4, #24] + 111d8: 69e0 ldr r0, [r4, #28] + 111da: 61a0 str r0, [r4, #24] a->end = tmp; - 111f4: 61e3 str r3, [r4, #28] + 111dc: 61e3 str r3, [r4, #28] a->time = a->playback_now == 0 ? a->time_orig : a->playback_time; - 111f6: f011 0f01 tst.w r1, #1 - 111fa: bf08 it eq - 111fc: 6ba2 ldreq r2, [r4, #56] ; 0x38 - 111fe: 6222 str r2, [r4, #32] - 11200: e7a9 b.n 11156 + 111de: f011 0f01 tst.w r1, #1 + 111e2: bf08 it eq + 111e4: 6ba2 ldreq r2, [r4, #56] ; 0x38 + 111e6: 6222 str r2, [r4, #32] + 111e8: e7a9 b.n 1113e if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - 11202: 6ae2 ldr r2, [r4, #44] ; 0x2c - 11204: b102 cbz r2, 11208 - 11206: b333 cbz r3, 11256 + 111ea: 6ae2 ldr r2, [r4, #44] ; 0x2c + 111ec: b102 cbz r2, 111f0 + 111ee: b333 cbz r3, 1123e _lv_memcpy(&a_tmp, a, sizeof(lv_anim_t)); - 11208: 2240 movs r2, #64 ; 0x40 - 1120a: 4621 mov r1, r4 - 1120c: 4668 mov r0, sp - 1120e: 4b1e ldr r3, [pc, #120] ; (11288 ) - 11210: 4798 blx r3 + 111f0: 2240 movs r2, #64 ; 0x40 + 111f2: 4621 mov r1, r4 + 111f4: 4668 mov r0, sp + 111f6: 4b1e ldr r3, [pc, #120] ; (11270 ) + 111f8: 4798 blx r3 _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); - 11212: 4621 mov r1, r4 - 11214: 4630 mov r0, r6 - 11216: 4b1d ldr r3, [pc, #116] ; (1128c ) - 11218: 4798 blx r3 + 111fa: 4621 mov r1, r4 + 111fc: 4630 mov r0, r6 + 111fe: 4b1d ldr r3, [pc, #116] ; (11274 ) + 11200: 4798 blx r3 lv_mem_free(a); - 1121a: 4620 mov r0, r4 - 1121c: 4b1c ldr r3, [pc, #112] ; (11290 ) - 1121e: 4798 blx r3 + 11202: 4620 mov r0, r4 + 11204: 4b1c ldr r3, [pc, #112] ; (11278 ) + 11206: 4798 blx r3 anim_mark_list_change(); - 11220: 4b1c ldr r3, [pc, #112] ; (11294 ) - 11222: 4798 blx r3 + 11208: 4b1c ldr r3, [pc, #112] ; (1127c ) + 1120a: 4798 blx r3 if(a_tmp.ready_cb != NULL) a_tmp.ready_cb(&a_tmp); - 11224: 9b03 ldr r3, [sp, #12] - 11226: 2b00 cmp r3, #0 - 11228: d095 beq.n 11156 - 1122a: 4668 mov r0, sp - 1122c: 4798 blx r3 - 1122e: e792 b.n 11156 + 1120c: 9b03 ldr r3, [sp, #12] + 1120e: 2b00 cmp r3, #0 + 11210: d095 beq.n 1113e + 11212: 4668 mov r0, sp + 11214: 4798 blx r3 + 11216: e792 b.n 1113e last_task_run = lv_tick_get(); - 11230: 4b19 ldr r3, [pc, #100] ; (11298 ) - 11232: 4798 blx r3 - 11234: 4b11 ldr r3, [pc, #68] ; (1127c ) - 11236: 6098 str r0, [r3, #8] + 11218: 4b19 ldr r3, [pc, #100] ; (11280 ) + 1121a: 4798 blx r3 + 1121c: 4b11 ldr r3, [pc, #68] ; (11264 ) + 1121e: 6098 str r0, [r3, #8] } - 11238: b011 add sp, #68 ; 0x44 - 1123a: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 11220: b011 add sp, #68 ; 0x44 + 11222: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} a->act_time += elaps; - 1123e: 6263 str r3, [r4, #36] ; 0x24 + 11226: 6263 str r3, [r4, #36] ; 0x24 a = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - 11240: 4621 mov r1, r4 - 11242: 4630 mov r0, r6 - 11244: 4b0c ldr r3, [pc, #48] ; (11278 ) - 11246: 4798 blx r3 - 11248: 4604 mov r4, r0 - 1124a: e78a b.n 11162 + 11228: 4621 mov r1, r4 + 1122a: 4630 mov r0, r6 + 1122c: 4b0c ldr r3, [pc, #48] ; (11260 ) + 1122e: 4798 blx r3 + 11230: 4604 mov r4, r0 + 11232: e78a b.n 1114a a->act_time += elaps; - 1124c: 6263 str r3, [r4, #36] ; 0x24 - 1124e: e79c b.n 1118a + 11234: 6263 str r3, [r4, #36] ; 0x24 + 11236: e79c b.n 11172 if(a->repeat_cnt == 0 && ((a->playback_time == 0) || (a->playback_time && a->playback_now == 1))) { - 11250: 6ae2 ldr r2, [r4, #44] ; 0x2c - 11252: 2a00 cmp r2, #0 - 11254: d0d8 beq.n 11208 + 11238: 6ae2 ldr r2, [r4, #44] ; 0x2c + 1123a: 2a00 cmp r2, #0 + 1123c: d0d8 beq.n 111f0 if(a->playback_now == 0) a->act_time = -a->playback_delay; - 11256: 6aa1 ldr r1, [r4, #40] ; 0x28 - 11258: 4249 negs r1, r1 - 1125a: 6261 str r1, [r4, #36] ; 0x24 - 1125c: e7bf b.n 111de + 1123e: 6aa1 ldr r1, [r4, #40] ; 0x28 + 11240: 4249 negs r1, r1 + 11242: 6261 str r1, [r4, #36] ; 0x24 + 11244: e7bf b.n 111c6 a->act_time = -a->repeat_delay; /*Restart the animation*/ - 1125e: 6b22 ldr r2, [r4, #48] ; 0x30 - 11260: 4252 negs r2, r2 - 11262: 6262 str r2, [r4, #36] ; 0x24 + 11246: 6b22 ldr r2, [r4, #48] ; 0x30 + 11248: 4252 negs r2, r2 + 1124a: 6262 str r2, [r4, #36] ; 0x24 if(a->playback_time != 0) { - 11264: 6ae2 ldr r2, [r4, #44] ; 0x2c - 11266: 2a00 cmp r2, #0 - 11268: f43f af75 beq.w 11156 - 1126c: e7f3 b.n 11256 - 1126e: bf00 nop - 11270: 20006d5c .word 0x20006d5c - 11274: 00011fa9 .word 0x00011fa9 - 11278: 00011fbd .word 0x00011fbd - 1127c: 20002b7c .word 0x20002b7c - 11280: 00011071 .word 0x00011071 - 11284: 00011081 .word 0x00011081 - 11288: 00012655 .word 0x00012655 - 1128c: 00012095 .word 0x00012095 - 11290: 000124c5 .word 0x000124c5 - 11294: 000110a5 .word 0x000110a5 - 11298: 00011059 .word 0x00011059 - -0001129c <_lv_anim_core_init>: -{ - 1129c: b538 push {r3, r4, r5, lr} + 1124c: 6ae2 ldr r2, [r4, #44] ; 0x2c + 1124e: 2a00 cmp r2, #0 + 11250: f43f af75 beq.w 1113e + 11254: e7f3 b.n 1123e + 11256: bf00 nop + 11258: 20006d5c .word 0x20006d5c + 1125c: 00011f91 .word 0x00011f91 + 11260: 00011fa5 .word 0x00011fa5 + 11264: 20002b7c .word 0x20002b7c + 11268: 00011059 .word 0x00011059 + 1126c: 00011069 .word 0x00011069 + 11270: 0001263d .word 0x0001263d + 11274: 0001207d .word 0x0001207d + 11278: 000124ad .word 0x000124ad + 1127c: 0001108d .word 0x0001108d + 11280: 00011041 .word 0x00011041 + +00011284 <_lv_anim_core_init>: +{ + 11284: b538 push {r3, r4, r5, lr} _lv_ll_init(&LV_GC_ROOT(_lv_anim_ll), sizeof(lv_anim_t)); - 1129e: 2140 movs r1, #64 ; 0x40 - 112a0: 4809 ldr r0, [pc, #36] ; (112c8 <_lv_anim_core_init+0x2c>) - 112a2: 4b0a ldr r3, [pc, #40] ; (112cc <_lv_anim_core_init+0x30>) - 112a4: 4798 blx r3 + 11286: 2140 movs r1, #64 ; 0x40 + 11288: 4809 ldr r0, [pc, #36] ; (112b0 <_lv_anim_core_init+0x2c>) + 1128a: 4b0a ldr r3, [pc, #40] ; (112b4 <_lv_anim_core_init+0x30>) + 1128c: 4798 blx r3 last_task_run = lv_tick_get(); - 112a6: 4b0a ldr r3, [pc, #40] ; (112d0 <_lv_anim_core_init+0x34>) - 112a8: 4798 blx r3 - 112aa: 4c0a ldr r4, [pc, #40] ; (112d4 <_lv_anim_core_init+0x38>) - 112ac: 60a0 str r0, [r4, #8] + 1128e: 4b0a ldr r3, [pc, #40] ; (112b8 <_lv_anim_core_init+0x34>) + 11290: 4798 blx r3 + 11292: 4c0a ldr r4, [pc, #40] ; (112bc <_lv_anim_core_init+0x38>) + 11294: 60a0 str r0, [r4, #8] _lv_anim_task = lv_task_create(anim_task, LV_DISP_DEF_REFR_PERIOD, LV_ANIM_TASK_PRIO, NULL); - 112ae: 2300 movs r3, #0 - 112b0: 2204 movs r2, #4 - 112b2: 211e movs r1, #30 - 112b4: 4808 ldr r0, [pc, #32] ; (112d8 <_lv_anim_core_init+0x3c>) - 112b6: 4d09 ldr r5, [pc, #36] ; (112dc <_lv_anim_core_init+0x40>) - 112b8: 47a8 blx r5 - 112ba: 6060 str r0, [r4, #4] + 11296: 2300 movs r3, #0 + 11298: 2204 movs r2, #4 + 1129a: 211e movs r1, #30 + 1129c: 4808 ldr r0, [pc, #32] ; (112c0 <_lv_anim_core_init+0x3c>) + 1129e: 4d09 ldr r5, [pc, #36] ; (112c4 <_lv_anim_core_init+0x40>) + 112a0: 47a8 blx r5 + 112a2: 6060 str r0, [r4, #4] anim_mark_list_change(); /*Turn off the animation task*/ - 112bc: 4b08 ldr r3, [pc, #32] ; (112e0 <_lv_anim_core_init+0x44>) - 112be: 4798 blx r3 + 112a4: 4b08 ldr r3, [pc, #32] ; (112c8 <_lv_anim_core_init+0x44>) + 112a6: 4798 blx r3 anim_list_changed = false; /*The list has not actaully changed*/ - 112c0: 2300 movs r3, #0 - 112c2: 7023 strb r3, [r4, #0] - 112c4: bd38 pop {r3, r4, r5, pc} - 112c6: bf00 nop - 112c8: 20006d5c .word 0x20006d5c - 112cc: 00011ef9 .word 0x00011ef9 - 112d0: 00011059 .word 0x00011059 - 112d4: 20002b7c .word 0x20002b7c - 112d8: 000110dd .word 0x000110dd - 112dc: 000139e5 .word 0x000139e5 - 112e0: 000110a5 .word 0x000110a5 - -000112e4 : -{ - 112e4: b510 push {r4, lr} - 112e6: 4604 mov r4, r0 + 112a8: 2300 movs r3, #0 + 112aa: 7023 strb r3, [r4, #0] + 112ac: bd38 pop {r3, r4, r5, pc} + 112ae: bf00 nop + 112b0: 20006d5c .word 0x20006d5c + 112b4: 00011ee1 .word 0x00011ee1 + 112b8: 00011041 .word 0x00011041 + 112bc: 20002b7c .word 0x20002b7c + 112c0: 000110c5 .word 0x000110c5 + 112c4: 000139cd .word 0x000139cd + 112c8: 0001108d .word 0x0001108d + +000112cc : +{ + 112cc: b510 push {r4, lr} + 112ce: 4604 mov r4, r0 _lv_memset_00(a, sizeof(lv_anim_t)); - 112e8: 2140 movs r1, #64 ; 0x40 - 112ea: 4b0d ldr r3, [pc, #52] ; (11320 ) - 112ec: 4798 blx r3 + 112d0: 2140 movs r1, #64 ; 0x40 + 112d2: 4b0d ldr r3, [pc, #52] ; (11308 ) + 112d4: 4798 blx r3 a->time = 500; - 112ee: f44f 73fa mov.w r3, #500 ; 0x1f4 - 112f2: 6223 str r3, [r4, #32] + 112d6: f44f 73fa mov.w r3, #500 ; 0x1f4 + 112da: 6223 str r3, [r4, #32] a->start = 0; - 112f4: 2300 movs r3, #0 - 112f6: 61a3 str r3, [r4, #24] + 112dc: 2300 movs r3, #0 + 112de: 61a3 str r3, [r4, #24] a->end = 100; - 112f8: 2364 movs r3, #100 ; 0x64 - 112fa: 61e3 str r3, [r4, #28] + 112e0: 2364 movs r3, #100 ; 0x64 + 112e2: 61e3 str r3, [r4, #28] { uint8_t * d8 = (uint8_t *)dst; const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 112fc: 4b09 ldr r3, [pc, #36] ; (11324 ) - 112fe: 781a ldrb r2, [r3, #0] - 11300: 7422 strb r2, [r4, #16] - 11302: 785a ldrb r2, [r3, #1] - 11304: 7462 strb r2, [r4, #17] - 11306: 789a ldrb r2, [r3, #2] - 11308: 74a2 strb r2, [r4, #18] - 1130a: 78db ldrb r3, [r3, #3] - 1130c: 74e3 strb r3, [r4, #19] + 112e4: 4b09 ldr r3, [pc, #36] ; (1130c ) + 112e6: 781a ldrb r2, [r3, #0] + 112e8: 7422 strb r2, [r4, #16] + 112ea: 785a ldrb r2, [r3, #1] + 112ec: 7462 strb r2, [r4, #17] + 112ee: 789a ldrb r2, [r3, #2] + 112f0: 74a2 strb r2, [r4, #18] + 112f2: 78db ldrb r3, [r3, #3] + 112f4: 74e3 strb r3, [r4, #19] a->repeat_cnt = 1; - 1130e: 2301 movs r3, #1 - 11310: 86a3 strh r3, [r4, #52] ; 0x34 + 112f6: 2301 movs r3, #1 + 112f8: 86a3 strh r3, [r4, #52] ; 0x34 a->early_apply = 1; - 11312: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 11316: f043 0301 orr.w r3, r3, #1 - 1131a: f884 3036 strb.w r3, [r4, #54] ; 0x36 - 1131e: bd10 pop {r4, pc} - 11320: 00012b37 .word 0x00012b37 - 11324: 00029200 .word 0x00029200 - -00011328 : -{ - 11328: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1132c: 4607 mov r7, r0 - 1132e: 4689 mov r9, r1 + 112fa: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 112fe: f043 0301 orr.w r3, r3, #1 + 11302: f884 3036 strb.w r3, [r4, #54] ; 0x36 + 11306: bd10 pop {r4, pc} + 11308: 00012b1f .word 0x00012b1f + 1130c: 000291e8 .word 0x000291e8 + +00011310 : +{ + 11310: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} + 11314: 4607 mov r7, r0 + 11316: 4689 mov r9, r1 a = _lv_ll_get_head(&LV_GC_ROOT(_lv_anim_ll)); - 11330: 4815 ldr r0, [pc, #84] ; (11388 ) - 11332: 4b16 ldr r3, [pc, #88] ; (1138c ) - 11334: 4798 blx r3 + 11318: 4815 ldr r0, [pc, #84] ; (11370 ) + 1131a: 4b16 ldr r3, [pc, #88] ; (11374 ) + 1131c: 4798 blx r3 while(a != NULL) { - 11336: b310 cbz r0, 1137e - 11338: 4604 mov r4, r0 - 1133a: f04f 0a00 mov.w sl, #0 + 1131e: b310 cbz r0, 11366 + 11320: 4604 mov r4, r0 + 11322: f04f 0a00 mov.w sl, #0 a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - 1133e: f8df 8048 ldr.w r8, [pc, #72] ; 11388 - 11342: 4e13 ldr r6, [pc, #76] ; (11390 ) + 11326: f8df 8048 ldr.w r8, [pc, #72] ; 11370 + 1132a: 4e13 ldr r6, [pc, #76] ; (11378 ) _lv_ll_remove(&LV_GC_ROOT(_lv_anim_ll), a); - 11344: f8df b054 ldr.w fp, [pc, #84] ; 1139c - 11348: e00b b.n 11362 - 1134a: 4621 mov r1, r4 - 1134c: 4640 mov r0, r8 - 1134e: 47d8 blx fp + 1132c: f8df b054 ldr.w fp, [pc, #84] ; 11384 + 11330: e00b b.n 1134a + 11332: 4621 mov r1, r4 + 11334: 4640 mov r0, r8 + 11336: 47d8 blx fp lv_mem_free(a); - 11350: 4620 mov r0, r4 - 11352: 4b10 ldr r3, [pc, #64] ; (11394 ) - 11354: 4798 blx r3 + 11338: 4620 mov r0, r4 + 1133a: 4b10 ldr r3, [pc, #64] ; (1137c ) + 1133c: 4798 blx r3 anim_mark_list_change(); /*Read by `anim_task`. It need to know if a delete occurred in - 11356: 4b10 ldr r3, [pc, #64] ; (11398 ) - 11358: 4798 blx r3 + 1133e: 4b10 ldr r3, [pc, #64] ; (11380 ) + 11340: 4798 blx r3 del = true; - 1135a: f04f 0a01 mov.w sl, #1 - 1135e: 462c mov r4, r5 + 11342: f04f 0a01 mov.w sl, #1 + 11346: 462c mov r4, r5 while(a != NULL) { - 11360: b17d cbz r5, 11382 + 11348: b17d cbz r5, 1136a a_next = _lv_ll_get_next(&LV_GC_ROOT(_lv_anim_ll), a); - 11362: 4621 mov r1, r4 - 11364: 4640 mov r0, r8 - 11366: 47b0 blx r6 - 11368: 4605 mov r5, r0 + 1134a: 4621 mov r1, r4 + 1134c: 4640 mov r0, r8 + 1134e: 47b0 blx r6 + 11350: 4605 mov r5, r0 if(a->var == var && (a->exec_cb == exec_cb || exec_cb == NULL)) { - 1136a: 6823 ldr r3, [r4, #0] - 1136c: 42bb cmp r3, r7 - 1136e: d1f6 bne.n 1135e - 11370: 6863 ldr r3, [r4, #4] - 11372: 454b cmp r3, r9 - 11374: d0e9 beq.n 1134a - 11376: f1b9 0f00 cmp.w r9, #0 - 1137a: d1f0 bne.n 1135e - 1137c: e7e5 b.n 1134a + 11352: 6823 ldr r3, [r4, #0] + 11354: 42bb cmp r3, r7 + 11356: d1f6 bne.n 11346 + 11358: 6863 ldr r3, [r4, #4] + 1135a: 454b cmp r3, r9 + 1135c: d0e9 beq.n 11332 + 1135e: f1b9 0f00 cmp.w r9, #0 + 11362: d1f0 bne.n 11346 + 11364: e7e5 b.n 11332 bool del = false; - 1137e: f04f 0a00 mov.w sl, #0 -} - 11382: 4650 mov r0, sl - 11384: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - 11388: 20006d5c .word 0x20006d5c - 1138c: 00011fa9 .word 0x00011fa9 - 11390: 00011fbd .word 0x00011fbd - 11394: 000124c5 .word 0x000124c5 - 11398: 000110a5 .word 0x000110a5 - 1139c: 00012095 .word 0x00012095 - -000113a0 : -{ - 113a0: b530 push {r4, r5, lr} - 113a2: b083 sub sp, #12 - 113a4: 4605 mov r5, r0 + 11366: f04f 0a00 mov.w sl, #0 +} + 1136a: 4650 mov r0, sl + 1136c: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} + 11370: 20006d5c .word 0x20006d5c + 11374: 00011f91 .word 0x00011f91 + 11378: 00011fa5 .word 0x00011fa5 + 1137c: 000124ad .word 0x000124ad + 11380: 0001108d .word 0x0001108d + 11384: 0001207d .word 0x0001207d + +00011388 : +{ + 11388: b530 push {r4, r5, lr} + 1138a: b083 sub sp, #12 + 1138c: 4605 mov r5, r0 if(a->exec_cb != NULL) lv_anim_del(a->var, a->exec_cb); /*fp == NULL would delete all animations of var*/ - 113a6: 6841 ldr r1, [r0, #4] - 113a8: b111 cbz r1, 113b0 - 113aa: 6800 ldr r0, [r0, #0] - 113ac: 4b1b ldr r3, [pc, #108] ; (1141c ) - 113ae: 4798 blx r3 + 1138e: 6841 ldr r1, [r0, #4] + 11390: b111 cbz r1, 11398 + 11392: 6800 ldr r0, [r0, #0] + 11394: 4b1b ldr r3, [pc, #108] ; (11404 ) + 11396: 4798 blx r3 if(_lv_ll_is_empty(&LV_GC_ROOT(_lv_anim_ll))) { - 113b0: 481b ldr r0, [pc, #108] ; (11420 ) - 113b2: 4b1c ldr r3, [pc, #112] ; (11424 ) - 113b4: 4798 blx r3 - 113b6: b9f0 cbnz r0, 113f6 + 11398: 481b ldr r0, [pc, #108] ; (11408 ) + 1139a: 4b1c ldr r3, [pc, #112] ; (1140c ) + 1139c: 4798 blx r3 + 1139e: b9f0 cbnz r0, 113de lv_anim_t * new_anim = _lv_ll_ins_head(&LV_GC_ROOT(_lv_anim_ll)); - 113b8: 4819 ldr r0, [pc, #100] ; (11420 ) - 113ba: 4b1b ldr r3, [pc, #108] ; (11428 ) - 113bc: 4798 blx r3 - 113be: 4604 mov r4, r0 + 113a0: 4819 ldr r0, [pc, #100] ; (11408 ) + 113a2: 4b1b ldr r3, [pc, #108] ; (11410 ) + 113a4: 4798 blx r3 + 113a6: 4604 mov r4, r0 LV_ASSERT_MEM(new_anim); - 113c0: 4b1a ldr r3, [pc, #104] ; (1142c ) - 113c2: 4798 blx r3 - 113c4: b1e8 cbz r0, 11402 + 113a8: 4b1a ldr r3, [pc, #104] ; (11414 ) + 113aa: 4798 blx r3 + 113ac: b1e8 cbz r0, 113ea if(new_anim == NULL) return; - 113c6: b1a4 cbz r4, 113f2 + 113ae: b1a4 cbz r4, 113da a->time_orig = a->time; - 113c8: 6a2b ldr r3, [r5, #32] - 113ca: 63ab str r3, [r5, #56] ; 0x38 + 113b0: 6a2b ldr r3, [r5, #32] + 113b2: 63ab str r3, [r5, #56] ; 0x38 _lv_memcpy(new_anim, a, sizeof(lv_anim_t)); - 113cc: 2240 movs r2, #64 ; 0x40 - 113ce: 4629 mov r1, r5 - 113d0: 4620 mov r0, r4 - 113d2: 4b17 ldr r3, [pc, #92] ; (11430 ) - 113d4: 4798 blx r3 + 113b4: 2240 movs r2, #64 ; 0x40 + 113b6: 4629 mov r1, r5 + 113b8: 4620 mov r0, r4 + 113ba: 4b17 ldr r3, [pc, #92] ; (11418 ) + 113bc: 4798 blx r3 if(new_anim->early_apply) { - 113d6: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 - 113da: f013 0f01 tst.w r3, #1 - 113de: d006 beq.n 113ee + 113be: f894 3036 ldrb.w r3, [r4, #54] ; 0x36 + 113c2: f013 0f01 tst.w r3, #1 + 113c6: d006 beq.n 113d6 if(new_anim->exec_cb && new_anim->var) new_anim->exec_cb(new_anim->var, new_anim->start); - 113e0: 6863 ldr r3, [r4, #4] - 113e2: b123 cbz r3, 113ee - 113e4: 6820 ldr r0, [r4, #0] - 113e6: b110 cbz r0, 113ee - 113e8: f9b4 1018 ldrsh.w r1, [r4, #24] - 113ec: 4798 blx r3 + 113c8: 6863 ldr r3, [r4, #4] + 113ca: b123 cbz r3, 113d6 + 113cc: 6820 ldr r0, [r4, #0] + 113ce: b110 cbz r0, 113d6 + 113d0: f9b4 1018 ldrsh.w r1, [r4, #24] + 113d4: 4798 blx r3 anim_mark_list_change(); - 113ee: 4b11 ldr r3, [pc, #68] ; (11434 ) - 113f0: 4798 blx r3 + 113d6: 4b11 ldr r3, [pc, #68] ; (1141c ) + 113d8: 4798 blx r3 } - 113f2: b003 add sp, #12 - 113f4: bd30 pop {r4, r5, pc} + 113da: b003 add sp, #12 + 113dc: bd30 pop {r4, r5, pc} last_task_run = lv_tick_get() - 1; - 113f6: 4b10 ldr r3, [pc, #64] ; (11438 ) - 113f8: 4798 blx r3 - 113fa: 3801 subs r0, #1 - 113fc: 4b0f ldr r3, [pc, #60] ; (1143c ) - 113fe: 6098 str r0, [r3, #8] - 11400: e7da b.n 113b8 + 113de: 4b10 ldr r3, [pc, #64] ; (11420 ) + 113e0: 4798 blx r3 + 113e2: 3801 subs r0, #1 + 113e4: 4b0f ldr r3, [pc, #60] ; (11424 ) + 113e6: 6098 str r0, [r3, #8] + 113e8: e7da b.n 113a0 LV_ASSERT_MEM(new_anim); - 11402: 4b0f ldr r3, [pc, #60] ; (11440 ) - 11404: 9300 str r3, [sp, #0] - 11406: 226a movs r2, #106 ; 0x6a - 11408: 490e ldr r1, [pc, #56] ; (11444 ) - 1140a: 2003 movs r0, #3 - 1140c: 4d0e ldr r5, [pc, #56] ; (11448 ) - 1140e: 47a8 blx r5 - 11410: 4622 mov r2, r4 - 11412: 2300 movs r3, #0 - 11414: 480d ldr r0, [pc, #52] ; (1144c ) - 11416: 490e ldr r1, [pc, #56] ; (11450 ) - 11418: 4788 blx r1 - 1141a: e7fe b.n 1141a - 1141c: 00011329 .word 0x00011329 - 11420: 20006d5c .word 0x20006d5c - 11424: 00012245 .word 0x00012245 - 11428: 00011f11 .word 0x00011f11 - 1142c: 000022b1 .word 0x000022b1 - 11430: 00012655 .word 0x00012655 - 11434: 000110a5 .word 0x000110a5 - 11438: 00011059 .word 0x00011059 - 1143c: 20002b7c .word 0x20002b7c - 11440: 00029208 .word 0x00029208 - 11444: 00029218 .word 0x00029218 - 11448: 0001225d .word 0x0001225d - 1144c: 00023fd8 .word 0x00023fd8 - 11450: 000022b9 .word 0x000022b9 - -00011454 : -{ - 11454: b5f8 push {r3, r4, r5, r6, r7, lr} - 11456: 4604 mov r4, r0 - 11458: 460f mov r7, r1 + 113ea: 4b0f ldr r3, [pc, #60] ; (11428 ) + 113ec: 9300 str r3, [sp, #0] + 113ee: 226a movs r2, #106 ; 0x6a + 113f0: 490e ldr r1, [pc, #56] ; (1142c ) + 113f2: 2003 movs r0, #3 + 113f4: 4d0e ldr r5, [pc, #56] ; (11430 ) + 113f6: 47a8 blx r5 + 113f8: 4622 mov r2, r4 + 113fa: 2300 movs r3, #0 + 113fc: 480d ldr r0, [pc, #52] ; (11434 ) + 113fe: 490e ldr r1, [pc, #56] ; (11438 ) + 11400: 4788 blx r1 + 11402: e7fe b.n 11402 + 11404: 00011311 .word 0x00011311 + 11408: 20006d5c .word 0x20006d5c + 1140c: 0001222d .word 0x0001222d + 11410: 00011ef9 .word 0x00011ef9 + 11414: 00002299 .word 0x00002299 + 11418: 0001263d .word 0x0001263d + 1141c: 0001108d .word 0x0001108d + 11420: 00011041 .word 0x00011041 + 11424: 20002b7c .word 0x20002b7c + 11428: 000291f0 .word 0x000291f0 + 1142c: 00029200 .word 0x00029200 + 11430: 00012245 .word 0x00012245 + 11434: 00023fc0 .word 0x00023fc0 + 11438: 000022a1 .word 0x000022a1 + +0001143c : +{ + 1143c: b5f8 push {r3, r4, r5, r6, r7, lr} + 1143e: 4604 mov r4, r0 + 11440: 460f mov r7, r1 _LV_LL_READ(LV_GC_ROOT(_lv_anim_ll), a) { - 1145a: 480a ldr r0, [pc, #40] ; (11484 ) - 1145c: 4b0a ldr r3, [pc, #40] ; (11488 ) - 1145e: 4798 blx r3 - 11460: 4601 mov r1, r0 - 11462: b160 cbz r0, 1147e - 11464: 4e07 ldr r6, [pc, #28] ; (11484 ) - 11466: 4d09 ldr r5, [pc, #36] ; (1148c ) - 11468: e003 b.n 11472 - 1146a: 4630 mov r0, r6 - 1146c: 47a8 blx r5 - 1146e: 4601 mov r1, r0 - 11470: b128 cbz r0, 1147e + 11442: 480a ldr r0, [pc, #40] ; (1146c ) + 11444: 4b0a ldr r3, [pc, #40] ; (11470 ) + 11446: 4798 blx r3 + 11448: 4601 mov r1, r0 + 1144a: b160 cbz r0, 11466 + 1144c: 4e07 ldr r6, [pc, #28] ; (1146c ) + 1144e: 4d09 ldr r5, [pc, #36] ; (11474 ) + 11450: e003 b.n 1145a + 11452: 4630 mov r0, r6 + 11454: 47a8 blx r5 + 11456: 4601 mov r1, r0 + 11458: b128 cbz r0, 11466 if(a->var == var && a->exec_cb == exec_cb) { - 11472: 680b ldr r3, [r1, #0] - 11474: 42a3 cmp r3, r4 - 11476: d1f8 bne.n 1146a - 11478: 684b ldr r3, [r1, #4] - 1147a: 42bb cmp r3, r7 - 1147c: d1f5 bne.n 1146a -} - 1147e: 4608 mov r0, r1 - 11480: bdf8 pop {r3, r4, r5, r6, r7, pc} - 11482: bf00 nop - 11484: 20006d5c .word 0x20006d5c - 11488: 00011fa9 .word 0x00011fa9 - 1148c: 00011fbd .word 0x00011fbd - -00011490 : + 1145a: 680b ldr r3, [r1, #0] + 1145c: 42a3 cmp r3, r4 + 1145e: d1f8 bne.n 11452 + 11460: 684b ldr r3, [r1, #4] + 11462: 42bb cmp r3, r7 + 11464: d1f5 bne.n 11452 +} + 11466: 4608 mov r0, r1 + 11468: bdf8 pop {r3, r4, r5, r6, r7, pc} + 1146a: bf00 nop + 1146c: 20006d5c .word 0x20006d5c + 11470: 00011f91 .word 0x00011f91 + 11474: 00011fa5 .word 0x00011fa5 + +00011478 : int32_t d = LV_MATH_ABS((int32_t)start - end); - 11490: 1a89 subs r1, r1, r2 - 11492: 2900 cmp r1, #0 - 11494: bfb8 it lt - 11496: 4249 neglt r1, r1 + 11478: 1a89 subs r1, r1, r2 + 1147a: 2900 cmp r1, #0 + 1147c: bfb8 it lt + 1147e: 4249 neglt r1, r1 uint32_t time = (int32_t)((int32_t)(d * 1000) / speed); - 11498: f44f 727a mov.w r2, #1000 ; 0x3e8 - 1149c: fb02 f201 mul.w r2, r2, r1 - 114a0: fb92 f0f0 sdiv r0, r2, r0 - 114a4: f64f 72ff movw r2, #65535 ; 0xffff - 114a8: 4290 cmp r0, r2 - 114aa: bf28 it cs - 114ac: 4610 movcs r0, r2 + 11480: f44f 727a mov.w r2, #1000 ; 0x3e8 + 11484: fb02 f201 mul.w r2, r2, r1 + 11488: fb92 f0f0 sdiv r0, r2, r0 + 1148c: f64f 72ff movw r2, #65535 ; 0xffff + 11490: 4290 cmp r0, r2 + 11492: bf28 it cs + 11494: 4610 movcs r0, r2 time++; - 114ae: 2800 cmp r0, #0 - 114b0: bf08 it eq - 114b2: 2001 moveq r0, #1 + 11496: 2800 cmp r0, #0 + 11498: bf08 it eq + 1149a: 2001 moveq r0, #1 } - 114b4: b280 uxth r0, r0 - 114b6: 4770 bx lr + 1149c: b280 uxth r0, r0 + 1149e: 4770 bx lr -000114b8 : +000114a0 : /********************** * STATIC FUNCTIONS **********************/ static bool lv_point_within_circle(const lv_area_t * area, const lv_point_t * p) { - 114b8: b430 push {r4, r5} + 114a0: b430 push {r4, r5} lv_coord_t r = (area->x2 - area->x1) / 2; - 114ba: f9b0 5000 ldrsh.w r5, [r0] - 114be: f9b0 3004 ldrsh.w r3, [r0, #4] - 114c2: 1b5b subs r3, r3, r5 - 114c4: eb03 73d3 add.w r3, r3, r3, lsr #31 - 114c8: 105b asrs r3, r3, #1 + 114a2: f9b0 5000 ldrsh.w r5, [r0] + 114a6: f9b0 3004 ldrsh.w r3, [r0, #4] + 114aa: 1b5b subs r3, r3, r5 + 114ac: eb03 73d3 add.w r3, r3, r3, lsr #31 + 114b0: 105b asrs r3, r3, #1 /* Circle center */ lv_coord_t cx = area->x1 + r; - 114ca: b29c uxth r4, r3 + 114b2: b29c uxth r4, r3 lv_coord_t cy = area->y1 + r; /*Simplify the code by moving everything to (0, 0) */ lv_coord_t px = p->x - cx; - 114cc: 880a ldrh r2, [r1, #0] - 114ce: 1b52 subs r2, r2, r5 - 114d0: 1b12 subs r2, r2, r4 + 114b4: 880a ldrh r2, [r1, #0] + 114b6: 1b52 subs r2, r2, r5 + 114b8: 1b12 subs r2, r2, r4 lv_coord_t py = p->y - cy; - 114d2: 8849 ldrh r1, [r1, #2] - 114d4: 8840 ldrh r0, [r0, #2] - 114d6: 1a08 subs r0, r1, r0 - 114d8: 1b00 subs r0, r0, r4 + 114ba: 8849 ldrh r1, [r1, #2] + 114bc: 8840 ldrh r0, [r0, #2] + 114be: 1a08 subs r0, r1, r0 + 114c0: 1b00 subs r0, r0, r4 int32_t r_sqrd = r * r; - 114da: fb13 f303 smulbb r3, r3, r3 + 114c2: fb13 f303 smulbb r3, r3, r3 int32_t dist = (px * px) + (py * py); - 114de: fb10 f000 smulbb r0, r0, r0 - 114e2: fb12 0202 smlabb r2, r2, r2, r0 + 114c6: fb10 f000 smulbb r0, r0, r0 + 114ca: fb12 0202 smlabb r2, r2, r2, r0 if(dist <= r_sqrd) return true; else return false; } - 114e6: 4293 cmp r3, r2 - 114e8: bfb4 ite lt - 114ea: 2000 movlt r0, #0 - 114ec: 2001 movge r0, #1 - 114ee: bc30 pop {r4, r5} - 114f0: 4770 bx lr + 114ce: 4293 cmp r3, r2 + 114d0: bfb4 ite lt + 114d2: 2000 movlt r0, #0 + 114d4: 2001 movge r0, #1 + 114d6: bc30 pop {r4, r5} + 114d8: 4770 bx lr -000114f2 : +000114da : area_p->y2 = area_p->y1 + h - 1; - 114f2: 3901 subs r1, #1 - 114f4: 8843 ldrh r3, [r0, #2] - 114f6: 4419 add r1, r3 - 114f8: 80c1 strh r1, [r0, #6] - 114fa: 4770 bx lr + 114da: 3901 subs r1, #1 + 114dc: 8843 ldrh r3, [r0, #2] + 114de: 4419 add r1, r3 + 114e0: 80c1 strh r1, [r0, #6] + 114e2: 4770 bx lr -000114fc : +000114e4 : size = (uint32_t)(area_p->x2 - area_p->x1 + 1) * (area_p->y2 - area_p->y1 + 1); - 114fc: f9b0 2004 ldrsh.w r2, [r0, #4] - 11500: f9b0 3000 ldrsh.w r3, [r0] - 11504: 1ad2 subs r2, r2, r3 - 11506: f9b0 3006 ldrsh.w r3, [r0, #6] - 1150a: f9b0 0002 ldrsh.w r0, [r0, #2] - 1150e: 1a18 subs r0, r3, r0 - 11510: 3001 adds r0, #1 + 114e4: f9b0 2004 ldrsh.w r2, [r0, #4] + 114e8: f9b0 3000 ldrsh.w r3, [r0] + 114ec: 1ad2 subs r2, r2, r3 + 114ee: f9b0 3006 ldrsh.w r3, [r0, #6] + 114f2: f9b0 0002 ldrsh.w r0, [r0, #2] + 114f6: 1a18 subs r0, r3, r0 + 114f8: 3001 adds r0, #1 } - 11512: fb02 0000 mla r0, r2, r0, r0 - 11516: 4770 bx lr + 114fa: fb02 0000 mla r0, r2, r0, r0 + 114fe: 4770 bx lr -00011518 <_lv_area_intersect>: +00011500 <_lv_area_intersect>: { - 11518: b470 push {r4, r5, r6} + 11500: b470 push {r4, r5, r6} res_p->x1 = LV_MATH_MAX(a1_p->x1, a2_p->x1); - 1151a: f9b2 5000 ldrsh.w r5, [r2] - 1151e: f9b1 3000 ldrsh.w r3, [r1] - 11522: 429d cmp r5, r3 - 11524: bfb8 it lt - 11526: 461d movlt r5, r3 - 11528: 8005 strh r5, [r0, #0] + 11502: f9b2 5000 ldrsh.w r5, [r2] + 11506: f9b1 3000 ldrsh.w r3, [r1] + 1150a: 429d cmp r5, r3 + 1150c: bfb8 it lt + 1150e: 461d movlt r5, r3 + 11510: 8005 strh r5, [r0, #0] res_p->y1 = LV_MATH_MAX(a1_p->y1, a2_p->y1); - 1152a: f9b2 3002 ldrsh.w r3, [r2, #2] - 1152e: f9b1 4002 ldrsh.w r4, [r1, #2] - 11532: 42a3 cmp r3, r4 - 11534: bfb8 it lt - 11536: 4623 movlt r3, r4 - 11538: 8043 strh r3, [r0, #2] + 11512: f9b2 3002 ldrsh.w r3, [r2, #2] + 11516: f9b1 4002 ldrsh.w r4, [r1, #2] + 1151a: 42a3 cmp r3, r4 + 1151c: bfb8 it lt + 1151e: 4623 movlt r3, r4 + 11520: 8043 strh r3, [r0, #2] res_p->x2 = LV_MATH_MIN(a1_p->x2, a2_p->x2); - 1153a: f9b2 4004 ldrsh.w r4, [r2, #4] - 1153e: f9b1 6004 ldrsh.w r6, [r1, #4] - 11542: 42b4 cmp r4, r6 - 11544: bfa8 it ge - 11546: 4634 movge r4, r6 - 11548: 8084 strh r4, [r0, #4] + 11522: f9b2 4004 ldrsh.w r4, [r2, #4] + 11526: f9b1 6004 ldrsh.w r6, [r1, #4] + 1152a: 42b4 cmp r4, r6 + 1152c: bfa8 it ge + 1152e: 4634 movge r4, r6 + 11530: 8084 strh r4, [r0, #4] res_p->y2 = LV_MATH_MIN(a1_p->y2, a2_p->y2); - 1154a: f9b2 2006 ldrsh.w r2, [r2, #6] - 1154e: f9b1 1006 ldrsh.w r1, [r1, #6] - 11552: 428a cmp r2, r1 - 11554: bfa8 it ge - 11556: 460a movge r2, r1 - 11558: 80c2 strh r2, [r0, #6] + 11532: f9b2 2006 ldrsh.w r2, [r2, #6] + 11536: f9b1 1006 ldrsh.w r1, [r1, #6] + 1153a: 428a cmp r2, r1 + 1153c: bfa8 it ge + 1153e: 460a movge r2, r1 + 11540: 80c2 strh r2, [r0, #6] if((res_p->x1 > res_p->x2) || (res_p->y1 > res_p->y2)) { - 1155a: 42a5 cmp r5, r4 - 1155c: dc05 bgt.n 1156a <_lv_area_intersect+0x52> - 1155e: 4293 cmp r3, r2 - 11560: bfcc ite gt - 11562: 2000 movgt r0, #0 - 11564: 2001 movle r0, #1 -} - 11566: bc70 pop {r4, r5, r6} - 11568: 4770 bx lr + 11542: 42a5 cmp r5, r4 + 11544: dc05 bgt.n 11552 <_lv_area_intersect+0x52> + 11546: 4293 cmp r3, r2 + 11548: bfcc ite gt + 1154a: 2000 movgt r0, #0 + 1154c: 2001 movle r0, #1 +} + 1154e: bc70 pop {r4, r5, r6} + 11550: 4770 bx lr union_ok = false; - 1156a: 2000 movs r0, #0 - 1156c: e7fb b.n 11566 <_lv_area_intersect+0x4e> + 11552: 2000 movs r0, #0 + 11554: e7fb b.n 1154e <_lv_area_intersect+0x4e> -0001156e <_lv_area_join>: +00011556 <_lv_area_join>: { - 1156e: b410 push {r4} + 11556: b410 push {r4} a_res_p->x1 = LV_MATH_MIN(a1_p->x1, a2_p->x1); - 11570: f9b2 3000 ldrsh.w r3, [r2] - 11574: f9b1 4000 ldrsh.w r4, [r1] - 11578: 42a3 cmp r3, r4 - 1157a: bfa8 it ge - 1157c: 4623 movge r3, r4 - 1157e: 8003 strh r3, [r0, #0] + 11558: f9b2 3000 ldrsh.w r3, [r2] + 1155c: f9b1 4000 ldrsh.w r4, [r1] + 11560: 42a3 cmp r3, r4 + 11562: bfa8 it ge + 11564: 4623 movge r3, r4 + 11566: 8003 strh r3, [r0, #0] a_res_p->y1 = LV_MATH_MIN(a1_p->y1, a2_p->y1); - 11580: f9b2 3002 ldrsh.w r3, [r2, #2] - 11584: f9b1 4002 ldrsh.w r4, [r1, #2] - 11588: 42a3 cmp r3, r4 - 1158a: bfa8 it ge - 1158c: 4623 movge r3, r4 - 1158e: 8043 strh r3, [r0, #2] + 11568: f9b2 3002 ldrsh.w r3, [r2, #2] + 1156c: f9b1 4002 ldrsh.w r4, [r1, #2] + 11570: 42a3 cmp r3, r4 + 11572: bfa8 it ge + 11574: 4623 movge r3, r4 + 11576: 8043 strh r3, [r0, #2] a_res_p->x2 = LV_MATH_MAX(a1_p->x2, a2_p->x2); - 11590: f9b2 3004 ldrsh.w r3, [r2, #4] - 11594: f9b1 4004 ldrsh.w r4, [r1, #4] - 11598: 42a3 cmp r3, r4 - 1159a: bfb8 it lt - 1159c: 4623 movlt r3, r4 - 1159e: 8083 strh r3, [r0, #4] + 11578: f9b2 3004 ldrsh.w r3, [r2, #4] + 1157c: f9b1 4004 ldrsh.w r4, [r1, #4] + 11580: 42a3 cmp r3, r4 + 11582: bfb8 it lt + 11584: 4623 movlt r3, r4 + 11586: 8083 strh r3, [r0, #4] a_res_p->y2 = LV_MATH_MAX(a1_p->y2, a2_p->y2); - 115a0: f9b2 3006 ldrsh.w r3, [r2, #6] - 115a4: f9b1 2006 ldrsh.w r2, [r1, #6] - 115a8: 4293 cmp r3, r2 - 115aa: bfb8 it lt - 115ac: 4613 movlt r3, r2 - 115ae: 80c3 strh r3, [r0, #6] -} - 115b0: f85d 4b04 ldr.w r4, [sp], #4 - 115b4: 4770 bx lr + 11588: f9b2 3006 ldrsh.w r3, [r2, #6] + 1158c: f9b1 2006 ldrsh.w r2, [r1, #6] + 11590: 4293 cmp r3, r2 + 11592: bfb8 it lt + 11594: 4613 movlt r3, r2 + 11596: 80c3 strh r3, [r0, #6] +} + 11598: f85d 4b04 ldr.w r4, [sp], #4 + 1159c: 4770 bx lr ... -000115b8 <_lv_area_is_point_on>: +000115a0 <_lv_area_is_point_on>: { - 115b8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 115bc: b085 sub sp, #20 + 115a0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 115a4: b085 sub sp, #20 if((p_p->x >= a_p->x1 && p_p->x <= a_p->x2) && ((p_p->y >= a_p->y1 && p_p->y <= a_p->y2))) { - 115be: f9b1 5000 ldrsh.w r5, [r1] - 115c2: f9b0 e000 ldrsh.w lr, [r0] - 115c6: 4575 cmp r5, lr - 115c8: f2c0 809d blt.w 11706 <_lv_area_is_point_on+0x14e> - 115cc: f9b0 8004 ldrsh.w r8, [r0, #4] - 115d0: 4545 cmp r5, r8 - 115d2: f300 809c bgt.w 1170e <_lv_area_is_point_on+0x156> - 115d6: f9b1 3002 ldrsh.w r3, [r1, #2] - 115da: f9b0 a002 ldrsh.w sl, [r0, #2] - 115de: 4553 cmp r3, sl - 115e0: f2c0 8097 blt.w 11712 <_lv_area_is_point_on+0x15a> - 115e4: f9b0 0006 ldrsh.w r0, [r0, #6] - 115e8: 9001 str r0, [sp, #4] + 115a6: f9b1 5000 ldrsh.w r5, [r1] + 115aa: f9b0 e000 ldrsh.w lr, [r0] + 115ae: 4575 cmp r5, lr + 115b0: f2c0 809d blt.w 116ee <_lv_area_is_point_on+0x14e> + 115b4: f9b0 8004 ldrsh.w r8, [r0, #4] + 115b8: 4545 cmp r5, r8 + 115ba: f300 809c bgt.w 116f6 <_lv_area_is_point_on+0x156> + 115be: f9b1 3002 ldrsh.w r3, [r1, #2] + 115c2: f9b0 a002 ldrsh.w sl, [r0, #2] + 115c6: 4553 cmp r3, sl + 115c8: f2c0 8097 blt.w 116fa <_lv_area_is_point_on+0x15a> + 115cc: f9b0 0006 ldrsh.w r0, [r0, #6] + 115d0: 9001 str r0, [sp, #4] if(!is_on_rect) - 115ea: 4283 cmp r3, r0 - 115ec: f300 8093 bgt.w 11716 <_lv_area_is_point_on+0x15e> + 115d2: 4283 cmp r3, r0 + 115d4: f300 8093 bgt.w 116fe <_lv_area_is_point_on+0x15e> if(radius <= 0) { - 115f0: 2a00 cmp r2, #0 - 115f2: f340 8092 ble.w 1171a <_lv_area_is_point_on+0x162> - 115f6: 468c mov ip, r1 + 115d8: 2a00 cmp r2, #0 + 115da: f340 8092 ble.w 11702 <_lv_area_is_point_on+0x162> + 115de: 468c mov ip, r1 * @param area_p pointer to an area * @return the width of the area (if x1 == x2 -> width = 1) */ static inline lv_coord_t lv_area_get_width(const lv_area_t * area_p) { return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 115f8: fa1f f988 uxth.w r9, r8 - 115fc: fa1f f68e uxth.w r6, lr + 115e0: fa1f f988 uxth.w r9, r8 + 115e4: fa1f f68e uxth.w r6, lr * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11600: b287 uxth r7, r0 - 11602: fa1f f58a uxth.w r5, sl + 115e8: b287 uxth r7, r0 + 115ea: fa1f f58a uxth.w r5, sl corner_area.x1 = a_p->x1; - 11606: f8ad e008 strh.w lr, [sp, #8] + 115ee: f8ad e008 strh.w lr, [sp, #8] return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1160a: f109 0301 add.w r3, r9, #1 - 1160e: 1b9b subs r3, r3, r6 + 115f2: f109 0301 add.w r3, r9, #1 + 115f6: 1b9b subs r3, r3, r6 lv_coord_t w = lv_area_get_width(a_p) / 2; - 11610: b21b sxth r3, r3 - 11612: eb03 74d3 add.w r4, r3, r3, lsr #31 + 115f8: b21b sxth r3, r3 + 115fa: eb03 74d3 add.w r4, r3, r3, lsr #31 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11616: 1c7b adds r3, r7, #1 - 11618: 1b5b subs r3, r3, r5 + 115fe: 1c7b adds r3, r7, #1 + 11600: 1b5b subs r3, r3, r5 lv_coord_t h = lv_area_get_height(a_p) / 2; - 1161a: b21b sxth r3, r3 - 1161c: eb03 71d3 add.w r1, r3, r3, lsr #31 + 11602: b21b sxth r3, r3 + 11604: eb03 71d3 add.w r1, r3, r3, lsr #31 lv_coord_t max_radius = LV_MATH_MIN(w, h); - 11620: 1064 asrs r4, r4, #1 - 11622: 104b asrs r3, r1, #1 + 11608: 1064 asrs r4, r4, #1 + 1160a: 104b asrs r3, r1, #1 corner_area.x2 = a_p->x1 + radius; - 11624: 42a3 cmp r3, r4 - 11626: bfa8 it ge - 11628: 4623 movge r3, r4 - 1162a: 4293 cmp r3, r2 - 1162c: bfa8 it ge - 1162e: 4613 movge r3, r2 - 11630: b29c uxth r4, r3 - 11632: 4426 add r6, r4 - 11634: b2b6 uxth r6, r6 - 11636: f8ad 600c strh.w r6, [sp, #12] + 1160c: 42a3 cmp r3, r4 + 1160e: bfa8 it ge + 11610: 4623 movge r3, r4 + 11612: 4293 cmp r3, r2 + 11614: bfa8 it ge + 11616: 4613 movge r3, r2 + 11618: b29c uxth r4, r3 + 1161a: 4426 add r6, r4 + 1161c: b2b6 uxth r6, r6 + 1161e: f8ad 600c strh.w r6, [sp, #12] corner_area.y1 = a_p->y1; - 1163a: f8ad a00a strh.w sl, [sp, #10] + 11622: f8ad a00a strh.w sl, [sp, #10] corner_area.y2 = a_p->y1 + radius; - 1163e: 4425 add r5, r4 - 11640: b2ad uxth r5, r5 - 11642: fa0f fb85 sxth.w fp, r5 - 11646: f8ad b00e strh.w fp, [sp, #14] + 11626: 4425 add r5, r4 + 11628: b2ad uxth r5, r5 + 1162a: fa0f fb85 sxth.w fp, r5 + 1162e: f8ad b00e strh.w fp, [sp, #14] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 1164a: 2200 movs r2, #0 - 1164c: f8cd c000 str.w ip, [sp] - 11650: 4661 mov r1, ip - 11652: a802 add r0, sp, #8 - 11654: f7ff ffb0 bl 115b8 <_lv_area_is_point_on> - 11658: b150 cbz r0, 11670 <_lv_area_is_point_on+0xb8> + 11632: 2200 movs r2, #0 + 11634: f8cd c000 str.w ip, [sp] + 11638: 4661 mov r1, ip + 1163a: a802 add r0, sp, #8 + 1163c: f7ff ffb0 bl 115a0 <_lv_area_is_point_on> + 11640: b150 cbz r0, 11658 <_lv_area_is_point_on+0xb8> corner_area.x2 += radius; - 1165a: 4426 add r6, r4 - 1165c: f8ad 600c strh.w r6, [sp, #12] + 11642: 4426 add r6, r4 + 11644: f8ad 600c strh.w r6, [sp, #12] corner_area.y2 += radius; - 11660: 442c add r4, r5 - 11662: f8ad 400e strh.w r4, [sp, #14] + 11648: 442c add r4, r5 + 1164a: f8ad 400e strh.w r4, [sp, #14] return lv_point_within_circle(&corner_area, p_p); - 11666: 9900 ldr r1, [sp, #0] - 11668: a802 add r0, sp, #8 - 1166a: 4b2e ldr r3, [pc, #184] ; (11724 <_lv_area_is_point_on+0x16c>) - 1166c: 4798 blx r3 - 1166e: e04b b.n 11708 <_lv_area_is_point_on+0x150> + 1164e: 9900 ldr r1, [sp, #0] + 11650: a802 add r0, sp, #8 + 11652: 4b2e ldr r3, [pc, #184] ; (1170c <_lv_area_is_point_on+0x16c>) + 11654: 4798 blx r3 + 11656: e04b b.n 116f0 <_lv_area_is_point_on+0x150> corner_area.y1 = a_p->y2 - radius; - 11670: 1b3f subs r7, r7, r4 - 11672: b2bf uxth r7, r7 - 11674: f8ad 700a strh.w r7, [sp, #10] + 11658: 1b3f subs r7, r7, r4 + 1165a: b2bf uxth r7, r7 + 1165c: f8ad 700a strh.w r7, [sp, #10] corner_area.y2 = a_p->y2; - 11678: f8bd 3004 ldrh.w r3, [sp, #4] - 1167c: f8ad 300e strh.w r3, [sp, #14] + 11660: f8bd 3004 ldrh.w r3, [sp, #4] + 11664: f8ad 300e strh.w r3, [sp, #14] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 11680: 2200 movs r2, #0 - 11682: 9900 ldr r1, [sp, #0] - 11684: a802 add r0, sp, #8 - 11686: f7ff ff97 bl 115b8 <_lv_area_is_point_on> - 1168a: b150 cbz r0, 116a2 <_lv_area_is_point_on+0xea> + 11668: 2200 movs r2, #0 + 1166a: 9900 ldr r1, [sp, #0] + 1166c: a802 add r0, sp, #8 + 1166e: f7ff ff97 bl 115a0 <_lv_area_is_point_on> + 11672: b150 cbz r0, 1168a <_lv_area_is_point_on+0xea> corner_area.x2 += radius; - 1168c: 4426 add r6, r4 - 1168e: f8ad 600c strh.w r6, [sp, #12] + 11674: 4426 add r6, r4 + 11676: f8ad 600c strh.w r6, [sp, #12] corner_area.y1 -= radius; - 11692: 1b3c subs r4, r7, r4 - 11694: f8ad 400a strh.w r4, [sp, #10] + 1167a: 1b3c subs r4, r7, r4 + 1167c: f8ad 400a strh.w r4, [sp, #10] return lv_point_within_circle(&corner_area, p_p); - 11698: 9900 ldr r1, [sp, #0] - 1169a: a802 add r0, sp, #8 - 1169c: 4b21 ldr r3, [pc, #132] ; (11724 <_lv_area_is_point_on+0x16c>) - 1169e: 4798 blx r3 - 116a0: e032 b.n 11708 <_lv_area_is_point_on+0x150> + 11680: 9900 ldr r1, [sp, #0] + 11682: a802 add r0, sp, #8 + 11684: 4b21 ldr r3, [pc, #132] ; (1170c <_lv_area_is_point_on+0x16c>) + 11686: 4798 blx r3 + 11688: e032 b.n 116f0 <_lv_area_is_point_on+0x150> corner_area.x1 = a_p->x2 - radius; - 116a2: eba9 0904 sub.w r9, r9, r4 - 116a6: fa1f f989 uxth.w r9, r9 - 116aa: f8ad 9008 strh.w r9, [sp, #8] + 1168a: eba9 0904 sub.w r9, r9, r4 + 1168e: fa1f f989 uxth.w r9, r9 + 11692: f8ad 9008 strh.w r9, [sp, #8] corner_area.x2 = a_p->x2; - 116ae: f8ad 800c strh.w r8, [sp, #12] + 11696: f8ad 800c strh.w r8, [sp, #12] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 116b2: 2200 movs r2, #0 - 116b4: 9e00 ldr r6, [sp, #0] - 116b6: 4631 mov r1, r6 - 116b8: a802 add r0, sp, #8 - 116ba: f7ff ff7d bl 115b8 <_lv_area_is_point_on> - 116be: b158 cbz r0, 116d8 <_lv_area_is_point_on+0x120> + 1169a: 2200 movs r2, #0 + 1169c: 9e00 ldr r6, [sp, #0] + 1169e: 4631 mov r1, r6 + 116a0: a802 add r0, sp, #8 + 116a2: f7ff ff7d bl 115a0 <_lv_area_is_point_on> + 116a6: b158 cbz r0, 116c0 <_lv_area_is_point_on+0x120> corner_area.x1 -= radius; - 116c0: eba9 0904 sub.w r9, r9, r4 - 116c4: f8ad 9008 strh.w r9, [sp, #8] + 116a8: eba9 0904 sub.w r9, r9, r4 + 116ac: f8ad 9008 strh.w r9, [sp, #8] corner_area.y1 -= radius; - 116c8: 1b3c subs r4, r7, r4 - 116ca: f8ad 400a strh.w r4, [sp, #10] + 116b0: 1b3c subs r4, r7, r4 + 116b2: f8ad 400a strh.w r4, [sp, #10] return lv_point_within_circle(&corner_area, p_p); - 116ce: 4631 mov r1, r6 - 116d0: a802 add r0, sp, #8 - 116d2: 4b14 ldr r3, [pc, #80] ; (11724 <_lv_area_is_point_on+0x16c>) - 116d4: 4798 blx r3 - 116d6: e017 b.n 11708 <_lv_area_is_point_on+0x150> + 116b6: 4631 mov r1, r6 + 116b8: a802 add r0, sp, #8 + 116ba: 4b14 ldr r3, [pc, #80] ; (1170c <_lv_area_is_point_on+0x16c>) + 116bc: 4798 blx r3 + 116be: e017 b.n 116f0 <_lv_area_is_point_on+0x150> corner_area.y1 = a_p->y1; - 116d8: f8ad a00a strh.w sl, [sp, #10] + 116c0: f8ad a00a strh.w sl, [sp, #10] corner_area.y2 = a_p->y1 + radius; - 116dc: f8ad b00e strh.w fp, [sp, #14] + 116c4: f8ad b00e strh.w fp, [sp, #14] if(_lv_area_is_point_on(&corner_area, p_p, 0)) { - 116e0: 2200 movs r2, #0 - 116e2: 9e00 ldr r6, [sp, #0] - 116e4: 4631 mov r1, r6 - 116e6: a802 add r0, sp, #8 - 116e8: f7ff ff66 bl 115b8 <_lv_area_is_point_on> - 116ec: b1b8 cbz r0, 1171e <_lv_area_is_point_on+0x166> + 116c8: 2200 movs r2, #0 + 116ca: 9e00 ldr r6, [sp, #0] + 116cc: 4631 mov r1, r6 + 116ce: a802 add r0, sp, #8 + 116d0: f7ff ff66 bl 115a0 <_lv_area_is_point_on> + 116d4: b1b8 cbz r0, 11706 <_lv_area_is_point_on+0x166> corner_area.x1 -= radius; - 116ee: eba9 0904 sub.w r9, r9, r4 - 116f2: f8ad 9008 strh.w r9, [sp, #8] + 116d6: eba9 0904 sub.w r9, r9, r4 + 116da: f8ad 9008 strh.w r9, [sp, #8] corner_area.y2 += radius; - 116f6: 442c add r4, r5 - 116f8: f8ad 400e strh.w r4, [sp, #14] + 116de: 442c add r4, r5 + 116e0: f8ad 400e strh.w r4, [sp, #14] return lv_point_within_circle(&corner_area, p_p); - 116fc: 4631 mov r1, r6 - 116fe: a802 add r0, sp, #8 - 11700: 4b08 ldr r3, [pc, #32] ; (11724 <_lv_area_is_point_on+0x16c>) - 11702: 4798 blx r3 - 11704: e000 b.n 11708 <_lv_area_is_point_on+0x150> + 116e4: 4631 mov r1, r6 + 116e6: a802 add r0, sp, #8 + 116e8: 4b08 ldr r3, [pc, #32] ; (1170c <_lv_area_is_point_on+0x16c>) + 116ea: 4798 blx r3 + 116ec: e000 b.n 116f0 <_lv_area_is_point_on+0x150> return false; - 11706: 2000 movs r0, #0 + 116ee: 2000 movs r0, #0 } - 11708: b005 add sp, #20 - 1170a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 116f0: b005 add sp, #20 + 116f2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} return false; - 1170e: 2000 movs r0, #0 - 11710: e7fa b.n 11708 <_lv_area_is_point_on+0x150> - 11712: 2000 movs r0, #0 - 11714: e7f8 b.n 11708 <_lv_area_is_point_on+0x150> - 11716: 2000 movs r0, #0 - 11718: e7f6 b.n 11708 <_lv_area_is_point_on+0x150> + 116f6: 2000 movs r0, #0 + 116f8: e7fa b.n 116f0 <_lv_area_is_point_on+0x150> + 116fa: 2000 movs r0, #0 + 116fc: e7f8 b.n 116f0 <_lv_area_is_point_on+0x150> + 116fe: 2000 movs r0, #0 + 11700: e7f6 b.n 116f0 <_lv_area_is_point_on+0x150> return true; - 1171a: 2001 movs r0, #1 - 1171c: e7f4 b.n 11708 <_lv_area_is_point_on+0x150> + 11702: 2001 movs r0, #1 + 11704: e7f4 b.n 116f0 <_lv_area_is_point_on+0x150> return true; - 1171e: 2001 movs r0, #1 - 11720: e7f2 b.n 11708 <_lv_area_is_point_on+0x150> - 11722: bf00 nop - 11724: 000114b9 .word 0x000114b9 + 11706: 2001 movs r0, #1 + 11708: e7f2 b.n 116f0 <_lv_area_is_point_on+0x150> + 1170a: bf00 nop + 1170c: 000114a1 .word 0x000114a1 -00011728 <_lv_area_is_on>: +00011710 <_lv_area_is_on>: if((a1_p->x1 <= a2_p->x2) && (a1_p->x2 >= a2_p->x1) && (a1_p->y1 <= a2_p->y2) && (a1_p->y2 >= a2_p->y1)) { - 11728: f9b0 2000 ldrsh.w r2, [r0] - 1172c: f9b1 3004 ldrsh.w r3, [r1, #4] + 11710: f9b0 2000 ldrsh.w r2, [r0] + 11714: f9b1 3004 ldrsh.w r3, [r1, #4] + 11718: 429a cmp r2, r3 + 1171a: dc14 bgt.n 11746 <_lv_area_is_on+0x36> + 1171c: f9b0 2004 ldrsh.w r2, [r0, #4] + 11720: f9b1 3000 ldrsh.w r3, [r1] + 11724: 429a cmp r2, r3 + 11726: db10 blt.n 1174a <_lv_area_is_on+0x3a> + 11728: f9b0 2002 ldrsh.w r2, [r0, #2] + 1172c: f9b1 3006 ldrsh.w r3, [r1, #6] 11730: 429a cmp r2, r3 - 11732: dc14 bgt.n 1175e <_lv_area_is_on+0x36> - 11734: f9b0 2004 ldrsh.w r2, [r0, #4] - 11738: f9b1 3000 ldrsh.w r3, [r1] - 1173c: 429a cmp r2, r3 - 1173e: db10 blt.n 11762 <_lv_area_is_on+0x3a> - 11740: f9b0 2002 ldrsh.w r2, [r0, #2] - 11744: f9b1 3006 ldrsh.w r3, [r1, #6] - 11748: 429a cmp r2, r3 - 1174a: dc0c bgt.n 11766 <_lv_area_is_on+0x3e> - 1174c: f9b0 0006 ldrsh.w r0, [r0, #6] - 11750: f9b1 3002 ldrsh.w r3, [r1, #2] - 11754: 4298 cmp r0, r3 - 11756: bfb4 ite lt - 11758: 2000 movlt r0, #0 - 1175a: 2001 movge r0, #1 - 1175c: 4770 bx lr + 11732: dc0c bgt.n 1174e <_lv_area_is_on+0x3e> + 11734: f9b0 0006 ldrsh.w r0, [r0, #6] + 11738: f9b1 3002 ldrsh.w r3, [r1, #2] + 1173c: 4298 cmp r0, r3 + 1173e: bfb4 ite lt + 11740: 2000 movlt r0, #0 + 11742: 2001 movge r0, #1 + 11744: 4770 bx lr return false; - 1175e: 2000 movs r0, #0 - 11760: 4770 bx lr - 11762: 2000 movs r0, #0 - 11764: 4770 bx lr - 11766: 2000 movs r0, #0 + 11746: 2000 movs r0, #0 + 11748: 4770 bx lr + 1174a: 2000 movs r0, #0 + 1174c: 4770 bx lr + 1174e: 2000 movs r0, #0 } - 11768: 4770 bx lr + 11750: 4770 bx lr ... -0001176c <_lv_area_is_in>: +00011754 <_lv_area_is_in>: { - 1176c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 11770: b082 sub sp, #8 + 11754: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 11758: b082 sub sp, #8 if(ain_p->x1 >= aholder_p->x1 && ain_p->y1 >= aholder_p->y1 && ain_p->x2 <= aholder_p->x2 && - 11772: f9b0 5000 ldrsh.w r5, [r0] - 11776: f9b1 3000 ldrsh.w r3, [r1] - 1177a: 42ab cmp r3, r5 - 1177c: dc14 bgt.n 117a8 <_lv_area_is_in+0x3c> - 1177e: f9b0 4002 ldrsh.w r4, [r0, #2] - 11782: f9b1 3002 ldrsh.w r3, [r1, #2] - 11786: 429c cmp r4, r3 - 11788: db14 blt.n 117b4 <_lv_area_is_in+0x48> - 1178a: f9b0 4004 ldrsh.w r4, [r0, #4] - 1178e: f9b1 3004 ldrsh.w r3, [r1, #4] - 11792: 429c cmp r4, r3 - 11794: dc10 bgt.n 117b8 <_lv_area_is_in+0x4c> - 11796: f9b0 3006 ldrsh.w r3, [r0, #6] - 1179a: f9b1 4006 ldrsh.w r4, [r1, #6] - 1179e: 42a3 cmp r3, r4 - 117a0: bfcc ite gt - 117a2: 2300 movgt r3, #0 - 117a4: 2301 movle r3, #1 - 117a6: e000 b.n 117aa <_lv_area_is_in+0x3e> + 1175a: f9b0 5000 ldrsh.w r5, [r0] + 1175e: f9b1 3000 ldrsh.w r3, [r1] + 11762: 42ab cmp r3, r5 + 11764: dc14 bgt.n 11790 <_lv_area_is_in+0x3c> + 11766: f9b0 4002 ldrsh.w r4, [r0, #2] + 1176a: f9b1 3002 ldrsh.w r3, [r1, #2] + 1176e: 429c cmp r4, r3 + 11770: db14 blt.n 1179c <_lv_area_is_in+0x48> + 11772: f9b0 4004 ldrsh.w r4, [r0, #4] + 11776: f9b1 3004 ldrsh.w r3, [r1, #4] + 1177a: 429c cmp r4, r3 + 1177c: dc10 bgt.n 117a0 <_lv_area_is_in+0x4c> + 1177e: f9b0 3006 ldrsh.w r3, [r0, #6] + 11782: f9b1 4006 ldrsh.w r4, [r1, #6] + 11786: 42a3 cmp r3, r4 + 11788: bfcc ite gt + 1178a: 2300 movgt r3, #0 + 1178c: 2301 movle r3, #1 + 1178e: e000 b.n 11792 <_lv_area_is_in+0x3e> bool is_in = false; - 117a8: 2300 movs r3, #0 + 11790: 2300 movs r3, #0 if(radius == 0) return is_in; - 117aa: b93a cbnz r2, 117bc <_lv_area_is_in+0x50> + 11792: b93a cbnz r2, 117a4 <_lv_area_is_in+0x50> } - 117ac: 4618 mov r0, r3 - 117ae: b002 add sp, #8 - 117b0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 11794: 4618 mov r0, r3 + 11796: b002 add sp, #8 + 11798: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} bool is_in = false; - 117b4: 2300 movs r3, #0 - 117b6: e7f8 b.n 117aa <_lv_area_is_in+0x3e> - 117b8: 2300 movs r3, #0 - 117ba: e7f6 b.n 117aa <_lv_area_is_in+0x3e> - 117bc: 4617 mov r7, r2 - 117be: 460c mov r4, r1 - 117c0: 4606 mov r6, r0 + 1179c: 2300 movs r3, #0 + 1179e: e7f8 b.n 11792 <_lv_area_is_in+0x3e> + 117a0: 2300 movs r3, #0 + 117a2: e7f6 b.n 11792 <_lv_area_is_in+0x3e> + 117a4: 4617 mov r7, r2 + 117a6: 460c mov r4, r1 + 117a8: 4606 mov r6, r0 p.x = ain_p->x1; - 117c2: f8ad 5004 strh.w r5, [sp, #4] + 117aa: f8ad 5004 strh.w r5, [sp, #4] p.y = ain_p->y1; - 117c6: 8843 ldrh r3, [r0, #2] - 117c8: f8ad 3006 strh.w r3, [sp, #6] + 117ae: 8843 ldrh r3, [r0, #2] + 117b0: f8ad 3006 strh.w r3, [sp, #6] + if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; + 117b4: a901 add r1, sp, #4 + 117b6: 4620 mov r0, r4 + 117b8: 4b13 ldr r3, [pc, #76] ; (11808 <_lv_area_is_in+0xb4>) + 117ba: 4798 blx r3 + 117bc: 4603 mov r3, r0 + 117be: 2800 cmp r0, #0 + 117c0: d0e8 beq.n 11794 <_lv_area_is_in+0x40> + p.x = ain_p->x2; + 117c2: f9b6 8004 ldrsh.w r8, [r6, #4] + 117c6: a902 add r1, sp, #8 + 117c8: f821 8d04 strh.w r8, [r1, #-4]! if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 117cc: a901 add r1, sp, #4 + 117cc: 463a mov r2, r7 117ce: 4620 mov r0, r4 - 117d0: 4b13 ldr r3, [pc, #76] ; (11820 <_lv_area_is_in+0xb4>) + 117d0: 4b0d ldr r3, [pc, #52] ; (11808 <_lv_area_is_in+0xb4>) 117d2: 4798 blx r3 117d4: 4603 mov r3, r0 117d6: 2800 cmp r0, #0 - 117d8: d0e8 beq.n 117ac <_lv_area_is_in+0x40> - p.x = ain_p->x2; - 117da: f9b6 8004 ldrsh.w r8, [r6, #4] - 117de: a902 add r1, sp, #8 - 117e0: f821 8d04 strh.w r8, [r1, #-4]! - if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 117e4: 463a mov r2, r7 - 117e6: 4620 mov r0, r4 - 117e8: 4b0d ldr r3, [pc, #52] ; (11820 <_lv_area_is_in+0xb4>) - 117ea: 4798 blx r3 - 117ec: 4603 mov r3, r0 - 117ee: 2800 cmp r0, #0 - 117f0: d0dc beq.n 117ac <_lv_area_is_in+0x40> + 117d8: d0dc beq.n 11794 <_lv_area_is_in+0x40> p.x = ain_p->x1; - 117f2: f8ad 5004 strh.w r5, [sp, #4] + 117da: f8ad 5004 strh.w r5, [sp, #4] p.y = ain_p->y2; - 117f6: 88f3 ldrh r3, [r6, #6] - 117f8: f8ad 3006 strh.w r3, [sp, #6] + 117de: 88f3 ldrh r3, [r6, #6] + 117e0: f8ad 3006 strh.w r3, [sp, #6] if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 117fc: 463a mov r2, r7 - 117fe: a901 add r1, sp, #4 - 11800: 4620 mov r0, r4 - 11802: 4b07 ldr r3, [pc, #28] ; (11820 <_lv_area_is_in+0xb4>) - 11804: 4798 blx r3 - 11806: 4603 mov r3, r0 - 11808: 2800 cmp r0, #0 - 1180a: d0cf beq.n 117ac <_lv_area_is_in+0x40> + 117e4: 463a mov r2, r7 + 117e6: a901 add r1, sp, #4 + 117e8: 4620 mov r0, r4 + 117ea: 4b07 ldr r3, [pc, #28] ; (11808 <_lv_area_is_in+0xb4>) + 117ec: 4798 blx r3 + 117ee: 4603 mov r3, r0 + 117f0: 2800 cmp r0, #0 + 117f2: d0cf beq.n 11794 <_lv_area_is_in+0x40> p.x = ain_p->x2; - 1180c: a902 add r1, sp, #8 - 1180e: f821 8d04 strh.w r8, [r1, #-4]! + 117f4: a902 add r1, sp, #8 + 117f6: f821 8d04 strh.w r8, [r1, #-4]! if(_lv_area_is_point_on(aholder_p, &p, radius) == false) return false; - 11812: 463a mov r2, r7 - 11814: 4620 mov r0, r4 - 11816: 4b02 ldr r3, [pc, #8] ; (11820 <_lv_area_is_in+0xb4>) - 11818: 4798 blx r3 - 1181a: 4603 mov r3, r0 - 1181c: e7c6 b.n 117ac <_lv_area_is_in+0x40> - 1181e: bf00 nop - 11820: 000115b9 .word 0x000115b9 - -00011824 <_lv_area_align>: -{ - 11824: b430 push {r4, r5} + 117fa: 463a mov r2, r7 + 117fc: 4620 mov r0, r4 + 117fe: 4b02 ldr r3, [pc, #8] ; (11808 <_lv_area_is_in+0xb4>) + 11800: 4798 blx r3 + 11802: 4603 mov r3, r0 + 11804: e7c6 b.n 11794 <_lv_area_is_in+0x40> + 11806: bf00 nop + 11808: 000115a1 .word 0x000115a1 + +0001180c <_lv_area_align>: +{ + 1180c: b430 push {r4, r5} switch(align) { - 11826: 2a14 cmp r2, #20 - 11828: d83a bhi.n 118a0 <_lv_area_align+0x7c> - 1182a: e8df f012 tbh [pc, r2, lsl #1] - 1182e: 0015 .short 0x0015 - 11830: 00470043 .word 0x00470043 - 11834: 0067005c .word 0x0067005c - 11838: 008d0072 .word 0x008d0072 - 1183c: 00b3009e .word 0x00b3009e - 11840: 00d600ce .word 0x00d600ce - 11844: 00fc00ee .word 0x00fc00ee - 11848: 011c0104 .word 0x011c0104 - 1184c: 0132012a .word 0x0132012a - 11850: 0158014a .word 0x0158014a - 11854: 01780160 .word 0x01780160 + 1180e: 2a14 cmp r2, #20 + 11810: d83a bhi.n 11888 <_lv_area_align+0x7c> + 11812: e8df f012 tbh [pc, r2, lsl #1] + 11816: 0015 .short 0x0015 + 11818: 00470043 .word 0x00470043 + 1181c: 0067005c .word 0x0067005c + 11820: 008d0072 .word 0x008d0072 + 11824: 00b3009e .word 0x00b3009e + 11828: 00d600ce .word 0x00d600ce + 1182c: 00fc00ee .word 0x00fc00ee + 11830: 011c0104 .word 0x011c0104 + 11834: 0132012a .word 0x0132012a + 11838: 0158014a .word 0x0158014a + 1183c: 01780160 .word 0x01780160 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11858: 8882 ldrh r2, [r0, #4] - 1185a: 3201 adds r2, #1 - 1185c: 8804 ldrh r4, [r0, #0] - 1185e: 1b12 subs r2, r2, r4 + 11840: 8882 ldrh r2, [r0, #4] + 11842: 3201 adds r2, #1 + 11844: 8804 ldrh r4, [r0, #0] + 11846: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11860: b212 sxth r2, r2 - 11862: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11866: 888a ldrh r2, [r1, #4] - 11868: 3201 adds r2, #1 - 1186a: 880d ldrh r5, [r1, #0] - 1186c: 1b52 subs r2, r2, r5 - 1186e: b212 sxth r2, r2 - 11870: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11874: 1052 asrs r2, r2, #1 - 11876: ebc2 0264 rsb r2, r2, r4, asr #1 - 1187a: 801a strh r2, [r3, #0] + 11848: b212 sxth r2, r2 + 1184a: eb02 74d2 add.w r4, r2, r2, lsr #31 + 1184e: 888a ldrh r2, [r1, #4] + 11850: 3201 adds r2, #1 + 11852: 880d ldrh r5, [r1, #0] + 11854: 1b52 subs r2, r2, r5 + 11856: b212 sxth r2, r2 + 11858: eb02 72d2 add.w r2, r2, r2, lsr #31 + 1185c: 1052 asrs r2, r2, #1 + 1185e: ebc2 0264 rsb r2, r2, r4, asr #1 + 11862: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1187c: 88c2 ldrh r2, [r0, #6] - 1187e: 3201 adds r2, #1 - 11880: 8844 ldrh r4, [r0, #2] - 11882: 1b12 subs r2, r2, r4 + 11864: 88c2 ldrh r2, [r0, #6] + 11866: 3201 adds r2, #1 + 11868: 8844 ldrh r4, [r0, #2] + 1186a: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11884: b212 sxth r2, r2 - 11886: eb02 74d2 add.w r4, r2, r2, lsr #31 - 1188a: 88ca ldrh r2, [r1, #6] - 1188c: 3201 adds r2, #1 - 1188e: 8849 ldrh r1, [r1, #2] - 11890: 1a52 subs r2, r2, r1 - 11892: b212 sxth r2, r2 - 11894: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11898: 1052 asrs r2, r2, #1 - 1189a: ebc2 0264 rsb r2, r2, r4, asr #1 - 1189e: 805a strh r2, [r3, #2] + 1186c: b212 sxth r2, r2 + 1186e: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11872: 88ca ldrh r2, [r1, #6] + 11874: 3201 adds r2, #1 + 11876: 8849 ldrh r1, [r1, #2] + 11878: 1a52 subs r2, r2, r1 + 1187a: b212 sxth r2, r2 + 1187c: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11880: 1052 asrs r2, r2, #1 + 11882: ebc2 0264 rsb r2, r2, r4, asr #1 + 11886: 805a strh r2, [r3, #2] res->x += base->x1; - 118a0: 881a ldrh r2, [r3, #0] - 118a2: 8801 ldrh r1, [r0, #0] - 118a4: 440a add r2, r1 - 118a6: 801a strh r2, [r3, #0] + 11888: 881a ldrh r2, [r3, #0] + 1188a: 8801 ldrh r1, [r0, #0] + 1188c: 440a add r2, r1 + 1188e: 801a strh r2, [r3, #0] res->y += base->y1; - 118a8: 885a ldrh r2, [r3, #2] - 118aa: 8841 ldrh r1, [r0, #2] - 118ac: 440a add r2, r1 - 118ae: 805a strh r2, [r3, #2] + 11890: 885a ldrh r2, [r3, #2] + 11892: 8841 ldrh r1, [r0, #2] + 11894: 440a add r2, r1 + 11896: 805a strh r2, [r3, #2] } - 118b0: bc30 pop {r4, r5} - 118b2: 4770 bx lr + 11898: bc30 pop {r4, r5} + 1189a: 4770 bx lr res->x = 0; - 118b4: 2200 movs r2, #0 - 118b6: 801a strh r2, [r3, #0] + 1189c: 2200 movs r2, #0 + 1189e: 801a strh r2, [r3, #0] res->y = 0; - 118b8: 805a strh r2, [r3, #2] + 118a0: 805a strh r2, [r3, #2] break; - 118ba: e7f1 b.n 118a0 <_lv_area_align+0x7c> + 118a2: e7f1 b.n 11888 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 118bc: 8882 ldrh r2, [r0, #4] - 118be: 3201 adds r2, #1 - 118c0: 8804 ldrh r4, [r0, #0] - 118c2: 1b12 subs r2, r2, r4 + 118a4: 8882 ldrh r2, [r0, #4] + 118a6: 3201 adds r2, #1 + 118a8: 8804 ldrh r4, [r0, #0] + 118aa: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 118c4: b212 sxth r2, r2 - 118c6: eb02 74d2 add.w r4, r2, r2, lsr #31 - 118ca: 888a ldrh r2, [r1, #4] - 118cc: 3201 adds r2, #1 - 118ce: 8809 ldrh r1, [r1, #0] - 118d0: 1a52 subs r2, r2, r1 - 118d2: b212 sxth r2, r2 - 118d4: eb02 72d2 add.w r2, r2, r2, lsr #31 - 118d8: 1052 asrs r2, r2, #1 - 118da: ebc2 0264 rsb r2, r2, r4, asr #1 - 118de: 801a strh r2, [r3, #0] + 118ac: b212 sxth r2, r2 + 118ae: eb02 74d2 add.w r4, r2, r2, lsr #31 + 118b2: 888a ldrh r2, [r1, #4] + 118b4: 3201 adds r2, #1 + 118b6: 8809 ldrh r1, [r1, #0] + 118b8: 1a52 subs r2, r2, r1 + 118ba: b212 sxth r2, r2 + 118bc: eb02 72d2 add.w r2, r2, r2, lsr #31 + 118c0: 1052 asrs r2, r2, #1 + 118c2: ebc2 0264 rsb r2, r2, r4, asr #1 + 118c6: 801a strh r2, [r3, #0] res->y = 0; - 118e0: 2200 movs r2, #0 - 118e2: 805a strh r2, [r3, #2] + 118c8: 2200 movs r2, #0 + 118ca: 805a strh r2, [r3, #2] break; - 118e4: e7dc b.n 118a0 <_lv_area_align+0x7c> + 118cc: e7dc b.n 11888 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 118e6: 8882 ldrh r2, [r0, #4] - 118e8: 888c ldrh r4, [r1, #4] - 118ea: 1b12 subs r2, r2, r4 - 118ec: 8804 ldrh r4, [r0, #0] - 118ee: 1b12 subs r2, r2, r4 - 118f0: 8809 ldrh r1, [r1, #0] - 118f2: 440a add r2, r1 - 118f4: 801a strh r2, [r3, #0] + 118ce: 8882 ldrh r2, [r0, #4] + 118d0: 888c ldrh r4, [r1, #4] + 118d2: 1b12 subs r2, r2, r4 + 118d4: 8804 ldrh r4, [r0, #0] + 118d6: 1b12 subs r2, r2, r4 + 118d8: 8809 ldrh r1, [r1, #0] + 118da: 440a add r2, r1 + 118dc: 801a strh r2, [r3, #0] res->y = 0; - 118f6: 2200 movs r2, #0 - 118f8: 805a strh r2, [r3, #2] + 118de: 2200 movs r2, #0 + 118e0: 805a strh r2, [r3, #2] break; - 118fa: e7d1 b.n 118a0 <_lv_area_align+0x7c> + 118e2: e7d1 b.n 11888 <_lv_area_align+0x7c> res->x = 0; - 118fc: 2200 movs r2, #0 - 118fe: 801a strh r2, [r3, #0] + 118e4: 2200 movs r2, #0 + 118e6: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11900: 88c2 ldrh r2, [r0, #6] - 11902: 88cc ldrh r4, [r1, #6] - 11904: 1b12 subs r2, r2, r4 - 11906: 8844 ldrh r4, [r0, #2] - 11908: 1b12 subs r2, r2, r4 - 1190a: 8849 ldrh r1, [r1, #2] - 1190c: 440a add r2, r1 - 1190e: 805a strh r2, [r3, #2] + 118e8: 88c2 ldrh r2, [r0, #6] + 118ea: 88cc ldrh r4, [r1, #6] + 118ec: 1b12 subs r2, r2, r4 + 118ee: 8844 ldrh r4, [r0, #2] + 118f0: 1b12 subs r2, r2, r4 + 118f2: 8849 ldrh r1, [r1, #2] + 118f4: 440a add r2, r1 + 118f6: 805a strh r2, [r3, #2] break; - 11910: e7c6 b.n 118a0 <_lv_area_align+0x7c> - 11912: 8882 ldrh r2, [r0, #4] - 11914: 3201 adds r2, #1 - 11916: 8804 ldrh r4, [r0, #0] - 11918: 1b12 subs r2, r2, r4 + 118f8: e7c6 b.n 11888 <_lv_area_align+0x7c> + 118fa: 8882 ldrh r2, [r0, #4] + 118fc: 3201 adds r2, #1 + 118fe: 8804 ldrh r4, [r0, #0] + 11900: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 1191a: b212 sxth r2, r2 - 1191c: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11920: 888a ldrh r2, [r1, #4] - 11922: 3201 adds r2, #1 - 11924: 880d ldrh r5, [r1, #0] - 11926: 1b52 subs r2, r2, r5 - 11928: b212 sxth r2, r2 - 1192a: eb02 72d2 add.w r2, r2, r2, lsr #31 - 1192e: 1052 asrs r2, r2, #1 - 11930: ebc2 0264 rsb r2, r2, r4, asr #1 - 11934: 801a strh r2, [r3, #0] + 11902: b212 sxth r2, r2 + 11904: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11908: 888a ldrh r2, [r1, #4] + 1190a: 3201 adds r2, #1 + 1190c: 880d ldrh r5, [r1, #0] + 1190e: 1b52 subs r2, r2, r5 + 11910: b212 sxth r2, r2 + 11912: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11916: 1052 asrs r2, r2, #1 + 11918: ebc2 0264 rsb r2, r2, r4, asr #1 + 1191c: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11936: 88c2 ldrh r2, [r0, #6] - 11938: 88cc ldrh r4, [r1, #6] - 1193a: 1b12 subs r2, r2, r4 - 1193c: 8844 ldrh r4, [r0, #2] - 1193e: 1b12 subs r2, r2, r4 - 11940: 8849 ldrh r1, [r1, #2] - 11942: 440a add r2, r1 - 11944: 805a strh r2, [r3, #2] + 1191e: 88c2 ldrh r2, [r0, #6] + 11920: 88cc ldrh r4, [r1, #6] + 11922: 1b12 subs r2, r2, r4 + 11924: 8844 ldrh r4, [r0, #2] + 11926: 1b12 subs r2, r2, r4 + 11928: 8849 ldrh r1, [r1, #2] + 1192a: 440a add r2, r1 + 1192c: 805a strh r2, [r3, #2] break; - 11946: e7ab b.n 118a0 <_lv_area_align+0x7c> + 1192e: e7ab b.n 11888 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11948: 8882 ldrh r2, [r0, #4] - 1194a: 888c ldrh r4, [r1, #4] - 1194c: 1b12 subs r2, r2, r4 - 1194e: 8804 ldrh r4, [r0, #0] - 11950: 1b12 subs r2, r2, r4 - 11952: 880c ldrh r4, [r1, #0] - 11954: 4422 add r2, r4 - 11956: 801a strh r2, [r3, #0] + 11930: 8882 ldrh r2, [r0, #4] + 11932: 888c ldrh r4, [r1, #4] + 11934: 1b12 subs r2, r2, r4 + 11936: 8804 ldrh r4, [r0, #0] + 11938: 1b12 subs r2, r2, r4 + 1193a: 880c ldrh r4, [r1, #0] + 1193c: 4422 add r2, r4 + 1193e: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11958: 88c2 ldrh r2, [r0, #6] - 1195a: 88cc ldrh r4, [r1, #6] - 1195c: 1b12 subs r2, r2, r4 - 1195e: 8844 ldrh r4, [r0, #2] - 11960: 1b12 subs r2, r2, r4 - 11962: 8849 ldrh r1, [r1, #2] - 11964: 440a add r2, r1 - 11966: 805a strh r2, [r3, #2] + 11940: 88c2 ldrh r2, [r0, #6] + 11942: 88cc ldrh r4, [r1, #6] + 11944: 1b12 subs r2, r2, r4 + 11946: 8844 ldrh r4, [r0, #2] + 11948: 1b12 subs r2, r2, r4 + 1194a: 8849 ldrh r1, [r1, #2] + 1194c: 440a add r2, r1 + 1194e: 805a strh r2, [r3, #2] break; - 11968: e79a b.n 118a0 <_lv_area_align+0x7c> + 11950: e79a b.n 11888 <_lv_area_align+0x7c> res->x = 0; - 1196a: 2200 movs r2, #0 - 1196c: 801a strh r2, [r3, #0] + 11952: 2200 movs r2, #0 + 11954: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1196e: 88c2 ldrh r2, [r0, #6] - 11970: 3201 adds r2, #1 - 11972: 8844 ldrh r4, [r0, #2] - 11974: 1b12 subs r2, r2, r4 + 11956: 88c2 ldrh r2, [r0, #6] + 11958: 3201 adds r2, #1 + 1195a: 8844 ldrh r4, [r0, #2] + 1195c: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11976: b212 sxth r2, r2 - 11978: eb02 74d2 add.w r4, r2, r2, lsr #31 - 1197c: 88ca ldrh r2, [r1, #6] - 1197e: 3201 adds r2, #1 - 11980: 8849 ldrh r1, [r1, #2] - 11982: 1a52 subs r2, r2, r1 - 11984: b212 sxth r2, r2 - 11986: eb02 72d2 add.w r2, r2, r2, lsr #31 - 1198a: 1052 asrs r2, r2, #1 - 1198c: ebc2 0264 rsb r2, r2, r4, asr #1 - 11990: 805a strh r2, [r3, #2] + 1195e: b212 sxth r2, r2 + 11960: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11964: 88ca ldrh r2, [r1, #6] + 11966: 3201 adds r2, #1 + 11968: 8849 ldrh r1, [r1, #2] + 1196a: 1a52 subs r2, r2, r1 + 1196c: b212 sxth r2, r2 + 1196e: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11972: 1052 asrs r2, r2, #1 + 11974: ebc2 0264 rsb r2, r2, r4, asr #1 + 11978: 805a strh r2, [r3, #2] break; - 11992: e785 b.n 118a0 <_lv_area_align+0x7c> + 1197a: e785 b.n 11888 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11994: 8882 ldrh r2, [r0, #4] - 11996: 888c ldrh r4, [r1, #4] - 11998: 1b12 subs r2, r2, r4 - 1199a: 8804 ldrh r4, [r0, #0] - 1199c: 1b12 subs r2, r2, r4 - 1199e: 880c ldrh r4, [r1, #0] - 119a0: 4422 add r2, r4 - 119a2: 801a strh r2, [r3, #0] - 119a4: 88c2 ldrh r2, [r0, #6] - 119a6: 3201 adds r2, #1 - 119a8: 8844 ldrh r4, [r0, #2] - 119aa: 1b12 subs r2, r2, r4 + 1197c: 8882 ldrh r2, [r0, #4] + 1197e: 888c ldrh r4, [r1, #4] + 11980: 1b12 subs r2, r2, r4 + 11982: 8804 ldrh r4, [r0, #0] + 11984: 1b12 subs r2, r2, r4 + 11986: 880c ldrh r4, [r1, #0] + 11988: 4422 add r2, r4 + 1198a: 801a strh r2, [r3, #0] + 1198c: 88c2 ldrh r2, [r0, #6] + 1198e: 3201 adds r2, #1 + 11990: 8844 ldrh r4, [r0, #2] + 11992: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 119ac: b212 sxth r2, r2 - 119ae: eb02 74d2 add.w r4, r2, r2, lsr #31 - 119b2: 88ca ldrh r2, [r1, #6] - 119b4: 3201 adds r2, #1 - 119b6: 8849 ldrh r1, [r1, #2] - 119b8: 1a52 subs r2, r2, r1 - 119ba: b212 sxth r2, r2 - 119bc: eb02 72d2 add.w r2, r2, r2, lsr #31 - 119c0: 1052 asrs r2, r2, #1 - 119c2: ebc2 0264 rsb r2, r2, r4, asr #1 - 119c6: 805a strh r2, [r3, #2] + 11994: b212 sxth r2, r2 + 11996: eb02 74d2 add.w r4, r2, r2, lsr #31 + 1199a: 88ca ldrh r2, [r1, #6] + 1199c: 3201 adds r2, #1 + 1199e: 8849 ldrh r1, [r1, #2] + 119a0: 1a52 subs r2, r2, r1 + 119a2: b212 sxth r2, r2 + 119a4: eb02 72d2 add.w r2, r2, r2, lsr #31 + 119a8: 1052 asrs r2, r2, #1 + 119aa: ebc2 0264 rsb r2, r2, r4, asr #1 + 119ae: 805a strh r2, [r3, #2] break; - 119c8: e76a b.n 118a0 <_lv_area_align+0x7c> + 119b0: e76a b.n 11888 <_lv_area_align+0x7c> res->x = 0; - 119ca: 2200 movs r2, #0 - 119cc: 801a strh r2, [r3, #0] - 119ce: 88ca ldrh r2, [r1, #6] - 119d0: 8849 ldrh r1, [r1, #2] - 119d2: 1a52 subs r2, r2, r1 + 119b2: 2200 movs r2, #0 + 119b4: 801a strh r2, [r3, #0] + 119b6: 88ca ldrh r2, [r1, #6] + 119b8: 8849 ldrh r1, [r1, #2] + 119ba: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 119d4: 43d2 mvns r2, r2 - 119d6: 805a strh r2, [r3, #2] + 119bc: 43d2 mvns r2, r2 + 119be: 805a strh r2, [r3, #2] break; - 119d8: e762 b.n 118a0 <_lv_area_align+0x7c> + 119c0: e762 b.n 11888 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 119da: 8882 ldrh r2, [r0, #4] - 119dc: 3201 adds r2, #1 - 119de: 8804 ldrh r4, [r0, #0] - 119e0: 1b12 subs r2, r2, r4 + 119c2: 8882 ldrh r2, [r0, #4] + 119c4: 3201 adds r2, #1 + 119c6: 8804 ldrh r4, [r0, #0] + 119c8: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 119e2: b212 sxth r2, r2 - 119e4: eb02 74d2 add.w r4, r2, r2, lsr #31 - 119e8: 888a ldrh r2, [r1, #4] - 119ea: 3201 adds r2, #1 - 119ec: 880d ldrh r5, [r1, #0] - 119ee: 1b52 subs r2, r2, r5 - 119f0: b212 sxth r2, r2 - 119f2: eb02 72d2 add.w r2, r2, r2, lsr #31 - 119f6: 1052 asrs r2, r2, #1 - 119f8: ebc2 0264 rsb r2, r2, r4, asr #1 - 119fc: 801a strh r2, [r3, #0] + 119ca: b212 sxth r2, r2 + 119cc: eb02 74d2 add.w r4, r2, r2, lsr #31 + 119d0: 888a ldrh r2, [r1, #4] + 119d2: 3201 adds r2, #1 + 119d4: 880d ldrh r5, [r1, #0] + 119d6: 1b52 subs r2, r2, r5 + 119d8: b212 sxth r2, r2 + 119da: eb02 72d2 add.w r2, r2, r2, lsr #31 + 119de: 1052 asrs r2, r2, #1 + 119e0: ebc2 0264 rsb r2, r2, r4, asr #1 + 119e4: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 119fe: 88ca ldrh r2, [r1, #6] - 11a00: 8849 ldrh r1, [r1, #2] - 11a02: 1a52 subs r2, r2, r1 + 119e6: 88ca ldrh r2, [r1, #6] + 119e8: 8849 ldrh r1, [r1, #2] + 119ea: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 11a04: 43d2 mvns r2, r2 - 11a06: 805a strh r2, [r3, #2] + 119ec: 43d2 mvns r2, r2 + 119ee: 805a strh r2, [r3, #2] break; - 11a08: e74a b.n 118a0 <_lv_area_align+0x7c> + 119f0: e74a b.n 11888 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11a0a: 8882 ldrh r2, [r0, #4] - 11a0c: 888c ldrh r4, [r1, #4] - 11a0e: 1b12 subs r2, r2, r4 - 11a10: 8804 ldrh r4, [r0, #0] - 11a12: 1b12 subs r2, r2, r4 - 11a14: 880c ldrh r4, [r1, #0] - 11a16: 4422 add r2, r4 - 11a18: 801a strh r2, [r3, #0] - 11a1a: 88ca ldrh r2, [r1, #6] - 11a1c: 8849 ldrh r1, [r1, #2] - 11a1e: 1a52 subs r2, r2, r1 + 119f2: 8882 ldrh r2, [r0, #4] + 119f4: 888c ldrh r4, [r1, #4] + 119f6: 1b12 subs r2, r2, r4 + 119f8: 8804 ldrh r4, [r0, #0] + 119fa: 1b12 subs r2, r2, r4 + 119fc: 880c ldrh r4, [r1, #0] + 119fe: 4422 add r2, r4 + 11a00: 801a strh r2, [r3, #0] + 11a02: 88ca ldrh r2, [r1, #6] + 11a04: 8849 ldrh r1, [r1, #2] + 11a06: 1a52 subs r2, r2, r1 res->y = -lv_area_get_height(to_align); - 11a20: 43d2 mvns r2, r2 - 11a22: 805a strh r2, [r3, #2] + 11a08: 43d2 mvns r2, r2 + 11a0a: 805a strh r2, [r3, #2] break; - 11a24: e73c b.n 118a0 <_lv_area_align+0x7c> + 11a0c: e73c b.n 11888 <_lv_area_align+0x7c> res->x = 0; - 11a26: 2200 movs r2, #0 - 11a28: 801a strh r2, [r3, #0] - 11a2a: 88c2 ldrh r2, [r0, #6] - 11a2c: 3201 adds r2, #1 - 11a2e: 8841 ldrh r1, [r0, #2] - 11a30: 1a52 subs r2, r2, r1 + 11a0e: 2200 movs r2, #0 + 11a10: 801a strh r2, [r3, #0] + 11a12: 88c2 ldrh r2, [r0, #6] + 11a14: 3201 adds r2, #1 + 11a16: 8841 ldrh r1, [r0, #2] + 11a18: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 11a32: 805a strh r2, [r3, #2] + 11a1a: 805a strh r2, [r3, #2] break; - 11a34: e734 b.n 118a0 <_lv_area_align+0x7c> + 11a1c: e734 b.n 11888 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11a36: 8882 ldrh r2, [r0, #4] - 11a38: 3201 adds r2, #1 - 11a3a: 8804 ldrh r4, [r0, #0] - 11a3c: 1b12 subs r2, r2, r4 + 11a1e: 8882 ldrh r2, [r0, #4] + 11a20: 3201 adds r2, #1 + 11a22: 8804 ldrh r4, [r0, #0] + 11a24: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base) / 2 - lv_area_get_width(to_align) / 2; - 11a3e: b212 sxth r2, r2 - 11a40: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11a44: 888a ldrh r2, [r1, #4] - 11a46: 3201 adds r2, #1 - 11a48: 8809 ldrh r1, [r1, #0] - 11a4a: 1a52 subs r2, r2, r1 - 11a4c: b212 sxth r2, r2 - 11a4e: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11a52: 1052 asrs r2, r2, #1 - 11a54: ebc2 0264 rsb r2, r2, r4, asr #1 - 11a58: 801a strh r2, [r3, #0] + 11a26: b212 sxth r2, r2 + 11a28: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11a2c: 888a ldrh r2, [r1, #4] + 11a2e: 3201 adds r2, #1 + 11a30: 8809 ldrh r1, [r1, #0] + 11a32: 1a52 subs r2, r2, r1 + 11a34: b212 sxth r2, r2 + 11a36: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11a3a: 1052 asrs r2, r2, #1 + 11a3c: ebc2 0264 rsb r2, r2, r4, asr #1 + 11a40: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11a5a: 88c2 ldrh r2, [r0, #6] - 11a5c: 3201 adds r2, #1 - 11a5e: 8841 ldrh r1, [r0, #2] - 11a60: 1a52 subs r2, r2, r1 + 11a42: 88c2 ldrh r2, [r0, #6] + 11a44: 3201 adds r2, #1 + 11a46: 8841 ldrh r1, [r0, #2] + 11a48: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 11a62: 805a strh r2, [r3, #2] + 11a4a: 805a strh r2, [r3, #2] break; - 11a64: e71c b.n 118a0 <_lv_area_align+0x7c> + 11a4c: e71c b.n 11888 <_lv_area_align+0x7c> res->x = lv_area_get_width(base) - lv_area_get_width(to_align); - 11a66: 8882 ldrh r2, [r0, #4] - 11a68: 888c ldrh r4, [r1, #4] - 11a6a: 1b12 subs r2, r2, r4 - 11a6c: 8804 ldrh r4, [r0, #0] - 11a6e: 1b12 subs r2, r2, r4 - 11a70: 8809 ldrh r1, [r1, #0] - 11a72: 440a add r2, r1 - 11a74: 801a strh r2, [r3, #0] - 11a76: 88c2 ldrh r2, [r0, #6] - 11a78: 3201 adds r2, #1 - 11a7a: 8841 ldrh r1, [r0, #2] - 11a7c: 1a52 subs r2, r2, r1 + 11a4e: 8882 ldrh r2, [r0, #4] + 11a50: 888c ldrh r4, [r1, #4] + 11a52: 1b12 subs r2, r2, r4 + 11a54: 8804 ldrh r4, [r0, #0] + 11a56: 1b12 subs r2, r2, r4 + 11a58: 8809 ldrh r1, [r1, #0] + 11a5a: 440a add r2, r1 + 11a5c: 801a strh r2, [r3, #0] + 11a5e: 88c2 ldrh r2, [r0, #6] + 11a60: 3201 adds r2, #1 + 11a62: 8841 ldrh r1, [r0, #2] + 11a64: 1a52 subs r2, r2, r1 res->y = lv_area_get_height(base); - 11a7e: 805a strh r2, [r3, #2] + 11a66: 805a strh r2, [r3, #2] break; - 11a80: e70e b.n 118a0 <_lv_area_align+0x7c> + 11a68: e70e b.n 11888 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11a82: 888a ldrh r2, [r1, #4] - 11a84: 8809 ldrh r1, [r1, #0] - 11a86: 1a52 subs r2, r2, r1 + 11a6a: 888a ldrh r2, [r1, #4] + 11a6c: 8809 ldrh r1, [r1, #0] + 11a6e: 1a52 subs r2, r2, r1 res->x = -lv_area_get_width(to_align); - 11a88: 43d2 mvns r2, r2 - 11a8a: 801a strh r2, [r3, #0] + 11a70: 43d2 mvns r2, r2 + 11a72: 801a strh r2, [r3, #0] res->y = 0; - 11a8c: 2200 movs r2, #0 - 11a8e: 805a strh r2, [r3, #2] + 11a74: 2200 movs r2, #0 + 11a76: 805a strh r2, [r3, #2] break; - 11a90: e706 b.n 118a0 <_lv_area_align+0x7c> - 11a92: 888a ldrh r2, [r1, #4] - 11a94: 880c ldrh r4, [r1, #0] - 11a96: 1b12 subs r2, r2, r4 + 11a78: e706 b.n 11888 <_lv_area_align+0x7c> + 11a7a: 888a ldrh r2, [r1, #4] + 11a7c: 880c ldrh r4, [r1, #0] + 11a7e: 1b12 subs r2, r2, r4 res->x = -lv_area_get_width(to_align); - 11a98: 43d2 mvns r2, r2 - 11a9a: 801a strh r2, [r3, #0] + 11a80: 43d2 mvns r2, r2 + 11a82: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11a9c: 88c2 ldrh r2, [r0, #6] - 11a9e: 3201 adds r2, #1 - 11aa0: 8844 ldrh r4, [r0, #2] - 11aa2: 1b12 subs r2, r2, r4 + 11a84: 88c2 ldrh r2, [r0, #6] + 11a86: 3201 adds r2, #1 + 11a88: 8844 ldrh r4, [r0, #2] + 11a8a: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11aa4: b212 sxth r2, r2 - 11aa6: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11aaa: 88ca ldrh r2, [r1, #6] - 11aac: 3201 adds r2, #1 - 11aae: 8849 ldrh r1, [r1, #2] - 11ab0: 1a52 subs r2, r2, r1 - 11ab2: b212 sxth r2, r2 - 11ab4: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11ab8: 1052 asrs r2, r2, #1 - 11aba: ebc2 0264 rsb r2, r2, r4, asr #1 - 11abe: 805a strh r2, [r3, #2] + 11a8c: b212 sxth r2, r2 + 11a8e: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11a92: 88ca ldrh r2, [r1, #6] + 11a94: 3201 adds r2, #1 + 11a96: 8849 ldrh r1, [r1, #2] + 11a98: 1a52 subs r2, r2, r1 + 11a9a: b212 sxth r2, r2 + 11a9c: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11aa0: 1052 asrs r2, r2, #1 + 11aa2: ebc2 0264 rsb r2, r2, r4, asr #1 + 11aa6: 805a strh r2, [r3, #2] break; - 11ac0: e6ee b.n 118a0 <_lv_area_align+0x7c> + 11aa8: e6ee b.n 11888 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11ac2: 888a ldrh r2, [r1, #4] - 11ac4: 880c ldrh r4, [r1, #0] - 11ac6: 1b12 subs r2, r2, r4 + 11aaa: 888a ldrh r2, [r1, #4] + 11aac: 880c ldrh r4, [r1, #0] + 11aae: 1b12 subs r2, r2, r4 res->x = -lv_area_get_width(to_align); - 11ac8: 43d2 mvns r2, r2 - 11aca: 801a strh r2, [r3, #0] + 11ab0: 43d2 mvns r2, r2 + 11ab2: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11acc: 88c2 ldrh r2, [r0, #6] - 11ace: 88cc ldrh r4, [r1, #6] - 11ad0: 1b12 subs r2, r2, r4 - 11ad2: 8844 ldrh r4, [r0, #2] - 11ad4: 1b12 subs r2, r2, r4 - 11ad6: 8849 ldrh r1, [r1, #2] - 11ad8: 440a add r2, r1 - 11ada: 805a strh r2, [r3, #2] + 11ab4: 88c2 ldrh r2, [r0, #6] + 11ab6: 88cc ldrh r4, [r1, #6] + 11ab8: 1b12 subs r2, r2, r4 + 11aba: 8844 ldrh r4, [r0, #2] + 11abc: 1b12 subs r2, r2, r4 + 11abe: 8849 ldrh r1, [r1, #2] + 11ac0: 440a add r2, r1 + 11ac2: 805a strh r2, [r3, #2] break; - 11adc: e6e0 b.n 118a0 <_lv_area_align+0x7c> - 11ade: 8882 ldrh r2, [r0, #4] - 11ae0: 3201 adds r2, #1 - 11ae2: 8801 ldrh r1, [r0, #0] - 11ae4: 1a52 subs r2, r2, r1 + 11ac4: e6e0 b.n 11888 <_lv_area_align+0x7c> + 11ac6: 8882 ldrh r2, [r0, #4] + 11ac8: 3201 adds r2, #1 + 11aca: 8801 ldrh r1, [r0, #0] + 11acc: 1a52 subs r2, r2, r1 res->x = lv_area_get_width(base); - 11ae6: 801a strh r2, [r3, #0] + 11ace: 801a strh r2, [r3, #0] res->y = 0; - 11ae8: 2200 movs r2, #0 - 11aea: 805a strh r2, [r3, #2] + 11ad0: 2200 movs r2, #0 + 11ad2: 805a strh r2, [r3, #2] break; - 11aec: e6d8 b.n 118a0 <_lv_area_align+0x7c> - 11aee: 8882 ldrh r2, [r0, #4] - 11af0: 3201 adds r2, #1 - 11af2: 8804 ldrh r4, [r0, #0] - 11af4: 1b12 subs r2, r2, r4 + 11ad4: e6d8 b.n 11888 <_lv_area_align+0x7c> + 11ad6: 8882 ldrh r2, [r0, #4] + 11ad8: 3201 adds r2, #1 + 11ada: 8804 ldrh r4, [r0, #0] + 11adc: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base); - 11af6: 801a strh r2, [r3, #0] + 11ade: 801a strh r2, [r3, #0] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 11af8: 88c2 ldrh r2, [r0, #6] - 11afa: 3201 adds r2, #1 - 11afc: 8844 ldrh r4, [r0, #2] - 11afe: 1b12 subs r2, r2, r4 + 11ae0: 88c2 ldrh r2, [r0, #6] + 11ae2: 3201 adds r2, #1 + 11ae4: 8844 ldrh r4, [r0, #2] + 11ae6: 1b12 subs r2, r2, r4 res->y = lv_area_get_height(base) / 2 - lv_area_get_height(to_align) / 2; - 11b00: b212 sxth r2, r2 - 11b02: eb02 74d2 add.w r4, r2, r2, lsr #31 - 11b06: 88ca ldrh r2, [r1, #6] - 11b08: 3201 adds r2, #1 - 11b0a: 8849 ldrh r1, [r1, #2] - 11b0c: 1a52 subs r2, r2, r1 - 11b0e: b212 sxth r2, r2 - 11b10: eb02 72d2 add.w r2, r2, r2, lsr #31 - 11b14: 1052 asrs r2, r2, #1 - 11b16: ebc2 0264 rsb r2, r2, r4, asr #1 - 11b1a: 805a strh r2, [r3, #2] + 11ae8: b212 sxth r2, r2 + 11aea: eb02 74d2 add.w r4, r2, r2, lsr #31 + 11aee: 88ca ldrh r2, [r1, #6] + 11af0: 3201 adds r2, #1 + 11af2: 8849 ldrh r1, [r1, #2] + 11af4: 1a52 subs r2, r2, r1 + 11af6: b212 sxth r2, r2 + 11af8: eb02 72d2 add.w r2, r2, r2, lsr #31 + 11afc: 1052 asrs r2, r2, #1 + 11afe: ebc2 0264 rsb r2, r2, r4, asr #1 + 11b02: 805a strh r2, [r3, #2] break; - 11b1c: e6c0 b.n 118a0 <_lv_area_align+0x7c> + 11b04: e6c0 b.n 11888 <_lv_area_align+0x7c> return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 11b1e: 8882 ldrh r2, [r0, #4] - 11b20: 3201 adds r2, #1 - 11b22: 8804 ldrh r4, [r0, #0] - 11b24: 1b12 subs r2, r2, r4 + 11b06: 8882 ldrh r2, [r0, #4] + 11b08: 3201 adds r2, #1 + 11b0a: 8804 ldrh r4, [r0, #0] + 11b0c: 1b12 subs r2, r2, r4 res->x = lv_area_get_width(base); - 11b26: 801a strh r2, [r3, #0] + 11b0e: 801a strh r2, [r3, #0] res->y = lv_area_get_height(base) - lv_area_get_height(to_align); - 11b28: 88c2 ldrh r2, [r0, #6] - 11b2a: 88cc ldrh r4, [r1, #6] - 11b2c: 1b12 subs r2, r2, r4 - 11b2e: 8844 ldrh r4, [r0, #2] - 11b30: 1b12 subs r2, r2, r4 - 11b32: 8849 ldrh r1, [r1, #2] - 11b34: 440a add r2, r1 - 11b36: 805a strh r2, [r3, #2] + 11b10: 88c2 ldrh r2, [r0, #6] + 11b12: 88cc ldrh r4, [r1, #6] + 11b14: 1b12 subs r2, r2, r4 + 11b16: 8844 ldrh r4, [r0, #2] + 11b18: 1b12 subs r2, r2, r4 + 11b1a: 8849 ldrh r1, [r1, #2] + 11b1c: 440a add r2, r1 + 11b1e: 805a strh r2, [r3, #2] break; - 11b38: e6b2 b.n 118a0 <_lv_area_align+0x7c> + 11b20: e6b2 b.n 11888 <_lv_area_align+0x7c> -00011b3a : +00011b22 : /********************** * STATIC FUNCTIONS **********************/ LV_ATTRIBUTE_FAST_MEM void lv_color_fill(lv_color_t * buf, lv_color_t color, uint32_t px_num) { - 11b3a: b430 push {r4, r5} - 11b3c: b28d uxth r5, r1 + 11b22: b430 push {r4, r5} + 11b24: b28d uxth r5, r1 #if LV_COLOR_DEPTH == 16 uintptr_t buf_int = (uintptr_t) buf; if(buf_int & 0x3) { - 11b3e: f010 0f03 tst.w r0, #3 + 11b26: f010 0f03 tst.w r0, #3 *buf = color; - 11b42: bf1c itt ne - 11b44: f820 1b02 strhne.w r1, [r0], #2 + 11b2a: bf1c itt ne + 11b2c: f820 1b02 strhne.w r1, [r0], #2 buf++; px_num--; - 11b48: f102 32ff addne.w r2, r2, #4294967295 + 11b30: f102 32ff addne.w r2, r2, #4294967295 } uint32_t c32 = color.full + (color.full << 16); - 11b4c: eb05 4105 add.w r1, r5, r5, lsl #16 + 11b34: eb05 4105 add.w r1, r5, r5, lsl #16 uint32_t * buf32 = (uint32_t *)buf; while(px_num > 16) { - 11b50: 2a10 cmp r2, #16 - 11b52: d921 bls.n 11b98 - 11b54: f100 0320 add.w r3, r0, #32 - 11b58: 4614 mov r4, r2 + 11b38: 2a10 cmp r2, #16 + 11b3a: d921 bls.n 11b80 + 11b3c: f100 0320 add.w r3, r0, #32 + 11b40: 4614 mov r4, r2 *buf32 = c32; - 11b5a: f843 1c20 str.w r1, [r3, #-32] + 11b42: f843 1c20 str.w r1, [r3, #-32] buf32++; *buf32 = c32; - 11b5e: f843 1c1c str.w r1, [r3, #-28] + 11b46: f843 1c1c str.w r1, [r3, #-28] buf32++; *buf32 = c32; - 11b62: f843 1c18 str.w r1, [r3, #-24] + 11b4a: f843 1c18 str.w r1, [r3, #-24] buf32++; *buf32 = c32; - 11b66: f843 1c14 str.w r1, [r3, #-20] + 11b4e: f843 1c14 str.w r1, [r3, #-20] buf32++; *buf32 = c32; - 11b6a: f843 1c10 str.w r1, [r3, #-16] + 11b52: f843 1c10 str.w r1, [r3, #-16] buf32++; *buf32 = c32; - 11b6e: f843 1c0c str.w r1, [r3, #-12] + 11b56: f843 1c0c str.w r1, [r3, #-12] buf32++; *buf32 = c32; - 11b72: f843 1c08 str.w r1, [r3, #-8] + 11b5a: f843 1c08 str.w r1, [r3, #-8] buf32++; *buf32 = c32; - 11b76: f843 1c04 str.w r1, [r3, #-4] + 11b5e: f843 1c04 str.w r1, [r3, #-4] buf32++; px_num -= 16; - 11b7a: 3c10 subs r4, #16 - 11b7c: 3320 adds r3, #32 + 11b62: 3c10 subs r4, #16 + 11b64: 3320 adds r3, #32 while(px_num > 16) { - 11b7e: 2c10 cmp r4, #16 - 11b80: d8eb bhi.n 11b5a - 11b82: f1a2 0311 sub.w r3, r2, #17 - 11b86: 091b lsrs r3, r3, #4 - 11b88: 1c59 adds r1, r3, #1 - 11b8a: 3a10 subs r2, #16 - 11b8c: ebc3 7303 rsb r3, r3, r3, lsl #28 - 11b90: eb02 1203 add.w r2, r2, r3, lsl #4 + 11b66: 2c10 cmp r4, #16 + 11b68: d8eb bhi.n 11b42 + 11b6a: f1a2 0311 sub.w r3, r2, #17 + 11b6e: 091b lsrs r3, r3, #4 + 11b70: 1c59 adds r1, r3, #1 + 11b72: 3a10 subs r2, #16 + 11b74: ebc3 7303 rsb r3, r3, r3, lsl #28 + 11b78: eb02 1203 add.w r2, r2, r3, lsl #4 buf32++; - 11b94: eb00 1041 add.w r0, r0, r1, lsl #5 + 11b7c: eb00 1041 add.w r0, r0, r1, lsl #5 } buf = (lv_color_t *)buf32; while(px_num) { - 11b98: b11a cbz r2, 11ba2 + 11b80: b11a cbz r2, 11b8a *buf = color; - 11b9a: f820 5b02 strh.w r5, [r0], #2 + 11b82: f820 5b02 strh.w r5, [r0], #2 while(px_num) { - 11b9e: 3a01 subs r2, #1 - 11ba0: d1fb bne.n 11b9a + 11b86: 3a01 subs r2, #1 + 11b88: d1fb bne.n 11b82 *buf = color; buf++; px_num --; } #endif } - 11ba2: bc30 pop {r4, r5} - 11ba4: 4770 bx lr + 11b8a: bc30 pop {r4, r5} + 11b8c: 4770 bx lr -00011ba6 : +00011b8e : lv_color_t lv_color_lighten(lv_color_t c, lv_opa_t lvl) { - 11ba6: b430 push {r4, r5} + 11b8e: b430 push {r4, r5} LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 11ba8: ebc1 1541 rsb r5, r1, r1, lsl #5 - 11bac: f1c1 04ff rsb r4, r1, #255 ; 0xff - 11bb0: f3c0 23c4 ubfx r3, r0, #11, #5 - 11bb4: fb04 5303 mla r3, r4, r3, r5 - 11bb8: eb03 2203 add.w r2, r3, r3, lsl #8 - 11bbc: eb03 13c2 add.w r3, r3, r2, lsl #7 - 11bc0: f3c3 52c4 ubfx r2, r3, #23, #5 + 11b90: ebc1 1541 rsb r5, r1, r1, lsl #5 + 11b94: f1c1 04ff rsb r4, r1, #255 ; 0xff + 11b98: f3c0 23c4 ubfx r3, r0, #11, #5 + 11b9c: fb04 5303 mla r3, r4, r3, r5 + 11ba0: eb03 2203 add.w r2, r3, r3, lsl #8 + 11ba4: eb03 13c2 add.w r3, r3, r2, lsl #7 + 11ba8: f3c3 52c4 ubfx r2, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 11bc4: f3c0 1345 ubfx r3, r0, #5, #6 - 11bc8: ebc1 1181 rsb r1, r1, r1, lsl #6 - 11bcc: fb04 1103 mla r1, r4, r3, r1 - 11bd0: eb01 2301 add.w r3, r1, r1, lsl #8 - 11bd4: eb01 11c3 add.w r1, r1, r3, lsl #7 - 11bd8: f3c1 51c5 ubfx r1, r1, #23, #6 + 11bac: f3c0 1345 ubfx r3, r0, #5, #6 + 11bb0: ebc1 1181 rsb r1, r1, r1, lsl #6 + 11bb4: fb04 1103 mla r1, r4, r3, r1 + 11bb8: eb01 2301 add.w r3, r1, r1, lsl #8 + 11bbc: eb01 11c3 add.w r1, r1, r3, lsl #7 + 11bc0: f3c1 51c5 ubfx r1, r1, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 11bdc: f000 001f and.w r0, r0, #31 - 11be0: fb04 5000 mla r0, r4, r0, r5 - 11be4: eb00 2300 add.w r3, r0, r0, lsl #8 - 11be8: eb00 10c3 add.w r0, r0, r3, lsl #7 - 11bec: 0dc3 lsrs r3, r0, #23 - 11bee: f04f 0000 mov.w r0, #0 - 11bf2: f363 0004 bfi r0, r3, #0, #5 - 11bf6: f361 104a bfi r0, r1, #5, #6 - 11bfa: f362 20cf bfi r0, r2, #11, #5 + 11bc4: f000 001f and.w r0, r0, #31 + 11bc8: fb04 5000 mla r0, r4, r0, r5 + 11bcc: eb00 2300 add.w r3, r0, r0, lsl #8 + 11bd0: eb00 10c3 add.w r0, r0, r3, lsl #7 + 11bd4: 0dc3 lsrs r3, r0, #23 + 11bd6: f04f 0000 mov.w r0, #0 + 11bda: f363 0004 bfi r0, r3, #0, #5 + 11bde: f361 104a bfi r0, r1, #5, #6 + 11be2: f362 20cf bfi r0, r2, #11, #5 return lv_color_mix(LV_COLOR_WHITE, c, lvl); } - 11bfe: bc30 pop {r4, r5} - 11c00: 4770 bx lr + 11be6: bc30 pop {r4, r5} + 11be8: 4770 bx lr -00011c02 : +00011bea : lv_color_t lv_color_darken(lv_color_t c, lv_opa_t lvl) { - 11c02: b410 push {r4} + 11bea: b410 push {r4} LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 11c04: f1c1 01ff rsb r1, r1, #255 ; 0xff - 11c08: f3c0 23c4 ubfx r3, r0, #11, #5 - 11c0c: fb01 f303 mul.w r3, r1, r3 - 11c10: eb03 2203 add.w r2, r3, r3, lsl #8 - 11c14: eb03 13c2 add.w r3, r3, r2, lsl #7 - 11c18: f3c3 53c4 ubfx r3, r3, #23, #5 + 11bec: f1c1 01ff rsb r1, r1, #255 ; 0xff + 11bf0: f3c0 23c4 ubfx r3, r0, #11, #5 + 11bf4: fb01 f303 mul.w r3, r1, r3 + 11bf8: eb03 2203 add.w r2, r3, r3, lsl #8 + 11bfc: eb03 13c2 add.w r3, r3, r2, lsl #7 + 11c00: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 11c1c: f3c0 1245 ubfx r2, r0, #5, #6 - 11c20: fb01 f202 mul.w r2, r1, r2 - 11c24: eb02 2402 add.w r4, r2, r2, lsl #8 - 11c28: eb02 12c4 add.w r2, r2, r4, lsl #7 - 11c2c: f3c2 52c5 ubfx r2, r2, #23, #6 + 11c04: f3c0 1245 ubfx r2, r0, #5, #6 + 11c08: fb01 f202 mul.w r2, r1, r2 + 11c0c: eb02 2402 add.w r4, r2, r2, lsl #8 + 11c10: eb02 12c4 add.w r2, r2, r4, lsl #7 + 11c14: f3c2 52c5 ubfx r2, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 11c30: f000 001f and.w r0, r0, #31 - 11c34: fb01 f100 mul.w r1, r1, r0 - 11c38: eb01 2001 add.w r0, r1, r1, lsl #8 - 11c3c: eb01 11c0 add.w r1, r1, r0, lsl #7 - 11c40: 0dc9 lsrs r1, r1, #23 - 11c42: f04f 0000 mov.w r0, #0 - 11c46: f361 0004 bfi r0, r1, #0, #5 - 11c4a: f362 104a bfi r0, r2, #5, #6 - 11c4e: f363 20cf bfi r0, r3, #11, #5 + 11c18: f000 001f and.w r0, r0, #31 + 11c1c: fb01 f100 mul.w r1, r1, r0 + 11c20: eb01 2001 add.w r0, r1, r1, lsl #8 + 11c24: eb01 11c0 add.w r1, r1, r0, lsl #7 + 11c28: 0dc9 lsrs r1, r1, #23 + 11c2a: f04f 0000 mov.w r0, #0 + 11c2e: f361 0004 bfi r0, r1, #0, #5 + 11c32: f362 104a bfi r0, r2, #5, #6 + 11c36: f363 20cf bfi r0, r3, #11, #5 return lv_color_mix(LV_COLOR_BLACK, c, lvl); } - 11c52: f85d 4b04 ldr.w r4, [sp], #4 - 11c56: 4770 bx lr + 11c3a: f85d 4b04 ldr.w r4, [sp], #4 + 11c3e: 4770 bx lr -00011c58 : +00011c40 : static const char * lv_fs_get_real_path(const char * path) { /* Example path: "S:/folder/file.txt" * Leave the letter and the : / \ characters*/ path++; /*Ignore the driver letter*/ - 11c58: 1c42 adds r2, r0, #1 + 11c40: 1c42 adds r2, r0, #1 while(*path != '\0') { - 11c5a: 7843 ldrb r3, [r0, #1] - 11c5c: b91b cbnz r3, 11c66 - 11c5e: e008 b.n 11c72 - 11c60: f812 3f01 ldrb.w r3, [r2, #1]! - 11c64: b12b cbz r3, 11c72 + 11c42: 7843 ldrb r3, [r0, #1] + 11c44: b91b cbnz r3, 11c4e + 11c46: e008 b.n 11c5a + 11c48: f812 3f01 ldrb.w r3, [r2, #1]! + 11c4c: b12b cbz r3, 11c5a if(*path == ':' || *path == '\\' || *path == '/') { - 11c66: 2b3a cmp r3, #58 ; 0x3a - 11c68: d0fa beq.n 11c60 - 11c6a: 2b5c cmp r3, #92 ; 0x5c - 11c6c: d0f8 beq.n 11c60 - 11c6e: 2b2f cmp r3, #47 ; 0x2f - 11c70: d0f6 beq.n 11c60 + 11c4e: 2b3a cmp r3, #58 ; 0x3a + 11c50: d0fa beq.n 11c48 + 11c52: 2b5c cmp r3, #92 ; 0x5c + 11c54: d0f8 beq.n 11c48 + 11c56: 2b2f cmp r3, #47 ; 0x2f + 11c58: d0f6 beq.n 11c48 break; } } return path; } - 11c72: 4610 mov r0, r2 - 11c74: 4770 bx lr + 11c5a: 4610 mov r0, r2 + 11c5c: 4770 bx lr ... -00011c78 <_lv_fs_init>: +00011c60 <_lv_fs_init>: { - 11c78: b508 push {r3, lr} + 11c60: b508 push {r3, lr} _lv_ll_init(&LV_GC_ROOT(_lv_drv_ll), sizeof(lv_fs_drv_t)); - 11c7a: 2144 movs r1, #68 ; 0x44 - 11c7c: 4801 ldr r0, [pc, #4] ; (11c84 <_lv_fs_init+0xc>) - 11c7e: 4b02 ldr r3, [pc, #8] ; (11c88 <_lv_fs_init+0x10>) - 11c80: 4798 blx r3 - 11c82: bd08 pop {r3, pc} - 11c84: 20006d30 .word 0x20006d30 - 11c88: 00011ef9 .word 0x00011ef9 + 11c62: 2144 movs r1, #68 ; 0x44 + 11c64: 4801 ldr r0, [pc, #4] ; (11c6c <_lv_fs_init+0xc>) + 11c66: 4b02 ldr r3, [pc, #8] ; (11c70 <_lv_fs_init+0x10>) + 11c68: 4798 blx r3 + 11c6a: bd08 pop {r3, pc} + 11c6c: 20006d30 .word 0x20006d30 + 11c70: 00011ee1 .word 0x00011ee1 -00011c8c : +00011c74 : { - 11c8c: b538 push {r3, r4, r5, lr} + 11c74: b538 push {r3, r4, r5, lr} if(file_p->drv == NULL) { - 11c8e: 6843 ldr r3, [r0, #4] - 11c90: b173 cbz r3, 11cb0 + 11c76: 6843 ldr r3, [r0, #4] + 11c78: b173 cbz r3, 11c98 if(file_p->drv->close_cb == NULL) { - 11c92: 691a ldr r2, [r3, #16] - 11c94: b172 cbz r2, 11cb4 - 11c96: 4604 mov r4, r0 + 11c7a: 691a ldr r2, [r3, #16] + 11c7c: b172 cbz r2, 11c9c + 11c7e: 4604 mov r4, r0 lv_fs_res_t res = file_p->drv->close_cb(file_p->drv, file_p->file_d); - 11c98: 6801 ldr r1, [r0, #0] - 11c9a: 4618 mov r0, r3 - 11c9c: 4790 blx r2 - 11c9e: 4605 mov r5, r0 + 11c80: 6801 ldr r1, [r0, #0] + 11c82: 4618 mov r0, r3 + 11c84: 4790 blx r2 + 11c86: 4605 mov r5, r0 lv_mem_free(file_p->file_d); /*Clean up*/ - 11ca0: 6820 ldr r0, [r4, #0] - 11ca2: 4b05 ldr r3, [pc, #20] ; (11cb8 ) - 11ca4: 4798 blx r3 + 11c88: 6820 ldr r0, [r4, #0] + 11c8a: 4b05 ldr r3, [pc, #20] ; (11ca0 ) + 11c8c: 4798 blx r3 file_p->file_d = NULL; - 11ca6: 2300 movs r3, #0 - 11ca8: 6023 str r3, [r4, #0] + 11c8e: 2300 movs r3, #0 + 11c90: 6023 str r3, [r4, #0] file_p->drv = NULL; - 11caa: 6063 str r3, [r4, #4] + 11c92: 6063 str r3, [r4, #4] } - 11cac: 4628 mov r0, r5 - 11cae: bd38 pop {r3, r4, r5, pc} + 11c94: 4628 mov r0, r5 + 11c96: bd38 pop {r3, r4, r5, pc} return LV_FS_RES_INV_PARAM; - 11cb0: 250b movs r5, #11 - 11cb2: e7fb b.n 11cac + 11c98: 250b movs r5, #11 + 11c9a: e7fb b.n 11c94 return LV_FS_RES_NOT_IMP; - 11cb4: 2509 movs r5, #9 - 11cb6: e7f9 b.n 11cac - 11cb8: 000124c5 .word 0x000124c5 + 11c9c: 2509 movs r5, #9 + 11c9e: e7f9 b.n 11c94 + 11ca0: 000124ad .word 0x000124ad -00011cbc : +00011ca4 : { - 11cbc: b5f0 push {r4, r5, r6, r7, lr} - 11cbe: b085 sub sp, #20 + 11ca4: b5f0 push {r4, r5, r6, r7, lr} + 11ca6: b085 sub sp, #20 if(br != NULL) *br = 0; - 11cc0: 461e mov r6, r3 - 11cc2: b10b cbz r3, 11cc8 - 11cc4: 2300 movs r3, #0 - 11cc6: 6033 str r3, [r6, #0] + 11ca8: 461e mov r6, r3 + 11caa: b10b cbz r3, 11cb0 + 11cac: 2300 movs r3, #0 + 11cae: 6033 str r3, [r6, #0] if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM; - 11cc8: 6845 ldr r5, [r0, #4] - 11cca: b18d cbz r5, 11cf0 + 11cb0: 6845 ldr r5, [r0, #4] + 11cb2: b18d cbz r5, 11cd8 if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP; - 11ccc: 69af ldr r7, [r5, #24] - 11cce: b18f cbz r7, 11cf4 - 11cd0: 4613 mov r3, r2 - 11cd2: 460a mov r2, r1 - 11cd4: 4604 mov r4, r0 + 11cb4: 69af ldr r7, [r5, #24] + 11cb6: b18f cbz r7, 11cdc + 11cb8: 4613 mov r3, r2 + 11cba: 460a mov r2, r1 + 11cbc: 4604 mov r4, r0 uint32_t br_tmp = 0; - 11cd6: a804 add r0, sp, #16 - 11cd8: 2100 movs r1, #0 - 11cda: f840 1d04 str.w r1, [r0, #-4]! + 11cbe: a804 add r0, sp, #16 + 11cc0: 2100 movs r1, #0 + 11cc2: f840 1d04 str.w r1, [r0, #-4]! lv_fs_res_t res = file_p->drv->read_cb(file_p->drv, file_p->file_d, buf, btr, &br_tmp); - 11cde: 6821 ldr r1, [r4, #0] - 11ce0: 9000 str r0, [sp, #0] - 11ce2: 4628 mov r0, r5 - 11ce4: 47b8 blx r7 + 11cc6: 6821 ldr r1, [r4, #0] + 11cc8: 9000 str r0, [sp, #0] + 11cca: 4628 mov r0, r5 + 11ccc: 47b8 blx r7 if(br != NULL) *br = br_tmp; - 11ce6: b10e cbz r6, 11cec - 11ce8: 9b03 ldr r3, [sp, #12] - 11cea: 6033 str r3, [r6, #0] + 11cce: b10e cbz r6, 11cd4 + 11cd0: 9b03 ldr r3, [sp, #12] + 11cd2: 6033 str r3, [r6, #0] } - 11cec: b005 add sp, #20 - 11cee: bdf0 pop {r4, r5, r6, r7, pc} + 11cd4: b005 add sp, #20 + 11cd6: bdf0 pop {r4, r5, r6, r7, pc} if(file_p->drv == NULL) return LV_FS_RES_INV_PARAM; - 11cf0: 200b movs r0, #11 - 11cf2: e7fb b.n 11cec + 11cd8: 200b movs r0, #11 + 11cda: e7fb b.n 11cd4 if(file_p->drv->read_cb == NULL) return LV_FS_RES_NOT_IMP; - 11cf4: 2009 movs r0, #9 - 11cf6: e7f9 b.n 11cec + 11cdc: 2009 movs r0, #9 + 11cde: e7f9 b.n 11cd4 -00011cf8 : +00011ce0 : { - 11cf8: b538 push {r3, r4, r5, lr} + 11ce0: b538 push {r3, r4, r5, lr} if(file_p->drv == NULL) { - 11cfa: 6844 ldr r4, [r0, #4] - 11cfc: b134 cbz r4, 11d0c + 11ce2: 6844 ldr r4, [r0, #4] + 11ce4: b134 cbz r4, 11cf4 if(file_p->drv->seek_cb == NULL) { - 11cfe: 6a25 ldr r5, [r4, #32] - 11d00: b135 cbz r5, 11d10 - 11d02: 460a mov r2, r1 + 11ce6: 6a25 ldr r5, [r4, #32] + 11ce8: b135 cbz r5, 11cf8 + 11cea: 460a mov r2, r1 lv_fs_res_t res = file_p->drv->seek_cb(file_p->drv, file_p->file_d, pos); - 11d04: 6801 ldr r1, [r0, #0] - 11d06: 4620 mov r0, r4 - 11d08: 47a8 blx r5 + 11cec: 6801 ldr r1, [r0, #0] + 11cee: 4620 mov r0, r4 + 11cf0: 47a8 blx r5 return res; - 11d0a: bd38 pop {r3, r4, r5, pc} + 11cf2: bd38 pop {r3, r4, r5, pc} return LV_FS_RES_INV_PARAM; - 11d0c: 200b movs r0, #11 - 11d0e: bd38 pop {r3, r4, r5, pc} + 11cf4: 200b movs r0, #11 + 11cf6: bd38 pop {r3, r4, r5, pc} return LV_FS_RES_NOT_IMP; - 11d10: 2009 movs r0, #9 + 11cf8: 2009 movs r0, #9 } - 11d12: bd38 pop {r3, r4, r5, pc} + 11cfa: bd38 pop {r3, r4, r5, pc} -00011d14 : +00011cfc : { - 11d14: b570 push {r4, r5, r6, lr} - 11d16: 4604 mov r4, r0 + 11cfc: b570 push {r4, r5, r6, lr} + 11cfe: 4604 mov r4, r0 _LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) { - 11d18: 4809 ldr r0, [pc, #36] ; (11d40 ) - 11d1a: 4b0a ldr r3, [pc, #40] ; (11d44 ) - 11d1c: 4798 blx r3 - 11d1e: 4601 mov r1, r0 - 11d20: b158 cbz r0, 11d3a + 11d00: 4809 ldr r0, [pc, #36] ; (11d28 ) + 11d02: 4b0a ldr r3, [pc, #40] ; (11d2c ) + 11d04: 4798 blx r3 + 11d06: 4601 mov r1, r0 + 11d08: b158 cbz r0, 11d22 if(drv->letter == letter) { - 11d22: 7803 ldrb r3, [r0, #0] - 11d24: 42a3 cmp r3, r4 - 11d26: d008 beq.n 11d3a + 11d0a: 7803 ldrb r3, [r0, #0] + 11d0c: 42a3 cmp r3, r4 + 11d0e: d008 beq.n 11d22 _LV_LL_READ(LV_GC_ROOT(_lv_drv_ll), drv) { - 11d28: 4e05 ldr r6, [pc, #20] ; (11d40 ) - 11d2a: 4d07 ldr r5, [pc, #28] ; (11d48 ) - 11d2c: 4630 mov r0, r6 - 11d2e: 47a8 blx r5 - 11d30: 4601 mov r1, r0 - 11d32: b110 cbz r0, 11d3a + 11d10: 4e05 ldr r6, [pc, #20] ; (11d28 ) + 11d12: 4d07 ldr r5, [pc, #28] ; (11d30 ) + 11d14: 4630 mov r0, r6 + 11d16: 47a8 blx r5 + 11d18: 4601 mov r1, r0 + 11d1a: b110 cbz r0, 11d22 if(drv->letter == letter) { - 11d34: 780b ldrb r3, [r1, #0] - 11d36: 42a3 cmp r3, r4 - 11d38: d1f8 bne.n 11d2c + 11d1c: 780b ldrb r3, [r1, #0] + 11d1e: 42a3 cmp r3, r4 + 11d20: d1f8 bne.n 11d14 } - 11d3a: 4608 mov r0, r1 - 11d3c: bd70 pop {r4, r5, r6, pc} - 11d3e: bf00 nop - 11d40: 20006d30 .word 0x20006d30 - 11d44: 00011fa9 .word 0x00011fa9 - 11d48: 00011fbd .word 0x00011fbd + 11d22: 4608 mov r0, r1 + 11d24: bd70 pop {r4, r5, r6, pc} + 11d26: bf00 nop + 11d28: 20006d30 .word 0x20006d30 + 11d2c: 00011f91 .word 0x00011f91 + 11d30: 00011fa5 .word 0x00011fa5 -00011d4c : +00011d34 : { - 11d4c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 11d50: b083 sub sp, #12 + 11d34: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 11d38: b083 sub sp, #12 file_p->drv = NULL; - 11d52: 2300 movs r3, #0 - 11d54: 6043 str r3, [r0, #4] + 11d3a: 2300 movs r3, #0 + 11d3c: 6043 str r3, [r0, #4] file_p->file_d = NULL; - 11d56: 6003 str r3, [r0, #0] + 11d3e: 6003 str r3, [r0, #0] if(path == NULL) return LV_FS_RES_INV_PARAM; - 11d58: 2900 cmp r1, #0 - 11d5a: d045 beq.n 11de8 - 11d5c: 460d mov r5, r1 - 11d5e: 4691 mov r9, r2 - 11d60: 4604 mov r4, r0 + 11d40: 2900 cmp r1, #0 + 11d42: d045 beq.n 11dd0 + 11d44: 460d mov r5, r1 + 11d46: 4691 mov r9, r2 + 11d48: 4604 mov r4, r0 file_p->drv = lv_fs_get_drv(letter); - 11d62: 7808 ldrb r0, [r1, #0] - 11d64: 4b24 ldr r3, [pc, #144] ; (11df8 ) - 11d66: 4798 blx r3 - 11d68: 6060 str r0, [r4, #4] + 11d4a: 7808 ldrb r0, [r1, #0] + 11d4c: 4b24 ldr r3, [pc, #144] ; (11de0 ) + 11d4e: 4798 blx r3 + 11d50: 6060 str r0, [r4, #4] if(file_p->drv == NULL) { - 11d6a: b140 cbz r0, 11d7e + 11d52: b140 cbz r0, 11d66 if(file_p->drv->ready_cb != NULL) { - 11d6c: 6883 ldr r3, [r0, #8] - 11d6e: b153 cbz r3, 11d86 + 11d54: 6883 ldr r3, [r0, #8] + 11d56: b153 cbz r3, 11d6e if(file_p->drv->ready_cb(file_p->drv) == false) { - 11d70: 4798 blx r3 - 11d72: b940 cbnz r0, 11d86 + 11d58: 4798 blx r3 + 11d5a: b940 cbnz r0, 11d6e file_p->drv = NULL; - 11d74: 2300 movs r3, #0 - 11d76: 6063 str r3, [r4, #4] + 11d5c: 2300 movs r3, #0 + 11d5e: 6063 str r3, [r4, #4] file_p->file_d = NULL; - 11d78: 6023 str r3, [r4, #0] + 11d60: 6023 str r3, [r4, #0] return LV_FS_RES_HW_ERR; - 11d7a: 2501 movs r5, #1 - 11d7c: e035 b.n 11dea + 11d62: 2501 movs r5, #1 + 11d64: e035 b.n 11dd2 file_p->file_d = NULL; - 11d7e: 2300 movs r3, #0 - 11d80: 6023 str r3, [r4, #0] + 11d66: 2300 movs r3, #0 + 11d68: 6023 str r3, [r4, #0] return LV_FS_RES_NOT_EX; - 11d82: 2503 movs r5, #3 - 11d84: e031 b.n 11dea + 11d6a: 2503 movs r5, #3 + 11d6c: e031 b.n 11dd2 file_p->file_d = lv_mem_alloc(file_p->drv->file_size); - 11d86: 6863 ldr r3, [r4, #4] - 11d88: 8858 ldrh r0, [r3, #2] - 11d8a: 4b1c ldr r3, [pc, #112] ; (11dfc ) - 11d8c: 4798 blx r3 - 11d8e: 6020 str r0, [r4, #0] + 11d6e: 6863 ldr r3, [r4, #4] + 11d70: 8858 ldrh r0, [r3, #2] + 11d72: 4b1c ldr r3, [pc, #112] ; (11de4 ) + 11d74: 4798 blx r3 + 11d76: 6020 str r0, [r4, #0] LV_ASSERT_MEM(file_p->file_d); - 11d90: 4b1b ldr r3, [pc, #108] ; (11e00 ) - 11d92: 4798 blx r3 - 11d94: b128 cbz r0, 11da2 + 11d78: 4b1b ldr r3, [pc, #108] ; (11de8 ) + 11d7a: 4798 blx r3 + 11d7c: b128 cbz r0, 11d8a if(file_p->file_d == NULL) { - 11d96: 6826 ldr r6, [r4, #0] - 11d98: b986 cbnz r6, 11dbc + 11d7e: 6826 ldr r6, [r4, #0] + 11d80: b986 cbnz r6, 11da4 file_p->drv = NULL; - 11d9a: 2300 movs r3, #0 - 11d9c: 6063 str r3, [r4, #4] + 11d82: 2300 movs r3, #0 + 11d84: 6063 str r3, [r4, #4] return LV_FS_RES_OUT_OF_MEM; /* Out of memory */ - 11d9e: 250a movs r5, #10 - 11da0: e023 b.n 11dea + 11d86: 250a movs r5, #10 + 11d88: e023 b.n 11dd2 LV_ASSERT_MEM(file_p->file_d); - 11da2: 4b18 ldr r3, [pc, #96] ; (11e04 ) - 11da4: 9300 str r3, [sp, #0] - 11da6: 226f movs r2, #111 ; 0x6f - 11da8: 4917 ldr r1, [pc, #92] ; (11e08 ) - 11daa: 2003 movs r0, #3 - 11dac: 4d17 ldr r5, [pc, #92] ; (11e0c ) - 11dae: 47a8 blx r5 - 11db0: 6822 ldr r2, [r4, #0] - 11db2: 2300 movs r3, #0 - 11db4: 4816 ldr r0, [pc, #88] ; (11e10 ) - 11db6: 4917 ldr r1, [pc, #92] ; (11e14 ) - 11db8: 4788 blx r1 - 11dba: e7fe b.n 11dba + 11d8a: 4b18 ldr r3, [pc, #96] ; (11dec ) + 11d8c: 9300 str r3, [sp, #0] + 11d8e: 226f movs r2, #111 ; 0x6f + 11d90: 4917 ldr r1, [pc, #92] ; (11df0 ) + 11d92: 2003 movs r0, #3 + 11d94: 4d17 ldr r5, [pc, #92] ; (11df4 ) + 11d96: 47a8 blx r5 + 11d98: 6822 ldr r2, [r4, #0] + 11d9a: 2300 movs r3, #0 + 11d9c: 4816 ldr r0, [pc, #88] ; (11df8 ) + 11d9e: 4917 ldr r1, [pc, #92] ; (11dfc ) + 11da0: 4788 blx r1 + 11da2: e7fe b.n 11da2 if(file_p->drv->open_cb == NULL) { - 11dbc: f8d4 8004 ldr.w r8, [r4, #4] - 11dc0: f8d8 700c ldr.w r7, [r8, #12] - 11dc4: b1af cbz r7, 11df2 + 11da4: f8d4 8004 ldr.w r8, [r4, #4] + 11da8: f8d8 700c ldr.w r7, [r8, #12] + 11dac: b1af cbz r7, 11dda const char * real_path = lv_fs_get_real_path(path); - 11dc6: 4628 mov r0, r5 - 11dc8: 4b13 ldr r3, [pc, #76] ; (11e18 ) - 11dca: 4798 blx r3 + 11dae: 4628 mov r0, r5 + 11db0: 4b13 ldr r3, [pc, #76] ; (11e00 ) + 11db2: 4798 blx r3 lv_fs_res_t res = file_p->drv->open_cb(file_p->drv, file_p->file_d, real_path, mode); - 11dcc: 464b mov r3, r9 - 11dce: 4602 mov r2, r0 - 11dd0: 4631 mov r1, r6 - 11dd2: 4640 mov r0, r8 - 11dd4: 47b8 blx r7 + 11db4: 464b mov r3, r9 + 11db6: 4602 mov r2, r0 + 11db8: 4631 mov r1, r6 + 11dba: 4640 mov r0, r8 + 11dbc: 47b8 blx r7 if(res != LV_FS_RES_OK) { - 11dd6: 4605 mov r5, r0 - 11dd8: b138 cbz r0, 11dea + 11dbe: 4605 mov r5, r0 + 11dc0: b138 cbz r0, 11dd2 lv_mem_free(file_p->file_d); - 11dda: 6820 ldr r0, [r4, #0] - 11ddc: 4b0f ldr r3, [pc, #60] ; (11e1c ) - 11dde: 4798 blx r3 + 11dc2: 6820 ldr r0, [r4, #0] + 11dc4: 4b0f ldr r3, [pc, #60] ; (11e04 ) + 11dc6: 4798 blx r3 file_p->file_d = NULL; - 11de0: 2300 movs r3, #0 - 11de2: 6023 str r3, [r4, #0] + 11dc8: 2300 movs r3, #0 + 11dca: 6023 str r3, [r4, #0] file_p->drv = NULL; - 11de4: 6063 str r3, [r4, #4] - 11de6: e000 b.n 11dea + 11dcc: 6063 str r3, [r4, #4] + 11dce: e000 b.n 11dd2 if(path == NULL) return LV_FS_RES_INV_PARAM; - 11de8: 250b movs r5, #11 + 11dd0: 250b movs r5, #11 } - 11dea: 4628 mov r0, r5 - 11dec: b003 add sp, #12 - 11dee: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 11dd2: 4628 mov r0, r5 + 11dd4: b003 add sp, #12 + 11dd6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} return LV_FS_RES_NOT_IMP; - 11df2: 2509 movs r5, #9 - 11df4: e7f9 b.n 11dea - 11df6: bf00 nop - 11df8: 00011d15 .word 0x00011d15 - 11dfc: 000123dd .word 0x000123dd - 11e00: 000022b1 .word 0x000022b1 - 11e04: 00029258 .word 0x00029258 - 11e08: 00029274 .word 0x00029274 - 11e0c: 0001225d .word 0x0001225d - 11e10: 00023fd8 .word 0x00023fd8 - 11e14: 000022b9 .word 0x000022b9 - 11e18: 00011c59 .word 0x00011c59 - 11e1c: 000124c5 .word 0x000124c5 - -00011e20 : -{ - 11e20: b510 push {r4, lr} - 11e22: 4604 mov r4, r0 + 11dda: 2509 movs r5, #9 + 11ddc: e7f9 b.n 11dd2 + 11dde: bf00 nop + 11de0: 00011cfd .word 0x00011cfd + 11de4: 000123c5 .word 0x000123c5 + 11de8: 00002299 .word 0x00002299 + 11dec: 00029240 .word 0x00029240 + 11df0: 0002925c .word 0x0002925c + 11df4: 00012245 .word 0x00012245 + 11df8: 00023fc0 .word 0x00023fc0 + 11dfc: 000022a1 .word 0x000022a1 + 11e00: 00011c41 .word 0x00011c41 + 11e04: 000124ad .word 0x000124ad + +00011e08 : +{ + 11e08: b510 push {r4, lr} + 11e0a: 4604 mov r4, r0 for(i = strlen(fn); i > 0; i--) { - 11e24: 4b12 ldr r3, [pc, #72] ; (11e70 ) - 11e26: 4798 blx r3 - 11e28: b1c8 cbz r0, 11e5e - 11e2a: 4602 mov r2, r0 + 11e0c: 4b12 ldr r3, [pc, #72] ; (11e58 ) + 11e0e: 4798 blx r3 + 11e10: b1c8 cbz r0, 11e46 + 11e12: 4602 mov r2, r0 if(fn[i] == '.') { - 11e2c: 1821 adds r1, r4, r0 - 11e2e: 5c23 ldrb r3, [r4, r0] - 11e30: 2b2e cmp r3, #46 ; 0x2e - 11e32: d00f beq.n 11e54 + 11e14: 1821 adds r1, r4, r0 + 11e16: 5c23 ldrb r3, [r4, r0] + 11e18: 2b2e cmp r3, #46 ; 0x2e + 11e1a: d00f beq.n 11e3c else if(fn[i] == '/' || fn[i] == '\\') { - 11e34: 2b2f cmp r3, #47 ; 0x2f - 11e36: d014 beq.n 11e62 - 11e38: 2b5c cmp r3, #92 ; 0x5c - 11e3a: d014 beq.n 11e66 + 11e1c: 2b2f cmp r3, #47 ; 0x2f + 11e1e: d014 beq.n 11e4a + 11e20: 2b5c cmp r3, #92 ; 0x5c + 11e22: d014 beq.n 11e4e for(i = strlen(fn); i > 0; i--) { - 11e3c: 3a01 subs r2, #1 - 11e3e: d00c beq.n 11e5a + 11e24: 3a01 subs r2, #1 + 11e26: d00c beq.n 11e42 if(fn[i] == '.') { - 11e40: f811 3d01 ldrb.w r3, [r1, #-1]! - 11e44: 2b2e cmp r3, #46 ; 0x2e - 11e46: d005 beq.n 11e54 + 11e28: f811 3d01 ldrb.w r3, [r1, #-1]! + 11e2c: 2b2e cmp r3, #46 ; 0x2e + 11e2e: d005 beq.n 11e3c else if(fn[i] == '/' || fn[i] == '\\') { - 11e48: 2b2f cmp r3, #47 ; 0x2f - 11e4a: d00e beq.n 11e6a - 11e4c: 2b5c cmp r3, #92 ; 0x5c - 11e4e: d1f5 bne.n 11e3c + 11e30: 2b2f cmp r3, #47 ; 0x2f + 11e32: d00e beq.n 11e52 + 11e34: 2b5c cmp r3, #92 ; 0x5c + 11e36: d1f5 bne.n 11e24 return ""; /*No extension if a '\' or '/' found*/ - 11e50: 4808 ldr r0, [pc, #32] ; (11e74 ) + 11e38: 4808 ldr r0, [pc, #32] ; (11e5c ) } - 11e52: bd10 pop {r4, pc} + 11e3a: bd10 pop {r4, pc} return &fn[i + 1]; - 11e54: 3201 adds r2, #1 - 11e56: 18a0 adds r0, r4, r2 - 11e58: bd10 pop {r4, pc} + 11e3c: 3201 adds r2, #1 + 11e3e: 18a0 adds r0, r4, r2 + 11e40: bd10 pop {r4, pc} return ""; /*Empty string if no '.' in the file name. */ - 11e5a: 4806 ldr r0, [pc, #24] ; (11e74 ) - 11e5c: bd10 pop {r4, pc} - 11e5e: 4805 ldr r0, [pc, #20] ; (11e74 ) - 11e60: bd10 pop {r4, pc} + 11e42: 4806 ldr r0, [pc, #24] ; (11e5c ) + 11e44: bd10 pop {r4, pc} + 11e46: 4805 ldr r0, [pc, #20] ; (11e5c ) + 11e48: bd10 pop {r4, pc} return ""; /*No extension if a '\' or '/' found*/ - 11e62: 4804 ldr r0, [pc, #16] ; (11e74 ) - 11e64: bd10 pop {r4, pc} - 11e66: 4803 ldr r0, [pc, #12] ; (11e74 ) - 11e68: bd10 pop {r4, pc} - 11e6a: 4802 ldr r0, [pc, #8] ; (11e74 ) - 11e6c: bd10 pop {r4, pc} - 11e6e: bf00 nop - 11e70: 0001b51f .word 0x0001b51f - 11e74: 00024f04 .word 0x00024f04 - -00011e78 : + 11e4a: 4804 ldr r0, [pc, #16] ; (11e5c ) + 11e4c: bd10 pop {r4, pc} + 11e4e: 4803 ldr r0, [pc, #12] ; (11e5c ) + 11e50: bd10 pop {r4, pc} + 11e52: 4802 ldr r0, [pc, #8] ; (11e5c ) + 11e54: bd10 pop {r4, pc} + 11e56: bf00 nop + 11e58: 0001b507 .word 0x0001b507 + 11e5c: 00024eec .word 0x00024eec + +00011e60 : * @param ll_p pointer to linked list * @param act pointer to a node which next node pointer should be set * @param next pointer to a node which should be the next node before 'act' */ static void node_set_next(lv_ll_t * ll_p, lv_ll_node_t * act, lv_ll_node_t * next) { - 11e78: b510 push {r4, lr} - 11e7a: b082 sub sp, #8 - 11e7c: 9201 str r2, [sp, #4] + 11e60: b510 push {r4, lr} + 11e62: b082 sub sp, #8 + 11e64: 9201 str r2, [sp, #4] if(act == NULL) return; /*Can't set the next node of `NULL`*/ - 11e7e: b181 cbz r1, 11ea2 - 11e80: 460c mov r4, r1 + 11e66: b181 cbz r1, 11e8a + 11e68: 460c mov r4, r1 uint32_t node_p_size = sizeof(lv_ll_node_t *); if(next) - 11e82: b182 cbz r2, 11ea6 + 11e6a: b182 cbz r2, 11e8e _lv_memcpy_small(act + LL_NEXT_P_OFFSET(ll_p), &next, node_p_size); - 11e84: 6803 ldr r3, [r0, #0] - 11e86: 3304 adds r3, #4 - 11e88: 18ca adds r2, r1, r3 - 11e8a: f89d 1004 ldrb.w r1, [sp, #4] - 11e8e: 54e1 strb r1, [r4, r3] - 11e90: f89d 3005 ldrb.w r3, [sp, #5] - 11e94: 7053 strb r3, [r2, #1] - 11e96: f89d 3006 ldrb.w r3, [sp, #6] - 11e9a: 7093 strb r3, [r2, #2] - 11e9c: f89d 3007 ldrb.w r3, [sp, #7] - 11ea0: 70d3 strb r3, [r2, #3] + 11e6c: 6803 ldr r3, [r0, #0] + 11e6e: 3304 adds r3, #4 + 11e70: 18ca adds r2, r1, r3 + 11e72: f89d 1004 ldrb.w r1, [sp, #4] + 11e76: 54e1 strb r1, [r4, r3] + 11e78: f89d 3005 ldrb.w r3, [sp, #5] + 11e7c: 7053 strb r3, [r2, #1] + 11e7e: f89d 3006 ldrb.w r3, [sp, #6] + 11e82: 7093 strb r3, [r2, #2] + 11e84: f89d 3007 ldrb.w r3, [sp, #7] + 11e88: 70d3 strb r3, [r2, #3] else _lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size); } - 11ea2: b002 add sp, #8 - 11ea4: bd10 pop {r4, pc} + 11e8a: b002 add sp, #8 + 11e8c: bd10 pop {r4, pc} _lv_memset_00(act + LL_NEXT_P_OFFSET(ll_p), node_p_size); - 11ea6: 6800 ldr r0, [r0, #0] - 11ea8: 3004 adds r0, #4 - 11eaa: 2104 movs r1, #4 - 11eac: 4420 add r0, r4 - 11eae: 4b01 ldr r3, [pc, #4] ; (11eb4 ) - 11eb0: 4798 blx r3 - 11eb2: e7f6 b.n 11ea2 - 11eb4: 00012b37 .word 0x00012b37 - -00011eb8 : -{ - 11eb8: b500 push {lr} - 11eba: b083 sub sp, #12 - 11ebc: 9201 str r2, [sp, #4] + 11e8e: 6800 ldr r0, [r0, #0] + 11e90: 3004 adds r0, #4 + 11e92: 2104 movs r1, #4 + 11e94: 4420 add r0, r4 + 11e96: 4b01 ldr r3, [pc, #4] ; (11e9c ) + 11e98: 4798 blx r3 + 11e9a: e7f6 b.n 11e8a + 11e9c: 00012b1f .word 0x00012b1f + +00011ea0 : +{ + 11ea0: b500 push {lr} + 11ea2: b083 sub sp, #12 + 11ea4: 9201 str r2, [sp, #4] if(act == NULL) return; /*Can't set the prev node of `NULL`*/ - 11ebe: b181 cbz r1, 11ee2 - 11ec0: 460a mov r2, r1 + 11ea6: b181 cbz r1, 11eca + 11ea8: 460a mov r2, r1 if(prev) - 11ec2: 9b01 ldr r3, [sp, #4] - 11ec4: b183 cbz r3, 11ee8 + 11eaa: 9b01 ldr r3, [sp, #4] + 11eac: b183 cbz r3, 11ed0 _lv_memcpy_small(act + LL_PREV_P_OFFSET(ll_p), &prev, node_p_size); - 11ec6: 6801 ldr r1, [r0, #0] - 11ec8: 1853 adds r3, r2, r1 - 11eca: f89d 0004 ldrb.w r0, [sp, #4] - 11ece: 5450 strb r0, [r2, r1] - 11ed0: f89d 2005 ldrb.w r2, [sp, #5] - 11ed4: 705a strb r2, [r3, #1] - 11ed6: f89d 2006 ldrb.w r2, [sp, #6] - 11eda: 709a strb r2, [r3, #2] - 11edc: f89d 2007 ldrb.w r2, [sp, #7] - 11ee0: 70da strb r2, [r3, #3] -} - 11ee2: b003 add sp, #12 - 11ee4: f85d fb04 ldr.w pc, [sp], #4 + 11eae: 6801 ldr r1, [r0, #0] + 11eb0: 1853 adds r3, r2, r1 + 11eb2: f89d 0004 ldrb.w r0, [sp, #4] + 11eb6: 5450 strb r0, [r2, r1] + 11eb8: f89d 2005 ldrb.w r2, [sp, #5] + 11ebc: 705a strb r2, [r3, #1] + 11ebe: f89d 2006 ldrb.w r2, [sp, #6] + 11ec2: 709a strb r2, [r3, #2] + 11ec4: f89d 2007 ldrb.w r2, [sp, #7] + 11ec8: 70da strb r2, [r3, #3] +} + 11eca: b003 add sp, #12 + 11ecc: f85d fb04 ldr.w pc, [sp], #4 _lv_memset_00(act + LL_PREV_P_OFFSET(ll_p), node_p_size); - 11ee8: 6800 ldr r0, [r0, #0] - 11eea: 2104 movs r1, #4 - 11eec: 4410 add r0, r2 - 11eee: 4b01 ldr r3, [pc, #4] ; (11ef4 ) - 11ef0: 4798 blx r3 - 11ef2: e7f6 b.n 11ee2 - 11ef4: 00012b37 .word 0x00012b37 - -00011ef8 <_lv_ll_init>: + 11ed0: 6800 ldr r0, [r0, #0] + 11ed2: 2104 movs r1, #4 + 11ed4: 4410 add r0, r2 + 11ed6: 4b01 ldr r3, [pc, #4] ; (11edc ) + 11ed8: 4798 blx r3 + 11eda: e7f6 b.n 11eca + 11edc: 00012b1f .word 0x00012b1f + +00011ee0 <_lv_ll_init>: ll_p->head = NULL; - 11ef8: 2300 movs r3, #0 - 11efa: 6043 str r3, [r0, #4] + 11ee0: 2300 movs r3, #0 + 11ee2: 6043 str r3, [r0, #4] ll_p->tail = NULL; - 11efc: 6083 str r3, [r0, #8] + 11ee4: 6083 str r3, [r0, #8] if(node_size & 0x3) { - 11efe: f011 0f03 tst.w r1, #3 + 11ee6: f011 0f03 tst.w r1, #3 node_size = node_size & (~0x3); - 11f02: bf1c itt ne - 11f04: f021 0103 bicne.w r1, r1, #3 + 11eea: bf1c itt ne + 11eec: f021 0103 bicne.w r1, r1, #3 node_size += 4; - 11f08: 3104 addne r1, #4 + 11ef0: 3104 addne r1, #4 ll_p->n_size = node_size; - 11f0a: 6001 str r1, [r0, #0] - 11f0c: 4770 bx lr + 11ef2: 6001 str r1, [r0, #0] + 11ef4: 4770 bx lr ... -00011f10 <_lv_ll_ins_head>: +00011ef8 <_lv_ll_ins_head>: { - 11f10: b538 push {r3, r4, r5, lr} - 11f12: 4604 mov r4, r0 + 11ef8: b538 push {r3, r4, r5, lr} + 11efa: 4604 mov r4, r0 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 11f14: 6800 ldr r0, [r0, #0] - 11f16: 3008 adds r0, #8 - 11f18: 4b0d ldr r3, [pc, #52] ; (11f50 <_lv_ll_ins_head+0x40>) - 11f1a: 4798 blx r3 + 11efc: 6800 ldr r0, [r0, #0] + 11efe: 3008 adds r0, #8 + 11f00: 4b0d ldr r3, [pc, #52] ; (11f38 <_lv_ll_ins_head+0x40>) + 11f02: 4798 blx r3 if(n_new != NULL) { - 11f1c: 4605 mov r5, r0 - 11f1e: b190 cbz r0, 11f46 <_lv_ll_ins_head+0x36> + 11f04: 4605 mov r5, r0 + 11f06: b190 cbz r0, 11f2e <_lv_ll_ins_head+0x36> node_set_prev(ll_p, n_new, NULL); /*No prev. before the new head*/ - 11f20: 2200 movs r2, #0 - 11f22: 4601 mov r1, r0 - 11f24: 4620 mov r0, r4 - 11f26: 4b0b ldr r3, [pc, #44] ; (11f54 <_lv_ll_ins_head+0x44>) - 11f28: 4798 blx r3 + 11f08: 2200 movs r2, #0 + 11f0a: 4601 mov r1, r0 + 11f0c: 4620 mov r0, r4 + 11f0e: 4b0b ldr r3, [pc, #44] ; (11f3c <_lv_ll_ins_head+0x44>) + 11f10: 4798 blx r3 node_set_next(ll_p, n_new, ll_p->head); /*After new comes the old head*/ - 11f2a: 6862 ldr r2, [r4, #4] - 11f2c: 4629 mov r1, r5 - 11f2e: 4620 mov r0, r4 - 11f30: 4b09 ldr r3, [pc, #36] ; (11f58 <_lv_ll_ins_head+0x48>) - 11f32: 4798 blx r3 + 11f12: 6862 ldr r2, [r4, #4] + 11f14: 4629 mov r1, r5 + 11f16: 4620 mov r0, r4 + 11f18: 4b09 ldr r3, [pc, #36] ; (11f40 <_lv_ll_ins_head+0x48>) + 11f1a: 4798 blx r3 if(ll_p->head != NULL) { /*If there is old head then before it goes the new*/ - 11f34: 6861 ldr r1, [r4, #4] - 11f36: b119 cbz r1, 11f40 <_lv_ll_ins_head+0x30> + 11f1c: 6861 ldr r1, [r4, #4] + 11f1e: b119 cbz r1, 11f28 <_lv_ll_ins_head+0x30> node_set_prev(ll_p, ll_p->head, n_new); - 11f38: 462a mov r2, r5 - 11f3a: 4620 mov r0, r4 - 11f3c: 4b05 ldr r3, [pc, #20] ; (11f54 <_lv_ll_ins_head+0x44>) - 11f3e: 4798 blx r3 + 11f20: 462a mov r2, r5 + 11f22: 4620 mov r0, r4 + 11f24: 4b05 ldr r3, [pc, #20] ; (11f3c <_lv_ll_ins_head+0x44>) + 11f26: 4798 blx r3 ll_p->head = n_new; /*Set the new head in the dsc.*/ - 11f40: 6065 str r5, [r4, #4] + 11f28: 6065 str r5, [r4, #4] if(ll_p->tail == NULL) { /*If there is no tail (1. node) set the tail too*/ - 11f42: 68a3 ldr r3, [r4, #8] - 11f44: b10b cbz r3, 11f4a <_lv_ll_ins_head+0x3a> + 11f2a: 68a3 ldr r3, [r4, #8] + 11f2c: b10b cbz r3, 11f32 <_lv_ll_ins_head+0x3a> } - 11f46: 4628 mov r0, r5 - 11f48: bd38 pop {r3, r4, r5, pc} + 11f2e: 4628 mov r0, r5 + 11f30: bd38 pop {r3, r4, r5, pc} ll_p->tail = n_new; - 11f4a: 60a5 str r5, [r4, #8] - 11f4c: e7fb b.n 11f46 <_lv_ll_ins_head+0x36> - 11f4e: bf00 nop - 11f50: 000123dd .word 0x000123dd - 11f54: 00011eb9 .word 0x00011eb9 - 11f58: 00011e79 .word 0x00011e79 + 11f32: 60a5 str r5, [r4, #8] + 11f34: e7fb b.n 11f2e <_lv_ll_ins_head+0x36> + 11f36: bf00 nop + 11f38: 000123c5 .word 0x000123c5 + 11f3c: 00011ea1 .word 0x00011ea1 + 11f40: 00011e61 .word 0x00011e61 -00011f5c <_lv_ll_ins_tail>: +00011f44 <_lv_ll_ins_tail>: { - 11f5c: b538 push {r3, r4, r5, lr} - 11f5e: 4604 mov r4, r0 + 11f44: b538 push {r3, r4, r5, lr} + 11f46: 4604 mov r4, r0 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 11f60: 6800 ldr r0, [r0, #0] - 11f62: 3008 adds r0, #8 - 11f64: 4b0d ldr r3, [pc, #52] ; (11f9c <_lv_ll_ins_tail+0x40>) - 11f66: 4798 blx r3 + 11f48: 6800 ldr r0, [r0, #0] + 11f4a: 3008 adds r0, #8 + 11f4c: 4b0d ldr r3, [pc, #52] ; (11f84 <_lv_ll_ins_tail+0x40>) + 11f4e: 4798 blx r3 if(n_new != NULL) { - 11f68: 4605 mov r5, r0 - 11f6a: b190 cbz r0, 11f92 <_lv_ll_ins_tail+0x36> + 11f50: 4605 mov r5, r0 + 11f52: b190 cbz r0, 11f7a <_lv_ll_ins_tail+0x36> node_set_next(ll_p, n_new, NULL); /*No next after the new tail*/ - 11f6c: 2200 movs r2, #0 - 11f6e: 4601 mov r1, r0 - 11f70: 4620 mov r0, r4 - 11f72: 4b0b ldr r3, [pc, #44] ; (11fa0 <_lv_ll_ins_tail+0x44>) - 11f74: 4798 blx r3 + 11f54: 2200 movs r2, #0 + 11f56: 4601 mov r1, r0 + 11f58: 4620 mov r0, r4 + 11f5a: 4b0b ldr r3, [pc, #44] ; (11f88 <_lv_ll_ins_tail+0x44>) + 11f5c: 4798 blx r3 node_set_prev(ll_p, n_new, ll_p->tail); /*The prev. before new is tho old tail*/ - 11f76: 68a2 ldr r2, [r4, #8] - 11f78: 4629 mov r1, r5 - 11f7a: 4620 mov r0, r4 - 11f7c: 4b09 ldr r3, [pc, #36] ; (11fa4 <_lv_ll_ins_tail+0x48>) - 11f7e: 4798 blx r3 + 11f5e: 68a2 ldr r2, [r4, #8] + 11f60: 4629 mov r1, r5 + 11f62: 4620 mov r0, r4 + 11f64: 4b09 ldr r3, [pc, #36] ; (11f8c <_lv_ll_ins_tail+0x48>) + 11f66: 4798 blx r3 if(ll_p->tail != NULL) { /*If there is old tail then the new comes after it*/ - 11f80: 68a1 ldr r1, [r4, #8] - 11f82: b119 cbz r1, 11f8c <_lv_ll_ins_tail+0x30> + 11f68: 68a1 ldr r1, [r4, #8] + 11f6a: b119 cbz r1, 11f74 <_lv_ll_ins_tail+0x30> node_set_next(ll_p, ll_p->tail, n_new); - 11f84: 462a mov r2, r5 - 11f86: 4620 mov r0, r4 - 11f88: 4b05 ldr r3, [pc, #20] ; (11fa0 <_lv_ll_ins_tail+0x44>) - 11f8a: 4798 blx r3 + 11f6c: 462a mov r2, r5 + 11f6e: 4620 mov r0, r4 + 11f70: 4b05 ldr r3, [pc, #20] ; (11f88 <_lv_ll_ins_tail+0x44>) + 11f72: 4798 blx r3 ll_p->tail = n_new; /*Set the new tail in the dsc.*/ - 11f8c: 60a5 str r5, [r4, #8] + 11f74: 60a5 str r5, [r4, #8] if(ll_p->head == NULL) { /*If there is no head (1. node) set the head too*/ - 11f8e: 6863 ldr r3, [r4, #4] - 11f90: b10b cbz r3, 11f96 <_lv_ll_ins_tail+0x3a> + 11f76: 6863 ldr r3, [r4, #4] + 11f78: b10b cbz r3, 11f7e <_lv_ll_ins_tail+0x3a> } - 11f92: 4628 mov r0, r5 - 11f94: bd38 pop {r3, r4, r5, pc} + 11f7a: 4628 mov r0, r5 + 11f7c: bd38 pop {r3, r4, r5, pc} ll_p->head = n_new; - 11f96: 6065 str r5, [r4, #4] - 11f98: e7fb b.n 11f92 <_lv_ll_ins_tail+0x36> - 11f9a: bf00 nop - 11f9c: 000123dd .word 0x000123dd - 11fa0: 00011e79 .word 0x00011e79 - 11fa4: 00011eb9 .word 0x00011eb9 - -00011fa8 <_lv_ll_get_head>: + 11f7e: 6065 str r5, [r4, #4] + 11f80: e7fb b.n 11f7a <_lv_ll_ins_tail+0x36> + 11f82: bf00 nop + 11f84: 000123c5 .word 0x000123c5 + 11f88: 00011e61 .word 0x00011e61 + 11f8c: 00011ea1 .word 0x00011ea1 + +00011f90 <_lv_ll_get_head>: if(ll_p != NULL) { - 11fa8: b108 cbz r0, 11fae <_lv_ll_get_head+0x6> + 11f90: b108 cbz r0, 11f96 <_lv_ll_get_head+0x6> head = ll_p->head; - 11faa: 6840 ldr r0, [r0, #4] - 11fac: 4770 bx lr + 11f92: 6840 ldr r0, [r0, #4] + 11f94: 4770 bx lr void * head = NULL; - 11fae: 2000 movs r0, #0 + 11f96: 2000 movs r0, #0 } - 11fb0: 4770 bx lr + 11f98: 4770 bx lr -00011fb2 <_lv_ll_get_tail>: +00011f9a <_lv_ll_get_tail>: if(ll_p != NULL) { - 11fb2: b108 cbz r0, 11fb8 <_lv_ll_get_tail+0x6> + 11f9a: b108 cbz r0, 11fa0 <_lv_ll_get_tail+0x6> tail = ll_p->tail; - 11fb4: 6880 ldr r0, [r0, #8] - 11fb6: 4770 bx lr + 11f9c: 6880 ldr r0, [r0, #8] + 11f9e: 4770 bx lr void * tail = NULL; - 11fb8: 2000 movs r0, #0 + 11fa0: 2000 movs r0, #0 } - 11fba: 4770 bx lr + 11fa2: 4770 bx lr -00011fbc <_lv_ll_get_next>: +00011fa4 <_lv_ll_get_next>: { - 11fbc: b082 sub sp, #8 + 11fa4: b082 sub sp, #8 void * next = NULL; - 11fbe: 2300 movs r3, #0 - 11fc0: 9301 str r3, [sp, #4] + 11fa6: 2300 movs r3, #0 + 11fa8: 9301 str r3, [sp, #4] if(ll_p != NULL) { - 11fc2: b170 cbz r0, 11fe2 <_lv_ll_get_next+0x26> + 11faa: b170 cbz r0, 11fca <_lv_ll_get_next+0x26> _lv_memcpy_small(&next, n_act_d + LL_NEXT_P_OFFSET(ll_p), sizeof(void *)); - 11fc4: 6803 ldr r3, [r0, #0] - 11fc6: 3304 adds r3, #4 - 11fc8: 18ca adds r2, r1, r3 - 11fca: 5ccb ldrb r3, [r1, r3] - 11fcc: f88d 3004 strb.w r3, [sp, #4] - 11fd0: 7853 ldrb r3, [r2, #1] - 11fd2: f88d 3005 strb.w r3, [sp, #5] - 11fd6: 7893 ldrb r3, [r2, #2] - 11fd8: f88d 3006 strb.w r3, [sp, #6] - 11fdc: 78d3 ldrb r3, [r2, #3] - 11fde: f88d 3007 strb.w r3, [sp, #7] -} - 11fe2: 9801 ldr r0, [sp, #4] - 11fe4: b002 add sp, #8 - 11fe6: 4770 bx lr - -00011fe8 <_lv_ll_get_prev>: -{ - 11fe8: b082 sub sp, #8 + 11fac: 6803 ldr r3, [r0, #0] + 11fae: 3304 adds r3, #4 + 11fb0: 18ca adds r2, r1, r3 + 11fb2: 5ccb ldrb r3, [r1, r3] + 11fb4: f88d 3004 strb.w r3, [sp, #4] + 11fb8: 7853 ldrb r3, [r2, #1] + 11fba: f88d 3005 strb.w r3, [sp, #5] + 11fbe: 7893 ldrb r3, [r2, #2] + 11fc0: f88d 3006 strb.w r3, [sp, #6] + 11fc4: 78d3 ldrb r3, [r2, #3] + 11fc6: f88d 3007 strb.w r3, [sp, #7] +} + 11fca: 9801 ldr r0, [sp, #4] + 11fcc: b002 add sp, #8 + 11fce: 4770 bx lr + +00011fd0 <_lv_ll_get_prev>: +{ + 11fd0: b082 sub sp, #8 void * prev = NULL; - 11fea: 2300 movs r3, #0 - 11fec: 9301 str r3, [sp, #4] + 11fd2: 2300 movs r3, #0 + 11fd4: 9301 str r3, [sp, #4] if(ll_p != NULL) { - 11fee: b168 cbz r0, 1200c <_lv_ll_get_prev+0x24> + 11fd6: b168 cbz r0, 11ff4 <_lv_ll_get_prev+0x24> _lv_memcpy_small(&prev, n_act_d + LL_PREV_P_OFFSET(ll_p), sizeof(void *)); - 11ff0: 6802 ldr r2, [r0, #0] - 11ff2: 188b adds r3, r1, r2 - 11ff4: 5c8a ldrb r2, [r1, r2] - 11ff6: f88d 2004 strb.w r2, [sp, #4] - 11ffa: 785a ldrb r2, [r3, #1] - 11ffc: f88d 2005 strb.w r2, [sp, #5] - 12000: 789a ldrb r2, [r3, #2] - 12002: f88d 2006 strb.w r2, [sp, #6] - 12006: 78db ldrb r3, [r3, #3] - 12008: f88d 3007 strb.w r3, [sp, #7] -} - 1200c: 9801 ldr r0, [sp, #4] - 1200e: b002 add sp, #8 - 12010: 4770 bx lr + 11fd8: 6802 ldr r2, [r0, #0] + 11fda: 188b adds r3, r1, r2 + 11fdc: 5c8a ldrb r2, [r1, r2] + 11fde: f88d 2004 strb.w r2, [sp, #4] + 11fe2: 785a ldrb r2, [r3, #1] + 11fe4: f88d 2005 strb.w r2, [sp, #5] + 11fe8: 789a ldrb r2, [r3, #2] + 11fea: f88d 2006 strb.w r2, [sp, #6] + 11fee: 78db ldrb r3, [r3, #3] + 11ff0: f88d 3007 strb.w r3, [sp, #7] +} + 11ff4: 9801 ldr r0, [sp, #4] + 11ff6: b002 add sp, #8 + 11ff8: 4770 bx lr ... -00012014 <_lv_ll_ins_prev>: +00011ffc <_lv_ll_ins_prev>: if(NULL == ll_p || NULL == n_act) return NULL; - 12014: b360 cbz r0, 12070 <_lv_ll_ins_prev+0x5c> + 11ffc: b360 cbz r0, 12058 <_lv_ll_ins_prev+0x5c> { - 12016: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 1201a: 4604 mov r4, r0 + 11ffe: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 12002: 4604 mov r4, r0 if(NULL == ll_p || NULL == n_act) return NULL; - 1201c: b351 cbz r1, 12074 <_lv_ll_ins_prev+0x60> - 1201e: 460d mov r5, r1 + 12004: b351 cbz r1, 1205c <_lv_ll_ins_prev+0x60> + 12006: 460d mov r5, r1 if(_lv_ll_get_head(ll_p) == n_act) { - 12020: 6843 ldr r3, [r0, #4] - 12022: 4299 cmp r1, r3 - 12024: d020 beq.n 12068 <_lv_ll_ins_prev+0x54> + 12008: 6843 ldr r3, [r0, #4] + 1200a: 4299 cmp r1, r3 + 1200c: d020 beq.n 12050 <_lv_ll_ins_prev+0x54> n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 12026: 6800 ldr r0, [r0, #0] - 12028: 3008 adds r0, #8 - 1202a: 4b15 ldr r3, [pc, #84] ; (12080 <_lv_ll_ins_prev+0x6c>) - 1202c: 4798 blx r3 + 1200e: 6800 ldr r0, [r0, #0] + 12010: 3008 adds r0, #8 + 12012: 4b15 ldr r3, [pc, #84] ; (12068 <_lv_ll_ins_prev+0x6c>) + 12014: 4798 blx r3 if(n_new == NULL) return NULL; - 1202e: 4606 mov r6, r0 - 12030: b318 cbz r0, 1207a <_lv_ll_ins_prev+0x66> + 12016: 4606 mov r6, r0 + 12018: b318 cbz r0, 12062 <_lv_ll_ins_prev+0x66> n_prev = _lv_ll_get_prev(ll_p, n_act); - 12032: 4629 mov r1, r5 - 12034: 4620 mov r0, r4 - 12036: 4b13 ldr r3, [pc, #76] ; (12084 <_lv_ll_ins_prev+0x70>) - 12038: 4798 blx r3 - 1203a: 4680 mov r8, r0 + 1201a: 4629 mov r1, r5 + 1201c: 4620 mov r0, r4 + 1201e: 4b13 ldr r3, [pc, #76] ; (1206c <_lv_ll_ins_prev+0x70>) + 12020: 4798 blx r3 + 12022: 4680 mov r8, r0 node_set_next(ll_p, n_prev, n_new); - 1203c: 4632 mov r2, r6 - 1203e: 4601 mov r1, r0 - 12040: 4620 mov r0, r4 - 12042: 4f11 ldr r7, [pc, #68] ; (12088 <_lv_ll_ins_prev+0x74>) - 12044: 47b8 blx r7 + 12024: 4632 mov r2, r6 + 12026: 4601 mov r1, r0 + 12028: 4620 mov r0, r4 + 1202a: 4f11 ldr r7, [pc, #68] ; (12070 <_lv_ll_ins_prev+0x74>) + 1202c: 47b8 blx r7 node_set_prev(ll_p, n_new, n_prev); - 12046: 4642 mov r2, r8 - 12048: 4631 mov r1, r6 - 1204a: 4620 mov r0, r4 - 1204c: f8df 8040 ldr.w r8, [pc, #64] ; 12090 <_lv_ll_ins_prev+0x7c> - 12050: 47c0 blx r8 + 1202e: 4642 mov r2, r8 + 12030: 4631 mov r1, r6 + 12032: 4620 mov r0, r4 + 12034: f8df 8040 ldr.w r8, [pc, #64] ; 12078 <_lv_ll_ins_prev+0x7c> + 12038: 47c0 blx r8 node_set_prev(ll_p, n_act, n_new); - 12052: 4632 mov r2, r6 - 12054: 4629 mov r1, r5 - 12056: 4620 mov r0, r4 - 12058: 47c0 blx r8 + 1203a: 4632 mov r2, r6 + 1203c: 4629 mov r1, r5 + 1203e: 4620 mov r0, r4 + 12040: 47c0 blx r8 node_set_next(ll_p, n_new, n_act); - 1205a: 462a mov r2, r5 - 1205c: 4631 mov r1, r6 - 1205e: 4620 mov r0, r4 - 12060: 47b8 blx r7 + 12042: 462a mov r2, r5 + 12044: 4631 mov r1, r6 + 12046: 4620 mov r0, r4 + 12048: 47b8 blx r7 n_new = lv_mem_alloc(ll_p->n_size + LL_NODE_META_SIZE); - 12062: 4630 mov r0, r6 - 12064: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1204a: 4630 mov r0, r6 + 1204c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} n_new = _lv_ll_ins_head(ll_p); - 12068: 4b08 ldr r3, [pc, #32] ; (1208c <_lv_ll_ins_prev+0x78>) - 1206a: 4798 blx r3 - 1206c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12050: 4b08 ldr r3, [pc, #32] ; (12074 <_lv_ll_ins_prev+0x78>) + 12052: 4798 blx r3 + 12054: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} if(NULL == ll_p || NULL == n_act) return NULL; - 12070: 2000 movs r0, #0 - 12072: 4770 bx lr - 12074: 4608 mov r0, r1 - 12076: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} -} - 1207a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 1207e: bf00 nop - 12080: 000123dd .word 0x000123dd - 12084: 00011fe9 .word 0x00011fe9 - 12088: 00011e79 .word 0x00011e79 - 1208c: 00011f11 .word 0x00011f11 - 12090: 00011eb9 .word 0x00011eb9 - -00012094 <_lv_ll_remove>: -{ - 12094: b570 push {r4, r5, r6, lr} - 12096: 460d mov r5, r1 + 12058: 2000 movs r0, #0 + 1205a: 4770 bx lr + 1205c: 4608 mov r0, r1 + 1205e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} +} + 12062: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12066: bf00 nop + 12068: 000123c5 .word 0x000123c5 + 1206c: 00011fd1 .word 0x00011fd1 + 12070: 00011e61 .word 0x00011e61 + 12074: 00011ef9 .word 0x00011ef9 + 12078: 00011ea1 .word 0x00011ea1 + +0001207c <_lv_ll_remove>: +{ + 1207c: b570 push {r4, r5, r6, lr} + 1207e: 460d mov r5, r1 if(ll_p != NULL) { - 12098: 4604 mov r4, r0 - 1209a: b350 cbz r0, 120f2 <_lv_ll_remove+0x5e> + 12080: 4604 mov r4, r0 + 12082: b350 cbz r0, 120da <_lv_ll_remove+0x5e> if(_lv_ll_get_head(ll_p) == node_p) { - 1209c: 6843 ldr r3, [r0, #4] - 1209e: 4299 cmp r1, r3 - 120a0: d029 beq.n 120f6 <_lv_ll_remove+0x62> + 12084: 6843 ldr r3, [r0, #4] + 12086: 4299 cmp r1, r3 + 12088: d029 beq.n 120de <_lv_ll_remove+0x62> else if(_lv_ll_get_tail(ll_p) == node_p) { - 120a2: 6883 ldr r3, [r0, #8] - 120a4: 4299 cmp r1, r3 - 120a6: d017 beq.n 120d8 <_lv_ll_remove+0x44> + 1208a: 6883 ldr r3, [r0, #8] + 1208c: 4299 cmp r1, r3 + 1208e: d017 beq.n 120c0 <_lv_ll_remove+0x44> lv_ll_node_t * n_prev = _lv_ll_get_prev(ll_p, node_p); - 120a8: 4629 mov r1, r5 - 120aa: 4620 mov r0, r4 - 120ac: 4b18 ldr r3, [pc, #96] ; (12110 <_lv_ll_remove+0x7c>) - 120ae: 4798 blx r3 - 120b0: 4606 mov r6, r0 + 12090: 4629 mov r1, r5 + 12092: 4620 mov r0, r4 + 12094: 4b18 ldr r3, [pc, #96] ; (120f8 <_lv_ll_remove+0x7c>) + 12096: 4798 blx r3 + 12098: 4606 mov r6, r0 lv_ll_node_t * n_next = _lv_ll_get_next(ll_p, node_p); - 120b2: 4629 mov r1, r5 - 120b4: 4620 mov r0, r4 - 120b6: 4b17 ldr r3, [pc, #92] ; (12114 <_lv_ll_remove+0x80>) - 120b8: 4798 blx r3 - 120ba: 4605 mov r5, r0 + 1209a: 4629 mov r1, r5 + 1209c: 4620 mov r0, r4 + 1209e: 4b17 ldr r3, [pc, #92] ; (120fc <_lv_ll_remove+0x80>) + 120a0: 4798 blx r3 + 120a2: 4605 mov r5, r0 node_set_next(ll_p, n_prev, n_next); - 120bc: 4602 mov r2, r0 - 120be: 4631 mov r1, r6 - 120c0: 4620 mov r0, r4 - 120c2: 4b15 ldr r3, [pc, #84] ; (12118 <_lv_ll_remove+0x84>) - 120c4: 4798 blx r3 + 120a4: 4602 mov r2, r0 + 120a6: 4631 mov r1, r6 + 120a8: 4620 mov r0, r4 + 120aa: 4b15 ldr r3, [pc, #84] ; (12100 <_lv_ll_remove+0x84>) + 120ac: 4798 blx r3 node_set_prev(ll_p, n_next, n_prev); - 120c6: 4632 mov r2, r6 - 120c8: 4629 mov r1, r5 - 120ca: 4620 mov r0, r4 - 120cc: 4b13 ldr r3, [pc, #76] ; (1211c <_lv_ll_remove+0x88>) - 120ce: 4798 blx r3 + 120ae: 4632 mov r2, r6 + 120b0: 4629 mov r1, r5 + 120b2: 4620 mov r0, r4 + 120b4: 4b13 ldr r3, [pc, #76] ; (12104 <_lv_ll_remove+0x88>) + 120b6: 4798 blx r3 } - 120d0: bd70 pop {r4, r5, r6, pc} + 120b8: bd70 pop {r4, r5, r6, pc} ll_p->tail = NULL; - 120d2: 2300 movs r3, #0 - 120d4: 60a3 str r3, [r4, #8] - 120d6: bd70 pop {r4, r5, r6, pc} + 120ba: 2300 movs r3, #0 + 120bc: 60a3 str r3, [r4, #8] + 120be: bd70 pop {r4, r5, r6, pc} ll_p->tail = _lv_ll_get_prev(ll_p, node_p); - 120d8: 4b0d ldr r3, [pc, #52] ; (12110 <_lv_ll_remove+0x7c>) - 120da: 4798 blx r3 - 120dc: 60a0 str r0, [r4, #8] + 120c0: 4b0d ldr r3, [pc, #52] ; (120f8 <_lv_ll_remove+0x7c>) + 120c2: 4798 blx r3 + 120c4: 60a0 str r0, [r4, #8] if(ll_p->tail == NULL) { - 120de: b128 cbz r0, 120ec <_lv_ll_remove+0x58> + 120c6: b128 cbz r0, 120d4 <_lv_ll_remove+0x58> node_set_next(ll_p, ll_p->tail, NULL); - 120e0: 2200 movs r2, #0 - 120e2: 4601 mov r1, r0 - 120e4: 4620 mov r0, r4 - 120e6: 4b0c ldr r3, [pc, #48] ; (12118 <_lv_ll_remove+0x84>) - 120e8: 4798 blx r3 - 120ea: bd70 pop {r4, r5, r6, pc} + 120c8: 2200 movs r2, #0 + 120ca: 4601 mov r1, r0 + 120cc: 4620 mov r0, r4 + 120ce: 4b0c ldr r3, [pc, #48] ; (12100 <_lv_ll_remove+0x84>) + 120d0: 4798 blx r3 + 120d2: bd70 pop {r4, r5, r6, pc} ll_p->head = NULL; - 120ec: 2300 movs r3, #0 - 120ee: 6063 str r3, [r4, #4] - 120f0: bd70 pop {r4, r5, r6, pc} + 120d4: 2300 movs r3, #0 + 120d6: 6063 str r3, [r4, #4] + 120d8: bd70 pop {r4, r5, r6, pc} if(_lv_ll_get_head(ll_p) == node_p) { - 120f2: 2900 cmp r1, #0 - 120f4: d1d8 bne.n 120a8 <_lv_ll_remove+0x14> + 120da: 2900 cmp r1, #0 + 120dc: d1d8 bne.n 12090 <_lv_ll_remove+0x14> ll_p->head = _lv_ll_get_next(ll_p, node_p); - 120f6: 4629 mov r1, r5 - 120f8: 4620 mov r0, r4 - 120fa: 4b06 ldr r3, [pc, #24] ; (12114 <_lv_ll_remove+0x80>) - 120fc: 4798 blx r3 - 120fe: 6060 str r0, [r4, #4] + 120de: 4629 mov r1, r5 + 120e0: 4620 mov r0, r4 + 120e2: 4b06 ldr r3, [pc, #24] ; (120fc <_lv_ll_remove+0x80>) + 120e4: 4798 blx r3 + 120e6: 6060 str r0, [r4, #4] if(ll_p->head == NULL) { - 12100: 2800 cmp r0, #0 - 12102: d0e6 beq.n 120d2 <_lv_ll_remove+0x3e> + 120e8: 2800 cmp r0, #0 + 120ea: d0e6 beq.n 120ba <_lv_ll_remove+0x3e> node_set_prev(ll_p, ll_p->head, NULL); - 12104: 2200 movs r2, #0 - 12106: 4601 mov r1, r0 - 12108: 4620 mov r0, r4 - 1210a: 4b04 ldr r3, [pc, #16] ; (1211c <_lv_ll_remove+0x88>) - 1210c: 4798 blx r3 - 1210e: bd70 pop {r4, r5, r6, pc} - 12110: 00011fe9 .word 0x00011fe9 - 12114: 00011fbd .word 0x00011fbd - 12118: 00011e79 .word 0x00011e79 - 1211c: 00011eb9 .word 0x00011eb9 - -00012120 <_lv_ll_chg_list>: -{ - 12120: b570 push {r4, r5, r6, lr} - 12122: 460c mov r4, r1 - 12124: 4615 mov r5, r2 - 12126: 461e mov r6, r3 + 120ec: 2200 movs r2, #0 + 120ee: 4601 mov r1, r0 + 120f0: 4620 mov r0, r4 + 120f2: 4b04 ldr r3, [pc, #16] ; (12104 <_lv_ll_remove+0x88>) + 120f4: 4798 blx r3 + 120f6: bd70 pop {r4, r5, r6, pc} + 120f8: 00011fd1 .word 0x00011fd1 + 120fc: 00011fa5 .word 0x00011fa5 + 12100: 00011e61 .word 0x00011e61 + 12104: 00011ea1 .word 0x00011ea1 + +00012108 <_lv_ll_chg_list>: +{ + 12108: b570 push {r4, r5, r6, lr} + 1210a: 460c mov r4, r1 + 1210c: 4615 mov r5, r2 + 1210e: 461e mov r6, r3 _lv_ll_remove(ll_ori_p, node); - 12128: 4611 mov r1, r2 - 1212a: 4b17 ldr r3, [pc, #92] ; (12188 <_lv_ll_chg_list+0x68>) - 1212c: 4798 blx r3 + 12110: 4611 mov r1, r2 + 12112: 4b17 ldr r3, [pc, #92] ; (12170 <_lv_ll_chg_list+0x68>) + 12114: 4798 blx r3 if(head) { - 1212e: b1ae cbz r6, 1215c <_lv_ll_chg_list+0x3c> + 12116: b1ae cbz r6, 12144 <_lv_ll_chg_list+0x3c> node_set_prev(ll_new_p, node, NULL); - 12130: 2200 movs r2, #0 - 12132: 4629 mov r1, r5 - 12134: 4620 mov r0, r4 - 12136: 4b15 ldr r3, [pc, #84] ; (1218c <_lv_ll_chg_list+0x6c>) - 12138: 4798 blx r3 + 12118: 2200 movs r2, #0 + 1211a: 4629 mov r1, r5 + 1211c: 4620 mov r0, r4 + 1211e: 4b15 ldr r3, [pc, #84] ; (12174 <_lv_ll_chg_list+0x6c>) + 12120: 4798 blx r3 node_set_next(ll_new_p, node, ll_new_p->head); - 1213a: 6862 ldr r2, [r4, #4] - 1213c: 4629 mov r1, r5 - 1213e: 4620 mov r0, r4 - 12140: 4b13 ldr r3, [pc, #76] ; (12190 <_lv_ll_chg_list+0x70>) - 12142: 4798 blx r3 + 12122: 6862 ldr r2, [r4, #4] + 12124: 4629 mov r1, r5 + 12126: 4620 mov r0, r4 + 12128: 4b13 ldr r3, [pc, #76] ; (12178 <_lv_ll_chg_list+0x70>) + 1212a: 4798 blx r3 if(ll_new_p->head != NULL) { /*If there is old head then before it goes the new*/ - 12144: 6861 ldr r1, [r4, #4] - 12146: b119 cbz r1, 12150 <_lv_ll_chg_list+0x30> + 1212c: 6861 ldr r1, [r4, #4] + 1212e: b119 cbz r1, 12138 <_lv_ll_chg_list+0x30> node_set_prev(ll_new_p, ll_new_p->head, node); - 12148: 462a mov r2, r5 - 1214a: 4620 mov r0, r4 - 1214c: 4b0f ldr r3, [pc, #60] ; (1218c <_lv_ll_chg_list+0x6c>) - 1214e: 4798 blx r3 + 12130: 462a mov r2, r5 + 12132: 4620 mov r0, r4 + 12134: 4b0f ldr r3, [pc, #60] ; (12174 <_lv_ll_chg_list+0x6c>) + 12136: 4798 blx r3 ll_new_p->head = node; /*Set the new head in the dsc.*/ - 12150: 6065 str r5, [r4, #4] + 12138: 6065 str r5, [r4, #4] if(ll_new_p->tail == NULL) { /*If there is no tail (first node) set the tail too*/ - 12152: 68a3 ldr r3, [r4, #8] - 12154: b103 cbz r3, 12158 <_lv_ll_chg_list+0x38> - 12156: bd70 pop {r4, r5, r6, pc} + 1213a: 68a3 ldr r3, [r4, #8] + 1213c: b103 cbz r3, 12140 <_lv_ll_chg_list+0x38> + 1213e: bd70 pop {r4, r5, r6, pc} ll_new_p->tail = node; - 12158: 60a5 str r5, [r4, #8] - 1215a: bd70 pop {r4, r5, r6, pc} + 12140: 60a5 str r5, [r4, #8] + 12142: bd70 pop {r4, r5, r6, pc} node_set_prev(ll_new_p, node, ll_new_p->tail); - 1215c: 68a2 ldr r2, [r4, #8] - 1215e: 4629 mov r1, r5 - 12160: 4620 mov r0, r4 - 12162: 4b0a ldr r3, [pc, #40] ; (1218c <_lv_ll_chg_list+0x6c>) - 12164: 4798 blx r3 + 12144: 68a2 ldr r2, [r4, #8] + 12146: 4629 mov r1, r5 + 12148: 4620 mov r0, r4 + 1214a: 4b0a ldr r3, [pc, #40] ; (12174 <_lv_ll_chg_list+0x6c>) + 1214c: 4798 blx r3 node_set_next(ll_new_p, node, NULL); - 12166: 2200 movs r2, #0 - 12168: 4629 mov r1, r5 - 1216a: 4620 mov r0, r4 - 1216c: 4b08 ldr r3, [pc, #32] ; (12190 <_lv_ll_chg_list+0x70>) - 1216e: 4798 blx r3 + 1214e: 2200 movs r2, #0 + 12150: 4629 mov r1, r5 + 12152: 4620 mov r0, r4 + 12154: 4b08 ldr r3, [pc, #32] ; (12178 <_lv_ll_chg_list+0x70>) + 12156: 4798 blx r3 if(ll_new_p->tail != NULL) { /*If there is old tail then after it goes the new*/ - 12170: 68a1 ldr r1, [r4, #8] - 12172: b119 cbz r1, 1217c <_lv_ll_chg_list+0x5c> + 12158: 68a1 ldr r1, [r4, #8] + 1215a: b119 cbz r1, 12164 <_lv_ll_chg_list+0x5c> node_set_next(ll_new_p, ll_new_p->tail, node); - 12174: 462a mov r2, r5 - 12176: 4620 mov r0, r4 - 12178: 4b05 ldr r3, [pc, #20] ; (12190 <_lv_ll_chg_list+0x70>) - 1217a: 4798 blx r3 + 1215c: 462a mov r2, r5 + 1215e: 4620 mov r0, r4 + 12160: 4b05 ldr r3, [pc, #20] ; (12178 <_lv_ll_chg_list+0x70>) + 12162: 4798 blx r3 ll_new_p->tail = node; /*Set the new tail in the dsc.*/ - 1217c: 60a5 str r5, [r4, #8] + 12164: 60a5 str r5, [r4, #8] if(ll_new_p->head == NULL) { /*If there is no head (first node) set the head too*/ - 1217e: 6863 ldr r3, [r4, #4] - 12180: 2b00 cmp r3, #0 - 12182: d1e8 bne.n 12156 <_lv_ll_chg_list+0x36> + 12166: 6863 ldr r3, [r4, #4] + 12168: 2b00 cmp r3, #0 + 1216a: d1e8 bne.n 1213e <_lv_ll_chg_list+0x36> ll_new_p->head = node; - 12184: 6065 str r5, [r4, #4] + 1216c: 6065 str r5, [r4, #4] } - 12186: e7e6 b.n 12156 <_lv_ll_chg_list+0x36> - 12188: 00012095 .word 0x00012095 - 1218c: 00011eb9 .word 0x00011eb9 - 12190: 00011e79 .word 0x00011e79 + 1216e: e7e6 b.n 1213e <_lv_ll_chg_list+0x36> + 12170: 0001207d .word 0x0001207d + 12174: 00011ea1 .word 0x00011ea1 + 12178: 00011e61 .word 0x00011e61 -00012194 <_lv_ll_move_before>: +0001217c <_lv_ll_move_before>: if(n_act == n_after) return; /*Can't move before itself*/ - 12194: 4291 cmp r1, r2 - 12196: d04c beq.n 12232 <_lv_ll_move_before+0x9e> + 1217c: 4291 cmp r1, r2 + 1217e: d04c beq.n 1221a <_lv_ll_move_before+0x9e> { - 12198: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 1219c: 4617 mov r7, r2 - 1219e: 460c mov r4, r1 - 121a0: 4605 mov r5, r0 + 12180: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 12184: 4617 mov r7, r2 + 12186: 460c mov r4, r1 + 12188: 4605 mov r5, r0 if(n_after != NULL) - 121a2: b312 cbz r2, 121ea <_lv_ll_move_before+0x56> + 1218a: b312 cbz r2, 121d2 <_lv_ll_move_before+0x56> n_before = _lv_ll_get_prev(ll_p, n_after); - 121a4: 4611 mov r1, r2 - 121a6: 4b23 ldr r3, [pc, #140] ; (12234 <_lv_ll_move_before+0xa0>) - 121a8: 4798 blx r3 - 121aa: 4606 mov r6, r0 + 1218c: 4611 mov r1, r2 + 1218e: 4b23 ldr r3, [pc, #140] ; (1221c <_lv_ll_move_before+0xa0>) + 12190: 4798 blx r3 + 12192: 4606 mov r6, r0 if(n_act == n_before) return; /*Already before `n_after`*/ - 121ac: 4284 cmp r4, r0 - 121ae: d01a beq.n 121e6 <_lv_ll_move_before+0x52> + 12194: 4284 cmp r4, r0 + 12196: d01a beq.n 121ce <_lv_ll_move_before+0x52> _lv_ll_remove(ll_p, n_act); - 121b0: 4621 mov r1, r4 - 121b2: 4628 mov r0, r5 - 121b4: 4b20 ldr r3, [pc, #128] ; (12238 <_lv_ll_move_before+0xa4>) - 121b6: 4798 blx r3 + 12198: 4621 mov r1, r4 + 1219a: 4628 mov r0, r5 + 1219c: 4b20 ldr r3, [pc, #128] ; (12220 <_lv_ll_move_before+0xa4>) + 1219e: 4798 blx r3 node_set_next(ll_p, n_before, n_act); - 121b8: 4622 mov r2, r4 - 121ba: 4631 mov r1, r6 - 121bc: 4628 mov r0, r5 - 121be: f8df 807c ldr.w r8, [pc, #124] ; 1223c <_lv_ll_move_before+0xa8> - 121c2: 47c0 blx r8 + 121a0: 4622 mov r2, r4 + 121a2: 4631 mov r1, r6 + 121a4: 4628 mov r0, r5 + 121a6: f8df 807c ldr.w r8, [pc, #124] ; 12224 <_lv_ll_move_before+0xa8> + 121aa: 47c0 blx r8 node_set_prev(ll_p, n_act, n_before); - 121c4: 4632 mov r2, r6 - 121c6: 4621 mov r1, r4 - 121c8: 4628 mov r0, r5 - 121ca: f8df 9074 ldr.w r9, [pc, #116] ; 12240 <_lv_ll_move_before+0xac> - 121ce: 47c8 blx r9 + 121ac: 4632 mov r2, r6 + 121ae: 4621 mov r1, r4 + 121b0: 4628 mov r0, r5 + 121b2: f8df 9074 ldr.w r9, [pc, #116] ; 12228 <_lv_ll_move_before+0xac> + 121b6: 47c8 blx r9 node_set_prev(ll_p, n_after, n_act); - 121d0: 4622 mov r2, r4 - 121d2: 4639 mov r1, r7 - 121d4: 4628 mov r0, r5 - 121d6: 47c8 blx r9 + 121b8: 4622 mov r2, r4 + 121ba: 4639 mov r1, r7 + 121bc: 4628 mov r0, r5 + 121be: 47c8 blx r9 node_set_next(ll_p, n_act, n_after); - 121d8: 463a mov r2, r7 - 121da: 4621 mov r1, r4 - 121dc: 4628 mov r0, r5 - 121de: 47c0 blx r8 + 121c0: 463a mov r2, r7 + 121c2: 4621 mov r1, r4 + 121c4: 4628 mov r0, r5 + 121c6: 47c0 blx r8 if(n_before == NULL) ll_p->head = n_act; - 121e0: b306 cbz r6, 12224 <_lv_ll_move_before+0x90> - 121e2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 121e6: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 121c8: b306 cbz r6, 1220c <_lv_ll_move_before+0x90> + 121ca: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 121ce: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} if(ll_p != NULL) { - 121ea: b1f0 cbz r0, 1222a <_lv_ll_move_before+0x96> + 121d2: b1f0 cbz r0, 12212 <_lv_ll_move_before+0x96> tail = ll_p->tail; - 121ec: 6886 ldr r6, [r0, #8] + 121d4: 6886 ldr r6, [r0, #8] if(n_act == n_before) return; /*Already before `n_after`*/ - 121ee: 42b4 cmp r4, r6 - 121f0: d01d beq.n 1222e <_lv_ll_move_before+0x9a> + 121d6: 42b4 cmp r4, r6 + 121d8: d01d beq.n 12216 <_lv_ll_move_before+0x9a> _lv_ll_remove(ll_p, n_act); - 121f2: 4621 mov r1, r4 - 121f4: 4628 mov r0, r5 - 121f6: 4b10 ldr r3, [pc, #64] ; (12238 <_lv_ll_move_before+0xa4>) - 121f8: 4798 blx r3 + 121da: 4621 mov r1, r4 + 121dc: 4628 mov r0, r5 + 121de: 4b10 ldr r3, [pc, #64] ; (12220 <_lv_ll_move_before+0xa4>) + 121e0: 4798 blx r3 node_set_next(ll_p, n_before, n_act); - 121fa: 4622 mov r2, r4 - 121fc: 4631 mov r1, r6 - 121fe: 4628 mov r0, r5 - 12200: 4f0e ldr r7, [pc, #56] ; (1223c <_lv_ll_move_before+0xa8>) - 12202: 47b8 blx r7 + 121e2: 4622 mov r2, r4 + 121e4: 4631 mov r1, r6 + 121e6: 4628 mov r0, r5 + 121e8: 4f0e ldr r7, [pc, #56] ; (12224 <_lv_ll_move_before+0xa8>) + 121ea: 47b8 blx r7 node_set_prev(ll_p, n_act, n_before); - 12204: 4632 mov r2, r6 - 12206: 4621 mov r1, r4 - 12208: 4628 mov r0, r5 - 1220a: f8df 8034 ldr.w r8, [pc, #52] ; 12240 <_lv_ll_move_before+0xac> - 1220e: 47c0 blx r8 + 121ec: 4632 mov r2, r6 + 121ee: 4621 mov r1, r4 + 121f0: 4628 mov r0, r5 + 121f2: f8df 8034 ldr.w r8, [pc, #52] ; 12228 <_lv_ll_move_before+0xac> + 121f6: 47c0 blx r8 node_set_prev(ll_p, n_after, n_act); - 12210: 4622 mov r2, r4 - 12212: 2100 movs r1, #0 - 12214: 4628 mov r0, r5 - 12216: 47c0 blx r8 + 121f8: 4622 mov r2, r4 + 121fa: 2100 movs r1, #0 + 121fc: 4628 mov r0, r5 + 121fe: 47c0 blx r8 node_set_next(ll_p, n_act, n_after); - 12218: 2200 movs r2, #0 - 1221a: 4621 mov r1, r4 - 1221c: 4628 mov r0, r5 - 1221e: 47b8 blx r7 + 12200: 2200 movs r2, #0 + 12202: 4621 mov r1, r4 + 12204: 4628 mov r0, r5 + 12206: 47b8 blx r7 if(n_after == NULL) ll_p->tail = n_act; - 12220: 60ac str r4, [r5, #8] - 12222: e7dd b.n 121e0 <_lv_ll_move_before+0x4c> + 12208: 60ac str r4, [r5, #8] + 1220a: e7dd b.n 121c8 <_lv_ll_move_before+0x4c> if(n_before == NULL) ll_p->head = n_act; - 12224: 606c str r4, [r5, #4] - 12226: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 1220c: 606c str r4, [r5, #4] + 1220e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} void * tail = NULL; - 1222a: 4616 mov r6, r2 - 1222c: e7df b.n 121ee <_lv_ll_move_before+0x5a> - 1222e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 12232: 4770 bx lr - 12234: 00011fe9 .word 0x00011fe9 - 12238: 00012095 .word 0x00012095 - 1223c: 00011e79 .word 0x00011e79 - 12240: 00011eb9 .word 0x00011eb9 - -00012244 <_lv_ll_is_empty>: + 12212: 4616 mov r6, r2 + 12214: e7df b.n 121d6 <_lv_ll_move_before+0x5a> + 12216: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 1221a: 4770 bx lr + 1221c: 00011fd1 .word 0x00011fd1 + 12220: 0001207d .word 0x0001207d + 12224: 00011e61 .word 0x00011e61 + 12228: 00011ea1 .word 0x00011ea1 + +0001222c <_lv_ll_is_empty>: if(ll_p == NULL) return true; - 12244: b140 cbz r0, 12258 <_lv_ll_is_empty+0x14> + 1222c: b140 cbz r0, 12240 <_lv_ll_is_empty+0x14> if(ll_p->head == NULL && ll_p->tail == NULL) return true; - 12246: 6842 ldr r2, [r0, #4] - 12248: b10a cbz r2, 1224e <_lv_ll_is_empty+0xa> + 1222e: 6842 ldr r2, [r0, #4] + 12230: b10a cbz r2, 12236 <_lv_ll_is_empty+0xa> return false; - 1224a: 2000 movs r0, #0 + 12232: 2000 movs r0, #0 } - 1224c: 4770 bx lr + 12234: 4770 bx lr if(ll_p->head == NULL && ll_p->tail == NULL) return true; - 1224e: 6880 ldr r0, [r0, #8] - 12250: fab0 f080 clz r0, r0 - 12254: 0940 lsrs r0, r0, #5 - 12256: 4770 bx lr + 12236: 6880 ldr r0, [r0, #8] + 12238: fab0 f080 clz r0, r0 + 1223c: 0940 lsrs r0, r0, #5 + 1223e: 4770 bx lr if(ll_p == NULL) return true; - 12258: 2001 movs r0, #1 - 1225a: 4770 bx lr + 12240: 2001 movs r0, #1 + 12242: 4770 bx lr -0001225c <_lv_log_add>: +00012244 <_lv_log_add>: * @param func name of the function when the log added * @param format printf-like format string * @param ... parameters for `format` */ void _lv_log_add(lv_log_level_t level, const char * file, int line, const char * func, const char * format, ...) { - 1225c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 12260: b0c4 sub sp, #272 ; 0x110 + 12244: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 12248: b0c4 sub sp, #272 ; 0x110 if(level >= _LV_LOG_LEVEL_NUM) return; /*Invalid level*/ if(level >= LV_LOG_LEVEL) { - 12262: 1e44 subs r4, r0, #1 - 12264: b2e4 uxtb r4, r4 - 12266: 2c04 cmp r4, #4 - 12268: d815 bhi.n 12296 <_lv_log_add+0x3a> - 1226a: 461f mov r7, r3 - 1226c: 4616 mov r6, r2 - 1226e: 460d mov r5, r1 - 12270: 4680 mov r8, r0 + 1224a: 1e44 subs r4, r0, #1 + 1224c: b2e4 uxtb r4, r4 + 1224e: 2c04 cmp r4, #4 + 12250: d815 bhi.n 1227e <_lv_log_add+0x3a> + 12252: 461f mov r7, r3 + 12254: 4616 mov r6, r2 + 12256: 460d mov r5, r1 + 12258: 4680 mov r8, r0 va_list args; va_start(args, format); - 12272: ab4b add r3, sp, #300 ; 0x12c - 12274: 9303 str r3, [sp, #12] + 1225a: ab4b add r3, sp, #300 ; 0x12c + 1225c: 9303 str r3, [sp, #12] char buf[256]; lv_vsnprintf(buf, sizeof(buf), format, args); - 12276: 9a4a ldr r2, [sp, #296] ; 0x128 - 12278: f44f 7180 mov.w r1, #256 ; 0x100 - 1227c: a804 add r0, sp, #16 - 1227e: 4c07 ldr r4, [pc, #28] ; (1229c <_lv_log_add+0x40>) - 12280: 47a0 blx r4 + 1225e: 9a4a ldr r2, [sp, #296] ; 0x128 + 12260: f44f 7180 mov.w r1, #256 ; 0x100 + 12264: a804 add r0, sp, #16 + 12266: 4c07 ldr r4, [pc, #28] ; (12284 <_lv_log_add+0x40>) + 12268: 47a0 blx r4 } static const char * lvl_prefix[] = {"Trace", "Info", "Warn", "Error", "User"}; printf("%s: %s \t(%s #%d %s())\n", lvl_prefix[level], buf, &file[p], line, func); #else if(custom_print_cb) custom_print_cb(level, file, line, func, buf); - 12282: 4b07 ldr r3, [pc, #28] ; (122a0 <_lv_log_add+0x44>) - 12284: 681c ldr r4, [r3, #0] - 12286: b134 cbz r4, 12296 <_lv_log_add+0x3a> - 12288: ab04 add r3, sp, #16 - 1228a: 9300 str r3, [sp, #0] - 1228c: 463b mov r3, r7 - 1228e: 4632 mov r2, r6 - 12290: 4629 mov r1, r5 - 12292: 4640 mov r0, r8 - 12294: 47a0 blx r4 + 1226a: 4b07 ldr r3, [pc, #28] ; (12288 <_lv_log_add+0x44>) + 1226c: 681c ldr r4, [r3, #0] + 1226e: b134 cbz r4, 1227e <_lv_log_add+0x3a> + 12270: ab04 add r3, sp, #16 + 12272: 9300 str r3, [sp, #0] + 12274: 463b mov r3, r7 + 12276: 4632 mov r2, r6 + 12278: 4629 mov r1, r5 + 1227a: 4640 mov r0, r8 + 1227c: 47a0 blx r4 #endif } } - 12296: b044 add sp, #272 ; 0x110 - 12298: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 1229c: 000135cd .word 0x000135cd - 122a0: 20002b88 .word 0x20002b88 + 1227e: b044 add sp, #272 ; 0x110 + 12280: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12284: 000135b5 .word 0x000135b5 + 12288: 20002b88 .word 0x20002b88 -000122a4 <_lv_trigo_sin>: +0001228c <_lv_trigo_sin>: * @return sinus of 'angle'. sin(-90) = -32767, sin(90) = 32767 */ LV_ATTRIBUTE_FAST_MEM int16_t _lv_trigo_sin(int16_t angle) { int16_t ret = 0; angle = angle % 360; - 122a4: 4b1b ldr r3, [pc, #108] ; (12314 <_lv_trigo_sin+0x70>) - 122a6: fb83 2300 smull r2, r3, r3, r0 - 122aa: 181a adds r2, r3, r0 - 122ac: 17c3 asrs r3, r0, #31 - 122ae: ebc3 2322 rsb r3, r3, r2, asr #8 - 122b2: f44f 72b4 mov.w r2, #360 ; 0x168 - 122b6: fb02 0013 mls r0, r2, r3, r0 - 122ba: b200 sxth r0, r0 + 1228c: 4b1b ldr r3, [pc, #108] ; (122fc <_lv_trigo_sin+0x70>) + 1228e: fb83 2300 smull r2, r3, r3, r0 + 12292: 181a adds r2, r3, r0 + 12294: 17c3 asrs r3, r0, #31 + 12296: ebc3 2322 rsb r3, r3, r2, asr #8 + 1229a: f44f 72b4 mov.w r2, #360 ; 0x168 + 1229e: fb02 0013 mls r0, r2, r3, r0 + 122a2: b200 sxth r0, r0 if(angle < 0) angle = 360 + angle; - 122bc: 2800 cmp r0, #0 - 122be: bfbc itt lt - 122c0: 1880 addlt r0, r0, r2 - 122c2: b200 sxthlt r0, r0 + 122a4: 2800 cmp r0, #0 + 122a6: bfbc itt lt + 122a8: 1880 addlt r0, r0, r2 + 122aa: b200 sxthlt r0, r0 if(angle < 90) { - 122c4: 2859 cmp r0, #89 ; 0x59 - 122c6: dd13 ble.n 122f0 <_lv_trigo_sin+0x4c> + 122ac: 2859 cmp r0, #89 ; 0x59 + 122ae: dd13 ble.n 122d8 <_lv_trigo_sin+0x4c> ret = sin0_90_table[angle]; } else if(angle >= 90 && angle < 180) { - 122c8: b280 uxth r0, r0 - 122ca: f1a0 035a sub.w r3, r0, #90 ; 0x5a - 122ce: b29b uxth r3, r3 - 122d0: 2b59 cmp r3, #89 ; 0x59 - 122d2: d911 bls.n 122f8 <_lv_trigo_sin+0x54> + 122b0: b280 uxth r0, r0 + 122b2: f1a0 035a sub.w r3, r0, #90 ; 0x5a + 122b6: b29b uxth r3, r3 + 122b8: 2b59 cmp r3, #89 ; 0x59 + 122ba: d911 bls.n 122e0 <_lv_trigo_sin+0x54> angle = 180 - angle; ret = sin0_90_table[angle]; } else if(angle >= 180 && angle < 270) { - 122d4: f1a0 03b4 sub.w r3, r0, #180 ; 0xb4 - 122d8: b29b uxth r3, r3 - 122da: 2b59 cmp r3, #89 ; 0x59 - 122dc: d913 bls.n 12306 <_lv_trigo_sin+0x62> + 122bc: f1a0 03b4 sub.w r3, r0, #180 ; 0xb4 + 122c0: b29b uxth r3, r3 + 122c2: 2b59 cmp r3, #89 ; 0x59 + 122c4: d913 bls.n 122ee <_lv_trigo_sin+0x62> angle = angle - 180; ret = -sin0_90_table[angle]; } else { /*angle >=270*/ angle = 360 - angle; - 122de: f5c0 70b4 rsb r0, r0, #360 ; 0x168 + 122c6: f5c0 70b4 rsb r0, r0, #360 ; 0x168 ret = -sin0_90_table[angle]; - 122e2: b200 sxth r0, r0 - 122e4: 4b0c ldr r3, [pc, #48] ; (12318 <_lv_trigo_sin+0x74>) - 122e6: f833 0010 ldrh.w r0, [r3, r0, lsl #1] - 122ea: 4240 negs r0, r0 - 122ec: b200 sxth r0, r0 + 122ca: b200 sxth r0, r0 + 122cc: 4b0c ldr r3, [pc, #48] ; (12300 <_lv_trigo_sin+0x74>) + 122ce: f833 0010 ldrh.w r0, [r3, r0, lsl #1] + 122d2: 4240 negs r0, r0 + 122d4: b200 sxth r0, r0 } return ret; } - 122ee: 4770 bx lr + 122d6: 4770 bx lr ret = sin0_90_table[angle]; - 122f0: 4b09 ldr r3, [pc, #36] ; (12318 <_lv_trigo_sin+0x74>) - 122f2: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] - 122f6: 4770 bx lr + 122d8: 4b09 ldr r3, [pc, #36] ; (12300 <_lv_trigo_sin+0x74>) + 122da: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] + 122de: 4770 bx lr angle = 180 - angle; - 122f8: f1c0 00b4 rsb r0, r0, #180 ; 0xb4 + 122e0: f1c0 00b4 rsb r0, r0, #180 ; 0xb4 ret = sin0_90_table[angle]; - 122fc: b200 sxth r0, r0 - 122fe: 4b06 ldr r3, [pc, #24] ; (12318 <_lv_trigo_sin+0x74>) - 12300: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] - 12304: 4770 bx lr + 122e4: b200 sxth r0, r0 + 122e6: 4b06 ldr r3, [pc, #24] ; (12300 <_lv_trigo_sin+0x74>) + 122e8: f933 0010 ldrsh.w r0, [r3, r0, lsl #1] + 122ec: 4770 bx lr ret = -sin0_90_table[angle]; - 12306: b21b sxth r3, r3 - 12308: 4a03 ldr r2, [pc, #12] ; (12318 <_lv_trigo_sin+0x74>) - 1230a: f832 0013 ldrh.w r0, [r2, r3, lsl #1] - 1230e: 4240 negs r0, r0 - 12310: b200 sxth r0, r0 - 12312: 4770 bx lr - 12314: b60b60b7 .word 0xb60b60b7 - 12318: 0002929c .word 0x0002929c - -0001231c <_lv_sqrt>: + 122ee: b21b sxth r3, r3 + 122f0: 4a03 ldr r2, [pc, #12] ; (12300 <_lv_trigo_sin+0x74>) + 122f2: f832 0013 ldrh.w r0, [r2, r3, lsl #1] + 122f6: 4240 negs r0, r0 + 122f8: b200 sxth r0, r0 + 122fa: 4770 bx lr + 122fc: b60b60b7 .word 0xb60b60b7 + 12300: 00029284 .word 0x00029284 + +00012304 <_lv_sqrt>: * If root < 16: mask = 0x80 * If root < 256: mask = 0x800 * Else: mask = 0x8000 */ LV_ATTRIBUTE_FAST_MEM void _lv_sqrt(uint32_t x, lv_sqrt_res_t * q, uint32_t mask) { - 1231c: b430 push {r4, r5} + 12304: b430 push {r4, r5} x = x << 8; /*To get 4 bit precision. (sqrt(256) = 16 = 4 bit)*/ - 1231e: 0200 lsls r0, r0, #8 + 12306: 0200 lsls r0, r0, #8 uint32_t root = 0; - 12320: 2400 movs r4, #0 + 12308: 2400 movs r4, #0 uint32_t trial; // http://ww1.microchip.com/...en/AppNotes/91040a.pdf do { trial = root + mask; - 12322: 1913 adds r3, r2, r4 + 1230a: 1913 adds r3, r2, r4 if((uint32_t)trial * trial <= x) root = trial; - 12324: fb03 f503 mul.w r5, r3, r3 - 12328: 42a8 cmp r0, r5 - 1232a: bf28 it cs - 1232c: 461c movcs r4, r3 + 1230c: fb03 f503 mul.w r5, r3, r3 + 12310: 42a8 cmp r0, r5 + 12312: bf28 it cs + 12314: 461c movcs r4, r3 mask = mask >> 1; } while(mask); - 1232e: 0852 lsrs r2, r2, #1 - 12330: d1f7 bne.n 12322 <_lv_sqrt+0x6> + 12316: 0852 lsrs r2, r2, #1 + 12318: d1f7 bne.n 1230a <_lv_sqrt+0x6> q->i = (uint32_t) root >> 4; - 12332: 0923 lsrs r3, r4, #4 - 12334: 800b strh r3, [r1, #0] + 1231a: 0923 lsrs r3, r4, #4 + 1231c: 800b strh r3, [r1, #0] q->f = (uint32_t)(root & 0xf) << 4; - 12336: 0124 lsls r4, r4, #4 - 12338: b2e4 uxtb r4, r4 - 1233a: 804c strh r4, [r1, #2] + 1231e: 0124 lsls r4, r4, #4 + 12320: b2e4 uxtb r4, r4 + 12322: 804c strh r4, [r1, #2] } - 1233c: bc30 pop {r4, r5} - 1233e: 4770 bx lr + 12324: bc30 pop {r4, r5} + 12326: 4770 bx lr -00012340 : +00012328 : */ static lv_mem_ent_t * ent_get_next(lv_mem_ent_t * act_e) { lv_mem_ent_t * next_e = NULL; if(act_e == NULL) { /*NULL means: get the first entry*/ - 12340: 4603 mov r3, r0 - 12342: b160 cbz r0, 1235e + 12328: 4603 mov r3, r0 + 1232a: b160 cbz r0, 12346 next_e = (lv_mem_ent_t *)work_mem; } else { /*Get the next entry */ uint8_t * data = &act_e->first_data; - 12344: 3004 adds r0, #4 + 1232c: 3004 adds r0, #4 next_e = (lv_mem_ent_t *)&data[act_e->header.s.d_size]; - 12346: 681b ldr r3, [r3, #0] - 12348: eb00 0053 add.w r0, r0, r3, lsr #1 + 1232e: 681b ldr r3, [r3, #0] + 12330: eb00 0053 add.w r0, r0, r3, lsr #1 if(&next_e->first_data >= &work_mem[LV_MEM_SIZE]) next_e = NULL; - 1234c: 1d02 adds r2, r0, #4 - 1234e: 4b05 ldr r3, [pc, #20] ; (12364 ) - 12350: 681b ldr r3, [r3, #0] - 12352: f503 4380 add.w r3, r3, #16384 ; 0x4000 - 12356: 429a cmp r2, r3 - 12358: bf28 it cs - 1235a: 2000 movcs r0, #0 + 12334: 1d02 adds r2, r0, #4 + 12336: 4b05 ldr r3, [pc, #20] ; (1234c ) + 12338: 681b ldr r3, [r3, #0] + 1233a: f503 4380 add.w r3, r3, #16384 ; 0x4000 + 1233e: 429a cmp r2, r3 + 12340: bf28 it cs + 12342: 2000 movcs r0, #0 } return next_e; } - 1235c: 4770 bx lr + 12344: 4770 bx lr next_e = (lv_mem_ent_t *)work_mem; - 1235e: 4b01 ldr r3, [pc, #4] ; (12364 ) - 12360: 6818 ldr r0, [r3, #0] - 12362: 4770 bx lr - 12364: 20002b8c .word 0x20002b8c + 12346: 4b01 ldr r3, [pc, #4] ; (1234c ) + 12348: 6818 ldr r0, [r3, #0] + 1234a: 4770 bx lr + 1234c: 20002b8c .word 0x20002b8c -00012368 : +00012350 : size = size & (~0x7); size += 8; } #else /*Round the size up to 4*/ if(size & 0x3) { - 12368: f011 0f03 tst.w r1, #3 + 12350: f011 0f03 tst.w r1, #3 size = size & (~0x3); - 1236c: bf1c itt ne - 1236e: f021 0103 bicne.w r1, r1, #3 + 12354: bf1c itt ne + 12356: f021 0103 bicne.w r1, r1, #3 size += 4; - 12372: 3104 addne r1, #4 + 1235a: 3104 addne r1, #4 } #endif /*Don't let empty space only for a header without data*/ if(e->header.s.d_size == size + sizeof(lv_mem_header_t)) { - 12374: 6803 ldr r3, [r0, #0] - 12376: f3c3 035e ubfx r3, r3, #1, #31 - 1237a: 1d0a adds r2, r1, #4 - 1237c: 4293 cmp r3, r2 - 1237e: d017 beq.n 123b0 + 1235c: 6803 ldr r3, [r0, #0] + 1235e: f3c3 035e ubfx r3, r3, #1, #31 + 12362: 1d0a adds r2, r1, #4 + 12364: 4293 cmp r3, r2 + 12366: d017 beq.n 12398 size = e->header.s.d_size; } /* Create the new entry after the current if there is space for it */ if(e->header.s.d_size != size) { - 12380: 4299 cmp r1, r3 - 12382: d016 beq.n 123b2 + 12368: 4299 cmp r1, r3 + 1236a: d016 beq.n 1239a { - 12384: b410 push {r4} + 1236c: b410 push {r4} uint8_t * e_data = &e->first_data; - 12386: 1d02 adds r2, r0, #4 + 1236e: 1d02 adds r2, r0, #4 lv_mem_ent_t * after_new_e = (lv_mem_ent_t *)&e_data[size]; after_new_e->header.s.used = 0; - 12388: 5c53 ldrb r3, [r2, r1] - 1238a: f36f 0300 bfc r3, #0, #1 - 1238e: 5453 strb r3, [r2, r1] + 12370: 5c53 ldrb r3, [r2, r1] + 12372: f36f 0300 bfc r3, #0, #1 + 12376: 5453 strb r3, [r2, r1] after_new_e->header.s.d_size = (uint32_t)e->header.s.d_size - size - sizeof(lv_mem_header_t); - 12390: 6803 ldr r3, [r0, #0] - 12392: f3c3 035e ubfx r3, r3, #1, #31 - 12396: 3b04 subs r3, #4 - 12398: 1a5b subs r3, r3, r1 - 1239a: 5854 ldr r4, [r2, r1] - 1239c: f363 045f bfi r4, r3, #1, #31 - 123a0: 5054 str r4, [r2, r1] + 12378: 6803 ldr r3, [r0, #0] + 1237a: f3c3 035e ubfx r3, r3, #1, #31 + 1237e: 3b04 subs r3, #4 + 12380: 1a5b subs r3, r3, r1 + 12382: 5854 ldr r4, [r2, r1] + 12384: f363 045f bfi r4, r3, #1, #31 + 12388: 5054 str r4, [r2, r1] } /* Set the new size for the original entry */ e->header.s.d_size = (uint32_t)size; - 123a2: 6803 ldr r3, [r0, #0] - 123a4: f361 035f bfi r3, r1, #1, #31 - 123a8: 6003 str r3, [r0, #0] + 1238a: 6803 ldr r3, [r0, #0] + 1238c: f361 035f bfi r3, r1, #1, #31 + 12390: 6003 str r3, [r0, #0] } - 123aa: f85d 4b04 ldr.w r4, [sp], #4 - 123ae: 4770 bx lr + 12392: f85d 4b04 ldr.w r4, [sp], #4 + 12396: 4770 bx lr size = e->header.s.d_size; - 123b0: 4611 mov r1, r2 + 12398: 4611 mov r1, r2 e->header.s.d_size = (uint32_t)size; - 123b2: 6803 ldr r3, [r0, #0] - 123b4: f361 035f bfi r3, r1, #1, #31 - 123b8: 6003 str r3, [r0, #0] - 123ba: 4770 bx lr + 1239a: 6803 ldr r3, [r0, #0] + 1239c: f361 035f bfi r3, r1, #1, #31 + 123a0: 6003 str r3, [r0, #0] + 123a2: 4770 bx lr -000123bc <_lv_mem_init>: +000123a4 <_lv_mem_init>: work_mem = (uint8_t *)work_mem_int; - 123bc: 4b06 ldr r3, [pc, #24] ; (123d8 <_lv_mem_init+0x1c>) - 123be: 1d1a adds r2, r3, #4 - 123c0: 601a str r2, [r3, #0] + 123a4: 4b06 ldr r3, [pc, #24] ; (123c0 <_lv_mem_init+0x1c>) + 123a6: 1d1a adds r2, r3, #4 + 123a8: 601a str r2, [r3, #0] full->header.s.used = 0; - 123c2: 791a ldrb r2, [r3, #4] - 123c4: f36f 0200 bfc r2, #0, #1 - 123c8: 711a strb r2, [r3, #4] + 123aa: 791a ldrb r2, [r3, #4] + 123ac: f36f 0200 bfc r2, #0, #1 + 123b0: 711a strb r2, [r3, #4] full->header.s.d_size = LV_MEM_SIZE - sizeof(lv_mem_header_t); - 123ca: 685a ldr r2, [r3, #4] - 123cc: f643 71fc movw r1, #16380 ; 0x3ffc - 123d0: f361 025f bfi r2, r1, #1, #31 - 123d4: 605a str r2, [r3, #4] - 123d6: 4770 bx lr - 123d8: 20002b8c .word 0x20002b8c - -000123dc : + 123b2: 685a ldr r2, [r3, #4] + 123b4: f643 71fc movw r1, #16380 ; 0x3ffc + 123b8: f361 025f bfi r2, r1, #1, #31 + 123bc: 605a str r2, [r3, #4] + 123be: 4770 bx lr + 123c0: 20002b8c .word 0x20002b8c + +000123c4 : if(size == 0) { - 123dc: 2800 cmp r0, #0 - 123de: d02e beq.n 1243e + 123c4: 2800 cmp r0, #0 + 123c6: d02e beq.n 12426 { - 123e0: b5f0 push {r4, r5, r6, r7, lr} - 123e2: b083 sub sp, #12 - 123e4: 4605 mov r5, r0 + 123c8: b5f0 push {r4, r5, r6, r7, lr} + 123ca: b083 sub sp, #12 + 123cc: 4605 mov r5, r0 if(size & 0x3) { - 123e6: f010 0f03 tst.w r0, #3 + 123ce: f010 0f03 tst.w r0, #3 size = size & (~0x3); - 123ea: bf1c itt ne - 123ec: f020 0503 bicne.w r5, r0, #3 + 123d2: bf1c itt ne + 123d4: f020 0503 bicne.w r5, r0, #3 size += 4; - 123f0: 3504 addne r5, #4 + 123d8: 3504 addne r5, #4 lv_mem_ent_t * e = NULL; - 123f2: 2400 movs r4, #0 + 123da: 2400 movs r4, #0 e = ent_get_next(e); - 123f4: 4e13 ldr r6, [pc, #76] ; (12444 ) + 123dc: 4e13 ldr r6, [pc, #76] ; (1242c ) ent_trunc(e, size); - 123f6: 4f14 ldr r7, [pc, #80] ; (12448 ) - 123f8: e008 b.n 1240c - 123fa: 4629 mov r1, r5 - 123fc: 47b8 blx r7 + 123de: 4f14 ldr r7, [pc, #80] ; (12430 ) + 123e0: e008 b.n 123f4 + 123e2: 4629 mov r1, r5 + 123e4: 47b8 blx r7 e->header.s.used = 1; - 123fe: 7823 ldrb r3, [r4, #0] - 12400: f043 0301 orr.w r3, r3, #1 - 12404: 4620 mov r0, r4 - 12406: f800 3b04 strb.w r3, [r0], #4 + 123e6: 7823 ldrb r3, [r4, #0] + 123e8: f043 0301 orr.w r3, r3, #1 + 123ec: 4620 mov r0, r4 + 123ee: f800 3b04 strb.w r3, [r0], #4 } while(e != NULL && alloc == NULL); - 1240a: b9b0 cbnz r0, 1243a + 123f2: b9b0 cbnz r0, 12422 e = ent_get_next(e); - 1240c: 4620 mov r0, r4 - 1240e: 47b0 blx r6 + 123f4: 4620 mov r0, r4 + 123f6: 47b0 blx r6 if(e != NULL) { - 12410: 4604 mov r4, r0 - 12412: b148 cbz r0, 12428 + 123f8: 4604 mov r4, r0 + 123fa: b148 cbz r0, 12410 if(e->header.s.used == 0 && e->header.s.d_size >= size) { - 12414: 7803 ldrb r3, [r0, #0] - 12416: f013 0f01 tst.w r3, #1 - 1241a: d1f7 bne.n 1240c - 1241c: 6803 ldr r3, [r0, #0] - 1241e: f3c3 035e ubfx r3, r3, #1, #31 - 12422: 429d cmp r5, r3 - 12424: d9e9 bls.n 123fa - 12426: e7f1 b.n 1240c + 123fc: 7803 ldrb r3, [r0, #0] + 123fe: f013 0f01 tst.w r3, #1 + 12402: d1f7 bne.n 123f4 + 12404: 6803 ldr r3, [r0, #0] + 12406: f3c3 035e ubfx r3, r3, #1, #31 + 1240a: 429d cmp r5, r3 + 1240c: d9e9 bls.n 123e2 + 1240e: e7f1 b.n 123f4 if(alloc == NULL) LV_LOG_WARN("Couldn't allocate memory"); - 12428: 4b08 ldr r3, [pc, #32] ; (1244c ) - 1242a: 9300 str r3, [sp, #0] - 1242c: 4b08 ldr r3, [pc, #32] ; (12450 ) - 1242e: 22d1 movs r2, #209 ; 0xd1 - 12430: 4908 ldr r1, [pc, #32] ; (12454 ) - 12432: 2002 movs r0, #2 - 12434: 4c08 ldr r4, [pc, #32] ; (12458 ) - 12436: 47a0 blx r4 + 12410: 4b08 ldr r3, [pc, #32] ; (12434 ) + 12412: 9300 str r3, [sp, #0] + 12414: 4b08 ldr r3, [pc, #32] ; (12438 ) + 12416: 22d1 movs r2, #209 ; 0xd1 + 12418: 4908 ldr r1, [pc, #32] ; (1243c ) + 1241a: 2002 movs r0, #2 + 1241c: 4c08 ldr r4, [pc, #32] ; (12440 ) + 1241e: 47a0 blx r4 return alloc; - 12438: 2000 movs r0, #0 + 12420: 2000 movs r0, #0 } - 1243a: b003 add sp, #12 - 1243c: bdf0 pop {r4, r5, r6, r7, pc} + 12422: b003 add sp, #12 + 12424: bdf0 pop {r4, r5, r6, r7, pc} return &zero_mem; - 1243e: 4807 ldr r0, [pc, #28] ; (1245c ) - 12440: 4770 bx lr - 12442: bf00 nop - 12444: 00012341 .word 0x00012341 - 12448: 00012369 .word 0x00012369 - 1244c: 000293c0 .word 0x000293c0 - 12450: 00029354 .word 0x00029354 - 12454: 00029398 .word 0x00029398 - 12458: 0001225d .word 0x0001225d - 1245c: 20006b90 .word 0x20006b90 - -00012460 : -{ - 12460: b538 push {r3, r4, r5, lr} + 12426: 4807 ldr r0, [pc, #28] ; (12444 ) + 12428: 4770 bx lr + 1242a: bf00 nop + 1242c: 00012329 .word 0x00012329 + 12430: 00012351 .word 0x00012351 + 12434: 000293a8 .word 0x000293a8 + 12438: 0002933c .word 0x0002933c + 1243c: 00029380 .word 0x00029380 + 12440: 00012245 .word 0x00012245 + 12444: 20006b90 .word 0x20006b90 + +00012448 : +{ + 12448: b538 push {r3, r4, r5, lr} e_free = ent_get_next(NULL); - 12462: 2000 movs r0, #0 - 12464: 4b16 ldr r3, [pc, #88] ; (124c0 ) - 12466: 4798 blx r3 - 12468: 4604 mov r4, r0 + 1244a: 2000 movs r0, #0 + 1244c: 4b16 ldr r3, [pc, #88] ; (124a8 ) + 1244e: 4798 blx r3 + 12450: 4604 mov r4, r0 e_next = ent_get_next(e_free); - 1246a: 4d15 ldr r5, [pc, #84] ; (124c0 ) - 1246c: e01b b.n 124a6 - 1246e: bd38 pop {r3, r4, r5, pc} - 12470: 4620 mov r0, r4 - 12472: 47a8 blx r5 + 12452: 4d15 ldr r5, [pc, #84] ; (124a8 ) + 12454: e01b b.n 1248e + 12456: bd38 pop {r3, r4, r5, pc} + 12458: 4620 mov r0, r4 + 1245a: 47a8 blx r5 while(e_next != NULL) { - 12474: 4601 mov r1, r0 - 12476: b308 cbz r0, 124bc + 1245c: 4601 mov r1, r0 + 1245e: b308 cbz r0, 124a4 if(e_next->header.s.used == 0) { - 12478: 7803 ldrb r3, [r0, #0] - 1247a: f013 0f01 tst.w r3, #1 - 1247e: d111 bne.n 124a4 + 12460: 7803 ldrb r3, [r0, #0] + 12462: f013 0f01 tst.w r3, #1 + 12466: d111 bne.n 1248c e_free->header.s.d_size += e_next->header.s.d_size + sizeof(e_next->header); - 12480: 6823 ldr r3, [r4, #0] - 12482: f3c3 025e ubfx r2, r3, #1, #31 - 12486: 3204 adds r2, #4 - 12488: 6808 ldr r0, [r1, #0] - 1248a: eb02 0250 add.w r2, r2, r0, lsr #1 - 1248e: f362 035f bfi r3, r2, #1, #31 - 12492: 6023 str r3, [r4, #0] + 12468: 6823 ldr r3, [r4, #0] + 1246a: f3c3 025e ubfx r2, r3, #1, #31 + 1246e: 3204 adds r2, #4 + 12470: 6808 ldr r0, [r1, #0] + 12472: eb02 0250 add.w r2, r2, r0, lsr #1 + 12476: f362 035f bfi r3, r2, #1, #31 + 1247a: 6023 str r3, [r4, #0] e_next = ent_get_next(e_next); - 12494: 4608 mov r0, r1 - 12496: 47a8 blx r5 + 1247c: 4608 mov r0, r1 + 1247e: 47a8 blx r5 while(e_next != NULL) { - 12498: 4601 mov r1, r0 - 1249a: b170 cbz r0, 124ba + 12480: 4601 mov r1, r0 + 12482: b170 cbz r0, 124a2 if(e_next->header.s.used == 0) { - 1249c: 780b ldrb r3, [r1, #0] - 1249e: f013 0f01 tst.w r3, #1 - 124a2: d0ed beq.n 12480 + 12484: 780b ldrb r3, [r1, #0] + 12486: f013 0f01 tst.w r3, #1 + 1248a: d0ed beq.n 12468 { - 124a4: 460c mov r4, r1 + 1248c: 460c mov r4, r1 while(e_free != NULL) { - 124a6: 2c00 cmp r4, #0 - 124a8: d0e1 beq.n 1246e + 1248e: 2c00 cmp r4, #0 + 12490: d0e1 beq.n 12456 if(e_free->header.s.used != 0) { - 124aa: 7823 ldrb r3, [r4, #0] - 124ac: f013 0f01 tst.w r3, #1 - 124b0: d0de beq.n 12470 + 12492: 7823 ldrb r3, [r4, #0] + 12494: f013 0f01 tst.w r3, #1 + 12498: d0de beq.n 12458 e_free = ent_get_next(e_free); - 124b2: 4620 mov r0, r4 - 124b4: 47a8 blx r5 - 124b6: 4604 mov r4, r0 - 124b8: e7f5 b.n 124a6 - 124ba: bd38 pop {r3, r4, r5, pc} - 124bc: bd38 pop {r3, r4, r5, pc} - 124be: bf00 nop - 124c0: 00012341 .word 0x00012341 - -000124c4 : -{ - 124c4: b538 push {r3, r4, r5, lr} + 1249a: 4620 mov r0, r4 + 1249c: 47a8 blx r5 + 1249e: 4604 mov r4, r0 + 124a0: e7f5 b.n 1248e + 124a2: bd38 pop {r3, r4, r5, pc} + 124a4: bd38 pop {r3, r4, r5, pc} + 124a6: bf00 nop + 124a8: 00012329 .word 0x00012329 + +000124ac : +{ + 124ac: b538 push {r3, r4, r5, lr} if(data == &zero_mem) return; - 124c6: 4b1e ldr r3, [pc, #120] ; (12540 ) - 124c8: 4298 cmp r0, r3 - 124ca: d038 beq.n 1253e + 124ae: 4b1e ldr r3, [pc, #120] ; (12528 ) + 124b0: 4298 cmp r0, r3 + 124b2: d038 beq.n 12526 if(data == NULL) return; - 124cc: 2800 cmp r0, #0 - 124ce: d036 beq.n 1253e - 124d0: 4604 mov r4, r0 + 124b4: 2800 cmp r0, #0 + 124b6: d036 beq.n 12526 + 124b8: 4604 mov r4, r0 e->header.s.used = 0; - 124d2: f810 3c04 ldrb.w r3, [r0, #-4] - 124d6: f36f 0300 bfc r3, #0, #1 - 124da: f800 3c04 strb.w r3, [r0, #-4] + 124ba: f810 3c04 ldrb.w r3, [r0, #-4] + 124be: f36f 0300 bfc r3, #0, #1 + 124c2: f800 3c04 strb.w r3, [r0, #-4] full_defrag_cnt++; - 124de: 4a19 ldr r2, [pc, #100] ; (12544 ) - 124e0: f8b2 3d20 ldrh.w r3, [r2, #3360] ; 0xd20 - 124e4: 3301 adds r3, #1 - 124e6: b29b uxth r3, r3 - 124e8: f8a2 3d20 strh.w r3, [r2, #3360] ; 0xd20 + 124c6: 4a19 ldr r2, [pc, #100] ; (1252c ) + 124c8: f8b2 3d20 ldrh.w r3, [r2, #3360] ; 0xd20 + 124cc: 3301 adds r3, #1 + 124ce: b29b uxth r3, r3 + 124d0: f8a2 3d20 strh.w r3, [r2, #3360] ; 0xd20 if(full_defrag_cnt < LV_MEM_FULL_DEFRAG_CNT) { - 124ec: 2b0f cmp r3, #15 - 124ee: d820 bhi.n 12532 + 124d4: 2b0f cmp r3, #15 + 124d6: d820 bhi.n 1251a e_next = ent_get_next(e); - 124f0: 3804 subs r0, #4 - 124f2: 4b15 ldr r3, [pc, #84] ; (12548 ) - 124f4: 4798 blx r3 + 124d8: 3804 subs r0, #4 + 124da: 4b15 ldr r3, [pc, #84] ; (12530 ) + 124dc: 4798 blx r3 while(e_next != NULL) { - 124f6: 4601 mov r1, r0 - 124f8: b308 cbz r0, 1253e + 124de: 4601 mov r1, r0 + 124e0: b308 cbz r0, 12526 if(e_next->header.s.used == 0) { - 124fa: 7803 ldrb r3, [r0, #0] - 124fc: f013 0f01 tst.w r3, #1 - 12500: d115 bne.n 1252e + 124e2: 7803 ldrb r3, [r0, #0] + 124e4: f013 0f01 tst.w r3, #1 + 124e8: d115 bne.n 12516 e_next = ent_get_next(e_next); - 12502: 4d11 ldr r5, [pc, #68] ; (12548 ) + 124ea: 4d11 ldr r5, [pc, #68] ; (12530 ) e->header.s.d_size += e_next->header.s.d_size + sizeof(e->header); - 12504: f854 3c04 ldr.w r3, [r4, #-4] - 12508: f3c3 025e ubfx r2, r3, #1, #31 - 1250c: 3204 adds r2, #4 - 1250e: 6808 ldr r0, [r1, #0] - 12510: eb02 0250 add.w r2, r2, r0, lsr #1 - 12514: f362 035f bfi r3, r2, #1, #31 - 12518: f844 3c04 str.w r3, [r4, #-4] + 124ec: f854 3c04 ldr.w r3, [r4, #-4] + 124f0: f3c3 025e ubfx r2, r3, #1, #31 + 124f4: 3204 adds r2, #4 + 124f6: 6808 ldr r0, [r1, #0] + 124f8: eb02 0250 add.w r2, r2, r0, lsr #1 + 124fc: f362 035f bfi r3, r2, #1, #31 + 12500: f844 3c04 str.w r3, [r4, #-4] e_next = ent_get_next(e_next); - 1251c: 4608 mov r0, r1 - 1251e: 47a8 blx r5 + 12504: 4608 mov r0, r1 + 12506: 47a8 blx r5 while(e_next != NULL) { - 12520: 4601 mov r1, r0 - 12522: b128 cbz r0, 12530 + 12508: 4601 mov r1, r0 + 1250a: b128 cbz r0, 12518 if(e_next->header.s.used == 0) { - 12524: 780b ldrb r3, [r1, #0] - 12526: f013 0f01 tst.w r3, #1 - 1252a: d0eb beq.n 12504 - 1252c: bd38 pop {r3, r4, r5, pc} - 1252e: bd38 pop {r3, r4, r5, pc} - 12530: bd38 pop {r3, r4, r5, pc} + 1250c: 780b ldrb r3, [r1, #0] + 1250e: f013 0f01 tst.w r3, #1 + 12512: d0eb beq.n 124ec + 12514: bd38 pop {r3, r4, r5, pc} + 12516: bd38 pop {r3, r4, r5, pc} + 12518: bd38 pop {r3, r4, r5, pc} full_defrag_cnt = 0; - 12532: 2200 movs r2, #0 - 12534: 4b03 ldr r3, [pc, #12] ; (12544 ) - 12536: f8a3 2d20 strh.w r2, [r3, #3360] ; 0xd20 + 1251a: 2200 movs r2, #0 + 1251c: 4b03 ldr r3, [pc, #12] ; (1252c ) + 1251e: f8a3 2d20 strh.w r2, [r3, #3360] ; 0xd20 lv_mem_defrag(); - 1253a: 4b04 ldr r3, [pc, #16] ; (1254c ) - 1253c: 4798 blx r3 - 1253e: bd38 pop {r3, r4, r5, pc} - 12540: 20006b90 .word 0x20006b90 - 12544: 20005e74 .word 0x20005e74 - 12548: 00012341 .word 0x00012341 - 1254c: 00012461 .word 0x00012461 - -00012550 <_lv_mem_get_size>: + 12522: 4b04 ldr r3, [pc, #16] ; (12534 ) + 12524: 4798 blx r3 + 12526: bd38 pop {r3, r4, r5, pc} + 12528: 20006b90 .word 0x20006b90 + 1252c: 20005e74 .word 0x20005e74 + 12530: 00012329 .word 0x00012329 + 12534: 00012449 .word 0x00012449 + +00012538 <_lv_mem_get_size>: if(data == NULL) return 0; - 12550: b138 cbz r0, 12562 <_lv_mem_get_size+0x12> + 12538: b138 cbz r0, 1254a <_lv_mem_get_size+0x12> if(data == &zero_mem) return 0; - 12552: 4a06 ldr r2, [pc, #24] ; (1256c <_lv_mem_get_size+0x1c>) - 12554: 4290 cmp r0, r2 - 12556: d006 beq.n 12566 <_lv_mem_get_size+0x16> + 1253a: 4a06 ldr r2, [pc, #24] ; (12554 <_lv_mem_get_size+0x1c>) + 1253c: 4290 cmp r0, r2 + 1253e: d006 beq.n 1254e <_lv_mem_get_size+0x16> return e->header.s.d_size; - 12558: f850 0c04 ldr.w r0, [r0, #-4] - 1255c: f3c0 005e ubfx r0, r0, #1, #31 - 12560: 4770 bx lr + 12540: f850 0c04 ldr.w r0, [r0, #-4] + 12544: f3c0 005e ubfx r0, r0, #1, #31 + 12548: 4770 bx lr if(data == NULL) return 0; - 12562: 2000 movs r0, #0 - 12564: 4770 bx lr + 1254a: 2000 movs r0, #0 + 1254c: 4770 bx lr if(data == &zero_mem) return 0; - 12566: 2000 movs r0, #0 + 1254e: 2000 movs r0, #0 } - 12568: 4770 bx lr - 1256a: bf00 nop - 1256c: 20006b90 .word 0x20006b90 + 12550: 4770 bx lr + 12552: bf00 nop + 12554: 20006b90 .word 0x20006b90 -00012570 <_lv_mem_buf_release>: +00012558 <_lv_mem_buf_release>: if(mem_buf_small[i].p == p) { - 12570: 4b1b ldr r3, [pc, #108] ; (125e0 <_lv_mem_buf_release+0x70>) + 12558: 4b1b ldr r3, [pc, #108] ; (125c8 <_lv_mem_buf_release+0x70>) + 1255a: 681b ldr r3, [r3, #0] + 1255c: 4298 cmp r0, r3 + 1255e: d020 beq.n 125a2 <_lv_mem_buf_release+0x4a> + 12560: 4b19 ldr r3, [pc, #100] ; (125c8 <_lv_mem_buf_release+0x70>) + 12562: 689b ldr r3, [r3, #8] + 12564: 4283 cmp r3, r0 + 12566: bf08 it eq + 12568: 2201 moveq r2, #1 + 1256a: d01b beq.n 125a4 <_lv_mem_buf_release+0x4c> +{ + 1256c: b510 push {r4, lr} + 1256e: b082 sub sp, #8 + if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { + 12570: 4b16 ldr r3, [pc, #88] ; (125cc <_lv_mem_buf_release+0x74>) 12572: 681b ldr r3, [r3, #0] 12574: 4298 cmp r0, r3 - 12576: d020 beq.n 125ba <_lv_mem_buf_release+0x4a> - 12578: 4b19 ldr r3, [pc, #100] ; (125e0 <_lv_mem_buf_release+0x70>) - 1257a: 689b ldr r3, [r3, #8] - 1257c: 4283 cmp r3, r0 - 1257e: bf08 it eq - 12580: 2201 moveq r2, #1 - 12582: d01b beq.n 125bc <_lv_mem_buf_release+0x4c> -{ - 12584: b510 push {r4, lr} - 12586: b082 sub sp, #8 - if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { - 12588: 4b16 ldr r3, [pc, #88] ; (125e4 <_lv_mem_buf_release+0x74>) - 1258a: 681b ldr r3, [r3, #0] - 1258c: 4298 cmp r0, r3 - 1258e: d01d beq.n 125cc <_lv_mem_buf_release+0x5c> - 12590: 2301 movs r3, #1 - 12592: 4914 ldr r1, [pc, #80] ; (125e4 <_lv_mem_buf_release+0x74>) - 12594: 461c mov r4, r3 - 12596: f851 2033 ldr.w r2, [r1, r3, lsl #3] - 1259a: 4290 cmp r0, r2 - 1259c: d017 beq.n 125ce <_lv_mem_buf_release+0x5e> - 1259e: 3301 adds r3, #1 + 12576: d01d beq.n 125b4 <_lv_mem_buf_release+0x5c> + 12578: 2301 movs r3, #1 + 1257a: 4914 ldr r1, [pc, #80] ; (125cc <_lv_mem_buf_release+0x74>) + 1257c: 461c mov r4, r3 + 1257e: f851 2033 ldr.w r2, [r1, r3, lsl #3] + 12582: 4290 cmp r0, r2 + 12584: d017 beq.n 125b6 <_lv_mem_buf_release+0x5e> + 12586: 3301 adds r3, #1 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 125a0: 2b10 cmp r3, #16 - 125a2: d1f7 bne.n 12594 <_lv_mem_buf_release+0x24> + 12588: 2b10 cmp r3, #16 + 1258a: d1f7 bne.n 1257c <_lv_mem_buf_release+0x24> LV_LOG_ERROR("lv_mem_buf_release: p is not a known buffer") - 125a4: 4b10 ldr r3, [pc, #64] ; (125e8 <_lv_mem_buf_release+0x78>) - 125a6: 9300 str r3, [sp, #0] - 125a8: 4b10 ldr r3, [pc, #64] ; (125ec <_lv_mem_buf_release+0x7c>) - 125aa: f240 2232 movw r2, #562 ; 0x232 - 125ae: 4910 ldr r1, [pc, #64] ; (125f0 <_lv_mem_buf_release+0x80>) - 125b0: 2003 movs r0, #3 - 125b2: 4c10 ldr r4, [pc, #64] ; (125f4 <_lv_mem_buf_release+0x84>) - 125b4: 47a0 blx r4 -} - 125b6: b002 add sp, #8 - 125b8: bd10 pop {r4, pc} + 1258c: 4b10 ldr r3, [pc, #64] ; (125d0 <_lv_mem_buf_release+0x78>) + 1258e: 9300 str r3, [sp, #0] + 12590: 4b10 ldr r3, [pc, #64] ; (125d4 <_lv_mem_buf_release+0x7c>) + 12592: f240 2232 movw r2, #562 ; 0x232 + 12596: 4910 ldr r1, [pc, #64] ; (125d8 <_lv_mem_buf_release+0x80>) + 12598: 2003 movs r0, #3 + 1259a: 4c10 ldr r4, [pc, #64] ; (125dc <_lv_mem_buf_release+0x84>) + 1259c: 47a0 blx r4 +} + 1259e: b002 add sp, #8 + 125a0: bd10 pop {r4, pc} if(mem_buf_small[i].p == p) { - 125ba: 2200 movs r2, #0 + 125a2: 2200 movs r2, #0 mem_buf_small[i].used = 0; - 125bc: 4b08 ldr r3, [pc, #32] ; (125e0 <_lv_mem_buf_release+0x70>) - 125be: eb03 03c2 add.w r3, r3, r2, lsl #3 - 125c2: 799a ldrb r2, [r3, #6] - 125c4: f36f 0200 bfc r2, #0, #1 - 125c8: 719a strb r2, [r3, #6] + 125a4: 4b08 ldr r3, [pc, #32] ; (125c8 <_lv_mem_buf_release+0x70>) + 125a6: eb03 03c2 add.w r3, r3, r2, lsl #3 + 125aa: 799a ldrb r2, [r3, #6] + 125ac: f36f 0200 bfc r2, #0, #1 + 125b0: 719a strb r2, [r3, #6] return; - 125ca: 4770 bx lr + 125b2: 4770 bx lr if(LV_GC_ROOT(_lv_mem_buf[i]).p == p) { - 125cc: 2400 movs r4, #0 + 125b4: 2400 movs r4, #0 LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 125ce: 4b05 ldr r3, [pc, #20] ; (125e4 <_lv_mem_buf_release+0x74>) - 125d0: eb03 04c4 add.w r4, r3, r4, lsl #3 - 125d4: 79a3 ldrb r3, [r4, #6] - 125d6: f36f 0300 bfc r3, #0, #1 - 125da: 71a3 strb r3, [r4, #6] + 125b6: 4b05 ldr r3, [pc, #20] ; (125cc <_lv_mem_buf_release+0x74>) + 125b8: eb03 04c4 add.w r4, r3, r4, lsl #3 + 125bc: 79a3 ldrb r3, [r4, #6] + 125be: f36f 0300 bfc r3, #0, #1 + 125c2: 71a3 strb r3, [r4, #6] return; - 125dc: e7eb b.n 125b6 <_lv_mem_buf_release+0x46> - 125de: bf00 nop - 125e0: 20000044 .word 0x20000044 - 125e4: 20006cb0 .word 0x20006cb0 - 125e8: 000293dc .word 0x000293dc - 125ec: 00029364 .word 0x00029364 - 125f0: 00029398 .word 0x00029398 - 125f4: 0001225d .word 0x0001225d - -000125f8 <_lv_mem_buf_free_all>: -{ - 125f8: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 125c4: e7eb b.n 1259e <_lv_mem_buf_release+0x46> + 125c6: bf00 nop + 125c8: 20000044 .word 0x20000044 + 125cc: 20006cb0 .word 0x20006cb0 + 125d0: 000293c4 .word 0x000293c4 + 125d4: 0002934c .word 0x0002934c + 125d8: 00029380 .word 0x00029380 + 125dc: 00012245 .word 0x00012245 + +000125e0 <_lv_mem_buf_free_all>: +{ + 125e0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} mem_buf_small[i].used = 0; - 125fc: 4b12 ldr r3, [pc, #72] ; (12648 <_lv_mem_buf_free_all+0x50>) - 125fe: 799a ldrb r2, [r3, #6] - 12600: f36f 0200 bfc r2, #0, #1 - 12604: 719a strb r2, [r3, #6] - 12606: 7b9a ldrb r2, [r3, #14] - 12608: f36f 0200 bfc r2, #0, #1 - 1260c: 739a strb r2, [r3, #14] - 1260e: 4c0f ldr r4, [pc, #60] ; (1264c <_lv_mem_buf_free_all+0x54>) - 12610: 2500 movs r5, #0 + 125e4: 4b12 ldr r3, [pc, #72] ; (12630 <_lv_mem_buf_free_all+0x50>) + 125e6: 799a ldrb r2, [r3, #6] + 125e8: f36f 0200 bfc r2, #0, #1 + 125ec: 719a strb r2, [r3, #6] + 125ee: 7b9a ldrb r2, [r3, #14] + 125f0: f36f 0200 bfc r2, #0, #1 + 125f4: 739a strb r2, [r3, #14] + 125f6: 4c0f ldr r4, [pc, #60] ; (12634 <_lv_mem_buf_free_all+0x54>) + 125f8: 2500 movs r5, #0 lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p); - 12612: f8df 803c ldr.w r8, [pc, #60] ; 12650 <_lv_mem_buf_free_all+0x58> + 125fa: f8df 803c ldr.w r8, [pc, #60] ; 12638 <_lv_mem_buf_free_all+0x58> LV_GC_ROOT(_lv_mem_buf[i]).p = NULL; - 12616: 462e mov r6, r5 + 125fe: 462e mov r6, r5 LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 12618: 1f27 subs r7, r4, #4 - 1261a: e003 b.n 12624 <_lv_mem_buf_free_all+0x2c> - 1261c: 3501 adds r5, #1 - 1261e: 3408 adds r4, #8 + 12600: 1f27 subs r7, r4, #4 + 12602: e003 b.n 1260c <_lv_mem_buf_free_all+0x2c> + 12604: 3501 adds r5, #1 + 12606: 3408 adds r4, #8 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 12620: 2d10 cmp r5, #16 - 12622: d00e beq.n 12642 <_lv_mem_buf_free_all+0x4a> + 12608: 2d10 cmp r5, #16 + 1260a: d00e beq.n 1262a <_lv_mem_buf_free_all+0x4a> if(LV_GC_ROOT(_lv_mem_buf[i]).p) { - 12624: f854 0c04 ldr.w r0, [r4, #-4] - 12628: 2800 cmp r0, #0 - 1262a: d0f7 beq.n 1261c <_lv_mem_buf_free_all+0x24> + 1260c: f854 0c04 ldr.w r0, [r4, #-4] + 12610: 2800 cmp r0, #0 + 12612: d0f7 beq.n 12604 <_lv_mem_buf_free_all+0x24> lv_mem_free(LV_GC_ROOT(_lv_mem_buf[i]).p); - 1262c: 47c0 blx r8 + 12614: 47c0 blx r8 LV_GC_ROOT(_lv_mem_buf[i]).p = NULL; - 1262e: f844 6c04 str.w r6, [r4, #-4] + 12616: f844 6c04 str.w r6, [r4, #-4] LV_GC_ROOT(_lv_mem_buf[i]).used = 0; - 12632: eb07 03c5 add.w r3, r7, r5, lsl #3 - 12636: 799a ldrb r2, [r3, #6] - 12638: f366 0200 bfi r2, r6, #0, #1 - 1263c: 719a strb r2, [r3, #6] + 1261a: eb07 03c5 add.w r3, r7, r5, lsl #3 + 1261e: 799a ldrb r2, [r3, #6] + 12620: f366 0200 bfi r2, r6, #0, #1 + 12624: 719a strb r2, [r3, #6] LV_GC_ROOT(_lv_mem_buf[i]).size = 0; - 1263e: 8026 strh r6, [r4, #0] - 12640: e7ec b.n 1261c <_lv_mem_buf_free_all+0x24> + 12626: 8026 strh r6, [r4, #0] + 12628: e7ec b.n 12604 <_lv_mem_buf_free_all+0x24> } - 12642: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} - 12646: bf00 nop - 12648: 20000044 .word 0x20000044 - 1264c: 20006cb4 .word 0x20006cb4 - 12650: 000124c5 .word 0x000124c5 + 1262a: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1262e: bf00 nop + 12630: 20000044 .word 0x20000044 + 12634: 20006cb4 .word 0x20006cb4 + 12638: 000124ad .word 0x000124ad -00012654 <_lv_memcpy>: +0001263c <_lv_memcpy>: { - 12654: b4f0 push {r4, r5, r6, r7} + 1263c: b4f0 push {r4, r5, r6, r7} lv_uintptr_t d_align = (lv_uintptr_t)d8 & ALIGN_MASK; - 12656: f000 0303 and.w r3, r0, #3 + 1263e: f000 0303 and.w r3, r0, #3 lv_uintptr_t s_align = (lv_uintptr_t)s8 & ALIGN_MASK; - 1265a: f001 0403 and.w r4, r1, #3 + 12642: f001 0403 and.w r4, r1, #3 if(s_align != d_align) { - 1265e: 42a3 cmp r3, r4 - 12660: f000 80a6 beq.w 127b0 <_lv_memcpy+0x15c> + 12646: 42a3 cmp r3, r4 + 12648: f000 80a6 beq.w 12798 <_lv_memcpy+0x15c> while(len > 32) { - 12664: 2a20 cmp r2, #32 - 12666: f240 80a1 bls.w 127ac <_lv_memcpy+0x158> - 1266a: f100 0420 add.w r4, r0, #32 - 1266e: f101 0320 add.w r3, r1, #32 - 12672: 4615 mov r5, r2 + 1264c: 2a20 cmp r2, #32 + 1264e: f240 80a1 bls.w 12794 <_lv_memcpy+0x158> + 12652: f100 0420 add.w r4, r0, #32 + 12656: f101 0320 add.w r3, r1, #32 + 1265a: 4615 mov r5, r2 REPEAT8(COPY8); - 12674: f813 6c20 ldrb.w r6, [r3, #-32] - 12678: f804 6c20 strb.w r6, [r4, #-32] - 1267c: f813 6c1f ldrb.w r6, [r3, #-31] - 12680: f804 6c1f strb.w r6, [r4, #-31] - 12684: f813 6c1e ldrb.w r6, [r3, #-30] - 12688: f804 6c1e strb.w r6, [r4, #-30] - 1268c: f813 6c1d ldrb.w r6, [r3, #-29] - 12690: f804 6c1d strb.w r6, [r4, #-29] - 12694: f813 6c1c ldrb.w r6, [r3, #-28] - 12698: f804 6c1c strb.w r6, [r4, #-28] - 1269c: f813 6c1b ldrb.w r6, [r3, #-27] - 126a0: f804 6c1b strb.w r6, [r4, #-27] - 126a4: f813 6c1a ldrb.w r6, [r3, #-26] - 126a8: f804 6c1a strb.w r6, [r4, #-26] - 126ac: f813 6c19 ldrb.w r6, [r3, #-25] - 126b0: f804 6c19 strb.w r6, [r4, #-25] + 1265c: f813 6c20 ldrb.w r6, [r3, #-32] + 12660: f804 6c20 strb.w r6, [r4, #-32] + 12664: f813 6c1f ldrb.w r6, [r3, #-31] + 12668: f804 6c1f strb.w r6, [r4, #-31] + 1266c: f813 6c1e ldrb.w r6, [r3, #-30] + 12670: f804 6c1e strb.w r6, [r4, #-30] + 12674: f813 6c1d ldrb.w r6, [r3, #-29] + 12678: f804 6c1d strb.w r6, [r4, #-29] + 1267c: f813 6c1c ldrb.w r6, [r3, #-28] + 12680: f804 6c1c strb.w r6, [r4, #-28] + 12684: f813 6c1b ldrb.w r6, [r3, #-27] + 12688: f804 6c1b strb.w r6, [r4, #-27] + 1268c: f813 6c1a ldrb.w r6, [r3, #-26] + 12690: f804 6c1a strb.w r6, [r4, #-26] + 12694: f813 6c19 ldrb.w r6, [r3, #-25] + 12698: f804 6c19 strb.w r6, [r4, #-25] REPEAT8(COPY8); - 126b4: f813 6c18 ldrb.w r6, [r3, #-24] - 126b8: f804 6c18 strb.w r6, [r4, #-24] - 126bc: f813 6c17 ldrb.w r6, [r3, #-23] - 126c0: f804 6c17 strb.w r6, [r4, #-23] - 126c4: f813 6c16 ldrb.w r6, [r3, #-22] - 126c8: f804 6c16 strb.w r6, [r4, #-22] - 126cc: f813 6c15 ldrb.w r6, [r3, #-21] - 126d0: f804 6c15 strb.w r6, [r4, #-21] - 126d4: f813 6c14 ldrb.w r6, [r3, #-20] - 126d8: f804 6c14 strb.w r6, [r4, #-20] - 126dc: f813 6c13 ldrb.w r6, [r3, #-19] - 126e0: f804 6c13 strb.w r6, [r4, #-19] - 126e4: f813 6c12 ldrb.w r6, [r3, #-18] - 126e8: f804 6c12 strb.w r6, [r4, #-18] - 126ec: f813 6c11 ldrb.w r6, [r3, #-17] - 126f0: f804 6c11 strb.w r6, [r4, #-17] + 1269c: f813 6c18 ldrb.w r6, [r3, #-24] + 126a0: f804 6c18 strb.w r6, [r4, #-24] + 126a4: f813 6c17 ldrb.w r6, [r3, #-23] + 126a8: f804 6c17 strb.w r6, [r4, #-23] + 126ac: f813 6c16 ldrb.w r6, [r3, #-22] + 126b0: f804 6c16 strb.w r6, [r4, #-22] + 126b4: f813 6c15 ldrb.w r6, [r3, #-21] + 126b8: f804 6c15 strb.w r6, [r4, #-21] + 126bc: f813 6c14 ldrb.w r6, [r3, #-20] + 126c0: f804 6c14 strb.w r6, [r4, #-20] + 126c4: f813 6c13 ldrb.w r6, [r3, #-19] + 126c8: f804 6c13 strb.w r6, [r4, #-19] + 126cc: f813 6c12 ldrb.w r6, [r3, #-18] + 126d0: f804 6c12 strb.w r6, [r4, #-18] + 126d4: f813 6c11 ldrb.w r6, [r3, #-17] + 126d8: f804 6c11 strb.w r6, [r4, #-17] REPEAT8(COPY8); - 126f4: f813 6c10 ldrb.w r6, [r3, #-16] - 126f8: f804 6c10 strb.w r6, [r4, #-16] - 126fc: f813 6c0f ldrb.w r6, [r3, #-15] - 12700: f804 6c0f strb.w r6, [r4, #-15] - 12704: f813 6c0e ldrb.w r6, [r3, #-14] - 12708: f804 6c0e strb.w r6, [r4, #-14] - 1270c: f813 6c0d ldrb.w r6, [r3, #-13] - 12710: f804 6c0d strb.w r6, [r4, #-13] - 12714: f813 6c0c ldrb.w r6, [r3, #-12] - 12718: f804 6c0c strb.w r6, [r4, #-12] - 1271c: f813 6c0b ldrb.w r6, [r3, #-11] - 12720: f804 6c0b strb.w r6, [r4, #-11] - 12724: f813 6c0a ldrb.w r6, [r3, #-10] - 12728: f804 6c0a strb.w r6, [r4, #-10] - 1272c: f813 6c09 ldrb.w r6, [r3, #-9] - 12730: f804 6c09 strb.w r6, [r4, #-9] + 126dc: f813 6c10 ldrb.w r6, [r3, #-16] + 126e0: f804 6c10 strb.w r6, [r4, #-16] + 126e4: f813 6c0f ldrb.w r6, [r3, #-15] + 126e8: f804 6c0f strb.w r6, [r4, #-15] + 126ec: f813 6c0e ldrb.w r6, [r3, #-14] + 126f0: f804 6c0e strb.w r6, [r4, #-14] + 126f4: f813 6c0d ldrb.w r6, [r3, #-13] + 126f8: f804 6c0d strb.w r6, [r4, #-13] + 126fc: f813 6c0c ldrb.w r6, [r3, #-12] + 12700: f804 6c0c strb.w r6, [r4, #-12] + 12704: f813 6c0b ldrb.w r6, [r3, #-11] + 12708: f804 6c0b strb.w r6, [r4, #-11] + 1270c: f813 6c0a ldrb.w r6, [r3, #-10] + 12710: f804 6c0a strb.w r6, [r4, #-10] + 12714: f813 6c09 ldrb.w r6, [r3, #-9] + 12718: f804 6c09 strb.w r6, [r4, #-9] REPEAT8(COPY8); - 12734: f813 6c08 ldrb.w r6, [r3, #-8] - 12738: f804 6c08 strb.w r6, [r4, #-8] - 1273c: f813 6c07 ldrb.w r6, [r3, #-7] - 12740: f804 6c07 strb.w r6, [r4, #-7] - 12744: f813 6c06 ldrb.w r6, [r3, #-6] - 12748: f804 6c06 strb.w r6, [r4, #-6] - 1274c: f813 6c05 ldrb.w r6, [r3, #-5] - 12750: f804 6c05 strb.w r6, [r4, #-5] - 12754: f813 6c04 ldrb.w r6, [r3, #-4] - 12758: f804 6c04 strb.w r6, [r4, #-4] - 1275c: f813 6c03 ldrb.w r6, [r3, #-3] - 12760: f804 6c03 strb.w r6, [r4, #-3] - 12764: f813 6c02 ldrb.w r6, [r3, #-2] - 12768: f804 6c02 strb.w r6, [r4, #-2] - 1276c: f813 6c01 ldrb.w r6, [r3, #-1] - 12770: f804 6c01 strb.w r6, [r4, #-1] + 1271c: f813 6c08 ldrb.w r6, [r3, #-8] + 12720: f804 6c08 strb.w r6, [r4, #-8] + 12724: f813 6c07 ldrb.w r6, [r3, #-7] + 12728: f804 6c07 strb.w r6, [r4, #-7] + 1272c: f813 6c06 ldrb.w r6, [r3, #-6] + 12730: f804 6c06 strb.w r6, [r4, #-6] + 12734: f813 6c05 ldrb.w r6, [r3, #-5] + 12738: f804 6c05 strb.w r6, [r4, #-5] + 1273c: f813 6c04 ldrb.w r6, [r3, #-4] + 12740: f804 6c04 strb.w r6, [r4, #-4] + 12744: f813 6c03 ldrb.w r6, [r3, #-3] + 12748: f804 6c03 strb.w r6, [r4, #-3] + 1274c: f813 6c02 ldrb.w r6, [r3, #-2] + 12750: f804 6c02 strb.w r6, [r4, #-2] + 12754: f813 6c01 ldrb.w r6, [r3, #-1] + 12758: f804 6c01 strb.w r6, [r4, #-1] len -= 32; - 12774: 3d20 subs r5, #32 - 12776: 3420 adds r4, #32 - 12778: 3320 adds r3, #32 + 1275c: 3d20 subs r5, #32 + 1275e: 3420 adds r4, #32 + 12760: 3320 adds r3, #32 while(len > 32) { - 1277a: 2d20 cmp r5, #32 - 1277c: f63f af7a bhi.w 12674 <_lv_memcpy+0x20> - 12780: f1a2 0521 sub.w r5, r2, #33 ; 0x21 - 12784: f025 041f bic.w r4, r5, #31 - 12788: 3420 adds r4, #32 - 1278a: 1903 adds r3, r0, r4 - 1278c: 4421 add r1, r4 - 1278e: 3a20 subs r2, #32 - 12790: f025 051f bic.w r5, r5, #31 - 12794: 1b52 subs r2, r2, r5 + 12762: 2d20 cmp r5, #32 + 12764: f63f af7a bhi.w 1265c <_lv_memcpy+0x20> + 12768: f1a2 0521 sub.w r5, r2, #33 ; 0x21 + 1276c: f025 041f bic.w r4, r5, #31 + 12770: 3420 adds r4, #32 + 12772: 1903 adds r3, r0, r4 + 12774: 4421 add r1, r4 + 12776: 3a20 subs r2, #32 + 12778: f025 051f bic.w r5, r5, #31 + 1277c: 1b52 subs r2, r2, r5 while(len) { - 12796: b13a cbz r2, 127a8 <_lv_memcpy+0x154> - 12798: 3901 subs r1, #1 - 1279a: 441a add r2, r3 + 1277e: b13a cbz r2, 12790 <_lv_memcpy+0x154> + 12780: 3901 subs r1, #1 + 12782: 441a add r2, r3 COPY8 - 1279c: f811 4f01 ldrb.w r4, [r1, #1]! - 127a0: f803 4b01 strb.w r4, [r3], #1 + 12784: f811 4f01 ldrb.w r4, [r1, #1]! + 12788: f803 4b01 strb.w r4, [r3], #1 while(len) { - 127a4: 429a cmp r2, r3 - 127a6: d1f9 bne.n 1279c <_lv_memcpy+0x148> + 1278c: 429a cmp r2, r3 + 1278e: d1f9 bne.n 12784 <_lv_memcpy+0x148> } - 127a8: bcf0 pop {r4, r5, r6, r7} - 127aa: 4770 bx lr + 12790: bcf0 pop {r4, r5, r6, r7} + 12792: 4770 bx lr while(len > 32) { - 127ac: 4603 mov r3, r0 - 127ae: e7f2 b.n 12796 <_lv_memcpy+0x142> + 12794: 4603 mov r3, r0 + 12796: e7f2 b.n 1277e <_lv_memcpy+0x142> if(d_align) { - 127b0: 2b00 cmp r3, #0 - 127b2: d15b bne.n 1286c <_lv_memcpy+0x218> + 12798: 2b00 cmp r3, #0 + 1279a: d15b bne.n 12854 <_lv_memcpy+0x218> uint8_t * d8 = dst; - 127b4: 4605 mov r5, r0 + 1279c: 4605 mov r5, r0 while(len > 32) { - 127b6: 2a20 cmp r2, #32 - 127b8: d934 bls.n 12824 <_lv_memcpy+0x1d0> - 127ba: f105 0420 add.w r4, r5, #32 - 127be: f101 0320 add.w r3, r1, #32 - 127c2: 4616 mov r6, r2 + 1279e: 2a20 cmp r2, #32 + 127a0: d934 bls.n 1280c <_lv_memcpy+0x1d0> + 127a2: f105 0420 add.w r4, r5, #32 + 127a6: f101 0320 add.w r3, r1, #32 + 127aa: 4616 mov r6, r2 REPEAT8(COPY32) - 127c4: f853 7c20 ldr.w r7, [r3, #-32] - 127c8: f844 7c20 str.w r7, [r4, #-32] - 127cc: f853 7c1c ldr.w r7, [r3, #-28] - 127d0: f844 7c1c str.w r7, [r4, #-28] - 127d4: f853 7c18 ldr.w r7, [r3, #-24] - 127d8: f844 7c18 str.w r7, [r4, #-24] - 127dc: f853 7c14 ldr.w r7, [r3, #-20] - 127e0: f844 7c14 str.w r7, [r4, #-20] - 127e4: f853 7c10 ldr.w r7, [r3, #-16] - 127e8: f844 7c10 str.w r7, [r4, #-16] - 127ec: f853 7c0c ldr.w r7, [r3, #-12] - 127f0: f844 7c0c str.w r7, [r4, #-12] - 127f4: f853 7c08 ldr.w r7, [r3, #-8] - 127f8: f844 7c08 str.w r7, [r4, #-8] - 127fc: f853 7c04 ldr.w r7, [r3, #-4] - 12800: f844 7c04 str.w r7, [r4, #-4] + 127ac: f853 7c20 ldr.w r7, [r3, #-32] + 127b0: f844 7c20 str.w r7, [r4, #-32] + 127b4: f853 7c1c ldr.w r7, [r3, #-28] + 127b8: f844 7c1c str.w r7, [r4, #-28] + 127bc: f853 7c18 ldr.w r7, [r3, #-24] + 127c0: f844 7c18 str.w r7, [r4, #-24] + 127c4: f853 7c14 ldr.w r7, [r3, #-20] + 127c8: f844 7c14 str.w r7, [r4, #-20] + 127cc: f853 7c10 ldr.w r7, [r3, #-16] + 127d0: f844 7c10 str.w r7, [r4, #-16] + 127d4: f853 7c0c ldr.w r7, [r3, #-12] + 127d8: f844 7c0c str.w r7, [r4, #-12] + 127dc: f853 7c08 ldr.w r7, [r3, #-8] + 127e0: f844 7c08 str.w r7, [r4, #-8] + 127e4: f853 7c04 ldr.w r7, [r3, #-4] + 127e8: f844 7c04 str.w r7, [r4, #-4] len -= 32; - 12804: 3e20 subs r6, #32 - 12806: 3420 adds r4, #32 - 12808: 3320 adds r3, #32 + 127ec: 3e20 subs r6, #32 + 127ee: 3420 adds r4, #32 + 127f0: 3320 adds r3, #32 while(len > 32) { - 1280a: 2e20 cmp r6, #32 - 1280c: d8da bhi.n 127c4 <_lv_memcpy+0x170> - 1280e: f1a2 0321 sub.w r3, r2, #33 ; 0x21 - 12812: f023 041f bic.w r4, r3, #31 - 12816: 3420 adds r4, #32 - 12818: 4425 add r5, r4 - 1281a: 4421 add r1, r4 - 1281c: 3a20 subs r2, #32 - 1281e: f023 031f bic.w r3, r3, #31 - 12822: 1ad2 subs r2, r2, r3 + 127f2: 2e20 cmp r6, #32 + 127f4: d8da bhi.n 127ac <_lv_memcpy+0x170> + 127f6: f1a2 0321 sub.w r3, r2, #33 ; 0x21 + 127fa: f023 041f bic.w r4, r3, #31 + 127fe: 3420 adds r4, #32 + 12800: 4425 add r5, r4 + 12802: 4421 add r1, r4 + 12804: 3a20 subs r2, #32 + 12806: f023 031f bic.w r3, r3, #31 + 1280a: 1ad2 subs r2, r2, r3 while(len > 4) { - 12824: 2a04 cmp r2, #4 - 12826: d932 bls.n 1288e <_lv_memcpy+0x23a> - 12828: 1f0e subs r6, r1, #4 - 1282a: 462c mov r4, r5 - 1282c: 4613 mov r3, r2 + 1280c: 2a04 cmp r2, #4 + 1280e: d932 bls.n 12876 <_lv_memcpy+0x23a> + 12810: 1f0e subs r6, r1, #4 + 12812: 462c mov r4, r5 + 12814: 4613 mov r3, r2 COPY32; - 1282e: f856 7f04 ldr.w r7, [r6, #4]! - 12832: f844 7b04 str.w r7, [r4], #4 + 12816: f856 7f04 ldr.w r7, [r6, #4]! + 1281a: f844 7b04 str.w r7, [r4], #4 len -= 4; - 12836: 3b04 subs r3, #4 + 1281e: 3b04 subs r3, #4 while(len > 4) { - 12838: 2b04 cmp r3, #4 - 1283a: d8f8 bhi.n 1282e <_lv_memcpy+0x1da> - 1283c: 1f54 subs r4, r2, #5 - 1283e: f024 0303 bic.w r3, r4, #3 - 12842: 3304 adds r3, #4 - 12844: 3a04 subs r2, #4 - 12846: f024 0403 bic.w r4, r4, #3 - 1284a: 1b12 subs r2, r2, r4 + 12820: 2b04 cmp r3, #4 + 12822: d8f8 bhi.n 12816 <_lv_memcpy+0x1da> + 12824: 1f54 subs r4, r2, #5 + 12826: f024 0303 bic.w r3, r4, #3 + 1282a: 3304 adds r3, #4 + 1282c: 3a04 subs r2, #4 + 1282e: f024 0403 bic.w r4, r4, #3 + 12832: 1b12 subs r2, r2, r4 COPY32; - 1284c: 4419 add r1, r3 - 1284e: 442b add r3, r5 + 12834: 4419 add r1, r3 + 12836: 442b add r3, r5 while(len) { - 12850: 2a00 cmp r2, #0 - 12852: d0a9 beq.n 127a8 <_lv_memcpy+0x154> - 12854: 3901 subs r1, #1 - 12856: 441a add r2, r3 + 12838: 2a00 cmp r2, #0 + 1283a: d0a9 beq.n 12790 <_lv_memcpy+0x154> + 1283c: 3901 subs r1, #1 + 1283e: 441a add r2, r3 COPY8 - 12858: f811 4f01 ldrb.w r4, [r1, #1]! - 1285c: f803 4b01 strb.w r4, [r3], #1 + 12840: f811 4f01 ldrb.w r4, [r1, #1]! + 12844: f803 4b01 strb.w r4, [r3], #1 while(len) { - 12860: 4293 cmp r3, r2 - 12862: d1f9 bne.n 12858 <_lv_memcpy+0x204> - 12864: e7a0 b.n 127a8 <_lv_memcpy+0x154> + 12848: 4293 cmp r3, r2 + 1284a: d1f9 bne.n 12840 <_lv_memcpy+0x204> + 1284c: e7a0 b.n 12790 <_lv_memcpy+0x154> COPY8; - 12866: 4629 mov r1, r5 - 12868: 461d mov r5, r3 - 1286a: e7a4 b.n 127b6 <_lv_memcpy+0x162> + 1284e: 4629 mov r1, r5 + 12850: 461d mov r5, r3 + 12852: e7a4 b.n 1279e <_lv_memcpy+0x162> while(d_align && len) { - 1286c: f1c3 0304 rsb r3, r3, #4 - 12870: b17a cbz r2, 12892 <_lv_memcpy+0x23e> - 12872: 18c4 adds r4, r0, r3 - 12874: 4603 mov r3, r0 + 12854: f1c3 0304 rsb r3, r3, #4 + 12858: b17a cbz r2, 1287a <_lv_memcpy+0x23e> + 1285a: 18c4 adds r4, r0, r3 + 1285c: 4603 mov r3, r0 COPY8; - 12876: f811 5b01 ldrb.w r5, [r1], #1 - 1287a: f803 5b01 strb.w r5, [r3], #1 - 1287e: 460d mov r5, r1 + 1285e: f811 5b01 ldrb.w r5, [r1], #1 + 12862: f803 5b01 strb.w r5, [r3], #1 + 12866: 460d mov r5, r1 len--; - 12880: 3a01 subs r2, #1 + 12868: 3a01 subs r2, #1 while(d_align && len) { - 12882: 42a3 cmp r3, r4 - 12884: d0ef beq.n 12866 <_lv_memcpy+0x212> - 12886: 2a00 cmp r2, #0 - 12888: d1f5 bne.n 12876 <_lv_memcpy+0x222> + 1286a: 42a3 cmp r3, r4 + 1286c: d0ef beq.n 1284e <_lv_memcpy+0x212> + 1286e: 2a00 cmp r2, #0 + 12870: d1f5 bne.n 1285e <_lv_memcpy+0x222> while(len > 4) { - 1288a: 2200 movs r2, #0 - 1288c: e7e0 b.n 12850 <_lv_memcpy+0x1fc> - 1288e: 462b mov r3, r5 - 12890: e7de b.n 12850 <_lv_memcpy+0x1fc> + 12872: 2200 movs r2, #0 + 12874: e7e0 b.n 12838 <_lv_memcpy+0x1fc> + 12876: 462b mov r3, r5 + 12878: e7de b.n 12838 <_lv_memcpy+0x1fc> uint8_t * d8 = dst; - 12892: 4603 mov r3, r0 - 12894: e7f9 b.n 1288a <_lv_memcpy+0x236> + 1287a: 4603 mov r3, r0 + 1287c: e7f9 b.n 12872 <_lv_memcpy+0x236> ... -00012898 : +00012880 : { - 12898: b5f0 push {r4, r5, r6, r7, lr} - 1289a: b083 sub sp, #12 - 1289c: 4604 mov r4, r0 - 1289e: 460d mov r5, r1 + 12880: b5f0 push {r4, r5, r6, r7, lr} + 12882: b083 sub sp, #12 + 12884: 4604 mov r4, r0 + 12886: 460d mov r5, r1 if(new_size & 0x3) { - 128a0: f011 0f03 tst.w r1, #3 + 12888: f011 0f03 tst.w r1, #3 new_size = new_size & (~0x3); - 128a4: bf1c itt ne - 128a6: f021 0503 bicne.w r5, r1, #3 + 1288c: bf1c itt ne + 1288e: f021 0503 bicne.w r5, r1, #3 new_size += 4; - 128aa: 3504 addne r5, #4 + 12892: 3504 addne r5, #4 if(data_p != NULL) { - 128ac: b138 cbz r0, 128be + 12894: b138 cbz r0, 128a6 if(e->header.s.used == 0) { - 128ae: f810 3c04 ldrb.w r3, [r0, #-4] - 128b2: f003 0301 and.w r3, r3, #1 + 12896: f810 3c04 ldrb.w r3, [r0, #-4] + 1289a: f003 0301 and.w r3, r3, #1 data_p = NULL; - 128b6: 2b00 cmp r3, #0 - 128b8: bf14 ite ne - 128ba: 4604 movne r4, r0 - 128bc: 2400 moveq r4, #0 + 1289e: 2b00 cmp r3, #0 + 128a0: bf14 ite ne + 128a2: 4604 movne r4, r0 + 128a4: 2400 moveq r4, #0 uint32_t old_size = _lv_mem_get_size(data_p); - 128be: 4620 mov r0, r4 - 128c0: 4b15 ldr r3, [pc, #84] ; (12918 ) - 128c2: 4798 blx r3 - 128c4: 4606 mov r6, r0 + 128a6: 4620 mov r0, r4 + 128a8: 4b15 ldr r3, [pc, #84] ; (12900 ) + 128aa: 4798 blx r3 + 128ac: 4606 mov r6, r0 if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/ - 128c6: 4285 cmp r5, r0 - 128c8: d024 beq.n 12914 + 128ae: 4285 cmp r5, r0 + 128b0: d024 beq.n 128fc if(new_size < old_size) { - 128ca: d311 bcc.n 128f0 + 128b2: d311 bcc.n 128d8 new_p = lv_mem_alloc(new_size); - 128cc: 4628 mov r0, r5 - 128ce: 4b13 ldr r3, [pc, #76] ; (1291c ) - 128d0: 4798 blx r3 + 128b4: 4628 mov r0, r5 + 128b6: 4b13 ldr r3, [pc, #76] ; (12904 ) + 128b8: 4798 blx r3 if(new_p == NULL) { - 128d2: 4607 mov r7, r0 - 128d4: b1a0 cbz r0, 12900 + 128ba: 4607 mov r7, r0 + 128bc: b1a0 cbz r0, 128e8 if(data_p != NULL) { - 128d6: b184 cbz r4, 128fa + 128be: b184 cbz r4, 128e2 if(old_size != 0) { - 128d8: b17e cbz r6, 128fa + 128c0: b17e cbz r6, 128e2 _lv_memcpy(new_p, data_p, LV_MATH_MIN(new_size, old_size)); - 128da: 462a mov r2, r5 - 128dc: 42b5 cmp r5, r6 - 128de: bf28 it cs - 128e0: 4632 movcs r2, r6 - 128e2: 4621 mov r1, r4 - 128e4: 4b0e ldr r3, [pc, #56] ; (12920 ) - 128e6: 4798 blx r3 + 128c2: 462a mov r2, r5 + 128c4: 42b5 cmp r5, r6 + 128c6: bf28 it cs + 128c8: 4632 movcs r2, r6 + 128ca: 4621 mov r1, r4 + 128cc: 4b0e ldr r3, [pc, #56] ; (12908 ) + 128ce: 4798 blx r3 lv_mem_free(data_p); - 128e8: 4620 mov r0, r4 - 128ea: 4b0e ldr r3, [pc, #56] ; (12924 ) - 128ec: 4798 blx r3 - 128ee: e004 b.n 128fa + 128d0: 4620 mov r0, r4 + 128d2: 4b0e ldr r3, [pc, #56] ; (1290c ) + 128d4: 4798 blx r3 + 128d6: e004 b.n 128e2 ent_trunc(e, new_size); - 128f0: 4629 mov r1, r5 - 128f2: 1f20 subs r0, r4, #4 - 128f4: 4b0c ldr r3, [pc, #48] ; (12928 ) - 128f6: 4798 blx r3 + 128d8: 4629 mov r1, r5 + 128da: 1f20 subs r0, r4, #4 + 128dc: 4b0c ldr r3, [pc, #48] ; (12910 ) + 128de: 4798 blx r3 return &e->first_data; - 128f8: 4627 mov r7, r4 + 128e0: 4627 mov r7, r4 } - 128fa: 4638 mov r0, r7 - 128fc: b003 add sp, #12 - 128fe: bdf0 pop {r4, r5, r6, r7, pc} + 128e2: 4638 mov r0, r7 + 128e4: b003 add sp, #12 + 128e6: bdf0 pop {r4, r5, r6, r7, pc} LV_LOG_WARN("Couldn't allocate memory"); - 12900: 4b0a ldr r3, [pc, #40] ; (1292c ) - 12902: 9300 str r3, [sp, #0] - 12904: 4b0a ldr r3, [pc, #40] ; (12930 ) - 12906: f240 123f movw r2, #319 ; 0x13f - 1290a: 490a ldr r1, [pc, #40] ; (12934 ) - 1290c: 2002 movs r0, #2 - 1290e: 4c0a ldr r4, [pc, #40] ; (12938 ) - 12910: 47a0 blx r4 + 128e8: 4b0a ldr r3, [pc, #40] ; (12914 ) + 128ea: 9300 str r3, [sp, #0] + 128ec: 4b0a ldr r3, [pc, #40] ; (12918 ) + 128ee: f240 123f movw r2, #319 ; 0x13f + 128f2: 490a ldr r1, [pc, #40] ; (1291c ) + 128f4: 2002 movs r0, #2 + 128f6: 4c0a ldr r4, [pc, #40] ; (12920 ) + 128f8: 47a0 blx r4 return NULL; - 12912: e7f2 b.n 128fa + 128fa: e7f2 b.n 128e2 if(old_size == new_size) return data_p; /*Also avoid reallocating the same memory*/ - 12914: 4627 mov r7, r4 - 12916: e7f0 b.n 128fa - 12918: 00012551 .word 0x00012551 - 1291c: 000123dd .word 0x000123dd - 12920: 00012655 .word 0x00012655 - 12924: 000124c5 .word 0x000124c5 - 12928: 00012369 .word 0x00012369 - 1292c: 000293c0 .word 0x000293c0 - 12930: 00029378 .word 0x00029378 - 12934: 00029398 .word 0x00029398 - 12938: 0001225d .word 0x0001225d - -0001293c <_lv_mem_buf_get>: + 128fc: 4627 mov r7, r4 + 128fe: e7f0 b.n 128e2 + 12900: 00012539 .word 0x00012539 + 12904: 000123c5 .word 0x000123c5 + 12908: 0001263d .word 0x0001263d + 1290c: 000124ad .word 0x000124ad + 12910: 00012351 .word 0x00012351 + 12914: 000293a8 .word 0x000293a8 + 12918: 00029360 .word 0x00029360 + 1291c: 00029380 .word 0x00029380 + 12920: 00012245 .word 0x00012245 + +00012924 <_lv_mem_buf_get>: if(size == 0) return NULL; - 1293c: 2800 cmp r0, #0 - 1293e: f000 808d beq.w 12a5c <_lv_mem_buf_get+0x120> - 12942: 4601 mov r1, r0 + 12924: 2800 cmp r0, #0 + 12926: f000 808d beq.w 12a44 <_lv_mem_buf_get+0x120> + 1292a: 4601 mov r1, r0 if(size <= MEM_BUF_SMALL_SIZE) { - 12944: 2810 cmp r0, #16 - 12946: d80b bhi.n 12960 <_lv_mem_buf_get+0x24> + 1292c: 2810 cmp r0, #16 + 1292e: d80b bhi.n 12948 <_lv_mem_buf_get+0x24> if(mem_buf_small[i].used == 0) { - 12948: 4b45 ldr r3, [pc, #276] ; (12a60 <_lv_mem_buf_get+0x124>) - 1294a: 799b ldrb r3, [r3, #6] - 1294c: f013 0f01 tst.w r3, #1 - 12950: d00e beq.n 12970 <_lv_mem_buf_get+0x34> - 12952: 4b43 ldr r3, [pc, #268] ; (12a60 <_lv_mem_buf_get+0x124>) - 12954: 7b9b ldrb r3, [r3, #14] - 12956: f013 0f01 tst.w r3, #1 - 1295a: bf08 it eq - 1295c: 2001 moveq r0, #1 - 1295e: d008 beq.n 12972 <_lv_mem_buf_get+0x36> -{ - 12960: b570 push {r4, r5, r6, lr} - 12962: b082 sub sp, #8 - 12964: 4a3f ldr r2, [pc, #252] ; (12a64 <_lv_mem_buf_get+0x128>) + 12930: 4b45 ldr r3, [pc, #276] ; (12a48 <_lv_mem_buf_get+0x124>) + 12932: 799b ldrb r3, [r3, #6] + 12934: f013 0f01 tst.w r3, #1 + 12938: d00e beq.n 12958 <_lv_mem_buf_get+0x34> + 1293a: 4b43 ldr r3, [pc, #268] ; (12a48 <_lv_mem_buf_get+0x124>) + 1293c: 7b9b ldrb r3, [r3, #14] + 1293e: f013 0f01 tst.w r3, #1 + 12942: bf08 it eq + 12944: 2001 moveq r0, #1 + 12946: d008 beq.n 1295a <_lv_mem_buf_get+0x36> +{ + 12948: b570 push {r4, r5, r6, lr} + 1294a: b082 sub sp, #8 + 1294c: 4a3f ldr r2, [pc, #252] ; (12a4c <_lv_mem_buf_get+0x128>) if(mem_buf_small[i].used == 0) { - 12966: 2300 movs r3, #0 - 12968: f04f 36ff mov.w r6, #4294967295 + 1294e: 2300 movs r3, #0 + 12950: f04f 36ff mov.w r6, #4294967295 if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) { - 1296c: 4614 mov r4, r2 - 1296e: e019 b.n 129a4 <_lv_mem_buf_get+0x68> + 12954: 4614 mov r4, r2 + 12956: e019 b.n 1298c <_lv_mem_buf_get+0x68> if(mem_buf_small[i].used == 0) { - 12970: 2000 movs r0, #0 + 12958: 2000 movs r0, #0 mem_buf_small[i].used = 1; - 12972: 4a3b ldr r2, [pc, #236] ; (12a60 <_lv_mem_buf_get+0x124>) - 12974: eb02 01c0 add.w r1, r2, r0, lsl #3 - 12978: 798b ldrb r3, [r1, #6] - 1297a: f043 0301 orr.w r3, r3, #1 - 1297e: 718b strb r3, [r1, #6] + 1295a: 4a3b ldr r2, [pc, #236] ; (12a48 <_lv_mem_buf_get+0x124>) + 1295c: eb02 01c0 add.w r1, r2, r0, lsl #3 + 12960: 798b ldrb r3, [r1, #6] + 12962: f043 0301 orr.w r3, r3, #1 + 12966: 718b strb r3, [r1, #6] return mem_buf_small[i].p; - 12980: f852 0030 ldr.w r0, [r2, r0, lsl #3] - 12984: 4770 bx lr + 12968: f852 0030 ldr.w r0, [r2, r0, lsl #3] + 1296c: 4770 bx lr LV_GC_ROOT(_lv_mem_buf[i]).used = 1; - 12986: 4a37 ldr r2, [pc, #220] ; (12a64 <_lv_mem_buf_get+0x128>) - 12988: eb02 01c3 add.w r1, r2, r3, lsl #3 - 1298c: 798b ldrb r3, [r1, #6] - 1298e: f043 0301 orr.w r3, r3, #1 - 12992: 718b strb r3, [r1, #6] + 1296e: 4a37 ldr r2, [pc, #220] ; (12a4c <_lv_mem_buf_get+0x128>) + 12970: eb02 01c3 add.w r1, r2, r3, lsl #3 + 12974: 798b ldrb r3, [r1, #6] + 12976: f043 0301 orr.w r3, r3, #1 + 1297a: 718b strb r3, [r1, #6] return LV_GC_ROOT(_lv_mem_buf[i]).p; - 12994: f852 0035 ldr.w r0, [r2, r5, lsl #3] - 12998: e023 b.n 129e2 <_lv_mem_buf_get+0xa6> + 1297c: f852 0035 ldr.w r0, [r2, r5, lsl #3] + 12980: e023 b.n 129ca <_lv_mem_buf_get+0xa6> i_guess = i; - 1299a: b25e sxtb r6, r3 - 1299c: 3301 adds r3, #1 - 1299e: 3208 adds r2, #8 + 12982: b25e sxtb r6, r3 + 12984: 3301 adds r3, #1 + 12986: 3208 adds r2, #8 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 129a0: 2b10 cmp r3, #16 - 129a2: d013 beq.n 129cc <_lv_mem_buf_get+0x90> + 12988: 2b10 cmp r3, #16 + 1298a: d013 beq.n 129b4 <_lv_mem_buf_get+0x90> if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0 && LV_GC_ROOT(_lv_mem_buf[i]).size >= size) { - 129a4: 461d mov r5, r3 - 129a6: eb04 00c3 add.w r0, r4, r3, lsl #3 - 129aa: 7980 ldrb r0, [r0, #6] - 129ac: f010 0f01 tst.w r0, #1 - 129b0: d1f4 bne.n 1299c <_lv_mem_buf_get+0x60> - 129b2: 8890 ldrh r0, [r2, #4] - 129b4: 4281 cmp r1, r0 - 129b6: d8f1 bhi.n 1299c <_lv_mem_buf_get+0x60> + 1298c: 461d mov r5, r3 + 1298e: eb04 00c3 add.w r0, r4, r3, lsl #3 + 12992: 7980 ldrb r0, [r0, #6] + 12994: f010 0f01 tst.w r0, #1 + 12998: d1f4 bne.n 12984 <_lv_mem_buf_get+0x60> + 1299a: 8890 ldrh r0, [r2, #4] + 1299c: 4281 cmp r1, r0 + 1299e: d8f1 bhi.n 12984 <_lv_mem_buf_get+0x60> if(LV_GC_ROOT(_lv_mem_buf[i]).size == size) { - 129b8: d0e5 beq.n 12986 <_lv_mem_buf_get+0x4a> + 129a0: d0e5 beq.n 1296e <_lv_mem_buf_get+0x4a> else if(i_guess < 0) { - 129ba: 2e00 cmp r6, #0 - 129bc: dbed blt.n 1299a <_lv_mem_buf_get+0x5e> + 129a2: 2e00 cmp r6, #0 + 129a4: dbed blt.n 12982 <_lv_mem_buf_get+0x5e> else if(LV_GC_ROOT(_lv_mem_buf[i]).size < LV_GC_ROOT(_lv_mem_buf[i_guess]).size) { - 129be: eb04 05c6 add.w r5, r4, r6, lsl #3 - 129c2: 88ad ldrh r5, [r5, #4] - 129c4: 4285 cmp r5, r0 + 129a6: eb04 05c6 add.w r5, r4, r6, lsl #3 + 129aa: 88ad ldrh r5, [r5, #4] + 129ac: 4285 cmp r5, r0 i_guess = i; - 129c6: bf88 it hi - 129c8: b25e sxtbhi r6, r3 - 129ca: e7e7 b.n 1299c <_lv_mem_buf_get+0x60> + 129ae: bf88 it hi + 129b0: b25e sxtbhi r6, r3 + 129b2: e7e7 b.n 12984 <_lv_mem_buf_get+0x60> if(i_guess >= 0) { - 129cc: 2e00 cmp r6, #0 - 129ce: db0a blt.n 129e6 <_lv_mem_buf_get+0xaa> + 129b4: 2e00 cmp r6, #0 + 129b6: db0a blt.n 129ce <_lv_mem_buf_get+0xaa> LV_GC_ROOT(_lv_mem_buf[i_guess]).used = 1; - 129d0: 4a24 ldr r2, [pc, #144] ; (12a64 <_lv_mem_buf_get+0x128>) - 129d2: eb02 01c6 add.w r1, r2, r6, lsl #3 - 129d6: 798b ldrb r3, [r1, #6] - 129d8: f043 0301 orr.w r3, r3, #1 - 129dc: 718b strb r3, [r1, #6] + 129b8: 4a24 ldr r2, [pc, #144] ; (12a4c <_lv_mem_buf_get+0x128>) + 129ba: eb02 01c6 add.w r1, r2, r6, lsl #3 + 129be: 798b ldrb r3, [r1, #6] + 129c0: f043 0301 orr.w r3, r3, #1 + 129c4: 718b strb r3, [r1, #6] return LV_GC_ROOT(_lv_mem_buf[i_guess]).p; - 129de: f852 0036 ldr.w r0, [r2, r6, lsl #3] + 129c6: f852 0036 ldr.w r0, [r2, r6, lsl #3] } - 129e2: b002 add sp, #8 - 129e4: bd70 pop {r4, r5, r6, pc} + 129ca: b002 add sp, #8 + 129cc: bd70 pop {r4, r5, r6, pc} if(LV_GC_ROOT(_lv_mem_buf[i]).used == 0) { - 129e6: 4b1f ldr r3, [pc, #124] ; (12a64 <_lv_mem_buf_get+0x128>) - 129e8: 799b ldrb r3, [r3, #6] - 129ea: f013 0f01 tst.w r3, #1 - 129ee: bf08 it eq - 129f0: 2400 moveq r4, #0 - 129f2: d016 beq.n 12a22 <_lv_mem_buf_get+0xe6> - 129f4: 2301 movs r3, #1 - 129f6: 481b ldr r0, [pc, #108] ; (12a64 <_lv_mem_buf_get+0x128>) - 129f8: 461c mov r4, r3 - 129fa: eb00 02c3 add.w r2, r0, r3, lsl #3 - 129fe: 7992 ldrb r2, [r2, #6] - 12a00: f012 0f01 tst.w r2, #1 - 12a04: d00d beq.n 12a22 <_lv_mem_buf_get+0xe6> - 12a06: 3301 adds r3, #1 + 129ce: 4b1f ldr r3, [pc, #124] ; (12a4c <_lv_mem_buf_get+0x128>) + 129d0: 799b ldrb r3, [r3, #6] + 129d2: f013 0f01 tst.w r3, #1 + 129d6: bf08 it eq + 129d8: 2400 moveq r4, #0 + 129da: d016 beq.n 12a0a <_lv_mem_buf_get+0xe6> + 129dc: 2301 movs r3, #1 + 129de: 481b ldr r0, [pc, #108] ; (12a4c <_lv_mem_buf_get+0x128>) + 129e0: 461c mov r4, r3 + 129e2: eb00 02c3 add.w r2, r0, r3, lsl #3 + 129e6: 7992 ldrb r2, [r2, #6] + 129e8: f012 0f01 tst.w r2, #1 + 129ec: d00d beq.n 12a0a <_lv_mem_buf_get+0xe6> + 129ee: 3301 adds r3, #1 for(i = 0; i < LV_MEM_BUF_MAX_NUM; i++) { - 12a08: 2b10 cmp r3, #16 - 12a0a: d1f5 bne.n 129f8 <_lv_mem_buf_get+0xbc> + 129f0: 2b10 cmp r3, #16 + 129f2: d1f5 bne.n 129e0 <_lv_mem_buf_get+0xbc> LV_LOG_ERROR("lv_mem_buf_get: no free buffer. Increase LV_DRAW_BUF_MAX_NUM."); - 12a0c: 4b16 ldr r3, [pc, #88] ; (12a68 <_lv_mem_buf_get+0x12c>) - 12a0e: 9300 str r3, [sp, #0] - 12a10: 4b16 ldr r3, [pc, #88] ; (12a6c <_lv_mem_buf_get+0x130>) - 12a12: f240 2216 movw r2, #534 ; 0x216 - 12a16: 4916 ldr r1, [pc, #88] ; (12a70 <_lv_mem_buf_get+0x134>) - 12a18: 2003 movs r0, #3 - 12a1a: 4c16 ldr r4, [pc, #88] ; (12a74 <_lv_mem_buf_get+0x138>) - 12a1c: 47a0 blx r4 + 129f4: 4b16 ldr r3, [pc, #88] ; (12a50 <_lv_mem_buf_get+0x12c>) + 129f6: 9300 str r3, [sp, #0] + 129f8: 4b16 ldr r3, [pc, #88] ; (12a54 <_lv_mem_buf_get+0x130>) + 129fa: f240 2216 movw r2, #534 ; 0x216 + 129fe: 4916 ldr r1, [pc, #88] ; (12a58 <_lv_mem_buf_get+0x134>) + 12a00: 2003 movs r0, #3 + 12a02: 4c16 ldr r4, [pc, #88] ; (12a5c <_lv_mem_buf_get+0x138>) + 12a04: 47a0 blx r4 return NULL; - 12a1e: 2000 movs r0, #0 - 12a20: e7df b.n 129e2 <_lv_mem_buf_get+0xa6> + 12a06: 2000 movs r0, #0 + 12a08: e7df b.n 129ca <_lv_mem_buf_get+0xa6> LV_GC_ROOT(_lv_mem_buf[i]).used = 1; - 12a22: 4d10 ldr r5, [pc, #64] ; (12a64 <_lv_mem_buf_get+0x128>) - 12a24: eb05 03c4 add.w r3, r5, r4, lsl #3 - 12a28: 799a ldrb r2, [r3, #6] - 12a2a: f042 0201 orr.w r2, r2, #1 - 12a2e: 719a strb r2, [r3, #6] + 12a0a: 4d10 ldr r5, [pc, #64] ; (12a4c <_lv_mem_buf_get+0x128>) + 12a0c: eb05 03c4 add.w r3, r5, r4, lsl #3 + 12a10: 799a ldrb r2, [r3, #6] + 12a12: f042 0201 orr.w r2, r2, #1 + 12a16: 719a strb r2, [r3, #6] LV_GC_ROOT(_lv_mem_buf[i]).size = size; - 12a30: 8099 strh r1, [r3, #4] + 12a18: 8099 strh r1, [r3, #4] LV_GC_ROOT(_lv_mem_buf[i]).p = lv_mem_realloc(LV_GC_ROOT(_lv_mem_buf[i]).p, size); - 12a32: f855 0034 ldr.w r0, [r5, r4, lsl #3] - 12a36: 4b10 ldr r3, [pc, #64] ; (12a78 <_lv_mem_buf_get+0x13c>) - 12a38: 4798 blx r3 - 12a3a: f845 0034 str.w r0, [r5, r4, lsl #3] + 12a1a: f855 0034 ldr.w r0, [r5, r4, lsl #3] + 12a1e: 4b10 ldr r3, [pc, #64] ; (12a60 <_lv_mem_buf_get+0x13c>) + 12a20: 4798 blx r3 + 12a22: f845 0034 str.w r0, [r5, r4, lsl #3] if(LV_GC_ROOT(_lv_mem_buf[i]).p == NULL) { - 12a3e: b118 cbz r0, 12a48 <_lv_mem_buf_get+0x10c> + 12a26: b118 cbz r0, 12a30 <_lv_mem_buf_get+0x10c> return LV_GC_ROOT(_lv_mem_buf[i]).p; - 12a40: 4b08 ldr r3, [pc, #32] ; (12a64 <_lv_mem_buf_get+0x128>) - 12a42: f853 0034 ldr.w r0, [r3, r4, lsl #3] - 12a46: e7cc b.n 129e2 <_lv_mem_buf_get+0xa6> + 12a28: 4b08 ldr r3, [pc, #32] ; (12a4c <_lv_mem_buf_get+0x128>) + 12a2a: f853 0034 ldr.w r0, [r3, r4, lsl #3] + 12a2e: e7cc b.n 129ca <_lv_mem_buf_get+0xa6> LV_LOG_ERROR("lv_mem_buf_get: Out of memory, can't allocate a new buffer (increase your LV_MEM_SIZE/heap size)") - 12a48: 4b0c ldr r3, [pc, #48] ; (12a7c <_lv_mem_buf_get+0x140>) - 12a4a: 9300 str r3, [sp, #0] - 12a4c: 4b07 ldr r3, [pc, #28] ; (12a6c <_lv_mem_buf_get+0x130>) - 12a4e: f44f 7204 mov.w r2, #528 ; 0x210 - 12a52: 4907 ldr r1, [pc, #28] ; (12a70 <_lv_mem_buf_get+0x134>) - 12a54: 2003 movs r0, #3 - 12a56: 4d07 ldr r5, [pc, #28] ; (12a74 <_lv_mem_buf_get+0x138>) - 12a58: 47a8 blx r5 - 12a5a: e7f1 b.n 12a40 <_lv_mem_buf_get+0x104> + 12a30: 4b0c ldr r3, [pc, #48] ; (12a64 <_lv_mem_buf_get+0x140>) + 12a32: 9300 str r3, [sp, #0] + 12a34: 4b07 ldr r3, [pc, #28] ; (12a54 <_lv_mem_buf_get+0x130>) + 12a36: f44f 7204 mov.w r2, #528 ; 0x210 + 12a3a: 4907 ldr r1, [pc, #28] ; (12a58 <_lv_mem_buf_get+0x134>) + 12a3c: 2003 movs r0, #3 + 12a3e: 4d07 ldr r5, [pc, #28] ; (12a5c <_lv_mem_buf_get+0x138>) + 12a40: 47a8 blx r5 + 12a42: e7f1 b.n 12a28 <_lv_mem_buf_get+0x104> if(size == 0) return NULL; - 12a5c: 2000 movs r0, #0 - 12a5e: 4770 bx lr - 12a60: 20000044 .word 0x20000044 - 12a64: 20006cb0 .word 0x20006cb0 - 12a68: 0002946c .word 0x0002946c - 12a6c: 00029388 .word 0x00029388 - 12a70: 00029398 .word 0x00029398 - 12a74: 0001225d .word 0x0001225d - 12a78: 00012899 .word 0x00012899 - 12a7c: 00029408 .word 0x00029408 - -00012a80 <_lv_memset>: + 12a44: 2000 movs r0, #0 + 12a46: 4770 bx lr + 12a48: 20000044 .word 0x20000044 + 12a4c: 20006cb0 .word 0x20006cb0 + 12a50: 00029454 .word 0x00029454 + 12a54: 00029370 .word 0x00029370 + 12a58: 00029380 .word 0x00029380 + 12a5c: 00012245 .word 0x00012245 + 12a60: 00012881 .word 0x00012881 + 12a64: 000293f0 .word 0x000293f0 + +00012a68 <_lv_memset>: if(d_align) { - 12a80: f010 0303 ands.w r3, r0, #3 - 12a84: d013 beq.n 12aae <_lv_memset+0x2e> + 12a68: f010 0303 ands.w r3, r0, #3 + 12a6c: d013 beq.n 12a96 <_lv_memset+0x2e> while(d_align && len) { - 12a86: f1c3 0304 rsb r3, r3, #4 - 12a8a: b13a cbz r2, 12a9c <_lv_memset+0x1c> - 12a8c: 4403 add r3, r0 + 12a6e: f1c3 0304 rsb r3, r3, #4 + 12a72: b13a cbz r2, 12a84 <_lv_memset+0x1c> + 12a74: 4403 add r3, r0 *d8 = v; - 12a8e: f800 1b01 strb.w r1, [r0], #1 + 12a76: f800 1b01 strb.w r1, [r0], #1 len--; - 12a92: 3a01 subs r2, #1 + 12a7a: 3a01 subs r2, #1 while(d_align && len) { - 12a94: 4298 cmp r0, r3 - 12a96: d00a beq.n 12aae <_lv_memset+0x2e> - 12a98: 2a00 cmp r2, #0 - 12a9a: d1f8 bne.n 12a8e <_lv_memset+0xe> + 12a7c: 4298 cmp r0, r3 + 12a7e: d00a beq.n 12a96 <_lv_memset+0x2e> + 12a80: 2a00 cmp r2, #0 + 12a82: d1f8 bne.n 12a76 <_lv_memset+0xe> while(len > 4) { - 12a9c: 2200 movs r2, #0 + 12a84: 2200 movs r2, #0 while(len) { - 12a9e: 2a00 cmp r2, #0 - 12aa0: d048 beq.n 12b34 <_lv_memset+0xb4> - 12aa2: 4402 add r2, r0 + 12a86: 2a00 cmp r2, #0 + 12a88: d048 beq.n 12b1c <_lv_memset+0xb4> + 12a8a: 4402 add r2, r0 *d8 = v; - 12aa4: f800 1b01 strb.w r1, [r0], #1 + 12a8c: f800 1b01 strb.w r1, [r0], #1 while(len) { - 12aa8: 4290 cmp r0, r2 - 12aaa: d1fb bne.n 12aa4 <_lv_memset+0x24> - 12aac: 4770 bx lr + 12a90: 4290 cmp r0, r2 + 12a92: d1fb bne.n 12a8c <_lv_memset+0x24> + 12a94: 4770 bx lr { - 12aae: b430 push {r4, r5} + 12a96: b430 push {r4, r5} uint32_t v32 = v + (v << 8) + (v << 16) + (v << 24); - 12ab0: eb01 2401 add.w r4, r1, r1, lsl #8 - 12ab4: eb04 4401 add.w r4, r4, r1, lsl #16 - 12ab8: eb04 6401 add.w r4, r4, r1, lsl #24 + 12a98: eb01 2401 add.w r4, r1, r1, lsl #8 + 12a9c: eb04 4401 add.w r4, r4, r1, lsl #16 + 12aa0: eb04 6401 add.w r4, r4, r1, lsl #24 while(len > 32) { - 12abc: 2a20 cmp r2, #32 - 12abe: d920 bls.n 12b02 <_lv_memset+0x82> - 12ac0: f100 0320 add.w r3, r0, #32 - 12ac4: 4615 mov r5, r2 + 12aa4: 2a20 cmp r2, #32 + 12aa6: d920 bls.n 12aea <_lv_memset+0x82> + 12aa8: f100 0320 add.w r3, r0, #32 + 12aac: 4615 mov r5, r2 SET32(v32); - 12ac6: f843 4c20 str.w r4, [r3, #-32] + 12aae: f843 4c20 str.w r4, [r3, #-32] SET32(v32); - 12aca: f843 4c1c str.w r4, [r3, #-28] + 12ab2: f843 4c1c str.w r4, [r3, #-28] SET32(v32); - 12ace: f843 4c18 str.w r4, [r3, #-24] + 12ab6: f843 4c18 str.w r4, [r3, #-24] SET32(v32); - 12ad2: f843 4c14 str.w r4, [r3, #-20] + 12aba: f843 4c14 str.w r4, [r3, #-20] SET32(v32); - 12ad6: f843 4c10 str.w r4, [r3, #-16] + 12abe: f843 4c10 str.w r4, [r3, #-16] SET32(v32); - 12ada: f843 4c0c str.w r4, [r3, #-12] + 12ac2: f843 4c0c str.w r4, [r3, #-12] SET32(v32); - 12ade: f843 4c08 str.w r4, [r3, #-8] + 12ac6: f843 4c08 str.w r4, [r3, #-8] SET32(v32); - 12ae2: f843 4c04 str.w r4, [r3, #-4] + 12aca: f843 4c04 str.w r4, [r3, #-4] len -= 32; - 12ae6: 3d20 subs r5, #32 - 12ae8: 3320 adds r3, #32 + 12ace: 3d20 subs r5, #32 + 12ad0: 3320 adds r3, #32 while(len > 32) { - 12aea: 2d20 cmp r5, #32 - 12aec: d8eb bhi.n 12ac6 <_lv_memset+0x46> - 12aee: f1a2 0321 sub.w r3, r2, #33 ; 0x21 - 12af2: f023 051f bic.w r5, r3, #31 - 12af6: 3520 adds r5, #32 - 12af8: 4428 add r0, r5 - 12afa: 3a20 subs r2, #32 - 12afc: f023 031f bic.w r3, r3, #31 - 12b00: 1ad2 subs r2, r2, r3 + 12ad2: 2d20 cmp r5, #32 + 12ad4: d8eb bhi.n 12aae <_lv_memset+0x46> + 12ad6: f1a2 0321 sub.w r3, r2, #33 ; 0x21 + 12ada: f023 051f bic.w r5, r3, #31 + 12ade: 3520 adds r5, #32 + 12ae0: 4428 add r0, r5 + 12ae2: 3a20 subs r2, #32 + 12ae4: f023 031f bic.w r3, r3, #31 + 12ae8: 1ad2 subs r2, r2, r3 while(len > 4) { - 12b02: 2a04 cmp r2, #4 - 12b04: d90f bls.n 12b26 <_lv_memset+0xa6> - 12b06: 4605 mov r5, r0 - 12b08: 4613 mov r3, r2 + 12aea: 2a04 cmp r2, #4 + 12aec: d90f bls.n 12b0e <_lv_memset+0xa6> + 12aee: 4605 mov r5, r0 + 12af0: 4613 mov r3, r2 SET32(v32); - 12b0a: f845 4b04 str.w r4, [r5], #4 + 12af2: f845 4b04 str.w r4, [r5], #4 len -= 4; - 12b0e: 3b04 subs r3, #4 + 12af6: 3b04 subs r3, #4 while(len > 4) { - 12b10: 2b04 cmp r3, #4 - 12b12: d8fa bhi.n 12b0a <_lv_memset+0x8a> - 12b14: 1f53 subs r3, r2, #5 - 12b16: f023 0403 bic.w r4, r3, #3 - 12b1a: 3404 adds r4, #4 - 12b1c: 3a04 subs r2, #4 - 12b1e: f023 0303 bic.w r3, r3, #3 - 12b22: 1ad2 subs r2, r2, r3 + 12af8: 2b04 cmp r3, #4 + 12afa: d8fa bhi.n 12af2 <_lv_memset+0x8a> + 12afc: 1f53 subs r3, r2, #5 + 12afe: f023 0403 bic.w r4, r3, #3 + 12b02: 3404 adds r4, #4 + 12b04: 3a04 subs r2, #4 + 12b06: f023 0303 bic.w r3, r3, #3 + 12b0a: 1ad2 subs r2, r2, r3 SET32(v32); - 12b24: 4420 add r0, r4 + 12b0c: 4420 add r0, r4 while(len) { - 12b26: b122 cbz r2, 12b32 <_lv_memset+0xb2> - 12b28: 4402 add r2, r0 + 12b0e: b122 cbz r2, 12b1a <_lv_memset+0xb2> + 12b10: 4402 add r2, r0 *d8 = v; - 12b2a: f800 1b01 strb.w r1, [r0], #1 + 12b12: f800 1b01 strb.w r1, [r0], #1 while(len) { - 12b2e: 4290 cmp r0, r2 - 12b30: d1fb bne.n 12b2a <_lv_memset+0xaa> + 12b16: 4290 cmp r0, r2 + 12b18: d1fb bne.n 12b12 <_lv_memset+0xaa> } - 12b32: bc30 pop {r4, r5} - 12b34: 4770 bx lr + 12b1a: bc30 pop {r4, r5} + 12b1c: 4770 bx lr -00012b36 <_lv_memset_00>: +00012b1e <_lv_memset_00>: if(d_align) { - 12b36: f010 0303 ands.w r3, r0, #3 - 12b3a: d141 bne.n 12bc0 <_lv_memset_00+0x8a> + 12b1e: f010 0303 ands.w r3, r0, #3 + 12b22: d141 bne.n 12ba8 <_lv_memset_00+0x8a> { - 12b3c: b410 push {r4} + 12b24: b410 push {r4} while(len > 32) { - 12b3e: 2920 cmp r1, #32 - 12b40: d921 bls.n 12b86 <_lv_memset_00+0x50> - 12b42: f100 0320 add.w r3, r0, #32 - 12b46: 460c mov r4, r1 + 12b26: 2920 cmp r1, #32 + 12b28: d921 bls.n 12b6e <_lv_memset_00+0x50> + 12b2a: f100 0320 add.w r3, r0, #32 + 12b2e: 460c mov r4, r1 SET32(0); - 12b48: 2200 movs r2, #0 - 12b4a: f843 2c20 str.w r2, [r3, #-32] + 12b30: 2200 movs r2, #0 + 12b32: f843 2c20 str.w r2, [r3, #-32] SET32(0); - 12b4e: f843 2c1c str.w r2, [r3, #-28] + 12b36: f843 2c1c str.w r2, [r3, #-28] SET32(0); - 12b52: f843 2c18 str.w r2, [r3, #-24] + 12b3a: f843 2c18 str.w r2, [r3, #-24] SET32(0); - 12b56: f843 2c14 str.w r2, [r3, #-20] + 12b3e: f843 2c14 str.w r2, [r3, #-20] SET32(0); - 12b5a: f843 2c10 str.w r2, [r3, #-16] + 12b42: f843 2c10 str.w r2, [r3, #-16] SET32(0); - 12b5e: f843 2c0c str.w r2, [r3, #-12] + 12b46: f843 2c0c str.w r2, [r3, #-12] SET32(0); - 12b62: f843 2c08 str.w r2, [r3, #-8] + 12b4a: f843 2c08 str.w r2, [r3, #-8] SET32(0); - 12b66: f843 2c04 str.w r2, [r3, #-4] + 12b4e: f843 2c04 str.w r2, [r3, #-4] len -= 32; - 12b6a: 3c20 subs r4, #32 - 12b6c: 3320 adds r3, #32 + 12b52: 3c20 subs r4, #32 + 12b54: 3320 adds r3, #32 while(len > 32) { - 12b6e: 2c20 cmp r4, #32 - 12b70: d8eb bhi.n 12b4a <_lv_memset_00+0x14> - 12b72: f1a1 0321 sub.w r3, r1, #33 ; 0x21 - 12b76: f023 021f bic.w r2, r3, #31 - 12b7a: 3220 adds r2, #32 - 12b7c: 4410 add r0, r2 - 12b7e: 3920 subs r1, #32 - 12b80: f023 031f bic.w r3, r3, #31 - 12b84: 1ac9 subs r1, r1, r3 + 12b56: 2c20 cmp r4, #32 + 12b58: d8eb bhi.n 12b32 <_lv_memset_00+0x14> + 12b5a: f1a1 0321 sub.w r3, r1, #33 ; 0x21 + 12b5e: f023 021f bic.w r2, r3, #31 + 12b62: 3220 adds r2, #32 + 12b64: 4410 add r0, r2 + 12b66: 3920 subs r1, #32 + 12b68: f023 031f bic.w r3, r3, #31 + 12b6c: 1ac9 subs r1, r1, r3 while(len > 4) { - 12b86: 2904 cmp r1, #4 - 12b88: d910 bls.n 12bac <_lv_memset_00+0x76> - 12b8a: 4602 mov r2, r0 - 12b8c: 460b mov r3, r1 + 12b6e: 2904 cmp r1, #4 + 12b70: d910 bls.n 12b94 <_lv_memset_00+0x76> + 12b72: 4602 mov r2, r0 + 12b74: 460b mov r3, r1 SET32(0); - 12b8e: 2400 movs r4, #0 - 12b90: f842 4b04 str.w r4, [r2], #4 + 12b76: 2400 movs r4, #0 + 12b78: f842 4b04 str.w r4, [r2], #4 len -= 4; - 12b94: 3b04 subs r3, #4 + 12b7c: 3b04 subs r3, #4 while(len > 4) { - 12b96: 2b04 cmp r3, #4 - 12b98: d8fa bhi.n 12b90 <_lv_memset_00+0x5a> - 12b9a: 1f4b subs r3, r1, #5 - 12b9c: f023 0203 bic.w r2, r3, #3 - 12ba0: 3204 adds r2, #4 - 12ba2: 3904 subs r1, #4 - 12ba4: f023 0303 bic.w r3, r3, #3 - 12ba8: 1ac9 subs r1, r1, r3 + 12b7e: 2b04 cmp r3, #4 + 12b80: d8fa bhi.n 12b78 <_lv_memset_00+0x5a> + 12b82: 1f4b subs r3, r1, #5 + 12b84: f023 0203 bic.w r2, r3, #3 + 12b88: 3204 adds r2, #4 + 12b8a: 3904 subs r1, #4 + 12b8c: f023 0303 bic.w r3, r3, #3 + 12b90: 1ac9 subs r1, r1, r3 SET32(0); - 12baa: 4410 add r0, r2 + 12b92: 4410 add r0, r2 while(len) { - 12bac: b129 cbz r1, 12bba <_lv_memset_00+0x84> - 12bae: 4401 add r1, r0 + 12b94: b129 cbz r1, 12ba2 <_lv_memset_00+0x84> + 12b96: 4401 add r1, r0 *d8 = 0; - 12bb0: 2300 movs r3, #0 - 12bb2: f800 3b01 strb.w r3, [r0], #1 + 12b98: 2300 movs r3, #0 + 12b9a: f800 3b01 strb.w r3, [r0], #1 while(len) { - 12bb6: 4288 cmp r0, r1 - 12bb8: d1fb bne.n 12bb2 <_lv_memset_00+0x7c> + 12b9e: 4288 cmp r0, r1 + 12ba0: d1fb bne.n 12b9a <_lv_memset_00+0x7c> } - 12bba: f85d 4b04 ldr.w r4, [sp], #4 - 12bbe: 4770 bx lr + 12ba2: f85d 4b04 ldr.w r4, [sp], #4 + 12ba6: 4770 bx lr while(d_align && len) { - 12bc0: f1c3 0304 rsb r3, r3, #4 - 12bc4: b141 cbz r1, 12bd8 <_lv_memset_00+0xa2> - 12bc6: 4403 add r3, r0 + 12ba8: f1c3 0304 rsb r3, r3, #4 + 12bac: b141 cbz r1, 12bc0 <_lv_memset_00+0xa2> + 12bae: 4403 add r3, r0 *d8 = 0x00; - 12bc8: 2200 movs r2, #0 - 12bca: f800 2b01 strb.w r2, [r0], #1 + 12bb0: 2200 movs r2, #0 + 12bb2: f800 2b01 strb.w r2, [r0], #1 len--; - 12bce: 3901 subs r1, #1 + 12bb6: 3901 subs r1, #1 while(d_align && len) { - 12bd0: 4298 cmp r0, r3 - 12bd2: d0b3 beq.n 12b3c <_lv_memset_00+0x6> - 12bd4: 2900 cmp r1, #0 - 12bd6: d1f8 bne.n 12bca <_lv_memset_00+0x94> + 12bb8: 4298 cmp r0, r3 + 12bba: d0b3 beq.n 12b24 <_lv_memset_00+0x6> + 12bbc: 2900 cmp r1, #0 + 12bbe: d1f8 bne.n 12bb2 <_lv_memset_00+0x94> while(len > 4) { - 12bd8: 2100 movs r1, #0 + 12bc0: 2100 movs r1, #0 while(len) { - 12bda: 2900 cmp r1, #0 - 12bdc: d0ef beq.n 12bbe <_lv_memset_00+0x88> - 12bde: 4401 add r1, r0 + 12bc2: 2900 cmp r1, #0 + 12bc4: d0ef beq.n 12ba6 <_lv_memset_00+0x88> + 12bc6: 4401 add r1, r0 *d8 = 0; - 12be0: 2300 movs r3, #0 - 12be2: f800 3b01 strb.w r3, [r0], #1 + 12bc8: 2300 movs r3, #0 + 12bca: f800 3b01 strb.w r3, [r0], #1 while(len) { - 12be6: 4288 cmp r0, r1 - 12be8: d1fb bne.n 12be2 <_lv_memset_00+0xac> - 12bea: 4770 bx lr + 12bce: 4288 cmp r0, r1 + 12bd0: d1fb bne.n 12bca <_lv_memset_00+0xac> + 12bd2: 4770 bx lr -00012bec <_lv_memset_ff>: +00012bd4 <_lv_memset_ff>: if(d_align) { - 12bec: f010 0303 ands.w r3, r0, #3 - 12bf0: d143 bne.n 12c7a <_lv_memset_ff+0x8e> + 12bd4: f010 0303 ands.w r3, r0, #3 + 12bd8: d143 bne.n 12c62 <_lv_memset_ff+0x8e> { - 12bf2: b410 push {r4} + 12bda: b410 push {r4} while(len > 32) { - 12bf4: 2920 cmp r1, #32 - 12bf6: d922 bls.n 12c3e <_lv_memset_ff+0x52> - 12bf8: f100 0320 add.w r3, r0, #32 - 12bfc: 460c mov r4, r1 + 12bdc: 2920 cmp r1, #32 + 12bde: d922 bls.n 12c26 <_lv_memset_ff+0x52> + 12be0: f100 0320 add.w r3, r0, #32 + 12be4: 460c mov r4, r1 SET32(0xFFFFFFFF); - 12bfe: f04f 32ff mov.w r2, #4294967295 - 12c02: f843 2c20 str.w r2, [r3, #-32] + 12be6: f04f 32ff mov.w r2, #4294967295 + 12bea: f843 2c20 str.w r2, [r3, #-32] SET32(0xFFFFFFFF); - 12c06: f843 2c1c str.w r2, [r3, #-28] + 12bee: f843 2c1c str.w r2, [r3, #-28] SET32(0xFFFFFFFF); - 12c0a: f843 2c18 str.w r2, [r3, #-24] + 12bf2: f843 2c18 str.w r2, [r3, #-24] SET32(0xFFFFFFFF); - 12c0e: f843 2c14 str.w r2, [r3, #-20] + 12bf6: f843 2c14 str.w r2, [r3, #-20] SET32(0xFFFFFFFF); - 12c12: f843 2c10 str.w r2, [r3, #-16] + 12bfa: f843 2c10 str.w r2, [r3, #-16] SET32(0xFFFFFFFF); - 12c16: f843 2c0c str.w r2, [r3, #-12] + 12bfe: f843 2c0c str.w r2, [r3, #-12] SET32(0xFFFFFFFF); - 12c1a: f843 2c08 str.w r2, [r3, #-8] + 12c02: f843 2c08 str.w r2, [r3, #-8] SET32(0xFFFFFFFF); - 12c1e: f843 2c04 str.w r2, [r3, #-4] + 12c06: f843 2c04 str.w r2, [r3, #-4] len -= 32; - 12c22: 3c20 subs r4, #32 - 12c24: 3320 adds r3, #32 + 12c0a: 3c20 subs r4, #32 + 12c0c: 3320 adds r3, #32 while(len > 32) { - 12c26: 2c20 cmp r4, #32 - 12c28: d8eb bhi.n 12c02 <_lv_memset_ff+0x16> - 12c2a: f1a1 0321 sub.w r3, r1, #33 ; 0x21 - 12c2e: f023 021f bic.w r2, r3, #31 - 12c32: 3220 adds r2, #32 - 12c34: 4410 add r0, r2 - 12c36: 3920 subs r1, #32 - 12c38: f023 031f bic.w r3, r3, #31 - 12c3c: 1ac9 subs r1, r1, r3 + 12c0e: 2c20 cmp r4, #32 + 12c10: d8eb bhi.n 12bea <_lv_memset_ff+0x16> + 12c12: f1a1 0321 sub.w r3, r1, #33 ; 0x21 + 12c16: f023 021f bic.w r2, r3, #31 + 12c1a: 3220 adds r2, #32 + 12c1c: 4410 add r0, r2 + 12c1e: 3920 subs r1, #32 + 12c20: f023 031f bic.w r3, r3, #31 + 12c24: 1ac9 subs r1, r1, r3 while(len > 4) { - 12c3e: 2904 cmp r1, #4 - 12c40: d911 bls.n 12c66 <_lv_memset_ff+0x7a> - 12c42: 4602 mov r2, r0 - 12c44: 460b mov r3, r1 + 12c26: 2904 cmp r1, #4 + 12c28: d911 bls.n 12c4e <_lv_memset_ff+0x7a> + 12c2a: 4602 mov r2, r0 + 12c2c: 460b mov r3, r1 SET32(0xFFFFFFFF); - 12c46: f04f 34ff mov.w r4, #4294967295 - 12c4a: f842 4b04 str.w r4, [r2], #4 + 12c2e: f04f 34ff mov.w r4, #4294967295 + 12c32: f842 4b04 str.w r4, [r2], #4 len -= 4; - 12c4e: 3b04 subs r3, #4 + 12c36: 3b04 subs r3, #4 while(len > 4) { - 12c50: 2b04 cmp r3, #4 - 12c52: d8fa bhi.n 12c4a <_lv_memset_ff+0x5e> - 12c54: 1f4b subs r3, r1, #5 - 12c56: f023 0203 bic.w r2, r3, #3 - 12c5a: 3204 adds r2, #4 - 12c5c: 3904 subs r1, #4 - 12c5e: f023 0303 bic.w r3, r3, #3 - 12c62: 1ac9 subs r1, r1, r3 + 12c38: 2b04 cmp r3, #4 + 12c3a: d8fa bhi.n 12c32 <_lv_memset_ff+0x5e> + 12c3c: 1f4b subs r3, r1, #5 + 12c3e: f023 0203 bic.w r2, r3, #3 + 12c42: 3204 adds r2, #4 + 12c44: 3904 subs r1, #4 + 12c46: f023 0303 bic.w r3, r3, #3 + 12c4a: 1ac9 subs r1, r1, r3 SET32(0xFFFFFFFF); - 12c64: 4410 add r0, r2 + 12c4c: 4410 add r0, r2 while(len) { - 12c66: b129 cbz r1, 12c74 <_lv_memset_ff+0x88> - 12c68: 4401 add r1, r0 + 12c4e: b129 cbz r1, 12c5c <_lv_memset_ff+0x88> + 12c50: 4401 add r1, r0 *d8 = 0xFF; - 12c6a: 23ff movs r3, #255 ; 0xff - 12c6c: f800 3b01 strb.w r3, [r0], #1 + 12c52: 23ff movs r3, #255 ; 0xff + 12c54: f800 3b01 strb.w r3, [r0], #1 while(len) { - 12c70: 4288 cmp r0, r1 - 12c72: d1fb bne.n 12c6c <_lv_memset_ff+0x80> + 12c58: 4288 cmp r0, r1 + 12c5a: d1fb bne.n 12c54 <_lv_memset_ff+0x80> } - 12c74: f85d 4b04 ldr.w r4, [sp], #4 - 12c78: 4770 bx lr + 12c5c: f85d 4b04 ldr.w r4, [sp], #4 + 12c60: 4770 bx lr while(d_align && len) { - 12c7a: f1c3 0304 rsb r3, r3, #4 - 12c7e: b141 cbz r1, 12c92 <_lv_memset_ff+0xa6> - 12c80: 4403 add r3, r0 + 12c62: f1c3 0304 rsb r3, r3, #4 + 12c66: b141 cbz r1, 12c7a <_lv_memset_ff+0xa6> + 12c68: 4403 add r3, r0 *d8 = 0xFF; - 12c82: 22ff movs r2, #255 ; 0xff - 12c84: f800 2b01 strb.w r2, [r0], #1 + 12c6a: 22ff movs r2, #255 ; 0xff + 12c6c: f800 2b01 strb.w r2, [r0], #1 len--; - 12c88: 3901 subs r1, #1 + 12c70: 3901 subs r1, #1 while(d_align && len) { - 12c8a: 4298 cmp r0, r3 - 12c8c: d0b1 beq.n 12bf2 <_lv_memset_ff+0x6> - 12c8e: 2900 cmp r1, #0 - 12c90: d1f8 bne.n 12c84 <_lv_memset_ff+0x98> + 12c72: 4298 cmp r0, r3 + 12c74: d0b1 beq.n 12bda <_lv_memset_ff+0x6> + 12c76: 2900 cmp r1, #0 + 12c78: d1f8 bne.n 12c6c <_lv_memset_ff+0x98> while(len > 4) { - 12c92: 2100 movs r1, #0 + 12c7a: 2100 movs r1, #0 while(len) { - 12c94: 2900 cmp r1, #0 - 12c96: d0ef beq.n 12c78 <_lv_memset_ff+0x8c> - 12c98: 4401 add r1, r0 + 12c7c: 2900 cmp r1, #0 + 12c7e: d0ef beq.n 12c60 <_lv_memset_ff+0x8c> + 12c80: 4401 add r1, r0 *d8 = 0xFF; - 12c9a: 23ff movs r3, #255 ; 0xff - 12c9c: f800 3b01 strb.w r3, [r0], #1 + 12c82: 23ff movs r3, #255 ; 0xff + 12c84: f800 3b01 strb.w r3, [r0], #1 while(len) { - 12ca0: 4288 cmp r0, r1 - 12ca2: d1fb bne.n 12c9c <_lv_memset_ff+0xb0> - 12ca4: 4770 bx lr + 12c88: 4288 cmp r0, r1 + 12c8a: d1fb bne.n 12c84 <_lv_memset_ff+0xb0> + 12c8c: 4770 bx lr -00012ca6 <_out_buffer>: +00012c8e <_out_buffer>: // internal buffer output static inline void _out_buffer(char character, void * buffer, size_t idx, size_t maxlen) { if(idx < maxlen) { - 12ca6: 429a cmp r2, r3 + 12c8e: 429a cmp r2, r3 ((char *)buffer)[idx] = character; - 12ca8: bf38 it cc - 12caa: 5488 strbcc r0, [r1, r2] - 12cac: 4770 bx lr + 12c90: bf38 it cc + 12c92: 5488 strbcc r0, [r1, r2] + 12c94: 4770 bx lr -00012cae <_out_null>: +00012c96 <_out_null>: } // internal null output static inline void _out_null(char character, void * buffer, size_t idx, size_t maxlen) { - 12cae: 4770 bx lr + 12c96: 4770 bx lr -00012cb0 <_ntoa_format>: +00012c98 <_ntoa_format>: // internal itoa format static size_t _ntoa_format(out_fct_type out, char * buffer, size_t idx, size_t maxlen, char * buf, size_t len, bool negative, unsigned int base, unsigned int prec, unsigned int width, unsigned int flags) { - 12cb0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 12cb4: b083 sub sp, #12 - 12cb6: 4607 mov r7, r0 - 12cb8: 9100 str r1, [sp, #0] - 12cba: 4693 mov fp, r2 - 12cbc: 4698 mov r8, r3 - 12cbe: f8dd 9030 ldr.w r9, [sp, #48] ; 0x30 - 12cc2: 9c0d ldr r4, [sp, #52] ; 0x34 - 12cc4: f89d 5038 ldrb.w r5, [sp, #56] ; 0x38 - 12cc8: 9910 ldr r1, [sp, #64] ; 0x40 - 12cca: f8dd a044 ldr.w sl, [sp, #68] ; 0x44 - 12cce: 9a12 ldr r2, [sp, #72] ; 0x48 + 12c98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 12c9c: b083 sub sp, #12 + 12c9e: 4607 mov r7, r0 + 12ca0: 9100 str r1, [sp, #0] + 12ca2: 4693 mov fp, r2 + 12ca4: 4698 mov r8, r3 + 12ca6: f8dd 9030 ldr.w r9, [sp, #48] ; 0x30 + 12caa: 9c0d ldr r4, [sp, #52] ; 0x34 + 12cac: f89d 5038 ldrb.w r5, [sp, #56] ; 0x38 + 12cb0: 9910 ldr r1, [sp, #64] ; 0x40 + 12cb2: f8dd a044 ldr.w sl, [sp, #68] ; 0x44 + 12cb6: 9a12 ldr r2, [sp, #72] ; 0x48 // pad leading zeros if(!(flags & FLAGS_LEFT)) { - 12cd0: f012 0302 ands.w r3, r2, #2 - 12cd4: 9301 str r3, [sp, #4] - 12cd6: d135 bne.n 12d44 <_ntoa_format+0x94> + 12cb8: f012 0302 ands.w r3, r2, #2 + 12cbc: 9301 str r3, [sp, #4] + 12cbe: d135 bne.n 12d2c <_ntoa_format+0x94> if(width && (flags & FLAGS_ZEROPAD) && (negative || (flags & (FLAGS_PLUS | FLAGS_SPACE)))) { - 12cd8: f1ba 0f00 cmp.w sl, #0 - 12cdc: d00e beq.n 12cfc <_ntoa_format+0x4c> - 12cde: f012 0f01 tst.w r2, #1 - 12ce2: f000 80b6 beq.w 12e52 <_ntoa_format+0x1a2> - 12ce6: b915 cbnz r5, 12cee <_ntoa_format+0x3e> - 12ce8: f012 0f0c tst.w r2, #12 - 12cec: d001 beq.n 12cf2 <_ntoa_format+0x42> + 12cc0: f1ba 0f00 cmp.w sl, #0 + 12cc4: d00e beq.n 12ce4 <_ntoa_format+0x4c> + 12cc6: f012 0f01 tst.w r2, #1 + 12cca: f000 80b6 beq.w 12e3a <_ntoa_format+0x1a2> + 12cce: b915 cbnz r5, 12cd6 <_ntoa_format+0x3e> + 12cd0: f012 0f0c tst.w r2, #12 + 12cd4: d001 beq.n 12cda <_ntoa_format+0x42> width--; - 12cee: f10a 3aff add.w sl, sl, #4294967295 + 12cd6: f10a 3aff add.w sl, sl, #4294967295 } while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12cf2: 428c cmp r4, r1 - 12cf4: d213 bcs.n 12d1e <_ntoa_format+0x6e> - 12cf6: 2c1f cmp r4, #31 - 12cf8: d904 bls.n 12d04 <_ntoa_format+0x54> - 12cfa: e010 b.n 12d1e <_ntoa_format+0x6e> - 12cfc: 428c cmp r4, r1 - 12cfe: d20b bcs.n 12d18 <_ntoa_format+0x68> - 12d00: 2c1f cmp r4, #31 - 12d02: d809 bhi.n 12d18 <_ntoa_format+0x68> - 12d04: eb09 0304 add.w r3, r9, r4 + 12cda: 428c cmp r4, r1 + 12cdc: d213 bcs.n 12d06 <_ntoa_format+0x6e> + 12cde: 2c1f cmp r4, #31 + 12ce0: d904 bls.n 12cec <_ntoa_format+0x54> + 12ce2: e010 b.n 12d06 <_ntoa_format+0x6e> + 12ce4: 428c cmp r4, r1 + 12ce6: d20b bcs.n 12d00 <_ntoa_format+0x68> + 12ce8: 2c1f cmp r4, #31 + 12cea: d809 bhi.n 12d00 <_ntoa_format+0x68> + 12cec: eb09 0304 add.w r3, r9, r4 buf[len++] = '0'; - 12d08: 2030 movs r0, #48 ; 0x30 - 12d0a: 3401 adds r4, #1 - 12d0c: f803 0b01 strb.w r0, [r3], #1 + 12cf0: 2030 movs r0, #48 ; 0x30 + 12cf2: 3401 adds r4, #1 + 12cf4: f803 0b01 strb.w r0, [r3], #1 while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12d10: 42a1 cmp r1, r4 - 12d12: d901 bls.n 12d18 <_ntoa_format+0x68> - 12d14: 2c20 cmp r4, #32 - 12d16: d1f8 bne.n 12d0a <_ntoa_format+0x5a> + 12cf8: 42a1 cmp r1, r4 + 12cfa: d901 bls.n 12d00 <_ntoa_format+0x68> + 12cfc: 2c20 cmp r4, #32 + 12cfe: d1f8 bne.n 12cf2 <_ntoa_format+0x5a> } while((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12d18: f012 0f01 tst.w r2, #1 - 12d1c: d012 beq.n 12d44 <_ntoa_format+0x94> - 12d1e: 45a2 cmp sl, r4 - 12d20: d910 bls.n 12d44 <_ntoa_format+0x94> - 12d22: 2c1f cmp r4, #31 - 12d24: d809 bhi.n 12d3a <_ntoa_format+0x8a> - 12d26: eb09 0304 add.w r3, r9, r4 + 12d00: f012 0f01 tst.w r2, #1 + 12d04: d012 beq.n 12d2c <_ntoa_format+0x94> + 12d06: 45a2 cmp sl, r4 + 12d08: d910 bls.n 12d2c <_ntoa_format+0x94> + 12d0a: 2c1f cmp r4, #31 + 12d0c: d809 bhi.n 12d22 <_ntoa_format+0x8a> + 12d0e: eb09 0304 add.w r3, r9, r4 buf[len++] = '0'; - 12d2a: 2030 movs r0, #48 ; 0x30 - 12d2c: 3401 adds r4, #1 - 12d2e: f803 0b01 strb.w r0, [r3], #1 + 12d12: 2030 movs r0, #48 ; 0x30 + 12d14: 3401 adds r4, #1 + 12d16: f803 0b01 strb.w r0, [r3], #1 while((flags & FLAGS_ZEROPAD) && (len < width) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12d32: 4554 cmp r4, sl - 12d34: d005 beq.n 12d42 <_ntoa_format+0x92> - 12d36: 2c20 cmp r4, #32 - 12d38: d1f8 bne.n 12d2c <_ntoa_format+0x7c> + 12d1a: 4554 cmp r4, sl + 12d1c: d005 beq.n 12d2a <_ntoa_format+0x92> + 12d1e: 2c20 cmp r4, #32 + 12d20: d1f8 bne.n 12d14 <_ntoa_format+0x7c> } } // handle hash if(flags & FLAGS_HASH) { - 12d3a: f012 0f10 tst.w r2, #16 - 12d3e: d104 bne.n 12d4a <_ntoa_format+0x9a> - 12d40: e044 b.n 12dcc <_ntoa_format+0x11c> - 12d42: 46a2 mov sl, r4 - 12d44: f012 0f10 tst.w r2, #16 - 12d48: d013 beq.n 12d72 <_ntoa_format+0xc2> + 12d22: f012 0f10 tst.w r2, #16 + 12d26: d104 bne.n 12d32 <_ntoa_format+0x9a> + 12d28: e044 b.n 12db4 <_ntoa_format+0x11c> + 12d2a: 46a2 mov sl, r4 + 12d2c: f012 0f10 tst.w r2, #16 + 12d30: d013 beq.n 12d5a <_ntoa_format+0xc2> if(!(flags & FLAGS_PRECISION) && len && ((len == prec) || (len == width))) { - 12d4a: f412 6f80 tst.w r2, #1024 ; 0x400 - 12d4e: d104 bne.n 12d5a <_ntoa_format+0xaa> - 12d50: b11c cbz r4, 12d5a <_ntoa_format+0xaa> - 12d52: 42a1 cmp r1, r4 - 12d54: d01b beq.n 12d8e <_ntoa_format+0xde> - 12d56: 4554 cmp r4, sl - 12d58: d019 beq.n 12d8e <_ntoa_format+0xde> + 12d32: f412 6f80 tst.w r2, #1024 ; 0x400 + 12d36: d104 bne.n 12d42 <_ntoa_format+0xaa> + 12d38: b11c cbz r4, 12d42 <_ntoa_format+0xaa> + 12d3a: 42a1 cmp r1, r4 + 12d3c: d01b beq.n 12d76 <_ntoa_format+0xde> + 12d3e: 4554 cmp r4, sl + 12d40: d019 beq.n 12d76 <_ntoa_format+0xde> len--; if(len && (base == 16U)) { len--; } } if((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12d5a: 9b0f ldr r3, [sp, #60] ; 0x3c - 12d5c: 2b10 cmp r3, #16 - 12d5e: d01e beq.n 12d9e <_ntoa_format+0xee> + 12d42: 9b0f ldr r3, [sp, #60] ; 0x3c + 12d44: 2b10 cmp r3, #16 + 12d46: d01e beq.n 12d86 <_ntoa_format+0xee> buf[len++] = 'x'; } else if((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { buf[len++] = 'X'; } else if((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12d60: 9b0f ldr r3, [sp, #60] ; 0x3c - 12d62: 2b02 cmp r3, #2 - 12d64: d027 beq.n 12db6 <_ntoa_format+0x106> + 12d48: 9b0f ldr r3, [sp, #60] ; 0x3c + 12d4a: 2b02 cmp r3, #2 + 12d4c: d027 beq.n 12d9e <_ntoa_format+0x106> buf[len++] = 'b'; } if(len < PRINTF_NTOA_BUFFER_SIZE) { - 12d66: 2c1f cmp r4, #31 - 12d68: d830 bhi.n 12dcc <_ntoa_format+0x11c> + 12d4e: 2c1f cmp r4, #31 + 12d50: d830 bhi.n 12db4 <_ntoa_format+0x11c> buf[len++] = '0'; - 12d6a: 2330 movs r3, #48 ; 0x30 - 12d6c: f809 3004 strb.w r3, [r9, r4] - 12d70: 3401 adds r4, #1 + 12d52: 2330 movs r3, #48 ; 0x30 + 12d54: f809 3004 strb.w r3, [r9, r4] + 12d58: 3401 adds r4, #1 } } if(len < PRINTF_NTOA_BUFFER_SIZE) { - 12d72: 2c1f cmp r4, #31 - 12d74: d82a bhi.n 12dcc <_ntoa_format+0x11c> + 12d5a: 2c1f cmp r4, #31 + 12d5c: d82a bhi.n 12db4 <_ntoa_format+0x11c> if(negative) { - 12d76: bb2d cbnz r5, 12dc4 <_ntoa_format+0x114> + 12d5e: bb2d cbnz r5, 12dac <_ntoa_format+0x114> buf[len++] = '-'; } else if(flags & FLAGS_PLUS) { - 12d78: f012 0f04 tst.w r2, #4 - 12d7c: d13a bne.n 12df4 <_ntoa_format+0x144> + 12d60: f012 0f04 tst.w r2, #4 + 12d64: d13a bne.n 12ddc <_ntoa_format+0x144> buf[len++] = '+'; // ignore the space if the '+' exists } else if(flags & FLAGS_SPACE) { - 12d7e: f012 0f08 tst.w r2, #8 - 12d82: d023 beq.n 12dcc <_ntoa_format+0x11c> + 12d66: f012 0f08 tst.w r2, #8 + 12d6a: d023 beq.n 12db4 <_ntoa_format+0x11c> buf[len++] = ' '; - 12d84: 2320 movs r3, #32 - 12d86: f809 3004 strb.w r3, [r9, r4] - 12d8a: 3401 adds r4, #1 - 12d8c: e01e b.n 12dcc <_ntoa_format+0x11c> + 12d6c: 2320 movs r3, #32 + 12d6e: f809 3004 strb.w r3, [r9, r4] + 12d72: 3401 adds r4, #1 + 12d74: e01e b.n 12db4 <_ntoa_format+0x11c> if(len && (base == 16U)) { - 12d8e: 1e63 subs r3, r4, #1 - 12d90: d00f beq.n 12db2 <_ntoa_format+0x102> - 12d92: 990f ldr r1, [sp, #60] ; 0x3c - 12d94: 2910 cmp r1, #16 - 12d96: d001 beq.n 12d9c <_ntoa_format+0xec> + 12d76: 1e63 subs r3, r4, #1 + 12d78: d00f beq.n 12d9a <_ntoa_format+0x102> + 12d7a: 990f ldr r1, [sp, #60] ; 0x3c + 12d7c: 2910 cmp r1, #16 + 12d7e: d001 beq.n 12d84 <_ntoa_format+0xec> len--; - 12d98: 461c mov r4, r3 - 12d9a: e7e1 b.n 12d60 <_ntoa_format+0xb0> + 12d80: 461c mov r4, r3 + 12d82: e7e1 b.n 12d48 <_ntoa_format+0xb0> len--; - 12d9c: 3c02 subs r4, #2 + 12d84: 3c02 subs r4, #2 if((base == 16U) && !(flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12d9e: f012 0f20 tst.w r2, #32 - 12da2: d15d bne.n 12e60 <_ntoa_format+0x1b0> - 12da4: 2c1f cmp r4, #31 - 12da6: d8de bhi.n 12d66 <_ntoa_format+0xb6> + 12d86: f012 0f20 tst.w r2, #32 + 12d8a: d15d bne.n 12e48 <_ntoa_format+0x1b0> + 12d8c: 2c1f cmp r4, #31 + 12d8e: d8de bhi.n 12d4e <_ntoa_format+0xb6> buf[len++] = 'x'; - 12da8: 2378 movs r3, #120 ; 0x78 - 12daa: f809 3004 strb.w r3, [r9, r4] - 12dae: 3401 adds r4, #1 - 12db0: e7d9 b.n 12d66 <_ntoa_format+0xb6> + 12d90: 2378 movs r3, #120 ; 0x78 + 12d92: f809 3004 strb.w r3, [r9, r4] + 12d96: 3401 adds r4, #1 + 12d98: e7d9 b.n 12d4e <_ntoa_format+0xb6> len--; - 12db2: 461c mov r4, r3 - 12db4: e7d1 b.n 12d5a <_ntoa_format+0xaa> + 12d9a: 461c mov r4, r3 + 12d9c: e7d1 b.n 12d42 <_ntoa_format+0xaa> else if((base == 2U) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12db6: 2c1f cmp r4, #31 - 12db8: d808 bhi.n 12dcc <_ntoa_format+0x11c> + 12d9e: 2c1f cmp r4, #31 + 12da0: d808 bhi.n 12db4 <_ntoa_format+0x11c> buf[len++] = 'b'; - 12dba: 2362 movs r3, #98 ; 0x62 - 12dbc: f809 3004 strb.w r3, [r9, r4] - 12dc0: 3401 adds r4, #1 - 12dc2: e7d0 b.n 12d66 <_ntoa_format+0xb6> + 12da2: 2362 movs r3, #98 ; 0x62 + 12da4: f809 3004 strb.w r3, [r9, r4] + 12da8: 3401 adds r4, #1 + 12daa: e7d0 b.n 12d4e <_ntoa_format+0xb6> buf[len++] = '-'; - 12dc4: 232d movs r3, #45 ; 0x2d - 12dc6: f809 3004 strb.w r3, [r9, r4] - 12dca: 3401 adds r4, #1 + 12dac: 232d movs r3, #45 ; 0x2d + 12dae: f809 3004 strb.w r3, [r9, r4] + 12db2: 3401 adds r4, #1 if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { - 12dcc: f012 0f03 tst.w r2, #3 - 12dd0: d115 bne.n 12dfe <_ntoa_format+0x14e> + 12db4: f012 0f03 tst.w r2, #3 + 12db8: d115 bne.n 12de6 <_ntoa_format+0x14e> for(i = len; i < width; i++) { - 12dd2: 4554 cmp r4, sl - 12dd4: bf28 it cs - 12dd6: 465e movcs r6, fp - 12dd8: d212 bcs.n 12e00 <_ntoa_format+0x150> - 12dda: eb0b 050a add.w r5, fp, sl - 12dde: 1b2d subs r5, r5, r4 - 12de0: 465a mov r2, fp + 12dba: 4554 cmp r4, sl + 12dbc: bf28 it cs + 12dbe: 465e movcs r6, fp + 12dc0: d212 bcs.n 12de8 <_ntoa_format+0x150> + 12dc2: eb0b 050a add.w r5, fp, sl + 12dc6: 1b2d subs r5, r5, r4 + 12dc8: 465a mov r2, fp out(' ', buffer, idx++, maxlen); - 12de2: 1c56 adds r6, r2, #1 - 12de4: 4643 mov r3, r8 - 12de6: 9900 ldr r1, [sp, #0] - 12de8: 2020 movs r0, #32 - 12dea: 47b8 blx r7 - 12dec: 4632 mov r2, r6 + 12dca: 1c56 adds r6, r2, #1 + 12dcc: 4643 mov r3, r8 + 12dce: 9900 ldr r1, [sp, #0] + 12dd0: 2020 movs r0, #32 + 12dd2: 47b8 blx r7 + 12dd4: 4632 mov r2, r6 for(i = len; i < width; i++) { - 12dee: 42ae cmp r6, r5 - 12df0: d1f7 bne.n 12de2 <_ntoa_format+0x132> - 12df2: e005 b.n 12e00 <_ntoa_format+0x150> + 12dd6: 42ae cmp r6, r5 + 12dd8: d1f7 bne.n 12dca <_ntoa_format+0x132> + 12dda: e005 b.n 12de8 <_ntoa_format+0x150> buf[len++] = '+'; // ignore the space if the '+' exists - 12df4: 232b movs r3, #43 ; 0x2b - 12df6: f809 3004 strb.w r3, [r9, r4] - 12dfa: 3401 adds r4, #1 - 12dfc: e7e6 b.n 12dcc <_ntoa_format+0x11c> + 12ddc: 232b movs r3, #43 ; 0x2b + 12dde: f809 3004 strb.w r3, [r9, r4] + 12de2: 3401 adds r4, #1 + 12de4: e7e6 b.n 12db4 <_ntoa_format+0x11c> if(!(flags & FLAGS_LEFT) && !(flags & FLAGS_ZEROPAD)) { - 12dfe: 465e mov r6, fp + 12de6: 465e mov r6, fp while(len) { - 12e00: 4635 mov r5, r6 - 12e02: b15c cbz r4, 12e1c <_ntoa_format+0x16c> - 12e04: 44a1 add r9, r4 - 12e06: 4434 add r4, r6 - 12e08: 4632 mov r2, r6 + 12de8: 4635 mov r5, r6 + 12dea: b15c cbz r4, 12e04 <_ntoa_format+0x16c> + 12dec: 44a1 add r9, r4 + 12dee: 4434 add r4, r6 + 12df0: 4632 mov r2, r6 out(buf[--len], buffer, idx++, maxlen); - 12e0a: 1c55 adds r5, r2, #1 - 12e0c: 4643 mov r3, r8 - 12e0e: 9900 ldr r1, [sp, #0] - 12e10: f819 0d01 ldrb.w r0, [r9, #-1]! - 12e14: 47b8 blx r7 - 12e16: 462a mov r2, r5 + 12df2: 1c55 adds r5, r2, #1 + 12df4: 4643 mov r3, r8 + 12df6: 9900 ldr r1, [sp, #0] + 12df8: f819 0d01 ldrb.w r0, [r9, #-1]! + 12dfc: 47b8 blx r7 + 12dfe: 462a mov r2, r5 while(len) { - 12e18: 42ac cmp r4, r5 - 12e1a: d1f6 bne.n 12e0a <_ntoa_format+0x15a> + 12e00: 42ac cmp r4, r5 + 12e02: d1f6 bne.n 12df2 <_ntoa_format+0x15a> if(flags & FLAGS_LEFT) { - 12e1c: 9b01 ldr r3, [sp, #4] - 12e1e: b1a3 cbz r3, 12e4a <_ntoa_format+0x19a> + 12e04: 9b01 ldr r3, [sp, #4] + 12e06: b1a3 cbz r3, 12e32 <_ntoa_format+0x19a> while(idx - start_idx < width) { - 12e20: eba5 030b sub.w r3, r5, fp - 12e24: 4553 cmp r3, sl - 12e26: d212 bcs.n 12e4e <_ntoa_format+0x19e> + 12e08: eba5 030b sub.w r3, r5, fp + 12e0c: 4553 cmp r3, sl + 12e0e: d212 bcs.n 12e36 <_ntoa_format+0x19e> out(' ', buffer, idx++, maxlen); - 12e28: 2620 movs r6, #32 - 12e2a: 462a mov r2, r5 - 12e2c: 9d00 ldr r5, [sp, #0] - 12e2e: 1c54 adds r4, r2, #1 - 12e30: 4643 mov r3, r8 - 12e32: 4629 mov r1, r5 - 12e34: 4630 mov r0, r6 - 12e36: 47b8 blx r7 - 12e38: 4622 mov r2, r4 + 12e10: 2620 movs r6, #32 + 12e12: 462a mov r2, r5 + 12e14: 9d00 ldr r5, [sp, #0] + 12e16: 1c54 adds r4, r2, #1 + 12e18: 4643 mov r3, r8 + 12e1a: 4629 mov r1, r5 + 12e1c: 4630 mov r0, r6 + 12e1e: 47b8 blx r7 + 12e20: 4622 mov r2, r4 while(idx - start_idx < width) { - 12e3a: eba4 030b sub.w r3, r4, fp - 12e3e: 4553 cmp r3, sl - 12e40: d3f5 bcc.n 12e2e <_ntoa_format+0x17e> + 12e22: eba4 030b sub.w r3, r4, fp + 12e26: 4553 cmp r3, sl + 12e28: d3f5 bcc.n 12e16 <_ntoa_format+0x17e> } } return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags); } - 12e42: 4620 mov r0, r4 - 12e44: b003 add sp, #12 - 12e46: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 12e2a: 4620 mov r0, r4 + 12e2c: b003 add sp, #12 + 12e2e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(flags & FLAGS_LEFT) { - 12e4a: 462c mov r4, r5 - 12e4c: e7f9 b.n 12e42 <_ntoa_format+0x192> + 12e32: 462c mov r4, r5 + 12e34: e7f9 b.n 12e2a <_ntoa_format+0x192> while(idx - start_idx < width) { - 12e4e: 462c mov r4, r5 + 12e36: 462c mov r4, r5 return _out_rev(out, buffer, idx, maxlen, buf, len, width, flags); - 12e50: e7f7 b.n 12e42 <_ntoa_format+0x192> + 12e38: e7f7 b.n 12e2a <_ntoa_format+0x192> while((len < prec) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12e52: 428c cmp r4, r1 - 12e54: f4bf af76 bcs.w 12d44 <_ntoa_format+0x94> - 12e58: 2c1f cmp r4, #31 - 12e5a: f67f af53 bls.w 12d04 <_ntoa_format+0x54> - 12e5e: e771 b.n 12d44 <_ntoa_format+0x94> + 12e3a: 428c cmp r4, r1 + 12e3c: f4bf af76 bcs.w 12d2c <_ntoa_format+0x94> + 12e40: 2c1f cmp r4, #31 + 12e42: f67f af53 bls.w 12cec <_ntoa_format+0x54> + 12e46: e771 b.n 12d2c <_ntoa_format+0x94> else if((base == 16U) && (flags & FLAGS_UPPERCASE) && (len < PRINTF_NTOA_BUFFER_SIZE)) { - 12e60: 2c1f cmp r4, #31 - 12e62: d8b3 bhi.n 12dcc <_ntoa_format+0x11c> + 12e48: 2c1f cmp r4, #31 + 12e4a: d8b3 bhi.n 12db4 <_ntoa_format+0x11c> buf[len++] = 'X'; - 12e64: 2358 movs r3, #88 ; 0x58 - 12e66: f809 3004 strb.w r3, [r9, r4] - 12e6a: 3401 adds r4, #1 - 12e6c: e77b b.n 12d66 <_ntoa_format+0xb6> + 12e4c: 2358 movs r3, #88 ; 0x58 + 12e4e: f809 3004 strb.w r3, [r9, r4] + 12e52: 3401 adds r4, #1 + 12e54: e77b b.n 12d4e <_ntoa_format+0xb6> ... -00012e70 <_ntoa_long>: +00012e58 <_ntoa_long>: // internal itoa for 'long' type static size_t _ntoa_long(out_fct_type out, char * buffer, size_t idx, size_t maxlen, unsigned long value, bool negative, unsigned long base, unsigned int prec, unsigned int width, unsigned int flags) { - 12e70: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 12e74: b090 sub sp, #64 ; 0x40 - 12e76: 9d16 ldr r5, [sp, #88] ; 0x58 - 12e78: 9e18 ldr r6, [sp, #96] ; 0x60 - 12e7a: f8dd 806c ldr.w r8, [sp, #108] ; 0x6c + 12e58: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 12e5c: b090 sub sp, #64 ; 0x40 + 12e5e: 9d16 ldr r5, [sp, #88] ; 0x58 + 12e60: 9e18 ldr r6, [sp, #96] ; 0x60 + 12e62: f8dd 806c ldr.w r8, [sp, #108] ; 0x6c char buf[PRINTF_NTOA_BUFFER_SIZE]; size_t len = 0U; // no hash for 0 values if(!value) { - 12e7e: b92d cbnz r5, 12e8c <_ntoa_long+0x1c> + 12e66: b92d cbnz r5, 12e74 <_ntoa_long+0x1c> flags &= ~FLAGS_HASH; - 12e80: f028 0410 bic.w r4, r8, #16 + 12e68: f028 0410 bic.w r4, r8, #16 } // write if precision != 0 and value is != 0 if(!(flags & FLAGS_PRECISION) || value) { - 12e84: f418 6f80 tst.w r8, #1024 ; 0x400 - 12e88: d12f bne.n 12eea <_ntoa_long+0x7a> + 12e6c: f418 6f80 tst.w r8, #1024 ; 0x400 + 12e70: d12f bne.n 12ed2 <_ntoa_long+0x7a> flags &= ~FLAGS_HASH; - 12e8a: 46a0 mov r8, r4 - 12e8c: f018 0f20 tst.w r8, #32 - 12e90: f10d 0e1f add.w lr, sp, #31 + 12e72: 46a0 mov r8, r4 + 12e74: f018 0f20 tst.w r8, #32 + 12e78: f10d 0e1f add.w lr, sp, #31 do { const char digit = (char)(value % base); buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 12e94: f04f 0700 mov.w r7, #0 - 12e98: bf14 ite ne - 12e9a: f04f 0c37 movne.w ip, #55 ; 0x37 - 12e9e: f04f 0c57 moveq.w ip, #87 ; 0x57 + 12e7c: f04f 0700 mov.w r7, #0 + 12e80: bf14 ite ne + 12e82: f04f 0c37 movne.w ip, #55 ; 0x37 + 12e86: f04f 0c57 moveq.w ip, #87 ; 0x57 const char digit = (char)(value % base); - 12ea2: fbb5 f4f6 udiv r4, r5, r6 - 12ea6: fb06 5414 mls r4, r6, r4, r5 - 12eaa: b2e4 uxtb r4, r4 + 12e8a: fbb5 f4f6 udiv r4, r5, r6 + 12e8e: fb06 5414 mls r4, r6, r4, r5 + 12e92: b2e4 uxtb r4, r4 buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 12eac: 3701 adds r7, #1 - 12eae: 2c09 cmp r4, #9 - 12eb0: bf94 ite ls - 12eb2: 3430 addls r4, #48 ; 0x30 - 12eb4: 4464 addhi r4, ip - 12eb6: b2e4 uxtb r4, r4 - 12eb8: f80e 4f01 strb.w r4, [lr, #1]! + 12e94: 3701 adds r7, #1 + 12e96: 2c09 cmp r4, #9 + 12e98: bf94 ite ls + 12e9a: 3430 addls r4, #48 ; 0x30 + 12e9c: 4464 addhi r4, ip + 12e9e: b2e4 uxtb r4, r4 + 12ea0: f80e 4f01 strb.w r4, [lr, #1]! value /= base; - 12ebc: fbb5 f5f6 udiv r5, r5, r6 + 12ea4: fbb5 f5f6 udiv r5, r5, r6 } while(value && (len < PRINTF_NTOA_BUFFER_SIZE)); - 12ec0: b10d cbz r5, 12ec6 <_ntoa_long+0x56> - 12ec2: 2f20 cmp r7, #32 - 12ec4: d1ed bne.n 12ea2 <_ntoa_long+0x32> + 12ea8: b10d cbz r5, 12eae <_ntoa_long+0x56> + 12eaa: 2f20 cmp r7, #32 + 12eac: d1ed bne.n 12e8a <_ntoa_long+0x32> } return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags); - 12ec6: f8cd 8018 str.w r8, [sp, #24] - 12eca: 9c1a ldr r4, [sp, #104] ; 0x68 - 12ecc: 9405 str r4, [sp, #20] - 12ece: 9c19 ldr r4, [sp, #100] ; 0x64 - 12ed0: 9404 str r4, [sp, #16] - 12ed2: 9603 str r6, [sp, #12] - 12ed4: f89d 405c ldrb.w r4, [sp, #92] ; 0x5c - 12ed8: 9402 str r4, [sp, #8] - 12eda: 9701 str r7, [sp, #4] - 12edc: ac08 add r4, sp, #32 - 12ede: 9400 str r4, [sp, #0] - 12ee0: 4c03 ldr r4, [pc, #12] ; (12ef0 <_ntoa_long+0x80>) - 12ee2: 47a0 blx r4 -} - 12ee4: b010 add sp, #64 ; 0x40 - 12ee6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 12eae: f8cd 8018 str.w r8, [sp, #24] + 12eb2: 9c1a ldr r4, [sp, #104] ; 0x68 + 12eb4: 9405 str r4, [sp, #20] + 12eb6: 9c19 ldr r4, [sp, #100] ; 0x64 + 12eb8: 9404 str r4, [sp, #16] + 12eba: 9603 str r6, [sp, #12] + 12ebc: f89d 405c ldrb.w r4, [sp, #92] ; 0x5c + 12ec0: 9402 str r4, [sp, #8] + 12ec2: 9701 str r7, [sp, #4] + 12ec4: ac08 add r4, sp, #32 + 12ec6: 9400 str r4, [sp, #0] + 12ec8: 4c03 ldr r4, [pc, #12] ; (12ed8 <_ntoa_long+0x80>) + 12eca: 47a0 blx r4 +} + 12ecc: b010 add sp, #64 ; 0x40 + 12ece: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} flags &= ~FLAGS_HASH; - 12eea: 46a0 mov r8, r4 + 12ed2: 46a0 mov r8, r4 size_t len = 0U; - 12eec: 2700 movs r7, #0 - 12eee: e7ea b.n 12ec6 <_ntoa_long+0x56> - 12ef0: 00012cb1 .word 0x00012cb1 + 12ed4: 2700 movs r7, #0 + 12ed6: e7ea b.n 12eae <_ntoa_long+0x56> + 12ed8: 00012c99 .word 0x00012c99 -00012ef4 <_ntoa_long_long>: +00012edc <_ntoa_long_long>: // internal itoa for 'long long' type #if defined(PRINTF_SUPPORT_LONG_LONG) static size_t _ntoa_long_long(out_fct_type out, char * buffer, size_t idx, size_t maxlen, unsigned long long value, bool negative, unsigned long long base, unsigned int prec, unsigned int width, unsigned int flags) { - 12ef4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 12ef8: b095 sub sp, #84 ; 0x54 - 12efa: 9008 str r0, [sp, #32] - 12efc: 9109 str r1, [sp, #36] ; 0x24 - 12efe: 920a str r2, [sp, #40] ; 0x28 - 12f00: 930b str r3, [sp, #44] ; 0x2c - 12f02: e9dd 451e ldrd r4, r5, [sp, #120] ; 0x78 - 12f06: f8dd 9088 ldr.w r9, [sp, #136] ; 0x88 - 12f0a: f8dd 808c ldr.w r8, [sp, #140] ; 0x8c + 12edc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 12ee0: b095 sub sp, #84 ; 0x54 + 12ee2: 9008 str r0, [sp, #32] + 12ee4: 9109 str r1, [sp, #36] ; 0x24 + 12ee6: 920a str r2, [sp, #40] ; 0x28 + 12ee8: 930b str r3, [sp, #44] ; 0x2c + 12eea: e9dd 451e ldrd r4, r5, [sp, #120] ; 0x78 + 12eee: f8dd 9088 ldr.w r9, [sp, #136] ; 0x88 + 12ef2: f8dd 808c ldr.w r8, [sp, #140] ; 0x8c char buf[PRINTF_NTOA_BUFFER_SIZE]; size_t len = 0U; // no hash for 0 values if(!value) { - 12f0e: ea54 0305 orrs.w r3, r4, r5 - 12f12: d107 bne.n 12f24 <_ntoa_long_long+0x30> + 12ef6: ea54 0305 orrs.w r3, r4, r5 + 12efa: d107 bne.n 12f0c <_ntoa_long_long+0x30> flags &= ~FLAGS_HASH; - 12f14: 9b26 ldr r3, [sp, #152] ; 0x98 - 12f16: f023 0310 bic.w r3, r3, #16 + 12efc: 9b26 ldr r3, [sp, #152] ; 0x98 + 12efe: f023 0310 bic.w r3, r3, #16 } // write if precision != 0 and value is != 0 if(!(flags & FLAGS_PRECISION) || value) { - 12f1a: 9a26 ldr r2, [sp, #152] ; 0x98 - 12f1c: f412 6f80 tst.w r2, #1024 ; 0x400 - 12f20: d13e bne.n 12fa0 <_ntoa_long_long+0xac> + 12f02: 9a26 ldr r2, [sp, #152] ; 0x98 + 12f04: f412 6f80 tst.w r2, #1024 ; 0x400 + 12f08: d13e bne.n 12f88 <_ntoa_long_long+0xac> flags &= ~FLAGS_HASH; - 12f22: 9326 str r3, [sp, #152] ; 0x98 - 12f24: 9b26 ldr r3, [sp, #152] ; 0x98 - 12f26: f013 0f20 tst.w r3, #32 - 12f2a: f10d 0a2f add.w sl, sp, #47 ; 0x2f + 12f0a: 9326 str r3, [sp, #152] ; 0x98 + 12f0c: 9b26 ldr r3, [sp, #152] ; 0x98 + 12f0e: f013 0f20 tst.w r3, #32 + 12f12: f10d 0a2f add.w sl, sp, #47 ; 0x2f do { const char digit = (char)(value % base); buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 12f2e: f04f 0600 mov.w r6, #0 + 12f16: f04f 0600 mov.w r6, #0 const char digit = (char)(value % base); - 12f32: 4f1d ldr r7, [pc, #116] ; (12fa8 <_ntoa_long_long+0xb4>) + 12f1a: 4f1d ldr r7, [pc, #116] ; (12f90 <_ntoa_long_long+0xb4>) buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 12f34: bf14 ite ne - 12f36: f04f 0b37 movne.w fp, #55 ; 0x37 - 12f3a: f04f 0b57 moveq.w fp, #87 ; 0x57 + 12f1c: bf14 ite ne + 12f1e: f04f 0b37 movne.w fp, #55 ; 0x37 + 12f22: f04f 0b57 moveq.w fp, #87 ; 0x57 const char digit = (char)(value % base); - 12f3e: 464a mov r2, r9 - 12f40: 4643 mov r3, r8 - 12f42: 4620 mov r0, r4 - 12f44: 4629 mov r1, r5 - 12f46: 47b8 blx r7 - 12f48: b2d2 uxtb r2, r2 + 12f26: 464a mov r2, r9 + 12f28: 4643 mov r3, r8 + 12f2a: 4620 mov r0, r4 + 12f2c: 4629 mov r1, r5 + 12f2e: 47b8 blx r7 + 12f30: b2d2 uxtb r2, r2 buf[len++] = digit < 10 ? '0' + digit : (flags & FLAGS_UPPERCASE ? 'A' : 'a') + digit - 10; - 12f4a: 3601 adds r6, #1 - 12f4c: 2a09 cmp r2, #9 - 12f4e: bf94 ite ls - 12f50: 3230 addls r2, #48 ; 0x30 - 12f52: 445a addhi r2, fp - 12f54: b2d2 uxtb r2, r2 - 12f56: f80a 2f01 strb.w r2, [sl, #1]! + 12f32: 3601 adds r6, #1 + 12f34: 2a09 cmp r2, #9 + 12f36: bf94 ite ls + 12f38: 3230 addls r2, #48 ; 0x30 + 12f3a: 445a addhi r2, fp + 12f3c: b2d2 uxtb r2, r2 + 12f3e: f80a 2f01 strb.w r2, [sl, #1]! value /= base; - 12f5a: 464a mov r2, r9 - 12f5c: 4643 mov r3, r8 - 12f5e: 4620 mov r0, r4 - 12f60: 4629 mov r1, r5 - 12f62: 47b8 blx r7 - 12f64: 4604 mov r4, r0 - 12f66: 460d mov r5, r1 + 12f42: 464a mov r2, r9 + 12f44: 4643 mov r3, r8 + 12f46: 4620 mov r0, r4 + 12f48: 4629 mov r1, r5 + 12f4a: 47b8 blx r7 + 12f4c: 4604 mov r4, r0 + 12f4e: 460d mov r5, r1 } while(value && (len < PRINTF_NTOA_BUFFER_SIZE)); - 12f68: ea54 0305 orrs.w r3, r4, r5 - 12f6c: d001 beq.n 12f72 <_ntoa_long_long+0x7e> - 12f6e: 2e20 cmp r6, #32 - 12f70: d1e5 bne.n 12f3e <_ntoa_long_long+0x4a> + 12f50: ea54 0305 orrs.w r3, r4, r5 + 12f54: d001 beq.n 12f5a <_ntoa_long_long+0x7e> + 12f56: 2e20 cmp r6, #32 + 12f58: d1e5 bne.n 12f26 <_ntoa_long_long+0x4a> } return _ntoa_format(out, buffer, idx, maxlen, buf, len, negative, (unsigned int)base, prec, width, flags); - 12f72: 9b26 ldr r3, [sp, #152] ; 0x98 - 12f74: 9306 str r3, [sp, #24] - 12f76: 9b25 ldr r3, [sp, #148] ; 0x94 - 12f78: 9305 str r3, [sp, #20] - 12f7a: 9b24 ldr r3, [sp, #144] ; 0x90 - 12f7c: 9304 str r3, [sp, #16] - 12f7e: f8cd 900c str.w r9, [sp, #12] - 12f82: f89d 3080 ldrb.w r3, [sp, #128] ; 0x80 - 12f86: 9302 str r3, [sp, #8] - 12f88: 9601 str r6, [sp, #4] - 12f8a: ab0c add r3, sp, #48 ; 0x30 - 12f8c: 9300 str r3, [sp, #0] - 12f8e: 9b0b ldr r3, [sp, #44] ; 0x2c - 12f90: 9a0a ldr r2, [sp, #40] ; 0x28 - 12f92: 9909 ldr r1, [sp, #36] ; 0x24 - 12f94: 9808 ldr r0, [sp, #32] - 12f96: 4c05 ldr r4, [pc, #20] ; (12fac <_ntoa_long_long+0xb8>) - 12f98: 47a0 blx r4 -} - 12f9a: b015 add sp, #84 ; 0x54 - 12f9c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 12f5a: 9b26 ldr r3, [sp, #152] ; 0x98 + 12f5c: 9306 str r3, [sp, #24] + 12f5e: 9b25 ldr r3, [sp, #148] ; 0x94 + 12f60: 9305 str r3, [sp, #20] + 12f62: 9b24 ldr r3, [sp, #144] ; 0x90 + 12f64: 9304 str r3, [sp, #16] + 12f66: f8cd 900c str.w r9, [sp, #12] + 12f6a: f89d 3080 ldrb.w r3, [sp, #128] ; 0x80 + 12f6e: 9302 str r3, [sp, #8] + 12f70: 9601 str r6, [sp, #4] + 12f72: ab0c add r3, sp, #48 ; 0x30 + 12f74: 9300 str r3, [sp, #0] + 12f76: 9b0b ldr r3, [sp, #44] ; 0x2c + 12f78: 9a0a ldr r2, [sp, #40] ; 0x28 + 12f7a: 9909 ldr r1, [sp, #36] ; 0x24 + 12f7c: 9808 ldr r0, [sp, #32] + 12f7e: 4c05 ldr r4, [pc, #20] ; (12f94 <_ntoa_long_long+0xb8>) + 12f80: 47a0 blx r4 +} + 12f82: b015 add sp, #84 ; 0x54 + 12f84: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} flags &= ~FLAGS_HASH; - 12fa0: 9326 str r3, [sp, #152] ; 0x98 + 12f88: 9326 str r3, [sp, #152] ; 0x98 size_t len = 0U; - 12fa2: 2600 movs r6, #0 - 12fa4: e7e5 b.n 12f72 <_ntoa_long_long+0x7e> - 12fa6: bf00 nop - 12fa8: 0001b185 .word 0x0001b185 - 12fac: 00012cb1 .word 0x00012cb1 + 12f8a: 2600 movs r6, #0 + 12f8c: e7e5 b.n 12f5a <_ntoa_long_long+0x7e> + 12f8e: bf00 nop + 12f90: 0001b16d .word 0x0001b16d + 12f94: 00012c99 .word 0x00012c99 -00012fb0 <_vsnprintf>: +00012f98 <_vsnprintf>: #endif // PRINTF_SUPPORT_FLOAT // internal vsnprintf static int _vsnprintf(out_fct_type out, char * buffer, const size_t maxlen, const char * format, va_list va) { - 12fb0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 12fb4: b091 sub sp, #68 ; 0x44 - 12fb6: 920a str r2, [sp, #40] ; 0x28 - 12fb8: 461c mov r4, r3 - 12fba: 9e1a ldr r6, [sp, #104] ; 0x68 + 12f98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 12f9c: b091 sub sp, #68 ; 0x44 + 12f9e: 920a str r2, [sp, #40] ; 0x28 + 12fa0: 461c mov r4, r3 + 12fa2: 9e1a ldr r6, [sp, #104] ; 0x68 unsigned int flags, width, precision, n; size_t idx = 0U; if(!buffer) { - 12fbc: 910b str r1, [sp, #44] ; 0x2c + 12fa4: 910b str r1, [sp, #44] ; 0x2c // use null output function out = _out_null; - 12fbe: 4b93 ldr r3, [pc, #588] ; (1320c <_vsnprintf+0x25c>) - 12fc0: 2900 cmp r1, #0 - 12fc2: bf14 ite ne - 12fc4: 4681 movne r9, r0 - 12fc6: 4699 moveq r9, r3 + 12fa6: 4b93 ldr r3, [pc, #588] ; (131f4 <_vsnprintf+0x25c>) + 12fa8: 2900 cmp r1, #0 + 12faa: bf14 ite ne + 12fac: 4681 movne r9, r0 + 12fae: 4699 moveq r9, r3 format++; break; } case '%' : out('%', buffer, idx++, maxlen); - 12fc8: f04f 0b00 mov.w fp, #0 + 12fb0: f04f 0b00 mov.w fp, #0 while(*format) { - 12fcc: 7820 ldrb r0, [r4, #0] - 12fce: 2800 cmp r0, #0 - 12fd0: f000 826a beq.w 134a8 <_vsnprintf+0x4f8> + 12fb4: 7820 ldrb r0, [r4, #0] + 12fb6: 2800 cmp r0, #0 + 12fb8: f000 826a beq.w 13490 <_vsnprintf+0x4f8> if(*format != '%') { - 12fd4: 2825 cmp r0, #37 ; 0x25 - 12fd6: d008 beq.n 12fea <_vsnprintf+0x3a> + 12fbc: 2825 cmp r0, #37 ; 0x25 + 12fbe: d008 beq.n 12fd2 <_vsnprintf+0x3a> out(*format, buffer, idx++, maxlen); - 12fd8: f10b 0501 add.w r5, fp, #1 - 12fdc: 9b0a ldr r3, [sp, #40] ; 0x28 - 12fde: 465a mov r2, fp - 12fe0: 990b ldr r1, [sp, #44] ; 0x2c - 12fe2: 47c8 blx r9 + 12fc0: f10b 0501 add.w r5, fp, #1 + 12fc4: 9b0a ldr r3, [sp, #40] ; 0x28 + 12fc6: 465a mov r2, fp + 12fc8: 990b ldr r1, [sp, #44] ; 0x2c + 12fca: 47c8 blx r9 format++; - 12fe4: 3401 adds r4, #1 + 12fcc: 3401 adds r4, #1 out(*format, buffer, idx++, maxlen); - 12fe6: 46ab mov fp, r5 + 12fce: 46ab mov fp, r5 continue; - 12fe8: e7f0 b.n 12fcc <_vsnprintf+0x1c> + 12fd0: e7f0 b.n 12fb4 <_vsnprintf+0x1c> format++; - 12fea: 1c62 adds r2, r4, #1 + 12fd2: 1c62 adds r2, r4, #1 flags = 0U; - 12fec: 2100 movs r1, #0 - 12fee: e001 b.n 12ff4 <_vsnprintf+0x44> + 12fd4: 2100 movs r1, #0 + 12fd6: e001 b.n 12fdc <_vsnprintf+0x44> flags |= FLAGS_ZEROPAD; - 12ff0: f041 0101 orr.w r1, r1, #1 - 12ff4: 4614 mov r4, r2 - 12ff6: 3201 adds r2, #1 + 12fd8: f041 0101 orr.w r1, r1, #1 + 12fdc: 4614 mov r4, r2 + 12fde: 3201 adds r2, #1 switch(*format) { - 12ff8: 7823 ldrb r3, [r4, #0] - 12ffa: 3b20 subs r3, #32 - 12ffc: 2b10 cmp r3, #16 - 12ffe: d831 bhi.n 13064 <_vsnprintf+0xb4> - 13000: a001 add r0, pc, #4 ; (adr r0, 13008 <_vsnprintf+0x58>) - 13002: f850 f023 ldr.w pc, [r0, r3, lsl #2] - 13006: bf00 nop - 13008: 00013059 .word 0x00013059 - 1300c: 00013065 .word 0x00013065 - 13010: 00013065 .word 0x00013065 - 13014: 0001305f .word 0x0001305f - 13018: 00013065 .word 0x00013065 - 1301c: 00013065 .word 0x00013065 - 13020: 00013065 .word 0x00013065 - 13024: 00013065 .word 0x00013065 - 13028: 00013065 .word 0x00013065 - 1302c: 00013065 .word 0x00013065 - 13030: 00013065 .word 0x00013065 - 13034: 00013053 .word 0x00013053 - 13038: 00013065 .word 0x00013065 - 1303c: 0001304d .word 0x0001304d - 13040: 00013065 .word 0x00013065 - 13044: 00013065 .word 0x00013065 - 13048: 00012ff1 .word 0x00012ff1 + 12fe0: 7823 ldrb r3, [r4, #0] + 12fe2: 3b20 subs r3, #32 + 12fe4: 2b10 cmp r3, #16 + 12fe6: d831 bhi.n 1304c <_vsnprintf+0xb4> + 12fe8: a001 add r0, pc, #4 ; (adr r0, 12ff0 <_vsnprintf+0x58>) + 12fea: f850 f023 ldr.w pc, [r0, r3, lsl #2] + 12fee: bf00 nop + 12ff0: 00013041 .word 0x00013041 + 12ff4: 0001304d .word 0x0001304d + 12ff8: 0001304d .word 0x0001304d + 12ffc: 00013047 .word 0x00013047 + 13000: 0001304d .word 0x0001304d + 13004: 0001304d .word 0x0001304d + 13008: 0001304d .word 0x0001304d + 1300c: 0001304d .word 0x0001304d + 13010: 0001304d .word 0x0001304d + 13014: 0001304d .word 0x0001304d + 13018: 0001304d .word 0x0001304d + 1301c: 0001303b .word 0x0001303b + 13020: 0001304d .word 0x0001304d + 13024: 00013035 .word 0x00013035 + 13028: 0001304d .word 0x0001304d + 1302c: 0001304d .word 0x0001304d + 13030: 00012fd9 .word 0x00012fd9 flags |= FLAGS_LEFT; - 1304c: f041 0102 orr.w r1, r1, #2 + 13034: f041 0102 orr.w r1, r1, #2 break; - 13050: e7d0 b.n 12ff4 <_vsnprintf+0x44> + 13038: e7d0 b.n 12fdc <_vsnprintf+0x44> flags |= FLAGS_PLUS; - 13052: f041 0104 orr.w r1, r1, #4 + 1303a: f041 0104 orr.w r1, r1, #4 break; - 13056: e7cd b.n 12ff4 <_vsnprintf+0x44> + 1303e: e7cd b.n 12fdc <_vsnprintf+0x44> flags |= FLAGS_SPACE; - 13058: f041 0108 orr.w r1, r1, #8 + 13040: f041 0108 orr.w r1, r1, #8 break; - 1305c: e7ca b.n 12ff4 <_vsnprintf+0x44> + 13044: e7ca b.n 12fdc <_vsnprintf+0x44> flags |= FLAGS_HASH; - 1305e: f041 0110 orr.w r1, r1, #16 + 13046: f041 0110 orr.w r1, r1, #16 break; - 13062: e7c7 b.n 12ff4 <_vsnprintf+0x44> + 1304a: e7c7 b.n 12fdc <_vsnprintf+0x44> if(_is_digit(*format)) { - 13064: 7823 ldrb r3, [r4, #0] + 1304c: 7823 ldrb r3, [r4, #0] return (ch >= '0') && (ch <= '9'); - 13066: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 1304e: f1a3 0230 sub.w r2, r3, #48 ; 0x30 if(_is_digit(*format)) { - 1306a: b2d2 uxtb r2, r2 - 1306c: 2a09 cmp r2, #9 - 1306e: d916 bls.n 1309e <_vsnprintf+0xee> + 13052: b2d2 uxtb r2, r2 + 13054: 2a09 cmp r2, #9 + 13056: d916 bls.n 13086 <_vsnprintf+0xee> else if(*format == '*') { - 13070: 2b2a cmp r3, #42 ; 0x2a - 13072: d022 beq.n 130ba <_vsnprintf+0x10a> + 13058: 2b2a cmp r3, #42 ; 0x2a + 1305a: d022 beq.n 130a2 <_vsnprintf+0x10a> width = 0U; - 13074: 2500 movs r5, #0 + 1305c: 2500 movs r5, #0 if(*format == '.') { - 13076: 7823 ldrb r3, [r4, #0] - 13078: 2b2e cmp r3, #46 ; 0x2e - 1307a: d028 beq.n 130ce <_vsnprintf+0x11e> + 1305e: 7823 ldrb r3, [r4, #0] + 13060: 2b2e cmp r3, #46 ; 0x2e + 13062: d028 beq.n 130b6 <_vsnprintf+0x11e> precision = 0U; - 1307c: 2700 movs r7, #0 + 13064: 2700 movs r7, #0 switch(*format) { - 1307e: 7823 ldrb r3, [r4, #0] - 13080: 3b68 subs r3, #104 ; 0x68 - 13082: 2b12 cmp r3, #18 - 13084: d84f bhi.n 13126 <_vsnprintf+0x176> - 13086: e8df f003 tbb [pc, r3] - 1308a: 4eaa .short 0x4eaa - 1308c: 4e454eb8 .word 0x4e454eb8 - 13090: 4e4e4e4e .word 0x4e4e4e4e - 13094: 4eb44e4e .word 0x4eb44e4e - 13098: 4e4e4e4e .word 0x4e4e4e4e - 1309c: bc .byte 0xbc - 1309d: 00 .byte 0x00 - 1309e: 2500 movs r5, #0 + 13066: 7823 ldrb r3, [r4, #0] + 13068: 3b68 subs r3, #104 ; 0x68 + 1306a: 2b12 cmp r3, #18 + 1306c: d84f bhi.n 1310e <_vsnprintf+0x176> + 1306e: e8df f003 tbb [pc, r3] + 13072: 4eaa .short 0x4eaa + 13074: 4e454eb8 .word 0x4e454eb8 + 13078: 4e4e4e4e .word 0x4e4e4e4e + 1307c: 4eb44e4e .word 0x4eb44e4e + 13080: 4e4e4e4e .word 0x4e4e4e4e + 13084: bc .byte 0xbc + 13085: 00 .byte 0x00 + 13086: 2500 movs r5, #0 i = i * 10U + (unsigned int)(*((*str)++) - '0'); - 130a0: eb05 0585 add.w r5, r5, r5, lsl #2 - 130a4: eb03 0545 add.w r5, r3, r5, lsl #1 - 130a8: 3d30 subs r5, #48 ; 0x30 + 13088: eb05 0585 add.w r5, r5, r5, lsl #2 + 1308c: eb03 0545 add.w r5, r3, r5, lsl #1 + 13090: 3d30 subs r5, #48 ; 0x30 while(_is_digit(**str)) { - 130aa: f814 3f01 ldrb.w r3, [r4, #1]! + 13092: f814 3f01 ldrb.w r3, [r4, #1]! return (ch >= '0') && (ch <= '9'); - 130ae: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 13096: f1a3 0230 sub.w r2, r3, #48 ; 0x30 while(_is_digit(**str)) { - 130b2: b2d2 uxtb r2, r2 - 130b4: 2a09 cmp r2, #9 - 130b6: d9f3 bls.n 130a0 <_vsnprintf+0xf0> - 130b8: e7dd b.n 13076 <_vsnprintf+0xc6> + 1309a: b2d2 uxtb r2, r2 + 1309c: 2a09 cmp r2, #9 + 1309e: d9f3 bls.n 13088 <_vsnprintf+0xf0> + 130a0: e7dd b.n 1305e <_vsnprintf+0xc6> const int w = va_arg(va, int); - 130ba: 1d33 adds r3, r6, #4 - 130bc: 6835 ldr r5, [r6, #0] + 130a2: 1d33 adds r3, r6, #4 + 130a4: 6835 ldr r5, [r6, #0] if(w < 0) { - 130be: 2d00 cmp r5, #0 + 130a6: 2d00 cmp r5, #0 flags |= FLAGS_LEFT; // reverse padding - 130c0: bfbc itt lt - 130c2: f041 0102 orrlt.w r1, r1, #2 + 130a8: bfbc itt lt + 130aa: f041 0102 orrlt.w r1, r1, #2 width = (unsigned int) - w; - 130c6: 426d neglt r5, r5 + 130ae: 426d neglt r5, r5 format++; - 130c8: 3401 adds r4, #1 + 130b0: 3401 adds r4, #1 const int w = va_arg(va, int); - 130ca: 461e mov r6, r3 - 130cc: e7d3 b.n 13076 <_vsnprintf+0xc6> + 130b2: 461e mov r6, r3 + 130b4: e7d3 b.n 1305e <_vsnprintf+0xc6> flags |= FLAGS_PRECISION; - 130ce: f441 6180 orr.w r1, r1, #1024 ; 0x400 + 130b6: f441 6180 orr.w r1, r1, #1024 ; 0x400 format++; - 130d2: 1c60 adds r0, r4, #1 + 130ba: 1c60 adds r0, r4, #1 if(_is_digit(*format)) { - 130d4: 7863 ldrb r3, [r4, #1] + 130bc: 7863 ldrb r3, [r4, #1] return (ch >= '0') && (ch <= '9'); - 130d6: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 130be: f1a3 0230 sub.w r2, r3, #48 ; 0x30 if(_is_digit(*format)) { - 130da: b2d2 uxtb r2, r2 - 130dc: 2a09 cmp r2, #9 - 130de: d904 bls.n 130ea <_vsnprintf+0x13a> + 130c2: b2d2 uxtb r2, r2 + 130c4: 2a09 cmp r2, #9 + 130c6: d904 bls.n 130d2 <_vsnprintf+0x13a> else if(*format == '*') { - 130e0: 2b2a cmp r3, #42 ; 0x2a - 130e2: d011 beq.n 13108 <_vsnprintf+0x158> + 130c8: 2b2a cmp r3, #42 ; 0x2a + 130ca: d011 beq.n 130f0 <_vsnprintf+0x158> format++; - 130e4: 4604 mov r4, r0 + 130cc: 4604 mov r4, r0 precision = 0U; - 130e6: 2700 movs r7, #0 - 130e8: e7c9 b.n 1307e <_vsnprintf+0xce> - 130ea: 2700 movs r7, #0 + 130ce: 2700 movs r7, #0 + 130d0: e7c9 b.n 13066 <_vsnprintf+0xce> + 130d2: 2700 movs r7, #0 i = i * 10U + (unsigned int)(*((*str)++) - '0'); - 130ec: eb07 0787 add.w r7, r7, r7, lsl #2 - 130f0: eb03 0747 add.w r7, r3, r7, lsl #1 - 130f4: 3f30 subs r7, #48 ; 0x30 + 130d4: eb07 0787 add.w r7, r7, r7, lsl #2 + 130d8: eb03 0747 add.w r7, r3, r7, lsl #1 + 130dc: 3f30 subs r7, #48 ; 0x30 while(_is_digit(**str)) { - 130f6: f810 3f01 ldrb.w r3, [r0, #1]! + 130de: f810 3f01 ldrb.w r3, [r0, #1]! return (ch >= '0') && (ch <= '9'); - 130fa: f1a3 0230 sub.w r2, r3, #48 ; 0x30 + 130e2: f1a3 0230 sub.w r2, r3, #48 ; 0x30 while(_is_digit(**str)) { - 130fe: b2d2 uxtb r2, r2 - 13100: 2a09 cmp r2, #9 - 13102: d9f3 bls.n 130ec <_vsnprintf+0x13c> + 130e6: b2d2 uxtb r2, r2 + 130e8: 2a09 cmp r2, #9 + 130ea: d9f3 bls.n 130d4 <_vsnprintf+0x13c> i = i * 10U + (unsigned int)(*((*str)++) - '0'); - 13104: 4604 mov r4, r0 - 13106: e7ba b.n 1307e <_vsnprintf+0xce> + 130ec: 4604 mov r4, r0 + 130ee: e7ba b.n 13066 <_vsnprintf+0xce> precision = prec > 0 ? (unsigned int)prec : 0U; - 13108: 6837 ldr r7, [r6, #0] - 1310a: ea27 77e7 bic.w r7, r7, r7, asr #31 + 130f0: 6837 ldr r7, [r6, #0] + 130f2: ea27 77e7 bic.w r7, r7, r7, asr #31 format++; - 1310e: 3402 adds r4, #2 + 130f6: 3402 adds r4, #2 const int prec = (int)va_arg(va, int); - 13110: 3604 adds r6, #4 - 13112: e7b4 b.n 1307e <_vsnprintf+0xce> + 130f8: 3604 adds r6, #4 + 130fa: e7b4 b.n 13066 <_vsnprintf+0xce> if(*format == 'l') { - 13114: 7863 ldrb r3, [r4, #1] - 13116: 2b6c cmp r3, #108 ; 0x6c + 130fc: 7863 ldrb r3, [r4, #1] + 130fe: 2b6c cmp r3, #108 ; 0x6c flags |= FLAGS_LONG; - 13118: bf19 ittee ne - 1311a: f441 7180 orrne.w r1, r1, #256 ; 0x100 + 13100: bf19 ittee ne + 13102: f441 7180 orrne.w r1, r1, #256 ; 0x100 format++; - 1311e: 3401 addne r4, #1 + 13106: 3401 addne r4, #1 flags |= FLAGS_LONG_LONG; - 13120: f441 7140 orreq.w r1, r1, #768 ; 0x300 + 13108: f441 7140 orreq.w r1, r1, #768 ; 0x300 format++; - 13124: 3402 addeq r4, #2 + 1310c: 3402 addeq r4, #2 switch(*format) { - 13126: 7820 ldrb r0, [r4, #0] - 13128: f1a0 0325 sub.w r3, r0, #37 ; 0x25 - 1312c: 2b53 cmp r3, #83 ; 0x53 - 1312e: f200 81b2 bhi.w 13496 <_vsnprintf+0x4e6> - 13132: e8df f013 tbh [pc, r3, lsl #1] - 13136: 01a6 .short 0x01a6 + 1310e: 7820 ldrb r0, [r4, #0] + 13110: f1a0 0325 sub.w r3, r0, #37 ; 0x25 + 13114: 2b53 cmp r3, #83 ; 0x53 + 13116: f200 81b2 bhi.w 1347e <_vsnprintf+0x4e6> + 1311a: e8df f013 tbh [pc, r3, lsl #1] + 1311e: 01a6 .short 0x01a6 + 13120: 01b001b0 .word 0x01b001b0 + 13124: 01b001b0 .word 0x01b001b0 + 13128: 01b001b0 .word 0x01b001b0 + 1312c: 01b001b0 .word 0x01b001b0 + 13130: 01b001b0 .word 0x01b001b0 + 13134: 01b001b0 .word 0x01b001b0 13138: 01b001b0 .word 0x01b001b0 1313c: 01b001b0 .word 0x01b001b0 13140: 01b001b0 .word 0x01b001b0 @@ -41566,20836 +41556,20830 @@ static int _vsnprintf(out_fct_type out, char * buffer, const size_t maxlen, cons 13178: 01b001b0 .word 0x01b001b0 1317c: 01b001b0 .word 0x01b001b0 13180: 01b001b0 .word 0x01b001b0 - 13184: 01b001b0 .word 0x01b001b0 + 13184: 01b0006d .word 0x01b0006d 13188: 01b001b0 .word 0x01b001b0 1318c: 01b001b0 .word 0x01b001b0 13190: 01b001b0 .word 0x01b001b0 13194: 01b001b0 .word 0x01b001b0 - 13198: 01b001b0 .word 0x01b001b0 + 13198: 0114006d .word 0x0114006d 1319c: 01b0006d .word 0x01b0006d 131a0: 01b001b0 .word 0x01b001b0 - 131a4: 01b001b0 .word 0x01b001b0 + 131a4: 006d01b0 .word 0x006d01b0 131a8: 01b001b0 .word 0x01b001b0 131ac: 01b001b0 .word 0x01b001b0 - 131b0: 0114006d .word 0x0114006d - 131b4: 01b0006d .word 0x01b0006d - 131b8: 01b001b0 .word 0x01b001b0 + 131b0: 006d01b0 .word 0x006d01b0 + 131b4: 01b0018f .word 0x01b0018f + 131b8: 013701b0 .word 0x013701b0 131bc: 006d01b0 .word 0x006d01b0 131c0: 01b001b0 .word 0x01b001b0 - 131c4: 01b001b0 .word 0x01b001b0 - 131c8: 006d01b0 .word 0x006d01b0 - 131cc: 01b0018f .word 0x01b0018f - 131d0: 013701b0 .word 0x013701b0 - 131d4: 006d01b0 .word 0x006d01b0 - 131d8: 01b001b0 .word 0x01b001b0 - 131dc: 006d .short 0x006d + 131c4: 006d .short 0x006d if(*format == 'h') { - 131de: 7863 ldrb r3, [r4, #1] - 131e0: 2b68 cmp r3, #104 ; 0x68 + 131c6: 7863 ldrb r3, [r4, #1] + 131c8: 2b68 cmp r3, #104 ; 0x68 flags |= FLAGS_SHORT; - 131e2: bf19 ittee ne - 131e4: f041 0180 orrne.w r1, r1, #128 ; 0x80 + 131ca: bf19 ittee ne + 131cc: f041 0180 orrne.w r1, r1, #128 ; 0x80 format++; - 131e8: 3401 addne r4, #1 + 131d0: 3401 addne r4, #1 flags |= FLAGS_CHAR; - 131ea: f041 01c0 orreq.w r1, r1, #192 ; 0xc0 + 131d2: f041 01c0 orreq.w r1, r1, #192 ; 0xc0 format++; - 131ee: 3402 addeq r4, #2 - 131f0: e799 b.n 13126 <_vsnprintf+0x176> + 131d6: 3402 addeq r4, #2 + 131d8: e799 b.n 1310e <_vsnprintf+0x176> flags |= (sizeof(ptrdiff_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - 131f2: f441 7180 orr.w r1, r1, #256 ; 0x100 + 131da: f441 7180 orr.w r1, r1, #256 ; 0x100 format++; - 131f6: 3401 adds r4, #1 + 131de: 3401 adds r4, #1 break; - 131f8: e795 b.n 13126 <_vsnprintf+0x176> + 131e0: e795 b.n 1310e <_vsnprintf+0x176> flags |= (sizeof(intmax_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - 131fa: f441 7100 orr.w r1, r1, #512 ; 0x200 + 131e2: f441 7100 orr.w r1, r1, #512 ; 0x200 format++; - 131fe: 3401 adds r4, #1 + 131e6: 3401 adds r4, #1 break; - 13200: e791 b.n 13126 <_vsnprintf+0x176> + 131e8: e791 b.n 1310e <_vsnprintf+0x176> flags |= (sizeof(size_t) == sizeof(long) ? FLAGS_LONG : FLAGS_LONG_LONG); - 13202: f441 7180 orr.w r1, r1, #256 ; 0x100 + 131ea: f441 7180 orr.w r1, r1, #256 ; 0x100 format++; - 13206: 3401 adds r4, #1 + 131ee: 3401 adds r4, #1 break; - 13208: e78d b.n 13126 <_vsnprintf+0x176> - 1320a: bf00 nop - 1320c: 00012caf .word 0x00012caf + 131f0: e78d b.n 1310e <_vsnprintf+0x176> + 131f2: bf00 nop + 131f4: 00012c97 .word 0x00012c97 if(*format == 'x' || *format == 'X') { - 13210: 2878 cmp r0, #120 ; 0x78 - 13212: f000 81d5 beq.w 135c0 <_vsnprintf+0x610> - 13216: 2858 cmp r0, #88 ; 0x58 - 13218: f000 8154 beq.w 134c4 <_vsnprintf+0x514> + 131f8: 2878 cmp r0, #120 ; 0x78 + 131fa: f000 81d5 beq.w 135a8 <_vsnprintf+0x610> + 131fe: 2858 cmp r0, #88 ; 0x58 + 13200: f000 8154 beq.w 134ac <_vsnprintf+0x514> else if(*format == 'o') { - 1321c: 286f cmp r0, #111 ; 0x6f - 1321e: f000 81d1 beq.w 135c4 <_vsnprintf+0x614> + 13204: 286f cmp r0, #111 ; 0x6f + 13206: f000 81d1 beq.w 135ac <_vsnprintf+0x614> else if(*format == 'b') { - 13222: 2862 cmp r0, #98 ; 0x62 - 13224: f000 81d0 beq.w 135c8 <_vsnprintf+0x618> + 1320a: 2862 cmp r0, #98 ; 0x62 + 1320c: f000 81d0 beq.w 135b0 <_vsnprintf+0x618> flags &= ~FLAGS_HASH; // no hash for dec format - 13228: f021 0310 bic.w r3, r1, #16 + 13210: f021 0310 bic.w r3, r1, #16 if((*format != 'i') && (*format != 'd')) { - 1322c: 2869 cmp r0, #105 ; 0x69 - 1322e: d126 bne.n 1327e <_vsnprintf+0x2ce> + 13214: 2869 cmp r0, #105 ; 0x69 + 13216: d126 bne.n 13266 <_vsnprintf+0x2ce> if(flags & FLAGS_PRECISION) { - 13230: f411 6f80 tst.w r1, #1024 ; 0x400 - 13234: f040 81c0 bne.w 135b8 <_vsnprintf+0x608> + 13218: f411 6f80 tst.w r1, #1024 ; 0x400 + 1321c: f040 81c0 bne.w 135a0 <_vsnprintf+0x608> base = 10U; - 13238: 220a movs r2, #10 + 13220: 220a movs r2, #10 if(flags & FLAGS_LONG_LONG) { - 1323a: f413 7f00 tst.w r3, #512 ; 0x200 - 1323e: d124 bne.n 1328a <_vsnprintf+0x2da> + 13222: f413 7f00 tst.w r3, #512 ; 0x200 + 13226: d124 bne.n 13272 <_vsnprintf+0x2da> else if(flags & FLAGS_LONG) { - 13240: f413 7f80 tst.w r3, #256 ; 0x100 - 13244: d144 bne.n 132d0 <_vsnprintf+0x320> + 13228: f413 7f80 tst.w r3, #256 ; 0x100 + 1322c: d144 bne.n 132b8 <_vsnprintf+0x320> const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va, - 13246: f013 0f40 tst.w r3, #64 ; 0x40 - 1324a: d157 bne.n 132fc <_vsnprintf+0x34c> + 1322e: f013 0f40 tst.w r3, #64 ; 0x40 + 13232: d157 bne.n 132e4 <_vsnprintf+0x34c> int) : va_arg(va, int); - 1324c: f013 0f80 tst.w r3, #128 ; 0x80 - 13250: bf14 ite ne - 13252: f9b6 1000 ldrshne.w r1, [r6] - 13256: 6831 ldreq r1, [r6, #0] - 13258: 3604 adds r6, #4 + 13234: f013 0f80 tst.w r3, #128 ; 0x80 + 13238: bf14 ite ne + 1323a: f9b6 1000 ldrshne.w r1, [r6] + 1323e: 6831 ldreq r1, [r6, #0] + 13240: 3604 adds r6, #4 idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned int)(value > 0 ? value : 0 - value), value < 0, base, precision, - 1325a: 9305 str r3, [sp, #20] - 1325c: 9504 str r5, [sp, #16] - 1325e: 9703 str r7, [sp, #12] - 13260: 9202 str r2, [sp, #8] - 13262: 0fcb lsrs r3, r1, #31 - 13264: 9301 str r3, [sp, #4] - 13266: 2900 cmp r1, #0 - 13268: bfb8 it lt - 1326a: 4249 neglt r1, r1 - 1326c: 9100 str r1, [sp, #0] - 1326e: 9b0a ldr r3, [sp, #40] ; 0x28 - 13270: 465a mov r2, fp - 13272: 990b ldr r1, [sp, #44] ; 0x2c - 13274: 4648 mov r0, r9 - 13276: 4dac ldr r5, [pc, #688] ; (13528 <_vsnprintf+0x578>) - 13278: 47a8 blx r5 - 1327a: 4683 mov fp, r0 - 1327c: e152 b.n 13524 <_vsnprintf+0x574> + 13242: 9305 str r3, [sp, #20] + 13244: 9504 str r5, [sp, #16] + 13246: 9703 str r7, [sp, #12] + 13248: 9202 str r2, [sp, #8] + 1324a: 0fcb lsrs r3, r1, #31 + 1324c: 9301 str r3, [sp, #4] + 1324e: 2900 cmp r1, #0 + 13250: bfb8 it lt + 13252: 4249 neglt r1, r1 + 13254: 9100 str r1, [sp, #0] + 13256: 9b0a ldr r3, [sp, #40] ; 0x28 + 13258: 465a mov r2, fp + 1325a: 990b ldr r1, [sp, #44] ; 0x2c + 1325c: 4648 mov r0, r9 + 1325e: 4dac ldr r5, [pc, #688] ; (13510 <_vsnprintf+0x578>) + 13260: 47a8 blx r5 + 13262: 4683 mov fp, r0 + 13264: e152 b.n 1350c <_vsnprintf+0x574> if((*format != 'i') && (*format != 'd')) { - 1327e: 2864 cmp r0, #100 ; 0x64 - 13280: f000 8156 beq.w 13530 <_vsnprintf+0x580> + 13266: 2864 cmp r0, #100 ; 0x64 + 13268: f000 8156 beq.w 13518 <_vsnprintf+0x580> flags &= ~FLAGS_HASH; // no hash for dec format - 13284: 4619 mov r1, r3 + 1326c: 4619 mov r1, r3 base = 10U; - 13286: 220a movs r2, #10 - 13288: e11f b.n 134ca <_vsnprintf+0x51a> + 1326e: 220a movs r2, #10 + 13270: e11f b.n 134b2 <_vsnprintf+0x51a> const long long value = va_arg(va, long long); - 1328a: 1df1 adds r1, r6, #7 - 1328c: f021 0107 bic.w r1, r1, #7 - 13290: f101 0608 add.w r6, r1, #8 - 13294: 6808 ldr r0, [r1, #0] - 13296: 6849 ldr r1, [r1, #4] + 13272: 1df1 adds r1, r6, #7 + 13274: f021 0107 bic.w r1, r1, #7 + 13278: f101 0608 add.w r6, r1, #8 + 1327c: 6808 ldr r0, [r1, #0] + 1327e: 6849 ldr r1, [r1, #4] idx = _ntoa_long_long(out, buffer, idx, maxlen, (unsigned long long)(value > 0 ? value : 0 - value), value < 0, base, - 13298: 9308 str r3, [sp, #32] - 1329a: 9507 str r5, [sp, #28] - 1329c: 9706 str r7, [sp, #24] - 1329e: 9204 str r2, [sp, #16] - 132a0: 2300 movs r3, #0 - 132a2: 9305 str r3, [sp, #20] - 132a4: 0fcb lsrs r3, r1, #31 - 132a6: 9302 str r3, [sp, #8] - 132a8: 4602 mov r2, r0 - 132aa: 460b mov r3, r1 - 132ac: 2800 cmp r0, #0 - 132ae: f173 0100 sbcs.w r1, r3, #0 - 132b2: db09 blt.n 132c8 <_vsnprintf+0x318> - 132b4: e9cd 2300 strd r2, r3, [sp] - 132b8: 9b0a ldr r3, [sp, #40] ; 0x28 - 132ba: 465a mov r2, fp - 132bc: 990b ldr r1, [sp, #44] ; 0x2c - 132be: 4648 mov r0, r9 - 132c0: 4d9a ldr r5, [pc, #616] ; (1352c <_vsnprintf+0x57c>) - 132c2: 47a8 blx r5 - 132c4: 4683 mov fp, r0 - 132c6: e12d b.n 13524 <_vsnprintf+0x574> - 132c8: 4242 negs r2, r0 - 132ca: eb63 0343 sbc.w r3, r3, r3, lsl #1 - 132ce: e7f1 b.n 132b4 <_vsnprintf+0x304> + 13280: 9308 str r3, [sp, #32] + 13282: 9507 str r5, [sp, #28] + 13284: 9706 str r7, [sp, #24] + 13286: 9204 str r2, [sp, #16] + 13288: 2300 movs r3, #0 + 1328a: 9305 str r3, [sp, #20] + 1328c: 0fcb lsrs r3, r1, #31 + 1328e: 9302 str r3, [sp, #8] + 13290: 4602 mov r2, r0 + 13292: 460b mov r3, r1 + 13294: 2800 cmp r0, #0 + 13296: f173 0100 sbcs.w r1, r3, #0 + 1329a: db09 blt.n 132b0 <_vsnprintf+0x318> + 1329c: e9cd 2300 strd r2, r3, [sp] + 132a0: 9b0a ldr r3, [sp, #40] ; 0x28 + 132a2: 465a mov r2, fp + 132a4: 990b ldr r1, [sp, #44] ; 0x2c + 132a6: 4648 mov r0, r9 + 132a8: 4d9a ldr r5, [pc, #616] ; (13514 <_vsnprintf+0x57c>) + 132aa: 47a8 blx r5 + 132ac: 4683 mov fp, r0 + 132ae: e12d b.n 1350c <_vsnprintf+0x574> + 132b0: 4242 negs r2, r0 + 132b2: eb63 0343 sbc.w r3, r3, r3, lsl #1 + 132b6: e7f1 b.n 1329c <_vsnprintf+0x304> const long value = va_arg(va, long); - 132d0: f106 0804 add.w r8, r6, #4 - 132d4: 6831 ldr r1, [r6, #0] + 132b8: f106 0804 add.w r8, r6, #4 + 132bc: 6831 ldr r1, [r6, #0] idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)(value > 0 ? value : 0 - value), value < 0, base, precision, - 132d6: 9305 str r3, [sp, #20] - 132d8: 9504 str r5, [sp, #16] - 132da: 9703 str r7, [sp, #12] - 132dc: 9202 str r2, [sp, #8] - 132de: 0fcb lsrs r3, r1, #31 - 132e0: 9301 str r3, [sp, #4] - 132e2: 2900 cmp r1, #0 - 132e4: bfb8 it lt - 132e6: 4249 neglt r1, r1 - 132e8: 9100 str r1, [sp, #0] - 132ea: 9b0a ldr r3, [sp, #40] ; 0x28 - 132ec: 465a mov r2, fp - 132ee: 990b ldr r1, [sp, #44] ; 0x2c - 132f0: 4648 mov r0, r9 - 132f2: 4d8d ldr r5, [pc, #564] ; (13528 <_vsnprintf+0x578>) - 132f4: 47a8 blx r5 - 132f6: 4683 mov fp, r0 + 132be: 9305 str r3, [sp, #20] + 132c0: 9504 str r5, [sp, #16] + 132c2: 9703 str r7, [sp, #12] + 132c4: 9202 str r2, [sp, #8] + 132c6: 0fcb lsrs r3, r1, #31 + 132c8: 9301 str r3, [sp, #4] + 132ca: 2900 cmp r1, #0 + 132cc: bfb8 it lt + 132ce: 4249 neglt r1, r1 + 132d0: 9100 str r1, [sp, #0] + 132d2: 9b0a ldr r3, [sp, #40] ; 0x28 + 132d4: 465a mov r2, fp + 132d6: 990b ldr r1, [sp, #44] ; 0x2c + 132d8: 4648 mov r0, r9 + 132da: 4d8d ldr r5, [pc, #564] ; (13510 <_vsnprintf+0x578>) + 132dc: 47a8 blx r5 + 132de: 4683 mov fp, r0 const long value = va_arg(va, long); - 132f8: 4646 mov r6, r8 - 132fa: e113 b.n 13524 <_vsnprintf+0x574> - 132fc: 7831 ldrb r1, [r6, #0] + 132e0: 4646 mov r6, r8 + 132e2: e113 b.n 1350c <_vsnprintf+0x574> + 132e4: 7831 ldrb r1, [r6, #0] const int value = (flags & FLAGS_CHAR) ? (char)va_arg(va, int) : (flags & FLAGS_SHORT) ? (short int)va_arg(va, - 132fe: 3604 adds r6, #4 - 13300: e7ab b.n 1325a <_vsnprintf+0x2aa> + 132e6: 3604 adds r6, #4 + 132e8: e7ab b.n 13242 <_vsnprintf+0x2aa> idx = _ntoa_long_long(out, buffer, idx, maxlen, va_arg(va, unsigned long long), false, base, precision, width, flags); - 13302: 1df1 adds r1, r6, #7 - 13304: f021 0107 bic.w r1, r1, #7 - 13308: f101 0608 add.w r6, r1, #8 - 1330c: 9308 str r3, [sp, #32] - 1330e: 9507 str r5, [sp, #28] - 13310: 9706 str r7, [sp, #24] - 13312: 2300 movs r3, #0 - 13314: 9204 str r2, [sp, #16] - 13316: 9305 str r3, [sp, #20] - 13318: 9302 str r3, [sp, #8] - 1331a: e9d1 2300 ldrd r2, r3, [r1] - 1331e: e9cd 2300 strd r2, r3, [sp] - 13322: 9b0a ldr r3, [sp, #40] ; 0x28 - 13324: 465a mov r2, fp - 13326: 990b ldr r1, [sp, #44] ; 0x2c - 13328: 4648 mov r0, r9 - 1332a: 4d80 ldr r5, [pc, #512] ; (1352c <_vsnprintf+0x57c>) - 1332c: 47a8 blx r5 - 1332e: 4683 mov fp, r0 - 13330: e0f8 b.n 13524 <_vsnprintf+0x574> + 132ea: 1df1 adds r1, r6, #7 + 132ec: f021 0107 bic.w r1, r1, #7 + 132f0: f101 0608 add.w r6, r1, #8 + 132f4: 9308 str r3, [sp, #32] + 132f6: 9507 str r5, [sp, #28] + 132f8: 9706 str r7, [sp, #24] + 132fa: 2300 movs r3, #0 + 132fc: 9204 str r2, [sp, #16] + 132fe: 9305 str r3, [sp, #20] + 13300: 9302 str r3, [sp, #8] + 13302: e9d1 2300 ldrd r2, r3, [r1] + 13306: e9cd 2300 strd r2, r3, [sp] + 1330a: 9b0a ldr r3, [sp, #40] ; 0x28 + 1330c: 465a mov r2, fp + 1330e: 990b ldr r1, [sp, #44] ; 0x2c + 13310: 4648 mov r0, r9 + 13312: 4d80 ldr r5, [pc, #512] ; (13514 <_vsnprintf+0x57c>) + 13314: 47a8 blx r5 + 13316: 4683 mov fp, r0 + 13318: e0f8 b.n 1350c <_vsnprintf+0x574> idx = _ntoa_long(out, buffer, idx, maxlen, va_arg(va, unsigned long), false, base, precision, width, flags); - 13332: f106 0804 add.w r8, r6, #4 - 13336: 9305 str r3, [sp, #20] - 13338: 9504 str r5, [sp, #16] - 1333a: 9703 str r7, [sp, #12] - 1333c: 9202 str r2, [sp, #8] - 1333e: 2300 movs r3, #0 - 13340: 9301 str r3, [sp, #4] - 13342: 6833 ldr r3, [r6, #0] - 13344: 9300 str r3, [sp, #0] - 13346: 9b0a ldr r3, [sp, #40] ; 0x28 - 13348: 465a mov r2, fp - 1334a: 990b ldr r1, [sp, #44] ; 0x2c - 1334c: 4648 mov r0, r9 - 1334e: 4d76 ldr r5, [pc, #472] ; (13528 <_vsnprintf+0x578>) - 13350: 47a8 blx r5 - 13352: 4683 mov fp, r0 - 13354: 4646 mov r6, r8 - 13356: e0e5 b.n 13524 <_vsnprintf+0x574> - 13358: 7831 ldrb r1, [r6, #0] + 1331a: f106 0804 add.w r8, r6, #4 + 1331e: 9305 str r3, [sp, #20] + 13320: 9504 str r5, [sp, #16] + 13322: 9703 str r7, [sp, #12] + 13324: 9202 str r2, [sp, #8] + 13326: 2300 movs r3, #0 + 13328: 9301 str r3, [sp, #4] + 1332a: 6833 ldr r3, [r6, #0] + 1332c: 9300 str r3, [sp, #0] + 1332e: 9b0a ldr r3, [sp, #40] ; 0x28 + 13330: 465a mov r2, fp + 13332: 990b ldr r1, [sp, #44] ; 0x2c + 13334: 4648 mov r0, r9 + 13336: 4d76 ldr r5, [pc, #472] ; (13510 <_vsnprintf+0x578>) + 13338: 47a8 blx r5 + 1333a: 4683 mov fp, r0 + 1333c: 4646 mov r6, r8 + 1333e: e0e5 b.n 1350c <_vsnprintf+0x574> + 13340: 7831 ldrb r1, [r6, #0] const unsigned int value = (flags & FLAGS_CHAR) ? (unsigned char)va_arg(va, - 1335a: 3604 adds r6, #4 - 1335c: e0d4 b.n 13508 <_vsnprintf+0x558> + 13342: 3604 adds r6, #4 + 13344: e0d4 b.n 134f0 <_vsnprintf+0x558> if(!(flags & FLAGS_LEFT)) { - 1335e: f011 0f02 tst.w r1, #2 - 13362: f040 80ea bne.w 1353a <_vsnprintf+0x58a> + 13346: f011 0f02 tst.w r1, #2 + 1334a: f040 80ea bne.w 13522 <_vsnprintf+0x58a> while(l++ < width) { - 13366: 2d01 cmp r5, #1 - 13368: f240 8103 bls.w 13572 <_vsnprintf+0x5c2> - 1336c: f10b 37ff add.w r7, fp, #4294967295 - 13370: 442f add r7, r5 + 1334e: 2d01 cmp r5, #1 + 13350: f240 8103 bls.w 1355a <_vsnprintf+0x5c2> + 13354: f10b 37ff add.w r7, fp, #4294967295 + 13358: 442f add r7, r5 out(' ', buffer, idx++, maxlen); - 13372: f04f 0820 mov.w r8, #32 - 13376: 465a mov r2, fp - 13378: 1c55 adds r5, r2, #1 - 1337a: 9b0a ldr r3, [sp, #40] ; 0x28 - 1337c: 990b ldr r1, [sp, #44] ; 0x2c - 1337e: 4640 mov r0, r8 - 13380: 47c8 blx r9 - 13382: 462a mov r2, r5 + 1335a: f04f 0820 mov.w r8, #32 + 1335e: 465a mov r2, fp + 13360: 1c55 adds r5, r2, #1 + 13362: 9b0a ldr r3, [sp, #40] ; 0x28 + 13364: 990b ldr r1, [sp, #44] ; 0x2c + 13366: 4640 mov r0, r8 + 13368: 47c8 blx r9 + 1336a: 462a mov r2, r5 while(l++ < width) { - 13384: 42bd cmp r5, r7 - 13386: d1f7 bne.n 13378 <_vsnprintf+0x3c8> + 1336c: 42bd cmp r5, r7 + 1336e: d1f7 bne.n 13360 <_vsnprintf+0x3c8> out((char)va_arg(va, int), buffer, idx++, maxlen); - 13388: 1d37 adds r7, r6, #4 - 1338a: f105 0b01 add.w fp, r5, #1 - 1338e: 9b0a ldr r3, [sp, #40] ; 0x28 - 13390: 462a mov r2, r5 - 13392: 990b ldr r1, [sp, #44] ; 0x2c - 13394: 7830 ldrb r0, [r6, #0] - 13396: 47c8 blx r9 - 13398: 463e mov r6, r7 + 13370: 1d37 adds r7, r6, #4 + 13372: f105 0b01 add.w fp, r5, #1 + 13376: 9b0a ldr r3, [sp, #40] ; 0x28 + 13378: 462a mov r2, r5 + 1337a: 990b ldr r1, [sp, #44] ; 0x2c + 1337c: 7830 ldrb r0, [r6, #0] + 1337e: 47c8 blx r9 + 13380: 463e mov r6, r7 format++; - 1339a: 3401 adds r4, #1 + 13382: 3401 adds r4, #1 break; - 1339c: e616 b.n 12fcc <_vsnprintf+0x1c> + 13384: e616 b.n 12fb4 <_vsnprintf+0x1c> out((char)va_arg(va, int), buffer, idx++, maxlen); - 1339e: 9e0c ldr r6, [sp, #48] ; 0x30 - 133a0: 46bb mov fp, r7 - 133a2: e7fa b.n 1339a <_vsnprintf+0x3ea> + 13386: 9e0c ldr r6, [sp, #48] ; 0x30 + 13388: 46bb mov fp, r7 + 1338a: e7fa b.n 13382 <_vsnprintf+0x3ea> const char * p = va_arg(va, char *); - 133a4: 1d33 adds r3, r6, #4 - 133a6: 930e str r3, [sp, #56] ; 0x38 - 133a8: 6833 ldr r3, [r6, #0] - 133aa: 461a mov r2, r3 - 133ac: 930c str r3, [sp, #48] ; 0x30 + 1338c: 1d33 adds r3, r6, #4 + 1338e: 930e str r3, [sp, #56] ; 0x38 + 13390: 6833 ldr r3, [r6, #0] + 13392: 461a mov r2, r3 + 13394: 930c str r3, [sp, #48] ; 0x30 unsigned int l = _strnlen_s(p, precision ? precision : (size_t) -1); - 133ae: 2f00 cmp r7, #0 - 133b0: bf14 ite ne - 133b2: 463b movne r3, r7 - 133b4: f04f 33ff moveq.w r3, #4294967295 + 13396: 2f00 cmp r7, #0 + 13398: bf14 ite ne + 1339a: 463b movne r3, r7 + 1339c: f04f 33ff moveq.w r3, #4294967295 for(s = str; *s && maxsize--; ++s); - 133b8: 7810 ldrb r0, [r2, #0] - 133ba: 2800 cmp r0, #0 - 133bc: f000 80db beq.w 13576 <_vsnprintf+0x5c6> - 133c0: f812 6f01 ldrb.w r6, [r2, #1]! - 133c4: b10e cbz r6, 133ca <_vsnprintf+0x41a> - 133c6: 3b01 subs r3, #1 - 133c8: d1fa bne.n 133c0 <_vsnprintf+0x410> + 133a0: 7810 ldrb r0, [r2, #0] + 133a2: 2800 cmp r0, #0 + 133a4: f000 80db beq.w 1355e <_vsnprintf+0x5c6> + 133a8: f812 6f01 ldrb.w r6, [r2, #1]! + 133ac: b10e cbz r6, 133b2 <_vsnprintf+0x41a> + 133ae: 3b01 subs r3, #1 + 133b0: d1fa bne.n 133a8 <_vsnprintf+0x410> return (unsigned int)(s - str); - 133ca: 9b0c ldr r3, [sp, #48] ; 0x30 - 133cc: 1ad3 subs r3, r2, r3 - 133ce: 930d str r3, [sp, #52] ; 0x34 + 133b2: 9b0c ldr r3, [sp, #48] ; 0x30 + 133b4: 1ad3 subs r3, r2, r3 + 133b6: 930d str r3, [sp, #52] ; 0x34 if(flags & FLAGS_PRECISION) { - 133d0: f411 6a80 ands.w sl, r1, #1024 ; 0x400 - 133d4: d003 beq.n 133de <_vsnprintf+0x42e> + 133b8: f411 6a80 ands.w sl, r1, #1024 ; 0x400 + 133bc: d003 beq.n 133c6 <_vsnprintf+0x42e> l = (l < precision ? l : precision); - 133d6: 42bb cmp r3, r7 - 133d8: bf28 it cs - 133da: 463b movcs r3, r7 - 133dc: 930d str r3, [sp, #52] ; 0x34 + 133be: 42bb cmp r3, r7 + 133c0: bf28 it cs + 133c2: 463b movcs r3, r7 + 133c4: 930d str r3, [sp, #52] ; 0x34 if(!(flags & FLAGS_LEFT)) { - 133de: f011 0302 ands.w r3, r1, #2 - 133e2: 930f str r3, [sp, #60] ; 0x3c - 133e4: f040 80ce bne.w 13584 <_vsnprintf+0x5d4> + 133c6: f011 0302 ands.w r3, r1, #2 + 133ca: 930f str r3, [sp, #60] ; 0x3c + 133cc: f040 80ce bne.w 1356c <_vsnprintf+0x5d4> while(l++ < width) { - 133e8: 990d ldr r1, [sp, #52] ; 0x34 - 133ea: 460b mov r3, r1 - 133ec: 3301 adds r3, #1 - 133ee: 428d cmp r5, r1 - 133f0: f240 80c3 bls.w 1357a <_vsnprintf+0x5ca> - 133f4: eb05 080b add.w r8, r5, fp - 133f8: eba8 0801 sub.w r8, r8, r1 + 133d0: 990d ldr r1, [sp, #52] ; 0x34 + 133d2: 460b mov r3, r1 + 133d4: 3301 adds r3, #1 + 133d6: 428d cmp r5, r1 + 133d8: f240 80c3 bls.w 13562 <_vsnprintf+0x5ca> + 133dc: eb05 080b add.w r8, r5, fp + 133e0: eba8 0801 sub.w r8, r8, r1 out(' ', buffer, idx++, maxlen); - 133fc: 465a mov r2, fp - 133fe: 1c56 adds r6, r2, #1 - 13400: 9b0a ldr r3, [sp, #40] ; 0x28 - 13402: 990b ldr r1, [sp, #44] ; 0x2c - 13404: 2020 movs r0, #32 - 13406: 47c8 blx r9 - 13408: 4632 mov r2, r6 + 133e4: 465a mov r2, fp + 133e6: 1c56 adds r6, r2, #1 + 133e8: 9b0a ldr r3, [sp, #40] ; 0x28 + 133ea: 990b ldr r1, [sp, #44] ; 0x2c + 133ec: 2020 movs r0, #32 + 133ee: 47c8 blx r9 + 133f0: 4632 mov r2, r6 while(l++ < width) { - 1340a: 4546 cmp r6, r8 - 1340c: d1f7 bne.n 133fe <_vsnprintf+0x44e> - 1340e: 1c6b adds r3, r5, #1 - 13410: 930d str r3, [sp, #52] ; 0x34 + 133f2: 4546 cmp r6, r8 + 133f4: d1f7 bne.n 133e6 <_vsnprintf+0x44e> + 133f6: 1c6b adds r3, r5, #1 + 133f8: 930d str r3, [sp, #52] ; 0x34 while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 13412: 9b0c ldr r3, [sp, #48] ; 0x30 - 13414: 7818 ldrb r0, [r3, #0] - 13416: 2800 cmp r0, #0 - 13418: f000 80b2 beq.w 13580 <_vsnprintf+0x5d0> - 1341c: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 - 13420: 4632 mov r2, r6 - 13422: 4656 mov r6, sl - 13424: e009 b.n 1343a <_vsnprintf+0x48a> - 13426: 461f mov r7, r3 + 133fa: 9b0c ldr r3, [sp, #48] ; 0x30 + 133fc: 7818 ldrb r0, [r3, #0] + 133fe: 2800 cmp r0, #0 + 13400: f000 80b2 beq.w 13568 <_vsnprintf+0x5d0> + 13404: f8dd 8030 ldr.w r8, [sp, #48] ; 0x30 + 13408: 4632 mov r2, r6 + 1340a: 4656 mov r6, sl + 1340c: e009 b.n 13422 <_vsnprintf+0x48a> + 1340e: 461f mov r7, r3 out(*(p++), buffer, idx++, maxlen); - 13428: f102 0b01 add.w fp, r2, #1 - 1342c: 9b0a ldr r3, [sp, #40] ; 0x28 - 1342e: 990b ldr r1, [sp, #44] ; 0x2c - 13430: 47c8 blx r9 + 13410: f102 0b01 add.w fp, r2, #1 + 13414: 9b0a ldr r3, [sp, #40] ; 0x28 + 13416: 990b ldr r1, [sp, #44] ; 0x2c + 13418: 47c8 blx r9 while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 13432: f818 0f01 ldrb.w r0, [r8, #1]! - 13436: b130 cbz r0, 13446 <_vsnprintf+0x496> + 1341a: f818 0f01 ldrb.w r0, [r8, #1]! + 1341e: b130 cbz r0, 1342e <_vsnprintf+0x496> out(*(p++), buffer, idx++, maxlen); - 13438: 465a mov r2, fp + 13420: 465a mov r2, fp while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 1343a: 2e00 cmp r6, #0 - 1343c: d0f4 beq.n 13428 <_vsnprintf+0x478> - 1343e: 1e7b subs r3, r7, #1 - 13440: 2f00 cmp r7, #0 - 13442: d1f0 bne.n 13426 <_vsnprintf+0x476> - 13444: 4693 mov fp, r2 + 13422: 2e00 cmp r6, #0 + 13424: d0f4 beq.n 13410 <_vsnprintf+0x478> + 13426: 1e7b subs r3, r7, #1 + 13428: 2f00 cmp r7, #0 + 1342a: d1f0 bne.n 1340e <_vsnprintf+0x476> + 1342c: 4693 mov fp, r2 if(flags & FLAGS_LEFT) { - 13446: 9b0f ldr r3, [sp, #60] ; 0x3c - 13448: 2b00 cmp r3, #0 - 1344a: f040 809f bne.w 1358c <_vsnprintf+0x5dc> + 1342e: 9b0f ldr r3, [sp, #60] ; 0x3c + 13430: 2b00 cmp r3, #0 + 13432: f040 809f bne.w 13574 <_vsnprintf+0x5dc> format++; - 1344e: 3401 adds r4, #1 + 13436: 3401 adds r4, #1 const char * p = va_arg(va, char *); - 13450: 9e0e ldr r6, [sp, #56] ; 0x38 + 13438: 9e0e ldr r6, [sp, #56] ; 0x38 break; - 13452: e5bb b.n 12fcc <_vsnprintf+0x1c> + 1343a: e5bb b.n 12fb4 <_vsnprintf+0x1c> idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width, - 13454: 1d35 adds r5, r6, #4 + 1343c: 1d35 adds r5, r6, #4 flags |= FLAGS_ZEROPAD | FLAGS_UPPERCASE; - 13456: f041 0121 orr.w r1, r1, #33 ; 0x21 + 1343e: f041 0121 orr.w r1, r1, #33 ; 0x21 idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width, - 1345a: 9105 str r1, [sp, #20] - 1345c: 2308 movs r3, #8 - 1345e: 9304 str r3, [sp, #16] - 13460: 9703 str r7, [sp, #12] - 13462: 2310 movs r3, #16 - 13464: 9302 str r3, [sp, #8] - 13466: 2300 movs r3, #0 - 13468: 9301 str r3, [sp, #4] - 1346a: 6833 ldr r3, [r6, #0] - 1346c: 9300 str r3, [sp, #0] - 1346e: 9b0a ldr r3, [sp, #40] ; 0x28 - 13470: 465a mov r2, fp - 13472: 990b ldr r1, [sp, #44] ; 0x2c - 13474: 4648 mov r0, r9 - 13476: 4e2c ldr r6, [pc, #176] ; (13528 <_vsnprintf+0x578>) - 13478: 47b0 blx r6 - 1347a: 4683 mov fp, r0 + 13442: 9105 str r1, [sp, #20] + 13444: 2308 movs r3, #8 + 13446: 9304 str r3, [sp, #16] + 13448: 9703 str r7, [sp, #12] + 1344a: 2310 movs r3, #16 + 1344c: 9302 str r3, [sp, #8] + 1344e: 2300 movs r3, #0 + 13450: 9301 str r3, [sp, #4] + 13452: 6833 ldr r3, [r6, #0] + 13454: 9300 str r3, [sp, #0] + 13456: 9b0a ldr r3, [sp, #40] ; 0x28 + 13458: 465a mov r2, fp + 1345a: 990b ldr r1, [sp, #44] ; 0x2c + 1345c: 4648 mov r0, r9 + 1345e: 4e2c ldr r6, [pc, #176] ; (13510 <_vsnprintf+0x578>) + 13460: 47b0 blx r6 + 13462: 4683 mov fp, r0 format++; - 1347c: 3401 adds r4, #1 + 13464: 3401 adds r4, #1 idx = _ntoa_long(out, buffer, idx, maxlen, (unsigned long)((uintptr_t)va_arg(va, void *)), false, 16U, precision, width, - 1347e: 462e mov r6, r5 + 13466: 462e mov r6, r5 break; - 13480: e5a4 b.n 12fcc <_vsnprintf+0x1c> + 13468: e5a4 b.n 12fb4 <_vsnprintf+0x1c> out('%', buffer, idx++, maxlen); - 13482: f10b 0501 add.w r5, fp, #1 - 13486: 9b0a ldr r3, [sp, #40] ; 0x28 - 13488: 465a mov r2, fp - 1348a: 990b ldr r1, [sp, #44] ; 0x2c - 1348c: 2025 movs r0, #37 ; 0x25 - 1348e: 47c8 blx r9 + 1346a: f10b 0501 add.w r5, fp, #1 + 1346e: 9b0a ldr r3, [sp, #40] ; 0x28 + 13470: 465a mov r2, fp + 13472: 990b ldr r1, [sp, #44] ; 0x2c + 13474: 2025 movs r0, #37 ; 0x25 + 13476: 47c8 blx r9 format++; - 13490: 3401 adds r4, #1 + 13478: 3401 adds r4, #1 out('%', buffer, idx++, maxlen); - 13492: 46ab mov fp, r5 + 1347a: 46ab mov fp, r5 break; - 13494: e59a b.n 12fcc <_vsnprintf+0x1c> + 1347c: e59a b.n 12fb4 <_vsnprintf+0x1c> default : out(*format, buffer, idx++, maxlen); - 13496: f10b 0501 add.w r5, fp, #1 - 1349a: 9b0a ldr r3, [sp, #40] ; 0x28 - 1349c: 465a mov r2, fp - 1349e: 990b ldr r1, [sp, #44] ; 0x2c - 134a0: 47c8 blx r9 + 1347e: f10b 0501 add.w r5, fp, #1 + 13482: 9b0a ldr r3, [sp, #40] ; 0x28 + 13484: 465a mov r2, fp + 13486: 990b ldr r1, [sp, #44] ; 0x2c + 13488: 47c8 blx r9 format++; - 134a2: 3401 adds r4, #1 + 1348a: 3401 adds r4, #1 out(*format, buffer, idx++, maxlen); - 134a4: 46ab mov fp, r5 + 1348c: 46ab mov fp, r5 break; - 134a6: e591 b.n 12fcc <_vsnprintf+0x1c> + 1348e: e591 b.n 12fb4 <_vsnprintf+0x1c> } } // termination out((char)0, buffer, idx < maxlen ? idx : maxlen - 1U, maxlen); - 134a8: 9a0a ldr r2, [sp, #40] ; 0x28 - 134aa: 4593 cmp fp, r2 - 134ac: bf2c ite cs - 134ae: f102 32ff addcs.w r2, r2, #4294967295 - 134b2: 465a movcc r2, fp - 134b4: 9b0a ldr r3, [sp, #40] ; 0x28 - 134b6: 990b ldr r1, [sp, #44] ; 0x2c - 134b8: 2000 movs r0, #0 - 134ba: 47c8 blx r9 + 13490: 9a0a ldr r2, [sp, #40] ; 0x28 + 13492: 4593 cmp fp, r2 + 13494: bf2c ite cs + 13496: f102 32ff addcs.w r2, r2, #4294967295 + 1349a: 465a movcc r2, fp + 1349c: 9b0a ldr r3, [sp, #40] ; 0x28 + 1349e: 990b ldr r1, [sp, #44] ; 0x2c + 134a0: 2000 movs r0, #0 + 134a2: 47c8 blx r9 // return written chars without terminating \0 return (int)idx; } - 134bc: 4658 mov r0, fp - 134be: b011 add sp, #68 ; 0x44 - 134c0: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 134a4: 4658 mov r0, fp + 134a6: b011 add sp, #68 ; 0x44 + 134a8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} flags |= FLAGS_UPPERCASE; - 134c4: f041 0120 orr.w r1, r1, #32 + 134ac: f041 0120 orr.w r1, r1, #32 base = 16U; - 134c8: 2210 movs r2, #16 + 134b0: 2210 movs r2, #16 flags &= ~(FLAGS_PLUS | FLAGS_SPACE); - 134ca: f021 030c bic.w r3, r1, #12 + 134b2: f021 030c bic.w r3, r1, #12 if(flags & FLAGS_PRECISION) { - 134ce: f411 6f80 tst.w r1, #1024 ; 0x400 - 134d2: d007 beq.n 134e4 <_vsnprintf+0x534> + 134b6: f411 6f80 tst.w r1, #1024 ; 0x400 + 134ba: d007 beq.n 134cc <_vsnprintf+0x534> flags &= ~FLAGS_ZEROPAD; - 134d4: f021 030d bic.w r3, r1, #13 + 134bc: f021 030d bic.w r3, r1, #13 if((*format == 'i') || (*format == 'd')) { - 134d8: 2869 cmp r0, #105 ; 0x69 - 134da: f43f aeae beq.w 1323a <_vsnprintf+0x28a> - 134de: 2864 cmp r0, #100 ; 0x64 - 134e0: f43f aeab beq.w 1323a <_vsnprintf+0x28a> + 134c0: 2869 cmp r0, #105 ; 0x69 + 134c2: f43f aeae beq.w 13222 <_vsnprintf+0x28a> + 134c6: 2864 cmp r0, #100 ; 0x64 + 134c8: f43f aeab beq.w 13222 <_vsnprintf+0x28a> if(flags & FLAGS_LONG_LONG) { - 134e4: f413 7f00 tst.w r3, #512 ; 0x200 - 134e8: f47f af0b bne.w 13302 <_vsnprintf+0x352> + 134cc: f413 7f00 tst.w r3, #512 ; 0x200 + 134d0: f47f af0b bne.w 132ea <_vsnprintf+0x352> else if(flags & FLAGS_LONG) { - 134ec: f413 7f80 tst.w r3, #256 ; 0x100 - 134f0: f47f af1f bne.w 13332 <_vsnprintf+0x382> + 134d4: f413 7f80 tst.w r3, #256 ; 0x100 + 134d8: f47f af1f bne.w 1331a <_vsnprintf+0x382> unsigned int) : (flags & FLAGS_SHORT) ? (unsigned short int)va_arg(va, unsigned int) : va_arg(va, unsigned int); - 134f4: f013 0f40 tst.w r3, #64 ; 0x40 - 134f8: f47f af2e bne.w 13358 <_vsnprintf+0x3a8> - 134fc: f013 0f80 tst.w r3, #128 ; 0x80 - 13500: bf14 ite ne - 13502: 8831 ldrhne r1, [r6, #0] - 13504: 6831 ldreq r1, [r6, #0] - 13506: 3604 adds r6, #4 + 134dc: f013 0f40 tst.w r3, #64 ; 0x40 + 134e0: f47f af2e bne.w 13340 <_vsnprintf+0x3a8> + 134e4: f013 0f80 tst.w r3, #128 ; 0x80 + 134e8: bf14 ite ne + 134ea: 8831 ldrhne r1, [r6, #0] + 134ec: 6831 ldreq r1, [r6, #0] + 134ee: 3604 adds r6, #4 idx = _ntoa_long(out, buffer, idx, maxlen, value, false, base, precision, width, flags); - 13508: 9305 str r3, [sp, #20] - 1350a: 9504 str r5, [sp, #16] - 1350c: 9703 str r7, [sp, #12] - 1350e: 9202 str r2, [sp, #8] - 13510: 2300 movs r3, #0 - 13512: 9301 str r3, [sp, #4] - 13514: 9100 str r1, [sp, #0] - 13516: 9b0a ldr r3, [sp, #40] ; 0x28 - 13518: 465a mov r2, fp - 1351a: 990b ldr r1, [sp, #44] ; 0x2c - 1351c: 4648 mov r0, r9 - 1351e: 4d02 ldr r5, [pc, #8] ; (13528 <_vsnprintf+0x578>) - 13520: 47a8 blx r5 - 13522: 4683 mov fp, r0 + 134f0: 9305 str r3, [sp, #20] + 134f2: 9504 str r5, [sp, #16] + 134f4: 9703 str r7, [sp, #12] + 134f6: 9202 str r2, [sp, #8] + 134f8: 2300 movs r3, #0 + 134fa: 9301 str r3, [sp, #4] + 134fc: 9100 str r1, [sp, #0] + 134fe: 9b0a ldr r3, [sp, #40] ; 0x28 + 13500: 465a mov r2, fp + 13502: 990b ldr r1, [sp, #44] ; 0x2c + 13504: 4648 mov r0, r9 + 13506: 4d02 ldr r5, [pc, #8] ; (13510 <_vsnprintf+0x578>) + 13508: 47a8 blx r5 + 1350a: 4683 mov fp, r0 format++; - 13524: 3401 adds r4, #1 + 1350c: 3401 adds r4, #1 break; - 13526: e551 b.n 12fcc <_vsnprintf+0x1c> - 13528: 00012e71 .word 0x00012e71 - 1352c: 00012ef5 .word 0x00012ef5 + 1350e: e551 b.n 12fb4 <_vsnprintf+0x1c> + 13510: 00012e59 .word 0x00012e59 + 13514: 00012edd .word 0x00012edd if(flags & FLAGS_PRECISION) { - 13530: f411 6f80 tst.w r1, #1024 ; 0x400 - 13534: d13c bne.n 135b0 <_vsnprintf+0x600> + 13518: f411 6f80 tst.w r1, #1024 ; 0x400 + 1351c: d13c bne.n 13598 <_vsnprintf+0x600> base = 10U; - 13536: 220a movs r2, #10 - 13538: e67f b.n 1323a <_vsnprintf+0x28a> + 1351e: 220a movs r2, #10 + 13520: e67f b.n 13222 <_vsnprintf+0x28a> out((char)va_arg(va, int), buffer, idx++, maxlen); - 1353a: 1d33 adds r3, r6, #4 - 1353c: 930c str r3, [sp, #48] ; 0x30 - 1353e: f10b 0701 add.w r7, fp, #1 - 13542: 9b0a ldr r3, [sp, #40] ; 0x28 - 13544: 465a mov r2, fp - 13546: 990b ldr r1, [sp, #44] ; 0x2c - 13548: 7830 ldrb r0, [r6, #0] - 1354a: 47c8 blx r9 + 13522: 1d33 adds r3, r6, #4 + 13524: 930c str r3, [sp, #48] ; 0x30 + 13526: f10b 0701 add.w r7, fp, #1 + 1352a: 9b0a ldr r3, [sp, #40] ; 0x28 + 1352c: 465a mov r2, fp + 1352e: 990b ldr r1, [sp, #44] ; 0x2c + 13530: 7830 ldrb r0, [r6, #0] + 13532: 47c8 blx r9 while(l++ < width) { - 1354c: 2d01 cmp r5, #1 - 1354e: f67f af26 bls.w 1339e <_vsnprintf+0x3ee> - 13552: eb05 0a0b add.w sl, r5, fp + 13534: 2d01 cmp r5, #1 + 13536: f67f af26 bls.w 13386 <_vsnprintf+0x3ee> + 1353a: eb05 0a0b add.w sl, r5, fp out(' ', buffer, idx++, maxlen); - 13556: f04f 0820 mov.w r8, #32 - 1355a: 463a mov r2, r7 - 1355c: 1c56 adds r6, r2, #1 - 1355e: 9b0a ldr r3, [sp, #40] ; 0x28 - 13560: 990b ldr r1, [sp, #44] ; 0x2c - 13562: 4640 mov r0, r8 - 13564: 47c8 blx r9 - 13566: 4632 mov r2, r6 + 1353e: f04f 0820 mov.w r8, #32 + 13542: 463a mov r2, r7 + 13544: 1c56 adds r6, r2, #1 + 13546: 9b0a ldr r3, [sp, #40] ; 0x28 + 13548: 990b ldr r1, [sp, #44] ; 0x2c + 1354a: 4640 mov r0, r8 + 1354c: 47c8 blx r9 + 1354e: 4632 mov r2, r6 while(l++ < width) { - 13568: 45b2 cmp sl, r6 - 1356a: d1f7 bne.n 1355c <_vsnprintf+0x5ac> - 1356c: 44ab add fp, r5 + 13550: 45b2 cmp sl, r6 + 13552: d1f7 bne.n 13544 <_vsnprintf+0x5ac> + 13554: 44ab add fp, r5 out((char)va_arg(va, int), buffer, idx++, maxlen); - 1356e: 9e0c ldr r6, [sp, #48] ; 0x30 - 13570: e713 b.n 1339a <_vsnprintf+0x3ea> + 13556: 9e0c ldr r6, [sp, #48] ; 0x30 + 13558: e713 b.n 13382 <_vsnprintf+0x3ea> while(l++ < width) { - 13572: 465d mov r5, fp - 13574: e708 b.n 13388 <_vsnprintf+0x3d8> + 1355a: 465d mov r5, fp + 1355c: e708 b.n 13370 <_vsnprintf+0x3d8> for(s = str; *s && maxsize--; ++s); - 13576: 9a0c ldr r2, [sp, #48] ; 0x30 - 13578: e727 b.n 133ca <_vsnprintf+0x41a> + 1355e: 9a0c ldr r2, [sp, #48] ; 0x30 + 13560: e727 b.n 133b2 <_vsnprintf+0x41a> while(l++ < width) { - 1357a: 930d str r3, [sp, #52] ; 0x34 - 1357c: 465e mov r6, fp - 1357e: e748 b.n 13412 <_vsnprintf+0x462> + 13562: 930d str r3, [sp, #52] ; 0x34 + 13564: 465e mov r6, fp + 13566: e748 b.n 133fa <_vsnprintf+0x462> while((*p != 0) && (!(flags & FLAGS_PRECISION) || precision--)) { - 13580: 46b3 mov fp, r6 - 13582: e764 b.n 1344e <_vsnprintf+0x49e> - 13584: 465e mov r6, fp - 13586: 2800 cmp r0, #0 - 13588: f47f af48 bne.w 1341c <_vsnprintf+0x46c> + 13568: 46b3 mov fp, r6 + 1356a: e764 b.n 13436 <_vsnprintf+0x49e> + 1356c: 465e mov r6, fp + 1356e: 2800 cmp r0, #0 + 13570: f47f af48 bne.w 13404 <_vsnprintf+0x46c> while(l++ < width) { - 1358c: 9a0d ldr r2, [sp, #52] ; 0x34 - 1358e: 4295 cmp r5, r2 - 13590: f67f af5d bls.w 1344e <_vsnprintf+0x49e> - 13594: 445d add r5, fp - 13596: 1aad subs r5, r5, r2 - 13598: 465a mov r2, fp + 13574: 9a0d ldr r2, [sp, #52] ; 0x34 + 13576: 4295 cmp r5, r2 + 13578: f67f af5d bls.w 13436 <_vsnprintf+0x49e> + 1357c: 445d add r5, fp + 1357e: 1aad subs r5, r5, r2 + 13580: 465a mov r2, fp out(' ', buffer, idx++, maxlen); - 1359a: 2620 movs r6, #32 - 1359c: f102 0b01 add.w fp, r2, #1 - 135a0: 9b0a ldr r3, [sp, #40] ; 0x28 - 135a2: 990b ldr r1, [sp, #44] ; 0x2c - 135a4: 4630 mov r0, r6 - 135a6: 47c8 blx r9 - 135a8: 465a mov r2, fp + 13582: 2620 movs r6, #32 + 13584: f102 0b01 add.w fp, r2, #1 + 13588: 9b0a ldr r3, [sp, #40] ; 0x28 + 1358a: 990b ldr r1, [sp, #44] ; 0x2c + 1358c: 4630 mov r0, r6 + 1358e: 47c8 blx r9 + 13590: 465a mov r2, fp while(l++ < width) { - 135aa: 45ab cmp fp, r5 - 135ac: d1f6 bne.n 1359c <_vsnprintf+0x5ec> - 135ae: e74e b.n 1344e <_vsnprintf+0x49e> + 13592: 45ab cmp fp, r5 + 13594: d1f6 bne.n 13584 <_vsnprintf+0x5ec> + 13596: e74e b.n 13436 <_vsnprintf+0x49e> flags &= ~FLAGS_ZEROPAD; - 135b0: f021 0311 bic.w r3, r1, #17 + 13598: f021 0311 bic.w r3, r1, #17 base = 10U; - 135b4: 220a movs r2, #10 - 135b6: e640 b.n 1323a <_vsnprintf+0x28a> + 1359c: 220a movs r2, #10 + 1359e: e640 b.n 13222 <_vsnprintf+0x28a> flags &= ~FLAGS_ZEROPAD; - 135b8: f021 0311 bic.w r3, r1, #17 + 135a0: f021 0311 bic.w r3, r1, #17 base = 10U; - 135bc: 220a movs r2, #10 - 135be: e63c b.n 1323a <_vsnprintf+0x28a> + 135a4: 220a movs r2, #10 + 135a6: e63c b.n 13222 <_vsnprintf+0x28a> base = 16U; - 135c0: 2210 movs r2, #16 - 135c2: e782 b.n 134ca <_vsnprintf+0x51a> + 135a8: 2210 movs r2, #16 + 135aa: e782 b.n 134b2 <_vsnprintf+0x51a> base = 8U; - 135c4: 2208 movs r2, #8 - 135c6: e780 b.n 134ca <_vsnprintf+0x51a> + 135ac: 2208 movs r2, #8 + 135ae: e780 b.n 134b2 <_vsnprintf+0x51a> base = 2U; - 135c8: 2202 movs r2, #2 - 135ca: e77e b.n 134ca <_vsnprintf+0x51a> + 135b0: 2202 movs r2, #2 + 135b2: e77e b.n 134b2 <_vsnprintf+0x51a> -000135cc : +000135b4 : va_end(va); return ret; } int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va) { - 135cc: b510 push {r4, lr} - 135ce: b082 sub sp, #8 + 135b4: b510 push {r4, lr} + 135b6: b082 sub sp, #8 return _vsnprintf(_out_buffer, buffer, count, format, va); - 135d0: 9300 str r3, [sp, #0] - 135d2: 4613 mov r3, r2 - 135d4: 460a mov r2, r1 - 135d6: 4601 mov r1, r0 - 135d8: 4802 ldr r0, [pc, #8] ; (135e4 ) - 135da: 4c03 ldr r4, [pc, #12] ; (135e8 ) - 135dc: 47a0 blx r4 -} - 135de: b002 add sp, #8 - 135e0: bd10 pop {r4, pc} - 135e2: bf00 nop - 135e4: 00012ca7 .word 0x00012ca7 - 135e8: 00012fb1 .word 0x00012fb1 - -000135ec <_lv_task_core_init>: + 135b8: 9300 str r3, [sp, #0] + 135ba: 4613 mov r3, r2 + 135bc: 460a mov r2, r1 + 135be: 4601 mov r1, r0 + 135c0: 4802 ldr r0, [pc, #8] ; (135cc ) + 135c2: 4c03 ldr r4, [pc, #12] ; (135d0 ) + 135c4: 47a0 blx r4 +} + 135c6: b002 add sp, #8 + 135c8: bd10 pop {r4, pc} + 135ca: bf00 nop + 135cc: 00012c8f .word 0x00012c8f + 135d0: 00012f99 .word 0x00012f99 + +000135d4 <_lv_task_core_init>: /** * Init the lv_task module */ void _lv_task_core_init(void) { - 135ec: b508 push {r3, lr} + 135d4: b508 push {r3, lr} _lv_ll_init(&LV_GC_ROOT(_lv_task_ll), sizeof(lv_task_t)); - 135ee: 2118 movs r1, #24 - 135f0: 4804 ldr r0, [pc, #16] ; (13604 <_lv_task_core_init+0x18>) - 135f2: 4b05 ldr r3, [pc, #20] ; (13608 <_lv_task_core_init+0x1c>) - 135f4: 4798 blx r3 + 135d6: 2118 movs r1, #24 + 135d8: 4804 ldr r0, [pc, #16] ; (135ec <_lv_task_core_init+0x18>) + 135da: 4b05 ldr r3, [pc, #20] ; (135f0 <_lv_task_core_init+0x1c>) + 135dc: 4798 blx r3 task_list_changed = false; - 135f6: 4b05 ldr r3, [pc, #20] ; (1360c <_lv_task_core_init+0x20>) - 135f8: 2200 movs r2, #0 - 135fa: 701a strb r2, [r3, #0] + 135de: 4b05 ldr r3, [pc, #20] ; (135f4 <_lv_task_core_init+0x20>) + 135e0: 2200 movs r2, #0 + 135e2: 701a strb r2, [r3, #0] * Enable or disable the whole lv_task handling * @param en: true: lv_task handling is running, false: lv_task handling is suspended */ void lv_task_enable(bool en) { lv_task_run = en; - 135fc: 2201 movs r2, #1 - 135fe: 705a strb r2, [r3, #1] - 13600: bd08 pop {r3, pc} - 13602: bf00 nop - 13604: 20006c80 .word 0x20006c80 - 13608: 00011ef9 .word 0x00011ef9 - 1360c: 20006bb8 .word 0x20006bb8 - -00013610 : -{ - 13610: b5f0 push {r4, r5, r6, r7, lr} - 13612: b083 sub sp, #12 + 135e4: 2201 movs r2, #1 + 135e6: 705a strb r2, [r3, #1] + 135e8: bd08 pop {r3, pc} + 135ea: bf00 nop + 135ec: 20006c80 .word 0x20006c80 + 135f0: 00011ee1 .word 0x00011ee1 + 135f4: 20006bb8 .word 0x20006bb8 + +000135f8 : +{ + 135f8: b5f0 push {r4, r5, r6, r7, lr} + 135fa: b083 sub sp, #12 tmp = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 13614: 4837 ldr r0, [pc, #220] ; (136f4 ) - 13616: 4b38 ldr r3, [pc, #224] ; (136f8 ) - 13618: 4798 blx r3 + 135fc: 4837 ldr r0, [pc, #220] ; (136dc ) + 135fe: 4b38 ldr r3, [pc, #224] ; (136e0 ) + 13600: 4798 blx r3 if(NULL == tmp) { - 1361a: b310 cbz r0, 13662 - 1361c: 4604 mov r4, r0 + 13602: b310 cbz r0, 1364a + 13604: 4604 mov r4, r0 tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp); - 1361e: 4e35 ldr r6, [pc, #212] ; (136f4 ) - 13620: 4d36 ldr r5, [pc, #216] ; (136fc ) + 13606: 4e35 ldr r6, [pc, #212] ; (136dc ) + 13608: 4d36 ldr r5, [pc, #216] ; (136e4 ) if(tmp->prio <= DEF_PRIO) { - 13622: 7d23 ldrb r3, [r4, #20] - 13624: f003 0307 and.w r3, r3, #7 - 13628: 2b03 cmp r3, #3 - 1362a: dd30 ble.n 1368e + 1360a: 7d23 ldrb r3, [r4, #20] + 1360c: f003 0307 and.w r3, r3, #7 + 13610: 2b03 cmp r3, #3 + 13612: dd30 ble.n 13676 tmp = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), tmp); - 1362c: 4621 mov r1, r4 - 1362e: 4630 mov r0, r6 - 13630: 47a8 blx r5 + 13614: 4621 mov r1, r4 + 13616: 4630 mov r0, r6 + 13618: 47a8 blx r5 } while(tmp != NULL); - 13632: 4604 mov r4, r0 - 13634: 2800 cmp r0, #0 - 13636: d1f4 bne.n 13622 + 1361a: 4604 mov r4, r0 + 1361c: 2800 cmp r0, #0 + 1361e: d1f4 bne.n 1360a new_task = _lv_ll_ins_tail(&LV_GC_ROOT(_lv_task_ll)); - 13638: 482e ldr r0, [pc, #184] ; (136f4 ) - 1363a: 4b31 ldr r3, [pc, #196] ; (13700 ) - 1363c: 4798 blx r3 - 1363e: 4605 mov r5, r0 + 13620: 482e ldr r0, [pc, #184] ; (136dc ) + 13622: 4b31 ldr r3, [pc, #196] ; (136e8 ) + 13624: 4798 blx r3 + 13626: 4605 mov r5, r0 LV_ASSERT_MEM(new_task); - 13640: 4b30 ldr r3, [pc, #192] ; (13704 ) - 13642: 4798 blx r3 - 13644: 2800 cmp r0, #0 - 13646: d152 bne.n 136ee - 13648: 4b2f ldr r3, [pc, #188] ; (13708 ) - 1364a: 9300 str r3, [sp, #0] - 1364c: 22e5 movs r2, #229 ; 0xe5 - 1364e: 492f ldr r1, [pc, #188] ; (1370c ) - 13650: 2003 movs r0, #3 - 13652: 4c2f ldr r4, [pc, #188] ; (13710 ) - 13654: 47a0 blx r4 - 13656: 462a mov r2, r5 - 13658: 2300 movs r3, #0 - 1365a: 482e ldr r0, [pc, #184] ; (13714 ) - 1365c: 492e ldr r1, [pc, #184] ; (13718 ) - 1365e: 4788 blx r1 - 13660: e7fe b.n 13660 + 13628: 4b30 ldr r3, [pc, #192] ; (136ec ) + 1362a: 4798 blx r3 + 1362c: 2800 cmp r0, #0 + 1362e: d152 bne.n 136d6 + 13630: 4b2f ldr r3, [pc, #188] ; (136f0 ) + 13632: 9300 str r3, [sp, #0] + 13634: 22e5 movs r2, #229 ; 0xe5 + 13636: 492f ldr r1, [pc, #188] ; (136f4 ) + 13638: 2003 movs r0, #3 + 1363a: 4c2f ldr r4, [pc, #188] ; (136f8 ) + 1363c: 47a0 blx r4 + 1363e: 462a mov r2, r5 + 13640: 2300 movs r3, #0 + 13642: 482e ldr r0, [pc, #184] ; (136fc ) + 13644: 492e ldr r1, [pc, #184] ; (13700 ) + 13646: 4788 blx r1 + 13648: e7fe b.n 13648 new_task = _lv_ll_ins_head(&LV_GC_ROOT(_lv_task_ll)); - 13662: 4824 ldr r0, [pc, #144] ; (136f4 ) - 13664: 4b2d ldr r3, [pc, #180] ; (1371c ) - 13666: 4798 blx r3 - 13668: 4605 mov r5, r0 + 1364a: 4824 ldr r0, [pc, #144] ; (136dc ) + 1364c: 4b2d ldr r3, [pc, #180] ; (13704 ) + 1364e: 4798 blx r3 + 13650: 4605 mov r5, r0 LV_ASSERT_MEM(new_task); - 1366a: 4b26 ldr r3, [pc, #152] ; (13704 ) - 1366c: 4798 blx r3 - 1366e: b960 cbnz r0, 1368a - 13670: 4b25 ldr r3, [pc, #148] ; (13708 ) - 13672: 9300 str r3, [sp, #0] - 13674: 22d3 movs r2, #211 ; 0xd3 - 13676: 4925 ldr r1, [pc, #148] ; (1370c ) - 13678: 2003 movs r0, #3 - 1367a: 4c25 ldr r4, [pc, #148] ; (13710 ) - 1367c: 47a0 blx r4 - 1367e: 462a mov r2, r5 - 13680: 2300 movs r3, #0 - 13682: 4824 ldr r0, [pc, #144] ; (13714 ) - 13684: 4924 ldr r1, [pc, #144] ; (13718 ) - 13686: 4788 blx r1 - 13688: e7fe b.n 13688 + 13652: 4b26 ldr r3, [pc, #152] ; (136ec ) + 13654: 4798 blx r3 + 13656: b960 cbnz r0, 13672 + 13658: 4b25 ldr r3, [pc, #148] ; (136f0 ) + 1365a: 9300 str r3, [sp, #0] + 1365c: 22d3 movs r2, #211 ; 0xd3 + 1365e: 4925 ldr r1, [pc, #148] ; (136f4 ) + 13660: 2003 movs r0, #3 + 13662: 4c25 ldr r4, [pc, #148] ; (136f8 ) + 13664: 47a0 blx r4 + 13666: 462a mov r2, r5 + 13668: 2300 movs r3, #0 + 1366a: 4824 ldr r0, [pc, #144] ; (136fc ) + 1366c: 4924 ldr r1, [pc, #144] ; (13700 ) + 1366e: 4788 blx r1 + 13670: e7fe b.n 13670 if(new_task == NULL) return NULL; - 1368a: b95d cbnz r5, 136a4 - 1368c: e01f b.n 136ce + 13672: b95d cbnz r5, 1368c + 13674: e01f b.n 136b6 new_task = _lv_ll_ins_prev(&LV_GC_ROOT(_lv_task_ll), tmp); - 1368e: 4621 mov r1, r4 - 13690: 4818 ldr r0, [pc, #96] ; (136f4 ) - 13692: 4b23 ldr r3, [pc, #140] ; (13720 ) - 13694: 4798 blx r3 - 13696: 4605 mov r5, r0 + 13676: 4621 mov r1, r4 + 13678: 4818 ldr r0, [pc, #96] ; (136dc ) + 1367a: 4b23 ldr r3, [pc, #140] ; (13708 ) + 1367c: 4798 blx r3 + 1367e: 4605 mov r5, r0 LV_ASSERT_MEM(new_task); - 13698: 4b1a ldr r3, [pc, #104] ; (13704 ) - 1369a: 4798 blx r3 - 1369c: b1d0 cbz r0, 136d4 + 13680: 4b1a ldr r3, [pc, #104] ; (136ec ) + 13682: 4798 blx r3 + 13684: b1d0 cbz r0, 136bc if(new_task == NULL) return NULL; - 1369e: b1b5 cbz r5, 136ce + 13686: b1b5 cbz r5, 136b6 if(tmp == NULL) { - 136a0: 2c00 cmp r4, #0 - 136a2: d0c9 beq.n 13638 + 13688: 2c00 cmp r4, #0 + 1368a: d0c9 beq.n 13620 task_list_changed = true; - 136a4: 4c1f ldr r4, [pc, #124] ; (13724 ) - 136a6: 2601 movs r6, #1 - 136a8: 7026 strb r6, [r4, #0] + 1368c: 4c1f ldr r4, [pc, #124] ; (1370c ) + 1368e: 2601 movs r6, #1 + 13690: 7026 strb r6, [r4, #0] new_task->period = DEF_PERIOD; - 136aa: f44f 73fa mov.w r3, #500 ; 0x1f4 - 136ae: 602b str r3, [r5, #0] + 13692: f44f 73fa mov.w r3, #500 ; 0x1f4 + 13696: 602b str r3, [r5, #0] new_task->task_cb = NULL; - 136b0: 2700 movs r7, #0 - 136b2: 60af str r7, [r5, #8] + 13698: 2700 movs r7, #0 + 1369a: 60af str r7, [r5, #8] new_task->prio = DEF_PRIO; - 136b4: 7d2b ldrb r3, [r5, #20] - 136b6: 2203 movs r2, #3 - 136b8: f362 0302 bfi r3, r2, #0, #3 - 136bc: 752b strb r3, [r5, #20] + 1369c: 7d2b ldrb r3, [r5, #20] + 1369e: 2203 movs r2, #3 + 136a0: f362 0302 bfi r3, r2, #0, #3 + 136a4: 752b strb r3, [r5, #20] new_task->repeat_count = -1; - 136be: f04f 33ff mov.w r3, #4294967295 - 136c2: 612b str r3, [r5, #16] + 136a6: f04f 33ff mov.w r3, #4294967295 + 136aa: 612b str r3, [r5, #16] new_task->last_run = lv_tick_get(); - 136c4: 4b18 ldr r3, [pc, #96] ; (13728 ) - 136c6: 4798 blx r3 - 136c8: 6068 str r0, [r5, #4] + 136ac: 4b18 ldr r3, [pc, #96] ; (13710 ) + 136ae: 4798 blx r3 + 136b0: 6068 str r0, [r5, #4] new_task->user_data = NULL; - 136ca: 60ef str r7, [r5, #12] + 136b2: 60ef str r7, [r5, #12] task_created = true; - 136cc: 70a6 strb r6, [r4, #2] + 136b4: 70a6 strb r6, [r4, #2] } - 136ce: 4628 mov r0, r5 - 136d0: b003 add sp, #12 - 136d2: bdf0 pop {r4, r5, r6, r7, pc} + 136b6: 4628 mov r0, r5 + 136b8: b003 add sp, #12 + 136ba: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_MEM(new_task); - 136d4: 4b0c ldr r3, [pc, #48] ; (13708 ) - 136d6: 9300 str r3, [sp, #0] - 136d8: 22db movs r2, #219 ; 0xdb - 136da: 490c ldr r1, [pc, #48] ; (1370c ) - 136dc: 2003 movs r0, #3 - 136de: 4c0c ldr r4, [pc, #48] ; (13710 ) - 136e0: 47a0 blx r4 - 136e2: 462a mov r2, r5 - 136e4: 2300 movs r3, #0 - 136e6: 480b ldr r0, [pc, #44] ; (13714 ) - 136e8: 490b ldr r1, [pc, #44] ; (13718 ) - 136ea: 4788 blx r1 - 136ec: e7fe b.n 136ec + 136bc: 4b0c ldr r3, [pc, #48] ; (136f0 ) + 136be: 9300 str r3, [sp, #0] + 136c0: 22db movs r2, #219 ; 0xdb + 136c2: 490c ldr r1, [pc, #48] ; (136f4 ) + 136c4: 2003 movs r0, #3 + 136c6: 4c0c ldr r4, [pc, #48] ; (136f8 ) + 136c8: 47a0 blx r4 + 136ca: 462a mov r2, r5 + 136cc: 2300 movs r3, #0 + 136ce: 480b ldr r0, [pc, #44] ; (136fc ) + 136d0: 490b ldr r1, [pc, #44] ; (13700 ) + 136d2: 4788 blx r1 + 136d4: e7fe b.n 136d4 if(new_task == NULL) return NULL; - 136ee: 2d00 cmp r5, #0 - 136f0: d1d8 bne.n 136a4 - 136f2: e7ec b.n 136ce - 136f4: 20006c80 .word 0x20006c80 - 136f8: 00011fa9 .word 0x00011fa9 - 136fc: 00011fbd .word 0x00011fbd - 13700: 00011f5d .word 0x00011f5d - 13704: 000022b1 .word 0x000022b1 - 13708: 000294ac .word 0x000294ac - 1370c: 000294d4 .word 0x000294d4 - 13710: 0001225d .word 0x0001225d - 13714: 00023fd8 .word 0x00023fd8 - 13718: 000022b9 .word 0x000022b9 - 1371c: 00011f11 .word 0x00011f11 - 13720: 00012015 .word 0x00012015 - 13724: 20006bb8 .word 0x20006bb8 - 13728: 00011059 .word 0x00011059 - -0001372c : -{ - 1372c: b510 push {r4, lr} - 1372e: 4604 mov r4, r0 + 136d6: 2d00 cmp r5, #0 + 136d8: d1d8 bne.n 1368c + 136da: e7ec b.n 136b6 + 136dc: 20006c80 .word 0x20006c80 + 136e0: 00011f91 .word 0x00011f91 + 136e4: 00011fa5 .word 0x00011fa5 + 136e8: 00011f45 .word 0x00011f45 + 136ec: 00002299 .word 0x00002299 + 136f0: 00029494 .word 0x00029494 + 136f4: 000294bc .word 0x000294bc + 136f8: 00012245 .word 0x00012245 + 136fc: 00023fc0 .word 0x00023fc0 + 13700: 000022a1 .word 0x000022a1 + 13704: 00011ef9 .word 0x00011ef9 + 13708: 00011ffd .word 0x00011ffd + 1370c: 20006bb8 .word 0x20006bb8 + 13710: 00011041 .word 0x00011041 + +00013714 : +{ + 13714: b510 push {r4, lr} + 13716: 4604 mov r4, r0 _lv_ll_remove(&LV_GC_ROOT(_lv_task_ll), task); - 13730: 4601 mov r1, r0 - 13732: 4809 ldr r0, [pc, #36] ; (13758 ) - 13734: 4b09 ldr r3, [pc, #36] ; (1375c ) - 13736: 4798 blx r3 + 13718: 4601 mov r1, r0 + 1371a: 4809 ldr r0, [pc, #36] ; (13740 ) + 1371c: 4b09 ldr r3, [pc, #36] ; (13744 ) + 1371e: 4798 blx r3 task_list_changed = true; - 13738: 2201 movs r2, #1 - 1373a: 4b09 ldr r3, [pc, #36] ; (13760 ) - 1373c: 701a strb r2, [r3, #0] + 13720: 2201 movs r2, #1 + 13722: 4b09 ldr r3, [pc, #36] ; (13748 ) + 13724: 701a strb r2, [r3, #0] lv_mem_free(task); - 1373e: 4620 mov r0, r4 - 13740: 4b08 ldr r3, [pc, #32] ; (13764 ) - 13742: 4798 blx r3 + 13726: 4620 mov r0, r4 + 13728: 4b08 ldr r3, [pc, #32] ; (1374c ) + 1372a: 4798 blx r3 if(LV_GC_ROOT(_lv_task_act) == task) task_deleted = true; /*The active task was deleted*/ - 13744: 4b08 ldr r3, [pc, #32] ; (13768 ) - 13746: 681b ldr r3, [r3, #0] - 13748: 429c cmp r4, r3 - 1374a: d000 beq.n 1374e - 1374c: bd10 pop {r4, pc} - 1374e: 2201 movs r2, #1 - 13750: 4b03 ldr r3, [pc, #12] ; (13760 ) - 13752: 70da strb r2, [r3, #3] -} - 13754: e7fa b.n 1374c - 13756: bf00 nop - 13758: 20006c80 .word 0x20006c80 - 1375c: 00012095 .word 0x00012095 - 13760: 20006bb8 .word 0x20006bb8 - 13764: 000124c5 .word 0x000124c5 - 13768: 20006d4c .word 0x20006d4c - -0001376c : + 1372c: 4b08 ldr r3, [pc, #32] ; (13750 ) + 1372e: 681b ldr r3, [r3, #0] + 13730: 429c cmp r4, r3 + 13732: d000 beq.n 13736 + 13734: bd10 pop {r4, pc} + 13736: 2201 movs r2, #1 + 13738: 4b03 ldr r3, [pc, #12] ; (13748 ) + 1373a: 70da strb r2, [r3, #3] +} + 1373c: e7fa b.n 13734 + 1373e: bf00 nop + 13740: 20006c80 .word 0x20006c80 + 13744: 0001207d .word 0x0001207d + 13748: 20006bb8 .word 0x20006bb8 + 1374c: 000124ad .word 0x000124ad + 13750: 20006d4c .word 0x20006d4c + +00013754 : * Execute task if its the priority is appropriate * @param task pointer to lv_task * @return true: execute, false: not executed */ static bool lv_task_exec(lv_task_t * task) { - 1376c: b510 push {r4, lr} - 1376e: 4604 mov r4, r0 + 13754: b510 push {r4, lr} + 13756: 4604 mov r4, r0 * @return the time remaining, or 0 if it needs to be run again */ static uint32_t lv_task_time_remaining(lv_task_t * task) { /*Check if at least 'period' time elapsed*/ uint32_t elp = lv_tick_elaps(task->last_run); - 13770: 6840 ldr r0, [r0, #4] - 13772: 4b12 ldr r3, [pc, #72] ; (137bc ) - 13774: 4798 blx r3 + 13758: 6840 ldr r0, [r0, #4] + 1375a: 4b12 ldr r3, [pc, #72] ; (137a4 ) + 1375c: 4798 blx r3 if(elp >= task->period) - 13776: 6823 ldr r3, [r4, #0] - 13778: 4298 cmp r0, r3 - 1377a: d201 bcs.n 13780 + 1375e: 6823 ldr r3, [r4, #0] + 13760: 4298 cmp r0, r3 + 13762: d201 bcs.n 13768 bool exec = false; - 1377c: 2000 movs r0, #0 - 1377e: bd10 pop {r4, pc} + 13764: 2000 movs r0, #0 + 13766: bd10 pop {r4, pc} task->last_run = lv_tick_get(); - 13780: 4b0f ldr r3, [pc, #60] ; (137c0 ) - 13782: 4798 blx r3 - 13784: 6060 str r0, [r4, #4] + 13768: 4b0f ldr r3, [pc, #60] ; (137a8 ) + 1376a: 4798 blx r3 + 1376c: 6060 str r0, [r4, #4] task_deleted = false; - 13786: 4b0f ldr r3, [pc, #60] ; (137c4 ) - 13788: 2200 movs r2, #0 - 1378a: 70da strb r2, [r3, #3] + 1376e: 4b0f ldr r3, [pc, #60] ; (137ac ) + 13770: 2200 movs r2, #0 + 13772: 70da strb r2, [r3, #3] task_created = false; - 1378c: 709a strb r2, [r3, #2] + 13774: 709a strb r2, [r3, #2] if(task->task_cb) task->task_cb(task); - 1378e: 68a3 ldr r3, [r4, #8] - 13790: b12b cbz r3, 1379e - 13792: 4620 mov r0, r4 - 13794: 4798 blx r3 + 13776: 68a3 ldr r3, [r4, #8] + 13778: b12b cbz r3, 13786 + 1377a: 4620 mov r0, r4 + 1377c: 4798 blx r3 if(task_deleted == false) { /*The task might be deleted by itself as well*/ - 13796: 4b0b ldr r3, [pc, #44] ; (137c4 ) - 13798: 78d8 ldrb r0, [r3, #3] - 1379a: b100 cbz r0, 1379e + 1377e: 4b0b ldr r3, [pc, #44] ; (137ac ) + 13780: 78d8 ldrb r0, [r3, #3] + 13782: b100 cbz r0, 13786 } - 1379c: bd10 pop {r4, pc} + 13784: bd10 pop {r4, pc} if(task->repeat_count > 0) { - 1379e: 6923 ldr r3, [r4, #16] - 137a0: 2b00 cmp r3, #0 + 13786: 6923 ldr r3, [r4, #16] + 13788: 2b00 cmp r3, #0 task->repeat_count--; - 137a2: bfc4 itt gt - 137a4: f103 33ff addgt.w r3, r3, #4294967295 - 137a8: 6123 strgt r3, [r4, #16] + 1378a: bfc4 itt gt + 1378c: f103 33ff addgt.w r3, r3, #4294967295 + 13790: 6123 strgt r3, [r4, #16] if(task->repeat_count == 0) { - 137aa: 6923 ldr r3, [r4, #16] - 137ac: b10b cbz r3, 137b2 + 13792: 6923 ldr r3, [r4, #16] + 13794: b10b cbz r3, 1379a exec = true; - 137ae: 2001 movs r0, #1 - 137b0: e7f4 b.n 1379c + 13796: 2001 movs r0, #1 + 13798: e7f4 b.n 13784 lv_task_del(task); - 137b2: 4620 mov r0, r4 - 137b4: 4b04 ldr r3, [pc, #16] ; (137c8 ) - 137b6: 4798 blx r3 + 1379a: 4620 mov r0, r4 + 1379c: 4b04 ldr r3, [pc, #16] ; (137b0 ) + 1379e: 4798 blx r3 exec = true; - 137b8: 2001 movs r0, #1 - 137ba: bd10 pop {r4, pc} - 137bc: 00011071 .word 0x00011071 - 137c0: 00011059 .word 0x00011059 - 137c4: 20006bb8 .word 0x20006bb8 - 137c8: 0001372d .word 0x0001372d + 137a0: 2001 movs r0, #1 + 137a2: bd10 pop {r4, pc} + 137a4: 00011059 .word 0x00011059 + 137a8: 00011041 .word 0x00011041 + 137ac: 20006bb8 .word 0x20006bb8 + 137b0: 00013715 .word 0x00013715 -000137cc : +000137b4 : { - 137cc: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 137b4: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} if(already_running) return 1; - 137d0: 4b58 ldr r3, [pc, #352] ; (13934 ) - 137d2: 791b ldrb r3, [r3, #4] - 137d4: 2b00 cmp r3, #0 - 137d6: f040 80a9 bne.w 1392c + 137b8: 4b58 ldr r3, [pc, #352] ; (1391c ) + 137ba: 791b ldrb r3, [r3, #4] + 137bc: 2b00 cmp r3, #0 + 137be: f040 80a9 bne.w 13914 already_running = true; - 137da: 4b56 ldr r3, [pc, #344] ; (13934 ) - 137dc: 2201 movs r2, #1 - 137de: 711a strb r2, [r3, #4] + 137c2: 4b56 ldr r3, [pc, #344] ; (1391c ) + 137c4: 2201 movs r2, #1 + 137c6: 711a strb r2, [r3, #4] if(lv_task_run == false) { - 137e0: 785b ldrb r3, [r3, #1] - 137e2: b92b cbnz r3, 137f0 + 137c8: 785b ldrb r3, [r3, #1] + 137ca: b92b cbnz r3, 137d8 already_running = false; /*Release mutex*/ - 137e4: 2200 movs r2, #0 - 137e6: 4b53 ldr r3, [pc, #332] ; (13934 ) - 137e8: 711a strb r2, [r3, #4] + 137cc: 2200 movs r2, #0 + 137ce: 4b53 ldr r3, [pc, #332] ; (1391c ) + 137d0: 711a strb r2, [r3, #4] return 1; - 137ea: 2001 movs r0, #1 - 137ec: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 137d2: 2001 movs r0, #1 + 137d4: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} handler_start = lv_tick_get(); - 137f0: 4b51 ldr r3, [pc, #324] ; (13938 ) - 137f2: 4798 blx r3 - 137f4: 4b4f ldr r3, [pc, #316] ; (13934 ) - 137f6: 6098 str r0, [r3, #8] + 137d8: 4b51 ldr r3, [pc, #324] ; (13920 ) + 137da: 4798 blx r3 + 137dc: 4b4f ldr r3, [pc, #316] ; (1391c ) + 137de: 6098 str r0, [r3, #8] lv_task_t * task_interrupter = NULL; - 137f8: 2600 movs r6, #0 + 137e0: 2600 movs r6, #0 task_deleted = false; - 137fa: 461d mov r5, r3 + 137e2: 461d mov r5, r3 LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 137fc: f8df 814c ldr.w r8, [pc, #332] ; 1394c - 13800: 4c4e ldr r4, [pc, #312] ; (1393c ) + 137e4: f8df 814c ldr.w r8, [pc, #332] ; 13934 + 137e8: 4c4e ldr r4, [pc, #312] ; (13924 ) next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 13802: f8df 9150 ldr.w r9, [pc, #336] ; 13954 - 13806: e06d b.n 138e4 + 137ea: f8df 9150 ldr.w r9, [pc, #336] ; 1393c + 137ee: e06d b.n 138cc LV_GC_ROOT(_lv_task_act) = next; - 13808: 6027 str r7, [r4, #0] + 137f0: 6027 str r7, [r4, #0] task_interrupter = NULL; /*From this point only task after the interrupter comes, so - 1380a: 2600 movs r6, #0 + 137f2: 2600 movs r6, #0 continue; /*Load the next task*/ - 1380c: e009 b.n 13822 + 137f4: e009 b.n 1380a lv_task_exec(LV_GC_ROOT(_lv_task_act)); - 1380e: 4b4c ldr r3, [pc, #304] ; (13940 ) - 13810: 4798 blx r3 + 137f6: 4b4c ldr r3, [pc, #304] ; (13928 ) + 137f8: 4798 blx r3 if(task_created || task_deleted) { - 13812: 78ab ldrb r3, [r5, #2] - 13814: bb33 cbnz r3, 13864 - 13816: 78eb ldrb r3, [r5, #3] - 13818: bb23 cbnz r3, 13864 + 137fa: 78ab ldrb r3, [r5, #2] + 137fc: bb33 cbnz r3, 1384c + 137fe: 78eb ldrb r3, [r5, #3] + 13800: bb23 cbnz r3, 1384c if(task_list_changed) { - 1381a: 782b ldrb r3, [r5, #0] - 1381c: 2b00 cmp r3, #0 - 1381e: d15f bne.n 138e0 + 13802: 782b ldrb r3, [r5, #0] + 13804: 2b00 cmp r3, #0 + 13806: d15f bne.n 138c8 LV_GC_ROOT(_lv_task_act) = next; /*Load the next task*/ - 13820: 6027 str r7, [r4, #0] + 13808: 6027 str r7, [r4, #0] while(LV_GC_ROOT(_lv_task_act)) { - 13822: 6821 ldr r1, [r4, #0] - 13824: b1f1 cbz r1, 13864 + 1380a: 6821 ldr r1, [r4, #0] + 1380c: b1f1 cbz r1, 1384c next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), LV_GC_ROOT(_lv_task_act)); - 13826: 4640 mov r0, r8 - 13828: 47c8 blx r9 - 1382a: 4607 mov r7, r0 + 1380e: 4640 mov r0, r8 + 13810: 47c8 blx r9 + 13812: 4607 mov r7, r0 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_OFF) { - 1382c: 6820 ldr r0, [r4, #0] - 1382e: 7d03 ldrb r3, [r0, #20] - 13830: f013 0307 ands.w r3, r3, #7 - 13834: d016 beq.n 13864 + 13814: 6820 ldr r0, [r4, #0] + 13816: 7d03 ldrb r3, [r0, #20] + 13818: f013 0307 ands.w r3, r3, #7 + 1381c: d016 beq.n 1384c if(LV_GC_ROOT(_lv_task_act) == task_interrupter) { - 13836: 4286 cmp r6, r0 - 13838: d0e6 beq.n 13808 + 1381e: 4286 cmp r6, r0 + 13820: d0e6 beq.n 137f0 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio == LV_TASK_PRIO_HIGHEST) { - 1383a: 2b05 cmp r3, #5 - 1383c: d0e7 beq.n 1380e + 13822: 2b05 cmp r3, #5 + 13824: d0e7 beq.n 137f6 else if(task_interrupter) { - 1383e: 2e00 cmp r6, #0 - 13840: d042 beq.n 138c8 + 13826: 2e00 cmp r6, #0 + 13828: d042 beq.n 138b0 if(((lv_task_t *)LV_GC_ROOT(_lv_task_act))->prio > task_interrupter->prio) { - 13842: 7d02 ldrb r2, [r0, #20] - 13844: f002 0207 and.w r2, r2, #7 - 13848: 7d33 ldrb r3, [r6, #20] - 1384a: f003 0307 and.w r3, r3, #7 - 1384e: 429a cmp r2, r3 - 13850: dddf ble.n 13812 + 1382a: 7d02 ldrb r2, [r0, #20] + 1382c: f002 0207 and.w r2, r2, #7 + 13830: 7d33 ldrb r3, [r6, #20] + 13832: f003 0307 and.w r3, r3, #7 + 13836: 429a cmp r2, r3 + 13838: dddf ble.n 137fa if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - 13852: 4b3b ldr r3, [pc, #236] ; (13940 ) - 13854: 4798 blx r3 - 13856: 2800 cmp r0, #0 - 13858: d0db beq.n 13812 + 1383a: 4b3b ldr r3, [pc, #236] ; (13928 ) + 1383c: 4798 blx r3 + 1383e: 2800 cmp r0, #0 + 13840: d0db beq.n 137fa if(!task_created && !task_deleted) { - 1385a: 78ab ldrb r3, [r5, #2] - 1385c: b913 cbnz r3, 13864 - 1385e: 78eb ldrb r3, [r5, #3] - 13860: 2b00 cmp r3, #0 - 13862: d02f beq.n 138c4 + 13842: 78ab ldrb r3, [r5, #2] + 13844: b913 cbnz r3, 1384c + 13846: 78eb ldrb r3, [r5, #3] + 13848: 2b00 cmp r3, #0 + 1384a: d02f beq.n 138ac busy_time += lv_tick_elaps(handler_start); - 13864: 4c33 ldr r4, [pc, #204] ; (13934 ) - 13866: 68a0 ldr r0, [r4, #8] - 13868: 4d36 ldr r5, [pc, #216] ; (13944 ) - 1386a: 47a8 blx r5 - 1386c: 68e3 ldr r3, [r4, #12] - 1386e: 4403 add r3, r0 - 13870: 60e3 str r3, [r4, #12] + 1384c: 4c33 ldr r4, [pc, #204] ; (1391c ) + 1384e: 68a0 ldr r0, [r4, #8] + 13850: 4d36 ldr r5, [pc, #216] ; (1392c ) + 13852: 47a8 blx r5 + 13854: 68e3 ldr r3, [r4, #12] + 13856: 4403 add r3, r0 + 13858: 60e3 str r3, [r4, #12] uint32_t idle_period_time = lv_tick_elaps(idle_period_start); - 13872: 6920 ldr r0, [r4, #16] - 13874: 47a8 blx r5 + 1385a: 6920 ldr r0, [r4, #16] + 1385c: 47a8 blx r5 if(idle_period_time >= IDLE_MEAS_PERIOD) { - 13876: f5b0 7ffa cmp.w r0, #500 ; 0x1f4 - 1387a: d315 bcc.n 138a8 + 1385e: f5b0 7ffa cmp.w r0, #500 ; 0x1f4 + 13862: d315 bcc.n 13890 idle_last = (uint32_t)((uint32_t)busy_time * 100) / IDLE_MEAS_PERIOD; /*Calculate the busy percentage*/ - 1387c: 68e2 ldr r2, [r4, #12] - 1387e: 2364 movs r3, #100 ; 0x64 - 13880: fb03 f302 mul.w r3, r3, r2 - 13884: 4a30 ldr r2, [pc, #192] ; (13948 ) - 13886: fba2 2303 umull r2, r3, r2, r3 - 1388a: f3c3 1347 ubfx r3, r3, #5, #8 + 13864: 68e2 ldr r2, [r4, #12] + 13866: 2364 movs r3, #100 ; 0x64 + 13868: fb03 f302 mul.w r3, r3, r2 + 1386c: 4a30 ldr r2, [pc, #192] ; (13930 ) + 1386e: fba2 2303 umull r2, r3, r2, r3 + 13872: f3c3 1347 ubfx r3, r3, #5, #8 idle_last = idle_last > 100 ? 0 : 100 - idle_last; /*But we need idle time*/ - 1388e: 2b64 cmp r3, #100 ; 0x64 - 13890: bf9a itte ls - 13892: f1c3 0364 rsbls r3, r3, #100 ; 0x64 - 13896: b2db uxtbls r3, r3 - 13898: 2300 movhi r3, #0 - 1389a: 4c26 ldr r4, [pc, #152] ; (13934 ) - 1389c: 7523 strb r3, [r4, #20] + 13876: 2b64 cmp r3, #100 ; 0x64 + 13878: bf9a itte ls + 1387a: f1c3 0364 rsbls r3, r3, #100 ; 0x64 + 1387e: b2db uxtbls r3, r3 + 13880: 2300 movhi r3, #0 + 13882: 4c26 ldr r4, [pc, #152] ; (1391c ) + 13884: 7523 strb r3, [r4, #20] busy_time = 0; - 1389e: 2300 movs r3, #0 - 138a0: 60e3 str r3, [r4, #12] + 13886: 2300 movs r3, #0 + 13888: 60e3 str r3, [r4, #12] idle_period_start = lv_tick_get(); - 138a2: 4b25 ldr r3, [pc, #148] ; (13938 ) - 138a4: 4798 blx r3 - 138a6: 6120 str r0, [r4, #16] + 1388a: 4b25 ldr r3, [pc, #148] ; (13920 ) + 1388c: 4798 blx r3 + 1388e: 6120 str r0, [r4, #16] time_till_next = LV_NO_TASK_READY; - 138a8: f04f 32ff mov.w r2, #4294967295 - 138ac: 4b21 ldr r3, [pc, #132] ; (13934 ) - 138ae: 619a str r2, [r3, #24] + 13890: f04f 32ff mov.w r2, #4294967295 + 13894: 4b21 ldr r3, [pc, #132] ; (1391c ) + 13896: 619a str r2, [r3, #24] next = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 138b0: 4826 ldr r0, [pc, #152] ; (1394c ) - 138b2: 4b27 ldr r3, [pc, #156] ; (13950 ) - 138b4: 4798 blx r3 + 13898: 4826 ldr r0, [pc, #152] ; (13934 ) + 1389a: 4b27 ldr r3, [pc, #156] ; (13938 ) + 1389c: 4798 blx r3 while(next) { - 138b6: 4604 mov r4, r0 - 138b8: 2800 cmp r0, #0 - 138ba: d031 beq.n 13920 + 1389e: 4604 mov r4, r0 + 138a0: 2800 cmp r0, #0 + 138a2: d031 beq.n 13908 uint32_t elp = lv_tick_elaps(task->last_run); - 138bc: 4f21 ldr r7, [pc, #132] ; (13944 ) + 138a4: 4f21 ldr r7, [pc, #132] ; (1392c ) if(delay < time_till_next) - 138be: 4e1d ldr r6, [pc, #116] ; (13934 ) + 138a6: 4e1d ldr r6, [pc, #116] ; (1391c ) next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/ - 138c0: 4d22 ldr r5, [pc, #136] ; (1394c ) - 138c2: e01d b.n 13900 + 138a8: 4d22 ldr r5, [pc, #136] ; (13934 ) + 138aa: e01d b.n 138e8 task_interrupter = LV_GC_ROOT(_lv_task_act); - 138c4: 6826 ldr r6, [r4, #0] + 138ac: 6826 ldr r6, [r4, #0] break; - 138c6: e00d b.n 138e4 + 138ae: e00d b.n 138cc if(lv_task_exec(LV_GC_ROOT(_lv_task_act))) { - 138c8: 4b1d ldr r3, [pc, #116] ; (13940 ) - 138ca: 4798 blx r3 - 138cc: 2800 cmp r0, #0 - 138ce: d0a0 beq.n 13812 + 138b0: 4b1d ldr r3, [pc, #116] ; (13928 ) + 138b2: 4798 blx r3 + 138b4: 2800 cmp r0, #0 + 138b6: d0a0 beq.n 137fa if(!task_created && !task_deleted) { - 138d0: 78ab ldrb r3, [r5, #2] - 138d2: 2b00 cmp r3, #0 - 138d4: d1c6 bne.n 13864 - 138d6: 78eb ldrb r3, [r5, #3] - 138d8: 2b00 cmp r3, #0 - 138da: d1c3 bne.n 13864 + 138b8: 78ab ldrb r3, [r5, #2] + 138ba: 2b00 cmp r3, #0 + 138bc: d1c6 bne.n 1384c + 138be: 78eb ldrb r3, [r5, #3] + 138c0: 2b00 cmp r3, #0 + 138c2: d1c3 bne.n 1384c task_interrupter = LV_GC_ROOT(_lv_task_act); /*Check all tasks again from the highest priority */ - 138dc: 6826 ldr r6, [r4, #0] + 138c4: 6826 ldr r6, [r4, #0] break; - 138de: e001 b.n 138e4 + 138c6: e001 b.n 138cc task_list_changed = false; - 138e0: 2600 movs r6, #0 - 138e2: 702e strb r6, [r5, #0] + 138c8: 2600 movs r6, #0 + 138ca: 702e strb r6, [r5, #0] task_deleted = false; - 138e4: 2300 movs r3, #0 - 138e6: 70eb strb r3, [r5, #3] + 138cc: 2300 movs r3, #0 + 138ce: 70eb strb r3, [r5, #3] task_created = false; - 138e8: 70ab strb r3, [r5, #2] + 138d0: 70ab strb r3, [r5, #2] LV_GC_ROOT(_lv_task_act) = _lv_ll_get_head(&LV_GC_ROOT(_lv_task_ll)); - 138ea: 4640 mov r0, r8 - 138ec: 4b18 ldr r3, [pc, #96] ; (13950 ) - 138ee: 4798 blx r3 - 138f0: 6020 str r0, [r4, #0] + 138d2: 4640 mov r0, r8 + 138d4: 4b18 ldr r3, [pc, #96] ; (13938 ) + 138d6: 4798 blx r3 + 138d8: 6020 str r0, [r4, #0] while(LV_GC_ROOT(_lv_task_act)) { - 138f2: e796 b.n 13822 + 138da: e796 b.n 1380a next = _lv_ll_get_next(&LV_GC_ROOT(_lv_task_ll), next); /*Find the next task*/ - 138f4: 4621 mov r1, r4 - 138f6: 4628 mov r0, r5 - 138f8: 4b16 ldr r3, [pc, #88] ; (13954 ) - 138fa: 4798 blx r3 + 138dc: 4621 mov r1, r4 + 138de: 4628 mov r0, r5 + 138e0: 4b16 ldr r3, [pc, #88] ; (1393c ) + 138e2: 4798 blx r3 while(next) { - 138fc: 4604 mov r4, r0 - 138fe: b178 cbz r0, 13920 + 138e4: 4604 mov r4, r0 + 138e6: b178 cbz r0, 13908 if(next->prio != LV_TASK_PRIO_OFF) { - 13900: 7d23 ldrb r3, [r4, #20] - 13902: f013 0f07 tst.w r3, #7 - 13906: d0f5 beq.n 138f4 + 138e8: 7d23 ldrb r3, [r4, #20] + 138ea: f013 0f07 tst.w r3, #7 + 138ee: d0f5 beq.n 138dc uint32_t elp = lv_tick_elaps(task->last_run); - 13908: 6860 ldr r0, [r4, #4] - 1390a: 47b8 blx r7 + 138f0: 6860 ldr r0, [r4, #4] + 138f2: 47b8 blx r7 if(elp >= task->period) - 1390c: 6823 ldr r3, [r4, #0] - 1390e: 4298 cmp r0, r3 + 138f4: 6823 ldr r3, [r4, #0] + 138f6: 4298 cmp r0, r3 return 0; return task->period - elp; - 13910: bf34 ite cc - 13912: 1a1b subcc r3, r3, r0 + 138f8: bf34 ite cc + 138fa: 1a1b subcc r3, r3, r0 return 0; - 13914: 2300 movcs r3, #0 + 138fc: 2300 movcs r3, #0 if(delay < time_till_next) - 13916: 69b2 ldr r2, [r6, #24] - 13918: 429a cmp r2, r3 + 138fe: 69b2 ldr r2, [r6, #24] + 13900: 429a cmp r2, r3 time_till_next = delay; - 1391a: bf88 it hi - 1391c: 61b3 strhi r3, [r6, #24] - 1391e: e7e9 b.n 138f4 + 13902: bf88 it hi + 13904: 61b3 strhi r3, [r6, #24] + 13906: e7e9 b.n 138dc already_running = false; /*Release the mutex*/ - 13920: 4b04 ldr r3, [pc, #16] ; (13934 ) - 13922: 2200 movs r2, #0 - 13924: 711a strb r2, [r3, #4] + 13908: 4b04 ldr r3, [pc, #16] ; (1391c ) + 1390a: 2200 movs r2, #0 + 1390c: 711a strb r2, [r3, #4] return time_till_next; - 13926: 6998 ldr r0, [r3, #24] - 13928: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 1390e: 6998 ldr r0, [r3, #24] + 13910: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} if(already_running) return 1; - 1392c: 2001 movs r0, #1 -} - 1392e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 13932: bf00 nop - 13934: 20006bb8 .word 0x20006bb8 - 13938: 00011059 .word 0x00011059 - 1393c: 20006d4c .word 0x20006d4c - 13940: 0001376d .word 0x0001376d - 13944: 00011071 .word 0x00011071 - 13948: 10624dd3 .word 0x10624dd3 - 1394c: 20006c80 .word 0x20006c80 - 13950: 00011fa9 .word 0x00011fa9 - 13954: 00011fbd .word 0x00011fbd - -00013958 : -{ - 13958: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 13914: 2001 movs r0, #1 +} + 13916: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 1391a: bf00 nop + 1391c: 20006bb8 .word 0x20006bb8 + 13920: 00011041 .word 0x00011041 + 13924: 20006d4c .word 0x20006d4c + 13928: 00013755 .word 0x00013755 + 1392c: 00011059 .word 0x00011059 + 13930: 10624dd3 .word 0x10624dd3 + 13934: 20006c80 .word 0x20006c80 + 13938: 00011f91 .word 0x00011f91 + 1393c: 00011fa5 .word 0x00011fa5 + +00013940 : +{ + 13940: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} if(task->prio == prio) return; - 1395c: 7d03 ldrb r3, [r0, #20] - 1395e: f003 0307 and.w r3, r3, #7 - 13962: 428b cmp r3, r1 - 13964: d031 beq.n 139ca - 13966: 460d mov r5, r1 - 13968: 4688 mov r8, r1 - 1396a: 4681 mov r9, r0 + 13944: 7d03 ldrb r3, [r0, #20] + 13946: f003 0307 and.w r3, r3, #7 + 1394a: 428b cmp r3, r1 + 1394c: d031 beq.n 139b2 + 1394e: 460d mov r5, r1 + 13950: 4688 mov r8, r1 + 13952: 4681 mov r9, r0 _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { - 1396c: 4818 ldr r0, [pc, #96] ; (139d0 ) - 1396e: 4b19 ldr r3, [pc, #100] ; (139d4 ) - 13970: 4798 blx r3 + 13954: 4818 ldr r0, [pc, #96] ; (139b8 ) + 13956: 4b19 ldr r3, [pc, #100] ; (139bc ) + 13958: 4798 blx r3 + 1395a: 4604 mov r4, r0 + 1395c: b318 cbz r0, 139a6 + if(i->prio <= prio) { + 1395e: 7d03 ldrb r3, [r0, #20] + 13960: f003 0307 and.w r3, r3, #7 + 13964: 429d cmp r5, r3 + 13966: da0b bge.n 13980 + _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { + 13968: 4f13 ldr r7, [pc, #76] ; (139b8 ) + 1396a: 4e15 ldr r6, [pc, #84] ; (139c0 ) + 1396c: 4621 mov r1, r4 + 1396e: 4638 mov r0, r7 + 13970: 47b0 blx r6 13972: 4604 mov r4, r0 - 13974: b318 cbz r0, 139be + 13974: b1b8 cbz r0, 139a6 if(i->prio <= prio) { - 13976: 7d03 ldrb r3, [r0, #20] + 13976: 7d23 ldrb r3, [r4, #20] 13978: f003 0307 and.w r3, r3, #7 1397c: 429d cmp r5, r3 - 1397e: da0b bge.n 13998 - _LV_LL_READ(LV_GC_ROOT(_lv_task_ll), i) { - 13980: 4f13 ldr r7, [pc, #76] ; (139d0 ) - 13982: 4e15 ldr r6, [pc, #84] ; (139d8 ) - 13984: 4621 mov r1, r4 - 13986: 4638 mov r0, r7 - 13988: 47b0 blx r6 - 1398a: 4604 mov r4, r0 - 1398c: b1b8 cbz r0, 139be - if(i->prio <= prio) { - 1398e: 7d23 ldrb r3, [r4, #20] - 13990: f003 0307 and.w r3, r3, #7 - 13994: 429d cmp r5, r3 - 13996: dbf5 blt.n 13984 + 1397e: dbf5 blt.n 1396c if(i != task) _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, i); - 13998: 45a1 cmp r9, r4 - 1399a: d005 beq.n 139a8 - 1399c: 4622 mov r2, r4 - 1399e: 4649 mov r1, r9 - 139a0: 480b ldr r0, [pc, #44] ; (139d0 ) - 139a2: 4b0e ldr r3, [pc, #56] ; (139dc ) - 139a4: 4798 blx r3 + 13980: 45a1 cmp r9, r4 + 13982: d005 beq.n 13990 + 13984: 4622 mov r2, r4 + 13986: 4649 mov r1, r9 + 13988: 480b ldr r0, [pc, #44] ; (139b8 ) + 1398a: 4b0e ldr r3, [pc, #56] ; (139c4 ) + 1398c: 4798 blx r3 if(i == NULL) { - 139a6: b154 cbz r4, 139be + 1398e: b154 cbz r4, 139a6 task_list_changed = true; - 139a8: 2201 movs r2, #1 - 139aa: 4b0d ldr r3, [pc, #52] ; (139e0 ) - 139ac: 701a strb r2, [r3, #0] + 13990: 2201 movs r2, #1 + 13992: 4b0d ldr r3, [pc, #52] ; (139c8 ) + 13994: 701a strb r2, [r3, #0] task->prio = prio; - 139ae: f899 3014 ldrb.w r3, [r9, #20] - 139b2: f368 0302 bfi r3, r8, #0, #3 - 139b6: f889 3014 strb.w r3, [r9, #20] - 139ba: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 13996: f899 3014 ldrb.w r3, [r9, #20] + 1399a: f368 0302 bfi r3, r8, #0, #3 + 1399e: f889 3014 strb.w r3, [r9, #20] + 139a2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _lv_ll_move_before(&LV_GC_ROOT(_lv_task_ll), task, NULL); - 139be: 2200 movs r2, #0 - 139c0: 4649 mov r1, r9 - 139c2: 4803 ldr r0, [pc, #12] ; (139d0 ) - 139c4: 4b05 ldr r3, [pc, #20] ; (139dc ) - 139c6: 4798 blx r3 - 139c8: e7ee b.n 139a8 - 139ca: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 139ce: bf00 nop - 139d0: 20006c80 .word 0x20006c80 - 139d4: 00011fa9 .word 0x00011fa9 - 139d8: 00011fbd .word 0x00011fbd - 139dc: 00012195 .word 0x00012195 - 139e0: 20006bb8 .word 0x20006bb8 - -000139e4 : -{ - 139e4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 139e8: b082 sub sp, #8 - 139ea: 4680 mov r8, r0 - 139ec: 460f mov r7, r1 - 139ee: 4616 mov r6, r2 - 139f0: 461d mov r5, r3 + 139a6: 2200 movs r2, #0 + 139a8: 4649 mov r1, r9 + 139aa: 4803 ldr r0, [pc, #12] ; (139b8 ) + 139ac: 4b05 ldr r3, [pc, #20] ; (139c4 ) + 139ae: 4798 blx r3 + 139b0: e7ee b.n 13990 + 139b2: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 139b6: bf00 nop + 139b8: 20006c80 .word 0x20006c80 + 139bc: 00011f91 .word 0x00011f91 + 139c0: 00011fa5 .word 0x00011fa5 + 139c4: 0001217d .word 0x0001217d + 139c8: 20006bb8 .word 0x20006bb8 + +000139cc : +{ + 139cc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 139d0: b082 sub sp, #8 + 139d2: 4680 mov r8, r0 + 139d4: 460f mov r7, r1 + 139d6: 4616 mov r6, r2 + 139d8: 461d mov r5, r3 lv_task_t * new_task = lv_task_create_basic(); - 139f2: 4b10 ldr r3, [pc, #64] ; (13a34 ) - 139f4: 4798 blx r3 - 139f6: 4604 mov r4, r0 + 139da: 4b10 ldr r3, [pc, #64] ; (13a1c ) + 139dc: 4798 blx r3 + 139de: 4604 mov r4, r0 LV_ASSERT_MEM(new_task); - 139f8: 4b0f ldr r3, [pc, #60] ; (13a38 ) - 139fa: 4798 blx r3 - 139fc: b160 cbz r0, 13a18 + 139e0: 4b0f ldr r3, [pc, #60] ; (13a20 ) + 139e2: 4798 blx r3 + 139e4: b160 cbz r0, 13a00 if(new_task == NULL) return NULL; - 139fe: b13c cbz r4, 13a10 + 139e6: b13c cbz r4, 139f8 task->task_cb = task_cb; - 13a00: f8c4 8008 str.w r8, [r4, #8] + 139e8: f8c4 8008 str.w r8, [r4, #8] task->period = period; - 13a04: 6027 str r7, [r4, #0] + 139ec: 6027 str r7, [r4, #0] lv_task_set_prio(new_task, prio); - 13a06: 4631 mov r1, r6 - 13a08: 4620 mov r0, r4 - 13a0a: 4b0c ldr r3, [pc, #48] ; (13a3c ) - 13a0c: 4798 blx r3 + 139ee: 4631 mov r1, r6 + 139f0: 4620 mov r0, r4 + 139f2: 4b0c ldr r3, [pc, #48] ; (13a24 ) + 139f4: 4798 blx r3 new_task->user_data = user_data; - 13a0e: 60e5 str r5, [r4, #12] + 139f6: 60e5 str r5, [r4, #12] } - 13a10: 4620 mov r0, r4 - 13a12: b002 add sp, #8 - 13a14: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 139f8: 4620 mov r0, r4 + 139fa: b002 add sp, #8 + 139fc: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_ASSERT_MEM(new_task); - 13a18: 4b09 ldr r3, [pc, #36] ; (13a40 ) - 13a1a: 9300 str r3, [sp, #0] - 13a1c: f44f 7283 mov.w r2, #262 ; 0x106 - 13a20: 4908 ldr r1, [pc, #32] ; (13a44 ) - 13a22: 2003 movs r0, #3 - 13a24: 4d08 ldr r5, [pc, #32] ; (13a48 ) - 13a26: 47a8 blx r5 - 13a28: 4622 mov r2, r4 - 13a2a: 2300 movs r3, #0 - 13a2c: 4807 ldr r0, [pc, #28] ; (13a4c ) - 13a2e: 4908 ldr r1, [pc, #32] ; (13a50 ) - 13a30: 4788 blx r1 - 13a32: e7fe b.n 13a32 - 13a34: 00013611 .word 0x00013611 - 13a38: 000022b1 .word 0x000022b1 - 13a3c: 00013959 .word 0x00013959 - 13a40: 000294c4 .word 0x000294c4 - 13a44: 000294d4 .word 0x000294d4 - 13a48: 0001225d .word 0x0001225d - 13a4c: 00023fd8 .word 0x00023fd8 - 13a50: 000022b9 .word 0x000022b9 - -00013a54 : -{ - 13a54: b510 push {r4, lr} - 13a56: 4604 mov r4, r0 + 13a00: 4b09 ldr r3, [pc, #36] ; (13a28 ) + 13a02: 9300 str r3, [sp, #0] + 13a04: f44f 7283 mov.w r2, #262 ; 0x106 + 13a08: 4908 ldr r1, [pc, #32] ; (13a2c ) + 13a0a: 2003 movs r0, #3 + 13a0c: 4d08 ldr r5, [pc, #32] ; (13a30 ) + 13a0e: 47a8 blx r5 + 13a10: 4622 mov r2, r4 + 13a12: 2300 movs r3, #0 + 13a14: 4807 ldr r0, [pc, #28] ; (13a34 ) + 13a16: 4908 ldr r1, [pc, #32] ; (13a38 ) + 13a18: 4788 blx r1 + 13a1a: e7fe b.n 13a1a + 13a1c: 000135f9 .word 0x000135f9 + 13a20: 00002299 .word 0x00002299 + 13a24: 00013941 .word 0x00013941 + 13a28: 000294ac .word 0x000294ac + 13a2c: 000294bc .word 0x000294bc + 13a30: 00012245 .word 0x00012245 + 13a34: 00023fc0 .word 0x00023fc0 + 13a38: 000022a1 .word 0x000022a1 + +00013a3c : +{ + 13a3c: b510 push {r4, lr} + 13a3e: 4604 mov r4, r0 task->last_run = lv_tick_get() - task->period - 1; - 13a58: 4b03 ldr r3, [pc, #12] ; (13a68 ) - 13a5a: 4798 blx r3 - 13a5c: 6823 ldr r3, [r4, #0] - 13a5e: 43db mvns r3, r3 - 13a60: 4403 add r3, r0 - 13a62: 6063 str r3, [r4, #4] - 13a64: bd10 pop {r4, pc} - 13a66: bf00 nop - 13a68: 00011059 .word 0x00011059 - -00013a6c : + 13a40: 4b03 ldr r3, [pc, #12] ; (13a50 ) + 13a42: 4798 blx r3 + 13a44: 6823 ldr r3, [r4, #0] + 13a46: 43db mvns r3, r3 + 13a48: 4403 add r3, r0 + 13a4a: 6063 str r3, [r4, #4] + 13a4c: bd10 pop {r4, pc} + 13a4e: bf00 nop + 13a50: 00011041 .word 0x00011041 + +00013a54 : * @param str pointer to a character in a string * @return length of the UTF-8 character (1,2,3 or 4). O on invalid code */ static uint8_t lv_txt_utf8_size(const char * str) { if((str[0] & 0x80) == 0) - 13a6c: 7803 ldrb r3, [r0, #0] - 13a6e: f013 0f80 tst.w r3, #128 ; 0x80 - 13a72: d101 bne.n 13a78 + 13a54: 7803 ldrb r3, [r0, #0] + 13a56: f013 0f80 tst.w r3, #128 ; 0x80 + 13a5a: d101 bne.n 13a60 return 1; - 13a74: 2001 movs r0, #1 - 13a76: 4770 bx lr + 13a5c: 2001 movs r0, #1 + 13a5e: 4770 bx lr else if((str[0] & 0xE0) == 0xC0) - 13a78: f003 02e0 and.w r2, r3, #224 ; 0xe0 - 13a7c: 2ac0 cmp r2, #192 ; 0xc0 - 13a7e: d00a beq.n 13a96 + 13a60: f003 02e0 and.w r2, r3, #224 ; 0xe0 + 13a64: 2ac0 cmp r2, #192 ; 0xc0 + 13a66: d00a beq.n 13a7e return 2; else if((str[0] & 0xF0) == 0xE0) - 13a80: f003 02f0 and.w r2, r3, #240 ; 0xf0 - 13a84: 2ae0 cmp r2, #224 ; 0xe0 - 13a86: d008 beq.n 13a9a + 13a68: f003 02f0 and.w r2, r3, #240 ; 0xf0 + 13a6c: 2ae0 cmp r2, #224 ; 0xe0 + 13a6e: d008 beq.n 13a82 return 3; else if((str[0] & 0xF8) == 0xF0) - 13a88: f003 03f8 and.w r3, r3, #248 ; 0xf8 + 13a70: f003 03f8 and.w r3, r3, #248 ; 0xf8 return 4; return 0; /*If the char was invalid tell it's 1 byte long*/ - 13a8c: 2bf0 cmp r3, #240 ; 0xf0 - 13a8e: bf0c ite eq - 13a90: 2004 moveq r0, #4 - 13a92: 2000 movne r0, #0 - 13a94: 4770 bx lr + 13a74: 2bf0 cmp r3, #240 ; 0xf0 + 13a76: bf0c ite eq + 13a78: 2004 moveq r0, #4 + 13a7a: 2000 movne r0, #0 + 13a7c: 4770 bx lr return 2; - 13a96: 2002 movs r0, #2 - 13a98: 4770 bx lr + 13a7e: 2002 movs r0, #2 + 13a80: 4770 bx lr return 3; - 13a9a: 2003 movs r0, #3 + 13a82: 2003 movs r0, #3 } - 13a9c: 4770 bx lr + 13a84: 4770 bx lr -00013a9e : +00013a86 : * @param letter_uni an Unicode letter * @return UTF-8 coded character in Little Endian to be compatible with C chars (e.g. 'Á', 'Ű') */ static uint32_t lv_txt_unicode_to_utf8(uint32_t letter_uni) { if(letter_uni < 128) return letter_uni; - 13a9e: 287f cmp r0, #127 ; 0x7f - 13aa0: d916 bls.n 13ad0 + 13a86: 287f cmp r0, #127 ; 0x7f + 13a88: d916 bls.n 13ab8 { - 13aa2: b082 sub sp, #8 + 13a8a: b082 sub sp, #8 uint8_t bytes[4]; if(letter_uni < 0x0800) { - 13aa4: f5b0 6f00 cmp.w r0, #2048 ; 0x800 - 13aa8: d213 bcs.n 13ad2 + 13a8c: f5b0 6f00 cmp.w r0, #2048 ; 0x800 + 13a90: d213 bcs.n 13aba bytes[0] = ((letter_uni >> 6) & 0x1F) | 0xC0; - 13aaa: f3c0 1384 ubfx r3, r0, #6, #5 - 13aae: f063 033f orn r3, r3, #63 ; 0x3f - 13ab2: f88d 3004 strb.w r3, [sp, #4] + 13a92: f3c0 1384 ubfx r3, r0, #6, #5 + 13a96: f063 033f orn r3, r3, #63 ; 0x3f + 13a9a: f88d 3004 strb.w r3, [sp, #4] bytes[1] = ((letter_uni >> 0) & 0x3F) | 0x80; - 13ab6: f000 003f and.w r0, r0, #63 ; 0x3f - 13aba: f060 007f orn r0, r0, #127 ; 0x7f - 13abe: f88d 0005 strb.w r0, [sp, #5] + 13a9e: f000 003f and.w r0, r0, #63 ; 0x3f + 13aa2: f060 007f orn r0, r0, #127 ; 0x7f + 13aa6: f88d 0005 strb.w r0, [sp, #5] bytes[2] = 0; - 13ac2: 2300 movs r3, #0 - 13ac4: f88d 3006 strb.w r3, [sp, #6] + 13aaa: 2300 movs r3, #0 + 13aac: f88d 3006 strb.w r3, [sp, #6] bytes[3] = 0; - 13ac8: f88d 3007 strb.w r3, [sp, #7] + 13ab0: f88d 3007 strb.w r3, [sp, #7] bytes[2] = ((letter_uni >> 6) & 0x3F) | 0x80; bytes[3] = ((letter_uni >> 0) & 0x3F) | 0x80; } uint32_t * res_p = (uint32_t *)bytes; return *res_p; - 13acc: 9801 ldr r0, [sp, #4] + 13ab4: 9801 ldr r0, [sp, #4] } - 13ace: b002 add sp, #8 - 13ad0: 4770 bx lr + 13ab6: b002 add sp, #8 + 13ab8: 4770 bx lr else if(letter_uni < 0x010000) { - 13ad2: f5b0 3f80 cmp.w r0, #65536 ; 0x10000 - 13ad6: d215 bcs.n 13b04 + 13aba: f5b0 3f80 cmp.w r0, #65536 ; 0x10000 + 13abe: d215 bcs.n 13aec bytes[0] = ((letter_uni >> 12) & 0x0F) | 0xE0; - 13ad8: f3c0 3303 ubfx r3, r0, #12, #4 - 13adc: f063 031f orn r3, r3, #31 - 13ae0: f88d 3004 strb.w r3, [sp, #4] + 13ac0: f3c0 3303 ubfx r3, r0, #12, #4 + 13ac4: f063 031f orn r3, r3, #31 + 13ac8: f88d 3004 strb.w r3, [sp, #4] bytes[1] = ((letter_uni >> 6) & 0x3F) | 0x80; - 13ae4: f3c0 1385 ubfx r3, r0, #6, #6 - 13ae8: f063 037f orn r3, r3, #127 ; 0x7f - 13aec: f88d 3005 strb.w r3, [sp, #5] + 13acc: f3c0 1385 ubfx r3, r0, #6, #6 + 13ad0: f063 037f orn r3, r3, #127 ; 0x7f + 13ad4: f88d 3005 strb.w r3, [sp, #5] bytes[2] = ((letter_uni >> 0) & 0x3F) | 0x80; - 13af0: f000 003f and.w r0, r0, #63 ; 0x3f - 13af4: f060 007f orn r0, r0, #127 ; 0x7f - 13af8: f88d 0006 strb.w r0, [sp, #6] + 13ad8: f000 003f and.w r0, r0, #63 ; 0x3f + 13adc: f060 007f orn r0, r0, #127 ; 0x7f + 13ae0: f88d 0006 strb.w r0, [sp, #6] bytes[3] = 0; - 13afc: 2300 movs r3, #0 - 13afe: f88d 3007 strb.w r3, [sp, #7] - 13b02: e7e3 b.n 13acc + 13ae4: 2300 movs r3, #0 + 13ae6: f88d 3007 strb.w r3, [sp, #7] + 13aea: e7e3 b.n 13ab4 else if(letter_uni < 0x110000) { - 13b04: f5b0 1f88 cmp.w r0, #1114112 ; 0x110000 - 13b08: d2e0 bcs.n 13acc + 13aec: f5b0 1f88 cmp.w r0, #1114112 ; 0x110000 + 13af0: d2e0 bcs.n 13ab4 bytes[0] = ((letter_uni >> 18) & 0x07) | 0xF0; - 13b0a: f3c0 4382 ubfx r3, r0, #18, #3 - 13b0e: f063 030f orn r3, r3, #15 - 13b12: f88d 3004 strb.w r3, [sp, #4] + 13af2: f3c0 4382 ubfx r3, r0, #18, #3 + 13af6: f063 030f orn r3, r3, #15 + 13afa: f88d 3004 strb.w r3, [sp, #4] bytes[1] = ((letter_uni >> 12) & 0x3F) | 0x80; - 13b16: f3c0 3305 ubfx r3, r0, #12, #6 - 13b1a: f063 037f orn r3, r3, #127 ; 0x7f - 13b1e: f88d 3005 strb.w r3, [sp, #5] + 13afe: f3c0 3305 ubfx r3, r0, #12, #6 + 13b02: f063 037f orn r3, r3, #127 ; 0x7f + 13b06: f88d 3005 strb.w r3, [sp, #5] bytes[2] = ((letter_uni >> 6) & 0x3F) | 0x80; - 13b22: f3c0 1385 ubfx r3, r0, #6, #6 - 13b26: f063 037f orn r3, r3, #127 ; 0x7f - 13b2a: f88d 3006 strb.w r3, [sp, #6] + 13b0a: f3c0 1385 ubfx r3, r0, #6, #6 + 13b0e: f063 037f orn r3, r3, #127 ; 0x7f + 13b12: f88d 3006 strb.w r3, [sp, #6] bytes[3] = ((letter_uni >> 0) & 0x3F) | 0x80; - 13b2e: f000 003f and.w r0, r0, #63 ; 0x3f - 13b32: f060 007f orn r0, r0, #127 ; 0x7f - 13b36: f88d 0007 strb.w r0, [sp, #7] - 13b3a: e7c7 b.n 13acc + 13b16: f000 003f and.w r0, r0, #63 ; 0x3f + 13b1a: f060 007f orn r0, r0, #127 ; 0x7f + 13b1e: f88d 0007 strb.w r0, [sp, #7] + 13b22: e7c7 b.n 13ab4 -00013b3c : +00013b24 : * Convert a wide character, e.g. 'Á' little endian to be UTF-8 compatible * @param c a wide character or a Little endian number * @return `c` in big endian */ static uint32_t lv_txt_utf8_conv_wc(uint32_t c) { - 13b3c: b082 sub sp, #8 - 13b3e: 9001 str r0, [sp, #4] + 13b24: b082 sub sp, #8 + 13b26: 9001 str r0, [sp, #4] /*Swap the bytes (UTF-8 is big endian, but the MCUs are little endian)*/ if((c & 0x80) != 0) { - 13b40: f010 0f80 tst.w r0, #128 ; 0x80 - 13b44: d017 beq.n 13b76 + 13b28: f010 0f80 tst.w r0, #128 ; 0x80 + 13b2c: d017 beq.n 13b5e uint32_t swapped; uint8_t c8[4]; _lv_memcpy_small(c8, &c, 4); swapped = (c8[0] << 24) + (c8[1] << 16) + (c8[2] << 8) + (c8[3]); - 13b46: f89d 3004 ldrb.w r3, [sp, #4] - 13b4a: f89d 2005 ldrb.w r2, [sp, #5] - 13b4e: 0412 lsls r2, r2, #16 - 13b50: eb02 6203 add.w r2, r2, r3, lsl #24 - 13b54: f89d 3006 ldrb.w r3, [sp, #6] - 13b58: eb02 2203 add.w r2, r2, r3, lsl #8 - 13b5c: f89d 3007 ldrb.w r3, [sp, #7] - 13b60: 441a add r2, r3 - 13b62: 2304 movs r3, #4 + 13b2e: f89d 3004 ldrb.w r3, [sp, #4] + 13b32: f89d 2005 ldrb.w r2, [sp, #5] + 13b36: 0412 lsls r2, r2, #16 + 13b38: eb02 6203 add.w r2, r2, r3, lsl #24 + 13b3c: f89d 3006 ldrb.w r3, [sp, #6] + 13b40: eb02 2203 add.w r2, r2, r3, lsl #8 + 13b44: f89d 3007 ldrb.w r3, [sp, #7] + 13b48: 441a add r2, r3 + 13b4a: 2304 movs r3, #4 uint8_t i; for(i = 0; i < 4; i++) { if((swapped & 0xFF) == 0) - 13b64: f012 0fff tst.w r2, #255 ; 0xff + 13b4c: f012 0fff tst.w r2, #255 ; 0xff swapped = (swapped >> 8); /*Ignore leading zeros (they were in the end originally)*/ - 13b68: bf08 it eq - 13b6a: 0a12 lsreq r2, r2, #8 - 13b6c: 3b01 subs r3, #1 + 13b50: bf08 it eq + 13b52: 0a12 lsreq r2, r2, #8 + 13b54: 3b01 subs r3, #1 for(i = 0; i < 4; i++) { - 13b6e: f013 03ff ands.w r3, r3, #255 ; 0xff - 13b72: d1f7 bne.n 13b64 + 13b56: f013 03ff ands.w r3, r3, #255 ; 0xff + 13b5a: d1f7 bne.n 13b4c } c = swapped; - 13b74: 9201 str r2, [sp, #4] + 13b5c: 9201 str r2, [sp, #4] } return c; } - 13b76: 9801 ldr r0, [sp, #4] - 13b78: b002 add sp, #8 - 13b7a: 4770 bx lr + 13b5e: 9801 ldr r0, [sp, #4] + 13b60: b002 add sp, #8 + 13b62: 4770 bx lr -00013b7c : +00013b64 : * After call it will point to the next UTF-8 char in 'txt'. * NULL to use txt[0] as index * @return the decoded Unicode character or 0 on invalid UTF-8 code */ static uint32_t lv_txt_utf8_next(const char * txt, uint32_t * i) { - 13b7c: b470 push {r4, r5, r6} - 13b7e: b083 sub sp, #12 + 13b64: b470 push {r4, r5, r6} + 13b66: b083 sub sp, #12 * */ uint32_t result = 0; /*Dummy 'i' pointer is required*/ uint32_t i_tmp = 0; - 13b80: 2300 movs r3, #0 - 13b82: 9301 str r3, [sp, #4] + 13b68: 2300 movs r3, #0 + 13b6a: 9301 str r3, [sp, #4] if(i == NULL) i = &i_tmp; - 13b84: 460c mov r4, r1 - 13b86: b151 cbz r1, 13b9e + 13b6c: 460c mov r4, r1 + 13b6e: b151 cbz r1, 13b86 /*Normal ASCII*/ if((txt[*i] & 0x80) == 0) { - 13b88: 6822 ldr r2, [r4, #0] - 13b8a: 5c83 ldrb r3, [r0, r2] - 13b8c: f013 0f80 tst.w r3, #128 ; 0x80 - 13b90: d107 bne.n 13ba2 + 13b70: 6822 ldr r2, [r4, #0] + 13b72: 5c83 ldrb r3, [r0, r2] + 13b74: f013 0f80 tst.w r3, #128 ; 0x80 + 13b78: d107 bne.n 13b8a result = txt[*i]; - 13b92: 4618 mov r0, r3 + 13b7a: 4618 mov r0, r3 (*i)++; - 13b94: 3201 adds r2, #1 - 13b96: 6022 str r2, [r4, #0] + 13b7c: 3201 adds r2, #1 + 13b7e: 6022 str r2, [r4, #0] else { (*i)++; /*Not UTF-8 char. Go the next.*/ } } return result; } - 13b98: b003 add sp, #12 - 13b9a: bc70 pop {r4, r5, r6} - 13b9c: 4770 bx lr + 13b80: b003 add sp, #12 + 13b82: bc70 pop {r4, r5, r6} + 13b84: 4770 bx lr if(i == NULL) i = &i_tmp; - 13b9e: ac01 add r4, sp, #4 - 13ba0: e7f2 b.n 13b88 + 13b86: ac01 add r4, sp, #4 + 13b88: e7f2 b.n 13b70 if((txt[*i] & 0xE0) == 0xC0) { - 13ba2: f003 01e0 and.w r1, r3, #224 ; 0xe0 - 13ba6: 29c0 cmp r1, #192 ; 0xc0 - 13ba8: d00b beq.n 13bc2 + 13b8a: f003 01e0 and.w r1, r3, #224 ; 0xe0 + 13b8e: 29c0 cmp r1, #192 ; 0xc0 + 13b90: d00b beq.n 13baa else if((txt[*i] & 0xF0) == 0xE0) { - 13baa: f003 01f0 and.w r1, r3, #240 ; 0xf0 - 13bae: 29e0 cmp r1, #224 ; 0xe0 - 13bb0: d019 beq.n 13be6 + 13b92: f003 01f0 and.w r1, r3, #240 ; 0xf0 + 13b96: 29e0 cmp r1, #224 ; 0xe0 + 13b98: d019 beq.n 13bce else if((txt[*i] & 0xF8) == 0xF0) { - 13bb2: f003 01f8 and.w r1, r3, #248 ; 0xf8 - 13bb6: 29f0 cmp r1, #240 ; 0xf0 - 13bb8: d033 beq.n 13c22 + 13b9a: f003 01f8 and.w r1, r3, #248 ; 0xf8 + 13b9e: 29f0 cmp r1, #240 ; 0xf0 + 13ba0: d033 beq.n 13c0a (*i)++; /*Not UTF-8 char. Go the next.*/ - 13bba: 3201 adds r2, #1 - 13bbc: 6022 str r2, [r4, #0] + 13ba2: 3201 adds r2, #1 + 13ba4: 6022 str r2, [r4, #0] uint32_t result = 0; - 13bbe: 2000 movs r0, #0 - 13bc0: e7ea b.n 13b98 + 13ba6: 2000 movs r0, #0 + 13ba8: e7ea b.n 13b80 (*i)++; - 13bc2: 1c51 adds r1, r2, #1 - 13bc4: 6021 str r1, [r4, #0] + 13baa: 1c51 adds r1, r2, #1 + 13bac: 6021 str r1, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 13bc6: 5c40 ldrb r0, [r0, r1] - 13bc8: f000 01c0 and.w r1, r0, #192 ; 0xc0 - 13bcc: 2980 cmp r1, #128 ; 0x80 - 13bce: d001 beq.n 13bd4 - 13bd0: 2000 movs r0, #0 - 13bd2: e7e1 b.n 13b98 + 13bae: 5c40 ldrb r0, [r0, r1] + 13bb0: f000 01c0 and.w r1, r0, #192 ; 0xc0 + 13bb4: 2980 cmp r1, #128 ; 0x80 + 13bb6: d001 beq.n 13bbc + 13bb8: 2000 movs r0, #0 + 13bba: e7e1 b.n 13b80 result = (uint32_t)(txt[*i] & 0x1F) << 6; - 13bd4: 019b lsls r3, r3, #6 - 13bd6: f403 63f8 and.w r3, r3, #1984 ; 0x7c0 + 13bbc: 019b lsls r3, r3, #6 + 13bbe: f403 63f8 and.w r3, r3, #1984 ; 0x7c0 result += (txt[*i] & 0x3F); - 13bda: f000 003f and.w r0, r0, #63 ; 0x3f - 13bde: 4418 add r0, r3 + 13bc2: f000 003f and.w r0, r0, #63 ; 0x3f + 13bc6: 4418 add r0, r3 (*i)++; - 13be0: 3202 adds r2, #2 - 13be2: 6022 str r2, [r4, #0] - 13be4: e7d8 b.n 13b98 + 13bc8: 3202 adds r2, #2 + 13bca: 6022 str r2, [r4, #0] + 13bcc: e7d8 b.n 13b80 (*i)++; - 13be6: 1c51 adds r1, r2, #1 - 13be8: 6021 str r1, [r4, #0] + 13bce: 1c51 adds r1, r2, #1 + 13bd0: 6021 str r1, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 13bea: 5c41 ldrb r1, [r0, r1] - 13bec: f001 05c0 and.w r5, r1, #192 ; 0xc0 - 13bf0: 2d80 cmp r5, #128 ; 0x80 - 13bf2: d001 beq.n 13bf8 - 13bf4: 2000 movs r0, #0 - 13bf6: e7cf b.n 13b98 + 13bd2: 5c41 ldrb r1, [r0, r1] + 13bd4: f001 05c0 and.w r5, r1, #192 ; 0xc0 + 13bd8: 2d80 cmp r5, #128 ; 0x80 + 13bda: d001 beq.n 13be0 + 13bdc: 2000 movs r0, #0 + 13bde: e7cf b.n 13b80 (*i)++; - 13bf8: 1c95 adds r5, r2, #2 - 13bfa: 6025 str r5, [r4, #0] + 13be0: 1c95 adds r5, r2, #2 + 13be2: 6025 str r5, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 13bfc: 5d40 ldrb r0, [r0, r5] - 13bfe: f000 05c0 and.w r5, r0, #192 ; 0xc0 - 13c02: 2d80 cmp r5, #128 ; 0x80 - 13c04: d001 beq.n 13c0a - 13c06: 2000 movs r0, #0 - 13c08: e7c6 b.n 13b98 + 13be4: 5d40 ldrb r0, [r0, r5] + 13be6: f000 05c0 and.w r5, r0, #192 ; 0xc0 + 13bea: 2d80 cmp r5, #128 ; 0x80 + 13bec: d001 beq.n 13bf2 + 13bee: 2000 movs r0, #0 + 13bf0: e7c6 b.n 13b80 result = (uint32_t)(txt[*i] & 0x0F) << 12; - 13c0a: 031b lsls r3, r3, #12 - 13c0c: b29b uxth r3, r3 + 13bf2: 031b lsls r3, r3, #12 + 13bf4: b29b uxth r3, r3 result += (txt[*i] & 0x3F); - 13c0e: f000 003f and.w r0, r0, #63 ; 0x3f - 13c12: 4403 add r3, r0 + 13bf6: f000 003f and.w r0, r0, #63 ; 0x3f + 13bfa: 4403 add r3, r0 result += (uint32_t)(txt[*i] & 0x3F) << 6; - 13c14: 0188 lsls r0, r1, #6 - 13c16: f400 607c and.w r0, r0, #4032 ; 0xfc0 + 13bfc: 0188 lsls r0, r1, #6 + 13bfe: f400 607c and.w r0, r0, #4032 ; 0xfc0 result += (txt[*i] & 0x3F); - 13c1a: 4418 add r0, r3 + 13c02: 4418 add r0, r3 (*i)++; - 13c1c: 3203 adds r2, #3 - 13c1e: 6022 str r2, [r4, #0] - 13c20: e7ba b.n 13b98 + 13c04: 3203 adds r2, #3 + 13c06: 6022 str r2, [r4, #0] + 13c08: e7ba b.n 13b80 (*i)++; - 13c22: 1c51 adds r1, r2, #1 - 13c24: 6021 str r1, [r4, #0] + 13c0a: 1c51 adds r1, r2, #1 + 13c0c: 6021 str r1, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 13c26: 5c41 ldrb r1, [r0, r1] - 13c28: f001 05c0 and.w r5, r1, #192 ; 0xc0 - 13c2c: 2d80 cmp r5, #128 ; 0x80 - 13c2e: d001 beq.n 13c34 - 13c30: 2000 movs r0, #0 - 13c32: e7b1 b.n 13b98 + 13c0e: 5c41 ldrb r1, [r0, r1] + 13c10: f001 05c0 and.w r5, r1, #192 ; 0xc0 + 13c14: 2d80 cmp r5, #128 ; 0x80 + 13c16: d001 beq.n 13c1c + 13c18: 2000 movs r0, #0 + 13c1a: e7b1 b.n 13b80 (*i)++; - 13c34: 1c95 adds r5, r2, #2 - 13c36: 6025 str r5, [r4, #0] + 13c1c: 1c95 adds r5, r2, #2 + 13c1e: 6025 str r5, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 13c38: 5d45 ldrb r5, [r0, r5] - 13c3a: f005 06c0 and.w r6, r5, #192 ; 0xc0 - 13c3e: 2e80 cmp r6, #128 ; 0x80 - 13c40: d001 beq.n 13c46 - 13c42: 2000 movs r0, #0 - 13c44: e7a8 b.n 13b98 + 13c20: 5d45 ldrb r5, [r0, r5] + 13c22: f005 06c0 and.w r6, r5, #192 ; 0xc0 + 13c26: 2e80 cmp r6, #128 ; 0x80 + 13c28: d001 beq.n 13c2e + 13c2a: 2000 movs r0, #0 + 13c2c: e7a8 b.n 13b80 (*i)++; - 13c46: 1cd6 adds r6, r2, #3 - 13c48: 6026 str r6, [r4, #0] + 13c2e: 1cd6 adds r6, r2, #3 + 13c30: 6026 str r6, [r4, #0] if((txt[*i] & 0xC0) != 0x80) return 0; /*Invalid UTF-8 code*/ - 13c4a: 5d86 ldrb r6, [r0, r6] - 13c4c: f006 00c0 and.w r0, r6, #192 ; 0xc0 - 13c50: 2880 cmp r0, #128 ; 0x80 - 13c52: d001 beq.n 13c58 - 13c54: 2000 movs r0, #0 - 13c56: e79f b.n 13b98 + 13c32: 5d86 ldrb r6, [r0, r6] + 13c34: f006 00c0 and.w r0, r6, #192 ; 0xc0 + 13c38: 2880 cmp r0, #128 ; 0x80 + 13c3a: d001 beq.n 13c40 + 13c3c: 2000 movs r0, #0 + 13c3e: e79f b.n 13b80 result = (uint32_t)(txt[*i] & 0x07) << 18; - 13c58: 049b lsls r3, r3, #18 - 13c5a: f403 13e0 and.w r3, r3, #1835008 ; 0x1c0000 + 13c40: 049b lsls r3, r3, #18 + 13c42: f403 13e0 and.w r3, r3, #1835008 ; 0x1c0000 result += (uint32_t)(txt[*i] & 0x3F) << 12; - 13c5e: 0309 lsls r1, r1, #12 - 13c60: f401 307c and.w r0, r1, #258048 ; 0x3f000 - 13c64: 4303 orrs r3, r0 + 13c46: 0309 lsls r1, r1, #12 + 13c48: f401 307c and.w r0, r1, #258048 ; 0x3f000 + 13c4c: 4303 orrs r3, r0 result += (uint32_t)(txt[*i] & 0x3F) << 6; - 13c66: 01a8 lsls r0, r5, #6 - 13c68: f400 607c and.w r0, r0, #4032 ; 0xfc0 + 13c4e: 01a8 lsls r0, r5, #6 + 13c50: f400 607c and.w r0, r0, #4032 ; 0xfc0 result += txt[*i] & 0x3F; - 13c6c: f006 063f and.w r6, r6, #63 ; 0x3f - 13c70: 4430 add r0, r6 - 13c72: 4418 add r0, r3 + 13c54: f006 063f and.w r6, r6, #63 ; 0x3f + 13c58: 4430 add r0, r6 + 13c5a: 4418 add r0, r3 (*i)++; - 13c74: 3204 adds r2, #4 - 13c76: 6022 str r2, [r4, #0] - 13c78: e78e b.n 13b98 + 13c5c: 3204 adds r2, #4 + 13c5e: 6022 str r2, [r4, #0] + 13c60: e78e b.n 13b80 ... -00013c7c : +00013c64 : * @param i start byte index in 'txt' where to start. After the call it will point to the previous * UTF-8 char in 'txt'. * @return the decoded Unicode character or 0 on invalid UTF-8 code */ static uint32_t lv_txt_utf8_prev(const char * txt, uint32_t * i) { - 13c7c: b5f0 push {r4, r5, r6, r7, lr} - 13c7e: b083 sub sp, #12 - 13c80: 4606 mov r6, r0 - 13c82: 460d mov r5, r1 + 13c64: b5f0 push {r4, r5, r6, r7, lr} + 13c66: b083 sub sp, #12 + 13c68: 4606 mov r6, r0 + 13c6a: 460d mov r5, r1 uint8_t c_size; uint8_t cnt = 0; /*Try to find a !0 long UTF-8 char by stepping one character back*/ (*i)--; - 13c84: 680b ldr r3, [r1, #0] - 13c86: 3b01 subs r3, #1 - 13c88: 600b str r3, [r1, #0] - 13c8a: 2404 movs r4, #4 + 13c6c: 680b ldr r3, [r1, #0] + 13c6e: 3b01 subs r3, #1 + 13c70: 600b str r3, [r1, #0] + 13c72: 2404 movs r4, #4 do { if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/ c_size = _lv_txt_encoded_size(&txt[*i]); - 13c8c: 4f0e ldr r7, [pc, #56] ; (13cc8 ) - 13c8e: e005 b.n 13c9c + 13c74: 4f0e ldr r7, [pc, #56] ; (13cb0 ) + 13c76: e005 b.n 13c84 if(c_size == 0) { if(*i != 0) (*i)--; - 13c90: 3801 subs r0, #1 - 13c92: 6028 str r0, [r5, #0] - 13c94: 1e63 subs r3, r4, #1 + 13c78: 3801 subs r0, #1 + 13c7a: 6028 str r0, [r5, #0] + 13c7c: 1e63 subs r3, r4, #1 if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/ - 13c96: f013 04ff ands.w r4, r3, #255 ; 0xff - 13c9a: d008 beq.n 13cae + 13c7e: f013 04ff ands.w r4, r3, #255 ; 0xff + 13c82: d008 beq.n 13c96 c_size = _lv_txt_encoded_size(&txt[*i]); - 13c9c: 6828 ldr r0, [r5, #0] - 13c9e: 4430 add r0, r6 - 13ca0: 683b ldr r3, [r7, #0] - 13ca2: 4798 blx r3 + 13c84: 6828 ldr r0, [r5, #0] + 13c86: 4430 add r0, r6 + 13c88: 683b ldr r3, [r7, #0] + 13c8a: 4798 blx r3 if(c_size == 0) { - 13ca4: b928 cbnz r0, 13cb2 + 13c8c: b928 cbnz r0, 13c9a if(*i != 0) - 13ca6: 6828 ldr r0, [r5, #0] - 13ca8: 2800 cmp r0, #0 - 13caa: d1f1 bne.n 13c90 - 13cac: e009 b.n 13cc2 + 13c8e: 6828 ldr r0, [r5, #0] + 13c90: 2800 cmp r0, #0 + 13c92: d1f1 bne.n 13c78 + 13c94: e009 b.n 13caa if(cnt >= 4) return 0; /*No UTF-8 char found before the initial*/ - 13cae: 2000 movs r0, #0 - 13cb0: e007 b.n 13cc2 + 13c96: 2000 movs r0, #0 + 13c98: e007 b.n 13caa return 0; } cnt++; } while(c_size == 0); uint32_t i_tmp = *i; - 13cb2: 682b ldr r3, [r5, #0] - 13cb4: a902 add r1, sp, #8 - 13cb6: f841 3d04 str.w r3, [r1, #-4]! + 13c9a: 682b ldr r3, [r5, #0] + 13c9c: a902 add r1, sp, #8 + 13c9e: f841 3d04 str.w r3, [r1, #-4]! uint32_t letter = _lv_txt_encoded_next(txt, &i_tmp); /*Character found, get it*/ - 13cba: 4b03 ldr r3, [pc, #12] ; (13cc8 ) - 13cbc: 685b ldr r3, [r3, #4] - 13cbe: 4630 mov r0, r6 - 13cc0: 4798 blx r3 + 13ca2: 4b03 ldr r3, [pc, #12] ; (13cb0 ) + 13ca4: 685b ldr r3, [r3, #4] + 13ca6: 4630 mov r0, r6 + 13ca8: 4798 blx r3 return letter; } - 13cc2: b003 add sp, #12 - 13cc4: bdf0 pop {r4, r5, r6, r7, pc} - 13cc6: bf00 nop - 13cc8: 20000054 .word 0x20000054 + 13caa: b003 add sp, #12 + 13cac: bdf0 pop {r4, r5, r6, r7, pc} + 13cae: bf00 nop + 13cb0: 20000054 .word 0x20000054 -00013ccc : +00013cb4 : * @param txt a '\0' terminated UTF-8 string * @param utf8_id character index * @return byte index of the 'utf8_id'th letter */ static uint32_t lv_txt_utf8_get_byte_id(const char * txt, uint32_t utf8_id) { - 13ccc: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 13cb4: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} uint32_t i; uint32_t byte_cnt = 0; for(i = 0; i < utf8_id; i++) { - 13cd0: 460e mov r6, r1 - 13cd2: b191 cbz r1, 13cfa - 13cd4: 4607 mov r7, r0 - 13cd6: 2400 movs r4, #0 - 13cd8: 4625 mov r5, r4 + 13cb8: 460e mov r6, r1 + 13cba: b191 cbz r1, 13ce2 + 13cbc: 4607 mov r7, r0 + 13cbe: 2400 movs r4, #0 + 13cc0: 4625 mov r5, r4 uint8_t c_size = _lv_txt_encoded_size(&txt[byte_cnt]); - 13cda: f8df 8024 ldr.w r8, [pc, #36] ; 13d00 - 13cde: 1938 adds r0, r7, r4 - 13ce0: f8d8 3000 ldr.w r3, [r8] - 13ce4: 4798 blx r3 + 13cc2: f8df 8024 ldr.w r8, [pc, #36] ; 13ce8 + 13cc6: 1938 adds r0, r7, r4 + 13cc8: f8d8 3000 ldr.w r3, [r8] + 13ccc: 4798 blx r3 byte_cnt += c_size > 0 ? c_size : 1; - 13ce6: 2800 cmp r0, #0 - 13ce8: bf08 it eq - 13cea: 2001 moveq r0, #1 - 13cec: 4404 add r4, r0 + 13cce: 2800 cmp r0, #0 + 13cd0: bf08 it eq + 13cd2: 2001 moveq r0, #1 + 13cd4: 4404 add r4, r0 for(i = 0; i < utf8_id; i++) { - 13cee: 3501 adds r5, #1 - 13cf0: 42ae cmp r6, r5 - 13cf2: d1f4 bne.n 13cde + 13cd6: 3501 adds r5, #1 + 13cd8: 42ae cmp r6, r5 + 13cda: d1f4 bne.n 13cc6 } return byte_cnt; } - 13cf4: 4620 mov r0, r4 - 13cf6: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 13cdc: 4620 mov r0, r4 + 13cde: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} uint32_t byte_cnt = 0; - 13cfa: 460c mov r4, r1 + 13ce2: 460c mov r4, r1 return byte_cnt; - 13cfc: e7fa b.n 13cf4 - 13cfe: bf00 nop - 13d00: 20000054 .word 0x20000054 + 13ce4: e7fa b.n 13cdc + 13ce6: bf00 nop + 13ce8: 20000054 .word 0x20000054 -00013d04 : +00013cec : * @param txt a '\0' terminated UTF-8 string * @param byte_id byte index * @return character index of the letter at 'byte_id'th position */ static uint32_t lv_txt_utf8_get_char_id(const char * txt, uint32_t byte_id) { - 13d04: b5f0 push {r4, r5, r6, r7, lr} - 13d06: b083 sub sp, #12 + 13cec: b5f0 push {r4, r5, r6, r7, lr} + 13cee: b083 sub sp, #12 uint32_t i = 0; - 13d08: 2300 movs r3, #0 - 13d0a: 9301 str r3, [sp, #4] + 13cf0: 2300 movs r3, #0 + 13cf2: 9301 str r3, [sp, #4] uint32_t char_cnt = 0; while(i < byte_id) { - 13d0c: 460d mov r5, r1 - 13d0e: b169 cbz r1, 13d2c - 13d10: 4606 mov r6, r0 - 13d12: 461c mov r4, r3 + 13cf4: 460d mov r5, r1 + 13cf6: b169 cbz r1, 13d14 + 13cf8: 4606 mov r6, r0 + 13cfa: 461c mov r4, r3 _lv_txt_encoded_next(txt, &i); /*'i' points to the next letter so use the prev. value*/ - 13d14: 4f06 ldr r7, [pc, #24] ; (13d30 ) - 13d16: a901 add r1, sp, #4 - 13d18: 4630 mov r0, r6 - 13d1a: 687b ldr r3, [r7, #4] - 13d1c: 4798 blx r3 + 13cfc: 4f06 ldr r7, [pc, #24] ; (13d18 ) + 13cfe: a901 add r1, sp, #4 + 13d00: 4630 mov r0, r6 + 13d02: 687b ldr r3, [r7, #4] + 13d04: 4798 blx r3 char_cnt++; - 13d1e: 3401 adds r4, #1 + 13d06: 3401 adds r4, #1 while(i < byte_id) { - 13d20: 9b01 ldr r3, [sp, #4] - 13d22: 42ab cmp r3, r5 - 13d24: d3f7 bcc.n 13d16 + 13d08: 9b01 ldr r3, [sp, #4] + 13d0a: 42ab cmp r3, r5 + 13d0c: d3f7 bcc.n 13cfe } return char_cnt; } - 13d26: 4620 mov r0, r4 - 13d28: b003 add sp, #12 - 13d2a: bdf0 pop {r4, r5, r6, r7, pc} + 13d0e: 4620 mov r0, r4 + 13d10: b003 add sp, #12 + 13d12: bdf0 pop {r4, r5, r6, r7, pc} uint32_t char_cnt = 0; - 13d2c: 460c mov r4, r1 + 13d14: 460c mov r4, r1 return char_cnt; - 13d2e: e7fa b.n 13d26 - 13d30: 20000054 .word 0x20000054 + 13d16: e7fa b.n 13d0e + 13d18: 20000054 .word 0x20000054 -00013d34 : +00013d1c : * E.g.: "ÁBC" is 3 characters (but 4 bytes) * @param txt a '\0' terminated char string * @return number of characters */ static uint32_t lv_txt_utf8_get_length(const char * txt) { - 13d34: b570 push {r4, r5, r6, lr} - 13d36: b082 sub sp, #8 + 13d1c: b570 push {r4, r5, r6, lr} + 13d1e: b082 sub sp, #8 uint32_t len = 0; uint32_t i = 0; - 13d38: 2300 movs r3, #0 - 13d3a: 9301 str r3, [sp, #4] + 13d20: 2300 movs r3, #0 + 13d22: 9301 str r3, [sp, #4] while(txt[i] != '\0') { - 13d3c: 7803 ldrb r3, [r0, #0] - 13d3e: b173 cbz r3, 13d5e - 13d40: 4604 mov r4, r0 - 13d42: 2500 movs r5, #0 + 13d24: 7803 ldrb r3, [r0, #0] + 13d26: b173 cbz r3, 13d46 + 13d28: 4604 mov r4, r0 + 13d2a: 2500 movs r5, #0 _lv_txt_encoded_next(txt, &i); - 13d44: 4e07 ldr r6, [pc, #28] ; (13d64 ) - 13d46: a901 add r1, sp, #4 - 13d48: 4620 mov r0, r4 - 13d4a: 6873 ldr r3, [r6, #4] - 13d4c: 4798 blx r3 + 13d2c: 4e07 ldr r6, [pc, #28] ; (13d4c ) + 13d2e: a901 add r1, sp, #4 + 13d30: 4620 mov r0, r4 + 13d32: 6873 ldr r3, [r6, #4] + 13d34: 4798 blx r3 len++; - 13d4e: 3501 adds r5, #1 + 13d36: 3501 adds r5, #1 while(txt[i] != '\0') { - 13d50: 9b01 ldr r3, [sp, #4] - 13d52: 5ce3 ldrb r3, [r4, r3] - 13d54: 2b00 cmp r3, #0 - 13d56: d1f6 bne.n 13d46 + 13d38: 9b01 ldr r3, [sp, #4] + 13d3a: 5ce3 ldrb r3, [r4, r3] + 13d3c: 2b00 cmp r3, #0 + 13d3e: d1f6 bne.n 13d2e } return len; } - 13d58: 4628 mov r0, r5 - 13d5a: b002 add sp, #8 - 13d5c: bd70 pop {r4, r5, r6, pc} + 13d40: 4628 mov r0, r5 + 13d42: b002 add sp, #8 + 13d44: bd70 pop {r4, r5, r6, pc} uint32_t len = 0; - 13d5e: 2500 movs r5, #0 + 13d46: 2500 movs r5, #0 return len; - 13d60: e7fa b.n 13d58 - 13d62: bf00 nop - 13d64: 20000054 .word 0x20000054 + 13d48: e7fa b.n 13d40 + 13d4a: bf00 nop + 13d4c: 20000054 .word 0x20000054 -00013d68 <_lv_txt_is_cmd>: +00013d50 <_lv_txt_is_cmd>: if(c == (uint32_t)LV_TXT_COLOR_CMD[0]) { - 13d68: 2923 cmp r1, #35 ; 0x23 - 13d6a: d004 beq.n 13d76 <_lv_txt_is_cmd+0xe> + 13d50: 2923 cmp r1, #35 ; 0x23 + 13d52: d004 beq.n 13d5e <_lv_txt_is_cmd+0xe> if(*state == LV_TXT_CMD_STATE_PAR) { - 13d6c: 7803 ldrb r3, [r0, #0] - 13d6e: 2b01 cmp r3, #1 - 13d70: d015 beq.n 13d9e <_lv_txt_is_cmd+0x36> + 13d54: 7803 ldrb r3, [r0, #0] + 13d56: 2b01 cmp r3, #1 + 13d58: d015 beq.n 13d86 <_lv_txt_is_cmd+0x36> bool ret = false; - 13d72: 2000 movs r0, #0 - 13d74: 4770 bx lr + 13d5a: 2000 movs r0, #0 + 13d5c: 4770 bx lr if(*state == LV_TXT_CMD_STATE_WAIT) { /*Start char*/ - 13d76: 7803 ldrb r3, [r0, #0] - 13d78: b91b cbnz r3, 13d82 <_lv_txt_is_cmd+0x1a> + 13d5e: 7803 ldrb r3, [r0, #0] + 13d60: b91b cbnz r3, 13d6a <_lv_txt_is_cmd+0x1a> *state = LV_TXT_CMD_STATE_PAR; - 13d7a: 2301 movs r3, #1 - 13d7c: 7003 strb r3, [r0, #0] + 13d62: 2301 movs r3, #1 + 13d64: 7003 strb r3, [r0, #0] ret = true; - 13d7e: 4618 mov r0, r3 - 13d80: 4770 bx lr + 13d66: 4618 mov r0, r3 + 13d68: 4770 bx lr else if(*state == LV_TXT_CMD_STATE_PAR) { - 13d82: 2b01 cmp r3, #1 - 13d84: d003 beq.n 13d8e <_lv_txt_is_cmd+0x26> + 13d6a: 2b01 cmp r3, #1 + 13d6c: d003 beq.n 13d76 <_lv_txt_is_cmd+0x26> else if(*state == LV_TXT_CMD_STATE_IN) { - 13d86: 2b02 cmp r3, #2 - 13d88: d005 beq.n 13d96 <_lv_txt_is_cmd+0x2e> + 13d6e: 2b02 cmp r3, #2 + 13d70: d005 beq.n 13d7e <_lv_txt_is_cmd+0x2e> bool ret = false; - 13d8a: 2000 movs r0, #0 + 13d72: 2000 movs r0, #0 } - 13d8c: 4770 bx lr + 13d74: 4770 bx lr *state = LV_TXT_CMD_STATE_WAIT; - 13d8e: 2300 movs r3, #0 - 13d90: 7003 strb r3, [r0, #0] + 13d76: 2300 movs r3, #0 + 13d78: 7003 strb r3, [r0, #0] bool ret = false; - 13d92: 4618 mov r0, r3 - 13d94: 4770 bx lr + 13d7a: 4618 mov r0, r3 + 13d7c: 4770 bx lr *state = LV_TXT_CMD_STATE_WAIT; - 13d96: 2300 movs r3, #0 - 13d98: 7003 strb r3, [r0, #0] + 13d7e: 2300 movs r3, #0 + 13d80: 7003 strb r3, [r0, #0] ret = true; - 13d9a: 2001 movs r0, #1 - 13d9c: 4770 bx lr + 13d82: 2001 movs r0, #1 + 13d84: 4770 bx lr if(c == ' ') { - 13d9e: 2920 cmp r1, #32 - 13da0: d103 bne.n 13daa <_lv_txt_is_cmd+0x42> + 13d86: 2920 cmp r1, #32 + 13d88: d103 bne.n 13d92 <_lv_txt_is_cmd+0x42> *state = LV_TXT_CMD_STATE_IN; /*After the parameter the text is in the command*/ - 13da2: 2302 movs r3, #2 - 13da4: 7003 strb r3, [r0, #0] + 13d8a: 2302 movs r3, #2 + 13d8c: 7003 strb r3, [r0, #0] ret = true; - 13da6: 2001 movs r0, #1 - 13da8: 4770 bx lr - 13daa: 2001 movs r0, #1 - 13dac: 4770 bx lr + 13d8e: 2001 movs r0, #1 + 13d90: 4770 bx lr + 13d92: 2001 movs r0, #1 + 13d94: 4770 bx lr ... -00013db0 <_lv_txt_get_next_line>: +00013d98 <_lv_txt_get_next_line>: { - 13db0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 13db4: b091 sub sp, #68 ; 0x44 - 13db6: 9105 str r1, [sp, #20] - 13db8: 9206 str r2, [sp, #24] - 13dba: 9307 str r3, [sp, #28] - 13dbc: f89d 3068 ldrb.w r3, [sp, #104] ; 0x68 - 13dc0: 9304 str r3, [sp, #16] + 13d98: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 13d9c: b091 sub sp, #68 ; 0x44 + 13d9e: 9105 str r1, [sp, #20] + 13da0: 9206 str r2, [sp, #24] + 13da2: 9307 str r3, [sp, #28] + 13da4: f89d 3068 ldrb.w r3, [sp, #104] ; 0x68 + 13da8: 9304 str r3, [sp, #16] if(txt == NULL) return 0; - 13dc2: 9008 str r0, [sp, #32] - 13dc4: 2800 cmp r0, #0 - 13dc6: f000 80f0 beq.w 13faa <_lv_txt_get_next_line+0x1fa> + 13daa: 9008 str r0, [sp, #32] + 13dac: 2800 cmp r0, #0 + 13dae: f000 80f0 beq.w 13f92 <_lv_txt_get_next_line+0x1fa> if(font == NULL) return 0; - 13dca: 2900 cmp r1, #0 - 13dcc: f000 80ef beq.w 13fae <_lv_txt_get_next_line+0x1fe> + 13db2: 2900 cmp r1, #0 + 13db4: f000 80ef beq.w 13f96 <_lv_txt_get_next_line+0x1fe> if((flag & LV_TXT_FLAG_EXPAND) || (flag & LV_TXT_FLAG_FIT)) { - 13dd0: f013 0f12 tst.w r3, #18 - 13dd4: d017 beq.n 13e06 <_lv_txt_get_next_line+0x56> + 13db8: f013 0f12 tst.w r3, #18 + 13dbc: d017 beq.n 13dee <_lv_txt_get_next_line+0x56> for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 13dd6: 7803 ldrb r3, [r0, #0] - 13dd8: 2b0a cmp r3, #10 - 13dda: f000 80ea beq.w 13fb2 <_lv_txt_get_next_line+0x202> - 13dde: 2b0d cmp r3, #13 - 13de0: f000 80ed beq.w 13fbe <_lv_txt_get_next_line+0x20e> - 13de4: 2b00 cmp r3, #0 - 13de6: f000 80ec beq.w 13fc2 <_lv_txt_get_next_line+0x212> - 13dea: 4601 mov r1, r0 - 13dec: 2200 movs r2, #0 - 13dee: 3201 adds r2, #1 - 13df0: f811 3f01 ldrb.w r3, [r1, #1]! - 13df4: 2b0a cmp r3, #10 - 13df6: f000 80dd beq.w 13fb4 <_lv_txt_get_next_line+0x204> - 13dfa: 2b0d cmp r3, #13 - 13dfc: f000 80da beq.w 13fb4 <_lv_txt_get_next_line+0x204> - 13e00: 2b00 cmp r3, #0 - 13e02: d1f4 bne.n 13dee <_lv_txt_get_next_line+0x3e> - 13e04: e0d7 b.n 13fb6 <_lv_txt_get_next_line+0x206> - 13e06: 9b04 ldr r3, [sp, #16] - 13e08: f003 0302 and.w r3, r3, #2 - 13e0c: 461a mov r2, r3 - 13e0e: 930b str r3, [sp, #44] ; 0x2c + 13dbe: 7803 ldrb r3, [r0, #0] + 13dc0: 2b0a cmp r3, #10 + 13dc2: f000 80ea beq.w 13f9a <_lv_txt_get_next_line+0x202> + 13dc6: 2b0d cmp r3, #13 + 13dc8: f000 80ed beq.w 13fa6 <_lv_txt_get_next_line+0x20e> + 13dcc: 2b00 cmp r3, #0 + 13dce: f000 80ec beq.w 13faa <_lv_txt_get_next_line+0x212> + 13dd2: 4601 mov r1, r0 + 13dd4: 2200 movs r2, #0 + 13dd6: 3201 adds r2, #1 + 13dd8: f811 3f01 ldrb.w r3, [r1, #1]! + 13ddc: 2b0a cmp r3, #10 + 13dde: f000 80dd beq.w 13f9c <_lv_txt_get_next_line+0x204> + 13de2: 2b0d cmp r3, #13 + 13de4: f000 80da beq.w 13f9c <_lv_txt_get_next_line+0x204> + 13de8: 2b00 cmp r3, #0 + 13dea: d1f4 bne.n 13dd6 <_lv_txt_get_next_line+0x3e> + 13dec: e0d7 b.n 13f9e <_lv_txt_get_next_line+0x206> + 13dee: 9b04 ldr r3, [sp, #16] + 13df0: f003 0302 and.w r3, r3, #2 + 13df4: 461a mov r2, r3 + 13df6: 930b str r3, [sp, #44] ; 0x2c if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 13e10: f647 4318 movw r3, #31768 ; 0x7c18 - 13e14: 9907 ldr r1, [sp, #28] - 13e16: 2a00 cmp r2, #0 - 13e18: bf18 it ne - 13e1a: 4619 movne r1, r3 - 13e1c: 9107 str r1, [sp, #28] + 13df8: f647 4318 movw r3, #31768 ; 0x7c18 + 13dfc: 9907 ldr r1, [sp, #28] + 13dfe: 2a00 cmp r2, #0 + 13e00: bf18 it ne + 13e02: 4619 movne r1, r3 + 13e04: 9107 str r1, [sp, #28] lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 13e1e: 2300 movs r3, #0 - 13e20: f88d 303f strb.w r3, [sp, #63] ; 0x3f + 13e06: 2300 movs r3, #0 + 13e08: f88d 303f strb.w r3, [sp, #63] ; 0x3f uint32_t i = 0; /* Iterating index into txt */ - 13e24: 930e str r3, [sp, #56] ; 0x38 + 13e0c: 930e str r3, [sp, #56] ; 0x38 letter = _lv_txt_encoded_next(txt, &i_next); - 13e26: f8df 91ac ldr.w r9, [pc, #428] ; 13fd4 <_lv_txt_get_next_line+0x224> + 13e0e: f8df 91ac ldr.w r9, [pc, #428] ; 13fbc <_lv_txt_get_next_line+0x224> { uint8_t i; bool ret = false; /*Compare the letter to TXT_BREAK_CHARS*/ for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) { - 13e2a: f8df a1ac ldr.w sl, [pc, #428] ; 13fd8 <_lv_txt_get_next_line+0x228> + 13e12: f8df a1ac ldr.w sl, [pc, #428] ; 13fc0 <_lv_txt_get_next_line+0x228> while(txt[i] != '\0' && max_width > 0) { - 13e2e: e078 b.n 13f22 <_lv_txt_get_next_line+0x172> + 13e16: e078 b.n 13f0a <_lv_txt_get_next_line+0x172> letter_w = lv_font_get_glyph_width(font, letter, letter_next); - 13e30: 9a01 ldr r2, [sp, #4] - 13e32: 4621 mov r1, r4 - 13e34: 9805 ldr r0, [sp, #20] - 13e36: 4b64 ldr r3, [pc, #400] ; (13fc8 <_lv_txt_get_next_line+0x218>) - 13e38: 4798 blx r3 + 13e18: 9a01 ldr r2, [sp, #4] + 13e1a: 4621 mov r1, r4 + 13e1c: 9805 ldr r0, [sp, #20] + 13e1e: 4b64 ldr r3, [pc, #400] ; (13fb0 <_lv_txt_get_next_line+0x218>) + 13e20: 4798 blx r3 cur_w += letter_w; - 13e3a: 4405 add r5, r0 - 13e3c: b2ad uxth r5, r5 + 13e22: 4405 add r5, r0 + 13e24: b2ad uxth r5, r5 if(letter_w > 0) { - 13e3e: b200 sxth r0, r0 - 13e40: 2800 cmp r0, #0 - 13e42: dd02 ble.n 13e4a <_lv_txt_get_next_line+0x9a> + 13e26: b200 sxth r0, r0 + 13e28: 2800 cmp r0, #0 + 13e2a: dd02 ble.n 13e32 <_lv_txt_get_next_line+0x9a> cur_w += letter_space; - 13e44: 9b06 ldr r3, [sp, #24] - 13e46: 441d add r5, r3 - 13e48: b2ad uxth r5, r5 - 13e4a: b22d sxth r5, r5 + 13e2c: 9b06 ldr r3, [sp, #24] + 13e2e: 441d add r5, r3 + 13e30: b2ad uxth r5, r5 + 13e32: b22d sxth r5, r5 if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) { - 13e4c: f1b7 3fff cmp.w r7, #4294967295 - 13e50: d038 beq.n 13ec4 <_lv_txt_get_next_line+0x114> + 13e34: f1b7 3fff cmp.w r7, #4294967295 + 13e38: d038 beq.n 13eac <_lv_txt_get_next_line+0x114> if(letter == '\n' || letter == '\r' || is_break_char(letter)) { - 13e52: f1a4 020a sub.w r2, r4, #10 - 13e56: 2a16 cmp r2, #22 - 13e58: d83b bhi.n 13ed2 <_lv_txt_get_next_line+0x122> - 13e5a: 4b5c ldr r3, [pc, #368] ; (13fcc <_lv_txt_get_next_line+0x21c>) - 13e5c: 40d3 lsrs r3, r2 - 13e5e: f013 0f01 tst.w r3, #1 - 13e62: d139 bne.n 13ed8 <_lv_txt_get_next_line+0x128> - 13e64: 2301 movs r3, #1 - 13e66: 222c movs r2, #44 ; 0x2c + 13e3a: f1a4 020a sub.w r2, r4, #10 + 13e3e: 2a16 cmp r2, #22 + 13e40: d83b bhi.n 13eba <_lv_txt_get_next_line+0x122> + 13e42: 4b5c ldr r3, [pc, #368] ; (13fb4 <_lv_txt_get_next_line+0x21c>) + 13e44: 40d3 lsrs r3, r2 + 13e46: f013 0f01 tst.w r3, #1 + 13e4a: d139 bne.n 13ec0 <_lv_txt_get_next_line+0x128> + 13e4c: 2301 movs r3, #1 + 13e4e: 222c movs r2, #44 ; 0x2c if(letter == (uint32_t)LV_TXT_BREAK_CHARS[i]) { - 13e68: 4294 cmp r4, r2 - 13e6a: d035 beq.n 13ed8 <_lv_txt_get_next_line+0x128> + 13e50: 4294 cmp r4, r2 + 13e52: d035 beq.n 13ec0 <_lv_txt_get_next_line+0x128> for(i = 0; LV_TXT_BREAK_CHARS[i] != '\0'; i++) { - 13e6c: 3301 adds r3, #1 - 13e6e: b2db uxtb r3, r3 - 13e70: f81a 2003 ldrb.w r2, [sl, r3] - 13e74: 2a00 cmp r2, #0 - 13e76: d1f7 bne.n 13e68 <_lv_txt_get_next_line+0xb8> + 13e54: 3301 adds r3, #1 + 13e56: b2db uxtb r3, r3 + 13e58: f81a 2003 ldrb.w r2, [sl, r3] + 13e5c: 2a00 cmp r2, #0 + 13e5e: d1f7 bne.n 13e50 <_lv_txt_get_next_line+0xb8> if(word_w_ptr != NULL && break_index == NO_BREAK_FOUND) *word_w_ptr = cur_w; - 13e78: f1b7 3fff cmp.w r7, #4294967295 - 13e7c: bf08 it eq - 13e7e: 46ab moveq fp, r5 + 13e60: f1b7 3fff cmp.w r7, #4294967295 + 13e64: bf08 it eq + 13e66: 46ab moveq fp, r5 i = i_next; - 13e80: 9e0c ldr r6, [sp, #48] ; 0x30 + 13e68: 9e0c ldr r6, [sp, #48] ; 0x30 i_next = i_next_next; - 13e82: 9b0d ldr r3, [sp, #52] ; 0x34 - 13e84: 930c str r3, [sp, #48] ; 0x30 + 13e6a: 9b0d ldr r3, [sp, #52] ; 0x34 + 13e6c: 930c str r3, [sp, #48] ; 0x30 letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 13e86: 9b03 ldr r3, [sp, #12] - 13e88: 9302 str r3, [sp, #8] - 13e8a: 9c01 ldr r4, [sp, #4] + 13e6e: 9b03 ldr r3, [sp, #12] + 13e70: 9302 str r3, [sp, #8] + 13e72: 9c01 ldr r4, [sp, #4] while(txt[i] != '\0') { - 13e8c: f818 3006 ldrb.w r3, [r8, r6] - 13e90: 2b00 cmp r3, #0 - 13e92: d06e beq.n 13f72 <_lv_txt_get_next_line+0x1c2> + 13e74: f818 3006 ldrb.w r3, [r8, r6] + 13e78: 2b00 cmp r3, #0 + 13e7a: d06e beq.n 13f5a <_lv_txt_get_next_line+0x1c2> letter_next = _lv_txt_encoded_next(txt, &i_next_next); - 13e94: f8d9 3004 ldr.w r3, [r9, #4] - 13e98: a90d add r1, sp, #52 ; 0x34 - 13e9a: 4640 mov r0, r8 - 13e9c: 4798 blx r3 - 13e9e: 9001 str r0, [sp, #4] + 13e7c: f8d9 3004 ldr.w r3, [r9, #4] + 13e80: a90d add r1, sp, #52 ; 0x34 + 13e82: 4640 mov r0, r8 + 13e84: 4798 blx r3 + 13e86: 9001 str r0, [sp, #4] word_len++; - 13ea0: 9b02 ldr r3, [sp, #8] - 13ea2: 3301 adds r3, #1 - 13ea4: 9303 str r3, [sp, #12] + 13e88: 9b02 ldr r3, [sp, #8] + 13e8a: 3301 adds r3, #1 + 13e8c: 9303 str r3, [sp, #12] if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 13ea6: 9b04 ldr r3, [sp, #16] - 13ea8: f013 0f01 tst.w r3, #1 - 13eac: d0c0 beq.n 13e30 <_lv_txt_get_next_line+0x80> + 13e8e: 9b04 ldr r3, [sp, #16] + 13e90: f013 0f01 tst.w r3, #1 + 13e94: d0c0 beq.n 13e18 <_lv_txt_get_next_line+0x80> if(_lv_txt_is_cmd(cmd_state, letter) != false) { - 13eae: 4621 mov r1, r4 - 13eb0: f10d 003f add.w r0, sp, #63 ; 0x3f - 13eb4: 4b46 ldr r3, [pc, #280] ; (13fd0 <_lv_txt_get_next_line+0x220>) - 13eb6: 4798 blx r3 - 13eb8: 2800 cmp r0, #0 - 13eba: d0b9 beq.n 13e30 <_lv_txt_get_next_line+0x80> + 13e96: 4621 mov r1, r4 + 13e98: f10d 003f add.w r0, sp, #63 ; 0x3f + 13e9c: 4b46 ldr r3, [pc, #280] ; (13fb8 <_lv_txt_get_next_line+0x220>) + 13e9e: 4798 blx r3 + 13ea0: 2800 cmp r0, #0 + 13ea2: d0b9 beq.n 13e18 <_lv_txt_get_next_line+0x80> i = i_next; - 13ebc: 9e0c ldr r6, [sp, #48] ; 0x30 + 13ea4: 9e0c ldr r6, [sp, #48] ; 0x30 i_next = i_next_next; - 13ebe: 9b0d ldr r3, [sp, #52] ; 0x34 - 13ec0: 930c str r3, [sp, #48] ; 0x30 - 13ec2: e7e0 b.n 13e86 <_lv_txt_get_next_line+0xd6> + 13ea6: 9b0d ldr r3, [sp, #52] ; 0x34 + 13ea8: 930c str r3, [sp, #48] ; 0x30 + 13eaa: e7e0 b.n 13e6e <_lv_txt_get_next_line+0xd6> if(break_index == NO_BREAK_FOUND && (cur_w - letter_space) > max_width) { - 13ec4: 9b06 ldr r3, [sp, #24] - 13ec6: 1aeb subs r3, r5, r3 - 13ec8: 9a09 ldr r2, [sp, #36] ; 0x24 - 13eca: 4293 cmp r3, r2 - 13ecc: bfc8 it gt - 13ece: 4637 movgt r7, r6 - 13ed0: e7bf b.n 13e52 <_lv_txt_get_next_line+0xa2> + 13eac: 9b06 ldr r3, [sp, #24] + 13eae: 1aeb subs r3, r5, r3 + 13eb0: 9a09 ldr r2, [sp, #36] ; 0x24 + 13eb2: 4293 cmp r3, r2 + 13eb4: bfc8 it gt + 13eb6: 4637 movgt r7, r6 + 13eb8: e7bf b.n 13e3a <_lv_txt_get_next_line+0xa2> if(letter == '\n' || letter == '\r' || is_break_char(letter)) { - 13ed2: 2301 movs r3, #1 - 13ed4: 222c movs r2, #44 ; 0x2c - 13ed6: e7c7 b.n 13e68 <_lv_txt_get_next_line+0xb8> + 13eba: 2301 movs r3, #1 + 13ebc: 222c movs r2, #44 ; 0x2c + 13ebe: e7c7 b.n 13e50 <_lv_txt_get_next_line+0xb8> if(i == 0 && break_index == NO_BREAK_FOUND && word_w_ptr != NULL) *word_w_ptr = cur_w; - 13ed8: 2e00 cmp r6, #0 - 13eda: d14a bne.n 13f72 <_lv_txt_get_next_line+0x1c2> - 13edc: f1b7 3fff cmp.w r7, #4294967295 - 13ee0: d14a bne.n 13f78 <_lv_txt_get_next_line+0x1c8> - 13ee2: 46ab mov fp, r5 + 13ec0: 2e00 cmp r6, #0 + 13ec2: d14a bne.n 13f5a <_lv_txt_get_next_line+0x1c2> + 13ec4: f1b7 3fff cmp.w r7, #4294967295 + 13ec8: d14a bne.n 13f60 <_lv_txt_get_next_line+0x1c8> + 13eca: 46ab mov fp, r5 if(word_len == 0 || (letter == '\r' && letter_next == '\n')) i = i_next; - 13ee4: 9b02 ldr r3, [sp, #8] - 13ee6: b123 cbz r3, 13ef2 <_lv_txt_get_next_line+0x142> - 13ee8: 2c0d cmp r4, #13 - 13eea: d103 bne.n 13ef4 <_lv_txt_get_next_line+0x144> - 13eec: 9b01 ldr r3, [sp, #4] - 13eee: 2b0a cmp r3, #10 - 13ef0: d100 bne.n 13ef4 <_lv_txt_get_next_line+0x144> - 13ef2: 9e0c ldr r6, [sp, #48] ; 0x30 + 13ecc: 9b02 ldr r3, [sp, #8] + 13ece: b123 cbz r3, 13eda <_lv_txt_get_next_line+0x142> + 13ed0: 2c0d cmp r4, #13 + 13ed2: d103 bne.n 13edc <_lv_txt_get_next_line+0x144> + 13ed4: 9b01 ldr r3, [sp, #4] + 13ed6: 2b0a cmp r3, #10 + 13ed8: d100 bne.n 13edc <_lv_txt_get_next_line+0x144> + 13eda: 9e0c ldr r6, [sp, #48] ; 0x30 return i; - 13ef4: b2b6 uxth r6, r6 + 13edc: b2b6 uxth r6, r6 max_width -= word_w; - 13ef6: 9b07 ldr r3, [sp, #28] - 13ef8: eba3 0b0b sub.w fp, r3, fp - 13efc: fa0f f38b sxth.w r3, fp - 13f00: 9307 str r3, [sp, #28] + 13ede: 9b07 ldr r3, [sp, #28] + 13ee0: eba3 0b0b sub.w fp, r3, fp + 13ee4: fa0f f38b sxth.w r3, fp + 13ee8: 9307 str r3, [sp, #28] if(advance == 0) { - 13f02: 2e00 cmp r6, #0 - 13f04: d03a beq.n 13f7c <_lv_txt_get_next_line+0x1cc> + 13eea: 2e00 cmp r6, #0 + 13eec: d03a beq.n 13f64 <_lv_txt_get_next_line+0x1cc> i += advance; - 13f06: 9f0e ldr r7, [sp, #56] ; 0x38 - 13f08: 443e add r6, r7 - 13f0a: 960e str r6, [sp, #56] ; 0x38 + 13eee: 9f0e ldr r7, [sp, #56] ; 0x38 + 13ef0: 443e add r6, r7 + 13ef2: 960e str r6, [sp, #56] ; 0x38 if(txt[0] == '\n' || txt[0] == '\r') break; - 13f0c: 9a08 ldr r2, [sp, #32] - 13f0e: 7813 ldrb r3, [r2, #0] - 13f10: 2b0a cmp r3, #10 - 13f12: d03f beq.n 13f94 <_lv_txt_get_next_line+0x1e4> - 13f14: 2b0d cmp r3, #13 - 13f16: d03d beq.n 13f94 <_lv_txt_get_next_line+0x1e4> + 13ef4: 9a08 ldr r2, [sp, #32] + 13ef6: 7813 ldrb r3, [r2, #0] + 13ef8: 2b0a cmp r3, #10 + 13efa: d03f beq.n 13f7c <_lv_txt_get_next_line+0x1e4> + 13efc: 2b0d cmp r3, #13 + 13efe: d03d beq.n 13f7c <_lv_txt_get_next_line+0x1e4> if(txt[i] == '\n' || txt[i] == '\r') { - 13f18: 5d93 ldrb r3, [r2, r6] - 13f1a: 2b0a cmp r3, #10 - 13f1c: d038 beq.n 13f90 <_lv_txt_get_next_line+0x1e0> - 13f1e: 2b0d cmp r3, #13 - 13f20: d036 beq.n 13f90 <_lv_txt_get_next_line+0x1e0> + 13f00: 5d93 ldrb r3, [r2, r6] + 13f02: 2b0a cmp r3, #10 + 13f04: d038 beq.n 13f78 <_lv_txt_get_next_line+0x1e0> + 13f06: 2b0d cmp r3, #13 + 13f08: d036 beq.n 13f78 <_lv_txt_get_next_line+0x1e0> while(txt[i] != '\0' && max_width > 0) { - 13f22: 9b0e ldr r3, [sp, #56] ; 0x38 - 13f24: 930a str r3, [sp, #40] ; 0x28 - 13f26: 9908 ldr r1, [sp, #32] - 13f28: eb01 0803 add.w r8, r1, r3 - 13f2c: 5ccb ldrb r3, [r1, r3] - 13f2e: 2b00 cmp r3, #0 - 13f30: d030 beq.n 13f94 <_lv_txt_get_next_line+0x1e4> - 13f32: 9b07 ldr r3, [sp, #28] - 13f34: 2b00 cmp r3, #0 - 13f36: dd2d ble.n 13f94 <_lv_txt_get_next_line+0x1e4> + 13f0a: 9b0e ldr r3, [sp, #56] ; 0x38 + 13f0c: 930a str r3, [sp, #40] ; 0x28 + 13f0e: 9908 ldr r1, [sp, #32] + 13f10: eb01 0803 add.w r8, r1, r3 + 13f14: 5ccb ldrb r3, [r1, r3] + 13f16: 2b00 cmp r3, #0 + 13f18: d030 beq.n 13f7c <_lv_txt_get_next_line+0x1e4> + 13f1a: 9b07 ldr r3, [sp, #28] + 13f1c: 2b00 cmp r3, #0 + 13f1e: dd2d ble.n 13f7c <_lv_txt_get_next_line+0x1e4> if(txt == NULL || txt[0] == '\0') return 0; - 13f38: f1b8 0f00 cmp.w r8, #0 - 13f3c: d01e beq.n 13f7c <_lv_txt_get_next_line+0x1cc> + 13f20: f1b8 0f00 cmp.w r8, #0 + 13f24: d01e beq.n 13f64 <_lv_txt_get_next_line+0x1cc> if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 13f3e: f647 4318 movw r3, #31768 ; 0x7c18 - 13f42: 9a07 ldr r2, [sp, #28] - 13f44: 990b ldr r1, [sp, #44] ; 0x2c - 13f46: 2900 cmp r1, #0 - 13f48: bf08 it eq - 13f4a: 4613 moveq r3, r2 - 13f4c: 9309 str r3, [sp, #36] ; 0x24 + 13f26: f647 4318 movw r3, #31768 ; 0x7c18 + 13f2a: 9a07 ldr r2, [sp, #28] + 13f2c: 990b ldr r1, [sp, #44] ; 0x2c + 13f2e: 2900 cmp r1, #0 + 13f30: bf08 it eq + 13f32: 4613 moveq r3, r2 + 13f34: 9309 str r3, [sp, #36] ; 0x24 uint32_t i = 0, i_next = 0, i_next_next = 0; /* Iterating index into txt */ - 13f4e: 2600 movs r6, #0 - 13f50: 960c str r6, [sp, #48] ; 0x30 - 13f52: 960d str r6, [sp, #52] ; 0x34 + 13f36: 2600 movs r6, #0 + 13f38: 960c str r6, [sp, #48] ; 0x30 + 13f3a: 960d str r6, [sp, #52] ; 0x34 letter = _lv_txt_encoded_next(txt, &i_next); - 13f54: f8d9 3004 ldr.w r3, [r9, #4] - 13f58: a90c add r1, sp, #48 ; 0x30 - 13f5a: 4640 mov r0, r8 - 13f5c: 4798 blx r3 - 13f5e: 4604 mov r4, r0 + 13f3c: f8d9 3004 ldr.w r3, [r9, #4] + 13f40: a90c add r1, sp, #48 ; 0x30 + 13f42: 4640 mov r0, r8 + 13f44: 4798 blx r3 + 13f46: 4604 mov r4, r0 i_next_next = i_next; - 13f60: 9b0c ldr r3, [sp, #48] ; 0x30 - 13f62: 930d str r3, [sp, #52] ; 0x34 + 13f48: 9b0c ldr r3, [sp, #48] ; 0x30 + 13f4a: 930d str r3, [sp, #52] ; 0x34 uint32_t word_w = 0; - 13f64: 46b3 mov fp, r6 + 13f4c: 46b3 mov fp, r6 uint32_t break_index = NO_BREAK_FOUND; /* only used for "long" words */ - 13f66: f04f 37ff mov.w r7, #4294967295 + 13f4e: f04f 37ff mov.w r7, #4294967295 uint32_t word_len = 0; /* Number of characters in the transversed word */ - 13f6a: 9602 str r6, [sp, #8] + 13f52: 9602 str r6, [sp, #8] lv_coord_t cur_w = 0; /* Pixel Width of transversed string */ - 13f6c: 4635 mov r5, r6 + 13f54: 4635 mov r5, r6 uint32_t letter_next = 0; /* Letter at i_next */ - 13f6e: 9601 str r6, [sp, #4] - 13f70: e78c b.n 13e8c <_lv_txt_get_next_line+0xdc> + 13f56: 9601 str r6, [sp, #4] + 13f58: e78c b.n 13e74 <_lv_txt_get_next_line+0xdc> if(break_index == NO_BREAK_FOUND) { - 13f72: f1b7 3fff cmp.w r7, #4294967295 - 13f76: d0b5 beq.n 13ee4 <_lv_txt_get_next_line+0x134> + 13f5a: f1b7 3fff cmp.w r7, #4294967295 + 13f5e: d0b5 beq.n 13ecc <_lv_txt_get_next_line+0x134> if(force) return break_index; - 13f78: 9b0a ldr r3, [sp, #40] ; 0x28 - 13f7a: b13b cbz r3, 13f8c <_lv_txt_get_next_line+0x1dc> + 13f60: 9b0a ldr r3, [sp, #40] ; 0x28 + 13f62: b13b cbz r3, 13f74 <_lv_txt_get_next_line+0x1dc> if(i == 0) _lv_txt_encoded_next(txt, &i); // prevent inf loops - 13f7c: 9b0e ldr r3, [sp, #56] ; 0x38 - 13f7e: b95b cbnz r3, 13f98 <_lv_txt_get_next_line+0x1e8> - 13f80: 4b14 ldr r3, [pc, #80] ; (13fd4 <_lv_txt_get_next_line+0x224>) - 13f82: 685b ldr r3, [r3, #4] - 13f84: a90e add r1, sp, #56 ; 0x38 - 13f86: 9808 ldr r0, [sp, #32] - 13f88: 4798 blx r3 - 13f8a: e003 b.n 13f94 <_lv_txt_get_next_line+0x1e4> + 13f64: 9b0e ldr r3, [sp, #56] ; 0x38 + 13f66: b95b cbnz r3, 13f80 <_lv_txt_get_next_line+0x1e8> + 13f68: 4b14 ldr r3, [pc, #80] ; (13fbc <_lv_txt_get_next_line+0x224>) + 13f6a: 685b ldr r3, [r3, #4] + 13f6c: a90e add r1, sp, #56 ; 0x38 + 13f6e: 9808 ldr r0, [sp, #32] + 13f70: 4798 blx r3 + 13f72: e003 b.n 13f7c <_lv_txt_get_next_line+0x1e4> if(force) return break_index; - 13f8c: b2be uxth r6, r7 - 13f8e: e7b2 b.n 13ef6 <_lv_txt_get_next_line+0x146> + 13f74: b2be uxth r6, r7 + 13f76: e7b2 b.n 13ede <_lv_txt_get_next_line+0x146> i++; /* Include the following newline in the current line */ - 13f90: 3601 adds r6, #1 - 13f92: 960e str r6, [sp, #56] ; 0x38 + 13f78: 3601 adds r6, #1 + 13f7a: 960e str r6, [sp, #56] ; 0x38 if(i == 0) { - 13f94: 9b0e ldr r3, [sp, #56] ; 0x38 - 13f96: b113 cbz r3, 13f9e <_lv_txt_get_next_line+0x1ee> + 13f7c: 9b0e ldr r3, [sp, #56] ; 0x38 + 13f7e: b113 cbz r3, 13f86 <_lv_txt_get_next_line+0x1ee> return i; - 13f98: f8bd 0038 ldrh.w r0, [sp, #56] ; 0x38 - 13f9c: e00c b.n 13fb8 <_lv_txt_get_next_line+0x208> + 13f80: f8bd 0038 ldrh.w r0, [sp, #56] ; 0x38 + 13f84: e00c b.n 13fa0 <_lv_txt_get_next_line+0x208> _lv_txt_encoded_next(txt, &i); - 13f9e: 4b0d ldr r3, [pc, #52] ; (13fd4 <_lv_txt_get_next_line+0x224>) - 13fa0: 685b ldr r3, [r3, #4] - 13fa2: a90e add r1, sp, #56 ; 0x38 - 13fa4: 9808 ldr r0, [sp, #32] - 13fa6: 4798 blx r3 - 13fa8: e7f6 b.n 13f98 <_lv_txt_get_next_line+0x1e8> + 13f86: 4b0d ldr r3, [pc, #52] ; (13fbc <_lv_txt_get_next_line+0x224>) + 13f88: 685b ldr r3, [r3, #4] + 13f8a: a90e add r1, sp, #56 ; 0x38 + 13f8c: 9808 ldr r0, [sp, #32] + 13f8e: 4798 blx r3 + 13f90: e7f6 b.n 13f80 <_lv_txt_get_next_line+0x1e8> if(txt == NULL) return 0; - 13faa: 2000 movs r0, #0 - 13fac: e004 b.n 13fb8 <_lv_txt_get_next_line+0x208> + 13f92: 2000 movs r0, #0 + 13f94: e004 b.n 13fa0 <_lv_txt_get_next_line+0x208> if(font == NULL) return 0; - 13fae: 2000 movs r0, #0 - 13fb0: e002 b.n 13fb8 <_lv_txt_get_next_line+0x208> + 13f96: 2000 movs r0, #0 + 13f98: e002 b.n 13fa0 <_lv_txt_get_next_line+0x208> for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 13fb2: 2200 movs r2, #0 + 13f9a: 2200 movs r2, #0 if(txt[i] != '\0') i++; /*To go beyond `\n`*/ - 13fb4: 3201 adds r2, #1 + 13f9c: 3201 adds r2, #1 return i; - 13fb6: b290 uxth r0, r2 + 13f9e: b290 uxth r0, r2 } - 13fb8: b011 add sp, #68 ; 0x44 - 13fba: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 13fa0: b011 add sp, #68 ; 0x44 + 13fa2: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} for(i = 0; txt[i] != '\n' && txt[i] != '\r' && txt[i] != '\0'; i++) { - 13fbe: 2200 movs r2, #0 - 13fc0: e7f8 b.n 13fb4 <_lv_txt_get_next_line+0x204> - 13fc2: 2200 movs r2, #0 - 13fc4: e7f7 b.n 13fb6 <_lv_txt_get_next_line+0x206> - 13fc6: bf00 nop - 13fc8: 00010061 .word 0x00010061 - 13fcc: 00400009 .word 0x00400009 - 13fd0: 00013d69 .word 0x00013d69 - 13fd4: 20000054 .word 0x20000054 - 13fd8: 00029514 .word 0x00029514 - -00013fdc <_lv_txt_get_width>: -{ - 13fdc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 13fe0: b085 sub sp, #20 + 13fa6: 2200 movs r2, #0 + 13fa8: e7f8 b.n 13f9c <_lv_txt_get_next_line+0x204> + 13faa: 2200 movs r2, #0 + 13fac: e7f7 b.n 13f9e <_lv_txt_get_next_line+0x206> + 13fae: bf00 nop + 13fb0: 00010049 .word 0x00010049 + 13fb4: 00400009 .word 0x00400009 + 13fb8: 00013d51 .word 0x00013d51 + 13fbc: 20000054 .word 0x20000054 + 13fc0: 000294fc .word 0x000294fc + +00013fc4 <_lv_txt_get_width>: +{ + 13fc4: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 13fc8: b085 sub sp, #20 if(txt == NULL) return 0; - 13fe2: 2800 cmp r0, #0 - 13fe4: d040 beq.n 14068 <_lv_txt_get_width+0x8c> - 13fe6: 4605 mov r5, r0 + 13fca: 2800 cmp r0, #0 + 13fcc: d040 beq.n 14050 <_lv_txt_get_width+0x8c> + 13fce: 4605 mov r5, r0 if(font == NULL) return 0; - 13fe8: 2a00 cmp r2, #0 - 13fea: d03f beq.n 1406c <_lv_txt_get_width+0x90> + 13fd0: 2a00 cmp r2, #0 + 13fd2: d03f beq.n 14054 <_lv_txt_get_width+0x90> uint32_t i = 0; - 13fec: 2000 movs r0, #0 - 13fee: 9003 str r0, [sp, #12] + 13fd4: 2000 movs r0, #0 + 13fd6: 9003 str r0, [sp, #12] lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 13ff0: f88d 000b strb.w r0, [sp, #11] + 13fd8: f88d 000b strb.w r0, [sp, #11] if(length != 0) { - 13ff4: b149 cbz r1, 1400a <_lv_txt_get_width+0x2e> - 13ff6: 469b mov fp, r3 - 13ff8: 9201 str r2, [sp, #4] - 13ffa: 4689 mov r9, r1 - 13ffc: 2400 movs r4, #0 + 13fdc: b149 cbz r1, 13ff2 <_lv_txt_get_width+0x2e> + 13fde: 469b mov fp, r3 + 13fe0: 9201 str r2, [sp, #4] + 13fe2: 4689 mov r9, r1 + 13fe4: 2400 movs r4, #0 uint32_t letter = _lv_txt_encoded_next(txt, &i); - 13ffe: 4f1c ldr r7, [pc, #112] ; (14070 <_lv_txt_get_width+0x94>) + 13fe6: 4f1c ldr r7, [pc, #112] ; (14058 <_lv_txt_get_width+0x94>) if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 14000: f89d a038 ldrb.w sl, [sp, #56] ; 0x38 - 14004: f00a 0a01 and.w sl, sl, #1 - 14008: e00c b.n 14024 <_lv_txt_get_width+0x48> + 13fe8: f89d a038 ldrb.w sl, [sp, #56] ; 0x38 + 13fec: f00a 0a01 and.w sl, sl, #1 + 13ff0: e00c b.n 1400c <_lv_txt_get_width+0x48> lv_coord_t width = 0; - 1400a: 4604 mov r4, r0 - 1400c: e028 b.n 14060 <_lv_txt_get_width+0x84> + 13ff2: 4604 mov r4, r0 + 13ff4: e028 b.n 14048 <_lv_txt_get_width+0x84> lv_coord_t char_width = lv_font_get_glyph_width(font, letter, letter_next); - 1400e: 4642 mov r2, r8 - 14010: 4631 mov r1, r6 - 14012: 9801 ldr r0, [sp, #4] - 14014: 4b17 ldr r3, [pc, #92] ; (14074 <_lv_txt_get_width+0x98>) - 14016: 4798 blx r3 + 13ff6: 4642 mov r2, r8 + 13ff8: 4631 mov r1, r6 + 13ffa: 9801 ldr r0, [sp, #4] + 13ffc: 4b17 ldr r3, [pc, #92] ; (1405c <_lv_txt_get_width+0x98>) + 13ffe: 4798 blx r3 if(char_width > 0) { - 14018: b203 sxth r3, r0 - 1401a: 2b00 cmp r3, #0 - 1401c: dd02 ble.n 14024 <_lv_txt_get_width+0x48> + 14000: b203 sxth r3, r0 + 14002: 2b00 cmp r3, #0 + 14004: dd02 ble.n 1400c <_lv_txt_get_width+0x48> width += letter_space; - 1401e: 445c add r4, fp - 14020: 4404 add r4, r0 - 14022: b224 sxth r4, r4 + 14006: 445c add r4, fp + 14008: 4404 add r4, r0 + 1400a: b224 sxth r4, r4 while(i < length) { - 14024: 9b03 ldr r3, [sp, #12] - 14026: 4599 cmp r9, r3 - 14028: d915 bls.n 14056 <_lv_txt_get_width+0x7a> + 1400c: 9b03 ldr r3, [sp, #12] + 1400e: 4599 cmp r9, r3 + 14010: d915 bls.n 1403e <_lv_txt_get_width+0x7a> uint32_t letter = _lv_txt_encoded_next(txt, &i); - 1402a: 687b ldr r3, [r7, #4] - 1402c: a903 add r1, sp, #12 - 1402e: 4628 mov r0, r5 - 14030: 4798 blx r3 - 14032: 4606 mov r6, r0 + 14012: 687b ldr r3, [r7, #4] + 14014: a903 add r1, sp, #12 + 14016: 4628 mov r0, r5 + 14018: 4798 blx r3 + 1401a: 4606 mov r6, r0 uint32_t letter_next = _lv_txt_encoded_next(&txt[i], NULL); - 14034: 687b ldr r3, [r7, #4] - 14036: 2100 movs r1, #0 - 14038: 9803 ldr r0, [sp, #12] - 1403a: 4428 add r0, r5 - 1403c: 4798 blx r3 - 1403e: 4680 mov r8, r0 + 1401c: 687b ldr r3, [r7, #4] + 1401e: 2100 movs r1, #0 + 14020: 9803 ldr r0, [sp, #12] + 14022: 4428 add r0, r5 + 14024: 4798 blx r3 + 14026: 4680 mov r8, r0 if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 14040: f1ba 0f00 cmp.w sl, #0 - 14044: d0e3 beq.n 1400e <_lv_txt_get_width+0x32> + 14028: f1ba 0f00 cmp.w sl, #0 + 1402c: d0e3 beq.n 13ff6 <_lv_txt_get_width+0x32> if(_lv_txt_is_cmd(&cmd_state, letter) != false) { - 14046: 4631 mov r1, r6 - 14048: f10d 000b add.w r0, sp, #11 - 1404c: 4b0a ldr r3, [pc, #40] ; (14078 <_lv_txt_get_width+0x9c>) - 1404e: 4798 blx r3 - 14050: 2800 cmp r0, #0 - 14052: d1e7 bne.n 14024 <_lv_txt_get_width+0x48> - 14054: e7db b.n 1400e <_lv_txt_get_width+0x32> + 1402e: 4631 mov r1, r6 + 14030: f10d 000b add.w r0, sp, #11 + 14034: 4b0a ldr r3, [pc, #40] ; (14060 <_lv_txt_get_width+0x9c>) + 14036: 4798 blx r3 + 14038: 2800 cmp r0, #0 + 1403a: d1e7 bne.n 1400c <_lv_txt_get_width+0x48> + 1403c: e7db b.n 13ff6 <_lv_txt_get_width+0x32> if(width > 0) { - 14056: 2c00 cmp r4, #0 - 14058: dd02 ble.n 14060 <_lv_txt_get_width+0x84> + 1403e: 2c00 cmp r4, #0 + 14040: dd02 ble.n 14048 <_lv_txt_get_width+0x84> width -= letter_space; /*Trim the last letter space. Important if the text is center - 1405a: eba4 040b sub.w r4, r4, fp - 1405e: b224 sxth r4, r4 + 14042: eba4 040b sub.w r4, r4, fp + 14046: b224 sxth r4, r4 } - 14060: 4620 mov r0, r4 - 14062: b005 add sp, #20 - 14064: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 14048: 4620 mov r0, r4 + 1404a: b005 add sp, #20 + 1404c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(txt == NULL) return 0; - 14068: 2400 movs r4, #0 - 1406a: e7f9 b.n 14060 <_lv_txt_get_width+0x84> + 14050: 2400 movs r4, #0 + 14052: e7f9 b.n 14048 <_lv_txt_get_width+0x84> if(font == NULL) return 0; - 1406c: 2400 movs r4, #0 - 1406e: e7f7 b.n 14060 <_lv_txt_get_width+0x84> - 14070: 20000054 .word 0x20000054 - 14074: 00010061 .word 0x00010061 - 14078: 00013d69 .word 0x00013d69 - -0001407c <_lv_txt_get_size>: -{ - 1407c: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 14080: b089 sub sp, #36 ; 0x24 - 14082: f9bd 4048 ldrsh.w r4, [sp, #72] ; 0x48 - 14086: 9406 str r4, [sp, #24] - 14088: f9bd 504c ldrsh.w r5, [sp, #76] ; 0x4c - 1408c: f89d 8050 ldrb.w r8, [sp, #80] ; 0x50 + 14054: 2400 movs r4, #0 + 14056: e7f7 b.n 14048 <_lv_txt_get_width+0x84> + 14058: 20000054 .word 0x20000054 + 1405c: 00010049 .word 0x00010049 + 14060: 00013d51 .word 0x00013d51 + +00014064 <_lv_txt_get_size>: +{ + 14064: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 14068: b089 sub sp, #36 ; 0x24 + 1406a: f9bd 4048 ldrsh.w r4, [sp, #72] ; 0x48 + 1406e: 9406 str r4, [sp, #24] + 14070: f9bd 504c ldrsh.w r5, [sp, #76] ; 0x4c + 14074: f89d 8050 ldrb.w r8, [sp, #80] ; 0x50 size_res->x = 0; - 14090: 2400 movs r4, #0 - 14092: 8004 strh r4, [r0, #0] + 14078: 2400 movs r4, #0 + 1407a: 8004 strh r4, [r0, #0] size_res->y = 0; - 14094: 8044 strh r4, [r0, #2] + 1407c: 8044 strh r4, [r0, #2] if(text == NULL) return; - 14096: 2900 cmp r1, #0 - 14098: d05b beq.n 14152 <_lv_txt_get_size+0xd6> - 1409a: 460f mov r7, r1 + 1407e: 2900 cmp r1, #0 + 14080: d05b beq.n 1413a <_lv_txt_get_size+0xd6> + 14082: 460f mov r7, r1 if(font == NULL) return; - 1409c: 2a00 cmp r2, #0 - 1409e: d058 beq.n 14152 <_lv_txt_get_size+0xd6> - 140a0: 9303 str r3, [sp, #12] - 140a2: 4611 mov r1, r2 - 140a4: 9202 str r2, [sp, #8] - 140a6: 4604 mov r4, r0 + 14084: 2a00 cmp r2, #0 + 14086: d058 beq.n 1413a <_lv_txt_get_size+0xd6> + 14088: 9303 str r3, [sp, #12] + 1408a: 4611 mov r1, r2 + 1408c: 9202 str r2, [sp, #8] + 1408e: 4604 mov r4, r0 if(flag & LV_TXT_FLAG_EXPAND) max_width = LV_COORD_MAX; - 140a8: f008 0302 and.w r3, r8, #2 - 140ac: f647 4218 movw r2, #31768 ; 0x7c18 - 140b0: 2b00 cmp r3, #0 - 140b2: bf18 it ne - 140b4: 4615 movne r5, r2 - 140b6: 9504 str r5, [sp, #16] + 14090: f008 0302 and.w r3, r8, #2 + 14094: f647 4218 movw r2, #31768 ; 0x7c18 + 14098: 2b00 cmp r3, #0 + 1409a: bf18 it ne + 1409c: 4615 movne r5, r2 + 1409e: 9504 str r5, [sp, #16] * @param font_p pointer to a font * @return the height of a font */ static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p) { return font_p->line_height; - 140b8: f9b1 2008 ldrsh.w r2, [r1, #8] - 140bc: 9207 str r2, [sp, #28] + 140a0: f9b1 2008 ldrsh.w r2, [r1, #8] + 140a4: 9207 str r2, [sp, #28] uint16_t letter_height = lv_font_get_line_height(font); - 140be: fa1f fa82 uxth.w sl, r2 + 140a6: fa1f fa82 uxth.w sl, r2 while(text[line_start] != '\0') { - 140c2: 783b ldrb r3, [r7, #0] - 140c4: 2b00 cmp r3, #0 - 140c6: d04c beq.n 14162 <_lv_txt_get_size+0xe6> - 140c8: 463e mov r6, r7 - 140ca: 2500 movs r5, #0 + 140aa: 783b ldrb r3, [r7, #0] + 140ac: 2b00 cmp r3, #0 + 140ae: d04c beq.n 1414a <_lv_txt_get_size+0xe6> + 140b0: 463e mov r6, r7 + 140b2: 2500 movs r5, #0 new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag); - 140cc: f8df b0b0 ldr.w fp, [pc, #176] ; 14180 <_lv_txt_get_size+0x104> + 140b4: f8df b0b0 ldr.w fp, [pc, #176] ; 14168 <_lv_txt_get_size+0x104> if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) { - 140d0: 9b06 ldr r3, [sp, #24] - 140d2: 449a add sl, r3 - 140d4: fa1f f98a uxth.w r9, sl - 140d8: 4647 mov r7, r8 - 140da: 46b0 mov r8, r6 + 140b8: 9b06 ldr r3, [sp, #24] + 140ba: 449a add sl, r3 + 140bc: fa1f f98a uxth.w r9, sl + 140c0: 4647 mov r7, r8 + 140c2: 46b0 mov r8, r6 new_line_start += _lv_txt_get_next_line(&text[line_start], font, letter_space, max_width, flag); - 140dc: 9700 str r7, [sp, #0] - 140de: 9b04 ldr r3, [sp, #16] - 140e0: 9a03 ldr r2, [sp, #12] - 140e2: 9902 ldr r1, [sp, #8] - 140e4: 4630 mov r0, r6 - 140e6: 47d8 blx fp - 140e8: 4405 add r5, r0 + 140c4: 9700 str r7, [sp, #0] + 140c6: 9b04 ldr r3, [sp, #16] + 140c8: 9a03 ldr r2, [sp, #12] + 140ca: 9902 ldr r1, [sp, #8] + 140cc: 4630 mov r0, r6 + 140ce: 47d8 blx fp + 140d0: 4405 add r5, r0 if((unsigned long)size_res->y + (unsigned long)letter_height + (unsigned long)line_space > LV_MAX_OF(lv_coord_t)) { - 140ea: f9b4 3002 ldrsh.w r3, [r4, #2] - 140ee: eb0a 0203 add.w r2, sl, r3 - 140f2: f5b2 4f00 cmp.w r2, #32768 ; 0x8000 - 140f6: d224 bcs.n 14142 <_lv_txt_get_size+0xc6> - 140f8: f8cd 9014 str.w r9, [sp, #20] + 140d2: f9b4 3002 ldrsh.w r3, [r4, #2] + 140d6: eb0a 0203 add.w r2, sl, r3 + 140da: f5b2 4f00 cmp.w r2, #32768 ; 0x8000 + 140de: d224 bcs.n 1412a <_lv_txt_get_size+0xc6> + 140e0: f8cd 9014 str.w r9, [sp, #20] size_res->y += line_space; - 140fc: 444b add r3, r9 - 140fe: 8063 strh r3, [r4, #2] + 140e4: 444b add r3, r9 + 140e6: 8063 strh r3, [r4, #2] lv_coord_t act_line_length = _lv_txt_get_width(&text[line_start], new_line_start - line_start, font, letter_space, - 14100: 9700 str r7, [sp, #0] - 14102: 9b03 ldr r3, [sp, #12] - 14104: 9a02 ldr r2, [sp, #8] - 14106: 4601 mov r1, r0 - 14108: 4630 mov r0, r6 - 1410a: 4e18 ldr r6, [pc, #96] ; (1416c <_lv_txt_get_size+0xf0>) - 1410c: 47b0 blx r6 + 140e8: 9700 str r7, [sp, #0] + 140ea: 9b03 ldr r3, [sp, #12] + 140ec: 9a02 ldr r2, [sp, #8] + 140ee: 4601 mov r1, r0 + 140f0: 4630 mov r0, r6 + 140f2: 4e18 ldr r6, [pc, #96] ; (14154 <_lv_txt_get_size+0xf0>) + 140f4: 47b0 blx r6 size_res->x = LV_MATH_MAX(act_line_length, size_res->x); - 1410e: f9b4 3000 ldrsh.w r3, [r4] - 14112: 4298 cmp r0, r3 - 14114: bfb8 it lt - 14116: 4618 movlt r0, r3 - 14118: 8020 strh r0, [r4, #0] + 140f6: f9b4 3000 ldrsh.w r3, [r4] + 140fa: 4298 cmp r0, r3 + 140fc: bfb8 it lt + 140fe: 4618 movlt r0, r3 + 14100: 8020 strh r0, [r4, #0] while(text[line_start] != '\0') { - 1411a: eb08 0605 add.w r6, r8, r5 - 1411e: f818 3005 ldrb.w r3, [r8, r5] - 14122: 2b00 cmp r3, #0 - 14124: d1da bne.n 140dc <_lv_txt_get_size+0x60> + 14102: eb08 0605 add.w r6, r8, r5 + 14106: f818 3005 ldrb.w r3, [r8, r5] + 1410a: 2b00 cmp r3, #0 + 1410c: d1da bne.n 140c4 <_lv_txt_get_size+0x60> if((line_start != 0) && (text[line_start - 1] == '\n' || text[line_start - 1] == '\r')) { - 14126: b12d cbz r5, 14134 <_lv_txt_get_size+0xb8> - 14128: f816 3c01 ldrb.w r3, [r6, #-1] - 1412c: 2b0a cmp r3, #10 - 1412e: d013 beq.n 14158 <_lv_txt_get_size+0xdc> - 14130: 2b0d cmp r3, #13 - 14132: d011 beq.n 14158 <_lv_txt_get_size+0xdc> + 1410e: b12d cbz r5, 1411c <_lv_txt_get_size+0xb8> + 14110: f816 3c01 ldrb.w r3, [r6, #-1] + 14114: 2b0a cmp r3, #10 + 14116: d013 beq.n 14140 <_lv_txt_get_size+0xdc> + 14118: 2b0d cmp r3, #13 + 1411a: d011 beq.n 14140 <_lv_txt_get_size+0xdc> if(size_res->y == 0) - 14134: f9b4 3002 ldrsh.w r3, [r4, #2] - 14138: b19b cbz r3, 14162 <_lv_txt_get_size+0xe6> + 1411c: f9b4 3002 ldrsh.w r3, [r4, #2] + 14120: b19b cbz r3, 1414a <_lv_txt_get_size+0xe6> size_res->y -= line_space; - 1413a: 9a06 ldr r2, [sp, #24] - 1413c: 1a9b subs r3, r3, r2 - 1413e: 8063 strh r3, [r4, #2] - 14140: e007 b.n 14152 <_lv_txt_get_size+0xd6> + 14122: 9a06 ldr r2, [sp, #24] + 14124: 1a9b subs r3, r3, r2 + 14126: 8063 strh r3, [r4, #2] + 14128: e007 b.n 1413a <_lv_txt_get_size+0xd6> LV_LOG_WARN("lv_txt_get_size: integer overflow while calculating text height"); - 14142: 4b0b ldr r3, [pc, #44] ; (14170 <_lv_txt_get_size+0xf4>) - 14144: 9300 str r3, [sp, #0] - 14146: 4b0b ldr r3, [pc, #44] ; (14174 <_lv_txt_get_size+0xf8>) - 14148: 2271 movs r2, #113 ; 0x71 - 1414a: 490b ldr r1, [pc, #44] ; (14178 <_lv_txt_get_size+0xfc>) - 1414c: 2002 movs r0, #2 - 1414e: 4c0b ldr r4, [pc, #44] ; (1417c <_lv_txt_get_size+0x100>) - 14150: 47a0 blx r4 -} - 14152: b009 add sp, #36 ; 0x24 - 14154: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 1412a: 4b0b ldr r3, [pc, #44] ; (14158 <_lv_txt_get_size+0xf4>) + 1412c: 9300 str r3, [sp, #0] + 1412e: 4b0b ldr r3, [pc, #44] ; (1415c <_lv_txt_get_size+0xf8>) + 14130: 2271 movs r2, #113 ; 0x71 + 14132: 490b ldr r1, [pc, #44] ; (14160 <_lv_txt_get_size+0xfc>) + 14134: 2002 movs r0, #2 + 14136: 4c0b ldr r4, [pc, #44] ; (14164 <_lv_txt_get_size+0x100>) + 14138: 47a0 blx r4 +} + 1413a: b009 add sp, #36 ; 0x24 + 1413c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} size_res->y += letter_height + line_space; - 14158: 8863 ldrh r3, [r4, #2] - 1415a: 9a05 ldr r2, [sp, #20] - 1415c: 441a add r2, r3 - 1415e: 8062 strh r2, [r4, #2] - 14160: e7e8 b.n 14134 <_lv_txt_get_size+0xb8> + 14140: 8863 ldrh r3, [r4, #2] + 14142: 9a05 ldr r2, [sp, #20] + 14144: 441a add r2, r3 + 14146: 8062 strh r2, [r4, #2] + 14148: e7e8 b.n 1411c <_lv_txt_get_size+0xb8> size_res->y = letter_height; - 14162: f8bd 301c ldrh.w r3, [sp, #28] - 14166: 8063 strh r3, [r4, #2] - 14168: e7f3 b.n 14152 <_lv_txt_get_size+0xd6> - 1416a: bf00 nop - 1416c: 00013fdd .word 0x00013fdd - 14170: 00029544 .word 0x00029544 - 14174: 00029500 .word 0x00029500 - 14178: 0002951c .word 0x0002951c - 1417c: 0001225d .word 0x0001225d - 14180: 00013db1 .word 0x00013db1 - -00014184 <_lv_utils_bsearch>: + 1414a: f8bd 301c ldrh.w r3, [sp, #28] + 1414e: 8063 strh r3, [r4, #2] + 14150: e7f3 b.n 1413a <_lv_txt_get_size+0xd6> + 14152: bf00 nop + 14154: 00013fc5 .word 0x00013fc5 + 14158: 0002952c .word 0x0002952c + 1415c: 000294e8 .word 0x000294e8 + 14160: 00029504 .word 0x00029504 + 14164: 00012245 .word 0x00012245 + 14168: 00013d99 .word 0x00013d99 + +0001416c <_lv_utils_bsearch>: * * @return a pointer to a matching item, or NULL if none exists. */ void * _lv_utils_bsearch(const void * key, const void * base, uint32_t n, uint32_t size, int32_t (*cmp)(const void * pRef, const void * pElement)) { - 14184: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 14188: 4681 mov r9, r0 - 1418a: 468a mov sl, r1 - 1418c: 461f mov r7, r3 - 1418e: f8dd 8020 ldr.w r8, [sp, #32] + 1416c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 14170: 4681 mov r9, r0 + 14172: 468a mov sl, r1 + 14174: 461f mov r7, r3 + 14176: f8dd 8020 ldr.w r8, [sp, #32] const char * middle; int32_t c; for(middle = base; n != 0;) { - 14192: 4614 mov r4, r2 - 14194: b932 cbnz r2, 141a4 <_lv_utils_bsearch+0x20> + 1417a: 4614 mov r4, r2 + 1417c: b932 cbnz r2, 1418c <_lv_utils_bsearch+0x20> } else { return (char *)middle; } } return NULL; - 14196: 2000 movs r0, #0 - 14198: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1417e: 2000 movs r0, #0 + 14180: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} else if(c < 0) { - 1419c: 2800 cmp r0, #0 - 1419e: da14 bge.n 141ca <_lv_utils_bsearch+0x46> + 14184: 2800 cmp r0, #0 + 14186: da14 bge.n 141b2 <_lv_utils_bsearch+0x46> n /= 2; - 141a0: 462c mov r4, r5 + 14188: 462c mov r4, r5 for(middle = base; n != 0;) { - 141a2: b17c cbz r4, 141c4 <_lv_utils_bsearch+0x40> + 1418a: b17c cbz r4, 141ac <_lv_utils_bsearch+0x40> middle += (n / 2) * size; - 141a4: 0865 lsrs r5, r4, #1 - 141a6: fb07 a605 mla r6, r7, r5, sl + 1418c: 0865 lsrs r5, r4, #1 + 1418e: fb07 a605 mla r6, r7, r5, sl if((c = (*cmp)(key, middle)) > 0) { - 141aa: 4631 mov r1, r6 - 141ac: 4648 mov r0, r9 - 141ae: 47c0 blx r8 - 141b0: 2800 cmp r0, #0 - 141b2: ddf3 ble.n 1419c <_lv_utils_bsearch+0x18> + 14192: 4631 mov r1, r6 + 14194: 4648 mov r0, r9 + 14196: 47c0 blx r8 + 14198: 2800 cmp r0, #0 + 1419a: ddf3 ble.n 14184 <_lv_utils_bsearch+0x18> n = (n / 2) - ((n & 1) == 0); - 141b4: f084 0401 eor.w r4, r4, #1 - 141b8: f004 0401 and.w r4, r4, #1 - 141bc: 1b2c subs r4, r5, r4 + 1419c: f084 0401 eor.w r4, r4, #1 + 141a0: f004 0401 and.w r4, r4, #1 + 141a4: 1b2c subs r4, r5, r4 base = (middle += size); - 141be: eb06 0a07 add.w sl, r6, r7 - 141c2: e7ee b.n 141a2 <_lv_utils_bsearch+0x1e> + 141a6: eb06 0a07 add.w sl, r6, r7 + 141aa: e7ee b.n 1418a <_lv_utils_bsearch+0x1e> return NULL; - 141c4: 2000 movs r0, #0 - 141c6: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 141ac: 2000 movs r0, #0 + 141ae: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} middle += (n / 2) * size; - 141ca: 4630 mov r0, r6 + 141b2: 4630 mov r0, r6 } - 141cc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 141b4: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -000141d0 : +000141b8 : * From now, all the created objects will use styles from this theme by default * @param th pointer to theme (return value of: 'lv_theme_init_xxx()') */ void lv_theme_set_act(lv_theme_t * th) { act_theme = th; - 141d0: 4b01 ldr r3, [pc, #4] ; (141d8 ) - 141d2: 6018 str r0, [r3, #0] - 141d4: 4770 bx lr - 141d6: bf00 nop - 141d8: 20006bd4 .word 0x20006bd4 + 141b8: 4b01 ldr r3, [pc, #4] ; (141c0 ) + 141ba: 6018 str r0, [r3, #0] + 141bc: 4770 bx lr + 141be: bf00 nop + 141c0: 20006bd4 .word 0x20006bd4 -000141dc : +000141c4 : * Get the normal font of the theme * @return pointer to the font */ const lv_font_t * lv_theme_get_font_normal(void) { return act_theme->font_normal; - 141dc: 4b01 ldr r3, [pc, #4] ; (141e4 ) - 141de: 681b ldr r3, [r3, #0] + 141c4: 4b01 ldr r3, [pc, #4] ; (141cc ) + 141c6: 681b ldr r3, [r3, #0] } - 141e0: 68d8 ldr r0, [r3, #12] - 141e2: 4770 bx lr - 141e4: 20006bd4 .word 0x20006bd4 + 141c8: 68d8 ldr r0, [r3, #12] + 141ca: 4770 bx lr + 141cc: 20006bd4 .word 0x20006bd4 -000141e8 : +000141d0 : { return act_theme->flags; } void lv_theme_apply(lv_obj_t * obj, lv_theme_style_t name) { - 141e8: b508 push {r3, lr} + 141d0: b508 push {r3, lr} act_theme->apply_xcb(obj, name); - 141ea: 4b02 ldr r3, [pc, #8] ; (141f4 ) - 141ec: 681b ldr r3, [r3, #0] - 141ee: 681b ldr r3, [r3, #0] - 141f0: 4798 blx r3 - 141f2: bd08 pop {r3, pc} - 141f4: 20006bd4 .word 0x20006bd4 - -000141f8 : + 141d2: 4b02 ldr r3, [pc, #8] ; (141dc ) + 141d4: 681b ldr r3, [r3, #0] + 141d6: 681b ldr r3, [r3, #0] + 141d8: 4798 blx r3 + 141da: bd08 pop {r3, pc} + 141dc: 20006bd4 .word 0x20006bd4 + +000141e0 : return &theme; } static void theme_apply(lv_obj_t * obj, lv_theme_style_t name) { - 141f8: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 141fc: 4604 mov r4, r0 + 141e0: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 141e4: 4604 mov r4, r0 lv_style_list_t * list; switch(name) { - 141fe: 3901 subs r1, #1 - 14200: 2927 cmp r1, #39 ; 0x27 - 14202: d834 bhi.n 1426e - 14204: e8df f011 tbh [pc, r1, lsl #1] - 14208: 00390028 .word 0x00390028 - 1420c: 00a100ec .word 0x00a100ec - 14210: 00600053 .word 0x00600053 - 14214: 00d803a3 .word 0x00d803a3 - 14218: 02b20144 .word 0x02b20144 - 1421c: 03cc0046 .word 0x03cc0046 - 14220: 03fe0273 .word 0x03fe0273 - 14224: 00e000dc .word 0x00e000dc - 14228: 00e40081 .word 0x00e40081 - 1422c: 00e80193 .word 0x00e80193 - 14230: 02660247 .word 0x02660247 - 14234: 016a03e3 .word 0x016a03e3 - 14238: 023f017c .word 0x023f017c - 1423c: 022301a0 .word 0x022301a0 - 14240: 0375011f .word 0x0375011f - 14244: 01080391 .word 0x01080391 - 14248: 02e000b8 .word 0x02e000b8 - 1424c: 01f401c9 .word 0x01f401c9 - 14250: 02040347 .word 0x02040347 - 14254: 033a0312 .word 0x033a0312 + 141e6: 3901 subs r1, #1 + 141e8: 2927 cmp r1, #39 ; 0x27 + 141ea: d834 bhi.n 14256 + 141ec: e8df f011 tbh [pc, r1, lsl #1] + 141f0: 00390028 .word 0x00390028 + 141f4: 00a100ec .word 0x00a100ec + 141f8: 00600053 .word 0x00600053 + 141fc: 00d803a3 .word 0x00d803a3 + 14200: 02b20144 .word 0x02b20144 + 14204: 03cc0046 .word 0x03cc0046 + 14208: 03fe0273 .word 0x03fe0273 + 1420c: 00e000dc .word 0x00e000dc + 14210: 00e40081 .word 0x00e40081 + 14214: 00e80193 .word 0x00e80193 + 14218: 02660247 .word 0x02660247 + 1421c: 016a03e3 .word 0x016a03e3 + 14220: 023f017c .word 0x023f017c + 14224: 022301a0 .word 0x022301a0 + 14228: 0375011f .word 0x0375011f + 1422c: 01080391 .word 0x01080391 + 14230: 02e000b8 .word 0x02e000b8 + 14234: 01f401c9 .word 0x01f401c9 + 14238: 02040347 .word 0x02040347 + 1423c: 033a0312 .word 0x033a0312 case LV_THEME_NONE: break; case LV_THEME_SCR: lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 14258: 2100 movs r1, #0 - 1425a: 4b9b ldr r3, [pc, #620] ; (144c8 ) - 1425c: 4798 blx r3 + 14240: 2100 movs r1, #0 + 14242: 4b9b ldr r3, [pc, #620] ; (144b0 ) + 14244: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN); - 1425e: 2100 movs r1, #0 - 14260: 4620 mov r0, r4 - 14262: 4b9a ldr r3, [pc, #616] ; (144cc ) - 14264: 4798 blx r3 + 14246: 2100 movs r1, #0 + 14248: 4620 mov r0, r4 + 1424a: 4b9a ldr r3, [pc, #616] ; (144b4 ) + 1424c: 4798 blx r3 _lv_style_list_add_style(list, &styles->scr); - 14266: 4b9a ldr r3, [pc, #616] ; (144d0 ) - 14268: 6819 ldr r1, [r3, #0] - 1426a: 4b9a ldr r3, [pc, #616] ; (144d4 ) - 1426c: 4798 blx r3 + 1424e: 4b9a ldr r3, [pc, #616] ; (144b8 ) + 14250: 6819 ldr r1, [r3, #0] + 14252: 4b9a ldr r3, [pc, #616] ; (144bc ) + 14254: 4798 blx r3 #endif default: break; } lv_obj_refresh_style(obj, LV_STYLE_PROP_ALL); - 1426e: 21ff movs r1, #255 ; 0xff - 14270: 4620 mov r0, r4 - 14272: 4b99 ldr r3, [pc, #612] ; (144d8 ) - 14274: 4798 blx r3 - 14276: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 14256: 21ff movs r1, #255 ; 0xff + 14258: 4620 mov r0, r4 + 1425a: 4b99 ldr r3, [pc, #612] ; (144c0 ) + 1425c: 4798 blx r3 + 1425e: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 1427a: 2100 movs r1, #0 - 1427c: 4b92 ldr r3, [pc, #584] ; (144c8 ) - 1427e: 4798 blx r3 + 14262: 2100 movs r1, #0 + 14264: 4b92 ldr r3, [pc, #584] ; (144b0 ) + 14266: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN); - 14280: 2100 movs r1, #0 - 14282: 4620 mov r0, r4 - 14284: 4b91 ldr r3, [pc, #580] ; (144cc ) - 14286: 4798 blx r3 + 14268: 2100 movs r1, #0 + 1426a: 4620 mov r0, r4 + 1426c: 4b91 ldr r3, [pc, #580] ; (144b4 ) + 1426e: 4798 blx r3 _lv_style_list_add_style(list, &styles->bg); - 14288: 4b91 ldr r3, [pc, #580] ; (144d0 ) - 1428a: 6819 ldr r1, [r3, #0] - 1428c: 3104 adds r1, #4 - 1428e: 4b91 ldr r3, [pc, #580] ; (144d4 ) - 14290: 4798 blx r3 + 14270: 4b91 ldr r3, [pc, #580] ; (144b8 ) + 14272: 6819 ldr r1, [r3, #0] + 14274: 3104 adds r1, #4 + 14276: 4b91 ldr r3, [pc, #580] ; (144bc ) + 14278: 4798 blx r3 break; - 14292: e7ec b.n 1426e + 1427a: e7ec b.n 14256 lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN); - 14294: 2100 movs r1, #0 - 14296: 4b8c ldr r3, [pc, #560] ; (144c8 ) - 14298: 4798 blx r3 + 1427c: 2100 movs r1, #0 + 1427e: 4b8c ldr r3, [pc, #560] ; (144b0 ) + 14280: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_CONT_PART_MAIN); - 1429a: 2100 movs r1, #0 - 1429c: 4620 mov r0, r4 - 1429e: 4b8b ldr r3, [pc, #556] ; (144cc ) - 142a0: 4798 blx r3 + 14282: 2100 movs r1, #0 + 14284: 4620 mov r0, r4 + 14286: 4b8b ldr r3, [pc, #556] ; (144b4 ) + 14288: 4798 blx r3 _lv_style_list_add_style(list, &styles->bg); - 142a2: 4b8b ldr r3, [pc, #556] ; (144d0 ) - 142a4: 6819 ldr r1, [r3, #0] - 142a6: 3104 adds r1, #4 - 142a8: 4b8a ldr r3, [pc, #552] ; (144d4 ) - 142aa: 4798 blx r3 + 1428a: 4b8b ldr r3, [pc, #556] ; (144b8 ) + 1428c: 6819 ldr r1, [r3, #0] + 1428e: 3104 adds r1, #4 + 14290: 4b8a ldr r3, [pc, #552] ; (144bc ) + 14292: 4798 blx r3 break; - 142ac: e7df b.n 1426e + 14294: e7df b.n 14256 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 142ae: 2100 movs r1, #0 - 142b0: 4b85 ldr r3, [pc, #532] ; (144c8 ) - 142b2: 4798 blx r3 + 14296: 2100 movs r1, #0 + 14298: 4b85 ldr r3, [pc, #532] ; (144b0 ) + 1429a: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 142b4: 2100 movs r1, #0 - 142b6: 4620 mov r0, r4 - 142b8: 4b84 ldr r3, [pc, #528] ; (144cc ) - 142ba: 4798 blx r3 + 1429c: 2100 movs r1, #0 + 1429e: 4620 mov r0, r4 + 142a0: 4b84 ldr r3, [pc, #528] ; (144b4 ) + 142a2: 4798 blx r3 _lv_style_list_add_style(list, &styles->btn); - 142bc: 4b84 ldr r3, [pc, #528] ; (144d0 ) - 142be: 6819 ldr r1, [r3, #0] - 142c0: 3110 adds r1, #16 - 142c2: 4b84 ldr r3, [pc, #528] ; (144d4 ) - 142c4: 4798 blx r3 + 142a4: 4b84 ldr r3, [pc, #528] ; (144b8 ) + 142a6: 6819 ldr r1, [r3, #0] + 142a8: 3110 adds r1, #16 + 142aa: 4b84 ldr r3, [pc, #528] ; (144bc ) + 142ac: 4798 blx r3 break; - 142c6: e7d2 b.n 1426e + 142ae: e7d2 b.n 14256 lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BG); - 142c8: 2100 movs r1, #0 - 142ca: f8df 81fc ldr.w r8, [pc, #508] ; 144c8 - 142ce: 47c0 blx r8 + 142b0: 2100 movs r1, #0 + 142b2: f8df 81fc ldr.w r8, [pc, #508] ; 144b0 + 142b6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BG); - 142d0: 2100 movs r1, #0 - 142d2: 4620 mov r0, r4 - 142d4: 4f7d ldr r7, [pc, #500] ; (144cc ) - 142d6: 47b8 blx r7 - 142d8: 4681 mov r9, r0 + 142b8: 2100 movs r1, #0 + 142ba: 4620 mov r0, r4 + 142bc: 4f7d ldr r7, [pc, #500] ; (144b4 ) + 142be: 47b8 blx r7 + 142c0: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 142da: 4e7d ldr r6, [pc, #500] ; (144d0 ) - 142dc: 6831 ldr r1, [r6, #0] - 142de: 3104 adds r1, #4 - 142e0: 4d7c ldr r5, [pc, #496] ; (144d4 ) - 142e2: 47a8 blx r5 + 142c2: 4e7d ldr r6, [pc, #500] ; (144b8 ) + 142c4: 6831 ldr r1, [r6, #0] + 142c6: 3104 adds r1, #4 + 142c8: 4d7c ldr r5, [pc, #496] ; (144bc ) + 142ca: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 142e4: 6831 ldr r1, [r6, #0] - 142e6: 3118 adds r1, #24 - 142e8: 4648 mov r0, r9 - 142ea: 47a8 blx r5 + 142cc: 6831 ldr r1, [r6, #0] + 142ce: 3118 adds r1, #24 + 142d0: 4648 mov r0, r9 + 142d2: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BTN); - 142ec: 2101 movs r1, #1 - 142ee: 4620 mov r0, r4 - 142f0: 47c0 blx r8 + 142d4: 2101 movs r1, #1 + 142d6: 4620 mov r0, r4 + 142d8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN); - 142f2: 2101 movs r1, #1 - 142f4: 4620 mov r0, r4 - 142f6: 47b8 blx r7 - 142f8: 4607 mov r7, r0 + 142da: 2101 movs r1, #1 + 142dc: 4620 mov r0, r4 + 142de: 47b8 blx r7 + 142e0: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 142fa: 6831 ldr r1, [r6, #0] - 142fc: 3104 adds r1, #4 - 142fe: 47a8 blx r5 + 142e2: 6831 ldr r1, [r6, #0] + 142e4: 3104 adds r1, #4 + 142e6: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 14300: 6831 ldr r1, [r6, #0] - 14302: 3108 adds r1, #8 - 14304: 4638 mov r0, r7 - 14306: 47a8 blx r5 + 142e8: 6831 ldr r1, [r6, #0] + 142ea: 3108 adds r1, #8 + 142ec: 4638 mov r0, r7 + 142ee: 47a8 blx r5 break; - 14308: e7b1 b.n 1426e + 142f0: e7b1 b.n 14256 lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BG); - 1430a: 2100 movs r1, #0 - 1430c: f8df 81b8 ldr.w r8, [pc, #440] ; 144c8 - 14310: 47c0 blx r8 + 142f2: 2100 movs r1, #0 + 142f4: f8df 81b8 ldr.w r8, [pc, #440] ; 144b0 + 142f8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BG); - 14312: 2100 movs r1, #0 - 14314: 4620 mov r0, r4 - 14316: 4f6d ldr r7, [pc, #436] ; (144cc ) - 14318: 47b8 blx r7 - 1431a: 4681 mov r9, r0 + 142fa: 2100 movs r1, #0 + 142fc: 4620 mov r0, r4 + 142fe: 4f6d ldr r7, [pc, #436] ; (144b4 ) + 14300: 47b8 blx r7 + 14302: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->scr); - 1431c: 4e6c ldr r6, [pc, #432] ; (144d0 ) - 1431e: 6831 ldr r1, [r6, #0] - 14320: 4d6c ldr r5, [pc, #432] ; (144d4 ) - 14322: 47a8 blx r5 + 14304: 4e6c ldr r6, [pc, #432] ; (144b8 ) + 14306: 6831 ldr r1, [r6, #0] + 14308: 4d6c ldr r5, [pc, #432] ; (144bc ) + 1430a: 47a8 blx r5 _lv_style_list_add_style(list, &styles->kb_bg); - 14324: 6831 ldr r1, [r6, #0] - 14326: 3168 adds r1, #104 ; 0x68 - 14328: 4648 mov r0, r9 - 1432a: 47a8 blx r5 + 1430c: 6831 ldr r1, [r6, #0] + 1430e: 3168 adds r1, #104 ; 0x68 + 14310: 4648 mov r0, r9 + 14312: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BTN); - 1432c: 2101 movs r1, #1 - 1432e: 4620 mov r0, r4 - 14330: 47c0 blx r8 + 14314: 2101 movs r1, #1 + 14316: 4620 mov r0, r4 + 14318: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BTN); - 14332: 2101 movs r1, #1 - 14334: 4620 mov r0, r4 - 14336: 47b8 blx r7 - 14338: 4607 mov r7, r0 + 1431a: 2101 movs r1, #1 + 1431c: 4620 mov r0, r4 + 1431e: 47b8 blx r7 + 14320: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 1433a: 6831 ldr r1, [r6, #0] - 1433c: 3104 adds r1, #4 - 1433e: 47a8 blx r5 + 14322: 6831 ldr r1, [r6, #0] + 14324: 3104 adds r1, #4 + 14326: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 14340: 6831 ldr r1, [r6, #0] - 14342: 3108 adds r1, #8 - 14344: 4638 mov r0, r7 - 14346: 47a8 blx r5 + 14328: 6831 ldr r1, [r6, #0] + 1432a: 3108 adds r1, #8 + 1432c: 4638 mov r0, r7 + 1432e: 47a8 blx r5 break; - 14348: e791 b.n 1426e + 14330: e791 b.n 14256 lv_obj_clean_style_list(obj, LV_BAR_PART_BG); - 1434a: 2100 movs r1, #0 - 1434c: f8df 8178 ldr.w r8, [pc, #376] ; 144c8 - 14350: 47c0 blx r8 + 14332: 2100 movs r1, #0 + 14334: f8df 8178 ldr.w r8, [pc, #376] ; 144b0 + 14338: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BAR_PART_BG); - 14352: 2100 movs r1, #0 - 14354: 4620 mov r0, r4 - 14356: 4f5d ldr r7, [pc, #372] ; (144cc ) - 14358: 47b8 blx r7 + 1433a: 2100 movs r1, #0 + 1433c: 4620 mov r0, r4 + 1433e: 4f5d ldr r7, [pc, #372] ; (144b4 ) + 14340: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 1435a: 4e5d ldr r6, [pc, #372] ; (144d0 ) - 1435c: 6831 ldr r1, [r6, #0] - 1435e: 3124 adds r1, #36 ; 0x24 - 14360: 4d5c ldr r5, [pc, #368] ; (144d4 ) - 14362: 47a8 blx r5 + 14342: 4e5d ldr r6, [pc, #372] ; (144b8 ) + 14344: 6831 ldr r1, [r6, #0] + 14346: 3124 adds r1, #36 ; 0x24 + 14348: 4d5c ldr r5, [pc, #368] ; (144bc ) + 1434a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_BAR_PART_INDIC); - 14364: 2101 movs r1, #1 - 14366: 4620 mov r0, r4 - 14368: 47c0 blx r8 + 1434c: 2101 movs r1, #1 + 1434e: 4620 mov r0, r4 + 14350: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_BAR_PART_INDIC); - 1436a: 2101 movs r1, #1 - 1436c: 4620 mov r0, r4 - 1436e: 47b8 blx r7 + 14352: 2101 movs r1, #1 + 14354: 4620 mov r0, r4 + 14356: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 14370: 6831 ldr r1, [r6, #0] - 14372: 3128 adds r1, #40 ; 0x28 - 14374: 47a8 blx r5 + 14358: 6831 ldr r1, [r6, #0] + 1435a: 3128 adds r1, #40 ; 0x28 + 1435c: 47a8 blx r5 break; - 14376: e77a b.n 1426e + 1435e: e77a b.n 14256 lv_obj_clean_style_list(obj, LV_SWITCH_PART_BG); - 14378: 2100 movs r1, #0 - 1437a: f8df 814c ldr.w r8, [pc, #332] ; 144c8 - 1437e: 47c0 blx r8 + 14360: 2100 movs r1, #0 + 14362: f8df 814c ldr.w r8, [pc, #332] ; 144b0 + 14366: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_BG); - 14380: 2100 movs r1, #0 - 14382: 4620 mov r0, r4 - 14384: 4f51 ldr r7, [pc, #324] ; (144cc ) - 14386: 47b8 blx r7 + 14368: 2100 movs r1, #0 + 1436a: 4620 mov r0, r4 + 1436c: 4f51 ldr r7, [pc, #324] ; (144b4 ) + 1436e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_bg); - 14388: 4e51 ldr r6, [pc, #324] ; (144d0 ) - 1438a: 6831 ldr r1, [r6, #0] - 1438c: 3124 adds r1, #36 ; 0x24 - 1438e: 4d51 ldr r5, [pc, #324] ; (144d4 ) - 14390: 47a8 blx r5 + 14370: 4e51 ldr r6, [pc, #324] ; (144b8 ) + 14372: 6831 ldr r1, [r6, #0] + 14374: 3124 adds r1, #36 ; 0x24 + 14376: 4d51 ldr r5, [pc, #324] ; (144bc ) + 14378: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SWITCH_PART_INDIC); - 14392: 2101 movs r1, #1 - 14394: 4620 mov r0, r4 - 14396: 47c0 blx r8 + 1437a: 2101 movs r1, #1 + 1437c: 4620 mov r0, r4 + 1437e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_INDIC); - 14398: 2101 movs r1, #1 - 1439a: 4620 mov r0, r4 - 1439c: 47b8 blx r7 + 14380: 2101 movs r1, #1 + 14382: 4620 mov r0, r4 + 14384: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 1439e: 6831 ldr r1, [r6, #0] - 143a0: 3128 adds r1, #40 ; 0x28 - 143a2: 47a8 blx r5 + 14386: 6831 ldr r1, [r6, #0] + 14388: 3128 adds r1, #40 ; 0x28 + 1438a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SWITCH_PART_KNOB); - 143a4: 2102 movs r1, #2 - 143a6: 4620 mov r0, r4 - 143a8: 47c0 blx r8 + 1438c: 2102 movs r1, #2 + 1438e: 4620 mov r0, r4 + 14390: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SWITCH_PART_KNOB); - 143aa: 2102 movs r1, #2 - 143ac: 4620 mov r0, r4 - 143ae: 47b8 blx r7 + 14392: 2102 movs r1, #2 + 14394: 4620 mov r0, r4 + 14396: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sw_knob); - 143b0: 6831 ldr r1, [r6, #0] - 143b2: 319c adds r1, #156 ; 0x9c - 143b4: 47a8 blx r5 + 14398: 6831 ldr r1, [r6, #0] + 1439a: 319c adds r1, #156 ; 0x9c + 1439c: 47a8 blx r5 break; - 143b6: e75a b.n 1426e + 1439e: e75a b.n 14256 lv_obj_clean_style_list(obj, LV_CANVAS_PART_MAIN); - 143b8: 2100 movs r1, #0 - 143ba: 4b43 ldr r3, [pc, #268] ; (144c8 ) - 143bc: 4798 blx r3 + 143a0: 2100 movs r1, #0 + 143a2: 4b43 ldr r3, [pc, #268] ; (144b0 ) + 143a4: 4798 blx r3 break; - 143be: e756 b.n 1426e + 143a6: e756 b.n 14256 lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN); - 143c0: 2100 movs r1, #0 - 143c2: 4b41 ldr r3, [pc, #260] ; (144c8 ) - 143c4: 4798 blx r3 + 143a8: 2100 movs r1, #0 + 143aa: 4b41 ldr r3, [pc, #260] ; (144b0 ) + 143ac: 4798 blx r3 break; - 143c6: e752 b.n 1426e + 143ae: e752 b.n 14256 lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN); - 143c8: 2100 movs r1, #0 - 143ca: 4b3f ldr r3, [pc, #252] ; (144c8 ) - 143cc: 4798 blx r3 + 143b0: 2100 movs r1, #0 + 143b2: 4b3f ldr r3, [pc, #252] ; (144b0 ) + 143b4: 4798 blx r3 break; - 143ce: e74e b.n 1426e + 143b6: e74e b.n 14256 lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN); - 143d0: 2100 movs r1, #0 - 143d2: 4b3d ldr r3, [pc, #244] ; (144c8 ) - 143d4: 4798 blx r3 + 143b8: 2100 movs r1, #0 + 143ba: 4b3d ldr r3, [pc, #244] ; (144b0 ) + 143bc: 4798 blx r3 break; - 143d6: e74a b.n 1426e + 143be: e74a b.n 14256 lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN); - 143d8: 2100 movs r1, #0 - 143da: 4b3b ldr r3, [pc, #236] ; (144c8 ) - 143dc: 4798 blx r3 + 143c0: 2100 movs r1, #0 + 143c2: 4b3b ldr r3, [pc, #236] ; (144b0 ) + 143c4: 4798 blx r3 break; - 143de: e746 b.n 1426e + 143c6: e746 b.n 14256 lv_obj_clean_style_list(obj, LV_ARC_PART_BG); - 143e0: 2100 movs r1, #0 - 143e2: f8df 80e4 ldr.w r8, [pc, #228] ; 144c8 - 143e6: 47c0 blx r8 + 143c8: 2100 movs r1, #0 + 143ca: f8df 80e4 ldr.w r8, [pc, #228] ; 144b0 + 143ce: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ARC_PART_BG); - 143e8: 2100 movs r1, #0 - 143ea: 4620 mov r0, r4 - 143ec: 4f37 ldr r7, [pc, #220] ; (144cc ) - 143ee: 47b8 blx r7 - 143f0: 4681 mov r9, r0 + 143d0: 2100 movs r1, #0 + 143d2: 4620 mov r0, r4 + 143d4: 4f37 ldr r7, [pc, #220] ; (144b4 ) + 143d6: 47b8 blx r7 + 143d8: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 143f2: 4e37 ldr r6, [pc, #220] ; (144d0 ) - 143f4: 6831 ldr r1, [r6, #0] - 143f6: 3104 adds r1, #4 - 143f8: 4d36 ldr r5, [pc, #216] ; (144d4 ) - 143fa: 47a8 blx r5 + 143da: 4e37 ldr r6, [pc, #220] ; (144b8 ) + 143dc: 6831 ldr r1, [r6, #0] + 143de: 3104 adds r1, #4 + 143e0: 4d36 ldr r5, [pc, #216] ; (144bc ) + 143e2: 47a8 blx r5 _lv_style_list_add_style(list, &styles->arc_bg); - 143fc: 6831 ldr r1, [r6, #0] - 143fe: 3120 adds r1, #32 - 14400: 4648 mov r0, r9 - 14402: 47a8 blx r5 + 143e4: 6831 ldr r1, [r6, #0] + 143e6: 3120 adds r1, #32 + 143e8: 4648 mov r0, r9 + 143ea: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_ARC_PART_INDIC); - 14404: 2101 movs r1, #1 - 14406: 4620 mov r0, r4 - 14408: 47c0 blx r8 + 143ec: 2101 movs r1, #1 + 143ee: 4620 mov r0, r4 + 143f0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ARC_PART_INDIC); - 1440a: 2101 movs r1, #1 - 1440c: 4620 mov r0, r4 - 1440e: 47b8 blx r7 + 143f2: 2101 movs r1, #1 + 143f4: 4620 mov r0, r4 + 143f6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_indic); - 14410: 6831 ldr r1, [r6, #0] - 14412: 311c adds r1, #28 - 14414: 47a8 blx r5 + 143f8: 6831 ldr r1, [r6, #0] + 143fa: 311c adds r1, #28 + 143fc: 47a8 blx r5 break; - 14416: e72a b.n 1426e + 143fe: e72a b.n 14256 lv_obj_clean_style_list(obj, LV_SPINNER_PART_BG); - 14418: 2100 movs r1, #0 - 1441a: f8df 80ac ldr.w r8, [pc, #172] ; 144c8 - 1441e: 47c0 blx r8 + 14400: 2100 movs r1, #0 + 14402: f8df 80ac ldr.w r8, [pc, #172] ; 144b0 + 14406: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINNER_PART_BG); - 14420: 2100 movs r1, #0 - 14422: 4620 mov r0, r4 - 14424: 4f29 ldr r7, [pc, #164] ; (144cc ) - 14426: 47b8 blx r7 + 14408: 2100 movs r1, #0 + 1440a: 4620 mov r0, r4 + 1440c: 4f29 ldr r7, [pc, #164] ; (144b4 ) + 1440e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_bg); - 14428: 4e29 ldr r6, [pc, #164] ; (144d0 ) - 1442a: 6831 ldr r1, [r6, #0] - 1442c: 3120 adds r1, #32 - 1442e: 4d29 ldr r5, [pc, #164] ; (144d4 ) - 14430: 47a8 blx r5 + 14410: 4e29 ldr r6, [pc, #164] ; (144b8 ) + 14412: 6831 ldr r1, [r6, #0] + 14414: 3120 adds r1, #32 + 14416: 4d29 ldr r5, [pc, #164] ; (144bc ) + 14418: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SPINNER_PART_INDIC); - 14432: 2101 movs r1, #1 - 14434: 4620 mov r0, r4 - 14436: 47c0 blx r8 + 1441a: 2101 movs r1, #1 + 1441c: 4620 mov r0, r4 + 1441e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINNER_PART_INDIC); - 14438: 2101 movs r1, #1 - 1443a: 4620 mov r0, r4 - 1443c: 47b8 blx r7 + 14420: 2101 movs r1, #1 + 14422: 4620 mov r0, r4 + 14424: 47b8 blx r7 _lv_style_list_add_style(list, &styles->arc_indic); - 1443e: 6831 ldr r1, [r6, #0] - 14440: 311c adds r1, #28 - 14442: 47a8 blx r5 + 14426: 6831 ldr r1, [r6, #0] + 14428: 311c adds r1, #28 + 1442a: 47a8 blx r5 break; - 14444: e713 b.n 1426e + 1442c: e713 b.n 14256 lv_obj_clean_style_list(obj, LV_SLIDER_PART_BG); - 14446: 2100 movs r1, #0 - 14448: f8df 807c ldr.w r8, [pc, #124] ; 144c8 - 1444c: 47c0 blx r8 + 1442e: 2100 movs r1, #0 + 14430: f8df 807c ldr.w r8, [pc, #124] ; 144b0 + 14434: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_BG); - 1444e: 2100 movs r1, #0 - 14450: 4620 mov r0, r4 - 14452: 4f1e ldr r7, [pc, #120] ; (144cc ) - 14454: 47b8 blx r7 - 14456: 4681 mov r9, r0 + 14436: 2100 movs r1, #0 + 14438: 4620 mov r0, r4 + 1443a: 4f1e ldr r7, [pc, #120] ; (144b4 ) + 1443c: 47b8 blx r7 + 1443e: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bar_bg); - 14458: 4e1d ldr r6, [pc, #116] ; (144d0 ) - 1445a: 6831 ldr r1, [r6, #0] - 1445c: 3124 adds r1, #36 ; 0x24 - 1445e: 4d1d ldr r5, [pc, #116] ; (144d4 ) - 14460: 47a8 blx r5 + 14440: 4e1d ldr r6, [pc, #116] ; (144b8 ) + 14442: 6831 ldr r1, [r6, #0] + 14444: 3124 adds r1, #36 ; 0x24 + 14446: 4d1d ldr r5, [pc, #116] ; (144bc ) + 14448: 47a8 blx r5 _lv_style_list_add_style(list, &styles->slider_bg); - 14462: 6831 ldr r1, [r6, #0] - 14464: 3194 adds r1, #148 ; 0x94 - 14466: 4648 mov r0, r9 - 14468: 47a8 blx r5 + 1444a: 6831 ldr r1, [r6, #0] + 1444c: 3194 adds r1, #148 ; 0x94 + 1444e: 4648 mov r0, r9 + 14450: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SLIDER_PART_INDIC); - 1446a: 2101 movs r1, #1 - 1446c: 4620 mov r0, r4 - 1446e: 47c0 blx r8 + 14452: 2101 movs r1, #1 + 14454: 4620 mov r0, r4 + 14456: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_INDIC); - 14470: 2101 movs r1, #1 - 14472: 4620 mov r0, r4 - 14474: 47b8 blx r7 + 14458: 2101 movs r1, #1 + 1445a: 4620 mov r0, r4 + 1445c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bar_indic); - 14476: 6831 ldr r1, [r6, #0] - 14478: 3128 adds r1, #40 ; 0x28 - 1447a: 47a8 blx r5 + 1445e: 6831 ldr r1, [r6, #0] + 14460: 3128 adds r1, #40 ; 0x28 + 14462: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SLIDER_PART_KNOB); - 1447c: 2102 movs r1, #2 - 1447e: 4620 mov r0, r4 - 14480: 47c0 blx r8 + 14464: 2102 movs r1, #2 + 14466: 4620 mov r0, r4 + 14468: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SLIDER_PART_KNOB); - 14482: 2102 movs r1, #2 - 14484: 4620 mov r0, r4 - 14486: 47b8 blx r7 + 1446a: 2102 movs r1, #2 + 1446c: 4620 mov r0, r4 + 1446e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->slider_knob); - 14488: 6831 ldr r1, [r6, #0] - 1448a: 3190 adds r1, #144 ; 0x90 - 1448c: 47a8 blx r5 + 14470: 6831 ldr r1, [r6, #0] + 14472: 3190 adds r1, #144 ; 0x90 + 14474: 47a8 blx r5 break; - 1448e: e6ee b.n 1426e + 14476: e6ee b.n 14256 lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BG); - 14490: 2100 movs r1, #0 - 14492: f8df 8034 ldr.w r8, [pc, #52] ; 144c8 - 14496: 47c0 blx r8 + 14478: 2100 movs r1, #0 + 1447a: f8df 8034 ldr.w r8, [pc, #52] ; 144b0 + 1447e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BG); - 14498: 2100 movs r1, #0 - 1449a: 4620 mov r0, r4 - 1449c: 4f0b ldr r7, [pc, #44] ; (144cc ) - 1449e: 47b8 blx r7 + 14480: 2100 movs r1, #0 + 14482: 4620 mov r0, r4 + 14484: 4f0b ldr r7, [pc, #44] ; (144b4 ) + 14486: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cb_bg); - 144a0: 4e0b ldr r6, [pc, #44] ; (144d0 ) - 144a2: 6831 ldr r1, [r6, #0] - 144a4: 314c adds r1, #76 ; 0x4c - 144a6: 4d0b ldr r5, [pc, #44] ; (144d4 ) - 144a8: 47a8 blx r5 + 14488: 4e0b ldr r6, [pc, #44] ; (144b8 ) + 1448a: 6831 ldr r1, [r6, #0] + 1448c: 314c adds r1, #76 ; 0x4c + 1448e: 4d0b ldr r5, [pc, #44] ; (144bc ) + 14490: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BULLET); - 144aa: 2140 movs r1, #64 ; 0x40 - 144ac: 4620 mov r0, r4 - 144ae: 47c0 blx r8 + 14492: 2140 movs r1, #64 ; 0x40 + 14494: 4620 mov r0, r4 + 14496: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET); - 144b0: 2140 movs r1, #64 ; 0x40 - 144b2: 4620 mov r0, r4 - 144b4: 47b8 blx r7 - 144b6: 4607 mov r7, r0 + 14498: 2140 movs r1, #64 ; 0x40 + 1449a: 4620 mov r0, r4 + 1449c: 47b8 blx r7 + 1449e: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->btn); - 144b8: 6831 ldr r1, [r6, #0] - 144ba: 3110 adds r1, #16 - 144bc: 47a8 blx r5 + 144a0: 6831 ldr r1, [r6, #0] + 144a2: 3110 adds r1, #16 + 144a4: 47a8 blx r5 _lv_style_list_add_style(list, &styles->cb_bullet); - 144be: 6831 ldr r1, [r6, #0] - 144c0: 3150 adds r1, #80 ; 0x50 - 144c2: 4638 mov r0, r7 - 144c4: 47a8 blx r5 + 144a6: 6831 ldr r1, [r6, #0] + 144a8: 3150 adds r1, #80 ; 0x50 + 144aa: 4638 mov r0, r7 + 144ac: 47a8 blx r5 break; - 144c6: e6d2 b.n 1426e - 144c8: 000030cd .word 0x000030cd - 144cc: 00002ffd .word 0x00002ffd - 144d0: 20006bd8 .word 0x20006bd8 - 144d4: 000065d9 .word 0x000065d9 - 144d8: 00003a99 .word 0x00003a99 + 144ae: e6d2 b.n 14256 + 144b0: 000030b5 .word 0x000030b5 + 144b4: 00002fe5 .word 0x00002fe5 + 144b8: 20006bd8 .word 0x20006bd8 + 144bc: 000065c1 .word 0x000065c1 + 144c0: 00003a81 .word 0x00003a81 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BG); - 144dc: 2100 movs r1, #0 - 144de: 4b9f ldr r3, [pc, #636] ; (1475c ) - 144e0: 4798 blx r3 + 144c4: 2100 movs r1, #0 + 144c6: 4b9f ldr r3, [pc, #636] ; (14744 ) + 144c8: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BG); - 144e2: 2100 movs r1, #0 - 144e4: 4620 mov r0, r4 - 144e6: 4b9e ldr r3, [pc, #632] ; (14760 ) - 144e8: 4798 blx r3 - 144ea: 4607 mov r7, r0 + 144ca: 2100 movs r1, #0 + 144cc: 4620 mov r0, r4 + 144ce: 4b9e ldr r3, [pc, #632] ; (14748 ) + 144d0: 4798 blx r3 + 144d2: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 144ec: 4e9d ldr r6, [pc, #628] ; (14764 ) - 144ee: 6831 ldr r1, [r6, #0] - 144f0: 3104 adds r1, #4 - 144f2: 4d9d ldr r5, [pc, #628] ; (14768 ) - 144f4: 47a8 blx r5 + 144d4: 4e9d ldr r6, [pc, #628] ; (1474c ) + 144d6: 6831 ldr r1, [r6, #0] + 144d8: 3104 adds r1, #4 + 144da: 4d9d ldr r5, [pc, #628] ; (14750 ) + 144dc: 47a8 blx r5 _lv_style_list_add_style(list, &styles->mbox_bg); - 144f6: 6831 ldr r1, [r6, #0] - 144f8: 317c adds r1, #124 ; 0x7c - 144fa: 4638 mov r0, r7 - 144fc: 47a8 blx r5 + 144de: 6831 ldr r1, [r6, #0] + 144e0: 317c adds r1, #124 ; 0x7c + 144e2: 4638 mov r0, r7 + 144e4: 47a8 blx r5 break; - 144fe: e6b6 b.n 1426e + 144e6: e6b6 b.n 14256 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN_BG); - 14500: 2140 movs r1, #64 ; 0x40 - 14502: f8df 8258 ldr.w r8, [pc, #600] ; 1475c - 14506: 47c0 blx r8 + 144e8: 2140 movs r1, #64 ; 0x40 + 144ea: f8df 8258 ldr.w r8, [pc, #600] ; 14744 + 144ee: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN_BG); - 14508: 2140 movs r1, #64 ; 0x40 - 1450a: 4620 mov r0, r4 - 1450c: 4f94 ldr r7, [pc, #592] ; (14760 ) - 1450e: 47b8 blx r7 + 144f0: 2140 movs r1, #64 ; 0x40 + 144f2: 4620 mov r0, r4 + 144f4: 4f94 ldr r7, [pc, #592] ; (14748 ) + 144f6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_small); - 14510: 4e94 ldr r6, [pc, #592] ; (14764 ) - 14512: 6831 ldr r1, [r6, #0] - 14514: 3118 adds r1, #24 - 14516: 4d94 ldr r5, [pc, #592] ; (14768 ) - 14518: 47a8 blx r5 + 144f8: 4e94 ldr r6, [pc, #592] ; (1474c ) + 144fa: 6831 ldr r1, [r6, #0] + 144fc: 3118 adds r1, #24 + 144fe: 4d94 ldr r5, [pc, #592] ; (14750 ) + 14500: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN); - 1451a: 2141 movs r1, #65 ; 0x41 - 1451c: 4620 mov r0, r4 - 1451e: 47c0 blx r8 + 14502: 2141 movs r1, #65 ; 0x41 + 14504: 4620 mov r0, r4 + 14506: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN); - 14520: 2141 movs r1, #65 ; 0x41 - 14522: 4620 mov r0, r4 - 14524: 47b8 blx r7 + 14508: 2141 movs r1, #65 ; 0x41 + 1450a: 4620 mov r0, r4 + 1450c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->btn); - 14526: 6831 ldr r1, [r6, #0] - 14528: 3110 adds r1, #16 - 1452a: 47a8 blx r5 + 1450e: 6831 ldr r1, [r6, #0] + 14510: 3110 adds r1, #16 + 14512: 47a8 blx r5 break; - 1452c: e69f b.n 1426e + 14514: e69f b.n 14256 lv_obj_clean_style_list(obj, LV_LED_PART_MAIN); - 1452e: 2100 movs r1, #0 - 14530: 4b8a ldr r3, [pc, #552] ; (1475c ) - 14532: 4798 blx r3 + 14516: 2100 movs r1, #0 + 14518: 4b8a ldr r3, [pc, #552] ; (14744 ) + 1451a: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LED_PART_MAIN); - 14534: 2100 movs r1, #0 - 14536: 4620 mov r0, r4 - 14538: 4b89 ldr r3, [pc, #548] ; (14760 ) - 1453a: 4798 blx r3 + 1451c: 2100 movs r1, #0 + 1451e: 4620 mov r0, r4 + 14520: 4b89 ldr r3, [pc, #548] ; (14748 ) + 14522: 4798 blx r3 _lv_style_list_add_style(list, &styles->led); - 1453c: 4b89 ldr r3, [pc, #548] ; (14764 ) - 1453e: 6819 ldr r1, [r3, #0] - 14540: 316c adds r1, #108 ; 0x6c - 14542: 4b89 ldr r3, [pc, #548] ; (14768 ) - 14544: 4798 blx r3 + 14524: 4b89 ldr r3, [pc, #548] ; (1474c ) + 14526: 6819 ldr r1, [r3, #0] + 14528: 316c adds r1, #108 ; 0x6c + 1452a: 4b89 ldr r3, [pc, #548] ; (14750 ) + 1452c: 4798 blx r3 break; - 14546: e692 b.n 1426e + 1452e: e692 b.n 14256 lv_obj_clean_style_list(obj, LV_PAGE_PART_BG); - 14548: 2100 movs r1, #0 - 1454a: f8df 8210 ldr.w r8, [pc, #528] ; 1475c - 1454e: 47c0 blx r8 + 14530: 2100 movs r1, #0 + 14532: f8df 8210 ldr.w r8, [pc, #528] ; 14744 + 14536: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG); - 14550: 2100 movs r1, #0 - 14552: 4620 mov r0, r4 - 14554: 4f82 ldr r7, [pc, #520] ; (14760 ) - 14556: 47b8 blx r7 + 14538: 2100 movs r1, #0 + 1453a: 4620 mov r0, r4 + 1453c: 4f82 ldr r7, [pc, #520] ; (14748 ) + 1453e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 14558: 4e82 ldr r6, [pc, #520] ; (14764 ) - 1455a: 6831 ldr r1, [r6, #0] - 1455c: 3104 adds r1, #4 - 1455e: 4d82 ldr r5, [pc, #520] ; (14768 ) - 14560: 47a8 blx r5 + 14540: 4e82 ldr r6, [pc, #520] ; (1474c ) + 14542: 6831 ldr r1, [r6, #0] + 14544: 3104 adds r1, #4 + 14546: 4d82 ldr r5, [pc, #520] ; (14750 ) + 14548: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 14562: 2140 movs r1, #64 ; 0x40 - 14564: 4620 mov r0, r4 - 14566: 47c0 blx r8 + 1454a: 2140 movs r1, #64 ; 0x40 + 1454c: 4620 mov r0, r4 + 1454e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 14568: 2140 movs r1, #64 ; 0x40 - 1456a: 4620 mov r0, r4 - 1456c: 47b8 blx r7 + 14550: 2140 movs r1, #64 ; 0x40 + 14552: 4620 mov r0, r4 + 14554: 47b8 blx r7 _lv_style_list_add_style(list, &styles->pad_inner); - 1456e: 6831 ldr r1, [r6, #0] - 14570: 3114 adds r1, #20 - 14572: 47a8 blx r5 + 14556: 6831 ldr r1, [r6, #0] + 14558: 3114 adds r1, #20 + 1455a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLBAR); - 14574: 2101 movs r1, #1 - 14576: 4620 mov r0, r4 - 14578: 47c0 blx r8 + 1455c: 2101 movs r1, #1 + 1455e: 4620 mov r0, r4 + 14560: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLBAR); - 1457a: 2101 movs r1, #1 - 1457c: 4620 mov r0, r4 - 1457e: 47b8 blx r7 + 14562: 2101 movs r1, #1 + 14564: 4620 mov r0, r4 + 14566: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14580: 6831 ldr r1, [r6, #0] - 14582: 3180 adds r1, #128 ; 0x80 - 14584: 47a8 blx r5 + 14568: 6831 ldr r1, [r6, #0] + 1456a: 3180 adds r1, #128 ; 0x80 + 1456c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_EDGE_FLASH); - 14586: 2102 movs r1, #2 - 14588: 4620 mov r0, r4 - 1458a: 47c0 blx r8 + 1456e: 2102 movs r1, #2 + 14570: 4620 mov r0, r4 + 14572: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_PAGE_PART_EDGE_FLASH); - 1458c: 2102 movs r1, #2 - 1458e: 4620 mov r0, r4 - 14590: 47b8 blx r7 + 14574: 2102 movs r1, #2 + 14576: 4620 mov r0, r4 + 14578: 47b8 blx r7 _lv_style_list_add_style(list, &styles->edge_flash); - 14592: 6831 ldr r1, [r6, #0] - 14594: 3184 adds r1, #132 ; 0x84 - 14596: 47a8 blx r5 + 1457a: 6831 ldr r1, [r6, #0] + 1457c: 3184 adds r1, #132 ; 0x84 + 1457e: 47a8 blx r5 break; - 14598: e669 b.n 1426e + 14580: e669 b.n 14256 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG); - 1459a: 2100 movs r1, #0 - 1459c: 4d6f ldr r5, [pc, #444] ; (1475c ) - 1459e: 47a8 blx r5 + 14582: 2100 movs r1, #0 + 14584: 4d6f ldr r5, [pc, #444] ; (14744 ) + 14586: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG); - 145a0: 2100 movs r1, #0 - 145a2: 4620 mov r0, r4 - 145a4: f8df 81b8 ldr.w r8, [pc, #440] ; 14760 - 145a8: 47c0 blx r8 + 14588: 2100 movs r1, #0 + 1458a: 4620 mov r0, r4 + 1458c: f8df 81b8 ldr.w r8, [pc, #440] ; 14748 + 14590: 47c0 blx r8 _lv_style_list_add_style(list, &styles->scr); - 145aa: 4f6e ldr r7, [pc, #440] ; (14764 ) - 145ac: 6839 ldr r1, [r7, #0] - 145ae: 4e6e ldr r6, [pc, #440] ; (14768 ) - 145b0: 47b0 blx r6 + 14592: 4f6e ldr r7, [pc, #440] ; (1474c ) + 14594: 6839 ldr r1, [r7, #0] + 14596: 4e6e ldr r6, [pc, #440] ; (14750 ) + 14598: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG_SCRLLABLE); - 145b2: 2140 movs r1, #64 ; 0x40 - 145b4: 4620 mov r0, r4 - 145b6: 47a8 blx r5 + 1459a: 2140 movs r1, #64 ; 0x40 + 1459c: 4620 mov r0, r4 + 1459e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BG); - 145b8: 2141 movs r1, #65 ; 0x41 - 145ba: 4620 mov r0, r4 - 145bc: 47a8 blx r5 + 145a0: 2141 movs r1, #65 ; 0x41 + 145a2: 4620 mov r0, r4 + 145a4: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BG); - 145be: 2141 movs r1, #65 ; 0x41 - 145c0: 4620 mov r0, r4 - 145c2: 47c0 blx r8 + 145a6: 2141 movs r1, #65 ; 0x41 + 145a8: 4620 mov r0, r4 + 145aa: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_btns_bg); - 145c4: 6839 ldr r1, [r7, #0] - 145c6: 31a8 adds r1, #168 ; 0xa8 - 145c8: 47b0 blx r6 + 145ac: 6839 ldr r1, [r7, #0] + 145ae: 31a8 adds r1, #168 ; 0xa8 + 145b0: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_INDIC); - 145ca: 2143 movs r1, #67 ; 0x43 - 145cc: 4620 mov r0, r4 - 145ce: 47a8 blx r5 + 145b2: 2143 movs r1, #67 ; 0x43 + 145b4: 4620 mov r0, r4 + 145b6: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_INDIC); - 145d0: 2143 movs r1, #67 ; 0x43 - 145d2: 4620 mov r0, r4 - 145d4: 47c0 blx r8 + 145b8: 2143 movs r1, #67 ; 0x43 + 145ba: 4620 mov r0, r4 + 145bc: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_indic); - 145d6: 6839 ldr r1, [r7, #0] - 145d8: 31ac adds r1, #172 ; 0xac - 145da: 47b0 blx r6 + 145be: 6839 ldr r1, [r7, #0] + 145c0: 31ac adds r1, #172 ; 0xac + 145c2: 47b0 blx r6 lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BTN); - 145dc: 2142 movs r1, #66 ; 0x42 - 145de: 4620 mov r0, r4 - 145e0: 47a8 blx r5 + 145c4: 2142 movs r1, #66 ; 0x42 + 145c6: 4620 mov r0, r4 + 145c8: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BTN); - 145e2: 2142 movs r1, #66 ; 0x42 - 145e4: 4620 mov r0, r4 - 145e6: 47c0 blx r8 + 145ca: 2142 movs r1, #66 ; 0x42 + 145cc: 4620 mov r0, r4 + 145ce: 47c0 blx r8 _lv_style_list_add_style(list, &styles->tabview_btns); - 145e8: 6839 ldr r1, [r7, #0] - 145ea: 31a4 adds r1, #164 ; 0xa4 - 145ec: 47b0 blx r6 + 145d0: 6839 ldr r1, [r7, #0] + 145d2: 31a4 adds r1, #164 ; 0xa4 + 145d4: 47b0 blx r6 break; - 145ee: e63e b.n 1426e + 145d6: e63e b.n 14256 lv_obj_clean_style_list(obj, LV_PAGE_PART_BG); - 145f0: 2100 movs r1, #0 - 145f2: 4d5a ldr r5, [pc, #360] ; (1475c ) - 145f4: 47a8 blx r5 + 145d8: 2100 movs r1, #0 + 145da: 4d5a ldr r5, [pc, #360] ; (14744 ) + 145dc: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 145f6: 2140 movs r1, #64 ; 0x40 - 145f8: 4620 mov r0, r4 - 145fa: 47a8 blx r5 + 145de: 2140 movs r1, #64 ; 0x40 + 145e0: 4620 mov r0, r4 + 145e2: 47a8 blx r5 list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCROLLABLE); - 145fc: 2140 movs r1, #64 ; 0x40 - 145fe: 4620 mov r0, r4 - 14600: 4b57 ldr r3, [pc, #348] ; (14760 ) - 14602: 4798 blx r3 + 145e4: 2140 movs r1, #64 ; 0x40 + 145e6: 4620 mov r0, r4 + 145e8: 4b57 ldr r3, [pc, #348] ; (14748 ) + 145ea: 4798 blx r3 _lv_style_list_add_style(list, &styles->tabview_page_scrl); - 14604: 4b57 ldr r3, [pc, #348] ; (14764 ) - 14606: 6819 ldr r1, [r3, #0] - 14608: 31b0 adds r1, #176 ; 0xb0 - 1460a: 4b57 ldr r3, [pc, #348] ; (14768 ) - 1460c: 4798 blx r3 + 145ec: 4b57 ldr r3, [pc, #348] ; (1474c ) + 145ee: 6819 ldr r1, [r3, #0] + 145f0: 31b0 adds r1, #176 ; 0xb0 + 145f2: 4b57 ldr r3, [pc, #348] ; (14750 ) + 145f4: 4798 blx r3 break; - 1460e: e62e b.n 1426e + 145f6: e62e b.n 14256 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_BG); - 14610: 2100 movs r1, #0 - 14612: f8df 8148 ldr.w r8, [pc, #328] ; 1475c - 14616: 47c0 blx r8 + 145f8: 2100 movs r1, #0 + 145fa: f8df 8148 ldr.w r8, [pc, #328] ; 14744 + 145fe: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_BG); - 14618: 2100 movs r1, #0 - 1461a: 4620 mov r0, r4 - 1461c: 4f50 ldr r7, [pc, #320] ; (14760 ) - 1461e: 47b8 blx r7 + 14600: 2100 movs r1, #0 + 14602: 4620 mov r0, r4 + 14604: 4f50 ldr r7, [pc, #320] ; (14748 ) + 14606: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 14620: 4e50 ldr r6, [pc, #320] ; (14764 ) - 14622: 6831 ldr r1, [r6, #0] - 14624: 4d50 ldr r5, [pc, #320] ; (14768 ) - 14626: 47a8 blx r5 + 14608: 4e50 ldr r6, [pc, #320] ; (1474c ) + 1460a: 6831 ldr r1, [r6, #0] + 1460c: 4d50 ldr r5, [pc, #320] ; (14750 ) + 1460e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR); - 14628: 2101 movs r1, #1 - 1462a: 4620 mov r0, r4 - 1462c: 47c0 blx r8 + 14610: 2101 movs r1, #1 + 14612: 4620 mov r0, r4 + 14614: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_SCROLLBAR); - 1462e: 2101 movs r1, #1 - 14630: 4620 mov r0, r4 - 14632: 47b8 blx r7 + 14616: 2101 movs r1, #1 + 14618: 4620 mov r0, r4 + 1461a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14634: 6831 ldr r1, [r6, #0] - 14636: 3180 adds r1, #128 ; 0x80 - 14638: 47a8 blx r5 + 1461c: 6831 ldr r1, [r6, #0] + 1461e: 3180 adds r1, #128 ; 0x80 + 14620: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH); - 1463a: 2102 movs r1, #2 - 1463c: 4620 mov r0, r4 - 1463e: 47c0 blx r8 + 14622: 2102 movs r1, #2 + 14624: 4620 mov r0, r4 + 14626: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH); - 14640: 2102 movs r1, #2 - 14642: 4620 mov r0, r4 - 14644: 47b8 blx r7 + 14628: 2102 movs r1, #2 + 1462a: 4620 mov r0, r4 + 1462c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->edge_flash); - 14646: 6831 ldr r1, [r6, #0] - 14648: 3184 adds r1, #132 ; 0x84 - 1464a: 47a8 blx r5 + 1462e: 6831 ldr r1, [r6, #0] + 14630: 3184 adds r1, #132 ; 0x84 + 14632: 47a8 blx r5 break; - 1464c: e60f b.n 1426e + 14634: e60f b.n 14256 lv_obj_clean_style_list(obj, LV_ROLLER_PART_BG); - 1464e: 2100 movs r1, #0 - 14650: f8df 8108 ldr.w r8, [pc, #264] ; 1475c - 14654: 47c0 blx r8 + 14636: 2100 movs r1, #0 + 14638: f8df 8108 ldr.w r8, [pc, #264] ; 14744 + 1463c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ROLLER_PART_BG); - 14656: 2100 movs r1, #0 - 14658: 4620 mov r0, r4 - 1465a: 4f41 ldr r7, [pc, #260] ; (14760 ) - 1465c: 47b8 blx r7 - 1465e: 4681 mov r9, r0 + 1463e: 2100 movs r1, #0 + 14640: 4620 mov r0, r4 + 14642: 4f41 ldr r7, [pc, #260] ; (14748 ) + 14644: 47b8 blx r7 + 14646: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14660: 4e40 ldr r6, [pc, #256] ; (14764 ) - 14662: 6831 ldr r1, [r6, #0] - 14664: 3104 adds r1, #4 - 14666: 4d40 ldr r5, [pc, #256] ; (14768 ) - 14668: 47a8 blx r5 + 14648: 4e40 ldr r6, [pc, #256] ; (1474c ) + 1464a: 6831 ldr r1, [r6, #0] + 1464c: 3104 adds r1, #4 + 1464e: 4d40 ldr r5, [pc, #256] ; (14750 ) + 14650: 47a8 blx r5 _lv_style_list_add_style(list, &styles->roller_bg); - 1466a: 6831 ldr r1, [r6, #0] - 1466c: 3188 adds r1, #136 ; 0x88 - 1466e: 4648 mov r0, r9 - 14670: 47a8 blx r5 + 14652: 6831 ldr r1, [r6, #0] + 14654: 3188 adds r1, #136 ; 0x88 + 14656: 4648 mov r0, r9 + 14658: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_ROLLER_PART_SELECTED); - 14672: 2103 movs r1, #3 - 14674: 4620 mov r0, r4 - 14676: 47c0 blx r8 + 1465a: 2103 movs r1, #3 + 1465c: 4620 mov r0, r4 + 1465e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SELECTED); - 14678: 2103 movs r1, #3 - 1467a: 4620 mov r0, r4 - 1467c: 47b8 blx r7 + 14660: 2103 movs r1, #3 + 14662: 4620 mov r0, r4 + 14664: 47b8 blx r7 _lv_style_list_add_style(list, &styles->roller_sel); - 1467e: 6831 ldr r1, [r6, #0] - 14680: 318c adds r1, #140 ; 0x8c - 14682: 47a8 blx r5 + 14666: 6831 ldr r1, [r6, #0] + 14668: 318c adds r1, #140 ; 0x8c + 1466a: 47a8 blx r5 break; - 14684: e5f3 b.n 1426e + 1466c: e5f3 b.n 14256 lv_obj_clean_style_list(obj, LV_OBJMASK_PART_MAIN); - 14686: 2100 movs r1, #0 - 14688: 4b34 ldr r3, [pc, #208] ; (1475c ) - 1468a: 4798 blx r3 + 1466e: 2100 movs r1, #0 + 14670: 4b34 ldr r3, [pc, #208] ; (14744 ) + 14672: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_OBJMASK_PART_MAIN); - 1468c: 2100 movs r1, #0 - 1468e: 4620 mov r0, r4 - 14690: 4b33 ldr r3, [pc, #204] ; (14760 ) - 14692: 4798 blx r3 + 14674: 2100 movs r1, #0 + 14676: 4620 mov r0, r4 + 14678: 4b33 ldr r3, [pc, #204] ; (14748 ) + 1467a: 4798 blx r3 break; - 14694: e5eb b.n 1426e + 1467c: e5eb b.n 14256 lv_obj_clean_style_list(obj, LV_LIST_PART_BG); - 14696: 2100 movs r1, #0 - 14698: 4f30 ldr r7, [pc, #192] ; (1475c ) - 1469a: 47b8 blx r7 + 1467e: 2100 movs r1, #0 + 14680: 4f30 ldr r7, [pc, #192] ; (14744 ) + 14682: 47b8 blx r7 list = lv_obj_get_style_list(obj, LV_LIST_PART_BG); - 1469c: 2100 movs r1, #0 - 1469e: 4620 mov r0, r4 - 146a0: f8df 80bc ldr.w r8, [pc, #188] ; 14760 - 146a4: 47c0 blx r8 - 146a6: 4681 mov r9, r0 + 14684: 2100 movs r1, #0 + 14686: 4620 mov r0, r4 + 14688: f8df 80bc ldr.w r8, [pc, #188] ; 14748 + 1468c: 47c0 blx r8 + 1468e: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 146a8: 4e2e ldr r6, [pc, #184] ; (14764 ) - 146aa: 6831 ldr r1, [r6, #0] - 146ac: 3104 adds r1, #4 - 146ae: 4d2e ldr r5, [pc, #184] ; (14768 ) - 146b0: 47a8 blx r5 + 14690: 4e2e ldr r6, [pc, #184] ; (1474c ) + 14692: 6831 ldr r1, [r6, #0] + 14694: 3104 adds r1, #4 + 14696: 4d2e ldr r5, [pc, #184] ; (14750 ) + 14698: 47a8 blx r5 _lv_style_list_add_style(list, &styles->list_bg); - 146b2: 6831 ldr r1, [r6, #0] - 146b4: 3174 adds r1, #116 ; 0x74 - 146b6: 4648 mov r0, r9 - 146b8: 47a8 blx r5 + 1469a: 6831 ldr r1, [r6, #0] + 1469c: 3174 adds r1, #116 ; 0x74 + 1469e: 4648 mov r0, r9 + 146a0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLABLE); - 146ba: 2140 movs r1, #64 ; 0x40 - 146bc: 4620 mov r0, r4 - 146be: 47b8 blx r7 + 146a2: 2140 movs r1, #64 ; 0x40 + 146a4: 4620 mov r0, r4 + 146a6: 47b8 blx r7 lv_obj_clean_style_list(obj, LV_LIST_PART_SCROLLBAR); - 146c0: 2101 movs r1, #1 - 146c2: 4620 mov r0, r4 - 146c4: 47b8 blx r7 + 146a8: 2101 movs r1, #1 + 146aa: 4620 mov r0, r4 + 146ac: 47b8 blx r7 list = lv_obj_get_style_list(obj, LV_LIST_PART_SCROLLBAR); - 146c6: 2101 movs r1, #1 - 146c8: 4620 mov r0, r4 - 146ca: 47c0 blx r8 + 146ae: 2101 movs r1, #1 + 146b0: 4620 mov r0, r4 + 146b2: 47c0 blx r8 _lv_style_list_add_style(list, &styles->sb); - 146cc: 6831 ldr r1, [r6, #0] - 146ce: 3180 adds r1, #128 ; 0x80 - 146d0: 47a8 blx r5 + 146b4: 6831 ldr r1, [r6, #0] + 146b6: 3180 adds r1, #128 ; 0x80 + 146b8: 47a8 blx r5 break; - 146d2: e5cc b.n 1426e + 146ba: e5cc b.n 14256 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 146d4: 2100 movs r1, #0 - 146d6: 4b21 ldr r3, [pc, #132] ; (1475c ) - 146d8: 4798 blx r3 + 146bc: 2100 movs r1, #0 + 146be: 4b21 ldr r3, [pc, #132] ; (14744 ) + 146c0: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 146da: 2100 movs r1, #0 - 146dc: 4620 mov r0, r4 - 146de: 4b20 ldr r3, [pc, #128] ; (14760 ) - 146e0: 4798 blx r3 + 146c2: 2100 movs r1, #0 + 146c4: 4620 mov r0, r4 + 146c6: 4b20 ldr r3, [pc, #128] ; (14748 ) + 146c8: 4798 blx r3 _lv_style_list_add_style(list, &styles->list_btn); - 146e2: 4b20 ldr r3, [pc, #128] ; (14764 ) - 146e4: 6819 ldr r1, [r3, #0] - 146e6: 3178 adds r1, #120 ; 0x78 - 146e8: 4b1f ldr r3, [pc, #124] ; (14768 ) - 146ea: 4798 blx r3 + 146ca: 4b20 ldr r3, [pc, #128] ; (1474c ) + 146cc: 6819 ldr r1, [r3, #0] + 146ce: 3178 adds r1, #120 ; 0x78 + 146d0: 4b1f ldr r3, [pc, #124] ; (14750 ) + 146d2: 4798 blx r3 break; - 146ec: e5bf b.n 1426e + 146d4: e5bf b.n 14256 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_MAIN); - 146ee: 2100 movs r1, #0 - 146f0: f8df 8068 ldr.w r8, [pc, #104] ; 1475c - 146f4: 47c0 blx r8 + 146d6: 2100 movs r1, #0 + 146d8: f8df 8068 ldr.w r8, [pc, #104] ; 14744 + 146dc: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_MAIN); - 146f6: 2100 movs r1, #0 - 146f8: 4620 mov r0, r4 - 146fa: 4f19 ldr r7, [pc, #100] ; (14760 ) - 146fc: 47b8 blx r7 - 146fe: 4681 mov r9, r0 + 146de: 2100 movs r1, #0 + 146e0: 4620 mov r0, r4 + 146e2: 4f19 ldr r7, [pc, #100] ; (14748 ) + 146e4: 47b8 blx r7 + 146e6: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14700: 4e18 ldr r6, [pc, #96] ; (14764 ) - 14702: 6831 ldr r1, [r6, #0] - 14704: 3104 adds r1, #4 - 14706: 4d18 ldr r5, [pc, #96] ; (14768 ) - 14708: 47a8 blx r5 + 146e8: 4e18 ldr r6, [pc, #96] ; (1474c ) + 146ea: 6831 ldr r1, [r6, #0] + 146ec: 3104 adds r1, #4 + 146ee: 4d18 ldr r5, [pc, #96] ; (14750 ) + 146f0: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 1470a: 6831 ldr r1, [r6, #0] - 1470c: 3108 adds r1, #8 - 1470e: 4648 mov r0, r9 - 14710: 47a8 blx r5 + 146f2: 6831 ldr r1, [r6, #0] + 146f4: 3108 adds r1, #8 + 146f6: 4648 mov r0, r9 + 146f8: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 14712: 6831 ldr r1, [r6, #0] - 14714: 3118 adds r1, #24 - 14716: 4648 mov r0, r9 - 14718: 47a8 blx r5 + 146fa: 6831 ldr r1, [r6, #0] + 146fc: 3118 adds r1, #24 + 146fe: 4648 mov r0, r9 + 14700: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_LIST); - 1471a: 2140 movs r1, #64 ; 0x40 - 1471c: 4620 mov r0, r4 - 1471e: 47c0 blx r8 + 14702: 2140 movs r1, #64 ; 0x40 + 14704: 4620 mov r0, r4 + 14706: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST); - 14720: 2140 movs r1, #64 ; 0x40 - 14722: 4620 mov r0, r4 - 14724: 47b8 blx r7 - 14726: 4681 mov r9, r0 + 14708: 2140 movs r1, #64 ; 0x40 + 1470a: 4620 mov r0, r4 + 1470c: 47b8 blx r7 + 1470e: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14728: 6831 ldr r1, [r6, #0] - 1472a: 3104 adds r1, #4 - 1472c: 47a8 blx r5 + 14710: 6831 ldr r1, [r6, #0] + 14712: 3104 adds r1, #4 + 14714: 47a8 blx r5 _lv_style_list_add_style(list, &styles->ddlist_page); - 1472e: 6831 ldr r1, [r6, #0] - 14730: 3154 adds r1, #84 ; 0x54 - 14732: 4648 mov r0, r9 - 14734: 47a8 blx r5 + 14716: 6831 ldr r1, [r6, #0] + 14718: 3154 adds r1, #84 ; 0x54 + 1471a: 4648 mov r0, r9 + 1471c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR); - 14736: 2141 movs r1, #65 ; 0x41 - 14738: 4620 mov r0, r4 - 1473a: 47c0 blx r8 + 1471e: 2141 movs r1, #65 ; 0x41 + 14720: 4620 mov r0, r4 + 14722: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SCROLLBAR); - 1473c: 2141 movs r1, #65 ; 0x41 - 1473e: 4620 mov r0, r4 - 14740: 47b8 blx r7 + 14724: 2141 movs r1, #65 ; 0x41 + 14726: 4620 mov r0, r4 + 14728: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14742: 6831 ldr r1, [r6, #0] - 14744: 3180 adds r1, #128 ; 0x80 - 14746: 47a8 blx r5 + 1472a: 6831 ldr r1, [r6, #0] + 1472c: 3180 adds r1, #128 ; 0x80 + 1472e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SELECTED); - 14748: 2142 movs r1, #66 ; 0x42 - 1474a: 4620 mov r0, r4 - 1474c: 47c0 blx r8 + 14730: 2142 movs r1, #66 ; 0x42 + 14732: 4620 mov r0, r4 + 14734: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED); - 1474e: 2142 movs r1, #66 ; 0x42 - 14750: 4620 mov r0, r4 - 14752: 47b8 blx r7 + 14736: 2142 movs r1, #66 ; 0x42 + 14738: 4620 mov r0, r4 + 1473a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ddlist_sel); - 14754: 6831 ldr r1, [r6, #0] - 14756: 3158 adds r1, #88 ; 0x58 - 14758: 47a8 blx r5 + 1473c: 6831 ldr r1, [r6, #0] + 1473e: 3158 adds r1, #88 ; 0x58 + 14740: 47a8 blx r5 break; - 1475a: e588 b.n 1426e - 1475c: 000030cd .word 0x000030cd - 14760: 00002ffd .word 0x00002ffd - 14764: 20006bd8 .word 0x20006bd8 - 14768: 000065d9 .word 0x000065d9 + 14742: e588 b.n 14256 + 14744: 000030b5 .word 0x000030b5 + 14748: 00002fe5 .word 0x00002fe5 + 1474c: 20006bd8 .word 0x20006bd8 + 14750: 000065c1 .word 0x000065c1 lv_obj_clean_style_list(obj, LV_CHART_PART_BG); - 1476c: 2100 movs r1, #0 - 1476e: f8df 8290 ldr.w r8, [pc, #656] ; 14a00 - 14772: 47c0 blx r8 + 14754: 2100 movs r1, #0 + 14756: f8df 8290 ldr.w r8, [pc, #656] ; 149e8 + 1475a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHART_PART_BG); - 14774: 2100 movs r1, #0 - 14776: 4620 mov r0, r4 - 14778: 4f9e ldr r7, [pc, #632] ; (149f4 ) - 1477a: 47b8 blx r7 - 1477c: 4681 mov r9, r0 + 1475c: 2100 movs r1, #0 + 1475e: 4620 mov r0, r4 + 14760: 4f9e ldr r7, [pc, #632] ; (149dc ) + 14762: 47b8 blx r7 + 14764: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 1477e: 4e9e ldr r6, [pc, #632] ; (149f8 ) - 14780: 6831 ldr r1, [r6, #0] - 14782: 3104 adds r1, #4 - 14784: 4d9d ldr r5, [pc, #628] ; (149fc ) - 14786: 47a8 blx r5 + 14766: 4e9e ldr r6, [pc, #632] ; (149e0 ) + 14768: 6831 ldr r1, [r6, #0] + 1476a: 3104 adds r1, #4 + 1476c: 4d9d ldr r5, [pc, #628] ; (149e4 ) + 1476e: 47a8 blx r5 _lv_style_list_add_style(list, &styles->chart_bg); - 14788: 6831 ldr r1, [r6, #0] - 1478a: 3140 adds r1, #64 ; 0x40 - 1478c: 4648 mov r0, r9 - 1478e: 47a8 blx r5 + 14770: 6831 ldr r1, [r6, #0] + 14772: 3140 adds r1, #64 ; 0x40 + 14774: 4648 mov r0, r9 + 14776: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 14790: 6831 ldr r1, [r6, #0] - 14792: 3118 adds r1, #24 - 14794: 4648 mov r0, r9 - 14796: 47a8 blx r5 + 14778: 6831 ldr r1, [r6, #0] + 1477a: 3118 adds r1, #24 + 1477c: 4648 mov r0, r9 + 1477e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES_BG); - 14798: 2101 movs r1, #1 - 1479a: 4620 mov r0, r4 - 1479c: 47c0 blx r8 + 14780: 2101 movs r1, #1 + 14782: 4620 mov r0, r4 + 14784: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES_BG); - 1479e: 2101 movs r1, #1 - 147a0: 4620 mov r0, r4 - 147a2: 47b8 blx r7 - 147a4: 4681 mov r9, r0 + 14786: 2101 movs r1, #1 + 14788: 4620 mov r0, r4 + 1478a: 47b8 blx r7 + 1478c: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->pad_small); - 147a6: 6831 ldr r1, [r6, #0] - 147a8: 3118 adds r1, #24 - 147aa: 47a8 blx r5 + 1478e: 6831 ldr r1, [r6, #0] + 14790: 3118 adds r1, #24 + 14792: 47a8 blx r5 _lv_style_list_add_style(list, &styles->chart_series_bg); - 147ac: 6831 ldr r1, [r6, #0] - 147ae: 3144 adds r1, #68 ; 0x44 - 147b0: 4648 mov r0, r9 - 147b2: 47a8 blx r5 + 14794: 6831 ldr r1, [r6, #0] + 14796: 3144 adds r1, #68 ; 0x44 + 14798: 4648 mov r0, r9 + 1479a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES); - 147b4: 2102 movs r1, #2 - 147b6: 4620 mov r0, r4 - 147b8: 47c0 blx r8 + 1479c: 2102 movs r1, #2 + 1479e: 4620 mov r0, r4 + 147a0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES); - 147ba: 2102 movs r1, #2 - 147bc: 4620 mov r0, r4 - 147be: 47b8 blx r7 + 147a2: 2102 movs r1, #2 + 147a4: 4620 mov r0, r4 + 147a6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->chart_series); - 147c0: 6831 ldr r1, [r6, #0] - 147c2: 3148 adds r1, #72 ; 0x48 - 147c4: 47a8 blx r5 + 147a8: 6831 ldr r1, [r6, #0] + 147aa: 3148 adds r1, #72 ; 0x48 + 147ac: 47a8 blx r5 break; - 147c6: e552 b.n 1426e + 147ae: e552 b.n 14256 lv_obj_clean_style_list(obj, LV_TABLE_PART_BG); - 147c8: 2100 movs r1, #0 - 147ca: f8df 8234 ldr.w r8, [pc, #564] ; 14a00 - 147ce: 47c0 blx r8 + 147b0: 2100 movs r1, #0 + 147b2: f8df 8234 ldr.w r8, [pc, #564] ; 149e8 + 147b6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_BG); - 147d0: 2100 movs r1, #0 - 147d2: 4620 mov r0, r4 - 147d4: 4f87 ldr r7, [pc, #540] ; (149f4 ) - 147d6: 47b8 blx r7 + 147b8: 2100 movs r1, #0 + 147ba: 4620 mov r0, r4 + 147bc: 4f87 ldr r7, [pc, #540] ; (149dc ) + 147be: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 147d8: 4e87 ldr r6, [pc, #540] ; (149f8 ) - 147da: 6831 ldr r1, [r6, #0] - 147dc: 3104 adds r1, #4 - 147de: 4d87 ldr r5, [pc, #540] ; (149fc ) - 147e0: 47a8 blx r5 + 147c0: 4e87 ldr r6, [pc, #540] ; (149e0 ) + 147c2: 6831 ldr r1, [r6, #0] + 147c4: 3104 adds r1, #4 + 147c6: 4d87 ldr r5, [pc, #540] ; (149e4 ) + 147c8: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL1); - 147e2: 2101 movs r1, #1 - 147e4: 4620 mov r0, r4 - 147e6: 47c0 blx r8 + 147ca: 2101 movs r1, #1 + 147cc: 4620 mov r0, r4 + 147ce: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL1); - 147e8: 2101 movs r1, #1 - 147ea: 4620 mov r0, r4 - 147ec: 47b8 blx r7 + 147d0: 2101 movs r1, #1 + 147d2: 4620 mov r0, r4 + 147d4: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 147ee: 6831 ldr r1, [r6, #0] - 147f0: 31a0 adds r1, #160 ; 0xa0 - 147f2: 47a8 blx r5 + 147d6: 6831 ldr r1, [r6, #0] + 147d8: 31a0 adds r1, #160 ; 0xa0 + 147da: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL2); - 147f4: 2102 movs r1, #2 - 147f6: 4620 mov r0, r4 - 147f8: 47c0 blx r8 + 147dc: 2102 movs r1, #2 + 147de: 4620 mov r0, r4 + 147e0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL2); - 147fa: 2102 movs r1, #2 - 147fc: 4620 mov r0, r4 - 147fe: 47b8 blx r7 + 147e2: 2102 movs r1, #2 + 147e4: 4620 mov r0, r4 + 147e6: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14800: 6831 ldr r1, [r6, #0] - 14802: 31a0 adds r1, #160 ; 0xa0 - 14804: 47a8 blx r5 + 147e8: 6831 ldr r1, [r6, #0] + 147ea: 31a0 adds r1, #160 ; 0xa0 + 147ec: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL3); - 14806: 2103 movs r1, #3 - 14808: 4620 mov r0, r4 - 1480a: 47c0 blx r8 + 147ee: 2103 movs r1, #3 + 147f0: 4620 mov r0, r4 + 147f2: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL3); - 1480c: 2103 movs r1, #3 - 1480e: 4620 mov r0, r4 - 14810: 47b8 blx r7 + 147f4: 2103 movs r1, #3 + 147f6: 4620 mov r0, r4 + 147f8: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14812: 6831 ldr r1, [r6, #0] - 14814: 31a0 adds r1, #160 ; 0xa0 - 14816: 47a8 blx r5 + 147fa: 6831 ldr r1, [r6, #0] + 147fc: 31a0 adds r1, #160 ; 0xa0 + 147fe: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL4); - 14818: 2104 movs r1, #4 - 1481a: 4620 mov r0, r4 - 1481c: 47c0 blx r8 + 14800: 2104 movs r1, #4 + 14802: 4620 mov r0, r4 + 14804: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL4); - 1481e: 2104 movs r1, #4 - 14820: 4620 mov r0, r4 - 14822: 47b8 blx r7 + 14806: 2104 movs r1, #4 + 14808: 4620 mov r0, r4 + 1480a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->table_cell); - 14824: 6831 ldr r1, [r6, #0] - 14826: 31a0 adds r1, #160 ; 0xa0 - 14828: 47a8 blx r5 + 1480c: 6831 ldr r1, [r6, #0] + 1480e: 31a0 adds r1, #160 ; 0xa0 + 14810: 47a8 blx r5 break; - 1482a: e520 b.n 1426e + 14812: e520 b.n 14256 lv_obj_clean_style_list(obj, LV_WIN_PART_BG); - 1482c: 2100 movs r1, #0 - 1482e: f8df 81d0 ldr.w r8, [pc, #464] ; 14a00 - 14832: 47c0 blx r8 + 14814: 2100 movs r1, #0 + 14816: f8df 81d0 ldr.w r8, [pc, #464] ; 149e8 + 1481a: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_BG); - 14834: 2100 movs r1, #0 - 14836: 4620 mov r0, r4 - 14838: 4f6e ldr r7, [pc, #440] ; (149f4 ) - 1483a: 47b8 blx r7 + 1481c: 2100 movs r1, #0 + 1481e: 4620 mov r0, r4 + 14820: 4f6e ldr r7, [pc, #440] ; (149dc ) + 14822: 47b8 blx r7 _lv_style_list_add_style(list, &styles->scr); - 1483c: 4e6e ldr r6, [pc, #440] ; (149f8 ) - 1483e: 6831 ldr r1, [r6, #0] - 14840: 4d6e ldr r5, [pc, #440] ; (149fc ) - 14842: 47a8 blx r5 + 14824: 4e6e ldr r6, [pc, #440] ; (149e0 ) + 14826: 6831 ldr r1, [r6, #0] + 14828: 4d6e ldr r5, [pc, #440] ; (149e4 ) + 1482a: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_SCROLLBAR); - 14844: 2142 movs r1, #66 ; 0x42 - 14846: 4620 mov r0, r4 - 14848: 47c0 blx r8 + 1482c: 2142 movs r1, #66 ; 0x42 + 1482e: 4620 mov r0, r4 + 14830: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_SCROLLBAR); - 1484a: 2142 movs r1, #66 ; 0x42 - 1484c: 4620 mov r0, r4 - 1484e: 47b8 blx r7 + 14832: 2142 movs r1, #66 ; 0x42 + 14834: 4620 mov r0, r4 + 14836: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 14850: 6831 ldr r1, [r6, #0] - 14852: 3180 adds r1, #128 ; 0x80 - 14854: 47a8 blx r5 + 14838: 6831 ldr r1, [r6, #0] + 1483a: 3180 adds r1, #128 ; 0x80 + 1483c: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE); - 14856: 2141 movs r1, #65 ; 0x41 - 14858: 4620 mov r0, r4 - 1485a: 47c0 blx r8 + 1483e: 2141 movs r1, #65 ; 0x41 + 14840: 4620 mov r0, r4 + 14842: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_CONTENT_SCROLLABLE); - 1485c: 2141 movs r1, #65 ; 0x41 - 1485e: 4620 mov r0, r4 - 14860: 47b8 blx r7 + 14844: 2141 movs r1, #65 ; 0x41 + 14846: 4620 mov r0, r4 + 14848: 47b8 blx r7 _lv_style_list_add_style(list, &styles->tabview_page_scrl); - 14862: 6831 ldr r1, [r6, #0] - 14864: 31b0 adds r1, #176 ; 0xb0 - 14866: 47a8 blx r5 + 1484a: 6831 ldr r1, [r6, #0] + 1484c: 31b0 adds r1, #176 ; 0xb0 + 1484e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_WIN_PART_HEADER); - 14868: 2140 movs r1, #64 ; 0x40 - 1486a: 4620 mov r0, r4 - 1486c: 47c0 blx r8 + 14850: 2140 movs r1, #64 ; 0x40 + 14852: 4620 mov r0, r4 + 14854: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_WIN_PART_HEADER); - 1486e: 2140 movs r1, #64 ; 0x40 - 14870: 4620 mov r0, r4 - 14872: 47b8 blx r7 + 14856: 2140 movs r1, #64 ; 0x40 + 14858: 4620 mov r0, r4 + 1485a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->tabview_btns_bg); - 14874: 6831 ldr r1, [r6, #0] - 14876: 31a8 adds r1, #168 ; 0xa8 - 14878: 47a8 blx r5 + 1485c: 6831 ldr r1, [r6, #0] + 1485e: 31a8 adds r1, #168 ; 0xa8 + 14860: 47a8 blx r5 break; - 1487a: e4f8 b.n 1426e + 14862: e4f8 b.n 14256 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 1487c: 2100 movs r1, #0 - 1487e: 4b60 ldr r3, [pc, #384] ; (14a00 ) - 14880: 4798 blx r3 + 14864: 2100 movs r1, #0 + 14866: 4b60 ldr r3, [pc, #384] ; (149e8 ) + 14868: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 14882: 2100 movs r1, #0 - 14884: 4620 mov r0, r4 - 14886: 4b5b ldr r3, [pc, #364] ; (149f4 ) - 14888: 4798 blx r3 + 1486a: 2100 movs r1, #0 + 1486c: 4620 mov r0, r4 + 1486e: 4b5b ldr r3, [pc, #364] ; (149dc ) + 14870: 4798 blx r3 _lv_style_list_add_style(list, &styles->tabview_btns); - 1488a: 4b5b ldr r3, [pc, #364] ; (149f8 ) - 1488c: 6819 ldr r1, [r3, #0] - 1488e: 31a4 adds r1, #164 ; 0xa4 - 14890: 4b5a ldr r3, [pc, #360] ; (149fc ) - 14892: 4798 blx r3 + 14872: 4b5b ldr r3, [pc, #364] ; (149e0 ) + 14874: 6819 ldr r1, [r3, #0] + 14876: 31a4 adds r1, #164 ; 0xa4 + 14878: 4b5a ldr r3, [pc, #360] ; (149e4 ) + 1487a: 4798 blx r3 break; - 14894: e4eb b.n 1426e + 1487c: e4eb b.n 14256 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_BG); - 14896: 2100 movs r1, #0 - 14898: f8df 8164 ldr.w r8, [pc, #356] ; 14a00 - 1489c: 47c0 blx r8 + 1487e: 2100 movs r1, #0 + 14880: f8df 8164 ldr.w r8, [pc, #356] ; 149e8 + 14884: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG); - 1489e: 2100 movs r1, #0 - 148a0: 4620 mov r0, r4 - 148a2: 4f54 ldr r7, [pc, #336] ; (149f4 ) - 148a4: 47b8 blx r7 - 148a6: 4681 mov r9, r0 + 14886: 2100 movs r1, #0 + 14888: 4620 mov r0, r4 + 1488a: 4f54 ldr r7, [pc, #336] ; (149dc ) + 1488c: 47b8 blx r7 + 1488e: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 148a8: 4e53 ldr r6, [pc, #332] ; (149f8 ) - 148aa: 6831 ldr r1, [r6, #0] - 148ac: 3104 adds r1, #4 - 148ae: 4d53 ldr r5, [pc, #332] ; (149fc ) - 148b0: 47a8 blx r5 + 14890: 4e53 ldr r6, [pc, #332] ; (149e0 ) + 14892: 6831 ldr r1, [r6, #0] + 14894: 3104 adds r1, #4 + 14896: 4d53 ldr r5, [pc, #332] ; (149e4 ) + 14898: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 148b2: 6831 ldr r1, [r6, #0] - 148b4: 3118 adds r1, #24 - 148b6: 4648 mov r0, r9 - 148b8: 47a8 blx r5 + 1489a: 6831 ldr r1, [r6, #0] + 1489c: 3118 adds r1, #24 + 1489e: 4648 mov r0, r9 + 148a0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER); - 148ba: 2104 movs r1, #4 - 148bc: 4620 mov r0, r4 - 148be: 47c0 blx r8 + 148a2: 2104 movs r1, #4 + 148a4: 4620 mov r0, r4 + 148a6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER); - 148c0: 2104 movs r1, #4 - 148c2: 4620 mov r0, r4 - 148c4: 47b8 blx r7 + 148a8: 2104 movs r1, #4 + 148aa: 4620 mov r0, r4 + 148ac: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ta_placeholder); - 148c6: 6831 ldr r1, [r6, #0] - 148c8: 31b8 adds r1, #184 ; 0xb8 - 148ca: 47a8 blx r5 + 148ae: 6831 ldr r1, [r6, #0] + 148b0: 31b8 adds r1, #184 ; 0xb8 + 148b2: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_CURSOR); - 148cc: 2103 movs r1, #3 - 148ce: 4620 mov r0, r4 - 148d0: 47c0 blx r8 + 148b4: 2103 movs r1, #3 + 148b6: 4620 mov r0, r4 + 148b8: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR); - 148d2: 2103 movs r1, #3 - 148d4: 4620 mov r0, r4 - 148d6: 47b8 blx r7 + 148ba: 2103 movs r1, #3 + 148bc: 4620 mov r0, r4 + 148be: 47b8 blx r7 _lv_style_list_add_style(list, &styles->ta_cursor); - 148d8: 6831 ldr r1, [r6, #0] - 148da: 31b4 adds r1, #180 ; 0xb4 - 148dc: 47a8 blx r5 + 148c0: 6831 ldr r1, [r6, #0] + 148c2: 31b4 adds r1, #180 ; 0xb4 + 148c4: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR); - 148de: 2101 movs r1, #1 - 148e0: 4620 mov r0, r4 - 148e2: 47c0 blx r8 + 148c6: 2101 movs r1, #1 + 148c8: 4620 mov r0, r4 + 148ca: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCROLLBAR); - 148e4: 2101 movs r1, #1 - 148e6: 4620 mov r0, r4 - 148e8: 47b8 blx r7 + 148cc: 2101 movs r1, #1 + 148ce: 4620 mov r0, r4 + 148d0: 47b8 blx r7 _lv_style_list_add_style(list, &styles->sb); - 148ea: 6831 ldr r1, [r6, #0] - 148ec: 3180 adds r1, #128 ; 0x80 - 148ee: 47a8 blx r5 + 148d2: 6831 ldr r1, [r6, #0] + 148d4: 3180 adds r1, #128 ; 0x80 + 148d6: 47a8 blx r5 break; - 148f0: e4bd b.n 1426e + 148d8: e4bd b.n 14256 lv_obj_clean_style_list(obj, LV_SPINBOX_PART_BG); - 148f2: 2100 movs r1, #0 - 148f4: f8df 8108 ldr.w r8, [pc, #264] ; 14a00 - 148f8: 47c0 blx r8 + 148da: 2100 movs r1, #0 + 148dc: f8df 8108 ldr.w r8, [pc, #264] ; 149e8 + 148e0: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_BG); - 148fa: 2100 movs r1, #0 - 148fc: 4620 mov r0, r4 - 148fe: 4f3d ldr r7, [pc, #244] ; (149f4 ) - 14900: 47b8 blx r7 - 14902: 4681 mov r9, r0 + 148e2: 2100 movs r1, #0 + 148e4: 4620 mov r0, r4 + 148e6: 4f3d ldr r7, [pc, #244] ; (149dc ) + 148e8: 47b8 blx r7 + 148ea: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14904: 4e3c ldr r6, [pc, #240] ; (149f8 ) - 14906: 6831 ldr r1, [r6, #0] - 14908: 3104 adds r1, #4 - 1490a: 4d3c ldr r5, [pc, #240] ; (149fc ) - 1490c: 47a8 blx r5 + 148ec: 4e3c ldr r6, [pc, #240] ; (149e0 ) + 148ee: 6831 ldr r1, [r6, #0] + 148f0: 3104 adds r1, #4 + 148f2: 4d3c ldr r5, [pc, #240] ; (149e4 ) + 148f4: 47a8 blx r5 _lv_style_list_add_style(list, &styles->pad_small); - 1490e: 6831 ldr r1, [r6, #0] - 14910: 3118 adds r1, #24 - 14912: 4648 mov r0, r9 - 14914: 47a8 blx r5 + 148f6: 6831 ldr r1, [r6, #0] + 148f8: 3118 adds r1, #24 + 148fa: 4648 mov r0, r9 + 148fc: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_SPINBOX_PART_CURSOR); - 14916: 2103 movs r1, #3 - 14918: 4620 mov r0, r4 - 1491a: 47c0 blx r8 + 148fe: 2103 movs r1, #3 + 14900: 4620 mov r0, r4 + 14902: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_CURSOR); - 1491c: 2103 movs r1, #3 - 1491e: 4620 mov r0, r4 - 14920: 47b8 blx r7 + 14904: 2103 movs r1, #3 + 14906: 4620 mov r0, r4 + 14908: 47b8 blx r7 _lv_style_list_add_style(list, &styles->spinbox_cursor); - 14922: 6831 ldr r1, [r6, #0] - 14924: 3198 adds r1, #152 ; 0x98 - 14926: 47a8 blx r5 + 1490a: 6831 ldr r1, [r6, #0] + 1490c: 3198 adds r1, #152 ; 0x98 + 1490e: 47a8 blx r5 break; - 14928: e4a1 b.n 1426e + 14910: e4a1 b.n 14256 lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN); - 1492a: 2100 movs r1, #0 - 1492c: 4b34 ldr r3, [pc, #208] ; (14a00 ) - 1492e: 4798 blx r3 + 14912: 2100 movs r1, #0 + 14914: 4b34 ldr r3, [pc, #208] ; (149e8 ) + 14916: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN); - 14930: 2100 movs r1, #0 - 14932: 4620 mov r0, r4 - 14934: 4b2f ldr r3, [pc, #188] ; (149f4 ) - 14936: 4798 blx r3 - 14938: 4607 mov r7, r0 + 14918: 2100 movs r1, #0 + 1491a: 4620 mov r0, r4 + 1491c: 4b2f ldr r3, [pc, #188] ; (149dc ) + 1491e: 4798 blx r3 + 14920: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 1493a: 4e2f ldr r6, [pc, #188] ; (149f8 ) - 1493c: 6831 ldr r1, [r6, #0] - 1493e: 3104 adds r1, #4 - 14940: 4d2e ldr r5, [pc, #184] ; (149fc ) - 14942: 47a8 blx r5 + 14922: 4e2f ldr r6, [pc, #188] ; (149e0 ) + 14924: 6831 ldr r1, [r6, #0] + 14926: 3104 adds r1, #4 + 14928: 4d2e ldr r5, [pc, #184] ; (149e4 ) + 1492a: 47a8 blx r5 _lv_style_list_add_style(list, &styles->bg_click); - 14944: 6831 ldr r1, [r6, #0] - 14946: 3108 adds r1, #8 - 14948: 4638 mov r0, r7 - 1494a: 47a8 blx r5 + 1492c: 6831 ldr r1, [r6, #0] + 1492e: 3108 adds r1, #8 + 14930: 4638 mov r0, r7 + 14932: 47a8 blx r5 break; - 1494c: e48f b.n 1426e + 14934: e48f b.n 14256 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_BG); - 1494e: 2100 movs r1, #0 - 14950: f8df 80ac ldr.w r8, [pc, #172] ; 14a00 - 14954: 47c0 blx r8 + 14936: 2100 movs r1, #0 + 14938: f8df 80ac ldr.w r8, [pc, #172] ; 149e8 + 1493c: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_BG); - 14956: 2100 movs r1, #0 - 14958: 4620 mov r0, r4 - 1495a: 4f26 ldr r7, [pc, #152] ; (149f4 ) - 1495c: 47b8 blx r7 + 1493e: 2100 movs r1, #0 + 14940: 4620 mov r0, r4 + 14942: 4f26 ldr r7, [pc, #152] ; (149dc ) + 14944: 47b8 blx r7 _lv_style_list_add_style(list, &styles->bg); - 1495e: 4e26 ldr r6, [pc, #152] ; (149f8 ) - 14960: 6831 ldr r1, [r6, #0] - 14962: 3104 adds r1, #4 - 14964: 4d25 ldr r5, [pc, #148] ; (149fc ) - 14966: 47a8 blx r5 + 14946: 4e26 ldr r6, [pc, #152] ; (149e0 ) + 14948: 6831 ldr r1, [r6, #0] + 1494a: 3104 adds r1, #4 + 1494c: 4d25 ldr r5, [pc, #148] ; (149e4 ) + 1494e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DATE); - 14968: 2103 movs r1, #3 - 1496a: 4620 mov r0, r4 - 1496c: 47c0 blx r8 + 14950: 2103 movs r1, #3 + 14952: 4620 mov r0, r4 + 14954: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DATE); - 1496e: 2103 movs r1, #3 - 14970: 4620 mov r0, r4 - 14972: 47b8 blx r7 + 14956: 2103 movs r1, #3 + 14958: 4620 mov r0, r4 + 1495a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_date_nums); - 14974: 6831 ldr r1, [r6, #0] - 14976: 312c adds r1, #44 ; 0x2c - 14978: 47a8 blx r5 + 1495c: 6831 ldr r1, [r6, #0] + 1495e: 312c adds r1, #44 ; 0x2c + 14960: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_HEADER); - 1497a: 2101 movs r1, #1 - 1497c: 4620 mov r0, r4 - 1497e: 47c0 blx r8 + 14962: 2101 movs r1, #1 + 14964: 4620 mov r0, r4 + 14966: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_HEADER); - 14980: 2101 movs r1, #1 - 14982: 4620 mov r0, r4 - 14984: 47b8 blx r7 + 14968: 2101 movs r1, #1 + 1496a: 4620 mov r0, r4 + 1496c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_header); - 14986: 6831 ldr r1, [r6, #0] - 14988: 3130 adds r1, #48 ; 0x30 - 1498a: 47a8 blx r5 + 1496e: 6831 ldr r1, [r6, #0] + 14970: 3130 adds r1, #48 ; 0x30 + 14972: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DAY_NAMES); - 1498c: 2102 movs r1, #2 - 1498e: 4620 mov r0, r4 - 14990: 47c0 blx r8 + 14974: 2102 movs r1, #2 + 14976: 4620 mov r0, r4 + 14978: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DAY_NAMES); - 14992: 2102 movs r1, #2 - 14994: 4620 mov r0, r4 - 14996: 47b8 blx r7 + 1497a: 2102 movs r1, #2 + 1497c: 4620 mov r0, r4 + 1497e: 47b8 blx r7 _lv_style_list_add_style(list, &styles->calendar_daynames); - 14998: 6831 ldr r1, [r6, #0] - 1499a: 3134 adds r1, #52 ; 0x34 - 1499c: 47a8 blx r5 + 14980: 6831 ldr r1, [r6, #0] + 14982: 3134 adds r1, #52 ; 0x34 + 14984: 47a8 blx r5 break; - 1499e: e466 b.n 1426e + 14986: e466 b.n 14256 lv_obj_clean_style_list(obj, LV_CPICKER_PART_MAIN); - 149a0: 2100 movs r1, #0 - 149a2: f8df 805c ldr.w r8, [pc, #92] ; 14a00 - 149a6: 47c0 blx r8 + 14988: 2100 movs r1, #0 + 1498a: f8df 805c ldr.w r8, [pc, #92] ; 149e8 + 1498e: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CPICKER_PART_MAIN); - 149a8: 2100 movs r1, #0 - 149aa: 4620 mov r0, r4 - 149ac: 4f11 ldr r7, [pc, #68] ; (149f4 ) - 149ae: 47b8 blx r7 + 14990: 2100 movs r1, #0 + 14992: 4620 mov r0, r4 + 14994: 4f11 ldr r7, [pc, #68] ; (149dc ) + 14996: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cpicker_bg); - 149b0: 4e11 ldr r6, [pc, #68] ; (149f8 ) - 149b2: 6831 ldr r1, [r6, #0] - 149b4: 3138 adds r1, #56 ; 0x38 - 149b6: 4d11 ldr r5, [pc, #68] ; (149fc ) - 149b8: 47a8 blx r5 + 14998: 4e11 ldr r6, [pc, #68] ; (149e0 ) + 1499a: 6831 ldr r1, [r6, #0] + 1499c: 3138 adds r1, #56 ; 0x38 + 1499e: 4d11 ldr r5, [pc, #68] ; (149e4 ) + 149a0: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_CPICKER_PART_KNOB); - 149ba: 2101 movs r1, #1 - 149bc: 4620 mov r0, r4 - 149be: 47c0 blx r8 + 149a2: 2101 movs r1, #1 + 149a4: 4620 mov r0, r4 + 149a6: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_CPICKER_PART_KNOB); - 149c0: 2101 movs r1, #1 - 149c2: 4620 mov r0, r4 - 149c4: 47b8 blx r7 + 149a8: 2101 movs r1, #1 + 149aa: 4620 mov r0, r4 + 149ac: 47b8 blx r7 _lv_style_list_add_style(list, &styles->cpicker_indic); - 149c6: 6831 ldr r1, [r6, #0] - 149c8: 313c adds r1, #60 ; 0x3c - 149ca: 47a8 blx r5 + 149ae: 6831 ldr r1, [r6, #0] + 149b0: 313c adds r1, #60 ; 0x3c + 149b2: 47a8 blx r5 break; - 149cc: e44f b.n 1426e + 149b4: e44f b.n 14256 lv_obj_clean_style_list(obj, LV_LINEMETER_PART_MAIN); - 149ce: 2100 movs r1, #0 - 149d0: 4b0b ldr r3, [pc, #44] ; (14a00 ) - 149d2: 4798 blx r3 + 149b6: 2100 movs r1, #0 + 149b8: 4b0b ldr r3, [pc, #44] ; (149e8 ) + 149ba: 4798 blx r3 list = lv_obj_get_style_list(obj, LV_LINEMETER_PART_MAIN); - 149d4: 2100 movs r1, #0 - 149d6: 4620 mov r0, r4 - 149d8: 4b06 ldr r3, [pc, #24] ; (149f4 ) - 149da: 4798 blx r3 - 149dc: 4607 mov r7, r0 + 149bc: 2100 movs r1, #0 + 149be: 4620 mov r0, r4 + 149c0: 4b06 ldr r3, [pc, #24] ; (149dc ) + 149c2: 4798 blx r3 + 149c4: 4607 mov r7, r0 _lv_style_list_add_style(list, &styles->bg); - 149de: 4e06 ldr r6, [pc, #24] ; (149f8 ) - 149e0: 6831 ldr r1, [r6, #0] - 149e2: 3104 adds r1, #4 - 149e4: 4d05 ldr r5, [pc, #20] ; (149fc ) - 149e6: 47a8 blx r5 + 149c6: 4e06 ldr r6, [pc, #24] ; (149e0 ) + 149c8: 6831 ldr r1, [r6, #0] + 149ca: 3104 adds r1, #4 + 149cc: 4d05 ldr r5, [pc, #20] ; (149e4 ) + 149ce: 47a8 blx r5 _lv_style_list_add_style(list, &styles->lmeter); - 149e8: 6831 ldr r1, [r6, #0] - 149ea: 3170 adds r1, #112 ; 0x70 - 149ec: 4638 mov r0, r7 - 149ee: 47a8 blx r5 + 149d0: 6831 ldr r1, [r6, #0] + 149d2: 3170 adds r1, #112 ; 0x70 + 149d4: 4638 mov r0, r7 + 149d6: 47a8 blx r5 break; - 149f0: e43d b.n 1426e - 149f2: bf00 nop - 149f4: 00002ffd .word 0x00002ffd - 149f8: 20006bd8 .word 0x20006bd8 - 149fc: 000065d9 .word 0x000065d9 - 14a00: 000030cd .word 0x000030cd + 149d8: e43d b.n 14256 + 149da: bf00 nop + 149dc: 00002fe5 .word 0x00002fe5 + 149e0: 20006bd8 .word 0x20006bd8 + 149e4: 000065c1 .word 0x000065c1 + 149e8: 000030b5 .word 0x000030b5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAIN); - 14a04: 2100 movs r1, #0 - 14a06: f8df 8054 ldr.w r8, [pc, #84] ; 14a5c - 14a0a: 47c0 blx r8 + 149ec: 2100 movs r1, #0 + 149ee: f8df 8054 ldr.w r8, [pc, #84] ; 14a44 + 149f2: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAIN); - 14a0c: 2100 movs r1, #0 - 14a0e: 4620 mov r0, r4 - 14a10: 4f0f ldr r7, [pc, #60] ; (14a50 ) - 14a12: 47b8 blx r7 - 14a14: 4681 mov r9, r0 + 149f4: 2100 movs r1, #0 + 149f6: 4620 mov r0, r4 + 149f8: 4f0f ldr r7, [pc, #60] ; (14a38 ) + 149fa: 47b8 blx r7 + 149fc: 4681 mov r9, r0 _lv_style_list_add_style(list, &styles->bg); - 14a16: 4e0f ldr r6, [pc, #60] ; (14a54 ) - 14a18: 6831 ldr r1, [r6, #0] - 14a1a: 3104 adds r1, #4 - 14a1c: 4d0e ldr r5, [pc, #56] ; (14a58 ) - 14a1e: 47a8 blx r5 + 149fe: 4e0f ldr r6, [pc, #60] ; (14a3c ) + 14a00: 6831 ldr r1, [r6, #0] + 14a02: 3104 adds r1, #4 + 14a04: 4d0e ldr r5, [pc, #56] ; (14a40 ) + 14a06: 47a8 blx r5 _lv_style_list_add_style(list, &styles->gauge_main); - 14a20: 6831 ldr r1, [r6, #0] - 14a22: 315c adds r1, #92 ; 0x5c - 14a24: 4648 mov r0, r9 - 14a26: 47a8 blx r5 + 14a08: 6831 ldr r1, [r6, #0] + 14a0a: 315c adds r1, #92 ; 0x5c + 14a0c: 4648 mov r0, r9 + 14a0e: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAJOR); - 14a28: 2101 movs r1, #1 - 14a2a: 4620 mov r0, r4 - 14a2c: 47c0 blx r8 + 14a10: 2101 movs r1, #1 + 14a12: 4620 mov r0, r4 + 14a14: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAJOR); - 14a2e: 2101 movs r1, #1 - 14a30: 4620 mov r0, r4 - 14a32: 47b8 blx r7 + 14a16: 2101 movs r1, #1 + 14a18: 4620 mov r0, r4 + 14a1a: 47b8 blx r7 _lv_style_list_add_style(list, &styles->gauge_strong); - 14a34: 6831 ldr r1, [r6, #0] - 14a36: 3160 adds r1, #96 ; 0x60 - 14a38: 47a8 blx r5 + 14a1c: 6831 ldr r1, [r6, #0] + 14a1e: 3160 adds r1, #96 ; 0x60 + 14a20: 47a8 blx r5 lv_obj_clean_style_list(obj, LV_GAUGE_PART_NEEDLE); - 14a3a: 2102 movs r1, #2 - 14a3c: 4620 mov r0, r4 - 14a3e: 47c0 blx r8 + 14a22: 2102 movs r1, #2 + 14a24: 4620 mov r0, r4 + 14a26: 47c0 blx r8 list = lv_obj_get_style_list(obj, LV_GAUGE_PART_NEEDLE); - 14a40: 2102 movs r1, #2 - 14a42: 4620 mov r0, r4 - 14a44: 47b8 blx r7 + 14a28: 2102 movs r1, #2 + 14a2a: 4620 mov r0, r4 + 14a2c: 47b8 blx r7 _lv_style_list_add_style(list, &styles->gauge_needle); - 14a46: 6831 ldr r1, [r6, #0] - 14a48: 3164 adds r1, #100 ; 0x64 - 14a4a: 47a8 blx r5 + 14a2e: 6831 ldr r1, [r6, #0] + 14a30: 3164 adds r1, #100 ; 0x64 + 14a32: 47a8 blx r5 break; - 14a4c: e40f b.n 1426e - 14a4e: bf00 nop - 14a50: 00002ffd .word 0x00002ffd - 14a54: 20006bd8 .word 0x20006bd8 - 14a58: 000065d9 .word 0x000065d9 - 14a5c: 000030cd .word 0x000030cd - -00014a60 : + 14a34: e40f b.n 14256 + 14a36: bf00 nop + 14a38: 00002fe5 .word 0x00002fe5 + 14a3c: 20006bd8 .word 0x20006bd8 + 14a40: 000065c1 .word 0x000065c1 + 14a44: 000030b5 .word 0x000030b5 + +00014a48 : /********************** * STATIC FUNCTIONS **********************/ static void style_init_reset(lv_style_t * style) { - 14a60: b508 push {r3, lr} + 14a48: b508 push {r3, lr} if(inited) lv_style_reset(style); - 14a62: 4b04 ldr r3, [pc, #16] ; (14a74 ) - 14a64: 791b ldrb r3, [r3, #4] - 14a66: b913 cbnz r3, 14a6e + 14a4a: 4b04 ldr r3, [pc, #16] ; (14a5c ) + 14a4c: 791b ldrb r3, [r3, #4] + 14a4e: b913 cbnz r3, 14a56 else lv_style_init(style); - 14a68: 4b03 ldr r3, [pc, #12] ; (14a78 ) - 14a6a: 4798 blx r3 - 14a6c: bd08 pop {r3, pc} + 14a50: 4b03 ldr r3, [pc, #12] ; (14a60 ) + 14a52: 4798 blx r3 + 14a54: bd08 pop {r3, pc} if(inited) lv_style_reset(style); - 14a6e: 4b03 ldr r3, [pc, #12] ; (14a7c ) - 14a70: 4798 blx r3 - 14a72: bd08 pop {r3, pc} - 14a74: 20006bd8 .word 0x20006bd8 - 14a78: 000064d9 .word 0x000064d9 - 14a7c: 00006765 .word 0x00006765 + 14a56: 4b03 ldr r3, [pc, #12] ; (14a64 ) + 14a58: 4798 blx r3 + 14a5a: bd08 pop {r3, pc} + 14a5c: 20006bd8 .word 0x20006bd8 + 14a60: 000064c1 .word 0x000064c1 + 14a64: 0000674d .word 0x0000674d -00014a80 : +00014a68 : { - 14a80: b570 push {r4, r5, r6, lr} + 14a68: b570 push {r4, r5, r6, lr} style_init_reset(&styles->scr); - 14a82: 4cb3 ldr r4, [pc, #716] ; (14d50 ) - 14a84: 6820 ldr r0, [r4, #0] - 14a86: 4bb3 ldr r3, [pc, #716] ; (14d54 ) - 14a88: 4798 blx r3 + 14a6a: 4cb3 ldr r4, [pc, #716] ; (14d38 ) + 14a6c: 6820 ldr r0, [r4, #0] + 14a6e: 4bb3 ldr r3, [pc, #716] ; (14d3c ) + 14a70: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_MAIN_STOP, bg_main_stop, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_STOP, bg_grad_stop, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_DIR, bg_grad_dir, lv_grad_dir_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_GRAD_COLOR, bg_grad_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14a8a: 22ff movs r2, #255 ; 0xff - 14a8c: 212c movs r1, #44 ; 0x2c - 14a8e: 6820 ldr r0, [r4, #0] - 14a90: 4bb1 ldr r3, [pc, #708] ; (14d58 ) - 14a92: 4798 blx r3 + 14a72: 22ff movs r2, #255 ; 0xff + 14a74: 212c movs r1, #44 ; 0x2c + 14a76: 6820 ldr r0, [r4, #0] + 14a78: 4bb1 ldr r3, [pc, #708] ; (14d40 ) + 14a7a: 4798 blx r3 lv_style_set_bg_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR); - 14a94: 6a23 ldr r3, [r4, #32] - 14a96: f013 0302 ands.w r3, r3, #2 - 14a9a: bf14 ite ne - 14a9c: 211d movne r1, #29 - 14a9e: 2108 moveq r1, #8 - 14aa0: 2b00 cmp r3, #0 - 14aa2: bf15 itete ne - 14aa4: 203b movne r0, #59 ; 0x3b - 14aa6: 2012 moveq r0, #18 - 14aa8: 231e movne r3, #30 - 14aaa: 230b moveq r3, #11 - 14aac: f04f 0200 mov.w r2, #0 - 14ab0: f363 0204 bfi r2, r3, #0, #5 - 14ab4: f360 124a bfi r2, r0, #5, #6 - 14ab8: f361 22cf bfi r2, r1, #11, #5 + 14a7c: 6a23 ldr r3, [r4, #32] + 14a7e: f013 0302 ands.w r3, r3, #2 + 14a82: bf14 ite ne + 14a84: 211d movne r1, #29 + 14a86: 2108 moveq r1, #8 + 14a88: 2b00 cmp r3, #0 + 14a8a: bf15 itete ne + 14a8c: 203b movne r0, #59 ; 0x3b + 14a8e: 2012 moveq r0, #18 + 14a90: 231e movne r3, #30 + 14a92: 230b moveq r3, #11 + 14a94: f04f 0200 mov.w r2, #0 + 14a98: f363 0204 bfi r2, r3, #0, #5 + 14a9c: f360 124a bfi r2, r0, #5, #6 + 14aa0: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14abc: 2129 movs r1, #41 ; 0x29 - 14abe: 6820 ldr r0, [r4, #0] - 14ac0: 4ba6 ldr r3, [pc, #664] ; (14d5c ) - 14ac2: 4798 blx r3 + 14aa4: 2129 movs r1, #41 ; 0x29 + 14aa6: 6820 ldr r0, [r4, #0] + 14aa8: 4ba6 ldr r3, [pc, #664] ; (14d44 ) + 14aaa: 4798 blx r3 lv_style_set_text_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 14ac4: 4620 mov r0, r4 - 14ac6: 6a23 ldr r3, [r4, #32] - 14ac8: f013 0302 ands.w r3, r3, #2 - 14acc: bf14 ite ne - 14ace: 2107 movne r1, #7 - 14ad0: 211c moveq r1, #28 - 14ad2: 2b00 cmp r3, #0 - 14ad4: bf15 itete ne - 14ad6: 240f movne r4, #15 - 14ad8: 243a moveq r4, #58 ; 0x3a - 14ada: 2308 movne r3, #8 - 14adc: 231d moveq r3, #29 - 14ade: f04f 0200 mov.w r2, #0 - 14ae2: f363 0204 bfi r2, r3, #0, #5 - 14ae6: f364 124a bfi r2, r4, #5, #6 - 14aea: f361 22cf bfi r2, r1, #11, #5 + 14aac: 4620 mov r0, r4 + 14aae: 6a23 ldr r3, [r4, #32] + 14ab0: f013 0302 ands.w r3, r3, #2 + 14ab4: bf14 ite ne + 14ab6: 2107 movne r1, #7 + 14ab8: 211c moveq r1, #28 + 14aba: 2b00 cmp r3, #0 + 14abc: bf15 itete ne + 14abe: 240f movne r4, #15 + 14ac0: 243a moveq r4, #58 ; 0x3a + 14ac2: 2308 movne r3, #8 + 14ac4: 231d moveq r3, #29 + 14ac6: f04f 0200 mov.w r2, #0 + 14aca: f363 0204 bfi r2, r3, #0, #5 + 14ace: f364 124a bfi r2, r4, #5, #6 + 14ad2: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_STR, value_str, const char *, _ptr, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_DECOR, text_decor, lv_text_decor_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_BLEND_MODE, text_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 14aee: f248 0189 movw r1, #32905 ; 0x8089 - 14af2: 6800 ldr r0, [r0, #0] - 14af4: 4b99 ldr r3, [pc, #612] ; (14d5c ) - 14af6: 4798 blx r3 + 14ad6: f248 0189 movw r1, #32905 ; 0x8089 + 14ada: 6800 ldr r0, [r0, #0] + 14adc: 4b99 ldr r3, [pc, #612] ; (14d44 ) + 14ade: 4798 blx r3 lv_style_set_value_color(&styles->scr, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 14af8: 4895 ldr r0, [pc, #596] ; (14d50 ) - 14afa: 6a03 ldr r3, [r0, #32] - 14afc: f013 0302 ands.w r3, r3, #2 - 14b00: bf14 ite ne - 14b02: 2107 movne r1, #7 - 14b04: 211c moveq r1, #28 - 14b06: 2b00 cmp r3, #0 - 14b08: bf15 itete ne - 14b0a: 240f movne r4, #15 - 14b0c: 243a moveq r4, #58 ; 0x3a - 14b0e: 2308 movne r3, #8 - 14b10: 231d moveq r3, #29 - 14b12: f04f 0200 mov.w r2, #0 - 14b16: f363 0204 bfi r2, r3, #0, #5 - 14b1a: f364 124a bfi r2, r4, #5, #6 - 14b1e: f361 22cf bfi r2, r1, #11, #5 + 14ae0: 4895 ldr r0, [pc, #596] ; (14d38 ) + 14ae2: 6a03 ldr r3, [r0, #32] + 14ae4: f013 0302 ands.w r3, r3, #2 + 14ae8: bf14 ite ne + 14aea: 2107 movne r1, #7 + 14aec: 211c moveq r1, #28 + 14aee: 2b00 cmp r3, #0 + 14af0: bf15 itete ne + 14af2: 240f movne r4, #15 + 14af4: 243a moveq r4, #58 ; 0x3a + 14af6: 2308 movne r3, #8 + 14af8: 231d moveq r3, #29 + 14afa: f04f 0200 mov.w r2, #0 + 14afe: f363 0204 bfi r2, r3, #0, #5 + 14b02: f364 124a bfi r2, r4, #5, #6 + 14b06: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 14b22: 2179 movs r1, #121 ; 0x79 - 14b24: 6800 ldr r0, [r0, #0] - 14b26: 4b8d ldr r3, [pc, #564] ; (14d5c ) - 14b28: 4798 blx r3 + 14b0a: 2179 movs r1, #121 ; 0x79 + 14b0c: 6800 ldr r0, [r0, #0] + 14b0e: 4b8d ldr r3, [pc, #564] ; (14d44 ) + 14b10: 4798 blx r3 lv_style_set_text_font(&styles->scr, LV_STATE_DEFAULT, theme.font_normal); - 14b2a: 4c89 ldr r4, [pc, #548] ; (14d50 ) + 14b12: 4c89 ldr r4, [pc, #548] ; (14d38 ) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_SEL_COLOR, text_sel_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_OPA, text_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 14b2c: 6962 ldr r2, [r4, #20] - 14b2e: f248 018e movw r1, #32910 ; 0x808e - 14b32: 6820 ldr r0, [r4, #0] - 14b34: 4d8a ldr r5, [pc, #552] ; (14d60 ) - 14b36: 47a8 blx r5 + 14b14: 6962 ldr r2, [r4, #20] + 14b16: f248 018e movw r1, #32910 ; 0x808e + 14b1a: 6820 ldr r0, [r4, #0] + 14b1c: 4d8a ldr r5, [pc, #552] ; (14d48 ) + 14b1e: 47a8 blx r5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 14b38: 6962 ldr r2, [r4, #20] - 14b3a: 217e movs r1, #126 ; 0x7e - 14b3c: 6820 ldr r0, [r4, #0] - 14b3e: 47a8 blx r5 + 14b20: 6962 ldr r2, [r4, #20] + 14b22: 217e movs r1, #126 ; 0x7e + 14b24: 6820 ldr r0, [r4, #0] + 14b26: 47a8 blx r5 style_init_reset(&styles->bg); - 14b40: 6820 ldr r0, [r4, #0] - 14b42: 3004 adds r0, #4 - 14b44: 4b83 ldr r3, [pc, #524] ; (14d54 ) - 14b46: 4798 blx r3 + 14b28: 6820 ldr r0, [r4, #0] + 14b2a: 3004 adds r0, #4 + 14b2c: 4b83 ldr r3, [pc, #524] ; (14d3c ) + 14b2e: 4798 blx r3 lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); - 14b48: 6824 ldr r4, [r4, #0] - 14b4a: 3404 adds r4, #4 - 14b4c: 2000 movs r0, #0 - 14b4e: 4b85 ldr r3, [pc, #532] ; (14d64 ) - 14b50: 4798 blx r3 - 14b52: 300a adds r0, #10 - 14b54: 00c0 lsls r0, r0, #3 - 14b56: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14b5a: f280 8646 bge.w 157ea - 14b5e: 2201 movs r2, #1 + 14b30: 6824 ldr r4, [r4, #0] + 14b32: 3404 adds r4, #4 + 14b34: 2000 movs r0, #0 + 14b36: 4b85 ldr r3, [pc, #532] ; (14d4c ) + 14b38: 4798 blx r3 + 14b3a: 300a adds r0, #10 + 14b3c: 00c0 lsls r0, r0, #3 + 14b3e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14b42: f280 8646 bge.w 157d2 + 14b46: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 14b60: 2101 movs r1, #1 - 14b62: 4620 mov r0, r4 - 14b64: 4b80 ldr r3, [pc, #512] ; (14d68 ) - 14b66: 4798 blx r3 + 14b48: 2101 movs r1, #1 + 14b4a: 4620 mov r0, r4 + 14b4c: 4b80 ldr r3, [pc, #512] ; (14d50 ) + 14b4e: 4798 blx r3 lv_style_set_bg_opa(&styles->bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 14b68: 4c79 ldr r4, [pc, #484] ; (14d50 ) - 14b6a: 6820 ldr r0, [r4, #0] + 14b50: 4c79 ldr r4, [pc, #484] ; (14d38 ) + 14b52: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 14b6c: 22ff movs r2, #255 ; 0xff - 14b6e: 212c movs r1, #44 ; 0x2c - 14b70: 3004 adds r0, #4 - 14b72: 4b79 ldr r3, [pc, #484] ; (14d58 ) - 14b74: 4798 blx r3 + 14b54: 22ff movs r2, #255 ; 0xff + 14b56: 212c movs r1, #44 ; 0x2c + 14b58: 3004 adds r0, #4 + 14b5a: 4b79 ldr r3, [pc, #484] ; (14d40 ) + 14b5c: 4798 blx r3 lv_style_set_bg_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG); - 14b76: 6820 ldr r0, [r4, #0] - 14b78: 3004 adds r0, #4 - 14b7a: 6a23 ldr r3, [r4, #32] - 14b7c: f013 0f02 tst.w r3, #2 - 14b80: f040 8641 bne.w 15806 - 14b84: 230b movs r3, #11 - 14b86: 2118 movs r1, #24 - 14b88: 240e movs r4, #14 - 14b8a: f04f 0200 mov.w r2, #0 - 14b8e: f364 0204 bfi r2, r4, #0, #5 - 14b92: f361 124a bfi r2, r1, #5, #6 - 14b96: f363 22cf bfi r2, r3, #11, #5 + 14b5e: 6820 ldr r0, [r4, #0] + 14b60: 3004 adds r0, #4 + 14b62: 6a23 ldr r3, [r4, #32] + 14b64: f013 0f02 tst.w r3, #2 + 14b68: f040 8641 bne.w 157ee + 14b6c: 230b movs r3, #11 + 14b6e: 2118 movs r1, #24 + 14b70: 240e movs r4, #14 + 14b72: f04f 0200 mov.w r2, #0 + 14b76: f364 0204 bfi r2, r4, #0, #5 + 14b7a: f361 124a bfi r2, r1, #5, #6 + 14b7e: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14b9a: 2129 movs r1, #41 ; 0x29 - 14b9c: 4b6f ldr r3, [pc, #444] ; (14d5c ) - 14b9e: 4798 blx r3 + 14b82: 2129 movs r1, #41 ; 0x29 + 14b84: 4b6f ldr r3, [pc, #444] ; (14d44 ) + 14b86: 4798 blx r3 lv_style_set_border_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 14ba0: 4b6b ldr r3, [pc, #428] ; (14d50 ) - 14ba2: 6818 ldr r0, [r3, #0] - 14ba4: 6a1b ldr r3, [r3, #32] - 14ba6: f013 0302 ands.w r3, r3, #2 - 14baa: bf14 ite ne - 14bac: 211a movne r1, #26 - 14bae: 2110 moveq r1, #16 - 14bb0: 2b00 cmp r3, #0 - 14bb2: bf15 itete ne - 14bb4: 2437 movne r4, #55 ; 0x37 - 14bb6: 2422 moveq r4, #34 ; 0x22 - 14bb8: 231c movne r3, #28 - 14bba: 2312 moveq r3, #18 - 14bbc: f04f 0200 mov.w r2, #0 - 14bc0: f363 0204 bfi r2, r3, #0, #5 - 14bc4: f364 124a bfi r2, r4, #5, #6 - 14bc8: f361 22cf bfi r2, r1, #11, #5 + 14b88: 4b6b ldr r3, [pc, #428] ; (14d38 ) + 14b8a: 6818 ldr r0, [r3, #0] + 14b8c: 6a1b ldr r3, [r3, #32] + 14b8e: f013 0302 ands.w r3, r3, #2 + 14b92: bf14 ite ne + 14b94: 211a movne r1, #26 + 14b96: 2110 moveq r1, #16 + 14b98: 2b00 cmp r3, #0 + 14b9a: bf15 itete ne + 14b9c: 2437 movne r4, #55 ; 0x37 + 14b9e: 2422 moveq r4, #34 ; 0x22 + 14ba0: 231c movne r3, #28 + 14ba2: 2312 moveq r3, #18 + 14ba4: f04f 0200 mov.w r2, #0 + 14ba8: f363 0204 bfi r2, r3, #0, #5 + 14bac: f364 124a bfi r2, r4, #5, #6 + 14bb0: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 14bcc: 2139 movs r1, #57 ; 0x39 - 14bce: 3004 adds r0, #4 - 14bd0: 4d62 ldr r5, [pc, #392] ; (14d5c ) - 14bd2: 47a8 blx r5 + 14bb4: 2139 movs r1, #57 ; 0x39 + 14bb6: 3004 adds r0, #4 + 14bb8: 4d62 ldr r5, [pc, #392] ; (14d44 ) + 14bba: 47a8 blx r5 lv_style_set_border_color(&styles->bg, LV_STATE_FOCUSED, theme.color_primary); - 14bd4: 4c5e ldr r4, [pc, #376] ; (14d50 ) - 14bd6: 6820 ldr r0, [r4, #0] - 14bd8: 89a2 ldrh r2, [r4, #12] - 14bda: f240 2139 movw r1, #569 ; 0x239 - 14bde: 3004 adds r0, #4 - 14be0: 47a8 blx r5 + 14bbc: 4c5e ldr r4, [pc, #376] ; (14d38 ) + 14bbe: 6820 ldr r0, [r4, #0] + 14bc0: 89a2 ldrh r2, [r4, #12] + 14bc2: f240 2139 movw r1, #569 ; 0x239 + 14bc6: 3004 adds r0, #4 + 14bc8: 47a8 blx r5 lv_style_set_border_color(&styles->bg, LV_STATE_EDITED, theme.color_secondary); - 14be2: 6820 ldr r0, [r4, #0] - 14be4: 89e2 ldrh r2, [r4, #14] - 14be6: f240 4139 movw r1, #1081 ; 0x439 - 14bea: 3004 adds r0, #4 - 14bec: 47a8 blx r5 + 14bca: 6820 ldr r0, [r4, #0] + 14bcc: 89e2 ldrh r2, [r4, #14] + 14bce: f240 4139 movw r1, #1081 ; 0x439 + 14bd2: 3004 adds r0, #4 + 14bd4: 47a8 blx r5 lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); - 14bee: 6824 ldr r4, [r4, #0] - 14bf0: 3404 adds r4, #4 - 14bf2: 2000 movs r0, #0 - 14bf4: 4b5b ldr r3, [pc, #364] ; (14d64 ) - 14bf6: 4798 blx r3 - 14bf8: 3028 adds r0, #40 ; 0x28 - 14bfa: 0040 lsls r0, r0, #1 - 14bfc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14c00: f280 8606 bge.w 15810 - 14c04: 2201 movs r2, #1 + 14bd6: 6824 ldr r4, [r4, #0] + 14bd8: 3404 adds r4, #4 + 14bda: 2000 movs r0, #0 + 14bdc: 4b5b ldr r3, [pc, #364] ; (14d4c ) + 14bde: 4798 blx r3 + 14be0: 3028 adds r0, #40 ; 0x28 + 14be2: 0040 lsls r0, r0, #1 + 14be4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14be8: f280 8606 bge.w 157f8 + 14bec: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 14c06: 2130 movs r1, #48 ; 0x30 - 14c08: 4620 mov r0, r4 - 14c0a: 4d57 ldr r5, [pc, #348] ; (14d68 ) - 14c0c: 47a8 blx r5 + 14bee: 2130 movs r1, #48 ; 0x30 + 14bf0: 4620 mov r0, r4 + 14bf2: 4d57 ldr r5, [pc, #348] ; (14d50 ) + 14bf4: 47a8 blx r5 lv_style_set_border_post(&styles->bg, LV_STATE_DEFAULT, true); - 14c0e: 4c50 ldr r4, [pc, #320] ; (14d50 ) - 14c10: 6820 ldr r0, [r4, #0] + 14bf6: 4c50 ldr r4, [pc, #320] ; (14d38 ) + 14bf8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 14c12: 2201 movs r2, #1 - 14c14: 2133 movs r1, #51 ; 0x33 - 14c16: 3004 adds r0, #4 - 14c18: 47a8 blx r5 + 14bfa: 2201 movs r2, #1 + 14bfc: 2133 movs r1, #51 ; 0x33 + 14bfe: 3004 adds r0, #4 + 14c00: 47a8 blx r5 lv_style_set_text_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal); - 14c1a: 6820 ldr r0, [r4, #0] + 14c02: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 14c1c: 6962 ldr r2, [r4, #20] - 14c1e: f248 018e movw r1, #32910 ; 0x808e - 14c22: 3004 adds r0, #4 - 14c24: 4b4e ldr r3, [pc, #312] ; (14d60 ) - 14c26: 4798 blx r3 + 14c04: 6962 ldr r2, [r4, #20] + 14c06: f248 018e movw r1, #32910 ; 0x808e + 14c0a: 3004 adds r0, #4 + 14c0c: 4b4e ldr r3, [pc, #312] ; (14d48 ) + 14c0e: 4798 blx r3 lv_style_set_text_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 14c28: 6820 ldr r0, [r4, #0] - 14c2a: 3004 adds r0, #4 - 14c2c: 6a23 ldr r3, [r4, #32] - 14c2e: f013 0f02 tst.w r3, #2 - 14c32: f040 85fb bne.w 1582c - 14c36: 231f movs r3, #31 - 14c38: 213f movs r1, #63 ; 0x3f - 14c3a: 461c mov r4, r3 - 14c3c: f04f 0200 mov.w r2, #0 - 14c40: f364 0204 bfi r2, r4, #0, #5 - 14c44: f361 124a bfi r2, r1, #5, #6 - 14c48: f363 22cf bfi r2, r3, #11, #5 + 14c10: 6820 ldr r0, [r4, #0] + 14c12: 3004 adds r0, #4 + 14c14: 6a23 ldr r3, [r4, #32] + 14c16: f013 0f02 tst.w r3, #2 + 14c1a: f040 85fb bne.w 15814 + 14c1e: 231f movs r3, #31 + 14c20: 213f movs r1, #63 ; 0x3f + 14c22: 461c mov r4, r3 + 14c24: f04f 0200 mov.w r2, #0 + 14c28: f364 0204 bfi r2, r4, #0, #5 + 14c2c: f361 124a bfi r2, r1, #5, #6 + 14c30: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 14c4c: f248 0189 movw r1, #32905 ; 0x8089 - 14c50: 4b42 ldr r3, [pc, #264] ; (14d5c ) - 14c52: 4798 blx r3 + 14c34: f248 0189 movw r1, #32905 ; 0x8089 + 14c38: 4b42 ldr r3, [pc, #264] ; (14d44 ) + 14c3a: 4798 blx r3 lv_style_set_value_font(&styles->bg, LV_STATE_DEFAULT, theme.font_normal); - 14c54: 4c3e ldr r4, [pc, #248] ; (14d50 ) - 14c56: 6820 ldr r0, [r4, #0] + 14c3c: 4c3e ldr r4, [pc, #248] ; (14d38 ) + 14c3e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_FONT, value_font, const lv_font_t *, _ptr, scalar) - 14c58: 6962 ldr r2, [r4, #20] - 14c5a: 217e movs r1, #126 ; 0x7e - 14c5c: 3004 adds r0, #4 - 14c5e: 4b40 ldr r3, [pc, #256] ; (14d60 ) - 14c60: 4798 blx r3 + 14c40: 6962 ldr r2, [r4, #20] + 14c42: 217e movs r1, #126 ; 0x7e + 14c44: 3004 adds r0, #4 + 14c46: 4b40 ldr r3, [pc, #256] ; (14d48 ) + 14c48: 4798 blx r3 lv_style_set_value_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 14c62: 6820 ldr r0, [r4, #0] - 14c64: 3004 adds r0, #4 - 14c66: 6a23 ldr r3, [r4, #32] - 14c68: f013 0f02 tst.w r3, #2 - 14c6c: f040 85e3 bne.w 15836 - 14c70: 231f movs r3, #31 - 14c72: 213f movs r1, #63 ; 0x3f - 14c74: 461c mov r4, r3 - 14c76: f04f 0200 mov.w r2, #0 - 14c7a: f364 0204 bfi r2, r4, #0, #5 - 14c7e: f361 124a bfi r2, r1, #5, #6 - 14c82: f363 22cf bfi r2, r3, #11, #5 + 14c4a: 6820 ldr r0, [r4, #0] + 14c4c: 3004 adds r0, #4 + 14c4e: 6a23 ldr r3, [r4, #32] + 14c50: f013 0f02 tst.w r3, #2 + 14c54: f040 85e3 bne.w 1581e + 14c58: 231f movs r3, #31 + 14c5a: 213f movs r1, #63 ; 0x3f + 14c5c: 461c mov r4, r3 + 14c5e: f04f 0200 mov.w r2, #0 + 14c62: f364 0204 bfi r2, r4, #0, #5 + 14c66: f361 124a bfi r2, r1, #5, #6 + 14c6a: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 14c86: 2179 movs r1, #121 ; 0x79 - 14c88: 4b34 ldr r3, [pc, #208] ; (14d5c ) - 14c8a: 4798 blx r3 + 14c6e: 2179 movs r1, #121 ; 0x79 + 14c70: 4b34 ldr r3, [pc, #208] ; (14d44 ) + 14c72: 4798 blx r3 lv_style_set_image_recolor(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 14c8c: 4b30 ldr r3, [pc, #192] ; (14d50 ) - 14c8e: 6818 ldr r0, [r3, #0] - 14c90: 3004 adds r0, #4 - 14c92: 6a1b ldr r3, [r3, #32] - 14c94: f013 0f02 tst.w r3, #2 - 14c98: f040 85d2 bne.w 15840 - 14c9c: 231f movs r3, #31 - 14c9e: 213f movs r1, #63 ; 0x3f - 14ca0: 461c mov r4, r3 - 14ca2: f04f 0200 mov.w r2, #0 - 14ca6: f364 0204 bfi r2, r4, #0, #5 - 14caa: f361 124a bfi r2, r1, #5, #6 - 14cae: f363 22cf bfi r2, r3, #11, #5 + 14c74: 4b30 ldr r3, [pc, #192] ; (14d38 ) + 14c76: 6818 ldr r0, [r3, #0] + 14c78: 3004 adds r0, #4 + 14c7a: 6a1b ldr r3, [r3, #32] + 14c7c: f013 0f02 tst.w r3, #2 + 14c80: f040 85d2 bne.w 15828 + 14c84: 231f movs r3, #31 + 14c86: 213f movs r1, #63 ; 0x3f + 14c88: 461c mov r4, r3 + 14c8a: f04f 0200 mov.w r2, #0 + 14c8e: f364 0204 bfi r2, r4, #0, #5 + 14c92: f361 124a bfi r2, r1, #5, #6 + 14c96: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 14cb2: f248 01a9 movw r1, #32937 ; 0x80a9 - 14cb6: 4b29 ldr r3, [pc, #164] ; (14d5c ) - 14cb8: 4798 blx r3 + 14c9a: f248 01a9 movw r1, #32937 ; 0x80a9 + 14c9e: 4b29 ldr r3, [pc, #164] ; (14d44 ) + 14ca0: 4798 blx r3 lv_style_set_line_color(&styles->bg, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 14cba: 4b25 ldr r3, [pc, #148] ; (14d50 ) - 14cbc: 6818 ldr r0, [r3, #0] - 14cbe: 3004 adds r0, #4 - 14cc0: 6a1b ldr r3, [r3, #32] - 14cc2: f013 0f02 tst.w r3, #2 - 14cc6: f040 85c0 bne.w 1584a - 14cca: 231f movs r3, #31 - 14ccc: 213f movs r1, #63 ; 0x3f - 14cce: 461c mov r4, r3 - 14cd0: f04f 0200 mov.w r2, #0 - 14cd4: f364 0204 bfi r2, r4, #0, #5 - 14cd8: f361 124a bfi r2, r1, #5, #6 - 14cdc: f363 22cf bfi r2, r3, #11, #5 + 14ca2: 4b25 ldr r3, [pc, #148] ; (14d38 ) + 14ca4: 6818 ldr r0, [r3, #0] + 14ca6: 3004 adds r0, #4 + 14ca8: 6a1b ldr r3, [r3, #32] + 14caa: f013 0f02 tst.w r3, #2 + 14cae: f040 85c0 bne.w 15832 + 14cb2: 231f movs r3, #31 + 14cb4: 213f movs r1, #63 ; 0x3f + 14cb6: 461c mov r4, r3 + 14cb8: f04f 0200 mov.w r2, #0 + 14cbc: f364 0204 bfi r2, r4, #0, #5 + 14cc0: f361 124a bfi r2, r1, #5, #6 + 14cc4: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 14ce0: 2199 movs r1, #153 ; 0x99 - 14ce2: 4b1e ldr r3, [pc, #120] ; (14d5c ) - 14ce4: 4798 blx r3 + 14cc8: 2199 movs r1, #153 ; 0x99 + 14cca: 4b1e ldr r3, [pc, #120] ; (14d44 ) + 14ccc: 4798 blx r3 lv_style_set_line_width(&styles->bg, LV_STATE_DEFAULT, 1); - 14ce6: 4c1a ldr r4, [pc, #104] ; (14d50 ) - 14ce8: 6820 ldr r0, [r4, #0] + 14cce: 4c1a ldr r4, [pc, #104] ; (14d38 ) + 14cd0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 14cea: 2201 movs r2, #1 - 14cec: 2190 movs r1, #144 ; 0x90 - 14cee: 3004 adds r0, #4 - 14cf0: 4b1d ldr r3, [pc, #116] ; (14d68 ) - 14cf2: 4798 blx r3 + 14cd2: 2201 movs r2, #1 + 14cd4: 2190 movs r1, #144 ; 0x90 + 14cd6: 3004 adds r0, #4 + 14cd8: 4b1d ldr r3, [pc, #116] ; (14d50 ) + 14cda: 4798 blx r3 lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 14cf4: 6825 ldr r5, [r4, #0] - 14cf6: 3504 adds r5, #4 - 14cf8: 2000 movs r0, #0 - 14cfa: 4b1c ldr r3, [pc, #112] ; (14d6c ) - 14cfc: 4798 blx r3 - 14cfe: 2801 cmp r0, #1 - 14d00: f240 85a8 bls.w 15854 + 14cdc: 6825 ldr r5, [r4, #0] + 14cde: 3504 adds r5, #4 + 14ce0: 2000 movs r0, #0 + 14ce2: 4b1c ldr r3, [pc, #112] ; (14d54 ) + 14ce4: 4798 blx r3 + 14ce6: 2801 cmp r0, #1 + 14ce8: f240 85a8 bls.w 1583c + 14cec: 2000 movs r0, #0 + 14cee: 4b17 ldr r3, [pc, #92] ; (14d4c ) + 14cf0: 4798 blx r3 + 14cf2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14cf6: 0040 lsls r0, r0, #1 + 14cf8: 3050 adds r0, #80 ; 0x50 + 14cfa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14cfe: f280 85b8 bge.w 15872 + 14d02: 2401 movs r4, #1 14d04: 2000 movs r0, #0 - 14d06: 4b17 ldr r3, [pc, #92] ; (14d64 ) + 14d06: 4b11 ldr r3, [pc, #68] ; (14d4c ) 14d08: 4798 blx r3 - 14d0a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 14d0e: 0040 lsls r0, r0, #1 - 14d10: 3050 adds r0, #80 ; 0x50 - 14d12: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14d16: f280 85b8 bge.w 1588a - 14d1a: 2401 movs r4, #1 - 14d1c: 2000 movs r0, #0 - 14d1e: 4b11 ldr r3, [pc, #68] ; (14d64 ) - 14d20: 4798 blx r3 - 14d22: 3028 adds r0, #40 ; 0x28 - 14d24: 0040 lsls r0, r0, #1 - 14d26: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14d2a: f280 85be bge.w 158aa - 14d2e: 2201 movs r2, #1 - 14d30: 4422 add r2, r4 + 14d0a: 3028 adds r0, #40 ; 0x28 + 14d0c: 0040 lsls r0, r0, #1 + 14d0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d12: f280 85be bge.w 15892 + 14d16: 2201 movs r2, #1 + 14d18: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 14d32: b212 sxth r2, r2 - 14d34: 2112 movs r1, #18 - 14d36: 4628 mov r0, r5 - 14d38: 4b0b ldr r3, [pc, #44] ; (14d68 ) - 14d3a: 4798 blx r3 + 14d1a: b212 sxth r2, r2 + 14d1c: 2112 movs r1, #18 + 14d1e: 4628 mov r0, r5 + 14d20: 4b0b ldr r3, [pc, #44] ; (14d50 ) + 14d22: 4798 blx r3 lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 14d3c: 4b04 ldr r3, [pc, #16] ; (14d50 ) - 14d3e: 681d ldr r5, [r3, #0] - 14d40: 3504 adds r5, #4 - 14d42: 2000 movs r0, #0 - 14d44: 4b09 ldr r3, [pc, #36] ; (14d6c ) - 14d46: 4798 blx r3 - 14d48: 2801 cmp r0, #1 - 14d4a: f240 85bc bls.w 158c6 - 14d4e: e00f b.n 14d70 - 14d50: 20006bd8 .word 0x20006bd8 - 14d54: 00014a61 .word 0x00014a61 - 14d58: 00006b69 .word 0x00006b69 - 14d5c: 00006a25 .word 0x00006a25 - 14d60: 00006c99 .word 0x00006c99 - 14d64: 00010f3d .word 0x00010f3d - 14d68: 000068e1 .word 0x000068e1 - 14d6c: 00010f59 .word 0x00010f59 + 14d24: 4b04 ldr r3, [pc, #16] ; (14d38 ) + 14d26: 681d ldr r5, [r3, #0] + 14d28: 3504 adds r5, #4 + 14d2a: 2000 movs r0, #0 + 14d2c: 4b09 ldr r3, [pc, #36] ; (14d54 ) + 14d2e: 4798 blx r3 + 14d30: 2801 cmp r0, #1 + 14d32: f240 85bc bls.w 158ae + 14d36: e00f b.n 14d58 + 14d38: 20006bd8 .word 0x20006bd8 + 14d3c: 00014a49 .word 0x00014a49 + 14d40: 00006b51 .word 0x00006b51 + 14d44: 00006a0d .word 0x00006a0d + 14d48: 00006c81 .word 0x00006c81 + 14d4c: 00010f25 .word 0x00010f25 + 14d50: 000068c9 .word 0x000068c9 + 14d54: 00010f41 .word 0x00010f41 + 14d58: 2000 movs r0, #0 + 14d5a: 4bb1 ldr r3, [pc, #708] ; (15020 ) + 14d5c: 4798 blx r3 + 14d5e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14d62: 0040 lsls r0, r0, #1 + 14d64: 3050 adds r0, #80 ; 0x50 + 14d66: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d6a: f280 85bb bge.w 158e4 + 14d6e: 2401 movs r4, #1 14d70: 2000 movs r0, #0 - 14d72: 4bb1 ldr r3, [pc, #708] ; (15038 ) + 14d72: 4bab ldr r3, [pc, #684] ; (15020 ) 14d74: 4798 blx r3 - 14d76: ebc0 1000 rsb r0, r0, r0, lsl #4 - 14d7a: 0040 lsls r0, r0, #1 - 14d7c: 3050 adds r0, #80 ; 0x50 - 14d7e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14d82: f280 85bb bge.w 158fc - 14d86: 2401 movs r4, #1 - 14d88: 2000 movs r0, #0 - 14d8a: 4bab ldr r3, [pc, #684] ; (15038 ) - 14d8c: 4798 blx r3 - 14d8e: 3028 adds r0, #40 ; 0x28 - 14d90: 0040 lsls r0, r0, #1 - 14d92: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14d96: f280 85c1 bge.w 1591c - 14d9a: 2201 movs r2, #1 - 14d9c: 4422 add r2, r4 + 14d76: 3028 adds r0, #40 ; 0x28 + 14d78: 0040 lsls r0, r0, #1 + 14d7a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14d7e: f280 85c1 bge.w 15904 + 14d82: 2201 movs r2, #1 + 14d84: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 14d9e: b212 sxth r2, r2 - 14da0: 2113 movs r1, #19 - 14da2: 4628 mov r0, r5 - 14da4: 4ba5 ldr r3, [pc, #660] ; (1503c ) - 14da6: 4798 blx r3 + 14d86: b212 sxth r2, r2 + 14d88: 2113 movs r1, #19 + 14d8a: 4628 mov r0, r5 + 14d8c: 4ba5 ldr r3, [pc, #660] ; (15024 ) + 14d8e: 4798 blx r3 lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 14da8: 4ba5 ldr r3, [pc, #660] ; (15040 ) - 14daa: 681d ldr r5, [r3, #0] - 14dac: 3504 adds r5, #4 - 14dae: 2000 movs r0, #0 - 14db0: 4ba4 ldr r3, [pc, #656] ; (15044 ) - 14db2: 4798 blx r3 - 14db4: 2801 cmp r0, #1 - 14db6: f240 85bf bls.w 15938 + 14d90: 4ba5 ldr r3, [pc, #660] ; (15028 ) + 14d92: 681d ldr r5, [r3, #0] + 14d94: 3504 adds r5, #4 + 14d96: 2000 movs r0, #0 + 14d98: 4ba4 ldr r3, [pc, #656] ; (1502c ) + 14d9a: 4798 blx r3 + 14d9c: 2801 cmp r0, #1 + 14d9e: f240 85bf bls.w 15920 + 14da2: 2000 movs r0, #0 + 14da4: 4b9e ldr r3, [pc, #632] ; (15020 ) + 14da6: 4798 blx r3 + 14da8: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14dac: 0040 lsls r0, r0, #1 + 14dae: 3050 adds r0, #80 ; 0x50 + 14db0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14db4: f280 85cf bge.w 15956 + 14db8: 2401 movs r4, #1 14dba: 2000 movs r0, #0 - 14dbc: 4b9e ldr r3, [pc, #632] ; (15038 ) + 14dbc: 4b98 ldr r3, [pc, #608] ; (15020 ) 14dbe: 4798 blx r3 - 14dc0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 14dc4: 0040 lsls r0, r0, #1 - 14dc6: 3050 adds r0, #80 ; 0x50 - 14dc8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14dcc: f280 85cf bge.w 1596e - 14dd0: 2401 movs r4, #1 - 14dd2: 2000 movs r0, #0 - 14dd4: 4b98 ldr r3, [pc, #608] ; (15038 ) - 14dd6: 4798 blx r3 - 14dd8: 3028 adds r0, #40 ; 0x28 - 14dda: 0040 lsls r0, r0, #1 - 14ddc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14de0: f280 85d5 bge.w 1598e - 14de4: 2201 movs r2, #1 - 14de6: 4422 add r2, r4 + 14dc0: 3028 adds r0, #40 ; 0x28 + 14dc2: 0040 lsls r0, r0, #1 + 14dc4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14dc8: f280 85d5 bge.w 15976 + 14dcc: 2201 movs r2, #1 + 14dce: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 14de8: b212 sxth r2, r2 - 14dea: 2110 movs r1, #16 - 14dec: 4628 mov r0, r5 - 14dee: 4b93 ldr r3, [pc, #588] ; (1503c ) - 14df0: 4798 blx r3 + 14dd0: b212 sxth r2, r2 + 14dd2: 2110 movs r1, #16 + 14dd4: 4628 mov r0, r5 + 14dd6: 4b93 ldr r3, [pc, #588] ; (15024 ) + 14dd8: 4798 blx r3 lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 14df2: 4b93 ldr r3, [pc, #588] ; (15040 ) - 14df4: 681d ldr r5, [r3, #0] - 14df6: 3504 adds r5, #4 - 14df8: 2000 movs r0, #0 - 14dfa: 4b92 ldr r3, [pc, #584] ; (15044 ) - 14dfc: 4798 blx r3 - 14dfe: 2801 cmp r0, #1 - 14e00: f240 85d3 bls.w 159aa + 14dda: 4b93 ldr r3, [pc, #588] ; (15028 ) + 14ddc: 681d ldr r5, [r3, #0] + 14dde: 3504 adds r5, #4 + 14de0: 2000 movs r0, #0 + 14de2: 4b92 ldr r3, [pc, #584] ; (1502c ) + 14de4: 4798 blx r3 + 14de6: 2801 cmp r0, #1 + 14de8: f240 85d3 bls.w 15992 + 14dec: 2000 movs r0, #0 + 14dee: 4b8c ldr r3, [pc, #560] ; (15020 ) + 14df0: 4798 blx r3 + 14df2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14df6: 0040 lsls r0, r0, #1 + 14df8: 3050 adds r0, #80 ; 0x50 + 14dfa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14dfe: f280 85f4 bge.w 159ea + 14e02: 2401 movs r4, #1 14e04: 2000 movs r0, #0 - 14e06: 4b8c ldr r3, [pc, #560] ; (15038 ) + 14e06: 4b86 ldr r3, [pc, #536] ; (15020 ) 14e08: 4798 blx r3 - 14e0a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 14e0e: 0040 lsls r0, r0, #1 - 14e10: 3050 adds r0, #80 ; 0x50 - 14e12: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14e16: f280 85f4 bge.w 15a02 - 14e1a: 2401 movs r4, #1 - 14e1c: 2000 movs r0, #0 - 14e1e: 4b86 ldr r3, [pc, #536] ; (15038 ) - 14e20: 4798 blx r3 - 14e22: 3028 adds r0, #40 ; 0x28 - 14e24: 0040 lsls r0, r0, #1 - 14e26: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14e2a: f280 85fa bge.w 15a22 - 14e2e: 2201 movs r2, #1 - 14e30: 4422 add r2, r4 + 14e0a: 3028 adds r0, #40 ; 0x28 + 14e0c: 0040 lsls r0, r0, #1 + 14e0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14e12: f280 85fa bge.w 15a0a + 14e16: 2201 movs r2, #1 + 14e18: 4422 add r2, r4 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 14e32: b212 sxth r2, r2 - 14e34: 2111 movs r1, #17 - 14e36: 4628 mov r0, r5 - 14e38: 4b80 ldr r3, [pc, #512] ; (1503c ) - 14e3a: 4798 blx r3 + 14e1a: b212 sxth r2, r2 + 14e1c: 2111 movs r1, #17 + 14e1e: 4628 mov r0, r5 + 14e20: 4b80 ldr r3, [pc, #512] ; (15024 ) + 14e22: 4798 blx r3 lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF); - 14e3c: 4b80 ldr r3, [pc, #512] ; (15040 ) - 14e3e: 681c ldr r4, [r3, #0] - 14e40: 3404 adds r4, #4 - 14e42: 2000 movs r0, #0 - 14e44: 4b7f ldr r3, [pc, #508] ; (15044 ) - 14e46: 4798 blx r3 - 14e48: 2801 cmp r0, #1 - 14e4a: f240 85f8 bls.w 15a3e - 14e4e: 2000 movs r0, #0 - 14e50: 4b79 ldr r3, [pc, #484] ; (15038 ) - 14e52: 4798 blx r3 - 14e54: ebc0 1000 rsb r0, r0, r0, lsl #4 - 14e58: 0040 lsls r0, r0, #1 - 14e5a: 3050 adds r0, #80 ; 0x50 - 14e5c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 14e60: f280 8608 bge.w 15a74 - 14e64: 2201 movs r2, #1 + 14e24: 4b80 ldr r3, [pc, #512] ; (15028 ) + 14e26: 681c ldr r4, [r3, #0] + 14e28: 3404 adds r4, #4 + 14e2a: 2000 movs r0, #0 + 14e2c: 4b7f ldr r3, [pc, #508] ; (1502c ) + 14e2e: 4798 blx r3 + 14e30: 2801 cmp r0, #1 + 14e32: f240 85f8 bls.w 15a26 + 14e36: 2000 movs r0, #0 + 14e38: 4b79 ldr r3, [pc, #484] ; (15020 ) + 14e3a: 4798 blx r3 + 14e3c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 14e40: 0040 lsls r0, r0, #1 + 14e42: 3050 adds r0, #80 ; 0x50 + 14e44: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 14e48: f280 8608 bge.w 15a5c + 14e4c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 14e66: 2114 movs r1, #20 - 14e68: 4620 mov r0, r4 - 14e6a: 4d74 ldr r5, [pc, #464] ; (1503c ) - 14e6c: 47a8 blx r5 + 14e4e: 2114 movs r1, #20 + 14e50: 4620 mov r0, r4 + 14e52: 4d74 ldr r5, [pc, #464] ; (15024 ) + 14e54: 47a8 blx r5 lv_style_set_transition_time(&styles->bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 14e6e: 4c74 ldr r4, [pc, #464] ; (15040 ) - 14e70: 6820 ldr r0, [r4, #0] + 14e56: 4c74 ldr r4, [pc, #464] ; (15028 ) + 14e58: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR_OPA, image_recolor_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 14e72: 2296 movs r2, #150 ; 0x96 - 14e74: 21b0 movs r1, #176 ; 0xb0 - 14e76: 3004 adds r0, #4 - 14e78: 47a8 blx r5 + 14e5a: 2296 movs r2, #150 ; 0x96 + 14e5c: 21b0 movs r1, #176 ; 0xb0 + 14e5e: 3004 adds r0, #4 + 14e60: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->bg, LV_STATE_DEFAULT, LV_STYLE_BORDER_COLOR); - 14e7a: 6820 ldr r0, [r4, #0] + 14e62: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_1, transition_prop_1, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_2, transition_prop_2, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_3, transition_prop_3, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 14e7c: 2239 movs r2, #57 ; 0x39 - 14e7e: 21b7 movs r1, #183 ; 0xb7 - 14e80: 3004 adds r0, #4 - 14e82: 47a8 blx r5 + 14e64: 2239 movs r2, #57 ; 0x39 + 14e66: 21b7 movs r1, #183 ; 0xb7 + 14e68: 3004 adds r0, #4 + 14e6a: 47a8 blx r5 style_init_reset(&styles->bg_sec); - 14e84: 6820 ldr r0, [r4, #0] - 14e86: 300c adds r0, #12 - 14e88: 4b6f ldr r3, [pc, #444] ; (15048 ) - 14e8a: 4798 blx r3 + 14e6c: 6820 ldr r0, [r4, #0] + 14e6e: 300c adds r0, #12 + 14e70: 4b6f ldr r3, [pc, #444] ; (15030 ) + 14e72: 4798 blx r3 lv_style_copy(&styles->bg_sec, &styles->bg); - 14e8c: 6820 ldr r0, [r4, #0] - 14e8e: 1d01 adds r1, r0, #4 - 14e90: 300c adds r0, #12 - 14e92: 4b6e ldr r3, [pc, #440] ; (1504c ) - 14e94: 4798 blx r3 + 14e74: 6820 ldr r0, [r4, #0] + 14e76: 1d01 adds r1, r0, #4 + 14e78: 300c adds r0, #12 + 14e7a: 4b6e ldr r3, [pc, #440] ; (15034 ) + 14e7c: 4798 blx r3 lv_style_set_bg_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC); - 14e96: 6820 ldr r0, [r4, #0] - 14e98: 6a23 ldr r3, [r4, #32] - 14e9a: f013 0302 ands.w r3, r3, #2 - 14e9e: bf14 ite ne - 14ea0: 211a movne r1, #26 - 14ea2: 2108 moveq r1, #8 - 14ea4: 2b00 cmp r3, #0 - 14ea6: bf15 itete ne - 14ea8: 2435 movne r4, #53 ; 0x35 - 14eaa: 2412 moveq r4, #18 - 14eac: 231b movne r3, #27 - 14eae: 2309 moveq r3, #9 - 14eb0: f04f 0200 mov.w r2, #0 - 14eb4: f363 0204 bfi r2, r3, #0, #5 - 14eb8: f364 124a bfi r2, r4, #5, #6 - 14ebc: f361 22cf bfi r2, r1, #11, #5 + 14e7e: 6820 ldr r0, [r4, #0] + 14e80: 6a23 ldr r3, [r4, #32] + 14e82: f013 0302 ands.w r3, r3, #2 + 14e86: bf14 ite ne + 14e88: 211a movne r1, #26 + 14e8a: 2108 moveq r1, #8 + 14e8c: 2b00 cmp r3, #0 + 14e8e: bf15 itete ne + 14e90: 2435 movne r4, #53 ; 0x35 + 14e92: 2412 moveq r4, #18 + 14e94: 231b movne r3, #27 + 14e96: 2309 moveq r3, #9 + 14e98: f04f 0200 mov.w r2, #0 + 14e9c: f363 0204 bfi r2, r3, #0, #5 + 14ea0: f364 124a bfi r2, r4, #5, #6 + 14ea4: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14ec0: 2129 movs r1, #41 ; 0x29 - 14ec2: 300c adds r0, #12 - 14ec4: 4b62 ldr r3, [pc, #392] ; (15050 ) - 14ec6: 4798 blx r3 + 14ea8: 2129 movs r1, #41 ; 0x29 + 14eaa: 300c adds r0, #12 + 14eac: 4b62 ldr r3, [pc, #392] ; (15038 ) + 14eae: 4798 blx r3 lv_style_set_border_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_BORDER); - 14ec8: 4b5d ldr r3, [pc, #372] ; (15040 ) - 14eca: 6818 ldr r0, [r3, #0] - 14ecc: 300c adds r0, #12 - 14ece: 6a1b ldr r3, [r3, #32] - 14ed0: f013 0f02 tst.w r3, #2 - 14ed4: f040 85de bne.w 15a94 - 14ed8: 2308 movs r3, #8 - 14eda: 2110 movs r1, #16 - 14edc: 461c mov r4, r3 - 14ede: f04f 0200 mov.w r2, #0 - 14ee2: f364 0204 bfi r2, r4, #0, #5 - 14ee6: f361 124a bfi r2, r1, #5, #6 - 14eea: f363 22cf bfi r2, r3, #11, #5 + 14eb0: 4b5d ldr r3, [pc, #372] ; (15028 ) + 14eb2: 6818 ldr r0, [r3, #0] + 14eb4: 300c adds r0, #12 + 14eb6: 6a1b ldr r3, [r3, #32] + 14eb8: f013 0f02 tst.w r3, #2 + 14ebc: f040 85de bne.w 15a7c + 14ec0: 2308 movs r3, #8 + 14ec2: 2110 movs r1, #16 + 14ec4: 461c mov r4, r3 + 14ec6: f04f 0200 mov.w r2, #0 + 14eca: f364 0204 bfi r2, r4, #0, #5 + 14ece: f361 124a bfi r2, r1, #5, #6 + 14ed2: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 14eee: 2139 movs r1, #57 ; 0x39 - 14ef0: 4b57 ldr r3, [pc, #348] ; (15050 ) - 14ef2: 4798 blx r3 + 14ed6: 2139 movs r1, #57 ; 0x39 + 14ed8: 4b57 ldr r3, [pc, #348] ; (15038 ) + 14eda: 4798 blx r3 lv_style_set_text_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 14ef4: 4b52 ldr r3, [pc, #328] ; (15040 ) - 14ef6: 6818 ldr r0, [r3, #0] - 14ef8: 6a1b ldr r3, [r3, #32] - 14efa: f013 0302 ands.w r3, r3, #2 - 14efe: bf14 ite ne - 14f00: 2106 movne r1, #6 - 14f02: 2114 moveq r1, #20 - 14f04: 2b00 cmp r3, #0 - 14f06: bf15 itete ne - 14f08: 2410 movne r4, #16 - 14f0a: 242a moveq r4, #42 ; 0x2a - 14f0c: 2309 movne r3, #9 - 14f0e: 2315 moveq r3, #21 - 14f10: f04f 0200 mov.w r2, #0 - 14f14: f363 0204 bfi r2, r3, #0, #5 - 14f18: f364 124a bfi r2, r4, #5, #6 - 14f1c: f361 22cf bfi r2, r1, #11, #5 + 14edc: 4b52 ldr r3, [pc, #328] ; (15028 ) + 14ede: 6818 ldr r0, [r3, #0] + 14ee0: 6a1b ldr r3, [r3, #32] + 14ee2: f013 0302 ands.w r3, r3, #2 + 14ee6: bf14 ite ne + 14ee8: 2106 movne r1, #6 + 14eea: 2114 moveq r1, #20 + 14eec: 2b00 cmp r3, #0 + 14eee: bf15 itete ne + 14ef0: 2410 movne r4, #16 + 14ef2: 242a moveq r4, #42 ; 0x2a + 14ef4: 2309 movne r3, #9 + 14ef6: 2315 moveq r3, #21 + 14ef8: f04f 0200 mov.w r2, #0 + 14efc: f363 0204 bfi r2, r3, #0, #5 + 14f00: f364 124a bfi r2, r4, #5, #6 + 14f04: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 14f20: f248 0189 movw r1, #32905 ; 0x8089 - 14f24: 300c adds r0, #12 - 14f26: 4b4a ldr r3, [pc, #296] ; (15050 ) - 14f28: 4798 blx r3 + 14f08: f248 0189 movw r1, #32905 ; 0x8089 + 14f0c: 300c adds r0, #12 + 14f0e: 4b4a ldr r3, [pc, #296] ; (15038 ) + 14f10: 4798 blx r3 lv_style_set_value_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 14f2a: 4b45 ldr r3, [pc, #276] ; (15040 ) - 14f2c: 6818 ldr r0, [r3, #0] - 14f2e: 6a1b ldr r3, [r3, #32] - 14f30: f013 0302 ands.w r3, r3, #2 - 14f34: bf14 ite ne - 14f36: 2106 movne r1, #6 - 14f38: 2114 moveq r1, #20 - 14f3a: 2b00 cmp r3, #0 - 14f3c: bf15 itete ne - 14f3e: 2410 movne r4, #16 - 14f40: 242a moveq r4, #42 ; 0x2a - 14f42: 2309 movne r3, #9 - 14f44: 2315 moveq r3, #21 - 14f46: f04f 0200 mov.w r2, #0 - 14f4a: f363 0204 bfi r2, r3, #0, #5 - 14f4e: f364 124a bfi r2, r4, #5, #6 - 14f52: f361 22cf bfi r2, r1, #11, #5 + 14f12: 4b45 ldr r3, [pc, #276] ; (15028 ) + 14f14: 6818 ldr r0, [r3, #0] + 14f16: 6a1b ldr r3, [r3, #32] + 14f18: f013 0302 ands.w r3, r3, #2 + 14f1c: bf14 ite ne + 14f1e: 2106 movne r1, #6 + 14f20: 2114 moveq r1, #20 + 14f22: 2b00 cmp r3, #0 + 14f24: bf15 itete ne + 14f26: 2410 movne r4, #16 + 14f28: 242a moveq r4, #42 ; 0x2a + 14f2a: 2309 movne r3, #9 + 14f2c: 2315 moveq r3, #21 + 14f2e: f04f 0200 mov.w r2, #0 + 14f32: f363 0204 bfi r2, r3, #0, #5 + 14f36: f364 124a bfi r2, r4, #5, #6 + 14f3a: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 14f56: 2179 movs r1, #121 ; 0x79 - 14f58: 300c adds r0, #12 - 14f5a: 4b3d ldr r3, [pc, #244] ; (15050 ) - 14f5c: 4798 blx r3 + 14f3e: 2179 movs r1, #121 ; 0x79 + 14f40: 300c adds r0, #12 + 14f42: 4b3d ldr r3, [pc, #244] ; (15038 ) + 14f44: 4798 blx r3 lv_style_set_image_recolor(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 14f5e: 4b38 ldr r3, [pc, #224] ; (15040 ) - 14f60: 6818 ldr r0, [r3, #0] - 14f62: 6a1b ldr r3, [r3, #32] - 14f64: f013 0302 ands.w r3, r3, #2 - 14f68: bf14 ite ne - 14f6a: 2106 movne r1, #6 - 14f6c: 2114 moveq r1, #20 - 14f6e: 2b00 cmp r3, #0 - 14f70: bf15 itete ne - 14f72: 2410 movne r4, #16 - 14f74: 242a moveq r4, #42 ; 0x2a - 14f76: 2309 movne r3, #9 - 14f78: 2315 moveq r3, #21 - 14f7a: f04f 0200 mov.w r2, #0 - 14f7e: f363 0204 bfi r2, r3, #0, #5 - 14f82: f364 124a bfi r2, r4, #5, #6 - 14f86: f361 22cf bfi r2, r1, #11, #5 + 14f46: 4b38 ldr r3, [pc, #224] ; (15028 ) + 14f48: 6818 ldr r0, [r3, #0] + 14f4a: 6a1b ldr r3, [r3, #32] + 14f4c: f013 0302 ands.w r3, r3, #2 + 14f50: bf14 ite ne + 14f52: 2106 movne r1, #6 + 14f54: 2114 moveq r1, #20 + 14f56: 2b00 cmp r3, #0 + 14f58: bf15 itete ne + 14f5a: 2410 movne r4, #16 + 14f5c: 242a moveq r4, #42 ; 0x2a + 14f5e: 2309 movne r3, #9 + 14f60: 2315 moveq r3, #21 + 14f62: f04f 0200 mov.w r2, #0 + 14f66: f363 0204 bfi r2, r3, #0, #5 + 14f6a: f364 124a bfi r2, r4, #5, #6 + 14f6e: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 14f8a: f248 01a9 movw r1, #32937 ; 0x80a9 - 14f8e: 300c adds r0, #12 - 14f90: 4b2f ldr r3, [pc, #188] ; (15050 ) - 14f92: 4798 blx r3 + 14f72: f248 01a9 movw r1, #32937 ; 0x80a9 + 14f76: 300c adds r0, #12 + 14f78: 4b2f ldr r3, [pc, #188] ; (15038 ) + 14f7a: 4798 blx r3 lv_style_set_line_color(&styles->bg_sec, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 14f94: 4b2a ldr r3, [pc, #168] ; (15040 ) - 14f96: 6818 ldr r0, [r3, #0] - 14f98: 6a1b ldr r3, [r3, #32] - 14f9a: f013 0302 ands.w r3, r3, #2 - 14f9e: bf14 ite ne - 14fa0: 2106 movne r1, #6 - 14fa2: 2114 moveq r1, #20 - 14fa4: 2b00 cmp r3, #0 - 14fa6: bf15 itete ne - 14fa8: 2410 movne r4, #16 - 14faa: 242a moveq r4, #42 ; 0x2a - 14fac: 2309 movne r3, #9 - 14fae: 2315 moveq r3, #21 - 14fb0: f04f 0200 mov.w r2, #0 - 14fb4: f363 0204 bfi r2, r3, #0, #5 - 14fb8: f364 124a bfi r2, r4, #5, #6 - 14fbc: f361 22cf bfi r2, r1, #11, #5 + 14f7c: 4b2a ldr r3, [pc, #168] ; (15028 ) + 14f7e: 6818 ldr r0, [r3, #0] + 14f80: 6a1b ldr r3, [r3, #32] + 14f82: f013 0302 ands.w r3, r3, #2 + 14f86: bf14 ite ne + 14f88: 2106 movne r1, #6 + 14f8a: 2114 moveq r1, #20 + 14f8c: 2b00 cmp r3, #0 + 14f8e: bf15 itete ne + 14f90: 2410 movne r4, #16 + 14f92: 242a moveq r4, #42 ; 0x2a + 14f94: 2309 movne r3, #9 + 14f96: 2315 moveq r3, #21 + 14f98: f04f 0200 mov.w r2, #0 + 14f9c: f363 0204 bfi r2, r3, #0, #5 + 14fa0: f364 124a bfi r2, r4, #5, #6 + 14fa4: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 14fc0: 2199 movs r1, #153 ; 0x99 - 14fc2: 300c adds r0, #12 - 14fc4: 4b22 ldr r3, [pc, #136] ; (15050 ) - 14fc6: 4798 blx r3 + 14fa8: 2199 movs r1, #153 ; 0x99 + 14faa: 300c adds r0, #12 + 14fac: 4b22 ldr r3, [pc, #136] ; (15038 ) + 14fae: 4798 blx r3 style_init_reset(&styles->bg_click); - 14fc8: 4c1d ldr r4, [pc, #116] ; (15040 ) - 14fca: 6820 ldr r0, [r4, #0] - 14fcc: 3008 adds r0, #8 - 14fce: 4b1e ldr r3, [pc, #120] ; (15048 ) - 14fd0: 4798 blx r3 + 14fb0: 4c1d ldr r4, [pc, #116] ; (15028 ) + 14fb2: 6820 ldr r0, [r4, #0] + 14fb4: 3008 adds r0, #8 + 14fb6: 4b1e ldr r3, [pc, #120] ; (15030 ) + 14fb8: 4798 blx r3 lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_PR); - 14fd2: 6820 ldr r0, [r4, #0] - 14fd4: 3008 adds r0, #8 - 14fd6: 6a23 ldr r3, [r4, #32] - 14fd8: f013 0f02 tst.w r3, #2 - 14fdc: f040 855f bne.w 15a9e - 14fe0: 2309 movs r3, #9 - 14fe2: 2113 movs r1, #19 - 14fe4: 240a movs r4, #10 - 14fe6: f04f 0200 mov.w r2, #0 - 14fea: f364 0204 bfi r2, r4, #0, #5 - 14fee: f361 124a bfi r2, r1, #5, #6 - 14ff2: f363 22cf bfi r2, r3, #11, #5 + 14fba: 6820 ldr r0, [r4, #0] + 14fbc: 3008 adds r0, #8 + 14fbe: 6a23 ldr r3, [r4, #32] + 14fc0: f013 0f02 tst.w r3, #2 + 14fc4: f040 855f bne.w 15a86 + 14fc8: 2309 movs r3, #9 + 14fca: 2113 movs r1, #19 + 14fcc: 240a movs r4, #10 + 14fce: f04f 0200 mov.w r2, #0 + 14fd2: f364 0204 bfi r2, r4, #0, #5 + 14fd6: f361 124a bfi r2, r1, #5, #6 + 14fda: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 14ff6: f241 0129 movw r1, #4137 ; 0x1029 - 14ffa: 4d15 ldr r5, [pc, #84] ; (15050 ) - 14ffc: 47a8 blx r5 + 14fde: f241 0129 movw r1, #4137 ; 0x1029 + 14fe2: 4d15 ldr r5, [pc, #84] ; (15038 ) + 14fe4: 47a8 blx r5 lv_style_set_bg_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_CHK); - 14ffe: 4c10 ldr r4, [pc, #64] ; (15040 ) - 15000: 6820 ldr r0, [r4, #0] - 15002: 89a2 ldrh r2, [r4, #12] - 15004: f240 1129 movw r1, #297 ; 0x129 - 15008: 3008 adds r0, #8 - 1500a: 47a8 blx r5 + 14fe6: 4c10 ldr r4, [pc, #64] ; (15028 ) + 14fe8: 6820 ldr r0, [r4, #0] + 14fea: 89a2 ldrh r2, [r4, #12] + 14fec: f240 1129 movw r1, #297 ; 0x129 + 14ff0: 3008 adds r0, #8 + 14ff2: 47a8 blx r5 lv_style_set_bg_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_PR_CHK); - 1500c: 6826 ldr r6, [r4, #0] - 1500e: 3608 adds r6, #8 - 15010: 2133 movs r1, #51 ; 0x33 - 15012: 89a0 ldrh r0, [r4, #12] - 15014: 4b0f ldr r3, [pc, #60] ; (15054 ) - 15016: 4798 blx r3 - 15018: 4602 mov r2, r0 - 1501a: f241 1129 movw r1, #4393 ; 0x1129 - 1501e: 4630 mov r0, r6 - 15020: 47a8 blx r5 + 14ff4: 6826 ldr r6, [r4, #0] + 14ff6: 3608 adds r6, #8 + 14ff8: 2133 movs r1, #51 ; 0x33 + 14ffa: 89a0 ldrh r0, [r4, #12] + 14ffc: 4b0f ldr r3, [pc, #60] ; (1503c ) + 14ffe: 4798 blx r3 + 15000: 4602 mov r2, r0 + 15002: f241 1129 movw r1, #4393 ; 0x1129 + 15006: 4630 mov r0, r6 + 15008: 47a8 blx r5 lv_style_set_bg_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_DIS); - 15022: 6820 ldr r0, [r4, #0] - 15024: 3008 adds r0, #8 - 15026: 6a23 ldr r3, [r4, #32] - 15028: f013 0f02 tst.w r3, #2 - 1502c: f040 853c bne.w 15aa8 - 15030: 230b movs r3, #11 - 15032: 2118 movs r1, #24 - 15034: 240e movs r4, #14 - 15036: e00f b.n 15058 - 15038: 00010f3d .word 0x00010f3d - 1503c: 000068e1 .word 0x000068e1 - 15040: 20006bd8 .word 0x20006bd8 - 15044: 00010f59 .word 0x00010f59 - 15048: 00014a61 .word 0x00014a61 - 1504c: 000067b9 .word 0x000067b9 - 15050: 00006a25 .word 0x00006a25 - 15054: 00011c03 .word 0x00011c03 - 15058: f04f 0200 mov.w r2, #0 - 1505c: f364 0204 bfi r2, r4, #0, #5 - 15060: f361 124a bfi r2, r1, #5, #6 - 15064: f363 22cf bfi r2, r3, #11, #5 - 15068: f242 0129 movw r1, #8233 ; 0x2029 - 1506c: 4ebb ldr r6, [pc, #748] ; (1535c ) - 1506e: 47b0 blx r6 + 1500a: 6820 ldr r0, [r4, #0] + 1500c: 3008 adds r0, #8 + 1500e: 6a23 ldr r3, [r4, #32] + 15010: f013 0f02 tst.w r3, #2 + 15014: f040 853c bne.w 15a90 + 15018: 230b movs r3, #11 + 1501a: 2118 movs r1, #24 + 1501c: 240e movs r4, #14 + 1501e: e00f b.n 15040 + 15020: 00010f25 .word 0x00010f25 + 15024: 000068c9 .word 0x000068c9 + 15028: 20006bd8 .word 0x20006bd8 + 1502c: 00010f41 .word 0x00010f41 + 15030: 00014a49 .word 0x00014a49 + 15034: 000067a1 .word 0x000067a1 + 15038: 00006a0d .word 0x00006a0d + 1503c: 00011beb .word 0x00011beb + 15040: f04f 0200 mov.w r2, #0 + 15044: f364 0204 bfi r2, r4, #0, #5 + 15048: f361 124a bfi r2, r1, #5, #6 + 1504c: f363 22cf bfi r2, r3, #11, #5 + 15050: f242 0129 movw r1, #8233 ; 0x2029 + 15054: 4ebb ldr r6, [pc, #748] ; (15344 ) + 15056: 47b0 blx r6 lv_style_set_border_width(&styles->bg_click, LV_STATE_CHECKED, 0); - 15070: 4cbb ldr r4, [pc, #748] ; (15360 ) - 15072: 6820 ldr r0, [r4, #0] + 15058: 4cbb ldr r4, [pc, #748] ; (15348 ) + 1505a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 15074: 2200 movs r2, #0 - 15076: f44f 7198 mov.w r1, #304 ; 0x130 - 1507a: 3008 adds r0, #8 - 1507c: 4bb9 ldr r3, [pc, #740] ; (15364 ) - 1507e: 4798 blx r3 + 1505c: 2200 movs r2, #0 + 1505e: f44f 7198 mov.w r1, #304 ; 0x130 + 15062: 3008 adds r0, #8 + 15064: 4bb9 ldr r3, [pc, #740] ; (1534c ) + 15066: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_FOCUSED | LV_STATE_PRESSED, lv_color_darken(theme.color_primary, - 15080: 6825 ldr r5, [r4, #0] - 15082: 3508 adds r5, #8 - 15084: 2133 movs r1, #51 ; 0x33 - 15086: 89a0 ldrh r0, [r4, #12] - 15088: 4bb7 ldr r3, [pc, #732] ; (15368 ) - 1508a: 4798 blx r3 + 15068: 6825 ldr r5, [r4, #0] + 1506a: 3508 adds r5, #8 + 1506c: 2133 movs r1, #51 ; 0x33 + 1506e: 89a0 ldrh r0, [r4, #12] + 15070: 4bb7 ldr r3, [pc, #732] ; (15350 ) + 15072: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 1508c: 4602 mov r2, r0 - 1508e: f241 2139 movw r1, #4665 ; 0x1239 - 15092: 4628 mov r0, r5 - 15094: 47b0 blx r6 + 15074: 4602 mov r2, r0 + 15076: f241 2139 movw r1, #4665 ; 0x1239 + 1507a: 4628 mov r0, r5 + 1507c: 47b0 blx r6 lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_BORDER_PR); - 15096: 6820 ldr r0, [r4, #0] - 15098: 3008 adds r0, #8 - 1509a: 6a23 ldr r3, [r4, #32] - 1509c: f013 0f02 tst.w r3, #2 - 150a0: f040 8507 bne.w 15ab2 - 150a4: 230b movs r3, #11 - 150a6: 2119 movs r1, #25 - 150a8: 240d movs r4, #13 - 150aa: f04f 0200 mov.w r2, #0 - 150ae: f364 0204 bfi r2, r4, #0, #5 - 150b2: f361 124a bfi r2, r1, #5, #6 - 150b6: f363 22cf bfi r2, r3, #11, #5 - 150ba: f241 0139 movw r1, #4153 ; 0x1039 - 150be: 4ba7 ldr r3, [pc, #668] ; (1535c ) - 150c0: 4798 blx r3 + 1507e: 6820 ldr r0, [r4, #0] + 15080: 3008 adds r0, #8 + 15082: 6a23 ldr r3, [r4, #32] + 15084: f013 0f02 tst.w r3, #2 + 15088: f040 8507 bne.w 15a9a + 1508c: 230b movs r3, #11 + 1508e: 2119 movs r1, #25 + 15090: 240d movs r4, #13 + 15092: f04f 0200 mov.w r2, #0 + 15096: f364 0204 bfi r2, r4, #0, #5 + 1509a: f361 124a bfi r2, r1, #5, #6 + 1509e: f363 22cf bfi r2, r3, #11, #5 + 150a2: f241 0139 movw r1, #4153 ; 0x1039 + 150a6: 4ba7 ldr r3, [pc, #668] ; (15344 ) + 150a8: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_BORDER_CHK); - 150c2: 4ba7 ldr r3, [pc, #668] ; (15360 ) - 150c4: 6818 ldr r0, [r3, #0] - 150c6: 6a1b ldr r3, [r3, #32] - 150c8: f013 0302 ands.w r3, r3, #2 - 150cc: bf14 ite ne - 150ce: 2107 movne r1, #7 - 150d0: 210b moveq r1, #11 - 150d2: 2b00 cmp r3, #0 - 150d4: bf15 itete ne - 150d6: 240f movne r4, #15 - 150d8: 2419 moveq r4, #25 - 150da: 2308 movne r3, #8 - 150dc: 230d moveq r3, #13 - 150de: f04f 0200 mov.w r2, #0 - 150e2: f363 0204 bfi r2, r3, #0, #5 - 150e6: f364 124a bfi r2, r4, #5, #6 - 150ea: f361 22cf bfi r2, r1, #11, #5 - 150ee: f240 1139 movw r1, #313 ; 0x139 - 150f2: 3008 adds r0, #8 - 150f4: 4b99 ldr r3, [pc, #612] ; (1535c ) - 150f6: 4798 blx r3 + 150aa: 4ba7 ldr r3, [pc, #668] ; (15348 ) + 150ac: 6818 ldr r0, [r3, #0] + 150ae: 6a1b ldr r3, [r3, #32] + 150b0: f013 0302 ands.w r3, r3, #2 + 150b4: bf14 ite ne + 150b6: 2107 movne r1, #7 + 150b8: 210b moveq r1, #11 + 150ba: 2b00 cmp r3, #0 + 150bc: bf15 itete ne + 150be: 240f movne r4, #15 + 150c0: 2419 moveq r4, #25 + 150c2: 2308 movne r3, #8 + 150c4: 230d moveq r3, #13 + 150c6: f04f 0200 mov.w r2, #0 + 150ca: f363 0204 bfi r2, r3, #0, #5 + 150ce: f364 124a bfi r2, r4, #5, #6 + 150d2: f361 22cf bfi r2, r1, #11, #5 + 150d6: f240 1139 movw r1, #313 ; 0x139 + 150da: 3008 adds r0, #8 + 150dc: 4b99 ldr r3, [pc, #612] ; (15344 ) + 150de: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_BORDER_CHK_PR); - 150f8: 4b99 ldr r3, [pc, #612] ; (15360 ) - 150fa: 6818 ldr r0, [r3, #0] - 150fc: 6a1b ldr r3, [r3, #32] - 150fe: f013 0302 ands.w r3, r3, #2 - 15102: bf14 ite ne - 15104: 2107 movne r1, #7 - 15106: 210b moveq r1, #11 - 15108: 2b00 cmp r3, #0 - 1510a: bf15 itete ne - 1510c: 240f movne r4, #15 - 1510e: 2419 moveq r4, #25 - 15110: 2308 movne r3, #8 - 15112: 230d moveq r3, #13 - 15114: f04f 0200 mov.w r2, #0 - 15118: f363 0204 bfi r2, r3, #0, #5 - 1511c: f364 124a bfi r2, r4, #5, #6 - 15120: f361 22cf bfi r2, r1, #11, #5 - 15124: f241 1139 movw r1, #4409 ; 0x1139 - 15128: 3008 adds r0, #8 - 1512a: 4b8c ldr r3, [pc, #560] ; (1535c ) - 1512c: 4798 blx r3 + 150e0: 4b99 ldr r3, [pc, #612] ; (15348 ) + 150e2: 6818 ldr r0, [r3, #0] + 150e4: 6a1b ldr r3, [r3, #32] + 150e6: f013 0302 ands.w r3, r3, #2 + 150ea: bf14 ite ne + 150ec: 2107 movne r1, #7 + 150ee: 210b moveq r1, #11 + 150f0: 2b00 cmp r3, #0 + 150f2: bf15 itete ne + 150f4: 240f movne r4, #15 + 150f6: 2419 moveq r4, #25 + 150f8: 2308 movne r3, #8 + 150fa: 230d moveq r3, #13 + 150fc: f04f 0200 mov.w r2, #0 + 15100: f363 0204 bfi r2, r3, #0, #5 + 15104: f364 124a bfi r2, r4, #5, #6 + 15108: f361 22cf bfi r2, r1, #11, #5 + 1510c: f241 1139 movw r1, #4409 ; 0x1139 + 15110: 3008 adds r0, #8 + 15112: 4b8c ldr r3, [pc, #560] ; (15344 ) + 15114: 4798 blx r3 lv_style_set_border_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_BORDER_DIS); - 1512e: 4b8c ldr r3, [pc, #560] ; (15360 ) - 15130: 6818 ldr r0, [r3, #0] - 15132: 6a1b ldr r3, [r3, #32] - 15134: f013 0302 ands.w r3, r3, #2 - 15138: bf14 ite ne - 1513a: 211a movne r1, #26 - 1513c: 210b moveq r1, #11 - 1513e: 2b00 cmp r3, #0 - 15140: bf15 itete ne - 15142: 2437 movne r4, #55 ; 0x37 - 15144: 2419 moveq r4, #25 - 15146: 231c movne r3, #28 - 15148: 230d moveq r3, #13 - 1514a: f04f 0200 mov.w r2, #0 - 1514e: f363 0204 bfi r2, r3, #0, #5 - 15152: f364 124a bfi r2, r4, #5, #6 - 15156: f361 22cf bfi r2, r1, #11, #5 - 1515a: f242 0139 movw r1, #8249 ; 0x2039 - 1515e: 3008 adds r0, #8 - 15160: 4b7e ldr r3, [pc, #504] ; (1535c ) - 15162: 4798 blx r3 + 15116: 4b8c ldr r3, [pc, #560] ; (15348 ) + 15118: 6818 ldr r0, [r3, #0] + 1511a: 6a1b ldr r3, [r3, #32] + 1511c: f013 0302 ands.w r3, r3, #2 + 15120: bf14 ite ne + 15122: 211a movne r1, #26 + 15124: 210b moveq r1, #11 + 15126: 2b00 cmp r3, #0 + 15128: bf15 itete ne + 1512a: 2437 movne r4, #55 ; 0x37 + 1512c: 2419 moveq r4, #25 + 1512e: 231c movne r3, #28 + 15130: 230d moveq r3, #13 + 15132: f04f 0200 mov.w r2, #0 + 15136: f363 0204 bfi r2, r3, #0, #5 + 1513a: f364 124a bfi r2, r4, #5, #6 + 1513e: f361 22cf bfi r2, r1, #11, #5 + 15142: f242 0139 movw r1, #8249 ; 0x2039 + 15146: 3008 adds r0, #8 + 15148: 4b7e ldr r3, [pc, #504] ; (15344 ) + 1514a: 4798 blx r3 lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 15164: 4b7e ldr r3, [pc, #504] ; (15360 ) - 15166: 6818 ldr r0, [r3, #0] - 15168: 3008 adds r0, #8 - 1516a: 6a1b ldr r3, [r3, #32] - 1516c: f013 0f02 tst.w r3, #2 - 15170: f040 84a4 bne.w 15abc - 15174: 231f movs r3, #31 - 15176: 213f movs r1, #63 ; 0x3f - 15178: 461c mov r4, r3 - 1517a: f04f 0200 mov.w r2, #0 - 1517e: f364 0204 bfi r2, r4, #0, #5 - 15182: f361 124a bfi r2, r1, #5, #6 - 15186: f363 22cf bfi r2, r3, #11, #5 + 1514c: 4b7e ldr r3, [pc, #504] ; (15348 ) + 1514e: 6818 ldr r0, [r3, #0] + 15150: 3008 adds r0, #8 + 15152: 6a1b ldr r3, [r3, #32] + 15154: f013 0f02 tst.w r3, #2 + 15158: f040 84a4 bne.w 15aa4 + 1515c: 231f movs r3, #31 + 1515e: 213f movs r1, #63 ; 0x3f + 15160: 461c mov r4, r3 + 15162: f04f 0200 mov.w r2, #0 + 15166: f364 0204 bfi r2, r4, #0, #5 + 1516a: f361 124a bfi r2, r1, #5, #6 + 1516e: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 1518a: f249 0189 movw r1, #37001 ; 0x9089 - 1518e: 4d73 ldr r5, [pc, #460] ; (1535c ) - 15190: 47a8 blx r5 + 15172: f249 0189 movw r1, #37001 ; 0x9089 + 15176: 4d73 ldr r5, [pc, #460] ; (15344 ) + 15178: 47a8 blx r5 lv_style_set_text_color(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 15192: 4c73 ldr r4, [pc, #460] ; (15360 ) - 15194: 6820 ldr r0, [r4, #0] - 15196: f04f 32ff mov.w r2, #4294967295 - 1519a: f248 1189 movw r1, #33161 ; 0x8189 - 1519e: 3008 adds r0, #8 - 151a0: 47a8 blx r5 + 1517a: 4c73 ldr r4, [pc, #460] ; (15348 ) + 1517c: 6820 ldr r0, [r4, #0] + 1517e: f04f 32ff mov.w r2, #4294967295 + 15182: f248 1189 movw r1, #33161 ; 0x8189 + 15186: 3008 adds r0, #8 + 15188: 47a8 blx r5 lv_style_set_text_color(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR); - 151a2: 6820 ldr r0, [r4, #0] - 151a4: f04f 32ff mov.w r2, #4294967295 - 151a8: f249 1189 movw r1, #37257 ; 0x9189 - 151ac: 3008 adds r0, #8 - 151ae: 47a8 blx r5 + 1518a: 6820 ldr r0, [r4, #0] + 1518c: f04f 32ff mov.w r2, #4294967295 + 15190: f249 1189 movw r1, #37257 ; 0x9189 + 15194: 3008 adds r0, #8 + 15196: 47a8 blx r5 lv_style_set_text_color(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 151b0: 6820 ldr r0, [r4, #0] - 151b2: 6a23 ldr r3, [r4, #32] - 151b4: f013 0302 ands.w r3, r3, #2 - 151b8: bf14 ite ne - 151ba: 212a movne r1, #42 ; 0x2a - 151bc: 2126 moveq r1, #38 ; 0x26 - 151be: 2b00 cmp r3, #0 - 151c0: bf14 ite ne - 151c2: 2315 movne r3, #21 - 151c4: 2313 moveq r3, #19 - 151c6: f04f 0200 mov.w r2, #0 - 151ca: f363 0204 bfi r2, r3, #0, #5 - 151ce: f361 124a bfi r2, r1, #5, #6 - 151d2: f363 22cf bfi r2, r3, #11, #5 - 151d6: f24a 0189 movw r1, #41097 ; 0xa089 - 151da: 3008 adds r0, #8 - 151dc: 47a8 blx r5 + 15198: 6820 ldr r0, [r4, #0] + 1519a: 6a23 ldr r3, [r4, #32] + 1519c: f013 0302 ands.w r3, r3, #2 + 151a0: bf14 ite ne + 151a2: 212a movne r1, #42 ; 0x2a + 151a4: 2126 moveq r1, #38 ; 0x26 + 151a6: 2b00 cmp r3, #0 + 151a8: bf14 ite ne + 151aa: 2315 movne r3, #21 + 151ac: 2313 moveq r3, #19 + 151ae: f04f 0200 mov.w r2, #0 + 151b2: f363 0204 bfi r2, r3, #0, #5 + 151b6: f361 124a bfi r2, r1, #5, #6 + 151ba: f363 22cf bfi r2, r3, #11, #5 + 151be: f24a 0189 movw r1, #41097 ; 0xa089 + 151c2: 3008 adds r0, #8 + 151c4: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 151de: 6820 ldr r0, [r4, #0] - 151e0: 3008 adds r0, #8 - 151e2: 6a23 ldr r3, [r4, #32] - 151e4: f013 0f02 tst.w r3, #2 - 151e8: f040 846d bne.w 15ac6 - 151ec: 231f movs r3, #31 - 151ee: 213f movs r1, #63 ; 0x3f - 151f0: 461c mov r4, r3 - 151f2: f04f 0200 mov.w r2, #0 - 151f6: f364 0204 bfi r2, r4, #0, #5 - 151fa: f361 124a bfi r2, r1, #5, #6 - 151fe: f363 22cf bfi r2, r3, #11, #5 + 151c6: 6820 ldr r0, [r4, #0] + 151c8: 3008 adds r0, #8 + 151ca: 6a23 ldr r3, [r4, #32] + 151cc: f013 0f02 tst.w r3, #2 + 151d0: f040 846d bne.w 15aae + 151d4: 231f movs r3, #31 + 151d6: 213f movs r1, #63 ; 0x3f + 151d8: 461c mov r4, r3 + 151da: f04f 0200 mov.w r2, #0 + 151de: f364 0204 bfi r2, r4, #0, #5 + 151e2: f361 124a bfi r2, r1, #5, #6 + 151e6: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 15202: f249 01a9 movw r1, #37033 ; 0x90a9 - 15206: 4d55 ldr r5, [pc, #340] ; (1535c ) - 15208: 47a8 blx r5 + 151ea: f249 01a9 movw r1, #37033 ; 0x90a9 + 151ee: 4d55 ldr r5, [pc, #340] ; (15344 ) + 151f0: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 1520a: 4c55 ldr r4, [pc, #340] ; (15360 ) - 1520c: 6820 ldr r0, [r4, #0] - 1520e: f04f 32ff mov.w r2, #4294967295 - 15212: f248 11a9 movw r1, #33193 ; 0x81a9 - 15216: 3008 adds r0, #8 - 15218: 47a8 blx r5 + 151f2: 4c55 ldr r4, [pc, #340] ; (15348 ) + 151f4: 6820 ldr r0, [r4, #0] + 151f6: f04f 32ff mov.w r2, #4294967295 + 151fa: f248 11a9 movw r1, #33193 ; 0x81a9 + 151fe: 3008 adds r0, #8 + 15200: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_PRESSED | LV_STATE_CHECKED, COLOR_BG_TEXT_CHK_PR); - 1521a: 6820 ldr r0, [r4, #0] - 1521c: f04f 32ff mov.w r2, #4294967295 - 15220: f249 11a9 movw r1, #37289 ; 0x91a9 - 15224: 3008 adds r0, #8 - 15226: 47a8 blx r5 + 15202: 6820 ldr r0, [r4, #0] + 15204: f04f 32ff mov.w r2, #4294967295 + 15208: f249 11a9 movw r1, #37289 ; 0x91a9 + 1520c: 3008 adds r0, #8 + 1520e: 47a8 blx r5 lv_style_set_image_recolor(&styles->bg_click, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 15228: 6820 ldr r0, [r4, #0] - 1522a: 6a23 ldr r3, [r4, #32] - 1522c: f013 0302 ands.w r3, r3, #2 - 15230: bf14 ite ne - 15232: 212a movne r1, #42 ; 0x2a - 15234: 2126 moveq r1, #38 ; 0x26 - 15236: 2b00 cmp r3, #0 - 15238: bf14 ite ne - 1523a: 2315 movne r3, #21 - 1523c: 2313 moveq r3, #19 - 1523e: f04f 0200 mov.w r2, #0 - 15242: f363 0204 bfi r2, r3, #0, #5 - 15246: f361 124a bfi r2, r1, #5, #6 - 1524a: f363 22cf bfi r2, r3, #11, #5 - 1524e: f24a 01a9 movw r1, #41129 ; 0xa0a9 - 15252: 3008 adds r0, #8 - 15254: 47a8 blx r5 + 15210: 6820 ldr r0, [r4, #0] + 15212: 6a23 ldr r3, [r4, #32] + 15214: f013 0302 ands.w r3, r3, #2 + 15218: bf14 ite ne + 1521a: 212a movne r1, #42 ; 0x2a + 1521c: 2126 moveq r1, #38 ; 0x26 + 1521e: 2b00 cmp r3, #0 + 15220: bf14 ite ne + 15222: 2315 movne r3, #21 + 15224: 2313 moveq r3, #19 + 15226: f04f 0200 mov.w r2, #0 + 1522a: f363 0204 bfi r2, r3, #0, #5 + 1522e: f361 124a bfi r2, r1, #5, #6 + 15232: f363 22cf bfi r2, r3, #11, #5 + 15236: f24a 01a9 movw r1, #41129 ; 0xa0a9 + 1523a: 3008 adds r0, #8 + 1523c: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->bg_click, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 15256: 6820 ldr r0, [r4, #0] + 1523e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 15258: 2229 movs r2, #41 ; 0x29 - 1525a: 21b6 movs r1, #182 ; 0xb6 - 1525c: 3008 adds r0, #8 - 1525e: 4d41 ldr r5, [pc, #260] ; (15364 ) - 15260: 47a8 blx r5 + 15240: 2229 movs r2, #41 ; 0x29 + 15242: 21b6 movs r1, #182 ; 0xb6 + 15244: 3008 adds r0, #8 + 15246: 4d41 ldr r5, [pc, #260] ; (1534c ) + 15248: 47a8 blx r5 style_init_reset(&styles->btn); - 15262: 6820 ldr r0, [r4, #0] - 15264: 3010 adds r0, #16 - 15266: 4b41 ldr r3, [pc, #260] ; (1536c ) - 15268: 4798 blx r3 + 1524a: 6820 ldr r0, [r4, #0] + 1524c: 3010 adds r0, #16 + 1524e: 4b41 ldr r3, [pc, #260] ; (15354 ) + 15250: 4798 blx r3 lv_style_set_radius(&styles->btn, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 1526a: 6820 ldr r0, [r4, #0] + 15252: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1526c: f647 72ff movw r2, #32767 ; 0x7fff - 15270: 2101 movs r1, #1 - 15272: 3010 adds r0, #16 - 15274: 47a8 blx r5 + 15254: f647 72ff movw r2, #32767 ; 0x7fff + 15258: 2101 movs r1, #1 + 1525a: 3010 adds r0, #16 + 1525c: 47a8 blx r5 lv_style_set_bg_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_COVER); - 15276: 6820 ldr r0, [r4, #0] + 1525e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15278: 22ff movs r2, #255 ; 0xff - 1527a: 212c movs r1, #44 ; 0x2c - 1527c: 3010 adds r0, #16 - 1527e: 4b3c ldr r3, [pc, #240] ; (15370 ) - 15280: 4798 blx r3 + 15260: 22ff movs r2, #255 ; 0xff + 15262: 212c movs r1, #44 ; 0x2c + 15264: 3010 adds r0, #16 + 15266: 4b3c ldr r3, [pc, #240] ; (15358 ) + 15268: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN); - 15282: 6820 ldr r0, [r4, #0] - 15284: 3010 adds r0, #16 - 15286: 6a23 ldr r3, [r4, #32] - 15288: f013 0f02 tst.w r3, #2 - 1528c: f040 8420 bne.w 15ad0 - 15290: 230b movs r3, #11 - 15292: 2118 movs r1, #24 - 15294: 240e movs r4, #14 - 15296: f04f 0200 mov.w r2, #0 - 1529a: f364 0204 bfi r2, r4, #0, #5 - 1529e: f361 124a bfi r2, r1, #5, #6 - 152a2: f363 22cf bfi r2, r3, #11, #5 + 1526a: 6820 ldr r0, [r4, #0] + 1526c: 3010 adds r0, #16 + 1526e: 6a23 ldr r3, [r4, #32] + 15270: f013 0f02 tst.w r3, #2 + 15274: f040 8420 bne.w 15ab8 + 15278: 230b movs r3, #11 + 1527a: 2118 movs r1, #24 + 1527c: 240e movs r4, #14 + 1527e: f04f 0200 mov.w r2, #0 + 15282: f364 0204 bfi r2, r4, #0, #5 + 15286: f361 124a bfi r2, r1, #5, #6 + 1528a: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 152a6: 2129 movs r1, #41 ; 0x29 - 152a8: 4b2c ldr r3, [pc, #176] ; (1535c ) - 152aa: 4798 blx r3 + 1528e: 2129 movs r1, #41 ; 0x29 + 15290: 4b2c ldr r3, [pc, #176] ; (15344 ) + 15292: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_PR); - 152ac: 4b2c ldr r3, [pc, #176] ; (15360 ) - 152ae: 6818 ldr r0, [r3, #0] - 152b0: 3010 adds r0, #16 - 152b2: 6a1b ldr r3, [r3, #32] - 152b4: f013 0f02 tst.w r3, #2 - 152b8: f000 840f beq.w 15ada + 15294: 4b2c ldr r3, [pc, #176] ; (15348 ) + 15296: 6818 ldr r0, [r3, #0] + 15298: 3010 adds r0, #16 + 1529a: 6a1b ldr r3, [r3, #32] + 1529c: f013 0f02 tst.w r3, #2 + 152a0: f000 840f beq.w 15ac2 LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) { lv_color_t ret; #if LV_COLOR_DEPTH != 1 /*LV_COLOR_DEPTH == 8, 16 or 32*/ LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 152bc: 4928 ldr r1, [pc, #160] ; (15360 ) - 152be: 7b4b ldrb r3, [r1, #13] - 152c0: 08db lsrs r3, r3, #3 - 152c2: eb03 0383 add.w r3, r3, r3, lsl #2 - 152c6: eb03 0383 add.w r3, r3, r3, lsl #2 - 152ca: f641 35da movw r5, #7130 ; 0x1bda - 152ce: 442b add r3, r5 - 152d0: eb03 2203 add.w r2, r3, r3, lsl #8 - 152d4: eb03 13c2 add.w r3, r3, r2, lsl #7 - 152d8: f3c3 53c4 ubfx r3, r3, #23, #5 + 152a4: 4928 ldr r1, [pc, #160] ; (15348 ) + 152a6: 7b4b ldrb r3, [r1, #13] + 152a8: 08db lsrs r3, r3, #3 + 152aa: eb03 0383 add.w r3, r3, r3, lsl #2 + 152ae: eb03 0383 add.w r3, r3, r3, lsl #2 + 152b2: f641 35da movw r5, #7130 ; 0x1bda + 152b6: 442b add r3, r5 + 152b8: eb03 2203 add.w r2, r3, r3, lsl #8 + 152bc: eb03 13c2 add.w r3, r3, r2, lsl #7 + 152c0: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 152dc: 898a ldrh r2, [r1, #12] - 152de: f3c2 1245 ubfx r2, r2, #5, #6 - 152e2: eb02 0282 add.w r2, r2, r2, lsl #2 - 152e6: eb02 0282 add.w r2, r2, r2, lsl #2 - 152ea: f502 5262 add.w r2, r2, #14464 ; 0x3880 - 152ee: 321a adds r2, #26 - 152f0: eb02 2402 add.w r4, r2, r2, lsl #8 - 152f4: eb02 12c4 add.w r2, r2, r4, lsl #7 - 152f8: f3c2 54c5 ubfx r4, r2, #23, #6 + 152c4: 898a ldrh r2, [r1, #12] + 152c6: f3c2 1245 ubfx r2, r2, #5, #6 + 152ca: eb02 0282 add.w r2, r2, r2, lsl #2 + 152ce: eb02 0282 add.w r2, r2, r2, lsl #2 + 152d2: f502 5262 add.w r2, r2, #14464 ; 0x3880 + 152d6: 321a adds r2, #26 + 152d8: eb02 2402 add.w r4, r2, r2, lsl #8 + 152dc: eb02 12c4 add.w r2, r2, r4, lsl #7 + 152e0: f3c2 54c5 ubfx r4, r2, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 152fc: 7b09 ldrb r1, [r1, #12] - 152fe: f001 011f and.w r1, r1, #31 - 15302: eb01 0181 add.w r1, r1, r1, lsl #2 - 15306: eb01 0181 add.w r1, r1, r1, lsl #2 - 1530a: 4429 add r1, r5 - 1530c: eb01 2201 add.w r2, r1, r1, lsl #8 - 15310: eb01 11c2 add.w r1, r1, r2, lsl #7 - 15314: f3c1 51c4 ubfx r1, r1, #23, #5 - 15318: f04f 0200 mov.w r2, #0 - 1531c: f361 0204 bfi r2, r1, #0, #5 - 15320: f364 124a bfi r2, r4, #5, #6 - 15324: f363 22cf bfi r2, r3, #11, #5 - 15328: f241 0129 movw r1, #4137 ; 0x1029 - 1532c: 4d0b ldr r5, [pc, #44] ; (1535c ) - 1532e: 47a8 blx r5 + 152e4: 7b09 ldrb r1, [r1, #12] + 152e6: f001 011f and.w r1, r1, #31 + 152ea: eb01 0181 add.w r1, r1, r1, lsl #2 + 152ee: eb01 0181 add.w r1, r1, r1, lsl #2 + 152f2: 4429 add r1, r5 + 152f4: eb01 2201 add.w r2, r1, r1, lsl #8 + 152f8: eb01 11c2 add.w r1, r1, r2, lsl #7 + 152fc: f3c1 51c4 ubfx r1, r1, #23, #5 + 15300: f04f 0200 mov.w r2, #0 + 15304: f361 0204 bfi r2, r1, #0, #5 + 15308: f364 124a bfi r2, r4, #5, #6 + 1530c: f363 22cf bfi r2, r3, #11, #5 + 15310: f241 0129 movw r1, #4137 ; 0x1029 + 15314: 4d0b ldr r5, [pc, #44] ; (15344 ) + 15316: 47a8 blx r5 lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED, COLOR_BTN_CHK); - 15330: 4c0b ldr r4, [pc, #44] ; (15360 ) - 15332: 6820 ldr r0, [r4, #0] - 15334: 89a2 ldrh r2, [r4, #12] - 15336: f240 1129 movw r1, #297 ; 0x129 - 1533a: 3010 adds r0, #16 - 1533c: 47a8 blx r5 + 15318: 4c0b ldr r4, [pc, #44] ; (15348 ) + 1531a: 6820 ldr r0, [r4, #0] + 1531c: 89a2 ldrh r2, [r4, #12] + 1531e: f240 1129 movw r1, #297 ; 0x129 + 15322: 3010 adds r0, #16 + 15324: 47a8 blx r5 lv_style_set_bg_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BTN_CHK_PR); - 1533e: 6826 ldr r6, [r4, #0] - 15340: 3610 adds r6, #16 - 15342: 214c movs r1, #76 ; 0x4c - 15344: 89a0 ldrh r0, [r4, #12] - 15346: 4b08 ldr r3, [pc, #32] ; (15368 ) - 15348: 4798 blx r3 - 1534a: 4602 mov r2, r0 - 1534c: f241 1129 movw r1, #4393 ; 0x1129 - 15350: 4630 mov r0, r6 - 15352: 47a8 blx r5 + 15326: 6826 ldr r6, [r4, #0] + 15328: 3610 adds r6, #16 + 1532a: 214c movs r1, #76 ; 0x4c + 1532c: 89a0 ldrh r0, [r4, #12] + 1532e: 4b08 ldr r3, [pc, #32] ; (15350 ) + 15330: 4798 blx r3 + 15332: 4602 mov r2, r0 + 15334: f241 1129 movw r1, #4393 ; 0x1129 + 15338: 4630 mov r0, r6 + 1533a: 47a8 blx r5 lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN); - 15354: 6820 ldr r0, [r4, #0] - 15356: 3010 adds r0, #16 - 15358: 6a23 ldr r3, [r4, #32] - 1535a: e00b b.n 15374 - 1535c: 00006a25 .word 0x00006a25 - 15360: 20006bd8 .word 0x20006bd8 - 15364: 000068e1 .word 0x000068e1 - 15368: 00011c03 .word 0x00011c03 - 1536c: 00014a61 .word 0x00014a61 - 15370: 00006b69 .word 0x00006b69 - 15374: f013 0f02 tst.w r3, #2 - 15378: f040 83d9 bne.w 15b2e - 1537c: 230b movs r3, #11 - 1537e: 2118 movs r1, #24 - 15380: 240e movs r4, #14 - 15382: f04f 0200 mov.w r2, #0 - 15386: f364 0204 bfi r2, r4, #0, #5 - 1538a: f361 124a bfi r2, r1, #5, #6 - 1538e: f363 22cf bfi r2, r3, #11, #5 - 15392: f242 0129 movw r1, #8233 ; 0x2029 - 15396: 4bc6 ldr r3, [pc, #792] ; (156b0 ) - 15398: 4798 blx r3 + 1533c: 6820 ldr r0, [r4, #0] + 1533e: 3010 adds r0, #16 + 15340: 6a23 ldr r3, [r4, #32] + 15342: e00b b.n 1535c + 15344: 00006a0d .word 0x00006a0d + 15348: 20006bd8 .word 0x20006bd8 + 1534c: 000068c9 .word 0x000068c9 + 15350: 00011beb .word 0x00011beb + 15354: 00014a49 .word 0x00014a49 + 15358: 00006b51 .word 0x00006b51 + 1535c: f013 0f02 tst.w r3, #2 + 15360: f040 83d9 bne.w 15b16 + 15364: 230b movs r3, #11 + 15366: 2118 movs r1, #24 + 15368: 240e movs r4, #14 + 1536a: f04f 0200 mov.w r2, #0 + 1536e: f364 0204 bfi r2, r4, #0, #5 + 15372: f361 124a bfi r2, r1, #5, #6 + 15376: f363 22cf bfi r2, r3, #11, #5 + 1537a: f242 0129 movw r1, #8233 ; 0x2029 + 1537e: 4bc6 ldr r3, [pc, #792] ; (15698 ) + 15380: 4798 blx r3 lv_style_set_bg_color(&styles->btn, LV_STATE_DISABLED | LV_STATE_CHECKED, COLOR_BTN_DIS); - 1539a: 4bc6 ldr r3, [pc, #792] ; (156b4 ) - 1539c: 6818 ldr r0, [r3, #0] - 1539e: 6a1b ldr r3, [r3, #32] - 153a0: f013 0302 ands.w r3, r3, #2 - 153a4: bf14 ite ne - 153a6: 2133 movne r1, #51 ; 0x33 - 153a8: 2122 moveq r1, #34 ; 0x22 - 153aa: 2b00 cmp r3, #0 - 153ac: bf14 ite ne - 153ae: 2319 movne r3, #25 - 153b0: 2311 moveq r3, #17 - 153b2: f04f 0200 mov.w r2, #0 - 153b6: f363 0204 bfi r2, r3, #0, #5 - 153ba: f361 124a bfi r2, r1, #5, #6 - 153be: f363 22cf bfi r2, r3, #11, #5 - 153c2: f242 1129 movw r1, #8489 ; 0x2129 - 153c6: 3010 adds r0, #16 - 153c8: 4db9 ldr r5, [pc, #740] ; (156b0 ) - 153ca: 47a8 blx r5 + 15382: 4bc6 ldr r3, [pc, #792] ; (1569c ) + 15384: 6818 ldr r0, [r3, #0] + 15386: 6a1b ldr r3, [r3, #32] + 15388: f013 0302 ands.w r3, r3, #2 + 1538c: bf14 ite ne + 1538e: 2133 movne r1, #51 ; 0x33 + 15390: 2122 moveq r1, #34 ; 0x22 + 15392: 2b00 cmp r3, #0 + 15394: bf14 ite ne + 15396: 2319 movne r3, #25 + 15398: 2311 moveq r3, #17 + 1539a: f04f 0200 mov.w r2, #0 + 1539e: f363 0204 bfi r2, r3, #0, #5 + 153a2: f361 124a bfi r2, r1, #5, #6 + 153a6: f363 22cf bfi r2, r3, #11, #5 + 153aa: f242 1129 movw r1, #8489 ; 0x2129 + 153ae: 3010 adds r0, #16 + 153b0: 4db9 ldr r5, [pc, #740] ; (15698 ) + 153b2: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_DEFAULT, COLOR_BTN_BORDER); - 153cc: 4cb9 ldr r4, [pc, #740] ; (156b4 ) - 153ce: 6820 ldr r0, [r4, #0] + 153b4: 4cb9 ldr r4, [pc, #740] ; (1569c ) + 153b6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 153d0: 89a2 ldrh r2, [r4, #12] - 153d2: 2139 movs r1, #57 ; 0x39 - 153d4: 3010 adds r0, #16 - 153d6: 47a8 blx r5 + 153b8: 89a2 ldrh r2, [r4, #12] + 153ba: 2139 movs r1, #57 ; 0x39 + 153bc: 3010 adds r0, #16 + 153be: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_PRESSED, COLOR_BTN_BORDER_PR); - 153d8: 6820 ldr r0, [r4, #0] - 153da: 89a2 ldrh r2, [r4, #12] - 153dc: f241 0139 movw r1, #4153 ; 0x1039 - 153e0: 3010 adds r0, #16 - 153e2: 47a8 blx r5 + 153c0: 6820 ldr r0, [r4, #0] + 153c2: 89a2 ldrh r2, [r4, #12] + 153c4: f241 0139 movw r1, #4153 ; 0x1039 + 153c8: 3010 adds r0, #16 + 153ca: 47a8 blx r5 lv_style_set_border_color(&styles->btn, LV_STATE_DISABLED, COLOR_BTN_BORDER_INA); - 153e4: 6820 ldr r0, [r4, #0] - 153e6: 6a23 ldr r3, [r4, #32] - 153e8: f013 0302 ands.w r3, r3, #2 - 153ec: bf14 ite ne - 153ee: 2122 movne r1, #34 ; 0x22 - 153f0: 2110 moveq r1, #16 - 153f2: 2b00 cmp r3, #0 - 153f4: bf14 ite ne - 153f6: 2311 movne r3, #17 - 153f8: 2308 moveq r3, #8 - 153fa: f04f 0200 mov.w r2, #0 - 153fe: f363 0204 bfi r2, r3, #0, #5 - 15402: f361 124a bfi r2, r1, #5, #6 - 15406: f363 22cf bfi r2, r3, #11, #5 - 1540a: f242 0139 movw r1, #8249 ; 0x2039 - 1540e: 3010 adds r0, #16 - 15410: 47a8 blx r5 + 153cc: 6820 ldr r0, [r4, #0] + 153ce: 6a23 ldr r3, [r4, #32] + 153d0: f013 0302 ands.w r3, r3, #2 + 153d4: bf14 ite ne + 153d6: 2122 movne r1, #34 ; 0x22 + 153d8: 2110 moveq r1, #16 + 153da: 2b00 cmp r3, #0 + 153dc: bf14 ite ne + 153de: 2311 movne r3, #17 + 153e0: 2308 moveq r3, #8 + 153e2: f04f 0200 mov.w r2, #0 + 153e6: f363 0204 bfi r2, r3, #0, #5 + 153ea: f361 124a bfi r2, r1, #5, #6 + 153ee: f363 22cf bfi r2, r3, #11, #5 + 153f2: f242 0139 movw r1, #8249 ; 0x2039 + 153f6: 3010 adds r0, #16 + 153f8: 47a8 blx r5 lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - 15412: 6824 ldr r4, [r4, #0] - 15414: 3410 adds r4, #16 - 15416: 2000 movs r0, #0 - 15418: 4ba7 ldr r3, [pc, #668] ; (156b8 ) - 1541a: 4798 blx r3 - 1541c: 3028 adds r0, #40 ; 0x28 - 1541e: 0040 lsls r0, r0, #1 - 15420: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15424: f280 8387 bge.w 15b36 - 15428: 2201 movs r2, #1 + 153fa: 6824 ldr r4, [r4, #0] + 153fc: 3410 adds r4, #16 + 153fe: 2000 movs r0, #0 + 15400: 4ba7 ldr r3, [pc, #668] ; (156a0 ) + 15402: 4798 blx r3 + 15404: 3028 adds r0, #40 ; 0x28 + 15406: 0040 lsls r0, r0, #1 + 15408: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1540c: f280 8387 bge.w 15b1e + 15410: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 1542a: 2130 movs r1, #48 ; 0x30 - 1542c: 4620 mov r0, r4 - 1542e: 4ba3 ldr r3, [pc, #652] ; (156bc ) - 15430: 4798 blx r3 + 15412: 2130 movs r1, #48 ; 0x30 + 15414: 4620 mov r0, r4 + 15416: 4ba3 ldr r3, [pc, #652] ; (156a4 ) + 15418: 4798 blx r3 lv_style_set_border_opa(&styles->btn, LV_STATE_CHECKED, LV_OPA_TRANSP); - 15432: 4ca0 ldr r4, [pc, #640] ; (156b4 ) - 15434: 6820 ldr r0, [r4, #0] + 1541a: 4ca0 ldr r4, [pc, #640] ; (1569c ) + 1541c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 15436: 2200 movs r2, #0 - 15438: f44f 719e mov.w r1, #316 ; 0x13c - 1543c: 3010 adds r0, #16 - 1543e: 4ba0 ldr r3, [pc, #640] ; (156c0 ) - 15440: 4798 blx r3 + 1541e: 2200 movs r2, #0 + 15420: f44f 719e mov.w r1, #316 ; 0x13c + 15424: 3010 adds r0, #16 + 15426: 4ba0 ldr r3, [pc, #640] ; (156a8 ) + 15428: 4798 blx r3 lv_style_set_text_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15442: 6820 ldr r0, [r4, #0] - 15444: 3010 adds r0, #16 - 15446: 6a23 ldr r3, [r4, #32] - 15448: f013 0f02 tst.w r3, #2 - 1544c: f040 8380 bne.w 15b50 - 15450: 231f movs r3, #31 - 15452: 213f movs r1, #63 ; 0x3f - 15454: 461c mov r4, r3 - 15456: f04f 0200 mov.w r2, #0 - 1545a: f364 0204 bfi r2, r4, #0, #5 - 1545e: f361 124a bfi r2, r1, #5, #6 - 15462: f363 22cf bfi r2, r3, #11, #5 + 1542a: 6820 ldr r0, [r4, #0] + 1542c: 3010 adds r0, #16 + 1542e: 6a23 ldr r3, [r4, #32] + 15430: f013 0f02 tst.w r3, #2 + 15434: f040 8380 bne.w 15b38 + 15438: 231f movs r3, #31 + 1543a: 213f movs r1, #63 ; 0x3f + 1543c: 461c mov r4, r3 + 1543e: f04f 0200 mov.w r2, #0 + 15442: f364 0204 bfi r2, r4, #0, #5 + 15446: f361 124a bfi r2, r1, #5, #6 + 1544a: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 15466: f248 0189 movw r1, #32905 ; 0x8089 - 1546a: 4b91 ldr r3, [pc, #580] ; (156b0 ) - 1546c: 4798 blx r3 + 1544e: f248 0189 movw r1, #32905 ; 0x8089 + 15452: 4b91 ldr r3, [pc, #580] ; (15698 ) + 15454: 4798 blx r3 lv_style_set_text_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 1546e: 4b91 ldr r3, [pc, #580] ; (156b4 ) - 15470: 6818 ldr r0, [r3, #0] - 15472: 3010 adds r0, #16 - 15474: 6a1b ldr r3, [r3, #32] - 15476: f013 0f02 tst.w r3, #2 - 1547a: f040 836d bne.w 15b58 - 1547e: 231f movs r3, #31 - 15480: 213f movs r1, #63 ; 0x3f - 15482: 461c mov r4, r3 - 15484: f04f 0200 mov.w r2, #0 - 15488: f364 0204 bfi r2, r4, #0, #5 - 1548c: f361 124a bfi r2, r1, #5, #6 - 15490: f363 22cf bfi r2, r3, #11, #5 - 15494: f249 0189 movw r1, #37001 ; 0x9089 - 15498: 4d85 ldr r5, [pc, #532] ; (156b0 ) - 1549a: 47a8 blx r5 + 15456: 4b91 ldr r3, [pc, #580] ; (1569c ) + 15458: 6818 ldr r0, [r3, #0] + 1545a: 3010 adds r0, #16 + 1545c: 6a1b ldr r3, [r3, #32] + 1545e: f013 0f02 tst.w r3, #2 + 15462: f040 836d bne.w 15b40 + 15466: 231f movs r3, #31 + 15468: 213f movs r1, #63 ; 0x3f + 1546a: 461c mov r4, r3 + 1546c: f04f 0200 mov.w r2, #0 + 15470: f364 0204 bfi r2, r4, #0, #5 + 15474: f361 124a bfi r2, r1, #5, #6 + 15478: f363 22cf bfi r2, r3, #11, #5 + 1547c: f249 0189 movw r1, #37001 ; 0x9089 + 15480: 4d85 ldr r5, [pc, #532] ; (15698 ) + 15482: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff)); - 1549c: 4c85 ldr r4, [pc, #532] ; (156b4 ) - 1549e: 6820 ldr r0, [r4, #0] - 154a0: f04f 32ff mov.w r2, #4294967295 - 154a4: f248 1189 movw r1, #33161 ; 0x8189 - 154a8: 3010 adds r0, #16 - 154aa: 47a8 blx r5 + 15484: 4c85 ldr r4, [pc, #532] ; (1569c ) + 15486: 6820 ldr r0, [r4, #0] + 15488: f04f 32ff mov.w r2, #4294967295 + 1548c: f248 1189 movw r1, #33161 ; 0x8189 + 15490: 3010 adds r0, #16 + 15492: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 154ac: 6820 ldr r0, [r4, #0] - 154ae: f04f 32ff mov.w r2, #4294967295 - 154b2: f249 1189 movw r1, #37257 ; 0x9189 - 154b6: 3010 adds r0, #16 - 154b8: 47a8 blx r5 + 15494: 6820 ldr r0, [r4, #0] + 15496: f04f 32ff mov.w r2, #4294967295 + 1549a: f249 1189 movw r1, #37257 ; 0x9189 + 1549e: 3010 adds r0, #16 + 154a0: 47a8 blx r5 lv_style_set_text_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 154ba: 6820 ldr r0, [r4, #0] - 154bc: 2311 movs r3, #17 - 154be: f04f 0200 mov.w r2, #0 - 154c2: f363 0204 bfi r2, r3, #0, #5 - 154c6: 2122 movs r1, #34 ; 0x22 - 154c8: f361 124a bfi r2, r1, #5, #6 - 154cc: f363 22cf bfi r2, r3, #11, #5 - 154d0: f24a 0189 movw r1, #41097 ; 0xa089 - 154d4: 3010 adds r0, #16 - 154d6: 47a8 blx r5 + 154a2: 6820 ldr r0, [r4, #0] + 154a4: 2311 movs r3, #17 + 154a6: f04f 0200 mov.w r2, #0 + 154aa: f363 0204 bfi r2, r3, #0, #5 + 154ae: 2122 movs r1, #34 ; 0x22 + 154b0: f361 124a bfi r2, r1, #5, #6 + 154b4: f363 22cf bfi r2, r3, #11, #5 + 154b8: f24a 0189 movw r1, #41097 ; 0xa089 + 154bc: 3010 adds r0, #16 + 154be: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 154d8: 6820 ldr r0, [r4, #0] - 154da: 3010 adds r0, #16 - 154dc: 6a23 ldr r3, [r4, #32] - 154de: f013 0f02 tst.w r3, #2 - 154e2: f040 833d bne.w 15b60 - 154e6: 231f movs r3, #31 - 154e8: 213f movs r1, #63 ; 0x3f - 154ea: 461c mov r4, r3 - 154ec: f04f 0200 mov.w r2, #0 - 154f0: f364 0204 bfi r2, r4, #0, #5 - 154f4: f361 124a bfi r2, r1, #5, #6 - 154f8: f363 22cf bfi r2, r3, #11, #5 + 154c0: 6820 ldr r0, [r4, #0] + 154c2: 3010 adds r0, #16 + 154c4: 6a23 ldr r3, [r4, #32] + 154c6: f013 0f02 tst.w r3, #2 + 154ca: f040 833d bne.w 15b48 + 154ce: 231f movs r3, #31 + 154d0: 213f movs r1, #63 ; 0x3f + 154d2: 461c mov r4, r3 + 154d4: f04f 0200 mov.w r2, #0 + 154d8: f364 0204 bfi r2, r4, #0, #5 + 154dc: f361 124a bfi r2, r1, #5, #6 + 154e0: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 154fc: f248 01a9 movw r1, #32937 ; 0x80a9 - 15500: 4b6b ldr r3, [pc, #428] ; (156b0 ) - 15502: 4798 blx r3 + 154e4: f248 01a9 movw r1, #32937 ; 0x80a9 + 154e8: 4b6b ldr r3, [pc, #428] ; (15698 ) + 154ea: 4798 blx r3 lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15504: 4b6b ldr r3, [pc, #428] ; (156b4 ) - 15506: 6818 ldr r0, [r3, #0] - 15508: 3010 adds r0, #16 - 1550a: 6a1b ldr r3, [r3, #32] - 1550c: f013 0f02 tst.w r3, #2 - 15510: f040 832a bne.w 15b68 - 15514: 231f movs r3, #31 - 15516: 213f movs r1, #63 ; 0x3f - 15518: 461c mov r4, r3 - 1551a: f04f 0200 mov.w r2, #0 - 1551e: f364 0204 bfi r2, r4, #0, #5 - 15522: f361 124a bfi r2, r1, #5, #6 - 15526: f363 22cf bfi r2, r3, #11, #5 - 1552a: f249 01a9 movw r1, #37033 ; 0x90a9 - 1552e: 4d60 ldr r5, [pc, #384] ; (156b0 ) - 15530: 47a8 blx r5 + 154ec: 4b6b ldr r3, [pc, #428] ; (1569c ) + 154ee: 6818 ldr r0, [r3, #0] + 154f0: 3010 adds r0, #16 + 154f2: 6a1b ldr r3, [r3, #32] + 154f4: f013 0f02 tst.w r3, #2 + 154f8: f040 832a bne.w 15b50 + 154fc: 231f movs r3, #31 + 154fe: 213f movs r1, #63 ; 0x3f + 15500: 461c mov r4, r3 + 15502: f04f 0200 mov.w r2, #0 + 15506: f364 0204 bfi r2, r4, #0, #5 + 1550a: f361 124a bfi r2, r1, #5, #6 + 1550e: f363 22cf bfi r2, r3, #11, #5 + 15512: f249 01a9 movw r1, #37033 ; 0x90a9 + 15516: 4d60 ldr r5, [pc, #384] ; (15698 ) + 15518: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 15532: 4c60 ldr r4, [pc, #384] ; (156b4 ) - 15534: 6820 ldr r0, [r4, #0] - 15536: f04f 32ff mov.w r2, #4294967295 - 1553a: f249 01a9 movw r1, #37033 ; 0x90a9 - 1553e: 3010 adds r0, #16 - 15540: 47a8 blx r5 + 1551a: 4c60 ldr r4, [pc, #384] ; (1569c ) + 1551c: 6820 ldr r0, [r4, #0] + 1551e: f04f 32ff mov.w r2, #4294967295 + 15522: f249 01a9 movw r1, #37033 ; 0x90a9 + 15526: 3010 adds r0, #16 + 15528: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 15542: 6820 ldr r0, [r4, #0] - 15544: f04f 32ff mov.w r2, #4294967295 - 15548: f249 11a9 movw r1, #37289 ; 0x91a9 - 1554c: 3010 adds r0, #16 - 1554e: 47a8 blx r5 + 1552a: 6820 ldr r0, [r4, #0] + 1552c: f04f 32ff mov.w r2, #4294967295 + 15530: f249 11a9 movw r1, #37289 ; 0x91a9 + 15534: 3010 adds r0, #16 + 15536: 47a8 blx r5 lv_style_set_image_recolor(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 15550: 6820 ldr r0, [r4, #0] - 15552: 2311 movs r3, #17 - 15554: f04f 0200 mov.w r2, #0 - 15558: f363 0204 bfi r2, r3, #0, #5 - 1555c: 2122 movs r1, #34 ; 0x22 - 1555e: f361 124a bfi r2, r1, #5, #6 - 15562: f363 22cf bfi r2, r3, #11, #5 - 15566: f24a 01a9 movw r1, #41129 ; 0xa0a9 - 1556a: 3010 adds r0, #16 - 1556c: 47a8 blx r5 + 15538: 6820 ldr r0, [r4, #0] + 1553a: 2311 movs r3, #17 + 1553c: f04f 0200 mov.w r2, #0 + 15540: f363 0204 bfi r2, r3, #0, #5 + 15544: 2122 movs r1, #34 ; 0x22 + 15546: f361 124a bfi r2, r1, #5, #6 + 1554a: f363 22cf bfi r2, r3, #11, #5 + 1554e: f24a 01a9 movw r1, #41129 ; 0xa0a9 + 15552: 3010 adds r0, #16 + 15554: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 1556e: 6820 ldr r0, [r4, #0] - 15570: 3010 adds r0, #16 - 15572: 6a23 ldr r3, [r4, #32] - 15574: f013 0f02 tst.w r3, #2 - 15578: f040 82fa bne.w 15b70 - 1557c: 231f movs r3, #31 - 1557e: 213f movs r1, #63 ; 0x3f - 15580: 461c mov r4, r3 - 15582: f04f 0200 mov.w r2, #0 - 15586: f364 0204 bfi r2, r4, #0, #5 - 1558a: f361 124a bfi r2, r1, #5, #6 - 1558e: f363 22cf bfi r2, r3, #11, #5 + 15556: 6820 ldr r0, [r4, #0] + 15558: 3010 adds r0, #16 + 1555a: 6a23 ldr r3, [r4, #32] + 1555c: f013 0f02 tst.w r3, #2 + 15560: f040 82fa bne.w 15b58 + 15564: 231f movs r3, #31 + 15566: 213f movs r1, #63 ; 0x3f + 15568: 461c mov r4, r3 + 1556a: f04f 0200 mov.w r2, #0 + 1556e: f364 0204 bfi r2, r4, #0, #5 + 15572: f361 124a bfi r2, r1, #5, #6 + 15576: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 15592: 2179 movs r1, #121 ; 0x79 - 15594: 4b46 ldr r3, [pc, #280] ; (156b0 ) - 15596: 4798 blx r3 + 1557a: 2179 movs r1, #121 ; 0x79 + 1557c: 4b46 ldr r3, [pc, #280] ; (15698 ) + 1557e: 4798 blx r3 lv_style_set_value_color(&styles->btn, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex(0xffffff)); - 15598: 4b46 ldr r3, [pc, #280] ; (156b4 ) - 1559a: 6818 ldr r0, [r3, #0] - 1559c: 3010 adds r0, #16 - 1559e: 6a1b ldr r3, [r3, #32] - 155a0: f013 0f02 tst.w r3, #2 - 155a4: f040 82e8 bne.w 15b78 - 155a8: 231f movs r3, #31 - 155aa: 213f movs r1, #63 ; 0x3f - 155ac: 461c mov r4, r3 - 155ae: f04f 0200 mov.w r2, #0 - 155b2: f364 0204 bfi r2, r4, #0, #5 - 155b6: f361 124a bfi r2, r1, #5, #6 - 155ba: f363 22cf bfi r2, r3, #11, #5 - 155be: f241 0179 movw r1, #4217 ; 0x1079 - 155c2: 4d3b ldr r5, [pc, #236] ; (156b0 ) - 155c4: 47a8 blx r5 + 15580: 4b46 ldr r3, [pc, #280] ; (1569c ) + 15582: 6818 ldr r0, [r3, #0] + 15584: 3010 adds r0, #16 + 15586: 6a1b ldr r3, [r3, #32] + 15588: f013 0f02 tst.w r3, #2 + 1558c: f040 82e8 bne.w 15b60 + 15590: 231f movs r3, #31 + 15592: 213f movs r1, #63 ; 0x3f + 15594: 461c mov r4, r3 + 15596: f04f 0200 mov.w r2, #0 + 1559a: f364 0204 bfi r2, r4, #0, #5 + 1559e: f361 124a bfi r2, r1, #5, #6 + 155a2: f363 22cf bfi r2, r3, #11, #5 + 155a6: f241 0179 movw r1, #4217 ; 0x1079 + 155aa: 4d3b ldr r5, [pc, #236] ; (15698 ) + 155ac: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED, lv_color_hex(0xffffff)); - 155c6: 4c3b ldr r4, [pc, #236] ; (156b4 ) - 155c8: 6820 ldr r0, [r4, #0] - 155ca: f04f 32ff mov.w r2, #4294967295 - 155ce: f240 1179 movw r1, #377 ; 0x179 - 155d2: 3010 adds r0, #16 - 155d4: 47a8 blx r5 + 155ae: 4c3b ldr r4, [pc, #236] ; (1569c ) + 155b0: 6820 ldr r0, [r4, #0] + 155b2: f04f 32ff mov.w r2, #4294967295 + 155b6: f240 1179 movw r1, #377 ; 0x179 + 155ba: 3010 adds r0, #16 + 155bc: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_CHECKED | LV_STATE_PRESSED, lv_color_hex(0xffffff)); - 155d6: 6820 ldr r0, [r4, #0] - 155d8: f04f 32ff mov.w r2, #4294967295 - 155dc: f241 1179 movw r1, #4473 ; 0x1179 - 155e0: 3010 adds r0, #16 - 155e2: 47a8 blx r5 + 155be: 6820 ldr r0, [r4, #0] + 155c0: f04f 32ff mov.w r2, #4294967295 + 155c4: f241 1179 movw r1, #4473 ; 0x1179 + 155c8: 3010 adds r0, #16 + 155ca: 47a8 blx r5 lv_style_set_value_color(&styles->btn, LV_STATE_DISABLED, IS_LIGHT ? lv_color_hex(0x888888) : lv_color_hex(0x888888)); - 155e4: 6820 ldr r0, [r4, #0] - 155e6: 2311 movs r3, #17 - 155e8: f04f 0200 mov.w r2, #0 - 155ec: f363 0204 bfi r2, r3, #0, #5 - 155f0: 2122 movs r1, #34 ; 0x22 - 155f2: f361 124a bfi r2, r1, #5, #6 - 155f6: f363 22cf bfi r2, r3, #11, #5 - 155fa: f242 0179 movw r1, #8313 ; 0x2079 - 155fe: 3010 adds r0, #16 - 15600: 47a8 blx r5 + 155cc: 6820 ldr r0, [r4, #0] + 155ce: 2311 movs r3, #17 + 155d0: f04f 0200 mov.w r2, #0 + 155d4: f363 0204 bfi r2, r3, #0, #5 + 155d8: 2122 movs r1, #34 ; 0x22 + 155da: f361 124a bfi r2, r1, #5, #6 + 155de: f363 22cf bfi r2, r3, #11, #5 + 155e2: f242 0179 movw r1, #8313 ; 0x2079 + 155e6: 3010 adds r0, #16 + 155e8: 47a8 blx r5 lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 15602: 6824 ldr r4, [r4, #0] - 15604: 3410 adds r4, #16 - 15606: 2000 movs r0, #0 - 15608: 4b2b ldr r3, [pc, #172] ; (156b8 ) - 1560a: 4798 blx r3 - 1560c: eb00 0080 add.w r0, r0, r0, lsl #2 - 15610: 00c0 lsls r0, r0, #3 - 15612: 3050 adds r0, #80 ; 0x50 - 15614: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15618: f280 82b2 bge.w 15b80 - 1561c: 2201 movs r2, #1 + 155ea: 6824 ldr r4, [r4, #0] + 155ec: 3410 adds r4, #16 + 155ee: 2000 movs r0, #0 + 155f0: 4b2b ldr r3, [pc, #172] ; (156a0 ) + 155f2: 4798 blx r3 + 155f4: eb00 0080 add.w r0, r0, r0, lsl #2 + 155f8: 00c0 lsls r0, r0, #3 + 155fa: 3050 adds r0, #80 ; 0x50 + 155fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15600: f280 82b2 bge.w 15b68 + 15604: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1561e: 2112 movs r1, #18 - 15620: 4620 mov r0, r4 - 15622: 4b26 ldr r3, [pc, #152] ; (156bc ) - 15624: 4798 blx r3 + 15606: 2112 movs r1, #18 + 15608: 4620 mov r0, r4 + 1560a: 4b26 ldr r3, [pc, #152] ; (156a4 ) + 1560c: 4798 blx r3 lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 15626: 4b23 ldr r3, [pc, #140] ; (156b4 ) - 15628: 681c ldr r4, [r3, #0] - 1562a: 3410 adds r4, #16 - 1562c: 2000 movs r0, #0 - 1562e: 4b22 ldr r3, [pc, #136] ; (156b8 ) - 15630: 4798 blx r3 - 15632: eb00 0080 add.w r0, r0, r0, lsl #2 - 15636: 00c0 lsls r0, r0, #3 - 15638: 3050 adds r0, #80 ; 0x50 - 1563a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1563e: f280 82ae bge.w 15b9e - 15642: 2201 movs r2, #1 + 1560e: 4b23 ldr r3, [pc, #140] ; (1569c ) + 15610: 681c ldr r4, [r3, #0] + 15612: 3410 adds r4, #16 + 15614: 2000 movs r0, #0 + 15616: 4b22 ldr r3, [pc, #136] ; (156a0 ) + 15618: 4798 blx r3 + 1561a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1561e: 00c0 lsls r0, r0, #3 + 15620: 3050 adds r0, #80 ; 0x50 + 15622: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15626: f280 82ae bge.w 15b86 + 1562a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15644: 2113 movs r1, #19 - 15646: 4620 mov r0, r4 - 15648: 4b1c ldr r3, [pc, #112] ; (156bc ) - 1564a: 4798 blx r3 + 1562c: 2113 movs r1, #19 + 1562e: 4620 mov r0, r4 + 15630: 4b1c ldr r3, [pc, #112] ; (156a4 ) + 15632: 4798 blx r3 lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 1564c: 4b19 ldr r3, [pc, #100] ; (156b4 ) - 1564e: 681c ldr r4, [r3, #0] - 15650: 3410 adds r4, #16 - 15652: 2000 movs r0, #0 - 15654: 4b18 ldr r3, [pc, #96] ; (156b8 ) - 15656: 4798 blx r3 - 15658: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1565c: 3050 adds r0, #80 ; 0x50 - 1565e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15662: f280 82ab bge.w 15bbc - 15666: 2201 movs r2, #1 + 15634: 4b19 ldr r3, [pc, #100] ; (1569c ) + 15636: 681c ldr r4, [r3, #0] + 15638: 3410 adds r4, #16 + 1563a: 2000 movs r0, #0 + 1563c: 4b18 ldr r3, [pc, #96] ; (156a0 ) + 1563e: 4798 blx r3 + 15640: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15644: 3050 adds r0, #80 ; 0x50 + 15646: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1564a: f280 82ab bge.w 15ba4 + 1564e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15668: 2110 movs r1, #16 - 1566a: 4620 mov r0, r4 - 1566c: 4b13 ldr r3, [pc, #76] ; (156bc ) - 1566e: 4798 blx r3 + 15650: 2110 movs r1, #16 + 15652: 4620 mov r0, r4 + 15654: 4b13 ldr r3, [pc, #76] ; (156a4 ) + 15656: 4798 blx r3 lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 15670: 4b10 ldr r3, [pc, #64] ; (156b4 ) - 15672: 681c ldr r4, [r3, #0] - 15674: 3410 adds r4, #16 - 15676: 2000 movs r0, #0 - 15678: 4b0f ldr r3, [pc, #60] ; (156b8 ) - 1567a: 4798 blx r3 - 1567c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15680: 3050 adds r0, #80 ; 0x50 - 15682: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15686: f280 82a7 bge.w 15bd8 - 1568a: 2201 movs r2, #1 + 15658: 4b10 ldr r3, [pc, #64] ; (1569c ) + 1565a: 681c ldr r4, [r3, #0] + 1565c: 3410 adds r4, #16 + 1565e: 2000 movs r0, #0 + 15660: 4b0f ldr r3, [pc, #60] ; (156a0 ) + 15662: 4798 blx r3 + 15664: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15668: 3050 adds r0, #80 ; 0x50 + 1566a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1566e: f280 82a7 bge.w 15bc0 + 15672: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1568c: 2111 movs r1, #17 - 1568e: 4620 mov r0, r4 - 15690: 4b0a ldr r3, [pc, #40] ; (156bc ) - 15692: 4798 blx r3 + 15674: 2111 movs r1, #17 + 15676: 4620 mov r0, r4 + 15678: 4b0a ldr r3, [pc, #40] ; (156a4 ) + 1567a: 4798 blx r3 lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); - 15694: 4b07 ldr r3, [pc, #28] ; (156b4 ) - 15696: 681c ldr r4, [r3, #0] - 15698: 3410 adds r4, #16 - 1569a: 2000 movs r0, #0 - 1569c: 4b06 ldr r3, [pc, #24] ; (156b8 ) - 1569e: 4798 blx r3 - 156a0: eb00 0080 add.w r0, r0, r0, lsl #2 - 156a4: 0080 lsls r0, r0, #2 - 156a6: 3050 adds r0, #80 ; 0x50 - 156a8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 156ac: e00a b.n 156c4 - 156ae: bf00 nop - 156b0: 00006a25 .word 0x00006a25 - 156b4: 20006bd8 .word 0x20006bd8 - 156b8: 00010f3d .word 0x00010f3d - 156bc: 000068e1 .word 0x000068e1 - 156c0: 00006b69 .word 0x00006b69 - 156c4: f280 8296 bge.w 15bf4 - 156c8: 2201 movs r2, #1 + 1567c: 4b07 ldr r3, [pc, #28] ; (1569c ) + 1567e: 681c ldr r4, [r3, #0] + 15680: 3410 adds r4, #16 + 15682: 2000 movs r0, #0 + 15684: 4b06 ldr r3, [pc, #24] ; (156a0 ) + 15686: 4798 blx r3 + 15688: eb00 0080 add.w r0, r0, r0, lsl #2 + 1568c: 0080 lsls r0, r0, #2 + 1568e: 3050 adds r0, #80 ; 0x50 + 15690: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15694: e00a b.n 156ac + 15696: bf00 nop + 15698: 00006a0d .word 0x00006a0d + 1569c: 20006bd8 .word 0x20006bd8 + 156a0: 00010f25 .word 0x00010f25 + 156a4: 000068c9 .word 0x000068c9 + 156a8: 00006b51 .word 0x00006b51 + 156ac: f280 8296 bge.w 15bdc + 156b0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 156ca: 2114 movs r1, #20 - 156cc: 4620 mov r0, r4 - 156ce: 4dbd ldr r5, [pc, #756] ; (159c4 ) - 156d0: 47a8 blx r5 + 156b2: 2114 movs r1, #20 + 156b4: 4620 mov r0, r4 + 156b6: 4dbd ldr r5, [pc, #756] ; (159ac ) + 156b8: 47a8 blx r5 lv_style_set_outline_width(&styles->btn, LV_STATE_DEFAULT, 3); - 156d2: 4cbd ldr r4, [pc, #756] ; (159c8 ) - 156d4: 6820 ldr r0, [r4, #0] + 156ba: 4cbd ldr r4, [pc, #756] ; (159b0 ) + 156bc: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 156d6: 2203 movs r2, #3 - 156d8: 2140 movs r1, #64 ; 0x40 - 156da: 3010 adds r0, #16 - 156dc: 47a8 blx r5 + 156be: 2203 movs r2, #3 + 156c0: 2140 movs r1, #64 ; 0x40 + 156c2: 3010 adds r0, #16 + 156c4: 47a8 blx r5 lv_style_set_outline_opa(&styles->btn, LV_STATE_DEFAULT, LV_OPA_0); - 156de: 6820 ldr r0, [r4, #0] + 156c6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 156e0: 2200 movs r2, #0 - 156e2: 214c movs r1, #76 ; 0x4c + 156c8: 2200 movs r2, #0 + 156ca: 214c movs r1, #76 ; 0x4c + 156cc: 3010 adds r0, #16 + 156ce: 4eb9 ldr r6, [pc, #740] ; (159b4 ) + 156d0: 47b0 blx r6 + lv_style_set_outline_opa(&styles->btn, LV_STATE_FOCUSED, LV_OPA_50); + 156d2: 6820 ldr r0, [r4, #0] + 156d4: 227f movs r2, #127 ; 0x7f + 156d6: f44f 7113 mov.w r1, #588 ; 0x24c + 156da: 3010 adds r0, #16 + 156dc: 47b0 blx r6 + lv_style_set_outline_color(&styles->btn, LV_STATE_DEFAULT, theme.color_primary); + 156de: 6820 ldr r0, [r4, #0] +_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) + 156e0: 89a2 ldrh r2, [r4, #12] + 156e2: 2149 movs r1, #73 ; 0x49 156e4: 3010 adds r0, #16 - 156e6: 4eb9 ldr r6, [pc, #740] ; (159cc ) + 156e6: 4eb4 ldr r6, [pc, #720] ; (159b8 ) 156e8: 47b0 blx r6 - lv_style_set_outline_opa(&styles->btn, LV_STATE_FOCUSED, LV_OPA_50); + lv_style_set_outline_color(&styles->btn, LV_STATE_EDITED, theme.color_secondary); 156ea: 6820 ldr r0, [r4, #0] - 156ec: 227f movs r2, #127 ; 0x7f - 156ee: f44f 7113 mov.w r1, #588 ; 0x24c + 156ec: 89e2 ldrh r2, [r4, #14] + 156ee: f240 4149 movw r1, #1097 ; 0x449 156f2: 3010 adds r0, #16 156f4: 47b0 blx r6 - lv_style_set_outline_color(&styles->btn, LV_STATE_DEFAULT, theme.color_primary); - 156f6: 6820 ldr r0, [r4, #0] -_LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 156f8: 89a2 ldrh r2, [r4, #12] - 156fa: 2149 movs r1, #73 ; 0x49 - 156fc: 3010 adds r0, #16 - 156fe: 4eb4 ldr r6, [pc, #720] ; (159d0 ) - 15700: 47b0 blx r6 - lv_style_set_outline_color(&styles->btn, LV_STATE_EDITED, theme.color_secondary); - 15702: 6820 ldr r0, [r4, #0] - 15704: 89e2 ldrh r2, [r4, #14] - 15706: f240 4149 movw r1, #1097 ; 0x449 - 1570a: 3010 adds r0, #16 - 1570c: 47b0 blx r6 lv_style_set_transition_time(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 1570e: 6820 ldr r0, [r4, #0] + 156f6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 15710: 2296 movs r2, #150 ; 0x96 - 15712: 21b0 movs r1, #176 ; 0xb0 - 15714: 3010 adds r0, #16 - 15716: 47a8 blx r5 + 156f8: 2296 movs r2, #150 ; 0x96 + 156fa: 21b0 movs r1, #176 ; 0xb0 + 156fc: 3010 adds r0, #16 + 156fe: 47a8 blx r5 lv_style_set_transition_prop_4(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BORDER_OPA); - 15718: 6820 ldr r0, [r4, #0] + 15700: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_4, transition_prop_4, lv_style_int_t, _int, scalar) - 1571a: 223c movs r2, #60 ; 0x3c - 1571c: 21b5 movs r1, #181 ; 0xb5 - 1571e: 3010 adds r0, #16 - 15720: 47a8 blx r5 + 15702: 223c movs r2, #60 ; 0x3c + 15704: 21b5 movs r1, #181 ; 0xb5 + 15706: 3010 adds r0, #16 + 15708: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 15722: 6820 ldr r0, [r4, #0] + 1570a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 15724: 2229 movs r2, #41 ; 0x29 - 15726: 21b6 movs r1, #182 ; 0xb6 - 15728: 3010 adds r0, #16 - 1572a: 47a8 blx r5 + 1570c: 2229 movs r2, #41 ; 0x29 + 1570e: 21b6 movs r1, #182 ; 0xb6 + 15710: 3010 adds r0, #16 + 15712: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->btn, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 1572c: 6820 ldr r0, [r4, #0] + 15714: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 1572e: 224c movs r2, #76 ; 0x4c - 15730: 21b7 movs r1, #183 ; 0xb7 - 15732: 3010 adds r0, #16 - 15734: 47a8 blx r5 + 15716: 224c movs r2, #76 ; 0x4c + 15718: 21b7 movs r1, #183 ; 0xb7 + 1571a: 3010 adds r0, #16 + 1571c: 47a8 blx r5 lv_style_set_transition_delay(&styles->btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 15736: 6820 ldr r0, [r4, #0] + 1571e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_DELAY, transition_delay, lv_style_int_t, _int, scalar) - 15738: 2296 movs r2, #150 ; 0x96 - 1573a: 21b1 movs r1, #177 ; 0xb1 - 1573c: 3010 adds r0, #16 - 1573e: 47a8 blx r5 + 15720: 2296 movs r2, #150 ; 0x96 + 15722: 21b1 movs r1, #177 ; 0xb1 + 15724: 3010 adds r0, #16 + 15726: 47a8 blx r5 lv_style_set_transition_delay(&styles->btn, LV_STATE_PRESSED, 0); - 15740: 6820 ldr r0, [r4, #0] - 15742: 2200 movs r2, #0 - 15744: f241 01b1 movw r1, #4273 ; 0x10b1 - 15748: 3010 adds r0, #16 - 1574a: 47a8 blx r5 + 15728: 6820 ldr r0, [r4, #0] + 1572a: 2200 movs r2, #0 + 1572c: f241 01b1 movw r1, #4273 ; 0x10b1 + 15730: 3010 adds r0, #16 + 15732: 47a8 blx r5 style_init_reset(&styles->pad_inner); - 1574c: 6820 ldr r0, [r4, #0] - 1574e: 3014 adds r0, #20 - 15750: 4ba0 ldr r3, [pc, #640] ; (159d4 ) - 15752: 4798 blx r3 + 15734: 6820 ldr r0, [r4, #0] + 15736: 3014 adds r0, #20 + 15738: 4ba0 ldr r3, [pc, #640] ; (159bc ) + 1573a: 4798 blx r3 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15754: 6824 ldr r4, [r4, #0] - 15756: 3414 adds r4, #20 + 1573c: 6824 ldr r4, [r4, #0] + 1573e: 3414 adds r4, #20 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 15758: 2000 movs r0, #0 - 1575a: 4b9f ldr r3, [pc, #636] ; (159d8 ) - 1575c: 4798 blx r3 + 15740: 2000 movs r0, #0 + 15742: 4b9f ldr r3, [pc, #636] ; (159c0 ) + 15744: 4798 blx r3 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 1575e: 2832 cmp r0, #50 ; 0x32 - 15760: f200 8266 bhi.w 15c30 + 15746: 2832 cmp r0, #50 ; 0x32 + 15748: f200 8266 bhi.w 15c18 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 15764: 2000 movs r0, #0 - 15766: 4b9d ldr r3, [pc, #628] ; (159dc ) - 15768: 4798 blx r3 - 1576a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1576e: 0080 lsls r0, r0, #2 - 15770: 3050 adds r0, #80 ; 0x50 + 1574c: 2000 movs r0, #0 + 1574e: 4b9d ldr r3, [pc, #628] ; (159c4 ) + 15750: 4798 blx r3 + 15752: eb00 0080 add.w r0, r0, r0, lsl #2 + 15756: 0080 lsls r0, r0, #2 + 15758: 3050 adds r0, #80 ; 0x50 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15772: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15776: f280 824c bge.w 15c12 - 1577a: 2201 movs r2, #1 + 1575a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1575e: f280 824c bge.w 15bfa + 15762: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1577c: 2114 movs r1, #20 - 1577e: 4620 mov r0, r4 - 15780: 4b90 ldr r3, [pc, #576] ; (159c4 ) - 15782: 4798 blx r3 + 15764: 2114 movs r1, #20 + 15766: 4620 mov r0, r4 + 15768: 4b90 ldr r3, [pc, #576] ; (159ac ) + 1576a: 4798 blx r3 style_init_reset(&styles->pad_small); - 15784: 4b90 ldr r3, [pc, #576] ; (159c8 ) - 15786: 6818 ldr r0, [r3, #0] - 15788: 3018 adds r0, #24 - 1578a: 4b92 ldr r3, [pc, #584] ; (159d4 ) - 1578c: 4798 blx r3 + 1576c: 4b90 ldr r3, [pc, #576] ; (159b0 ) + 1576e: 6818 ldr r0, [r3, #0] + 15770: 3018 adds r0, #24 + 15772: 4b92 ldr r3, [pc, #584] ; (159bc ) + 15774: 4798 blx r3 lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); - 1578e: 2000 movs r0, #0 - 15790: 4b91 ldr r3, [pc, #580] ; (159d8 ) - 15792: 4798 blx r3 - 15794: 2832 cmp r0, #50 ; 0x32 - 15796: f200 8275 bhi.w 15c84 - 1579a: 2000 movs r0, #0 - 1579c: 4b8f ldr r3, [pc, #572] ; (159dc ) - 1579e: 4798 blx r3 - 157a0: eb00 0080 add.w r0, r0, r0, lsl #2 - 157a4: 0040 lsls r0, r0, #1 - 157a6: 3050 adds r0, #80 ; 0x50 - 157a8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 157ac: f280 825b bge.w 15c66 - 157b0: 2401 movs r4, #1 + 15776: 2000 movs r0, #0 + 15778: 4b91 ldr r3, [pc, #580] ; (159c0 ) + 1577a: 4798 blx r3 + 1577c: 2832 cmp r0, #50 ; 0x32 + 1577e: f200 8275 bhi.w 15c6c + 15782: 2000 movs r0, #0 + 15784: 4b8f ldr r3, [pc, #572] ; (159c4 ) + 15786: 4798 blx r3 + 15788: eb00 0080 add.w r0, r0, r0, lsl #2 + 1578c: 0040 lsls r0, r0, #1 + 1578e: 3050 adds r0, #80 ; 0x50 + 15790: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15794: f280 825b bge.w 15c4e + 15798: 2401 movs r4, #1 lv_style_set_pad_left(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 157b2: 4e85 ldr r6, [pc, #532] ; (159c8 ) - 157b4: 6830 ldr r0, [r6, #0] + 1579a: 4e85 ldr r6, [pc, #532] ; (159b0 ) + 1579c: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 157b6: 4622 mov r2, r4 - 157b8: 2112 movs r1, #18 - 157ba: 3018 adds r0, #24 - 157bc: 4d81 ldr r5, [pc, #516] ; (159c4 ) - 157be: 47a8 blx r5 + 1579e: 4622 mov r2, r4 + 157a0: 2112 movs r1, #18 + 157a2: 3018 adds r0, #24 + 157a4: 4d81 ldr r5, [pc, #516] ; (159ac ) + 157a6: 47a8 blx r5 lv_style_set_pad_right(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 157c0: 6830 ldr r0, [r6, #0] + 157a8: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 157c2: 4622 mov r2, r4 - 157c4: 2113 movs r1, #19 - 157c6: 3018 adds r0, #24 - 157c8: 47a8 blx r5 + 157aa: 4622 mov r2, r4 + 157ac: 2113 movs r1, #19 + 157ae: 3018 adds r0, #24 + 157b0: 47a8 blx r5 lv_style_set_pad_top(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 157ca: 6830 ldr r0, [r6, #0] + 157b2: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 157cc: 4622 mov r2, r4 - 157ce: 2110 movs r1, #16 - 157d0: 3018 adds r0, #24 - 157d2: 47a8 blx r5 + 157b4: 4622 mov r2, r4 + 157b6: 2110 movs r1, #16 + 157b8: 3018 adds r0, #24 + 157ba: 47a8 blx r5 lv_style_set_pad_bottom(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 157d4: 6830 ldr r0, [r6, #0] + 157bc: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 157d6: 4622 mov r2, r4 - 157d8: 2111 movs r1, #17 - 157da: 3018 adds r0, #24 - 157dc: 47a8 blx r5 + 157be: 4622 mov r2, r4 + 157c0: 2111 movs r1, #17 + 157c2: 3018 adds r0, #24 + 157c4: 47a8 blx r5 lv_style_set_pad_inner(&styles->pad_small, LV_STATE_DEFAULT, pad_small_value); - 157de: 6830 ldr r0, [r6, #0] + 157c6: 6830 ldr r0, [r6, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 157e0: 4622 mov r2, r4 - 157e2: 2114 movs r1, #20 - 157e4: 3018 adds r0, #24 - 157e6: 47a8 blx r5 - 157e8: bd70 pop {r4, r5, r6, pc} + 157c8: 4622 mov r2, r4 + 157ca: 2114 movs r1, #20 + 157cc: 3018 adds r0, #24 + 157ce: 47a8 blx r5 + 157d0: bd70 pop {r4, r5, r6, pc} lv_style_set_radius(&styles->bg, LV_STATE_DEFAULT, LV_DPX(8)); - 157ea: 2000 movs r0, #0 - 157ec: 4b7b ldr r3, [pc, #492] ; (159dc ) - 157ee: 4798 blx r3 - 157f0: 300a adds r0, #10 - 157f2: 00c0 lsls r0, r0, #3 - 157f4: 4b7a ldr r3, [pc, #488] ; (159e0 ) - 157f6: fb83 2300 smull r2, r3, r3, r0 - 157fa: 17c2 asrs r2, r0, #31 - 157fc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15800: b212 sxth r2, r2 - 15802: f7ff b9ad b.w 14b60 - 15806: 231f movs r3, #31 - 15808: 213f movs r1, #63 ; 0x3f - 1580a: 461c mov r4, r3 - 1580c: f7ff b9bd b.w 14b8a + 157d2: 2000 movs r0, #0 + 157d4: 4b7b ldr r3, [pc, #492] ; (159c4 ) + 157d6: 4798 blx r3 + 157d8: 300a adds r0, #10 + 157da: 00c0 lsls r0, r0, #3 + 157dc: 4b7a ldr r3, [pc, #488] ; (159c8 ) + 157de: fb83 2300 smull r2, r3, r3, r0 + 157e2: 17c2 asrs r2, r0, #31 + 157e4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 157e8: b212 sxth r2, r2 + 157ea: f7ff b9ad b.w 14b48 + 157ee: 231f movs r3, #31 + 157f0: 213f movs r1, #63 ; 0x3f + 157f2: 461c mov r4, r3 + 157f4: f7ff b9bd b.w 14b72 lv_style_set_border_width(&styles->bg, LV_STATE_DEFAULT, BORDER_WIDTH); - 15810: 2000 movs r0, #0 - 15812: 4b72 ldr r3, [pc, #456] ; (159dc ) - 15814: 4798 blx r3 - 15816: 3028 adds r0, #40 ; 0x28 - 15818: 0040 lsls r0, r0, #1 - 1581a: 4b71 ldr r3, [pc, #452] ; (159e0 ) - 1581c: fb83 2300 smull r2, r3, r3, r0 - 15820: 17c2 asrs r2, r0, #31 - 15822: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15826: b212 sxth r2, r2 - 15828: f7ff b9ed b.w 14c06 - 1582c: 2307 movs r3, #7 - 1582e: 210f movs r1, #15 - 15830: 2408 movs r4, #8 - 15832: f7ff ba03 b.w 14c3c - 15836: 2307 movs r3, #7 - 15838: 210f movs r1, #15 - 1583a: 2408 movs r4, #8 - 1583c: f7ff ba1b b.w 14c76 - 15840: 2307 movs r3, #7 - 15842: 210f movs r1, #15 - 15844: 2408 movs r4, #8 - 15846: f7ff ba2c b.w 14ca2 - 1584a: 2307 movs r3, #7 - 1584c: 210f movs r1, #15 - 1584e: 2408 movs r4, #8 - 15850: f7ff ba3e b.w 14cd0 + 157f8: 2000 movs r0, #0 + 157fa: 4b72 ldr r3, [pc, #456] ; (159c4 ) + 157fc: 4798 blx r3 + 157fe: 3028 adds r0, #40 ; 0x28 + 15800: 0040 lsls r0, r0, #1 + 15802: 4b71 ldr r3, [pc, #452] ; (159c8 ) + 15804: fb83 2300 smull r2, r3, r3, r0 + 15808: 17c2 asrs r2, r0, #31 + 1580a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1580e: b212 sxth r2, r2 + 15810: f7ff b9ed b.w 14bee + 15814: 2307 movs r3, #7 + 15816: 210f movs r1, #15 + 15818: 2408 movs r4, #8 + 1581a: f7ff ba03 b.w 14c24 + 1581e: 2307 movs r3, #7 + 15820: 210f movs r1, #15 + 15822: 2408 movs r4, #8 + 15824: f7ff ba1b b.w 14c5e + 15828: 2307 movs r3, #7 + 1582a: 210f movs r1, #15 + 1582c: 2408 movs r4, #8 + 1582e: f7ff ba2c b.w 14c8a + 15832: 2307 movs r3, #7 + 15834: 210f movs r1, #15 + 15836: 2408 movs r4, #8 + 15838: f7ff ba3e b.w 14cb8 lv_style_set_pad_left(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); + 1583c: 2000 movs r0, #0 + 1583e: 4b61 ldr r3, [pc, #388] ; (159c4 ) + 15840: 4798 blx r3 + 15842: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15846: 3050 adds r0, #80 ; 0x50 + 15848: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1584c: da02 bge.n 15854 + 1584e: 2401 movs r4, #1 + 15850: f7ff ba58 b.w 14d04 15854: 2000 movs r0, #0 - 15856: 4b61 ldr r3, [pc, #388] ; (159dc ) + 15856: 4b5b ldr r3, [pc, #364] ; (159c4 ) 15858: 4798 blx r3 1585a: ebc0 1000 rsb r0, r0, r0, lsl #4 1585e: 3050 adds r0, #80 ; 0x50 - 15860: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15864: da02 bge.n 1586c - 15866: 2401 movs r4, #1 - 15868: f7ff ba58 b.w 14d1c - 1586c: 2000 movs r0, #0 - 1586e: 4b5b ldr r3, [pc, #364] ; (159dc ) - 15870: 4798 blx r3 - 15872: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15876: 3050 adds r0, #80 ; 0x50 - 15878: 4a59 ldr r2, [pc, #356] ; (159e0 ) - 1587a: fb82 3200 smull r3, r2, r2, r0 - 1587e: 17c4 asrs r4, r0, #31 - 15880: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15884: b2a4 uxth r4, r4 - 15886: f7ff ba49 b.w 14d1c - 1588a: 2000 movs r0, #0 - 1588c: 4b53 ldr r3, [pc, #332] ; (159dc ) - 1588e: 4798 blx r3 - 15890: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15894: 0040 lsls r0, r0, #1 - 15896: 3050 adds r0, #80 ; 0x50 - 15898: 4a51 ldr r2, [pc, #324] ; (159e0 ) - 1589a: fb82 3200 smull r3, r2, r2, r0 - 1589e: 17c4 asrs r4, r0, #31 - 158a0: ebc4 14a2 rsb r4, r4, r2, asr #6 - 158a4: b2a4 uxth r4, r4 - 158a6: f7ff ba39 b.w 14d1c - 158aa: 2000 movs r0, #0 - 158ac: 4b4b ldr r3, [pc, #300] ; (159dc ) - 158ae: 4798 blx r3 - 158b0: 3028 adds r0, #40 ; 0x28 - 158b2: 0040 lsls r0, r0, #1 - 158b4: 4b4a ldr r3, [pc, #296] ; (159e0 ) - 158b6: fb83 2300 smull r2, r3, r3, r0 - 158ba: 17c2 asrs r2, r0, #31 - 158bc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 158c0: b292 uxth r2, r2 - 158c2: f7ff ba35 b.w 14d30 + 15860: 4a59 ldr r2, [pc, #356] ; (159c8 ) + 15862: fb82 3200 smull r3, r2, r2, r0 + 15866: 17c4 asrs r4, r0, #31 + 15868: ebc4 14a2 rsb r4, r4, r2, asr #6 + 1586c: b2a4 uxth r4, r4 + 1586e: f7ff ba49 b.w 14d04 + 15872: 2000 movs r0, #0 + 15874: 4b53 ldr r3, [pc, #332] ; (159c4 ) + 15876: 4798 blx r3 + 15878: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1587c: 0040 lsls r0, r0, #1 + 1587e: 3050 adds r0, #80 ; 0x50 + 15880: 4a51 ldr r2, [pc, #324] ; (159c8 ) + 15882: fb82 3200 smull r3, r2, r2, r0 + 15886: 17c4 asrs r4, r0, #31 + 15888: ebc4 14a2 rsb r4, r4, r2, asr #6 + 1588c: b2a4 uxth r4, r4 + 1588e: f7ff ba39 b.w 14d04 + 15892: 2000 movs r0, #0 + 15894: 4b4b ldr r3, [pc, #300] ; (159c4 ) + 15896: 4798 blx r3 + 15898: 3028 adds r0, #40 ; 0x28 + 1589a: 0040 lsls r0, r0, #1 + 1589c: 4b4a ldr r3, [pc, #296] ; (159c8 ) + 1589e: fb83 2300 smull r2, r3, r3, r0 + 158a2: 17c2 asrs r2, r0, #31 + 158a4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 158a8: b292 uxth r2, r2 + 158aa: f7ff ba35 b.w 14d18 lv_style_set_pad_right(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); + 158ae: 2000 movs r0, #0 + 158b0: 4b44 ldr r3, [pc, #272] ; (159c4 ) + 158b2: 4798 blx r3 + 158b4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 158b8: 3050 adds r0, #80 ; 0x50 + 158ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 158be: da02 bge.n 158c6 + 158c0: 2401 movs r4, #1 + 158c2: f7ff ba55 b.w 14d70 158c6: 2000 movs r0, #0 - 158c8: 4b44 ldr r3, [pc, #272] ; (159dc ) + 158c8: 4b3e ldr r3, [pc, #248] ; (159c4 ) 158ca: 4798 blx r3 158cc: ebc0 1000 rsb r0, r0, r0, lsl #4 158d0: 3050 adds r0, #80 ; 0x50 - 158d2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 158d6: da02 bge.n 158de - 158d8: 2401 movs r4, #1 - 158da: f7ff ba55 b.w 14d88 - 158de: 2000 movs r0, #0 - 158e0: 4b3e ldr r3, [pc, #248] ; (159dc ) - 158e2: 4798 blx r3 - 158e4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 158e8: 3050 adds r0, #80 ; 0x50 - 158ea: 4a3d ldr r2, [pc, #244] ; (159e0 ) - 158ec: fb82 3200 smull r3, r2, r2, r0 - 158f0: 17c4 asrs r4, r0, #31 - 158f2: ebc4 14a2 rsb r4, r4, r2, asr #6 - 158f6: b2a4 uxth r4, r4 - 158f8: f7ff ba46 b.w 14d88 - 158fc: 2000 movs r0, #0 - 158fe: 4b37 ldr r3, [pc, #220] ; (159dc ) - 15900: 4798 blx r3 - 15902: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15906: 0040 lsls r0, r0, #1 - 15908: 3050 adds r0, #80 ; 0x50 - 1590a: 4a35 ldr r2, [pc, #212] ; (159e0 ) - 1590c: fb82 3200 smull r3, r2, r2, r0 - 15910: 17c4 asrs r4, r0, #31 - 15912: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15916: b2a4 uxth r4, r4 - 15918: f7ff ba36 b.w 14d88 - 1591c: 2000 movs r0, #0 - 1591e: 4b2f ldr r3, [pc, #188] ; (159dc ) - 15920: 4798 blx r3 - 15922: 3028 adds r0, #40 ; 0x28 - 15924: 0040 lsls r0, r0, #1 - 15926: 4b2e ldr r3, [pc, #184] ; (159e0 ) - 15928: fb83 2300 smull r2, r3, r3, r0 - 1592c: 17c2 asrs r2, r0, #31 - 1592e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15932: b292 uxth r2, r2 - 15934: f7ff ba32 b.w 14d9c + 158d2: 4a3d ldr r2, [pc, #244] ; (159c8 ) + 158d4: fb82 3200 smull r3, r2, r2, r0 + 158d8: 17c4 asrs r4, r0, #31 + 158da: ebc4 14a2 rsb r4, r4, r2, asr #6 + 158de: b2a4 uxth r4, r4 + 158e0: f7ff ba46 b.w 14d70 + 158e4: 2000 movs r0, #0 + 158e6: 4b37 ldr r3, [pc, #220] ; (159c4 ) + 158e8: 4798 blx r3 + 158ea: ebc0 1000 rsb r0, r0, r0, lsl #4 + 158ee: 0040 lsls r0, r0, #1 + 158f0: 3050 adds r0, #80 ; 0x50 + 158f2: 4a35 ldr r2, [pc, #212] ; (159c8 ) + 158f4: fb82 3200 smull r3, r2, r2, r0 + 158f8: 17c4 asrs r4, r0, #31 + 158fa: ebc4 14a2 rsb r4, r4, r2, asr #6 + 158fe: b2a4 uxth r4, r4 + 15900: f7ff ba36 b.w 14d70 + 15904: 2000 movs r0, #0 + 15906: 4b2f ldr r3, [pc, #188] ; (159c4 ) + 15908: 4798 blx r3 + 1590a: 3028 adds r0, #40 ; 0x28 + 1590c: 0040 lsls r0, r0, #1 + 1590e: 4b2e ldr r3, [pc, #184] ; (159c8 ) + 15910: fb83 2300 smull r2, r3, r3, r0 + 15914: 17c2 asrs r2, r0, #31 + 15916: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1591a: b292 uxth r2, r2 + 1591c: f7ff ba32 b.w 14d84 lv_style_set_pad_top(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); + 15920: 2000 movs r0, #0 + 15922: 4b28 ldr r3, [pc, #160] ; (159c4 ) + 15924: 4798 blx r3 + 15926: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1592a: 3050 adds r0, #80 ; 0x50 + 1592c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15930: da02 bge.n 15938 + 15932: 2401 movs r4, #1 + 15934: f7ff ba41 b.w 14dba 15938: 2000 movs r0, #0 - 1593a: 4b28 ldr r3, [pc, #160] ; (159dc ) + 1593a: 4b22 ldr r3, [pc, #136] ; (159c4 ) 1593c: 4798 blx r3 1593e: ebc0 1000 rsb r0, r0, r0, lsl #4 15942: 3050 adds r0, #80 ; 0x50 - 15944: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15948: da02 bge.n 15950 - 1594a: 2401 movs r4, #1 - 1594c: f7ff ba41 b.w 14dd2 - 15950: 2000 movs r0, #0 - 15952: 4b22 ldr r3, [pc, #136] ; (159dc ) - 15954: 4798 blx r3 - 15956: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1595a: 3050 adds r0, #80 ; 0x50 - 1595c: 4a20 ldr r2, [pc, #128] ; (159e0 ) - 1595e: fb82 3200 smull r3, r2, r2, r0 - 15962: 17c4 asrs r4, r0, #31 - 15964: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15968: b2a4 uxth r4, r4 - 1596a: f7ff ba32 b.w 14dd2 - 1596e: 2000 movs r0, #0 - 15970: 4b1a ldr r3, [pc, #104] ; (159dc ) - 15972: 4798 blx r3 - 15974: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15978: 0040 lsls r0, r0, #1 - 1597a: 3050 adds r0, #80 ; 0x50 - 1597c: 4a18 ldr r2, [pc, #96] ; (159e0 ) - 1597e: fb82 3200 smull r3, r2, r2, r0 - 15982: 17c4 asrs r4, r0, #31 - 15984: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15988: b2a4 uxth r4, r4 - 1598a: f7ff ba22 b.w 14dd2 - 1598e: 2000 movs r0, #0 - 15990: 4b12 ldr r3, [pc, #72] ; (159dc ) - 15992: 4798 blx r3 - 15994: 3028 adds r0, #40 ; 0x28 - 15996: 0040 lsls r0, r0, #1 - 15998: 4b11 ldr r3, [pc, #68] ; (159e0 ) - 1599a: fb83 2300 smull r2, r3, r3, r0 - 1599e: 17c2 asrs r2, r0, #31 - 159a0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 159a4: b292 uxth r2, r2 - 159a6: f7ff ba1e b.w 14de6 + 15944: 4a20 ldr r2, [pc, #128] ; (159c8 ) + 15946: fb82 3200 smull r3, r2, r2, r0 + 1594a: 17c4 asrs r4, r0, #31 + 1594c: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15950: b2a4 uxth r4, r4 + 15952: f7ff ba32 b.w 14dba + 15956: 2000 movs r0, #0 + 15958: 4b1a ldr r3, [pc, #104] ; (159c4 ) + 1595a: 4798 blx r3 + 1595c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15960: 0040 lsls r0, r0, #1 + 15962: 3050 adds r0, #80 ; 0x50 + 15964: 4a18 ldr r2, [pc, #96] ; (159c8 ) + 15966: fb82 3200 smull r3, r2, r2, r0 + 1596a: 17c4 asrs r4, r0, #31 + 1596c: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15970: b2a4 uxth r4, r4 + 15972: f7ff ba22 b.w 14dba + 15976: 2000 movs r0, #0 + 15978: 4b12 ldr r3, [pc, #72] ; (159c4 ) + 1597a: 4798 blx r3 + 1597c: 3028 adds r0, #40 ; 0x28 + 1597e: 0040 lsls r0, r0, #1 + 15980: 4b11 ldr r3, [pc, #68] ; (159c8 ) + 15982: fb83 2300 smull r2, r3, r3, r0 + 15986: 17c2 asrs r2, r0, #31 + 15988: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1598c: b292 uxth r2, r2 + 1598e: f7ff ba1e b.w 14dce lv_style_set_pad_bottom(&styles->bg, LV_STATE_DEFAULT, PAD_DEF + BORDER_WIDTH); - 159aa: 2000 movs r0, #0 - 159ac: 4b0b ldr r3, [pc, #44] ; (159dc ) - 159ae: 4798 blx r3 - 159b0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 159b4: 3050 adds r0, #80 ; 0x50 - 159b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 159ba: da13 bge.n 159e4 - 159bc: 2401 movs r4, #1 - 159be: f7ff ba2d b.w 14e1c - 159c2: bf00 nop - 159c4: 000068e1 .word 0x000068e1 - 159c8: 20006bd8 .word 0x20006bd8 - 159cc: 00006b69 .word 0x00006b69 - 159d0: 00006a25 .word 0x00006a25 - 159d4: 00014a61 .word 0x00014a61 - 159d8: 00010f59 .word 0x00010f59 - 159dc: 00010f3d .word 0x00010f3d - 159e0: 66666667 .word 0x66666667 - 159e4: 2000 movs r0, #0 - 159e6: 4bb5 ldr r3, [pc, #724] ; (15cbc ) - 159e8: 4798 blx r3 - 159ea: ebc0 1000 rsb r0, r0, r0, lsl #4 - 159ee: 3050 adds r0, #80 ; 0x50 - 159f0: 4ab3 ldr r2, [pc, #716] ; (15cc0 ) - 159f2: fb82 3200 smull r3, r2, r2, r0 - 159f6: 17c4 asrs r4, r0, #31 - 159f8: ebc4 14a2 rsb r4, r4, r2, asr #6 - 159fc: b2a4 uxth r4, r4 - 159fe: f7ff ba0d b.w 14e1c - 15a02: 2000 movs r0, #0 - 15a04: 4bad ldr r3, [pc, #692] ; (15cbc ) - 15a06: 4798 blx r3 - 15a08: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15a0c: 0040 lsls r0, r0, #1 - 15a0e: 3050 adds r0, #80 ; 0x50 - 15a10: 4aab ldr r2, [pc, #684] ; (15cc0 ) - 15a12: fb82 3200 smull r3, r2, r2, r0 - 15a16: 17c4 asrs r4, r0, #31 - 15a18: ebc4 14a2 rsb r4, r4, r2, asr #6 - 15a1c: b2a4 uxth r4, r4 - 15a1e: f7ff b9fd b.w 14e1c - 15a22: 2000 movs r0, #0 - 15a24: 4ba5 ldr r3, [pc, #660] ; (15cbc ) - 15a26: 4798 blx r3 - 15a28: 3028 adds r0, #40 ; 0x28 - 15a2a: 0040 lsls r0, r0, #1 - 15a2c: 4ba4 ldr r3, [pc, #656] ; (15cc0 ) - 15a2e: fb83 2300 smull r2, r3, r3, r0 - 15a32: 17c2 asrs r2, r0, #31 - 15a34: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15a38: b292 uxth r2, r2 - 15a3a: f7ff b9f9 b.w 14e30 + 15992: 2000 movs r0, #0 + 15994: 4b0b ldr r3, [pc, #44] ; (159c4 ) + 15996: 4798 blx r3 + 15998: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1599c: 3050 adds r0, #80 ; 0x50 + 1599e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 159a2: da13 bge.n 159cc + 159a4: 2401 movs r4, #1 + 159a6: f7ff ba2d b.w 14e04 + 159aa: bf00 nop + 159ac: 000068c9 .word 0x000068c9 + 159b0: 20006bd8 .word 0x20006bd8 + 159b4: 00006b51 .word 0x00006b51 + 159b8: 00006a0d .word 0x00006a0d + 159bc: 00014a49 .word 0x00014a49 + 159c0: 00010f41 .word 0x00010f41 + 159c4: 00010f25 .word 0x00010f25 + 159c8: 66666667 .word 0x66666667 + 159cc: 2000 movs r0, #0 + 159ce: 4bb5 ldr r3, [pc, #724] ; (15ca4 ) + 159d0: 4798 blx r3 + 159d2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 159d6: 3050 adds r0, #80 ; 0x50 + 159d8: 4ab3 ldr r2, [pc, #716] ; (15ca8 ) + 159da: fb82 3200 smull r3, r2, r2, r0 + 159de: 17c4 asrs r4, r0, #31 + 159e0: ebc4 14a2 rsb r4, r4, r2, asr #6 + 159e4: b2a4 uxth r4, r4 + 159e6: f7ff ba0d b.w 14e04 + 159ea: 2000 movs r0, #0 + 159ec: 4bad ldr r3, [pc, #692] ; (15ca4 ) + 159ee: 4798 blx r3 + 159f0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 159f4: 0040 lsls r0, r0, #1 + 159f6: 3050 adds r0, #80 ; 0x50 + 159f8: 4aab ldr r2, [pc, #684] ; (15ca8 ) + 159fa: fb82 3200 smull r3, r2, r2, r0 + 159fe: 17c4 asrs r4, r0, #31 + 15a00: ebc4 14a2 rsb r4, r4, r2, asr #6 + 15a04: b2a4 uxth r4, r4 + 15a06: f7ff b9fd b.w 14e04 + 15a0a: 2000 movs r0, #0 + 15a0c: 4ba5 ldr r3, [pc, #660] ; (15ca4 ) + 15a0e: 4798 blx r3 + 15a10: 3028 adds r0, #40 ; 0x28 + 15a12: 0040 lsls r0, r0, #1 + 15a14: 4ba4 ldr r3, [pc, #656] ; (15ca8 ) + 15a16: fb83 2300 smull r2, r3, r3, r0 + 15a1a: 17c2 asrs r2, r0, #31 + 15a1c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15a20: b292 uxth r2, r2 + 15a22: f7ff b9f9 b.w 14e18 lv_style_set_pad_inner(&styles->bg, LV_STATE_DEFAULT, PAD_DEF); + 15a26: 2000 movs r0, #0 + 15a28: 4b9e ldr r3, [pc, #632] ; (15ca4 ) + 15a2a: 4798 blx r3 + 15a2c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15a30: 3050 adds r0, #80 ; 0x50 + 15a32: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15a36: da02 bge.n 15a3e + 15a38: 2201 movs r2, #1 + 15a3a: f7ff ba08 b.w 14e4e 15a3e: 2000 movs r0, #0 - 15a40: 4b9e ldr r3, [pc, #632] ; (15cbc ) + 15a40: 4b98 ldr r3, [pc, #608] ; (15ca4 ) 15a42: 4798 blx r3 15a44: ebc0 1000 rsb r0, r0, r0, lsl #4 15a48: 3050 adds r0, #80 ; 0x50 - 15a4a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15a4e: da02 bge.n 15a56 - 15a50: 2201 movs r2, #1 - 15a52: f7ff ba08 b.w 14e66 - 15a56: 2000 movs r0, #0 - 15a58: 4b98 ldr r3, [pc, #608] ; (15cbc ) - 15a5a: 4798 blx r3 - 15a5c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15a60: 3050 adds r0, #80 ; 0x50 - 15a62: 4b97 ldr r3, [pc, #604] ; (15cc0 ) - 15a64: fb83 2300 smull r2, r3, r3, r0 - 15a68: 17c2 asrs r2, r0, #31 - 15a6a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15a6e: b212 sxth r2, r2 - 15a70: f7ff b9f9 b.w 14e66 - 15a74: 2000 movs r0, #0 - 15a76: 4b91 ldr r3, [pc, #580] ; (15cbc ) - 15a78: 4798 blx r3 - 15a7a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15a7e: 0040 lsls r0, r0, #1 - 15a80: 3050 adds r0, #80 ; 0x50 - 15a82: 4b8f ldr r3, [pc, #572] ; (15cc0 ) - 15a84: fb83 2300 smull r2, r3, r3, r0 - 15a88: 17c2 asrs r2, r0, #31 - 15a8a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15a8e: b212 sxth r2, r2 - 15a90: f7ff b9e9 b.w 14e66 - 15a94: 231b movs r3, #27 - 15a96: 2139 movs r1, #57 ; 0x39 - 15a98: 241d movs r4, #29 - 15a9a: f7ff ba20 b.w 14ede - 15a9e: 231d movs r3, #29 - 15aa0: 213b movs r1, #59 ; 0x3b - 15aa2: 461c mov r4, r3 - 15aa4: f7ff ba9f b.w 14fe6 - 15aa8: 231f movs r3, #31 - 15aaa: 213f movs r1, #63 ; 0x3f - 15aac: 461c mov r4, r3 - 15aae: f7ff bad3 b.w 15058 - 15ab2: 2319 movs r3, #25 - 15ab4: 2133 movs r1, #51 ; 0x33 - 15ab6: 461c mov r4, r3 - 15ab8: f7ff baf7 b.w 150aa - 15abc: 2307 movs r3, #7 - 15abe: 210f movs r1, #15 - 15ac0: 2408 movs r4, #8 - 15ac2: f7ff bb5a b.w 1517a - 15ac6: 2307 movs r3, #7 - 15ac8: 210f movs r1, #15 - 15aca: 2408 movs r4, #8 - 15acc: f7ff bb91 b.w 151f2 - 15ad0: 231f movs r3, #31 - 15ad2: 213f movs r1, #63 ; 0x3f - 15ad4: 461c mov r4, r3 - 15ad6: f7ff bbde b.w 15296 + 15a4a: 4b97 ldr r3, [pc, #604] ; (15ca8 ) + 15a4c: fb83 2300 smull r2, r3, r3, r0 + 15a50: 17c2 asrs r2, r0, #31 + 15a52: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15a56: b212 sxth r2, r2 + 15a58: f7ff b9f9 b.w 14e4e + 15a5c: 2000 movs r0, #0 + 15a5e: 4b91 ldr r3, [pc, #580] ; (15ca4 ) + 15a60: 4798 blx r3 + 15a62: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15a66: 0040 lsls r0, r0, #1 + 15a68: 3050 adds r0, #80 ; 0x50 + 15a6a: 4b8f ldr r3, [pc, #572] ; (15ca8 ) + 15a6c: fb83 2300 smull r2, r3, r3, r0 + 15a70: 17c2 asrs r2, r0, #31 + 15a72: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15a76: b212 sxth r2, r2 + 15a78: f7ff b9e9 b.w 14e4e + 15a7c: 231b movs r3, #27 + 15a7e: 2139 movs r1, #57 ; 0x39 + 15a80: 241d movs r4, #29 + 15a82: f7ff ba20 b.w 14ec6 + 15a86: 231d movs r3, #29 + 15a88: 213b movs r1, #59 ; 0x3b + 15a8a: 461c mov r4, r3 + 15a8c: f7ff ba9f b.w 14fce + 15a90: 231f movs r3, #31 + 15a92: 213f movs r1, #63 ; 0x3f + 15a94: 461c mov r4, r3 + 15a96: f7ff bad3 b.w 15040 + 15a9a: 2319 movs r3, #25 + 15a9c: 2133 movs r1, #51 ; 0x33 + 15a9e: 461c mov r4, r3 + 15aa0: f7ff baf7 b.w 15092 + 15aa4: 2307 movs r3, #7 + 15aa6: 210f movs r1, #15 + 15aa8: 2408 movs r4, #8 + 15aaa: f7ff bb5a b.w 15162 + 15aae: 2307 movs r3, #7 + 15ab0: 210f movs r1, #15 + 15ab2: 2408 movs r4, #8 + 15ab4: f7ff bb91 b.w 151da + 15ab8: 231f movs r3, #31 + 15aba: 213f movs r1, #63 ; 0x3f + 15abc: 461c mov r4, r3 + 15abe: f7ff bbde b.w 1527e LV_COLOR_SET_R(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_R(c1) * mix + LV_COLOR_GET_R(c2) * (255 - mix))); - 15ada: 4d7a ldr r5, [pc, #488] ; (15cc4 ) - 15adc: 7b6b ldrb r3, [r5, #13] - 15ade: 08db lsrs r3, r3, #3 - 15ae0: 214c movs r1, #76 ; 0x4c - 15ae2: fb01 f303 mul.w r3, r1, r3 - 15ae6: f203 73b1 addw r3, r3, #1969 ; 0x7b1 - 15aea: eb03 2203 add.w r2, r3, r3, lsl #8 - 15aee: eb03 13c2 add.w r3, r3, r2, lsl #7 - 15af2: f3c3 53c4 ubfx r3, r3, #23, #5 + 15ac2: 4d7a ldr r5, [pc, #488] ; (15cac ) + 15ac4: 7b6b ldrb r3, [r5, #13] + 15ac6: 08db lsrs r3, r3, #3 + 15ac8: 214c movs r1, #76 ; 0x4c + 15aca: fb01 f303 mul.w r3, r1, r3 + 15ace: f203 73b1 addw r3, r3, #1969 ; 0x7b1 + 15ad2: eb03 2203 add.w r2, r3, r3, lsl #8 + 15ad6: eb03 13c2 add.w r3, r3, r2, lsl #7 + 15ada: f3c3 53c4 ubfx r3, r3, #23, #5 LV_COLOR_SET_G(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_G(c1) * mix + LV_COLOR_GET_G(c2) * (255 - mix))); - 15af6: 89ac ldrh r4, [r5, #12] - 15af8: f3c4 1445 ubfx r4, r4, #5, #6 - 15afc: f241 02c8 movw r2, #4296 ; 0x10c8 - 15b00: fb01 2404 mla r4, r1, r4, r2 - 15b04: eb04 2204 add.w r2, r4, r4, lsl #8 - 15b08: eb04 14c2 add.w r4, r4, r2, lsl #7 - 15b0c: f3c4 54c5 ubfx r4, r4, #23, #6 + 15ade: 89ac ldrh r4, [r5, #12] + 15ae0: f3c4 1445 ubfx r4, r4, #5, #6 + 15ae4: f241 02c8 movw r2, #4296 ; 0x10c8 + 15ae8: fb01 2404 mla r4, r1, r4, r2 + 15aec: eb04 2204 add.w r2, r4, r4, lsl #8 + 15af0: eb04 14c2 add.w r4, r4, r2, lsl #7 + 15af4: f3c4 54c5 ubfx r4, r4, #23, #6 LV_COLOR_SET_B(ret, LV_MATH_UDIV255((uint16_t) LV_COLOR_GET_B(c1) * mix + LV_COLOR_GET_B(c2) * (255 - mix))); - 15b10: 7b2a ldrb r2, [r5, #12] - 15b12: f002 021f and.w r2, r2, #31 - 15b16: fb01 f102 mul.w r1, r1, r2 - 15b1a: f601 11ca addw r1, r1, #2506 ; 0x9ca - 15b1e: eb01 2201 add.w r2, r1, r1, lsl #8 - 15b22: eb01 11c2 add.w r1, r1, r2, lsl #7 - 15b26: f3c1 51c4 ubfx r1, r1, #23, #5 - 15b2a: f7ff bbf5 b.w 15318 - 15b2e: 231f movs r3, #31 - 15b30: 213f movs r1, #63 ; 0x3f - 15b32: 461c mov r4, r3 - 15b34: e425 b.n 15382 + 15af8: 7b2a ldrb r2, [r5, #12] + 15afa: f002 021f and.w r2, r2, #31 + 15afe: fb01 f102 mul.w r1, r1, r2 + 15b02: f601 11ca addw r1, r1, #2506 ; 0x9ca + 15b06: eb01 2201 add.w r2, r1, r1, lsl #8 + 15b0a: eb01 11c2 add.w r1, r1, r2, lsl #7 + 15b0e: f3c1 51c4 ubfx r1, r1, #23, #5 + 15b12: f7ff bbf5 b.w 15300 + 15b16: 231f movs r3, #31 + 15b18: 213f movs r1, #63 ; 0x3f + 15b1a: 461c mov r4, r3 + 15b1c: e425 b.n 1536a lv_style_set_border_width(&styles->btn, LV_STATE_DEFAULT, BORDER_WIDTH); - 15b36: 2000 movs r0, #0 - 15b38: 4b60 ldr r3, [pc, #384] ; (15cbc ) - 15b3a: 4798 blx r3 - 15b3c: 3028 adds r0, #40 ; 0x28 - 15b3e: 0040 lsls r0, r0, #1 - 15b40: 4b5f ldr r3, [pc, #380] ; (15cc0 ) - 15b42: fb83 2300 smull r2, r3, r3, r0 - 15b46: 17c2 asrs r2, r0, #31 - 15b48: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15b4c: b212 sxth r2, r2 - 15b4e: e46c b.n 1542a + 15b1e: 2000 movs r0, #0 + 15b20: 4b60 ldr r3, [pc, #384] ; (15ca4 ) + 15b22: 4798 blx r3 + 15b24: 3028 adds r0, #40 ; 0x28 + 15b26: 0040 lsls r0, r0, #1 + 15b28: 4b5f ldr r3, [pc, #380] ; (15ca8 ) + 15b2a: fb83 2300 smull r2, r3, r3, r0 + 15b2e: 17c2 asrs r2, r0, #31 + 15b30: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15b34: b212 sxth r2, r2 + 15b36: e46c b.n 15412 + 15b38: 2306 movs r3, #6 + 15b3a: 2110 movs r1, #16 + 15b3c: 2409 movs r4, #9 + 15b3e: e47e b.n 1543e + 15b40: 2306 movs r3, #6 + 15b42: 2110 movs r1, #16 + 15b44: 2409 movs r4, #9 + 15b46: e491 b.n 1546c + 15b48: 2306 movs r3, #6 + 15b4a: 2110 movs r1, #16 + 15b4c: 2409 movs r4, #9 + 15b4e: e4c1 b.n 154d4 15b50: 2306 movs r3, #6 15b52: 2110 movs r1, #16 15b54: 2409 movs r4, #9 - 15b56: e47e b.n 15456 + 15b56: e4d4 b.n 15502 15b58: 2306 movs r3, #6 15b5a: 2110 movs r1, #16 15b5c: 2409 movs r4, #9 - 15b5e: e491 b.n 15484 + 15b5e: e504 b.n 1556a 15b60: 2306 movs r3, #6 15b62: 2110 movs r1, #16 15b64: 2409 movs r4, #9 - 15b66: e4c1 b.n 154ec - 15b68: 2306 movs r3, #6 - 15b6a: 2110 movs r1, #16 - 15b6c: 2409 movs r4, #9 - 15b6e: e4d4 b.n 1551a - 15b70: 2306 movs r3, #6 - 15b72: 2110 movs r1, #16 - 15b74: 2409 movs r4, #9 - 15b76: e504 b.n 15582 - 15b78: 2306 movs r3, #6 - 15b7a: 2110 movs r1, #16 - 15b7c: 2409 movs r4, #9 - 15b7e: e516 b.n 155ae + 15b66: e516 b.n 15596 lv_style_set_pad_left(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 15b80: 2000 movs r0, #0 - 15b82: 4b4e ldr r3, [pc, #312] ; (15cbc ) - 15b84: 4798 blx r3 - 15b86: eb00 0080 add.w r0, r0, r0, lsl #2 - 15b8a: 00c0 lsls r0, r0, #3 - 15b8c: 3050 adds r0, #80 ; 0x50 - 15b8e: 4b4c ldr r3, [pc, #304] ; (15cc0 ) - 15b90: fb83 2300 smull r2, r3, r3, r0 - 15b94: 17c2 asrs r2, r0, #31 - 15b96: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15b9a: b212 sxth r2, r2 - 15b9c: e53f b.n 1561e + 15b68: 2000 movs r0, #0 + 15b6a: 4b4e ldr r3, [pc, #312] ; (15ca4 ) + 15b6c: 4798 blx r3 + 15b6e: eb00 0080 add.w r0, r0, r0, lsl #2 + 15b72: 00c0 lsls r0, r0, #3 + 15b74: 3050 adds r0, #80 ; 0x50 + 15b76: 4b4c ldr r3, [pc, #304] ; (15ca8 ) + 15b78: fb83 2300 smull r2, r3, r3, r0 + 15b7c: 17c2 asrs r2, r0, #31 + 15b7e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15b82: b212 sxth r2, r2 + 15b84: e53f b.n 15606 lv_style_set_pad_right(&styles->btn, LV_STATE_DEFAULT, LV_DPX(40)); - 15b9e: 2000 movs r0, #0 - 15ba0: 4b46 ldr r3, [pc, #280] ; (15cbc ) - 15ba2: 4798 blx r3 - 15ba4: eb00 0080 add.w r0, r0, r0, lsl #2 - 15ba8: 00c0 lsls r0, r0, #3 - 15baa: 3050 adds r0, #80 ; 0x50 - 15bac: 4b44 ldr r3, [pc, #272] ; (15cc0 ) - 15bae: fb83 2300 smull r2, r3, r3, r0 - 15bb2: 17c2 asrs r2, r0, #31 - 15bb4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15bb8: b212 sxth r2, r2 - 15bba: e543 b.n 15644 + 15b86: 2000 movs r0, #0 + 15b88: 4b46 ldr r3, [pc, #280] ; (15ca4 ) + 15b8a: 4798 blx r3 + 15b8c: eb00 0080 add.w r0, r0, r0, lsl #2 + 15b90: 00c0 lsls r0, r0, #3 + 15b92: 3050 adds r0, #80 ; 0x50 + 15b94: 4b44 ldr r3, [pc, #272] ; (15ca8 ) + 15b96: fb83 2300 smull r2, r3, r3, r0 + 15b9a: 17c2 asrs r2, r0, #31 + 15b9c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15ba0: b212 sxth r2, r2 + 15ba2: e543 b.n 1562c lv_style_set_pad_top(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 15bbc: 2000 movs r0, #0 - 15bbe: 4b3f ldr r3, [pc, #252] ; (15cbc ) - 15bc0: 4798 blx r3 - 15bc2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15bc6: 3050 adds r0, #80 ; 0x50 - 15bc8: 4b3d ldr r3, [pc, #244] ; (15cc0 ) - 15bca: fb83 2300 smull r2, r3, r3, r0 - 15bce: 17c2 asrs r2, r0, #31 - 15bd0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15bd4: b212 sxth r2, r2 - 15bd6: e547 b.n 15668 + 15ba4: 2000 movs r0, #0 + 15ba6: 4b3f ldr r3, [pc, #252] ; (15ca4 ) + 15ba8: 4798 blx r3 + 15baa: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15bae: 3050 adds r0, #80 ; 0x50 + 15bb0: 4b3d ldr r3, [pc, #244] ; (15ca8 ) + 15bb2: fb83 2300 smull r2, r3, r3, r0 + 15bb6: 17c2 asrs r2, r0, #31 + 15bb8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15bbc: b212 sxth r2, r2 + 15bbe: e547 b.n 15650 lv_style_set_pad_bottom(&styles->btn, LV_STATE_DEFAULT, LV_DPX(15)); - 15bd8: 2000 movs r0, #0 - 15bda: 4b38 ldr r3, [pc, #224] ; (15cbc ) - 15bdc: 4798 blx r3 - 15bde: ebc0 1000 rsb r0, r0, r0, lsl #4 - 15be2: 3050 adds r0, #80 ; 0x50 - 15be4: 4b36 ldr r3, [pc, #216] ; (15cc0 ) - 15be6: fb83 2300 smull r2, r3, r3, r0 - 15bea: 17c2 asrs r2, r0, #31 - 15bec: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15bf0: b212 sxth r2, r2 - 15bf2: e54b b.n 1568c + 15bc0: 2000 movs r0, #0 + 15bc2: 4b38 ldr r3, [pc, #224] ; (15ca4 ) + 15bc4: 4798 blx r3 + 15bc6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 15bca: 3050 adds r0, #80 ; 0x50 + 15bcc: 4b36 ldr r3, [pc, #216] ; (15ca8 ) + 15bce: fb83 2300 smull r2, r3, r3, r0 + 15bd2: 17c2 asrs r2, r0, #31 + 15bd4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15bd8: b212 sxth r2, r2 + 15bda: e54b b.n 15674 lv_style_set_pad_inner(&styles->btn, LV_STATE_DEFAULT, LV_DPX(20)); - 15bf4: 2000 movs r0, #0 - 15bf6: 4b31 ldr r3, [pc, #196] ; (15cbc ) - 15bf8: 4798 blx r3 - 15bfa: eb00 0080 add.w r0, r0, r0, lsl #2 - 15bfe: 0080 lsls r0, r0, #2 - 15c00: 3050 adds r0, #80 ; 0x50 - 15c02: 4b2f ldr r3, [pc, #188] ; (15cc0 ) - 15c04: fb83 2300 smull r2, r3, r3, r0 - 15c08: 17c2 asrs r2, r0, #31 - 15c0a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15c0e: b212 sxth r2, r2 - 15c10: e55b b.n 156ca + 15bdc: 2000 movs r0, #0 + 15bde: 4b31 ldr r3, [pc, #196] ; (15ca4 ) + 15be0: 4798 blx r3 + 15be2: eb00 0080 add.w r0, r0, r0, lsl #2 + 15be6: 0080 lsls r0, r0, #2 + 15be8: 3050 adds r0, #80 ; 0x50 + 15bea: 4b2f ldr r3, [pc, #188] ; (15ca8 ) + 15bec: fb83 2300 smull r2, r3, r3, r0 + 15bf0: 17c2 asrs r2, r0, #31 + 15bf2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15bf6: b212 sxth r2, r2 + 15bf8: e55b b.n 156b2 + lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); + 15bfa: 2000 movs r0, #0 + 15bfc: 4b29 ldr r3, [pc, #164] ; (15ca4 ) + 15bfe: 4798 blx r3 + 15c00: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c04: 0080 lsls r0, r0, #2 + 15c06: 3050 adds r0, #80 ; 0x50 + 15c08: 4b27 ldr r3, [pc, #156] ; (15ca8 ) + 15c0a: fb83 2300 smull r2, r3, r3, r0 + 15c0e: 17c2 asrs r2, r0, #31 + 15c10: ebc2 12a3 rsb r2, r2, r3, asr #6 + lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, + 15c14: b212 sxth r2, r2 + 15c16: e5a5 b.n 15764 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 15c12: 2000 movs r0, #0 - 15c14: 4b29 ldr r3, [pc, #164] ; (15cbc ) - 15c16: 4798 blx r3 - 15c18: eb00 0080 add.w r0, r0, r0, lsl #2 - 15c1c: 0080 lsls r0, r0, #2 - 15c1e: 3050 adds r0, #80 ; 0x50 - 15c20: 4b27 ldr r3, [pc, #156] ; (15cc0 ) - 15c22: fb83 2300 smull r2, r3, r3, r0 - 15c26: 17c2 asrs r2, r0, #31 - 15c28: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15c18: 2000 movs r0, #0 + 15c1a: 4b22 ldr r3, [pc, #136] ; (15ca4 ) + 15c1c: 4798 blx r3 + 15c1e: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c22: 00c0 lsls r0, r0, #3 + 15c24: 3050 adds r0, #80 ; 0x50 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15c2c: b212 sxth r2, r2 - 15c2e: e5a5 b.n 1577c + 15c26: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15c2a: da01 bge.n 15c30 + 15c2c: 2201 movs r2, #1 + 15c2e: e599 b.n 15764 lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); 15c30: 2000 movs r0, #0 - 15c32: 4b22 ldr r3, [pc, #136] ; (15cbc ) + 15c32: 4b1c ldr r3, [pc, #112] ; (15ca4 ) 15c34: 4798 blx r3 15c36: eb00 0080 add.w r0, r0, r0, lsl #2 15c3a: 00c0 lsls r0, r0, #3 15c3c: 3050 adds r0, #80 ; 0x50 + 15c3e: 4b1a ldr r3, [pc, #104] ; (15ca8 ) + 15c40: fb83 2300 smull r2, r3, r3, r0 + 15c44: 17c2 asrs r2, r0, #31 + 15c46: ebc2 12a3 rsb r2, r2, r3, asr #6 lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15c3e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15c42: da01 bge.n 15c48 - 15c44: 2201 movs r2, #1 - 15c46: e599 b.n 1577c - lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(20) : LV_DPX(40)); - 15c48: 2000 movs r0, #0 - 15c4a: 4b1c ldr r3, [pc, #112] ; (15cbc ) - 15c4c: 4798 blx r3 - 15c4e: eb00 0080 add.w r0, r0, r0, lsl #2 - 15c52: 00c0 lsls r0, r0, #3 - 15c54: 3050 adds r0, #80 ; 0x50 - 15c56: 4b1a ldr r3, [pc, #104] ; (15cc0 ) - 15c58: fb83 2300 smull r2, r3, r3, r0 - 15c5c: 17c2 asrs r2, r0, #31 - 15c5e: ebc2 12a3 rsb r2, r2, r3, asr #6 - lv_style_set_pad_inner(&styles->pad_inner, LV_STATE_DEFAULT, - 15c62: b212 sxth r2, r2 - 15c64: e58a b.n 1577c + 15c4a: b212 sxth r2, r2 + 15c4c: e58a b.n 15764 lv_style_int_t pad_small_value = lv_disp_get_size_category(NULL) <= LV_DISP_MEDIUM_LIMIT ? LV_DPX(10) : LV_DPX(20); - 15c66: 2000 movs r0, #0 - 15c68: 4b14 ldr r3, [pc, #80] ; (15cbc ) - 15c6a: 4798 blx r3 - 15c6c: eb00 0080 add.w r0, r0, r0, lsl #2 - 15c70: 0040 lsls r0, r0, #1 - 15c72: 3050 adds r0, #80 ; 0x50 - 15c74: 4b12 ldr r3, [pc, #72] ; (15cc0 ) - 15c76: fb83 2300 smull r2, r3, r3, r0 - 15c7a: 17c4 asrs r4, r0, #31 - 15c7c: ebc4 14a3 rsb r4, r4, r3, asr #6 - 15c80: b224 sxth r4, r4 - 15c82: e596 b.n 157b2 + 15c4e: 2000 movs r0, #0 + 15c50: 4b14 ldr r3, [pc, #80] ; (15ca4 ) + 15c52: 4798 blx r3 + 15c54: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c58: 0040 lsls r0, r0, #1 + 15c5a: 3050 adds r0, #80 ; 0x50 + 15c5c: 4b12 ldr r3, [pc, #72] ; (15ca8 ) + 15c5e: fb83 2300 smull r2, r3, r3, r0 + 15c62: 17c4 asrs r4, r0, #31 + 15c64: ebc4 14a3 rsb r4, r4, r3, asr #6 + 15c68: b224 sxth r4, r4 + 15c6a: e596 b.n 1579a + 15c6c: 2000 movs r0, #0 + 15c6e: 4b0d ldr r3, [pc, #52] ; (15ca4 ) + 15c70: 4798 blx r3 + 15c72: eb00 0080 add.w r0, r0, r0, lsl #2 + 15c76: 0080 lsls r0, r0, #2 + 15c78: 3050 adds r0, #80 ; 0x50 + 15c7a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15c7e: da01 bge.n 15c84 + 15c80: 2401 movs r4, #1 + 15c82: e58a b.n 1579a 15c84: 2000 movs r0, #0 - 15c86: 4b0d ldr r3, [pc, #52] ; (15cbc ) + 15c86: 4b07 ldr r3, [pc, #28] ; (15ca4 ) 15c88: 4798 blx r3 15c8a: eb00 0080 add.w r0, r0, r0, lsl #2 15c8e: 0080 lsls r0, r0, #2 15c90: 3050 adds r0, #80 ; 0x50 - 15c92: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15c96: da01 bge.n 15c9c - 15c98: 2401 movs r4, #1 - 15c9a: e58a b.n 157b2 - 15c9c: 2000 movs r0, #0 - 15c9e: 4b07 ldr r3, [pc, #28] ; (15cbc ) - 15ca0: 4798 blx r3 - 15ca2: eb00 0080 add.w r0, r0, r0, lsl #2 - 15ca6: 0080 lsls r0, r0, #2 - 15ca8: 3050 adds r0, #80 ; 0x50 - 15caa: 4b05 ldr r3, [pc, #20] ; (15cc0 ) - 15cac: fb83 2300 smull r2, r3, r3, r0 - 15cb0: 17c4 asrs r4, r0, #31 - 15cb2: ebc4 14a3 rsb r4, r4, r3, asr #6 - 15cb6: b224 sxth r4, r4 - 15cb8: e57b b.n 157b2 - 15cba: bf00 nop - 15cbc: 00010f3d .word 0x00010f3d - 15cc0: 66666667 .word 0x66666667 - 15cc4: 20006bd8 .word 0x20006bd8 - -00015cc8 : -{ - 15cc8: b5f8 push {r3, r4, r5, r6, r7, lr} + 15c92: 4b05 ldr r3, [pc, #20] ; (15ca8 ) + 15c94: fb83 2300 smull r2, r3, r3, r0 + 15c98: 17c4 asrs r4, r0, #31 + 15c9a: ebc4 14a3 rsb r4, r4, r3, asr #6 + 15c9e: b224 sxth r4, r4 + 15ca0: e57b b.n 1579a + 15ca2: bf00 nop + 15ca4: 00010f25 .word 0x00010f25 + 15ca8: 66666667 .word 0x66666667 + 15cac: 20006bd8 .word 0x20006bd8 + +00015cb0 : +{ + 15cb0: b5f8 push {r3, r4, r5, r6, r7, lr} style_init_reset(&styles->bar_bg); - 15cca: 4c54 ldr r4, [pc, #336] ; (15e1c ) - 15ccc: 6820 ldr r0, [r4, #0] - 15cce: 3024 adds r0, #36 ; 0x24 - 15cd0: 4b53 ldr r3, [pc, #332] ; (15e20 ) - 15cd2: 4798 blx r3 + 15cb2: 4c54 ldr r4, [pc, #336] ; (15e04 ) + 15cb4: 6820 ldr r0, [r4, #0] + 15cb6: 3024 adds r0, #36 ; 0x24 + 15cb8: 4b53 ldr r3, [pc, #332] ; (15e08 ) + 15cba: 4798 blx r3 lv_style_set_radius(&styles->bar_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 15cd4: 6820 ldr r0, [r4, #0] + 15cbc: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 15cd6: f647 72ff movw r2, #32767 ; 0x7fff - 15cda: 2101 movs r1, #1 - 15cdc: 3024 adds r0, #36 ; 0x24 - 15cde: 4b51 ldr r3, [pc, #324] ; (15e24 ) - 15ce0: 4798 blx r3 + 15cbe: f647 72ff movw r2, #32767 ; 0x7fff + 15cc2: 2101 movs r1, #1 + 15cc4: 3024 adds r0, #36 ; 0x24 + 15cc6: 4b51 ldr r3, [pc, #324] ; (15e0c ) + 15cc8: 4798 blx r3 lv_style_set_bg_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 15ce2: 6820 ldr r0, [r4, #0] + 15cca: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15ce4: 22ff movs r2, #255 ; 0xff - 15ce6: 212c movs r1, #44 ; 0x2c - 15ce8: 3024 adds r0, #36 ; 0x24 - 15cea: 4b4f ldr r3, [pc, #316] ; (15e28 ) - 15cec: 4798 blx r3 + 15ccc: 22ff movs r2, #255 ; 0xff + 15cce: 212c movs r1, #44 ; 0x2c + 15cd0: 3024 adds r0, #36 ; 0x24 + 15cd2: 4b4f ldr r3, [pc, #316] ; (15e10 ) + 15cd4: 4798 blx r3 lv_style_set_bg_color(&styles->bar_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - 15cee: 6820 ldr r0, [r4, #0] - 15cf0: 6a23 ldr r3, [r4, #32] - 15cf2: f013 0302 ands.w r3, r3, #2 - 15cf6: bf14 ite ne - 15cf8: 211a movne r1, #26 - 15cfa: 2108 moveq r1, #8 - 15cfc: 2b00 cmp r3, #0 - 15cfe: bf15 itete ne - 15d00: 2435 movne r4, #53 ; 0x35 - 15d02: 2412 moveq r4, #18 - 15d04: 231b movne r3, #27 - 15d06: 2309 moveq r3, #9 - 15d08: f04f 0200 mov.w r2, #0 - 15d0c: f363 0204 bfi r2, r3, #0, #5 - 15d10: f364 124a bfi r2, r4, #5, #6 - 15d14: f361 22cf bfi r2, r1, #11, #5 + 15cd6: 6820 ldr r0, [r4, #0] + 15cd8: 6a23 ldr r3, [r4, #32] + 15cda: f013 0302 ands.w r3, r3, #2 + 15cde: bf14 ite ne + 15ce0: 211a movne r1, #26 + 15ce2: 2108 moveq r1, #8 + 15ce4: 2b00 cmp r3, #0 + 15ce6: bf15 itete ne + 15ce8: 2435 movne r4, #53 ; 0x35 + 15cea: 2412 moveq r4, #18 + 15cec: 231b movne r3, #27 + 15cee: 2309 moveq r3, #9 + 15cf0: f04f 0200 mov.w r2, #0 + 15cf4: f363 0204 bfi r2, r3, #0, #5 + 15cf8: f364 124a bfi r2, r4, #5, #6 + 15cfc: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15d18: 2129 movs r1, #41 ; 0x29 - 15d1a: 3024 adds r0, #36 ; 0x24 - 15d1c: 4b43 ldr r3, [pc, #268] ; (15e2c ) - 15d1e: 4798 blx r3 + 15d00: 2129 movs r1, #41 ; 0x29 + 15d02: 3024 adds r0, #36 ; 0x24 + 15d04: 4b43 ldr r3, [pc, #268] ; (15e14 ) + 15d06: 4798 blx r3 lv_style_set_value_color(&styles->bar_bg, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 15d20: 4b3e ldr r3, [pc, #248] ; (15e1c ) - 15d22: 6818 ldr r0, [r3, #0] - 15d24: 3024 adds r0, #36 ; 0x24 - 15d26: 6a1b ldr r3, [r3, #32] - 15d28: f013 0f02 tst.w r3, #2 - 15d2c: d16d bne.n 15e0a - 15d2e: 231f movs r3, #31 - 15d30: 213f movs r1, #63 ; 0x3f - 15d32: 461c mov r4, r3 - 15d34: f04f 0200 mov.w r2, #0 - 15d38: f364 0204 bfi r2, r4, #0, #5 - 15d3c: f361 124a bfi r2, r1, #5, #6 - 15d40: f363 22cf bfi r2, r3, #11, #5 + 15d08: 4b3e ldr r3, [pc, #248] ; (15e04 ) + 15d0a: 6818 ldr r0, [r3, #0] + 15d0c: 3024 adds r0, #36 ; 0x24 + 15d0e: 6a1b ldr r3, [r3, #32] + 15d10: f013 0f02 tst.w r3, #2 + 15d14: d16d bne.n 15df2 + 15d16: 231f movs r3, #31 + 15d18: 213f movs r1, #63 ; 0x3f + 15d1a: 461c mov r4, r3 + 15d1c: f04f 0200 mov.w r2, #0 + 15d20: f364 0204 bfi r2, r4, #0, #5 + 15d24: f361 124a bfi r2, r1, #5, #6 + 15d28: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 15d44: 2179 movs r1, #121 ; 0x79 - 15d46: 4d39 ldr r5, [pc, #228] ; (15e2c ) - 15d48: 47a8 blx r5 + 15d2c: 2179 movs r1, #121 ; 0x79 + 15d2e: 4d39 ldr r5, [pc, #228] ; (15e14 ) + 15d30: 47a8 blx r5 lv_style_set_outline_color(&styles->bar_bg, LV_STATE_DEFAULT, theme.color_primary); - 15d4a: 4c34 ldr r4, [pc, #208] ; (15e1c ) - 15d4c: 6820 ldr r0, [r4, #0] + 15d32: 4c34 ldr r4, [pc, #208] ; (15e04 ) + 15d34: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 15d4e: 89a2 ldrh r2, [r4, #12] - 15d50: 2149 movs r1, #73 ; 0x49 - 15d52: 3024 adds r0, #36 ; 0x24 - 15d54: 47a8 blx r5 + 15d36: 89a2 ldrh r2, [r4, #12] + 15d38: 2149 movs r1, #73 ; 0x49 + 15d3a: 3024 adds r0, #36 ; 0x24 + 15d3c: 47a8 blx r5 lv_style_set_outline_color(&styles->bar_bg, LV_STATE_EDITED, theme.color_secondary); - 15d56: 6820 ldr r0, [r4, #0] - 15d58: 89e2 ldrh r2, [r4, #14] - 15d5a: f240 4149 movw r1, #1097 ; 0x449 - 15d5e: 3024 adds r0, #36 ; 0x24 - 15d60: 47a8 blx r5 + 15d3e: 6820 ldr r0, [r4, #0] + 15d40: 89e2 ldrh r2, [r4, #14] + 15d42: f240 4149 movw r1, #1097 ; 0x449 + 15d46: 3024 adds r0, #36 ; 0x24 + 15d48: 47a8 blx r5 lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - 15d62: 6820 ldr r0, [r4, #0] + 15d4a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 15d64: 2200 movs r2, #0 - 15d66: 214c movs r1, #76 ; 0x4c - 15d68: 3024 adds r0, #36 ; 0x24 - 15d6a: 4f2f ldr r7, [pc, #188] ; (15e28 ) - 15d6c: 47b8 blx r7 + 15d4c: 2200 movs r2, #0 + 15d4e: 214c movs r1, #76 ; 0x4c + 15d50: 3024 adds r0, #36 ; 0x24 + 15d52: 4f2f ldr r7, [pc, #188] ; (15e10 ) + 15d54: 47b8 blx r7 lv_style_set_outline_opa(&styles->bar_bg, LV_STATE_FOCUSED, LV_OPA_50); - 15d6e: 6820 ldr r0, [r4, #0] - 15d70: 227f movs r2, #127 ; 0x7f - 15d72: f44f 7113 mov.w r1, #588 ; 0x24c - 15d76: 3024 adds r0, #36 ; 0x24 - 15d78: 47b8 blx r7 + 15d56: 6820 ldr r0, [r4, #0] + 15d58: 227f movs r2, #127 ; 0x7f + 15d5a: f44f 7113 mov.w r1, #588 ; 0x24c + 15d5e: 3024 adds r0, #36 ; 0x24 + 15d60: 47b8 blx r7 lv_style_set_outline_width(&styles->bar_bg, LV_STATE_DEFAULT, 3); - 15d7a: 6820 ldr r0, [r4, #0] + 15d62: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 15d7c: 2203 movs r2, #3 - 15d7e: 2140 movs r1, #64 ; 0x40 - 15d80: 3024 adds r0, #36 ; 0x24 - 15d82: 4e28 ldr r6, [pc, #160] ; (15e24 ) - 15d84: 47b0 blx r6 + 15d64: 2203 movs r2, #3 + 15d66: 2140 movs r1, #64 ; 0x40 + 15d68: 3024 adds r0, #36 ; 0x24 + 15d6a: 4e28 ldr r6, [pc, #160] ; (15e0c ) + 15d6c: 47b0 blx r6 lv_style_set_transition_time(&styles->bar_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 15d86: 6820 ldr r0, [r4, #0] + 15d6e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 15d88: 2296 movs r2, #150 ; 0x96 - 15d8a: 21b0 movs r1, #176 ; 0xb0 - 15d8c: 3024 adds r0, #36 ; 0x24 - 15d8e: 47b0 blx r6 + 15d70: 2296 movs r2, #150 ; 0x96 + 15d72: 21b0 movs r1, #176 ; 0xb0 + 15d74: 3024 adds r0, #36 ; 0x24 + 15d76: 47b0 blx r6 lv_style_set_transition_prop_6(&styles->bar_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 15d90: 6820 ldr r0, [r4, #0] + 15d78: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 15d92: 224c movs r2, #76 ; 0x4c - 15d94: 21b7 movs r1, #183 ; 0xb7 - 15d96: 3024 adds r0, #36 ; 0x24 - 15d98: 47b0 blx r6 + 15d7a: 224c movs r2, #76 ; 0x4c + 15d7c: 21b7 movs r1, #183 ; 0xb7 + 15d7e: 3024 adds r0, #36 ; 0x24 + 15d80: 47b0 blx r6 style_init_reset(&styles->bar_indic); - 15d9a: 6820 ldr r0, [r4, #0] - 15d9c: 3028 adds r0, #40 ; 0x28 - 15d9e: 4b20 ldr r3, [pc, #128] ; (15e20 ) - 15da0: 4798 blx r3 + 15d82: 6820 ldr r0, [r4, #0] + 15d84: 3028 adds r0, #40 ; 0x28 + 15d86: 4b20 ldr r3, [pc, #128] ; (15e08 ) + 15d88: 4798 blx r3 lv_style_set_bg_opa(&styles->bar_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 15da2: 6820 ldr r0, [r4, #0] + 15d8a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15da4: 22ff movs r2, #255 ; 0xff - 15da6: 212c movs r1, #44 ; 0x2c - 15da8: 3028 adds r0, #40 ; 0x28 - 15daa: 47b8 blx r7 + 15d8c: 22ff movs r2, #255 ; 0xff + 15d8e: 212c movs r1, #44 ; 0x2c + 15d90: 3028 adds r0, #40 ; 0x28 + 15d92: 47b8 blx r7 lv_style_set_radius(&styles->bar_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 15dac: 6820 ldr r0, [r4, #0] + 15d94: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 15dae: f647 72ff movw r2, #32767 ; 0x7fff - 15db2: 2101 movs r1, #1 - 15db4: 3028 adds r0, #40 ; 0x28 - 15db6: 47b0 blx r6 + 15d96: f647 72ff movw r2, #32767 ; 0x7fff + 15d9a: 2101 movs r1, #1 + 15d9c: 3028 adds r0, #40 ; 0x28 + 15d9e: 47b0 blx r6 lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DEFAULT, theme.color_primary); - 15db8: 6820 ldr r0, [r4, #0] + 15da0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15dba: 89a2 ldrh r2, [r4, #12] - 15dbc: 2129 movs r1, #41 ; 0x29 - 15dbe: 3028 adds r0, #40 ; 0x28 - 15dc0: 47a8 blx r5 + 15da2: 89a2 ldrh r2, [r4, #12] + 15da4: 2129 movs r1, #41 ; 0x29 + 15da6: 3028 adds r0, #40 ; 0x28 + 15da8: 47a8 blx r5 lv_style_set_bg_color(&styles->bar_indic, LV_STATE_DISABLED, lv_color_hex3(0x888)); - 15dc2: 6820 ldr r0, [r4, #0] - 15dc4: 2311 movs r3, #17 - 15dc6: f04f 0200 mov.w r2, #0 - 15dca: f363 0204 bfi r2, r3, #0, #5 - 15dce: 2122 movs r1, #34 ; 0x22 - 15dd0: f361 124a bfi r2, r1, #5, #6 - 15dd4: f363 22cf bfi r2, r3, #11, #5 - 15dd8: f242 0129 movw r1, #8233 ; 0x2029 - 15ddc: 3028 adds r0, #40 ; 0x28 - 15dde: 47a8 blx r5 + 15daa: 6820 ldr r0, [r4, #0] + 15dac: 2311 movs r3, #17 + 15dae: f04f 0200 mov.w r2, #0 + 15db2: f363 0204 bfi r2, r3, #0, #5 + 15db6: 2122 movs r1, #34 ; 0x22 + 15db8: f361 124a bfi r2, r1, #5, #6 + 15dbc: f363 22cf bfi r2, r3, #11, #5 + 15dc0: f242 0129 movw r1, #8233 ; 0x2029 + 15dc4: 3028 adds r0, #40 ; 0x28 + 15dc6: 47a8 blx r5 lv_style_set_value_color(&styles->bar_indic, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x41404f) : LV_COLOR_WHITE); - 15de0: 6820 ldr r0, [r4, #0] - 15de2: 3028 adds r0, #40 ; 0x28 - 15de4: 6a23 ldr r3, [r4, #32] - 15de6: f013 0f02 tst.w r3, #2 - 15dea: d112 bne.n 15e12 - 15dec: 231f movs r3, #31 - 15dee: 213f movs r1, #63 ; 0x3f - 15df0: 461c mov r4, r3 - 15df2: f04f 0200 mov.w r2, #0 - 15df6: f364 0204 bfi r2, r4, #0, #5 - 15dfa: f361 124a bfi r2, r1, #5, #6 - 15dfe: f363 22cf bfi r2, r3, #11, #5 + 15dc8: 6820 ldr r0, [r4, #0] + 15dca: 3028 adds r0, #40 ; 0x28 + 15dcc: 6a23 ldr r3, [r4, #32] + 15dce: f013 0f02 tst.w r3, #2 + 15dd2: d112 bne.n 15dfa + 15dd4: 231f movs r3, #31 + 15dd6: 213f movs r1, #63 ; 0x3f + 15dd8: 461c mov r4, r3 + 15dda: f04f 0200 mov.w r2, #0 + 15dde: f364 0204 bfi r2, r4, #0, #5 + 15de2: f361 124a bfi r2, r1, #5, #6 + 15de6: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 15e02: 2179 movs r1, #121 ; 0x79 - 15e04: 4b09 ldr r3, [pc, #36] ; (15e2c ) - 15e06: 4798 blx r3 - 15e08: bdf8 pop {r3, r4, r5, r6, r7, pc} - 15e0a: 2306 movs r3, #6 - 15e0c: 2110 movs r1, #16 - 15e0e: 2409 movs r4, #9 - 15e10: e790 b.n 15d34 - 15e12: 2308 movs r3, #8 - 15e14: 2110 movs r1, #16 - 15e16: 2409 movs r4, #9 - 15e18: e7eb b.n 15df2 - 15e1a: bf00 nop - 15e1c: 20006bd8 .word 0x20006bd8 - 15e20: 00014a61 .word 0x00014a61 - 15e24: 000068e1 .word 0x000068e1 - 15e28: 00006b69 .word 0x00006b69 - 15e2c: 00006a25 .word 0x00006a25 - -00015e30 : -{ - 15e30: b510 push {r4, lr} + 15dea: 2179 movs r1, #121 ; 0x79 + 15dec: 4b09 ldr r3, [pc, #36] ; (15e14 ) + 15dee: 4798 blx r3 + 15df0: bdf8 pop {r3, r4, r5, r6, r7, pc} + 15df2: 2306 movs r3, #6 + 15df4: 2110 movs r1, #16 + 15df6: 2409 movs r4, #9 + 15df8: e790 b.n 15d1c + 15dfa: 2308 movs r3, #8 + 15dfc: 2110 movs r1, #16 + 15dfe: 2409 movs r4, #9 + 15e00: e7eb b.n 15dda + 15e02: bf00 nop + 15e04: 20006bd8 .word 0x20006bd8 + 15e08: 00014a49 .word 0x00014a49 + 15e0c: 000068c9 .word 0x000068c9 + 15e10: 00006b51 .word 0x00006b51 + 15e14: 00006a0d .word 0x00006a0d + +00015e18 : +{ + 15e18: b510 push {r4, lr} style_init_reset(&styles->slider_knob); - 15e32: 4ca0 ldr r4, [pc, #640] ; (160b4 ) - 15e34: 6820 ldr r0, [r4, #0] - 15e36: 3090 adds r0, #144 ; 0x90 - 15e38: 4b9f ldr r3, [pc, #636] ; (160b8 ) - 15e3a: 4798 blx r3 + 15e1a: 4ca0 ldr r4, [pc, #640] ; (1609c ) + 15e1c: 6820 ldr r0, [r4, #0] + 15e1e: 3090 adds r0, #144 ; 0x90 + 15e20: 4b9f ldr r3, [pc, #636] ; (160a0 ) + 15e22: 4798 blx r3 lv_style_set_bg_opa(&styles->slider_knob, LV_STATE_DEFAULT, LV_OPA_COVER); - 15e3c: 6820 ldr r0, [r4, #0] + 15e24: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 15e3e: 22ff movs r2, #255 ; 0xff - 15e40: 212c movs r1, #44 ; 0x2c - 15e42: 3090 adds r0, #144 ; 0x90 - 15e44: 4b9d ldr r3, [pc, #628] ; (160bc ) - 15e46: 4798 blx r3 + 15e26: 22ff movs r2, #255 ; 0xff + 15e28: 212c movs r1, #44 ; 0x2c + 15e2a: 3090 adds r0, #144 ; 0x90 + 15e2c: 4b9d ldr r3, [pc, #628] ; (160a4 ) + 15e2e: 4798 blx r3 lv_style_set_bg_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? theme.color_primary : LV_COLOR_WHITE); - 15e48: 6820 ldr r0, [r4, #0] - 15e4a: 3090 adds r0, #144 ; 0x90 - 15e4c: 6a23 ldr r3, [r4, #32] - 15e4e: f013 0f02 tst.w r3, #2 - 15e52: bf19 ittee ne - 15e54: 4623 movne r3, r4 - 15e56: 899a ldrhne r2, [r3, #12] - 15e58: 4b99 ldreq r3, [pc, #612] ; (160c0 ) - 15e5a: 881a ldrheq r2, [r3, #0] + 15e30: 6820 ldr r0, [r4, #0] + 15e32: 3090 adds r0, #144 ; 0x90 + 15e34: 6a23 ldr r3, [r4, #32] + 15e36: f013 0f02 tst.w r3, #2 + 15e3a: bf19 ittee ne + 15e3c: 4623 movne r3, r4 + 15e3e: 899a ldrhne r2, [r3, #12] + 15e40: 4b99 ldreq r3, [pc, #612] ; (160a8 ) + 15e42: 881a ldrheq r2, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 15e5c: 2129 movs r1, #41 ; 0x29 - 15e5e: 4b99 ldr r3, [pc, #612] ; (160c4 ) - 15e60: 4798 blx r3 + 15e44: 2129 movs r1, #41 ; 0x29 + 15e46: 4b99 ldr r3, [pc, #612] ; (160ac ) + 15e48: 4798 blx r3 lv_style_set_value_color(&styles->slider_knob, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 15e62: 4b94 ldr r3, [pc, #592] ; (160b4 ) - 15e64: 6818 ldr r0, [r3, #0] - 15e66: 3090 adds r0, #144 ; 0x90 - 15e68: 6a1b ldr r3, [r3, #32] - 15e6a: f013 0f02 tst.w r3, #2 - 15e6e: f040 80a9 bne.w 15fc4 - 15e72: 231f movs r3, #31 - 15e74: 213f movs r1, #63 ; 0x3f - 15e76: 461c mov r4, r3 - 15e78: f04f 0200 mov.w r2, #0 - 15e7c: f364 0204 bfi r2, r4, #0, #5 - 15e80: f361 124a bfi r2, r1, #5, #6 - 15e84: f363 22cf bfi r2, r3, #11, #5 + 15e4a: 4b94 ldr r3, [pc, #592] ; (1609c ) + 15e4c: 6818 ldr r0, [r3, #0] + 15e4e: 3090 adds r0, #144 ; 0x90 + 15e50: 6a1b ldr r3, [r3, #32] + 15e52: f013 0f02 tst.w r3, #2 + 15e56: f040 80a9 bne.w 15fac + 15e5a: 231f movs r3, #31 + 15e5c: 213f movs r1, #63 ; 0x3f + 15e5e: 461c mov r4, r3 + 15e60: f04f 0200 mov.w r2, #0 + 15e64: f364 0204 bfi r2, r4, #0, #5 + 15e68: f361 124a bfi r2, r1, #5, #6 + 15e6c: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(VALUE_COLOR, value_color, lv_color_t, _color, nonscalar) - 15e88: 2179 movs r1, #121 ; 0x79 - 15e8a: 4b8e ldr r3, [pc, #568] ; (160c4 ) - 15e8c: 4798 blx r3 + 15e70: 2179 movs r1, #121 ; 0x79 + 15e72: 4b8e ldr r3, [pc, #568] ; (160ac ) + 15e74: 4798 blx r3 lv_style_set_radius(&styles->slider_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 15e8e: 4c89 ldr r4, [pc, #548] ; (160b4 ) - 15e90: 6820 ldr r0, [r4, #0] + 15e76: 4c89 ldr r4, [pc, #548] ; (1609c ) + 15e78: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 15e92: f647 72ff movw r2, #32767 ; 0x7fff - 15e96: 2101 movs r1, #1 - 15e98: 3090 adds r0, #144 ; 0x90 - 15e9a: 4b8b ldr r3, [pc, #556] ; (160c8 ) - 15e9c: 4798 blx r3 + 15e7a: f647 72ff movw r2, #32767 ; 0x7fff + 15e7e: 2101 movs r1, #1 + 15e80: 3090 adds r0, #144 ; 0x90 + 15e82: 4b8b ldr r3, [pc, #556] ; (160b0 ) + 15e84: 4798 blx r3 lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 15e9e: 6824 ldr r4, [r4, #0] - 15ea0: 3490 adds r4, #144 ; 0x90 - 15ea2: 2000 movs r0, #0 - 15ea4: 4b89 ldr r3, [pc, #548] ; (160cc ) - 15ea6: 4798 blx r3 - 15ea8: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 15eac: 3050 adds r0, #80 ; 0x50 - 15eae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15eb2: f280 808b bge.w 15fcc - 15eb6: 2201 movs r2, #1 + 15e86: 6824 ldr r4, [r4, #0] + 15e88: 3490 adds r4, #144 ; 0x90 + 15e8a: 2000 movs r0, #0 + 15e8c: 4b89 ldr r3, [pc, #548] ; (160b4 ) + 15e8e: 4798 blx r3 + 15e90: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15e94: 3050 adds r0, #80 ; 0x50 + 15e96: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15e9a: f280 808b bge.w 15fb4 + 15e9e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 15eb8: 2112 movs r1, #18 - 15eba: 4620 mov r0, r4 - 15ebc: 4b82 ldr r3, [pc, #520] ; (160c8 ) - 15ebe: 4798 blx r3 + 15ea0: 2112 movs r1, #18 + 15ea2: 4620 mov r0, r4 + 15ea4: 4b82 ldr r3, [pc, #520] ; (160b0 ) + 15ea6: 4798 blx r3 lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 15ec0: 4b7c ldr r3, [pc, #496] ; (160b4 ) - 15ec2: 681c ldr r4, [r3, #0] - 15ec4: 3490 adds r4, #144 ; 0x90 - 15ec6: 2000 movs r0, #0 - 15ec8: 4b80 ldr r3, [pc, #512] ; (160cc ) - 15eca: 4798 blx r3 - 15ecc: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 15ed0: 3050 adds r0, #80 ; 0x50 - 15ed2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15ed6: f280 8087 bge.w 15fe8 - 15eda: 2201 movs r2, #1 + 15ea8: 4b7c ldr r3, [pc, #496] ; (1609c ) + 15eaa: 681c ldr r4, [r3, #0] + 15eac: 3490 adds r4, #144 ; 0x90 + 15eae: 2000 movs r0, #0 + 15eb0: 4b80 ldr r3, [pc, #512] ; (160b4 ) + 15eb2: 4798 blx r3 + 15eb4: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15eb8: 3050 adds r0, #80 ; 0x50 + 15eba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15ebe: f280 8087 bge.w 15fd0 + 15ec2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 15edc: 2113 movs r1, #19 - 15ede: 4620 mov r0, r4 - 15ee0: 4b79 ldr r3, [pc, #484] ; (160c8 ) - 15ee2: 4798 blx r3 + 15ec4: 2113 movs r1, #19 + 15ec6: 4620 mov r0, r4 + 15ec8: 4b79 ldr r3, [pc, #484] ; (160b0 ) + 15eca: 4798 blx r3 lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 15ee4: 4b73 ldr r3, [pc, #460] ; (160b4 ) - 15ee6: 681c ldr r4, [r3, #0] - 15ee8: 3490 adds r4, #144 ; 0x90 - 15eea: 2000 movs r0, #0 - 15eec: 4b77 ldr r3, [pc, #476] ; (160cc ) - 15eee: 4798 blx r3 - 15ef0: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 15ef4: 3050 adds r0, #80 ; 0x50 - 15ef6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15efa: f280 8083 bge.w 16004 - 15efe: 2201 movs r2, #1 + 15ecc: 4b73 ldr r3, [pc, #460] ; (1609c ) + 15ece: 681c ldr r4, [r3, #0] + 15ed0: 3490 adds r4, #144 ; 0x90 + 15ed2: 2000 movs r0, #0 + 15ed4: 4b77 ldr r3, [pc, #476] ; (160b4 ) + 15ed6: 4798 blx r3 + 15ed8: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15edc: 3050 adds r0, #80 ; 0x50 + 15ede: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15ee2: f280 8083 bge.w 15fec + 15ee6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 15f00: 2110 movs r1, #16 - 15f02: 4620 mov r0, r4 - 15f04: 4b70 ldr r3, [pc, #448] ; (160c8 ) - 15f06: 4798 blx r3 + 15ee8: 2110 movs r1, #16 + 15eea: 4620 mov r0, r4 + 15eec: 4b70 ldr r3, [pc, #448] ; (160b0 ) + 15eee: 4798 blx r3 lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 15f08: 4b6a ldr r3, [pc, #424] ; (160b4 ) - 15f0a: 681c ldr r4, [r3, #0] - 15f0c: 3490 adds r4, #144 ; 0x90 - 15f0e: 2000 movs r0, #0 - 15f10: 4b6e ldr r3, [pc, #440] ; (160cc ) - 15f12: 4798 blx r3 - 15f14: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 15f18: 3050 adds r0, #80 ; 0x50 - 15f1a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15f1e: da7f bge.n 16020 - 15f20: 2201 movs r2, #1 + 15ef0: 4b6a ldr r3, [pc, #424] ; (1609c ) + 15ef2: 681c ldr r4, [r3, #0] + 15ef4: 3490 adds r4, #144 ; 0x90 + 15ef6: 2000 movs r0, #0 + 15ef8: 4b6e ldr r3, [pc, #440] ; (160b4 ) + 15efa: 4798 blx r3 + 15efc: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15f00: 3050 adds r0, #80 ; 0x50 + 15f02: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f06: da7f bge.n 16008 + 15f08: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 15f22: 2111 movs r1, #17 - 15f24: 4620 mov r0, r4 - 15f26: 4b68 ldr r3, [pc, #416] ; (160c8 ) - 15f28: 4798 blx r3 + 15f0a: 2111 movs r1, #17 + 15f0c: 4620 mov r0, r4 + 15f0e: 4b68 ldr r3, [pc, #416] ; (160b0 ) + 15f10: 4798 blx r3 style_init_reset(&styles->slider_bg); - 15f2a: 4c62 ldr r4, [pc, #392] ; (160b4 ) - 15f2c: 6820 ldr r0, [r4, #0] - 15f2e: 3094 adds r0, #148 ; 0x94 - 15f30: 4b61 ldr r3, [pc, #388] ; (160b8 ) - 15f32: 4798 blx r3 + 15f12: 4c62 ldr r4, [pc, #392] ; (1609c ) + 15f14: 6820 ldr r0, [r4, #0] + 15f16: 3094 adds r0, #148 ; 0x94 + 15f18: 4b61 ldr r3, [pc, #388] ; (160a0 ) + 15f1a: 4798 blx r3 lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 15f34: 6824 ldr r4, [r4, #0] - 15f36: 3494 adds r4, #148 ; 0x94 - 15f38: 2000 movs r0, #0 - 15f3a: 4b64 ldr r3, [pc, #400] ; (160cc ) - 15f3c: 4798 blx r3 - 15f3e: eb00 0080 add.w r0, r0, r0, lsl #2 - 15f42: 0040 lsls r0, r0, #1 - 15f44: 3050 adds r0, #80 ; 0x50 - 15f46: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15f4a: da77 bge.n 1603c - 15f4c: 2201 movs r2, #1 + 15f1c: 6824 ldr r4, [r4, #0] + 15f1e: 3494 adds r4, #148 ; 0x94 + 15f20: 2000 movs r0, #0 + 15f22: 4b64 ldr r3, [pc, #400] ; (160b4 ) + 15f24: 4798 blx r3 + 15f26: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f2a: 0040 lsls r0, r0, #1 + 15f2c: 3050 adds r0, #80 ; 0x50 + 15f2e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f32: da77 bge.n 16024 + 15f34: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_LEFT, margin_left, lv_style_int_t, _int, scalar) - 15f4e: 2117 movs r1, #23 - 15f50: 4620 mov r0, r4 - 15f52: 4b5d ldr r3, [pc, #372] ; (160c8 ) - 15f54: 4798 blx r3 + 15f36: 2117 movs r1, #23 + 15f38: 4620 mov r0, r4 + 15f3a: 4b5d ldr r3, [pc, #372] ; (160b0 ) + 15f3c: 4798 blx r3 lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 15f56: 4b57 ldr r3, [pc, #348] ; (160b4 ) - 15f58: 681c ldr r4, [r3, #0] - 15f5a: 3494 adds r4, #148 ; 0x94 - 15f5c: 2000 movs r0, #0 - 15f5e: 4b5b ldr r3, [pc, #364] ; (160cc ) - 15f60: 4798 blx r3 - 15f62: eb00 0080 add.w r0, r0, r0, lsl #2 - 15f66: 0040 lsls r0, r0, #1 - 15f68: 3050 adds r0, #80 ; 0x50 - 15f6a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15f6e: da74 bge.n 1605a - 15f70: 2201 movs r2, #1 + 15f3e: 4b57 ldr r3, [pc, #348] ; (1609c ) + 15f40: 681c ldr r4, [r3, #0] + 15f42: 3494 adds r4, #148 ; 0x94 + 15f44: 2000 movs r0, #0 + 15f46: 4b5b ldr r3, [pc, #364] ; (160b4 ) + 15f48: 4798 blx r3 + 15f4a: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f4e: 0040 lsls r0, r0, #1 + 15f50: 3050 adds r0, #80 ; 0x50 + 15f52: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f56: da74 bge.n 16042 + 15f58: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_RIGHT, margin_right, lv_style_int_t, _int, scalar) - 15f72: 2118 movs r1, #24 - 15f74: 4620 mov r0, r4 - 15f76: 4b54 ldr r3, [pc, #336] ; (160c8 ) - 15f78: 4798 blx r3 + 15f5a: 2118 movs r1, #24 + 15f5c: 4620 mov r0, r4 + 15f5e: 4b54 ldr r3, [pc, #336] ; (160b0 ) + 15f60: 4798 blx r3 lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 15f7a: 4b4e ldr r3, [pc, #312] ; (160b4 ) - 15f7c: 681c ldr r4, [r3, #0] - 15f7e: 3494 adds r4, #148 ; 0x94 - 15f80: 2000 movs r0, #0 - 15f82: 4b52 ldr r3, [pc, #328] ; (160cc ) - 15f84: 4798 blx r3 - 15f86: eb00 0080 add.w r0, r0, r0, lsl #2 - 15f8a: 0040 lsls r0, r0, #1 - 15f8c: 3050 adds r0, #80 ; 0x50 - 15f8e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15f92: da71 bge.n 16078 - 15f94: 2201 movs r2, #1 + 15f62: 4b4e ldr r3, [pc, #312] ; (1609c ) + 15f64: 681c ldr r4, [r3, #0] + 15f66: 3494 adds r4, #148 ; 0x94 + 15f68: 2000 movs r0, #0 + 15f6a: 4b52 ldr r3, [pc, #328] ; (160b4 ) + 15f6c: 4798 blx r3 + 15f6e: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f72: 0040 lsls r0, r0, #1 + 15f74: 3050 adds r0, #80 ; 0x50 + 15f76: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f7a: da71 bge.n 16060 + 15f7c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_TOP, margin_top, lv_style_int_t, _int, scalar) - 15f96: 2115 movs r1, #21 - 15f98: 4620 mov r0, r4 - 15f9a: 4b4b ldr r3, [pc, #300] ; (160c8 ) - 15f9c: 4798 blx r3 + 15f7e: 2115 movs r1, #21 + 15f80: 4620 mov r0, r4 + 15f82: 4b4b ldr r3, [pc, #300] ; (160b0 ) + 15f84: 4798 blx r3 lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 15f9e: 4b45 ldr r3, [pc, #276] ; (160b4 ) - 15fa0: 681c ldr r4, [r3, #0] - 15fa2: 3494 adds r4, #148 ; 0x94 - 15fa4: 2000 movs r0, #0 - 15fa6: 4b49 ldr r3, [pc, #292] ; (160cc ) - 15fa8: 4798 blx r3 - 15faa: eb00 0080 add.w r0, r0, r0, lsl #2 - 15fae: 0040 lsls r0, r0, #1 - 15fb0: 3050 adds r0, #80 ; 0x50 - 15fb2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 15fb6: da6e bge.n 16096 - 15fb8: 2201 movs r2, #1 + 15f86: 4b45 ldr r3, [pc, #276] ; (1609c ) + 15f88: 681c ldr r4, [r3, #0] + 15f8a: 3494 adds r4, #148 ; 0x94 + 15f8c: 2000 movs r0, #0 + 15f8e: 4b49 ldr r3, [pc, #292] ; (160b4 ) + 15f90: 4798 blx r3 + 15f92: eb00 0080 add.w r0, r0, r0, lsl #2 + 15f96: 0040 lsls r0, r0, #1 + 15f98: 3050 adds r0, #80 ; 0x50 + 15f9a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 15f9e: da6e bge.n 1607e + 15fa0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(MARGIN_BOTTOM, margin_bottom, lv_style_int_t, _int, scalar) - 15fba: 2116 movs r1, #22 - 15fbc: 4620 mov r0, r4 - 15fbe: 4b42 ldr r3, [pc, #264] ; (160c8 ) - 15fc0: 4798 blx r3 - 15fc2: bd10 pop {r4, pc} - 15fc4: 2306 movs r3, #6 - 15fc6: 2110 movs r1, #16 - 15fc8: 2409 movs r4, #9 - 15fca: e755 b.n 15e78 + 15fa2: 2116 movs r1, #22 + 15fa4: 4620 mov r0, r4 + 15fa6: 4b42 ldr r3, [pc, #264] ; (160b0 ) + 15fa8: 4798 blx r3 + 15faa: bd10 pop {r4, pc} + 15fac: 2306 movs r3, #6 + 15fae: 2110 movs r1, #16 + 15fb0: 2409 movs r4, #9 + 15fb2: e755 b.n 15e60 lv_style_set_pad_left(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 15fcc: 2000 movs r0, #0 - 15fce: 4b3f ldr r3, [pc, #252] ; (160cc ) - 15fd0: 4798 blx r3 - 15fd2: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 15fd6: 3050 adds r0, #80 ; 0x50 - 15fd8: 4b3d ldr r3, [pc, #244] ; (160d0 ) - 15fda: fb83 2300 smull r2, r3, r3, r0 - 15fde: 17c2 asrs r2, r0, #31 - 15fe0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 15fe4: b212 sxth r2, r2 - 15fe6: e767 b.n 15eb8 + 15fb4: 2000 movs r0, #0 + 15fb6: 4b3f ldr r3, [pc, #252] ; (160b4 ) + 15fb8: 4798 blx r3 + 15fba: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15fbe: 3050 adds r0, #80 ; 0x50 + 15fc0: 4b3d ldr r3, [pc, #244] ; (160b8 ) + 15fc2: fb83 2300 smull r2, r3, r3, r0 + 15fc6: 17c2 asrs r2, r0, #31 + 15fc8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15fcc: b212 sxth r2, r2 + 15fce: e767 b.n 15ea0 lv_style_set_pad_right(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 15fe8: 2000 movs r0, #0 - 15fea: 4b38 ldr r3, [pc, #224] ; (160cc ) - 15fec: 4798 blx r3 - 15fee: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 15ff2: 3050 adds r0, #80 ; 0x50 - 15ff4: 4b36 ldr r3, [pc, #216] ; (160d0 ) - 15ff6: fb83 2300 smull r2, r3, r3, r0 - 15ffa: 17c2 asrs r2, r0, #31 - 15ffc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16000: b212 sxth r2, r2 - 16002: e76b b.n 15edc + 15fd0: 2000 movs r0, #0 + 15fd2: 4b38 ldr r3, [pc, #224] ; (160b4 ) + 15fd4: 4798 blx r3 + 15fd6: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15fda: 3050 adds r0, #80 ; 0x50 + 15fdc: 4b36 ldr r3, [pc, #216] ; (160b8 ) + 15fde: fb83 2300 smull r2, r3, r3, r0 + 15fe2: 17c2 asrs r2, r0, #31 + 15fe4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 15fe8: b212 sxth r2, r2 + 15fea: e76b b.n 15ec4 lv_style_set_pad_top(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 16004: 2000 movs r0, #0 - 16006: 4b31 ldr r3, [pc, #196] ; (160cc ) - 16008: 4798 blx r3 - 1600a: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1600e: 3050 adds r0, #80 ; 0x50 - 16010: 4b2f ldr r3, [pc, #188] ; (160d0 ) - 16012: fb83 2300 smull r2, r3, r3, r0 - 16016: 17c2 asrs r2, r0, #31 - 16018: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1601c: b212 sxth r2, r2 - 1601e: e76f b.n 15f00 + 15fec: 2000 movs r0, #0 + 15fee: 4b31 ldr r3, [pc, #196] ; (160b4 ) + 15ff0: 4798 blx r3 + 15ff2: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 15ff6: 3050 adds r0, #80 ; 0x50 + 15ff8: 4b2f ldr r3, [pc, #188] ; (160b8 ) + 15ffa: fb83 2300 smull r2, r3, r3, r0 + 15ffe: 17c2 asrs r2, r0, #31 + 16000: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16004: b212 sxth r2, r2 + 16006: e76f b.n 15ee8 lv_style_set_pad_bottom(&styles->slider_knob, LV_STATE_DEFAULT, LV_DPX(7)); - 16020: 2000 movs r0, #0 - 16022: 4b2a ldr r3, [pc, #168] ; (160cc ) - 16024: 4798 blx r3 - 16026: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 1602a: 3050 adds r0, #80 ; 0x50 - 1602c: 4b28 ldr r3, [pc, #160] ; (160d0 ) - 1602e: fb83 2300 smull r2, r3, r3, r0 - 16032: 17c2 asrs r2, r0, #31 - 16034: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16038: b212 sxth r2, r2 - 1603a: e772 b.n 15f22 + 16008: 2000 movs r0, #0 + 1600a: 4b2a ldr r3, [pc, #168] ; (160b4 ) + 1600c: 4798 blx r3 + 1600e: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 16012: 3050 adds r0, #80 ; 0x50 + 16014: 4b28 ldr r3, [pc, #160] ; (160b8 ) + 16016: fb83 2300 smull r2, r3, r3, r0 + 1601a: 17c2 asrs r2, r0, #31 + 1601c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16020: b212 sxth r2, r2 + 16022: e772 b.n 15f0a lv_style_set_margin_left(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1603c: 2000 movs r0, #0 - 1603e: 4b23 ldr r3, [pc, #140] ; (160cc ) - 16040: 4798 blx r3 - 16042: eb00 0080 add.w r0, r0, r0, lsl #2 - 16046: 0040 lsls r0, r0, #1 - 16048: 3050 adds r0, #80 ; 0x50 - 1604a: 4b21 ldr r3, [pc, #132] ; (160d0 ) - 1604c: fb83 2300 smull r2, r3, r3, r0 - 16050: 17c2 asrs r2, r0, #31 - 16052: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16056: b212 sxth r2, r2 - 16058: e779 b.n 15f4e + 16024: 2000 movs r0, #0 + 16026: 4b23 ldr r3, [pc, #140] ; (160b4 ) + 16028: 4798 blx r3 + 1602a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1602e: 0040 lsls r0, r0, #1 + 16030: 3050 adds r0, #80 ; 0x50 + 16032: 4b21 ldr r3, [pc, #132] ; (160b8 ) + 16034: fb83 2300 smull r2, r3, r3, r0 + 16038: 17c2 asrs r2, r0, #31 + 1603a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1603e: b212 sxth r2, r2 + 16040: e779 b.n 15f36 lv_style_set_margin_right(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1605a: 2000 movs r0, #0 - 1605c: 4b1b ldr r3, [pc, #108] ; (160cc ) - 1605e: 4798 blx r3 - 16060: eb00 0080 add.w r0, r0, r0, lsl #2 - 16064: 0040 lsls r0, r0, #1 - 16066: 3050 adds r0, #80 ; 0x50 - 16068: 4b19 ldr r3, [pc, #100] ; (160d0 ) - 1606a: fb83 2300 smull r2, r3, r3, r0 - 1606e: 17c2 asrs r2, r0, #31 - 16070: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16074: b212 sxth r2, r2 - 16076: e77c b.n 15f72 + 16042: 2000 movs r0, #0 + 16044: 4b1b ldr r3, [pc, #108] ; (160b4 ) + 16046: 4798 blx r3 + 16048: eb00 0080 add.w r0, r0, r0, lsl #2 + 1604c: 0040 lsls r0, r0, #1 + 1604e: 3050 adds r0, #80 ; 0x50 + 16050: 4b19 ldr r3, [pc, #100] ; (160b8 ) + 16052: fb83 2300 smull r2, r3, r3, r0 + 16056: 17c2 asrs r2, r0, #31 + 16058: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1605c: b212 sxth r2, r2 + 1605e: e77c b.n 15f5a lv_style_set_margin_top(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16078: 2000 movs r0, #0 - 1607a: 4b14 ldr r3, [pc, #80] ; (160cc ) - 1607c: 4798 blx r3 - 1607e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16082: 0040 lsls r0, r0, #1 - 16084: 3050 adds r0, #80 ; 0x50 - 16086: 4b12 ldr r3, [pc, #72] ; (160d0 ) - 16088: fb83 2300 smull r2, r3, r3, r0 - 1608c: 17c2 asrs r2, r0, #31 - 1608e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16092: b212 sxth r2, r2 - 16094: e77f b.n 15f96 + 16060: 2000 movs r0, #0 + 16062: 4b14 ldr r3, [pc, #80] ; (160b4 ) + 16064: 4798 blx r3 + 16066: eb00 0080 add.w r0, r0, r0, lsl #2 + 1606a: 0040 lsls r0, r0, #1 + 1606c: 3050 adds r0, #80 ; 0x50 + 1606e: 4b12 ldr r3, [pc, #72] ; (160b8 ) + 16070: fb83 2300 smull r2, r3, r3, r0 + 16074: 17c2 asrs r2, r0, #31 + 16076: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1607a: b212 sxth r2, r2 + 1607c: e77f b.n 15f7e lv_style_set_margin_bottom(&styles->slider_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16096: 2000 movs r0, #0 - 16098: 4b0c ldr r3, [pc, #48] ; (160cc ) - 1609a: 4798 blx r3 - 1609c: eb00 0080 add.w r0, r0, r0, lsl #2 - 160a0: 0040 lsls r0, r0, #1 - 160a2: 3050 adds r0, #80 ; 0x50 - 160a4: 4b0a ldr r3, [pc, #40] ; (160d0 ) - 160a6: fb83 2300 smull r2, r3, r3, r0 - 160aa: 17c2 asrs r2, r0, #31 - 160ac: ebc2 12a3 rsb r2, r2, r3, asr #6 - 160b0: b212 sxth r2, r2 - 160b2: e782 b.n 15fba - 160b4: 20006bd8 .word 0x20006bd8 - 160b8: 00014a61 .word 0x00014a61 - 160bc: 00006b69 .word 0x00006b69 - 160c0: 00029584 .word 0x00029584 - 160c4: 00006a25 .word 0x00006a25 - 160c8: 000068e1 .word 0x000068e1 - 160cc: 00010f3d .word 0x00010f3d - 160d0: 66666667 .word 0x66666667 - -000160d4 : -{ - 160d4: b510 push {r4, lr} + 1607e: 2000 movs r0, #0 + 16080: 4b0c ldr r3, [pc, #48] ; (160b4 ) + 16082: 4798 blx r3 + 16084: eb00 0080 add.w r0, r0, r0, lsl #2 + 16088: 0040 lsls r0, r0, #1 + 1608a: 3050 adds r0, #80 ; 0x50 + 1608c: 4b0a ldr r3, [pc, #40] ; (160b8 ) + 1608e: fb83 2300 smull r2, r3, r3, r0 + 16092: 17c2 asrs r2, r0, #31 + 16094: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16098: b212 sxth r2, r2 + 1609a: e782 b.n 15fa2 + 1609c: 20006bd8 .word 0x20006bd8 + 160a0: 00014a49 .word 0x00014a49 + 160a4: 00006b51 .word 0x00006b51 + 160a8: 0002956c .word 0x0002956c + 160ac: 00006a0d .word 0x00006a0d + 160b0: 000068c9 .word 0x000068c9 + 160b4: 00010f25 .word 0x00010f25 + 160b8: 66666667 .word 0x66666667 + +000160bc : +{ + 160bc: b510 push {r4, lr} style_init_reset(&styles->sw_knob); - 160d6: 4c48 ldr r4, [pc, #288] ; (161f8 ) - 160d8: 6820 ldr r0, [r4, #0] - 160da: 309c adds r0, #156 ; 0x9c - 160dc: 4b47 ldr r3, [pc, #284] ; (161fc ) - 160de: 4798 blx r3 + 160be: 4c48 ldr r4, [pc, #288] ; (161e0 ) + 160c0: 6820 ldr r0, [r4, #0] + 160c2: 309c adds r0, #156 ; 0x9c + 160c4: 4b47 ldr r3, [pc, #284] ; (161e4 ) + 160c6: 4798 blx r3 lv_style_set_bg_opa(&styles->sw_knob, LV_STATE_DEFAULT, LV_OPA_COVER); - 160e0: 6820 ldr r0, [r4, #0] + 160c8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 160e2: 22ff movs r2, #255 ; 0xff - 160e4: 212c movs r1, #44 ; 0x2c - 160e6: 309c adds r0, #156 ; 0x9c - 160e8: 4b45 ldr r3, [pc, #276] ; (16200 ) - 160ea: 4798 blx r3 + 160ca: 22ff movs r2, #255 ; 0xff + 160cc: 212c movs r1, #44 ; 0x2c + 160ce: 309c adds r0, #156 ; 0x9c + 160d0: 4b45 ldr r3, [pc, #276] ; (161e8 ) + 160d2: 4798 blx r3 lv_style_set_bg_color(&styles->sw_knob, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 160ec: 6820 ldr r0, [r4, #0] + 160d4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 160ee: 4b45 ldr r3, [pc, #276] ; (16204 ) - 160f0: 881a ldrh r2, [r3, #0] - 160f2: 2129 movs r1, #41 ; 0x29 - 160f4: 309c adds r0, #156 ; 0x9c - 160f6: 4b44 ldr r3, [pc, #272] ; (16208 ) - 160f8: 4798 blx r3 + 160d6: 4b45 ldr r3, [pc, #276] ; (161ec ) + 160d8: 881a ldrh r2, [r3, #0] + 160da: 2129 movs r1, #41 ; 0x29 + 160dc: 309c adds r0, #156 ; 0x9c + 160de: 4b44 ldr r3, [pc, #272] ; (161f0 ) + 160e0: 4798 blx r3 lv_style_set_radius(&styles->sw_knob, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 160fa: 6820 ldr r0, [r4, #0] + 160e2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 160fc: f647 72ff movw r2, #32767 ; 0x7fff - 16100: 2101 movs r1, #1 - 16102: 309c adds r0, #156 ; 0x9c - 16104: 4b41 ldr r3, [pc, #260] ; (1620c ) - 16106: 4798 blx r3 + 160e4: f647 72ff movw r2, #32767 ; 0x7fff + 160e8: 2101 movs r1, #1 + 160ea: 309c adds r0, #156 ; 0x9c + 160ec: 4b41 ldr r3, [pc, #260] ; (161f4 ) + 160ee: 4798 blx r3 lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16108: 6824 ldr r4, [r4, #0] - 1610a: 349c adds r4, #156 ; 0x9c - 1610c: 2000 movs r0, #0 - 1610e: 4b40 ldr r3, [pc, #256] ; (16210 ) - 16110: 4798 blx r3 - 16112: 3014 adds r0, #20 - 16114: 0080 lsls r0, r0, #2 - 16116: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1611a: da39 bge.n 16190 - 1611c: f04f 32ff mov.w r2, #4294967295 + 160f0: 6824 ldr r4, [r4, #0] + 160f2: 349c adds r4, #156 ; 0x9c + 160f4: 2000 movs r0, #0 + 160f6: 4b40 ldr r3, [pc, #256] ; (161f8 ) + 160f8: 4798 blx r3 + 160fa: 3014 adds r0, #20 + 160fc: 0080 lsls r0, r0, #2 + 160fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16102: da39 bge.n 16178 + 16104: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 16120: 2110 movs r1, #16 - 16122: 4620 mov r0, r4 - 16124: 4b39 ldr r3, [pc, #228] ; (1620c ) - 16126: 4798 blx r3 + 16108: 2110 movs r1, #16 + 1610a: 4620 mov r0, r4 + 1610c: 4b39 ldr r3, [pc, #228] ; (161f4 ) + 1610e: 4798 blx r3 lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16128: 4b33 ldr r3, [pc, #204] ; (161f8 ) - 1612a: 681c ldr r4, [r3, #0] - 1612c: 349c adds r4, #156 ; 0x9c - 1612e: 2000 movs r0, #0 - 16130: 4b37 ldr r3, [pc, #220] ; (16210 ) - 16132: 4798 blx r3 - 16134: 3014 adds r0, #20 - 16136: 0080 lsls r0, r0, #2 - 16138: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1613c: da35 bge.n 161aa - 1613e: f04f 32ff mov.w r2, #4294967295 + 16110: 4b33 ldr r3, [pc, #204] ; (161e0 ) + 16112: 681c ldr r4, [r3, #0] + 16114: 349c adds r4, #156 ; 0x9c + 16116: 2000 movs r0, #0 + 16118: 4b37 ldr r3, [pc, #220] ; (161f8 ) + 1611a: 4798 blx r3 + 1611c: 3014 adds r0, #20 + 1611e: 0080 lsls r0, r0, #2 + 16120: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16124: da35 bge.n 16192 + 16126: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 16142: 2111 movs r1, #17 - 16144: 4620 mov r0, r4 - 16146: 4b31 ldr r3, [pc, #196] ; (1620c ) - 16148: 4798 blx r3 + 1612a: 2111 movs r1, #17 + 1612c: 4620 mov r0, r4 + 1612e: 4b31 ldr r3, [pc, #196] ; (161f4 ) + 16130: 4798 blx r3 lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 1614a: 4b2b ldr r3, [pc, #172] ; (161f8 ) - 1614c: 681c ldr r4, [r3, #0] - 1614e: 349c adds r4, #156 ; 0x9c - 16150: 2000 movs r0, #0 - 16152: 4b2f ldr r3, [pc, #188] ; (16210 ) - 16154: 4798 blx r3 - 16156: 3014 adds r0, #20 - 16158: 0080 lsls r0, r0, #2 - 1615a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1615e: da31 bge.n 161c4 - 16160: f04f 32ff mov.w r2, #4294967295 + 16132: 4b2b ldr r3, [pc, #172] ; (161e0 ) + 16134: 681c ldr r4, [r3, #0] + 16136: 349c adds r4, #156 ; 0x9c + 16138: 2000 movs r0, #0 + 1613a: 4b2f ldr r3, [pc, #188] ; (161f8 ) + 1613c: 4798 blx r3 + 1613e: 3014 adds r0, #20 + 16140: 0080 lsls r0, r0, #2 + 16142: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16146: da31 bge.n 161ac + 16148: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 16164: 2112 movs r1, #18 - 16166: 4620 mov r0, r4 - 16168: 4b28 ldr r3, [pc, #160] ; (1620c ) - 1616a: 4798 blx r3 + 1614c: 2112 movs r1, #18 + 1614e: 4620 mov r0, r4 + 16150: 4b28 ldr r3, [pc, #160] ; (161f4 ) + 16152: 4798 blx r3 lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 1616c: 4b22 ldr r3, [pc, #136] ; (161f8 ) - 1616e: 681c ldr r4, [r3, #0] - 16170: 349c adds r4, #156 ; 0x9c - 16172: 2000 movs r0, #0 - 16174: 4b26 ldr r3, [pc, #152] ; (16210 ) - 16176: 4798 blx r3 - 16178: 3014 adds r0, #20 - 1617a: 0080 lsls r0, r0, #2 - 1617c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16180: da2d bge.n 161de - 16182: f04f 32ff mov.w r2, #4294967295 + 16154: 4b22 ldr r3, [pc, #136] ; (161e0 ) + 16156: 681c ldr r4, [r3, #0] + 16158: 349c adds r4, #156 ; 0x9c + 1615a: 2000 movs r0, #0 + 1615c: 4b26 ldr r3, [pc, #152] ; (161f8 ) + 1615e: 4798 blx r3 + 16160: 3014 adds r0, #20 + 16162: 0080 lsls r0, r0, #2 + 16164: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16168: da2d bge.n 161c6 + 1616a: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 16186: 2113 movs r1, #19 - 16188: 4620 mov r0, r4 - 1618a: 4b20 ldr r3, [pc, #128] ; (1620c ) - 1618c: 4798 blx r3 - 1618e: bd10 pop {r4, pc} + 1616e: 2113 movs r1, #19 + 16170: 4620 mov r0, r4 + 16172: 4b20 ldr r3, [pc, #128] ; (161f4 ) + 16174: 4798 blx r3 + 16176: bd10 pop {r4, pc} lv_style_set_pad_top(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 16190: 2000 movs r0, #0 - 16192: 4b1f ldr r3, [pc, #124] ; (16210 ) - 16194: 4798 blx r3 - 16196: 3014 adds r0, #20 - 16198: 0080 lsls r0, r0, #2 - 1619a: 4b1e ldr r3, [pc, #120] ; (16214 ) - 1619c: fb83 2300 smull r2, r3, r3, r0 - 161a0: 17c2 asrs r2, r0, #31 - 161a2: eba2 12a3 sub.w r2, r2, r3, asr #6 - 161a6: b212 sxth r2, r2 - 161a8: e7ba b.n 16120 + 16178: 2000 movs r0, #0 + 1617a: 4b1f ldr r3, [pc, #124] ; (161f8 ) + 1617c: 4798 blx r3 + 1617e: 3014 adds r0, #20 + 16180: 0080 lsls r0, r0, #2 + 16182: 4b1e ldr r3, [pc, #120] ; (161fc ) + 16184: fb83 2300 smull r2, r3, r3, r0 + 16188: 17c2 asrs r2, r0, #31 + 1618a: eba2 12a3 sub.w r2, r2, r3, asr #6 + 1618e: b212 sxth r2, r2 + 16190: e7ba b.n 16108 lv_style_set_pad_bottom(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 161aa: 2000 movs r0, #0 - 161ac: 4b18 ldr r3, [pc, #96] ; (16210 ) - 161ae: 4798 blx r3 - 161b0: 3014 adds r0, #20 - 161b2: 0080 lsls r0, r0, #2 - 161b4: 4b17 ldr r3, [pc, #92] ; (16214 ) - 161b6: fb83 2300 smull r2, r3, r3, r0 - 161ba: 17c2 asrs r2, r0, #31 - 161bc: eba2 12a3 sub.w r2, r2, r3, asr #6 - 161c0: b212 sxth r2, r2 - 161c2: e7be b.n 16142 + 16192: 2000 movs r0, #0 + 16194: 4b18 ldr r3, [pc, #96] ; (161f8 ) + 16196: 4798 blx r3 + 16198: 3014 adds r0, #20 + 1619a: 0080 lsls r0, r0, #2 + 1619c: 4b17 ldr r3, [pc, #92] ; (161fc ) + 1619e: fb83 2300 smull r2, r3, r3, r0 + 161a2: 17c2 asrs r2, r0, #31 + 161a4: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161a8: b212 sxth r2, r2 + 161aa: e7be b.n 1612a lv_style_set_pad_left(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 161c4: 2000 movs r0, #0 - 161c6: 4b12 ldr r3, [pc, #72] ; (16210 ) - 161c8: 4798 blx r3 - 161ca: 3014 adds r0, #20 - 161cc: 0080 lsls r0, r0, #2 - 161ce: 4b11 ldr r3, [pc, #68] ; (16214 ) - 161d0: fb83 2300 smull r2, r3, r3, r0 - 161d4: 17c2 asrs r2, r0, #31 - 161d6: eba2 12a3 sub.w r2, r2, r3, asr #6 - 161da: b212 sxth r2, r2 - 161dc: e7c2 b.n 16164 + 161ac: 2000 movs r0, #0 + 161ae: 4b12 ldr r3, [pc, #72] ; (161f8 ) + 161b0: 4798 blx r3 + 161b2: 3014 adds r0, #20 + 161b4: 0080 lsls r0, r0, #2 + 161b6: 4b11 ldr r3, [pc, #68] ; (161fc ) + 161b8: fb83 2300 smull r2, r3, r3, r0 + 161bc: 17c2 asrs r2, r0, #31 + 161be: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161c2: b212 sxth r2, r2 + 161c4: e7c2 b.n 1614c lv_style_set_pad_right(&styles->sw_knob, LV_STATE_DEFAULT, - LV_DPX(4)); - 161de: 2000 movs r0, #0 - 161e0: 4b0b ldr r3, [pc, #44] ; (16210 ) - 161e2: 4798 blx r3 - 161e4: 3014 adds r0, #20 - 161e6: 0080 lsls r0, r0, #2 - 161e8: 4b0a ldr r3, [pc, #40] ; (16214 ) - 161ea: fb83 2300 smull r2, r3, r3, r0 - 161ee: 17c2 asrs r2, r0, #31 - 161f0: eba2 12a3 sub.w r2, r2, r3, asr #6 - 161f4: b212 sxth r2, r2 - 161f6: e7c6 b.n 16186 - 161f8: 20006bd8 .word 0x20006bd8 - 161fc: 00014a61 .word 0x00014a61 - 16200: 00006b69 .word 0x00006b69 - 16204: 00029584 .word 0x00029584 - 16208: 00006a25 .word 0x00006a25 - 1620c: 000068e1 .word 0x000068e1 - 16210: 00010f3d .word 0x00010f3d - 16214: 66666667 .word 0x66666667 - -00016218 : -{ - 16218: b538 push {r3, r4, r5, lr} + 161c6: 2000 movs r0, #0 + 161c8: 4b0b ldr r3, [pc, #44] ; (161f8 ) + 161ca: 4798 blx r3 + 161cc: 3014 adds r0, #20 + 161ce: 0080 lsls r0, r0, #2 + 161d0: 4b0a ldr r3, [pc, #40] ; (161fc ) + 161d2: fb83 2300 smull r2, r3, r3, r0 + 161d6: 17c2 asrs r2, r0, #31 + 161d8: eba2 12a3 sub.w r2, r2, r3, asr #6 + 161dc: b212 sxth r2, r2 + 161de: e7c6 b.n 1616e + 161e0: 20006bd8 .word 0x20006bd8 + 161e4: 00014a49 .word 0x00014a49 + 161e8: 00006b51 .word 0x00006b51 + 161ec: 0002956c .word 0x0002956c + 161f0: 00006a0d .word 0x00006a0d + 161f4: 000068c9 .word 0x000068c9 + 161f8: 00010f25 .word 0x00010f25 + 161fc: 66666667 .word 0x66666667 + +00016200 : +{ + 16200: b538 push {r3, r4, r5, lr} style_init_reset(&styles->lmeter); - 1621a: 4c88 ldr r4, [pc, #544] ; (1643c ) - 1621c: 6820 ldr r0, [r4, #0] - 1621e: 3070 adds r0, #112 ; 0x70 - 16220: 4b87 ldr r3, [pc, #540] ; (16440 ) - 16222: 4798 blx r3 + 16202: 4c88 ldr r4, [pc, #544] ; (16424 ) + 16204: 6820 ldr r0, [r4, #0] + 16206: 3070 adds r0, #112 ; 0x70 + 16208: 4b87 ldr r3, [pc, #540] ; (16428 ) + 1620a: 4798 blx r3 lv_style_set_radius(&styles->lmeter, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16224: 6820 ldr r0, [r4, #0] + 1620c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16226: f647 72ff movw r2, #32767 ; 0x7fff - 1622a: 2101 movs r1, #1 - 1622c: 3070 adds r0, #112 ; 0x70 - 1622e: 4b85 ldr r3, [pc, #532] ; (16444 ) - 16230: 4798 blx r3 + 1620e: f647 72ff movw r2, #32767 ; 0x7fff + 16212: 2101 movs r1, #1 + 16214: 3070 adds r0, #112 ; 0x70 + 16216: 4b85 ldr r3, [pc, #532] ; (1642c ) + 16218: 4798 blx r3 lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 16232: 6824 ldr r4, [r4, #0] - 16234: 3470 adds r4, #112 ; 0x70 - 16236: 2000 movs r0, #0 - 16238: 4b83 ldr r3, [pc, #524] ; (16448 ) - 1623a: 4798 blx r3 - 1623c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16240: 0080 lsls r0, r0, #2 - 16242: 3050 adds r0, #80 ; 0x50 - 16244: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16248: f280 808e bge.w 16368 - 1624c: 2201 movs r2, #1 + 1621a: 6824 ldr r4, [r4, #0] + 1621c: 3470 adds r4, #112 ; 0x70 + 1621e: 2000 movs r0, #0 + 16220: 4b83 ldr r3, [pc, #524] ; (16430 ) + 16222: 4798 blx r3 + 16224: eb00 0080 add.w r0, r0, r0, lsl #2 + 16228: 0080 lsls r0, r0, #2 + 1622a: 3050 adds r0, #80 ; 0x50 + 1622c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16230: f280 808e bge.w 16350 + 16234: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1624e: 2112 movs r1, #18 - 16250: 4620 mov r0, r4 - 16252: 4b7c ldr r3, [pc, #496] ; (16444 ) - 16254: 4798 blx r3 + 16236: 2112 movs r1, #18 + 16238: 4620 mov r0, r4 + 1623a: 4b7c ldr r3, [pc, #496] ; (1642c ) + 1623c: 4798 blx r3 lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 16256: 4b79 ldr r3, [pc, #484] ; (1643c ) - 16258: 681c ldr r4, [r3, #0] - 1625a: 3470 adds r4, #112 ; 0x70 - 1625c: 2000 movs r0, #0 - 1625e: 4b7a ldr r3, [pc, #488] ; (16448 ) - 16260: 4798 blx r3 - 16262: eb00 0080 add.w r0, r0, r0, lsl #2 - 16266: 0080 lsls r0, r0, #2 - 16268: 3050 adds r0, #80 ; 0x50 - 1626a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1626e: f280 808a bge.w 16386 - 16272: 2201 movs r2, #1 + 1623e: 4b79 ldr r3, [pc, #484] ; (16424 ) + 16240: 681c ldr r4, [r3, #0] + 16242: 3470 adds r4, #112 ; 0x70 + 16244: 2000 movs r0, #0 + 16246: 4b7a ldr r3, [pc, #488] ; (16430 ) + 16248: 4798 blx r3 + 1624a: eb00 0080 add.w r0, r0, r0, lsl #2 + 1624e: 0080 lsls r0, r0, #2 + 16250: 3050 adds r0, #80 ; 0x50 + 16252: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16256: f280 808a bge.w 1636e + 1625a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 16274: 2113 movs r1, #19 - 16276: 4620 mov r0, r4 - 16278: 4b72 ldr r3, [pc, #456] ; (16444 ) - 1627a: 4798 blx r3 + 1625c: 2113 movs r1, #19 + 1625e: 4620 mov r0, r4 + 16260: 4b72 ldr r3, [pc, #456] ; (1642c ) + 16262: 4798 blx r3 lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 1627c: 4b6f ldr r3, [pc, #444] ; (1643c ) - 1627e: 681c ldr r4, [r3, #0] - 16280: 3470 adds r4, #112 ; 0x70 - 16282: 2000 movs r0, #0 - 16284: 4b70 ldr r3, [pc, #448] ; (16448 ) - 16286: 4798 blx r3 - 16288: eb00 0080 add.w r0, r0, r0, lsl #2 - 1628c: 0080 lsls r0, r0, #2 - 1628e: 3050 adds r0, #80 ; 0x50 - 16290: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16294: f280 8086 bge.w 163a4 - 16298: 2201 movs r2, #1 + 16264: 4b6f ldr r3, [pc, #444] ; (16424 ) + 16266: 681c ldr r4, [r3, #0] + 16268: 3470 adds r4, #112 ; 0x70 + 1626a: 2000 movs r0, #0 + 1626c: 4b70 ldr r3, [pc, #448] ; (16430 ) + 1626e: 4798 blx r3 + 16270: eb00 0080 add.w r0, r0, r0, lsl #2 + 16274: 0080 lsls r0, r0, #2 + 16276: 3050 adds r0, #80 ; 0x50 + 16278: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1627c: f280 8086 bge.w 1638c + 16280: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1629a: 2110 movs r1, #16 - 1629c: 4620 mov r0, r4 - 1629e: 4b69 ldr r3, [pc, #420] ; (16444 ) - 162a0: 4798 blx r3 + 16282: 2110 movs r1, #16 + 16284: 4620 mov r0, r4 + 16286: 4b69 ldr r3, [pc, #420] ; (1642c ) + 16288: 4798 blx r3 lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30)); - 162a2: 4b66 ldr r3, [pc, #408] ; (1643c ) - 162a4: 681c ldr r4, [r3, #0] - 162a6: 3470 adds r4, #112 ; 0x70 - 162a8: 2000 movs r0, #0 - 162aa: 4b67 ldr r3, [pc, #412] ; (16448 ) - 162ac: 4798 blx r3 - 162ae: ebc0 1000 rsb r0, r0, r0, lsl #4 - 162b2: 0040 lsls r0, r0, #1 - 162b4: 3050 adds r0, #80 ; 0x50 - 162b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 162ba: f280 8082 bge.w 163c2 - 162be: 2201 movs r2, #1 + 1628a: 4b66 ldr r3, [pc, #408] ; (16424 ) + 1628c: 681c ldr r4, [r3, #0] + 1628e: 3470 adds r4, #112 ; 0x70 + 16290: 2000 movs r0, #0 + 16292: 4b67 ldr r3, [pc, #412] ; (16430 ) + 16294: 4798 blx r3 + 16296: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1629a: 0040 lsls r0, r0, #1 + 1629c: 3050 adds r0, #80 ; 0x50 + 1629e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 162a2: f280 8082 bge.w 163aa + 162a6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 162c0: 2114 movs r1, #20 - 162c2: 4620 mov r0, r4 - 162c4: 4b5f ldr r3, [pc, #380] ; (16444 ) - 162c6: 4798 blx r3 + 162a8: 2114 movs r1, #20 + 162aa: 4620 mov r0, r4 + 162ac: 4b5f ldr r3, [pc, #380] ; (1642c ) + 162ae: 4798 blx r3 lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25)); - 162c8: 4b5c ldr r3, [pc, #368] ; (1643c ) - 162ca: 681c ldr r4, [r3, #0] - 162cc: 3470 adds r4, #112 ; 0x70 - 162ce: 2000 movs r0, #0 - 162d0: 4b5d ldr r3, [pc, #372] ; (16448 ) - 162d2: 4798 blx r3 - 162d4: eb00 0080 add.w r0, r0, r0, lsl #2 - 162d8: eb00 0080 add.w r0, r0, r0, lsl #2 - 162dc: 3050 adds r0, #80 ; 0x50 - 162de: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 162e2: da7d bge.n 163e0 - 162e4: 2201 movs r2, #1 + 162b0: 4b5c ldr r3, [pc, #368] ; (16424 ) + 162b2: 681c ldr r4, [r3, #0] + 162b4: 3470 adds r4, #112 ; 0x70 + 162b6: 2000 movs r0, #0 + 162b8: 4b5d ldr r3, [pc, #372] ; (16430 ) + 162ba: 4798 blx r3 + 162bc: eb00 0080 add.w r0, r0, r0, lsl #2 + 162c0: eb00 0080 add.w r0, r0, r0, lsl #2 + 162c4: 3050 adds r0, #80 ; 0x50 + 162c6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 162ca: da7d bge.n 163c8 + 162cc: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, lv_anim_path_t *, _ptr, scalar) #else /*For compatibility*/ _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PATH, transition_path, const void *, _ptr, scalar) #endif _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 162e6: 21c0 movs r1, #192 ; 0xc0 - 162e8: 4620 mov r0, r4 - 162ea: 4b56 ldr r3, [pc, #344] ; (16444 ) - 162ec: 4798 blx r3 + 162ce: 21c0 movs r1, #192 ; 0xc0 + 162d0: 4620 mov r0, r4 + 162d2: 4b56 ldr r3, [pc, #344] ; (1642c ) + 162d4: 4798 blx r3 lv_style_set_line_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary); - 162ee: 4c53 ldr r4, [pc, #332] ; (1643c ) - 162f0: 6820 ldr r0, [r4, #0] + 162d6: 4c53 ldr r4, [pc, #332] ; (16424 ) + 162d8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 162f2: 89a2 ldrh r2, [r4, #12] - 162f4: 2199 movs r1, #153 ; 0x99 - 162f6: 3070 adds r0, #112 ; 0x70 - 162f8: 4d54 ldr r5, [pc, #336] ; (1644c ) - 162fa: 47a8 blx r5 + 162da: 89a2 ldrh r2, [r4, #12] + 162dc: 2199 movs r1, #153 ; 0x99 + 162de: 3070 adds r0, #112 ; 0x70 + 162e0: 4d54 ldr r5, [pc, #336] ; (16434 ) + 162e2: 47a8 blx r5 lv_style_set_scale_grad_color(&styles->lmeter, LV_STATE_DEFAULT, theme.color_primary); - 162fc: 6820 ldr r0, [r4, #0] + 162e4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_BORDER_WIDTH, scale_border_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 162fe: 89a2 ldrh r2, [r4, #12] - 16300: 21c9 movs r1, #201 ; 0xc9 - 16302: 3070 adds r0, #112 ; 0x70 - 16304: 47a8 blx r5 + 162e6: 89a2 ldrh r2, [r4, #12] + 162e8: 21c9 movs r1, #201 ; 0xc9 + 162ea: 3070 adds r0, #112 ; 0x70 + 162ec: 47a8 blx r5 lv_style_set_scale_end_color(&styles->lmeter, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 16306: 6820 ldr r0, [r4, #0] - 16308: 2311 movs r3, #17 - 1630a: f04f 0200 mov.w r2, #0 - 1630e: f363 0204 bfi r2, r3, #0, #5 - 16312: 2122 movs r1, #34 ; 0x22 - 16314: f361 124a bfi r2, r1, #5, #6 - 16318: f363 22cf bfi r2, r3, #11, #5 + 162ee: 6820 ldr r0, [r4, #0] + 162f0: 2311 movs r3, #17 + 162f2: f04f 0200 mov.w r2, #0 + 162f6: f363 0204 bfi r2, r3, #0, #5 + 162fa: 2122 movs r1, #34 ; 0x22 + 162fc: f361 124a bfi r2, r1, #5, #6 + 16300: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 1631c: 21ca movs r1, #202 ; 0xca - 1631e: 3070 adds r0, #112 ; 0x70 - 16320: 47a8 blx r5 + 16304: 21ca movs r1, #202 ; 0xca + 16306: 3070 adds r0, #112 ; 0x70 + 16308: 47a8 blx r5 lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10)); - 16322: 6824 ldr r4, [r4, #0] - 16324: 3470 adds r4, #112 ; 0x70 - 16326: 2000 movs r0, #0 - 16328: 4b47 ldr r3, [pc, #284] ; (16448 ) - 1632a: 4798 blx r3 - 1632c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16330: 0040 lsls r0, r0, #1 - 16332: 3050 adds r0, #80 ; 0x50 - 16334: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16338: da62 bge.n 16400 - 1633a: 2201 movs r2, #1 + 1630a: 6824 ldr r4, [r4, #0] + 1630c: 3470 adds r4, #112 ; 0x70 + 1630e: 2000 movs r0, #0 + 16310: 4b47 ldr r3, [pc, #284] ; (16430 ) + 16312: 4798 blx r3 + 16314: eb00 0080 add.w r0, r0, r0, lsl #2 + 16318: 0040 lsls r0, r0, #1 + 1631a: 3050 adds r0, #80 ; 0x50 + 1631c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16320: da62 bge.n 163e8 + 16322: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 1633c: 2190 movs r1, #144 ; 0x90 - 1633e: 4620 mov r0, r4 - 16340: 4b40 ldr r3, [pc, #256] ; (16444 ) - 16342: 4798 blx r3 + 16324: 2190 movs r1, #144 ; 0x90 + 16326: 4620 mov r0, r4 + 16328: 4b40 ldr r3, [pc, #256] ; (1642c ) + 1632a: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7)); - 16344: 4b3d ldr r3, [pc, #244] ; (1643c ) - 16346: 681c ldr r4, [r3, #0] - 16348: 3470 adds r4, #112 ; 0x70 - 1634a: 2000 movs r0, #0 - 1634c: 4b3e ldr r3, [pc, #248] ; (16448 ) - 1634e: 4798 blx r3 - 16350: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 16354: 3050 adds r0, #80 ; 0x50 - 16356: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1635a: da60 bge.n 1641e - 1635c: 2201 movs r2, #1 + 1632c: 4b3d ldr r3, [pc, #244] ; (16424 ) + 1632e: 681c ldr r4, [r3, #0] + 16330: 3470 adds r4, #112 ; 0x70 + 16332: 2000 movs r0, #0 + 16334: 4b3e ldr r3, [pc, #248] ; (16430 ) + 16336: 4798 blx r3 + 16338: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1633c: 3050 adds r0, #80 ; 0x50 + 1633e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16342: da60 bge.n 16406 + 16344: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 1635e: 21c3 movs r1, #195 ; 0xc3 - 16360: 4620 mov r0, r4 - 16362: 4b38 ldr r3, [pc, #224] ; (16444 ) - 16364: 4798 blx r3 - 16366: bd38 pop {r3, r4, r5, pc} + 16346: 21c3 movs r1, #195 ; 0xc3 + 16348: 4620 mov r0, r4 + 1634a: 4b38 ldr r3, [pc, #224] ; (1642c ) + 1634c: 4798 blx r3 + 1634e: bd38 pop {r3, r4, r5, pc} lv_style_set_pad_left(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 16368: 2000 movs r0, #0 - 1636a: 4b37 ldr r3, [pc, #220] ; (16448 ) - 1636c: 4798 blx r3 - 1636e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16372: 0080 lsls r0, r0, #2 - 16374: 3050 adds r0, #80 ; 0x50 - 16376: 4b36 ldr r3, [pc, #216] ; (16450 ) - 16378: fb83 2300 smull r2, r3, r3, r0 - 1637c: 17c2 asrs r2, r0, #31 - 1637e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16382: b212 sxth r2, r2 - 16384: e763 b.n 1624e + 16350: 2000 movs r0, #0 + 16352: 4b37 ldr r3, [pc, #220] ; (16430 ) + 16354: 4798 blx r3 + 16356: eb00 0080 add.w r0, r0, r0, lsl #2 + 1635a: 0080 lsls r0, r0, #2 + 1635c: 3050 adds r0, #80 ; 0x50 + 1635e: 4b36 ldr r3, [pc, #216] ; (16438 ) + 16360: fb83 2300 smull r2, r3, r3, r0 + 16364: 17c2 asrs r2, r0, #31 + 16366: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1636a: b212 sxth r2, r2 + 1636c: e763 b.n 16236 lv_style_set_pad_right(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 16386: 2000 movs r0, #0 - 16388: 4b2f ldr r3, [pc, #188] ; (16448 ) - 1638a: 4798 blx r3 - 1638c: eb00 0080 add.w r0, r0, r0, lsl #2 - 16390: 0080 lsls r0, r0, #2 - 16392: 3050 adds r0, #80 ; 0x50 - 16394: 4b2e ldr r3, [pc, #184] ; (16450 ) - 16396: fb83 2300 smull r2, r3, r3, r0 - 1639a: 17c2 asrs r2, r0, #31 - 1639c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 163a0: b212 sxth r2, r2 - 163a2: e767 b.n 16274 + 1636e: 2000 movs r0, #0 + 16370: 4b2f ldr r3, [pc, #188] ; (16430 ) + 16372: 4798 blx r3 + 16374: eb00 0080 add.w r0, r0, r0, lsl #2 + 16378: 0080 lsls r0, r0, #2 + 1637a: 3050 adds r0, #80 ; 0x50 + 1637c: 4b2e ldr r3, [pc, #184] ; (16438 ) + 1637e: fb83 2300 smull r2, r3, r3, r0 + 16382: 17c2 asrs r2, r0, #31 + 16384: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16388: b212 sxth r2, r2 + 1638a: e767 b.n 1625c lv_style_set_pad_top(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(20)); - 163a4: 2000 movs r0, #0 - 163a6: 4b28 ldr r3, [pc, #160] ; (16448 ) - 163a8: 4798 blx r3 - 163aa: eb00 0080 add.w r0, r0, r0, lsl #2 - 163ae: 0080 lsls r0, r0, #2 - 163b0: 3050 adds r0, #80 ; 0x50 - 163b2: 4b27 ldr r3, [pc, #156] ; (16450 ) - 163b4: fb83 2300 smull r2, r3, r3, r0 - 163b8: 17c2 asrs r2, r0, #31 - 163ba: ebc2 12a3 rsb r2, r2, r3, asr #6 - 163be: b212 sxth r2, r2 - 163c0: e76b b.n 1629a + 1638c: 2000 movs r0, #0 + 1638e: 4b28 ldr r3, [pc, #160] ; (16430 ) + 16390: 4798 blx r3 + 16392: eb00 0080 add.w r0, r0, r0, lsl #2 + 16396: 0080 lsls r0, r0, #2 + 16398: 3050 adds r0, #80 ; 0x50 + 1639a: 4b27 ldr r3, [pc, #156] ; (16438 ) + 1639c: fb83 2300 smull r2, r3, r3, r0 + 163a0: 17c2 asrs r2, r0, #31 + 163a2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163a6: b212 sxth r2, r2 + 163a8: e76b b.n 16282 lv_style_set_pad_inner(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(30)); - 163c2: 2000 movs r0, #0 - 163c4: 4b20 ldr r3, [pc, #128] ; (16448 ) - 163c6: 4798 blx r3 - 163c8: ebc0 1000 rsb r0, r0, r0, lsl #4 - 163cc: 0040 lsls r0, r0, #1 - 163ce: 3050 adds r0, #80 ; 0x50 - 163d0: 4b1f ldr r3, [pc, #124] ; (16450 ) - 163d2: fb83 2300 smull r2, r3, r3, r0 - 163d6: 17c2 asrs r2, r0, #31 - 163d8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 163dc: b212 sxth r2, r2 - 163de: e76f b.n 162c0 + 163aa: 2000 movs r0, #0 + 163ac: 4b20 ldr r3, [pc, #128] ; (16430 ) + 163ae: 4798 blx r3 + 163b0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 163b4: 0040 lsls r0, r0, #1 + 163b6: 3050 adds r0, #80 ; 0x50 + 163b8: 4b1f ldr r3, [pc, #124] ; (16438 ) + 163ba: fb83 2300 smull r2, r3, r3, r0 + 163be: 17c2 asrs r2, r0, #31 + 163c0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163c4: b212 sxth r2, r2 + 163c6: e76f b.n 162a8 lv_style_set_scale_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(25)); - 163e0: 2000 movs r0, #0 - 163e2: 4b19 ldr r3, [pc, #100] ; (16448 ) - 163e4: 4798 blx r3 - 163e6: eb00 0080 add.w r0, r0, r0, lsl #2 - 163ea: eb00 0080 add.w r0, r0, r0, lsl #2 - 163ee: 3050 adds r0, #80 ; 0x50 - 163f0: 4b17 ldr r3, [pc, #92] ; (16450 ) - 163f2: fb83 2300 smull r2, r3, r3, r0 - 163f6: 17c2 asrs r2, r0, #31 - 163f8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 163fc: b212 sxth r2, r2 - 163fe: e772 b.n 162e6 + 163c8: 2000 movs r0, #0 + 163ca: 4b19 ldr r3, [pc, #100] ; (16430 ) + 163cc: 4798 blx r3 + 163ce: eb00 0080 add.w r0, r0, r0, lsl #2 + 163d2: eb00 0080 add.w r0, r0, r0, lsl #2 + 163d6: 3050 adds r0, #80 ; 0x50 + 163d8: 4b17 ldr r3, [pc, #92] ; (16438 ) + 163da: fb83 2300 smull r2, r3, r3, r0 + 163de: 17c2 asrs r2, r0, #31 + 163e0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 163e4: b212 sxth r2, r2 + 163e6: e772 b.n 162ce lv_style_set_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(10)); - 16400: 2000 movs r0, #0 - 16402: 4b11 ldr r3, [pc, #68] ; (16448 ) - 16404: 4798 blx r3 - 16406: eb00 0080 add.w r0, r0, r0, lsl #2 - 1640a: 0040 lsls r0, r0, #1 - 1640c: 3050 adds r0, #80 ; 0x50 - 1640e: 4b10 ldr r3, [pc, #64] ; (16450 ) - 16410: fb83 2300 smull r2, r3, r3, r0 - 16414: 17c2 asrs r2, r0, #31 - 16416: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1641a: b212 sxth r2, r2 - 1641c: e78e b.n 1633c + 163e8: 2000 movs r0, #0 + 163ea: 4b11 ldr r3, [pc, #68] ; (16430 ) + 163ec: 4798 blx r3 + 163ee: eb00 0080 add.w r0, r0, r0, lsl #2 + 163f2: 0040 lsls r0, r0, #1 + 163f4: 3050 adds r0, #80 ; 0x50 + 163f6: 4b10 ldr r3, [pc, #64] ; (16438 ) + 163f8: fb83 2300 smull r2, r3, r3, r0 + 163fc: 17c2 asrs r2, r0, #31 + 163fe: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16402: b212 sxth r2, r2 + 16404: e78e b.n 16324 lv_style_set_scale_end_line_width(&styles->lmeter, LV_STATE_DEFAULT, LV_DPX(7)); - 1641e: 2000 movs r0, #0 - 16420: 4b09 ldr r3, [pc, #36] ; (16448 ) - 16422: 4798 blx r3 - 16424: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 16428: 3050 adds r0, #80 ; 0x50 - 1642a: 4b09 ldr r3, [pc, #36] ; (16450 ) - 1642c: fb83 2300 smull r2, r3, r3, r0 - 16430: 17c2 asrs r2, r0, #31 - 16432: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16436: b212 sxth r2, r2 - 16438: e791 b.n 1635e - 1643a: bf00 nop - 1643c: 20006bd8 .word 0x20006bd8 - 16440: 00014a61 .word 0x00014a61 - 16444: 000068e1 .word 0x000068e1 - 16448: 00010f3d .word 0x00010f3d - 1644c: 00006a25 .word 0x00006a25 - 16450: 66666667 .word 0x66666667 - -00016454 : -{ - 16454: b5f8 push {r3, r4, r5, r6, r7, lr} + 16406: 2000 movs r0, #0 + 16408: 4b09 ldr r3, [pc, #36] ; (16430 ) + 1640a: 4798 blx r3 + 1640c: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 16410: 3050 adds r0, #80 ; 0x50 + 16412: 4b09 ldr r3, [pc, #36] ; (16438 ) + 16414: fb83 2300 smull r2, r3, r3, r0 + 16418: 17c2 asrs r2, r0, #31 + 1641a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1641e: b212 sxth r2, r2 + 16420: e791 b.n 16346 + 16422: bf00 nop + 16424: 20006bd8 .word 0x20006bd8 + 16428: 00014a49 .word 0x00014a49 + 1642c: 000068c9 .word 0x000068c9 + 16430: 00010f25 .word 0x00010f25 + 16434: 00006a0d .word 0x00006a0d + 16438: 66666667 .word 0x66666667 + +0001643c : +{ + 1643c: b5f8 push {r3, r4, r5, r6, r7, lr} style_init_reset(&styles->gauge_main); - 16456: 4cc0 ldr r4, [pc, #768] ; (16758 ) - 16458: 6820 ldr r0, [r4, #0] - 1645a: 305c adds r0, #92 ; 0x5c - 1645c: 4bbf ldr r3, [pc, #764] ; (1675c ) - 1645e: 4798 blx r3 + 1643e: 4cc0 ldr r4, [pc, #768] ; (16740 ) + 16440: 6820 ldr r0, [r4, #0] + 16442: 305c adds r0, #92 ; 0x5c + 16444: 4bbf ldr r3, [pc, #764] ; (16744 ) + 16446: 4798 blx r3 lv_style_set_line_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 16460: 6820 ldr r0, [r4, #0] - 16462: 2511 movs r5, #17 - 16464: f04f 0200 mov.w r2, #0 - 16468: f365 0204 bfi r2, r5, #0, #5 - 1646c: 2722 movs r7, #34 ; 0x22 - 1646e: f367 124a bfi r2, r7, #5, #6 - 16472: f365 22cf bfi r2, r5, #11, #5 + 16448: 6820 ldr r0, [r4, #0] + 1644a: 2511 movs r5, #17 + 1644c: f04f 0200 mov.w r2, #0 + 16450: f365 0204 bfi r2, r5, #0, #5 + 16454: 2722 movs r7, #34 ; 0x22 + 16456: f367 124a bfi r2, r7, #5, #6 + 1645a: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16476: 2199 movs r1, #153 ; 0x99 - 16478: 305c adds r0, #92 ; 0x5c - 1647a: 4eb9 ldr r6, [pc, #740] ; (16760 ) - 1647c: 47b0 blx r6 + 1645e: 2199 movs r1, #153 ; 0x99 + 16460: 305c adds r0, #92 ; 0x5c + 16462: 4eb9 ldr r6, [pc, #740] ; (16748 ) + 16464: 47b0 blx r6 lv_style_set_scale_grad_color(&styles->gauge_main, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 1647e: 6820 ldr r0, [r4, #0] - 16480: f04f 0200 mov.w r2, #0 - 16484: f365 0204 bfi r2, r5, #0, #5 - 16488: f367 124a bfi r2, r7, #5, #6 - 1648c: f365 22cf bfi r2, r5, #11, #5 + 16466: 6820 ldr r0, [r4, #0] + 16468: f04f 0200 mov.w r2, #0 + 1646c: f365 0204 bfi r2, r5, #0, #5 + 16470: f367 124a bfi r2, r7, #5, #6 + 16474: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 16490: 21c9 movs r1, #201 ; 0xc9 - 16492: 305c adds r0, #92 ; 0x5c - 16494: 47b0 blx r6 + 16478: 21c9 movs r1, #201 ; 0xc9 + 1647a: 305c adds r0, #92 ; 0x5c + 1647c: 47b0 blx r6 lv_style_set_scale_end_color(&styles->gauge_main, LV_STATE_DEFAULT, theme.color_primary); - 16496: 6820 ldr r0, [r4, #0] + 1647e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 16498: 89a2 ldrh r2, [r4, #12] - 1649a: 21ca movs r1, #202 ; 0xca - 1649c: 305c adds r0, #92 ; 0x5c - 1649e: 47b0 blx r6 + 16480: 89a2 ldrh r2, [r4, #12] + 16482: 21ca movs r1, #202 ; 0xca + 16484: 305c adds r0, #92 ; 0x5c + 16486: 47b0 blx r6 lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5)); - 164a0: 6824 ldr r4, [r4, #0] - 164a2: 345c adds r4, #92 ; 0x5c - 164a4: 2000 movs r0, #0 - 164a6: 4baf ldr r3, [pc, #700] ; (16764 ) - 164a8: 4798 blx r3 - 164aa: eb00 0080 add.w r0, r0, r0, lsl #2 - 164ae: 3050 adds r0, #80 ; 0x50 - 164b0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 164b4: f280 8168 bge.w 16788 - 164b8: 2201 movs r2, #1 + 16488: 6824 ldr r4, [r4, #0] + 1648a: 345c adds r4, #92 ; 0x5c + 1648c: 2000 movs r0, #0 + 1648e: 4baf ldr r3, [pc, #700] ; (1674c ) + 16490: 4798 blx r3 + 16492: eb00 0080 add.w r0, r0, r0, lsl #2 + 16496: 3050 adds r0, #80 ; 0x50 + 16498: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1649c: f280 8168 bge.w 16770 + 164a0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 164ba: 2190 movs r1, #144 ; 0x90 - 164bc: 4620 mov r0, r4 - 164be: 4baa ldr r3, [pc, #680] ; (16768 ) - 164c0: 4798 blx r3 + 164a2: 2190 movs r1, #144 ; 0x90 + 164a4: 4620 mov r0, r4 + 164a6: 4baa ldr r3, [pc, #680] ; (16750 ) + 164a8: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4)); - 164c2: 4ba5 ldr r3, [pc, #660] ; (16758 ) - 164c4: 681c ldr r4, [r3, #0] - 164c6: 345c adds r4, #92 ; 0x5c - 164c8: 2000 movs r0, #0 - 164ca: 4ba6 ldr r3, [pc, #664] ; (16764 ) - 164cc: 4798 blx r3 - 164ce: 3014 adds r0, #20 - 164d0: 0080 lsls r0, r0, #2 - 164d2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 164d6: f280 8165 bge.w 167a4 - 164da: 2201 movs r2, #1 + 164aa: 4ba5 ldr r3, [pc, #660] ; (16740 ) + 164ac: 681c ldr r4, [r3, #0] + 164ae: 345c adds r4, #92 ; 0x5c + 164b0: 2000 movs r0, #0 + 164b2: 4ba6 ldr r3, [pc, #664] ; (1674c ) + 164b4: 4798 blx r3 + 164b6: 3014 adds r0, #20 + 164b8: 0080 lsls r0, r0, #2 + 164ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 164be: f280 8165 bge.w 1678c + 164c2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 164dc: 21c3 movs r1, #195 ; 0xc3 - 164de: 4620 mov r0, r4 - 164e0: 4ba1 ldr r3, [pc, #644] ; (16768 ) - 164e2: 4798 blx r3 + 164c4: 21c3 movs r1, #195 ; 0xc3 + 164c6: 4620 mov r0, r4 + 164c8: 4ba1 ldr r3, [pc, #644] ; (16750 ) + 164ca: 4798 blx r3 lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8)); - 164e4: 4b9c ldr r3, [pc, #624] ; (16758 ) - 164e6: 681c ldr r4, [r3, #0] - 164e8: 345c adds r4, #92 ; 0x5c - 164ea: 2000 movs r0, #0 - 164ec: 4b9d ldr r3, [pc, #628] ; (16764 ) - 164ee: 4798 blx r3 - 164f0: 300a adds r0, #10 - 164f2: 00c0 lsls r0, r0, #3 - 164f4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 164f8: f280 8161 bge.w 167be - 164fc: 2201 movs r2, #1 + 164cc: 4b9c ldr r3, [pc, #624] ; (16740 ) + 164ce: 681c ldr r4, [r3, #0] + 164d0: 345c adds r4, #92 ; 0x5c + 164d2: 2000 movs r0, #0 + 164d4: 4b9d ldr r3, [pc, #628] ; (1674c ) + 164d6: 4798 blx r3 + 164d8: 300a adds r0, #10 + 164da: 00c0 lsls r0, r0, #3 + 164dc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 164e0: f280 8161 bge.w 167a6 + 164e4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_BORDER_WIDTH, scale_end_border_width, lv_style_int_t, _int, scalar) - 164fe: 21c2 movs r1, #194 ; 0xc2 - 16500: 4620 mov r0, r4 - 16502: 4b99 ldr r3, [pc, #612] ; (16768 ) - 16504: 4798 blx r3 + 164e6: 21c2 movs r1, #194 ; 0xc2 + 164e8: 4620 mov r0, r4 + 164ea: 4b99 ldr r3, [pc, #612] ; (16750 ) + 164ec: 4798 blx r3 lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16506: 4b94 ldr r3, [pc, #592] ; (16758 ) - 16508: 681c ldr r4, [r3, #0] - 1650a: 345c adds r4, #92 ; 0x5c - 1650c: 2000 movs r0, #0 - 1650e: 4b95 ldr r3, [pc, #596] ; (16764 ) - 16510: 4798 blx r3 - 16512: eb00 0080 add.w r0, r0, r0, lsl #2 - 16516: 0080 lsls r0, r0, #2 - 16518: 3050 adds r0, #80 ; 0x50 - 1651a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1651e: f280 815b bge.w 167d8 - 16522: 2201 movs r2, #1 + 164ee: 4b94 ldr r3, [pc, #592] ; (16740 ) + 164f0: 681c ldr r4, [r3, #0] + 164f2: 345c adds r4, #92 ; 0x5c + 164f4: 2000 movs r0, #0 + 164f6: 4b95 ldr r3, [pc, #596] ; (1674c ) + 164f8: 4798 blx r3 + 164fa: eb00 0080 add.w r0, r0, r0, lsl #2 + 164fe: 0080 lsls r0, r0, #2 + 16500: 3050 adds r0, #80 ; 0x50 + 16502: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16506: f280 815b bge.w 167c0 + 1650a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 16524: 2112 movs r1, #18 - 16526: 4620 mov r0, r4 - 16528: 4b8f ldr r3, [pc, #572] ; (16768 ) - 1652a: 4798 blx r3 + 1650c: 2112 movs r1, #18 + 1650e: 4620 mov r0, r4 + 16510: 4b8f ldr r3, [pc, #572] ; (16750 ) + 16512: 4798 blx r3 lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 1652c: 4b8a ldr r3, [pc, #552] ; (16758 ) - 1652e: 681c ldr r4, [r3, #0] - 16530: 345c adds r4, #92 ; 0x5c - 16532: 2000 movs r0, #0 - 16534: 4b8b ldr r3, [pc, #556] ; (16764 ) - 16536: 4798 blx r3 - 16538: eb00 0080 add.w r0, r0, r0, lsl #2 - 1653c: 0080 lsls r0, r0, #2 - 1653e: 3050 adds r0, #80 ; 0x50 - 16540: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16544: f280 8157 bge.w 167f6 - 16548: 2201 movs r2, #1 + 16514: 4b8a ldr r3, [pc, #552] ; (16740 ) + 16516: 681c ldr r4, [r3, #0] + 16518: 345c adds r4, #92 ; 0x5c + 1651a: 2000 movs r0, #0 + 1651c: 4b8b ldr r3, [pc, #556] ; (1674c ) + 1651e: 4798 blx r3 + 16520: eb00 0080 add.w r0, r0, r0, lsl #2 + 16524: 0080 lsls r0, r0, #2 + 16526: 3050 adds r0, #80 ; 0x50 + 16528: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1652c: f280 8157 bge.w 167de + 16530: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1654a: 2113 movs r1, #19 - 1654c: 4620 mov r0, r4 - 1654e: 4b86 ldr r3, [pc, #536] ; (16768 ) - 16550: 4798 blx r3 + 16532: 2113 movs r1, #19 + 16534: 4620 mov r0, r4 + 16536: 4b86 ldr r3, [pc, #536] ; (16750 ) + 16538: 4798 blx r3 lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16552: 4b81 ldr r3, [pc, #516] ; (16758 ) - 16554: 681c ldr r4, [r3, #0] - 16556: 345c adds r4, #92 ; 0x5c - 16558: 2000 movs r0, #0 - 1655a: 4b82 ldr r3, [pc, #520] ; (16764 ) - 1655c: 4798 blx r3 - 1655e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16562: 0080 lsls r0, r0, #2 - 16564: 3050 adds r0, #80 ; 0x50 - 16566: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1656a: f280 8153 bge.w 16814 - 1656e: 2201 movs r2, #1 + 1653a: 4b81 ldr r3, [pc, #516] ; (16740 ) + 1653c: 681c ldr r4, [r3, #0] + 1653e: 345c adds r4, #92 ; 0x5c + 16540: 2000 movs r0, #0 + 16542: 4b82 ldr r3, [pc, #520] ; (1674c ) + 16544: 4798 blx r3 + 16546: eb00 0080 add.w r0, r0, r0, lsl #2 + 1654a: 0080 lsls r0, r0, #2 + 1654c: 3050 adds r0, #80 ; 0x50 + 1654e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16552: f280 8153 bge.w 167fc + 16556: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 16570: 2110 movs r1, #16 - 16572: 4620 mov r0, r4 - 16574: 4b7c ldr r3, [pc, #496] ; (16768 ) - 16576: 4798 blx r3 + 16558: 2110 movs r1, #16 + 1655a: 4620 mov r0, r4 + 1655c: 4b7c ldr r3, [pc, #496] ; (16750 ) + 1655e: 4798 blx r3 lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16578: 4b77 ldr r3, [pc, #476] ; (16758 ) - 1657a: 681c ldr r4, [r3, #0] - 1657c: 345c adds r4, #92 ; 0x5c - 1657e: 2000 movs r0, #0 - 16580: 4b78 ldr r3, [pc, #480] ; (16764 ) - 16582: 4798 blx r3 - 16584: eb00 0080 add.w r0, r0, r0, lsl #2 - 16588: 0080 lsls r0, r0, #2 - 1658a: 3050 adds r0, #80 ; 0x50 - 1658c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16590: f280 814f bge.w 16832 - 16594: 2201 movs r2, #1 + 16560: 4b77 ldr r3, [pc, #476] ; (16740 ) + 16562: 681c ldr r4, [r3, #0] + 16564: 345c adds r4, #92 ; 0x5c + 16566: 2000 movs r0, #0 + 16568: 4b78 ldr r3, [pc, #480] ; (1674c ) + 1656a: 4798 blx r3 + 1656c: eb00 0080 add.w r0, r0, r0, lsl #2 + 16570: 0080 lsls r0, r0, #2 + 16572: 3050 adds r0, #80 ; 0x50 + 16574: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16578: f280 814f bge.w 1681a + 1657c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 16596: 2114 movs r1, #20 - 16598: 4620 mov r0, r4 - 1659a: 4b73 ldr r3, [pc, #460] ; (16768 ) - 1659c: 4798 blx r3 + 1657e: 2114 movs r1, #20 + 16580: 4620 mov r0, r4 + 16582: 4b73 ldr r3, [pc, #460] ; (16750 ) + 16584: 4798 blx r3 lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15)); - 1659e: 4b6e ldr r3, [pc, #440] ; (16758 ) - 165a0: 681c ldr r4, [r3, #0] - 165a2: 345c adds r4, #92 ; 0x5c - 165a4: 2000 movs r0, #0 - 165a6: 4b6f ldr r3, [pc, #444] ; (16764 ) - 165a8: 4798 blx r3 - 165aa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 165ae: 3050 adds r0, #80 ; 0x50 - 165b0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 165b4: f280 814c bge.w 16850 - 165b8: 2201 movs r2, #1 + 16586: 4b6e ldr r3, [pc, #440] ; (16740 ) + 16588: 681c ldr r4, [r3, #0] + 1658a: 345c adds r4, #92 ; 0x5c + 1658c: 2000 movs r0, #0 + 1658e: 4b6f ldr r3, [pc, #444] ; (1674c ) + 16590: 4798 blx r3 + 16592: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16596: 3050 adds r0, #80 ; 0x50 + 16598: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1659c: f280 814c bge.w 16838 + 165a0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 165ba: 21c0 movs r1, #192 ; 0xc0 - 165bc: 4620 mov r0, r4 - 165be: 4d6a ldr r5, [pc, #424] ; (16768 ) - 165c0: 47a8 blx r5 + 165a2: 21c0 movs r1, #192 ; 0xc0 + 165a4: 4620 mov r0, r4 + 165a6: 4d6a ldr r5, [pc, #424] ; (16750 ) + 165a8: 47a8 blx r5 lv_style_set_radius(&styles->gauge_main, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 165c2: 4c65 ldr r4, [pc, #404] ; (16758 ) - 165c4: 6820 ldr r0, [r4, #0] + 165aa: 4c65 ldr r4, [pc, #404] ; (16740 ) + 165ac: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 165c6: f647 72ff movw r2, #32767 ; 0x7fff - 165ca: 2101 movs r1, #1 - 165cc: 305c adds r0, #92 ; 0x5c - 165ce: 47a8 blx r5 + 165ae: f647 72ff movw r2, #32767 ; 0x7fff + 165b2: 2101 movs r1, #1 + 165b4: 305c adds r0, #92 ; 0x5c + 165b6: 47a8 blx r5 style_init_reset(&styles->gauge_strong); - 165d0: 6820 ldr r0, [r4, #0] - 165d2: 3060 adds r0, #96 ; 0x60 - 165d4: 4b61 ldr r3, [pc, #388] ; (1675c ) - 165d6: 4798 blx r3 + 165b8: 6820 ldr r0, [r4, #0] + 165ba: 3060 adds r0, #96 ; 0x60 + 165bc: 4b61 ldr r3, [pc, #388] ; (16744 ) + 165be: 4798 blx r3 lv_style_set_line_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 165d8: 6820 ldr r0, [r4, #0] - 165da: 2511 movs r5, #17 - 165dc: f04f 0200 mov.w r2, #0 - 165e0: f365 0204 bfi r2, r5, #0, #5 - 165e4: 2722 movs r7, #34 ; 0x22 - 165e6: f367 124a bfi r2, r7, #5, #6 - 165ea: f365 22cf bfi r2, r5, #11, #5 + 165c0: 6820 ldr r0, [r4, #0] + 165c2: 2511 movs r5, #17 + 165c4: f04f 0200 mov.w r2, #0 + 165c8: f365 0204 bfi r2, r5, #0, #5 + 165cc: 2722 movs r7, #34 ; 0x22 + 165ce: f367 124a bfi r2, r7, #5, #6 + 165d2: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 165ee: 2199 movs r1, #153 ; 0x99 - 165f0: 3060 adds r0, #96 ; 0x60 - 165f2: 4e5b ldr r6, [pc, #364] ; (16760 ) - 165f4: 47b0 blx r6 + 165d6: 2199 movs r1, #153 ; 0x99 + 165d8: 3060 adds r0, #96 ; 0x60 + 165da: 4e5b ldr r6, [pc, #364] ; (16748 ) + 165dc: 47b0 blx r6 lv_style_set_scale_grad_color(&styles->gauge_strong, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 165f6: 6820 ldr r0, [r4, #0] - 165f8: f04f 0200 mov.w r2, #0 - 165fc: f365 0204 bfi r2, r5, #0, #5 - 16600: f367 124a bfi r2, r7, #5, #6 - 16604: f365 22cf bfi r2, r5, #11, #5 + 165de: 6820 ldr r0, [r4, #0] + 165e0: f04f 0200 mov.w r2, #0 + 165e4: f365 0204 bfi r2, r5, #0, #5 + 165e8: f367 124a bfi r2, r7, #5, #6 + 165ec: f365 22cf bfi r2, r5, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_GRAD_COLOR, scale_grad_color, lv_color_t, _color, nonscalar) - 16608: 21c9 movs r1, #201 ; 0xc9 - 1660a: 3060 adds r0, #96 ; 0x60 - 1660c: 47b0 blx r6 + 165f0: 21c9 movs r1, #201 ; 0xc9 + 165f2: 3060 adds r0, #96 ; 0x60 + 165f4: 47b0 blx r6 lv_style_set_scale_end_color(&styles->gauge_strong, LV_STATE_DEFAULT, theme.color_primary); - 1660e: 6820 ldr r0, [r4, #0] + 165f6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_COLOR, scale_end_color, lv_color_t, _color, nonscalar) - 16610: 89a2 ldrh r2, [r4, #12] - 16612: 21ca movs r1, #202 ; 0xca - 16614: 3060 adds r0, #96 ; 0x60 - 16616: 47b0 blx r6 + 165f8: 89a2 ldrh r2, [r4, #12] + 165fa: 21ca movs r1, #202 ; 0xca + 165fc: 3060 adds r0, #96 ; 0x60 + 165fe: 47b0 blx r6 lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16618: 6824 ldr r4, [r4, #0] - 1661a: 3460 adds r4, #96 ; 0x60 - 1661c: 2000 movs r0, #0 - 1661e: 4b51 ldr r3, [pc, #324] ; (16764 ) - 16620: 4798 blx r3 - 16622: 300a adds r0, #10 - 16624: 00c0 lsls r0, r0, #3 - 16626: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1662a: f280 811f bge.w 1686c - 1662e: 2201 movs r2, #1 + 16600: 6824 ldr r4, [r4, #0] + 16602: 3460 adds r4, #96 ; 0x60 + 16604: 2000 movs r0, #0 + 16606: 4b51 ldr r3, [pc, #324] ; (1674c ) + 16608: 4798 blx r3 + 1660a: 300a adds r0, #10 + 1660c: 00c0 lsls r0, r0, #3 + 1660e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16612: f280 811f bge.w 16854 + 16616: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16630: 2190 movs r1, #144 ; 0x90 - 16632: 4620 mov r0, r4 - 16634: 4b4c ldr r3, [pc, #304] ; (16768 ) - 16636: 4798 blx r3 + 16618: 2190 movs r1, #144 ; 0x90 + 1661a: 4620 mov r0, r4 + 1661c: 4b4c ldr r3, [pc, #304] ; (16750 ) + 1661e: 4798 blx r3 lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16638: 4b47 ldr r3, [pc, #284] ; (16758 ) - 1663a: 681c ldr r4, [r3, #0] - 1663c: 3460 adds r4, #96 ; 0x60 - 1663e: 2000 movs r0, #0 - 16640: 4b48 ldr r3, [pc, #288] ; (16764 ) - 16642: 4798 blx r3 - 16644: 300a adds r0, #10 - 16646: 00c0 lsls r0, r0, #3 - 16648: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1664c: f280 811b bge.w 16886 - 16650: 2201 movs r2, #1 + 16620: 4b47 ldr r3, [pc, #284] ; (16740 ) + 16622: 681c ldr r4, [r3, #0] + 16624: 3460 adds r4, #96 ; 0x60 + 16626: 2000 movs r0, #0 + 16628: 4b48 ldr r3, [pc, #288] ; (1674c ) + 1662a: 4798 blx r3 + 1662c: 300a adds r0, #10 + 1662e: 00c0 lsls r0, r0, #3 + 16630: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16634: f280 811b bge.w 1686e + 16638: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t, _int, scalar) - 16652: 21c3 movs r1, #195 ; 0xc3 - 16654: 4620 mov r0, r4 - 16656: 4b44 ldr r3, [pc, #272] ; (16768 ) - 16658: 4798 blx r3 + 1663a: 21c3 movs r1, #195 ; 0xc3 + 1663c: 4620 mov r0, r4 + 1663e: 4b44 ldr r3, [pc, #272] ; (16750 ) + 16640: 4798 blx r3 lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25)); - 1665a: 4b3f ldr r3, [pc, #252] ; (16758 ) - 1665c: 681c ldr r4, [r3, #0] - 1665e: 3460 adds r4, #96 ; 0x60 - 16660: 2000 movs r0, #0 - 16662: 4b40 ldr r3, [pc, #256] ; (16764 ) - 16664: 4798 blx r3 - 16666: eb00 0080 add.w r0, r0, r0, lsl #2 - 1666a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1666e: 3050 adds r0, #80 ; 0x50 - 16670: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16674: f280 8114 bge.w 168a0 - 16678: 2201 movs r2, #1 + 16642: 4b3f ldr r3, [pc, #252] ; (16740 ) + 16644: 681c ldr r4, [r3, #0] + 16646: 3460 adds r4, #96 ; 0x60 + 16648: 2000 movs r0, #0 + 1664a: 4b40 ldr r3, [pc, #256] ; (1674c ) + 1664c: 4798 blx r3 + 1664e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16652: eb00 0080 add.w r0, r0, r0, lsl #2 + 16656: 3050 adds r0, #80 ; 0x50 + 16658: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1665c: f280 8114 bge.w 16888 + 16660: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 1667a: 21c0 movs r1, #192 ; 0xc0 - 1667c: 4620 mov r0, r4 - 1667e: 4b3a ldr r3, [pc, #232] ; (16768 ) - 16680: 4798 blx r3 + 16662: 21c0 movs r1, #192 ; 0xc0 + 16664: 4620 mov r0, r4 + 16666: 4b3a ldr r3, [pc, #232] ; (16750 ) + 16668: 4798 blx r3 style_init_reset(&styles->gauge_needle); - 16682: 4c35 ldr r4, [pc, #212] ; (16758 ) - 16684: 6820 ldr r0, [r4, #0] - 16686: 3064 adds r0, #100 ; 0x64 - 16688: 4b34 ldr r3, [pc, #208] ; (1675c ) - 1668a: 4798 blx r3 + 1666a: 4c35 ldr r4, [pc, #212] ; (16740 ) + 1666c: 6820 ldr r0, [r4, #0] + 1666e: 3064 adds r0, #100 ; 0x64 + 16670: 4b34 ldr r3, [pc, #208] ; (16744 ) + 16672: 4798 blx r3 lv_style_set_line_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE); - 1668c: 6820 ldr r0, [r4, #0] - 1668e: 3064 adds r0, #100 ; 0x64 - 16690: 6a23 ldr r3, [r4, #32] - 16692: f013 0f02 tst.w r3, #2 - 16696: f040 8113 bne.w 168c0 - 1669a: 231f movs r3, #31 - 1669c: 213f movs r1, #63 ; 0x3f - 1669e: 461c mov r4, r3 - 166a0: f04f 0200 mov.w r2, #0 - 166a4: f364 0204 bfi r2, r4, #0, #5 - 166a8: f361 124a bfi r2, r1, #5, #6 - 166ac: f363 22cf bfi r2, r3, #11, #5 + 16674: 6820 ldr r0, [r4, #0] + 16676: 3064 adds r0, #100 ; 0x64 + 16678: 6a23 ldr r3, [r4, #32] + 1667a: f013 0f02 tst.w r3, #2 + 1667e: f040 8113 bne.w 168a8 + 16682: 231f movs r3, #31 + 16684: 213f movs r1, #63 ; 0x3f + 16686: 461c mov r4, r3 + 16688: f04f 0200 mov.w r2, #0 + 1668c: f364 0204 bfi r2, r4, #0, #5 + 16690: f361 124a bfi r2, r1, #5, #6 + 16694: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 166b0: 2199 movs r1, #153 ; 0x99 - 166b2: 4b2b ldr r3, [pc, #172] ; (16760 ) - 166b4: 4798 blx r3 + 16698: 2199 movs r1, #153 ; 0x99 + 1669a: 4b2b ldr r3, [pc, #172] ; (16748 ) + 1669c: 4798 blx r3 lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8)); - 166b6: 4b28 ldr r3, [pc, #160] ; (16758 ) - 166b8: 681c ldr r4, [r3, #0] - 166ba: 3464 adds r4, #100 ; 0x64 - 166bc: 2000 movs r0, #0 - 166be: 4b29 ldr r3, [pc, #164] ; (16764 ) - 166c0: 4798 blx r3 - 166c2: 300a adds r0, #10 - 166c4: 00c0 lsls r0, r0, #3 - 166c6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 166ca: f280 80fd bge.w 168c8 - 166ce: 2201 movs r2, #1 + 1669e: 4b28 ldr r3, [pc, #160] ; (16740 ) + 166a0: 681c ldr r4, [r3, #0] + 166a2: 3464 adds r4, #100 ; 0x64 + 166a4: 2000 movs r0, #0 + 166a6: 4b29 ldr r3, [pc, #164] ; (1674c ) + 166a8: 4798 blx r3 + 166aa: 300a adds r0, #10 + 166ac: 00c0 lsls r0, r0, #3 + 166ae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 166b2: f280 80fd bge.w 168b0 + 166b6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 166d0: 2190 movs r1, #144 ; 0x90 - 166d2: 4620 mov r0, r4 - 166d4: 4b24 ldr r3, [pc, #144] ; (16768 ) - 166d6: 4798 blx r3 + 166b8: 2190 movs r1, #144 ; 0x90 + 166ba: 4620 mov r0, r4 + 166bc: 4b24 ldr r3, [pc, #144] ; (16750 ) + 166be: 4798 blx r3 lv_style_set_bg_opa(&styles->gauge_needle, LV_STATE_DEFAULT, LV_OPA_COVER); - 166d8: 4c1f ldr r4, [pc, #124] ; (16758 ) - 166da: 6820 ldr r0, [r4, #0] + 166c0: 4c1f ldr r4, [pc, #124] ; (16740 ) + 166c2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 166dc: 22ff movs r2, #255 ; 0xff - 166de: 212c movs r1, #44 ; 0x2c - 166e0: 3064 adds r0, #100 ; 0x64 - 166e2: 4b22 ldr r3, [pc, #136] ; (1676c ) - 166e4: 4798 blx r3 + 166c4: 22ff movs r2, #255 ; 0xff + 166c6: 212c movs r1, #44 ; 0x2c + 166c8: 3064 adds r0, #100 ; 0x64 + 166ca: 4b22 ldr r3, [pc, #136] ; (16754 ) + 166cc: 4798 blx r3 lv_style_set_bg_color(&styles->gauge_needle, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x464b5b) : LV_COLOR_WHITE); - 166e6: 6820 ldr r0, [r4, #0] - 166e8: 3064 adds r0, #100 ; 0x64 - 166ea: 6a23 ldr r3, [r4, #32] - 166ec: f013 0f02 tst.w r3, #2 - 166f0: f040 80f7 bne.w 168e2 - 166f4: 231f movs r3, #31 - 166f6: 213f movs r1, #63 ; 0x3f - 166f8: 461c mov r4, r3 - 166fa: f04f 0200 mov.w r2, #0 - 166fe: f364 0204 bfi r2, r4, #0, #5 - 16702: f361 124a bfi r2, r1, #5, #6 - 16706: f363 22cf bfi r2, r3, #11, #5 + 166ce: 6820 ldr r0, [r4, #0] + 166d0: 3064 adds r0, #100 ; 0x64 + 166d2: 6a23 ldr r3, [r4, #32] + 166d4: f013 0f02 tst.w r3, #2 + 166d8: f040 80f7 bne.w 168ca + 166dc: 231f movs r3, #31 + 166de: 213f movs r1, #63 ; 0x3f + 166e0: 461c mov r4, r3 + 166e2: f04f 0200 mov.w r2, #0 + 166e6: f364 0204 bfi r2, r4, #0, #5 + 166ea: f361 124a bfi r2, r1, #5, #6 + 166ee: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1670a: 2129 movs r1, #41 ; 0x29 - 1670c: 4b14 ldr r3, [pc, #80] ; (16760 ) - 1670e: 4798 blx r3 + 166f2: 2129 movs r1, #41 ; 0x29 + 166f4: 4b14 ldr r3, [pc, #80] ; (16748 ) + 166f6: 4798 blx r3 lv_style_set_radius(&styles->gauge_needle, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16710: 4c11 ldr r4, [pc, #68] ; (16758 ) - 16712: 6820 ldr r0, [r4, #0] + 166f8: 4c11 ldr r4, [pc, #68] ; (16740 ) + 166fa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16714: f647 72ff movw r2, #32767 ; 0x7fff - 16718: 2101 movs r1, #1 - 1671a: 3064 adds r0, #100 ; 0x64 - 1671c: 4b12 ldr r3, [pc, #72] ; (16768 ) - 1671e: 4798 blx r3 + 166fc: f647 72ff movw r2, #32767 ; 0x7fff + 16700: 2101 movs r1, #1 + 16702: 3064 adds r0, #100 ; 0x64 + 16704: 4b12 ldr r3, [pc, #72] ; (16750 ) + 16706: 4798 blx r3 lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30)); - 16720: 6824 ldr r4, [r4, #0] - 16722: 3464 adds r4, #100 ; 0x64 - 16724: 2000 movs r0, #0 - 16726: 4b0f ldr r3, [pc, #60] ; (16764 ) - 16728: 4798 blx r3 - 1672a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1672e: 0040 lsls r0, r0, #1 - 16730: 3050 adds r0, #80 ; 0x50 - 16732: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16736: f280 80d8 bge.w 168ea - 1673a: 2201 movs r2, #1 + 16708: 6824 ldr r4, [r4, #0] + 1670a: 3464 adds r4, #100 ; 0x64 + 1670c: 2000 movs r0, #0 + 1670e: 4b0f ldr r3, [pc, #60] ; (1674c ) + 16710: 4798 blx r3 + 16712: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16716: 0040 lsls r0, r0, #1 + 16718: 3050 adds r0, #80 ; 0x50 + 1671a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1671e: f280 80d8 bge.w 168d2 + 16722: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 1673c: 2103 movs r1, #3 - 1673e: 4620 mov r0, r4 - 16740: 4b09 ldr r3, [pc, #36] ; (16768 ) - 16742: 4798 blx r3 + 16724: 2103 movs r1, #3 + 16726: 4620 mov r0, r4 + 16728: 4b09 ldr r3, [pc, #36] ; (16750 ) + 1672a: 4798 blx r3 lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10)); - 16744: 4b04 ldr r3, [pc, #16] ; (16758 ) - 16746: 681c ldr r4, [r3, #0] - 16748: 3464 adds r4, #100 ; 0x64 - 1674a: 2000 movs r0, #0 - 1674c: 4b05 ldr r3, [pc, #20] ; (16764 ) - 1674e: 4798 blx r3 - 16750: eb00 0080 add.w r0, r0, r0, lsl #2 - 16754: e00c b.n 16770 - 16756: bf00 nop - 16758: 20006bd8 .word 0x20006bd8 - 1675c: 00014a61 .word 0x00014a61 - 16760: 00006a25 .word 0x00006a25 - 16764: 00010f3d .word 0x00010f3d - 16768: 000068e1 .word 0x000068e1 - 1676c: 00006b69 .word 0x00006b69 - 16770: 0040 lsls r0, r0, #1 - 16772: 3050 adds r0, #80 ; 0x50 - 16774: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16778: f280 80c6 bge.w 16908 - 1677c: 2201 movs r2, #1 + 1672c: 4b04 ldr r3, [pc, #16] ; (16740 ) + 1672e: 681c ldr r4, [r3, #0] + 16730: 3464 adds r4, #100 ; 0x64 + 16732: 2000 movs r0, #0 + 16734: 4b05 ldr r3, [pc, #20] ; (1674c ) + 16736: 4798 blx r3 + 16738: eb00 0080 add.w r0, r0, r0, lsl #2 + 1673c: e00c b.n 16758 + 1673e: bf00 nop + 16740: 20006bd8 .word 0x20006bd8 + 16744: 00014a49 .word 0x00014a49 + 16748: 00006a0d .word 0x00006a0d + 1674c: 00010f25 .word 0x00010f25 + 16750: 000068c9 .word 0x000068c9 + 16754: 00006b51 .word 0x00006b51 + 16758: 0040 lsls r0, r0, #1 + 1675a: 3050 adds r0, #80 ; 0x50 + 1675c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16760: f280 80c6 bge.w 168f0 + 16764: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1677e: 2114 movs r1, #20 - 16780: 4620 mov r0, r4 - 16782: 4b69 ldr r3, [pc, #420] ; (16928 ) - 16784: 4798 blx r3 - 16786: bdf8 pop {r3, r4, r5, r6, r7, pc} + 16766: 2114 movs r1, #20 + 16768: 4620 mov r0, r4 + 1676a: 4b69 ldr r3, [pc, #420] ; (16910 ) + 1676c: 4798 blx r3 + 1676e: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_set_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(5)); - 16788: 2000 movs r0, #0 - 1678a: 4b68 ldr r3, [pc, #416] ; (1692c ) - 1678c: 4798 blx r3 - 1678e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16792: 3050 adds r0, #80 ; 0x50 - 16794: 4b66 ldr r3, [pc, #408] ; (16930 ) - 16796: fb83 2300 smull r2, r3, r3, r0 - 1679a: 17c2 asrs r2, r0, #31 - 1679c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 167a0: b212 sxth r2, r2 - 167a2: e68a b.n 164ba + 16770: 2000 movs r0, #0 + 16772: 4b68 ldr r3, [pc, #416] ; (16914 ) + 16774: 4798 blx r3 + 16776: eb00 0080 add.w r0, r0, r0, lsl #2 + 1677a: 3050 adds r0, #80 ; 0x50 + 1677c: 4b66 ldr r3, [pc, #408] ; (16918 ) + 1677e: fb83 2300 smull r2, r3, r3, r0 + 16782: 17c2 asrs r2, r0, #31 + 16784: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16788: b212 sxth r2, r2 + 1678a: e68a b.n 164a2 lv_style_set_scale_end_line_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(4)); - 167a4: 2000 movs r0, #0 - 167a6: 4b61 ldr r3, [pc, #388] ; (1692c ) - 167a8: 4798 blx r3 - 167aa: 3014 adds r0, #20 - 167ac: 0080 lsls r0, r0, #2 - 167ae: 4b60 ldr r3, [pc, #384] ; (16930 ) - 167b0: fb83 2300 smull r2, r3, r3, r0 - 167b4: 17c2 asrs r2, r0, #31 - 167b6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 167ba: b212 sxth r2, r2 - 167bc: e68e b.n 164dc + 1678c: 2000 movs r0, #0 + 1678e: 4b61 ldr r3, [pc, #388] ; (16914 ) + 16790: 4798 blx r3 + 16792: 3014 adds r0, #20 + 16794: 0080 lsls r0, r0, #2 + 16796: 4b60 ldr r3, [pc, #384] ; (16918 ) + 16798: fb83 2300 smull r2, r3, r3, r0 + 1679c: 17c2 asrs r2, r0, #31 + 1679e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167a2: b212 sxth r2, r2 + 167a4: e68e b.n 164c4 lv_style_set_scale_end_border_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(8)); - 167be: 2000 movs r0, #0 - 167c0: 4b5a ldr r3, [pc, #360] ; (1692c ) - 167c2: 4798 blx r3 - 167c4: 300a adds r0, #10 - 167c6: 00c0 lsls r0, r0, #3 - 167c8: 4b59 ldr r3, [pc, #356] ; (16930 ) - 167ca: fb83 2300 smull r2, r3, r3, r0 - 167ce: 17c2 asrs r2, r0, #31 - 167d0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 167d4: b212 sxth r2, r2 - 167d6: e692 b.n 164fe + 167a6: 2000 movs r0, #0 + 167a8: 4b5a ldr r3, [pc, #360] ; (16914 ) + 167aa: 4798 blx r3 + 167ac: 300a adds r0, #10 + 167ae: 00c0 lsls r0, r0, #3 + 167b0: 4b59 ldr r3, [pc, #356] ; (16918 ) + 167b2: fb83 2300 smull r2, r3, r3, r0 + 167b6: 17c2 asrs r2, r0, #31 + 167b8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167bc: b212 sxth r2, r2 + 167be: e692 b.n 164e6 lv_style_set_pad_left(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 167d8: 2000 movs r0, #0 - 167da: 4b54 ldr r3, [pc, #336] ; (1692c ) - 167dc: 4798 blx r3 - 167de: eb00 0080 add.w r0, r0, r0, lsl #2 - 167e2: 0080 lsls r0, r0, #2 - 167e4: 3050 adds r0, #80 ; 0x50 - 167e6: 4b52 ldr r3, [pc, #328] ; (16930 ) - 167e8: fb83 2300 smull r2, r3, r3, r0 - 167ec: 17c2 asrs r2, r0, #31 - 167ee: ebc2 12a3 rsb r2, r2, r3, asr #6 - 167f2: b212 sxth r2, r2 - 167f4: e696 b.n 16524 + 167c0: 2000 movs r0, #0 + 167c2: 4b54 ldr r3, [pc, #336] ; (16914 ) + 167c4: 4798 blx r3 + 167c6: eb00 0080 add.w r0, r0, r0, lsl #2 + 167ca: 0080 lsls r0, r0, #2 + 167cc: 3050 adds r0, #80 ; 0x50 + 167ce: 4b52 ldr r3, [pc, #328] ; (16918 ) + 167d0: fb83 2300 smull r2, r3, r3, r0 + 167d4: 17c2 asrs r2, r0, #31 + 167d6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167da: b212 sxth r2, r2 + 167dc: e696 b.n 1650c lv_style_set_pad_right(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 167f6: 2000 movs r0, #0 - 167f8: 4b4c ldr r3, [pc, #304] ; (1692c ) - 167fa: 4798 blx r3 - 167fc: eb00 0080 add.w r0, r0, r0, lsl #2 - 16800: 0080 lsls r0, r0, #2 - 16802: 3050 adds r0, #80 ; 0x50 - 16804: 4b4a ldr r3, [pc, #296] ; (16930 ) - 16806: fb83 2300 smull r2, r3, r3, r0 - 1680a: 17c2 asrs r2, r0, #31 - 1680c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16810: b212 sxth r2, r2 - 16812: e69a b.n 1654a + 167de: 2000 movs r0, #0 + 167e0: 4b4c ldr r3, [pc, #304] ; (16914 ) + 167e2: 4798 blx r3 + 167e4: eb00 0080 add.w r0, r0, r0, lsl #2 + 167e8: 0080 lsls r0, r0, #2 + 167ea: 3050 adds r0, #80 ; 0x50 + 167ec: 4b4a ldr r3, [pc, #296] ; (16918 ) + 167ee: fb83 2300 smull r2, r3, r3, r0 + 167f2: 17c2 asrs r2, r0, #31 + 167f4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 167f8: b212 sxth r2, r2 + 167fa: e69a b.n 16532 lv_style_set_pad_top(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16814: 2000 movs r0, #0 - 16816: 4b45 ldr r3, [pc, #276] ; (1692c ) - 16818: 4798 blx r3 - 1681a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1681e: 0080 lsls r0, r0, #2 - 16820: 3050 adds r0, #80 ; 0x50 - 16822: 4b43 ldr r3, [pc, #268] ; (16930 ) - 16824: fb83 2300 smull r2, r3, r3, r0 - 16828: 17c2 asrs r2, r0, #31 - 1682a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1682e: b212 sxth r2, r2 - 16830: e69e b.n 16570 + 167fc: 2000 movs r0, #0 + 167fe: 4b45 ldr r3, [pc, #276] ; (16914 ) + 16800: 4798 blx r3 + 16802: eb00 0080 add.w r0, r0, r0, lsl #2 + 16806: 0080 lsls r0, r0, #2 + 16808: 3050 adds r0, #80 ; 0x50 + 1680a: 4b43 ldr r3, [pc, #268] ; (16918 ) + 1680c: fb83 2300 smull r2, r3, r3, r0 + 16810: 17c2 asrs r2, r0, #31 + 16812: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16816: b212 sxth r2, r2 + 16818: e69e b.n 16558 lv_style_set_pad_inner(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(20)); - 16832: 2000 movs r0, #0 - 16834: 4b3d ldr r3, [pc, #244] ; (1692c ) - 16836: 4798 blx r3 - 16838: eb00 0080 add.w r0, r0, r0, lsl #2 - 1683c: 0080 lsls r0, r0, #2 - 1683e: 3050 adds r0, #80 ; 0x50 - 16840: 4b3b ldr r3, [pc, #236] ; (16930 ) - 16842: fb83 2300 smull r2, r3, r3, r0 - 16846: 17c2 asrs r2, r0, #31 - 16848: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1684c: b212 sxth r2, r2 - 1684e: e6a2 b.n 16596 + 1681a: 2000 movs r0, #0 + 1681c: 4b3d ldr r3, [pc, #244] ; (16914 ) + 1681e: 4798 blx r3 + 16820: eb00 0080 add.w r0, r0, r0, lsl #2 + 16824: 0080 lsls r0, r0, #2 + 16826: 3050 adds r0, #80 ; 0x50 + 16828: 4b3b ldr r3, [pc, #236] ; (16918 ) + 1682a: fb83 2300 smull r2, r3, r3, r0 + 1682e: 17c2 asrs r2, r0, #31 + 16830: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16834: b212 sxth r2, r2 + 16836: e6a2 b.n 1657e lv_style_set_scale_width(&styles->gauge_main, LV_STATE_DEFAULT, LV_DPX(15)); - 16850: 2000 movs r0, #0 - 16852: 4b36 ldr r3, [pc, #216] ; (1692c ) - 16854: 4798 blx r3 - 16856: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1685a: 3050 adds r0, #80 ; 0x50 - 1685c: 4b34 ldr r3, [pc, #208] ; (16930 ) - 1685e: fb83 2300 smull r2, r3, r3, r0 - 16862: 17c2 asrs r2, r0, #31 - 16864: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16868: b212 sxth r2, r2 - 1686a: e6a6 b.n 165ba + 16838: 2000 movs r0, #0 + 1683a: 4b36 ldr r3, [pc, #216] ; (16914 ) + 1683c: 4798 blx r3 + 1683e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16842: 3050 adds r0, #80 ; 0x50 + 16844: 4b34 ldr r3, [pc, #208] ; (16918 ) + 16846: fb83 2300 smull r2, r3, r3, r0 + 1684a: 17c2 asrs r2, r0, #31 + 1684c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16850: b212 sxth r2, r2 + 16852: e6a6 b.n 165a2 lv_style_set_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 1686c: 2000 movs r0, #0 - 1686e: 4b2f ldr r3, [pc, #188] ; (1692c ) - 16870: 4798 blx r3 - 16872: 300a adds r0, #10 - 16874: 00c0 lsls r0, r0, #3 - 16876: 4b2e ldr r3, [pc, #184] ; (16930 ) - 16878: fb83 2300 smull r2, r3, r3, r0 - 1687c: 17c2 asrs r2, r0, #31 - 1687e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16882: b212 sxth r2, r2 - 16884: e6d4 b.n 16630 + 16854: 2000 movs r0, #0 + 16856: 4b2f ldr r3, [pc, #188] ; (16914 ) + 16858: 4798 blx r3 + 1685a: 300a adds r0, #10 + 1685c: 00c0 lsls r0, r0, #3 + 1685e: 4b2e ldr r3, [pc, #184] ; (16918 ) + 16860: fb83 2300 smull r2, r3, r3, r0 + 16864: 17c2 asrs r2, r0, #31 + 16866: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1686a: b212 sxth r2, r2 + 1686c: e6d4 b.n 16618 lv_style_set_scale_end_line_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(8)); - 16886: 2000 movs r0, #0 - 16888: 4b28 ldr r3, [pc, #160] ; (1692c ) - 1688a: 4798 blx r3 - 1688c: 300a adds r0, #10 - 1688e: 00c0 lsls r0, r0, #3 - 16890: 4b27 ldr r3, [pc, #156] ; (16930 ) - 16892: fb83 2300 smull r2, r3, r3, r0 - 16896: 17c2 asrs r2, r0, #31 - 16898: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1689c: b212 sxth r2, r2 - 1689e: e6d8 b.n 16652 + 1686e: 2000 movs r0, #0 + 16870: 4b28 ldr r3, [pc, #160] ; (16914 ) + 16872: 4798 blx r3 + 16874: 300a adds r0, #10 + 16876: 00c0 lsls r0, r0, #3 + 16878: 4b27 ldr r3, [pc, #156] ; (16918 ) + 1687a: fb83 2300 smull r2, r3, r3, r0 + 1687e: 17c2 asrs r2, r0, #31 + 16880: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16884: b212 sxth r2, r2 + 16886: e6d8 b.n 1663a lv_style_set_scale_width(&styles->gauge_strong, LV_STATE_DEFAULT, LV_DPX(25)); - 168a0: 2000 movs r0, #0 - 168a2: 4b22 ldr r3, [pc, #136] ; (1692c ) - 168a4: 4798 blx r3 - 168a6: eb00 0080 add.w r0, r0, r0, lsl #2 - 168aa: eb00 0080 add.w r0, r0, r0, lsl #2 - 168ae: 3050 adds r0, #80 ; 0x50 - 168b0: 4b1f ldr r3, [pc, #124] ; (16930 ) - 168b2: fb83 2300 smull r2, r3, r3, r0 - 168b6: 17c2 asrs r2, r0, #31 - 168b8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 168bc: b212 sxth r2, r2 - 168be: e6dc b.n 1667a - 168c0: 2308 movs r3, #8 - 168c2: 2112 movs r1, #18 - 168c4: 240b movs r4, #11 - 168c6: e6eb b.n 166a0 + 16888: 2000 movs r0, #0 + 1688a: 4b22 ldr r3, [pc, #136] ; (16914 ) + 1688c: 4798 blx r3 + 1688e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16892: eb00 0080 add.w r0, r0, r0, lsl #2 + 16896: 3050 adds r0, #80 ; 0x50 + 16898: 4b1f ldr r3, [pc, #124] ; (16918 ) + 1689a: fb83 2300 smull r2, r3, r3, r0 + 1689e: 17c2 asrs r2, r0, #31 + 168a0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 168a4: b212 sxth r2, r2 + 168a6: e6dc b.n 16662 + 168a8: 2308 movs r3, #8 + 168aa: 2112 movs r1, #18 + 168ac: 240b movs r4, #11 + 168ae: e6eb b.n 16688 lv_style_set_line_width(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(8)); - 168c8: 2000 movs r0, #0 - 168ca: 4b18 ldr r3, [pc, #96] ; (1692c ) - 168cc: 4798 blx r3 - 168ce: 300a adds r0, #10 - 168d0: 00c0 lsls r0, r0, #3 - 168d2: 4b17 ldr r3, [pc, #92] ; (16930 ) - 168d4: fb83 2300 smull r2, r3, r3, r0 - 168d8: 17c2 asrs r2, r0, #31 - 168da: ebc2 12a3 rsb r2, r2, r3, asr #6 - 168de: b212 sxth r2, r2 - 168e0: e6f6 b.n 166d0 - 168e2: 2308 movs r3, #8 - 168e4: 2112 movs r1, #18 - 168e6: 240b movs r4, #11 - 168e8: e707 b.n 166fa + 168b0: 2000 movs r0, #0 + 168b2: 4b18 ldr r3, [pc, #96] ; (16914 ) + 168b4: 4798 blx r3 + 168b6: 300a adds r0, #10 + 168b8: 00c0 lsls r0, r0, #3 + 168ba: 4b17 ldr r3, [pc, #92] ; (16918 ) + 168bc: fb83 2300 smull r2, r3, r3, r0 + 168c0: 17c2 asrs r2, r0, #31 + 168c2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 168c6: b212 sxth r2, r2 + 168c8: e6f6 b.n 166b8 + 168ca: 2308 movs r3, #8 + 168cc: 2112 movs r1, #18 + 168ce: 240b movs r4, #11 + 168d0: e707 b.n 166e2 lv_style_set_size(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(30)); - 168ea: 2000 movs r0, #0 - 168ec: 4b0f ldr r3, [pc, #60] ; (1692c ) - 168ee: 4798 blx r3 - 168f0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 168f4: 0040 lsls r0, r0, #1 - 168f6: 3050 adds r0, #80 ; 0x50 - 168f8: 4b0d ldr r3, [pc, #52] ; (16930 ) - 168fa: fb83 2300 smull r2, r3, r3, r0 - 168fe: 17c2 asrs r2, r0, #31 - 16900: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16904: b212 sxth r2, r2 - 16906: e719 b.n 1673c + 168d2: 2000 movs r0, #0 + 168d4: 4b0f ldr r3, [pc, #60] ; (16914 ) + 168d6: 4798 blx r3 + 168d8: ebc0 1000 rsb r0, r0, r0, lsl #4 + 168dc: 0040 lsls r0, r0, #1 + 168de: 3050 adds r0, #80 ; 0x50 + 168e0: 4b0d ldr r3, [pc, #52] ; (16918 ) + 168e2: fb83 2300 smull r2, r3, r3, r0 + 168e6: 17c2 asrs r2, r0, #31 + 168e8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 168ec: b212 sxth r2, r2 + 168ee: e719 b.n 16724 lv_style_set_pad_inner(&styles->gauge_needle, LV_STATE_DEFAULT, LV_DPX(10)); - 16908: 2000 movs r0, #0 - 1690a: 4b08 ldr r3, [pc, #32] ; (1692c ) - 1690c: 4798 blx r3 - 1690e: eb00 0080 add.w r0, r0, r0, lsl #2 - 16912: 0040 lsls r0, r0, #1 - 16914: 3050 adds r0, #80 ; 0x50 - 16916: 4b06 ldr r3, [pc, #24] ; (16930 ) - 16918: fb83 2300 smull r2, r3, r3, r0 - 1691c: 17c2 asrs r2, r0, #31 - 1691e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16922: b212 sxth r2, r2 - 16924: e72b b.n 1677e - 16926: bf00 nop - 16928: 000068e1 .word 0x000068e1 - 1692c: 00010f3d .word 0x00010f3d - 16930: 66666667 .word 0x66666667 - -00016934 : -{ - 16934: b538 push {r3, r4, r5, lr} + 168f0: 2000 movs r0, #0 + 168f2: 4b08 ldr r3, [pc, #32] ; (16914 ) + 168f4: 4798 blx r3 + 168f6: eb00 0080 add.w r0, r0, r0, lsl #2 + 168fa: 0040 lsls r0, r0, #1 + 168fc: 3050 adds r0, #80 ; 0x50 + 168fe: 4b06 ldr r3, [pc, #24] ; (16918 ) + 16900: fb83 2300 smull r2, r3, r3, r0 + 16904: 17c2 asrs r2, r0, #31 + 16906: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1690a: b212 sxth r2, r2 + 1690c: e72b b.n 16766 + 1690e: bf00 nop + 16910: 000068c9 .word 0x000068c9 + 16914: 00010f25 .word 0x00010f25 + 16918: 66666667 .word 0x66666667 + +0001691c : +{ + 1691c: b538 push {r3, r4, r5, lr} style_init_reset(&styles->arc_indic); - 16936: 4c3d ldr r4, [pc, #244] ; (16a2c ) - 16938: 6820 ldr r0, [r4, #0] - 1693a: 301c adds r0, #28 - 1693c: 4b3c ldr r3, [pc, #240] ; (16a30 ) - 1693e: 4798 blx r3 + 1691e: 4c3d ldr r4, [pc, #244] ; (16a14 ) + 16920: 6820 ldr r0, [r4, #0] + 16922: 301c adds r0, #28 + 16924: 4b3c ldr r3, [pc, #240] ; (16a18 ) + 16926: 4798 blx r3 lv_style_set_line_color(&styles->arc_indic, LV_STATE_DEFAULT, theme.color_primary); - 16940: 6820 ldr r0, [r4, #0] + 16928: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16942: 89a2 ldrh r2, [r4, #12] - 16944: 2199 movs r1, #153 ; 0x99 - 16946: 301c adds r0, #28 - 16948: 4b3a ldr r3, [pc, #232] ; (16a34 ) - 1694a: 4798 blx r3 + 1692a: 89a2 ldrh r2, [r4, #12] + 1692c: 2199 movs r1, #153 ; 0x99 + 1692e: 301c adds r0, #28 + 16930: 4b3a ldr r3, [pc, #232] ; (16a1c ) + 16932: 4798 blx r3 lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25)); - 1694c: 6824 ldr r4, [r4, #0] - 1694e: 341c adds r4, #28 - 16950: 2000 movs r0, #0 - 16952: 4b39 ldr r3, [pc, #228] ; (16a38 ) - 16954: 4798 blx r3 - 16956: eb00 0080 add.w r0, r0, r0, lsl #2 - 1695a: eb00 0080 add.w r0, r0, r0, lsl #2 - 1695e: 3050 adds r0, #80 ; 0x50 - 16960: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16964: da41 bge.n 169ea - 16966: 2201 movs r2, #1 + 16934: 6824 ldr r4, [r4, #0] + 16936: 341c adds r4, #28 + 16938: 2000 movs r0, #0 + 1693a: 4b39 ldr r3, [pc, #228] ; (16a20 ) + 1693c: 4798 blx r3 + 1693e: eb00 0080 add.w r0, r0, r0, lsl #2 + 16942: eb00 0080 add.w r0, r0, r0, lsl #2 + 16946: 3050 adds r0, #80 ; 0x50 + 16948: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1694c: da41 bge.n 169d2 + 1694e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16968: 2190 movs r1, #144 ; 0x90 - 1696a: 4620 mov r0, r4 - 1696c: 4d33 ldr r5, [pc, #204] ; (16a3c ) - 1696e: 47a8 blx r5 + 16950: 2190 movs r1, #144 ; 0x90 + 16952: 4620 mov r0, r4 + 16954: 4d33 ldr r5, [pc, #204] ; (16a24 ) + 16956: 47a8 blx r5 lv_style_set_line_rounded(&styles->arc_indic, LV_STATE_DEFAULT, true); - 16970: 4c2e ldr r4, [pc, #184] ; (16a2c ) - 16972: 6820 ldr r0, [r4, #0] + 16958: 4c2e ldr r4, [pc, #184] ; (16a14 ) + 1695a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) - 16974: 2201 movs r2, #1 - 16976: 2194 movs r1, #148 ; 0x94 - 16978: 301c adds r0, #28 - 1697a: 47a8 blx r5 + 1695c: 2201 movs r2, #1 + 1695e: 2194 movs r1, #148 ; 0x94 + 16960: 301c adds r0, #28 + 16962: 47a8 blx r5 style_init_reset(&styles->arc_bg); - 1697c: 6820 ldr r0, [r4, #0] - 1697e: 3020 adds r0, #32 - 16980: 4b2b ldr r3, [pc, #172] ; (16a30 ) - 16982: 4798 blx r3 + 16964: 6820 ldr r0, [r4, #0] + 16966: 3020 adds r0, #32 + 16968: 4b2b ldr r3, [pc, #172] ; (16a18 ) + 1696a: 4798 blx r3 lv_style_set_line_color(&styles->arc_bg, LV_STATE_DEFAULT, COLOR_BG_SEC); - 16984: 6820 ldr r0, [r4, #0] - 16986: 6a23 ldr r3, [r4, #32] - 16988: f013 0302 ands.w r3, r3, #2 - 1698c: bf14 ite ne - 1698e: 211a movne r1, #26 - 16990: 2108 moveq r1, #8 - 16992: 2b00 cmp r3, #0 - 16994: bf15 itete ne - 16996: 2435 movne r4, #53 ; 0x35 - 16998: 2412 moveq r4, #18 - 1699a: 231b movne r3, #27 - 1699c: 2309 moveq r3, #9 - 1699e: f04f 0200 mov.w r2, #0 - 169a2: f363 0204 bfi r2, r3, #0, #5 - 169a6: f364 124a bfi r2, r4, #5, #6 - 169aa: f361 22cf bfi r2, r1, #11, #5 + 1696c: 6820 ldr r0, [r4, #0] + 1696e: 6a23 ldr r3, [r4, #32] + 16970: f013 0302 ands.w r3, r3, #2 + 16974: bf14 ite ne + 16976: 211a movne r1, #26 + 16978: 2108 moveq r1, #8 + 1697a: 2b00 cmp r3, #0 + 1697c: bf15 itete ne + 1697e: 2435 movne r4, #53 ; 0x35 + 16980: 2412 moveq r4, #18 + 16982: 231b movne r3, #27 + 16984: 2309 moveq r3, #9 + 16986: f04f 0200 mov.w r2, #0 + 1698a: f363 0204 bfi r2, r3, #0, #5 + 1698e: f364 124a bfi r2, r4, #5, #6 + 16992: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 169ae: 2199 movs r1, #153 ; 0x99 - 169b0: 3020 adds r0, #32 - 169b2: 4b20 ldr r3, [pc, #128] ; (16a34 ) - 169b4: 4798 blx r3 + 16996: 2199 movs r1, #153 ; 0x99 + 16998: 3020 adds r0, #32 + 1699a: 4b20 ldr r3, [pc, #128] ; (16a1c ) + 1699c: 4798 blx r3 lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 169b6: 4b1d ldr r3, [pc, #116] ; (16a2c ) - 169b8: 681c ldr r4, [r3, #0] - 169ba: 3420 adds r4, #32 - 169bc: 2000 movs r0, #0 - 169be: 4b1e ldr r3, [pc, #120] ; (16a38 ) - 169c0: 4798 blx r3 - 169c2: eb00 0080 add.w r0, r0, r0, lsl #2 - 169c6: eb00 0080 add.w r0, r0, r0, lsl #2 - 169ca: 3050 adds r0, #80 ; 0x50 - 169cc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 169d0: da1b bge.n 16a0a - 169d2: 2201 movs r2, #1 + 1699e: 4b1d ldr r3, [pc, #116] ; (16a14 ) + 169a0: 681c ldr r4, [r3, #0] + 169a2: 3420 adds r4, #32 + 169a4: 2000 movs r0, #0 + 169a6: 4b1e ldr r3, [pc, #120] ; (16a20 ) + 169a8: 4798 blx r3 + 169aa: eb00 0080 add.w r0, r0, r0, lsl #2 + 169ae: eb00 0080 add.w r0, r0, r0, lsl #2 + 169b2: 3050 adds r0, #80 ; 0x50 + 169b4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 169b8: da1b bge.n 169f2 + 169ba: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 169d4: 2190 movs r1, #144 ; 0x90 - 169d6: 4620 mov r0, r4 - 169d8: 4c18 ldr r4, [pc, #96] ; (16a3c ) - 169da: 47a0 blx r4 + 169bc: 2190 movs r1, #144 ; 0x90 + 169be: 4620 mov r0, r4 + 169c0: 4c18 ldr r4, [pc, #96] ; (16a24 ) + 169c2: 47a0 blx r4 lv_style_set_line_rounded(&styles->arc_bg, LV_STATE_DEFAULT, true); - 169dc: 4b13 ldr r3, [pc, #76] ; (16a2c ) - 169de: 6818 ldr r0, [r3, #0] + 169c4: 4b13 ldr r3, [pc, #76] ; (16a14 ) + 169c6: 6818 ldr r0, [r3, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) - 169e0: 2201 movs r2, #1 - 169e2: 2194 movs r1, #148 ; 0x94 - 169e4: 3020 adds r0, #32 - 169e6: 47a0 blx r4 - 169e8: bd38 pop {r3, r4, r5, pc} + 169c8: 2201 movs r2, #1 + 169ca: 2194 movs r1, #148 ; 0x94 + 169cc: 3020 adds r0, #32 + 169ce: 47a0 blx r4 + 169d0: bd38 pop {r3, r4, r5, pc} lv_style_set_line_width(&styles->arc_indic, LV_STATE_DEFAULT, LV_DPX(25)); - 169ea: 2000 movs r0, #0 - 169ec: 4b12 ldr r3, [pc, #72] ; (16a38 ) - 169ee: 4798 blx r3 - 169f0: eb00 0080 add.w r0, r0, r0, lsl #2 - 169f4: eb00 0080 add.w r0, r0, r0, lsl #2 - 169f8: 3050 adds r0, #80 ; 0x50 - 169fa: 4b11 ldr r3, [pc, #68] ; (16a40 ) - 169fc: fb83 2300 smull r2, r3, r3, r0 - 16a00: 17c2 asrs r2, r0, #31 - 16a02: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16a06: b212 sxth r2, r2 - 16a08: e7ae b.n 16968 + 169d2: 2000 movs r0, #0 + 169d4: 4b12 ldr r3, [pc, #72] ; (16a20 ) + 169d6: 4798 blx r3 + 169d8: eb00 0080 add.w r0, r0, r0, lsl #2 + 169dc: eb00 0080 add.w r0, r0, r0, lsl #2 + 169e0: 3050 adds r0, #80 ; 0x50 + 169e2: 4b11 ldr r3, [pc, #68] ; (16a28 ) + 169e4: fb83 2300 smull r2, r3, r3, r0 + 169e8: 17c2 asrs r2, r0, #31 + 169ea: ebc2 12a3 rsb r2, r2, r3, asr #6 + 169ee: b212 sxth r2, r2 + 169f0: e7ae b.n 16950 lv_style_set_line_width(&styles->arc_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 16a0a: 2000 movs r0, #0 - 16a0c: 4b0a ldr r3, [pc, #40] ; (16a38 ) - 16a0e: 4798 blx r3 - 16a10: eb00 0080 add.w r0, r0, r0, lsl #2 - 16a14: eb00 0080 add.w r0, r0, r0, lsl #2 - 16a18: 3050 adds r0, #80 ; 0x50 - 16a1a: 4b09 ldr r3, [pc, #36] ; (16a40 ) - 16a1c: fb83 2300 smull r2, r3, r3, r0 - 16a20: 17c2 asrs r2, r0, #31 - 16a22: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16a26: b212 sxth r2, r2 - 16a28: e7d4 b.n 169d4 - 16a2a: bf00 nop - 16a2c: 20006bd8 .word 0x20006bd8 - 16a30: 00014a61 .word 0x00014a61 - 16a34: 00006a25 .word 0x00006a25 - 16a38: 00010f3d .word 0x00010f3d - 16a3c: 000068e1 .word 0x000068e1 - 16a40: 66666667 .word 0x66666667 - -00016a44 : -{ - 16a44: b5f8 push {r3, r4, r5, r6, r7, lr} + 169f2: 2000 movs r0, #0 + 169f4: 4b0a ldr r3, [pc, #40] ; (16a20 ) + 169f6: 4798 blx r3 + 169f8: eb00 0080 add.w r0, r0, r0, lsl #2 + 169fc: eb00 0080 add.w r0, r0, r0, lsl #2 + 16a00: 3050 adds r0, #80 ; 0x50 + 16a02: 4b09 ldr r3, [pc, #36] ; (16a28 ) + 16a04: fb83 2300 smull r2, r3, r3, r0 + 16a08: 17c2 asrs r2, r0, #31 + 16a0a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16a0e: b212 sxth r2, r2 + 16a10: e7d4 b.n 169bc + 16a12: bf00 nop + 16a14: 20006bd8 .word 0x20006bd8 + 16a18: 00014a49 .word 0x00014a49 + 16a1c: 00006a0d .word 0x00006a0d + 16a20: 00010f25 .word 0x00010f25 + 16a24: 000068c9 .word 0x000068c9 + 16a28: 66666667 .word 0x66666667 + +00016a2c : +{ + 16a2c: b5f8 push {r3, r4, r5, r6, r7, lr} style_init_reset(&styles->led); - 16a46: 4c38 ldr r4, [pc, #224] ; (16b28 ) - 16a48: 6820 ldr r0, [r4, #0] - 16a4a: 306c adds r0, #108 ; 0x6c - 16a4c: 4b37 ldr r3, [pc, #220] ; (16b2c ) - 16a4e: 4798 blx r3 + 16a2e: 4c38 ldr r4, [pc, #224] ; (16b10 ) + 16a30: 6820 ldr r0, [r4, #0] + 16a32: 306c adds r0, #108 ; 0x6c + 16a34: 4b37 ldr r3, [pc, #220] ; (16b14 ) + 16a36: 4798 blx r3 lv_style_set_bg_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_COVER); - 16a50: 6820 ldr r0, [r4, #0] + 16a38: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 16a52: 22ff movs r2, #255 ; 0xff - 16a54: 212c movs r1, #44 ; 0x2c - 16a56: 306c adds r0, #108 ; 0x6c - 16a58: 4d35 ldr r5, [pc, #212] ; (16b30 ) - 16a5a: 47a8 blx r5 + 16a3a: 22ff movs r2, #255 ; 0xff + 16a3c: 212c movs r1, #44 ; 0x2c + 16a3e: 306c adds r0, #108 ; 0x6c + 16a40: 4d35 ldr r5, [pc, #212] ; (16b18 ) + 16a42: 47a8 blx r5 lv_style_set_bg_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary); - 16a5c: 6820 ldr r0, [r4, #0] + 16a44: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 16a5e: 89a2 ldrh r2, [r4, #12] - 16a60: 2129 movs r1, #41 ; 0x29 - 16a62: 306c adds r0, #108 ; 0x6c - 16a64: 4f33 ldr r7, [pc, #204] ; (16b34 ) - 16a66: 47b8 blx r7 + 16a46: 89a2 ldrh r2, [r4, #12] + 16a48: 2129 movs r1, #41 ; 0x29 + 16a4a: 306c adds r0, #108 ; 0x6c + 16a4c: 4f33 ldr r7, [pc, #204] ; (16b1c ) + 16a4e: 47b8 blx r7 lv_style_set_border_width(&styles->led, LV_STATE_DEFAULT, 2); - 16a68: 6820 ldr r0, [r4, #0] + 16a50: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 16a6a: 2202 movs r2, #2 - 16a6c: 2130 movs r1, #48 ; 0x30 - 16a6e: 306c adds r0, #108 ; 0x6c - 16a70: 4e31 ldr r6, [pc, #196] ; (16b38 ) - 16a72: 47b0 blx r6 + 16a52: 2202 movs r2, #2 + 16a54: 2130 movs r1, #48 ; 0x30 + 16a56: 306c adds r0, #108 ; 0x6c + 16a58: 4e31 ldr r6, [pc, #196] ; (16b20 ) + 16a5a: 47b0 blx r6 lv_style_set_border_opa(&styles->led, LV_STATE_DEFAULT, LV_OPA_50); - 16a74: 6820 ldr r0, [r4, #0] + 16a5c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_OPA, border_opa, lv_opa_t, _opa, scalar) - 16a76: 227f movs r2, #127 ; 0x7f - 16a78: 213c movs r1, #60 ; 0x3c - 16a7a: 306c adds r0, #108 ; 0x6c - 16a7c: 47a8 blx r5 + 16a5e: 227f movs r2, #127 ; 0x7f + 16a60: 213c movs r1, #60 ; 0x3c + 16a62: 306c adds r0, #108 ; 0x6c + 16a64: 47a8 blx r5 lv_style_set_border_color(&styles->led, LV_STATE_DEFAULT, lv_color_lighten(theme.color_primary, LV_OPA_30)); - 16a7e: 6825 ldr r5, [r4, #0] - 16a80: 356c adds r5, #108 ; 0x6c - 16a82: 214c movs r1, #76 ; 0x4c - 16a84: 89a0 ldrh r0, [r4, #12] - 16a86: 4b2d ldr r3, [pc, #180] ; (16b3c ) - 16a88: 4798 blx r3 + 16a66: 6825 ldr r5, [r4, #0] + 16a68: 356c adds r5, #108 ; 0x6c + 16a6a: 214c movs r1, #76 ; 0x4c + 16a6c: 89a0 ldrh r0, [r4, #12] + 16a6e: 4b2d ldr r3, [pc, #180] ; (16b24 ) + 16a70: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 16a8a: 4602 mov r2, r0 - 16a8c: 2139 movs r1, #57 ; 0x39 - 16a8e: 4628 mov r0, r5 - 16a90: 47b8 blx r7 + 16a72: 4602 mov r2, r0 + 16a74: 2139 movs r1, #57 ; 0x39 + 16a76: 4628 mov r0, r5 + 16a78: 47b8 blx r7 lv_style_set_radius(&styles->led, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 16a92: 6820 ldr r0, [r4, #0] + 16a7a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16a94: f647 72ff movw r2, #32767 ; 0x7fff - 16a98: 2101 movs r1, #1 - 16a9a: 306c adds r0, #108 ; 0x6c - 16a9c: 47b0 blx r6 + 16a7c: f647 72ff movw r2, #32767 ; 0x7fff + 16a80: 2101 movs r1, #1 + 16a82: 306c adds r0, #108 ; 0x6c + 16a84: 47b0 blx r6 lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15)); - 16a9e: 6824 ldr r4, [r4, #0] - 16aa0: 346c adds r4, #108 ; 0x6c - 16aa2: 2000 movs r0, #0 - 16aa4: 4b26 ldr r3, [pc, #152] ; (16b40 ) - 16aa6: 4798 blx r3 - 16aa8: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16aac: 3050 adds r0, #80 ; 0x50 - 16aae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16ab2: da1c bge.n 16aee - 16ab4: 2201 movs r2, #1 + 16a86: 6824 ldr r4, [r4, #0] + 16a88: 346c adds r4, #108 ; 0x6c + 16a8a: 2000 movs r0, #0 + 16a8c: 4b26 ldr r3, [pc, #152] ; (16b28 ) + 16a8e: 4798 blx r3 + 16a90: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16a94: 3050 adds r0, #80 ; 0x50 + 16a96: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16a9a: da1c bge.n 16ad6 + 16a9c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 16ab6: 2150 movs r1, #80 ; 0x50 - 16ab8: 4620 mov r0, r4 - 16aba: 4b1f ldr r3, [pc, #124] ; (16b38 ) - 16abc: 4798 blx r3 + 16a9e: 2150 movs r1, #80 ; 0x50 + 16aa0: 4620 mov r0, r4 + 16aa2: 4b1f ldr r3, [pc, #124] ; (16b20 ) + 16aa4: 4798 blx r3 lv_style_set_shadow_color(&styles->led, LV_STATE_DEFAULT, theme.color_primary); - 16abe: 4c1a ldr r4, [pc, #104] ; (16b28 ) - 16ac0: 6820 ldr r0, [r4, #0] + 16aa6: 4c1a ldr r4, [pc, #104] ; (16b10 ) + 16aa8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 16ac2: 89a2 ldrh r2, [r4, #12] - 16ac4: 2159 movs r1, #89 ; 0x59 - 16ac6: 306c adds r0, #108 ; 0x6c - 16ac8: 4b1a ldr r3, [pc, #104] ; (16b34 ) - 16aca: 4798 blx r3 + 16aaa: 89a2 ldrh r2, [r4, #12] + 16aac: 2159 movs r1, #89 ; 0x59 + 16aae: 306c adds r0, #108 ; 0x6c + 16ab0: 4b1a ldr r3, [pc, #104] ; (16b1c ) + 16ab2: 4798 blx r3 lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5)); - 16acc: 6824 ldr r4, [r4, #0] - 16ace: 346c adds r4, #108 ; 0x6c - 16ad0: 2000 movs r0, #0 - 16ad2: 4b1b ldr r3, [pc, #108] ; (16b40 ) - 16ad4: 4798 blx r3 - 16ad6: eb00 0080 add.w r0, r0, r0, lsl #2 - 16ada: 3050 adds r0, #80 ; 0x50 - 16adc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16ae0: da13 bge.n 16b0a - 16ae2: 2201 movs r2, #1 + 16ab4: 6824 ldr r4, [r4, #0] + 16ab6: 346c adds r4, #108 ; 0x6c + 16ab8: 2000 movs r0, #0 + 16aba: 4b1b ldr r3, [pc, #108] ; (16b28 ) + 16abc: 4798 blx r3 + 16abe: eb00 0080 add.w r0, r0, r0, lsl #2 + 16ac2: 3050 adds r0, #80 ; 0x50 + 16ac4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16ac8: da13 bge.n 16af2 + 16aca: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_SPREAD, shadow_spread, lv_style_int_t, _int, scalar) - 16ae4: 2153 movs r1, #83 ; 0x53 - 16ae6: 4620 mov r0, r4 - 16ae8: 4b13 ldr r3, [pc, #76] ; (16b38 ) - 16aea: 4798 blx r3 - 16aec: bdf8 pop {r3, r4, r5, r6, r7, pc} + 16acc: 2153 movs r1, #83 ; 0x53 + 16ace: 4620 mov r0, r4 + 16ad0: 4b13 ldr r3, [pc, #76] ; (16b20 ) + 16ad2: 4798 blx r3 + 16ad4: bdf8 pop {r3, r4, r5, r6, r7, pc} lv_style_set_shadow_width(&styles->led, LV_STATE_DEFAULT, LV_DPX(15)); - 16aee: 2000 movs r0, #0 - 16af0: 4b13 ldr r3, [pc, #76] ; (16b40 ) - 16af2: 4798 blx r3 - 16af4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16af8: 3050 adds r0, #80 ; 0x50 - 16afa: 4b12 ldr r3, [pc, #72] ; (16b44 ) - 16afc: fb83 2300 smull r2, r3, r3, r0 - 16b00: 17c2 asrs r2, r0, #31 - 16b02: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16b06: b212 sxth r2, r2 - 16b08: e7d5 b.n 16ab6 + 16ad6: 2000 movs r0, #0 + 16ad8: 4b13 ldr r3, [pc, #76] ; (16b28 ) + 16ada: 4798 blx r3 + 16adc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16ae0: 3050 adds r0, #80 ; 0x50 + 16ae2: 4b12 ldr r3, [pc, #72] ; (16b2c ) + 16ae4: fb83 2300 smull r2, r3, r3, r0 + 16ae8: 17c2 asrs r2, r0, #31 + 16aea: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16aee: b212 sxth r2, r2 + 16af0: e7d5 b.n 16a9e lv_style_set_shadow_spread(&styles->led, LV_STATE_DEFAULT, LV_DPX(5)); - 16b0a: 2000 movs r0, #0 - 16b0c: 4b0c ldr r3, [pc, #48] ; (16b40 ) - 16b0e: 4798 blx r3 - 16b10: eb00 0080 add.w r0, r0, r0, lsl #2 - 16b14: 3050 adds r0, #80 ; 0x50 - 16b16: 4b0b ldr r3, [pc, #44] ; (16b44 ) - 16b18: fb83 2300 smull r2, r3, r3, r0 - 16b1c: 17c2 asrs r2, r0, #31 - 16b1e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 16b22: b212 sxth r2, r2 - 16b24: e7de b.n 16ae4 - 16b26: bf00 nop - 16b28: 20006bd8 .word 0x20006bd8 - 16b2c: 00014a61 .word 0x00014a61 - 16b30: 00006b69 .word 0x00006b69 - 16b34: 00006a25 .word 0x00006a25 - 16b38: 000068e1 .word 0x000068e1 - 16b3c: 00011ba7 .word 0x00011ba7 - 16b40: 00010f3d .word 0x00010f3d - 16b44: 66666667 .word 0x66666667 - -00016b48 : -{ - 16b48: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 16b4c: 4680 mov r8, r0 - 16b4e: 460f mov r7, r1 - 16b50: 4615 mov r5, r2 - 16b52: 461e mov r6, r3 + 16af2: 2000 movs r0, #0 + 16af4: 4b0c ldr r3, [pc, #48] ; (16b28 ) + 16af6: 4798 blx r3 + 16af8: eb00 0080 add.w r0, r0, r0, lsl #2 + 16afc: 3050 adds r0, #80 ; 0x50 + 16afe: 4b0b ldr r3, [pc, #44] ; (16b2c ) + 16b00: fb83 2300 smull r2, r3, r3, r0 + 16b04: 17c2 asrs r2, r0, #31 + 16b06: ebc2 12a3 rsb r2, r2, r3, asr #6 + 16b0a: b212 sxth r2, r2 + 16b0c: e7de b.n 16acc + 16b0e: bf00 nop + 16b10: 20006bd8 .word 0x20006bd8 + 16b14: 00014a49 .word 0x00014a49 + 16b18: 00006b51 .word 0x00006b51 + 16b1c: 00006a0d .word 0x00006a0d + 16b20: 000068c9 .word 0x000068c9 + 16b24: 00011b8f .word 0x00011b8f + 16b28: 00010f25 .word 0x00010f25 + 16b2c: 66666667 .word 0x66666667 + +00016b30 : +{ + 16b30: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 16b34: 4680 mov r8, r0 + 16b36: 460f mov r7, r1 + 16b38: 4615 mov r5, r2 + 16b3a: 461e mov r6, r3 if(!inited) { - 16b54: 4bb2 ldr r3, [pc, #712] ; (16e20 ) - 16b56: 791b ldrb r3, [r3, #4] - 16b58: 2b00 cmp r3, #0 - 16b5a: f001 8369 beq.w 18230 + 16b3c: 4bb2 ldr r3, [pc, #712] ; (16e08 ) + 16b3e: 791b ldrb r3, [r3, #4] + 16b40: 2b00 cmp r3, #0 + 16b42: f001 8369 beq.w 18218 theme.color_primary = color_primary; - 16b5e: 4cb0 ldr r4, [pc, #704] ; (16e20 ) - 16b60: f8a4 800c strh.w r8, [r4, #12] + 16b46: 4cb0 ldr r4, [pc, #704] ; (16e08 ) + 16b48: f8a4 800c strh.w r8, [r4, #12] theme.color_secondary = color_secondary; - 16b64: 81e7 strh r7, [r4, #14] + 16b4c: 81e7 strh r7, [r4, #14] theme.font_small = font_small; - 16b66: 6126 str r6, [r4, #16] + 16b4e: 6126 str r6, [r4, #16] theme.font_normal = font_normal; - 16b68: 9b06 ldr r3, [sp, #24] - 16b6a: 6163 str r3, [r4, #20] + 16b50: 9b06 ldr r3, [sp, #24] + 16b52: 6163 str r3, [r4, #20] theme.font_subtitle = font_subtitle; - 16b6c: 9b07 ldr r3, [sp, #28] - 16b6e: 61a3 str r3, [r4, #24] + 16b54: 9b07 ldr r3, [sp, #28] + 16b56: 61a3 str r3, [r4, #24] theme.font_title = font_title; - 16b70: 9b08 ldr r3, [sp, #32] - 16b72: 61e3 str r3, [r4, #28] + 16b58: 9b08 ldr r3, [sp, #32] + 16b5a: 61e3 str r3, [r4, #28] theme.flags = flags; - 16b74: 6225 str r5, [r4, #32] + 16b5c: 6225 str r5, [r4, #32] basic_init(); - 16b76: 4bab ldr r3, [pc, #684] ; (16e24 ) - 16b78: 4798 blx r3 + 16b5e: 4bab ldr r3, [pc, #684] ; (16e0c ) + 16b60: 4798 blx r3 bar_init(); - 16b7a: 4bab ldr r3, [pc, #684] ; (16e28 ) - 16b7c: 4798 blx r3 + 16b62: 4bab ldr r3, [pc, #684] ; (16e10 ) + 16b64: 4798 blx r3 led_init(); - 16b7e: 4bab ldr r3, [pc, #684] ; (16e2c ) - 16b80: 4798 blx r3 + 16b66: 4bab ldr r3, [pc, #684] ; (16e14 ) + 16b68: 4798 blx r3 slider_init(); - 16b82: 4bab ldr r3, [pc, #684] ; (16e30 ) - 16b84: 4798 blx r3 + 16b6a: 4bab ldr r3, [pc, #684] ; (16e18 ) + 16b6c: 4798 blx r3 switch_init(); - 16b86: 4bab ldr r3, [pc, #684] ; (16e34 ) - 16b88: 4798 blx r3 + 16b6e: 4bab ldr r3, [pc, #684] ; (16e1c ) + 16b70: 4798 blx r3 linemeter_init(); - 16b8a: 4bab ldr r3, [pc, #684] ; (16e38 ) - 16b8c: 4798 blx r3 + 16b72: 4bab ldr r3, [pc, #684] ; (16e20 ) + 16b74: 4798 blx r3 gauge_init(); - 16b8e: 4bab ldr r3, [pc, #684] ; (16e3c ) - 16b90: 4798 blx r3 + 16b76: 4bab ldr r3, [pc, #684] ; (16e24 ) + 16b78: 4798 blx r3 arc_init(); - 16b92: 4bab ldr r3, [pc, #684] ; (16e40 ) - 16b94: 4798 blx r3 + 16b7a: 4bab ldr r3, [pc, #684] ; (16e28 ) + 16b7c: 4798 blx r3 style_init_reset(&styles->chart_bg); - 16b96: 6820 ldr r0, [r4, #0] - 16b98: 3040 adds r0, #64 ; 0x40 - 16b9a: 4baa ldr r3, [pc, #680] ; (16e44 ) - 16b9c: 4798 blx r3 + 16b7e: 6820 ldr r0, [r4, #0] + 16b80: 3040 adds r0, #64 ; 0x40 + 16b82: 4baa ldr r3, [pc, #680] ; (16e2c ) + 16b84: 4798 blx r3 lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 16b9e: 6820 ldr r0, [r4, #0] - 16ba0: 3040 adds r0, #64 ; 0x40 - 16ba2: 6a23 ldr r3, [r4, #32] - 16ba4: f013 0f02 tst.w r3, #2 - 16ba8: f041 834b bne.w 18242 - 16bac: 2314 movs r3, #20 - 16bae: 212b movs r1, #43 ; 0x2b - 16bb0: 2417 movs r4, #23 - 16bb2: f04f 0200 mov.w r2, #0 - 16bb6: f364 0204 bfi r2, r4, #0, #5 - 16bba: f361 124a bfi r2, r1, #5, #6 - 16bbe: f363 22cf bfi r2, r3, #11, #5 + 16b86: 6820 ldr r0, [r4, #0] + 16b88: 3040 adds r0, #64 ; 0x40 + 16b8a: 6a23 ldr r3, [r4, #32] + 16b8c: f013 0f02 tst.w r3, #2 + 16b90: f041 834b bne.w 1822a + 16b94: 2314 movs r3, #20 + 16b96: 212b movs r1, #43 ; 0x2b + 16b98: 2417 movs r4, #23 + 16b9a: f04f 0200 mov.w r2, #0 + 16b9e: f364 0204 bfi r2, r4, #0, #5 + 16ba2: f361 124a bfi r2, r1, #5, #6 + 16ba6: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 16bc2: f248 0189 movw r1, #32905 ; 0x8089 - 16bc6: 4ba0 ldr r3, [pc, #640] ; (16e48 ) - 16bc8: 4798 blx r3 + 16baa: f248 0189 movw r1, #32905 ; 0x8089 + 16bae: 4ba0 ldr r3, [pc, #640] ; (16e30 ) + 16bb0: 4798 blx r3 style_init_reset(&styles->chart_series_bg); - 16bca: 4c95 ldr r4, [pc, #596] ; (16e20 ) - 16bcc: 6820 ldr r0, [r4, #0] - 16bce: 3044 adds r0, #68 ; 0x44 - 16bd0: 4b9c ldr r3, [pc, #624] ; (16e44 ) - 16bd2: 4798 blx r3 + 16bb2: 4c95 ldr r4, [pc, #596] ; (16e08 ) + 16bb4: 6820 ldr r0, [r4, #0] + 16bb6: 3044 adds r0, #68 ; 0x44 + 16bb8: 4b9c ldr r3, [pc, #624] ; (16e2c ) + 16bba: 4798 blx r3 lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1)); - 16bd4: 6824 ldr r4, [r4, #0] - 16bd6: 3444 adds r4, #68 ; 0x44 - 16bd8: 2000 movs r0, #0 - 16bda: 4b9c ldr r3, [pc, #624] ; (16e4c ) - 16bdc: 4798 blx r3 - 16bde: 3050 adds r0, #80 ; 0x50 - 16be0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16be4: f281 8332 bge.w 1824c - 16be8: 2201 movs r2, #1 + 16bbc: 6824 ldr r4, [r4, #0] + 16bbe: 3444 adds r4, #68 ; 0x44 + 16bc0: 2000 movs r0, #0 + 16bc2: 4b9c ldr r3, [pc, #624] ; (16e34 ) + 16bc4: 4798 blx r3 + 16bc6: 3050 adds r0, #80 ; 0x50 + 16bc8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16bcc: f281 8332 bge.w 18234 + 16bd0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16bea: 2190 movs r1, #144 ; 0x90 - 16bec: 4620 mov r0, r4 - 16bee: 4b98 ldr r3, [pc, #608] ; (16e50 ) - 16bf0: 4798 blx r3 + 16bd2: 2190 movs r1, #144 ; 0x90 + 16bd4: 4620 mov r0, r4 + 16bd6: 4b98 ldr r3, [pc, #608] ; (16e38 ) + 16bd8: 4798 blx r3 lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16bf2: 4b8b ldr r3, [pc, #556] ; (16e20 ) - 16bf4: 681c ldr r4, [r3, #0] - 16bf6: 3444 adds r4, #68 ; 0x44 - 16bf8: 2000 movs r0, #0 - 16bfa: 4b94 ldr r3, [pc, #592] ; (16e4c ) - 16bfc: 4798 blx r3 - 16bfe: eb00 0080 add.w r0, r0, r0, lsl #2 - 16c02: 0040 lsls r0, r0, #1 - 16c04: 3050 adds r0, #80 ; 0x50 - 16c06: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16c0a: f281 832c bge.w 18266 - 16c0e: 2201 movs r2, #1 + 16bda: 4b8b ldr r3, [pc, #556] ; (16e08 ) + 16bdc: 681c ldr r4, [r3, #0] + 16bde: 3444 adds r4, #68 ; 0x44 + 16be0: 2000 movs r0, #0 + 16be2: 4b94 ldr r3, [pc, #592] ; (16e34 ) + 16be4: 4798 blx r3 + 16be6: eb00 0080 add.w r0, r0, r0, lsl #2 + 16bea: 0040 lsls r0, r0, #1 + 16bec: 3050 adds r0, #80 ; 0x50 + 16bee: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16bf2: f281 832c bge.w 1824e + 16bf6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_WIDTH, line_dash_width, lv_style_int_t, _int, scalar) - 16c10: 2192 movs r1, #146 ; 0x92 - 16c12: 4620 mov r0, r4 - 16c14: 4b8e ldr r3, [pc, #568] ; (16e50 ) - 16c16: 4798 blx r3 + 16bf8: 2192 movs r1, #146 ; 0x92 + 16bfa: 4620 mov r0, r4 + 16bfc: 4b8e ldr r3, [pc, #568] ; (16e38 ) + 16bfe: 4798 blx r3 lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 16c18: 4b81 ldr r3, [pc, #516] ; (16e20 ) - 16c1a: 681c ldr r4, [r3, #0] - 16c1c: 3444 adds r4, #68 ; 0x44 - 16c1e: 2000 movs r0, #0 - 16c20: 4b8a ldr r3, [pc, #552] ; (16e4c ) - 16c22: 4798 blx r3 - 16c24: eb00 0080 add.w r0, r0, r0, lsl #2 - 16c28: 0040 lsls r0, r0, #1 - 16c2a: 3050 adds r0, #80 ; 0x50 - 16c2c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16c30: f281 8329 bge.w 18286 - 16c34: 2201 movs r2, #1 + 16c00: 4b81 ldr r3, [pc, #516] ; (16e08 ) + 16c02: 681c ldr r4, [r3, #0] + 16c04: 3444 adds r4, #68 ; 0x44 + 16c06: 2000 movs r0, #0 + 16c08: 4b8a ldr r3, [pc, #552] ; (16e34 ) + 16c0a: 4798 blx r3 + 16c0c: eb00 0080 add.w r0, r0, r0, lsl #2 + 16c10: 0040 lsls r0, r0, #1 + 16c12: 3050 adds r0, #80 ; 0x50 + 16c14: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16c18: f281 8329 bge.w 1826e + 16c1c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_DASH_GAP, line_dash_gap, lv_style_int_t, _int, scalar) - 16c36: 2193 movs r1, #147 ; 0x93 - 16c38: 4620 mov r0, r4 - 16c3a: 4b85 ldr r3, [pc, #532] ; (16e50 ) - 16c3c: 4798 blx r3 + 16c1e: 2193 movs r1, #147 ; 0x93 + 16c20: 4620 mov r0, r4 + 16c22: 4b85 ldr r3, [pc, #532] ; (16e38 ) + 16c24: 4798 blx r3 lv_style_set_line_color(&styles->chart_series_bg, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 16c3e: 4b78 ldr r3, [pc, #480] ; (16e20 ) - 16c40: 6818 ldr r0, [r3, #0] - 16c42: 6a1b ldr r3, [r3, #32] - 16c44: f013 0302 ands.w r3, r3, #2 - 16c48: bf14 ite ne - 16c4a: 211a movne r1, #26 - 16c4c: 2110 moveq r1, #16 - 16c4e: 2b00 cmp r3, #0 - 16c50: bf15 itete ne - 16c52: 2437 movne r4, #55 ; 0x37 - 16c54: 2422 moveq r4, #34 ; 0x22 - 16c56: 231c movne r3, #28 - 16c58: 2312 moveq r3, #18 - 16c5a: f04f 0200 mov.w r2, #0 - 16c5e: f363 0204 bfi r2, r3, #0, #5 - 16c62: f364 124a bfi r2, r4, #5, #6 - 16c66: f361 22cf bfi r2, r1, #11, #5 + 16c26: 4b78 ldr r3, [pc, #480] ; (16e08 ) + 16c28: 6818 ldr r0, [r3, #0] + 16c2a: 6a1b ldr r3, [r3, #32] + 16c2c: f013 0302 ands.w r3, r3, #2 + 16c30: bf14 ite ne + 16c32: 211a movne r1, #26 + 16c34: 2110 moveq r1, #16 + 16c36: 2b00 cmp r3, #0 + 16c38: bf15 itete ne + 16c3a: 2437 movne r4, #55 ; 0x37 + 16c3c: 2422 moveq r4, #34 ; 0x22 + 16c3e: 231c movne r3, #28 + 16c40: 2312 moveq r3, #18 + 16c42: f04f 0200 mov.w r2, #0 + 16c46: f363 0204 bfi r2, r3, #0, #5 + 16c4a: f364 124a bfi r2, r4, #5, #6 + 16c4e: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) - 16c6a: 2199 movs r1, #153 ; 0x99 - 16c6c: 3044 adds r0, #68 ; 0x44 - 16c6e: 4b76 ldr r3, [pc, #472] ; (16e48 ) - 16c70: 4798 blx r3 + 16c52: 2199 movs r1, #153 ; 0x99 + 16c54: 3044 adds r0, #68 ; 0x44 + 16c56: 4b76 ldr r3, [pc, #472] ; (16e30 ) + 16c58: 4798 blx r3 style_init_reset(&styles->chart_series); - 16c72: 4c6b ldr r4, [pc, #428] ; (16e20 ) - 16c74: 6820 ldr r0, [r4, #0] - 16c76: 3048 adds r0, #72 ; 0x48 - 16c78: 4b72 ldr r3, [pc, #456] ; (16e44 ) - 16c7a: 4798 blx r3 + 16c5a: 4c6b ldr r4, [pc, #428] ; (16e08 ) + 16c5c: 6820 ldr r0, [r4, #0] + 16c5e: 3048 adds r0, #72 ; 0x48 + 16c60: 4b72 ldr r3, [pc, #456] ; (16e2c ) + 16c62: 4798 blx r3 lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3)); - 16c7c: 6824 ldr r4, [r4, #0] - 16c7e: 3448 adds r4, #72 ; 0x48 - 16c80: 2000 movs r0, #0 - 16c82: 4b72 ldr r3, [pc, #456] ; (16e4c ) - 16c84: 4798 blx r3 - 16c86: eb00 0040 add.w r0, r0, r0, lsl #1 - 16c8a: 3050 adds r0, #80 ; 0x50 - 16c8c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16c90: f281 8309 bge.w 182a6 - 16c94: 2201 movs r2, #1 + 16c64: 6824 ldr r4, [r4, #0] + 16c66: 3448 adds r4, #72 ; 0x48 + 16c68: 2000 movs r0, #0 + 16c6a: 4b72 ldr r3, [pc, #456] ; (16e34 ) + 16c6c: 4798 blx r3 + 16c6e: eb00 0040 add.w r0, r0, r0, lsl #1 + 16c72: 3050 adds r0, #80 ; 0x50 + 16c74: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16c78: f281 8309 bge.w 1828e + 16c7c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_WIDTH, line_width, lv_style_int_t, _int, scalar) - 16c96: 2190 movs r1, #144 ; 0x90 - 16c98: 4620 mov r0, r4 - 16c9a: 4b6d ldr r3, [pc, #436] ; (16e50 ) - 16c9c: 4798 blx r3 + 16c7e: 2190 movs r1, #144 ; 0x90 + 16c80: 4620 mov r0, r4 + 16c82: 4b6d ldr r3, [pc, #436] ; (16e38 ) + 16c84: 4798 blx r3 lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4)); - 16c9e: 4b60 ldr r3, [pc, #384] ; (16e20 ) - 16ca0: 681c ldr r4, [r3, #0] - 16ca2: 3448 adds r4, #72 ; 0x48 - 16ca4: 2000 movs r0, #0 - 16ca6: 4b69 ldr r3, [pc, #420] ; (16e4c ) - 16ca8: 4798 blx r3 - 16caa: 3014 adds r0, #20 - 16cac: 0080 lsls r0, r0, #2 - 16cae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16cb2: f281 8307 bge.w 182c4 - 16cb6: 2201 movs r2, #1 + 16c86: 4b60 ldr r3, [pc, #384] ; (16e08 ) + 16c88: 681c ldr r4, [r3, #0] + 16c8a: 3448 adds r4, #72 ; 0x48 + 16c8c: 2000 movs r0, #0 + 16c8e: 4b69 ldr r3, [pc, #420] ; (16e34 ) + 16c90: 4798 blx r3 + 16c92: 3014 adds r0, #20 + 16c94: 0080 lsls r0, r0, #2 + 16c96: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16c9a: f281 8307 bge.w 182ac + 16c9e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 16cb8: 2103 movs r1, #3 - 16cba: 4620 mov r0, r4 - 16cbc: 4b64 ldr r3, [pc, #400] ; (16e50 ) - 16cbe: 4798 blx r3 + 16ca0: 2103 movs r1, #3 + 16ca2: 4620 mov r0, r4 + 16ca4: 4b64 ldr r3, [pc, #400] ; (16e38 ) + 16ca6: 4798 blx r3 lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/ - 16cc0: 4b57 ldr r3, [pc, #348] ; (16e20 ) - 16cc2: 681c ldr r4, [r3, #0] - 16cc4: 3448 adds r4, #72 ; 0x48 - 16cc6: 2000 movs r0, #0 - 16cc8: 4b60 ldr r3, [pc, #384] ; (16e4c ) - 16cca: 4798 blx r3 - 16ccc: 3028 adds r0, #40 ; 0x28 - 16cce: 0040 lsls r0, r0, #1 - 16cd0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16cd4: f281 8304 bge.w 182e0 - 16cd8: 2201 movs r2, #1 + 16ca8: 4b57 ldr r3, [pc, #348] ; (16e08 ) + 16caa: 681c ldr r4, [r3, #0] + 16cac: 3448 adds r4, #72 ; 0x48 + 16cae: 2000 movs r0, #0 + 16cb0: 4b60 ldr r3, [pc, #384] ; (16e34 ) + 16cb2: 4798 blx r3 + 16cb4: 3028 adds r0, #40 ; 0x28 + 16cb6: 0040 lsls r0, r0, #1 + 16cb8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16cbc: f281 8304 bge.w 182c8 + 16cc0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 16cda: 2114 movs r1, #20 - 16cdc: 4620 mov r0, r4 - 16cde: 4b5c ldr r3, [pc, #368] ; (16e50 ) - 16ce0: 4798 blx r3 + 16cc2: 2114 movs r1, #20 + 16cc4: 4620 mov r0, r4 + 16cc6: 4b5c ldr r3, [pc, #368] ; (16e38 ) + 16cc8: 4798 blx r3 lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1)); - 16ce2: 4b4f ldr r3, [pc, #316] ; (16e20 ) - 16ce4: 681c ldr r4, [r3, #0] - 16ce6: 3448 adds r4, #72 ; 0x48 - 16ce8: 2000 movs r0, #0 - 16cea: 4b58 ldr r3, [pc, #352] ; (16e4c ) - 16cec: 4798 blx r3 - 16cee: 3050 adds r0, #80 ; 0x50 - 16cf0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16cf4: f281 8302 bge.w 182fc - 16cf8: 2201 movs r2, #1 + 16cca: 4b4f ldr r3, [pc, #316] ; (16e08 ) + 16ccc: 681c ldr r4, [r3, #0] + 16cce: 3448 adds r4, #72 ; 0x48 + 16cd0: 2000 movs r0, #0 + 16cd2: 4b58 ldr r3, [pc, #352] ; (16e34 ) + 16cd4: 4798 blx r3 + 16cd6: 3050 adds r0, #80 ; 0x50 + 16cd8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16cdc: f281 8302 bge.w 182e4 + 16ce0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16cfa: 2101 movs r1, #1 - 16cfc: 4620 mov r0, r4 - 16cfe: 4b54 ldr r3, [pc, #336] ; (16e50 ) - 16d00: 4798 blx r3 + 16ce2: 2101 movs r1, #1 + 16ce4: 4620 mov r0, r4 + 16ce6: 4b54 ldr r3, [pc, #336] ; (16e38 ) + 16ce8: 4798 blx r3 style_init_reset(&styles->calendar_header); - 16d02: 4c47 ldr r4, [pc, #284] ; (16e20 ) - 16d04: 6820 ldr r0, [r4, #0] - 16d06: 3030 adds r0, #48 ; 0x30 - 16d08: 4b4e ldr r3, [pc, #312] ; (16e44 ) - 16d0a: 4798 blx r3 + 16cea: 4c47 ldr r4, [pc, #284] ; (16e08 ) + 16cec: 6820 ldr r0, [r4, #0] + 16cee: 3030 adds r0, #48 ; 0x30 + 16cf0: 4b4e ldr r3, [pc, #312] ; (16e2c ) + 16cf2: 4798 blx r3 lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 16d0c: 6824 ldr r4, [r4, #0] - 16d0e: 3430 adds r4, #48 ; 0x30 - 16d10: 2000 movs r0, #0 - 16d12: 4b50 ldr r3, [pc, #320] ; (16e54 ) - 16d14: 4798 blx r3 - 16d16: 2801 cmp r0, #1 - 16d18: f241 82fd bls.w 18316 - 16d1c: 2000 movs r0, #0 - 16d1e: 4b4b ldr r3, [pc, #300] ; (16e4c ) - 16d20: 4798 blx r3 - 16d22: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16d26: 0040 lsls r0, r0, #1 - 16d28: 3050 adds r0, #80 ; 0x50 - 16d2a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16d2e: f281 830d bge.w 1834c - 16d32: 2201 movs r2, #1 + 16cf4: 6824 ldr r4, [r4, #0] + 16cf6: 3430 adds r4, #48 ; 0x30 + 16cf8: 2000 movs r0, #0 + 16cfa: 4b50 ldr r3, [pc, #320] ; (16e3c ) + 16cfc: 4798 blx r3 + 16cfe: 2801 cmp r0, #1 + 16d00: f241 82fd bls.w 182fe + 16d04: 2000 movs r0, #0 + 16d06: 4b4b ldr r3, [pc, #300] ; (16e34 ) + 16d08: 4798 blx r3 + 16d0a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16d0e: 0040 lsls r0, r0, #1 + 16d10: 3050 adds r0, #80 ; 0x50 + 16d12: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16d16: f281 830d bge.w 18334 + 16d1a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 16d34: 2110 movs r1, #16 - 16d36: 4620 mov r0, r4 - 16d38: 4b45 ldr r3, [pc, #276] ; (16e50 ) - 16d3a: 4798 blx r3 + 16d1c: 2110 movs r1, #16 + 16d1e: 4620 mov r0, r4 + 16d20: 4b45 ldr r3, [pc, #276] ; (16e38 ) + 16d22: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 16d3c: 4b38 ldr r3, [pc, #224] ; (16e20 ) - 16d3e: 681c ldr r4, [r3, #0] - 16d40: 3430 adds r4, #48 ; 0x30 - 16d42: 2000 movs r0, #0 - 16d44: 4b43 ldr r3, [pc, #268] ; (16e54 ) - 16d46: 4798 blx r3 - 16d48: 2801 cmp r0, #1 - 16d4a: f241 830f bls.w 1836c - 16d4e: 2000 movs r0, #0 - 16d50: 4b3e ldr r3, [pc, #248] ; (16e4c ) - 16d52: 4798 blx r3 - 16d54: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16d58: 0040 lsls r0, r0, #1 - 16d5a: 3050 adds r0, #80 ; 0x50 - 16d5c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16d60: f281 8336 bge.w 183d0 - 16d64: 2201 movs r2, #1 + 16d24: 4b38 ldr r3, [pc, #224] ; (16e08 ) + 16d26: 681c ldr r4, [r3, #0] + 16d28: 3430 adds r4, #48 ; 0x30 + 16d2a: 2000 movs r0, #0 + 16d2c: 4b43 ldr r3, [pc, #268] ; (16e3c ) + 16d2e: 4798 blx r3 + 16d30: 2801 cmp r0, #1 + 16d32: f241 830f bls.w 18354 + 16d36: 2000 movs r0, #0 + 16d38: 4b3e ldr r3, [pc, #248] ; (16e34 ) + 16d3a: 4798 blx r3 + 16d3c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16d40: 0040 lsls r0, r0, #1 + 16d42: 3050 adds r0, #80 ; 0x50 + 16d44: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16d48: f281 8336 bge.w 183b8 + 16d4c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 16d66: 2112 movs r1, #18 - 16d68: 4620 mov r0, r4 - 16d6a: 4b39 ldr r3, [pc, #228] ; (16e50 ) - 16d6c: 4798 blx r3 + 16d4e: 2112 movs r1, #18 + 16d50: 4620 mov r0, r4 + 16d52: 4b39 ldr r3, [pc, #228] ; (16e38 ) + 16d54: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 16d6e: 4b2c ldr r3, [pc, #176] ; (16e20 ) - 16d70: 681c ldr r4, [r3, #0] - 16d72: 3430 adds r4, #48 ; 0x30 - 16d74: 2000 movs r0, #0 - 16d76: 4b37 ldr r3, [pc, #220] ; (16e54 ) - 16d78: 4798 blx r3 - 16d7a: 2801 cmp r0, #1 - 16d7c: f241 8338 bls.w 183f0 - 16d80: 2000 movs r0, #0 - 16d82: 4b32 ldr r3, [pc, #200] ; (16e4c ) - 16d84: 4798 blx r3 - 16d86: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16d8a: 0040 lsls r0, r0, #1 - 16d8c: 3050 adds r0, #80 ; 0x50 - 16d8e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16d92: f281 8348 bge.w 18426 - 16d96: 2201 movs r2, #1 + 16d56: 4b2c ldr r3, [pc, #176] ; (16e08 ) + 16d58: 681c ldr r4, [r3, #0] + 16d5a: 3430 adds r4, #48 ; 0x30 + 16d5c: 2000 movs r0, #0 + 16d5e: 4b37 ldr r3, [pc, #220] ; (16e3c ) + 16d60: 4798 blx r3 + 16d62: 2801 cmp r0, #1 + 16d64: f241 8338 bls.w 183d8 + 16d68: 2000 movs r0, #0 + 16d6a: 4b32 ldr r3, [pc, #200] ; (16e34 ) + 16d6c: 4798 blx r3 + 16d6e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16d72: 0040 lsls r0, r0, #1 + 16d74: 3050 adds r0, #80 ; 0x50 + 16d76: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16d7a: f281 8348 bge.w 1840e + 16d7e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 16d98: 2113 movs r1, #19 - 16d9a: 4620 mov r0, r4 - 16d9c: 4b2c ldr r3, [pc, #176] ; (16e50 ) - 16d9e: 4798 blx r3 + 16d80: 2113 movs r1, #19 + 16d82: 4620 mov r0, r4 + 16d84: 4b2c ldr r3, [pc, #176] ; (16e38 ) + 16d86: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); - 16da0: 4b1f ldr r3, [pc, #124] ; (16e20 ) - 16da2: 681c ldr r4, [r3, #0] - 16da4: 3430 adds r4, #48 ; 0x30 - 16da6: 2000 movs r0, #0 - 16da8: 4b2a ldr r3, [pc, #168] ; (16e54 ) - 16daa: 4798 blx r3 - 16dac: 2801 cmp r0, #1 - 16dae: f241 834a bls.w 18446 - 16db2: 2000 movs r0, #0 - 16db4: 4b25 ldr r3, [pc, #148] ; (16e4c ) - 16db6: 4798 blx r3 - 16db8: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16dbc: 0040 lsls r0, r0, #1 - 16dbe: 3050 adds r0, #80 ; 0x50 - 16dc0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16dc4: f281 835a bge.w 1847c - 16dc8: 2201 movs r2, #1 + 16d88: 4b1f ldr r3, [pc, #124] ; (16e08 ) + 16d8a: 681c ldr r4, [r3, #0] + 16d8c: 3430 adds r4, #48 ; 0x30 + 16d8e: 2000 movs r0, #0 + 16d90: 4b2a ldr r3, [pc, #168] ; (16e3c ) + 16d92: 4798 blx r3 + 16d94: 2801 cmp r0, #1 + 16d96: f241 834a bls.w 1842e + 16d9a: 2000 movs r0, #0 + 16d9c: 4b25 ldr r3, [pc, #148] ; (16e34 ) + 16d9e: 4798 blx r3 + 16da0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16da4: 0040 lsls r0, r0, #1 + 16da6: 3050 adds r0, #80 ; 0x50 + 16da8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16dac: f281 835a bge.w 18464 + 16db0: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 16dca: 2111 movs r1, #17 - 16dcc: 4620 mov r0, r4 - 16dce: 4b20 ldr r3, [pc, #128] ; (16e50 ) - 16dd0: 4798 blx r3 + 16db2: 2111 movs r1, #17 + 16db4: 4620 mov r0, r4 + 16db6: 4b20 ldr r3, [pc, #128] ; (16e38 ) + 16db8: 4798 blx r3 lv_style_set_text_color(&styles->calendar_header, LV_STATE_PRESSED, IS_LIGHT ? lv_color_hex(0x888888) : LV_COLOR_WHITE); - 16dd2: 4b13 ldr r3, [pc, #76] ; (16e20 ) - 16dd4: 6818 ldr r0, [r3, #0] - 16dd6: 6a1b ldr r3, [r3, #32] - 16dd8: f013 0302 ands.w r3, r3, #2 - 16ddc: bf14 ite ne - 16dde: 2122 movne r1, #34 ; 0x22 - 16de0: 213f moveq r1, #63 ; 0x3f - 16de2: 2b00 cmp r3, #0 - 16de4: bf14 ite ne - 16de6: 2311 movne r3, #17 - 16de8: 231f moveq r3, #31 - 16dea: f04f 0200 mov.w r2, #0 - 16dee: f363 0204 bfi r2, r3, #0, #5 - 16df2: f361 124a bfi r2, r1, #5, #6 - 16df6: f363 22cf bfi r2, r3, #11, #5 + 16dba: 4b13 ldr r3, [pc, #76] ; (16e08 ) + 16dbc: 6818 ldr r0, [r3, #0] + 16dbe: 6a1b ldr r3, [r3, #32] + 16dc0: f013 0302 ands.w r3, r3, #2 + 16dc4: bf14 ite ne + 16dc6: 2122 movne r1, #34 ; 0x22 + 16dc8: 213f moveq r1, #63 ; 0x3f + 16dca: 2b00 cmp r3, #0 + 16dcc: bf14 ite ne + 16dce: 2311 movne r3, #17 + 16dd0: 231f moveq r3, #31 + 16dd2: f04f 0200 mov.w r2, #0 + 16dd6: f363 0204 bfi r2, r3, #0, #5 + 16dda: f361 124a bfi r2, r1, #5, #6 + 16dde: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 16dfa: f249 0189 movw r1, #37001 ; 0x9089 - 16dfe: 3030 adds r0, #48 ; 0x30 - 16e00: 4b11 ldr r3, [pc, #68] ; (16e48 ) - 16e02: 4798 blx r3 + 16de2: f249 0189 movw r1, #37001 ; 0x9089 + 16de6: 3030 adds r0, #48 ; 0x30 + 16de8: 4b11 ldr r3, [pc, #68] ; (16e30 ) + 16dea: 4798 blx r3 style_init_reset(&styles->calendar_daynames); - 16e04: 4c06 ldr r4, [pc, #24] ; (16e20 ) - 16e06: 6820 ldr r0, [r4, #0] - 16e08: 3034 adds r0, #52 ; 0x34 - 16e0a: 4b0e ldr r3, [pc, #56] ; (16e44 ) - 16e0c: 4798 blx r3 + 16dec: 4c06 ldr r4, [pc, #24] ; (16e08 ) + 16dee: 6820 ldr r0, [r4, #0] + 16df0: 3034 adds r0, #52 ; 0x34 + 16df2: 4b0e ldr r3, [pc, #56] ; (16e2c ) + 16df4: 4798 blx r3 lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee)); - 16e0e: 6820 ldr r0, [r4, #0] - 16e10: 3034 adds r0, #52 ; 0x34 - 16e12: 6a23 ldr r3, [r4, #32] - 16e14: f013 0f02 tst.w r3, #2 - 16e18: f041 8340 bne.w 1849c - 16e1c: e01c b.n 16e58 - 16e1e: bf00 nop - 16e20: 20006bd8 .word 0x20006bd8 - 16e24: 00014a81 .word 0x00014a81 - 16e28: 00015cc9 .word 0x00015cc9 - 16e2c: 00016a45 .word 0x00016a45 - 16e30: 00015e31 .word 0x00015e31 - 16e34: 000160d5 .word 0x000160d5 - 16e38: 00016219 .word 0x00016219 - 16e3c: 00016455 .word 0x00016455 - 16e40: 00016935 .word 0x00016935 - 16e44: 00014a61 .word 0x00014a61 - 16e48: 00006a25 .word 0x00006a25 - 16e4c: 00010f3d .word 0x00010f3d - 16e50: 000068e1 .word 0x000068e1 - 16e54: 00010f59 .word 0x00010f59 - 16e58: 231d movs r3, #29 - 16e5a: 213b movs r1, #59 ; 0x3b - 16e5c: 461c mov r4, r3 - 16e5e: f04f 0200 mov.w r2, #0 - 16e62: f364 0204 bfi r2, r4, #0, #5 - 16e66: f361 124a bfi r2, r1, #5, #6 - 16e6a: f363 22cf bfi r2, r3, #11, #5 - 16e6e: f248 0189 movw r1, #32905 ; 0x8089 - 16e72: 4bb8 ldr r3, [pc, #736] ; (17154 ) - 16e74: 4798 blx r3 + 16df6: 6820 ldr r0, [r4, #0] + 16df8: 3034 adds r0, #52 ; 0x34 + 16dfa: 6a23 ldr r3, [r4, #32] + 16dfc: f013 0f02 tst.w r3, #2 + 16e00: f041 8340 bne.w 18484 + 16e04: e01c b.n 16e40 + 16e06: bf00 nop + 16e08: 20006bd8 .word 0x20006bd8 + 16e0c: 00014a69 .word 0x00014a69 + 16e10: 00015cb1 .word 0x00015cb1 + 16e14: 00016a2d .word 0x00016a2d + 16e18: 00015e19 .word 0x00015e19 + 16e1c: 000160bd .word 0x000160bd + 16e20: 00016201 .word 0x00016201 + 16e24: 0001643d .word 0x0001643d + 16e28: 0001691d .word 0x0001691d + 16e2c: 00014a49 .word 0x00014a49 + 16e30: 00006a0d .word 0x00006a0d + 16e34: 00010f25 .word 0x00010f25 + 16e38: 000068c9 .word 0x000068c9 + 16e3c: 00010f41 .word 0x00010f41 + 16e40: 231d movs r3, #29 + 16e42: 213b movs r1, #59 ; 0x3b + 16e44: 461c mov r4, r3 + 16e46: f04f 0200 mov.w r2, #0 + 16e4a: f364 0204 bfi r2, r4, #0, #5 + 16e4e: f361 124a bfi r2, r1, #5, #6 + 16e52: f363 22cf bfi r2, r3, #11, #5 + 16e56: f248 0189 movw r1, #32905 ; 0x8089 + 16e5a: 4bb8 ldr r3, [pc, #736] ; (1713c ) + 16e5c: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 16e76: 4bb8 ldr r3, [pc, #736] ; (17158 ) - 16e78: 681c ldr r4, [r3, #0] - 16e7a: 3434 adds r4, #52 ; 0x34 - 16e7c: 2000 movs r0, #0 - 16e7e: 4bb7 ldr r3, [pc, #732] ; (1715c ) - 16e80: 4798 blx r3 - 16e82: 2801 cmp r0, #1 - 16e84: f241 830f bls.w 184a6 - 16e88: 2000 movs r0, #0 - 16e8a: 4bb5 ldr r3, [pc, #724] ; (17160 ) - 16e8c: 4798 blx r3 - 16e8e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16e92: 0040 lsls r0, r0, #1 - 16e94: 3050 adds r0, #80 ; 0x50 - 16e96: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16e9a: f281 831f bge.w 184dc - 16e9e: 2201 movs r2, #1 + 16e5e: 4bb8 ldr r3, [pc, #736] ; (17140 ) + 16e60: 681c ldr r4, [r3, #0] + 16e62: 3434 adds r4, #52 ; 0x34 + 16e64: 2000 movs r0, #0 + 16e66: 4bb7 ldr r3, [pc, #732] ; (17144 ) + 16e68: 4798 blx r3 + 16e6a: 2801 cmp r0, #1 + 16e6c: f241 830f bls.w 1848e + 16e70: 2000 movs r0, #0 + 16e72: 4bb5 ldr r3, [pc, #724] ; (17148 ) + 16e74: 4798 blx r3 + 16e76: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16e7a: 0040 lsls r0, r0, #1 + 16e7c: 3050 adds r0, #80 ; 0x50 + 16e7e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16e82: f281 831f bge.w 184c4 + 16e86: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 16ea0: 2112 movs r1, #18 - 16ea2: 4620 mov r0, r4 - 16ea4: 4baf ldr r3, [pc, #700] ; (17164 ) - 16ea6: 4798 blx r3 + 16e88: 2112 movs r1, #18 + 16e8a: 4620 mov r0, r4 + 16e8c: 4baf ldr r3, [pc, #700] ; (1714c ) + 16e8e: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 16ea8: 4bab ldr r3, [pc, #684] ; (17158 ) - 16eaa: 681c ldr r4, [r3, #0] - 16eac: 3434 adds r4, #52 ; 0x34 - 16eae: 2000 movs r0, #0 - 16eb0: 4baa ldr r3, [pc, #680] ; (1715c ) - 16eb2: 4798 blx r3 - 16eb4: 2801 cmp r0, #1 - 16eb6: f241 8321 bls.w 184fc - 16eba: 2000 movs r0, #0 - 16ebc: 4ba8 ldr r3, [pc, #672] ; (17160 ) - 16ebe: 4798 blx r3 - 16ec0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16ec4: 0040 lsls r0, r0, #1 - 16ec6: 3050 adds r0, #80 ; 0x50 - 16ec8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16ecc: f281 8331 bge.w 18532 - 16ed0: 2201 movs r2, #1 + 16e90: 4bab ldr r3, [pc, #684] ; (17140 ) + 16e92: 681c ldr r4, [r3, #0] + 16e94: 3434 adds r4, #52 ; 0x34 + 16e96: 2000 movs r0, #0 + 16e98: 4baa ldr r3, [pc, #680] ; (17144 ) + 16e9a: 4798 blx r3 + 16e9c: 2801 cmp r0, #1 + 16e9e: f241 8321 bls.w 184e4 + 16ea2: 2000 movs r0, #0 + 16ea4: 4ba8 ldr r3, [pc, #672] ; (17148 ) + 16ea6: 4798 blx r3 + 16ea8: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16eac: 0040 lsls r0, r0, #1 + 16eae: 3050 adds r0, #80 ; 0x50 + 16eb0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16eb4: f281 8331 bge.w 1851a + 16eb8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 16ed2: 2113 movs r1, #19 - 16ed4: 4620 mov r0, r4 - 16ed6: 4ba3 ldr r3, [pc, #652] ; (17164 ) - 16ed8: 4798 blx r3 + 16eba: 2113 movs r1, #19 + 16ebc: 4620 mov r0, r4 + 16ebe: 4ba3 ldr r3, [pc, #652] ; (1714c ) + 16ec0: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); - 16eda: 4b9f ldr r3, [pc, #636] ; (17158 ) - 16edc: 681c ldr r4, [r3, #0] - 16ede: 3434 adds r4, #52 ; 0x34 - 16ee0: 2000 movs r0, #0 - 16ee2: 4b9e ldr r3, [pc, #632] ; (1715c ) - 16ee4: 4798 blx r3 - 16ee6: 2801 cmp r0, #1 - 16ee8: f241 8333 bls.w 18552 - 16eec: 2000 movs r0, #0 - 16eee: 4b9c ldr r3, [pc, #624] ; (17160 ) - 16ef0: 4798 blx r3 - 16ef2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 16ef6: 0040 lsls r0, r0, #1 - 16ef8: 3050 adds r0, #80 ; 0x50 - 16efa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16efe: f281 8343 bge.w 18588 - 16f02: 2201 movs r2, #1 + 16ec2: 4b9f ldr r3, [pc, #636] ; (17140 ) + 16ec4: 681c ldr r4, [r3, #0] + 16ec6: 3434 adds r4, #52 ; 0x34 + 16ec8: 2000 movs r0, #0 + 16eca: 4b9e ldr r3, [pc, #632] ; (17144 ) + 16ecc: 4798 blx r3 + 16ece: 2801 cmp r0, #1 + 16ed0: f241 8333 bls.w 1853a + 16ed4: 2000 movs r0, #0 + 16ed6: 4b9c ldr r3, [pc, #624] ; (17148 ) + 16ed8: 4798 blx r3 + 16eda: ebc0 1000 rsb r0, r0, r0, lsl #4 + 16ede: 0040 lsls r0, r0, #1 + 16ee0: 3050 adds r0, #80 ; 0x50 + 16ee2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16ee6: f281 8343 bge.w 18570 + 16eea: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 16f04: 2111 movs r1, #17 - 16f06: 4620 mov r0, r4 - 16f08: 4b96 ldr r3, [pc, #600] ; (17164 ) - 16f0a: 4798 blx r3 + 16eec: 2111 movs r1, #17 + 16eee: 4620 mov r0, r4 + 16ef0: 4b96 ldr r3, [pc, #600] ; (1714c ) + 16ef2: 4798 blx r3 style_init_reset(&styles->calendar_date_nums); - 16f0c: 4c92 ldr r4, [pc, #584] ; (17158 ) - 16f0e: 6820 ldr r0, [r4, #0] - 16f10: 302c adds r0, #44 ; 0x2c - 16f12: 4b95 ldr r3, [pc, #596] ; (17168 ) - 16f14: 4798 blx r3 + 16ef4: 4c92 ldr r4, [pc, #584] ; (17140 ) + 16ef6: 6820 ldr r0, [r4, #0] + 16ef8: 302c adds r0, #44 ; 0x2c + 16efa: 4b95 ldr r3, [pc, #596] ; (17150 ) + 16efc: 4798 blx r3 lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4)); - 16f16: 6824 ldr r4, [r4, #0] - 16f18: 342c adds r4, #44 ; 0x2c - 16f1a: 2000 movs r0, #0 - 16f1c: 4b90 ldr r3, [pc, #576] ; (17160 ) - 16f1e: 4798 blx r3 - 16f20: 3014 adds r0, #20 - 16f22: 0080 lsls r0, r0, #2 - 16f24: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 16f28: f281 833e bge.w 185a8 - 16f2c: 2201 movs r2, #1 + 16efe: 6824 ldr r4, [r4, #0] + 16f00: 342c adds r4, #44 ; 0x2c + 16f02: 2000 movs r0, #0 + 16f04: 4b90 ldr r3, [pc, #576] ; (17148 ) + 16f06: 4798 blx r3 + 16f08: 3014 adds r0, #20 + 16f0a: 0080 lsls r0, r0, #2 + 16f0c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 16f10: f281 833e bge.w 18590 + 16f14: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 16f2e: 2101 movs r1, #1 - 16f30: 4620 mov r0, r4 - 16f32: 4b8c ldr r3, [pc, #560] ; (17164 ) - 16f34: 4798 blx r3 + 16f16: 2101 movs r1, #1 + 16f18: 4620 mov r0, r4 + 16f1a: 4b8c ldr r3, [pc, #560] ; (1714c ) + 16f1c: 4798 blx r3 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 16f36: 4b88 ldr r3, [pc, #544] ; (17158 ) - 16f38: 6818 ldr r0, [r3, #0] - 16f3a: 302c adds r0, #44 ; 0x2c - 16f3c: 6a1b ldr r3, [r3, #32] - 16f3e: f013 0f02 tst.w r3, #2 - 16f42: f041 833f bne.w 185c4 - 16f46: 231f movs r3, #31 - 16f48: 213f movs r1, #63 ; 0x3f - 16f4a: 461c mov r4, r3 - 16f4c: f04f 0200 mov.w r2, #0 - 16f50: f364 0204 bfi r2, r4, #0, #5 - 16f54: f361 124a bfi r2, r1, #5, #6 - 16f58: f363 22cf bfi r2, r3, #11, #5 + 16f1e: 4b88 ldr r3, [pc, #544] ; (17140 ) + 16f20: 6818 ldr r0, [r3, #0] + 16f22: 302c adds r0, #44 ; 0x2c + 16f24: 6a1b ldr r3, [r3, #32] + 16f26: f013 0f02 tst.w r3, #2 + 16f2a: f041 833f bne.w 185ac + 16f2e: 231f movs r3, #31 + 16f30: 213f movs r1, #63 ; 0x3f + 16f32: 461c mov r4, r3 + 16f34: f04f 0200 mov.w r2, #0 + 16f38: f364 0204 bfi r2, r4, #0, #5 + 16f3c: f361 124a bfi r2, r1, #5, #6 + 16f40: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 16f5c: f248 1189 movw r1, #33161 ; 0x8189 - 16f60: 4b7c ldr r3, [pc, #496] ; (17154 ) - 16f62: 4798 blx r3 + 16f44: f248 1189 movw r1, #33161 ; 0x8189 + 16f48: 4b7c ldr r3, [pc, #496] ; (1713c ) + 16f4a: 4798 blx r3 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? LV_OPA_20 : LV_OPA_40); - 16f64: 4b7c ldr r3, [pc, #496] ; (17158 ) - 16f66: 6818 ldr r0, [r3, #0] - 16f68: 6a1b ldr r3, [r3, #32] - 16f6a: f013 0f02 tst.w r3, #2 + 16f4c: 4b7c ldr r3, [pc, #496] ; (17140 ) + 16f4e: 6818 ldr r0, [r3, #0] + 16f50: 6a1b ldr r3, [r3, #32] + 16f52: f013 0f02 tst.w r3, #2 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 16f6e: bf14 ite ne - 16f70: 2233 movne r2, #51 ; 0x33 - 16f72: 2266 moveq r2, #102 ; 0x66 - 16f74: f44f 7196 mov.w r1, #300 ; 0x12c - 16f78: 302c adds r0, #44 ; 0x2c - 16f7a: 4d7c ldr r5, [pc, #496] ; (1716c ) - 16f7c: 47a8 blx r5 + 16f56: bf14 ite ne + 16f58: 2233 movne r2, #51 ; 0x33 + 16f5a: 2266 moveq r2, #102 ; 0x66 + 16f5c: f44f 7196 mov.w r1, #300 ; 0x12c + 16f60: 302c adds r0, #44 ; 0x2c + 16f62: 4d7c ldr r5, [pc, #496] ; (17154 ) + 16f64: 47a8 blx r5 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_PRESSED, LV_OPA_20); - 16f7e: 4c76 ldr r4, [pc, #472] ; (17158 ) - 16f80: 6820 ldr r0, [r4, #0] - 16f82: 2233 movs r2, #51 ; 0x33 - 16f84: f241 012c movw r1, #4140 ; 0x102c - 16f88: 302c adds r0, #44 ; 0x2c - 16f8a: 47a8 blx r5 + 16f66: 4c76 ldr r4, [pc, #472] ; (17140 ) + 16f68: 6820 ldr r0, [r4, #0] + 16f6a: 2233 movs r2, #51 ; 0x33 + 16f6c: f241 012c movw r1, #4140 ; 0x102c + 16f70: 302c adds r0, #44 ; 0x2c + 16f72: 47a8 blx r5 lv_style_set_bg_opa(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_OPA_COVER); - 16f8c: 6820 ldr r0, [r4, #0] - 16f8e: 22ff movs r2, #255 ; 0xff - 16f90: f44f 710b mov.w r1, #556 ; 0x22c - 16f94: 302c adds r0, #44 ; 0x2c - 16f96: 47a8 blx r5 + 16f74: 6820 ldr r0, [r4, #0] + 16f76: 22ff movs r2, #255 ; 0xff + 16f78: f44f 710b mov.w r1, #556 ; 0x22c + 16f7c: 302c adds r0, #44 ; 0x2c + 16f7e: 47a8 blx r5 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, LV_COLOR_WHITE); - 16f98: 6820 ldr r0, [r4, #0] + 16f80: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 16f9a: 4b75 ldr r3, [pc, #468] ; (17170 ) - 16f9c: 881a ldrh r2, [r3, #0] - 16f9e: f248 2189 movw r1, #33417 ; 0x8289 - 16fa2: 302c adds r0, #44 ; 0x2c - 16fa4: 4d6b ldr r5, [pc, #428] ; (17154 ) - 16fa6: 47a8 blx r5 + 16f82: 4b75 ldr r3, [pc, #468] ; (17158 ) + 16f84: 881a ldrh r2, [r3, #0] + 16f86: f248 2189 movw r1, #33417 ; 0x8289 + 16f8a: 302c adds r0, #44 ; 0x2c + 16f8c: 4d6b ldr r5, [pc, #428] ; (1713c ) + 16f8e: 47a8 blx r5 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_FOCUSED, theme.color_primary); - 16fa8: 6820 ldr r0, [r4, #0] + 16f90: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 16faa: 89a2 ldrh r2, [r4, #12] - 16fac: f240 2129 movw r1, #553 ; 0x229 - 16fb0: 302c adds r0, #44 ; 0x2c - 16fb2: 47a8 blx r5 + 16f92: 89a2 ldrh r2, [r4, #12] + 16f94: f240 2129 movw r1, #553 ; 0x229 + 16f98: 302c adds r0, #44 ; 0x2c + 16f9a: 47a8 blx r5 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x666666) : LV_COLOR_WHITE); - 16fb4: 6820 ldr r0, [r4, #0] - 16fb6: 6a23 ldr r3, [r4, #32] - 16fb8: f013 0302 ands.w r3, r3, #2 - 16fbc: bf14 ite ne - 16fbe: 2119 movne r1, #25 - 16fc0: 213f moveq r1, #63 ; 0x3f - 16fc2: 2b00 cmp r3, #0 - 16fc4: bf14 ite ne - 16fc6: 230c movne r3, #12 - 16fc8: 231f moveq r3, #31 - 16fca: f04f 0200 mov.w r2, #0 - 16fce: f363 0204 bfi r2, r3, #0, #5 - 16fd2: f361 124a bfi r2, r1, #5, #6 - 16fd6: f363 22cf bfi r2, r3, #11, #5 - 16fda: 2129 movs r1, #41 ; 0x29 - 16fdc: 302c adds r0, #44 ; 0x2c - 16fde: 47a8 blx r5 + 16f9c: 6820 ldr r0, [r4, #0] + 16f9e: 6a23 ldr r3, [r4, #32] + 16fa0: f013 0302 ands.w r3, r3, #2 + 16fa4: bf14 ite ne + 16fa6: 2119 movne r1, #25 + 16fa8: 213f moveq r1, #63 ; 0x3f + 16faa: 2b00 cmp r3, #0 + 16fac: bf14 ite ne + 16fae: 230c movne r3, #12 + 16fb0: 231f moveq r3, #31 + 16fb2: f04f 0200 mov.w r2, #0 + 16fb6: f363 0204 bfi r2, r3, #0, #5 + 16fba: f361 124a bfi r2, r1, #5, #6 + 16fbe: f363 22cf bfi r2, r3, #11, #5 + 16fc2: 2129 movs r1, #41 ; 0x29 + 16fc4: 302c adds r0, #44 ; 0x2c + 16fc6: 47a8 blx r5 lv_style_set_bg_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary); - 16fe0: 6820 ldr r0, [r4, #0] - 16fe2: 89a2 ldrh r2, [r4, #12] - 16fe4: f240 1129 movw r1, #297 ; 0x129 - 16fe8: 302c adds r0, #44 ; 0x2c - 16fea: 47a8 blx r5 + 16fc8: 6820 ldr r0, [r4, #0] + 16fca: 89a2 ldrh r2, [r4, #12] + 16fcc: f240 1129 movw r1, #297 ; 0x129 + 16fd0: 302c adds r0, #44 ; 0x2c + 16fd2: 47a8 blx r5 lv_style_set_border_width(&styles->calendar_date_nums, LV_STATE_CHECKED, 2); - 16fec: 6820 ldr r0, [r4, #0] + 16fd4: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 16fee: 2202 movs r2, #2 - 16ff0: f44f 7198 mov.w r1, #304 ; 0x130 - 16ff4: 302c adds r0, #44 ; 0x2c - 16ff6: 4e5b ldr r6, [pc, #364] ; (17164 ) - 16ff8: 47b0 blx r6 + 16fd6: 2202 movs r2, #2 + 16fd8: f44f 7198 mov.w r1, #304 ; 0x130 + 16fdc: 302c adds r0, #44 ; 0x2c + 16fde: 4e5b ldr r6, [pc, #364] ; (1714c ) + 16fe0: 47b0 blx r6 lv_style_set_border_side(&styles->calendar_date_nums, LV_STATE_CHECKED, LV_BORDER_SIDE_LEFT); - 16ffa: 6820 ldr r0, [r4, #0] + 16fe2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 16ffc: 2204 movs r2, #4 - 16ffe: f240 1131 movw r1, #305 ; 0x131 - 17002: 302c adds r0, #44 ; 0x2c - 17004: 47b0 blx r6 + 16fe4: 2204 movs r2, #4 + 16fe6: f240 1131 movw r1, #305 ; 0x131 + 16fea: 302c adds r0, #44 ; 0x2c + 16fec: 47b0 blx r6 lv_style_set_border_color(&styles->calendar_date_nums, LV_STATE_CHECKED, theme.color_primary); - 17006: 6820 ldr r0, [r4, #0] + 16fee: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17008: 89a2 ldrh r2, [r4, #12] - 1700a: f240 1139 movw r1, #313 ; 0x139 - 1700e: 302c adds r0, #44 ; 0x2c - 17010: 47a8 blx r5 + 16ff0: 89a2 ldrh r2, [r4, #12] + 16ff2: f240 1139 movw r1, #313 ; 0x139 + 16ff6: 302c adds r0, #44 ; 0x2c + 16ff8: 47a8 blx r5 lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3)); - 17012: 6824 ldr r4, [r4, #0] - 17014: 342c adds r4, #44 ; 0x2c - 17016: 2000 movs r0, #0 - 17018: 4b51 ldr r3, [pc, #324] ; (17160 ) - 1701a: 4798 blx r3 - 1701c: eb00 0040 add.w r0, r0, r0, lsl #1 - 17020: 3050 adds r0, #80 ; 0x50 - 17022: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17026: f281 82d2 bge.w 185ce - 1702a: 2201 movs r2, #1 + 16ffa: 6824 ldr r4, [r4, #0] + 16ffc: 342c adds r4, #44 ; 0x2c + 16ffe: 2000 movs r0, #0 + 17000: 4b51 ldr r3, [pc, #324] ; (17148 ) + 17002: 4798 blx r3 + 17004: eb00 0040 add.w r0, r0, r0, lsl #1 + 17008: 3050 adds r0, #80 ; 0x50 + 1700a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1700e: f281 82d2 bge.w 185b6 + 17012: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1702c: 2114 movs r1, #20 - 1702e: 4620 mov r0, r4 - 17030: 4b4c ldr r3, [pc, #304] ; (17164 ) - 17032: 4798 blx r3 + 17014: 2114 movs r1, #20 + 17016: 4620 mov r0, r4 + 17018: 4b4c ldr r3, [pc, #304] ; (1714c ) + 1701a: 4798 blx r3 lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 17034: 4b48 ldr r3, [pc, #288] ; (17158 ) - 17036: 681c ldr r4, [r3, #0] - 17038: 342c adds r4, #44 ; 0x2c - 1703a: 2000 movs r0, #0 - 1703c: 4b47 ldr r3, [pc, #284] ; (1715c ) - 1703e: 4798 blx r3 - 17040: 2801 cmp r0, #1 - 17042: f241 82d3 bls.w 185ec - 17046: 2000 movs r0, #0 - 17048: 4b45 ldr r3, [pc, #276] ; (17160 ) - 1704a: 4798 blx r3 - 1704c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17050: 0040 lsls r0, r0, #1 - 17052: 3050 adds r0, #80 ; 0x50 - 17054: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17058: f281 82e3 bge.w 18622 - 1705c: 2201 movs r2, #1 + 1701c: 4b48 ldr r3, [pc, #288] ; (17140 ) + 1701e: 681c ldr r4, [r3, #0] + 17020: 342c adds r4, #44 ; 0x2c + 17022: 2000 movs r0, #0 + 17024: 4b47 ldr r3, [pc, #284] ; (17144 ) + 17026: 4798 blx r3 + 17028: 2801 cmp r0, #1 + 1702a: f241 82d3 bls.w 185d4 + 1702e: 2000 movs r0, #0 + 17030: 4b45 ldr r3, [pc, #276] ; (17148 ) + 17032: 4798 blx r3 + 17034: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17038: 0040 lsls r0, r0, #1 + 1703a: 3050 adds r0, #80 ; 0x50 + 1703c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17040: f281 82e3 bge.w 1860a + 17044: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1705e: 2112 movs r1, #18 - 17060: 4620 mov r0, r4 - 17062: 4b40 ldr r3, [pc, #256] ; (17164 ) - 17064: 4798 blx r3 + 17046: 2112 movs r1, #18 + 17048: 4620 mov r0, r4 + 1704a: 4b40 ldr r3, [pc, #256] ; (1714c ) + 1704c: 4798 blx r3 lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 17066: 4b3c ldr r3, [pc, #240] ; (17158 ) - 17068: 681c ldr r4, [r3, #0] - 1706a: 342c adds r4, #44 ; 0x2c - 1706c: 2000 movs r0, #0 - 1706e: 4b3b ldr r3, [pc, #236] ; (1715c ) - 17070: 4798 blx r3 - 17072: 2801 cmp r0, #1 - 17074: f241 82e5 bls.w 18642 - 17078: 2000 movs r0, #0 - 1707a: 4b39 ldr r3, [pc, #228] ; (17160 ) - 1707c: 4798 blx r3 - 1707e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17082: 0040 lsls r0, r0, #1 - 17084: 3050 adds r0, #80 ; 0x50 - 17086: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1708a: f281 82f5 bge.w 18678 - 1708e: 2201 movs r2, #1 + 1704e: 4b3c ldr r3, [pc, #240] ; (17140 ) + 17050: 681c ldr r4, [r3, #0] + 17052: 342c adds r4, #44 ; 0x2c + 17054: 2000 movs r0, #0 + 17056: 4b3b ldr r3, [pc, #236] ; (17144 ) + 17058: 4798 blx r3 + 1705a: 2801 cmp r0, #1 + 1705c: f241 82e5 bls.w 1862a + 17060: 2000 movs r0, #0 + 17062: 4b39 ldr r3, [pc, #228] ; (17148 ) + 17064: 4798 blx r3 + 17066: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1706a: 0040 lsls r0, r0, #1 + 1706c: 3050 adds r0, #80 ; 0x50 + 1706e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17072: f281 82f5 bge.w 18660 + 17076: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17090: 2113 movs r1, #19 - 17092: 4620 mov r0, r4 - 17094: 4b33 ldr r3, [pc, #204] ; (17164 ) - 17096: 4798 blx r3 + 17078: 2113 movs r1, #19 + 1707a: 4620 mov r0, r4 + 1707c: 4b33 ldr r3, [pc, #204] ; (1714c ) + 1707e: 4798 blx r3 lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); - 17098: 4b2f ldr r3, [pc, #188] ; (17158 ) - 1709a: 681c ldr r4, [r3, #0] - 1709c: 342c adds r4, #44 ; 0x2c - 1709e: 2000 movs r0, #0 - 170a0: 4b2e ldr r3, [pc, #184] ; (1715c ) - 170a2: 4798 blx r3 - 170a4: 2801 cmp r0, #1 - 170a6: f241 82f7 bls.w 18698 - 170aa: 2000 movs r0, #0 - 170ac: 4b2c ldr r3, [pc, #176] ; (17160 ) - 170ae: 4798 blx r3 - 170b0: ebc0 1000 rsb r0, r0, r0, lsl #4 - 170b4: 0040 lsls r0, r0, #1 - 170b6: 3050 adds r0, #80 ; 0x50 - 170b8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 170bc: f281 8307 bge.w 186ce - 170c0: 2201 movs r2, #1 + 17080: 4b2f ldr r3, [pc, #188] ; (17140 ) + 17082: 681c ldr r4, [r3, #0] + 17084: 342c adds r4, #44 ; 0x2c + 17086: 2000 movs r0, #0 + 17088: 4b2e ldr r3, [pc, #184] ; (17144 ) + 1708a: 4798 blx r3 + 1708c: 2801 cmp r0, #1 + 1708e: f241 82f7 bls.w 18680 + 17092: 2000 movs r0, #0 + 17094: 4b2c ldr r3, [pc, #176] ; (17148 ) + 17096: 4798 blx r3 + 17098: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1709c: 0040 lsls r0, r0, #1 + 1709e: 3050 adds r0, #80 ; 0x50 + 170a0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 170a4: f281 8307 bge.w 186b6 + 170a8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 170c2: 2111 movs r1, #17 - 170c4: 4620 mov r0, r4 - 170c6: 4b27 ldr r3, [pc, #156] ; (17164 ) - 170c8: 4798 blx r3 + 170aa: 2111 movs r1, #17 + 170ac: 4620 mov r0, r4 + 170ae: 4b27 ldr r3, [pc, #156] ; (1714c ) + 170b0: 4798 blx r3 style_init_reset(&styles->cpicker_bg); - 170ca: 4c23 ldr r4, [pc, #140] ; (17158 ) - 170cc: 6820 ldr r0, [r4, #0] - 170ce: 3038 adds r0, #56 ; 0x38 - 170d0: 4b25 ldr r3, [pc, #148] ; (17168 ) - 170d2: 4798 blx r3 + 170b2: 4c23 ldr r4, [pc, #140] ; (17140 ) + 170b4: 6820 ldr r0, [r4, #0] + 170b6: 3038 adds r0, #56 ; 0x38 + 170b8: 4b25 ldr r3, [pc, #148] ; (17150 ) + 170ba: 4798 blx r3 lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30)); - 170d4: 6824 ldr r4, [r4, #0] - 170d6: 3438 adds r4, #56 ; 0x38 - 170d8: 2000 movs r0, #0 - 170da: 4b21 ldr r3, [pc, #132] ; (17160 ) - 170dc: 4798 blx r3 - 170de: ebc0 1000 rsb r0, r0, r0, lsl #4 - 170e2: 0040 lsls r0, r0, #1 - 170e4: 3050 adds r0, #80 ; 0x50 - 170e6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 170ea: f281 8305 bge.w 186f8 - 170ee: 2201 movs r2, #1 + 170bc: 6824 ldr r4, [r4, #0] + 170be: 3438 adds r4, #56 ; 0x38 + 170c0: 2000 movs r0, #0 + 170c2: 4b21 ldr r3, [pc, #132] ; (17148 ) + 170c4: 4798 blx r3 + 170c6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 170ca: 0040 lsls r0, r0, #1 + 170cc: 3050 adds r0, #80 ; 0x50 + 170ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 170d2: f281 8305 bge.w 186e0 + 170d6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SCALE_WIDTH, scale_width, lv_style_int_t, _int, scalar) - 170f0: 21c0 movs r1, #192 ; 0xc0 - 170f2: 4620 mov r0, r4 - 170f4: 4b1b ldr r3, [pc, #108] ; (17164 ) - 170f6: 4798 blx r3 + 170d8: 21c0 movs r1, #192 ; 0xc0 + 170da: 4620 mov r0, r4 + 170dc: 4b1b ldr r3, [pc, #108] ; (1714c ) + 170de: 4798 blx r3 lv_style_set_bg_opa(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 170f8: 4c17 ldr r4, [pc, #92] ; (17158 ) - 170fa: 6820 ldr r0, [r4, #0] + 170e0: 4c17 ldr r4, [pc, #92] ; (17140 ) + 170e2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 170fc: 22ff movs r2, #255 ; 0xff - 170fe: 212c movs r1, #44 ; 0x2c - 17100: 3038 adds r0, #56 ; 0x38 - 17102: 4b1a ldr r3, [pc, #104] ; (1716c ) - 17104: 4798 blx r3 + 170e4: 22ff movs r2, #255 ; 0xff + 170e6: 212c movs r1, #44 ; 0x2c + 170e8: 3038 adds r0, #56 ; 0x38 + 170ea: 4b1a ldr r3, [pc, #104] ; (17154 ) + 170ec: 4798 blx r3 lv_style_set_bg_color(&styles->cpicker_bg, LV_STATE_DEFAULT, COLOR_SCR); - 17106: 6820 ldr r0, [r4, #0] - 17108: 6a23 ldr r3, [r4, #32] - 1710a: f013 0302 ands.w r3, r3, #2 - 1710e: bf14 ite ne - 17110: 211d movne r1, #29 - 17112: 2108 moveq r1, #8 - 17114: 2b00 cmp r3, #0 - 17116: bf15 itete ne - 17118: 243b movne r4, #59 ; 0x3b - 1711a: 2412 moveq r4, #18 - 1711c: 231e movne r3, #30 - 1711e: 230b moveq r3, #11 - 17120: f04f 0200 mov.w r2, #0 - 17124: f363 0204 bfi r2, r3, #0, #5 - 17128: f364 124a bfi r2, r4, #5, #6 - 1712c: f361 22cf bfi r2, r1, #11, #5 + 170ee: 6820 ldr r0, [r4, #0] + 170f0: 6a23 ldr r3, [r4, #32] + 170f2: f013 0302 ands.w r3, r3, #2 + 170f6: bf14 ite ne + 170f8: 211d movne r1, #29 + 170fa: 2108 moveq r1, #8 + 170fc: 2b00 cmp r3, #0 + 170fe: bf15 itete ne + 17100: 243b movne r4, #59 ; 0x3b + 17102: 2412 moveq r4, #18 + 17104: 231e movne r3, #30 + 17106: 230b moveq r3, #11 + 17108: f04f 0200 mov.w r2, #0 + 1710c: f363 0204 bfi r2, r3, #0, #5 + 17110: f364 124a bfi r2, r4, #5, #6 + 17114: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17130: 2129 movs r1, #41 ; 0x29 - 17132: 3038 adds r0, #56 ; 0x38 - 17134: 4b07 ldr r3, [pc, #28] ; (17154 ) - 17136: 4798 blx r3 + 17118: 2129 movs r1, #41 ; 0x29 + 1711a: 3038 adds r0, #56 ; 0x38 + 1711c: 4b07 ldr r3, [pc, #28] ; (1713c ) + 1711e: 4798 blx r3 lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20)); - 17138: 4b07 ldr r3, [pc, #28] ; (17158 ) - 1713a: 681c ldr r4, [r3, #0] - 1713c: 3438 adds r4, #56 ; 0x38 - 1713e: 2000 movs r0, #0 - 17140: 4b07 ldr r3, [pc, #28] ; (17160 ) - 17142: 4798 blx r3 - 17144: eb00 0080 add.w r0, r0, r0, lsl #2 - 17148: 0080 lsls r0, r0, #2 - 1714a: 3050 adds r0, #80 ; 0x50 - 1714c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17150: e010 b.n 17174 - 17152: bf00 nop - 17154: 00006a25 .word 0x00006a25 - 17158: 20006bd8 .word 0x20006bd8 - 1715c: 00010f59 .word 0x00010f59 - 17160: 00010f3d .word 0x00010f3d - 17164: 000068e1 .word 0x000068e1 - 17168: 00014a61 .word 0x00014a61 - 1716c: 00006b69 .word 0x00006b69 - 17170: 00029584 .word 0x00029584 - 17174: f281 82d0 bge.w 18718 - 17178: 2201 movs r2, #1 + 17120: 4b07 ldr r3, [pc, #28] ; (17140 ) + 17122: 681c ldr r4, [r3, #0] + 17124: 3438 adds r4, #56 ; 0x38 + 17126: 2000 movs r0, #0 + 17128: 4b07 ldr r3, [pc, #28] ; (17148 ) + 1712a: 4798 blx r3 + 1712c: eb00 0080 add.w r0, r0, r0, lsl #2 + 17130: 0080 lsls r0, r0, #2 + 17132: 3050 adds r0, #80 ; 0x50 + 17134: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17138: e010 b.n 1715c + 1713a: bf00 nop + 1713c: 00006a0d .word 0x00006a0d + 17140: 20006bd8 .word 0x20006bd8 + 17144: 00010f41 .word 0x00010f41 + 17148: 00010f25 .word 0x00010f25 + 1714c: 000068c9 .word 0x000068c9 + 17150: 00014a49 .word 0x00014a49 + 17154: 00006b51 .word 0x00006b51 + 17158: 0002956c .word 0x0002956c + 1715c: f281 82d0 bge.w 18700 + 17160: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1717a: 2114 movs r1, #20 - 1717c: 4620 mov r0, r4 - 1717e: 4eb6 ldr r6, [pc, #728] ; (17458 ) - 17180: 47b0 blx r6 + 17162: 2114 movs r1, #20 + 17164: 4620 mov r0, r4 + 17166: 4eb6 ldr r6, [pc, #728] ; (17440 ) + 17168: 47b0 blx r6 lv_style_set_radius(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 17182: 4cb6 ldr r4, [pc, #728] ; (1745c ) - 17184: 6820 ldr r0, [r4, #0] + 1716a: 4cb6 ldr r4, [pc, #728] ; (17444 ) + 1716c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17186: f647 72ff movw r2, #32767 ; 0x7fff - 1718a: 2101 movs r1, #1 - 1718c: 3038 adds r0, #56 ; 0x38 - 1718e: 47b0 blx r6 + 1716e: f647 72ff movw r2, #32767 ; 0x7fff + 17172: 2101 movs r1, #1 + 17174: 3038 adds r0, #56 ; 0x38 + 17176: 47b0 blx r6 style_init_reset(&styles->cpicker_indic); - 17190: 6820 ldr r0, [r4, #0] - 17192: 303c adds r0, #60 ; 0x3c - 17194: 4bb2 ldr r3, [pc, #712] ; (17460 ) - 17196: 4798 blx r3 + 17178: 6820 ldr r0, [r4, #0] + 1717a: 303c adds r0, #60 ; 0x3c + 1717c: 4bb2 ldr r3, [pc, #712] ; (17448 ) + 1717e: 4798 blx r3 lv_style_set_radius(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 17198: 6820 ldr r0, [r4, #0] - 1719a: f647 72ff movw r2, #32767 ; 0x7fff - 1719e: 2101 movs r1, #1 - 171a0: 303c adds r0, #60 ; 0x3c - 171a2: 47b0 blx r6 + 17180: 6820 ldr r0, [r4, #0] + 17182: f647 72ff movw r2, #32767 ; 0x7fff + 17186: 2101 movs r1, #1 + 17188: 303c adds r0, #60 ; 0x3c + 1718a: 47b0 blx r6 lv_style_set_bg_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 171a4: 6820 ldr r0, [r4, #0] - 171a6: 4faf ldr r7, [pc, #700] ; (17464 ) + 1718c: 6820 ldr r0, [r4, #0] + 1718e: 4faf ldr r7, [pc, #700] ; (1744c ) _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 171a8: 883a ldrh r2, [r7, #0] - 171aa: 2129 movs r1, #41 ; 0x29 - 171ac: 303c adds r0, #60 ; 0x3c - 171ae: 4dae ldr r5, [pc, #696] ; (17468 ) - 171b0: 47a8 blx r5 + 17190: 883a ldrh r2, [r7, #0] + 17192: 2129 movs r1, #41 ; 0x29 + 17194: 303c adds r0, #60 ; 0x3c + 17196: 4dae ldr r5, [pc, #696] ; (17450 ) + 17198: 47a8 blx r5 lv_style_set_bg_opa(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 171b2: 6820 ldr r0, [r4, #0] + 1719a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 171b4: 22ff movs r2, #255 ; 0xff - 171b6: 212c movs r1, #44 ; 0x2c - 171b8: 303c adds r0, #60 ; 0x3c - 171ba: 4bac ldr r3, [pc, #688] ; (1746c ) - 171bc: 4798 blx r3 + 1719c: 22ff movs r2, #255 ; 0xff + 1719e: 212c movs r1, #44 ; 0x2c + 171a0: 303c adds r0, #60 ; 0x3c + 171a2: 4bac ldr r3, [pc, #688] ; (17454 ) + 171a4: 4798 blx r3 lv_style_set_border_width(&styles->cpicker_indic, LV_STATE_DEFAULT, 2); - 171be: 6820 ldr r0, [r4, #0] + 171a6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 171c0: 2202 movs r2, #2 - 171c2: 2130 movs r1, #48 ; 0x30 - 171c4: 303c adds r0, #60 ; 0x3c - 171c6: 47b0 blx r6 + 171a8: 2202 movs r2, #2 + 171aa: 2130 movs r1, #48 ; 0x30 + 171ac: 303c adds r0, #60 ; 0x3c + 171ae: 47b0 blx r6 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_COLOR_GRAY); - 171c8: 6820 ldr r0, [r4, #0] + 171b0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 171ca: 88ba ldrh r2, [r7, #4] - 171cc: 2139 movs r1, #57 ; 0x39 - 171ce: 303c adds r0, #60 ; 0x3c - 171d0: 47a8 blx r5 + 171b2: 88ba ldrh r2, [r7, #4] + 171b4: 2139 movs r1, #57 ; 0x39 + 171b6: 303c adds r0, #60 ; 0x3c + 171b8: 47a8 blx r5 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_FOCUSED, theme.color_primary); - 171d2: 6820 ldr r0, [r4, #0] - 171d4: 89a2 ldrh r2, [r4, #12] - 171d6: f240 2139 movw r1, #569 ; 0x239 - 171da: 303c adds r0, #60 ; 0x3c - 171dc: 47a8 blx r5 + 171ba: 6820 ldr r0, [r4, #0] + 171bc: 89a2 ldrh r2, [r4, #12] + 171be: f240 2139 movw r1, #569 ; 0x239 + 171c2: 303c adds r0, #60 ; 0x3c + 171c4: 47a8 blx r5 lv_style_set_border_color(&styles->cpicker_indic, LV_STATE_EDITED, theme.color_secondary); - 171de: 6820 ldr r0, [r4, #0] - 171e0: 89e2 ldrh r2, [r4, #14] - 171e2: f240 4139 movw r1, #1081 ; 0x439 - 171e6: 303c adds r0, #60 ; 0x3c - 171e8: 47a8 blx r5 + 171c6: 6820 ldr r0, [r4, #0] + 171c8: 89e2 ldrh r2, [r4, #14] + 171ca: f240 4139 movw r1, #1081 ; 0x439 + 171ce: 303c adds r0, #60 ; 0x3c + 171d0: 47a8 blx r5 lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 171ea: 6824 ldr r4, [r4, #0] - 171ec: 343c adds r4, #60 ; 0x3c - 171ee: 2000 movs r0, #0 - 171f0: 4b9f ldr r3, [pc, #636] ; (17470 ) - 171f2: 4798 blx r3 - 171f4: eb00 0340 add.w r3, r0, r0, lsl #1 - 171f8: eb00 0083 add.w r0, r0, r3, lsl #2 - 171fc: 3050 adds r0, #80 ; 0x50 - 171fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17202: f281 8299 bge.w 18738 - 17206: 2201 movs r2, #1 + 171d2: 6824 ldr r4, [r4, #0] + 171d4: 343c adds r4, #60 ; 0x3c + 171d6: 2000 movs r0, #0 + 171d8: 4b9f ldr r3, [pc, #636] ; (17458 ) + 171da: 4798 blx r3 + 171dc: eb00 0340 add.w r3, r0, r0, lsl #1 + 171e0: eb00 0083 add.w r0, r0, r3, lsl #2 + 171e4: 3050 adds r0, #80 ; 0x50 + 171e6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 171ea: f281 8299 bge.w 18720 + 171ee: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17208: 2112 movs r1, #18 - 1720a: 4620 mov r0, r4 - 1720c: 4b92 ldr r3, [pc, #584] ; (17458 ) - 1720e: 4798 blx r3 + 171f0: 2112 movs r1, #18 + 171f2: 4620 mov r0, r4 + 171f4: 4b92 ldr r3, [pc, #584] ; (17440 ) + 171f6: 4798 blx r3 lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 17210: 4b92 ldr r3, [pc, #584] ; (1745c ) - 17212: 681c ldr r4, [r3, #0] - 17214: 343c adds r4, #60 ; 0x3c - 17216: 2000 movs r0, #0 - 17218: 4b95 ldr r3, [pc, #596] ; (17470 ) - 1721a: 4798 blx r3 - 1721c: eb00 0340 add.w r3, r0, r0, lsl #1 - 17220: eb00 0083 add.w r0, r0, r3, lsl #2 - 17224: 3050 adds r0, #80 ; 0x50 - 17226: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1722a: f281 8296 bge.w 1875a - 1722e: 2201 movs r2, #1 + 171f8: 4b92 ldr r3, [pc, #584] ; (17444 ) + 171fa: 681c ldr r4, [r3, #0] + 171fc: 343c adds r4, #60 ; 0x3c + 171fe: 2000 movs r0, #0 + 17200: 4b95 ldr r3, [pc, #596] ; (17458 ) + 17202: 4798 blx r3 + 17204: eb00 0340 add.w r3, r0, r0, lsl #1 + 17208: eb00 0083 add.w r0, r0, r3, lsl #2 + 1720c: 3050 adds r0, #80 ; 0x50 + 1720e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17212: f281 8296 bge.w 18742 + 17216: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17230: 2113 movs r1, #19 - 17232: 4620 mov r0, r4 - 17234: 4b88 ldr r3, [pc, #544] ; (17458 ) - 17236: 4798 blx r3 + 17218: 2113 movs r1, #19 + 1721a: 4620 mov r0, r4 + 1721c: 4b88 ldr r3, [pc, #544] ; (17440 ) + 1721e: 4798 blx r3 lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 17238: 4b88 ldr r3, [pc, #544] ; (1745c ) - 1723a: 681c ldr r4, [r3, #0] - 1723c: 343c adds r4, #60 ; 0x3c - 1723e: 2000 movs r0, #0 - 17240: 4b8b ldr r3, [pc, #556] ; (17470 ) - 17242: 4798 blx r3 - 17244: eb00 0340 add.w r3, r0, r0, lsl #1 - 17248: eb00 0083 add.w r0, r0, r3, lsl #2 - 1724c: 3050 adds r0, #80 ; 0x50 - 1724e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17252: f281 8293 bge.w 1877c - 17256: 2201 movs r2, #1 + 17220: 4b88 ldr r3, [pc, #544] ; (17444 ) + 17222: 681c ldr r4, [r3, #0] + 17224: 343c adds r4, #60 ; 0x3c + 17226: 2000 movs r0, #0 + 17228: 4b8b ldr r3, [pc, #556] ; (17458 ) + 1722a: 4798 blx r3 + 1722c: eb00 0340 add.w r3, r0, r0, lsl #1 + 17230: eb00 0083 add.w r0, r0, r3, lsl #2 + 17234: 3050 adds r0, #80 ; 0x50 + 17236: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1723a: f281 8293 bge.w 18764 + 1723e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17258: 2110 movs r1, #16 - 1725a: 4620 mov r0, r4 - 1725c: 4b7e ldr r3, [pc, #504] ; (17458 ) - 1725e: 4798 blx r3 + 17240: 2110 movs r1, #16 + 17242: 4620 mov r0, r4 + 17244: 4b7e ldr r3, [pc, #504] ; (17440 ) + 17246: 4798 blx r3 lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 17260: 4b7e ldr r3, [pc, #504] ; (1745c ) - 17262: 681c ldr r4, [r3, #0] - 17264: 343c adds r4, #60 ; 0x3c - 17266: 2000 movs r0, #0 - 17268: 4b81 ldr r3, [pc, #516] ; (17470 ) - 1726a: 4798 blx r3 - 1726c: eb00 0340 add.w r3, r0, r0, lsl #1 - 17270: eb00 0083 add.w r0, r0, r3, lsl #2 - 17274: 3050 adds r0, #80 ; 0x50 - 17276: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1727a: f281 8290 bge.w 1879e - 1727e: 2201 movs r2, #1 + 17248: 4b7e ldr r3, [pc, #504] ; (17444 ) + 1724a: 681c ldr r4, [r3, #0] + 1724c: 343c adds r4, #60 ; 0x3c + 1724e: 2000 movs r0, #0 + 17250: 4b81 ldr r3, [pc, #516] ; (17458 ) + 17252: 4798 blx r3 + 17254: eb00 0340 add.w r3, r0, r0, lsl #1 + 17258: eb00 0083 add.w r0, r0, r3, lsl #2 + 1725c: 3050 adds r0, #80 ; 0x50 + 1725e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17262: f281 8290 bge.w 18786 + 17266: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17280: 2111 movs r1, #17 - 17282: 4620 mov r0, r4 - 17284: 4b74 ldr r3, [pc, #464] ; (17458 ) - 17286: 4798 blx r3 + 17268: 2111 movs r1, #17 + 1726a: 4620 mov r0, r4 + 1726c: 4b74 ldr r3, [pc, #464] ; (17440 ) + 1726e: 4798 blx r3 style_init_reset(&styles->cb_bg); - 17288: 4c74 ldr r4, [pc, #464] ; (1745c ) - 1728a: 6820 ldr r0, [r4, #0] - 1728c: 304c adds r0, #76 ; 0x4c - 1728e: 4b74 ldr r3, [pc, #464] ; (17460 ) - 17290: 4798 blx r3 + 17270: 4c74 ldr r4, [pc, #464] ; (17444 ) + 17272: 6820 ldr r0, [r4, #0] + 17274: 304c adds r0, #76 ; 0x4c + 17276: 4b74 ldr r3, [pc, #464] ; (17448 ) + 17278: 4798 blx r3 lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 17292: 6824 ldr r4, [r4, #0] - 17294: 344c adds r4, #76 ; 0x4c - 17296: 2000 movs r0, #0 - 17298: 4b75 ldr r3, [pc, #468] ; (17470 ) - 1729a: 4798 blx r3 - 1729c: 3014 adds r0, #20 - 1729e: 0080 lsls r0, r0, #2 - 172a0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 172a4: f281 828c bge.w 187c0 - 172a8: 2201 movs r2, #1 + 1727a: 6824 ldr r4, [r4, #0] + 1727c: 344c adds r4, #76 ; 0x4c + 1727e: 2000 movs r0, #0 + 17280: 4b75 ldr r3, [pc, #468] ; (17458 ) + 17282: 4798 blx r3 + 17284: 3014 adds r0, #20 + 17286: 0080 lsls r0, r0, #2 + 17288: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1728c: f281 828c bge.w 187a8 + 17290: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 172aa: 2101 movs r1, #1 - 172ac: 4620 mov r0, r4 - 172ae: 4b6a ldr r3, [pc, #424] ; (17458 ) - 172b0: 4798 blx r3 + 17292: 2101 movs r1, #1 + 17294: 4620 mov r0, r4 + 17296: 4b6a ldr r3, [pc, #424] ; (17440 ) + 17298: 4798 blx r3 lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 172b2: 4b6a ldr r3, [pc, #424] ; (1745c ) - 172b4: 681c ldr r4, [r3, #0] - 172b6: 344c adds r4, #76 ; 0x4c - 172b8: 2000 movs r0, #0 - 172ba: 4b6d ldr r3, [pc, #436] ; (17470 ) - 172bc: 4798 blx r3 - 172be: eb00 0080 add.w r0, r0, r0, lsl #2 - 172c2: 0040 lsls r0, r0, #1 - 172c4: 3050 adds r0, #80 ; 0x50 - 172c6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 172ca: f281 8287 bge.w 187dc - 172ce: 2201 movs r2, #1 + 1729a: 4b6a ldr r3, [pc, #424] ; (17444 ) + 1729c: 681c ldr r4, [r3, #0] + 1729e: 344c adds r4, #76 ; 0x4c + 172a0: 2000 movs r0, #0 + 172a2: 4b6d ldr r3, [pc, #436] ; (17458 ) + 172a4: 4798 blx r3 + 172a6: eb00 0080 add.w r0, r0, r0, lsl #2 + 172aa: 0040 lsls r0, r0, #1 + 172ac: 3050 adds r0, #80 ; 0x50 + 172ae: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 172b2: f281 8287 bge.w 187c4 + 172b6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 172d0: 2114 movs r1, #20 - 172d2: 4620 mov r0, r4 - 172d4: 4b60 ldr r3, [pc, #384] ; (17458 ) - 172d6: 4798 blx r3 + 172b8: 2114 movs r1, #20 + 172ba: 4620 mov r0, r4 + 172bc: 4b60 ldr r3, [pc, #384] ; (17440 ) + 172be: 4798 blx r3 lv_style_set_outline_color(&styles->cb_bg, LV_STATE_DEFAULT, theme.color_primary); - 172d8: 4c60 ldr r4, [pc, #384] ; (1745c ) - 172da: 6820 ldr r0, [r4, #0] + 172c0: 4c60 ldr r4, [pc, #384] ; (17444 ) + 172c2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_COLOR, outline_color, lv_color_t, _color, nonscalar) - 172dc: 89a2 ldrh r2, [r4, #12] - 172de: 2149 movs r1, #73 ; 0x49 - 172e0: 304c adds r0, #76 ; 0x4c - 172e2: 4b61 ldr r3, [pc, #388] ; (17468 ) - 172e4: 4798 blx r3 + 172c4: 89a2 ldrh r2, [r4, #12] + 172c6: 2149 movs r1, #73 ; 0x49 + 172c8: 304c adds r0, #76 ; 0x4c + 172ca: 4b61 ldr r3, [pc, #388] ; (17450 ) + 172cc: 4798 blx r3 lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_DEFAULT, LV_OPA_TRANSP); - 172e6: 6820 ldr r0, [r4, #0] + 172ce: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 172e8: 2200 movs r2, #0 - 172ea: 214c movs r1, #76 ; 0x4c - 172ec: 4408 add r0, r1 - 172ee: 4d5f ldr r5, [pc, #380] ; (1746c ) - 172f0: 47a8 blx r5 + 172d0: 2200 movs r2, #0 + 172d2: 214c movs r1, #76 ; 0x4c + 172d4: 4408 add r0, r1 + 172d6: 4d5f ldr r5, [pc, #380] ; (17454 ) + 172d8: 47a8 blx r5 lv_style_set_outline_opa(&styles->cb_bg, LV_STATE_FOCUSED, LV_OPA_50); - 172f2: 6820 ldr r0, [r4, #0] - 172f4: 227f movs r2, #127 ; 0x7f - 172f6: f44f 7113 mov.w r1, #588 ; 0x24c - 172fa: 304c adds r0, #76 ; 0x4c - 172fc: 47a8 blx r5 + 172da: 6820 ldr r0, [r4, #0] + 172dc: 227f movs r2, #127 ; 0x7f + 172de: f44f 7113 mov.w r1, #588 ; 0x24c + 172e2: 304c adds r0, #76 ; 0x4c + 172e4: 47a8 blx r5 lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 172fe: 6824 ldr r4, [r4, #0] - 17300: 344c adds r4, #76 ; 0x4c - 17302: 2000 movs r0, #0 - 17304: 4b5a ldr r3, [pc, #360] ; (17470 ) - 17306: 4798 blx r3 - 17308: eb00 0040 add.w r0, r0, r0, lsl #1 - 1730c: 3050 adds r0, #80 ; 0x50 - 1730e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17312: f281 8273 bge.w 187fc - 17316: 2201 movs r2, #1 + 172e6: 6824 ldr r4, [r4, #0] + 172e8: 344c adds r4, #76 ; 0x4c + 172ea: 2000 movs r0, #0 + 172ec: 4b5a ldr r3, [pc, #360] ; (17458 ) + 172ee: 4798 blx r3 + 172f0: eb00 0040 add.w r0, r0, r0, lsl #1 + 172f4: 3050 adds r0, #80 ; 0x50 + 172f6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 172fa: f281 8273 bge.w 187e4 + 172fe: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_WIDTH, outline_width, lv_style_int_t, _int, scalar) - 17318: 2140 movs r1, #64 ; 0x40 - 1731a: 4620 mov r0, r4 - 1731c: 4b4e ldr r3, [pc, #312] ; (17458 ) - 1731e: 4798 blx r3 + 17300: 2140 movs r1, #64 ; 0x40 + 17302: 4620 mov r0, r4 + 17304: 4b4e ldr r3, [pc, #312] ; (17440 ) + 17306: 4798 blx r3 lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 17320: 4b4e ldr r3, [pc, #312] ; (1745c ) - 17322: 681c ldr r4, [r3, #0] - 17324: 344c adds r4, #76 ; 0x4c - 17326: 2000 movs r0, #0 - 17328: 4b51 ldr r3, [pc, #324] ; (17470 ) - 1732a: 4798 blx r3 - 1732c: eb00 0080 add.w r0, r0, r0, lsl #2 - 17330: 0040 lsls r0, r0, #1 - 17332: 3050 adds r0, #80 ; 0x50 - 17334: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17338: f281 826f bge.w 1881a - 1733c: 2201 movs r2, #1 + 17308: 4b4e ldr r3, [pc, #312] ; (17444 ) + 1730a: 681c ldr r4, [r3, #0] + 1730c: 344c adds r4, #76 ; 0x4c + 1730e: 2000 movs r0, #0 + 17310: 4b51 ldr r3, [pc, #324] ; (17458 ) + 17312: 4798 blx r3 + 17314: eb00 0080 add.w r0, r0, r0, lsl #2 + 17318: 0040 lsls r0, r0, #1 + 1731a: 3050 adds r0, #80 ; 0x50 + 1731c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17320: f281 826f bge.w 18802 + 17324: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_PAD, outline_pad, lv_style_int_t, _int, scalar) - 1733e: 2141 movs r1, #65 ; 0x41 - 17340: 4620 mov r0, r4 - 17342: 4d45 ldr r5, [pc, #276] ; (17458 ) - 17344: 47a8 blx r5 + 17326: 2141 movs r1, #65 ; 0x41 + 17328: 4620 mov r0, r4 + 1732a: 4d45 ldr r5, [pc, #276] ; (17440 ) + 1732c: 47a8 blx r5 lv_style_set_transition_time(&styles->cb_bg, LV_STATE_DEFAULT, TRANSITION_TIME); - 17346: 4c45 ldr r4, [pc, #276] ; (1745c ) - 17348: 6820 ldr r0, [r4, #0] + 1732e: 4c45 ldr r4, [pc, #276] ; (17444 ) + 17330: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 1734a: 2296 movs r2, #150 ; 0x96 - 1734c: 21b0 movs r1, #176 ; 0xb0 - 1734e: 304c adds r0, #76 ; 0x4c - 17350: 47a8 blx r5 + 17332: 2296 movs r2, #150 ; 0x96 + 17334: 21b0 movs r1, #176 ; 0xb0 + 17336: 304c adds r0, #76 ; 0x4c + 17338: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->cb_bg, LV_STATE_DEFAULT, LV_STYLE_OUTLINE_OPA); - 17352: 6820 ldr r0, [r4, #0] + 1733a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 17354: 224c movs r2, #76 ; 0x4c - 17356: 21b7 movs r1, #183 ; 0xb7 - 17358: 4410 add r0, r2 - 1735a: 47a8 blx r5 + 1733c: 224c movs r2, #76 ; 0x4c + 1733e: 21b7 movs r1, #183 ; 0xb7 + 17340: 4410 add r0, r2 + 17342: 47a8 blx r5 style_init_reset(&styles->cb_bullet); - 1735c: 6820 ldr r0, [r4, #0] - 1735e: 3050 adds r0, #80 ; 0x50 - 17360: 4b3f ldr r3, [pc, #252] ; (17460 ) - 17362: 4798 blx r3 + 17344: 6820 ldr r0, [r4, #0] + 17346: 3050 adds r0, #80 ; 0x50 + 17348: 4b3f ldr r3, [pc, #252] ; (17448 ) + 1734a: 4798 blx r3 lv_style_set_outline_opa(&styles->cb_bullet, LV_STATE_FOCUSED, LV_OPA_TRANSP); - 17364: 6820 ldr r0, [r4, #0] + 1734c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(OUTLINE_OPA, outline_opa, lv_opa_t, _opa, scalar) - 17366: 2200 movs r2, #0 - 17368: f44f 7113 mov.w r1, #588 ; 0x24c - 1736c: 3050 adds r0, #80 ; 0x50 - 1736e: 4b3f ldr r3, [pc, #252] ; (1746c ) - 17370: 4798 blx r3 + 1734e: 2200 movs r2, #0 + 17350: f44f 7113 mov.w r1, #588 ; 0x24c + 17354: 3050 adds r0, #80 ; 0x50 + 17356: 4b3f ldr r3, [pc, #252] ; (17454 ) + 17358: 4798 blx r3 lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); - 17372: 6824 ldr r4, [r4, #0] - 17374: 3450 adds r4, #80 ; 0x50 - 17376: 2000 movs r0, #0 - 17378: 4b3d ldr r3, [pc, #244] ; (17470 ) - 1737a: 4798 blx r3 - 1737c: 3014 adds r0, #20 - 1737e: 0080 lsls r0, r0, #2 - 17380: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17384: f281 8259 bge.w 1883a - 17388: 2201 movs r2, #1 + 1735a: 6824 ldr r4, [r4, #0] + 1735c: 3450 adds r4, #80 ; 0x50 + 1735e: 2000 movs r0, #0 + 17360: 4b3d ldr r3, [pc, #244] ; (17458 ) + 17362: 4798 blx r3 + 17364: 3014 adds r0, #20 + 17366: 0080 lsls r0, r0, #2 + 17368: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1736c: f281 8259 bge.w 18822 + 17370: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1738a: 2101 movs r1, #1 - 1738c: 4620 mov r0, r4 - 1738e: 4b32 ldr r3, [pc, #200] ; (17458 ) - 17390: 4798 blx r3 + 17372: 2101 movs r1, #1 + 17374: 4620 mov r0, r4 + 17376: 4b32 ldr r3, [pc, #200] ; (17440 ) + 17378: 4798 blx r3 lv_style_set_pattern_image(&styles->cb_bullet, LV_STATE_CHECKED, LV_SYMBOL_OK); - 17392: 4c32 ldr r4, [pc, #200] ; (1745c ) - 17394: 6820 ldr r0, [r4, #0] + 1737a: 4c32 ldr r4, [pc, #200] ; (17444 ) + 1737c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_IMAGE, pattern_image, const void *, _ptr, scalar) - 17396: 4a37 ldr r2, [pc, #220] ; (17474 ) - 17398: f44f 71b7 mov.w r1, #366 ; 0x16e - 1739c: 3050 adds r0, #80 ; 0x50 - 1739e: 4d36 ldr r5, [pc, #216] ; (17478 ) - 173a0: 47a8 blx r5 + 1737e: 4a37 ldr r2, [pc, #220] ; (1745c ) + 17380: f44f 71b7 mov.w r1, #366 ; 0x16e + 17384: 3050 adds r0, #80 ; 0x50 + 17386: 4d36 ldr r5, [pc, #216] ; (17460 ) + 17388: 47a8 blx r5 lv_style_set_pattern_recolor(&styles->cb_bullet, LV_STATE_CHECKED, LV_COLOR_WHITE); - 173a2: 6820 ldr r0, [r4, #0] + 1738a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PATTERN_RECOLOR, pattern_recolor, lv_color_t, _color, nonscalar) - 173a4: 4b2f ldr r3, [pc, #188] ; (17464 ) - 173a6: 881a ldrh r2, [r3, #0] - 173a8: f240 1169 movw r1, #361 ; 0x169 - 173ac: 3050 adds r0, #80 ; 0x50 - 173ae: 4b2e ldr r3, [pc, #184] ; (17468 ) - 173b0: 4798 blx r3 + 1738c: 4b2f ldr r3, [pc, #188] ; (1744c ) + 1738e: 881a ldrh r2, [r3, #0] + 17390: f240 1169 movw r1, #361 ; 0x169 + 17394: 3050 adds r0, #80 ; 0x50 + 17396: 4b2e ldr r3, [pc, #184] ; (17450 ) + 17398: 4798 blx r3 lv_style_set_text_font(&styles->cb_bullet, LV_STATE_CHECKED, theme.font_small); - 173b2: 6820 ldr r0, [r4, #0] + 1739a: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 173b4: 6922 ldr r2, [r4, #16] - 173b6: f248 118e movw r1, #33166 ; 0x818e - 173ba: 3050 adds r0, #80 ; 0x50 - 173bc: 47a8 blx r5 + 1739c: 6922 ldr r2, [r4, #16] + 1739e: f248 118e movw r1, #33166 ; 0x818e + 173a2: 3050 adds r0, #80 ; 0x50 + 173a4: 47a8 blx r5 lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 173be: 6824 ldr r4, [r4, #0] - 173c0: 3450 adds r4, #80 ; 0x50 - 173c2: 2000 movs r0, #0 - 173c4: 4b2a ldr r3, [pc, #168] ; (17470 ) - 173c6: 4798 blx r3 - 173c8: eb00 0040 add.w r0, r0, r0, lsl #1 - 173cc: 3050 adds r0, #80 ; 0x50 - 173ce: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 173d2: f281 8240 bge.w 18856 - 173d6: 2201 movs r2, #1 + 173a6: 6824 ldr r4, [r4, #0] + 173a8: 3450 adds r4, #80 ; 0x50 + 173aa: 2000 movs r0, #0 + 173ac: 4b2a ldr r3, [pc, #168] ; (17458 ) + 173ae: 4798 blx r3 + 173b0: eb00 0040 add.w r0, r0, r0, lsl #1 + 173b4: 3050 adds r0, #80 ; 0x50 + 173b6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 173ba: f281 8240 bge.w 1883e + 173be: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 173d8: 2112 movs r1, #18 - 173da: 4620 mov r0, r4 - 173dc: 4b1e ldr r3, [pc, #120] ; (17458 ) - 173de: 4798 blx r3 + 173c0: 2112 movs r1, #18 + 173c2: 4620 mov r0, r4 + 173c4: 4b1e ldr r3, [pc, #120] ; (17440 ) + 173c6: 4798 blx r3 lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 173e0: 4b1e ldr r3, [pc, #120] ; (1745c ) - 173e2: 681c ldr r4, [r3, #0] - 173e4: 3450 adds r4, #80 ; 0x50 - 173e6: 2000 movs r0, #0 - 173e8: 4b21 ldr r3, [pc, #132] ; (17470 ) - 173ea: 4798 blx r3 - 173ec: eb00 0040 add.w r0, r0, r0, lsl #1 - 173f0: 3050 adds r0, #80 ; 0x50 - 173f2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 173f6: f281 823d bge.w 18874 - 173fa: 2201 movs r2, #1 + 173c8: 4b1e ldr r3, [pc, #120] ; (17444 ) + 173ca: 681c ldr r4, [r3, #0] + 173cc: 3450 adds r4, #80 ; 0x50 + 173ce: 2000 movs r0, #0 + 173d0: 4b21 ldr r3, [pc, #132] ; (17458 ) + 173d2: 4798 blx r3 + 173d4: eb00 0040 add.w r0, r0, r0, lsl #1 + 173d8: 3050 adds r0, #80 ; 0x50 + 173da: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 173de: f281 823d bge.w 1885c + 173e2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 173fc: 2113 movs r1, #19 - 173fe: 4620 mov r0, r4 - 17400: 4b15 ldr r3, [pc, #84] ; (17458 ) - 17402: 4798 blx r3 + 173e4: 2113 movs r1, #19 + 173e6: 4620 mov r0, r4 + 173e8: 4b15 ldr r3, [pc, #84] ; (17440 ) + 173ea: 4798 blx r3 lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 17404: 4b15 ldr r3, [pc, #84] ; (1745c ) - 17406: 681c ldr r4, [r3, #0] - 17408: 3450 adds r4, #80 ; 0x50 - 1740a: 2000 movs r0, #0 - 1740c: 4b18 ldr r3, [pc, #96] ; (17470 ) - 1740e: 4798 blx r3 - 17410: eb00 0040 add.w r0, r0, r0, lsl #1 - 17414: 3050 adds r0, #80 ; 0x50 - 17416: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1741a: f281 823a bge.w 18892 - 1741e: 2201 movs r2, #1 + 173ec: 4b15 ldr r3, [pc, #84] ; (17444 ) + 173ee: 681c ldr r4, [r3, #0] + 173f0: 3450 adds r4, #80 ; 0x50 + 173f2: 2000 movs r0, #0 + 173f4: 4b18 ldr r3, [pc, #96] ; (17458 ) + 173f6: 4798 blx r3 + 173f8: eb00 0040 add.w r0, r0, r0, lsl #1 + 173fc: 3050 adds r0, #80 ; 0x50 + 173fe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17402: f281 823a bge.w 1887a + 17406: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17420: 2110 movs r1, #16 - 17422: 4620 mov r0, r4 - 17424: 4b0c ldr r3, [pc, #48] ; (17458 ) - 17426: 4798 blx r3 + 17408: 2110 movs r1, #16 + 1740a: 4620 mov r0, r4 + 1740c: 4b0c ldr r3, [pc, #48] ; (17440 ) + 1740e: 4798 blx r3 lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 17428: 4b0c ldr r3, [pc, #48] ; (1745c ) - 1742a: 681c ldr r4, [r3, #0] - 1742c: 3450 adds r4, #80 ; 0x50 - 1742e: 2000 movs r0, #0 - 17430: 4b0f ldr r3, [pc, #60] ; (17470 ) - 17432: 4798 blx r3 - 17434: eb00 0040 add.w r0, r0, r0, lsl #1 - 17438: 3050 adds r0, #80 ; 0x50 - 1743a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1743e: f281 8237 bge.w 188b0 - 17442: 2201 movs r2, #1 + 17410: 4b0c ldr r3, [pc, #48] ; (17444 ) + 17412: 681c ldr r4, [r3, #0] + 17414: 3450 adds r4, #80 ; 0x50 + 17416: 2000 movs r0, #0 + 17418: 4b0f ldr r3, [pc, #60] ; (17458 ) + 1741a: 4798 blx r3 + 1741c: eb00 0040 add.w r0, r0, r0, lsl #1 + 17420: 3050 adds r0, #80 ; 0x50 + 17422: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17426: f281 8237 bge.w 18898 + 1742a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17444: 2111 movs r1, #17 - 17446: 4620 mov r0, r4 - 17448: 4d03 ldr r5, [pc, #12] ; (17458 ) - 1744a: 47a8 blx r5 + 1742c: 2111 movs r1, #17 + 1742e: 4620 mov r0, r4 + 17430: 4d03 ldr r5, [pc, #12] ; (17440 ) + 17432: 47a8 blx r5 style_init_reset(&styles->kb_bg); - 1744c: 4c03 ldr r4, [pc, #12] ; (1745c ) - 1744e: 6820 ldr r0, [r4, #0] - 17450: 3068 adds r0, #104 ; 0x68 - 17452: 4b03 ldr r3, [pc, #12] ; (17460 ) - 17454: 4798 blx r3 - 17456: e011 b.n 1747c - 17458: 000068e1 .word 0x000068e1 - 1745c: 20006bd8 .word 0x20006bd8 - 17460: 00014a61 .word 0x00014a61 - 17464: 00029584 .word 0x00029584 - 17468: 00006a25 .word 0x00006a25 - 1746c: 00006b69 .word 0x00006b69 - 17470: 00010f3d .word 0x00010f3d - 17474: 0002958c .word 0x0002958c - 17478: 00006c99 .word 0x00006c99 + 17434: 4c03 ldr r4, [pc, #12] ; (17444 ) + 17436: 6820 ldr r0, [r4, #0] + 17438: 3068 adds r0, #104 ; 0x68 + 1743a: 4b03 ldr r3, [pc, #12] ; (17448 ) + 1743c: 4798 blx r3 + 1743e: e011 b.n 17464 + 17440: 000068c9 .word 0x000068c9 + 17444: 20006bd8 .word 0x20006bd8 + 17448: 00014a49 .word 0x00014a49 + 1744c: 0002956c .word 0x0002956c + 17450: 00006a0d .word 0x00006a0d + 17454: 00006b51 .word 0x00006b51 + 17458: 00010f25 .word 0x00010f25 + 1745c: 00029574 .word 0x00029574 + 17460: 00006c81 .word 0x00006c81 lv_style_set_radius(&styles->kb_bg, LV_STATE_DEFAULT, 0); - 1747c: 6820 ldr r0, [r4, #0] + 17464: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 1747e: 2200 movs r2, #0 - 17480: 2101 movs r1, #1 - 17482: 3068 adds r0, #104 ; 0x68 - 17484: 47a8 blx r5 + 17466: 2200 movs r2, #0 + 17468: 2101 movs r1, #1 + 1746a: 3068 adds r0, #104 ; 0x68 + 1746c: 47a8 blx r5 lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 17486: 6824 ldr r4, [r4, #0] - 17488: 3468 adds r4, #104 ; 0x68 - 1748a: 2000 movs r0, #0 - 1748c: 4bb5 ldr r3, [pc, #724] ; (17764 ) - 1748e: 4798 blx r3 - 17490: 3014 adds r0, #20 - 17492: 0080 lsls r0, r0, #2 - 17494: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17498: f281 8219 bge.w 188ce - 1749c: 2201 movs r2, #1 + 1746e: 6824 ldr r4, [r4, #0] + 17470: 3468 adds r4, #104 ; 0x68 + 17472: 2000 movs r0, #0 + 17474: 4bb5 ldr r3, [pc, #724] ; (1774c ) + 17476: 4798 blx r3 + 17478: 3014 adds r0, #20 + 1747a: 0080 lsls r0, r0, #2 + 1747c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17480: f281 8219 bge.w 188b6 + 17484: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 1749e: 2130 movs r1, #48 ; 0x30 - 174a0: 4620 mov r0, r4 - 174a2: 4db1 ldr r5, [pc, #708] ; (17768 ) - 174a4: 47a8 blx r5 + 17486: 2130 movs r1, #48 ; 0x30 + 17488: 4620 mov r0, r4 + 1748a: 4db1 ldr r5, [pc, #708] ; (17750 ) + 1748c: 47a8 blx r5 lv_style_set_border_side(&styles->kb_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP); - 174a6: 4cb1 ldr r4, [pc, #708] ; (1776c ) - 174a8: 6820 ldr r0, [r4, #0] + 1748e: 4cb1 ldr r4, [pc, #708] ; (17754 ) + 17490: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 174aa: 2202 movs r2, #2 - 174ac: 2131 movs r1, #49 ; 0x31 - 174ae: 3068 adds r0, #104 ; 0x68 - 174b0: 47a8 blx r5 + 17492: 2202 movs r2, #2 + 17494: 2131 movs r1, #49 ; 0x31 + 17496: 3068 adds r0, #104 ; 0x68 + 17498: 47a8 blx r5 lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); - 174b2: 6820 ldr r0, [r4, #0] - 174b4: 3068 adds r0, #104 ; 0x68 - 174b6: 6a23 ldr r3, [r4, #32] - 174b8: f013 0f02 tst.w r3, #2 - 174bc: f041 8215 bne.w 188ea - 174c0: 2300 movs r3, #0 - 174c2: 4619 mov r1, r3 - 174c4: 461c mov r4, r3 - 174c6: f04f 0200 mov.w r2, #0 - 174ca: f364 0204 bfi r2, r4, #0, #5 - 174ce: f361 124a bfi r2, r1, #5, #6 - 174d2: f363 22cf bfi r2, r3, #11, #5 + 1749a: 6820 ldr r0, [r4, #0] + 1749c: 3068 adds r0, #104 ; 0x68 + 1749e: 6a23 ldr r3, [r4, #32] + 174a0: f013 0f02 tst.w r3, #2 + 174a4: f041 8215 bne.w 188d2 + 174a8: 2300 movs r3, #0 + 174aa: 4619 mov r1, r3 + 174ac: 461c mov r4, r3 + 174ae: f04f 0200 mov.w r2, #0 + 174b2: f364 0204 bfi r2, r4, #0, #5 + 174b6: f361 124a bfi r2, r1, #5, #6 + 174ba: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 174d6: 2139 movs r1, #57 ; 0x39 - 174d8: 4da5 ldr r5, [pc, #660] ; (17770 ) - 174da: 47a8 blx r5 + 174be: 2139 movs r1, #57 ; 0x39 + 174c0: 4da5 ldr r5, [pc, #660] ; (17758 ) + 174c2: 47a8 blx r5 lv_style_set_border_color(&styles->kb_bg, LV_STATE_EDITED, theme.color_secondary); - 174dc: 4ca3 ldr r4, [pc, #652] ; (1776c ) - 174de: 6820 ldr r0, [r4, #0] - 174e0: 89e2 ldrh r2, [r4, #14] - 174e2: f240 4139 movw r1, #1081 ; 0x439 - 174e6: 3068 adds r0, #104 ; 0x68 - 174e8: 47a8 blx r5 + 174c4: 4ca3 ldr r4, [pc, #652] ; (17754 ) + 174c6: 6820 ldr r0, [r4, #0] + 174c8: 89e2 ldrh r2, [r4, #14] + 174ca: f240 4139 movw r1, #1081 ; 0x439 + 174ce: 3068 adds r0, #104 ; 0x68 + 174d0: 47a8 blx r5 lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 174ea: 6824 ldr r4, [r4, #0] - 174ec: 3468 adds r4, #104 ; 0x68 - 174ee: 2000 movs r0, #0 - 174f0: 4b9c ldr r3, [pc, #624] ; (17764 ) - 174f2: 4798 blx r3 - 174f4: eb00 0080 add.w r0, r0, r0, lsl #2 - 174f8: 3050 adds r0, #80 ; 0x50 - 174fa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 174fe: f281 81f9 bge.w 188f4 - 17502: 2201 movs r2, #1 + 174d2: 6824 ldr r4, [r4, #0] + 174d4: 3468 adds r4, #104 ; 0x68 + 174d6: 2000 movs r0, #0 + 174d8: 4b9c ldr r3, [pc, #624] ; (1774c ) + 174da: 4798 blx r3 + 174dc: eb00 0080 add.w r0, r0, r0, lsl #2 + 174e0: 3050 adds r0, #80 ; 0x50 + 174e2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 174e6: f281 81f9 bge.w 188dc + 174ea: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17504: 2112 movs r1, #18 - 17506: 4620 mov r0, r4 - 17508: 4b97 ldr r3, [pc, #604] ; (17768 ) - 1750a: 4798 blx r3 + 174ec: 2112 movs r1, #18 + 174ee: 4620 mov r0, r4 + 174f0: 4b97 ldr r3, [pc, #604] ; (17750 ) + 174f2: 4798 blx r3 lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 1750c: 4b97 ldr r3, [pc, #604] ; (1776c ) - 1750e: 681c ldr r4, [r3, #0] - 17510: 3468 adds r4, #104 ; 0x68 - 17512: 2000 movs r0, #0 - 17514: 4b93 ldr r3, [pc, #588] ; (17764 ) - 17516: 4798 blx r3 - 17518: eb00 0080 add.w r0, r0, r0, lsl #2 - 1751c: 3050 adds r0, #80 ; 0x50 - 1751e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17522: f281 81f6 bge.w 18912 - 17526: 2201 movs r2, #1 + 174f4: 4b97 ldr r3, [pc, #604] ; (17754 ) + 174f6: 681c ldr r4, [r3, #0] + 174f8: 3468 adds r4, #104 ; 0x68 + 174fa: 2000 movs r0, #0 + 174fc: 4b93 ldr r3, [pc, #588] ; (1774c ) + 174fe: 4798 blx r3 + 17500: eb00 0080 add.w r0, r0, r0, lsl #2 + 17504: 3050 adds r0, #80 ; 0x50 + 17506: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1750a: f281 81f6 bge.w 188fa + 1750e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17528: 2113 movs r1, #19 - 1752a: 4620 mov r0, r4 - 1752c: 4b8e ldr r3, [pc, #568] ; (17768 ) - 1752e: 4798 blx r3 + 17510: 2113 movs r1, #19 + 17512: 4620 mov r0, r4 + 17514: 4b8e ldr r3, [pc, #568] ; (17750 ) + 17516: 4798 blx r3 lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17530: 4b8e ldr r3, [pc, #568] ; (1776c ) - 17532: 681c ldr r4, [r3, #0] - 17534: 3468 adds r4, #104 ; 0x68 - 17536: 2000 movs r0, #0 - 17538: 4b8a ldr r3, [pc, #552] ; (17764 ) - 1753a: 4798 blx r3 - 1753c: eb00 0080 add.w r0, r0, r0, lsl #2 - 17540: 3050 adds r0, #80 ; 0x50 - 17542: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17546: f281 81f3 bge.w 18930 - 1754a: 2201 movs r2, #1 + 17518: 4b8e ldr r3, [pc, #568] ; (17754 ) + 1751a: 681c ldr r4, [r3, #0] + 1751c: 3468 adds r4, #104 ; 0x68 + 1751e: 2000 movs r0, #0 + 17520: 4b8a ldr r3, [pc, #552] ; (1774c ) + 17522: 4798 blx r3 + 17524: eb00 0080 add.w r0, r0, r0, lsl #2 + 17528: 3050 adds r0, #80 ; 0x50 + 1752a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1752e: f281 81f3 bge.w 18918 + 17532: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1754c: 2110 movs r1, #16 - 1754e: 4620 mov r0, r4 - 17550: 4b85 ldr r3, [pc, #532] ; (17768 ) - 17552: 4798 blx r3 + 17534: 2110 movs r1, #16 + 17536: 4620 mov r0, r4 + 17538: 4b85 ldr r3, [pc, #532] ; (17750 ) + 1753a: 4798 blx r3 lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17554: 4b85 ldr r3, [pc, #532] ; (1776c ) - 17556: 681c ldr r4, [r3, #0] - 17558: 3468 adds r4, #104 ; 0x68 - 1755a: 2000 movs r0, #0 - 1755c: 4b81 ldr r3, [pc, #516] ; (17764 ) - 1755e: 4798 blx r3 - 17560: eb00 0080 add.w r0, r0, r0, lsl #2 - 17564: 3050 adds r0, #80 ; 0x50 - 17566: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1756a: f281 81f0 bge.w 1894e - 1756e: 2201 movs r2, #1 + 1753c: 4b85 ldr r3, [pc, #532] ; (17754 ) + 1753e: 681c ldr r4, [r3, #0] + 17540: 3468 adds r4, #104 ; 0x68 + 17542: 2000 movs r0, #0 + 17544: 4b81 ldr r3, [pc, #516] ; (1774c ) + 17546: 4798 blx r3 + 17548: eb00 0080 add.w r0, r0, r0, lsl #2 + 1754c: 3050 adds r0, #80 ; 0x50 + 1754e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17552: f281 81f0 bge.w 18936 + 17556: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17570: 2111 movs r1, #17 - 17572: 4620 mov r0, r4 - 17574: 4b7c ldr r3, [pc, #496] ; (17768 ) - 17576: 4798 blx r3 + 17558: 2111 movs r1, #17 + 1755a: 4620 mov r0, r4 + 1755c: 4b7c ldr r3, [pc, #496] ; (17750 ) + 1755e: 4798 blx r3 lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 17578: 4b7c ldr r3, [pc, #496] ; (1776c ) - 1757a: 681c ldr r4, [r3, #0] - 1757c: 3468 adds r4, #104 ; 0x68 - 1757e: 2000 movs r0, #0 - 17580: 4b78 ldr r3, [pc, #480] ; (17764 ) - 17582: 4798 blx r3 - 17584: eb00 0040 add.w r0, r0, r0, lsl #1 - 17588: 3050 adds r0, #80 ; 0x50 - 1758a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1758e: f281 81ed bge.w 1896c - 17592: 2201 movs r2, #1 + 17560: 4b7c ldr r3, [pc, #496] ; (17754 ) + 17562: 681c ldr r4, [r3, #0] + 17564: 3468 adds r4, #104 ; 0x68 + 17566: 2000 movs r0, #0 + 17568: 4b78 ldr r3, [pc, #480] ; (1774c ) + 1756a: 4798 blx r3 + 1756c: eb00 0040 add.w r0, r0, r0, lsl #1 + 17570: 3050 adds r0, #80 ; 0x50 + 17572: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17576: f281 81ed bge.w 18954 + 1757a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17594: 2114 movs r1, #20 - 17596: 4620 mov r0, r4 - 17598: 4b73 ldr r3, [pc, #460] ; (17768 ) - 1759a: 4798 blx r3 + 1757c: 2114 movs r1, #20 + 1757e: 4620 mov r0, r4 + 17580: 4b73 ldr r3, [pc, #460] ; (17750 ) + 17582: 4798 blx r3 style_init_reset(&styles->mbox_bg); - 1759c: 4c73 ldr r4, [pc, #460] ; (1776c ) - 1759e: 6820 ldr r0, [r4, #0] - 175a0: 307c adds r0, #124 ; 0x7c - 175a2: 4b74 ldr r3, [pc, #464] ; (17774 ) - 175a4: 4798 blx r3 + 17584: 4c73 ldr r4, [pc, #460] ; (17754 ) + 17586: 6820 ldr r0, [r4, #0] + 17588: 307c adds r0, #124 ; 0x7c + 1758a: 4b74 ldr r3, [pc, #464] ; (1775c ) + 1758c: 4798 blx r3 lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); - 175a6: 6824 ldr r4, [r4, #0] - 175a8: 347c adds r4, #124 ; 0x7c - 175aa: 2000 movs r0, #0 - 175ac: 4b6d ldr r3, [pc, #436] ; (17764 ) - 175ae: 4798 blx r3 - 175b0: 2332 movs r3, #50 ; 0x32 - 175b2: fb03 f000 mul.w r0, r3, r0 - 175b6: 3050 adds r0, #80 ; 0x50 - 175b8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 175bc: f281 81e5 bge.w 1898a - 175c0: 2201 movs r2, #1 + 1758e: 6824 ldr r4, [r4, #0] + 17590: 347c adds r4, #124 ; 0x7c + 17592: 2000 movs r0, #0 + 17594: 4b6d ldr r3, [pc, #436] ; (1774c ) + 17596: 4798 blx r3 + 17598: 2332 movs r3, #50 ; 0x32 + 1759a: fb03 f000 mul.w r0, r3, r0 + 1759e: 3050 adds r0, #80 ; 0x50 + 175a0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 175a4: f281 81e5 bge.w 18972 + 175a8: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_WIDTH, shadow_width, lv_style_int_t, _int, scalar) - 175c2: 2150 movs r1, #80 ; 0x50 - 175c4: 4620 mov r0, r4 - 175c6: 4b68 ldr r3, [pc, #416] ; (17768 ) - 175c8: 4798 blx r3 + 175aa: 2150 movs r1, #80 ; 0x50 + 175ac: 4620 mov r0, r4 + 175ae: 4b68 ldr r3, [pc, #416] ; (17750 ) + 175b0: 4798 blx r3 lv_style_set_shadow_color(&styles->mbox_bg, LV_STATE_DEFAULT, IS_LIGHT ? LV_COLOR_SILVER : lv_color_hex3(0x999)); - 175ca: 4b68 ldr r3, [pc, #416] ; (1776c ) - 175cc: 6818 ldr r0, [r3, #0] - 175ce: 6a1b ldr r3, [r3, #32] - 175d0: f013 0302 ands.w r3, r3, #2 - 175d4: bf0c ite eq - 175d6: 2126 moveq r1, #38 ; 0x26 - 175d8: 2130 movne r1, #48 ; 0x30 - 175da: 2b00 cmp r3, #0 - 175dc: bf0c ite eq - 175de: 2313 moveq r3, #19 - 175e0: 2318 movne r3, #24 - 175e2: f04f 0200 mov.w r2, #0 - 175e6: f363 0204 bfi r2, r3, #0, #5 - 175ea: f361 124a bfi r2, r1, #5, #6 - 175ee: f363 22cf bfi r2, r3, #11, #5 + 175b2: 4b68 ldr r3, [pc, #416] ; (17754 ) + 175b4: 6818 ldr r0, [r3, #0] + 175b6: 6a1b ldr r3, [r3, #32] + 175b8: f013 0302 ands.w r3, r3, #2 + 175bc: bf0c ite eq + 175be: 2126 moveq r1, #38 ; 0x26 + 175c0: 2130 movne r1, #48 ; 0x30 + 175c2: 2b00 cmp r3, #0 + 175c4: bf0c ite eq + 175c6: 2313 moveq r3, #19 + 175c8: 2318 movne r3, #24 + 175ca: f04f 0200 mov.w r2, #0 + 175ce: f363 0204 bfi r2, r3, #0, #5 + 175d2: f361 124a bfi r2, r1, #5, #6 + 175d6: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(SHADOW_COLOR, shadow_color, lv_color_t, _color, nonscalar) - 175f2: 2159 movs r1, #89 ; 0x59 - 175f4: 307c adds r0, #124 ; 0x7c - 175f6: 4b5e ldr r3, [pc, #376] ; (17770 ) - 175f8: 4798 blx r3 + 175da: 2159 movs r1, #89 ; 0x59 + 175dc: 307c adds r0, #124 ; 0x7c + 175de: 4b5e ldr r3, [pc, #376] ; (17758 ) + 175e0: 4798 blx r3 style_init_reset(&styles->sb); - 175fa: 4c5c ldr r4, [pc, #368] ; (1776c ) - 175fc: 6820 ldr r0, [r4, #0] - 175fe: 3080 adds r0, #128 ; 0x80 - 17600: 4b5c ldr r3, [pc, #368] ; (17774 ) - 17602: 4798 blx r3 + 175e2: 4c5c ldr r4, [pc, #368] ; (17754 ) + 175e4: 6820 ldr r0, [r4, #0] + 175e6: 3080 adds r0, #128 ; 0x80 + 175e8: 4b5c ldr r3, [pc, #368] ; (1775c ) + 175ea: 4798 blx r3 lv_style_set_bg_opa(&styles->sb, LV_STATE_DEFAULT, LV_OPA_COVER); - 17604: 6820 ldr r0, [r4, #0] + 175ec: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17606: 22ff movs r2, #255 ; 0xff - 17608: 212c movs r1, #44 ; 0x2c - 1760a: 3080 adds r0, #128 ; 0x80 - 1760c: 4b5a ldr r3, [pc, #360] ; (17778 ) - 1760e: 4798 blx r3 + 175ee: 22ff movs r2, #255 ; 0xff + 175f0: 212c movs r1, #44 ; 0x2c + 175f2: 3080 adds r0, #128 ; 0x80 + 175f4: 4b5a ldr r3, [pc, #360] ; (17760 ) + 175f6: 4798 blx r3 lv_style_set_bg_color(&styles->sb, LV_STATE_DEFAULT, (IS_LIGHT ? lv_color_hex(0xcccfd1) : lv_color_hex(0x777f85))); - 17610: 6820 ldr r0, [r4, #0] - 17612: 6a23 ldr r3, [r4, #32] - 17614: f013 0302 ands.w r3, r3, #2 - 17618: bf14 ite ne - 1761a: 2119 movne r1, #25 - 1761c: 210e moveq r1, #14 - 1761e: 2b00 cmp r3, #0 - 17620: bf15 itete ne - 17622: 2433 movne r4, #51 ; 0x33 - 17624: 241f moveq r4, #31 - 17626: 231a movne r3, #26 - 17628: 2310 moveq r3, #16 - 1762a: f04f 0200 mov.w r2, #0 - 1762e: f363 0204 bfi r2, r3, #0, #5 - 17632: f364 124a bfi r2, r4, #5, #6 - 17636: f361 22cf bfi r2, r1, #11, #5 + 175f8: 6820 ldr r0, [r4, #0] + 175fa: 6a23 ldr r3, [r4, #32] + 175fc: f013 0302 ands.w r3, r3, #2 + 17600: bf14 ite ne + 17602: 2119 movne r1, #25 + 17604: 210e moveq r1, #14 + 17606: 2b00 cmp r3, #0 + 17608: bf15 itete ne + 1760a: 2433 movne r4, #51 ; 0x33 + 1760c: 241f moveq r4, #31 + 1760e: 231a movne r3, #26 + 17610: 2310 moveq r3, #16 + 17612: f04f 0200 mov.w r2, #0 + 17616: f363 0204 bfi r2, r3, #0, #5 + 1761a: f364 124a bfi r2, r4, #5, #6 + 1761e: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 1763a: 2129 movs r1, #41 ; 0x29 - 1763c: 3080 adds r0, #128 ; 0x80 - 1763e: 4b4c ldr r3, [pc, #304] ; (17770 ) - 17640: 4798 blx r3 + 17622: 2129 movs r1, #41 ; 0x29 + 17624: 3080 adds r0, #128 ; 0x80 + 17626: 4b4c ldr r3, [pc, #304] ; (17758 ) + 17628: 4798 blx r3 lv_style_set_radius(&styles->sb, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 17642: 4c4a ldr r4, [pc, #296] ; (1776c ) - 17644: 6820 ldr r0, [r4, #0] + 1762a: 4c4a ldr r4, [pc, #296] ; (17754 ) + 1762c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17646: f647 72ff movw r2, #32767 ; 0x7fff - 1764a: 2101 movs r1, #1 - 1764c: 3080 adds r0, #128 ; 0x80 - 1764e: 4b46 ldr r3, [pc, #280] ; (17768 ) - 17650: 4798 blx r3 + 1762e: f647 72ff movw r2, #32767 ; 0x7fff + 17632: 2101 movs r1, #1 + 17634: 3080 adds r0, #128 ; 0x80 + 17636: 4b46 ldr r3, [pc, #280] ; (17750 ) + 17638: 4798 blx r3 lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 17652: 6824 ldr r4, [r4, #0] - 17654: 3480 adds r4, #128 ; 0x80 - 17656: 2000 movs r0, #0 - 17658: 4b42 ldr r3, [pc, #264] ; (17764 ) - 1765a: 4798 blx r3 - 1765c: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17660: 3050 adds r0, #80 ; 0x50 - 17662: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17666: f281 81a0 bge.w 189aa - 1766a: 2201 movs r2, #1 + 1763a: 6824 ldr r4, [r4, #0] + 1763c: 3480 adds r4, #128 ; 0x80 + 1763e: 2000 movs r0, #0 + 17640: 4b42 ldr r3, [pc, #264] ; (1774c ) + 17642: 4798 blx r3 + 17644: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17648: 3050 adds r0, #80 ; 0x50 + 1764a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1764e: f281 81a0 bge.w 18992 + 17652: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 1766c: 2103 movs r1, #3 - 1766e: 4620 mov r0, r4 - 17670: 4b3d ldr r3, [pc, #244] ; (17768 ) - 17672: 4798 blx r3 + 17654: 2103 movs r1, #3 + 17656: 4620 mov r0, r4 + 17658: 4b3d ldr r3, [pc, #244] ; (17750 ) + 1765a: 4798 blx r3 lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 17674: 4b3d ldr r3, [pc, #244] ; (1776c ) - 17676: 681c ldr r4, [r3, #0] - 17678: 3480 adds r4, #128 ; 0x80 - 1767a: 2000 movs r0, #0 - 1767c: 4b39 ldr r3, [pc, #228] ; (17764 ) - 1767e: 4798 blx r3 - 17680: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17684: 3050 adds r0, #80 ; 0x50 - 17686: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1768a: f281 819d bge.w 189c8 - 1768e: 2201 movs r2, #1 + 1765c: 4b3d ldr r3, [pc, #244] ; (17754 ) + 1765e: 681c ldr r4, [r3, #0] + 17660: 3480 adds r4, #128 ; 0x80 + 17662: 2000 movs r0, #0 + 17664: 4b39 ldr r3, [pc, #228] ; (1774c ) + 17666: 4798 blx r3 + 17668: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1766c: 3050 adds r0, #80 ; 0x50 + 1766e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17672: f281 819d bge.w 189b0 + 17676: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17690: 2113 movs r1, #19 - 17692: 4620 mov r0, r4 - 17694: 4b34 ldr r3, [pc, #208] ; (17768 ) - 17696: 4798 blx r3 + 17678: 2113 movs r1, #19 + 1767a: 4620 mov r0, r4 + 1767c: 4b34 ldr r3, [pc, #208] ; (17750 ) + 1767e: 4798 blx r3 lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 17698: 4b34 ldr r3, [pc, #208] ; (1776c ) - 1769a: 681c ldr r4, [r3, #0] - 1769c: 3480 adds r4, #128 ; 0x80 - 1769e: 2000 movs r0, #0 - 176a0: 4b30 ldr r3, [pc, #192] ; (17764 ) - 176a2: 4798 blx r3 - 176a4: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 176a8: 3050 adds r0, #80 ; 0x50 - 176aa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 176ae: f281 819a bge.w 189e6 - 176b2: 2201 movs r2, #1 + 17680: 4b34 ldr r3, [pc, #208] ; (17754 ) + 17682: 681c ldr r4, [r3, #0] + 17684: 3480 adds r4, #128 ; 0x80 + 17686: 2000 movs r0, #0 + 17688: 4b30 ldr r3, [pc, #192] ; (1774c ) + 1768a: 4798 blx r3 + 1768c: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17690: 3050 adds r0, #80 ; 0x50 + 17692: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17696: f281 819a bge.w 189ce + 1769a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 176b4: 2111 movs r1, #17 - 176b6: 4620 mov r0, r4 - 176b8: 4b2b ldr r3, [pc, #172] ; (17768 ) - 176ba: 4798 blx r3 + 1769c: 2111 movs r1, #17 + 1769e: 4620 mov r0, r4 + 176a0: 4b2b ldr r3, [pc, #172] ; (17750 ) + 176a2: 4798 blx r3 style_init_reset(&styles->edge_flash); - 176bc: 4c2b ldr r4, [pc, #172] ; (1776c ) - 176be: 6820 ldr r0, [r4, #0] - 176c0: 3084 adds r0, #132 ; 0x84 - 176c2: 4d2c ldr r5, [pc, #176] ; (17774 ) - 176c4: 47a8 blx r5 + 176a4: 4c2b ldr r4, [pc, #172] ; (17754 ) + 176a6: 6820 ldr r0, [r4, #0] + 176a8: 3084 adds r0, #132 ; 0x84 + 176aa: 4d2c ldr r5, [pc, #176] ; (1775c ) + 176ac: 47a8 blx r5 lv_style_set_bg_opa(&styles->edge_flash, LV_STATE_DEFAULT, LV_OPA_COVER); - 176c6: 6820 ldr r0, [r4, #0] + 176ae: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 176c8: 22ff movs r2, #255 ; 0xff - 176ca: 212c movs r1, #44 ; 0x2c - 176cc: 3084 adds r0, #132 ; 0x84 - 176ce: 4b2a ldr r3, [pc, #168] ; (17778 ) - 176d0: 4798 blx r3 + 176b0: 22ff movs r2, #255 ; 0xff + 176b2: 212c movs r1, #44 ; 0x2c + 176b4: 3084 adds r0, #132 ; 0x84 + 176b6: 4b2a ldr r3, [pc, #168] ; (17760 ) + 176b8: 4798 blx r3 lv_style_set_bg_color(&styles->edge_flash, LV_STATE_DEFAULT, lv_color_hex3(0x888)); - 176d2: 6820 ldr r0, [r4, #0] - 176d4: 2311 movs r3, #17 - 176d6: f04f 0200 mov.w r2, #0 - 176da: f363 0204 bfi r2, r3, #0, #5 - 176de: 2122 movs r1, #34 ; 0x22 - 176e0: f361 124a bfi r2, r1, #5, #6 - 176e4: f363 22cf bfi r2, r3, #11, #5 + 176ba: 6820 ldr r0, [r4, #0] + 176bc: 2311 movs r3, #17 + 176be: f04f 0200 mov.w r2, #0 + 176c2: f363 0204 bfi r2, r3, #0, #5 + 176c6: 2122 movs r1, #34 ; 0x22 + 176c8: f361 124a bfi r2, r1, #5, #6 + 176cc: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 176e8: 2129 movs r1, #41 ; 0x29 - 176ea: 3084 adds r0, #132 ; 0x84 - 176ec: 4b20 ldr r3, [pc, #128] ; (17770 ) - 176ee: 4798 blx r3 + 176d0: 2129 movs r1, #41 ; 0x29 + 176d2: 3084 adds r0, #132 ; 0x84 + 176d4: 4b20 ldr r3, [pc, #128] ; (17758 ) + 176d6: 4798 blx r3 style_init_reset(&styles->ta_cursor); - 176f0: 6820 ldr r0, [r4, #0] - 176f2: 30b4 adds r0, #180 ; 0xb4 - 176f4: 47a8 blx r5 + 176d8: 6820 ldr r0, [r4, #0] + 176da: 30b4 adds r0, #180 ; 0xb4 + 176dc: 47a8 blx r5 lv_style_set_border_color(&styles->ta_cursor, LV_STATE_DEFAULT, COLOR_BG_SEC_TEXT); - 176f6: 6820 ldr r0, [r4, #0] - 176f8: 6a23 ldr r3, [r4, #32] - 176fa: f013 0302 ands.w r3, r3, #2 - 176fe: bf14 ite ne - 17700: 2106 movne r1, #6 - 17702: 2114 moveq r1, #20 - 17704: 2b00 cmp r3, #0 - 17706: bf15 itete ne - 17708: 2410 movne r4, #16 - 1770a: 242a moveq r4, #42 ; 0x2a - 1770c: 2309 movne r3, #9 - 1770e: 2315 moveq r3, #21 - 17710: f04f 0200 mov.w r2, #0 - 17714: f363 0204 bfi r2, r3, #0, #5 - 17718: f364 124a bfi r2, r4, #5, #6 - 1771c: f361 22cf bfi r2, r1, #11, #5 + 176de: 6820 ldr r0, [r4, #0] + 176e0: 6a23 ldr r3, [r4, #32] + 176e2: f013 0302 ands.w r3, r3, #2 + 176e6: bf14 ite ne + 176e8: 2106 movne r1, #6 + 176ea: 2114 moveq r1, #20 + 176ec: 2b00 cmp r3, #0 + 176ee: bf15 itete ne + 176f0: 2410 movne r4, #16 + 176f2: 242a moveq r4, #42 ; 0x2a + 176f4: 2309 movne r3, #9 + 176f6: 2315 moveq r3, #21 + 176f8: f04f 0200 mov.w r2, #0 + 176fc: f363 0204 bfi r2, r3, #0, #5 + 17700: f364 124a bfi r2, r4, #5, #6 + 17704: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17720: 2139 movs r1, #57 ; 0x39 - 17722: 30b4 adds r0, #180 ; 0xb4 - 17724: 4b12 ldr r3, [pc, #72] ; (17770 ) - 17726: 4798 blx r3 + 17708: 2139 movs r1, #57 ; 0x39 + 1770a: 30b4 adds r0, #180 ; 0xb4 + 1770c: 4b12 ldr r3, [pc, #72] ; (17758 ) + 1770e: 4798 blx r3 lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2)); - 17728: 4b10 ldr r3, [pc, #64] ; (1776c ) - 1772a: 681c ldr r4, [r3, #0] - 1772c: 34b4 adds r4, #180 ; 0xb4 - 1772e: 2000 movs r0, #0 - 17730: 4b0c ldr r3, [pc, #48] ; (17764 ) - 17732: 4798 blx r3 - 17734: 3028 adds r0, #40 ; 0x28 - 17736: 0040 lsls r0, r0, #1 - 17738: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1773c: f281 8162 bge.w 18a04 - 17740: 2201 movs r2, #1 + 17710: 4b10 ldr r3, [pc, #64] ; (17754 ) + 17712: 681c ldr r4, [r3, #0] + 17714: 34b4 adds r4, #180 ; 0xb4 + 17716: 2000 movs r0, #0 + 17718: 4b0c ldr r3, [pc, #48] ; (1774c ) + 1771a: 4798 blx r3 + 1771c: 3028 adds r0, #40 ; 0x28 + 1771e: 0040 lsls r0, r0, #1 + 17720: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17724: f281 8162 bge.w 189ec + 17728: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17742: 2130 movs r1, #48 ; 0x30 - 17744: 4620 mov r0, r4 - 17746: 4b08 ldr r3, [pc, #32] ; (17768 ) - 17748: 4798 blx r3 + 1772a: 2130 movs r1, #48 ; 0x30 + 1772c: 4620 mov r0, r4 + 1772e: 4b08 ldr r3, [pc, #32] ; (17750 ) + 17730: 4798 blx r3 lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1)); - 1774a: 4b08 ldr r3, [pc, #32] ; (1776c ) - 1774c: 681c ldr r4, [r3, #0] - 1774e: 34b4 adds r4, #180 ; 0xb4 - 17750: 2000 movs r0, #0 - 17752: 4b04 ldr r3, [pc, #16] ; (17764 ) - 17754: 4798 blx r3 - 17756: 3050 adds r0, #80 ; 0x50 - 17758: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1775c: f281 8164 bge.w 18a28 - 17760: 2201 movs r2, #1 - 17762: e00b b.n 1777c - 17764: 00010f3d .word 0x00010f3d - 17768: 000068e1 .word 0x000068e1 - 1776c: 20006bd8 .word 0x20006bd8 - 17770: 00006a25 .word 0x00006a25 - 17774: 00014a61 .word 0x00014a61 - 17778: 00006b69 .word 0x00006b69 + 17732: 4b08 ldr r3, [pc, #32] ; (17754 ) + 17734: 681c ldr r4, [r3, #0] + 17736: 34b4 adds r4, #180 ; 0xb4 + 17738: 2000 movs r0, #0 + 1773a: 4b04 ldr r3, [pc, #16] ; (1774c ) + 1773c: 4798 blx r3 + 1773e: 3050 adds r0, #80 ; 0x50 + 17740: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17744: f281 8164 bge.w 18a10 + 17748: 2201 movs r2, #1 + 1774a: e00b b.n 17764 + 1774c: 00010f25 .word 0x00010f25 + 17750: 000068c9 .word 0x000068c9 + 17754: 20006bd8 .word 0x20006bd8 + 17758: 00006a0d .word 0x00006a0d + 1775c: 00014a49 .word 0x00014a49 + 17760: 00006b51 .word 0x00006b51 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1777c: 2112 movs r1, #18 - 1777e: 4620 mov r0, r4 - 17780: 4dba ldr r5, [pc, #744] ; (17a6c ) - 17782: 47a8 blx r5 + 17764: 2112 movs r1, #18 + 17766: 4620 mov r0, r4 + 17768: 4dba ldr r5, [pc, #744] ; (17a54 ) + 1776a: 47a8 blx r5 lv_style_set_border_side(&styles->ta_cursor, LV_STATE_DEFAULT, LV_BORDER_SIDE_LEFT); - 17784: 4cba ldr r4, [pc, #744] ; (17a70 ) - 17786: 6820 ldr r0, [r4, #0] + 1776c: 4cba ldr r4, [pc, #744] ; (17a58 ) + 1776e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 17788: 2204 movs r2, #4 - 1778a: 2131 movs r1, #49 ; 0x31 - 1778c: 30b4 adds r0, #180 ; 0xb4 - 1778e: 47a8 blx r5 + 17770: 2204 movs r2, #4 + 17772: 2131 movs r1, #49 ; 0x31 + 17774: 30b4 adds r0, #180 ; 0xb4 + 17776: 47a8 blx r5 style_init_reset(&styles->ta_placeholder); - 17790: 6820 ldr r0, [r4, #0] - 17792: 30b8 adds r0, #184 ; 0xb8 - 17794: 4bb7 ldr r3, [pc, #732] ; (17a74 ) - 17796: 4798 blx r3 + 17778: 6820 ldr r0, [r4, #0] + 1777a: 30b8 adds r0, #184 ; 0xb8 + 1777c: 4bb7 ldr r3, [pc, #732] ; (17a5c ) + 1777e: 4798 blx r3 lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 17798: 6820 ldr r0, [r4, #0] - 1779a: 30b8 adds r0, #184 ; 0xb8 - 1779c: 6a23 ldr r3, [r4, #32] - 1779e: f013 0f02 tst.w r3, #2 - 177a2: f041 814e bne.w 18a42 - 177a6: 2314 movs r3, #20 - 177a8: 212b movs r1, #43 ; 0x2b - 177aa: 2417 movs r4, #23 - 177ac: f04f 0200 mov.w r2, #0 - 177b0: f364 0204 bfi r2, r4, #0, #5 - 177b4: f361 124a bfi r2, r1, #5, #6 - 177b8: f363 22cf bfi r2, r3, #11, #5 + 17780: 6820 ldr r0, [r4, #0] + 17782: 30b8 adds r0, #184 ; 0xb8 + 17784: 6a23 ldr r3, [r4, #32] + 17786: f013 0f02 tst.w r3, #2 + 1778a: f041 814e bne.w 18a2a + 1778e: 2314 movs r3, #20 + 17790: 212b movs r1, #43 ; 0x2b + 17792: 2417 movs r4, #23 + 17794: f04f 0200 mov.w r2, #0 + 17798: f364 0204 bfi r2, r4, #0, #5 + 1779c: f361 124a bfi r2, r1, #5, #6 + 177a0: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 177bc: f248 0189 movw r1, #32905 ; 0x8089 - 177c0: 4dad ldr r5, [pc, #692] ; (17a78 ) - 177c2: 47a8 blx r5 + 177a4: f248 0189 movw r1, #32905 ; 0x8089 + 177a8: 4dad ldr r5, [pc, #692] ; (17a60 ) + 177aa: 47a8 blx r5 style_init_reset(&styles->spinbox_cursor); - 177c4: 4caa ldr r4, [pc, #680] ; (17a70 ) - 177c6: 6820 ldr r0, [r4, #0] - 177c8: 3098 adds r0, #152 ; 0x98 - 177ca: 4baa ldr r3, [pc, #680] ; (17a74 ) - 177cc: 4798 blx r3 + 177ac: 4caa ldr r4, [pc, #680] ; (17a58 ) + 177ae: 6820 ldr r0, [r4, #0] + 177b0: 3098 adds r0, #152 ; 0x98 + 177b2: 4baa ldr r3, [pc, #680] ; (17a5c ) + 177b4: 4798 blx r3 lv_style_set_bg_opa(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_OPA_COVER); - 177ce: 6820 ldr r0, [r4, #0] + 177b6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 177d0: 22ff movs r2, #255 ; 0xff - 177d2: 212c movs r1, #44 ; 0x2c - 177d4: 3098 adds r0, #152 ; 0x98 - 177d6: 4ba9 ldr r3, [pc, #676] ; (17a7c ) - 177d8: 4798 blx r3 + 177b8: 22ff movs r2, #255 ; 0xff + 177ba: 212c movs r1, #44 ; 0x2c + 177bc: 3098 adds r0, #152 ; 0x98 + 177be: 4ba9 ldr r3, [pc, #676] ; (17a64 ) + 177c0: 4798 blx r3 lv_style_set_bg_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, theme.color_primary); - 177da: 6820 ldr r0, [r4, #0] + 177c2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 177dc: 89a2 ldrh r2, [r4, #12] - 177de: 2129 movs r1, #41 ; 0x29 - 177e0: 3098 adds r0, #152 ; 0x98 - 177e2: 47a8 blx r5 + 177c4: 89a2 ldrh r2, [r4, #12] + 177c6: 2129 movs r1, #41 ; 0x29 + 177c8: 3098 adds r0, #152 ; 0x98 + 177ca: 47a8 blx r5 lv_style_set_text_color(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 177e4: 6820 ldr r0, [r4, #0] + 177cc: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 177e6: 4ba6 ldr r3, [pc, #664] ; (17a80 ) - 177e8: 881a ldrh r2, [r3, #0] - 177ea: f248 0189 movw r1, #32905 ; 0x8089 - 177ee: 3098 adds r0, #152 ; 0x98 - 177f0: 47a8 blx r5 + 177ce: 4ba6 ldr r3, [pc, #664] ; (17a68 ) + 177d0: 881a ldrh r2, [r3, #0] + 177d2: f248 0189 movw r1, #32905 ; 0x8089 + 177d6: 3098 adds r0, #152 ; 0x98 + 177d8: 47a8 blx r5 lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 177f2: 6824 ldr r4, [r4, #0] - 177f4: 3498 adds r4, #152 ; 0x98 - 177f6: 2000 movs r0, #0 - 177f8: 4ba2 ldr r3, [pc, #648] ; (17a84 ) - 177fa: 4798 blx r3 - 177fc: 2364 movs r3, #100 ; 0x64 - 177fe: fb03 f000 mul.w r0, r3, r0 - 17802: 3050 adds r0, #80 ; 0x50 - 17804: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17808: f281 8120 bge.w 18a4c - 1780c: 2201 movs r2, #1 + 177da: 6824 ldr r4, [r4, #0] + 177dc: 3498 adds r4, #152 ; 0x98 + 177de: 2000 movs r0, #0 + 177e0: 4ba2 ldr r3, [pc, #648] ; (17a6c ) + 177e2: 4798 blx r3 + 177e4: 2364 movs r3, #100 ; 0x64 + 177e6: fb03 f000 mul.w r0, r3, r0 + 177ea: 3050 adds r0, #80 ; 0x50 + 177ec: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 177f0: f281 8120 bge.w 18a34 + 177f4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1780e: 2110 movs r1, #16 - 17810: 4620 mov r0, r4 - 17812: 4b96 ldr r3, [pc, #600] ; (17a6c ) - 17814: 4798 blx r3 + 177f6: 2110 movs r1, #16 + 177f8: 4620 mov r0, r4 + 177fa: 4b96 ldr r3, [pc, #600] ; (17a54 ) + 177fc: 4798 blx r3 lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 17816: 4b96 ldr r3, [pc, #600] ; (17a70 ) - 17818: 681c ldr r4, [r3, #0] - 1781a: 3498 adds r4, #152 ; 0x98 - 1781c: 2000 movs r0, #0 - 1781e: 4b99 ldr r3, [pc, #612] ; (17a84 ) - 17820: 4798 blx r3 - 17822: 2364 movs r3, #100 ; 0x64 - 17824: fb03 f000 mul.w r0, r3, r0 - 17828: 3050 adds r0, #80 ; 0x50 - 1782a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1782e: f281 811d bge.w 18a6c - 17832: 2201 movs r2, #1 + 177fe: 4b96 ldr r3, [pc, #600] ; (17a58 ) + 17800: 681c ldr r4, [r3, #0] + 17802: 3498 adds r4, #152 ; 0x98 + 17804: 2000 movs r0, #0 + 17806: 4b99 ldr r3, [pc, #612] ; (17a6c ) + 17808: 4798 blx r3 + 1780a: 2364 movs r3, #100 ; 0x64 + 1780c: fb03 f000 mul.w r0, r3, r0 + 17810: 3050 adds r0, #80 ; 0x50 + 17812: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17816: f281 811d bge.w 18a54 + 1781a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17834: 2111 movs r1, #17 - 17836: 4620 mov r0, r4 - 17838: 4d8c ldr r5, [pc, #560] ; (17a6c ) - 1783a: 47a8 blx r5 + 1781c: 2111 movs r1, #17 + 1781e: 4620 mov r0, r4 + 17820: 4d8c ldr r5, [pc, #560] ; (17a54 ) + 17822: 47a8 blx r5 style_init_reset(&styles->list_bg); - 1783c: 4c8c ldr r4, [pc, #560] ; (17a70 ) - 1783e: 6820 ldr r0, [r4, #0] - 17840: 3074 adds r0, #116 ; 0x74 - 17842: 4e8c ldr r6, [pc, #560] ; (17a74 ) - 17844: 47b0 blx r6 + 17824: 4c8c ldr r4, [pc, #560] ; (17a58 ) + 17826: 6820 ldr r0, [r4, #0] + 17828: 3074 adds r0, #116 ; 0x74 + 1782a: 4e8c ldr r6, [pc, #560] ; (17a5c ) + 1782c: 47b0 blx r6 lv_style_set_clip_corner(&styles->list_bg, LV_STATE_DEFAULT, true); - 17846: 6820 ldr r0, [r4, #0] + 1782e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 17848: 2201 movs r2, #1 - 1784a: 2102 movs r1, #2 - 1784c: 3074 adds r0, #116 ; 0x74 - 1784e: 47a8 blx r5 + 17830: 2201 movs r2, #1 + 17832: 2102 movs r1, #2 + 17834: 3074 adds r0, #116 ; 0x74 + 17836: 47a8 blx r5 lv_style_set_pad_left(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17850: 6820 ldr r0, [r4, #0] + 17838: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17852: 2200 movs r2, #0 - 17854: 2112 movs r1, #18 - 17856: 3074 adds r0, #116 ; 0x74 - 17858: 47a8 blx r5 + 1783a: 2200 movs r2, #0 + 1783c: 2112 movs r1, #18 + 1783e: 3074 adds r0, #116 ; 0x74 + 17840: 47a8 blx r5 lv_style_set_pad_right(&styles->list_bg, LV_STATE_DEFAULT, 0); - 1785a: 6820 ldr r0, [r4, #0] + 17842: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1785c: 2200 movs r2, #0 - 1785e: 2113 movs r1, #19 - 17860: 3074 adds r0, #116 ; 0x74 - 17862: 47a8 blx r5 + 17844: 2200 movs r2, #0 + 17846: 2113 movs r1, #19 + 17848: 3074 adds r0, #116 ; 0x74 + 1784a: 47a8 blx r5 lv_style_set_pad_top(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17864: 6820 ldr r0, [r4, #0] + 1784c: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17866: 2200 movs r2, #0 - 17868: 2110 movs r1, #16 - 1786a: 3074 adds r0, #116 ; 0x74 - 1786c: 47a8 blx r5 + 1784e: 2200 movs r2, #0 + 17850: 2110 movs r1, #16 + 17852: 3074 adds r0, #116 ; 0x74 + 17854: 47a8 blx r5 lv_style_set_pad_bottom(&styles->list_bg, LV_STATE_DEFAULT, 0); - 1786e: 6820 ldr r0, [r4, #0] + 17856: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17870: 2200 movs r2, #0 - 17872: 2111 movs r1, #17 - 17874: 3074 adds r0, #116 ; 0x74 - 17876: 47a8 blx r5 + 17858: 2200 movs r2, #0 + 1785a: 2111 movs r1, #17 + 1785c: 3074 adds r0, #116 ; 0x74 + 1785e: 47a8 blx r5 lv_style_set_pad_inner(&styles->list_bg, LV_STATE_DEFAULT, 0); - 17878: 6820 ldr r0, [r4, #0] + 17860: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 1787a: 2200 movs r2, #0 - 1787c: 2114 movs r1, #20 - 1787e: 3074 adds r0, #116 ; 0x74 - 17880: 47a8 blx r5 + 17862: 2200 movs r2, #0 + 17864: 2114 movs r1, #20 + 17866: 3074 adds r0, #116 ; 0x74 + 17868: 47a8 blx r5 style_init_reset(&styles->list_btn); - 17882: 6820 ldr r0, [r4, #0] - 17884: 3078 adds r0, #120 ; 0x78 - 17886: 47b0 blx r6 + 1786a: 6820 ldr r0, [r4, #0] + 1786c: 3078 adds r0, #120 ; 0x78 + 1786e: 47b0 blx r6 lv_style_set_bg_opa(&styles->list_btn, LV_STATE_DEFAULT, LV_OPA_COVER); - 17888: 6820 ldr r0, [r4, #0] + 17870: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 1788a: 22ff movs r2, #255 ; 0xff - 1788c: 212c movs r1, #44 ; 0x2c - 1788e: 3078 adds r0, #120 ; 0x78 - 17890: 4b7a ldr r3, [pc, #488] ; (17a7c ) - 17892: 4798 blx r3 + 17872: 22ff movs r2, #255 ; 0xff + 17874: 212c movs r1, #44 ; 0x2c + 17876: 3078 adds r0, #120 ; 0x78 + 17878: 4b7a ldr r3, [pc, #488] ; (17a64 ) + 1787a: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG); - 17894: 6820 ldr r0, [r4, #0] - 17896: 3078 adds r0, #120 ; 0x78 - 17898: 6a23 ldr r3, [r4, #32] - 1789a: f013 0f02 tst.w r3, #2 - 1789e: f041 80f5 bne.w 18a8c - 178a2: 230b movs r3, #11 - 178a4: 2118 movs r1, #24 - 178a6: 240e movs r4, #14 - 178a8: f04f 0200 mov.w r2, #0 - 178ac: f364 0204 bfi r2, r4, #0, #5 - 178b0: f361 124a bfi r2, r1, #5, #6 - 178b4: f363 22cf bfi r2, r3, #11, #5 + 1787c: 6820 ldr r0, [r4, #0] + 1787e: 3078 adds r0, #120 ; 0x78 + 17880: 6a23 ldr r3, [r4, #32] + 17882: f013 0f02 tst.w r3, #2 + 17886: f041 80f5 bne.w 18a74 + 1788a: 230b movs r3, #11 + 1788c: 2118 movs r1, #24 + 1788e: 240e movs r4, #14 + 17890: f04f 0200 mov.w r2, #0 + 17894: f364 0204 bfi r2, r4, #0, #5 + 17898: f361 124a bfi r2, r1, #5, #6 + 1789c: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 178b8: 2129 movs r1, #41 ; 0x29 - 178ba: 4b6f ldr r3, [pc, #444] ; (17a78 ) - 178bc: 4798 blx r3 + 178a0: 2129 movs r1, #41 ; 0x29 + 178a2: 4b6f ldr r3, [pc, #444] ; (17a60 ) + 178a4: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR); - 178be: 4b6c ldr r3, [pc, #432] ; (17a70 ) - 178c0: 6818 ldr r0, [r3, #0] - 178c2: 3078 adds r0, #120 ; 0x78 - 178c4: 6a1b ldr r3, [r3, #32] - 178c6: f013 0f02 tst.w r3, #2 - 178ca: f041 80e4 bne.w 18a96 - 178ce: 2309 movs r3, #9 - 178d0: 2113 movs r1, #19 - 178d2: 240a movs r4, #10 - 178d4: f04f 0200 mov.w r2, #0 - 178d8: f364 0204 bfi r2, r4, #0, #5 - 178dc: f361 124a bfi r2, r1, #5, #6 - 178e0: f363 22cf bfi r2, r3, #11, #5 - 178e4: f241 0129 movw r1, #4137 ; 0x1029 - 178e8: 4b63 ldr r3, [pc, #396] ; (17a78 ) - 178ea: 4798 blx r3 + 178a6: 4b6c ldr r3, [pc, #432] ; (17a58 ) + 178a8: 6818 ldr r0, [r3, #0] + 178aa: 3078 adds r0, #120 ; 0x78 + 178ac: 6a1b ldr r3, [r3, #32] + 178ae: f013 0f02 tst.w r3, #2 + 178b2: f041 80e4 bne.w 18a7e + 178b6: 2309 movs r3, #9 + 178b8: 2113 movs r1, #19 + 178ba: 240a movs r4, #10 + 178bc: f04f 0200 mov.w r2, #0 + 178c0: f364 0204 bfi r2, r4, #0, #5 + 178c4: f361 124a bfi r2, r1, #5, #6 + 178c8: f363 22cf bfi r2, r3, #11, #5 + 178cc: f241 0129 movw r1, #4137 ; 0x1029 + 178d0: 4b63 ldr r3, [pc, #396] ; (17a60 ) + 178d2: 4798 blx r3 lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS); - 178ec: 4b60 ldr r3, [pc, #384] ; (17a70 ) - 178ee: 6818 ldr r0, [r3, #0] - 178f0: 3078 adds r0, #120 ; 0x78 - 178f2: 6a1b ldr r3, [r3, #32] - 178f4: f013 0f02 tst.w r3, #2 - 178f8: f041 80d2 bne.w 18aa0 - 178fc: 230b movs r3, #11 - 178fe: 2118 movs r1, #24 - 17900: 240e movs r4, #14 - 17902: f04f 0200 mov.w r2, #0 - 17906: f364 0204 bfi r2, r4, #0, #5 - 1790a: f361 124a bfi r2, r1, #5, #6 - 1790e: f363 22cf bfi r2, r3, #11, #5 - 17912: f242 0129 movw r1, #8233 ; 0x2029 - 17916: 4d58 ldr r5, [pc, #352] ; (17a78 ) - 17918: 47a8 blx r5 + 178d4: 4b60 ldr r3, [pc, #384] ; (17a58 ) + 178d6: 6818 ldr r0, [r3, #0] + 178d8: 3078 adds r0, #120 ; 0x78 + 178da: 6a1b ldr r3, [r3, #32] + 178dc: f013 0f02 tst.w r3, #2 + 178e0: f041 80d2 bne.w 18a88 + 178e4: 230b movs r3, #11 + 178e6: 2118 movs r1, #24 + 178e8: 240e movs r4, #14 + 178ea: f04f 0200 mov.w r2, #0 + 178ee: f364 0204 bfi r2, r4, #0, #5 + 178f2: f361 124a bfi r2, r1, #5, #6 + 178f6: f363 22cf bfi r2, r3, #11, #5 + 178fa: f242 0129 movw r1, #8233 ; 0x2029 + 178fe: 4d58 ldr r5, [pc, #352] ; (17a60 ) + 17900: 47a8 blx r5 lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_CHK); - 1791a: 4c55 ldr r4, [pc, #340] ; (17a70 ) - 1791c: 6820 ldr r0, [r4, #0] - 1791e: 89a2 ldrh r2, [r4, #12] - 17920: f240 1129 movw r1, #297 ; 0x129 - 17924: 3078 adds r0, #120 ; 0x78 - 17926: 47a8 blx r5 + 17902: 4c55 ldr r4, [pc, #340] ; (17a58 ) + 17904: 6820 ldr r0, [r4, #0] + 17906: 89a2 ldrh r2, [r4, #12] + 17908: f240 1129 movw r1, #297 ; 0x129 + 1790c: 3078 adds r0, #120 ; 0x78 + 1790e: 47a8 blx r5 lv_style_set_bg_color(&styles->list_btn, LV_STATE_CHECKED | LV_STATE_PRESSED, COLOR_BG_PR_CHK); - 17928: 6826 ldr r6, [r4, #0] - 1792a: 3678 adds r6, #120 ; 0x78 - 1792c: 2133 movs r1, #51 ; 0x33 - 1792e: 89a0 ldrh r0, [r4, #12] - 17930: 4b55 ldr r3, [pc, #340] ; (17a88 ) - 17932: 4798 blx r3 - 17934: 4602 mov r2, r0 - 17936: f241 1129 movw r1, #4393 ; 0x1129 - 1793a: 4630 mov r0, r6 - 1793c: 47a8 blx r5 + 17910: 6826 ldr r6, [r4, #0] + 17912: 3678 adds r6, #120 ; 0x78 + 17914: 2133 movs r1, #51 ; 0x33 + 17916: 89a0 ldrh r0, [r4, #12] + 17918: 4b55 ldr r3, [pc, #340] ; (17a70 ) + 1791a: 4798 blx r3 + 1791c: 4602 mov r2, r0 + 1791e: f241 1129 movw r1, #4393 ; 0x1129 + 17922: 4630 mov r0, r6 + 17924: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 1793e: 6820 ldr r0, [r4, #0] - 17940: 3078 adds r0, #120 ; 0x78 - 17942: 6a23 ldr r3, [r4, #32] - 17944: f013 0f02 tst.w r3, #2 - 17948: f041 80af bne.w 18aaa - 1794c: 231f movs r3, #31 - 1794e: 213f movs r1, #63 ; 0x3f - 17950: 461c mov r4, r3 - 17952: f04f 0200 mov.w r2, #0 - 17956: f364 0204 bfi r2, r4, #0, #5 - 1795a: f361 124a bfi r2, r1, #5, #6 - 1795e: f363 22cf bfi r2, r3, #11, #5 + 17926: 6820 ldr r0, [r4, #0] + 17928: 3078 adds r0, #120 ; 0x78 + 1792a: 6a23 ldr r3, [r4, #32] + 1792c: f013 0f02 tst.w r3, #2 + 17930: f041 80af bne.w 18a92 + 17934: 231f movs r3, #31 + 17936: 213f movs r1, #63 ; 0x3f + 17938: 461c mov r4, r3 + 1793a: f04f 0200 mov.w r2, #0 + 1793e: f364 0204 bfi r2, r4, #0, #5 + 17942: f361 124a bfi r2, r1, #5, #6 + 17946: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17962: f248 0189 movw r1, #32905 ; 0x8089 - 17966: 4d44 ldr r5, [pc, #272] ; (17a78 ) - 17968: 47a8 blx r5 + 1794a: f248 0189 movw r1, #32905 ; 0x8089 + 1794e: 4d44 ldr r5, [pc, #272] ; (17a60 ) + 17950: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 1796a: 4c41 ldr r4, [pc, #260] ; (17a70 ) - 1796c: 6820 ldr r0, [r4, #0] - 1796e: f04f 32ff mov.w r2, #4294967295 - 17972: f248 1189 movw r1, #33161 ; 0x8189 - 17976: 3078 adds r0, #120 ; 0x78 - 17978: 47a8 blx r5 + 17952: 4c41 ldr r4, [pc, #260] ; (17a58 ) + 17954: 6820 ldr r0, [r4, #0] + 17956: f04f 32ff mov.w r2, #4294967295 + 1795a: f248 1189 movw r1, #33161 ; 0x8189 + 1795e: 3078 adds r0, #120 ; 0x78 + 17960: 47a8 blx r5 lv_style_set_text_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 1797a: 6820 ldr r0, [r4, #0] - 1797c: 6a23 ldr r3, [r4, #32] - 1797e: f013 0302 ands.w r3, r3, #2 - 17982: bf14 ite ne - 17984: 212a movne r1, #42 ; 0x2a - 17986: 2126 moveq r1, #38 ; 0x26 - 17988: 2b00 cmp r3, #0 - 1798a: bf14 ite ne - 1798c: 2315 movne r3, #21 - 1798e: 2313 moveq r3, #19 - 17990: f04f 0200 mov.w r2, #0 - 17994: f363 0204 bfi r2, r3, #0, #5 - 17998: f361 124a bfi r2, r1, #5, #6 - 1799c: f363 22cf bfi r2, r3, #11, #5 - 179a0: f24a 0189 movw r1, #41097 ; 0xa089 - 179a4: 3078 adds r0, #120 ; 0x78 - 179a6: 47a8 blx r5 + 17962: 6820 ldr r0, [r4, #0] + 17964: 6a23 ldr r3, [r4, #32] + 17966: f013 0302 ands.w r3, r3, #2 + 1796a: bf14 ite ne + 1796c: 212a movne r1, #42 ; 0x2a + 1796e: 2126 moveq r1, #38 ; 0x26 + 17970: 2b00 cmp r3, #0 + 17972: bf14 ite ne + 17974: 2315 movne r3, #21 + 17976: 2313 moveq r3, #19 + 17978: f04f 0200 mov.w r2, #0 + 1797c: f363 0204 bfi r2, r3, #0, #5 + 17980: f361 124a bfi r2, r1, #5, #6 + 17984: f363 22cf bfi r2, r3, #11, #5 + 17988: f24a 0189 movw r1, #41097 ; 0xa089 + 1798c: 3078 adds r0, #120 ; 0x78 + 1798e: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 179a8: 6820 ldr r0, [r4, #0] - 179aa: 3078 adds r0, #120 ; 0x78 - 179ac: 6a23 ldr r3, [r4, #32] - 179ae: f013 0f02 tst.w r3, #2 - 179b2: f041 807f bne.w 18ab4 - 179b6: 231f movs r3, #31 - 179b8: 213f movs r1, #63 ; 0x3f - 179ba: 461c mov r4, r3 - 179bc: f04f 0200 mov.w r2, #0 - 179c0: f364 0204 bfi r2, r4, #0, #5 - 179c4: f361 124a bfi r2, r1, #5, #6 - 179c8: f363 22cf bfi r2, r3, #11, #5 + 17990: 6820 ldr r0, [r4, #0] + 17992: 3078 adds r0, #120 ; 0x78 + 17994: 6a23 ldr r3, [r4, #32] + 17996: f013 0f02 tst.w r3, #2 + 1799a: f041 807f bne.w 18a9c + 1799e: 231f movs r3, #31 + 179a0: 213f movs r1, #63 ; 0x3f + 179a2: 461c mov r4, r3 + 179a4: f04f 0200 mov.w r2, #0 + 179a8: f364 0204 bfi r2, r4, #0, #5 + 179ac: f361 124a bfi r2, r1, #5, #6 + 179b0: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 179cc: f248 01a9 movw r1, #32937 ; 0x80a9 - 179d0: 4d29 ldr r5, [pc, #164] ; (17a78 ) - 179d2: 47a8 blx r5 + 179b4: f248 01a9 movw r1, #32937 ; 0x80a9 + 179b8: 4d29 ldr r5, [pc, #164] ; (17a60 ) + 179ba: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_CHECKED, COLOR_BG_TEXT_CHK); - 179d4: 4c26 ldr r4, [pc, #152] ; (17a70 ) - 179d6: 6820 ldr r0, [r4, #0] - 179d8: f04f 32ff mov.w r2, #4294967295 - 179dc: f248 11a9 movw r1, #33193 ; 0x81a9 - 179e0: 3078 adds r0, #120 ; 0x78 - 179e2: 47a8 blx r5 + 179bc: 4c26 ldr r4, [pc, #152] ; (17a58 ) + 179be: 6820 ldr r0, [r4, #0] + 179c0: f04f 32ff mov.w r2, #4294967295 + 179c4: f248 11a9 movw r1, #33193 ; 0x81a9 + 179c8: 3078 adds r0, #120 ; 0x78 + 179ca: 47a8 blx r5 lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_TEXT_DIS); - 179e4: 6820 ldr r0, [r4, #0] - 179e6: 6a23 ldr r3, [r4, #32] - 179e8: f013 0302 ands.w r3, r3, #2 - 179ec: bf14 ite ne - 179ee: 212a movne r1, #42 ; 0x2a - 179f0: 2126 moveq r1, #38 ; 0x26 - 179f2: 2b00 cmp r3, #0 - 179f4: bf14 ite ne - 179f6: 2315 movne r3, #21 - 179f8: 2313 moveq r3, #19 - 179fa: f04f 0200 mov.w r2, #0 - 179fe: f363 0204 bfi r2, r3, #0, #5 - 17a02: f361 124a bfi r2, r1, #5, #6 - 17a06: f363 22cf bfi r2, r3, #11, #5 - 17a0a: f24a 01a9 movw r1, #41129 ; 0xa0a9 - 17a0e: 3078 adds r0, #120 ; 0x78 - 17a10: 47a8 blx r5 + 179cc: 6820 ldr r0, [r4, #0] + 179ce: 6a23 ldr r3, [r4, #32] + 179d0: f013 0302 ands.w r3, r3, #2 + 179d4: bf14 ite ne + 179d6: 212a movne r1, #42 ; 0x2a + 179d8: 2126 moveq r1, #38 ; 0x26 + 179da: 2b00 cmp r3, #0 + 179dc: bf14 ite ne + 179de: 2315 movne r3, #21 + 179e0: 2313 moveq r3, #19 + 179e2: f04f 0200 mov.w r2, #0 + 179e6: f363 0204 bfi r2, r3, #0, #5 + 179ea: f361 124a bfi r2, r1, #5, #6 + 179ee: f363 22cf bfi r2, r3, #11, #5 + 179f2: f24a 01a9 movw r1, #41129 ; 0xa0a9 + 179f6: 3078 adds r0, #120 ; 0x78 + 179f8: 47a8 blx r5 lv_style_set_border_side(&styles->list_btn, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM); - 17a12: 6820 ldr r0, [r4, #0] + 179fa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 17a14: 2201 movs r2, #1 - 17a16: 2131 movs r1, #49 ; 0x31 - 17a18: 3078 adds r0, #120 ; 0x78 - 17a1a: 4b14 ldr r3, [pc, #80] ; (17a6c ) - 17a1c: 4798 blx r3 + 179fc: 2201 movs r2, #1 + 179fe: 2131 movs r1, #49 ; 0x31 + 17a00: 3078 adds r0, #120 ; 0x78 + 17a02: 4b14 ldr r3, [pc, #80] ; (17a54 ) + 17a04: 4798 blx r3 lv_style_set_border_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 17a1e: 6820 ldr r0, [r4, #0] - 17a20: 6a23 ldr r3, [r4, #32] - 17a22: f013 0302 ands.w r3, r3, #2 - 17a26: bf14 ite ne - 17a28: 211a movne r1, #26 - 17a2a: 2110 moveq r1, #16 - 17a2c: 2b00 cmp r3, #0 - 17a2e: bf15 itete ne - 17a30: 2437 movne r4, #55 ; 0x37 - 17a32: 2422 moveq r4, #34 ; 0x22 - 17a34: 231c movne r3, #28 - 17a36: 2312 moveq r3, #18 - 17a38: f04f 0200 mov.w r2, #0 - 17a3c: f363 0204 bfi r2, r3, #0, #5 - 17a40: f364 124a bfi r2, r4, #5, #6 - 17a44: f361 22cf bfi r2, r1, #11, #5 + 17a06: 6820 ldr r0, [r4, #0] + 17a08: 6a23 ldr r3, [r4, #32] + 17a0a: f013 0302 ands.w r3, r3, #2 + 17a0e: bf14 ite ne + 17a10: 211a movne r1, #26 + 17a12: 2110 moveq r1, #16 + 17a14: 2b00 cmp r3, #0 + 17a16: bf15 itete ne + 17a18: 2437 movne r4, #55 ; 0x37 + 17a1a: 2422 moveq r4, #34 ; 0x22 + 17a1c: 231c movne r3, #28 + 17a1e: 2312 moveq r3, #18 + 17a20: f04f 0200 mov.w r2, #0 + 17a24: f363 0204 bfi r2, r3, #0, #5 + 17a28: f364 124a bfi r2, r4, #5, #6 + 17a2c: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17a48: 2139 movs r1, #57 ; 0x39 - 17a4a: 3078 adds r0, #120 ; 0x78 - 17a4c: 47a8 blx r5 + 17a30: 2139 movs r1, #57 ; 0x39 + 17a32: 3078 adds r0, #120 ; 0x78 + 17a34: 47a8 blx r5 lv_style_set_border_color(&styles->list_btn, LV_STATE_FOCUSED, theme.color_primary); - 17a4e: 4c08 ldr r4, [pc, #32] ; (17a70 ) - 17a50: 6820 ldr r0, [r4, #0] - 17a52: 89a2 ldrh r2, [r4, #12] - 17a54: f240 2139 movw r1, #569 ; 0x239 - 17a58: 3078 adds r0, #120 ; 0x78 - 17a5a: 47a8 blx r5 + 17a36: 4c08 ldr r4, [pc, #32] ; (17a58 ) + 17a38: 6820 ldr r0, [r4, #0] + 17a3a: 89a2 ldrh r2, [r4, #12] + 17a3c: f240 2139 movw r1, #569 ; 0x239 + 17a40: 3078 adds r0, #120 ; 0x78 + 17a42: 47a8 blx r5 lv_style_set_border_width(&styles->list_btn, LV_STATE_DEFAULT, 1); - 17a5c: 6820 ldr r0, [r4, #0] + 17a44: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17a5e: 2201 movs r2, #1 - 17a60: 2130 movs r1, #48 ; 0x30 - 17a62: 3078 adds r0, #120 ; 0x78 - 17a64: 4b01 ldr r3, [pc, #4] ; (17a6c ) - 17a66: 4798 blx r3 - 17a68: e010 b.n 17a8c - 17a6a: bf00 nop - 17a6c: 000068e1 .word 0x000068e1 - 17a70: 20006bd8 .word 0x20006bd8 - 17a74: 00014a61 .word 0x00014a61 - 17a78: 00006a25 .word 0x00006a25 - 17a7c: 00006b69 .word 0x00006b69 - 17a80: 00029584 .word 0x00029584 - 17a84: 00010f3d .word 0x00010f3d - 17a88: 00011c03 .word 0x00011c03 + 17a46: 2201 movs r2, #1 + 17a48: 2130 movs r1, #48 ; 0x30 + 17a4a: 3078 adds r0, #120 ; 0x78 + 17a4c: 4b01 ldr r3, [pc, #4] ; (17a54 ) + 17a4e: 4798 blx r3 + 17a50: e010 b.n 17a74 + 17a52: bf00 nop + 17a54: 000068c9 .word 0x000068c9 + 17a58: 20006bd8 .word 0x20006bd8 + 17a5c: 00014a49 .word 0x00014a49 + 17a60: 00006a0d .word 0x00006a0d + 17a64: 00006b51 .word 0x00006b51 + 17a68: 0002956c .word 0x0002956c + 17a6c: 00010f25 .word 0x00010f25 + 17a70: 00011beb .word 0x00011beb lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 17a8c: 6824 ldr r4, [r4, #0] - 17a8e: 3478 adds r4, #120 ; 0x78 - 17a90: 2000 movs r0, #0 - 17a92: 4bba ldr r3, [pc, #744] ; (17d7c ) - 17a94: 4798 blx r3 - 17a96: 2801 cmp r0, #1 - 17a98: f241 8011 bls.w 18abe - 17a9c: 2000 movs r0, #0 - 17a9e: 4bb8 ldr r3, [pc, #736] ; (17d80 ) - 17aa0: 4798 blx r3 - 17aa2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17aa6: 0040 lsls r0, r0, #1 - 17aa8: 3050 adds r0, #80 ; 0x50 - 17aaa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17aae: f281 8021 bge.w 18af4 - 17ab2: 2201 movs r2, #1 + 17a74: 6824 ldr r4, [r4, #0] + 17a76: 3478 adds r4, #120 ; 0x78 + 17a78: 2000 movs r0, #0 + 17a7a: 4bba ldr r3, [pc, #744] ; (17d64 ) + 17a7c: 4798 blx r3 + 17a7e: 2801 cmp r0, #1 + 17a80: f241 8011 bls.w 18aa6 + 17a84: 2000 movs r0, #0 + 17a86: 4bb8 ldr r3, [pc, #736] ; (17d68 ) + 17a88: 4798 blx r3 + 17a8a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17a8e: 0040 lsls r0, r0, #1 + 17a90: 3050 adds r0, #80 ; 0x50 + 17a92: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17a96: f281 8021 bge.w 18adc + 17a9a: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17ab4: 2112 movs r1, #18 - 17ab6: 4620 mov r0, r4 - 17ab8: 4bb2 ldr r3, [pc, #712] ; (17d84 ) - 17aba: 4798 blx r3 + 17a9c: 2112 movs r1, #18 + 17a9e: 4620 mov r0, r4 + 17aa0: 4bb2 ldr r3, [pc, #712] ; (17d6c ) + 17aa2: 4798 blx r3 lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 17abc: 4bb2 ldr r3, [pc, #712] ; (17d88 ) - 17abe: 681c ldr r4, [r3, #0] - 17ac0: 3478 adds r4, #120 ; 0x78 - 17ac2: 2000 movs r0, #0 - 17ac4: 4bad ldr r3, [pc, #692] ; (17d7c ) - 17ac6: 4798 blx r3 - 17ac8: 2801 cmp r0, #1 - 17aca: f241 8023 bls.w 18b14 - 17ace: 2000 movs r0, #0 - 17ad0: 4bab ldr r3, [pc, #684] ; (17d80 ) - 17ad2: 4798 blx r3 - 17ad4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17ad8: 0040 lsls r0, r0, #1 - 17ada: 3050 adds r0, #80 ; 0x50 - 17adc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17ae0: f281 8033 bge.w 18b4a - 17ae4: 2201 movs r2, #1 + 17aa4: 4bb2 ldr r3, [pc, #712] ; (17d70 ) + 17aa6: 681c ldr r4, [r3, #0] + 17aa8: 3478 adds r4, #120 ; 0x78 + 17aaa: 2000 movs r0, #0 + 17aac: 4bad ldr r3, [pc, #692] ; (17d64 ) + 17aae: 4798 blx r3 + 17ab0: 2801 cmp r0, #1 + 17ab2: f241 8023 bls.w 18afc + 17ab6: 2000 movs r0, #0 + 17ab8: 4bab ldr r3, [pc, #684] ; (17d68 ) + 17aba: 4798 blx r3 + 17abc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17ac0: 0040 lsls r0, r0, #1 + 17ac2: 3050 adds r0, #80 ; 0x50 + 17ac4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17ac8: f281 8033 bge.w 18b32 + 17acc: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17ae6: 2113 movs r1, #19 - 17ae8: 4620 mov r0, r4 - 17aea: 4ba6 ldr r3, [pc, #664] ; (17d84 ) - 17aec: 4798 blx r3 + 17ace: 2113 movs r1, #19 + 17ad0: 4620 mov r0, r4 + 17ad2: 4ba6 ldr r3, [pc, #664] ; (17d6c ) + 17ad4: 4798 blx r3 lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 17aee: 4ba6 ldr r3, [pc, #664] ; (17d88 ) - 17af0: 681c ldr r4, [r3, #0] - 17af2: 3478 adds r4, #120 ; 0x78 - 17af4: 2000 movs r0, #0 - 17af6: 4ba1 ldr r3, [pc, #644] ; (17d7c ) - 17af8: 4798 blx r3 - 17afa: 2801 cmp r0, #1 - 17afc: f241 8035 bls.w 18b6a - 17b00: 2000 movs r0, #0 - 17b02: 4b9f ldr r3, [pc, #636] ; (17d80 ) - 17b04: 4798 blx r3 - 17b06: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17b0a: 0040 lsls r0, r0, #1 - 17b0c: 3050 adds r0, #80 ; 0x50 - 17b0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17b12: f281 8045 bge.w 18ba0 - 17b16: 2201 movs r2, #1 + 17ad6: 4ba6 ldr r3, [pc, #664] ; (17d70 ) + 17ad8: 681c ldr r4, [r3, #0] + 17ada: 3478 adds r4, #120 ; 0x78 + 17adc: 2000 movs r0, #0 + 17ade: 4ba1 ldr r3, [pc, #644] ; (17d64 ) + 17ae0: 4798 blx r3 + 17ae2: 2801 cmp r0, #1 + 17ae4: f241 8035 bls.w 18b52 + 17ae8: 2000 movs r0, #0 + 17aea: 4b9f ldr r3, [pc, #636] ; (17d68 ) + 17aec: 4798 blx r3 + 17aee: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17af2: 0040 lsls r0, r0, #1 + 17af4: 3050 adds r0, #80 ; 0x50 + 17af6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17afa: f281 8045 bge.w 18b88 + 17afe: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17b18: 2110 movs r1, #16 - 17b1a: 4620 mov r0, r4 - 17b1c: 4b99 ldr r3, [pc, #612] ; (17d84 ) - 17b1e: 4798 blx r3 + 17b00: 2110 movs r1, #16 + 17b02: 4620 mov r0, r4 + 17b04: 4b99 ldr r3, [pc, #612] ; (17d6c ) + 17b06: 4798 blx r3 lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 17b20: 4b99 ldr r3, [pc, #612] ; (17d88 ) - 17b22: 681c ldr r4, [r3, #0] - 17b24: 3478 adds r4, #120 ; 0x78 - 17b26: 2000 movs r0, #0 - 17b28: 4b94 ldr r3, [pc, #592] ; (17d7c ) - 17b2a: 4798 blx r3 - 17b2c: 2801 cmp r0, #1 - 17b2e: f241 8047 bls.w 18bc0 - 17b32: 2000 movs r0, #0 - 17b34: 4b92 ldr r3, [pc, #584] ; (17d80 ) - 17b36: 4798 blx r3 - 17b38: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17b3c: 0040 lsls r0, r0, #1 - 17b3e: 3050 adds r0, #80 ; 0x50 - 17b40: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17b44: f281 8057 bge.w 18bf6 - 17b48: 2201 movs r2, #1 + 17b08: 4b99 ldr r3, [pc, #612] ; (17d70 ) + 17b0a: 681c ldr r4, [r3, #0] + 17b0c: 3478 adds r4, #120 ; 0x78 + 17b0e: 2000 movs r0, #0 + 17b10: 4b94 ldr r3, [pc, #592] ; (17d64 ) + 17b12: 4798 blx r3 + 17b14: 2801 cmp r0, #1 + 17b16: f241 8047 bls.w 18ba8 + 17b1a: 2000 movs r0, #0 + 17b1c: 4b92 ldr r3, [pc, #584] ; (17d68 ) + 17b1e: 4798 blx r3 + 17b20: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17b24: 0040 lsls r0, r0, #1 + 17b26: 3050 adds r0, #80 ; 0x50 + 17b28: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17b2c: f281 8057 bge.w 18bde + 17b30: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17b4a: 2111 movs r1, #17 - 17b4c: 4620 mov r0, r4 - 17b4e: 4b8d ldr r3, [pc, #564] ; (17d84 ) - 17b50: 4798 blx r3 + 17b32: 2111 movs r1, #17 + 17b34: 4620 mov r0, r4 + 17b36: 4b8d ldr r3, [pc, #564] ; (17d6c ) + 17b38: 4798 blx r3 lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); - 17b52: 4b8d ldr r3, [pc, #564] ; (17d88 ) - 17b54: 681c ldr r4, [r3, #0] - 17b56: 3478 adds r4, #120 ; 0x78 - 17b58: 2000 movs r0, #0 - 17b5a: 4b88 ldr r3, [pc, #544] ; (17d7c ) - 17b5c: 4798 blx r3 - 17b5e: 2801 cmp r0, #1 - 17b60: f241 8059 bls.w 18c16 - 17b64: 2000 movs r0, #0 - 17b66: 4b86 ldr r3, [pc, #536] ; (17d80 ) - 17b68: 4798 blx r3 - 17b6a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17b6e: 0040 lsls r0, r0, #1 - 17b70: 3050 adds r0, #80 ; 0x50 - 17b72: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17b76: f281 8069 bge.w 18c4c - 17b7a: 2201 movs r2, #1 + 17b3a: 4b8d ldr r3, [pc, #564] ; (17d70 ) + 17b3c: 681c ldr r4, [r3, #0] + 17b3e: 3478 adds r4, #120 ; 0x78 + 17b40: 2000 movs r0, #0 + 17b42: 4b88 ldr r3, [pc, #544] ; (17d64 ) + 17b44: 4798 blx r3 + 17b46: 2801 cmp r0, #1 + 17b48: f241 8059 bls.w 18bfe + 17b4c: 2000 movs r0, #0 + 17b4e: 4b86 ldr r3, [pc, #536] ; (17d68 ) + 17b50: 4798 blx r3 + 17b52: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17b56: 0040 lsls r0, r0, #1 + 17b58: 3050 adds r0, #80 ; 0x50 + 17b5a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17b5e: f281 8069 bge.w 18c34 + 17b62: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 17b7c: 2114 movs r1, #20 - 17b7e: 4620 mov r0, r4 - 17b80: 4b80 ldr r3, [pc, #512] ; (17d84 ) - 17b82: 4798 blx r3 + 17b64: 2114 movs r1, #20 + 17b66: 4620 mov r0, r4 + 17b68: 4b80 ldr r3, [pc, #512] ; (17d6c ) + 17b6a: 4798 blx r3 lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); - 17b84: 4b80 ldr r3, [pc, #512] ; (17d88 ) - 17b86: 681c ldr r4, [r3, #0] - 17b88: 3478 adds r4, #120 ; 0x78 - 17b8a: 2000 movs r0, #0 - 17b8c: 4b7b ldr r3, [pc, #492] ; (17d7c ) - 17b8e: 4798 blx r3 - 17b90: 2801 cmp r0, #1 - 17b92: f241 806b bls.w 18c6c - 17b96: 2000 movs r0, #0 - 17b98: 4b79 ldr r3, [pc, #484] ; (17d80 ) - 17b9a: 4798 blx r3 - 17b9c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17ba0: 0040 lsls r0, r0, #1 - 17ba2: 3050 adds r0, #80 ; 0x50 - 17ba4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17ba8: f281 807c bge.w 18ca4 - 17bac: f04f 32ff mov.w r2, #4294967295 + 17b6c: 4b80 ldr r3, [pc, #512] ; (17d70 ) + 17b6e: 681c ldr r4, [r3, #0] + 17b70: 3478 adds r4, #120 ; 0x78 + 17b72: 2000 movs r0, #0 + 17b74: 4b7b ldr r3, [pc, #492] ; (17d64 ) + 17b76: 4798 blx r3 + 17b78: 2801 cmp r0, #1 + 17b7a: f241 806b bls.w 18c54 + 17b7e: 2000 movs r0, #0 + 17b80: 4b79 ldr r3, [pc, #484] ; (17d68 ) + 17b82: 4798 blx r3 + 17b84: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17b88: 0040 lsls r0, r0, #1 + 17b8a: 3050 adds r0, #80 ; 0x50 + 17b8c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17b90: f281 807c bge.w 18c8c + 17b94: f04f 32ff mov.w r2, #4294967295 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 17bb0: 2104 movs r1, #4 - 17bb2: 4620 mov r0, r4 - 17bb4: 4d73 ldr r5, [pc, #460] ; (17d84 ) - 17bb6: 47a8 blx r5 + 17b98: 2104 movs r1, #4 + 17b9a: 4620 mov r0, r4 + 17b9c: 4d73 ldr r5, [pc, #460] ; (17d6c ) + 17b9e: 47a8 blx r5 lv_style_set_transform_width(&styles->list_btn, LV_STATE_PRESSED, 0); - 17bb8: 4c73 ldr r4, [pc, #460] ; (17d88 ) + 17ba0: 4c73 ldr r4, [pc, #460] ; (17d70 ) + 17ba2: 6820 ldr r0, [r4, #0] + 17ba4: 2200 movs r2, #0 + 17ba6: f241 0104 movw r1, #4100 ; 0x1004 + 17baa: 3078 adds r0, #120 ; 0x78 + 17bac: 47a8 blx r5 + lv_style_set_transform_width(&styles->list_btn, LV_STATE_CHECKED, 0); + 17bae: 6820 ldr r0, [r4, #0] + 17bb0: 2200 movs r2, #0 + 17bb2: f44f 7182 mov.w r1, #260 ; 0x104 + 17bb6: 3078 adds r0, #120 ; 0x78 + 17bb8: 47a8 blx r5 + lv_style_set_transform_width(&styles->list_btn, LV_STATE_DISABLED, 0); 17bba: 6820 ldr r0, [r4, #0] 17bbc: 2200 movs r2, #0 - 17bbe: f241 0104 movw r1, #4100 ; 0x1004 + 17bbe: f242 0104 movw r1, #8196 ; 0x2004 17bc2: 3078 adds r0, #120 ; 0x78 17bc4: 47a8 blx r5 - lv_style_set_transform_width(&styles->list_btn, LV_STATE_CHECKED, 0); - 17bc6: 6820 ldr r0, [r4, #0] - 17bc8: 2200 movs r2, #0 - 17bca: f44f 7182 mov.w r1, #260 ; 0x104 - 17bce: 3078 adds r0, #120 ; 0x78 - 17bd0: 47a8 blx r5 - lv_style_set_transform_width(&styles->list_btn, LV_STATE_DISABLED, 0); - 17bd2: 6820 ldr r0, [r4, #0] - 17bd4: 2200 movs r2, #0 - 17bd6: f242 0104 movw r1, #8196 ; 0x2004 - 17bda: 3078 adds r0, #120 ; 0x78 - 17bdc: 47a8 blx r5 lv_style_set_transition_time(&styles->list_btn, LV_STATE_DEFAULT, TRANSITION_TIME); - 17bde: 6820 ldr r0, [r4, #0] + 17bc6: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_TIME, transition_time, lv_style_int_t, _int, scalar) - 17be0: 2296 movs r2, #150 ; 0x96 - 17be2: 21b0 movs r1, #176 ; 0xb0 - 17be4: 3078 adds r0, #120 ; 0x78 - 17be6: 47a8 blx r5 + 17bc8: 2296 movs r2, #150 ; 0x96 + 17bca: 21b0 movs r1, #176 ; 0xb0 + 17bcc: 3078 adds r0, #120 ; 0x78 + 17bce: 47a8 blx r5 lv_style_set_transition_prop_6(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR); - 17be8: 6820 ldr r0, [r4, #0] + 17bd0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_6, transition_prop_6, lv_style_int_t, _int, scalar) - 17bea: 2229 movs r2, #41 ; 0x29 - 17bec: 21b7 movs r1, #183 ; 0xb7 - 17bee: 3078 adds r0, #120 ; 0x78 - 17bf0: 47a8 blx r5 + 17bd2: 2229 movs r2, #41 ; 0x29 + 17bd4: 21b7 movs r1, #183 ; 0xb7 + 17bd6: 3078 adds r0, #120 ; 0x78 + 17bd8: 47a8 blx r5 lv_style_set_transition_prop_5(&styles->list_btn, LV_STATE_DEFAULT, LV_STYLE_TRANSFORM_WIDTH); - 17bf2: 6820 ldr r0, [r4, #0] + 17bda: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSITION_PROP_5, transition_prop_5, lv_style_int_t, _int, scalar) - 17bf4: 2204 movs r2, #4 - 17bf6: 21b6 movs r1, #182 ; 0xb6 - 17bf8: 3078 adds r0, #120 ; 0x78 - 17bfa: 47a8 blx r5 + 17bdc: 2204 movs r2, #4 + 17bde: 21b6 movs r1, #182 ; 0xb6 + 17be0: 3078 adds r0, #120 ; 0x78 + 17be2: 47a8 blx r5 style_init_reset(&styles->ddlist_page); - 17bfc: 6820 ldr r0, [r4, #0] - 17bfe: 3054 adds r0, #84 ; 0x54 - 17c00: 4b62 ldr r3, [pc, #392] ; (17d8c ) - 17c02: 4798 blx r3 + 17be4: 6820 ldr r0, [r4, #0] + 17be6: 3054 adds r0, #84 ; 0x54 + 17be8: 4b62 ldr r3, [pc, #392] ; (17d74 ) + 17bea: 4798 blx r3 lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); - 17c04: 6824 ldr r4, [r4, #0] - 17c06: 3454 adds r4, #84 ; 0x54 - 17c08: 2000 movs r0, #0 - 17c0a: 4b5d ldr r3, [pc, #372] ; (17d80 ) - 17c0c: 4798 blx r3 - 17c0e: eb00 0080 add.w r0, r0, r0, lsl #2 - 17c12: 0080 lsls r0, r0, #2 - 17c14: 3050 adds r0, #80 ; 0x50 - 17c16: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17c1a: f281 8053 bge.w 18cc4 - 17c1e: 2201 movs r2, #1 + 17bec: 6824 ldr r4, [r4, #0] + 17bee: 3454 adds r4, #84 ; 0x54 + 17bf0: 2000 movs r0, #0 + 17bf2: 4b5d ldr r3, [pc, #372] ; (17d68 ) + 17bf4: 4798 blx r3 + 17bf6: eb00 0080 add.w r0, r0, r0, lsl #2 + 17bfa: 0080 lsls r0, r0, #2 + 17bfc: 3050 adds r0, #80 ; 0x50 + 17bfe: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17c02: f281 8053 bge.w 18cac + 17c06: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 17c20: f248 0181 movw r1, #32897 ; 0x8081 - 17c24: 4620 mov r0, r4 - 17c26: 4d57 ldr r5, [pc, #348] ; (17d84 ) - 17c28: 47a8 blx r5 + 17c08: f248 0181 movw r1, #32897 ; 0x8081 + 17c0c: 4620 mov r0, r4 + 17c0e: 4d57 ldr r5, [pc, #348] ; (17d6c ) + 17c10: 47a8 blx r5 lv_style_set_clip_corner(&styles->ddlist_page, LV_STATE_DEFAULT, true); - 17c2a: 4c57 ldr r4, [pc, #348] ; (17d88 ) - 17c2c: 6820 ldr r0, [r4, #0] + 17c12: 4c57 ldr r4, [pc, #348] ; (17d70 ) + 17c14: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 17c2e: 2201 movs r2, #1 - 17c30: 2102 movs r1, #2 - 17c32: 3054 adds r0, #84 ; 0x54 - 17c34: 47a8 blx r5 + 17c16: 2201 movs r2, #1 + 17c18: 2102 movs r1, #2 + 17c1a: 3054 adds r0, #84 ; 0x54 + 17c1c: 47a8 blx r5 style_init_reset(&styles->ddlist_sel); - 17c36: 6820 ldr r0, [r4, #0] - 17c38: 3058 adds r0, #88 ; 0x58 - 17c3a: 4b54 ldr r3, [pc, #336] ; (17d8c ) - 17c3c: 4798 blx r3 + 17c1e: 6820 ldr r0, [r4, #0] + 17c20: 3058 adds r0, #88 ; 0x58 + 17c22: 4b54 ldr r3, [pc, #336] ; (17d74 ) + 17c24: 4798 blx r3 lv_style_set_bg_opa(&styles->ddlist_sel, LV_STATE_DEFAULT, LV_OPA_COVER); - 17c3e: 6820 ldr r0, [r4, #0] + 17c26: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17c40: 22ff movs r2, #255 ; 0xff - 17c42: 212c movs r1, #44 ; 0x2c - 17c44: 3058 adds r0, #88 ; 0x58 - 17c46: 4b52 ldr r3, [pc, #328] ; (17d90 ) - 17c48: 4798 blx r3 + 17c28: 22ff movs r2, #255 ; 0xff + 17c2a: 212c movs r1, #44 ; 0x2c + 17c2c: 3058 adds r0, #88 ; 0x58 + 17c2e: 4b52 ldr r3, [pc, #328] ; (17d78 ) + 17c30: 4798 blx r3 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_DEFAULT, theme.color_primary); - 17c4a: 6820 ldr r0, [r4, #0] + 17c32: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17c4c: 89a2 ldrh r2, [r4, #12] - 17c4e: 2129 movs r1, #41 ; 0x29 - 17c50: 3058 adds r0, #88 ; 0x58 - 17c52: 4d50 ldr r5, [pc, #320] ; (17d94 ) - 17c54: 47a8 blx r5 + 17c34: 89a2 ldrh r2, [r4, #12] + 17c36: 2129 movs r1, #41 ; 0x29 + 17c38: 3058 adds r0, #88 ; 0x58 + 17c3a: 4d50 ldr r5, [pc, #320] ; (17d7c ) + 17c3c: 47a8 blx r5 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex3(0xfff) : lv_color_hex3(0xfff)); - 17c56: 6820 ldr r0, [r4, #0] + 17c3e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17c58: f04f 32ff mov.w r2, #4294967295 - 17c5c: f248 0189 movw r1, #32905 ; 0x8089 - 17c60: 3058 adds r0, #88 ; 0x58 - 17c62: 47a8 blx r5 + 17c40: f04f 32ff mov.w r2, #4294967295 + 17c44: f248 0189 movw r1, #32905 ; 0x8089 + 17c48: 3058 adds r0, #88 ; 0x58 + 17c4a: 47a8 blx r5 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); - 17c64: 6820 ldr r0, [r4, #0] - 17c66: 3058 adds r0, #88 ; 0x58 - 17c68: 6a23 ldr r3, [r4, #32] - 17c6a: f013 0f02 tst.w r3, #2 - 17c6e: f041 8039 bne.w 18ce4 - 17c72: 2309 movs r3, #9 - 17c74: 2113 movs r1, #19 - 17c76: 240a movs r4, #10 - 17c78: f04f 0200 mov.w r2, #0 - 17c7c: f364 0204 bfi r2, r4, #0, #5 - 17c80: f361 124a bfi r2, r1, #5, #6 - 17c84: f363 22cf bfi r2, r3, #11, #5 + 17c4c: 6820 ldr r0, [r4, #0] + 17c4e: 3058 adds r0, #88 ; 0x58 + 17c50: 6a23 ldr r3, [r4, #32] + 17c52: f013 0f02 tst.w r3, #2 + 17c56: f041 8039 bne.w 18ccc + 17c5a: 2309 movs r3, #9 + 17c5c: 2113 movs r1, #19 + 17c5e: 240a movs r4, #10 + 17c60: f04f 0200 mov.w r2, #0 + 17c64: f364 0204 bfi r2, r4, #0, #5 + 17c68: f361 124a bfi r2, r1, #5, #6 + 17c6c: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17c88: f241 0129 movw r1, #4137 ; 0x1029 - 17c8c: 4b41 ldr r3, [pc, #260] ; (17d94 ) - 17c8e: 4798 blx r3 + 17c70: f241 0129 movw r1, #4137 ; 0x1029 + 17c74: 4b41 ldr r3, [pc, #260] ; (17d7c ) + 17c76: 4798 blx r3 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 17c90: 4b3d ldr r3, [pc, #244] ; (17d88 ) - 17c92: 6818 ldr r0, [r3, #0] - 17c94: 3058 adds r0, #88 ; 0x58 - 17c96: 6a1b ldr r3, [r3, #32] - 17c98: f013 0f02 tst.w r3, #2 - 17c9c: f041 8027 bne.w 18cee - 17ca0: 231f movs r3, #31 - 17ca2: 213f movs r1, #63 ; 0x3f - 17ca4: 461c mov r4, r3 - 17ca6: f04f 0200 mov.w r2, #0 - 17caa: f364 0204 bfi r2, r4, #0, #5 - 17cae: f361 124a bfi r2, r1, #5, #6 - 17cb2: f363 22cf bfi r2, r3, #11, #5 + 17c78: 4b3d ldr r3, [pc, #244] ; (17d70 ) + 17c7a: 6818 ldr r0, [r3, #0] + 17c7c: 3058 adds r0, #88 ; 0x58 + 17c7e: 6a1b ldr r3, [r3, #32] + 17c80: f013 0f02 tst.w r3, #2 + 17c84: f041 8027 bne.w 18cd6 + 17c88: 231f movs r3, #31 + 17c8a: 213f movs r1, #63 ; 0x3f + 17c8c: 461c mov r4, r3 + 17c8e: f04f 0200 mov.w r2, #0 + 17c92: f364 0204 bfi r2, r4, #0, #5 + 17c96: f361 124a bfi r2, r1, #5, #6 + 17c9a: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17cb6: f249 0189 movw r1, #37001 ; 0x9089 - 17cba: 4b36 ldr r3, [pc, #216] ; (17d94 ) - 17cbc: 4798 blx r3 + 17c9e: f249 0189 movw r1, #37001 ; 0x9089 + 17ca2: 4b36 ldr r3, [pc, #216] ; (17d7c ) + 17ca4: 4798 blx r3 style_init_reset(&styles->roller_bg); - 17cbe: 4c32 ldr r4, [pc, #200] ; (17d88 ) - 17cc0: 6820 ldr r0, [r4, #0] - 17cc2: 3088 adds r0, #136 ; 0x88 - 17cc4: 4b31 ldr r3, [pc, #196] ; (17d8c ) - 17cc6: 4798 blx r3 + 17ca6: 4c32 ldr r4, [pc, #200] ; (17d70 ) + 17ca8: 6820 ldr r0, [r4, #0] + 17caa: 3088 adds r0, #136 ; 0x88 + 17cac: 4b31 ldr r3, [pc, #196] ; (17d74 ) + 17cae: 4798 blx r3 lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 17cc8: 6824 ldr r4, [r4, #0] - 17cca: 3488 adds r4, #136 ; 0x88 - 17ccc: 2000 movs r0, #0 - 17cce: 4b2c ldr r3, [pc, #176] ; (17d80 ) - 17cd0: 4798 blx r3 - 17cd2: eb00 0080 add.w r0, r0, r0, lsl #2 - 17cd6: eb00 0080 add.w r0, r0, r0, lsl #2 - 17cda: 3050 adds r0, #80 ; 0x50 - 17cdc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17ce0: f281 800a bge.w 18cf8 - 17ce4: 2201 movs r2, #1 + 17cb0: 6824 ldr r4, [r4, #0] + 17cb2: 3488 adds r4, #136 ; 0x88 + 17cb4: 2000 movs r0, #0 + 17cb6: 4b2c ldr r3, [pc, #176] ; (17d68 ) + 17cb8: 4798 blx r3 + 17cba: eb00 0080 add.w r0, r0, r0, lsl #2 + 17cbe: eb00 0080 add.w r0, r0, r0, lsl #2 + 17cc2: 3050 adds r0, #80 ; 0x50 + 17cc4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17cc8: f281 800a bge.w 18ce0 + 17ccc: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 17ce6: f248 0181 movw r1, #32897 ; 0x8081 - 17cea: 4620 mov r0, r4 - 17cec: 4b25 ldr r3, [pc, #148] ; (17d84 ) - 17cee: 4798 blx r3 + 17cce: f248 0181 movw r1, #32897 ; 0x8081 + 17cd2: 4620 mov r0, r4 + 17cd4: 4b25 ldr r3, [pc, #148] ; (17d6c ) + 17cd6: 4798 blx r3 style_init_reset(&styles->roller_sel); - 17cf0: 4c25 ldr r4, [pc, #148] ; (17d88 ) - 17cf2: 6820 ldr r0, [r4, #0] - 17cf4: 308c adds r0, #140 ; 0x8c - 17cf6: 4e25 ldr r6, [pc, #148] ; (17d8c ) - 17cf8: 47b0 blx r6 + 17cd8: 4c25 ldr r4, [pc, #148] ; (17d70 ) + 17cda: 6820 ldr r0, [r4, #0] + 17cdc: 308c adds r0, #140 ; 0x8c + 17cde: 4e25 ldr r6, [pc, #148] ; (17d74 ) + 17ce0: 47b0 blx r6 lv_style_set_bg_opa(&styles->roller_sel, LV_STATE_DEFAULT, LV_OPA_COVER); - 17cfa: 6820 ldr r0, [r4, #0] + 17ce2: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17cfc: 22ff movs r2, #255 ; 0xff - 17cfe: 212c movs r1, #44 ; 0x2c - 17d00: 308c adds r0, #140 ; 0x8c - 17d02: 4d23 ldr r5, [pc, #140] ; (17d90 ) - 17d04: 47a8 blx r5 + 17ce4: 22ff movs r2, #255 ; 0xff + 17ce6: 212c movs r1, #44 ; 0x2c + 17ce8: 308c adds r0, #140 ; 0x8c + 17cea: 4d23 ldr r5, [pc, #140] ; (17d78 ) + 17cec: 47a8 blx r5 lv_style_set_bg_color(&styles->roller_sel, LV_STATE_DEFAULT, theme.color_primary); - 17d06: 6820 ldr r0, [r4, #0] + 17cee: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17d08: 89a2 ldrh r2, [r4, #12] - 17d0a: 2129 movs r1, #41 ; 0x29 - 17d0c: 308c adds r0, #140 ; 0x8c - 17d0e: 4f21 ldr r7, [pc, #132] ; (17d94 ) - 17d10: 47b8 blx r7 + 17cf0: 89a2 ldrh r2, [r4, #12] + 17cf2: 2129 movs r1, #41 ; 0x29 + 17cf4: 308c adds r0, #140 ; 0x8c + 17cf6: 4f21 ldr r7, [pc, #132] ; (17d7c ) + 17cf8: 47b8 blx r7 lv_style_set_text_color(&styles->roller_sel, LV_STATE_DEFAULT, LV_COLOR_WHITE); - 17d12: 6820 ldr r0, [r4, #0] + 17cfa: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17d14: 4b20 ldr r3, [pc, #128] ; (17d98 ) - 17d16: 881a ldrh r2, [r3, #0] - 17d18: f248 0189 movw r1, #32905 ; 0x8089 - 17d1c: 308c adds r0, #140 ; 0x8c - 17d1e: 47b8 blx r7 + 17cfc: 4b20 ldr r3, [pc, #128] ; (17d80 ) + 17cfe: 881a ldrh r2, [r3, #0] + 17d00: f248 0189 movw r1, #32905 ; 0x8089 + 17d04: 308c adds r0, #140 ; 0x8c + 17d06: 47b8 blx r7 style_init_reset(&styles->tabview_btns_bg); - 17d20: 6820 ldr r0, [r4, #0] - 17d22: 30a8 adds r0, #168 ; 0xa8 - 17d24: 47b0 blx r6 + 17d08: 6820 ldr r0, [r4, #0] + 17d0a: 30a8 adds r0, #168 ; 0xa8 + 17d0c: 47b0 blx r6 lv_style_set_bg_opa(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_OPA_COVER); - 17d26: 6820 ldr r0, [r4, #0] + 17d0e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17d28: 22ff movs r2, #255 ; 0xff - 17d2a: 212c movs r1, #44 ; 0x2c - 17d2c: 30a8 adds r0, #168 ; 0xa8 - 17d2e: 47a8 blx r5 + 17d10: 22ff movs r2, #255 ; 0xff + 17d12: 212c movs r1, #44 ; 0x2c + 17d14: 30a8 adds r0, #168 ; 0xa8 + 17d16: 47a8 blx r5 lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); - 17d30: 6820 ldr r0, [r4, #0] - 17d32: 30a8 adds r0, #168 ; 0xa8 - 17d34: 6a23 ldr r3, [r4, #32] - 17d36: f013 0f02 tst.w r3, #2 - 17d3a: f040 87ee bne.w 18d1a - 17d3e: 230b movs r3, #11 - 17d40: 2118 movs r1, #24 - 17d42: 240e movs r4, #14 - 17d44: f04f 0200 mov.w r2, #0 - 17d48: f364 0204 bfi r2, r4, #0, #5 - 17d4c: f361 124a bfi r2, r1, #5, #6 - 17d50: f363 22cf bfi r2, r3, #11, #5 + 17d18: 6820 ldr r0, [r4, #0] + 17d1a: 30a8 adds r0, #168 ; 0xa8 + 17d1c: 6a23 ldr r3, [r4, #32] + 17d1e: f013 0f02 tst.w r3, #2 + 17d22: f040 87ee bne.w 18d02 + 17d26: 230b movs r3, #11 + 17d28: 2118 movs r1, #24 + 17d2a: 240e movs r4, #14 + 17d2c: f04f 0200 mov.w r2, #0 + 17d30: f364 0204 bfi r2, r4, #0, #5 + 17d34: f361 124a bfi r2, r1, #5, #6 + 17d38: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17d54: 2129 movs r1, #41 ; 0x29 - 17d56: 4b0f ldr r3, [pc, #60] ; (17d94 ) - 17d58: 4798 blx r3 + 17d3c: 2129 movs r1, #41 ; 0x29 + 17d3e: 4b0f ldr r3, [pc, #60] ; (17d7c ) + 17d40: 4798 blx r3 lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 17d5a: 4b0b ldr r3, [pc, #44] ; (17d88 ) - 17d5c: 6818 ldr r0, [r3, #0] + 17d42: 4b0b ldr r3, [pc, #44] ; (17d70 ) + 17d44: 6818 ldr r0, [r3, #0] IS_LIGHT ? lv_color_hex(0xe4eaf0) : lv_color_hex(0x3b3e42)); - 17d5e: 6a1b ldr r3, [r3, #32] + 17d46: 6a1b ldr r3, [r3, #32] lv_style_set_border_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, - 17d60: f013 0302 ands.w r3, r3, #2 - 17d64: bf14 ite ne - 17d66: 211c movne r1, #28 - 17d68: 2107 moveq r1, #7 - 17d6a: 2b00 cmp r3, #0 - 17d6c: bf15 itete ne - 17d6e: 243a movne r4, #58 ; 0x3a - 17d70: 240f moveq r4, #15 - 17d72: 231e movne r3, #30 - 17d74: 2308 moveq r3, #8 - 17d76: f04f 0200 mov.w r2, #0 - 17d7a: e00f b.n 17d9c - 17d7c: 00010f59 .word 0x00010f59 - 17d80: 00010f3d .word 0x00010f3d - 17d84: 000068e1 .word 0x000068e1 - 17d88: 20006bd8 .word 0x20006bd8 - 17d8c: 00014a61 .word 0x00014a61 - 17d90: 00006b69 .word 0x00006b69 - 17d94: 00006a25 .word 0x00006a25 - 17d98: 00029584 .word 0x00029584 - 17d9c: f363 0204 bfi r2, r3, #0, #5 - 17da0: f364 124a bfi r2, r4, #5, #6 - 17da4: f361 22cf bfi r2, r1, #11, #5 + 17d48: f013 0302 ands.w r3, r3, #2 + 17d4c: bf14 ite ne + 17d4e: 211c movne r1, #28 + 17d50: 2107 moveq r1, #7 + 17d52: 2b00 cmp r3, #0 + 17d54: bf15 itete ne + 17d56: 243a movne r4, #58 ; 0x3a + 17d58: 240f moveq r4, #15 + 17d5a: 231e movne r3, #30 + 17d5c: 2308 moveq r3, #8 + 17d5e: f04f 0200 mov.w r2, #0 + 17d62: e00f b.n 17d84 + 17d64: 00010f41 .word 0x00010f41 + 17d68: 00010f25 .word 0x00010f25 + 17d6c: 000068c9 .word 0x000068c9 + 17d70: 20006bd8 .word 0x20006bd8 + 17d74: 00014a49 .word 0x00014a49 + 17d78: 00006b51 .word 0x00006b51 + 17d7c: 00006a0d .word 0x00006a0d + 17d80: 0002956c .word 0x0002956c + 17d84: f363 0204 bfi r2, r3, #0, #5 + 17d88: f364 124a bfi r2, r4, #5, #6 + 17d8c: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 17da8: 2139 movs r1, #57 ; 0x39 - 17daa: 30a8 adds r0, #168 ; 0xa8 - 17dac: 4bb6 ldr r3, [pc, #728] ; (18088 ) - 17dae: 4798 blx r3 + 17d90: 2139 movs r1, #57 ; 0x39 + 17d92: 30a8 adds r0, #168 ; 0xa8 + 17d94: 4bb6 ldr r3, [pc, #728] ; (18070 ) + 17d96: 4798 blx r3 lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 17db0: 4bb6 ldr r3, [pc, #728] ; (1808c ) - 17db2: 681c ldr r4, [r3, #0] - 17db4: 34a8 adds r4, #168 ; 0xa8 - 17db6: 2000 movs r0, #0 - 17db8: 4bb5 ldr r3, [pc, #724] ; (18090 ) - 17dba: 4798 blx r3 - 17dbc: eb00 0080 add.w r0, r0, r0, lsl #2 - 17dc0: 3050 adds r0, #80 ; 0x50 - 17dc2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17dc6: f280 87ad bge.w 18d24 - 17dca: 2201 movs r2, #1 + 17d98: 4bb6 ldr r3, [pc, #728] ; (18074 ) + 17d9a: 681c ldr r4, [r3, #0] + 17d9c: 34a8 adds r4, #168 ; 0xa8 + 17d9e: 2000 movs r0, #0 + 17da0: 4bb5 ldr r3, [pc, #724] ; (18078 ) + 17da2: 4798 blx r3 + 17da4: eb00 0080 add.w r0, r0, r0, lsl #2 + 17da8: 3050 adds r0, #80 ; 0x50 + 17daa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17dae: f280 87ad bge.w 18d0c + 17db2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 17dcc: 2130 movs r1, #48 ; 0x30 - 17dce: 4620 mov r0, r4 - 17dd0: 4db0 ldr r5, [pc, #704] ; (18094 ) - 17dd2: 47a8 blx r5 + 17db4: 2130 movs r1, #48 ; 0x30 + 17db6: 4620 mov r0, r4 + 17db8: 4db0 ldr r5, [pc, #704] ; (1807c ) + 17dba: 47a8 blx r5 lv_style_set_border_side(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_BORDER_SIDE_BOTTOM); - 17dd4: 4cad ldr r4, [pc, #692] ; (1808c ) - 17dd6: 6820 ldr r0, [r4, #0] + 17dbc: 4cad ldr r4, [pc, #692] ; (18074 ) + 17dbe: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 17dd8: 2201 movs r2, #1 - 17dda: 2131 movs r1, #49 ; 0x31 - 17ddc: 30a8 adds r0, #168 ; 0xa8 - 17dde: 47a8 blx r5 + 17dc0: 2201 movs r2, #1 + 17dc2: 2131 movs r1, #49 ; 0x31 + 17dc4: 30a8 adds r0, #168 ; 0xa8 + 17dc6: 47a8 blx r5 lv_style_set_text_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_SCR_TEXT); - 17de0: 6820 ldr r0, [r4, #0] - 17de2: 6a23 ldr r3, [r4, #32] - 17de4: f013 0302 ands.w r3, r3, #2 - 17de8: bf14 ite ne - 17dea: 2107 movne r1, #7 - 17dec: 211c moveq r1, #28 - 17dee: 2b00 cmp r3, #0 - 17df0: bf15 itete ne - 17df2: 240f movne r4, #15 - 17df4: 243a moveq r4, #58 ; 0x3a - 17df6: 2308 movne r3, #8 - 17df8: 231d moveq r3, #29 - 17dfa: f04f 0200 mov.w r2, #0 - 17dfe: f363 0204 bfi r2, r3, #0, #5 - 17e02: f364 124a bfi r2, r4, #5, #6 - 17e06: f361 22cf bfi r2, r1, #11, #5 + 17dc8: 6820 ldr r0, [r4, #0] + 17dca: 6a23 ldr r3, [r4, #32] + 17dcc: f013 0302 ands.w r3, r3, #2 + 17dd0: bf14 ite ne + 17dd2: 2107 movne r1, #7 + 17dd4: 211c moveq r1, #28 + 17dd6: 2b00 cmp r3, #0 + 17dd8: bf15 itete ne + 17dda: 240f movne r4, #15 + 17ddc: 243a moveq r4, #58 ; 0x3a + 17dde: 2308 movne r3, #8 + 17de0: 231d moveq r3, #29 + 17de2: f04f 0200 mov.w r2, #0 + 17de6: f363 0204 bfi r2, r3, #0, #5 + 17dea: f364 124a bfi r2, r4, #5, #6 + 17dee: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17e0a: f248 0189 movw r1, #32905 ; 0x8089 - 17e0e: 30a8 adds r0, #168 ; 0xa8 - 17e10: 4d9d ldr r5, [pc, #628] ; (18088 ) - 17e12: 47a8 blx r5 + 17df2: f248 0189 movw r1, #32905 ; 0x8089 + 17df6: 30a8 adds r0, #168 ; 0xa8 + 17df8: 4d9d ldr r5, [pc, #628] ; (18070 ) + 17dfa: 47a8 blx r5 lv_style_set_text_font(&styles->tabview_btns_bg, LV_STATE_DEFAULT, theme.font_normal); - 17e14: 4c9d ldr r4, [pc, #628] ; (1808c ) - 17e16: 6820 ldr r0, [r4, #0] + 17dfc: 4c9d ldr r4, [pc, #628] ; (18074 ) + 17dfe: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 17e18: 6962 ldr r2, [r4, #20] - 17e1a: f248 018e movw r1, #32910 ; 0x808e - 17e1e: 30a8 adds r0, #168 ; 0xa8 - 17e20: 4b9d ldr r3, [pc, #628] ; (18098 ) - 17e22: 4798 blx r3 + 17e00: 6962 ldr r2, [r4, #20] + 17e02: f248 018e movw r1, #32910 ; 0x808e + 17e06: 30a8 adds r0, #168 ; 0xa8 + 17e08: 4b9d ldr r3, [pc, #628] ; (18080 ) + 17e0a: 4798 blx r3 lv_style_set_image_recolor(&styles->tabview_btns_bg, LV_STATE_DEFAULT, lv_color_hex(0x979a9f)); - 17e24: 6820 ldr r0, [r4, #0] - 17e26: f04f 0200 mov.w r2, #0 - 17e2a: 2313 movs r3, #19 - 17e2c: f363 0204 bfi r2, r3, #0, #5 - 17e30: 2326 movs r3, #38 ; 0x26 - 17e32: f363 124a bfi r2, r3, #5, #6 - 17e36: 2312 movs r3, #18 - 17e38: f363 22cf bfi r2, r3, #11, #5 + 17e0c: 6820 ldr r0, [r4, #0] + 17e0e: f04f 0200 mov.w r2, #0 + 17e12: 2313 movs r3, #19 + 17e14: f363 0204 bfi r2, r3, #0, #5 + 17e18: 2326 movs r3, #38 ; 0x26 + 17e1a: f363 124a bfi r2, r3, #5, #6 + 17e1e: 2312 movs r3, #18 + 17e20: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 17e3c: f248 01a9 movw r1, #32937 ; 0x80a9 - 17e40: 30a8 adds r0, #168 ; 0xa8 - 17e42: 47a8 blx r5 + 17e24: f248 01a9 movw r1, #32937 ; 0x80a9 + 17e28: 30a8 adds r0, #168 ; 0xa8 + 17e2a: 47a8 blx r5 lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 17e44: 6824 ldr r4, [r4, #0] - 17e46: 34a8 adds r4, #168 ; 0xa8 - 17e48: 2000 movs r0, #0 - 17e4a: 4b91 ldr r3, [pc, #580] ; (18090 ) - 17e4c: 4798 blx r3 - 17e4e: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17e52: 3050 adds r0, #80 ; 0x50 - 17e54: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17e58: f280 8773 bge.w 18d42 - 17e5c: 2201 movs r2, #1 + 17e2c: 6824 ldr r4, [r4, #0] + 17e2e: 34a8 adds r4, #168 ; 0xa8 + 17e30: 2000 movs r0, #0 + 17e32: 4b91 ldr r3, [pc, #580] ; (18078 ) + 17e34: 4798 blx r3 + 17e36: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17e3a: 3050 adds r0, #80 ; 0x50 + 17e3c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17e40: f280 8773 bge.w 18d2a + 17e44: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17e5e: 2110 movs r1, #16 - 17e60: 4620 mov r0, r4 - 17e62: 4b8c ldr r3, [pc, #560] ; (18094 ) - 17e64: 4798 blx r3 + 17e46: 2110 movs r1, #16 + 17e48: 4620 mov r0, r4 + 17e4a: 4b8c ldr r3, [pc, #560] ; (1807c ) + 17e4c: 4798 blx r3 lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 17e66: 4b89 ldr r3, [pc, #548] ; (1808c ) - 17e68: 681c ldr r4, [r3, #0] - 17e6a: 34a8 adds r4, #168 ; 0xa8 - 17e6c: 2000 movs r0, #0 - 17e6e: 4b88 ldr r3, [pc, #544] ; (18090 ) - 17e70: 4798 blx r3 - 17e72: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17e76: 3050 adds r0, #80 ; 0x50 - 17e78: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17e7c: f280 8774 bge.w 18d68 - 17e80: 2201 movs r2, #1 + 17e4e: 4b89 ldr r3, [pc, #548] ; (18074 ) + 17e50: 681c ldr r4, [r3, #0] + 17e52: 34a8 adds r4, #168 ; 0xa8 + 17e54: 2000 movs r0, #0 + 17e56: 4b88 ldr r3, [pc, #544] ; (18078 ) + 17e58: 4798 blx r3 + 17e5a: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17e5e: 3050 adds r0, #80 ; 0x50 + 17e60: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17e64: f280 8774 bge.w 18d50 + 17e68: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 17e82: 2112 movs r1, #18 - 17e84: 4620 mov r0, r4 - 17e86: 4b83 ldr r3, [pc, #524] ; (18094 ) - 17e88: 4798 blx r3 + 17e6a: 2112 movs r1, #18 + 17e6c: 4620 mov r0, r4 + 17e6e: 4b83 ldr r3, [pc, #524] ; (1807c ) + 17e70: 4798 blx r3 lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 17e8a: 4b80 ldr r3, [pc, #512] ; (1808c ) - 17e8c: 681c ldr r4, [r3, #0] - 17e8e: 34a8 adds r4, #168 ; 0xa8 - 17e90: 2000 movs r0, #0 - 17e92: 4b7f ldr r3, [pc, #508] ; (18090 ) - 17e94: 4798 blx r3 - 17e96: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 17e9a: 3050 adds r0, #80 ; 0x50 - 17e9c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17ea0: f280 8771 bge.w 18d86 - 17ea4: 2201 movs r2, #1 + 17e72: 4b80 ldr r3, [pc, #512] ; (18074 ) + 17e74: 681c ldr r4, [r3, #0] + 17e76: 34a8 adds r4, #168 ; 0xa8 + 17e78: 2000 movs r0, #0 + 17e7a: 4b7f ldr r3, [pc, #508] ; (18078 ) + 17e7c: 4798 blx r3 + 17e7e: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 17e82: 3050 adds r0, #80 ; 0x50 + 17e84: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17e88: f280 8771 bge.w 18d6e + 17e8c: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 17ea6: 2113 movs r1, #19 - 17ea8: 4620 mov r0, r4 - 17eaa: 4b7a ldr r3, [pc, #488] ; (18094 ) - 17eac: 4798 blx r3 + 17e8e: 2113 movs r1, #19 + 17e90: 4620 mov r0, r4 + 17e92: 4b7a ldr r3, [pc, #488] ; (1807c ) + 17e94: 4798 blx r3 style_init_reset(&styles->tabview_btns); - 17eae: 4c77 ldr r4, [pc, #476] ; (1808c ) - 17eb0: 6820 ldr r0, [r4, #0] - 17eb2: 30a4 adds r0, #164 ; 0xa4 - 17eb4: 4b79 ldr r3, [pc, #484] ; (1809c ) - 17eb6: 4798 blx r3 + 17e96: 4c77 ldr r4, [pc, #476] ; (18074 ) + 17e98: 6820 ldr r0, [r4, #0] + 17e9a: 30a4 adds r0, #164 ; 0xa4 + 17e9c: 4b79 ldr r3, [pc, #484] ; (18084 ) + 17e9e: 4798 blx r3 lv_style_set_bg_opa(&styles->tabview_btns, LV_STATE_PRESSED, LV_OPA_50); - 17eb8: 6820 ldr r0, [r4, #0] + 17ea0: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17eba: 227f movs r2, #127 ; 0x7f - 17ebc: f241 012c movw r1, #4140 ; 0x102c - 17ec0: 30a4 adds r0, #164 ; 0xa4 - 17ec2: 4b77 ldr r3, [pc, #476] ; (180a0 ) - 17ec4: 4798 blx r3 + 17ea2: 227f movs r2, #127 ; 0x7f + 17ea4: f241 012c movw r1, #4140 ; 0x102c + 17ea8: 30a4 adds r0, #164 ; 0xa4 + 17eaa: 4b77 ldr r3, [pc, #476] ; (18088 ) + 17eac: 4798 blx r3 lv_style_set_bg_color(&styles->tabview_btns, LV_STATE_PRESSED, lv_color_hex3(0x888)); - 17ec6: 6820 ldr r0, [r4, #0] - 17ec8: 2311 movs r3, #17 - 17eca: f04f 0200 mov.w r2, #0 - 17ece: f363 0204 bfi r2, r3, #0, #5 - 17ed2: 2122 movs r1, #34 ; 0x22 - 17ed4: f361 124a bfi r2, r1, #5, #6 - 17ed8: f363 22cf bfi r2, r3, #11, #5 + 17eae: 6820 ldr r0, [r4, #0] + 17eb0: 2311 movs r3, #17 + 17eb2: f04f 0200 mov.w r2, #0 + 17eb6: f363 0204 bfi r2, r3, #0, #5 + 17eba: 2122 movs r1, #34 ; 0x22 + 17ebc: f361 124a bfi r2, r1, #5, #6 + 17ec0: f363 22cf bfi r2, r3, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17edc: f241 0129 movw r1, #4137 ; 0x1029 - 17ee0: 30a4 adds r0, #164 ; 0xa4 - 17ee2: 4b69 ldr r3, [pc, #420] ; (18088 ) - 17ee4: 4798 blx r3 + 17ec4: f241 0129 movw r1, #4137 ; 0x1029 + 17ec8: 30a4 adds r0, #164 ; 0xa4 + 17eca: 4b69 ldr r3, [pc, #420] ; (18070 ) + 17ecc: 4798 blx r3 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_CHECKED, COLOR_SCR_TEXT); - 17ee6: 6820 ldr r0, [r4, #0] - 17ee8: 6a23 ldr r3, [r4, #32] - 17eea: f013 0302 ands.w r3, r3, #2 - 17eee: bf14 ite ne - 17ef0: 2107 movne r1, #7 - 17ef2: 211c moveq r1, #28 - 17ef4: 2b00 cmp r3, #0 - 17ef6: bf15 itete ne - 17ef8: 240f movne r4, #15 - 17efa: 243a moveq r4, #58 ; 0x3a - 17efc: 2308 movne r3, #8 - 17efe: 231d moveq r3, #29 - 17f00: f04f 0200 mov.w r2, #0 - 17f04: f363 0204 bfi r2, r3, #0, #5 - 17f08: f364 124a bfi r2, r4, #5, #6 - 17f0c: f361 22cf bfi r2, r1, #11, #5 + 17ece: 6820 ldr r0, [r4, #0] + 17ed0: 6a23 ldr r3, [r4, #32] + 17ed2: f013 0302 ands.w r3, r3, #2 + 17ed6: bf14 ite ne + 17ed8: 2107 movne r1, #7 + 17eda: 211c moveq r1, #28 + 17edc: 2b00 cmp r3, #0 + 17ede: bf15 itete ne + 17ee0: 240f movne r4, #15 + 17ee2: 243a moveq r4, #58 ; 0x3a + 17ee4: 2308 movne r3, #8 + 17ee6: 231d moveq r3, #29 + 17ee8: f04f 0200 mov.w r2, #0 + 17eec: f363 0204 bfi r2, r3, #0, #5 + 17ef0: f364 124a bfi r2, r4, #5, #6 + 17ef4: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17f10: f248 1189 movw r1, #33161 ; 0x8189 - 17f14: 30a4 adds r0, #164 ; 0xa4 - 17f16: 4b5c ldr r3, [pc, #368] ; (18088 ) - 17f18: 4798 blx r3 + 17ef8: f248 1189 movw r1, #33161 ; 0x8189 + 17efc: 30a4 adds r0, #164 ; 0xa4 + 17efe: 4b5c ldr r3, [pc, #368] ; (18070 ) + 17f00: 4798 blx r3 lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 17f1a: 4b5c ldr r3, [pc, #368] ; (1808c ) - 17f1c: 681c ldr r4, [r3, #0] - 17f1e: 34a4 adds r4, #164 ; 0xa4 - 17f20: 2000 movs r0, #0 - 17f22: 4b5b ldr r3, [pc, #364] ; (18090 ) - 17f24: 4798 blx r3 - 17f26: eb00 0080 add.w r0, r0, r0, lsl #2 - 17f2a: 0080 lsls r0, r0, #2 - 17f2c: 3050 adds r0, #80 ; 0x50 - 17f2e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17f32: f280 8737 bge.w 18da4 - 17f36: 2201 movs r2, #1 + 17f02: 4b5c ldr r3, [pc, #368] ; (18074 ) + 17f04: 681c ldr r4, [r3, #0] + 17f06: 34a4 adds r4, #164 ; 0xa4 + 17f08: 2000 movs r0, #0 + 17f0a: 4b5b ldr r3, [pc, #364] ; (18078 ) + 17f0c: 4798 blx r3 + 17f0e: eb00 0080 add.w r0, r0, r0, lsl #2 + 17f12: 0080 lsls r0, r0, #2 + 17f14: 3050 adds r0, #80 ; 0x50 + 17f16: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17f1a: f280 8737 bge.w 18d8c + 17f1e: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 17f38: 2110 movs r1, #16 - 17f3a: 4620 mov r0, r4 - 17f3c: 4b55 ldr r3, [pc, #340] ; (18094 ) - 17f3e: 4798 blx r3 + 17f20: 2110 movs r1, #16 + 17f22: 4620 mov r0, r4 + 17f24: 4b55 ldr r3, [pc, #340] ; (1807c ) + 17f26: 4798 blx r3 lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 17f40: 4b52 ldr r3, [pc, #328] ; (1808c ) - 17f42: 681c ldr r4, [r3, #0] - 17f44: 34a4 adds r4, #164 ; 0xa4 - 17f46: 2000 movs r0, #0 - 17f48: 4b51 ldr r3, [pc, #324] ; (18090 ) - 17f4a: 4798 blx r3 - 17f4c: eb00 0080 add.w r0, r0, r0, lsl #2 - 17f50: 0080 lsls r0, r0, #2 - 17f52: 3050 adds r0, #80 ; 0x50 - 17f54: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17f58: f280 8734 bge.w 18dc4 - 17f5c: 2201 movs r2, #1 + 17f28: 4b52 ldr r3, [pc, #328] ; (18074 ) + 17f2a: 681c ldr r4, [r3, #0] + 17f2c: 34a4 adds r4, #164 ; 0xa4 + 17f2e: 2000 movs r0, #0 + 17f30: 4b51 ldr r3, [pc, #324] ; (18078 ) + 17f32: 4798 blx r3 + 17f34: eb00 0080 add.w r0, r0, r0, lsl #2 + 17f38: 0080 lsls r0, r0, #2 + 17f3a: 3050 adds r0, #80 ; 0x50 + 17f3c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17f40: f280 8734 bge.w 18dac + 17f44: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 17f5e: 2111 movs r1, #17 - 17f60: 4620 mov r0, r4 - 17f62: 4b4c ldr r3, [pc, #304] ; (18094 ) - 17f64: 4798 blx r3 + 17f46: 2111 movs r1, #17 + 17f48: 4620 mov r0, r4 + 17f4a: 4b4c ldr r3, [pc, #304] ; (1807c ) + 17f4c: 4798 blx r3 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_FOCUSED, theme.color_primary); - 17f66: 4c49 ldr r4, [pc, #292] ; (1808c ) - 17f68: 6820 ldr r0, [r4, #0] + 17f4e: 4c49 ldr r4, [pc, #292] ; (18074 ) + 17f50: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_COLOR, text_color, lv_color_t, _color, nonscalar) - 17f6a: 89a2 ldrh r2, [r4, #12] - 17f6c: f248 2189 movw r1, #33417 ; 0x8289 - 17f70: 30a4 adds r0, #164 ; 0xa4 - 17f72: 4d45 ldr r5, [pc, #276] ; (18088 ) - 17f74: 47a8 blx r5 + 17f52: 89a2 ldrh r2, [r4, #12] + 17f54: f248 2189 movw r1, #33417 ; 0x8289 + 17f58: 30a4 adds r0, #164 ; 0xa4 + 17f5a: 4d45 ldr r5, [pc, #276] ; (18070 ) + 17f5c: 47a8 blx r5 lv_style_set_text_color(&styles->tabview_btns, LV_STATE_EDITED, theme.color_secondary); - 17f76: 6820 ldr r0, [r4, #0] - 17f78: 89e2 ldrh r2, [r4, #14] - 17f7a: f248 4189 movw r1, #33929 ; 0x8489 - 17f7e: 30a4 adds r0, #164 ; 0xa4 - 17f80: 47a8 blx r5 + 17f5e: 6820 ldr r0, [r4, #0] + 17f60: 89e2 ldrh r2, [r4, #14] + 17f62: f248 4189 movw r1, #33929 ; 0x8489 + 17f66: 30a4 adds r0, #164 ; 0xa4 + 17f68: 47a8 blx r5 style_init_reset(&styles->tabview_indic); - 17f82: 6820 ldr r0, [r4, #0] - 17f84: 30ac adds r0, #172 ; 0xac - 17f86: 4b45 ldr r3, [pc, #276] ; (1809c ) - 17f88: 4798 blx r3 + 17f6a: 6820 ldr r0, [r4, #0] + 17f6c: 30ac adds r0, #172 ; 0xac + 17f6e: 4b45 ldr r3, [pc, #276] ; (18084 ) + 17f70: 4798 blx r3 lv_style_set_bg_opa(&styles->tabview_indic, LV_STATE_DEFAULT, LV_OPA_COVER); - 17f8a: 6820 ldr r0, [r4, #0] + 17f72: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_OPA, bg_opa, lv_opa_t, _opa, scalar) - 17f8c: 22ff movs r2, #255 ; 0xff - 17f8e: 212c movs r1, #44 ; 0x2c - 17f90: 30ac adds r0, #172 ; 0xac - 17f92: 4b43 ldr r3, [pc, #268] ; (180a0 ) - 17f94: 4798 blx r3 + 17f74: 22ff movs r2, #255 ; 0xff + 17f76: 212c movs r1, #44 ; 0x2c + 17f78: 30ac adds r0, #172 ; 0xac + 17f7a: 4b43 ldr r3, [pc, #268] ; (18088 ) + 17f7c: 4798 blx r3 lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_DEFAULT, theme.color_primary); - 17f96: 6820 ldr r0, [r4, #0] + 17f7e: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BG_COLOR, bg_color, lv_color_t, _color, nonscalar) - 17f98: 89a2 ldrh r2, [r4, #12] - 17f9a: 2129 movs r1, #41 ; 0x29 - 17f9c: 30ac adds r0, #172 ; 0xac - 17f9e: 47a8 blx r5 + 17f80: 89a2 ldrh r2, [r4, #12] + 17f82: 2129 movs r1, #41 ; 0x29 + 17f84: 30ac adds r0, #172 ; 0xac + 17f86: 47a8 blx r5 lv_style_set_bg_color(&styles->tabview_indic, LV_STATE_EDITED, theme.color_secondary); - 17fa0: 6820 ldr r0, [r4, #0] - 17fa2: 89e2 ldrh r2, [r4, #14] - 17fa4: f240 4129 movw r1, #1065 ; 0x429 - 17fa8: 30ac adds r0, #172 ; 0xac - 17faa: 47a8 blx r5 + 17f88: 6820 ldr r0, [r4, #0] + 17f8a: 89e2 ldrh r2, [r4, #14] + 17f8c: f240 4129 movw r1, #1065 ; 0x429 + 17f90: 30ac adds r0, #172 ; 0xac + 17f92: 47a8 blx r5 lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); - 17fac: 6824 ldr r4, [r4, #0] - 17fae: 34ac adds r4, #172 ; 0xac - 17fb0: 2000 movs r0, #0 - 17fb2: 4b37 ldr r3, [pc, #220] ; (18090 ) - 17fb4: 4798 blx r3 - 17fb6: eb00 0080 add.w r0, r0, r0, lsl #2 - 17fba: 3050 adds r0, #80 ; 0x50 - 17fbc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 17fc0: f280 8710 bge.w 18de4 - 17fc4: 2201 movs r2, #1 + 17f94: 6824 ldr r4, [r4, #0] + 17f96: 34ac adds r4, #172 ; 0xac + 17f98: 2000 movs r0, #0 + 17f9a: 4b37 ldr r3, [pc, #220] ; (18078 ) + 17f9c: 4798 blx r3 + 17f9e: eb00 0080 add.w r0, r0, r0, lsl #2 + 17fa2: 3050 adds r0, #80 ; 0x50 + 17fa4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17fa8: f280 8710 bge.w 18dcc + 17fac: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) - 17fc6: 2103 movs r1, #3 - 17fc8: 4620 mov r0, r4 - 17fca: 4d32 ldr r5, [pc, #200] ; (18094 ) - 17fcc: 47a8 blx r5 + 17fae: 2103 movs r1, #3 + 17fb0: 4620 mov r0, r4 + 17fb2: 4d32 ldr r5, [pc, #200] ; (1807c ) + 17fb4: 47a8 blx r5 lv_style_set_radius(&styles->tabview_indic, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); - 17fce: 4c2f ldr r4, [pc, #188] ; (1808c ) - 17fd0: 6820 ldr r0, [r4, #0] + 17fb6: 4c2f ldr r4, [pc, #188] ; (18074 ) + 17fb8: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 17fd2: f647 72ff movw r2, #32767 ; 0x7fff - 17fd6: 2101 movs r1, #1 - 17fd8: 30ac adds r0, #172 ; 0xac - 17fda: 47a8 blx r5 + 17fba: f647 72ff movw r2, #32767 ; 0x7fff + 17fbe: 2101 movs r1, #1 + 17fc0: 30ac adds r0, #172 ; 0xac + 17fc2: 47a8 blx r5 style_init_reset(&styles->tabview_page_scrl); - 17fdc: 6820 ldr r0, [r4, #0] - 17fde: 30b0 adds r0, #176 ; 0xb0 - 17fe0: 4b2e ldr r3, [pc, #184] ; (1809c ) - 17fe2: 4798 blx r3 + 17fc4: 6820 ldr r0, [r4, #0] + 17fc6: 30b0 adds r0, #176 ; 0xb0 + 17fc8: 4b2e ldr r3, [pc, #184] ; (18084 ) + 17fca: 4798 blx r3 lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 17fe4: 6824 ldr r4, [r4, #0] - 17fe6: 34b0 adds r4, #176 ; 0xb0 - 17fe8: 2000 movs r0, #0 - 17fea: 4b2e ldr r3, [pc, #184] ; (180a4 ) - 17fec: 4798 blx r3 - 17fee: 2801 cmp r0, #1 - 17ff0: f240 8707 bls.w 18e02 - 17ff4: 2000 movs r0, #0 - 17ff6: 4b26 ldr r3, [pc, #152] ; (18090 ) - 17ff8: 4798 blx r3 - 17ffa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 17ffe: 0040 lsls r0, r0, #1 - 18000: 3050 adds r0, #80 ; 0x50 - 18002: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18006: f280 8717 bge.w 18e38 - 1800a: 2201 movs r2, #1 + 17fcc: 6824 ldr r4, [r4, #0] + 17fce: 34b0 adds r4, #176 ; 0xb0 + 17fd0: 2000 movs r0, #0 + 17fd2: 4b2e ldr r3, [pc, #184] ; (1808c ) + 17fd4: 4798 blx r3 + 17fd6: 2801 cmp r0, #1 + 17fd8: f240 8707 bls.w 18dea + 17fdc: 2000 movs r0, #0 + 17fde: 4b26 ldr r3, [pc, #152] ; (18078 ) + 17fe0: 4798 blx r3 + 17fe2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 17fe6: 0040 lsls r0, r0, #1 + 17fe8: 3050 adds r0, #80 ; 0x50 + 17fea: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 17fee: f280 8717 bge.w 18e20 + 17ff2: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1800c: 2110 movs r1, #16 - 1800e: 4620 mov r0, r4 - 18010: 4b20 ldr r3, [pc, #128] ; (18094 ) - 18012: 4798 blx r3 + 17ff4: 2110 movs r1, #16 + 17ff6: 4620 mov r0, r4 + 17ff8: 4b20 ldr r3, [pc, #128] ; (1807c ) + 17ffa: 4798 blx r3 lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 18014: 4b1d ldr r3, [pc, #116] ; (1808c ) - 18016: 681c ldr r4, [r3, #0] - 18018: 34b0 adds r4, #176 ; 0xb0 - 1801a: 2000 movs r0, #0 - 1801c: 4b21 ldr r3, [pc, #132] ; (180a4 ) - 1801e: 4798 blx r3 - 18020: 2801 cmp r0, #1 - 18022: f240 8719 bls.w 18e58 - 18026: 2000 movs r0, #0 - 18028: 4b19 ldr r3, [pc, #100] ; (18090 ) - 1802a: 4798 blx r3 - 1802c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18030: 0040 lsls r0, r0, #1 - 18032: 3050 adds r0, #80 ; 0x50 - 18034: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18038: f280 8729 bge.w 18e8e - 1803c: 2201 movs r2, #1 + 17ffc: 4b1d ldr r3, [pc, #116] ; (18074 ) + 17ffe: 681c ldr r4, [r3, #0] + 18000: 34b0 adds r4, #176 ; 0xb0 + 18002: 2000 movs r0, #0 + 18004: 4b21 ldr r3, [pc, #132] ; (1808c ) + 18006: 4798 blx r3 + 18008: 2801 cmp r0, #1 + 1800a: f240 8719 bls.w 18e40 + 1800e: 2000 movs r0, #0 + 18010: 4b19 ldr r3, [pc, #100] ; (18078 ) + 18012: 4798 blx r3 + 18014: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18018: 0040 lsls r0, r0, #1 + 1801a: 3050 adds r0, #80 ; 0x50 + 1801c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18020: f280 8729 bge.w 18e76 + 18024: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1803e: 2111 movs r1, #17 - 18040: 4620 mov r0, r4 - 18042: 4b14 ldr r3, [pc, #80] ; (18094 ) - 18044: 4798 blx r3 + 18026: 2111 movs r1, #17 + 18028: 4620 mov r0, r4 + 1802a: 4b14 ldr r3, [pc, #80] ; (1807c ) + 1802c: 4798 blx r3 lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 18046: 4b11 ldr r3, [pc, #68] ; (1808c ) - 18048: 681c ldr r4, [r3, #0] - 1804a: 34b0 adds r4, #176 ; 0xb0 - 1804c: 2000 movs r0, #0 - 1804e: 4b15 ldr r3, [pc, #84] ; (180a4 ) - 18050: 4798 blx r3 - 18052: 2801 cmp r0, #1 - 18054: f240 872b bls.w 18eae - 18058: 2000 movs r0, #0 - 1805a: 4b0d ldr r3, [pc, #52] ; (18090 ) - 1805c: 4798 blx r3 - 1805e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18062: 0040 lsls r0, r0, #1 - 18064: 3050 adds r0, #80 ; 0x50 - 18066: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1806a: f280 873b bge.w 18ee4 - 1806e: 2201 movs r2, #1 + 1802e: 4b11 ldr r3, [pc, #68] ; (18074 ) + 18030: 681c ldr r4, [r3, #0] + 18032: 34b0 adds r4, #176 ; 0xb0 + 18034: 2000 movs r0, #0 + 18036: 4b15 ldr r3, [pc, #84] ; (1808c ) + 18038: 4798 blx r3 + 1803a: 2801 cmp r0, #1 + 1803c: f240 872b bls.w 18e96 + 18040: 2000 movs r0, #0 + 18042: 4b0d ldr r3, [pc, #52] ; (18078 ) + 18044: 4798 blx r3 + 18046: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1804a: 0040 lsls r0, r0, #1 + 1804c: 3050 adds r0, #80 ; 0x50 + 1804e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18052: f280 873b bge.w 18ecc + 18056: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 18070: 2112 movs r1, #18 - 18072: 4620 mov r0, r4 - 18074: 4b07 ldr r3, [pc, #28] ; (18094 ) - 18076: 4798 blx r3 + 18058: 2112 movs r1, #18 + 1805a: 4620 mov r0, r4 + 1805c: 4b07 ldr r3, [pc, #28] ; (1807c ) + 1805e: 4798 blx r3 lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 18078: 4b04 ldr r3, [pc, #16] ; (1808c ) - 1807a: 681c ldr r4, [r3, #0] - 1807c: 34b0 adds r4, #176 ; 0xb0 - 1807e: 2000 movs r0, #0 - 18080: 4b08 ldr r3, [pc, #32] ; (180a4 ) - 18082: 4798 blx r3 - 18084: 2801 cmp r0, #1 - 18086: e00f b.n 180a8 - 18088: 00006a25 .word 0x00006a25 - 1808c: 20006bd8 .word 0x20006bd8 - 18090: 00010f3d .word 0x00010f3d - 18094: 000068e1 .word 0x000068e1 - 18098: 00006c99 .word 0x00006c99 - 1809c: 00014a61 .word 0x00014a61 - 180a0: 00006b69 .word 0x00006b69 - 180a4: 00010f59 .word 0x00010f59 - 180a8: f240 872c bls.w 18f04 - 180ac: 2000 movs r0, #0 - 180ae: 4bbd ldr r3, [pc, #756] ; (183a4 ) - 180b0: 4798 blx r3 - 180b2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 180b6: 0040 lsls r0, r0, #1 - 180b8: 3050 adds r0, #80 ; 0x50 - 180ba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 180be: f280 873c bge.w 18f3a - 180c2: 2201 movs r2, #1 + 18060: 4b04 ldr r3, [pc, #16] ; (18074 ) + 18062: 681c ldr r4, [r3, #0] + 18064: 34b0 adds r4, #176 ; 0xb0 + 18066: 2000 movs r0, #0 + 18068: 4b08 ldr r3, [pc, #32] ; (1808c ) + 1806a: 4798 blx r3 + 1806c: 2801 cmp r0, #1 + 1806e: e00f b.n 18090 + 18070: 00006a0d .word 0x00006a0d + 18074: 20006bd8 .word 0x20006bd8 + 18078: 00010f25 .word 0x00010f25 + 1807c: 000068c9 .word 0x000068c9 + 18080: 00006c81 .word 0x00006c81 + 18084: 00014a49 .word 0x00014a49 + 18088: 00006b51 .word 0x00006b51 + 1808c: 00010f41 .word 0x00010f41 + 18090: f240 872c bls.w 18eec + 18094: 2000 movs r0, #0 + 18096: 4bbd ldr r3, [pc, #756] ; (1838c ) + 18098: 4798 blx r3 + 1809a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1809e: 0040 lsls r0, r0, #1 + 180a0: 3050 adds r0, #80 ; 0x50 + 180a2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 180a6: f280 873c bge.w 18f22 + 180aa: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 180c4: 2113 movs r1, #19 - 180c6: 4620 mov r0, r4 - 180c8: 4bb7 ldr r3, [pc, #732] ; (183a8 ) - 180ca: 4798 blx r3 + 180ac: 2113 movs r1, #19 + 180ae: 4620 mov r0, r4 + 180b0: 4bb7 ldr r3, [pc, #732] ; (18390 ) + 180b2: 4798 blx r3 lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); - 180cc: 4bb7 ldr r3, [pc, #732] ; (183ac ) - 180ce: 681c ldr r4, [r3, #0] - 180d0: 34b0 adds r4, #176 ; 0xb0 - 180d2: 2000 movs r0, #0 - 180d4: 4bb6 ldr r3, [pc, #728] ; (183b0 ) - 180d6: 4798 blx r3 - 180d8: 2801 cmp r0, #1 - 180da: f240 873e bls.w 18f5a - 180de: 2000 movs r0, #0 - 180e0: 4bb0 ldr r3, [pc, #704] ; (183a4 ) - 180e2: 4798 blx r3 - 180e4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 180e8: 0040 lsls r0, r0, #1 - 180ea: 3050 adds r0, #80 ; 0x50 - 180ec: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 180f0: f280 874e bge.w 18f90 - 180f4: 2201 movs r2, #1 + 180b4: 4bb7 ldr r3, [pc, #732] ; (18394 ) + 180b6: 681c ldr r4, [r3, #0] + 180b8: 34b0 adds r4, #176 ; 0xb0 + 180ba: 2000 movs r0, #0 + 180bc: 4bb6 ldr r3, [pc, #728] ; (18398 ) + 180be: 4798 blx r3 + 180c0: 2801 cmp r0, #1 + 180c2: f240 873e bls.w 18f42 + 180c6: 2000 movs r0, #0 + 180c8: 4bb0 ldr r3, [pc, #704] ; (1838c ) + 180ca: 4798 blx r3 + 180cc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 180d0: 0040 lsls r0, r0, #1 + 180d2: 3050 adds r0, #80 ; 0x50 + 180d4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 180d8: f280 874e bge.w 18f78 + 180dc: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_INNER, pad_inner, lv_style_int_t, _int, scalar) - 180f6: 2114 movs r1, #20 - 180f8: 4620 mov r0, r4 - 180fa: 4bab ldr r3, [pc, #684] ; (183a8 ) - 180fc: 4798 blx r3 + 180de: 2114 movs r1, #20 + 180e0: 4620 mov r0, r4 + 180e2: 4bab ldr r3, [pc, #684] ; (18390 ) + 180e4: 4798 blx r3 style_init_reset(&styles->table_cell); - 180fe: 4cab ldr r4, [pc, #684] ; (183ac ) - 18100: 6820 ldr r0, [r4, #0] - 18102: 30a0 adds r0, #160 ; 0xa0 - 18104: 4bab ldr r3, [pc, #684] ; (183b4 ) - 18106: 4798 blx r3 + 180e6: 4cab ldr r4, [pc, #684] ; (18394 ) + 180e8: 6820 ldr r0, [r4, #0] + 180ea: 30a0 adds r0, #160 ; 0xa0 + 180ec: 4bab ldr r3, [pc, #684] ; (1839c ) + 180ee: 4798 blx r3 lv_style_set_border_color(&styles->table_cell, LV_STATE_DEFAULT, COLOR_BG_BORDER); - 18108: 6820 ldr r0, [r4, #0] - 1810a: 6a23 ldr r3, [r4, #32] - 1810c: f013 0302 ands.w r3, r3, #2 - 18110: bf14 ite ne - 18112: 211a movne r1, #26 - 18114: 2110 moveq r1, #16 - 18116: 2b00 cmp r3, #0 - 18118: bf15 itete ne - 1811a: 2437 movne r4, #55 ; 0x37 - 1811c: 2422 moveq r4, #34 ; 0x22 - 1811e: 231c movne r3, #28 - 18120: 2312 moveq r3, #18 - 18122: f04f 0200 mov.w r2, #0 - 18126: f363 0204 bfi r2, r3, #0, #5 - 1812a: f364 124a bfi r2, r4, #5, #6 - 1812e: f361 22cf bfi r2, r1, #11, #5 + 180f0: 6820 ldr r0, [r4, #0] + 180f2: 6a23 ldr r3, [r4, #32] + 180f4: f013 0302 ands.w r3, r3, #2 + 180f8: bf14 ite ne + 180fa: 211a movne r1, #26 + 180fc: 2110 moveq r1, #16 + 180fe: 2b00 cmp r3, #0 + 18100: bf15 itete ne + 18102: 2437 movne r4, #55 ; 0x37 + 18104: 2422 moveq r4, #34 ; 0x22 + 18106: 231c movne r3, #28 + 18108: 2312 moveq r3, #18 + 1810a: f04f 0200 mov.w r2, #0 + 1810e: f363 0204 bfi r2, r3, #0, #5 + 18112: f364 124a bfi r2, r4, #5, #6 + 18116: f361 22cf bfi r2, r1, #11, #5 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_COLOR, border_color, lv_color_t, _color, nonscalar) - 18132: 2139 movs r1, #57 ; 0x39 - 18134: 30a0 adds r0, #160 ; 0xa0 - 18136: 4ba0 ldr r3, [pc, #640] ; (183b8 ) - 18138: 4798 blx r3 + 1811a: 2139 movs r1, #57 ; 0x39 + 1811c: 30a0 adds r0, #160 ; 0xa0 + 1811e: 4ba0 ldr r3, [pc, #640] ; (183a0 ) + 18120: 4798 blx r3 lv_style_set_border_width(&styles->table_cell, LV_STATE_DEFAULT, 1); - 1813a: 4c9c ldr r4, [pc, #624] ; (183ac ) - 1813c: 6820 ldr r0, [r4, #0] + 18122: 4c9c ldr r4, [pc, #624] ; (18394 ) + 18124: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_WIDTH, border_width, lv_style_int_t, _int, scalar) - 1813e: 2201 movs r2, #1 - 18140: 2130 movs r1, #48 ; 0x30 - 18142: 30a0 adds r0, #160 ; 0xa0 - 18144: 4d98 ldr r5, [pc, #608] ; (183a8 ) - 18146: 47a8 blx r5 + 18126: 2201 movs r2, #1 + 18128: 2130 movs r1, #48 ; 0x30 + 1812a: 30a0 adds r0, #160 ; 0xa0 + 1812c: 4d98 ldr r5, [pc, #608] ; (18390 ) + 1812e: 47a8 blx r5 lv_style_set_border_side(&styles->table_cell, LV_STATE_DEFAULT, LV_BORDER_SIDE_TOP | LV_BORDER_SIDE_BOTTOM); - 18148: 6820 ldr r0, [r4, #0] + 18130: 6820 ldr r0, [r4, #0] _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_SIDE, border_side, lv_border_side_t, _int, scalar) - 1814a: 2203 movs r2, #3 - 1814c: 2131 movs r1, #49 ; 0x31 - 1814e: 30a0 adds r0, #160 ; 0xa0 - 18150: 47a8 blx r5 + 18132: 2203 movs r2, #3 + 18134: 2131 movs r1, #49 ; 0x31 + 18136: 30a0 adds r0, #160 ; 0xa0 + 18138: 47a8 blx r5 lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 18152: 6824 ldr r4, [r4, #0] - 18154: 34a0 adds r4, #160 ; 0xa0 - 18156: 2000 movs r0, #0 - 18158: 4b95 ldr r3, [pc, #596] ; (183b0 ) - 1815a: 4798 blx r3 - 1815c: 2801 cmp r0, #1 - 1815e: f240 8727 bls.w 18fb0 - 18162: 2000 movs r0, #0 - 18164: 4b8f ldr r3, [pc, #572] ; (183a4 ) - 18166: 4798 blx r3 - 18168: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1816c: 0040 lsls r0, r0, #1 - 1816e: 3050 adds r0, #80 ; 0x50 - 18170: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18174: f280 8737 bge.w 18fe6 - 18178: 2201 movs r2, #1 + 1813a: 6824 ldr r4, [r4, #0] + 1813c: 34a0 adds r4, #160 ; 0xa0 + 1813e: 2000 movs r0, #0 + 18140: 4b95 ldr r3, [pc, #596] ; (18398 ) + 18142: 4798 blx r3 + 18144: 2801 cmp r0, #1 + 18146: f240 8727 bls.w 18f98 + 1814a: 2000 movs r0, #0 + 1814c: 4b8f ldr r3, [pc, #572] ; (1838c ) + 1814e: 4798 blx r3 + 18150: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18154: 0040 lsls r0, r0, #1 + 18156: 3050 adds r0, #80 ; 0x50 + 18158: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1815c: f280 8737 bge.w 18fce + 18160: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1817a: 2112 movs r1, #18 - 1817c: 4620 mov r0, r4 - 1817e: 4b8a ldr r3, [pc, #552] ; (183a8 ) - 18180: 4798 blx r3 + 18162: 2112 movs r1, #18 + 18164: 4620 mov r0, r4 + 18166: 4b8a ldr r3, [pc, #552] ; (18390 ) + 18168: 4798 blx r3 lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 18182: 4b8a ldr r3, [pc, #552] ; (183ac ) - 18184: 681c ldr r4, [r3, #0] - 18186: 34a0 adds r4, #160 ; 0xa0 - 18188: 2000 movs r0, #0 - 1818a: 4b89 ldr r3, [pc, #548] ; (183b0 ) - 1818c: 4798 blx r3 - 1818e: 2801 cmp r0, #1 - 18190: f240 8739 bls.w 19006 - 18194: 2000 movs r0, #0 - 18196: 4b83 ldr r3, [pc, #524] ; (183a4 ) - 18198: 4798 blx r3 - 1819a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1819e: 0040 lsls r0, r0, #1 - 181a0: 3050 adds r0, #80 ; 0x50 - 181a2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 181a6: f280 8749 bge.w 1903c - 181aa: 2201 movs r2, #1 + 1816a: 4b8a ldr r3, [pc, #552] ; (18394 ) + 1816c: 681c ldr r4, [r3, #0] + 1816e: 34a0 adds r4, #160 ; 0xa0 + 18170: 2000 movs r0, #0 + 18172: 4b89 ldr r3, [pc, #548] ; (18398 ) + 18174: 4798 blx r3 + 18176: 2801 cmp r0, #1 + 18178: f240 8739 bls.w 18fee + 1817c: 2000 movs r0, #0 + 1817e: 4b83 ldr r3, [pc, #524] ; (1838c ) + 18180: 4798 blx r3 + 18182: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18186: 0040 lsls r0, r0, #1 + 18188: 3050 adds r0, #80 ; 0x50 + 1818a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1818e: f280 8749 bge.w 19024 + 18192: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 181ac: 2113 movs r1, #19 - 181ae: 4620 mov r0, r4 - 181b0: 4b7d ldr r3, [pc, #500] ; (183a8 ) - 181b2: 4798 blx r3 + 18194: 2113 movs r1, #19 + 18196: 4620 mov r0, r4 + 18198: 4b7d ldr r3, [pc, #500] ; (18390 ) + 1819a: 4798 blx r3 lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 181b4: 4b7d ldr r3, [pc, #500] ; (183ac ) - 181b6: 681c ldr r4, [r3, #0] - 181b8: 34a0 adds r4, #160 ; 0xa0 - 181ba: 2000 movs r0, #0 - 181bc: 4b7c ldr r3, [pc, #496] ; (183b0 ) - 181be: 4798 blx r3 - 181c0: 2801 cmp r0, #1 - 181c2: f240 874b bls.w 1905c - 181c6: 2000 movs r0, #0 - 181c8: 4b76 ldr r3, [pc, #472] ; (183a4 ) - 181ca: 4798 blx r3 - 181cc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 181d0: 0040 lsls r0, r0, #1 - 181d2: 3050 adds r0, #80 ; 0x50 - 181d4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 181d8: f280 8760 bge.w 1909c - 181dc: 2201 movs r2, #1 + 1819c: 4b7d ldr r3, [pc, #500] ; (18394 ) + 1819e: 681c ldr r4, [r3, #0] + 181a0: 34a0 adds r4, #160 ; 0xa0 + 181a2: 2000 movs r0, #0 + 181a4: 4b7c ldr r3, [pc, #496] ; (18398 ) + 181a6: 4798 blx r3 + 181a8: 2801 cmp r0, #1 + 181aa: f240 874b bls.w 19044 + 181ae: 2000 movs r0, #0 + 181b0: 4b76 ldr r3, [pc, #472] ; (1838c ) + 181b2: 4798 blx r3 + 181b4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 181b8: 0040 lsls r0, r0, #1 + 181ba: 3050 adds r0, #80 ; 0x50 + 181bc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 181c0: f280 8760 bge.w 19084 + 181c4: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 181de: 2110 movs r1, #16 - 181e0: 4620 mov r0, r4 - 181e2: 4b71 ldr r3, [pc, #452] ; (183a8 ) - 181e4: 4798 blx r3 + 181c6: 2110 movs r1, #16 + 181c8: 4620 mov r0, r4 + 181ca: 4b71 ldr r3, [pc, #452] ; (18390 ) + 181cc: 4798 blx r3 lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); - 181e6: 4b71 ldr r3, [pc, #452] ; (183ac ) - 181e8: 681c ldr r4, [r3, #0] - 181ea: 34a0 adds r4, #160 ; 0xa0 - 181ec: 2000 movs r0, #0 - 181ee: 4b70 ldr r3, [pc, #448] ; (183b0 ) - 181f0: 4798 blx r3 - 181f2: 2801 cmp r0, #1 - 181f4: f240 8762 bls.w 190bc - 181f8: 2000 movs r0, #0 - 181fa: 4b6a ldr r3, [pc, #424] ; (183a4 ) - 181fc: 4798 blx r3 - 181fe: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18202: 0040 lsls r0, r0, #1 - 18204: 3050 adds r0, #80 ; 0x50 - 18206: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1820a: f280 8772 bge.w 190f2 - 1820e: 2201 movs r2, #1 + 181ce: 4b71 ldr r3, [pc, #452] ; (18394 ) + 181d0: 681c ldr r4, [r3, #0] + 181d2: 34a0 adds r4, #160 ; 0xa0 + 181d4: 2000 movs r0, #0 + 181d6: 4b70 ldr r3, [pc, #448] ; (18398 ) + 181d8: 4798 blx r3 + 181da: 2801 cmp r0, #1 + 181dc: f240 8762 bls.w 190a4 + 181e0: 2000 movs r0, #0 + 181e2: 4b6a ldr r3, [pc, #424] ; (1838c ) + 181e4: 4798 blx r3 + 181e6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 181ea: 0040 lsls r0, r0, #1 + 181ec: 3050 adds r0, #80 ; 0x50 + 181ee: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 181f2: f280 8772 bge.w 190da + 181f6: 2201 movs r2, #1 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 18210: 2111 movs r1, #17 - 18212: 4620 mov r0, r4 - 18214: 4b64 ldr r3, [pc, #400] ; (183a8 ) - 18216: 4798 blx r3 + 181f8: 2111 movs r1, #17 + 181fa: 4620 mov r0, r4 + 181fc: 4b64 ldr r3, [pc, #400] ; (18390 ) + 181fe: 4798 blx r3 theme.apply_xcb = theme_apply; - 18218: 4c64 ldr r4, [pc, #400] ; (183ac ) - 1821a: 4b68 ldr r3, [pc, #416] ; (183bc ) - 1821c: 60a3 str r3, [r4, #8] + 18200: 4c64 ldr r4, [pc, #400] ; (18394 ) + 18202: 4b68 ldr r3, [pc, #416] ; (183a4 ) + 18204: 60a3 str r3, [r4, #8] inited = true; - 1821e: 2301 movs r3, #1 - 18220: 7123 strb r3, [r4, #4] + 18206: 2301 movs r3, #1 + 18208: 7123 strb r3, [r4, #4] lv_obj_report_style_mod(NULL); - 18222: 2000 movs r0, #0 - 18224: 4b66 ldr r3, [pc, #408] ; (183c0 ) - 18226: 4798 blx r3 + 1820a: 2000 movs r0, #0 + 1820c: 4b66 ldr r3, [pc, #408] ; (183a8 ) + 1820e: 4798 blx r3 } - 18228: f104 0008 add.w r0, r4, #8 - 1822c: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 18210: f104 0008 add.w r0, r4, #8 + 18214: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} LV_GC_ROOT(_lv_theme_material_styles) = lv_mem_alloc(sizeof(theme_styles_t)); - 18230: 20bc movs r0, #188 ; 0xbc - 18232: 4b64 ldr r3, [pc, #400] ; (183c4 ) - 18234: 4798 blx r3 - 18236: 4b64 ldr r3, [pc, #400] ; (183c8 ) - 18238: 6018 str r0, [r3, #0] + 18218: 20bc movs r0, #188 ; 0xbc + 1821a: 4b64 ldr r3, [pc, #400] ; (183ac ) + 1821c: 4798 blx r3 + 1821e: 4b64 ldr r3, [pc, #400] ; (183b0 ) + 18220: 6018 str r0, [r3, #0] styles = (theme_styles_t *)LV_GC_ROOT(_lv_theme_material_styles); - 1823a: 4b5c ldr r3, [pc, #368] ; (183ac ) - 1823c: 6018 str r0, [r3, #0] - 1823e: f7fe bc8e b.w 16b5e + 18222: 4b5c ldr r3, [pc, #368] ; (18394 ) + 18224: 6018 str r0, [r3, #0] + 18226: f7fe bc8e b.w 16b46 lv_style_set_text_color(&styles->chart_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 18242: 2315 movs r3, #21 - 18244: 212a movs r1, #42 ; 0x2a - 18246: 461c mov r4, r3 - 18248: f7fe bcb3 b.w 16bb2 + 1822a: 2315 movs r3, #21 + 1822c: 212a movs r1, #42 ; 0x2a + 1822e: 461c mov r4, r3 + 18230: f7fe bcb3 b.w 16b9a lv_style_set_line_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(1)); - 1824c: 2000 movs r0, #0 - 1824e: 4b55 ldr r3, [pc, #340] ; (183a4 ) - 18250: 4798 blx r3 - 18252: 3050 adds r0, #80 ; 0x50 - 18254: 4b5d ldr r3, [pc, #372] ; (183cc ) - 18256: fb83 2300 smull r2, r3, r3, r0 - 1825a: 17c2 asrs r2, r0, #31 - 1825c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18260: b212 sxth r2, r2 - 18262: f7fe bcc2 b.w 16bea + 18234: 2000 movs r0, #0 + 18236: 4b55 ldr r3, [pc, #340] ; (1838c ) + 18238: 4798 blx r3 + 1823a: 3050 adds r0, #80 ; 0x50 + 1823c: 4b5d ldr r3, [pc, #372] ; (183b4 ) + 1823e: fb83 2300 smull r2, r3, r3, r0 + 18242: 17c2 asrs r2, r0, #31 + 18244: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18248: b212 sxth r2, r2 + 1824a: f7fe bcc2 b.w 16bd2 lv_style_set_line_dash_width(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 18266: 2000 movs r0, #0 - 18268: 4b4e ldr r3, [pc, #312] ; (183a4 ) - 1826a: 4798 blx r3 - 1826c: eb00 0080 add.w r0, r0, r0, lsl #2 - 18270: 0040 lsls r0, r0, #1 - 18272: 3050 adds r0, #80 ; 0x50 - 18274: 4b55 ldr r3, [pc, #340] ; (183cc ) - 18276: fb83 2300 smull r2, r3, r3, r0 - 1827a: 17c2 asrs r2, r0, #31 - 1827c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18280: b212 sxth r2, r2 - 18282: f7fe bcc5 b.w 16c10 + 1824e: 2000 movs r0, #0 + 18250: 4b4e ldr r3, [pc, #312] ; (1838c ) + 18252: 4798 blx r3 + 18254: eb00 0080 add.w r0, r0, r0, lsl #2 + 18258: 0040 lsls r0, r0, #1 + 1825a: 3050 adds r0, #80 ; 0x50 + 1825c: 4b55 ldr r3, [pc, #340] ; (183b4 ) + 1825e: fb83 2300 smull r2, r3, r3, r0 + 18262: 17c2 asrs r2, r0, #31 + 18264: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18268: b212 sxth r2, r2 + 1826a: f7fe bcc5 b.w 16bf8 lv_style_set_line_dash_gap(&styles->chart_series_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 18286: 2000 movs r0, #0 - 18288: 4b46 ldr r3, [pc, #280] ; (183a4 ) - 1828a: 4798 blx r3 - 1828c: eb00 0080 add.w r0, r0, r0, lsl #2 - 18290: 0040 lsls r0, r0, #1 - 18292: 3050 adds r0, #80 ; 0x50 - 18294: 4b4d ldr r3, [pc, #308] ; (183cc ) - 18296: fb83 2300 smull r2, r3, r3, r0 - 1829a: 17c2 asrs r2, r0, #31 - 1829c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 182a0: b212 sxth r2, r2 - 182a2: f7fe bcc8 b.w 16c36 + 1826e: 2000 movs r0, #0 + 18270: 4b46 ldr r3, [pc, #280] ; (1838c ) + 18272: 4798 blx r3 + 18274: eb00 0080 add.w r0, r0, r0, lsl #2 + 18278: 0040 lsls r0, r0, #1 + 1827a: 3050 adds r0, #80 ; 0x50 + 1827c: 4b4d ldr r3, [pc, #308] ; (183b4 ) + 1827e: fb83 2300 smull r2, r3, r3, r0 + 18282: 17c2 asrs r2, r0, #31 + 18284: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18288: b212 sxth r2, r2 + 1828a: f7fe bcc8 b.w 16c1e lv_style_set_line_width(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(3)); - 182a6: 2000 movs r0, #0 - 182a8: 4b3e ldr r3, [pc, #248] ; (183a4 ) - 182aa: 4798 blx r3 - 182ac: eb00 0040 add.w r0, r0, r0, lsl #1 - 182b0: 3050 adds r0, #80 ; 0x50 - 182b2: 4b46 ldr r3, [pc, #280] ; (183cc ) - 182b4: fb83 2300 smull r2, r3, r3, r0 - 182b8: 17c2 asrs r2, r0, #31 - 182ba: ebc2 12a3 rsb r2, r2, r3, asr #6 - 182be: b212 sxth r2, r2 - 182c0: f7fe bce9 b.w 16c96 + 1828e: 2000 movs r0, #0 + 18290: 4b3e ldr r3, [pc, #248] ; (1838c ) + 18292: 4798 blx r3 + 18294: eb00 0040 add.w r0, r0, r0, lsl #1 + 18298: 3050 adds r0, #80 ; 0x50 + 1829a: 4b46 ldr r3, [pc, #280] ; (183b4 ) + 1829c: fb83 2300 smull r2, r3, r3, r0 + 182a0: 17c2 asrs r2, r0, #31 + 182a2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182a6: b212 sxth r2, r2 + 182a8: f7fe bce9 b.w 16c7e lv_style_set_size(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(4)); - 182c4: 2000 movs r0, #0 - 182c6: 4b37 ldr r3, [pc, #220] ; (183a4 ) - 182c8: 4798 blx r3 - 182ca: 3014 adds r0, #20 - 182cc: 0080 lsls r0, r0, #2 - 182ce: 4b3f ldr r3, [pc, #252] ; (183cc ) - 182d0: fb83 2300 smull r2, r3, r3, r0 - 182d4: 17c2 asrs r2, r0, #31 - 182d6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 182da: b212 sxth r2, r2 - 182dc: f7fe bcec b.w 16cb8 + 182ac: 2000 movs r0, #0 + 182ae: 4b37 ldr r3, [pc, #220] ; (1838c ) + 182b0: 4798 blx r3 + 182b2: 3014 adds r0, #20 + 182b4: 0080 lsls r0, r0, #2 + 182b6: 4b3f ldr r3, [pc, #252] ; (183b4 ) + 182b8: fb83 2300 smull r2, r3, r3, r0 + 182bc: 17c2 asrs r2, r0, #31 + 182be: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182c2: b212 sxth r2, r2 + 182c4: f7fe bcec b.w 16ca0 lv_style_set_pad_inner(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(2)); /*Space between columns*/ - 182e0: 2000 movs r0, #0 - 182e2: 4b30 ldr r3, [pc, #192] ; (183a4 ) - 182e4: 4798 blx r3 - 182e6: 3028 adds r0, #40 ; 0x28 - 182e8: 0040 lsls r0, r0, #1 - 182ea: 4b38 ldr r3, [pc, #224] ; (183cc ) - 182ec: fb83 2300 smull r2, r3, r3, r0 - 182f0: 17c2 asrs r2, r0, #31 - 182f2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 182f6: b212 sxth r2, r2 - 182f8: f7fe bcef b.w 16cda + 182c8: 2000 movs r0, #0 + 182ca: 4b30 ldr r3, [pc, #192] ; (1838c ) + 182cc: 4798 blx r3 + 182ce: 3028 adds r0, #40 ; 0x28 + 182d0: 0040 lsls r0, r0, #1 + 182d2: 4b38 ldr r3, [pc, #224] ; (183b4 ) + 182d4: fb83 2300 smull r2, r3, r3, r0 + 182d8: 17c2 asrs r2, r0, #31 + 182da: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182de: b212 sxth r2, r2 + 182e0: f7fe bcef b.w 16cc2 lv_style_set_radius(&styles->chart_series, LV_STATE_DEFAULT, LV_DPX(1)); - 182fc: 2000 movs r0, #0 - 182fe: 4b29 ldr r3, [pc, #164] ; (183a4 ) - 18300: 4798 blx r3 - 18302: 3050 adds r0, #80 ; 0x50 - 18304: 4b31 ldr r3, [pc, #196] ; (183cc ) - 18306: fb83 2300 smull r2, r3, r3, r0 - 1830a: 17c2 asrs r2, r0, #31 - 1830c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18310: b212 sxth r2, r2 - 18312: f7fe bcf2 b.w 16cfa + 182e4: 2000 movs r0, #0 + 182e6: 4b29 ldr r3, [pc, #164] ; (1838c ) + 182e8: 4798 blx r3 + 182ea: 3050 adds r0, #80 ; 0x50 + 182ec: 4b31 ldr r3, [pc, #196] ; (183b4 ) + 182ee: fb83 2300 smull r2, r3, r3, r0 + 182f2: 17c2 asrs r2, r0, #31 + 182f4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 182f8: b212 sxth r2, r2 + 182fa: f7fe bcf2 b.w 16ce2 lv_style_set_pad_top(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); + 182fe: 2000 movs r0, #0 + 18300: 4b22 ldr r3, [pc, #136] ; (1838c ) + 18302: 4798 blx r3 + 18304: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18308: 3050 adds r0, #80 ; 0x50 + 1830a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1830e: da02 bge.n 18316 + 18310: 2201 movs r2, #1 + 18312: f7fe bd03 b.w 16d1c 18316: 2000 movs r0, #0 - 18318: 4b22 ldr r3, [pc, #136] ; (183a4 ) + 18318: 4b1c ldr r3, [pc, #112] ; (1838c ) 1831a: 4798 blx r3 1831c: ebc0 1000 rsb r0, r0, r0, lsl #4 18320: 3050 adds r0, #80 ; 0x50 - 18322: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18326: da02 bge.n 1832e - 18328: 2201 movs r2, #1 - 1832a: f7fe bd03 b.w 16d34 - 1832e: 2000 movs r0, #0 - 18330: 4b1c ldr r3, [pc, #112] ; (183a4 ) - 18332: 4798 blx r3 - 18334: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18338: 3050 adds r0, #80 ; 0x50 - 1833a: 4b24 ldr r3, [pc, #144] ; (183cc ) - 1833c: fb83 2300 smull r2, r3, r3, r0 - 18340: 17c2 asrs r2, r0, #31 - 18342: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18346: b212 sxth r2, r2 - 18348: f7fe bcf4 b.w 16d34 - 1834c: 2000 movs r0, #0 - 1834e: 4b15 ldr r3, [pc, #84] ; (183a4 ) - 18350: 4798 blx r3 - 18352: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18356: 0040 lsls r0, r0, #1 - 18358: 3050 adds r0, #80 ; 0x50 - 1835a: 4b1c ldr r3, [pc, #112] ; (183cc ) - 1835c: fb83 2300 smull r2, r3, r3, r0 - 18360: 17c2 asrs r2, r0, #31 - 18362: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18366: b212 sxth r2, r2 - 18368: f7fe bce4 b.w 16d34 + 18322: 4b24 ldr r3, [pc, #144] ; (183b4 ) + 18324: fb83 2300 smull r2, r3, r3, r0 + 18328: 17c2 asrs r2, r0, #31 + 1832a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1832e: b212 sxth r2, r2 + 18330: f7fe bcf4 b.w 16d1c + 18334: 2000 movs r0, #0 + 18336: 4b15 ldr r3, [pc, #84] ; (1838c ) + 18338: 4798 blx r3 + 1833a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1833e: 0040 lsls r0, r0, #1 + 18340: 3050 adds r0, #80 ; 0x50 + 18342: 4b1c ldr r3, [pc, #112] ; (183b4 ) + 18344: fb83 2300 smull r2, r3, r3, r0 + 18348: 17c2 asrs r2, r0, #31 + 1834a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1834e: b212 sxth r2, r2 + 18350: f7fe bce4 b.w 16d1c lv_style_set_pad_left(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); + 18354: 2000 movs r0, #0 + 18356: 4b0d ldr r3, [pc, #52] ; (1838c ) + 18358: 4798 blx r3 + 1835a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1835e: 3050 adds r0, #80 ; 0x50 + 18360: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18364: da02 bge.n 1836c + 18366: 2201 movs r2, #1 + 18368: f7fe bcf1 b.w 16d4e 1836c: 2000 movs r0, #0 - 1836e: 4b0d ldr r3, [pc, #52] ; (183a4 ) + 1836e: 4b07 ldr r3, [pc, #28] ; (1838c ) 18370: 4798 blx r3 18372: ebc0 1000 rsb r0, r0, r0, lsl #4 18376: 3050 adds r0, #80 ; 0x50 - 18378: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1837c: da02 bge.n 18384 - 1837e: 2201 movs r2, #1 - 18380: f7fe bcf1 b.w 16d66 - 18384: 2000 movs r0, #0 - 18386: 4b07 ldr r3, [pc, #28] ; (183a4 ) - 18388: 4798 blx r3 - 1838a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1838e: 3050 adds r0, #80 ; 0x50 - 18390: 4b0e ldr r3, [pc, #56] ; (183cc ) - 18392: fb83 2300 smull r2, r3, r3, r0 - 18396: 17c2 asrs r2, r0, #31 - 18398: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1839c: b212 sxth r2, r2 - 1839e: f7fe bce2 b.w 16d66 - 183a2: bf00 nop - 183a4: 00010f3d .word 0x00010f3d - 183a8: 000068e1 .word 0x000068e1 - 183ac: 20006bd8 .word 0x20006bd8 - 183b0: 00010f59 .word 0x00010f59 - 183b4: 00014a61 .word 0x00014a61 - 183b8: 00006a25 .word 0x00006a25 - 183bc: 000141f9 .word 0x000141f9 - 183c0: 00003c55 .word 0x00003c55 - 183c4: 000123dd .word 0x000123dd - 183c8: 20006d48 .word 0x20006d48 - 183cc: 66666667 .word 0x66666667 - 183d0: 2000 movs r0, #0 - 183d2: 4bc7 ldr r3, [pc, #796] ; (186f0 ) - 183d4: 4798 blx r3 - 183d6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 183da: 0040 lsls r0, r0, #1 - 183dc: 3050 adds r0, #80 ; 0x50 - 183de: 4bc5 ldr r3, [pc, #788] ; (186f4 ) - 183e0: fb83 2300 smull r2, r3, r3, r0 - 183e4: 17c2 asrs r2, r0, #31 - 183e6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 183ea: b212 sxth r2, r2 - 183ec: f7fe bcbb b.w 16d66 + 18378: 4b0e ldr r3, [pc, #56] ; (183b4 ) + 1837a: fb83 2300 smull r2, r3, r3, r0 + 1837e: 17c2 asrs r2, r0, #31 + 18380: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18384: b212 sxth r2, r2 + 18386: f7fe bce2 b.w 16d4e + 1838a: bf00 nop + 1838c: 00010f25 .word 0x00010f25 + 18390: 000068c9 .word 0x000068c9 + 18394: 20006bd8 .word 0x20006bd8 + 18398: 00010f41 .word 0x00010f41 + 1839c: 00014a49 .word 0x00014a49 + 183a0: 00006a0d .word 0x00006a0d + 183a4: 000141e1 .word 0x000141e1 + 183a8: 00003c3d .word 0x00003c3d + 183ac: 000123c5 .word 0x000123c5 + 183b0: 20006d48 .word 0x20006d48 + 183b4: 66666667 .word 0x66666667 + 183b8: 2000 movs r0, #0 + 183ba: 4bc7 ldr r3, [pc, #796] ; (186d8 ) + 183bc: 4798 blx r3 + 183be: ebc0 1000 rsb r0, r0, r0, lsl #4 + 183c2: 0040 lsls r0, r0, #1 + 183c4: 3050 adds r0, #80 ; 0x50 + 183c6: 4bc5 ldr r3, [pc, #788] ; (186dc ) + 183c8: fb83 2300 smull r2, r3, r3, r0 + 183cc: 17c2 asrs r2, r0, #31 + 183ce: ebc2 12a3 rsb r2, r2, r3, asr #6 + 183d2: b212 sxth r2, r2 + 183d4: f7fe bcbb b.w 16d4e lv_style_set_pad_right(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); + 183d8: 2000 movs r0, #0 + 183da: 4bbf ldr r3, [pc, #764] ; (186d8 ) + 183dc: 4798 blx r3 + 183de: ebc0 1000 rsb r0, r0, r0, lsl #4 + 183e2: 3050 adds r0, #80 ; 0x50 + 183e4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 183e8: da02 bge.n 183f0 + 183ea: 2201 movs r2, #1 + 183ec: f7fe bcc8 b.w 16d80 183f0: 2000 movs r0, #0 - 183f2: 4bbf ldr r3, [pc, #764] ; (186f0 ) + 183f2: 4bb9 ldr r3, [pc, #740] ; (186d8 ) 183f4: 4798 blx r3 183f6: ebc0 1000 rsb r0, r0, r0, lsl #4 183fa: 3050 adds r0, #80 ; 0x50 - 183fc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18400: da02 bge.n 18408 - 18402: 2201 movs r2, #1 - 18404: f7fe bcc8 b.w 16d98 - 18408: 2000 movs r0, #0 - 1840a: 4bb9 ldr r3, [pc, #740] ; (186f0 ) - 1840c: 4798 blx r3 - 1840e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18412: 3050 adds r0, #80 ; 0x50 - 18414: 4bb7 ldr r3, [pc, #732] ; (186f4 ) - 18416: fb83 2300 smull r2, r3, r3, r0 - 1841a: 17c2 asrs r2, r0, #31 - 1841c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18420: b212 sxth r2, r2 - 18422: f7fe bcb9 b.w 16d98 - 18426: 2000 movs r0, #0 - 18428: 4bb1 ldr r3, [pc, #708] ; (186f0 ) - 1842a: 4798 blx r3 - 1842c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18430: 0040 lsls r0, r0, #1 - 18432: 3050 adds r0, #80 ; 0x50 - 18434: 4baf ldr r3, [pc, #700] ; (186f4 ) - 18436: fb83 2300 smull r2, r3, r3, r0 - 1843a: 17c2 asrs r2, r0, #31 - 1843c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18440: b212 sxth r2, r2 - 18442: f7fe bca9 b.w 16d98 + 183fc: 4bb7 ldr r3, [pc, #732] ; (186dc ) + 183fe: fb83 2300 smull r2, r3, r3, r0 + 18402: 17c2 asrs r2, r0, #31 + 18404: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18408: b212 sxth r2, r2 + 1840a: f7fe bcb9 b.w 16d80 + 1840e: 2000 movs r0, #0 + 18410: 4bb1 ldr r3, [pc, #708] ; (186d8 ) + 18412: 4798 blx r3 + 18414: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18418: 0040 lsls r0, r0, #1 + 1841a: 3050 adds r0, #80 ; 0x50 + 1841c: 4baf ldr r3, [pc, #700] ; (186dc ) + 1841e: fb83 2300 smull r2, r3, r3, r0 + 18422: 17c2 asrs r2, r0, #31 + 18424: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18428: b212 sxth r2, r2 + 1842a: f7fe bca9 b.w 16d80 lv_style_set_pad_bottom(&styles->calendar_header, LV_STATE_DEFAULT, PAD_DEF); + 1842e: 2000 movs r0, #0 + 18430: 4ba9 ldr r3, [pc, #676] ; (186d8 ) + 18432: 4798 blx r3 + 18434: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18438: 3050 adds r0, #80 ; 0x50 + 1843a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1843e: da02 bge.n 18446 + 18440: 2201 movs r2, #1 + 18442: f7fe bcb6 b.w 16db2 18446: 2000 movs r0, #0 - 18448: 4ba9 ldr r3, [pc, #676] ; (186f0 ) + 18448: 4ba3 ldr r3, [pc, #652] ; (186d8 ) 1844a: 4798 blx r3 1844c: ebc0 1000 rsb r0, r0, r0, lsl #4 18450: 3050 adds r0, #80 ; 0x50 - 18452: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18456: da02 bge.n 1845e - 18458: 2201 movs r2, #1 - 1845a: f7fe bcb6 b.w 16dca - 1845e: 2000 movs r0, #0 - 18460: 4ba3 ldr r3, [pc, #652] ; (186f0 ) - 18462: 4798 blx r3 - 18464: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18468: 3050 adds r0, #80 ; 0x50 - 1846a: 4ba2 ldr r3, [pc, #648] ; (186f4 ) - 1846c: fb83 2300 smull r2, r3, r3, r0 - 18470: 17c2 asrs r2, r0, #31 - 18472: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18476: b212 sxth r2, r2 - 18478: f7fe bca7 b.w 16dca - 1847c: 2000 movs r0, #0 - 1847e: 4b9c ldr r3, [pc, #624] ; (186f0 ) - 18480: 4798 blx r3 - 18482: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18486: 0040 lsls r0, r0, #1 - 18488: 3050 adds r0, #80 ; 0x50 - 1848a: 4b9a ldr r3, [pc, #616] ; (186f4 ) - 1848c: fb83 2300 smull r2, r3, r3, r0 - 18490: 17c2 asrs r2, r0, #31 - 18492: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18496: b212 sxth r2, r2 - 18498: f7fe bc97 b.w 16dca + 18452: 4ba2 ldr r3, [pc, #648] ; (186dc ) + 18454: fb83 2300 smull r2, r3, r3, r0 + 18458: 17c2 asrs r2, r0, #31 + 1845a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1845e: b212 sxth r2, r2 + 18460: f7fe bca7 b.w 16db2 + 18464: 2000 movs r0, #0 + 18466: 4b9c ldr r3, [pc, #624] ; (186d8 ) + 18468: 4798 blx r3 + 1846a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1846e: 0040 lsls r0, r0, #1 + 18470: 3050 adds r0, #80 ; 0x50 + 18472: 4b9a ldr r3, [pc, #616] ; (186dc ) + 18474: fb83 2300 smull r2, r3, r3, r0 + 18478: 17c2 asrs r2, r0, #31 + 1847a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1847e: b212 sxth r2, r2 + 18480: f7fe bc97 b.w 16db2 lv_style_set_text_color(&styles->calendar_daynames, LV_STATE_DEFAULT, IS_LIGHT ? lv_color_hex(0x31404f) : lv_color_hex3(0xeee)); - 1849c: 2306 movs r3, #6 - 1849e: 2110 movs r1, #16 - 184a0: 2409 movs r4, #9 - 184a2: f7fe bcdc b.w 16e5e + 18484: 2306 movs r3, #6 + 18486: 2110 movs r1, #16 + 18488: 2409 movs r4, #9 + 1848a: f7fe bcdc b.w 16e46 lv_style_set_pad_left(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); + 1848e: 2000 movs r0, #0 + 18490: 4b91 ldr r3, [pc, #580] ; (186d8 ) + 18492: 4798 blx r3 + 18494: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18498: 3050 adds r0, #80 ; 0x50 + 1849a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1849e: da02 bge.n 184a6 + 184a0: 2201 movs r2, #1 + 184a2: f7fe bcf1 b.w 16e88 184a6: 2000 movs r0, #0 - 184a8: 4b91 ldr r3, [pc, #580] ; (186f0 ) + 184a8: 4b8b ldr r3, [pc, #556] ; (186d8 ) 184aa: 4798 blx r3 184ac: ebc0 1000 rsb r0, r0, r0, lsl #4 184b0: 3050 adds r0, #80 ; 0x50 - 184b2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 184b6: da02 bge.n 184be - 184b8: 2201 movs r2, #1 - 184ba: f7fe bcf1 b.w 16ea0 - 184be: 2000 movs r0, #0 - 184c0: 4b8b ldr r3, [pc, #556] ; (186f0 ) - 184c2: 4798 blx r3 - 184c4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 184c8: 3050 adds r0, #80 ; 0x50 - 184ca: 4b8a ldr r3, [pc, #552] ; (186f4 ) - 184cc: fb83 2300 smull r2, r3, r3, r0 - 184d0: 17c2 asrs r2, r0, #31 - 184d2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 184d6: b212 sxth r2, r2 - 184d8: f7fe bce2 b.w 16ea0 - 184dc: 2000 movs r0, #0 - 184de: 4b84 ldr r3, [pc, #528] ; (186f0 ) - 184e0: 4798 blx r3 - 184e2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 184e6: 0040 lsls r0, r0, #1 - 184e8: 3050 adds r0, #80 ; 0x50 - 184ea: 4b82 ldr r3, [pc, #520] ; (186f4 ) - 184ec: fb83 2300 smull r2, r3, r3, r0 - 184f0: 17c2 asrs r2, r0, #31 - 184f2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 184f6: b212 sxth r2, r2 - 184f8: f7fe bcd2 b.w 16ea0 + 184b2: 4b8a ldr r3, [pc, #552] ; (186dc ) + 184b4: fb83 2300 smull r2, r3, r3, r0 + 184b8: 17c2 asrs r2, r0, #31 + 184ba: ebc2 12a3 rsb r2, r2, r3, asr #6 + 184be: b212 sxth r2, r2 + 184c0: f7fe bce2 b.w 16e88 + 184c4: 2000 movs r0, #0 + 184c6: 4b84 ldr r3, [pc, #528] ; (186d8 ) + 184c8: 4798 blx r3 + 184ca: ebc0 1000 rsb r0, r0, r0, lsl #4 + 184ce: 0040 lsls r0, r0, #1 + 184d0: 3050 adds r0, #80 ; 0x50 + 184d2: 4b82 ldr r3, [pc, #520] ; (186dc ) + 184d4: fb83 2300 smull r2, r3, r3, r0 + 184d8: 17c2 asrs r2, r0, #31 + 184da: ebc2 12a3 rsb r2, r2, r3, asr #6 + 184de: b212 sxth r2, r2 + 184e0: f7fe bcd2 b.w 16e88 lv_style_set_pad_right(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); + 184e4: 2000 movs r0, #0 + 184e6: 4b7c ldr r3, [pc, #496] ; (186d8 ) + 184e8: 4798 blx r3 + 184ea: ebc0 1000 rsb r0, r0, r0, lsl #4 + 184ee: 3050 adds r0, #80 ; 0x50 + 184f0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 184f4: da02 bge.n 184fc + 184f6: 2201 movs r2, #1 + 184f8: f7fe bcdf b.w 16eba 184fc: 2000 movs r0, #0 - 184fe: 4b7c ldr r3, [pc, #496] ; (186f0 ) + 184fe: 4b76 ldr r3, [pc, #472] ; (186d8 ) 18500: 4798 blx r3 18502: ebc0 1000 rsb r0, r0, r0, lsl #4 18506: 3050 adds r0, #80 ; 0x50 - 18508: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1850c: da02 bge.n 18514 - 1850e: 2201 movs r2, #1 - 18510: f7fe bcdf b.w 16ed2 - 18514: 2000 movs r0, #0 - 18516: 4b76 ldr r3, [pc, #472] ; (186f0 ) - 18518: 4798 blx r3 - 1851a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1851e: 3050 adds r0, #80 ; 0x50 - 18520: 4b74 ldr r3, [pc, #464] ; (186f4 ) - 18522: fb83 2300 smull r2, r3, r3, r0 - 18526: 17c2 asrs r2, r0, #31 - 18528: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1852c: b212 sxth r2, r2 - 1852e: f7fe bcd0 b.w 16ed2 - 18532: 2000 movs r0, #0 - 18534: 4b6e ldr r3, [pc, #440] ; (186f0 ) - 18536: 4798 blx r3 - 18538: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1853c: 0040 lsls r0, r0, #1 - 1853e: 3050 adds r0, #80 ; 0x50 - 18540: 4b6c ldr r3, [pc, #432] ; (186f4 ) - 18542: fb83 2300 smull r2, r3, r3, r0 - 18546: 17c2 asrs r2, r0, #31 - 18548: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1854c: b212 sxth r2, r2 - 1854e: f7fe bcc0 b.w 16ed2 + 18508: 4b74 ldr r3, [pc, #464] ; (186dc ) + 1850a: fb83 2300 smull r2, r3, r3, r0 + 1850e: 17c2 asrs r2, r0, #31 + 18510: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18514: b212 sxth r2, r2 + 18516: f7fe bcd0 b.w 16eba + 1851a: 2000 movs r0, #0 + 1851c: 4b6e ldr r3, [pc, #440] ; (186d8 ) + 1851e: 4798 blx r3 + 18520: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18524: 0040 lsls r0, r0, #1 + 18526: 3050 adds r0, #80 ; 0x50 + 18528: 4b6c ldr r3, [pc, #432] ; (186dc ) + 1852a: fb83 2300 smull r2, r3, r3, r0 + 1852e: 17c2 asrs r2, r0, #31 + 18530: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18534: b212 sxth r2, r2 + 18536: f7fe bcc0 b.w 16eba lv_style_set_pad_bottom(&styles->calendar_daynames, LV_STATE_DEFAULT, PAD_DEF); + 1853a: 2000 movs r0, #0 + 1853c: 4b66 ldr r3, [pc, #408] ; (186d8 ) + 1853e: 4798 blx r3 + 18540: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18544: 3050 adds r0, #80 ; 0x50 + 18546: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1854a: da02 bge.n 18552 + 1854c: 2201 movs r2, #1 + 1854e: f7fe bccd b.w 16eec 18552: 2000 movs r0, #0 - 18554: 4b66 ldr r3, [pc, #408] ; (186f0 ) + 18554: 4b60 ldr r3, [pc, #384] ; (186d8 ) 18556: 4798 blx r3 18558: ebc0 1000 rsb r0, r0, r0, lsl #4 1855c: 3050 adds r0, #80 ; 0x50 - 1855e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18562: da02 bge.n 1856a - 18564: 2201 movs r2, #1 - 18566: f7fe bccd b.w 16f04 - 1856a: 2000 movs r0, #0 - 1856c: 4b60 ldr r3, [pc, #384] ; (186f0 ) - 1856e: 4798 blx r3 - 18570: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18574: 3050 adds r0, #80 ; 0x50 - 18576: 4b5f ldr r3, [pc, #380] ; (186f4 ) - 18578: fb83 2300 smull r2, r3, r3, r0 - 1857c: 17c2 asrs r2, r0, #31 - 1857e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18582: b212 sxth r2, r2 - 18584: f7fe bcbe b.w 16f04 - 18588: 2000 movs r0, #0 - 1858a: 4b59 ldr r3, [pc, #356] ; (186f0 ) - 1858c: 4798 blx r3 - 1858e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18592: 0040 lsls r0, r0, #1 - 18594: 3050 adds r0, #80 ; 0x50 - 18596: 4b57 ldr r3, [pc, #348] ; (186f4 ) - 18598: fb83 2300 smull r2, r3, r3, r0 - 1859c: 17c2 asrs r2, r0, #31 - 1859e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 185a2: b212 sxth r2, r2 - 185a4: f7fe bcae b.w 16f04 + 1855e: 4b5f ldr r3, [pc, #380] ; (186dc ) + 18560: fb83 2300 smull r2, r3, r3, r0 + 18564: 17c2 asrs r2, r0, #31 + 18566: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1856a: b212 sxth r2, r2 + 1856c: f7fe bcbe b.w 16eec + 18570: 2000 movs r0, #0 + 18572: 4b59 ldr r3, [pc, #356] ; (186d8 ) + 18574: 4798 blx r3 + 18576: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1857a: 0040 lsls r0, r0, #1 + 1857c: 3050 adds r0, #80 ; 0x50 + 1857e: 4b57 ldr r3, [pc, #348] ; (186dc ) + 18580: fb83 2300 smull r2, r3, r3, r0 + 18584: 17c2 asrs r2, r0, #31 + 18586: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1858a: b212 sxth r2, r2 + 1858c: f7fe bcae b.w 16eec lv_style_set_radius(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(4)); - 185a8: 2000 movs r0, #0 - 185aa: 4b51 ldr r3, [pc, #324] ; (186f0 ) - 185ac: 4798 blx r3 - 185ae: 3014 adds r0, #20 - 185b0: 0080 lsls r0, r0, #2 - 185b2: 4b50 ldr r3, [pc, #320] ; (186f4 ) - 185b4: fb83 2300 smull r2, r3, r3, r0 - 185b8: 17c2 asrs r2, r0, #31 - 185ba: ebc2 12a3 rsb r2, r2, r3, asr #6 - 185be: b212 sxth r2, r2 - 185c0: f7fe bcb5 b.w 16f2e + 18590: 2000 movs r0, #0 + 18592: 4b51 ldr r3, [pc, #324] ; (186d8 ) + 18594: 4798 blx r3 + 18596: 3014 adds r0, #20 + 18598: 0080 lsls r0, r0, #2 + 1859a: 4b50 ldr r3, [pc, #320] ; (186dc ) + 1859c: fb83 2300 smull r2, r3, r3, r0 + 185a0: 17c2 asrs r2, r0, #31 + 185a2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 185a6: b212 sxth r2, r2 + 185a8: f7fe bcb5 b.w 16f16 lv_style_set_text_color(&styles->calendar_date_nums, LV_STATE_CHECKED, IS_LIGHT ? lv_color_hex(0x31404f) : LV_COLOR_WHITE); - 185c4: 2306 movs r3, #6 - 185c6: 2110 movs r1, #16 - 185c8: 2409 movs r4, #9 - 185ca: f7fe bcbf b.w 16f4c + 185ac: 2306 movs r3, #6 + 185ae: 2110 movs r1, #16 + 185b0: 2409 movs r4, #9 + 185b2: f7fe bcbf b.w 16f34 lv_style_set_pad_inner(&styles->calendar_date_nums, LV_STATE_DEFAULT, LV_DPX(3)); - 185ce: 2000 movs r0, #0 - 185d0: 4b47 ldr r3, [pc, #284] ; (186f0 ) - 185d2: 4798 blx r3 - 185d4: eb00 0040 add.w r0, r0, r0, lsl #1 - 185d8: 3050 adds r0, #80 ; 0x50 - 185da: 4b46 ldr r3, [pc, #280] ; (186f4 ) - 185dc: fb83 2300 smull r2, r3, r3, r0 - 185e0: 17c2 asrs r2, r0, #31 - 185e2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 185e6: b212 sxth r2, r2 - 185e8: f7fe bd20 b.w 1702c + 185b6: 2000 movs r0, #0 + 185b8: 4b47 ldr r3, [pc, #284] ; (186d8 ) + 185ba: 4798 blx r3 + 185bc: eb00 0040 add.w r0, r0, r0, lsl #1 + 185c0: 3050 adds r0, #80 ; 0x50 + 185c2: 4b46 ldr r3, [pc, #280] ; (186dc ) + 185c4: fb83 2300 smull r2, r3, r3, r0 + 185c8: 17c2 asrs r2, r0, #31 + 185ca: ebc2 12a3 rsb r2, r2, r3, asr #6 + 185ce: b212 sxth r2, r2 + 185d0: f7fe bd20 b.w 17014 lv_style_set_pad_left(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); + 185d4: 2000 movs r0, #0 + 185d6: 4b40 ldr r3, [pc, #256] ; (186d8 ) + 185d8: 4798 blx r3 + 185da: ebc0 1000 rsb r0, r0, r0, lsl #4 + 185de: 3050 adds r0, #80 ; 0x50 + 185e0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 185e4: da02 bge.n 185ec + 185e6: 2201 movs r2, #1 + 185e8: f7fe bd2d b.w 17046 185ec: 2000 movs r0, #0 - 185ee: 4b40 ldr r3, [pc, #256] ; (186f0 ) + 185ee: 4b3a ldr r3, [pc, #232] ; (186d8 ) 185f0: 4798 blx r3 185f2: ebc0 1000 rsb r0, r0, r0, lsl #4 185f6: 3050 adds r0, #80 ; 0x50 - 185f8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 185fc: da02 bge.n 18604 - 185fe: 2201 movs r2, #1 - 18600: f7fe bd2d b.w 1705e - 18604: 2000 movs r0, #0 - 18606: 4b3a ldr r3, [pc, #232] ; (186f0 ) - 18608: 4798 blx r3 - 1860a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1860e: 3050 adds r0, #80 ; 0x50 - 18610: 4b38 ldr r3, [pc, #224] ; (186f4 ) - 18612: fb83 2300 smull r2, r3, r3, r0 - 18616: 17c2 asrs r2, r0, #31 - 18618: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1861c: b212 sxth r2, r2 - 1861e: f7fe bd1e b.w 1705e - 18622: 2000 movs r0, #0 - 18624: 4b32 ldr r3, [pc, #200] ; (186f0 ) - 18626: 4798 blx r3 - 18628: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1862c: 0040 lsls r0, r0, #1 - 1862e: 3050 adds r0, #80 ; 0x50 - 18630: 4b30 ldr r3, [pc, #192] ; (186f4 ) - 18632: fb83 2300 smull r2, r3, r3, r0 - 18636: 17c2 asrs r2, r0, #31 - 18638: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1863c: b212 sxth r2, r2 - 1863e: f7fe bd0e b.w 1705e + 185f8: 4b38 ldr r3, [pc, #224] ; (186dc ) + 185fa: fb83 2300 smull r2, r3, r3, r0 + 185fe: 17c2 asrs r2, r0, #31 + 18600: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18604: b212 sxth r2, r2 + 18606: f7fe bd1e b.w 17046 + 1860a: 2000 movs r0, #0 + 1860c: 4b32 ldr r3, [pc, #200] ; (186d8 ) + 1860e: 4798 blx r3 + 18610: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18614: 0040 lsls r0, r0, #1 + 18616: 3050 adds r0, #80 ; 0x50 + 18618: 4b30 ldr r3, [pc, #192] ; (186dc ) + 1861a: fb83 2300 smull r2, r3, r3, r0 + 1861e: 17c2 asrs r2, r0, #31 + 18620: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18624: b212 sxth r2, r2 + 18626: f7fe bd0e b.w 17046 lv_style_set_pad_right(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); + 1862a: 2000 movs r0, #0 + 1862c: 4b2a ldr r3, [pc, #168] ; (186d8 ) + 1862e: 4798 blx r3 + 18630: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18634: 3050 adds r0, #80 ; 0x50 + 18636: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 1863a: da02 bge.n 18642 + 1863c: 2201 movs r2, #1 + 1863e: f7fe bd1b b.w 17078 18642: 2000 movs r0, #0 - 18644: 4b2a ldr r3, [pc, #168] ; (186f0 ) + 18644: 4b24 ldr r3, [pc, #144] ; (186d8 ) 18646: 4798 blx r3 18648: ebc0 1000 rsb r0, r0, r0, lsl #4 1864c: 3050 adds r0, #80 ; 0x50 - 1864e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18652: da02 bge.n 1865a - 18654: 2201 movs r2, #1 - 18656: f7fe bd1b b.w 17090 - 1865a: 2000 movs r0, #0 - 1865c: 4b24 ldr r3, [pc, #144] ; (186f0 ) - 1865e: 4798 blx r3 - 18660: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18664: 3050 adds r0, #80 ; 0x50 - 18666: 4b23 ldr r3, [pc, #140] ; (186f4 ) - 18668: fb83 2300 smull r2, r3, r3, r0 - 1866c: 17c2 asrs r2, r0, #31 - 1866e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18672: b212 sxth r2, r2 - 18674: f7fe bd0c b.w 17090 - 18678: 2000 movs r0, #0 - 1867a: 4b1d ldr r3, [pc, #116] ; (186f0 ) - 1867c: 4798 blx r3 - 1867e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18682: 0040 lsls r0, r0, #1 - 18684: 3050 adds r0, #80 ; 0x50 - 18686: 4b1b ldr r3, [pc, #108] ; (186f4 ) - 18688: fb83 2300 smull r2, r3, r3, r0 - 1868c: 17c2 asrs r2, r0, #31 - 1868e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18692: b212 sxth r2, r2 - 18694: f7fe bcfc b.w 17090 + 1864e: 4b23 ldr r3, [pc, #140] ; (186dc ) + 18650: fb83 2300 smull r2, r3, r3, r0 + 18654: 17c2 asrs r2, r0, #31 + 18656: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1865a: b212 sxth r2, r2 + 1865c: f7fe bd0c b.w 17078 + 18660: 2000 movs r0, #0 + 18662: 4b1d ldr r3, [pc, #116] ; (186d8 ) + 18664: 4798 blx r3 + 18666: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1866a: 0040 lsls r0, r0, #1 + 1866c: 3050 adds r0, #80 ; 0x50 + 1866e: 4b1b ldr r3, [pc, #108] ; (186dc ) + 18670: fb83 2300 smull r2, r3, r3, r0 + 18674: 17c2 asrs r2, r0, #31 + 18676: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1867a: b212 sxth r2, r2 + 1867c: f7fe bcfc b.w 17078 lv_style_set_pad_bottom(&styles->calendar_date_nums, LV_STATE_DEFAULT, PAD_DEF); + 18680: 2000 movs r0, #0 + 18682: 4b15 ldr r3, [pc, #84] ; (186d8 ) + 18684: 4798 blx r3 + 18686: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1868a: 3050 adds r0, #80 ; 0x50 + 1868c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18690: da02 bge.n 18698 + 18692: 2201 movs r2, #1 + 18694: f7fe bd09 b.w 170aa 18698: 2000 movs r0, #0 - 1869a: 4b15 ldr r3, [pc, #84] ; (186f0 ) + 1869a: 4b0f ldr r3, [pc, #60] ; (186d8 ) 1869c: 4798 blx r3 1869e: ebc0 1000 rsb r0, r0, r0, lsl #4 186a2: 3050 adds r0, #80 ; 0x50 - 186a4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 186a8: da02 bge.n 186b0 - 186aa: 2201 movs r2, #1 - 186ac: f7fe bd09 b.w 170c2 - 186b0: 2000 movs r0, #0 - 186b2: 4b0f ldr r3, [pc, #60] ; (186f0 ) - 186b4: 4798 blx r3 - 186b6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 186ba: 3050 adds r0, #80 ; 0x50 - 186bc: 4b0d ldr r3, [pc, #52] ; (186f4 ) - 186be: fb83 2300 smull r2, r3, r3, r0 - 186c2: 17c2 asrs r2, r0, #31 - 186c4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 186c8: b212 sxth r2, r2 - 186ca: f7fe bcfa b.w 170c2 - 186ce: 2000 movs r0, #0 - 186d0: 4b07 ldr r3, [pc, #28] ; (186f0 ) - 186d2: 4798 blx r3 - 186d4: ebc0 1000 rsb r0, r0, r0, lsl #4 - 186d8: 0040 lsls r0, r0, #1 - 186da: 3050 adds r0, #80 ; 0x50 - 186dc: 4b05 ldr r3, [pc, #20] ; (186f4 ) - 186de: fb83 2300 smull r2, r3, r3, r0 - 186e2: 17c2 asrs r2, r0, #31 - 186e4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 186e8: b212 sxth r2, r2 - 186ea: f7fe bcea b.w 170c2 - 186ee: bf00 nop - 186f0: 00010f3d .word 0x00010f3d - 186f4: 66666667 .word 0x66666667 + 186a4: 4b0d ldr r3, [pc, #52] ; (186dc ) + 186a6: fb83 2300 smull r2, r3, r3, r0 + 186aa: 17c2 asrs r2, r0, #31 + 186ac: ebc2 12a3 rsb r2, r2, r3, asr #6 + 186b0: b212 sxth r2, r2 + 186b2: f7fe bcfa b.w 170aa + 186b6: 2000 movs r0, #0 + 186b8: 4b07 ldr r3, [pc, #28] ; (186d8 ) + 186ba: 4798 blx r3 + 186bc: ebc0 1000 rsb r0, r0, r0, lsl #4 + 186c0: 0040 lsls r0, r0, #1 + 186c2: 3050 adds r0, #80 ; 0x50 + 186c4: 4b05 ldr r3, [pc, #20] ; (186dc ) + 186c6: fb83 2300 smull r2, r3, r3, r0 + 186ca: 17c2 asrs r2, r0, #31 + 186cc: ebc2 12a3 rsb r2, r2, r3, asr #6 + 186d0: b212 sxth r2, r2 + 186d2: f7fe bcea b.w 170aa + 186d6: bf00 nop + 186d8: 00010f25 .word 0x00010f25 + 186dc: 66666667 .word 0x66666667 lv_style_set_scale_width(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(30)); - 186f8: 2000 movs r0, #0 - 186fa: 4bc9 ldr r3, [pc, #804] ; (18a20 ) - 186fc: 4798 blx r3 - 186fe: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18702: 0040 lsls r0, r0, #1 - 18704: 3050 adds r0, #80 ; 0x50 - 18706: 4bc7 ldr r3, [pc, #796] ; (18a24 ) - 18708: fb83 2300 smull r2, r3, r3, r0 - 1870c: 17c2 asrs r2, r0, #31 - 1870e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18712: b212 sxth r2, r2 - 18714: f7fe bcec b.w 170f0 + 186e0: 2000 movs r0, #0 + 186e2: 4bc9 ldr r3, [pc, #804] ; (18a08 ) + 186e4: 4798 blx r3 + 186e6: ebc0 1000 rsb r0, r0, r0, lsl #4 + 186ea: 0040 lsls r0, r0, #1 + 186ec: 3050 adds r0, #80 ; 0x50 + 186ee: 4bc7 ldr r3, [pc, #796] ; (18a0c ) + 186f0: fb83 2300 smull r2, r3, r3, r0 + 186f4: 17c2 asrs r2, r0, #31 + 186f6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 186fa: b212 sxth r2, r2 + 186fc: f7fe bcec b.w 170d8 lv_style_set_pad_inner(&styles->cpicker_bg, LV_STATE_DEFAULT, LV_DPX(20)); - 18718: 2000 movs r0, #0 - 1871a: 4bc1 ldr r3, [pc, #772] ; (18a20 ) - 1871c: 4798 blx r3 - 1871e: eb00 0080 add.w r0, r0, r0, lsl #2 - 18722: 0080 lsls r0, r0, #2 - 18724: 3050 adds r0, #80 ; 0x50 - 18726: 4bbf ldr r3, [pc, #764] ; (18a24 ) - 18728: fb83 2300 smull r2, r3, r3, r0 - 1872c: 17c2 asrs r2, r0, #31 - 1872e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18732: b212 sxth r2, r2 - 18734: f7fe bd21 b.w 1717a + 18700: 2000 movs r0, #0 + 18702: 4bc1 ldr r3, [pc, #772] ; (18a08 ) + 18704: 4798 blx r3 + 18706: eb00 0080 add.w r0, r0, r0, lsl #2 + 1870a: 0080 lsls r0, r0, #2 + 1870c: 3050 adds r0, #80 ; 0x50 + 1870e: 4bbf ldr r3, [pc, #764] ; (18a0c ) + 18710: fb83 2300 smull r2, r3, r3, r0 + 18714: 17c2 asrs r2, r0, #31 + 18716: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1871a: b212 sxth r2, r2 + 1871c: f7fe bd21 b.w 17162 lv_style_set_pad_left(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 18738: 2000 movs r0, #0 - 1873a: 4bb9 ldr r3, [pc, #740] ; (18a20 ) - 1873c: 4798 blx r3 - 1873e: eb00 0240 add.w r2, r0, r0, lsl #1 - 18742: eb00 0082 add.w r0, r0, r2, lsl #2 - 18746: 3050 adds r0, #80 ; 0x50 - 18748: 4bb6 ldr r3, [pc, #728] ; (18a24 ) - 1874a: fb83 2300 smull r2, r3, r3, r0 - 1874e: 17c2 asrs r2, r0, #31 - 18750: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18754: b212 sxth r2, r2 - 18756: f7fe bd57 b.w 17208 + 18720: 2000 movs r0, #0 + 18722: 4bb9 ldr r3, [pc, #740] ; (18a08 ) + 18724: 4798 blx r3 + 18726: eb00 0240 add.w r2, r0, r0, lsl #1 + 1872a: eb00 0082 add.w r0, r0, r2, lsl #2 + 1872e: 3050 adds r0, #80 ; 0x50 + 18730: 4bb6 ldr r3, [pc, #728] ; (18a0c ) + 18732: fb83 2300 smull r2, r3, r3, r0 + 18736: 17c2 asrs r2, r0, #31 + 18738: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1873c: b212 sxth r2, r2 + 1873e: f7fe bd57 b.w 171f0 lv_style_set_pad_right(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 1875a: 2000 movs r0, #0 - 1875c: 4bb0 ldr r3, [pc, #704] ; (18a20 ) - 1875e: 4798 blx r3 - 18760: eb00 0240 add.w r2, r0, r0, lsl #1 - 18764: eb00 0082 add.w r0, r0, r2, lsl #2 - 18768: 3050 adds r0, #80 ; 0x50 - 1876a: 4bae ldr r3, [pc, #696] ; (18a24 ) - 1876c: fb83 2300 smull r2, r3, r3, r0 - 18770: 17c2 asrs r2, r0, #31 - 18772: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18776: b212 sxth r2, r2 - 18778: f7fe bd5a b.w 17230 + 18742: 2000 movs r0, #0 + 18744: 4bb0 ldr r3, [pc, #704] ; (18a08 ) + 18746: 4798 blx r3 + 18748: eb00 0240 add.w r2, r0, r0, lsl #1 + 1874c: eb00 0082 add.w r0, r0, r2, lsl #2 + 18750: 3050 adds r0, #80 ; 0x50 + 18752: 4bae ldr r3, [pc, #696] ; (18a0c ) + 18754: fb83 2300 smull r2, r3, r3, r0 + 18758: 17c2 asrs r2, r0, #31 + 1875a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1875e: b212 sxth r2, r2 + 18760: f7fe bd5a b.w 17218 lv_style_set_pad_top(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 1877c: 2000 movs r0, #0 - 1877e: 4ba8 ldr r3, [pc, #672] ; (18a20 ) - 18780: 4798 blx r3 - 18782: eb00 0240 add.w r2, r0, r0, lsl #1 - 18786: eb00 0082 add.w r0, r0, r2, lsl #2 - 1878a: 3050 adds r0, #80 ; 0x50 - 1878c: 4ba5 ldr r3, [pc, #660] ; (18a24 ) - 1878e: fb83 2300 smull r2, r3, r3, r0 - 18792: 17c2 asrs r2, r0, #31 - 18794: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18798: b212 sxth r2, r2 - 1879a: f7fe bd5d b.w 17258 + 18764: 2000 movs r0, #0 + 18766: 4ba8 ldr r3, [pc, #672] ; (18a08 ) + 18768: 4798 blx r3 + 1876a: eb00 0240 add.w r2, r0, r0, lsl #1 + 1876e: eb00 0082 add.w r0, r0, r2, lsl #2 + 18772: 3050 adds r0, #80 ; 0x50 + 18774: 4ba5 ldr r3, [pc, #660] ; (18a0c ) + 18776: fb83 2300 smull r2, r3, r3, r0 + 1877a: 17c2 asrs r2, r0, #31 + 1877c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18780: b212 sxth r2, r2 + 18782: f7fe bd5d b.w 17240 lv_style_set_pad_bottom(&styles->cpicker_indic, LV_STATE_DEFAULT, LV_DPX(13)); - 1879e: 2000 movs r0, #0 - 187a0: 4b9f ldr r3, [pc, #636] ; (18a20 ) - 187a2: 4798 blx r3 - 187a4: eb00 0240 add.w r2, r0, r0, lsl #1 - 187a8: eb00 0082 add.w r0, r0, r2, lsl #2 - 187ac: 3050 adds r0, #80 ; 0x50 - 187ae: 4b9d ldr r3, [pc, #628] ; (18a24 ) - 187b0: fb83 2300 smull r2, r3, r3, r0 - 187b4: 17c2 asrs r2, r0, #31 - 187b6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 187ba: b212 sxth r2, r2 - 187bc: f7fe bd60 b.w 17280 + 18786: 2000 movs r0, #0 + 18788: 4b9f ldr r3, [pc, #636] ; (18a08 ) + 1878a: 4798 blx r3 + 1878c: eb00 0240 add.w r2, r0, r0, lsl #1 + 18790: eb00 0082 add.w r0, r0, r2, lsl #2 + 18794: 3050 adds r0, #80 ; 0x50 + 18796: 4b9d ldr r3, [pc, #628] ; (18a0c ) + 18798: fb83 2300 smull r2, r3, r3, r0 + 1879c: 17c2 asrs r2, r0, #31 + 1879e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187a2: b212 sxth r2, r2 + 187a4: f7fe bd60 b.w 17268 lv_style_set_radius(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 187c0: 2000 movs r0, #0 - 187c2: 4b97 ldr r3, [pc, #604] ; (18a20 ) - 187c4: 4798 blx r3 - 187c6: 3014 adds r0, #20 - 187c8: 0080 lsls r0, r0, #2 - 187ca: 4b96 ldr r3, [pc, #600] ; (18a24 ) - 187cc: fb83 2300 smull r2, r3, r3, r0 - 187d0: 17c2 asrs r2, r0, #31 - 187d2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 187d6: b212 sxth r2, r2 - 187d8: f7fe bd67 b.w 172aa + 187a8: 2000 movs r0, #0 + 187aa: 4b97 ldr r3, [pc, #604] ; (18a08 ) + 187ac: 4798 blx r3 + 187ae: 3014 adds r0, #20 + 187b0: 0080 lsls r0, r0, #2 + 187b2: 4b96 ldr r3, [pc, #600] ; (18a0c ) + 187b4: fb83 2300 smull r2, r3, r3, r0 + 187b8: 17c2 asrs r2, r0, #31 + 187ba: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187be: b212 sxth r2, r2 + 187c0: f7fe bd67 b.w 17292 lv_style_set_pad_inner(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 187dc: 2000 movs r0, #0 - 187de: 4b90 ldr r3, [pc, #576] ; (18a20 ) - 187e0: 4798 blx r3 - 187e2: eb00 0080 add.w r0, r0, r0, lsl #2 - 187e6: 0040 lsls r0, r0, #1 - 187e8: 3050 adds r0, #80 ; 0x50 - 187ea: 4b8e ldr r3, [pc, #568] ; (18a24 ) - 187ec: fb83 2300 smull r2, r3, r3, r0 - 187f0: 17c2 asrs r2, r0, #31 - 187f2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 187f6: b212 sxth r2, r2 - 187f8: f7fe bd6a b.w 172d0 + 187c4: 2000 movs r0, #0 + 187c6: 4b90 ldr r3, [pc, #576] ; (18a08 ) + 187c8: 4798 blx r3 + 187ca: eb00 0080 add.w r0, r0, r0, lsl #2 + 187ce: 0040 lsls r0, r0, #1 + 187d0: 3050 adds r0, #80 ; 0x50 + 187d2: 4b8e ldr r3, [pc, #568] ; (18a0c ) + 187d4: fb83 2300 smull r2, r3, r3, r0 + 187d8: 17c2 asrs r2, r0, #31 + 187da: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187de: b212 sxth r2, r2 + 187e0: f7fe bd6a b.w 172b8 lv_style_set_outline_width(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 187fc: 2000 movs r0, #0 - 187fe: 4b88 ldr r3, [pc, #544] ; (18a20 ) - 18800: 4798 blx r3 - 18802: eb00 0040 add.w r0, r0, r0, lsl #1 - 18806: 3050 adds r0, #80 ; 0x50 - 18808: 4b86 ldr r3, [pc, #536] ; (18a24 ) - 1880a: fb83 2300 smull r2, r3, r3, r0 - 1880e: 17c2 asrs r2, r0, #31 - 18810: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18814: b212 sxth r2, r2 - 18816: f7fe bd7f b.w 17318 + 187e4: 2000 movs r0, #0 + 187e6: 4b88 ldr r3, [pc, #544] ; (18a08 ) + 187e8: 4798 blx r3 + 187ea: eb00 0040 add.w r0, r0, r0, lsl #1 + 187ee: 3050 adds r0, #80 ; 0x50 + 187f0: 4b86 ldr r3, [pc, #536] ; (18a0c ) + 187f2: fb83 2300 smull r2, r3, r3, r0 + 187f6: 17c2 asrs r2, r0, #31 + 187f8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 187fc: b212 sxth r2, r2 + 187fe: f7fe bd7f b.w 17300 lv_style_set_outline_pad(&styles->cb_bg, LV_STATE_DEFAULT, LV_DPX(10)); - 1881a: 2000 movs r0, #0 - 1881c: 4b80 ldr r3, [pc, #512] ; (18a20 ) - 1881e: 4798 blx r3 - 18820: eb00 0080 add.w r0, r0, r0, lsl #2 - 18824: 0040 lsls r0, r0, #1 - 18826: 3050 adds r0, #80 ; 0x50 - 18828: 4b7e ldr r3, [pc, #504] ; (18a24 ) - 1882a: fb83 2300 smull r2, r3, r3, r0 - 1882e: 17c2 asrs r2, r0, #31 - 18830: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18834: b212 sxth r2, r2 - 18836: f7fe bd82 b.w 1733e + 18802: 2000 movs r0, #0 + 18804: 4b80 ldr r3, [pc, #512] ; (18a08 ) + 18806: 4798 blx r3 + 18808: eb00 0080 add.w r0, r0, r0, lsl #2 + 1880c: 0040 lsls r0, r0, #1 + 1880e: 3050 adds r0, #80 ; 0x50 + 18810: 4b7e ldr r3, [pc, #504] ; (18a0c ) + 18812: fb83 2300 smull r2, r3, r3, r0 + 18816: 17c2 asrs r2, r0, #31 + 18818: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1881c: b212 sxth r2, r2 + 1881e: f7fe bd82 b.w 17326 lv_style_set_radius(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(4)); - 1883a: 2000 movs r0, #0 - 1883c: 4b78 ldr r3, [pc, #480] ; (18a20 ) - 1883e: 4798 blx r3 - 18840: 3014 adds r0, #20 - 18842: 0080 lsls r0, r0, #2 - 18844: 4b77 ldr r3, [pc, #476] ; (18a24 ) - 18846: fb83 2300 smull r2, r3, r3, r0 - 1884a: 17c2 asrs r2, r0, #31 - 1884c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18850: b212 sxth r2, r2 - 18852: f7fe bd9a b.w 1738a + 18822: 2000 movs r0, #0 + 18824: 4b78 ldr r3, [pc, #480] ; (18a08 ) + 18826: 4798 blx r3 + 18828: 3014 adds r0, #20 + 1882a: 0080 lsls r0, r0, #2 + 1882c: 4b77 ldr r3, [pc, #476] ; (18a0c ) + 1882e: fb83 2300 smull r2, r3, r3, r0 + 18832: 17c2 asrs r2, r0, #31 + 18834: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18838: b212 sxth r2, r2 + 1883a: f7fe bd9a b.w 17372 lv_style_set_pad_left(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18856: 2000 movs r0, #0 - 18858: 4b71 ldr r3, [pc, #452] ; (18a20 ) - 1885a: 4798 blx r3 - 1885c: eb00 0040 add.w r0, r0, r0, lsl #1 - 18860: 3050 adds r0, #80 ; 0x50 - 18862: 4b70 ldr r3, [pc, #448] ; (18a24 ) - 18864: fb83 2300 smull r2, r3, r3, r0 - 18868: 17c2 asrs r2, r0, #31 - 1886a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1886e: b212 sxth r2, r2 - 18870: f7fe bdb2 b.w 173d8 + 1883e: 2000 movs r0, #0 + 18840: 4b71 ldr r3, [pc, #452] ; (18a08 ) + 18842: 4798 blx r3 + 18844: eb00 0040 add.w r0, r0, r0, lsl #1 + 18848: 3050 adds r0, #80 ; 0x50 + 1884a: 4b70 ldr r3, [pc, #448] ; (18a0c ) + 1884c: fb83 2300 smull r2, r3, r3, r0 + 18850: 17c2 asrs r2, r0, #31 + 18852: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18856: b212 sxth r2, r2 + 18858: f7fe bdb2 b.w 173c0 lv_style_set_pad_right(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18874: 2000 movs r0, #0 - 18876: 4b6a ldr r3, [pc, #424] ; (18a20 ) - 18878: 4798 blx r3 - 1887a: eb00 0040 add.w r0, r0, r0, lsl #1 - 1887e: 3050 adds r0, #80 ; 0x50 - 18880: 4b68 ldr r3, [pc, #416] ; (18a24 ) - 18882: fb83 2300 smull r2, r3, r3, r0 - 18886: 17c2 asrs r2, r0, #31 - 18888: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1888c: b212 sxth r2, r2 - 1888e: f7fe bdb5 b.w 173fc + 1885c: 2000 movs r0, #0 + 1885e: 4b6a ldr r3, [pc, #424] ; (18a08 ) + 18860: 4798 blx r3 + 18862: eb00 0040 add.w r0, r0, r0, lsl #1 + 18866: 3050 adds r0, #80 ; 0x50 + 18868: 4b68 ldr r3, [pc, #416] ; (18a0c ) + 1886a: fb83 2300 smull r2, r3, r3, r0 + 1886e: 17c2 asrs r2, r0, #31 + 18870: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18874: b212 sxth r2, r2 + 18876: f7fe bdb5 b.w 173e4 lv_style_set_pad_top(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 18892: 2000 movs r0, #0 - 18894: 4b62 ldr r3, [pc, #392] ; (18a20 ) - 18896: 4798 blx r3 - 18898: eb00 0040 add.w r0, r0, r0, lsl #1 - 1889c: 3050 adds r0, #80 ; 0x50 - 1889e: 4b61 ldr r3, [pc, #388] ; (18a24 ) - 188a0: fb83 2300 smull r2, r3, r3, r0 - 188a4: 17c2 asrs r2, r0, #31 - 188a6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 188aa: b212 sxth r2, r2 - 188ac: f7fe bdb8 b.w 17420 + 1887a: 2000 movs r0, #0 + 1887c: 4b62 ldr r3, [pc, #392] ; (18a08 ) + 1887e: 4798 blx r3 + 18880: eb00 0040 add.w r0, r0, r0, lsl #1 + 18884: 3050 adds r0, #80 ; 0x50 + 18886: 4b61 ldr r3, [pc, #388] ; (18a0c ) + 18888: fb83 2300 smull r2, r3, r3, r0 + 1888c: 17c2 asrs r2, r0, #31 + 1888e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18892: b212 sxth r2, r2 + 18894: f7fe bdb8 b.w 17408 lv_style_set_pad_bottom(&styles->cb_bullet, LV_STATE_DEFAULT, LV_DPX(3)); - 188b0: 2000 movs r0, #0 - 188b2: 4b5b ldr r3, [pc, #364] ; (18a20 ) - 188b4: 4798 blx r3 - 188b6: eb00 0040 add.w r0, r0, r0, lsl #1 - 188ba: 3050 adds r0, #80 ; 0x50 - 188bc: 4b59 ldr r3, [pc, #356] ; (18a24 ) - 188be: fb83 2300 smull r2, r3, r3, r0 - 188c2: 17c2 asrs r2, r0, #31 - 188c4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 188c8: b212 sxth r2, r2 - 188ca: f7fe bdbb b.w 17444 + 18898: 2000 movs r0, #0 + 1889a: 4b5b ldr r3, [pc, #364] ; (18a08 ) + 1889c: 4798 blx r3 + 1889e: eb00 0040 add.w r0, r0, r0, lsl #1 + 188a2: 3050 adds r0, #80 ; 0x50 + 188a4: 4b59 ldr r3, [pc, #356] ; (18a0c ) + 188a6: fb83 2300 smull r2, r3, r3, r0 + 188aa: 17c2 asrs r2, r0, #31 + 188ac: ebc2 12a3 rsb r2, r2, r3, asr #6 + 188b0: b212 sxth r2, r2 + 188b2: f7fe bdbb b.w 1742c lv_style_set_border_width(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(4)); - 188ce: 2000 movs r0, #0 - 188d0: 4b53 ldr r3, [pc, #332] ; (18a20 ) - 188d2: 4798 blx r3 - 188d4: 3014 adds r0, #20 - 188d6: 0080 lsls r0, r0, #2 - 188d8: 4b52 ldr r3, [pc, #328] ; (18a24 ) - 188da: fb83 2300 smull r2, r3, r3, r0 - 188de: 17c2 asrs r2, r0, #31 - 188e0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 188e4: b212 sxth r2, r2 - 188e6: f7fe bdda b.w 1749e + 188b6: 2000 movs r0, #0 + 188b8: 4b53 ldr r3, [pc, #332] ; (18a08 ) + 188ba: 4798 blx r3 + 188bc: 3014 adds r0, #20 + 188be: 0080 lsls r0, r0, #2 + 188c0: 4b52 ldr r3, [pc, #328] ; (18a0c ) + 188c2: fb83 2300 smull r2, r3, r3, r0 + 188c6: 17c2 asrs r2, r0, #31 + 188c8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 188cc: b212 sxth r2, r2 + 188ce: f7fe bdda b.w 17486 lv_style_set_border_color(&styles->kb_bg, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT : LV_COLOR_BLACK); - 188ea: 2307 movs r3, #7 - 188ec: 210f movs r1, #15 - 188ee: 2408 movs r4, #8 - 188f0: f7fe bde9 b.w 174c6 + 188d2: 2307 movs r3, #7 + 188d4: 210f movs r1, #15 + 188d6: 2408 movs r4, #8 + 188d8: f7fe bde9 b.w 174ae lv_style_set_pad_left(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 188f4: 2000 movs r0, #0 - 188f6: 4b4a ldr r3, [pc, #296] ; (18a20 ) - 188f8: 4798 blx r3 - 188fa: eb00 0080 add.w r0, r0, r0, lsl #2 - 188fe: 3050 adds r0, #80 ; 0x50 - 18900: 4b48 ldr r3, [pc, #288] ; (18a24 ) - 18902: fb83 2300 smull r2, r3, r3, r0 - 18906: 17c2 asrs r2, r0, #31 - 18908: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1890c: b212 sxth r2, r2 - 1890e: f7fe bdf9 b.w 17504 + 188dc: 2000 movs r0, #0 + 188de: 4b4a ldr r3, [pc, #296] ; (18a08 ) + 188e0: 4798 blx r3 + 188e2: eb00 0080 add.w r0, r0, r0, lsl #2 + 188e6: 3050 adds r0, #80 ; 0x50 + 188e8: 4b48 ldr r3, [pc, #288] ; (18a0c ) + 188ea: fb83 2300 smull r2, r3, r3, r0 + 188ee: 17c2 asrs r2, r0, #31 + 188f0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 188f4: b212 sxth r2, r2 + 188f6: f7fe bdf9 b.w 174ec lv_style_set_pad_right(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18912: 2000 movs r0, #0 - 18914: 4b42 ldr r3, [pc, #264] ; (18a20 ) - 18916: 4798 blx r3 - 18918: eb00 0080 add.w r0, r0, r0, lsl #2 - 1891c: 3050 adds r0, #80 ; 0x50 - 1891e: 4b41 ldr r3, [pc, #260] ; (18a24 ) - 18920: fb83 2300 smull r2, r3, r3, r0 - 18924: 17c2 asrs r2, r0, #31 - 18926: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1892a: b212 sxth r2, r2 - 1892c: f7fe bdfc b.w 17528 + 188fa: 2000 movs r0, #0 + 188fc: 4b42 ldr r3, [pc, #264] ; (18a08 ) + 188fe: 4798 blx r3 + 18900: eb00 0080 add.w r0, r0, r0, lsl #2 + 18904: 3050 adds r0, #80 ; 0x50 + 18906: 4b41 ldr r3, [pc, #260] ; (18a0c ) + 18908: fb83 2300 smull r2, r3, r3, r0 + 1890c: 17c2 asrs r2, r0, #31 + 1890e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18912: b212 sxth r2, r2 + 18914: f7fe bdfc b.w 17510 lv_style_set_pad_top(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18930: 2000 movs r0, #0 - 18932: 4b3b ldr r3, [pc, #236] ; (18a20 ) - 18934: 4798 blx r3 - 18936: eb00 0080 add.w r0, r0, r0, lsl #2 - 1893a: 3050 adds r0, #80 ; 0x50 - 1893c: 4b39 ldr r3, [pc, #228] ; (18a24 ) - 1893e: fb83 2300 smull r2, r3, r3, r0 - 18942: 17c2 asrs r2, r0, #31 - 18944: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18948: b212 sxth r2, r2 - 1894a: f7fe bdff b.w 1754c + 18918: 2000 movs r0, #0 + 1891a: 4b3b ldr r3, [pc, #236] ; (18a08 ) + 1891c: 4798 blx r3 + 1891e: eb00 0080 add.w r0, r0, r0, lsl #2 + 18922: 3050 adds r0, #80 ; 0x50 + 18924: 4b39 ldr r3, [pc, #228] ; (18a0c ) + 18926: fb83 2300 smull r2, r3, r3, r0 + 1892a: 17c2 asrs r2, r0, #31 + 1892c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18930: b212 sxth r2, r2 + 18932: f7fe bdff b.w 17534 lv_style_set_pad_bottom(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 1894e: 2000 movs r0, #0 - 18950: 4b33 ldr r3, [pc, #204] ; (18a20 ) - 18952: 4798 blx r3 - 18954: eb00 0080 add.w r0, r0, r0, lsl #2 - 18958: 3050 adds r0, #80 ; 0x50 - 1895a: 4b32 ldr r3, [pc, #200] ; (18a24 ) - 1895c: fb83 2300 smull r2, r3, r3, r0 - 18960: 17c2 asrs r2, r0, #31 - 18962: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18966: b212 sxth r2, r2 - 18968: f7fe be02 b.w 17570 + 18936: 2000 movs r0, #0 + 18938: 4b33 ldr r3, [pc, #204] ; (18a08 ) + 1893a: 4798 blx r3 + 1893c: eb00 0080 add.w r0, r0, r0, lsl #2 + 18940: 3050 adds r0, #80 ; 0x50 + 18942: 4b32 ldr r3, [pc, #200] ; (18a0c ) + 18944: fb83 2300 smull r2, r3, r3, r0 + 18948: 17c2 asrs r2, r0, #31 + 1894a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1894e: b212 sxth r2, r2 + 18950: f7fe be02 b.w 17558 lv_style_set_pad_inner(&styles->kb_bg, LV_STATE_DEFAULT, LV_DPX(3)); - 1896c: 2000 movs r0, #0 - 1896e: 4b2c ldr r3, [pc, #176] ; (18a20 ) - 18970: 4798 blx r3 - 18972: eb00 0040 add.w r0, r0, r0, lsl #1 - 18976: 3050 adds r0, #80 ; 0x50 - 18978: 4b2a ldr r3, [pc, #168] ; (18a24 ) - 1897a: fb83 2300 smull r2, r3, r3, r0 - 1897e: 17c2 asrs r2, r0, #31 - 18980: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18984: b212 sxth r2, r2 - 18986: f7fe be05 b.w 17594 + 18954: 2000 movs r0, #0 + 18956: 4b2c ldr r3, [pc, #176] ; (18a08 ) + 18958: 4798 blx r3 + 1895a: eb00 0040 add.w r0, r0, r0, lsl #1 + 1895e: 3050 adds r0, #80 ; 0x50 + 18960: 4b2a ldr r3, [pc, #168] ; (18a0c ) + 18962: fb83 2300 smull r2, r3, r3, r0 + 18966: 17c2 asrs r2, r0, #31 + 18968: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1896c: b212 sxth r2, r2 + 1896e: f7fe be05 b.w 1757c lv_style_set_shadow_width(&styles->mbox_bg, LV_STATE_DEFAULT, LV_DPX(50)); - 1898a: 2000 movs r0, #0 - 1898c: 4b24 ldr r3, [pc, #144] ; (18a20 ) - 1898e: 4798 blx r3 - 18990: 2232 movs r2, #50 ; 0x32 - 18992: fb02 f000 mul.w r0, r2, r0 - 18996: 3050 adds r0, #80 ; 0x50 - 18998: 4b22 ldr r3, [pc, #136] ; (18a24 ) - 1899a: fb83 2300 smull r2, r3, r3, r0 - 1899e: 17c2 asrs r2, r0, #31 - 189a0: ebc2 12a3 rsb r2, r2, r3, asr #6 - 189a4: b212 sxth r2, r2 - 189a6: f7fe be0c b.w 175c2 + 18972: 2000 movs r0, #0 + 18974: 4b24 ldr r3, [pc, #144] ; (18a08 ) + 18976: 4798 blx r3 + 18978: 2232 movs r2, #50 ; 0x32 + 1897a: fb02 f000 mul.w r0, r2, r0 + 1897e: 3050 adds r0, #80 ; 0x50 + 18980: 4b22 ldr r3, [pc, #136] ; (18a0c ) + 18982: fb83 2300 smull r2, r3, r3, r0 + 18986: 17c2 asrs r2, r0, #31 + 18988: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1898c: b212 sxth r2, r2 + 1898e: f7fe be0c b.w 175aa lv_style_set_size(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 189aa: 2000 movs r0, #0 - 189ac: 4b1c ldr r3, [pc, #112] ; (18a20 ) - 189ae: 4798 blx r3 - 189b0: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 189b4: 3050 adds r0, #80 ; 0x50 - 189b6: 4b1b ldr r3, [pc, #108] ; (18a24 ) - 189b8: fb83 2300 smull r2, r3, r3, r0 - 189bc: 17c2 asrs r2, r0, #31 - 189be: ebc2 12a3 rsb r2, r2, r3, asr #6 - 189c2: b212 sxth r2, r2 - 189c4: f7fe be52 b.w 1766c + 18992: 2000 movs r0, #0 + 18994: 4b1c ldr r3, [pc, #112] ; (18a08 ) + 18996: 4798 blx r3 + 18998: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 1899c: 3050 adds r0, #80 ; 0x50 + 1899e: 4b1b ldr r3, [pc, #108] ; (18a0c ) + 189a0: fb83 2300 smull r2, r3, r3, r0 + 189a4: 17c2 asrs r2, r0, #31 + 189a6: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189aa: b212 sxth r2, r2 + 189ac: f7fe be52 b.w 17654 lv_style_set_pad_right(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 189c8: 2000 movs r0, #0 - 189ca: 4b15 ldr r3, [pc, #84] ; (18a20 ) - 189cc: 4798 blx r3 - 189ce: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 189d2: 3050 adds r0, #80 ; 0x50 - 189d4: 4b13 ldr r3, [pc, #76] ; (18a24 ) - 189d6: fb83 2300 smull r2, r3, r3, r0 - 189da: 17c2 asrs r2, r0, #31 - 189dc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 189e0: b212 sxth r2, r2 - 189e2: f7fe be55 b.w 17690 + 189b0: 2000 movs r0, #0 + 189b2: 4b15 ldr r3, [pc, #84] ; (18a08 ) + 189b4: 4798 blx r3 + 189b6: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 189ba: 3050 adds r0, #80 ; 0x50 + 189bc: 4b13 ldr r3, [pc, #76] ; (18a0c ) + 189be: fb83 2300 smull r2, r3, r3, r0 + 189c2: 17c2 asrs r2, r0, #31 + 189c4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189c8: b212 sxth r2, r2 + 189ca: f7fe be55 b.w 17678 lv_style_set_pad_bottom(&styles->sb, LV_STATE_DEFAULT, LV_DPX(7)); - 189e6: 2000 movs r0, #0 - 189e8: 4b0d ldr r3, [pc, #52] ; (18a20 ) - 189ea: 4798 blx r3 - 189ec: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 189f0: 3050 adds r0, #80 ; 0x50 - 189f2: 4b0c ldr r3, [pc, #48] ; (18a24 ) - 189f4: fb83 2300 smull r2, r3, r3, r0 - 189f8: 17c2 asrs r2, r0, #31 - 189fa: ebc2 12a3 rsb r2, r2, r3, asr #6 - 189fe: b212 sxth r2, r2 - 18a00: f7fe be58 b.w 176b4 + 189ce: 2000 movs r0, #0 + 189d0: 4b0d ldr r3, [pc, #52] ; (18a08 ) + 189d2: 4798 blx r3 + 189d4: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 189d8: 3050 adds r0, #80 ; 0x50 + 189da: 4b0c ldr r3, [pc, #48] ; (18a0c ) + 189dc: fb83 2300 smull r2, r3, r3, r0 + 189e0: 17c2 asrs r2, r0, #31 + 189e2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 189e6: b212 sxth r2, r2 + 189e8: f7fe be58 b.w 1769c lv_style_set_border_width(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(2)); - 18a04: 2000 movs r0, #0 - 18a06: 4b06 ldr r3, [pc, #24] ; (18a20 ) - 18a08: 4798 blx r3 - 18a0a: 3028 adds r0, #40 ; 0x28 - 18a0c: 0040 lsls r0, r0, #1 - 18a0e: 4b05 ldr r3, [pc, #20] ; (18a24 ) - 18a10: fb83 2300 smull r2, r3, r3, r0 - 18a14: 17c2 asrs r2, r0, #31 - 18a16: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a1a: b212 sxth r2, r2 - 18a1c: f7fe be91 b.w 17742 - 18a20: 00010f3d .word 0x00010f3d - 18a24: 66666667 .word 0x66666667 + 189ec: 2000 movs r0, #0 + 189ee: 4b06 ldr r3, [pc, #24] ; (18a08 ) + 189f0: 4798 blx r3 + 189f2: 3028 adds r0, #40 ; 0x28 + 189f4: 0040 lsls r0, r0, #1 + 189f6: 4b05 ldr r3, [pc, #20] ; (18a0c ) + 189f8: fb83 2300 smull r2, r3, r3, r0 + 189fc: 17c2 asrs r2, r0, #31 + 189fe: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a02: b212 sxth r2, r2 + 18a04: f7fe be91 b.w 1772a + 18a08: 00010f25 .word 0x00010f25 + 18a0c: 66666667 .word 0x66666667 lv_style_set_pad_left(&styles->ta_cursor, LV_STATE_DEFAULT, LV_DPX(1)); - 18a28: 2000 movs r0, #0 - 18a2a: 4bcd ldr r3, [pc, #820] ; (18d60 ) - 18a2c: 4798 blx r3 - 18a2e: 3050 adds r0, #80 ; 0x50 - 18a30: 4bcc ldr r3, [pc, #816] ; (18d64 ) - 18a32: fb83 2300 smull r2, r3, r3, r0 - 18a36: 17c2 asrs r2, r0, #31 - 18a38: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a3c: b212 sxth r2, r2 - 18a3e: f7fe be9d b.w 1777c + 18a10: 2000 movs r0, #0 + 18a12: 4bcd ldr r3, [pc, #820] ; (18d48 ) + 18a14: 4798 blx r3 + 18a16: 3050 adds r0, #80 ; 0x50 + 18a18: 4bcc ldr r3, [pc, #816] ; (18d4c ) + 18a1a: fb83 2300 smull r2, r3, r3, r0 + 18a1e: 17c2 asrs r2, r0, #31 + 18a20: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a24: b212 sxth r2, r2 + 18a26: f7fe be9d b.w 17764 lv_style_set_text_color(&styles->ta_placeholder, LV_STATE_DEFAULT, IS_LIGHT ? COLOR_BG_TEXT_DIS : lv_color_hex(0xa1adbd)); - 18a42: 2315 movs r3, #21 - 18a44: 212a movs r1, #42 ; 0x2a - 18a46: 461c mov r4, r3 - 18a48: f7fe beb0 b.w 177ac + 18a2a: 2315 movs r3, #21 + 18a2c: 212a movs r1, #42 ; 0x2a + 18a2e: 461c mov r4, r3 + 18a30: f7fe beb0 b.w 17794 lv_style_set_pad_top(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 18a4c: 2000 movs r0, #0 - 18a4e: 4bc4 ldr r3, [pc, #784] ; (18d60 ) - 18a50: 4798 blx r3 - 18a52: 2264 movs r2, #100 ; 0x64 - 18a54: fb02 f000 mul.w r0, r2, r0 - 18a58: 3050 adds r0, #80 ; 0x50 - 18a5a: 4bc2 ldr r3, [pc, #776] ; (18d64 ) - 18a5c: fb83 2300 smull r2, r3, r3, r0 - 18a60: 17c2 asrs r2, r0, #31 - 18a62: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a66: b212 sxth r2, r2 - 18a68: f7fe bed1 b.w 1780e + 18a34: 2000 movs r0, #0 + 18a36: 4bc4 ldr r3, [pc, #784] ; (18d48 ) + 18a38: 4798 blx r3 + 18a3a: 2264 movs r2, #100 ; 0x64 + 18a3c: fb02 f000 mul.w r0, r2, r0 + 18a40: 3050 adds r0, #80 ; 0x50 + 18a42: 4bc2 ldr r3, [pc, #776] ; (18d4c ) + 18a44: fb83 2300 smull r2, r3, r3, r0 + 18a48: 17c2 asrs r2, r0, #31 + 18a4a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a4e: b212 sxth r2, r2 + 18a50: f7fe bed1 b.w 177f6 lv_style_set_pad_bottom(&styles->spinbox_cursor, LV_STATE_DEFAULT, LV_DPX(100)); - 18a6c: 2000 movs r0, #0 - 18a6e: 4bbc ldr r3, [pc, #752] ; (18d60 ) - 18a70: 4798 blx r3 - 18a72: 2264 movs r2, #100 ; 0x64 - 18a74: fb02 f000 mul.w r0, r2, r0 - 18a78: 3050 adds r0, #80 ; 0x50 - 18a7a: 4bba ldr r3, [pc, #744] ; (18d64 ) - 18a7c: fb83 2300 smull r2, r3, r3, r0 - 18a80: 17c2 asrs r2, r0, #31 - 18a82: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18a86: b212 sxth r2, r2 - 18a88: f7fe bed4 b.w 17834 + 18a54: 2000 movs r0, #0 + 18a56: 4bbc ldr r3, [pc, #752] ; (18d48 ) + 18a58: 4798 blx r3 + 18a5a: 2264 movs r2, #100 ; 0x64 + 18a5c: fb02 f000 mul.w r0, r2, r0 + 18a60: 3050 adds r0, #80 ; 0x50 + 18a62: 4bba ldr r3, [pc, #744] ; (18d4c ) + 18a64: fb83 2300 smull r2, r3, r3, r0 + 18a68: 17c2 asrs r2, r0, #31 + 18a6a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18a6e: b212 sxth r2, r2 + 18a70: f7fe bed4 b.w 1781c lv_style_set_bg_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG); - 18a8c: 231f movs r3, #31 - 18a8e: 213f movs r1, #63 ; 0x3f - 18a90: 461c mov r4, r3 - 18a92: f7fe bf09 b.w 178a8 + 18a74: 231f movs r3, #31 + 18a76: 213f movs r1, #63 ; 0x3f + 18a78: 461c mov r4, r3 + 18a7a: f7fe bf09 b.w 17890 lv_style_set_bg_color(&styles->list_btn, LV_STATE_PRESSED, COLOR_BG_PR); - 18a96: 231d movs r3, #29 - 18a98: 213b movs r1, #59 ; 0x3b - 18a9a: 461c mov r4, r3 - 18a9c: f7fe bf1a b.w 178d4 + 18a7e: 231d movs r3, #29 + 18a80: 213b movs r1, #59 ; 0x3b + 18a82: 461c mov r4, r3 + 18a84: f7fe bf1a b.w 178bc lv_style_set_bg_color(&styles->list_btn, LV_STATE_DISABLED, COLOR_BG_DIS); - 18aa0: 231f movs r3, #31 - 18aa2: 213f movs r1, #63 ; 0x3f - 18aa4: 461c mov r4, r3 - 18aa6: f7fe bf2c b.w 17902 + 18a88: 231f movs r3, #31 + 18a8a: 213f movs r1, #63 ; 0x3f + 18a8c: 461c mov r4, r3 + 18a8e: f7fe bf2c b.w 178ea lv_style_set_text_color(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 18aaa: 2307 movs r3, #7 - 18aac: 210f movs r1, #15 - 18aae: 2408 movs r4, #8 - 18ab0: f7fe bf4f b.w 17952 + 18a92: 2307 movs r3, #7 + 18a94: 210f movs r1, #15 + 18a96: 2408 movs r4, #8 + 18a98: f7fe bf4f b.w 1793a lv_style_set_image_recolor(&styles->list_btn, LV_STATE_DEFAULT, COLOR_BG_TEXT); - 18ab4: 2307 movs r3, #7 - 18ab6: 210f movs r1, #15 - 18ab8: 2408 movs r4, #8 - 18aba: f7fe bf7f b.w 179bc + 18a9c: 2307 movs r3, #7 + 18a9e: 210f movs r1, #15 + 18aa0: 2408 movs r4, #8 + 18aa2: f7fe bf7f b.w 179a4 lv_style_set_pad_left(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18aa6: 2000 movs r0, #0 + 18aa8: 4ba7 ldr r3, [pc, #668] ; (18d48 ) + 18aaa: 4798 blx r3 + 18aac: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ab0: 3050 adds r0, #80 ; 0x50 + 18ab2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18ab6: da02 bge.n 18abe + 18ab8: 2201 movs r2, #1 + 18aba: f7fe bfef b.w 17a9c 18abe: 2000 movs r0, #0 - 18ac0: 4ba7 ldr r3, [pc, #668] ; (18d60 ) + 18ac0: 4ba1 ldr r3, [pc, #644] ; (18d48 ) 18ac2: 4798 blx r3 18ac4: ebc0 1000 rsb r0, r0, r0, lsl #4 18ac8: 3050 adds r0, #80 ; 0x50 - 18aca: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18ace: da02 bge.n 18ad6 - 18ad0: 2201 movs r2, #1 - 18ad2: f7fe bfef b.w 17ab4 - 18ad6: 2000 movs r0, #0 - 18ad8: 4ba1 ldr r3, [pc, #644] ; (18d60 ) - 18ada: 4798 blx r3 - 18adc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18ae0: 3050 adds r0, #80 ; 0x50 - 18ae2: 4ba0 ldr r3, [pc, #640] ; (18d64 ) - 18ae4: fb83 2300 smull r2, r3, r3, r0 - 18ae8: 17c2 asrs r2, r0, #31 - 18aea: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18aee: b212 sxth r2, r2 - 18af0: f7fe bfe0 b.w 17ab4 - 18af4: 2000 movs r0, #0 - 18af6: 4b9a ldr r3, [pc, #616] ; (18d60 ) - 18af8: 4798 blx r3 - 18afa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18afe: 0040 lsls r0, r0, #1 - 18b00: 3050 adds r0, #80 ; 0x50 - 18b02: 4b98 ldr r3, [pc, #608] ; (18d64 ) - 18b04: fb83 2300 smull r2, r3, r3, r0 - 18b08: 17c2 asrs r2, r0, #31 - 18b0a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b0e: b212 sxth r2, r2 - 18b10: f7fe bfd0 b.w 17ab4 + 18aca: 4ba0 ldr r3, [pc, #640] ; (18d4c ) + 18acc: fb83 2300 smull r2, r3, r3, r0 + 18ad0: 17c2 asrs r2, r0, #31 + 18ad2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18ad6: b212 sxth r2, r2 + 18ad8: f7fe bfe0 b.w 17a9c + 18adc: 2000 movs r0, #0 + 18ade: 4b9a ldr r3, [pc, #616] ; (18d48 ) + 18ae0: 4798 blx r3 + 18ae2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ae6: 0040 lsls r0, r0, #1 + 18ae8: 3050 adds r0, #80 ; 0x50 + 18aea: 4b98 ldr r3, [pc, #608] ; (18d4c ) + 18aec: fb83 2300 smull r2, r3, r3, r0 + 18af0: 17c2 asrs r2, r0, #31 + 18af2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18af6: b212 sxth r2, r2 + 18af8: f7fe bfd0 b.w 17a9c lv_style_set_pad_right(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18afc: 2000 movs r0, #0 + 18afe: 4b92 ldr r3, [pc, #584] ; (18d48 ) + 18b00: 4798 blx r3 + 18b02: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b06: 3050 adds r0, #80 ; 0x50 + 18b08: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18b0c: da02 bge.n 18b14 + 18b0e: 2201 movs r2, #1 + 18b10: f7fe bfdd b.w 17ace 18b14: 2000 movs r0, #0 - 18b16: 4b92 ldr r3, [pc, #584] ; (18d60 ) + 18b16: 4b8c ldr r3, [pc, #560] ; (18d48 ) 18b18: 4798 blx r3 18b1a: ebc0 1000 rsb r0, r0, r0, lsl #4 18b1e: 3050 adds r0, #80 ; 0x50 - 18b20: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18b24: da02 bge.n 18b2c - 18b26: 2201 movs r2, #1 - 18b28: f7fe bfdd b.w 17ae6 - 18b2c: 2000 movs r0, #0 - 18b2e: 4b8c ldr r3, [pc, #560] ; (18d60 ) - 18b30: 4798 blx r3 - 18b32: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b36: 3050 adds r0, #80 ; 0x50 - 18b38: 4b8a ldr r3, [pc, #552] ; (18d64 ) - 18b3a: fb83 2300 smull r2, r3, r3, r0 - 18b3e: 17c2 asrs r2, r0, #31 - 18b40: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b44: b212 sxth r2, r2 - 18b46: f7fe bfce b.w 17ae6 - 18b4a: 2000 movs r0, #0 - 18b4c: 4b84 ldr r3, [pc, #528] ; (18d60 ) - 18b4e: 4798 blx r3 - 18b50: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b54: 0040 lsls r0, r0, #1 - 18b56: 3050 adds r0, #80 ; 0x50 - 18b58: 4b82 ldr r3, [pc, #520] ; (18d64 ) - 18b5a: fb83 2300 smull r2, r3, r3, r0 - 18b5e: 17c2 asrs r2, r0, #31 - 18b60: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b64: b212 sxth r2, r2 - 18b66: f7fe bfbe b.w 17ae6 + 18b20: 4b8a ldr r3, [pc, #552] ; (18d4c ) + 18b22: fb83 2300 smull r2, r3, r3, r0 + 18b26: 17c2 asrs r2, r0, #31 + 18b28: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b2c: b212 sxth r2, r2 + 18b2e: f7fe bfce b.w 17ace + 18b32: 2000 movs r0, #0 + 18b34: 4b84 ldr r3, [pc, #528] ; (18d48 ) + 18b36: 4798 blx r3 + 18b38: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b3c: 0040 lsls r0, r0, #1 + 18b3e: 3050 adds r0, #80 ; 0x50 + 18b40: 4b82 ldr r3, [pc, #520] ; (18d4c ) + 18b42: fb83 2300 smull r2, r3, r3, r0 + 18b46: 17c2 asrs r2, r0, #31 + 18b48: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b4c: b212 sxth r2, r2 + 18b4e: f7fe bfbe b.w 17ace lv_style_set_pad_top(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18b52: 2000 movs r0, #0 + 18b54: 4b7c ldr r3, [pc, #496] ; (18d48 ) + 18b56: 4798 blx r3 + 18b58: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b5c: 3050 adds r0, #80 ; 0x50 + 18b5e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18b62: da02 bge.n 18b6a + 18b64: 2201 movs r2, #1 + 18b66: f7fe bfcb b.w 17b00 18b6a: 2000 movs r0, #0 - 18b6c: 4b7c ldr r3, [pc, #496] ; (18d60 ) + 18b6c: 4b76 ldr r3, [pc, #472] ; (18d48 ) 18b6e: 4798 blx r3 18b70: ebc0 1000 rsb r0, r0, r0, lsl #4 18b74: 3050 adds r0, #80 ; 0x50 - 18b76: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18b7a: da02 bge.n 18b82 - 18b7c: 2201 movs r2, #1 - 18b7e: f7fe bfcb b.w 17b18 - 18b82: 2000 movs r0, #0 - 18b84: 4b76 ldr r3, [pc, #472] ; (18d60 ) - 18b86: 4798 blx r3 - 18b88: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18b8c: 3050 adds r0, #80 ; 0x50 - 18b8e: 4b75 ldr r3, [pc, #468] ; (18d64 ) - 18b90: fb83 2300 smull r2, r3, r3, r0 - 18b94: 17c2 asrs r2, r0, #31 - 18b96: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18b9a: b212 sxth r2, r2 - 18b9c: f7fe bfbc b.w 17b18 - 18ba0: 2000 movs r0, #0 - 18ba2: 4b6f ldr r3, [pc, #444] ; (18d60 ) - 18ba4: 4798 blx r3 - 18ba6: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18baa: 0040 lsls r0, r0, #1 - 18bac: 3050 adds r0, #80 ; 0x50 - 18bae: 4b6d ldr r3, [pc, #436] ; (18d64 ) - 18bb0: fb83 2300 smull r2, r3, r3, r0 - 18bb4: 17c2 asrs r2, r0, #31 - 18bb6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18bba: b212 sxth r2, r2 - 18bbc: f7fe bfac b.w 17b18 + 18b76: 4b75 ldr r3, [pc, #468] ; (18d4c ) + 18b78: fb83 2300 smull r2, r3, r3, r0 + 18b7c: 17c2 asrs r2, r0, #31 + 18b7e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18b82: b212 sxth r2, r2 + 18b84: f7fe bfbc b.w 17b00 + 18b88: 2000 movs r0, #0 + 18b8a: 4b6f ldr r3, [pc, #444] ; (18d48 ) + 18b8c: 4798 blx r3 + 18b8e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18b92: 0040 lsls r0, r0, #1 + 18b94: 3050 adds r0, #80 ; 0x50 + 18b96: 4b6d ldr r3, [pc, #436] ; (18d4c ) + 18b98: fb83 2300 smull r2, r3, r3, r0 + 18b9c: 17c2 asrs r2, r0, #31 + 18b9e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18ba2: b212 sxth r2, r2 + 18ba4: f7fe bfac b.w 17b00 lv_style_set_pad_bottom(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18ba8: 2000 movs r0, #0 + 18baa: 4b67 ldr r3, [pc, #412] ; (18d48 ) + 18bac: 4798 blx r3 + 18bae: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18bb2: 3050 adds r0, #80 ; 0x50 + 18bb4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18bb8: da02 bge.n 18bc0 + 18bba: 2201 movs r2, #1 + 18bbc: f7fe bfb9 b.w 17b32 18bc0: 2000 movs r0, #0 - 18bc2: 4b67 ldr r3, [pc, #412] ; (18d60 ) + 18bc2: 4b61 ldr r3, [pc, #388] ; (18d48 ) 18bc4: 4798 blx r3 18bc6: ebc0 1000 rsb r0, r0, r0, lsl #4 18bca: 3050 adds r0, #80 ; 0x50 - 18bcc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18bd0: da02 bge.n 18bd8 - 18bd2: 2201 movs r2, #1 - 18bd4: f7fe bfb9 b.w 17b4a - 18bd8: 2000 movs r0, #0 - 18bda: 4b61 ldr r3, [pc, #388] ; (18d60 ) - 18bdc: 4798 blx r3 - 18bde: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18be2: 3050 adds r0, #80 ; 0x50 - 18be4: 4b5f ldr r3, [pc, #380] ; (18d64 ) - 18be6: fb83 2300 smull r2, r3, r3, r0 - 18bea: 17c2 asrs r2, r0, #31 - 18bec: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18bf0: b212 sxth r2, r2 - 18bf2: f7fe bfaa b.w 17b4a - 18bf6: 2000 movs r0, #0 - 18bf8: 4b59 ldr r3, [pc, #356] ; (18d60 ) - 18bfa: 4798 blx r3 - 18bfc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c00: 0040 lsls r0, r0, #1 - 18c02: 3050 adds r0, #80 ; 0x50 - 18c04: 4b57 ldr r3, [pc, #348] ; (18d64 ) - 18c06: fb83 2300 smull r2, r3, r3, r0 - 18c0a: 17c2 asrs r2, r0, #31 - 18c0c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c10: b212 sxth r2, r2 - 18c12: f7fe bf9a b.w 17b4a + 18bcc: 4b5f ldr r3, [pc, #380] ; (18d4c ) + 18bce: fb83 2300 smull r2, r3, r3, r0 + 18bd2: 17c2 asrs r2, r0, #31 + 18bd4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18bd8: b212 sxth r2, r2 + 18bda: f7fe bfaa b.w 17b32 + 18bde: 2000 movs r0, #0 + 18be0: 4b59 ldr r3, [pc, #356] ; (18d48 ) + 18be2: 4798 blx r3 + 18be4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18be8: 0040 lsls r0, r0, #1 + 18bea: 3050 adds r0, #80 ; 0x50 + 18bec: 4b57 ldr r3, [pc, #348] ; (18d4c ) + 18bee: fb83 2300 smull r2, r3, r3, r0 + 18bf2: 17c2 asrs r2, r0, #31 + 18bf4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18bf8: b212 sxth r2, r2 + 18bfa: f7fe bf9a b.w 17b32 lv_style_set_pad_inner(&styles->list_btn, LV_STATE_DEFAULT, PAD_DEF); + 18bfe: 2000 movs r0, #0 + 18c00: 4b51 ldr r3, [pc, #324] ; (18d48 ) + 18c02: 4798 blx r3 + 18c04: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c08: 3050 adds r0, #80 ; 0x50 + 18c0a: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18c0e: da02 bge.n 18c16 + 18c10: 2201 movs r2, #1 + 18c12: f7fe bfa7 b.w 17b64 18c16: 2000 movs r0, #0 - 18c18: 4b51 ldr r3, [pc, #324] ; (18d60 ) + 18c18: 4b4b ldr r3, [pc, #300] ; (18d48 ) 18c1a: 4798 blx r3 18c1c: ebc0 1000 rsb r0, r0, r0, lsl #4 18c20: 3050 adds r0, #80 ; 0x50 - 18c22: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18c26: da02 bge.n 18c2e - 18c28: 2201 movs r2, #1 - 18c2a: f7fe bfa7 b.w 17b7c - 18c2e: 2000 movs r0, #0 - 18c30: 4b4b ldr r3, [pc, #300] ; (18d60 ) - 18c32: 4798 blx r3 - 18c34: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c38: 3050 adds r0, #80 ; 0x50 - 18c3a: 4b4a ldr r3, [pc, #296] ; (18d64 ) - 18c3c: fb83 2300 smull r2, r3, r3, r0 - 18c40: 17c2 asrs r2, r0, #31 - 18c42: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c46: b212 sxth r2, r2 - 18c48: f7fe bf98 b.w 17b7c - 18c4c: 2000 movs r0, #0 - 18c4e: 4b44 ldr r3, [pc, #272] ; (18d60 ) - 18c50: 4798 blx r3 - 18c52: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c56: 0040 lsls r0, r0, #1 - 18c58: 3050 adds r0, #80 ; 0x50 - 18c5a: 4b42 ldr r3, [pc, #264] ; (18d64 ) - 18c5c: fb83 2300 smull r2, r3, r3, r0 - 18c60: 17c2 asrs r2, r0, #31 - 18c62: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18c66: b212 sxth r2, r2 - 18c68: f7fe bf88 b.w 17b7c + 18c22: 4b4a ldr r3, [pc, #296] ; (18d4c ) + 18c24: fb83 2300 smull r2, r3, r3, r0 + 18c28: 17c2 asrs r2, r0, #31 + 18c2a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18c2e: b212 sxth r2, r2 + 18c30: f7fe bf98 b.w 17b64 + 18c34: 2000 movs r0, #0 + 18c36: 4b44 ldr r3, [pc, #272] ; (18d48 ) + 18c38: 4798 blx r3 + 18c3a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c3e: 0040 lsls r0, r0, #1 + 18c40: 3050 adds r0, #80 ; 0x50 + 18c42: 4b42 ldr r3, [pc, #264] ; (18d4c ) + 18c44: fb83 2300 smull r2, r3, r3, r0 + 18c48: 17c2 asrs r2, r0, #31 + 18c4a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18c4e: b212 sxth r2, r2 + 18c50: f7fe bf88 b.w 17b64 lv_style_set_transform_width(&styles->list_btn, LV_STATE_DEFAULT, - PAD_DEF); - 18c6c: 2000 movs r0, #0 - 18c6e: 4b3c ldr r3, [pc, #240] ; (18d60 ) - 18c70: 4798 blx r3 - 18c72: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c76: 3050 adds r0, #80 ; 0x50 - 18c78: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18c7c: da03 bge.n 18c86 - 18c7e: f04f 32ff mov.w r2, #4294967295 - 18c82: f7fe bf95 b.w 17bb0 - 18c86: 2000 movs r0, #0 - 18c88: 4b35 ldr r3, [pc, #212] ; (18d60 ) - 18c8a: 4798 blx r3 - 18c8c: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18c90: 3050 adds r0, #80 ; 0x50 - 18c92: 4b34 ldr r3, [pc, #208] ; (18d64 ) - 18c94: fb83 2300 smull r2, r3, r3, r0 - 18c98: 17c2 asrs r2, r0, #31 - 18c9a: eba2 12a3 sub.w r2, r2, r3, asr #6 - 18c9e: b212 sxth r2, r2 - 18ca0: f7fe bf86 b.w 17bb0 - 18ca4: 2000 movs r0, #0 - 18ca6: 4b2e ldr r3, [pc, #184] ; (18d60 ) - 18ca8: 4798 blx r3 - 18caa: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18cae: 0040 lsls r0, r0, #1 - 18cb0: 3050 adds r0, #80 ; 0x50 - 18cb2: 4b2c ldr r3, [pc, #176] ; (18d64 ) - 18cb4: fb83 2300 smull r2, r3, r3, r0 - 18cb8: 17c2 asrs r2, r0, #31 - 18cba: eba2 12a3 sub.w r2, r2, r3, asr #6 - 18cbe: b212 sxth r2, r2 - 18cc0: f7fe bf76 b.w 17bb0 + 18c54: 2000 movs r0, #0 + 18c56: 4b3c ldr r3, [pc, #240] ; (18d48 ) + 18c58: 4798 blx r3 + 18c5a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c5e: 3050 adds r0, #80 ; 0x50 + 18c60: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18c64: da03 bge.n 18c6e + 18c66: f04f 32ff mov.w r2, #4294967295 + 18c6a: f7fe bf95 b.w 17b98 + 18c6e: 2000 movs r0, #0 + 18c70: 4b35 ldr r3, [pc, #212] ; (18d48 ) + 18c72: 4798 blx r3 + 18c74: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c78: 3050 adds r0, #80 ; 0x50 + 18c7a: 4b34 ldr r3, [pc, #208] ; (18d4c ) + 18c7c: fb83 2300 smull r2, r3, r3, r0 + 18c80: 17c2 asrs r2, r0, #31 + 18c82: eba2 12a3 sub.w r2, r2, r3, asr #6 + 18c86: b212 sxth r2, r2 + 18c88: f7fe bf86 b.w 17b98 + 18c8c: 2000 movs r0, #0 + 18c8e: 4b2e ldr r3, [pc, #184] ; (18d48 ) + 18c90: 4798 blx r3 + 18c92: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18c96: 0040 lsls r0, r0, #1 + 18c98: 3050 adds r0, #80 ; 0x50 + 18c9a: 4b2c ldr r3, [pc, #176] ; (18d4c ) + 18c9c: fb83 2300 smull r2, r3, r3, r0 + 18ca0: 17c2 asrs r2, r0, #31 + 18ca2: eba2 12a3 sub.w r2, r2, r3, asr #6 + 18ca6: b212 sxth r2, r2 + 18ca8: f7fe bf76 b.w 17b98 lv_style_set_text_line_space(&styles->ddlist_page, LV_STATE_DEFAULT, LV_DPX(20)); - 18cc4: 2000 movs r0, #0 - 18cc6: 4b26 ldr r3, [pc, #152] ; (18d60 ) - 18cc8: 4798 blx r3 - 18cca: eb00 0080 add.w r0, r0, r0, lsl #2 - 18cce: 0080 lsls r0, r0, #2 - 18cd0: 3050 adds r0, #80 ; 0x50 - 18cd2: 4b24 ldr r3, [pc, #144] ; (18d64 ) - 18cd4: fb83 2300 smull r2, r3, r3, r0 - 18cd8: 17c2 asrs r2, r0, #31 - 18cda: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18cde: b212 sxth r2, r2 - 18ce0: f7fe bf9e b.w 17c20 + 18cac: 2000 movs r0, #0 + 18cae: 4b26 ldr r3, [pc, #152] ; (18d48 ) + 18cb0: 4798 blx r3 + 18cb2: eb00 0080 add.w r0, r0, r0, lsl #2 + 18cb6: 0080 lsls r0, r0, #2 + 18cb8: 3050 adds r0, #80 ; 0x50 + 18cba: 4b24 ldr r3, [pc, #144] ; (18d4c ) + 18cbc: fb83 2300 smull r2, r3, r3, r0 + 18cc0: 17c2 asrs r2, r0, #31 + 18cc2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18cc6: b212 sxth r2, r2 + 18cc8: f7fe bf9e b.w 17c08 lv_style_set_bg_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_PR); - 18ce4: 231d movs r3, #29 - 18ce6: 213b movs r1, #59 ; 0x3b - 18ce8: 461c mov r4, r3 - 18cea: f7fe bfc5 b.w 17c78 + 18ccc: 231d movs r3, #29 + 18cce: 213b movs r1, #59 ; 0x3b + 18cd0: 461c mov r4, r3 + 18cd2: f7fe bfc5 b.w 17c60 lv_style_set_text_color(&styles->ddlist_sel, LV_STATE_PRESSED, COLOR_BG_TEXT_PR); - 18cee: 2307 movs r3, #7 - 18cf0: 210f movs r1, #15 - 18cf2: 2408 movs r4, #8 - 18cf4: f7fe bfd7 b.w 17ca6 + 18cd6: 2307 movs r3, #7 + 18cd8: 210f movs r1, #15 + 18cda: 2408 movs r4, #8 + 18cdc: f7fe bfd7 b.w 17c8e lv_style_set_text_line_space(&styles->roller_bg, LV_STATE_DEFAULT, LV_DPX(25)); - 18cf8: 2000 movs r0, #0 - 18cfa: 4b19 ldr r3, [pc, #100] ; (18d60 ) - 18cfc: 4798 blx r3 - 18cfe: eb00 0080 add.w r0, r0, r0, lsl #2 - 18d02: eb00 0080 add.w r0, r0, r0, lsl #2 - 18d06: 3050 adds r0, #80 ; 0x50 - 18d08: 4b16 ldr r3, [pc, #88] ; (18d64 ) - 18d0a: fb83 2300 smull r2, r3, r3, r0 - 18d0e: 17c2 asrs r2, r0, #31 - 18d10: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d14: b212 sxth r2, r2 - 18d16: f7fe bfe6 b.w 17ce6 + 18ce0: 2000 movs r0, #0 + 18ce2: 4b19 ldr r3, [pc, #100] ; (18d48 ) + 18ce4: 4798 blx r3 + 18ce6: eb00 0080 add.w r0, r0, r0, lsl #2 + 18cea: eb00 0080 add.w r0, r0, r0, lsl #2 + 18cee: 3050 adds r0, #80 ; 0x50 + 18cf0: 4b16 ldr r3, [pc, #88] ; (18d4c ) + 18cf2: fb83 2300 smull r2, r3, r3, r0 + 18cf6: 17c2 asrs r2, r0, #31 + 18cf8: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18cfc: b212 sxth r2, r2 + 18cfe: f7fe bfe6 b.w 17cce lv_style_set_bg_color(&styles->tabview_btns_bg, LV_STATE_DEFAULT, COLOR_BG); - 18d1a: 231f movs r3, #31 - 18d1c: 213f movs r1, #63 ; 0x3f - 18d1e: 461c mov r4, r3 - 18d20: f7ff b810 b.w 17d44 + 18d02: 231f movs r3, #31 + 18d04: 213f movs r1, #63 ; 0x3f + 18d06: 461c mov r4, r3 + 18d08: f7ff b810 b.w 17d2c lv_style_set_border_width(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(5)); - 18d24: 2000 movs r0, #0 - 18d26: 4b0e ldr r3, [pc, #56] ; (18d60 ) - 18d28: 4798 blx r3 - 18d2a: eb00 0080 add.w r0, r0, r0, lsl #2 - 18d2e: 3050 adds r0, #80 ; 0x50 - 18d30: 4b0c ldr r3, [pc, #48] ; (18d64 ) - 18d32: fb83 2300 smull r2, r3, r3, r0 - 18d36: 17c2 asrs r2, r0, #31 - 18d38: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d3c: b212 sxth r2, r2 - 18d3e: f7ff b845 b.w 17dcc + 18d0c: 2000 movs r0, #0 + 18d0e: 4b0e ldr r3, [pc, #56] ; (18d48 ) + 18d10: 4798 blx r3 + 18d12: eb00 0080 add.w r0, r0, r0, lsl #2 + 18d16: 3050 adds r0, #80 ; 0x50 + 18d18: 4b0c ldr r3, [pc, #48] ; (18d4c ) + 18d1a: fb83 2300 smull r2, r3, r3, r0 + 18d1e: 17c2 asrs r2, r0, #31 + 18d20: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d24: b212 sxth r2, r2 + 18d26: f7ff b845 b.w 17db4 lv_style_set_pad_top(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 18d42: 2000 movs r0, #0 - 18d44: 4b06 ldr r3, [pc, #24] ; (18d60 ) - 18d46: 4798 blx r3 - 18d48: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18d4c: 3050 adds r0, #80 ; 0x50 - 18d4e: 4b05 ldr r3, [pc, #20] ; (18d64 ) - 18d50: fb83 2300 smull r2, r3, r3, r0 - 18d54: 17c2 asrs r2, r0, #31 - 18d56: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d5a: b212 sxth r2, r2 - 18d5c: f7ff b87f b.w 17e5e - 18d60: 00010f3d .word 0x00010f3d - 18d64: 66666667 .word 0x66666667 + 18d2a: 2000 movs r0, #0 + 18d2c: 4b06 ldr r3, [pc, #24] ; (18d48 ) + 18d2e: 4798 blx r3 + 18d30: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 18d34: 3050 adds r0, #80 ; 0x50 + 18d36: 4b05 ldr r3, [pc, #20] ; (18d4c ) + 18d38: fb83 2300 smull r2, r3, r3, r0 + 18d3c: 17c2 asrs r2, r0, #31 + 18d3e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d42: b212 sxth r2, r2 + 18d44: f7ff b87f b.w 17e46 + 18d48: 00010f25 .word 0x00010f25 + 18d4c: 66666667 .word 0x66666667 lv_style_set_pad_left(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 18d68: 2000 movs r0, #0 - 18d6a: 4bca ldr r3, [pc, #808] ; (19094 ) - 18d6c: 4798 blx r3 - 18d6e: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18d72: 3050 adds r0, #80 ; 0x50 - 18d74: 4bc8 ldr r3, [pc, #800] ; (19098 ) - 18d76: fb83 2300 smull r2, r3, r3, r0 - 18d7a: 17c2 asrs r2, r0, #31 - 18d7c: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d80: b212 sxth r2, r2 - 18d82: f7ff b87e b.w 17e82 + 18d50: 2000 movs r0, #0 + 18d52: 4bca ldr r3, [pc, #808] ; (1907c ) + 18d54: 4798 blx r3 + 18d56: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 18d5a: 3050 adds r0, #80 ; 0x50 + 18d5c: 4bc8 ldr r3, [pc, #800] ; (19080 ) + 18d5e: fb83 2300 smull r2, r3, r3, r0 + 18d62: 17c2 asrs r2, r0, #31 + 18d64: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d68: b212 sxth r2, r2 + 18d6a: f7ff b87e b.w 17e6a lv_style_set_pad_right(&styles->tabview_btns_bg, LV_STATE_DEFAULT, LV_DPX(7)); - 18d86: 2000 movs r0, #0 - 18d88: 4bc2 ldr r3, [pc, #776] ; (19094 ) - 18d8a: 4798 blx r3 - 18d8c: ebc0 00c0 rsb r0, r0, r0, lsl #3 - 18d90: 3050 adds r0, #80 ; 0x50 - 18d92: 4bc1 ldr r3, [pc, #772] ; (19098 ) - 18d94: fb83 2300 smull r2, r3, r3, r0 - 18d98: 17c2 asrs r2, r0, #31 - 18d9a: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18d9e: b212 sxth r2, r2 - 18da0: f7ff b881 b.w 17ea6 + 18d6e: 2000 movs r0, #0 + 18d70: 4bc2 ldr r3, [pc, #776] ; (1907c ) + 18d72: 4798 blx r3 + 18d74: ebc0 00c0 rsb r0, r0, r0, lsl #3 + 18d78: 3050 adds r0, #80 ; 0x50 + 18d7a: 4bc1 ldr r3, [pc, #772] ; (19080 ) + 18d7c: fb83 2300 smull r2, r3, r3, r0 + 18d80: 17c2 asrs r2, r0, #31 + 18d82: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18d86: b212 sxth r2, r2 + 18d88: f7ff b881 b.w 17e8e lv_style_set_pad_top(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 18da4: 2000 movs r0, #0 - 18da6: 4bbb ldr r3, [pc, #748] ; (19094 ) - 18da8: 4798 blx r3 - 18daa: eb00 0080 add.w r0, r0, r0, lsl #2 - 18dae: 0080 lsls r0, r0, #2 - 18db0: 3050 adds r0, #80 ; 0x50 - 18db2: 4bb9 ldr r3, [pc, #740] ; (19098 ) - 18db4: fb83 2300 smull r2, r3, r3, r0 - 18db8: 17c2 asrs r2, r0, #31 - 18dba: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18dbe: b212 sxth r2, r2 - 18dc0: f7ff b8ba b.w 17f38 + 18d8c: 2000 movs r0, #0 + 18d8e: 4bbb ldr r3, [pc, #748] ; (1907c ) + 18d90: 4798 blx r3 + 18d92: eb00 0080 add.w r0, r0, r0, lsl #2 + 18d96: 0080 lsls r0, r0, #2 + 18d98: 3050 adds r0, #80 ; 0x50 + 18d9a: 4bb9 ldr r3, [pc, #740] ; (19080 ) + 18d9c: fb83 2300 smull r2, r3, r3, r0 + 18da0: 17c2 asrs r2, r0, #31 + 18da2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18da6: b212 sxth r2, r2 + 18da8: f7ff b8ba b.w 17f20 lv_style_set_pad_bottom(&styles->tabview_btns, LV_STATE_DEFAULT, LV_DPX(20)); - 18dc4: 2000 movs r0, #0 - 18dc6: 4bb3 ldr r3, [pc, #716] ; (19094 ) - 18dc8: 4798 blx r3 - 18dca: eb00 0080 add.w r0, r0, r0, lsl #2 - 18dce: 0080 lsls r0, r0, #2 - 18dd0: 3050 adds r0, #80 ; 0x50 - 18dd2: 4bb1 ldr r3, [pc, #708] ; (19098 ) - 18dd4: fb83 2300 smull r2, r3, r3, r0 - 18dd8: 17c2 asrs r2, r0, #31 - 18dda: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18dde: b212 sxth r2, r2 - 18de0: f7ff b8bd b.w 17f5e + 18dac: 2000 movs r0, #0 + 18dae: 4bb3 ldr r3, [pc, #716] ; (1907c ) + 18db0: 4798 blx r3 + 18db2: eb00 0080 add.w r0, r0, r0, lsl #2 + 18db6: 0080 lsls r0, r0, #2 + 18db8: 3050 adds r0, #80 ; 0x50 + 18dba: 4bb1 ldr r3, [pc, #708] ; (19080 ) + 18dbc: fb83 2300 smull r2, r3, r3, r0 + 18dc0: 17c2 asrs r2, r0, #31 + 18dc2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18dc6: b212 sxth r2, r2 + 18dc8: f7ff b8bd b.w 17f46 lv_style_set_size(&styles->tabview_indic, LV_STATE_DEFAULT, LV_DPX(5)); - 18de4: 2000 movs r0, #0 - 18de6: 4bab ldr r3, [pc, #684] ; (19094 ) - 18de8: 4798 blx r3 - 18dea: eb00 0080 add.w r0, r0, r0, lsl #2 - 18dee: 3050 adds r0, #80 ; 0x50 - 18df0: 4ba9 ldr r3, [pc, #676] ; (19098 ) - 18df2: fb83 2300 smull r2, r3, r3, r0 - 18df6: 17c2 asrs r2, r0, #31 - 18df8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18dfc: b212 sxth r2, r2 - 18dfe: f7ff b8e2 b.w 17fc6 + 18dcc: 2000 movs r0, #0 + 18dce: 4bab ldr r3, [pc, #684] ; (1907c ) + 18dd0: 4798 blx r3 + 18dd2: eb00 0080 add.w r0, r0, r0, lsl #2 + 18dd6: 3050 adds r0, #80 ; 0x50 + 18dd8: 4ba9 ldr r3, [pc, #676] ; (19080 ) + 18dda: fb83 2300 smull r2, r3, r3, r0 + 18dde: 17c2 asrs r2, r0, #31 + 18de0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18de4: b212 sxth r2, r2 + 18de6: f7ff b8e2 b.w 17fae lv_style_set_pad_top(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18dea: 2000 movs r0, #0 + 18dec: 4ba3 ldr r3, [pc, #652] ; (1907c ) + 18dee: 4798 blx r3 + 18df0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18df4: 3050 adds r0, #80 ; 0x50 + 18df6: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18dfa: da02 bge.n 18e02 + 18dfc: 2201 movs r2, #1 + 18dfe: f7ff b8f9 b.w 17ff4 18e02: 2000 movs r0, #0 - 18e04: 4ba3 ldr r3, [pc, #652] ; (19094 ) + 18e04: 4b9d ldr r3, [pc, #628] ; (1907c ) 18e06: 4798 blx r3 18e08: ebc0 1000 rsb r0, r0, r0, lsl #4 18e0c: 3050 adds r0, #80 ; 0x50 - 18e0e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18e12: da02 bge.n 18e1a - 18e14: 2201 movs r2, #1 - 18e16: f7ff b8f9 b.w 1800c - 18e1a: 2000 movs r0, #0 - 18e1c: 4b9d ldr r3, [pc, #628] ; (19094 ) - 18e1e: 4798 blx r3 - 18e20: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18e24: 3050 adds r0, #80 ; 0x50 - 18e26: 4b9c ldr r3, [pc, #624] ; (19098 ) - 18e28: fb83 2300 smull r2, r3, r3, r0 - 18e2c: 17c2 asrs r2, r0, #31 - 18e2e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e32: b212 sxth r2, r2 - 18e34: f7ff b8ea b.w 1800c - 18e38: 2000 movs r0, #0 - 18e3a: 4b96 ldr r3, [pc, #600] ; (19094 ) - 18e3c: 4798 blx r3 - 18e3e: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18e42: 0040 lsls r0, r0, #1 - 18e44: 3050 adds r0, #80 ; 0x50 - 18e46: 4b94 ldr r3, [pc, #592] ; (19098 ) - 18e48: fb83 2300 smull r2, r3, r3, r0 - 18e4c: 17c2 asrs r2, r0, #31 - 18e4e: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e52: b212 sxth r2, r2 - 18e54: f7ff b8da b.w 1800c + 18e0e: 4b9c ldr r3, [pc, #624] ; (19080 ) + 18e10: fb83 2300 smull r2, r3, r3, r0 + 18e14: 17c2 asrs r2, r0, #31 + 18e16: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e1a: b212 sxth r2, r2 + 18e1c: f7ff b8ea b.w 17ff4 + 18e20: 2000 movs r0, #0 + 18e22: 4b96 ldr r3, [pc, #600] ; (1907c ) + 18e24: 4798 blx r3 + 18e26: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e2a: 0040 lsls r0, r0, #1 + 18e2c: 3050 adds r0, #80 ; 0x50 + 18e2e: 4b94 ldr r3, [pc, #592] ; (19080 ) + 18e30: fb83 2300 smull r2, r3, r3, r0 + 18e34: 17c2 asrs r2, r0, #31 + 18e36: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e3a: b212 sxth r2, r2 + 18e3c: f7ff b8da b.w 17ff4 lv_style_set_pad_bottom(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18e40: 2000 movs r0, #0 + 18e42: 4b8e ldr r3, [pc, #568] ; (1907c ) + 18e44: 4798 blx r3 + 18e46: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e4a: 3050 adds r0, #80 ; 0x50 + 18e4c: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18e50: da02 bge.n 18e58 + 18e52: 2201 movs r2, #1 + 18e54: f7ff b8e7 b.w 18026 18e58: 2000 movs r0, #0 - 18e5a: 4b8e ldr r3, [pc, #568] ; (19094 ) + 18e5a: 4b88 ldr r3, [pc, #544] ; (1907c ) 18e5c: 4798 blx r3 18e5e: ebc0 1000 rsb r0, r0, r0, lsl #4 18e62: 3050 adds r0, #80 ; 0x50 - 18e64: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18e68: da02 bge.n 18e70 - 18e6a: 2201 movs r2, #1 - 18e6c: f7ff b8e7 b.w 1803e - 18e70: 2000 movs r0, #0 - 18e72: 4b88 ldr r3, [pc, #544] ; (19094 ) - 18e74: 4798 blx r3 - 18e76: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18e7a: 3050 adds r0, #80 ; 0x50 - 18e7c: 4b86 ldr r3, [pc, #536] ; (19098 ) - 18e7e: fb83 2300 smull r2, r3, r3, r0 - 18e82: 17c2 asrs r2, r0, #31 - 18e84: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18e88: b212 sxth r2, r2 - 18e8a: f7ff b8d8 b.w 1803e - 18e8e: 2000 movs r0, #0 - 18e90: 4b80 ldr r3, [pc, #512] ; (19094 ) - 18e92: 4798 blx r3 - 18e94: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18e98: 0040 lsls r0, r0, #1 - 18e9a: 3050 adds r0, #80 ; 0x50 - 18e9c: 4b7e ldr r3, [pc, #504] ; (19098 ) - 18e9e: fb83 2300 smull r2, r3, r3, r0 - 18ea2: 17c2 asrs r2, r0, #31 - 18ea4: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18ea8: b212 sxth r2, r2 - 18eaa: f7ff b8c8 b.w 1803e + 18e64: 4b86 ldr r3, [pc, #536] ; (19080 ) + 18e66: fb83 2300 smull r2, r3, r3, r0 + 18e6a: 17c2 asrs r2, r0, #31 + 18e6c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e70: b212 sxth r2, r2 + 18e72: f7ff b8d8 b.w 18026 + 18e76: 2000 movs r0, #0 + 18e78: 4b80 ldr r3, [pc, #512] ; (1907c ) + 18e7a: 4798 blx r3 + 18e7c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18e80: 0040 lsls r0, r0, #1 + 18e82: 3050 adds r0, #80 ; 0x50 + 18e84: 4b7e ldr r3, [pc, #504] ; (19080 ) + 18e86: fb83 2300 smull r2, r3, r3, r0 + 18e8a: 17c2 asrs r2, r0, #31 + 18e8c: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18e90: b212 sxth r2, r2 + 18e92: f7ff b8c8 b.w 18026 lv_style_set_pad_left(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18e96: 2000 movs r0, #0 + 18e98: 4b78 ldr r3, [pc, #480] ; (1907c ) + 18e9a: 4798 blx r3 + 18e9c: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ea0: 3050 adds r0, #80 ; 0x50 + 18ea2: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18ea6: da02 bge.n 18eae + 18ea8: 2201 movs r2, #1 + 18eaa: f7ff b8d5 b.w 18058 18eae: 2000 movs r0, #0 - 18eb0: 4b78 ldr r3, [pc, #480] ; (19094 ) + 18eb0: 4b72 ldr r3, [pc, #456] ; (1907c ) 18eb2: 4798 blx r3 18eb4: ebc0 1000 rsb r0, r0, r0, lsl #4 18eb8: 3050 adds r0, #80 ; 0x50 - 18eba: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18ebe: da02 bge.n 18ec6 - 18ec0: 2201 movs r2, #1 - 18ec2: f7ff b8d5 b.w 18070 - 18ec6: 2000 movs r0, #0 - 18ec8: 4b72 ldr r3, [pc, #456] ; (19094 ) - 18eca: 4798 blx r3 - 18ecc: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18ed0: 3050 adds r0, #80 ; 0x50 - 18ed2: 4b71 ldr r3, [pc, #452] ; (19098 ) - 18ed4: fb83 2300 smull r2, r3, r3, r0 - 18ed8: 17c2 asrs r2, r0, #31 - 18eda: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18ede: b212 sxth r2, r2 - 18ee0: f7ff b8c6 b.w 18070 - 18ee4: 2000 movs r0, #0 - 18ee6: 4b6b ldr r3, [pc, #428] ; (19094 ) - 18ee8: 4798 blx r3 - 18eea: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18eee: 0040 lsls r0, r0, #1 - 18ef0: 3050 adds r0, #80 ; 0x50 - 18ef2: 4b69 ldr r3, [pc, #420] ; (19098 ) - 18ef4: fb83 2300 smull r2, r3, r3, r0 - 18ef8: 17c2 asrs r2, r0, #31 - 18efa: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18efe: b212 sxth r2, r2 - 18f00: f7ff b8b6 b.w 18070 + 18eba: 4b71 ldr r3, [pc, #452] ; (19080 ) + 18ebc: fb83 2300 smull r2, r3, r3, r0 + 18ec0: 17c2 asrs r2, r0, #31 + 18ec2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18ec6: b212 sxth r2, r2 + 18ec8: f7ff b8c6 b.w 18058 + 18ecc: 2000 movs r0, #0 + 18ece: 4b6b ldr r3, [pc, #428] ; (1907c ) + 18ed0: 4798 blx r3 + 18ed2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ed6: 0040 lsls r0, r0, #1 + 18ed8: 3050 adds r0, #80 ; 0x50 + 18eda: 4b69 ldr r3, [pc, #420] ; (19080 ) + 18edc: fb83 2300 smull r2, r3, r3, r0 + 18ee0: 17c2 asrs r2, r0, #31 + 18ee2: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18ee6: b212 sxth r2, r2 + 18ee8: f7ff b8b6 b.w 18058 lv_style_set_pad_right(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18eec: 2000 movs r0, #0 + 18eee: 4b63 ldr r3, [pc, #396] ; (1907c ) + 18ef0: 4798 blx r3 + 18ef2: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ef6: 3050 adds r0, #80 ; 0x50 + 18ef8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18efc: da02 bge.n 18f04 + 18efe: 2201 movs r2, #1 + 18f00: f7ff b8d4 b.w 180ac 18f04: 2000 movs r0, #0 - 18f06: 4b63 ldr r3, [pc, #396] ; (19094 ) + 18f06: 4b5d ldr r3, [pc, #372] ; (1907c ) 18f08: 4798 blx r3 18f0a: ebc0 1000 rsb r0, r0, r0, lsl #4 18f0e: 3050 adds r0, #80 ; 0x50 - 18f10: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18f14: da02 bge.n 18f1c - 18f16: 2201 movs r2, #1 - 18f18: f7ff b8d4 b.w 180c4 - 18f1c: 2000 movs r0, #0 - 18f1e: 4b5d ldr r3, [pc, #372] ; (19094 ) - 18f20: 4798 blx r3 - 18f22: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18f26: 3050 adds r0, #80 ; 0x50 - 18f28: 4b5b ldr r3, [pc, #364] ; (19098 ) - 18f2a: fb83 2300 smull r2, r3, r3, r0 - 18f2e: 17c2 asrs r2, r0, #31 - 18f30: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f34: b212 sxth r2, r2 - 18f36: f7ff b8c5 b.w 180c4 - 18f3a: 2000 movs r0, #0 - 18f3c: 4b55 ldr r3, [pc, #340] ; (19094 ) - 18f3e: 4798 blx r3 - 18f40: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18f44: 0040 lsls r0, r0, #1 - 18f46: 3050 adds r0, #80 ; 0x50 - 18f48: 4b53 ldr r3, [pc, #332] ; (19098 ) - 18f4a: fb83 2300 smull r2, r3, r3, r0 - 18f4e: 17c2 asrs r2, r0, #31 - 18f50: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f54: b212 sxth r2, r2 - 18f56: f7ff b8b5 b.w 180c4 + 18f10: 4b5b ldr r3, [pc, #364] ; (19080 ) + 18f12: fb83 2300 smull r2, r3, r3, r0 + 18f16: 17c2 asrs r2, r0, #31 + 18f18: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f1c: b212 sxth r2, r2 + 18f1e: f7ff b8c5 b.w 180ac + 18f22: 2000 movs r0, #0 + 18f24: 4b55 ldr r3, [pc, #340] ; (1907c ) + 18f26: 4798 blx r3 + 18f28: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f2c: 0040 lsls r0, r0, #1 + 18f2e: 3050 adds r0, #80 ; 0x50 + 18f30: 4b53 ldr r3, [pc, #332] ; (19080 ) + 18f32: fb83 2300 smull r2, r3, r3, r0 + 18f36: 17c2 asrs r2, r0, #31 + 18f38: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f3c: b212 sxth r2, r2 + 18f3e: f7ff b8b5 b.w 180ac lv_style_set_pad_inner(&styles->tabview_page_scrl, LV_STATE_DEFAULT, PAD_DEF); + 18f42: 2000 movs r0, #0 + 18f44: 4b4d ldr r3, [pc, #308] ; (1907c ) + 18f46: 4798 blx r3 + 18f48: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f4c: 3050 adds r0, #80 ; 0x50 + 18f4e: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18f52: da02 bge.n 18f5a + 18f54: 2201 movs r2, #1 + 18f56: f7ff b8c2 b.w 180de 18f5a: 2000 movs r0, #0 - 18f5c: 4b4d ldr r3, [pc, #308] ; (19094 ) + 18f5c: 4b47 ldr r3, [pc, #284] ; (1907c ) 18f5e: 4798 blx r3 18f60: ebc0 1000 rsb r0, r0, r0, lsl #4 18f64: 3050 adds r0, #80 ; 0x50 - 18f66: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18f6a: da02 bge.n 18f72 - 18f6c: 2201 movs r2, #1 - 18f6e: f7ff b8c2 b.w 180f6 - 18f72: 2000 movs r0, #0 - 18f74: 4b47 ldr r3, [pc, #284] ; (19094 ) - 18f76: 4798 blx r3 - 18f78: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18f7c: 3050 adds r0, #80 ; 0x50 - 18f7e: 4b46 ldr r3, [pc, #280] ; (19098 ) - 18f80: fb83 2300 smull r2, r3, r3, r0 - 18f84: 17c2 asrs r2, r0, #31 - 18f86: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18f8a: b212 sxth r2, r2 - 18f8c: f7ff b8b3 b.w 180f6 - 18f90: 2000 movs r0, #0 - 18f92: 4b40 ldr r3, [pc, #256] ; (19094 ) - 18f94: 4798 blx r3 - 18f96: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18f9a: 0040 lsls r0, r0, #1 - 18f9c: 3050 adds r0, #80 ; 0x50 - 18f9e: 4b3e ldr r3, [pc, #248] ; (19098 ) - 18fa0: fb83 2300 smull r2, r3, r3, r0 - 18fa4: 17c2 asrs r2, r0, #31 - 18fa6: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18faa: b212 sxth r2, r2 - 18fac: f7ff b8a3 b.w 180f6 + 18f66: 4b46 ldr r3, [pc, #280] ; (19080 ) + 18f68: fb83 2300 smull r2, r3, r3, r0 + 18f6c: 17c2 asrs r2, r0, #31 + 18f6e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f72: b212 sxth r2, r2 + 18f74: f7ff b8b3 b.w 180de + 18f78: 2000 movs r0, #0 + 18f7a: 4b40 ldr r3, [pc, #256] ; (1907c ) + 18f7c: 4798 blx r3 + 18f7e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18f82: 0040 lsls r0, r0, #1 + 18f84: 3050 adds r0, #80 ; 0x50 + 18f86: 4b3e ldr r3, [pc, #248] ; (19080 ) + 18f88: fb83 2300 smull r2, r3, r3, r0 + 18f8c: 17c2 asrs r2, r0, #31 + 18f8e: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18f92: b212 sxth r2, r2 + 18f94: f7ff b8a3 b.w 180de lv_style_set_pad_left(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 18f98: 2000 movs r0, #0 + 18f9a: 4b38 ldr r3, [pc, #224] ; (1907c ) + 18f9c: 4798 blx r3 + 18f9e: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18fa2: 3050 adds r0, #80 ; 0x50 + 18fa4: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18fa8: da02 bge.n 18fb0 + 18faa: 2201 movs r2, #1 + 18fac: f7ff b8d9 b.w 18162 18fb0: 2000 movs r0, #0 - 18fb2: 4b38 ldr r3, [pc, #224] ; (19094 ) + 18fb2: 4b32 ldr r3, [pc, #200] ; (1907c ) 18fb4: 4798 blx r3 18fb6: ebc0 1000 rsb r0, r0, r0, lsl #4 18fba: 3050 adds r0, #80 ; 0x50 - 18fbc: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 18fc0: da02 bge.n 18fc8 - 18fc2: 2201 movs r2, #1 - 18fc4: f7ff b8d9 b.w 1817a - 18fc8: 2000 movs r0, #0 - 18fca: 4b32 ldr r3, [pc, #200] ; (19094 ) - 18fcc: 4798 blx r3 - 18fce: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18fd2: 3050 adds r0, #80 ; 0x50 - 18fd4: 4b30 ldr r3, [pc, #192] ; (19098 ) - 18fd6: fb83 2300 smull r2, r3, r3, r0 - 18fda: 17c2 asrs r2, r0, #31 - 18fdc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 18fe0: b212 sxth r2, r2 - 18fe2: f7ff b8ca b.w 1817a - 18fe6: 2000 movs r0, #0 - 18fe8: 4b2a ldr r3, [pc, #168] ; (19094 ) - 18fea: 4798 blx r3 - 18fec: ebc0 1000 rsb r0, r0, r0, lsl #4 - 18ff0: 0040 lsls r0, r0, #1 - 18ff2: 3050 adds r0, #80 ; 0x50 - 18ff4: 4b28 ldr r3, [pc, #160] ; (19098 ) - 18ff6: fb83 2300 smull r2, r3, r3, r0 - 18ffa: 17c2 asrs r2, r0, #31 - 18ffc: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19000: b212 sxth r2, r2 - 19002: f7ff b8ba b.w 1817a + 18fbc: 4b30 ldr r3, [pc, #192] ; (19080 ) + 18fbe: fb83 2300 smull r2, r3, r3, r0 + 18fc2: 17c2 asrs r2, r0, #31 + 18fc4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18fc8: b212 sxth r2, r2 + 18fca: f7ff b8ca b.w 18162 + 18fce: 2000 movs r0, #0 + 18fd0: 4b2a ldr r3, [pc, #168] ; (1907c ) + 18fd2: 4798 blx r3 + 18fd4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18fd8: 0040 lsls r0, r0, #1 + 18fda: 3050 adds r0, #80 ; 0x50 + 18fdc: 4b28 ldr r3, [pc, #160] ; (19080 ) + 18fde: fb83 2300 smull r2, r3, r3, r0 + 18fe2: 17c2 asrs r2, r0, #31 + 18fe4: ebc2 12a3 rsb r2, r2, r3, asr #6 + 18fe8: b212 sxth r2, r2 + 18fea: f7ff b8ba b.w 18162 lv_style_set_pad_right(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 18fee: 2000 movs r0, #0 + 18ff0: 4b22 ldr r3, [pc, #136] ; (1907c ) + 18ff2: 4798 blx r3 + 18ff4: ebc0 1000 rsb r0, r0, r0, lsl #4 + 18ff8: 3050 adds r0, #80 ; 0x50 + 18ffa: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 18ffe: da02 bge.n 19006 + 19000: 2201 movs r2, #1 + 19002: f7ff b8c7 b.w 18194 19006: 2000 movs r0, #0 - 19008: 4b22 ldr r3, [pc, #136] ; (19094 ) + 19008: 4b1c ldr r3, [pc, #112] ; (1907c ) 1900a: 4798 blx r3 1900c: ebc0 1000 rsb r0, r0, r0, lsl #4 19010: 3050 adds r0, #80 ; 0x50 - 19012: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 19016: da02 bge.n 1901e - 19018: 2201 movs r2, #1 - 1901a: f7ff b8c7 b.w 181ac - 1901e: 2000 movs r0, #0 - 19020: 4b1c ldr r3, [pc, #112] ; (19094 ) - 19022: 4798 blx r3 - 19024: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19028: 3050 adds r0, #80 ; 0x50 - 1902a: 4b1b ldr r3, [pc, #108] ; (19098 ) - 1902c: fb83 2300 smull r2, r3, r3, r0 - 19030: 17c2 asrs r2, r0, #31 - 19032: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19036: b212 sxth r2, r2 - 19038: f7ff b8b8 b.w 181ac - 1903c: 2000 movs r0, #0 - 1903e: 4b15 ldr r3, [pc, #84] ; (19094 ) - 19040: 4798 blx r3 - 19042: ebc0 1000 rsb r0, r0, r0, lsl #4 - 19046: 0040 lsls r0, r0, #1 - 19048: 3050 adds r0, #80 ; 0x50 - 1904a: 4b13 ldr r3, [pc, #76] ; (19098 ) - 1904c: fb83 2300 smull r2, r3, r3, r0 - 19050: 17c2 asrs r2, r0, #31 - 19052: ebc2 12a3 rsb r2, r2, r3, asr #6 - 19056: b212 sxth r2, r2 - 19058: f7ff b8a8 b.w 181ac + 19012: 4b1b ldr r3, [pc, #108] ; (19080 ) + 19014: fb83 2300 smull r2, r3, r3, r0 + 19018: 17c2 asrs r2, r0, #31 + 1901a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1901e: b212 sxth r2, r2 + 19020: f7ff b8b8 b.w 18194 + 19024: 2000 movs r0, #0 + 19026: 4b15 ldr r3, [pc, #84] ; (1907c ) + 19028: 4798 blx r3 + 1902a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1902e: 0040 lsls r0, r0, #1 + 19030: 3050 adds r0, #80 ; 0x50 + 19032: 4b13 ldr r3, [pc, #76] ; (19080 ) + 19034: fb83 2300 smull r2, r3, r3, r0 + 19038: 17c2 asrs r2, r0, #31 + 1903a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1903e: b212 sxth r2, r2 + 19040: f7ff b8a8 b.w 18194 lv_style_set_pad_top(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 19044: 2000 movs r0, #0 + 19046: 4b0d ldr r3, [pc, #52] ; (1907c ) + 19048: 4798 blx r3 + 1904a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1904e: 3050 adds r0, #80 ; 0x50 + 19050: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 19054: da02 bge.n 1905c + 19056: 2201 movs r2, #1 + 19058: f7ff b8b5 b.w 181c6 1905c: 2000 movs r0, #0 - 1905e: 4b0d ldr r3, [pc, #52] ; (19094 ) + 1905e: 4b07 ldr r3, [pc, #28] ; (1907c ) 19060: 4798 blx r3 19062: ebc0 1000 rsb r0, r0, r0, lsl #4 19066: 3050 adds r0, #80 ; 0x50 - 19068: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 1906c: da02 bge.n 19074 - 1906e: 2201 movs r2, #1 - 19070: f7ff b8b5 b.w 181de - 19074: 2000 movs r0, #0 - 19076: 4b07 ldr r3, [pc, #28] ; (19094 ) - 19078: 4798 blx r3 - 1907a: ebc0 1000 rsb r0, r0, r0, lsl #4 - 1907e: 3050 adds r0, #80 ; 0x50 - 19080: 4b05 ldr r3, [pc, #20] ; (19098 ) - 19082: fb83 2300 smull r2, r3, r3, r0 - 19086: 17c2 asrs r2, r0, #31 - 19088: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1908c: b212 sxth r2, r2 - 1908e: f7ff b8a6 b.w 181de - 19092: bf00 nop - 19094: 00010f3d .word 0x00010f3d - 19098: 66666667 .word 0x66666667 - 1909c: 2000 movs r0, #0 - 1909e: 4b1d ldr r3, [pc, #116] ; (19114 ) - 190a0: 4798 blx r3 - 190a2: ebc0 1000 rsb r0, r0, r0, lsl #4 - 190a6: 0040 lsls r0, r0, #1 - 190a8: 3050 adds r0, #80 ; 0x50 - 190aa: 4b1b ldr r3, [pc, #108] ; (19118 ) - 190ac: fb83 2300 smull r2, r3, r3, r0 - 190b0: 17c2 asrs r2, r0, #31 - 190b2: ebc2 12a3 rsb r2, r2, r3, asr #6 - 190b6: b212 sxth r2, r2 - 190b8: f7ff b891 b.w 181de + 19068: 4b05 ldr r3, [pc, #20] ; (19080 ) + 1906a: fb83 2300 smull r2, r3, r3, r0 + 1906e: 17c2 asrs r2, r0, #31 + 19070: ebc2 12a3 rsb r2, r2, r3, asr #6 + 19074: b212 sxth r2, r2 + 19076: f7ff b8a6 b.w 181c6 + 1907a: bf00 nop + 1907c: 00010f25 .word 0x00010f25 + 19080: 66666667 .word 0x66666667 + 19084: 2000 movs r0, #0 + 19086: 4b1d ldr r3, [pc, #116] ; (190fc ) + 19088: 4798 blx r3 + 1908a: ebc0 1000 rsb r0, r0, r0, lsl #4 + 1908e: 0040 lsls r0, r0, #1 + 19090: 3050 adds r0, #80 ; 0x50 + 19092: 4b1b ldr r3, [pc, #108] ; (19100 ) + 19094: fb83 2300 smull r2, r3, r3, r0 + 19098: 17c2 asrs r2, r0, #31 + 1909a: ebc2 12a3 rsb r2, r2, r3, asr #6 + 1909e: b212 sxth r2, r2 + 190a0: f7ff b891 b.w 181c6 lv_style_set_pad_bottom(&styles->table_cell, LV_STATE_DEFAULT, PAD_DEF); + 190a4: 2000 movs r0, #0 + 190a6: 4b15 ldr r3, [pc, #84] ; (190fc ) + 190a8: 4798 blx r3 + 190aa: ebc0 1000 rsb r0, r0, r0, lsl #4 + 190ae: 3050 adds r0, #80 ; 0x50 + 190b0: f5b0 7fa0 cmp.w r0, #320 ; 0x140 + 190b4: da02 bge.n 190bc + 190b6: 2201 movs r2, #1 + 190b8: f7ff b89e b.w 181f8 190bc: 2000 movs r0, #0 - 190be: 4b15 ldr r3, [pc, #84] ; (19114 ) + 190be: 4b0f ldr r3, [pc, #60] ; (190fc ) 190c0: 4798 blx r3 190c2: ebc0 1000 rsb r0, r0, r0, lsl #4 190c6: 3050 adds r0, #80 ; 0x50 - 190c8: f5b0 7fa0 cmp.w r0, #320 ; 0x140 - 190cc: da02 bge.n 190d4 - 190ce: 2201 movs r2, #1 - 190d0: f7ff b89e b.w 18210 - 190d4: 2000 movs r0, #0 - 190d6: 4b0f ldr r3, [pc, #60] ; (19114 ) - 190d8: 4798 blx r3 - 190da: ebc0 1000 rsb r0, r0, r0, lsl #4 - 190de: 3050 adds r0, #80 ; 0x50 - 190e0: 4b0d ldr r3, [pc, #52] ; (19118 ) - 190e2: fb83 2300 smull r2, r3, r3, r0 - 190e6: 17c2 asrs r2, r0, #31 - 190e8: ebc2 12a3 rsb r2, r2, r3, asr #6 - 190ec: b212 sxth r2, r2 - 190ee: f7ff b88f b.w 18210 - 190f2: 2000 movs r0, #0 - 190f4: 4b07 ldr r3, [pc, #28] ; (19114 ) - 190f6: 4798 blx r3 - 190f8: ebc0 1000 rsb r0, r0, r0, lsl #4 - 190fc: 0040 lsls r0, r0, #1 - 190fe: 3050 adds r0, #80 ; 0x50 - 19100: 4b05 ldr r3, [pc, #20] ; (19118 ) - 19102: fb83 2300 smull r2, r3, r3, r0 - 19106: 17c2 asrs r2, r0, #31 - 19108: ebc2 12a3 rsb r2, r2, r3, asr #6 - 1910c: b212 sxth r2, r2 - 1910e: f7ff b87f b.w 18210 - 19112: bf00 nop - 19114: 00010f3d .word 0x00010f3d - 19118: 66666667 .word 0x66666667 - -0001911c : + 190c8: 4b0d ldr r3, [pc, #52] ; (19100 ) + 190ca: fb83 2300 smull r2, r3, r3, r0 + 190ce: 17c2 asrs r2, r0, #31 + 190d0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 190d4: b212 sxth r2, r2 + 190d6: f7ff b88f b.w 181f8 + 190da: 2000 movs r0, #0 + 190dc: 4b07 ldr r3, [pc, #28] ; (190fc ) + 190de: 4798 blx r3 + 190e0: ebc0 1000 rsb r0, r0, r0, lsl #4 + 190e4: 0040 lsls r0, r0, #1 + 190e6: 3050 adds r0, #80 ; 0x50 + 190e8: 4b05 ldr r3, [pc, #20] ; (19100 ) + 190ea: fb83 2300 smull r2, r3, r3, r0 + 190ee: 17c2 asrs r2, r0, #31 + 190f0: ebc2 12a3 rsb r2, r2, r3, asr #6 + 190f4: b212 sxth r2, r2 + 190f6: f7ff b87f b.w 181f8 + 190fa: bf00 nop + 190fc: 00010f25 .word 0x00010f25 + 19100: 66666667 .word 0x66666667 + +00019104 : * LV_DESIGN_DRAW: draw the object (always return 'true') * LV_DESIGN_DRAW_POST: drawing after every children are drawn * @param return an element of `lv_design_res_t` */ static lv_design_res_t lv_img_design(lv_obj_t * img, const lv_area_t * clip_area, lv_design_mode_t mode) { - 1911c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 19120: b0a4 sub sp, #144 ; 0x90 - 19122: 4607 mov r7, r0 - 19124: 460e mov r6, r1 - 19126: 4614 mov r4, r2 + 19104: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 19108: b0a4 sub sp, #144 ; 0x90 + 1910a: 4607 mov r7, r0 + 1910c: 460e mov r6, r1 + 1910e: 4614 mov r4, r2 lv_img_ext_t * ext = lv_obj_get_ext_attr(img); - 19128: 4bb5 ldr r3, [pc, #724] ; (19400 ) - 1912a: 4798 blx r3 - 1912c: 4605 mov r5, r0 + 19110: 4bb5 ldr r3, [pc, #724] ; (193e8 ) + 19112: 4798 blx r3 + 19114: 4605 mov r5, r0 if(mode == LV_DESIGN_COVER_CHK) { - 1912e: 2c02 cmp r4, #2 - 19130: d00d beq.n 1914e + 19116: 2c02 cmp r4, #2 + 19118: d00d beq.n 19136 if(lv_obj_get_style_image_opa(img, LV_IMG_PART_MAIN) != LV_OPA_COVER) return LV_DESIGN_RES_NOT_COVER; return LV_DESIGN_RES_COVER; } else if(mode == LV_DESIGN_DRAW_MAIN) { - 19132: 2c00 cmp r4, #0 - 19134: f040 81fa bne.w 1952c + 1911a: 2c00 cmp r4, #0 + 1911c: f040 81fa bne.w 19514 if(ext->h == 0 || ext->w == 0) return true; - 19138: f9b0 300a ldrsh.w r3, [r0, #10] - 1913c: 2b00 cmp r3, #0 - 1913e: f000 81f3 beq.w 19528 - 19142: f9b0 3008 ldrsh.w r3, [r0, #8] - 19146: 2b00 cmp r3, #0 - 19148: d173 bne.n 19232 - 1914a: 2001 movs r0, #1 - 1914c: e1f1 b.n 19532 + 19120: f9b0 300a ldrsh.w r3, [r0, #10] + 19124: 2b00 cmp r3, #0 + 19126: f000 81f3 beq.w 19510 + 1912a: f9b0 3008 ldrsh.w r3, [r0, #8] + 1912e: 2b00 cmp r3, #0 + 19130: d173 bne.n 1921a + 19132: 2001 movs r0, #1 + 19134: e1f1 b.n 1951a _OBJ_GET_STYLE_##scalar(prop_name, func_name, value_type, style_type) \ _OBJ_SET_STYLE_LOCAL_##scalar(prop_name, func_name, value_type, style_type) \ _OBJ_SET_STYLE_##scalar(prop_name, func_name, value_type, style_type) _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 1914e: 2202 movs r2, #2 - 19150: 2100 movs r1, #0 - 19152: 4638 mov r0, r7 - 19154: 4bab ldr r3, [pc, #684] ; (19404 ) - 19156: 4798 blx r3 + 19136: 2202 movs r2, #2 + 19138: 2100 movs r1, #0 + 1913a: 4638 mov r0, r7 + 1913c: 4bab ldr r3, [pc, #684] ; (193ec ) + 1913e: 4798 blx r3 if(lv_obj_get_style_clip_corner(img, LV_IMG_PART_MAIN)) return LV_DESIGN_RES_MASKED; - 19158: b108 cbz r0, 1915e - 1915a: 2003 movs r0, #3 - 1915c: e1e9 b.n 19532 + 19140: b108 cbz r0, 19146 + 19142: 2003 movs r0, #3 + 19144: e1e9 b.n 1951a if(ext->src_type == LV_IMG_SRC_UNKNOWN || ext->src_type == LV_IMG_SRC_SYMBOL) return LV_DESIGN_RES_NOT_COVER; - 1915e: 7d2a ldrb r2, [r5, #20] - 19160: f002 0303 and.w r3, r2, #3 - 19164: 3b02 subs r3, #2 - 19166: b2db uxtb r3, r3 - 19168: 2b01 cmp r3, #1 - 1916a: f240 820f bls.w 1958c + 19146: 7d2a ldrb r2, [r5, #20] + 19148: f002 0303 and.w r3, r2, #3 + 1914c: 3b02 subs r3, #2 + 1914e: b2db uxtb r3, r3 + 19150: 2b01 cmp r3, #1 + 19152: f240 820f bls.w 19574 if(ext->cf != LV_IMG_CF_TRUE_COLOR && ext->cf != LV_IMG_CF_RAW) return LV_DESIGN_RES_NOT_COVER; - 1916e: f002 02f8 and.w r2, r2, #248 ; 0xf8 - 19172: 2a20 cmp r2, #32 - 19174: d003 beq.n 1917e - 19176: 2a08 cmp r2, #8 - 19178: d001 beq.n 1917e - 1917a: 2002 movs r0, #2 - 1917c: e1d9 b.n 19532 + 19156: f002 02f8 and.w r2, r2, #248 ; 0xf8 + 1915a: 2a20 cmp r2, #32 + 1915c: d003 beq.n 19166 + 1915e: 2a08 cmp r2, #8 + 19160: d001 beq.n 19166 + 19162: 2002 movs r0, #2 + 19164: e1d9 b.n 1951a _LV_OBJ_STYLE_SET_GET_DECLARE(SIZE, size, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) - 1917e: 2206 movs r2, #6 - 19180: 2100 movs r1, #0 - 19182: 4638 mov r0, r7 - 19184: 4b9f ldr r3, [pc, #636] ; (19404 ) - 19186: 4798 blx r3 + 19166: 2206 movs r2, #6 + 19168: 2100 movs r1, #0 + 1916a: 4638 mov r0, r7 + 1916c: 4b9f ldr r3, [pc, #636] ; (193ec ) + 1916e: 4798 blx r3 angle_final += ext->angle; - 19188: 89ab ldrh r3, [r5, #12] + 19170: 89ab ldrh r3, [r5, #12] if(angle_final == 0) return LV_DESIGN_RES_NOT_COVER; - 1918a: 42c3 cmn r3, r0 - 1918c: d101 bne.n 19192 - 1918e: 2002 movs r0, #2 - 19190: e1cf b.n 19532 + 19172: 42c3 cmn r3, r0 + 19174: d101 bne.n 1917a + 19176: 2002 movs r0, #2 + 19178: e1cf b.n 1951a _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) - 19192: 2207 movs r2, #7 - 19194: 2100 movs r1, #0 - 19196: 4638 mov r0, r7 - 19198: 4b9a ldr r3, [pc, #616] ; (19404 ) - 1919a: 4798 blx r3 + 1917a: 2207 movs r2, #7 + 1917c: 2100 movs r1, #0 + 1917e: 4638 mov r0, r7 + 19180: 4b9a ldr r3, [pc, #616] ; (193ec ) + 19182: 4798 blx r3 zoom_final = (zoom_final * ext->zoom) >> 8; - 1919c: 8a6b ldrh r3, [r5, #18] - 1919e: fb00 f303 mul.w r3, r0, r3 - 191a2: 121b asrs r3, r3, #8 + 19184: 8a6b ldrh r3, [r5, #18] + 19186: fb00 f303 mul.w r3, r0, r3 + 1918a: 121b asrs r3, r3, #8 if(zoom_final != LV_IMG_ZOOM_NONE) { - 191a4: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 191a8: d008 beq.n 191bc + 1918c: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 19190: d008 beq.n 191a4 if(_lv_area_is_in(clip_area, &img->coords, 0) == false) return LV_DESIGN_RES_NOT_COVER; - 191aa: 2200 movs r2, #0 - 191ac: f107 0110 add.w r1, r7, #16 - 191b0: 4630 mov r0, r6 - 191b2: 4b95 ldr r3, [pc, #596] ; (19408 ) - 191b4: 4798 blx r3 - 191b6: bb88 cbnz r0, 1921c - 191b8: 2002 movs r0, #2 - 191ba: e1ba b.n 19532 + 19192: 2200 movs r2, #0 + 19194: f107 0110 add.w r1, r7, #16 + 19198: 4630 mov r0, r6 + 1919a: 4b95 ldr r3, [pc, #596] ; (193f0 ) + 1919c: 4798 blx r3 + 1919e: bb88 cbnz r0, 19204 + 191a0: 2002 movs r0, #2 + 191a2: e1ba b.n 1951a _lv_img_buf_get_transformed_area(&a, lv_obj_get_width(img), lv_obj_get_height(img), 0, zoom_final, &ext->pivot); - 191bc: 4638 mov r0, r7 - 191be: 4b93 ldr r3, [pc, #588] ; (1940c ) - 191c0: 4798 blx r3 - 191c2: 4604 mov r4, r0 - 191c4: 4638 mov r0, r7 - 191c6: 4b92 ldr r3, [pc, #584] ; (19410 ) - 191c8: 4798 blx r3 - 191ca: 350e adds r5, #14 - 191cc: 9501 str r5, [sp, #4] - 191ce: f44f 7380 mov.w r3, #256 ; 0x100 - 191d2: 9300 str r3, [sp, #0] - 191d4: 2300 movs r3, #0 - 191d6: 4602 mov r2, r0 - 191d8: 4621 mov r1, r4 - 191da: a80f add r0, sp, #60 ; 0x3c - 191dc: 4c8d ldr r4, [pc, #564] ; (19414 ) - 191de: 47a0 blx r4 + 191a4: 4638 mov r0, r7 + 191a6: 4b93 ldr r3, [pc, #588] ; (193f4 ) + 191a8: 4798 blx r3 + 191aa: 4604 mov r4, r0 + 191ac: 4638 mov r0, r7 + 191ae: 4b92 ldr r3, [pc, #584] ; (193f8 ) + 191b0: 4798 blx r3 + 191b2: 350e adds r5, #14 + 191b4: 9501 str r5, [sp, #4] + 191b6: f44f 7380 mov.w r3, #256 ; 0x100 + 191ba: 9300 str r3, [sp, #0] + 191bc: 2300 movs r3, #0 + 191be: 4602 mov r2, r0 + 191c0: 4621 mov r1, r4 + 191c2: a80f add r0, sp, #60 ; 0x3c + 191c4: 4c8d ldr r4, [pc, #564] ; (193fc ) + 191c6: 47a0 blx r4 a.x1 += img->coords.x1; - 191e0: 8a3a ldrh r2, [r7, #16] - 191e2: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c - 191e6: 4413 add r3, r2 - 191e8: f8ad 303c strh.w r3, [sp, #60] ; 0x3c + 191c8: 8a3a ldrh r2, [r7, #16] + 191ca: f8bd 303c ldrh.w r3, [sp, #60] ; 0x3c + 191ce: 4413 add r3, r2 + 191d0: f8ad 303c strh.w r3, [sp, #60] ; 0x3c a.y1 += img->coords.y1; - 191ec: 8a7b ldrh r3, [r7, #18] - 191ee: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e - 191f2: 4419 add r1, r3 - 191f4: f8ad 103e strh.w r1, [sp, #62] ; 0x3e + 191d4: 8a7b ldrh r3, [r7, #18] + 191d6: f8bd 103e ldrh.w r1, [sp, #62] ; 0x3e + 191da: 4419 add r1, r3 + 191dc: f8ad 103e strh.w r1, [sp, #62] ; 0x3e a.x2 += img->coords.x1; - 191f8: f8bd 1040 ldrh.w r1, [sp, #64] ; 0x40 - 191fc: 440a add r2, r1 - 191fe: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 + 191e0: f8bd 1040 ldrh.w r1, [sp, #64] ; 0x40 + 191e4: 440a add r2, r1 + 191e6: f8ad 2040 strh.w r2, [sp, #64] ; 0x40 a.y2 += img->coords.y1; - 19202: f8bd 2042 ldrh.w r2, [sp, #66] ; 0x42 - 19206: 4413 add r3, r2 - 19208: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + 191ea: f8bd 2042 ldrh.w r2, [sp, #66] ; 0x42 + 191ee: 4413 add r3, r2 + 191f0: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 if(_lv_area_is_in(clip_area, &a, 0) == false) return LV_DESIGN_RES_NOT_COVER; - 1920c: 2200 movs r2, #0 - 1920e: a90f add r1, sp, #60 ; 0x3c - 19210: 4630 mov r0, r6 - 19212: 4b7d ldr r3, [pc, #500] ; (19408 ) - 19214: 4798 blx r3 - 19216: b908 cbnz r0, 1921c - 19218: 2002 movs r0, #2 - 1921a: e18a b.n 19532 + 191f4: 2200 movs r2, #0 + 191f6: a90f add r1, sp, #60 ; 0x3c + 191f8: 4630 mov r0, r6 + 191fa: 4b7d ldr r3, [pc, #500] ; (193f0 ) + 191fc: 4798 blx r3 + 191fe: b908 cbnz r0, 19204 + 19200: 2002 movs r0, #2 + 19202: e18a b.n 1951a _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_ROUNDED, line_rounded, bool, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_COLOR, line_color, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(LINE_OPA, line_opa, lv_opa_t, _opa, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_BLEND_MODE, image_blend_mode, lv_blend_mode_t, _int, scalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_OPA, image_opa, lv_opa_t, _opa, scalar) - 1921c: f248 02ac movw r2, #32940 ; 0x80ac - 19220: 2100 movs r1, #0 - 19222: 4638 mov r0, r7 - 19224: 4b7c ldr r3, [pc, #496] ; (19418 ) - 19226: 4798 blx r3 + 19204: f248 02ac movw r2, #32940 ; 0x80ac + 19208: 2100 movs r1, #0 + 1920a: 4638 mov r0, r7 + 1920c: 4b7c ldr r3, [pc, #496] ; (19400 ) + 1920e: 4798 blx r3 return LV_DESIGN_RES_COVER; - 19228: 28ff cmp r0, #255 ; 0xff - 1922a: bf14 ite ne - 1922c: 2002 movne r0, #2 - 1922e: 2001 moveq r0, #1 - 19230: e17f b.n 19532 + 19210: 28ff cmp r0, #255 ; 0xff + 19212: bf14 ite ne + 19214: 2002 movne r0, #2 + 19216: 2001 moveq r0, #1 + 19218: e17f b.n 1951a lv_area_t img_coords; lv_obj_get_coords(img, &img_coords); - 19232: a902 add r1, sp, #8 - 19234: 4638 mov r0, r7 - 19236: 4b79 ldr r3, [pc, #484] ; (1941c ) - 19238: 4798 blx r3 + 1921a: a902 add r1, sp, #8 + 1921c: 4638 mov r0, r7 + 1921e: 4b79 ldr r3, [pc, #484] ; (19404 ) + 19220: 4798 blx r3 lv_draw_rect_dsc_t bg_dsc; lv_draw_rect_dsc_init(&bg_dsc); - 1923a: a80f add r0, sp, #60 ; 0x3c - 1923c: 4b78 ldr r3, [pc, #480] ; (19420 ) - 1923e: 4798 blx r3 + 19222: a80f add r0, sp, #60 ; 0x3c + 19224: 4b78 ldr r3, [pc, #480] ; (19408 ) + 19226: 4798 blx r3 lv_obj_init_draw_rect_dsc(img, LV_IMG_PART_MAIN, &bg_dsc); - 19240: aa0f add r2, sp, #60 ; 0x3c - 19242: 2100 movs r1, #0 - 19244: 4638 mov r0, r7 - 19246: 4b77 ldr r3, [pc, #476] ; (19424 ) - 19248: 4798 blx r3 + 19228: aa0f add r2, sp, #60 ; 0x3c + 1922a: 2100 movs r1, #0 + 1922c: 4638 mov r0, r7 + 1922e: 4b77 ldr r3, [pc, #476] ; (1940c ) + 19230: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 1924a: 2233 movs r2, #51 ; 0x33 - 1924c: 2100 movs r1, #0 - 1924e: 4638 mov r0, r7 - 19250: 4b6c ldr r3, [pc, #432] ; (19404 ) - 19252: 4798 blx r3 + 19232: 2233 movs r2, #51 ; 0x33 + 19234: 2100 movs r1, #0 + 19236: 4638 mov r0, r7 + 19238: 4b6c ldr r3, [pc, #432] ; (193ec ) + 1923a: 4798 blx r3 /*If the border is drawn later disable loading its properties*/ if(lv_obj_get_style_border_post(img, LV_OBJ_PART_MAIN)) { - 19254: b110 cbz r0, 1925c + 1923c: b110 cbz r0, 19244 bg_dsc.border_opa = LV_OPA_TRANSP; - 19256: 2300 movs r3, #0 - 19258: f88d 3050 strb.w r3, [sp, #80] ; 0x50 + 1923e: 2300 movs r3, #0 + 19240: f88d 3050 strb.w r3, [sp, #80] ; 0x50 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) - 1925c: 2207 movs r2, #7 - 1925e: 2100 movs r1, #0 - 19260: 4638 mov r0, r7 - 19262: 4b68 ldr r3, [pc, #416] ; (19404 ) - 19264: 4798 blx r3 + 19244: 2207 movs r2, #7 + 19246: 2100 movs r1, #0 + 19248: 4638 mov r0, r7 + 1924a: 4b68 ldr r3, [pc, #416] ; (193ec ) + 1924c: 4798 blx r3 } int32_t zoom_final = lv_obj_get_style_transform_zoom(img, LV_IMG_PART_MAIN); zoom_final = (zoom_final * ext->zoom) >> 8; - 19266: 8a6b ldrh r3, [r5, #18] - 19268: fb00 f003 mul.w r0, r0, r3 + 1924e: 8a6b ldrh r3, [r5, #18] + 19250: fb00 f003 mul.w r0, r0, r3 if(zoom_final == 0) return LV_DESIGN_RES_OK; - 1926c: 1204 asrs r4, r0, #8 - 1926e: d101 bne.n 19274 - 19270: 2000 movs r0, #0 - 19272: e15e b.n 19532 + 19254: 1204 asrs r4, r0, #8 + 19256: d101 bne.n 1925c + 19258: 2000 movs r0, #0 + 1925a: e15e b.n 1951a _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) - 19274: 2206 movs r2, #6 - 19276: 2100 movs r1, #0 - 19278: 4638 mov r0, r7 - 1927a: f8df 8188 ldr.w r8, [pc, #392] ; 19404 - 1927e: 47c0 blx r8 + 1925c: 2206 movs r2, #6 + 1925e: 2100 movs r1, #0 + 19260: 4638 mov r0, r7 + 19262: f8df 8188 ldr.w r8, [pc, #392] ; 193ec + 19266: 47c0 blx r8 int32_t angle_final = lv_obj_get_style_transform_angle(img, LV_IMG_PART_MAIN); angle_final += ext->angle; - 19280: f8b5 900c ldrh.w r9, [r5, #12] - 19284: 4481 add r9, r0 + 19268: f8b5 900c ldrh.w r9, [r5, #12] + 1926c: 4481 add r9, r0 lv_area_t bg_coords; _lv_img_buf_get_transformed_area(&bg_coords, lv_area_get_width(&img_coords), lv_area_get_height(&img_coords), - 19286: b2a4 uxth r4, r4 + 1926e: b2a4 uxth r4, r4 * @param area_p pointer to an area * @return the height of the area (if y1 == y2 -> height = 1) */ static inline lv_coord_t lv_area_get_height(const lv_area_t * area_p) { return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 19288: f8bd 200e ldrh.w r2, [sp, #14] - 1928c: 3201 adds r2, #1 - 1928e: f8bd 300a ldrh.w r3, [sp, #10] - 19292: 1ad2 subs r2, r2, r3 + 19270: f8bd 200e ldrh.w r2, [sp, #14] + 19274: 3201 adds r2, #1 + 19276: f8bd 300a ldrh.w r3, [sp, #10] + 1927a: 1ad2 subs r2, r2, r3 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 19294: f8bd 100c ldrh.w r1, [sp, #12] - 19298: 3101 adds r1, #1 - 1929a: f8bd 3008 ldrh.w r3, [sp, #8] - 1929e: 1ac9 subs r1, r1, r3 - 192a0: f105 030e add.w r3, r5, #14 - 192a4: 9301 str r3, [sp, #4] - 192a6: 9400 str r4, [sp, #0] - 192a8: fa0f f389 sxth.w r3, r9 - 192ac: b212 sxth r2, r2 - 192ae: b209 sxth r1, r1 - 192b0: a804 add r0, sp, #16 - 192b2: f8df a160 ldr.w sl, [pc, #352] ; 19414 - 192b6: 47d0 blx sl + 1927c: f8bd 100c ldrh.w r1, [sp, #12] + 19280: 3101 adds r1, #1 + 19282: f8bd 3008 ldrh.w r3, [sp, #8] + 19286: 1ac9 subs r1, r1, r3 + 19288: f105 030e add.w r3, r5, #14 + 1928c: 9301 str r3, [sp, #4] + 1928e: 9400 str r4, [sp, #0] + 19290: fa0f f389 sxth.w r3, r9 + 19294: b212 sxth r2, r2 + 19296: b209 sxth r1, r1 + 19298: a804 add r0, sp, #16 + 1929a: f8df a160 ldr.w sl, [pc, #352] ; 193fc + 1929e: 47d0 blx sl angle_final, zoom_final, &ext->pivot); bg_coords.x1 += img_coords.x1; - 192b8: f8bd 2008 ldrh.w r2, [sp, #8] - 192bc: f8bd 3010 ldrh.w r3, [sp, #16] - 192c0: 4413 add r3, r2 - 192c2: f8ad 3010 strh.w r3, [sp, #16] + 192a0: f8bd 2008 ldrh.w r2, [sp, #8] + 192a4: f8bd 3010 ldrh.w r3, [sp, #16] + 192a8: 4413 add r3, r2 + 192aa: f8ad 3010 strh.w r3, [sp, #16] bg_coords.y1 += img_coords.y1; - 192c6: f8bd 300a ldrh.w r3, [sp, #10] - 192ca: f8bd 1012 ldrh.w r1, [sp, #18] - 192ce: 4419 add r1, r3 - 192d0: f8ad 1012 strh.w r1, [sp, #18] + 192ae: f8bd 300a ldrh.w r3, [sp, #10] + 192b2: f8bd 1012 ldrh.w r1, [sp, #18] + 192b6: 4419 add r1, r3 + 192b8: f8ad 1012 strh.w r1, [sp, #18] bg_coords.x2 += img_coords.x1; - 192d4: f8bd 1014 ldrh.w r1, [sp, #20] - 192d8: 440a add r2, r1 - 192da: f8ad 2014 strh.w r2, [sp, #20] + 192bc: f8bd 1014 ldrh.w r1, [sp, #20] + 192c0: 440a add r2, r1 + 192c2: f8ad 2014 strh.w r2, [sp, #20] bg_coords.y2 += img_coords.y1; - 192de: f8bd 2016 ldrh.w r2, [sp, #22] - 192e2: 4413 add r3, r2 - 192e4: f8ad 3016 strh.w r3, [sp, #22] + 192c6: f8bd 2016 ldrh.w r2, [sp, #22] + 192ca: 4413 add r3, r2 + 192cc: f8ad 3016 strh.w r3, [sp, #22] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 192e8: 2212 movs r2, #18 - 192ea: 2100 movs r1, #0 - 192ec: 4638 mov r0, r7 - 192ee: 47c0 blx r8 + 192d0: 2212 movs r2, #18 + 192d2: 2100 movs r1, #0 + 192d4: 4638 mov r0, r7 + 192d6: 47c0 blx r8 bg_coords.x1 -= lv_obj_get_style_pad_left(img, LV_IMG_PART_MAIN); - 192f0: f8bd 3010 ldrh.w r3, [sp, #16] - 192f4: 1a18 subs r0, r3, r0 - 192f6: f8ad 0010 strh.w r0, [sp, #16] + 192d8: f8bd 3010 ldrh.w r3, [sp, #16] + 192dc: 1a18 subs r0, r3, r0 + 192de: f8ad 0010 strh.w r0, [sp, #16] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 192fa: 2213 movs r2, #19 - 192fc: 2100 movs r1, #0 - 192fe: 4638 mov r0, r7 - 19300: 47c0 blx r8 + 192e2: 2213 movs r2, #19 + 192e4: 2100 movs r1, #0 + 192e6: 4638 mov r0, r7 + 192e8: 47c0 blx r8 bg_coords.x2 += lv_obj_get_style_pad_right(img, LV_IMG_PART_MAIN); - 19302: f8bd 3014 ldrh.w r3, [sp, #20] - 19306: 4418 add r0, r3 - 19308: f8ad 0014 strh.w r0, [sp, #20] + 192ea: f8bd 3014 ldrh.w r3, [sp, #20] + 192ee: 4418 add r0, r3 + 192f0: f8ad 0014 strh.w r0, [sp, #20] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1930c: 2210 movs r2, #16 - 1930e: 2100 movs r1, #0 - 19310: 4638 mov r0, r7 - 19312: 47c0 blx r8 + 192f4: 2210 movs r2, #16 + 192f6: 2100 movs r1, #0 + 192f8: 4638 mov r0, r7 + 192fa: 47c0 blx r8 bg_coords.y1 -= lv_obj_get_style_pad_top(img, LV_IMG_PART_MAIN); - 19314: f8bd 3012 ldrh.w r3, [sp, #18] - 19318: 1a18 subs r0, r3, r0 - 1931a: f8ad 0012 strh.w r0, [sp, #18] + 192fc: f8bd 3012 ldrh.w r3, [sp, #18] + 19300: 1a18 subs r0, r3, r0 + 19302: f8ad 0012 strh.w r0, [sp, #18] _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1931e: 2211 movs r2, #17 - 19320: 2100 movs r1, #0 - 19322: 4638 mov r0, r7 - 19324: 47c0 blx r8 + 19306: 2211 movs r2, #17 + 19308: 2100 movs r1, #0 + 1930a: 4638 mov r0, r7 + 1930c: 47c0 blx r8 bg_coords.y2 += lv_obj_get_style_pad_bottom(img, LV_IMG_PART_MAIN); - 19326: f8bd 3016 ldrh.w r3, [sp, #22] - 1932a: 4418 add r0, r3 - 1932c: f8ad 0016 strh.w r0, [sp, #22] + 1930e: f8bd 3016 ldrh.w r3, [sp, #22] + 19312: 4418 add r0, r3 + 19314: f8ad 0016 strh.w r0, [sp, #22] lv_draw_rect(&bg_coords, clip_area, &bg_dsc); - 19330: aa0f add r2, sp, #60 ; 0x3c - 19332: 4631 mov r1, r6 - 19334: a804 add r0, sp, #16 - 19336: 4b3c ldr r3, [pc, #240] ; (19428 ) - 19338: 4798 blx r3 + 19318: aa0f add r2, sp, #60 ; 0x3c + 1931a: 4631 mov r1, r6 + 1931c: a804 add r0, sp, #16 + 1931e: 4b3c ldr r3, [pc, #240] ; (19410 ) + 19320: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 1933a: 2202 movs r2, #2 - 1933c: 2100 movs r1, #0 - 1933e: 4638 mov r0, r7 - 19340: 47c0 blx r8 + 19322: 2202 movs r2, #2 + 19324: 2100 movs r1, #0 + 19326: 4638 mov r0, r7 + 19328: 47c0 blx r8 if(lv_obj_get_style_clip_corner(img, LV_OBJ_PART_MAIN)) { - 19342: b9c8 cbnz r0, 19378 + 1932a: b9c8 cbnz r0, 19360 lv_draw_mask_radius_init(mp, &bg_coords, r, false); /*Add the mask and use `img+8` as custom id. Don't use `obj` directly because it might be used by the user*/ lv_draw_mask_add(mp, img + 8); } if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_VARIABLE) { - 19344: 7d2b ldrb r3, [r5, #20] - 19346: f003 0303 and.w r3, r3, #3 - 1934a: 2b01 cmp r3, #1 - 1934c: d92a bls.n 193a4 + 1932c: 7d2b ldrb r3, [r5, #20] + 1932e: f003 0303 and.w r3, r3, #3 + 19332: 2b01 cmp r3, #1 + 19334: d92a bls.n 1938c for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc); } } } else if(ext->src_type == LV_IMG_SRC_SYMBOL) { - 1934e: 2b02 cmp r3, #2 - 19350: f000 80d1 beq.w 194f6 + 19336: 2b02 cmp r3, #2 + 19338: f000 80d1 beq.w 194de label_dsc.color = lv_obj_get_style_image_recolor(img, LV_IMG_PART_MAIN); lv_draw_label(&img_coords, clip_area, &label_dsc, ext->src, NULL); } else { /*Trigger the error handler of image drawer*/ LV_LOG_WARN("lv_img_design: image source type is unknown"); - 19354: 4b35 ldr r3, [pc, #212] ; (1942c ) - 19356: 9300 str r3, [sp, #0] - 19358: 4b35 ldr r3, [pc, #212] ; (19430 ) - 1935a: f240 22bb movw r2, #699 ; 0x2bb - 1935e: 4935 ldr r1, [pc, #212] ; (19434 ) - 19360: 2002 movs r0, #2 - 19362: 4c35 ldr r4, [pc, #212] ; (19438 ) - 19364: 47a0 blx r4 + 1933c: 4b35 ldr r3, [pc, #212] ; (19414 ) + 1933e: 9300 str r3, [sp, #0] + 19340: 4b35 ldr r3, [pc, #212] ; (19418 ) + 19342: f240 22bb movw r2, #699 ; 0x2bb + 19346: 4935 ldr r1, [pc, #212] ; (1941c ) + 19348: 2002 movs r0, #2 + 1934a: 4c35 ldr r4, [pc, #212] ; (19420 ) + 1934c: 47a0 blx r4 lv_draw_img(&img->coords, clip_area, NULL, NULL); - 19366: 2300 movs r3, #0 - 19368: 461a mov r2, r3 - 1936a: 4631 mov r1, r6 - 1936c: f107 0010 add.w r0, r7, #16 - 19370: 4c32 ldr r4, [pc, #200] ; (1943c ) - 19372: 47a0 blx r4 + 1934e: 2300 movs r3, #0 + 19350: 461a mov r2, r3 + 19352: 4631 mov r1, r6 + 19354: f107 0010 add.w r0, r7, #16 + 19358: 4c32 ldr r4, [pc, #200] ; (19424 ) + 1935a: 47a0 blx r4 lv_obj_init_draw_rect_dsc(img, LV_OBJ_PART_MAIN, &draw_dsc); lv_draw_rect(&img->coords, clip_area, &draw_dsc); } } return LV_DESIGN_RES_OK; - 19374: 2000 movs r0, #0 - 19376: e0dc b.n 19532 + 1935c: 2000 movs r0, #0 + 1935e: e0dc b.n 1951a lv_draw_mask_radius_param_t * mp = _lv_mem_buf_get(sizeof(lv_draw_mask_radius_param_t)); - 19378: 201c movs r0, #28 - 1937a: 4b31 ldr r3, [pc, #196] ; (19440 ) - 1937c: 4798 blx r3 - 1937e: 4680 mov r8, r0 + 19360: 201c movs r0, #28 + 19362: 4b31 ldr r3, [pc, #196] ; (19428 ) + 19364: 4798 blx r3 + 19366: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(RADIUS, radius, lv_style_int_t, _int, scalar) - 19380: 2201 movs r2, #1 - 19382: 2100 movs r1, #0 - 19384: 4638 mov r0, r7 - 19386: 4b1f ldr r3, [pc, #124] ; (19404 ) - 19388: 4798 blx r3 + 19368: 2201 movs r2, #1 + 1936a: 2100 movs r1, #0 + 1936c: 4638 mov r0, r7 + 1936e: 4b1f ldr r3, [pc, #124] ; (193ec ) + 19370: 4798 blx r3 lv_draw_mask_radius_init(mp, &bg_coords, r, false); - 1938a: 2300 movs r3, #0 - 1938c: 4602 mov r2, r0 - 1938e: a904 add r1, sp, #16 - 19390: 4640 mov r0, r8 - 19392: f8df a0bc ldr.w sl, [pc, #188] ; 19450 - 19396: 47d0 blx sl + 19372: 2300 movs r3, #0 + 19374: 4602 mov r2, r0 + 19376: a904 add r1, sp, #16 + 19378: 4640 mov r0, r8 + 1937a: f8df a0bc ldr.w sl, [pc, #188] ; 19438 + 1937e: 47d0 blx sl lv_draw_mask_add(mp, img + 8); - 19398: f507 7118 add.w r1, r7, #608 ; 0x260 - 1939c: 4640 mov r0, r8 - 1939e: 4b29 ldr r3, [pc, #164] ; (19444 ) - 193a0: 4798 blx r3 - 193a2: e7cf b.n 19344 + 19380: f507 7118 add.w r1, r7, #608 ; 0x260 + 19384: 4640 mov r0, r8 + 19386: 4b29 ldr r3, [pc, #164] ; (1942c ) + 19388: 4798 blx r3 + 1938a: e7cf b.n 1932c img_coords.x1 += ext->offset.x; - 193a4: f8bd 2008 ldrh.w r2, [sp, #8] - 193a8: 88ab ldrh r3, [r5, #4] - 193aa: 441a add r2, r3 - 193ac: b292 uxth r2, r2 - 193ae: b210 sxth r0, r2 - 193b0: f8ad 0008 strh.w r0, [sp, #8] + 1938c: f8bd 2008 ldrh.w r2, [sp, #8] + 19390: 88ab ldrh r3, [r5, #4] + 19392: 441a add r2, r3 + 19394: b292 uxth r2, r2 + 19396: b210 sxth r0, r2 + 19398: f8ad 0008 strh.w r0, [sp, #8] img_coords.y1 += ext->offset.y; - 193b4: f8bd 300a ldrh.w r3, [sp, #10] - 193b8: 88e9 ldrh r1, [r5, #6] - 193ba: 440b add r3, r1 - 193bc: b29b uxth r3, r3 - 193be: b219 sxth r1, r3 - 193c0: f8ad 100a strh.w r1, [sp, #10] + 1939c: f8bd 300a ldrh.w r3, [sp, #10] + 193a0: 88e9 ldrh r1, [r5, #6] + 193a2: 440b add r3, r1 + 193a4: b29b uxth r3, r3 + 193a6: b219 sxth r1, r3 + 193a8: f8ad 100a strh.w r1, [sp, #10] if(img_coords.x1 > img->coords.x1) img_coords.x1 -= ext->w; - 193c4: f9b7 e010 ldrsh.w lr, [r7, #16] - 193c8: 4586 cmp lr, r0 - 193ca: da03 bge.n 193d4 - 193cc: 8928 ldrh r0, [r5, #8] - 193ce: 1a12 subs r2, r2, r0 - 193d0: f8ad 2008 strh.w r2, [sp, #8] + 193ac: f9b7 e010 ldrsh.w lr, [r7, #16] + 193b0: 4586 cmp lr, r0 + 193b2: da03 bge.n 193bc + 193b4: 8928 ldrh r0, [r5, #8] + 193b6: 1a12 subs r2, r2, r0 + 193b8: f8ad 2008 strh.w r2, [sp, #8] if(img_coords.y1 > img->coords.y1) img_coords.y1 -= ext->h; - 193d4: f9b7 2012 ldrsh.w r2, [r7, #18] - 193d8: 428a cmp r2, r1 - 193da: da03 bge.n 193e4 - 193dc: 896a ldrh r2, [r5, #10] - 193de: 1a9b subs r3, r3, r2 - 193e0: f8ad 300a strh.w r3, [sp, #10] + 193bc: f9b7 2012 ldrsh.w r2, [r7, #18] + 193c0: 428a cmp r2, r1 + 193c2: da03 bge.n 193cc + 193c4: 896a ldrh r2, [r5, #10] + 193c6: 1a9b subs r3, r3, r2 + 193c8: f8ad 300a strh.w r3, [sp, #10] lv_draw_img_dsc_init(&img_dsc); - 193e4: a808 add r0, sp, #32 - 193e6: 4b18 ldr r3, [pc, #96] ; (19448 ) - 193e8: 4798 blx r3 + 193cc: a808 add r0, sp, #32 + 193ce: 4b18 ldr r3, [pc, #96] ; (19430 ) + 193d0: 4798 blx r3 lv_obj_init_draw_img_dsc(img, LV_IMG_PART_MAIN, &img_dsc); - 193ea: aa08 add r2, sp, #32 - 193ec: 2100 movs r1, #0 - 193ee: 4638 mov r0, r7 - 193f0: 4b16 ldr r3, [pc, #88] ; (1944c ) - 193f2: 4798 blx r3 + 193d2: aa08 add r2, sp, #32 + 193d4: 2100 movs r1, #0 + 193d6: 4638 mov r0, r7 + 193d8: 4b16 ldr r3, [pc, #88] ; (19434 ) + 193da: 4798 blx r3 img_dsc.zoom = zoom_final; - 193f4: f8ad 4028 strh.w r4, [sp, #40] ; 0x28 + 193dc: f8ad 4028 strh.w r4, [sp, #40] ; 0x28 if(img_dsc.zoom == 0) return LV_DESIGN_RES_OK; - 193f8: bb64 cbnz r4, 19454 - 193fa: 2000 movs r0, #0 - 193fc: e099 b.n 19532 - 193fe: bf00 nop - 19400: 00004d9d .word 0x00004d9d - 19404: 000044d5 .word 0x000044d5 - 19408: 0001176d .word 0x0001176d - 1940c: 00002f5d .word 0x00002f5d - 19410: 00002fad .word 0x00002fad - 19414: 0000ec65 .word 0x0000ec65 - 19418: 0000460d .word 0x0000460d - 1941c: 00002e41 .word 0x00002e41 - 19420: 0000c269 .word 0x0000c269 - 19424: 000050c5 .word 0x000050c5 - 19428: 0000c331 .word 0x0000c331 - 1942c: 000250e0 .word 0x000250e0 - 19430: 00029590 .word 0x00029590 - 19434: 000296b8 .word 0x000296b8 - 19438: 0001225d .word 0x0001225d - 1943c: 000096e9 .word 0x000096e9 - 19440: 0001293d .word 0x0001293d - 19444: 0000bdc1 .word 0x0000bdc1 - 19448: 00009645 .word 0x00009645 - 1944c: 00005769 .word 0x00005769 - 19450: 0000c02d .word 0x0000c02d + 193e0: bb64 cbnz r4, 1943c + 193e2: 2000 movs r0, #0 + 193e4: e099 b.n 1951a + 193e6: bf00 nop + 193e8: 00004d85 .word 0x00004d85 + 193ec: 000044bd .word 0x000044bd + 193f0: 00011755 .word 0x00011755 + 193f4: 00002f45 .word 0x00002f45 + 193f8: 00002f95 .word 0x00002f95 + 193fc: 0000ec4d .word 0x0000ec4d + 19400: 000045f5 .word 0x000045f5 + 19404: 00002e29 .word 0x00002e29 + 19408: 0000c251 .word 0x0000c251 + 1940c: 000050ad .word 0x000050ad + 19410: 0000c319 .word 0x0000c319 + 19414: 000250c8 .word 0x000250c8 + 19418: 00029578 .word 0x00029578 + 1941c: 000296a0 .word 0x000296a0 + 19420: 00012245 .word 0x00012245 + 19424: 000096d1 .word 0x000096d1 + 19428: 00012925 .word 0x00012925 + 1942c: 0000bda9 .word 0x0000bda9 + 19430: 0000962d .word 0x0000962d + 19434: 00005751 .word 0x00005751 + 19438: 0000c015 .word 0x0000c015 img_dsc.angle = angle_final; - 19454: f8ad 9022 strh.w r9, [sp, #34] ; 0x22 + 1943c: f8ad 9022 strh.w r9, [sp, #34] ; 0x22 img_dsc.pivot.x = ext->pivot.x; - 19458: 89eb ldrh r3, [r5, #14] - 1945a: f8ad 3024 strh.w r3, [sp, #36] ; 0x24 + 19440: 89eb ldrh r3, [r5, #14] + 19442: f8ad 3024 strh.w r3, [sp, #36] ; 0x24 img_dsc.pivot.y = ext->pivot.y; - 1945e: 8a2b ldrh r3, [r5, #16] - 19460: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 + 19446: 8a2b ldrh r3, [r5, #16] + 19448: f8ad 3026 strh.w r3, [sp, #38] ; 0x26 img_dsc.antialias = ext->antialias; - 19464: 7d6a ldrb r2, [r5, #21] - 19466: f89d 302f ldrb.w r3, [sp, #47] ; 0x2f - 1946a: f362 0300 bfi r3, r2, #0, #1 - 1946e: f88d 302f strb.w r3, [sp, #47] ; 0x2f + 1944c: 7d6a ldrb r2, [r5, #21] + 1944e: f89d 302f ldrb.w r3, [sp, #47] ; 0x2f + 19452: f362 0300 bfi r3, r2, #0, #1 + 19456: f88d 302f strb.w r3, [sp, #47] ; 0x2f cords_tmp.y1 = img_coords.y1; - 19472: f9bd 300a ldrsh.w r3, [sp, #10] - 19476: f8ad 301a strh.w r3, [sp, #26] + 1945a: f9bd 300a ldrsh.w r3, [sp, #10] + 1945e: f8ad 301a strh.w r3, [sp, #26] cords_tmp.y2 = img_coords.y1 + ext->h - 1; - 1947a: 1e5a subs r2, r3, #1 - 1947c: 8969 ldrh r1, [r5, #10] - 1947e: 440a add r2, r1 - 19480: f8ad 201e strh.w r2, [sp, #30] + 19462: 1e5a subs r2, r3, #1 + 19464: 8969 ldrh r1, [r5, #10] + 19466: 440a add r2, r1 + 19468: f8ad 201e strh.w r2, [sp, #30] for(; cords_tmp.y1 <= img_coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) { - 19484: f9bd 200e ldrsh.w r2, [sp, #14] - 19488: 429a cmp r2, r3 - 1948a: f6ff af73 blt.w 19374 + 1946c: f9bd 200e ldrsh.w r2, [sp, #14] + 19470: 429a cmp r2, r3 + 19472: f6ff af73 blt.w 1935c lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc); - 1948e: 4c40 ldr r4, [pc, #256] ; (19590 ) + 19476: 4c40 ldr r4, [pc, #256] ; (19578 ) cords_tmp.x1 = img_coords.x1; - 19490: f9bd 3008 ldrsh.w r3, [sp, #8] - 19494: f8ad 3018 strh.w r3, [sp, #24] + 19478: f9bd 3008 ldrsh.w r3, [sp, #8] + 1947c: f8ad 3018 strh.w r3, [sp, #24] cords_tmp.x2 = img_coords.x1 + ext->w - 1; - 19498: 1e5a subs r2, r3, #1 - 1949a: 8929 ldrh r1, [r5, #8] - 1949c: 440a add r2, r1 - 1949e: f8ad 201c strh.w r2, [sp, #28] + 19480: 1e5a subs r2, r3, #1 + 19482: 8929 ldrh r1, [r5, #8] + 19484: 440a add r2, r1 + 19486: f8ad 201c strh.w r2, [sp, #28] for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { - 194a2: f9bd 200c ldrsh.w r2, [sp, #12] - 194a6: 429a cmp r2, r3 - 194a8: db14 blt.n 194d4 + 1948a: f9bd 200c ldrsh.w r2, [sp, #12] + 1948e: 429a cmp r2, r3 + 19490: db14 blt.n 194bc lv_draw_img(&cords_tmp, clip_area, ext->src, &img_dsc); - 194aa: ab08 add r3, sp, #32 - 194ac: 682a ldr r2, [r5, #0] - 194ae: 4631 mov r1, r6 - 194b0: a806 add r0, sp, #24 - 194b2: 47a0 blx r4 + 19492: ab08 add r3, sp, #32 + 19494: 682a ldr r2, [r5, #0] + 19496: 4631 mov r1, r6 + 19498: a806 add r0, sp, #24 + 1949a: 47a0 blx r4 for(; cords_tmp.x1 <= img_coords.x2; cords_tmp.x1 += ext->w, cords_tmp.x2 += ext->w) { - 194b4: 892a ldrh r2, [r5, #8] - 194b6: f8bd 3018 ldrh.w r3, [sp, #24] - 194ba: 4413 add r3, r2 - 194bc: b21b sxth r3, r3 - 194be: f8ad 3018 strh.w r3, [sp, #24] - 194c2: f8bd 101c ldrh.w r1, [sp, #28] - 194c6: 440a add r2, r1 - 194c8: f8ad 201c strh.w r2, [sp, #28] - 194cc: f9bd 200c ldrsh.w r2, [sp, #12] - 194d0: 429a cmp r2, r3 - 194d2: daea bge.n 194aa + 1949c: 892a ldrh r2, [r5, #8] + 1949e: f8bd 3018 ldrh.w r3, [sp, #24] + 194a2: 4413 add r3, r2 + 194a4: b21b sxth r3, r3 + 194a6: f8ad 3018 strh.w r3, [sp, #24] + 194aa: f8bd 101c ldrh.w r1, [sp, #28] + 194ae: 440a add r2, r1 + 194b0: f8ad 201c strh.w r2, [sp, #28] + 194b4: f9bd 200c ldrsh.w r2, [sp, #12] + 194b8: 429a cmp r2, r3 + 194ba: daea bge.n 19492 for(; cords_tmp.y1 <= img_coords.y2; cords_tmp.y1 += ext->h, cords_tmp.y2 += ext->h) { - 194d4: 896a ldrh r2, [r5, #10] - 194d6: f8bd 301a ldrh.w r3, [sp, #26] - 194da: 4413 add r3, r2 - 194dc: b21b sxth r3, r3 - 194de: f8ad 301a strh.w r3, [sp, #26] - 194e2: f8bd 101e ldrh.w r1, [sp, #30] - 194e6: 440a add r2, r1 - 194e8: f8ad 201e strh.w r2, [sp, #30] - 194ec: f9bd 200e ldrsh.w r2, [sp, #14] - 194f0: 429a cmp r2, r3 - 194f2: dacd bge.n 19490 - 194f4: e73e b.n 19374 + 194bc: 896a ldrh r2, [r5, #10] + 194be: f8bd 301a ldrh.w r3, [sp, #26] + 194c2: 4413 add r3, r2 + 194c4: b21b sxth r3, r3 + 194c6: f8ad 301a strh.w r3, [sp, #26] + 194ca: f8bd 101e ldrh.w r1, [sp, #30] + 194ce: 440a add r2, r1 + 194d0: f8ad 201e strh.w r2, [sp, #30] + 194d4: f9bd 200e ldrsh.w r2, [sp, #14] + 194d8: 429a cmp r2, r3 + 194da: dacd bge.n 19478 + 194dc: e73e b.n 1935c lv_draw_label_dsc_init(&label_dsc); - 194f6: a808 add r0, sp, #32 - 194f8: 4b26 ldr r3, [pc, #152] ; (19594 ) - 194fa: 4798 blx r3 + 194de: a808 add r0, sp, #32 + 194e0: 4b26 ldr r3, [pc, #152] ; (1957c ) + 194e2: 4798 blx r3 lv_obj_init_draw_label_dsc(img, LV_IMG_PART_MAIN, &label_dsc); - 194fc: aa08 add r2, sp, #32 - 194fe: 2100 movs r1, #0 - 19500: 4638 mov r0, r7 - 19502: 4b25 ldr r3, [pc, #148] ; (19598 ) - 19504: 4798 blx r3 + 194e4: aa08 add r2, sp, #32 + 194e6: 2100 movs r1, #0 + 194e8: 4638 mov r0, r7 + 194ea: 4b25 ldr r3, [pc, #148] ; (19580 ) + 194ec: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(IMAGE_RECOLOR, image_recolor, lv_color_t, _color, nonscalar) - 19506: f248 02a9 movw r2, #32937 ; 0x80a9 - 1950a: 2100 movs r1, #0 - 1950c: 4638 mov r0, r7 - 1950e: 4b23 ldr r3, [pc, #140] ; (1959c ) - 19510: 4798 blx r3 + 194ee: f248 02a9 movw r2, #32937 ; 0x80a9 + 194f2: 2100 movs r1, #0 + 194f4: 4638 mov r0, r7 + 194f6: 4b23 ldr r3, [pc, #140] ; (19584 ) + 194f8: 4798 blx r3 label_dsc.color = lv_obj_get_style_image_recolor(img, LV_IMG_PART_MAIN); - 19512: f8ad 0020 strh.w r0, [sp, #32] + 194fa: f8ad 0020 strh.w r0, [sp, #32] lv_draw_label(&img_coords, clip_area, &label_dsc, ext->src, NULL); - 19516: 682b ldr r3, [r5, #0] - 19518: 2200 movs r2, #0 - 1951a: 9200 str r2, [sp, #0] - 1951c: aa08 add r2, sp, #32 - 1951e: 4631 mov r1, r6 - 19520: a802 add r0, sp, #8 - 19522: 4c1f ldr r4, [pc, #124] ; (195a0 ) - 19524: 47a0 blx r4 - 19526: e725 b.n 19374 + 194fe: 682b ldr r3, [r5, #0] + 19500: 2200 movs r2, #0 + 19502: 9200 str r2, [sp, #0] + 19504: aa08 add r2, sp, #32 + 19506: 4631 mov r1, r6 + 19508: a802 add r0, sp, #8 + 1950a: 4c1f ldr r4, [pc, #124] ; (19588 ) + 1950c: 47a0 blx r4 + 1950e: e725 b.n 1935c if(ext->h == 0 || ext->w == 0) return true; - 19528: 2001 movs r0, #1 - 1952a: e002 b.n 19532 + 19510: 2001 movs r0, #1 + 19512: e002 b.n 1951a else if(mode == LV_DESIGN_DRAW_POST) { - 1952c: 2c01 cmp r4, #1 - 1952e: d003 beq.n 19538 + 19514: 2c01 cmp r4, #1 + 19516: d003 beq.n 19520 return LV_DESIGN_RES_OK; - 19530: 2000 movs r0, #0 + 19518: 2000 movs r0, #0 } - 19532: b024 add sp, #144 ; 0x90 - 19534: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1951a: b024 add sp, #144 ; 0x90 + 1951c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(CLIP_CORNER, clip_corner, bool, _int, scalar) - 19538: 2202 movs r2, #2 - 1953a: 2100 movs r1, #0 - 1953c: 4638 mov r0, r7 - 1953e: 4b19 ldr r3, [pc, #100] ; (195a4 ) - 19540: 4798 blx r3 + 19520: 2202 movs r2, #2 + 19522: 2100 movs r1, #0 + 19524: 4638 mov r0, r7 + 19526: 4b19 ldr r3, [pc, #100] ; (1958c ) + 19528: 4798 blx r3 if(lv_obj_get_style_clip_corner(img, LV_OBJ_PART_MAIN)) { - 19542: b950 cbnz r0, 1955a + 1952a: b950 cbnz r0, 19542 lv_draw_rect_dsc_init(&draw_dsc); - 19544: a80f add r0, sp, #60 ; 0x3c - 19546: 4b18 ldr r3, [pc, #96] ; (195a8 ) - 19548: 4798 blx r3 + 1952c: a80f add r0, sp, #60 ; 0x3c + 1952e: 4b18 ldr r3, [pc, #96] ; (19590 ) + 19530: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(BORDER_POST, border_post, bool, _int, scalar) - 1954a: 2233 movs r2, #51 ; 0x33 - 1954c: 2100 movs r1, #0 - 1954e: 4638 mov r0, r7 - 19550: 4b14 ldr r3, [pc, #80] ; (195a4 ) - 19552: 4798 blx r3 + 19532: 2233 movs r2, #51 ; 0x33 + 19534: 2100 movs r1, #0 + 19536: 4638 mov r0, r7 + 19538: 4b14 ldr r3, [pc, #80] ; (1958c ) + 1953a: 4798 blx r3 if(lv_obj_get_style_border_post(img, LV_OBJ_PART_MAIN)) { - 19554: b940 cbnz r0, 19568 + 1953c: b940 cbnz r0, 19550 return LV_DESIGN_RES_OK; - 19556: 2000 movs r0, #0 - 19558: e7eb b.n 19532 + 1953e: 2000 movs r0, #0 + 19540: e7eb b.n 1951a lv_draw_mask_radius_param_t * param = lv_draw_mask_remove_custom(img + 8); - 1955a: f507 7018 add.w r0, r7, #608 ; 0x260 - 1955e: 4b13 ldr r3, [pc, #76] ; (195ac ) - 19560: 4798 blx r3 + 19542: f507 7018 add.w r0, r7, #608 ; 0x260 + 19546: 4b13 ldr r3, [pc, #76] ; (19594 ) + 19548: 4798 blx r3 _lv_mem_buf_release(param); - 19562: 4b13 ldr r3, [pc, #76] ; (195b0 ) - 19564: 4798 blx r3 - 19566: e7ed b.n 19544 + 1954a: 4b13 ldr r3, [pc, #76] ; (19598 ) + 1954c: 4798 blx r3 + 1954e: e7ed b.n 1952c draw_dsc.bg_opa = LV_OPA_TRANSP; - 19568: 2100 movs r1, #0 - 1956a: f88d 1048 strb.w r1, [sp, #72] ; 0x48 + 19550: 2100 movs r1, #0 + 19552: f88d 1048 strb.w r1, [sp, #72] ; 0x48 draw_dsc.pattern_opa = LV_OPA_TRANSP; - 1956e: f88d 1072 strb.w r1, [sp, #114] ; 0x72 + 19556: f88d 1072 strb.w r1, [sp, #114] ; 0x72 draw_dsc.shadow_opa = LV_OPA_TRANSP; - 19572: f88d 1064 strb.w r1, [sp, #100] ; 0x64 + 1955a: f88d 1064 strb.w r1, [sp, #100] ; 0x64 lv_obj_init_draw_rect_dsc(img, LV_OBJ_PART_MAIN, &draw_dsc); - 19576: aa0f add r2, sp, #60 ; 0x3c - 19578: 4638 mov r0, r7 - 1957a: 4b0e ldr r3, [pc, #56] ; (195b4 ) - 1957c: 4798 blx r3 + 1955e: aa0f add r2, sp, #60 ; 0x3c + 19560: 4638 mov r0, r7 + 19562: 4b0e ldr r3, [pc, #56] ; (1959c ) + 19564: 4798 blx r3 lv_draw_rect(&img->coords, clip_area, &draw_dsc); - 1957e: aa0f add r2, sp, #60 ; 0x3c - 19580: 4631 mov r1, r6 - 19582: f107 0010 add.w r0, r7, #16 - 19586: 4b0c ldr r3, [pc, #48] ; (195b8 ) - 19588: 4798 blx r3 - 1958a: e7e4 b.n 19556 + 19566: aa0f add r2, sp, #60 ; 0x3c + 19568: 4631 mov r1, r6 + 1956a: f107 0010 add.w r0, r7, #16 + 1956e: 4b0c ldr r3, [pc, #48] ; (195a0 ) + 19570: 4798 blx r3 + 19572: e7e4 b.n 1953e if(ext->src_type == LV_IMG_SRC_UNKNOWN || ext->src_type == LV_IMG_SRC_SYMBOL) return LV_DESIGN_RES_NOT_COVER; - 1958c: 2002 movs r0, #2 - 1958e: e7d0 b.n 19532 - 19590: 000096e9 .word 0x000096e9 - 19594: 000099cd .word 0x000099cd - 19598: 000056b1 .word 0x000056b1 - 1959c: 00004581 .word 0x00004581 - 195a0: 00009a25 .word 0x00009a25 - 195a4: 000044d5 .word 0x000044d5 - 195a8: 0000c269 .word 0x0000c269 - 195ac: 0000be91 .word 0x0000be91 - 195b0: 00012571 .word 0x00012571 - 195b4: 000050c5 .word 0x000050c5 - 195b8: 0000c331 .word 0x0000c331 - -000195bc : -{ - 195bc: b530 push {r4, r5, lr} - 195be: b083 sub sp, #12 - 195c0: 4604 mov r4, r0 + 19574: 2002 movs r0, #2 + 19576: e7d0 b.n 1951a + 19578: 000096d1 .word 0x000096d1 + 1957c: 000099b5 .word 0x000099b5 + 19580: 00005699 .word 0x00005699 + 19584: 00004569 .word 0x00004569 + 19588: 00009a0d .word 0x00009a0d + 1958c: 000044bd .word 0x000044bd + 19590: 0000c251 .word 0x0000c251 + 19594: 0000be79 .word 0x0000be79 + 19598: 00012559 .word 0x00012559 + 1959c: 000050ad .word 0x000050ad + 195a0: 0000c319 .word 0x0000c319 + +000195a4 : +{ + 195a4: b530 push {r4, r5, lr} + 195a6: b083 sub sp, #12 + 195a8: 4604 mov r4, r0 LV_ASSERT_OBJ(img, LV_OBJX_NAME); - 195c2: 4b0c ldr r3, [pc, #48] ; (195f4 ) - 195c4: 4798 blx r3 - 195c6: b968 cbnz r0, 195e4 - 195c8: 4b0b ldr r3, [pc, #44] ; (195f8 ) - 195ca: 9300 str r3, [sp, #0] - 195cc: f44f 72e7 mov.w r2, #462 ; 0x1ce - 195d0: 490a ldr r1, [pc, #40] ; (195fc ) - 195d2: 2003 movs r0, #3 - 195d4: 4d0a ldr r5, [pc, #40] ; (19600 ) - 195d6: 47a8 blx r5 - 195d8: 4622 mov r2, r4 - 195da: 2300 movs r3, #0 - 195dc: 4809 ldr r0, [pc, #36] ; (19604 ) - 195de: 490a ldr r1, [pc, #40] ; (19608 ) - 195e0: 4788 blx r1 - 195e2: e7fe b.n 195e2 + 195aa: 4b0c ldr r3, [pc, #48] ; (195dc ) + 195ac: 4798 blx r3 + 195ae: b968 cbnz r0, 195cc + 195b0: 4b0b ldr r3, [pc, #44] ; (195e0 ) + 195b2: 9300 str r3, [sp, #0] + 195b4: f44f 72e7 mov.w r2, #462 ; 0x1ce + 195b8: 490a ldr r1, [pc, #40] ; (195e4 ) + 195ba: 2003 movs r0, #3 + 195bc: 4d0a ldr r5, [pc, #40] ; (195e8 ) + 195be: 47a8 blx r5 + 195c0: 4622 mov r2, r4 + 195c2: 2300 movs r3, #0 + 195c4: 4809 ldr r0, [pc, #36] ; (195ec ) + 195c6: 490a ldr r1, [pc, #40] ; (195f0 ) + 195c8: 4788 blx r1 + 195ca: e7fe b.n 195ca lv_img_ext_t * ext = lv_obj_get_ext_attr(img); - 195e4: 4620 mov r0, r4 - 195e6: 4b09 ldr r3, [pc, #36] ; (1960c ) - 195e8: 4798 blx r3 + 195cc: 4620 mov r0, r4 + 195ce: 4b09 ldr r3, [pc, #36] ; (195f4 ) + 195d0: 4798 blx r3 return ext->auto_size == 0 ? false : true; - 195ea: 7d00 ldrb r0, [r0, #20] -} - 195ec: f3c0 0080 ubfx r0, r0, #2, #1 - 195f0: b003 add sp, #12 - 195f2: bd30 pop {r4, r5, pc} - 195f4: 000022b1 .word 0x000022b1 - 195f8: 00029608 .word 0x00029608 - 195fc: 000296b8 .word 0x000296b8 - 19600: 0001225d .word 0x0001225d - 19604: 0002483c .word 0x0002483c - 19608: 000022b9 .word 0x000022b9 - 1960c: 00004d9d .word 0x00004d9d - -00019610 : -{ - 19610: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 19614: b086 sub sp, #24 - 19616: 4605 mov r5, r0 - 19618: 460e mov r6, r1 + 195d2: 7d00 ldrb r0, [r0, #20] +} + 195d4: f3c0 0080 ubfx r0, r0, #2, #1 + 195d8: b003 add sp, #12 + 195da: bd30 pop {r4, r5, pc} + 195dc: 00002299 .word 0x00002299 + 195e0: 000295f0 .word 0x000295f0 + 195e4: 000296a0 .word 0x000296a0 + 195e8: 00012245 .word 0x00012245 + 195ec: 00024824 .word 0x00024824 + 195f0: 000022a1 .word 0x000022a1 + 195f4: 00004d85 .word 0x00004d85 + +000195f8 : +{ + 195f8: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 195fc: b086 sub sp, #24 + 195fe: 4605 mov r5, r0 + 19600: 460e mov r6, r1 LV_ASSERT_OBJ(img, LV_OBJX_NAME); - 1961a: 4b7c ldr r3, [pc, #496] ; (1980c ) - 1961c: 4798 blx r3 - 1961e: b960 cbnz r0, 1963a - 19620: 4b7b ldr r3, [pc, #492] ; (19810 ) - 19622: 9300 str r3, [sp, #0] - 19624: 228f movs r2, #143 ; 0x8f - 19626: 497b ldr r1, [pc, #492] ; (19814 ) - 19628: 2003 movs r0, #3 - 1962a: 4c7b ldr r4, [pc, #492] ; (19818 ) - 1962c: 47a0 blx r4 - 1962e: 462a mov r2, r5 - 19630: 2300 movs r3, #0 - 19632: 487a ldr r0, [pc, #488] ; (1981c ) - 19634: 497a ldr r1, [pc, #488] ; (19820 ) - 19636: 4788 blx r1 - 19638: e7fe b.n 19638 + 19602: 4b7c ldr r3, [pc, #496] ; (197f4 ) + 19604: 4798 blx r3 + 19606: b960 cbnz r0, 19622 + 19608: 4b7b ldr r3, [pc, #492] ; (197f8 ) + 1960a: 9300 str r3, [sp, #0] + 1960c: 228f movs r2, #143 ; 0x8f + 1960e: 497b ldr r1, [pc, #492] ; (197fc ) + 19610: 2003 movs r0, #3 + 19612: 4c7b ldr r4, [pc, #492] ; (19800 ) + 19614: 47a0 blx r4 + 19616: 462a mov r2, r5 + 19618: 2300 movs r3, #0 + 1961a: 487a ldr r0, [pc, #488] ; (19804 ) + 1961c: 497a ldr r1, [pc, #488] ; (19808 ) + 1961e: 4788 blx r1 + 19620: e7fe b.n 19620 lv_img_src_t src_type = lv_img_src_get_type(src_img); - 1963a: 4630 mov r0, r6 - 1963c: 4b79 ldr r3, [pc, #484] ; (19824 ) - 1963e: 4798 blx r3 - 19640: 4607 mov r7, r0 + 19622: 4630 mov r0, r6 + 19624: 4b79 ldr r3, [pc, #484] ; (1980c ) + 19626: 4798 blx r3 + 19628: 4607 mov r7, r0 lv_img_ext_t * ext = lv_obj_get_ext_attr(img); - 19642: 4628 mov r0, r5 - 19644: 4b78 ldr r3, [pc, #480] ; (19828 ) - 19646: 4798 blx r3 - 19648: 4604 mov r4, r0 + 1962a: 4628 mov r0, r5 + 1962c: 4b78 ldr r3, [pc, #480] ; (19810 ) + 1962e: 4798 blx r3 + 19630: 4604 mov r4, r0 switch(src_type) { - 1964a: 2f02 cmp r7, #2 - 1964c: d83a bhi.n 196c4 + 19632: 2f02 cmp r7, #2 + 19634: d83a bhi.n 196ac if(src_type == LV_IMG_SRC_UNKNOWN) { - 1964e: 2f03 cmp r7, #3 - 19650: d042 beq.n 196d8 + 19636: 2f03 cmp r7, #3 + 19638: d042 beq.n 196c0 lv_img_decoder_get_info(src_img, &header); - 19652: a905 add r1, sp, #20 - 19654: 4630 mov r0, r6 - 19656: 4b75 ldr r3, [pc, #468] ; (1982c ) - 19658: 4798 blx r3 + 1963a: a905 add r1, sp, #20 + 1963c: 4630 mov r0, r6 + 1963e: 4b75 ldr r3, [pc, #468] ; (19814 ) + 19640: 4798 blx r3 if(src_type == LV_IMG_SRC_VARIABLE) { - 1965a: 2f00 cmp r7, #0 - 1965c: d055 beq.n 1970a + 19642: 2f00 cmp r7, #0 + 19644: d055 beq.n 196f2 else if(src_type == LV_IMG_SRC_FILE || src_type == LV_IMG_SRC_SYMBOL) { - 1965e: 1e7b subs r3, r7, #1 - 19660: b2db uxtb r3, r3 - 19662: 2b01 cmp r3, #1 - 19664: d966 bls.n 19734 + 19646: 1e7b subs r3, r7, #1 + 19648: b2db uxtb r3, r3 + 1964a: 2b01 cmp r3, #1 + 1964c: d966 bls.n 1971c if(src_type == LV_IMG_SRC_SYMBOL) { - 19666: 2f02 cmp r7, #2 - 19668: f000 8099 beq.w 1979e + 1964e: 2f02 cmp r7, #2 + 19650: f000 8099 beq.w 19786 ext->src_type = src_type; - 1966c: 7d21 ldrb r1, [r4, #20] - 1966e: f367 0101 bfi r1, r7, #0, #2 + 19654: 7d21 ldrb r1, [r4, #20] + 19656: f367 0101 bfi r1, r7, #0, #2 ext->w = header.w; - 19672: 9a05 ldr r2, [sp, #20] - 19674: f3c2 228a ubfx r2, r2, #10, #11 - 19678: 8122 strh r2, [r4, #8] + 1965a: 9a05 ldr r2, [sp, #20] + 1965c: f3c2 228a ubfx r2, r2, #10, #11 + 19660: 8122 strh r2, [r4, #8] ext->h = header.h; - 1967a: f8bd 3016 ldrh.w r3, [sp, #22] - 1967e: f3c3 134a ubfx r3, r3, #5, #11 - 19682: 8163 strh r3, [r4, #10] + 19662: f8bd 3016 ldrh.w r3, [sp, #22] + 19666: f3c3 134a ubfx r3, r3, #5, #11 + 1966a: 8163 strh r3, [r4, #10] ext->cf = header.cf; - 19684: f89d 0014 ldrb.w r0, [sp, #20] - 19688: f360 01c7 bfi r1, r0, #3, #5 - 1968c: 7521 strb r1, [r4, #20] + 1966c: f89d 0014 ldrb.w r0, [sp, #20] + 19670: f360 01c7 bfi r1, r0, #3, #5 + 19674: 7521 strb r1, [r4, #20] ext->pivot.x = header.w / 2; - 1968e: f3c2 0249 ubfx r2, r2, #1, #10 - 19692: 81e2 strh r2, [r4, #14] + 19676: f3c2 0249 ubfx r2, r2, #1, #10 + 1967a: 81e2 strh r2, [r4, #14] ext->pivot.y = header.h / 2; - 19694: f3c3 0349 ubfx r3, r3, #1, #10 - 19698: 8223 strh r3, [r4, #16] + 1967c: f3c3 0349 ubfx r3, r3, #1, #10 + 19680: 8223 strh r3, [r4, #16] if(lv_img_get_auto_size(img) != false) { + 19682: 4628 mov r0, r5 + 19684: 4b64 ldr r3, [pc, #400] ; (19818 ) + 19686: 4798 blx r3 + 19688: 2800 cmp r0, #0 + 1968a: f040 80aa bne.w 197e2 + if(ext->angle || ext->zoom != LV_IMG_ZOOM_NONE) lv_obj_refresh_ext_draw_pad(img); + 1968e: 89a3 ldrh r3, [r4, #12] + 19690: b91b cbnz r3, 1969a + 19692: 8a63 ldrh r3, [r4, #18] + 19694: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 19698: d002 beq.n 196a0 1969a: 4628 mov r0, r5 - 1969c: 4b64 ldr r3, [pc, #400] ; (19830 ) + 1969c: 4b5f ldr r3, [pc, #380] ; (1981c ) 1969e: 4798 blx r3 - 196a0: 2800 cmp r0, #0 - 196a2: f040 80aa bne.w 197fa - if(ext->angle || ext->zoom != LV_IMG_ZOOM_NONE) lv_obj_refresh_ext_draw_pad(img); - 196a6: 89a3 ldrh r3, [r4, #12] - 196a8: b91b cbnz r3, 196b2 - 196aa: 8a63 ldrh r3, [r4, #18] - 196ac: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 196b0: d002 beq.n 196b8 - 196b2: 4628 mov r0, r5 - 196b4: 4b5f ldr r3, [pc, #380] ; (19834 ) - 196b6: 4798 blx r3 lv_obj_invalidate(img); - 196b8: 4628 mov r0, r5 - 196ba: 4b5f ldr r3, [pc, #380] ; (19838 ) - 196bc: 4798 blx r3 + 196a0: 4628 mov r0, r5 + 196a2: 4b5f ldr r3, [pc, #380] ; (19820 ) + 196a4: 4798 blx r3 } - 196be: b006 add sp, #24 - 196c0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 196a6: b006 add sp, #24 + 196a8: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} LV_LOG_WARN("lv_img_set_src: unknown type"); - 196c4: 4b5d ldr r3, [pc, #372] ; (1983c ) - 196c6: 9300 str r3, [sp, #0] - 196c8: 4b51 ldr r3, [pc, #324] ; (19810 ) - 196ca: 22a0 movs r2, #160 ; 0xa0 - 196cc: 4951 ldr r1, [pc, #324] ; (19814 ) - 196ce: 2002 movs r0, #2 - 196d0: f8df 8144 ldr.w r8, [pc, #324] ; 19818 - 196d4: 47c0 blx r8 - 196d6: e7ba b.n 1964e + 196ac: 4b5d ldr r3, [pc, #372] ; (19824 ) + 196ae: 9300 str r3, [sp, #0] + 196b0: 4b51 ldr r3, [pc, #324] ; (197f8 ) + 196b2: 22a0 movs r2, #160 ; 0xa0 + 196b4: 4951 ldr r1, [pc, #324] ; (197fc ) + 196b6: 2002 movs r0, #2 + 196b8: f8df 8144 ldr.w r8, [pc, #324] ; 19800 + 196bc: 47c0 blx r8 + 196be: e7ba b.n 19636 LV_LOG_WARN("lv_img_set_src: unknown image type"); - 196d8: 4b59 ldr r3, [pc, #356] ; (19840 ) - 196da: 9300 str r3, [sp, #0] - 196dc: 4b4c ldr r3, [pc, #304] ; (19810 ) - 196de: 22a6 movs r2, #166 ; 0xa6 - 196e0: 494c ldr r1, [pc, #304] ; (19814 ) - 196e2: 2002 movs r0, #2 - 196e4: 4d4c ldr r5, [pc, #304] ; (19818 ) - 196e6: 47a8 blx r5 + 196c0: 4b59 ldr r3, [pc, #356] ; (19828 ) + 196c2: 9300 str r3, [sp, #0] + 196c4: 4b4c ldr r3, [pc, #304] ; (197f8 ) + 196c6: 22a6 movs r2, #166 ; 0xa6 + 196c8: 494c ldr r1, [pc, #304] ; (197fc ) + 196ca: 2002 movs r0, #2 + 196cc: 4d4c ldr r5, [pc, #304] ; (19800 ) + 196ce: 47a8 blx r5 if(ext->src_type == LV_IMG_SRC_SYMBOL || ext->src_type == LV_IMG_SRC_FILE) { - 196e8: 7d23 ldrb r3, [r4, #20] - 196ea: f003 0303 and.w r3, r3, #3 - 196ee: 3b01 subs r3, #1 - 196f0: b2db uxtb r3, r3 - 196f2: 2b01 cmp r3, #1 - 196f4: d802 bhi.n 196fc + 196d0: 7d23 ldrb r3, [r4, #20] + 196d2: f003 0303 and.w r3, r3, #3 + 196d6: 3b01 subs r3, #1 + 196d8: b2db uxtb r3, r3 + 196da: 2b01 cmp r3, #1 + 196dc: d802 bhi.n 196e4 lv_mem_free(ext->src); - 196f6: 6820 ldr r0, [r4, #0] - 196f8: 4b52 ldr r3, [pc, #328] ; (19844 ) - 196fa: 4798 blx r3 + 196de: 6820 ldr r0, [r4, #0] + 196e0: 4b52 ldr r3, [pc, #328] ; (1982c ) + 196e2: 4798 blx r3 ext->src = NULL; - 196fc: 2300 movs r3, #0 - 196fe: 6023 str r3, [r4, #0] + 196e4: 2300 movs r3, #0 + 196e6: 6023 str r3, [r4, #0] ext->src_type = LV_IMG_SRC_UNKNOWN; - 19700: 7d23 ldrb r3, [r4, #20] - 19702: f043 0303 orr.w r3, r3, #3 - 19706: 7523 strb r3, [r4, #20] + 196e8: 7d23 ldrb r3, [r4, #20] + 196ea: f043 0303 orr.w r3, r3, #3 + 196ee: 7523 strb r3, [r4, #20] return; - 19708: e7d9 b.n 196be + 196f0: e7d9 b.n 196a6 LV_LOG_INFO("lv_img_set_src: `LV_IMG_SRC_VARIABLE` type found"); - 1970a: 4b4f ldr r3, [pc, #316] ; (19848 ) - 1970c: 9300 str r3, [sp, #0] - 1970e: 4b40 ldr r3, [pc, #256] ; (19810 ) - 19710: 22b4 movs r2, #180 ; 0xb4 - 19712: 4940 ldr r1, [pc, #256] ; (19814 ) - 19714: 2001 movs r0, #1 - 19716: f8df 8100 ldr.w r8, [pc, #256] ; 19818 - 1971a: 47c0 blx r8 + 196f2: 4b4f ldr r3, [pc, #316] ; (19830 ) + 196f4: 9300 str r3, [sp, #0] + 196f6: 4b40 ldr r3, [pc, #256] ; (197f8 ) + 196f8: 22b4 movs r2, #180 ; 0xb4 + 196fa: 4940 ldr r1, [pc, #256] ; (197fc ) + 196fc: 2001 movs r0, #1 + 196fe: f8df 8100 ldr.w r8, [pc, #256] ; 19800 + 19702: 47c0 blx r8 if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { - 1971c: 7d23 ldrb r3, [r4, #20] - 1971e: f003 0303 and.w r3, r3, #3 - 19722: 3b01 subs r3, #1 - 19724: b2db uxtb r3, r3 - 19726: 2b01 cmp r3, #1 - 19728: d802 bhi.n 19730 + 19704: 7d23 ldrb r3, [r4, #20] + 19706: f003 0303 and.w r3, r3, #3 + 1970a: 3b01 subs r3, #1 + 1970c: b2db uxtb r3, r3 + 1970e: 2b01 cmp r3, #1 + 19710: d802 bhi.n 19718 lv_mem_free(ext->src); - 1972a: 6820 ldr r0, [r4, #0] - 1972c: 4b45 ldr r3, [pc, #276] ; (19844 ) - 1972e: 4798 blx r3 + 19712: 6820 ldr r0, [r4, #0] + 19714: 4b45 ldr r3, [pc, #276] ; (1982c ) + 19716: 4798 blx r3 ext->src = src_img; - 19730: 6026 str r6, [r4, #0] - 19732: e79b b.n 1966c + 19718: 6026 str r6, [r4, #0] + 1971a: e79b b.n 19654 if(ext->src != src_img) { - 19734: f8d4 8000 ldr.w r8, [r4] - 19738: 4546 cmp r6, r8 - 1973a: d094 beq.n 19666 + 1971c: f8d4 8000 ldr.w r8, [r4] + 19720: 4546 cmp r6, r8 + 19722: d094 beq.n 1964e if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { - 1973c: 7d23 ldrb r3, [r4, #20] - 1973e: f003 0303 and.w r3, r3, #3 - 19742: 3b01 subs r3, #1 - 19744: b2db uxtb r3, r3 + 19724: 7d23 ldrb r3, [r4, #20] + 19726: f003 0303 and.w r3, r3, #3 + 1972a: 3b01 subs r3, #1 + 1972c: b2db uxtb r3, r3 const void * old_src = NULL; - 19746: 2b02 cmp r3, #2 - 19748: bf28 it cs - 1974a: f04f 0800 movcs.w r8, #0 + 1972e: 2b02 cmp r3, #2 + 19730: bf28 it cs + 19732: f04f 0800 movcs.w r8, #0 char * new_str = lv_mem_alloc(strlen(src_img) + 1); - 1974e: 4630 mov r0, r6 - 19750: 4b3e ldr r3, [pc, #248] ; (1984c ) - 19752: 4798 blx r3 - 19754: 3001 adds r0, #1 - 19756: 4b3e ldr r3, [pc, #248] ; (19850 ) - 19758: 4798 blx r3 - 1975a: 4681 mov r9, r0 + 19736: 4630 mov r0, r6 + 19738: 4b3e ldr r3, [pc, #248] ; (19834 ) + 1973a: 4798 blx r3 + 1973c: 3001 adds r0, #1 + 1973e: 4b3e ldr r3, [pc, #248] ; (19838 ) + 19740: 4798 blx r3 + 19742: 4681 mov r9, r0 LV_ASSERT_MEM(new_str); - 1975c: 4b2b ldr r3, [pc, #172] ; (1980c ) - 1975e: 4798 blx r3 - 19760: b960 cbnz r0, 1977c - 19762: 4b2b ldr r3, [pc, #172] ; (19810 ) - 19764: 9300 str r3, [sp, #0] - 19766: 22c7 movs r2, #199 ; 0xc7 - 19768: 492a ldr r1, [pc, #168] ; (19814 ) - 1976a: 2003 movs r0, #3 - 1976c: 4c2a ldr r4, [pc, #168] ; (19818 ) - 1976e: 47a0 blx r4 - 19770: 464a mov r2, r9 - 19772: 2300 movs r3, #0 - 19774: 4837 ldr r0, [pc, #220] ; (19854 ) - 19776: 492a ldr r1, [pc, #168] ; (19820 ) - 19778: 4788 blx r1 - 1977a: e7fe b.n 1977a + 19744: 4b2b ldr r3, [pc, #172] ; (197f4 ) + 19746: 4798 blx r3 + 19748: b960 cbnz r0, 19764 + 1974a: 4b2b ldr r3, [pc, #172] ; (197f8 ) + 1974c: 9300 str r3, [sp, #0] + 1974e: 22c7 movs r2, #199 ; 0xc7 + 19750: 492a ldr r1, [pc, #168] ; (197fc ) + 19752: 2003 movs r0, #3 + 19754: 4c2a ldr r4, [pc, #168] ; (19800 ) + 19756: 47a0 blx r4 + 19758: 464a mov r2, r9 + 1975a: 2300 movs r3, #0 + 1975c: 4837 ldr r0, [pc, #220] ; (1983c ) + 1975e: 492a ldr r1, [pc, #168] ; (19808 ) + 19760: 4788 blx r1 + 19762: e7fe b.n 19762 if(new_str == NULL) return; - 1977c: f1b9 0f00 cmp.w r9, #0 - 19780: d09d beq.n 196be + 19764: f1b9 0f00 cmp.w r9, #0 + 19768: d09d beq.n 196a6 strcpy(new_str, src_img); - 19782: 4631 mov r1, r6 - 19784: 4648 mov r0, r9 - 19786: 4b34 ldr r3, [pc, #208] ; (19858 ) - 19788: 4798 blx r3 + 1976a: 4631 mov r1, r6 + 1976c: 4648 mov r0, r9 + 1976e: 4b34 ldr r3, [pc, #208] ; (19840 ) + 19770: 4798 blx r3 ext->src = new_str; - 1978a: f8c4 9000 str.w r9, [r4] + 19772: f8c4 9000 str.w r9, [r4] if(old_src) lv_mem_free(old_src); - 1978e: f1b8 0f00 cmp.w r8, #0 - 19792: f43f af68 beq.w 19666 - 19796: 4640 mov r0, r8 - 19798: 4b2a ldr r3, [pc, #168] ; (19844 ) - 1979a: 4798 blx r3 - 1979c: e763 b.n 19666 + 19776: f1b8 0f00 cmp.w r8, #0 + 1977a: f43f af68 beq.w 1964e + 1977e: 4640 mov r0, r8 + 19780: 4b2a ldr r3, [pc, #168] ; (1982c ) + 19782: 4798 blx r3 + 19784: e763 b.n 1964e _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 1979e: f248 028e movw r2, #32910 ; 0x808e - 197a2: 2100 movs r1, #0 - 197a4: 4628 mov r0, r5 - 197a6: 4b2d ldr r3, [pc, #180] ; (1985c ) - 197a8: 4798 blx r3 - 197aa: 4681 mov r9, r0 + 19786: f248 028e movw r2, #32910 ; 0x808e + 1978a: 2100 movs r1, #0 + 1978c: 4628 mov r0, r5 + 1978e: 4b2d ldr r3, [pc, #180] ; (19844 ) + 19790: 4798 blx r3 + 19792: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 197ac: f248 0280 movw r2, #32896 ; 0x8080 - 197b0: 2100 movs r1, #0 - 197b2: 4628 mov r0, r5 - 197b4: f8df 80b0 ldr.w r8, [pc, #176] ; 19868 - 197b8: 47c0 blx r8 - 197ba: 4682 mov sl, r0 + 19794: f248 0280 movw r2, #32896 ; 0x8080 + 19798: 2100 movs r1, #0 + 1979a: 4628 mov r0, r5 + 1979c: f8df 80b0 ldr.w r8, [pc, #176] ; 19850 + 197a0: 47c0 blx r8 + 197a2: 4682 mov sl, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 197bc: f248 0281 movw r2, #32897 ; 0x8081 - 197c0: 2100 movs r1, #0 - 197c2: 4628 mov r0, r5 - 197c4: 47c0 blx r8 + 197a4: f248 0281 movw r2, #32897 ; 0x8081 + 197a8: 2100 movs r1, #0 + 197aa: 4628 mov r0, r5 + 197ac: 47c0 blx r8 _lv_txt_get_size(&size, src_img, font, letter_space, line_space, - 197c6: 2300 movs r3, #0 - 197c8: 9302 str r3, [sp, #8] - 197ca: f647 4318 movw r3, #31768 ; 0x7c18 - 197ce: 9301 str r3, [sp, #4] - 197d0: 9000 str r0, [sp, #0] - 197d2: 4653 mov r3, sl - 197d4: 464a mov r2, r9 - 197d6: 4631 mov r1, r6 - 197d8: a804 add r0, sp, #16 - 197da: 4e21 ldr r6, [pc, #132] ; (19860 ) - 197dc: 47b0 blx r6 + 197ae: 2300 movs r3, #0 + 197b0: 9302 str r3, [sp, #8] + 197b2: f647 4318 movw r3, #31768 ; 0x7c18 + 197b6: 9301 str r3, [sp, #4] + 197b8: 9000 str r0, [sp, #0] + 197ba: 4653 mov r3, sl + 197bc: 464a mov r2, r9 + 197be: 4631 mov r1, r6 + 197c0: a804 add r0, sp, #16 + 197c2: 4e21 ldr r6, [pc, #132] ; (19848 ) + 197c4: 47b0 blx r6 header.w = size.x; - 197de: 9b05 ldr r3, [sp, #20] - 197e0: f8bd 2010 ldrh.w r2, [sp, #16] - 197e4: f362 2394 bfi r3, r2, #10, #11 - 197e8: 9305 str r3, [sp, #20] + 197c6: 9b05 ldr r3, [sp, #20] + 197c8: f8bd 2010 ldrh.w r2, [sp, #16] + 197cc: f362 2394 bfi r3, r2, #10, #11 + 197d0: 9305 str r3, [sp, #20] header.h = size.y; - 197ea: 0c1b lsrs r3, r3, #16 - 197ec: f8bd 2012 ldrh.w r2, [sp, #18] - 197f0: f362 134f bfi r3, r2, #5, #11 - 197f4: f8ad 3016 strh.w r3, [sp, #22] - 197f8: e738 b.n 1966c + 197d2: 0c1b lsrs r3, r3, #16 + 197d4: f8bd 2012 ldrh.w r2, [sp, #18] + 197d8: f362 134f bfi r3, r2, #5, #11 + 197dc: f8ad 3016 strh.w r3, [sp, #22] + 197e0: e738 b.n 19654 lv_obj_set_size(img, ext->w, ext->h); - 197fa: f9b4 200a ldrsh.w r2, [r4, #10] - 197fe: f9b4 1008 ldrsh.w r1, [r4, #8] - 19802: 4628 mov r0, r5 - 19804: 4b17 ldr r3, [pc, #92] ; (19864 ) - 19806: 4798 blx r3 - 19808: e74d b.n 196a6 - 1980a: bf00 nop - 1980c: 000022b1 .word 0x000022b1 - 19810: 00029620 .word 0x00029620 - 19814: 000296b8 .word 0x000296b8 - 19818: 0001225d .word 0x0001225d - 1981c: 0002483c .word 0x0002483c - 19820: 000022b9 .word 0x000022b9 - 19824: 00009969 .word 0x00009969 - 19828: 00004d9d .word 0x00004d9d - 1982c: 0000fded .word 0x0000fded - 19830: 000195bd .word 0x000195bd - 19834: 00002c2d .word 0x00002c2d - 19838: 00003321 .word 0x00003321 - 1983c: 000296e4 .word 0x000296e4 - 19840: 00029704 .word 0x00029704 - 19844: 000124c5 .word 0x000124c5 - 19848: 00029728 .word 0x00029728 - 1984c: 0001b51f .word 0x0001b51f - 19850: 000123dd .word 0x000123dd - 19854: 00023fd8 .word 0x00023fd8 - 19858: 0001b50f .word 0x0001b50f - 1985c: 000046a1 .word 0x000046a1 - 19860: 0001407d .word 0x0001407d - 19864: 000042a1 .word 0x000042a1 - 19868: 000044d5 .word 0x000044d5 - -0001986c : -{ - 1986c: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 19870: b082 sub sp, #8 - 19872: 4680 mov r8, r0 - 19874: 460f mov r7, r1 + 197e2: f9b4 200a ldrsh.w r2, [r4, #10] + 197e6: f9b4 1008 ldrsh.w r1, [r4, #8] + 197ea: 4628 mov r0, r5 + 197ec: 4b17 ldr r3, [pc, #92] ; (1984c ) + 197ee: 4798 blx r3 + 197f0: e74d b.n 1968e + 197f2: bf00 nop + 197f4: 00002299 .word 0x00002299 + 197f8: 00029608 .word 0x00029608 + 197fc: 000296a0 .word 0x000296a0 + 19800: 00012245 .word 0x00012245 + 19804: 00024824 .word 0x00024824 + 19808: 000022a1 .word 0x000022a1 + 1980c: 00009951 .word 0x00009951 + 19810: 00004d85 .word 0x00004d85 + 19814: 0000fdd5 .word 0x0000fdd5 + 19818: 000195a5 .word 0x000195a5 + 1981c: 00002c15 .word 0x00002c15 + 19820: 00003309 .word 0x00003309 + 19824: 000296cc .word 0x000296cc + 19828: 000296ec .word 0x000296ec + 1982c: 000124ad .word 0x000124ad + 19830: 00029710 .word 0x00029710 + 19834: 0001b507 .word 0x0001b507 + 19838: 000123c5 .word 0x000123c5 + 1983c: 00023fc0 .word 0x00023fc0 + 19840: 0001b4f7 .word 0x0001b4f7 + 19844: 00004689 .word 0x00004689 + 19848: 00014065 .word 0x00014065 + 1984c: 00004289 .word 0x00004289 + 19850: 000044bd .word 0x000044bd + +00019854 : +{ + 19854: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 19858: b082 sub sp, #8 + 1985a: 4680 mov r8, r0 + 1985c: 460f mov r7, r1 lv_obj_t * img = lv_obj_create(par, copy); - 19876: 4b58 ldr r3, [pc, #352] ; (199d8 ) - 19878: 4798 blx r3 - 1987a: 4605 mov r5, r0 + 1985e: 4b58 ldr r3, [pc, #352] ; (199c0 ) + 19860: 4798 blx r3 + 19862: 4605 mov r5, r0 LV_ASSERT_MEM(img); - 1987c: 4b57 ldr r3, [pc, #348] ; (199dc ) - 1987e: 4798 blx r3 - 19880: b1d0 cbz r0, 198b8 + 19864: 4b57 ldr r3, [pc, #348] ; (199c4 ) + 19866: 4798 blx r3 + 19868: b1d0 cbz r0, 198a0 if(img == NULL) return NULL; - 19882: 2d00 cmp r5, #0 - 19884: f000 8086 beq.w 19994 + 1986a: 2d00 cmp r5, #0 + 1986c: f000 8086 beq.w 1997c if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(img); - 19888: 4b55 ldr r3, [pc, #340] ; (199e0 ) - 1988a: 681b ldr r3, [r3, #0] - 1988c: b30b cbz r3, 198d2 + 19870: 4b55 ldr r3, [pc, #340] ; (199c8 ) + 19872: 681b ldr r3, [r3, #0] + 19874: b30b cbz r3, 198ba lv_img_ext_t * ext = lv_obj_allocate_ext_attr(img, sizeof(lv_img_ext_t)); - 1988e: 2118 movs r1, #24 - 19890: 4628 mov r0, r5 - 19892: 4b54 ldr r3, [pc, #336] ; (199e4 ) - 19894: 4798 blx r3 - 19896: 4604 mov r4, r0 + 19876: 2118 movs r1, #24 + 19878: 4628 mov r0, r5 + 1987a: 4b54 ldr r3, [pc, #336] ; (199cc ) + 1987c: 4798 blx r3 + 1987e: 4604 mov r4, r0 LV_ASSERT_MEM(ext); - 19898: 4b50 ldr r3, [pc, #320] ; (199dc ) - 1989a: 4798 blx r3 - 1989c: b9f8 cbnz r0, 198de - 1989e: 4b52 ldr r3, [pc, #328] ; (199e8 ) - 198a0: 9300 str r3, [sp, #0] - 198a2: 2249 movs r2, #73 ; 0x49 - 198a4: 4951 ldr r1, [pc, #324] ; (199ec ) - 198a6: 2003 movs r0, #3 - 198a8: 4d51 ldr r5, [pc, #324] ; (199f0 ) - 198aa: 47a8 blx r5 - 198ac: 4622 mov r2, r4 - 198ae: 2300 movs r3, #0 - 198b0: 4850 ldr r0, [pc, #320] ; (199f4 ) - 198b2: 4951 ldr r1, [pc, #324] ; (199f8 ) - 198b4: 4788 blx r1 - 198b6: e7fe b.n 198b6 + 19880: 4b50 ldr r3, [pc, #320] ; (199c4 ) + 19882: 4798 blx r3 + 19884: b9f8 cbnz r0, 198c6 + 19886: 4b52 ldr r3, [pc, #328] ; (199d0 ) + 19888: 9300 str r3, [sp, #0] + 1988a: 2249 movs r2, #73 ; 0x49 + 1988c: 4951 ldr r1, [pc, #324] ; (199d4 ) + 1988e: 2003 movs r0, #3 + 19890: 4d51 ldr r5, [pc, #324] ; (199d8 ) + 19892: 47a8 blx r5 + 19894: 4622 mov r2, r4 + 19896: 2300 movs r3, #0 + 19898: 4850 ldr r0, [pc, #320] ; (199dc ) + 1989a: 4951 ldr r1, [pc, #324] ; (199e0 ) + 1989c: 4788 blx r1 + 1989e: e7fe b.n 1989e LV_ASSERT_MEM(img); - 198b8: 4b4b ldr r3, [pc, #300] ; (199e8 ) - 198ba: 9300 str r3, [sp, #0] - 198bc: 2242 movs r2, #66 ; 0x42 - 198be: 494b ldr r1, [pc, #300] ; (199ec ) - 198c0: 2003 movs r0, #3 - 198c2: 4c4b ldr r4, [pc, #300] ; (199f0 ) - 198c4: 47a0 blx r4 - 198c6: 462a mov r2, r5 - 198c8: 2300 movs r3, #0 - 198ca: 484a ldr r0, [pc, #296] ; (199f4 ) - 198cc: 494a ldr r1, [pc, #296] ; (199f8 ) - 198ce: 4788 blx r1 - 198d0: e7fe b.n 198d0 + 198a0: 4b4b ldr r3, [pc, #300] ; (199d0 ) + 198a2: 9300 str r3, [sp, #0] + 198a4: 2242 movs r2, #66 ; 0x42 + 198a6: 494b ldr r1, [pc, #300] ; (199d4 ) + 198a8: 2003 movs r0, #3 + 198aa: 4c4b ldr r4, [pc, #300] ; (199d8 ) + 198ac: 47a0 blx r4 + 198ae: 462a mov r2, r5 + 198b0: 2300 movs r3, #0 + 198b2: 484a ldr r0, [pc, #296] ; (199dc ) + 198b4: 494a ldr r1, [pc, #296] ; (199e0 ) + 198b6: 4788 blx r1 + 198b8: e7fe b.n 198b8 if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(img); - 198d2: 4628 mov r0, r5 - 198d4: 4b49 ldr r3, [pc, #292] ; (199fc ) - 198d6: 4798 blx r3 - 198d8: 4b41 ldr r3, [pc, #260] ; (199e0 ) - 198da: 6018 str r0, [r3, #0] - 198dc: e7d7 b.n 1988e + 198ba: 4628 mov r0, r5 + 198bc: 4b49 ldr r3, [pc, #292] ; (199e4 ) + 198be: 4798 blx r3 + 198c0: 4b41 ldr r3, [pc, #260] ; (199c8 ) + 198c2: 6018 str r0, [r3, #0] + 198c4: e7d7 b.n 19876 if(ext == NULL) { - 198de: 2c00 cmp r4, #0 - 198e0: d05c beq.n 1999c + 198c6: 2c00 cmp r4, #0 + 198c8: d05c beq.n 19984 ext->src = NULL; - 198e2: 2600 movs r6, #0 - 198e4: 6026 str r6, [r4, #0] + 198ca: 2600 movs r6, #0 + 198cc: 6026 str r6, [r4, #0] ext->src_type = LV_IMG_SRC_UNKNOWN; - 198e6: 7d23 ldrb r3, [r4, #20] + 198ce: 7d23 ldrb r3, [r4, #20] ext->cf = LV_IMG_CF_UNKNOWN; - 198e8: f043 0303 orr.w r3, r3, #3 - 198ec: f366 03c7 bfi r3, r6, #3, #5 - 198f0: 7523 strb r3, [r4, #20] + 198d0: f043 0303 orr.w r3, r3, #3 + 198d4: f366 03c7 bfi r3, r6, #3, #5 + 198d8: 7523 strb r3, [r4, #20] ext->w = lv_obj_get_width(img); - 198f2: 4628 mov r0, r5 - 198f4: 4b42 ldr r3, [pc, #264] ; (19a00 ) - 198f6: 4798 blx r3 - 198f8: 8120 strh r0, [r4, #8] + 198da: 4628 mov r0, r5 + 198dc: 4b42 ldr r3, [pc, #264] ; (199e8 ) + 198de: 4798 blx r3 + 198e0: 8120 strh r0, [r4, #8] ext->h = lv_obj_get_height(img); - 198fa: 4628 mov r0, r5 - 198fc: 4b41 ldr r3, [pc, #260] ; (19a04 ) - 198fe: 4798 blx r3 - 19900: 8160 strh r0, [r4, #10] + 198e2: 4628 mov r0, r5 + 198e4: 4b41 ldr r3, [pc, #260] ; (199ec ) + 198e6: 4798 blx r3 + 198e8: 8160 strh r0, [r4, #10] ext->angle = 0; - 19902: 81a6 strh r6, [r4, #12] + 198ea: 81a6 strh r6, [r4, #12] ext->zoom = LV_IMG_ZOOM_NONE; - 19904: f44f 7380 mov.w r3, #256 ; 0x100 - 19908: 8263 strh r3, [r4, #18] + 198ec: f44f 7380 mov.w r3, #256 ; 0x100 + 198f0: 8263 strh r3, [r4, #18] ext->antialias = LV_ANTIALIAS ? 1 : 0; - 1990a: 7d63 ldrb r3, [r4, #21] - 1990c: f043 0301 orr.w r3, r3, #1 - 19910: 7563 strb r3, [r4, #21] + 198f2: 7d63 ldrb r3, [r4, #21] + 198f4: f043 0301 orr.w r3, r3, #1 + 198f8: 7563 strb r3, [r4, #21] ext->auto_size = 1; - 19912: 7d23 ldrb r3, [r4, #20] - 19914: f043 0304 orr.w r3, r3, #4 - 19918: 7523 strb r3, [r4, #20] + 198fa: 7d23 ldrb r3, [r4, #20] + 198fc: f043 0304 orr.w r3, r3, #4 + 19900: 7523 strb r3, [r4, #20] ext->offset.x = 0; - 1991a: 80a6 strh r6, [r4, #4] + 19902: 80a6 strh r6, [r4, #4] ext->offset.y = 0; - 1991c: 80e6 strh r6, [r4, #6] + 19904: 80e6 strh r6, [r4, #6] ext->pivot.x = 0; - 1991e: 81e6 strh r6, [r4, #14] + 19906: 81e6 strh r6, [r4, #14] ext->pivot.y = 0; - 19920: 8226 strh r6, [r4, #16] + 19908: 8226 strh r6, [r4, #16] lv_obj_set_signal_cb(img, lv_img_signal); - 19922: 4939 ldr r1, [pc, #228] ; (19a08 ) - 19924: 4628 mov r0, r5 - 19926: 4b39 ldr r3, [pc, #228] ; (19a0c ) - 19928: 4798 blx r3 + 1990a: 4939 ldr r1, [pc, #228] ; (199f0 ) + 1990c: 4628 mov r0, r5 + 1990e: 4b39 ldr r3, [pc, #228] ; (199f4 ) + 19910: 4798 blx r3 lv_obj_set_design_cb(img, lv_img_design); - 1992a: 4939 ldr r1, [pc, #228] ; (19a10 ) - 1992c: 4628 mov r0, r5 - 1992e: 4b39 ldr r3, [pc, #228] ; (19a14 ) - 19930: 4798 blx r3 + 19912: 4939 ldr r1, [pc, #228] ; (199f8 ) + 19914: 4628 mov r0, r5 + 19916: 4b39 ldr r3, [pc, #228] ; (199fc ) + 19918: 4798 blx r3 if(copy == NULL) { - 19932: 2f00 cmp r7, #0 - 19934: d037 beq.n 199a6 + 1991a: 2f00 cmp r7, #0 + 1991c: d037 beq.n 1998e lv_img_ext_t * copy_ext = lv_obj_get_ext_attr(copy); - 19936: 4638 mov r0, r7 - 19938: 4b37 ldr r3, [pc, #220] ; (19a18 ) - 1993a: 4798 blx r3 + 1991e: 4638 mov r0, r7 + 19920: 4b37 ldr r3, [pc, #220] ; (19a00 ) + 19922: 4798 blx r3 ext->auto_size = copy_ext->auto_size; - 1993c: 7d03 ldrb r3, [r0, #20] - 1993e: f3c3 0380 ubfx r3, r3, #2, #1 - 19942: 7d22 ldrb r2, [r4, #20] - 19944: f363 0282 bfi r2, r3, #2, #1 - 19948: 7522 strb r2, [r4, #20] + 19924: 7d03 ldrb r3, [r0, #20] + 19926: f3c3 0380 ubfx r3, r3, #2, #1 + 1992a: 7d22 ldrb r2, [r4, #20] + 1992c: f363 0282 bfi r2, r3, #2, #1 + 19930: 7522 strb r2, [r4, #20] ext->zoom = copy_ext->zoom; - 1994a: 8a43 ldrh r3, [r0, #18] - 1994c: 8263 strh r3, [r4, #18] + 19932: 8a43 ldrh r3, [r0, #18] + 19934: 8263 strh r3, [r4, #18] ext->angle = copy_ext->angle; - 1994e: 8983 ldrh r3, [r0, #12] - 19950: 81a3 strh r3, [r4, #12] + 19936: 8983 ldrh r3, [r0, #12] + 19938: 81a3 strh r3, [r4, #12] ext->antialias = copy_ext->antialias; - 19952: 7d42 ldrb r2, [r0, #21] - 19954: 7d63 ldrb r3, [r4, #21] - 19956: f362 0300 bfi r3, r2, #0, #1 - 1995a: 7563 strb r3, [r4, #21] + 1993a: 7d42 ldrb r2, [r0, #21] + 1993c: 7d63 ldrb r3, [r4, #21] + 1993e: f362 0300 bfi r3, r2, #0, #1 + 19942: 7563 strb r3, [r4, #21] ext->offset.x = copy_ext->offset.x; - 1995c: f9b0 3004 ldrsh.w r3, [r0, #4] - 19960: 80a3 strh r3, [r4, #4] + 19944: f9b0 3004 ldrsh.w r3, [r0, #4] + 19948: 80a3 strh r3, [r4, #4] ext->offset.y = copy_ext->offset.y; - 19962: f9b0 3006 ldrsh.w r3, [r0, #6] - 19966: 80e3 strh r3, [r4, #6] + 1994a: f9b0 3006 ldrsh.w r3, [r0, #6] + 1994e: 80e3 strh r3, [r4, #6] ext->pivot.x = copy_ext->pivot.x; - 19968: f9b0 300e ldrsh.w r3, [r0, #14] - 1996c: 81e3 strh r3, [r4, #14] + 19950: f9b0 300e ldrsh.w r3, [r0, #14] + 19954: 81e3 strh r3, [r4, #14] ext->pivot.y = copy_ext->pivot.y; - 1996e: f9b0 3010 ldrsh.w r3, [r0, #16] - 19972: 8223 strh r3, [r4, #16] + 19956: f9b0 3010 ldrsh.w r3, [r0, #16] + 1995a: 8223 strh r3, [r4, #16] lv_img_set_src(img, copy_ext->src); - 19974: 6801 ldr r1, [r0, #0] - 19976: 4628 mov r0, r5 - 19978: 4b28 ldr r3, [pc, #160] ; (19a1c ) - 1997a: 4798 blx r3 + 1995c: 6801 ldr r1, [r0, #0] + 1995e: 4628 mov r0, r5 + 19960: 4b28 ldr r3, [pc, #160] ; (19a04 ) + 19962: 4798 blx r3 lv_obj_refresh_style(img, LV_STYLE_PROP_ALL); - 1997c: 21ff movs r1, #255 ; 0xff - 1997e: 4628 mov r0, r5 - 19980: 4b27 ldr r3, [pc, #156] ; (19a20 ) - 19982: 4798 blx r3 + 19964: 21ff movs r1, #255 ; 0xff + 19966: 4628 mov r0, r5 + 19968: 4b27 ldr r3, [pc, #156] ; (19a08 ) + 1996a: 4798 blx r3 LV_LOG_INFO("image created"); - 19984: 4b27 ldr r3, [pc, #156] ; (19a24 ) - 19986: 9300 str r3, [sp, #0] - 19988: 4b17 ldr r3, [pc, #92] ; (199e8 ) - 1998a: 227f movs r2, #127 ; 0x7f - 1998c: 4917 ldr r1, [pc, #92] ; (199ec ) - 1998e: 2001 movs r0, #1 - 19990: 4c17 ldr r4, [pc, #92] ; (199f0 ) - 19992: 47a0 blx r4 -} - 19994: 4628 mov r0, r5 - 19996: b002 add sp, #8 - 19998: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1996c: 4b27 ldr r3, [pc, #156] ; (19a0c ) + 1996e: 9300 str r3, [sp, #0] + 19970: 4b17 ldr r3, [pc, #92] ; (199d0 ) + 19972: 227f movs r2, #127 ; 0x7f + 19974: 4917 ldr r1, [pc, #92] ; (199d4 ) + 19976: 2001 movs r0, #1 + 19978: 4c17 ldr r4, [pc, #92] ; (199d8 ) + 1997a: 47a0 blx r4 +} + 1997c: 4628 mov r0, r5 + 1997e: b002 add sp, #8 + 19980: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} lv_obj_del(img); - 1999c: 4628 mov r0, r5 - 1999e: 4b22 ldr r3, [pc, #136] ; (19a28 ) - 199a0: 4798 blx r3 + 19984: 4628 mov r0, r5 + 19986: 4b22 ldr r3, [pc, #136] ; (19a10 ) + 19988: 4798 blx r3 return NULL; - 199a2: 2500 movs r5, #0 - 199a4: e7f6 b.n 19994 + 1998a: 2500 movs r5, #0 + 1998c: e7f6 b.n 1997c lv_theme_apply(img, LV_THEME_IMAGE); - 199a6: 210f movs r1, #15 - 199a8: 4628 mov r0, r5 - 199aa: 4b20 ldr r3, [pc, #128] ; (19a2c ) - 199ac: 4798 blx r3 + 1998e: 210f movs r1, #15 + 19990: 4628 mov r0, r5 + 19992: 4b20 ldr r3, [pc, #128] ; (19a14 ) + 19994: 4798 blx r3 lv_obj_set_click(img, false); - 199ae: 4631 mov r1, r6 - 199b0: 4628 mov r0, r5 - 199b2: 4b1f ldr r3, [pc, #124] ; (19a30 ) - 199b4: 4798 blx r3 + 19996: 4631 mov r1, r6 + 19998: 4628 mov r0, r5 + 1999a: 4b1f ldr r3, [pc, #124] ; (19a18 ) + 1999c: 4798 blx r3 lv_obj_set_adv_hittest(img, true); /*Images have fast hit-testing*/ - 199b6: 2101 movs r1, #1 - 199b8: 4628 mov r0, r5 - 199ba: 4b1e ldr r3, [pc, #120] ; (19a34 ) - 199bc: 4798 blx r3 + 1999e: 2101 movs r1, #1 + 199a0: 4628 mov r0, r5 + 199a2: 4b1e ldr r3, [pc, #120] ; (19a1c ) + 199a4: 4798 blx r3 if(par != NULL) { - 199be: f1b8 0f00 cmp.w r8, #0 - 199c2: d004 beq.n 199ce + 199a6: f1b8 0f00 cmp.w r8, #0 + 199aa: d004 beq.n 199b6 ext->auto_size = 1; - 199c4: 7d23 ldrb r3, [r4, #20] - 199c6: f043 0304 orr.w r3, r3, #4 - 199ca: 7523 strb r3, [r4, #20] - 199cc: e7da b.n 19984 + 199ac: 7d23 ldrb r3, [r4, #20] + 199ae: f043 0304 orr.w r3, r3, #4 + 199b2: 7523 strb r3, [r4, #20] + 199b4: e7da b.n 1996c ext->auto_size = 0; - 199ce: 7d23 ldrb r3, [r4, #20] - 199d0: f36f 0382 bfc r3, #2, #1 - 199d4: 7523 strb r3, [r4, #20] - 199d6: e7d5 b.n 19984 - 199d8: 00003e25 .word 0x00003e25 - 199dc: 000022b1 .word 0x000022b1 - 199e0: 20006bfc .word 0x20006bfc - 199e4: 00002bd1 .word 0x00002bd1 - 199e8: 00029630 .word 0x00029630 - 199ec: 000296b8 .word 0x000296b8 - 199f0: 0001225d .word 0x0001225d - 199f4: 00023fd8 .word 0x00023fd8 - 199f8: 000022b9 .word 0x000022b9 - 199fc: 00004d55 .word 0x00004d55 - 19a00: 00002f5d .word 0x00002f5d - 19a04: 00002fad .word 0x00002fad - 19a08: 00019a39 .word 0x00019a39 - 19a0c: 00002b2d .word 0x00002b2d - 19a10: 0001911d .word 0x0001911d - 19a14: 00002b89 .word 0x00002b89 - 19a18: 00004d9d .word 0x00004d9d - 19a1c: 00019611 .word 0x00019611 - 19a20: 00003a99 .word 0x00003a99 - 19a24: 0002975c .word 0x0002975c - 19a28: 00004f65 .word 0x00004f65 - 19a2c: 000141e9 .word 0x000141e9 - 19a30: 000029a1 .word 0x000029a1 - 19a34: 0000294d .word 0x0000294d - -00019a38 : + 199b6: 7d23 ldrb r3, [r4, #20] + 199b8: f36f 0382 bfc r3, #2, #1 + 199bc: 7523 strb r3, [r4, #20] + 199be: e7d5 b.n 1996c + 199c0: 00003e0d .word 0x00003e0d + 199c4: 00002299 .word 0x00002299 + 199c8: 20006bfc .word 0x20006bfc + 199cc: 00002bb9 .word 0x00002bb9 + 199d0: 00029618 .word 0x00029618 + 199d4: 000296a0 .word 0x000296a0 + 199d8: 00012245 .word 0x00012245 + 199dc: 00023fc0 .word 0x00023fc0 + 199e0: 000022a1 .word 0x000022a1 + 199e4: 00004d3d .word 0x00004d3d + 199e8: 00002f45 .word 0x00002f45 + 199ec: 00002f95 .word 0x00002f95 + 199f0: 00019a21 .word 0x00019a21 + 199f4: 00002b15 .word 0x00002b15 + 199f8: 00019105 .word 0x00019105 + 199fc: 00002b71 .word 0x00002b71 + 19a00: 00004d85 .word 0x00004d85 + 19a04: 000195f9 .word 0x000195f9 + 19a08: 00003a81 .word 0x00003a81 + 19a0c: 00029744 .word 0x00029744 + 19a10: 00004f4d .word 0x00004f4d + 19a14: 000141d1 .word 0x000141d1 + 19a18: 00002989 .word 0x00002989 + 19a1c: 00002935 .word 0x00002935 + +00019a20 : * @param sign a signal type from lv_signal_t enum * @param param pointer to a signal specific variable * @return LV_RES_OK: the object is not deleted in the function; LV_RES_INV: the object is deleted */ static lv_res_t lv_img_signal(lv_obj_t * img, lv_signal_t sign, void * param) { - 19a38: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 19a3c: b085 sub sp, #20 - 19a3e: 4607 mov r7, r0 - 19a40: 4615 mov r5, r2 + 19a20: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 19a24: b085 sub sp, #20 + 19a26: 4607 mov r7, r0 + 19a28: 4615 mov r5, r2 lv_res_t res; if(sign == LV_SIGNAL_GET_STYLE) { - 19a42: 2908 cmp r1, #8 - 19a44: d021 beq.n 19a8a - 19a46: 460c mov r4, r1 + 19a2a: 2908 cmp r1, #8 + 19a2c: d021 beq.n 19a72 + 19a2e: 460c mov r4, r1 if(info->result != NULL) return LV_RES_OK; else return ancestor_signal(img, sign, param); } /* Include the ancient signal function */ res = ancestor_signal(img, sign, param); - 19a48: 4b88 ldr r3, [pc, #544] ; (19c6c ) - 19a4a: 681b ldr r3, [r3, #0] - 19a4c: 4798 blx r3 - 19a4e: 4606 mov r6, r0 + 19a30: 4b88 ldr r3, [pc, #544] ; (19c54 ) + 19a32: 681b ldr r3, [r3, #0] + 19a34: 4798 blx r3 + 19a36: 4606 mov r6, r0 if(res != LV_RES_OK) return res; - 19a50: 2801 cmp r0, #1 - 19a52: d121 bne.n 19a98 + 19a38: 2801 cmp r0, #1 + 19a3a: d121 bne.n 19a80 if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 19a54: 2c07 cmp r4, #7 - 19a56: d02d beq.n 19ab4 + 19a3c: 2c07 cmp r4, #7 + 19a3e: d02d beq.n 19a9c lv_img_ext_t * ext = lv_obj_get_ext_attr(img); - 19a58: 4638 mov r0, r7 - 19a5a: 4b85 ldr r3, [pc, #532] ; (19c70 ) - 19a5c: 4798 blx r3 - 19a5e: 4680 mov r8, r0 + 19a40: 4638 mov r0, r7 + 19a42: 4b85 ldr r3, [pc, #532] ; (19c58 ) + 19a44: 4798 blx r3 + 19a46: 4680 mov r8, r0 if(sign == LV_SIGNAL_CLEANUP) { - 19a60: bb74 cbnz r4, 19ac0 + 19a48: bb74 cbnz r4, 19aa8 if(ext->src_type == LV_IMG_SRC_FILE || ext->src_type == LV_IMG_SRC_SYMBOL) { - 19a62: 7d03 ldrb r3, [r0, #20] - 19a64: f003 0303 and.w r3, r3, #3 - 19a68: 3b01 subs r3, #1 - 19a6a: b2db uxtb r3, r3 - 19a6c: 2b01 cmp r3, #1 - 19a6e: d813 bhi.n 19a98 + 19a4a: 7d03 ldrb r3, [r0, #20] + 19a4c: f003 0303 and.w r3, r3, #3 + 19a50: 3b01 subs r3, #1 + 19a52: b2db uxtb r3, r3 + 19a54: 2b01 cmp r3, #1 + 19a56: d813 bhi.n 19a80 lv_mem_free(ext->src); - 19a70: 6800 ldr r0, [r0, #0] - 19a72: 4b80 ldr r3, [pc, #512] ; (19c74 ) - 19a74: 4798 blx r3 + 19a58: 6800 ldr r0, [r0, #0] + 19a5a: 4b80 ldr r3, [pc, #512] ; (19c5c ) + 19a5c: 4798 blx r3 ext->src = NULL; - 19a76: 2300 movs r3, #0 - 19a78: f8c8 3000 str.w r3, [r8] + 19a5e: 2300 movs r3, #0 + 19a60: f8c8 3000 str.w r3, [r8] ext->src_type = LV_IMG_SRC_UNKNOWN; - 19a7c: f898 3014 ldrb.w r3, [r8, #20] - 19a80: f043 0303 orr.w r3, r3, #3 - 19a84: f888 3014 strb.w r3, [r8, #20] - 19a88: e006 b.n 19a98 + 19a64: f898 3014 ldrb.w r3, [r8, #20] + 19a68: f043 0303 orr.w r3, r3, #3 + 19a6c: f888 3014 strb.w r3, [r8, #20] + 19a70: e006 b.n 19a80 static lv_style_list_t * lv_img_get_style(lv_obj_t * img, uint8_t type) { lv_style_list_t * style_dsc_p; switch(type) { - 19a8a: 7813 ldrb r3, [r2, #0] - 19a8c: b943 cbnz r3, 19aa0 + 19a72: 7813 ldrb r3, [r2, #0] + 19a74: b943 cbnz r3, 19a88 case LV_IMG_PART_MAIN: style_dsc_p = &img->style_list; - 19a8e: f100 0328 add.w r3, r0, #40 ; 0x28 + 19a76: f100 0328 add.w r3, r0, #40 ; 0x28 info->result = lv_img_get_style(img, info->part); - 19a92: 606b str r3, [r5, #4] + 19a7a: 606b str r3, [r5, #4] if(info->result != NULL) return LV_RES_OK; - 19a94: 2601 movs r6, #1 - 19a96: b12b cbz r3, 19aa4 + 19a7c: 2601 movs r6, #1 + 19a7e: b12b cbz r3, 19a8c } - 19a98: 4630 mov r0, r6 - 19a9a: b005 add sp, #20 - 19a9c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 19a80: 4630 mov r0, r6 + 19a82: b005 add sp, #20 + 19a84: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} break; default: style_dsc_p = NULL; - 19aa0: 2300 movs r3, #0 - 19aa2: e7f6 b.n 19a92 + 19a88: 2300 movs r3, #0 + 19a8a: e7f6 b.n 19a7a else return ancestor_signal(img, sign, param); - 19aa4: 4b71 ldr r3, [pc, #452] ; (19c6c ) - 19aa6: 681b ldr r3, [r3, #0] - 19aa8: 462a mov r2, r5 - 19aaa: 2108 movs r1, #8 - 19aac: 4638 mov r0, r7 - 19aae: 4798 blx r3 - 19ab0: 4606 mov r6, r0 - 19ab2: e7f1 b.n 19a98 + 19a8c: 4b71 ldr r3, [pc, #452] ; (19c54 ) + 19a8e: 681b ldr r3, [r3, #0] + 19a90: 462a mov r2, r5 + 19a92: 2108 movs r1, #8 + 19a94: 4638 mov r0, r7 + 19a96: 4798 blx r3 + 19a98: 4606 mov r6, r0 + 19a9a: e7f1 b.n 19a80 if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 19ab4: 4970 ldr r1, [pc, #448] ; (19c78 ) - 19ab6: 4628 mov r0, r5 - 19ab8: 4b70 ldr r3, [pc, #448] ; (19c7c ) - 19aba: 4798 blx r3 - 19abc: 4606 mov r6, r0 - 19abe: e7eb b.n 19a98 + 19a9c: 4970 ldr r1, [pc, #448] ; (19c60 ) + 19a9e: 4628 mov r0, r5 + 19aa0: 4b70 ldr r3, [pc, #448] ; (19c64 ) + 19aa2: 4798 blx r3 + 19aa4: 4606 mov r6, r0 + 19aa6: e7eb b.n 19a80 else if(sign == LV_SIGNAL_STYLE_CHG) { - 19ac0: 2c04 cmp r4, #4 - 19ac2: d053 beq.n 19b6c + 19aa8: 2c04 cmp r4, #4 + 19aaa: d053 beq.n 19b54 else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) { - 19ac4: 2c06 cmp r4, #6 - 19ac6: d05b beq.n 19b80 + 19aac: 2c06 cmp r4, #6 + 19aae: d05b beq.n 19b68 else if(sign == LV_SIGNAL_HIT_TEST) { - 19ac8: 2c0a cmp r4, #10 - 19aca: d1e5 bne.n 19a98 + 19ab0: 2c0a cmp r4, #10 + 19ab2: d1e5 bne.n 19a80 if(ext->zoom != 256 && ext->angle == 0) { - 19acc: 8a43 ldrh r3, [r0, #18] - 19ace: f5b3 7f80 cmp.w r3, #256 ; 0x100 - 19ad2: f000 80c5 beq.w 19c60 - 19ad6: 8982 ldrh r2, [r0, #12] - 19ad8: 2a00 cmp r2, #0 - 19ada: f040 80c1 bne.w 19c60 - 19ade: 8aba ldrh r2, [r7, #20] - 19ae0: 3201 adds r2, #1 - 19ae2: 8a39 ldrh r1, [r7, #16] - 19ae4: 1a52 subs r2, r2, r1 + 19ab4: 8a43 ldrh r3, [r0, #18] + 19ab6: f5b3 7f80 cmp.w r3, #256 ; 0x100 + 19aba: f000 80c5 beq.w 19c48 + 19abe: 8982 ldrh r2, [r0, #12] + 19ac0: 2a00 cmp r2, #0 + 19ac2: f040 80c1 bne.w 19c48 + 19ac6: 8aba ldrh r2, [r7, #20] + 19ac8: 3201 adds r2, #1 + 19aca: 8a39 ldrh r1, [r7, #16] + 19acc: 1a52 subs r2, r2, r1 lv_coord_t scaled_width = (origin_width * ext->zoom + 255) / 256; - 19ae6: b212 sxth r2, r2 + 19ace: b212 sxth r2, r2 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 19ae8: 8af9 ldrh r1, [r7, #22] - 19aea: 3101 adds r1, #1 - 19aec: 8a78 ldrh r0, [r7, #18] - 19aee: 1a09 subs r1, r1, r0 + 19ad0: 8af9 ldrh r1, [r7, #22] + 19ad2: 3101 adds r1, #1 + 19ad4: 8a78 ldrh r0, [r7, #18] + 19ad6: 1a09 subs r1, r1, r0 lv_coord_t scaled_height = (origin_height * ext->zoom + 255) / 256; - 19af0: b209 sxth r1, r1 + 19ad8: b209 sxth r1, r1 lv_coord_t scaled_width = (origin_width * ext->zoom + 255) / 256; - 19af2: fb03 f002 mul.w r0, r3, r2 - 19af6: 30ff adds r0, #255 ; 0xff - 19af8: bf48 it mi - 19afa: 30ff addmi r0, #255 ; 0xff + 19ada: fb03 f002 mul.w r0, r3, r2 + 19ade: 30ff adds r0, #255 ; 0xff + 19ae0: bf48 it mi + 19ae2: 30ff addmi r0, #255 ; 0xff lv_coord_t width_offset = (origin_width - scaled_width) / 2; - 19afc: f340 200f sbfx r0, r0, #8, #16 - 19b00: 1a12 subs r2, r2, r0 - 19b02: eb02 72d2 add.w r2, r2, r2, lsr #31 - 19b06: 1054 asrs r4, r2, #1 + 19ae4: f340 200f sbfx r0, r0, #8, #16 + 19ae8: 1a12 subs r2, r2, r0 + 19aea: eb02 72d2 add.w r2, r2, r2, lsr #31 + 19aee: 1054 asrs r4, r2, #1 lv_coord_t scaled_height = (origin_height * ext->zoom + 255) / 256; - 19b08: fb01 f303 mul.w r3, r1, r3 - 19b0c: 33ff adds r3, #255 ; 0xff - 19b0e: bf48 it mi - 19b10: 33ff addmi r3, #255 ; 0xff + 19af0: fb01 f303 mul.w r3, r1, r3 + 19af4: 33ff adds r3, #255 ; 0xff + 19af6: bf48 it mi + 19af8: 33ff addmi r3, #255 ; 0xff lv_coord_t height_offset = (origin_height - scaled_height) / 2; - 19b12: f343 230f sbfx r3, r3, #8, #16 - 19b16: 1acb subs r3, r1, r3 - 19b18: eb03 73d3 add.w r3, r3, r3, lsr #31 - 19b1c: 1058 asrs r0, r3, #1 - 19b1e: f107 030f add.w r3, r7, #15 - 19b22: 3717 adds r7, #23 + 19afa: f343 230f sbfx r3, r3, #8, #16 + 19afe: 1acb subs r3, r1, r3 + 19b00: eb03 73d3 add.w r3, r3, r3, lsr #31 + 19b04: 1058 asrs r0, r3, #1 + 19b06: f107 030f add.w r3, r7, #15 + 19b0a: 3717 adds r7, #23 * @param src pointer to the source buffer * @param len number of byte to copy */ LV_ATTRIBUTE_FAST_MEM static inline void * _lv_memcpy_small(void * dst, const void * src, size_t len) { uint8_t * d8 = (uint8_t *)dst; - 19b24: aa02 add r2, sp, #8 + 19b0c: aa02 add r2, sp, #8 const uint8_t * s8 = (const uint8_t *)src; while(len) { *d8 = *s8; - 19b26: f813 1f01 ldrb.w r1, [r3, #1]! - 19b2a: f802 1b01 strb.w r1, [r2], #1 + 19b0e: f813 1f01 ldrb.w r1, [r3, #1]! + 19b12: f802 1b01 strb.w r1, [r2], #1 while(len) { - 19b2e: 42bb cmp r3, r7 - 19b30: d1f9 bne.n 19b26 + 19b16: 42bb cmp r3, r7 + 19b18: d1f9 bne.n 19b0e coords.x1 += width_offset; - 19b32: b2a2 uxth r2, r4 - 19b34: f8bd 3008 ldrh.w r3, [sp, #8] - 19b38: 4413 add r3, r2 - 19b3a: f8ad 3008 strh.w r3, [sp, #8] + 19b1a: b2a2 uxth r2, r4 + 19b1c: f8bd 3008 ldrh.w r3, [sp, #8] + 19b20: 4413 add r3, r2 + 19b22: f8ad 3008 strh.w r3, [sp, #8] coords.x2 -= width_offset; - 19b3e: f8bd 300c ldrh.w r3, [sp, #12] - 19b42: 1a9a subs r2, r3, r2 - 19b44: f8ad 200c strh.w r2, [sp, #12] + 19b26: f8bd 300c ldrh.w r3, [sp, #12] + 19b2a: 1a9a subs r2, r3, r2 + 19b2c: f8ad 200c strh.w r2, [sp, #12] coords.y1 += height_offset; - 19b48: b283 uxth r3, r0 - 19b4a: f8bd 200a ldrh.w r2, [sp, #10] - 19b4e: 441a add r2, r3 - 19b50: f8ad 200a strh.w r2, [sp, #10] + 19b30: b283 uxth r3, r0 + 19b32: f8bd 200a ldrh.w r2, [sp, #10] + 19b36: 441a add r2, r3 + 19b38: f8ad 200a strh.w r2, [sp, #10] coords.y2 -= height_offset; - 19b54: f8bd 200e ldrh.w r2, [sp, #14] - 19b58: 1ad3 subs r3, r2, r3 - 19b5a: f8ad 300e strh.w r3, [sp, #14] + 19b3c: f8bd 200e ldrh.w r2, [sp, #14] + 19b40: 1ad3 subs r3, r2, r3 + 19b42: f8ad 300e strh.w r3, [sp, #14] info->result = _lv_area_is_point_on(&coords, info->point, 0); - 19b5e: 2200 movs r2, #0 - 19b60: 6829 ldr r1, [r5, #0] - 19b62: a802 add r0, sp, #8 - 19b64: 4b46 ldr r3, [pc, #280] ; (19c80 ) - 19b66: 4798 blx r3 - 19b68: 7128 strb r0, [r5, #4] + 19b46: 2200 movs r2, #0 + 19b48: 6829 ldr r1, [r5, #0] + 19b4a: a802 add r0, sp, #8 + 19b4c: 4b46 ldr r3, [pc, #280] ; (19c68 ) + 19b4e: 4798 blx r3 + 19b50: 7128 strb r0, [r5, #4] if(ext->zoom != 256 && ext->angle == 0) { - 19b6a: e795 b.n 19a98 + 19b52: e795 b.n 19a80 if(ext->src_type == LV_IMG_SRC_SYMBOL) { - 19b6c: 7d03 ldrb r3, [r0, #20] - 19b6e: f003 0303 and.w r3, r3, #3 - 19b72: 2b02 cmp r3, #2 - 19b74: d190 bne.n 19a98 + 19b54: 7d03 ldrb r3, [r0, #20] + 19b56: f003 0303 and.w r3, r3, #3 + 19b5a: 2b02 cmp r3, #2 + 19b5c: d190 bne.n 19a80 lv_img_set_src(img, ext->src); - 19b76: 6801 ldr r1, [r0, #0] - 19b78: 4638 mov r0, r7 - 19b7a: 4b42 ldr r3, [pc, #264] ; (19c84 ) - 19b7c: 4798 blx r3 - 19b7e: e78b b.n 19a98 + 19b5e: 6801 ldr r1, [r0, #0] + 19b60: 4638 mov r0, r7 + 19b62: 4b42 ldr r3, [pc, #264] ; (19c6c ) + 19b64: 4798 blx r3 + 19b66: e78b b.n 19a80 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ZOOM, transform_zoom, lv_style_int_t, _int, scalar) - 19b80: 2207 movs r2, #7 - 19b82: 2100 movs r1, #0 - 19b84: 4638 mov r0, r7 - 19b86: 4d40 ldr r5, [pc, #256] ; (19c88 ) - 19b88: 47a8 blx r5 + 19b68: 2207 movs r2, #7 + 19b6a: 2100 movs r1, #0 + 19b6c: 4638 mov r0, r7 + 19b6e: 4d40 ldr r5, [pc, #256] ; (19c70 ) + 19b70: 47a8 blx r5 transf_zoom = (transf_zoom * ext->zoom) >> 8; - 19b8a: f8b8 3012 ldrh.w r3, [r8, #18] - 19b8e: fb00 f303 mul.w r3, r0, r3 - 19b92: 121c asrs r4, r3, #8 + 19b72: f8b8 3012 ldrh.w r3, [r8, #18] + 19b76: fb00 f303 mul.w r3, r0, r3 + 19b7a: 121c asrs r4, r3, #8 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_ANGLE, transform_angle, lv_style_int_t, _int, scalar) - 19b94: 2206 movs r2, #6 - 19b96: 2100 movs r1, #0 - 19b98: 4638 mov r0, r7 - 19b9a: 47a8 blx r5 + 19b7c: 2206 movs r2, #6 + 19b7e: 2100 movs r1, #0 + 19b80: 4638 mov r0, r7 + 19b82: 47a8 blx r5 transf_angle += ext->angle; - 19b9c: f8b8 300c ldrh.w r3, [r8, #12] - 19ba0: 4403 add r3, r0 - 19ba2: b21b sxth r3, r3 + 19b84: f8b8 300c ldrh.w r3, [r8, #12] + 19b88: 4403 add r3, r0 + 19b8a: b21b sxth r3, r3 if(transf_angle || transf_zoom != LV_IMG_ZOOM_NONE) { - 19ba4: b91b cbnz r3, 19bae - 19ba6: b222 sxth r2, r4 - 19ba8: f5b2 7f80 cmp.w r2, #256 ; 0x100 - 19bac: d031 beq.n 19c12 + 19b8c: b91b cbnz r3, 19b96 + 19b8e: b222 sxth r2, r4 + 19b90: f5b2 7f80 cmp.w r2, #256 ; 0x100 + 19b94: d031 beq.n 19bfa _lv_img_buf_get_transformed_area(&a, ext->w, ext->h, transf_angle, transf_zoom, &ext->pivot); - 19bae: f9b8 200a ldrsh.w r2, [r8, #10] - 19bb2: f9b8 1008 ldrsh.w r1, [r8, #8] - 19bb6: f108 000e add.w r0, r8, #14 - 19bba: 9001 str r0, [sp, #4] - 19bbc: b2a4 uxth r4, r4 - 19bbe: 9400 str r4, [sp, #0] - 19bc0: a802 add r0, sp, #8 - 19bc2: 4c32 ldr r4, [pc, #200] ; (19c8c ) - 19bc4: 47a0 blx r4 + 19b96: f9b8 200a ldrsh.w r2, [r8, #10] + 19b9a: f9b8 1008 ldrsh.w r1, [r8, #8] + 19b9e: f108 000e add.w r0, r8, #14 + 19ba2: 9001 str r0, [sp, #4] + 19ba4: b2a4 uxth r4, r4 + 19ba6: 9400 str r4, [sp, #0] + 19ba8: a802 add r0, sp, #8 + 19baa: 4c32 ldr r4, [pc, #200] ; (19c74 ) + 19bac: 47a0 blx r4 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori - a.x1); - 19bc6: f9b7 1032 ldrsh.w r1, [r7, #50] ; 0x32 - 19bca: f9bd 3008 ldrsh.w r3, [sp, #8] - 19bce: 1acb subs r3, r1, r3 - 19bd0: 428b cmp r3, r1 - 19bd2: bfb8 it lt - 19bd4: 460b movlt r3, r1 + 19bae: f9b7 1032 ldrsh.w r1, [r7, #50] ; 0x32 + 19bb2: f9bd 3008 ldrsh.w r3, [sp, #8] + 19bb6: 1acb subs r3, r1, r3 + 19bb8: 428b cmp r3, r1 + 19bba: bfb8 it lt + 19bbc: 460b movlt r3, r1 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori - a.y1); - 19bd6: b21b sxth r3, r3 - 19bd8: f9bd 200a ldrsh.w r2, [sp, #10] - 19bdc: 1a8a subs r2, r1, r2 - 19bde: 4293 cmp r3, r2 - 19be0: bfb8 it lt - 19be2: 4613 movlt r3, r2 - 19be4: b21b sxth r3, r3 - 19be6: 867b strh r3, [r7, #50] ; 0x32 + 19bbe: b21b sxth r3, r3 + 19bc0: f9bd 200a ldrsh.w r2, [sp, #10] + 19bc4: 1a8a subs r2, r1, r2 + 19bc6: 4293 cmp r3, r2 + 19bc8: bfb8 it lt + 19bca: 4613 movlt r3, r2 + 19bcc: b21b sxth r3, r3 + 19bce: 867b strh r3, [r7, #50] ; 0x32 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori + a.x2 - ext->w); - 19be8: f9bd 200c ldrsh.w r2, [sp, #12] - 19bec: 440a add r2, r1 - 19bee: f9b8 0008 ldrsh.w r0, [r8, #8] - 19bf2: 1a12 subs r2, r2, r0 - 19bf4: 4293 cmp r3, r2 - 19bf6: bfb8 it lt - 19bf8: 4613 movlt r3, r2 - 19bfa: b21b sxth r3, r3 - 19bfc: 867b strh r3, [r7, #50] ; 0x32 + 19bd0: f9bd 200c ldrsh.w r2, [sp, #12] + 19bd4: 440a add r2, r1 + 19bd6: f9b8 0008 ldrsh.w r0, [r8, #8] + 19bda: 1a12 subs r2, r2, r0 + 19bdc: 4293 cmp r3, r2 + 19bde: bfb8 it lt + 19be0: 4613 movlt r3, r2 + 19be2: b21b sxth r3, r3 + 19be4: 867b strh r3, [r7, #50] ; 0x32 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, pad_ori + a.y2 - ext->h); - 19bfe: f9bd 200e ldrsh.w r2, [sp, #14] - 19c02: 440a add r2, r1 - 19c04: f9b8 100a ldrsh.w r1, [r8, #10] - 19c08: 1a52 subs r2, r2, r1 - 19c0a: 4293 cmp r3, r2 - 19c0c: bfb8 it lt - 19c0e: 4613 movlt r3, r2 - 19c10: 867b strh r3, [r7, #50] ; 0x32 + 19be6: f9bd 200e ldrsh.w r2, [sp, #14] + 19bea: 440a add r2, r1 + 19bec: f9b8 100a ldrsh.w r1, [r8, #10] + 19bf0: 1a52 subs r2, r2, r1 + 19bf2: 4293 cmp r3, r2 + 19bf4: bfb8 it lt + 19bf6: 4613 movlt r3, r2 + 19bf8: 867b strh r3, [r7, #50] ; 0x32 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 19c12: 2212 movs r2, #18 - 19c14: 2100 movs r1, #0 - 19c16: 4638 mov r0, r7 - 19c18: f8df 806c ldr.w r8, [pc, #108] ; 19c88 - 19c1c: 47c0 blx r8 - 19c1e: 4681 mov r9, r0 + 19bfa: 2212 movs r2, #18 + 19bfc: 2100 movs r1, #0 + 19bfe: 4638 mov r0, r7 + 19c00: f8df 806c ldr.w r8, [pc, #108] ; 19c70 + 19c04: 47c0 blx r8 + 19c06: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 19c20: 2213 movs r2, #19 - 19c22: 2100 movs r1, #0 - 19c24: 4638 mov r0, r7 - 19c26: 47c0 blx r8 - 19c28: 4604 mov r4, r0 + 19c08: 2213 movs r2, #19 + 19c0a: 2100 movs r1, #0 + 19c0c: 4638 mov r0, r7 + 19c0e: 47c0 blx r8 + 19c10: 4604 mov r4, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 19c2a: 2210 movs r2, #16 - 19c2c: 2100 movs r1, #0 - 19c2e: 4638 mov r0, r7 - 19c30: 47c0 blx r8 - 19c32: 4605 mov r5, r0 + 19c12: 2210 movs r2, #16 + 19c14: 2100 movs r1, #0 + 19c16: 4638 mov r0, r7 + 19c18: 47c0 blx r8 + 19c1a: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 19c34: 2211 movs r2, #17 - 19c36: 2100 movs r1, #0 - 19c38: 4638 mov r0, r7 - 19c3a: 47c0 blx r8 + 19c1c: 2211 movs r2, #17 + 19c1e: 2100 movs r1, #0 + 19c20: 4638 mov r0, r7 + 19c22: 47c0 blx r8 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, right); - 19c3c: 454c cmp r4, r9 - 19c3e: bfb8 it lt - 19c40: 464c movlt r4, r9 - 19c42: f9b7 3032 ldrsh.w r3, [r7, #50] ; 0x32 - 19c46: b222 sxth r2, r4 + 19c24: 454c cmp r4, r9 + 19c26: bfb8 it lt + 19c28: 464c movlt r4, r9 + 19c2a: f9b7 3032 ldrsh.w r3, [r7, #50] ; 0x32 + 19c2e: b222 sxth r2, r4 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, top); - 19c48: 4293 cmp r3, r2 - 19c4a: bfb8 it lt - 19c4c: 4613 movlt r3, r2 - 19c4e: 42ab cmp r3, r5 - 19c50: bfb8 it lt - 19c52: 462b movlt r3, r5 + 19c30: 4293 cmp r3, r2 + 19c32: bfb8 it lt + 19c34: 4613 movlt r3, r2 + 19c36: 42ab cmp r3, r5 + 19c38: bfb8 it lt + 19c3a: 462b movlt r3, r5 img->ext_draw_pad = LV_MATH_MAX(img->ext_draw_pad, bottom); - 19c54: b21b sxth r3, r3 - 19c56: 4298 cmp r0, r3 - 19c58: bfb8 it lt - 19c5a: 4618 movlt r0, r3 - 19c5c: 8678 strh r0, [r7, #50] ; 0x32 - 19c5e: e71b b.n 19a98 + 19c3c: b21b sxth r3, r3 + 19c3e: 4298 cmp r0, r3 + 19c40: bfb8 it lt + 19c42: 4618 movlt r0, r3 + 19c44: 8678 strh r0, [r7, #50] ; 0x32 + 19c46: e71b b.n 19a80 info->result = lv_obj_is_point_on_coords(img, info->point); - 19c60: 6829 ldr r1, [r5, #0] - 19c62: 4638 mov r0, r7 - 19c64: 4b0a ldr r3, [pc, #40] ; (19c90 ) - 19c66: 4798 blx r3 - 19c68: 7128 strb r0, [r5, #4] - 19c6a: e715 b.n 19a98 - 19c6c: 20006bfc .word 0x20006bfc - 19c70: 00004d9d .word 0x00004d9d - 19c74: 000124c5 .word 0x000124c5 - 19c78: 0002976c .word 0x0002976c - 19c7c: 00005095 .word 0x00005095 - 19c80: 000115b9 .word 0x000115b9 - 19c84: 00019611 .word 0x00019611 - 19c88: 000044d5 .word 0x000044d5 - 19c8c: 0000ec65 .word 0x0000ec65 - 19c90: 00005055 .word 0x00005055 - -00019c94 : + 19c48: 6829 ldr r1, [r5, #0] + 19c4a: 4638 mov r0, r7 + 19c4c: 4b0a ldr r3, [pc, #40] ; (19c78 ) + 19c4e: 4798 blx r3 + 19c50: 7128 strb r0, [r5, #4] + 19c52: e715 b.n 19a80 + 19c54: 20006bfc .word 0x20006bfc + 19c58: 00004d85 .word 0x00004d85 + 19c5c: 000124ad .word 0x000124ad + 19c60: 00029754 .word 0x00029754 + 19c64: 0000507d .word 0x0000507d + 19c68: 000115a1 .word 0x000115a1 + 19c6c: 000195f9 .word 0x000195f9 + 19c70: 000044bd .word 0x000044bd + 19c74: 0000ec4d .word 0x0000ec4d + 19c78: 0000503d .word 0x0000503d + +00019c7c : * Free the dot_tmp_ptr field if it was previously allocated. * Always clears the field * @param label pointer to label object. */ static void lv_label_dot_tmp_free(lv_obj_t * label) { - 19c94: b510 push {r4, lr} + 19c7c: b510 push {r4, lr} lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19c96: 4b09 ldr r3, [pc, #36] ; (19cbc ) - 19c98: 4798 blx r3 - 19c9a: 4604 mov r4, r0 + 19c7e: 4b09 ldr r3, [pc, #36] ; (19ca4 ) + 19c80: 4798 blx r3 + 19c82: 4604 mov r4, r0 if(ext->dot_tmp_alloc && ext->dot.tmp_ptr) { - 19c9c: 7c43 ldrb r3, [r0, #17] - 19c9e: f013 0f01 tst.w r3, #1 - 19ca2: d003 beq.n 19cac - 19ca4: 6840 ldr r0, [r0, #4] - 19ca6: b108 cbz r0, 19cac + 19c84: 7c43 ldrb r3, [r0, #17] + 19c86: f013 0f01 tst.w r3, #1 + 19c8a: d003 beq.n 19c94 + 19c8c: 6840 ldr r0, [r0, #4] + 19c8e: b108 cbz r0, 19c94 lv_mem_free(ext->dot.tmp_ptr); - 19ca8: 4b05 ldr r3, [pc, #20] ; (19cc0 ) - 19caa: 4798 blx r3 + 19c90: 4b05 ldr r3, [pc, #20] ; (19ca8 ) + 19c92: 4798 blx r3 } ext->dot_tmp_alloc = false; - 19cac: 7c63 ldrb r3, [r4, #17] - 19cae: f36f 0300 bfc r3, #0, #1 - 19cb2: 7463 strb r3, [r4, #17] + 19c94: 7c63 ldrb r3, [r4, #17] + 19c96: f36f 0300 bfc r3, #0, #1 + 19c9a: 7463 strb r3, [r4, #17] ext->dot.tmp_ptr = NULL; - 19cb4: 2300 movs r3, #0 - 19cb6: 6063 str r3, [r4, #4] - 19cb8: bd10 pop {r4, pc} - 19cba: bf00 nop - 19cbc: 00004d9d .word 0x00004d9d - 19cc0: 000124c5 .word 0x000124c5 + 19c9c: 2300 movs r3, #0 + 19c9e: 6063 str r3, [r4, #4] + 19ca0: bd10 pop {r4, pc} + 19ca2: bf00 nop + 19ca4: 00004d85 .word 0x00004d85 + 19ca8: 000124ad .word 0x000124ad -00019cc4 : +00019cac : { - 19cc4: b5f8 push {r3, r4, r5, r6, r7, lr} - 19cc6: 4607 mov r7, r0 + 19cac: b5f8 push {r3, r4, r5, r6, r7, lr} + 19cae: 4607 mov r7, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19cc8: 4b1e ldr r3, [pc, #120] ; (19d44 ) - 19cca: 4798 blx r3 + 19cb0: 4b1e ldr r3, [pc, #120] ; (19d2c ) + 19cb2: 4798 blx r3 if(ext->long_mode != LV_LABEL_LONG_DOT) return; - 19ccc: 7c03 ldrb r3, [r0, #16] - 19cce: f003 0307 and.w r3, r3, #7 - 19cd2: 2b02 cmp r3, #2 - 19cd4: d000 beq.n 19cd8 - 19cd6: bdf8 pop {r3, r4, r5, r6, r7, pc} - 19cd8: 4604 mov r4, r0 + 19cb4: 7c03 ldrb r3, [r0, #16] + 19cb6: f003 0307 and.w r3, r3, #7 + 19cba: 2b02 cmp r3, #2 + 19cbc: d000 beq.n 19cc0 + 19cbe: bdf8 pop {r3, r4, r5, r6, r7, pc} + 19cc0: 4604 mov r4, r0 if(ext->dot_end == LV_LABEL_DOT_END_INV) return; - 19cda: 8901 ldrh r1, [r0, #8] - 19cdc: f64f 73ff movw r3, #65535 ; 0xffff - 19ce0: 4299 cmp r1, r3 - 19ce2: d0f8 beq.n 19cd6 + 19cc2: 8901 ldrh r1, [r0, #8] + 19cc4: f64f 73ff movw r3, #65535 ; 0xffff + 19cc8: 4299 cmp r1, r3 + 19cca: d0f8 beq.n 19cbe uint32_t byte_i = _lv_txt_encoded_get_byte_id(ext->text, letter_i); - 19ce4: 4b18 ldr r3, [pc, #96] ; (19d48 ) - 19ce6: 681b ldr r3, [r3, #0] - 19ce8: 3903 subs r1, #3 - 19cea: 6800 ldr r0, [r0, #0] - 19cec: 4798 blx r3 - 19cee: 4606 mov r6, r0 + 19ccc: 4b18 ldr r3, [pc, #96] ; (19d30 ) + 19cce: 681b ldr r3, [r3, #0] + 19cd0: 3903 subs r1, #3 + 19cd2: 6800 ldr r0, [r0, #0] + 19cd4: 4798 blx r3 + 19cd6: 4606 mov r6, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19cf0: 4638 mov r0, r7 - 19cf2: 4b14 ldr r3, [pc, #80] ; (19d44 ) - 19cf4: 4798 blx r3 + 19cd8: 4638 mov r0, r7 + 19cda: 4b14 ldr r3, [pc, #80] ; (19d2c ) + 19cdc: 4798 blx r3 if(ext->dot_tmp_alloc) { - 19cf6: 7c43 ldrb r3, [r0, #17] - 19cf8: f013 0f01 tst.w r3, #1 + 19cde: 7c43 ldrb r3, [r0, #17] + 19ce0: f013 0f01 tst.w r3, #1 return ext->dot.tmp_ptr; - 19cfc: bf14 ite ne - 19cfe: 6840 ldrne r0, [r0, #4] + 19ce4: bf14 ite ne + 19ce6: 6840 ldrne r0, [r0, #4] return ext->dot.tmp; - 19d00: 3004 addeq r0, #4 + 19ce8: 3004 addeq r0, #4 while(ext->text[byte_i + i] != '\0') { - 19d02: 6823 ldr r3, [r4, #0] - 19d04: eb03 0e06 add.w lr, r3, r6 - 19d08: 5d9b ldrb r3, [r3, r6] - 19d0a: b1c3 cbz r3, 19d3e - 19d0c: 2500 movs r5, #0 - 19d0e: 462b mov r3, r5 + 19cea: 6823 ldr r3, [r4, #0] + 19cec: eb03 0e06 add.w lr, r3, r6 + 19cf0: 5d9b ldrb r3, [r3, r6] + 19cf2: b1c3 cbz r3, 19d26 + 19cf4: 2500 movs r5, #0 + 19cf6: 462b mov r3, r5 ext->text[byte_i + i] = dot_tmp[i]; - 19d10: 5d42 ldrb r2, [r0, r5] - 19d12: f88e 2000 strb.w r2, [lr] + 19cf8: 5d42 ldrb r2, [r0, r5] + 19cfa: f88e 2000 strb.w r2, [lr] i++; - 19d16: 3301 adds r3, #1 - 19d18: b2db uxtb r3, r3 + 19cfe: 3301 adds r3, #1 + 19d00: b2db uxtb r3, r3 while(ext->text[byte_i + i] != '\0') { - 19d1a: 461d mov r5, r3 - 19d1c: 18f2 adds r2, r6, r3 - 19d1e: 6821 ldr r1, [r4, #0] - 19d20: eb01 0e02 add.w lr, r1, r2 - 19d24: 5c8a ldrb r2, [r1, r2] - 19d26: 2a00 cmp r2, #0 - 19d28: d1f2 bne.n 19d10 + 19d02: 461d mov r5, r3 + 19d04: 18f2 adds r2, r6, r3 + 19d06: 6821 ldr r1, [r4, #0] + 19d08: eb01 0e02 add.w lr, r1, r2 + 19d0c: 5c8a ldrb r2, [r1, r2] + 19d0e: 2a00 cmp r2, #0 + 19d10: d1f2 bne.n 19cf8 ext->text[byte_i + i] = dot_tmp[i]; - 19d2a: 5d43 ldrb r3, [r0, r5] - 19d2c: f88e 3000 strb.w r3, [lr] + 19d12: 5d43 ldrb r3, [r0, r5] + 19d14: f88e 3000 strb.w r3, [lr] lv_label_dot_tmp_free(label); - 19d30: 4638 mov r0, r7 - 19d32: 4b06 ldr r3, [pc, #24] ; (19d4c ) - 19d34: 4798 blx r3 + 19d18: 4638 mov r0, r7 + 19d1a: 4b06 ldr r3, [pc, #24] ; (19d34 ) + 19d1c: 4798 blx r3 ext->dot_end = LV_LABEL_DOT_END_INV; - 19d36: f64f 73ff movw r3, #65535 ; 0xffff - 19d3a: 8123 strh r3, [r4, #8] - 19d3c: e7cb b.n 19cd6 + 19d1e: f64f 73ff movw r3, #65535 ; 0xffff + 19d22: 8123 strh r3, [r4, #8] + 19d24: e7cb b.n 19cbe while(ext->text[byte_i + i] != '\0') { - 19d3e: 2500 movs r5, #0 - 19d40: e7f3 b.n 19d2a - 19d42: bf00 nop - 19d44: 00004d9d .word 0x00004d9d - 19d48: 2000005c .word 0x2000005c - 19d4c: 00019c95 .word 0x00019c95 - -00019d50 : -{ - 19d50: b538 push {r3, r4, r5, lr} - 19d52: 4604 mov r4, r0 - 19d54: 460d mov r5, r1 + 19d26: 2500 movs r5, #0 + 19d28: e7f3 b.n 19d12 + 19d2a: bf00 nop + 19d2c: 00004d85 .word 0x00004d85 + 19d30: 2000005c .word 0x2000005c + 19d34: 00019c7d .word 0x00019c7d + +00019d38 : +{ + 19d38: b538 push {r3, r4, r5, lr} + 19d3a: 4604 mov r4, r0 + 19d3c: 460d mov r5, r1 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19d56: 4b03 ldr r3, [pc, #12] ; (19d64 ) - 19d58: 4798 blx r3 + 19d3e: 4b03 ldr r3, [pc, #12] ; (19d4c ) + 19d40: 4798 blx r3 ext->offset.y = y; - 19d5a: 81c5 strh r5, [r0, #14] + 19d42: 81c5 strh r5, [r0, #14] lv_obj_invalidate(label); - 19d5c: 4620 mov r0, r4 - 19d5e: 4b02 ldr r3, [pc, #8] ; (19d68 ) - 19d60: 4798 blx r3 - 19d62: bd38 pop {r3, r4, r5, pc} - 19d64: 00004d9d .word 0x00004d9d - 19d68: 00003321 .word 0x00003321 - -00019d6c : -{ - 19d6c: b538 push {r3, r4, r5, lr} - 19d6e: 4604 mov r4, r0 - 19d70: 460d mov r5, r1 + 19d44: 4620 mov r0, r4 + 19d46: 4b02 ldr r3, [pc, #8] ; (19d50 ) + 19d48: 4798 blx r3 + 19d4a: bd38 pop {r3, r4, r5, pc} + 19d4c: 00004d85 .word 0x00004d85 + 19d50: 00003309 .word 0x00003309 + +00019d54 : +{ + 19d54: b538 push {r3, r4, r5, lr} + 19d56: 4604 mov r4, r0 + 19d58: 460d mov r5, r1 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19d72: 4b03 ldr r3, [pc, #12] ; (19d80 ) - 19d74: 4798 blx r3 + 19d5a: 4b03 ldr r3, [pc, #12] ; (19d68 ) + 19d5c: 4798 blx r3 ext->offset.x = x; - 19d76: 8185 strh r5, [r0, #12] + 19d5e: 8185 strh r5, [r0, #12] lv_obj_invalidate(label); - 19d78: 4620 mov r0, r4 - 19d7a: 4b02 ldr r3, [pc, #8] ; (19d84 ) - 19d7c: 4798 blx r3 - 19d7e: bd38 pop {r3, r4, r5, pc} - 19d80: 00004d9d .word 0x00004d9d - 19d84: 00003321 .word 0x00003321 + 19d60: 4620 mov r0, r4 + 19d62: 4b02 ldr r3, [pc, #8] ; (19d6c ) + 19d64: 4798 blx r3 + 19d66: bd38 pop {r3, r4, r5, pc} + 19d68: 00004d85 .word 0x00004d85 + 19d6c: 00003309 .word 0x00003309 -00019d88 : +00019d70 : } static void get_txt_coords(const lv_obj_t * label, lv_area_t * area) { - 19d88: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} - 19d8c: 4606 mov r6, r0 - 19d8e: 460c mov r4, r1 + 19d70: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} + 19d74: 4606 mov r6, r0 + 19d76: 460c mov r4, r1 lv_obj_get_coords(label, area); - 19d90: 4b12 ldr r3, [pc, #72] ; (19ddc ) - 19d92: 4798 blx r3 + 19d78: 4b12 ldr r3, [pc, #72] ; (19dc4 ) + 19d7a: 4798 blx r3 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 19d94: 2212 movs r2, #18 - 19d96: 2100 movs r1, #0 - 19d98: 4630 mov r0, r6 - 19d9a: 4d11 ldr r5, [pc, #68] ; (19de0 ) - 19d9c: 47a8 blx r5 - 19d9e: 4680 mov r8, r0 + 19d7c: 2212 movs r2, #18 + 19d7e: 2100 movs r1, #0 + 19d80: 4630 mov r0, r6 + 19d82: 4d11 ldr r5, [pc, #68] ; (19dc8 ) + 19d84: 47a8 blx r5 + 19d86: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 19da0: 2213 movs r2, #19 - 19da2: 2100 movs r1, #0 - 19da4: 4630 mov r0, r6 - 19da6: 47a8 blx r5 - 19da8: 4681 mov r9, r0 + 19d88: 2213 movs r2, #19 + 19d8a: 2100 movs r1, #0 + 19d8c: 4630 mov r0, r6 + 19d8e: 47a8 blx r5 + 19d90: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 19daa: 2210 movs r2, #16 - 19dac: 2100 movs r1, #0 - 19dae: 4630 mov r0, r6 - 19db0: 47a8 blx r5 - 19db2: 4607 mov r7, r0 + 19d92: 2210 movs r2, #16 + 19d94: 2100 movs r1, #0 + 19d96: 4630 mov r0, r6 + 19d98: 47a8 blx r5 + 19d9a: 4607 mov r7, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 19db4: 2211 movs r2, #17 - 19db6: 2100 movs r1, #0 - 19db8: 4630 mov r0, r6 - 19dba: 47a8 blx r5 + 19d9c: 2211 movs r2, #17 + 19d9e: 2100 movs r1, #0 + 19da0: 4630 mov r0, r6 + 19da2: 47a8 blx r5 lv_coord_t left = lv_obj_get_style_pad_left(label, LV_LABEL_PART_MAIN); lv_coord_t right = lv_obj_get_style_pad_right(label, LV_LABEL_PART_MAIN); lv_coord_t top = lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN); lv_coord_t bottom = lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN); area->x1 += left; - 19dbc: 8823 ldrh r3, [r4, #0] - 19dbe: 4498 add r8, r3 - 19dc0: f8a4 8000 strh.w r8, [r4] + 19da4: 8823 ldrh r3, [r4, #0] + 19da6: 4498 add r8, r3 + 19da8: f8a4 8000 strh.w r8, [r4] area->x2 -= right; - 19dc4: 88a3 ldrh r3, [r4, #4] - 19dc6: eba3 0309 sub.w r3, r3, r9 - 19dca: 80a3 strh r3, [r4, #4] + 19dac: 88a3 ldrh r3, [r4, #4] + 19dae: eba3 0309 sub.w r3, r3, r9 + 19db2: 80a3 strh r3, [r4, #4] area->y1 += top; - 19dcc: 8863 ldrh r3, [r4, #2] - 19dce: 441f add r7, r3 - 19dd0: 8067 strh r7, [r4, #2] + 19db4: 8863 ldrh r3, [r4, #2] + 19db6: 441f add r7, r3 + 19db8: 8067 strh r7, [r4, #2] area->y2 -= bottom; - 19dd2: 88e3 ldrh r3, [r4, #6] - 19dd4: 1a18 subs r0, r3, r0 - 19dd6: 80e0 strh r0, [r4, #6] - 19dd8: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - 19ddc: 00002e41 .word 0x00002e41 - 19de0: 000044d5 .word 0x000044d5 - -00019de4 : -{ - 19de4: b5f0 push {r4, r5, r6, r7, lr} - 19de6: b083 sub sp, #12 - 19de8: 4606 mov r6, r0 - 19dea: 460f mov r7, r1 - 19dec: 4615 mov r5, r2 + 19dba: 88e3 ldrh r3, [r4, #6] + 19dbc: 1a18 subs r0, r3, r0 + 19dbe: 80e0 strh r0, [r4, #6] + 19dc0: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} + 19dc4: 00002e29 .word 0x00002e29 + 19dc8: 000044bd .word 0x000044bd + +00019dcc : +{ + 19dcc: b5f0 push {r4, r5, r6, r7, lr} + 19dce: b083 sub sp, #12 + 19dd0: 4606 mov r6, r0 + 19dd2: 460f mov r7, r1 + 19dd4: 4615 mov r5, r2 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19dee: 4b18 ldr r3, [pc, #96] ; (19e50 ) - 19df0: 4798 blx r3 - 19df2: 4604 mov r4, r0 + 19dd6: 4b18 ldr r3, [pc, #96] ; (19e38 ) + 19dd8: 4798 blx r3 + 19dda: 4604 mov r4, r0 lv_label_dot_tmp_free(label); /* Deallocate any existing space */ - 19df4: 4630 mov r0, r6 - 19df6: 4b17 ldr r3, [pc, #92] ; (19e54 ) - 19df8: 4798 blx r3 + 19ddc: 4630 mov r0, r6 + 19dde: 4b17 ldr r3, [pc, #92] ; (19e3c ) + 19de0: 4798 blx r3 if(len > sizeof(char *)) { - 19dfa: 2d04 cmp r5, #4 - 19dfc: d91c bls.n 19e38 + 19de2: 2d04 cmp r5, #4 + 19de4: d91c bls.n 19e20 ext->dot.tmp_ptr = lv_mem_alloc(len + 1); - 19dfe: 1c68 adds r0, r5, #1 - 19e00: 4b15 ldr r3, [pc, #84] ; (19e58 ) - 19e02: 4798 blx r3 - 19e04: 6060 str r0, [r4, #4] + 19de6: 1c68 adds r0, r5, #1 + 19de8: 4b15 ldr r3, [pc, #84] ; (19e40 ) + 19dea: 4798 blx r3 + 19dec: 6060 str r0, [r4, #4] if(ext->dot.tmp_ptr == NULL) { - 19e06: b160 cbz r0, 19e22 + 19dee: b160 cbz r0, 19e0a _lv_memcpy(ext->dot.tmp_ptr, data, len); - 19e08: 462a mov r2, r5 - 19e0a: 4639 mov r1, r7 - 19e0c: 4b13 ldr r3, [pc, #76] ; (19e5c ) - 19e0e: 4798 blx r3 + 19df0: 462a mov r2, r5 + 19df2: 4639 mov r1, r7 + 19df4: 4b13 ldr r3, [pc, #76] ; (19e44 ) + 19df6: 4798 blx r3 ext->dot.tmp_ptr[len] = '\0'; - 19e10: 6863 ldr r3, [r4, #4] - 19e12: 2200 movs r2, #0 - 19e14: 555a strb r2, [r3, r5] + 19df8: 6863 ldr r3, [r4, #4] + 19dfa: 2200 movs r2, #0 + 19dfc: 555a strb r2, [r3, r5] ext->dot_tmp_alloc = true; - 19e16: 7c63 ldrb r3, [r4, #17] - 19e18: f043 0301 orr.w r3, r3, #1 - 19e1c: 7463 strb r3, [r4, #17] + 19dfe: 7c63 ldrb r3, [r4, #17] + 19e00: f043 0301 orr.w r3, r3, #1 + 19e04: 7463 strb r3, [r4, #17] return true; - 19e1e: 2001 movs r0, #1 - 19e20: e014 b.n 19e4c + 19e06: 2001 movs r0, #1 + 19e08: e014 b.n 19e34 LV_LOG_ERROR("Failed to allocate memory for dot_tmp_ptr"); - 19e22: 4b0f ldr r3, [pc, #60] ; (19e60 ) - 19e24: 9300 str r3, [sp, #0] - 19e26: 4b0f ldr r3, [pc, #60] ; (19e64 ) - 19e28: f240 52b5 movw r2, #1461 ; 0x5b5 - 19e2c: 490e ldr r1, [pc, #56] ; (19e68 ) - 19e2e: 2003 movs r0, #3 - 19e30: 4c0e ldr r4, [pc, #56] ; (19e6c ) - 19e32: 47a0 blx r4 + 19e0a: 4b0f ldr r3, [pc, #60] ; (19e48 ) + 19e0c: 9300 str r3, [sp, #0] + 19e0e: 4b0f ldr r3, [pc, #60] ; (19e4c ) + 19e10: f240 52b5 movw r2, #1461 ; 0x5b5 + 19e14: 490e ldr r1, [pc, #56] ; (19e50 ) + 19e16: 2003 movs r0, #3 + 19e18: 4c0e ldr r4, [pc, #56] ; (19e54 ) + 19e1a: 47a0 blx r4 return false; - 19e34: 2000 movs r0, #0 - 19e36: e009 b.n 19e4c + 19e1c: 2000 movs r0, #0 + 19e1e: e009 b.n 19e34 ext->dot_tmp_alloc = false; - 19e38: 7c63 ldrb r3, [r4, #17] - 19e3a: f36f 0300 bfc r3, #0, #1 - 19e3e: 7463 strb r3, [r4, #17] + 19e20: 7c63 ldrb r3, [r4, #17] + 19e22: f36f 0300 bfc r3, #0, #1 + 19e26: 7463 strb r3, [r4, #17] _lv_memcpy(ext->dot.tmp, data, len); - 19e40: 462a mov r2, r5 - 19e42: 4639 mov r1, r7 - 19e44: 1d20 adds r0, r4, #4 - 19e46: 4b05 ldr r3, [pc, #20] ; (19e5c ) - 19e48: 4798 blx r3 + 19e28: 462a mov r2, r5 + 19e2a: 4639 mov r1, r7 + 19e2c: 1d20 adds r0, r4, #4 + 19e2e: 4b05 ldr r3, [pc, #20] ; (19e44 ) + 19e30: 4798 blx r3 return true; - 19e4a: 2001 movs r0, #1 -} - 19e4c: b003 add sp, #12 - 19e4e: bdf0 pop {r4, r5, r6, r7, pc} - 19e50: 00004d9d .word 0x00004d9d - 19e54: 00019c95 .word 0x00019c95 - 19e58: 000123dd .word 0x000123dd - 19e5c: 00012655 .word 0x00012655 - 19e60: 000299c4 .word 0x000299c4 - 19e64: 00029774 .word 0x00029774 - 19e68: 00029994 .word 0x00029994 - 19e6c: 0001225d .word 0x0001225d - -00019e70 : -{ - 19e70: b530 push {r4, r5, lr} - 19e72: b083 sub sp, #12 - 19e74: 4604 mov r4, r0 - 19e76: 460d mov r5, r1 + 19e32: 2001 movs r0, #1 +} + 19e34: b003 add sp, #12 + 19e36: bdf0 pop {r4, r5, r6, r7, pc} + 19e38: 00004d85 .word 0x00004d85 + 19e3c: 00019c7d .word 0x00019c7d + 19e40: 000123c5 .word 0x000123c5 + 19e44: 0001263d .word 0x0001263d + 19e48: 000299ac .word 0x000299ac + 19e4c: 0002975c .word 0x0002975c + 19e50: 0002997c .word 0x0002997c + 19e54: 00012245 .word 0x00012245 + +00019e58 : +{ + 19e58: b530 push {r4, r5, lr} + 19e5a: b083 sub sp, #12 + 19e5c: 4604 mov r4, r0 + 19e5e: 460d mov r5, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19e78: 4b10 ldr r3, [pc, #64] ; (19ebc ) - 19e7a: 4798 blx r3 - 19e7c: b968 cbnz r0, 19e9a - 19e7e: 4b10 ldr r3, [pc, #64] ; (19ec0 ) - 19e80: 9300 str r3, [sp, #0] - 19e82: f44f 72c4 mov.w r2, #392 ; 0x188 - 19e86: 490f ldr r1, [pc, #60] ; (19ec4 ) - 19e88: 2003 movs r0, #3 - 19e8a: 4d0f ldr r5, [pc, #60] ; (19ec8 ) - 19e8c: 47a8 blx r5 - 19e8e: 4622 mov r2, r4 - 19e90: 2300 movs r3, #0 - 19e92: 480e ldr r0, [pc, #56] ; (19ecc ) - 19e94: 490e ldr r1, [pc, #56] ; (19ed0 ) - 19e96: 4788 blx r1 - 19e98: e7fe b.n 19e98 + 19e60: 4b10 ldr r3, [pc, #64] ; (19ea4 ) + 19e62: 4798 blx r3 + 19e64: b968 cbnz r0, 19e82 + 19e66: 4b10 ldr r3, [pc, #64] ; (19ea8 ) + 19e68: 9300 str r3, [sp, #0] + 19e6a: f44f 72c4 mov.w r2, #392 ; 0x188 + 19e6e: 490f ldr r1, [pc, #60] ; (19eac ) + 19e70: 2003 movs r0, #3 + 19e72: 4d0f ldr r5, [pc, #60] ; (19eb0 ) + 19e74: 47a8 blx r5 + 19e76: 4622 mov r2, r4 + 19e78: 2300 movs r3, #0 + 19e7a: 480e ldr r0, [pc, #56] ; (19eb4 ) + 19e7c: 490e ldr r1, [pc, #56] ; (19eb8 ) + 19e7e: 4788 blx r1 + 19e80: e7fe b.n 19e80 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19e9a: 4620 mov r0, r4 - 19e9c: 4b0d ldr r3, [pc, #52] ; (19ed4 ) - 19e9e: 4798 blx r3 + 19e82: 4620 mov r0, r4 + 19e84: 4b0d ldr r3, [pc, #52] ; (19ebc ) + 19e86: 4798 blx r3 if(ext->align == align) return; - 19ea0: 7c03 ldrb r3, [r0, #16] - 19ea2: f3c3 1301 ubfx r3, r3, #4, #2 - 19ea6: 42ab cmp r3, r5 - 19ea8: d006 beq.n 19eb8 + 19e88: 7c03 ldrb r3, [r0, #16] + 19e8a: f3c3 1301 ubfx r3, r3, #4, #2 + 19e8e: 42ab cmp r3, r5 + 19e90: d006 beq.n 19ea0 ext->align = align; - 19eaa: 7c03 ldrb r3, [r0, #16] - 19eac: f365 1305 bfi r3, r5, #4, #2 - 19eb0: 7403 strb r3, [r0, #16] + 19e92: 7c03 ldrb r3, [r0, #16] + 19e94: f365 1305 bfi r3, r5, #4, #2 + 19e98: 7403 strb r3, [r0, #16] lv_obj_invalidate(label); /*Enough to invalidate because alignment is only drawing related - 19eb2: 4620 mov r0, r4 - 19eb4: 4b08 ldr r3, [pc, #32] ; (19ed8 ) - 19eb6: 4798 blx r3 -} - 19eb8: b003 add sp, #12 - 19eba: bd30 pop {r4, r5, pc} - 19ebc: 000022b1 .word 0x000022b1 - 19ec0: 0002978c .word 0x0002978c - 19ec4: 00029994 .word 0x00029994 - 19ec8: 0001225d .word 0x0001225d - 19ecc: 0002483c .word 0x0002483c - 19ed0: 000022b9 .word 0x000022b9 - 19ed4: 00004d9d .word 0x00004d9d - 19ed8: 00003321 .word 0x00003321 - -00019edc : -{ - 19edc: b530 push {r4, r5, lr} - 19ede: b083 sub sp, #12 - 19ee0: 4604 mov r4, r0 + 19e9a: 4620 mov r0, r4 + 19e9c: 4b08 ldr r3, [pc, #32] ; (19ec0 ) + 19e9e: 4798 blx r3 +} + 19ea0: b003 add sp, #12 + 19ea2: bd30 pop {r4, r5, pc} + 19ea4: 00002299 .word 0x00002299 + 19ea8: 00029774 .word 0x00029774 + 19eac: 0002997c .word 0x0002997c + 19eb0: 00012245 .word 0x00012245 + 19eb4: 00024824 .word 0x00024824 + 19eb8: 000022a1 .word 0x000022a1 + 19ebc: 00004d85 .word 0x00004d85 + 19ec0: 00003309 .word 0x00003309 + +00019ec4 : +{ + 19ec4: b530 push {r4, r5, lr} + 19ec6: b083 sub sp, #12 + 19ec8: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19ee2: 4b0b ldr r3, [pc, #44] ; (19f10 ) - 19ee4: 4798 blx r3 - 19ee6: b968 cbnz r0, 19f04 - 19ee8: 4b0a ldr r3, [pc, #40] ; (19f14 ) - 19eea: 9300 str r3, [sp, #0] - 19eec: f44f 72f2 mov.w r2, #484 ; 0x1e4 - 19ef0: 4909 ldr r1, [pc, #36] ; (19f18 ) - 19ef2: 2003 movs r0, #3 - 19ef4: 4d09 ldr r5, [pc, #36] ; (19f1c ) - 19ef6: 47a8 blx r5 - 19ef8: 4622 mov r2, r4 - 19efa: 2300 movs r3, #0 - 19efc: 4808 ldr r0, [pc, #32] ; (19f20 ) - 19efe: 4909 ldr r1, [pc, #36] ; (19f24 ) - 19f00: 4788 blx r1 - 19f02: e7fe b.n 19f02 + 19eca: 4b0b ldr r3, [pc, #44] ; (19ef8 ) + 19ecc: 4798 blx r3 + 19ece: b968 cbnz r0, 19eec + 19ed0: 4b0a ldr r3, [pc, #40] ; (19efc ) + 19ed2: 9300 str r3, [sp, #0] + 19ed4: f44f 72f2 mov.w r2, #484 ; 0x1e4 + 19ed8: 4909 ldr r1, [pc, #36] ; (19f00 ) + 19eda: 2003 movs r0, #3 + 19edc: 4d09 ldr r5, [pc, #36] ; (19f04 ) + 19ede: 47a8 blx r5 + 19ee0: 4622 mov r2, r4 + 19ee2: 2300 movs r3, #0 + 19ee4: 4808 ldr r0, [pc, #32] ; (19f08 ) + 19ee6: 4909 ldr r1, [pc, #36] ; (19f0c ) + 19ee8: 4788 blx r1 + 19eea: e7fe b.n 19eea lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19f04: 4620 mov r0, r4 - 19f06: 4b08 ldr r3, [pc, #32] ; (19f28 ) - 19f08: 4798 blx r3 -} - 19f0a: 6800 ldr r0, [r0, #0] - 19f0c: b003 add sp, #12 - 19f0e: bd30 pop {r4, r5, pc} - 19f10: 000022b1 .word 0x000022b1 - 19f14: 000297d8 .word 0x000297d8 - 19f18: 00029994 .word 0x00029994 - 19f1c: 0001225d .word 0x0001225d - 19f20: 0002483c .word 0x0002483c - 19f24: 000022b9 .word 0x000022b9 - 19f28: 00004d9d .word 0x00004d9d - -00019f2c : -{ - 19f2c: b530 push {r4, r5, lr} - 19f2e: b083 sub sp, #12 - 19f30: 4604 mov r4, r0 + 19eec: 4620 mov r0, r4 + 19eee: 4b08 ldr r3, [pc, #32] ; (19f10 ) + 19ef0: 4798 blx r3 +} + 19ef2: 6800 ldr r0, [r0, #0] + 19ef4: b003 add sp, #12 + 19ef6: bd30 pop {r4, r5, pc} + 19ef8: 00002299 .word 0x00002299 + 19efc: 000297c0 .word 0x000297c0 + 19f00: 0002997c .word 0x0002997c + 19f04: 00012245 .word 0x00012245 + 19f08: 00024824 .word 0x00024824 + 19f0c: 000022a1 .word 0x000022a1 + 19f10: 00004d85 .word 0x00004d85 + +00019f14 : +{ + 19f14: b530 push {r4, r5, lr} + 19f16: b083 sub sp, #12 + 19f18: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19f32: 4b0c ldr r3, [pc, #48] ; (19f64 ) - 19f34: 4798 blx r3 - 19f36: b968 cbnz r0, 19f54 - 19f38: 4b0b ldr r3, [pc, #44] ; (19f68 ) - 19f3a: 9300 str r3, [sp, #0] - 19f3c: f44f 72f9 mov.w r2, #498 ; 0x1f2 - 19f40: 490a ldr r1, [pc, #40] ; (19f6c ) - 19f42: 2003 movs r0, #3 - 19f44: 4d0a ldr r5, [pc, #40] ; (19f70 ) - 19f46: 47a8 blx r5 - 19f48: 4622 mov r2, r4 - 19f4a: 2300 movs r3, #0 - 19f4c: 4809 ldr r0, [pc, #36] ; (19f74 ) - 19f4e: 490a ldr r1, [pc, #40] ; (19f78 ) - 19f50: 4788 blx r1 - 19f52: e7fe b.n 19f52 + 19f1a: 4b0c ldr r3, [pc, #48] ; (19f4c ) + 19f1c: 4798 blx r3 + 19f1e: b968 cbnz r0, 19f3c + 19f20: 4b0b ldr r3, [pc, #44] ; (19f50 ) + 19f22: 9300 str r3, [sp, #0] + 19f24: f44f 72f9 mov.w r2, #498 ; 0x1f2 + 19f28: 490a ldr r1, [pc, #40] ; (19f54 ) + 19f2a: 2003 movs r0, #3 + 19f2c: 4d0a ldr r5, [pc, #40] ; (19f58 ) + 19f2e: 47a8 blx r5 + 19f30: 4622 mov r2, r4 + 19f32: 2300 movs r3, #0 + 19f34: 4809 ldr r0, [pc, #36] ; (19f5c ) + 19f36: 490a ldr r1, [pc, #40] ; (19f60 ) + 19f38: 4788 blx r1 + 19f3a: e7fe b.n 19f3a lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19f54: 4620 mov r0, r4 - 19f56: 4b09 ldr r3, [pc, #36] ; (19f7c ) - 19f58: 4798 blx r3 + 19f3c: 4620 mov r0, r4 + 19f3e: 4b09 ldr r3, [pc, #36] ; (19f64 ) + 19f40: 4798 blx r3 return ext->long_mode; - 19f5a: 7c00 ldrb r0, [r0, #16] -} - 19f5c: f000 0007 and.w r0, r0, #7 - 19f60: b003 add sp, #12 - 19f62: bd30 pop {r4, r5, pc} - 19f64: 000022b1 .word 0x000022b1 - 19f68: 000297ec .word 0x000297ec - 19f6c: 00029994 .word 0x00029994 - 19f70: 0001225d .word 0x0001225d - 19f74: 0002483c .word 0x0002483c - 19f78: 000022b9 .word 0x000022b9 - 19f7c: 00004d9d .word 0x00004d9d - -00019f80 : -{ - 19f80: b530 push {r4, r5, lr} - 19f82: b083 sub sp, #12 - 19f84: 4604 mov r4, r0 + 19f42: 7c00 ldrb r0, [r0, #16] +} + 19f44: f000 0007 and.w r0, r0, #7 + 19f48: b003 add sp, #12 + 19f4a: bd30 pop {r4, r5, pc} + 19f4c: 00002299 .word 0x00002299 + 19f50: 000297d4 .word 0x000297d4 + 19f54: 0002997c .word 0x0002997c + 19f58: 00012245 .word 0x00012245 + 19f5c: 00024824 .word 0x00024824 + 19f60: 000022a1 .word 0x000022a1 + 19f64: 00004d85 .word 0x00004d85 + +00019f68 : +{ + 19f68: b530 push {r4, r5, lr} + 19f6a: b083 sub sp, #12 + 19f6c: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19f86: 4b0e ldr r3, [pc, #56] ; (19fc0 ) - 19f88: 4798 blx r3 - 19f8a: b968 cbnz r0, 19fa8 - 19f8c: 4b0d ldr r3, [pc, #52] ; (19fc4 ) - 19f8e: 9300 str r3, [sp, #0] - 19f90: f240 12ff movw r2, #511 ; 0x1ff - 19f94: 490c ldr r1, [pc, #48] ; (19fc8 ) - 19f96: 2003 movs r0, #3 - 19f98: 4d0c ldr r5, [pc, #48] ; (19fcc ) - 19f9a: 47a8 blx r5 - 19f9c: 4622 mov r2, r4 - 19f9e: 2300 movs r3, #0 - 19fa0: 480b ldr r0, [pc, #44] ; (19fd0 ) - 19fa2: 490c ldr r1, [pc, #48] ; (19fd4 ) - 19fa4: 4788 blx r1 - 19fa6: e7fe b.n 19fa6 + 19f6e: 4b0e ldr r3, [pc, #56] ; (19fa8 ) + 19f70: 4798 blx r3 + 19f72: b968 cbnz r0, 19f90 + 19f74: 4b0d ldr r3, [pc, #52] ; (19fac ) + 19f76: 9300 str r3, [sp, #0] + 19f78: f240 12ff movw r2, #511 ; 0x1ff + 19f7c: 490c ldr r1, [pc, #48] ; (19fb0 ) + 19f7e: 2003 movs r0, #3 + 19f80: 4d0c ldr r5, [pc, #48] ; (19fb4 ) + 19f82: 47a8 blx r5 + 19f84: 4622 mov r2, r4 + 19f86: 2300 movs r3, #0 + 19f88: 480b ldr r0, [pc, #44] ; (19fb8 ) + 19f8a: 490c ldr r1, [pc, #48] ; (19fbc ) + 19f8c: 4788 blx r1 + 19f8e: e7fe b.n 19f8e lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 19fa8: 4620 mov r0, r4 - 19faa: 4b0b ldr r3, [pc, #44] ; (19fd8 ) - 19fac: 4798 blx r3 + 19f90: 4620 mov r0, r4 + 19f92: 4b0b ldr r3, [pc, #44] ; (19fc0 ) + 19f94: 4798 blx r3 lv_label_align_t align = ext->align; - 19fae: 7c00 ldrb r0, [r0, #16] - 19fb0: f3c0 1001 ubfx r0, r0, #4, #2 + 19f96: 7c00 ldrb r0, [r0, #16] + 19f98: f3c0 1001 ubfx r0, r0, #4, #2 align = LV_LABEL_ALIGN_LEFT; - 19fb4: 2803 cmp r0, #3 -} - 19fb6: bf08 it eq - 19fb8: 2000 moveq r0, #0 - 19fba: b003 add sp, #12 - 19fbc: bd30 pop {r4, r5, pc} - 19fbe: bf00 nop - 19fc0: 000022b1 .word 0x000022b1 - 19fc4: 00029804 .word 0x00029804 - 19fc8: 00029994 .word 0x00029994 - 19fcc: 0001225d .word 0x0001225d - 19fd0: 0002483c .word 0x0002483c - 19fd4: 000022b9 .word 0x000022b9 - 19fd8: 00004d9d .word 0x00004d9d - -00019fdc : -{ - 19fdc: b530 push {r4, r5, lr} - 19fde: b083 sub sp, #12 - 19fe0: 4604 mov r4, r0 + 19f9c: 2803 cmp r0, #3 +} + 19f9e: bf08 it eq + 19fa0: 2000 moveq r0, #0 + 19fa2: b003 add sp, #12 + 19fa4: bd30 pop {r4, r5, pc} + 19fa6: bf00 nop + 19fa8: 00002299 .word 0x00002299 + 19fac: 000297ec .word 0x000297ec + 19fb0: 0002997c .word 0x0002997c + 19fb4: 00012245 .word 0x00012245 + 19fb8: 00024824 .word 0x00024824 + 19fbc: 000022a1 .word 0x000022a1 + 19fc0: 00004d85 .word 0x00004d85 + +00019fc4 : +{ + 19fc4: b530 push {r4, r5, lr} + 19fc6: b083 sub sp, #12 + 19fc8: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 19fe2: 4b0c ldr r3, [pc, #48] ; (1a014 ) - 19fe4: 4798 blx r3 - 19fe6: b968 cbnz r0, 1a004 - 19fe8: 4b0b ldr r3, [pc, #44] ; (1a018 ) - 19fea: 9300 str r3, [sp, #0] - 19fec: f240 221b movw r2, #539 ; 0x21b - 19ff0: 490a ldr r1, [pc, #40] ; (1a01c ) - 19ff2: 2003 movs r0, #3 - 19ff4: 4d0a ldr r5, [pc, #40] ; (1a020 ) - 19ff6: 47a8 blx r5 - 19ff8: 4622 mov r2, r4 - 19ffa: 2300 movs r3, #0 - 19ffc: 4809 ldr r0, [pc, #36] ; (1a024 ) - 19ffe: 490a ldr r1, [pc, #40] ; (1a028 ) - 1a000: 4788 blx r1 - 1a002: e7fe b.n 1a002 + 19fca: 4b0c ldr r3, [pc, #48] ; (19ffc ) + 19fcc: 4798 blx r3 + 19fce: b968 cbnz r0, 19fec + 19fd0: 4b0b ldr r3, [pc, #44] ; (1a000 ) + 19fd2: 9300 str r3, [sp, #0] + 19fd4: f240 221b movw r2, #539 ; 0x21b + 19fd8: 490a ldr r1, [pc, #40] ; (1a004 ) + 19fda: 2003 movs r0, #3 + 19fdc: 4d0a ldr r5, [pc, #40] ; (1a008 ) + 19fde: 47a8 blx r5 + 19fe0: 4622 mov r2, r4 + 19fe2: 2300 movs r3, #0 + 19fe4: 4809 ldr r0, [pc, #36] ; (1a00c ) + 19fe6: 490a ldr r1, [pc, #40] ; (1a010 ) + 19fe8: 4788 blx r1 + 19fea: e7fe b.n 19fea lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a004: 4620 mov r0, r4 - 1a006: 4b09 ldr r3, [pc, #36] ; (1a02c ) - 1a008: 4798 blx r3 + 19fec: 4620 mov r0, r4 + 19fee: 4b09 ldr r3, [pc, #36] ; (1a014 ) + 19ff0: 4798 blx r3 return ext->recolor == 0 ? false : true; - 1a00a: 7c00 ldrb r0, [r0, #16] -} - 1a00c: f3c0 1080 ubfx r0, r0, #6, #1 - 1a010: b003 add sp, #12 - 1a012: bd30 pop {r4, r5, pc} - 1a014: 000022b1 .word 0x000022b1 - 1a018: 00029818 .word 0x00029818 - 1a01c: 00029994 .word 0x00029994 - 1a020: 0001225d .word 0x0001225d - 1a024: 0002483c .word 0x0002483c - 1a028: 000022b9 .word 0x000022b9 - 1a02c: 00004d9d .word 0x00004d9d - -0001a030 : -{ - 1a030: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1a034: b08f sub sp, #60 ; 0x3c - 1a036: 4605 mov r5, r0 - 1a038: 9105 str r1, [sp, #20] + 19ff2: 7c00 ldrb r0, [r0, #16] +} + 19ff4: f3c0 1080 ubfx r0, r0, #6, #1 + 19ff8: b003 add sp, #12 + 19ffa: bd30 pop {r4, r5, pc} + 19ffc: 00002299 .word 0x00002299 + 1a000: 00029800 .word 0x00029800 + 1a004: 0002997c .word 0x0002997c + 1a008: 00012245 .word 0x00012245 + 1a00c: 00024824 .word 0x00024824 + 1a010: 000022a1 .word 0x000022a1 + 1a014: 00004d85 .word 0x00004d85 + +0001a018 : +{ + 1a018: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1a01c: b08f sub sp, #60 ; 0x3c + 1a01e: 4605 mov r5, r0 + 1a020: 9105 str r1, [sp, #20] LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a03a: 4b9e ldr r3, [pc, #632] ; (1a2b4 ) - 1a03c: 4798 blx r3 - 1a03e: b968 cbnz r0, 1a05c - 1a040: 4b9d ldr r3, [pc, #628] ; (1a2b8 ) - 1a042: 9300 str r3, [sp, #0] - 1a044: f240 22a5 movw r2, #677 ; 0x2a5 - 1a048: 499c ldr r1, [pc, #624] ; (1a2bc ) - 1a04a: 2003 movs r0, #3 - 1a04c: 4c9c ldr r4, [pc, #624] ; (1a2c0 ) - 1a04e: 47a0 blx r4 - 1a050: 462a mov r2, r5 - 1a052: 2300 movs r3, #0 - 1a054: 489b ldr r0, [pc, #620] ; (1a2c4 ) - 1a056: 499c ldr r1, [pc, #624] ; (1a2c8 ) - 1a058: 4788 blx r1 - 1a05a: e7fe b.n 1a05a + 1a022: 4b9e ldr r3, [pc, #632] ; (1a29c ) + 1a024: 4798 blx r3 + 1a026: b968 cbnz r0, 1a044 + 1a028: 4b9d ldr r3, [pc, #628] ; (1a2a0 ) + 1a02a: 9300 str r3, [sp, #0] + 1a02c: f240 22a5 movw r2, #677 ; 0x2a5 + 1a030: 499c ldr r1, [pc, #624] ; (1a2a4 ) + 1a032: 2003 movs r0, #3 + 1a034: 4c9c ldr r4, [pc, #624] ; (1a2a8 ) + 1a036: 47a0 blx r4 + 1a038: 462a mov r2, r5 + 1a03a: 2300 movs r3, #0 + 1a03c: 489b ldr r0, [pc, #620] ; (1a2ac ) + 1a03e: 499c ldr r1, [pc, #624] ; (1a2b0 ) + 1a040: 4788 blx r1 + 1a042: e7fe b.n 1a042 LV_ASSERT_NULL(pos); - 1a05c: 9e05 ldr r6, [sp, #20] - 1a05e: 4630 mov r0, r6 - 1a060: 4b94 ldr r3, [pc, #592] ; (1a2b4 ) - 1a062: 4798 blx r3 - 1a064: b968 cbnz r0, 1a082 - 1a066: 4b94 ldr r3, [pc, #592] ; (1a2b8 ) - 1a068: 9300 str r3, [sp, #0] - 1a06a: f240 22a6 movw r2, #678 ; 0x2a6 - 1a06e: 4993 ldr r1, [pc, #588] ; (1a2bc ) - 1a070: 2003 movs r0, #3 - 1a072: 4c93 ldr r4, [pc, #588] ; (1a2c0 ) - 1a074: 47a0 blx r4 - 1a076: 4632 mov r2, r6 - 1a078: 2300 movs r3, #0 - 1a07a: 4892 ldr r0, [pc, #584] ; (1a2c4 ) - 1a07c: 4992 ldr r1, [pc, #584] ; (1a2c8 ) - 1a07e: 4788 blx r1 - 1a080: e7fe b.n 1a080 + 1a044: 9e05 ldr r6, [sp, #20] + 1a046: 4630 mov r0, r6 + 1a048: 4b94 ldr r3, [pc, #592] ; (1a29c ) + 1a04a: 4798 blx r3 + 1a04c: b968 cbnz r0, 1a06a + 1a04e: 4b94 ldr r3, [pc, #592] ; (1a2a0 ) + 1a050: 9300 str r3, [sp, #0] + 1a052: f240 22a6 movw r2, #678 ; 0x2a6 + 1a056: 4993 ldr r1, [pc, #588] ; (1a2a4 ) + 1a058: 2003 movs r0, #3 + 1a05a: 4c93 ldr r4, [pc, #588] ; (1a2a8 ) + 1a05c: 47a0 blx r4 + 1a05e: 4632 mov r2, r6 + 1a060: 2300 movs r3, #0 + 1a062: 4892 ldr r0, [pc, #584] ; (1a2ac ) + 1a064: 4992 ldr r1, [pc, #584] ; (1a2b0 ) + 1a066: 4788 blx r1 + 1a068: e7fe b.n 1a068 get_txt_coords(label, &txt_coords); - 1a082: a90c add r1, sp, #48 ; 0x30 - 1a084: 4628 mov r0, r5 - 1a086: 4b91 ldr r3, [pc, #580] ; (1a2cc ) - 1a088: 4798 blx r3 + 1a06a: a90c add r1, sp, #48 ; 0x30 + 1a06c: 4628 mov r0, r5 + 1a06e: 4b91 ldr r3, [pc, #580] ; (1a2b4 ) + 1a070: 4798 blx r3 const char * txt = lv_label_get_text(label); - 1a08a: 4628 mov r0, r5 - 1a08c: 4b90 ldr r3, [pc, #576] ; (1a2d0 ) - 1a08e: 4798 blx r3 - 1a090: 4607 mov r7, r0 + 1a072: 4628 mov r0, r5 + 1a074: 4b90 ldr r3, [pc, #576] ; (1a2b8 ) + 1a076: 4798 blx r3 + 1a078: 4607 mov r7, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a092: 4628 mov r0, r5 - 1a094: 4b8f ldr r3, [pc, #572] ; (1a2d4 ) - 1a096: 4798 blx r3 - 1a098: 4606 mov r6, r0 + 1a07a: 4628 mov r0, r5 + 1a07c: 4b8f ldr r3, [pc, #572] ; (1a2bc ) + 1a07e: 4798 blx r3 + 1a080: 4606 mov r6, r0 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1a09a: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 - 1a09e: 3301 adds r3, #1 - 1a0a0: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 - 1a0a4: 1a9b subs r3, r3, r2 - 1a0a6: b21b sxth r3, r3 - 1a0a8: 9306 str r3, [sp, #24] + 1a082: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 + 1a086: 3301 adds r3, #1 + 1a088: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 + 1a08c: 1a9b subs r3, r3, r2 + 1a08e: b21b sxth r3, r3 + 1a090: 9306 str r3, [sp, #24] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 1a0aa: f248 028e movw r2, #32910 ; 0x808e - 1a0ae: 2100 movs r1, #0 - 1a0b0: 4628 mov r0, r5 - 1a0b2: 4b89 ldr r3, [pc, #548] ; (1a2d8 ) - 1a0b4: 4798 blx r3 - 1a0b6: 4681 mov r9, r0 - 1a0b8: 9003 str r0, [sp, #12] + 1a092: f248 028e movw r2, #32910 ; 0x808e + 1a096: 2100 movs r1, #0 + 1a098: 4628 mov r0, r5 + 1a09a: 4b89 ldr r3, [pc, #548] ; (1a2c0 ) + 1a09c: 4798 blx r3 + 1a09e: 4681 mov r9, r0 + 1a0a0: 9003 str r0, [sp, #12] _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 1a0ba: f248 0281 movw r2, #32897 ; 0x8081 - 1a0be: 2100 movs r1, #0 - 1a0c0: 4628 mov r0, r5 - 1a0c2: f8df 8230 ldr.w r8, [pc, #560] ; 1a2f4 - 1a0c6: 47c0 blx r8 - 1a0c8: 4604 mov r4, r0 + 1a0a2: f248 0281 movw r2, #32897 ; 0x8081 + 1a0a6: 2100 movs r1, #0 + 1a0a8: 4628 mov r0, r5 + 1a0aa: f8df 8230 ldr.w r8, [pc, #560] ; 1a2dc + 1a0ae: 47c0 blx r8 + 1a0b0: 4604 mov r4, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 1a0ca: f248 0280 movw r2, #32896 ; 0x8080 - 1a0ce: 2100 movs r1, #0 - 1a0d0: 4628 mov r0, r5 - 1a0d2: 47c0 blx r8 - 1a0d4: 9004 str r0, [sp, #16] + 1a0b2: f248 0280 movw r2, #32896 ; 0x8080 + 1a0b6: 2100 movs r1, #0 + 1a0b8: 4628 mov r0, r5 + 1a0ba: 47c0 blx r8 + 1a0bc: 9004 str r0, [sp, #16] * @param font_p pointer to a font * @return the height of a font */ static inline lv_coord_t lv_font_get_line_height(const lv_font_t * font_p) { return font_p->line_height; - 1a0d6: f9b9 b008 ldrsh.w fp, [r9, #8] + 1a0be: f9b9 b008 ldrsh.w fp, [r9, #8] if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; - 1a0da: 7c33 ldrb r3, [r6, #16] + 1a0c2: 7c33 ldrb r3, [r6, #16] lv_txt_flag_t flag = LV_TXT_FLAG_NONE; - 1a0dc: f3c3 1680 ubfx r6, r3, #6, #1 + 1a0c4: f3c3 1680 ubfx r6, r3, #6, #1 if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - 1a0e0: f013 0f80 tst.w r3, #128 ; 0x80 - 1a0e4: bf18 it ne - 1a0e6: f046 0602 orrne.w r6, r6, #2 + 1a0c8: f013 0f80 tst.w r3, #128 ; 0x80 + 1a0cc: bf18 it ne + 1a0ce: f046 0602 orrne.w r6, r6, #2 if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT; - 1a0ea: f013 0f07 tst.w r3, #7 - 1a0ee: bf08 it eq - 1a0f0: f046 0610 orreq.w r6, r6, #16 + 1a0d2: f013 0f07 tst.w r3, #7 + 1a0d6: bf08 it eq + 1a0d8: f046 0610 orreq.w r6, r6, #16 lv_label_align_t align = lv_label_get_align(label); - 1a0f4: 4628 mov r0, r5 - 1a0f6: 4b79 ldr r3, [pc, #484] ; (1a2dc ) - 1a0f8: 4798 blx r3 - 1a0fa: 4682 mov sl, r0 + 1a0dc: 4628 mov r0, r5 + 1a0de: 4b79 ldr r3, [pc, #484] ; (1a2c4 ) + 1a0e0: 4798 blx r3 + 1a0e2: 4682 mov sl, r0 if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - 1a0fc: 2801 cmp r0, #1 - 1a0fe: d137 bne.n 1a170 - 1a100: f046 0604 orr.w r6, r6, #4 + 1a0e4: 2801 cmp r0, #1 + 1a0e6: d137 bne.n 1a158 + 1a0e8: f046 0604 orr.w r6, r6, #4 while(txt[line_start] != '\0') { - 1a104: 783b ldrb r3, [r7, #0] - 1a106: 2b00 cmp r3, #0 - 1a108: d13a bne.n 1a180 - 1a10a: 46b8 mov r8, r7 - 1a10c: 2500 movs r5, #0 - 1a10e: 462c mov r4, r5 + 1a0ec: 783b ldrb r3, [r7, #0] + 1a0ee: 2b00 cmp r3, #0 + 1a0f0: d13a bne.n 1a168 + 1a0f2: 46b8 mov r8, r7 + 1a0f4: 2500 movs r5, #0 + 1a0f6: 462c mov r4, r5 line_w = _lv_txt_get_width(bidi_txt, new_line_start - line_start, font, letter_space, flag); - 1a110: 1b61 subs r1, r4, r5 - 1a112: 9600 str r6, [sp, #0] - 1a114: 9b04 ldr r3, [sp, #16] - 1a116: 9a03 ldr r2, [sp, #12] - 1a118: b289 uxth r1, r1 - 1a11a: 4640 mov r0, r8 - 1a11c: f8df 91d8 ldr.w r9, [pc, #472] ; 1a2f8 - 1a120: 47c8 blx r9 - 1a122: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 - 1a126: 3301 adds r3, #1 - 1a128: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 - 1a12c: 1a9b subs r3, r3, r2 + 1a0f8: 1b61 subs r1, r4, r5 + 1a0fa: 9600 str r6, [sp, #0] + 1a0fc: 9b04 ldr r3, [sp, #16] + 1a0fe: 9a03 ldr r2, [sp, #12] + 1a100: b289 uxth r1, r1 + 1a102: 4640 mov r0, r8 + 1a104: f8df 91d8 ldr.w r9, [pc, #472] ; 1a2e0 + 1a108: 47c8 blx r9 + 1a10a: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 + 1a10e: 3301 adds r3, #1 + 1a110: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 + 1a114: 1a9b subs r3, r3, r2 x += lv_area_get_width(&txt_coords) / 2 - line_w / 2; - 1a12e: b21b sxth r3, r3 - 1a130: eb03 73d3 add.w r3, r3, r3, lsr #31 - 1a134: eb00 70d0 add.w r0, r0, r0, lsr #31 - 1a138: ea4f 0960 mov.w r9, r0, asr #1 - 1a13c: ebc9 0363 rsb r3, r9, r3, asr #1 - 1a140: fa0f f983 sxth.w r9, r3 + 1a116: b21b sxth r3, r3 + 1a118: eb03 73d3 add.w r3, r3, r3, lsr #31 + 1a11c: eb00 70d0 add.w r0, r0, r0, lsr #31 + 1a120: ea4f 0960 mov.w r9, r0, asr #1 + 1a124: ebc9 0363 rsb r3, r9, r3, asr #1 + 1a128: fa0f f983 sxth.w r9, r3 lv_txt_cmd_state_t cmd_state = LV_TXT_CMD_STATE_WAIT; - 1a144: 2300 movs r3, #0 - 1a146: f88d 302f strb.w r3, [sp, #47] ; 0x2f + 1a12c: 2300 movs r3, #0 + 1a12e: f88d 302f strb.w r3, [sp, #47] ; 0x2f uint32_t i = 0; - 1a14a: 930a str r3, [sp, #40] ; 0x28 + 1a132: 930a str r3, [sp, #40] ; 0x28 if(new_line_start > 0) { - 1a14c: 2c00 cmp r4, #0 - 1a14e: f040 80a1 bne.w 1a294 + 1a134: 2c00 cmp r4, #0 + 1a136: f040 80a1 bne.w 1a27c logical_pos = _lv_txt_encoded_get_char_id(bidi_txt, i); - 1a152: 4e63 ldr r6, [pc, #396] ; (1a2e0 ) - 1a154: 6833 ldr r3, [r6, #0] - 1a156: 990a ldr r1, [sp, #40] ; 0x28 - 1a158: 4640 mov r0, r8 - 1a15a: 4798 blx r3 - 1a15c: 4604 mov r4, r0 + 1a13a: 4e63 ldr r6, [pc, #396] ; (1a2c8 ) + 1a13c: 6833 ldr r3, [r6, #0] + 1a13e: 990a ldr r1, [sp, #40] ; 0x28 + 1a140: 4640 mov r0, r8 + 1a142: 4798 blx r3 + 1a144: 4604 mov r4, r0 return logical_pos + _lv_txt_encoded_get_char_id(txt, line_start); - 1a15e: 6833 ldr r3, [r6, #0] - 1a160: 4629 mov r1, r5 - 1a162: 4638 mov r0, r7 - 1a164: 4798 blx r3 - 1a166: 4420 add r0, r4 - 1a168: b280 uxth r0, r0 -} - 1a16a: b00f add sp, #60 ; 0x3c - 1a16c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 1a146: 6833 ldr r3, [r6, #0] + 1a148: 4629 mov r1, r5 + 1a14a: 4638 mov r0, r7 + 1a14c: 4798 blx r3 + 1a14e: 4420 add r0, r4 + 1a150: b280 uxth r0, r0 +} + 1a152: b00f add sp, #60 ; 0x3c + 1a154: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; - 1a170: 2802 cmp r0, #2 - 1a172: f040 8096 bne.w 1a2a2 - 1a176: f046 0608 orr.w r6, r6, #8 + 1a158: 2802 cmp r0, #2 + 1a15a: f040 8096 bne.w 1a28a + 1a15e: f046 0608 orr.w r6, r6, #8 while(txt[line_start] != '\0') { - 1a17a: 783b ldrb r3, [r7, #0] - 1a17c: 2b00 cmp r3, #0 - 1a17e: d048 beq.n 1a212 + 1a162: 783b ldrb r3, [r7, #0] + 1a164: 2b00 cmp r3, #0 + 1a166: d048 beq.n 1a1fa { - 1a180: 46b8 mov r8, r7 - 1a182: f04f 0900 mov.w r9, #0 - 1a186: 464d mov r5, r9 + 1a168: 46b8 mov r8, r7 + 1a16a: f04f 0900 mov.w r9, #0 + 1a16e: 464d mov r5, r9 y += letter_height + line_space; - 1a188: eb0b 0304 add.w r3, fp, r4 - 1a18c: 9307 str r3, [sp, #28] - 1a18e: e009 b.n 1a1a4 - 1a190: 9b07 ldr r3, [sp, #28] - 1a192: 4499 add r9, r3 - 1a194: fa0f f989 sxth.w r9, r9 + 1a170: eb0b 0304 add.w r3, fp, r4 + 1a174: 9307 str r3, [sp, #28] + 1a176: e009 b.n 1a18c + 1a178: 9b07 ldr r3, [sp, #28] + 1a17a: 4499 add r9, r3 + 1a17c: fa0f f989 sxth.w r9, r9 while(txt[line_start] != '\0') { - 1a198: eb07 0800 add.w r8, r7, r0 + 1a180: eb07 0800 add.w r8, r7, r0 new_line_start += _lv_txt_get_next_line(&txt[line_start], font, letter_space, max_w, flag); - 1a19c: 4605 mov r5, r0 + 1a184: 4605 mov r5, r0 while(txt[line_start] != '\0') { - 1a19e: 5c3b ldrb r3, [r7, r0] - 1a1a0: 2b00 cmp r3, #0 - 1a1a2: d034 beq.n 1a20e + 1a186: 5c3b ldrb r3, [r7, r0] + 1a188: 2b00 cmp r3, #0 + 1a18a: d034 beq.n 1a1f6 new_line_start += _lv_txt_get_next_line(&txt[line_start], font, letter_space, max_w, flag); - 1a1a4: 9600 str r6, [sp, #0] - 1a1a6: 9b06 ldr r3, [sp, #24] - 1a1a8: 9a04 ldr r2, [sp, #16] - 1a1aa: 9903 ldr r1, [sp, #12] - 1a1ac: 4640 mov r0, r8 - 1a1ae: 4c4d ldr r4, [pc, #308] ; (1a2e4 ) - 1a1b0: 47a0 blx r4 - 1a1b2: 4428 add r0, r5 + 1a18c: 9600 str r6, [sp, #0] + 1a18e: 9b06 ldr r3, [sp, #24] + 1a190: 9a04 ldr r2, [sp, #16] + 1a192: 9903 ldr r1, [sp, #12] + 1a194: 4640 mov r0, r8 + 1a196: 4c4d ldr r4, [pc, #308] ; (1a2cc ) + 1a198: 47a0 blx r4 + 1a19a: 4428 add r0, r5 if(pos->y <= y + letter_height) { - 1a1b4: 9b05 ldr r3, [sp, #20] - 1a1b6: f9b3 2002 ldrsh.w r2, [r3, #2] - 1a1ba: eb09 030b add.w r3, r9, fp - 1a1be: 429a cmp r2, r3 - 1a1c0: dce6 bgt.n 1a190 - 1a1c2: 4604 mov r4, r0 + 1a19c: 9b05 ldr r3, [sp, #20] + 1a19e: f9b3 2002 ldrsh.w r2, [r3, #2] + 1a1a2: eb09 030b add.w r3, r9, fp + 1a1a6: 429a cmp r2, r3 + 1a1a8: dce6 bgt.n 1a178 + 1a1aa: 4604 mov r4, r0 uint32_t tmp = new_line_start; - 1a1c4: a90e add r1, sp, #56 ; 0x38 - 1a1c6: f841 0d14 str.w r0, [r1, #-20]! + 1a1ac: a90e add r1, sp, #56 ; 0x38 + 1a1ae: f841 0d14 str.w r0, [r1, #-20]! letter = _lv_txt_encoded_prev(txt, &tmp); - 1a1ca: 4b47 ldr r3, [pc, #284] ; (1a2e8 ) - 1a1cc: 681b ldr r3, [r3, #0] - 1a1ce: 4638 mov r0, r7 - 1a1d0: 4798 blx r3 + 1a1b2: 4b47 ldr r3, [pc, #284] ; (1a2d0 ) + 1a1b4: 681b ldr r3, [r3, #0] + 1a1b6: 4638 mov r0, r7 + 1a1b8: 4798 blx r3 if(letter != '\n' && txt[new_line_start] == '\0') new_line_start++; - 1a1d2: 280a cmp r0, #10 - 1a1d4: d002 beq.n 1a1dc - 1a1d6: 5d3b ldrb r3, [r7, r4] - 1a1d8: b903 cbnz r3, 1a1dc - 1a1da: 3401 adds r4, #1 + 1a1ba: 280a cmp r0, #10 + 1a1bc: d002 beq.n 1a1c4 + 1a1be: 5d3b ldrb r3, [r7, r4] + 1a1c0: b903 cbnz r3, 1a1c4 + 1a1c2: 3401 adds r4, #1 if(align == LV_LABEL_ALIGN_CENTER) { - 1a1dc: f1ba 0f01 cmp.w sl, #1 - 1a1e0: d096 beq.n 1a110 + 1a1c4: f1ba 0f01 cmp.w sl, #1 + 1a1c8: d096 beq.n 1a0f8 else if(align == LV_LABEL_ALIGN_RIGHT) { - 1a1e2: f1ba 0f02 cmp.w sl, #2 - 1a1e6: d118 bne.n 1a21a + 1a1ca: f1ba 0f02 cmp.w sl, #2 + 1a1ce: d118 bne.n 1a202 line_w = _lv_txt_get_width(bidi_txt, new_line_start - line_start, font, letter_space, flag); - 1a1e8: 1b61 subs r1, r4, r5 - 1a1ea: 9600 str r6, [sp, #0] - 1a1ec: 9b04 ldr r3, [sp, #16] - 1a1ee: 9a03 ldr r2, [sp, #12] - 1a1f0: b289 uxth r1, r1 - 1a1f2: 4640 mov r0, r8 - 1a1f4: f8df 9100 ldr.w r9, [pc, #256] ; 1a2f8 - 1a1f8: 47c8 blx r9 - 1a1fa: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 - 1a1fe: 3301 adds r3, #1 - 1a200: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 - 1a204: 1a9b subs r3, r3, r2 + 1a1d0: 1b61 subs r1, r4, r5 + 1a1d2: 9600 str r6, [sp, #0] + 1a1d4: 9b04 ldr r3, [sp, #16] + 1a1d6: 9a03 ldr r2, [sp, #12] + 1a1d8: b289 uxth r1, r1 + 1a1da: 4640 mov r0, r8 + 1a1dc: f8df 9100 ldr.w r9, [pc, #256] ; 1a2e0 + 1a1e0: 47c8 blx r9 + 1a1e2: f8bd 3034 ldrh.w r3, [sp, #52] ; 0x34 + 1a1e6: 3301 adds r3, #1 + 1a1e8: f8bd 2030 ldrh.w r2, [sp, #48] ; 0x30 + 1a1ec: 1a9b subs r3, r3, r2 x += lv_area_get_width(&txt_coords) - line_w; - 1a206: 1a1b subs r3, r3, r0 - 1a208: fa0f f983 sxth.w r9, r3 - 1a20c: e79a b.n 1a144 - 1a20e: 4604 mov r4, r0 - 1a210: e7e4 b.n 1a1dc + 1a1ee: 1a1b subs r3, r3, r0 + 1a1f0: fa0f f983 sxth.w r9, r3 + 1a1f4: e79a b.n 1a12c + 1a1f6: 4604 mov r4, r0 + 1a1f8: e7e4 b.n 1a1c4 while(txt[line_start] != '\0') { - 1a212: 46b8 mov r8, r7 - 1a214: 2500 movs r5, #0 - 1a216: 462c mov r4, r5 - 1a218: e7e6 b.n 1a1e8 + 1a1fa: 46b8 mov r8, r7 + 1a1fc: 2500 movs r5, #0 + 1a1fe: 462c mov r4, r5 + 1a200: e7e6 b.n 1a1d0 lv_coord_t x = 0; - 1a21a: f04f 0900 mov.w r9, #0 - 1a21e: e791 b.n 1a144 + 1a202: f04f 0900 mov.w r9, #0 + 1a206: e791 b.n 1a12c x += lv_font_get_glyph_width(font, letter, letter_next); - 1a220: 9a07 ldr r2, [sp, #28] - 1a222: 9906 ldr r1, [sp, #24] - 1a224: 9803 ldr r0, [sp, #12] - 1a226: 4b31 ldr r3, [pc, #196] ; (1a2ec ) - 1a228: 4798 blx r3 - 1a22a: eb00 0309 add.w r3, r0, r9 - 1a22e: b29b uxth r3, r3 + 1a208: 9a07 ldr r2, [sp, #28] + 1a20a: 9906 ldr r1, [sp, #24] + 1a20c: 9803 ldr r0, [sp, #12] + 1a20e: 4b31 ldr r3, [pc, #196] ; (1a2d4 ) + 1a210: 4798 blx r3 + 1a212: eb00 0309 add.w r3, r0, r9 + 1a216: b29b uxth r3, r3 if(pos->x < x || i + line_start == new_line_start || txt[i + line_start] == '\0') { - 1a230: 9a05 ldr r2, [sp, #20] - 1a232: f9b2 1000 ldrsh.w r1, [r2] - 1a236: b21a sxth r2, r3 - 1a238: 4291 cmp r1, r2 - 1a23a: db28 blt.n 1a28e - 1a23c: 9a0a ldr r2, [sp, #40] ; 0x28 - 1a23e: 1951 adds r1, r2, r5 - 1a240: 42a1 cmp r1, r4 - 1a242: d024 beq.n 1a28e - 1a244: 5c79 ldrb r1, [r7, r1] - 1a246: b311 cbz r1, 1a28e + 1a218: 9a05 ldr r2, [sp, #20] + 1a21a: f9b2 1000 ldrsh.w r1, [r2] + 1a21e: b21a sxth r2, r3 + 1a220: 4291 cmp r1, r2 + 1a222: db28 blt.n 1a276 + 1a224: 9a0a ldr r2, [sp, #40] ; 0x28 + 1a226: 1951 adds r1, r2, r5 + 1a228: 42a1 cmp r1, r4 + 1a22a: d024 beq.n 1a276 + 1a22c: 5c79 ldrb r1, [r7, r1] + 1a22e: b311 cbz r1, 1a276 x += letter_space; - 1a248: 9904 ldr r1, [sp, #16] - 1a24a: 440b add r3, r1 - 1a24c: fa0f f983 sxth.w r9, r3 + 1a230: 9904 ldr r1, [sp, #16] + 1a232: 440b add r3, r1 + 1a234: fa0f f983 sxth.w r9, r3 i_act = i; - 1a250: 4693 mov fp, r2 + 1a238: 4693 mov fp, r2 while(i + line_start < new_line_start) { - 1a252: 9b0a ldr r3, [sp, #40] ; 0x28 - 1a254: 442b add r3, r5 - 1a256: 42a3 cmp r3, r4 - 1a258: f4bf af7b bcs.w 1a152 + 1a23a: 9b0a ldr r3, [sp, #40] ; 0x28 + 1a23c: 442b add r3, r5 + 1a23e: 42a3 cmp r3, r4 + 1a240: f4bf af7b bcs.w 1a13a uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - 1a25c: f8da 3000 ldr.w r3, [sl] - 1a260: a90a add r1, sp, #40 ; 0x28 - 1a262: 4640 mov r0, r8 - 1a264: 4798 blx r3 - 1a266: 9006 str r0, [sp, #24] + 1a244: f8da 3000 ldr.w r3, [sl] + 1a248: a90a add r1, sp, #40 ; 0x28 + 1a24a: 4640 mov r0, r8 + 1a24c: 4798 blx r3 + 1a24e: 9006 str r0, [sp, #24] uint32_t letter_next = _lv_txt_encoded_next(&bidi_txt[i], NULL); - 1a268: f8da 3000 ldr.w r3, [sl] - 1a26c: 2100 movs r1, #0 - 1a26e: 980a ldr r0, [sp, #40] ; 0x28 - 1a270: 4440 add r0, r8 - 1a272: 4798 blx r3 - 1a274: 9007 str r0, [sp, #28] + 1a250: f8da 3000 ldr.w r3, [sl] + 1a254: 2100 movs r1, #0 + 1a256: 980a ldr r0, [sp, #40] ; 0x28 + 1a258: 4440 add r0, r8 + 1a25a: 4798 blx r3 + 1a25c: 9007 str r0, [sp, #28] if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 1a276: 2e00 cmp r6, #0 - 1a278: d0d2 beq.n 1a220 + 1a25e: 2e00 cmp r6, #0 + 1a260: d0d2 beq.n 1a208 if(_lv_txt_is_cmd(&cmd_state, bidi_txt[i]) != false) { - 1a27a: 9b0a ldr r3, [sp, #40] ; 0x28 - 1a27c: f818 1003 ldrb.w r1, [r8, r3] - 1a280: f10d 002f add.w r0, sp, #47 ; 0x2f - 1a284: 4b1a ldr r3, [pc, #104] ; (1a2f0 ) - 1a286: 4798 blx r3 - 1a288: 2800 cmp r0, #0 - 1a28a: d1e2 bne.n 1a252 - 1a28c: e7c8 b.n 1a220 + 1a262: 9b0a ldr r3, [sp, #40] ; 0x28 + 1a264: f818 1003 ldrb.w r1, [r8, r3] + 1a268: f10d 002f add.w r0, sp, #47 ; 0x2f + 1a26c: 4b1a ldr r3, [pc, #104] ; (1a2d8 ) + 1a26e: 4798 blx r3 + 1a270: 2800 cmp r0, #0 + 1a272: d1e2 bne.n 1a23a + 1a274: e7c8 b.n 1a208 i = i_act; - 1a28e: f8cd b028 str.w fp, [sp, #40] ; 0x28 + 1a276: f8cd b028 str.w fp, [sp, #40] ; 0x28 break; - 1a292: e75e b.n 1a152 - 1a294: f04f 0b00 mov.w fp, #0 + 1a27a: e75e b.n 1a13a + 1a27c: f04f 0b00 mov.w fp, #0 uint32_t letter = _lv_txt_encoded_next(bidi_txt, &i); - 1a298: f8df a060 ldr.w sl, [pc, #96] ; 1a2fc + 1a280: f8df a060 ldr.w sl, [pc, #96] ; 1a2e4 if((flag & LV_TXT_FLAG_RECOLOR) != 0) { - 1a29c: f006 0601 and.w r6, r6, #1 - 1a2a0: e7d7 b.n 1a252 + 1a284: f006 0601 and.w r6, r6, #1 + 1a288: e7d7 b.n 1a23a while(txt[line_start] != '\0') { - 1a2a2: 783b ldrb r3, [r7, #0] - 1a2a4: 2b00 cmp r3, #0 - 1a2a6: f47f af6b bne.w 1a180 - 1a2aa: 46b8 mov r8, r7 - 1a2ac: 2500 movs r5, #0 - 1a2ae: 462c mov r4, r5 + 1a28a: 783b ldrb r3, [r7, #0] + 1a28c: 2b00 cmp r3, #0 + 1a28e: f47f af6b bne.w 1a168 + 1a292: 46b8 mov r8, r7 + 1a294: 2500 movs r5, #0 + 1a296: 462c mov r4, r5 lv_coord_t x = 0; - 1a2b0: 46a9 mov r9, r5 - 1a2b2: e747 b.n 1a144 - 1a2b4: 000022b1 .word 0x000022b1 - 1a2b8: 00029860 .word 0x00029860 - 1a2bc: 00029994 .word 0x00029994 - 1a2c0: 0001225d .word 0x0001225d - 1a2c4: 0002483c .word 0x0002483c - 1a2c8: 000022b9 .word 0x000022b9 - 1a2cc: 00019d89 .word 0x00019d89 - 1a2d0: 00019edd .word 0x00019edd - 1a2d4: 00004d9d .word 0x00004d9d - 1a2d8: 000046a1 .word 0x000046a1 - 1a2dc: 00019f81 .word 0x00019f81 - 1a2e0: 20000064 .word 0x20000064 - 1a2e4: 00013db1 .word 0x00013db1 - 1a2e8: 20000068 .word 0x20000068 - 1a2ec: 00010061 .word 0x00010061 - 1a2f0: 00013d69 .word 0x00013d69 - 1a2f4: 000044d5 .word 0x000044d5 - 1a2f8: 00013fdd .word 0x00013fdd - 1a2fc: 20000058 .word 0x20000058 - -0001a300 : -{ - 1a300: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} - 1a304: b099 sub sp, #100 ; 0x64 - 1a306: 4604 mov r4, r0 + 1a298: 46a9 mov r9, r5 + 1a29a: e747 b.n 1a12c + 1a29c: 00002299 .word 0x00002299 + 1a2a0: 00029848 .word 0x00029848 + 1a2a4: 0002997c .word 0x0002997c + 1a2a8: 00012245 .word 0x00012245 + 1a2ac: 00024824 .word 0x00024824 + 1a2b0: 000022a1 .word 0x000022a1 + 1a2b4: 00019d71 .word 0x00019d71 + 1a2b8: 00019ec5 .word 0x00019ec5 + 1a2bc: 00004d85 .word 0x00004d85 + 1a2c0: 00004689 .word 0x00004689 + 1a2c4: 00019f69 .word 0x00019f69 + 1a2c8: 20000064 .word 0x20000064 + 1a2cc: 00013d99 .word 0x00013d99 + 1a2d0: 20000068 .word 0x20000068 + 1a2d4: 00010049 .word 0x00010049 + 1a2d8: 00013d51 .word 0x00013d51 + 1a2dc: 000044bd .word 0x000044bd + 1a2e0: 00013fc5 .word 0x00013fc5 + 1a2e4: 20000058 .word 0x20000058 + +0001a2e8 : +{ + 1a2e8: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} + 1a2ec: b099 sub sp, #100 ; 0x64 + 1a2ee: 4604 mov r4, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a308: 4baf ldr r3, [pc, #700] ; (1a5c8 ) - 1a30a: 4798 blx r3 + 1a2f0: 4baf ldr r3, [pc, #700] ; (1a5b0 ) + 1a2f2: 4798 blx r3 if(ext->text == NULL) return; - 1a30c: 6803 ldr r3, [r0, #0] - 1a30e: 2b00 cmp r3, #0 - 1a310: d048 beq.n 1a3a4 - 1a312: 4605 mov r5, r0 + 1a2f4: 6803 ldr r3, [r0, #0] + 1a2f6: 2b00 cmp r3, #0 + 1a2f8: d048 beq.n 1a38c + 1a2fa: 4605 mov r5, r0 get_txt_coords(label, &txt_coords); - 1a314: a916 add r1, sp, #88 ; 0x58 - 1a316: 4620 mov r0, r4 - 1a318: 4bac ldr r3, [pc, #688] ; (1a5cc ) - 1a31a: 4798 blx r3 - 1a31c: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c - 1a320: 3601 adds r6, #1 - 1a322: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - 1a326: 1af6 subs r6, r6, r3 - 1a328: b236 sxth r6, r6 + 1a2fc: a916 add r1, sp, #88 ; 0x58 + 1a2fe: 4620 mov r0, r4 + 1a300: 4bac ldr r3, [pc, #688] ; (1a5b4 ) + 1a302: 4798 blx r3 + 1a304: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c + 1a308: 3601 adds r6, #1 + 1a30a: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + 1a30e: 1af6 subs r6, r6, r3 + 1a310: b236 sxth r6, r6 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_FONT, text_font, const lv_font_t *, _ptr, scalar) - 1a32a: f248 028e movw r2, #32910 ; 0x808e - 1a32e: 2100 movs r1, #0 - 1a330: 4620 mov r0, r4 - 1a332: 4ba7 ldr r3, [pc, #668] ; (1a5d0 ) - 1a334: 4798 blx r3 - 1a336: 4680 mov r8, r0 + 1a312: f248 028e movw r2, #32910 ; 0x808e + 1a316: 2100 movs r1, #0 + 1a318: 4620 mov r0, r4 + 1a31a: 4ba7 ldr r3, [pc, #668] ; (1a5b8 ) + 1a31c: 4798 blx r3 + 1a31e: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LINE_SPACE, text_line_space, lv_style_int_t, _int, scalar) - 1a338: f248 0281 movw r2, #32897 ; 0x8081 - 1a33c: 2100 movs r1, #0 - 1a33e: 4620 mov r0, r4 - 1a340: 4fa4 ldr r7, [pc, #656] ; (1a5d4 ) - 1a342: 47b8 blx r7 - 1a344: 4681 mov r9, r0 + 1a320: f248 0281 movw r2, #32897 ; 0x8081 + 1a324: 2100 movs r1, #0 + 1a326: 4620 mov r0, r4 + 1a328: 4fa4 ldr r7, [pc, #656] ; (1a5bc ) + 1a32a: 47b8 blx r7 + 1a32c: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TEXT_LETTER_SPACE, text_letter_space, lv_style_int_t, _int, scalar) - 1a346: f248 0280 movw r2, #32896 ; 0x8080 - 1a34a: 2100 movs r1, #0 - 1a34c: 4620 mov r0, r4 - 1a34e: 47b8 blx r7 - 1a350: 4607 mov r7, r0 + 1a32e: f248 0280 movw r2, #32896 ; 0x8080 + 1a332: 2100 movs r1, #0 + 1a334: 4620 mov r0, r4 + 1a336: 47b8 blx r7 + 1a338: 4607 mov r7, r0 if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; - 1a352: 7c2b ldrb r3, [r5, #16] + 1a33a: 7c2b ldrb r3, [r5, #16] lv_txt_flag_t flag = LV_TXT_FLAG_NONE; - 1a354: f3c3 1280 ubfx r2, r3, #6, #1 + 1a33c: f3c3 1280 ubfx r2, r3, #6, #1 if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - 1a358: f013 0f80 tst.w r3, #128 ; 0x80 - 1a35c: bf18 it ne - 1a35e: f042 0202 orrne.w r2, r2, #2 + 1a340: f013 0f80 tst.w r3, #128 ; 0x80 + 1a344: bf18 it ne + 1a346: f042 0202 orrne.w r2, r2, #2 if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT; - 1a362: f013 0f07 tst.w r3, #7 - 1a366: bf08 it eq - 1a368: f042 0210 orreq.w r2, r2, #16 + 1a34a: f013 0f07 tst.w r3, #7 + 1a34e: bf08 it eq + 1a350: f042 0210 orreq.w r2, r2, #16 _lv_txt_get_size(&size, ext->text, font, letter_space, line_space, max_w, flag); - 1a36c: 6829 ldr r1, [r5, #0] - 1a36e: 9202 str r2, [sp, #8] - 1a370: 9601 str r6, [sp, #4] - 1a372: f8cd 9000 str.w r9, [sp] - 1a376: 4603 mov r3, r0 - 1a378: 4642 mov r2, r8 - 1a37a: a815 add r0, sp, #84 ; 0x54 - 1a37c: 4e96 ldr r6, [pc, #600] ; (1a5d8 ) - 1a37e: 47b0 blx r6 + 1a354: 6829 ldr r1, [r5, #0] + 1a356: 9202 str r2, [sp, #8] + 1a358: 9601 str r6, [sp, #4] + 1a35a: f8cd 9000 str.w r9, [sp] + 1a35e: 4603 mov r3, r0 + 1a360: 4642 mov r2, r8 + 1a362: a815 add r0, sp, #84 ; 0x54 + 1a364: 4e96 ldr r6, [pc, #600] ; (1a5c0 ) + 1a366: 47b0 blx r6 if(ext->long_mode == LV_LABEL_LONG_EXPAND) { - 1a380: 7c2b ldrb r3, [r5, #16] - 1a382: f013 0307 ands.w r3, r3, #7 - 1a386: d010 beq.n 1a3aa + 1a368: 7c2b ldrb r3, [r5, #16] + 1a36a: f013 0307 ands.w r3, r3, #7 + 1a36e: d010 beq.n 1a392 else if(ext->long_mode == LV_LABEL_LONG_SROLL) { - 1a388: 2b03 cmp r3, #3 - 1a38a: d034 beq.n 1a3f6 + 1a370: 2b03 cmp r3, #3 + 1a372: d034 beq.n 1a3de else if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) { - 1a38c: 2b04 cmp r3, #4 - 1a38e: f000 80d7 beq.w 1a540 + 1a374: 2b04 cmp r3, #4 + 1a376: f000 80d7 beq.w 1a528 else if(ext->long_mode == LV_LABEL_LONG_DOT) { - 1a392: 2b02 cmp r3, #2 - 1a394: f000 816d beq.w 1a672 + 1a37a: 2b02 cmp r3, #2 + 1a37c: f000 816d beq.w 1a65a else if(ext->long_mode == LV_LABEL_LONG_BREAK) { - 1a398: 2b01 cmp r3, #1 - 1a39a: f000 81fe beq.w 1a79a + 1a380: 2b01 cmp r3, #1 + 1a382: f000 81fe beq.w 1a782 lv_obj_invalidate(label); - 1a39e: 4620 mov r0, r4 - 1a3a0: 4b8e ldr r3, [pc, #568] ; (1a5dc ) - 1a3a2: 4798 blx r3 + 1a386: 4620 mov r0, r4 + 1a388: 4b8e ldr r3, [pc, #568] ; (1a5c4 ) + 1a38a: 4798 blx r3 } - 1a3a4: b019 add sp, #100 ; 0x64 - 1a3a6: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} + 1a38c: b019 add sp, #100 ; 0x64 + 1a38e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_LEFT, pad_left, lv_style_int_t, _int, scalar) - 1a3aa: 2212 movs r2, #18 - 1a3ac: 2100 movs r1, #0 - 1a3ae: 4620 mov r0, r4 - 1a3b0: 4e88 ldr r6, [pc, #544] ; (1a5d4 ) - 1a3b2: 47b0 blx r6 - 1a3b4: 4605 mov r5, r0 + 1a392: 2212 movs r2, #18 + 1a394: 2100 movs r1, #0 + 1a396: 4620 mov r0, r4 + 1a398: 4e88 ldr r6, [pc, #544] ; (1a5bc ) + 1a39a: 47b0 blx r6 + 1a39c: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_RIGHT, pad_right, lv_style_int_t, _int, scalar) - 1a3b6: 2213 movs r2, #19 - 1a3b8: 2100 movs r1, #0 - 1a3ba: 4620 mov r0, r4 - 1a3bc: 47b0 blx r6 + 1a39e: 2213 movs r2, #19 + 1a3a0: 2100 movs r1, #0 + 1a3a2: 4620 mov r0, r4 + 1a3a4: 47b0 blx r6 size.x += lv_obj_get_style_pad_left(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_right(label, LV_LABEL_PART_MAIN); - 1a3be: 4428 add r0, r5 - 1a3c0: f8bd 5054 ldrh.w r5, [sp, #84] ; 0x54 - 1a3c4: 4428 add r0, r5 - 1a3c6: f8ad 0054 strh.w r0, [sp, #84] ; 0x54 + 1a3a6: 4428 add r0, r5 + 1a3a8: f8bd 5054 ldrh.w r5, [sp, #84] ; 0x54 + 1a3ac: 4428 add r0, r5 + 1a3ae: f8ad 0054 strh.w r0, [sp, #84] ; 0x54 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1a3ca: 2210 movs r2, #16 - 1a3cc: 2100 movs r1, #0 - 1a3ce: 4620 mov r0, r4 - 1a3d0: 47b0 blx r6 - 1a3d2: 4605 mov r5, r0 + 1a3b2: 2210 movs r2, #16 + 1a3b4: 2100 movs r1, #0 + 1a3b6: 4620 mov r0, r4 + 1a3b8: 47b0 blx r6 + 1a3ba: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1a3d4: 2211 movs r2, #17 - 1a3d6: 2100 movs r1, #0 - 1a3d8: 4620 mov r0, r4 - 1a3da: 47b0 blx r6 + 1a3bc: 2211 movs r2, #17 + 1a3be: 2100 movs r1, #0 + 1a3c0: 4620 mov r0, r4 + 1a3c2: 47b0 blx r6 size.y += lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN); - 1a3dc: 182a adds r2, r5, r0 - 1a3de: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 - 1a3e2: 4402 add r2, r0 - 1a3e4: b212 sxth r2, r2 - 1a3e6: f8ad 2056 strh.w r2, [sp, #86] ; 0x56 + 1a3c4: 182a adds r2, r5, r0 + 1a3c6: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 + 1a3ca: 4402 add r2, r0 + 1a3cc: b212 sxth r2, r2 + 1a3ce: f8ad 2056 strh.w r2, [sp, #86] ; 0x56 lv_obj_set_size(label, size.x, size.y); - 1a3ea: f9bd 1054 ldrsh.w r1, [sp, #84] ; 0x54 - 1a3ee: 4620 mov r0, r4 - 1a3f0: 4b7b ldr r3, [pc, #492] ; (1a5e0 ) - 1a3f2: 4798 blx r3 - 1a3f4: e7d3 b.n 1a39e + 1a3d2: f9bd 1054 ldrsh.w r1, [sp, #84] ; 0x54 + 1a3d6: 4620 mov r0, r4 + 1a3d8: 4b7b ldr r3, [pc, #492] ; (1a5c8 ) + 1a3da: 4798 blx r3 + 1a3dc: e7d3 b.n 1a386 lv_anim_init(&a); - 1a3f6: a805 add r0, sp, #20 - 1a3f8: 4b7a ldr r3, [pc, #488] ; (1a5e4 ) - 1a3fa: 4798 blx r3 + 1a3de: a805 add r0, sp, #20 + 1a3e0: 4b7a ldr r3, [pc, #488] ; (1a5cc ) + 1a3e2: 4798 blx r3 * @param a pointer to an initialized `lv_anim_t` variable * @param var pointer to a variable to animate */ static inline void lv_anim_set_var(lv_anim_t * a, void * var) { a->var = var; - 1a3fc: 9405 str r4, [sp, #20] + 1a3e4: 9405 str r4, [sp, #20] * @param a pointer to an initialized `lv_anim_t` variable * @param cnt repeat count or `LV_ANIM_REPEAT_INFINITE` for infinite repetition. 0: to disable repetition. */ static inline void lv_anim_set_repeat_count(lv_anim_t * a, uint16_t cnt) { a->repeat_cnt = cnt; - 1a3fe: f64f 73ff movw r3, #65535 ; 0xffff - 1a402: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 + 1a3e6: f64f 73ff movw r3, #65535 ; 0xffff + 1a3ea: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 lv_anim_set_playback_delay(&a, (((lv_font_get_glyph_width(font, ' ', ' ') + letter_space) * 1000) / - 1a406: 2220 movs r2, #32 - 1a408: 4611 mov r1, r2 - 1a40a: 4640 mov r0, r8 - 1a40c: 4b76 ldr r3, [pc, #472] ; (1a5e8 ) - 1a40e: 4798 blx r3 - 1a410: 4438 add r0, r7 - 1a412: f44f 737a mov.w r3, #1000 ; 0x3e8 - 1a416: fb03 f300 mul.w r3, r3, r0 + 1a3ee: 2220 movs r2, #32 + 1a3f0: 4611 mov r1, r2 + 1a3f2: 4640 mov r0, r8 + 1a3f4: 4b76 ldr r3, [pc, #472] ; (1a5d0 ) + 1a3f6: 4798 blx r3 + 1a3f8: 4438 add r0, r7 + 1a3fa: f44f 737a mov.w r3, #1000 ; 0x3e8 + 1a3fe: fb03 f300 mul.w r3, r3, r0 ext->anim_speed) * - 1a41a: 8968 ldrh r0, [r5, #10] + 1a402: 8968 ldrh r0, [r5, #10] lv_anim_set_playback_delay(&a, (((lv_font_get_glyph_width(font, ' ', ' ') + letter_space) * 1000) / - 1a41c: fb93 f3f0 sdiv r3, r3, r0 - 1a420: eb03 0343 add.w r3, r3, r3, lsl #1 + 1a404: fb93 f3f0 sdiv r3, r3, r0 + 1a408: eb03 0343 add.w r3, r3, r3, lsl #1 a->playback_delay = delay; - 1a424: b29b uxth r3, r3 - 1a426: 930f str r3, [sp, #60] ; 0x3c + 1a40c: b29b uxth r3, r3 + 1a40e: 930f str r3, [sp, #60] ; 0x3c * @param a pointer to an initialized `lv_anim_t` variable * @param delay delay in milliseconds before repeating the animation. */ static inline void lv_anim_set_repeat_delay(lv_anim_t * a, uint16_t delay) { a->repeat_delay = delay; - 1a428: 9311 str r3, [sp, #68] ; 0x44 + 1a410: 9311 str r3, [sp, #68] ; 0x44 if(size.x > lv_area_get_width(&txt_coords)) { - 1a42a: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 - 1a42e: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - 1a432: 3301 adds r3, #1 - 1a434: f8bd 1058 ldrh.w r1, [sp, #88] ; 0x58 - 1a438: 1a5b subs r3, r3, r1 - 1a43a: b29b uxth r3, r3 - 1a43c: b219 sxth r1, r3 - 1a43e: 428a cmp r2, r1 - 1a440: dd37 ble.n 1a4b2 + 1a412: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 + 1a416: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + 1a41a: 3301 adds r3, #1 + 1a41c: f8bd 1058 ldrh.w r1, [sp, #88] ; 0x58 + 1a420: 1a5b subs r3, r3, r1 + 1a422: b29b uxth r3, r3 + 1a424: b219 sxth r1, r3 + 1a426: 428a cmp r2, r1 + 1a428: dd37 ble.n 1a49a lv_anim_set_values(&a, 0, lv_area_get_width(&txt_coords) - size.x); - 1a442: 1a9b subs r3, r3, r2 - 1a444: b21a sxth r2, r3 + 1a42a: 1a9b subs r3, r3, r2 + 1a42c: b21a sxth r2, r3 a->start = start; - 1a446: 2100 movs r1, #0 - 1a448: 910b str r1, [sp, #44] ; 0x2c + 1a42e: 2100 movs r1, #0 + 1a430: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 1a44a: 920c str r2, [sp, #48] ; 0x30 + 1a432: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 1a44c: 4e67 ldr r6, [pc, #412] ; (1a5ec ) - 1a44e: 9606 str r6, [sp, #24] + 1a434: 4e67 ldr r6, [pc, #412] ; (1a5d4 ) + 1a436: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 1a450: 8968 ldrh r0, [r5, #10] - 1a452: 4b67 ldr r3, [pc, #412] ; (1a5f0 ) - 1a454: 4798 blx r3 + 1a438: 8968 ldrh r0, [r5, #10] + 1a43a: 4b67 ldr r3, [pc, #412] ; (1a5d8 ) + 1a43c: 4798 blx r3 a->time = duration; - 1a456: 900d str r0, [sp, #52] ; 0x34 - 1a458: 9010 str r0, [sp, #64] ; 0x40 + 1a43e: 900d str r0, [sp, #52] ; 0x34 + 1a440: 9010 str r0, [sp, #64] ; 0x40 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1a45a: 4631 mov r1, r6 - 1a45c: 4620 mov r0, r4 - 1a45e: 4b65 ldr r3, [pc, #404] ; (1a5f4 ) - 1a460: 4798 blx r3 + 1a442: 4631 mov r1, r6 + 1a444: 4620 mov r0, r4 + 1a446: 4b65 ldr r3, [pc, #404] ; (1a5dc ) + 1a448: 4798 blx r3 if(anim_cur) { - 1a462: b318 cbz r0, 1a4ac + 1a44a: b318 cbz r0, 1a494 act_time = anim_cur->act_time; - 1a464: 6a42 ldr r2, [r0, #36] ; 0x24 + 1a44c: 6a42 ldr r2, [r0, #36] ; 0x24 playback_now = anim_cur->playback_now; - 1a466: f890 303c ldrb.w r3, [r0, #60] ; 0x3c - 1a46a: f003 0301 and.w r3, r3, #1 + 1a44e: f890 303c ldrb.w r3, [r0, #60] ; 0x3c + 1a452: f003 0301 and.w r3, r3, #1 if(act_time < a.time) { - 1a46e: 990d ldr r1, [sp, #52] ; 0x34 - 1a470: 428a cmp r2, r1 - 1a472: da11 bge.n 1a498 + 1a456: 990d ldr r1, [sp, #52] ; 0x34 + 1a458: 428a cmp r2, r1 + 1a45a: da11 bge.n 1a480 a.act_time = act_time; /*To keep the old position*/ - 1a474: 920e str r2, [sp, #56] ; 0x38 + 1a45c: 920e str r2, [sp, #56] ; 0x38 a.early_apply = 0; - 1a476: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a - 1a47a: f36f 0200 bfc r2, #0, #1 - 1a47e: f88d 204a strb.w r2, [sp, #74] ; 0x4a + 1a45e: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a + 1a462: f36f 0200 bfc r2, #0, #1 + 1a466: f88d 204a strb.w r2, [sp, #74] ; 0x4a if(playback_now) { - 1a482: b14b cbz r3, 1a498 + 1a46a: b14b cbz r3, 1a480 a.playback_now = 1; - 1a484: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 - 1a488: f043 0301 orr.w r3, r3, #1 - 1a48c: f88d 3050 strb.w r3, [sp, #80] ; 0x50 + 1a46c: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 + 1a470: f043 0301 orr.w r3, r3, #1 + 1a474: f88d 3050 strb.w r3, [sp, #80] ; 0x50 tmp = a.start; - 1a490: 9b0b ldr r3, [sp, #44] ; 0x2c + 1a478: 9b0b ldr r3, [sp, #44] ; 0x2c a.start = a.end; - 1a492: 9a0c ldr r2, [sp, #48] ; 0x30 - 1a494: 920b str r2, [sp, #44] ; 0x2c + 1a47a: 9a0c ldr r2, [sp, #48] ; 0x30 + 1a47c: 920b str r2, [sp, #44] ; 0x2c a.end = tmp; - 1a496: 930c str r3, [sp, #48] ; 0x30 + 1a47e: 930c str r3, [sp, #48] ; 0x30 lv_anim_start(&a); - 1a498: a805 add r0, sp, #20 - 1a49a: 4b57 ldr r3, [pc, #348] ; (1a5f8 ) - 1a49c: 4798 blx r3 + 1a480: a805 add r0, sp, #20 + 1a482: 4b57 ldr r3, [pc, #348] ; (1a5e0 ) + 1a484: 4798 blx r3 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1a49e: 4957 ldr r1, [pc, #348] ; (1a5fc ) - 1a4a0: 4620 mov r0, r4 - 1a4a2: 4b57 ldr r3, [pc, #348] ; (1a600 ) - 1a4a4: 4798 blx r3 + 1a486: 4957 ldr r1, [pc, #348] ; (1a5e4 ) + 1a488: 4620 mov r0, r4 + 1a48a: 4b57 ldr r3, [pc, #348] ; (1a5e8 ) + 1a48c: 4798 blx r3 ext->offset.y = 0; - 1a4a6: 2300 movs r3, #0 - 1a4a8: 81eb strh r3, [r5, #14] - 1a4aa: e778 b.n 1a39e + 1a48e: 2300 movs r3, #0 + 1a490: 81eb strh r3, [r5, #14] + 1a492: e778 b.n 1a386 bool playback_now = false; - 1a4ac: 2300 movs r3, #0 + 1a494: 2300 movs r3, #0 int32_t act_time = 0; - 1a4ae: 461a mov r2, r3 - 1a4b0: e7dd b.n 1a46e + 1a496: 461a mov r2, r3 + 1a498: e7dd b.n 1a456 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1a4b2: 494e ldr r1, [pc, #312] ; (1a5ec ) - 1a4b4: 4620 mov r0, r4 - 1a4b6: 4b52 ldr r3, [pc, #328] ; (1a600 ) - 1a4b8: 4798 blx r3 + 1a49a: 494e ldr r1, [pc, #312] ; (1a5d4 ) + 1a49c: 4620 mov r0, r4 + 1a49e: 4b52 ldr r3, [pc, #328] ; (1a5e8 ) + 1a4a0: 4798 blx r3 ext->offset.x = 0; - 1a4ba: 2300 movs r3, #0 - 1a4bc: 81ab strh r3, [r5, #12] + 1a4a2: 2300 movs r3, #0 + 1a4a4: 81ab strh r3, [r5, #12] if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 1a4be: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 + 1a4a6: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1a4c2: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a4c6: 3301 adds r3, #1 - 1a4c8: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a - 1a4cc: 1a5b subs r3, r3, r1 - 1a4ce: b29b uxth r3, r3 - 1a4d0: b219 sxth r1, r3 - 1a4d2: 428a cmp r2, r1 - 1a4d4: dde3 ble.n 1a49e + 1a4aa: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a4ae: 3301 adds r3, #1 + 1a4b0: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a + 1a4b4: 1a5b subs r3, r3, r1 + 1a4b6: b29b uxth r3, r3 + 1a4b8: b219 sxth r1, r3 + 1a4ba: 428a cmp r2, r1 + 1a4bc: dde3 ble.n 1a486 lv_anim_set_values(&a, 0, lv_area_get_height(&txt_coords) - size.y - (lv_font_get_line_height(font))); - 1a4d6: 1a9a subs r2, r3, r2 - 1a4d8: f8b8 3008 ldrh.w r3, [r8, #8] - 1a4dc: 1ad2 subs r2, r2, r3 - 1a4de: b212 sxth r2, r2 + 1a4be: 1a9a subs r2, r3, r2 + 1a4c0: f8b8 3008 ldrh.w r3, [r8, #8] + 1a4c4: 1ad2 subs r2, r2, r3 + 1a4c6: b212 sxth r2, r2 a->start = start; - 1a4e0: 2100 movs r1, #0 - 1a4e2: 910b str r1, [sp, #44] ; 0x2c + 1a4c8: 2100 movs r1, #0 + 1a4ca: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 1a4e4: 920c str r2, [sp, #48] ; 0x30 + 1a4cc: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 1a4e6: 4e45 ldr r6, [pc, #276] ; (1a5fc ) - 1a4e8: 9606 str r6, [sp, #24] + 1a4ce: 4e45 ldr r6, [pc, #276] ; (1a5e4 ) + 1a4d0: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 1a4ea: 8968 ldrh r0, [r5, #10] - 1a4ec: 4b40 ldr r3, [pc, #256] ; (1a5f0 ) - 1a4ee: 4798 blx r3 + 1a4d2: 8968 ldrh r0, [r5, #10] + 1a4d4: 4b40 ldr r3, [pc, #256] ; (1a5d8 ) + 1a4d6: 4798 blx r3 a->time = duration; - 1a4f0: 900d str r0, [sp, #52] ; 0x34 - 1a4f2: 9010 str r0, [sp, #64] ; 0x40 + 1a4d8: 900d str r0, [sp, #52] ; 0x34 + 1a4da: 9010 str r0, [sp, #64] ; 0x40 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1a4f4: 4631 mov r1, r6 - 1a4f6: 4620 mov r0, r4 - 1a4f8: 4b3e ldr r3, [pc, #248] ; (1a5f4 ) - 1a4fa: 4798 blx r3 + 1a4dc: 4631 mov r1, r6 + 1a4de: 4620 mov r0, r4 + 1a4e0: 4b3e ldr r3, [pc, #248] ; (1a5dc ) + 1a4e2: 4798 blx r3 if(anim_cur) { - 1a4fc: b1e8 cbz r0, 1a53a + 1a4e4: b1e8 cbz r0, 1a522 act_time = anim_cur->act_time; - 1a4fe: 6a42 ldr r2, [r0, #36] ; 0x24 + 1a4e6: 6a42 ldr r2, [r0, #36] ; 0x24 playback_now = anim_cur->playback_now; - 1a500: f890 303c ldrb.w r3, [r0, #60] ; 0x3c - 1a504: f003 0301 and.w r3, r3, #1 + 1a4e8: f890 303c ldrb.w r3, [r0, #60] ; 0x3c + 1a4ec: f003 0301 and.w r3, r3, #1 if(act_time < a.time) { - 1a508: 990d ldr r1, [sp, #52] ; 0x34 - 1a50a: 428a cmp r2, r1 - 1a50c: da11 bge.n 1a532 + 1a4f0: 990d ldr r1, [sp, #52] ; 0x34 + 1a4f2: 428a cmp r2, r1 + 1a4f4: da11 bge.n 1a51a a.act_time = act_time; /*To keep the old position*/ - 1a50e: 920e str r2, [sp, #56] ; 0x38 + 1a4f6: 920e str r2, [sp, #56] ; 0x38 a.early_apply = 0; - 1a510: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a - 1a514: f36f 0200 bfc r2, #0, #1 - 1a518: f88d 204a strb.w r2, [sp, #74] ; 0x4a + 1a4f8: f89d 204a ldrb.w r2, [sp, #74] ; 0x4a + 1a4fc: f36f 0200 bfc r2, #0, #1 + 1a500: f88d 204a strb.w r2, [sp, #74] ; 0x4a if(playback_now) { - 1a51c: b14b cbz r3, 1a532 + 1a504: b14b cbz r3, 1a51a a.playback_now = 1; - 1a51e: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 - 1a522: f043 0301 orr.w r3, r3, #1 - 1a526: f88d 3050 strb.w r3, [sp, #80] ; 0x50 + 1a506: f89d 3050 ldrb.w r3, [sp, #80] ; 0x50 + 1a50a: f043 0301 orr.w r3, r3, #1 + 1a50e: f88d 3050 strb.w r3, [sp, #80] ; 0x50 tmp = a.start; - 1a52a: 9b0b ldr r3, [sp, #44] ; 0x2c + 1a512: 9b0b ldr r3, [sp, #44] ; 0x2c a.start = a.end; - 1a52c: 9a0c ldr r2, [sp, #48] ; 0x30 - 1a52e: 920b str r2, [sp, #44] ; 0x2c + 1a514: 9a0c ldr r2, [sp, #48] ; 0x30 + 1a516: 920b str r2, [sp, #44] ; 0x2c a.end = tmp; - 1a530: 930c str r3, [sp, #48] ; 0x30 + 1a518: 930c str r3, [sp, #48] ; 0x30 lv_anim_start(&a); - 1a532: a805 add r0, sp, #20 - 1a534: 4b30 ldr r3, [pc, #192] ; (1a5f8 ) - 1a536: 4798 blx r3 + 1a51a: a805 add r0, sp, #20 + 1a51c: 4b30 ldr r3, [pc, #192] ; (1a5e0 ) + 1a51e: 4798 blx r3 if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 1a538: e731 b.n 1a39e + 1a520: e731 b.n 1a386 bool playback_now = false; - 1a53a: 2300 movs r3, #0 + 1a522: 2300 movs r3, #0 int32_t act_time = 0; - 1a53c: 461a mov r2, r3 - 1a53e: e7e3 b.n 1a508 + 1a524: 461a mov r2, r3 + 1a526: e7e3 b.n 1a4f0 lv_anim_init(&a); - 1a540: a805 add r0, sp, #20 - 1a542: 4b28 ldr r3, [pc, #160] ; (1a5e4 ) - 1a544: 4798 blx r3 + 1a528: a805 add r0, sp, #20 + 1a52a: 4b28 ldr r3, [pc, #160] ; (1a5cc ) + 1a52c: 4798 blx r3 a->var = var; - 1a546: 9405 str r4, [sp, #20] + 1a52e: 9405 str r4, [sp, #20] a->repeat_cnt = cnt; - 1a548: f64f 73ff movw r3, #65535 ; 0xffff - 1a54c: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 + 1a530: f64f 73ff movw r3, #65535 ; 0xffff + 1a534: f8ad 3048 strh.w r3, [sp, #72] ; 0x48 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1a550: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c - 1a554: 3301 adds r3, #1 - 1a556: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 - 1a55a: 1a9b subs r3, r3, r2 + 1a538: f8bd 305c ldrh.w r3, [sp, #92] ; 0x5c + 1a53c: 3301 adds r3, #1 + 1a53e: f8bd 2058 ldrh.w r2, [sp, #88] ; 0x58 + 1a542: 1a9b subs r3, r3, r2 if(size.x > lv_area_get_width(&txt_coords)) { - 1a55c: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 - 1a560: b21b sxth r3, r3 - 1a562: 429a cmp r2, r3 - 1a564: dd50 ble.n 1a608 + 1a544: f9bd 2054 ldrsh.w r2, [sp, #84] ; 0x54 + 1a548: b21b sxth r3, r3 + 1a54a: 429a cmp r2, r3 + 1a54c: dd50 ble.n 1a5f0 lv_anim_set_values(&a, 0, -size.x - lv_font_get_glyph_width(font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT); - 1a566: 2220 movs r2, #32 - 1a568: 4611 mov r1, r2 - 1a56a: 4640 mov r0, r8 - 1a56c: 4b1e ldr r3, [pc, #120] ; (1a5e8 ) - 1a56e: 4798 blx r3 - 1a570: ebc0 3380 rsb r3, r0, r0, lsl #14 - 1a574: eb00 0283 add.w r2, r0, r3, lsl #2 - 1a578: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 - 1a57c: 1ad2 subs r2, r2, r3 - 1a57e: b212 sxth r2, r2 + 1a54e: 2220 movs r2, #32 + 1a550: 4611 mov r1, r2 + 1a552: 4640 mov r0, r8 + 1a554: 4b1e ldr r3, [pc, #120] ; (1a5d0 ) + 1a556: 4798 blx r3 + 1a558: ebc0 3380 rsb r3, r0, r0, lsl #14 + 1a55c: eb00 0283 add.w r2, r0, r3, lsl #2 + 1a560: f8bd 3054 ldrh.w r3, [sp, #84] ; 0x54 + 1a564: 1ad2 subs r2, r2, r3 + 1a566: b212 sxth r2, r2 a->start = start; - 1a580: 2100 movs r1, #0 - 1a582: 910b str r1, [sp, #44] ; 0x2c + 1a568: 2100 movs r1, #0 + 1a56a: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 1a584: 920c str r2, [sp, #48] ; 0x30 + 1a56c: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 1a586: 4e19 ldr r6, [pc, #100] ; (1a5ec ) - 1a588: 9606 str r6, [sp, #24] + 1a56e: 4e19 ldr r6, [pc, #100] ; (1a5d4 ) + 1a570: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 1a58a: 8968 ldrh r0, [r5, #10] - 1a58c: 4b18 ldr r3, [pc, #96] ; (1a5f0 ) - 1a58e: 4798 blx r3 + 1a572: 8968 ldrh r0, [r5, #10] + 1a574: 4b18 ldr r3, [pc, #96] ; (1a5d8 ) + 1a576: 4798 blx r3 a->time = duration; - 1a590: 900d str r0, [sp, #52] ; 0x34 + 1a578: 900d str r0, [sp, #52] ; 0x34 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1a592: 4631 mov r1, r6 - 1a594: 4620 mov r0, r4 - 1a596: 4b17 ldr r3, [pc, #92] ; (1a5f4 ) - 1a598: 4798 blx r3 + 1a57a: 4631 mov r1, r6 + 1a57c: 4620 mov r0, r4 + 1a57e: 4b17 ldr r3, [pc, #92] ; (1a5dc ) + 1a580: 4798 blx r3 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a59a: 2800 cmp r0, #0 - 1a59c: d032 beq.n 1a604 - 1a59e: 6a43 ldr r3, [r0, #36] ; 0x24 + 1a582: 2800 cmp r0, #0 + 1a584: d032 beq.n 1a5ec + 1a586: 6a43 ldr r3, [r0, #36] ; 0x24 if(act_time < a.time) { - 1a5a0: 9a0d ldr r2, [sp, #52] ; 0x34 - 1a5a2: 4293 cmp r3, r2 - 1a5a4: da06 bge.n 1a5b4 + 1a588: 9a0d ldr r2, [sp, #52] ; 0x34 + 1a58a: 4293 cmp r3, r2 + 1a58c: da06 bge.n 1a59c a.act_time = act_time; /*To keep the old position*/ - 1a5a6: 930e str r3, [sp, #56] ; 0x38 + 1a58e: 930e str r3, [sp, #56] ; 0x38 a.early_apply = 0; - 1a5a8: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a - 1a5ac: f36f 0300 bfc r3, #0, #1 - 1a5b0: f88d 304a strb.w r3, [sp, #74] ; 0x4a + 1a590: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a + 1a594: f36f 0300 bfc r3, #0, #1 + 1a598: f88d 304a strb.w r3, [sp, #74] ; 0x4a lv_anim_start(&a); - 1a5b4: a805 add r0, sp, #20 - 1a5b6: 4b10 ldr r3, [pc, #64] ; (1a5f8 ) - 1a5b8: 4798 blx r3 + 1a59c: a805 add r0, sp, #20 + 1a59e: 4b10 ldr r3, [pc, #64] ; (1a5e0 ) + 1a5a0: 4798 blx r3 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1a5ba: 4910 ldr r1, [pc, #64] ; (1a5fc ) - 1a5bc: 4620 mov r0, r4 - 1a5be: 4b10 ldr r3, [pc, #64] ; (1a600 ) - 1a5c0: 4798 blx r3 + 1a5a2: 4910 ldr r1, [pc, #64] ; (1a5e4 ) + 1a5a4: 4620 mov r0, r4 + 1a5a6: 4b10 ldr r3, [pc, #64] ; (1a5e8 ) + 1a5a8: 4798 blx r3 ext->offset.y = 0; - 1a5c2: 2300 movs r3, #0 - 1a5c4: 81eb strh r3, [r5, #14] - 1a5c6: e6ea b.n 1a39e - 1a5c8: 00004d9d .word 0x00004d9d - 1a5cc: 00019d89 .word 0x00019d89 - 1a5d0: 000046a1 .word 0x000046a1 - 1a5d4: 000044d5 .word 0x000044d5 - 1a5d8: 0001407d .word 0x0001407d - 1a5dc: 00003321 .word 0x00003321 - 1a5e0: 000042a1 .word 0x000042a1 - 1a5e4: 000112e5 .word 0x000112e5 - 1a5e8: 00010061 .word 0x00010061 - 1a5ec: 00019d6d .word 0x00019d6d - 1a5f0: 00011491 .word 0x00011491 - 1a5f4: 00011455 .word 0x00011455 - 1a5f8: 000113a1 .word 0x000113a1 - 1a5fc: 00019d51 .word 0x00019d51 - 1a600: 00011329 .word 0x00011329 + 1a5aa: 2300 movs r3, #0 + 1a5ac: 81eb strh r3, [r5, #14] + 1a5ae: e6ea b.n 1a386 + 1a5b0: 00004d85 .word 0x00004d85 + 1a5b4: 00019d71 .word 0x00019d71 + 1a5b8: 00004689 .word 0x00004689 + 1a5bc: 000044bd .word 0x000044bd + 1a5c0: 00014065 .word 0x00014065 + 1a5c4: 00003309 .word 0x00003309 + 1a5c8: 00004289 .word 0x00004289 + 1a5cc: 000112cd .word 0x000112cd + 1a5d0: 00010049 .word 0x00010049 + 1a5d4: 00019d55 .word 0x00019d55 + 1a5d8: 00011479 .word 0x00011479 + 1a5dc: 0001143d .word 0x0001143d + 1a5e0: 00011389 .word 0x00011389 + 1a5e4: 00019d39 .word 0x00019d39 + 1a5e8: 00011311 .word 0x00011311 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a604: 2300 movs r3, #0 - 1a606: e7cb b.n 1a5a0 + 1a5ec: 2300 movs r3, #0 + 1a5ee: e7cb b.n 1a588 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1a608: 496e ldr r1, [pc, #440] ; (1a7c4 ) - 1a60a: 4620 mov r0, r4 - 1a60c: 4b6e ldr r3, [pc, #440] ; (1a7c8 ) - 1a60e: 4798 blx r3 + 1a5f0: 496e ldr r1, [pc, #440] ; (1a7ac ) + 1a5f2: 4620 mov r0, r4 + 1a5f4: 4b6e ldr r3, [pc, #440] ; (1a7b0 ) + 1a5f6: 4798 blx r3 ext->offset.x = 0; - 1a610: 2300 movs r3, #0 - 1a612: 81ab strh r3, [r5, #12] + 1a5f8: 2300 movs r3, #0 + 1a5fa: 81ab strh r3, [r5, #12] if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 1a614: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 + 1a5fc: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1a618: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a61c: 3301 adds r3, #1 - 1a61e: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a - 1a622: 1a5b subs r3, r3, r1 - 1a624: b21b sxth r3, r3 - 1a626: 429a cmp r2, r3 - 1a628: ddc7 ble.n 1a5ba + 1a600: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a604: 3301 adds r3, #1 + 1a606: f8bd 105a ldrh.w r1, [sp, #90] ; 0x5a + 1a60a: 1a5b subs r3, r3, r1 + 1a60c: b21b sxth r3, r3 + 1a60e: 429a cmp r2, r3 + 1a610: ddc7 ble.n 1a5a2 lv_anim_set_values(&a, 0, -size.y - (lv_font_get_line_height(font))); - 1a62a: f8b8 3008 ldrh.w r3, [r8, #8] - 1a62e: 441a add r2, r3 - 1a630: 4252 negs r2, r2 - 1a632: b212 sxth r2, r2 + 1a612: f8b8 3008 ldrh.w r3, [r8, #8] + 1a616: 441a add r2, r3 + 1a618: 4252 negs r2, r2 + 1a61a: b212 sxth r2, r2 a->start = start; - 1a634: 2100 movs r1, #0 - 1a636: 910b str r1, [sp, #44] ; 0x2c + 1a61c: 2100 movs r1, #0 + 1a61e: 910b str r1, [sp, #44] ; 0x2c a->end = end; - 1a638: 920c str r2, [sp, #48] ; 0x30 + 1a620: 920c str r2, [sp, #48] ; 0x30 a->exec_cb = exec_cb; - 1a63a: 4e64 ldr r6, [pc, #400] ; (1a7cc ) - 1a63c: 9606 str r6, [sp, #24] + 1a622: 4e64 ldr r6, [pc, #400] ; (1a7b4 ) + 1a624: 9606 str r6, [sp, #24] lv_anim_set_time(&a, lv_anim_speed_to_time(ext->anim_speed, a.start, a.end)); - 1a63e: 8968 ldrh r0, [r5, #10] - 1a640: 4b63 ldr r3, [pc, #396] ; (1a7d0 ) - 1a642: 4798 blx r3 + 1a626: 8968 ldrh r0, [r5, #10] + 1a628: 4b63 ldr r3, [pc, #396] ; (1a7b8 ) + 1a62a: 4798 blx r3 a->time = duration; - 1a644: 900d str r0, [sp, #52] ; 0x34 + 1a62c: 900d str r0, [sp, #52] ; 0x34 lv_anim_t * anim_cur = lv_anim_get(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1a646: 4631 mov r1, r6 - 1a648: 4620 mov r0, r4 - 1a64a: 4b62 ldr r3, [pc, #392] ; (1a7d4 ) - 1a64c: 4798 blx r3 + 1a62e: 4631 mov r1, r6 + 1a630: 4620 mov r0, r4 + 1a632: 4b62 ldr r3, [pc, #392] ; (1a7bc ) + 1a634: 4798 blx r3 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a64e: b170 cbz r0, 1a66e - 1a650: 6a43 ldr r3, [r0, #36] ; 0x24 + 1a636: b170 cbz r0, 1a656 + 1a638: 6a43 ldr r3, [r0, #36] ; 0x24 if(act_time < a.time) { - 1a652: 9a0d ldr r2, [sp, #52] ; 0x34 - 1a654: 4293 cmp r3, r2 - 1a656: da06 bge.n 1a666 + 1a63a: 9a0d ldr r2, [sp, #52] ; 0x34 + 1a63c: 4293 cmp r3, r2 + 1a63e: da06 bge.n 1a64e a.act_time = act_time; /*To keep the old position*/ - 1a658: 930e str r3, [sp, #56] ; 0x38 + 1a640: 930e str r3, [sp, #56] ; 0x38 a.early_apply = 0; - 1a65a: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a - 1a65e: f36f 0300 bfc r3, #0, #1 - 1a662: f88d 304a strb.w r3, [sp, #74] ; 0x4a + 1a642: f89d 304a ldrb.w r3, [sp, #74] ; 0x4a + 1a646: f36f 0300 bfc r3, #0, #1 + 1a64a: f88d 304a strb.w r3, [sp, #74] ; 0x4a lv_anim_start(&a); - 1a666: a805 add r0, sp, #20 - 1a668: 4b5b ldr r3, [pc, #364] ; (1a7d8 ) - 1a66a: 4798 blx r3 + 1a64e: a805 add r0, sp, #20 + 1a650: 4b5b ldr r3, [pc, #364] ; (1a7c0 ) + 1a652: 4798 blx r3 if(size.y > lv_area_get_height(&txt_coords) && hor_anim == false) { - 1a66c: e697 b.n 1a39e + 1a654: e697 b.n 1a386 int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a66e: 2300 movs r3, #0 - 1a670: e7ef b.n 1a652 - 1a672: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a676: 3301 adds r3, #1 - 1a678: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a - 1a67c: 1a9b subs r3, r3, r2 + 1a656: 2300 movs r3, #0 + 1a658: e7ef b.n 1a63a + 1a65a: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a65e: 3301 adds r3, #1 + 1a660: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a + 1a664: 1a9b subs r3, r3, r2 if(size.y <= lv_area_get_height(&txt_coords)) { /*No dots are required, the text is short enough*/ - 1a67e: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 - 1a682: b21b sxth r3, r3 - 1a684: 429a cmp r2, r3 - 1a686: dc03 bgt.n 1a690 + 1a666: f9bd 2056 ldrsh.w r2, [sp, #86] ; 0x56 + 1a66a: b21b sxth r3, r3 + 1a66c: 429a cmp r2, r3 + 1a66e: dc03 bgt.n 1a678 ext->dot_end = LV_LABEL_DOT_END_INV; - 1a688: f64f 73ff movw r3, #65535 ; 0xffff - 1a68c: 812b strh r3, [r5, #8] - 1a68e: e686 b.n 1a39e + 1a670: f64f 73ff movw r3, #65535 ; 0xffff + 1a674: 812b strh r3, [r5, #8] + 1a676: e686 b.n 1a386 else if(_lv_txt_get_encoded_length(ext->text) <= LV_LABEL_DOT_NUM) { /*Don't turn to dots all the characters*/ - 1a690: 4b52 ldr r3, [pc, #328] ; (1a7dc ) - 1a692: 681b ldr r3, [r3, #0] - 1a694: 6828 ldr r0, [r5, #0] - 1a696: 4798 blx r3 - 1a698: 2803 cmp r0, #3 - 1a69a: d803 bhi.n 1a6a4 + 1a678: 4b52 ldr r3, [pc, #328] ; (1a7c4 ) + 1a67a: 681b ldr r3, [r3, #0] + 1a67c: 6828 ldr r0, [r5, #0] + 1a67e: 4798 blx r3 + 1a680: 2803 cmp r0, #3 + 1a682: d803 bhi.n 1a68c ext->dot_end = LV_LABEL_DOT_END_INV; - 1a69c: f64f 73ff movw r3, #65535 ; 0xffff - 1a6a0: 812b strh r3, [r5, #8] - 1a6a2: e67c b.n 1a39e + 1a684: f64f 73ff movw r3, #65535 ; 0xffff + 1a688: 812b strh r3, [r5, #8] + 1a68a: e67c b.n 1a386 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1a6a4: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c - 1a6a8: 3601 adds r6, #1 - 1a6aa: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 - 1a6ae: 1af6 subs r6, r6, r3 - 1a6b0: b2b6 uxth r6, r6 + 1a68c: f8bd 605c ldrh.w r6, [sp, #92] ; 0x5c + 1a690: 3601 adds r6, #1 + 1a692: f8bd 3058 ldrh.w r3, [sp, #88] ; 0x58 + 1a696: 1af6 subs r6, r6, r3 + 1a698: b2b6 uxth r6, r6 (lv_font_get_glyph_width(font, '.', '.') + letter_space) * - 1a6b2: 222e movs r2, #46 ; 0x2e - 1a6b4: 4611 mov r1, r2 - 1a6b6: 4640 mov r0, r8 - 1a6b8: 4b49 ldr r3, [pc, #292] ; (1a7e0 ) - 1a6ba: 4798 blx r3 - 1a6bc: 4438 add r0, r7 + 1a69a: 222e movs r2, #46 ; 0x2e + 1a69c: 4611 mov r1, r2 + 1a69e: 4640 mov r0, r8 + 1a6a0: 4b49 ldr r3, [pc, #292] ; (1a7c8 ) + 1a6a2: 4798 blx r3 + 1a6a4: 4438 add r0, r7 p.x = lv_area_get_width(&txt_coords) - - 1a6be: ebc0 3380 rsb r3, r0, r0, lsl #14 - 1a6c2: eb00 0083 add.w r0, r0, r3, lsl #2 - 1a6c6: 4430 add r0, r6 - 1a6c8: f8ad 0010 strh.w r0, [sp, #16] + 1a6a6: ebc0 3380 rsb r3, r0, r0, lsl #14 + 1a6aa: eb00 0083 add.w r0, r0, r3, lsl #2 + 1a6ae: 4430 add r0, r6 + 1a6b0: f8ad 0010 strh.w r0, [sp, #16] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1a6cc: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e - 1a6d0: 3301 adds r3, #1 - 1a6d2: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a - 1a6d6: 1a9b subs r3, r3, r2 - 1a6d8: b29b uxth r3, r3 + 1a6b4: f8bd 305e ldrh.w r3, [sp, #94] ; 0x5e + 1a6b8: 3301 adds r3, #1 + 1a6ba: f8bd 205a ldrh.w r2, [sp, #90] ; 0x5a + 1a6be: 1a9b subs r3, r3, r2 + 1a6c0: b29b uxth r3, r3 p.y -= p.y % - 1a6da: b218 sxth r0, r3 + 1a6c2: b218 sxth r0, r3 (lv_font_get_line_height(font) + line_space); /*Round down to the last line*/ - 1a6dc: f9b8 2008 ldrsh.w r2, [r8, #8] - 1a6e0: 444a add r2, r9 + 1a6c4: f9b8 2008 ldrsh.w r2, [r8, #8] + 1a6c8: 444a add r2, r9 p.y -= p.y % - 1a6e2: fb90 f1f2 sdiv r1, r0, r2 - 1a6e6: fb02 0211 mls r2, r2, r1, r0 - 1a6ea: 1a9b subs r3, r3, r2 + 1a6ca: fb90 f1f2 sdiv r1, r0, r2 + 1a6ce: fb02 0211 mls r2, r2, r1, r0 + 1a6d2: 1a9b subs r3, r3, r2 p.y -= line_space; /*Trim the last line space*/ - 1a6ec: eba3 0909 sub.w r9, r3, r9 - 1a6f0: f8ad 9012 strh.w r9, [sp, #18] + 1a6d4: eba3 0909 sub.w r9, r3, r9 + 1a6d8: f8ad 9012 strh.w r9, [sp, #18] uint32_t letter_id = lv_label_get_letter_on(label, &p); - 1a6f4: a904 add r1, sp, #16 - 1a6f6: 4620 mov r0, r4 - 1a6f8: 4b3a ldr r3, [pc, #232] ; (1a7e4 ) - 1a6fa: 4798 blx r3 - 1a6fc: 4680 mov r8, r0 - 1a6fe: 4607 mov r7, r0 + 1a6dc: a904 add r1, sp, #16 + 1a6de: 4620 mov r0, r4 + 1a6e0: 4b3a ldr r3, [pc, #232] ; (1a7cc ) + 1a6e2: 4798 blx r3 + 1a6e4: 4680 mov r8, r0 + 1a6e6: 4607 mov r7, r0 size_t txt_len = strlen(ext->text); - 1a700: 682e ldr r6, [r5, #0] - 1a702: 4630 mov r0, r6 - 1a704: 4b38 ldr r3, [pc, #224] ; (1a7e8 ) - 1a706: 4798 blx r3 - 1a708: 4681 mov r9, r0 + 1a6e8: 682e ldr r6, [r5, #0] + 1a6ea: 4630 mov r0, r6 + 1a6ec: 4b38 ldr r3, [pc, #224] ; (1a7d0 ) + 1a6ee: 4798 blx r3 + 1a6f0: 4681 mov r9, r0 uint32_t byte_id = _lv_txt_encoded_get_byte_id(ext->text, letter_id); - 1a70a: 4b38 ldr r3, [pc, #224] ; (1a7ec ) - 1a70c: 681b ldr r3, [r3, #0] - 1a70e: 4641 mov r1, r8 - 1a710: 4630 mov r0, r6 - 1a712: 4798 blx r3 - 1a714: 4606 mov r6, r0 - 1a716: 9005 str r0, [sp, #20] + 1a6f2: 4b38 ldr r3, [pc, #224] ; (1a7d4 ) + 1a6f4: 681b ldr r3, [r3, #0] + 1a6f6: 4641 mov r1, r8 + 1a6f8: 4630 mov r0, r6 + 1a6fa: 4798 blx r3 + 1a6fc: 4606 mov r6, r0 + 1a6fe: 9005 str r0, [sp, #20] while(byte_id + LV_LABEL_DOT_NUM > txt_len) { - 1a718: f100 0803 add.w r8, r0, #3 - 1a71c: 45c1 cmp r9, r8 - 1a71e: d20e bcs.n 1a73e + 1a700: f100 0803 add.w r8, r0, #3 + 1a704: 45c1 cmp r9, r8 + 1a706: d20e bcs.n 1a726 byte_id -= _lv_txt_encoded_size(&ext->text[byte_id]); - 1a720: f8df a0dc ldr.w sl, [pc, #220] ; 1a800 - 1a724: 6828 ldr r0, [r5, #0] - 1a726: 4430 add r0, r6 - 1a728: f8da 3000 ldr.w r3, [sl] - 1a72c: 4798 blx r3 - 1a72e: 9e05 ldr r6, [sp, #20] - 1a730: 1a36 subs r6, r6, r0 - 1a732: 9605 str r6, [sp, #20] + 1a708: f8df a0dc ldr.w sl, [pc, #220] ; 1a7e8 + 1a70c: 6828 ldr r0, [r5, #0] + 1a70e: 4430 add r0, r6 + 1a710: f8da 3000 ldr.w r3, [sl] + 1a714: 4798 blx r3 + 1a716: 9e05 ldr r6, [sp, #20] + 1a718: 1a36 subs r6, r6, r0 + 1a71a: 9605 str r6, [sp, #20] letter_id--; - 1a734: 3f01 subs r7, #1 + 1a71c: 3f01 subs r7, #1 while(byte_id + LV_LABEL_DOT_NUM > txt_len) { - 1a736: f106 0803 add.w r8, r6, #3 - 1a73a: 45c1 cmp r9, r8 - 1a73c: d3f2 bcc.n 1a724 + 1a71e: f106 0803 add.w r8, r6, #3 + 1a722: 45c1 cmp r9, r8 + 1a724: d3f2 bcc.n 1a70c int32_t act_time = anim_cur ? anim_cur->act_time : 0; - 1a73e: f04f 0a04 mov.w sl, #4 - 1a742: f04f 0900 mov.w r9, #0 + 1a726: f04f 0a04 mov.w sl, #4 + 1a72a: f04f 0900 mov.w r9, #0 len += _lv_txt_encoded_size(&ext->text[byte_id]); - 1a746: f8df b0b8 ldr.w fp, [pc, #184] ; 1a800 - 1a74a: 6828 ldr r0, [r5, #0] - 1a74c: 9b05 ldr r3, [sp, #20] - 1a74e: 4418 add r0, r3 - 1a750: f8db 3000 ldr.w r3, [fp] - 1a754: 4798 blx r3 - 1a756: 4481 add r9, r0 - 1a758: fa5f f989 uxtb.w r9, r9 + 1a72e: f8df b0b8 ldr.w fp, [pc, #184] ; 1a7e8 + 1a732: 6828 ldr r0, [r5, #0] + 1a734: 9b05 ldr r3, [sp, #20] + 1a736: 4418 add r0, r3 + 1a738: f8db 3000 ldr.w r3, [fp] + 1a73c: 4798 blx r3 + 1a73e: 4481 add r9, r0 + 1a740: fa5f f989 uxtb.w r9, r9 _lv_txt_encoded_next(ext->text, &byte_id); - 1a75c: a905 add r1, sp, #20 - 1a75e: 6828 ldr r0, [r5, #0] - 1a760: 4b23 ldr r3, [pc, #140] ; (1a7f0 ) - 1a762: 681b ldr r3, [r3, #0] - 1a764: 4798 blx r3 + 1a744: a905 add r1, sp, #20 + 1a746: 6828 ldr r0, [r5, #0] + 1a748: 4b23 ldr r3, [pc, #140] ; (1a7d8 ) + 1a74a: 681b ldr r3, [r3, #0] + 1a74c: 4798 blx r3 for(i = 0; i <= LV_LABEL_DOT_NUM; i++) { - 1a766: f1ba 0a01 subs.w sl, sl, #1 - 1a76a: d1ee bne.n 1a74a + 1a74e: f1ba 0a01 subs.w sl, sl, #1 + 1a752: d1ee bne.n 1a732 if(lv_label_set_dot_tmp(label, &ext->text[byte_id_ori], len)) { - 1a76c: 6829 ldr r1, [r5, #0] - 1a76e: 464a mov r2, r9 - 1a770: 4431 add r1, r6 - 1a772: 4620 mov r0, r4 - 1a774: 4b1f ldr r3, [pc, #124] ; (1a7f4 ) - 1a776: 4798 blx r3 - 1a778: 2800 cmp r0, #0 - 1a77a: f43f ae10 beq.w 1a39e - 1a77e: 1cf1 adds r1, r6, #3 + 1a754: 6829 ldr r1, [r5, #0] + 1a756: 464a mov r2, r9 + 1a758: 4431 add r1, r6 + 1a75a: 4620 mov r0, r4 + 1a75c: 4b1f ldr r3, [pc, #124] ; (1a7dc ) + 1a75e: 4798 blx r3 + 1a760: 2800 cmp r0, #0 + 1a762: f43f ae10 beq.w 1a386 + 1a766: 1cf1 adds r1, r6, #3 ext->text[byte_id_ori + i] = '.'; - 1a780: 222e movs r2, #46 ; 0x2e - 1a782: 682b ldr r3, [r5, #0] - 1a784: 559a strb r2, [r3, r6] - 1a786: 3601 adds r6, #1 + 1a768: 222e movs r2, #46 ; 0x2e + 1a76a: 682b ldr r3, [r5, #0] + 1a76c: 559a strb r2, [r3, r6] + 1a76e: 3601 adds r6, #1 for(i = 0; i < LV_LABEL_DOT_NUM; i++) { - 1a788: 428e cmp r6, r1 - 1a78a: d1fa bne.n 1a782 + 1a770: 428e cmp r6, r1 + 1a772: d1fa bne.n 1a76a ext->text[byte_id_ori + LV_LABEL_DOT_NUM] = '\0'; - 1a78c: 682b ldr r3, [r5, #0] - 1a78e: 2200 movs r2, #0 - 1a790: f803 2008 strb.w r2, [r3, r8] + 1a774: 682b ldr r3, [r5, #0] + 1a776: 2200 movs r2, #0 + 1a778: f803 2008 strb.w r2, [r3, r8] ext->dot_end = letter_id + LV_LABEL_DOT_NUM; - 1a794: 3703 adds r7, #3 - 1a796: 812f strh r7, [r5, #8] - 1a798: e601 b.n 1a39e + 1a77c: 3703 adds r7, #3 + 1a77e: 812f strh r7, [r5, #8] + 1a780: e601 b.n 1a386 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_TOP, pad_top, lv_style_int_t, _int, scalar) - 1a79a: 2210 movs r2, #16 - 1a79c: 2100 movs r1, #0 - 1a79e: 4620 mov r0, r4 - 1a7a0: 4e15 ldr r6, [pc, #84] ; (1a7f8 ) - 1a7a2: 47b0 blx r6 - 1a7a4: 4605 mov r5, r0 + 1a782: 2210 movs r2, #16 + 1a784: 2100 movs r1, #0 + 1a786: 4620 mov r0, r4 + 1a788: 4e15 ldr r6, [pc, #84] ; (1a7e0 ) + 1a78a: 47b0 blx r6 + 1a78c: 4605 mov r5, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(PAD_BOTTOM, pad_bottom, lv_style_int_t, _int, scalar) - 1a7a6: 2211 movs r2, #17 - 1a7a8: 2100 movs r1, #0 - 1a7aa: 4620 mov r0, r4 - 1a7ac: 47b0 blx r6 + 1a78e: 2211 movs r2, #17 + 1a790: 2100 movs r1, #0 + 1a792: 4620 mov r0, r4 + 1a794: 47b0 blx r6 size.y += lv_obj_get_style_pad_top(label, LV_LABEL_PART_MAIN) + lv_obj_get_style_pad_bottom(label, LV_LABEL_PART_MAIN); - 1a7ae: 1829 adds r1, r5, r0 - 1a7b0: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 - 1a7b4: 4401 add r1, r0 - 1a7b6: b209 sxth r1, r1 - 1a7b8: f8ad 1056 strh.w r1, [sp, #86] ; 0x56 + 1a796: 1829 adds r1, r5, r0 + 1a798: f8bd 0056 ldrh.w r0, [sp, #86] ; 0x56 + 1a79c: 4401 add r1, r0 + 1a79e: b209 sxth r1, r1 + 1a7a0: f8ad 1056 strh.w r1, [sp, #86] ; 0x56 lv_obj_set_height(label, size.y); - 1a7bc: 4620 mov r0, r4 - 1a7be: 4b0f ldr r3, [pc, #60] ; (1a7fc ) - 1a7c0: 4798 blx r3 - 1a7c2: e5ec b.n 1a39e - 1a7c4: 00019d6d .word 0x00019d6d - 1a7c8: 00011329 .word 0x00011329 - 1a7cc: 00019d51 .word 0x00019d51 - 1a7d0: 00011491 .word 0x00011491 - 1a7d4: 00011455 .word 0x00011455 - 1a7d8: 000113a1 .word 0x000113a1 - 1a7dc: 20000060 .word 0x20000060 - 1a7e0: 00010061 .word 0x00010061 - 1a7e4: 0001a031 .word 0x0001a031 - 1a7e8: 0001b51f .word 0x0001b51f - 1a7ec: 2000005c .word 0x2000005c - 1a7f0: 20000058 .word 0x20000058 - 1a7f4: 00019de5 .word 0x00019de5 - 1a7f8: 000044d5 .word 0x000044d5 - 1a7fc: 000043b5 .word 0x000043b5 - 1a800: 20000054 .word 0x20000054 - -0001a804 : -{ - 1a804: b5f0 push {r4, r5, r6, r7, lr} - 1a806: b083 sub sp, #12 - 1a808: 4606 mov r6, r0 - 1a80a: 460d mov r5, r1 + 1a7a4: 4620 mov r0, r4 + 1a7a6: 4b0f ldr r3, [pc, #60] ; (1a7e4 ) + 1a7a8: 4798 blx r3 + 1a7aa: e5ec b.n 1a386 + 1a7ac: 00019d55 .word 0x00019d55 + 1a7b0: 00011311 .word 0x00011311 + 1a7b4: 00019d39 .word 0x00019d39 + 1a7b8: 00011479 .word 0x00011479 + 1a7bc: 0001143d .word 0x0001143d + 1a7c0: 00011389 .word 0x00011389 + 1a7c4: 20000060 .word 0x20000060 + 1a7c8: 00010049 .word 0x00010049 + 1a7cc: 0001a019 .word 0x0001a019 + 1a7d0: 0001b507 .word 0x0001b507 + 1a7d4: 2000005c .word 0x2000005c + 1a7d8: 20000058 .word 0x20000058 + 1a7dc: 00019dcd .word 0x00019dcd + 1a7e0: 000044bd .word 0x000044bd + 1a7e4: 0000439d .word 0x0000439d + 1a7e8: 20000054 .word 0x20000054 + +0001a7ec : +{ + 1a7ec: b5f0 push {r4, r5, r6, r7, lr} + 1a7ee: b083 sub sp, #12 + 1a7f0: 4606 mov r6, r0 + 1a7f2: 460d mov r5, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a80c: 4b40 ldr r3, [pc, #256] ; (1a910 ) - 1a80e: 4798 blx r3 - 1a810: b960 cbnz r0, 1a82c - 1a812: 4b40 ldr r3, [pc, #256] ; (1a914 ) - 1a814: 9300 str r3, [sp, #0] - 1a816: 22b8 movs r2, #184 ; 0xb8 - 1a818: 493f ldr r1, [pc, #252] ; (1a918 ) - 1a81a: 2003 movs r0, #3 - 1a81c: 4c3f ldr r4, [pc, #252] ; (1a91c ) - 1a81e: 47a0 blx r4 - 1a820: 4632 mov r2, r6 - 1a822: 2300 movs r3, #0 - 1a824: 483e ldr r0, [pc, #248] ; (1a920 ) - 1a826: 493f ldr r1, [pc, #252] ; (1a924 ) - 1a828: 4788 blx r1 - 1a82a: e7fe b.n 1a82a + 1a7f4: 4b40 ldr r3, [pc, #256] ; (1a8f8 ) + 1a7f6: 4798 blx r3 + 1a7f8: b960 cbnz r0, 1a814 + 1a7fa: 4b40 ldr r3, [pc, #256] ; (1a8fc ) + 1a7fc: 9300 str r3, [sp, #0] + 1a7fe: 22b8 movs r2, #184 ; 0xb8 + 1a800: 493f ldr r1, [pc, #252] ; (1a900 ) + 1a802: 2003 movs r0, #3 + 1a804: 4c3f ldr r4, [pc, #252] ; (1a904 ) + 1a806: 47a0 blx r4 + 1a808: 4632 mov r2, r6 + 1a80a: 2300 movs r3, #0 + 1a80c: 483e ldr r0, [pc, #248] ; (1a908 ) + 1a80e: 493f ldr r1, [pc, #252] ; (1a90c ) + 1a810: 4788 blx r1 + 1a812: e7fe b.n 1a812 lv_obj_invalidate(label); - 1a82c: 4630 mov r0, r6 - 1a82e: 4b3e ldr r3, [pc, #248] ; (1a928 ) - 1a830: 4798 blx r3 + 1a814: 4630 mov r0, r6 + 1a816: 4b3e ldr r3, [pc, #248] ; (1a910 ) + 1a818: 4798 blx r3 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a832: 4630 mov r0, r6 - 1a834: 4b3d ldr r3, [pc, #244] ; (1a92c ) - 1a836: 4798 blx r3 - 1a838: 4604 mov r4, r0 + 1a81a: 4630 mov r0, r6 + 1a81c: 4b3d ldr r3, [pc, #244] ; (1a914 ) + 1a81e: 4798 blx r3 + 1a820: 4604 mov r4, r0 if(text == NULL) { - 1a83a: b305 cbz r5, 1a87e + 1a822: b305 cbz r5, 1a866 LV_ASSERT_STR(text); - 1a83c: 4628 mov r0, r5 - 1a83e: 4b34 ldr r3, [pc, #208] ; (1a910 ) - 1a840: 4798 blx r3 - 1a842: b308 cbz r0, 1a888 + 1a824: 4628 mov r0, r5 + 1a826: 4b34 ldr r3, [pc, #208] ; (1a8f8 ) + 1a828: 4798 blx r3 + 1a82a: b308 cbz r0, 1a870 if(ext->text == text && ext->static_txt == 0) { - 1a844: 6827 ldr r7, [r4, #0] - 1a846: 42bd cmp r5, r7 - 1a848: d02b beq.n 1a8a2 + 1a82c: 6827 ldr r7, [r4, #0] + 1a82e: 42bd cmp r5, r7 + 1a830: d02b beq.n 1a88a if(ext->text != NULL && ext->static_txt == 0) { - 1a84a: b11f cbz r7, 1a854 - 1a84c: 7c23 ldrb r3, [r4, #16] - 1a84e: f013 0f08 tst.w r3, #8 - 1a852: d049 beq.n 1a8e8 + 1a832: b11f cbz r7, 1a83c + 1a834: 7c23 ldrb r3, [r4, #16] + 1a836: f013 0f08 tst.w r3, #8 + 1a83a: d049 beq.n 1a8d0 size_t len = strlen(text) + 1; - 1a854: 4628 mov r0, r5 - 1a856: 4b36 ldr r3, [pc, #216] ; (1a930 ) - 1a858: 4798 blx r3 + 1a83c: 4628 mov r0, r5 + 1a83e: 4b36 ldr r3, [pc, #216] ; (1a918 ) + 1a840: 4798 blx r3 ext->text = lv_mem_alloc(len); - 1a85a: 3001 adds r0, #1 - 1a85c: 4b35 ldr r3, [pc, #212] ; (1a934 ) - 1a85e: 4798 blx r3 - 1a860: 6020 str r0, [r4, #0] + 1a842: 3001 adds r0, #1 + 1a844: 4b35 ldr r3, [pc, #212] ; (1a91c ) + 1a846: 4798 blx r3 + 1a848: 6020 str r0, [r4, #0] LV_ASSERT_MEM(ext->text); - 1a862: 4b2b ldr r3, [pc, #172] ; (1a910 ) - 1a864: 4798 blx r3 - 1a866: 2800 cmp r0, #0 - 1a868: d044 beq.n 1a8f4 + 1a84a: 4b2b ldr r3, [pc, #172] ; (1a8f8 ) + 1a84c: 4798 blx r3 + 1a84e: 2800 cmp r0, #0 + 1a850: d044 beq.n 1a8dc if(ext->text == NULL) return; - 1a86a: 6820 ldr r0, [r4, #0] - 1a86c: b150 cbz r0, 1a884 + 1a852: 6820 ldr r0, [r4, #0] + 1a854: b150 cbz r0, 1a86c strcpy(ext->text, text); - 1a86e: 4629 mov r1, r5 - 1a870: 4b31 ldr r3, [pc, #196] ; (1a938 ) - 1a872: 4798 blx r3 + 1a856: 4629 mov r1, r5 + 1a858: 4b31 ldr r3, [pc, #196] ; (1a920 ) + 1a85a: 4798 blx r3 ext->static_txt = 0; - 1a874: 7c23 ldrb r3, [r4, #16] - 1a876: f36f 03c3 bfc r3, #3, #1 - 1a87a: 7423 strb r3, [r4, #16] - 1a87c: e030 b.n 1a8e0 + 1a85c: 7c23 ldrb r3, [r4, #16] + 1a85e: f36f 03c3 bfc r3, #3, #1 + 1a862: 7423 strb r3, [r4, #16] + 1a864: e030 b.n 1a8c8 lv_label_refr_text(label); - 1a87e: 4630 mov r0, r6 - 1a880: 4b2e ldr r3, [pc, #184] ; (1a93c ) - 1a882: 4798 blx r3 + 1a866: 4630 mov r0, r6 + 1a868: 4b2e ldr r3, [pc, #184] ; (1a924 ) + 1a86a: 4798 blx r3 } - 1a884: b003 add sp, #12 - 1a886: bdf0 pop {r4, r5, r6, r7, pc} + 1a86c: b003 add sp, #12 + 1a86e: bdf0 pop {r4, r5, r6, r7, pc} LV_ASSERT_STR(text); - 1a888: 4b22 ldr r3, [pc, #136] ; (1a914 ) - 1a88a: 9300 str r3, [sp, #0] - 1a88c: 22c4 movs r2, #196 ; 0xc4 - 1a88e: 4922 ldr r1, [pc, #136] ; (1a918 ) - 1a890: 2003 movs r0, #3 - 1a892: 4c22 ldr r4, [pc, #136] ; (1a91c ) - 1a894: 47a0 blx r4 - 1a896: 462a mov r2, r5 - 1a898: 2300 movs r3, #0 - 1a89a: 4821 ldr r0, [pc, #132] ; (1a920 ) - 1a89c: 4921 ldr r1, [pc, #132] ; (1a924 ) - 1a89e: 4788 blx r1 - 1a8a0: e7fe b.n 1a8a0 + 1a870: 4b22 ldr r3, [pc, #136] ; (1a8fc ) + 1a872: 9300 str r3, [sp, #0] + 1a874: 22c4 movs r2, #196 ; 0xc4 + 1a876: 4922 ldr r1, [pc, #136] ; (1a900 ) + 1a878: 2003 movs r0, #3 + 1a87a: 4c22 ldr r4, [pc, #136] ; (1a904 ) + 1a87c: 47a0 blx r4 + 1a87e: 462a mov r2, r5 + 1a880: 2300 movs r3, #0 + 1a882: 4821 ldr r0, [pc, #132] ; (1a908 ) + 1a884: 4921 ldr r1, [pc, #132] ; (1a90c ) + 1a886: 4788 blx r1 + 1a888: e7fe b.n 1a888 if(ext->text == text && ext->static_txt == 0) { - 1a8a2: 7c23 ldrb r3, [r4, #16] - 1a8a4: f013 0f08 tst.w r3, #8 - 1a8a8: d1d4 bne.n 1a854 + 1a88a: 7c23 ldrb r3, [r4, #16] + 1a88c: f013 0f08 tst.w r3, #8 + 1a890: d1d4 bne.n 1a83c ext->text = lv_mem_realloc(ext->text, strlen(ext->text) + 1); - 1a8aa: 4638 mov r0, r7 - 1a8ac: 4b20 ldr r3, [pc, #128] ; (1a930 ) - 1a8ae: 4798 blx r3 - 1a8b0: 1c41 adds r1, r0, #1 - 1a8b2: 4638 mov r0, r7 - 1a8b4: 4b22 ldr r3, [pc, #136] ; (1a940 ) - 1a8b6: 4798 blx r3 - 1a8b8: 6020 str r0, [r4, #0] + 1a892: 4638 mov r0, r7 + 1a894: 4b20 ldr r3, [pc, #128] ; (1a918 ) + 1a896: 4798 blx r3 + 1a898: 1c41 adds r1, r0, #1 + 1a89a: 4638 mov r0, r7 + 1a89c: 4b22 ldr r3, [pc, #136] ; (1a928 ) + 1a89e: 4798 blx r3 + 1a8a0: 6020 str r0, [r4, #0] LV_ASSERT_MEM(ext->text); - 1a8ba: 4b15 ldr r3, [pc, #84] ; (1a910 ) - 1a8bc: 4798 blx r3 - 1a8be: b960 cbnz r0, 1a8da - 1a8c0: 4b14 ldr r3, [pc, #80] ; (1a914 ) - 1a8c2: 9300 str r3, [sp, #0] - 1a8c4: 22d5 movs r2, #213 ; 0xd5 - 1a8c6: 4914 ldr r1, [pc, #80] ; (1a918 ) - 1a8c8: 2003 movs r0, #3 - 1a8ca: 4d14 ldr r5, [pc, #80] ; (1a91c ) - 1a8cc: 47a8 blx r5 - 1a8ce: 6822 ldr r2, [r4, #0] - 1a8d0: 2300 movs r3, #0 - 1a8d2: 481c ldr r0, [pc, #112] ; (1a944 ) - 1a8d4: 4913 ldr r1, [pc, #76] ; (1a924 ) - 1a8d6: 4788 blx r1 - 1a8d8: e7fe b.n 1a8d8 + 1a8a2: 4b15 ldr r3, [pc, #84] ; (1a8f8 ) + 1a8a4: 4798 blx r3 + 1a8a6: b960 cbnz r0, 1a8c2 + 1a8a8: 4b14 ldr r3, [pc, #80] ; (1a8fc ) + 1a8aa: 9300 str r3, [sp, #0] + 1a8ac: 22d5 movs r2, #213 ; 0xd5 + 1a8ae: 4914 ldr r1, [pc, #80] ; (1a900 ) + 1a8b0: 2003 movs r0, #3 + 1a8b2: 4d14 ldr r5, [pc, #80] ; (1a904 ) + 1a8b4: 47a8 blx r5 + 1a8b6: 6822 ldr r2, [r4, #0] + 1a8b8: 2300 movs r3, #0 + 1a8ba: 481c ldr r0, [pc, #112] ; (1a92c ) + 1a8bc: 4913 ldr r1, [pc, #76] ; (1a90c ) + 1a8be: 4788 blx r1 + 1a8c0: e7fe b.n 1a8c0 if(ext->text == NULL) return; - 1a8da: 6823 ldr r3, [r4, #0] - 1a8dc: 2b00 cmp r3, #0 - 1a8de: d0d1 beq.n 1a884 + 1a8c2: 6823 ldr r3, [r4, #0] + 1a8c4: 2b00 cmp r3, #0 + 1a8c6: d0d1 beq.n 1a86c lv_label_refr_text(label); - 1a8e0: 4630 mov r0, r6 - 1a8e2: 4b16 ldr r3, [pc, #88] ; (1a93c ) - 1a8e4: 4798 blx r3 - 1a8e6: e7cd b.n 1a884 + 1a8c8: 4630 mov r0, r6 + 1a8ca: 4b16 ldr r3, [pc, #88] ; (1a924 ) + 1a8cc: 4798 blx r3 + 1a8ce: e7cd b.n 1a86c lv_mem_free(ext->text); - 1a8e8: 4638 mov r0, r7 - 1a8ea: 4b17 ldr r3, [pc, #92] ; (1a948 ) - 1a8ec: 4798 blx r3 + 1a8d0: 4638 mov r0, r7 + 1a8d2: 4b17 ldr r3, [pc, #92] ; (1a930 ) + 1a8d4: 4798 blx r3 ext->text = NULL; - 1a8ee: 2300 movs r3, #0 - 1a8f0: 6023 str r3, [r4, #0] - 1a8f2: e7af b.n 1a854 + 1a8d6: 2300 movs r3, #0 + 1a8d8: 6023 str r3, [r4, #0] + 1a8da: e7af b.n 1a83c LV_ASSERT_MEM(ext->text); - 1a8f4: 4b07 ldr r3, [pc, #28] ; (1a914 ) - 1a8f6: 9300 str r3, [sp, #0] - 1a8f8: 22ee movs r2, #238 ; 0xee - 1a8fa: 4907 ldr r1, [pc, #28] ; (1a918 ) - 1a8fc: 2003 movs r0, #3 - 1a8fe: 4d07 ldr r5, [pc, #28] ; (1a91c ) - 1a900: 47a8 blx r5 - 1a902: 6822 ldr r2, [r4, #0] - 1a904: 2300 movs r3, #0 - 1a906: 480f ldr r0, [pc, #60] ; (1a944 ) - 1a908: 4906 ldr r1, [pc, #24] ; (1a924 ) - 1a90a: 4788 blx r1 - 1a90c: e7fe b.n 1a90c - 1a90e: bf00 nop - 1a910: 000022b1 .word 0x000022b1 - 1a914: 00029878 .word 0x00029878 - 1a918: 00029994 .word 0x00029994 - 1a91c: 0001225d .word 0x0001225d - 1a920: 0002483c .word 0x0002483c - 1a924: 000022b9 .word 0x000022b9 - 1a928: 00003321 .word 0x00003321 - 1a92c: 00004d9d .word 0x00004d9d - 1a930: 0001b51f .word 0x0001b51f - 1a934: 000123dd .word 0x000123dd - 1a938: 0001b50f .word 0x0001b50f - 1a93c: 0001a301 .word 0x0001a301 - 1a940: 00012899 .word 0x00012899 - 1a944: 00023fd8 .word 0x00023fd8 - 1a948: 000124c5 .word 0x000124c5 - -0001a94c : -{ - 1a94c: b570 push {r4, r5, r6, lr} - 1a94e: b082 sub sp, #8 - 1a950: 4605 mov r5, r0 - 1a952: 460e mov r6, r1 + 1a8dc: 4b07 ldr r3, [pc, #28] ; (1a8fc ) + 1a8de: 9300 str r3, [sp, #0] + 1a8e0: 22ee movs r2, #238 ; 0xee + 1a8e2: 4907 ldr r1, [pc, #28] ; (1a900 ) + 1a8e4: 2003 movs r0, #3 + 1a8e6: 4d07 ldr r5, [pc, #28] ; (1a904 ) + 1a8e8: 47a8 blx r5 + 1a8ea: 6822 ldr r2, [r4, #0] + 1a8ec: 2300 movs r3, #0 + 1a8ee: 480f ldr r0, [pc, #60] ; (1a92c ) + 1a8f0: 4906 ldr r1, [pc, #24] ; (1a90c ) + 1a8f2: 4788 blx r1 + 1a8f4: e7fe b.n 1a8f4 + 1a8f6: bf00 nop + 1a8f8: 00002299 .word 0x00002299 + 1a8fc: 00029860 .word 0x00029860 + 1a900: 0002997c .word 0x0002997c + 1a904: 00012245 .word 0x00012245 + 1a908: 00024824 .word 0x00024824 + 1a90c: 000022a1 .word 0x000022a1 + 1a910: 00003309 .word 0x00003309 + 1a914: 00004d85 .word 0x00004d85 + 1a918: 0001b507 .word 0x0001b507 + 1a91c: 000123c5 .word 0x000123c5 + 1a920: 0001b4f7 .word 0x0001b4f7 + 1a924: 0001a2e9 .word 0x0001a2e9 + 1a928: 00012881 .word 0x00012881 + 1a92c: 00023fc0 .word 0x00023fc0 + 1a930: 000124ad .word 0x000124ad + +0001a934 : +{ + 1a934: b570 push {r4, r5, r6, lr} + 1a936: b082 sub sp, #8 + 1a938: 4605 mov r5, r0 + 1a93a: 460e mov r6, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a954: 4b14 ldr r3, [pc, #80] ; (1a9a8 ) - 1a956: 4798 blx r3 - 1a958: b968 cbnz r0, 1a976 - 1a95a: 4b14 ldr r3, [pc, #80] ; (1a9ac ) - 1a95c: 9300 str r3, [sp, #0] - 1a95e: f44f 72a6 mov.w r2, #332 ; 0x14c - 1a962: 4913 ldr r1, [pc, #76] ; (1a9b0 ) - 1a964: 2003 movs r0, #3 - 1a966: 4c13 ldr r4, [pc, #76] ; (1a9b4 ) - 1a968: 47a0 blx r4 - 1a96a: 462a mov r2, r5 - 1a96c: 2300 movs r3, #0 - 1a96e: 4812 ldr r0, [pc, #72] ; (1a9b8 ) - 1a970: 4912 ldr r1, [pc, #72] ; (1a9bc ) - 1a972: 4788 blx r1 - 1a974: e7fe b.n 1a974 + 1a93c: 4b14 ldr r3, [pc, #80] ; (1a990 ) + 1a93e: 4798 blx r3 + 1a940: b968 cbnz r0, 1a95e + 1a942: 4b14 ldr r3, [pc, #80] ; (1a994 ) + 1a944: 9300 str r3, [sp, #0] + 1a946: f44f 72a6 mov.w r2, #332 ; 0x14c + 1a94a: 4913 ldr r1, [pc, #76] ; (1a998 ) + 1a94c: 2003 movs r0, #3 + 1a94e: 4c13 ldr r4, [pc, #76] ; (1a99c ) + 1a950: 47a0 blx r4 + 1a952: 462a mov r2, r5 + 1a954: 2300 movs r3, #0 + 1a956: 4812 ldr r0, [pc, #72] ; (1a9a0 ) + 1a958: 4912 ldr r1, [pc, #72] ; (1a9a4 ) + 1a95a: 4788 blx r1 + 1a95c: e7fe b.n 1a95c lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a976: 4628 mov r0, r5 - 1a978: 4b11 ldr r3, [pc, #68] ; (1a9c0 ) - 1a97a: 4798 blx r3 - 1a97c: 4604 mov r4, r0 + 1a95e: 4628 mov r0, r5 + 1a960: 4b11 ldr r3, [pc, #68] ; (1a9a8 ) + 1a962: 4798 blx r3 + 1a964: 4604 mov r4, r0 if(ext->static_txt == 0 && ext->text != NULL) { - 1a97e: 7c03 ldrb r3, [r0, #16] - 1a980: f013 0f08 tst.w r3, #8 - 1a984: d105 bne.n 1a992 - 1a986: 6800 ldr r0, [r0, #0] - 1a988: b118 cbz r0, 1a992 + 1a966: 7c03 ldrb r3, [r0, #16] + 1a968: f013 0f08 tst.w r3, #8 + 1a96c: d105 bne.n 1a97a + 1a96e: 6800 ldr r0, [r0, #0] + 1a970: b118 cbz r0, 1a97a lv_mem_free(ext->text); - 1a98a: 4b0e ldr r3, [pc, #56] ; (1a9c4 ) - 1a98c: 4798 blx r3 + 1a972: 4b0e ldr r3, [pc, #56] ; (1a9ac ) + 1a974: 4798 blx r3 ext->text = NULL; - 1a98e: 2300 movs r3, #0 - 1a990: 6023 str r3, [r4, #0] + 1a976: 2300 movs r3, #0 + 1a978: 6023 str r3, [r4, #0] if(text != NULL) { - 1a992: b126 cbz r6, 1a99e + 1a97a: b126 cbz r6, 1a986 ext->static_txt = 1; - 1a994: 7c23 ldrb r3, [r4, #16] - 1a996: f043 0308 orr.w r3, r3, #8 - 1a99a: 7423 strb r3, [r4, #16] + 1a97c: 7c23 ldrb r3, [r4, #16] + 1a97e: f043 0308 orr.w r3, r3, #8 + 1a982: 7423 strb r3, [r4, #16] ext->text = (char *)text; - 1a99c: 6026 str r6, [r4, #0] + 1a984: 6026 str r6, [r4, #0] lv_label_refr_text(label); - 1a99e: 4628 mov r0, r5 - 1a9a0: 4b09 ldr r3, [pc, #36] ; (1a9c8 ) - 1a9a2: 4798 blx r3 -} - 1a9a4: b002 add sp, #8 - 1a9a6: bd70 pop {r4, r5, r6, pc} - 1a9a8: 000022b1 .word 0x000022b1 - 1a9ac: 000298a4 .word 0x000298a4 - 1a9b0: 00029994 .word 0x00029994 - 1a9b4: 0001225d .word 0x0001225d - 1a9b8: 0002483c .word 0x0002483c - 1a9bc: 000022b9 .word 0x000022b9 - 1a9c0: 00004d9d .word 0x00004d9d - 1a9c4: 000124c5 .word 0x000124c5 - 1a9c8: 0001a301 .word 0x0001a301 - -0001a9cc : -{ - 1a9cc: b5f0 push {r4, r5, r6, r7, lr} - 1a9ce: b083 sub sp, #12 - 1a9d0: 4605 mov r5, r0 - 1a9d2: 460f mov r7, r1 + 1a986: 4628 mov r0, r5 + 1a988: 4b09 ldr r3, [pc, #36] ; (1a9b0 ) + 1a98a: 4798 blx r3 +} + 1a98c: b002 add sp, #8 + 1a98e: bd70 pop {r4, r5, r6, pc} + 1a990: 00002299 .word 0x00002299 + 1a994: 0002988c .word 0x0002988c + 1a998: 0002997c .word 0x0002997c + 1a99c: 00012245 .word 0x00012245 + 1a9a0: 00024824 .word 0x00024824 + 1a9a4: 000022a1 .word 0x000022a1 + 1a9a8: 00004d85 .word 0x00004d85 + 1a9ac: 000124ad .word 0x000124ad + 1a9b0: 0001a2e9 .word 0x0001a2e9 + +0001a9b4 : +{ + 1a9b4: b5f0 push {r4, r5, r6, r7, lr} + 1a9b6: b083 sub sp, #12 + 1a9b8: 4605 mov r5, r0 + 1a9ba: 460f mov r7, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1a9d4: 4b22 ldr r3, [pc, #136] ; (1aa60 ) - 1a9d6: 4798 blx r3 - 1a9d8: b968 cbnz r0, 1a9f6 - 1a9da: 4b22 ldr r3, [pc, #136] ; (1aa64 ) - 1a9dc: 9300 str r3, [sp, #0] - 1a9de: f240 1265 movw r2, #357 ; 0x165 - 1a9e2: 4921 ldr r1, [pc, #132] ; (1aa68 ) - 1a9e4: 2003 movs r0, #3 - 1a9e6: 4c21 ldr r4, [pc, #132] ; (1aa6c ) - 1a9e8: 47a0 blx r4 - 1a9ea: 462a mov r2, r5 - 1a9ec: 2300 movs r3, #0 - 1a9ee: 4820 ldr r0, [pc, #128] ; (1aa70 ) - 1a9f0: 4920 ldr r1, [pc, #128] ; (1aa74 ) - 1a9f2: 4788 blx r1 - 1a9f4: e7fe b.n 1a9f4 + 1a9bc: 4b22 ldr r3, [pc, #136] ; (1aa48 ) + 1a9be: 4798 blx r3 + 1a9c0: b968 cbnz r0, 1a9de + 1a9c2: 4b22 ldr r3, [pc, #136] ; (1aa4c ) + 1a9c4: 9300 str r3, [sp, #0] + 1a9c6: f240 1265 movw r2, #357 ; 0x165 + 1a9ca: 4921 ldr r1, [pc, #132] ; (1aa50 ) + 1a9cc: 2003 movs r0, #3 + 1a9ce: 4c21 ldr r4, [pc, #132] ; (1aa54 ) + 1a9d0: 47a0 blx r4 + 1a9d2: 462a mov r2, r5 + 1a9d4: 2300 movs r3, #0 + 1a9d6: 4820 ldr r0, [pc, #128] ; (1aa58 ) + 1a9d8: 4920 ldr r1, [pc, #128] ; (1aa5c ) + 1a9da: 4788 blx r1 + 1a9dc: e7fe b.n 1a9dc lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1a9f6: 4628 mov r0, r5 - 1a9f8: 4b1f ldr r3, [pc, #124] ; (1aa78 ) - 1a9fa: 4798 blx r3 - 1a9fc: 4604 mov r4, r0 + 1a9de: 4628 mov r0, r5 + 1a9e0: 4b1f ldr r3, [pc, #124] ; (1aa60 ) + 1a9e2: 4798 blx r3 + 1a9e4: 4604 mov r4, r0 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_x); - 1a9fe: 491f ldr r1, [pc, #124] ; (1aa7c ) - 1aa00: 4628 mov r0, r5 - 1aa02: 4e1f ldr r6, [pc, #124] ; (1aa80 ) - 1aa04: 47b0 blx r6 + 1a9e6: 491f ldr r1, [pc, #124] ; (1aa64 ) + 1a9e8: 4628 mov r0, r5 + 1a9ea: 4e1f ldr r6, [pc, #124] ; (1aa68 ) + 1a9ec: 47b0 blx r6 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_obj_set_y); - 1aa06: 491f ldr r1, [pc, #124] ; (1aa84 ) - 1aa08: 4628 mov r0, r5 - 1aa0a: 47b0 blx r6 + 1a9ee: 491f ldr r1, [pc, #124] ; (1aa6c ) + 1a9f0: 4628 mov r0, r5 + 1a9f2: 47b0 blx r6 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_x); - 1aa0c: 491e ldr r1, [pc, #120] ; (1aa88 ) - 1aa0e: 4628 mov r0, r5 - 1aa10: 47b0 blx r6 + 1a9f4: 491e ldr r1, [pc, #120] ; (1aa70 ) + 1a9f6: 4628 mov r0, r5 + 1a9f8: 47b0 blx r6 lv_anim_del(label, (lv_anim_exec_xcb_t)lv_label_set_offset_y); - 1aa12: 491e ldr r1, [pc, #120] ; (1aa8c ) - 1aa14: 4628 mov r0, r5 - 1aa16: 47b0 blx r6 + 1a9fa: 491e ldr r1, [pc, #120] ; (1aa74 ) + 1a9fc: 4628 mov r0, r5 + 1a9fe: 47b0 blx r6 ext->offset.x = 0; - 1aa18: 2300 movs r3, #0 - 1aa1a: 81a3 strh r3, [r4, #12] + 1aa00: 2300 movs r3, #0 + 1aa02: 81a3 strh r3, [r4, #12] ext->offset.y = 0; - 1aa1c: 81e3 strh r3, [r4, #14] + 1aa04: 81e3 strh r3, [r4, #14] if(long_mode == LV_LABEL_LONG_SROLL || long_mode == LV_LABEL_LONG_SROLL_CIRC || long_mode == LV_LABEL_LONG_CROP) - 1aa1e: 1efb subs r3, r7, #3 - 1aa20: b2db uxtb r3, r3 - 1aa22: 2b02 cmp r3, #2 + 1aa06: 1efb subs r3, r7, #3 + 1aa08: b2db uxtb r3, r3 + 1aa0a: 2b02 cmp r3, #2 ext->expand = 1; - 1aa24: 7c23 ldrb r3, [r4, #16] - 1aa26: bf94 ite ls - 1aa28: f043 0380 orrls.w r3, r3, #128 ; 0x80 + 1aa0c: 7c23 ldrb r3, [r4, #16] + 1aa0e: bf94 ite ls + 1aa10: f043 0380 orrls.w r3, r3, #128 ; 0x80 ext->expand = 0; - 1aa2c: f36f 13c7 bfchi r3, #7, #1 - 1aa30: 7423 strb r3, [r4, #16] + 1aa14: f36f 13c7 bfchi r3, #7, #1 + 1aa18: 7423 strb r3, [r4, #16] if(ext->long_mode == LV_LABEL_LONG_DOT && ext->dot_end != LV_LABEL_DOT_END_INV) { - 1aa32: 7c23 ldrb r3, [r4, #16] - 1aa34: f003 0307 and.w r3, r3, #7 - 1aa38: 2b02 cmp r3, #2 - 1aa3a: d008 beq.n 1aa4e + 1aa1a: 7c23 ldrb r3, [r4, #16] + 1aa1c: f003 0307 and.w r3, r3, #7 + 1aa20: 2b02 cmp r3, #2 + 1aa22: d008 beq.n 1aa36 ext->long_mode = long_mode; - 1aa3c: 7c23 ldrb r3, [r4, #16] - 1aa3e: f367 0302 bfi r3, r7, #0, #3 - 1aa42: 7423 strb r3, [r4, #16] + 1aa24: 7c23 ldrb r3, [r4, #16] + 1aa26: f367 0302 bfi r3, r7, #0, #3 + 1aa2a: 7423 strb r3, [r4, #16] lv_label_refr_text(label); - 1aa44: 4628 mov r0, r5 - 1aa46: 4b12 ldr r3, [pc, #72] ; (1aa90 ) - 1aa48: 4798 blx r3 + 1aa2c: 4628 mov r0, r5 + 1aa2e: 4b12 ldr r3, [pc, #72] ; (1aa78 ) + 1aa30: 4798 blx r3 } - 1aa4a: b003 add sp, #12 - 1aa4c: bdf0 pop {r4, r5, r6, r7, pc} + 1aa32: b003 add sp, #12 + 1aa34: bdf0 pop {r4, r5, r6, r7, pc} if(ext->long_mode == LV_LABEL_LONG_DOT && ext->dot_end != LV_LABEL_DOT_END_INV) { - 1aa4e: 8922 ldrh r2, [r4, #8] - 1aa50: f64f 73ff movw r3, #65535 ; 0xffff - 1aa54: 429a cmp r2, r3 - 1aa56: d0f1 beq.n 1aa3c + 1aa36: 8922 ldrh r2, [r4, #8] + 1aa38: f64f 73ff movw r3, #65535 ; 0xffff + 1aa3c: 429a cmp r2, r3 + 1aa3e: d0f1 beq.n 1aa24 lv_label_revert_dots(label); - 1aa58: 4628 mov r0, r5 - 1aa5a: 4b0e ldr r3, [pc, #56] ; (1aa94 ) - 1aa5c: 4798 blx r3 - 1aa5e: e7ed b.n 1aa3c - 1aa60: 000022b1 .word 0x000022b1 - 1aa64: 000298c0 .word 0x000298c0 - 1aa68: 00029994 .word 0x00029994 - 1aa6c: 0001225d .word 0x0001225d - 1aa70: 0002483c .word 0x0002483c - 1aa74: 000022b9 .word 0x000022b9 - 1aa78: 00004d9d .word 0x00004d9d - 1aa7c: 00003529 .word 0x00003529 - 1aa80: 00011329 .word 0x00011329 - 1aa84: 00003589 .word 0x00003589 - 1aa88: 00019d6d .word 0x00019d6d - 1aa8c: 00019d51 .word 0x00019d51 - 1aa90: 0001a301 .word 0x0001a301 - 1aa94: 00019cc5 .word 0x00019cc5 - -0001aa98 : -{ - 1aa98: b530 push {r4, r5, lr} - 1aa9a: b083 sub sp, #12 - 1aa9c: 4604 mov r4, r0 - 1aa9e: 460d mov r5, r1 + 1aa40: 4628 mov r0, r5 + 1aa42: 4b0e ldr r3, [pc, #56] ; (1aa7c ) + 1aa44: 4798 blx r3 + 1aa46: e7ed b.n 1aa24 + 1aa48: 00002299 .word 0x00002299 + 1aa4c: 000298a8 .word 0x000298a8 + 1aa50: 0002997c .word 0x0002997c + 1aa54: 00012245 .word 0x00012245 + 1aa58: 00024824 .word 0x00024824 + 1aa5c: 000022a1 .word 0x000022a1 + 1aa60: 00004d85 .word 0x00004d85 + 1aa64: 00003511 .word 0x00003511 + 1aa68: 00011311 .word 0x00011311 + 1aa6c: 00003571 .word 0x00003571 + 1aa70: 00019d55 .word 0x00019d55 + 1aa74: 00019d39 .word 0x00019d39 + 1aa78: 0001a2e9 .word 0x0001a2e9 + 1aa7c: 00019cad .word 0x00019cad + +0001aa80 : +{ + 1aa80: b530 push {r4, r5, lr} + 1aa82: b083 sub sp, #12 + 1aa84: 4604 mov r4, r0 + 1aa86: 460d mov r5, r1 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1aaa0: 4b10 ldr r3, [pc, #64] ; (1aae4 ) - 1aaa2: 4798 blx r3 - 1aaa4: b968 cbnz r0, 1aac2 - 1aaa6: 4b10 ldr r3, [pc, #64] ; (1aae8 ) - 1aaa8: 9300 str r3, [sp, #0] - 1aaaa: f44f 72cd mov.w r2, #410 ; 0x19a - 1aaae: 490f ldr r1, [pc, #60] ; (1aaec ) - 1aab0: 2003 movs r0, #3 - 1aab2: 4d0f ldr r5, [pc, #60] ; (1aaf0 ) - 1aab4: 47a8 blx r5 - 1aab6: 4622 mov r2, r4 - 1aab8: 2300 movs r3, #0 - 1aaba: 480e ldr r0, [pc, #56] ; (1aaf4 ) - 1aabc: 490e ldr r1, [pc, #56] ; (1aaf8 ) - 1aabe: 4788 blx r1 - 1aac0: e7fe b.n 1aac0 + 1aa88: 4b10 ldr r3, [pc, #64] ; (1aacc ) + 1aa8a: 4798 blx r3 + 1aa8c: b968 cbnz r0, 1aaaa + 1aa8e: 4b10 ldr r3, [pc, #64] ; (1aad0 ) + 1aa90: 9300 str r3, [sp, #0] + 1aa92: f44f 72cd mov.w r2, #410 ; 0x19a + 1aa96: 490f ldr r1, [pc, #60] ; (1aad4 ) + 1aa98: 2003 movs r0, #3 + 1aa9a: 4d0f ldr r5, [pc, #60] ; (1aad8 ) + 1aa9c: 47a8 blx r5 + 1aa9e: 4622 mov r2, r4 + 1aaa0: 2300 movs r3, #0 + 1aaa2: 480e ldr r0, [pc, #56] ; (1aadc ) + 1aaa4: 490e ldr r1, [pc, #56] ; (1aae0 ) + 1aaa6: 4788 blx r1 + 1aaa8: e7fe b.n 1aaa8 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1aac2: 4620 mov r0, r4 - 1aac4: 4b0d ldr r3, [pc, #52] ; (1aafc ) - 1aac6: 4798 blx r3 + 1aaaa: 4620 mov r0, r4 + 1aaac: 4b0d ldr r3, [pc, #52] ; (1aae4 ) + 1aaae: 4798 blx r3 if(ext->recolor == en) return; - 1aac8: 7c03 ldrb r3, [r0, #16] - 1aaca: f3c3 1380 ubfx r3, r3, #6, #1 - 1aace: 42ab cmp r3, r5 - 1aad0: d006 beq.n 1aae0 + 1aab0: 7c03 ldrb r3, [r0, #16] + 1aab2: f3c3 1380 ubfx r3, r3, #6, #1 + 1aab6: 42ab cmp r3, r5 + 1aab8: d006 beq.n 1aac8 ext->recolor = en == false ? 0 : 1; - 1aad2: 7c03 ldrb r3, [r0, #16] - 1aad4: f365 1386 bfi r3, r5, #6, #1 - 1aad8: 7403 strb r3, [r0, #16] + 1aaba: 7c03 ldrb r3, [r0, #16] + 1aabc: f365 1386 bfi r3, r5, #6, #1 + 1aac0: 7403 strb r3, [r0, #16] lv_label_refr_text(label); /*Refresh the text because the potential colo codes in text needs to - 1aada: 4620 mov r0, r4 - 1aadc: 4b08 ldr r3, [pc, #32] ; (1ab00 ) - 1aade: 4798 blx r3 -} - 1aae0: b003 add sp, #12 - 1aae2: bd30 pop {r4, r5, pc} - 1aae4: 000022b1 .word 0x000022b1 - 1aae8: 000298d8 .word 0x000298d8 - 1aaec: 00029994 .word 0x00029994 - 1aaf0: 0001225d .word 0x0001225d - 1aaf4: 0002483c .word 0x0002483c - 1aaf8: 000022b9 .word 0x000022b9 - 1aafc: 00004d9d .word 0x00004d9d - 1ab00: 0001a301 .word 0x0001a301 - -0001ab04 : -{ - 1ab04: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 1ab08: b082 sub sp, #8 - 1ab0a: 460f mov r7, r1 + 1aac2: 4620 mov r0, r4 + 1aac4: 4b08 ldr r3, [pc, #32] ; (1aae8 ) + 1aac6: 4798 blx r3 +} + 1aac8: b003 add sp, #12 + 1aaca: bd30 pop {r4, r5, pc} + 1aacc: 00002299 .word 0x00002299 + 1aad0: 000298c0 .word 0x000298c0 + 1aad4: 0002997c .word 0x0002997c + 1aad8: 00012245 .word 0x00012245 + 1aadc: 00024824 .word 0x00024824 + 1aae0: 000022a1 .word 0x000022a1 + 1aae4: 00004d85 .word 0x00004d85 + 1aae8: 0001a2e9 .word 0x0001a2e9 + +0001aaec : +{ + 1aaec: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 1aaf0: b082 sub sp, #8 + 1aaf2: 460f mov r7, r1 lv_obj_t * new_label = lv_obj_create(par, copy); - 1ab0c: 4b79 ldr r3, [pc, #484] ; (1acf4 ) - 1ab0e: 4798 blx r3 - 1ab10: 4604 mov r4, r0 + 1aaf4: 4b79 ldr r3, [pc, #484] ; (1acdc ) + 1aaf6: 4798 blx r3 + 1aaf8: 4604 mov r4, r0 LV_ASSERT_MEM(new_label); - 1ab12: 4b79 ldr r3, [pc, #484] ; (1acf8 ) - 1ab14: 4798 blx r3 - 1ab16: b1e8 cbz r0, 1ab54 + 1aafa: 4b79 ldr r3, [pc, #484] ; (1ace0 ) + 1aafc: 4798 blx r3 + 1aafe: b1e8 cbz r0, 1ab3c if(new_label == NULL) return NULL; - 1ab18: 2c00 cmp r4, #0 - 1ab1a: f000 809a beq.w 1ac52 + 1ab00: 2c00 cmp r4, #0 + 1ab02: f000 809a beq.w 1ac3a if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label); - 1ab1e: 4b77 ldr r3, [pc, #476] ; (1acfc ) - 1ab20: 681b ldr r3, [r3, #0] - 1ab22: b323 cbz r3, 1ab6e + 1ab06: 4b77 ldr r3, [pc, #476] ; (1ace4 ) + 1ab08: 681b ldr r3, [r3, #0] + 1ab0a: b323 cbz r3, 1ab56 lv_obj_allocate_ext_attr(new_label, sizeof(lv_label_ext_t)); - 1ab24: 2114 movs r1, #20 - 1ab26: 4620 mov r0, r4 - 1ab28: 4b75 ldr r3, [pc, #468] ; (1ad00 ) - 1ab2a: 4798 blx r3 + 1ab0c: 2114 movs r1, #20 + 1ab0e: 4620 mov r0, r4 + 1ab10: 4b75 ldr r3, [pc, #468] ; (1ace8 ) + 1ab12: 4798 blx r3 lv_label_ext_t * ext = lv_obj_get_ext_attr(new_label); - 1ab2c: 4620 mov r0, r4 - 1ab2e: 4b75 ldr r3, [pc, #468] ; (1ad04 ) - 1ab30: 4798 blx r3 - 1ab32: 4605 mov r5, r0 + 1ab14: 4620 mov r0, r4 + 1ab16: 4b75 ldr r3, [pc, #468] ; (1acec ) + 1ab18: 4798 blx r3 + 1ab1a: 4605 mov r5, r0 LV_ASSERT_MEM(ext); - 1ab34: 4b70 ldr r3, [pc, #448] ; (1acf8 ) - 1ab36: 4798 blx r3 - 1ab38: b9f8 cbnz r0, 1ab7a - 1ab3a: 4b73 ldr r3, [pc, #460] ; (1ad08 ) - 1ab3c: 9300 str r3, [sp, #0] - 1ab3e: 225d movs r2, #93 ; 0x5d - 1ab40: 4972 ldr r1, [pc, #456] ; (1ad0c ) - 1ab42: 2003 movs r0, #3 - 1ab44: 4c72 ldr r4, [pc, #456] ; (1ad10 ) - 1ab46: 47a0 blx r4 - 1ab48: 462a mov r2, r5 - 1ab4a: 2300 movs r3, #0 - 1ab4c: 4871 ldr r0, [pc, #452] ; (1ad14 ) - 1ab4e: 4972 ldr r1, [pc, #456] ; (1ad18 ) - 1ab50: 4788 blx r1 - 1ab52: e7fe b.n 1ab52 + 1ab1c: 4b70 ldr r3, [pc, #448] ; (1ace0 ) + 1ab1e: 4798 blx r3 + 1ab20: b9f8 cbnz r0, 1ab62 + 1ab22: 4b73 ldr r3, [pc, #460] ; (1acf0 ) + 1ab24: 9300 str r3, [sp, #0] + 1ab26: 225d movs r2, #93 ; 0x5d + 1ab28: 4972 ldr r1, [pc, #456] ; (1acf4 ) + 1ab2a: 2003 movs r0, #3 + 1ab2c: 4c72 ldr r4, [pc, #456] ; (1acf8 ) + 1ab2e: 47a0 blx r4 + 1ab30: 462a mov r2, r5 + 1ab32: 2300 movs r3, #0 + 1ab34: 4871 ldr r0, [pc, #452] ; (1acfc ) + 1ab36: 4972 ldr r1, [pc, #456] ; (1ad00 ) + 1ab38: 4788 blx r1 + 1ab3a: e7fe b.n 1ab3a LV_ASSERT_MEM(new_label); - 1ab54: 4b6c ldr r3, [pc, #432] ; (1ad08 ) - 1ab56: 9300 str r3, [sp, #0] - 1ab58: 2254 movs r2, #84 ; 0x54 - 1ab5a: 496c ldr r1, [pc, #432] ; (1ad0c ) - 1ab5c: 2003 movs r0, #3 - 1ab5e: 4d6c ldr r5, [pc, #432] ; (1ad10 ) - 1ab60: 47a8 blx r5 - 1ab62: 4622 mov r2, r4 - 1ab64: 2300 movs r3, #0 - 1ab66: 486b ldr r0, [pc, #428] ; (1ad14 ) - 1ab68: 496b ldr r1, [pc, #428] ; (1ad18 ) - 1ab6a: 4788 blx r1 - 1ab6c: e7fe b.n 1ab6c + 1ab3c: 4b6c ldr r3, [pc, #432] ; (1acf0 ) + 1ab3e: 9300 str r3, [sp, #0] + 1ab40: 2254 movs r2, #84 ; 0x54 + 1ab42: 496c ldr r1, [pc, #432] ; (1acf4 ) + 1ab44: 2003 movs r0, #3 + 1ab46: 4d6c ldr r5, [pc, #432] ; (1acf8 ) + 1ab48: 47a8 blx r5 + 1ab4a: 4622 mov r2, r4 + 1ab4c: 2300 movs r3, #0 + 1ab4e: 486b ldr r0, [pc, #428] ; (1acfc ) + 1ab50: 496b ldr r1, [pc, #428] ; (1ad00 ) + 1ab52: 4788 blx r1 + 1ab54: e7fe b.n 1ab54 if(ancestor_signal == NULL) ancestor_signal = lv_obj_get_signal_cb(new_label); - 1ab6e: 4620 mov r0, r4 - 1ab70: 4b6a ldr r3, [pc, #424] ; (1ad1c ) - 1ab72: 4798 blx r3 - 1ab74: 4b61 ldr r3, [pc, #388] ; (1acfc ) - 1ab76: 6018 str r0, [r3, #0] - 1ab78: e7d4 b.n 1ab24 + 1ab56: 4620 mov r0, r4 + 1ab58: 4b6a ldr r3, [pc, #424] ; (1ad04 ) + 1ab5a: 4798 blx r3 + 1ab5c: 4b61 ldr r3, [pc, #388] ; (1ace4 ) + 1ab5e: 6018 str r0, [r3, #0] + 1ab60: e7d4 b.n 1ab0c if(ext == NULL) { - 1ab7a: 2d00 cmp r5, #0 - 1ab7c: d06d beq.n 1ac5a + 1ab62: 2d00 cmp r5, #0 + 1ab64: d06d beq.n 1ac42 ext->text = NULL; - 1ab7e: 2300 movs r3, #0 - 1ab80: 602b str r3, [r5, #0] + 1ab66: 2300 movs r3, #0 + 1ab68: 602b str r3, [r5, #0] ext->static_txt = 0; - 1ab82: 7c2a ldrb r2, [r5, #16] + 1ab6a: 7c2a ldrb r2, [r5, #16] ext->align = LV_LABEL_ALIGN_AUTO; - 1ab84: f002 02b7 and.w r2, r2, #183 ; 0xb7 + 1ab6c: f002 02b7 and.w r2, r2, #183 ; 0xb7 ext->dot_end = LV_LABEL_DOT_END_INV; - 1ab88: f64f 71ff movw r1, #65535 ; 0xffff - 1ab8c: 8129 strh r1, [r5, #8] + 1ab70: f64f 71ff movw r1, #65535 ; 0xffff + 1ab74: 8129 strh r1, [r5, #8] ext->long_mode = LV_LABEL_LONG_EXPAND; - 1ab8e: f042 0230 orr.w r2, r2, #48 ; 0x30 - 1ab92: f363 0202 bfi r2, r3, #0, #3 - 1ab96: 742a strb r2, [r5, #16] + 1ab76: f042 0230 orr.w r2, r2, #48 ; 0x30 + 1ab7a: f363 0202 bfi r2, r3, #0, #3 + 1ab7e: 742a strb r2, [r5, #16] ext->anim_speed = LV_LABEL_DEF_SCROLL_SPEED; - 1ab98: 2219 movs r2, #25 - 1ab9a: 816a strh r2, [r5, #10] + 1ab80: 2219 movs r2, #25 + 1ab82: 816a strh r2, [r5, #10] ext->offset.x = 0; - 1ab9c: 81ab strh r3, [r5, #12] + 1ab84: 81ab strh r3, [r5, #12] ext->offset.y = 0; - 1ab9e: 81eb strh r3, [r5, #14] + 1ab86: 81eb strh r3, [r5, #14] ext->dot.tmp_ptr = NULL; - 1aba0: 606b str r3, [r5, #4] + 1ab88: 606b str r3, [r5, #4] ext->dot_tmp_alloc = 0; - 1aba2: 7c6a ldrb r2, [r5, #17] - 1aba4: f363 0200 bfi r2, r3, #0, #1 - 1aba8: 746a strb r2, [r5, #17] + 1ab8a: 7c6a ldrb r2, [r5, #17] + 1ab8c: f363 0200 bfi r2, r3, #0, #1 + 1ab90: 746a strb r2, [r5, #17] lv_obj_set_design_cb(new_label, lv_label_design); - 1abaa: 495d ldr r1, [pc, #372] ; (1ad20 ) - 1abac: 4620 mov r0, r4 - 1abae: 4b5d ldr r3, [pc, #372] ; (1ad24 ) - 1abb0: 4798 blx r3 + 1ab92: 495d ldr r1, [pc, #372] ; (1ad08 ) + 1ab94: 4620 mov r0, r4 + 1ab96: 4b5d ldr r3, [pc, #372] ; (1ad0c ) + 1ab98: 4798 blx r3 lv_obj_set_signal_cb(new_label, lv_label_signal); - 1abb2: 495d ldr r1, [pc, #372] ; (1ad28 ) - 1abb4: 4620 mov r0, r4 - 1abb6: 4b5d ldr r3, [pc, #372] ; (1ad2c ) - 1abb8: 4798 blx r3 + 1ab9a: 495d ldr r1, [pc, #372] ; (1ad10 ) + 1ab9c: 4620 mov r0, r4 + 1ab9e: 4b5d ldr r3, [pc, #372] ; (1ad14 ) + 1aba0: 4798 blx r3 if(copy == NULL) { - 1abba: 2f00 cmp r7, #0 - 1abbc: d052 beq.n 1ac64 + 1aba2: 2f00 cmp r7, #0 + 1aba4: d052 beq.n 1ac4c lv_label_ext_t * copy_ext = lv_obj_get_ext_attr(copy); - 1abbe: 4638 mov r0, r7 - 1abc0: 4b50 ldr r3, [pc, #320] ; (1ad04 ) - 1abc2: 4798 blx r3 - 1abc4: 4606 mov r6, r0 + 1aba6: 4638 mov r0, r7 + 1aba8: 4b50 ldr r3, [pc, #320] ; (1acec ) + 1abaa: 4798 blx r3 + 1abac: 4606 mov r6, r0 lv_label_set_long_mode(new_label, lv_label_get_long_mode(copy)); - 1abc6: 4638 mov r0, r7 - 1abc8: 4b59 ldr r3, [pc, #356] ; (1ad30 ) - 1abca: 4798 blx r3 - 1abcc: 4601 mov r1, r0 - 1abce: 4620 mov r0, r4 - 1abd0: 4b58 ldr r3, [pc, #352] ; (1ad34 ) - 1abd2: 4798 blx r3 + 1abae: 4638 mov r0, r7 + 1abb0: 4b59 ldr r3, [pc, #356] ; (1ad18 ) + 1abb2: 4798 blx r3 + 1abb4: 4601 mov r1, r0 + 1abb6: 4620 mov r0, r4 + 1abb8: 4b58 ldr r3, [pc, #352] ; (1ad1c ) + 1abba: 4798 blx r3 lv_label_set_recolor(new_label, lv_label_get_recolor(copy)); - 1abd4: 4638 mov r0, r7 - 1abd6: 4b58 ldr r3, [pc, #352] ; (1ad38 ) - 1abd8: 4798 blx r3 - 1abda: 4601 mov r1, r0 - 1abdc: 4620 mov r0, r4 - 1abde: 4b57 ldr r3, [pc, #348] ; (1ad3c ) - 1abe0: 4798 blx r3 + 1abbc: 4638 mov r0, r7 + 1abbe: 4b58 ldr r3, [pc, #352] ; (1ad20 ) + 1abc0: 4798 blx r3 + 1abc2: 4601 mov r1, r0 + 1abc4: 4620 mov r0, r4 + 1abc6: 4b57 ldr r3, [pc, #348] ; (1ad24 ) + 1abc8: 4798 blx r3 lv_label_set_align(new_label, lv_label_get_align(copy)); - 1abe2: 4638 mov r0, r7 - 1abe4: 4b56 ldr r3, [pc, #344] ; (1ad40 ) - 1abe6: 4798 blx r3 - 1abe8: 4601 mov r1, r0 - 1abea: 4620 mov r0, r4 - 1abec: 4b55 ldr r3, [pc, #340] ; (1ad44 ) - 1abee: 4798 blx r3 + 1abca: 4638 mov r0, r7 + 1abcc: 4b56 ldr r3, [pc, #344] ; (1ad28 ) + 1abce: 4798 blx r3 + 1abd0: 4601 mov r1, r0 + 1abd2: 4620 mov r0, r4 + 1abd4: 4b55 ldr r3, [pc, #340] ; (1ad2c ) + 1abd6: 4798 blx r3 if(copy_ext->static_txt == 0) - 1abf0: 7c33 ldrb r3, [r6, #16] - 1abf2: f013 0f08 tst.w r3, #8 - 1abf6: d146 bne.n 1ac86 + 1abd8: 7c33 ldrb r3, [r6, #16] + 1abda: f013 0f08 tst.w r3, #8 + 1abde: d146 bne.n 1ac6e lv_label_set_text(new_label, lv_label_get_text(copy)); - 1abf8: 4638 mov r0, r7 - 1abfa: 4b53 ldr r3, [pc, #332] ; (1ad48 ) - 1abfc: 4798 blx r3 - 1abfe: 4601 mov r1, r0 - 1ac00: 4620 mov r0, r4 - 1ac02: 4b52 ldr r3, [pc, #328] ; (1ad4c ) - 1ac04: 4798 blx r3 + 1abe0: 4638 mov r0, r7 + 1abe2: 4b53 ldr r3, [pc, #332] ; (1ad30 ) + 1abe4: 4798 blx r3 + 1abe6: 4601 mov r1, r0 + 1abe8: 4620 mov r0, r4 + 1abea: 4b52 ldr r3, [pc, #328] ; (1ad34 ) + 1abec: 4798 blx r3 if(copy_ext->long_mode == LV_LABEL_LONG_DOT) { - 1ac06: 7c33 ldrb r3, [r6, #16] - 1ac08: f003 0307 and.w r3, r3, #7 - 1ac0c: 2b02 cmp r3, #2 - 1ac0e: d042 beq.n 1ac96 + 1abee: 7c33 ldrb r3, [r6, #16] + 1abf0: f003 0307 and.w r3, r3, #7 + 1abf4: 2b02 cmp r3, #2 + 1abf6: d042 beq.n 1ac7e if(copy_ext->dot_tmp_alloc && copy_ext->dot.tmp_ptr) { - 1ac10: 7c73 ldrb r3, [r6, #17] - 1ac12: f013 0f01 tst.w r3, #1 - 1ac16: d064 beq.n 1ace2 - 1ac18: 6870 ldr r0, [r6, #4] - 1ac1a: 2800 cmp r0, #0 - 1ac1c: d061 beq.n 1ace2 + 1abf8: 7c73 ldrb r3, [r6, #17] + 1abfa: f013 0f01 tst.w r3, #1 + 1abfe: d064 beq.n 1acca + 1ac00: 6870 ldr r0, [r6, #4] + 1ac02: 2800 cmp r0, #0 + 1ac04: d061 beq.n 1acca uint16_t len = (uint16_t)strlen(copy_ext->dot.tmp_ptr); - 1ac1e: 4b4c ldr r3, [pc, #304] ; (1ad50 ) - 1ac20: 4798 blx r3 + 1ac06: 4b4c ldr r3, [pc, #304] ; (1ad38 ) + 1ac08: 4798 blx r3 lv_label_set_dot_tmp(new_label, ext->dot.tmp_ptr, len); - 1ac22: b282 uxth r2, r0 - 1ac24: 6869 ldr r1, [r5, #4] - 1ac26: 4620 mov r0, r4 - 1ac28: 4b4a ldr r3, [pc, #296] ; (1ad54 ) - 1ac2a: 4798 blx r3 + 1ac0a: b282 uxth r2, r0 + 1ac0c: 6869 ldr r1, [r5, #4] + 1ac0e: 4620 mov r0, r4 + 1ac10: 4b4a ldr r3, [pc, #296] ; (1ad3c ) + 1ac12: 4798 blx r3 ext->dot_tmp_alloc = copy_ext->dot_tmp_alloc; - 1ac2c: 7c72 ldrb r2, [r6, #17] - 1ac2e: 7c6b ldrb r3, [r5, #17] - 1ac30: f362 0300 bfi r3, r2, #0, #1 - 1ac34: 746b strb r3, [r5, #17] + 1ac14: 7c72 ldrb r2, [r6, #17] + 1ac16: 7c6b ldrb r3, [r5, #17] + 1ac18: f362 0300 bfi r3, r2, #0, #1 + 1ac1c: 746b strb r3, [r5, #17] ext->dot_end = copy_ext->dot_end; - 1ac36: 8933 ldrh r3, [r6, #8] - 1ac38: 812b strh r3, [r5, #8] + 1ac1e: 8933 ldrh r3, [r6, #8] + 1ac20: 812b strh r3, [r5, #8] lv_obj_refresh_style(new_label, LV_STYLE_PROP_ALL); - 1ac3a: 21ff movs r1, #255 ; 0xff - 1ac3c: 4620 mov r0, r4 - 1ac3e: 4b46 ldr r3, [pc, #280] ; (1ad58 ) - 1ac40: 4798 blx r3 + 1ac22: 21ff movs r1, #255 ; 0xff + 1ac24: 4620 mov r0, r4 + 1ac26: 4b46 ldr r3, [pc, #280] ; (1ad40 ) + 1ac28: 4798 blx r3 LV_LOG_INFO("label created"); - 1ac42: 4b46 ldr r3, [pc, #280] ; (1ad5c ) - 1ac44: 9300 str r3, [sp, #0] - 1ac46: 4b30 ldr r3, [pc, #192] ; (1ad08 ) - 1ac48: 22a8 movs r2, #168 ; 0xa8 - 1ac4a: 4930 ldr r1, [pc, #192] ; (1ad0c ) - 1ac4c: 2001 movs r0, #1 - 1ac4e: 4d30 ldr r5, [pc, #192] ; (1ad10 ) - 1ac50: 47a8 blx r5 -} - 1ac52: 4620 mov r0, r4 - 1ac54: b002 add sp, #8 - 1ac56: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1ac2a: 4b46 ldr r3, [pc, #280] ; (1ad44 ) + 1ac2c: 9300 str r3, [sp, #0] + 1ac2e: 4b30 ldr r3, [pc, #192] ; (1acf0 ) + 1ac30: 22a8 movs r2, #168 ; 0xa8 + 1ac32: 4930 ldr r1, [pc, #192] ; (1acf4 ) + 1ac34: 2001 movs r0, #1 + 1ac36: 4d30 ldr r5, [pc, #192] ; (1acf8 ) + 1ac38: 47a8 blx r5 +} + 1ac3a: 4620 mov r0, r4 + 1ac3c: b002 add sp, #8 + 1ac3e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} lv_obj_del(new_label); - 1ac5a: 4620 mov r0, r4 - 1ac5c: 4b40 ldr r3, [pc, #256] ; (1ad60 ) - 1ac5e: 4798 blx r3 + 1ac42: 4620 mov r0, r4 + 1ac44: 4b40 ldr r3, [pc, #256] ; (1ad48 ) + 1ac46: 4798 blx r3 return NULL; - 1ac60: 2400 movs r4, #0 - 1ac62: e7f6 b.n 1ac52 + 1ac48: 2400 movs r4, #0 + 1ac4a: e7f6 b.n 1ac3a lv_theme_apply(new_label, LV_THEME_LABEL); - 1ac64: 2112 movs r1, #18 + 1ac4c: 2112 movs r1, #18 + 1ac4e: 4620 mov r0, r4 + 1ac50: 4b3e ldr r3, [pc, #248] ; (1ad4c ) + 1ac52: 4798 blx r3 + lv_obj_set_click(new_label, false); + 1ac54: 2100 movs r1, #0 + 1ac56: 4620 mov r0, r4 + 1ac58: 4b3d ldr r3, [pc, #244] ; (1ad50 ) + 1ac5a: 4798 blx r3 + lv_label_set_long_mode(new_label, LV_LABEL_LONG_EXPAND); + 1ac5c: 2100 movs r1, #0 + 1ac5e: 4620 mov r0, r4 + 1ac60: 4b2e ldr r3, [pc, #184] ; (1ad1c ) + 1ac62: 4798 blx r3 + lv_label_set_text(new_label, "Text"); + 1ac64: 493b ldr r1, [pc, #236] ; (1ad54 ) 1ac66: 4620 mov r0, r4 - 1ac68: 4b3e ldr r3, [pc, #248] ; (1ad64 ) + 1ac68: 4b32 ldr r3, [pc, #200] ; (1ad34 ) 1ac6a: 4798 blx r3 - lv_obj_set_click(new_label, false); - 1ac6c: 2100 movs r1, #0 - 1ac6e: 4620 mov r0, r4 - 1ac70: 4b3d ldr r3, [pc, #244] ; (1ad68 ) + 1ac6c: e7dd b.n 1ac2a + lv_label_set_text_static(new_label, lv_label_get_text(copy)); + 1ac6e: 4638 mov r0, r7 + 1ac70: 4b2f ldr r3, [pc, #188] ; (1ad30 ) 1ac72: 4798 blx r3 - lv_label_set_long_mode(new_label, LV_LABEL_LONG_EXPAND); - 1ac74: 2100 movs r1, #0 + 1ac74: 4601 mov r1, r0 1ac76: 4620 mov r0, r4 - 1ac78: 4b2e ldr r3, [pc, #184] ; (1ad34 ) + 1ac78: 4b37 ldr r3, [pc, #220] ; (1ad58 ) 1ac7a: 4798 blx r3 - lv_label_set_text(new_label, "Text"); - 1ac7c: 493b ldr r1, [pc, #236] ; (1ad6c ) - 1ac7e: 4620 mov r0, r4 - 1ac80: 4b32 ldr r3, [pc, #200] ; (1ad4c ) - 1ac82: 4798 blx r3 - 1ac84: e7dd b.n 1ac42 - lv_label_set_text_static(new_label, lv_label_get_text(copy)); - 1ac86: 4638 mov r0, r7 - 1ac88: 4b2f ldr r3, [pc, #188] ; (1ad48 ) - 1ac8a: 4798 blx r3 - 1ac8c: 4601 mov r1, r0 - 1ac8e: 4620 mov r0, r4 - 1ac90: 4b37 ldr r3, [pc, #220] ; (1ad70 ) - 1ac92: 4798 blx r3 - 1ac94: e7b7 b.n 1ac06 + 1ac7c: e7b7 b.n 1abee ext->text = lv_mem_realloc(ext->text, _lv_mem_get_size(copy_ext->text)); - 1ac96: 682f ldr r7, [r5, #0] - 1ac98: 6830 ldr r0, [r6, #0] - 1ac9a: 4b36 ldr r3, [pc, #216] ; (1ad74 ) - 1ac9c: 4798 blx r3 - 1ac9e: 4601 mov r1, r0 - 1aca0: 4638 mov r0, r7 - 1aca2: 4b35 ldr r3, [pc, #212] ; (1ad78 ) - 1aca4: 4798 blx r3 - 1aca6: 6028 str r0, [r5, #0] + 1ac7e: 682f ldr r7, [r5, #0] + 1ac80: 6830 ldr r0, [r6, #0] + 1ac82: 4b36 ldr r3, [pc, #216] ; (1ad5c ) + 1ac84: 4798 blx r3 + 1ac86: 4601 mov r1, r0 + 1ac88: 4638 mov r0, r7 + 1ac8a: 4b35 ldr r3, [pc, #212] ; (1ad60 ) + 1ac8c: 4798 blx r3 + 1ac8e: 6028 str r0, [r5, #0] LV_ASSERT_MEM(ext->text); - 1aca8: 4b13 ldr r3, [pc, #76] ; (1acf8 ) - 1acaa: 4798 blx r3 - 1acac: b960 cbnz r0, 1acc8 - 1acae: 4b16 ldr r3, [pc, #88] ; (1ad08 ) - 1acb0: 9300 str r3, [sp, #0] - 1acb2: 2295 movs r2, #149 ; 0x95 - 1acb4: 4915 ldr r1, [pc, #84] ; (1ad0c ) - 1acb6: 2003 movs r0, #3 - 1acb8: 4c15 ldr r4, [pc, #84] ; (1ad10 ) - 1acba: 47a0 blx r4 - 1acbc: 682a ldr r2, [r5, #0] - 1acbe: 2300 movs r3, #0 - 1acc0: 4814 ldr r0, [pc, #80] ; (1ad14 ) - 1acc2: 4915 ldr r1, [pc, #84] ; (1ad18 ) - 1acc4: 4788 blx r1 - 1acc6: e7fe b.n 1acc6 + 1ac90: 4b13 ldr r3, [pc, #76] ; (1ace0 ) + 1ac92: 4798 blx r3 + 1ac94: b960 cbnz r0, 1acb0 + 1ac96: 4b16 ldr r3, [pc, #88] ; (1acf0 ) + 1ac98: 9300 str r3, [sp, #0] + 1ac9a: 2295 movs r2, #149 ; 0x95 + 1ac9c: 4915 ldr r1, [pc, #84] ; (1acf4 ) + 1ac9e: 2003 movs r0, #3 + 1aca0: 4c15 ldr r4, [pc, #84] ; (1acf8 ) + 1aca2: 47a0 blx r4 + 1aca4: 682a ldr r2, [r5, #0] + 1aca6: 2300 movs r3, #0 + 1aca8: 4814 ldr r0, [pc, #80] ; (1acfc ) + 1acaa: 4915 ldr r1, [pc, #84] ; (1ad00 ) + 1acac: 4788 blx r1 + 1acae: e7fe b.n 1acae if(ext->text == NULL) return NULL; - 1acc8: 682f ldr r7, [r5, #0] - 1acca: b187 cbz r7, 1acee + 1acb0: 682f ldr r7, [r5, #0] + 1acb2: b187 cbz r7, 1acd6 _lv_memcpy(ext->text, copy_ext->text, _lv_mem_get_size(copy_ext->text)); - 1accc: f8d6 8000 ldr.w r8, [r6] - 1acd0: 4640 mov r0, r8 - 1acd2: 4b28 ldr r3, [pc, #160] ; (1ad74 ) - 1acd4: 4798 blx r3 - 1acd6: 4602 mov r2, r0 - 1acd8: 4641 mov r1, r8 - 1acda: 4638 mov r0, r7 - 1acdc: 4b27 ldr r3, [pc, #156] ; (1ad7c ) - 1acde: 4798 blx r3 - 1ace0: e796 b.n 1ac10 + 1acb4: f8d6 8000 ldr.w r8, [r6] + 1acb8: 4640 mov r0, r8 + 1acba: 4b28 ldr r3, [pc, #160] ; (1ad5c ) + 1acbc: 4798 blx r3 + 1acbe: 4602 mov r2, r0 + 1acc0: 4641 mov r1, r8 + 1acc2: 4638 mov r0, r7 + 1acc4: 4b27 ldr r3, [pc, #156] ; (1ad64 ) + 1acc6: 4798 blx r3 + 1acc8: e796 b.n 1abf8 _lv_memcpy(ext->dot.tmp, copy_ext->dot.tmp, sizeof(ext->dot.tmp)); - 1ace2: 2204 movs r2, #4 - 1ace4: 18b1 adds r1, r6, r2 - 1ace6: 18a8 adds r0, r5, r2 - 1ace8: 4b24 ldr r3, [pc, #144] ; (1ad7c ) - 1acea: 4798 blx r3 - 1acec: e79e b.n 1ac2c + 1acca: 2204 movs r2, #4 + 1accc: 18b1 adds r1, r6, r2 + 1acce: 18a8 adds r0, r5, r2 + 1acd0: 4b24 ldr r3, [pc, #144] ; (1ad64 ) + 1acd2: 4798 blx r3 + 1acd4: e79e b.n 1ac14 if(ext->text == NULL) return NULL; - 1acee: 2400 movs r4, #0 - 1acf0: e7af b.n 1ac52 - 1acf2: bf00 nop - 1acf4: 00003e25 .word 0x00003e25 - 1acf8: 000022b1 .word 0x000022b1 - 1acfc: 20006c00 .word 0x20006c00 - 1ad00: 00002bd1 .word 0x00002bd1 - 1ad04: 00004d9d .word 0x00004d9d - 1ad08: 000298f0 .word 0x000298f0 - 1ad0c: 00029994 .word 0x00029994 - 1ad10: 0001225d .word 0x0001225d - 1ad14: 00023fd8 .word 0x00023fd8 - 1ad18: 000022b9 .word 0x000022b9 - 1ad1c: 00004d55 .word 0x00004d55 - 1ad20: 0001af01 .word 0x0001af01 - 1ad24: 00002b89 .word 0x00002b89 - 1ad28: 0001ad81 .word 0x0001ad81 - 1ad2c: 00002b2d .word 0x00002b2d - 1ad30: 00019f2d .word 0x00019f2d - 1ad34: 0001a9cd .word 0x0001a9cd - 1ad38: 00019fdd .word 0x00019fdd - 1ad3c: 0001aa99 .word 0x0001aa99 - 1ad40: 00019f81 .word 0x00019f81 - 1ad44: 00019e71 .word 0x00019e71 - 1ad48: 00019edd .word 0x00019edd - 1ad4c: 0001a805 .word 0x0001a805 - 1ad50: 0001b51f .word 0x0001b51f - 1ad54: 00019de5 .word 0x00019de5 - 1ad58: 00003a99 .word 0x00003a99 - 1ad5c: 000299f8 .word 0x000299f8 - 1ad60: 00004f65 .word 0x00004f65 - 1ad64: 000141e9 .word 0x000141e9 - 1ad68: 000029a1 .word 0x000029a1 - 1ad6c: 000299f0 .word 0x000299f0 - 1ad70: 0001a94d .word 0x0001a94d - 1ad74: 00012551 .word 0x00012551 - 1ad78: 00012899 .word 0x00012899 - 1ad7c: 00012655 .word 0x00012655 - -0001ad80 : -{ - 1ad80: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} - 1ad84: 4607 mov r7, r0 - 1ad86: 4615 mov r5, r2 + 1acd6: 2400 movs r4, #0 + 1acd8: e7af b.n 1ac3a + 1acda: bf00 nop + 1acdc: 00003e0d .word 0x00003e0d + 1ace0: 00002299 .word 0x00002299 + 1ace4: 20006c00 .word 0x20006c00 + 1ace8: 00002bb9 .word 0x00002bb9 + 1acec: 00004d85 .word 0x00004d85 + 1acf0: 000298d8 .word 0x000298d8 + 1acf4: 0002997c .word 0x0002997c + 1acf8: 00012245 .word 0x00012245 + 1acfc: 00023fc0 .word 0x00023fc0 + 1ad00: 000022a1 .word 0x000022a1 + 1ad04: 00004d3d .word 0x00004d3d + 1ad08: 0001aee9 .word 0x0001aee9 + 1ad0c: 00002b71 .word 0x00002b71 + 1ad10: 0001ad69 .word 0x0001ad69 + 1ad14: 00002b15 .word 0x00002b15 + 1ad18: 00019f15 .word 0x00019f15 + 1ad1c: 0001a9b5 .word 0x0001a9b5 + 1ad20: 00019fc5 .word 0x00019fc5 + 1ad24: 0001aa81 .word 0x0001aa81 + 1ad28: 00019f69 .word 0x00019f69 + 1ad2c: 00019e59 .word 0x00019e59 + 1ad30: 00019ec5 .word 0x00019ec5 + 1ad34: 0001a7ed .word 0x0001a7ed + 1ad38: 0001b507 .word 0x0001b507 + 1ad3c: 00019dcd .word 0x00019dcd + 1ad40: 00003a81 .word 0x00003a81 + 1ad44: 000299e0 .word 0x000299e0 + 1ad48: 00004f4d .word 0x00004f4d + 1ad4c: 000141d1 .word 0x000141d1 + 1ad50: 00002989 .word 0x00002989 + 1ad54: 000299d8 .word 0x000299d8 + 1ad58: 0001a935 .word 0x0001a935 + 1ad5c: 00012539 .word 0x00012539 + 1ad60: 00012881 .word 0x00012881 + 1ad64: 0001263d .word 0x0001263d + +0001ad68 : +{ + 1ad68: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} + 1ad6c: 4607 mov r7, r0 + 1ad6e: 4615 mov r5, r2 if(sign == LV_SIGNAL_GET_STYLE) { - 1ad88: 2908 cmp r1, #8 - 1ad8a: d015 beq.n 1adb8 - 1ad8c: 460c mov r4, r1 + 1ad70: 2908 cmp r1, #8 + 1ad72: d015 beq.n 1ada0 + 1ad74: 460c mov r4, r1 res = ancestor_signal(label, sign, param); - 1ad8e: 4b30 ldr r3, [pc, #192] ; (1ae50 ) - 1ad90: 681b ldr r3, [r3, #0] - 1ad92: 4798 blx r3 - 1ad94: 4606 mov r6, r0 + 1ad76: 4b30 ldr r3, [pc, #192] ; (1ae38 ) + 1ad78: 681b ldr r3, [r3, #0] + 1ad7a: 4798 blx r3 + 1ad7c: 4606 mov r6, r0 if(res != LV_RES_OK) return res; - 1ad96: 2801 cmp r0, #1 - 1ad98: d115 bne.n 1adc6 + 1ad7e: 2801 cmp r0, #1 + 1ad80: d115 bne.n 1adae if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 1ad9a: 2c07 cmp r4, #7 - 1ad9c: d020 beq.n 1ade0 + 1ad82: 2c07 cmp r4, #7 + 1ad84: d020 beq.n 1adc8 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1ad9e: 4638 mov r0, r7 - 1ada0: 4b2c ldr r3, [pc, #176] ; (1ae54 ) - 1ada2: 4798 blx r3 - 1ada4: 4680 mov r8, r0 + 1ad86: 4638 mov r0, r7 + 1ad88: 4b2c ldr r3, [pc, #176] ; (1ae3c ) + 1ad8a: 4798 blx r3 + 1ad8c: 4680 mov r8, r0 if(sign == LV_SIGNAL_CLEANUP) { - 1ada6: bb44 cbnz r4, 1adfa + 1ad8e: bb44 cbnz r4, 1ade2 if(ext->static_txt == 0) { - 1ada8: 7c03 ldrb r3, [r0, #16] - 1adaa: f013 0f08 tst.w r3, #8 - 1adae: d01d beq.n 1adec + 1ad90: 7c03 ldrb r3, [r0, #16] + 1ad92: f013 0f08 tst.w r3, #8 + 1ad96: d01d beq.n 1add4 lv_label_dot_tmp_free(label); - 1adb0: 4638 mov r0, r7 - 1adb2: 4b29 ldr r3, [pc, #164] ; (1ae58 ) - 1adb4: 4798 blx r3 - 1adb6: e006 b.n 1adc6 + 1ad98: 4638 mov r0, r7 + 1ad9a: 4b29 ldr r3, [pc, #164] ; (1ae40 ) + 1ad9c: 4798 blx r3 + 1ad9e: e006 b.n 1adae switch(type) { - 1adb8: 7813 ldrb r3, [r2, #0] - 1adba: b93b cbnz r3, 1adcc + 1ada0: 7813 ldrb r3, [r2, #0] + 1ada2: b93b cbnz r3, 1adb4 style_dsc_p = &label->style_list; - 1adbc: f100 0328 add.w r3, r0, #40 ; 0x28 + 1ada4: f100 0328 add.w r3, r0, #40 ; 0x28 info->result = lv_label_get_style(label, info->part); - 1adc0: 606b str r3, [r5, #4] + 1ada8: 606b str r3, [r5, #4] if(info->result != NULL) return LV_RES_OK; - 1adc2: 2601 movs r6, #1 - 1adc4: b123 cbz r3, 1add0 + 1adaa: 2601 movs r6, #1 + 1adac: b123 cbz r3, 1adb8 } - 1adc6: 4630 mov r0, r6 - 1adc8: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} + 1adae: 4630 mov r0, r6 + 1adb0: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} style_dsc_p = NULL; - 1adcc: 2300 movs r3, #0 - 1adce: e7f7 b.n 1adc0 + 1adb4: 2300 movs r3, #0 + 1adb6: e7f7 b.n 1ada8 else return ancestor_signal(label, sign, param); - 1add0: 4b1f ldr r3, [pc, #124] ; (1ae50 ) - 1add2: 681b ldr r3, [r3, #0] - 1add4: 462a mov r2, r5 - 1add6: 2108 movs r1, #8 - 1add8: 4638 mov r0, r7 - 1adda: 4798 blx r3 - 1addc: 4606 mov r6, r0 - 1adde: e7f2 b.n 1adc6 + 1adb8: 4b1f ldr r3, [pc, #124] ; (1ae38 ) + 1adba: 681b ldr r3, [r3, #0] + 1adbc: 462a mov r2, r5 + 1adbe: 2108 movs r1, #8 + 1adc0: 4638 mov r0, r7 + 1adc2: 4798 blx r3 + 1adc4: 4606 mov r6, r0 + 1adc6: e7f2 b.n 1adae if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME); - 1ade0: 491e ldr r1, [pc, #120] ; (1ae5c ) - 1ade2: 4628 mov r0, r5 - 1ade4: 4b1e ldr r3, [pc, #120] ; (1ae60 ) - 1ade6: 4798 blx r3 - 1ade8: 4606 mov r6, r0 - 1adea: e7ec b.n 1adc6 + 1adc8: 491e ldr r1, [pc, #120] ; (1ae44 ) + 1adca: 4628 mov r0, r5 + 1adcc: 4b1e ldr r3, [pc, #120] ; (1ae48 ) + 1adce: 4798 blx r3 + 1add0: 4606 mov r6, r0 + 1add2: e7ec b.n 1adae lv_mem_free(ext->text); - 1adec: 6800 ldr r0, [r0, #0] - 1adee: 4b1d ldr r3, [pc, #116] ; (1ae64 ) - 1adf0: 4798 blx r3 + 1add4: 6800 ldr r0, [r0, #0] + 1add6: 4b1d ldr r3, [pc, #116] ; (1ae4c ) + 1add8: 4798 blx r3 ext->text = NULL; - 1adf2: 2300 movs r3, #0 - 1adf4: f8c8 3000 str.w r3, [r8] - 1adf8: e7da b.n 1adb0 + 1adda: 2300 movs r3, #0 + 1addc: f8c8 3000 str.w r3, [r8] + 1ade0: e7da b.n 1ad98 else if(sign == LV_SIGNAL_STYLE_CHG) { - 1adfa: 2c04 cmp r4, #4 - 1adfc: d014 beq.n 1ae28 + 1ade2: 2c04 cmp r4, #4 + 1ade4: d014 beq.n 1ae10 else if(sign == LV_SIGNAL_COORD_CHG) { - 1adfe: 2c02 cmp r4, #2 - 1ae00: d1e1 bne.n 1adc6 + 1ade6: 2c02 cmp r4, #2 + 1ade8: d1e1 bne.n 1adae return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1ae02: 88aa ldrh r2, [r5, #4] - 1ae04: 3201 adds r2, #1 - 1ae06: 882b ldrh r3, [r5, #0] - 1ae08: 1ad2 subs r2, r2, r3 - 1ae0a: 8abb ldrh r3, [r7, #20] - 1ae0c: 3301 adds r3, #1 - 1ae0e: 8a39 ldrh r1, [r7, #16] - 1ae10: 1a5b subs r3, r3, r1 + 1adea: 88aa ldrh r2, [r5, #4] + 1adec: 3201 adds r2, #1 + 1adee: 882b ldrh r3, [r5, #0] + 1adf0: 1ad2 subs r2, r2, r3 + 1adf2: 8abb ldrh r3, [r7, #20] + 1adf4: 3301 adds r3, #1 + 1adf6: 8a39 ldrh r1, [r7, #16] + 1adf8: 1a5b subs r3, r3, r1 if(lv_area_get_width(&label->coords) != lv_area_get_width(param) || - 1ae12: b292 uxth r2, r2 - 1ae14: b29b uxth r3, r3 - 1ae16: 429a cmp r2, r3 - 1ae18: d00d beq.n 1ae36 + 1adfa: b292 uxth r2, r2 + 1adfc: b29b uxth r3, r3 + 1adfe: 429a cmp r2, r3 + 1ae00: d00d beq.n 1ae1e lv_label_revert_dots(label); - 1ae1a: 4638 mov r0, r7 - 1ae1c: 4b12 ldr r3, [pc, #72] ; (1ae68 ) - 1ae1e: 4798 blx r3 + 1ae02: 4638 mov r0, r7 + 1ae04: 4b12 ldr r3, [pc, #72] ; (1ae50 ) + 1ae06: 4798 blx r3 lv_label_refr_text(label); - 1ae20: 4638 mov r0, r7 - 1ae22: 4b12 ldr r3, [pc, #72] ; (1ae6c ) - 1ae24: 4798 blx r3 - 1ae26: e7ce b.n 1adc6 + 1ae08: 4638 mov r0, r7 + 1ae0a: 4b12 ldr r3, [pc, #72] ; (1ae54 ) + 1ae0c: 4798 blx r3 + 1ae0e: e7ce b.n 1adae lv_label_revert_dots(label); - 1ae28: 4638 mov r0, r7 - 1ae2a: 4b0f ldr r3, [pc, #60] ; (1ae68 ) - 1ae2c: 4798 blx r3 + 1ae10: 4638 mov r0, r7 + 1ae12: 4b0f ldr r3, [pc, #60] ; (1ae50 ) + 1ae14: 4798 blx r3 lv_label_refr_text(label); - 1ae2e: 4638 mov r0, r7 - 1ae30: 4b0e ldr r3, [pc, #56] ; (1ae6c ) - 1ae32: 4798 blx r3 - 1ae34: e7c7 b.n 1adc6 + 1ae16: 4638 mov r0, r7 + 1ae18: 4b0e ldr r3, [pc, #56] ; (1ae54 ) + 1ae1a: 4798 blx r3 + 1ae1c: e7c7 b.n 1adae return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1ae36: 88ea ldrh r2, [r5, #6] - 1ae38: 3201 adds r2, #1 - 1ae3a: 886b ldrh r3, [r5, #2] - 1ae3c: 1ad2 subs r2, r2, r3 - 1ae3e: 8afb ldrh r3, [r7, #22] - 1ae40: 3301 adds r3, #1 - 1ae42: 8a79 ldrh r1, [r7, #18] - 1ae44: 1a5b subs r3, r3, r1 + 1ae1e: 88ea ldrh r2, [r5, #6] + 1ae20: 3201 adds r2, #1 + 1ae22: 886b ldrh r3, [r5, #2] + 1ae24: 1ad2 subs r2, r2, r3 + 1ae26: 8afb ldrh r3, [r7, #22] + 1ae28: 3301 adds r3, #1 + 1ae2a: 8a79 ldrh r1, [r7, #18] + 1ae2c: 1a5b subs r3, r3, r1 if(lv_area_get_width(&label->coords) != lv_area_get_width(param) || - 1ae46: b292 uxth r2, r2 - 1ae48: b29b uxth r3, r3 - 1ae4a: 429a cmp r2, r3 - 1ae4c: d1e5 bne.n 1ae1a - 1ae4e: e7ba b.n 1adc6 - 1ae50: 20006c00 .word 0x20006c00 - 1ae54: 00004d9d .word 0x00004d9d - 1ae58: 00019c95 .word 0x00019c95 - 1ae5c: 00029a08 .word 0x00029a08 - 1ae60: 00005095 .word 0x00005095 - 1ae64: 000124c5 .word 0x000124c5 - 1ae68: 00019cc5 .word 0x00019cc5 - 1ae6c: 0001a301 .word 0x0001a301 - -0001ae70 : -{ - 1ae70: b530 push {r4, r5, lr} - 1ae72: b083 sub sp, #12 - 1ae74: 4604 mov r4, r0 + 1ae2e: b292 uxth r2, r2 + 1ae30: b29b uxth r3, r3 + 1ae32: 429a cmp r2, r3 + 1ae34: d1e5 bne.n 1ae02 + 1ae36: e7ba b.n 1adae + 1ae38: 20006c00 .word 0x20006c00 + 1ae3c: 00004d85 .word 0x00004d85 + 1ae40: 00019c7d .word 0x00019c7d + 1ae44: 000299f0 .word 0x000299f0 + 1ae48: 0000507d .word 0x0000507d + 1ae4c: 000124ad .word 0x000124ad + 1ae50: 00019cad .word 0x00019cad + 1ae54: 0001a2e9 .word 0x0001a2e9 + +0001ae58 : +{ + 1ae58: b530 push {r4, r5, lr} + 1ae5a: b083 sub sp, #12 + 1ae5c: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1ae76: 4b0a ldr r3, [pc, #40] ; (1aea0 ) - 1ae78: 4798 blx r3 - 1ae7a: b118 cbz r0, 1ae84 + 1ae5e: 4b0a ldr r3, [pc, #40] ; (1ae88 ) + 1ae60: 4798 blx r3 + 1ae62: b118 cbz r0, 1ae6c } - 1ae7c: f64f 70ff movw r0, #65535 ; 0xffff - 1ae80: b003 add sp, #12 - 1ae82: bd30 pop {r4, r5, pc} + 1ae64: f64f 70ff movw r0, #65535 ; 0xffff + 1ae68: b003 add sp, #12 + 1ae6a: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1ae84: 4b07 ldr r3, [pc, #28] ; (1aea4 ) - 1ae86: 9300 str r3, [sp, #0] - 1ae88: f240 321d movw r2, #797 ; 0x31d - 1ae8c: 4906 ldr r1, [pc, #24] ; (1aea8 ) - 1ae8e: 2003 movs r0, #3 - 1ae90: 4d06 ldr r5, [pc, #24] ; (1aeac ) - 1ae92: 47a8 blx r5 - 1ae94: 4622 mov r2, r4 - 1ae96: 2300 movs r3, #0 - 1ae98: 4805 ldr r0, [pc, #20] ; (1aeb0 ) - 1ae9a: 4906 ldr r1, [pc, #24] ; (1aeb4 ) - 1ae9c: 4788 blx r1 - 1ae9e: e7fe b.n 1ae9e - 1aea0: 000022b1 .word 0x000022b1 - 1aea4: 00029918 .word 0x00029918 - 1aea8: 00029994 .word 0x00029994 - 1aeac: 0001225d .word 0x0001225d - 1aeb0: 0002483c .word 0x0002483c - 1aeb4: 000022b9 .word 0x000022b9 - -0001aeb8 : -{ - 1aeb8: b530 push {r4, r5, lr} - 1aeba: b083 sub sp, #12 - 1aebc: 4604 mov r4, r0 + 1ae6c: 4b07 ldr r3, [pc, #28] ; (1ae8c ) + 1ae6e: 9300 str r3, [sp, #0] + 1ae70: f240 321d movw r2, #797 ; 0x31d + 1ae74: 4906 ldr r1, [pc, #24] ; (1ae90 ) + 1ae76: 2003 movs r0, #3 + 1ae78: 4d06 ldr r5, [pc, #24] ; (1ae94 ) + 1ae7a: 47a8 blx r5 + 1ae7c: 4622 mov r2, r4 + 1ae7e: 2300 movs r3, #0 + 1ae80: 4805 ldr r0, [pc, #20] ; (1ae98 ) + 1ae82: 4906 ldr r1, [pc, #24] ; (1ae9c ) + 1ae84: 4788 blx r1 + 1ae86: e7fe b.n 1ae86 + 1ae88: 00002299 .word 0x00002299 + 1ae8c: 00029900 .word 0x00029900 + 1ae90: 0002997c .word 0x0002997c + 1ae94: 00012245 .word 0x00012245 + 1ae98: 00024824 .word 0x00024824 + 1ae9c: 000022a1 .word 0x000022a1 + +0001aea0 : +{ + 1aea0: b530 push {r4, r5, lr} + 1aea2: b083 sub sp, #12 + 1aea4: 4604 mov r4, r0 LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1aebe: 4b0a ldr r3, [pc, #40] ; (1aee8 ) - 1aec0: 4798 blx r3 - 1aec2: b118 cbz r0, 1aecc + 1aea6: 4b0a ldr r3, [pc, #40] ; (1aed0 ) + 1aea8: 4798 blx r3 + 1aeaa: b118 cbz r0, 1aeb4 } - 1aec4: f64f 70ff movw r0, #65535 ; 0xffff - 1aec8: b003 add sp, #12 - 1aeca: bd30 pop {r4, r5, pc} + 1aeac: f64f 70ff movw r0, #65535 ; 0xffff + 1aeb0: b003 add sp, #12 + 1aeb2: bd30 pop {r4, r5, pc} LV_ASSERT_OBJ(label, LV_OBJX_NAME); - 1aecc: 4b07 ldr r3, [pc, #28] ; (1aeec ) - 1aece: 9300 str r3, [sp, #0] - 1aed0: f44f 724c mov.w r2, #816 ; 0x330 - 1aed4: 4906 ldr r1, [pc, #24] ; (1aef0 ) - 1aed6: 2003 movs r0, #3 - 1aed8: 4d06 ldr r5, [pc, #24] ; (1aef4 ) - 1aeda: 47a8 blx r5 - 1aedc: 4622 mov r2, r4 - 1aede: 2300 movs r3, #0 - 1aee0: 4805 ldr r0, [pc, #20] ; (1aef8 ) - 1aee2: 4906 ldr r1, [pc, #24] ; (1aefc ) - 1aee4: 4788 blx r1 - 1aee6: e7fe b.n 1aee6 - 1aee8: 000022b1 .word 0x000022b1 - 1aeec: 00029934 .word 0x00029934 - 1aef0: 00029994 .word 0x00029994 - 1aef4: 0001225d .word 0x0001225d - 1aef8: 0002483c .word 0x0002483c - 1aefc: 000022b9 .word 0x000022b9 - -0001af00 : + 1aeb4: 4b07 ldr r3, [pc, #28] ; (1aed4 ) + 1aeb6: 9300 str r3, [sp, #0] + 1aeb8: f44f 724c mov.w r2, #816 ; 0x330 + 1aebc: 4906 ldr r1, [pc, #24] ; (1aed8 ) + 1aebe: 2003 movs r0, #3 + 1aec0: 4d06 ldr r5, [pc, #24] ; (1aedc ) + 1aec2: 47a8 blx r5 + 1aec4: 4622 mov r2, r4 + 1aec6: 2300 movs r3, #0 + 1aec8: 4805 ldr r0, [pc, #20] ; (1aee0 ) + 1aeca: 4906 ldr r1, [pc, #24] ; (1aee4 ) + 1aecc: 4788 blx r1 + 1aece: e7fe b.n 1aece + 1aed0: 00002299 .word 0x00002299 + 1aed4: 0002991c .word 0x0002991c + 1aed8: 0002997c .word 0x0002997c + 1aedc: 00012245 .word 0x00012245 + 1aee0: 00024824 .word 0x00024824 + 1aee4: 000022a1 .word 0x000022a1 + +0001aee8 : if(mode == LV_DESIGN_COVER_CHK) - 1af00: 2a02 cmp r2, #2 - 1af02: f000 811e beq.w 1b142 + 1aee8: 2a02 cmp r2, #2 + 1aeea: f000 811e beq.w 1b12a else if(mode == LV_DESIGN_DRAW_MAIN) { - 1af06: b10a cbz r2, 1af0c + 1aeee: b10a cbz r2, 1aef4 return LV_DESIGN_RES_OK; - 1af08: 2000 movs r0, #0 - 1af0a: 4770 bx lr + 1aef0: 2000 movs r0, #0 + 1aef2: 4770 bx lr { - 1af0c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} - 1af10: b0a9 sub sp, #164 ; 0xa4 - 1af12: 460f mov r7, r1 - 1af14: 4605 mov r5, r0 + 1aef4: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} + 1aef8: b0a9 sub sp, #164 ; 0xa4 + 1aefa: 460f mov r7, r1 + 1aefc: 4605 mov r5, r0 lv_label_ext_t * ext = lv_obj_get_ext_attr(label); - 1af16: 4b8c ldr r3, [pc, #560] ; (1b148 ) - 1af18: 4798 blx r3 - 1af1a: 4680 mov r8, r0 + 1aefe: 4b8c ldr r3, [pc, #560] ; (1b130 ) + 1af00: 4798 blx r3 + 1af02: 4680 mov r8, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_WIDTH, transform_width, lv_style_int_t, _int, scalar) - 1af1c: 2204 movs r2, #4 - 1af1e: 2100 movs r1, #0 - 1af20: 4628 mov r0, r5 - 1af22: 4c8a ldr r4, [pc, #552] ; (1b14c ) - 1af24: 47a0 blx r4 - 1af26: 4681 mov r9, r0 + 1af04: 2204 movs r2, #4 + 1af06: 2100 movs r1, #0 + 1af08: 4628 mov r0, r5 + 1af0a: 4c8a ldr r4, [pc, #552] ; (1b134 ) + 1af0c: 47a0 blx r4 + 1af0e: 4681 mov r9, r0 _LV_OBJ_STYLE_SET_GET_DECLARE(TRANSFORM_HEIGHT, transform_height, lv_style_int_t, _int, scalar) - 1af28: 2205 movs r2, #5 - 1af2a: 2100 movs r1, #0 - 1af2c: 4628 mov r0, r5 - 1af2e: 47a0 blx r4 - 1af30: f105 030f add.w r3, r5, #15 - 1af34: f105 0617 add.w r6, r5, #23 + 1af10: 2205 movs r2, #5 + 1af12: 2100 movs r1, #0 + 1af14: 4628 mov r0, r5 + 1af16: 47a0 blx r4 + 1af18: f105 030f add.w r3, r5, #15 + 1af1c: f105 0617 add.w r6, r5, #23 uint8_t * d8 = (uint8_t *)dst; - 1af38: aa06 add r2, sp, #24 + 1af20: aa06 add r2, sp, #24 *d8 = *s8; - 1af3a: f813 4f01 ldrb.w r4, [r3, #1]! - 1af3e: f802 4b01 strb.w r4, [r2], #1 + 1af22: f813 4f01 ldrb.w r4, [r3, #1]! + 1af26: f802 4b01 strb.w r4, [r2], #1 while(len) { - 1af42: 42b3 cmp r3, r6 - 1af44: d1f9 bne.n 1af3a + 1af2a: 42b3 cmp r3, r6 + 1af2c: d1f9 bne.n 1af22 bg_coords.x1 -= w; - 1af46: fa1f f989 uxth.w r9, r9 - 1af4a: f8bd 3018 ldrh.w r3, [sp, #24] - 1af4e: eba3 0309 sub.w r3, r3, r9 - 1af52: f8ad 3018 strh.w r3, [sp, #24] + 1af2e: fa1f f989 uxth.w r9, r9 + 1af32: f8bd 3018 ldrh.w r3, [sp, #24] + 1af36: eba3 0309 sub.w r3, r3, r9 + 1af3a: f8ad 3018 strh.w r3, [sp, #24] bg_coords.x2 += w; - 1af56: f8bd 301c ldrh.w r3, [sp, #28] - 1af5a: 4499 add r9, r3 - 1af5c: f8ad 901c strh.w r9, [sp, #28] + 1af3e: f8bd 301c ldrh.w r3, [sp, #28] + 1af42: 4499 add r9, r3 + 1af44: f8ad 901c strh.w r9, [sp, #28] bg_coords.y1 -= h; - 1af60: b280 uxth r0, r0 - 1af62: f8bd 301a ldrh.w r3, [sp, #26] - 1af66: 1a1b subs r3, r3, r0 - 1af68: f8ad 301a strh.w r3, [sp, #26] + 1af48: b280 uxth r0, r0 + 1af4a: f8bd 301a ldrh.w r3, [sp, #26] + 1af4e: 1a1b subs r3, r3, r0 + 1af50: f8ad 301a strh.w r3, [sp, #26] bg_coords.y2 += h; - 1af6c: f8bd 301e ldrh.w r3, [sp, #30] - 1af70: 4418 add r0, r3 - 1af72: f8ad 001e strh.w r0, [sp, #30] + 1af54: f8bd 301e ldrh.w r3, [sp, #30] + 1af58: 4418 add r0, r3 + 1af5a: f8ad 001e strh.w r0, [sp, #30] lv_draw_rect_dsc_init(&draw_rect_dsc); - 1af76: a813 add r0, sp, #76 ; 0x4c - 1af78: 4b75 ldr r3, [pc, #468] ; (1b150 ) - 1af7a: 4798 blx r3 + 1af5e: a813 add r0, sp, #76 ; 0x4c + 1af60: 4b75 ldr r3, [pc, #468] ; (1b138 ) + 1af62: 4798 blx r3 lv_obj_init_draw_rect_dsc(label, LV_LABEL_PART_MAIN, &draw_rect_dsc); - 1af7c: aa13 add r2, sp, #76 ; 0x4c - 1af7e: 2100 movs r1, #0 - 1af80: 4628 mov r0, r5 - 1af82: 4b74 ldr r3, [pc, #464] ; (1b154 ) - 1af84: 4798 blx r3 + 1af64: aa13 add r2, sp, #76 ; 0x4c + 1af66: 2100 movs r1, #0 + 1af68: 4628 mov r0, r5 + 1af6a: 4b74 ldr r3, [pc, #464] ; (1b13c ) + 1af6c: 4798 blx r3 lv_draw_rect(&bg_coords, clip_area, &draw_rect_dsc); - 1af86: aa13 add r2, sp, #76 ; 0x4c - 1af88: 4639 mov r1, r7 - 1af8a: a806 add r0, sp, #24 - 1af8c: 4b72 ldr r3, [pc, #456] ; (1b158 ) - 1af8e: 4798 blx r3 + 1af6e: aa13 add r2, sp, #76 ; 0x4c + 1af70: 4639 mov r1, r7 + 1af72: a806 add r0, sp, #24 + 1af74: 4b72 ldr r3, [pc, #456] ; (1b140 ) + 1af76: 4798 blx r3 get_txt_coords(label, &txt_coords); - 1af90: a908 add r1, sp, #32 - 1af92: 4628 mov r0, r5 - 1af94: 4b71 ldr r3, [pc, #452] ; (1b15c ) - 1af96: 4798 blx r3 + 1af78: a908 add r1, sp, #32 + 1af7a: 4628 mov r0, r5 + 1af7c: 4b71 ldr r3, [pc, #452] ; (1b144 ) + 1af7e: 4798 blx r3 bool is_common = _lv_area_intersect(&txt_clip, clip_area, &txt_coords); - 1af98: aa08 add r2, sp, #32 - 1af9a: 4639 mov r1, r7 - 1af9c: a80a add r0, sp, #40 ; 0x28 - 1af9e: 4b70 ldr r3, [pc, #448] ; (1b160 ) - 1afa0: 4798 blx r3 + 1af80: aa08 add r2, sp, #32 + 1af82: 4639 mov r1, r7 + 1af84: a80a add r0, sp, #40 ; 0x28 + 1af86: 4b70 ldr r3, [pc, #448] ; (1b148 ) + 1af88: 4798 blx r3 if(!is_common) return LV_DESIGN_RES_OK; - 1afa2: b910 cbnz r0, 1afaa + 1af8a: b910 cbnz r0, 1af92 } - 1afa4: b029 add sp, #164 ; 0xa4 - 1afa6: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} + 1af8c: b029 add sp, #164 ; 0xa4 + 1af8e: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} lv_label_align_t align = lv_label_get_align(label); - 1afaa: 4628 mov r0, r5 - 1afac: 4b6d ldr r3, [pc, #436] ; (1b164 ) - 1afae: 4798 blx r3 + 1af92: 4628 mov r0, r5 + 1af94: 4b6d ldr r3, [pc, #436] ; (1b14c ) + 1af96: 4798 blx r3 if(ext->recolor != 0) flag |= LV_TXT_FLAG_RECOLOR; - 1afb0: f898 3010 ldrb.w r3, [r8, #16] + 1af98: f898 3010 ldrb.w r3, [r8, #16] lv_txt_flag_t flag = LV_TXT_FLAG_NONE; - 1afb4: f3c3 1480 ubfx r4, r3, #6, #1 + 1af9c: f3c3 1480 ubfx r4, r3, #6, #1 if(ext->expand != 0) flag |= LV_TXT_FLAG_EXPAND; - 1afb8: f013 0f80 tst.w r3, #128 ; 0x80 - 1afbc: bf18 it ne - 1afbe: f044 0402 orrne.w r4, r4, #2 + 1afa0: f013 0f80 tst.w r3, #128 ; 0x80 + 1afa4: bf18 it ne + 1afa6: f044 0402 orrne.w r4, r4, #2 if(ext->long_mode == LV_LABEL_LONG_EXPAND) flag |= LV_TXT_FLAG_FIT; - 1afc2: f013 0f07 tst.w r3, #7 - 1afc6: bf08 it eq - 1afc8: f044 0410 orreq.w r4, r4, #16 + 1afaa: f013 0f07 tst.w r3, #7 + 1afae: bf08 it eq + 1afb0: f044 0410 orreq.w r4, r4, #16 if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - 1afcc: 2801 cmp r0, #1 - 1afce: d038 beq.n 1b042 + 1afb4: 2801 cmp r0, #1 + 1afb6: d038 beq.n 1b02a if(align == LV_LABEL_ALIGN_RIGHT) flag |= LV_TXT_FLAG_RIGHT; - 1afd0: 2802 cmp r0, #2 - 1afd2: bf08 it eq - 1afd4: f044 0408 orreq.w r4, r4, #8 + 1afb8: 2802 cmp r0, #2 + 1afba: bf08 it eq + 1afbc: f044 0408 orreq.w r4, r4, #8 lv_draw_label_dsc_init(&label_draw_dsc); - 1afd8: a80c add r0, sp, #48 ; 0x30 - 1afda: 4b63 ldr r3, [pc, #396] ; (1b168 ) - 1afdc: 4798 blx r3 + 1afc0: a80c add r0, sp, #48 ; 0x30 + 1afc2: 4b63 ldr r3, [pc, #396] ; (1b150 ) + 1afc4: 4798 blx r3 label_draw_dsc.sel_start = lv_label_get_text_sel_start(label); - 1afde: 4628 mov r0, r5 - 1afe0: 4b62 ldr r3, [pc, #392] ; (1b16c ) - 1afe2: 4798 blx r3 - 1afe4: f8ad 003e strh.w r0, [sp, #62] ; 0x3e + 1afc6: 4628 mov r0, r5 + 1afc8: 4b62 ldr r3, [pc, #392] ; (1b154 ) + 1afca: 4798 blx r3 + 1afcc: f8ad 003e strh.w r0, [sp, #62] ; 0x3e label_draw_dsc.sel_end = lv_label_get_text_sel_end(label); - 1afe8: 4628 mov r0, r5 - 1afea: 4b61 ldr r3, [pc, #388] ; (1b170 ) - 1afec: 4798 blx r3 - 1afee: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 + 1afd0: 4628 mov r0, r5 + 1afd2: 4b61 ldr r3, [pc, #388] ; (1b158 ) + 1afd4: 4798 blx r3 + 1afd6: f8ad 0040 strh.w r0, [sp, #64] ; 0x40 label_draw_dsc.ofs_x = ext->offset.x; - 1aff2: f9b8 300c ldrsh.w r3, [r8, #12] - 1aff6: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + 1afda: f9b8 300c ldrsh.w r3, [r8, #12] + 1afde: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 label_draw_dsc.ofs_y = ext->offset.y; - 1affa: f9b8 300e ldrsh.w r3, [r8, #14] - 1affe: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + 1afe2: f9b8 300e ldrsh.w r3, [r8, #14] + 1afe6: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 label_draw_dsc.flag = flag; - 1b002: f88d 4047 strb.w r4, [sp, #71] ; 0x47 + 1afea: f88d 4047 strb.w r4, [sp, #71] ; 0x47 lv_obj_init_draw_label_dsc(label, LV_LABEL_PART_MAIN, &label_draw_dsc); - 1b006: aa0c add r2, sp, #48 ; 0x30 - 1b008: 2100 movs r1, #0 - 1b00a: 4628 mov r0, r5 - 1b00c: 4b59 ldr r3, [pc, #356] ; (1b174 ) - 1b00e: 4798 blx r3 + 1afee: aa0c add r2, sp, #48 ; 0x30 + 1aff0: 2100 movs r1, #0 + 1aff2: 4628 mov r0, r5 + 1aff4: 4b59 ldr r3, [pc, #356] ; (1b15c ) + 1aff6: 4798 blx r3 if((ext->long_mode == LV_LABEL_LONG_SROLL || ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) && - 1b010: f898 2010 ldrb.w r2, [r8, #16] - 1b014: f002 0307 and.w r3, r2, #7 - 1b018: 3b03 subs r3, #3 - 1b01a: b2db uxtb r3, r3 - 1b01c: 2b01 cmp r3, #1 - 1b01e: d913 bls.n 1b048 + 1aff8: f898 2010 ldrb.w r2, [r8, #16] + 1affc: f002 0307 and.w r3, r2, #7 + 1b000: 3b03 subs r3, #3 + 1b002: b2db uxtb r3, r3 + 1b004: 2b01 cmp r3, #1 + 1b006: d913 bls.n 1b030 lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint); - 1b020: f8d8 3000 ldr.w r3, [r8] - 1b024: 2200 movs r2, #0 - 1b026: 9200 str r2, [sp, #0] - 1b028: aa0c add r2, sp, #48 ; 0x30 - 1b02a: a90a add r1, sp, #40 ; 0x28 - 1b02c: a808 add r0, sp, #32 - 1b02e: 4d52 ldr r5, [pc, #328] ; (1b178 ) - 1b030: 47a8 blx r5 + 1b008: f8d8 3000 ldr.w r3, [r8] + 1b00c: 2200 movs r2, #0 + 1b00e: 9200 str r2, [sp, #0] + 1b010: aa0c add r2, sp, #48 ; 0x30 + 1b012: a90a add r1, sp, #40 ; 0x28 + 1b014: a808 add r0, sp, #32 + 1b016: 4d52 ldr r5, [pc, #328] ; (1b160 ) + 1b018: 47a8 blx r5 if(ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) { - 1b032: f898 3010 ldrb.w r3, [r8, #16] - 1b036: f003 0307 and.w r3, r3, #7 - 1b03a: 2b04 cmp r3, #4 - 1b03c: d02b beq.n 1b096 + 1b01a: f898 3010 ldrb.w r3, [r8, #16] + 1b01e: f003 0307 and.w r3, r3, #7 + 1b022: 2b04 cmp r3, #4 + 1b024: d02b beq.n 1b07e return LV_DESIGN_RES_OK; - 1b03e: 2000 movs r0, #0 - 1b040: e7b0 b.n 1afa4 + 1b026: 2000 movs r0, #0 + 1b028: e7b0 b.n 1af8c if(align == LV_LABEL_ALIGN_CENTER) flag |= LV_TXT_FLAG_CENTER; - 1b042: f044 0404 orr.w r4, r4, #4 - 1b046: e7c7 b.n 1afd8 + 1b02a: f044 0404 orr.w r4, r4, #4 + 1b02e: e7c7 b.n 1afc0 (ext->align == LV_LABEL_ALIGN_CENTER || ext->align == LV_LABEL_ALIGN_RIGHT)) { - 1b048: f002 0230 and.w r2, r2, #48 ; 0x30 + 1b030: f002 0230 and.w r2, r2, #48 ; 0x30 if((ext->long_mode == LV_LABEL_LONG_SROLL || ext->long_mode == LV_LABEL_LONG_SROLL_CIRC) && - 1b04c: 2a10 cmp r2, #16 - 1b04e: d001 beq.n 1b054 + 1b034: 2a10 cmp r2, #16 + 1b036: d001 beq.n 1b03c (ext->align == LV_LABEL_ALIGN_CENTER || ext->align == LV_LABEL_ALIGN_RIGHT)) { - 1b050: 2a20 cmp r2, #32 - 1b052: d1e5 bne.n 1b020 + 1b038: 2a20 cmp r2, #32 + 1b03a: d1e5 bne.n 1b008 _lv_txt_get_size(&size, ext->text, label_draw_dsc.font, label_draw_dsc.letter_space, label_draw_dsc.line_space, - 1b054: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 1b058: f8d8 1000 ldr.w r1, [r8] - 1b05c: 9402 str r4, [sp, #8] - 1b05e: f647 4218 movw r2, #31768 ; 0x7c18 - 1b062: 9201 str r2, [sp, #4] - 1b064: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a - 1b068: 9200 str r2, [sp, #0] - 1b06a: 9a0d ldr r2, [sp, #52] ; 0x34 - 1b06c: a805 add r0, sp, #20 - 1b06e: 4d43 ldr r5, [pc, #268] ; (1b17c ) - 1b070: 47a8 blx r5 + 1b03c: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 1b040: f8d8 1000 ldr.w r1, [r8] + 1b044: 9402 str r4, [sp, #8] + 1b046: f647 4218 movw r2, #31768 ; 0x7c18 + 1b04a: 9201 str r2, [sp, #4] + 1b04c: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a + 1b050: 9200 str r2, [sp, #0] + 1b052: 9a0d ldr r2, [sp, #52] ; 0x34 + 1b054: a805 add r0, sp, #20 + 1b056: 4d43 ldr r5, [pc, #268] ; (1b164 ) + 1b058: 47a8 blx r5 return (lv_coord_t)(area_p->x2 - area_p->x1 + 1); - 1b072: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 1b076: 3301 adds r3, #1 - 1b078: f8bd 2020 ldrh.w r2, [sp, #32] - 1b07c: 1a9b subs r3, r3, r2 + 1b05a: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 1b05e: 3301 adds r3, #1 + 1b060: f8bd 2020 ldrh.w r2, [sp, #32] + 1b064: 1a9b subs r3, r3, r2 if(size.x > lv_area_get_width(&txt_coords)) { - 1b07e: f9bd 2014 ldrsh.w r2, [sp, #20] - 1b082: b21b sxth r3, r3 - 1b084: 429a cmp r2, r3 - 1b086: ddcb ble.n 1b020 + 1b066: f9bd 2014 ldrsh.w r2, [sp, #20] + 1b06a: b21b sxth r3, r3 + 1b06c: 429a cmp r2, r3 + 1b06e: ddcb ble.n 1b008 label_draw_dsc.flag &= ~LV_TXT_FLAG_CENTER; - 1b088: f89d 3047 ldrb.w r3, [sp, #71] ; 0x47 - 1b08c: f023 030c bic.w r3, r3, #12 - 1b090: f88d 3047 strb.w r3, [sp, #71] ; 0x47 - 1b094: e7c4 b.n 1b020 + 1b070: f89d 3047 ldrb.w r3, [sp, #71] ; 0x47 + 1b074: f023 030c bic.w r3, r3, #12 + 1b078: f88d 3047 strb.w r3, [sp, #71] ; 0x47 + 1b07c: e7c4 b.n 1b008 _lv_txt_get_size(&size, ext->text, label_draw_dsc.font, label_draw_dsc.letter_space, label_draw_dsc.line_space, - 1b096: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c - 1b09a: f8d8 1000 ldr.w r1, [r8] - 1b09e: 9402 str r4, [sp, #8] - 1b0a0: f647 4218 movw r2, #31768 ; 0x7c18 - 1b0a4: 9201 str r2, [sp, #4] - 1b0a6: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a - 1b0aa: 9200 str r2, [sp, #0] - 1b0ac: 9a0d ldr r2, [sp, #52] ; 0x34 - 1b0ae: a805 add r0, sp, #20 - 1b0b0: 4c32 ldr r4, [pc, #200] ; (1b17c ) - 1b0b2: 47a0 blx r4 + 1b07e: f9bd 303c ldrsh.w r3, [sp, #60] ; 0x3c + 1b082: f8d8 1000 ldr.w r1, [r8] + 1b086: 9402 str r4, [sp, #8] + 1b088: f647 4218 movw r2, #31768 ; 0x7c18 + 1b08c: 9201 str r2, [sp, #4] + 1b08e: f9bd 203a ldrsh.w r2, [sp, #58] ; 0x3a + 1b092: 9200 str r2, [sp, #0] + 1b094: 9a0d ldr r2, [sp, #52] ; 0x34 + 1b096: a805 add r0, sp, #20 + 1b098: 4c32 ldr r4, [pc, #200] ; (1b164 ) + 1b09a: 47a0 blx r4 if(size.x > lv_area_get_width(&txt_coords)) { - 1b0b4: f9bd 2014 ldrsh.w r2, [sp, #20] - 1b0b8: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 - 1b0bc: 3301 adds r3, #1 - 1b0be: f8bd 1020 ldrh.w r1, [sp, #32] - 1b0c2: 1a5b subs r3, r3, r1 - 1b0c4: b21b sxth r3, r3 - 1b0c6: 429a cmp r2, r3 - 1b0c8: dc20 bgt.n 1b10c + 1b09c: f9bd 2014 ldrsh.w r2, [sp, #20] + 1b0a0: f8bd 3024 ldrh.w r3, [sp, #36] ; 0x24 + 1b0a4: 3301 adds r3, #1 + 1b0a6: f8bd 1020 ldrh.w r1, [sp, #32] + 1b0aa: 1a5b subs r3, r3, r1 + 1b0ac: b21b sxth r3, r3 + 1b0ae: 429a cmp r2, r3 + 1b0b0: dc20 bgt.n 1b0f4 if(size.y > lv_area_get_height(&txt_coords)) { - 1b0ca: f9bd 2016 ldrsh.w r2, [sp, #22] + 1b0b2: f9bd 2016 ldrsh.w r2, [sp, #22] return (lv_coord_t)(area_p->y2 - area_p->y1 + 1); - 1b0ce: f8bd 3026 ldrh.w r3, [sp, #38] ; 0x26 - 1b0d2: 3301 adds r3, #1 - 1b0d4: f8bd 1022 ldrh.w r1, [sp, #34] ; 0x22 - 1b0d8: 1a5b subs r3, r3, r1 - 1b0da: b21b sxth r3, r3 - 1b0dc: 429a cmp r2, r3 - 1b0de: ddae ble.n 1b03e + 1b0b6: f8bd 3026 ldrh.w r3, [sp, #38] ; 0x26 + 1b0ba: 3301 adds r3, #1 + 1b0bc: f8bd 1022 ldrh.w r1, [sp, #34] ; 0x22 + 1b0c0: 1a5b subs r3, r3, r1 + 1b0c2: b21b sxth r3, r3 + 1b0c4: 429a cmp r2, r3 + 1b0c6: ddae ble.n 1b026 label_draw_dsc.ofs_x = ext->offset.x; - 1b0e0: f9b8 300c ldrsh.w r3, [r8, #12] - 1b0e4: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 - 1b0e8: 9b0d ldr r3, [sp, #52] ; 0x34 + 1b0c8: f9b8 300c ldrsh.w r3, [r8, #12] + 1b0cc: f8ad 3042 strh.w r3, [sp, #66] ; 0x42 + 1b0d0: 9b0d ldr r3, [sp, #52] ; 0x34 label_draw_dsc.ofs_y = ext->offset.y + size.y + lv_font_get_line_height(label_draw_dsc.font); - 1b0ea: 891b ldrh r3, [r3, #8] - 1b0ec: 4413 add r3, r2 - 1b0ee: f8b8 200e ldrh.w r2, [r8, #14] - 1b0f2: 4413 add r3, r2 - 1b0f4: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + 1b0d2: 891b ldrh r3, [r3, #8] + 1b0d4: 4413 add r3, r2 + 1b0d6: f8b8 200e ldrh.w r2, [r8, #14] + 1b0da: 4413 add r3, r2 + 1b0dc: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint); - 1b0f8: f8d8 3000 ldr.w r3, [r8] - 1b0fc: 2200 movs r2, #0 - 1b0fe: 9200 str r2, [sp, #0] - 1b100: aa0c add r2, sp, #48 ; 0x30 - 1b102: a90a add r1, sp, #40 ; 0x28 - 1b104: a808 add r0, sp, #32 - 1b106: 4c1c ldr r4, [pc, #112] ; (1b178 ) - 1b108: 47a0 blx r4 - 1b10a: e798 b.n 1b03e + 1b0e0: f8d8 3000 ldr.w r3, [r8] + 1b0e4: 2200 movs r2, #0 + 1b0e6: 9200 str r2, [sp, #0] + 1b0e8: aa0c add r2, sp, #48 ; 0x30 + 1b0ea: a90a add r1, sp, #40 ; 0x28 + 1b0ec: a808 add r0, sp, #32 + 1b0ee: 4c1c ldr r4, [pc, #112] ; (1b160 ) + 1b0f0: 47a0 blx r4 + 1b0f2: e798 b.n 1b026 label_draw_dsc.ofs_x = ext->offset.x + size.x + - 1b10c: f8b8 400c ldrh.w r4, [r8, #12] - 1b110: 4422 add r2, r4 - 1b112: b294 uxth r4, r2 + 1b0f4: f8b8 400c ldrh.w r4, [r8, #12] + 1b0f8: 4422 add r2, r4 + 1b0fa: b294 uxth r4, r2 lv_font_get_glyph_width(label_draw_dsc.font, ' ', ' ') * LV_LABEL_WAIT_CHAR_COUNT; - 1b114: 2220 movs r2, #32 - 1b116: 4611 mov r1, r2 - 1b118: 980d ldr r0, [sp, #52] ; 0x34 - 1b11a: 4b19 ldr r3, [pc, #100] ; (1b180 ) - 1b11c: 4798 blx r3 - 1b11e: eb00 0040 add.w r0, r0, r0, lsl #1 + 1b0fc: 2220 movs r2, #32 + 1b0fe: 4611 mov r1, r2 + 1b100: 980d ldr r0, [sp, #52] ; 0x34 + 1b102: 4b19 ldr r3, [pc, #100] ; (1b168 ) + 1b104: 4798 blx r3 + 1b106: eb00 0040 add.w r0, r0, r0, lsl #1 label_draw_dsc.ofs_x = ext->offset.x + size.x + - 1b122: 4404 add r4, r0 - 1b124: f8ad 4042 strh.w r4, [sp, #66] ; 0x42 + 1b10a: 4404 add r4, r0 + 1b10c: f8ad 4042 strh.w r4, [sp, #66] ; 0x42 label_draw_dsc.ofs_y = ext->offset.y; - 1b128: f9b8 300e ldrsh.w r3, [r8, #14] - 1b12c: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 + 1b110: f9b8 300e ldrsh.w r3, [r8, #14] + 1b114: f8ad 3044 strh.w r3, [sp, #68] ; 0x44 lv_draw_label(&txt_coords, &txt_clip, &label_draw_dsc, ext->text, hint); - 1b130: f8d8 3000 ldr.w r3, [r8] - 1b134: 2200 movs r2, #0 - 1b136: 9200 str r2, [sp, #0] - 1b138: aa0c add r2, sp, #48 ; 0x30 - 1b13a: a90a add r1, sp, #40 ; 0x28 - 1b13c: a808 add r0, sp, #32 - 1b13e: 47a8 blx r5 - 1b140: e7c3 b.n 1b0ca + 1b118: f8d8 3000 ldr.w r3, [r8] + 1b11c: 2200 movs r2, #0 + 1b11e: 9200 str r2, [sp, #0] + 1b120: aa0c add r2, sp, #48 ; 0x30 + 1b122: a90a add r1, sp, #40 ; 0x28 + 1b124: a808 add r0, sp, #32 + 1b126: 47a8 blx r5 + 1b128: e7c3 b.n 1b0b2 return LV_DESIGN_RES_NOT_COVER; - 1b142: 2002 movs r0, #2 - 1b144: 4770 bx lr - 1b146: bf00 nop - 1b148: 00004d9d .word 0x00004d9d - 1b14c: 000044d5 .word 0x000044d5 - 1b150: 0000c269 .word 0x0000c269 - 1b154: 000050c5 .word 0x000050c5 - 1b158: 0000c331 .word 0x0000c331 - 1b15c: 00019d89 .word 0x00019d89 - 1b160: 00011519 .word 0x00011519 - 1b164: 00019f81 .word 0x00019f81 - 1b168: 000099cd .word 0x000099cd - 1b16c: 0001ae71 .word 0x0001ae71 - 1b170: 0001aeb9 .word 0x0001aeb9 - 1b174: 000056b1 .word 0x000056b1 - 1b178: 00009a25 .word 0x00009a25 - 1b17c: 0001407d .word 0x0001407d - 1b180: 00010061 .word 0x00010061 - -0001b184 <__aeabi_uldivmod>: - 1b184: b953 cbnz r3, 1b19c <__aeabi_uldivmod+0x18> - 1b186: b94a cbnz r2, 1b19c <__aeabi_uldivmod+0x18> - 1b188: 2900 cmp r1, #0 - 1b18a: bf08 it eq - 1b18c: 2800 cmpeq r0, #0 - 1b18e: bf1c itt ne - 1b190: f04f 31ff movne.w r1, #4294967295 - 1b194: f04f 30ff movne.w r0, #4294967295 - 1b198: f000 b97a b.w 1b490 <__aeabi_idiv0> - 1b19c: f1ad 0c08 sub.w ip, sp, #8 - 1b1a0: e96d ce04 strd ip, lr, [sp, #-16]! - 1b1a4: f000 f806 bl 1b1b4 <__udivmoddi4> - 1b1a8: f8dd e004 ldr.w lr, [sp, #4] - 1b1ac: e9dd 2302 ldrd r2, r3, [sp, #8] - 1b1b0: b004 add sp, #16 - 1b1b2: 4770 bx lr - -0001b1b4 <__udivmoddi4>: - 1b1b4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} - 1b1b8: 468c mov ip, r1 - 1b1ba: 460d mov r5, r1 - 1b1bc: 4604 mov r4, r0 - 1b1be: 9e08 ldr r6, [sp, #32] - 1b1c0: 2b00 cmp r3, #0 - 1b1c2: d151 bne.n 1b268 <__udivmoddi4+0xb4> - 1b1c4: 428a cmp r2, r1 - 1b1c6: 4617 mov r7, r2 - 1b1c8: d96d bls.n 1b2a6 <__udivmoddi4+0xf2> - 1b1ca: fab2 fe82 clz lr, r2 - 1b1ce: f1be 0f00 cmp.w lr, #0 - 1b1d2: d00b beq.n 1b1ec <__udivmoddi4+0x38> - 1b1d4: f1ce 0c20 rsb ip, lr, #32 - 1b1d8: fa01 f50e lsl.w r5, r1, lr - 1b1dc: fa20 fc0c lsr.w ip, r0, ip - 1b1e0: fa02 f70e lsl.w r7, r2, lr - 1b1e4: ea4c 0c05 orr.w ip, ip, r5 - 1b1e8: fa00 f40e lsl.w r4, r0, lr - 1b1ec: ea4f 4a17 mov.w sl, r7, lsr #16 - 1b1f0: 0c25 lsrs r5, r4, #16 - 1b1f2: fbbc f8fa udiv r8, ip, sl - 1b1f6: fa1f f987 uxth.w r9, r7 - 1b1fa: fb0a cc18 mls ip, sl, r8, ip - 1b1fe: ea45 450c orr.w r5, r5, ip, lsl #16 - 1b202: fb08 f309 mul.w r3, r8, r9 - 1b206: 42ab cmp r3, r5 - 1b208: d90a bls.n 1b220 <__udivmoddi4+0x6c> - 1b20a: 19ed adds r5, r5, r7 - 1b20c: f108 32ff add.w r2, r8, #4294967295 - 1b210: f080 8123 bcs.w 1b45a <__udivmoddi4+0x2a6> - 1b214: 42ab cmp r3, r5 - 1b216: f240 8120 bls.w 1b45a <__udivmoddi4+0x2a6> - 1b21a: f1a8 0802 sub.w r8, r8, #2 - 1b21e: 443d add r5, r7 - 1b220: 1aed subs r5, r5, r3 - 1b222: b2a4 uxth r4, r4 - 1b224: fbb5 f0fa udiv r0, r5, sl - 1b228: fb0a 5510 mls r5, sl, r0, r5 - 1b22c: ea44 4405 orr.w r4, r4, r5, lsl #16 - 1b230: fb00 f909 mul.w r9, r0, r9 - 1b234: 45a1 cmp r9, r4 - 1b236: d909 bls.n 1b24c <__udivmoddi4+0x98> - 1b238: 19e4 adds r4, r4, r7 - 1b23a: f100 33ff add.w r3, r0, #4294967295 - 1b23e: f080 810a bcs.w 1b456 <__udivmoddi4+0x2a2> - 1b242: 45a1 cmp r9, r4 - 1b244: f240 8107 bls.w 1b456 <__udivmoddi4+0x2a2> - 1b248: 3802 subs r0, #2 - 1b24a: 443c add r4, r7 - 1b24c: eba4 0409 sub.w r4, r4, r9 - 1b250: ea40 4008 orr.w r0, r0, r8, lsl #16 - 1b254: 2100 movs r1, #0 - 1b256: 2e00 cmp r6, #0 - 1b258: d061 beq.n 1b31e <__udivmoddi4+0x16a> - 1b25a: fa24 f40e lsr.w r4, r4, lr - 1b25e: 2300 movs r3, #0 - 1b260: 6034 str r4, [r6, #0] - 1b262: 6073 str r3, [r6, #4] - 1b264: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1b268: 428b cmp r3, r1 - 1b26a: d907 bls.n 1b27c <__udivmoddi4+0xc8> - 1b26c: 2e00 cmp r6, #0 - 1b26e: d054 beq.n 1b31a <__udivmoddi4+0x166> - 1b270: 2100 movs r1, #0 - 1b272: e886 0021 stmia.w r6, {r0, r5} - 1b276: 4608 mov r0, r1 - 1b278: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1b27c: fab3 f183 clz r1, r3 - 1b280: 2900 cmp r1, #0 - 1b282: f040 808e bne.w 1b3a2 <__udivmoddi4+0x1ee> - 1b286: 42ab cmp r3, r5 - 1b288: d302 bcc.n 1b290 <__udivmoddi4+0xdc> - 1b28a: 4282 cmp r2, r0 - 1b28c: f200 80fa bhi.w 1b484 <__udivmoddi4+0x2d0> - 1b290: 1a84 subs r4, r0, r2 - 1b292: eb65 0503 sbc.w r5, r5, r3 - 1b296: 2001 movs r0, #1 - 1b298: 46ac mov ip, r5 - 1b29a: 2e00 cmp r6, #0 - 1b29c: d03f beq.n 1b31e <__udivmoddi4+0x16a> - 1b29e: e886 1010 stmia.w r6, {r4, ip} - 1b2a2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1b2a6: b912 cbnz r2, 1b2ae <__udivmoddi4+0xfa> - 1b2a8: 2701 movs r7, #1 - 1b2aa: fbb7 f7f2 udiv r7, r7, r2 - 1b2ae: fab7 fe87 clz lr, r7 - 1b2b2: f1be 0f00 cmp.w lr, #0 - 1b2b6: d134 bne.n 1b322 <__udivmoddi4+0x16e> - 1b2b8: 1beb subs r3, r5, r7 - 1b2ba: 0c3a lsrs r2, r7, #16 - 1b2bc: fa1f fc87 uxth.w ip, r7 - 1b2c0: 2101 movs r1, #1 - 1b2c2: fbb3 f8f2 udiv r8, r3, r2 - 1b2c6: 0c25 lsrs r5, r4, #16 - 1b2c8: fb02 3318 mls r3, r2, r8, r3 - 1b2cc: ea45 4503 orr.w r5, r5, r3, lsl #16 - 1b2d0: fb0c f308 mul.w r3, ip, r8 - 1b2d4: 42ab cmp r3, r5 - 1b2d6: d907 bls.n 1b2e8 <__udivmoddi4+0x134> - 1b2d8: 19ed adds r5, r5, r7 - 1b2da: f108 30ff add.w r0, r8, #4294967295 - 1b2de: d202 bcs.n 1b2e6 <__udivmoddi4+0x132> - 1b2e0: 42ab cmp r3, r5 - 1b2e2: f200 80d1 bhi.w 1b488 <__udivmoddi4+0x2d4> - 1b2e6: 4680 mov r8, r0 - 1b2e8: 1aed subs r5, r5, r3 - 1b2ea: b2a3 uxth r3, r4 - 1b2ec: fbb5 f0f2 udiv r0, r5, r2 - 1b2f0: fb02 5510 mls r5, r2, r0, r5 - 1b2f4: ea43 4405 orr.w r4, r3, r5, lsl #16 - 1b2f8: fb0c fc00 mul.w ip, ip, r0 - 1b2fc: 45a4 cmp ip, r4 - 1b2fe: d907 bls.n 1b310 <__udivmoddi4+0x15c> - 1b300: 19e4 adds r4, r4, r7 - 1b302: f100 33ff add.w r3, r0, #4294967295 - 1b306: d202 bcs.n 1b30e <__udivmoddi4+0x15a> - 1b308: 45a4 cmp ip, r4 - 1b30a: f200 80b8 bhi.w 1b47e <__udivmoddi4+0x2ca> - 1b30e: 4618 mov r0, r3 - 1b310: eba4 040c sub.w r4, r4, ip - 1b314: ea40 4008 orr.w r0, r0, r8, lsl #16 - 1b318: e79d b.n 1b256 <__udivmoddi4+0xa2> - 1b31a: 4631 mov r1, r6 - 1b31c: 4630 mov r0, r6 - 1b31e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1b322: f1ce 0420 rsb r4, lr, #32 - 1b326: fa05 f30e lsl.w r3, r5, lr - 1b32a: fa07 f70e lsl.w r7, r7, lr - 1b32e: fa20 f804 lsr.w r8, r0, r4 - 1b332: 0c3a lsrs r2, r7, #16 - 1b334: fa25 f404 lsr.w r4, r5, r4 - 1b338: ea48 0803 orr.w r8, r8, r3 - 1b33c: fbb4 f1f2 udiv r1, r4, r2 - 1b340: ea4f 4518 mov.w r5, r8, lsr #16 - 1b344: fb02 4411 mls r4, r2, r1, r4 - 1b348: fa1f fc87 uxth.w ip, r7 - 1b34c: ea45 4504 orr.w r5, r5, r4, lsl #16 - 1b350: fb01 f30c mul.w r3, r1, ip - 1b354: 42ab cmp r3, r5 - 1b356: fa00 f40e lsl.w r4, r0, lr - 1b35a: d909 bls.n 1b370 <__udivmoddi4+0x1bc> - 1b35c: 19ed adds r5, r5, r7 - 1b35e: f101 30ff add.w r0, r1, #4294967295 - 1b362: f080 808a bcs.w 1b47a <__udivmoddi4+0x2c6> - 1b366: 42ab cmp r3, r5 - 1b368: f240 8087 bls.w 1b47a <__udivmoddi4+0x2c6> - 1b36c: 3902 subs r1, #2 - 1b36e: 443d add r5, r7 - 1b370: 1aeb subs r3, r5, r3 - 1b372: fa1f f588 uxth.w r5, r8 - 1b376: fbb3 f0f2 udiv r0, r3, r2 - 1b37a: fb02 3310 mls r3, r2, r0, r3 - 1b37e: ea45 4503 orr.w r5, r5, r3, lsl #16 - 1b382: fb00 f30c mul.w r3, r0, ip - 1b386: 42ab cmp r3, r5 - 1b388: d907 bls.n 1b39a <__udivmoddi4+0x1e6> - 1b38a: 19ed adds r5, r5, r7 - 1b38c: f100 38ff add.w r8, r0, #4294967295 - 1b390: d26f bcs.n 1b472 <__udivmoddi4+0x2be> - 1b392: 42ab cmp r3, r5 - 1b394: d96d bls.n 1b472 <__udivmoddi4+0x2be> - 1b396: 3802 subs r0, #2 - 1b398: 443d add r5, r7 - 1b39a: 1aeb subs r3, r5, r3 - 1b39c: ea40 4101 orr.w r1, r0, r1, lsl #16 - 1b3a0: e78f b.n 1b2c2 <__udivmoddi4+0x10e> - 1b3a2: f1c1 0720 rsb r7, r1, #32 - 1b3a6: fa22 f807 lsr.w r8, r2, r7 - 1b3aa: 408b lsls r3, r1 - 1b3ac: fa05 f401 lsl.w r4, r5, r1 - 1b3b0: ea48 0303 orr.w r3, r8, r3 - 1b3b4: fa20 fe07 lsr.w lr, r0, r7 - 1b3b8: ea4f 4c13 mov.w ip, r3, lsr #16 - 1b3bc: 40fd lsrs r5, r7 - 1b3be: ea4e 0e04 orr.w lr, lr, r4 - 1b3c2: fbb5 f9fc udiv r9, r5, ip - 1b3c6: ea4f 441e mov.w r4, lr, lsr #16 - 1b3ca: fb0c 5519 mls r5, ip, r9, r5 - 1b3ce: fa1f f883 uxth.w r8, r3 - 1b3d2: ea44 4505 orr.w r5, r4, r5, lsl #16 - 1b3d6: fb09 f408 mul.w r4, r9, r8 - 1b3da: 42ac cmp r4, r5 - 1b3dc: fa02 f201 lsl.w r2, r2, r1 - 1b3e0: fa00 fa01 lsl.w sl, r0, r1 - 1b3e4: d908 bls.n 1b3f8 <__udivmoddi4+0x244> - 1b3e6: 18ed adds r5, r5, r3 - 1b3e8: f109 30ff add.w r0, r9, #4294967295 - 1b3ec: d243 bcs.n 1b476 <__udivmoddi4+0x2c2> - 1b3ee: 42ac cmp r4, r5 - 1b3f0: d941 bls.n 1b476 <__udivmoddi4+0x2c2> - 1b3f2: f1a9 0902 sub.w r9, r9, #2 - 1b3f6: 441d add r5, r3 - 1b3f8: 1b2d subs r5, r5, r4 - 1b3fa: fa1f fe8e uxth.w lr, lr - 1b3fe: fbb5 f0fc udiv r0, r5, ip - 1b402: fb0c 5510 mls r5, ip, r0, r5 - 1b406: ea4e 4405 orr.w r4, lr, r5, lsl #16 - 1b40a: fb00 f808 mul.w r8, r0, r8 - 1b40e: 45a0 cmp r8, r4 - 1b410: d907 bls.n 1b422 <__udivmoddi4+0x26e> - 1b412: 18e4 adds r4, r4, r3 - 1b414: f100 35ff add.w r5, r0, #4294967295 - 1b418: d229 bcs.n 1b46e <__udivmoddi4+0x2ba> - 1b41a: 45a0 cmp r8, r4 - 1b41c: d927 bls.n 1b46e <__udivmoddi4+0x2ba> - 1b41e: 3802 subs r0, #2 - 1b420: 441c add r4, r3 - 1b422: ea40 4009 orr.w r0, r0, r9, lsl #16 - 1b426: eba4 0408 sub.w r4, r4, r8 - 1b42a: fba0 8902 umull r8, r9, r0, r2 - 1b42e: 454c cmp r4, r9 - 1b430: 46c6 mov lr, r8 - 1b432: 464d mov r5, r9 - 1b434: d315 bcc.n 1b462 <__udivmoddi4+0x2ae> - 1b436: d012 beq.n 1b45e <__udivmoddi4+0x2aa> - 1b438: b156 cbz r6, 1b450 <__udivmoddi4+0x29c> - 1b43a: ebba 030e subs.w r3, sl, lr - 1b43e: eb64 0405 sbc.w r4, r4, r5 - 1b442: fa04 f707 lsl.w r7, r4, r7 - 1b446: 40cb lsrs r3, r1 - 1b448: 431f orrs r7, r3 - 1b44a: 40cc lsrs r4, r1 - 1b44c: 6037 str r7, [r6, #0] - 1b44e: 6074 str r4, [r6, #4] - 1b450: 2100 movs r1, #0 - 1b452: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} - 1b456: 4618 mov r0, r3 - 1b458: e6f8 b.n 1b24c <__udivmoddi4+0x98> - 1b45a: 4690 mov r8, r2 - 1b45c: e6e0 b.n 1b220 <__udivmoddi4+0x6c> - 1b45e: 45c2 cmp sl, r8 - 1b460: d2ea bcs.n 1b438 <__udivmoddi4+0x284> - 1b462: ebb8 0e02 subs.w lr, r8, r2 - 1b466: eb69 0503 sbc.w r5, r9, r3 - 1b46a: 3801 subs r0, #1 - 1b46c: e7e4 b.n 1b438 <__udivmoddi4+0x284> - 1b46e: 4628 mov r0, r5 - 1b470: e7d7 b.n 1b422 <__udivmoddi4+0x26e> - 1b472: 4640 mov r0, r8 - 1b474: e791 b.n 1b39a <__udivmoddi4+0x1e6> - 1b476: 4681 mov r9, r0 - 1b478: e7be b.n 1b3f8 <__udivmoddi4+0x244> - 1b47a: 4601 mov r1, r0 - 1b47c: e778 b.n 1b370 <__udivmoddi4+0x1bc> - 1b47e: 3802 subs r0, #2 - 1b480: 443c add r4, r7 - 1b482: e745 b.n 1b310 <__udivmoddi4+0x15c> - 1b484: 4608 mov r0, r1 - 1b486: e708 b.n 1b29a <__udivmoddi4+0xe6> - 1b488: f1a8 0802 sub.w r8, r8, #2 - 1b48c: 443d add r5, r7 - 1b48e: e72b b.n 1b2e8 <__udivmoddi4+0x134> - -0001b490 <__aeabi_idiv0>: - 1b490: 4770 bx lr - 1b492: bf00 nop - -0001b494 <__libc_init_array>: - 1b494: b570 push {r4, r5, r6, lr} - 1b496: 4e0d ldr r6, [pc, #52] ; (1b4cc <__libc_init_array+0x38>) - 1b498: 4c0d ldr r4, [pc, #52] ; (1b4d0 <__libc_init_array+0x3c>) - 1b49a: 1ba4 subs r4, r4, r6 - 1b49c: 10a4 asrs r4, r4, #2 - 1b49e: 2500 movs r5, #0 - 1b4a0: 42a5 cmp r5, r4 - 1b4a2: d109 bne.n 1b4b8 <__libc_init_array+0x24> - 1b4a4: 4e0b ldr r6, [pc, #44] ; (1b4d4 <__libc_init_array+0x40>) - 1b4a6: 4c0c ldr r4, [pc, #48] ; (1b4d8 <__libc_init_array+0x44>) - 1b4a8: f00e fab4 bl 29a14 <_init> - 1b4ac: 1ba4 subs r4, r4, r6 - 1b4ae: 10a4 asrs r4, r4, #2 - 1b4b0: 2500 movs r5, #0 - 1b4b2: 42a5 cmp r5, r4 - 1b4b4: d105 bne.n 1b4c2 <__libc_init_array+0x2e> - 1b4b6: bd70 pop {r4, r5, r6, pc} - 1b4b8: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 1b4bc: 4798 blx r3 - 1b4be: 3501 adds r5, #1 - 1b4c0: e7ee b.n 1b4a0 <__libc_init_array+0xc> - 1b4c2: f856 3025 ldr.w r3, [r6, r5, lsl #2] - 1b4c6: 4798 blx r3 - 1b4c8: 3501 adds r5, #1 - 1b4ca: e7f2 b.n 1b4b2 <__libc_init_array+0x1e> - 1b4cc: 00029a20 .word 0x00029a20 - 1b4d0: 00029a20 .word 0x00029a20 - 1b4d4: 00029a20 .word 0x00029a20 - 1b4d8: 00029a24 .word 0x00029a24 - -0001b4dc : - 1b4dc: b510 push {r4, lr} - 1b4de: 3901 subs r1, #1 - 1b4e0: 4402 add r2, r0 - 1b4e2: 4290 cmp r0, r2 - 1b4e4: d101 bne.n 1b4ea - 1b4e6: 2000 movs r0, #0 - 1b4e8: bd10 pop {r4, pc} - 1b4ea: f810 3b01 ldrb.w r3, [r0], #1 - 1b4ee: f811 4f01 ldrb.w r4, [r1, #1]! - 1b4f2: 42a3 cmp r3, r4 - 1b4f4: d0f5 beq.n 1b4e2 - 1b4f6: 1b18 subs r0, r3, r4 - 1b4f8: bd10 pop {r4, pc} - -0001b4fa : - 1b4fa: f810 2b01 ldrb.w r2, [r0], #1 - 1b4fe: f811 3b01 ldrb.w r3, [r1], #1 - 1b502: 2a01 cmp r2, #1 - 1b504: bf28 it cs - 1b506: 429a cmpcs r2, r3 - 1b508: d0f7 beq.n 1b4fa - 1b50a: 1ad0 subs r0, r2, r3 - 1b50c: 4770 bx lr - -0001b50e : - 1b50e: 4603 mov r3, r0 - 1b510: f811 2b01 ldrb.w r2, [r1], #1 - 1b514: f803 2b01 strb.w r2, [r3], #1 - 1b518: 2a00 cmp r2, #0 - 1b51a: d1f9 bne.n 1b510 - 1b51c: 4770 bx lr - -0001b51e : - 1b51e: 4603 mov r3, r0 - 1b520: f813 2b01 ldrb.w r2, [r3], #1 - 1b524: 2a00 cmp r2, #0 - 1b526: d1fb bne.n 1b520 - 1b528: 1a18 subs r0, r3, r0 - 1b52a: 3801 subs r0, #1 - 1b52c: 4770 bx lr - 1b52e: 0000 movs r0, r0 - 1b530: 682f2e2e .word 0x682f2e2e - 1b534: 702f6c70 .word 0x702f6c70 - 1b538: 2f74726f .word 0x2f74726f - 1b53c: 5f6c7068 .word 0x5f6c7068 - 1b540: 6f697067 .word 0x6f697067 - 1b544: 7361625f .word 0x7361625f - 1b548: 00682e65 .word 0x00682e65 - 1b54c: 682f2e2e .word 0x682f2e2e - 1b550: 732f6c61 .word 0x732f6c61 - 1b554: 682f6372 .word 0x682f6372 - 1b558: 695f6c61 .word 0x695f6c61 - 1b55c: 00632e6f .word 0x00632e6f + 1b12a: 2002 movs r0, #2 + 1b12c: 4770 bx lr + 1b12e: bf00 nop + 1b130: 00004d85 .word 0x00004d85 + 1b134: 000044bd .word 0x000044bd + 1b138: 0000c251 .word 0x0000c251 + 1b13c: 000050ad .word 0x000050ad + 1b140: 0000c319 .word 0x0000c319 + 1b144: 00019d71 .word 0x00019d71 + 1b148: 00011501 .word 0x00011501 + 1b14c: 00019f69 .word 0x00019f69 + 1b150: 000099b5 .word 0x000099b5 + 1b154: 0001ae59 .word 0x0001ae59 + 1b158: 0001aea1 .word 0x0001aea1 + 1b15c: 00005699 .word 0x00005699 + 1b160: 00009a0d .word 0x00009a0d + 1b164: 00014065 .word 0x00014065 + 1b168: 00010049 .word 0x00010049 + +0001b16c <__aeabi_uldivmod>: + 1b16c: b953 cbnz r3, 1b184 <__aeabi_uldivmod+0x18> + 1b16e: b94a cbnz r2, 1b184 <__aeabi_uldivmod+0x18> + 1b170: 2900 cmp r1, #0 + 1b172: bf08 it eq + 1b174: 2800 cmpeq r0, #0 + 1b176: bf1c itt ne + 1b178: f04f 31ff movne.w r1, #4294967295 + 1b17c: f04f 30ff movne.w r0, #4294967295 + 1b180: f000 b97a b.w 1b478 <__aeabi_idiv0> + 1b184: f1ad 0c08 sub.w ip, sp, #8 + 1b188: e96d ce04 strd ip, lr, [sp, #-16]! + 1b18c: f000 f806 bl 1b19c <__udivmoddi4> + 1b190: f8dd e004 ldr.w lr, [sp, #4] + 1b194: e9dd 2302 ldrd r2, r3, [sp, #8] + 1b198: b004 add sp, #16 + 1b19a: 4770 bx lr + +0001b19c <__udivmoddi4>: + 1b19c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} + 1b1a0: 468c mov ip, r1 + 1b1a2: 460d mov r5, r1 + 1b1a4: 4604 mov r4, r0 + 1b1a6: 9e08 ldr r6, [sp, #32] + 1b1a8: 2b00 cmp r3, #0 + 1b1aa: d151 bne.n 1b250 <__udivmoddi4+0xb4> + 1b1ac: 428a cmp r2, r1 + 1b1ae: 4617 mov r7, r2 + 1b1b0: d96d bls.n 1b28e <__udivmoddi4+0xf2> + 1b1b2: fab2 fe82 clz lr, r2 + 1b1b6: f1be 0f00 cmp.w lr, #0 + 1b1ba: d00b beq.n 1b1d4 <__udivmoddi4+0x38> + 1b1bc: f1ce 0c20 rsb ip, lr, #32 + 1b1c0: fa01 f50e lsl.w r5, r1, lr + 1b1c4: fa20 fc0c lsr.w ip, r0, ip + 1b1c8: fa02 f70e lsl.w r7, r2, lr + 1b1cc: ea4c 0c05 orr.w ip, ip, r5 + 1b1d0: fa00 f40e lsl.w r4, r0, lr + 1b1d4: ea4f 4a17 mov.w sl, r7, lsr #16 + 1b1d8: 0c25 lsrs r5, r4, #16 + 1b1da: fbbc f8fa udiv r8, ip, sl + 1b1de: fa1f f987 uxth.w r9, r7 + 1b1e2: fb0a cc18 mls ip, sl, r8, ip + 1b1e6: ea45 450c orr.w r5, r5, ip, lsl #16 + 1b1ea: fb08 f309 mul.w r3, r8, r9 + 1b1ee: 42ab cmp r3, r5 + 1b1f0: d90a bls.n 1b208 <__udivmoddi4+0x6c> + 1b1f2: 19ed adds r5, r5, r7 + 1b1f4: f108 32ff add.w r2, r8, #4294967295 + 1b1f8: f080 8123 bcs.w 1b442 <__udivmoddi4+0x2a6> + 1b1fc: 42ab cmp r3, r5 + 1b1fe: f240 8120 bls.w 1b442 <__udivmoddi4+0x2a6> + 1b202: f1a8 0802 sub.w r8, r8, #2 + 1b206: 443d add r5, r7 + 1b208: 1aed subs r5, r5, r3 + 1b20a: b2a4 uxth r4, r4 + 1b20c: fbb5 f0fa udiv r0, r5, sl + 1b210: fb0a 5510 mls r5, sl, r0, r5 + 1b214: ea44 4405 orr.w r4, r4, r5, lsl #16 + 1b218: fb00 f909 mul.w r9, r0, r9 + 1b21c: 45a1 cmp r9, r4 + 1b21e: d909 bls.n 1b234 <__udivmoddi4+0x98> + 1b220: 19e4 adds r4, r4, r7 + 1b222: f100 33ff add.w r3, r0, #4294967295 + 1b226: f080 810a bcs.w 1b43e <__udivmoddi4+0x2a2> + 1b22a: 45a1 cmp r9, r4 + 1b22c: f240 8107 bls.w 1b43e <__udivmoddi4+0x2a2> + 1b230: 3802 subs r0, #2 + 1b232: 443c add r4, r7 + 1b234: eba4 0409 sub.w r4, r4, r9 + 1b238: ea40 4008 orr.w r0, r0, r8, lsl #16 + 1b23c: 2100 movs r1, #0 + 1b23e: 2e00 cmp r6, #0 + 1b240: d061 beq.n 1b306 <__udivmoddi4+0x16a> + 1b242: fa24 f40e lsr.w r4, r4, lr + 1b246: 2300 movs r3, #0 + 1b248: 6034 str r4, [r6, #0] + 1b24a: 6073 str r3, [r6, #4] + 1b24c: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b250: 428b cmp r3, r1 + 1b252: d907 bls.n 1b264 <__udivmoddi4+0xc8> + 1b254: 2e00 cmp r6, #0 + 1b256: d054 beq.n 1b302 <__udivmoddi4+0x166> + 1b258: 2100 movs r1, #0 + 1b25a: e886 0021 stmia.w r6, {r0, r5} + 1b25e: 4608 mov r0, r1 + 1b260: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b264: fab3 f183 clz r1, r3 + 1b268: 2900 cmp r1, #0 + 1b26a: f040 808e bne.w 1b38a <__udivmoddi4+0x1ee> + 1b26e: 42ab cmp r3, r5 + 1b270: d302 bcc.n 1b278 <__udivmoddi4+0xdc> + 1b272: 4282 cmp r2, r0 + 1b274: f200 80fa bhi.w 1b46c <__udivmoddi4+0x2d0> + 1b278: 1a84 subs r4, r0, r2 + 1b27a: eb65 0503 sbc.w r5, r5, r3 + 1b27e: 2001 movs r0, #1 + 1b280: 46ac mov ip, r5 + 1b282: 2e00 cmp r6, #0 + 1b284: d03f beq.n 1b306 <__udivmoddi4+0x16a> + 1b286: e886 1010 stmia.w r6, {r4, ip} + 1b28a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b28e: b912 cbnz r2, 1b296 <__udivmoddi4+0xfa> + 1b290: 2701 movs r7, #1 + 1b292: fbb7 f7f2 udiv r7, r7, r2 + 1b296: fab7 fe87 clz lr, r7 + 1b29a: f1be 0f00 cmp.w lr, #0 + 1b29e: d134 bne.n 1b30a <__udivmoddi4+0x16e> + 1b2a0: 1beb subs r3, r5, r7 + 1b2a2: 0c3a lsrs r2, r7, #16 + 1b2a4: fa1f fc87 uxth.w ip, r7 + 1b2a8: 2101 movs r1, #1 + 1b2aa: fbb3 f8f2 udiv r8, r3, r2 + 1b2ae: 0c25 lsrs r5, r4, #16 + 1b2b0: fb02 3318 mls r3, r2, r8, r3 + 1b2b4: ea45 4503 orr.w r5, r5, r3, lsl #16 + 1b2b8: fb0c f308 mul.w r3, ip, r8 + 1b2bc: 42ab cmp r3, r5 + 1b2be: d907 bls.n 1b2d0 <__udivmoddi4+0x134> + 1b2c0: 19ed adds r5, r5, r7 + 1b2c2: f108 30ff add.w r0, r8, #4294967295 + 1b2c6: d202 bcs.n 1b2ce <__udivmoddi4+0x132> + 1b2c8: 42ab cmp r3, r5 + 1b2ca: f200 80d1 bhi.w 1b470 <__udivmoddi4+0x2d4> + 1b2ce: 4680 mov r8, r0 + 1b2d0: 1aed subs r5, r5, r3 + 1b2d2: b2a3 uxth r3, r4 + 1b2d4: fbb5 f0f2 udiv r0, r5, r2 + 1b2d8: fb02 5510 mls r5, r2, r0, r5 + 1b2dc: ea43 4405 orr.w r4, r3, r5, lsl #16 + 1b2e0: fb0c fc00 mul.w ip, ip, r0 + 1b2e4: 45a4 cmp ip, r4 + 1b2e6: d907 bls.n 1b2f8 <__udivmoddi4+0x15c> + 1b2e8: 19e4 adds r4, r4, r7 + 1b2ea: f100 33ff add.w r3, r0, #4294967295 + 1b2ee: d202 bcs.n 1b2f6 <__udivmoddi4+0x15a> + 1b2f0: 45a4 cmp ip, r4 + 1b2f2: f200 80b8 bhi.w 1b466 <__udivmoddi4+0x2ca> + 1b2f6: 4618 mov r0, r3 + 1b2f8: eba4 040c sub.w r4, r4, ip + 1b2fc: ea40 4008 orr.w r0, r0, r8, lsl #16 + 1b300: e79d b.n 1b23e <__udivmoddi4+0xa2> + 1b302: 4631 mov r1, r6 + 1b304: 4630 mov r0, r6 + 1b306: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b30a: f1ce 0420 rsb r4, lr, #32 + 1b30e: fa05 f30e lsl.w r3, r5, lr + 1b312: fa07 f70e lsl.w r7, r7, lr + 1b316: fa20 f804 lsr.w r8, r0, r4 + 1b31a: 0c3a lsrs r2, r7, #16 + 1b31c: fa25 f404 lsr.w r4, r5, r4 + 1b320: ea48 0803 orr.w r8, r8, r3 + 1b324: fbb4 f1f2 udiv r1, r4, r2 + 1b328: ea4f 4518 mov.w r5, r8, lsr #16 + 1b32c: fb02 4411 mls r4, r2, r1, r4 + 1b330: fa1f fc87 uxth.w ip, r7 + 1b334: ea45 4504 orr.w r5, r5, r4, lsl #16 + 1b338: fb01 f30c mul.w r3, r1, ip + 1b33c: 42ab cmp r3, r5 + 1b33e: fa00 f40e lsl.w r4, r0, lr + 1b342: d909 bls.n 1b358 <__udivmoddi4+0x1bc> + 1b344: 19ed adds r5, r5, r7 + 1b346: f101 30ff add.w r0, r1, #4294967295 + 1b34a: f080 808a bcs.w 1b462 <__udivmoddi4+0x2c6> + 1b34e: 42ab cmp r3, r5 + 1b350: f240 8087 bls.w 1b462 <__udivmoddi4+0x2c6> + 1b354: 3902 subs r1, #2 + 1b356: 443d add r5, r7 + 1b358: 1aeb subs r3, r5, r3 + 1b35a: fa1f f588 uxth.w r5, r8 + 1b35e: fbb3 f0f2 udiv r0, r3, r2 + 1b362: fb02 3310 mls r3, r2, r0, r3 + 1b366: ea45 4503 orr.w r5, r5, r3, lsl #16 + 1b36a: fb00 f30c mul.w r3, r0, ip + 1b36e: 42ab cmp r3, r5 + 1b370: d907 bls.n 1b382 <__udivmoddi4+0x1e6> + 1b372: 19ed adds r5, r5, r7 + 1b374: f100 38ff add.w r8, r0, #4294967295 + 1b378: d26f bcs.n 1b45a <__udivmoddi4+0x2be> + 1b37a: 42ab cmp r3, r5 + 1b37c: d96d bls.n 1b45a <__udivmoddi4+0x2be> + 1b37e: 3802 subs r0, #2 + 1b380: 443d add r5, r7 + 1b382: 1aeb subs r3, r5, r3 + 1b384: ea40 4101 orr.w r1, r0, r1, lsl #16 + 1b388: e78f b.n 1b2aa <__udivmoddi4+0x10e> + 1b38a: f1c1 0720 rsb r7, r1, #32 + 1b38e: fa22 f807 lsr.w r8, r2, r7 + 1b392: 408b lsls r3, r1 + 1b394: fa05 f401 lsl.w r4, r5, r1 + 1b398: ea48 0303 orr.w r3, r8, r3 + 1b39c: fa20 fe07 lsr.w lr, r0, r7 + 1b3a0: ea4f 4c13 mov.w ip, r3, lsr #16 + 1b3a4: 40fd lsrs r5, r7 + 1b3a6: ea4e 0e04 orr.w lr, lr, r4 + 1b3aa: fbb5 f9fc udiv r9, r5, ip + 1b3ae: ea4f 441e mov.w r4, lr, lsr #16 + 1b3b2: fb0c 5519 mls r5, ip, r9, r5 + 1b3b6: fa1f f883 uxth.w r8, r3 + 1b3ba: ea44 4505 orr.w r5, r4, r5, lsl #16 + 1b3be: fb09 f408 mul.w r4, r9, r8 + 1b3c2: 42ac cmp r4, r5 + 1b3c4: fa02 f201 lsl.w r2, r2, r1 + 1b3c8: fa00 fa01 lsl.w sl, r0, r1 + 1b3cc: d908 bls.n 1b3e0 <__udivmoddi4+0x244> + 1b3ce: 18ed adds r5, r5, r3 + 1b3d0: f109 30ff add.w r0, r9, #4294967295 + 1b3d4: d243 bcs.n 1b45e <__udivmoddi4+0x2c2> + 1b3d6: 42ac cmp r4, r5 + 1b3d8: d941 bls.n 1b45e <__udivmoddi4+0x2c2> + 1b3da: f1a9 0902 sub.w r9, r9, #2 + 1b3de: 441d add r5, r3 + 1b3e0: 1b2d subs r5, r5, r4 + 1b3e2: fa1f fe8e uxth.w lr, lr + 1b3e6: fbb5 f0fc udiv r0, r5, ip + 1b3ea: fb0c 5510 mls r5, ip, r0, r5 + 1b3ee: ea4e 4405 orr.w r4, lr, r5, lsl #16 + 1b3f2: fb00 f808 mul.w r8, r0, r8 + 1b3f6: 45a0 cmp r8, r4 + 1b3f8: d907 bls.n 1b40a <__udivmoddi4+0x26e> + 1b3fa: 18e4 adds r4, r4, r3 + 1b3fc: f100 35ff add.w r5, r0, #4294967295 + 1b400: d229 bcs.n 1b456 <__udivmoddi4+0x2ba> + 1b402: 45a0 cmp r8, r4 + 1b404: d927 bls.n 1b456 <__udivmoddi4+0x2ba> + 1b406: 3802 subs r0, #2 + 1b408: 441c add r4, r3 + 1b40a: ea40 4009 orr.w r0, r0, r9, lsl #16 + 1b40e: eba4 0408 sub.w r4, r4, r8 + 1b412: fba0 8902 umull r8, r9, r0, r2 + 1b416: 454c cmp r4, r9 + 1b418: 46c6 mov lr, r8 + 1b41a: 464d mov r5, r9 + 1b41c: d315 bcc.n 1b44a <__udivmoddi4+0x2ae> + 1b41e: d012 beq.n 1b446 <__udivmoddi4+0x2aa> + 1b420: b156 cbz r6, 1b438 <__udivmoddi4+0x29c> + 1b422: ebba 030e subs.w r3, sl, lr + 1b426: eb64 0405 sbc.w r4, r4, r5 + 1b42a: fa04 f707 lsl.w r7, r4, r7 + 1b42e: 40cb lsrs r3, r1 + 1b430: 431f orrs r7, r3 + 1b432: 40cc lsrs r4, r1 + 1b434: 6037 str r7, [r6, #0] + 1b436: 6074 str r4, [r6, #4] + 1b438: 2100 movs r1, #0 + 1b43a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} + 1b43e: 4618 mov r0, r3 + 1b440: e6f8 b.n 1b234 <__udivmoddi4+0x98> + 1b442: 4690 mov r8, r2 + 1b444: e6e0 b.n 1b208 <__udivmoddi4+0x6c> + 1b446: 45c2 cmp sl, r8 + 1b448: d2ea bcs.n 1b420 <__udivmoddi4+0x284> + 1b44a: ebb8 0e02 subs.w lr, r8, r2 + 1b44e: eb69 0503 sbc.w r5, r9, r3 + 1b452: 3801 subs r0, #1 + 1b454: e7e4 b.n 1b420 <__udivmoddi4+0x284> + 1b456: 4628 mov r0, r5 + 1b458: e7d7 b.n 1b40a <__udivmoddi4+0x26e> + 1b45a: 4640 mov r0, r8 + 1b45c: e791 b.n 1b382 <__udivmoddi4+0x1e6> + 1b45e: 4681 mov r9, r0 + 1b460: e7be b.n 1b3e0 <__udivmoddi4+0x244> + 1b462: 4601 mov r1, r0 + 1b464: e778 b.n 1b358 <__udivmoddi4+0x1bc> + 1b466: 3802 subs r0, #2 + 1b468: 443c add r4, r7 + 1b46a: e745 b.n 1b2f8 <__udivmoddi4+0x15c> + 1b46c: 4608 mov r0, r1 + 1b46e: e708 b.n 1b282 <__udivmoddi4+0xe6> + 1b470: f1a8 0802 sub.w r8, r8, #2 + 1b474: 443d add r5, r7 + 1b476: e72b b.n 1b2d0 <__udivmoddi4+0x134> + +0001b478 <__aeabi_idiv0>: + 1b478: 4770 bx lr + 1b47a: bf00 nop + +0001b47c <__libc_init_array>: + 1b47c: b570 push {r4, r5, r6, lr} + 1b47e: 4e0d ldr r6, [pc, #52] ; (1b4b4 <__libc_init_array+0x38>) + 1b480: 4c0d ldr r4, [pc, #52] ; (1b4b8 <__libc_init_array+0x3c>) + 1b482: 1ba4 subs r4, r4, r6 + 1b484: 10a4 asrs r4, r4, #2 + 1b486: 2500 movs r5, #0 + 1b488: 42a5 cmp r5, r4 + 1b48a: d109 bne.n 1b4a0 <__libc_init_array+0x24> + 1b48c: 4e0b ldr r6, [pc, #44] ; (1b4bc <__libc_init_array+0x40>) + 1b48e: 4c0c ldr r4, [pc, #48] ; (1b4c0 <__libc_init_array+0x44>) + 1b490: f00e fab4 bl 299fc <_init> + 1b494: 1ba4 subs r4, r4, r6 + 1b496: 10a4 asrs r4, r4, #2 + 1b498: 2500 movs r5, #0 + 1b49a: 42a5 cmp r5, r4 + 1b49c: d105 bne.n 1b4aa <__libc_init_array+0x2e> + 1b49e: bd70 pop {r4, r5, r6, pc} + 1b4a0: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 1b4a4: 4798 blx r3 + 1b4a6: 3501 adds r5, #1 + 1b4a8: e7ee b.n 1b488 <__libc_init_array+0xc> + 1b4aa: f856 3025 ldr.w r3, [r6, r5, lsl #2] + 1b4ae: 4798 blx r3 + 1b4b0: 3501 adds r5, #1 + 1b4b2: e7f2 b.n 1b49a <__libc_init_array+0x1e> + 1b4b4: 00029a08 .word 0x00029a08 + 1b4b8: 00029a08 .word 0x00029a08 + 1b4bc: 00029a08 .word 0x00029a08 + 1b4c0: 00029a0c .word 0x00029a0c + +0001b4c4 : + 1b4c4: b510 push {r4, lr} + 1b4c6: 3901 subs r1, #1 + 1b4c8: 4402 add r2, r0 + 1b4ca: 4290 cmp r0, r2 + 1b4cc: d101 bne.n 1b4d2 + 1b4ce: 2000 movs r0, #0 + 1b4d0: bd10 pop {r4, pc} + 1b4d2: f810 3b01 ldrb.w r3, [r0], #1 + 1b4d6: f811 4f01 ldrb.w r4, [r1, #1]! + 1b4da: 42a3 cmp r3, r4 + 1b4dc: d0f5 beq.n 1b4ca + 1b4de: 1b18 subs r0, r3, r4 + 1b4e0: bd10 pop {r4, pc} + +0001b4e2 : + 1b4e2: f810 2b01 ldrb.w r2, [r0], #1 + 1b4e6: f811 3b01 ldrb.w r3, [r1], #1 + 1b4ea: 2a01 cmp r2, #1 + 1b4ec: bf28 it cs + 1b4ee: 429a cmpcs r2, r3 + 1b4f0: d0f7 beq.n 1b4e2 + 1b4f2: 1ad0 subs r0, r2, r3 + 1b4f4: 4770 bx lr + +0001b4f6 : + 1b4f6: 4603 mov r3, r0 + 1b4f8: f811 2b01 ldrb.w r2, [r1], #1 + 1b4fc: f803 2b01 strb.w r2, [r3], #1 + 1b500: 2a00 cmp r2, #0 + 1b502: d1f9 bne.n 1b4f8 + 1b504: 4770 bx lr + +0001b506 : + 1b506: 4603 mov r3, r0 + 1b508: f813 2b01 ldrb.w r2, [r3], #1 + 1b50c: 2a00 cmp r2, #0 + 1b50e: d1fb bne.n 1b508 + 1b510: 1a18 subs r0, r3, r0 + 1b512: 3801 subs r0, #1 + 1b514: 4770 bx lr + 1b516: 0000 movs r0, r0 + 1b518: 682f2e2e .word 0x682f2e2e + 1b51c: 702f6c70 .word 0x702f6c70 + 1b520: 2f74726f .word 0x2f74726f + 1b524: 5f6c7068 .word 0x5f6c7068 + 1b528: 6f697067 .word 0x6f697067 + 1b52c: 7361625f .word 0x7361625f + 1b530: 00682e65 .word 0x00682e65 + 1b534: 682f2e2e .word 0x682f2e2e + 1b538: 732f6c61 .word 0x732f6c61 + 1b53c: 682f6372 .word 0x682f6372 + 1b540: 695f6c61 .word 0x695f6c61 + 1b544: 00632e6f .word 0x00632e6f + 1b548: 682f2e2e .word 0x682f2e2e + 1b54c: 732f6c61 .word 0x732f6c61 + 1b550: 682f6372 .word 0x682f6372 + 1b554: 745f6c61 .word 0x745f6c61 + 1b558: 72656d69 .word 0x72656d69 + 1b55c: 0000632e .word 0x0000632e 1b560: 682f2e2e .word 0x682f2e2e 1b564: 732f6c61 .word 0x732f6c61 1b568: 682f6372 .word 0x682f6372 - 1b56c: 745f6c61 .word 0x745f6c61 - 1b570: 72656d69 .word 0x72656d69 - 1b574: 0000632e .word 0x0000632e - 1b578: 682f2e2e .word 0x682f2e2e - 1b57c: 732f6c61 .word 0x732f6c61 - 1b580: 682f6372 .word 0x682f6372 - 1b584: 755f6c61 .word 0x755f6c61 - 1b588: 74726173 .word 0x74726173 - 1b58c: 7973615f .word 0x7973615f - 1b590: 632e636e .word 0x632e636e - 1b594: 00000000 .word 0x00000000 - 1b598: 682f2e2e .word 0x682f2e2e - 1b59c: 752f6c61 .word 0x752f6c61 - 1b5a0: 736c6974 .word 0x736c6974 - 1b5a4: 6372732f .word 0x6372732f - 1b5a8: 6974752f .word 0x6974752f - 1b5ac: 6c5f736c .word 0x6c5f736c - 1b5b0: 2e747369 .word 0x2e747369 - 1b5b4: 00000063 .word 0x00000063 - 1b5b8: 682f2e2e .word 0x682f2e2e - 1b5bc: 752f6c61 .word 0x752f6c61 - 1b5c0: 736c6974 .word 0x736c6974 - 1b5c4: 6372732f .word 0x6372732f - 1b5c8: 6974752f .word 0x6974752f - 1b5cc: 725f736c .word 0x725f736c - 1b5d0: 62676e69 .word 0x62676e69 - 1b5d4: 65666675 .word 0x65666675 - 1b5d8: 00632e72 .word 0x00632e72 - 1b5dc: 40003000 .word 0x40003000 - 1b5e0: 40003400 .word 0x40003400 - 1b5e4: 41012000 .word 0x41012000 - 1b5e8: 41014000 .word 0x41014000 - 1b5ec: 43000000 .word 0x43000000 - 1b5f0: 43000400 .word 0x43000400 - 1b5f4: 43000800 .word 0x43000800 - 1b5f8: 43000c00 .word 0x43000c00 - -0001b5fc <_i2cms>: - 1b5fc: 00000003 00200014 00000100 000000ff ...... ......... - 1b60c: 00d70000 07270400 682f2e2e 732f6c70 ......'.../hpl/s - 1b61c: 6f637265 70682f6d 65735f6c 6d6f6372 ercom/hpl_sercom - 1b62c: 0000632e 40003800 40003c00 4101a000 .c...8.@.<.@...A - 1b63c: 4101c000 42001400 42001800 43001400 ...A...B...B...C - 1b64c: 43001800 ...C - -0001b650 <_tcs>: - 1b650: 006b0000 00000308 00000000 00003a97 ..k..........:.. - 1b660: 00000000 682f2e2e 742f6c70 70682f63 ....../hpl/tc/hp - 1b670: 63745f6c 0000632e l_tc.c.. - -0001b678 : - 1b678: 1662e40a 0000855b 0001b684 ..b.[....... - -0001b684 : - 1b684: ff07060b ffac882c ff871f25 ff895139 ....,...%...9Q.. - 1b694: ffdcc46d ffc88348 ffc65632 ff46434d m...H...2V..MCF. - 1b6a4: ff480a16 ffbca25c ffc22d38 ff8b6c67 ..H.\...8-..gl.. - 1b6b4: ff48272d ff893622 ffc76d41 ffc38576 -'H."6..Am..v... - 1b6c4: ffc6a49a ffa53520 ff692621 ffa95139 .... 5..!&i.9Q.. - 1b6d4: ffe8e2a9 ff26242e ffe96e40 ffe98843 .....$&.@n..C... - 1b6e4: ffaea64b ff873848 ffc5c4c9 ffa86e33 K...H8......3n.. - 1b6f4: ff69646a ffe45640 ff69342e ff280917 jdi.@V...4i...(. - 1b704: ffa8554e ffe7a996 ff838383 ff67101b NU............g. - 1b714: ff9e8880 ffc76e60 ffe7a65f ffe99647 ....`n.._...G... - 1b724: ffe68779 ffa9202e ff694527 ff8a4335 y.... ..'Ei.5C.. - 1b734: ffa76f64 ff493329 ffc0b5af ff89575f do..)3I....._W.. - 1b744: ffc75543 ffa9462d ff9f9789 ffab603f CU..-F......?`.. - 1b754: ff882c1d ffc97948 ff27151b ffc69482 .,..Hy....'..... - 1b764: ff69282f ffe6b669 ffdfd484 ff48151b /(i.i.........H. - 1b774: ffc89364 ffe66e5b ffc14715 ffe4c4bc d...[n...G...... - 1b784: ff98371e ffc66343 ffe1e4e8 ff73542a .7..Cc......*Ts. - 1b794: ff673a3e ffb7532b ff872b32 ffe68a60 >:g.+S..2+..`... - 1b7a4: ff19141e ffd68448 ff38373f ffea9964 ....H...?78.d... - 1b7b4: ffd69881 ff875f47 ff592621 ff37161a ....G_..!&Y...7. - 1b7c4: ffe65550 ff886e77 ffd8a894 ffa97a73 PU..wn......sz.. - 1b7d4: ff571922 ffeba872 fff6f3de ffa3a59e ".W.r........... - 1b7e4: ffe03d49 ff671c24 ffa28c94 ffa86254 I=..$.g.....Tb.. - 1b7f4: ffecc483 ffd76e48 ffa9473f ffa93a38 ....Hn..?G..8:.. - 1b804: ffd5d4d6 ffa77937 ffe76254 ff595861 ....7y..Tb..aXY. - 1b814: ff884648 ffd6b4a7 ffb0999a ff9b5036 HF..........6P.. - 1b824: ff782620 ff392328 ffb3b5b4 ffe77a45 &x.(#9.....Ez.. - 1b834: ffe8b596 ff593331 ffd87a46 ffc19aa2 ....13Y.Fz...... - 1b844: ff160c16 ffb1887e ff886263 ff797679 ....~...cb..yvy. - 1b854: ff762930 ffc13d43 ff973c30 ff79362d 0)v.C=..0<..-6y. - 1b864: ff67474c ff994530 ffbfb560 fff7975f LGg.0E..`..._... - 1b874: ffd7624b ffc9875c ff952d18 ffe87959 Kb..\....-..Yy.. - 1b884: ffc04945 ff94968f ff9c9729 ffebddae EI......)....... - 1b894: ffc0aa64 ffe99a78 fff3ead1 ffc56232 d...x.......2b.. - 1b8a4: ffd8343e ff685a61 ffda9842 fff1643e >4..aZh.B...>d.. - 1b8b4: ff928678 ffd8b859 ffc67a62 ffe4dcdd x...Y...bz...... - 1b8c4: ff867c7c ff574a54 ffdaa94f ffd58a7b ||..TJW.O...{... - 1b8d4: ffafa9a4 ffd9a57b ffd6cdcd ff766b6f ....{.......okv. - 1b8e4: ffecd27c fff7b894 ffa99931 ff84766c |.......1...lv.. - 1b8f4: ffe1cb82 ffd85019 fff5b57b ffb96d49 .....P..{...Im.. - 1b904: ffbb7947 ffac2b34 ffd7895e ffa48654 Gy..4+..^...T... - 1b914: ff972129 ff570c18 ffc3aaaf ffede6bf )!....W......... - 1b924: ffacac64 ff370815 fff9a55c ff7b4432 d.....7.\...2D{. - 1b934: ffc1bcbf fff69b7e ff78575a ffb76e5f ....~...ZWx._n.. - 1b944: ff99614b ffb97a64 ff771a22 ff994747 Ka..dz..".w.GG.. - 1b954: ff986266 fff68745 fff6a996 ff77121c fb..E.........w. - 1b964: fff7964c ffd8544a fffbc7b6 ff783a40 L...JT......@:x. - 1b974: fffa875f fff5a67a ffae8b97 ff78484a _...z.......JHx. - 1b984: fff8d7bb fffbfaf8 fff2c89a ffeeebeb ................ - 1b994: fffb6e49 ffb7624f fffb6459 ffd97965 In..Ob..Yd..ey.. - 1b9a4: ff883930 ff973747 ff483942 ff291825 09..G7..B9H.%.). - 1b9b4: ffe4da9b ff481725 ffd79d99 ff381825 ....%.H.....%.8. - 1b9c4: fff75652 ff995249 ffe5bcb4 ff5a373e RV..IR......>7Z. - 1b9d4: ff98944c ffd99566 fffcd2d4 ffb7584e L...f.......NX.. - 1b9e4: ff97595d ffc3343f ffdc494b ff95786b ]Y..?4..KI..kx.. - 1b9f4: ffb9613b ff982931 fff97a43 ffd03c46 ;a..1)..Cz..F<.. - 1ba04: fffb785b ff997b7b ffa63c23 ffc79d8b [x..{{..#<...... - 1ba14: ffdadbdf ff885350 ff9f9b96 ffeab97a ....PS......z... - 1ba24: ffb7553a ff572a2f ffd7aba7 ffd9babb :U../*W......... - 1ba34: ff382938 ff8e8b89 ffdbbb69 ffecd7a1 8)8.....i....... - 1ba44: fff8b8ab ff966f68 ffab6c51 ffd86f5d ....ho..Ql..]o.. - 1ba54: fffb6e5b ff997077 ffd56331 ffd14848 [n..wp..1c..HH.. - 1ba64: fffc5a44 ffdccc73 ff4b4b54 ffc38c7a DZ..s...TKK.z... - 1ba74: ffc6ac9f ff2b2c37 ffcbcbcf ff6b6b6f ....7,+.....okk. - 1ba84: 70707070 70707070 70707070 70704870 pppppppppppppHpp - 1ba94: 48487070 36363648 e90c69cb 7744442d ppHHH666.i..-DDw - 1baa4: 771212e9 133179c8 c8763113 133179c8 ...w.y1..1v..y1. - 1bab4: e2e23131 407e40e2 40e2e2e2 25c531e2 11...@~@...@.1.% - 1bac4: 30c785a2 0d76b35e 46464646 404040dd ...0^.v.FFFF.@@@ - 1bad4: d1135e5f 5f762bb3 c876765f 9ca240c8 _^...+v__vv..@.. - 1bae4: e714c156 bd0439bd 9c263ae7 140404a7 V....9...:&..... - 1baf4: 7be0bce7 8047efef f3bc3d80 569c4733 ...{..G..=..3G.V - 1bb04: 5c56c1c1 9ce79cee 56ef39f9 9c86f93a ..V\.....9.V:... - 1bb14: 0e0ec785 9ccc55c7 c156e74b 9f35a2c2 .....U..K.V...5. - 1bb24: 9f9f9f9f 339f9f9f 67672033 20677979 .......33 ggyyg - 1bb34: dc132020 1e126717 7070704e 70707070 ...g..Nppppppp - 1bb44: 70707070 70487070 48487070 36364848 ppppppHpppHHHH66 - 1bb54: 694e0c36 2b2b2d69 744e1e2b 3179c877 6.Nii-+++.Ntw.y1 - 1bb64: 7631315e 3179c8c8 e2313113 3440e2e2 ^11v..y1.11...@4 - 1bb74: e2313140 9f9fd731 c72825c5 76b35e30 @11.1....%(.0^.v - 1bb84: 4634340d 40407e46 13b37640 2b2bb3d1 .44FF~@@@v....++ - 1bb94: 40765f5f 6e407676 86c1869c f9e73904 __v@vv@n.....9.. - 1bba4: 559c3955 ee9c869c f4bc5c14 4783ef7b U9.U.....\..{..G - 1bbb4: bc625e80 044720f3 c1c1c186 c28304f9 .^b.. G......... - 1bbc4: 9c39f9e7 a7f9ccc1 35354b9c a75cd535 ..9......K555.\. - 1bbd4: 565c55ef 3cd5efc1 7d7d7d7d 05050505 .U\V...<}}}}.... - 1bbe4: c59f9fa0 33333333 dc333333 77136e17 ....3333333..n.w - 1bbf4: 7070740d 70707070 70707070 36487070 .tppppppppppppH6 - 1bc04: 48707048 cb364848 4e4ecb36 bb1e1e0c HppHHH6.6.NN.... - 1bc14: 4ec82bb3 2bc87777 79797979 79c8c876 .+.Nww.+yyyyv..y - 1bc24: 31131331 40e2e231 1331e240 13c5af33 1..11..@@.1.3... - 1bc34: 28f3e831 b35ee8f3 34340d76 7e7e4646 1..(..^.v.44FF~~ - 1bc44: b3764040 2bb3d113 76315f2b 40767640 @@v....++_1v@vv@ - 1bc54: 86a79c6e e7393a56 f955553a 9c86e726 n...V:9.:UU.&... - 1bc64: b59c83ee 83efbce0 7cb35e4b 6e13f3e0 ........K^.|...n - 1bc74: c1c186e7 a73a3ac1 550455e7 0483c19c .....::..U.U.... - 1bc84: 67a2e73a 5c55a2a0 5c9e14a7 2683c156 :..g..U\...\V..& - 1bc94: 3c3c3cd5 7d7d3c3c 9f350505 9fdcdc9f .<<<<<}}..5..... - 1bca4: 3113c5c5 33336e0e 700d0d34 70707070 ...1.n334..ppppp - 1bcb4: 70707070 48707070 70704836 36484848 pppppppH6HppHHH6 - 1bcc4: 1e6936cb bb790c0c c82bbbbb c877744e .6i...y...+.Ntw. - 1bcd4: 2b2bc8c8 76c8c8c8 13133179 31313131 ..++...vy1..1111 - 1bce4: c53176e2 7613c5af 25e83176 b3e841f3 .v1....vv1.%.A.. - 1bcf4: 340d76b3 34343434 5f114040 b3d1d1b3 .v.44444@@._.... - 1bd04: 3131762b 76767676 c2e7f340 04a7c1c0 +v11vvvv@....... - 1bd14: 55553a04 86e72604 9ccc8d3a c2bce0b8 .:UU.&..:....... - 1bd24: b35e4bcc d13de07c c1a7396e 8383c1c1 .K^.|.=.n9...... - 1bd34: 042639a7 14c19c55 9f4b9ee7 99853564 .9&.U.....K.d5.. - 1bd44: 9e14a75c 83c186e7 7d3cd526 7d3c3c3c \.......&.<}<<<} - 1bd54: a005057d 33dc9f9f 13dcc5dc 0d794579 }......3....yEy. - 1bd64: 0d74680d 70707070 70707070 70707070 .ht.pppppppppppp - 1bd74: 70704836 36484870 cfcbcbcb 2b1e6912 6HpppHH6.....i.+ - 1bd84: 2b6dbbbb 7774122b 762b2bc8 c8c8c876 ..m++.tw.++vv... - 1bd94: 13317976 13313113 9f133131 407933af vy1..11.11...3y@ - 1bda4: 790d7676 5ee8e8e8 0d76b3b3 34343434 vv.y...^..v.4444 - 1bdb4: 11407e34 1313b35f 31767967 76767631 4~@._...gyv11vvv - 1bdc4: 390e7676 c1c156ef 39cc043a 39260426 vv.9.V..:..9&.&9 - 1bdd4: cc8def86 bce0b89c 5e4bcc5c 3dbc7c64 ........\.K^d|.= - 1bde4: a7550ed1 a7c1c1c1 26e7a7cc 569c55ee ..U........&.U.V - 1bdf4: 35475583 2149f1b0 14143a9c c186e79e .UG5..I!.:...... - 1be04: 3cd52683 7d7d7d7d 3505057d dc9fa035 .&.<}}}}}..55... - 1be14: 13133333 0d767979 12743379 70707068 33..yyv.y3t.hppp - 1be24: 70707070 70707070 70704848 36484870 ppppppppHHpppHH6 - 1be34: cbcbcb36 c80c3636 d344bb2b 7412bb79 6...66..+.D.y..t - 1be44: 792bc877 76797979 3179c8c8 13131313 w.+yyyyv..y1.... - 1be54: af9f1331 763113dc e6344040 3131e22c 1.....1v@@4.,.11 - 1be64: 7679b35e 34340d0d 40403434 13b35f11 ^.yv..4444@@._.. - 1be74: 76b31313 7679315f 417676c8 c1c11439 ...v_1yv.vvA9... - 1be84: 1404ccc1 26ee4be7 8d83a755 f4b89c3a .....K.&U...:... - 1be94: 4bcce7bc bc7cb35e 260e133d c1c1c183 ...K^.|.=..&.... - 1bea4: e7a79c83 e755e726 0e4befa7 a2f2f5dc ....&.U...K..... - 1beb4: 143acc5c ef55e714 d52683c1 a27d7d3c \.:...U...&.<}}. - 1bec4: 05057d7d 9f356e35 311333dc 40767979 }}..5n5..3.1yyv@ - 1bed4: c87d3334 70701268 70707070 70704870 43}.h.pppppppHpp - 1bee4: 70707070 48487070 cbcbcb36 773636cb ppppppHH6....66w - 1bef4: 44bb2b76 1ee91ebb 2bc87774 31317979 v+.D....tw.+yy11 - 1bf04: 79c8c879 e8e81331 c5b19fe8 31313131 y..y1.......1111 - 1bf14: 647e0d40 5e406fc1 b35e5e5e 34340d76 @.~d.o@^^^^.v.44 - 1bf24: 40343434 b35f4040 5e131313 31313176 444@@@_....^v111 - 1bf34: 76767631 56ef3941 f914c1c1 397b5ca7 1vvvA9.V.....\{9 - 1bf44: 83a72626 273a9c8d 3a39e0f4 b9b3804b &&....:'..9:K... - 1bf54: c5133dbc c1c18355 869c83c1 55e7269c .=..U........&.U - 1bf64: c75c3ae7 33e633dc 3a145cd5 bde714cc .:\..3.3.\.:.... - 1bf74: 26ef865c 7d7d3c3c 05057d7d 35491735 \..&<<}}}}..5.I5 - 1bf84: 1333dc9f 0d0d7979 c513680d 7074680d ..3.yy...h...htp - 1bf94: 48487070 70364870 70483670 48707070 ppHHpH6pp6HppppH - 1bfa4: cbcbcb48 cbcbcbcb bb2b7677 771e6d44 H.......wv+.Dm.w - 1bfb4: 77771277 3179792b c8c87931 e8131379 w.ww+yy11y..y... - 1bfc4: d78e8ec5 31e2e231 024040e2 40a6c1be ....1..1.@@....@ - 1bfd4: 5e5e5e5e 340d76b3 0d346834 5f404040 ^^^^.v.44h4.@@@_ - 1bfe4: 1313135e 31315e5e 795e3131 5c264176 ^...^^1111^yvA&\ - 1bff4: a7c1c186 7b9ca7f9 83264b55 3a048da7 .......{UK&....: - 1c004: bdf4f44b 5e807b3a 5b3de030 c18699af K...:{.^0.=[.... - 1c014: 9c14c1c1 554b9c86 4be75555 662ce89f ......KUUU.K..,f - 1c024: 145c4b33 e714cc3a efcc9ebd 7d3c7d85 3K\.:........}<} - 1c034: 057d7d7d 6e176e05 33dc9f35 0d767913 }}}..n.n5..3.yv. - 1c044: 79680d0d 74687413 70707070 48367070 ..hy.thtpppppp6H - 1c054: 36367070 48707048 cbcb3648 69cbcbcb pp66HppHH6.....i - 1c064: bb1e6936 bb44d344 777777c8 792b2b77 6i..D.D..wwww++y - 1c074: c8c87979 e8137979 e8257d8e 40403113 yy..yy...}%..1@@ - 1c084: 4040e2e2 60c1fe68 5e5e3176 0d76b35e ..@@h..`v1^^^.v. - 1c094: bb72680d 11e27eb2 13135e5f 315ee813 .hr..~.._^....^1 - 1c0a4: 5ee85e31 aa877931 c1c1869e 3aa7f9a7 1^.^1y.........: - 1c0b4: 4b4b267b ee26a783 f4f44b3a 307b9cad {&KK..&.:K....{0 - 1c0c4: 17e0e85e 83c210b1 a7c1c156 4b9c869c ^.......V......K - 1c0d4: 477b5555 6613dc0e 5c4bdc24 cc3a9ccc UU{G...f$.K\..:. - 1c0e4: 5cbdade7 7d7dd55c 7d7d7d7d 49173505 ...\\.}}}}}}.5.I - 1c0f4: dc9f9f35 76797913 340d0d0d 68687468 5....yyv...4hthh - 1c104: 70707068 70707070 48703670 70484836 hpppppppp6pH6HHp - 1c114: cbcb4848 cbcbcbcb 69cbcbcb 2b44d32d HH.........i-.D+ - 1c124: 770dc8ab 2b2b7777 c8c8792b 9f137979 ...www+++y..yy.. - 1c134: d7418e8e 344031e8 40e2e27e 5642e534 ..A..1@4~..@4.BV - 1c144: 5e5fd156 76b35e5e 2eb20d0d 7e7766c1 V._^^^.v.....fw~ - 1c154: 135e31e2 5ee81313 13133131 6e311313 .1^....^11....1n - 1c164: c156e7aa 863a86c1 4b4b7bcc 39a7cc4b ..V...:..{KKK..9 - 1c174: e04bf939 7be77bc6 27dc5e30 5510fc85 9.K..{.{0^.'...U - 1c184: c1c1569c 9c86f9a7 bcad4b4b 67dce80e .V......KK.....g - 1c194: d50eb4ac 9c9c3a5c 85ade7cc 7dd59e9e ....\:.........} - 1c1a4: 7d7d7d7d 4935057d dc9f3535 79791333 }}}}}.5I55..3.yy - 1c1b4: 0d0d4076 6868340d 70707474 70707070 v@...4hhttpppppp - 1c1c4: 70487070 4836cf48 cb484870 cb15cbcb ppHpH.6HpHH..... - 1c1d4: 0ccbcbcb 44d32d0c 7979ab2b 2b77c840 .....-.D+.yy@.w+ - 1c1e4: 7931792b 8edc7979 4141258e 7e1131d7 +y1yyy...%AA.1.~ - 1c1f4: 11117e34 c3e10240 4053c1c3 b35e5e5e 4~..@.....S@^^^. - 1c204: 340d0d76 42c142bb 5e3134f1 13131313 v..4.B.B.41^.... - 1c214: 13135e5e dcc535e8 569c4b27 3a86c1c1 ^^...5..'K.V...: - 1c224: 7b7bcca7 a73a4b4b 4bee2639 e7bcc6e0 ..{{KK:.9&.K.... - 1c234: 8ac5b97b 5b715255 c156ee47 86f9a7c1 {...URq[G.V..... - 1c244: bc7b4b3a 1313e85d 0ed11ab4 9c3ae7d5 :K{.].........:. - 1c254: ad5ccc9c a2555585 7d7d7d7d 05057d7d ..\..UU.}}}}}}.. - 1c264: 9f9f3505 793113dc 76767979 76767676 .5....1yyyvvvvvv - 1c274: 70120d0d 48707070 70707070 36cfcf70 ...ppppHppppp..6 - 1c284: 36487036 69cbcbcb e9cb6969 6d4477c8 6pH6...iii...wDm - 1c294: 132bd344 c80d795e dc13792b 8eaf1313 D.+.^y..+y...... - 1c2a4: 2541c525 11e2e841 117e347e 94684011 %.A%A...~4~..@h. - 1c2b4: 10c1c3c3 5e5e5e40 460d76b3 c172b240 ....@^^^.v.F@.r. - 1c2c4: c894c1c1 131313e2 135e5e5e dc3939e8 ........^^^..99. - 1c2d4: 9c47dcdc 56c1c156 27cca7f9 9c277bb8 ..G.V..V...'.{'. - 1c2e4: 394b39a7 bcc6e07b d5f37b55 20b13755 .9K9{...U{..U7. - 1c2f4: 86396ed1 f9a7c1c1 bc27efa7 e813e87f .n9.......'..... - 1c304: 13ac6679 f9e7856e 5c3a5c5c d5d585bd yf..n...\\:\.... - 1c314: 7d7d7dd5 05050505 35350505 1313dc35 .}}}......555... - 1c324: 79797979 79797979 c8797979 70707070 yyyyyyyyyyy.pppp - 1c334: 70707048 cbcf3600 48483636 cbcbcb36 Hppp.6..66HH6... - 1c344: cb696969 bb77c877 ababb3bb 0d763113 iii.w.w......1v. - 1c354: 13792bc8 9fb19fc5 41d7e813 e245e841 .+y........AA.E. - 1c364: 7e347e11 68401111 c1c3c32e 5e31c896 .~4~..@h......1^ - 1c374: 0d76b35e 5940460d c1c1c194 2079d160 ^.v..F@Y....`.y - 1c384: 5eb3b3d1 9f9895e8 47313113 c1c1869c ...^.....11G.... - 1c394: cca73a56 17b8bc27 b839a79c d0f4b8aa V:..'.....9..... - 1c3a4: 21b69ebc 205bb195 395dd1d1 a7c1c1a7 ...!..[ ..]9.... - 1c3b4: 273aa7f9 1313dc3d be1a79e8 e7ad47e8 ..:'=....y...G.. - 1c3c4: 3a5ce79c a285bd5c 7da24bd5 a005057d ..\:\....K.}}... - 1c3d4: 350505a0 13130e6e 79767979 31797979 ...5n...yyvyyyy1 - 1c3e4: 5e5e315e 70707079 70704848 36004870 ^1^^ypppHHpppH.6 - 1c3f4: 48cb36cf cbcbcb48 69696915 c8c869cb .6.HH....iii.i.. - 1c404: b3b32b1e 4076b32b 79797940 138e8e13 .+..+.v@@yyy.... - 1c414: 31317979 31314531 3440e2e2 40e2117e yy111E11..@4~..@ - 1c424: c3c360c8 31d1c3c1 7679b313 46460d0d .`.....1..yv..FF - 1c434: c1e47734 53c3c1c1 b3b31379 9fd59f5e 4w.....Sy...^... - 1c444: 31311313 c1a70447 a73a56c1 b8e04bcc ..11G....V:..K.. - 1c454: 55a7e7b5 e0b5bce0 babaadf4 b320c54c ...U........L. . - 1c464: 5db3d1b3 c1c18326 cc830486 13134127 ...]&.......'A.. - 1c474: e4d81313 adad5db4 e7e79c9e 85bd5c3a .....]......:\.. - 1c484: a285d5a2 a0057d7d a0a0a0a0 13339f9f ....}}........3. - 1c494: 0d2b7913 31797976 795e3131 70707979 .y+.vyy111^yyypp - 1c4a4: 70483648 480ce969 cb363670 cbcb4836 H6Hpi..Hp66.6H.. - 1c4b4: 696915cb 794ecb69 abab6d77 40312b67 ..iii.Nywm..g+1@ - 1c4c4: 13131376 13af8e33 79797979 e2317979 v...3...yyyyyy1. - 1c4d4: 4011e2e2 e2117e34 8f42e57e 53c1c342 ...@4~..~.B.B..S - 1c4e4: b37913e2 460d0d76 72a44034 c1c156c1 ..y.v..F4@.r.V.. - 1c4f4: b37971c1 13d75eb3 795e135e a7046e76 .qy..^..^.^yvn.. - 1c504: f956c1c1 e04b1414 14e7b8b5 bce06226 ..V...K.....&b.. - 1c514: babaadbc 5e807cad b3d1b364 c1cc265d .....|.^d...]&.. - 1c524: cc0486c1 31e8273a 24791331 ad47d860 ....:'.11.y$`.G. - 1c534: e79c9e85 bd5c9ce7 85d5a285 7d7d7da2 ......\......}}} - 1c544: a0a0057d 9f9fa0a0 79133333 760d0d0d }.......33.y...v - 1c554: 5e793179 7079795e 36364870 0c0c7000 y1y^^yyppH66.p.. - 1c564: 367070cb cb484836 6969cbcb 4ecb6969 .pp66HH...iiii.N - 1c574: bb1ee9c8 79b32b64 c5d71376 13c57d8e ....d+.yv....}.. - 1c584: 76767679 76797979 11e2e240 117e347e yvvvyyyv@...~4~. - 1c594: c3e57ee2 c1c3e4e4 79137610 0d0d7679 .~.......v.yyv.. - 1c5a4: 5f403434 c3c16602 37c1c1c1 5e5eb3c8 44@_.f.....7..^^ - 1c5b4: 315e5e5e ee6e7676 56c1c114 4b14ccf9 ^^^1vvn....V...K - 1c5c4: 39b5b5e0 bc414b3a adf0babd 80dabcbd ...9:KA......... - 1c5d4: 20b3645e 3a2641b3 0486c156 13179c9c ^d. .A&:V....... - 1c5e4: c8135e79 adc56aac 9c398585 5c9ce7e7 y^...j....9....\ - 1c5f4: 4bd585bd 3c7dd5ad 7d7d3c3c a0a07d7d ...K..}<<<}}}}.. - 1c604: 3333339f 0d2b6733 79790d0d b3b35e79 .3333g+...yyy^.. - 1c614: 36367070 36000070 7048360c 48487070 pp66p..6.6HpppHH - 1c624: 69cbcbcb cb696969 abe9cbcb 1364642b ...iiii.....+dd. - 1c634: c5133179 13c57d0f 76767913 79797976 y1...}...yvvvyyy - 1c644: 11404076 7e347e40 f17ee211 c36060c1 v@@.@~4~..~..``. - 1c654: 137696c1 0d767979 11403446 6077e211 ..v.yyv.F4@...w` - 1c664: 565642c3 5e0d6fc1 5e795e5e 5d40765e .BVV.o.^^^y^^v@] - 1c674: c1c1cc39 14ccf956 b5bce026 8ed59c26 9...V...&...&... - 1c684: e0f0d699 dae07be0 b3645e80 2741b320 .....{...^d. .A' - 1c694: 86c186f9 49040404 31137913 f35ae4e5 .......I.y.1..Z. - 1c6a4: 558555bd 9c9ee75c d5bdbd9c 9595b685 .U.U\........... - 1c6b4: 216c2121 52525252 b13ce395 13339fa0 !!l!RRRR..<...3. - 1c6c4: 0d34c879 b3797676 700036b3 70487048 y.4.vvy..6.pHpHp - 1c6d4: 36363670 48707070 15cbcb48 69696969 p666pppHH...iiii - 1c6e4: e90c69cb 206413bb c5137920 d7c58e0f .i....d y...... - 1c6f4: 76311313 79797676 11404079 347e4011 ..1vvvyyy@@..@~4 - 1c704: 02e21134 fe60c15a d856c1c3 76797931 4...Z.`...V.1yyv - 1c714: 40340d0d 11315f11 8fe4c12f 66c156c3 ..4@._1./....V.f - 1c724: 765e5e0d 0d765e5e 56cc3941 3af956c1 .^^v^^v.A9.V.V.: - 1c734: e0f426cc 219ebdb5 bc9eba65 e0bcc6c6 .&.....!e....... - 1c744: 195e75da d7b32064 c1860427 ee048d86 .u^.d ..'....... - 1c754: 1379136e f542e179 85555547 9e9ee755 n.y.y.B.GUU.U... - 1c764: 99993a3a d2baf06c 3c4c9521 7d7d3c3c ::..l...!.L<<<}} - 1c774: 4c3c7d7d fbce5252 c879139f 0d34340d }}: + 1b5e4: 00000003 00200014 00000100 000000ff ...... ......... + 1b5f4: 00d70000 07270400 682f2e2e 732f6c70 ......'.../hpl/s + 1b604: 6f637265 70682f6d 65735f6c 6d6f6372 ercom/hpl_sercom + 1b614: 0000632e 40003800 40003c00 4101a000 .c...8.@.<.@...A + 1b624: 4101c000 42001400 42001800 43001400 ...A...B...B...C + 1b634: 43001800 ...C + +0001b638 <_tcs>: + 1b638: 006b0000 00000308 00000000 00003a97 ..k..........:.. + 1b648: 00000000 682f2e2e 742f6c70 70682f63 ....../hpl/tc/hp + 1b658: 63745f6c 0000632e l_tc.c.. + +0001b660 : + 1b660: 1662e40a 0000855b 0001b66c ..b.[...l... + +0001b66c : + 1b66c: ff07060b ffac882c ff871f25 ff895139 ....,...%...9Q.. + 1b67c: ffdcc46d ffc88348 ffc65632 ff46434d m...H...2V..MCF. + 1b68c: ff480a16 ffbca25c ffc22d38 ff8b6c67 ..H.\...8-..gl.. + 1b69c: ff48272d ff893622 ffc76d41 ffc38576 -'H."6..Am..v... + 1b6ac: ffc6a49a ffa53520 ff692621 ffa95139 .... 5..!&i.9Q.. + 1b6bc: ffe8e2a9 ff26242e ffe96e40 ffe98843 .....$&.@n..C... + 1b6cc: ffaea64b ff873848 ffc5c4c9 ffa86e33 K...H8......3n.. + 1b6dc: ff69646a ffe45640 ff69342e ff280917 jdi.@V...4i...(. + 1b6ec: ffa8554e ffe7a996 ff838383 ff67101b NU............g. + 1b6fc: ff9e8880 ffc76e60 ffe7a65f ffe99647 ....`n.._...G... + 1b70c: ffe68779 ffa9202e ff694527 ff8a4335 y.... ..'Ei.5C.. + 1b71c: ffa76f64 ff493329 ffc0b5af ff89575f do..)3I....._W.. + 1b72c: ffc75543 ffa9462d ff9f9789 ffab603f CU..-F......?`.. + 1b73c: ff882c1d ffc97948 ff27151b ffc69482 .,..Hy....'..... + 1b74c: ff69282f ffe6b669 ffdfd484 ff48151b /(i.i.........H. + 1b75c: ffc89364 ffe66e5b ffc14715 ffe4c4bc d...[n...G...... + 1b76c: ff98371e ffc66343 ffe1e4e8 ff73542a .7..Cc......*Ts. + 1b77c: ff673a3e ffb7532b ff872b32 ffe68a60 >:g.+S..2+..`... + 1b78c: ff19141e ffd68448 ff38373f ffea9964 ....H...?78.d... + 1b79c: ffd69881 ff875f47 ff592621 ff37161a ....G_..!&Y...7. + 1b7ac: ffe65550 ff886e77 ffd8a894 ffa97a73 PU..wn......sz.. + 1b7bc: ff571922 ffeba872 fff6f3de ffa3a59e ".W.r........... + 1b7cc: ffe03d49 ff671c24 ffa28c94 ffa86254 I=..$.g.....Tb.. + 1b7dc: ffecc483 ffd76e48 ffa9473f ffa93a38 ....Hn..?G..8:.. + 1b7ec: ffd5d4d6 ffa77937 ffe76254 ff595861 ....7y..Tb..aXY. + 1b7fc: ff884648 ffd6b4a7 ffb0999a ff9b5036 HF..........6P.. + 1b80c: ff782620 ff392328 ffb3b5b4 ffe77a45 &x.(#9.....Ez.. + 1b81c: ffe8b596 ff593331 ffd87a46 ffc19aa2 ....13Y.Fz...... + 1b82c: ff160c16 ffb1887e ff886263 ff797679 ....~...cb..yvy. + 1b83c: ff762930 ffc13d43 ff973c30 ff79362d 0)v.C=..0<..-6y. + 1b84c: ff67474c ff994530 ffbfb560 fff7975f LGg.0E..`..._... + 1b85c: ffd7624b ffc9875c ff952d18 ffe87959 Kb..\....-..Yy.. + 1b86c: ffc04945 ff94968f ff9c9729 ffebddae EI......)....... + 1b87c: ffc0aa64 ffe99a78 fff3ead1 ffc56232 d...x.......2b.. + 1b88c: ffd8343e ff685a61 ffda9842 fff1643e >4..aZh.B...>d.. + 1b89c: ff928678 ffd8b859 ffc67a62 ffe4dcdd x...Y...bz...... + 1b8ac: ff867c7c ff574a54 ffdaa94f ffd58a7b ||..TJW.O...{... + 1b8bc: ffafa9a4 ffd9a57b ffd6cdcd ff766b6f ....{.......okv. + 1b8cc: ffecd27c fff7b894 ffa99931 ff84766c |.......1...lv.. + 1b8dc: ffe1cb82 ffd85019 fff5b57b ffb96d49 .....P..{...Im.. + 1b8ec: ffbb7947 ffac2b34 ffd7895e ffa48654 Gy..4+..^...T... + 1b8fc: ff972129 ff570c18 ffc3aaaf ffede6bf )!....W......... + 1b90c: ffacac64 ff370815 fff9a55c ff7b4432 d.....7.\...2D{. + 1b91c: ffc1bcbf fff69b7e ff78575a ffb76e5f ....~...ZWx._n.. + 1b92c: ff99614b ffb97a64 ff771a22 ff994747 Ka..dz..".w.GG.. + 1b93c: ff986266 fff68745 fff6a996 ff77121c fb..E.........w. + 1b94c: fff7964c ffd8544a fffbc7b6 ff783a40 L...JT......@:x. + 1b95c: fffa875f fff5a67a ffae8b97 ff78484a _...z.......JHx. + 1b96c: fff8d7bb fffbfaf8 fff2c89a ffeeebeb ................ + 1b97c: fffb6e49 ffb7624f fffb6459 ffd97965 In..Ob..Yd..ey.. + 1b98c: ff883930 ff973747 ff483942 ff291825 09..G7..B9H.%.). + 1b99c: ffe4da9b ff481725 ffd79d99 ff381825 ....%.H.....%.8. + 1b9ac: fff75652 ff995249 ffe5bcb4 ff5a373e RV..IR......>7Z. + 1b9bc: ff98944c ffd99566 fffcd2d4 ffb7584e L...f.......NX.. + 1b9cc: ff97595d ffc3343f ffdc494b ff95786b ]Y..?4..KI..kx.. + 1b9dc: ffb9613b ff982931 fff97a43 ffd03c46 ;a..1)..Cz..F<.. + 1b9ec: fffb785b ff997b7b ffa63c23 ffc79d8b [x..{{..#<...... + 1b9fc: ffdadbdf ff885350 ff9f9b96 ffeab97a ....PS......z... + 1ba0c: ffb7553a ff572a2f ffd7aba7 ffd9babb :U../*W......... + 1ba1c: ff382938 ff8e8b89 ffdbbb69 ffecd7a1 8)8.....i....... + 1ba2c: fff8b8ab ff966f68 ffab6c51 ffd86f5d ....ho..Ql..]o.. + 1ba3c: fffb6e5b ff997077 ffd56331 ffd14848 [n..wp..1c..HH.. + 1ba4c: fffc5a44 ffdccc73 ff4b4b54 ffc38c7a DZ..s...TKK.z... + 1ba5c: ffc6ac9f ff2b2c37 ffcbcbcf ff6b6b6f ....7,+.....okk. + 1ba6c: 70707070 70707070 70707070 70704870 pppppppppppppHpp + 1ba7c: 48487070 36363648 e90c69cb 7744442d ppHHH666.i..-DDw + 1ba8c: 771212e9 133179c8 c8763113 133179c8 ...w.y1..1v..y1. + 1ba9c: e2e23131 407e40e2 40e2e2e2 25c531e2 11...@~@...@.1.% + 1baac: 30c785a2 0d76b35e 46464646 404040dd ...0^.v.FFFF.@@@ + 1babc: d1135e5f 5f762bb3 c876765f 9ca240c8 _^...+v__vv..@.. + 1bacc: e714c156 bd0439bd 9c263ae7 140404a7 V....9...:&..... + 1badc: 7be0bce7 8047efef f3bc3d80 569c4733 ...{..G..=..3G.V + 1baec: 5c56c1c1 9ce79cee 56ef39f9 9c86f93a ..V\.....9.V:... + 1bafc: 0e0ec785 9ccc55c7 c156e74b 9f35a2c2 .....U..K.V...5. + 1bb0c: 9f9f9f9f 339f9f9f 67672033 20677979 .......33 ggyyg + 1bb1c: dc132020 1e126717 7070704e 70707070 ...g..Nppppppp + 1bb2c: 70707070 70487070 48487070 36364848 ppppppHpppHHHH66 + 1bb3c: 694e0c36 2b2b2d69 744e1e2b 3179c877 6.Nii-+++.Ntw.y1 + 1bb4c: 7631315e 3179c8c8 e2313113 3440e2e2 ^11v..y1.11...@4 + 1bb5c: e2313140 9f9fd731 c72825c5 76b35e30 @11.1....%(.0^.v + 1bb6c: 4634340d 40407e46 13b37640 2b2bb3d1 .44FF~@@@v....++ + 1bb7c: 40765f5f 6e407676 86c1869c f9e73904 __v@vv@n.....9.. + 1bb8c: 559c3955 ee9c869c f4bc5c14 4783ef7b U9.U.....\..{..G + 1bb9c: bc625e80 044720f3 c1c1c186 c28304f9 .^b.. G......... + 1bbac: 9c39f9e7 a7f9ccc1 35354b9c a75cd535 ..9......K555.\. + 1bbbc: 565c55ef 3cd5efc1 7d7d7d7d 05050505 .U\V...<}}}}.... + 1bbcc: c59f9fa0 33333333 dc333333 77136e17 ....3333333..n.w + 1bbdc: 7070740d 70707070 70707070 36487070 .tppppppppppppH6 + 1bbec: 48707048 cb364848 4e4ecb36 bb1e1e0c HppHHH6.6.NN.... + 1bbfc: 4ec82bb3 2bc87777 79797979 79c8c876 .+.Nww.+yyyyv..y + 1bc0c: 31131331 40e2e231 1331e240 13c5af33 1..11..@@.1.3... + 1bc1c: 28f3e831 b35ee8f3 34340d76 7e7e4646 1..(..^.v.44FF~~ + 1bc2c: b3764040 2bb3d113 76315f2b 40767640 @@v....++_1v@vv@ + 1bc3c: 86a79c6e e7393a56 f955553a 9c86e726 n...V:9.:UU.&... + 1bc4c: b59c83ee 83efbce0 7cb35e4b 6e13f3e0 ........K^.|...n + 1bc5c: c1c186e7 a73a3ac1 550455e7 0483c19c .....::..U.U.... + 1bc6c: 67a2e73a 5c55a2a0 5c9e14a7 2683c156 :..g..U\...\V..& + 1bc7c: 3c3c3cd5 7d7d3c3c 9f350505 9fdcdc9f .<<<<<}}..5..... + 1bc8c: 3113c5c5 33336e0e 700d0d34 70707070 ...1.n334..ppppp + 1bc9c: 70707070 48707070 70704836 36484848 pppppppH6HppHHH6 + 1bcac: 1e6936cb bb790c0c c82bbbbb c877744e .6i...y...+.Ntw. + 1bcbc: 2b2bc8c8 76c8c8c8 13133179 31313131 ..++...vy1..1111 + 1bccc: c53176e2 7613c5af 25e83176 b3e841f3 .v1....vv1.%.A.. + 1bcdc: 340d76b3 34343434 5f114040 b3d1d1b3 .v.44444@@._.... + 1bcec: 3131762b 76767676 c2e7f340 04a7c1c0 +v11vvvv@....... + 1bcfc: 55553a04 86e72604 9ccc8d3a c2bce0b8 .:UU.&..:....... + 1bd0c: b35e4bcc d13de07c c1a7396e 8383c1c1 .K^.|.=.n9...... + 1bd1c: 042639a7 14c19c55 9f4b9ee7 99853564 .9&.U.....K.d5.. + 1bd2c: 9e14a75c 83c186e7 7d3cd526 7d3c3c3c \.......&.<}<<<} + 1bd3c: a005057d 33dc9f9f 13dcc5dc 0d794579 }......3....yEy. + 1bd4c: 0d74680d 70707070 70707070 70707070 .ht.pppppppppppp + 1bd5c: 70704836 36484870 cfcbcbcb 2b1e6912 6HpppHH6.....i.+ + 1bd6c: 2b6dbbbb 7774122b 762b2bc8 c8c8c876 ..m++.tw.++vv... + 1bd7c: 13317976 13313113 9f133131 407933af vy1..11.11...3y@ + 1bd8c: 790d7676 5ee8e8e8 0d76b3b3 34343434 vv.y...^..v.4444 + 1bd9c: 11407e34 1313b35f 31767967 76767631 4~@._...gyv11vvv + 1bdac: 390e7676 c1c156ef 39cc043a 39260426 vv.9.V..:..9&.&9 + 1bdbc: cc8def86 bce0b89c 5e4bcc5c 3dbc7c64 ........\.K^d|.= + 1bdcc: a7550ed1 a7c1c1c1 26e7a7cc 569c55ee ..U........&.U.V + 1bddc: 35475583 2149f1b0 14143a9c c186e79e .UG5..I!.:...... + 1bdec: 3cd52683 7d7d7d7d 3505057d dc9fa035 .&.<}}}}}..55... + 1bdfc: 13133333 0d767979 12743379 70707068 33..yyv.y3t.hppp + 1be0c: 70707070 70707070 70704848 36484870 ppppppppHHpppHH6 + 1be1c: cbcbcb36 c80c3636 d344bb2b 7412bb79 6...66..+.D.y..t + 1be2c: 792bc877 76797979 3179c8c8 13131313 w.+yyyyv..y1.... + 1be3c: af9f1331 763113dc e6344040 3131e22c 1.....1v@@4.,.11 + 1be4c: 7679b35e 34340d0d 40403434 13b35f11 ^.yv..4444@@._.. + 1be5c: 76b31313 7679315f 417676c8 c1c11439 ...v_1yv.vvA9... + 1be6c: 1404ccc1 26ee4be7 8d83a755 f4b89c3a .....K.&U...:... + 1be7c: 4bcce7bc bc7cb35e 260e133d c1c1c183 ...K^.|.=..&.... + 1be8c: e7a79c83 e755e726 0e4befa7 a2f2f5dc ....&.U...K..... + 1be9c: 143acc5c ef55e714 d52683c1 a27d7d3c \.:...U...&.<}}. + 1beac: 05057d7d 9f356e35 311333dc 40767979 }}..5n5..3.1yyv@ + 1bebc: c87d3334 70701268 70707070 70704870 43}.h.pppppppHpp + 1becc: 70707070 48487070 cbcbcb36 773636cb ppppppHH6....66w + 1bedc: 44bb2b76 1ee91ebb 2bc87774 31317979 v+.D....tw.+yy11 + 1beec: 79c8c879 e8e81331 c5b19fe8 31313131 y..y1.......1111 + 1befc: 647e0d40 5e406fc1 b35e5e5e 34340d76 @.~d.o@^^^^.v.44 + 1bf0c: 40343434 b35f4040 5e131313 31313176 444@@@_....^v111 + 1bf1c: 76767631 56ef3941 f914c1c1 397b5ca7 1vvvA9.V.....\{9 + 1bf2c: 83a72626 273a9c8d 3a39e0f4 b9b3804b &&....:'..9:K... + 1bf3c: c5133dbc c1c18355 869c83c1 55e7269c .=..U........&.U + 1bf4c: c75c3ae7 33e633dc 3a145cd5 bde714cc .:\..3.3.\.:.... + 1bf5c: 26ef865c 7d7d3c3c 05057d7d 35491735 \..&<<}}}}..5.I5 + 1bf6c: 1333dc9f 0d0d7979 c513680d 7074680d ..3.yy...h...htp + 1bf7c: 48487070 70364870 70483670 48707070 ppHHpH6pp6HppppH + 1bf8c: cbcbcb48 cbcbcbcb bb2b7677 771e6d44 H.......wv+.Dm.w + 1bf9c: 77771277 3179792b c8c87931 e8131379 w.ww+yy11y..y... + 1bfac: d78e8ec5 31e2e231 024040e2 40a6c1be ....1..1.@@....@ + 1bfbc: 5e5e5e5e 340d76b3 0d346834 5f404040 ^^^^.v.44h4.@@@_ + 1bfcc: 1313135e 31315e5e 795e3131 5c264176 ^...^^1111^yvA&\ + 1bfdc: a7c1c186 7b9ca7f9 83264b55 3a048da7 .......{UK&....: + 1bfec: bdf4f44b 5e807b3a 5b3de030 c18699af K...:{.^0.=[.... + 1bffc: 9c14c1c1 554b9c86 4be75555 662ce89f ......KUUU.K..,f + 1c00c: 145c4b33 e714cc3a efcc9ebd 7d3c7d85 3K\.:........}<} + 1c01c: 057d7d7d 6e176e05 33dc9f35 0d767913 }}}..n.n5..3.yv. + 1c02c: 79680d0d 74687413 70707070 48367070 ..hy.thtpppppp6H + 1c03c: 36367070 48707048 cbcb3648 69cbcbcb pp66HppHH6.....i + 1c04c: bb1e6936 bb44d344 777777c8 792b2b77 6i..D.D..wwww++y + 1c05c: c8c87979 e8137979 e8257d8e 40403113 yy..yy...}%..1@@ + 1c06c: 4040e2e2 60c1fe68 5e5e3176 0d76b35e ..@@h..`v1^^^.v. + 1c07c: bb72680d 11e27eb2 13135e5f 315ee813 .hr..~.._^....^1 + 1c08c: 5ee85e31 aa877931 c1c1869e 3aa7f9a7 1^.^1y.........: + 1c09c: 4b4b267b ee26a783 f4f44b3a 307b9cad {&KK..&.:K....{0 + 1c0ac: 17e0e85e 83c210b1 a7c1c156 4b9c869c ^.......V......K + 1c0bc: 477b5555 6613dc0e 5c4bdc24 cc3a9ccc UU{G...f$.K\..:. + 1c0cc: 5cbdade7 7d7dd55c 7d7d7d7d 49173505 ...\\.}}}}}}.5.I + 1c0dc: dc9f9f35 76797913 340d0d0d 68687468 5....yyv...4hthh + 1c0ec: 70707068 70707070 48703670 70484836 hpppppppp6pH6HHp + 1c0fc: cbcb4848 cbcbcbcb 69cbcbcb 2b44d32d HH.........i-.D+ + 1c10c: 770dc8ab 2b2b7777 c8c8792b 9f137979 ...www+++y..yy.. + 1c11c: d7418e8e 344031e8 40e2e27e 5642e534 ..A..1@4~..@4.BV + 1c12c: 5e5fd156 76b35e5e 2eb20d0d 7e7766c1 V._^^^.v.....fw~ + 1c13c: 135e31e2 5ee81313 13133131 6e311313 .1^....^11....1n + 1c14c: c156e7aa 863a86c1 4b4b7bcc 39a7cc4b ..V...:..{KKK..9 + 1c15c: e04bf939 7be77bc6 27dc5e30 5510fc85 9.K..{.{0^.'...U + 1c16c: c1c1569c 9c86f9a7 bcad4b4b 67dce80e .V......KK.....g + 1c17c: d50eb4ac 9c9c3a5c 85ade7cc 7dd59e9e ....\:.........} + 1c18c: 7d7d7d7d 4935057d dc9f3535 79791333 }}}}}.5I55..3.yy + 1c19c: 0d0d4076 6868340d 70707474 70707070 v@...4hhttpppppp + 1c1ac: 70487070 4836cf48 cb484870 cb15cbcb ppHpH.6HpHH..... + 1c1bc: 0ccbcbcb 44d32d0c 7979ab2b 2b77c840 .....-.D+.yy@.w+ + 1c1cc: 7931792b 8edc7979 4141258e 7e1131d7 +y1yyy...%AA.1.~ + 1c1dc: 11117e34 c3e10240 4053c1c3 b35e5e5e 4~..@.....S@^^^. + 1c1ec: 340d0d76 42c142bb 5e3134f1 13131313 v..4.B.B.41^.... + 1c1fc: 13135e5e dcc535e8 569c4b27 3a86c1c1 ^^...5..'K.V...: + 1c20c: 7b7bcca7 a73a4b4b 4bee2639 e7bcc6e0 ..{{KK:.9&.K.... + 1c21c: 8ac5b97b 5b715255 c156ee47 86f9a7c1 {...URq[G.V..... + 1c22c: bc7b4b3a 1313e85d 0ed11ab4 9c3ae7d5 :K{.].........:. + 1c23c: ad5ccc9c a2555585 7d7d7d7d 05057d7d ..\..UU.}}}}}}.. + 1c24c: 9f9f3505 793113dc 76767979 76767676 .5....1yyyvvvvvv + 1c25c: 70120d0d 48707070 70707070 36cfcf70 ...ppppHppppp..6 + 1c26c: 36487036 69cbcbcb e9cb6969 6d4477c8 6pH6...iii...wDm + 1c27c: 132bd344 c80d795e dc13792b 8eaf1313 D.+.^y..+y...... + 1c28c: 2541c525 11e2e841 117e347e 94684011 %.A%A...~4~..@h. + 1c29c: 10c1c3c3 5e5e5e40 460d76b3 c172b240 ....@^^^.v.F@.r. + 1c2ac: c894c1c1 131313e2 135e5e5e dc3939e8 ........^^^..99. + 1c2bc: 9c47dcdc 56c1c156 27cca7f9 9c277bb8 ..G.V..V...'.{'. + 1c2cc: 394b39a7 bcc6e07b d5f37b55 20b13755 .9K9{...U{..U7. + 1c2dc: 86396ed1 f9a7c1c1 bc27efa7 e813e87f .n9.......'..... + 1c2ec: 13ac6679 f9e7856e 5c3a5c5c d5d585bd yf..n...\\:\.... + 1c2fc: 7d7d7dd5 05050505 35350505 1313dc35 .}}}......555... + 1c30c: 79797979 79797979 c8797979 70707070 yyyyyyyyyyy.pppp + 1c31c: 70707048 cbcf3600 48483636 cbcbcb36 Hppp.6..66HH6... + 1c32c: cb696969 bb77c877 ababb3bb 0d763113 iii.w.w......1v. + 1c33c: 13792bc8 9fb19fc5 41d7e813 e245e841 .+y........AA.E. + 1c34c: 7e347e11 68401111 c1c3c32e 5e31c896 .~4~..@h......1^ + 1c35c: 0d76b35e 5940460d c1c1c194 2079d160 ^.v..F@Y....`.y + 1c36c: 5eb3b3d1 9f9895e8 47313113 c1c1869c ...^.....11G.... + 1c37c: cca73a56 17b8bc27 b839a79c d0f4b8aa V:..'.....9..... + 1c38c: 21b69ebc 205bb195 395dd1d1 a7c1c1a7 ...!..[ ..]9.... + 1c39c: 273aa7f9 1313dc3d be1a79e8 e7ad47e8 ..:'=....y...G.. + 1c3ac: 3a5ce79c a285bd5c 7da24bd5 a005057d ..\:\....K.}}... + 1c3bc: 350505a0 13130e6e 79767979 31797979 ...5n...yyvyyyy1 + 1c3cc: 5e5e315e 70707079 70704848 36004870 ^1^^ypppHHpppH.6 + 1c3dc: 48cb36cf cbcbcb48 69696915 c8c869cb .6.HH....iii.i.. + 1c3ec: b3b32b1e 4076b32b 79797940 138e8e13 .+..+.v@@yyy.... + 1c3fc: 31317979 31314531 3440e2e2 40e2117e yy111E11..@4~..@ + 1c40c: c3c360c8 31d1c3c1 7679b313 46460d0d .`.....1..yv..FF + 1c41c: c1e47734 53c3c1c1 b3b31379 9fd59f5e 4w.....Sy...^... + 1c42c: 31311313 c1a70447 a73a56c1 b8e04bcc ..11G....V:..K.. + 1c43c: 55a7e7b5 e0b5bce0 babaadf4 b320c54c ...U........L. . + 1c44c: 5db3d1b3 c1c18326 cc830486 13134127 ...]&.......'A.. + 1c45c: e4d81313 adad5db4 e7e79c9e 85bd5c3a .....]......:\.. + 1c46c: a285d5a2 a0057d7d a0a0a0a0 13339f9f ....}}........3. + 1c47c: 0d2b7913 31797976 795e3131 70707979 .y+.vyy111^yyypp + 1c48c: 70483648 480ce969 cb363670 cbcb4836 H6Hpi..Hp66.6H.. + 1c49c: 696915cb 794ecb69 abab6d77 40312b67 ..iii.Nywm..g+1@ + 1c4ac: 13131376 13af8e33 79797979 e2317979 v...3...yyyyyy1. + 1c4bc: 4011e2e2 e2117e34 8f42e57e 53c1c342 ...@4~..~.B.B..S + 1c4cc: b37913e2 460d0d76 72a44034 c1c156c1 ..y.v..F4@.r.V.. + 1c4dc: b37971c1 13d75eb3 795e135e a7046e76 .qy..^..^.^yvn.. + 1c4ec: f956c1c1 e04b1414 14e7b8b5 bce06226 ..V...K.....&b.. + 1c4fc: babaadbc 5e807cad b3d1b364 c1cc265d .....|.^d...]&.. + 1c50c: cc0486c1 31e8273a 24791331 ad47d860 ....:'.11.y$`.G. + 1c51c: e79c9e85 bd5c9ce7 85d5a285 7d7d7da2 ......\......}}} + 1c52c: a0a0057d 9f9fa0a0 79133333 760d0d0d }.......33.y...v + 1c53c: 5e793179 7079795e 36364870 0c0c7000 y1y^^yyppH66.p.. + 1c54c: 367070cb cb484836 6969cbcb 4ecb6969 .pp66HH...iiii.N + 1c55c: bb1ee9c8 79b32b64 c5d71376 13c57d8e ....d+.yv....}.. + 1c56c: 76767679 76797979 11e2e240 117e347e yvvvyyyv@...~4~. + 1c57c: c3e57ee2 c1c3e4e4 79137610 0d0d7679 .~.......v.yyv.. + 1c58c: 5f403434 c3c16602 37c1c1c1 5e5eb3c8 44@_.f.....7..^^ + 1c59c: 315e5e5e ee6e7676 56c1c114 4b14ccf9 ^^^1vvn....V...K + 1c5ac: 39b5b5e0 bc414b3a adf0babd 80dabcbd ...9:KA......... + 1c5bc: 20b3645e 3a2641b3 0486c156 13179c9c ^d. .A&:V....... + 1c5cc: c8135e79 adc56aac 9c398585 5c9ce7e7 y^...j....9....\ + 1c5dc: 4bd585bd 3c7dd5ad 7d7d3c3c a0a07d7d ...K..}<<<}}}}.. + 1c5ec: 3333339f 0d2b6733 79790d0d b3b35e79 .3333g+...yyy^.. + 1c5fc: 36367070 36000070 7048360c 48487070 pp66p..6.6HpppHH + 1c60c: 69cbcbcb cb696969 abe9cbcb 1364642b ...iiii.....+dd. + 1c61c: c5133179 13c57d0f 76767913 79797976 y1...}...yvvvyyy + 1c62c: 11404076 7e347e40 f17ee211 c36060c1 v@@.@~4~..~..``. + 1c63c: 137696c1 0d767979 11403446 6077e211 ..v.yyv.F4@...w` + 1c64c: 565642c3 5e0d6fc1 5e795e5e 5d40765e .BVV.o.^^^y^^v@] + 1c65c: c1c1cc39 14ccf956 b5bce026 8ed59c26 9...V...&...&... + 1c66c: e0f0d699 dae07be0 b3645e80 2741b320 .....{...^d. .A' + 1c67c: 86c186f9 49040404 31137913 f35ae4e5 .......I.y.1..Z. + 1c68c: 558555bd 9c9ee75c d5bdbd9c 9595b685 .U.U\........... + 1c69c: 216c2121 52525252 b13ce395 13339fa0 !!l!RRRR..<...3. + 1c6ac: 0d34c879 b3797676 700036b3 70487048 y.4.vvy..6.pHpHp + 1c6bc: 36363670 48707070 15cbcb48 69696969 p666pppHH...iiii + 1c6cc: e90c69cb 206413bb c5137920 d7c58e0f .i....d y...... + 1c6dc: 76311313 79797676 11404079 347e4011 ..1vvvyyy@@..@~4 + 1c6ec: 02e21134 fe60c15a d856c1c3 76797931 4...Z.`...V.1yyv + 1c6fc: 40340d0d 11315f11 8fe4c12f 66c156c3 ..4@._1./....V.f + 1c70c: 765e5e0d 0d765e5e 56cc3941 3af956c1 .^^v^^v.A9.V.V.: + 1c71c: e0f426cc 219ebdb5 bc9eba65 e0bcc6c6 .&.....!e....... + 1c72c: 195e75da d7b32064 c1860427 ee048d86 .u^.d ..'....... + 1c73c: 1379136e f542e179 85555547 9e9ee755 n.y.y.B.GUU.U... + 1c74c: 99993a3a d2baf06c 3c4c9521 7d7d3c3c ::..l...!.L<<<}} + 1c75c: 4c3c7d7d fbce5252 c879139f 0d34340d }}E. - 1f4d8: e887dce8 06e845e8 4545e8e8 45e8dce8 .....E....EE...E - 1f4e8: 13f6de87 37797679 0d0db0fc 7774740d ....yvy7.....ttw - 1f4f8: 74777777 77777474 bbbb77bb 69e90c38 wwwtttww.w..8..i - 1f508: 0ccfcfcf 483648cf cbcb48cb 89579169 .....H6H.H..i.W. - 1f518: 69690c2d e944bf44 1ebb6444 771e1e1e -.iiD.D.Dd.....w - 1f528: 79792b77 0dc8c82b 4141e876 76797913 w+yy+...v.AA.yyv - 1f538: 76404040 79797676 40763131 e2e24040 @@@vvvyy11v@@@.. - 1f548: 7d333140 13a09552 31e23131 404040e2 @13}R...11.1.@@@ - 1f558: 12114011 ff735722 4a979797 00000000 .@.."Ws....J.... - 1f568: 00000000 1c1c97ec 739797ff 70704897 ...........s.Hpp - 1f578: 60cf7070 31134066 45313131 acace640 pp.`f@.1111E@... - 1f588: 32e1db24 4545e2e6 87dce8e8 4545e806 $..2..EE......EE - 1f598: 45e8e8e8 e8e8e845 13e80645 e3677631 ...EE...E...1vg. - 1f5a8: 7774b0fc 74747477 77777777 38747474 ..twwtttwwwwttt8 - 1f5b8: bb772b77 cde9bbab cfcfcf69 366969cf w+w.....i....ii6 - 1f5c8: 6d69cbcb e61c6969 6969ec91 d1e5780c ..imii....ii.x.. - 1f5d8: 1e6d6dab 1e1e6464 792b771e c8c82b2b .mm.dd...w+y++.. - 1f5e8: 5d30790d 76791341 40404076 79767676 .y0]A.yvv@@@vvvy - 1f5f8: 79313179 31404040 523c9f13 e2319f4c y11y@@@1.. - 20d98: 4a6391ab 00000048 00000000 70700000 ..cJH.........pp - 20da8: cf4fcfcf cd4ecd4f 545454cd cd54544e ..O.O.N..TTTNTT. - 20db8: 4e54543b 12771212 46a1df68 cd545459 ;TTN..w.h..FYTT. - 20dc8: 232354cd a9a9a9a5 a9a9a9a9 080808a9 .T##............ - 20dd8: 08080808 08080808 a5a5a508 a5a5a5a5 ................ - 20de8: a5a5a5a5 08a5a5a5 d9b2a9a9 2323a4df ..............## - 20df8: a5a52323 a5a90223 a5a5a5a5 b202b7a5 ##..#........... - 20e08: a4d9ddb7 89897391 4444e978 44ed4444 .....s..x.DDDD.D - 20e18: f7f7b975 5f75dff7 b702a4a1 59b2b2b7 u.....u_.......Y - 20e28: 54a55459 3b3ba93b 4f4fcdcd 1f4f3636 YT.T;.;;..OO66O. - 20e38: 1f363636 701f1f70 48707070 70707070 666.p..ppppHpppp - 20e48: cb364848 79690c69 ec89aef6 00000048 HH6.i.iy....H... - 20e58: 00000000 70000000 cd1fcd1f 4ecdcdcd .......p.......N - 20e68: 5454cdcd 54545454 54543b54 12124e54 ..TTTTTTT;TTTN.. - 20e78: a968d959 1f1f1f1f 701f1f1f a9a5a5a9 Y.h........p.... - 20e88: a9a9a9a9 a9a9a9a9 0808a908 08080808 ................ - 20e98: a5080808 a5a5a5a5 a9a908a5 08a9a9a9 ................ - 20ea8: dfd90254 2323a4d9 a5a52323 08a423a5 T.....####...#.. - 20eb8: a5a5a508 b7a5a5a5 02b7b2b2 89971c59 ............Y... - 20ec8: 6de96d89 2278d344 dd02dd74 a1a1a1a1 .m.mD.x"t....... - 20ed8: a4a4dda1 b2020202 54a55459 3ba90854 ........YT.TT..; - 20ee8: 4f3bcd3b 36361f4f 3636361f 361f1f70 ;.;OO.66.666p..6 - 20ef8: 70707036 70707070 36cb3670 770c69cb 6pppppppp6.6.i.w - 20f08: ec91338b 00000048 00007000 70000000 .3..H....p.....p - 20f18: 364fcf70 4e4fcdcd 54cd3b38 544e4e54 p.O6..ON8;.TTNNT - 20f28: 54545454 12545454 1f3bdd54 1f1f1f1f TTTTTTT.T.;..... - 20f38: 1f1f1f1f 0870701f a9a9a9a5 a9a9a9a9 .....pp......... - 20f48: a9a9a9a9 08080808 08080808 08a50808 ................ - 20f58: b2a5a9a9 d9a1a1dd d95858d9 2323a4a1 .........XX...## - 20f68: a5232323 a4a5a5a5 a5a5a959 a5a5a5a5 ###.....Y....... - 20f78: b2b223a5 89970cb7 e9e97889 89e9d36d .#.......x..m... - 20f88: dfda021c 2323b2a1 23b7b7b7 54232323 ......##...####T - 20f98: 3b545454 3ba93b3b 4f3b3b3b 1f1f1f4f TTT;;;.;;;;OO... - 20fa8: 361f1f36 3670701f 48707036 70707070 6..6.pp66ppHpppp - 20fb8: cb707048 6d69cf69 6944f606 00007036 Hpp.i.im..Di6p.. - 20fc8: 00700000 00000000 36cd7000 cdcdcd1f ..p......p.6.... - 20fd8: 4ecd4ee9 545454cd 54545454 54545454 .N.N.TTTTTTTTTTT - 20fe8: 1f3b5954 1f1f1fa9 1f1f1f1f 1f1f1f1f TY;............. - 20ff8: a9a5a970 a9a9a9a9 a9a9a9a9 0808a9a9 p............... - 21008: 08080808 a9080808 d9a10208 58585858 ............XXXX - 21018: d9d9dfdf 2323a4a1 a5232323 a508a5a5 ......#####..... - 21028: a51f0202 a5a5a5a5 23a5a5a5 97fae546 ...........#F... - 21038: e9788989 e96de9e9 2308911c a1d9a102 ..x...m....#.... - 21048: a523b2a4 080808a5 cd54543b a93b3b3b ..#.....;TT.;;;. - 21058: 1f4f3b3b 4fa91f1f 1f70704f 70707070 ;;O....OOpp.pppp - 21068: 70707036 70707070 70363670 d30c6936 6pppppppp66p6i.. - 21078: 69798b67 007048cb 00000000 00000000 g.yi.Hp......... - 21088: 4f700000 cdcd4f1f 543bcd1e 545438e9 ..pO.O....;T.8TT - 21098: 5454544e 54545454 a9545459 1f1f1fa9 NTTTTTTTYTT..... - 210a8: 1f1f1f1f 1f1f1f1f a9701f1f a9a9a9a5 ..........p..... - 210b8: a9a9a9a9 a9a9a9a9 0808a9a9 08a90808 ................ - 210c8: d9d9d9dd d9dfdfdf a1d9d9d9 23b702a1 ...............# - 210d8: a5232323 08a5a5a5 a9a10223 a5a5a508 ###.....#....... - 210e8: a5a5a5a5 6389e644 2d898989 6de90c0c ....D..c...-...m - 210f8: 0a1effe9 b7b2dda1 020202b2 02a4a402 ................ - 21108: 3ba559b2 3ba9a908 543ba9a9 d9a1ddb2 .Y.;...;..;T.... - 21118: 4f298888 70701f70 48707070 70707070 ..)Op.pppppHpppp - 21128: cb487070 78693636 0c3e06e5 7048cb69 ppH.66ix..>.i.Hp + 1f3e0: 97ec0000 9797ff1c 4a907373 70707000 ........ss.J.ppp + 1f3f0: 53e44e1f 313113e2 d1311331 8c6a1a6a .N.S..111.1.j.j. + 1f400: b49424e1 e8e8e831 e80687dc e8e8e8e8 .$..1........... + 1f410: dce84545 4545e8dc 3141de16 e3790d79 EE....EE..A1y.y. + 1f420: 76762ceb 7777c8c8 74777777 77777774 .,vv..wwwwwttwww + 1f430: e91ebb74 cf0c64e9 690ccfcf 48483648 t....d.....iH6HH + 1f440: 0c364848 782424ca d369692d 44e9d3bf HH6..$$x-ii....D + 1f450: e91e64d1 2b2b77e9 2b2bb32b 0d0dc8c8 .d...w+++.++.... + 1f460: 13414131 76767979 76764076 79797676 1AA.yyvvv@vvvvyy + 1f470: 7e7e4079 4545e240 1331e231 3595527d y@~~@.EE1.1.}R.5 + 1f480: 8745e213 4040e231 94736811 97739773 ..E.1.@@.hs.s.s. + 1f490: 00001597 00000000 ec000000 971c1c97 ................ + 1f4a0: 73739797 707000cb e4e17070 31313176 ..ss..pppp..v111 + 1f4b0: e2453131 e6ac1af5 9424e1db e8453ed1 11E.......$..>E. + 1f4c0: e887dce8 06e845e8 4545e8e8 45e8dce8 .....E....EE...E + 1f4d0: 13f6de87 37797679 0d0db0fc 7774740d ....yvy7.....ttw + 1f4e0: 74777777 77777474 bbbb77bb 69e90c38 wwwtttww.w..8..i + 1f4f0: 0ccfcfcf 483648cf cbcb48cb 89579169 .....H6H.H..i.W. + 1f500: 69690c2d e944bf44 1ebb6444 771e1e1e -.iiD.D.Dd.....w + 1f510: 79792b77 0dc8c82b 4141e876 76797913 w+yy+...v.AA.yyv + 1f520: 76404040 79797676 40763131 e2e24040 @@@vvvyy11v@@@.. + 1f530: 7d333140 13a09552 31e23131 404040e2 @13}R...11.1.@@@ + 1f540: 12114011 ff735722 4a979797 00000000 .@.."Ws....J.... + 1f550: 00000000 1c1c97ec 739797ff 70704897 ...........s.Hpp + 1f560: 60cf7070 31134066 45313131 acace640 pp.`f@.1111E@... + 1f570: 32e1db24 4545e2e6 87dce8e8 4545e806 $..2..EE......EE + 1f580: 45e8e8e8 e8e8e845 13e80645 e3677631 ...EE...E...1vg. + 1f590: 7774b0fc 74747477 77777777 38747474 ..twwtttwwwwttt8 + 1f5a0: bb772b77 cde9bbab cfcfcf69 366969cf w+w.....i....ii6 + 1f5b0: 6d69cbcb e61c6969 6969ec91 d1e5780c ..imii....ii.x.. + 1f5c0: 1e6d6dab 1e1e6464 792b771e c8c82b2b .mm.dd...w+y++.. + 1f5d0: 5d30790d 76791341 40404076 79767676 .y0]A.yvv@@@vvvy + 1f5e0: 79313179 31404040 523c9f13 e2319f4c y11y@@@1.. + 20d80: 4a6391ab 00000048 00000000 70700000 ..cJH.........pp + 20d90: cf4fcfcf cd4ecd4f 545454cd cd54544e ..O.O.N..TTTNTT. + 20da0: 4e54543b 12771212 46a1df68 cd545459 ;TTN..w.h..FYTT. + 20db0: 232354cd a9a9a9a5 a9a9a9a9 080808a9 .T##............ + 20dc0: 08080808 08080808 a5a5a508 a5a5a5a5 ................ + 20dd0: a5a5a5a5 08a5a5a5 d9b2a9a9 2323a4df ..............## + 20de0: a5a52323 a5a90223 a5a5a5a5 b202b7a5 ##..#........... + 20df0: a4d9ddb7 89897391 4444e978 44ed4444 .....s..x.DDDD.D + 20e00: f7f7b975 5f75dff7 b702a4a1 59b2b2b7 u.....u_.......Y + 20e10: 54a55459 3b3ba93b 4f4fcdcd 1f4f3636 YT.T;.;;..OO66O. + 20e20: 1f363636 701f1f70 48707070 70707070 666.p..ppppHpppp + 20e30: cb364848 79690c69 ec89aef6 00000048 HH6.i.iy....H... + 20e40: 00000000 70000000 cd1fcd1f 4ecdcdcd .......p.......N + 20e50: 5454cdcd 54545454 54543b54 12124e54 ..TTTTTTT;TTTN.. + 20e60: a968d959 1f1f1f1f 701f1f1f a9a5a5a9 Y.h........p.... + 20e70: a9a9a9a9 a9a9a9a9 0808a908 08080808 ................ + 20e80: a5080808 a5a5a5a5 a9a908a5 08a9a9a9 ................ + 20e90: dfd90254 2323a4d9 a5a52323 08a423a5 T.....####...#.. + 20ea0: a5a5a508 b7a5a5a5 02b7b2b2 89971c59 ............Y... + 20eb0: 6de96d89 2278d344 dd02dd74 a1a1a1a1 .m.mD.x"t....... + 20ec0: a4a4dda1 b2020202 54a55459 3ba90854 ........YT.TT..; + 20ed0: 4f3bcd3b 36361f4f 3636361f 361f1f70 ;.;OO.66.666p..6 + 20ee0: 70707036 70707070 36cb3670 770c69cb 6pppppppp6.6.i.w + 20ef0: ec91338b 00000048 00007000 70000000 .3..H....p.....p + 20f00: 364fcf70 4e4fcdcd 54cd3b38 544e4e54 p.O6..ON8;.TTNNT + 20f10: 54545454 12545454 1f3bdd54 1f1f1f1f TTTTTTT.T.;..... + 20f20: 1f1f1f1f 0870701f a9a9a9a5 a9a9a9a9 .....pp......... + 20f30: a9a9a9a9 08080808 08080808 08a50808 ................ + 20f40: b2a5a9a9 d9a1a1dd d95858d9 2323a4a1 .........XX...## + 20f50: a5232323 a4a5a5a5 a5a5a959 a5a5a5a5 ###.....Y....... + 20f60: b2b223a5 89970cb7 e9e97889 89e9d36d .#.......x..m... + 20f70: dfda021c 2323b2a1 23b7b7b7 54232323 ......##...####T + 20f80: 3b545454 3ba93b3b 4f3b3b3b 1f1f1f4f TTT;;;.;;;;OO... + 20f90: 361f1f36 3670701f 48707036 70707070 6..6.pp66ppHpppp + 20fa0: cb707048 6d69cf69 6944f606 00007036 Hpp.i.im..Di6p.. + 20fb0: 00700000 00000000 36cd7000 cdcdcd1f ..p......p.6.... + 20fc0: 4ecd4ee9 545454cd 54545454 54545454 .N.N.TTTTTTTTTTT + 20fd0: 1f3b5954 1f1f1fa9 1f1f1f1f 1f1f1f1f TY;............. + 20fe0: a9a5a970 a9a9a9a9 a9a9a9a9 0808a9a9 p............... + 20ff0: 08080808 a9080808 d9a10208 58585858 ............XXXX + 21000: d9d9dfdf 2323a4a1 a5232323 a508a5a5 ......#####..... + 21010: a51f0202 a5a5a5a5 23a5a5a5 97fae546 ...........#F... + 21020: e9788989 e96de9e9 2308911c a1d9a102 ..x...m....#.... + 21030: a523b2a4 080808a5 cd54543b a93b3b3b ..#.....;TT.;;;. + 21040: 1f4f3b3b 4fa91f1f 1f70704f 70707070 ;;O....OOpp.pppp + 21050: 70707036 70707070 70363670 d30c6936 6pppppppp66p6i.. + 21060: 69798b67 007048cb 00000000 00000000 g.yi.Hp......... + 21070: 4f700000 cdcd4f1f 543bcd1e 545438e9 ..pO.O....;T.8TT + 21080: 5454544e 54545454 a9545459 1f1f1fa9 NTTTTTTTYTT..... + 21090: 1f1f1f1f 1f1f1f1f a9701f1f a9a9a9a5 ..........p..... + 210a0: a9a9a9a9 a9a9a9a9 0808a9a9 08a90808 ................ + 210b0: d9d9d9dd d9dfdfdf a1d9d9d9 23b702a1 ...............# + 210c0: a5232323 08a5a5a5 a9a10223 a5a5a508 ###.....#....... + 210d0: a5a5a5a5 6389e644 2d898989 6de90c0c ....D..c...-...m + 210e0: 0a1effe9 b7b2dda1 020202b2 02a4a402 ................ + 210f0: 3ba559b2 3ba9a908 543ba9a9 d9a1ddb2 .Y.;...;..;T.... + 21100: 4f298888 70701f70 48707070 70707070 ..)Op.pppppHpppp + 21110: cb487070 78693636 0c3e06e5 7048cb69 ppH.66ix..>.i.Hp ... - 21140: 70700000 4f4f7070 cdcd1e4e bbbb4e4e ..ppppOON...NN.. - 21150: 54544e54 54545454 08545454 1f1f1fa9 TNTTTTTTTTT..... - 21160: 1f1f1f1f 1f1f1f1f 1f1f1f1f a908a91f ................ - 21170: a9a9a9a9 a9a9a9a9 a9a9a9a9 591f08a9 ...............Y - 21180: d9a1a1d9 dfdfdfdf a1d9d9d9 23b70229 ............)..# - 21190: a5232323 a5a5a5a5 a1b22308 08a5a9b2 ###......#...... - 211a0: 54a5a5a5 69bfe651 918991ff 2d0c0c0c ...TQ..i.......- - 211b0: 741c6d2d 58585888 0a0a8858 b202dda1 -m.t.XXXX....... - 211c0: 88d9ddb2 d90ad9d9 88d9d9d9 88888888 ................ - 211d0: 88888888 701f7029 70707070 70707070 ....)p.ppppppppp - 211e0: 70487070 892d6936 0ce2c889 4848cb69 ppHp6i-.....i.HH - 211f0: 00000070 00000000 70000000 36707070 p..........pppp6 - 21200: 3b381ecd 381eab1e 54543864 54545454 ..8;...8d8TTTTTT - 21210: cd545454 1f1fa9a9 1f1f1f1f 1f1f1f1f TTT............. - 21220: 1f1f1f1f 081f1f1f a9a91f08 a9a9a9a9 ................ - 21230: a9a9a9a9 591f08a9 dfd9d958 d9d9df58 .......YX...X... - 21240: a1a1d9d9 232302a4 a5232323 a5a5a5a5 ......#####..... - 21250: b22308a5 08a9a1dd 44a508a5 08388ced ..#........D..8. - 21260: 89911cca 0c0c0c91 63d30c2d d9a12923 ........-..c#).. - 21270: 888888d9 58585858 59b229d9 d9d9a102 ....XXXX.).Y.... - 21280: 880a0ad9 0a0a0ad9 0a0a0a0a 704f0a0a ..............Op - 21290: 70707070 70707070 48707070 89cacb48 pppppppppppHH... - 212a0: 4e0d2d91 4836cbcb 00007070 00000000 .-.N..6Hpp...... - 212b0: 00000000 36707000 cd38cd1f bb1e7977 .....pp6..8.wy.. - 212c0: 54abbb1e 54545454 3b545454 a9a9083b ...TTTTTTTT;;... - 212d0: 1f1f1f1f a9a91f1f 1f1f1f1f 1f1f1f1f ................ - 212e0: a9a90800 a9a9a9a9 a9a9a9a9 08a9a9a9 ................ - 212f0: 0854dd88 d9465908 a1a1a1d9 b723b7a4 ..T..YF.......#. - 21300: a5232323 a5a5a5a5 2308a5a5 b2d902b2 ###........#.... - 21310: 5154081f a508bfed 918963a9 0ccdca63 ..TQ.....c..c... - 21320: 910c2d0c a4a4b791 0a0aa1a1 dfd9d90a .-.............. - 21330: 5858dfdf 6859ddd9 a1a1a129 0a0a0a0a ..XX..Yh)....... - 21340: a1a10a0a cfdda1a1 70703670 70707070 ........p6pppppp - 21350: 70707070 6391ec48 cdcd69ca 4836cbcb ppppH..c.i....6H - 21360: 00007048 00000000 00000000 70700000 Hp............pp - 21370: 4f4fcd4f 54c80e4e 641e1e1e 54545438 O.OON..T...d8TTT - 21380: 54545454 a9083b3b 1f1f1fa9 1f1f1f1f TTTT;;.......... - 21390: 1f1fa9a9 1f1f1f1f 08a9cd1f a9a9a9a9 ................ - 213a0: a9a9a9a9 1fa9a9a9 1f00a502 1f1f1f1f ................ - 213b0: a1d9dda9 2323b702 a5a5a523 a5a5a5a5 ......###....... - 213c0: 08a5a5a5 a1b2b223 e6d3540a 08084e90 ....#....T...N.. - 213d0: 91ffcb08 690c6391 0c2d0c0c a4b72d63 .....c.i..-.c-.. - 213e0: a1a12929 a1a1a1a1 88d9d9d9 d958dfd9 ))............X. - 213f0: a42959b2 a1a129a4 dda1a1a1 6846dddd .Y)..)........Fh - 21400: 7036703b 70707070 70707070 07910769 ;p6pppppppppi... - 21410: 36484815 48483648 00707048 00000000 .HH6H6HHHpp..... - 21420: 00000000 70007000 cdcd7070 12dc33cd .....p.ppp...3.. - 21430: 4e4e4e12 5454bbab 54545454 08543b54 .NNN..TTTTTTT;T. - 21440: 1f1fa9a9 1f1f1f1f 1fa91fa9 1f1f1f1f ................ - 21450: 12131e1f a9a9a9a9 a9a9a9a9 1fa9a9a9 ................ - 21460: a9000808 a9a9a9a9 021f1fa9 2323b2a1 ..............## - 21470: a5a5a523 a5a5a5a5 08a5a5a5 b2b22308 #............#.. - 21480: e69380a4 08080878 1c4a0808 69916391 ....x.....J..c.i - 21490: 0c0c0c69 a5cf632d a40223a5 29a12929 i...-c...#..)).) - 214a0: a1a1a1a1 d9df88d9 cd0258df 54545968 .........X..hYTT - 214b0: 59595454 59595959 1f70cd54 70707070 TTYYYYYYT.p.pppp - 214c0: cb707070 ec91fa4a 48707048 48484848 ppp.J...HppHHHHH - 214d0: 70704848 00000000 00000000 00000000 HHpp............ - 214e0: 36367000 77791e4f 54e94e77 54ab1e54 .p66O.ywwN.TT..T - 214f0: 54545454 54545454 1fa9a908 1f1f1f1f TTTTTTTT........ - 21500: a9a9a91f 1f1f1f1f 67331e1f a9084f79 ..........3gyO.. - 21510: 1fa9a9a9 a9a9a9a9 1f1fa91f 1f1f1f1f ................ - 21520: a9a9a91f 23dddd1f a5a52323 08a508a5 .......###...... - 21530: a5a5a5a5 b2230808 ceea5bb2 08a9a95e ......#..[..^... - 21540: 63a90808 ca639163 0c0c6969 a963ca0c ...cc.c.ii....c. - 21550: a5a508a5 a4a4b2a5 dda1dddd dfd9a1dd ................ - 21560: dfd9d9df b212cd68 595959b2 cdcd5454 ....h....YYYTT.. - 21570: 70cfcdcd 70707070 4acb7070 cbec0707 ...ppppppp.J.... - 21580: 70707048 48484870 48484848 00000070 HppppHHHHHHHp... - 21590: 00000000 001f0000 4f700000 541ecd4f ..........pOO..T - 215a0: 4e4e774e 3838544e 54545454 54595454 NwNNNT88TTTTTTYT - 215b0: a9a90854 1f1f1f1f a9a91f1f 1f1f1fa9 T............... - 215c0: 1379121f a9123113 a9a9a9a9 a9a91f1f ..y..1.......... - 215d0: 1fa91fa9 1f1f1f1f a91f1f1f a1a91fa9 ................ - 215e0: a5a5a5b2 08080808 08080808 23080808 ...............# - 215f0: 5ba66619 08290aa1 3608a91f 639191ff .f.[..)....6...c - 21600: 0cec690c fa91ec2d a5a5a508 a5080808 .i..-........... - 21610: 020202b2 4646dddd d9dfd9a1 cf54d9d9 ......FF......T. - 21620: 595454cd 59595959 cd545959 70707070 .TTYYYYYYYT.pppp - 21630: ca154870 70cb4a07 70700000 48487070 pH...J.p..ppppHH - 21640: 48484848 00007070 00000000 70000000 HHHHpp.........p - 21650: 70000070 4ecf3b36 381e543b 1e544e4e p..p6;.N;T.8NNT. - 21660: 54545454 59545454 08a53b59 a91f1fa9 TTTTTTTYY;...... - 21670: a9a91f1f 1fa9a9a9 0d34121f 79131379 ..........4.y..y - 21680: a9a908a9 1f1f1fa9 a91fa9a9 1f1f1f1f ................ - 21690: 1f1f1f1f 1fa91f1f a5a5a454 08080808 ........T....... - 216a0: 08080808 cd08a508 7453a6f1 0aa12902 ..........St.).. - 216b0: 1f1f23a1 6391ff4a ec696991 63ec2d0c .#..J..c.ii..-.c - 216c0: a5a508ca 3ba5a5a5 b2543b3b dd466802 .......;;;T..hF. - 216d0: d9dd5968 a1d9d9df cdcfcfcf cdcdcdcd hY.............. - 216e0: 545454cd 7070704f 07ca1548 7070154a .TTTOpppH...J.pp - 216f0: 70700070 70707070 48484848 00707070 p.ppppppHHHHppp. + 21128: 70700000 4f4f7070 cdcd1e4e bbbb4e4e ..ppppOON...NN.. + 21138: 54544e54 54545454 08545454 1f1f1fa9 TNTTTTTTTTT..... + 21148: 1f1f1f1f 1f1f1f1f 1f1f1f1f a908a91f ................ + 21158: a9a9a9a9 a9a9a9a9 a9a9a9a9 591f08a9 ...............Y + 21168: d9a1a1d9 dfdfdfdf a1d9d9d9 23b70229 ............)..# + 21178: a5232323 a5a5a5a5 a1b22308 08a5a9b2 ###......#...... + 21188: 54a5a5a5 69bfe651 918991ff 2d0c0c0c ...TQ..i.......- + 21198: 741c6d2d 58585888 0a0a8858 b202dda1 -m.t.XXXX....... + 211a8: 88d9ddb2 d90ad9d9 88d9d9d9 88888888 ................ + 211b8: 88888888 701f7029 70707070 70707070 ....)p.ppppppppp + 211c8: 70487070 892d6936 0ce2c889 4848cb69 ppHp6i-.....i.HH + 211d8: 00000070 00000000 70000000 36707070 p..........pppp6 + 211e8: 3b381ecd 381eab1e 54543864 54545454 ..8;...8d8TTTTTT + 211f8: cd545454 1f1fa9a9 1f1f1f1f 1f1f1f1f TTT............. + 21208: 1f1f1f1f 081f1f1f a9a91f08 a9a9a9a9 ................ + 21218: a9a9a9a9 591f08a9 dfd9d958 d9d9df58 .......YX...X... + 21228: a1a1d9d9 232302a4 a5232323 a5a5a5a5 ......#####..... + 21238: b22308a5 08a9a1dd 44a508a5 08388ced ..#........D..8. + 21248: 89911cca 0c0c0c91 63d30c2d d9a12923 ........-..c#).. + 21258: 888888d9 58585858 59b229d9 d9d9a102 ....XXXX.).Y.... + 21268: 880a0ad9 0a0a0ad9 0a0a0a0a 704f0a0a ..............Op + 21278: 70707070 70707070 48707070 89cacb48 pppppppppppHH... + 21288: 4e0d2d91 4836cbcb 00007070 00000000 .-.N..6Hpp...... + 21298: 00000000 36707000 cd38cd1f bb1e7977 .....pp6..8.wy.. + 212a8: 54abbb1e 54545454 3b545454 a9a9083b ...TTTTTTTT;;... + 212b8: 1f1f1f1f a9a91f1f 1f1f1f1f 1f1f1f1f ................ + 212c8: a9a90800 a9a9a9a9 a9a9a9a9 08a9a9a9 ................ + 212d8: 0854dd88 d9465908 a1a1a1d9 b723b7a4 ..T..YF.......#. + 212e8: a5232323 a5a5a5a5 2308a5a5 b2d902b2 ###........#.... + 212f8: 5154081f a508bfed 918963a9 0ccdca63 ..TQ.....c..c... + 21308: 910c2d0c a4a4b791 0a0aa1a1 dfd9d90a .-.............. + 21318: 5858dfdf 6859ddd9 a1a1a129 0a0a0a0a ..XX..Yh)....... + 21328: a1a10a0a cfdda1a1 70703670 70707070 ........p6pppppp + 21338: 70707070 6391ec48 cdcd69ca 4836cbcb ppppH..c.i....6H + 21348: 00007048 00000000 00000000 70700000 Hp............pp + 21358: 4f4fcd4f 54c80e4e 641e1e1e 54545438 O.OON..T...d8TTT + 21368: 54545454 a9083b3b 1f1f1fa9 1f1f1f1f TTTT;;.......... + 21378: 1f1fa9a9 1f1f1f1f 08a9cd1f a9a9a9a9 ................ + 21388: a9a9a9a9 1fa9a9a9 1f00a502 1f1f1f1f ................ + 21398: a1d9dda9 2323b702 a5a5a523 a5a5a5a5 ......###....... + 213a8: 08a5a5a5 a1b2b223 e6d3540a 08084e90 ....#....T...N.. + 213b8: 91ffcb08 690c6391 0c2d0c0c a4b72d63 .....c.i..-.c-.. + 213c8: a1a12929 a1a1a1a1 88d9d9d9 d958dfd9 ))............X. + 213d8: a42959b2 a1a129a4 dda1a1a1 6846dddd .Y)..)........Fh + 213e8: 7036703b 70707070 70707070 07910769 ;p6pppppppppi... + 213f8: 36484815 48483648 00707048 00000000 .HH6H6HHHpp..... + 21408: 00000000 70007000 cdcd7070 12dc33cd .....p.ppp...3.. + 21418: 4e4e4e12 5454bbab 54545454 08543b54 .NNN..TTTTTTT;T. + 21428: 1f1fa9a9 1f1f1f1f 1fa91fa9 1f1f1f1f ................ + 21438: 12131e1f a9a9a9a9 a9a9a9a9 1fa9a9a9 ................ + 21448: a9000808 a9a9a9a9 021f1fa9 2323b2a1 ..............## + 21458: a5a5a523 a5a5a5a5 08a5a5a5 b2b22308 #............#.. + 21468: e69380a4 08080878 1c4a0808 69916391 ....x.....J..c.i + 21478: 0c0c0c69 a5cf632d a40223a5 29a12929 i...-c...#..)).) + 21488: a1a1a1a1 d9df88d9 cd0258df 54545968 .........X..hYTT + 21498: 59595454 59595959 1f70cd54 70707070 TTYYYYYYT.p.pppp + 214a8: cb707070 ec91fa4a 48707048 48484848 ppp.J...HppHHHHH + 214b8: 70704848 00000000 00000000 00000000 HHpp............ + 214c8: 36367000 77791e4f 54e94e77 54ab1e54 .p66O.ywwN.TT..T + 214d8: 54545454 54545454 1fa9a908 1f1f1f1f TTTTTTTT........ + 214e8: a9a9a91f 1f1f1f1f 67331e1f a9084f79 ..........3gyO.. + 214f8: 1fa9a9a9 a9a9a9a9 1f1fa91f 1f1f1f1f ................ + 21508: a9a9a91f 23dddd1f a5a52323 08a508a5 .......###...... + 21518: a5a5a5a5 b2230808 ceea5bb2 08a9a95e ......#..[..^... + 21528: 63a90808 ca639163 0c0c6969 a963ca0c ...cc.c.ii....c. + 21538: a5a508a5 a4a4b2a5 dda1dddd dfd9a1dd ................ + 21548: dfd9d9df b212cd68 595959b2 cdcd5454 ....h....YYYTT.. + 21558: 70cfcdcd 70707070 4acb7070 cbec0707 ...ppppppp.J.... + 21568: 70707048 48484870 48484848 00000070 HppppHHHHHHHp... + 21578: 00000000 001f0000 4f700000 541ecd4f ..........pOO..T + 21588: 4e4e774e 3838544e 54545454 54595454 NwNNNT88TTTTTTYT + 21598: a9a90854 1f1f1f1f a9a91f1f 1f1f1fa9 T............... + 215a8: 1379121f a9123113 a9a9a9a9 a9a91f1f ..y..1.......... + 215b8: 1fa91fa9 1f1f1f1f a91f1f1f a1a91fa9 ................ + 215c8: a5a5a5b2 08080808 08080808 23080808 ...............# + 215d8: 5ba66619 08290aa1 3608a91f 639191ff .f.[..)....6...c + 215e8: 0cec690c fa91ec2d a5a5a508 a5080808 .i..-........... + 215f8: 020202b2 4646dddd d9dfd9a1 cf54d9d9 ......FF......T. + 21608: 595454cd 59595959 cd545959 70707070 .TTYYYYYYYT.pppp + 21618: ca154870 70cb4a07 70700000 48487070 pH...J.p..ppppHH + 21628: 48484848 00007070 00000000 70000000 HHHHpp.........p + 21638: 70000070 4ecf3b36 381e543b 1e544e4e p..p6;.N;T.8NNT. + 21648: 54545454 59545454 08a53b59 a91f1fa9 TTTTTTTYY;...... + 21658: a9a91f1f 1fa9a9a9 0d34121f 79131379 ..........4.y..y + 21668: a9a908a9 1f1f1fa9 a91fa9a9 1f1f1f1f ................ + 21678: 1f1f1f1f 1fa91f1f a5a5a454 08080808 ........T....... + 21688: 08080808 cd08a508 7453a6f1 0aa12902 ..........St.).. + 21698: 1f1f23a1 6391ff4a ec696991 63ec2d0c .#..J..c.ii..-.c + 216a8: a5a508ca 3ba5a5a5 b2543b3b dd466802 .......;;;T..hF. + 216b8: d9dd5968 a1d9d9df cdcfcfcf cdcdcdcd hY.............. + 216c8: 545454cd 7070704f 07ca1548 7070154a .TTTOpppH...J.pp + 216d8: 70700070 70707070 48484848 00707070 p.ppppppHHHHppp. ... - 2170c: 4f1f7000 38cd3b4e 544e5438 544e5454 .p.ON;.88TNTTTNT - 2171c: 54545454 a9595959 1fa9a908 a91f1f1f TTTTYYY......... - 2172c: 1fa9a9a9 686868a9 13790d34 08081279 .....hhh4.y.y... - 2173c: 1fa9a9a9 1f1f1f1f 1f1f1fa9 1f1f1f1f ................ - 2174c: 1f1f1f1f b7b21fa9 080808a5 08080808 ................ - 2175c: 44080808 596466e6 a1a40223 a4290a0a ...D.fdY#.....). - 2176c: 63fffaa9 69690763 0c0cecec 08086963 ...cc.ii....ci.. - 2177c: 08080808 3b3b3b3b 6868593b 5468dd68 ....;;;;;Yhhh.hT - 2178c: a1d9d946 cdcb68d9 cdcdcdcd cdcdcd54 F....h......T... - 2179c: 36704f54 4a07caec 70704815 70007070 TOp6...J.Hpppp.p - 217ac: 70707070 70704848 70707070 00000000 ppppHHpppppp.... - 217bc: 70000000 0000701f 70707000 cd3b544f ...p.p...pppOT;. - 217cc: 4e4e3838 4e4e5454 54545459 12595959 88NNTTNNYTTTYYY. - 217dc: 1f1fa959 a9a91f1f a91f1f1f 68686854 Y...........Thhh - 217ec: 76343468 08797979 a9a9a908 1f1f1f1f h44vyyy......... - 217fc: 1f1fa91f 1f1f1f1f 1f1f1f1f 3b1fa91f ...............; - 2180c: 0808a502 08080808 5154083b 23597294 ........;.TQ.rY# - 2181c: 02b223b2 a1a1a1a4 ffec0229 69ec631c .#......)....c.i - 2182c: ececec69 a5a963ca 3b3b3b08 3b3b3b3b i....c...;;;;;;; - 2183c: 54cdcd3b 46686868 d9745468 cfa1a1a1 ;..ThhhFhTt..... - 2184c: cdcdcdcf cdcdcdcd 1536cdcd cbec4aca ..........6..J.. - 2185c: 70707070 70707070 70707000 70707070 pppppppp.ppppppp - 2186c: 70704870 00000070 00000000 001f7000 pHppp........p.. - 2187c: a9700000 1f1f7070 381e38cd 3854544e ..p.pp...8.8NTT8 - 2188c: 5454541e 12595959 3b591212 1f1f1fa9 .TTTYYY...Y;.... - 2189c: 593ba91f 68b26868 34346868 310d0d0d ..;Yhh.hhh44...1 - 218ac: a9a9a912 1f1fa9a9 1f081f1f 1f1f1f1f ................ - 218bc: 1f1f1f1f a9a91f1f 0823021f 3b080808 ..........#....; - 218cc: e6783b3b a508e9ed 2323b259 a1a102b2 ;;x.....Y.##.... - 218dc: a5292929 699163ec ececec69 1ffa07ec )))..c.ii....... - 218ec: 3b3b0808 3b3b3b4f cdcd3b3b 686854cd ..;;O;;;;;...Thh - 218fc: cd6868b2 d9a1a168 cfcfcf54 cdcdcdcd .hh.h...T....... - 2190c: 36cdcdcd 704815ec 70707070 70707070 ...6..Hppppppppp - 2191c: 70707070 70707070 70484870 00000070 pppppppppHHpp... - 2192c: 00000000 00707000 00000000 1f70701f .....pp......pp. - 2193c: 1e38cd1f 5454381e 5412bb12 59595959 ..8..8TT...TYYYY - 2194c: 59121259 59595959 0d741259 6868680d Y..YYYYYY.t..hhh - 2195c: 34346868 0d343434 a9a97931 1fa9a9a9 hh44444.1y...... - 2196c: a91f1f1f 1f1f1fa9 1f1f1f1f a9a91f1f ................ - 2197c: b259364f 08080808 94e1e908 3b083bae O6Y..........;.; - 2198c: 23b223a5 a4b259a5 29292929 ca697002 .#.#.Y..)))).pi. - 2199c: ecec6969 4a91ecec 08a94fa9 4f4f3b3b ii.....J.O..;;OO - 219ac: 3bcf4f4f 54cdcdcd 6868b2b2 a1ddcd54 OO.;...T..hhT... - 219bc: cfcb46d9 cfcdcfcf cfcdcfcf 70707070 .F..........pppp - 219cc: 70707070 70364848 70707070 70707070 ppppHH6ppppppppp - 219dc: 70484870 00007070 00000000 00000000 pHHppp.......... - 219ec: 00000000 70707070 383b1f1f 544e3838 ....pppp..;888NT - 219fc: 12771254 59595959 59681259 b2595959 T.w.YYYYY.hYYYY. - 21a0c: 683468b2 0dc82bc8 34686868 34343434 .h4h.+..hhh44444 - 21a1c: 3b131340 a9a9a9a9 1f1f1f1f 1f1f081f @..;............ - 21a2c: 1f1f1f1f a91f1f1f 0d1e4f4f 083b3bb2 ........OO...;;. - 21a3c: 90e6ae08 083b08e9 59a5a53b b723a523 ......;.;..Y#.#. - 21a4c: 2929a4b2 cba92929 ec6969cf 63ececec ..))))...ii....c - 21a5c: a94fa9ec 4f4f4f4f cf4f4f4f cdcdcfcf ..O.OOOOOOO..... - 21a6c: 59b259cd 546868b2 cfa14654 cfcfcfcf .Y.Y.hhTTF...... - 21a7c: cdcfcfcf 7070001f 70707070 36363636 ......pppppp6666 - 21a8c: 00707048 70700070 70487070 00007070 Hpp.p.ppppHppp.. + 216f4: 4f1f7000 38cd3b4e 544e5438 544e5454 .p.ON;.88TNTTTNT + 21704: 54545454 a9595959 1fa9a908 a91f1f1f TTTTYYY......... + 21714: 1fa9a9a9 686868a9 13790d34 08081279 .....hhh4.y.y... + 21724: 1fa9a9a9 1f1f1f1f 1f1f1fa9 1f1f1f1f ................ + 21734: 1f1f1f1f b7b21fa9 080808a5 08080808 ................ + 21744: 44080808 596466e6 a1a40223 a4290a0a ...D.fdY#.....). + 21754: 63fffaa9 69690763 0c0cecec 08086963 ...cc.ii....ci.. + 21764: 08080808 3b3b3b3b 6868593b 5468dd68 ....;;;;;Yhhh.hT + 21774: a1d9d946 cdcb68d9 cdcdcdcd cdcdcd54 F....h......T... + 21784: 36704f54 4a07caec 70704815 70007070 TOp6...J.Hpppp.p + 21794: 70707070 70704848 70707070 00000000 ppppHHpppppp.... + 217a4: 70000000 0000701f 70707000 cd3b544f ...p.p...pppOT;. + 217b4: 4e4e3838 4e4e5454 54545459 12595959 88NNTTNNYTTTYYY. + 217c4: 1f1fa959 a9a91f1f a91f1f1f 68686854 Y...........Thhh + 217d4: 76343468 08797979 a9a9a908 1f1f1f1f h44vyyy......... + 217e4: 1f1fa91f 1f1f1f1f 1f1f1f1f 3b1fa91f ...............; + 217f4: 0808a502 08080808 5154083b 23597294 ........;.TQ.rY# + 21804: 02b223b2 a1a1a1a4 ffec0229 69ec631c .#......)....c.i + 21814: ececec69 a5a963ca 3b3b3b08 3b3b3b3b i....c...;;;;;;; + 21824: 54cdcd3b 46686868 d9745468 cfa1a1a1 ;..ThhhFhTt..... + 21834: cdcdcdcf cdcdcdcd 1536cdcd cbec4aca ..........6..J.. + 21844: 70707070 70707070 70707000 70707070 pppppppp.ppppppp + 21854: 70704870 00000070 00000000 001f7000 pHppp........p.. + 21864: a9700000 1f1f7070 381e38cd 3854544e ..p.pp...8.8NTT8 + 21874: 5454541e 12595959 3b591212 1f1f1fa9 .TTTYYY...Y;.... + 21884: 593ba91f 68b26868 34346868 310d0d0d ..;Yhh.hhh44...1 + 21894: a9a9a912 1f1fa9a9 1f081f1f 1f1f1f1f ................ + 218a4: 1f1f1f1f a9a91f1f 0823021f 3b080808 ..........#....; + 218b4: e6783b3b a508e9ed 2323b259 a1a102b2 ;;x.....Y.##.... + 218c4: a5292929 699163ec ececec69 1ffa07ec )))..c.ii....... + 218d4: 3b3b0808 3b3b3b4f cdcd3b3b 686854cd ..;;O;;;;;...Thh + 218e4: cd6868b2 d9a1a168 cfcfcf54 cdcdcdcd .hh.h...T....... + 218f4: 36cdcdcd 704815ec 70707070 70707070 ...6..Hppppppppp + 21904: 70707070 70707070 70484870 00000070 pppppppppHHpp... + 21914: 00000000 00707000 00000000 1f70701f .....pp......pp. + 21924: 1e38cd1f 5454381e 5412bb12 59595959 ..8..8TT...TYYYY + 21934: 59121259 59595959 0d741259 6868680d Y..YYYYYY.t..hhh + 21944: 34346868 0d343434 a9a97931 1fa9a9a9 hh44444.1y...... + 21954: a91f1f1f 1f1f1fa9 1f1f1f1f a9a91f1f ................ + 21964: b259364f 08080808 94e1e908 3b083bae O6Y..........;.; + 21974: 23b223a5 a4b259a5 29292929 ca697002 .#.#.Y..)))).pi. + 21984: ecec6969 4a91ecec 08a94fa9 4f4f3b3b ii.....J.O..;;OO + 21994: 3bcf4f4f 54cdcdcd 6868b2b2 a1ddcd54 OO.;...T..hhT... + 219a4: cfcb46d9 cfcdcfcf cfcdcfcf 70707070 .F..........pppp + 219b4: 70707070 70364848 70707070 70707070 ppppHH6ppppppppp + 219c4: 70484870 00007070 00000000 00000000 pHHppp.......... + 219d4: 00000000 70707070 383b1f1f 544e3838 ....pppp..;888NT + 219e4: 12771254 59595959 59681259 b2595959 T.w.YYYYY.hYYYY. + 219f4: 683468b2 0dc82bc8 34686868 34343434 .h4h.+..hhh44444 + 21a04: 3b131340 a9a9a9a9 1f1f1f1f 1f1f081f @..;............ + 21a14: 1f1f1f1f a91f1f1f 0d1e4f4f 083b3bb2 ........OO...;;. + 21a24: 90e6ae08 083b08e9 59a5a53b b723a523 ......;.;..Y#.#. + 21a34: 2929a4b2 cba92929 ec6969cf 63ececec ..))))...ii....c + 21a44: a94fa9ec 4f4f4f4f cf4f4f4f cdcdcfcf ..O.OOOOOOO..... + 21a54: 59b259cd 546868b2 cfa14654 cfcfcfcf .Y.Y.hhTTF...... + 21a64: cdcfcfcf 7070001f 70707070 36363636 ......pppppp6666 + 21a74: 00707048 70700070 70487070 00007070 Hpp.p.ppppHppp.. ... - 21aa8: 701f7000 a91f7070 5454543b 38121254 .p.ppp..;TTTT..8 - 21ab8: 12125959 68126812 34685959 0d0d6868 YY...h.hYYh4hh.. - 21ac8: c8c87468 68340dc8 34343434 e8314034 ht....4h44444@1. - 21ad8: a9a9a912 1f1f1fa9 1f08701f 1f1f1f1f .........p...... - 21ae8: 4fa9a91f 161e4f4f 0854b245 78e6ed6d ...OOO..E.T.m..x - 21af8: 083b3b3b a5a53ba9 a5082359 2902b723 ;;;..;..Y#..#..) - 21b08: 1fa5b729 151569cb ecececec a9a936fa )....i.......6.. - 21b18: 4f4f4fa9 4f4f4f4f cfcfcfcf 54cdcd4f .OOOOOOO....O..T - 21b28: 36540259 54484848 cfcfcfcd cfcfcfcf Y.T6HHHT........ - 21b38: 707070cf 48707070 4e4f3636 0070704f .ppppppH66ONOpp. - 21b48: 00000000 70707000 00000000 00000000 .....ppp........ - 21b58: 00000000 00007070 00000000 3b707070 ....pp......ppp; - 21b68: 543ba9a9 59545454 59591259 68686868 ..;TTTTYY.YYhhhh - 21b78: 0db2b268 c8683476 6868680d 34c80d0d h...v4h..hhh...4 - 21b88: 34340234 31403434 a9a9c813 1f1fa91f 4.4444@1........ - 21b98: a91f1f1f 1f1f1fa9 a9a9a9a9 06774fa9 .............Ow. - 21ba8: 4e23e8b5 0c51e697 3b3bcd08 a53ba93b ..#N..Q...;;;.;. - 21bb8: a52323a5 b702b2a5 00000008 15360000 .##...........6. - 21bc8: ecec1569 4f1ffafa a9a9a9a9 4f4f4f4f i......O....OOOO - 21bd8: cfcf4f4f cf4fcfcf 483659cd 48cbcb36 OO....O..Y6H6..H - 21be8: cfcb4f36 cfcfcfcf 700036cf 36707070 6O.......6.pppp6 - 21bf8: 404f3636 70703640 00000000 70000000 66O@@6pp.......p - 21c08: 00000070 00000000 00000000 00000000 p............... - 21c18: 70000000 70700070 3b08a9a9 59125454 ...pp.pp...;TT.Y - 21c28: 77123812 68746812 b2b26868 3476130d .8.w.hthhh....v4 - 21c38: b268c876 0d346868 34023434 40343434 v.h.hh4.44.4444@ - 21c48: 3b797979 1f1f1fa9 701f1f1f a91fa9a9 yyy;.......p.... - 21c58: 1fa9a9a9 31c8cd1f bf79f687 a9d3edbe .......1..y..... - 21c68: 3bcdcd3b 3ba9083b 23a5a5a5 08022308 ;..;;..;...#.#.. + 21a90: 701f7000 a91f7070 5454543b 38121254 .p.ppp..;TTTT..8 + 21aa0: 12125959 68126812 34685959 0d0d6868 YY...h.hYYh4hh.. + 21ab0: c8c87468 68340dc8 34343434 e8314034 ht....4h44444@1. + 21ac0: a9a9a912 1f1f1fa9 1f08701f 1f1f1f1f .........p...... + 21ad0: 4fa9a91f 161e4f4f 0854b245 78e6ed6d ...OOO..E.T.m..x + 21ae0: 083b3b3b a5a53ba9 a5082359 2902b723 ;;;..;..Y#..#..) + 21af0: 1fa5b729 151569cb ecececec a9a936fa )....i.......6.. + 21b00: 4f4f4fa9 4f4f4f4f cfcfcfcf 54cdcd4f .OOOOOOO....O..T + 21b10: 36540259 54484848 cfcfcfcd cfcfcfcf Y.T6HHHT........ + 21b20: 707070cf 48707070 4e4f3636 0070704f .ppppppH66ONOpp. + 21b30: 00000000 70707000 00000000 00000000 .....ppp........ + 21b40: 00000000 00007070 00000000 3b707070 ....pp......ppp; + 21b50: 543ba9a9 59545454 59591259 68686868 ..;TTTTYY.YYhhhh + 21b60: 0db2b268 c8683476 6868680d 34c80d0d h...v4h..hhh...4 + 21b70: 34340234 31403434 a9a9c813 1f1fa91f 4.4444@1........ + 21b80: a91f1f1f 1f1f1fa9 a9a9a9a9 06774fa9 .............Ow. + 21b90: 4e23e8b5 0c51e697 3b3bcd08 a53ba93b ..#N..Q...;;;.;. + 21ba0: a52323a5 b702b2a5 00000008 15360000 .##...........6. + 21bb0: ecec1569 4f1ffafa a9a9a9a9 4f4f4f4f i......O....OOOO + 21bc0: cfcf4f4f cf4fcfcf 483659cd 48cbcb36 OO....O..Y6H6..H + 21bd0: cfcb4f36 cfcfcfcf 700036cf 36707070 6O.......6.pppp6 + 21be0: 404f3636 70703640 00000000 70000000 66O@@6pp.......p + 21bf0: 00000070 00000000 00000000 00000000 p............... + 21c00: 70000000 70700070 3b08a9a9 59125454 ...pp.pp...;TT.Y + 21c10: 77123812 68746812 b2b26868 3476130d .8.w.hthhh....v4 + 21c20: b268c876 0d346868 34023434 40343434 v.h.hh4.44.4444@ + 21c30: 3b797979 1f1f1fa9 701f1f1f a91fa9a9 yyy;.......p.... + 21c40: 1fa9a9a9 31c8cd1f bf79f687 a9d3edbe .......1..y..... + 21c50: 3bcdcd3b 3ba9083b 23a5a5a5 08022308 ;..;;..;...#.#.. ... - 21c80: 70700000 1f15cb70 a9a9a9a9 4fa9a9a9 ..ppp..........O - 21c90: 4f4f4f4f cfcfcf4f 481f59cf 48483636 OOOOO....Y.H66HH - 21ca0: cf4f3648 4f4fcfcf 7070cf4f 70707070 H6O...OOO.pppppp - 21cb0: 344f4f36 7036129d 00000070 00000000 6OO4..6pp....... - 21cc0: 00000070 70007070 00007070 70700000 p...pp.ppp....pp - 21cd0: 00000000 70007070 4f1f1f70 3838593b ....pp.pp..O;Y88 - 21ce0: 12771212 74127477 68686868 340d68b2 ..w.wt.thhhh.h.4 - 21cf0: 68767634 0d68b2b2 3434340d 34343434 4vvh..h..4444444 - 21d00: af79400d 1f1f08b4 1f1f1f1f 1fa91f1f .@y............. - 21d10: 701fa9a9 79311e4f e35b7976 a94fbf5a ...pO.1yvy[.Z.O. - 21d20: cdcd3b3b 4f3b3bcd a508a53b 0023b2a5 ;;...;;O;.....#. + 21c68: 70700000 1f15cb70 a9a9a9a9 4fa9a9a9 ..ppp..........O + 21c78: 4f4f4f4f cfcfcf4f 481f59cf 48483636 OOOOO....Y.H66HH + 21c88: cf4f3648 4f4fcfcf 7070cf4f 70707070 H6O...OOO.pppppp + 21c98: 344f4f36 7036129d 00000070 00000000 6OO4..6pp....... + 21ca8: 00000070 70007070 00007070 70700000 p...pp.ppp....pp + 21cb8: 00000000 70007070 4f1f1f70 3838593b ....pp.pp..O;Y88 + 21cc8: 12771212 74127477 68686868 340d68b2 ..w.wt.thhhh.h.4 + 21cd8: 68767634 0d68b2b2 3434340d 34343434 4vvh..h..4444444 + 21ce8: af79400d 1f1f08b4 1f1f1f1f 1fa91f1f .@y............. + 21cf8: 701fa9a9 79311e4f e35b7976 a94fbf5a ...pO.1yvy[.Z.O. + 21d08: cdcd3b3b 4f3b3bcd a508a53b 0023b2a5 ;;...;;O;.....#. ... - 21d38: 70000000 701fa91f a94f1f4f a9a9a9a9 ...p...pO.O..... - 21d48: 4f4f4f4f cb364f4f 481f594f 48483636 OOOOOO6.OY.H66HH - 21d58: 363b4848 364fcfcf 0048cb36 70707070 HH;6..O66.H.pppp - 21d68: 124fcf36 364fe29d 00000070 70000000 6.O...O6p......p - 21d78: 00000000 48707000 70707048 00000070 .....ppHHpppp... + 21d20: 70000000 701fa91f a94f1f4f a9a9a9a9 ...p...pO.O..... + 21d30: 4f4f4f4f cb364f4f 481f594f 48483636 OOOOOO6.OY.H66HH + 21d40: 363b4848 364fcfcf 0048cb36 70707070 HH;6..O66.H.pppp + 21d50: 124fcf36 364fe29d 00000070 70000000 6.O...O6p......p + 21d60: 00000000 48707000 70707048 00000070 .....ppHHpppp... ... - 21d90: 1f1f7070 383854a9 77123838 59747412 pp...T8888.w.ttY - 21da0: 68681268 59b26868 3468b2b2 68686834 h.hhhh.Y..h44hhh - 21db0: 340dc8c8 34020234 fc37f279 a9543765 ...44..4y.7.e7T. - 21dc0: 1f1fa91f a91f1fa9 4f1f1fa9 7913791e ...........O.y.y - 21dd0: 65fbd176 3b081e0f cd3b4fa9 4f4fcdcd v..e...;.O;...OO - 21de0: a53b3b4f 00a559a5 00000000 00000000 O;;..Y.......... - 21df0: 00000000 4f1f1f1f 1f361f1f 3636361f .......O..6..666 - 21e00: 4f4f3636 364f3636 48a95436 48484836 66OO66O66T.H6HHH - 21e10: 1fcf4848 36364f36 0036cb36 70707070 HH..6O666.6.pppp - 21e20: 4ecf3670 36129d3e 70007036 00000000 p6.N>..66p.p.... - 21e30: 70000070 48487070 48484848 00004848 p..pppHHHHHHHH.. + 21d78: 1f1f7070 383854a9 77123838 59747412 pp...T8888.w.ttY + 21d88: 68681268 59b26868 3468b2b2 68686834 h.hhhh.Y..h44hhh + 21d98: 340dc8c8 34020234 fc37f279 a9543765 ...44..4y.7.e7T. + 21da8: 1f1fa91f a91f1fa9 4f1f1fa9 7913791e ...........O.y.y + 21db8: 65fbd176 3b081e0f cd3b4fa9 4f4fcdcd v..e...;.O;...OO + 21dc8: a53b3b4f 00a559a5 00000000 00000000 O;;..Y.......... + 21dd8: 00000000 4f1f1f1f 1f361f1f 3636361f .......O..6..666 + 21de8: 4f4f3636 364f3636 48a95436 48484836 66OO66O66T.H6HHH + 21df8: 1fcf4848 36364f36 0036cb36 70707070 HH..6O666.6.pppp + 21e08: 4ecf3670 36129d3e 70007036 00000000 p6.N>..66p.p.... + 21e18: 70000070 48487070 48484848 00004848 p..pppHHHHHHHH.. ... - 21e48: 1f707000 7454a91f 12383874 74741274 .pp...Ttt88.t.tt - 21e58: 68b25959 68686868 b2686868 686868b2 YY.hhhhhhhh..hhh - 21e68: c8790d68 2c2b3434 fbfc2ee3 c831795b h.y.44+,....[y1. - 21e78: a91f1fa9 a91f1fa9 1e4f1f1f 79314513 ..........O..E1y - 21e88: e3657167 4f740dd1 3b4fa908 4fcfcdcd gqe...tO..O;...O - 21e98: 3b4f4f4f 00a9233b 00000000 00000000 OOO;;#.......... - 21ea8: 00000000 701f1f70 3670a91f 361f1f1f ....p..p..p6...6 - 21eb8: 36363636 364f4f36 70083b36 48484848 66666OO66;.pHHHH - 21ec8: 1f364848 36364f36 00363636 70707070 HH6.6O66666.pppp - 21ed8: 3b4f361f cde29d40 00004836 70007000 .6O;@...6H...p.p - 21ee8: 70707000 48484848 15484848 00fd1515 .pppHHHHHHH..... - 21ef8: 00007070 70000000 70707070 54a9361f pp.....ppppp.6.T - 21f08: 74747412 68121212 68595974 68686868 .ttt...htYYhhhhh - 21f18: 68686868 68b26868 0d343468 fce32c79 hhhhhh.hh44.y,.. - 21f28: 76d153e3 79764040 1fa97745 1f1f1f1f .S.v@@vyEw...... - 21f38: 13c84ea9 133113e8 f2fcfcaf 0d0d0dc8 .N....1......... - 21f48: a9a9a93b cfcdcd4f a9a94f4f 00a9543b ;...O...OO..;T.. + 21e30: 1f707000 7454a91f 12383874 74741274 .pp...Ttt88.t.tt + 21e40: 68b25959 68686868 b2686868 686868b2 YY.hhhhhhhh..hhh + 21e50: c8790d68 2c2b3434 fbfc2ee3 c831795b h.y.44+,....[y1. + 21e60: a91f1fa9 a91f1fa9 1e4f1f1f 79314513 ..........O..E1y + 21e70: e3657167 4f740dd1 3b4fa908 4fcfcdcd gqe...tO..O;...O + 21e80: 3b4f4f4f 00a9233b 00000000 00000000 OOO;;#.......... + 21e90: 00000000 701f1f70 3670a91f 361f1f1f ....p..p..p6...6 + 21ea0: 36363636 364f4f36 70083b36 48484848 66666OO66;.pHHHH + 21eb0: 1f364848 36364f36 00363636 70707070 HH6.6O66666.pppp + 21ec0: 3b4f361f cde29d40 00004836 70007000 .6O;@...6H...p.p + 21ed0: 70707000 48484848 15484848 00fd1515 .pppHHHHHHH..... + 21ee0: 00007070 70000000 70707070 54a9361f pp.....ppppp.6.T + 21ef0: 74747412 68121212 68595974 68686868 .ttt...htYYhhhhh + 21f00: 68686868 68b26868 0d343468 fce32c79 hhhhhh.hh44.y,.. + 21f10: 76d153e3 79764040 1fa97745 1f1f1f1f .S.v@@vyEw...... + 21f20: 13c84ea9 133113e8 f2fcfcaf 0d0d0dc8 .N....1......... + 21f30: a9a9a93b cfcdcd4f a9a94f4f 00a9543b ;...O...OO..;T.. ... - 21f60: 48151500 1f007070 1fa9701f 36361f1f ...Hpp...p....66 - 21f70: 36361f1f 36363636 703b3b36 48484848 ..6666666;;pHHHH - 21f80: a9364848 36364f1f 70363636 70707000 HH6..O66666p.ppp - 21f90: 4f363670 123e3e12 00703636 00000000 p66O.>>.66p..... - 21fa0: 48487070 15484848 fd151515 07074a4a ppHHHHH.....JJ.. + 21f48: 48151500 1f007070 1fa9701f 36361f1f ...Hpp...p....66 + 21f58: 36361f1f 36363636 703b3b36 48484848 ..6666666;;pHHHH + 21f68: a9364848 36364f1f 70363636 70707000 HH6..O66666p.ppp + 21f78: 4f363670 123e3e12 00703636 00000000 p66O.>>.66p..... + 21f88: 48487070 15484848 fd151515 07074a4a ppHHHHH.....JJ.. ... - 21fb8: 1f700000 4f361f1f 7412543b 12681274 ..p...6O;T.tt.h. - 21fc8: 5959340d 740d6868 68687434 b2686868 .4YYhh.t4thhhhh. - 21fd8: c8346868 71fcfc53 34340dd1 76767676 hh4.S..q..44vvvv - 21fe8: 31453131 4e541277 e8e86777 af313113 11E1w.TNwg...11. - 21ff8: 79716510 0d0d0d0d a9a94e0d cfcf4fa9 .eqy.....N...O.. - 22008: a94f4fcf 001fa5a9 00000000 00000000 .OO............. - 22018: cb150000 70707048 1f1f7000 1f1f70a9 ....Hppp.p...p.. - 22028: 1f36361f 36363636 703b4f36 48484870 .66.66666O;ppHHH - 22038: 1f364848 36363648 70483636 70707070 HH6.H66666Hppppp - 22048: 36367070 343e403b 7048364f 00000000 pp66;@>4O6Hp.... - 22058: 48484870 15151548 07074afd 4a4a0707 pHHHH....J....JJ - 22068: 000000fd 00000000 70700000 361f1f1f ..........pp...6 - 22078: 12543b4f 68127474 b268130d 0d68b2b2 O;T.tt.h..h...h. - 22088: 34346874 68686868 712b6868 79b46ffc th44hhhhhh+q.o.y - 22098: 340d0d0d 76797634 31313176 13e8e813 ...44vyvv111.... - 220a8: 1313e845 37333113 76d13765 0d0dc876 E....137e7.vv... - 220b8: 4f74770d cf4fa9a9 a94fcfcf 007008a9 .wtO..O...O...p. + 21fa0: 1f700000 4f361f1f 7412543b 12681274 ..p...6O;T.tt.h. + 21fb0: 5959340d 740d6868 68687434 b2686868 .4YYhh.t4thhhhh. + 21fc0: c8346868 71fcfc53 34340dd1 76767676 hh4.S..q..44vvvv + 21fd0: 31453131 4e541277 e8e86777 af313113 11E1w.TNwg...11. + 21fe0: 79716510 0d0d0d0d a9a94e0d cfcf4fa9 .eqy.....N...O.. + 21ff0: a94f4fcf 001fa5a9 00000000 00000000 .OO............. + 22000: cb150000 70707048 1f1f7000 1f1f70a9 ....Hppp.p...p.. + 22010: 1f36361f 36363636 703b4f36 48484870 .66.66666O;ppHHH + 22020: 1f364848 36363648 70483636 70707070 HH6.H66666Hppppp + 22030: 36367070 343e403b 7048364f 00000000 pp66;@>4O6Hp.... + 22040: 48484870 15151548 07074afd 4a4a0707 pHHHH....J....JJ + 22050: 000000fd 00000000 70700000 361f1f1f ..........pp...6 + 22060: 12543b4f 68127474 b268130d 0d68b2b2 O;T.tt.h..h...h. + 22070: 34346874 68686868 712b6868 79b46ffc th44hhhhhh+q.o.y + 22080: 340d0d0d 76797634 31313176 13e8e813 ...44vyvv111.... + 22090: 1313e845 37333113 76d13765 0d0dc876 E....137e7.vv... + 220a0: 4f74770d cf4fa9a9 a94fcfcf 007008a9 .wtO..O...O...p. ... - 220d0: 15480000 70707015 70007070 1f70a91f ..H..ppppp.p..p. - 220e0: 361f1f1f 36363636 703b3636 70007070 ...6666666;ppp.p - 220f0: 36484848 48484870 00704836 70707070 HHH6pHHH6Hp.pppp - 22100: 36707070 e23e1236 704836cd 48707070 ppp66.>..6HppppH - 22110: 48484848 4afd1515 4a070707 1515fd4a HHHH...J...JJ... - 22120: 00004848 00000000 00000000 1f363670 HH..........p66. - 22130: 543b4f36 12747459 68c80d74 68b25959 6O;TYtt.t..hYY.h - 22140: 68686868 68686834 fc53c8b2 68345b10 hhhh4hhh..S..[4h - 22150: 0dc8c834 79763434 31313176 13131331 4...44vyv1111... - 22160: 13131313 650f1331 76795b10 c80dc876 ....1..e.[yvv... - 22170: 7474770d 4f3b1f4e 4f4fcfcf 0070a93b .wttN.;O..OO;.p. + 220b8: 15480000 70707015 70007070 1f70a91f ..H..ppppp.p..p. + 220c8: 361f1f1f 36363636 703b3636 70007070 ...6666666;ppp.p + 220d8: 36484848 48484870 00704836 70707070 HHH6pHHH6Hp.pppp + 220e8: 36707070 e23e1236 704836cd 48707070 ppp66.>..6HppppH + 220f8: 48484848 4afd1515 4a070707 1515fd4a HHHH...J...JJ... + 22108: 00004848 00000000 00000000 1f363670 HH..........p66. + 22118: 543b4f36 12747459 68c80d74 68b25959 6O;TYtt.t..hYY.h + 22128: 68686868 68686834 fc53c8b2 68345b10 hhhh4hhh..S..[4h + 22138: 0dc8c834 79763434 31313176 13131331 4...44vyv1111... + 22148: 13131313 650f1331 76795b10 c80dc876 ....1..e.[yvv... + 22158: 7474770d 4f3b1f4e 4f4fcfcf 0070a93b .wttN.;O..OO;.p. ... - 22188: 15000000 700015cb 70707070 a91f0070 .......pppppp... - 22198: 36363670 36363636 704f3648 70701f70 p6666666H6Opp.pp - 221a8: 48487070 36364870 70707048 70707070 ppHHpH66Hppppppp - 221b8: 36707070 e240cf36 483636cd 48484870 ppp66.@..66HpHHH - 221c8: 15484848 07074afd 15fd4a4a 48481515 HHH..J..JJ....HH - 221d8: 00484848 00000000 00000000 1f700000 HHH...........p. - 221e8: cd363670 59595454 74127459 68685912 p66.TTYYYt.t.Yhh - 221f8: 68686868 b2683468 711053c8 34767664 hhhhh4h..S.qdvv4 - 22208: 0d0d3468 0d34340d 13137676 13133131 h4...44.vv..11.. - 22218: 31131313 eafcaf13 797979b1 c8c8c876 ...1.....yyyv... - 22228: 74770dc8 1fcf7474 3bcdcd3b 00001f3b ..wttt..;..;;... + 22170: 15000000 700015cb 70707070 a91f0070 .......pppppp... + 22180: 36363670 36363636 704f3648 70701f70 p6666666H6Opp.pp + 22190: 48487070 36364870 70707048 70707070 ppHHpH66Hppppppp + 221a0: 36707070 e240cf36 483636cd 48484870 ppp66.@..66HpHHH + 221b0: 15484848 07074afd 15fd4a4a 48481515 HHH..J..JJ....HH + 221c0: 00484848 00000000 00000000 1f700000 HHH...........p. + 221d0: cd363670 59595454 74127459 68685912 p66.TTYYYt.t.Yhh + 221e0: 68686868 b2683468 711053c8 34767664 hhhhh4h..S.qdvv4 + 221f0: 0d0d3468 0d34340d 13137676 13133131 h4...44.vv..11.. + 22200: 31131313 eafcaf13 797979b1 c8c8c876 ...1.....yyyv... + 22210: 74770dc8 1fcf7474 3bcdcd3b 00001f3b ..wttt..;..;;... ... - 22244: 00481515 70707070 00707070 36701f1f ..H.ppppppp...p6 - 22254: 48363636 70a94f36 70701f70 70707070 666H6O.pp.pppppp - 22264: 48707070 70007070 70707070 70707070 pppHpp.ppppppppp - 22274: 34cd3636 483636cd 48484848 4afd1548 66.4.66HHHHHH..J - 22284: fd4a074a 48151515 48484848 00707048 J.J....HHHHHHpp. - 22294: 00000000 70000000 70000000 4f367070 .......p...ppp6O - 222a4: 5454cdcd 12125959 68685974 0d686868 ..TTYY..tYhhhhh. - 222b4: 77b26868 2b241053 0d346868 34683434 hh.wS.$+hh4.44h4 - 222c4: 34343434 31404034 31313113 13131313 44444@@1.111.... - 222d4: 0f65e35b 79797967 c8c8c82b 777777c8 [.e.gyyy+....www - 222e4: 74383874 4f4f7070 0000701f 00000000 t88tppOO.p...... + 2222c: 00481515 70707070 00707070 36701f1f ..H.ppppppp...p6 + 2223c: 48363636 70a94f36 70701f70 70707070 666H6O.pp.pppppp + 2224c: 48707070 70007070 70707070 70707070 pppHpp.ppppppppp + 2225c: 34cd3636 483636cd 48484848 4afd1548 66.4.66HHHHHH..J + 2226c: fd4a074a 48151515 48484848 00707048 J.J....HHHHHHpp. + 2227c: 00000000 70000000 70000000 4f367070 .......p...ppp6O + 2228c: 5454cdcd 12125959 68685974 0d686868 ..TTYY..tYhhhhh. + 2229c: 77b26868 2b241053 0d346868 34683434 hh.wS.$+hh4.44h4 + 222ac: 34343434 31404034 31313113 13131313 44444@@1.111.... + 222bc: 0f65e35b 79797967 c8c8c82b 777777c8 [.e.gyyy+....www + 222cc: 74383874 4f4f7070 0000701f 00000000 t88tppOO.p...... ... - 222fc: 48151548 70707000 70707070 00707070 H..H.pppppppppp. - 2230c: 361f7070 701fa936 70707070 70707070 pp.66..ppppppppp - 2231c: 70707070 70707070 70707070 70707070 pppppppppppppppp - 2232c: cf364870 48cbcbcf 15484848 074afd15 pH6....HHHH...J. - 2233c: 1515fd4a 48484815 70484848 00000070 J....HHHHHHpp... + 222e4: 48151548 70707000 70707070 00707070 H..H.pppppppppp. + 222f4: 361f7070 701fa936 70707070 70707070 pp.66..ppppppppp + 22304: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22314: cf364870 48cbcbcf 15484848 074afd15 pH6....HHHH...J. + 22324: 1515fd4a 48484815 70484848 00000070 J....HHHHHHpp... ... - 22354: 70000070 4f487070 121254cf 12125959 p..pppHO.T..YY.. - 22364: 68595974 68343434 f1746868 b2c85310 tYYh444hhht..S.. - 22374: 68686868 34343468 34686868 400d3434 hhhhh444hhh444.@ - 22384: 31311331 33313131 33e365fb 76797979 1.111113.e.3yyyv - 22394: c8c8c876 797977c8 38387477 00000038 v....wyywt888... + 2233c: 70000070 4f487070 121254cf 12125959 p..pppHO.T..YY.. + 2234c: 68595974 68343434 f1746868 b2c85310 tYYh444hhht..S.. + 2235c: 68686868 34343468 34686868 400d3434 hhhhh444hhh444.@ + 2236c: 31311331 33313131 33e365fb 76797979 1.111113.e.3yyyv + 2237c: c8c8c876 797977c8 38387477 00000038 v....wyywt888... ... - 223b4: 15154800 70700000 70707070 70707070 .H....pppppppppp - 223c4: 70000070 70707070 70707070 70707070 p..ppppppppppppp - 223d4: 70707070 70707070 70707070 70707070 pppppppppppppppp - 223e4: 36487070 cbcbcb36 fd151515 fd4a074a ppH66.......J.J. - 223f4: 48481515 48484848 00707048 00000000 ..HHHHHHHpp..... + 2239c: 15154800 70700000 70707070 70707070 .H....pppppppppp + 223ac: 70000070 70707070 70707070 70707070 p..ppppppppppppp + 223bc: 70707070 70707070 70707070 70707070 pppppppppppppppp + 223cc: 36487070 cbcbcb36 fd151515 fd4a074a ppH66.......J.J. + 223dc: 48481515 48484848 00707048 00000000 ..HHHHHHHpp..... ... - 2240c: 70000000 36707070 0d12cdcd 59595968 ...pppp6....hYYY - 2241c: 59595959 34686868 66e56868 34682bbe YYYYhhh4hh.f.+h4 - 2242c: 68686868 34686868 34686834 34343434 hhhhhhh44hh44444 - 2243c: 31317634 b1133131 79f210fc 76767979 4v1111.....yyyvv - 2244c: c8c8c8c8 45c877c8 381e74c8 00006938 .....w.E.t.88i.. - 2245c: 00707070 00000000 00000000 00000000 ppp............. - 2246c: 15150000 70000015 70707070 70707070 .......ppppppppp - 2247c: 70707070 70707070 70707070 70707070 pppppppppppppppp - 2248c: 70707070 70707070 70707070 70707070 pppppppppppppppp - 2249c: 48487070 cbcbcbcb 074aec15 15fd4a07 ppHH......J..J.. - 224ac: 48484848 00704848 00000000 00000000 HHHHHHp......... + 223f4: 70000000 36707070 0d12cdcd 59595968 ...pppp6....hYYY + 22404: 59595959 34686868 66e56868 34682bbe YYYYhhh4hh.f.+h4 + 22414: 68686868 34686868 34686834 34343434 hhhhhhh44hh44444 + 22424: 31317634 b1133131 79f210fc 76767979 4v1111.....yyyvv + 22434: c8c8c8c8 45c877c8 381e74c8 00006938 .....w.E.t.88i.. + 22444: 00707070 00000000 00000000 00000000 ppp............. + 22454: 15150000 70000015 70707070 70707070 .......ppppppppp + 22464: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22474: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22484: 48487070 cbcbcbcb 074aec15 15fd4a07 ppHH......J..J.. + 22494: 48484848 00704848 00000000 00000000 HHHHHHp......... ... - 224c8: 70707070 4554cd4f 59595976 59595959 ppppO.TEvYYYYYYY - 224d8: 68685959 66be2b68 0d6868e5 68683434 YYhhh+.f.hh.44hh - 224e8: 68686868 34686868 34460d34 76763434 hhhhhhh44.F444vv - 224f8: e3f27940 7967b1fc c8767679 c8c8c8c8 @y....gyyvv..... - 22508: 77777777 381e1e77 00483838 70707000 wwwww..888H..ppp + 224b0: 70707070 4554cd4f 59595976 59595959 ppppO.TEvYYYYYYY + 224c0: 68685959 66be2b68 0d6868e5 68683434 YYhhh+.f.hh.44hh + 224d0: 68686868 34686868 34460d34 76763434 hhhhhhh44.F444vv + 224e0: e3f27940 7967b1fc c8767679 c8c8c8c8 @y....gyyvv..... + 224f0: 77777777 381e1e77 00483838 70707000 wwwww..888H..ppp ... - 22524: 15700000 00004815 70707070 70707070 ..p..H..pppppppp - 22534: 70707070 701f7070 70707070 70707070 pppppp.ppppppppp - 22544: 70707070 70707070 70707070 70707070 pppppppppppppppp - 22554: 48484848 15cb4848 ca91074a 4815694a HHHHHH..J...Ji.H - 22564: 70484848 00000000 00000000 00000000 HHHp............ + 2250c: 15700000 00004815 70707070 70707070 ..p..H..pppppppp + 2251c: 70707070 701f7070 70707070 70707070 pppppp.ppppppppp + 2252c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2253c: 48484848 15cb4848 ca91074a 4815694a HHHHHH..J...Ji.H + 2254c: 70484848 00000000 00000000 00000000 HHHp............ ... - 22580: 70700000 ab4f3636 59126887 59595959 ..pp66O..h.YYYYY - 22590: 68685959 dba6f174 6868b274 68340d0d YYhht...t.hh..4h - 225a0: 68686868 34686868 0d0d3434 40343446 hhhhhhh444..F44@ - 225b0: e3372c79 764067b1 c8c8c876 77c8c8c8 y,7..g@vv......w - 225c0: 77777777 1e1e1e1e 000c3838 70000000 wwww....88.....p + 22568: 70700000 ab4f3636 59126887 59595959 ..pp66O..h.YYYYY + 22578: 68685959 dba6f174 6868b274 68340d0d YYhht...t.hh..4h + 22588: 68686868 34686868 0d0d3434 40343446 hhhhhhh444..F44@ + 22598: e3372c79 764067b1 c8c8c876 77c8c8c8 y,7..g@vv......w + 225a8: 77777777 1e1e1e1e 000c3838 70000000 wwww....88.....p ... - 225dc: 48000000 00701515 70707000 70707070 ...H..p..ppppppp - 225ec: 70707070 70707070 70707070 70707070 pppppppppppppppp - 225fc: 70707070 70707070 70707070 70707070 pppppppppppppppp - 2260c: 48484848 ca15cbcb eccafa91 4815e969 HHHH........i..H - 2261c: 00004848 00000000 00000000 00000000 HH.............. + 225c4: 48000000 00701515 70707000 70707070 ...H..p..ppppppp + 225d4: 70707070 70707070 70707070 70707070 pppppppppppppppp + 225e4: 70707070 70707070 70707070 70707070 pppppppppppppppp + 225f4: 48484848 ca15cbcb eccafa91 4815e969 HHHH........i..H + 22604: 00004848 00000000 00000000 00000000 HH.............. ... - 22634: 70000000 70007070 0c363636 121277dc ...ppp.p666..w.. - 22644: 59595959 68595959 646666d1 68686868 YYYYYYYh.ffdhhhh - 22654: 68680d68 68686868 34686868 46346834 h.hhhhhhhhh44h4F - 22664: 2b34460d f27171f1 76767679 c8c8c876 .F4+.qq.yvvvv... - 22674: 7777c8c8 77777777 381e1e1e cb384e38 ..wwwwww...88N8. - 22684: 00000000 00000070 00000000 00000000 ....p........... - 22694: 00000000 00151515 70700000 70707070 ..........pppppp - 226a4: 70707070 70707070 70707070 70707070 pppppppppppppppp - 226b4: 70707070 70707070 4f367070 48707070 pppppppppp6OpppH - 226c4: 48cb4848 6307fd48 15154a91 48e9e9cb HH.HH..c.J.....H - 226d4: 00007048 00000000 00000000 00000000 Hp.............. + 2261c: 70000000 70007070 0c363636 121277dc ...ppp.p666..w.. + 2262c: 59595959 68595959 646666d1 68686868 YYYYYYYh.ffdhhhh + 2263c: 68680d68 68686868 34686868 46346834 h.hhhhhhhhh44h4F + 2264c: 2b34460d f27171f1 76767679 c8c8c876 .F4+.qq.yvvvv... + 2265c: 7777c8c8 77777777 381e1e1e cb384e38 ..wwwwww...88N8. + 2266c: 00000000 00000070 00000000 00000000 ....p........... + 2267c: 00000000 00151515 70700000 70707070 ..........pppppp + 2268c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2269c: 70707070 70707070 4f367070 48707070 pppppppppp6OpppH + 226ac: 48cb4848 6307fd48 15154a91 48e9e9cb HH.HH..c.J.....H + 226bc: 00007048 00000000 00000000 00000000 Hp.............. ... - 226ec: 00007000 70707070 36cfcf1f 4e6979ab .p..pppp...6.yiN - 226fc: 54545454 12595959 74f16553 68686868 TTTTYYY.Se.thhhh - 2270c: 68686868 68686868 34686868 6868340d hhhhhhhhhhh4.4hh - 2271c: b02b4634 0d67f153 4076400d c80d0d0d 4F+.S.g..@v@.... - 2272c: 7777c8c8 1e1e7777 381e1e1e e94ee938 ..wwww.....88.N. - 2273c: 00000048 00007000 00000000 00000000 H....p.......... - 2274c: 00000000 1548fd00 70000000 70707070 ......H....ppppp - 2275c: 70707070 70707070 70707070 70707070 pppppppppppppppp - 2276c: 70707070 70707070 594f7070 4848703b ppppppppppOY;pHH - 2277c: 48cbcb48 9163faec 15cb154a 691e69cb H..H..c.J....i.i - 2278c: 00007048 00000000 00000000 00000000 Hp.............. + 226d4: 00007000 70707070 36cfcf1f 4e6979ab .p..pppp...6.yiN + 226e4: 54545454 12595959 74f16553 68686868 TTTTYYY.Se.thhhh + 226f4: 68686868 68686868 34686868 6868340d hhhhhhhhhhh4.4hh + 22704: b02b4634 0d67f153 4076400d c80d0d0d 4F+.S.g..@v@.... + 22714: 7777c8c8 1e1e7777 381e1e1e e94ee938 ..wwww.....88.N. + 22724: 00000048 00007000 00000000 00000000 H....p.......... + 22734: 00000000 1548fd00 70000000 70707070 ......H....ppppp + 22744: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22754: 70707070 70707070 594f7070 4848703b ppppppppppOY;pHH + 22764: 48cbcb48 9163faec 15cb154a 691e69cb H..H..c.J....i.i + 22774: 00007048 00000000 00000000 00000000 Hp.............. ... - 227a4: 00707000 70700000 4f367070 cf691e0c .pp...pppp6O..i. - 227b4: 54cdcdcf bb545954 682b5a66 68686868 ...TTYT.fZ+hhhhh - 227c4: 68686834 34686868 68686834 340d0d68 4hhhhhh44hhhh..4 - 227d4: b0640d68 34462bb0 0d0d0d34 0d0d0d0d h.d..+F44....... - 227e4: 7777c8c8 1e1e1e77 381e1e1e 4ee9e9e9 ..www......8...N - 227f4: 0000000c 00700000 00000000 00000000 ......p......... - 22804: 00000000 15fd4800 70000048 70707070 .....H..H..ppppp - 22814: 70707070 70707070 70707070 70707070 pppppppppppppppp - 22824: 70707070 70707070 59367070 48483659 pppppppppp6YY6HH - 22834: ec4848cb 4a631c63 cbcb1515 124ecbcb .HH.c.cJ......N. - 22844: 00007036 00000000 00000000 00000000 6p.............. + 2278c: 00707000 70700000 4f367070 cf691e0c .pp...pppp6O..i. + 2279c: 54cdcdcf bb545954 682b5a66 68686868 ...TTYT.fZ+hhhhh + 227ac: 68686834 34686868 68686834 340d0d68 4hhhhhh44hhhh..4 + 227bc: b0640d68 34462bb0 0d0d0d34 0d0d0d0d h.d..+F44....... + 227cc: 7777c8c8 1e1e1e77 381e1e1e 4ee9e9e9 ..www......8...N + 227dc: 0000000c 00700000 00000000 00000000 ......p......... + 227ec: 00000000 15fd4800 70000048 70707070 .....H..H..ppppp + 227fc: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2280c: 70707070 70707070 59367070 48483659 pppppppppp6YY6HH + 2281c: ec4848cb 4a631c63 cbcb1515 124ecbcb .HH.c.cJ......N. + 2282c: 00007036 00000000 00000000 00000000 6p.............. ... - 2285c: 70700000 70707070 36367070 cfcfcf36 ..pppppppp666... - 2286c: 59cdcfcf 2f545459 59597294 68686812 ...YYTT/.rYY.hhh - 2287c: 68346868 34686868 6874460d 0d466868 hh4hhhh4.FthhhF. - 2288c: 2b2bc80d 46464646 0d343446 0d0d0d0d ..++FFFFF44..... - 2289c: 7777c80d 1e1e7777 e91e3838 4ee9e9e9 ..wwww..88.....N - 228ac: 0000cb4e 70000000 00000000 00000000 N......p........ - 228bc: 00000000 15150000 00007015 70707070 .........p..pppp - 228cc: 70707070 70707070 70707070 70707070 pppppppppppppppp - 228dc: 48707070 70707048 cf487070 cb483654 pppHHpppppH.T6H. - 228ec: 631548cb 154a6397 484815cb 12693648 .H.c.cJ...HHH6i. - 228fc: 0070703b 00000000 00000000 00000000 ;pp............. + 22844: 70700000 70707070 36367070 cfcfcf36 ..pppppppp666... + 22854: 59cdcfcf 2f545459 59597294 68686812 ...YYTT/.rYY.hhh + 22864: 68346868 34686868 6874460d 0d466868 hh4hhhh4.FthhhF. + 22874: 2b2bc80d 46464646 0d343446 0d0d0d0d ..++FFFFF44..... + 22884: 7777c80d 1e1e7777 e91e3838 4ee9e9e9 ..wwww..88.....N + 22894: 0000cb4e 70000000 00000000 00000000 N......p........ + 228a4: 00000000 15150000 00007015 70707070 .........p..pppp + 228b4: 70707070 70707070 70707070 70707070 pppppppppppppppp + 228c4: 48707070 70707048 cf487070 cb483654 pppHHpppppH.T6H. + 228d4: 631548cb 154a6397 484815cb 12693648 .H.c.cJ...HHH6i. + 228e4: 0070703b 00000000 00000000 00000000 ;pp............. ... - 22914: 70700000 70707070 4f707070 3636364f ..pppppppppOO666 - 22924: 544fcf4f 0b545968 59a5bf94 74681259 O.OThYT....YY.ht - 22934: 34686868 6868400d 74460d68 74686868 hhh4.@hhh.Fthhht - 22944: 74460d0d 46746868 46746874 0d0d3434 ..FthhtFthtF44.. - 22954: c80dc80d 1e1e7779 e9e9381e 4ee9e9e9 ....yw...8.....N - 22964: 00480c0c 00000000 00000070 00000000 ..H.....p....... - 22974: 00000000 fd000000 00001548 70707000 ........H....ppp - 22984: 70707070 70707070 70707070 70707070 pppppppppppppppp - 22994: 361f7070 70363636 36707070 15cb36cf pp.6666pppp6.6.. - 229a4: 73071548 48154a1c 48484848 4e484848 H..s.J.HHHHHHHHN - 229b4: 00703612 00000000 00000000 00000000 .6p............. + 228fc: 70700000 70707070 4f707070 3636364f ..pppppppppOO666 + 2290c: 544fcf4f 0b545968 59a5bf94 74681259 O.OThYT....YY.ht + 2291c: 34686868 6868400d 74460d68 74686868 hhh4.@hhh.Fthhht + 2292c: 74460d0d 46746868 46746874 0d0d3434 ..FthhtFthtF44.. + 2293c: c80dc80d 1e1e7779 e9e9381e 4ee9e9e9 ....yw...8.....N + 2294c: 00480c0c 00000000 00000070 00000000 ..H.....p....... + 2295c: 00000000 fd000000 00001548 70707000 ........H....ppp + 2296c: 70707070 70707070 70707070 70707070 pppppppppppppppp + 2297c: 361f7070 70363636 36707070 15cb36cf pp.6666pppp6.6.. + 2298c: 73071548 48154a1c 48484848 4e484848 H..s.J.HHHHHHHHN + 2299c: 00703612 00000000 00000000 00000000 .6p............. ... - 229cc: 70700000 70707070 70707070 36364f4f ..ppppppppppOO66 - 229dc: cfcf3636 24387454 54541e94 12595959 66..Tt8$..TTYYY. - 229ec: 68687474 6831f640 68686868 74686874 tthh@.1hhhhhthht - 229fc: 68747474 68687468 74686868 0d464646 ttthhthhhhhtFFF. - 22a0c: 79c80d0d 387731f6 e9e9e938 0c0ce9e9 ...y.1w88....... - 22a1c: 0069cdcd 00000000 00007000 00000000 ..i......p...... + 229b4: 70700000 70707070 70707070 36364f4f ..ppppppppppOO66 + 229c4: cfcf3636 24387454 54541e94 12595959 66..Tt8$..TTYYY. + 229d4: 68687474 6831f640 68686868 74686874 tthh@.1hhhhhthht + 229e4: 68747474 68687468 74686868 0d464646 ttthhthhhhhtFFF. + 229f4: 79c80d0d 387731f6 e9e9e938 0c0ce9e9 ...y.1w88....... + 22a04: 0069cdcd 00000000 00007000 00000000 ..i......p...... ... - 22a34: 001548fd 70700000 70707070 70707070 .H....pppppppppp - 22a44: 70707070 70707070 36367070 4f543636 pppppppppp6666TO - 22a54: 48707070 15cb3636 73ff4acb 48481507 pppH66...J.s..HH - 22a64: 48484848 cb484848 70704f12 00000000 HHHHHHH..Opp.... + 22a1c: 001548fd 70700000 70707070 70707070 .H....pppppppppp + 22a2c: 70707070 70707070 36367070 4f543636 pppppppppp6666TO + 22a3c: 48707070 15cb3636 73ff4acb 48481507 pppH66...J.s..HH + 22a4c: 48484848 cb484848 70704f12 00000000 HHHHHHH..Opp.... ... - 22a84: 70000000 70707070 701f1f70 36361f70 ...pppppp..pp.66 - 22a94: cf363636 5a4ecdcf cd3b38e6 5959593b 666...NZ.8;.;YYY - 22aa4: 68747412 3487f634 68686834 74747468 .tth4..44hhhhttt - 22ab4: 74747474 68687474 74746868 46467468 tttttthhhhtthtFF - 22ac4: 31c8c80d 1ec8f616 e9e9e91e cd0ce9e9 ...1............ - 22ad4: cbcdcdcd 00000000 00000000 00000000 ................ - 22ae4: 70700000 00000070 4848fd48 48000000 ..ppp...H.HH...H - 22af4: 70707070 70707070 70707070 70707070 pppppppppppppppp - 22b04: 36367070 59684f36 48484836 cb15cb36 pp666OhY6HHH6... - 22b14: 63736315 48154815 48484848 48484848 .csc.H.HHHHHHHHH - 22b24: 7070cdcd 00000000 00000000 00000000 ..pp............ + 22a6c: 70000000 70707070 701f1f70 36361f70 ...pppppp..pp.66 + 22a7c: cf363636 5a4ecdcf cd3b38e6 5959593b 666...NZ.8;.;YYY + 22a8c: 68747412 3487f634 68686834 74747468 .tth4..44hhhhttt + 22a9c: 74747474 68687474 74746868 46467468 tttttthhhhtthtFF + 22aac: 31c8c80d 1ec8f616 e9e9e91e cd0ce9e9 ...1............ + 22abc: cbcdcdcd 00000000 00000000 00000000 ................ + 22acc: 70700000 00000070 4848fd48 48000000 ..ppp...H.HH...H + 22adc: 70707070 70707070 70707070 70707070 pppppppppppppppp + 22aec: 36367070 59684f36 48484836 cb15cb36 pp666OhY6HHH6... + 22afc: 63736315 48154815 48484848 48484848 .csc.H.HHHHHHHHH + 22b0c: 7070cdcd 00000000 00000000 00000000 ..pp............ ... - 22b40: 361f1f70 36361f1f 1f1f1f1f cf363636 p..6..66....666. - 22b50: 32e9cfcf cd54e932 59543b3b 74746859 ...22.T.;;TYYhtt - 22b60: 34877968 68686868 74746868 68686868 hy.4hhhhhhtthhhh - 22b70: 68686874 74746868 74747468 79c80d74 thhhhhtthtttt..y - 22b80: 7479165d e9e9e91e cd0c0c0c cdcdcdcd ].yt............ - 22b90: 00000048 00000000 70000000 36363636 H..........p6666 - 22ba0: 00363636 48151500 00000000 70707048 666....H....Hppp - 22bb0: 70707070 70707070 70707070 36484870 pppppppppppppHH6 - 22bc0: 34684f36 4848484f 15151548 4aff73ca 6Oh4OHHHH....s.J - 22bd0: 48481548 70704848 48487070 0048cd36 H.HHHHppppHH6.H. + 22b28: 361f1f70 36361f1f 1f1f1f1f cf363636 p..6..66....666. + 22b38: 32e9cfcf cd54e932 59543b3b 74746859 ...22.T.;;TYYhtt + 22b48: 34877968 68686868 74746868 68686868 hy.4hhhhhhtthhhh + 22b58: 68686874 74746868 74747468 79c80d74 thhhhhtthtttt..y + 22b68: 7479165d e9e9e91e cd0c0c0c cdcdcdcd ].yt............ + 22b78: 00000048 00000000 70000000 36363636 H..........p6666 + 22b88: 00363636 48151500 00000000 70707048 666....H....Hppp + 22b98: 70707070 70707070 70707070 36484870 pppppppppppppHH6 + 22ba8: 34684f36 4848484f 15151548 4aff73ca 6Oh4OHHHH....s.J + 22bb8: 48481548 70704848 48487070 0048cd36 H.HHHHppppHH6.H. ... - 22bf8: 361f1f00 36363636 36363636 36363636 ...6666666666666 - 22c08: e66dcfcb 59544e5a 543b3b54 74125959 ..m.ZNTYT;;TYY.t - 22c18: 34406874 68686868 68686868 68686868 th@4hhhhhhhhhhhh - 22c28: 68121268 74741212 74686874 c80d7474 h..h..ttthhttt.. - 22c38: 77e816f6 0ce9e91e cd0c0c0c cfcdcdcd ...w............ - 22c48: 00007069 00000000 cb000000 36cbcfcf ip.............6 - 22c58: 48703636 48fd0070 00000015 70704800 66pHp..H.....Hpp - 22c68: 70707070 70707070 70707070 36487070 ppppppppppppppH6 - 22c78: 7e593636 48363654 fdcb1548 15fa901c 66Y~T66HH....... - 22c88: 48481515 70704848 70707070 00363648 ..HHHHppppppH66. + 22be0: 361f1f00 36363636 36363636 36363636 ...6666666666666 + 22bf0: e66dcfcb 59544e5a 543b3b54 74125959 ..m.ZNTYT;;TYY.t + 22c00: 34406874 68686868 68686868 68686868 th@4hhhhhhhhhhhh + 22c10: 68121268 74741212 74686874 c80d7474 h..h..ttthhttt.. + 22c20: 77e816f6 0ce9e91e cd0c0c0c cfcdcdcd ...w............ + 22c30: 00007069 00000000 cb000000 36cbcfcf ip.............6 + 22c40: 48703636 48fd0070 00000015 70704800 66pHp..H.....Hpp + 22c50: 70707070 70707070 70707070 36487070 ppppppppppppppH6 + 22c60: 7e593636 48363654 fdcb1548 15fa901c 66Y~T66HH....... + 22c70: 48481515 70704848 70707070 00363648 ..HHHHppppppH66. ... - 22cb0: 1f1f0000 3636361f 36363636 36363636 .....66666666666 - 22cc0: 576d4f36 54cf4e24 3b3b5974 12595954 6OmW$N.TtY;;TYY. - 22cd0: 68747474 68686868 12686812 12747474 ttthhhhh.hh.ttt. - 22ce0: 12121274 74121212 12127474 c8747412 t......ttt...tt. - 22cf0: c8871606 0ce9381e cdcdcd0c cfcfcfcd .....8.......... - 22d00: 0000cbcf 00000000 36000000 36cbcfcf ...........6...6 - 22d10: 48363636 fd707048 00004848 70700000 666HHpp.HH....pp - 22d20: 70707070 70487070 48707070 48487048 ppppppHppppHHpHH - 22d30: 7e543636 cb36cf68 071515cb 484aff73 66T~h.6.....s.JH - 22d40: 48484815 70707048 70707070 70707070 .HHHHppppppppppp + 22c98: 1f1f0000 3636361f 36363636 36363636 .....66666666666 + 22ca8: 576d4f36 54cf4e24 3b3b5974 12595954 6OmW$N.TtY;;TYY. + 22cb8: 68747474 68686868 12686812 12747474 ttthhhhh.hh.ttt. + 22cc8: 12121274 74121212 12127474 c8747412 t......ttt...tt. + 22cd8: c8871606 0ce9381e cdcdcd0c cfcfcfcd .....8.......... + 22ce8: 0000cbcf 00000000 36000000 36cbcfcf ...........6...6 + 22cf8: 48363636 fd707048 00004848 70700000 666HHpp.HH....pp + 22d08: 70707070 70487070 48707070 48487048 ppppppHppppHHpHH + 22d18: 7e543636 cb36cf68 071515cb 484aff73 66T~h.6.....s.JH + 22d28: 48484815 70707048 70707070 70707070 .HHHHppppppppppp ... - 22d68: 1f000000 361f1f1f 36363636 36363636 .......666666666 - 22d78: 57e93636 cfcd548c cd5454cf 59543b4f 66.W.T...TT.O;TY - 22d88: 74747459 12686868 12686812 38743812 Yttthhh..hh..8t8 - 22d98: 12121212 12121212 12383812 74741212 .........88...tt - 22da8: c8f61613 0ce9381e cfcdcdcd cfcfcfcf .....8.......... - 22db8: 0048cfcf 00000000 70000000 cbcbcfcf ..H........p.... - 22dc8: 483636cb 48704848 007048fd 70000000 .66HHHpH.Hp....p - 22dd8: 70707070 70707070 70707070 48484870 pppppppppppppHHH - 22de8: 343b3636 cbcbcd68 1cfd4815 1515fa22 66;4h....H.."... - 22df8: 48484815 70707048 70707070 00707070 .HHHHpppppppppp. + 22d50: 1f000000 361f1f1f 36363636 36363636 .......666666666 + 22d60: 57e93636 cfcd548c cd5454cf 59543b4f 66.W.T...TT.O;TY + 22d70: 74747459 12686868 12686812 38743812 Yttthhh..hh..8t8 + 22d80: 12121212 12121212 12383812 74741212 .........88...tt + 22d90: c8f61613 0ce9381e cfcdcdcd cfcfcfcf .....8.......... + 22da0: 0048cfcf 00000000 70000000 cbcbcfcf ..H........p.... + 22db0: 483636cb 48704848 007048fd 70000000 .66HHHpH.Hp....p + 22dc0: 70707070 70707070 70707070 48484870 pppppppppppppHHH + 22dd0: 343b3636 cbcbcd68 1cfd4815 1515fa22 66;4h....H.."... + 22de0: 48484815 70707048 70707070 00707070 .HHHHpppppppppp. ... - 22e24: 1f36361f 3636361f 36363636 e60c3636 .66..666666666.. - 22e34: cdcfcded cfcfcfcf 3b4f4fcf 38121254 .........OO;T..8 - 22e44: 12121238 12686812 12121212 12121212 8....hh......... - 22e54: 12121212 12125959 12121212 c8f6f60d ....YY.......... - 22e64: 0ce93838 cfcfcdcd cfcfcfcf 70cfcfcf 88.............p + 22e0c: 1f36361f 3636361f 36363636 e60c3636 .66..666666666.. + 22e1c: cdcfcded cfcfcfcf 3b4f4fcf 38121254 .........OO;T..8 + 22e2c: 12121238 12686812 12121212 12121212 8....hh......... + 22e3c: 12121212 12125959 12121212 c8f6f60d ....YY.......... + 22e4c: 0ce93838 cfcfcdcd cfcfcfcf 70cfcfcf 88.............p ... - 22e7c: cbcbcfcb 363636cb 70484848 004815fd .....666HHHp..H. - 22e8c: 00000000 70707070 70707070 70707070 ....pppppppppppp - 22e9c: 48487070 68cf3648 cbcb5402 7307cbcb ppHHH6.h.T.....s - 22eac: 1548fdff 70484848 70707070 70707070 ..H.HHHppppppppp - 22ebc: 00707070 00000000 00000000 00000000 ppp............. + 22e64: cbcbcfcb 363636cb 70484848 004815fd .....666HHHp..H. + 22e74: 00000000 70707070 70707070 70707070 ....pppppppppppp + 22e84: 48487070 68cf3648 cbcb5402 7307cbcb ppHHH6.h.T.....s + 22e94: 1548fdff 70484848 70707070 70707070 ..H.HHHppppppppp + 22ea4: 00707070 00000000 00000000 00000000 ppp............. ... - 22edc: 36363600 1f36361f 36361f1f edcd3636 .666.66...6666.. - 22eec: cf4f0c32 cfcfcfcf 3b4f54cf 12593b3b 2.O......TO;;;Y. - 22efc: 12121212 12681212 12121259 12123838 ......h.Y...88.. - 22f0c: 59121212 59595912 59595959 77310d12 ...Y.YYYYYYY..1w - 22f1c: 0ce94e12 cfcfcfcd cfcfcfcf 36cfcfcf .N.............6 + 22ec4: 36363600 1f36361f 36361f1f edcd3636 .666.66...6666.. + 22ed4: cf4f0c32 cfcfcfcf 3b4f54cf 12593b3b 2.O......TO;;;Y. + 22ee4: 12121212 12681212 12121259 12123838 ......h.Y...88.. + 22ef4: 59121212 59595912 59595959 77310d12 ...Y.YYYYYYY..1w + 22f04: 0ce94e12 cfcfcfcd cfcfcfcf 36cfcfcf .N.............6 ... - 22f34: cbcfcf70 36363636 48484848 4848fd70 p...6666HHHHp.HH - 22f44: 00000000 70707000 48707070 70707070 .....ppppppHpppp - 22f54: 48707070 59364848 69695402 226315cb pppHHH6Y.Tii..c" - 22f64: 151515fa 70484848 70707070 70707070 ....HHHppppppppp - 22f74: 70707070 00000000 00000000 00000000 pppp............ + 22f1c: cbcfcf70 36363636 48484848 4848fd70 p...6666HHHHp.HH + 22f2c: 00000000 70707000 48707070 70707070 .....ppppppHpppp + 22f3c: 48707070 59364848 69695402 226315cb pppHHH6Y.Tii..c" + 22f4c: 151515fa 70484848 70707070 70707070 ....HHHppppppppp + 22f5c: 70707070 00000000 00000000 00000000 pppp............ ... - 22f94: 1f1f0000 1f361f1f 1f1f1f36 9bcf3636 ......6.6...66.. - 22fa4: cf366d57 cfcfcfcf 3636cfcf 593b4f36 Wm6.......666O;Y - 22fb4: 59121212 59125959 12121212 12121212 ...YYY.Y........ - 22fc4: 59121212 54595959 54545454 4e125454 ...YYYYTTTTTTT.N - 22fd4: cd0c4e4e cfcfcfcf cfcfcfcf cb3636cb NN...........66. - 22fe4: 00000048 00000000 cbcfcb00 483636cb H............66H - 22ff4: 48484848 48fd4870 00000048 70700000 HHHHpH.HH.....pp - 23004: 70707070 70707048 70707070 cd484848 ppppHpppppppHHH. - 23014: 69695968 7397eccb 4815484a 70704848 hYii...sJH.HHHpp - 23024: 70707070 70707070 70707070 00000070 ppppppppppppp... + 22f7c: 1f1f0000 1f361f1f 1f1f1f36 9bcf3636 ......6.6...66.. + 22f8c: cf366d57 cfcfcfcf 3636cfcf 593b4f36 Wm6.......666O;Y + 22f9c: 59121212 59125959 12121212 12121212 ...YYY.Y........ + 22fac: 59121212 54595959 54545454 4e125454 ...YYYYTTTTTTT.N + 22fbc: cd0c4e4e cfcfcfcf cfcfcfcf cb3636cb NN...........66. + 22fcc: 00000048 00000000 cbcfcb00 483636cb H............66H + 22fdc: 48484848 48fd4870 00000048 70700000 HHHHpH.HH.....pp + 22fec: 70707070 70707048 70707070 cd484848 ppppHpppppppHHH. + 22ffc: 69695968 7397eccb 4815484a 70704848 hYii...sJH.HHHpp + 2300c: 70707070 70707070 70707070 00000070 ppppppppppppp... ... - 2304c: 1f000000 1f1f1f1f 361f1f1f 891f361f ...........6.6.. - 2305c: cb1f7857 cdcfcbcf 54cfcfcf 3b3b4fcd Wx.........T.O;; - 2306c: 59121259 59595959 59126812 59595959 Y..YYYYY.h.YYYYY - 2307c: 54595959 54545454 54545454 54545454 YYYTTTTTTTTTTTTT - 2308c: cdcdcd54 cfcfcfcf cbcbcbcf 363636cb T............666 - 2309c: 00007036 00000000 cbcf7000 703636cb 6p.......p...66p - 230ac: 48487070 15157048 00007048 70000000 ppHHHp..Hp.....p - 230bc: 70707070 70707070 70707070 36484870 pppppppppppppHH6 - 230cc: 15695454 6373cacb 48484815 70484848 TTi...sc.HHHHHHp - 230dc: 70707070 70707070 00000070 00000000 ppppppppp....... + 23034: 1f000000 1f1f1f1f 361f1f1f 891f361f ...........6.6.. + 23044: cb1f7857 cdcfcbcf 54cfcfcf 3b3b4fcd Wx.........T.O;; + 23054: 59121259 59595959 59126812 59595959 Y..YYYYY.h.YYYYY + 23064: 54595959 54545454 54545454 54545454 YYYTTTTTTTTTTTTT + 23074: cdcdcd54 cfcfcfcf cbcbcbcf 363636cb T............666 + 23084: 00007036 00000000 cbcf7000 703636cb 6p.......p...66p + 23094: 48487070 15157048 00007048 70000000 ppHHHp..Hp.....p + 230a4: 70707070 70707070 70707070 36484870 pppppppppppppHH6 + 230b4: 15695454 6373cacb 48484815 70484848 TTi...sc.HHHHHHp + 230c4: 70707070 70707070 00000070 00000000 ppppppppp....... ... - 23108: 70707070 1f707070 2d1f361f 364f9781 ppppppp..6.-..O6 - 23118: cd4f3636 cf69cfcd 4f4f4fcd 125959cd 66O...i..OOO.YY. - 23128: 59595959 59121259 54545959 54545454 YYYYY..YYYTTTTTT - 23138: 54545454 54545454 cdcd5454 cfcdcdcd TTTTTTTTTT...... - 23148: 4f4fcfcf 36363636 36363636 00003636 ..OO6666666666.. - 23158: 00000000 cb360000 483636cb 48707048 ......6..66HHppH - 23168: fd704848 00004848 00000000 70707070 HHp.HH......pppp - 23178: 70707070 70707070 48487070 cbcbcf36 ppppppppppHH6... - 23188: ca736315 48481548 70707048 70707070 .cs.H.HHHppppppp - 23198: 70707070 00000070 00000000 00000000 ppppp........... + 230f0: 70707070 1f707070 2d1f361f 364f9781 ppppppp..6.-..O6 + 23100: cd4f3636 cf69cfcd 4f4f4fcd 125959cd 66O...i..OOO.YY. + 23110: 59595959 59121259 54545959 54545454 YYYYY..YYYTTTTTT + 23120: 54545454 54545454 cdcd5454 cfcdcdcd TTTTTTTTTT...... + 23130: 4f4fcfcf 36363636 36363636 00003636 ..OO6666666666.. + 23140: 00000000 cb360000 483636cb 48707048 ......6..66HHppH + 23150: fd704848 00004848 00000000 70707070 HHp.HH......pppp + 23160: 70707070 70707070 48487070 cbcbcf36 ppppppppppHH6... + 23170: ca736315 48481548 70707048 70707070 .cs.H.HHHppppppp + 23180: 70707070 00000070 00000000 00000000 ppppp........... ... - 231c0: 70707000 70707070 cf1f1f70 1f692273 .pppppppp...s"i. - 231d0: 36363636 cd69cf4f 36cf4e0c 5954cf36 6666O.i..N.66.TY - 231e0: 54595959 54545459 54545454 54544e54 YYYTYTTTTTTTTNTT - 231f0: 54545454 54545454 3bcdcd3b 4f4f3b3b TTTTTTTT;..;;;OO - 23200: 364f4f4f 36363636 36363636 00703636 OOO66666666666p. - 23210: 00000000 36000000 483636cb 48484848 .......6.66HHHHH - 23220: 48484848 0048484a 00000000 70707000 HHHHJHH......ppp - 23230: 70707070 70707070 48707070 cbcbcb48 pppppppppppHH... - 23240: fd1c1cec 48481548 70707070 70707070 ....H.HHpppppppp - 23250: 00707070 00000070 00000000 00000000 ppp.p........... + 231a8: 70707000 70707070 cf1f1f70 1f692273 .pppppppp...s"i. + 231b8: 36363636 cd69cf4f 36cf4e0c 5954cf36 6666O.i..N.66.TY + 231c8: 54595959 54545459 54545454 54544e54 YYYTYTTTTTTTTNTT + 231d8: 54545454 54545454 3bcdcd3b 4f4f3b3b TTTTTTTT;..;;;OO + 231e8: 364f4f4f 36363636 36363636 00703636 OOO66666666666p. + 231f8: 00000000 36000000 483636cb 48484848 .......6.66HHHHH + 23208: 48484848 0048484a 00000000 70707000 HHHHJHH......ppp + 23218: 70707070 70707070 48707070 cbcbcb48 pppppppppppHH... + 23228: fd1c1cec 48481548 70707070 70707070 ....H.HHpppppppp + 23238: 00707070 00000070 00000000 00000000 ppp.p........... ... - 23278: 70700000 70707070 1f707070 7091ed91 ..ppppppppp....p - 23288: 36361f70 0ccdcf36 cd2b2b0c cdcf4fcf p.666....++..O.. - 23298: 54545454 54545454 54545454 54545454 TTTTTTTTTTTTTTTT - 232a8: 54545454 3b54cd54 4fa9a9a9 1f1fa91f TTTTT.T;...O.... - 232b8: 1f1f701f 361f1f1f 36361f1f 00701f36 .p.....6..666.p. - 232c8: 00000000 70000000 48363636 48704848 .......p666HHHpH - 232d8: 70484848 4848fd48 00000000 70480000 HHHpH.HH......Hp - 232e8: 70707048 70707070 48707070 cbcb4848 HppppppppppHHH.. - 232f8: 15631c4a 48484848 70707070 70707070 J.c.HHHHpppppppp - 23308: 00000000 70007000 00000000 00000000 .....p.p........ + 23260: 70700000 70707070 1f707070 7091ed91 ..ppppppppp....p + 23270: 36361f70 0ccdcf36 cd2b2b0c cdcf4fcf p.666....++..O.. + 23280: 54545454 54545454 54545454 54545454 TTTTTTTTTTTTTTTT + 23290: 54545454 3b54cd54 4fa9a9a9 1f1fa91f TTTTT.T;...O.... + 232a0: 1f1f701f 361f1f1f 36361f1f 00701f36 .p.....6..666.p. + 232b0: 00000000 70000000 48363636 48704848 .......p666HHHpH + 232c0: 70484848 4848fd48 00000000 70480000 HHHpH.HH......Hp + 232d0: 70707048 70707070 48707070 cbcb4848 HppppppppppHHH.. + 232e0: 15631c4a 48484848 70707070 70707070 J.c.HHHHpppppppp + 232f0: 00000000 70007000 00000000 00000000 .....p.p........ ... - 23330: 70000000 70707070 70707070 361cff69 ...pppppppppi..6 - 23340: 36707070 cdcd3636 1e6eab0c 4f3636cf ppp666....n..66O - 23350: 545454cf 54545454 54545454 54545454 .TTTTTTTTTTTTTTT - 23360: 3b3b3b3b a93b3b3b 701f1f1f 70707070 ;;;;;;;....ppppp - 23370: 70707070 701f1f70 70707070 70707070 ppppp..ppppppppp + 23318: 70000000 70707070 70707070 361cff69 ...pppppppppi..6 + 23328: 36707070 cdcd3636 1e6eab0c 4f3636cf ppp666....n..66O + 23338: 545454cf 54545454 54545454 54545454 .TTTTTTTTTTTTTTT + 23348: 3b3b3b3b a93b3b3b 701f1f1f 70707070 ;;;;;;;....ppppp + 23358: 70707070 701f1f70 70707070 70707070 ppppp..ppppppppp ... - 23388: 36367070 48484870 48487070 4815fd70 pp66pHHHppHHp..H - 23398: 00000070 70000000 70707070 70707070 p......ppppppppp - 233a8: 48707070 48cb4848 48071c4a 70484848 pppHHH.HJ..HHHHp - 233b8: 00000070 00007000 00000000 00007000 p....p.......p.. + 23370: 36367070 48484870 48487070 4815fd70 pp66pHHHppHHp..H + 23380: 00000070 70000000 70707070 70707070 p......ppppppppp + 23390: 48707070 48cb4848 48071c4a 70484848 pppHHH.HJ..HHHHp + 233a0: 00000070 00007000 00000000 00007000 p....p.......p.. ... - 233ec: 70707070 70707070 4affca70 70707070 ppppppppp..Jpppp - 233fc: cf363636 0e6ee9cd 3636cf0c 54544f36 666...n...666OTT - 2340c: 3bcdcd54 cdcdcdcd 3b54cd3b 3b3b3b3b T..;....;.T;;;;; - 2341c: 1f3b3b3b 7070701f 70707070 00007000 ;;;..ppppppp.p.. - 2342c: 70700000 70707070 00707070 00000000 ..ppppppppp..... - 2343c: 00000000 48707000 70484848 48484848 .....ppHHHHpHHHH - 2344c: 48fd0048 00000048 70000000 70707070 H..HH......ppppp - 2345c: 70700070 48707070 48484848 484a634a p.pppppHHHHHJcJH - 2346c: 70704848 00000070 00007070 00000070 HHppp...pp..p... - 2347c: 00707000 00000000 00000000 00000000 .pp............. + 233d4: 70707070 70707070 4affca70 70707070 ppppppppp..Jpppp + 233e4: cf363636 0e6ee9cd 3636cf0c 54544f36 666...n...666OTT + 233f4: 3bcdcd54 cdcdcdcd 3b54cd3b 3b3b3b3b T..;....;.T;;;;; + 23404: 1f3b3b3b 7070701f 70707070 00007000 ;;;..ppppppp.p.. + 23414: 70700000 70707070 00707070 00000000 ..ppppppppp..... + 23424: 00000000 48707000 70484848 48484848 .....ppHHHHpHHHH + 23434: 48fd0048 00000048 70000000 70707070 H..HH......ppppp + 23444: 70700070 48707070 48484848 484a634a p.pppppHHHHHJcJH + 23454: 70704848 00000070 00007070 00000070 HHppp...pp..p... + 23464: 00707000 00000000 00000000 00000000 .pp............. ... - 234a4: 70707000 70707070 91633670 70707036 .pppppppp6c.6ppp - 234b4: 36367070 b5670ccf 36cdcdab 3b4f3636 pp66..g....666O; - 234c4: 3b3b3bcd 3b3b3b3b 4f3b3b3b 1f1fa94f .;;;;;;;;;;OO... - 234d4: 701fa9a9 70707070 00707070 00000000 ...pppppppp..... - 234e4: 00000000 00707000 00700000 00000000 .....pp...p..... - 234f4: 00000000 70700000 70704870 70487070 ......pppHppppHp - 23504: 4a707048 00004848 00000000 00707000 HppJHH.......pp. - 23514: 00000000 70707000 48484848 48fd634a .....pppHHHHJc.H - 23524: 70704848 00007070 00000000 00000000 HHpppp.......... - 23534: 70700000 00000070 00000000 00000000 ..ppp........... + 2348c: 70707000 70707070 91633670 70707036 .pppppppp6c.6ppp + 2349c: 36367070 b5670ccf 36cdcdab 3b4f3636 pp66..g....666O; + 234ac: 3b3b3bcd 3b3b3b3b 4f3b3b3b 1f1fa94f .;;;;;;;;;;OO... + 234bc: 701fa9a9 70707070 00707070 00000000 ...pppppppp..... + 234cc: 00000000 00707000 00700000 00000000 .....pp...p..... + 234dc: 00000000 70700000 70704870 70487070 ......pppHppppHp + 234ec: 4a707048 00004848 00000000 00707000 HppJHH.......pp. + 234fc: 00000000 70707000 48484848 48fd634a .....pppHHHHJc.H + 2350c: 70704848 00007070 00000000 00000000 HHpppp.......... + 2351c: 70700000 00000070 00000000 00000000 ..ppp........... ... - 2355c: 70700000 70707070 63ec7000 707070ec ..pppppp.p.c.ppp - 2356c: 36707070 6e4e4f36 cf690c87 4f1f7036 ppp66ONn..i.6p.O - 2357c: 3b3b3b3b a9080808 70a9a91f 1f707070 ;;;;.......pppp. - 2358c: 7070701f 00707070 00000070 00000000 .pppppp.p....... + 23544: 70700000 70707070 63ec7000 707070ec ..pppppp.p.c.ppp + 23554: 36707070 6e4e4f36 cf690c87 4f1f7036 ppp66ONn..i.6p.O + 23564: 3b3b3b3b a9080808 70a9a91f 1f707070 ;;;;.......pppp. + 23574: 7070701f 00707070 00000070 00000000 .pppppp.p....... ... - 235b0: 70000000 70707070 70707070 48007070 ...ppppppppppp.H - 235c0: 007070fd 00000000 00700000 00000000 .pp.......p..... - 235d0: 70700000 48484848 4815fa4a 00704848 ..ppHHHHJ..HHHp. - 235e0: 00007000 00000000 00000000 70700000 .p............pp - 235f0: 00007036 00000000 00000000 00000000 6p.............. + 23598: 70000000 70707070 70707070 48007070 ...ppppppppppp.H + 235a8: 007070fd 00000000 00700000 00000000 .pp.......p..... + 235b8: 70700000 48484848 4815fa4a 00704848 ..ppHHHHJ..HHHp. + 235c8: 00007000 00000000 00000000 70700000 .p............pp + 235d8: 00007036 00000000 00000000 00000000 6p.............. ... - 23614: 70000000 00707070 4a700000 000036fa ...pppp...pJ.6.. - 23624: 70700000 2a363670 4f4f1e6e 70707036 ..ppp66*n.OO6ppp - 23634: 1f4f4f1f 1f1fa91f 70700070 70707070 .OO.....p.pppppp - 23644: 70707070 00707070 00000000 00000000 ppppppp......... - 23654: 00000000 00007000 00000000 00000000 .....p.......... + 235fc: 70000000 00707070 4a700000 000036fa ...pppp...pJ.6.. + 2360c: 70700000 2a363670 4f4f1e6e 70707036 ..ppp66*n.OO6ppp + 2361c: 1f4f4f1f 1f1fa91f 70700070 70707070 .OO.....p.pppppp + 2362c: 70707070 00707070 00000000 00000000 ppppppp......... + 2363c: 00000000 00007000 00000000 00000000 .....p.......... ... - 2366c: 70707000 70707070 00707070 00701515 .pppppppppp...p. + 23654: 70707000 70707070 00707070 00701515 .pppppppppp...p. ... - 23688: 70700000 48484848 48154a4a 00704848 ..ppHHHHJJ.HHHp. + 23670: 70700000 48484848 48154a4a 00704848 ..ppHHHHJJ.HHHp. ... - 236a4: 70700000 00704f36 00000000 00000000 ..pp6Op......... + 2368c: 70700000 00704f36 00000000 00000000 ..pp6Op......... ... - 236d0: 00007070 70000000 00704a4a 70000000 pp.....pJJp....p - 236e0: 36367070 4f4fab67 70703636 1f1f7070 pp66g.OO66pppp.. - 236f0: 00707070 70707000 70707070 70707070 ppp..ppppppppppp - 23700: 70707070 00000000 00000000 00000000 pppp............ - 23710: 00700000 00000000 00000000 00000000 ..p............. - 23720: 00000000 70000000 00007070 00000000 .......ppp...... - 23730: 70481500 00000000 00000000 00000000 ..Hp............ - 23740: 70000000 48484848 48484afd 00007048 ...pHHHH.JHHHp.. + 236b8: 00007070 70000000 00704a4a 70000000 pp.....pJJp....p + 236c8: 36367070 4f4fab67 70703636 1f1f7070 pp66g.OO66pppp.. + 236d8: 00707070 70707000 70707070 70707070 ppp..ppppppppppp + 236e8: 70707070 00000000 00000000 00000000 pppp............ + 236f8: 00700000 00000000 00000000 00000000 ..p............. + 23708: 00000000 70000000 00007070 00000000 .......ppp...... + 23718: 70481500 00000000 00000000 00000000 ..Hp............ + 23728: 70000000 48484848 48484afd 00007048 ...pHHHH.JHHHp.. ... - 2375c: 70000000 00363b70 00000000 00000000 ...pp;6......... + 23744: 70000000 00363b70 00000000 00000000 ...pp;6......... ... - 23788: 00707000 00000000 70154a70 00000000 .pp.....pJ.p.... - 23798: 70707000 36364e4f 70703636 70707070 .pppON6666pppppp - 237a8: 70707070 00000070 70707000 70707070 ppppp....ppppppp - 237b8: 00707070 00000000 00000000 00000000 ppp............. + 23770: 00707000 00000000 70154a70 00000000 .pp.....pJ.p.... + 23780: 70707000 36364e4f 70703636 70707070 .pppON6666pppppp + 23790: 70707070 00000070 70707000 70707070 ppppp....ppppppp + 237a0: 00707070 00000000 00000000 00000000 ppp............. ... - 237e8: 00150000 00000000 00000000 00000000 ................ - 237f8: 70000000 48484870 4848fdfd 00007048 ...ppHHH..HHHp.. + 237d0: 00150000 00000000 00000000 00000000 ................ + 237e0: 70000000 48484870 4848fdfd 00007048 ...ppHHH..HHHp.. ... - 23814: 70000000 703b4f70 00000000 00000000 ...ppO;p........ + 237fc: 70000000 703b4f70 00000000 00000000 ...ppO;p........ ... - 23848: cb4a4800 00000000 70700000 36707070 .HJ.......ppppp6 - 23858: 7070701f 70707070 70707070 00007070 .ppppppppppppp.. - 23868: 00000000 70000000 00000000 00000000 .......p........ + 23830: cb4a4800 00000000 70700000 36707070 .HJ.......ppppp6 + 23840: 7070701f 70707070 70707070 00007070 .ppppppppppppp.. + 23850: 00000000 70000000 00000000 00000000 .......p........ ... - 238a0: 48700000 00000000 00000000 00000000 ..pH............ - 238b0: 00000000 48484870 4848fdfd 00007048 ....pHHH..HHHp.. + 23888: 48700000 00000000 00000000 00000000 ..pH............ + 23898: 00000000 48484870 4848fdfd 00007048 ....pHHH..HHHp.. ... - 238d0: 364f1f70 00000070 00000000 00000000 p.O6p........... + 238b8: 364f1f70 00000070 00000000 00000000 p.O6p........... ... - 23900: fd480000 00000048 00000000 70707070 ..H.H.......pppp - 23910: 70707070 70000070 70707070 00707070 ppppp..pppppppp. + 238e8: fd480000 00000048 00000000 70707070 ..H.H.......pppp + 238f8: 70707070 70000070 70707070 00707070 ppppp..pppppppp. ... - 2396c: 48487070 48481515 00000070 00000000 ppHH..HHp....... + 23954: 48487070 48481515 00000070 00000000 ppHH..HHp....... ... - 23988: 4f4f7000 00000070 00000000 00000000 .pOOp........... + 23970: 4f4f7000 00000070 00000000 00000000 .pOOp........... ... - 239b8: 48000000 00004848 00000000 70000000 ...HHH.........p - 239c8: 70707070 00000070 70707000 00000070 ppppp....pppp... + 239a0: 48000000 00004848 00000000 70000000 ...HHH.........p + 239b0: 70707070 00000070 70707000 00000070 ppppp....pppp... ... - 23a24: 48487000 48481515 00000070 00000000 .pHH..HHp....... + 23a0c: 48487000 48481515 00000070 00000000 .pHH..HHp....... ... - 23a40: 4f1f0000 0000001f 00000000 00000000 ...O............ + 23a28: 4f1f0000 0000001f 00000000 00000000 ...O............ ... - 23a70: 70000000 70484848 00000000 00000000 ...pHHHp........ - 23a80: 70000000 00000000 70000000 00000070 ...p.......pp... + 23a58: 70000000 70484848 00000000 00000000 ...pHHHp........ + 23a68: 70000000 00000000 70000000 00000070 ...p.......pp... ... - 23adc: 48700000 48481515 00000070 00000000 ..pH..HHp....... + 23ac4: 48700000 48481515 00000070 00000000 ..pH..HHp....... ... - 23af8: 36700000 00007036 00000000 00000000 ..p66p.......... + 23ae0: 36700000 00007036 00000000 00000000 ..p66p.......... ... - 23b2c: 48484870 00000000 00000000 00000000 pHHH............ + 23b14: 48484870 00000000 00000000 00000000 pHHH............ ... - 23b94: 70000000 70481548 00000070 00000000 ...pH.Hpp....... + 23b7c: 70000000 70481548 00000070 00000000 ...pH.Hpp....... ... - 23bb0: 70000000 00007036 00000000 00000000 ...p6p.......... + 23b98: 70000000 00007036 00000000 00000000 ...p6p.......... ... - 23be0: 6c6c6548 6f57206f 00646c72 Hello World. - -00023bec <__func__.9536>: - 23bec: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s - 23bfc: 00007274 tr.. - -00023c00 : - 23c00: 33323130 37363534 42413938 46454443 0123456789ABCDEF - 23c10: 00000000 .... - -00023c14 <__func__.9554>: - 23c14: 645f766c 67756265 676f6c5f 7272655f lv_debug_log_err - 23c24: 0000726f 742f2e2e 64726968 74726170 or..../thirdpart - 23c34: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co - 23c44: 6c2f6572 65645f76 2e677562 00000063 re/lv_debug.c... - 23c54: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s - 23c64: 203a7274 6f6e2061 53412d6e 20494943 tr: a non-ASCII - 23c74: 72616863 73616820 70657220 65746165 char has repeate - 23c84: 6f6d2064 74206572 206e6168 445f564c d more than LV_D - 23c94: 47554245 5254535f 58414d5f 5045525f EBUG_STR_MAX_REP - 23ca4: 20544145 656d6974 00002973 645f766c EAT times)..lv_d - 23cb4: 67756265 6568635f 735f6b63 203a7274 ebug_check_str: - 23cc4: 61766e69 2064696c 72616863 206e6920 invalid char in - 23cd4: 20656874 69727473 2820676e 3031203c the string (< 10 - 23ce4: 6c617620 00296575 645f766c 67756265 value).lv_debug - 23cf4: 6568635f 735f6b63 203a7274 69727473 _check_str: stri - 23d04: 6920676e 6f6c2073 7265676e 61687420 ng is longer tha - 23d14: 564c206e 4245445f 535f4755 4d5f5254 n LV_DEBUG_STR_M - 23d24: 4c5f5841 54474e45 00000048 AX_LENGTH... - -00023d30 <__func__.9507>: - 23d30: 645f766c 5f707369 5f746567 5f726373 lv_disp_get_scr_ - 23d40: 00746361 act. - -00023d44 <__func__.9515>: + 23bc8: 6c6c6548 6f57206f 00646c72 Hello World. + +00023bd4 <__func__.9536>: + 23bd4: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s + 23be4: 00007274 tr.. + +00023be8 : + 23be8: 33323130 37363534 42413938 46454443 0123456789ABCDEF + 23bf8: 00000000 .... + +00023bfc <__func__.9554>: + 23bfc: 645f766c 67756265 676f6c5f 7272655f lv_debug_log_err + 23c0c: 0000726f 742f2e2e 64726968 74726170 or..../thirdpart + 23c1c: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co + 23c2c: 6c2f6572 65645f76 2e677562 00000063 re/lv_debug.c... + 23c3c: 645f766c 67756265 6568635f 735f6b63 lv_debug_check_s + 23c4c: 203a7274 6f6e2061 53412d6e 20494943 tr: a non-ASCII + 23c5c: 72616863 73616820 70657220 65746165 char has repeate + 23c6c: 6f6d2064 74206572 206e6168 445f564c d more than LV_D + 23c7c: 47554245 5254535f 58414d5f 5045525f EBUG_STR_MAX_REP + 23c8c: 20544145 656d6974 00002973 645f766c EAT times)..lv_d + 23c9c: 67756265 6568635f 735f6b63 203a7274 ebug_check_str: + 23cac: 61766e69 2064696c 72616863 206e6920 invalid char in + 23cbc: 20656874 69727473 2820676e 3031203c the string (< 10 + 23ccc: 6c617620 00296575 645f766c 67756265 value).lv_debug + 23cdc: 6568635f 735f6b63 203a7274 69727473 _check_str: stri + 23cec: 6920676e 6f6c2073 7265676e 61687420 ng is longer tha + 23cfc: 564c206e 4245445f 535f4755 4d5f5254 n LV_DEBUG_STR_M + 23d0c: 4c5f5841 54474e45 00000048 AX_LENGTH... + +00023d18 <__func__.9507>: + 23d18: 645f766c 5f707369 5f746567 5f726373 lv_disp_get_scr_ + 23d28: 00746361 act. + +00023d2c <__func__.9515>: + 23d2c: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye + 23d3c: 6f745f72 00000070 r_top... + +00023d44 <__func__.9519>: 23d44: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye - 23d54: 6f745f72 00000070 r_top... - -00023d5c <__func__.9519>: - 23d5c: 645f766c 5f707369 5f746567 6579616c lv_disp_get_laye - 23d6c: 79735f72 00000073 r_sys... - -00023d74 <__func__.9524>: - 23d74: 645f766c 5f707369 69737361 735f6e67 lv_disp_assign_s - 23d84: 65657263 0000006e creen... - -00023d8c <__func__.9529>: - 23d8c: 645f766c 5f707369 5f746567 63616e69 lv_disp_get_inac - 23d9c: 65766974 6d69745f 00000065 tive_time... - -00023da8 <__func__.9539>: - 23da8: 645f766c 5f707369 67697274 7463615f lv_disp_trig_act - 23db8: 74697669 00000079 ivity... - -00023dc0 <__func__.9543>: - 23dc0: 5f766c5f 70736964 7465675f 6665725f _lv_disp_get_ref - 23dd0: 61745f72 00006b73 742f2e2e 64726968 r_task..../third - 23de0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 23df0: 6f635f76 6c2f6572 69645f76 632e7073 v_core/lv_disp.c - 23e00: 00000000 735f766c 615f7263 203a7463 ....lv_scr_act: - 23e10: 64206f6e 6c707369 72207961 73696765 no display regis - 23e20: 65726574 6f742064 74656720 73746920 tered to get its - 23e30: 74636120 6373202e 6e656572 00000000 act. screen.... - 23e40: 6c5f766c 72657961 706f745f 6f6e203a lv_layer_top: no - 23e50: 73696420 79616c70 67657220 65747369 display registe - 23e60: 20646572 67206f74 69207465 74207374 red to get its t - 23e70: 6c20706f 72657961 00000000 6c5f766c op layer....lv_l - 23e80: 72657961 7379735f 6f6e203a 73696420 ayer_sys: no dis - 23e90: 79616c70 67657220 65747369 20646572 play registered - 23ea0: 67206f74 69207465 73207374 202e7379 to get its sys. - 23eb0: 6579616c 00000072 645f766c 5f707369 layer...lv_disp_ - 23ec0: 69737361 735f6e67 65657263 74203a6e assign_screen: t - 23ed0: 74207972 7361206f 6e676973 6e206120 ry to assign a n - 23ee0: 732d6e6f 65657263 626f206e 7463656a on-screen object - 23ef0: 00000000 645f766c 5f707369 5f746567 ....lv_disp_get_ - 23f00: 63616e69 65766974 6d69745f 6e203a65 inactive_time: n - 23f10: 6964206f 616c7073 65722079 74736967 o display regist - 23f20: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ - 23f30: 67697274 7463615f 74697669 6e203a79 trig_activity: n - 23f40: 6964206f 616c7073 65722079 74736967 o display regist - 23f50: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ - 23f60: 5f746567 72666572 7361745f 6e203a6b get_refr_task: n - 23f70: 6964206f 616c7073 65722079 74736967 o display regist - 23f80: 64657265 00000000 ered.... - -00023f88 <__func__.9740>: - 23f88: 675f766c 70756f72 6572635f 00657461 lv_group_create. - -00023f98 <__func__.9754>: - 23f98: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj - 23fa8: 00000000 742f2e2e 64726968 74726170 ....../thirdpart - 23fb8: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co - 23fc8: 6c2f6572 72675f76 2e70756f 00000063 re/lv_group.c... - 23fd8: 2074754f 6d20666f 726f6d65 00000079 Out of memory... - 23fe8: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj - 23ff8: 6874203a 626f2065 7463656a 20736920 : the object is - 24008: 65726c61 20796461 65646461 6f742064 already added to - 24018: 69687420 72672073 0070756f 675f766c this group.lv_g - 24028: 70756f72 6464615f 6a626f5f 7361203a roup_add_obj: as - 24038: 6e676973 6a626f20 20746365 61206f74 sign object to a - 24048: 746f206e 20726568 756f7267 00000070 n other group... - -00024058 <__func__.9914>: - 24058: 695f766c 0074696e lv_init. - -00024060 <__func__.9921>: - 24060: 645f766c 696e6965 00000074 lv_deinit... - -0002406c <__func__.9946>: - 2406c: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async - 2407c: 00000000 .... - -00024080 <__func__.10139>: - 24080: 6f5f766c 735f6a62 615f7465 5f6f7475 lv_obj_set_auto_ - 24090: 6c616572 006e6769 realign. - -00024098 <__func__.10148>: - 24098: 6f5f766c 735f6a62 655f7465 635f7478 lv_obj_set_ext_c - 240a8: 6b63696c 6572615f 00000061 lick_area... - -000240b4 <__func__.10276>: - 240b4: 6f5f766c 735f6a62 615f7465 685f7664 lv_obj_set_adv_h - 240c4: 65747469 00007473 ittest.. - -000240cc <__func__.10282>: - 240cc: 6f5f766c 735f6a62 635f7465 6b63696c lv_obj_set_click - 240dc: 00000000 .... - -000240e0 <__func__.10288>: - 240e0: 6f5f766c 735f6a62 745f7465 0000706f lv_obj_set_top.. - -000240f0 <__func__.10294>: - 240f0: 6f5f766c 735f6a62 645f7465 00676172 lv_obj_set_drag. - -00024100 <__func__.10300>: - 24100: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ - 24110: 00726964 dir. - -00024114 <__func__.10306>: + 23d54: 79735f72 00000073 r_sys... + +00023d5c <__func__.9524>: + 23d5c: 645f766c 5f707369 69737361 735f6e67 lv_disp_assign_s + 23d6c: 65657263 0000006e creen... + +00023d74 <__func__.9529>: + 23d74: 645f766c 5f707369 5f746567 63616e69 lv_disp_get_inac + 23d84: 65766974 6d69745f 00000065 tive_time... + +00023d90 <__func__.9539>: + 23d90: 645f766c 5f707369 67697274 7463615f lv_disp_trig_act + 23da0: 74697669 00000079 ivity... + +00023da8 <__func__.9543>: + 23da8: 5f766c5f 70736964 7465675f 6665725f _lv_disp_get_ref + 23db8: 61745f72 00006b73 742f2e2e 64726968 r_task..../third + 23dc8: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 23dd8: 6f635f76 6c2f6572 69645f76 632e7073 v_core/lv_disp.c + 23de8: 00000000 735f766c 615f7263 203a7463 ....lv_scr_act: + 23df8: 64206f6e 6c707369 72207961 73696765 no display regis + 23e08: 65726574 6f742064 74656720 73746920 tered to get its + 23e18: 74636120 6373202e 6e656572 00000000 act. screen.... + 23e28: 6c5f766c 72657961 706f745f 6f6e203a lv_layer_top: no + 23e38: 73696420 79616c70 67657220 65747369 display registe + 23e48: 20646572 67206f74 69207465 74207374 red to get its t + 23e58: 6c20706f 72657961 00000000 6c5f766c op layer....lv_l + 23e68: 72657961 7379735f 6f6e203a 73696420 ayer_sys: no dis + 23e78: 79616c70 67657220 65747369 20646572 play registered + 23e88: 67206f74 69207465 73207374 202e7379 to get its sys. + 23e98: 6579616c 00000072 645f766c 5f707369 layer...lv_disp_ + 23ea8: 69737361 735f6e67 65657263 74203a6e assign_screen: t + 23eb8: 74207972 7361206f 6e676973 6e206120 ry to assign a n + 23ec8: 732d6e6f 65657263 626f206e 7463656a on-screen object + 23ed8: 00000000 645f766c 5f707369 5f746567 ....lv_disp_get_ + 23ee8: 63616e69 65766974 6d69745f 6e203a65 inactive_time: n + 23ef8: 6964206f 616c7073 65722079 74736967 o display regist + 23f08: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ + 23f18: 67697274 7463615f 74697669 6e203a79 trig_activity: n + 23f28: 6964206f 616c7073 65722079 74736967 o display regist + 23f38: 64657265 00000000 645f766c 5f707369 ered....lv_disp_ + 23f48: 5f746567 72666572 7361745f 6e203a6b get_refr_task: n + 23f58: 6964206f 616c7073 65722079 74736967 o display regist + 23f68: 64657265 00000000 ered.... + +00023f70 <__func__.9740>: + 23f70: 675f766c 70756f72 6572635f 00657461 lv_group_create. + +00023f80 <__func__.9754>: + 23f80: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj + 23f90: 00000000 742f2e2e 64726968 74726170 ....../thirdpart + 23fa0: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co + 23fb0: 6c2f6572 72675f76 2e70756f 00000063 re/lv_group.c... + 23fc0: 2074754f 6d20666f 726f6d65 00000079 Out of memory... + 23fd0: 675f766c 70756f72 6464615f 6a626f5f lv_group_add_obj + 23fe0: 6874203a 626f2065 7463656a 20736920 : the object is + 23ff0: 65726c61 20796461 65646461 6f742064 already added to + 24000: 69687420 72672073 0070756f 675f766c this group.lv_g + 24010: 70756f72 6464615f 6a626f5f 7361203a roup_add_obj: as + 24020: 6e676973 6a626f20 20746365 61206f74 sign object to a + 24030: 746f206e 20726568 756f7267 00000070 n other group... + +00024040 <__func__.9914>: + 24040: 695f766c 0074696e lv_init. + +00024048 <__func__.9921>: + 24048: 645f766c 696e6965 00000074 lv_deinit... + +00024054 <__func__.9946>: + 24054: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async + 24064: 00000000 .... + +00024068 <__func__.10139>: + 24068: 6f5f766c 735f6a62 615f7465 5f6f7475 lv_obj_set_auto_ + 24078: 6c616572 006e6769 realign. + +00024080 <__func__.10148>: + 24080: 6f5f766c 735f6a62 655f7465 635f7478 lv_obj_set_ext_c + 24090: 6b63696c 6572615f 00000061 lick_area... + +0002409c <__func__.10276>: + 2409c: 6f5f766c 735f6a62 615f7465 685f7664 lv_obj_set_adv_h + 240ac: 65747469 00007473 ittest.. + +000240b4 <__func__.10282>: + 240b4: 6f5f766c 735f6a62 635f7465 6b63696c lv_obj_set_click + 240c4: 00000000 .... + +000240c8 <__func__.10288>: + 240c8: 6f5f766c 735f6a62 745f7465 0000706f lv_obj_set_top.. + +000240d8 <__func__.10294>: + 240d8: 6f5f766c 735f6a62 645f7465 00676172 lv_obj_set_drag. + +000240e8 <__func__.10300>: + 240e8: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ + 240f8: 00726964 dir. + +000240fc <__func__.10306>: + 240fc: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ + 2410c: 6f726874 00000077 throw... + +00024114 <__func__.10312>: 24114: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ - 24124: 6f726874 00000077 throw... + 24124: 65726170 0000746e parent.. -0002412c <__func__.10312>: - 2412c: 6f5f766c 735f6a62 645f7465 5f676172 lv_obj_set_drag_ - 2413c: 65726170 0000746e parent.. +0002412c <__func__.10322>: + 2412c: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren + 2413c: 76655f74 00746e65 t_event. -00024144 <__func__.10322>: - 24144: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren - 24154: 76655f74 00746e65 t_event. +00024144 <__func__.10333>: + 24144: 6f5f766c 615f6a62 705f6464 65746f72 lv_obj_add_prote + 24154: 00007463 ct.. -0002415c <__func__.10333>: - 2415c: 6f5f766c 615f6a62 705f6464 65746f72 lv_obj_add_prote - 2416c: 00007463 ct.. +00024158 <__func__.10339>: + 24158: 6f5f766c 635f6a62 7261656c 6f72705f lv_obj_clear_pro + 24168: 74636574 00000000 tect.... -00024170 <__func__.10339>: - 24170: 6f5f766c 635f6a62 7261656c 6f72705f lv_obj_clear_pro - 24180: 74636574 00000000 tect.... +00024170 <__func__.10390>: + 24170: 6f5f766c 735f6a62 655f7465 746e6576 lv_obj_set_event + 24180: 0062635f _cb. -00024188 <__func__.10390>: - 24188: 6f5f766c 735f6a62 655f7465 746e6576 lv_obj_set_event - 24198: 0062635f _cb. +00024184 <__func__.10406>: + 24184: 655f766c 746e6576 6e65735f 75665f64 lv_event_send_fu + 24194: 0000636e nc.. -0002419c <__func__.10406>: - 2419c: 655f766c 746e6576 6e65735f 75665f64 lv_event_send_fu - 241ac: 0000636e nc.. +00024198 <__func__.10397>: + 24198: 655f766c 746e6576 6e65735f 00000064 lv_event_send... -000241b0 <__func__.10397>: - 241b0: 655f766c 746e6576 6e65735f 00000064 lv_event_send... +000241a8 <__func__.10419>: + 241a8: 6f5f766c 735f6a62 735f7465 616e6769 lv_obj_set_signa + 241b8: 62635f6c 00000000 l_cb.... -000241c0 <__func__.10419>: - 241c0: 6f5f766c 735f6a62 735f7465 616e6769 lv_obj_set_signa - 241d0: 62635f6c 00000000 l_cb.... +000241c0 <__func__.10431>: + 241c0: 6f5f766c 735f6a62 645f7465 67697365 lv_obj_set_desig + 241d0: 62635f6e 00000000 n_cb.... -000241d8 <__func__.10431>: - 241d8: 6f5f766c 735f6a62 645f7465 67697365 lv_obj_set_desig - 241e8: 62635f6e 00000000 n_cb.... +000241d8 <__func__.10437>: + 241d8: 6f5f766c 615f6a62 636f6c6c 5f657461 lv_obj_allocate_ + 241e8: 5f747865 72747461 00000000 ext_attr.... -000241f0 <__func__.10437>: - 241f0: 6f5f766c 615f6a62 636f6c6c 5f657461 lv_obj_allocate_ - 24200: 5f747865 72747461 00000000 ext_attr.... +000241f4 <__func__.10443>: + 241f4: 6f5f766c 725f6a62 65726665 655f6873 lv_obj_refresh_e + 24204: 645f7478 5f776172 00646170 xt_draw_pad. -0002420c <__func__.10443>: - 2420c: 6f5f766c 725f6a62 65726665 655f6873 lv_obj_refresh_e - 2421c: 645f7478 5f776172 00646170 xt_draw_pad. +00024210 <__func__.10471>: + 24210: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren + 24220: 00000074 t... -00024228 <__func__.10471>: - 24228: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren - 24238: 00000074 t... +00024224 <__func__.10448>: + 24224: 6f5f766c 675f6a62 735f7465 65657263 lv_obj_get_scree + 24234: 0000006e n... -0002423c <__func__.10448>: - 2423c: 6f5f766c 675f6a62 735f7465 65657263 lv_obj_get_scree - 2424c: 0000006e n... +00024238 <__func__.10457>: + 24238: 6f5f766c 675f6a62 645f7465 00707369 lv_obj_get_disp. -00024250 <__func__.10457>: - 24250: 6f5f766c 675f6a62 645f7465 00707369 lv_obj_get_disp. +00024248 <__func__.10477>: + 24248: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child + 24258: 00000000 .... -00024260 <__func__.10477>: - 24260: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child - 24270: 00000000 .... +0002425c <__func__.10328>: + 2425c: 6f5f766c 735f6a62 625f7465 5f657361 lv_obj_set_base_ + 2426c: 00726964 dir. -00024274 <__func__.10328>: - 24274: 6f5f766c 735f6a62 625f7465 5f657361 lv_obj_set_base_ - 24284: 00726964 dir. +00024270 <__func__.10484>: + 24270: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child + 24280: 6361625f 0000006b _back... -00024288 <__func__.10484>: - 24288: 6f5f766c 675f6a62 635f7465 646c6968 lv_obj_get_child - 24298: 6361625f 0000006b _back... +00024288 <__func__.10490>: + 24288: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi + 24298: 6572646c 0000006e ldren... -000242a0 <__func__.10490>: +000242a0 <__func__.10500>: 242a0: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi - 242b0: 6572646c 0000006e ldren... + 242b0: 6572646c 65725f6e 73727563 00657669 ldren_recursive. -000242b8 <__func__.10500>: - 242b8: 6f5f766c 635f6a62 746e756f 6968635f lv_obj_count_chi - 242c8: 6572646c 65725f6e 73727563 00657669 ldren_recursive. +000242c0 <__func__.10511>: + 242c0: 6f5f766c 675f6a62 635f7465 64726f6f lv_obj_get_coord + 242d0: 00000073 s... -000242d8 <__func__.10511>: - 242d8: 6f5f766c 675f6a62 635f7465 64726f6f lv_obj_get_coord - 242e8: 00000073 s... +000242d4 <__func__.10524>: + 242d4: 6f5f766c 675f6a62 785f7465 00000000 lv_obj_get_x.... -000242ec <__func__.10524>: - 242ec: 6f5f766c 675f6a62 785f7465 00000000 lv_obj_get_x.... +000242e4 <__func__.10531>: + 242e4: 6f5f766c 675f6a62 795f7465 00000000 lv_obj_get_y.... -000242fc <__func__.10531>: - 242fc: 6f5f766c 675f6a62 795f7465 00000000 lv_obj_get_y.... +000242f4 <__func__.10538>: + 242f4: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width + 24304: 00000000 .... -0002430c <__func__.10538>: - 2430c: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width - 2431c: 00000000 .... +00024308 <__func__.10543>: + 24308: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh + 24318: 00000074 t... -00024320 <__func__.10543>: - 24320: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh - 24330: 00000074 t... +0002431c <__func__.10588>: + 2431c: 6f5f766c 675f6a62 615f7465 5f6f7475 lv_obj_get_auto_ + 2432c: 6c616572 006e6769 realign. -00024334 <__func__.10588>: - 24334: 6f5f766c 675f6a62 615f7465 5f6f7475 lv_obj_get_auto_ - 24344: 6c616572 006e6769 realign. +00024334 <__func__.10593>: + 24334: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 24344: 6b63696c 6461705f 66656c5f 00000074 lick_pad_left... -0002434c <__func__.10593>: - 2434c: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 2435c: 6b63696c 6461705f 66656c5f 00000074 lick_pad_left... +00024354 <__func__.10598>: + 24354: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 24364: 6b63696c 6461705f 6769725f 00007468 lick_pad_right.. -0002436c <__func__.10598>: - 2436c: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 2437c: 6b63696c 6461705f 6769725f 00007468 lick_pad_right.. +00024374 <__func__.10603>: + 24374: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 24384: 6b63696c 6461705f 706f745f 00000000 lick_pad_top.... -0002438c <__func__.10603>: - 2438c: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 2439c: 6b63696c 6461705f 706f745f 00000000 lick_pad_top.... +00024394 <__func__.10608>: + 24394: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c + 243a4: 6b63696c 6461705f 746f625f 006d6f74 lick_pad_bottom. -000243ac <__func__.10608>: - 243ac: 6f5f766c 675f6a62 655f7465 635f7478 lv_obj_get_ext_c - 243bc: 6b63696c 6461705f 746f625f 006d6f74 lick_pad_bottom. +000243b4 <__func__.10613>: + 243b4: 6f5f766c 675f6a62 655f7465 645f7478 lv_obj_get_ext_d + 243c4: 5f776172 00646170 raw_pad. -000243cc <__func__.10613>: - 243cc: 6f5f766c 675f6a62 655f7465 645f7478 lv_obj_get_ext_d - 243dc: 5f776172 00646170 raw_pad. +000243cc <__func__.10162>: + 243cc: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty + 243dc: 6c5f656c 00747369 le_list. -000243e4 <__func__.10162>: - 243e4: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty - 243f4: 6c5f656c 00747369 le_list. +000243e4 <__func__.10700>: + 243e4: 6f5f766c 675f6a62 6c5f7465 6c61636f lv_obj_get_local + 243f4: 7974735f 0000656c _style.. -000243fc <__func__.10700>: - 243fc: 6f5f766c 675f6a62 6c5f7465 6c61636f lv_obj_get_local - 2440c: 7974735f 0000656c _style.. +000243fc <__func__.10200>: + 243fc: 6f5f766c 725f6a62 766f6d65 74735f65 lv_obj_remove_st + 2440c: 5f656c79 61636f6c 72705f6c 0000706f yle_local_prop.. -00024414 <__func__.10200>: - 24414: 6f5f766c 725f6a62 766f6d65 74735f65 lv_obj_remove_st - 24424: 5f656c79 61636f6c 72705f6c 0000706f yle_local_prop.. +0002441c <__func__.10706>: + 2441c: 6f5f766c 675f6a62 685f7465 65646469 lv_obj_get_hidde + 2442c: 0000006e n... -00024434 <__func__.10706>: - 24434: 6f5f766c 675f6a62 685f7465 65646469 lv_obj_get_hidde - 24444: 0000006e n... +00024430 <__func__.9962>: + 24430: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat + 24440: 72615f65 00006165 e_area.. -00024448 <__func__.9962>: +00024448 <__func__.9977>: 24448: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat - 24458: 72615f65 00006165 e_area.. + 24458: 00000065 e... -00024460 <__func__.9977>: - 24460: 6f5f766c 695f6a62 6c61766e 74616469 lv_obj_invalidat - 24470: 00000065 e... +0002445c <__func__.9995>: + 2445c: 6f5f766c 6d5f6a62 5f65766f 65726f66 lv_obj_move_fore + 2446c: 756f7267 0000646e ground.. -00024474 <__func__.9995>: - 24474: 6f5f766c 6d5f6a62 5f65766f 65726f66 lv_obj_move_fore +00024474 <__func__.10001>: + 24474: 6f5f766c 6d5f6a62 5f65766f 6b636162 lv_obj_move_back 24484: 756f7267 0000646e ground.. -0002448c <__func__.10001>: - 2448c: 6f5f766c 6d5f6a62 5f65766f 6b636162 lv_obj_move_back - 2449c: 756f7267 0000646e ground.. - -000244a4 <__func__.10009>: - 244a4: 6f5f766c 735f6a62 705f7465 0000736f lv_obj_set_pos.. +0002448c <__func__.10009>: + 2448c: 6f5f766c 735f6a62 705f7465 0000736f lv_obj_set_pos.. -000244b4 <__func__.10018>: - 244b4: 6f5f766c 735f6a62 785f7465 00000000 lv_obj_set_x.... +0002449c <__func__.10018>: + 2449c: 6f5f766c 735f6a62 785f7465 00000000 lv_obj_set_x.... -000244c4 <__func__.10024>: - 244c4: 6f5f766c 735f6a62 795f7465 00000000 lv_obj_set_y.... +000244ac <__func__.10024>: + 244ac: 6f5f766c 735f6a62 795f7465 00000000 lv_obj_set_y.... -000244d4 <__func__.10082>: - 244d4: 6f5f766c 615f6a62 6e67696c 00000000 lv_obj_align.... +000244bc <__func__.10082>: + 244bc: 6f5f766c 615f6a62 6e67696c 00000000 lv_obj_align.... -000244e4 <__func__.10096>: - 244e4: 6f5f766c 615f6a62 6e67696c 69726f5f lv_obj_align_ori - 244f4: 00006f67 go.. +000244cc <__func__.10096>: + 244cc: 6f5f766c 615f6a62 6e67696c 69726f5f lv_obj_align_ori + 244dc: 00006f67 go.. -000244f8 <__func__.10133>: - 244f8: 6f5f766c 725f6a62 696c6165 00006e67 lv_obj_realign.. +000244e0 <__func__.10133>: + 244e0: 6f5f766c 725f6a62 696c6165 00006e67 lv_obj_realign.. -00024508 <__func__.10207>: - 24508: 6f5f766c 725f6a62 65726665 735f6873 lv_obj_refresh_s - 24518: 656c7974 00000000 tyle.... +000244f0 <__func__.10207>: + 244f0: 6f5f766c 725f6a62 65726665 735f6873 lv_obj_refresh_s + 24500: 656c7974 00000000 tyle.... -00024520 <__func__.10156>: - 24520: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style - 24530: 00000000 .... +00024508 <__func__.10156>: + 24508: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style + 24518: 00000000 .... -00024534 <__func__.10269>: - 24534: 6f5f766c 735f6a62 685f7465 65646469 lv_obj_set_hidde - 24544: 0000006e n... +0002451c <__func__.10269>: + 2451c: 6f5f766c 735f6a62 685f7465 65646469 lv_obj_set_hidde + 2452c: 0000006e n... -00024548 <__func__.10711>: - 24548: 6f5f766c 675f6a62 615f7465 685f7664 lv_obj_get_adv_h - 24558: 65747469 00007473 ittest.. +00024530 <__func__.10711>: + 24530: 6f5f766c 675f6a62 615f7465 685f7664 lv_obj_get_adv_h + 24540: 65747469 00007473 ittest.. -00024560 <__func__.10716>: - 24560: 6f5f766c 675f6a62 635f7465 6b63696c lv_obj_get_click - 24570: 00000000 .... +00024548 <__func__.10716>: + 24548: 6f5f766c 675f6a62 635f7465 6b63696c lv_obj_get_click + 24558: 00000000 .... -00024574 <__func__.10721>: - 24574: 6f5f766c 675f6a62 745f7465 0000706f lv_obj_get_top.. +0002455c <__func__.10721>: + 2455c: 6f5f766c 675f6a62 745f7465 0000706f lv_obj_get_top.. -00024584 <__func__.10726>: - 24584: 6f5f766c 675f6a62 645f7465 00676172 lv_obj_get_drag. +0002456c <__func__.10726>: + 2456c: 6f5f766c 675f6a62 645f7465 00676172 lv_obj_get_drag. -00024594 <__func__.10731>: - 24594: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ - 245a4: 00726964 dir. +0002457c <__func__.10731>: + 2457c: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ + 2458c: 00726964 dir. -000245a8 <__func__.10736>: - 245a8: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ - 245b8: 6f726874 00000077 throw... +00024590 <__func__.10736>: + 24590: 6f5f766c 675f6a62 645f7465 5f676172 lv_obj_get_drag_ + 245a0: 6f726874 00000077 throw... -000245c0 <__func__.10747>: - 245c0: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren - 245d0: 76655f74 00746e65 t_event. +000245a8 <__func__.10747>: + 245a8: 6f5f766c 675f6a62 705f7465 6e657261 lv_obj_get_paren + 245b8: 76655f74 00746e65 t_event. -000245d8 <__func__.10752>: - 245d8: 6f5f766c 675f6a62 625f7465 5f657361 lv_obj_get_base_ - 245e8: 00726964 dir. +000245c0 <__func__.10752>: + 245c0: 6f5f766c 675f6a62 625f7465 5f657361 lv_obj_get_base_ + 245d0: 00726964 dir. -000245ec <__func__.9928>: - 245ec: 6f5f766c 635f6a62 74616572 00000065 lv_obj_create... +000245d4 <__func__.9928>: + 245d4: 6f5f766c 635f6a62 74616572 00000065 lv_obj_create... -000245fc <__func__.9985>: - 245fc: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren - 2460c: 00000074 t... +000245e4 <__func__.9985>: + 245e4: 6f5f766c 735f6a62 705f7465 6e657261 lv_obj_set_paren + 245f4: 00000074 t... -00024610 <__func__.10031>: - 24610: 6f5f766c 735f6a62 735f7465 00657a69 lv_obj_set_size. - -00024620 <__func__.10043>: - 24620: 6f5f766c 735f6a62 775f7465 68746469 lv_obj_set_width - 24630: 00000000 .... - -00024634 <__func__.10049>: - 24634: 6f5f766c 735f6a62 685f7465 68676965 lv_obj_set_heigh - 24644: 00000074 t... - -00024648 <__func__.10757>: - 24648: 6f5f766c 675f6a62 705f7465 65746f72 lv_obj_get_prote - 24658: 00007463 ct.. - -0002465c <__func__.10763>: - 2465c: 6f5f766c 695f6a62 72705f73 6365746f lv_obj_is_protec - 2466c: 00646574 ted. - -00024670 <__func__.10769>: - 24670: 6f5f766c 675f6a62 735f7465 65746174 lv_obj_get_state - 24680: 00000000 .... - -00024684 <__func__.10548>: - 24684: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width - 24694: 7469665f 00000000 _fit.... - -0002469c <__func__.10555>: - 2469c: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh - 246ac: 69665f74 00000074 t_fit... - -000246b4 <__func__.10517>: - 246b4: 6f5f766c 675f6a62 695f7465 72656e6e lv_obj_get_inner - 246c4: 6f6f635f 00736472 0000ffff _coords..... - -000246d0 <__func__.10345>: - 246d0: 6f5f766c 735f6a62 735f7465 65746174 lv_obj_set_state - 246e0: 00000000 .... - -000246e4 <__func__.11002>: - 246e4: 6e617274 72635f73 65746165 00000000 trans_create.... - -000246f4 <__func__.10368>: - 246f4: 6f5f766c 615f6a62 735f6464 65746174 lv_obj_add_state - 24704: 00000000 .... - -00024708 <__func__.10375>: - 24708: 6f5f766c 635f6a62 7261656c 6174735f lv_obj_clear_sta - 24718: 00006574 te.. - -0002471c <__func__.10775>: - 2471c: 6f5f766c 675f6a62 735f7465 616e6769 lv_obj_get_signa - 2472c: 62635f6c 00000000 l_cb.... - -00024734 <__func__.10780>: - 24734: 6f5f766c 675f6a62 645f7465 67697365 lv_obj_get_desig - 24744: 62635f6e 00000000 n_cb.... - -0002474c <__func__.10785>: - 2474c: 6f5f766c 675f6a62 655f7465 746e6576 lv_obj_get_event - 2475c: 0062635f _cb. - -00024760 <__func__.10790>: - 24760: 6f5f766c 675f6a62 655f7465 615f7478 lv_obj_get_ext_a - 24770: 00727474 ttr. - -00024774 <__func__.10796>: - 24774: 6f5f766c 675f6a62 745f7465 00657079 lv_obj_get_type. - -00024784 <__func__.10811>: - 24784: 6f5f766c 675f6a62 675f7465 70756f72 lv_obj_get_group - 24794: 00000000 .... - -00024798 <__func__.9935>: - 24798: 6f5f766c 645f6a62 00006c65 lv_obj_del.. - -000247a4 <__func__.10901>: - 247a4: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async - 247b4: 0062635f _cb. - -000247b8 <__func__.9951>: - 247b8: 6f5f766c 635f6a62 6e61656c 00000000 lv_obj_clean.... - -000247c8 <__func__.10816>: - 247c8: 6f5f766c 695f6a62 6f665f73 65737563 lv_obj_is_focuse - 247d8: 00000064 742f2e2e 64726968 74726170 d...../thirdpart - 247e8: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co - 247f8: 6c2f6572 626f5f76 00632e6a 695f766c re/lv_obj.c.lv_i - 24808: 3a74696e 726c6120 79646165 696e6920 nit: already ini - 24818: 00646574 695f766c 2074696e 64616572 ted.lv_init read - 24828: 00000079 645f766c 696e6965 6f642074 y...lv_deinit do - 24838: 0000656e 4c4c554e 696f7020 7265746e ne..NULL pointer - 24848: 00000000 735f766c 675f7263 645f7465 ....lv_scr_get_d - 24858: 3a707369 72637320 206e6565 20746f6e isp: screen not - 24868: 6e756f66 00000064 6f5f766c 735f6a62 found...lv_obj_s - 24878: 625f7465 5f657361 3a726964 766e6920 et_base_dir: inv - 24888: 64696c61 73616220 69642065 00000072 alid base dir... - 24898: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty - 248a8: 6c5f656c 3a747369 6e616320 66207427 le_list: can't f - 248b8: 20646e69 6c797473 69772065 60206874 ind style with ` - 248c8: 74726170 00000060 6f5f766c 735f6a62 part`...lv_obj_s - 248d8: 705f7465 203a736f 20746f6e 6e616863 et_pos: not chan - 248e8: 676e6967 736f7020 6f697469 666f206e ging position of - 248f8: 72637320 206e6565 656a626f 00007463 screen object.. - 24908: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style - 24918: 6163203a 2074276e 646e6966 79747320 : can't find sty - 24928: 7720656c 20687469 70797460 00006065 le with `type`.. - 24938: 6f5f766c 635f6a62 74616572 6e203a65 lv_obj_create: n - 24948: 6420746f 6c707369 63207961 74616572 ot display creat - 24958: 74206465 6f73206f 72616620 6f4e202e ed to so far. No - 24968: 616c7020 74206563 7361206f 6e676973 place to assign - 24978: 65687420 77656e20 72637320 006e6565 the new screen. - 24988: 656a624f 63207463 74616572 65722065 Object create re - 24998: 00796461 276e6143 65732074 68742074 ady.Can't set th - 249a8: 61702065 746e6572 20666f20 63732061 e parent of a sc - 249b8: 6e656572 00000000 276e6143 65732074 reen....Can't se - 249c8: 61702074 746e6572 203d3d20 4c4c554e t parent == NULL - 249d8: 206f7420 6f206e61 63656a62 00000074 to an object... - 249e8: 6f5f766c 00006a62 lv_obj.. - -000249f0 <__func__.9738>: - 249f0: 725f766c 5f726665 61657261 00000000 lv_refr_area.... - 24a00: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 24a10: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l - 24a20: 65725f76 632e7266 00000000 276e6143 v_refr.c....Can' - 24a30: 65732074 44562074 65682042 74686769 t set VDB height - 24a40: 69737520 7420676e 72206568 646e756f using the round - 24a50: 6e756620 6f697463 28202e6e 6e6f7257 function. (Wron - 24a60: 6f722067 5f646e75 6f206263 6f742072 g round_cb or to - 24a70: 616d7320 56206c6c 00294244 small VDB). - -00024a7c <__func__.9549>: - 24a7c: 5f766c5f 6c797473 696c5f65 725f7473 _lv_style_list_r - 24a8c: 766f6d65 74735f65 00656c79 emove_style. - -00024a98 <__func__.9532>: - 24a98: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a - 24aa8: 735f6464 656c7974 00000000 dd_style.... - -00024ab4 <__func__.9777>: - 24ab4: 5f746567 6f6c6c61 6f6c5f63 5f6c6163 get_alloc_local_ - 24ac4: 6c797473 00000065 style... - -00024acc <__func__.9583>: - 24acc: 5f766c5f 6c797473 65735f65 6e695f74 _lv_style_set_in - 24adc: 00000074 t... - -00024ae0 <__func__.9597>: - 24ae0: 5f766c5f 6c797473 65735f65 6f635f74 _lv_style_set_co - 24af0: 00726f6c lor. - -00024af4 <__func__.9611>: - 24af4: 5f766c5f 6c797473 65735f65 706f5f74 _lv_style_set_op - 24b04: 00000061 a... - -00024b08 <__func__.9625>: - 24b08: 5f766c5f 6c797473 65735f65 74705f74 _lv_style_set_pt - 24b18: 00000072 r... - -00024b1c <__func__.9673>: - 24b1c: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a - 24b2c: 745f6464 736e6172 7974735f 0000656c dd_trans_style.. - 24b3c: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 24b4c: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l - 24b5c: 74735f76 2e656c79 00000063 735f766c v_style.c...lv_s - 24b6c: 656c7974 73696c5f 65725f74 65766f6d tyle_list_remove - 24b7c: 7974735f 203a656c 6c756f63 74276e64 _style: couldn't - 24b8c: 61657220 636f6c6c 20657461 73616c63 reallocate clas - 24b9c: 696c2073 00007473 735f766c 656c7974 s list..lv_style - 24bac: 73696c5f 64615f74 74735f64 3a656c79 _list_add_style: - 24bbc: 756f6320 276e646c 64612074 68742064 couldn't add th - 24bcc: 6c632065 00737361 5f746567 61636f6c e class.get_loca - 24bdc: 74735f6c 3a656c79 756f6320 276e646c l_style: couldn' - 24bec: 72632074 65746165 636f6c20 73206c61 t create local s - 24bfc: 656c7974 00000000 735f766c 656c7974 tyle....lv_style - 24c0c: 73696c5f 64615f74 72745f64 5f736e61 _list_add_trans_ - 24c1c: 6c797473 63203a65 646c756f 2074276e style: couldn't - 24c2c: 61657263 74206574 736e6172 6f697469 create transitio - 24c3c: 7473206e 00656c79 n style. - -00024c44 <__func__.9728>: - 24c44: 6c6c6966 656c625f 6465646e 00000000 fill_blended.... - -00024c54 <__func__.9860>: - 24c54: 5f70616d 6e656c62 00646564 742f2e2e map_blended.../t - 24c64: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s - 24c74: 6c2f6372 72645f76 6c2f7761 72645f76 rc/lv_draw/lv_dr - 24c84: 625f7761 646e656c 0000632e 6c6c6966 aw_blend.c..fill - 24c94: 656c625f 6465646e 6e75203a 70707573 _blended: unsupp - 24ca4: 6574726f 6c622064 20646e65 65646f6d orted blend mode - 24cb4: 00000000 0000ffff ........ - -00024cbc <__func__.9554>: - 24cbc: 645f766c 5f776172 00676d69 lv_draw_img. - -00024cc8 <__func__.9618>: - 24cc8: 695f766c 645f676d 5f776172 65726f63 lv_img_draw_core - 24cd8: 00000000 742f2e2e 64726968 74726170 ....../thirdpart - 24ce8: 766c2f79 732f6c67 6c2f6372 72645f76 y/lvgl/src/lv_dr - 24cf8: 6c2f7761 72645f76 695f7761 632e676d aw/lv_draw_img.c - 24d08: 00000000 67616d49 72642065 203a7761 ....Image draw: - 24d18: 20637273 4e207369 004c4c55 640a6f4e src is NULL.No.d - 24d28: 00617461 67616d49 72642065 65207761 ata.Image draw e - 24d38: 726f7272 00000000 67616d49 72642065 rror....Image dr - 24d48: 63207761 74276e61 61657220 68742064 aw can't read th - 24d58: 696c2065 0000656e e line.. - -00024d60 <_lv_bpp1_opa_table>: - 24d60: 0000ff00 .... - -00024d64 <_lv_bpp2_opa_table>: - 24d64: ffaa5500 .U.. - -00024d68 <_lv_bpp4_opa_table>: - 24d68: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........ - -00024d78 <_lv_bpp8_opa_table>: - 24d78: 03020100 07060504 0b0a0908 0f0e0d0c ................ - 24d88: 13121110 17161514 1b1a1918 1f1e1d1c ................ - 24d98: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./ - 24da8: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>? - 24db8: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO - 24dc8: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_ - 24dd8: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno - 24de8: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~. - 24df8: 83828180 87868584 8b8a8988 8f8e8d8c ................ - 24e08: 93929190 97969594 9b9a9998 9f9e9d9c ................ - 24e18: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................ - 24e28: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................ - 24e38: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................ - 24e48: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................ - 24e58: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................ - 24e68: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................ - -00024e78 <__func__.9614>: - 24e78: 645f766c 5f776172 7474656c 00007265 lv_draw_letter.. - -00024e88 <__func__.9696>: - 24e88: 77617264 74656c5f 5f726574 70627573 draw_letter_subp - 24e98: 00000078 x... - -00024e9c <__func__.9641>: - 24e9c: 77617264 74656c5f 5f726574 6d726f6e draw_letter_norm - 24eac: 00006c61 al.. - -00024eb0 <_lv_bpp3_opa_table>: - 24eb0: 6d492400 ffdbb692 742f2e2e 64726968 .$Im....../third - 24ec0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 24ed0: 72645f76 6c2f7761 72645f76 6c5f7761 v_draw/lv_draw_l - 24ee0: 6c656261 0000632e 645f766c 5f776172 abel.c..lv_draw_ - 24ef0: 7474656c 203a7265 746e6f66 20736920 letter: font is - 24f00: 4c4c554e 00000000 645f766c 5f776172 NULL....lv_draw_ - 24f10: 7474656c 203a7265 70796c67 73642068 letter: glyph ds - 24f20: 6e202e63 6620746f 646e756f 00000000 c. not found.... - 24f30: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: - 24f40: 72616863 65746361 20732772 6d746962 character's bitm - 24f50: 6e207061 6620746f 646e756f 00000000 ap not found.... - 24f60: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: - 24f70: 61766e69 2064696c 20707062 20746f6e invalid bpp not - 24f80: 6e756f66 00000064 645f766c 5f776172 found...lv_draw_ - 24f90: 7474656c 203a7265 61766e69 2064696c letter: invalid - 24fa0: 00707062 bpp. - -00024fa4 : - 24fa4: 81808080 83828281 87868584 8d8c8a89 ................ - 24fb4: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................ - 24fc4: 000000b5 .... - -00024fc8 <__func__.9580>: - 24fc8: 645f766c 5f776172 6b73616d 6464615f lv_draw_mask_add - 24fd8: 00000000 .... - -00024fdc <__func__.9645>: - 24fdc: 645f766c 5f776172 6b73616d 676e615f lv_draw_mask_ang - 24fec: 695f656c 0074696e 742f2e2e 64726968 le_init.../third - 24ffc: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 2500c: 72645f76 6c2f7761 72645f76 6d5f7761 v_draw/lv_draw_m - 2501c: 2e6b7361 00000063 6d5f766c 5f6b7361 ask.c...lv_mask_ - 2502c: 3a646461 206f6e20 63616c70 6f742065 add: no place to - 2503c: 64646120 65687420 73616d20 0000006b add the mask... - 2504c: 78656e55 74636570 73206465 74726174 Unexpected start - 2505c: 676e615f 0000656c 78656e55 74636570 _angle..Unexpect - 2506c: 65206465 615f646e 656c676e 00000000 ed end_angle.... - 2507c: 0000ffff .... - -00025080 <__func__.9886>: - 25080: 77617264 7461705f 6e726574 00000000 draw_pattern.... - 25090: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 250a0: 732f6c67 6c2f6372 72645f76 6c2f7761 gl/src/lv_draw/l - 250b0: 72645f76 725f7761 2e746365 00000063 v_draw_rect.c... - 250c0: 77617264 676d695f 6163203a 2074276e draw_img: can't - 250d0: 20746567 67616d69 6e692065 00006f66 get image info.. - 250e0: 695f766c 645f676d 67697365 69203a6e lv_img_design: i - 250f0: 6567616d 756f7320 20656372 65707974 mage source type - 25100: 20736920 6e6b6e75 006e776f 33221100 is unknown..."3 - 25110: 77665544 bbaa9988 ffeeddcc DUfw........ - -0002511c <__func__.7156>: - 2511c: 695f766c 625f676d 735f6675 705f7465 lv_img_buf_set_p - 2512c: 74656c61 00006574 alette.. - -00025134 <__func__.9528>: - 25134: 5f766c5f 5f676d69 68636163 706f5f65 _lv_img_cache_op - 25144: 00006e65 en.. - -00025148 <__func__.9548>: - 25148: 695f766c 635f676d 65686361 7465735f lv_img_cache_set - 25158: 7a69735f 00000065 742f2e2e 64726968 _size...../third - 25168: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 25178: 72645f76 6c2f7761 6d695f76 61635f67 v_draw/lv_img_ca - 25188: 2e656863 00000063 695f766c 635f676d che.c...lv_img_c - 25198: 65686361 65706f5f 74203a6e 63206568 ache_open: the c - 251a8: 65686361 7a697320 73692065 00003020 ache size is 0.. - 251b8: 67616d69 72642065 203a7761 68636163 image draw: cach - 251c8: 696d2065 202c7373 736f6c63 6e612065 e miss, close an - 251d8: 65722064 20657375 65206e61 7972746e d reuse an entry - 251e8: 00000000 67616d69 72642065 203a7761 ....image draw: - 251f8: 68636163 696d2065 202c7373 68636163 cache miss, cach - 25208: 74206465 6e61206f 706d6520 65207974 ed to an empty e - 25218: 7972746e 00000000 67616d49 72642065 ntry....Image dr - 25228: 63207761 6f6e6e61 706f2074 74206e65 aw cannot open t - 25238: 69206568 6567616d 73657220 6372756f he image resourc - 25248: 00000065 e... - -0002524c <__func__.9619>: - 2524c: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 2525c: 746c6975 5f6e695f 6f666e69 00000000 uilt_in_info.... - -0002526c <__func__.9626>: - 2526c: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 2527c: 746c6975 5f6e695f 6e65706f 00000000 uilt_in_open.... - -0002528c <__func__.9673>: - 2528c: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 2529c: 746c6975 5f6e695f 656e696c 7572745f uilt_in_line_tru - 252ac: 6f635f65 00726f6c 33221100 77665544 e_color..."3DUfw - 252bc: bbaa9988 ffeeddcc ........ - -000252c4 <__func__.9656>: - 252c4: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b - 252d4: 746c6975 5f6e695f 64616572 6e696c5f uilt_in_read_lin - 252e4: 00000065 e... - -000252e8 <__func__.9588>: - 252e8: 695f766c 645f676d 646f6365 635f7265 lv_img_decoder_c - 252f8: 74616572 00000065 reate... - -00025300 <__func__.9550>: - 25300: 5f766c5f 5f676d69 6f636564 5f726564 _lv_img_decoder_ - 25310: 74696e69 00000000 742f2e2e 64726968 init....../third - 25320: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 25330: 72645f76 6c2f7761 6d695f76 65645f67 v_draw/lv_img_de - 25340: 65646f63 00632e72 67616d49 65672065 coder.c.Image ge - 25350: 6e692074 67206f66 72207465 20646165 t info get read - 25360: 656c6966 61656820 00726564 67616d49 file header.Imag - 25370: 65672065 6e692074 66206f66 646e756f e get info found - 25380: 6b6e7520 6e776f6e 63727320 70797420 unknown src typ - 25390: 00000065 006e6962 6c697542 6e692d74 e...bin.Built-in - 253a0: 616d6920 64206567 646f6365 63207265 image decoder c - 253b0: 74276e61 65706f20 6874206e 69662065 an't open the fi - 253c0: 0000656c 5f676d69 6f636564 5f726564 le..img_decoder_ - 253d0: 6c697562 6e695f74 65706f5f 6f203a6e built_in_open: o - 253e0: 6f207475 656d2066 79726f6d 00000000 ut of memory.... - 253f0: 67616d49 65642065 65646f63 706f2072 Image decoder op - 25400: 203a6e65 6e6b6e75 206e776f 6f6c6f63 en: unknown colo - 25410: 6f662072 74616d72 00000000 6c697542 r format....Buil - 25420: 6e692d74 616d6920 64206567 646f6365 t-in image decod - 25430: 73207265 206b6565 6c696166 00006465 er seek failed.. - 25440: 6c697542 6e692d74 616d6920 64206567 Built-in image d - 25450: 646f6365 72207265 20646165 6c696166 ecoder read fail - 25460: 00006465 6c697542 6e692d74 616d6920 ed..Built-in ima - 25470: 64206567 646f6365 72207265 20646165 ge decoder read - 25480: 20746f6e 70707573 7374726f 65687420 not supports the - 25490: 6c6f6320 6620726f 616d726f 00000074 color format... - 254a0: 695f766c 645f676d 646f6365 695f7265 lv_img_decoder_i - 254b0: 3a74696e 74756f20 20666f20 6f6d656d nit: out of memo - 254c0: 00007972 ry.. - -000254c4 <__func__.9652>: - 254c4: 665f766c 5f746e6f 5f746567 6d746962 lv_font_get_bitm - 254d4: 665f7061 745f746d 00007478 742f2e2e ap_fmt_txt..../t - 254e4: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s - 254f4: 6c2f6372 6f665f76 6c2f746e 6f665f76 rc/lv_font/lv_fo - 25504: 665f746e 745f746d 632e7478 00000000 nt_fmt_txt.c.... - -00025514 : - 25514: 00025524 00026170 000260d4 0000313d $U..pa...`..=1.. - -00025524 : - 25524: 00000100 00000000 00000100 00000003 ................ - 25534: 00000200 00000000 00000000 00000000 ................ - 25544: 00010000 00000000 00000000 00000000 ................ - 25554: 000c0100 0000fa07 f1f20000 04060c02 ................ - 25564: 010d02f6 0008030b 00000000 00000000 ................ - 25574: 020f0000 000000fe 00000000 00000000 ................ - 25584: f8000500 00000000 0504fb00 00fd0000 ................ - 25594: fd0003fe fbfffd00 00000000 fd0000fd ................ - 255a4: fd0000fc 0000fb00 00000000 fd000000 ................ - 255b4: 00fc00fd 00e100f9 0500fb00 fb000008 ................ - 255c4: 05080303 000005fc 000000f1 00000000 ................ - 255d4: 00000000 000000f7 00000000 00000000 ................ - 255e4: f9000000 f600f3fd 000000fe 000a0100 ................ - 255f4: 01fffef8 0000fc00 0000edfe 00000000 ................ - 25604: 00000000 0afeec00 00000000 00000000 ................ - 25614: 00000000 000000f6 00000000 08000000 ................ - 25624: 00000300 000000fb 00000000 00000000 ................ - 25634: 00000000 020a0000 00000001 00000000 ................ +000245f8 <__func__.10031>: + 245f8: 6f5f766c 735f6a62 735f7465 00657a69 lv_obj_set_size. + +00024608 <__func__.10043>: + 24608: 6f5f766c 735f6a62 775f7465 68746469 lv_obj_set_width + 24618: 00000000 .... + +0002461c <__func__.10049>: + 2461c: 6f5f766c 735f6a62 685f7465 68676965 lv_obj_set_heigh + 2462c: 00000074 t... + +00024630 <__func__.10757>: + 24630: 6f5f766c 675f6a62 705f7465 65746f72 lv_obj_get_prote + 24640: 00007463 ct.. + +00024644 <__func__.10763>: + 24644: 6f5f766c 695f6a62 72705f73 6365746f lv_obj_is_protec + 24654: 00646574 ted. + +00024658 <__func__.10769>: + 24658: 6f5f766c 675f6a62 735f7465 65746174 lv_obj_get_state + 24668: 00000000 .... + +0002466c <__func__.10548>: + 2466c: 6f5f766c 675f6a62 775f7465 68746469 lv_obj_get_width + 2467c: 7469665f 00000000 _fit.... + +00024684 <__func__.10555>: + 24684: 6f5f766c 675f6a62 685f7465 68676965 lv_obj_get_heigh + 24694: 69665f74 00000074 t_fit... + +0002469c <__func__.10517>: + 2469c: 6f5f766c 675f6a62 695f7465 72656e6e lv_obj_get_inner + 246ac: 6f6f635f 00736472 0000ffff _coords..... + +000246b8 <__func__.10345>: + 246b8: 6f5f766c 735f6a62 735f7465 65746174 lv_obj_set_state + 246c8: 00000000 .... + +000246cc <__func__.11002>: + 246cc: 6e617274 72635f73 65746165 00000000 trans_create.... + +000246dc <__func__.10368>: + 246dc: 6f5f766c 615f6a62 735f6464 65746174 lv_obj_add_state + 246ec: 00000000 .... + +000246f0 <__func__.10375>: + 246f0: 6f5f766c 635f6a62 7261656c 6174735f lv_obj_clear_sta + 24700: 00006574 te.. + +00024704 <__func__.10775>: + 24704: 6f5f766c 675f6a62 735f7465 616e6769 lv_obj_get_signa + 24714: 62635f6c 00000000 l_cb.... + +0002471c <__func__.10780>: + 2471c: 6f5f766c 675f6a62 645f7465 67697365 lv_obj_get_desig + 2472c: 62635f6e 00000000 n_cb.... + +00024734 <__func__.10785>: + 24734: 6f5f766c 675f6a62 655f7465 746e6576 lv_obj_get_event + 24744: 0062635f _cb. + +00024748 <__func__.10790>: + 24748: 6f5f766c 675f6a62 655f7465 615f7478 lv_obj_get_ext_a + 24758: 00727474 ttr. + +0002475c <__func__.10796>: + 2475c: 6f5f766c 675f6a62 745f7465 00657079 lv_obj_get_type. + +0002476c <__func__.10811>: + 2476c: 6f5f766c 675f6a62 675f7465 70756f72 lv_obj_get_group + 2477c: 00000000 .... + +00024780 <__func__.9935>: + 24780: 6f5f766c 645f6a62 00006c65 lv_obj_del.. + +0002478c <__func__.10901>: + 2478c: 6f5f766c 645f6a62 615f6c65 636e7973 lv_obj_del_async + 2479c: 0062635f _cb. + +000247a0 <__func__.9951>: + 247a0: 6f5f766c 635f6a62 6e61656c 00000000 lv_obj_clean.... + +000247b0 <__func__.10816>: + 247b0: 6f5f766c 695f6a62 6f665f73 65737563 lv_obj_is_focuse + 247c0: 00000064 742f2e2e 64726968 74726170 d...../thirdpart + 247d0: 766c2f79 732f6c67 6c2f6372 6f635f76 y/lvgl/src/lv_co + 247e0: 6c2f6572 626f5f76 00632e6a 695f766c re/lv_obj.c.lv_i + 247f0: 3a74696e 726c6120 79646165 696e6920 nit: already ini + 24800: 00646574 695f766c 2074696e 64616572 ted.lv_init read + 24810: 00000079 645f766c 696e6965 6f642074 y...lv_deinit do + 24820: 0000656e 4c4c554e 696f7020 7265746e ne..NULL pointer + 24830: 00000000 735f766c 675f7263 645f7465 ....lv_scr_get_d + 24840: 3a707369 72637320 206e6565 20746f6e isp: screen not + 24850: 6e756f66 00000064 6f5f766c 735f6a62 found...lv_obj_s + 24860: 625f7465 5f657361 3a726964 766e6920 et_base_dir: inv + 24870: 64696c61 73616220 69642065 00000072 alid base dir... + 24880: 6f5f766c 635f6a62 6e61656c 7974735f lv_obj_clean_sty + 24890: 6c5f656c 3a747369 6e616320 66207427 le_list: can't f + 248a0: 20646e69 6c797473 69772065 60206874 ind style with ` + 248b0: 74726170 00000060 6f5f766c 735f6a62 part`...lv_obj_s + 248c0: 705f7465 203a736f 20746f6e 6e616863 et_pos: not chan + 248d0: 676e6967 736f7020 6f697469 666f206e ging position of + 248e0: 72637320 206e6565 656a626f 00007463 screen object.. + 248f0: 6f5f766c 615f6a62 735f6464 656c7974 lv_obj_add_style + 24900: 6163203a 2074276e 646e6966 79747320 : can't find sty + 24910: 7720656c 20687469 70797460 00006065 le with `type`.. + 24920: 6f5f766c 635f6a62 74616572 6e203a65 lv_obj_create: n + 24930: 6420746f 6c707369 63207961 74616572 ot display creat + 24940: 74206465 6f73206f 72616620 6f4e202e ed to so far. No + 24950: 616c7020 74206563 7361206f 6e676973 place to assign + 24960: 65687420 77656e20 72637320 006e6565 the new screen. + 24970: 656a624f 63207463 74616572 65722065 Object create re + 24980: 00796461 276e6143 65732074 68742074 ady.Can't set th + 24990: 61702065 746e6572 20666f20 63732061 e parent of a sc + 249a0: 6e656572 00000000 276e6143 65732074 reen....Can't se + 249b0: 61702074 746e6572 203d3d20 4c4c554e t parent == NULL + 249c0: 206f7420 6f206e61 63656a62 00000074 to an object... + 249d0: 6f5f766c 00006a62 lv_obj.. + +000249d8 <__func__.9738>: + 249d8: 725f766c 5f726665 61657261 00000000 lv_refr_area.... + 249e8: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 249f8: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l + 24a08: 65725f76 632e7266 00000000 276e6143 v_refr.c....Can' + 24a18: 65732074 44562074 65682042 74686769 t set VDB height + 24a28: 69737520 7420676e 72206568 646e756f using the round + 24a38: 6e756620 6f697463 28202e6e 6e6f7257 function. (Wron + 24a48: 6f722067 5f646e75 6f206263 6f742072 g round_cb or to + 24a58: 616d7320 56206c6c 00294244 small VDB). + +00024a64 <__func__.9549>: + 24a64: 5f766c5f 6c797473 696c5f65 725f7473 _lv_style_list_r + 24a74: 766f6d65 74735f65 00656c79 emove_style. + +00024a80 <__func__.9532>: + 24a80: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a + 24a90: 735f6464 656c7974 00000000 dd_style.... + +00024a9c <__func__.9777>: + 24a9c: 5f746567 6f6c6c61 6f6c5f63 5f6c6163 get_alloc_local_ + 24aac: 6c797473 00000065 style... + +00024ab4 <__func__.9583>: + 24ab4: 5f766c5f 6c797473 65735f65 6e695f74 _lv_style_set_in + 24ac4: 00000074 t... + +00024ac8 <__func__.9597>: + 24ac8: 5f766c5f 6c797473 65735f65 6f635f74 _lv_style_set_co + 24ad8: 00726f6c lor. + +00024adc <__func__.9611>: + 24adc: 5f766c5f 6c797473 65735f65 706f5f74 _lv_style_set_op + 24aec: 00000061 a... + +00024af0 <__func__.9625>: + 24af0: 5f766c5f 6c797473 65735f65 74705f74 _lv_style_set_pt + 24b00: 00000072 r... + +00024b04 <__func__.9673>: + 24b04: 5f766c5f 6c797473 696c5f65 615f7473 _lv_style_list_a + 24b14: 745f6464 736e6172 7974735f 0000656c dd_trans_style.. + 24b24: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 24b34: 732f6c67 6c2f6372 6f635f76 6c2f6572 gl/src/lv_core/l + 24b44: 74735f76 2e656c79 00000063 735f766c v_style.c...lv_s + 24b54: 656c7974 73696c5f 65725f74 65766f6d tyle_list_remove + 24b64: 7974735f 203a656c 6c756f63 74276e64 _style: couldn't + 24b74: 61657220 636f6c6c 20657461 73616c63 reallocate clas + 24b84: 696c2073 00007473 735f766c 656c7974 s list..lv_style + 24b94: 73696c5f 64615f74 74735f64 3a656c79 _list_add_style: + 24ba4: 756f6320 276e646c 64612074 68742064 couldn't add th + 24bb4: 6c632065 00737361 5f746567 61636f6c e class.get_loca + 24bc4: 74735f6c 3a656c79 756f6320 276e646c l_style: couldn' + 24bd4: 72632074 65746165 636f6c20 73206c61 t create local s + 24be4: 656c7974 00000000 735f766c 656c7974 tyle....lv_style + 24bf4: 73696c5f 64615f74 72745f64 5f736e61 _list_add_trans_ + 24c04: 6c797473 63203a65 646c756f 2074276e style: couldn't + 24c14: 61657263 74206574 736e6172 6f697469 create transitio + 24c24: 7473206e 00656c79 n style. + +00024c2c <__func__.9728>: + 24c2c: 6c6c6966 656c625f 6465646e 00000000 fill_blended.... + +00024c3c <__func__.9860>: + 24c3c: 5f70616d 6e656c62 00646564 742f2e2e map_blended.../t + 24c4c: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s + 24c5c: 6c2f6372 72645f76 6c2f7761 72645f76 rc/lv_draw/lv_dr + 24c6c: 625f7761 646e656c 0000632e 6c6c6966 aw_blend.c..fill + 24c7c: 656c625f 6465646e 6e75203a 70707573 _blended: unsupp + 24c8c: 6574726f 6c622064 20646e65 65646f6d orted blend mode + 24c9c: 00000000 0000ffff ........ + +00024ca4 <__func__.9554>: + 24ca4: 645f766c 5f776172 00676d69 lv_draw_img. + +00024cb0 <__func__.9618>: + 24cb0: 695f766c 645f676d 5f776172 65726f63 lv_img_draw_core + 24cc0: 00000000 742f2e2e 64726968 74726170 ....../thirdpart + 24cd0: 766c2f79 732f6c67 6c2f6372 72645f76 y/lvgl/src/lv_dr + 24ce0: 6c2f7761 72645f76 695f7761 632e676d aw/lv_draw_img.c + 24cf0: 00000000 67616d49 72642065 203a7761 ....Image draw: + 24d00: 20637273 4e207369 004c4c55 640a6f4e src is NULL.No.d + 24d10: 00617461 67616d49 72642065 65207761 ata.Image draw e + 24d20: 726f7272 00000000 67616d49 72642065 rror....Image dr + 24d30: 63207761 74276e61 61657220 68742064 aw can't read th + 24d40: 696c2065 0000656e e line.. + +00024d48 <_lv_bpp1_opa_table>: + 24d48: 0000ff00 .... + +00024d4c <_lv_bpp2_opa_table>: + 24d4c: ffaa5500 .U.. + +00024d50 <_lv_bpp4_opa_table>: + 24d50: 33221100 77665544 bbaa9988 ffeeddcc .."3DUfw........ + +00024d60 <_lv_bpp8_opa_table>: + 24d60: 03020100 07060504 0b0a0908 0f0e0d0c ................ + 24d70: 13121110 17161514 1b1a1918 1f1e1d1c ................ + 24d80: 23222120 27262524 2b2a2928 2f2e2d2c !"#$%&'()*+,-./ + 24d90: 33323130 37363534 3b3a3938 3f3e3d3c 0123456789:;<=>? + 24da0: 43424140 47464544 4b4a4948 4f4e4d4c @ABCDEFGHIJKLMNO + 24db0: 53525150 57565554 5b5a5958 5f5e5d5c PQRSTUVWXYZ[\]^_ + 24dc0: 63626160 67666564 6b6a6968 6f6e6d6c `abcdefghijklmno + 24dd0: 73727170 77767574 7b7a7978 7f7e7d7c pqrstuvwxyz{|}~. + 24de0: 83828180 87868584 8b8a8988 8f8e8d8c ................ + 24df0: 93929190 97969594 9b9a9998 9f9e9d9c ................ + 24e00: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac ................ + 24e10: b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc ................ + 24e20: c3c2c1c0 c7c6c5c4 cbcac9c8 cfcecdcc ................ + 24e30: d3d2d1d0 d7d6d5d4 dbdad9d8 dfdedddc ................ + 24e40: e3e2e1e0 e7e6e5e4 ebeae9e8 efeeedec ................ + 24e50: f3f2f1f0 f7f6f5f4 fbfaf9f8 fffefdfc ................ + +00024e60 <__func__.9614>: + 24e60: 645f766c 5f776172 7474656c 00007265 lv_draw_letter.. + +00024e70 <__func__.9696>: + 24e70: 77617264 74656c5f 5f726574 70627573 draw_letter_subp + 24e80: 00000078 x... + +00024e84 <__func__.9641>: + 24e84: 77617264 74656c5f 5f726574 6d726f6e draw_letter_norm + 24e94: 00006c61 al.. + +00024e98 <_lv_bpp3_opa_table>: + 24e98: 6d492400 ffdbb692 742f2e2e 64726968 .$Im....../third + 24ea8: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 24eb8: 72645f76 6c2f7761 72645f76 6c5f7761 v_draw/lv_draw_l + 24ec8: 6c656261 0000632e 645f766c 5f776172 abel.c..lv_draw_ + 24ed8: 7474656c 203a7265 746e6f66 20736920 letter: font is + 24ee8: 4c4c554e 00000000 645f766c 5f776172 NULL....lv_draw_ + 24ef8: 7474656c 203a7265 70796c67 73642068 letter: glyph ds + 24f08: 6e202e63 6620746f 646e756f 00000000 c. not found.... + 24f18: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: + 24f28: 72616863 65746361 20732772 6d746962 character's bitm + 24f38: 6e207061 6620746f 646e756f 00000000 ap not found.... + 24f48: 645f766c 5f776172 7474656c 203a7265 lv_draw_letter: + 24f58: 61766e69 2064696c 20707062 20746f6e invalid bpp not + 24f68: 6e756f66 00000064 645f766c 5f776172 found...lv_draw_ + 24f78: 7474656c 203a7265 61766e69 2064696c letter: invalid + 24f88: 00707062 bpp. + +00024f8c : + 24f8c: 81808080 83828281 87868584 8d8c8a89 ................ + 24f9c: 9593918f 9e9b9997 a7a5a2a0 b2afadaa ................ + 24fac: 000000b5 .... + +00024fb0 <__func__.9580>: + 24fb0: 645f766c 5f776172 6b73616d 6464615f lv_draw_mask_add + 24fc0: 00000000 .... + +00024fc4 <__func__.9645>: + 24fc4: 645f766c 5f776172 6b73616d 676e615f lv_draw_mask_ang + 24fd4: 695f656c 0074696e 742f2e2e 64726968 le_init.../third + 24fe4: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 24ff4: 72645f76 6c2f7761 72645f76 6d5f7761 v_draw/lv_draw_m + 25004: 2e6b7361 00000063 6d5f766c 5f6b7361 ask.c...lv_mask_ + 25014: 3a646461 206f6e20 63616c70 6f742065 add: no place to + 25024: 64646120 65687420 73616d20 0000006b add the mask... + 25034: 78656e55 74636570 73206465 74726174 Unexpected start + 25044: 676e615f 0000656c 78656e55 74636570 _angle..Unexpect + 25054: 65206465 615f646e 656c676e 00000000 ed end_angle.... + 25064: 0000ffff .... + +00025068 <__func__.9886>: + 25068: 77617264 7461705f 6e726574 00000000 draw_pattern.... + 25078: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 25088: 732f6c67 6c2f6372 72645f76 6c2f7761 gl/src/lv_draw/l + 25098: 72645f76 725f7761 2e746365 00000063 v_draw_rect.c... + 250a8: 77617264 676d695f 6163203a 2074276e draw_img: can't + 250b8: 20746567 67616d69 6e692065 00006f66 get image info.. + 250c8: 695f766c 645f676d 67697365 69203a6e lv_img_design: i + 250d8: 6567616d 756f7320 20656372 65707974 mage source type + 250e8: 20736920 6e6b6e75 006e776f 33221100 is unknown..."3 + 250f8: 77665544 bbaa9988 ffeeddcc DUfw........ + +00025104 <__func__.7156>: + 25104: 695f766c 625f676d 735f6675 705f7465 lv_img_buf_set_p + 25114: 74656c61 00006574 alette.. + +0002511c <__func__.9528>: + 2511c: 5f766c5f 5f676d69 68636163 706f5f65 _lv_img_cache_op + 2512c: 00006e65 en.. + +00025130 <__func__.9548>: + 25130: 695f766c 635f676d 65686361 7465735f lv_img_cache_set + 25140: 7a69735f 00000065 742f2e2e 64726968 _size...../third + 25150: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 25160: 72645f76 6c2f7761 6d695f76 61635f67 v_draw/lv_img_ca + 25170: 2e656863 00000063 695f766c 635f676d che.c...lv_img_c + 25180: 65686361 65706f5f 74203a6e 63206568 ache_open: the c + 25190: 65686361 7a697320 73692065 00003020 ache size is 0.. + 251a0: 67616d69 72642065 203a7761 68636163 image draw: cach + 251b0: 696d2065 202c7373 736f6c63 6e612065 e miss, close an + 251c0: 65722064 20657375 65206e61 7972746e d reuse an entry + 251d0: 00000000 67616d69 72642065 203a7761 ....image draw: + 251e0: 68636163 696d2065 202c7373 68636163 cache miss, cach + 251f0: 74206465 6e61206f 706d6520 65207974 ed to an empty e + 25200: 7972746e 00000000 67616d49 72642065 ntry....Image dr + 25210: 63207761 6f6e6e61 706f2074 74206e65 aw cannot open t + 25220: 69206568 6567616d 73657220 6372756f he image resourc + 25230: 00000065 e... + +00025234 <__func__.9619>: + 25234: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 25244: 746c6975 5f6e695f 6f666e69 00000000 uilt_in_info.... + +00025254 <__func__.9626>: + 25254: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 25264: 746c6975 5f6e695f 6e65706f 00000000 uilt_in_open.... + +00025274 <__func__.9673>: + 25274: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 25284: 746c6975 5f6e695f 656e696c 7572745f uilt_in_line_tru + 25294: 6f635f65 00726f6c 33221100 77665544 e_color..."3DUfw + 252a4: bbaa9988 ffeeddcc ........ + +000252ac <__func__.9656>: + 252ac: 695f766c 645f676d 646f6365 625f7265 lv_img_decoder_b + 252bc: 746c6975 5f6e695f 64616572 6e696c5f uilt_in_read_lin + 252cc: 00000065 e... + +000252d0 <__func__.9588>: + 252d0: 695f766c 645f676d 646f6365 635f7265 lv_img_decoder_c + 252e0: 74616572 00000065 reate... + +000252e8 <__func__.9550>: + 252e8: 5f766c5f 5f676d69 6f636564 5f726564 _lv_img_decoder_ + 252f8: 74696e69 00000000 742f2e2e 64726968 init....../third + 25308: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 25318: 72645f76 6c2f7761 6d695f76 65645f67 v_draw/lv_img_de + 25328: 65646f63 00632e72 67616d49 65672065 coder.c.Image ge + 25338: 6e692074 67206f66 72207465 20646165 t info get read + 25348: 656c6966 61656820 00726564 67616d49 file header.Imag + 25358: 65672065 6e692074 66206f66 646e756f e get info found + 25368: 6b6e7520 6e776f6e 63727320 70797420 unknown src typ + 25378: 00000065 006e6962 6c697542 6e692d74 e...bin.Built-in + 25388: 616d6920 64206567 646f6365 63207265 image decoder c + 25398: 74276e61 65706f20 6874206e 69662065 an't open the fi + 253a8: 0000656c 5f676d69 6f636564 5f726564 le..img_decoder_ + 253b8: 6c697562 6e695f74 65706f5f 6f203a6e built_in_open: o + 253c8: 6f207475 656d2066 79726f6d 00000000 ut of memory.... + 253d8: 67616d49 65642065 65646f63 706f2072 Image decoder op + 253e8: 203a6e65 6e6b6e75 206e776f 6f6c6f63 en: unknown colo + 253f8: 6f662072 74616d72 00000000 6c697542 r format....Buil + 25408: 6e692d74 616d6920 64206567 646f6365 t-in image decod + 25418: 73207265 206b6565 6c696166 00006465 er seek failed.. + 25428: 6c697542 6e692d74 616d6920 64206567 Built-in image d + 25438: 646f6365 72207265 20646165 6c696166 ecoder read fail + 25448: 00006465 6c697542 6e692d74 616d6920 ed..Built-in ima + 25458: 64206567 646f6365 72207265 20646165 ge decoder read + 25468: 20746f6e 70707573 7374726f 65687420 not supports the + 25478: 6c6f6320 6620726f 616d726f 00000074 color format... + 25488: 695f766c 645f676d 646f6365 695f7265 lv_img_decoder_i + 25498: 3a74696e 74756f20 20666f20 6f6d656d nit: out of memo + 254a8: 00007972 ry.. + +000254ac <__func__.9652>: + 254ac: 665f766c 5f746e6f 5f746567 6d746962 lv_font_get_bitm + 254bc: 665f7061 745f746d 00007478 742f2e2e ap_fmt_txt..../t + 254cc: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s + 254dc: 6c2f6372 6f665f76 6c2f746e 6f665f76 rc/lv_font/lv_fo + 254ec: 665f746e 745f746d 632e7478 00000000 nt_fmt_txt.c.... + +000254fc : + 254fc: 0002550c 00026158 000260bc 0000313d .U..Xa...`..=1.. + +0002550c : + 2550c: 00000100 00000000 00000100 00000003 ................ + 2551c: 00000200 00000000 00000000 00000000 ................ + 2552c: 00010000 00000000 00000000 00000000 ................ + 2553c: 000c0100 0000fa07 f1f20000 04060c02 ................ + 2554c: 010d02f6 0008030b 00000000 00000000 ................ + 2555c: 020f0000 000000fe 00000000 00000000 ................ + 2556c: f8000500 00000000 0504fb00 00fd0000 ................ + 2557c: fd0003fe fbfffd00 00000000 fd0000fd ................ + 2558c: fd0000fc 0000fb00 00000000 fd000000 ................ + 2559c: 00fc00fd 00e100f9 0500fb00 fb000008 ................ + 255ac: 05080303 000005fc 000000f1 00000000 ................ + 255bc: 00000000 000000f7 00000000 00000000 ................ + 255cc: f9000000 f600f3fd 000000fe 000a0100 ................ + 255dc: 01fffef8 0000fc00 0000edfe 00000000 ................ + 255ec: 00000000 0afeec00 00000000 00000000 ................ + 255fc: 00000000 000000f6 00000000 08000000 ................ + 2560c: 00000300 000000fb 00000000 00000000 ................ + 2561c: 00000000 020a0000 00000001 00000000 ................ ... - 25664: 000000f7 00000000 00000000 00000000 ................ - 25674: 00000000 02000000 fd080305 fd050000 ................ - 25684: 0702ddf8 00fd0105 00080009 00e80008 ................ - 25694: 080008fd 000305fd 00fd0100 0014fc00 ................ - 256a4: 00080014 0804030b f7000000 00000000 ................ - 256b4: 0200fe01 02fbfdfb 0000fd00 0000f600 ................ + 2564c: 000000f7 00000000 00000000 00000000 ................ + 2565c: 00000000 02000000 fd080305 fd050000 ................ + 2566c: 0702ddf8 00fd0105 00080009 00e80008 ................ + 2567c: 080008fd 000305fd 00fd0100 0014fc00 ................ + 2568c: 00080014 0804030b f7000000 00000000 ................ + 2569c: 0200fe01 02fbfdfb 0000fd00 0000f600 ................ ... - 256cc: 0000ef00 00000000 00000000 00000000 ................ - 256dc: 00f20100 000000f0 1900fe00 0303fdfd ................ - 256ec: 03fd00fe 00f20000 00000000 00000000 ................ - 256fc: 00e70000 00000003 00000000 00000000 ................ - 2570c: 0f00f000 00f70000 e7ef0008 0008fbef ................ - 2571c: 0300ef00 00fc00fa 00000000 00000000 ................ - 2572c: 07000000 0000e108 00000000 00000000 ................ - 2573c: 000c0000 00000002 02020000 ff00fbfd ................ - 2574c: 0000fdff 000000fe 00fe00fb fa00fbfa ................ - 2575c: 00fbf8f8 00fb00fb fe000000 00030000 ................ - 2576c: 0100fd02 03000000 000000fe ff0303fe ................ - 2577c: fb000000 0000ff00 01000000 00fe0300 ................ - 2578c: 00fc00fd 0800fe00 00fd0000 00000000 ................ - 2579c: fefe01ff 00fd0000 000000fd 00000000 ................ - 257ac: ffff0000 00fdfd00 00000000 fe000001 ................ - 257bc: fdfdfd00 00000000 00000000 0000fe00 ................ - 257cc: fdfe0000 f800fc00 0005f8fe 0503fb00 ................ - 257dc: fffa0007 f4ff00fd f202fe03 01000003 ................ - 257ec: fef200f3 f300feea 00070500 00000003 ................ - 257fc: fb000100 00f800fd 00fd0000 00fd0000 ................ - 2580c: 00000000 ff00ffff 000000fd 00000000 ................ - 2581c: fe00fdfd 0000fefd 000000fd 00000000 ................ - 2582c: 00000000 fd00fefe fb00fe00 fd000003 ................ - 2583c: 00030301 00000000 0000fe00 02000000 ................ - 2584c: 00fd0000 00fdfefd 00000000 00020000 ................ - 2585c: 000000fe 00fcfd00 fe0800fb 0000f801 ................ - 2586c: f5f3f307 fe0003fb fb00fbef fb04fb00 ................ - 2587c: 00f900f0 02ff0100 000300fe f300f6f8 ................ - 2588c: f8fafbfa fbfff9fd 010002f9 0000fd00 ................ - 2589c: 03000200 00000000 00000000 fd000000 ................ - 258ac: ff00ff00 fafc00fd f800fffa 00000000 ................ - 258bc: 00fe0000 01000000 000000fe 00000003 ................ - 258cc: 00000000 00000c00 00000000 00000002 ................ - 258dc: 000000fd 00000000 00000000 000300fb ................ + 256b4: 0000ef00 00000000 00000000 00000000 ................ + 256c4: 00f20100 000000f0 1900fe00 0303fdfd ................ + 256d4: 03fd00fe 00f20000 00000000 00000000 ................ + 256e4: 00e70000 00000003 00000000 00000000 ................ + 256f4: 0f00f000 00f70000 e7ef0008 0008fbef ................ + 25704: 0300ef00 00fc00fa 00000000 00000000 ................ + 25714: 07000000 0000e108 00000000 00000000 ................ + 25724: 000c0000 00000002 02020000 ff00fbfd ................ + 25734: 0000fdff 000000fe 00fe00fb fa00fbfa ................ + 25744: 00fbf8f8 00fb00fb fe000000 00030000 ................ + 25754: 0100fd02 03000000 000000fe ff0303fe ................ + 25764: fb000000 0000ff00 01000000 00fe0300 ................ + 25774: 00fc00fd 0800fe00 00fd0000 00000000 ................ + 25784: fefe01ff 00fd0000 000000fd 00000000 ................ + 25794: ffff0000 00fdfd00 00000000 fe000001 ................ + 257a4: fdfdfd00 00000000 00000000 0000fe00 ................ + 257b4: fdfe0000 f800fc00 0005f8fe 0503fb00 ................ + 257c4: fffa0007 f4ff00fd f202fe03 01000003 ................ + 257d4: fef200f3 f300feea 00070500 00000003 ................ + 257e4: fb000100 00f800fd 00fd0000 00fd0000 ................ + 257f4: 00000000 ff00ffff 000000fd 00000000 ................ + 25804: fe00fdfd 0000fefd 000000fd 00000000 ................ + 25814: 00000000 fd00fefe fb00fe00 fd000003 ................ + 25824: 00030301 00000000 0000fe00 02000000 ................ + 25834: 00fd0000 00fdfefd 00000000 00020000 ................ + 25844: 000000fe 00fcfd00 fe0800fb 0000f801 ................ + 25854: f5f3f307 fe0003fb fb00fbef fb04fb00 ................ + 25864: 00f900f0 02ff0100 000300fe f300f6f8 ................ + 25874: f8fafbfa fbfff9fd 010002f9 0000fd00 ................ + 25884: 03000200 00000000 00000000 fd000000 ................ + 25894: ff00ff00 fafc00fd f800fffa 00000000 ................ + 258a4: 00fe0000 01000000 000000fe 00000003 ................ + 258b4: 00000000 00000c00 00000000 00000002 ................ + 258c4: 000000fd 00000000 00000000 000300fb ................ ... - 258f8: 000000fe 000000fb 00f8f300 f3fc0000 ................ - 25908: 03fd0000 0000f900 00000000 00000000 ................ - 25918: fb0000fc 00000000 00000000 00000000 ................ - 25928: 00fb0003 03000000 fbfb0200 fdfdfd00 ................ - 25938: 00000000 00f80000 fdfc00fd f8fafa00 ................ - 25948: 00fb00fe 000000f8 00001400 fd000001 ................ - 25958: f5000300 00000000 08fbe800 00f5fe08 ................ - 25968: f300fc03 ee03fdff 040003fd f8f7fcf7 ................ - 25978: f10000f5 00000f00 000000ff f9fdffff ................ - 25988: 00e8fff8 00000000 00000000 00000001 ................ + 258e0: 000000fe 000000fb 00f8f300 f3fc0000 ................ + 258f0: 03fd0000 0000f900 00000000 00000000 ................ + 25900: fb0000fc 00000000 00000000 00000000 ................ + 25910: 00fb0003 03000000 fbfb0200 fdfdfd00 ................ + 25920: 00000000 00f80000 fdfc00fd f8fafa00 ................ + 25930: 00fb00fe 000000f8 00001400 fd000001 ................ + 25940: f5000300 00000000 08fbe800 00f5fe08 ................ + 25950: f300fc03 ee03fdff 040003fd f8f7fcf7 ................ + 25960: f10000f5 00000f00 000000ff f9fdffff ................ + 25970: 00e8fff8 00000000 00000000 00000001 ................ ... - 259a4: ff00fd00 0000fcfd 00fd00fb 00000000 ................ + 2598c: ff00fd00 0000fcfd 00fd00fb 00000000 ................ ... - 259bc: 00ff0000 050000fb fa0003ff f9fffe03 ................ - 259cc: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................ - 259dc: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................ - 259ec: 00000003 00000000 0003fb00 fdfe00fc ................ - 259fc: fefefef8 fffdfeff 00000000 fefefd00 ................ - 25a0c: 00000000 fe00fe03 fe000000 fdfefefd ................ - 25a1c: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................ - 25a2c: 03fcf400 fe0002fc fc00f8fe fc000001 ................ - 25a3c: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................ - 25a4c: 0008fcfb 00000000 00000000 00000003 ................ + 259a4: 00ff0000 050000fb fa0003ff f9fffe03 ................ + 259b4: fdfd00fd fcfc00fe fffe0000 00fdfcfe ................ + 259c4: 0300fd00 00fa00fe 00fb0000 fcfc00fc ................ + 259d4: 00000003 00000000 0003fb00 fdfe00fc ................ + 259e4: fefefef8 fffdfeff 00000000 fefefd00 ................ + 259f4: 00000000 fe00fe03 fe000000 fdfefefd ................ + 25a04: 0a0200fe 00f900ff fd0005fe 0004fdf5 ................ + 25a14: 03fcf400 fe0002fc fc00f8fe fc000001 ................ + 25a24: 03000000 00fbfb03 fdfcfdfc 01fc00fd ................ + 25a34: 0008fcfb 00000000 00000000 00000003 ................ ... - 25a70: 000000fc 00000000 00000000 00000000 ................ + 25a58: 000000fc 00000000 00000000 00000000 ................ ... - 25a9c: 000000fe 00000000 00000000 00000000 ................ + 25a84: 000000fe 00000000 00000000 00000000 ................ ... - 25ab8: fdfe0000 00000000 00000000 00000000 ................ - 25ac8: fd0000fc fdfd0000 00000000 000000fd ................ - 25ad8: 0000ff00 fe000000 00000000 00fb00fc ................ - 25ae8: 00f80000 0105fa02 0000f4fe f600fdfa ................ - 25af8: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................ - 25b08: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................ - 25b18: feee0000 f7fa0608 00f80100 05fdfef3 ................ - 25b28: 0001fde8 f3fdef00 0000edfd 010f00ee ................ - 25b38: 0000fe00 feff0000 ef00fef6 00000000 ................ - 25b48: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................ - 25b58: f4000000 fef8f8fd fcfdfafc f8fefb00 ................ - 25b68: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................ - 25b78: 03000000 0afb0200 fdfdfd00 00000000 ................ - 25b88: 00f80000 fdfc00fd f8fafa00 02fb00fe ................ - 25b98: 0000000a 00001400 fd000001 00000300 ................ - 25ba8: 00000000 00ff0000 00000000 0000fbfe ................ - 25bb8: ff000000 fd000000 fb0000fd fb0000fd ................ - 25bc8: 00ff0400 00000000 00000100 05040000 ................ - 25bd8: f800fe02 f80800fc 0afbfbf8 feea0305 ................ - 25be8: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................ - 25bf8: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................ - 25c08: 00fc0003 080200f9 faf6f7fa ed010008 ................ - 25c18: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................ - 25c28: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................ - 25c38: fd000007 00fefb00 0400fbfd 000003f8 ................ - 25c48: fafd00f2 faf8fefc f800faf8 f8fbfafd ................ - 25c58: 010000fd f800fc0c fbfd00fd f6f9f9fa ................ - 25c68: 0005fbfd fdf300fc f7f80502 fd08f8fb ................ - 25c78: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................ - 25c88: 080000ff 00effe07 f606faf1 f5f7fbef ................ - 25c98: 0005f8f3 fd000000 fd030000 05fb0205 ................ - 25ca8: fff80000 0100ff00 0000fe01 00000000 ................ - 25cb8: 000000fd 01080200 0000fd00 fefe0000 ................ - 25cc8: 000000fd 00000201 00020000 000a00fe ................ - 25cd8: fd010105 00000500 00000200 00000000 ................ - 25ce8: 00000000 07000800 00000000 00000000 ................ - 25cf8: 00000000 00f10000 080004fd 03190000 ................ - 25d08: 0303fbfb 00f301fe 00f10c00 00000000 ................ - 25d18: 00000000 0aef0000 00000024 00000000 ........$....... - 25d28: 00000000 0000f100 00000000 00000000 ................ + 25aa0: fdfe0000 00000000 00000000 00000000 ................ + 25ab0: fd0000fc fdfd0000 00000000 000000fd ................ + 25ac0: 0000ff00 fe000000 00000000 00fb00fc ................ + 25ad0: 00f80000 0105fa02 0000f4fe f600fdfa ................ + 25ae0: 0000f9fa f6f6fdf5 00f900f4 00fd1102 ................ + 25af0: fdfffdfa f7fbf9fc 00fdfaf6 0100fe00 ................ + 25b00: feee0000 f7fa0608 00f80100 05fdfef3 ................ + 25b10: 0001fde8 f3fdef00 0000edfd 010f00ee ................ + 25b20: 0000fe00 feff0000 ef00fef6 00000000 ................ + 25b30: 00fe00f8 00f4f9ff f8fcff00 00fe00fd ................ + 25b40: f4000000 fef8f8fd fcfdfafc f8fefb00 ................ + 25b50: fbfd00fc 0100fbfd 00f8fe00 00fb0005 ................ + 25b60: 03000000 0afb0200 fdfdfd00 00000000 ................ + 25b70: 00f80000 fdfc00fd f8fafa00 02fb00fe ................ + 25b80: 0000000a 00001400 fd000001 00000300 ................ + 25b90: 00000000 00ff0000 00000000 0000fbfe ................ + 25ba0: ff000000 fd000000 fb0000fd fb0000fd ................ + 25bb0: 00ff0400 00000000 00000100 05040000 ................ + 25bc0: f800fe02 f80800fc 0afbfbf8 feea0305 ................ + 25bd0: fd00fd05 00f7fd03 fefd03fd 0000fef8 ................ + 25be0: f9000508 07fdf200 fd01f6fd 0afdf8f8 ................ + 25bf0: 00fc0003 080200f9 faf6f7fa ed010008 ................ + 25c00: fefc03fe f7fa00fa 00fefcfc fdfbfa00 ................ + 25c10: fd060800 fcf200f2 fff1f700 f9f8fcf8 ................ + 25c20: fd000007 00fefb00 0400fbfd 000003f8 ................ + 25c30: fafd00f2 faf8fefc f800faf8 f8fbfafd ................ + 25c40: 010000fd f800fc0c fbfd00fd f6f9f9fa ................ + 25c50: 0005fbfd fdf300fc f7f80502 fd08f8fb ................ + 25c60: 05fbe801 00f7fcfa fdfdf5f8 f8fbfdfe ................ + 25c70: 080000ff 00effe07 f606faf1 f5f7fbef ................ + 25c80: 0005f8f3 fd000000 fd030000 05fb0205 ................ + 25c90: fff80000 0100ff00 0000fe01 00000000 ................ + 25ca0: 000000fd 01080200 0000fd00 fefe0000 ................ + 25cb0: 000000fd 00000201 00020000 000a00fe ................ + 25cc0: fd010105 00000500 00000200 00000000 ................ + 25cd0: 00000000 07000800 00000000 00000000 ................ + 25ce0: 00000000 00f10000 080004fd 03190000 ................ + 25cf0: 0303fbfb 00f301fe 00f10c00 00000000 ................ + 25d00: 00000000 0aef0000 00000024 00000000 ........$....... + 25d10: 00000000 0000f100 00000000 00000000 ................ ... - 25d48: fb0000fc 000000fe 00000000 00000000 ................ + 25d30: fb0000fc 000000fe 00000000 00000000 ................ ... - 25d60: 00f900fe 00000100 fefb2103 03f90708 .........!...... - 25d70: 03030000 000000fd 00000000 00000000 ................ - 25d80: 000007df 00000000 00000000 00000000 ................ - 25d90: f9000000 f9000000 00000000 0000fffa ................ - 25da0: fd00fa00 0000f400 00000000 00000000 ................ - 25db0: 0000ef00 00010000 00000000 0000fd00 ................ - 25dc0: 00fc00fb 000000f9 00fd03fc fafdf900 ................ - 25dd0: 00f90000 00f400fd eb0000fd f7fdf6fb ................ - 25de0: 00ef0000 0000fff9 00000000 fbfc0000 ................ - 25df0: 0000fcfe 00fa0000 05fd03fa fefafe00 ................ - 25e00: fd00fbfc f902feff 000000ff 00fcfee9 ................ - 25e10: f4fe00fa fe0000fe 000000fe fe000200 ................ - 25e20: 0004fefc 00000000 00000000 00000000 ................ + 25d48: 00f900fe 00000100 fefb2103 03f90708 .........!...... + 25d58: 03030000 000000fd 00000000 00000000 ................ + 25d68: 000007df 00000000 00000000 00000000 ................ + 25d78: f9000000 f9000000 00000000 0000fffa ................ + 25d88: fd00fa00 0000f400 00000000 00000000 ................ + 25d98: 0000ef00 00010000 00000000 0000fd00 ................ + 25da8: 00fc00fb 000000f9 00fd03fc fafdf900 ................ + 25db8: 00f90000 00f400fd eb0000fd f7fdf6fb ................ + 25dc8: 00ef0000 0000fff9 00000000 fbfc0000 ................ + 25dd8: 0000fcfe 00fa0000 05fd03fa fefafe00 ................ + 25de8: fd00fbfc f902feff 000000ff 00fcfee9 ................ + 25df8: f4fe00fa fe0000fe 000000fe fe000200 ................ + 25e08: 0004fefc 00000000 00000000 00000000 ................ ... - 25e4c: 00030000 00000000 fe00fa00 fb000000 ................ - 25e5c: 00000003 00fbfdf9 fd00f900 0000f400 ................ - 25e6c: 00e70000 00f3f7fb fe00ef00 000000fc ................ - 25e7c: 00000000 fffcfd00 000001fc 0800fd04 ................ - 25e8c: f8fdfd0d 06040d03 030b03f9 00070607 ................ + 25e34: 00030000 00000000 fe00fa00 fb000000 ................ + 25e44: 00000003 00fbfdf9 fd00f900 0000f400 ................ + 25e54: 00e70000 00f3f7fb fe00ef00 000000fc ................ + 25e64: 00000000 fffcfd00 000001fc 0800fd04 ................ + 25e74: f8fdfd0d 06040d03 030b03f9 00070607 ................ ... - 25ea4: 0c100000 fe00fdfb 00140b14 00030000 ................ - 25eb4: 00000900 000000fc 00000000 00fe0000 ................ - 25ec4: 00000000 04000000 00000000 f6fefdea ................ - 25ed4: ef0000f3 00000000 00000000 00000000 ................ - 25ee4: 00000000 0000fc00 00000000 fe000000 ................ + 25e8c: 0c100000 fe00fdfb 00140b14 00030000 ................ + 25e9c: 00000900 000000fc 00000000 00fe0000 ................ + 25eac: 00000000 04000000 00000000 f6fefdea ................ + 25ebc: ef0000f3 00000000 00000000 00000000 ................ + 25ecc: 00000000 0000fc00 00000000 fe000000 ................ ... - 25efc: 00000004 fefdea00 0000f3f6 000000f6 ................ + 25ee4: 00000004 fefdea00 0000f3f6 000000f6 ................ ... - 25f1c: 000000fe fd0003fa f8030502 03feff00 ................ - 25f2c: 00000200 00fa0000 00fbfefe 1000f6fe ................ - 25f3c: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................ + 25f04: 000000fe fd0003fa f8030502 03feff00 ................ + 25f14: 00000200 00fa0000 00fbfefe 1000f6fe ................ + 25f24: fefa00fd 00fcfe00 fdfbf9fd fc000000 ................ ... - 25f54: 0000fe00 00000000 00040000 ea000000 ................ - 25f64: f3f6fefd 00ef0000 00000000 00000d00 ................ + 25f3c: 0000fe00 00000000 00040000 ea000000 ................ + 25f4c: f3f6fefd 00ef0000 00000000 00000d00 ................ ... - 25f7c: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................ - 25f8c: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................ - 25f9c: fefefdfd fe00fefd 040004ff 000800fe ................ + 25f64: fdf800fc fdfe08fe 01fe01f6 0601f9fe ................ + 25f74: 02010201 00fdf6fa f5f9fbf6 fbfc00f6 ................ + 25f84: fefefdfd fe00fefd 040004ff 000800fe ................ ... - 25fb4: fe000000 0000fdfd 00ff00f9 000000fc ................ + 25f9c: fe000000 0000fdfd 00ff00f9 000000fc ................ ... - 25fcc: 000000f1 00000000 00000000 fd00fdfd ................ - 25fdc: 00000000 fc0000fe fc0003fd f900fefb ................ - 25fec: fdfefafe 0000fc00 00000000 00000000 ................ - 25ffc: 0800ef00 00fb0000 fd000000 0000fd00 ................ - 2600c: fe0000ff 0000fa00 f8f8fd0b ff030302 ................ - 2601c: 020402f9 fe080208 f60000f9 f9f80000 ................ - 2602c: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................ - 2603c: 000009fd 00fb00fe 00fa0300 0002fd03 ................ - 2604c: fe00f800 03fd00ff 000000fe 00fafdf6 ................ - 2605c: f40000f8 00fd0900 000200fb f8fd00fd ................ - 2606c: 0003fd00 fe000000 fd030000 fd000001 ................ - 2607c: 00fd00fe 00000000 00000000 00000000 ................ - 2608c: 00000000 000600f0 0000fe00 00010000 ................ - 2609c: 0000fdfd 06000500 00000000 01f1f000 ................ - 260ac: f604080b 09000b02 00000500 00000000 ................ - 260bc: 00000000 00000e00 00000000 00000000 ................ + 25fb4: 000000f1 00000000 00000000 fd00fdfd ................ + 25fc4: 00000000 fc0000fe fc0003fd f900fefb ................ + 25fd4: fdfefafe 0000fc00 00000000 00000000 ................ + 25fe4: 0800ef00 00fb0000 fd000000 0000fd00 ................ + 25ff4: fe0000ff 0000fa00 f8f8fd0b ff030302 ................ + 26004: 020402f9 fe080208 f60000f9 f9f80000 ................ + 26014: 00fb0000 fc00fcfd fe00fc00 f8fe0004 ................ + 26024: 000009fd 00fb00fe 00fa0300 0002fd03 ................ + 26034: fe00f800 03fd00ff 000000fe 00fafdf6 ................ + 26044: f40000f8 00fd0900 000200fb f8fd00fd ................ + 26054: 0003fd00 fe000000 fd030000 fd000001 ................ + 26064: 00fd00fe 00000000 00000000 00000000 ................ + 26074: 00000000 000600f0 0000fe00 00010000 ................ + 26084: 0000fdfd 06000500 00000000 01f1f000 ................ + 26094: f604080b 09000b02 00000500 00000000 ................ + 260a4: 00000000 00000e00 00000000 00000000 ................ ... -000260d4 : - 260d4: 02010000 05040300 08070602 0a090a09 ................ - 260e4: 0e0d0c0b 0c11100f 15141312 00000015 ................ - 260f4: 19181716 19191917 1a191917 19191919 ................ - 26104: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#. - 26114: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&** - 26124: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#. - 26134: 00000931 00000000 00000000 00000000 1............... +000260bc : + 260bc: 02010000 05040300 08070602 0a090a09 ................ + 260cc: 0e0d0c0b 0c11100f 15141312 00000015 ................ + 260dc: 19181716 19191917 1a191917 19191919 ................ + 260ec: 19171917 1d1c1b03 201f1e1d 00232221 ........... !"#. + 260fc: 26250024 00272727 29282627 2a2a2626 $.%&'''.'&()&&** + 2610c: 2a272a27 2e2d2c2b 302e2f2e 09230000 '*'*+,-../.0..#. + 2611c: 00000931 00000000 00000000 00000000 1............... ... -00026170 : - 26170: 02010000 05040300 08070602 0a090a09 ................ - 26180: 0d000c0b 11100f0e 140c1312 00000014 ................ - 26190: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. .. - 261a0: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+. - 261b0: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450-- - 261c0: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)... - 261d0: 0000093d 00000000 00000000 00000000 =............... +00026158 : + 26158: 02010000 05040300 08070602 0a090a09 ................ + 26168: 0d000c0b 11100f0e 140c1312 00000014 ................ + 26178: 18171615 1b1a1619 1e1d1d1c 1d1d201f ............. .. + 26188: 23222116 251e2403 28272625 002b2a29 .!"#.$.%%&'()*+. + 26198: 2e2d002c 3231302f 34342d33 2d2d3035 ,.-./0123-4450-- + 261a8: 37362e2e 3a333938 3c3a3b3a 09000029 ..67893::;:<)... + 261b8: 0000093d 00000000 00000000 00000000 =............... ... -0002620c : - 2620c: 00000020 0001005f 00000000 00000000 ..._........... - 2621c: 00000000 000000b0 0060f7f3 00026234 ..........`.4b.. - 2622c: 00000000 0002003b ....;... - -00026234 : - 26234: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a. - 26244: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x. - 26254: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................ - 26264: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................ - 26274: efc9efc8 efe3efcb f014efe5 f017f015 ................ - 26284: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;... - 26294: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T. - 262a4: f712f4aa 0000f7f2 ........ - -000262ac : +000261f4 : + 261f4: 00000020 0001005f 00000000 00000000 ..._........... + 26204: 00000000 000000b0 0060f7f3 0002621c ..........`..b.. + 26214: 00000000 0002003b ....;... + +0002621c : + 2621c: 1f720000 ef58ef51 ef5cef5b ef61ef5d ..r.Q.X.[.\.].a. + 2622c: ef65ef63 ef6cef69 ef76ef71 ef78ef77 c.e.i.l.q.v.w.x. + 2623c: ef98ef8e ef9cef9b efa1ef9d efa3efa2 ................ + 2624c: efb7efa4 efbeefb8 efc1efc0 efc7efc4 ................ + 2625c: efc9efc8 efe3efcb f014efe5 f017f015 ................ + 2626c: f03af037 f06cf043 f0abf074 f190f13b 7.:.C.l.t...;... + 2627c: f192f191 f194f193 f1e3f1d7 f254f23d ............=.T. + 2628c: f712f4aa 0000f7f2 ........ + +00026294 : ... - 262b4: 04500000 00000000 04500000 00010c03 ..P.......P..... - 262c4: 06400012 07010505 0b40001f 00000c0b ..@.......@..... - 262d4: 09f00061 fe00100a 0d8000b1 00000c0d a............... - 262e4: 0b0000ff ff000d0b 03600147 07010502 ........G.`..... - 262f4: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p..... - 26304: 06600188 05000707 095001a1 02010808 ..`.......P..... - 26314: 03a001c1 fe000503 062001c9 03000306 .......... ..... - 26324: 03a001d2 00000303 05a001d7 feff1008 ................ - 26334: 0ab00217 00000c0a 05f00253 00000c05 ........S....... - 26344: 09300271 00000c09 092002a7 00000c09 q.0....... ..... - 26354: 0ab002dd 00000c0b 0930031f 00000c09 ..........0..... - 26364: 09e00355 00000c0a 09900391 00000c09 U............... - 26374: 0a5003c7 00000c0a 09e00403 00000c0a ..P............. - 26384: 03a0043f 00000903 03a0044d fd000c03 ?.......M....... - 26394: 0950045f 02010808 0950047f 03010608 _.P.......P..... - 263a4: 09500497 02010808 093004b7 00000c09 ..P.......0..... - 263b4: 109004ed fd000f10 0bb00565 00ff0c0d ........e....... - 263c4: 0c2005b3 00010c0b 0b9005f5 00000c0b .. ............. - 263d4: 0d300637 00010c0c 0ac0067f 00010c09 7.0............. - 263e4: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`..... - 263f4: 0d000733 00010c0b 04f00775 00010c03 3.......u....... - 26404: 08300787 00ff0c08 0b8007b7 00010c0b ..0............. - 26414: 098007f9 00010c09 0f40082f 00010c0d ......../.@..... - 26424: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p..... - 26434: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p..... - 26444: 0ba009b2 00010c0a 09f009ee 00000c0a ................ - 26454: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f....... - 26464: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`............. - 26474: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`..... - 26484: 0a800bec 00000c0b 05500c2e fd010f05 ..........P..... - 26494: 05a00c54 feff1008 05500c94 fd000f04 T.........P..... - 264a4: 09500cb2 02010708 08000cce fe000208 ..P............. - 264b4: 09a00cd6 0a010205 09900cdb 00000909 ................ - 264c4: 0af00d04 00010c0a 09200d40 00000909 ........@. ..... - 264d4: 0af00d69 00000c0a 09d00da5 0000090a i............... - 264e4: 05a00dd2 00000c07 0b100dfc fd000c0a ................ - 264f4: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p..... - 26504: 04900e80 fdfe0f06 09e00ead 00010c09 ................ - 26514: 04700ee3 00010c02 10f00eef 0001090f ..p............. - 26524: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0..... - 26534: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................ - 26544: 06901001 00010906 0800101c 00000908 ................ - 26554: 06a01040 00000b07 0ad01067 00010909 @.......g....... - 26564: 08f01090 00ff090a 0e6010bd 0000090f ..........`..... - 26574: 08d01101 00000909 08f0112a fdff0c0a ........*....... - 26584: 08501166 00000908 05a0118a fd000f06 f.P............. - 26594: 04d011b7 fd010f03 05a011ce fd000f05 ................ - 265a4: 095011f4 04000509 06b0120b 06000606 ..P............. - 265b4: 0500121d 03010403 10001223 fe001110 ........#....... - 265c4: 100012ab 00000c10 1000130b ff000e10 ................ - 265d4: 1000137b 00000c10 0b0013db 00000c0b {............... - 265e4: 1000141d fe001010 1000149d fe001010 ................ - 265f4: 1200151d ff000e12 1000159b fe001010 ................ - 26604: 1200161b 00000c12 10001687 fe001010 ................ - 26614: 08001707 ff000e08 0c00173f ff000e0c ........?....... - 26624: 12001793 fe001012 10001823 00000c10 ........#....... - 26634: 0e001883 fe02100a 0e0018d3 fd00120e ................ - 26644: 0e001951 ff000f0e 0e0019ba ff000e0e Q............... - 26654: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l....... - 26664: 0a001adc ff000e0a 0a001b22 ff000e0a ........"....... - 26674: 0e001b68 ff000e0e 0e001bca 0400040e h............... - 26684: 12001be6 00000c12 14001c52 fe001014 ........R....... - 26694: 12001cf2 feff1014 10001d92 fe001010 ................ - 266a4: 0e001e12 01000a0e 0e001e58 01000a0e ........X....... - 266b4: 14001e9e ff000e14 10001f2a 00000c10 ........*....... - 266c4: 10001f8a fe001010 1000200a feff1111 ......... ...... - 266d4: 0e00209b ff000e0f 0e002104 fe00100e . .......!...... - 266e4: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!...... - 266f4: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."...... - 26704: 12002316 00000c12 10002382 fdff1212 .#.......#...... - 26714: 0c002424 fe00100c 14002484 ff000f14 $$.......$...... - 26724: 1400251a 01000a14 1400257e 01000a14 .%......~%...... - 26734: 140025e2 01000a14 14002646 01000a14 .%......F&...... - 26744: 140026aa 01000a14 1400270e ff000e15 .&.......'...... - 26754: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(...... - 26764: 10002871 fdff1111 14002902 00000c14 q(.......)...... - 26774: 0c00297a fe00100c 102029da 01000b11 z).......) ..... - -00026784 : - 26784: aff00bbf 089ee00a c0078cd0 bf100000 ................ - 26794: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r... - 267a4: e003c005 007a0000 0900005c 01a00780 ......z.\....... - 267b4: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0..... - 267c4: 0e100f00 f0020030 9f00f200 ffffffff ....0........... - 267d4: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p.. - 267e4: 79000000 00000000 00000079 20e9ff5c ...y....y...\.. - 267f4: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y... - 26804: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@.. - 26814: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../.. - 26824: ae03a0af 0000d7ff 00007900 00790000 .........y....y. - 26834: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L. - 26844: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P - 26854: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<... - 26864: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... < - 26874: 0b003d00 09e20070 00d00680 00a0dd04 .=..p........... - 26884: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}.. - 26894: a01cc00c ae3f0000 010000c1 0000c0df ......?......... - 268a4: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@... - 268b4: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0 - 268c4: 000000a5 f5000000 72e4e4f5 f205da00 ...........r.... - 268d4: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._ - 268e4: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0.... - 268f4: e900f601 ad00bc00 ad00ae00 e900bc00 ................ - 26904: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+ - 26914: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........ - 26924: 10050000 500f0000 500f0000 511f0100 .......P...P...Q - 26934: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P - 26944: fd520900 0fc5a00b 10110100 04f3ff1f ..R............. - 26954: 12034044 00901efc 00f10500 00b00a00 D@.............. - 26964: 00600f00 00105f00 0000ab00 0000f600 ..`.._.......... - 26974: 0000f105 0000b00a 0000600f 0000104f .........`..O... - 26984: 000000ac 040000f6 0a0000f1 0e0000c0 ................ - 26994: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............ - 269a4: 00f50770 c00df20a 1ff80100 dc000080 p............... - 269b4: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`......... - 269c4: f80100c0 0a00f507 a8cf00f2 080070cf .............p.. - 269d4: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0 - 269e4: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0. - 269f4: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(..... - 26a04: 00f20700 00af0000 804f0000 c03f0000 ..........O...?. - 26a14: c13e0000 c12e0000 d12e0000 f82e0000 ..>............. - 26a24: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww.. - 26a34: e10c0000 f3090000 f6050000 df000000 ................ - 26a44: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d - 26a54: f3080040 fb8cc9bf d7ff7c00 01000000 @........|...... - 26a64: 000000eb 0010be00 506f0000 2f000000 ..........oP.../ - 26a74: 00000090 0000d00c 01f30800 f80300d5 ................ - 26a84: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U - 26a94: 52f95655 2f000000 00000060 0500f602 UV.R.../`....... - 26aa4: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........ - 26ab4: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. . - 26ac4: 00f80400 920f0000 f6050050 fd8ad98f ........P....... - 26ad4: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p. - 26ae4: 000000f8 0000d00c 00801f00 682f0000 ............../h - 26af4: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../....... - 26b04: f109f602 01f30600 b09f86de d8ef1900 ................ - 26b14: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU. - 26b24: 00e00b00 00f80200 109f0000 b00f0000 ................ - 26b34: f4060000 dd000000 3f000000 0a000070 ...........?p... - 26b44: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v. - 26b54: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^. - 26b64: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O - 26b74: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l - 26b84: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P. - 26b94: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0....... - 26ba4: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1....... - 26bb4: 9f000000 8da70930 df0700f7 1e0040eb ....0........@.. - 26bc4: 1003fc92 00000000 1efc1203 fc921e90 ................ - 26bd4: 00001003 01000000 a8d01fe9 00a0300e .............0.. - 26be4: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}.......... - 26bf4: 17000081 0000b4df 00d2af04 ef820100 ................ - 26c04: 45f3ffff 00515555 01000000 ef101111 ...EUUQ......... - 26c14: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........ - 26c24: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... . - 26c34: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w.. - 26c44: cf000027 09000000 010000f0 010000ea '............... - 26c54: 000010dd 000010ce 0000603f 00003001 ........?`...0.. - 26c64: 00000100 00f50600 405f0000 17000000 .........._@.... - 26c74: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@ - 26c84: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I.... - 26c94: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@.... - 26ca4: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\... - 26cb4: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@.... - 26cc4: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@ - 26cd4: 00000000 fb060000 00752353 17000000 ........S#u..... - 26ce4: 00a3fdce 02000000 000000fd f49f0000 ................ - 26cf4: 00000000 00b09e0f f2060000 0000207f ............. .. - 26d04: f801dc00 4f000000 00e00b60 00f00b00 .......O`....... - 26d14: 0100604f ed1111fa ff8f0000 00f3ffff O`.............. - 26d24: 4444c40e f406a04f af000000 0000cd10 ..DDO........... - 26d34: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@ - 26d44: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:... - 26d54: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._ - 26d64: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj.. - 26d74: d7ffffff 8d020000 0400b4fe f99db8ff ................ - 26d84: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........ - 26d94: 0000f602 602f0000 00000000 000000fa ....../`........ - 26da4: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._.. - 26db4: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w - 26dc4: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._ - 26dd4: 06000040 00405ff4 5ff60300 03000040 @...._@...._@... - 26de4: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@. - 26df4: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._ - 26e04: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@...... - 26e14: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD.. - 26e24: 5f000000 05000040 000000f4 7777975f ..._@......._.ww - 26e34: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@ - 26e44: f4050000 5f000000 05000040 102222f5 ......._@...."". - 26e54: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@..... - 26e64: 405f0000 f4050000 00000000 b5fe8d01 .._@............ - 26e74: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`... - 26e84: 0f000000 000000a0 00602f00 2f000000 ........./`..../ - 26e94: 09000060 00a00ff0 0bf00900 090000f2 `............... - 26ea4: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O....... - 26eb4: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@ - 26ec4: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U. - 26ed4: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._ - 26ee4: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU - 26ef4: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E - 26f04: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww.. - 26f14: 00fa0000 00fa0000 00fa0000 00fa0000 ................ - 26f24: 00fa0000 00fa0000 07f90000 0df60320 ............ ... - 26f34: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@....... - 26f44: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@. - 26f54: f4050030 0000909f 40efcf5f 91ff0500 0......._..@.... - 26f64: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@ - 26f74: 05f50900 0c0000f4 00405ff2 00f40500 ........._@..... - 26f84: 405f0000 f4050000 5f000000 05000040 .._@......._@... - 26f94: 000000f4 0000405f 0000f405 00405f00 ...._@......._@. - 26fa4: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._ - 26fb4: 00000040 00fc951e f9080000 0000f55f @..........._... - 26fc4: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_. - 26fd4: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........ - 26fe4: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._... - 26ff4: 7100305f f3950f00 00000000 00505ff9 _0.q........._P. - 27004: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU.. - 27014: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@ - 27024: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U. - 27034: f5df0000 0200405f 00f455ff 00f50600 ...._@...U...... - 27044: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. . - 27054: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r - 27064: 000000f6 602ff900 0f000000 0000fa90 ....../`........ - 27074: 0bf70300 000000f2 d22f20af 908f0000 ......... /..... - 27084: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._.. - 27094: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@.. - 270a4: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n. - 270b4: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._ - 270c4: 00000040 0000405f 8d010000 0000b5fe @..._@.......... - 270d4: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ...... - 270e4: af000000 00a00f20 703f0000 0000602f .... .....?p/`.. - 270f4: 2f900f00 00000060 901f900f 2f000000 .../`........../ - 27104: 00f10b70 20af0000 0010fc03 0000f907 p...... ........ - 27114: df78fa6f 030000b0 00c5ffae 00000000 o.x............. - 27124: b015d43e 02000000 0080ffbf 01000000 >............... - 27134: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@.. - 27144: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@... - 27154: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._ - 27164: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\ - 27174: 0720d9ef 90af87fc 0100c00e 00800f10 .. ............. - 27184: f50d0000 03000000 0050eaef feae0500 ..........P..... - 27194: 00000040 0000f14e 08f30500 f2080000 @...N........... - 271a4: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g - 271b4: 7277fb78 00f70100 f7010000 01000000 x.wr............ - 271c4: 000000f7 0000f701 00f70100 f7010000 ................ - 271d4: 01000000 000000f7 0000f701 00f70100 ................ - 271e4: f7010000 306f0000 168f0000 080000f3 ......o0........ - 271f4: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0.. - 27204: 00f3168f 6ff10800 8f000030 0000f405 .......o0....... - 27214: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._.... - 27224: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o - 27234: 0c000050 00fb00c0 00f60300 0000f209 P............... - 27244: 2f0000ae 901f0080 00ce0000 0000f207 .../............ - 27254: db00f605 0e000000 00504fc0 3b8f0000 .........OP....; - 27264: 000000e0 00f8fb02 0b000000 000010ff ................ - 27274: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........ - 27284: ff020090 f0070040 0700e00b 0c0090fe ....@........... - 27294: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T. - 272a4: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ . - 272b4: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&.... - 272c4: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{........... - 272d4: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ... - 272e4: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0... - 272f4: 0300802f 00d00cfa f3fb0700 0c000000 /............... - 27304: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o - 27314: 0020af60 ed01b02f 00f10c00 f607f804 `. ./........... - 27324: f3090000 0000e00c f703f207 901f0000 ................ - 27334: 0010af00 1f00109e 00f602a0 0bf30800 ................ - 27344: 000000d0 00404fec fb5f0000 00000000 .....O@..._..... - 27354: 0000f20c f0090000 00000000 0000f009 ................ - 27364: f0090000 00000000 0000f009 ffffff3f ............?... - 27374: 777701fd 0090bf77 c01e0000 0c000000 ..www........... - 27384: 000000f2 0000f508 00f90400 ec010000 ................ - 27394: 00000000 000020cf 00508f00 904f0000 ..... ....P...O. - 273a4: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_. - 273b4: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0. - 273c4: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0.. - 273d4: 00ff5f50 0000007e 0000401f 0000900c P_..~....@...... - 273e4: 0000e007 0000f402 0000c900 00007e00 .............~.. - 273f4: 00402f00 00900c00 00e00700 00f30200 ./@............. - 27404: 00d90000 007e0000 302f0000 900d0000 ......~.../0.... - 27414: e0070000 ea35fabf ea00ea00 ea00ea00 ......5......... - 27424: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5. - 27434: 2f00fabf 9d000080 f30000e0 d00600d5 .../............ - 27444: 600c007b 103f201f 009a800b ffffe004 {..`. ?......... - 27454: 1111ffff f6071111 01e70300 0080fd9e ................ - 27464: 90af87ce af000002 06000000 ffbe02f2 ................ - 27474: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B... - 27484: 206ffbbf 0000008f 00008f00 008f0000 ..o ............ - 27494: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0... - 274a4: 208fc01e 8ff10700 f3050000 0700208f ... ......... .. - 274b4: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+... - 274c4: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........ - 274d4: 304f0000 f6030000 0d000000 100600d0 ..O0............ - 274e4: f47cd74f c4ef3a00 00000000 0000f701 O.|..:.......... - 274f4: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;...... - 27504: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0.. - 27514: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e.. - 27524: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. . - 27534: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r - 27544: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:. - 27554: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p....... - 27564: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0... - 27574: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;.. - 27584: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`... - 27594: 0000404f 00603ff9 d00ef901 04f90900 O@...?`......... - 275a4: f8cf87fd b3ff3b00 000000f7 e909f405 .....;.......... - 275b4: 01b0af77 00d8ff7c 0000008f 0000f008 w...|........... - 275c4: 00008f00 bff20800 fb8f10ea f808fd89 ................ - 275d4: 8ff40600 781f0010 f80000f0 0f00008f .......x........ - 275e4: 0000f088 00008ff8 00f0880f 1a9ef800 ................ - 275f4: f00800f2 8ff0088f 088ff008 f0088ff0 ................ - 27604: 00e20700 0000f309 f1070000 00f10700 ................ - 27614: 0700f107 f10700f1 00f10700 0700f107 ................ - 27624: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ... - 27634: 00f00800 008f0000 f0080000 8fd11d00 ................ - 27644: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p - 27654: bfe28f00 01f20830 008f10ee f008fb03 ....0........... - 27664: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................ - 27674: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p - 27684: 00c09f00 00f1585f 0100f605 00008ff7 ...._X.......... - 27694: 0f00404f 0400f088 f80000f4 4f00008f O@.............O - 276a4: 880f0040 f40400f0 8ff80000 404f0000 @.............O@ - 276b4: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o - 276c4: 0100f148 00008ff7 00f0880f 008ff800 H............... - 276d4: f0880f00 8ff80000 800f0000 c4ef3b00 .............;.. - 276e4: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`... - 276f4: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`......... - 27704: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;..... - 27714: 8f30df57 c00d0090 0700108f 00008ff1 W.0............. - 27724: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x. - 27734: fe2b8f30 008f00b3 8f000000 00000000 0.+............. - 27744: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;......... - 27754: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?` - 27764: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;. - 27774: 0000f7a3 00f70100 f7010000 01000000 ................ - 27784: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ .... - 27794: 8f00008f 008f0000 00008f00 91fdae02 ................ - 277a4: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......` - 277b4: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@ - 277c4: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0.. - 277d4: 305f0000 00f30500 00305f00 0000f404 .._0....._0..... - 277e4: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z.... - 277f4: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y.. - 27804: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P - 27814: 0000c00d 00f206cb f900f502 00e00900 ................ - 27824: 800f009e 6f602f00 c00c0010 050000cb ...../`o........ - 27834: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p.... - 27844: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`.. - 27854: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P. - 27864: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O. - 27874: ff040000 a0ef0040 e00e0000 00f40800 ....@........... - 27884: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P...... - 27894: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................ - 278a4: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@...... - 278b4: f40200f3 0900ea00 108f00d0 1f00701f .............p.. - 278c4: 00107f70 00d9e00a f2f90300 cf000000 p............... - 278d4: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y.. - 278e4: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[... - 278f4: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@... - 27904: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a - 27914: 0000cc00 db0000db 00db0000 1f00ea02 ................ - 27924: fa0500f4 00db0000 0000db00 cc0000db ................ - 27934: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._.. - 27944: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._... - 27954: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p... - 27964: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p.... - 27974: 0090be40 00000000 00e43d00 f5860cb5 @........=...... - 27984: 03f0201e 000290ef 02001000 400d90ce . .............@ - 27994: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@....... - 279a4: 00f7e7ef 00000000 00000000 00000000 ................ - 279b4: 00dc4900 16000000 00ffffbf ff8d0300 .I.............. - 279c4: 00ffffff ffffcf00 00ffffff ffffff00 ................ - 279d4: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q....... - 279e4: 00ff0000 0000ff00 00ff0000 0000ff00 ................ - 279f4: 00ff0000 0000ff00 00ff0000 0000ff00 ................ - 27a04: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+.... - 27a14: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+....... - 27a24: 2b000000 0000b2ff d0000000 ffffff0f ...+............ - 27a34: ff0df0ff 8888c8ff f0ffff8c 0000800f ................ - 27a44: f00ff008 0000800f ff0ff008 000080ff ................ - 27a54: f0ffff08 ccccec0f f00ff0ce ccccec0f ................ - 27a64: ff0ff0ce 000080ff f0ffff08 0000800f ................ - 27a74: f00ff008 0000800f ff0ff008 8888c8ff ................ - 27a84: d0ffff8c ffffff0f df0df0ff ffff73ff .............s.. - 27a94: fffdffff ffffa5ff ffffffff ffffa5ff ................ - 27aa4: dfffffff ffff73ff 00fdffff 00000000 .....s.......... - 27ab4: df000000 ffff73ff fffdffff ffffa5ff .....s.......... - 27ac4: ffffffff ffffa5ff dfffffff ffff73ff .............s.. - 27ad4: 00fdffff 00000000 df000000 ffff73ff .............s.. - 27ae4: fffdffff ffffa5ff ffffffff ffffa5ff ................ - 27af4: dfffffff ffff73ff 00fdffff 00000000 .....s.......... - 27b04: 00b10a00 00000000 00fcbf00 00000000 ................ - 27b14: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................ - 27b24: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................ - 27b34: 0c0000fc ffbffbff 000000c0 fbffffcf ................ - 27b44: 00000000 b0ffff0c 00000000 00fbbf00 ................ - 27b54: 00000000 00b00b00 03000000 03000000 ................ - 27b64: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,. - 27b74: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................ - 27b84: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................ - 27b94: f5dffcff d1ff0500 040000a4 000000a1 ................ - 27ba4: 0000e04f 10020000 1003f16f d05f0000 O.......o....._. - 27bb4: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@ - 27bc4: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o....... - 27bd4: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../.... - 27be4: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o.. - 27bf4: af000000 10fe0ff0 ff050000 d3ff06a0 ................ - 27c04: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ........... - 27c14: 30fdffff 17000000 0050cabd 00000000 ...0......P..... - 27c24: 0000b88b 00000000 0000ffff 06300000 ..............0. - 27c34: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@... - 27c44: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O.......... - 27c54: ffff0220 f9ff0080 ff9f0000 f9ff0000 ............... - 27c64: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O.. - 27c74: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................ - 27c84: dffdffff 06300040 0360ffff 00000000 ....@.0...`..... - 27c94: 0000ffff 00000000 0000b88b 00000000 ................ - 27ca4: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O... - 27cb4: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o.. - 27cc4: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S......... - 27cd4: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@............. - 27ce4: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A.. - 27cf4: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................ - 27d04: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................ - 27d14: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........ - 27d24: 00000000 ffff0000 00000000 ffff0000 ................ - 27d34: 00000000 ffff0000 00000000 ffff0000 ................ - 27d44: 00000000 ffff0000 00000000 ffffff4f ............O... - 27d54: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................ - 27d64: 000000fb ffff0b00 000000b0 fbbf0000 ................ - 27d74: df000000 b11bfcff fffdffcf 2cc2ffff ..............., - 27d84: ffffffff ffffffff ffffffff ffffffff ................ - 27d94: dfffe0f0 ffffffff 00fdffff ffffef04 ................ - 27da4: 0040feff ffff1e00 e1ffffff b0af0000 ..@............. - 27db4: 0b000000 ff0500fa 00000010 1e50ff01 ..............P. - 27dc4: 000000f6 e16f0000 0000b0af 0b000000 ......o......... - 27dd4: fffffffa ff080080 ffffffff 1f00f1ff ................ - 27de4: ffffffff ffffffff ffffffff ffffffff ................ - 27df4: ffffffff ffffffff ffffffff ff8fffff ................ - 27e04: ffffffff 00f8ffff dabd0600 00ff0250 ............P... - 27e14: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{.... - 27e24: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._ - 27e34: 0f0000f2 8fffffff 0f0000b0 00ffffff ................ + 2629c: 04500000 00000000 04500000 00010c03 ..P.......P..... + 262ac: 06400012 07010505 0b40001f 00000c0b ..@.......@..... + 262bc: 09f00061 fe00100a 0d8000b1 00000c0d a............... + 262cc: 0b0000ff ff000d0b 03600147 07010502 ........G.`..... + 262dc: 0560014c fd010f04 0570016a fd000f04 L.`.....j.p..... + 262ec: 06600188 05000707 095001a1 02010808 ..`.......P..... + 262fc: 03a001c1 fe000503 062001c9 03000306 .......... ..... + 2630c: 03a001d2 00000303 05a001d7 feff1008 ................ + 2631c: 0ab00217 00000c0a 05f00253 00000c05 ........S....... + 2632c: 09300271 00000c09 092002a7 00000c09 q.0....... ..... + 2633c: 0ab002dd 00000c0b 0930031f 00000c09 ..........0..... + 2634c: 09e00355 00000c0a 09900391 00000c09 U............... + 2635c: 0a5003c7 00000c0a 09e00403 00000c0a ..P............. + 2636c: 03a0043f 00000903 03a0044d fd000c03 ?.......M....... + 2637c: 0950045f 02010808 0950047f 03010608 _.P.......P..... + 2638c: 09500497 02010808 093004b7 00000c09 ..P.......0..... + 2639c: 109004ed fd000f10 0bb00565 00ff0c0d ........e....... + 263ac: 0c2005b3 00010c0b 0b9005f5 00000c0b .. ............. + 263bc: 0d300637 00010c0c 0ac0067f 00010c09 7.0............. + 263cc: 0a3006b5 00010c09 0c6006eb 00000c0c ..0.......`..... + 263dc: 0d000733 00010c0b 04f00775 00010c03 3.......u....... + 263ec: 08300787 00ff0c08 0b8007b7 00010c0b ..0............. + 263fc: 098007f9 00010c09 0f40082f 00010c0d ......../.@..... + 2640c: 0d00087d 00010c0b 0d7008bf 00000c0d }.........p..... + 2641c: 0b90090d 00010c0a 0d700949 fd000f0e ........I.p..... + 2642c: 0ba009b2 00010c0a 09f009ee 00000c0a ................ + 2643c: 09600a2a 00000c0a 0ca00a66 00010c0b *.`.....f....... + 2644c: 0b600aa8 00ff0c0d 12000af6 00000c12 ..`............. + 2645c: 0ac00b62 00000c0b 0a600ba4 00ff0c0c b.........`..... + 2646c: 0a800bec 00000c0b 05500c2e fd010f05 ..........P..... + 2647c: 05a00c54 feff1008 05500c94 fd000f04 T.........P..... + 2648c: 09500cb2 02010708 08000cce fe000208 ..P............. + 2649c: 09a00cd6 0a010205 09900cdb 00000909 ................ + 264ac: 0af00d04 00010c0a 09200d40 00000909 ........@. ..... + 264bc: 0af00d69 00000c0a 09d00da5 0000090a i............... + 264cc: 05a00dd2 00000c07 0b100dfc fd000c0a ................ + 264dc: 0ae00e38 00010c09 04700e6e 00010c03 8.......n.p..... + 264ec: 04900e80 fdfe0f06 09e00ead 00010c09 ................ + 264fc: 04700ee3 00010c02 10f00eef 0001090f ..p............. + 2650c: 0ae00f33 00010909 0a300f5c 0000090a 3.......\.0..... + 2651c: 0af00f89 fd010c0a 0af00fc5 fd000c0a ................ + 2652c: 06901001 00010906 0800101c 00000908 ................ + 2653c: 06a01040 00000b07 0ad01067 00010909 @.......g....... + 2654c: 08f01090 00ff090a 0e6010bd 0000090f ..........`..... + 2655c: 08d01101 00000909 08f0112a fdff0c0a ........*....... + 2656c: 08501166 00000908 05a0118a fd000f06 f.P............. + 2657c: 04d011b7 fd010f03 05a011ce fd000f05 ................ + 2658c: 095011f4 04000509 06b0120b 06000606 ..P............. + 2659c: 0500121d 03010403 10001223 fe001110 ........#....... + 265ac: 100012ab 00000c10 1000130b ff000e10 ................ + 265bc: 1000137b 00000c10 0b0013db 00000c0b {............... + 265cc: 1000141d fe001010 1000149d fe001010 ................ + 265dc: 1200151d ff000e12 1000159b fe001010 ................ + 265ec: 1200161b 00000c12 10001687 fe001010 ................ + 265fc: 08001707 ff000e08 0c00173f ff000e0c ........?....... + 2660c: 12001793 fe001012 10001823 00000c10 ........#....... + 2661c: 0e001883 fe02100a 0e0018d3 fd00120e ................ + 2662c: 0e001951 ff000f0e 0e0019ba ff000e0e Q............... + 2663c: 0e001a1c fe02100a 0e001a6c ffff0e10 ........l....... + 2664c: 0a001adc ff000e0a 0a001b22 ff000e0a ........"....... + 2665c: 0e001b68 ff000e0e 0e001bca 0400040e h............... + 2666c: 12001be6 00000c12 14001c52 fe001014 ........R....... + 2667c: 12001cf2 feff1014 10001d92 fe001010 ................ + 2668c: 0e001e12 01000a0e 0e001e58 01000a0e ........X....... + 2669c: 14001e9e ff000e14 10001f2a 00000c10 ........*....... + 266ac: 10001f8a fe001010 1000200a feff1111 ......... ...... + 266bc: 0e00209b ff000e0f 0e002104 fe00100e . .......!...... + 266cc: 0e002174 ff000e0e 0a0021d6 feff100c t!.......!...... + 266dc: 0e002236 fe00100e 0e0022a6 fe00100e 6"......."...... + 266ec: 12002316 00000c12 10002382 fdff1212 .#.......#...... + 266fc: 0c002424 fe00100c 14002484 ff000f14 $$.......$...... + 2670c: 1400251a 01000a14 1400257e 01000a14 .%......~%...... + 2671c: 140025e2 01000a14 14002646 01000a14 .%......F&...... + 2672c: 140026aa 01000a14 1400270e ff000e15 .&.......'...... + 2673c: 0e0027a1 fe01100c 0e002801 fe00100e .'.......(...... + 2674c: 10002871 fdff1111 14002902 00000c14 q(.......)...... + 2675c: 0c00297a fe00100c 102029da 01000b11 z).......) ..... + +0002676c : + 2676c: aff00bbf 089ee00a c0078cd0 bf100000 ................ + 2677c: 1ff5e01a e4f3513f f2403e0f 00100872 ....?Q...>@.r... + 2678c: e003c005 007a0000 0900005c 01a00780 ......z.\....... + 2679c: ffffffff 733e03fd 0030833c 00c500f2 ......>s<.0..... + 267ac: 0e100f00 f0020030 9f00f200 ffffffff ....0........... + 267bc: 36c33841 890030e3 00005c00 a007700a A8.6.0...\...p.. + 267cc: 79000000 00000000 00000079 20e9ff5c ...y....y...\.. + 267dc: 9ebcfc06 79b00e90 800f1000 0d000079 .......y....y... + 267ec: 000079f5 50fdef03 cf060000 000040fe .y.....P.....@.. + 267fc: 00f15e79 f3057900 07790007 bce92ff1 y^...y....y../.. + 2680c: ae03a0af 0000d7ff 00007900 00790000 .........y....y. + 2681c: 80de0300 00d00500 01500ce4 004c00e3 ..........P...L. + 2682c: 00a9005a c004a006 4c00004e 500d5a00 Z.......N..L.Z.P + 2683c: 1ce40000 0000a058 e173ce03 0000e93c ....X.....s.<... + 2684c: 400ed600 7c0000a8 d003c003 3c202e00 ...@...|...... < + 2685c: 0b003d00 09e20070 00d00680 00a0dd04 .=..p........... + 2686c: 00b1ef09 3ce40900 d90000a0 00007d00 .......<.....}.. + 2687c: a01cc00c ae3f0000 010000c1 0000c0df ......?......... + 2688c: 708feb03 00db0018 3ff0657f ea8f0040 ...p.....e.?@... + 2689c: 0000f703 f90b70cf 40bfcf66 30eadf08 .....p..f..@...0 + 268ac: 000000a5 f5000000 72e4e4f5 f205da00 ...........r.... + 268bc: 700fc00b 205f403f 007f106f 205f106f ...p?@_ o...o._ + 268cc: 700f403f f205c00b 303fda00 f106b00c ?@.p......?0.... + 268dc: e900f601 ad00bc00 ad00ae00 e900bc00 ................ + 268ec: f106f601 303fb00c 06004a00 2ba0a474 ......?0.J..t..+ + 268fc: 7f00e5ff 6b7b20fb a004008d 00130000 ..... {k........ + 2690c: 10050000 500f0000 500f0000 511f0100 .......P...P...Q + 2691c: ffffef10 744f34f3 500f0040 500f0000 .....4Ot@..P...P + 2692c: fd520900 0fc5a00b 10110100 04f3ff1f ..R............. + 2693c: 12034044 00901efc 00f10500 00b00a00 D@.............. + 2694c: 00600f00 00105f00 0000ab00 0000f600 ..`.._.......... + 2695c: 0000f105 0000b00a 0000600f 0000104f .........`..O... + 2696c: 000000ac 040000f6 0a0000f1 0e0000c0 ................ + 2697c: 4f000060 00000010 00c5ef08 cfa8cf00 `..O............ + 2698c: 00f50770 c00df20a 1ff80100 dc000080 p............... + 2699c: 0000603f 00603fbd 801fbd00 0ddc0000 ?`...?`......... + 269ac: f80100c0 0a00f507 a8cf00f2 080070cf .............p.. + 269bc: ef00c5ef f37a36ff 05305f00 305f00f3 .....6z.._0..._0 + 269cc: 5f00f305 00f30530 f305305f 05305f00 ..._0..._0..._0. + 269dc: fdbe04f3 98fd0770 002890cf 0000bf00 ....p.....(..... + 269ec: 00f20700 00af0000 804f0000 c03f0000 ..........O...?. + 269fc: c13e0000 c12e0000 d12e0000 f82e0000 ..>............. + 26a0c: ff467777 6ffaffff 02ffffff b09f7777 wwF....o....ww.. + 26a1c: e10c0000 f3090000 f6050000 df000000 ................ + 26a2c: 040010e9 0000fd59 00f40600 643f0000 ....Y.........?d + 26a3c: f3080040 fb8cc9bf d7ff7c00 01000000 @........|...... + 26a4c: 000000eb 0010be00 506f0000 2f000000 ..........oP.../ + 26a5c: 00000090 0000d00c 01f30800 f80300d5 ................ + 26a6c: 00602f00 f72322ed ffff6f21 5581ffff ./`.."#.!o.....U + 26a7c: 52f95655 2f000000 00000060 0500f602 UV.R.../`....... + 26a8c: 00ffffff 7077777f 0000e008 0000ad00 .....wwp........ + 26a9c: 10c20b00 ffdf0000 550430fb 0020ff68 .........0.Uh. . + 26aac: 00f80400 920f0000 f6050050 fd8ad98f ........P....... + 26abc: e9ef5b10 ce050010 9f0060fc 05708bc8 .[.......`....p. + 26acc: 000000f8 0000d00c 00801f00 682f0000 ............../h + 26adc: 3f10faef d08f64ee 0600f12f 00c00ef4 ...?.d../....... + 26aec: f109f602 01f30600 b09f86de d8ef1900 ................ + 26afc: ffff8f00 77f7e8ff 008ffc77 90554f00 .......ww....OU. + 26b0c: 00e00b00 00f80200 109f0000 b00f0000 ................ + 26b1c: f4060000 dd000000 3f000000 0a000070 ...........?p... + 26b2c: 010000f1 000000f9 00d7ff5c af76fc06 ........\.....v. + 26b3c: 00d00ca0 c00df109 07f20700 c05e11f7 ..............^. + 26b4c: feffbf00 54f90910 802fd07e 4ff60400 .......T~./....O + 26b5c: f8000050 0500a01f 76fb09f6 6c00d0af P..........v...l + 26b6c: 0010d8ff 0080fd8e fc68f80c 00505f00 ..........h.._P. + 26b7c: 008f703f 7fc00e00 f01f0030 cf13d41f ?p......0....... + 26b8c: ffef04f1 0200f0a9 00f00a31 a00e0000 ........1....... + 26b9c: 9f000000 8da70930 df0700f7 1e0040eb ....0........@.. + 26bac: 1003fc92 00000000 1efc1203 fc921e90 ................ + 26bbc: 00001003 01000000 a8d01fe9 00a0300e .............0.. + 26bcc: 00420000 03f37d01 bf10e89f ee0000b5 ..B..}.......... + 26bdc: 17000081 0000b4df 00d2af04 ef820100 ................ + 26bec: 45f3ffff 00515555 01000000 ef101111 ...EUUQ......... + 26bfc: 34f3ffff 50404444 ef000000 06000092 ...4DD@P........ + 26c0c: 0000b5cf 00e29f03 02f36c00 bf20e99e .........l.... . + 26c1c: 930000c6 04000000 0770fdbe a0bf77fc ..........p..w.. + 26c2c: cf000027 09000000 010000f0 010000ea '............... + 26c3c: 000010dd 000010ce 0000603f 00003001 ........?`...0.. + 26c4c: 00000100 00f50600 405f0000 17000000 .........._@.... + 26c5c: 00b5fdce fb050000 c27d2353 406e0000 ........S#}...n@ + 26c6c: 8e000000 01f40210 493ffaae 1e900ab0 ..........?I.... + 26c7c: 40ef5be6 8f300fe3 40af0010 d9001f98 .[.@..0....@.... + 26c8c: 403f0000 e8003f6a 401f0000 d9001f5c ..?@j?.....@\... + 26c9c: 403f0000 8f300f6a 40af0010 1e900a98 ..?@j.0....@.... + 26cac: a6de5ad6 01f303f2 ee16faaf 406e0050 .Z..........P.n@ + 26cbc: 00000000 fb060000 00752353 17000000 ........S#u..... + 26ccc: 00a3fdce 02000000 000000fd f49f0000 ................ + 26cdc: 00000000 00b09e0f f2060000 0000207f ............. .. + 26cec: f801dc00 4f000000 00e00b60 00f00b00 .......O`....... + 26cfc: 0100604f ed1111fa ff8f0000 00f3ffff O`.............. + 26d0c: 4444c40e f406a04f af000000 0000cd10 ..DDO........... + 26d1c: 5ff80200 40ebffff 5755f805 405f40df ..._...@..UW.@_@ + 26d2c: 05fa0100 0f0000f4 11515fa0 ff05f43a ........._Q.:... + 26d3c: 00faffff 5944745f 00f405fa 5ff20800 ...._tDY......._ + 26d4c: 5f000040 0000f445 855ff209 05fb6a55 @.._E....._.Uj.. + 26d5c: d7ffffff 8d020000 0400b4fe f99db8ff ................ + 26d6c: 0020fd02 20bf5008 0f000000 000000a0 .. ..P. ........ + 26d7c: 0000f602 602f0000 00000000 000000fa ....../`........ + 26d8c: 00f20b00 2f000000 850000d2 89fb5f00 ......./....._.. + 26d9c: 290080df 5f40ebdf 30eaffff 77975f00 ...)..@_...0._.w + 26dac: 5f00f89e af000040 00405f60 5fe00d00 ..._@...`_@...._ + 26dbc: 06000040 00405ff4 5ff60300 03000040 @...._@...._@... + 26dcc: 00405ff6 5ff40600 0d000040 00405fe0 ._@...._@...._@. + 26ddc: 5f60af00 f89e7797 ffff5f00 5f0030ea ..`_.w..._...0._ + 26dec: 95ffffff 747777f9 0000405f 0000f405 .....wwt_@...... + 26dfc: 11515f00 ffff0511 745fe0ff f4054444 ._Q......._tDD.. + 26e0c: 5f000000 05000040 000000f4 7777975f ..._@......._.ww + 26e1c: ffffff65 ffff5ffd 77f995ff 405f7477 e...._.....wwt_@ + 26e2c: f4050000 5f000000 05000040 102222f5 ......._@...."". + 26e3c: feffff5f 5555f805 00405f40 00f40500 _.....UU@_@..... + 26e4c: 405f0000 f4050000 00000000 b5fe8d01 .._@............ + 26e5c: fb4f0000 02b0df89 060020fd 00f20b60 ..O...... ..`... + 26e6c: 0f000000 000000a0 00602f00 2f000000 ........./`..../ + 26e7c: 09000060 00a00ff0 0bf00900 090000f2 `............... + 26e8c: 20fd02f0 00f00a00 df89fb4f 8d0200c0 ... ....O....... + 26e9c: 5f00c6fe 4f000040 0000f455 405ff504 ..._@..OU....._@ + 26eac: 554f0000 040000f4 22525ff5 ff555f22 ..OU....._R""_U. + 26ebc: f5ffffff 5555855f 00f4558f 5ff50400 ...._.UU.U....._ + 26ecc: 4f000040 0000f455 405ff504 554f0000 @..OU....._@..OU + 26edc: 040000f4 f4455ff5 5ff4455f 455ff445 ....._E._E._E._E + 26eec: f4455ff4 00f4455f 00faffff 00fa7777 ._E._E......ww.. + 26efc: 00fa0000 00fa0000 00fa0000 00fa0000 ................ + 26f0c: 00fa0000 00fa0000 07f90000 0df60320 ............ ... + 26f1c: 01f18ee9 5f30fbae eb020040 0100f405 ......0_@....... + 26f2c: 405f00ec 0510de01 20ce00f4 bf405f00 .._@....... ._@. + 26f3c: f4050030 0000909f 40efcf5f 91ff0500 0......._..@.... + 26f4c: 5f0010ee 00fc03a0 0600f405 405f00f8 ..._.........._@ + 26f5c: 05f50900 0c0000f4 00405ff2 00f40500 ........._@..... + 26f6c: 405f0000 f4050000 5f000000 05000040 .._@......._@... + 26f7c: 000000f4 0000405f 0000f405 00405f00 ...._@......._@. + 26f8c: 00f40500 975f0000 ff257777 5ff5ffff ......_.ww%...._ + 26f9c: 00000040 00fc951e f9080000 0000f55f @..........._... + 26fac: fd95ff02 ae0000e0 705f5ff9 955f3f00 .........__p.?_. + 26fbc: 0b108ff3 315ff9c0 0ff304e9 f207f395 ......_1........ + 26fcc: 5ff900db 20ef0d30 00f3950f f900905f ..._0.. ...._... + 26fdc: 7100305f f3950f00 00000000 00505ff9 _0.q........._P. + 26fec: ff554f00 f5040020 0000fd5f f9fa554f .OU. ..._...OU.. + 26ffc: 5ff50400 4f00f54a f20df455 405ff504 ..._J..OU....._@ + 2700c: 554fd02f 946f00f4 00405ff5 f455afaf /.OU..o.._@...U. + 2701c: f5df0000 0200405f 00f455ff 00f50600 ...._@...U...... + 2702c: b5fe8d01 ff040000 00fa9eb8 0020fd02 .............. . + 2703c: bf00f908 0a000020 00a00ff2 723f0000 .... .........?r + 2704c: 000000f6 602ff900 0f000000 0000fa90 ....../`........ + 2705c: 0bf70300 000000f2 d22f20af 908f0000 ......... /..... + 2706c: 89fb4f00 0000a0ef 50ebdf28 ffff5f00 .O......(..P._.. + 2707c: 975f00d7 5fc0bf78 f6070040 0000405f .._.x.._@..._@.. + 2708c: 00405ffa 405ffa00 5ff80300 f16e2362 ._@..._@..._b#n. + 2709c: fdffff5f 54855f30 405f0020 5f000000 _...0_.T ._@..._ + 270ac: 00000040 0000405f 8d010000 0000b5fe @..._@.......... + 270bc: 89fb4e00 0200a0ef 080020fd f20a00f9 .N....... ...... + 270cc: af000000 00a00f20 703f0000 0000602f .... .....?p/`.. + 270dc: 2f900f00 00000060 901f900f 2f000000 .../`........../ + 270ec: 00f10b70 20af0000 0010fc03 0000f907 p...... ........ + 270fc: df78fa6f 030000b0 00c5ffae 00000000 o.x............. + 2710c: b015d43e 02000000 0080ffbf 01000000 >............... + 2711c: ff5f0031 5f00d7ff c0bf7897 0700405f 1._...._.x.._@.. + 2712c: 00405ff6 405ffa00 5ffa0000 f8030040 ._@..._@..._@... + 2713c: 6e23525f ffff5fe1 855f30fc 5f00f955 _R#n._...0_.U.._ + 2714c: 407f0040 0c00405f 00405fe0 5c00f902 @..@_@..._@....\ + 2715c: 0720d9ef 90af87fc 0100c00e 00800f10 .. ............. + 2716c: f50d0000 03000000 0050eaef feae0500 ..........P..... + 2717c: 00000040 0000f14e 08f30500 f2080000 @...N........... + 2718c: bf77fa2f ff9d02a0 ffff00c7 67f5ffff /.w............g + 2719c: 7277fb78 00f70100 f7010000 01000000 x.wr............ + 271ac: 000000f7 0000f701 00f70100 f7010000 ................ + 271bc: 01000000 000000f7 0000f701 00f70100 ................ + 271cc: f7010000 306f0000 168f0000 080000f3 ......o0........ + 271dc: 00306ff1 f3168f00 f1080000 0000306f .o0.........o0.. + 271ec: 00f3168f 6ff10800 8f000030 0000f405 .......o0....... + 271fc: 703ff009 00cd0000 5f0020de a8ff0480 ..?p..... ._.... + 2720c: 0300d0bf 0081fdbe 0000e00c 6f306f00 .............o0o + 2721c: 0c000050 00fb00c0 00f60300 0000f209 P............... + 2722c: 2f0000ae 901f0080 00ce0000 0000f207 .../............ + 2723c: db00f605 0e000000 00504fc0 3b8f0000 .........OP....; + 2724c: 000000e0 00f8fb02 0b000000 000010ff ................ + 2725c: b04f0000 405f0000 00df0000 0ff50200 ..O..._@........ + 2726c: ff020090 f0070040 0700e00b 0c0090fe ....@........... + 2727c: 00f306b0 00e0aa0c f801601f f3541f00 .........`....T. + 2728c: 00106f00 107f00cd 00cc00f8 cb207f00 .o............ . + 2729c: f701ad00 712f0000 265f00f6 0d0000f2 ....../q.._&.... + 272ac: 0f00f1c6 0000d07b 00c0fd08 0080df0b ....{........... + 272bc: 70ff0300 30ff0600 ef000000 fe010020 ...p...0.... ... + 272cc: 903f0000 00cd0000 7f00408f 10de0030 ..?......@..0... + 272dc: 0300802f 00d00cfa f3fb0700 0c000000 /............... + 272ec: 000000f8 00c0ef01 7fbf0000 6f000070 ............p..o + 272fc: 0020af60 ed01b02f 00f10c00 f607f804 `. ./........... + 2730c: f3090000 0000e00c f703f207 901f0000 ................ + 2731c: 0010af00 1f00109e 00f602a0 0bf30800 ................ + 2732c: 000000d0 00404fec fb5f0000 00000000 .....O@..._..... + 2733c: 0000f20c f0090000 00000000 0000f009 ................ + 2734c: f0090000 00000000 0000f009 ffffff3f ............?... + 2735c: 777701fd 0090bf77 c01e0000 0c000000 ..www........... + 2736c: 000000f2 0000f508 00f90400 ec010000 ................ + 2737c: 00000000 000020cf 00508f00 904f0000 ..... ....P...O. + 2738c: 1e000000 777777f8 ffffff05 ff5ff0ff .....www......_. + 2739c: 5f50f705 00f30530 f305305f 05305f00 ..P_0..._0..._0. + 273ac: 305f00f3 5f00f305 00f30530 f705305f .._0..._0..._0.. + 273bc: 00ff5f50 0000007e 0000401f 0000900c P_..~....@...... + 273cc: 0000e007 0000f402 0000c900 00007e00 .............~.. + 273dc: 00402f00 00900c00 00e00700 00f30200 ./@............. + 273ec: 00d90000 007e0000 302f0000 900d0000 ......~.../0.... + 273fc: e0070000 ea35fabf ea00ea00 ea00ea00 ......5......... + 2740c: ea00ea00 ea00ea00 ea00ea00 ea35ea00 ..............5. + 2741c: 2f00fabf 9d000080 f30000e0 d00600d5 .../............ + 2742c: 600c007b 103f201f 009a800b ffffe004 {..`. ?......... + 2743c: 1111ffff f6071111 01e70300 0080fd9e ................ + 2744c: 90af87ce af000002 06000000 ffbe02f2 ................ + 2745c: 42ec20ff 502ff227 ec207f00 02f27f42 . .B'./P.. .B... + 2746c: 206ffbbf 0000008f 00008f00 008f0000 ..o ............ + 2747c: 8f000000 00b3fe2b ef78ec8f 00a08f30 ....+.....x.0... + 2748c: 208fc01e 8ff10700 f3050000 0700208f ... ......... .. + 2749c: 00a08ff1 ec8fd01e 8e30ef78 00b3fe2b ........x.0.+... + 274ac: c4ef3a00 7cd84f00 00d00df4 00f61307 .:...O.|........ + 274bc: 304f0000 f6030000 0d000000 100600d0 ..O0............ + 274cc: f47cd74f c4ef3a00 00000000 0000f701 O.|..:.......... + 274dc: 00f70100 f7010000 a3ff3b00 87fd04f7 .........;...... + 274ec: d00ef7ce 3ff70b00 f7030060 0100304f .......?`...O0.. + 274fc: 00503ff7 c00ef703 04f70a00 f7be65fc .?P..........e.. + 2750c: b2ff3b00 fe3b00f7 fc0400a2 0e20ee67 .;....;.....g. . + 2751c: a01e00c0 0700503f ffff4ff0 723ff1ff ....?P...O....?r + 2752c: 0e202222 000200c0 af87fd04 ef3a0050 "" .........P.:. + 2753c: 5d0000d6 b52f00fc 00f30470 a0ffff0c ...]../.p....... + 2754c: 0053f748 0500305f 5f0000f3 f3050030 H.S._0....._0... + 2755c: 305f0000 00f30500 00305f00 b2ff3b00 .._0....._0..;.. + 2756c: 87fe04e9 d10ef9cf 3ff90a00 f9010060 ...........?`... + 2757c: 0000404f 00603ff9 d00ef901 04f90900 O@...?`......... + 2758c: f8cf87fd b3ff3b00 000000f7 e909f405 .....;.......... + 2759c: 01b0af77 00d8ff7c 0000008f 0000f008 w...|........... + 275ac: 00008f00 bff20800 fb8f10ea f808fd89 ................ + 275bc: 8ff40600 781f0010 f80000f0 0f00008f .......x........ + 275cc: 0000f088 00008ff8 00f0880f 1a9ef800 ................ + 275dc: f00800f2 8ff0088f 088ff008 f0088ff0 ................ + 275ec: 00e20700 0000f309 f1070000 00f10700 ................ + 275fc: 0700f107 f10700f1 00f10700 0700f107 ................ + 2760c: f10700f1 18f00800 fc3ec06e 00008f20 ........n.>. ... + 2761c: 00f00800 008f0000 f0080000 8fd11d00 ................ + 2762c: 08e21d00 00e21df0 00f32d8f 70fffe08 .........-.....p + 2763c: bfe28f00 01f20830 008f10ee f008fb03 ....0........... + 2764c: 8ff70700 8f8f8f8f 8f8f8f8f 8e8f8f8f ................ + 2765c: 3b91fe3c ff08a2fe c6cf9f96 708fd08f <..;...........p + 2766c: 00c09f00 00f1585f 0100f605 00008ff7 ...._X.......... + 2767c: 0f00404f 0400f088 f80000f4 4f00008f O@.............O + 2768c: 880f0040 f40400f0 8ff80000 404f0000 @.............O@ + 2769c: 8e800f00 08a1fe3b d08fa6ff 6f00808f ....;..........o + 276ac: 0100f148 00008ff7 00f0880f 008ff800 H............... + 276bc: f0880f00 8ff80000 800f0000 c4ef3b00 .............;.. + 276cc: 87fd0400 d00e60cf 3ff10b00 f5030060 .....`.....?`... + 276dc: 0100304f 00603ff7 d00ef503 04f10b00 O0...?`......... + 276ec: 60cf77fd c4ef3b00 fe3b8e00 fb8f00b3 .w.`.;....;..... + 276fc: 8f30df57 c00d0090 0700108f 00008ff1 W.0............. + 2770c: 208ff305 8ff10700 d01e00a0 ef78ec8f ... ..........x. + 2771c: fe2b8f30 008f00b3 8f000000 00000000 0.+............. + 2772c: 0000008f ff3b0000 fd04f7a2 0ef7de87 ......;......... + 2773c: f70b00d0 0300603f 00304ff7 603ff701 ....?`...O0...?` + 2774c: 0ef70300 f70b00d0 ce77fd04 ff3b00f7 ..........w...;. + 2775c: 0000f7a3 00f70100 f7010000 01000000 ................ + 2776c: f02b8ef7 8f90ed8f 208f00a0 00008f00 ..+........ .... + 2777c: 8f00008f 008f0000 00008f00 91fdae02 ................ + 2778c: d069d71e 0000304f 0010b42f 60fdef06 ..i.O0../......` + 2779c: f55b0100 f7000001 f36ba75f 40ecdf19 ..[....._.k....@ + 277ac: 0000f305 cf00305f 8f04faff f3053075 ...._0......u0.. + 277bc: 305f0000 00f30500 00305f00 0000f404 .._0....._0..... + 277cc: 0080c61f ae10fc5d 5a2f0000 f50200e0 ....]...../Z.... + 277dc: 2f0000ae 0200e05a 0000aef5 00f0592f .../Z......./Y.. + 277ec: 306ff504 ee51af00 02f5bf76 503ffbbe ..o0..Q.v.....?P + 277fc: 0000c00d 00f206cb f900f502 00e00900 ................ + 2780c: 800f009e 6f602f00 c00c0010 050000cb ...../`o........ + 2781c: 0000f4f6 00d0ef00 708f0000 0000bb00 ...........p.... + 2782c: 4f00109f 0e00f116 c00900f6 fc05600f ...O.........`.. + 2783c: 00f600b0 5fab00ac 05105f10 f7500ff1 ......._._....P. + 2784c: 0f00b00a c009f076 ac0000f5 8f4f00ba ....v.........O. + 2785c: ff040000 a0ef0040 e00e0000 00f40800 ....@........... + 2786c: 00704f00 308f209f cd00505f 0200902e .Op.. .0_P...... + 2787c: 0000d0ff 0000f60a 00e1fd04 c00deb01 ................ + 2788c: 3f10be00 00406f80 c00d407f 06cb0000 ...?.o@..@...... + 2789c: f40200f3 0900ea00 108f00d0 1f00701f .............p.. + 278ac: 00107f70 00d9e00a f2f90300 cf000000 p............... + 278bc: 000000b0 0000406f 0000ad00 00f5791c ....o@.......y.. + 278cc: 70ee1a00 ff4f0000 5515f9ff 0000f45b ...p..O....U[... + 278dc: 0100804f 0b0000ec 8f0000e1 f7040040 O...........@... + 278ec: e51e0000 ff5f5355 2c00fcff 61af00f5 ....US_....,...a + 278fc: 0000cc00 db0000db 00db0000 1f00ea02 ................ + 2790c: fa0500f4 00db0000 0000db00 cc0000db ................ + 2791c: 61af0000 5ff52c00 155ff115 f1155ff1 ...a.,._.._.._.. + 2792c: 5ff1155f 155ff115 f1155ff1 80be105f _.._.._.._.._... + 2793c: 0140af03 701f00f6 1f00f701 00f90070 ..@....p....p... + 2794c: fb00fb0a 01701f20 701f00f7 af03f601 .... .p....p.... + 2795c: 0090be40 00000000 00e43d00 f5860cb5 @........=...... + 2796c: 03f0201e 000290ef 02001000 400d90ce . .............@ + 2797c: 0e003b89 0d0e003b ce028940 f8080090 .;..;...@....... + 2798c: 00f7e7ef 00000000 00000000 00000000 ................ + 2799c: 00dc4900 16000000 00ffffbf ff8d0300 .I.............. + 279ac: 00ffffff ffffcf00 00ffffff ffffff00 ................ + 279bc: 00ffc7ff eaffff00 00ff0051 0083ff00 ........Q....... + 279cc: 00ff0000 0000ff00 00ff0000 0000ff00 ................ + 279dc: 00ff0000 0000ff00 00ff0000 0000ff00 ................ + 279ec: 00ffff2b 0000ff00 2bffffdf 0000ffff +..........+.... + 279fc: dffdffdf 0000ffff dfb2ff2b 0000fdff ........+....... + 27a0c: 2b000000 0000b2ff d0000000 ffffff0f ...+............ + 27a1c: ff0df0ff 8888c8ff f0ffff8c 0000800f ................ + 27a2c: f00ff008 0000800f ff0ff008 000080ff ................ + 27a3c: f0ffff08 ccccec0f f00ff0ce ccccec0f ................ + 27a4c: ff0ff0ce 000080ff f0ffff08 0000800f ................ + 27a5c: f00ff008 0000800f ff0ff008 8888c8ff ................ + 27a6c: d0ffff8c ffffff0f df0df0ff ffff73ff .............s.. + 27a7c: fffdffff ffffa5ff ffffffff ffffa5ff ................ + 27a8c: dfffffff ffff73ff 00fdffff 00000000 .....s.......... + 27a9c: df000000 ffff73ff fffdffff ffffa5ff .....s.......... + 27aac: ffffffff ffffa5ff dfffffff ffff73ff .............s.. + 27abc: 00fdffff 00000000 df000000 ffff73ff .............s.. + 27acc: fffdffff ffffa5ff ffffffff ffffa5ff ................ + 27adc: dfffffff ffff73ff 00fdffff 00000000 .....s.......... + 27aec: 00b10a00 00000000 00fcbf00 00000000 ................ + 27afc: 00fbff0b 00000000 1bc0ffbf 0b0000a0 ................ + 27b0c: cf00fcff bf0000fb bf00c0ff ff0bb0ff ................ + 27b1c: 0c0000fc ffbffbff 000000c0 fbffffcf ................ + 27b2c: 00000000 b0ffff0c 00000000 00fbbf00 ................ + 27b3c: 00000000 00b00b00 03000000 03000000 ................ + 27b4c: 0010fc08 fcfff81c f5ff1c10 ff2cfcff ..............,. + 27b5c: ffff05f5 0500f5ff 00f5ffff fdff1d00 ................ + 27b6c: ff1c0010 1c10fcff fcfff9ff 05f5ff1c ................ + 27b7c: f5dffcff d1ff0500 040000a4 000000a1 ................ + 27b8c: 0000e04f 10020000 1003f16f d05f0000 O.......o....._. + 27b9c: d13ff16f f1ff0300 fd5ff16f 40ff0d00 o.?.....o._....@ + 27bac: ff09f16f 00f74f70 cf00f16f 00f09fe0 o...pO..o....... + 27bbc: 5f00f16f 00c0bff3 2f00f16f 00c0bff5 o.._....o../.... + 27bcc: 1f00e04f 00e0aff6 4f000000 00f46ff4 O..........O.o.. + 27bdc: af000000 10fe0ff0 ff050000 d3ff06a0 ................ + 27bec: ff7f0000 ff9f0020 f4ffbeda ff060000 .... ........... + 27bfc: 30fdffff 17000000 0050cabd 00000000 ...0......P..... + 27c0c: 0000b88b 00000000 0000ffff 06300000 ..............0. + 27c1c: 0360ffff dffd0400 effdffff ffff0d40 ..`.........@... + 27c2c: ffffffff ffff4fd0 ffff9ff9 ffff08f4 .....O.......... + 27c3c: ffff0220 f9ff0080 ff9f0000 f9ff0000 ............... + 27c4c: ff9f0000 ffff0800 ffff0220 ffff4f80 ........ ....O.. + 27c5c: ffff9ff9 ffff0df4 ffffffff dffe04d0 ................ + 27c6c: dffdffff 06300040 0360ffff 00000000 ....@.0...`..... + 27c7c: 0000ffff 00000000 0000b88b 00000000 ................ + 27c8c: 3f30dd03 000000f3 f5ff6f00 0000f44f ..0?.....o..O... + 27c9c: 99ff0900 00f4bfff f6bf0100 f4ff6f22 ............"o.. + 27cac: fe2d0000 ef53ff35 ff0400f4 f8ff8fc1 ..-.5.S......... + 27cbc: 7f40fe2d ffff1afa f7afa1ff ffdf82cf -.@............. + 27ccc: 28fdffff ff0e14fc ffffffff 0f0041e0 ...(.........A.. + 27cdc: ffffffff 0000f0ff 00f9ff0f 00f0ff8f ................ + 27cec: f8ff0f00 f0ff8f00 ff0f0000 ff8f00f8 ................ + 27cfc: 0e0000f0 6f00f6ff 0000e0ff fddf0000 .......o........ + 27d0c: 00000000 ffff0000 00000000 ffff0000 ................ + 27d1c: 00000000 ffff0000 00000000 ffff0000 ................ + 27d2c: 00000000 ffff0000 00000000 ffffff4f ............O... + 27d3c: 0000f4ff ffffff0b 0000b0ff ffffbf00 ................ + 27d4c: 000000fb ffff0b00 000000b0 fbbf0000 ................ + 27d5c: df000000 b11bfcff fffdffcf 2cc2ffff ..............., + 27d6c: ffffffff ffffffff ffffffff ffffffff ................ + 27d7c: dfffe0f0 ffffffff 00fdffff ffffef04 ................ + 27d8c: 0040feff ffff1e00 e1ffffff b0af0000 ..@............. + 27d9c: 0b000000 ff0500fa 00000010 1e50ff01 ..............P. + 27dac: 000000f6 e16f0000 0000b0af 0b000000 ......o......... + 27dbc: fffffffa ff080080 ffffffff 1f00f1ff ................ + 27dcc: ffffffff ffffffff ffffffff ffffffff ................ + 27ddc: ffffffff ffffffff ffffffff ff8fffff ................ + 27dec: ffffffff 00f8ffff dabd0600 00ff0250 ............P... + 27dfc: ffffef05 00ff42fe 7ba7ff7f 05fff9ff .....B.....{.... + 27e0c: 0000c1ff 0effff2c 020000fc 5fffdf22 ....,.......".._ + 27e1c: 0f0000f2 8fffffff 0f0000b0 00ffffff ................ ... - 27e50: ff000000 00f0ffff fff80b00 00f0ffff ................ - 27e60: fff42f00 002022fd ffe0cf00 0000c2ff ./..." ......... - 27e70: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$... - 27e80: ff0050fe dbac0520 00000060 00000000 .P.. ...`....... - 27e90: 008d0000 00ff0800 dfff8f00 ffffffff ................ - 27ea0: ffffffff ffffffff ffffffff dfffffff ................ - 27eb0: 00ffffff 00ff8f00 00ff0800 008d0000 ................ + 27e38: ff000000 00f0ffff fff80b00 00f0ffff ................ + 27e48: fff42f00 002022fd ffe0cf00 0000c2ff ./..." ......... + 27e58: ff40ff2c 6ab7ff9f ff00f7ff ffffdf24 ,.@....j....$... + 27e68: ff0050fe dbac0520 00000060 00000000 .P.. ...`....... + 27e78: 008d0000 00ff0800 dfff8f00 ffffffff ................ + 27e88: ffffffff ffffffff ffffffff dfffffff ................ + 27e98: 00ffffff 00ff8f00 00ff0800 008d0000 ................ ... - 27ecc: 0000008d 00ff0800 8f000000 cf0000ff ................ - 27edc: 01ffffff ffffff50 fff706ff 00ffffff ....P........... - 27eec: ffffffbe ffae00ff 05ffffff ffffdff8 ................ - 27efc: 006002ff 00ff9f00 09000000 000000ff ..`............. - 27f0c: 009e0000 00000000 00000000 00000000 ................ - 27f1c: 00100600 00000000 d21f0000 00000000 ................ - 27f2c: 0300008d 000010ee 0a00ff08 00b02fb1 ............./.. - 27f3c: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_` - 27f4c: fffffff9 0df706ff ffffbdc0 ae00ffff ................ - 27f5c: ff9ff009 00ffffff 8ff009ae ffffffff ................ - 27f6c: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`... - 27f7c: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../. - 27f8c: 8d000000 ee020000 00000010 1f000000 ................ - 27f9c: 000000d2 00000000 8f001006 ffffffff ................ - 27fac: fff8ffff fffffffc ffffffff ffff2f20 ............ /.. - 27fbc: fcffffff ffff0c00 ffffffee feff2f20 ............ /.. - 27fcc: ffffef22 e2fffffc ffff2e00 20fe4efe "............N. - 27fdc: ffff0200 00c202e2 ffff0000 00000020 ............ ... - 27fec: ffff0000 00000000 ffff0000 ffffffff ................ - 27ffc: 8fffffff ffffffff 00f8ffff 00000000 ................ - 2800c: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@.... - 2801c: ffff3f40 ffff44ff ff9fffff ffffffff @?...D.......... - 2802c: ffffffff ffffffff ffffafff ff45ffff ..............E. - 2803c: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@.. - 2804c: 0030ffff 0000cc01 00000000 00000000 ..0............. - 2805c: 918f0000 00000000 70ffff00 00000000 ...........p.... - 2806c: 40fdffff ff000000 10faffff ffff0000 ...@............ - 2807c: 00f7ffff ffffff00 00d5ffff ffffffff ................ - 2808c: ffb2ffff ffffffff fffffdff ffffffff ................ - 2809c: fffffffd b2ffffff ffffffff ff00d5ff ................ - 280ac: f7ffffff ffff0000 0010faff fdffff00 ................ - 280bc: 00000040 0070ffff 8e000000 000000a1 @.....p......... + 27eb4: 0000008d 00ff0800 8f000000 cf0000ff ................ + 27ec4: 01ffffff ffffff50 fff706ff 00ffffff ....P........... + 27ed4: ffffffbe ffae00ff 05ffffff ffffdff8 ................ + 27ee4: 006002ff 00ff9f00 09000000 000000ff ..`............. + 27ef4: 009e0000 00000000 00000000 00000000 ................ + 27f04: 00100600 00000000 d21f0000 00000000 ................ + 27f14: 0300008d 000010ee 0a00ff08 00b02fb1 ............./.. + 27f24: 00ff8f00 f407fc05 ffffffdf 605f5002 .............P_` + 27f34: fffffff9 0df706ff ffffbdc0 ae00ffff ................ + 27f44: ff9ff009 00ffffff 8ff009ae ffffffff ................ + 27f54: c00df706 ffffdfad 5f5002ff 0000e960 ..........P_`... + 27f64: 0500ff8f 00f406fc 00ff0800 b02fb10a ............../. + 27f74: 8d000000 ee020000 00000010 1f000000 ................ + 27f84: 000000d2 00000000 8f001006 ffffffff ................ + 27f94: fff8ffff fffffffc ffffffff ffff2f20 ............ /.. + 27fa4: fcffffff ffff0c00 ffffffee feff2f20 ............ /.. + 27fb4: ffffef22 e2fffffc ffff2e00 20fe4efe "............N. + 27fc4: ffff0200 00c202e2 ffff0000 00000020 ............ ... + 27fd4: ffff0000 00000000 ffff0000 ffffffff ................ + 27fe4: 8fffffff ffffffff 00f8ffff 00000000 ................ + 27ff4: 010030ff 0040ffcc 40ffff2d ffffef03 .0....@.-..@.... + 28004: ffff3f40 ffff44ff ff9fffff ffffffff @?...D.......... + 28014: ffffffff ffffffff ffffafff ff45ffff ..............E. + 28024: 40ffffff ffffff4f ffef0340 2e0040ff ...@O...@....@.. + 28034: 0030ffff 0000cc01 00000000 00000000 ..0............. + 28044: 918f0000 00000000 70ffff00 00000000 ...........p.... + 28054: 40fdffff ff000000 10faffff ffff0000 ...@............ + 28064: 00f7ffff ffffff00 00d5ffff ffffffff ................ + 28074: ffb2ffff ffffffff fffffdff ffffffff ................ + 28084: fffffffd b2ffffff ffffffff ff00d5ff ................ + 28094: f7ffffff ffff0000 0010faff fdffff00 ................ + 280a4: 00000040 0070ffff 8e000000 000000a1 @.....p......... ... - 280dc: 00f8ff8f fff8ff8f ff00ffff ffffffff ................ - 280ec: ffff00ff ffffffff ffffff00 00ffffff ................ - 280fc: ffffffff ff00ffff ffffffff ffff00ff ................ - 2810c: ffffffff ffffff00 00ffffff ffffffff ................ - 2811c: ff00ffff ffffffff ffff00ff ffffffff ................ - 2812c: ffffff00 00ffffff 7fffffff 7f00f7ff ................ - 2813c: ff8ff7ff ffffffff fffffff8 ffffffff ................ - 2814c: ffffffff ffffffff ffffffff ffffffff ................ - 2815c: ffffffff ffffffff ffffffff ffffffff ................ - 2816c: ffffffff ffffffff ffffffff ffffffff ................ - 2817c: ffffffff ffffffff ffffffff ffffffff ................ - 2818c: ffffffff ffffffff ffffffff ffff8fff ................ - 2819c: f8ffffff 00000000 0010cc00 d2ffff03 ................ - 281ac: ffff0400 ff0430fe 04f4ffff ffffffff .....0.......... - 281bc: ffffff54 fffff9ff ffffffff ffffffff T............... - 281cc: ffffffff fffffff9 ffff44ff ff04f3ff .........D...... - 281dc: 0430feff 00d2ffff 10ccff04 00ff0300 ..0............. - 281ec: 00000000 2d000000 000000d2 ef010000 .......-........ - 281fc: 000010fe ff1d0000 0000d1ff ffcf0000 ................ - 2820c: 0000fcff ffff0b00 00b0ffff ffffaf00 ................ - 2821c: 00faffff ffffff09 90ffffff ffffff0f ................ - 2822c: f0ffffff ffffff08 80ffffff 00000000 ................ - 2823c: 00000000 ffffff0c c0ffffff ffffff0f ................ - 2824c: f0ffffff ffffff0f f0ffffff ffffff0c ................ - 2825c: c0ffffff 1a000000 01000040 0000f0df ........@....... - 2826c: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................ - 2827c: ff0c0000 0d0000a0 000080ff 00f8df01 ................ - 2828c: ff1d0000 01000080 0000f8df 80ff1d00 ................ - 2829c: df010000 000000f0 a104501b 0f000000 .........P...... - 282ac: 000010fd 00d1ff0a fdaf0000 0a000010 ................ - 282bc: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................ - 282cc: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................ - 282dc: d1ff0800 fd0f0000 05000010 000000b1 ................ - 282ec: ff040000 00000040 80ff0800 00000000 ....@........... - 282fc: 0080ff08 08000000 000080ff ff080000 ................ - 2830c: 48000080 c8ff8c88 ffff8488 ffffffff ...H............ - 2831c: ffffffff ffffffff ff8c8848 008488c8 ........H....... - 2832c: 80ff0800 00000000 0080ff08 08000000 ................ - 2833c: 000080ff ff080000 00000080 40ff0400 ...............@ - 2834c: 44140000 44444444 ffffef41 feffffff ...DDDDDA....... - 2835c: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........ - 2836c: daffad05 00000050 88fcdf04 0040fdcf ....P.........@. - 2837c: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O - 2838c: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO............. - 2839c: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O.. - 283ac: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p. - 283bc: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@ - 283cc: 05000000 50daffad 208c0000 00000000 .......P... .... - 283dc: 00000000 0000e4df 00000000 ff1b0000 ................ - 283ec: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I.............. - 283fc: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p..... - 2840c: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@ - 2841c: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-. - 2842c: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0.. - 2843c: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>. - 2844c: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z - 2845c: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N. + 280c4: 00f8ff8f fff8ff8f ff00ffff ffffffff ................ + 280d4: ffff00ff ffffffff ffffff00 00ffffff ................ + 280e4: ffffffff ff00ffff ffffffff ffff00ff ................ + 280f4: ffffffff ffffff00 00ffffff ffffffff ................ + 28104: ff00ffff ffffffff ffff00ff ffffffff ................ + 28114: ffffff00 00ffffff 7fffffff 7f00f7ff ................ + 28124: ff8ff7ff ffffffff fffffff8 ffffffff ................ + 28134: ffffffff ffffffff ffffffff ffffffff ................ + 28144: ffffffff ffffffff ffffffff ffffffff ................ + 28154: ffffffff ffffffff ffffffff ffffffff ................ + 28164: ffffffff ffffffff ffffffff ffffffff ................ + 28174: ffffffff ffffffff ffffffff ffff8fff ................ + 28184: f8ffffff 00000000 0010cc00 d2ffff03 ................ + 28194: ffff0400 ff0430fe 04f4ffff ffffffff .....0.......... + 281a4: ffffff54 fffff9ff ffffffff ffffffff T............... + 281b4: ffffffff fffffff9 ffff44ff ff04f3ff .........D...... + 281c4: 0430feff 00d2ffff 10ccff04 00ff0300 ..0............. + 281d4: 00000000 2d000000 000000d2 ef010000 .......-........ + 281e4: 000010fe ff1d0000 0000d1ff ffcf0000 ................ + 281f4: 0000fcff ffff0b00 00b0ffff ffffaf00 ................ + 28204: 00faffff ffffff09 90ffffff ffffff0f ................ + 28214: f0ffffff ffffff08 80ffffff 00000000 ................ + 28224: 00000000 ffffff0c c0ffffff ffffff0f ................ + 28234: f0ffffff ffffff0f f0ffffff ffffff0c ................ + 28244: c0ffffff 1a000000 01000040 0000f0df ........@....... + 28254: 00a0ff1d 00fadf01 a0ff1d00 fadf0100 ................ + 28264: ff0c0000 0d0000a0 000080ff 00f8df01 ................ + 28274: ff1d0000 01000080 0000f8df 80ff1d00 ................ + 28284: df010000 000000f0 a104501b 0f000000 .........P...... + 28294: 000010fd 00d1ff0a fdaf0000 0a000010 ................ + 282a4: 0000d1ff 10fdaf00 ff0a0000 080000c0 ................ + 282b4: 0000d0ff 0010fd8f 00d1ff08 10fd8f00 ................ + 282c4: d1ff0800 fd0f0000 05000010 000000b1 ................ + 282d4: ff040000 00000040 80ff0800 00000000 ....@........... + 282e4: 0080ff08 08000000 000080ff ff080000 ................ + 282f4: 48000080 c8ff8c88 ffff8488 ffffffff ...H............ + 28304: ffffffff ffffffff ff8c8848 008488c8 ........H....... + 28314: 80ff0800 00000000 0080ff08 08000000 ................ + 28324: 000080ff ff080000 00000080 40ff0400 ...............@ + 28334: 44140000 44444444 ffffef41 feffffff ...DDDDDA....... + 28344: ffffffff 7bffffff bbbbbbbb 0000b7bb .......{........ + 28354: daffad05 00000050 88fcdf04 0040fdcf ....P.........@. + 28364: 40fe7f00 f7ef0400 f4ff0700 4f809e00 ...@...........O + 28374: ff4f70ff f8af00c0 dff4ff0c ff9a80ff .pO............. + 28384: fdff08fe ef80ffdf ff08feff c0ff4ffd .............O.. + 28394: 0cf8ff8f ff07f4ff 80ee08f4 0070ff4f ............O.p. + 283a4: 0040fe7f 00f8ef04 fcdf0400 40fdcf88 ..@............@ + 283b4: 05000000 50daffad 208c0000 00000000 .......P... .... + 283c4: 00000000 0000e4df 00000000 ff1b0000 ................ + 283d4: fddf4980 000000a5 ffff7f00 d4ff8cd8 .I.............. + 283e4: 04000000 0000f8ef 0070ff4e ff1c0000 ........N.p..... + 283f4: ff04e869 e30400f7 fffe9f00 40ffcf80 i..............@ + 28404: 0570ff0d 8fe0ffff ff0dd0ff ff2d00f7 ..p...........-. + 28414: d0ff8fe0 00fcff04 cff8af00 7f0030ff .............0.. + 28424: 060040ff 00f7ffff f4ff0800 ff3e0000 .@............>. + 28434: 000000a0 82c8ff4d 00f7bf01 5a000000 ....M..........Z + 28444: 0810fcdf 0000a0ff 00000000 fd4e0000 ..............N. ... - 28474: 0000c802 d22d0000 00000000 00000000 ......-......... - 28484: 0000fbbf 00000000 ffff0500 00000050 ............P... - 28494: 0d000000 00d0ffff 00000000 ffff7f00 ................ - 284a4: 000000f7 ff010000 10ff8dd8 00000000 ................ - 284b4: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?..... - 284c4: 00000000 0cc0ffcf 0000fcff ffff0500 ................ - 284d4: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P........... - 284e4: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................ - 284f4: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>...... - 28504: ffffffff f0ffffff ffffff08 ffffffff ................ - 28514: 000080ff 00000000 00000000 00000000 ................ - 28524: 000000d8 00000000 ffff80ff ff070070 ............p... - 28534: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x..... - 28544: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ...... - 28554: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^ - 28564: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o. - 28574: fffffdff ff070070 0000f8ff 00000000 ....p........... - 28584: 000080ff 00000000 000000d8 00000000 ................ + 2845c: 0000c802 d22d0000 00000000 00000000 ......-......... + 2846c: 0000fbbf 00000000 ffff0500 00000050 ............P... + 2847c: 0d000000 00d0ffff 00000000 ffff7f00 ................ + 2848c: 000000f7 ff010000 10ff8dd8 00000000 ................ + 2849c: 0aa0ff0a 0000a0ff ff3f0000 f3ff0bb0 ..........?..... + 284ac: 00000000 0cc0ffcf 0000fcff ffff0500 ................ + 284bc: ffff0dd0 0e000050 9ff9ffff 00e0ffff ....P........... + 284cc: ffff8f00 ffff2ee2 ff0200f8 0990ffff ................ + 284dc: 10ffffff ffffff0a ffff3ee3 ff0fa0ff .........>...... + 284ec: ffffffff f0ffffff ffffff08 ffffffff ................ + 284fc: 000080ff 00000000 00000000 00000000 ................ + 2850c: 000000d8 00000000 ffff80ff ff070070 ............p... + 2851c: fffff8ff ff6f00f6 8e78fdff e8ff15ff ......o...x..... + 2852c: 0200e2ff 20fe4fe5 000020fe 00f3ff13 .....O. . ...... + 2853c: 00000052 0031ff3f 02000052 205ef4ef R...?.1.R.....^ + 2854c: 8e7820fe e8ff51ff ffffe2ff ff6f00f6 . x..Q........o. + 2855c: fffffdff ff070070 0000f8ff 00000000 ....p........... + 2856c: 000080ff 00000000 000000d8 00000000 ................ ... - 2859c: 01000000 000010dd ff1d0000 000000d1 ................ - 285ac: fdffdf01 1d000010 d1ff99ff f9df0100 ................ - 285bc: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................ - 285cc: 905ffb9f 09000000 000000f5 00000000 .._............. - 285dc: 00000000 5f000000 00000090 f9bff509 ......._........ - 285ec: 9f000000 90ff1dfb d1ff0900 00f9df01 ................ - 285fc: 0010fd9f ff99ff1d 010000d1 10fdffdf ................ - 2860c: 1d000000 0000d1ff dd010000 00000010 ................ + 28584: 01000000 000010dd ff1d0000 000000d1 ................ + 28594: fdffdf01 1d000010 d1ff99ff f9df0100 ................ + 285a4: 10fd9f00 0090ff1d bfd1ff09 000000f9 ................ + 285b4: 905ffb9f 09000000 000000f5 00000000 .._............. + 285c4: 00000000 5f000000 00000090 f9bff509 ......._........ + 285d4: 9f000000 90ff1dfb d1ff0900 00f9df01 ................ + 285e4: 0010fd9f ff99ff1d 010000d1 10fdffdf ................ + 285f4: 1d000000 0000d1ff dd010000 00000010 ................ ... - 2862c: 00d11d00 00000000 df010000 ffef10fd ................ - 2863c: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................ - 2864c: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k....... - 2865c: 0f0000f0 000000f0 00f00f00 00f00f00 ................ - 2866c: 0f000000 0f0000f0 000000f0 b6f11f6b ............k... - 2867c: 00f00f00 cfcf0000 0f00fcfc faffffff ................ - 2868c: d1ffff1d ffff0d00 df01feff 000010fd ................ - 2869c: 00000000 00d11d00 00000000 00000000 ................ - 286ac: ff8f0000 0000e2ff ffff0000 0020feff .............. . - 286bc: ffff0000 ffffffff fffff8ff ffffffff ................ - 286cc: ffffffff ffffffff ffffffff ffffffff ................ - 286dc: ffffffff ffffffff ffffffff ffffffff ................ - 286ec: ffffffff ffffffff ffffffff ffffffff ................ - 286fc: ffffffff ffffffff ff8fffff ffffffff ................ - 2870c: 0000f8ff 00b00b00 00000000 00fbbf00 ................ - 2871c: 00000000 b0ffff0b 00000000 fbffffbf ................ - 2872c: 0b000000 ffffffff 4f0000b0 ffffffff ...........O.... - 2873c: 000000f4 00ffff00 00000000 00ffff00 ................ - 2874c: 00000000 00ffff00 00000000 00ffff00 ................ - 2875c: 00000000 00ffff00 ffdf0000 0ffddff0 ................ - 2876c: fffffdff 9f0000f9 ffffffff ffffffff ................ - 2877c: ffffffff f0ffffff ffdfffe0 ffffffff ................ - 2878c: 0000fdff 00000000 00000000 00000000 ................ - 2879c: 0062ea0a 00000000 f0ffff02 00000000 ..b............. - 287ac: ffff9f00 00000000 ffff0f00 000000d0 ................ - 287bc: ffff0200 000000fb ef030000 000070ff .............p.. - 287cc: 04000000 0000f2ff 00000000 0000fbbf ................ - 287dc: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O... - 287ec: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o........... - 287fc: ffffef00 00d1ffff ffff0a00 0090ffff ................ - 2880c: ff6f0000 0030fbff ff020000 000072db ..o...0......r.. - 2881c: 08000000 000080ee ff086106 2d0080ff .........a.....- - 2882c: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?.... - 2883c: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n........... - 2884c: ffef0200 000000f3 ffff2e00 08000030 ............0... - 2885c: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3 - 2886c: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0... - 2887c: fddf0200 00e88e00 10660000 ffdf0000 ..........f..... - 2888c: 00200dff ffffff00 0000e20f 0fffffff .. ............. - 2889c: fff0dffd 0020ffff fffff0ff ffffffff ...... ......... - 288ac: fffffff0 f0ffffff ffffffff fff0ffff ................ - 288bc: ffffffff fffff0ff ffffffff fffffff0 ................ - 288cc: f0ffffff ffffffff fff0ffff ffffffff ................ - 288dc: ffdff0ff fffdffff 000000f9 ffff0000 ................ - 288ec: 00ffffff ffffdf00 0000fdff ffffff8f ................ - 288fc: ff00c2ff ffffffff 00ff20fe ff010000 ......... ...... - 2890c: 0000ffe2 fcff0000 000000ff ffffff00 ................ - 2891c: 00000000 ffffffff ffffffff ffffffff ................ - 2892c: ffffffff 11fbffff ffffffbf 1f00f1ff ................ - 2893c: ffffffff ff1f00f1 fbffffff ffffbf11 ................ - 2894c: ffffffff 8fffffff ffffffff df00f8ff ................ - 2895c: 0000fdff fcffff01 ff030000 0000f7ff ................ - 2896c: f2ffff06 ff080000 0000d0ff ffffff0a ................ - 2897c: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. .. - 2898c: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P. - 2899c: fc2f0000 00000000 0000f35f a09f0000 ../....._....... - 289ac: 00000000 000010df 00d70000 04000000 ................ - 289bc: 000040ee 99ffdf00 0000fdff ff99ffff .@.............. - 289cc: ff0000ff ffffffff ffff0000 00000090 ................ - 289dc: 0dffff00 200dffff ff0fffff ffe20fff ....... ........ - 289ec: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... .... - 289fc: ffffffff ff0fffff ffffffff ffff0fff ................ - 28a0c: ffdfffff ffffff0f 0f0000ff ffffffff ................ - 28a1c: ff0f0000 00ffffff ffff0d00 0000fdff ................ - 28a2c: 0000cc00 02000000 000030ff ffbf0100 .........0...... - 28a3c: 000020fc ffffff1e 9f0000e1 f8ffffff . .............. - 28a4c: ffef0000 00fdffff ffffff00 0100ffff ................ - 28a5c: ffffffff ff0300ff ffffffff ffff0830 ............0... - 28a6c: 80ffffff ffffff1e cfe1ffff ffffffff ................ - 28a7c: ffcffcff ffffffff 000000fc 00000000 ................ - 28a8c: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@.... - 28a9c: ffffffff fff8ffff ffffffff ffffffff ................ - 28aac: 0ff000ff 000ff000 f000ffff 0ff0000f ................ - 28abc: ffffff00 ffffffff ffffffff 888008f8 ................ - 28acc: ff8f8008 8008f8ff 8f800888 ffffffff ................ - 28adc: ffffffff 00ffffff 000000f0 ffff000f ................ - 28aec: 0000f000 ff000f00 ffffffff ffffffff ................ - 28afc: ffff8fff ffffffff 0000f8ff 00000000 ................ + 28614: 00d11d00 00000000 df010000 ffef10fd ................ + 28624: 00d0ffff d1ffff1d ffffffaf cfcf00f0 ................ + 28634: 0000fcfc 00f00f00 b6f11f6b 0f000000 ........k....... + 28644: 0f0000f0 000000f0 00f00f00 00f00f00 ................ + 28654: 0f000000 0f0000f0 000000f0 b6f11f6b ............k... + 28664: 00f00f00 cfcf0000 0f00fcfc faffffff ................ + 28674: d1ffff1d ffff0d00 df01feff 000010fd ................ + 28684: 00000000 00d11d00 00000000 00000000 ................ + 28694: ff8f0000 0000e2ff ffff0000 0020feff .............. . + 286a4: ffff0000 ffffffff fffff8ff ffffffff ................ + 286b4: ffffffff ffffffff ffffffff ffffffff ................ + 286c4: ffffffff ffffffff ffffffff ffffffff ................ + 286d4: ffffffff ffffffff ffffffff ffffffff ................ + 286e4: ffffffff ffffffff ff8fffff ffffffff ................ + 286f4: 0000f8ff 00b00b00 00000000 00fbbf00 ................ + 28704: 00000000 b0ffff0b 00000000 fbffffbf ................ + 28714: 0b000000 ffffffff 4f0000b0 ffffffff ...........O.... + 28724: 000000f4 00ffff00 00000000 00ffff00 ................ + 28734: 00000000 00ffff00 00000000 00ffff00 ................ + 28744: 00000000 00ffff00 ffdf0000 0ffddff0 ................ + 28754: fffffdff 9f0000f9 ffffffff ffffffff ................ + 28764: ffffffff f0ffffff ffdfffe0 ffffffff ................ + 28774: 0000fdff 00000000 00000000 00000000 ................ + 28784: 0062ea0a 00000000 f0ffff02 00000000 ..b............. + 28794: ffff9f00 00000000 ffff0f00 000000d0 ................ + 287a4: ffff0200 000000fb ef030000 000070ff .............p.. + 287b4: 04000000 0000f2ff 00000000 0000fbbf ................ + 287c4: 00000000 0030ff6f 00000200 0090ff4f ....o.0.....O... + 287d4: 00f38f02 00d0ff6f e4ffff0a 00d1ffbf ....o........... + 287e4: ffffef00 00d1ffff ffff0a00 0090ffff ................ + 287f4: ff6f0000 0030fbff ff020000 000072db ..o...0......r.. + 28804: 08000000 000080ee ff086106 2d0080ff .........a.....- + 28814: 33efd0ff ff2e00fe 3ff30ef3 f3ff2ee0 ...3.......?.... + 28824: ffff8f00 00f3ff6e ffff8e00 0000f3ff ....n........... + 28834: ffef0200 000000f3 ffff2e00 08000030 ............0... + 28844: ffffffef ff080030 ffeff6ff 33ef0030 ....0.......0..3 + 28854: ffef02fe 3ff30e30 ffef02e0 f8ff8f30 ....0..?....0... + 28864: fddf0200 00e88e00 10660000 ffdf0000 ..........f..... + 28874: 00200dff ffffff00 0000e20f 0fffffff .. ............. + 28884: fff0dffd 0020ffff fffff0ff ffffffff ...... ......... + 28894: fffffff0 f0ffffff ffffffff fff0ffff ................ + 288a4: ffffffff fffff0ff ffffffff fffffff0 ................ + 288b4: f0ffffff ffffffff fff0ffff ffffffff ................ + 288c4: ffdff0ff fffdffff 000000f9 ffff0000 ................ + 288d4: 00ffffff ffffdf00 0000fdff ffffff8f ................ + 288e4: ff00c2ff ffffffff 00ff20fe ff010000 ......... ...... + 288f4: 0000ffe2 fcff0000 000000ff ffffff00 ................ + 28904: 00000000 ffffffff ffffffff ffffffff ................ + 28914: ffffffff 11fbffff ffffffbf 1f00f1ff ................ + 28924: ffffffff ff1f00f1 fbffffff ffffbf11 ................ + 28934: ffffffff 8fffffff ffffffff df00f8ff ................ + 28944: 0000fdff fcffff01 ff030000 0000f7ff ................ + 28954: f2ffff06 ff080000 0000d0ff ffffff0a ................ + 28964: ff0cd0ff a0ffffff ffffff0e ff0d20ff ............. .. + 28974: 00f8ffff ff0a0000 000000e0 0050ff0e ..............P. + 28984: fc2f0000 00000000 0000f35f a09f0000 ../....._....... + 28994: 00000000 000010df 00d70000 04000000 ................ + 289a4: 000040ee 99ffdf00 0000fdff ff99ffff .@.............. + 289b4: ff0000ff ffffffff ffff0000 00000090 ................ + 289c4: 0dffff00 200dffff ff0fffff ffe20fff ....... ........ + 289d4: ffff0fff fffffd0f 20ffff0f 0fffff00 ........... .... + 289e4: ffffffff ff0fffff ffffffff ffff0fff ................ + 289f4: ffdfffff ffffff0f 0f0000ff ffffffff ................ + 28a04: ff0f0000 00ffffff ffff0d00 0000fdff ................ + 28a14: 0000cc00 02000000 000030ff ffbf0100 .........0...... + 28a24: 000020fc ffffff1e 9f0000e1 f8ffffff . .............. + 28a34: ffef0000 00fdffff ffffff00 0100ffff ................ + 28a44: ffffffff ff0300ff ffffffff ffff0830 ............0... + 28a54: 80ffffff ffffff1e cfe1ffff ffffffff ................ + 28a64: ffcffcff ffffffff 000000fc 00000000 ................ + 28a74: ff0e0000 000000e0 40ee0400 ff8f0000 ...........@.... + 28a84: ffffffff fff8ffff ffffffff ffffffff ................ + 28a94: 0ff000ff 000ff000 f000ffff 0ff0000f ................ + 28aa4: ffffff00 ffffffff ffffffff 888008f8 ................ + 28ab4: ff8f8008 8008f8ff 8f800888 ffffffff ................ + 28ac4: ffffffff 00ffffff 000000f0 ffff000f ................ + 28ad4: 0000f000 ff000f00 ffffffff ffffffff ................ + 28ae4: ffff8fff ffffffff 0000f8ff 00000000 ................ ... - 28b14: 70af0300 00000000 ffcf0400 000000f0 ...p............ - 28b24: ffdf0600 0000a0ff ffef1700 0030ffff ..............0. - 28b34: ffff1800 00fcffff ffff2a00 f4ffffff .........*...... - 28b44: ffff0800 ffffffff ff0f00d0 ffffffff ................ - 28b54: 080060ff ffffffff 0000feff 00000000 .`.............. - 28b64: 00f7ffff 00000000 f1ffff00 00000000 ................ - 28b74: ffff0000 00000080 ff000000 000010ff ................ - 28b84: 00000000 0000faff 00000000 00f2ff00 ................ - 28b94: 00000000 808f0000 00000000 00000000 ................ - 28ba4: 00000000 f0ffffdf ffff00d2 20fef0ff ............... - 28bb4: f0ffffff ffffe2ff fdfff0ff f2ffffff ................ - 28bc4: ffff0000 ffffffff ffffffff ffffffff ................ - 28bd4: ffffffff ffffffff ffffffff ffffffff ................ - 28be4: ffffffff ffffffff ffffffff ffffffff ................ - 28bf4: ffffffff ffffffff ffffffff ffdfffff ................ - 28c04: fdffffff 00000000 00000000 00000000 ................ - 28c14: feef9c04 000040c9 ffef0700 feffffff .....@.......... - 28c24: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o... - 28c34: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o. - 28c44: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M... - 28c54: 0000d4ff feff0500 ffef8aa8 01000050 ............P... - 28c64: 000070df 0010fd07 00120000 21000000 .p.............! - 28c74: 00000000 e44e0000 00000000 00000000 ......N......... - 28c84: 0000feef 00000000 feef0000 00000000 ................ - 28c94: 00000000 0000e44e ff8f0000 ffffffff ....N........... - 28ca4: 80ffffff ffffffff ffffffff 00fff0ff ................ - 28cb4: 00000000 fd0f0000 ffff0fff ffffffff ................ - 28cc4: 0fffff0f ffffffff ff00ffff ffff0fff ................ - 28cd4: ffffffff 0fffff00 ffffffff ff0fffff ................ - 28ce4: 000000ff 00000000 fffffd0f ffffffff ................ - 28cf4: f0ffffff ffffff8f ffffffff ff8f80ff ................ - 28d04: ffffffff 80ffffff ffffffff ffffffff ................ - 28d14: 00fff0ff 00000000 fd0f0000 ffff0fff ................ - 28d24: 00f0ffff 0fffff0f ffffffff ff0000f0 ................ - 28d34: ffff0fff 00f0ffff 0fffff00 ffffffff ................ - 28d44: ff0f00f0 000000ff 00000000 fffffd0f ................ - 28d54: ffffffff f0ffffff ffffff8f ffffffff ................ - 28d64: ff8f80ff ffffffff 80ffffff ffffffff ................ - 28d74: ffffffff 00fff0ff 00000000 fd0f0000 ................ - 28d84: ffff0fff 000000ff 0fffff0f 00ffffff ................ - 28d94: ff000000 ffff0fff 000000ff 0fffff00 ................ - 28da4: 00ffffff ff0f0000 000000ff 00000000 ................ - 28db4: fffffd0f ffffffff f0ffffff ffffff8f ................ - 28dc4: ffffffff ff8f80ff ffffffff 80ffffff ................ - 28dd4: ffffffff ffffffff 00fff0ff 00000000 ................ - 28de4: fd0f0000 f0ff0fff 00000000 0fffff0f ................ - 28df4: 0000f0ff ff000000 f0ff0fff 00000000 ................ - 28e04: 0fffff00 0000f0ff ff0f0000 000000ff ................ - 28e14: 00000000 fffffd0f ffffffff f0ffffff ................ - 28e24: ffffff8f ffffffff ff8f80ff ffffffff ................ - 28e34: 80ffffff ffffffff ffffffff 00fff0ff ................ - 28e44: 00000000 fd0f0000 000000ff 00000000 ................ - 28e54: 00ffff0f 00000000 ff000000 000000ff ................ - 28e64: 00000000 00ffff00 00000000 ff0f0000 ................ - 28e74: 000000ff 00000000 fffffd0f ffffffff ................ - 28e84: f0ffffff ffffff8f ffffffff 000080ff ................ - 28e94: 01000000 00000000 00000000 10fd0700 ................ - 28ea4: 00000000 cf010000 0000f5ff 00000000 ................ - 28eb4: fe29b900 00000010 3f000000 00000210 ..)........?.... - 28ec4: df030000 00900a80 70030000 77ffdf00 ...........p...w - 28ed4: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU........... - 28ee4: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F.. - 28ef4: 3302f201 00000010 09000000 00f9cfb1 ...3............ - 28f04: 00000000 ff0a0000 000090ff 00000000 ................ - 28f14: f9bf0000 00000000 00000000 00002201 .............".. - 28f24: df180000 020092fd ffeffbef faff0d30 ............0... - 28f34: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O.. - 28f44: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=............. - 28f54: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y - 28f64: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._...... - 28f74: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P..... - 28f84: 7f000000 0000f7ff ffffffef effeffff ................ - 28f94: ffffffff 0000feff 00000000 ffff0f00 ................ - 28fa4: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................ - 28fb4: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................ - 28fc4: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................ - 28fd4: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................ - 28fe4: 0ff09ff9 ffffffff ff08f0ff ffffffff ................ - 28ff4: 00000080 7f000000 000000a0 8f000000 ................ - 29004: 0000b0ff 0d000000 00a0ffff 8a000000 ................ - 29014: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p.... - 29024: 801dfaff 8f000000 00faffff 8f000000 ................ - 29034: 80ffffff 8f000000 80ffffff 8f000000 ................ - 29044: 80ffffff 8f000000 80ffffff 6f000000 ...............o - 29054: 80ffffff 0b000000 80ffffff 00000000 ................ - 29064: 80ffffdf 00000000 80ffff0e 00000000 ................ - 29074: 60dbde00 00000000 00000000 00000000 ...`............ - 29084: 00000000 ffffff1b e4ffffff ffdf0100 ................ - 29094: ffffffff 1d00feff effaffff ffffaffe ................ - 290a4: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................ - 290b4: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ...... - 290c4: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... . - 290d4: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................ - 290e4: affeeffa 0100ffff ffffffdf feffffff ................ - 290f4: ff1b0000 ffffffff 0800e4ff e4ffffff ................ - 29104: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@..... - 29114: f8ffff40 ff400b0f ffffffff ffffffff @.....@......... - 29124: ffffffff ffffffff ffffffff ffffffff ................ - 29134: ffffffff ffffffff ffffffff ffffffff ................ - 29144: ffffffff ffffffff ffffffff ffefffff ................ - 29154: feffffff ffffff4e 0000e4ff 00000000 ....N........... - 29164: 00000100 00000000 00e00300 00001000 ................ - 29174: 10ef0200 0000bf00 f17f0000 00f1cf00 ................ - 29184: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww..... - 29194: ffffffff ffff17ff ffffffff ff07e0ff ................ - 291a4: 000000f1 06000000 000010ff 00000000 ................ - 291b4: 0000a005 00000000 ........ - -000291bc <__func__.9667>: - 291bc: 645f766c 5f707369 5f767264 69676572 lv_disp_drv_regi - 291cc: 72657473 00000000 742f2e2e 64726968 ster....../third - 291dc: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 291ec: 61685f76 766c2f6c 6c61685f 7369645f v_hal/lv_hal_dis - 291fc: 00632e70 p.c. - -00029200 : - 29200: 00011081 00000000 ........ - -00029208 <__func__.9543>: - 29208: 615f766c 5f6d696e 72617473 00000074 lv_anim_start... - 29218: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 29228: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 29238: 6e615f76 632e6d69 00000000 v_anim.c.... - -00029244 <__func__.9631>: - 29244: 665f766c 72645f73 65725f76 74736967 lv_fs_drv_regist - 29254: 00007265 er.. - -00029258 <__func__.9538>: - 29258: 665f766c 706f5f73 00006e65 lv_fs_open.. - -00029264 <__func__.9602>: - 29264: 665f766c 69645f73 706f5f72 00006e65 lv_fs_dir_open.. - 29274: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 29284: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 29294: 73665f76 0000632e v_fs.c.. - -0002929c : - 2929c: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a... - 292ac: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!! - 292bc: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2 - 292cc: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A - 292dc: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI: - 29354: 6d5f766c 615f6d65 636f6c6c 00000000 lv_mem_alloc.... - -00029364 <__func__.7297>: - 29364: 5f766c5f 5f6d656d 5f667562 656c6572 _lv_mem_buf_rele - 29374: 00657361 ase. - -00029378 <__func__.7240>: - 29378: 6d5f766c 725f6d65 6c6c6165 0000636f lv_mem_realloc.. - -00029388 <__func__.7283>: - 29388: 5f766c5f 5f6d656d 5f667562 00746567 _lv_mem_buf_get. - 29398: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 293a8: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 293b8: 656d5f76 00632e6d 6c756f43 74276e64 v_mem.c.Couldn't - 293c8: 6c6c6120 7461636f 656d2065 79726f6d allocate memory - 293d8: 00000000 6d5f766c 625f6d65 725f6675 ....lv_mem_buf_r - 293e8: 61656c65 203a6573 73692070 746f6e20 elease: p is not - 293f8: 6b206120 6e776f6e 66756220 00726566 a known buffer. - 29408: 6d5f766c 625f6d65 675f6675 203a7465 lv_mem_buf_get: - 29418: 2074754f 6d20666f 726f6d65 63202c79 Out of memory, c - 29428: 74276e61 6c6c6120 7461636f 20612065 an't allocate a - 29438: 2077656e 66756220 20726566 636e6928 new buffer (inc - 29448: 73616572 6f792065 4c207275 454d5f56 rease your LV_ME - 29458: 49535f4d 682f455a 20706165 657a6973 M_SIZE/heap size - 29468: 00000029 6d5f766c 625f6d65 675f6675 )...lv_mem_buf_g - 29478: 203a7465 66206f6e 20656572 66667562 et: no free buff - 29488: 202e7265 72636e49 65736165 5f564c20 er. Increase LV_ - 29498: 57415244 4655425f 58414d5f 4d554e5f DRAW_BUF_MAX_NUM - 294a8: 0000002e .... - -000294ac <__func__.9561>: - 294ac: 745f766c 5f6b7361 61657263 625f6574 lv_task_create_b - 294bc: 63697361 00000000 asic.... - -000294c4 <__func__.9574>: - 294c4: 745f766c 5f6b7361 61657263 00006574 lv_task_create.. - 294d4: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv - 294e4: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l - 294f4: 61745f76 632e6b73 00000000 v_task.c.... - -00029500 <__func__.6088>: - 29500: 5f766c5f 5f747874 5f746567 657a6973 _lv_txt_get_size - 29510: 00000000 3b2e2c20 005f2d3a 742f2e2e .... ,.;:-_.../t - 29520: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s - 29530: 6c2f6372 696d5f76 6c2f6373 78745f76 rc/lv_misc/lv_tx - 29540: 00632e74 745f766c 675f7478 735f7465 t.c.lv_txt_get_s - 29550: 3a657a69 746e6920 72656765 65766f20 ize: integer ove - 29560: 6f6c6672 68772077 20656c69 636c6163 rflow while calc - 29570: 74616c75 20676e69 74786574 69656820 ulating text hei - 29580: 00746867 0000ffff 00008410 008c80ef ght............. - -00029590 <__func__.9965>: - 29590: 695f766c 645f676d 67697365 0000006e lv_img_design... - -000295a0 <__func__.9838>: - 295a0: 695f766c 735f676d 615f7465 5f6f7475 lv_img_set_auto_ - 295b0: 657a6973 00000000 size.... - -000295b8 <__func__.9845>: - 295b8: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse - 295c8: 00785f74 t_x. - -000295cc <__func__.9852>: - 295cc: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse - 295dc: 00795f74 t_y. - -000295e0 <__func__.9888>: - 295e0: 695f766c 675f676d 735f7465 00006372 lv_img_get_src.. - -000295f0 <__func__.9894>: - 295f0: 695f766c 675f676d 665f7465 5f656c69 lv_img_get_file_ - 29600: 656d616e 00000000 name.... - -00029608 <__func__.9900>: - 29608: 695f766c 675f676d 615f7465 5f6f7475 lv_img_get_auto_ - 29618: 657a6973 00000000 size.... - -00029620 <__func__.9817>: - 29620: 695f766c 735f676d 735f7465 00006372 lv_img_set_src.. - -00029630 <__func__.9808>: - 29630: 695f766c 635f676d 74616572 00000065 lv_img_create... - -00029640 <__func__.9906>: - 29640: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse - 29650: 00785f74 t_x. - -00029654 <__func__.9912>: - 29654: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse - 29664: 00795f74 t_y. - -00029668 <__func__.9919>: - 29668: 695f766c 675f676d 705f7465 746f7669 lv_img_get_pivot - 29678: 00000000 .... - -0002967c <__func__.9925>: - 2967c: 695f766c 675f676d 615f7465 656c676e lv_img_get_angle - 2968c: 00000000 .... - -00029690 <__func__.9931>: - 29690: 695f766c 675f676d 7a5f7465 006d6f6f lv_img_get_zoom. - -000296a0 <__func__.9937>: - 296a0: 695f766c 675f676d 615f7465 6169746e lv_img_get_antia - 296b0: 7361696c 00000000 742f2e2e 64726968 lias....../third - 296c0: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l - 296d0: 69775f76 74656764 766c2f73 676d695f v_widgets/lv_img - 296e0: 0000632e 695f766c 735f676d 735f7465 .c..lv_img_set_s - 296f0: 203a6372 6e6b6e75 206e776f 65707974 rc: unknown type - 29700: 00000000 695f766c 735f676d 735f7465 ....lv_img_set_s - 29710: 203a6372 6e6b6e75 206e776f 67616d69 rc: unknown imag - 29720: 79742065 00006570 695f766c 735f676d e type..lv_img_s - 29730: 735f7465 203a6372 564c6020 474d495f et_src: `LV_IMG - 29740: 4352535f 5241565f 4c424149 74206045 _SRC_VARIABLE` t - 29750: 20657079 6e756f66 00000064 67616d69 ype found...imag - 29760: 72632065 65746165 00000064 695f766c e created...lv_i - 29770: 0000676d mg.. - -00029774 <__func__.10208>: - 29774: 6c5f766c 6c656261 7465735f 746f645f lv_label_set_dot - 29784: 706d745f 00000000 _tmp.... - -0002978c <__func__.9902>: - 2978c: 6c5f766c 6c656261 7465735f 696c615f lv_label_set_ali - 2979c: 00006e67 gn.. - -000297a0 <__func__.9923>: - 297a0: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 297b0: 65735f74 74735f6c 00747261 t_sel_start. - -000297bc <__func__.9929>: - 297bc: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 297cc: 65735f74 6e655f6c 00000064 t_sel_end... - -000297d8 <__func__.9934>: - 297d8: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex - 297e8: 00000074 t... - -000297ec <__func__.9940>: - 297ec: 6c5f766c 6c656261 7465675f 6e6f6c5f lv_label_get_lon - 297fc: 6f6d5f67 00006564 g_mode.. - -00029804 <__func__.9946>: - 29804: 6c5f766c 6c656261 7465675f 696c615f lv_label_get_ali - 29814: 00006e67 gn.. - -00029818 <__func__.9953>: - 29818: 6c5f766c 6c656261 7465675f 6365725f lv_label_get_rec - 29828: 726f6c6f 00000000 olor.... - -00029830 <__func__.9959>: - 29830: 6c5f766c 6c656261 7465675f 696e615f lv_label_get_ani - 29840: 70735f6d 00646565 m_speed. - -00029848 <__func__.9967>: + 28afc: 70af0300 00000000 ffcf0400 000000f0 ...p............ + 28b0c: ffdf0600 0000a0ff ffef1700 0030ffff ..............0. + 28b1c: ffff1800 00fcffff ffff2a00 f4ffffff .........*...... + 28b2c: ffff0800 ffffffff ff0f00d0 ffffffff ................ + 28b3c: 080060ff ffffffff 0000feff 00000000 .`.............. + 28b4c: 00f7ffff 00000000 f1ffff00 00000000 ................ + 28b5c: ffff0000 00000080 ff000000 000010ff ................ + 28b6c: 00000000 0000faff 00000000 00f2ff00 ................ + 28b7c: 00000000 808f0000 00000000 00000000 ................ + 28b8c: 00000000 f0ffffdf ffff00d2 20fef0ff ............... + 28b9c: f0ffffff ffffe2ff fdfff0ff f2ffffff ................ + 28bac: ffff0000 ffffffff ffffffff ffffffff ................ + 28bbc: ffffffff ffffffff ffffffff ffffffff ................ + 28bcc: ffffffff ffffffff ffffffff ffffffff ................ + 28bdc: ffffffff ffffffff ffffffff ffdfffff ................ + 28bec: fdffffff 00000000 00000000 00000000 ................ + 28bfc: feef9c04 000040c9 ffef0700 feffffff .....@.......... + 28c0c: df040070 8aa8fcff 40fdffcf 00d5ff6f p..........@o... + 28c1c: 5d000000 f6cff6ff 00000000 fc6f0000 ...]..........o. + 28c2c: 5a00301a 00a5fddf 0000a103 ffffff4d .0.Z........M... + 28c3c: 0000d4ff feff0500 ffef8aa8 01000050 ............P... + 28c4c: 000070df 0010fd07 00120000 21000000 .p.............! + 28c5c: 00000000 e44e0000 00000000 00000000 ......N......... + 28c6c: 0000feef 00000000 feef0000 00000000 ................ + 28c7c: 00000000 0000e44e ff8f0000 ffffffff ....N........... + 28c8c: 80ffffff ffffffff ffffffff 00fff0ff ................ + 28c9c: 00000000 fd0f0000 ffff0fff ffffffff ................ + 28cac: 0fffff0f ffffffff ff00ffff ffff0fff ................ + 28cbc: ffffffff 0fffff00 ffffffff ff0fffff ................ + 28ccc: 000000ff 00000000 fffffd0f ffffffff ................ + 28cdc: f0ffffff ffffff8f ffffffff ff8f80ff ................ + 28cec: ffffffff 80ffffff ffffffff ffffffff ................ + 28cfc: 00fff0ff 00000000 fd0f0000 ffff0fff ................ + 28d0c: 00f0ffff 0fffff0f ffffffff ff0000f0 ................ + 28d1c: ffff0fff 00f0ffff 0fffff00 ffffffff ................ + 28d2c: ff0f00f0 000000ff 00000000 fffffd0f ................ + 28d3c: ffffffff f0ffffff ffffff8f ffffffff ................ + 28d4c: ff8f80ff ffffffff 80ffffff ffffffff ................ + 28d5c: ffffffff 00fff0ff 00000000 fd0f0000 ................ + 28d6c: ffff0fff 000000ff 0fffff0f 00ffffff ................ + 28d7c: ff000000 ffff0fff 000000ff 0fffff00 ................ + 28d8c: 00ffffff ff0f0000 000000ff 00000000 ................ + 28d9c: fffffd0f ffffffff f0ffffff ffffff8f ................ + 28dac: ffffffff ff8f80ff ffffffff 80ffffff ................ + 28dbc: ffffffff ffffffff 00fff0ff 00000000 ................ + 28dcc: fd0f0000 f0ff0fff 00000000 0fffff0f ................ + 28ddc: 0000f0ff ff000000 f0ff0fff 00000000 ................ + 28dec: 0fffff00 0000f0ff ff0f0000 000000ff ................ + 28dfc: 00000000 fffffd0f ffffffff f0ffffff ................ + 28e0c: ffffff8f ffffffff ff8f80ff ffffffff ................ + 28e1c: 80ffffff ffffffff ffffffff 00fff0ff ................ + 28e2c: 00000000 fd0f0000 000000ff 00000000 ................ + 28e3c: 00ffff0f 00000000 ff000000 000000ff ................ + 28e4c: 00000000 00ffff00 00000000 ff0f0000 ................ + 28e5c: 000000ff 00000000 fffffd0f ffffffff ................ + 28e6c: f0ffffff ffffff8f ffffffff 000080ff ................ + 28e7c: 01000000 00000000 00000000 10fd0700 ................ + 28e8c: 00000000 cf010000 0000f5ff 00000000 ................ + 28e9c: fe29b900 00000010 3f000000 00000210 ..)........?.... + 28eac: df030000 00900a80 70030000 77ffdf00 ...........p...w + 28ebc: 555555f7 0fd38f55 dfccfdff cdccccdc .UUUU........... + 28ecc: fe8fb0ff 00aa0010 404d0000 00104600 ..........M@.F.. + 28edc: 3302f201 00000010 09000000 00f9cfb1 ...3............ + 28eec: 00000000 ff0a0000 000090ff 00000000 ................ + 28efc: f9bf0000 00000000 00000000 00002201 .............".. + 28f0c: df180000 020092fd ffeffbef faff0d30 ............0... + 28f1c: 4fe0ff2e ff03faff fafa9ff5 cffa4f35 ...O........5O.. + 28f2c: 0b3d8ac0 03fbeffd fffe8f12 ff06b0ff ..=............. + 28f3c: d1ffffff efffff08 9f1011fd 59d1dfff ...............Y + 28f4c: affd0b3b 1d38fad7 faff5ffb 0df7df01 ;.....8.._...... + 28f5c: ff1dfaff fcef03f1 0050ffdf a3fedf18 ..........P..... + 28f6c: 7f000000 0000f7ff ffffffef effeffff ................ + 28f7c: ffffffff 0000feff 00000000 ffff0f00 ................ + 28f8c: f0ffffff ffffff0f 0ff0ffff f9999ff9 ................ + 28f9c: f80ff09f 8ff8888f 8ff80ff0 f08ff888 ................ + 28fac: 888ff80f 0ff08ff8 f8888ff8 f80ff08f ................ + 28fbc: 8ff8888f 8ff80ff0 f08ff888 999ff90f ................ + 28fcc: 0ff09ff9 ffffffff ff08f0ff ffffffff ................ + 28fdc: 00000080 7f000000 000000a0 8f000000 ................ + 28fec: 0000b0ff 0d000000 00a0ffff 8a000000 ................ + 28ffc: 00ffff1d 8f000000 70ff1dfa 8f000000 ...........p.... + 2900c: 801dfaff 8f000000 00faffff 8f000000 ................ + 2901c: 80ffffff 8f000000 80ffffff 8f000000 ................ + 2902c: 80ffffff 8f000000 80ffffff 6f000000 ...............o + 2903c: 80ffffff 0b000000 80ffffff 00000000 ................ + 2904c: 80ffffdf 00000000 80ffff0e 00000000 ................ + 2905c: 60dbde00 00000000 00000000 00000000 ...`............ + 2906c: 00000000 ffffff1b e4ffffff ffdf0100 ................ + 2907c: ffffffff 1d00feff effaffff ffffaffe ................ + 2908c: ffffdf01 0ae22ea0 ff1dffff 02e2ffff ................ + 2909c: ffff2e20 ffffffcf ef0220fe ffcfffff ........ ...... + 290ac: 20feffff ffffef02 ffffff1d 2e2002e2 ... .......... . + 290bc: df01ffff 2ea0ffff ffff0ae2 ffff1d00 ................ + 290cc: affeeffa 0100ffff ffffffdf feffffff ................ + 290dc: ff1b0000 ffffffff 0800e4ff e4ffffff ................ + 290ec: ffff8f00 f808feff ff400b0f 0b0ff88f ..........@..... + 290fc: f8ffff40 ff400b0f ffffffff ffffffff @.....@......... + 2910c: ffffffff ffffffff ffffffff ffffffff ................ + 2911c: ffffffff ffffffff ffffffff ffffffff ................ + 2912c: ffffffff ffffffff ffffffff ffefffff ................ + 2913c: feffffff ffffff4e 0000e4ff 00000000 ....N........... + 2914c: 00000100 00000000 00e00300 00001000 ................ + 2915c: 10ef0200 0000bf00 f17f0000 00f1cf00 ................ + 2916c: ff070000 77ffcf11 bf777777 ffffcff1 .......wwww..... + 2917c: ffffffff ffff17ff ffffffff ff07e0ff ................ + 2918c: 000000f1 06000000 000010ff 00000000 ................ + 2919c: 0000a005 00000000 ........ + +000291a4 <__func__.9667>: + 291a4: 645f766c 5f707369 5f767264 69676572 lv_disp_drv_regi + 291b4: 72657473 00000000 742f2e2e 64726968 ster....../third + 291c4: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 291d4: 61685f76 766c2f6c 6c61685f 7369645f v_hal/lv_hal_dis + 291e4: 00632e70 p.c. + +000291e8 : + 291e8: 00011069 00000000 i....... + +000291f0 <__func__.9543>: + 291f0: 615f766c 5f6d696e 72617473 00000074 lv_anim_start... + 29200: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 29210: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 29220: 6e615f76 632e6d69 00000000 v_anim.c.... + +0002922c <__func__.9631>: + 2922c: 665f766c 72645f73 65725f76 74736967 lv_fs_drv_regist + 2923c: 00007265 er.. + +00029240 <__func__.9538>: + 29240: 665f766c 706f5f73 00006e65 lv_fs_open.. + +0002924c <__func__.9602>: + 2924c: 665f766c 69645f73 706f5f72 00006e65 lv_fs_dir_open.. + 2925c: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 2926c: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 2927c: 73665f76 0000632e v_fs.c.. + +00029284 : + 29284: 023c0000 06b30478 0b2808ee 0f990d61 ..<.x.....(.a... + 29294: 140611d0 186c163a 1ccb1a9d 21211ef7 ....:.l.......!! + 292a4: 256c2348 29ac278e 2ddf2bc7 32032ff3 H#l%.'.).+.-./.2 + 292b4: 36183410 3a1c381c 3e0e3c17 41ec3fff .4.6.8.:.<.>.?.A + 292c4: 45b643d4 496a4793 4d084b3c 508d4ecd .C.E.GjI: + 2933c: 6d5f766c 615f6d65 636f6c6c 00000000 lv_mem_alloc.... + +0002934c <__func__.7297>: + 2934c: 5f766c5f 5f6d656d 5f667562 656c6572 _lv_mem_buf_rele + 2935c: 00657361 ase. + +00029360 <__func__.7240>: + 29360: 6d5f766c 725f6d65 6c6c6165 0000636f lv_mem_realloc.. + +00029370 <__func__.7283>: + 29370: 5f766c5f 5f6d656d 5f667562 00746567 _lv_mem_buf_get. + 29380: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 29390: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 293a0: 656d5f76 00632e6d 6c756f43 74276e64 v_mem.c.Couldn't + 293b0: 6c6c6120 7461636f 656d2065 79726f6d allocate memory + 293c0: 00000000 6d5f766c 625f6d65 725f6675 ....lv_mem_buf_r + 293d0: 61656c65 203a6573 73692070 746f6e20 elease: p is not + 293e0: 6b206120 6e776f6e 66756220 00726566 a known buffer. + 293f0: 6d5f766c 625f6d65 675f6675 203a7465 lv_mem_buf_get: + 29400: 2074754f 6d20666f 726f6d65 63202c79 Out of memory, c + 29410: 74276e61 6c6c6120 7461636f 20612065 an't allocate a + 29420: 2077656e 66756220 20726566 636e6928 new buffer (inc + 29430: 73616572 6f792065 4c207275 454d5f56 rease your LV_ME + 29440: 49535f4d 682f455a 20706165 657a6973 M_SIZE/heap size + 29450: 00000029 6d5f766c 625f6d65 675f6675 )...lv_mem_buf_g + 29460: 203a7465 66206f6e 20656572 66667562 et: no free buff + 29470: 202e7265 72636e49 65736165 5f564c20 er. Increase LV_ + 29480: 57415244 4655425f 58414d5f 4d554e5f DRAW_BUF_MAX_NUM + 29490: 0000002e .... + +00029494 <__func__.9561>: + 29494: 745f766c 5f6b7361 61657263 625f6574 lv_task_create_b + 294a4: 63697361 00000000 asic.... + +000294ac <__func__.9574>: + 294ac: 745f766c 5f6b7361 61657263 00006574 lv_task_create.. + 294bc: 742f2e2e 64726968 74726170 766c2f79 ../thirdparty/lv + 294cc: 732f6c67 6c2f6372 696d5f76 6c2f6373 gl/src/lv_misc/l + 294dc: 61745f76 632e6b73 00000000 v_task.c.... + +000294e8 <__func__.6088>: + 294e8: 5f766c5f 5f747874 5f746567 657a6973 _lv_txt_get_size + 294f8: 00000000 3b2e2c20 005f2d3a 742f2e2e .... ,.;:-_.../t + 29508: 64726968 74726170 766c2f79 732f6c67 hirdparty/lvgl/s + 29518: 6c2f6372 696d5f76 6c2f6373 78745f76 rc/lv_misc/lv_tx + 29528: 00632e74 745f766c 675f7478 735f7465 t.c.lv_txt_get_s + 29538: 3a657a69 746e6920 72656765 65766f20 ize: integer ove + 29548: 6f6c6672 68772077 20656c69 636c6163 rflow while calc + 29558: 74616c75 20676e69 74786574 69656820 ulating text hei + 29568: 00746867 0000ffff 00008410 008c80ef ght............. + +00029578 <__func__.9965>: + 29578: 695f766c 645f676d 67697365 0000006e lv_img_design... + +00029588 <__func__.9838>: + 29588: 695f766c 735f676d 615f7465 5f6f7475 lv_img_set_auto_ + 29598: 657a6973 00000000 size.... + +000295a0 <__func__.9845>: + 295a0: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse + 295b0: 00785f74 t_x. + +000295b4 <__func__.9852>: + 295b4: 695f766c 735f676d 6f5f7465 65736666 lv_img_set_offse + 295c4: 00795f74 t_y. + +000295c8 <__func__.9888>: + 295c8: 695f766c 675f676d 735f7465 00006372 lv_img_get_src.. + +000295d8 <__func__.9894>: + 295d8: 695f766c 675f676d 665f7465 5f656c69 lv_img_get_file_ + 295e8: 656d616e 00000000 name.... + +000295f0 <__func__.9900>: + 295f0: 695f766c 675f676d 615f7465 5f6f7475 lv_img_get_auto_ + 29600: 657a6973 00000000 size.... + +00029608 <__func__.9817>: + 29608: 695f766c 735f676d 735f7465 00006372 lv_img_set_src.. + +00029618 <__func__.9808>: + 29618: 695f766c 635f676d 74616572 00000065 lv_img_create... + +00029628 <__func__.9906>: + 29628: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse + 29638: 00785f74 t_x. + +0002963c <__func__.9912>: + 2963c: 695f766c 675f676d 6f5f7465 65736666 lv_img_get_offse + 2964c: 00795f74 t_y. + +00029650 <__func__.9919>: + 29650: 695f766c 675f676d 705f7465 746f7669 lv_img_get_pivot + 29660: 00000000 .... + +00029664 <__func__.9925>: + 29664: 695f766c 675f676d 615f7465 656c676e lv_img_get_angle + 29674: 00000000 .... + +00029678 <__func__.9931>: + 29678: 695f766c 675f676d 7a5f7465 006d6f6f lv_img_get_zoom. + +00029688 <__func__.9937>: + 29688: 695f766c 675f676d 615f7465 6169746e lv_img_get_antia + 29698: 7361696c 00000000 742f2e2e 64726968 lias....../third + 296a8: 74726170 766c2f79 732f6c67 6c2f6372 party/lvgl/src/l + 296b8: 69775f76 74656764 766c2f73 676d695f v_widgets/lv_img + 296c8: 0000632e 695f766c 735f676d 735f7465 .c..lv_img_set_s + 296d8: 203a6372 6e6b6e75 206e776f 65707974 rc: unknown type + 296e8: 00000000 695f766c 735f676d 735f7465 ....lv_img_set_s + 296f8: 203a6372 6e6b6e75 206e776f 67616d69 rc: unknown imag + 29708: 79742065 00006570 695f766c 735f676d e type..lv_img_s + 29718: 735f7465 203a6372 564c6020 474d495f et_src: `LV_IMG + 29728: 4352535f 5241565f 4c424149 74206045 _SRC_VARIABLE` t + 29738: 20657079 6e756f66 00000064 67616d69 ype found...imag + 29748: 72632065 65746165 00000064 695f766c e created...lv_i + 29758: 0000676d mg.. + +0002975c <__func__.10208>: + 2975c: 6c5f766c 6c656261 7465735f 746f645f lv_label_set_dot + 2976c: 706d745f 00000000 _tmp.... + +00029774 <__func__.9902>: + 29774: 6c5f766c 6c656261 7465735f 696c615f lv_label_set_ali + 29784: 00006e67 gn.. + +00029788 <__func__.9923>: + 29788: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 29798: 65735f74 74735f6c 00747261 t_sel_start. + +000297a4 <__func__.9929>: + 297a4: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 297b4: 65735f74 6e655f6c 00000064 t_sel_end... + +000297c0 <__func__.9934>: + 297c0: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex + 297d0: 00000074 t... + +000297d4 <__func__.9940>: + 297d4: 6c5f766c 6c656261 7465675f 6e6f6c5f lv_label_get_lon + 297e4: 6f6d5f67 00006564 g_mode.. + +000297ec <__func__.9946>: + 297ec: 6c5f766c 6c656261 7465675f 696c615f lv_label_get_ali + 297fc: 00006e67 gn.. + +00029800 <__func__.9953>: + 29800: 6c5f766c 6c656261 7465675f 6365725f lv_label_get_rec + 29810: 726f6c6f 00000000 olor.... + +00029818 <__func__.9959>: + 29818: 6c5f766c 6c656261 7465675f 696e615f lv_label_get_ani + 29828: 70735f6d 00646565 m_speed. + +00029830 <__func__.9967>: + 29830: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let + 29840: 5f726574 00736f70 ter_pos. + +00029848 <__func__.9996>: 29848: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let - 29858: 5f726574 00736f70 ter_pos. + 29858: 5f726574 00006e6f ter_on.. -00029860 <__func__.9996>: - 29860: 6c5f766c 6c656261 7465675f 74656c5f lv_label_get_let - 29870: 5f726574 00006e6f ter_on.. +00029860 <__func__.9865>: + 29860: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 29870: 00000074 t... -00029878 <__func__.9865>: - 29878: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 29888: 00000074 t... +00029874 <__func__.9876>: + 29874: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex + 29884: 6d665f74 00000074 t_fmt... -0002988c <__func__.9876>: +0002988c <__func__.9888>: 2988c: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 2989c: 6d665f74 00000074 t_fmt... - -000298a4 <__func__.9888>: - 298a4: 6c5f766c 6c656261 7465735f 7865745f lv_label_set_tex - 298b4: 74735f74 63697461 00000000 t_static.... - -000298c0 <__func__.9895>: - 298c0: 6c5f766c 6c656261 7465735f 6e6f6c5f lv_label_set_lon - 298d0: 6f6d5f67 00006564 g_mode.. - -000298d8 <__func__.9909>: - 298d8: 6c5f766c 6c656261 7465735f 6365725f lv_label_set_rec - 298e8: 726f6c6f 00000000 olor.... - -000298f0 <__func__.9854>: - 298f0: 6c5f766c 6c656261 6572635f 00657461 lv_label_create. - -00029900 <__func__.9916>: - 29900: 6c5f766c 6c656261 7465735f 696e615f lv_label_set_ani - 29910: 70735f6d 00646565 m_speed. - -00029918 <__func__.10033>: - 29918: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex - 29928: 65735f74 74735f6c 00747261 t_sel_start. - -00029934 <__func__.10038>: - 29934: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex - 29944: 65735f74 6e655f6c 00000064 t_sel_end... - -00029950 <__func__.10044>: - 29950: 6c5f766c 6c656261 5f73695f 72616863 lv_label_is_char - 29960: 646e755f 705f7265 0000736f _under_pos.. - -0002996c <__func__.10089>: - 2996c: 6c5f766c 6c656261 736e695f 7865745f lv_label_ins_tex - 2997c: 00000074 t... - -00029980 <__func__.10102>: - 29980: 6c5f766c 6c656261 7475635f 7865745f lv_label_cut_tex - 29990: 00000074 742f2e2e 64726968 74726170 t...../thirdpart - 299a0: 766c2f79 732f6c67 6c2f6372 69775f76 y/lvgl/src/lv_wi - 299b0: 74656764 766c2f73 62616c5f 632e6c65 dgets/lv_label.c - 299c0: 00000000 6c696146 74206465 6c61206f ....Failed to al - 299d0: 61636f6c 6d206574 726f6d65 6f662079 locate memory fo - 299e0: 6f642072 6d745f74 74705f70 00000072 r dot_tmp_ptr... - 299f0: 74786554 00000000 6562616c 7263206c Text....label cr - 29a00: 65746165 00000064 6c5f766c 6c656261 eated...lv_label - 29a10: 00000000 .... - -00029a14 <_init>: - 29a14: b5f8 push {r3, r4, r5, r6, r7, lr} - 29a16: bf00 nop - 29a18: bcf8 pop {r3, r4, r5, r6, r7} - 29a1a: bc08 pop {r3} - 29a1c: 469e mov lr, r3 - 29a1e: 4770 bx lr - -00029a20 <__init_array_start>: - 29a20: 00000289 .word 0x00000289 - -00029a24 <_fini>: - 29a24: b5f8 push {r3, r4, r5, r6, r7, lr} - 29a26: bf00 nop - 29a28: bcf8 pop {r3, r4, r5, r6, r7} - 29a2a: bc08 pop {r3} - 29a2c: 469e mov lr, r3 - 29a2e: 4770 bx lr - -00029a30 <__fini_array_start>: - 29a30: 00000265 .word 0x00000265 + 2989c: 74735f74 63697461 00000000 t_static.... + +000298a8 <__func__.9895>: + 298a8: 6c5f766c 6c656261 7465735f 6e6f6c5f lv_label_set_lon + 298b8: 6f6d5f67 00006564 g_mode.. + +000298c0 <__func__.9909>: + 298c0: 6c5f766c 6c656261 7465735f 6365725f lv_label_set_rec + 298d0: 726f6c6f 00000000 olor.... + +000298d8 <__func__.9854>: + 298d8: 6c5f766c 6c656261 6572635f 00657461 lv_label_create. + +000298e8 <__func__.9916>: + 298e8: 6c5f766c 6c656261 7465735f 696e615f lv_label_set_ani + 298f8: 70735f6d 00646565 m_speed. + +00029900 <__func__.10033>: + 29900: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex + 29910: 65735f74 74735f6c 00747261 t_sel_start. + +0002991c <__func__.10038>: + 2991c: 6c5f766c 6c656261 7465675f 7865745f lv_label_get_tex + 2992c: 65735f74 6e655f6c 00000064 t_sel_end... + +00029938 <__func__.10044>: + 29938: 6c5f766c 6c656261 5f73695f 72616863 lv_label_is_char + 29948: 646e755f 705f7265 0000736f _under_pos.. + +00029954 <__func__.10089>: + 29954: 6c5f766c 6c656261 736e695f 7865745f lv_label_ins_tex + 29964: 00000074 t... + +00029968 <__func__.10102>: + 29968: 6c5f766c 6c656261 7475635f 7865745f lv_label_cut_tex + 29978: 00000074 742f2e2e 64726968 74726170 t...../thirdpart + 29988: 766c2f79 732f6c67 6c2f6372 69775f76 y/lvgl/src/lv_wi + 29998: 74656764 766c2f73 62616c5f 632e6c65 dgets/lv_label.c + 299a8: 00000000 6c696146 74206465 6c61206f ....Failed to al + 299b8: 61636f6c 6d206574 726f6d65 6f662079 locate memory fo + 299c8: 6f642072 6d745f74 74705f70 00000072 r dot_tmp_ptr... + 299d8: 74786554 00000000 6562616c 7263206c Text....label cr + 299e8: 65746165 00000064 6c5f766c 6c656261 eated...lv_label + 299f8: 00000000 .... + +000299fc <_init>: + 299fc: b5f8 push {r3, r4, r5, r6, r7, lr} + 299fe: bf00 nop + 29a00: bcf8 pop {r3, r4, r5, r6, r7} + 29a02: bc08 pop {r3} + 29a04: 469e mov lr, r3 + 29a06: 4770 bx lr + +00029a08 <__init_array_start>: + 29a08: 00000289 .word 0x00000289 + +00029a0c <_fini>: + 29a0c: b5f8 push {r3, r4, r5, r6, r7, lr} + 29a0e: bf00 nop + 29a10: bcf8 pop {r3, r4, r5, r6, r7} + 29a12: bc08 pop {r3} + 29a14: 469e mov lr, r3 + 29a16: 4770 bx lr + +00029a18 <__fini_array_start>: + 29a18: 00000265 .word 0x00000265 diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map index 088af097..87417f69 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.map @@ -25202,7 +25202,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o 0x00010000 STACK_SIZE = DEFINED (STACK_SIZE)?STACK_SIZE:DEFINED (__stack_size__)?__stack_size__:0x10000 -.text 0x00000000 0x29a34 +.text 0x00000000 0x29a1c 0x00000000 . = ALIGN (0x4) 0x00000000 _sfixed = . *(.vectors .vectors.*) @@ -25364,1374 +25364,1374 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x00001010 0x30 drivers/p_gpio.o 0x00001010 p_gpio_set_port_data .text.p_gpio_parallel_write - 0x00001040 0x38 drivers/p_gpio.o + 0x00001040 0x20 drivers/p_gpio.o 0x00001040 p_gpio_parallel_write .text.p_gpio_parallel_write_arr - 0x00001078 0x2c drivers/p_gpio.o - 0x00001078 p_gpio_parallel_write_arr + 0x00001060 0x2c drivers/p_gpio.o + 0x00001060 p_gpio_parallel_write_arr .text.p_gpio_set_port_group_config - 0x000010a4 0x1ac drivers/p_gpio.o - 0x000010a4 p_gpio_set_port_group_config + 0x0000108c 0x1ac drivers/p_gpio.o + 0x0000108c p_gpio_set_port_group_config .text.p_gpio_init - 0x00001250 0x134 drivers/p_gpio.o - 0x00001250 p_gpio_init + 0x00001238 0x134 drivers/p_gpio.o + 0x00001238 p_gpio_init .text.p_i2c_init - 0x00001384 0x2 drivers/p_i2c.o - 0x00001384 p_i2c_init - *fill* 0x00001386 0x2 + 0x0000136c 0x2 drivers/p_i2c.o + 0x0000136c p_i2c_init + *fill* 0x0000136e 0x2 .text.TIMER_0_task1_cb - 0x00001388 0x24 drivers/p_tcc.o + 0x00001370 0x24 drivers/p_tcc.o .text.p_tcc_init - 0x000013ac 0x78 drivers/p_tcc.o - 0x000013ac p_tcc_init + 0x00001394 0x78 drivers/p_tcc.o + 0x00001394 p_tcc_init .text.p_usart_init - 0x00001424 0xac drivers/p_usart.o - 0x00001424 p_usart_init + 0x0000140c 0xac drivers/p_usart.o + 0x0000140c p_usart_init .text.atomic_enter_critical - 0x000014d0 0xe hal/src/hal_atomic.o - 0x000014d0 atomic_enter_critical + 0x000014b8 0xe hal/src/hal_atomic.o + 0x000014b8 atomic_enter_critical .text.atomic_leave_critical - 0x000014de 0xc hal/src/hal_atomic.o - 0x000014de atomic_leave_critical - *fill* 0x000014ea 0x2 + 0x000014c6 0xc hal/src/hal_atomic.o + 0x000014c6 atomic_leave_critical + *fill* 0x000014d2 0x2 .text.delay_init - 0x000014ec 0x14 hal/src/hal_delay.o - 0x000014ec delay_init + 0x000014d4 0x14 hal/src/hal_delay.o + 0x000014d4 delay_init .text.delay_us - 0x00001500 0x20 hal/src/hal_delay.o - 0x00001500 delay_us + 0x000014e8 0x20 hal/src/hal_delay.o + 0x000014e8 delay_us .text.delay_ms - 0x00001520 0x20 hal/src/hal_delay.o - 0x00001520 delay_ms + 0x00001508 0x20 hal/src/hal_delay.o + 0x00001508 delay_ms .text.io_write - 0x00001540 0x30 hal/src/hal_io.o - 0x00001540 io_write + 0x00001528 0x30 hal/src/hal_io.o + 0x00001528 io_write .text.timer_add_timer_task - 0x00001570 0x58 hal/src/hal_timer.o + 0x00001558 0x58 hal/src/hal_timer.o .text.timer_process_counted - 0x000015c8 0x80 hal/src/hal_timer.o + 0x000015b0 0x80 hal/src/hal_timer.o .text.timer_init - 0x00001648 0x3c hal/src/hal_timer.o - 0x00001648 timer_init + 0x00001630 0x3c hal/src/hal_timer.o + 0x00001630 timer_init .text.timer_start - 0x00001684 0x3c hal/src/hal_timer.o - 0x00001684 timer_start + 0x0000166c 0x3c hal/src/hal_timer.o + 0x0000166c timer_start .text.timer_add_task - 0x000016c0 0xa8 hal/src/hal_timer.o - 0x000016c0 timer_add_task + 0x000016a8 0xa8 hal/src/hal_timer.o + 0x000016a8 timer_add_task .text.usart_transmission_complete - 0x00001768 0x14 hal/src/hal_usart_async.o + 0x00001750 0x14 hal/src/hal_usart_async.o .text.usart_error - 0x0000177c 0x14 hal/src/hal_usart_async.o + 0x00001764 0x14 hal/src/hal_usart_async.o .text.usart_fill_rx_buffer - 0x00001790 0x1c hal/src/hal_usart_async.o + 0x00001778 0x1c hal/src/hal_usart_async.o .text.usart_async_write - 0x000017ac 0x60 hal/src/hal_usart_async.o + 0x00001794 0x60 hal/src/hal_usart_async.o .text.usart_process_byte_sent - 0x0000180c 0x34 hal/src/hal_usart_async.o + 0x000017f4 0x34 hal/src/hal_usart_async.o .text.usart_async_read - 0x00001840 0xd8 hal/src/hal_usart_async.o + 0x00001828 0xd8 hal/src/hal_usart_async.o .text.usart_async_init - 0x00001918 0x90 hal/src/hal_usart_async.o - 0x00001918 usart_async_init + 0x00001900 0x90 hal/src/hal_usart_async.o + 0x00001900 usart_async_init .text.usart_async_enable - 0x000019a8 0x2c hal/src/hal_usart_async.o - 0x000019a8 usart_async_enable - .text.assert 0x000019d4 0x6 hal/utils/src/utils_assert.o - 0x000019d4 assert + 0x00001990 0x2c hal/src/hal_usart_async.o + 0x00001990 usart_async_enable + .text.assert 0x000019bc 0x6 hal/utils/src/utils_assert.o + 0x000019bc assert .text.is_list_element - 0x000019da 0x20 hal/utils/src/utils_list.o - 0x000019da is_list_element - *fill* 0x000019fa 0x2 + 0x000019c2 0x20 hal/utils/src/utils_list.o + 0x000019c2 is_list_element + *fill* 0x000019e2 0x2 .text.list_insert_as_head - 0x000019fc 0x2c hal/utils/src/utils_list.o - 0x000019fc list_insert_as_head + 0x000019e4 0x2c hal/utils/src/utils_list.o + 0x000019e4 list_insert_as_head .text.list_insert_after - 0x00001a28 0x8 hal/utils/src/utils_list.o - 0x00001a28 list_insert_after + 0x00001a10 0x8 hal/utils/src/utils_list.o + 0x00001a10 list_insert_after .text.list_remove_head - 0x00001a30 0xc hal/utils/src/utils_list.o - 0x00001a30 list_remove_head + 0x00001a18 0xc hal/utils/src/utils_list.o + 0x00001a18 list_remove_head .text.ringbuffer_init - 0x00001a3c 0x50 hal/utils/src/utils_ringbuffer.o - 0x00001a3c ringbuffer_init + 0x00001a24 0x50 hal/utils/src/utils_ringbuffer.o + 0x00001a24 ringbuffer_init .text.ringbuffer_get - 0x00001a8c 0x44 hal/utils/src/utils_ringbuffer.o - 0x00001a8c ringbuffer_get + 0x00001a74 0x44 hal/utils/src/utils_ringbuffer.o + 0x00001a74 ringbuffer_get .text.ringbuffer_put - 0x00001ad0 0x40 hal/utils/src/utils_ringbuffer.o - 0x00001ad0 ringbuffer_put + 0x00001ab8 0x40 hal/utils/src/utils_ringbuffer.o + 0x00001ab8 ringbuffer_put .text.ringbuffer_num - 0x00001b10 0x24 hal/utils/src/utils_ringbuffer.o - 0x00001b10 ringbuffer_num + 0x00001af8 0x24 hal/utils/src/utils_ringbuffer.o + 0x00001af8 ringbuffer_num .text._irq_set - 0x00001b34 0x1c hpl/core/hpl_core_m4.o - 0x00001b34 _irq_set + 0x00001b1c 0x1c hpl/core/hpl_core_m4.o + 0x00001b1c _irq_set .text._get_cycles_for_us - 0x00001b50 0x18 hpl/core/hpl_core_m4.o - 0x00001b50 _get_cycles_for_us + 0x00001b38 0x18 hpl/core/hpl_core_m4.o + 0x00001b38 _get_cycles_for_us .text._get_cycles_for_ms - 0x00001b68 0x20 hpl/core/hpl_core_m4.o - 0x00001b68 _get_cycles_for_ms + 0x00001b50 0x20 hpl/core/hpl_core_m4.o + 0x00001b50 _get_cycles_for_ms .text._delay_init - 0x00001b88 0x2 hpl/core/hpl_core_m4.o - 0x00001b88 _delay_init - *fill* 0x00001b8a 0x6 + 0x00001b70 0x2 hpl/core/hpl_core_m4.o + 0x00001b70 _delay_init + *fill* 0x00001b72 0x6 .text._delay_cycles - 0x00001b90 0x8 hpl/core/hpl_core_m4.o - 0x00001b90 _delay_cycles + 0x00001b78 0x8 hpl/core/hpl_core_m4.o + 0x00001b78 _delay_cycles .text._init_chip - 0x00001b98 0x40 hpl/core/hpl_init.o - 0x00001b98 _init_chip + 0x00001b80 0x40 hpl/core/hpl_init.o + 0x00001b80 _init_chip .text._gclk_init_generators_by_fref - 0x00001bd8 0x24 hpl/gclk/hpl_gclk.o - 0x00001bd8 _gclk_init_generators_by_fref + 0x00001bc0 0x24 hpl/gclk/hpl_gclk.o + 0x00001bc0 _gclk_init_generators_by_fref .text._mclk_init - 0x00001bfc 0xc hpl/mclk/hpl_mclk.o - 0x00001bfc _mclk_init + 0x00001be4 0xc hpl/mclk/hpl_mclk.o + 0x00001be4 _mclk_init .text._osc32kctrl_init_sources - 0x00001c08 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o - 0x00001c08 _osc32kctrl_init_sources + 0x00001bf0 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o + 0x00001bf0 _osc32kctrl_init_sources .text._oscctrl_init_sources - 0x00001c28 0x2 hpl/oscctrl/hpl_oscctrl.o - 0x00001c28 _oscctrl_init_sources - *fill* 0x00001c2a 0x2 + 0x00001c10 0x2 hpl/oscctrl/hpl_oscctrl.o + 0x00001c10 _oscctrl_init_sources + *fill* 0x00001c12 0x2 .text._oscctrl_init_referenced_generators - 0x00001c2c 0x44 hpl/oscctrl/hpl_oscctrl.o - 0x00001c2c _oscctrl_init_referenced_generators + 0x00001c14 0x44 hpl/oscctrl/hpl_oscctrl.o + 0x00001c14 _oscctrl_init_referenced_generators .text.RAMECC_Handler - 0x00001c70 0x44 hpl/ramecc/hpl_ramecc.o - 0x00001c70 RAMECC_Handler + 0x00001c58 0x44 hpl/ramecc/hpl_ramecc.o + 0x00001c58 RAMECC_Handler .text._sercom_get_hardware_index - 0x00001cb4 0x44 hpl/sercom/hpl_sercom.o + 0x00001c9c 0x44 hpl/sercom/hpl_sercom.o .text._sercom_usart_interrupt_handler - 0x00001cf8 0x70 hpl/sercom/hpl_sercom.o + 0x00001ce0 0x70 hpl/sercom/hpl_sercom.o .text._sercom_get_irq_num - 0x00001d68 0x14 hpl/sercom/hpl_sercom.o + 0x00001d50 0x14 hpl/sercom/hpl_sercom.o .text._usart_init - 0x00001d7c 0xa0 hpl/sercom/hpl_sercom.o + 0x00001d64 0xa0 hpl/sercom/hpl_sercom.o .text._usart_async_init - 0x00001e1c 0x84 hpl/sercom/hpl_sercom.o - 0x00001e1c _usart_async_init + 0x00001e04 0x84 hpl/sercom/hpl_sercom.o + 0x00001e04 _usart_async_init .text._usart_async_enable - 0x00001ea0 0x14 hpl/sercom/hpl_sercom.o - 0x00001ea0 _usart_async_enable + 0x00001e88 0x14 hpl/sercom/hpl_sercom.o + 0x00001e88 _usart_async_enable .text._usart_async_write_byte - 0x00001eb4 0x6 hpl/sercom/hpl_sercom.o - 0x00001eb4 _usart_async_write_byte + 0x00001e9c 0x6 hpl/sercom/hpl_sercom.o + 0x00001e9c _usart_async_write_byte .text._usart_async_enable_byte_sent_irq - 0x00001eba 0x8 hpl/sercom/hpl_sercom.o - 0x00001eba _usart_async_enable_byte_sent_irq + 0x00001ea2 0x8 hpl/sercom/hpl_sercom.o + 0x00001ea2 _usart_async_enable_byte_sent_irq .text._usart_async_enable_tx_done_irq - 0x00001ec2 0x8 hpl/sercom/hpl_sercom.o - 0x00001ec2 _usart_async_enable_tx_done_irq - *fill* 0x00001eca 0x2 + 0x00001eaa 0x8 hpl/sercom/hpl_sercom.o + 0x00001eaa _usart_async_enable_tx_done_irq + *fill* 0x00001eb2 0x2 .text.SERCOM2_0_Handler - 0x00001ecc 0x14 hpl/sercom/hpl_sercom.o - 0x00001ecc SERCOM2_0_Handler + 0x00001eb4 0x14 hpl/sercom/hpl_sercom.o + 0x00001eb4 SERCOM2_0_Handler .text.SERCOM2_1_Handler - 0x00001ee0 0x14 hpl/sercom/hpl_sercom.o - 0x00001ee0 SERCOM2_1_Handler + 0x00001ec8 0x14 hpl/sercom/hpl_sercom.o + 0x00001ec8 SERCOM2_1_Handler .text.SERCOM2_2_Handler - 0x00001ef4 0x14 hpl/sercom/hpl_sercom.o - 0x00001ef4 SERCOM2_2_Handler + 0x00001edc 0x14 hpl/sercom/hpl_sercom.o + 0x00001edc SERCOM2_2_Handler .text.SERCOM2_3_Handler - 0x00001f08 0x14 hpl/sercom/hpl_sercom.o - 0x00001f08 SERCOM2_3_Handler + 0x00001ef0 0x14 hpl/sercom/hpl_sercom.o + 0x00001ef0 SERCOM2_3_Handler .text.get_tc_index - 0x00001f1c 0x60 hpl/tc/hpl_tc.o + 0x00001f04 0x60 hpl/tc/hpl_tc.o .text._timer_init - 0x00001f7c 0x1a8 hpl/tc/hpl_tc.o - 0x00001f7c _timer_init + 0x00001f64 0x1a8 hpl/tc/hpl_tc.o + 0x00001f64 _timer_init .text._timer_start - 0x00002124 0x14 hpl/tc/hpl_tc.o - 0x00002124 _timer_start + 0x0000210c 0x14 hpl/tc/hpl_tc.o + 0x0000210c _timer_start .text._timer_is_started - 0x00002138 0x12 hpl/tc/hpl_tc.o - 0x00002138 _timer_is_started + 0x00002120 0x12 hpl/tc/hpl_tc.o + 0x00002120 _timer_is_started .text._tc_get_timer - 0x0000214a 0x4 hpl/tc/hpl_tc.o - 0x0000214a _tc_get_timer - *fill* 0x0000214e 0x2 + 0x00002132 0x4 hpl/tc/hpl_tc.o + 0x00002132 _tc_get_timer + *fill* 0x00002136 0x2 .text._timer_set_irq - 0x00002150 0x40 hpl/tc/hpl_tc.o - 0x00002150 _timer_set_irq + 0x00002138 0x40 hpl/tc/hpl_tc.o + 0x00002138 _timer_set_irq .text.TC0_Handler - 0x00002190 0x20 hpl/tc/hpl_tc.o - 0x00002190 TC0_Handler - .text.main 0x000021b0 0x14 main.o - 0x000021b0 main + 0x00002178 0x20 hpl/tc/hpl_tc.o + 0x00002178 TC0_Handler + .text.main 0x00002198 0x14 main.o + 0x00002198 main .text.oracle_init - 0x000021c4 0xd4 oracle.o - 0x000021c4 oracle_init + 0x000021ac 0xd4 oracle.o + 0x000021ac oracle_init .text.oracle_service - 0x00002298 0x18 oracle.o - 0x00002298 oracle_service + 0x00002280 0x18 oracle.o + 0x00002280 oracle_service .text.lv_debug_check_null - 0x000022b0 0x8 thirdparty/lvgl/src/lv_core/lv_debug.o - 0x000022b0 lv_debug_check_null + 0x00002298 0x8 thirdparty/lvgl/src/lv_core/lv_debug.o + 0x00002298 lv_debug_check_null .text.lv_debug_log_error - 0x000022b8 0x94 thirdparty/lvgl/src/lv_core/lv_debug.o - 0x000022b8 lv_debug_log_error + 0x000022a0 0x94 thirdparty/lvgl/src/lv_core/lv_debug.o + 0x000022a0 lv_debug_log_error .text.lv_disp_get_scr_act - 0x0000234c 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o - 0x0000234c lv_disp_get_scr_act + 0x00002334 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x00002334 lv_disp_get_scr_act .text.lv_disp_get_layer_top - 0x0000238c 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o - 0x0000238c lv_disp_get_layer_top + 0x00002374 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x00002374 lv_disp_get_layer_top .text.lv_disp_get_layer_sys - 0x000023cc 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o - 0x000023cc lv_disp_get_layer_sys + 0x000023b4 0x40 thirdparty/lvgl/src/lv_core/lv_disp.o + 0x000023b4 lv_disp_get_layer_sys .text.obj_to_foreground - 0x0000240c 0x38 thirdparty/lvgl/src/lv_core/lv_group.o + 0x000023f4 0x38 thirdparty/lvgl/src/lv_core/lv_group.o .text.focus_next_core - 0x00002444 0xe4 thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000242c 0xe4 thirdparty/lvgl/src/lv_core/lv_group.o .text._lv_group_init - 0x00002528 0x14 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002528 _lv_group_init + 0x00002510 0x14 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002510 _lv_group_init .text.lv_group_focus_next - 0x0000253c 0x18 thirdparty/lvgl/src/lv_core/lv_group.o - 0x0000253c lv_group_focus_next + 0x00002524 0x18 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002524 lv_group_focus_next .text.lv_group_focus_prev - 0x00002554 0x18 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002554 lv_group_focus_prev + 0x0000253c 0x18 thirdparty/lvgl/src/lv_core/lv_group.o + 0x0000253c lv_group_focus_prev .text.lv_group_refocus - 0x0000256c 0x30 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002554 0x30 thirdparty/lvgl/src/lv_core/lv_group.o .text.lv_group_add_obj - 0x0000259c 0xdc thirdparty/lvgl/src/lv_core/lv_group.o - 0x0000259c lv_group_add_obj + 0x00002584 0xdc thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002584 lv_group_add_obj .text.lv_group_remove_obj - 0x00002678 0xd0 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002678 lv_group_remove_obj + 0x00002660 0xd0 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002660 lv_group_remove_obj .text.lv_group_get_focused - 0x00002748 0x12 thirdparty/lvgl/src/lv_core/lv_group.o - 0x00002748 lv_group_get_focused + 0x00002730 0x12 thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002730 lv_group_get_focused .text.lv_group_get_editing - 0x0000275a 0xe thirdparty/lvgl/src/lv_core/lv_group.o - 0x0000275a lv_group_get_editing + 0x00002742 0xe thirdparty/lvgl/src/lv_core/lv_group.o + 0x00002742 lv_group_get_editing .text.lv_indev_get_act - 0x00002768 0xc thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002768 lv_indev_get_act + 0x00002750 0xc thirdparty/lvgl/src/lv_core/lv_indev.o + 0x00002750 lv_indev_get_act .text.lv_indev_reset - 0x00002774 0x7c thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002774 lv_indev_reset + 0x0000275c 0x7c thirdparty/lvgl/src/lv_core/lv_indev.o + 0x0000275c lv_indev_reset .text._lv_indev_init - 0x000027f0 0x10 thirdparty/lvgl/src/lv_core/lv_indev.o - 0x000027f0 _lv_indev_init + 0x000027d8 0x10 thirdparty/lvgl/src/lv_core/lv_indev.o + 0x000027d8 _lv_indev_init .text.lv_indev_get_obj_act - 0x00002800 0xc thirdparty/lvgl/src/lv_core/lv_indev.o - 0x00002800 lv_indev_get_obj_act + 0x000027e8 0xc thirdparty/lvgl/src/lv_core/lv_indev.o + 0x000027e8 lv_indev_get_obj_act .text.refresh_children_position - 0x0000280c 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - .text.lv_init 0x00002868 0xe4 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002868 lv_init + 0x000027f4 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + .text.lv_init 0x00002850 0xe4 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002850 lv_init .text.lv_obj_set_adv_hittest - 0x0000294c 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000294c lv_obj_set_adv_hittest + 0x00002934 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002934 lv_obj_set_adv_hittest .text.lv_obj_set_click - 0x000029a0 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000029a0 lv_obj_set_click + 0x00002988 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002988 lv_obj_set_click .text.lv_event_send_func - 0x000029f4 0xd8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000029f4 lv_event_send_func + 0x000029dc 0xd8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000029dc lv_event_send_func .text.lv_event_send - 0x00002acc 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002acc lv_event_send + 0x00002ab4 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002ab4 lv_event_send .text.lv_obj_set_signal_cb - 0x00002b2c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002b2c lv_obj_set_signal_cb + 0x00002b14 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002b14 lv_obj_set_signal_cb .text.lv_signal_send - 0x00002b74 0x14 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002b74 lv_signal_send + 0x00002b5c 0x14 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002b5c lv_signal_send .text.lv_obj_set_design_cb - 0x00002b88 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002b88 lv_obj_set_design_cb + 0x00002b70 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002b70 lv_obj_set_design_cb .text.lv_obj_allocate_ext_attr - 0x00002bd0 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002bd0 lv_obj_allocate_ext_attr + 0x00002bb8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002bb8 lv_obj_allocate_ext_attr .text.lv_obj_refresh_ext_draw_pad - 0x00002c2c 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002c2c lv_obj_refresh_ext_draw_pad + 0x00002c14 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002c14 lv_obj_refresh_ext_draw_pad .text.lv_obj_get_parent - 0x00002c7c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002c7c lv_obj_get_parent + 0x00002c64 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002c64 lv_obj_get_parent .text.lv_obj_get_screen - 0x00002cc4 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002cc4 lv_obj_get_screen + 0x00002cac 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002cac lv_obj_get_screen .text.lv_obj_get_disp - 0x00002d20 0xc0 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002d20 lv_obj_get_disp + 0x00002d08 0xc0 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002d08 lv_obj_get_disp .text.lv_obj_get_child - 0x00002de0 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002de0 lv_obj_get_child + 0x00002dc8 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002dc8 lv_obj_get_child .text.lv_obj_get_coords - 0x00002e40 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002e40 lv_obj_get_coords + 0x00002e28 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002e28 lv_obj_get_coords .text.lv_obj_get_x - 0x00002e9c 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002e9c lv_obj_get_x + 0x00002e84 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002e84 lv_obj_get_x .text.lv_obj_get_y - 0x00002efc 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002efc lv_obj_get_y + 0x00002ee4 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002ee4 lv_obj_get_y .text.lv_obj_get_width - 0x00002f5c 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002f5c lv_obj_get_width + 0x00002f44 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002f44 lv_obj_get_width .text.lv_obj_get_height - 0x00002fac 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002fac lv_obj_get_height + 0x00002f94 0x50 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002f94 lv_obj_get_height .text.lv_obj_get_style_list - 0x00002ffc 0x2c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00002ffc lv_obj_get_style_list + 0x00002fe4 0x2c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00002fe4 lv_obj_get_style_list .text.trans_del - 0x00003028 0xa4 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003010 0xa4 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_clean_style_list - 0x000030cc 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000030cc lv_obj_clean_style_list + 0x000030b4 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000030b4 lv_obj_clean_style_list .text.trans_anim_ready_cb - 0x00003120 0x84 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003108 0x84 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_hidden - 0x000031a4 0x4c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000031a4 lv_obj_get_hidden + 0x0000318c 0x4c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000318c lv_obj_get_hidden .text.lv_obj_invalidate_area - 0x000031f0 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000031f0 lv_obj_invalidate_area + 0x000031d8 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000031d8 lv_obj_invalidate_area .text.lv_obj_invalidate - 0x00003320 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003320 lv_obj_invalidate + 0x00003308 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003308 lv_obj_invalidate .text.lv_obj_move_foreground - 0x000033b4 0x88 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000033b4 lv_obj_move_foreground + 0x0000339c 0x88 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000339c lv_obj_move_foreground .text.lv_obj_set_pos - 0x0000343c 0xec thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000343c lv_obj_set_pos + 0x00003424 0xec thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003424 lv_obj_set_pos .text.lv_obj_set_x - 0x00003528 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003528 lv_obj_set_x + 0x00003510 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003510 lv_obj_set_x .text.lv_obj_set_y - 0x00003588 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003588 lv_obj_set_y + 0x00003570 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003570 lv_obj_set_y .text.lv_obj_align - 0x000035e8 0xe8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000035e8 lv_obj_align + 0x000035d0 0xe8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000035d0 lv_obj_align .text.lv_obj_align_origo - 0x000036d0 0x310 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000036d0 lv_obj_align_origo + 0x000036b8 0x310 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000036b8 lv_obj_align_origo .text.lv_obj_realign - 0x000039e0 0x70 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000039e0 lv_obj_realign + 0x000039c8 0x70 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000039c8 lv_obj_realign .text.refresh_children_style - 0x00003a50 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003a38 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_refresh_style - 0x00003a98 0x104 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003a98 lv_obj_refresh_style + 0x00003a80 0x104 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003a80 lv_obj_refresh_style .text.lv_obj_reset_style_list - 0x00003b9c 0x1c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003b9c lv_obj_reset_style_list + 0x00003b84 0x1c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003b84 lv_obj_reset_style_list .text.report_style_mod_core - 0x00003bb8 0x9c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003ba0 0x9c thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_report_style_mod - 0x00003c54 0x58 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003c54 lv_obj_report_style_mod + 0x00003c3c 0x58 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003c3c lv_obj_report_style_mod .text.trans_anim_cb - 0x00003cac 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003c94 0x130 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_get_base_dir - 0x00003ddc 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003ddc lv_obj_get_base_dir + 0x00003dc4 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003dc4 lv_obj_get_base_dir .text.lv_obj_create - 0x00003e24 0x47c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00003e24 lv_obj_create + 0x00003e0c 0x47c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00003e0c lv_obj_create .text.lv_obj_set_size - 0x000042a0 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000042a0 lv_obj_set_size + 0x00004288 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004288 lv_obj_set_size .text.lv_obj_set_height - 0x000043b4 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000043b4 lv_obj_set_height + 0x0000439c 0x60 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000439c lv_obj_set_height .text.lv_obj_is_protected - 0x00004414 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004414 lv_obj_is_protected + 0x000043fc 0x54 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000043fc lv_obj_is_protected .text.lv_obj_get_state - 0x00004468 0x6c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004468 lv_obj_get_state + 0x00004450 0x6c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004450 lv_obj_get_state .text._lv_obj_get_style_int - 0x000044d4 0xac thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000044d4 _lv_obj_get_style_int + 0x000044bc 0xac thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000044bc _lv_obj_get_style_int .text._lv_obj_get_style_color - 0x00004580 0x8c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004580 _lv_obj_get_style_color + 0x00004568 0x8c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004568 _lv_obj_get_style_color .text._lv_obj_get_style_opa - 0x0000460c 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x0000460c _lv_obj_get_style_opa + 0x000045f4 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000045f4 _lv_obj_get_style_opa .text._lv_obj_get_style_ptr - 0x000046a0 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000046a0 _lv_obj_get_style_ptr + 0x00004688 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004688 _lv_obj_get_style_ptr .text.trans_anim_start_cb - 0x00004740 0x74 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004728 0x74 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_set_state - 0x000047b4 0x4e8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000047b4 lv_obj_set_state + 0x0000479c 0x4e8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000479c lv_obj_set_state .text.lv_obj_add_state - 0x00004c9c 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004c9c lv_obj_add_state + 0x00004c84 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004c84 lv_obj_add_state .text.lv_obj_clear_state - 0x00004cf8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004cf8 lv_obj_clear_state + 0x00004ce0 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004ce0 lv_obj_clear_state .text.lv_obj_get_signal_cb - 0x00004d54 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004d54 lv_obj_get_signal_cb + 0x00004d3c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004d3c lv_obj_get_signal_cb .text.lv_obj_get_ext_attr - 0x00004d9c 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004d9c lv_obj_get_ext_attr + 0x00004d84 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004d84 lv_obj_get_ext_attr .text.lv_obj_get_group - 0x00004de4 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004de4 lv_obj_get_group + 0x00004dcc 0x48 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004dcc lv_obj_get_group .text.obj_del_core - 0x00004e2c 0x138 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004e14 0x138 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_del - 0x00004f64 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004f64 lv_obj_del + 0x00004f4c 0x94 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004f4c lv_obj_del .text.lv_obj_is_focused - 0x00004ff8 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00004ff8 lv_obj_is_focused + 0x00004fe0 0x5c thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00004fe0 lv_obj_is_focused .text.lv_obj_is_point_on_coords - 0x00005054 0x40 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005054 lv_obj_is_point_on_coords + 0x0000503c 0x40 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000503c lv_obj_is_point_on_coords .text.lv_obj_handle_get_type_signal - 0x00005094 0x2e thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005094 lv_obj_handle_get_type_signal - *fill* 0x000050c2 0x2 + 0x0000507c 0x2e thirdparty/lvgl/src/lv_core/lv_obj.o + 0x0000507c lv_obj_handle_get_type_signal + *fill* 0x000050aa 0x2 .text.lv_obj_init_draw_rect_dsc - 0x000050c4 0x364 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000050c4 lv_obj_init_draw_rect_dsc + 0x000050ac 0x364 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000050ac lv_obj_init_draw_rect_dsc .text.lv_obj_design - 0x00005428 0x288 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005410 0x288 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_obj_init_draw_label_dsc - 0x000056b0 0xb8 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x000056b0 lv_obj_init_draw_label_dsc + 0x00005698 0xb8 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005698 lv_obj_init_draw_label_dsc .text.lv_obj_init_draw_img_dsc - 0x00005768 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005768 lv_obj_init_draw_img_dsc + 0x00005750 0xa0 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x00005750 lv_obj_init_draw_img_dsc .text.lv_obj_get_draw_rect_ext_pad_size - 0x00005808 0x1fc thirdparty/lvgl/src/lv_core/lv_obj.o - 0x00005808 lv_obj_get_draw_rect_ext_pad_size + 0x000057f0 0x1fc thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000057f0 lv_obj_get_draw_rect_ext_pad_size .text.lv_obj_signal - 0x00005a04 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000059ec 0x114 thirdparty/lvgl/src/lv_core/lv_obj.o .text.lv_refr_get_top_obj - 0x00005b18 0x98 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005b00 0x98 thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_obj - 0x00005bb0 0x104 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005b98 0x104 thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_obj_and_children - 0x00005cb4 0x8c thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005c9c 0x8c thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_vdb_flush - 0x00005d40 0x78 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005d28 0x78 thirdparty/lvgl/src/lv_core/lv_refr.o .text.lv_refr_area_part - 0x00005db8 0x9c thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005da0 0x9c thirdparty/lvgl/src/lv_core/lv_refr.o .text._lv_refr_init - 0x00005e54 0x2 thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00005e54 _lv_refr_init - *fill* 0x00005e56 0x2 + 0x00005e3c 0x2 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005e3c _lv_refr_init + *fill* 0x00005e3e 0x2 .text._lv_inv_area - 0x00005e58 0x110 thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00005e58 _lv_inv_area + 0x00005e40 0x110 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005e40 _lv_inv_area .text._lv_refr_get_disp_refreshing - 0x00005f68 0xc thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00005f68 _lv_refr_get_disp_refreshing + 0x00005f50 0xc thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005f50 _lv_refr_get_disp_refreshing .text._lv_disp_refr_task - 0x00005f74 0x564 thirdparty/lvgl/src/lv_core/lv_refr.o - 0x00005f74 _lv_disp_refr_task + 0x00005f5c 0x564 thirdparty/lvgl/src/lv_core/lv_refr.o + 0x00005f5c _lv_disp_refr_task .text.lv_style_init - 0x000064d8 0x10 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000064d8 lv_style_init + 0x000064c0 0x10 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000064c0 lv_style_init .text.lv_style_list_init - 0x000064e8 0x10 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000064e8 lv_style_list_init + 0x000064d0 0x10 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000064d0 lv_style_list_init .text._lv_style_list_remove_style - 0x000064f8 0xe0 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000064f8 _lv_style_list_remove_style + 0x000064e0 0xe0 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000064e0 _lv_style_list_remove_style .text._lv_style_list_add_style - 0x000065d8 0xd4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000065d8 _lv_style_list_add_style + 0x000065c0 0xd4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000065c0 _lv_style_list_add_style .text.get_alloc_local_style - 0x000066ac 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006694 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o .text.lv_style_reset - 0x00006764 0x14 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006764 lv_style_reset + 0x0000674c 0x14 thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000674c lv_style_reset .text._lv_style_get_mem_size - 0x00006778 0x3e thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006778 _lv_style_get_mem_size - *fill* 0x000067b6 0x2 + 0x00006760 0x3e thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006760 _lv_style_get_mem_size + *fill* 0x0000679e 0x2 .text.lv_style_copy - 0x000067b8 0x34 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000067b8 lv_style_copy + 0x000067a0 0x34 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000067a0 lv_style_copy .text.lv_style_remove_prop - 0x000067ec 0xf4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000067ec lv_style_remove_prop + 0x000067d4 0xf4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000067d4 lv_style_remove_prop .text._lv_style_set_int - 0x000068e0 0x144 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000068e0 _lv_style_set_int + 0x000068c8 0x144 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000068c8 _lv_style_set_int .text._lv_style_set_color - 0x00006a24 0x144 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006a24 _lv_style_set_color + 0x00006a0c 0x144 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006a0c _lv_style_set_color .text._lv_style_set_opa - 0x00006b68 0x130 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006b68 _lv_style_set_opa + 0x00006b50 0x130 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006b50 _lv_style_set_opa .text._lv_style_set_ptr - 0x00006c98 0x15c thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006c98 _lv_style_set_ptr + 0x00006c80 0x15c thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006c80 _lv_style_set_ptr .text._lv_style_get_int - 0x00006df4 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006df4 _lv_style_get_int + 0x00006ddc 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006ddc _lv_style_get_int .text._lv_style_get_opa - 0x00006eaa 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006eaa _lv_style_get_opa + 0x00006e92 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006e92 _lv_style_get_opa .text._lv_style_get_color - 0x00006f5a 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00006f5a _lv_style_get_color + 0x00006f42 0xb6 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006f42 _lv_style_get_color .text._lv_style_get_ptr - 0x00007010 0xbc thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007010 _lv_style_get_ptr + 0x00006ff8 0xbc thirdparty/lvgl/src/lv_core/lv_style.o + 0x00006ff8 _lv_style_get_ptr .text.lv_style_list_get_local_style - 0x000070cc 0x1a thirdparty/lvgl/src/lv_core/lv_style.o - 0x000070cc lv_style_list_get_local_style + 0x000070b4 0x1a thirdparty/lvgl/src/lv_core/lv_style.o + 0x000070b4 lv_style_list_get_local_style .text._lv_style_list_get_transition_style - 0x000070e6 0x10 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000070e6 _lv_style_list_get_transition_style - *fill* 0x000070f6 0x2 + 0x000070ce 0x10 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000070ce _lv_style_list_get_transition_style + *fill* 0x000070de 0x2 .text._lv_style_list_reset - 0x000070f8 0x70 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000070f8 _lv_style_list_reset + 0x000070e0 0x70 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000070e0 _lv_style_list_reset .text.lv_style_list_copy - 0x00007168 0xcc thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007168 lv_style_list_copy + 0x00007150 0xcc thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007150 lv_style_list_copy .text._lv_style_list_add_trans_style - 0x00007234 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007234 _lv_style_list_add_trans_style + 0x0000721c 0xb0 thirdparty/lvgl/src/lv_core/lv_style.o + 0x0000721c _lv_style_list_add_trans_style .text._lv_style_list_get_int - 0x000072e4 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000072e4 _lv_style_list_get_int + 0x000072cc 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x000072cc _lv_style_list_get_int .text._lv_style_list_get_color - 0x000073a8 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x000073a8 _lv_style_list_get_color + 0x00007390 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007390 _lv_style_list_get_color .text._lv_style_list_get_opa - 0x0000746c 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o - 0x0000746c _lv_style_list_get_opa + 0x00007454 0xc4 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007454 _lv_style_list_get_opa .text._lv_style_list_get_ptr - 0x00007530 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o - 0x00007530 _lv_style_list_get_ptr + 0x00007518 0xb8 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00007518 _lv_style_list_get_ptr .text.color_blend_true_color_additive - 0x000075e8 0xb6 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x000075d0 0xb6 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .text.color_blend_true_color_subtractive - 0x0000769e 0xb2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00007686 0xb2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .text._lv_blend_fill - 0x00007750 0xb30 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - 0x00007750 _lv_blend_fill + 0x00007738 0xb30 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00007738 _lv_blend_fill .text._lv_blend_map - 0x00008280 0xb4c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - 0x00008280 _lv_blend_map + 0x00008268 0xb4c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + 0x00008268 _lv_blend_map .text.lv_draw_map - 0x00008dcc 0x828 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00008db4 0x828 thirdparty/lvgl/src/lv_draw/lv_draw_img.o .text.show_error - 0x000095f4 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000095dc 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_img.o .text.lv_draw_img_dsc_init - 0x00009644 0x3c thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009644 lv_draw_img_dsc_init + 0x0000962c 0x3c thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x0000962c lv_draw_img_dsc_init .text.lv_img_cf_get_px_size - 0x00009680 0x32 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009680 lv_img_cf_get_px_size + 0x00009668 0x32 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00009668 lv_img_cf_get_px_size .text.lv_img_cf_is_chroma_keyed - 0x000096b2 0x14 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x000096b2 lv_img_cf_is_chroma_keyed + 0x0000969a 0x14 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x0000969a lv_img_cf_is_chroma_keyed .text.lv_img_cf_has_alpha - 0x000096c6 0x20 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x000096c6 lv_img_cf_has_alpha - *fill* 0x000096e6 0x2 + 0x000096ae 0x20 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000096ae lv_img_cf_has_alpha + *fill* 0x000096ce 0x2 .text.lv_draw_img - 0x000096e8 0x280 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x000096e8 lv_draw_img + 0x000096d0 0x280 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x000096d0 lv_draw_img .text.lv_img_src_get_type - 0x00009968 0x22 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - 0x00009968 lv_img_src_get_type + 0x00009950 0x22 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + 0x00009950 lv_img_src_get_type .text.hex_char_to_num - 0x0000998a 0x42 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00009972 0x42 thirdparty/lvgl/src/lv_draw/lv_draw_label.o .text.lv_draw_label_dsc_init - 0x000099cc 0x58 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x000099cc lv_draw_label_dsc_init + 0x000099b4 0x58 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x000099b4 lv_draw_label_dsc_init .text.lv_draw_label - 0x00009a24 0xebc thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x00009a24 lv_draw_label + 0x00009a0c 0xebc thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00009a0c lv_draw_label .text.lv_draw_line_dsc_init - 0x0000a8e0 0x30 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - 0x0000a8e0 lv_draw_line_dsc_init + 0x0000a8c8 0x30 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x0000a8c8 lv_draw_line_dsc_init .text.lv_draw_line - 0x0000a910 0x910 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - 0x0000a910 lv_draw_line + 0x0000a8f8 0x910 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + 0x0000a8f8 lv_draw_line .text.lv_draw_mask_line - 0x0000b220 0x5ac thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000b208 0x5ac thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .text.lv_draw_mask_radius - 0x0000b7cc 0x5f4 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000b7b4 0x5f4 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .text.lv_draw_mask_add - 0x0000bdc0 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000bdc0 lv_draw_mask_add + 0x0000bda8 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000bda8 lv_draw_mask_add .text.lv_draw_mask_apply - 0x0000be1c 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000be1c lv_draw_mask_apply + 0x0000be04 0x50 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000be04 lv_draw_mask_apply .text.lv_draw_mask_remove_id - 0x0000be6c 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000be6c lv_draw_mask_remove_id + 0x0000be54 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000be54 lv_draw_mask_remove_id .text.lv_draw_mask_remove_custom - 0x0000be90 0x34 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000be90 lv_draw_mask_remove_custom + 0x0000be78 0x34 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000be78 lv_draw_mask_remove_custom .text.lv_draw_mask_get_cnt - 0x0000bec4 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000bec4 lv_draw_mask_get_cnt + 0x0000beac 0x24 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000beac lv_draw_mask_get_cnt .text.lv_draw_mask_line_points_init - 0x0000bee8 0x144 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000bee8 lv_draw_mask_line_points_init + 0x0000bed0 0x144 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000bed0 lv_draw_mask_line_points_init .text.lv_draw_mask_radius_init - 0x0000c02c 0x60 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - 0x0000c02c lv_draw_mask_radius_init + 0x0000c014 0x60 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x0000c014 lv_draw_mask_radius_init .text.shadow_blur_corner - 0x0000c08c 0x1dc thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000c074 0x1dc thirdparty/lvgl/src/lv_draw/lv_draw_rect.o .text.lv_draw_rect_dsc_init - 0x0000c268 0xc8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - 0x0000c268 lv_draw_rect_dsc_init + 0x0000c250 0xc8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000c250 lv_draw_rect_dsc_init .text.lv_draw_rect - 0x0000c330 0x25e8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - 0x0000c330 lv_draw_rect + 0x0000c318 0x25e8 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + 0x0000c318 lv_draw_rect .text.lv_img_buf_get_px_color - 0x0000e918 0x130 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000e918 lv_img_buf_get_px_color + 0x0000e900 0x130 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000e900 lv_img_buf_get_px_color .text.lv_img_buf_get_px_alpha - 0x0000ea48 0x104 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000ea48 lv_img_buf_get_px_alpha + 0x0000ea30 0x104 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000ea30 lv_img_buf_get_px_alpha .text._lv_img_buf_transform_init - 0x0000eb4c 0x118 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000eb4c _lv_img_buf_transform_init + 0x0000eb34 0x118 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000eb34 _lv_img_buf_transform_init .text._lv_img_buf_get_transformed_area - 0x0000ec64 0x198 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000ec64 _lv_img_buf_get_transformed_area + 0x0000ec4c 0x198 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000ec4c _lv_img_buf_get_transformed_area .text._lv_img_buf_transform_anti_alias - 0x0000edfc 0x404 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - 0x0000edfc _lv_img_buf_transform_anti_alias + 0x0000ede4 0x404 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + 0x0000ede4 _lv_img_buf_transform_anti_alias .text._lv_img_cache_open - 0x0000f200 0x1c4 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000f200 _lv_img_cache_open + 0x0000f1e8 0x1c4 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000f1e8 _lv_img_cache_open .text.lv_img_cache_invalidate_src - 0x0000f3c4 0x68 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000f3c4 lv_img_cache_invalidate_src + 0x0000f3ac 0x68 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000f3ac lv_img_cache_invalidate_src .text.lv_img_cache_set_size - 0x0000f42c 0xc0 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - 0x0000f42c lv_img_cache_set_size + 0x0000f414 0xc0 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x0000f414 lv_img_cache_set_size .text.lv_img_decoder_built_in_info - 0x0000f4ec 0xfc thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000f4ec lv_img_decoder_built_in_info + 0x0000f4d4 0xfc thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f4d4 lv_img_decoder_built_in_info .text.lv_img_decoder_built_in_close - 0x0000f5e8 0x3c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000f5e8 lv_img_decoder_built_in_close + 0x0000f5d0 0x3c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f5d0 lv_img_decoder_built_in_close .text.lv_img_decoder_built_in_open - 0x0000f624 0x3a0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000f624 lv_img_decoder_built_in_open + 0x0000f60c 0x3a0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f60c lv_img_decoder_built_in_open .text.lv_img_decoder_built_in_read_line - 0x0000f9c4 0x428 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000f9c4 lv_img_decoder_built_in_read_line + 0x0000f9ac 0x428 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000f9ac lv_img_decoder_built_in_read_line .text.lv_img_decoder_get_info - 0x0000fdec 0x5c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000fdec lv_img_decoder_get_info + 0x0000fdd4 0x5c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000fdd4 lv_img_decoder_get_info .text.lv_img_decoder_open - 0x0000fe48 0xc8 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000fe48 lv_img_decoder_open + 0x0000fe30 0xc8 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000fe30 lv_img_decoder_open .text.lv_img_decoder_read_line - 0x0000ff10 0x24 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000ff10 lv_img_decoder_read_line + 0x0000fef8 0x24 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000fef8 lv_img_decoder_read_line .text.lv_img_decoder_close - 0x0000ff34 0x2c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000ff34 lv_img_decoder_close + 0x0000ff1c 0x2c thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ff1c lv_img_decoder_close .text.lv_img_decoder_create - 0x0000ff60 0x60 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000ff60 lv_img_decoder_create + 0x0000ff48 0x60 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ff48 lv_img_decoder_create .text._lv_img_decoder_init - 0x0000ffc0 0x90 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - 0x0000ffc0 _lv_img_decoder_init + 0x0000ffa8 0x90 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x0000ffa8 _lv_img_decoder_init .text.lv_font_get_glyph_bitmap - 0x00010050 0x8 thirdparty/lvgl/src/lv_font/lv_font.o - 0x00010050 lv_font_get_glyph_bitmap + 0x00010038 0x8 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00010038 lv_font_get_glyph_bitmap .text.lv_font_get_glyph_dsc - 0x00010058 0x8 thirdparty/lvgl/src/lv_font/lv_font.o - 0x00010058 lv_font_get_glyph_dsc + 0x00010040 0x8 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00010040 lv_font_get_glyph_dsc .text.lv_font_get_glyph_width - 0x00010060 0x20 thirdparty/lvgl/src/lv_font/lv_font.o - 0x00010060 lv_font_get_glyph_width + 0x00010048 0x20 thirdparty/lvgl/src/lv_font/lv_font.o + 0x00010048 lv_font_get_glyph_width .text.kern_pair_8_compare - 0x00010080 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010068 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.kern_pair_16_compare - 0x00010092 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0001007a 0x12 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.unicode_list_compare - 0x000100a4 0x8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x0001008c 0x8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.get_glyph_dsc_id - 0x000100ac 0xec thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010094 0xec thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o .text.lv_font_get_bitmap_fmt_txt - 0x00010198 0xa0c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x00010198 lv_font_get_bitmap_fmt_txt + 0x00010180 0xa0c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010180 lv_font_get_bitmap_fmt_txt .text.lv_font_get_glyph_dsc_fmt_txt - 0x00010ba4 0x150 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x00010ba4 lv_font_get_glyph_dsc_fmt_txt + 0x00010b8c 0x150 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010b8c lv_font_get_glyph_dsc_fmt_txt .text._lv_font_clean_up_fmt_txt - 0x00010cf4 0x1c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - 0x00010cf4 _lv_font_clean_up_fmt_txt + 0x00010cdc 0x1c thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x00010cdc _lv_font_clean_up_fmt_txt .text.lv_disp_drv_init - 0x00010d10 0x60 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010d10 lv_disp_drv_init + 0x00010cf8 0x60 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010cf8 lv_disp_drv_init .text.lv_disp_buf_init - 0x00010d70 0x20 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010d70 lv_disp_buf_init + 0x00010d58 0x20 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010d58 lv_disp_buf_init .text.lv_disp_drv_register - 0x00010d90 0x150 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010d90 lv_disp_drv_register + 0x00010d78 0x150 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010d78 lv_disp_drv_register .text.lv_disp_get_default - 0x00010ee0 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010ee0 lv_disp_get_default + 0x00010ec8 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010ec8 lv_disp_get_default .text.lv_disp_get_hor_res - 0x00010eec 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010eec lv_disp_get_hor_res + 0x00010ed4 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010ed4 lv_disp_get_hor_res .text.lv_disp_get_ver_res - 0x00010f14 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010f14 lv_disp_get_ver_res + 0x00010efc 0x28 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010efc lv_disp_get_ver_res .text.lv_disp_get_dpi - 0x00010f3c 0x1c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010f3c lv_disp_get_dpi + 0x00010f24 0x1c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010f24 lv_disp_get_dpi .text.lv_disp_get_size_category - 0x00010f58 0x54 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010f58 lv_disp_get_size_category + 0x00010f40 0x54 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010f40 lv_disp_get_size_category .text.lv_disp_flush_ready - 0x00010fac 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010fac lv_disp_flush_ready + 0x00010f94 0xc thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010f94 lv_disp_flush_ready .text.lv_disp_get_next - 0x00010fb8 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010fb8 lv_disp_get_next + 0x00010fa0 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fa0 lv_disp_get_next .text.lv_disp_get_buf - 0x00010fdc 0x4 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010fdc lv_disp_get_buf + 0x00010fc4 0x4 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fc4 lv_disp_get_buf .text.lv_disp_is_double_buf - 0x00010fe0 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010fe0 lv_disp_is_double_buf + 0x00010fc8 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fc8 lv_disp_is_double_buf .text.lv_disp_is_true_double_buf - 0x00010ff4 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - 0x00010ff4 lv_disp_is_true_double_buf + 0x00010fdc 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x00010fdc lv_disp_is_true_double_buf .text.lv_indev_get_next - 0x00011020 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - 0x00011020 lv_indev_get_next + 0x00011008 0x24 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + 0x00011008 lv_indev_get_next .text.lv_tick_inc - 0x00011044 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x00011044 lv_tick_inc + 0x0001102c 0x14 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x0001102c lv_tick_inc .text.lv_tick_get - 0x00011058 0x18 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x00011058 lv_tick_get + 0x00011040 0x18 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x00011040 lv_tick_get .text.lv_tick_elaps - 0x00011070 0x10 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - 0x00011070 lv_tick_elaps + 0x00011058 0x10 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + 0x00011058 lv_tick_elaps .text.lv_anim_path_linear - 0x00011080 0x24 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011080 lv_anim_path_linear + 0x00011068 0x24 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011068 lv_anim_path_linear .text.anim_mark_list_change - 0x000110a4 0x38 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0001108c 0x38 thirdparty/lvgl/src/lv_misc/lv_anim.o .text.anim_task - 0x000110dc 0x1c0 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000110c4 0x1c0 thirdparty/lvgl/src/lv_misc/lv_anim.o .text._lv_anim_core_init - 0x0001129c 0x48 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x0001129c _lv_anim_core_init + 0x00011284 0x48 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011284 _lv_anim_core_init .text.lv_anim_init - 0x000112e4 0x44 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x000112e4 lv_anim_init + 0x000112cc 0x44 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000112cc lv_anim_init .text.lv_anim_del - 0x00011328 0x78 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011328 lv_anim_del + 0x00011310 0x78 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011310 lv_anim_del .text.lv_anim_start - 0x000113a0 0xb4 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x000113a0 lv_anim_start + 0x00011388 0xb4 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011388 lv_anim_start .text.lv_anim_get - 0x00011454 0x3c thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011454 lv_anim_get + 0x0001143c 0x3c thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x0001143c lv_anim_get .text.lv_anim_speed_to_time - 0x00011490 0x28 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00011490 lv_anim_speed_to_time + 0x00011478 0x28 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00011478 lv_anim_speed_to_time .text.lv_point_within_circle - 0x000114b8 0x3a thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000114a0 0x3a thirdparty/lvgl/src/lv_misc/lv_area.o .text.lv_area_set_height - 0x000114f2 0xa thirdparty/lvgl/src/lv_misc/lv_area.o - 0x000114f2 lv_area_set_height + 0x000114da 0xa thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000114da lv_area_set_height .text.lv_area_get_size - 0x000114fc 0x1c thirdparty/lvgl/src/lv_misc/lv_area.o - 0x000114fc lv_area_get_size + 0x000114e4 0x1c thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000114e4 lv_area_get_size .text._lv_area_intersect - 0x00011518 0x56 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011518 _lv_area_intersect + 0x00011500 0x56 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011500 _lv_area_intersect .text._lv_area_join - 0x0001156e 0x48 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0001156e _lv_area_join - *fill* 0x000115b6 0x2 + 0x00011556 0x48 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011556 _lv_area_join + *fill* 0x0001159e 0x2 .text._lv_area_is_point_on - 0x000115b8 0x170 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x000115b8 _lv_area_is_point_on + 0x000115a0 0x170 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x000115a0 _lv_area_is_point_on .text._lv_area_is_on - 0x00011728 0x42 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011728 _lv_area_is_on - *fill* 0x0001176a 0x2 + 0x00011710 0x42 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011710 _lv_area_is_on + *fill* 0x00011752 0x2 .text._lv_area_is_in - 0x0001176c 0xb8 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x0001176c _lv_area_is_in + 0x00011754 0xb8 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x00011754 _lv_area_is_in .text._lv_area_align - 0x00011824 0x316 thirdparty/lvgl/src/lv_misc/lv_area.o - 0x00011824 _lv_area_align + 0x0001180c 0x316 thirdparty/lvgl/src/lv_misc/lv_area.o + 0x0001180c _lv_area_align .text.lv_color_fill - 0x00011b3a 0x6c thirdparty/lvgl/src/lv_misc/lv_color.o - 0x00011b3a lv_color_fill + 0x00011b22 0x6c thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00011b22 lv_color_fill .text.lv_color_lighten - 0x00011ba6 0x5c thirdparty/lvgl/src/lv_misc/lv_color.o - 0x00011ba6 lv_color_lighten + 0x00011b8e 0x5c thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00011b8e lv_color_lighten .text.lv_color_darken - 0x00011c02 0x56 thirdparty/lvgl/src/lv_misc/lv_color.o - 0x00011c02 lv_color_darken + 0x00011bea 0x56 thirdparty/lvgl/src/lv_misc/lv_color.o + 0x00011bea lv_color_darken .text.lv_fs_get_real_path - 0x00011c58 0x1e thirdparty/lvgl/src/lv_misc/lv_fs.o - *fill* 0x00011c76 0x2 + 0x00011c40 0x1e thirdparty/lvgl/src/lv_misc/lv_fs.o + *fill* 0x00011c5e 0x2 .text._lv_fs_init - 0x00011c78 0x14 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011c78 _lv_fs_init + 0x00011c60 0x14 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011c60 _lv_fs_init .text.lv_fs_close - 0x00011c8c 0x30 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011c8c lv_fs_close + 0x00011c74 0x30 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011c74 lv_fs_close .text.lv_fs_read - 0x00011cbc 0x3c thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011cbc lv_fs_read + 0x00011ca4 0x3c thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011ca4 lv_fs_read .text.lv_fs_seek - 0x00011cf8 0x1c thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011cf8 lv_fs_seek + 0x00011ce0 0x1c thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011ce0 lv_fs_seek .text.lv_fs_get_drv - 0x00011d14 0x38 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011d14 lv_fs_get_drv + 0x00011cfc 0x38 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011cfc lv_fs_get_drv .text.lv_fs_open - 0x00011d4c 0xd4 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011d4c lv_fs_open + 0x00011d34 0xd4 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011d34 lv_fs_open .text.lv_fs_get_ext - 0x00011e20 0x58 thirdparty/lvgl/src/lv_misc/lv_fs.o - 0x00011e20 lv_fs_get_ext + 0x00011e08 0x58 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x00011e08 lv_fs_get_ext .text.node_set_next - 0x00011e78 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011e60 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o .text.node_set_prev - 0x00011eb8 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011ea0 0x40 thirdparty/lvgl/src/lv_misc/lv_ll.o .text._lv_ll_init - 0x00011ef8 0x16 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011ef8 _lv_ll_init - *fill* 0x00011f0e 0x2 + 0x00011ee0 0x16 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011ee0 _lv_ll_init + *fill* 0x00011ef6 0x2 .text._lv_ll_ins_head - 0x00011f10 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011f10 _lv_ll_ins_head + 0x00011ef8 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011ef8 _lv_ll_ins_head .text._lv_ll_ins_tail - 0x00011f5c 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011f5c _lv_ll_ins_tail + 0x00011f44 0x4c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011f44 _lv_ll_ins_tail .text._lv_ll_get_head - 0x00011fa8 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011fa8 _lv_ll_get_head + 0x00011f90 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011f90 _lv_ll_get_head .text._lv_ll_get_tail - 0x00011fb2 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011fb2 _lv_ll_get_tail + 0x00011f9a 0xa thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011f9a _lv_ll_get_tail .text._lv_ll_get_next - 0x00011fbc 0x2c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011fbc _lv_ll_get_next + 0x00011fa4 0x2c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011fa4 _lv_ll_get_next .text._lv_ll_get_prev - 0x00011fe8 0x2a thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00011fe8 _lv_ll_get_prev - *fill* 0x00012012 0x2 + 0x00011fd0 0x2a thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011fd0 _lv_ll_get_prev + *fill* 0x00011ffa 0x2 .text._lv_ll_ins_prev - 0x00012014 0x80 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012014 _lv_ll_ins_prev + 0x00011ffc 0x80 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00011ffc _lv_ll_ins_prev .text._lv_ll_remove - 0x00012094 0x8c thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012094 _lv_ll_remove + 0x0001207c 0x8c thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x0001207c _lv_ll_remove .text._lv_ll_chg_list - 0x00012120 0x74 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012120 _lv_ll_chg_list + 0x00012108 0x74 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x00012108 _lv_ll_chg_list .text._lv_ll_move_before - 0x00012194 0xb0 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012194 _lv_ll_move_before + 0x0001217c 0xb0 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x0001217c _lv_ll_move_before .text._lv_ll_is_empty - 0x00012244 0x18 thirdparty/lvgl/src/lv_misc/lv_ll.o - 0x00012244 _lv_ll_is_empty + 0x0001222c 0x18 thirdparty/lvgl/src/lv_misc/lv_ll.o + 0x0001222c _lv_ll_is_empty .text._lv_log_add - 0x0001225c 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o - 0x0001225c _lv_log_add + 0x00012244 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o + 0x00012244 _lv_log_add .text._lv_trigo_sin - 0x000122a4 0x78 thirdparty/lvgl/src/lv_misc/lv_math.o - 0x000122a4 _lv_trigo_sin + 0x0001228c 0x78 thirdparty/lvgl/src/lv_misc/lv_math.o + 0x0001228c _lv_trigo_sin .text._lv_sqrt - 0x0001231c 0x24 thirdparty/lvgl/src/lv_misc/lv_math.o - 0x0001231c _lv_sqrt + 0x00012304 0x24 thirdparty/lvgl/src/lv_misc/lv_math.o + 0x00012304 _lv_sqrt .text.ent_get_next - 0x00012340 0x28 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012328 0x28 thirdparty/lvgl/src/lv_misc/lv_mem.o .text.ent_trunc - 0x00012368 0x54 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012350 0x54 thirdparty/lvgl/src/lv_misc/lv_mem.o .text._lv_mem_init - 0x000123bc 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x000123bc _lv_mem_init + 0x000123a4 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000123a4 _lv_mem_init .text.lv_mem_alloc - 0x000123dc 0x84 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x000123dc lv_mem_alloc + 0x000123c4 0x84 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000123c4 lv_mem_alloc .text.lv_mem_defrag - 0x00012460 0x64 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012460 lv_mem_defrag + 0x00012448 0x64 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012448 lv_mem_defrag .text.lv_mem_free - 0x000124c4 0x8c thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x000124c4 lv_mem_free + 0x000124ac 0x8c thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000124ac lv_mem_free .text._lv_mem_get_size - 0x00012550 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012550 _lv_mem_get_size + 0x00012538 0x20 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012538 _lv_mem_get_size .text._lv_mem_buf_release - 0x00012570 0x88 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012570 _lv_mem_buf_release + 0x00012558 0x88 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012558 _lv_mem_buf_release .text._lv_mem_buf_free_all - 0x000125f8 0x5c thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x000125f8 _lv_mem_buf_free_all + 0x000125e0 0x5c thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x000125e0 _lv_mem_buf_free_all .text._lv_memcpy - 0x00012654 0x242 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012654 _lv_memcpy - *fill* 0x00012896 0x2 + 0x0001263c 0x242 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x0001263c _lv_memcpy + *fill* 0x0001287e 0x2 .text.lv_mem_realloc - 0x00012898 0xa4 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012898 lv_mem_realloc + 0x00012880 0xa4 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012880 lv_mem_realloc .text._lv_mem_buf_get - 0x0001293c 0x144 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x0001293c _lv_mem_buf_get + 0x00012924 0x144 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012924 _lv_mem_buf_get .text._lv_memset - 0x00012a80 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012a80 _lv_memset + 0x00012a68 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012a68 _lv_memset .text._lv_memset_00 - 0x00012b36 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012b36 _lv_memset_00 + 0x00012b1e 0xb6 thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012b1e _lv_memset_00 .text._lv_memset_ff - 0x00012bec 0xba thirdparty/lvgl/src/lv_misc/lv_mem.o - 0x00012bec _lv_memset_ff + 0x00012bd4 0xba thirdparty/lvgl/src/lv_misc/lv_mem.o + 0x00012bd4 _lv_memset_ff .text._out_buffer - 0x00012ca6 0x8 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012c8e 0x8 thirdparty/lvgl/src/lv_misc/lv_printf.o .text._out_null - 0x00012cae 0x2 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012c96 0x2 thirdparty/lvgl/src/lv_misc/lv_printf.o .text._ntoa_format - 0x00012cb0 0x1be thirdparty/lvgl/src/lv_misc/lv_printf.o - *fill* 0x00012e6e 0x2 + 0x00012c98 0x1be thirdparty/lvgl/src/lv_misc/lv_printf.o + *fill* 0x00012e56 0x2 .text._ntoa_long - 0x00012e70 0x84 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012e58 0x84 thirdparty/lvgl/src/lv_misc/lv_printf.o .text._ntoa_long_long - 0x00012ef4 0xbc thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012edc 0xbc thirdparty/lvgl/src/lv_misc/lv_printf.o .text._vsnprintf - 0x00012fb0 0x61c thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x00012f98 0x61c thirdparty/lvgl/src/lv_misc/lv_printf.o .text.lv_vsnprintf - 0x000135cc 0x20 thirdparty/lvgl/src/lv_misc/lv_printf.o - 0x000135cc lv_vsnprintf + 0x000135b4 0x20 thirdparty/lvgl/src/lv_misc/lv_printf.o + 0x000135b4 lv_vsnprintf .text._lv_task_core_init - 0x000135ec 0x24 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x000135ec _lv_task_core_init + 0x000135d4 0x24 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000135d4 _lv_task_core_init .text.lv_task_create_basic - 0x00013610 0x11c thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013610 lv_task_create_basic + 0x000135f8 0x11c thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000135f8 lv_task_create_basic .text.lv_task_del - 0x0001372c 0x40 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x0001372c lv_task_del + 0x00013714 0x40 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013714 lv_task_del .text.lv_task_exec - 0x0001376c 0x60 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013754 0x60 thirdparty/lvgl/src/lv_misc/lv_task.o .text.lv_task_handler - 0x000137cc 0x18c thirdparty/lvgl/src/lv_misc/lv_task.o - 0x000137cc lv_task_handler + 0x000137b4 0x18c thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000137b4 lv_task_handler .text.lv_task_set_prio - 0x00013958 0x8c thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013958 lv_task_set_prio + 0x00013940 0x8c thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013940 lv_task_set_prio .text.lv_task_create - 0x000139e4 0x70 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x000139e4 lv_task_create + 0x000139cc 0x70 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000139cc lv_task_create .text.lv_task_ready - 0x00013a54 0x18 thirdparty/lvgl/src/lv_misc/lv_task.o - 0x00013a54 lv_task_ready + 0x00013a3c 0x18 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x00013a3c lv_task_ready .text.lv_txt_utf8_size - 0x00013a6c 0x32 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013a54 0x32 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_unicode_to_utf8 - 0x00013a9e 0x9e thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013a86 0x9e thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_conv_wc - 0x00013b3c 0x40 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013b24 0x40 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_next - 0x00013b7c 0xfe thirdparty/lvgl/src/lv_misc/lv_txt.o - *fill* 0x00013c7a 0x2 + 0x00013b64 0xfe thirdparty/lvgl/src/lv_misc/lv_txt.o + *fill* 0x00013c62 0x2 .text.lv_txt_utf8_prev - 0x00013c7c 0x50 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013c64 0x50 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_byte_id - 0x00013ccc 0x38 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013cb4 0x38 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_char_id - 0x00013d04 0x30 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013cec 0x30 thirdparty/lvgl/src/lv_misc/lv_txt.o .text.lv_txt_utf8_get_length - 0x00013d34 0x34 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013d1c 0x34 thirdparty/lvgl/src/lv_misc/lv_txt.o .text._lv_txt_is_cmd - 0x00013d68 0x46 thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00013d68 _lv_txt_is_cmd - *fill* 0x00013dae 0x2 + 0x00013d50 0x46 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013d50 _lv_txt_is_cmd + *fill* 0x00013d96 0x2 .text._lv_txt_get_next_line - 0x00013db0 0x22c thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00013db0 _lv_txt_get_next_line + 0x00013d98 0x22c thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013d98 _lv_txt_get_next_line .text._lv_txt_get_width - 0x00013fdc 0xa0 thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x00013fdc _lv_txt_get_width + 0x00013fc4 0xa0 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00013fc4 _lv_txt_get_width .text._lv_txt_get_size - 0x0001407c 0x108 thirdparty/lvgl/src/lv_misc/lv_txt.o - 0x0001407c _lv_txt_get_size + 0x00014064 0x108 thirdparty/lvgl/src/lv_misc/lv_txt.o + 0x00014064 _lv_txt_get_size .text._lv_utils_bsearch - 0x00014184 0x4c thirdparty/lvgl/src/lv_misc/lv_utils.o - 0x00014184 _lv_utils_bsearch + 0x0001416c 0x4c thirdparty/lvgl/src/lv_misc/lv_utils.o + 0x0001416c _lv_utils_bsearch .text.lv_theme_set_act - 0x000141d0 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x000141d0 lv_theme_set_act + 0x000141b8 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x000141b8 lv_theme_set_act .text.lv_theme_get_font_normal - 0x000141dc 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x000141dc lv_theme_get_font_normal + 0x000141c4 0xc thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x000141c4 lv_theme_get_font_normal .text.lv_theme_apply - 0x000141e8 0x10 thirdparty/lvgl/src/lv_themes/lv_theme.o - 0x000141e8 lv_theme_apply + 0x000141d0 0x10 thirdparty/lvgl/src/lv_themes/lv_theme.o + 0x000141d0 lv_theme_apply .text.theme_apply - 0x000141f8 0x868 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x000141e0 0x868 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.style_init_reset - 0x00014a60 0x20 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00014a48 0x20 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.basic_init - 0x00014a80 0x1248 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00014a68 0x1248 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.bar_init - 0x00015cc8 0x168 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00015cb0 0x168 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.slider_init - 0x00015e30 0x2a4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00015e18 0x2a4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.switch_init - 0x000160d4 0x144 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x000160bc 0x144 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.linemeter_init - 0x00016218 0x23c thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016200 0x23c thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.gauge_init - 0x00016454 0x4e0 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001643c 0x4e0 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.arc_init - 0x00016934 0x110 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x0001691c 0x110 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.led_init - 0x00016a44 0x104 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016a2c 0x104 thirdparty/lvgl/src/lv_themes/lv_theme_material.o .text.lv_theme_material_init - 0x00016b48 0x25d4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - 0x00016b48 lv_theme_material_init + 0x00016b30 0x25d4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + 0x00016b30 lv_theme_material_init .text.lv_img_design - 0x0001911c 0x4a0 thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x00019104 0x4a0 thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_img_get_auto_size - 0x000195bc 0x54 thirdparty/lvgl/src/lv_widgets/lv_img.o - 0x000195bc lv_img_get_auto_size + 0x000195a4 0x54 thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x000195a4 lv_img_get_auto_size .text.lv_img_set_src - 0x00019610 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o - 0x00019610 lv_img_set_src + 0x000195f8 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x000195f8 lv_img_set_src .text.lv_img_create - 0x0001986c 0x1cc thirdparty/lvgl/src/lv_widgets/lv_img.o - 0x0001986c lv_img_create + 0x00019854 0x1cc thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x00019854 lv_img_create .text.lv_img_signal - 0x00019a38 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x00019a20 0x25c thirdparty/lvgl/src/lv_widgets/lv_img.o .text.lv_label_dot_tmp_free - 0x00019c94 0x30 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019c7c 0x30 thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_revert_dots - 0x00019cc4 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019cac 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_offset_y - 0x00019d50 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019d38 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_offset_x - 0x00019d6c 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019d54 0x1c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.get_txt_coords - 0x00019d88 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019d70 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_dot_tmp - 0x00019de4 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019dcc 0x8c thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_align - 0x00019e70 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019e70 lv_label_set_align + 0x00019e58 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019e58 lv_label_set_align .text.lv_label_get_text - 0x00019edc 0x50 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019edc lv_label_get_text + 0x00019ec4 0x50 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019ec4 lv_label_get_text .text.lv_label_get_long_mode - 0x00019f2c 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019f2c lv_label_get_long_mode + 0x00019f14 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019f14 lv_label_get_long_mode .text.lv_label_get_align - 0x00019f80 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019f80 lv_label_get_align + 0x00019f68 0x5c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019f68 lv_label_get_align .text.lv_label_get_recolor - 0x00019fdc 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x00019fdc lv_label_get_recolor + 0x00019fc4 0x54 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x00019fc4 lv_label_get_recolor .text.lv_label_get_letter_on - 0x0001a030 0x2d0 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a030 lv_label_get_letter_on + 0x0001a018 0x2d0 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a018 lv_label_get_letter_on .text.lv_label_refr_text - 0x0001a300 0x504 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a2e8 0x504 thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_set_text - 0x0001a804 0x148 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a804 lv_label_set_text + 0x0001a7ec 0x148 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a7ec lv_label_set_text .text.lv_label_set_text_static - 0x0001a94c 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a94c lv_label_set_text_static + 0x0001a934 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a934 lv_label_set_text_static .text.lv_label_set_long_mode - 0x0001a9cc 0xcc thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001a9cc lv_label_set_long_mode + 0x0001a9b4 0xcc thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001a9b4 lv_label_set_long_mode .text.lv_label_set_recolor - 0x0001aa98 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001aa98 lv_label_set_recolor + 0x0001aa80 0x6c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001aa80 lv_label_set_recolor .text.lv_label_create - 0x0001ab04 0x27c thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001ab04 lv_label_create + 0x0001aaec 0x27c thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001aaec lv_label_create .text.lv_label_signal - 0x0001ad80 0xf0 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001ad68 0xf0 thirdparty/lvgl/src/lv_widgets/lv_label.o .text.lv_label_get_text_sel_start - 0x0001ae70 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001ae70 lv_label_get_text_sel_start + 0x0001ae58 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001ae58 lv_label_get_text_sel_start .text.lv_label_get_text_sel_end - 0x0001aeb8 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o - 0x0001aeb8 lv_label_get_text_sel_end + 0x0001aea0 0x48 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0001aea0 lv_label_get_text_sel_end .text.lv_label_design - 0x0001af00 0x284 thirdparty/lvgl/src/lv_widgets/lv_label.o - .text 0x0001b184 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) - 0x0001b184 __aeabi_uldivmod - .text 0x0001b1b4 0x2dc c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) - 0x0001b1b4 __udivmoddi4 - .text 0x0001b490 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_dvmd_tls.o) - 0x0001b490 __aeabi_idiv0 - 0x0001b490 __aeabi_ldiv0 + 0x0001aee8 0x284 thirdparty/lvgl/src/lv_widgets/lv_label.o + .text 0x0001b16c 0x30 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) + 0x0001b16c __aeabi_uldivmod + .text 0x0001b19c 0x2dc c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) + 0x0001b19c __udivmoddi4 + .text 0x0001b478 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_dvmd_tls.o) + 0x0001b478 __aeabi_idiv0 + 0x0001b478 __aeabi_ldiv0 .text.__libc_init_array - 0x0001b494 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) - 0x0001b494 __libc_init_array - .text.memcmp 0x0001b4dc 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) - 0x0001b4dc memcmp - .text 0x0001b4fa 0x14 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) - 0x0001b4fa strcmp - .text.strcpy 0x0001b50e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) - 0x0001b50e strcpy - .text 0x0001b51e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strlen.o) - 0x0001b51e strlen + 0x0001b47c 0x48 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) + 0x0001b47c __libc_init_array + .text.memcmp 0x0001b4c4 0x1e c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) + 0x0001b4c4 memcmp + .text 0x0001b4e2 0x14 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) + 0x0001b4e2 strcmp + .text.strcpy 0x0001b4f6 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) + 0x0001b4f6 strcpy + .text 0x0001b506 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strlen.o) + 0x0001b506 strlen *(.glue_7t) - .glue_7t 0x0001b52e 0x0 linker stubs + .glue_7t 0x0001b516 0x0 linker stubs *(.glue_7) - .glue_7 0x0001b52e 0x0 linker stubs + .glue_7 0x0001b516 0x0 linker stubs *(.rodata .rodata* .gnu.linkonce.r.*) - *fill* 0x0001b52e 0x2 + *fill* 0x0001b516 0x2 .rodata.str1.4 - 0x0001b530 0x1c drivers/p_gpio.o + 0x0001b518 0x1c drivers/p_gpio.o .rodata.str1.4 - 0x0001b54c 0x14 hal/src/hal_io.o + 0x0001b534 0x14 hal/src/hal_io.o .rodata.str1.4 - 0x0001b560 0x17 hal/src/hal_timer.o - *fill* 0x0001b577 0x1 + 0x0001b548 0x17 hal/src/hal_timer.o + *fill* 0x0001b55f 0x1 .rodata.str1.4 - 0x0001b578 0x1d hal/src/hal_usart_async.o - *fill* 0x0001b595 0x3 + 0x0001b560 0x1d hal/src/hal_usart_async.o + *fill* 0x0001b57d 0x3 .rodata.str1.4 - 0x0001b598 0x1e hal/utils/src/utils_list.o - *fill* 0x0001b5b6 0x2 + 0x0001b580 0x1e hal/utils/src/utils_list.o + *fill* 0x0001b59e 0x2 .rodata.str1.4 - 0x0001b5b8 0x24 hal/utils/src/utils_ringbuffer.o - .rodata 0x0001b5dc 0x38 hpl/sercom/hpl_sercom.o + 0x0001b5a0 0x24 hal/utils/src/utils_ringbuffer.o + .rodata 0x0001b5c4 0x38 hpl/sercom/hpl_sercom.o .rodata.str1.4 - 0x0001b614 0x1b hpl/sercom/hpl_sercom.o - *fill* 0x0001b62f 0x1 - .rodata 0x0001b630 0x34 hpl/tc/hpl_tc.o + 0x0001b5fc 0x1b hpl/sercom/hpl_sercom.o + *fill* 0x0001b617 0x1 + .rodata 0x0001b618 0x34 hpl/tc/hpl_tc.o .rodata.str1.4 - 0x0001b664 0x13 hpl/tc/hpl_tc.o - *fill* 0x0001b677 0x1 - .rodata 0x0001b678 0x8567 oracle.o - 0x0001b678 hornet - 0x0001b684 hornet_map - *fill* 0x00023bdf 0x1 + 0x0001b64c 0x13 hpl/tc/hpl_tc.o + *fill* 0x0001b65f 0x1 + .rodata 0x0001b660 0x8567 oracle.o + 0x0001b660 hornet + 0x0001b66c hornet_map + *fill* 0x00023bc7 0x1 .rodata.str1.4 - 0x00023be0 0xc oracle.o - .rodata 0x00023bec 0x3b thirdparty/lvgl/src/lv_core/lv_debug.o - *fill* 0x00023c27 0x1 + 0x00023bc8 0xc oracle.o + .rodata 0x00023bd4 0x3b thirdparty/lvgl/src/lv_core/lv_debug.o + *fill* 0x00023c0f 0x1 .rodata.str1.4 - 0x00023c28 0x106 thirdparty/lvgl/src/lv_core/lv_debug.o - *fill* 0x00023d2e 0x2 - .rodata 0x00023d30 0xa7 thirdparty/lvgl/src/lv_core/lv_disp.o - *fill* 0x00023dd7 0x1 + 0x00023c10 0x106 thirdparty/lvgl/src/lv_core/lv_debug.o + *fill* 0x00023d16 0x2 + .rodata 0x00023d18 0xa7 thirdparty/lvgl/src/lv_core/lv_disp.o + *fill* 0x00023dbf 0x1 .rodata.str1.4 - 0x00023dd8 0x1ad thirdparty/lvgl/src/lv_core/lv_disp.o - *fill* 0x00023f85 0x3 - .rodata 0x00023f88 0x21 thirdparty/lvgl/src/lv_core/lv_group.o - *fill* 0x00023fa9 0x3 + 0x00023dc0 0x1ad thirdparty/lvgl/src/lv_core/lv_disp.o + *fill* 0x00023f6d 0x3 + .rodata 0x00023f70 0x21 thirdparty/lvgl/src/lv_core/lv_group.o + *fill* 0x00023f91 0x3 .rodata.str1.4 - 0x00023fac 0xaa thirdparty/lvgl/src/lv_core/lv_group.o - *fill* 0x00024056 0x2 - .rodata 0x00024058 0x782 thirdparty/lvgl/src/lv_core/lv_obj.o - *fill* 0x000247da 0x2 + 0x00023f94 0xaa thirdparty/lvgl/src/lv_core/lv_group.o + *fill* 0x0002403e 0x2 + .rodata 0x00024040 0x782 thirdparty/lvgl/src/lv_core/lv_obj.o + *fill* 0x000247c2 0x2 .rodata.str1.4 - 0x000247dc 0x213 thirdparty/lvgl/src/lv_core/lv_obj.o + 0x000247c4 0x213 thirdparty/lvgl/src/lv_core/lv_obj.o 0x223 (size before relaxing) - *fill* 0x000249ef 0x1 - .rodata 0x000249f0 0xd thirdparty/lvgl/src/lv_core/lv_refr.o - *fill* 0x000249fd 0x3 + *fill* 0x000249d7 0x1 + .rodata 0x000249d8 0xd thirdparty/lvgl/src/lv_core/lv_refr.o + *fill* 0x000249e5 0x3 .rodata.str1.4 - 0x00024a00 0x7c thirdparty/lvgl/src/lv_core/lv_refr.o - .rodata 0x00024a7c 0xbf thirdparty/lvgl/src/lv_core/lv_style.o - *fill* 0x00024b3b 0x1 + 0x000249e8 0x7c thirdparty/lvgl/src/lv_core/lv_refr.o + .rodata 0x00024a64 0xbf thirdparty/lvgl/src/lv_core/lv_style.o + *fill* 0x00024b23 0x1 .rodata.str1.4 - 0x00024b3c 0x108 thirdparty/lvgl/src/lv_core/lv_style.o + 0x00024b24 0x108 thirdparty/lvgl/src/lv_core/lv_style.o 0x118 (size before relaxing) - .rodata 0x00024c44 0x1c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .rodata 0x00024c2c 0x1c thirdparty/lvgl/src/lv_draw/lv_draw_blend.o .rodata.str1.4 - 0x00024c60 0x55 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - *fill* 0x00024cb5 0x3 - .rodata 0x00024cb8 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - *fill* 0x00024cd9 0x3 + 0x00024c48 0x55 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + *fill* 0x00024c9d 0x3 + .rodata 0x00024ca0 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + *fill* 0x00024cc1 0x3 .rodata.str1.4 - 0x00024cdc 0x83 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - *fill* 0x00024d5f 0x1 - .rodata 0x00024d60 0x158 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - 0x00024d60 _lv_bpp1_opa_table - 0x00024d64 _lv_bpp2_opa_table - 0x00024d68 _lv_bpp4_opa_table - 0x00024d78 _lv_bpp8_opa_table - 0x00024eb0 _lv_bpp3_opa_table + 0x00024cc4 0x83 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + *fill* 0x00024d47 0x1 + .rodata 0x00024d48 0x158 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + 0x00024d48 _lv_bpp1_opa_table + 0x00024d4c _lv_bpp2_opa_table + 0x00024d50 _lv_bpp4_opa_table + 0x00024d60 _lv_bpp8_opa_table + 0x00024e98 _lv_bpp3_opa_table .rodata.str1.4 - 0x00024eb8 0xec thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .rodata 0x00024fa4 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - *fill* 0x00024fc5 0x3 - .rodata 0x00024fc8 0x2c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + 0x00024ea0 0xec thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .rodata 0x00024f8c 0x21 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + *fill* 0x00024fad 0x3 + .rodata 0x00024fb0 0x2c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o .rodata.str1.4 - 0x00024ff4 0x85 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - *fill* 0x00025079 0x3 - .rodata 0x0002507c 0x11 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - *fill* 0x0002508d 0x3 + 0x00024fdc 0x85 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + *fill* 0x00025061 0x3 + .rodata 0x00025064 0x11 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + *fill* 0x00025075 0x3 .rodata.str1.4 - 0x00025090 0x7c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .rodata 0x0002510c 0x27 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - *fill* 0x00025133 0x1 - .rodata 0x00025134 0x2a thirdparty/lvgl/src/lv_draw/lv_img_cache.o - *fill* 0x0002515e 0x2 + 0x00025078 0x7c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .rodata 0x000250f4 0x27 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + *fill* 0x0002511b 0x1 + .rodata 0x0002511c 0x2a thirdparty/lvgl/src/lv_draw/lv_img_cache.o + *fill* 0x00025146 0x2 .rodata.str1.4 - 0x00025160 0xea thirdparty/lvgl/src/lv_draw/lv_img_cache.o + 0x00025148 0xea thirdparty/lvgl/src/lv_draw/lv_img_cache.o 0xfa (size before relaxing) - *fill* 0x0002524a 0x2 - .rodata 0x0002524c 0xc9 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - *fill* 0x00025315 0x3 + *fill* 0x00025232 0x2 + .rodata 0x00025234 0xc9 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + *fill* 0x000252fd 0x3 .rodata.str1.4 - 0x00025318 0x1ab thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + 0x00025300 0x1ab thirdparty/lvgl/src/lv_draw/lv_img_decoder.o 0x1bb (size before relaxing) - *fill* 0x000254c3 0x1 - .rodata 0x000254c4 0x1b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - *fill* 0x000254df 0x1 + *fill* 0x000254ab 0x1 + .rodata 0x000254ac 0x1b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + *fill* 0x000254c7 0x1 .rodata.str1.4 - 0x000254e0 0x31 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + 0x000254c8 0x31 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o 0x42 (size before relaxing) - *fill* 0x00025511 0x3 - .rodata 0x00025514 0x3ca8 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .rodata 0x000291bc 0x15 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - *fill* 0x000291d1 0x3 + *fill* 0x000254f9 0x3 + .rodata 0x000254fc 0x3ca8 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .rodata 0x000291a4 0x15 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + *fill* 0x000291b9 0x3 .rodata.str1.4 - 0x000291d4 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + 0x000291bc 0x2c thirdparty/lvgl/src/lv_hal/lv_hal_disp.o 0x3a (size before relaxing) - .rodata 0x00029200 0x16 thirdparty/lvgl/src/lv_misc/lv_anim.o - 0x00029200 lv_anim_path_def - *fill* 0x00029216 0x2 + .rodata 0x000291e8 0x16 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x000291e8 lv_anim_path_def + *fill* 0x000291fe 0x2 .rodata.str1.4 - 0x00029218 0x29 thirdparty/lvgl/src/lv_misc/lv_anim.o + 0x00029200 0x29 thirdparty/lvgl/src/lv_misc/lv_anim.o 0x3a (size before relaxing) - *fill* 0x00029241 0x3 - .rodata 0x00029244 0x2f thirdparty/lvgl/src/lv_misc/lv_fs.o - *fill* 0x00029273 0x1 + *fill* 0x00029229 0x3 + .rodata 0x0002922c 0x2f thirdparty/lvgl/src/lv_misc/lv_fs.o + *fill* 0x0002925b 0x1 .rodata.str1.4 - 0x00029274 0x27 thirdparty/lvgl/src/lv_misc/lv_fs.o + 0x0002925c 0x27 thirdparty/lvgl/src/lv_misc/lv_fs.o 0x39 (size before relaxing) - *fill* 0x0002929b 0x1 - .rodata 0x0002929c 0xb6 thirdparty/lvgl/src/lv_misc/lv_math.o - *fill* 0x00029352 0x2 - .rodata 0x00029354 0x44 thirdparty/lvgl/src/lv_misc/lv_mem.o + *fill* 0x00029283 0x1 + .rodata 0x00029284 0xb6 thirdparty/lvgl/src/lv_misc/lv_math.o + *fill* 0x0002933a 0x2 + .rodata 0x0002933c 0x44 thirdparty/lvgl/src/lv_misc/lv_mem.o .rodata.str1.4 - 0x00029398 0x112 thirdparty/lvgl/src/lv_misc/lv_mem.o - *fill* 0x000294aa 0x2 - .rodata 0x000294ac 0x27 thirdparty/lvgl/src/lv_misc/lv_task.o - *fill* 0x000294d3 0x1 + 0x00029380 0x112 thirdparty/lvgl/src/lv_misc/lv_mem.o + *fill* 0x00029492 0x2 + .rodata 0x00029494 0x27 thirdparty/lvgl/src/lv_misc/lv_task.o + *fill* 0x000294bb 0x1 .rodata.str1.4 - 0x000294d4 0x29 thirdparty/lvgl/src/lv_misc/lv_task.o + 0x000294bc 0x29 thirdparty/lvgl/src/lv_misc/lv_task.o 0x3a (size before relaxing) - *fill* 0x000294fd 0x3 - .rodata 0x00029500 0x11 thirdparty/lvgl/src/lv_misc/lv_txt.o - *fill* 0x00029511 0x3 + *fill* 0x000294e5 0x3 + .rodata 0x000294e8 0x11 thirdparty/lvgl/src/lv_misc/lv_txt.o + *fill* 0x000294f9 0x3 .rodata.str1.4 - 0x00029514 0x70 thirdparty/lvgl/src/lv_misc/lv_txt.o - .rodata 0x00029584 0x6 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - *fill* 0x0002958a 0x2 + 0x000294fc 0x70 thirdparty/lvgl/src/lv_misc/lv_txt.o + .rodata 0x0002956c 0x6 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + *fill* 0x00029572 0x2 .rodata.str1.4 - 0x0002958c 0x4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .rodata 0x00029590 0x125 thirdparty/lvgl/src/lv_widgets/lv_img.o - *fill* 0x000296b5 0x3 + 0x00029574 0x4 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .rodata 0x00029578 0x125 thirdparty/lvgl/src/lv_widgets/lv_img.o + *fill* 0x0002969d 0x3 .rodata.str1.4 - 0x000296b8 0xbb thirdparty/lvgl/src/lv_widgets/lv_img.o + 0x000296a0 0xbb thirdparty/lvgl/src/lv_widgets/lv_img.o 0x10b (size before relaxing) - *fill* 0x00029773 0x1 - .rodata 0x00029774 0x21e thirdparty/lvgl/src/lv_widgets/lv_label.o - *fill* 0x00029992 0x2 + *fill* 0x0002975b 0x1 + .rodata 0x0002975c 0x21e thirdparty/lvgl/src/lv_widgets/lv_label.o + *fill* 0x0002997a 0x2 .rodata.str1.4 - 0x00029994 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o + 0x0002997c 0x80 thirdparty/lvgl/src/lv_widgets/lv_label.o 0x9d (size before relaxing) *(.ARM.extab* .gnu.linkonce.armextab.*) - 0x00029a14 . = ALIGN (0x4) + 0x000299fc . = ALIGN (0x4) *(.init) - .init 0x00029a14 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o - 0x00029a14 _init - .init 0x00029a18 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o - 0x00029a20 . = ALIGN (0x4) - 0x00029a20 __preinit_array_start = . + .init 0x000299fc 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o + 0x000299fc _init + .init 0x00029a00 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o + 0x00029a08 . = ALIGN (0x4) + 0x00029a08 __preinit_array_start = . *(.preinit_array) - 0x00029a20 __preinit_array_end = . - 0x00029a20 . = ALIGN (0x4) - 0x00029a20 __init_array_start = . + 0x00029a08 __preinit_array_end = . + 0x00029a08 . = ALIGN (0x4) + 0x00029a08 __init_array_start = . *(SORT(.init_array.*)) *(.init_array) - .init_array 0x00029a20 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o - 0x00029a24 __init_array_end = . - 0x00029a24 . = ALIGN (0x4) + .init_array 0x00029a08 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o + 0x00029a0c __init_array_end = . + 0x00029a0c . = ALIGN (0x4) *crtbegin.o(.ctors) *(EXCLUDE_FILE(*crtend.o) .ctors) *(SORT(.ctors.*)) *crtend.o(.ctors) - 0x00029a24 . = ALIGN (0x4) + 0x00029a0c . = ALIGN (0x4) *(.fini) - .fini 0x00029a24 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o - 0x00029a24 _fini - .fini 0x00029a28 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o - 0x00029a30 . = ALIGN (0x4) - 0x00029a30 __fini_array_start = . + .fini 0x00029a0c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crti.o + 0x00029a0c _fini + .fini 0x00029a10 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtn.o + 0x00029a18 . = ALIGN (0x4) + 0x00029a18 __fini_array_start = . *(.fini_array) - .fini_array 0x00029a30 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o + .fini_array 0x00029a18 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o *(SORT(.fini_array.*)) - 0x00029a34 __fini_array_end = . + 0x00029a1c __fini_array_end = . *crtbegin.o(.dtors) *(EXCLUDE_FILE(*crtend.o) .dtors) *(SORT(.dtors.*)) *crtend.o(.dtors) - 0x00029a34 . = ALIGN (0x4) - 0x00029a34 _efixed = . + 0x00029a1c . = ALIGN (0x4) + 0x00029a1c _efixed = . [!provide] PROVIDE (__exidx_start, .) -.vfp11_veneer 0x00029a34 0x0 - .vfp11_veneer 0x00029a34 0x0 linker stubs +.vfp11_veneer 0x00029a1c 0x0 + .vfp11_veneer 0x00029a1c 0x0 linker stubs -.v4_bx 0x00029a34 0x0 - .v4_bx 0x00029a34 0x0 linker stubs +.v4_bx 0x00029a1c 0x0 + .v4_bx 0x00029a1c 0x0 linker stubs -.iplt 0x00029a34 0x0 - .iplt 0x00029a34 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.iplt 0x00029a1c 0x0 + .iplt 0x00029a1c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.ARM.exidx 0x00029a34 0x8 +.ARM.exidx 0x00029a1c 0x8 *(.ARM.exidx* .gnu.linkonce.armexidx.*) - .ARM.exidx 0x00029a34 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) + .ARM.exidx 0x00029a1c 0x8 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) [!provide] PROVIDE (__exidx_end, .) -.eh_frame 0x00029a3c 0x0 - .eh_frame 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.eh_frame 0x00029a24 0x0 + .eh_frame 0x00029a24 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.rel.dyn 0x00029a3c 0x0 - .rel.iplt 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.rel.dyn 0x00029a24 0x0 + .rel.iplt 0x00029a24 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.jcr 0x00029a3c 0x0 - .jcr 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o +.jcr 0x00029a24 0x0 + .jcr 0x00029a24 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o -.igot.plt 0x00029a3c 0x0 - .igot.plt 0x00029a3c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o - 0x00029a3c . = ALIGN (0x4) - 0x00029a3c _etext = . +.igot.plt 0x00029a24 0x0 + .igot.plt 0x00029a24 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m/crtbegin.o + 0x00029a24 . = ALIGN (0x4) + 0x00029a24 _etext = . -.relocate 0x20000000 0x74 load address 0x00029a3c +.relocate 0x20000000 0x74 load address 0x00029a24 0x20000000 . = ALIGN (0x4) 0x20000000 _srelocate = . *(.ramfunc .ramfunc.*) @@ -26768,7 +26768,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x04000000 . = ALIGN (0x8) 0x04000000 _eqspi = . -.bss 0x20000078 0x6d8c load address 0x00029ab8 +.bss 0x20000078 0x6d8c load address 0x00029aa0 0x20000078 . = ALIGN (0x4) 0x20000078 _sbss = . 0x20000078 _szero = . @@ -26829,7 +26829,7 @@ LOAD c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin 0x20006e04 _ebss = . 0x20006e04 _ezero = . -.stack 0x20006e04 0x10004 load address 0x00030844 +.stack 0x20006e04 0x10004 load address 0x0003082c 0x20006e08 . = ALIGN (0x8) *fill* 0x20006e04 0x4 0x20006e08 _sstack = . @@ -27061,200 +27061,200 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_widgets/lv_img.o .comment 0x00000059 0x5a thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_info 0x00000000 0x9d63d - .debug_info 0x00000000 0xa3ff devices/display/p_ssd1963.o - .debug_info 0x0000a3ff 0xd7d Device_Startup/startup_same54.o - .debug_info 0x0000b17c 0x2dd7 drivers/p_gpio.o - .debug_info 0x0000df53 0xbc1 drivers/p_i2c.o - .debug_info 0x0000eb14 0x31a7 drivers/p_tcc.o - .debug_info 0x00011cbb 0x4790 drivers/p_usart.o - .debug_info 0x0001644b 0x1fa hal/src/hal_atomic.o - .debug_info 0x00016645 0x205 hal/src/hal_delay.o - .debug_info 0x0001684a 0x2c5 hal/src/hal_io.o - .debug_info 0x00016b0f 0xbe9 hal/src/hal_timer.o - .debug_info 0x000176f8 0x13fa hal/src/hal_usart_async.o - .debug_info 0x00018af2 0x130 hal/utils/src/utils_assert.o - .debug_info 0x00018c22 0x33a hal/utils/src/utils_list.o - .debug_info 0x00018f5c 0x33e hal/utils/src/utils_ringbuffer.o - .debug_info 0x0001929a 0xc67 hpl/core/hpl_core_m4.o - .debug_info 0x00019f01 0xbce hpl/core/hpl_init.o - .debug_info 0x0001aacf 0x5e7 hpl/gclk/hpl_gclk.o - .debug_info 0x0001b0b6 0xa55 hpl/mclk/hpl_mclk.o - .debug_info 0x0001bb0b 0x819 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_info 0x0001c324 0x12ce hpl/oscctrl/hpl_oscctrl.o - .debug_info 0x0001d5f2 0xc15 hpl/ramecc/hpl_ramecc.o - .debug_info 0x0001e207 0xbed1 hpl/sercom/hpl_sercom.o - .debug_info 0x0002a0d8 0x2bf0 hpl/tc/hpl_tc.o - .debug_info 0x0002ccc8 0xa28 main.o - .debug_info 0x0002d6f0 0x20f2 oracle.o - .debug_info 0x0002f7e2 0x1de6 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_info 0x000315c8 0x1c6e thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_info 0x00033236 0x2753 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_info 0x00035989 0x4140 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_info 0x00039ac9 0xed77 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_info 0x00048840 0x2b81 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_info 0x0004b3c1 0x3374 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_info 0x0004e735 0x322d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_info 0x00051962 0x3794 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_info 0x000550f6 0x3305 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_info 0x000583fb 0x2ce2 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_info 0x0005b0dd 0x334f thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_info 0x0005e42c 0x592d thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_info 0x00063d59 0x22f2 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_info 0x0006604b 0x18a6 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_info 0x000678f1 0x314a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_info 0x0006aa3b 0xcf2 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_info 0x0006b72d 0x223a thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_info 0x0006d967 0x13df thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_info 0x0006ed46 0x2868 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_info 0x000715ae 0x2342 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_info 0x000738f0 0x161 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_info 0x00073a51 0x1f30 thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_info 0x00075981 0x1563 thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_info 0x00076ee4 0x654 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_info 0x00077538 0x23bb thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_info 0x000798f3 0x153e thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_info 0x0007ae31 0x16a3 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_info 0x0007c4d4 0xb4b thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_info 0x0007d01f 0xcc4 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_info 0x0007dce3 0x1dff thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_info 0x0007fae2 0xdc7 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_info 0x000808a9 0x1d65 thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_info 0x0008260e 0x1947 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_info 0x00083f55 0xddd thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_info 0x00084d32 0x1689 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_info 0x000863bb 0xc43a thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_info 0x000927f5 0x4a81 thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_info 0x00097276 0x63c7 thirdparty/lvgl/src/lv_widgets/lv_label.o +.debug_info 0x00000000 0x9d60e + .debug_info 0x00000000 0xa437 devices/display/p_ssd1963.o + .debug_info 0x0000a437 0xd7d Device_Startup/startup_same54.o + .debug_info 0x0000b1b4 0x2d70 drivers/p_gpio.o + .debug_info 0x0000df24 0xbc1 drivers/p_i2c.o + .debug_info 0x0000eae5 0x31a7 drivers/p_tcc.o + .debug_info 0x00011c8c 0x4790 drivers/p_usart.o + .debug_info 0x0001641c 0x1fa hal/src/hal_atomic.o + .debug_info 0x00016616 0x205 hal/src/hal_delay.o + .debug_info 0x0001681b 0x2c5 hal/src/hal_io.o + .debug_info 0x00016ae0 0xbe9 hal/src/hal_timer.o + .debug_info 0x000176c9 0x13fa hal/src/hal_usart_async.o + .debug_info 0x00018ac3 0x130 hal/utils/src/utils_assert.o + .debug_info 0x00018bf3 0x33a hal/utils/src/utils_list.o + .debug_info 0x00018f2d 0x33e hal/utils/src/utils_ringbuffer.o + .debug_info 0x0001926b 0xc67 hpl/core/hpl_core_m4.o + .debug_info 0x00019ed2 0xbce hpl/core/hpl_init.o + .debug_info 0x0001aaa0 0x5e7 hpl/gclk/hpl_gclk.o + .debug_info 0x0001b087 0xa55 hpl/mclk/hpl_mclk.o + .debug_info 0x0001badc 0x819 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_info 0x0001c2f5 0x12ce hpl/oscctrl/hpl_oscctrl.o + .debug_info 0x0001d5c3 0xc15 hpl/ramecc/hpl_ramecc.o + .debug_info 0x0001e1d8 0xbed1 hpl/sercom/hpl_sercom.o + .debug_info 0x0002a0a9 0x2bf0 hpl/tc/hpl_tc.o + .debug_info 0x0002cc99 0xa28 main.o + .debug_info 0x0002d6c1 0x20f2 oracle.o + .debug_info 0x0002f7b3 0x1de6 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_info 0x00031599 0x1c6e thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_info 0x00033207 0x2753 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_info 0x0003595a 0x4140 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_info 0x00039a9a 0xed77 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_info 0x00048811 0x2b81 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_info 0x0004b392 0x3374 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_info 0x0004e706 0x322d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_info 0x00051933 0x3794 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_info 0x000550c7 0x3305 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_info 0x000583cc 0x2ce2 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_info 0x0005b0ae 0x334f thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_info 0x0005e3fd 0x592d thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_info 0x00063d2a 0x22f2 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_info 0x0006601c 0x18a6 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_info 0x000678c2 0x314a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_info 0x0006aa0c 0xcf2 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_info 0x0006b6fe 0x223a thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_info 0x0006d938 0x13df thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_info 0x0006ed17 0x2868 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_info 0x0007157f 0x2342 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_info 0x000738c1 0x161 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_info 0x00073a22 0x1f30 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_info 0x00075952 0x1563 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_info 0x00076eb5 0x654 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_info 0x00077509 0x23bb thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_info 0x000798c4 0x153e thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_info 0x0007ae02 0x16a3 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_info 0x0007c4a5 0xb4b thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_info 0x0007cff0 0xcc4 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_info 0x0007dcb4 0x1dff thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_info 0x0007fab3 0xdc7 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_info 0x0008087a 0x1d65 thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_info 0x000825df 0x1947 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_info 0x00083f26 0xddd thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_info 0x00084d03 0x1689 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_info 0x0008638c 0xc43a thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_info 0x000927c6 0x4a81 thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_info 0x00097247 0x63c7 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_abbrev 0x00000000 0xc8ba - .debug_abbrev 0x00000000 0x37f devices/display/p_ssd1963.o - .debug_abbrev 0x0000037f 0x171 Device_Startup/startup_same54.o - .debug_abbrev 0x000004f0 0x3bf drivers/p_gpio.o - .debug_abbrev 0x000008af 0x1a2 drivers/p_i2c.o - .debug_abbrev 0x00000a51 0x337 drivers/p_tcc.o - .debug_abbrev 0x00000d88 0x3a2 drivers/p_usart.o - .debug_abbrev 0x0000112a 0x155 hal/src/hal_atomic.o - .debug_abbrev 0x0000127f 0xf9 hal/src/hal_delay.o - .debug_abbrev 0x00001378 0x12d hal/src/hal_io.o - .debug_abbrev 0x000014a5 0x232 hal/src/hal_timer.o - .debug_abbrev 0x000016d7 0x2a8 hal/src/hal_usart_async.o - .debug_abbrev 0x0000197f 0x9e hal/utils/src/utils_assert.o - .debug_abbrev 0x00001a1d 0x18d hal/utils/src/utils_list.o - .debug_abbrev 0x00001baa 0x119 hal/utils/src/utils_ringbuffer.o - .debug_abbrev 0x00001cc3 0x2c2 hpl/core/hpl_core_m4.o - .debug_abbrev 0x00001f85 0x1dd hpl/core/hpl_init.o - .debug_abbrev 0x00002162 0x1b8 hpl/gclk/hpl_gclk.o - .debug_abbrev 0x0000231a 0x1bd hpl/mclk/hpl_mclk.o - .debug_abbrev 0x000024d7 0x1fc hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_abbrev 0x000026d3 0x216 hpl/oscctrl/hpl_oscctrl.o - .debug_abbrev 0x000028e9 0x2c8 hpl/ramecc/hpl_ramecc.o - .debug_abbrev 0x00002bb1 0x5ef hpl/sercom/hpl_sercom.o - .debug_abbrev 0x000031a0 0x4f9 hpl/tc/hpl_tc.o - .debug_abbrev 0x00003699 0x1b6 main.o - .debug_abbrev 0x0000384f 0x2c5 oracle.o - .debug_abbrev 0x00003b14 0x334 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_abbrev 0x00003e48 0x2ac thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_abbrev 0x000040f4 0x39e thirdparty/lvgl/src/lv_core/lv_group.o - .debug_abbrev 0x00004492 0x500 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_abbrev 0x00004992 0x56d thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_abbrev 0x00004eff 0x4eb thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_abbrev 0x000053ea 0x469 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_abbrev 0x00005853 0x49d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_abbrev 0x00005cf0 0x48c thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_abbrev 0x0000617c 0x445 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_abbrev 0x000065c1 0x3b8 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_abbrev 0x00006979 0x49e thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_abbrev 0x00006e17 0x471 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_abbrev 0x00007288 0x430 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_abbrev 0x000076b8 0x2c7 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_abbrev 0x0000797f 0x4b0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_abbrev 0x00007e2f 0x21a thirdparty/lvgl/src/lv_font/lv_font.o - .debug_abbrev 0x00008049 0x421 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_abbrev 0x0000846a 0x1f0 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_abbrev 0x0000865a 0x3ee thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_abbrev 0x00008a48 0x292 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_abbrev 0x00008cda 0xcb thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_abbrev 0x00008da5 0x46e thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_abbrev 0x00009213 0x41f thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_abbrev 0x00009632 0x287 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_abbrev 0x000098b9 0x3b6 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_abbrev 0x00009c6f 0x20f thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_abbrev 0x00009e7e 0x416 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_abbrev 0x0000a294 0x227 thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_abbrev 0x0000a4bb 0x24b thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_abbrev 0x0000a706 0x404 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_abbrev 0x0000ab0a 0x2e1 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_abbrev 0x0000adeb 0x41c thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_abbrev 0x0000b207 0x467 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_abbrev 0x0000b66e 0x238 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_abbrev 0x0000b8a6 0x270 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_abbrev 0x0000bb16 0x381 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_abbrev 0x0000be97 0x4cf thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_abbrev 0x0000c366 0x554 thirdparty/lvgl/src/lv_widgets/lv_label.o +.debug_abbrev 0x00000000 0xc8d3 + .debug_abbrev 0x00000000 0x39d devices/display/p_ssd1963.o + .debug_abbrev 0x0000039d 0x171 Device_Startup/startup_same54.o + .debug_abbrev 0x0000050e 0x3ba drivers/p_gpio.o + .debug_abbrev 0x000008c8 0x1a2 drivers/p_i2c.o + .debug_abbrev 0x00000a6a 0x337 drivers/p_tcc.o + .debug_abbrev 0x00000da1 0x3a2 drivers/p_usart.o + .debug_abbrev 0x00001143 0x155 hal/src/hal_atomic.o + .debug_abbrev 0x00001298 0xf9 hal/src/hal_delay.o + .debug_abbrev 0x00001391 0x12d hal/src/hal_io.o + .debug_abbrev 0x000014be 0x232 hal/src/hal_timer.o + .debug_abbrev 0x000016f0 0x2a8 hal/src/hal_usart_async.o + .debug_abbrev 0x00001998 0x9e hal/utils/src/utils_assert.o + .debug_abbrev 0x00001a36 0x18d hal/utils/src/utils_list.o + .debug_abbrev 0x00001bc3 0x119 hal/utils/src/utils_ringbuffer.o + .debug_abbrev 0x00001cdc 0x2c2 hpl/core/hpl_core_m4.o + .debug_abbrev 0x00001f9e 0x1dd hpl/core/hpl_init.o + .debug_abbrev 0x0000217b 0x1b8 hpl/gclk/hpl_gclk.o + .debug_abbrev 0x00002333 0x1bd hpl/mclk/hpl_mclk.o + .debug_abbrev 0x000024f0 0x1fc hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_abbrev 0x000026ec 0x216 hpl/oscctrl/hpl_oscctrl.o + .debug_abbrev 0x00002902 0x2c8 hpl/ramecc/hpl_ramecc.o + .debug_abbrev 0x00002bca 0x5ef hpl/sercom/hpl_sercom.o + .debug_abbrev 0x000031b9 0x4f9 hpl/tc/hpl_tc.o + .debug_abbrev 0x000036b2 0x1b6 main.o + .debug_abbrev 0x00003868 0x2c5 oracle.o + .debug_abbrev 0x00003b2d 0x334 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_abbrev 0x00003e61 0x2ac thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_abbrev 0x0000410d 0x39e thirdparty/lvgl/src/lv_core/lv_group.o + .debug_abbrev 0x000044ab 0x500 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_abbrev 0x000049ab 0x56d thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_abbrev 0x00004f18 0x4eb thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_abbrev 0x00005403 0x469 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_abbrev 0x0000586c 0x49d thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_abbrev 0x00005d09 0x48c thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_abbrev 0x00006195 0x445 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_abbrev 0x000065da 0x3b8 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_abbrev 0x00006992 0x49e thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_abbrev 0x00006e30 0x471 thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_abbrev 0x000072a1 0x430 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_abbrev 0x000076d1 0x2c7 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_abbrev 0x00007998 0x4b0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_abbrev 0x00007e48 0x21a thirdparty/lvgl/src/lv_font/lv_font.o + .debug_abbrev 0x00008062 0x421 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_abbrev 0x00008483 0x1f0 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_abbrev 0x00008673 0x3ee thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_abbrev 0x00008a61 0x292 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_abbrev 0x00008cf3 0xcb thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_abbrev 0x00008dbe 0x46e thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_abbrev 0x0000922c 0x41f thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_abbrev 0x0000964b 0x287 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_abbrev 0x000098d2 0x3b6 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_abbrev 0x00009c88 0x20f thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_abbrev 0x00009e97 0x416 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_abbrev 0x0000a2ad 0x227 thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_abbrev 0x0000a4d4 0x24b thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_abbrev 0x0000a71f 0x404 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_abbrev 0x0000ab23 0x2e1 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_abbrev 0x0000ae04 0x41c thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_abbrev 0x0000b220 0x467 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_abbrev 0x0000b687 0x238 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_abbrev 0x0000b8bf 0x270 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_abbrev 0x0000bb2f 0x381 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_abbrev 0x0000beb0 0x4cf thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_abbrev 0x0000c37f 0x554 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_loc 0x00000000 0x4d923 +.debug_loc 0x00000000 0x4d8a1 .debug_loc 0x00000000 0x62bb devices/display/p_ssd1963.o .debug_loc 0x000062bb 0x6b Device_Startup/startup_same54.o - .debug_loc 0x00006326 0x1717 drivers/p_gpio.o - .debug_loc 0x00007a3d 0xda drivers/p_tcc.o - .debug_loc 0x00007b17 0x24c drivers/p_usart.o - .debug_loc 0x00007d63 0x13 hal/src/hal_atomic.o - .debug_loc 0x00007d76 0xc3 hal/src/hal_delay.o - .debug_loc 0x00007e39 0x152 hal/src/hal_io.o - .debug_loc 0x00007f8b 0x691 hal/src/hal_timer.o - .debug_loc 0x0000861c 0xded hal/src/hal_usart_async.o - .debug_loc 0x00009409 0x29f hal/utils/src/utils_list.o - .debug_loc 0x000096a8 0x2bd hal/utils/src/utils_ringbuffer.o - .debug_loc 0x00009965 0x1d7 hpl/core/hpl_core_m4.o - .debug_loc 0x00009b3c 0x4c hpl/core/hpl_init.o - .debug_loc 0x00009b88 0x72 hpl/gclk/hpl_gclk.o - .debug_loc 0x00009bfa 0x2c hpl/mclk/hpl_mclk.o - .debug_loc 0x00009c26 0x11b hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_loc 0x00009d41 0x11e hpl/oscctrl/hpl_oscctrl.o - .debug_loc 0x00009e5f 0x130 hpl/ramecc/hpl_ramecc.o - .debug_loc 0x00009f8f 0x7c8b hpl/sercom/hpl_sercom.o - .debug_loc 0x00011c1a 0xa38 hpl/tc/hpl_tc.o - .debug_loc 0x00012652 0x20 main.o - .debug_loc 0x00012672 0xbe oracle.o - .debug_loc 0x00012730 0x6fb thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_loc 0x00012e2b 0x495 thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_loc 0x000132c0 0xb4d thirdparty/lvgl/src/lv_core/lv_group.o - .debug_loc 0x00013e0d 0xfdf thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_loc 0x00014dec 0x86b4 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_loc 0x0001d4a0 0xcc3 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_loc 0x0001e163 0x32ce thirdparty/lvgl/src/lv_core/lv_style.o - .debug_loc 0x00021431 0x37b2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_loc 0x00024be3 0x1706 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_loc 0x000262e9 0x1bc8 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_loc 0x00027eb1 0x1cbd thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_loc 0x00029b6e 0x428c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_loc 0x0002ddfa 0x402c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_loc 0x00031e26 0x2c56 thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_loc 0x00034a7c 0x372 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_loc 0x00034dee 0x1779 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_loc 0x00036567 0x1e1 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_loc 0x00036748 0x2598 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_loc 0x00038ce0 0x637 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_loc 0x00039317 0x269 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_loc 0x00039580 0x80 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_loc 0x00039600 0xc3c thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_loc 0x0003a23c 0xedb thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_loc 0x0003b117 0x94b thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_loc 0x0003ba62 0x1237 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_loc 0x0003cc99 0x20 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_loc 0x0003ccb9 0xea8 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_loc 0x0003db61 0xfe thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_loc 0x0003dc5f 0x789 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_loc 0x0003e3e8 0x16bd thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_loc 0x0003faa5 0x152f thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_loc 0x00040fd4 0x63c thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_loc 0x00041610 0x149d thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_loc 0x00042aad 0x2f1 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_loc 0x00042d9e 0x62 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_loc 0x00042e00 0x66df thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_loc 0x000494df 0x175d thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_loc 0x0004ac3c 0x2ce7 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_loc 0x00006326 0x1695 drivers/p_gpio.o + .debug_loc 0x000079bb 0xda drivers/p_tcc.o + .debug_loc 0x00007a95 0x24c drivers/p_usart.o + .debug_loc 0x00007ce1 0x13 hal/src/hal_atomic.o + .debug_loc 0x00007cf4 0xc3 hal/src/hal_delay.o + .debug_loc 0x00007db7 0x152 hal/src/hal_io.o + .debug_loc 0x00007f09 0x691 hal/src/hal_timer.o + .debug_loc 0x0000859a 0xded hal/src/hal_usart_async.o + .debug_loc 0x00009387 0x29f hal/utils/src/utils_list.o + .debug_loc 0x00009626 0x2bd hal/utils/src/utils_ringbuffer.o + .debug_loc 0x000098e3 0x1d7 hpl/core/hpl_core_m4.o + .debug_loc 0x00009aba 0x4c hpl/core/hpl_init.o + .debug_loc 0x00009b06 0x72 hpl/gclk/hpl_gclk.o + .debug_loc 0x00009b78 0x2c hpl/mclk/hpl_mclk.o + .debug_loc 0x00009ba4 0x11b hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_loc 0x00009cbf 0x11e hpl/oscctrl/hpl_oscctrl.o + .debug_loc 0x00009ddd 0x130 hpl/ramecc/hpl_ramecc.o + .debug_loc 0x00009f0d 0x7c8b hpl/sercom/hpl_sercom.o + .debug_loc 0x00011b98 0xa38 hpl/tc/hpl_tc.o + .debug_loc 0x000125d0 0x20 main.o + .debug_loc 0x000125f0 0xbe oracle.o + .debug_loc 0x000126ae 0x6fb thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_loc 0x00012da9 0x495 thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_loc 0x0001323e 0xb4d thirdparty/lvgl/src/lv_core/lv_group.o + .debug_loc 0x00013d8b 0xfdf thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_loc 0x00014d6a 0x86b4 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_loc 0x0001d41e 0xcc3 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_loc 0x0001e0e1 0x32ce thirdparty/lvgl/src/lv_core/lv_style.o + .debug_loc 0x000213af 0x37b2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_loc 0x00024b61 0x1706 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_loc 0x00026267 0x1bc8 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_loc 0x00027e2f 0x1cbd thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_loc 0x00029aec 0x428c thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_loc 0x0002dd78 0x402c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_loc 0x00031da4 0x2c56 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_loc 0x000349fa 0x372 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_loc 0x00034d6c 0x1779 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_loc 0x000364e5 0x1e1 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_loc 0x000366c6 0x2598 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_loc 0x00038c5e 0x637 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_loc 0x00039295 0x269 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_loc 0x000394fe 0x80 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_loc 0x0003957e 0xc3c thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_loc 0x0003a1ba 0xedb thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_loc 0x0003b095 0x94b thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_loc 0x0003b9e0 0x1237 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_loc 0x0003cc17 0x20 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_loc 0x0003cc37 0xea8 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_loc 0x0003dadf 0xfe thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_loc 0x0003dbdd 0x789 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_loc 0x0003e366 0x16bd thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_loc 0x0003fa23 0x152f thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_loc 0x00040f52 0x63c thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_loc 0x0004158e 0x149d thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_loc 0x00042a2b 0x2f1 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_loc 0x00042d1c 0x62 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_loc 0x00042d7e 0x66df thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_loc 0x0004945d 0x175d thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_loc 0x0004abba 0x2ce7 thirdparty/lvgl/src/lv_widgets/lv_label.o .debug_aranges 0x00000000 0x2000 .debug_aranges @@ -27767,269 +27767,269 @@ OUTPUT(e54_gfx_learning.elf elf32-littlearm) .debug_macro 0x0003f17d 0x3f7 thirdparty/lvgl/src/lv_widgets/lv_img.o .debug_macro 0x0003f574 0x420 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_line 0x00000000 0x3ad4e +.debug_line 0x00000000 0x3ad40 .debug_line 0x00000000 0x27d8 devices/display/p_ssd1963.o .debug_line 0x000027d8 0x89d Device_Startup/startup_same54.o - .debug_line 0x00003075 0x1100 drivers/p_gpio.o - .debug_line 0x00004175 0xf1c drivers/p_i2c.o - .debug_line 0x00005091 0x1de6 drivers/p_tcc.o - .debug_line 0x00006e77 0xf7a drivers/p_usart.o - .debug_line 0x00007df1 0xbe9 hal/src/hal_atomic.o - .debug_line 0x000089da 0xc1d hal/src/hal_delay.o - .debug_line 0x000095f7 0xc09 hal/src/hal_io.o - .debug_line 0x0000a200 0xd96 hal/src/hal_timer.o - .debug_line 0x0000af96 0xed3 hal/src/hal_usart_async.o - .debug_line 0x0000be69 0xbbe hal/utils/src/utils_assert.o - .debug_line 0x0000ca27 0xc51 hal/utils/src/utils_list.o - .debug_line 0x0000d678 0xc5d hal/utils/src/utils_ringbuffer.o - .debug_line 0x0000e2d5 0xd39 hpl/core/hpl_core_m4.o - .debug_line 0x0000f00e 0xccc hpl/core/hpl_init.o - .debug_line 0x0000fcda 0xc0b hpl/gclk/hpl_gclk.o - .debug_line 0x000108e5 0xbe1 hpl/mclk/hpl_mclk.o - .debug_line 0x000114c6 0xc02 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_line 0x000120c8 0xc30 hpl/oscctrl/hpl_oscctrl.o - .debug_line 0x00012cf8 0xc84 hpl/ramecc/hpl_ramecc.o - .debug_line 0x0001397c 0x2bbc hpl/sercom/hpl_sercom.o - .debug_line 0x00016538 0xef8 hpl/tc/hpl_tc.o - .debug_line 0x00017430 0xf0f main.o - .debug_line 0x0001833f 0x1e3a oracle.o - .debug_line 0x0001a179 0xa6b thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_line 0x0001abe4 0xa0a thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_line 0x0001b5ee 0xe01 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_line 0x0001c3ef 0xf68 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_line 0x0001d357 0x24bc thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_line 0x0001f813 0xd05 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_line 0x00020518 0x10cf thirdparty/lvgl/src/lv_core/lv_style.o - .debug_line 0x000215e7 0xf5f thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_line 0x00022546 0xebd thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_line 0x00023403 0xdbe thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_line 0x000241c1 0xc89 thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_line 0x00024e4a 0x12d3 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_line 0x0002611d 0x125f thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_line 0x0002737c 0x9df thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_line 0x00027d5b 0xc34 thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_line 0x0002898f 0xebb thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_line 0x0002984a 0x443 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_line 0x00029c8d 0xfc7 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_line 0x0002ac54 0x1456 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o - .debug_line 0x0002c0aa 0xfc5 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_line 0x0002d06f 0xc1a thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_line 0x0002dc89 0x301 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_line 0x0002df8a 0xd87 thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_line 0x0002ed11 0x6bc thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_line 0x0002f3cd 0x3d1 thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_line 0x0002f79e 0xe4a thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_line 0x000305e8 0x80e thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_line 0x00030df6 0x576 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_line 0x0003136c 0x38d thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_line 0x000316f9 0x414 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_line 0x00031b0d 0xb43 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_line 0x00032650 0x579 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_line 0x00032bc9 0xccc thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_line 0x00033895 0x711 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_line 0x00033fa6 0x4d5 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_line 0x0003447b 0xb93 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_line 0x0003500e 0x31b7 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_line 0x000381c5 0x1370 thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_line 0x00039535 0x1819 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_line 0x00003075 0x10f2 drivers/p_gpio.o + .debug_line 0x00004167 0xf1c drivers/p_i2c.o + .debug_line 0x00005083 0x1de6 drivers/p_tcc.o + .debug_line 0x00006e69 0xf7a drivers/p_usart.o + .debug_line 0x00007de3 0xbe9 hal/src/hal_atomic.o + .debug_line 0x000089cc 0xc1d hal/src/hal_delay.o + .debug_line 0x000095e9 0xc09 hal/src/hal_io.o + .debug_line 0x0000a1f2 0xd96 hal/src/hal_timer.o + .debug_line 0x0000af88 0xed3 hal/src/hal_usart_async.o + .debug_line 0x0000be5b 0xbbe hal/utils/src/utils_assert.o + .debug_line 0x0000ca19 0xc51 hal/utils/src/utils_list.o + .debug_line 0x0000d66a 0xc5d hal/utils/src/utils_ringbuffer.o + .debug_line 0x0000e2c7 0xd39 hpl/core/hpl_core_m4.o + .debug_line 0x0000f000 0xccc hpl/core/hpl_init.o + .debug_line 0x0000fccc 0xc0b hpl/gclk/hpl_gclk.o + .debug_line 0x000108d7 0xbe1 hpl/mclk/hpl_mclk.o + .debug_line 0x000114b8 0xc02 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_line 0x000120ba 0xc30 hpl/oscctrl/hpl_oscctrl.o + .debug_line 0x00012cea 0xc84 hpl/ramecc/hpl_ramecc.o + .debug_line 0x0001396e 0x2bbc hpl/sercom/hpl_sercom.o + .debug_line 0x0001652a 0xef8 hpl/tc/hpl_tc.o + .debug_line 0x00017422 0xf0f main.o + .debug_line 0x00018331 0x1e3a oracle.o + .debug_line 0x0001a16b 0xa6b thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_line 0x0001abd6 0xa0a thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_line 0x0001b5e0 0xe01 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_line 0x0001c3e1 0xf68 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_line 0x0001d349 0x24bc thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_line 0x0001f805 0xd05 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_line 0x0002050a 0x10cf thirdparty/lvgl/src/lv_core/lv_style.o + .debug_line 0x000215d9 0xf5f thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_line 0x00022538 0xebd thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_line 0x000233f5 0xdbe thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_line 0x000241b3 0xc89 thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_line 0x00024e3c 0x12d3 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_line 0x0002610f 0x125f thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_line 0x0002736e 0x9df thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_line 0x00027d4d 0xc34 thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_line 0x00028981 0xebb thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_line 0x0002983c 0x443 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_line 0x00029c7f 0xfc7 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_line 0x0002ac46 0x1456 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_line 0x0002c09c 0xfc5 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_line 0x0002d061 0xc1a thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_line 0x0002dc7b 0x301 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_line 0x0002df7c 0xd87 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_line 0x0002ed03 0x6bc thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_line 0x0002f3bf 0x3d1 thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_line 0x0002f790 0xe4a thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_line 0x000305da 0x80e thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_line 0x00030de8 0x576 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_line 0x0003135e 0x38d thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_line 0x000316eb 0x414 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_line 0x00031aff 0xb43 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_line 0x00032642 0x579 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_line 0x00032bbb 0xccc thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_line 0x00033887 0x711 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_line 0x00033f98 0x4d5 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_line 0x0003446d 0xb93 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_line 0x00035000 0x31b7 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_line 0x000381b7 0x1370 thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_line 0x00039527 0x1819 thirdparty/lvgl/src/lv_widgets/lv_label.o -.debug_str 0x00000000 0x12b007 +.debug_str 0x00000000 0x12aff9 .debug_str 0x00000000 0x1122e8 devices/display/p_ssd1963.o 0x112a12 (size before relaxing) .debug_str 0x001122e8 0xbf6 Device_Startup/startup_same54.o 0xf0d82 (size before relaxing) - .debug_str 0x00112ede 0x243 drivers/p_gpio.o - 0x10d1f4 (size before relaxing) - .debug_str 0x00113121 0x99 drivers/p_i2c.o + .debug_str 0x00112ede 0x235 drivers/p_gpio.o + 0x10d1e6 (size before relaxing) + .debug_str 0x00113113 0x99 drivers/p_i2c.o 0x10cc7c (size before relaxing) - .debug_str 0x001131ba 0x8c1 drivers/p_tcc.o + .debug_str 0x001131ac 0x8c1 drivers/p_tcc.o 0x1122ce (size before relaxing) - .debug_str 0x00113a7b 0x8c3 drivers/p_usart.o + .debug_str 0x00113a6d 0x8c3 drivers/p_usart.o 0x10dc84 (size before relaxing) - .debug_str 0x0011433e 0xb7 hal/src/hal_atomic.o + .debug_str 0x00114330 0xb7 hal/src/hal_atomic.o 0x106735 (size before relaxing) - .debug_str 0x001143f5 0x89 hal/src/hal_delay.o + .debug_str 0x001143e7 0x89 hal/src/hal_delay.o 0x10679f (size before relaxing) - .debug_str 0x0011447e 0x34 hal/src/hal_io.o + .debug_str 0x00114470 0x34 hal/src/hal_io.o 0x1067d0 (size before relaxing) - .debug_str 0x001144b2 0x25e hal/src/hal_timer.o + .debug_str 0x001144a4 0x25e hal/src/hal_timer.o 0x107062 (size before relaxing) - .debug_str 0x00114710 0x674 hal/src/hal_usart_async.o + .debug_str 0x00114702 0x674 hal/src/hal_usart_async.o 0x10761a (size before relaxing) - .debug_str 0x00114d84 0x2a hal/utils/src/utils_assert.o + .debug_str 0x00114d76 0x2a hal/utils/src/utils_assert.o 0x106745 (size before relaxing) - .debug_str 0x00114dae 0x31 hal/utils/src/utils_list.o + .debug_str 0x00114da0 0x31 hal/utils/src/utils_list.o 0x1067ef (size before relaxing) - .debug_str 0x00114ddf 0x24 hal/utils/src/utils_ringbuffer.o + .debug_str 0x00114dd1 0x24 hal/utils/src/utils_ringbuffer.o 0x1067d9 (size before relaxing) - .debug_str 0x00114e03 0x892 hpl/core/hpl_core_m4.o + .debug_str 0x00114df5 0x892 hpl/core/hpl_core_m4.o 0x10780c (size before relaxing) - .debug_str 0x00115695 0x310e hpl/core/hpl_init.o + .debug_str 0x00115687 0x310e hpl/core/hpl_init.o 0x10ab6d (size before relaxing) - .debug_str 0x001187a3 0xbf4 hpl/gclk/hpl_gclk.o + .debug_str 0x00118795 0xbf4 hpl/gclk/hpl_gclk.o 0x107470 (size before relaxing) - .debug_str 0x00119397 0x47 hpl/mclk/hpl_mclk.o + .debug_str 0x00119389 0x47 hpl/mclk/hpl_mclk.o 0x106d30 (size before relaxing) - .debug_str 0x001193de 0x50f hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_str 0x001193d0 0x50f hpl/osc32kctrl/hpl_osc32kctrl.o 0x106c55 (size before relaxing) - .debug_str 0x001198ed 0xb8d hpl/oscctrl/hpl_oscctrl.o + .debug_str 0x001198df 0xb8d hpl/oscctrl/hpl_oscctrl.o 0x107e90 (size before relaxing) - .debug_str 0x0011a47a 0x25d hpl/ramecc/hpl_ramecc.o + .debug_str 0x0011a46c 0x25d hpl/ramecc/hpl_ramecc.o 0x10767b (size before relaxing) - .debug_str 0x0011a6d7 0x4b81 hpl/sercom/hpl_sercom.o + .debug_str 0x0011a6c9 0x4b81 hpl/sercom/hpl_sercom.o 0x10d1bf (size before relaxing) - .debug_str 0x0011f258 0xa2d hpl/tc/hpl_tc.o + .debug_str 0x0011f24a 0xa2d hpl/tc/hpl_tc.o 0x10859f (size before relaxing) - .debug_str 0x0011fc85 0x27 main.o + .debug_str 0x0011fc77 0x27 main.o 0x10cbaa (size before relaxing) - .debug_str 0x0011fcac 0x577 oracle.o + .debug_str 0x0011fc9e 0x577 oracle.o 0x112db6 (size before relaxing) - .debug_str 0x00120223 0x667 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_str 0x00120215 0x667 thirdparty/lvgl/src/lv_core/lv_debug.o 0xac91 (size before relaxing) - .debug_str 0x0012088a 0x12a thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_str 0x0012087c 0x12a thirdparty/lvgl/src/lv_core/lv_disp.o 0xa88d (size before relaxing) - .debug_str 0x001209b4 0xc85 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_str 0x001209a6 0xc85 thirdparty/lvgl/src/lv_core/lv_group.o 0xb720 (size before relaxing) - .debug_str 0x00121639 0xa15 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_str 0x0012162b 0xa15 thirdparty/lvgl/src/lv_core/lv_indev.o 0xb81c (size before relaxing) - .debug_str 0x0012204e 0x2ecb thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_str 0x00122040 0x2ecb thirdparty/lvgl/src/lv_core/lv_obj.o 0xf0d2 (size before relaxing) - .debug_str 0x00124f19 0x32f thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_str 0x00124f0b 0x32f thirdparty/lvgl/src/lv_core/lv_refr.o 0xb319 (size before relaxing) - .debug_str 0x00125248 0x31a thirdparty/lvgl/src/lv_core/lv_style.o + .debug_str 0x0012523a 0x31a thirdparty/lvgl/src/lv_core/lv_style.o 0xad71 (size before relaxing) - .debug_str 0x00125562 0x7a2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_str 0x00125554 0x7a2 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o 0xb01f (size before relaxing) - .debug_str 0x00125d04 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_str 0x00125cf6 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_img.o 0xb5a7 (size before relaxing) - .debug_str 0x0012609c 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_str 0x0012608e 0x398 thirdparty/lvgl/src/lv_draw/lv_draw_label.o 0xb567 (size before relaxing) - .debug_str 0x00126434 0x23e thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_str 0x00126426 0x23e thirdparty/lvgl/src/lv_draw/lv_draw_line.o 0xc07d (size before relaxing) - .debug_str 0x00126672 0x329 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_str 0x00126664 0x329 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o 0xb2fd (size before relaxing) - .debug_str 0x0012699b 0x2fa thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_str 0x0012698d 0x2fa thirdparty/lvgl/src/lv_draw/lv_draw_rect.o 0xb74e (size before relaxing) - .debug_str 0x00126c95 0x108 thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_str 0x00126c87 0x108 thirdparty/lvgl/src/lv_draw/lv_img_buf.o 0x9d97 (size before relaxing) - .debug_str 0x00126d9d 0xdf thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_str 0x00126d8f 0xdf thirdparty/lvgl/src/lv_draw/lv_img_cache.o 0xae77 (size before relaxing) - .debug_str 0x00126e7c 0x49a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_str 0x00126e6e 0x49a thirdparty/lvgl/src/lv_draw/lv_img_decoder.o 0xb68b (size before relaxing) - .debug_str 0x00127316 0x3d thirdparty/lvgl/src/lv_font/lv_font.o + .debug_str 0x00127308 0x3d thirdparty/lvgl/src/lv_font/lv_font.o 0x80f7 (size before relaxing) - .debug_str 0x00127353 0x50b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_str 0x00127345 0x50b thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o 0xac81 (size before relaxing) - .debug_str 0x0012785e 0xe9 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o + .debug_str 0x00127850 0xe9 thirdparty/lvgl/src/lv_font/lv_font_montserrat_16.o 0xb60f (size before relaxing) - .debug_str 0x00127947 0x158 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_str 0x00127939 0x158 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o 0xb774 (size before relaxing) - .debug_str 0x00127a9f 0x6e thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_str 0x00127a91 0x6e thirdparty/lvgl/src/lv_hal/lv_hal_indev.o 0xb502 (size before relaxing) - .debug_str 0x00127b0d 0x50 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_str 0x00127aff 0x50 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o 0x4848 (size before relaxing) - .debug_str 0x00127b5d 0x1d1 thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_str 0x00127b4f 0x1d1 thirdparty/lvgl/src/lv_misc/lv_anim.o 0xb022 (size before relaxing) - .debug_str 0x00127d2e 0xc3 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_str 0x00127d20 0xc3 thirdparty/lvgl/src/lv_misc/lv_area.o 0x7edf (size before relaxing) - .debug_str 0x00127df1 0xcd thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_str 0x00127de3 0xcd thirdparty/lvgl/src/lv_misc/lv_color.o 0x5489 (size before relaxing) - .debug_str 0x00127ebe 0x1a4 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_str 0x00127eb0 0x1a4 thirdparty/lvgl/src/lv_misc/lv_fs.o 0xb0cb (size before relaxing) - .debug_str 0x00128062 0x90 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_str 0x00128054 0x90 thirdparty/lvgl/src/lv_misc/lv_gc.o 0x9e58 (size before relaxing) - .debug_str 0x001280f2 0x18a thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_str 0x001280e4 0x18a thirdparty/lvgl/src/lv_misc/lv_ll.o 0x7a92 (size before relaxing) - .debug_str 0x0012827c 0x6d thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_str 0x0012826e 0x6d thirdparty/lvgl/src/lv_misc/lv_log.o 0x7862 (size before relaxing) - .debug_str 0x001282e9 0x8a thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_str 0x001282db 0x8a thirdparty/lvgl/src/lv_misc/lv_math.o 0x79d8 (size before relaxing) - .debug_str 0x00128373 0x28f thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_str 0x00128365 0x28f thirdparty/lvgl/src/lv_misc/lv_mem.o 0xa185 (size before relaxing) - .debug_str 0x00128602 0x2e8 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_str 0x001285f4 0x2e8 thirdparty/lvgl/src/lv_misc/lv_printf.o 0x4c45 (size before relaxing) - .debug_str 0x001288ea 0x1da thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_str 0x001288dc 0x1da thirdparty/lvgl/src/lv_misc/lv_task.o 0xaff1 (size before relaxing) - .debug_str 0x00128ac4 0x290 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_str 0x00128ab6 0x290 thirdparty/lvgl/src/lv_misc/lv_txt.o 0x8902 (size before relaxing) - .debug_str 0x00128d54 0x56 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_str 0x00128d46 0x56 thirdparty/lvgl/src/lv_misc/lv_utils.o 0x868f (size before relaxing) - .debug_str 0x00128daa 0xdd thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_str 0x00128d9c 0xdd thirdparty/lvgl/src/lv_themes/lv_theme.o 0xa968 (size before relaxing) - .debug_str 0x00128e87 0x1953 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_str 0x00128e79 0x1953 thirdparty/lvgl/src/lv_themes/lv_theme_material.o 0xe456 (size before relaxing) - .debug_str 0x0012a7da 0x2ca thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_str 0x0012a7cc 0x2ca thirdparty/lvgl/src/lv_widgets/lv_img.o 0xcacd (size before relaxing) - .debug_str 0x0012aaa4 0x563 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_str 0x0012aa96 0x563 thirdparty/lvgl/src/lv_widgets/lv_label.o 0xc90e (size before relaxing) -.debug_frame 0x00000000 0x64d4 +.debug_frame 0x00000000 0x64d8 .debug_frame 0x00000000 0x54 devices/display/p_ssd1963.o .debug_frame 0x00000054 0x38 Device_Startup/startup_same54.o - .debug_frame 0x0000008c 0xbc drivers/p_gpio.o - .debug_frame 0x00000148 0x20 drivers/p_i2c.o - .debug_frame 0x00000168 0x58 drivers/p_tcc.o - .debug_frame 0x000001c0 0x64 drivers/p_usart.o - .debug_frame 0x00000224 0x40 hal/src/hal_atomic.o - .debug_frame 0x00000264 0x68 hal/src/hal_delay.o - .debug_frame 0x000002cc 0x58 hal/src/hal_io.o - .debug_frame 0x00000324 0x148 hal/src/hal_timer.o - .debug_frame 0x0000046c 0x2b0 hal/src/hal_usart_async.o - .debug_frame 0x0000071c 0x20 hal/utils/src/utils_assert.o - .debug_frame 0x0000073c 0x9c hal/utils/src/utils_list.o - .debug_frame 0x000007d8 0x94 hal/utils/src/utils_ringbuffer.o - .debug_frame 0x0000086c 0xec hpl/core/hpl_core_m4.o - .debug_frame 0x00000958 0x28 hpl/core/hpl_init.o - .debug_frame 0x00000980 0x30 hpl/gclk/hpl_gclk.o - .debug_frame 0x000009b0 0x20 hpl/mclk/hpl_mclk.o - .debug_frame 0x000009d0 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o - .debug_frame 0x000009f0 0x30 hpl/oscctrl/hpl_oscctrl.o - .debug_frame 0x00000a20 0x4c hpl/ramecc/hpl_ramecc.o - .debug_frame 0x00000a6c 0xec4 hpl/sercom/hpl_sercom.o - .debug_frame 0x00001930 0x10c hpl/tc/hpl_tc.o - .debug_frame 0x00001a3c 0x28 main.o - .debug_frame 0x00001a64 0x48 oracle.o - .debug_frame 0x00001aac 0x120 thirdparty/lvgl/src/lv_core/lv_debug.o - .debug_frame 0x00001bcc 0x10c thirdparty/lvgl/src/lv_core/lv_disp.o - .debug_frame 0x00001cd8 0x284 thirdparty/lvgl/src/lv_core/lv_group.o - .debug_frame 0x00001f5c 0x2a0 thirdparty/lvgl/src/lv_core/lv_indev.o - .debug_frame 0x000021fc 0x1328 thirdparty/lvgl/src/lv_core/lv_obj.o - .debug_frame 0x00003524 0x168 thirdparty/lvgl/src/lv_core/lv_refr.o - .debug_frame 0x0000368c 0x528 thirdparty/lvgl/src/lv_core/lv_style.o - .debug_frame 0x00003bb4 0xb0 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o - .debug_frame 0x00003c64 0xf0 thirdparty/lvgl/src/lv_draw/lv_draw_img.o - .debug_frame 0x00003d54 0x68 thirdparty/lvgl/src/lv_draw/lv_draw_label.o - .debug_frame 0x00003dbc 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_line.o - .debug_frame 0x00003e18 0x234 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o - .debug_frame 0x0000404c 0x9c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o - .debug_frame 0x000040e8 0x19c thirdparty/lvgl/src/lv_draw/lv_img_buf.o - .debug_frame 0x00004284 0x8c thirdparty/lvgl/src/lv_draw/lv_img_cache.o - .debug_frame 0x00004310 0x1d0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o - .debug_frame 0x000044e0 0x60 thirdparty/lvgl/src/lv_font/lv_font.o - .debug_frame 0x00004540 0xe8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o - .debug_frame 0x00004628 0x1c0 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o - .debug_frame 0x000047e8 0xa4 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o - .debug_frame 0x0000488c 0x48 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o - .debug_frame 0x000048d4 0x1fc thirdparty/lvgl/src/lv_misc/lv_anim.o - .debug_frame 0x00004ad0 0x154 thirdparty/lvgl/src/lv_misc/lv_area.o - .debug_frame 0x00004c24 0xcc thirdparty/lvgl/src/lv_misc/lv_color.o - .debug_frame 0x00004cf0 0x324 thirdparty/lvgl/src/lv_misc/lv_fs.o - .debug_frame 0x00005014 0x28 thirdparty/lvgl/src/lv_misc/lv_gc.o - .debug_frame 0x0000503c 0x1e4 thirdparty/lvgl/src/lv_misc/lv_ll.o - .debug_frame 0x00005220 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o - .debug_frame 0x00005268 0x88 thirdparty/lvgl/src/lv_misc/lv_math.o - .debug_frame 0x000052f0 0x244 thirdparty/lvgl/src/lv_misc/lv_mem.o - .debug_frame 0x00005534 0x138 thirdparty/lvgl/src/lv_misc/lv_printf.o - .debug_frame 0x0000566c 0x170 thirdparty/lvgl/src/lv_misc/lv_task.o - .debug_frame 0x000057dc 0x1f4 thirdparty/lvgl/src/lv_misc/lv_txt.o - .debug_frame 0x000059d0 0x68 thirdparty/lvgl/src/lv_misc/lv_utils.o - .debug_frame 0x00005a38 0xb8 thirdparty/lvgl/src/lv_themes/lv_theme.o - .debug_frame 0x00005af0 0x150 thirdparty/lvgl/src/lv_themes/lv_theme_material.o - .debug_frame 0x00005c40 0x2ec thirdparty/lvgl/src/lv_widgets/lv_img.o - .debug_frame 0x00005f2c 0x4b4 thirdparty/lvgl/src/lv_widgets/lv_label.o - .debug_frame 0x000063e0 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) - .debug_frame 0x0000640c 0x34 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) - .debug_frame 0x00006440 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) - .debug_frame 0x0000646c 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) - .debug_frame 0x00006494 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) - .debug_frame 0x000064b4 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) + .debug_frame 0x0000008c 0xc0 drivers/p_gpio.o + .debug_frame 0x0000014c 0x20 drivers/p_i2c.o + .debug_frame 0x0000016c 0x58 drivers/p_tcc.o + .debug_frame 0x000001c4 0x64 drivers/p_usart.o + .debug_frame 0x00000228 0x40 hal/src/hal_atomic.o + .debug_frame 0x00000268 0x68 hal/src/hal_delay.o + .debug_frame 0x000002d0 0x58 hal/src/hal_io.o + .debug_frame 0x00000328 0x148 hal/src/hal_timer.o + .debug_frame 0x00000470 0x2b0 hal/src/hal_usart_async.o + .debug_frame 0x00000720 0x20 hal/utils/src/utils_assert.o + .debug_frame 0x00000740 0x9c hal/utils/src/utils_list.o + .debug_frame 0x000007dc 0x94 hal/utils/src/utils_ringbuffer.o + .debug_frame 0x00000870 0xec hpl/core/hpl_core_m4.o + .debug_frame 0x0000095c 0x28 hpl/core/hpl_init.o + .debug_frame 0x00000984 0x30 hpl/gclk/hpl_gclk.o + .debug_frame 0x000009b4 0x20 hpl/mclk/hpl_mclk.o + .debug_frame 0x000009d4 0x20 hpl/osc32kctrl/hpl_osc32kctrl.o + .debug_frame 0x000009f4 0x30 hpl/oscctrl/hpl_oscctrl.o + .debug_frame 0x00000a24 0x4c hpl/ramecc/hpl_ramecc.o + .debug_frame 0x00000a70 0xec4 hpl/sercom/hpl_sercom.o + .debug_frame 0x00001934 0x10c hpl/tc/hpl_tc.o + .debug_frame 0x00001a40 0x28 main.o + .debug_frame 0x00001a68 0x48 oracle.o + .debug_frame 0x00001ab0 0x120 thirdparty/lvgl/src/lv_core/lv_debug.o + .debug_frame 0x00001bd0 0x10c thirdparty/lvgl/src/lv_core/lv_disp.o + .debug_frame 0x00001cdc 0x284 thirdparty/lvgl/src/lv_core/lv_group.o + .debug_frame 0x00001f60 0x2a0 thirdparty/lvgl/src/lv_core/lv_indev.o + .debug_frame 0x00002200 0x1328 thirdparty/lvgl/src/lv_core/lv_obj.o + .debug_frame 0x00003528 0x168 thirdparty/lvgl/src/lv_core/lv_refr.o + .debug_frame 0x00003690 0x528 thirdparty/lvgl/src/lv_core/lv_style.o + .debug_frame 0x00003bb8 0xb0 thirdparty/lvgl/src/lv_draw/lv_draw_blend.o + .debug_frame 0x00003c68 0xf0 thirdparty/lvgl/src/lv_draw/lv_draw_img.o + .debug_frame 0x00003d58 0x68 thirdparty/lvgl/src/lv_draw/lv_draw_label.o + .debug_frame 0x00003dc0 0x5c thirdparty/lvgl/src/lv_draw/lv_draw_line.o + .debug_frame 0x00003e1c 0x234 thirdparty/lvgl/src/lv_draw/lv_draw_mask.o + .debug_frame 0x00004050 0x9c thirdparty/lvgl/src/lv_draw/lv_draw_rect.o + .debug_frame 0x000040ec 0x19c thirdparty/lvgl/src/lv_draw/lv_img_buf.o + .debug_frame 0x00004288 0x8c thirdparty/lvgl/src/lv_draw/lv_img_cache.o + .debug_frame 0x00004314 0x1d0 thirdparty/lvgl/src/lv_draw/lv_img_decoder.o + .debug_frame 0x000044e4 0x60 thirdparty/lvgl/src/lv_font/lv_font.o + .debug_frame 0x00004544 0xe8 thirdparty/lvgl/src/lv_font/lv_font_fmt_txt.o + .debug_frame 0x0000462c 0x1c0 thirdparty/lvgl/src/lv_hal/lv_hal_disp.o + .debug_frame 0x000047ec 0xa4 thirdparty/lvgl/src/lv_hal/lv_hal_indev.o + .debug_frame 0x00004890 0x48 thirdparty/lvgl/src/lv_hal/lv_hal_tick.o + .debug_frame 0x000048d8 0x1fc thirdparty/lvgl/src/lv_misc/lv_anim.o + .debug_frame 0x00004ad4 0x154 thirdparty/lvgl/src/lv_misc/lv_area.o + .debug_frame 0x00004c28 0xcc thirdparty/lvgl/src/lv_misc/lv_color.o + .debug_frame 0x00004cf4 0x324 thirdparty/lvgl/src/lv_misc/lv_fs.o + .debug_frame 0x00005018 0x28 thirdparty/lvgl/src/lv_misc/lv_gc.o + .debug_frame 0x00005040 0x1e4 thirdparty/lvgl/src/lv_misc/lv_ll.o + .debug_frame 0x00005224 0x48 thirdparty/lvgl/src/lv_misc/lv_log.o + .debug_frame 0x0000526c 0x88 thirdparty/lvgl/src/lv_misc/lv_math.o + .debug_frame 0x000052f4 0x244 thirdparty/lvgl/src/lv_misc/lv_mem.o + .debug_frame 0x00005538 0x138 thirdparty/lvgl/src/lv_misc/lv_printf.o + .debug_frame 0x00005670 0x170 thirdparty/lvgl/src/lv_misc/lv_task.o + .debug_frame 0x000057e0 0x1f4 thirdparty/lvgl/src/lv_misc/lv_txt.o + .debug_frame 0x000059d4 0x68 thirdparty/lvgl/src/lv_misc/lv_utils.o + .debug_frame 0x00005a3c 0xb8 thirdparty/lvgl/src/lv_themes/lv_theme.o + .debug_frame 0x00005af4 0x150 thirdparty/lvgl/src/lv_themes/lv_theme_material.o + .debug_frame 0x00005c44 0x2ec thirdparty/lvgl/src/lv_widgets/lv_img.o + .debug_frame 0x00005f30 0x4b4 thirdparty/lvgl/src/lv_widgets/lv_label.o + .debug_frame 0x000063e4 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_aeabi_uldivmod.o) + .debug_frame 0x00006410 0x34 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/v7e-m\libgcc.a(_udivmoddi4.o) + .debug_frame 0x00006444 0x2c c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-init.o) + .debug_frame 0x00006470 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-memcmp.o) + .debug_frame 0x00006498 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcmp.o) + .debug_frame 0x000064b8 0x20 c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchain/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m\libc_nano.a(lib_a-strcpy.o) diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec index 86be5fd6..3e9e30a6 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/Debug/e54_gfx_learning.srec @@ -14,10 +14,10 @@ S2140000B0750F0000750F0000750F0000750F00002B S2140000C0750F0000750F0000750F0000750F00001B S2140000D0750F0000750F0000750F0000750F00000B S2140000E0750F0000750F0000000000000000000003 -S2140000F000000000711C0000750F0000750F000066 +S2140000F000000000591C0000750F0000750F00007E S214000100750F0000750F0000750F0000750F0000DA -S214000110750F0000750F0000CD1E0000E11E0000E8 -S214000120F51E0000091F0000750F0000750F000087 +S214000110750F0000750F0000B51E0000C91E000018 +S214000120DD1E0000F11E0000750F0000750F0000B8 S214000130750F0000750F0000750F0000750F0000AA S214000140750F0000750F0000750F0000750F00009A S214000150750F0000750F0000750F0000750F00008A @@ -29,7 +29,7 @@ S2140001A0750F0000750F0000750F0000750F00003A S2140001B0750F0000750F0000750F0000750F00002A S2140001C0750F0000750F0000750F0000750F00001A S2140001D0750F0000750F0000750F0000750F00000A -S2140001E0750F0000750F0000750F000091210000CC +S2140001E0750F0000750F0000750F000079210000E4 S2140001F0750F0000750F0000750F0000750F0000EA S214000200750F0000750F0000750F0000750F0000D9 S214000210750F0000750F0000750F0000750F0000C9 @@ -39,11 +39,11 @@ S214000240750F0000750F0000750F0000750F000099 S214000250750F0000750F0000750F0000750F000089 S214000260750F000010B5054C237833B9044B13B155 S2140002700448AFF300800123237010BD78000020EF -S214000280000000003C9A02000C4B43B10C480D499C +S21400028000000000249A02000C4B43B10C480D49B4 S21400029010B5AFF300800C48036823B910BD0A48B8 S2140002A0036833B97047094B002BF7D0BDE8104000 S2140002B01847064B002BF5D0184700BF000000007B -S2140002C03C9A02007C0000203C9A020000000000DD +S2140002C0249A02007C000020249A0200000000000D S2140002D070B500BF8C4C1026A66132208B4DA84707 S2140002E0666100BF3220A847A6613220A84700BF3B S2140002F0402666610A20A847A6610520A8476661D1 @@ -57,10 +57,10 @@ S21400036001226C496C486D4B9847674C4025A56147 S2140003701420664B984765616561654B1B7823B909 S214000380202262610122624B1A70E22261496248B1 S214000390624B98475C4B40229A615A615C4B1B78D3 -S2140003A02BB12022584B9A610022594B1A702322F7 +S2140003A02BB12022584B9A610022594B1A702F22EB S2140003B058495948594B9847534B40229A615A61BD S2140003C0534B1B782BB120224F4B9A610022504B87 -S2140003D01A7002224F495048504B98474A4B4022C9 +S2140003D01A7003224F495048504B98474A4B4022C8 S2140003E09A615A614A4B1B782BB12022464B9A6180 S2140003F00022474B1A70542246494748474B9847B5 S214000400414B40229A615A61414B1B782BB92022FE @@ -78,14 +78,14 @@ S2140004B01A70012217491848184B9847124C4025C5 S2140004C0A5610120114B98476561114B1B7823B934 S2140004D02022626101220E4B1A70E6220D490E4858 S2140004E00E4B9847084B40229A615A61084B1B787E -S2140004F02BB12022044B9A610022054B1A7004226D -S214000500044905480EE000BF0080004121150000A8 +S2140004F02BB12022044B9A610022054B1A70012270 +S214000500044905480EE000BF0080004109150000C0 S21400051000000020F7C3031C80800041411000004B -S214000520011500008A4B98478A4B40229A615A610F +S214000520E91400008A4B98478A4B40229A615A6128 S214000530894B1B782BB12022864B9A610022864B72 -S2140005401A703A2285498648814B9847814B40224B +S2140005401A70CC2285498648814B9847814B4022B9 S2140005509A615A61804B1B782BB120227D4B9A61A1 -S21400056000227D4B1A70B6227C497D48784B98470E +S21400056000227D4B1A70CC227C497D48784B9847F8 S214000570784B40229A615A61774B1B782BB9202220 S214000580744B5A610122744B1A70B0227349744836 S2140005906F4B98476F4B40229A615A616E4B1B789F @@ -117,7 +117,7 @@ S2140007200C4B40229A615A610B4B1B782BB120224E S214000730084B9A610022084B1A7055220749084850 S214000740034B9847034B40229A615A6110E000BF62 S214000750411000000080004100000020F7C3031C89 -S21400076080800041E10E0100ED0E0100150F010032 +S21400076080800041C90E0100D50E0100FD0E01007B S2140007708A4B1B782BB92022894B5A610122874B62 S2140007801A70B42287498848884B9847844B402281 S2140007909A615A61814B1B782BB12022804B9A615B @@ -204,7 +204,7 @@ S214000C900080004100000020F7C3031C8080004154 S214000CA0411000002DE9F84FB1F90430002B0FDB9E S214000CB081468A461546B1F90630002B08DBB1F9A5 S214000CC00040044B9847044B98470138844205DDA2 -S214000CD0BDE8F88FE10E0100ED0E0100BAF9024002 +S214000CD0BDE8F88FC90E0100D50E0100BAF9024032 S214000CE0944B9847944B984701388442F0DCBAF905 S214000CF0006026EAE676BAF9024024EAE474A346DF S214000D00BAF904708B4B98478C4B9847013887424A @@ -242,11 +242,11 @@ S214000EF0C6F101063E44B6B2D8450EDB5F00DFF809 S214000F0048B0DFF854A033462A4659460F48D04723 S214000F103D44013424B2A045F5DA4022084B9A61DC S214000F2048460C4B9847D3E6024B9847034B9847E6 -S214000F30471EF1E6E10E0100150F0100ED0E01005F +S214000F30471EF1E6C90E0100FD0E0100D50E0100A8 S214000F400080004100000020F7C3031C80800041A1 -S214000F5041100000AD0F010079100000034B9847C8 -S214000F60034B984700F1FF38E2E600BFE10E0100B0 -S214000F70150F0100FEE7000008B51C4B1C4A9A42FC +S214000F5041100000950F010061100000034B9847F8 +S214000F60034B984700F1FF38E2E600BFC90E0100C8 +S214000F70FD0E0100FEE7000008B51C4B1C4A9A4215 S214000F8010D01C4B194A9A420CD2013B9B1A23F0F4 S214000F90030304331344164951F8040B42F8040BB8 S214000FA09A42F9D1144B154A9A420AD2013B9B1A2F @@ -254,10418 +254,10416 @@ S214000FB023F0030304331344002142F8041B934236 S214000FC0FBD10F4B0F4A22F07F029A60D3F888209D S214000FD042F47002C3F88820BFF34F8FBFF36F8FC1 S214000FE0094B9847094B9847FEE700BF00000020D2 -S214000FF03C9A020074000020046E00207800002056 -S21400100000ED00E00000000095B40100B1210000F2 +S214000FF0249A020074000020046E0020780000206E +S21400100000ED00E0000000007DB401009921000022 S21400101010B4530003F47C73540104F47034234377 S21400102002F007042343520302F0E0521A4302EA96 S2140010300103836121EA020141615DF8044B7047B8 -S21400104010B540240A4B5C610A4B9847082300BF42 -S214001050013BFCD18022064B5A61082300BF013BAE -S214001060FCD1034B80229A6140229A6110BD00BFDA -S21400107000800041111000008BB12DE9F0410F46B1 -S2140010800646144602EB4305DFF8148034F8022BBC -S21400109039463046C047AC42F8D1BDE8F0817047CB -S2140010A0411000002DE9F04F83B08B4600924001BE -S2140010B0C3B201930026DFF8949165E009EBC713ED -S2140010C05D60AAB242F080429A622A0C42F0404228 -S2140010D09A62009B1B78012B77D023B3022B00F07B -S2140010E08480892257490020574B984724E009EB13 -S2140010F0C7125560ABB243F0804343F400339362AB -S2140011002B0C43F0404343F400339362E1E709EBD2 -S214001110C7139D60AAB242F080429A622A0C42F03F -S21400112040429A62D5E709EBC713434493F8402040 -S21400113002F0FB0283F84020009B5A686409B2F173 -S214001140FF3F62D0E4B209EBC411414491F840304D -S21400115003F0FE0343F0010381F840301AF0010F5C -S2140011605ED109EBC41404EB580898F8303003F04D -S214001170F00302F00F021A4388F8302009EBC71775 -S2140011807D610136202E59D0F4B22BFA06F313F007 -S214001190010FF6D004F01F04019B1C445FFA84FA8A -S2140011A04FEA5A170AF01F08012505FA08F5009BB2 -S2140011B05B78012B9BD0002B80D0022BA7D0462239 -S2140011C020490020204B984783E7012303FA08F3C1 -S2140011D009EBC712536002EB080090F8401041F08C -S2140011E0040180F840109361A6E7012303FA08F390 -S2140011F009EBC712536002EB080090F8401041F06C -S214001200040180F84010536196E7E4B209EBC41479 -S214001210A04498F8403003F0FE0388F84030ADE76D -S21400122009EBC41404EB580898F8303003F00F03A9 -S21400123043EA0212D2B288F830209FE703B0BDE836 -S214001240F08F00BF30B50100D519000000800041C6 -S21400125070B582B00023009302238DF801304FF062 -S214001260FF3301936A463F4901203F4B98473F4B67 -S21400127040269E603E4A9A624FF040429A6293F839 -S214001280461001F0FB0183F8461093F8461001F073 -S214001290FE0183F8461010259D60364999629A62D1 -S2140012A093F8441001F0FB0183F8441093F84410BF -S2140012B001F0FE0183F8441008249C602E499962D0 -S2140012C09A6293F8431001F0FB0183F8431093F8F9 -S2140012D0431001F0FE0183F843102021996001F1CC -S2140012E0804199629A6293F8451001F0FB0183F8F9 -S2140012F0451093F8451001F0FE0183F84510802054 -S21400130098601E4999629A6293F8472002F0FB02A1 -S21400131083F8472093F8472002F0FE0283F8472020 -S2140013204FF48072C3F8842101F500318031C3F890 -S214001330A8111349C3F8A811C3F8842193F8C8115B -S21400134041F0040183F8C811C3F8942193F8C8212A -S21400135002F0FE0283F8C8219E619D619C6198613F -S21400136002B070BDF7C3031CA5100000008000414A -S2140013704000004010000040080000408000004090 -S214001380000002C07047000008B50649D1E90023F6 -S214001390013243F10003C1E900230120024B9847C4 -S2140013A008BD00BF980000204510010010B5114888 -S2140013B0114B9847114A536943F4804353614022C6 -S2140013C00F4BC3F8A4200F4B98470F4C02460F490B -S2140013D020460F4B98470F4901230B610E4A4A617E -S2140013E00B76083120460D4B984720460C4B984705 -S2140013F010BD00BF10E000E0ED1400000008004043 -S214001400001C00404B210000046C00200038004007 -S214001410491600009800002089130000C11600003D -S2140014208516000030B583B01F4B4022C3F8DC2081 -S2140014304322C3F88C201D4A936943F400739361DA -S2140014401B4C0023009310231A4A1B4920461B4DB1 -S214001450A8471B4B93F8D82002F0FE0242F0010288 -S21400146083F8D82093F8BC2002F0F00242F0030282 -S21400147083F8BC2093F8D92002F0FE0242F0010265 -S21400148083F8D92093F8BC2002F00F0242F0300215 -S21400149083F8BC2020460B4B98470C220A4920466E -S2140014A00A4B984703B030BD001C004000080040BF -S2140014B0206C0020B4000020002001411919000013 -S2140014C000800041A919000004000020411500001A -S2140014D0EFF31083036072B6BFF35F8F7047BFF3FE -S2140014E05F8F036883F310887047000008B5024BCF -S2140014F01860024B984708BDC4000020891B0000F6 -S21400150010B5044B1C68044B984701462046034B15 -S214001510984710BDC4000020511B0000911B00001E -S21400152010B5044B1C68044B984701462046034BF5 -S214001530984710BDC4000020691B0000911B0000E6 -S21400154070B50D461646044660B1081C18BF01204B -S21400155034220549054B98472368324629462046DB -S214001560984770BD0020F3E74CB50100D519000080 -S214001570F8B5844607682FB18D683C460026C2F150 -S214001580010E0BE00E4B9847F8BD7344A068034469 -S214001590AB420AD22368264653B11C466368934280 -S2140015A0F3D8A06803449B1AF2E7A74204D0344657 -S2140015B02046044B9847F8BD6046014B9847F8BD57 -S2140015C0FD190000291A00002DE9F0474469076953 -S2140015D001370761037E13F0010F13D1037E13F06A -S2140015E0020F0FD154B36368FB1AA268934207D365 -S2140015F0064600F11408DFF84890DFF848A012E02D -S214001600BDE8F087037E43F002030376BDE8F0876B -S2140016107569E3682046984785B12C466B68FB1AC7 -S214001620AA6893420AD34046C847237C012BEFD1D1 -S21400163067603A4621464046D047E9E7BDE8F0876E -S214001640311A00007115000038B50D46044678B111 -S214001650081C18BF01203B220649074B984729461D -S2140016602046064B984700202061054B236038BD76 -S2140016700020F0E760B50100D51900007D1F0000CE -S214001680C915000010B5044653220949003018BF9A -S2140016900120084B98472046074B984720B920461C -S2140016A0064B9847002010BD6FF0100010BD00BF1D -S2140016B060B50100D5190000392100002521000081 -S2140016C070B582B00D46044618B3081C18BF01203A -S2140016D07A221E491E4B9847237E43F00103237649 -S2140016E004F11406294630461A4B984798B92369E0 -S2140016F06B60226929463046174B9847237E03F0D5 -S214001700FE032376237E13F0020F10D1002002B0D2 -S21400171070BD0020DCE7237E03F0FE0323767F22E5 -S2140017200A4900200A4B98476FF01100EFE701A81E -S2140017300A4B9847237E03F0FD0323762046084B8A -S214001740984701A8074B98470020E0E760B50100DE -S214001750D5190000DB19000071150000D114000037 -S21400176051210000DF14000008B500238362C3691E -S2140017701BB1A0F108021046984708BD08B5002323 -S2140017808362436A1BB1A0F108021046984708BD61 -S21400179038B50446A0F108052C30034B9847236A59 -S2140017A00BB12846984738BDD11A000070B50E46D2 -S2140017B015460446E0B1E9B1101C18BF012040F2FE -S2140017C03B120F490F4B9847B4F84420B4F84C30FE -S2140017D09A4211D1A664A4F84C500023A4F84430D1 -S2140017E00123236304F10800074B9847284670BD81 -S2140017F00020E4E70020E2E76FF01B0070BD00BFAA -S21400180078B50100D5190000BB1E000010B50446CF -S214001810838FB0F844209A4209D0026C591C818705 -S214001820D15C044B98472046034B984710BD034BAA -S214001830984710BDB51E0000BB1E0000C31E00006A -S2140018402DE9F04782B00F4690460646A0B199B102 -S214001850002A2DD14FF4AC7229490020294B984715 -S21400186001A8294B984706F13400284B984701A851 -S214001870274B984700253EE04FF4AC7220490020E5 -S214001880204B984701A8204B984706F1340A50464B -S2140018901E4B9847814601A81D4B9847B9F1000F8B -S2140018A004D0B8F1000F19D1002524E0002522E06D -S2140018B04FF4AC7212490120124B984701A8124B04 -S2140018C0984706F1340A5046104B9847814601A8BF -S2140018D00F4B98470025B9F1000F0CD000240D4E91 -S2140018E0601C85B239195046B04701344C4502D2C7 -S2140018F0A3B29845F4D8284602B0BDE8F08700BFEA -S21400190078B50100D5190000D1140000111B0000A5 -S214001910DF1400008D1A0000F8B50D4616461F4667 -S214001920044620B329B332B3181C18BF01203A224C -S2140019301349144B98473A46314604F13400124B8B -S2140019409847D0B9294604F10800104B984703463B -S21400195058B90F4A62600F4A22600F4AA2600F4AC7 -S214001960E2600F4A22610F4A62611846F8BD002005 -S214001970DDE70020DBE70020D9E76FF00C03F4E793 -S21400198078B50100D51900003D1A00001D1E0000A4 -S21400199041180000AD1700000D1800009117000058 -S2140019A0691700007D17000010B50446612206493D -S2140019B0003018BF0120054B984704F10800044B7F -S2140019C09847002010BD00BF78B50100D51900006B -S2140019D0A11E000000B900BE704703684BB18B42E1 -S2140019E009D01B681BB19942FBD10120704700202B -S2140019F070470020704701207047000038B5044645 -S214001A000D46064B984780F0010039220449C0B2C3 -S214001A10044B984723682B60256038BDDB1900000F -S214001A2098B50100D519000003680B600160704787 -S214001A3003680BB11A6802601846704770B50E4608 -S214001A401546044678B181B1A2B1012028220D497D -S214001A500D4B98476B1E1D4209D163600020A060A5 -S214001A60E060266070BD0020F0E70020EEE76FF033 -S214001A700C0070BD282203490020034B98476B1EBC -S214001A80EBE700BFB8B50100D519000038B50D4624 -S214001A900446A0B1081C18BF012040220A490B4B7F -S214001AA09847A368E2689A420BD06268134022689F -S214001AB0D35C2B70A3680133A360002038BD0020E0 -S214001AC0EBE76FF0090038BDB8B50100D519000086 -S214001AD038B50D46044651220B49003018BF012088 -S214001AE00A4B9847E368626813402268D554E36857 -S214001AF06168A2689A1A8A4284BF591AA1600133A3 -S214001B00E360002038BD00BFB8B50100D51900005D -S214001B1010B5044667220549003018BF0120044B63 -S214001B209847E068A368C01A10BD00BFB8B50100AA -S214001B30D5190000430900F01F00012202FA00F048 -S214001B404033024A42F82300704700BF00E100E03D -S214001B50C0EBC00000EB00100230024BA3FB0030CD -S214001B6040087047ABAAAAAAC0EBC00000EB001062 -S214001B700230044BA3FB003040084FF47A7303FB9B -S214001B8000F07047ABAAAAAA704700000000000049 -S214001B900139FDD8704700BF08B5094A13889BB2C3 -S214001BA043F4A0631380074B9847074B9847074BAF -S214001BB09847074B984740F6FF70064B984708BD76 -S214001BC000400041091C0000291C0000FD1B00000D -S214001BD02D1C0000D91B000010F0010F08D0054A8C -S214001BE0054B1A62194643F6FD724B681342FCD148 -S214001BF0704700BF07010100001C00400122014B96 -S214001C005A71704700080040064B42F28E329A82A4 -S214001C1000229A75DA75DA6902F47C52DA610122DA -S214001C201A74704700140040704700000E4A0F4BAD -S214001C305A631A46D36B13F0060FFBD10B4B4FF4C7 -S214001C4002629A63022283F830201A46D36B13F09E -S214001C50020FFBD1054B1A6C12F0010F03D11A6C60 -S214001C6012F0020FF7D070474D0E01000010004032 -S214001C7000B583B00D4B9B78DBB20193019B13F04C -S214001C80020F06D00A4B1B681BB1084A50689847DB -S214001C9009E0019B13F0010F05D0054B5B6813B1FB -S214001CA0024A5068984703B05DF804FB0000024102 -S214001CB0706C002070B489B006466C460D4D0FCD92 -S214001CC00FC495E80F0084E80F00009BB3420DD0C8 -S214001CD0314601AB012053F8042B8A4207D001306D -S214001CE00828F8D1002009B070BC70470020C0B2A8 -S214001CF0F9E700BFDCB5010010B58469237E13F058 -S214001D00010F03D0A37D13F0010F12D1237E13F031 -S214001D10020F03D0A37D13F0020F0FD1237E13F022 -S214001D20040F15D0638B03F0370363B1FF2363837F -S214001D3010BD012323750368984710BD0223237541 -S214001D408368984710BDA16A4368C9B2984710BD1A -S214001D50237EDB0900D110BD80232376C368984715 -S214001D60638B9BB26383F6E708B5034B9847800006 -S214001D702E3000F0FE0008BDB51C000010B504466D -S214001D80214B9847022805D040F26B221F490020BD -S214001D901F4B9847E36913F0010F19D1E36913F05D -S214001DA0030FFBD1236813F0020F0BD0236823F038 -S214001DB002032360E36913F0030FFBD1E36913F01A -S214001DC0020FFBD105232360E36913F0030FFBD159 -S214001DD0E36913F0010FFBD10E4B2360E36913F0A8 -S214001DE0030FFBD14FF440336360E36913F01F0F1A -S214001DF0FBD1094BA3604FF61143A3810020A073CB -S214001E0084F8300010BD00BFB51C000014B60100F9 -S214001E10D5190000040010400200700070B50D4691 -S214001E200646CB221849003018BF0120174B9847AA -S214001E302846174B9847044608B1204670BDB56142 -S214001E40144B9D4204BF144B1E602846134B984704 -S214001E50011DC9B2012500F01F0205FA02F243096E -S214001E609B0003F1604303F56143C3F88020BFF392 -S214001E704F8FBFF36F8FC3F880211A600130C0B256 -S214001E808142E8D1D9E700BF14B60100D519000099 -S214001E907D1D000000200141C8000020691D0000D3 -S214001EA08269136843F002031360D36913F0030FCB -S214001EB0FBD17047836999627047836901229A75DE -S214001EC07047836902229A757047000008B5024B76 -S214001ED01868024B984708BDC8000020F91C00008F -S214001EE008B5024B1868024B984708BDC80000208A -S214001EF0F91C000008B5024B1868024B984708BD4D -S214001F00C8000020F91C000008B5024B1868024BF8 -S214001F10984708BDC8000020F91C000070B588B0BE -S214001F2006466C46124D0FCD0FC495E80F0084E8A8 -S214001F300F00009BB3420BD0304601AA012352F893 -S214001F40041B814205D00133082BF8D100200BE09A -S214001F50002313F0FF0F09D04FF49E7205490020AE -S214001F60054B98474FF0FF3008B070BD0020FBE7E8 -S214001F7030B6010064B60100D519000070B50646FB -S214001F800C460846604B98470546F4608D225F492C -S214001F9001205F4B9847236913F0010F19D123697D -S214001FA013F0030FFBD1236813F0020F0BD0236846 -S214001FB023F002032360236913F0030FFBD1236988 -S214001FC013F0020FFBD101232360236913F0030FE4 -S214001FD0FBD1236913F0010FFBD105EB85034D4AB6 -S214001FE002EB83035A6A2260236913F0030FFBD1C6 -S214001FF005EB8503474901EB830393F82A10E17349 -S2140020001B8DE3800123237302F00C02082A48D0BC -S214002010002A58D105EB85033E4A02EB83039B8DCD -S214002020A383236913F0C00FFBD10023E383236946 -S21400203013F0C00FFBD101236372374B9C4204BFE1 -S214002040364B1E6005EB8503324A02EB8303B3F979 -S2140020502230002B23DB5A0903F01F03012101FA6B -S21400206003F320322E4941F82230BFF34F8FBFF3DF -S2140020706F8F05EB8505274B03EB8505B5F92230F9 -S214002080002B0CDB590903F01F03012202FA03F3AD -S214002090234A01F1600042F8203042F82130002047 -S2140020A070BD05EB85031B4A02EB8303DB6AE36125 -S2140020B0236913F0C00FFBD100232362236913F0BA -S2140020C0C00FFBD1B7E7042AB5D105EB8503114A4B -S2140020D002EB830393F82C302377236913F0C00FA9 -S2140020E0FBD100236377236913F0C00FFBD105EB08 -S2140020F08503084A02EB830393F82B30E3762369C3 -S21400210013F0200FFBD196E71D1F000064B60100F8 -S214002110D519000030B6010000380040CC00002081 -S21400212000E100E0C268136843F00203136013691D -S21400213013F0030FFBD17047C268136913F0030F47 -S214002140FBD11068C0F340007047002070470000C5 -S21400215010B5C068094B9847044640F20F1208496C -S2140021600120084B984704EB8404074B03EB8404D8 -S21400217094F82200054B984710BD00BF1D1F0000B5 -S21400218064B60100D519000030B60100351B00000A -S21400219008B5064B1868C3689A7A12F0010F00D18A -S2140021A008BD01229A7203689847F9E7CC00002020 -S2140021B008B5024B9847024CA047FDE7C521000032 -S2140021C09922000030B58DB01E4B98471E4B98479D -S2140021D01E4B98471E4B98471E4B98471E4B9847DA -S2140021E01E4B98471E4C4FF4965300221D4920461E -S2140021F01D4DA84701A81D4B98471D4B04930294FC -S21400220001A81C4B984700201B4B98470546002109 -S2140022101A4B984704461A491A4B9847002211460B -S2140022202046194CA04700212846184B98470546DB -S21400223023225A21A04716492846164B98470DB028 -S21400224030BD00BF991B0000251400008513000058 -S21400225051120000AD13000069280000D1020000F2 -S21400226050260020D0000020710D0100110D010045 -S214002270A50C0000910D01004D2300006D98010093 -S21400228078B60100119601003D34000005AB010050 -S214002290E03B020005A8010008B50120024B984764 -S2140022A0024B984708BD00BF21150000CD3701003E -S2140022B0003018BF01207047F0B5C3B0054614467D -S2140022C01C4B9847E5282CD8064602AF02462946FE -S2140022D03846194B9847BD192023BB5528236B70E9 -S2140022E03023AB707823EB70291D1C22134824FA88 -S2140022F002F303F00F0303441B7D01F8013B043A8D -S21400230012F1040FF3D129232B7300236B7302AB56 -S21400231000930B4BBC220B4903200B4CA04743B049 -S214002320F0BD0095064BBF2206490320064CA04789 -S214002330F5E700BF1FB5010055260100EC3B020083 -S214002340143C0200283C02005D22010008B1C06B6C -S214002350704710B582B0084B984710B1C06B02B0FA -S21400236010BD064B0093064B2E2206490220064C53 -S214002370A0470020F3E700BFE10E0100043E020084 -S214002380303D0200D83D02005D22010008B1006C1D -S214002390704710B582B0084B984710B1006C02B079 -S2140023A010BD064B0093064B4B2206490220064CF6 -S2140023B0A0470020F3E700BFE10E0100403E020008 -S2140023C0443D0200D83D02005D22010008B1406C89 -S2140023D0704710B582B0084B984710B1406C02B0F9 -S2140023E010BD064B0093064B5C2206490220064CA5 -S2140023F0A0470020F3E700BFE10E01007C3E02008C -S2140024005C3D0200D83D02005D220100A0B138B557 -S21400241003460024094D93F8342002F02002002AD7 -S21400242018BF1C461846A84703460028F3D114B127 -S2140024302046034B984738BD704700BF7D2C0000F0 -S214002440B53300002DE9F84F037D13F0010F2AD1B4 -S21400245017468A460646C4684FF001090025DFF88D -S214002460C480AB464AE0337D13F0100F00D1D5B9D7 -S214002470B9F1000F17D03046D0470446002D35D0AE -S214002480D94646E0F368A3420DD093B11868C369F5 -S214002490002217219847F36800220E2118681E4B69 -S2140024A09847012801D0BDE8F88FF36818681B4BE1 -S2140024B09847F4602068C369002216219847F3689D -S2140024C000220D211868144B98470128EBD1F368B9 -S2140024D01868134B9847F3681868104B9847336989 -S2140024E0002BE0D030469847BDE8F88F0028DAD0B9 -S2140024F00546D9462068C0470028C3D0002CB2D075 -S214002500002D08BF254621463046B8470446A84257 -S214002510C9D0002CEED1F1E7CD2A0000213300000F -S2140025200D240000A531000008B518210148024B13 -S214002530984708BDEC6D0020F91E010008B5024A58 -S2140025400249034B984708BDBD1F0100A91F0100A3 -S2140025504524000008B5024A0249034B984708BDC7 -S214002560E91F0100B31F01004524000038B50446EA -S214002570037DC3F3001543F01003037513F0080F33 -S2140025800CBF044B044B9847237D65F30413237557 -S21400259038BD00BF3D2500005525000000284FD05F -S2140025A0F0B583B005460C460746264B98470146CD -S2140025B0A0B103689C4207D0234E3846B047014678 -S2140025C060B10B68A342F8D1204B0093204B7522D4 -S2140025D020490120204CA04703B0F0BDA36B73B187 -S2140025E020461E4B984750B1A06B1D4B98471D4B7D -S2140025F00093174B7F2217490120174EB047A5635B -S2140026002846194B98470646184B984758B1002E4F -S214002610E2D0346028460B4B98478642DCD12846E9 -S2140026200F4B9847D8E70A4B0093852209490320A9 -S214002630094CA047324600230D480E498847FEE75E -S214002640704700BFA91F0100BD1F0100E83F020040 -S214002650983F0200AC3F02005D220100F94F0000E7 -S2140026606D250000244002005D1F0100B12200001D -S214002670D83F0200B92200002DE9F041D0F838809A -S214002680B8F1000F51D0D8F80C30002B4DD00546CD -S2140026901B6898421ED046464046254B984704463F -S2140026A0002842D003689D4209D0224F214630467A -S2140026B0B8470446002838D023689D42F6D1214604 -S2140026C040461D4B984720461C4B98470023AB635B -S2140026D0BDE8F08198F8143013F0010F05D098F893 -S2140026E014306FF3000388F814304046104B9847B8 -S2140026F0D8F80C3083420BD04046114B9847D8F898 -S2140027000C301B689D4204BF0023C8F80C30C2E79B -S21400271040460C4B9847D8F80C309842ECD10068ED -S214002720C369002217219847E9E7BDE8F08100BF9A -S214002730A91F0100BD1F010095200100C52401004E -S2140027406D250000B31F010018B1C3681BB11868DF -S2140027507047002070470020704718B1007DC0F316 -S2140027604000704700207047014B5868704700BF14 -S21400277074260020F8B5B0B1034690F8502042F019 -S214002780020280F85020184A5268904204D039B1AC -S214002790DA6B914204D0F8BD0020134A1060F6E7C9 -S2140027A00022DA63F8BD0C460020104B984703461B -S2140027B00028F0D00C4D00270C4E05E0DF631846CD -S2140027C0B04703460028E6D093F8502042F00202B5 -S2140027D083F850206A689A4208BF2F60002CEDD01C -S2140027E0DA6B9442EBD1E9E7742600202110010051 -S2140027F008B500210846014B984708BD752700001C -S214002800014B1868704700BF742600202DE9F0477A -S2140028108946904600F1040A5046114B9847E0B1AD -S21400282004461FFA89F61FFA88F50E4F238A3344AA -S2140028302382638A2B446382A38A3344A382E38A77 -S2140028402B44E382424649462046FFF7DFFF2146F7 -S2140028505046B84704460028E8D1BDE8F08700BFD8 -S214002860A91F0100BD1F010030B585B0214B1B78A4 -S214002870002B36D1204B9847204B9847204B984743 -S214002880204B9847204B984710212048204CA047C3 -S214002890204B02930193009302224FF01F014FF644 -S2140028A000001D4DA8471D4B98471D4B98474FF4F9 -S2140028B0B8711C48A04760211B48A0471B4B98478F -S2140028C01B4B984701201B4B98470120094B18705B -S2140028D0194B0093194BA22219491A4CA04705B070 -S2140028E030BD194B0093154B782215490220154C24 -S2140028F0A047F4E77C260020BD230100ED3501004B -S214002900791C01009D120100292500003C6D002065 -S214002910F91E010010000020496B0100D1410100A2 -S214002920555E0000986C00208C6C0020F12700009B -S214002930C1FF00002DF400001C48020058400200B1 -S214002940DC4702005D2201000448020030B583B077 -S21400295004460D460C4B984738B194F8343065F36E -S214002960C71384F8343003B030BD084B009340F2F0 -S214002970945207490320074DA847224600230648DD -S21400298006498847FEE700BFB1220000B4400200B7 -S214002990DC4702005D2201003C480200B92200002C -S2140029A030B583B004460D460C4B984738B194F8C2 -S2140029B0343065F3000384F8343003B030BD084B80 -S2140029C000934FF4B46207490320074DA8472246F8 -S2140029D00023064806498847FEE700BFB1220000EC -S2140029E0CC400200DC4702005D2201003C480200A9 -S2140029F0B92200002DE9F04186B0074615461E466E -S214002A000C4621B10846284B9847002833D003943B -S214002A1000238DF810300593244B5B6803B10593B3 -S214002A20224B03AA5A60D3F808809E60204B984732 -S214002A3018B183680BB12946984717B12946204636 -S214002A40B8471A4BC3F808805A6892685A609DF8CF -S214002A501030F3B90CB394F8343013F0400F1ED096 -S214002A602068F0B132462946124B9847012814BF19 -S214002A70002001200EE0104B00934FF4DB620F495C -S214002A8003200F4DA847224600230E480E498847CC -S214002A90FEE7002006B0BDE8F0810120FAE701203D -S214002AA0F8E70120F6E700BFB12200007C260020F0 -S214002AB069270000CD2A00009C410200DC47020086 -S214002AC05D2201003C480200B9220000E8B170B562 -S214002AD082B0044616460D460D4B984768B90D4B16 -S214002AE0009340F2C4620C4903200C4DA8472246CE -S214002AF000230B480B498847FEE733462A46214603 -S214002B00A069094CA04702B070BD0120704700BF05 -S214002B10B1220000B0410200DC4702005D22010045 -S214002B203C480200B9220000F529000030B583B009 -S214002B3004460D46094B984710B1E56103B030BD19 -S214002B40074B009340F21B7206490320064DA84728 -S214002B5022460023054806498847FEE7B1220000C2 -S214002B60C0410200DC4702005D2201003C48020032 -S214002B70B922000020B110B5C4691CB1A04710BD31 -S214002B8001207047012010BD30B583B004460D46C5 -S214002B90094B984710B1256203B030BD074B009330 -S214002BA040F2377206490320064DA8472246002306 -S214002BB0054806498847FEE7B1220000D8410200D2 -S214002BC0DC4702005D2201003C480200B9220000FA -S214002BD030B583B004460D460D4B984768B90D4B8B -S214002BE0009340F249720C4903200C4DA847224638 -S214002BF000230B480B498847FEE72946606A0A4BC4 -S214002C009847034600B16062184603B030BD00BF67 -S214002C10B1220000F0410200DC4702005D22010004 -S214002C203C480200B92200009928010030B583B064 -S214002C3004460C4B984768B90B4B009340F2597208 -S214002C400A4903200A4DA8472246002309480A4994 -S214002C508847FEE700226286E369062120469847F9 -S214002C6003B030BDB12200000C420200DC47020077 -S214002C705D2201003C480200B922000030B583B056 -S214002C8004460A4B984710B1206803B030BD084B85 -S214002C90009340F29F7207490320074DA84722463B -S214002CA00023064806498847FEE700BFB122000019 -S214002CB028420200DC4702005D2201003C48020078 -S214002CC0B922000030B583B004460E4B984708B1D1 -S214002CD00D4D0EE00D4B009340F26B720C49032035 -S214002CE00C4DA847224600230B480C498847FEE7B0 -S214002CF01C462046A84703460028F9D1204603B0C4 -S214002D0030BD00BFB12200007D2C00003C42020016 -S214002D10DC4702005D2201003C480200B9220000A8 -S214002D202DE9F04383B00446224B984780B12368D0 -S214002D301BB12046204B984704462048204B984716 -S214002D40054660B3DFF878901E4EDFF8708012E01C -S214002D501D4B009340F27F721C4903201C4DA84770 -S214002D60224600231B481C498847FEE72946404662 -S214002D70B047054698B105F130073846C8470146C2 -S214002D800028F3D0844206D03846B04701460028D3 -S214002D90ECD08C42F8D1284603B0BDE8F0830F4B48 -S214002DA00093094B4FF4F26208490220084CA047F2 -S214002DB00025F0E7B1220000C52C0000986C00202A -S214002DC0A91F0100BD1F010050420200DC4702009F -S214002DD05D2201003C480200B92200004C48020077 -S214002DE030B583B004460D460D4B984730B19DB1C3 -S214002DF02946201D0B4B984703B030BD0A4B009365 -S214002E0040F2AD7209490320094DA8472246002327 -S214002E10084809498847FEE7201D084B9847EBE716 -S214002E20B1220000BD1F010060420200DC47020024 -S214002E305D2201003C480200B9220000A91F0100E3 -S214002E4030B583B005460C460E4B984760B105F189 -S214002E500F0204F10800234612F8011F03F8011BB5 -S214002E608342F9D103B030BD074B009340F6010210 -S214002E7006490320064CA0472A4600230548064973 -S214002E808847FEE7B1220000D8420200DC47020075 -S214002E905D2201003C480200B922000030B583B034 -S214002EA004460F4B984768B90E4B009340F6220233 -S214002EB00D4903200D4DA847224600230C480D4916 -S214002EC08847FEE720460C4B9847034628B1208AE1 -S214002ED01B8AC01A00B203B030BDB4F91000FAE77E -S214002EE0B1220000EC420200DC4702005D22010035 -S214002EF03C480200B92200007D2C000030B583B0AB -S214002F0004460F4B984768B90E4B009340F63602BE -S214002F100D4903200D4DA847224600230C480D49B5 -S214002F208847FEE720460C4B9847034628B1608A40 -S214002F305B8AC01A00B203B030BDB4F91200FAE7DB -S214002F40B1220000FC420200DC4702005D220100C4 -S214002F503C480200B92200007D2C000030B583B04A -S214002F6004460C4B984730B1A08A0130238AC01A19 -S214002F7000B203B030BD084B009340F64A02074942 -S214002F800320074DA84722460023064806498847DF -S214002F90FEE700BFB12200000C430200DC4702003F -S214002FA05D2201003C480200B922000030B583B023 -S214002FB004460C4B984730B1E08A0130638AC01A49 -S214002FC000B203B030BD084B009340F656020749E6 -S214002FD00320074DA847224600230648064988478F -S214002FE0FEE700BFB122000020430200DC470200DB -S214002FF05D2201003C480200B922000009B92830D1 -S214003000704700B583B08DF80010002301936A4620 -S2140030100821044B984701280CBF0198002003B0F4 -S2140030205DF804FB752B00002DE9F84F80468A46B4 -S21400303093461E461C481D4B9847002831D005462F -S214003040B0422ED0DFF86090194F09E0AB885B45A0 -S21400305014D0BBF1FF0F11D01CB32546A64220D0DA -S21400306029464846B847044628684045F4D1A97919 -S2140030705145EBD0BAF1FF0FEED1E7E70D4B98477D -S2140030800D4B9847A9880D4B9847002128460C4BB6 -S2140030909847294648460B4B984728460A4B984778 -S2140030A0DAE7BDE8F88F00BF3C6D0020B31F0100D3 -S2140030B0E91F0100FD2F0000E7700000ED6700002B -S2140030C02913010095200100C524010030B583B006 -S2140030D004460D460B4B984748B10B4B98470023C8 -S2140030E0FF2229462046094CA04703B030BD084BB6 -S2140030F00093084B40F2924207490220074CA04733 -S214003100F3E700BFFD2F0000F97000002930000033 -S21400311098480200E4430200DC4702005D220100FA -S214003120F8B504681748184B984708B301460027B7 -S214003130144E164D03E03046A847014678B18C423F -S214003140F9D00A6823689A42F5D14B6823F07F428B -S214003150636823F07F439A4208BF0127EBE73FB13D -S214003160214608480A4B984720460A4B9847F8BD20 -S214003170A1792068084B9847084B9847A188084BC8 -S2140031809847EDE73C6D0020A91F0100BD1F010018 -S21400319095200100C5240100FD2F0000E770000007 -S2140031A0ED67000030B583B004460B4B984728B156 -S2140031B094F83400C0F3001003B030BD074B009302 -S2140031C040F6412206490320064DA8472246002322 -S2140031D0054806498847FEE7B1220000344402004D -S2140031E0DC4702005D2201003C480200B9220000D4 -S2140031F02DE9F04186B004460E463A4B984768B92A -S214003200394B00934FF4F07238490320384DA847E5 -S21400321022460023374838498847FEE72046374B82 -S214003220984710B106B0BDE8F0812046344B984769 -S2140032300746344B98470546334B9847874209D094 -S2140032402846324B9847874204D02846304B98474A -S2140032508742E7D1B4F9323004F10F0204F11700C7 -S21400326002A912F8017F01F8017B8242F9D19BB2D4 -S214003270BDF80820D21AADF80820BDF80A20D21AE8 -S214003280ADF80A20BDF80C201A44ADF80C20BDF8A5 -S2140032900E201344ADF80E3002AA314604A81D4B8A -S2140032A098470028BED020461B4B9847044698B146 -S2140032B0DFF86080114F184E04F1100204A908468A -S2140032C0C0470028AED02046B8470028AAD12046DE -S2140032D0B04704460028EFD104A928460F4B98476C -S2140032E0A0E700BFB122000048440200DC4702000D -S2140032F05D2201003C480200B9220000A531000012 -S214003300C52C0000212D00004D2300008D23000059 -S214003310CD230000191501007D2C0000595E000029 -S21400332030B585B004461C4B984738B3B4F93230F4 -S21400333004F10F0204F1170502A912F8010F01F8B3 -S214003340010BAA42F9D19BB2BDF80820D21AADF8FB -S2140033500820BDF80A20D21AADF80A20BDF80C20C5 -S2140033601A44ADF80C20BDF80E201344ADF80E300C -S21400337002A92046094B984705B030BD084B00937C -S21400338040F20D2207490320074DA8472246002396 -S214003390064807498847FEE7B1220000F1310000E1 -S2140033A060440200DC4702005D2201003C48020047 -S2140033B0B9220000F0B583B00546164B984768B9A9 -S2140033C0154B009340F2622214490320144CA04788 -S2140033D02A460023134814498847FEE72846134B1D -S2140033E098470446061D3046114B984785420FD035 -S2140033F02046104FB84701232A46314630460E4E27 -S214003400B047E3692A460121204698472046B84738 -S21400341003B0F0BDB122000074440200DC47020095 -S2140034205D2201003C480200B92200007D2C00000D -S214003430A91F010021330000212101002DE9F047DA -S21400344084B004468A4617462D4B984700283ED03F -S2140034502668002E49D0338A228A9B1A53441FFAC4 -S21400346083FA0FFA8AF8758A638AED1A3D44ADB27C -S2140034700FFA85F9B8F1000F02D1B9F1000F23D089 -S2140034802046204FB84702A920461F4B9847238A5C -S21400349053442382638A2B446382A38A5344A382C1 -S2140034A0E38A1D44E5824A4641462046174B984724 -S2140034B0E36902AA022120469847F36922460121C1 -S2140034C0304698472046B84704B0BDE8F087104B12 -S2140034D0009340F296220F4903200F4DA84722463C -S2140034E000230E480E498847FEE70E4B0093084B14 -S2140034F04FF4277207490220074CA047E4E700BFB5 -S214003500B122000021330000412E00000D280000EB -S214003510A4440200DC4702005D2201003C48020091 -S214003520B9220000D048020030B583B004460D46EC -S2140035300D4B984768B90D4B00934FF433720C4906 -S21400354003200C4DA847224600230B480B4988470A -S214003550FEE720460A4B9847024629462046094B76 -S214003560984703B030BD00BFB1220000B44402004B -S214003570DC4702005D2201003C480200B922000040 -S214003580FD2E00003D34000030B583B004460D46E5 -S2140035900D4B984768B90D4B00934FF436720C49A3 -S2140035A003200C4DA847224600230B480B498847AA -S2140035B0FEE720460A4B98472A4601462046094B16 -S2140035C0984703B030BD00BFB1220000C4440200DB -S2140035D0DC4702005D2201003C480200B9220000E0 -S2140035E09D2E00003D3400002DE9F04385B00446D2 -S2140035F00D4690461F46BDF930602C4B984768B97B -S2140036002B4B009340F26D322A4903202A4DA847DF -S2140036102246002329482A498847FEE78DB12846D6 -S214003620224B984790B9224B009340F271322149C1 -S2140036300320214CA0472A460023204820498847DB -S214003640FEE720461F4B98470546E8E703AB424691 -S21400365004F1100105F11000DFF87090C84720460D -S214003660184B9847B0F91230BDF80E203244BDF81A -S2140036700C103944008A091A09B2ADF80C10D21A97 -S21400368012B2ADF80E2020460F4B984784F84880BB -S214003690A4F84470A4F84660256494F849306FF3A3 -S2140036A0410384F8493005B0BDE8F083B12200003C -S2140036B0D4440200DC4702005D2201003C480200C0 -S2140036C0B92200007D2C00003D34000025180100C2 -S2140036D02DE9F04F85B081460E4692460393BDF91C -S2140036E038B0A34B984768B9A24B009340F2953286 -S2140036F0A1490320A14CA0474A460023A048A1495F -S2140037008847FEE74846A04B9847054648469F4BE5 -S2140037109847044648469E4B984700EBD07040F3C7 -S2140037204F0848469B4B984700EBD07040F34F0736 -S214003730EEB130468E4B9847F0B1BAF1140F39D837 -S214003740DFE81AF028005C0062006D0076007F005B -S2140037508D009900A500B400BA00C500CE00D700C1 -S214003760E500F100F70003010C012E013D0148467B -S214003770894B98470646DCE77E4B009340F2A13221 -S2140037807D4903207D4CA047324600237C487D4976 -S2140037908847FEE730467E4B984700EBD070C8EB74 -S2140037A060052DB230467B4B984700EBD070C7EBD8 -S2140037B0600424B24846784B9847318A039F3944C0 -S2140037C02944038AC91A728A5A442244438AD21A5E -S2140037D012B209B24846714B984789F848A0A9F832 -S2140037E04470A9F846B0C9F8406099F8493043F0EB -S2140037F0020389F8493005B0BDE8F08FC8F100052E -S2140038002DB27C4224B2D5E73046614B984700EB98 -S214003810D070C8EB60052DB27C4224B2CAE73046B1 -S2140038205B4B9847A0EB080005B27C4224B2C1E788 -S214003830C8F100052DB23046564B9847C01B04B25F -S214003840B8E73046524B984700EBD070C8EB60059F -S2140038502DB230464F4B9847C01B04B2AAE73046FD -S2140038604B4B9847A0EB080005B23046494B9847AB -S214003870C01B04B29EE7C8F100052DB23046454B8A -S214003880984700EBD070C7EB600424B292E730464E -S2140038903F4B9847A0EB080005B230463D4B984793 -S2140038A000EBD070C7EB600424B283E7C8F10005D4 -S2140038B02DB27C4224B27DE73046354B984700EB6C -S2140038C0D070C8EB60052DB27C4224B272E7304659 -S2140038D02F4B9847A0EB080005B27C4224B269E75C -S2140038E0C8F100052DB230462A4B9847C01B04B2DB -S2140038F060E73046264B984700EBD070C8EB600573 -S2140039002DB23046234B9847C01B04B252E73046D0 -S2140039101F4B9847A0EB080005B230461D4B984752 -S214003920C01B04B246E7C8F100052DB27C4224B2A3 -S21400393040E7C8F100052DB23046164B984700EB1D -S214003940D070C7EB600424B234E7C8F100052DB28E -S2140039503046104B9847C01B04B22BE730460C4B42 -S2140039609847A0EB080005B27C4224B222E700BFCD -S214003970B1220000E4440200DC4702005D220100A0 -S2140039803C480200B92200009D2E0000FD2E0000DB -S2140039905D2F0000AD2F00007D2C00003D340000A0 -S2140039A030460D4B9847A0EB080005B230460B4B4F -S2140039B0984700EBD070C7EB600424B2FAE63046B6 -S2140039C0054B9847A0EB080005B23046034B9847D6 -S2140039D0C01B04B2EEE600BF5D2F0000AD2F000056 -S2140039E030B583B00446124B984790B194F84930EE -S2140039F013F0020FB4F9443094F84820B4F9461096 -S214003A000091216C204614BF0A4C0B4CA04703B013 -S214003A1030BD0A4B009340F22A4209490320094D63 -S214003A20A84722460023084808498847FEE700BF03 -S214003A30B1220000D1360000E9350000F84402004B -S214003A40DC4702005D2201003C480200B92200006B -S214003A502DE9F041064600210D4B9847B0B10446CB -S214003A600C4D4FF000080A4F2046A847E36942462F -S214003A700421204698472046A8472046FFF7E8FF3F -S214003A8021463046B84704460028EDD1BDE8F0810F -S214003A90E12D00002133000030B583B005460C460A -S214003AA0364B984798B1712C46D8702C23D2412CAF -S214003AB01BD8402C1FD2022C05D3072C1BD9A4F1EF -S214003AC01003082B17D928462D4B98472FE02D4B6F -S214003AD0009340F21D522C4903202C4CA0472A4646 -S214003AE000232B482B498847FEE7532C21D8502C1F -S214003AF001D24C2CE7D12846214B9847EB6900228F -S214003B00042128469847152C09D3182C01D9FF2CD8 -S214003B1005D1286818B1C3690022012198472846B4 -S214003B20174B9847FF2C24D014F4004F21D103B034 -S214003B3030BD5C2CC7D1DEE77F2C0CD948F2810360 -S214003B409C4211D848F280039C42D4D2902CD2D00A -S214003B50FF2CB8D1CFE77E2CCDD2732CB3D3752CE7 -S214003B60C9D97C2CAFD1C6E748F28E039C42AAD1B5 -S214003B70C1E72846084B9847D9E700BFB1220000A6 -S214003B802133000008450200DC4702005D220100E8 -S214003B903C480200B9220000513A000010B5044625 -S214003BA0034B9847FF212046024B984710BD00BFA5 -S214003BB0CD300000993A00002DE9F84304460F4640 -S214003BC00026DFF888803546DFF8849005E0FF2180 -S214003BD03846C8470136402E22D0F1B23846C04794 -S214003BE08646E8B101790029F4D090F805C00CF0BB -S214003BF0060C0023DAB2BCF1060F04BF0132D2B2C3 -S214003C008A423ABFDEF8000050F822202A46944244 -S214003C10DDD0002CDBD00133DAB28A42EAD3D9E712 -S214003C2000213846084B9847054650B1064E2946AF -S214003C302046FFF7C1FF29463846B047054600280C -S214003C40F5D1BDE8F88300BFE12D0000FD2F000090 -S214003C50993A00002DE9F047804600200F4B984720 -S214003C60C8B18146DFF840A00D4F0E4E09F1300571 -S214003C702846D047044640B121464046B84721462C -S214003C802846B04704460028F6D14846034B9847D6 -S214003C9081460028EAD1BDE8F08700BFB90F0100D1 -S214003CA0B93B0000BD1F0100A91F0100F8B504467E -S214003CB00D4681790068424B9847424B9847A18849 -S214003CC001F00F03082B19DC45B9B4F908203E4B68 -S214003CD09847A18820683D4B9847F8BDFF2D0AD02D -S214003CE0B4F90820B4F90C309B1A05FB03F502EB77 -S214003CF0252212B2EBE7B4F90C20E8E70B2B43DCE5 -S214003D00002D05DDFE2D05DDA289314B9847E0E745 -S214003D102289FAE7EDB2C5F1FF02637BDB08667A1B -S214003D20F60802FB06F605FB036303EB032703EB2B -S214003D30C713C3F3C457A389C3F345132689C6F331 -S214003D40451602FB06F605FB036303EB032603EBAF -S214003D50C613C3F3C556237B03F01F0394F808E08D -S214003D600EF01F0E02FB0EF205FB032505EB0523E6 -S214003D7005EBC315ED0D4FF0000265F3040266F384 -S214003D804A1267F3CF22C0E70D2B12DC002D05DDAB -S214003D90FE2D05DD227B0F4B98479AE7227AFAE73D -S214003DA0227A237B9B1A05FB03F502EB2522D2B26F -S214003DB0F1E77F2DD4BFA268E268074B984788E7F3 -S214003DC0FD2F0000E7700000E1680000993A00004F -S214003DD0256A0000696B0000996C000030B583B05E -S214003DE004460A4B984710B1002003B030BD084B7C -S214003DF0009340F6B12207490320074DA847224604 -S214003E000023064806498847FEE700BFB1220000A7 -S214003E10D8450200DC4702005D2201003C48020053 -S214003E20B9220000F0B583B00D46064688B19D4B1A -S214003E309847002840F064819B4B0093ED229B49F5 -S214003E4003209B4CA047324600239A489A4988474D -S214003E50FEE79A4B984748B9994B0093924BCF226E -S214003E6092490220924CA0473446F5E13030954BFB -S214003E70984704468B4B984760B98B4B0093D422E7 -S214003E808A4903208A4DA847224600238E488A493D -S214003E908847FEE7002C00F0DF814C2120468B4B44 -S214003EA0984794F835306FF3051384F83530884B0F -S214003EB0E361884B23620027A76127826782384622 -S214003EC0854B98470138A0823846844B984701387E -S214003ED0E0824C21201D824B98470023638684F89D -S214003EE0303084F8313084F84830A4F84430A4F8F0 -S214003EF04630236494F8492063F3000284F849208E -S214003F00A36394F8342002F07F0242F0010294F892 -S214003F103510032060F3430184F83C3002F0C10200 -S214003F2063F3861284F8342041F0010184F83510DA -S214003F3084F83D30636204F128073846694B984799 -S214003F40002D00F06C8105F128013846664B984735 -S214003F5005F10F0204F1180104F1100312F8010F25 -S214003F6003F8010B8B42F9D1B5F93230638695F828 -S214003F70303084F8303095F8313084F8313095F8A8 -S214003F80483084F84830B5F94430A4F84430B5F9E0 -S214003F904630A4F846302B6C236495F8492094F8F4 -S214003FA0493062F3000384F84930AB69A36195F8A1 -S214003FB03430DB0994F8342063F3C71284F83420D5 -S214003FC095F8342094F8343062F3000384F83430E3 -S214003FD095F83430C3F3400394F8342063F3410279 -S214003FE084F8342095F83530C3F3420394F835202E -S214003FF063F3430284F8352095F83430C3F3800326 -S21400400094F8342063F3820284F8342095F8343030 -S214004010C3F3C003D2B263F3C30284F8342095F826 -S2140040203430C3F30013D2B263F3041284F834209E -S21400403095F83430C3F34013D2B263F3451284F8D4 -S214004040342095F83430C3F38013D2B263F386126B -S21400405084F8342095F83C3084F83C3095F83520C8 -S21400406094F8353062F3000384F83530A86B10B14D -S21400407021461E4B984728461D4B9847002800F0BF -S214004080D980002E00F0DF8028461A4B9847074656 -S2140040902846194B9847024639462046174B9847FC -S2140040A0C9E000BFB1220000EC450200DC47020078 -S2140040B05D2201003C480200B9220000E10E01002A -S2140040C038490200111F0100D83F0200372B0100BB -S2140040D0055A000029540000ED0E0100150F0100DE -S2140040E0F91E0100E9640000697100009D250000CA -S2140040F07D2C00009D2E0000FD2E00003D340000AB -S214004100301D574B98470446564B9847002847D0D3 -S214004110002C00F0A1804C212046534B9847266087 -S21400412094F835306FF3051384F835304F4BE36160 -S2140041304F4B23620020A061B6F912306382778A63 -S2140041404C4B9847322303FB00F35033B3F5A07F64 -S21400415033DA01233B44E3822046474B9847012845 -S2140041603AD0B6F910302382378A0020414B984760 -S214004170642303FB00F35033B3F5A07F4DDB002030 -S2140041803C4B9847642303FB00F350333B4A82FBC7 -S2140041900312DB17C3EBA2139BB23B44A38298E641 -S2140041A0374B0093F02237490320374DA847224665 -S2140041B00023364836498847FEE700202D4B9847AF -S2140041C0322303FB00F350332C4A82FB0312DB1727 -S2140041D0C3EBA2139BB2BDE7B6F91430A382B78A2D -S2140041E00020244B9847642303FB00F35033B3F5B9 -S2140041F0A07F10DB00201F4B9847642303FB00F3CF -S21400420050331E4A82FB0312DB17C3EBA2139BB28A -S214004210FB1A23825DE60123FAE70123BDE726B1F8 -S214004220022120461B4B984705E001212046194BEA -S214004230984708E03EB1F369224601213046984788 -S2140042402046154B9847154B00930D4B40F28712AE -S2140042500C4901200C4DA847204603B0F0BD00BF16 -S214004260111F0100B1220000372B0100055A000083 -S214004270295400003D0F0100DD3D000067666666BC -S214004280EC450200DC4702005D220100D83F020038 -S214004290B9220000E94101002133000088490200EC -S2140042A02DE9F04184B004460D461646324B984739 -S2140042B068B9324B009340F2E52231490320314D74 -S2140042C0A84722460023304830498847FEE7204664 -S2140042D02F4B9847A8423FD020462E4B984702A91E -S2140042E020462D4B9847731E628A1344E38220466D -S2140042F02A4B9847012835D06B1E228A1344A38286 -S214004300E36902AA0221204698472046244B984794 -S21400431018B1C56922460121A847261D3046214B03 -S2140043209847054668B14FF003081F4FEB6902AA8D -S21400433041462846984729463046B847054600284D -S214004340F4D12046134B984794F8493013F0010FE8 -S2140043500ED104B0BDE8F0812046144B9847B04219 -S214004360BAD1F6E7C5F10103A28A13442382C7E750 -S21400437020460F4B9847ECE7B1220000104602009B -S214004380DC4702005D2201003C480200B922000022 -S2140043905D2F000021330000412E0000DD3D0000AF -S2140043A07D2C0000A91F0100BD1F0100AD2F0000DD -S2140043B0E139000030B583B004460D460D4B9847F2 -S2140043C068B90D4B009340F227320C4903200C4D80 -S2140043D0A847224600230B480B498847FEE720469D -S2140043E00A4B98472A4601462046094B984703B091 -S2140043F030BD00BFB122000034460200DC47020098 -S2140044005D2201003C480200B92200005D2F00003A -S214004410A142000030B583B004460D460C4B9847C9 -S21400442038B194F83C301D4214BF0120002003B080 -S21400443030BD084B009340F6D72207490320074DAE -S214004440A84722460023064806498847FEE700BFDD -S214004450B12200005C460200DC4702005D2201003B -S2140044603C480200B922000030B585B004460D462F -S214004470114B984728B13F2D11D894F83D0005B050 -S21400448030BD0E4B009340F6DE220D4903200D4D45 -S214004490A847224600230C480C498847FEE78DF8BB -S2140044A00C5000238DF80D3003AA09212046084B36 -S2140044B098479DF80D00E2E7B12200007046020022 -S2140044C0DC4702005D2201003C480200B9220000E1 -S2140044D0752B00002DE9F04F85B0174660B30D46EA -S2140044E04FEA122B0646DFF88CA0DFF88C90DFF838 -S2140044F08C8006E0BDF90E0005B0BDE8F08F002503 -S214004500DEB129463046D047019029463046C84796 -S21400451007EB002084B20DF10E0221460198C04739 -S2140045200128E7D01BF0800F07D0002DE7D13046DA -S2140045300F4B98470646E2E7144624F4FE44A4B21E -S214004540222C0FD006D8032C0AD0072C0CD14FF4FF -S2140045508070D1E7312C09D0C02C05D11020CBE7D4 -S2140045600620C9E7FF20C7E70020C5E70F20C3E7FE -S2140045707D2C0000FD2F000069440000E57200005D -S2140045802DE9F04F85B0174648B30D464FEA122B7B -S2140045900646DFF86CA0DFF86C90DFF86C8004E06D -S2140045A0BDF80C0025E00025D6B129463046D04798 -S2140045B0019029463046C84707EB002084B203AA7C -S2140045C021460198C0470128EAD01BF0800F07D08B -S2140045D0002DE8D13046084B98470646E3E71446D8 -S2140045E024F4FE44293C012C9ABF044BB3F874060D -S2140045F0002005B0BDE8F08F7D2C0000584002007A -S214004600FD2F000069440000A97300002DE9F04F5B -S21400461085B0174650B30D464FEA122B0646DFF814 -S21400462074A0DFF87490DFF8748004E09DF80F0043 -S21400463029E00025DEB129463046D04701902946BC -S2140046403046C84707EB002084B20DF10F02214622 -S2140046500198C0470128E9D01BF0800F07D0002D35 -S214004660E7D130460A4B98470646E2E7144624F45C -S214004670FE44A4B26D2C09D048F2AD039C4205D08E -S2140046802C2C03D0FF2005B0BDE8F08F0020FAE701 -S2140046907D2C0000FD2F0000694400006D740000B2 -S2140046A02DE9F04F85B0174650B30D464FEA122B52 -S2140046B00646DFF880A0DFF88090DFF8808005E00F -S2140046C0039805B0BDE8F08F0025D6B129463046E0 -S2140046D0D047019029463046C84707EB002084B2F1 -S2140046E003AA21460198C0470128E9D01BF0800F95 -S2140046F007D0002DE8D130460B4B98470646E3E737 -S214004700144624F4FE44A4B2BE2C0AD048F28E030B -S2140047109C4203D07E2C01D00020D2E7034B984762 -S214004720CFE70348CDE700BF7D2C0000DD41010048 -S21400473000920200FD2F0000694400003175000061 -S21400474070B50468A58805F00F03082B13DD0B2B46 -S21400475018DD0D2B1DDD2A46A1792068104B9847E1 -S214004760A0600023A38023462A46A17920680D4E28 -S214004770B047A58070BD2A46A17920680A4B9847A5 -S2140047802081EEE72A46A1792068084B98472081C9 -S214004790E7E72A46A1792068054B98472072E0E7AC -S2140047A0A146000029300000D544000081450000E5 -S2140047B00D46000090F83D308B4200F052822DE905 -S2140047C0F04FA1B089468246AB4B984740B19AF865 -S2140047D03DB08AF83D9000230693A84DD846D2E116 -S2140047E0A74B009340F23762A6490320A64CA04789 -S2140047F052460023A548A6498847FEE7737943F04A -S214004800040373718AF83D802246DDF80CB05946E1 -S2140048105046A84707468AF83D902246CDF80CB089 -S21400482059465046A847834673796FF382037371DF -S21400483087424AD08AF83D80224603995046A847C8 -S21400484006468AF83D90024621460498914B9847C2 -S214004850012C00F094809048904B98470746864B72 -S2140048609847002800F0A280002F2ED03E81A7F89F -S2140048700CB0C7F800A0BC809DF80C30BB7110A827 -S214004880874B98471097874B1193874B1293874B0C -S214004890139300231693FF2317930A9B1893099BE1 -S2140048A05B421993089A531ED01D14AA13F8011FD1 -S2140048B002F8011B8342F9D19DF876306FF30003AE -S2140048C08DF8763010A87A4B9847059B10AA93422D -S2140048D000F05481059B33F8024B0593002CF4D06E -S2140048E00798744B984703995046734B984706466B -S2140048F0724B9847049004F00F03082B7FF77EAFA7 -S2140049000B2B61DD0D2B00F3E980737943F0040374 -S21400491073718AF83D802246DDF80CB05946504641 -S214004920674FB8470B908AF83D902246CDF80CB0FA -S21400493059465046B847834673796FF382037371BE -S2140049400B9B8342C1D08AF83D802246039950468D -S214004950B84706468AF83D90024621460498594BC9 -S21400496098474D484D4B98470746434B9847002875 -S21400497074D0002FA9D03E7287F80CB079E747F6BE -S214004980FF739E4200F04C819B457FF464AF504617 -S214004990DFF844B1D84700EBD07040F34F075046DD -S2140049A0D84700EBD07040F34F0351E1464B0093DD -S2140049B040F6B26233490320334CA0473A46002300 -S2140049C0424833498847FEE7737943F0040373711E -S2140049D08AF83D802246039950463D4FB8478346A5 -S2140049E08AF83D90224603995046B847ADF82C0009 -S2140049F073796FF3820373711FFA8BFB83B29B4547 -S214004A003FF463AF8AF83D80224603995046B84784 -S214004A1083468AF83D900246214604982D4B9847D7 -S214004A201D481E4B98470746134B984740B1002F2A -S214004A303FF44BAFA7F808B0BDF82C30BB8118E7A1 -S214004A40214B009340F6C6620E4903200E4CA04749 -S214004A503A4600231D480E498847FEE71A4B009346 -S214004A6040F6DB6207490320074CA0473A4600237E -S214004A70164807498847FEE7B1220000D5440000E3 -S214004A80D0460200DC4702005D2201003C480200DE -S214004A90B9220000E16800003C6D0020111F0100F3 -S214004AA0E5120100AD3C0000414700002131000046 -S214004AB0A113010035720000FD2F0000E770000012 -S214004AC00D460000696B0000E4460200D83F020075 -S214004AD081450000256A00005D2F00008AF83D80B1 -S214004AE0737943F0040373712246DDF80CB059461F -S214004AF050465C4FB8470C908AF83D902246CDF859 -S214004B000CB059465046B847834620A941F8400D98 -S214004B1073796FF38203737104220CA8524B984783 -S214004B2000283FF4D2AE8AF83D80224603995046CC -S214004B30B84706460C908AF83D90024621460498EF -S214004B404A4B98474A484B4B984707464A4B984724 -S214004B5030B1002F3FF4B9AEBE60C7F80CB088E69F -S214004B60464B009340F6EF6245490320454CA0476C -S214004B703A460023444845498847FEE7069B0133EA -S214004B800693402B45D09DF818300393194650469F -S214004B903F4B9847079000283BD0437913F0080F07 -S214004BA0ECD1B022039C21465046A8470A90B12279 -S214004BB021465046A8470990BE2221465046294B1A -S214004BC098470890B22221465046A847ADF83400D0 -S214004BD0B32221465046A847ADF83600B4222146F7 -S214004BE05046A847ADF83800B52221465046A8479B -S214004BF0ADF83A00B62221465046A847ADF83C002C -S214004C00B72221465046A847ADF83E000DAB0593A7 -S214004C1060E6FF2150461F4B984721B0BDE8F08F55 -S214004C2050461D4EB04700EBD07040F34F0750463D -S214004C30B04700EBD07040F34F035E1C7A1C9642E0 -S214004C40A8BF164636B247F6FF7293457FF403AE0A -S214004C5003F1010B0137BB45A8BFBB460FFA8BFB20 -S214004C60F9E57047A1460000DDB40100996C00002C -S214004C703C6D0020111F0100B1220000E446020036 -S214004C80DC4702005D220100D83F0200B922000086 -S214004C90FD2F0000993A00005D2F000030B583B06C -S214004CA005460C460D4B984750B195F83D3043EA03 -S214004CB004018B4202D02846094B984703B030BD0A -S214004CC0084B009340F27E6207490320074CA0473A -S214004CD02A460023064807498847FEE7B122000017 -S214004CE0B5470000F4460200DC4702005D220100E2 -S214004CF03C480200B922000030B583B005460C4699 -S214004D000D4B984750B195F83D3023EA04018B428D -S214004D1002D02846094B984703B030BD084B009395 -S214004D2040F28F6207490320074CA0472A4600231B -S214004D30064807498847FEE7B1220000B54700004D -S214004D4008470200DC4702005D2201003C480200E2 -S214004D50B922000030B583B004460A4B984710B11C -S214004D60E06903B030BD084B009340F6F5220749D2 -S214004D700320074DA84722460023064806498847D1 -S214004D80FEE700BFB12200001C470200DC4702001D -S214004D905D2201003C480200B922000030B583B015 -S214004DA004460A4B984710B1606A03B030BD084B02 -S214004DB0009340F61E3207490320074DA8472246B7 -S214004DC00023064806498847FEE700BFB1220000D8 -S214004DD060470200DC4702005D2201003C480200FA -S214004DE0B922000030B583B004460A4B984710B18C -S214004DF0A06B03B030BD084B009340F66F320749F6 -S214004E000320074DA8472246002306480649884740 -S214004E10FEE700BFB122000084470200DC47020024 -S214004E205D2201003C480200B92200002DE9F8434B -S214004E300546002215213C4B984728463B4B984791 -S214004E40074610B128463A4B984700212846394B6A -S214004E5098470023FF2211462846374CA04705F105 -S214004E6004084046354B9847044658B1DFF8E890AA -S214004E7021464046C84706462046FFF7D7FF344639 -S214004E80002EF5D12E4B5B683BB101211A68954286 -S214004E9008BF19719B68002BF8D10020294B984752 -S214004EA0044610B3DFF8B480DFF8B490254E0EE069 -S214004EB029462046C047E36B9D4204BF0023E363B8 -S214004EC0A36D9F420AD02046B047044668B1636B84 -S214004ED09D42EDD0A36B9D42EDD1E9E7C8478542E0 -S214004EE0F1D129462046C047EDE7EB69002211467E -S214004EF0284698472846144B984760B12946043000 -S214004F00124B9847686A08B1114B98472846104BD1 -S214004F109847BDE8F88328460E4B98472946303018 -S214004F200A4B9847EEE700BFCD2A0000E54D00008B -S214004F30792600002913010029300000A91F01006E -S214004F407C260020211001007D2C00009520010009 -S214004F50C5240100212D0000BD1F0100752700009B -S214004F600128000070B582B00446194B984768B90E -S214004F70184B009340F2931217490320174DA84789 -S214004F8022460023164817498847FEE72046164B58 -S214004F9098472046154B9847054640B12046144B87 -S214004FA09847EB6900220121284698470CE02046E6 -S214004FB0104B9847054638B1C66B20460C4B9847B1 -S214004FC0B44201D10023EB63002002B070BD00BFE5 -S214004FD0B122000098470200DC4702005D22010073 -S214004FE03C480200B9220000213300007D2C00005E -S214004FF02D4E0000212D000030B583B004460E4B28 -S214005000984748B1A06BA8B10C4B9847844214BF90 -S2140050100020012003B030BD094B00934FF43862E6 -S21400502008490320084DA847224600230748084998 -S2140050308847FEE70020EDE7B12200004927000080 -S214005040C8470200DC4702005D2201003C4802001F -S214005050B922000000B583B090F83030028AD21A28 -S214005060ADF80020828A1344ADF8043090F8313051 -S214005070428AD21AADF80220C28A1344ADF806302E -S21400508000226846024B984703B05DF804FB00BF59 -S214005090B915010003687BB110B4021D012352F854 -S2140050A0044B1CB10133DBB2072BF8D140F82310B8 -S2140050B001205DF8044B7047002340F823100120C0 -S2140050C0704700002DE9F04105460E4614460122C1 -S2140050D0A84B9847208048F20C0231462846A64B3B -S2140050E09847052842D90746237B002B49D1237DC4 -S2140050F0002B76D1237F002B40F0988094F8363032 -S214005100002B40F0B88094F82830052B00F201817F -S21400511094F84430052B00F23781F92F24D8BFB21B -S214005120237B13FB07F3C3F307232373237D13FBB0 -S21400513007F3C3F30723237594F8283013FB07F30C -S214005140C3F3072384F8283094F8363013FB07F3AC -S214005150C3F3072384F8363094F8443013FB07F77C -S214005160C7F3072784F84470BDE8F0810023237353 -S214005170237584F8283084F8363084F84430BDE847 -S214005180F0812C22314628467B4B98472073052811 -S214005190ADD9292231462846784B9847608023228D -S2140051A031462846734B9847C0B2A07130B92022CA -S2140051B0314628466F4B9847607398E72A22314657 -S2140051C028466E4B9847A080212231462846DFF8B5 -S2140051D0A481C0472081222231462846C0476081EC -S2140051E0E5E7302231462846624B98472082002861 -S2140051F080D03C22314628465F4B984720750528CC -S21400520006D83222314628465A4B9847607571E7D1 -S214005210312231462846574B9847C0B26082392221 -S21400522031462846554B9847E081EAE7402231460A -S2140052302846504B9847208300283FF45FAF4C2207 -S214005240314628464C4B98472077052806D84222F8 -S21400525031462846474B984760774FE7412231460C -S2140052602846444B98476083492231462846434B9C -S2140052709847E082EBE76E2231462846404B984737 -S214005280E06200283FF43FAF6C22314628463A4B96 -S214005290984784F8360005287FF635AF6D223146EC -S2140052A02846354B984784F8370061223146284611 -S2140052B0304B9847003018BF012094F8383060F320 -S2140052C0000384F83830E06A2E4B984702280BD04B -S2140052D094F83730052B15D8602231462846254BE2 -S2140052E0984784F839000EE7692231462846234B52 -S2140052F09847A08648F28E0231462846204B9847AB -S2140053002063E9E76922314628461C4B9847A08669 -S214005310E2E7502231462846164B9847208400285C -S2140053203FF4F6AE5C2231462846134B984784F885 -S214005330280005287FF6ECAE512231462846DFF8D5 -S2140053403480C0476084522231462846C047A08435 -S214005350532231462846C047E08459223146284623 -S214005360064B9847E083542231462846C04784F8C7 -S2140053702900CDE6D54400000D460000814500001A -S214005380A1460000699900007F2231462846224B3C -S2140053909847E06300283FF4C0AE7C22314628469A -S2140053A01E4B984784F8440005287FF6B6AE732255 -S2140053B031462846DFF86C80C047A4F848007422BF -S2140053C031462846C047A4F84A0079223146284686 -S2140053D0134B9847A4F846007E22314628460E4BCB -S2140053E098472064702231462846C047A4F84C00EF -S2140053F0712231462846C047A4F84E007522314631 -S2140054002846C04784F85000722231462846C047D6 -S21400541084F8510081E600BFA14600000D4600005A -S21400542081450000D54400002DE9F04198B00446BF -S2140054300E46022A08D0002A6CD0012A00F0CC8042 -S214005440002018B0BDE8F08100218E4B984708B1C7 -S2140054500320F6E70122002120468A4DA84707468A -S214005460042200212046A847804605220021204627 -S214005470A84704F10F0304F1170503AA13F8011F48 -S21400548002F8011B9D42F9D11FFA88F8BDF80C30CE -S214005490A3EB0803ADF80C30BDF810309844ADF817 -S2140054A0108080B2BDF80E301B1AADF80E30BDF875 -S2140054B012301844ADF812003A4603A93046724B33 -S2140054C0984708B90220BCE72C22002120466F4BE3 -S2140054D09847F92801D80220B3E720220021204669 -S2140054E0684B9847C0B208B10220AAE732220021D2 -S2140054F02046644B9847C0B208B10220A1E748F2A4 -S2140055000C0200212046614B9847FA2834BF02203F -S214005510012096E703A85E4B9847332200212046D9 -S214005520584B984710B100238DF8203003AA00216D -S2140055302046584B9847042200212046514DA84744 -S2140055408046052200212046A84704F1100704F1F2 -S2140055500F0304F1170501AA13F8011F02F8011B37 -S214005560AB42F9D11FFA88F8BDF80430A3EB080364 -S214005570ADF80430BDF808309844ADF8088080B225 -S214005580BDF806301B1AADF80630BDF80A301844D0 -S214005590ADF80A0003AA314601A83F4B98470222FD -S2140055A000212046374B984708B9002049E71C20C1 -S2140055B03A4B98470546012200212046314B984732 -S2140055C00023024639462846354EB04704F5187182 -S2140055D02846344B9847E8E702220021294B984793 -S2140055E038B9332200212046264B984740B9002080 -S2140055F027E704F518702C4B98472C4B9847F0E794 -S21400560003A8234B984700278DF818708DF8427032 -S2140056108DF8347003AA394620461E4B984704225C -S21400562039462046174DA84780460522394620466B -S214005630A84704F10F03173401AA13F8011F02F854 -S214005640011BA342F9D11FFA88F3BDF80420D21A31 -S214005650ADF80420BDF808201344ADF8083080B239 -S214005660BDF806301B1AADF80630BDF80A301844EF -S214005670ADF80A0003AA314601A8074B9847002058 -S214005680DFE600BFD54400006D1701000D460000A0 -S21400569069C20000C550000031C300003D2901006A -S2140056A02DC00000C1BD000091BE000071250100A4 -S2140056B0F8B505460E46144648F28C02264B984727 -S2140056C02072052800D8F8BD48F20C02314628465C -S2140056D0214B9847F92805D8237A13FB00F0C0F32E -S2140056E007202072237A052BEDD948F2890231462D -S2140056F028461A4B9847208048F2800231462846B2 -S214005700174FB847A08148F2810231462846B8476D -S214005710608148F2820231462846B847207648F231 -S214005720830231462846B847607648F28E023146F4 -S21400573028460C4B98476060E2894FF6FF739A4202 -S214005740C1D0228A9A42BED048F28A023146284602 -S214005750024B98472080B6E70D46000081450000C2 -S214005760D5440000A146000070B505460E46144616 -S21400577048F2AC02214B98472070052800D870BD2F -S21400578048F20C02314628461C4B9847F92805D8A3 -S214005790237813FB00F0C0F3072020702378052B36 -S2140057A0EDD9002363804FF480732381AB8A0133E5 -S2140057B02A8A9B1A1BB203EBD3735B10A380EB8A77 -S2140057C001336A8A9B1A1BB203EBD3735B10E38028 -S2140057D048F2AD0231462846084B9847A07248F278 -S2140057E0A90231462846064B9847A08148F2A002F7 -S2140057F031462846034B9847A073C0E70D46000085 -S21400580081450000D54400002DE9F04F89B00446DC -S2140058100E465022764B9847074668BB7F22314695 -S2140058202046744B9847804630B17C22314620464D -S214005830714B984705284CD84022314620466C4B81 -S21400584098470546002840F0BF800422314620468F -S214005850DFF89C81C0470546052231462046C047F2 -S214005860A842B8BF284600B20028C4BFC01907B275 -S214005870384609B0BDE8F08F5C22314620465E4BC4 -S2140058809847052801D80027C8E753223146204606 -S214005890574DA84707EBD77700EB67070137BFB22E -S2140058A0512231462046A84780465222314620469D -S2140058B0A8470028B8BF4042B8F1000FB8BFC8F1EB -S2140058C000084045ACBF3F18474438B220EAE077AE -S2140058D0A4E7702231462046454DA84782467022EE -S2140058E031462046A84783467E2231462046414B15 -S2140058F098474FF00009CDF8089047F618430193F3 -S214005900CDF800B053460246414604A8DFF8EC80C6 -S214005910C047ADF81890ADF81A90BDF81030013BAE -S214005920ADF81C30BDF81230013BADF81E307522C4 -S21400593031462046A8478146732231462046A8476E -S2140059408046742231462046A847054605AB5FFAD6 -S21400595089F206A904F11000DFF8A490C847BDF844 -S214005960143043449BB2BDF816202A4492B2B4F9D0 -S2140059701000BDF81810194409B2401AB842B8BF52 -S2140059803846B4F91210BDF81A7017443FB2CF1B50 -S21400599000B28742B8BF0746BDF81C0003441BB2DE -S2140059A0B4F91400181A3BB28342B8BF0346BDF8D8 -S2140059B01E00104400B2B4F91670C71B18B2B842E5 -S2140059C0B8BF384607B237E74C22314620460A4B66 -S2140059D0984705287FF639AF412231462046044BCA -S2140059E098472844B842B8BF384607B22DE700BFEC -S2140059F0D5440000A14600000D4600007D40010091 -S214005A002518010008291AD010B50446072920D009 -S214005A10012923D0062927D0032930D0042939D0DC -S214005A200B293BD0A1F10D03DBB2012B3BD9162984 -S214005A303ED0172951D0002954D0012010BD13782C -S214005A401BB92830506001207047002353600120A6 -S214005A50704726491046264B984710BD254B984759 -S214005A6080F00100C0B210BD0021234B9847B4F966 -S214005A7032309842B8BF18466086012010BD90F8B4 -S214005A80493013F0010F01D1012010BD1B4B984780 -S214005A90012010BD1A4B9847012010BD1021194B4C -S214005AA09847012010BD1021174B9847012010BDC4 -S214005AB0164B9847164B984728B106212046114B9F -S214005AC09847012010BD022120460E4B984704211E -S214005AD020460D4B9847012010BD06210A4B9847DB -S214005AE0012010BD0B4B9847012010BDE84902006D -S214005AF0955000001544000009580000E1390000E8 -S214005B002D2C00009D4C0000F94C0000E54D0000D7 -S214005B105B270000CD3000002DE9F8430546884697 -S214005B20002210311F4B984750B398F8343013F0CA -S214005B30100F27D1D8F8203043B30222294640461A -S214005B409847814603281FD008F104063046164BB6 -S214005B509847044660B1154F21462846FFF7DCFFFC -S214005B60034650B921463046B84704460028F3D1CC -S214005B70B9F1010F0CBF434600231846BDE8F88371 -S214005B800023FAE70023F8E70023F6E708F1040607 -S214005B903046054B984704464FF002090028DAD1F4 -S214005BA00346EAE76D170100A91F0100BD1F0100AB -S214005BB090F8343013F0100F00D070472DE9F04302 -S214005BC08BB00E460546B0F9324004A9354B9847CF -S214005BD0A3B2BDF81020D21AADF81020BDF81220DE -S214005BE0D21AADF81220BDF814201A44ADF81420CD -S214005BF0BDF816201344ADF8163004AA314606A8A0 -S214005C00294B9847A8B12B6A1BB1002206A9284643 -S214005C10984704A92846234B984704AA314608A863 -S214005C20214B984740B92B6A1BB1012206A928468A -S214005C3098470BB0BDE8F08305F1040840461B4BBF -S214005C40984704460028EED0DFF85890164E184FB6 -S214005C5005E021464046B84704460028E3D002A99E -S214005C602046C847638EBDF80820D21AADF8082033 -S214005C70BDF80A20D21AADF80A20BDF80C201A4446 -S214005C80ADF80C20BDF80E201344ADF80E3002AA75 -S214005C9008A96846B0470028DBD069462046FFF7CB -S214005CA087FFD6E7412E000019150100B31F01003B -S214005CB0E91F01002DE9F0470F46044670B139464A -S214005CC020461A4B98472046194B9847814660B1A4 -S214005CD0184EDFF85880DFF858A00EE0164B18680C -S214005CE0164B984704460028E9D1BDE8F087484699 -S214005CF0D0474C4681460028F7D009F104052146D6 -S214005D002846B047044640B139462046C04721469B -S214005D102846B04704460028F6D1D9F82030002B94 -S214005D20E5D00122394648469847E0E7B15B0000D7 -S214005D307D2C0000E91F0100882600204D2300006E -S214005D4038B51A4D28681A4B984704462868194BE8 -S214005D50984778B90123A361144B186843681A6AF8 -S214005D6012F0010F10D01B6A13F0020F0CD00123A3 -S214005D70E3610BE00D4D2868A369002BEAD0C369E8 -S214005D80002BF9D09847F6E70023E361C3681BB100 -S214005D90A26804F110019847236833B1626822B103 -S214005DA0A1688B4208BF1346A36038BD8826002032 -S214005DB0DD0F0100E10F010070B582B006461A4DF6 -S214005DC028681A4B984704462868194B984738B9EC -S214005DD02868A36923B1C369002BFAD09847F7E770 -S214005DE004F1100231466846124B98470E4C206864 -S214005DF0114B984701466846104B98476946104D28 -S214005E00A84720680F4B98476946A84720680E4B5E -S214005E1098476946A84720680C4B984708B102B0D7 -S214005E2070BD0B4B9847FAE788260020DD0F01006F -S214005E30E10F0100191501004D230000195B000059 -S214005E40B55C00008D230000CD230000F50F010097 -S214005E50415D000070470000F0B585B00C46054671 -S214005E60002854D0002C57D00023ADF80830ADF8E9 -S214005E700A302846364B98470138ADF80C002846BD -S214005E80344B98470138ADF80E0002AA2146684602 -S214005E90314B9847002845D02B6913B169462846F0 -S214005EA09847B5F86831C3F309039BB100210C4647 -S214005EB00F462A4E09313A4605EBC1016846B047FF -S214005EC080BB0134A4B22146B5F86831C3F3090398 -S214005ED09C42EFDB1F2B27DC093305EBC3030DF1D8 -S214005EE0FF3203F1080012F8011F03F8011B83427A -S214005EF0F9D1B5F86831C3F30902013262F3090338 -S214005F00A5F868310321E86A154B98470AE0154B57 -S214005F109847054630B1A5E7B5F868316FF3090331 -S214005F20A5F8683105B0F0BDB5F868316FF3090320 -S214005F30A5F868310DF1070205F1500005F1480398 -S214005F4012F8011F03F8011B8342F9D1D1E700BF05 -S214005F50ED0E0100150F0100191501006D17010067 -S214005F6059390100E10E0100014B1868704700BF67 -S214005F70882600202DE9F04F8DB00546B74B984790 -S214005F800990B74CEB68236000212846B54B98472C -S214005F902068C36B7BB1B0F86831C3F30903002BEC -S214005FA000F078824FF048080027AD4DDFF8E4A2F5 -S214005FB0DFF8C8B24DE0B0F868316FF30903A0F817 -S214005FC0683162E22644012386F8483101342868A5 -S214005FD0B0F86831C3F309039C4230D2031993F832 -S214005FE04831002BF2D1A742F0D004F10906F600A2 -S214005FF081194044D0470028E8D029688A194144CE -S2140060000AA8994B98470AA8D8470390286840449E -S214006010D847814628683044D8474844039B834283 -S214006020D4D22E6806EB08030DF1270203F1080010 -S21400603012F8011F03F8011B8342F9D1C2E70137AA -S2140060402868B0F86831C3F3090308F108089F42CE -S2140060500ED2384490F84831002BF0D12868B0F8BA -S2140060606831C3F30903002B00F0FA810024B5E77A -S21400607000217B4A5160002B00F0FA815A1E11461F -S214006080079232D4821892F848217AB103F2471365 -S21400609003440A46013AB2F1FF3F05D013F8011D4A -S2140060A00029F7D1079201E000230793426892F88F -S2140060B020306FF3000382F82030426892F82030D8 -S2140060C06FF3410382F82030654B1C68B4F86831E2 -S2140060D0C3F30903002B00F0CB81482306934FF04F -S2140060E0000ADFF87CB1274645E000230793DDE78A -S2140060F07A6892F8203043F0010382F8203043E0BB -S214006100DBF80000594B9847044600250582DBF86B -S2140061100000574B98470138A0826582DBF80000E4 -S214006120544B98470138E082DBF800305A6892F802 -S214006130203043F0020382F8203003984E4B9847F5 -S214006140DBF80000836943B1069B18444B4B984725 -S214006150DBF804300344CBF804300AF1010ADBF81C -S2140061600070069B08330693B7F86831C3F309033B -S2140061709A4580F27D8107EB0A0393F84831002B9D -S214006180EBD1079B5345B3D07A6892F820306FF373 -S214006190410382F82030069BFB1803933846384BA1 -S2140061A098470028ACD1DBF80000304B98470646ED -S2140061B007EBCA07B7F84C400134B7F84830E41A82 -S2140061C024B2B7F94E5005F10108B7F84A30A8EBEB -S2140061D003080FFA88F8DBF80000264B984785423C -S2140061E034DAB7F94E90F368B3FBF4F39845A8BFDA -S2140061F09846DBF800301B69002B52D00023ADF820 -S2140062002830ADF82C30ADF82A300FFA88F56C1E21 -S21400621024B2ADF82E40DBF8000003690AA99847BF -S214006220BDF92E104B1CBDF82A209B1A1BB29845B0 -S21400623032DA2546002CEADC124B0093124B40F271 -S2140062409F1212490220124CA04779E7DBF80000A3 -S214006250084B984701380FFA80F9C4E75910010037 -S21400626088260020593901006F150100DD0F010056 -S214006270ED0E0100150F0100B95D0000FD140100D0 -S214006280F50F01002C4A0200F0490200004A020005 -S2140062905D22010029170100002DC8BF01F1010889 -S2140062A0CADDB7F94A40CDF8109004EB0803013B6D -S2140062B04B454BDC1FFA88F30593013BCDF820A035 -S2140062C09A460DE0A9451CD00398784B9847059B45 -S2140062D01C4424B204EB0803013B049A93421ADCE4 -S2140062E0B7F948303382B7F94C30B3827482A4B21F -S2140062F004EB0A052DB2F582A945E3DAA6F8169056 -S2140063004D46DBF800305A6892F8203043F002031E -S21400631082F82030D8E7DDF820A0A9453FF410AF7A -S214006320B7F948303382B7F94C30B3827482A6F896 -S2140063301690DBF800305A6892F8203043F00203DB -S21400634082F820300398594B9847F9E60025E4E791 -S214006350574B984718B1574B18684369EBB1554CE3 -S21400636020684FF480714830534DA847206820219C -S21400637000F5A470A8472368B3F868216FF30902F4 -S214006380A3F8682109984D4B984701462068836911 -S214006390002B76D06268984773E0494B98470446CE -S2140063A0484B9847A369002BFCD1A3680393D4F805 -S2140063B000A0534508BFD4F804A03E4C2068424BCA -S2140063C0984704902368B3F86821C2F30902002AAC -S2140063D0C5D0450000229046A1460CE008F1010811 -S2140063E01FFA88F84246D9F80030B3F86811C1F3AE -S2140063F009018845B3DA991891F848110029EDD1BA -S21400640003EBC203B3F94A70B3F94810049807FBCC -S21400641000167600B3F84C3001335B1A1BB25B00F3 -S2140064200593D9F8003003EBC203B3F94E30BB42F4 -S214006430D4DB039B03EB060B56440932D400059AC3 -S21400644031465846214B984701373FB2AB442E445D -S214006450D9F800302344B3F90630BB42EFDABDE783 -S2140064600022144B5A60B0F86831C3F309037BB9B5 -S214006470104B1868B0F86831C3F30903002B7FF49B -S21400648067AF134B9847134B98470DB0BDE8F08F96 -S21400649007920BE60022074B5A60B0F86831C3F348 -S2140064A00903002BEDD0079200E600BFB95D00009F -S2140064B0F50F010088260020372B0100711001001F -S2140064C0DD0F0100415D0000ED0E010055260100C4 -S2140064D0F9250100F50C010008B50421014B984789 -S2140064E008BD00BF372B010008B50821014B9847AF -S2140064F008BD00BF372B010070B582B00679002EAC -S21400650055D004460068036899420AD00346751EB3 -S214006510EDB200EB85059D4249D053F8042F8A4220 -S214006520F9D10D46012E0ED0711E8900214B9847D9 -S2140065300646214B984780B1EEB12179002933D029 -S2140065400022134626E01D4B984700232360237144 -S214006550627963F30002627129E0194B00934FF4ED -S214006560827218490320184CA04732460023174869 -S21400657017498847FEE7174B0093114B4FF4837279 -S21400658010490220104CA04711E00133DBB22179FC -S214006590994209D9216851F823108D42F5D046F862 -S2140065A022100132D2B2F0E701392171266002B022 -S2140065B070BD00BF99280100B1220000C52401006B -S2140065C07C4A02003C4B02005D220100D83F0200DC -S2140065D0B9220000684B0200002851D070B582B086 -S2140065E004460E46274B9847237963BB0420264B68 -S2140065F0984705462846254B984758B3002D36D071 -S2140066006379C3F3400013F0010F18BF01302379FC -S214006610984210D205EB830103F18042013A013B18 -S2140066201B1ADBB2D31A05EB830351F8042C41F88E -S21400663004299942F9D145F8206023790133237162 -S214006640256002B070BD013399002068104B984752 -S2140066500546CFE70F4B0093D0220F4903200F4C7F -S214006660A0472A4600230E480E498847FEE70E4BF1 -S2140066700093084BD22208490220084CA047E0E7C6 -S214006680704700BFF9640000DD230100B12200005E -S21400669099280100984A02003C4B02005D22010046 -S2140066A0D83F0200B9220000A44B020030B583B0E8 -S2140066B0437913F0010F10D003F00603062B14BF26 -S2140066C0002301230279002A34D09A4234D9026882 -S2140066D052F82340204603B030BD05460420174B31 -S2140066E098470446164B984760B1CCB12046154BE8 -S2140066F0984721462846144B98476B7943F0010388 -S2140067006B71E7E7114B009340F2354210490320C6 -S214006710104DA847224600230F4810498847FEE739 -S2140067200F4B0093094B40F2374209490220094DAE -S214006730A847CFE70024CDE70024CBE7DD23010000 -S214006740B1220000D9640000D9650000B44A0200F6 -S2140067503C4B02005D220100D83F0200B922000037 -S214006760D44B020010B504460068024B984700233D -S214006770236010BDC52401000268D2B11378FF2B38 -S21400678013D0002006E00B2B0ADC02300230135C2C -S214006790FF2B0BD003F00F03082BF4DC0230F5E7D9 -S2140067A00D2BD4BF01300430F0E70020023080B259 -S2140067B0704700207047000081B170B50C460A682B -S2140067C05AB105460846064B98470646054B984775 -S2140067D0286032462168044B984770BD704700BF5A -S2140067E079670000DD2301005526010000286BD0E4 -S2140067F02DE9F8430746006800286AD0CDB20E0A95 -S214006800B4460378FF2B3BD04FF0FF3EF046002205 -S214006810CCF3060C27E08418647886EA040919F09D -S2140068207F0F0BD004F07F0434EA0C091DD14445D9 -S214006830C4BF0FFA84F80FFA82FE16E09646BEF141 -S214006840000F43DB7446704443785E4016F07F0FBB -S21400685019D00020BDE8F8830B2B0CDC0232023284 -S214006860835CFF2BEBD09D42D5D003F00F03082BA3 -S214006870F2DC0232F3E70D2BD4BF01320432EEE72E -S2140068804FF0FF3EDBE70D463846134B984705F0C2 -S2140068900F010B2904DD0E29B4BF0321062100E0F9 -S2140068A004210D46411A8C4207D223463A685419F1 -S2140068B0E45CD45401338B42F8D13868074B9847D0 -S2140068C038600120BDE8F883002070470020BDE84E -S2140068D0F8830020BDE8F883796700009928010056 -S2140068E02DE9F04186B0ADF80E10ADF80C20046826 -S2140068F0002C48D0CFB20D0AAE462378FF2B2CD002 -S2140069004FF0FF3188460022CEF3060E18E0A61898 -S214006910767885EA060C1CF07F0F21D006F07F06FD -S21400692036EA0E0C0ED14645C4BF0FFA86F811B2F1 -S21400693008E00B2B0CDC02320232A35CFF2B0ED0DD -S2140069409F42E4D003F00F03082BF2DC0232F3E799 -S2140069500D2BD4BF01320432EEE74FF0FF310A466A -S214006960002A10DBA3185B785D4015F07F0F0AD174 -S2140069700232A3189DF80C10A1549DF80D205A70F1 -S21400698006B0BDE8F0810646FF23ADF816301D4B75 -S2140069909847002808BF0220051DADB229462046AC -S2140069A0194B98473060194B9847E8B1002EE7D04E -S2140069B0AB1F3268D1189DF80E00D0549DF80F30EA -S2140069C04B702B1F3268D1189DF80C00D0549DF8E0 -S2140069D00D304B70023D33685A199DF81610595504 -S2140069E09DF817305370CBE7094B00934FF4C372F2 -S2140069F008490320084CA047326800230748084986 -S214006A008847FEE77967000099280100B122000058 -S214006A10CC4A02003C4B02005D220100D83F020037 -S214006A20B92200002DE9F04186B0ADF80C20ADF893 -S214006A300E100468002C48D0CFB20D0AAE4623785C -S214006A40FF2B2CD04FF0FF3188460022CEF3060EE7 -S214006A5018E0A618767885EA060C1CF07F0F21D081 -S214006A6006F07F0636EA0E0C0ED14645C4BF0FFA76 -S214006A7086F811B208E00B2B0CDC02320232A35C63 -S214006A80FF2B0ED09F42E4D003F00F03082BF2DC5E -S214006A900232F3E70D2BD4BF01320432EEE74FF09B -S214006AA0FF310A46002A10DBA3185B785D4015F01C -S214006AB07F0F0AD10232A3189DF80C10A1549DF83E -S214006AC00D205A7006B0BDE8F0810646FF23ADF8EB -S214006AD016301D4B9847002808BF0220051DADB292 -S214006AE029462046194B98473060194B9847E8B11D -S214006AF0002EE7D0AB1F3268D1189DF80E00D05498 -S214006B009DF80F304B702B1F3268D1189DF80C0083 -S214006B10D0549DF80D304B70023D33685A199DF8DD -S214006B20161059559DF817305370CBE7094B009354 -S214006B3040F2B51208490320084CA04732680023EB -S214006B40074808498847FEE779670000992801004A -S214006B50B1220000E04A02003C4B02005D22010028 -S214006B60D83F0200B92200002DE9F04387B0ADF807 -S214006B700E100468002C43D05FFA81FE0D0AAC4666 -S214006B802378FF2B2CD04FF0FF37B8460021CCF3EC -S214006B90060C18E06618767885EA060919F07F0F65 -S214006BA021D006F07F0636EA0C090ED14645C4BF52 -S214006BB00FFA86F80FB208E00B2B0CDC023102311C -S214006BC0635CFF2B0ED09E45E4D003F00F03082B2A -S214006BD0F2DC0231F3E70D2BD4BF01310431EEE7CE -S214006BE04FF0FF37394600290ADB63185B785D40B3 -S214006BF015F07F0F04D121448A7007B0BDE8F083FA -S214006C0017460646FF23ADF816301B4B984700285C -S214006C1008BF0220C51CADB229462046174B984730 -S214006C203060174B9847C0B1002EE6D06B1F326815 -S214006C30D1189DF80E00D0549DF80F304B70336875 -S214006C402B4403F8037C023D33685A199DF816104E -S214006C5059559DF817305370CFE70A4B00934FF401 -S214006C60F27209490320094CA047326800230848FD -S214006C7008498847FEE700BF7967000099280100A9 -S214006C80B1220000F44A02003C4B02005D220100E3 -S214006C90D83F0200B92200002DE9F04186B00292EA -S214006CA0ADF80E100468002C4ED0CFB20D0AAE46DA -S214006CB02378FF2B2CD04FF0FF3188460022CEF3EE -S214006CC0060E18E0A618767885EA060C1CF07F0FEC -S214006CD021D006F07F0636EA0E0C0ED14645C4BF1C -S214006CE00FFA86F811B208E00B2B0CDC02320232E7 -S214006CF0A35CFF2B0ED09F42E4D003F00F03082BBB -S214006D00F2DC0232F3E70D2BD4BF01320432EEE799 -S214006D104FF0FF310A46002A16DBA3185B785D4069 -S214006D2015F07F0F10D10232A3189DF80810A15459 -S214006D309DF809205A709DF80A209A709DF80B203D -S214006D40DA7006B0BDE8F0810646FF23ADF81630CF -S214006D50204B9847002808BF0220851DADB2294663 -S214006D6020461D4B984730601C4B984720B3002E9A -S214006D70E7D0A5F108033268D1189DF80E00D0546C -S214006D809DF80F304B70AA1F31688B189DF80800CD -S214006D9088549DF809205A709DF80A209A709DF82C -S214006DA00B20DA70023D33685A199DF816105955B3 -S214006DB09DF817305370C4E7094B009340F2132236 -S214006DC008490320084CA0473268002307480849B2 -S214006DD08847FEE77967000099280100B122000085 -S214006DE0084B02003C4B02005D220100D83F020027 -S214006DF0B922000000284DD02DE9F04384460468EF -S214006E00002C4AD0CEB2090A8E462378FF2B3ED0FD -S214006E104FF0FF37B8460020CEF3060E2AE02518BE -S214006E206D7881EA050919F07F0F0AD005F07F0515 -S214006E3035EA0E0920D14545C4BF0FFA85F807B2DA -S214006E401AE00746002F2CDBBB1CE018E35C13702F -S214006E5043785370DCF8000007447878C1F30601E5 -S214006E600840BDE8F0830B2B0CDC02300230235CBC -S214006E70FF2BE7D09E42D2D003F00F03082BF2DCA4 -S214006E800230F3E70D2BD4BF01300430EEE74FF0AD -S214006E90FF37D7E74FF0FF3070474FF0FF30BDE8C1 -S214006EA0F0834FF0FF30BDE8F08300284AD02DE98C -S214006EB0F04386460468002C47D0CEB2090A8C46BA -S214006EC02378FF2B3BD04FF0FF37B8460020CCF39B -S214006ED0060C27E025186D7881EA050919F07F0F62 -S214006EE00AD005F07F0535EA0C091DD14545C4BF1B -S214006EF00FFA85F807B217E00746002F29DB3C4457 -S214006F00A3781370DEF8000007447878C1F3060112 -S214006F100840BDE8F0830B2B0CDC02300230235C0B -S214006F20FF2BEAD09E42D5D003F00F03082BF2DCED -S214006F300230F3E70D2BD4BF01300430EEE74FF0FC -S214006F40FF37DAE74FF0FF3070474FF0FF30BDE80D -S214006F50F0834FF0FF30BDE8F08300284DD02DE9D8 -S214006F60F04384460468002C4AD0CEB2090A8E4606 -S214006F702378FF2B3ED04FF0FF37B8460020CEF3E5 -S214006F80060E2AE025186D7881EA050919F07F0FAC -S214006F900AD005F07F0535EA0E0920D14545C4BF65 -S214006FA00FFA85F807B21AE00746002F2CDBBB1C49 -S214006FB0E018E35C137043785370DCF80000074475 -S214006FC07878C1F306010840BDE8F0830B2B0CDC93 -S214006FD002300230235CFF2BE7D09E42D2D003F073 -S214006FE00F03082BF2DC0230F3E70D2BD4BF013081 -S214006FF00430EEE74FF0FF37D7E74FF0FF3070472B -S2140070004FF0FF30BDE8F0834FF0FF30BDE8F0836F -S214007010002850D02DE9F04307460468002C4DD0D8 -S214007020CEB2090A8C462378FF2B2DD04FF0FF3EB8 -S214007030F0460020CCF3060C19E025186D7881EA9E -S214007040050919F07F0F22D005F07F0535EA0C09F7 -S2140070500FD14545C4BF0FFA85F80FFA80FE08E049 -S2140070600B2B0CDC02300230235CFF2B0ED09E4232 -S214007070E3D003F00F03082BF2DC0230F3E70D2B0E -S214007080D4BF01300430EEE74FF0FF3E70460028D4 -S21400709018DB054601302318141D13F8010F02F8FB -S2140070A0010B9442F9D13B682B445878C1F3060192 -S2140070B00840BDE8F0834FF0FF3070474FF0FF30D8 -S2140070C0BDE8F0834FF0FF30BDE8F083437913F05E -S2140070D0010F06D013F0020F036814BF5868186833 -S2140070E0704700207047437913F0020F1ABF0368F9 -S2140070F0186800207047000000282CD038B50446D9 -S214007100437913F0010F08D0134B9847054620B17A -S214007110124B98472846124B9847637913F0020F94 -S21400712009D020460F4B9847054620B10B4B984791 -S21400713028460B4B984723794BB9002222602271D0 -S214007140637903F0FC0362F38203637138BD206841 -S214007150034B9847F1E77047CD7000006567000065 -S214007160C5240100E770000070B505460C462C4BA0 -S21400717098472368002B41D0637913F0010F20D184 -S21400718013F0020F10D0207901388000254B984765 -S21400719028602279013A216892000431224B9847F0 -S2140071A02379013B2B7170BD207980001D4B9847D9 -S2140071B028602279920021681B4B984723792B710F -S2140071C070BD13F0020F1AD0207902388000154BDC -S2140071D0984728602279023A216892000831124BBB -S2140071E098472379023B2B712846104DA847064640 -S2140071F02046A847014630460D4B984770BD20797B -S21400720001388000074B984728602279013A2168A8 -S21400721092000431044B98472379013B2B71E3E736 -S214007220F9700000DD23010055260100AD66000060 -S214007230B967000030B583B00446437913F0020FF7 -S21400724005D01D4B98470546284603B030BD0420A0 -S2140072501A4B984705461A4B9847A8B115B32846C7 -S214007260184B984729462046174B9847637943F0B2 -S2140072700203637113F0010FE6D023681A68596899 -S214007280196023685A60DFE7104B009340F2CD2266 -S2140072900F4903200F4CA0472A4600230E480F49EB -S2140072A08847FEE70E4B0093084B40F2CF22084972 -S2140072B00220084CA047C7E7E7700000DD23010066 -S2140072C0B1220000D9640000D96500001C4B020002 -S2140072D03C4B02005D220100D83F0200B9220000AC -S2140072E0044C0200002859D02DE9F04F83B0054623 -S2140072F00368002B54D04FEA11280023ADF806305F -S2140073000079002842D0934689461C464FF0FF3647 -S2140073109A46244F1CE050460DF106024946B847EF -S214007320804527D06B7913F0020F05D0002803DBC9 -S21400733014B913F0040F23D0B04204DDBDF80630B4 -S214007340ABF800300646013424B2287984421FDAAE -S214007350E2B26B7903F00603062B04BF0132D2B209 -S2140073600028D8D0824203D22B6853F82200D3E7F5 -S2140073705046D1E7BDF80630ABF8003001200AE0F1 -S214007380BDF80630ABF80030012004E04FF0FF36C1 -S214007390F043C0F3C03003B0BDE8F08F0020704764 -S2140073A00020F8E7F56D0000002858D02DE9F04FD2 -S2140073B083B005460368002B53D04FEA11280023FC -S2140073C0ADF804300079002841D0934689461C4623 -S2140073D04FF0FF369A46244F1BE0504601AA494616 -S2140073E0B847804527D06B7913F0020F05D00028E8 -S2140073F003DB14B913F0040F23D0B04204DDBDF84C -S2140074000430ABF800300646013424B228798442B2 -S2140074101FDAE2B26B7903F00603062B04BF0132D3 -S214007420D2B20028D9D0824203D22B6853F8220069 -S214007430D4E75046D2E7BDF80430ABF80030012060 -S2140074400AE0BDF80430ABF80030012004E04FF04D -S214007450FF36F043C0F3C03003B0BDE8F08F002025 -S21400746070470020F8E700BF5B6F0000002859D087 -S2140074702DE9F04F83B005460368002B54D04FEA41 -S214007480112800238DF807300079002842D0934653 -S21400749089461C464FF0FF369A46244F1CE050465D -S2140074A00DF107024946B847804527D06B7913F09F -S2140074B0020F05D0002803DB14B913F0040F23D005 -S2140074C0B04204DD9DF807308BF8003006460134E4 -S2140074D024B2287984421FDAE2B26B7903F00603FD -S2140074E0062B04BF0132D2B20028D8D0824203D283 -S2140074F02B6853F82200D3E75046D1E79DF80730B3 -S2140075008BF8003001200AE09DF807308BF8003039 -S214007510012004E04FF0FF36F043C0F3C03003B064 -S214007520BDE8F08F002070470020F8E7AB6E000043 -S214007530002852D02DE9F04F83B005460368002B93 -S2140075404DD04FEA1128007900283ED09346894650 -S21400755000244FF0FF36A246224F1AE0504601AAFA -S2140075604946B847804526D06B7913F0020F05D000 -S214007570002803DB14B913F0040F21D0B04203DD5A -S214007580019BCBF800300646013424B228798442A9 -S2140075901DDAE2B26B7903F00603062B04BF013254 -S2140075A0D2B20028DAD0824203D22B6853F82200E7 -S2140075B0D5E75046D3E7019BCBF80030012009E021 -S2140075C0019BCBF80030012004E04FF0FF36F0437B -S2140075D0C0F3C03003B0BDE8F08F00207047002035 -S2140075E0F8E700BF11700000F0B501F01F0EC1F300 -S2140075F04516C1F3C421052A3FD9C0F3C4240C4460 -S2140076001F2C28BF1F2404F01F04C0F34513334467 -S2140076103F2B28BF3F2303F03F0500F01F007044B8 -S2140076201F2828BF1F2000F01F03FF2A2ED0C2F1FC -S214007630FF0707FB0EF002FB030000EB002300EB46 -S214007640C310C30D4FF0000063F3040007FB06F3FE -S21400765002FB053303EB032503EBC513DB0D63F3D6 -S2140076604A1007FB01F102FB041202EB022302EBB5 -S214007670C312D20D62F3CF20F0BD4FF000006EF3C0 -S214007680040066F34A1061F3CF20F0BD4FF000000F -S21400769063F3040065F34A1064F3CF20F0BDF0B541 -S2140076A001F01F0EC1F34516C1F3C421052A3DD9CA -S2140076B0C0F3C4240C1B24EAE47404F01F04C0F3D3 -S2140076C04513F31A23EAE37303F03F0500F01F00A7 -S2140076D0AEEB000020EAE07000F01F03FF2A2ED079 -S2140076E0C2F1FF0707FB0EF002FB030000EB0023CE -S2140076F000EBC310C30D4FF0000063F3040007FB5C -S21400770006F302FB053303EB032503EBC513DB0D82 -S21400771063F34A1007FB01F102FB041202EB02239B -S21400772002EBC312D20D62F3CF20F0BD4FF0000083 -S2140077306EF3040066F34A1061F3CF20F0BD4FF0FD -S214007740000063F3040065F34A1064F3CF20F0BD35 -S2140077502DE9F04F93B09DF870409DF874B09DF8F9 -S2140077607890BBF1040F00D914B913B0BDE8F08FC0 -S2140077700893ADF824200E460546BA4B9847804637 -S214007780B94B98470746826806923246294610A8A3 -S214007790B64B98470028E8D03A8ABDF840309B1A86 -S2140077A099B20D460A9108B20B90ADF840007B8A5C -S2140077B0BDF84210C91A0FFA81FCADF842C0BDF8F8 -S2140077C04400801A80B2ADF84400BDF846E0AEEB47 -S2140077D0030E0FFA8EFEADF846E0089AAAB198F8A6 -S2140077E0083013F0010F10D1411C491B09B20029C3 -S2140077F00BDD134611441A78802A4FF0FF3298BFEB -S214007800002203F8012B8B42F5D1D8F81430002B58 -S21400781077D0BDF82480934B98470546BB8A013342 -S2140078203A8A9B1A1BB20793012C3ED0BDF9402022 -S214007830089B9F1ABDF8443001339B1A1BB208936D -S214007840BDF942A0BDF946309A458EDCBDF94060D0 -S2140078503446BDF944309E421EDC3E440FFA8AF997 -S21400786005964B46B9461F46059A12F8013B059207 -S21400787003FB0BF3C3F307230293ADF804800097D2 -S21400788023B2079A069928466E69B0470134BDF9B7 -S21400789044309C42E8DD4F46089B1F440AF1010A2B -S2140078A0BDF946309A45D1DD5FE7BDF94290BDF996 -S2140078B0463099453FF759AFDDF81CA05E46DDF827 -S2140078C018B0BDF94040BDF944309C4212DC0FFAB6 -S2140078D089F705970296ADF80480059B009323B2BE -S2140078E05246594628466F69B8470134BDF94430B8 -S2140078F09C42EFDD09F10109BDF946309945E0DD0E -S21400790033E7B9F1000F40F0A083BDF82430ADF89E -S2140079101C30544B98470646BB8A01333F8ADF1B10 -S2140079203FB2BDF94020BDF8443001339B1A1BB26C -S2140079300B931D46BDF94600BDF94230411CC91ADD -S21400794009B20C910A9303FB0722069901EB420148 -S2140079500591012C29D0BBF1FA0F00F20881834271 -S2140079603FF703AF069B33F81230BDF82460C6F32A -S214007970C42CC6F34512104606F01F0214467A00C1 -S2140079800C920B9A08990139069152000E921946EC -S2140079904FF0000E7246B6B20896CDF824B00D959C -S2140079A0A146CDF81CB0834645E3BBF1FA0F25D9B6 -S2140079B0736A23B110A82E4B9847F02813D80C9B57 -S2140079C0002B7FF7D2AE7F0000242A4DDDF83080F2 -S2140079D0059E0B9ABDF81C103046A8473E4401345D -S2140079E0A045F6D1C1E6BDF82430ADF80030746A83 -S2140079F010AB3A4606993046A047B6E6336A002BE7 -S214007A003CD010A81A4B9847F02837D90B99002974 -S214007A100CDDBDF82480184A931E01F1004101399F -S214007A2002EB410223F8028F9A42FBD1BDF9425085 -S214007A30BDF946309D423FF798AE4FEA4708DFF85B -S214007A4038A0DDF814905C4600940B9B52464946DD -S214007A503046376AB847C1440135BDF946309D42C5 -S214007A60F2DD82E6695F0000DD0F010019150100F6 -S214007A70FD1401003B1B0100902600204FF0000E75 -S214007A80BDF8242002F01F09C2F34518C2F3C42C27 -S214007A900BFB0CF303EB032103EBC113C3F3C4513D -S214007AA00BFB08F303EB032403EBC413C3F3C55427 -S214007AB00BFB09F303EB032203EBC213C3F3C4521D -S214007AC01FFA8BF30CFB03FC08FB03F809FB03F916 -S214007AD06FEA0B03DBB20C9800287FF746AE7800FF -S214007AE007900B9840000890002006909FB236E062 -S214007AF0307862F304003070308864F34A103080C7 -S214007B00000A61F3C700707002339B451CD01E4606 -S214007B101FFA8EF0B3F800A05045E9D0B3F800E0A5 -S214007B205978C90801FB07C1C1F30421CEF34514F7 -S214007B3004FB0784C4F305241A7802F01F0202FB34 -S214007B400792C2F30422D3E7059B079803440593E4 -S214007B50069B013306930C9898423FF406AE002D20 -S214007B60F2DD05980346089E00EB060BCFE70C9B5C -S214007B70002B7FF7FAAD0B9B043B0D937B000F9316 -S214007B8000230A93BDF81C20C2F3C42CC2F3451E82 -S214007B90C2F304030693DEE1BDF81C303B80434687 -S214007BA001318D4200F04C83023718F0030F00F0CD -S214007BB0558318F8013B002BF1D0FF2BECD0C3F116 -S214007BC0FF097A78D20809FB02F203FB0C2202EBCB -S214007BD0022002EBC012C2F3C4523888C0F345102C -S214007BE009FB00F003FB0E0000EB002600EBC610BE -S214007BF0C0F3C5503E7806F01F0A09FB0AF903FBDE -S214007C00049303EB032903EBC913DB0D63F30406AC -S214007C103E703B8860F34A133B801B0A62F3C7033F -S214007C207B70BCE7BDF81C4020F8064C20F8044CDE -S214007C3020F8024C04800431043308308F42C0F22E -S214007C4029811A4653F8044C002CF4D0B4F1FF3FB7 -S214007C50E8D013F8048CB8F1000F3FD0B8F1FF0F4E -S214007C6000F00581C8F1FF0610F8054CE40806FB95 -S214007C7004F408FB0C4404EB042504EBC514C4F31D -S214007C80C454099430F8065CC5F3451506FB05F5A3 -S214007C9008FB0E5505EB052905EBC915C5F3C555BB -S214007CA010F8069C09F01F0B06FB0BF6069C08FB5B -S214007CB0046808EB082608EBC616F60D66F30409FA -S214007CC000F8069C30F8066C65F34A1620F8066C39 -S214007CD0360A099C64F3C70600F8056C12F8038C94 -S214007CE0B8F1000F3FD0B8F1FF0F00F0C580C8F123 -S214007CF0FF0610F8034CE40806FB04F408FB0C44EB -S214007D0004EB042504EBC514C4F3C454099430F8FA -S214007D10045CC5F3451506FB05F508FB0E5505EB9B -S214007D20052905EBC915C5F3C55510F8049C09F0DF -S214007D301F0B06FB0BF6069C08FB046808EB0826E0 -S214007D4008EBC616F60D66F3040900F8049C30F836 -S214007D50046C65F34A1620F8046C360A099C64F332 -S214007D60C70600F8036C12F8028CB8F1000F3FD07B -S214007D70B8F1FF0F00F08580C8F1FF0610F8014C3F -S214007D80E40806FB04F408FB0C4404EB042504EBAF -S214007D90C514C4F3C454099430F8025CC5F3451501 -S214007DA006FB05F508FB0E5505EB052905EBC91581 -S214007DB0C5F3C55510F8029C09F01F0B06FB0BF621 -S214007DC0069C08FB046808EB082608EBC616F60DAA -S214007DD066F3040900F8029C30F8026C65F34A1654 -S214007DE020F8026C360A099C64F3C70600F8016C9A -S214007DF012F8018CB8F1000F3FF41DAFB8F1FF0F79 -S214007E0044D0C8F1FF064478E40806FB04F408FBF7 -S214007E100C4404EB042504EBC514C4F3C45B0588CA -S214007E20C5F3451506FB05F508FB0E5505EB0529BC -S214007E3005EBC915C5F3C55590F8009009F01F0A63 -S214007E4006FB0AF6069C08FB046808EB082608EB07 -S214007E50C616F60D66F3040980F80090068865F3EA -S214007E604A160680360A6BF3C7064670E3E6BDF888 -S214007E701C4020F8064C31E7BDF81C4020F8044CA6 -S214007E8071E7BDF81C4020F8024CB1E7BDF81C4075 -S214007E900480D0E60E9D8D424EDD541E059B03EBFE -S214007EA04108069E08E0BDF81C30A8F800300131F5 -S214007EB008F102088D423FDD14F8013F002BF6D092 -S214007EC0FF2BF0D0C3F1FF0998F80120D20809FB78 -S214007ED002F203FB0C2202EB022002EBC012C2F3FA -S214007EE0C452B8F80000C0F3451009FB00F003FBCD -S214007EF00E0000EB002700EBC710C0F3C55098F843 -S214007F00007007F01F0A09FB0AF903FB069303EB50 -S214007F10032903EBC913DB0D63F3040788F800702D -S214007F20B8F8003060F34A13A8F800301B0A62F372 -S214007F30C70388F80130BAE7059B0F9A13440593E8 -S214007F40089B0B9A134408930A9B01330A930C9AD6 -S214007F509A423FF40AAC002D40F37081089A12F062 -S214007F60030F00F07981059F90460021069C20E6CD -S214007F70FF2A02D0DDF824E004E0DDF824E02A88B9 -S214007F809A4232D0BEF1FF0F42D0CEF1FF046B789A -S214007F90DB080EFB0CF204FB032303EB032203EBCC -S214007FA0C213C3F3C4532A88C2F345120BFB0EF167 -S214007FB004FB021202EB022102EBC112C2F3C5520D -S214007FC0297801F01F0109FB0EF604FB016101EBA5 -S214007FD0012601EBC611C90D61F3040A62F34A1AC1 -S214007FE063F3CF2A1FFA8AF12B88298002460235CE -S214007FF0A8450FD017F8010F0028F8D09042BED041 -S214008000FF28B5D0079B03FB00FECEF3072EB9E78B -S2140080100899E9E705980C9C204405900A980130D9 -S21400802004460A9006980B9D28440690BDF9460023 -S21400803084423FF79AAB0D980028EBDD059805467D -S2140080400E9C00EB0408069FD4E7BDF82450B9F157 -S214008050010F40D0B9F1020F32D1834B0593BDF822 -S214008060242002F01F08C2F34516C2F3C423994623 -S214008070BA8A01323B8AD31A1FB2CDF824C00CFB51 -S21400808007F3069A02EB43020792012C26D0013032 -S2140080900A9A801A02B20C92089A0B99521A0892FF -S2140080A0069A32F81320F4453FF75FAB7B000B933C -S2140080B010460021CDF818B0CDF828B0CB46B0E079 -S2140080C06A4B00936A4B4FF404726A4902206A4C6A -S2140080D0A047FFF74ABB694B0593C0E74FF0000A7D -S2140080E00BFB09F303EB032003EBC013C3F3C450ED -S2140080F00BFB06F303EB032203EBC213C3F3C552D9 -S2140081000BFB08F303EB032103EBC113C3F3C453C8 -S214008110F4453FF72AAB79000891CDF818B0CB4666 -S2140081203AE0217863F304012170218862F34A1152 -S2140081302180090A60F3C701617009F1010902375D -S214008140BDF9441089451ADC3C461FFA8AF1B7F897 -S21400815000E07145E5D0B7F800A068F3040566F3C3 -S2140081604A156BF3CF25069A51462846059B984735 -S21400817000F01F03C0F34512C0F3C420D1E70799EF -S214008180089C21440791099901310C460991BDF9D3 -S21400819046108C423FF7E9AABDF94070B946BDF9D2 -S2140081A044108F42EBDC079901EB4707CCE7F92B2D -S2140081B09DBF0A9A5343C3F30722069A68F3040541 -S2140081C066F34A156BF3CF2521882846059B98470A -S2140081D080B29AF800102288208009F10109013740 -S2140081E00234BDF9443099450ADCBA463B78002B88 -S2140081F0F3D08B42DBD1B4F800E09645D7D1EBE75D -S214008200079B0B9C23440793089B0C9C23440893D2 -S214008210099B01331C460993BDF946309C423FF743 -S214008220A4AABDF94040A146BDF944309C42E7DC13 -S214008230089B1F19079B03EB4404D6E7089B002105 -S2140082400D9A8A42FFF678AE0433C81C059A02EBF4 -S21400825040000E950D9FF4E4089B00210D9A8A427B -S214008260F2DA1A4619E600BF9F760000904C02002C -S214008270444C0200604C02005D220100E9750000DB -S2140082802DE9F04F91B09DF868409DF86CA09DF8E0 -S2140082907050BAF1040F00D914B911B0BDE8F08FD0 -S2140082A0049307920F4601463A460EA8BC4B9847E1 -S2140082B00028F2D0BB4B98478046BB4B98470646F3 -S2140082C083680593028ABDF838309B1A9BB20693E2 -S2140082D0BDF918C0ADF838C0438ABDF83AB0ABEB6C -S2140082E0030B1FFA8BFB0FFA8BFEADF83AE0BDF8D6 -S2140082F03C10891A89B2ADF83C10BDF83E00C01A91 -S21400830080B202B20892ADF83E20049AD2B198F834 -S214008310083013F0010F15D101F10109069BA9EBF6 -S21400832003090FFA89F9B9F1000F0BDD13469144E2 -S2140083301A78802A4FF0FF3298BF002203F8012BEC -S2140083404B45F5D1D8F81430002B00F0A980954B9A -S21400835098470546B6F91000B38A01331B1A1BB2BC -S2140083600693BDF93810B7F90020B7F8049009F164 -S2140083700109A9EB02090FFA89F9BDF93AE0B7F944 -S2140083800230B6F912609B1BAEEB0303121A8A1A70 -S21400839009FB03234FEA410BCBEB430B079B5B44E4 -S2140083A09B46012C46D0049B5B1A0793BDF93E30D2 -S2140083B09E453FF772AFBDF93C304FEA490208923E -S2140083C00133591A0BB20993F146BDF938603446A9 -S2140083D0BDF93C309E4220DC079B03EB06080BEB06 -S2140083E046060FFA89F7049618F8013B03FB0AF3D2 -S2140083F0C3F307230293049A32F8023B0492ADF8C3 -S2140084000430009723B2069A059928466E69B0474D -S2140084100134BDF93C309C42E6DD079B099A1344C3 -S2140084200793089B9B4409F10109BDF93E30994525 -S214008430CBDD32E7BDF93E307345FFF62EAF4FEA8F -S2140084404909F046BDF938703C46BDF93C309F42BC -S2140084501EDC0BEB47070FFA88F6049733465646A2 -S214008460CA4699460296049A32F8023B0492ADF840 -S2140084700430CDF8009023B2069A059928466F6915 -S214008480B8470134BDF93C309C42EBDDD146B246DC -S214008490CB4408F10108BDF93E309845D2DDFCE634 -S2140084A0002D40F09983B6F91030B6F8148008F124 -S2140084B00108A8EB03080FFA88F80131069A891A12 -S2140084C00AB2099215460130A0EB0B0B0FFA8BF29D -S2140084D00892B7F90010B7F8049009F10109A9EB62 -S2140084E001090FFA89F90EFB08C2059800EB420253 -S2140084F00592B7F90220B6F91200121AAEEB020E78 -S214008500CB1AACEB030309FB0E33079A02EB4303CB -S2140085100693244B98470646012C1BD0BAF1FA0F57 -S21400852000F2C580089B002B7FF7B7AE4FEA4803E2 -S2140085300A934FEA49030B93099B049A013A049263 -S2140085405B000D934FF0000BCDF81CA00C95DDF8EA -S214008550189036E3036A5BB30EA8144B9847F028CE -S21400856026D9BDF93A50BDF93E309D423FF795AE4B -S2140085704FEA48084FEA4909DDF814B0069FCDF8DF -S21400858000A0099B3A4659463046346AA047C34481 -S2140085904F440135BDF93E309D42F0DD7DE600BF1B -S2140085A019150100695F0000DD0F0100FD140100D0 -S2140085B0BAF1FA0F10D8089B002B7FF76EAE4FEA81 -S2140085C0480304934FEA4909099B4FEA430B4FF0CF -S2140085D00008CAF1FF0E26E0089B002B7FF75DAE71 -S2140085E0099A56004FEA48084FEA49090024664DA2 -S2140085F09B46059FDDF818A0324651463846A847E8 -S2140086004744CA440134A345F6D146E6059B049A7E -S21400861013440593069B4B44069308F10108089BF8 -S21400862043453FF43AAE002DF0DD069B1F46059C01 -S21400863003EB0B0C7B78DB086278D2080EFB02F2A9 -S2140086400AFB032303EB032203EBC213C3F3C45357 -S2140086503A88C2F345122188C1F345110EFB01F199 -S2140086600AFB021202EB022102EBC112C2F3C55250 -S21400867017F8021B01F01F01207800F01F060EFB02 -S21400868006F60AFB016101EB012601EBC611C90DD6 -S21400869061F304002070218862F34A112180090AE0 -S2140086A063F3C70161700234BC45C3D1AEE7099BD2 -S2140086B0043B0A93089B002B7FF7EFAD4FEA480375 -S2140086C00C934FEA49030D930023079365E3B8F82C -S2140086D00030AEF80030634601318D4200F047832B -S2140086E008F102080EF1020E1CF0030F00F02D83B5 -S2140086F01CF8014B002CEED0FF2CE8D0C4F1FF068E -S21400870098F80130DB089EF80120D20806FB02F23A -S21400871004FB032303EB032203EBC213C3F3C4538C -S214008720B8F80000C0F34510BEF80020C2F34512AA -S21400873006FB02F204FB002000EB002200EBC21056 -S214008740C0F3C55098F8002002F01F029EF8007093 -S21400875007F01F0906FB09F604FB026202EB02247F -S21400876002EBC412D20D3C4662F304048EF80040BD -S214008770BEF8002060F34A12AEF80020120A63F337 -S214008780C7028EF80120A6E75526010034F8065CDD -S21400879020F8065C34F8045C20F8045C34F8025CCC -S2140087A020F8025C2588058004310433083408303C -S2140087B08E4540F347811A4653F8045C002DF3D0EB -S2140087C0B5F1FF3FE2D013F804CCBCF1000F47D060 -S2140087D0BCF1FF0F00F02481CCF1FF0914F8055C12 -S2140087E0ED0810F8056CF60809FB06F60CFB0565A7 -S2140087F005EB052605EBC615C5F3C45534F8066C1F -S214008800C6F3451630F8067CC7F3451709FB07F78D -S2140088100CFB067606EB062706EBC716C6F3C55610 -S21400882014F8067C07F01F0710F8068C08F01F0BDC -S21400883009FB0BF90CFB079707EB072C07EBCC178C -S214008840FF0D67F3040800F8068C30F8067C66F324 -S2140088504A1720F8067C3F0A65F3C70700F8057C30 -S21400886012F803CCBCF1000F47D0BCF1FF0F00F0AC -S214008870DC80CCF1FF0914F8035CED0810F8036CFB -S214008880F60809FB06F60CFB056505EB052605EB69 -S214008890C615C5F3C45534F8046CC6F3451630F84F -S2140088A0047CC7F3451709FB07F70CFB067606EBB7 -S2140088B0062706EBC716C6F3C55614F8047C07F061 -S2140088C01F0710F8048C08F01F0B09FB0BF90CFBB4 -S2140088D0079707EB072C07EBCC17FF0D67F3040889 -S2140088E000F8048C30F8047C66F34A1720F8047C01 -S2140088F03F0A65F3C70700F8037C12F802CCBCF108 -S214008900000F47D0BCF1FF0F00F09480CCF1FF09B8 -S21400891014F8015CED0810F8016CF60809FB06F681 -S2140089200CFB056505EB052605EBC615C5F3C4551A -S21400893034F8026CC6F3451630F8027CC7F34517C8 -S21400894009FB07F70CFB067606EB062706EBC716B1 -S214008950C6F3C55614F8027C07F01F0710F8028C01 -S21400896008F01F0B09FB0BF90CFB079707EB072C0E -S21400897007EBCC17FF0D67F3040800F8028C30F8FD -S214008980027C66F34A1720F8027C3F0A65F3C707A5 -S21400899000F8017C12F8018CB8F1000F3FF404AF28 -S2140089A0B8F1FF0F4BD0C8F1FF096578ED0846789F -S2140089B0F60809FB06F608FB056505EB052605EB3C -S2140089C0C615C5F3C4552688C6F345160788C7F3EB -S2140089D0451709FB07F708FB067606EB062706EBA6 -S2140089E0C716C6F3C556277807F01F0790F800C0CD -S2140089F00CF01F0A09FB0AF908FB079707EB072884 -S214008A0007EBC817FF0D67F3040C80F800C0078853 -S214008A1066F34A1707803F0A65F3C7074770C3E641 -S214008A2034F8065C20F8065C1AE734F8045C20F894 -S214008A30045C62E734F8025C20F8025CAAE725884A -S214008A400580B1E60B9D8D4240F39481561E4FEA99 -S214008A50410C069B03EB0C08059B9C440BE0B8F806 -S214008A600030ACF80030013108F102080CF1020CBD -S214008A708D4240F37F8116F8014F002CF3D0FF2C77 -S214008A80EDD0C4F1FF0798F80130DB089CF8012010 -S214008A90D20807FB02F204FB032303EB032203EBDB -S214008AA0C213C3F3C453B8F80000C0F34510BCF8B3 -S214008AB00020C2F3451207FB02F204FB002000EB85 -S214008AC0002200EBC210C0F3C55098F8002002F058 -S214008AD01F029CF800E00EF01F0907FB09F704FBD5 -S214008AE0027202EB022402EBC412D20D744662F349 -S214008AF004048CF80040BCF8002060F34A12ACF87E -S214008B000020120A63F3C7028CF80120ABE7023795 -S214008B100236474545D01CF8011F0029F7D0F92931 -S214008B209ABF01FB0AF1C1F30724079CC4F1FF05B5 -S214008B307B78DB087278D20805FB02F204FB03237D -S214008B4003EB032203EBC213C3F3C4533A88C2F306 -S214008B5045123188C1F3451105FB01F104FB0212F1 -S214008B6002EB022102EBC112C2F3C552397801F0C2 -S214008B701F01307800F01F0E05FB0EF504FB0151B7 -S214008B8001EB012401EBC411C90D61F30400307040 -S214008B90318862F34A113180090A63F3C7017170A4 -S214008BA0B5E7059B0A9A134405930B9B99440BF172 -S214008BB0010B049B099A13440493089B5B453FF4FE -S214008BC06CAB0C9B002BECDD4F46059E0D9B09EB1A -S214008BD00308DDF810C09EE7012D49D0022D3CD1D8 -S214008BE0DFF8E081B6F910300993B08A0130C01A78 -S214008BF000B2B7F90020BB8801339B1A1DB2F146BC -S214008C000EFB00FB059B03EB4B0BB7F90230B6F9E6 -S214008C1012609F1BAEEB070705FB07F7079B03EBEE -S214008C204707012C27D0049BA3EB0C031A46A7EB9F -S214008C304C030493089B9E453FF72FAB43000793D6 -S214008C406B000893CDF814A04B1C06995B1A1BB258 -S214008C500993CDF818A0924666E0564B0093564B03 -S214008C6040F2533255490220554CA047FFF715BB3A -S214008C70DFF85481B6E7099B9B1A07EB4307089B6E -S214008C809E453FF70AAB430004936B0005933B46B3 -S214008C9047469846BDF938301C46BDF93C209342FD -S214008CA010DC5B000BEB030508EB03065246298835 -S214008CB036F8020BB84725F8020B0134BDF93C30F4 -S214008CC09C42F3DD049B9B44059B984409F10109F3 -S214008CD0BDF93E309945DDDDFFF7DFBA01350236D6 -S214008CE00234BDF93C309D420FDC17F8013B002BE7 -S214008CF0F4D0F92B9DBF069A5343C3F30722059A77 -S214008D0031882088C0473080E8E7079B9B44099B52 -S214008D109A44049B089A1344049309F10109BDF987 -S214008D203E3099453FF7B9AABDF938301D46BDF922 -S214008D303C209342E9DC0AEB03075B000BEB0306DF -S214008D40049AD418D1E7049B00210A9A8A420ADDC5 -S214008D500433C81C4000069A1418059A10440B9554 -S214008D60DDF828E027E51A4670E6049B00210A9AFB -S214008D709142EDDB059B0C9A13440593049B099ADC -S214008D8013440493069B0D9A13440693079B0133E2 -S214008D900793089A9A423FF480AA002DE5DD049ACC -S214008DA012F0030FCFD0DDF81880DDF814E09446FB -S214008DB000219DE4904C0200544C0200604C0200DE -S214008DC05D2201009F760000E97500002DE9F04F56 -S214008DD0BDB01B902391174608939DF818310A934F -S214008DE09DF81C3106934B1EC81D3AAA13F8011FA6 -S214008DF002F8011B8342F9D1A34B9847A34B98472F -S214008E001890018ABDF8E8305B1AADF8E830428A5F -S214008E10BDF8EA309B1AADF8EA30BDF8EC305B1AC4 -S214008E20ADF8EC30BDF8EE309B1AADF8EE30984B4E -S214008E309847199030B9089A53881BB91389B3F527 -S214008E40807F71D0069B002B14BF4FF0030B4FF0B2 -S214008E50020B1B990B46B1F900208D880135AD1A1F -S214008E602DB2BDF9EA00189EB6F91210D846BDF923 -S214008E70E840B6F91060B3F902305B1AC31A921BC9 -S214008E80A21A05FB032303FB0B731493A4B2A219C7 -S214008E9092B2ADF89820BDF8EC3001331B1B9BB2A4 -S214008EA01CB21694013B1344ADF89C3080B24318B4 -S214008EB01BB2ADF89A30ADF89E30BDF8EE600136C4 -S214008EC0361A36B208994B88002B40F053830B892C -S214008ED0B3F5807218BF01220592199A002A40F055 -S214008EE07083B3F5807F40F049830A9B23B98B7A61 -S214008EF013B9069B002B31D13AA8664B9847B0F5BC -S214008F00F07F40F2AC804FF47070634CA0471A902C -S214008F104FF4F070A0471790482128A85F4B984759 -S214008F204FF4F0731C93E4E00A9B002B8AD1069B57 -S214008F308BB9937A13B14FF0020B8AE7937B0293B7 -S214008F40137801930123009300233A461B99239834 -S214008F50534CA0470BE34FF0030B7AE73AA84D4B70 -S214008F609847B0F5F07F14D83AA84A4B9847814600 -S214008F704FEA4900484CA04782464846A047044668 -S214008F800596002E4FDD08FB05F80025AC46149E1E -S214008F9025E04FF4F079EBE75B44023796450AD0BC -S214008FA0997802F8011B0029F6D05878197801EB59 -S214008FB000213980F0E74644BDF8EC300133BDF8B7 -S214008FC0E8209B1A0CFA83F3994514D9BDF89E3015 -S214008FD00133ADF89E300135059B9D4223D0169B8C -S214008FE0002BE8DD04EB0C020AEB4C079C4404EB78 -S214008FF00C0E3346D4E7089A937B029313780193BA -S214009000022300932346524626A92398244FB847A6 -S214009010BDF89E3001331BB2ADF89A30ADF89E30E5 -S2140090204FF0000CD7E7BDF99E30BDF99A209A4262 -S2140090300FD0013BADF89E30089A937B02931378CD -S2140090400193022300932346524626A92398144DE3 -S214009050A8472046134CA0475046A04787E23AA8A8 -S2140090600C4B98471C901C9B58000B4CA0471A9022 -S2140090701C98A0471790482128A8084B9847059B9E -S214009080002B36D091E200BF695F0000DD0F0100C3 -S214009090C5BE0000FD1401003D290100372B01006C -S2140090A08182000071250100052208984388ADF8EA -S2140090B0AC300389ADF8AE302897ADF8A4501B99B4 -S2140090C0CB88013349885B1AADF8A6308DF8B220FC -S2140090D08388ADF8A830C388ADF8AA308389ADF888 -S2140090E0B030C37BC3F300038DF8B33028A8934B8E -S2140090F098470898837ADA43D2B2129203B39BB2A7 -S214009100427BD20802FB03F210928289C2F3451218 -S21400911002FB03F21192027B02F01F0202FB03F332 -S2140091201393069B8BB90A9B53BB089A538853BB71 -S2140091301389B3F5807F14BF022301231D9306E035 -S2140091400023139311931093EBE702231D93199BAF -S214009150E3B9189BB3F91230BDF9EA2013441B9A01 -S214009160B2F902209B1A22931F96002E40F3E48148 -S21400917008FB05F31E9300230E930F93D14654E18C -S21400918002231D93E3E702231D93E0E71C9917983B -S2140091906B4B9847DDE70C9B2B441BB2BDF9A82010 -S2140091A09B1ABDF9AA200D998A1ABDF8AE10B1F522 -S2140091B0807F56D0BDF9AC10002965D1BDF8D61019 -S2140091C0319C01FB03430993329B01FB02330B9353 -S2140091D0099B1F12BDF9A4309F4280F2AB80002F7E -S2140091E0C0F2A8800B9A121210461592BDF9A6205E -S2140091F0904280F29F800028C0F29C809DF8D42088 -S21400920012F0040F6AD0289912F0020F55D103FB12 -S21400921000735A00881811F813308DF8B43043786C -S2140092208DF8B53002219DF8D43013F0010F0DD023 -S214009230209B6FF3040343F4FC636FF3CF23ADF876 -S2140092408030BDF8B4009BB2984273D09DF8B3301E -S214009250002B59D19DF8B6308AF80030BDF8B430EE -S21400926086E03498339900FB03F401FB1247319CE7 -S21400927004EBE714099400FB02F201FB0323329A85 -S21400928002EBE3130B93A3E7BDF8D61001FB03F341 -S21400929001FB02F23499339801FB03F400FB1247FA -S2140092A0319C04EBE734099401FB02F200FB032334 -S2140092B0329A02EBE3330B938AE7159A03FB0273A9 -S2140092C003EB43028B18895C8DF8B41059788DF83F -S2140092D0B5109B788DF8B6300321A4E739B2BDF9F6 -S2140092E05420BDF8B030259224912EA8154CA047E6 -S2140092F0ADF8B400259A24992EA8134B98478DF8FC -S214009300B600002211468EE7BDF82430ADF8D830FE -S214009310BDF82C30ADF8DA30ADF8DC70BDF854305E -S214009320ADF8DE3038928DF8E41028A8074B984741 -S21400933000288FD100238AF800303DE04DEB000076 -S214009340ED2B010019E9000049EA0000FDED0000E0 -S214009350E0070000FF238AF800307278337803EBCA -S21400936002239BB20A9A1AB13FF81C209A4236D0C2 -S214009370089A927AEAB1BDF84820D90A109801FBFB -S2140093800201C1F30421C3F34510119C00FB024007 -S214009390C0F3052003F01F03139C03FB0243C3F333 -S2140093A0072363F3040960F34A1961F3CF291FFA10 -S2140093B089F3079A22F8153001355E440AF1010A4E -S2140093C0454510D0059B002B7FF4E5AE069B002B91 -S2140093D0C0D0B3788AF80030002BEDD0BDE700236C -S2140093E08AF80030E8E7169B0F9A9C18199B002B0A -S2140093F03ED1149B1E9A13441493BDF8EC300133EF -S214009400BDF8E8209B1A04FA83F31C9A9A425CD9AA -S214009410BDF89E300133ADF89E300F940E9B01339D -S2140094200E931F9A934200F08780189BB3F9103072 -S214009430BDF9E82013441B9AB2F900209B1A0C933E -S214009440169B9846002B11DD179B19460F9A01EBC9 -S214009450020A1A9B194601EB42030793149E002545 -S214009460229B0E9A13441BB20D93ABE70F9CBDE7ED -S2140094700F9B179A13441E46BDF8E810BDF8EC3053 -S21400948001335B1ABDF8EA20189D688A02440E98DC -S2140094900244288A01441BB212B209B230464E4D2D -S2140094A0A84728B102281D9A08BF02461D92A0E7C9 -S2140094B0BDF8EC100131BDF8E830C91A09B23046E3 -S2140094C0464B984702231D9393E7089DAB7B029378 -S2140094D02B7801931D9B0093179B1A9A26A9239815 -S2140094E03F4CA047BDF89E3001331BB2ADF89A3012 -S2140094F0ADF89E30069B5BB90A9B83B96B888BB927 -S2140095002B89B3F5807F14BF022301231D9301E04E -S21400951002231D93199B43B900230F937EE7022372 -S2140095201D93F7E702231D93F4E71C9917982D4B1C -S214009530984700230F9371E7BDF99E30BDF99A2036 -S2140095409A420FD0013BADF89E30089A937B029367 -S214009550137801931D9B0093179B1A9A26A92398AC -S2140095601F4CA0471798204CA0471A98A0473DB01C -S214009570BDE8F08F199B13BB012305933AA81B4B3C -S2140095809847B0F5F07F7FF66AAD4FF47070184CD0 -S214009590A0471A904FF4F070A0471790482128A8CB -S2140095A00E4B98474FF4F0731C93069B002B7FF4EA -S2140095B07BAD0A9B002B0CBF0422062275E5012317 -S2140095C005933AA8094B9847B0F5F07F7FF647AD6C -S2140095D04FF4F0731C9346E51DBE0000372B0100C8 -S2140095E081820000ED2B010071250100FD140100B1 -S2140095F03D29010070B59EB004460D46164609A8E2 -S2140096000B4B98470B4B1B88ADF8263009AA29460A -S2140096102046094B984702A8084B9847002300931A -S214009620334602AA29462046054CA0471EB070BD08 -S21400963069C20000B84C020031C30000CD9900009A -S214009640259A000010B5044610210C4B9847237B42 -S2140096506FF304032373A3896FF34A13A3811B0AD2 -S2140096606FF3C7036373FF2323704FF48073238164 -S214009670E37B43F00103E37310BD00BF372B01000B -S21400968004380A2813D8DFE800F00608060A0C0E8D -S214009690100A0C0E1000102070471820704701208A -S2140096A0704702207047042070470820704700204B -S2140096B07047032805D002D30638042801D90020B5 -S2140096C070470120704702380C2808D8DFE800F001 -S2140096D009070709070909090909090909000020F6 -S2140096E070470120704700002DE9F04F8FB0054607 -S2140096F00E463AB11C4610461B78052B10D80FB004 -S214009700BDE8F08F844B0093844B4D2284490220A1 -S214009710844CA047844A31462846844B9847EEE757 -S214009720A189834B98470746002800F0B58090F83B -S2140097300C9009F01F0948467E4B984780464846DD -S2140097407D4B98478146BB696BB17C4B00937C4B45 -S214009750F72273490220734CA047BA69314628465F -S214009760724B9847CBE73B69002B49D06B1EE81D30 -S2140097700AAA13F8011F02F8011B9842F9D1638860 -S2140097801BB92289B2F5807F28D0EA880132698821 -S214009790521AA98801312888091A201D01902089AB -S2140097A000901BB212B209B20AA8DFF8B8A1D047DF -S2140097B02A88BDF828301344ADF828306B88BDF8E9 -S2140097C02A101944ADF82A10BDF82C100A44ADF83A -S2140097D02C20BDF82E201344ADF82E300AAA3146B0 -S2140097E00CA8584B9847002889D03A69CDF80490C1 -S2140097F0CDF8008023460CA92846534CA0477EE7A8 -S2140098002A46314608A84F4B984700283FF477AFC2 -S214009810BDF824300133BDF820209B1A1BB20393F9 -S21400982003EB4300494B984702900DF11F020AAB29 -S2140098300CA812F8011F03F8011B8342F9D101217D -S2140098400AA8434B9847BDF92030B5F90020BDF96A -S21400985022A0B5F90210AAEB01010846BDF92610B0 -S2140098608A4555DCDFF8DCB09B1A1BB205930795DA -S21400987006944446804623E0079D0498354B984757 -S214009880354B00932E4B4FF49A7225490220254CF7 -S214009890A0470298314B9847284B00931F4B5822FD -S2140098A01F4902201F4CA0471F4A314628461F4B1F -S2140098B0984724E70AF1010ABDF926309A4527DCC5 -S2140098C00AAA31460CA8D8470028F3D00497029B72 -S2140098D00093039B0FFA88F205993846204DA84757 -S2140098E00128C9D1CDF804900094069B029A0CA9D1 -S2140098F00AA8154DA847BDF82A300133ADF82A301E -S214009900BDF82E300133ADF82E3008F10108D1E74E -S2140099100298124B9847F2E60C4D0200BC4C02002F -S214009920DC4C02005D220100244D0200F59500008B -S21400993001F20000B3960000C79600002C4D02000E -S214009940C84C020019150100CD8D00003D2901000C -S214009950F314010035FF0000404D020071250100A0 -S21400996011FF000065EC000058B10278A2F1200358 -S214009970DBB25F2B07D952B2002AB4BF0220002008 -S21400998070470320704701207047A0F13003DBB218 -S214009990092B17D9602884BF2038C0B24138052863 -S2140099A00ED8DFE800F011030507090B0B207047FF -S2140099B00C2070470D2070470E2070470F20704710 -S2140099C000207047184670470A20704710B50446B6 -S2140099D01C21124B9847FF23237223786FF304034E -S2140099E0237023886FF34A1323801B0A6FF3C70381 -S2140099F063700B4B63604FF6FF73E3812382A3789B -S214009A0043F01F03A37063886FF34A1363801B0A37 -S214009A106FF3C703E3700023A37510BD372B010057 -S214009A20100000202DE9F04FD9B0629C157A052D64 -S214009A3001D91D7815B959B0BDE8F08F0A93934641 -S214009A400A460D9105461390DBF80430059301464F -S214009A5056A8AA4B98470028EDD09BF8172012F07E -S214009A60020F21D1AB8801332A889B1A1BB2059AB4 -S214009A70B2F908A0BBF90A90D1441399B1F90020B5 -S214009A801F92B1F90200BBF912201A92BBF914100A -S214009A90421892B215B2002C4AD000294BD10028A9 -S214009AA014DB0E95002629E0BBF90C30029247F62F -S214009AB018420192BBF90A200092DBF804200A99AA -S214009AC03AA88F4DA847BDF9E830D0E7A168081A34 -S214009AD080EAE071A1EBE071C9F50070B1EB400FD0 -S214009AE005DD4FF0FF3222600E95002606E0266860 -S214009AF0002E23DB61680A4412B20E921BB219468E -S214009B001093BBF90C209BF8173000930B46059971 -S214009B100A9830447B4DA84783192F46DFF8F88112 -S214009B203146CDF81890D1460E9D26461C460FE0CD -S214009B300E950026E2E70E950026DFE70E95002636 -S214009B40DCE721469AF80030002B3FF474AF044659 -S214009B5005EB09030D9AB2F90220934220DA0A9B1C -S214009B6003EB040ABBF90C209BF817300093109BFC -S214009B7005995046B8472044069B1D442DB2002E3A -S214009B80DFD04545DDDB3368002BDADA3460139A24 -S214009B90B2F90230EB1A7360B2F90230B360D0E764 -S214009BA00E460794DDF818900E959BF8172012F0D5 -S214009BB0040F2FD112F0080F45D19BF808300B93F5 -S214009BC0BBF80E70BBF81030194608939F4202D9B6 -S214009BD03B460F4608939BF8183013F0030F49D105 -S214009BE03DA8494B9847BBF80230ADF8F6300B9BC2 -S214009BF0FA2B88BFFF2316931FFA89F31793BDF835 -S214009C00383011931F9D00231993BA46D846B346A1 -S214009C1000F0D3BDBBF90C30A11B0092059A89B2A7 -S214009C200A983044394CA047139A93880133128817 -S214009C309B1A1BB2181A00EBD0701F9B03EB600335 -S214009C401BB21F93B9E7BBF90C300799891B00922A -S214009C50059A89B20A9830442C4CA047139A9388E8 -S214009C60013312889B1A1BB21B1A1F9A13441BB28D -S214009C701F93A2E753A8264B9847BBF80030ADF8D1 -S214009C804C31DBF80430B3F908300533214A82FB47 -S214009C900312DB17C3EBA203ADF84E319BF8083076 -S214009CA08DF854319DF855319BF8192062F3010365 -S214009CB08DF8553194E70025AAE00025A8E0069B1C -S214009CC02BB9BDF848311993012306938AE0069B09 -S214009CD0012B00F0F185022B00F03385B8F8006008 -S214009CE0B5E0202C7ED1529B199A9B1A072B15D0D3 -S214009CF0B8F800300C930223069373E019150100A0 -S214009D007D400100B13D010069C20000DD3F010059 -S214009D10E1A800006766666600FCFFFF099B9818CE -S214009D20431E05303AAA13F8011F02F8011B8342AE -S214009D30F9D19DF8E8008C4CA04705469DF8E9004F -S214009D40A04700EB05159DF8EA00A04706469DF8DB -S214009D50EB00A04700EB06169DF8EC00A047074670 -S214009D609DF8ED00A04700EB0713C3F3C4032E9A3B -S214009D7063F304021346C6F3850666F34A13C5F377 -S214009D80C40565F3CF23ADF8B8309BB20C9302231D -S214009D90069327E0ADF8E8A00E9AADF8EA20B8F8EA -S214009DA00C30013B53440344ADF8EC30179B013BA9 -S214009DB01344ADF8EE303DAA0D993AA86B4B984780 -S214009DC056E06B4B00936B4B40F297126A490220A9 -S214009DD06A4CA047002F05DDB8F80C3053443B44CE -S214009DE00FFA83FA5299079BA3EB0B038B4240F2C0 -S214009DF0AC844FF6FF7399453FF45DAF089A9A42DC -S214009E003FF45BAF59440A985D4B1B68984785B290 -S214009E105C4E336852A9099F384698470446336813 -S214009E20002152983844984798F8173013F0010FDD -S214009E3006D0232C3FF443AF069B012B3FF451AFD3 -S214009E40B8F800600C9B069A022A08BF1E46024617 -S214009E50214605984C4B984707464FF6FF739945A1 -S214009E6006D00899994203D0A94501D8A94291D8AD -S214009E700B9B042BAED9059B002BA2D098F819306B -S214009E800F93002322463AA90598404DA84758B993 -S214009E901F2C9FD93E4B0093364B40F2A1123649F9 -S214009EA00220364CA04795E7BDF8EC201AB9BDF85D -S214009EB0EA30002B8ED0BDF9EE505544BDF8EA309E -S214009EC02B440D98B0F900108B4283DBB0F90430B8 -S214009ED09D423FF77FAF059BB3F90810B3F90A30F0 -S214009EE0CB1A0E990B44991ABDF9F030CB1A15937C -S214009EF01A44B0F902309A42FFF66CAFB0F9063059 -S214009F00159999423FF766AF21460598214B984729 -S214009F108646F0B1059B1B7B13F0030F00F05E82B4 -S214009F202BB21893BDF954301D939DF8F23012935E -S214009F30032B00F0FF80013B072B00F20281DFE8D5 -S214009F4013F00A012D000001FB00000100010001D2 -S214009F501101114B0093074B40F2B712064902203D -S214009F60064CA04736E700BF8B99000031C30000BF -S214009F70E84E0200784E0200B84E02005D22010054 -S214009F806400002058000020610001005900010014 -S214009F90084F020051000100304F0200C0231B93FF -S214009FA0AC4B2093BDF8EA301E93BDF8EC10129A25 -S214009FB002FB03F20D9BB3F90030189C9C42BABF1B -S214009FC01B1B03EB4303002327930D9BB3F90430BD -S214009FD01E980446A04880FB0440189C20449842E3 -S214009FE0C3BF1B1B013303EB43031E9B14930D9B44 -S214009FF0B3F902301D9C9C42B4BF1B1B0023259363 -S21400A0000D9BB3F906301D9C0819984240F3B180A9 -S21400A0101B1B0133289306F01F032293C6F3451338 -S21400A0202493C6F3C4232393129B1846279B00FB56 -S21400A03003F3259800FB02320EEBE206319602F09F -S21400A04007061E9801FB00F1B1F5F07FA8BF4FF49C -S21400A050F07129910846814CA04721902999480023 -S21400A060A04730907E4B98477E4B9847B0F91040FB -S21400A070838A01331B1B19B226918168279B764A77 -S21400A08082FB03E2A2EBE372B0F912301D98C31A0A -S21400A0902698864618980EFB03031B1B259C0EFB72 -S21400A0A00420034401EB43011891ADB22A44ADF8F5 -S21400A0B0E020149A9646684981FB0EE3A3EBE27310 -S21400A0C0013D2B44ADF8E430159D25442BB2ADF888 -S21400A0D0E230ADF8E630644B98472A90289DAC42B3 -S21400A0E080F261811499279A8C1A2B941E9D6B1A04 -S21400A0F01344129901FB03F32C93574A82FB042363 -S21400A100C3EBE473269803445B002D930023269349 -S21400A1101593CDF8C8B0CDF8CC903497DDF86090A4 -S21400A120DDF8C4B0CDF8C4A0DDF8C0A0CDF8D4806A -S21400A1308846EAE004231293F0231B934B4B2093AC -S21400A14030E74B4B00934B4B40F27A224A490220B1 -S21400A1504A4CA0473EE60123129380231B93484BAC -S21400A16020931FE708231293FF231B93454B20934E -S21400A17018E728914FE7B8F1080F04D0DBB2209A11 -S21400A180D25C00E0159A58AB0B4403F8842C0131DE -S21400A190032928D0B44540F39480129B43441E46BE -S21400A1A02EFA08FE0135149BAB4200F09080129602 -S21400A1B09BF8003003EA0E02ACEB060322FA03F328 -S21400A1C013F0FF02DED01698FF28D4D0B8F1080F9F -S21400A1D00FBFDAB2DBB2209AD25C169B03FB02F208 -S21400A1E0C2F30722CFE79DF8DC109AF80130DB08AF -S21400A1F0C1F1FF00239A01FB02F200FB0323C3F325 -S21400A20004231D939DF8DE3018939AF8002002F080 -S21400A2101F02C3F1FF00229B189C04FB03F300FB04 -S21400A2200232C2F304231E939DF8DD00BAF8003014 -S21400A230C3F34514C0F1FF03249A00FB02F203FBAC -S21400A2400423C3F30523F9B9F0B9189AE2B9219AA1 -S21400A250D1551DE0644D0200565555553D29010067 -S21400A260695F0000DD0F0100C5BE0000684D0200FA -S21400A270604F0200884E0200B84E02005D220100C8 -S21400A280604D0200784D0200219A4FF0FF31D15503 -S21400A29009EB470019F817101E9A62F3040109F833 -S21400A2A0171039F8172063F34A1229F81720120AF4 -S21400A2B01D9B63F3C702427001370AF1020A0021B0 -S21400A2C068E70BF1010BDDF86CE0159E6AE7534674 -S21400A2D0CA4699462A9B4BBB2B9B3B44299A9A42DB -S21400A2E041DDBDF8E6300133ADF8E63026972C9B0D -S21400A2F01E440BEBE60B06F007062D9B9944259BA8 -S21400A30001332593289A934244DA1B9B23FA06FED0 -S21400A310279D149A954207DA269F0021C8F1080C5B -S21400A3204B46D1469A4642E7269FD3E7269B219A7C -S21400A33013441C46BDF9E010BDF8E43001335B1A47 -S21400A3401BB2BDF9E6202046AB4DA8470028C3D176 -S21400A350BDF8E4100131BDF8E030C91A09B2204654 -S21400A360A64B9847B8E70F9B0293169B01930223D0 -S21400A3700093219B524638A90D98A14CA047BDF8E2 -S21400A380E63001331BB2ADF8E230ADF8E63000231C -S21400A3902693ACE7DDF8C8B0DDF8CC90349FDDF846 -S21400A3A0C4A0DDF8D480BDF9E630BDF9E2209A42BB -S21400A3B00ED0013BADF8E6300F9B0293169B01933F -S21400A3C002230093219B309A38A90D988C4CA04705 -S21400A3D021988C4CA0473098A047FBE42CB2BDF9DE -S21400A3E05400ADF88C609DF8F2302093032B00F0FB -S21400A3F0C180013B072B00F2C580DFE813F0CD00DB -S21400A4000800C300BD00C300C300C300D50004237A -S21400A410C02212927C4A22921699F9292BD87B4A9E -S21400A42092F800218A4200F0C880D3B1229E721EA4 -S21400A43076490139013B06EB030C169B1E46CDF808 -S21400A44050B09B4612F8013FFF2B1ABF0BFB03F3DD -S21400A450C3F30723334601F8013F9445F2D1DDF8F4 -S21400A46050B06A4B9DF8582083F80021209AC3F814 -S21400A47004211C9B2293BDF8EA302493BDF8EC20FF -S21400A480209901FB03FC0D9BB3F900309C42B4BF3E -S21400A4901B1B002314930D9BB3F90430249921440D -S21400A4A09942C6BF1B1B0133249B25930D9BB3F912 -S21400A4B002309842B4BF1B1A002326930D9BB3F9B3 -S21400A4C0063011189942C3BF1B1A01331B931B9207 -S21400A4D0149B2193209903FB01F4269800FB0C445F -S21400A4E00EEBD40604F00704249902FB01FE724624 -S21400A4F0BEF5F07FA8BF4FF4F0721D921046444B95 -S21400A50098471890ADB2149BEB18ADF8E030013DBB -S21400A510259AAB18ADF8E430159D269805442BB265 -S21400A520ADF8E230ADF8E6303A4B98471E902099E9 -S21400A530C1F10805249A149BD318259A9B1A01FB8F -S21400A54003F3209326981B9B984280F2DF804FF0FF -S21400A550000ECDF890B0CDF8989027970F46159539 -S21400A560CDF8A0A0DDF894A08146CDF89480DDF863 -S21400A57088807AE0042320931023F0221292264A41 -S21400A580229249E7254B0093254B40F2E5122549D8 -S21400A5900220254CA0471DE401232093022380229D -S21400A5A01292224A229237E7082320934FF48073B0 -S21400A5B0FF2212921E4A22922EE7144AD2F8042153 -S21400A5C0209991427FF431AF4BE701361298002470 -S21400A5D001318C452ED0337803402A1BD34013F02C -S21400A5E0FF0F1ABFDBB218F8033000230B70A5422A -S21400A5F0EBD93C44F840EBE71DBE0000372B0100CA -S21400A6008182000071250100644D0200502A00205E -S21400A6103D290100C5BE0000684D0200884F0200BB -S21400A6209C4E0200B84E02005D220100604D020002 -S21400A630784D020015951E9B53BB149BAAEB030393 -S21400A6405B441D9A9A423FD9BDF8E6300133ADF817 -S21400A650E630DE46209B1C4406EBD40604F00704D6 -S21400A66009F101091B9B994547DA129B23FA04F06E -S21400A670149B53450ADA189A02EB0E01219BAAEBAB -S21400A680030BF34402EB0B0C159DA4E7F346D2E74D -S21400A690189B734418462293BDF9E010BDF8E430C9 -S21400A6A001335B1A1BB2BDF9E620854DA84700288A -S21400A6B0C3D1BDF8E4100131BDF8E030C91A09B2C3 -S21400A6C02298804B9847B8E70F9B0293FF2301938D -S21400A6D002230093189BBDF88C2038A90D98DFF84C -S21400A6E0E8B1D847BDF8E63001331BB2ADF8E2302A -S21400A6F0ADF8E6304FF0000EACE7DDF890B0DDF8D0 -S21400A7009890279FDDF8A0A0DDF89480BDF9E6308C -S21400A710BDF9E2209A420FD0013BADF8E6300F9B20 -S21400A7200293FF23019302230093189BBDF88C200D -S21400A73038A90D98644CA0471898644B9847FFF7C3 -S21400A74049BB00230693FFF74DBB5346CA469946BE -S21400A75098F8183013F0020F46D198F8183013F016 -S21400A760010F62D10A9A079D5619B8F90C2098F87D -S21400A77017300093109B05993046554CA047441956 -S21400A780139BB3F9005098F8172012F0040F6CD101 -S21400A79012F0080F7ED10E9B17990B441BB2119A2C -S21400A7A00A4492B21192DDF81CB00E930D9AB2F9DB -S21400A7B006209A42FFF63FA907940A9A13465B447E -S21400A7C0099312F80B30002B3FF435A91A9B1D4451 -S21400A7D00FFA85F90023529306933E4B1C934B4683 -S21400A7E0D1469A46FFF7FEBABDF87C30ADF8E030A9 -S21400A7F0D8F80430B3F9083003EBD372BDF94E3104 -S21400A80003EBD3735B1003EB6203119A13441BB282 -S21400A810ADF8E230ADF8E890ADF8EA3053AB0D9AFB -S21400A8203AA938A82C4CA04797E7BDF87C30ADF87D -S21400A830E030D8F80420BDF94E3103EBD3735B103B -S21400A840013311890B4452899B1A119A13441BB287 -S21400A850ADF8E230ADF8E890ADF8EA3053AB0D9ABB -S21400A8603AA938A81C4CA0477CE7B8F90C300092EF -S21400A870059A01463046194EB047139A938801331D -S21400A88012889B1A1BB2181A00EBD07005EB6005F5 -S21400A8902DB280E7B8F90C300092059A0146304692 -S21400A8A00E4EB047139A9388013312889B1A1BB238 -S21400A8B0181A05442DB26EE700230693FFF70EBA6A -S21400A8C01DBE0000372B01005177000071250100E6 -S21400A8D0B13D0100502A002011A90000DD3F010013 -S21400A8E010B504460A21094B984701236380FF23CD -S21400A8F0237223786FF30403237023886FF34A13BD -S21400A90023801B0A6FF3C703637010BD372B01004B -S21400A9102DE9F04FCBB0B3F90250002D00F01884AB -S21400A9201C7A052C40F21484B0F90060B1F900706E -S21400A930BE4200F030811C4696460892079106906B -S21400A94005EBD575C5F34F05BE42D4BFC5EB060370 -S21400A950C5EB0703ADF82031BE42ACBFAB19EB190F -S21400A960ADF824310F46B1F902200646B0F90230A0 -S21400A9709A42D4BFC5EB0201C5EB0301ADF8221124 -S21400A9809A42ACBFAD18ED18ADF82651724648A9EC -S21400A9900846AB4B9847002800F0DA83B6F9026009 -S21400A9A0B7F90250AE4200F0FE80069BB3F90030C5 -S21400A9B01A460593079BB3F900A0524500F00182A2 -S21400A9C0AE4206DB33462E461D46059BCDF814A048 -S21400A9D09A46059BAAEB03030993AA1B0A92002B2F -S21400A9E0B8BF5B429B46002AB8BF52429046B4F9B5 -S21400A9F002909342C7BF530193FBFBF34FEA4B13FE -S21400AA0093FBF2F38F4AD35C09FB03F909F13F0984 -S21400AA104FEAE9131F469BB205988245D4BFC3EBA5 -S21400AA200A02C3EB0002ADF838208245ACBF03EB48 -S21400AA300A021A18ADF83C20B542D4BFC3EB050293 -S21400AA40C3EB0602ADF83A20B542ACBF5B199B19C2 -S21400AA50ADF83E3048AA0EA90846794B984700281C -S21400AA6000F072834FEA292907F001034B440B9349 -S21400AA70C34540F3B682099A002A40F38E821FFA35 -S21400AA8086FB1FFA89F31FFA85F9ABEB0302002158 -S21400AA900191A9EB03031BB20093534612B205992A -S21400AAA012A8694FB847BDF82C800BEB08020123AB -S21400AAB00193C1440FFA89F30093534612B20599E5 -S21400AAC01DA8B847002112A8DFF89C81C0470B904C -S21400AAD000211DA8C0470C90637A13F0100F00F0F9 -S21400AAE0A4824FF0FF330D930A93584B9847584B68 -S21400AAF098478246068ABDF83850AD1BAAB2ADF814 -S21400AB003820408ABDF83A10091AADF83A10BDF858 -S21400AB103C309B1B9BB2ADF83C30BDF83E10091A8A -S21400AB20ADF83E105D1CAD1A2DB20EA8494B9847E5 -S21400AB30B0F5F07FC0F0A2824FF4F07B5846464B4B -S21400AB4098478146BAF81030BDF838201A4412B239 -S21400AB500592ADF84020BDF83C201344ADF84430D3 -S21400AB60BDF83A30BAF8122013441BB2ADF84230A2 -S21400AB70ADF846305946394B9847BAF91220BDF918 -S21400AB803A601644BDF93E3013449E4200F3B98243 -S21400AB9000270994A0E2B0F902E0B1F90240A64508 -S21400ABA07FF4C9AED4E294F80890284B9847284B17 -S21400ABB098470746B4F90230013B5E1003F00103E4 -S21400ABC09D19B4F90630002B35D0B4F9048018F17D -S21400ABD0000818BF4FF00108214B984770BB88F05B -S21400ABE00102079BB3F900300699B1F90010184628 -S21400ABF08B42A8BF0846ADF8A0008B42B8BF0B46F4 -S21400AC00013BADF8A43006994B885D1BADF8A25009 -S21400AC103344ADF8A6304AB3637A03F003030293D5 -S21400AC20CDF80490012300930023228828A948A881 -S21400AC300C4DA84788E24FF00008CDE70022D0E789 -S21400AC4019150100A44F0200E9BE0000695F00006C -S21400AC50DD0F0100FD1401003D290100ED2B010070 -S21400AC60C5BE000051770000C1BD000028AA48A953 -S21400AC701046A14B9847002800F06682BDF9A0E078 -S21400AC80B7F910108BB2AEEB030292B20FFA82FC49 -S21400AC90ADF8A0C0BDF9A200B7F81290A0EB090568 -S21400ACA0ADF8A250BDF9A460F31A9BB2ADF8A4307B -S21400ACB0BDF8A650A5EB0905ADF8A65001339A1AC3 -S21400ACC015B2ADF8CCE0ADF8D060ADF8CE00ADF87A -S21400ACD0D200B8F1000F1CD06144B4F90620B4F9D4 -S21400ACE004301A4491FBF2F302FB13110BB20A93E1 -S21400ACF009952846814B98478246BDF9A260BDF962 -S21400AD00A630B34259DBDFF81092DFF808B205959B -S21400AD1035E00021EAE7B4F906E073449A42BABF88 -S21400AD200AF8001013460B46013000B201331AB27F -S21400AD30854207DDB4F904309342ECDB1844801AF0 -S21400AD4000B2F1E705950220637A03F0030302934D -S21400AD50237A019300905346228833A948A8D847FF -S21400AD60BDF8CE300133ADF8CE30BDF8D230013369 -S21400AD70ADF8D2300136BDF9A6309E421DDC0999E9 -S21400AD805046C8477A8A3244398ABDF8A0301944FA -S21400AD90059B12B209B25046594DA847B8F1000FAC -S21400ADA0D2D00028D0D0059B002B04DD0A9A0020C4 -S21400ADB001461D46BEE70220C6E75046514B98475F -S21400ADC0C2E194F80890504B9847504B98478046FD -S21400ADD0B4F90250013D6F1005F001053D44B4F989 -S21400ADE006302BB1B4F90460003618BF012600E027 -S21400ADF00026474B984710B986F0010200E0002273 -S21400AE0006990B885D1BADF8A0501F44ADF8A470E2 -S21400AE10079BB3F90230B1F9021018468B42A8BF5F -S21400AE200846ADF8A2008B42B8BF0B46013BADF812 -S21400AE30A63072B1637A03F003030293CDF8049050 -S21400AE40012300930023228828A948A8314DA8474B -S21400AE507AE128AA48A91046274B9847002800F010 -S21400AE607381BDF9A000B8F81030C51AADB2ADF8C0 -S21400AE70A050BDF9A220B8F81270D11BADF8A210F0 -S21400AE80BDF9A410CB1A9BB2ADF8A430BDF8A6E06D -S21400AE90AEEB0707ADF8A67001335B1B1BB2099338 -S21400AEA0ADF8CC00ADF8D010ADF8CE20ADF8D2207D -S21400AEB00A931846114B9847059076B1B8F91020BA -S21400AEC0BDF9A0703A44B4F90630B4F904703B44B6 -S21400AED092FBF3F703FB172700E000273FB2BDF90C -S21400AEE0A250BDF9A6309D4253DCDFF82C90DFF867 -S21400AEF010A0DFF820B02CE0191501003D29010054 -S21400AF001DBE000071250100695F0000DD0F010015 -S21400AF10C5BE000051770000ED2B010001373FB29F -S21400AF2000230293237A01930090059B228833A97D -S21400AF3048A8D847BDF8CE300133ADF8CE30BDF8BE -S21400AF40D2300133ADF8D2300135BDF9A6309D427E -S21400AF501FDC0A990598C847B8F812202A44B8F8A2 -S21400AF601010BDF8A0301944099B12B209B205981A -S21400AF70D047002ED4D00028D0D0B4F90420BA424E -S21400AF80B8BF0020B4F9063013449F42A8BF00277C -S21400AF90C4E70598974B9847D6E01FFA86FBBDF89E -S21400AFA02C80A9B20BEB0802002301930F468844BD -S21400AFB00FFA88F30093534612B2059912A8DFF8E9 -S21400AFC03882C0471FFA89F3ABEB030201210191D7 -S21400AFD0FB1A1BB20093534612B205991DA8C04730 -S21400AFE070E5BDF814B0BDF82C801FFA8AF31F4632 -S21400AFF04344D8440022019200951BB232460FFA11 -S21400B00088F112A8DFF8F081C0471FFA89F9A7EB8C -S21400B0100903ABEB09090122019200951BB23246E7 -S21400B0200FFA89F11DA8C0474CE5BDF82880BDF889 -S21400B03024900599A1EB08030322019209EB06026E -S21400B04012B200921BB2324628A86B4EB047AAEB4B -S21400B05008030222019209EB050212B200921BB20B -S21400B0602A46514633A8B047002128A8634DA84772 -S21400B0700A90002133A8A8470D9036E50EA8604B2D -S21400B080984783465AE5294640465E4B98472DE04A -S21400B090099A537A03F003030293137A0193022367 -S21400B0A000934B46128848A910A8574CA047BDF8F5 -S21400B0B0463001331BB2ADF84230ADF84630594643 -S21400B0C04846524B984700270136BDF93E30BAF93C -S21400B0D0122013449E4213DC09EB07082B4632B2BB -S21400B0E0059940464A4CA0470028CCD02F44EB197F -S21400B0F09B45CDD9BDF846300133ADF84630E3E781 -S21400B100099CBDF94630BDF942209A4210D0013B59 -S21400B110ADF84630637A03F003030293237A019373 -S21400B120022300934B46228848A910A8364DA8470C -S21400B1304846304B98470B98364DA8470C98A8477A -S21400B1400A98A8470D98A847637A13F00C0F02D107 -S21400B1504BB0BDE8F08F33A82F4B98472388ADF847 -S21400B160CE3047F6FF73ADF8CC30237A8DF8D83062 -S21400B170B4F902305E1083F0010303F00105637A30 -S21400B18013F0040F1CD1637A13F0080FE0D0079970 -S21400B1900A88B6B2931BADF8A03049888B1BADF871 -S21400B1A0A230ABB23244D21AADF8A4200E44F31A41 -S21400B1B0ADF8A63033AA089928A8184B9847C7E7D1 -S21400B1C006980288B3B2D11AADF8A0104088C11A0A -S21400B1D0ADF8A210A9B21A44521AADF8A42003443E -S21400B1E05B1AADF8A63033AA089928A80B4B9847E7 -S21400B1F0C9E700BF71250100E9BE0000C1BD00001F -S21400B200FD140100372B010051770000ED2B0100E3 -S21400B2101DBE00006DBE000069C2000031C3000004 -S21400B2202DE9F041069CA58A521B12B2658A4D1B79 -S21400B2302DB2216A00294BD194F8281011F0010F85 -S21400B24016D0237C03F00303012B40F2DB81022B94 -S21400B25004D0032B06D00020BDE8F0810132D00FC9 -S21400B260BDE8F081002AD4BF00200120BDE8F081AF -S21400B270227C02F00302911EC9B2012940F2C58168 -S21400B280012A0CD0B2B9E91800F1C2816D42002D36 -S21400B290C0F2C181AB4207DC0220BDE8F081002D80 -S21400B2A008DD0120BDE8F0812844CD4B98470220F8 -S21400B2B0BDE8F081DD4200F1B181694221EAE17129 -S21400B2C08B4240F3AE81C64B98470220BDE8F08122 -S21400B2D094F8286016F0010F0FD1A76902FB07F15A -S21400B2E08912002FCCBF01F1010E8E46754540F342 -S21400B2F09880C6F34000BDE8F081E16905FB01F7E0 -S21400B300BF12002906DD974240F3B881C6F340001D -S21400B310BDE8F081974280F2ED81C6F34000BDE8BB -S21400B320F08186F00200C0F34000BDE8F08186F0B0 -S21400B3300200C0F34000BDE8F0810025D4E1F446E9 -S21400B34088F800C0636AD21A01350136BD4249DA70 -S21400B350636A9A421DDD002DF4DBBD42F2DAA2EBF1 -S21400B3606303DBB294F828C01CF0020F1CBFDB435B -S21400B370DBB2B04696F800C0F92BE1D8052BDED933 -S21400B38003FB0CF303EB032C03EBCC13C3F3C75CF8 -S21400B390D6E7BD4226DA002D24DBA36903FB02F3C1 -S21400B3A09B1202FB03F2C2F34722E369002BBCBFE9 -S21400B3B0D243D2B294F8283013F0020F1CBFD24307 -S21400B3C0D2B24619435DF92A0BD8052A08D902FBE2 -S21400B3D003F202EB022302EBC312C2F3C75300E0F0 -S21400B3E00023337094F8283013F0020F0AD08F42EF -S21400B3F0C0F21A810029C0F21A81794B98470220C0 -S21400B400BDE8F081013500F11581BD4202DD022064 -S21400B410BDE8F081791B2844714B98470220BDE8AF -S21400B420F08105EB030E714505DD86F00200C0F3E2 -S21400B4304000BDE8F081110207FB01F14FEAA14888 -S21400B440C1F387210132120207FB02F24FEAA24C37 -S21400B450A8EB050EE04563D0002F5BDBC1F1FF01D2 -S21400B460E26902FB01F29512BEF1000F1CDB734588 -S21400B4701ADD05FB01F1C1F3472216F0020F04BFE7 -S21400B480D243D2B200EB0E0610F80E10F92A0AD8F4 -S21400B490052A40F2A18002FB01F202EB022102EB38 -S21400B4A0C112C2F3C75131701EF1010120D48B4284 -S21400B4B01EDDC5F1FF02A56905FB02F5AD1202FB14 -S21400B4C005F2C2F3472294F8285015F0020F1CBF6D -S21400B4D0D243D2B2455CF92A09D8052A7ED902FBA6 -S21400B4E005F202EB022502EBC512C2F3C75545541E -S21400B4F094F8282012F0020F74D07345C0F2B28080 -S21400B500BEF1000FC0F2B1807146354B984702205D -S21400B510BDE8F081002940F000810EF1FF3EFF21DA -S21400B520BEF1000F1EDB73451CDDC2F387220A4402 -S21400B530C2F3470216F0020F1CBFD243D2B200EB92 -S21400B5400E0610F80E10F92A0BD8052A08D902FBA9 -S21400B55001F202EB022102EBC112C2F3C75100E076 -S21400B5600021317094F8282012F0020F0AD0ACEBBC -S21400B57005018B4261DD002962DB194B98470220EA -S21400B580BDE8F0810EF101029A42A8BF1A46002AD1 -S21400B59059D0002A5ADD991A1044114B98470220B8 -S21400B5A0BDE8F0810025DCE0002500E1002950DD43 -S21400B5B00B4B98470220BDE8F0810EF1010E734553 -S21400B5C04ADBBEF1000F4ADBA3EB0E017044044BCE -S21400B5D098470220BDE8F081002164E7002586E751 -S21400B5E0372B01000EF102029A42A8BF1A46002A23 -S21400B5F03ED0002A3FDD991A1044734B984702202C -S21400B600BDE8F0810120BDE8F0810120BDE8F081B1 -S21400B6100120BDE8F0810020BDE8F0810020BDE8F3 -S21400B620F0810020BDE8F0810020BDE8F081022016 -S21400B630BDE8F0810020BDE8F0810020BDE8F08183 -S21400B6400220BDE8F0810020BDE8F0810220BDE8C0 -S21400B650F0810220BDE8F0810120BDE8F0810220E3 -S21400B660BDE8F0810020BDE8F0810220BDE8F08151 -S21400B6700020BDE8F0810220BDE8F0811F462B4483 -S21400B68001FB03F1B2EBA12F3FF74BAE1202A36909 -S21400B69003FB02F39B12191213F0FF0339D0C3F118 -S21400B6A0FF03626A02FB03F24FEA222ECEF1FF028C -S21400B6B0491B1AD4B94218DA0EFB03F3C3F3472327 -S21400B6C016F0020F04BFDB43DBB24618455CF92BCD -S21400B6D00AD8052B7FF631AE03FB05F303EB0325F3 -S21400B6E003EBC513C3F3C75535704D1C46194FF011 -S21400B6F0000E2DE61F462B4401FB03F1B2EBA12FF3 -S21400B700FFF615AE01321202A36903FB02F39B1289 -S21400B710C1E74D1B2946FF22E8E7E269524201FBDA -S21400B72002F29212BEF1000F1CDB73451ADD02FB1B -S21400B73001F1C1F3472116F0020F1CBFC943C9B27D -S21400B74000EB0E0610F80E50F9290AD805297FF6E8 -S21400B75029AF01FB05F101EB012501EBC511C1F392 -S21400B760C7553570BEF1010122D48B4220DDC2F1EF -S21400B770FF02A5696D4202FB05F5AD1202FB05F25C -S21400B780C2F3472294F8285015F0020F04BFD243A4 -S21400B790D2B2455CF92A0AD8052A7FF605AF02FB25 -S21400B7A005F202EB022502EBC512C2F3C75545545B -S21400B7B094F8282012F0020F3FF4FFAE8B42BFF63B -S21400B7C0F5AE0220BDE8F081372B01002DE9F04FE1 -S21400B7D08DB0169DAE7C06F00106B5F91080EC1D06 -S21400B7E005F10F090DF1280E14F8017F0EF8017B04 -S21400B7F04C45F9D1002E3DD1BDF92A40944200F3C4 -S21400B8002B82BDF92E409442C0F22A829B460F46F8 -S21400B8100290BDF9289008EB0903994206DB5944CB -S21400B820BDF92C30A3EB080399420BDDBDF92A3095 -S21400B83003EB08018A4253DBBDF92E10A1EB080189 -S21400B8408A424DDC86BBA9EB07045C4500F30C82FC -S21400B850002C03DB214602989F4B9847BDF92C002D -S21400B860C01B0130002840F3018283450DDCBCB1CB -S21400B8700220F2E1BDF92A40944200F3F381BDF9BB -S21400B8802E409442C2DA0120E7E1ABEB0001029BB6 -S21400B89003441846904B9847002CE9D10220DCE17F -S21400B8A08345E5D10120D8E1A9EB070020EAE07046 -S21400B8B0584501DD0220D0E1BDF92C10C91B091A3C -S21400B8C0013143189B45B8BFABEB00010029C0F21D -S21400B8D0CF81029B034418467F4B98470220BCE169 -S21400B8E0BDF92CA09BB2BDF82E100131C91A09B2C1 -S21400B8F0D21A08FB08F3019312B2904500F3D181E7 -S21400B900A1EB0803013B9A4200F3B4810220A4E1B4 -S21400B9106B8BADF81A302B8BADF81830D6E1049A45 -S21400B92007A9019B00FB10306C4B9847049A06A9A8 -S21400B930019B04FB1430694B98476C61BDF81A30C4 -S21400B9406B83BDF818302B83D1E1BDF81E1000299B -S21400B95040F0D581013AADF81C20FF22ADF81E203C -S21400B960CDE1BDF81A20BDF81E100A44C2F3470206 -S21400B9700EB1D243D2B2A8EB0303013BF91811D49F -S21400B98059450FDA0298405CF92A09D8052A35D9B4 -S21400B99002FB00F000EB002400EBC410C0F3C7501D -S21400B9A0029C6054A9EB0303013BDF1911D45F45E9 -S21400B9B00FDA029BDB5DF92A09D8052A20D902FB9B -S21400B9C003F202EB022302EBC312C2F3C753029A3E -S21400B9D0D355BEB1481C20EAE0705F45D4BF391A83 -S21400B9E0ABEB0001584580F219810029C0F21681A0 -S21400B9F0029B03441846384B98470FE10020CFE7D8 -S21400BA000023E4E7594500F32581002902DB02986C -S21400BA10314B9847013700F11D815F4500F3FE80EA -S21400BA20ABEB0701029B3B4418462B4B9847F5E0CF -S21400BA30049A09A9019B08FB1830284B9847BDF8C3 -S21400BA402610BDF81A30C3F1FF02C1F1FF0303FB55 -S21400BA5002F3C3F347230EB9DB43DBB20398024677 -S21400BA60002811DB58450FDA029C2018A25CF92B3F -S21400BA7009D8052B29D903FB02F202EB022402EBBC -S21400BA80C412C2F3C7520270BAF1000F13DBDA45D4 -S21400BA9011DA029C04EB0A0014F80A20F92B09D8E4 -S21400BAA0052B14D903FB02F303EB032203EBC213AB -S21400BAB0C3F3C7520270039B013B03930AF1010ACA -S21400BAC0ADF8221008F101085EE10022DBE7002253 -S21400BAD0F0E7002739E000BF372B01001D230100E7 -S21400BAE000270EF808700138013401311A46019D0E -S21400BAF0A94240D809EB121701FB11A307FB07FC6C -S21400BB00CCEB03234FEA470C93FBFCF31F44C7F32D -S21400BB100F1C3F0107F0F0031A44C2F347020EB1B0 -S21400BB20D243D2B2002812DB834510DD80461EF8D1 -S21400BB300070F92A09D8052ACBD902FB07F505EBD0 -S21400BB40052705EBC717C7F3C7570EF80870002C74 -S21400BB50C9DBA345C7DDA0461EF80470F92AC0D885 -S21400BB60052ABDD902FB07F202EB022702EBC71734 -S21400BB70C7F3C757B5E7DDF81080DDF814A0EA4331 -S21400BB8042440399114403910135AA44AAEB080ADA -S21400BB90ADF82230ADF824C0ADF82630BDF822301E -S21400BBA0002B3AD0BDF81E2003FB02F3C3F3472355 -S21400BBB00EB1DB43DBB2039A002A12DB934510DD9D -S21400BBC0029801461144825CF92B09D8052B27D927 -S21400BBD003FB02F202EB022002EBC012C2F3C752D2 -S21400BBE00A70BAF1000F13DBD34511DD029800EBA3 -S21400BBF00A0110F80A20F92B09D8052B12D903FBE5 -S21400BC0002F303EB032203EBC213C3F3C7520A701B -S21400BC10039B013B03930AF1010A2EB102201CE0AC -S21400BC200022DDE70022F2E703990131594511DCD5 -S21400BC30002902DB0298604B9847BAF1000F09DB37 -S21400BC40DA45EBDAABEB0A01029B534418465A4B33 -S21400BC509847E3E7002000E000200DB0BDE8F08F35 -S21400BC600020FAE70120F8E70020F6E70020F4E7D6 -S21400BC700220F2E7B8F5807FD4BF4FF400634FF49C -S21400BC8000430493891AA8EB0100441C6B69984290 -S21400BC907FF445AE6B8BADF81E302B8BADF81C30A9 -S21400BCA044E6B8F5807FD4BF4FF400634FF40043FA -S21400BCB00493A8EB02046B699C423FF429AE049AF5 -S21400BCC006A9019B04FB14303C4B9847631E049A5C -S21400BCD007A90393019803FB1300384B9847039B6F -S21400BCE06B61BDF81E306B83BDF81C302B83BDF82E -S21400BCF01830BDF81C20511E8B423FF426AEA9EB2F -S21400BD0007070AF1010AAAEB09090FFA89F9BDF833 -S21400BD101C209A423FF425AE0133A8EB030807EB3C -S21400BD2008030393A9EB080808F1FF3ABA4486B162 -S21400BD30581C20EAE070DA45D4BFAAEB0001ABEB52 -S21400BD400001584505DA002903DB029B18441A4B0C -S21400BD509847BDF8180000F10108049A08A9019B4D -S21400BD6000FB1030154B9847BDF822303BB9BDF8A4 -S21400BD702030013BADF82030FF23ADF82230BDF86F -S21400BD8020309C427FF754AEBDF81C50A8453FF6C5 -S21400BD9005AFBDF820904FEA0919BDF822204146AC -S21400BDA054460398CDF81080CDF814A0DDF804A012 -S21400BDB00195DDF808E09DE6372B01001D23010004 -S21400BDC010B582B0104B1B689BB10F4A01239468D4 -S21400BDD084B10133DBB20832102BF8D10B4B009341 -S21400BDE00B4B57220B4902200B4CA0474FF0FF305D -S21400BDF007E00023044A42F8330002EBC302516016 -S21400BE0018B202B010BD00BF6C6D002024500200B6 -S21400BE10C84F0200F44F02005D2201002DE9F047F2 -S21400BE2082B0114C2468ECB19A4691468846074683 -S21400BE300D4E00250094246853464A46414638462F -S21400BE40A047044650B1022808BF012556F8084FFF -S21400BE50002CEFD1002D14BF02240124204602B08E -S21400BE60BDE8F0870124F9E76C6D0020B0F1FF3FD4 -S21400BE700AD0064B53F83010002243F8302003EB6C -S21400BE80C0035A60084670470021FBE76C6D00202F -S21400BE9070B40B4B1A1D03F180040026354603E0F0 -S21400BEA008330832A34208D059688142F8D152F8C4 -S21400BEB0046C42F8045C5D60F2E7304670BC704784 -S21400BEC06C6D002000231846064902E00133102B53 -S21400BED006D051F83320002AF8D00130C0B2F5E77A -S21400BEE0704700BF6C6D00202DE9F04104460F46F8 -S21400BEF015469846BDF918602C214A4B9847B5421E -S21400BF0005DD2B4635461E463B4647469846278166 -S21400BF106581A4F80C80E681237C9DF81C2062F3E2 -S21400BF20010323746782A582A8EB0707751B87EABF -S21400BF30E771A1EBE77185EAE573A3EBE573994238 -S21400BF40D4BF0021012194F8282061F3000284F870 -S21400BF5028200021E161A161334B2360217112F09A -S21400BF60010F25D03FB14FF4801393FBF7F305FB89 -S21400BF7003F39B12E3613DB14FF4801696FBF5F593 -S21400BF8007FB05F7BF12A761E3692362237C13F062 -S21400BF90030322D194F828306FF3410384F8283045 -S21400BFA0236A9A10002BB8BF52426262BDE8F08145 -S21400BFB03DB14FF4801393FBF5F307FB03F39B129D -S21400BFC0A3613FB14FF4801898FBF7F705FB07F520 -S21400BFD0AD12E561A3692362D8E7012B0FD0022BCF -S21400BFE014D0032BDCD1236A002B94F82830CCBF66 -S21400BFF06FF3410343F0020384F82830D0E794F847 -S21400C000283043F0020384F82830C9E7236A002B5F -S21400C01094F82830CCBF43F002036FF3410384F852 -S21400C0202830BDE7372B010021B2000070B4CC8861 -S21400C03001344D88641B8D8801350E88AD1B24B2F3 -S21400C0402DB2AC42A8BF2C466410A242C8BF22B292 -S21400C050013900F1100600F1080411F8015F04F838 -S21400C060015BB442F9D10282827C63F300028274DF -S21400C070054B0360022303714FF000434361002326 -S21400C0804383038370BC7047CDB700002DE9F04FA3 -S21400C0908BB00690894607924FEA610BCDF808B040 -S21400C0A011F0010F06BF0BF1FF330893CDF820B057 -S21400C0B0069C67003846694B98470590002C40F36D -S21400C0C0BE80BA1EC1190391079D4FF0000804F107 -S21400C0D0FF3A0899AAEB010104910646CDF824B070 -S21400C0E09346CDF8049035F80B3009FB03F3BAF10C -S21400C0F0000F1BDB029A02EB0A01049A013A03982E -S21400C1004FF0000E20F8023D8C42CCBF35F811C02F -S21400C110F446A3EB0C03002AB4BFB5F800C035F80C -S21400C12012C063440139013AB042EBD13A46314677 -S21400C13028464B4B98473D4408F10108A045D0D10E -S21400C140DDF824B0079A1388019993FBF1F3138066 -S21400C150069B03FB03F5012D11D9079A0121019EC9 -S21400C160104632F8023F008898421CBF93FBF6F355 -S21400C17013800131A942F3D3069B002B59DD079E9D -S21400C1800296089901FB07726FEA0B035B1A069D7D -S21400C19005FB03F306936B1E05FB03F306EB430355 -S21400C1A007934FF0000A931E089301F10109029BC2 -S21400C1B01E4602331A4602933388019901FB03F3A5 -S21400C1C008998D18059AA2F1020CE046B6460022A0 -S21400C1D0CDF80CC00496069EDDF81CC0002BACBF44 -S21400C1E09911002128F8021F1146A2EB0B00002827 -S21400C1F0D4BFBEF8000035F816001B1A49448C421E -S21400C200CCBF29883CF81A100B440132BE443D448A -S21400C210A242E3DBDDF80CC0049E00233CF8022FAC -S21400C220328001333E44A342F8DB0AF1010AA245FC -S21400C230BDDB05980B4B98470BB0BDE8F08FCDF8EB -S21400C2400490079A138893FBF9F9A2F80090069BCE -S21400C25003FB03F5012D80D8EBE700BF3D29010065 -S21400C260552601007125010010B5044654212D4BBA -S21400C27098472D4B1B88638023796FF30403237143 -S21400C280A3886FF34A13A3801B0A6FF3C703637177 -S21400C290A37B6FF30403A373E3896FF34A13E3816D -S21400C2A01B0A6FF3C703E37394F834306FF3040389 -S21400C2B084F83430A38E6FF34A13A3861B0A6FF3F9 -S21400C2C0C70384F8353094F846306FF3040384F8D7 -S21400C2D04630B4F846306FF34A13A4F846301B0ACB -S21400C2E06FF3C70384F84730A37F6FF30403A37785 -S21400C2F0E38B6FF34A13E3831B0A6FF3C703E377FB -S21400C300FF23638123732377237584F83630074A27 -S21400C310226384F84430226484F828300F23638232 -S21400C32010BD00BF372B01007C500200100000201B -S21400C3302DE9F04FB1B0C4884588631C5B1B1BB267 -S21400C340002B41F30F808688B0F80080731CA3EBA7 -S21400C35008031BB2002B41F3058092460491069019 -S21400C360B2F92070002F00F0198792F82830099350 -S21400C370052B40F21387136A012B00F0F680BAF8FB -S21400C3802220BAF82630D11A88441FFA88F8ADF869 -S21400C39050801A441644B6B2ADF85460BAF8242059 -S21400C3A0D11A0D44ADB2ADF8525013441C44A4B299 -S21400C3B0ADF8564007EBD7736FEA630292B208EB0C -S21400C3C00201ADF858105B1001339BB2F118ADF8BE -S21400C3D05C102A44ADF85A202344ADF85E30099B21 -S21400C3E0FB2B28BFFF230993BE4B9847BE4B9847AD -S21400C3F08146049A16A918A8BC4B9847002800F056 -S21400C400CD86B9F81010BDF860305B1AADF8603014 -S21400C410B9F81220BDF862309B1AADF86230BDF84C -S21400C42064305B1AADF86430BDF866309B1AADF820 -S21400C4306630069A531ED01D1AAA13F8011F02F87A -S21400C440011B9842F9D1BDF8683001331FFA83FE0C -S21400C450ADF868E0BDF86A10013188B2ADF86A0040 -S21400C460BDF86C305A1EADF86C20BDF86E104A1E32 -S21400C470ADF86E20BAF90020A3EB0E031BB2091A22 -S21400C48009B28B42A8BF0B465B109342A8BF134667 -S21400C4900E930136A6EB0806B6B233B20134641B1F -S21400C4A0A4B225B29D42A8BF1D466D109542A8BFF6 -S21400C4B0154607EB050909FB09F040008C4B984729 -S21400C4C00A90BAF920B02AB202EB0B070DF14F0121 -S21400C4D022AB0DF1900E11F8010F03F8010B734516 -S21400C4E0F9D10BEBDB71C1F34F014B1E1BF00100C2 -S21400C4F010900CBF012000201B1A2B449BB2ADF8F5 -S21400C5008C30013189B2ADF88A109B1BADF88830AB -S21400C5102144ADF88E10002322A929A8754CA04707 -S21400C520BBF1010F02F0D8814FEA6B030B9307971C -S21400C53038466F4B98470C90002F5CDD079B4FEA00 -S21400C540430B07F10043013B5B000A9C0025DFF824 -S21400C550B8813AB20892CDF8349005970C9E994669 -S21400C560CDF83CA0DDF82CA014E0B2F92430002B66 -S21400C5707FF405AFB2F92630002B3FF700AF00F08E -S21400C5800DBE594620465C4B98475C440135059BDA -S21400C590AB422BDD07993046C04729AB0093089B7A -S21400C5A02AB200213046299FB8470028E9D0D6464F -S21400C5B033789B0193FBFAF32380059B012BE4DD84 -S21400C5C03146224604EB09001F468C4611F8013F0F -S21400C5D09CF800C09C450EBF13889B0193FBFEF39E -S21400C5E0538002329042F0D10597CEE7DDF83490C2 -S21400C5F01F46DDF83CA00C98404B98470B9B012B40 -S21400C60002F04D813CB20A9E32460B9D29462046DA -S21400C6103B4B9847109A2A4411B2012922DD0D4659 -S21400C62033889B0193FBF1F332463380079800FB77 -S21400C63000F0012812D900F10040013806EB400056 -S21400C64001E082420AD0164632F8023F36889E4201 -S21400C650F7D09B0193FBF5F31380F2E70A9A204686 -S21400C660274B984707FB07F757B10A990B464A1E10 -S21400C67001EB470033F8021B02F8011F8342F9D191 -S21400C680BDF85A20BDF85E3001339B1A1BB203EB8F -S21400C690D37302EB63039BB20F931BB20C93BDF8EC -S21400C6A05820BDF85C3001339B1A1BB203EBD373E2 -S21400C6B002EB63039BB210931BB20D93114B98478A -S21400C6C020BBBAF92230002B40F0BC81BAF92430E6 -S21400C6D0002B40F0BA81BAF92630B3FA83F35B092F -S21400C6E0079315E0695F0000DD0F010019150100D2 -S21400C6F03D2901002DC00000372B010071250100E7 -S21400C7008DC00000C5BE0000ED2B0100002307937E -S21400C710BDF85C000130BDF85830C01A00B2C24BFC -S21400C7209847059001230E9A1AA929A8BF4CA0473E -S21400C730002129A8BE4B98470E90BDF95C30ADF895 -S21400C74074301FFA89FB0133A3EB0B03ADF870308E -S21400C750BDF95A30ADF87230013B5B44ADF8763027 -S21400C760049A1CA91EA8B34B9847002872D0BDF99E -S21400C7707E300C998B42C4BF0B46ADF87E30BDF9B7 -S21400C78078300D9A934203DC109B0133ADF8783075 -S21400C790BDF97820BDF87C3001339B1A1BB2089394 -S21400C7A0002B57DDBDF97E70BDF97A40BDF9725099 -S21400C7B0651BBDF97030D21A09FB05250A9B1D447E -S21400C7C00DF1770222AB24A812F8011F03F8011B13 -S21400C7D08342F9D1BDF88A30ADF88E3001373F1B61 -S21400C7E03FB2002F36DD0026DFF85482CDF844B085 -S21400C7F0BB46099B0B93089A2946059F38468E4CE4 -S21400C800A04730AC089BBDF98A2034F9381D05973F -S21400C81038468A4FB847012808BF02209AF82930C0 -S21400C82002930B9A01920090059BBAF81E202146AF -S21400C8300498C047BDF88A300133ADF88A30BDF899 -S21400C8408E300133ADF88E304D4401365E45D2D180 -S21400C850DDF844B0BDF95C30ADF874300133A3EBBD -S21400C8600B03ADF87030BDF95E20531CA3EB0B0331 -S21400C870ADF87230ADF87620049A1CA91EA86D4B50 -S21400C8809847002873D0BDF97A300C9A934203DC9F -S21400C8900F9B0133ADF87A30BDF978300D9A93428C -S21400C8A003DC109B0133ADF87830BDF97820BDF875 -S21400C8B07C3001339B1A1BB20893002B57DDBDF961 -S21400C8C07E40BDF97A60BDF976502D1BBDF97030FB -S21400C8D0D21A09FB05250A9B1D440DF1770222ABEF -S21400C8E024A812F8011F03F8011B8342F9D1BDF8F2 -S21400C8F08E30ADF88A30671CBF1B3FB2002F36DD86 -S21400C9000026DFF83C81CDF840B0BB46099B0B9370 -S21400C910089A2946059F3846474CA04730AC089BE6 -S21400C920BDF98A2034F9381D05973846434FB84775 -S21400C930012808BF02209AF8293002930B9A019228 -S21400C9400090059BBAF81E2021460498C047BDF803 -S21400C9508A30013BADF88A30BDF88E30013BADF829 -S21400C9608E304D4401365E45D2D1DDF840B0BDF97B -S21400C9705C30ADF874300133A3EB0B03ADF87030C8 -S21400C980BDF85A305B44ADF87230BDF85E30A3EBAC -S21400C9900B03ADF87630049A1CA91EA8254B9847C1 -S21400C9A0002800F08580079B4BB1069BB3F9043046 -S21400C9B0BDF978209342B8BF1346ADF87830BDF97C -S21400C9C07830BDF87C200132D21A0FFA82F8B8F11E -S21400C9D0000F6DDDBDF87E400134BDF87A20A41A44 -S21400C9E024B209F1FF31BDF970209B1A09FB01330F -S21400C9F00A9AD31808930DF1770222AB24A812F8EE -S21400CA00011F03F8011B8342F9D1BDF88A30ADF847 -S21400CA108E302546002C4BDD0024074FCDF82C9099 -S21400CA20A946079D3AE000BF3D2901002DC0000041 -S21400CA30C1BD000019150100552601001DBE0000ED -S21400CA40517700000023079362E6002307935FE612 -S21400CA504346BDF98A20BDF988100598234EB04795 -S21400CA60012808BF02209AF8293002939AF8283045 -S21400CA7001930090059BBAF81E2022A904981C4E2C -S21400CA80B047BDF88A300133ADF88A30BDF88E3035 -S21400CA900133ADF88E3001344C4507D04246089934 -S21400CAA00598B847002DD3D00220DCE7DDF82C909F -S21400CAB0B9F1000F1EDD09EBD9777F100A9D00261D -S21400CAC00CE0197812F8010C03F8010B02F8011DAE -S21400CAD0A342F6D14D440136B1450BD0002FF9DD07 -S21400CAE02B4605EB0902EC19EBE700BF1DBE000064 -S21400CAF051770000BDF95830ADF87030013B5B440B -S21400CB00ADF87430BDF95A30ADF87230013B5B4475 -S21400CB10ADF87630049A1CA91EA8AE4B984700289C -S21400CB2071D0BDF97E300C998B42C4BF0B46ADF870 -S21400CB307E30BDF97C300D998B42C4BF0B46ADF8F4 -S21400CB407C30BDF97820BDF87C3001339B1A1BB2CF -S21400CB500893002B57DDBDF97E70BDF97A40BDF90C -S21400CB607250651BBDF97030D21A09FB05250A9B69 -S21400CB701D440DF1770222AB24A812F8011F03F81A -S21400CB80011B8342F9D1BDF88A30ADF88E300137EB -S21400CB903F1B3FB2002F36DD0026DFF84482CDF87B -S21400CBA040B0BB46099B0B93089A2946059F38461A -S21400CBB0894CA04730AC089BBDF98A2034F9381D53 -S21400CBC005973846854FB847012808BF02209AF8CF -S21400CBD0293002930B9A01920090059BBAF81E200A -S21400CBE021460498C047BDF88A300133ADF88A3034 -S21400CBF0BDF88E300133ADF88E304D4401365E45BB -S21400CC00D2D1DDF840B0BDF95830ADF87030013BF8 -S21400CC105B44ADF87430BDF95E20531CA3EB0B03E8 -S21400CC20ADF87230ADF87620049A1CA91EA8694BA0 -S21400CC309847002872D0BDF97A300C9A934203DCEC -S21400CC400F9B0133ADF87A30BDF97C300D998B42DD -S21400CC50C4BF0B46ADF87C30BDF97820BDF87C30FB -S21400CC6001339B1A1BB20893002B57DDBDF97E409B -S21400CC70BDF97A60BDF976502D1BBDF97030D21A19 -S21400CC8009FB05250A9B1D440DF1770222AB24A85B -S21400CC9012F8011F03F8011B8342F9D1BDF88E304C -S21400CCA0ADF88A30671CBF1B3FB2002F36DD00266A -S21400CCB0DFF82C81CDF830B0BB46099B0B93089A61 -S21400CCC02946059F3846444CA04730AC089BBDF922 -S21400CCD08A2034F9381D05973846404FB847012852 -S21400CCE008BF02209AF8293002930B9A019200900E -S21400CCF0059BBAF81E2021460498C047BDF88A3026 -S21400CD00013BADF88A30BDF88E30013BADF88E3071 -S21400CD104D4401365E45D2D1DDF830B0BDF958300D -S21400CD20ADF87030013B5B44ADF87430BDF85A3056 -S21400CD305B44ADF87230BDF85E30A3EB0B03ADF884 -S21400CD407630049A1CA91EA8224B9847002879D052 -S21400CD50079B4BB1BDF97C30069AB2F9002093428E -S21400CD60A8BF1346ADF87C30BDF97830BDF87C809E -S21400CD7008F10108A8EB03080FFA88F8B8F1000FCD -S21400CD8060DDBDF87E400134BDF87A20A41A24B2D6 -S21400CD9009F1FF31BDF970209B1A09FB01330A9A8D -S21400CDA0D31808930DF1770222AB24A812F8011FBE -S21400CDB003F8011B8342F9D1BDF88A30ADF88E30F6 -S21400CDC02546002C3EDD0024034FCDF82C90A946C6 -S21400CDD0079D2DE019150100552601001DBE000017 -S21400CDE0517700004346BDF98A20BDF988100598A2 -S21400CDF0AA4EB047012808BF02209AF829300293AD -S21400CE009AF8283001930090059BBAF81E2022A9B4 -S21400CE100498A34EB047BDF88A300133ADF88A3087 -S21400CE20BDF88E300133ADF88E3001344C4507D056 -S21400CE30424608990598B847002DD3D00220DCE773 -S21400CE40DDF82C90BDF858305B44ADF87030BDF876 -S21400CE505C30A3EB0B03ADF87430BDF95A30ADF877 -S21400CE607230013B5B44ADF87630049A1CA91EA8CC -S21400CE708C4B984700287DD0079B4BB1069BB3F997 -S21400CE800230BDF97E209342A8BF1346ADF87E302F -S21400CE90BDF87C300133BDF878209B1A1BB208938E -S21400CEA0BDF97A30BDF87E500135ED1A2DB2C84670 -S21400CEB0BDF972401C1B09F1FF3309FB04340A9BC1 -S21400CEC01C440DF1770222AB24A812F8011F03F8C8 -S21400CED0011B8342F9D1BDF88A30ADF88E302B465F -S21400CEE0002D47DD0025704FCDF82C90DDF82490FE -S21400CEF0CDF830B09B462AE0B9F1FF0F2AD149465B -S21400CF002CE0089BBDF98A20BDF988100598634E71 -S21400CF10B047012808BF02209AF829300293FF2361 -S21400CF2001930090059BBAF81E2022A904985C4E37 -S21400CF30B047BDF88A300133ADF88A30BDF88E3080 -S21400CF400133ADF88E30444401355D450ED023786C -S21400CF50FF2BD1D003FB09F3C3F30721089A0598EA -S21400CF60B847079B002BCCD00220D5E7DDF82C90E5 -S21400CF70DDF830B0BDF858305B44ADF87030BDF821 -S21400CF805C30A3EB0B03ADF87430BDF95E20531C88 -S21400CF90A3EB0B03ADF87230ADF87620049A1CA90B -S21400CFA01EA8404B9847002800F08280079B4BB194 -S21400CFB0069BB3F90630BDF97A209342B8BF1346F4 -S21400CFC0ADF87A30BDF87C300133BDF878209B1A76 -S21400CFD01BB20893BDF97E305D1CBDF87A20AD1AF1 -S21400CFE02DB2C846BDF97640E41A09F1FF3309FBB5 -S21400CFF004340A9B1C440DF1770222AB24A812F8D5 -S21400D000011F03F8011B8342F9D1BDF88E30ADF83D -S21400D0108A30A946002D4BDD0025234FCDF82CB0D5 -S21400D020DDF824B02AE0BBF1FF0F2AD159462CE0E8 -S21400D030089BBDF98A20BDF988100598174EB047A1 -S21400D040012808BF02209AF829300293FF23019393 -S21400D0500090059BBAF81E2022A90498104EB047EF -S21400D060BDF88A30013BADF88A30BDF88E30013B02 -S21400D070ADF88E30444401354D4517D02378FF2B4C -S21400D080D1D003FB0BF3C3F30721089A0598B847E2 -S21400D090079B002BCCD00220D5E700BF1DBE0000AA -S21400D0A05177000019150100812A0100DDF82CB027 -S21400D0B0BDF858305B44ADF87030BDF85C30A3EB7B -S21400D0C00B03ADF87430BDF85A305B44ADF87230DF -S21400D0D0BDF85E30A3EB0B0BADF876B0049A1CA936 -S21400D0E01EA8A24B9847002850D0079B002B4DD176 -S21400D0F0BDF87C600136BDF87830F61A36B2BDF859 -S21400D1007E400134BDF87A30E41A24B20DF177027D -S21400D11022AB24A812F8011F03F8011B8342F9D1A1 -S21400D120BDF88A30ADF88E30A346002C2EDD0025E3 -S21400D130DFF85492DFF854828D4F32469AF8281062 -S21400D1400598C84730AC3346BDF98A2034F9381DF7 -S21400D1500598C047012808BF02209AF82930029394 -S21400D160FF2301930090059BBAF81E2021460498E1 -S21400D170B847BDF88A300133ADF88A30BDF88E3036 -S21400D1800133ADF88E3001355D45D6D10E98794B1A -S21400D19098470598784CA0470A98A0479AF80C70CC -S21400D1A0052F42D9069A531ED01D1AAA13F8011F3E -S21400D1B002F8011B9842F9D1BAF91030012B24DD90 -S21400D1C09AF81430F92B20D9BAF90030EBB1BAF836 -S21400D1D01230C3F38002BDF868100A44ADF8682028 -S21400D1E0C3F34002BDF86A100A44ADF86A20C3F3E0 -S21400D1F0C001BDF86C20521AADF86C2003F0010394 -S21400D200BDF86E20D31AADF86E30FB2F28BFFF276F -S21400D2105A4B98475A4B98478046049A1AA91CA816 -S21400D220524B9847002840F0B380DAF82C0020B123 -S21400D2309AF83630052B00F2EB839AF81440052C4A -S21400D24015D9BAF9103093B1BAF912307BB1FB2C6C -S21400D25028BFFF24494B9847494B98470546049AF0 -S21400D260069918A8414B9847002840F04685DAF8FA -S21400D2703C1021B19AF84430052B01F253809AF8FD -S21400D2801CB0BBF1050F6DD9BAF91830002B69D068 -S21400D290BBF1FB0F28BF4FF0FF0B3A4B98470990A6 -S21400D2A0069A531ED01D16AA13F8011F02F8011B7A -S21400D2B08342F9D1BAF81A50BDF858305B1B9BB2BE -S21400D2C00693ADF85830BDF85A305B1B9BB20793F7 -S21400D2D0ADF85A30BDF85C602E44B6B2ADF85C606E -S21400D2E0BDF85E301D44ADB2ADF85E50BAF9003000 -S21400D2F00893BAF9183005930DF1570218AB1AA81F -S21400D30012F8011F03F8011B8342F9D1BDF814403F -S21400D310BDF86090A9EB04091FFA89F30A93ADF8EB -S21400D3206030BDF864702744BFB2ADF86470BDF8D5 -S21400D3306280A8EB04081FFA88F8ADF86280BDF892 -S21400D34066301C44A4B2ADF866400C4B98470C4BB4 -S21400D35098478146049A18A91AA8044B98470028AB -S21400D36041F0448031B0BDE8F08F00BF19150100D0 -S21400D370517700006DBE000071250100695F000056 -S21400D380DD0F0100C5BE0000812A01001DBE0000A1 -S21400D390B8F81010BDF870305B1A9AB2ADF870206D -S21400D3A0B8F81200BDF872301B1AADF87230BDF82E -S21400D3B074305B1A9BB2ADF87430BDF87610091A5B -S21400D3C0ADF8761001339B1A1BB209930A931846E0 -S21400D3D0934B98470590934B984783B20B9343BB68 -S21400D3E09AF80630023B18BF01230793BDF86C502D -S21400D3F00135BDF86830ED1A2DB22C46BAF900207A -S21400D400BDF86E300133BDF86A609B1B1EB2334612 -S21400D410AE42A8BF2B465E109642A8BF1646079B94 -S21400D420DBB1D6B99AF8063033B14FF0FF330E931E -S21400D43021E000230793D9E79AF80D30029301976D -S21400D440012300930023BAF802201AA90498764C08 -S21400D450A0474FF0FF330E9376E2002E32DD002316 -S21400D46032461AA929A8DFF8D091C847002129A872 -S21400D4706E4B98470E90BAF802B09AF80630022B18 -S21400D48024D000230D93BDF96C20BDF96810531C01 -S21400D4905B1A1BB2A3EB4609ADF87810ADF87C20FA -S21400D4A0BDF97220B8F8123013441BB2ADF87A30CA -S21400D4B0ADF87E301546BDF976309A4200F33782D5 -S21400D4C00897FAE04FF0FF330E93D4E7BAF804302B -S21400D4D09B4500F089806800514B98470D90002DC1 -S21400D4E0D1DD4FF00009089606461BE09AF8023098 -S21400D4F003F01F03BAF80210C1F345119AF803208F -S21400D500D208287863F3040028702B8861F34A1346 -S21400D5102B801B0A62F3C7036B7009F10109023600 -S21400D5204C455FD03546BAF9080000FB04F31B12E1 -S21400D5300FFA89F18B42D9DABAF90A2002FB04FE07 -S21400D540B1EB2E2F42DA121A04FB02F2A9EB030308 -S21400D5501BB2C3EB0323121293FBF2F3DBB2C3F14D -S21400D560FF0E9AF80520D2089AF80310C9080EFB99 -S21400D57001F103FB021202EB022102EBC112C2F31D -S21400D580C452BAF80410C1F34511BAF80200C0F349 -S21400D59045100EFB00F003FB010101EB012001EB3F -S21400D5A0C011C1F3C5519AF8040000F01F009AF8A4 -S21400D5B002C00CF01F0C0EFB0CFE03FB00E303EB9B -S21400D5C0032003EBC013C3F3C4539AE79AF804305E -S21400D5D003F01F03BAF80410C1F345119AF80520AA -S21400D5E0D2088EE7089E4EE700230D934BE70A9974 -S21400D5F0059F38460E4B9847B8F812202A44B8F8CC -S21400D6001010BDF870301944099B12B209B23846A2 -S21400D610084FB84707469AF80630012B29D17AE01A -S21400D6203D290100C5BE000051770000C1BD0000C5 -S21400D630ED2B01001DBE00002DC000000A99059FBD -S21400D6403846B64B9847B8F812202A44B8F8101057 -S21400D650BDF870301944099B12B209B23846B04F73 -S21400D660B84707469AF80630012B54D0079A002A86 -S21400D6703AD1022B00F044810B9B13B9B9F1320F5B -S21400D6800BDC9AF80D300293089B01930097059BDC -S21400D6905A461EA90498A34CA047BDF87A30013319 -S21400D6A0ADF87A30BDF87E300133ADF87E30013506 -S21400D6B0BDF976309D4200F33981B8F912402C440A -S21400D6C0BDF96A30334401339C42B7DDBDF96E3094 -S21400D6D09B1B013B9C42B1DA079B002B87D09AF834 -S21400D6E00630012B16D00127B9F1320F00F39380D4 -S21400D6F0022B00F00581012BBED19AF80D30029363 -S21400D700089B01930097059B5A461EA90498854CD2 -S21400D710A047C2E70127BAF80220BAF804309A42B6 -S21400D7206FD0BDF86A10621A93B21A460C93BAF913 -S21400D73008E0BDF86E3001335B1A1BB203FB0EF136 -S21400D740091210B281424BDABAF90AC00CFB03F296 -S21400D750B0EB222F80F2B080ACEB0E0E03FB0EF384 -S21400D7600C9A521A12B2C2EB02221B1292FBF3F36D -S21400D770DBB2C3F1FF019AF80520D2089AF803003D -S21400D780C00801FB00F003FB020202EB022002EBE2 -S21400D790C012C2F3C452BAF80400C0F34510BAF877 -S21400D7A002E0CEF3451E01FB0EFE03FB00E000EB9D -S21400D7B0002E00EBCE10C0F3C5509AF804E00EF031 -S21400D7C01F0E9AF802C00CF01F0C01FB0CF103FBB5 -S21400D7D00E1303EB032103EBC113C3F3C4530AE098 -S21400D7E09AF8023003F01F03BAF80200C0F345109F -S21400D7F09AF80320D20863F3040B60F34A1B62F323 -S21400D800CF2B079B002B3FF478AFB9F1320FC8BF80 -S21400D81001237FF772AFBDF96A2032440132944289 -S21400D82006DBBDF96E20921B013A94427FF760AF8B -S21400D830BDF96830ADF88830B2B20C92013B1344A3 -S21400D840ADF88C30BDF87A30ADF88A30BDF87E3051 -S21400D850ADF88E309AF80D300293089B019300972E -S21400D860059B5A4622A904982E4CA0479AF80630E3 -S21400D870012B2DD0BDF96C305A1C0C99541AADF8FA -S21400D8808840ADF88C309B1B0133B8F91020BDF9E9 -S21400D89070100A449B1A9AF80D200292089A019278 -S21400D8A00097059A002BA8BFD21813465A4622A9FD -S21400D8B004981C4CA047F0E69AF8043003F01F03C7 -S21400D8C0BAF80400C0F345109AF80520D20892E78B -S21400D8D0BDF868300C9A1344ADF88830BDF86C304B -S21400D8E09B1AADF88C309AF80D300293089B019382 -S21400D8F00123009300235A4622A90498A047B9E7BB -S21400D9009AF80D300293089B01930097059B0D9A99 -S21400D9101EA90498044CA047BFE600BFED2B0100EB -S21400D9201DBE00005177000081820000089F9AF813 -S21400D930063023B90B9B13B9B9F1320F0BDC0D9BE4 -S21400D94013B11846B34B98470E98B34B98470598B3 -S21400D950B04B984769E4B6B2BDF868303344ADF8CA -S21400D9607830BDF86C309B1BADF87C30BDF96A3062 -S21400D970ADF87A303344ADF87E309AF80D30029325 -S21400D9800197012300930023BAF802201EA90498E9 -S21400D990A24CA047BDF96E108A1B12B2ADF87A20D1 -S21400D9A0BDF97E309A42DCBF0133ADF87A30ADF86F -S21400D9B07E109AF80D3002930197012500950023FA -S21400D9C0BAF802201EA9DDF810804046934CA04706 -S21400D9D0BDF86830ADF87830BDF86C30ADF87C3006 -S21400D9E0BDF86A302B443344ADF87A30BDF86E305B -S21400D9F0013B9E1BADF87E609AF80D3002930197AE -S21400DA0000950023BAF802201EA94046A04796E7D4 -S21400DA10834B98470546012812D9022839D0814BF6 -S21400DA200093814B40F2AE5280490220804CA047C2 -S21400DA3000231A46049906987E4CA047FFF7FDBBC4 -S21400DA4029A9DAF82C007C4B984701280AD07B4B92 -S21400DA500093754B40F2945274490220744CA047D0 -S21400DA60FFF7EBBB299BC3F38A29BDF8A670C7F363 -S21400DA704A171EA8724B98479AF836308DF87830B9 -S21400DA809AF837308DF88230BAF83430ADF88430F2 -S21400DA9020E022A86B4B9847BAF83430ADF88830AF -S21400DAA0DAF8302023929AF836308DF89030BDF9A7 -S21400DAB094300021029147F618410191BDF9921069 -S21400DAC00091DAF82C1029A85F4CA047BDF9A49065 -S21400DAD0BDF9A6709AF8383013F0010F3FD1069CB6 -S21400DAE021886088E2880132121A12B2A3880133B4 -S21400DAF05B1A1BB2A3EB090303EBD37301EB6303BF -S21400DB009BB2ADF87030D21B02EBD27100EB610114 -S21400DB1089B2ADF8721009F1FF399944ADF87490E6 -S21400DB207B1E0B449BB2ADF87630022D00F0BD8014 -S21400DB30BAF9002006991CA8444B98474FF0FF34CA -S21400DB40002800F0D4861EABDAF82C2004991CA816 -S21400DB50384DA8472046304B9847FFF76EBB00234A -S21400DB60BAF90020069E314629A8394CA047002164 -S21400DB7029A8384B98470790B38801333446328833 -S21400DB809B1A1BB293FBF9F209FB123303EBD37318 -S21400DB904FEA630BB6F9061073884A1CD21A10B205 -S21400DBA090FBF7F207FB120202EBD272A3EB6203C2 -S21400DBB09BB21AB2ADF87220BFB2781E0344ADF81D -S21400DBC0763091426CDBDFF890801A4ECDF81490D8 -S21400DBD0A14652E000230093DAF82C3022AA0499DA -S21400DBE01CA8C047BDF8703023441BB2ADF8703097 -S21400DBF0BDF874202244ADF87420B9F904209A4286 -S21400DC002CDB022DE6D01EABDAF82C2004991CA8DB -S21400DC10B047E7E7712501006DBE000051770000B0 -S21400DC2069990000E0500200805002009050020007 -S21400DC305D220100E9960000EDFD0000C0500200E4 -S21400DC4045960000CD9900007D4001006D1701004B -S21400DC502DC00000C1BD0000259A0000BDF872303E -S21400DC603B441BB2ADF87230BDF876203A44ADF8AE -S21400DC707620B9F906209A4212DBB9F80030A3EBF9 -S21400DC800B039BB21AB2ADF87020BDF81440611EAB -S21400DC900B44ADF87430B9F904309342B1DADDE7DD -S21400DCA007988A4B9847FFF7C8BA02F0010211445A -S21400DCB0ADF872101344ADF87630BAF9002021465C -S21400DCC01CA8834B9847A8B90023BAF900200699E8 -S21400DCD029A8804CA047002129A87F4B98470446D6 -S21400DCE000230093DAF82C3022AA04991CA87B4D56 -S21400DCF0A8472FE74FF0FF34F2E7298ABDF86030D7 -S21400DD005B1A9AB2ADF86020688ABDF862301B1ABA -S21400DD10ADF86230BDF864305B1A9BB2ADF8643083 -S21400DD20BDF86610091AADF8661001339B1A1BB2CF -S21400DD300893099318466A4B98478346694B984759 -S21400DD4048B9BAF91280B8F10F0F14BF4FF00008A7 -S21400DD504FF0010801E04FF00008BAF90020069ED7 -S21400DD60B388013331885B1A19B2F388013370889F -S21400DD701B1A1BB28B42A8BF0B465B109342A8BF70 -S21400DD8013461A460A93002B40F388800023314638 -S21400DD9022A8504EB047002122A84F4B98470E901D -S21400DDA0BAF91060069A531ED01D1AAA13F8011F5E -S21400DDB002F8011B8342F9D1BDF86820BAF8123088 -S21400DDC013F0040F6ED0B1B20A44ADF86820BDF867 -S21400DDD06C2013F0080F6AD0B1B2521AADF86C205E -S21400DDE0BDF86A2013F0020F66D0B1B20A44ADF84F -S21400DDF06A20BDF86E2013F0010F62D0B3B2D31ABA -S21400DE00ADF86E30DDF828901FFA89F7BA1B0123AB -S21400DE1012B21AA929A82F4EB047002129A82E4BC6 -S21400DE2098470F90BAF91030013B4B45B8BF4B46A8 -S21400DE3019460D93BAF80E30ADF814309AF81560FE -S21400DE40B8F1000F00F0BF81B5F912300698B0F9AE -S21400DE500220D21A0A44BDF966109142A8BF1146A4 -S21400DE600B910288ADF870208288ADF87420BDF959 -S21400DE70622013441BB2ADF87230ADF8763090468F -S21400DE800B9B9342C0F2B380DFF85C90CDF81CB0D9 -S21400DE90B3462646CDF830A0824655E04FF0FF3315 -S21400DEA00E937DE70A997118494289B28CE70A9960 -S21400DEB07118494289B290E70A997118494289B2A5 -S21400DEC094E70A9BF3185B429BB298E76DBE00008E -S21400DED06D1701002DC00000C1BD0000259A00008E -S21400DEE03D290100C5BE000051770000BAF9043094 -S21400DEF05A1CD21BADF87820ADF87C300A9A9B1AD3 -S21400DF000133B5F91020BDF960100A449B1ACDF80C -S21400DF1008B001960094079A002BA8BFD2181346A3 -S21400DF20BDF814201EA90498C847BDF87230013306 -S21400DF30ADF87230BDF876300133ADF8763008F1C2 -S21400DF4001080B9B43454CDB0999079C2046C74BB1 -S21400DF5098476A8A4244298ABDF860301944089B6B -S21400DF6012B209B207942046C14CA0470446BDF839 -S21400DF707230ADF87A30BDF87630ADF87E30BAF94A -S21400DF800030ADF87830013B3B44ADF87C30CDF83E -S21400DF9008B001960090079BBDF814201EA90498AF -S21400DFA0C847BDF97E20BAF902300C99B1F91010B5 -S21400DFB00B449A429ADABAF800303B44ADF878300F -S21400DFC0BAF80430DB1BADF87C30CDF808B001960B -S21400DFD0012300930023BDF814201EA90498C84707 -S21400DFE084E734465E46DDF81CB0DDF830A0B5F9AF -S21400DFF01230069AB2F90620D21A0D99521ABDF9B5 -S21400E00062809045B8BF90460B994145A8BF01F184 -S21400E010010843441BB2ADF87230ADF87630BDF956 -S21400E0206630984500F38D80DFF84892CDF81CB036 -S21400E030B3462646CDF82CA0DDF818A02EE0BAF997 -S21400E04004305A1CD21BADF87820ADF87C300A9A02 -S21400E0509B1A0133B5F91020BDF960100A449B1ACB -S21400E060CDF808B001960094079A002BA8BFD218E6 -S21400E0701346BDF814201EA90498C847BDF8723090 -S21400E0800133ADF87230BDF876300133ADF8763036 -S21400E09008F10108BDF9663098454CDC0999079CE3 -S21400E0A02046724B98476A8A4244298ABDF86030F7 -S21400E0B01944089B12B209B2079420466C4CA0473C -S21400E0C00446BAF90030ADF87830013B3B44ADF871 -S21400E0D07C30BDF87230ADF87A30BDF87630ADF8E9 -S21400E0E07E30CDF808B001960090079BBDF814204E -S21400E0F01EA90498C847BDF97E20BAF906300B99C8 -S21400E100B1F910105B1A9A4299DDBAF800303B4418 -S21400E110ADF87830BAF80430DB1BADF87C30CDF8BB -S21400E12008B00196012300930023BDF814201EA911 -S21400E1300498C84783E734465E46DDF81CB0DDF831 -S21400E1402CA0BDF8342006994B8801331344ADF853 -S21400E1507230CB88013B9B1AADF87630B1F90030AF -S21400E160ADF87030BAF81020013A1344ADF87430A8 -S21400E17002960194012700970023BDF814904A46A2 -S21400E1801CA9DDF8108040463A4DA847069BB3F917 -S21400E1900420BAF81030FB1A1344ADF87030ADF80E -S21400E1A0742002960194009700234A461CA9404614 -S21400E1B0A8470F98304CA0470E98A04758462F4BBC -S21400E1C09847FFF754B8069AB2F90010ADF87010E9 -S21400E1D0B2F90420ADF87420BDF962006B8A0344DE -S21400E1E01BB2ADF87230ADF87630BAF91230042BA7 -S21400E1F029D0082B44D000228DF84E208DF84F20D1 -S21400E200022B29D101238DF84E309DF84E301BB9D4 -S21400E2109DF84F8088F0010808F001088DF85080BE -S21400E2200746BDF966309842C3DCDFF84080DFF869 -S21400E23044900A94CDF81CB0DDF818B0CDF82CA0A8 -S21400E240DDF834A04EE00D9A1144ADF874100022AB -S21400E2508DF84E208DF84F20012B16D0032BD4D1ED -S21400E26001238DF84E308DF84F30CEE7ED2B0100B0 -S21400E2701DBE0000517700006DBE00007125010034 -S21400E2800D99521AADF87020E1E78DF84F30BCE7D3 -S21400E2900999079C2046C0476A8A3A44298ABDF8ED -S21400E2A060301944089B12B209B207942046984C75 -S21400E2B0A04702960A9A01920090079BBDF8142088 -S21400E2C01CA90498C847BDF872300133ADF8723007 -S21400E2D0BDF876300133ADF876300137BDF96630DB -S21400E2E09F421ADC9DF85030002BD1D19DF84E305D -S21400E2F033B1BDF97220BBF9023053449A42C7DDF0 -S21400E3009DF84F30002BDED0BDF97220BBF90630E9 -S21400E310A3EB0A039A42D6DBBAE7DDF81CB0DDF8B9 -S21400E3202CA046E7BAF94C300024029447F618426F -S21400E3300192BAF94E200092DAF840201CA8754DDA -S21400E340A847ADF88840ADF88A40BDF87030013B6C -S21400E350ADF88C30BDF87230013BADF88E301EAB98 -S21400E3609AF8502022A906986B4DA847BDF8782049 -S21400E370BAF848301A4492B2BDF888301344ADF863 -S21400E3808830BDF87A30BAF84A100B449BB2BDF814 -S21400E3908A101944ADF88A10BDF88C100A44ADF8FE -S21400E3A08C20BDF88E201344ADF88E3029A85B4B28 -S21400E3B09847DAF840302A93BAF84C30ADF8B030C7 -S21400E3C0BAF84E30ADF8AE30BAF84630ADF8A430F4 -S21400E3D09AF844308DF8AC300094DAF83C3029AA2C -S21400E3E0049922A84E4CA047FEF749BF721C069B14 -S21400E3F0D21A12B26B1C07995B1A1BB29A42A8BFBC -S21400E4001A465210089B9A42A8BF1A46059B134408 -S21400E41001370A99791A08B2611CA1EB080109B202 -S21400E4208142A8BF014649109942A8BF19460F4627 -S21400E4300691B9F81000BDF868301B1A99B2ADF80D -S21400E4406810B9F81240BDF86A301B1BADF86A3088 -S21400E450BDF86C301B1A9BB2ADF86C30BDF86E0080 -S21400E460001BADF86E0001335B1A1BB21E46079305 -S21400E470012316A922A82B4DA847002122A82A4C22 -S21400E480A0470C9000233AB218A929A8A847002153 -S21400E49029A8A0470D9008963046244B98470B9025 -S21400E4A0BAF91830BAF81620ADF814209AF81D50AC -S21400E4B0099A002A40F0A681013BBB42B8BF3B4602 -S21400E4C019460E93B9F91230BDF96220D21A0A44E1 -S21400E4D011460992BDF86020ADF87020BDF86420A2 -S21400E4E0ADF87420BDF96A2013441BB2ADF8723043 -S21400E4F0ADF8763016469142C0F29D80DFF8308047 -S21400E5002B465D46CDF828A082469B463FE000BFDE -S21400E5101DBE00007D40010025180100CD990000B9 -S21400E520259A00002DC00000C1BD00003D29010055 -S21400E53051770000BDF964305A1C141BADF87840C2 -S21400E540ADF87C30069A9B1A0133B9F91020BDF954 -S21400E55068100A449B1ACDF808B001950097002B66 -S21400E560ACBF53440AF10003BDF814201EA904985A -S21400E570C047BDF872300133ADF87230BDF8763062 -S21400E5800133ADF876300136099BB3424EDB08996D -S21400E5905046CC4B9847B9F812203244B9F81010C0 -S21400E5A0BDF868301944079B12B209B25046C64CF3 -S21400E5B0A0470746BDF87230ADF87A30BDF8763021 -S21400E5C0ADF87E30BDF96030ADF87830BDF8184053 -S21400E5D0013B2344ADF87C30CDF808B0019500909F -S21400E5E05346BDF814201EA90498C047BDF97E20E6 -S21400E5F0BDF962300A99B1F918100B449A4299DABB -S21400E600BDF860302344ADF87830BDF864301B1B8D -S21400E610ADF87C30CDF808B00195012300930023B7 -S21400E620BDF814201EA90498C04783E75B46AB4696 -S21400E630DDF828A01D46B9F91230BDF96660F61A55 -S21400E6400E9AB61A09990A46B142A4BF0132164676 -S21400E65033441BB2ADF87230ADF87630BDF96E308B -S21400E6609E4200F38C80DFF864822B465D46CDF830 -S21400E67024A0DDF82CA09B462DE0BDF964305A1C82 -S21400E680141BADF87840ADF87C30069A9B1A01331F -S21400E690B9F91020BDF968100A449B1ACDF808B0E5 -S21400E6A001950097002BACBF53440AF10003BDF858 -S21400E6B014201EA90498C047BDF872300133ADF887 -S21400E6C07230BDF876300133ADF876300136BDF9DC -S21400E6D06E309E424EDC089950467A4B9847B9F801 -S21400E6E012203244B9F81010BDF868301944079B60 -S21400E6F012B209B25046744CA0470746BDF96030C6 -S21400E700ADF87830BDF81840013B2344ADF87C30B6 -S21400E710BDF87230ADF87A30BDF87630ADF87E30A0 -S21400E720CDF808B0019500905346BDF814201EA9F8 -S21400E7300498C047BDF97E20BDF966300999B1F945 -S21400E74018105B1A9A4298DDBDF860302344ADF885 -S21400E7507830BDF864301B1BADF87C30CDF808B0BF -S21400E7600195012300930023BDF814201EA90498E8 -S21400E770C04782E75B46AB46DDF824A01D46BDF8E1 -S21400E7803830BDF8622001321A44ADF87220BDF868 -S21400E7906620013AD31AADF87630BDF96030ADF890 -S21400E7A07030013BBAF818201344ADF87430029567 -S21400E7B0CDF804B0012600960023BDF8148042462A -S21400E7C01CA9049F3846414CA047BDF96420931904 -S21400E7D0BAF818105B1AADF87030ADF874200295D0 -S21400E7E0CDF804B00096002342461CA93846A04740 -S21400E7F00C98374CA0470D98A0470B98354B984778 -S21400E800FEF7B0BDBDF86030ADF87030BDF86430CE -S21400E810ADF87430BDF96A20B9F8123013441BB253 -S21400E820ADF87230ADF876301446BDF96E309A42C7 -S21400E830DEDCDFF89080244F244EDDF82CA02B463B -S21400E8405D469B4608995046C047B9F812202244B8 -S21400E850B9F81010BDF868301944079B12B209B217 -S21400E8605046B847CDF808B0019500905346BDF81D -S21400E87014201CA90498B047BDF872300133ADF8D7 -S21400E8807230BDF876300133ADF876300134BDF91C -S21400E8906E309C42D6DDABE70C980E4B984707FBD4 -S21400E8A007F7002F3DF4ECAE0A980246411E00EB37 -S21400E8B0470032F8023B9B0901F8013F9042F8D12D -S21400E8C0FDF7DEBEED2B01001DBE000051770000F7 -S21400E8D06DBE000071250100079738460B4B984720 -S21400E8E00C90002FD8DD01230B93FDF727BE0023E5 -S21400E8F0BAF90020069929A8054CA047002129A8A6 -S21400E900044B98470446FFF71EB900BF3D29010097 -S21400E9102DC00000C1BD0000F0B583B09DF80440D6 -S21400E9206FF304048DF80440BDF804406FF34A14F6 -S21400E930ADF80440240A6FF3C7048DF805408668D6 -S21400E940047804F01F04251FEDB2022D0ED9072C03 -S21400E95028D0082C3BD0092C50D00A2C66D00B3C73 -S21400E960E4B2032C98BFADF8043017E014460F4607 -S21400E9700546007800F01F00324B98472B68C3F31B -S21400E9808A2304FB0372C0F3C70000FB02F2B3182D -S21400E990B25C8DF804205B788DF80530BDF8040075 -S21400E9A003B0F0BD01F00703C3F107040368C3F327 -S21400E9B08A230733DB1002FB036606EBE1010B7AC2 -S21400E9C00122A24013402341ADF80430E6E701F0EF -S21400E9D003046400C4F106040368C3F38A23033304 -S21400E9E09B1002FB036606EBA1010B7C0322A240F0 -S21400E9F0134043FA04F4ADF80440CFE701F00104F5 -S21400EA00A400C4F104040368C3F38A2301335B1033 -S21400EA1002FB036606EB610191F840300F22A2402C -S21400EA20134043FA04F4ADF80440B7E70368C3F3B1 -S21400EA308A23314402FB031191F80034ADF8043008 -S21400EA40ACE700BF81960000F0B585B004460D46E1 -S21400EA5017468668037803F01F03052B0AD00B2B96 -S21400EA6012D00C2B27D00D2B49D00E2B64D0FF20B4 -S21400EA7005B0F0BD0268C2F38A2207FB021505EB5B -S21400EA8045053544A878F3E701F00703C3F107010D -S21400EA900268C2F38A220732D210ED1007FB026228 -S21400EAA0535D01228A4013400B4113F0FF0F0CBF49 -S21400EAB0FF200020DCE700238DF8003055238DF87A -S21400EAC00130AA238DF80230FF238DF8033001F0C1 -S21400EAD003035B00C3F106010268C2F38A22033215 -S21400EAE09210AD1007FB0262535D03228A4013406A -S21400EAF00B4104AA52FA83F313F8100CB8E7124B32 -S21400EB000FCB0DF1100E0EE90F0005F001039B0070 -S21400EB10C3F104012268C2F38A22013252106D103A -S21400EB2007FB0262535D0F228A4013400B415EFAD8 -S21400EB3083F313F8100C9BE70268C2F38A2207FBE4 -S21400EB400262505C94E700BF0C5102002DE9F84FBA -S21400EB500446B0F908301B024362B0F90A301B02C3 -S21400EB608362B0F90C00DFF8F48088FB0023C51739 -S21400EB70C5EBA3052DB26FF0090707FB05071FFAC3 -S21400EB8085FACAF1000000B2DFF8D490C8470646FE -S21400EB900135ADB2684200B2C8478346CAF15A0092 -S21400EBA000B2C8478246C5F15A0528B2C847C7F121 -S21400EBB00A0307FB0BFB03FB06B688FB062BF617C0 -S21400EBC0C6EBAB06E66207FB00F003FB0A0088FB19 -S21400EBD00038C017C0EBA8002063A07C1D4B9847E8 -S21400EBE094F8343060F3000384F83430A07C1A4B79 -S21400EBF0984794F8343060F3410384F83430A27CAC -S21400EC00131FDBB2022B94F8343094BF43F0040396 -S21400EC106FF3820384F8343023682362237E03F084 -S21400EC201F0362F304032376A369A28862F3942386 -S21400EC30A3611B0CE28862F34F136383E2894FF4EF -S21400EC40803393FBF2F3E386FF23A375238AA38224 -S21400EC50BDE8F88FB3960000C79600006766666644 -S21400EC60A52201002DE9F04F87B00390049105928C -S21400EC70BDF840400194DDF844B05E4F87FB03606A -S21400EC80DD17C5EBA0052DB205F101096FF00906E9 -S21400EC9006FB05362846DFF86081C04704460FFAB3 -S21400ECA089F0C047824605F15A0000B2C0470546C3 -S21400ECB009F15A0000B2C047C6F10A0306FB0AFA79 -S21400ECC003FB04A487FB04EAE417C4EBAA0406FBD0 -S21400ECD000F003FB050587FB0537ED17C5EBA70717 -S21400ECE0BBF900C0BBF90280CCF10003019D05FB17 -S21400ECF003F343F30F2303FB07FAC8F1000205FBF7 -S21400ED0002F242F30F2202FB04FE1FFA8CF6AAEB75 -S21400ED100E0B06EBEB3B0FFA8BFB03FB04F302FB3D -S21400ED2007F21FFA88F0991800EBE13109B2029158 -S21400ED300499A1EB0C0C05FB0CFC4CF30F2C0CFB04 -S21400ED4007F9A9EB0E0E06EBEE3E0FFA8EFE0CFB55 -S21400ED5004FC624400EBE23212B20599A1EB08080B -S21400ED6005FB08F848F30F2808FB04F4AAEB040593 -S21400ED7006EBE5352DB208FB07F73B4400EBE33323 -S21400ED801BB2A9EB040406EBE43636B2BC4400EB37 -S21400ED90EC3000B25C46F345A8BF7446AC42A8BF50 -S21400EDA02C46B442A8BF344603990F460C80DE4575 -S21400EDB0B8BFDE467545B8BF7546AE42B8BF2E46EC -S21400EDC08E8002990C469142A8BF14469C42A8BF6A -S21400EDD01C468442A8BF04467C809142B8BF1146B8 -S21400EDE08B42B8BF0B469842B8BF1846F88007B0AB -S21400EDF0BDE8F08F67666666A52201002DE9F04F34 -S21400EE0089B00446B0F93850EAB2B0F93A60F3B2C5 -S21400EE106F2A74DCB0F93C104942C917803DEDB248 -S21400EE206F2B7EDCB4F93EB0CBF1000B4FEAEB7BE8 -S21400EE30803EF6B294F8149009F01F09B4F81480D6 -S21400EE40C8F34518677DFF08A37D009394F834C087 -S21400EE501CF0040F7BD02368206C94F844E00EFB73 -S21400EE6001015A1813F801A08DF81CA052788DF8ED -S21400EE701D20B4F904200EFB02F20BFB02FB5844E3 -S21400EE801A1813F800A08DF818A052788DF81920DB -S21400EE9001EB0B0203EB020A13F802B08DF814B074 -S21400EEA09AF801A08DF815A01CF0020F00F08180E2 -S21400EEB00EF1FF3E734413F801B013F800A0985CFF -S21400EEC0C5F1FF0303FB0BF1009A05FB021103FBE0 -S21400EED000F305FB0A33C3F30723C6F1FF02C1F3B1 -S21400EEE0072106FB01FE02FB03E21212A2750529AA -S21400EEF000F2DC80052B40F27D810026D9E0902AC6 -S21400EF000CDDB0F93C100131B0F904209142ACBFE1 -S21400EF1000210121C5F17F05EDB281E7FF25002123 -S21400EF207EE7902B0FDDB4F93EB00BF1010BB4F980 -S21400EF3006209345ACBF4FF0000B4FF0010BC6F117 -S21400EF407F06F6B276E7FF264FF0000B72E704F175 -S21400EF50180318468BB2A18F02931944238AB4F97A -S21400EF603E2009B20190DFF894A2D047ADF81C000D -S21400EF701FFA8BF1E28F03910A44238A12B2B4F986 -S21400EF803C10DDF804B05846D047ADF81800E28FC4 -S21400EF9003990A44A18F029B1944238A12B209B22C -S21400EFA05846D047ADF8140094F8343013F0020FEA -S21400EFB052D1FF23A3752B46002B40F08B809DF883 -S21400EFC01C9009F01F09BDF81C80C8F345189DF871 -S21400EFD01D70FF08002D40F0AC809DF8145005F021 -S21400EFE01F05BDF81430C3F345139DF81510C90866 -S21400EFF0002E00F0E380FF2E00F0EE80C6F1FF0248 -S21400F00002FB05F506FB095505EB052905EBC915B9 -S21400F010ED0D207D65F30400207502FB03F306FB6F -S21400F020083808EB082308EBC3184FEAD858A38A19 -S21400F03068F34A13A38202FB01F106FB071606EBF0 -S21400F040062706EBC716F60D1B0A66F3C70363759D -S21400F050012009B0BDE8F08FA18F029B1944B4F9D6 -S21400F0603E2009B2DDF804A05046634B984783461D -S21400F070E28F03990A4412B2B4F93C10CDF804A00A -S21400F08050465D4B98478246E28F03990A44A18F0B -S21400F090029B194412B209B20198574B984794F84C -S21400F0A0343013F0020F7FF40BAF82E7052B98BFC6 -S21400F0B0FF26009B052B8CBF2B460023BBF1050FBC -S21400F0C098BFFF23BAF1050F98BF0025052898BF03 -S21400F0D0FF2571E7FF2B3FF47DAFC3F1FF019DF8DD -S21400F0E01D20D20803FB07F701FB027707EB072278 -S21400F0F007EBC217C7F3C457BDF81C20C2F345126E -S21400F10003FB08F801FB028808EB082208EBC2188C -S21400F110C8F3C5589DF81C2002F01F0203FB09F92E -S21400F12001FB029909EB092309EBC319C9F3C4597A -S21400F13050E7FF2D36D0C5F1FF009DF81910C9081D -S21400F1409DF81530DB0800FB03F305FB013101EBEE -S21400F150012301EBC311C1F3C451BDF81830C3F34A -S21400F1604513BDF81420C2F3451200FB02F205FB5E -S21400F170032303EB032203EBC213C3F3C5539DF82B -S21400F180182002F01F029DF814E00EF01F0E00FB80 -S21400F1900EF005FB020505EB052205EBC215C5F3CF -S21400F1A0C45525E79DF8185005F01F05BDF8183022 -S21400F1B0C3F345139DF81910C90819E7227D65F3B6 -S21400F1C004022275A28A63F34A12A282120A61F32B -S21400F1D0C702627501203CE7237D69F304032375AB -S21400F1E0A38A68F34A13A3821B0A67F3C7036375EF -S21400F1F001202EE700202CE749EA000019E900006C -S21400F2002DE9F04F83B088465D4B1988E1B107467B -S21400F2105C4B1E683346013989B2013101EBC101EE -S21400F22006EB810158481A6A8242A4BF02F1FF32F7 -S21400F2301A6224338B42F6D10024DFF88091DFF87F -S21400F24080B1DFF83CA111E0504B0093504B4422B4 -S21400F25050490220504CA047002525E0012827D021 -S21400F2600134A4B2BAF80030A3422AD904EBC4058C -S21400F27006EB85056868C8470028EFD16B68BB4277 -S21400F280EED128891FFA88F3984214BF0020012087 -S21400F2900028E5D02B6A6A691344B3F57A7F0EDD41 -S21400F2A04FF47A732B6265B1284603B0BDE8F08F41 -S21400F2B039466868D847B0FA80F04009E8E72B621C -S21400F2C0F1E72F4B1A88012A37D906F12403023AB0 -S21400F2D092B202EBC20206EB820248323546186A48 -S21400F2E0296A8842B8BF1D4624339342F7D16B681B -S21400F2F02BB32846294B9847294B0093244B77225B -S21400F30024490120244CA047264B98470446002356 -S21400F3106B61424639462846234B9847C0B10023C6 -S21400F3202B626B69002BBFD12046204B9847686143 -S21400F3300028B9D101236B61B6E73546D7E71C4BE9 -S21400F3400093134B7A2213490120134CA047DBE7A6 -S21400F350184B00930E4B83220E4902200E4CA047FA -S21400F36028460E4B984720212846134CA0472421B8 -S21400F3702846A0474FF000432B62002594E700BFC5 -S21400F380582B0020586D002002000080905102008B -S21400F39034510200605102005D22010035FF00007A -S21400F3A0B85102005910010049FE0000711001001A -S21400F3B0EC51020020520200372B01006999000030 -S21400F3C0FBB401002DE9F047144B1F68144B1B8853 -S21400F3D00BB306460024DFF84C90DFF84CA0DFF8AD -S21400F3E040800EE00BB12846D04720212846C8476B -S21400F3F024212846C8470134A4B2B8F80030A342F6 -S21400F40009D904EBC40507EB85056B68B342E9D060 -S21400F410002EF0D1E6E7BDE8F08700BF586D00206B -S21400F420582B0020372B010035FF00002DE9F04156 -S21400F43082B00446214B1B6833B10020204B98470E -S21400F4401E4B18681F4B984704EBC40080001E4BE9 -S21400F45098471A4B18601D4B9847E8B1174B1B6826 -S21400F46043B31B4B1C80A4B10024144F194E98467E -S21400F47004EBC405AD00386820212844B04738683E -S21400F48024212844B0470134A4B2B8F80030A3427F -S21400F490EED802B0BDE8F0810F4B0093A8220F49CA -S21400F4A003200F4CA047054B1A6800230D480E4951 -S21400F4B08847FEE70022064B1A80EAE7586D0020D0 -S21400F4C0C5F30000C5240100DD230100B1220000C1 -S21400F4D0582B0020372B01004851020060510200D3 -S21400F4E05D220100D83F0200B922000030B587B087 -S21400F4F00C4615460846334B9847D8B92378C3F3CD -S21400F5000403043BDBB20A2B59D82368C3F38A23CF -S21400F5102A6863F394222A606388C3F34A136A88CE -S21400F52063F34F126A8022782B7862F304032B7001 -S21400F53001200DE001280DD0022832D0224B009386 -S21400F540224B4FF49A7222490220224CA0470020F8 -S21400F55007B030BD0222214604A81F4B984738B199 -S21400F5602B781C3303F01F030A2B18D80120EFE773 -S21400F57003AB0422294604A8184CA047044604A856 -S21400F580174B984714B9039B042BE9D0154B0093EF -S21400F5900E4B40F221120E4902200E4CA0470020CE -S21400F5A0D6E72B68012060F394232B601A0C60F3D7 -S21400F5B04F126A800B2262F304032B70C8E7002008 -S21400F5C0C6E700BF699900006C5302004C52020067 -S21400F5D0185302005D2201004D1D0100BD1C0100F4 -S21400F5E08D1C01004853020038B5CC69A4B10D4605 -S21400F5F0206820B1094B98472068094B98476068F7 -S21400F60008B1074B9847A06808B1054B98472046B5 -S21400F610034B98470023EB6138BD00BF8D1C0100EB -S21400F620C52401002DE9F04385B005460C468B7ACB -S21400F630012B16D0002B40F0AA814B689B68002B4C -S21400F64000F0A381087B00F01F00031FDBB2022B33 -S21400F65000F2858063689B682361012005B0BDE8E1 -S21400F660F0834868964B98479649974B98470028EA -S21400F6702AD10222616802A8944B9847D8B9E36958 -S21400F68023B3E6690820924B98473060914B984721 -S21400F690002840D03368002B4BD18F4B00938F4B04 -S21400F6A040F25F128E4903208E4EB0472146284610 -S21400F6B08D4B984708E08D4B0093884B4FF4A6720D -S21400F6C087490220874CA0470020C7E70C20804BC4 -S21400F6D09847E0617F4B984768B9804B009340F2AB -S21400F6E053127F4903207F4DA847E26900238048D4 -S21400F6F080498847FEE7E06948B9774B0093774B27 -S21400F70040F2551276490320764CA047DCE70C21E0 -S21400F710794B9847B5E7714B009340F25D127049FC -S21400F7200320704CA047326800237148714988470F -S21400F730FEE70DF1070203F1080112F8010F03F8C6 -S21400F740010B8B42F9D1207B00F01F00031FDBB2B8 -S21400F750022B04D8A37A002B3FF47CAF1FE1C31F13 -S21400F760DBB2032B09D9A0F10B03DBB2032B00F2AB -S21400F770FD8000232361012070E7604B9847074611 -S21400F780E369BBB1E6690220B840514B9847706008 -S21400F790504B9847002837D1504B009340F29712B1 -S21400F7A04F4903204F4CA0477268002350485149E8 -S21400F7B08847FEE70C20464B9847E061454B984744 -S21400F7C068B9464B00934FF4C67245490320454D31 -S21400F7D0A847E2690023464846498847FEE7E069AD -S21400F7E070B93D4B00933D4B4FF4C7723C49032024 -S21400F7F03C4EB047214628463B4B984700202DE715 -S21400F8000C213D4B9847BDE7012303FA07F738461E -S21400F8102F4B9847B0602F4B9847002832D073681C -S21400F820002B3DD0B368002B3AD0A37A012B67D0CB -S21400F83063689A68002F00F095800023706800EBDC -S21400F840430C92F801E04FEA9E0E9578ED08117889 -S21400F850C90810F8138061F3040800F8138030F824 -S21400F86013106EF34A1120F81310090A65F3C70146 -S21400F8708CF80110D078B168C854013304329F4226 -S21400F880DCD16FE0154B009340F299121449032027 -S21400F890144CA047B2680023154816498847FEE76F -S21400F8A00D4B00930D4B40F29B120D4903200D4E5D -S21400F8B0B047214628460C4B98470020CEE600BFAE -S21400F8C0211E010094530200FBB401004D1D0100EF -S21400F8D0DD230100B1220000C45302006C52020076 -S21400F8E0185302005D220100E9F50000985302005B -S21400F8F0D83F0200B9220000372B01008196000095 -S21400F90004213068284B984767B30025A946DFF8DE -S21400F910B0804B46042202A93068C047726802EBEA -S21400F920450E9DF8090080089DF80A10C9089DF844 -S21400F9300830DB0812F815C063F3040C02F815C093 -S21400F94032F8153060F34A1322F815301B0A61F3BB -S21400F950C7038EF801309DF80B20B3685A55013561 -S21400F960AF42D6D100232361012077E62146284600 -S21400F9700E4B98470E4B00930E4B40F2D3120E4997 -S21400F98002200E4CA047002068E6002066E6087BB2 -S21400F99000F01F00031FDBB2022B3FF6E0AE002391 -S21400F9A0236101205AE600BFF91C0100E9F50000BA -S21400F9B0F05302006C520200185302005D22010050 -S21400F9C0BD1C01002DE9F04F8BB00D4614469A463B -S21400F9D0BDF950600B7B03F01F031A1FD2B2022A38 -S21400F9E045D88B7A012B03D000200BB0BDE8F08FF2 -S21400F9F0D1F81C80087B00F01F009E4B98470746F6 -S21400FA00E968C1F38A210AFB014100FB01F1C91034 -S21400FA100431D8F80000984B9847D8B9C7F3C70701 -S21400FA2006FB07F60AAB002243F8102D324615995E -S21400FA30D8F80000914CA047069B9E4215D0904BEC -S21400FA400093904B40F235228F4902208F4CA047FE -S21400FA500020CAE78E4B00938A4B40F22E228A493A -S21400FA6002208A4CA0470020BFE70120BDE7A3F193 -S21400FA700B02D2B2032A0FD9073BDBB2032B40F2AC -S21400FA80DF80844B0093844B4FF4FE727E49022045 -S21400FA907E4CA0470020A8E700228DF81020FF2308 -S21400FAA08DF811308DF8142055228DF81520AA22D5 -S21400FAB08DF816208DF81730784B0FCB0AAF07E974 -S21400FAC00F002989002E0CDD080A159B721E92B2C3 -S21400FAD0013202EB42021A441970587003339A42FC -S21400FAE0FAD1287B00F01F00624B9847804601271A -S21400FAF08740013FBFB22B7B03F01F030B3B032B5A -S21400FB0000F28380DFE803F0024C6176EB68C3F313 -S21400FB108A23DA1013F0070F0CBF0FFA82FB02F1EC -S21400FB20010BE3100AFB0B3AE44304F007040DF163 -S21400FB301009EB6903935846594B98470290AB7AE5 -S21400FB40002B6BD16B689B689A44002E23DD159AB8 -S21400FB50711E89B2013101EB41011144C8F1080060 -S21400FB6040B29AF8003007FA04F6334023412E7B61 -S21400FB7006F01F060E2EDBB218BF19F8033093707E -S21400FB80A4EB080464B2002CBCBF04460AF1010AC8 -S21400FB9003328A42E5D10298424B9847012024E777 -S21400FBA0EB68C3F38A239A1013F0030F0CBF0FFA07 -S21400FBB082FB02F1010BA3100AFB0B3AE44304F0AC -S21400FBC0030464000DF11409B3E7EB68C3F38A235A -S21400FBD05A1013F0010F0CBF0FFA82FB02F1010B53 -S21400FBE063100AFB0B3A14F0010F13D000240DF13A -S21400FBF018099EE7EB68C3F38A239AB20FFA83FBD1 -S21400FC000AFB024A0024A14693E70024A246A34624 -S21400FC10A1468EE704240DF118098AE70AF10401CB -S21400FC20039B1868144B984700235A46DDF808B023 -S21400FC30594603980068DFF844A0D047DA4684E7C0 -S21400FC40087B00F01F000B4B984781464FF00108D9 -S21400FC5008FA00F808F1FF381FFA88F82B7B03F043 -S21400FC601F03073B032B00F2A580DFE803F01D68A7 -S21400FC707E9600BF81960000F91C0100BD1C0100A5 -S21400FC80405402008C520200185302005D2201000C -S21400FC901C54020064540200C4520200B452020013 -S21400FCA03D29010071250100EB68C3F38A234FEA62 -S21400FCB0E30B13F0070F0CBF0FFA8BFB0BF1010BD6 -S21400FCC0E3100AFB0B3A0AF1080AE44304F00704BF -S21400FCD0EF695846414B98470290AB7A002B6ED19D -S21400FCE06B689B689A44002E24DD159A711E89B2B3 -S21400FCF0013101EB41011144C9F108056DB29AF8D2 -S21400FD00003008FA04F003402341DBB2786830F88C -S21400FD1013001070000A5070B868C35C9370A4EBB0 -S21400FD20090464B2002CBCBF2C460AF1010A033257 -S21400FD308A42E4D102982A4B9847012055E6EB68A0 -S21400FD40C3F38A234FEAA30B13F0030F0CBF0FFA7B -S21400FD508BFB0BF1010BA3100AFB0B3A0AF1100AFE -S21400FD60E44304F003046400B2E7EB68C3F38A23B9 -S21400FD704FEA630B13F0010F0CBF0FFA8BFB0BF16E -S21400FD80010B63100AFB0B3A0AF1400A04F0010467 -S21400FD90002C0CBF042400249AE7EB68C3F38A2BDC -S21400FDA01FFA8BF30FFA8BFB0AFB034A0AF5806AED -S21400FDB000248DE74FF0000A5446D34688E70AF140 -S21400FDC004013868074B984700235A46DDF808A018 -S21400FDD051463868044DA84785E700BF3D29010015 -S21400FDE071250100F91C0100BD1C01002DE9F0473A -S21400FDF081460E460B786FF347130B700F48104B77 -S21400FE009847C8B104464FF0000ADFF830800D4F1F -S21400FE1005E0554621464046B847044648B12368A3 -S21400FE20002BF6D03246494620469847054601281C -S21400FE30F0D12846BDE8F0870025FAE7A46C00203C -S21400FE40A91F0100BD1F01002DE9F0478246884624 -S21400FE5002810846264B98478AF80A000023CAF80B -S21400FE601C3001280DD0CAF804802248224B98473F -S21400FE700446002836D000250AF10C091D4F1F4EF7 -S21400FE8010E040461E4B984701301E4B9847CAF874 -S21400FE90040041461C4B9847E7E721463846B047E2 -S21400FEA00446D8B12368002BF7D06268002AF4D045 -S21400FEB04A4641462046984705460128EDD100238C -S21400FEC0CAF81830CAF81030CAF8004063685146BD -S21400FED02046984705460128DFD100E01DB1284698 -S21400FEE0BDE8F087002520215046084B9847F6E7E6 -S21400FEF069990000A46C0020A91F0100BD1F010025 -S21400FF001FB50100DD2301000FB50100372B0100EE -S21400FF1070B582B00668B46854B11D4613460A46EA -S21400FF2001460698019000953046A04702B070BD85 -S21400FF300020FBE7036883B110B50446DA6812B107 -S21400FF40014618469047A37A012B00D010BD606882 -S21400FF50024B984700236360F8E77047C52401000A -S21400FF6030B583B00D480E4B984704460D4B984766 -S21400FF7038B11CB1102120460B4B9847204603B0E1 -S21400FF8030BD0A4B0093C92209490320094DA847F2 -S21400FF9022460023084809498847FEE7A46C00204B -S21400FFA0111F0100B1220000372B0100E8520200A9 -S21400FFB0185302005D220100D83F0200B92200005B -S21400FFC010B582B010211448144B9847144B98472C -S21400FFD048B1144A0260144A4260144A8260144AC5 -S21400FFE0C26002B010BD134B0093134B4722134957 -S21400FFF00220134CA0470020124B98470028F0D14F -S2140100000D4B009348220D490320A04700220023F0 -S2140100100D480E498847FEE7A46C0020F91E010032 -S21401002061FF0000EDF4000025F60000C5F90000B0 -S214010030E9F50000A0540200005302001853020024 -S2140100405D220100B1220000D83F0200B922000063 -S21401005008B54368984708BD10B50468A04710BDA9 -S21401006010B584B013460A4601A9044CA04718B13E -S214010070BDF8040004B010BD0020FBE759000100E4 -S21401008003780A78934211BF981A40784B78C01AC1 -S214010090704703880A88934211BF981A40884B8894 -S2140100A0C01A704700880B88C01A70470B46002993 -S2140100B06CD0F0B585B00469A269914215D0678A03 -S2140100C0C7F30907002F5DD0A16808681A1A0392C2 -S2140100D0888882420BD800261D468B7CE3B9C888E7 -S2140100E01044A561E06105B0F0BDE069FBE70025BD -S2140100F00135ADB2BD4245DA05EB850082001646F4 -S21401010001EB020E51F820209A1A0392BEF8040061 -S2140101108242EDD87146DFE7012B05D0022B08D0CD -S214010120032B18D00020DCE7CB689B5CC8881844FA -S214010130D7E70A8A8968164B0093022303A8154F4E -S214010140B8470346D0B1A2681644B068181AF388B7 -S21401015003EB5000C5E70A8A89680D4B009302231A -S21401016003A80C4FB84758B1A2681644B268831A60 -S2140101705B08F268D35CF0881844B2E70020B0E769 -S2140101800020AEE7A3610020E061ACE708467047B7 -S214010190A5000100854101002DE9F04F9FB0092916 -S2140101A0056908BF2021A04B9847002800F0EA8483 -S2140101B080466F6807EBC0062B7D13F0030F0BD14B -S2140101C0002E00F0E28457F83030C3F3130328689A -S2140101D018441FB0BDE8F08F3379747904FB03F43B -S2140101E0002C00F0D584EB7CC3F38303013B032B87 -S2140101F005D8DFE803F00275787B0734E4088B4BFB -S21401020018688B4B9847844211D9DFF82092214613 -S214010210D9F80000874B9847C9F80000864B9847E5 -S214010220002866D0814B1B68002B00F0B48457F879 -S2140102303810C1F313012B6819447C4BD3F8009096 -S21401024033790C939B461AB2174618927279159217 -S214010250EA7CC2F38302D3B20F93032B14BF184672 -S21401026004200890714B59601A7200225A72DA60A3 -S2140102701A745A745846714CA04716905846A047AF -S2140102801790002F00F05182684B197C03915C7C1B -S2140102905F68DD6893F808A0012202FA0AF2511E8F -S2140102A0D046CAF108060A96CAF11006099693F8CE -S2140102B009C0169800F1FF3E0BF1FF339BB20D9378 -S2140102C000EB030B76460023059307931A460AF1C3 -S2140102D0FF3A01230493CBB20B930692614634E0B6 -S2140102E00334A4088BE70134640888E70134640802 -S2140102F085E7534B0093722252490320524CA04784 -S214010300D9F800200023514851498847FEE70320C9 -S214010310EB0805F0070202EB080CBCF1070F35D815 -S21401032017F803C00A9B9A1A4CFA02F3034015B158 -S214010330039A934238D045440393012204980690C9 -S21401034006F8013F5E4500F04E81A1BBBAF1070FEA -S21401035018D801A353F82AF0890301000F030100FE -S214010360790301007D030100850301008503010077 -S21401037085030100810301000720C9E70F20C7E7B5 -S214010380FF20C5E70B98C3E70120C1E717F803C0B4 -S2140103903B445B7803EB0C231FFA83FC099B9A1AF8 -S2140103A04CFA02F30340C2E7012205920024049AA4 -S2140103B007921146BFE7012904D0022900F0CD803B -S2140103C00023BDE7EB0805F0070202F1010CBCF1C2 -S2140103D0070F13D8FB5CD2430832134103F0010325 -S2140103E00134E4B26A1CB3B9BAF1070F00F2A58072 -S2140103F0DFE80AF0A5849D9FA3A3A3A117F803C075 -S2140104003B445B7803EB0C239BB2D243103213417F -S21401041003F00103E4E70B2C1CD01546039B0122D5 -S2140104200592049A8CE700BFAD0001005C2B00200A -S2140104305125010099280100B12200003D29010043 -S214010440C4540200E05402005D220100D83F0200BD -S214010450B9220000D30802F00702911D072913D81C -S214010460FC5CC2F1020244FA02F202F03F040735D4 -S214010470002C40F0AD80BAF1070F26D8DFE80AF06D -S21401048027101F2125252523F95C3B445C7804EBC6 -S2140104900124A4B2C2F10A02144104F03F04E6E7C3 -S2140104A00320EA0805F0070303EB0801072910D823 -S2140104B0BA5C0A99CB1A42FA03F3034014E0072008 -S2140104C0EFE70F20EDE7FF20EBE70B98E9E70120C8 -S2140104D0E7E7B95C3A44527802EB012292B20999F5 -S2140104E0CB1A42FA03F303404544039301220592D3 -S2140104F00498024607900021069021E70320D108C0 -S21401050002F0070303EB0805072D1AD8795C0A9D4C -S214010510EB1A41FA03F3034002EB080503930122A9 -S21401052005920498024607900021069008E70720E6 -S214010530E5E70F20E3E7FF20E1E70B98DFE701207F -S214010540DDE77D5C3944497801EB052189B2099DD7 -S214010550EB1A41FA03F30340DEE7013C14F0FF0413 -S2140105603DD1BAF1070F23D8DFE80AF024041C1E98 -S214010570222222200320EA0805F0070303EB0801E4 -S214010580072919D8BA5C0A99CB1A42FA03F3034031 -S21401059045440393012205920498024607900021E0 -S2140105A00690CDE60720E6E70F20E4E7FF20E2E726 -S2140105B00B98E0E70120DEE7B95C3A44527802EB9B -S2140105C0012292B20999CB1A42FA03F30340DFE7FC -S2140105D0039B01220592049A07920221B0E6039B2F -S2140105E001200590ACE606988C46C8B90AB19F4B27 -S2140105F0DD60079B13B19D4B83F809C0059B0BB1CA -S2140106009A4B5C7400200F9B039304274FF00F0C4A -S2140106104FF00D084FF00B0A4FF0090B049728E036 -S214010620924B9DF80C101974E0E707293DD8DFE8D6 -S21401063001F004272A2D303336393D46002100F0DB -S2140106400702C2F10802521BC0F3CF044FF0FF337A -S214010650AB4063F0FF03934019F804502B4001FAB6 -S21401066002F2134309F80430089A13461044B645BB -S2140106701DD01EF8011F0F9B032BD6D0039DDEE76E -S2140106803D460221DBE73D460499D8E73D46062173 -S214010690D5E73D465946D2E73D465146CFE73D466A -S2140106A04146CCE73D466146C9E73D46C7E70D9A58 -S2140106B002FB03330E93159B012B40F355826B4BC4 -S2140106C0D3F804801A7A10461992012202FA00F130 -S2140106D00139C9B21B9101468246587C0790C1F187 -S2140106E008010B91CAF110010D91197C0391D3F801 -S2140106F00CC093F809B0089912910C9B013B9BB270 -S21401070001FB03F11A9100210A910C9106910891BF -S2140107101092179AD3181C93012304930F9A0992E7 -S21401072004221D9205936646F5E100230E93C2E767 -S2140107304FF003090CE04FF0070909E04FF00F09ED -S21401074006E0E14604E0DDF8449001E0DDF81090B3 -S214010750F30806F0070202EB0A0BBBF1070F31D8CC -S21401076018F803300B9DAA1A43FA02F202EA0909A5 -S2140107705FFA89F916B1039B4B4533D05644CDF841 -S2140107800C90049B0693059B089304F8019FA042D6 -S21401079000F05D8169BB079B1A46072AD3D801A3DF -S2140107A053F822F04D070100310701003707010019 -S2140107B03D07010047070100470701004707010001 -S2140107C04307010018F803B043445B7803EB0B239F -S2140107D09BB20D9DAA1A43FA02F202EA09025FFAD7 -S2140107E082F9C7E7049B0A937746059B0C93194643 -S2140107F0C4E7012904D0022900F0D780F146C4E7F6 -S214010800F30806F0070202F10109B9F1070F15D83E -S21401081018F80330D2430832134103F001037A1C5F -S214010820D7B2721CBBB9079B1946072900F28E8006 -S214010830DFE801F08E8486888C8C8C8A18F8039009 -S21401084043445B7803EB09239BB2D2431032134136 -S21401085003F00103E3E70B2F0AD01646DDF80C90F0 -S214010860049B0A93059B06938FE700BF5C2B002031 -S214010870D30802F00702911D072915D818F803308E -S214010880C2F1020243FA02F202F03F070736002FD6 -S21401089040F0CF80079B1A46072A39D8DFE802F0D6 -S2140108A03B1230333838383618F8031043445B7837 -S2140108B003EB01239BB2C2F10A0243FA02F202F0F1 -S2140108C03F07E3E74FF00309F30806F0070202EBE0 -S2140108D00A01072922D818F803300B998A1A43FA15 -S2140108E002F202EA09025FFA82F95644CDF80C9048 -S2140108F0049B0A93059B0C9371460693089344E761 -S2140109004FF00709E0E74FF00F09DDE7E146DBE7C7 -S214010910DDF84490D8E7DDF81090D5E718F8031015 -S21401092043445B7803EB01239BB20D998A1A43FA81 -S21401093002F202EA09025FFA82F9D6E7032608E024 -S214010940072606E00F2604E0664602E0119E00E058 -S214010950049ED30802F0070101EB0A09B9F1070F5B -S21401096014D818F803300B9D691A43FA01F1314087 -S2140109705FFA81F902EB0A06CDF80C90049B0A9304 -S214010980059B0C93714606930893FEE618F80390B0 -S21401099043445B7803EB09239BB20D9D691A43FA26 -S2140109A001F131405FFA81F9E4E77B1E13F0FF079E -S2140109B048D1079B1A46072A0DD8DFE802F00E0435 -S2140109C006080C0C0C0A032108E0072106E00F219B -S2140109D004E0614602E0119900E00499F30806F08C -S2140109E0070202EB0A09B9F1070F13D818F803300A -S2140109F00B9DAA1A43FA02F20A405FFA82F956449C -S214010A00CDF80C90049B0A93059B0C9371460693B4 -S214010A100893BAE618F8039043445B7803EB09237E -S214010A209BB20D9DAA1A43FA02F20A405FFA82F9B6 -S214010A30E5E7DDF80C90049B0A93059B0C930221D5 -S214010A400693A2E6DDF80C90049B0A939DE6DDF87A -S214010A504C900797149F169B03F1FF3E0E9DDDF801 -S214010A603CC011961391DDF848B021E0072A40D822 -S214010A70DFE802F0042A2D303336393C0423002205 -S214010A8005F00701C1F10801C91AC5F3CF00012617 -S214010A9006FA03F35B4263F0FF038B4019F800602C -S214010AA033408A40134309F800305D44BC4222D0EB -S214010AB017F8012F9EF801305A400EF8012FBCF1AD -S214010AC0030FD3D0099BDBE704230222D8E70423D4 -S214010AD01D9AD5E704230622D2E704230922CFE78D -S214010AE004230B22CCE704230D22C9E704230F229B -S214010AF0C6E70423C4E7119EDDF84CB01A9B129A90 -S214010B0013440E9A1A440E92109B01331BB2109393 -S214010B10159A9A4215D0189B002BF5D0179B5F1E8D -S214010B203C464FF0000E199B5D1E1B9B11934FF028 -S214010B30FF0CCDF84C9059461497079F07951C98C3 -S214010B4028E6B446089BC3B9069B13B1134BC3F8FA -S214010B500CC00C9B13B1114B83F809B00A9B1BB157 -S214010B600E4B9DF81C205A7416980D4CA0471798EA -S214010B70A0470A4B1868FFF72CBB084B9DF80C20C2 -S214010B801A74E1E70020FFF724BB0020FFF721BB22 -S214010B900020FFF71EBB0020FFF71BBB5C2B0020CD -S214010BA0712501002DE9F04784B007460C469946A9 -S214010BB0092A06BF01252022002506691146494B50 -S214010BC098478046002800F08680F368002B7CD08A -S214010BD049463846434B9847034618BB002370687E -S214010BE000EBC800328A03FB02F31B114288C2F3F2 -S214010BF00B1205B15200083313441B0923804379B5 -S214010C00A3800279628090F90630E38090F907307C -S214010C102381F37CC3F38303A372002D60D05200BB -S214010C20628059E03A69D17C11F0400F3CD1D76817 -S214010C30FA7A12F0030203D0012A1BD00023CEE772 -S214010C40D7F8009008EB002304A820F8043DBA6802 -S214010C50254B0093022322F07F424946DFF890A0FD -S214010C60D04728B1A0EB09035B087A68D356B6E7EC -S214010C700023B4E7D7F8009008EB002304A840F857 -S214010C80043DBA68194B0093042322F07F4249467B -S214010C90DFF85CA0D04728B1A0EB09031B097A68EE -S214010CA0D3569CE700239AE7D1684A6812F80820D1 -S214010CB06AB18868C35C63B1013A487B09680B4432 -S214010CC000FB023212F9013C89E7002387E7002383 -S214010CD085E7002383E70025284604B0BDE8F087B2 -S214010CE00125F9E7AD000100810001009300010034 -S214010CF08541010008B5044B186820B1034B98479D -S214010D000022014B1A6008BD5C2B0020C52401009F -S214010D1010B504462C21154B98470023E3604FF489 -S214010D20F07222804FF4887262806360227A63F3E5 -S214010D304102227294F8282063F3040284F82820E2 -S214010D40228D42F4FC622285120A63F3C70284F8FC -S214010D5029202289822161F38B02228142F001023D -S214010D60227223626362636110BD00BF372B0100EC -S214010D70F8B504460D4617461E462421034B9847F0 -S214010D8025606760A560E660F8BD00BF372B0100EF -S214010D90F0B583B005463F483F4B984704460028C8 -S214010DA054D04FF4B8713D4B98472C222946204623 -S214010DB03B4B98474C2104F130003A4B98470023AF -S214010DC0C4F86C31384B1B68002B50D0364B1F686B -S214010DD01C60234603221E213448354DA847E06295 -S214010DE0344B9847002845D0E36A002B4FD0B4F81F -S214010DF068316FF30903A4F868310025C4F86C5113 -S214010E00294628462C4EB047E06329462846B04777 -S214010E10206429462846B04760642946206C274E40 -S214010E20B0472946606CB0472946206C244EB0472F -S214010E302946606CB047E06B224B98471A4B1F60FF -S214010E40E06A214B9847204603B0F0BD194B9847FE -S214010E500028F8D11D4B00937C221D4903201D4C10 -S214010E60A047002200231C481C498847FEE70E4B7A -S214010E701C60ABE7154B00938D2215490320154DD9 -S214010E80A847E26A0023144814498847FEE700246D -S214010E90D9E700BF986C0020111F0100372B010015 -S214010EA055260100F91E0100702B0020755F000019 -S214010EB0E5390100B1220000253E00009D3B0000FF -S214010EC0A129000021330000553A0100BC9102001F -S214010ED0D49102005D220100D83F0200B922000031 -S214010EE0014B1868704700BF702B0020034640B1C5 -S214010EF01A7A12F0020F0CBFB3F90000B3F9020020 -S214010F007047034B1B68002BF2D14FF4F07070470B -S214010F10702B0020034640B11A7A12F0020F0CBF64 -S214010F20B3F90200B3F900007047034B1B68002BAE -S214010F30F2D14FF488707047702B0020034618B129 -S214010F401889C0F389007047024B1B68002BF7D144 -S214010F5082207047702B002038B50546A0B1284680 -S214010F600F4B9847044628460E4B984704EB8404DB -S214010F706400B4FBF0F01D280DD931280DD94628A0 -S214010F8034BF0220032038BD074B1D684FF4F074B0 -S214010F90002DE8D0E3E7002038BD012038BD00BFB2 -S214010FA0ED0E01003D0F0100702B0020426800236A -S214010FB093614268D361704708B520B10146044881 -S214010FC0044B984708BD0248034B984708BD00BF2D -S214010FD0986C0020BD1F0100A91F010040687047E2 -S214010FE043681A6822B15868003018BF012070475C -S214010FF00020704710B50446084B9847034658B181 -S214011000B4F90020B4F9023003FB02F36268D26837 -S214011010934214BF00230123184610BDE10F0100BF -S21401102008B520B101460448044B984708BD02485C -S214011030034B984708BD00BF8C6C0020BD1F010004 -S214011040A91F0100034B00221A705A681044586009 -S214011050704700BF742B0020044B4FF0010119703C -S2140110601A78002AFBD0014B58687047742B002071 -S21401107010B50446014B9847001B10BD59100100DE -S2140110800A6A486A82421ABF800290FBF2F04FF465 -S21401109080608A69CB699B1A00FB03F002EBA020F3 -S2140110A000B2704708B50122084B1A700848094B70 -S2140110B0984728B10421054B5868074B984708BD47 -S2140110C00021024B5868044B984708BD7C2B002032 -S2140110D05C6D0020A91F0100593901002DE9F0437C -S2140110E091B06348634B984768B10146604D624CC6 -S2140110F091F83C306FF3410381F83C302846A04715 -S21401110001460028F4D15D4B98685D4B98478046B0 -S2140111105748584B98470446002800F08980574D99 -S2140111204FF00007524EDFF84C911CE013EB08031A -S21401113000F18580A268002A00F08880204690474A -S2140111401EE0214604F110004E4B984728E0626AE3 -S214011150236A9A422BDA2B78002B71D03046C84787 -S2140111600446002C64D02F7094F83C3013F0020F24 -S21401117066D143F0020384F83C30636A002BD5DD68 -S214011180636A43446362002BE5DB226A9A42B8BF76 -S21401119062622369002BD4D0214604F110009847DF -S2140111A06368002BD3D001B220689847CFE794F844 -S2140111B03C3013F0010308D1A28E002A48D04FF626 -S2140111C0FF718A424BD0013AA286A28ECAB1226B27 -S2140111D052426262E26A002ABDD0002B3BD083F005 -S2140111E0010394F83C1063F3000184F83C10A369F2 -S2140111F0E069A061E36111F0010F08BFA26B2262F2 -S214011200A9E7E26A02B133B34022214668461E4B83 -S2140112109847214630461D4B984720461C4B984719 -S2140112201C4B9847039B002B95D06846984792E73E -S214011230194B9847114B986011B0BDE8F083636273 -S214011240214630460C4B984704468AE763629CE782 -S214011250E26A002AD8D0A16A49426162BFE7226BDE -S21401126052426262E26A002A3FF475AFF3E700BFBA -S2140112705C6D0020A91F0100BD1F01007C2B002012 -S2140112807110010081100100552601009520010012 -S214011290C5240100A51001005910010038B54021F0 -S2140112A009480A4B98470A4B98470A4CA060002306 -S2140112B004221E210848094DA8476060084B98473C -S2140112C00023237038BD00BF5C6D0020F91E0100AD -S2140112D0591001007C2B0020DD100100E5390100CA -S2140112E0A510010010B5044640210D4B98474FF458 -S2140112F0FA7323620023A3616423E361094B1A781E -S21401130022745A7862749A78A274DB78E3740123A3 -S214011310A38694F8363043F0010384F8363010BDC6 -S214011320372B0100009202002DE9F84F0746894647 -S2140113301548164B984710B304464FF0000ADFF8DD -S2140113404880134EDFF854B00BE021464046D8479C -S2140113502046104B9847104B98474FF0010A2C46F1 -S2140113607DB121464046B04705462368BB42F6D1CB -S21401137063684B45E9D0B9F1000FF0D1E5E74FF0CE -S214011380000A5046BDE8F88F5C6D0020A91F0100D9 -S214011390BD1F0100C5240100A51001009520010014 -S2140113A030B583B00546416811B100681B4B9847BC -S2140113B01B481C4B9847F0B919481B4B98470446E5 -S2140113C01A4B9847E8B1A4B12B6AAB634022294671 -S2140113D02046174B984794F8363013F0010F06D085 -S2140113E0636823B1206810B1B4F918109847114BFF -S2140113F0984703B030BD104B984701380F4B9860A3 -S214011400DAE70F4B00936A220E4903200E4DA847D8 -S214011410224600230D480E498847FEE7291301009E -S2140114205C6D002045220100111F0100B122000061 -S21401143055260100A5100100591001007C2B002043 -S21401144008920200189202005D220100D83F0200B5 -S214011450B9220000F8B504460F460A480A4B9847D9 -S214011460014660B1074E094D03E03046A8470146E4 -S21401147028B10B68A342F8D14B68BB42F5D10846A8 -S214011480F8BD00BF5C6D0020A91F0100BD1F010053 -S214011490891A0029B8BF49424FF47A7202FB01F259 -S2140114A092FBF0F04FF6FF72904228BF10460028DC -S2140114B008BF012080B2704730B4B0F90050B0F9CF -S2140114C004305B1B03EBD3735B109CB20A88521B80 -S2140114D0121B49884088081A001B13FB03F310FBF4 -S2140114E000F012FB02029342B4BF0020012030BC80 -S2140114F07047013943881944C1807047B0F9042008 -S214011500B0F90030D21AB0F90630B0F90200181A54 -S214011510013002FB0000704770B4B2F90050B1F917 -S21401152000309D42B8BF1D460580B2F90230B1F9C0 -S2140115300240A342B8BF23464380B2F90440B1F942 -S2140115400460B442A8BF34468480B2F90620B1F9DB -S21401155006108A42A8BF0A46C280A54205DC93420D -S214011560CCBF0020012070BC70470020FBE710B400 -S214011570B2F90030B1F90040A342A8BF2346038068 -S214011580B2F90230B1F90240A342A8BF2346438014 -S214011590B2F90430B1F90440A342B8BF23468380B0 -S2140115A0B2F90630B1F906209342B8BF1346C3809C -S2140115B05DF8044B704700002DE9F04F85B0B1F996 -S2140115C00050B0F900E07545C0F29D80B0F9048086 -S2140115D0454500F39C80B1F90230B0F902A05345AD -S2140115E0C0F29780B0F906000190834200F3938021 -S2140115F0002A40F392808C461FFA88F91FFA8EF66D -S21401160087B21FFA8AF5ADF808E009F101039B1BC2 -S2140116101BB203EBD3747B1C5B1B1BB203EBD371B6 -S21401162064104B10A342A8BF23469342A8BF13469B -S2140116309CB22644B6B2ADF80C60ADF80AA02544BB -S214011640ADB20FFA85FBADF80EB00022CDF800C0A2 -S214011650614602A8FFF7B0FF50B12644ADF80C6012 -S2140116602C44ADF80E40009902A82E4B98474BE04B -S2140116703F1BBFB2ADF80A70BDF80430ADF80E30AE -S2140116800022009902A8FFF797FF50B12644ADF853 -S2140116900C603C1BADF80A40009902A8214B984704 -S2140116A032E0A9EB04091FFA89F9ADF80890ADF804 -S2140116B00C800022009E314602A8FFF77DFF58B13C -S2140116C0A9EB0409ADF808903C1BADF80A40314679 -S2140116D002A8144B984717E0ADF80AA0ADF80EB073 -S2140116E00022009E314602A8FFF766FFB8B1A9EBBB -S2140116F00409ADF808902C44ADF80E40314602A816 -S214011700084B984700E0002005B0BDE8F08F0020A8 -S214011710FAE70020F8E70020F6E70120F4E70120C9 -S214011720F2E700BFB9140100B0F90020B1F90430A6 -S2140117309A4214DCB0F90420B1F900309A4210DB69 -S214011740B0F90220B1F906309A420CDCB0F9060075 -S214011750B1F902309842B4BF002001207047002042 -S2140117607047002070470020704700002DE9F041C7 -S21401177082B0B0F90050B1F90030AB4214DCB0F9D8 -S2140117800240B1F902309C4214DBB0F90440B1F9D1 -S21401179004309C4210DCB0F90630B1F90640A34291 -S2140117A0CCBF0023012300E000233AB9184602B05B -S2140117B0BDE8F0810023F8E70023F6E717460C465C -S2140117C00646ADF804504388ADF8063001A9204618 -S2140117D0134B984703460028E8D0B6F9048002A9BF -S2140117E021F8048D3A4620460D4B984703460028BB -S2140117F0DCD0ADF80450F388ADF806303A4601A9BE -S2140118002046074B984703460028CFD002A921F867 -S214011810048D3A462046024B98470346C6E700BF6A -S214011820B915010030B4142A3AD8DFE812F01500D1 -S214011830430047005C00670072008D009E00B30005 -S214011840CE00D600EE00FC0004011C012A01320184 -S2140118504A01580160017801828801320488121B0E -S21401186012B202EBD2748A8801320D88521B12B270 -S21401187002EBD2725210C2EB64021A80C2880132A5 -S2140118804488121B12B202EBD274CA88013249880C -S214011890521A12B202EBD2725210C2EB64025A8092 -S2140118A01A8801880A441A805A8841880A445A804C -S2140118B030BC704700221A805A80F1E782880132D4 -S2140118C00488121B12B202EBD2748A88013209888C -S2140118D0521A12B202EBD2725210C2EB64021A8092 -S2140118E000225A80DCE782888C88121B0488121B2F -S2140118F009880A441A8000225A80D1E700221A80F9 -S214011900C288CC88121B4488121B49880A445A8014 -S214011910C6E7828801320488121B12B202EBD27427 -S2140119208A8801320D88521B12B202EBD272521013 -S214011930C2EB64021A80C288CC88121B4488121B30 -S21401194049880A445A80ABE782888C88121B04882F -S214011950121B0C8822441A80C288CC88121B448829 -S214011960121B49880A445A809AE700221A80C288C4 -S21401197001324488121B12B202EBD274CA880132B9 -S2140119804988521A12B202EBD2725210C2EB6402AA -S2140119905A8085E782888C88121B0488121B0C8863 -S2140119A022441A80C28801324488121B12B202EB0A -S2140119B0D274CA8801324988521A12B202EBD27224 -S2140119C05210C2EB64025A806AE700221A80CA8863 -S2140119D04988521AD2435A8062E7828801320488C3 -S2140119E0121B12B202EBD2748A8801320D88521B86 -S2140119F012B202EBD2725210C2EB64021A80CA888B -S214011A004988521AD2435A804AE782888C88121B28 -S214011A100488121B0C8822441A80CA884988521AE4 -S214011A20D2435A803CE700221A80C288013241889C -S214011A30521A5A8034E7828801320488121B12B285 -S214011A4002EBD2748A8801320988521A12B202EB6A -S214011A50D2725210C2EB64021A80C28801324188E7 -S214011A60521A5A801CE782888C88121B0488121B23 -S214011A7009880A441A80C28801324188521A5A805B -S214011A800EE78A880988521AD2431A8000225A80A1 -S214011A9006E78A880C88121BD2431A80C288013254 -S214011AA04488121B12B202EBD274CA8801324988EA -S214011AB0521A12B202EBD2725210C2EB64025A8070 -S214011AC0EEE68A880C88121BD2431A80C288CC881C -S214011AD0121B4488121B49880A445A80E0E6828811 -S214011AE001320188521A1A8000225A80D8E682886A -S214011AF001320488121B1A80C28801324488121BE4 -S214011B0012B202EBD274CA8801324988521A12B252 -S214011B1002EBD2725210C2EB64025A80C0E682888F -S214011B2001320488121B1A80C288CC88121B448892 -S214011B30121B49880A445A80B2E630B48DB210F0BE -S214011B40030F1CBF20F8021B02F1FF3205EB054113 -S214011B50102A21D900F12003144643F8201C43F82B -S214011B601C1C43F8181C43F8141C43F8101C43F8BB -S214011B700C1C43F8081C43F8041C103C2033102CA2 -S214011B80EBD8A2F111031B09591C103AC3EB0373DE -S214011B9002EB031200EB41101AB120F8025B013A86 -S214011BA0FBD130BC704730B4C1EB4115C1F1FF0425 -S214011BB0C0F3C42304FB035303EB032203EBC2135A -S214011BC0C3F3C452C0F34513C1EB811104FB0311E7 -S214011BD001EB012301EBC311C1F3C55100F01F0056 -S214011BE004FB005000EB002300EBC310C30D4FF0C5 -S214011BF0000063F3040061F34A1062F3CF2030BCA7 -S214011C00704710B4C1F1FF01C0F3C42301FB03F315 -S214011C1003EB032203EBC213C3F3C453C0F3451211 -S214011C2001FB02F202EB022402EBC412C2F3C5521C -S214011C3000F01F0001FB00F101EB012001EBC011D8 -S214011C40C90D4FF0000061F3040062F34A1063F31C -S214011C50CF205DF8044B7047421C43781BB908E05F -S214011C6012F8013F2BB13A2BFAD05C2BF8D02F2B70 -S214011C70F6D010467047000008B544210148024BD3 -S214011C80984708BD306D0020F91E010038B543683D -S214011C9073B11A6972B10446016818469047054641 -S214011CA02068054B9847002323606360284638BDAB -S214011CB00B25FBE70925F9E7C5240100F0B585B03A -S214011CC01E460BB10023336045688DB1AF698FB1F5 -S214011CD013460A46044604A8002140F8041D21685C -S214011CE000902846B8470EB1039B336005B0F0BD9F -S214011CF00B20FBE70920F9E738B5446834B1256ABB -S214011D0035B10A4601682046A84738BD0B2038BDC4 -S214011D10092038BD70B5044609480A4B9847014664 -S214011D2058B10378A34208D0054E074D3046A84760 -S214011D30014610B10B78A342F8D1084670BD00BF2A -S214011D40306D0020A91F0100BD1F01002DE9F043E1 -S214011D5083B0002343600360002945D00D469146B9 -S214011D6004460878244B9847606040B1836853B1B5 -S214011D70984740B9002363602360012535E00023BE -S214011D802360032531E0636858881C4B9847206020 -S214011D901B4B984728B1266886B9002363600A253D -S214011DA023E0184B00936F2217490320174DA847CD -S214011DB022680023164817498847FEE7D4F80480AE -S214011DC0D8F80C70AFB12846134B98474B460246DD -S214011DD031464046B847054638B120680F4B98470C -S214011DE000232360636000E00B25284603B0BDE8AE -S214011DF0F0830925F9E700BF151D0100DD23010069 -S214011E00B122000058920200749202005D22010085 -S214011E10D83F0200B9220000591C0100C524010068 -S214011E2010B50446124B9847C8B102462118235CE8 -S214011E302E2B0FD02F2B14D05C2B14D0013A0CD0A4 -S214011E4011F8013D2E2B05D02F2B0ED05C2BF5D192 -S214011E50084810BD0132A01810BD064810BD05483F -S214011E6010BD044810BD034810BD024810BD00BF98 -S214011E701FB50100044F020010B582B0019281B176 -S214011E800C4682B103680433CA189DF80410E15465 -S214011E909DF8053053709DF8063093709DF8073015 -S214011EA0D37002B010BD0068043004212044014BF9 -S214011EB09847F6E7372B010000B583B0019281B150 -S214011EC00A46019B83B1016853189DF804005054DB -S214011ED09DF805205A709DF806209A709DF80720F7 -S214011EE0DA7003B05DF804FB006804211044014B6E -S214011EF09847F6E7372B010000234360836011F013 -S214011F00030F1CBF21F0030104310160704700007C -S214011F1038B50446006808300D4B9847054690B121 -S214011F200022014620460B4B984762682946204608 -S214011F30094B9847616819B12A462046054B9847D0 -S214011F406560A3680BB1284638BDA560FBE700BFF6 -S214011F50DD230100B91E0100791E010038B50446D3 -S214011F60006808300D4B9847054690B1002201469F -S214011F7020460B4B9847A26829462046094B9847AE -S214011F80A16819B12A462046054B9847A5606368A3 -S214011F900BB1284638BD6560FBE700BFDD230100B5 -S214011FA0791E0100B91E010008B140687047002083 -S214011FB0704708B1806870470020704782B00023E0 -S214011FC0019370B103680433CA18CB5C8DF80430F2 -S214011FD053788DF8053093788DF80630D3788DF8E0 -S214011FE00730019802B0704782B00023019368B1B0 -S214011FF002688B188A5C8DF804205A788DF80520C3 -S2140120009A788DF80620DB788DF80730019802B0B3 -S2140120107047000060B32DE9F041044651B30D4608 -S2140120204368994220D000680830154B9847064609 -S21401203018B329462046134B984780463246014638 -S2140120402046114FB847424631462046DFF84080C9 -S214012050C047324629462046C0472A4631462046D2 -S214012060B8473046BDE8F081084B9847BDE8F08197 -S214012070002070470846BDE8F081BDE8F08100BF4A -S214012080DD230100E91F0100791E0100111F010077 -S214012090B91E010070B50D46044650B34368994217 -S2140120A029D08368994217D029462046184B98476D -S2140120B0064629462046174B9847054602463146AE -S2140120C02046154B9847324629462046134B9847DB -S2140120D070BD0023A36070BD0D4B9847A06028B16A -S2140120E00022014620460C4B984770BD00236360D2 -S2140120F070BD0029D8D129462046064B9847606016 -S2140121000028E6D0002201462046044B984770BDC1 -S214012110E91F0100BD1F0100791E0100B91E010063 -S21401212070B50C4615461E461146174B9847AEB17C -S214012130002229462046154B9847626829462046C4 -S214012140134B9847616819B12A4620460F4B9847AA -S2140121506560A36803B170BDA56070BDA26829461D -S21401216020460A4B9847002229462046084B9847A6 -S214012170A16819B12A462046054B9847A5606368B1 -S214012180002BE8D16560E6E795200100B91E010045 -S214012190791E010091424CD02DE9F84317460C46B2 -S2140121A0054612B31146234B9847064684421AD079 -S2140121B021462846204B9847224631462846DFF8D6 -S2140121C07C80C047324621462846DFF87490C847CF -S2140121D0224639462846C8473A4621462846C04739 -S2140121E006B3BDE8F883BDE8F883F0B18668B4426B -S2140121F01DD021462846104B984722463146284690 -S2140122000E4FB847324621462846DFF83480C0478D -S214012210224600212846C047002221462846B847C4 -S214012220AC60DDE76C60BDE8F8831646DFE7BDE825 -S214012230F8837047E91F010095200100791E01000F -S214012240B91E010040B142680AB10020704780689B -S214012250B0FA80F040097047012070472DE9F0413F -S214012260C4B0441EE4B2042C15D81F4616460D46CB -S21401227080464BAB03934A9A4FF4807104A8074CEF -S214012280A047074B1C6834B104AB00933B4632466B -S21401229029464046A04744B0BDE8F081CD3501004F -S2140122A0882B00201B4B83FB00231A18C317C3EB94 -S2140122B022234FF4B47202FB130000B20028BCBF05 -S2140122C0801800B2592813DD80B2A0F15A039BB2E0 -S2140122D0592B11D9A0F1B4039BB2592B13D9C0F5D0 -S2140122E0B47000B20C4B33F81000404200B2704795 -S2140122F0094B33F910007047C0F1B40000B2064B29 -S21401230033F9100070471BB2034A32F813004042FB -S21401231000B27047B7600BB69C92020030B4000260 -S2140123200024131903FB03F5A84228BF1C465208D4 -S214012330F7D123090B802401E4B24C8030BC7047EE -S214012340034660B104301B6800EB5300021D054BC9 -S2140123501B6803F580439A4228BF00207047014B53 -S214012360186870478C2B002011F0030F1CBF21F05A -S214012370030104310368C3F35E030A1D934217D0B9 -S214012380994216D010B4021D535C6FF300035354E8 -S2140123900368C3F35E03043B5B1A545863F35F049C -S2140123A05450036861F35F0303605DF8044B7047A4 -S2140123B01146036861F35F0303607047064B1A1DFD -S2140123C01A601A796FF300021A715A6843F6FC71A3 -S2140123D061F35F025A6070478C2B002000282ED0D4 -S2140123E0F0B583B0054610F0030F1CBF20F00305BF -S2140123F004350024134E144F08E02946B8472378C5 -S21401240043F00103204600F8043BB0B92046B0472C -S214012410044648B1037813F0010FF7D10368C3F3FC -S2140124205E039D42E9D9F1E7084B0093084BD122A0 -S21401243008490220084CA047002003B0F0BD074819 -S214012440704700BF4123010069230100C0930200C9 -S21401245054930200989302005D220100906B0020C5 -S21401246038B50020164B98470446154D1BE038BD7D -S2140124702046A847014608B3037813F0010F11D18F -S2140124802368C3F35E020432086802EB500262F36B -S2140124905F0323600846A847014670B10B7813F026 -S2140124A0010FEDD00C46002CE1D0237813F0010F7C -S2140124B0DED02046A8470446F5E738BD38BD00BF44 -S2140124C04123010038B51E4B984238D0002836D03B -S2140124D0044610F8043C6FF3000300F8043C194A64 -S2140124E0B2F8203D01339BB2A2F8203D0F2B20D835 -S2140124F00438154B9847014608B3037813F0010FCB -S21401250015D1114D54F8043CC3F35E020432086839 -S21401251002EB500262F35F0344F8043C0846A84706 -S214012520014628B10B7813F0010FEBD038BD38BD4A -S21401253038BD0022034BA3F8202D044B984738BD25 -S214012540906B0020745E002041230100612401008D -S21401255038B1064A904206D050F8040CC0F35E002B -S2140125607047002070470020704700BF906B002026 -S2140125701B4B1B68984220D0194B9B68834208BFAF -S21401258001221BD010B582B0164B1B6898421DD095 -S214012590012314491C4651F83320904217D00133C9 -S2140125A0102BF7D1104B0093104B40F232221049FA -S2140125B00320104CA04702B010BD0022084B03EBCD -S2140125C0C2039A796FF300029A7170470024054B93 -S2140125D003EBC404A3796FF30003A371EBE700BF19 -S2140125E044000020B06C0020DC93020064930200DB -S2140125F0989302005D2201002DE9F041124B9A7971 -S2140126006FF300029A719A7B6FF300029A730F4C74 -S2140126100025DFF83C802E46271F03E001350834ED -S214012620102D0ED054F8040C0028F7D0C04744F8FB -S214012630046C07EBC5039A7966F300029A7126804B -S214012640ECE7BDE8F08100BF44000020B46C002038 -S214012650C5240100F0B400F0030301F00304A34213 -S21401266000F0A680202A40F2A18000F1200401F1AA -S2140126702003154613F8206C04F8206C13F81F6C21 -S21401268004F81F6C13F81E6C04F81E6C13F81D6C0E -S21401269004F81D6C13F81C6C04F81C6C13F81B6C06 -S2140126A004F81B6C13F81A6C04F81A6C13F8196CFE -S2140126B004F8196C13F8186C04F8186C13F8176CF6 -S2140126C004F8176C13F8166C04F8166C13F8156CEE -S2140126D004F8156C13F8146C04F8146C13F8136CE6 -S2140126E004F8136C13F8126C04F8126C13F8116CDE -S2140126F004F8116C13F8106C04F8106C13F80F6CD6 -S21401270004F80F6C13F80E6C04F80E6C13F80D6CCD -S21401271004F80D6C13F80C6C04F80C6C13F80B6CC5 -S21401272004F80B6C13F80A6C04F80A6C13F8096CBD -S21401273004F8096C13F8086C04F8086C13F8076CB5 -S21401274004F8076C13F8066C04F8066C13F8056CAD -S21401275004F8056C13F8046C04F8046C13F8036CA5 -S21401276004F8036C13F8026C04F8026C13F8016C9D -S21401277004F8016C203D20342033202D3FF67AAF3B -S214012780A2F1210525F01F04203403192144203A23 -S21401279025F01F05521B3AB101391A4411F8014FB1 -S2140127A003F8014B9A42F9D1F0BC70470346F2E7B1 -S2140127B0002B5BD10546202A34D905F1200401F10E -S2140127C02003164653F8207C44F8207C53F81C7CE2 -S2140127D044F81C7C53F8187C44F8187C53F8147C95 -S2140127E044F8147C53F8107C44F8107C53F80C7CA5 -S2140127F044F80C7C53F8087C44F8087C53F8047CB5 -S21401280044F8047C203E20342033202EDAD8A2F16E -S214012810210323F01F04203425442144203A23F0C9 -S2140128201F03D21A042A32D90E1F2C46134656F815 -S214012830047F44F8047B043B042BF8D8541F24F08F -S21401284003030433043A24F00304121B19442B44F3 -S214012850002AA9D001391A4411F8014F03F8014B97 -S2140128609342F9D1A0E729461D46A4E7C3F1040324 -S2140128707AB1C418034611F8015B03F8015B0D46F3 -S214012880013AA342EFD0002AF5D10022E0E72B4619 -S214012890DEE70346F9E70000F0B583B004460D46CF -S2140128A011F0030F1CBF21F00305043538B110F8F1 -S2140128B0043C03F00103002B14BF04460024204609 -S2140128C0154B98470646854224D011D32846134B0C -S2140128D098470746A0B184B17EB12A46B54228BFC3 -S2140128E0324621460E4B984720460E4B984704E049 -S2140128F02946201F0C4B98472746384603B0F0BDA3 -S2140129000A4B00930A4B40F23F120A4902200A4C36 -S214012910A047F2E72746F0E751250100DD23010035 -S21401292055260100C524010069230100C093020059 -S21401293078930200989302005D220100002800F0BF -S2140129408D80014610280BD8454B9B7913F0010F5B -S2140129500ED0434B9B7B13F0010F08BF012008D01C -S21401296070B582B03F4A00234FF0FF36144619E097 -S21401297000203B4A02EBC0018B7943F001038B71C7 -S21401298052F830007047374A02EBC3018B7943F0A7 -S21401299001038B7152F8350023E05EB20133083231 -S2140129A0102B13D01D4604EBC300807910F0010FE5 -S2140129B0F4D190888142F1D8E5D0002EEDDB04EB0E -S2140129C0C605AD88854288BF5EB2E7E7002E0ADB02 -S2140129D0244A02EBC6018B7943F001038B7152F84E -S2140129E0360002B070BD1F4B9B7913F0010F08BF74 -S2140129F0002416D001231B481C4600EBC302927923 -S214012A0012F0010F0DD00133102BF5D1164B0093A8 -S214012A10164B40F2162216490320164CA0470020FA -S214012A20DFE7104D05EBC4039A7942F001029A7173 -S214012A30998055F83400104B984745F8340018B182 -S214012A40084B53F83400CCE70C4B0093074B4FF47C -S214012A50047207490320074DA847F1E70020704795 -S214012A6044000020B06C00206C94020088930200A1 -S214012A70989302005D220100992801000894020043 -S214012A8010F0030313D0C3F104033AB1034400F872 -S214012A90011B013A98420AD0002AF8D10022002AE6 -S214012AA048D0024400F8011B9042FBD1704730B475 -S214012AB001EB012404EB014404EB0164202A20D934 -S214012AC000F12003154643F8204C43F81C4C43F80C -S214012AD0184C43F8144C43F8104C43F80C4C43F88C -S214012AE0084C43F8044C203D2033202DEBD8A2F1AE -S214012AF0210323F01F0520352844203A23F01F0325 -S214012B00D21A042A0FD90546134645F8044B043B4E -S214012B10042BFAD8531F23F003040434043A23F099 -S214012B200303D21A204422B1024400F8011B90424A -S214012B30FBD130BC704710F0030341D110B42029FB -S214012B4021D900F120030C46002243F8202C43F83B -S214012B501C2C43F8182C43F8142C43F8102C43F87B -S214012B600C2C43F8082C43F8042C203C2033202C52 -S214012B70EBD8A1F1210323F01F02203210442039A3 -S214012B8023F01F03C91A042910D902460B46002454 -S214012B9042F8044B043B042BFAD84B1F23F00302E4 -S214012BA00432043923F00303C91A104429B101443D -S214012BB0002300F8013B8842FBD15DF8044B7047C7 -S214012BC0C3F1040341B10344002200F8012B01398B -S214012BD09842B3D00029F8D100210029EFD0014452 -S214012BE0002300F8013B8842FBD1704710F0030335 -S214012BF043D110B4202922D900F120030C464FF00E -S214012C00FF3243F8202C43F81C2C43F8182C43F8C9 -S214012C10142C43F8102C43F80C2C43F8082C43F8DA -S214012C20042C203C2033202CEBD8A1F1210323F0E7 -S214012C301F0220321044203923F01F03C91A042929 -S214012C4011D902460B464FF0FF3442F8044B043BC1 -S214012C50042BFAD84B1F23F003020432043923F065 -S214012C600303C91A104429B10144FF2300F8013BAC -S214012C708842FBD15DF8044B7047C3F1040341B1B0 -S214012C800344FF2200F8012B01399842B1D00029F4 -S214012C90F8D100210029EFD00144FF2300F8013BC1 -S214012CA08842FBD170479A4238BF885470477047B4 -S214012CB02DE9F04F83B00746009193469846DDF81C -S214012CC030900D9C9DF838501099DDF844A0129A6A -S214012CD012F00203019335D1BAF1000F0ED012F0B3 -S214012CE0010F00F0B68015B912F00C0F01D00AF1F1 -S214012CF0FF3A8C4213D21F2C04D910E08C420BD21F -S214012D001F2C09D809EB04033020013403F8010B0A -S214012D10A14201D9202CF8D112F0010F12D0A24500 -S214012D2010D91F2C09D809EB04033020013403F80D -S214012D30010B544505D0202CF8D112F0100F04D108 -S214012D4044E0A24612F0100F13D012F4806F04D1A3 -S214012D501CB1A1421BD0544519D00F9B102B1ED07D -S214012D600F9B022B27D01F2C30D8302309F80430B4 -S214012D7001341F2C2AD82DBB12F0040F3AD112F0C1 -S214012D80080F23D0202309F8043001341EE0631E07 -S214012D900FD00F99102901D01C46E1E7023C12F032 -S214012DA0200F5DD11F2CDED8782309F804300134BA -S214012DB0D9E71C46D1E71F2C08D8622309F804304E -S214012DC00134D0E72D2309F80430013412F0030F43 -S214012DD015D1544528BF5E4612D20BEB0A052D1BB2 -S214012DE05A46561C434600992020B8473246AE4202 -S214012DF0F7D105E02B2309F804300134E6E75E46F7 -S214012E0035465CB1A14434443246551C43460099CC -S214012E1019F8010DB8472A46AC42F6D1019BA3B179 -S214012E20A5EB0B03534512D220262A46009D541CBF -S214012E30434629463046B8472246A4EB0B03534582 -S214012E40F5D3204603B0BDE8F08F2C46F9E72C46B3 -S214012E50F7E78C42BFF476AF1F2C7FF653AF71E7CE -S214012E601F2CB3D8582309F8043001347BE700003F -S214012E702DE9F04190B0169D189EDDF86C802DB9B5 -S214012E8028F0100418F4806F2FD1A04618F0200FF8 -S214012E900DF11F0E4FF0000714BF4FF0370C4FF027 -S214012EA0570CB5FBF6F406FB1454E4B20137092CB3 -S214012EB094BF30346444E4B20EF8014FB5FBF6F526 -S214012EC00DB1202FEDD1CDF818801A9C0594199CD0 -S214012ED0049403969DF85C400294019708AC009414 -S214012EE0034CA04710B0BDE8F081A0460027EAE7F2 -S214012EF0B12C01002DE9F04F95B0089009910A9286 -S214012F000B93DDE91E45DDF88890DDF88C8054EAE8 -S214012F10050307D1269B23F01003269A12F4806F2F -S214012F203ED12693269B13F0200F0DF12F0A4FF06A -S214012F3000061D4F14BF4FF0370B4FF0570B4A4694 -S214012F40434620462946B847D2B20136092A94BFDD -S214012F5030325A44D2B20AF8012F4A464346204636 -S214012F602946B84704460D4654EA050301D0202EEB -S214012F70E5D1269B0693259B0593249B0493CDF8C8 -S214012F800C909DF88030029301960CAB00930B9B3E -S214012F900A9A09990898054CA04715B0BDE8F08F24 -S214012FA026930026E5E700BF85B10100B12C01009C -S214012FB02DE9F04F91B00A921C461A9E0B91934B45 -S214012FC0002914BF814699464FF0000B207800284F -S214012FD000F06A82252808D00BF101050A9B5A46A3 -S214012FE00B99C8470134AB46F0E7621C002101E0AB -S214012FF041F00101144601322378203B102B31D8D1 -S21401300001A050F823F000BF5930010065300100DF -S214013010653001005F300100653001006530010058 -S2140130206530010065300100653001006530010042 -S2140130306530010053300100653001004D3001005C -S2140130406530010065300100F12F010041F00201F9 -S214013050D0E741F00401CDE741F00801CAE741F0AD -S2140130601001C7E72378A3F13002D2B2092A16D994 -S2140130702A2B22D0002523782E2B28D00027237830 -S214013080683B122B4FD8DFE803F0AA4EB84E454EE8 -S2140130904E4E4E4E4E4EB44E4E4E4E4EBC0000253B -S2140130A005EB850503EB4505303D14F8013FA3F11B -S2140130B03002D2B2092AF3D9DDE7331D3568002D77 -S2140130C0BCBF41F002016D4201341E46D3E741F414 -S2140130D08061601C6378A3F13002D2B2092A04D958 -S2140130E02A2B11D004460027C9E7002707EB8707DC -S2140130F003EB4707303F10F8013FA3F13002D2B28D -S214013100092AF3D90446BAE7376827EAE77702348B -S2140131100436B4E763786C2B19BF41F4807101342F -S21401312041F4407102342078A0F12503532B00F2BC -S214013130B281DFE813F0A601B001B001B001B00121 +S21400104038B5054C40256561044B9847802363619D +S214001050A361A56138BD00BF0080004111100000EB +S2140010608BB12DE9F0410F460646144602EB4305C8 +S214001070DFF8148034F8022B39463046C047AC42BD +S214001080F8D1BDE8F0817047411000002DE9F04F1F +S21400109083B08B4600924001C3B201930026DFF86E +S2140010A0949165E009EBC7135D60AAB242F08042F6 +S2140010B09A622A0C42F040429A62009B1B78012BEF +S2140010C077D023B3022B00F0848089225749002072 +S2140010D0574B984724E009EBC7125560ABB243F074 +S2140010E0804343F4003393622B0C43F0404343F4B5 +S2140010F000339362E1E709EBC7139D60AAB242F0A2 +S21400110080429A622A0C42F040429A62D5E709EB86 +S214001110C713434493F8402002F0FB0283F84020B4 +S214001120009B5A686409B2F1FF3F62D0E4B209EB53 +S214001130C411414491F8403003F0FE0343F001032C +S21400114081F840301AF0010F5ED109EBC41404EBAD +S214001150580898F8303003F0F00302F00F021A43F4 +S21400116088F8302009EBC7177D610136202E59D04C +S214001170F4B22BFA06F313F0010FF6D004F01F04B6 +S214001180019B1C445FFA84FA4FEA5A170AF01F08BC +S214001190012505FA08F5009B5B78012B9BD0002BF8 +S2140011A080D0022BA7D0462220490020204B98470B +S2140011B083E7012303FA08F309EBC712536002EB37 +S2140011C0080090F8401041F0040180F84010936148 +S2140011D0A6E7012303FA08F309EBC712536002EBF4 +S2140011E0080090F8401041F0040180F84010536168 +S2140011F096E7E4B209EBC414A04498F8403003F034 +S214001200FE0388F84030ADE709EBC41404EB580839 +S21400121098F8303003F00F0343EA0212D2B288F88F +S21400122030209FE703B0BDE8F08F00BF18B501007F +S214001230BD1900000080004170B582B00023009305 +S21400124002238DF801304FF0FF3301936A463F4981 +S21400125001203F4B98473F4B40269E603E4A9A628D +S2140012604FF040429A6293F8461001F0FB0183F873 +S214001270461093F8461001F0FE0183F8461010253C +S2140012809D60364999629A6293F8441001F0FB011A +S21400129083F8441093F8441001F0FE0183F84410DC +S2140012A008249C602E4999629A6293F8431001F0D4 +S2140012B0FB0183F8431093F8431001F0FE0183F816 +S2140012C043102021996001F1804199629A6293F857 +S2140012D0451001F0FB0183F8451093F8451001F026 +S2140012E0FE0183F84510802098601E4999629A6234 +S2140012F093F8472002F0FB0283F8472093F8472034 +S21400130002F0FE0283F847204FF48072C3F884216F +S21400131001F500318031C3F8A8111349C3F8A811AC +S214001320C3F8842193F8C81141F0040183F8C8116A +S214001330C3F8942193F8C82102F0FE0283F8C8216E +S2140013409E619D619C61986102B070BDF7C3031CED +S2140013508D1000000080004140000040100000405A +S2140013600800004080000040000002C070470000F7 +S21400137008B50649D1E90023013243F10003C1E96B +S21400138000230120024B984708BD00BF98000020AC +S2140013902D10010010B51148114B9847114A53699A +S2140013A043F48043536140220F4BC3F8A4200F4BF5 +S2140013B098470F4C02460F4920460F4B98470F4957 +S2140013C001230B610E4A4A610B76083120460D4B0D +S2140013D0984720460C4B984710BD00BF10E000E031 +S2140013E0D514000000080040001C00403321000017 +S2140013F0046C0020003800403116000098000020E1 +S21400140071130000A91600006D16000030B583B0F9 +S2140014101F4B4022C3F8DC204322C3F88C201D4A11 +S214001420936943F4007393611B4C002300931023CD +S2140014301A4A1B4920461B4DA8471B4B93F8D82039 +S21400144002F0FE0242F0010283F8D82093F8BC2096 +S21400145002F0F00242F0030283F8BC2093F8D92091 +S21400146002F0FE0242F0010283F8D92093F8BC2075 +S21400147002F00F0242F0300283F8BC2020460B4BED +S21400148098470C220A4920460A4B984703B030BDBD +S214001490001C004000080040206C0020B400002023 +S2140014A00020014101190000008000419119000050 +S2140014B00400002029150000EFF31083036072B6C5 +S2140014C0BFF35F8F7047BFF35F8F036883F31088A7 +S2140014D07047000008B5024B1860024B984708BDDD +S2140014E0C4000020711B000010B5044B1C68044BA0 +S2140014F0984701462046034B984710BDC40000207D +S214001500391B0000791B000010B5044B1C68044B07 +S214001510984701462046034B984710BDC40000205C +S214001520511B0000791B000070B50D461646044698 +S21400153060B1081C18BF012034220549054B9847A6 +S2140015402368324629462046984770BD0020F3E7B8 +S21400155034B50100BD190000F8B5844607682FB100 +S2140015608D683C460026C2F1010E0BE00E4B9847F4 +S214001570F8BD7344A0680344AB420AD223682646EB +S21400158053B11C4663689342F3D8A06803449B1A81 +S214001590F2E7A74204D034462046044B9847F8BDED +S2140015A06046014B9847F8BDE5190000111A000087 +S2140015B02DE9F0474469076901370761037E13F098 +S2140015C0010F13D1037E13F0020F0FD154B36368DB +S2140015D0FB1AA268934207D3064600F11408DFF808 +S2140015E04890DFF848A012E0BDE8F087037E43F09D +S2140015F002030376BDE8F0877569E36820469847DE +S21400160085B12C466B68FB1AAA6893420AD34046FB +S214001610C847237C012BEFD167603A4621464046F7 +S214001620D047E9E7BDE8F087191A00005915000011 +S21400163038B50D46044678B1081C18BF01203B2279 +S2140016400649074B984729462046064B98470020F0 +S2140016502061054B236038BD0020F0E748B5010047 +S214001660BD190000651F0000B115000010B5044646 +S21400167053220949003018BF0120084B98472046DE +S214001680074B984720B92046064B9847002010BDC8 +S2140016906FF0100010BD00BF48B50100BD19000076 +S2140016A0212100000D21000070B582B00D460446D1 +S2140016B018B3081C18BF01207A221E491E4B9847F3 +S2140016C0237E43F00103237604F1140629463046B0 +S2140016D01A4B984798B923696B60226929463046A9 +S2140016E0174B9847237E03F0FE032376237E13F0E2 +S2140016F0020F10D1002002B070BD0020DCE7237E70 +S21400170003F0FE0323767F220A4900200A4B9847FF +S2140017106FF01100EFE701A80A4B9847237E03F00D +S214001720FD0323762046084B984701A8074B9847A9 +S2140017300020E0E748B50100BD190000C31900000D +S21400174059150000B914000039210000C714000024 +S21400175008B500238362C3691BB1A0F108021046D6 +S214001760984708BD08B500238362436A1BB1A0F101 +S21400177008021046984708BD38B50446A0F108058B +S2140017802C30034B9847236A0BB12846984738BD40 +S214001790B91A000070B50E4615460446E0B1E9B128 +S2140017A0101C18BF012040F23B120F490F4B984700 +S2140017B0B4F84420B4F84C309A4211D1A664A4F888 +S2140017C04C500023A4F844300123236304F108009E +S2140017D0074B9847284670BD0020E4E70020E2E764 +S2140017E06FF01B0070BD00BF60B50100BD190000A2 +S2140017F0A31E000010B50446838FB0F844209A421A +S21400180009D0026C591C8187D15C044B984720464E +S214001810034B984710BD034B984710BD9D1E000014 +S214001820A31E0000AB1E00002DE9F04782B00F4655 +S21400183090460646A0B199B1002A2DD14FF4AC725D +S21400184029490020294B984701A8294B984706F1BB +S2140018503400284B984701A8274B984700253EE0C0 +S2140018604FF4AC7220490020204B984701A8204B2B +S214001870984706F1340A50461E4B9847814601A801 +S2140018801D4B9847B9F1000F04D0B8F1000F19D1DD +S214001890002524E0002522E04FF4AC721249012016 +S2140018A0124B984701A8124B984706F1340A504647 +S2140018B0104B9847814601A80F4B98470025B9F171 +S2140018C0000F0CD000240D4E601C85B2391950460E +S2140018D0B04701344C4502D2A3B29845F4D8284606 +S2140018E002B0BDE8F08700BF60B50100BD1900007A +S2140018F0B9140000F91A0000C7140000751A000099 +S214001900F8B50D4616461F46044620B329B332B333 +S214001910181C18BF01203A221349144B98473A4620 +S214001920314604F13400124B9847D0B9294604F1E9 +S2140019300800104B9847034658B90F4A62600F4A92 +S21400194022600F4AA2600F4AE2600F4A22610F4AE5 +S21400195062611846F8BD0020DDE70020DBE70020C6 +S214001960D9E76FF00C03F4E760B50100BD1900007D +S214001970251A0000051E0000291800009517000013 +S214001980F5170000791700005117000065170000D2 +S21400199010B5044661220649003018BF0120054BE9 +S2140019A0984704F10800044B9847002010BD00BF7C +S2140019B060B50100BD190000891E000000B900BE18 +S2140019C0704703684BB18B4209D01B681BB1994224 +S2140019D0FBD101207047002070470020704701208F +S2140019E07047000038B504460D46064B984780F011 +S2140019F0010039220449C0B2044B984723682B6083 +S214001A00256038BDC319000080B50100BD1900006F +S214001A1003680B600160704703680BB11A680260C8 +S214001A201846704770B50E461546044678B181B123 +S214001A30A2B1012028220D490D4B98476B1E1D426E +S214001A4009D163600020A060E060266070BD0020C1 +S214001A50F0E70020EEE76FF00C0070BD2822034987 +S214001A600020034B98476B1EEBE700BFA0B50100B4 +S214001A70BD19000038B50D460446A0B1081C18BFB5 +S214001A80012040220A490B4B9847A368E2689A4215 +S214001A900BD0626813402268D35C2B70A3680133B6 +S214001AA0A360002038BD0020EBE76FF0090038BDCA +S214001AB0A0B50100BD19000038B50D4604465122F8 +S214001AC00B49003018BF01200A4B9847E36862684C +S214001AD013402268D554E3686168A2689A1A8A425D +S214001AE084BF591AA1600133E360002038BD00BFEF +S214001AF0A0B50100BD19000010B5044667220549CF +S214001B00003018BF0120044B9847E068A368C01A4D +S214001B1010BD00BFA0B50100BD190000430900F0CC +S214001B201F00012202FA00F04033024A42F8230066 +S214001B30704700BF00E100E0C0EBC00000EB001003 +S214001B400230024BA3FB003040087047ABAAAAAA9B +S214001B50C0EBC00000EB00100230044BA3FB0030CB +S214001B6040084FF47A7303FB00F07047ABAAAAAAAA +S214001B7070470000000000000139FDD8704700BF24 +S214001B8008B5094A13889BB243F4A0631380074B39 +S214001B909847074B9847074B9847074B984740F698 +S214001BA0FF70064B984708BD00400041F11B00003F +S214001BB0111C0000E51B0000151C0000C11B0000E6 +S214001BC010F0010F08D0054A054B1A62194643F675 +S214001BD0FD724B681342FCD1704700BF070101003D +S214001BE0001C00400122014B5A717047000800405B +S214001BF0064B42F28E329A8200229A75DA75DA69BC +S214001C0002F47C52DA6101221A7470470014004014 +S214001C10704700000E4A0F4B5A631A46D36B13F0F8 +S214001C20060FFBD10B4B4FF402629A63022283F835 +S214001C3030201A46D36B13F0020FFBD1054B1A6CFB +S214001C4012F0010F03D11A6C12F0020FF7D0704792 +S214001C504D0E01000010004000B583B00D4B9B7880 +S214001C60DBB20193019B13F0020F06D00A4B1B68F0 +S214001C701BB1084A5068984709E0019B13F0010F12 +S214001C8005D0054B5B6813B1024A5068984703B00D +S214001C905DF804FB00000241706C002070B489B04F +S214001CA006466C460D4D0FCD0FC495E80F0084E830 +S214001CB00F00009BB3420DD0314601AB012053F814 +S214001CC0042B8A4207D001300828F8D1002009B03A +S214001CD070BC70470020C0B2F9E700BFC4B5010071 +S214001CE010B58469237E13F0010F03D0A37D13F093 +S214001CF0010F12D1237E13F0020F03D0A37D13F041 +S214001D00020F0FD1237E13F0040F15D0638B03F060 +S214001D10370363B1FF23638310BD01232375036874 +S214001D20984710BD022323758368984710BDA16AA3 +S214001D304368C9B2984710BD237EDB0900D110BDA9 +S214001D4080232376C3689847638B9BB26383F6E74A +S214001D5008B5034B984780002E3000F0FE0008BD03 +S214001D609D1C000010B50446214B9847022805D05C +S214001D7040F26B221F4900201F4B9847E36913F07F +S214001D80010F19D1E36913F0030FFBD1236813F099 +S214001D90020F0BD0236823F002032360E36913F0DD +S214001DA0030FFBD1E36913F0020FFBD10523236079 +S214001DB0E36913F0030FFBD1E36913F0010FFBD1C6 +S214001DC00E4B2360E36913F0030FFBD14FF440334F +S214001DD06360E36913F01F0FFBD1094BA3604FF656 +S214001DE01143A3810020A07384F8300010BD00BF0B +S214001DF09D1C0000FCB50100BD1900000400104049 +S214001E000200700070B50D460646CB221849003019 +S214001E1018BF0120174B98472846174B984704468B +S214001E2008B1204670BDB561144B9D4204BF144BEB +S214001E301E602846134B9847011DC9B2012500F0C5 +S214001E401F0205FA02F243099B0003F1604303F503 +S214001E506143C3F88020BFF34F8FBFF36F8FC3F883 +S214001E6080211A600130C0B28142E8D1D9E700BFB4 +S214001E70FCB50100BD190000651D000000200141F1 +S214001E80C8000020511D00008269136843F0020359 +S214001E901360D36913F0030FFBD17047836999620F +S214001EA07047836901229A757047836902229A7582 +S214001EB07047000008B5024B1868024B984708BDEB +S214001EC0C8000020E11C000008B5024B1868024B51 +S214001ED0984708BDC8000020E11C000008B5024B6A +S214001EE01868024B984708BDC8000020E11C000097 +S214001EF008B5024B1868024B984708BDC80000207A +S214001F00E11C000070B588B006466C46124D0FCD39 +S214001F100FC495E80F0084E80F00009BB3420BD077 +S214001F20304601AA012352F8041B814205D0013332 +S214001F30082BF8D100200BE0002313F0FF0F09D088 +S214001F404FF49E7205490020054B98474FF0FF302E +S214001F5008B070BD0020FBE718B601004CB60100C3 +S214001F60BD19000070B506460C460846604B9847FB +S214001F700546F4608D225F4901205F4B9847236930 +S214001F8013F0010F19D1236913F0030FFBD1236857 +S214001F9013F0020F0BD0236823F00203236023699B +S214001FA013F0030FFBD1236913F0020FFBD10123BB +S214001FB02360236913F0030FFBD1236913F0010F8D +S214001FC0FBD105EB85034D4A02EB83035A6A226078 +S214001FD0236913F0030FFBD105EB8503474901EB9B +S214001FE0830393F82A10E1731B8DE3800123237388 +S214001FF002F00C02082A48D0002A58D105EB8503C7 +S2140020003E4A02EB83039B8DA383236913F0C00F24 +S214002010FBD10023E383236913F0C00FFBD1012318 +S2140020206372374B9C4204BF364B1E6005EB85033C +S214002030324A02EB8303B3F92230002B23DB5A0922 +S21400204003F01F03012101FA03F320322E4941F861 +S2140020502230BFF34F8FBFF36F8F05EB8505274BFD +S21400206003EB8505B5F92230002B0CDB590903F08C +S2140020701F03012202FA03F3234A01F1600042F82B +S214002080203042F82130002070BD05EB85031B4A46 +S21400209002EB8303DB6AE361236913F0C00FFBD115 +S2140020A000232362236913F0C00FFBD1B7E7042A8D +S2140020B0B5D105EB8503114A02EB830393F82C3068 +S2140020C02377236913F0C00FFBD1002363772369BE +S2140020D013F0C00FFBD105EB8503084A02EB830320 +S2140020E093F82B30E376236913F0200FFBD196E7A5 +S2140020F0051F00004CB60100BD19000018B601000F +S21400210000380040CC00002000E100E0C268136800 +S21400211043F002031360136913F0030FFBD17047FB +S214002120C268136913F0030FFBD11068C0F34000B8 +S214002130704700207047000010B5C068094B9847EC +S214002140044640F20F1208490120084B984704EB5A +S2140021508404074B03EB840494F82200054B98474D +S21400216010BD00BF051F00004CB60100BD190000E1 +S21400217018B601001D1B000008B5064B1868C3689A +S2140021809A7A12F0010F00D108BD01229A720368F4 +S2140021909847F9E7CC00002008B5024B9847024C58 +S2140021A0A047FDE7AD2100008122000030B58DB0CC +S2140021B01E4B98471E4B98471E4B98471E4B9847FA +S2140021C01E4B98471E4B98471E4B98471E4C4FF485 +S2140021D0965300221D4920461D4DA84701A81D4BB9 +S2140021E098471D4B0493029401A81C4B9847002067 +S2140021F01B4B9847054600211A4B984704461A4938 +S2140022001A4B9847002211462046194CA047002139 +S2140022102846184B9847054623225A21A0471649B8 +S2140022202846164B98470DB030BD00BF811B0000F6 +S2140022300D1400006D130000391200009513000005 +S21400224051280000D102000050260020D0000020B7 +S214002250590D0100F90C0100A50C0000790D0100D4 +S214002260352300005598010060B60100F99501007D +S21400227025340000EDAA0100C83B0200EDA70100CE +S21400228008B50120024B9847024B984708BD00BF8F +S21400229009150000B5370100003018BF012070474F +S2140022A0F0B5C3B0054614461C4B9847E5282CD815 +S2140022B0064602AF024629463846194B9847BD19CE +S2140022C02023BB5528236B703023AB707823EB702C +S2140022D0291D1C22134824FA02F303F00F030344BB +S2140022E01B7D01F8013B043A12F1040FF3D12923B8 +S2140022F02B7300236B7302AB00930B4BBC220B4972 +S21400230003200B4CA04743B0F0BD0095064BBF2200 +S21400231006490320064CA047F5E700BF07B50100B5 +S2140023203D260100D43B0200FC3B0200103C0200AC +S2140023304522010008B1C06B704710B582B0084B4B +S214002340984710B1C06B02B010BD064B0093064B09 +S2140023502E2206490220064CA0470020F3E700BFC5 +S214002360C90E0100EC3D0200183D0200C03D02000F +S2140023704522010008B1006C704710B582B0084BCA +S214002380984710B1006C02B010BD064B0093064B88 +S2140023904B2206490220064CA0470020F3E700BF68 +S2140023A0C90E0100283E02002C3D0200C03D02007E +S2140023B04522010008B1406C704710B582B0084B4A +S2140023C0984710B1406C02B010BD064B0093064B08 +S2140023D05C2206490220064CA0470020F3E700BF17 +S2140023E0C90E0100643E0200443D0200C03D0200EA +S2140023F045220100A0B138B503460024094D93F8E4 +S214002400342002F02002002A18BF1C461846A847AF +S21400241003460028F3D114B12046034B984738BD35 +S214002420704700BF652C00009D3300002DE9F84F73 +S214002430037D13F0010F2AD117468A460646C46864 +S2140024404FF001090025DFF8C480AB464AE0337D33 +S21400245013F0100F00D1D5B9B9F1000F17D03046E0 +S214002460D0470446002D35D0D94646E0F368A3424F +S2140024700DD093B11868C369002217219847F368F6 +S21400248000220E2118681E4B9847012801D0BDE88F +S214002490F88FF36818681B4B9847F4602068C36988 +S2140024A0002216219847F36800220D211868144B65 +S2140024B098470128EBD1F3681868134B9847F368E0 +S2140024C01868104B98473369002BE0D03046984781 +S2140024D0BDE8F88F0028DAD00546D9462068C04700 +S2140024E00028C3D0002CB2D0002D08BF25462146B8 +S2140024F03046B8470446A842C9D0002CEED1F1E7D2 +S214002500B52A000009330000F52300008D310000D5 +S21400251008B518210148024B984708BDEC6D00200D +S214002520E11E010008B5024A0249034B984708BD60 +S214002530A51F0100911F01002D24000008B5024AC6 +S2140025400249034B984708BDD11F01009B1F01009D +S2140025502D24000038B50446037DC3F3001543F070 +S2140025601003037513F0080F0CBF044B044B984779 +S214002570237D65F30413237538BD00BF25250000B1 +S2140025803D25000000284FD0F0B583B005460C4628 +S2140025900746264B98470146A0B103689C4207D0E1 +S2140025A0234E3846B047014660B10B68A342F8D1C7 +S2140025B0204B0093204B752220490120204CA04739 +S2140025C003B0F0BDA36B73B120461E4B984750B1C5 +S2140025D0A06B1D4B98471D4B0093174B7F22174946 +S2140025E00120174EB047A5632846194B9847064664 +S2140025F0184B984758B1002EE2D0346028460B4B53 +S21400260098478642DCD128460F4B9847D8E70A4BB6 +S2140026100093852209490320094CA047324600232F +S2140026200D480E498847FEE7704700BF911F01001E +S214002630A51F0100D03F0200803F0200943F020029 +S21400264045220100E14F0000552500000C40020025 +S214002650451F010099220000C03F0200A122000091 +S2140026602DE9F041D0F83880B8F1000F51D0D8F8F5 +S2140026700C30002B4DD005461B6898421ED04646AF +S2140026804046254B98470446002842D003689D42A2 +S21400269009D0224F21463046B8470446002838D095 +S2140026A023689D42F6D1214640461D4B984720465A +S2140026B01C4B98470023AB63BDE8F08198F81430B4 +S2140026C013F0010F05D098F814306FF3000388F864 +S2140026D014304046104B9847D8F80C3083420BD045 +S2140026E04046114B9847D8F80C301B689D4204BFF3 +S2140026F00023C8F80C30C2E740460C4B9847D8F881 +S2140027000C309842ECD10068C36900221721984724 +S214002710E9E7BDE8F08100BF911F0100A51F010099 +S2140027207D200100AD240100552500009B1F0100FF +S21400273018B1C3681BB118687047002070470020A6 +S214002740704718B1007DC0F3400070470020704706 +S214002750014B5868704700BF74260020F8B5B0B12A +S214002760034690F8502042F0020280F85020184AA3 +S2140027705268904204D039B1DA6B914204D0F8BD69 +S2140027800020134A1060F6E70022DA63F8BD0C4614 +S2140027900020104B984703460028F0D00C4D002729 +S2140027A00C4E05E0DF631846B04703460028E6D027 +S2140027B093F8502042F0020283F850206A689A424A +S2140027C008BF2F60002CEDD0DA6B9442EBD1E9E71E +S2140027D0742600200910010008B500210846014BA8 +S2140027E0984708BD5D270000014B1868704700BF7A +S2140027F0742600202DE9F0478946904600F1040A29 +S2140028005046114B9847E0B104461FFA89F61FFA66 +S21400281088F50E4F238A33442382638A2B446382CF +S214002820A38A3344A382E38A2B44E3824246494682 +S2140028302046FFF7DFFF21465046B84704460028EB +S214002840E8D1BDE8F08700BF911F0100A51F010079 +S21400285030B585B0214B1B78002B36D1204B9847DE +S214002860204B9847204B9847204B9847204B98473B +S21400287010212048204CA047204B02930193009340 +S21400288002224FF01F014FF600001D4DA8471D4BBA +S21400289098471D4B98474FF4B8711C48A0476021D5 +S2140028A01B48A0471B4B98471B4B984701201B4BC8 +S2140028B098470120094B1870194B0093194BA22218 +S2140028C019491A4CA04705B030BD194B0093154B5B +S2140028D0782215490220154CA047F4E77C260020F4 +S2140028E0A5230100D5350100611C010085120100F9 +S2140028F0112500003C6D0020E11E010010000020A4 +S214002900316B0100B94101003D5E0000986C00206B +S2140029108C6C0020D9270000A9FF000015F40000E9 +S2140029200448020040400200C4470200452201005D +S214002930EC47020030B583B004460D460C4B984772 +S21400294038B194F8343065F3C71384F8343003B0E4 +S21400295030BD084B009340F2945207490320074DC0 +S214002960A84722460023064806498847FEE700BFD8 +S214002970992200009C400200C44702004522010044 +S21400298024480200A122000030B583B004460D465C +S2140029900C4B984738B194F8343065F3000384F84C +S2140029A0343003B030BD084B00934FF4B46207498F +S2140029B00320074DA84722460023064806498847B5 +S2140029C0FEE700BF99220000B4400200C4470200A0 +S2140029D04522010024480200A12200002DE9F04112 +S2140029E086B0074615461E460C4621B10846284BBB +S2140029F09847002833D0039400238DF810300593B1 +S214002A00244B5B6803B10593224B03AA5A60D3F8A4 +S214002A1008809E60204B984718B183680BB1294602 +S214002A20984717B129462046B8471A4BC3F808807E +S214002A305A6892685A609DF81030F3B90CB394F84F +S214002A40343013F0400F1ED02068F0B132462946CD +S214002A50124B9847012814BF002001200EE0104BAF +S214002A6000934FF4DB620F4903200F4DA847224620 +S214002A7000230E480E498847FEE7002006B0BDE852 +S214002A80F0810120FAE70120F8E70120F6E700BF11 +S214002A90992200007C26002051270000B52A00005D +S214002AA084410200C4470200452201002448020077 +S214002AB0A1220000E8B170B582B0044616460D4665 +S214002AC00D4B984768B90D4B009340F2C4620C4911 +S214002AD003200C4DA847224600230B480B49884785 +S214002AE0FEE733462A462146A069094CA04702B0B5 +S214002AF070BD0120704700BF992200009841020077 +S214002B00C44702004522010024480200A12200001A +S214002B10DD29000030B583B004460D46094B9847C2 +S214002B2010B1E56103B030BD074B009340F21B7255 +S214002B3006490320064DA8472246002305480649B5 +S214002B408847FEE799220000A8410200C447020019 +S214002B504522010024480200A122000020B110B541 +S214002B60C4691CB1A04710BD01207047012010BDEC +S214002B7030B583B004460D46094B984710B1256220 +S214002B8003B030BD074B009340F23772064903206E +S214002B90064DA84722460023054806498847FEE713 +S214002BA099220000C0410200C447020045220100ED +S214002BB024480200A122000030B583B004460D462A +S214002BC00D4B984768B90D4B009340F249720C497B +S214002BD003200C4DA847224600230B480B49884784 +S214002BE0FEE72946606A0A4B9847034600B16062D2 +S214002BF0184603B030BD00BF99220000D84102003D +S214002C00C44702004522010024480200A122000019 +S214002C108128010030B583B004460C4B984768B94C +S214002C200B4B009340F259720A4903200A4DA847FD +S214002C302246002309480A498847FEE700226286A2 +S214002C40E36906212046984703B030BD992200006C +S214002C50F4410200C4470200452201002448020055 +S214002C60A122000030B583B004460A4B984710B145 +S214002C70206803B030BD084B009340F29F720749AE +S214002C800320074DA84722460023064806498847E2 +S214002C90FEE700BF9922000010420200C44702006F +S214002CA04522010024480200A122000030B583B06E +S214002CB004460E4B984708B10D4D0EE00D4B0093A1 +S214002CC040F26B720C4903200C4DA84722460023A5 +S214002CD00B480C498847FEE71C462046A847034693 +S214002CE00028F9D1204603B030BD00BF992200006D +S214002CF0652C000024420200C44702004522010061 +S214002D0024480200A12200002DE9F04383B00446C7 +S214002D10224B984780B123681BB12046204B98472A +S214002D2004462048204B9847054660B3DFF8789065 +S214002D301E4EDFF8708012E01D4B009340F27F724B +S214002D401C4903201C4DA847224600231B481C494B +S214002D508847FEE729464046B047054698B105F144 +S214002D6030073846C84701460028F3D0844206D0CC +S214002D703846B04701460028ECD08C42F8D12846A9 +S214002D8003B0BDE8F0830F4B0093094B4FF4F2629B +S214002D9008490220084CA0470025F0E799220000C9 +S214002DA0AD2C0000986C0020911F0100A51F0100AB +S214002DB038420200C44702004522010024480200AF +S214002DC0A12200003448020030B583B004460D4608 +S214002DD00D4B984730B19DB12946201D0B4B9847A7 +S214002DE003B030BD0A4B009340F2AD720949032090 +S214002DF0094DA84722460023084809498847FEE7A8 +S214002E00201D084B9847EBE799220000A51F0100FC +S214002E1048420200C447020045220100244802003E +S214002E20A1220000911F010030B583B005460C4674 +S214002E300E4B984760B105F10F0204F108002346D7 +S214002E4012F8011F03F8011B8342F9D103B030BD0D +S214002E50074B009340F6010206490320064CA047A4 +S214002E602A460023054806498847FEE799220000BF +S214002E70C0420200C4470200452201002448020066 +S214002E80A122000030B583B004460F4B984768B9BE +S214002E900E4B009340F622020D4903200D4DA84725 +S214002EA0224600230C480D498847FEE720460C4B77 +S214002EB09847034628B1208A1B8AC01A00B203B07E +S214002EC030BDB4F91000FAE799220000D44202009F +S214002ED0C44702004522010024480200A122000047 +S214002EE0652C000030B583B004460F4B984768B990 +S214002EF00E4B009340F636020D4903200D4DA847B1 +S214002F00224600230C480D498847FEE720460C4B16 +S214002F109847034628B1608A5B8AC01A00B203B09D +S214002F2030BDB4F91200FAE799220000E44202002C +S214002F30C44702004522010024480200A1220000E6 +S214002F40652C000030B583B004460C4B984730B172 +S214002F50A08A0130238AC01A00B203B030BD084BE5 +S214002F60009340F64A0207490320074DA847224629 +S214002F700023064806498847FEE700BF992200005E +S214002F80F4420200C4470200452201002448020021 +S214002F90A122000030B583B004460C4B984730B1F0 +S214002FA0E08A0130638AC01A00B203B030BD084B15 +S214002FB0009340F6560207490320074DA8472246CD +S214002FC00023064806498847FEE700BF992200000E +S214002FD008430200C44702004522010024480200BC +S214002FE0A122000009B92830704700B583B08DF8DB +S214002FF00010002301936A460821044B98470128D5 +S2140030000CBF0198002003B05DF804FB5D2B0000A8 +S2140030102DE9F84F80468A4693461E461C481D4BAF +S2140030209847002831D00546B0422ED0DFF8609091 +S214003030194F09E0AB885B4514D0BBF1FF0F11D0E8 +S2140030401CB32546A64220D029464846B847044623 +S21400305028684045F4D1A9795145EBD0BAF1FF0F65 +S214003060EED1E7E70D4B98470D4B9847A9880D4BD7 +S2140030709847002128460C4B9847294648460B4B54 +S214003080984728460A4B9847DAE7BDE8F88F00BF0E +S2140030903C6D00209B1F0100D11F0100E52F0000A2 +S2140030A0CF700000D5670000111301007D200100DD +S2140030B0AD24010030B583B004460D460B4B98474F +S2140030C048B10B4B98470023FF2229462046094C5F +S2140030D0A04703B030BD084B0093084B40F2924225 +S2140030E007490220074CA047F3E700BFE52F000082 +S2140030F0E17000001130000080480200CC4302005E +S214003100C447020045220100F8B504681748184B6A +S214003110984708B301460027144E164D03E0304684 +S214003120A847014678B18C42F9D00A6823689A42CB +S214003130F5D14B6823F07F42636823F07F439A42C1 +S21400314008BF0127EBE73FB1214608480A4B9847DE +S21400315020460A4B9847F8BDA1792068084B984747 +S214003160084B9847A188084B9847EDE73C6D002030 +S214003170911F0100A51F01007D200100AD24010064 +S214003180E52F0000CF700000D567000030B583B093 +S21400319004460B4B984728B194F83400C0F300104F +S2140031A003B030BD074B009340F64122064903208A +S2140031B0064DA84722460023054806498847FEE7ED +S2140031C0992200001C440200C44702004522010068 +S2140031D024480200A12200002DE9F04186B00446F2 +S2140031E00E463A4B984768B9394B00934FF4F07245 +S2140031F038490320384DA847224600233748384927 +S2140032008847FEE72046374B984710B106B0BDE822 +S214003210F0812046344B98470746344B984705467E +S214003220334B9847874209D02846324B9847874207 +S21400323004D02846304B98478742E7D1B4F932305D +S21400324004F10F0204F1170002A912F8017F01F839 +S214003250017B8242F9D19BB2BDF80820D21AADF8A4 +S2140032600820BDF80A20D21AADF80A20BDF80C20B6 +S2140032701A44ADF80C20BDF80E201344ADF80E30FD +S21400328002AA314604A81D4B98470028BED0204607 +S2140032901B4B9847044698B1DFF86080114F184ED4 +S2140032A004F1100204A90846C0470028AED0204604 +S2140032B0B8470028AAD12046B04704460028EFD1D8 +S2140032C004A928460F4B9847A0E700BF99220000A4 +S2140032D030440200C4470200452201002448020090 +S2140032E0A12200008D310000AD2C0000092D000049 +S2140032F03523000075230000B523000001150100EA +S214003300652C0000415E000030B585B004461C4BBD +S214003310984738B3B4F9323004F10F0204F11705B8 +S21400332002A912F8010F01F8010BAA42F9D19BB2CB +S214003330BDF80820D21AADF80820BDF80A20D21A27 +S214003340ADF80A20BDF80C201A44ADF80C20BDF8E4 +S2140033500E201344ADF80E3002A92046094B9847BC +S21400336005B030BD084B009340F20D2207490320FC +S214003370074DA84722460023064807498847FEE728 +S21400338099220000D931000048440200C4470200D8 +S2140033904522010024480200A1220000F0B583B0B7 +S2140033A00546164B984768B9154B009340F26222C3 +S2140033B014490320144CA0472A46002313481449F6 +S2140033C08847FEE72846134B98470446061D3046B6 +S2140033D0114B984785420FD02046104FB84701231F +S2140033E02A46314630460E4EB047E3692A4601214A +S2140033F0204698472046B84703B0F0BD9922000003 +S2140034005C440200C4470200452201002448020032 +S214003410A1220000652C0000911F01000933000066 +S214003420092101002DE9F04784B004468A46174674 +S2140034302D4B984700283ED02668002E49D0338A68 +S214003440228A9B1A53441FFA83FA0FFA8AF8758A5F +S214003450638AED1A3D44ADB20FFA85F9B8F1000F54 +S21400346002D1B9F1000F23D02046204FB84702A959 +S21400347020461F4B9847238A53442382638A2B4453 +S2140034806382A38A5344A382E38A1D44E5824A46A4 +S21400349041462046174B9847E36902AA0221204678 +S2140034A09847F36922460121304698472046B84798 +S2140034B004B0BDE8F087104B009340F296220F4907 +S2140034C003200F4DA847224600230E480E49884782 +S2140034D0FEE70E4B0093084B4FF427720749022075 +S2140034E0074CA047E4E700BF99220000093300001C +S2140034F0292E0000F52700008C440200C447020075 +S2140035004522010024480200A1220000B84802001B +S21400351030B583B004460D460D4B984768B90D4B41 +S21400352000934FF433720C4903200C4DA8472246F3 +S21400353000230B480B498847FEE720460A4B98476E +S214003540024629462046094B984703B030BD00BFC7 +S214003550992200009C440200C44702004522010054 +S21400356024480200A1220000E52E000025340000B9 +S21400357030B583B004460D460D4B984768B90D4BE1 +S21400358000934FF436720C4903200C4DA847224690 +S21400359000230B480B498847FEE720460A4B98470E +S2140035A02A4601462046094B984703B030BD00BF67 +S2140035B099220000AC440200C447020045220100E4 +S2140035C024480200A1220000852E000025340000B9 +S2140035D02DE9F04385B004460D4690461F46BDF9DA +S2140035E030602C4B984768B92B4B009340F26D32F5 +S2140035F02A4903202A4DA8472246002329482A495B +S2140036008847FEE78DB12846224B984790B9224B53 +S214003610009340F2713221490320214CA0472A46EC +S2140036200023204820498847FEE720461F4B98473E +S2140036300546E8E703AB424604F1100105F1100029 +S214003640DFF87090C8472046184B9847B0F91230FC +S214003650BDF80E203244BDF80C103944008A091A11 +S21400366009B2ADF80C10D21A12B2ADF80E202046F0 +S2140036700F4B984784F84880A4F84470A4F8466036 +S214003680256494F849306FF3410384F8493005B057 +S214003690BDE8F08399220000BC440200C447020043 +S2140036A04522010024480200A1220000652C0000EB +S2140036B0253400000D1801002DE9F04F85B0814635 +S2140036C00E4692460393BDF938B0A34B984768B9A7 +S2140036D0A24B009340F29532A1490320A14CA0478B +S2140036E04A460023A048A1498847FEE74846A04B23 +S2140036F09847054648469F4B9847044648469E4B83 +S214003700984700EBD07040F34F0848469B4B9847CD +S21400371000EBD07040F34F07EEB130468E4B984723 +S214003720F0B1BAF1140F39D8DFE81AF028005C00BF +S21400373062006D0076007F008D009900A500B40041 +S214003740BA00C500CE00D700E500F100F70003017F +S2140037500C012E013D014846894B98470646DCE79A +S2140037607E4B009340F2A1327D4903207D4CA0475A +S214003770324600237C487D498847FEE730467E4B2C +S214003780984700EBD070C8EB60052DB230467B4BF7 +S214003790984700EBD070C7EB600424B24846784BDD +S2140037A09847318A039F39442944038AC91A728A82 +S2140037B05A442244438AD21A12B209B24846714B7E +S2140037C0984789F848A0A9F84470A9F846B0C9F8FF +S2140037D0406099F8493043F0020389F8493005B053 +S2140037E0BDE8F08FC8F100052DB27C4224B2D5E7C3 +S2140037F03046614B984700EBD070C8EB60052DB2A1 +S2140038007C4224B2CAE730465B4B9847A0EB0800E0 +S21400381005B27C4224B2C1E7C8F100052DB230469D +S214003820564B9847C01B04B2B8E73046524B9847F1 +S21400383000EBD070C8EB60052DB230464F4B984772 +S214003840C01B04B2AAE730464B4B9847A0EB0800D3 +S21400385005B23046494B9847C01B04B29EE7C8F1F4 +S21400386000052DB23046454B984700EBD070C7EBAD +S214003870600424B292E730463F4B9847A0EB08001E +S21400388005B230463D4B984700EBD070C7EB60045E +S21400389024B283E7C8F100052DB27C4224B27DE74E +S2140038A03046354B984700EBD070C8EB60052DB21C +S2140038B07C4224B272E730462F4B9847A0EB0800B4 +S2140038C005B27C4224B269E7C8F100052DB2304645 +S2140038D02A4B9847C01B04B260E73046264B9847F1 +S2140038E000EBD070C8EB60052DB23046234B9847EE +S2140038F0C01B04B252E730461F4B9847A0EB0800A7 +S21400390005B230461D4B9847C01B04B246E7C8F1C7 +S21400391000052DB27C4224B240E7C8F100052DB266 +S2140039203046164B984700EBD070C7EB600424B2C5 +S21400393034E7C8F100052DB23046104B9847C01B3F +S21400394004B22BE730460C4B9847A0EB080005B2B4 +S2140039507C4224B222E700BF99220000CC44020039 +S214003960C44702004522010024480200A1220000AC +S214003970852E0000E52E0000452F0000952F000044 +S214003980652C00002534000030460D4B9847A0EB10 +S214003990080005B230460B4B984700EBD070C7EBDB +S2140039A0600424B2FAE63046054B9847A0EB0800C0 +S2140039B005B23046034B9847C01B04B2EEE600BF84 +S2140039C0452F0000952F000030B583B00446124BFB +S2140039D0984790B194F8493013F0020FB4F9443088 +S2140039E094F84820B4F946100091216C204614BF84 +S2140039F00A4C0B4CA04703B030BD0A4B009340F274 +S214003A002A4209490320094DA847224600230848B0 +S214003A1008498847FEE700BF99220000B936000033 +S214003A20D1350000E0440200C447020045220100F0 +S214003A3024480200A12200002DE9F041064600219C +S214003A400D4B9847B0B104460C4D4FF000080A4F96 +S214003A502046A847E3694246042120469847204668 +S214003A60A8472046FFF7E8FF21463046B8470446F9 +S214003A700028EDD1BDE8F081C92D00000933000013 +S214003A8030B583B005460C46364B984798B1712C36 +S214003A9046D8702C23D2412C1BD8402C1FD2022C87 +S214003AA005D3072C1BD9A4F11003082B17D92846D9 +S214003AB02D4B98472FE02D4B009340F21D522C497A +S214003AC003202C4CA0472A4600232B482B49884726 +S214003AD0FEE7532C21D8502C01D24C2CE7D1284697 +S214003AE0214B9847EB690022042128469847152C5D +S214003AF009D3182C01D9FF2C05D1286818B1C36941 +S214003B000022012198472846174B9847FF2C24D0BF +S214003B1014F4004F21D103B030BD5C2CC7D1DEE7D2 +S214003B207F2C0CD948F281039C4211D848F28003BE +S214003B309C42D4D2902CD2D0FF2CB8D1CFE77E2C8A +S214003B40CDD2732CB3D3752CC9D97C2CAFD1C6E794 +S214003B5048F28E039C42AAD1C1E72846084B9847F4 +S214003B60D9E700BF9922000009330000F0440200A4 +S214003B70C44702004522010024480200A12200009A +S214003B80393A000010B50446034B9847FF212046FB +S214003B90024B984710BD00BFB5300000813A0000C8 +S214003BA02DE9F84304460F460026DFF888803546A0 +S214003BB0DFF8849005E0FF213846C8470136402EDE +S214003BC022D0F1B23846C0478646E8B101790029CE +S214003BD0F4D090F805C00CF0060C0023DAB2BCF165 +S214003BE0060F04BF0132D2B28A423ABFDEF80000A6 +S214003BF050F822202A469442DDD0002CDBD0013338 +S214003C00DAB28A42EAD3D9E700213846084B984709 +S214003C10054650B1064E29462046FFF7C1FF294605 +S214003C203846B04705460028F5D1BDE8F88300BF02 +S214003C30C92D0000E52F0000813A00002DE9F0476D +S214003C40804600200F4B9847C8B18146DFF840A059 +S214003C500D4F0E4E09F130052846D047044640B1B8 +S214003C6021464046B84721462846B0470446002825 +S214003C70F6D14846034B984781460028EAD1BDE86E +S214003C80F08700BFA10F0100A13B0000A51F0100A7 +S214003C90911F0100F8B504460D4681790068424B35 +S214003CA09847424B9847A18801F00F03082B19DC70 +S214003CB045B9B4F908203E4B9847A18820683D4B8B +S214003CC09847F8BDFF2D0AD0B4F90820B4F90C3097 +S214003CD09B1A05FB03F502EB252212B2EBE7B4F9BB +S214003CE00C20E8E70B2B43DC002D05DDFE2D05DD63 +S214003CF0A289314B9847E0E72289FAE7EDB2C5F191 +S214003D00FF02637BDB08667AF60802FB06F605FB15 +S214003D10036303EB032703EBC713C3F3C457A3895B +S214003D20C3F345132689C6F3451602FB06F605FBC4 +S214003D30036303EB032603EBC613C3F3C556237BCB +S214003D4003F01F0394F808E00EF01F0E02FB0EF2BD +S214003D5005FB032505EB052305EBC315ED0D4FF01D +S214003D60000265F3040266F34A1267F3CF22C0E747 +S214003D700D2B12DC002D05DDFE2D05DD227B0F4B05 +S214003D8098479AE7227AFAE7227A237B9B1A05FB62 +S214003D9003F502EB2522D2B2F1E77F2DD4BFA2684D +S214003DA0E268074B984788E7E52F0000CF700000D1 +S214003DB0C9680000813A00000D6A0000516B0000DF +S214003DC0816C000030B583B004460A4B984710B1AA +S214003DD0002003B030BD084B009340F6B1220749DF +S214003DE00320074DA8472246002306480649884771 +S214003DF0FEE700BF99220000C0450200C44702004B +S214003E004522010024480200A1220000F0B583B03C +S214003E100D46064688B19D4B9847002840F06481C1 +S214003E209B4B0093ED229B4903209B4CA0473246B8 +S214003E3000239A489A498847FEE79A4B984748B91C +S214003E40994B0093924BCF2292490220924CA04766 +S214003E503446F5E13030954B984704468B4B9847EF +S214003E6060B98B4B0093D4228A4903208A4DA84719 +S214003E70224600238E488A498847FEE7002C00F039 +S214003E80DF814C2120468B4B984794F835306FF3F2 +S214003E90051384F83530884BE361884B236200278E +S214003EA0A761278267823846854B98470138A082EB +S214003EB03846844B98470138E0824C21201D824BBF +S214003EC098470023638684F8303084F8313084F8CD +S214003ED04830A4F84430A4F84630236494F84920C7 +S214003EE063F3000284F84920A36394F8342002F0B8 +S214003EF07F0242F0010294F83510032060F343017C +S214003F0084F83C3002F0C10263F3861284F8342051 +S214003F1041F0010184F8351084F83D30636204F105 +S214003F2028073846694B9847002D00F06C8105F14C +S214003F3028013846664B984705F10F0204F1180130 +S214003F4004F1100312F8010F03F8010B8B42F9D1AC +S214003F50B5F93230638695F8303084F8303095F80D +S214003F60313084F8313095F8483084F84830B5F967 +S214003F704430A4F84430B5F94630A4F846302B6CEB +S214003F80236495F8492094F8493062F3000384F8D6 +S214003F904930AB69A36195F83430DB0994F83420D6 +S214003FA063F3C71284F8342095F8342094F834303C +S214003FB062F3000384F8343095F83430C3F34003DA +S214003FC094F8342063F3410284F8342095F83530B1 +S214003FD0C3F3420394F8352063F3430284F8352094 +S214003FE095F83430C3F3800394F8342063F38202E8 +S214003FF084F8342095F83430C3F3C003D2B263F3A8 +S214004000C30284F8342095F83430C3F30013D2B2D8 +S21400401063F3041284F8342095F83430C3F3401365 +S214004020D2B263F3451284F8342095F83430C3F3E3 +S2140040308013D2B263F3861284F8342095F83C30AD +S21400404084F83C3095F8352094F8353062F3000358 +S21400405084F83530A86B10B121461E4B9847284689 +S2140040601D4B9847002800F0D980002E00F0DF8016 +S21400407028461A4B984707462846194B9847024643 +S21400408039462046174B9847C9E000BF99220000E2 +S214004090D4450200C447020045220100244802001D +S2140040A0A1220000C90E010020490200F91E0100ED +S2140040B0C03F02001F2B0100ED5900001154000004 +S2140040C0D50E0100FD0E0100E11E0100D1640000C6 +S2140040D05171000085250000652C0000852E00002B +S2140040E0E52E000025340000301D574B9847044647 +S2140040F0564B9847002847D0002C00F0A1804C2152 +S2140041002046534B9847266094F835306FF30513D6 +S21400411084F835304F4BE3614F4B23620020A0619B +S214004120B6F912306382778A4C4B9847322303FBEA +S21400413000F35033B3F5A07F33DA01233B44E38228 +S2140041402046474B984701283AD0B6F910302382CC +S214004150378A0020414B9847642303FB00F3503313 +S214004160B3F5A07F4DDB00203C4B9847642303FB50 +S21400417000F350333B4A82FB0312DB17C3EBA21358 +S2140041809BB23B44A38298E6374B0093F022374914 +S2140041900320374DA847224600233648364988472D +S2140041A0FEE700202D4B9847322303FB00F35033E5 +S2140041B02C4A82FB0312DB17C3EBA2139BB2BDE7AC +S2140041C0B6F91430A382B78A0020244B984764239C +S2140041D003FB00F35033B3F5A07F10DB00201F4B2A +S2140041E09847642303FB00F350331E4A82FB0312F6 +S2140041F0DB17C3EBA2139BB2FB1A23825DE60123F7 +S214004200FAE70123BDE726B1022120461B4B98475B +S21400421005E001212046194B984708E03EB1F369B6 +S21400422022460121304698472046154B9847154BA5 +S21400423000930D4B40F287120C4901200C4DA84705 +S214004240204603B0F0BD00BFF91E01009922000011 +S2140042501F2B0100ED59000011540000250F01002E +S214004260C53D000067666666D4450200C447020086 +S21400427045220100C03F0200A1220000D1410100FA +S21400428009330000704902002DE9F04184B004466D +S2140042900D461646324B984768B9324B009340F2AB +S2140042A0E52231490320314DA847224600233048F5 +S2140042B030498847FEE720462F4B9847A8423FD014 +S2140042C020462E4B984702A920462D4B9847731E32 +S2140042D0628A1344E38220462A4B9847012835D049 +S2140042E06B1E228A1344A382E36902AA0221204697 +S2140042F098472046244B984718B1C56922460121A5 +S214004300A847261D3046214B9847054668B14FF012 +S21400431003081F4FEB6902AA4146284698472946DC +S2140043203046B84705460028F4D12046134B984738 +S21400433094F8493013F0010F0ED104B0BDE8F081B7 +S2140043402046144B9847B042BAD1F6E7C5F10103B0 +S214004350A28A13442382C7E720460F4B9847ECE710 +S21400436099220000F8450200C447020045220100D9 +S21400437024480200A1220000452F00000933000057 +S214004380292E0000C53D0000652C0000911F01008D +S214004390A51F0100952F0000C939000030B583B075 +S2140043A004460D460D4B984768B90D4B009340F2F6 +S2140043B027320C4903200C4DA847224600230B4801 +S2140043C00B498847FEE720460A4B98472A4601468F +S2140043D02046094B984703B030BD00BF9922000025 +S2140043E01C460200C4470200452201002448020081 +S2140043F0A1220000452F00008942000030B583B09E +S21400440004460D460C4B984738B194F83C301D4294 +S21400441014BF0120002003B030BD084B009340F6C7 +S214004420D72207490320074DA847224600230648FF +S21400443006498847FEE700BF99220000444602006E +S214004440C44702004522010024480200A1220000C1 +S21400445030B585B004460D46114B984728B13F2D20 +S21400446011D894F83D0005B030BD0E4B009340F6D1 +S214004470DE220D4903200D4DA847224600230C4896 +S2140044800C498847FEE78DF80C5000238DF80D3058 +S21400449003AA09212046084B98479DF80D00E2E73D +S2140044A09922000058460200C44702004522010037 +S2140044B024480200A12200005D2B00002DE9F04FE9 +S2140044C085B0174660B30D464FEA122B0646DFF856 +S2140044D08CA0DFF88C90DFF88C8006E0BDF90E002B +S2140044E005B0BDE8F08F0025DEB129463046D0473E +S2140044F0019029463046C84707EB002084B20DF1EC +S2140045000E0221460198C0470128E7D01BF0800F15 +S21400451007D0002DE7D130460F4B98470646E2E716 +S214004520144624F4FE44A4B2222C0FD006D8032C42 +S2140045300AD0072C0CD14FF48070D1E7312C09D06B +S214004540C02C05D11020CBE70620C9E7FF20C7E71F +S2140045500020C5E70F20C3E7652C0000E52F00000C +S21400456051440000CD7200002DE9F04F85B017468B +S21400457048B30D464FEA122B0646DFF86CA0DFF86C +S2140045806C90DFF86C8004E0BDF80C0025E0002598 +S214004590D6B129463046D047019029463046C8470E +S2140045A007EB002084B203AA21460198C0470128E1 +S2140045B0EAD01BF0800F07D0002DE8D13046084B1C +S2140045C098470646E3E7144624F4FE44293C012CAB +S2140045D09ABF044BB3F87406002005B0BDE8F08F10 +S2140045E0652C000040400200E52F0000514400000A +S2140045F0917300002DE9F04F85B0174650B30D4675 +S2140046004FEA122B0646DFF874A0DFF87490DFF846 +S214004610748004E09DF80F0029E00025DEB12946ED +S2140046203046D047019029463046C84707EB002061 +S21400463084B20DF10F0221460198C0470128E9D047 +S2140046401BF0800F07D0002DE7D130460A4B984765 +S2140046500646E2E7144624F4FE44A4B26D2C09D0C4 +S21400466048F2AD039C4205D02C2C03D0FF2005B0A9 +S214004670BDE8F08F0020FAE7652C0000E52F00006B +S21400468051440000557400002DE9F04F85B01746E0 +S21400469050B30D464FEA122B0646DFF880A0DFF82F +S2140046A08090DFF8808005E0039805B0BDE8F08FC5 +S2140046B00025D6B129463046D047019029463046D7 +S2140046C0C84707EB002084B203AA21460198C047DA +S2140046D00128E9D01BF0800F07D0002DE8D1304626 +S2140046E00B4B98470646E3E7144624F4FE44A4B270 +S2140046F0BE2C0AD048F28E039C4203D07E2C01D0FA +S2140047000020D2E7034B9847CFE70348CDE700BF2A +S214004710652C0000C5410100E8910200E52F00006D +S214004720514400001975000070B50468A58805F0AE +S2140047300F03082B13DD0B2B18DD0D2B1DDD2A4672 +S214004740A1792068104B9847A0600023A3802346D9 +S2140047502A46A17920680D4EB047A58070BD2A462E +S214004760A17920680A4B98472081EEE72A46A1796E +S2140047702068084B98472081E7E72A46A1792068F9 +S214004780054B98472072E0E789460000113000008C +S214004790BD44000069450000F545000090F83D3036 +S2140047A08B4200F052822DE9F04FA1B08946824636 +S2140047B0AB4B984740B19AF83DB08AF83D9000233D +S2140047C00693A84DD846D2E1A74B009340F2376235 +S2140047D0A6490320A64CA04752460023A548A64952 +S2140047E08847FEE7737943F0040373718AF83D80C7 +S2140047F02246DDF80CB059465046A84707468AF8C8 +S2140048003D902246CDF80CB059465046A847834600 +S21400481073796FF38203737187424AD08AF83D80BA +S214004820224603995046A84706468AF83D90024617 +S21400483021460498914B9847012C00F094809048AC +S214004840904B98470746864B9847002800F0A28072 +S214004850002F2ED03E81A7F80CB0C7F800A0BC8071 +S2140048609DF80C30BB7110A8874B98471097874B64 +S2140048701193874B1293874B139300231693FF23B2 +S21400488017930A9B1893099B5B421993089A531E29 +S214004890D01D14AA13F8011F02F8011B8342F9D198 +S2140048A09DF876306FF300038DF8763010A87A4BBB +S2140048B09847059B10AA934200F05481059B33F855 +S2140048C0024B0593002CF4D00798744B9847039935 +S2140048D05046734B98470646724B9847049004F030 +S2140048E00F03082B7FF77EAF0B2B61DD0D2B00F33C +S2140048F0E980737943F0040373718AF83D80224699 +S214004900DDF80CB059465046674FB8470B908AF80A +S2140049103D902246CDF80CB059465046B8478346DF +S21400492073796FF3820373710B9B8342C1D08AF84D +S2140049303D80224603995046B84706468AF83D9081 +S214004940024621460498594B98474D484D4B984788 +S2140049500746434B9847002874D0002FA9D03E72D4 +S21400496087F80CB079E747F6FF739E4200F04C815B +S2140049709B457FF464AF5046DFF844B1D84700EB60 +S214004980D07040F34F075046D84700EBD07040F346 +S2140049904F0351E1464B009340F6B2623349032081 +S2140049A0334CA0473A460023424833498847FEE73F +S2140049B0737943F0040373718AF83D8022460399A5 +S2140049C050463D4FB84783468AF83D9022460399A5 +S2140049D05046B847ADF82C0073796FF382037371B5 +S2140049E01FFA8BFB83B29B453FF463AF8AF83D808A +S2140049F0224603995046B84783468AF83D900246B9 +S214004A00214604982D4B98471D481E4B984707464D +S214004A10134B984740B1002F3FF44BAFA7F808B0B0 +S214004A20BDF82C30BB8118E7214B009340F6C662D8 +S214004A300E4903200E4CA0473A4600231D480E4957 +S214004A408847FEE71A4B009340F6DB6207490320CF +S214004A50074CA0473A460023164807498847FEE712 +S214004A6099220000BD440000B8460200C447020078 +S214004A704522010024480200A1220000C968000067 +S214004A803C6D0020F91E0100CD120100953C00008F +S214004A902947000009310000891301001D7200003B +S214004AA0E52F0000CF700000F5450000516B0000B8 +S214004AB0CC460200C03F0200694500000D6A0000B7 +S214004AC0452F00008AF83D80737943F00403737124 +S214004AD02246DDF80CB0594650465C4FB8470C905D +S214004AE08AF83D902246CDF80CB059465046B84755 +S214004AF0834620A941F8400D73796FF382037371E2 +S214004B0004220CA8524B984700283FF4D2AE8AF8ED +S214004B103D80224603995046B84706460C908AF8D0 +S214004B203D900246214604984A4B98474A484B4BCC +S214004B30984707464A4B984730B1002F3FF4B9AE26 +S214004B40BE60C7F80CB088E6464B009340F6EF62AE +S214004B5045490320454CA0473A460023444845496A +S214004B608847FEE7069B01330693402B45D09DF809 +S214004B7018300393194650463F4B98470790002835 +S214004B803BD0437913F0080FECD1B022039C2146AA +S214004B905046A8470A90B12221465046A847099099 +S214004BA0BE2221465046294B98470890B2222146FD +S214004BB05046A847ADF83400B32221465046A847D1 +S214004BC0ADF83600B42221465046A847ADF8380066 +S214004BD0B52221465046A847ADF83A00B6222146EF +S214004BE05046A847ADF83C00B72221465046A84795 +S214004BF0ADF83E000DAB059360E6FF2150461F4B17 +S214004C00984721B0BDE8F08F50461D4EB04700EBE8 +S214004C10D07040F34F075046B04700EBD07040F3DB +S214004C204F035E1C7A1C9642A8BF164636B247F65D +S214004C30FF7293457FF403AE03F1010B0137BB45CA +S214004C40A8BFBB460FFA8BFBF9E570478946000004 +S214004C50C5B40100816C00003C6D0020F91E010007 +S214004C6099220000CC460200C447020045220100FB +S214004C70C03F0200A1220000E52F0000813A00009C +S214004C80452F000030B583B005460C460D4B9847BF +S214004C9050B195F83D3043EA04018B4202D02846D5 +S214004CA0094B984703B030BD084B009340F27E6234 +S214004CB007490320074CA0472A4600230648074911 +S214004CC08847FEE7992200009D470000DC46020068 +S214004CD0C44702004522010024480200A122000029 +S214004CE030B583B005460C460D4B984750B195F845 +S214004CF03D3023EA04018B4202D02846094B9847F0 +S214004D0003B030BD084B009340F28F620749032082 +S214004D10074CA0472A460023064807498847FEE76F +S214004D20992200009D470000F0460200C44702009A +S214004D304522010024480200A122000030B583B0BD +S214004D4004460A4B984710B1E06903B030BD084BE3 +S214004D50009340F6F52207490320074DA847224650 +S214004D600023064806498847FEE700BF9922000050 +S214004D7004470200C44702004522010024480200FE +S214004D80A122000030B583B004460A4B984710B104 +S214004D90606A03B030BD084B009340F61E320749E8 +S214004DA00320074DA84722460023064806498847A1 +S214004DB0FEE700BF9922000048470200C4470200F1 +S214004DC04522010024480200A122000030B583B02D +S214004DD004460A4B984710B1A06B03B030BD084B91 +S214004DE0009340F66F3207490320074DA847224636 +S214004DF00023064806498847FEE700BF99220000C0 +S214004E006C470200C4470200452201002448020005 +S214004E10A12200002DE9F8430546002215213C4B4F +S214004E20984728463B4B9847074610B128463A4BCA +S214004E30984700212846394B98470023FF22114601 +S214004E402846374CA04705F104084046354B98479E +S214004E50044658B1DFF8E89021464046C847064663 +S214004E602046FFF7D7FF3446002EF5D12E4B5B6861 +S214004E703BB101211A68954208BF19719B68002B47 +S214004E80F8D10020294B9847044610B3DFF8B480C9 +S214004E90DFF8B490254E0EE029462046C047E36B67 +S214004EA09D4204BF0023E363A36D9F420AD02046C1 +S214004EB0B047044668B1636B9D42EDD0A36B9D423C +S214004EC0EDD1E9E7C8478542F1D129462046C047DB +S214004ED0EDE7EB6900221146284698472846144B12 +S214004EE0984760B129460430124B9847686A08B163 +S214004EF0114B98472846104B9847BDE8F88328463C +S214004F000E4B9847294630300A4B9847EEE700BFCD +S214004F10B52A0000CD4D00006126000011130100E7 +S214004F2011300000911F01007C26002009100100AE +S214004F30652C00007D200100AD240100092D000035 +S214004F40A51F01005D270000E927000070B582B0AC +S214004F500446194B984768B9184B009340F29312D1 +S214004F6017490320174DA84722460023164817491D +S214004F708847FEE72046164B98472046154B98472D +S214004F80054640B12046144B9847EB6900220121A4 +S214004F90284698470CE02046104B9847054638B1FF +S214004FA0C66B20460C4B9847B44201D10023EB63F6 +S214004FB0002002B070BD00BF9922000080470200AA +S214004FC0C44702004522010024480200A122000036 +S214004FD009330000652C0000154E0000092D000066 +S214004FE030B583B004460E4B984748B1A06BA8B1C5 +S214004FF00C4B9847844214BF0020012003B030BDFC +S214005000094B00934FF4386208490320084DA8471F +S21400501022460023074808498847FEE70020EDE7B8 +S2140050209922000031270000B0470200C447020062 +S2140050304522010024480200A122000000B583B0EA +S21400504090F83030028AD21AADF80020828A1344D3 +S214005050ADF8043090F83130428AD21AADF802200A +S214005060C28A1344ADF8063000226846024B9847C1 +S21400507003B05DF804FB00BFA115010003687BB117 +S21400508010B4021D012352F8044B1CB10133DBB2ED +S214005090072BF8D140F8231001205DF8044B704729 +S2140050A0002340F823100120704700002DE9F0414E +S2140050B005460E4614460122A84B9847208048F223 +S2140050C00C0231462846A64B9847052842D9074683 +S2140050D0237B002B49D1237D002B76D1237F002B09 +S2140050E040F0988094F83630002B40F0B88094F862 +S2140050F02830052B00F2018194F84430052B00F28D +S2140051003781F92F24D8BFB2237B13FB07F3C3F3F1 +S21400511007232373237D13FB07F3C3F307232375AA +S21400512094F8283013FB07F3C3F3072384F82830DA +S21400513094F8363013FB07F3C3F3072384F83630AE +S21400514094F8443013FB07F7C7F3072784F8447036 +S214005150BDE8F08100232373237584F8283084F893 +S214005160363084F84430BDE8F0812C22314628469B +S2140051707B4B984720730528ADD92922314628460F +S214005180784B98476080232231462846734B9847D1 +S214005190C0B2A07130B92022314628466F4B9847DE +S2140051A0607398E72A22314628466E4B9847A080BF +S2140051B0212231462846DFF8A481C04720812222DA +S2140051C031462846C0476081E5E73022314628460A +S2140051D0624B98472082002880D03C2231462846E1 +S2140051E05F4B98472075052806D832223146284658 +S2140051F05A4B9847607571E7312231462846574B1F +S2140052009847C0B26082392231462846554B9847A7 +S214005210E081EAE7402231462846504B98472083F3 +S21400522000283FF45FAF4C22314628464C4B984747 +S2140052302077052806D8422231462846474B98470D +S21400524060774FE7412231462846444B98476083B3 +S214005250492231462846434B9847E082EBE76E22C8 +S21400526031462846404B9847E06200283FF43FAF5F +S2140052706C22314628463A4B984784F83600052873 +S2140052807FF635AF6D2231462846354B984784F871 +S2140052903700612231462846304B9847003018BF09 +S2140052A0012094F8383060F3000384F83830E06A60 +S2140052B02E4B984702280BD094F83730052B15D87C +S2140052C0602231462846254B984784F839000EE779 +S2140052D0692231462846234B9847A08648F28E021C +S2140052E031462846204B98472063E9E76922314635 +S2140052F028461C4B9847A086E2E7502231462846AF +S214005300164B9847208400283FF4F6AE5C223146C0 +S2140053102846134B984784F8280005287FF6ECAEFD +S214005320512231462846DFF83480C0476084522236 +S21400533031462846C047A084532231462846C047F7 +S214005340E084592231462846064B9847E08354228B +S21400535031462846C04784F82900CDE6BD44000003 +S214005360F545000069450000894600005199000097 +S2140053707F2231462846224B9847E06300283FF4B8 +S214005380C0AE7C22314628461E4B984784F844001F +S21400539005287FF6B6AE732231462846DFF86C80C5 +S2140053A0C047A4F84800742231462846C047A4F8EF +S2140053B04A00792231462846134B9847A4F84600FF +S2140053C07E22314628460E4B98472064702231468E +S2140053D02846C047A4F84C00712231462846C047EC +S2140053E0A4F84E00752231462846C04784F850007F +S2140053F0722231462846C04784F8510081E600BF35 +S21400540089460000F545000069450000BD440000DF +S2140054102DE9F04198B004460E46022A08D0002A2C +S2140054206CD0012A00F0CC80002018B0BDE8F081D6 +S21400543000218E4B984708B10320F6E70122002191 +S21400544020468A4DA8470746042200212046A84742 +S2140054508046052200212046A84704F10F0304F1E8 +S214005460170503AA13F8011F02F8011B9D42F9D184 +S2140054701FFA88F8BDF80C30A3EB0803ADF80C3023 +S214005480BDF810309844ADF8108080B2BDF80E30EC +S2140054901B1AADF80E30BDF812301844ADF81200E5 +S2140054A03A4603A93046724B984708B90220BCE733 +S2140054B02C22002120466F4B9847F92801D802205D +S2140054C0B3E7202200212046684B9847C0B208B1B7 +S2140054D00220AAE7322200212046644B9847C0B239 +S2140054E008B10220A1E748F20C0200212046614BD9 +S2140054F09847FA2834BF0220012096E703A85E4B9F +S2140055009847332200212046584B984710B1002375 +S2140055108DF8203003AA00212046584B98470422D5 +S21400552000212046514DA8478046052200212046EE +S214005530A84704F1100704F10F0304F1170501AAA8 +S21400554013F8011F02F8011BAB42F9D11FFA88F8C5 +S214005550BDF80430A3EB0803ADF80430BDF80830FE +S2140055609844ADF8088080B2BDF806301B1AADF836 +S2140055700630BDF80A301844ADF80A0003AA3146D2 +S21400558001A83F4B9847022200212046374B9847F8 +S21400559008B9002049E71C203A4B984705460122E7 +S2140055A000212046314B98470023024639462846BC +S2140055B0354EB04704F518712846344B9847E8E74F +S2140055C002220021294B984738B933220021204671 +S2140055D0264B984740B9002027E704F518702C4B57 +S2140055E098472C4B9847F0E703A8234B984700278B +S2140055F08DF818708DF842708DF8347003AA39460D +S21400560020461E4B9847042239462046174DA84789 +S2140056108046052239462046A84704F10F03173472 +S21400562001AA13F8011F02F8011BA342F9D11FFAC1 +S21400563088F3BDF80420D21AADF80420BDF808207F +S2140056401344ADF8083080B2BDF806301B1AADF82A +S2140056500630BDF80A301844ADF80A0003AA3146F1 +S21400566001A8074B98470020DFE600BFBD440000B6 +S21400567055170100F545000051C20000AD5000006E +S21400568019C300002529010015C00000A9BD0000AF +S21400569079BE000059250100F8B505460E461446A9 +S2140056A048F28C02264B98472072052800D8F8BD91 +S2140056B048F20C0231462846214B9847F92805D86F +S2140056C0237A13FB00F0C0F307202072237A052B01 +S2140056D0EDD948F28902314628461A4B9847208071 +S2140056E048F2800231462846174FB847A08148F254 +S2140056F0810231462846B847608148F28202314628 +S2140057002846B847207648F2830231462846B847EE +S214005710607648F28E02314628460C4B9847606009 +S214005720E2894FF6FF739A42C1D0228A9A42BED0CF +S21400573048F28A0231462846024B98472080B6E750 +S214005740F545000069450000BD440000894600009C +S21400575070B505460E46144648F2AC02214B9847F3 +S2140057602070052800D870BD48F20C023146284645 +S2140057701C4B9847F92805D8237813FB00F0C0F394 +S214005780072020702378052BEDD9002363804FF483 +S21400579080732381AB8A01332A8A9B1A1BB203EBE0 +S2140057A0D3735B10A380EB8A01336A8A9B1A1BB201 +S2140057B003EBD3735B10E38048F2AD023146284614 +S2140057C0084B9847A07248F2A90231462846064B75 +S2140057D09847A08148F2A00231462846034B9847D6 +S2140057E0A073C0E7F545000069450000BD44000011 +S2140057F02DE9F04F89B004460E465022764B984766 +S214005800074668BB7F2231462046744B9847804641 +S21400581030B17C2231462046714B984705284CD83B +S2140058204022314620466C4B98470546002840F0FB +S214005830BF80042231462046DFF89C81C0470546DB +S214005840052231462046C047A842B8BF284600B2C7 +S2140058500028C4BFC01907B2384609B0BDE8F08FAB +S2140058605C22314620465E4B9847052801D8002723 +S214005870C8E7532231462046574DA84707EBD7774F +S21400588000EB67070137BFB2512231462046A847D2 +S2140058908046522231462046A8470028B8BF4042DC +S2140058A0B8F1000FB8BFC8F100084045ACBF3F18BC +S2140058B0474438B220EAE077A4E770223146204613 +S2140058C0454DA8478246702231462046A847834663 +S2140058D07E2231462046414B98474FF00009CDF8CE +S2140058E0089047F618430193CDF800B05346024699 +S2140058F0414604A8DFF8EC80C047ADF81890ADF834 +S2140059001A90BDF81030013BADF81C30BDF81230CF +S214005910013BADF81E30752231462046A847814629 +S214005920732231462046A8478046742231462046D8 +S214005930A847054605AB5FFA89F206A904F11000F0 +S214005940DFF8A490C847BDF8143043449BB2BDF8B6 +S21400595016202A4492B2B4F91000BDF81810194463 +S21400596009B2401AB842B8BF3846B4F91210BDF8AA +S2140059701A7017443FB2CF1B00B28742B8BF074623 +S214005980BDF81C0003441BB2B4F91400181A3BB24D +S2140059908342B8BF0346BDF81E00104400B2B4F9F7 +S2140059A01670C71B18B2B842B8BF384607B237E7FA +S2140059B04C22314620460A4B984705287FF639AFD9 +S2140059C0412231462046044B98472844B842B8BF87 +S2140059D0384607B22DE700BFBD44000089460000E8 +S2140059E0F5450000654001000D18010008291AD091 +S2140059F010B50446072920D0012923D0062927D030 +S214005A00032930D0042939D00B293BD0A1F10D034E +S214005A10DBB2012B3BD916293ED0172951D00029DD +S214005A2054D0012010BD13781BB9283050600120D7 +S214005A307047002353600120704726491046264BC6 +S214005A40984710BD254B984780F00100C0B210BDA6 +S214005A500021234B9847B4F932309842B8BF184615 +S214005A606086012010BD90F8493013F0010F01D177 +S214005A70012010BD1B4B9847012010BD1A4B9847BC +S214005A80012010BD1021194B9847012010BD102190 +S214005A90174B9847012010BD164B9847164B984752 +S214005AA028B106212046114B9847012010BD02213F +S214005AB020460E4B9847042120460D4B9847012060 +S214005AC010BD06210A4B9847012010BD0B4B984786 +S214005AD0012010BDD04902007D500000FD430000AB +S214005AE0F1570000C9390000152C0000854C000055 +S214005AF0E14C0000CD4D000043270000B53000000B +S214005B002DE9F84305468846002210311F4B98477A +S214005B1050B398F8343013F0100F27D1D8F820304F +S214005B2043B30222294640469847814603281FD0A1 +S214005B3008F104063046164B9847044660B1154FE8 +S214005B4021462846FFF7DCFF034650B9214630467B +S214005B50B84704460028F3D1B9F1010F0CBF4346FD +S214005B6000231846BDE8F8830023FAE70023F8E789 +S214005B700023F6E708F104063046054B984704462E +S214005B804FF002090028DAD10346EAE7551701006C +S214005B90911F0100A51F010090F8343013F0100F7C +S214005BA000D070472DE9F0438BB00E460546B0F99D +S214005BB0324004A9354B9847A3B2BDF81020D21A3C +S214005BC0ADF81020BDF81220D21AADF81220BDF89C +S214005BD014201A44ADF81420BDF816201344ADF86E +S214005BE0163004AA314606A8294B9847A8B12B6A56 +S214005BF01BB1002206A92846984704A92846234B2D +S214005C00984704AA314608A8214B984740B92B6A02 +S214005C101BB1012206A9284698470BB0BDE8F083C1 +S214005C2005F1040840461B4B984704460028EED072 +S214005C30DFF85890164E184F05E021464046B84704 +S214005C4004460028E3D002A92046C847638EBDF864 +S214005C500820D21AADF80820BDF80A20D21AADF8EE +S214005C600A20BDF80C201A44ADF80C20BDF80E2012 +S214005C701344ADF80E3002AA08A96846B0470028BB +S214005C80DBD069462046FFF787FFD6E7292E0000BF +S214005C90011501009B1F0100D11F01002DE9F047EF +S214005CA00F46044670B1394620461A4B98472046A0 +S214005CB0194B9847814660B1184EDFF85880DFF8D8 +S214005CC058A00EE0164B1868164B98470446002856 +S214005CD0E9D1BDE8F0874846D0474C4681460028C3 +S214005CE0F7D009F1040521462846B047044640B1DE +S214005CF039462046C04721462846B0470446002875 +S214005D00F6D1D9F82030002BE5D001223946484696 +S214005D109847E0E7995B0000652C0000D11F010062 +S214005D20882600203523000038B51A4D28681A4BFF +S214005D30984704462868194B984778B90123A36109 +S214005D40144B186843681A6A12F0010F10D01B6AC9 +S214005D5013F0020F0CD00123E3610BE00D4D286811 +S214005D60A369002BEAD0C369002BF9D09847F6E761 +S214005D700023E361C3681BB1A26804F110019847D1 +S214005D80236833B1626822B1A1688B4208BF13460C +S214005D90A36038BD88260020C50F0100C90F01008A +S214005DA070B582B006461A4D28681A4B98470446C6 +S214005DB02868194B984738B92868A36923B1C3697E +S214005DC0002BFAD09847F7E704F1100231466846F0 +S214005DD0124B98470E4C2068114B98470146684670 +S214005DE0104B98476946104DA84720680F4B9847B8 +S214005DF06946A84720680E4B98476946A84720681A +S214005E000C4B984708B102B070BD0B4B9847FAE7A9 +S214005E1088260020C50F0100C90F010001150100EA +S214005E2035230000015B00009D5C00007523000028 +S214005E30B5230000DD0F0100295D0000704700005B +S214005E40F0B585B00C460546002854D0002C57D037 +S214005E500023ADF80830ADF80A302846364B984790 +S214005E600138ADF80C002846344B98470138ADF899 +S214005E700E0002AA21466846314B9847002845D0B6 +S214005E802B6913B1694628469847B5F86831C3F3BD +S214005E9009039BB100210C460F462A4E09313A46AB +S214005EA005EBC1016846B04780BB0134A4B2214669 +S214005EB0B5F86831C3F309039C42EFDB1F2B27DCE0 +S214005EC0093305EBC3030DF1FF3203F1080012F8A6 +S214005ED0011F03F8011B8342F9D1B5F86831C3F3FB +S214005EE00902013262F30903A5F868310321E86A62 +S214005EF0154B98470AE0154B9847054630B1A5E77D +S214005F00B5F868316FF30903A5F8683105B0F0BD40 +S214005F10B5F868316FF30903A5F868310DF107028B +S214005F2005F1500005F1480312F8011F03F8011BA4 +S214005F308342F9D1D1E700BFD50E0100FD0E010066 +S214005F40011501005517010041390100C90E010075 +S214005F50014B1868704700BF882600202DE9F04FD7 +S214005F608DB00546B74B98470990B74CEB68236051 +S214005F7000212846B54B98472068C36B7BB1B0F824 +S214005F806831C3F30903002B00F078824FF048080D +S214005F900027AD4DDFF8E4A2DFF8C8B24DE0B0F858 +S214005FA068316FF30903A0F8683162E226440123E2 +S214005FB086F8483101342868B0F86831C3F309031D +S214005FC09C4230D2031993F84831002BF2D1A742F5 +S214005FD0F0D004F10906F60081194044D0470028A5 +S214005FE0E8D029688A1941440AA8994B98470AA814 +S214005FF0D847039028684044D847814628683044EC +S214006000D8474844039B8342D4D22E6806EB080345 +S2140060100DF1270203F1080012F8011F03F8011B17 +S2140060208342F9D1C2E701372868B0F86831C3F374 +S214006030090308F108089F420ED2384490F8483108 +S214006040002BF0D12868B0F86831C3F30903002BA1 +S21400605000F0FA810024B5E700217B4A5160002B4E +S21400606000F0FA815A1E1146079232D4821892F82E +S21400607048217AB103F2471303440A46013AB2F1C3 +S214006080FF3F05D013F8011D0029F7D1079201E064 +S21400609000230793426892F820306FF3000382F8DB +S2140060A02030426892F820306FF3410382F82030A7 +S2140060B0654B1C68B4F86831C3F30903002B00F085 +S2140060C0CB81482306934FF0000ADFF87CB12746C1 +S2140060D045E000230793DDE77A6892F8203043F026 +S2140060E0010382F8203043E0DBF80000594B984764 +S2140060F0044600250582DBF80000574B9847013818 +S214006100A0826582DBF80000544B98470138E08295 +S214006110DBF800305A6892F8203043F0020382F829 +S214006120203003984E4B9847DBF80000836943B154 +S214006130069B18444B4B9847DBF804300344CBF8D7 +S21400614004300AF1010ADBF80070069B0833069358 +S214006150B7F86831C3F309039A4580F27D8107EBEF +S2140061600A0393F84831002BEBD1079B5345B3D075 +S2140061707A6892F820306FF3410382F82030069B4D +S214006180FB1803933846384B98470028ACD1DBF809 +S2140061900000304B9847064607EBCA07B7F84C4056 +S2140061A00134B7F84830E41A24B2B7F94E5005F176 +S2140061B00108B7F84A30A8EB03080FFA88F8DBF8AE +S2140061C00000264B9847854234DAB7F94E90F368BC +S2140061D0B3FBF4F39845A8BF9846DBF800301B697C +S2140061E0002B52D00023ADF82830ADF82C30ADF897 +S2140061F02A300FFA88F56C1E24B2ADF82E40DBF874 +S214006200000003690AA99847BDF92E104B1CBDF87B +S2140062102A209B1A1BB2984532DA2546002CEADC67 +S214006220124B0093124B40F29F1212490220124C5E +S214006230A04779E7DBF80000084B984701380FFACB +S21400624080F9C4E74110010088260020413901008A +S21400625057150100C50F0100D50E0100FD0E010007 +S214006260A15D0000E5140100DD0F0100144A0200E4 +S214006270D8490200E8490200452201001117010032 +S214006280002DC8BF01F10108CADDB7F94A40CDF8B4 +S214006290109004EB0803013B4B454BDC1FFA88F3D8 +S2140062A00593013BCDF820A09A460DE0A9451CD0E9 +S2140062B00398784B9847059B1C4424B204EB0803CC +S2140062C0013B049A93421ADCB7F948303382B7F997 +S2140062D04C30B3827482A4B204EB0A052DB2F58268 +S2140062E0A945E3DAA6F816904D46DBF800305A6862 +S2140062F092F8203043F0020382F82030D8E7DDF829 +S21400630020A0A9453FF410AFB7F948303382B7F95B +S2140063104C30B3827482A6F81690DBF800305A68C8 +S21400632092F8203043F0020382F820300398594B4D +S2140063309847F9E60025E4E7574B984718B1574BBE +S21400634018684369EBB1554C20684FF480714830AB +S214006350534DA8472068202100F5A470A84723685D +S214006360B3F868216FF30902A3F8682109984D4B2A +S2140063709847014620688369002B76D06268984764 +S21400638073E0494B98470446484B9847A369002B4F +S214006390FCD1A3680393D4F800A0534508BFD4F8F3 +S2140063A004A03E4C2068424B984704902368B3F8FC +S2140063B06821C2F30902002AC5D045000022904693 +S2140063C0A1460CE008F101081FFA88F84246D9F801 +S2140063D00030B3F86811C1F309018845B3DA99189B +S2140063E091F848110029EDD103EBC203B3F94A70C6 +S2140063F0B3F94810049807FB00167600B3F84C3043 +S21400640001335B1A1BB25B000593D9F8003003EB2F +S214006410C203B3F94E30BB42D4DB039B03EB060B3F +S21400642056440932D400059A31465846214B9847BF +S21400643001373FB2AB442E44D9F800302344B3F9B9 +S2140064400630BB42EFDABDE70022144B5A60B0F8C4 +S2140064506831C3F309037BB9104B1868B0F868318C +S214006460C3F30903002B7FF467AF134B9847134B16 +S21400647098470DB0BDE8F08F07920BE60022074B59 +S2140064805A60B0F86831C3F30903002BEDD00792C9 +S21400649000E600BFA15D0000DD0F01008826002099 +S2140064A01F2B010059100100C50F0100295D0000D7 +S2140064B0D50E01003D260100E1250100DD0C01009E +S2140064C008B50421014B984708BD00BF1F2B0100EB +S2140064D008B50821014B984708BD00BF1F2B0100D7 +S2140064E070B582B00679002E55D004460068036861 +S2140064F099420AD00346751EEDB200EB85059D4213 +S21400650049D053F8042F8A42F9D10D46012E0ED0F9 +S214006510711E8900214B98470646214B984780B14B +S214006520EEB12179002933D00022134626E01D4B18 +S2140065309847002323602371627963F30002627137 +S21400654029E0194B00934FF4827218490320184C27 +S214006550A04732460023174817498847FEE7174BDF +S2140065600093114B4FF4837210490220104CA04741 +S21400657011E00133DBB22179994209D9216851F83B +S21400658023108D42F5D046F822100132D2B2F0E741 +S21400659001392171266002B070BD00BF812801005C +S2140065A099220000AD240100644A0200244B020038 +S2140065B045220100C03F0200A1220000504B02000D +S2140065C0002851D070B582B004460E46274B984737 +S2140065D0237963BB0420264B984705462846254B5F +S2140065E0984758B3002D36D06379C3F3400013F0B4 +S2140065F0010F18BF01302379984210D205EB8301B2 +S21400660003F18042013A013B1B1ADBB2D31A05EBB9 +S214006610830351F8042C41F804299942F9D145F82E +S2140066202060237901332371256002B070BD0133E9 +S21400663099002068104B98470546CFE70F4B00930C +S214006640D0220F4903200F4CA0472A4600230E48AD +S2140066500E498847FEE70E4B0093084BD2220849A6 +S2140066600220084CA047E0E7704700BFE164000046 +S214006670C52301009922000081280100804A0200FB +S214006680244B020045220100C03F0200A122000068 +S2140066908C4B020030B583B0437913F0010F10D055 +S2140066A003F00603062B14BF002301230279002AF9 +S2140066B034D09A4234D9026852F82340204603B0B8 +S2140066C030BD05460420174B98470446164B98479E +S2140066D060B1CCB12046154B984721462846144B4E +S2140066E098476B7943F001036B71E7E7114B009312 +S2140066F040F2354210490320104DA8472246002399 +S2140067000F4810498847FEE70F4B0093094B40F2AD +S214006710374209490220094DA847CFE70024CDE7B4 +S2140067200024CBE7C523010099220000C1640000C5 +S214006730C16500009C4A0200244B0200452201006D +S214006740C03F0200A1220000BC4B020010B5044668 +S2140067500068024B98470023236010BDAD2401005B +S2140067600268D2B11378FF2B13D0002006E00B2B63 +S2140067700ADC02300230135CFF2B0BD003F00F0351 +S214006780082BF4DC0230F5E70D2BD4BF01300430C3 +S214006790F0E70020023080B270470020704700000B +S2140067A081B170B50C460A685AB105460846064BD4 +S2140067B098470646054B9847286032462168044BA2 +S2140067C0984770BD704700BF61670000C523010091 +S2140067D03D26010000286BD02DE9F84307460068E7 +S2140067E000286AD0CDB20E0AB4460378FF2B3BD001 +S2140067F04FF0FF3EF0460022CCF3060C27E084184C +S214006800647886EA040919F07F0F0BD004F07F0441 +S21400681034EA0C091DD14445C4BF0FFA84F80FFAB8 +S21400682082FE16E09646BEF1000F43DB74467044C7 +S21400683043785E4016F07F0F19D00020BDE8F8833D +S2140068400B2B0CDC02320232835CFF2BEBD09D421A +S214006850D5D003F00F03082BF2DC0232F3E70D2B42 +S214006860D4BF01320432EEE74FF0FF3EDBE70D46C1 +S2140068703846134B984705F00F010B2904DD0E2907 +S214006880B4BF0321062100E004210D46411A8C42C4 +S21400689007D223463A685419E45CD45401338B4239 +S2140068A0F8D13868074B984738600120BDE8F88370 +S2140068B0002070470020BDE8F8830020BDE8F8837C +S2140068C061670000812801002DE9F04186B0ADF82F +S2140068D00E10ADF80C200468002C48D0CFB20D0A7C +S2140068E0AE462378FF2B2CD04FF0FF31884600228F +S2140068F0CEF3060E18E0A618767885EA060C1CF08D +S2140069007F0F21D006F07F0636EA0E0C0ED14645E4 +S214006910C4BF0FFA86F811B208E00B2B0CDC02326B +S2140069200232A35CFF2B0ED09F42E4D003F00F038D +S214006930082BF2DC0232F3E70D2BD4BF013204320F +S214006940EEE74FF0FF310A46002A10DBA3185B780B +S2140069505D4015F07F0F0AD10232A3189DF80C1087 +S214006960A1549DF80D205A7006B0BDE8F081064689 +S214006970FF23ADF816301D4B9847002808BF0220AD +S214006980051DADB229462046194B98473060194B75 +S2140069909847E8B1002EE7D0AB1F3268D1189DF8B3 +S2140069A00E00D0549DF80F304B702B1F3268D11854 +S2140069B09DF80C00D0549DF80D304B70023D3368A6 +S2140069C05A199DF8161059559DF817305370CBE795 +S2140069D0094B00934FF4C37208490320084CA047A4 +S2140069E032680023074808498847FEE761670000C9 +S2140069F08128010099220000B44A0200244B0200BC +S214006A0045220100C03F0200A12200002DE9F0410E +S214006A1086B0ADF80C20ADF80E100468002C48D0F7 +S214006A20CFB20D0AAE462378FF2B2CD04FF0FF31A5 +S214006A3088460022CEF3060E18E0A618767885EA79 +S214006A40060C1CF07F0F21D006F07F0636EA0E0CEF +S214006A500ED14645C4BF0FFA86F811B208E00B2BDC +S214006A600CDC02320232A35CFF2B0ED09F42E4D035 +S214006A7003F00F03082BF2DC0232F3E70D2BD4BF32 +S214006A8001320432EEE74FF0FF310A46002A10DBEF +S214006A90A3185B785D4015F07F0F0AD10232A31869 +S214006AA09DF80C10A1549DF80D205A7006B0BDE854 +S214006AB0F0810646FF23ADF816301D4B9847002898 +S214006AC008BF0220051DADB229462046194B98473F +S214006AD03060194B9847E8B1002EE7D0AB1F3268FC +S214006AE0D1189DF80E00D0549DF80F304B702B1F18 +S214006AF03268D1189DF80C00D0549DF80D304B70BC +S214006B00023D33685A199DF8161059559DF81730EE +S214006B105370CBE7094B009340F2B51208490320A7 +S214006B20084CA04732680023074808498847FEE714 +S214006B30616700008128010099220000C84A02000F +S214006B40244B020045220100C03F0200A1220000A3 +S214006B502DE9F04387B0ADF80E100468002C43D042 +S214006B605FFA81FE0D0AAC462378FF2B2CD04FF03F +S214006B70FF37B8460021CCF3060C18E06618767886 +S214006B8085EA060919F07F0F21D006F07F0636EA5F +S214006B900C090ED14645C4BF0FFA86F80FB208E0BE +S214006BA00B2B0CDC02310231635CFF2B0ED09E45B2 +S214006BB0E4D003F00F03082BF2DC0231F3E70D2BD1 +S214006BC0D4BF01310431EEE74FF0FF3739460029D4 +S214006BD00ADB63185B785D4015F07F0F04D1214413 +S214006BE08A7007B0BDE8F08317460646FF23ADF867 +S214006BF016301B4B9847002808BF0220C51CADB2B4 +S214006C0029462046174B98473060174B9847C0B127 +S214006C10002EE6D06B1F3268D1189DF80E00D054B7 +S214006C209DF80F304B7033682B4403F8037C023D0D +S214006C3033685A199DF8161059559DF81730537039 +S214006C40CFE70A4B00934FF4F27209490320094C30 +S214006C50A04732680023084808498847FEE700BF77 +S214006C60616700008128010099220000DC4A0200CA +S214006C70244B020045220100C03F0200A122000072 +S214006C802DE9F04186B00292ADF80E100468002C93 +S214006C904ED0CFB20D0AAE462378FF2B2CD04FF045 +S214006CA0FF3188460022CEF3060E18E0A618767846 +S214006CB085EA060C1CF07F0F21D006F07F0636EA28 +S214006CC00E0C0ED14645C4BF0FFA86F811B208E086 +S214006CD00B2B0CDC02320232A35CFF2B0ED09F4241 +S214006CE0E4D003F00F03082BF2DC0232F3E70D2B9F +S214006CF0D4BF01320432EEE74FF0FF310A46002AD5 +S214006D0016DBA3185B785D4015F07F0F10D10232BA +S214006D10A3189DF80810A1549DF809205A709DF8F4 +S214006D200A209A709DF80B20DA7006B0BDE8F08154 +S214006D300646FF23ADF81630204B9847002808BFBC +S214006D400220851DADB2294620461D4B984730606F +S214006D501C4B984720B3002EE7D0A5F108033268F5 +S214006D60D1189DF80E00D0549DF80F304B70AA1F16 +S214006D7031688B189DF8080088549DF809205A70D1 +S214006D809DF80A209A709DF80B20DA70023D336851 +S214006D905A199DF8161059559DF817305370C4E7C8 +S214006DA0094B009340F2132208490320084CA047E1 +S214006DB032680023074808498847FEE761670000F5 +S214006DC08128010099220000F04A0200244B0200AC +S214006DD045220100C03F0200A122000000284DD03D +S214006DE02DE9F04384460468002C4AD0CEB2090A46 +S214006DF08E462378FF2B3ED04FF0FF37B846002054 +S214006E00CEF3060E2AE025186D7881EA050919F0FA +S214006E107F0F0AD005F07F0535EA0E0920D14545DB +S214006E20C4BF0FFA85F807B21AE00746002F2CDB1E +S214006E30BB1CE018E35C137043785370DCF800006A +S214006E4007447878C1F306010840BDE8F0830B2BB1 +S214006E500CDC02300230235CFF2BE7D09E42D2D0FF +S214006E6003F00F03082BF2DC0230F3E70D2BD4BF40 +S214006E7001300430EEE74FF0FF37D7E74FF0FF3032 +S214006E8070474FF0FF30BDE8F0834FF0FF30BDE8AD +S214006E90F08300284AD02DE9F04386460468002C8B +S214006EA047D0CEB2090A8C462378FF2B3BD04FF052 +S214006EB0FF37B8460020CCF3060C27E025186D787F +S214006EC081EA050919F07F0F0AD005F07F0535EA3B +S214006ED00C091DD14545C4BF0FFA85F807B217E067 +S214006EE00746002F29DB3C44A3781370DEF8000029 +S214006EF007447878C1F306010840BDE8F0830B2B01 +S214006F000CDC02300230235CFF2BEAD09E42D5D048 +S214006F1003F00F03082BF2DC0230F3E70D2BD4BF8F +S214006F2001300430EEE74FF0FF37DAE74FF0FF307E +S214006F3070474FF0FF30BDE8F0834FF0FF30BDE8FC +S214006F40F08300284DD02DE9F04384460468002CD9 +S214006F504AD0CEB2090A8E462378FF2B3ED04FF099 +S214006F60FF37B8460020CEF3060E2AE025186D78C7 +S214006F7081EA050919F07F0F0AD005F07F0535EA8A +S214006F800E0920D14545C4BF0FFA85F807B21AE0AE +S214006F900746002F2CDBBB1CE018E35C137043781D +S214006FA05370DCF8000007447878C1F30601084007 +S214006FB0BDE8F0830B2B0CDC02300230235CFF2B89 +S214006FC0E7D09E42D2D003F00F03082BF2DC02304B +S214006FD0F3E70D2BD4BF01300430EEE74FF0FF3758 +S214006FE0D7E74FF0FF3070474FF0FF30BDE8F08333 +S214006FF04FF0FF30BDE8F083002850D02DE9F04375 +S21400700007460468002C4DD0CEB2090A8C46237879 +S214007010FF2B2DD04FF0FF3EF0460020CCF3060CA1 +S21400702019E025186D7881EA050919F07F0F22D03E +S21400703005F07F0535EA0C090FD14545C4BF0FFAA8 +S21400704085F80FFA80FE08E00B2B0CDC02300230CD +S214007050235CFF2B0ED09E42E3D003F00F03082BD9 +S214007060F2DC0230F3E70D2BD4BF01300430EEE73C +S2140070704FF0FF3E7046002818DB05460130231807 +S214007080141D13F8010F02F8010B9442F9D13B6866 +S2140070902B445878C1F306010840BDE8F0834FF052 +S2140070A0FF3070474FF0FF30BDE8F0834FF0FF3001 +S2140070B0BDE8F083437913F0010F06D013F0020FFA +S2140070C0036814BF586818687047002070474379F3 +S2140070D013F0020F1ABF03681868002070470000FC +S2140070E000282CD038B50446437913F0010F08D099 +S2140070F0134B9847054620B1124B98472846124B2B +S2140071009847637913F0020F09D020460F4B984733 +S214007110054620B10B4B984728460B4B98472379DA +S2140071204BB9002222602271637903F0FC0362F3FC +S2140071308203637138BD2068034B9847F1E77047B8 +S214007140B57000004D670000AD240100CF70000050 +S21400715070B505460C462C4B98472368002B41D04B +S214007160637913F0010F20D113F0020F10D02079AD +S21400717001388000254B984728602279013A21681B +S21400718092000431224B98472379013B2B7170BD46 +S214007190207980001D4B984728602279920021684C +S2140071A01B4B984723792B7170BD13F0020F1AD032 +S2140071B0207902388000154B984728602279023AD9 +S2140071C0216892000831124B98472379023B2B71B5 +S2140071D02846104DA84706462046A8470146304692 +S2140071E00D4B984770BD207901388000074B9847B3 +S2140071F028602279013A216892000431044B9847AE +S2140072002379013B2B71E3E7E1700000C523010001 +S2140072103D26010095660000A167000030B583B0EA +S2140072200446437913F0020F05D01D4B98470546D8 +S214007230284603B030BD04201A4B984705461A4B23 +S2140072409847A8B115B32846184B984729462046B4 +S214007250174B9847637943F00203637113F0010FED +S214007260E6D023681A685968196023685A60DFE711 +S214007270104B009340F2CD220F4903200F4CA0473D +S2140072802A4600230E480F498847FEE70E4B009318 +S214007290084B40F2CF2208490220084CA047C7E717 +S2140072A0CF700000C523010099220000C1640000D1 +S2140072B0C1650000044B0200244B02004522010079 +S2140072C0C03F0200A1220000EC4B0200002859D06B +S2140072D02DE9F04F83B005460368002B54D04FEAE3 +S2140072E011280023ADF806300079002842D09346D6 +S2140072F089461C464FF0FF369A46244F1CE05046FF +S2140073000DF106024946B847804527D06B7913F041 +S214007310020F05D0002803DB14B913F0040F23D0A6 +S214007320B04204DDBDF80630ABF800300646013446 +S21400733024B2287984421FDAE2B26B7903F006039E +S214007340062B04BF0132D2B20028D8D0824203D224 +S2140073502B6853F82200D3E75046D1E7BDF8063035 +S214007360ABF8003001200AE0BDF80630ABF800307C +S214007370012004E04FF0FF36F043C0F3C03003B006 +S214007380BDE8F08F002070470020F8E7DD6D0000B4 +S214007390002858D02DE9F04F83B005460368002B2F +S2140073A053D04FEA11280023ADF8043000790028A6 +S2140073B041D0934689461C464FF0FF369A46244FE6 +S2140073C01BE0504601AA4946B847804527D06B794E +S2140073D013F0020F05D0002803DB14B913F0040FD6 +S2140073E023D0B04204DDBDF80430ABF800300646CA +S2140073F0013424B2287984421FDAE2B26B7903F0B2 +S2140074000603062B04BF0132D2B20028D9D082422E +S21400741003D22B6853F82200D4E75046D2E7BDF8D3 +S2140074200430ABF8003001200AE0BDF80430ABF8B9 +S2140074300030012004E04FF0FF36F043C0F3C030C8 +S21400744003B0BDE8F08F002070470020F8E700BFCB +S214007450436F0000002859D02DE9F04F83B0054651 +S2140074600368002B54D04FEA112800238DF807300C +S2140074700079002842D0934689461C464FF0FF36D6 +S2140074809A46244F1CE050460DF107024946B8477D +S214007490804527D06B7913F0020F05D0002803DB58 +S2140074A014B913F0040F23D0B04204DD9DF8073062 +S2140074B08BF800300646013424B2287984421FDA5D +S2140074C0E2B26B7903F00603062B04BF0132D2B298 +S2140074D00028D8D0824203D22B6853F82200D3E784 +S2140074E05046D1E79DF807308BF8003001200AE0BF +S2140074F09DF807308BF80030012004E04FF0FF368F +S214007500F043C0F3C03003B0BDE8F08F00207047F2 +S2140075100020F8E7936E0000002852D02DE9F04FC7 +S21400752083B005460368002B4DD04FEA112800793A +S21400753000283ED09346894600244FF0FF36A246E8 +S214007540224F1AE0504601AA4946B847804526D041 +S2140075506B7913F0020F05D0002803DB14B913F083 +S214007560040F21D0B04203DD019BCBF80030064665 +S214007570013424B2287984421DDAE2B26B7903F032 +S2140075800603062B04BF0132D2B20028DAD08242AC +S21400759003D22B6853F82200D5E75046D3E7019B69 +S2140075A0CBF80030012009E0019BCBF80030012029 +S2140075B004E04FF0FF36F043C0F3C03003B0BDE840 +S2140075C0F08F002070470020F8E700BFF96F00003A +S2140075D0F0B501F01F0EC1F34516C1F3C421052A0C +S2140075E03FD9C0F3C4240C441F2C28BF1F2404F02A +S2140075F01F04C0F3451333443F2B28BF3F2303F03B +S2140076003F0500F01F0070441F2828BF1F2000F011 +S2140076101F03FF2A2ED0C2F1FF0707FB0EF002FB66 +S214007620030000EB002300EBC310C30D4FF0000077 +S21400763063F3040007FB06F302FB053303EB0325A5 +S21400764003EBC513DB0D63F34A1007FB01F102FBE6 +S214007650041202EB022302EBC312D20D62F3CF2018 +S214007660F0BD4FF000006EF3040066F34A1061F3BD +S214007670CF20F0BD4FF0000063F3040065F34A101E +S21400768064F3CF20F0BDF0B501F01F0EC1F3451630 +S214007690C1F3C421052A3DD9C0F3C4240C1B24EA37 +S2140076A0E47404F01F04C0F34513F31A23EAE373EB +S2140076B003F03F0500F01F00AEEB000020EAE0708C +S2140076C000F01F03FF2A2ED0C2F1FF0707FB0EF0C3 +S2140076D002FB030000EB002300EBC310C30D4FF0CA +S2140076E0000063F3040007FB06F302FB053303EB1D +S2140076F0032503EBC513DB0D63F34A1007FB01F10B +S21400770002FB041202EB022302EBC312D20D62F359 +S214007710CF20F0BD4FF000006EF3040066F34A1071 +S21400772061F3CF20F0BD4FF0000063F3040065F373 +S2140077304A1064F3CF20F0BD2DE9F04F93B09DF8CA +S21400774070409DF874B09DF87890BBF1040F00D996 +S21400775014B913B0BDE8F08F0893ADF824200E4698 +S2140077600546BA4B98478046B94B98470746826805 +S21400777006923246294610A8B64B98470028E8D00D +S2140077803A8ABDF840309B1A99B20D460A9108B263 +S2140077900B90ADF840007B8ABDF84210C91A0FFA6C +S2140077A081FCADF842C0BDF84400801A80B2ADF846 +S2140077B04400BDF846E0AEEB030E0FFA8EFEADF8C1 +S2140077C046E0089AAAB198F8083013F0010F10D1D5 +S2140077D0411C491B09B200290BDD134611441A78D7 +S2140077E0802A4FF0FF3298BF002203F8012B8B420D +S2140077F0F5D1D8F81430002B77D0BDF82480934B01 +S21400780098470546BB8A01333A8A9B1A1BB20793F0 +S214007810012C3ED0BDF94020089B9F1ABDF844308D +S21400782001339B1A1BB20893BDF942A0BDF946303E +S2140078309A458EDCBDF940603446BDF944309E4220 +S2140078401EDC3E440FFA8AF905964B46B9461F469B +S214007850059A12F8013B059203FB0BF3C3F30723CB +S2140078600293ADF80480009723B2079A069928463B +S2140078706E69B0470134BDF944309C42E8DD4F469E +S214007880089B1F440AF1010ABDF946309A45D1DD2E +S2140078905FE7BDF94290BDF9463099453FF759AFCD +S2140078A0DDF81CA05E46DDF818B0BDF94040BDF915 +S2140078B044309C4212DC0FFA89F705970296ADF821 +S2140078C00480059B009323B25246594628466F69AA +S2140078D0B8470134BDF944309C42EFDD09F1010997 +S2140078E0BDF946309945E0DD33E7B9F1000F40F0C9 +S2140078F0A083BDF82430ADF81C30544B984706469C +S214007900BB8A01333F8ADF1B3FB2BDF94020BDF87A +S214007910443001339B1A1BB20B931D46BDF946003B +S214007920BDF94230411CC91A09B20C910A9303FBF7 +S2140079300722069901EB42010591012C29D0BBF1E3 +S214007940FA0F00F2088183423FF703AF069B33F835 +S2140079501230BDF82460C6F3C42CC6F34512104698 +S21400796006F01F0214467A000C920B9A0899013909 +S214007970069152000E9219464FF0000E7246B6B2AD +S2140079800896CDF824B00D95A146CDF81CB08346D8 +S21400799045E3BBF1FA0F25D9736A23B110A82E4B25 +S2140079A09847F02813D80C9B002B7FF7D2AE7F00A9 +S2140079B000242A4DDDF83080059E0B9ABDF81C1079 +S2140079C03046A8473E440134A045F6D1C1E6BDF88E +S2140079D02430ADF80030746A10AB3A46069930464B +S2140079E0A047B6E6336A002B3CD010A81A4B98473F +S2140079F0F02837D90B9900290CDDBDF82480184AE9 +S214007A00931E01F10041013902EB410223F8028F77 +S214007A109A42FBD1BDF94250BDF946309D423FF730 +S214007A2098AE4FEA4708DFF838A0DDF814905C46B9 +S214007A3000940B9B524649463046376AB847C144C5 +S214007A400135BDF946309D42F2DD82E6515F000009 +S214007A50C50F010001150100E5140100231B0100FC +S214007A60902600204FF0000EBDF8242002F01F09DB +S214007A70C2F34518C2F3C42C0BFB0CF303EB032133 +S214007A8003EBC113C3F3C4510BFB08F303EB03244E +S214007A9003EBC413C3F3C5540BFB09F303EB032238 +S214007AA003EBC213C3F3C4521FFA8BF30CFB03FCA5 +S214007AB008FB03F809FB03F96FEA0B03DBB20C982B +S214007AC000287FF746AE780007900B984000089095 +S214007AD0002006909FB236E0307862F304003070E3 +S214007AE0308864F34A103080000A61F3C700707073 +S214007AF002339B451CD01E461FFA8EF0B3F800A03A +S214007B005045E9D0B3F800E05978C90801FB07C131 +S214007B10C1F30421CEF3451404FB0784C4F3052403 +S214007B201A7802F01F0202FB0792C2F30422D3E780 +S214007B30059B079803440593069B013306930C9810 +S214007B4098423FF406AE002DF2DD05980346089EE7 +S214007B5000EB060BCFE70C9B002B7FF7FAAD0B9BD9 +S214007B60043B0D937B000F9300230A93BDF81C2063 +S214007B70C2F3C42CC2F3451EC2F304030693DEE12F +S214007B80BDF81C303B80434601318D4200F04C83EB +S214007B90023718F0030F00F0558318F8013B002B4E +S214007BA0F1D0FF2BECD0C3F1FF097A78D20809FB9D +S214007BB002F203FB0C2202EB022002EBC012C2F31D +S214007BC0C4523888C0F3451009FB00F003FB0E00D2 +S214007BD000EB002600EBC610C0F3C5503E7806F05A +S214007BE01F0A09FB0AF903FB049303EB032903EBC3 +S214007BF0C913DB0D63F304063E703B8860F34A133B +S214007C003B801B0A62F3C7037B70BCE7BDF81C40D1 +S214007C1020F8064C20F8044C20F8024C048004316E +S214007C20043308308F42C0F229811A4653F8044CB8 +S214007C30002CF4D0B4F1FF3FE8D013F8048CB8F170 +S214007C40000F3FD0B8F1FF0F00F00581C8F1FF0626 +S214007C5010F8054CE40806FB04F408FB0C4404EB9F +S214007C60042504EBC514C4F3C454099430F8065C28 +S214007C70C5F3451506FB05F508FB0E5505EB05296E +S214007C8005EBC915C5F3C55510F8069C09F01F0B82 +S214007C9006FB0BF6069C08FB046808EB082608EBB8 +S214007CA0C616F60D66F3040900F8069C30F8066C56 +S214007CB065F34A1620F8066C360A099C64F3C70674 +S214007CC000F8056C12F8038CB8F1000F3FD0B8F13D +S214007CD0FF0F00F0C580C8F1FF0610F8034CE4085B +S214007CE006FB04F408FB0C4404EB042504EBC51463 +S214007CF0C4F3C454099430F8045CC5F3451506FB78 +S214007D0005F508FB0E5505EB052905EBC915C5F36A +S214007D10C55510F8049C09F01F0B06FB0BF6069CD5 +S214007D2008FB046808EB082608EBC616F60D66F393 +S214007D30040900F8049C30F8046C65F34A1620F831 +S214007D40046C360A099C64F3C70600F8036C12F844 +S214007D50028CB8F1000F3FD0B8F1FF0F00F085801D +S214007D60C8F1FF0610F8014CE40806FB04F408FB13 +S214007D700C4404EB042504EBC514C4F3C454099462 +S214007D8030F8025CC5F3451506FB05F508FB0E55F5 +S214007D9005EB052905EBC915C5F3C55510F8029C7A +S214007DA009F01F0B06FB0BF6069C08FB046808EBA5 +S214007DB0082608EBC616F60D66F3040900F8029CC2 +S214007DC030F8026C65F34A1620F8026C360A099CF5 +S214007DD064F3C70600F8016C12F8018CB8F1000FC6 +S214007DE03FF41DAFB8F1FF0F44D0C8F1FF0644784A +S214007DF0E40806FB04F408FB0C4404EB042504EB3F +S214007E00C514C4F3C45B0588C5F3451506FB05F524 +S214007E1008FB0E5505EB052905EBC915C5F3C55539 +S214007E2090F8009009F01F0A06FB0AF6069C08FB6D +S214007E30046808EB082608EBC616F60D66F3040978 +S214007E4080F80090068865F34A160680360A6BF3BB +S214007E50C7064670E3E6BDF81C4020F8064C31E73E +S214007E60BDF81C4020F8044C71E7BDF81C4020F813 +S214007E70024CB1E7BDF81C400480D0E60E9D8D4252 +S214007E804EDD541E059B03EB4108069E08E0BDF838 +S214007E901C30A8F80030013108F102088D423FDDA1 +S214007EA014F8013F002BF6D0FF2BF0D0C3F1FF09EA +S214007EB098F80120D20809FB02F203FB0C2202EB21 +S214007EC0022002EBC012C2F3C452B8F80000C0F39E +S214007ED0451009FB00F003FB0E0000EB002700EB4B +S214007EE0C710C0F3C55098F8007007F01F0A09FBCA +S214007EF00AF903FB069303EB032903EBC913DB0D17 +S214007F0063F3040788F80070B8F8003060F34A138B +S214007F10A8F800301B0A62F3C70388F80130BAE7F6 +S214007F20059B0F9A13440593089B0B9A13440893DA +S214007F300A9B01330A930C9A9A423FF40AAC002D2E +S214007F4040F37081089A12F0030F00F07981059FC4 +S214007F5090460021069C20E6FF2A02D0DDF824E0A9 +S214007F6004E0DDF824E02A889A4232D0BEF1FF0F02 +S214007F7042D0CEF1FF046B78DB080EFB0CF204FB5C +S214007F80032303EB032203EBC213C3F3C4532A8871 +S214007F90C2F345120BFB0EF104FB021202EB0221A8 +S214007FA002EBC112C2F3C552297801F01F0109FB8A +S214007FB00EF604FB016101EB012601EBC611C90DAB +S214007FC061F3040A62F34A1A63F3CF2A1FFA8AF1AE +S214007FD02B88298002460235A8450FD017F8010FD6 +S214007FE00028F8D09042BED0FF28B5D0079B03FBF0 +S214007FF000FECEF3072EB9E70899E9E705980C9C32 +S214008000204405900A98013004460A9006980B9D75 +S21400801028440690BDF9460084423FF79AAB0D9877 +S2140080200028EBDD059805460E9C00EB0408069F2D +S214008030D4E7BDF82450B9F1010F40D0B9F1020FD2 +S21400804032D1834B0593BDF8242002F01F08C2F3FB +S2140080504516C2F3C4239946BA8A01323B8AD31A1C +S2140080601FB2CDF824C00CFB07F3069A02EB4302BE +S2140080700792012C26D001300A9A801A02B20C927E +S214008080089A0B99521A0892069A32F81320F44569 +S2140080903FF75FAB7B000B9310460021CDF818B07E +S2140080A0CDF828B0CB46B0E06A4B00936A4B4FF44D +S2140080B004726A4902206A4CA047FFF74ABB694B24 +S2140080C00593C0E74FF0000A0BFB09F303EB032010 +S2140080D003EBC013C3F3C4500BFB06F303EB0322FE +S2140080E003EBC213C3F3C5520BFB08F303EB0321E8 +S2140080F003EBC113C3F3C453F4453FF72AAB79002F +S2140081000891CDF818B0CB463AE0217863F3040125 +S2140081102170218862F34A112180090A60F3C701A1 +S214008120617009F101090237BDF9441089451ADC6E +S2140081303C461FFA8AF1B7F800E07145E5D0B7F87B +S21400814000A068F3040566F34A156BF3CF25069A7C +S21400815051462846059B984700F01F03C0F345127A +S214008160C0F3C420D1E70799089C214407910999D8 +S21400817001310C460991BDF946108C423FF7E9AA39 +S214008180BDF94070B946BDF944108F42EBDC079943 +S21400819001EB4707CCE7F92B9DBF0A9A5343C3F37D +S2140081A00722069A68F3040566F34A156BF3CF2593 +S2140081B021882846059B984780B29AF800102288A6 +S2140081C0208009F1010901370234BDF94430994590 +S2140081D00ADCBA463B78002BF3D08B42DBD1B4F8EE +S2140081E000E09645D7D1EBE7079B0B9C234407930B +S2140081F0089B0C9C23440893099B01331C46099357 +S214008200BDF946309C423FF7A4AABDF94040A146BE +S214008210BDF944309C42E7DC089B1F19079B03EB23 +S2140082204404D6E7089B00210D9A8A42FFF678AEF2 +S2140082300433C81C059A02EB40000E950D9FF4E42B +S214008240089B00210D9A8A42F2DA1A4619E600BF08 +S21400825087760000784C02002C4C0200484C020046 +S21400826045220100D17500002DE9F04F91B09DF830 +S21400827068409DF86CA09DF87050BAF1040F00D9C4 +S21400828014B911B0BDE8F08F049307920F4601466B +S2140082903A460EA8BC4B98470028F2D0BB4B9847EE +S2140082A08046BB4B9847064683680593028ABDF80E +S2140082B038309B1A9BB20693BDF918C0ADF838C08B +S2140082C0438ABDF83AB0ABEB030B1FFA8BFB0FFAF1 +S2140082D08BFEADF83AE0BDF83C10891A89B2ADF8CD +S2140082E03C10BDF83E00C01A80B202B20892ADF84B +S2140082F03E20049AD2B198F8083013F0010F15D139 +S21400830001F10109069BA9EB03090FFA89F9B9F1F6 +S214008310000F0BDD134691441A78802A4FF0FF3287 +S21400832098BF002203F8012B4B45F5D1D8F814303E +S214008330002B00F0A980954B98470546B6F910002B +S214008340B38A01331B1A1BB20693BDF93810B7F96E +S2140083500020B7F8049009F10109A9EB02090FFA09 +S21400836089F9BDF93AE0B7F90230B6F912609B1BFD +S214008370AEEB0303121A8A1A09FB03234FEA410BDA +S214008380CBEB430B079B5B449B46012C46D0049BE0 +S2140083905B1A0793BDF93E309E453FF772AFBDF9B5 +S2140083A03C304FEA490208920133591A0BB209933E +S2140083B0F146BDF938603446BDF93C309E4220DCBB +S2140083C0079B03EB06080BEB46060FFA89F70496A5 +S2140083D018F8013B03FB0AF3C3F307230293049A3E +S2140083E032F8023B0492ADF80430009723B2069AA6 +S2140083F0059928466E69B0470134BDF93C309C4269 +S214008400E6DD079B099A13440793089B9B4409F1F2 +S2140084100109BDF93E309945CBDD32E7BDF93E3066 +S2140084207345FFF62EAF4FEA4909F046BDF938709E +S2140084303C46BDF93C309F421EDC0BEB47070FFA6B +S21400844088F6049733465646CA4699460296049AD4 +S21400845032F8023B0492ADF80430CDF8009023B217 +S214008460069A059928466F69B8470134BDF93C302D +S2140084709C42EBDDD146B246CB4408F10108BDF97B +S2140084803E309845D2DDFCE6002D40F09983B6F9E3 +S2140084901030B6F8148008F10108A8EB03080FFAAC +S2140084A088F80131069A891A0AB2099215460130EF +S2140084B0A0EB0B0B0FFA8BF20892B7F90010B7F887 +S2140084C0049009F10109A9EB01090FFA89F90EFBDD +S2140084D008C2059800EB42020592B7F90220B6F9E9 +S2140084E01200121AAEEB020ECB1AACEB030309FB1A +S2140084F00E33079A02EB43030693244B984706462F +S214008500012C1BD0BAF1FA0F00F2C580089B002B95 +S2140085107FF7B7AE4FEA48030A934FEA49030B9337 +S214008520099B049A013A04925B000D934FF0000BEE +S214008530CDF81CA00C95DDF8189036E3036A5BB303 +S2140085400EA8144B9847F02826D9BDF93A50BDF925 +S2140085503E309D423FF795AE4FEA48084FEA49093C +S214008560DDF814B0069FCDF800A0099B3A465946A0 +S2140085703046346AA047C3444F440135BDF93E3007 +S2140085809D42F0DD7DE600BF01150100515F000051 +S214008590C50F0100E5140100BAF1FA0F10D8089BC8 +S2140085A0002B7FF76EAE4FEA480304934FEA490963 +S2140085B0099B4FEA430B4FF00008CAF1FF0E26E076 +S2140085C0089B002B7FF75DAE099A56004FEA4808D5 +S2140085D04FEA49090024664D9B46059FDDF818A022 +S2140085E0324651463846A8474744CA440134A34554 +S2140085F0F6D146E6059B049A13440593069B4B4426 +S214008600069308F10108089B43453FF43AAE002D57 +S214008610F0DD069B1F46059C03EB0B0C7B78DB0806 +S2140086206278D2080EFB02F20AFB032303EB032256 +S21400863003EBC213C3F3C4533A88C2F3451221882E +S214008640C1F345110EFB01F10AFB021202EB0221F7 +S21400865002EBC112C2F3C55217F8021B01F01F014C +S214008660207800F01F060EFB06F60AFB016101EB00 +S214008670012601EBC611C90D61F3040020702188A4 +S21400868062F34A112180090A63F3C701617002345C +S214008690BC45C3D1AEE7099B043B0A93089B002B5D +S2140086A07FF7EFAD4FEA48030C934FEA49030D936B +S2140086B00023079365E3B8F80030AEF80030634651 +S2140086C001318D4200F0478308F102080EF1020ED8 +S2140086D01CF0030F00F02D831CF8014B002CEED08D +S2140086E0FF2CE8D0C4F1FF0698F80130DB089EF8AE +S2140086F00120D20806FB02F204FB032303EB03224D +S21400870003EBC213C3F3C453B8F80000C0F345101C +S214008710BEF80020C2F3451206FB02F204FB00205E +S21400872000EB002200EBC210C0F3C55098F8002002 +S21400873002F01F029EF8007007F01F0906FB09F6FC +S21400874004FB026202EB022402EBC412D20D3C468A +S21400875062F304048EF80040BEF8002060F34A126C +S214008760AEF80020120A63F3C7028EF80120A6E7CF +S2140087703D26010034F8065C20F8065C34F8045CFC +S21400878020F8045C34F8025C20F8025C258805803A +S21400879004310433083408308E4540F347811A46C6 +S2140087A053F8045C002DF3D0B5F1FF3FE2D013F888 +S2140087B004CCBCF1000F47D0BCF1FF0F00F02481C1 +S2140087C0CCF1FF0914F8055CED0810F8056CF60806 +S2140087D009FB06F60CFB056505EB052605EBC6153D +S2140087E0C5F3C45534F8066CC6F3451630F8067C57 +S2140087F0C7F3451709FB07F70CFB067606EB0627BB +S21400880006EBC716C6F3C55614F8067C07F01F0716 +S21400881010F8068C08F01F0B09FB0BF90CFB0797EA +S21400882007EB072C07EBCC17FF0D67F3040800F8DF +S214008830068C30F8067C66F34A1720F8067C3F0A5A +S21400884065F3C70700F8057C12F803CCBCF1000FEF +S21400885047D0BCF1FF0F00F0DC80CCF1FF0914F824 +S214008860035CED0810F8036CF60809FB06F60CFB33 +S214008870056505EB052605EBC615C5F3C45534F8A6 +S214008880046CC6F3451630F8047CC7F3451709FB9D +S21400889007F70CFB067606EB062706EBC716C6F3AD +S2140088A0C55614F8047C07F01F0710F8048C08F06F +S2140088B01F0B09FB0BF90CFB079707EB072C07EBC5 +S2140088C0CC17FF0D67F3040800F8048C30F8047C1E +S2140088D066F34A1720F8047C3F0A65F3C70700F8DA +S2140088E0037C12F802CCBCF1000F47D0BCF1FF0F9E +S2140088F000F09480CCF1FF0914F8015CED0810F844 +S214008900016CF60809FB06F60CFB056505EB05266B +S21400891005EBC615C5F3C45534F8026CC6F3451608 +S21400892030F8027CC7F3451709FB07F70CFB067601 +S21400893006EB062706EBC716C6F3C55614F8027CE8 +S21400894007F01F0710F8028C08F01F0B09FB0BF945 +S2140089500CFB079707EB072C07EBCC17FF0D67F30D +S214008960040800F8028C30F8027C66F34A1720F8F8 +S214008970027C3F0A65F3C70700F8017C12F8018CF9 +S214008980B8F1000F3FF404AFB8F1FF0F4BD0C8F1B9 +S214008990FF096578ED084678F60809FB06F608FB39 +S2140089A0056505EB052605EBC615C5F3C4552688F3 +S2140089B0C6F345160788C7F3451709FB07F708FBF4 +S2140089C0067606EB062706EBC716C6F3C5562778C7 +S2140089D007F01F0790F800C00CF01F0A09FB0AF901 +S2140089E008FB079707EB072807EBC817FF0D67F389 +S2140089F0040C80F800C0078866F34A1707803F0A11 +S214008A0065F3C7074770C3E634F8065C20F8065CD3 +S214008A101AE734F8045C20F8045C62E734F8025C79 +S214008A2020F8025CAAE725880580B1E60B9D8D42FA +S214008A3040F39481561E4FEA410C069B03EB0C084C +S214008A40059B9C440BE0B8F80030ACF800300131D0 +S214008A5008F102080CF1020C8D4240F37F8116F8F3 +S214008A60014F002CF3D0FF2CEDD0C4F1FF0798F88F +S214008A700130DB089CF80120D20807FB02F204FB59 +S214008A80032303EB032203EBC213C3F3C453B8F868 +S214008A900000C0F34510BCF80020C2F3451207FBE7 +S214008AA002F204FB002000EB002200EBC210C0F331 +S214008AB0C55098F8002002F01F029CF800E00EF067 +S214008AC01F0907FB09F704FB027202EB022402EB04 +S214008AD0C412D20D744662F304048CF80040BCF84D +S214008AE0002060F34A12ACF80020120A63F3C702B3 +S214008AF08CF80120ABE702370236474545D01CF814 +S214008B00011F0029F7D0F9299ABF01FB0AF1C1F32A +S214008B100724079CC4F1FF057B78DB087278D2082F +S214008B2005FB02F204FB032303EB032203EBC21351 +S214008B30C3F3C4533A88C2F345123188C1F34511D2 +S214008B4005FB01F104FB021202EB022102EBC1124B +S214008B50C2F3C552397801F01F01307800F01F0EBD +S214008B6005FB0EF504FB015101EB012401EBC411DA +S214008B70C90D61F304003070318862F34A11318008 +S214008B80090A63F3C7017170B5E7059B0A9A134497 +S214008B9005930B9B99440BF1010B049B099A134414 +S214008BA00493089B5B453FF46CAB0C9B002BECDD01 +S214008BB04F46059E0D9B09EB0308DDF810C09EE7A7 +S214008BC0012D49D0022D3CD1DFF8E081B6F91030F6 +S214008BD00993B08A0130C01A00B2B7F90020BB88EA +S214008BE001339B1A1DB2F1460EFB00FB059B03EBFF +S214008BF04B0BB7F90230B6F912609F1BAEEB0707B6 +S214008C0005FB07F7079B03EB4707012C27D0049BC0 +S214008C10A3EB0C031A46A7EB4C030493089B9E4554 +S214008C203FF72FAB430007936B000893CDF814A0D3 +S214008C304B1C06995B1A1BB20993CDF818A09246F6 +S214008C4066E0564B0093564B40F25332554902208D +S214008C50554CA047FFF715BBDFF85481B6E7099BD4 +S214008C609B1A07EB4307089B9E453FF70AAB43005A +S214008C7004936B0005933B4647469846BDF938304B +S214008C801C46BDF93C20934210DC5B000BEB030551 +S214008C9008EB03065246298836F8020BB84725F833 +S214008CA0020B0134BDF93C309C42F3DD049B9B442F +S214008CB0059B984409F10109BDF93E309945DDDD73 +S214008CC0FFF7DFBA013502360234BDF93C309D426B +S214008CD00FDC17F8013B002BF4D0F92B9DBF069A4A +S214008CE05343C3F30722059A31882088C047308053 +S214008CF0E8E7079B9B44099B9A44049B089A134405 +S214008D00049309F10109BDF93E3099453FF7B9AA28 +S214008D10BDF938301D46BDF93C209342E9DC0AEB2C +S214008D2003075B000BEB0306049AD418D1E7049BF9 +S214008D3000210A9A8A420ADD0433C81C4000069ABB +S214008D401418059A10440B95DDF828E027E51A4616 +S214008D5070E6049B00210A9A9142EDDB059B0C9A73 +S214008D6013440593049B099A13440493069B0D9A97 +S214008D7013440693079B01330793089A9A423FF4DD +S214008D8080AA002DE5DD049A12F0030FCFD0DDF89F +S214008D901880DDF814E0944600219DE4784C02002B +S214008DA03C4C0200484C0200452201008776000039 +S214008DB0D17500002DE9F04FBDB01B9023911746EA +S214008DC008939DF818310A939DF81C3106934B1EA4 +S214008DD0C81D3AAA13F8011F02F8011B8342F9D1F5 +S214008DE0A34B9847A34B98471890018ABDF8E830E4 +S214008DF05B1AADF8E830428ABDF8EA309B1AADF847 +S214008E00EA30BDF8EC305B1AADF8EC30BDF8EE3069 +S214008E109B1AADF8EE30984B9847199030B9089ADF +S214008E2053881BB91389B3F5807F71D0069B002B3E +S214008E3014BF4FF0030B4FF0020B1B990B46B1F912 +S214008E4000208D880135AD1A2DB2BDF9EA00189EB6 +S214008E50B6F91210D846BDF9E840B6F91060B3F975 +S214008E6002305B1AC31A921BA21A05FB032303FBEC +S214008E700B731493A4B2A21992B2ADF89820BDF861 +S214008E80EC3001331B1B9BB21CB21694013B1344FF +S214008E90ADF89C3080B243181BB2ADF89A30ADF8EE +S214008EA09E30BDF8EE600136361A36B208994B8809 +S214008EB0002B40F053830B89B3F5807218BF012254 +S214008EC00592199A002A40F07083B3F5807F40F02F +S214008ED049830A9B23B98B7A13B9069B002B31D1A1 +S214008EE03AA8664B9847B0F5F07F40F2AC804FF456 +S214008EF07070634CA0471A904FF4F070A04717901C +S214008F00482128A85F4B98474FF4F0731C93E4E081 +S214008F100A9B002B8AD1069B8BB9937A13B14FF02C +S214008F20020B8AE7937B0293137801930123009345 +S214008F3000233A461B992398534CA0470BE34FF067 +S214008F40030B7AE73AA84D4B9847B0F5F07F14D854 +S214008F503AA84A4B984781464FEA4900484CA047F2 +S214008F6082464846A04704460596002E4FDD08FB7D +S214008F7005F80025AC46149E25E04FF4F079EBE7A3 +S214008F805B44023796450AD0997802F8011B0029FF +S214008F90F6D05878197801EB00213980F0E746447E +S214008FA0BDF8EC300133BDF8E8209B1A0CFA83F3C9 +S214008FB0994514D9BDF89E300133ADF89E30013581 +S214008FC0059B9D4223D0169B002BE8DD04EB0C028C +S214008FD00AEB4C079C4404EB0C0E3346D4E7089A85 +S214008FE0937B029313780193022300932346524601 +S214008FF026A92398244FB847BDF89E3001331BB2EC +S214009000ADF89A30ADF89E304FF0000CD7E7BDF9BA +S2140090109E30BDF99A209A420FD0013BADF89E30A3 +S214009020089A937B029313780193022300932346B6 +S214009030524626A92398144DA8472046134CA0470D +S2140090405046A04787E23AA80C4B98471C901C9BBA +S21400905058000B4CA0471A901C98A0471790482120 +S21400906028A8084B9847059B002B36D091E200BFF6 +S214009070515F0000C50F0100ADBE0000E514010001 +S214009080252901001F2B01006982000059250100D7 +S214009090052208984388ADF8AC300389ADF8AE30A9 +S2140090A02897ADF8A4501B99CB88013349885B1AE2 +S2140090B0ADF8A6308DF8B2208388ADF8A830C38806 +S2140090C0ADF8AA308389ADF8B030C37BC3F3000394 +S2140090D08DF8B33028A8934B98470898837ADA43DC +S2140090E0D2B2129203B39BB2427BD20802FB03F2C7 +S2140090F010928289C2F3451202FB03F21192027BA0 +S21400910002F01F0202FB03F31393069B8BB90A9B24 +S21400911053BB089A538853BB1389B3F5807F14BF9B +S214009120022301231D9306E000231393119310934B +S214009130EBE702231D93199BE3B9189BB3F9123092 +S214009140BDF9EA2013441B9AB2F902209B1A229317 +S2140091501F96002E40F3E48108FB05F31E930023C0 +S2140091600E930F93D14654E102231D93E3E70223A7 +S2140091701D93E0E71C9917986B4B9847DDE70C9B0F +S2140091802B441BB2BDF9A8209B1ABDF9AA200D9945 +S2140091908A1ABDF8AE10B1F5807F56D0BDF9AC1076 +S2140091A0002965D1BDF8D610319C01FB0343099315 +S2140091B0329B01FB02330B93099B1F12BDF9A430AF +S2140091C09F4280F2AB80002FC0F2A8800B9A12124A +S2140091D010461592BDF9A620904280F29F80002886 +S2140091E0C0F29C809DF8D42012F0040F6AD0289913 +S2140091F012F0020F55D103FB00735A00881811F8BD +S21400920013308DF8B43043788DF8B53002219DF8D0 +S214009210D43013F0010F0DD0209B6FF3040343F4FA +S214009220FC636FF3CF23ADF88030BDF8B4009BB27B +S214009230984273D09DF8B330002B59D19DF8B630C4 +S2140092408AF80030BDF8B43086E03498339900FBD5 +S21400925003F401FB1247319C04EBE714099400FB6E +S21400926002F201FB0323329A02EBE3130B93A3E70C +S214009270BDF8D61001FB03F301FB02F234993398D4 +S21400928001FB03F400FB1247319C04EBE73409941E +S21400929001FB02F200FB0323329A02EBE3330B934B +S2140092A08AE7159A03FB027303EB43028B18895C6B +S2140092B08DF8B41059788DF8B5109B788DF8B630C7 +S2140092C00321A4E739B2BDF95420BDF8B030259289 +S2140092D024912EA8154CA047ADF8B400259A2499E1 +S2140092E02EA8134B98478DF8B600002211468EE73D +S2140092F0BDF82430ADF8D830BDF82C30ADF8DA30F3 +S214009300ADF8DC70BDF85430ADF8DE3038928DF82C +S214009310E41028A8074B984700288FD100238AF826 +S21400932000303DE035EB0000D52B010001E90000E0 +S21400933031EA0000E5ED0000E0070000FF238AF8B0 +S21400934000307278337803EB02239BB20A9A1AB184 +S2140093503FF81C209A4236D0089A927AEAB1BDF8B5 +S2140093604820D90A109801FB0201C1F30421C3F377 +S2140093704510119C00FB0240C0F3052003F01F03BC +S214009380139C03FB0243C3F3072363F3040960F350 +S2140093904A1961F3CF291FFA89F3079A22F8153084 +S2140093A001355E440AF1010A454510D0059B002BA5 +S2140093B07FF4E5AE069B002BC0D0B3788AF8003069 +S2140093C0002BEDD0BDE700238AF80030E8E7169BB7 +S2140093D00F9A9C18199B002B3ED1149B1E9A13447F +S2140093E01493BDF8EC300133BDF8E8209B1A04FA5C +S2140093F083F31C9A9A425CD9BDF89E300133ADF8CF +S2140094009E300F940E9B01330E931F9A934200F0EA +S2140094108780189BB3F91030BDF9E82013441B9AD7 +S214009420B2F900209B1A0C93169B9846002B11DD70 +S214009430179B19460F9A01EB020A1A9B194601EB75 +S21400944042030793149E0025229B0E9A13441BB2D8 +S2140094500D93ABE70F9CBDE70F9B179A13441E4670 +S214009460BDF8E810BDF8EC3001335B1ABDF8EA2011 +S214009470189D688A02440E980244288A01441BB24A +S21400948012B209B230464E4DA84728B102281D9A9E +S21400949008BF02461D92A0E7BDF8EC100131BDF8EA +S2140094A0E830C91A09B23046464B984702231D9346 +S2140094B093E7089DAB7B02932B7801931D9B00934B +S2140094C0179B1A9A26A923983F4CA047BDF89E30B2 +S2140094D001331BB2ADF89A30ADF89E30069B5BB9EF +S2140094E00A9B83B96B888BB92B89B3F5807F14BF31 +S2140094F0022301231D9301E002231D93199B43B908 +S21400950000230F937EE702231D93F7E702231D93A4 +S214009510F4E71C9917982D4B984700230F9371E793 +S214009520BDF99E30BDF99A209A420FD0013BADF8A6 +S2140095309E30089A937B0293137801931D9B0093A9 +S214009540179B1A9A26A923981F4CA0471798204CB9 +S214009550A0471A98A0473DB0BDE8F08F199B13BBF3 +S214009560012305933AA81B4B9847B0F5F07F7FF68A +S2140095706AAD4FF47070184CA0471A904FF4F07014 +S214009580A0471790482128A80E4B98474FF4F07331 +S2140095901C93069B002B7FF47BAD0A9B002B0CBF15 +S2140095A00422062275E5012305933AA8094B98473D +S2140095B0B0F5F07F7FF647AD4FF4F0731C9346E5A9 +S2140095C005BE00001F2B010069820000D52B01009C +S2140095D059250100E51401002529010070B59EB04B +S2140095E004460D46164609A80B4B98470B4B1B889E +S2140095F0ADF8263009AA29462046094B984702A806 +S214009600084B984700230093334602AA2946204673 +S214009610054CA0471EB070BD51C20000A04C020011 +S21400962019C30000B59900000D9A000010B5044655 +S21400963010210C4B9847237B6FF304032373A389F5 +S2140096406FF34A13A3811B0A6FF3C7036373FF23E9 +S21400965023704FF480732381E37B43F00103E373AD +S21400966010BD00BF1F2B010004380A2813D8DFE8FE +S21400967000F00608060A0C0E100A0C0E1000102049 +S214009680704718207047012070470220704704205A +S21400969070470820704700207047032805D002D383 +S2140096A00638042801D90020704701207047023888 +S2140096B00C2808D8DFE800F0090707090709090998 +S2140096C009090909090000207047012070470000B9 +S2140096D02DE9F04F8FB005460E463AB11C461046AF +S2140096E01B78052B10D80FB0BDE8F08F844B009385 +S2140096F0844B4D2284490220844CA047844A31463C +S2140097002846844B9847EEE7A189834B984707463F +S214009710002800F0B58090F80C9009F01F09484624 +S2140097207E4B9847804648467D4B98478146BB69A6 +S2140097306BB17C4B00937C4BF72273490220734C31 +S214009740A047BA6931462846724B9847CBE73B6933 +S214009750002B49D06B1EE81D0AAA13F8011F02F859 +S214009760011B9842F9D163881BB92289B2F5807F24 +S21400977028D0EA8801326988521AA98801312888D7 +S214009780091A201D0190208900901BB212B209B25E +S2140097900AA8DFF8B8A1D0472A88BDF828301344B5 +S2140097A0ADF828306B88BDF82A101944ADF82A1099 +S2140097B0BDF82C100A44ADF82C20BDF82E2013441A +S2140097C0ADF82E300AAA31460CA8584B9847002808 +S2140097D089D03A69CDF80490CDF8008023460CA9CC +S2140097E02846534CA0477EE72A46314608A84F4BEA +S2140097F0984700283FF477AFBDF824300133BDF812 +S21400980020209B1A1BB2039303EB4300494B984757 +S21400981002900DF11F020AAB0CA812F8011F03F804 +S214009820011B8342F9D101210AA8434B9847BDF991 +S2140098302030B5F90020BDF922A0B5F90210AAEB38 +S21400984001010846BDF926108A4555DCDFF8DCB074 +S2140098509B1A1BB20593079506944446804623E060 +S214009860079D0498354B9847354B00932E4B4FF485 +S2140098709A7225490220254CA0470298314B9847FA +S214009880284B00931F4B58221F4902201F4CA0470D +S2140098901F4A314628461F4B984724E70AF1010A1B +S2140098A0BDF926309A4527DC0AAA31460CA8D847C7 +S2140098B00028F3D00497029B0093039B0FFA88F2CC +S2140098C005993846204DA8470128C9D1CDF80490FF +S2140098D00094069B029A0CA90AA8154DA847BDF845 +S2140098E02A300133ADF82A30BDF82E300133ADF8FA +S2140098F02E3008F10108D1E70298124B9847F2E69D +S214009900F44C0200A44C0200C44C020045220100A4 +S2140099100C4D0200DD950000E9F100009B9600006A +S214009920AF960000144D0200B04C02000115010075 +S214009930B58D000025290100DB1401001DFF000085 +S214009940284D020059250100F9FE00004DEC0000EC +S21400995058B10278A2F12003DBB25F2B07D952B2CE +S214009960002AB4BF02200020704703207047012061 +S2140099707047A0F13003DBB2092B17D9602884BFEB +S2140099802038C0B2413805280ED8DFE800F01103B1 +S2140099900507090B0B2070470C2070470D207047F9 +S2140099A00E2070470F2070470020704718467047FB +S2140099B00A20704710B504461C21124B9847FF2317 +S2140099C0237223786FF30403237023886FF34A13FC +S2140099D023801B0A6FF3C70363700B4B63604FF65D +S2140099E0FF73E3812382A37843F01F03A370638889 +S2140099F06FF34A1363801B0A6FF3C703E3700023F9 +S214009A00A37510BD1F2B0100100000202DE9F04F9C +S214009A10D9B0629C157A052D01D91D7815B959B0B3 +S214009A20BDE8F08F0A9393460A460D9105461390BB +S214009A30DBF804300593014656A8AA4B9847002841 +S214009A40EDD09BF8172012F0020F21D1AB8801331E +S214009A502A889B1A1BB2059AB2F908A0BBF90A908D +S214009A60D1441399B1F900201F92B1F90200BBF955 +S214009A7012201A92BBF91410421892B215B2002C9A +S214009A804AD000294BD1002814DB0E95002629E089 +S214009A90BBF90C30029247F618420192BBF90A2035 +S214009AA00092DBF804200A993AA88F4DA847BDF922 +S214009AB0E830D0E7A168081A80EAE071A1EBE0710F +S214009AC0C9F50070B1EB400F05DD4FF0FF322260A4 +S214009AD00E95002606E02668002E23DB61680A4401 +S214009AE012B20E921BB219461093BBF90C209BF8CB +S214009AF0173000930B4605990A9830447B4DA847CB +S214009B0083192F46DFF8F8813146CDF81890D146F4 +S214009B100E9D26461C460FE00E950026E2E70E95A3 +S214009B200026DFE70E950026DCE721469AF800308F +S214009B30002B3FF474AF044605EB09030D9AB2F907 +S214009B400220934220DA0A9B03EB040ABBF90C209E +S214009B509BF817300093109B05995046B847204451 +S214009B60069B1D442DB2002EDFD04545DDDB336855 +S214009B70002BDADA3460139AB2F90230EB1A73600B +S214009B80B2F90230B360D0E70E460794DDF81890BD +S214009B900E959BF8172012F0040F2FD112F0080F25 +S214009BA045D19BF808300B93BBF80E70BBF810300D +S214009BB0194608939F4202D93B460F4608939BF8E6 +S214009BC0183013F0030F49D13DA8494B9847BBF80E +S214009BD00230ADF8F6300B9BFA2B88BFFF231693A6 +S214009BE01FFA89F31793BDF8383011931F9D002391 +S214009BF01993BA46D846B34600F0D3BDBBF90C302D +S214009C00A11B0092059A89B20A983044394CA047A5 +S214009C10139A9388013312889B1A1BB2181A00EB0A +S214009C20D0701F9B03EB60031BB21F93B9E7BBF911 +S214009C300C300799891B0092059A89B20A9830441D +S214009C402C4CA047139A9388013312889B1A1BB298 +S214009C501B1A1F9A13441BB21F93A2E753A8264B46 +S214009C609847BBF80030ADF84C31DBF80430B3F958 +S214009C7008300533214A82FB0312DB17C3EBA2032D +S214009C80ADF84E319BF808308DF854319DF85531BB +S214009C909BF8192062F301038DF8553194E70025EF +S214009CA0AAE00025A8E0069B2BB9BDF84831199319 +S214009CB0012306938AE0069B012B00F0F185022B18 +S214009CC000F03385B8F80060B5E0202C7ED1529BBA +S214009CD0199A9B1A072B15D0B8F800300C9302235C +S214009CE0069373E00115010065400100993D0100EF +S214009CF051C20000C53F0100C9A80000676666663D +S214009D0000FCFFFF099B9818431E05303AAA13F87B +S214009D10011F02F8011B8342F9D19DF8E8008C4C24 +S214009D20A04705469DF8E900A04700EB05159DF8FD +S214009D30EA00A04706469DF8EB00A04700EB061693 +S214009D409DF8EC00A04707469DF8ED00A04700EB05 +S214009D500713C3F3C4032E9A63F304021346C6F331 +S214009D60850666F34A13C5F3C40565F3CF23ADF83D +S214009D70B8309BB20C930223069327E0ADF8E8A018 +S214009D800E9AADF8EA20B8F80C30013B5344034471 +S214009D90ADF8EC30179B013B1344ADF8EE303DAA0E +S214009DA00D993AA86B4B984756E06B4B00936B4B5C +S214009DB040F297126A4902206A4CA047002F05DD40 +S214009DC0B8F80C3053443B440FFA83FA5299079B79 +S214009DD0A3EB0B038B4240F2AC844FF6FF7399451E +S214009DE03FF45DAF089A9A423FF45BAF59440A9835 +S214009DF05D4B1B68984785B25C4E336852A9099F35 +S214009E0038469847044633680021529838449847A5 +S214009E1098F8173013F0010F06D0232C3FF443AF09 +S214009E20069B012B3FF451AFB8F800600C9B069AD6 +S214009E30022A08BF1E460246214605984C4B984704 +S214009E4007464FF6FF73994506D00899994203D006 +S214009E50A94501D8A94291D80B9B042BAED9059BE6 +S214009E60002BA2D098F819300F93002322463AA967 +S214009E700598404DA84758B91F2C9FD93E4B0093D4 +S214009E80364B40F2A11236490220364CA04795E7E1 +S214009E90BDF8EC201AB9BDF8EA30002B8ED0BDF91B +S214009EA0EE505544BDF8EA302B440D98B0F900103A +S214009EB08B4283DBB0F904309D423FF77FAF059BB2 +S214009EC0B3F90810B3F90A30CB1A0E990B44991A55 +S214009ED0BDF9F030CB1A15931A44B0F902309A4205 +S214009EE0FFF66CAFB0F90630159999423FF766AFAA +S214009EF021460598214B98478646F0B1059B1B7B6B +S214009F0013F0030F00F05E822BB21893BDF95430A5 +S214009F101D939DF8F2301293032B00F0FF80013B57 +S214009F20072B00F20281DFE813F00A012D00000182 +S214009F30FB000001000100011101114B0093074BCB +S214009F4040F2B71206490220064CA04736E700BF8B +S214009F507399000019C30000D04E0200604E020044 +S214009F60A04E020045220100640000205800002098 +S214009F704900010041000100F04E020039000100D6 +S214009F80184F0200C0231B93AC4B2093BDF8EA3059 +S214009F901E93BDF8EC10129A02FB03F20D9BB3F968 +S214009FA00030189C9C42BABF1B1B03EB43030023E4 +S214009FB027930D9BB3F904301E980446A04880FBF7 +S214009FC00440189C20449842C3BF1B1B013303EB7C +S214009FD043031E9B14930D9BB3F902301D9C9C42B9 +S214009FE0B4BF1B1B002325930D9BB3F906301D9CA5 +S214009FF00819984240F3B1801B1B0133289306F0E2 +S21400A0001F032293C6F345132493C6F3C423239356 +S21400A010129B1846279B00FB03F3259800FB023291 +S21400A0200EEBE206319602F007061E9801FB00F1E1 +S21400A030B1F5F07FA8BF4FF4F07129910846814C26 +S21400A040A047219029994800A04730907E4B98471A +S21400A0507E4B9847B0F91040838A01331B1B19B218 +S21400A06026918168279B764A82FB03E2A2EBE37285 +S21400A070B0F912301D98C31A2698864618980EFB1B +S21400A08003031B1B259C0EFB0420034401EB43012A +S21400A0901891ADB22A44ADF8E020149A9646684965 +S21400A0A081FB0EE3A3EBE273013D2B44ADF8E430F5 +S21400A0B0159D25442BB2ADF8E230ADF8E630644B82 +S21400A0C098472A90289DAC4280F261811499279A7D +S21400A0D08C1A2B941E9D6B1A1344129901FB03F3E2 +S21400A0E02C93574A82FB0423C3EBE473269803445D +S21400A0F05B002D93002326931593CDF8C8B0CDF8BA +S21400A100CC903497DDF86090DDF8C4B0CDF8C4A0EC +S21400A110DDF8C0A0CDF8D4808846EAE00423129388 +S21400A120F0231B934B4B209330E74B4B00934B4B4A +S21400A13040F27A224A4902204A4CA0473EE60123D2 +S21400A140129380231B93484B20931FE708231293F8 +S21400A150FF231B93454B209318E728914FE7B8F150 +S21400A160080F04D0DBB2209AD25C00E0159A58ABF8 +S21400A1700B4403F8842C0131032928D0B44540F35E +S21400A1809480129B43441E462EFA08FE0135149B0B +S21400A190AB4200F0908012969BF8003003EA0E0265 +S21400A1A0ACEB060322FA03F313F0FF02DED0169898 +S21400A1B0FF28D4D0B8F1080F0FBFDAB2DBB2209A6E +S21400A1C0D25C169B03FB02F2C2F30722CFE79DF890 +S21400A1D0DC109AF80130DB08C1F1FF00239A01FB7E +S21400A1E002F200FB0323C3F304231D939DF8DE3025 +S21400A1F018939AF8002002F01F02C3F1FF00229B7A +S21400A200189C04FB03F300FB0232C2F304231E93E4 +S21400A2109DF8DD00BAF80030C3F34514C0F1FF0323 +S21400A220249A00FB02F203FB0423C3F30523F9B9C7 +S21400A230F0B9189AE2B9219AD1551DE04C4D0200AA +S21400A2405655555525290100515F0000C50F0100E0 +S21400A250ADBE0000504D0200484F0200704E020096 +S21400A260A04E020045220100484D0200604D02004B +S21400A270219A4FF0FF31D15509EB470019F8171016 +S21400A2801E9A62F3040109F8171039F8172063F3D1 +S21400A2904A1229F81720120A1D9B63F3C702427060 +S21400A2A001370AF1020A002168E70BF1010BDDF81D +S21400A2B06CE0159E6AE75346CA4699462A9B4BBBF6 +S21400A2C02B9B3B44299A9A4241DDBDF8E630013388 +S21400A2D0ADF8E63026972C9B1E440BEBE60B06F0FB +S21400A2E007062D9B9944259B01332593289A934274 +S21400A2F044DA1B9B23FA06FE279D149A954207DA3A +S21400A300269F0021C8F1080C4B46D1469A4642E7E4 +S21400A310269FD3E7269B219A13441C46BDF9E010DE +S21400A320BDF8E43001335B1A1BB2BDF9E6202046C7 +S21400A330AB4DA8470028C3D1BDF8E4100131BDF8E5 +S21400A340E030C91A09B22046A64B9847B8E70F9BDB +S21400A3500293169B019302230093219B524638A931 +S21400A3600D98A14CA047BDF8E63001331BB2ADF8FE +S21400A370E230ADF8E63000232693ACE7DDF8C8B04F +S21400A380DDF8CC90349FDDF8C4A0DDF8D480BDF9AC +S21400A390E630BDF9E2209A420ED0013BADF8E63039 +S21400A3A00F9B0293169B019302230093219B309AE6 +S21400A3B038A90D988C4CA04721988C4CA047309813 +S21400A3C0A047FBE42CB2BDF95400ADF88C609DF8B4 +S21400A3D0F2302093032B00F0C180013B072B00F2E4 +S21400A3E0C580DFE813F0CD000800C300BD00C30041 +S21400A3F0C300C300D5000423C02212927C4A2292D6 +S21400A4001699F9292BD87B4A92F800218A4200F047 +S21400A410C880D3B1229E721E76490139013B06EBF5 +S21400A420030C169B1E46CDF850B09B4612F8013F13 +S21400A430FF2B1ABF0BFB03F3C3F30723334601F8C6 +S21400A440013F9445F2D1DDF850B06A4B9DF8582094 +S21400A45083F80021209AC3F804211C9B2293BDF8A0 +S21400A460EA302493BDF8EC20209901FB03FC0D9BF9 +S21400A470B3F900309C42B4BF1B1B002314930D9B02 +S21400A480B3F90430249921449942C6BF1B1B0133FB +S21400A490249B25930D9BB3F902309842B4BF1B1A38 +S21400A4A0002326930D9BB3F9063011189942C3BFBB +S21400A4B01B1A01331B931B92149B2193209903FBB9 +S21400A4C001F4269800FB0C440EEBD40604F00704B7 +S21400A4D0249902FB01FE7246BEF5F07FA8BF4FF43A +S21400A4E0F0721D921046444B98471890ADB2149BDC +S21400A4F0EB18ADF8E030013D259AAB18ADF8E43026 +S21400A500159D269805442BB2ADF8E230ADF8E6303E +S21400A5103A4B98471E902099C1F10805249A149B3F +S21400A520D318259A9B1A01FB03F3209326981B9BAE +S21400A530984280F2DF804FF0000ECDF890B0CDF854 +S21400A540989027970F461595CDF8A0A0DDF894A013 +S21400A5508146CDF89480DDF888807AE00423209345 +S21400A5601023F0221292264A229249E7254B0093A6 +S21400A570254B40F2E51225490220254CA0471DE454 +S21400A58001232093022380221292224A229237E746 +S21400A590082320934FF48073FF2212921E4A2292C1 +S21400A5A02EE7144AD2F80421209991427FF431AF65 +S21400A5B04BE701361298002401318C452ED03378B3 +S21400A5C003402A1BD34013F0FF0F1ABFDBB218F864 +S21400A5D0033000230B70A542EBD93C44F840EBE770 +S21400A5E005BE00001F2B01006982000059250100EE +S21400A5F04C4D0200502A002025290100ADBE000067 +S21400A600504D0200704F0200844E0200A04E020021 +S21400A61045220100484D0200604D020015951E9B24 +S21400A62053BB149BAAEB03035B441D9A9A423FD983 +S21400A630BDF8E6300133ADF8E630DE46209B1C441C +S21400A64006EBD40604F0070409F101091B9B9945A3 +S21400A65047DA129B23FA04F0149B53450ADA189A39 +S21400A66002EB0E01219BAAEB030BF34402EB0B0C4F +S21400A670159DA4E7F346D2E7189B73441846229329 +S21400A680BDF9E010BDF8E43001335B1A1BB2BDF92A +S21400A690E620854DA8470028C3D1BDF8E410013157 +S21400A6A0BDF8E030C91A09B22298804B9847B8E73F +S21400A6B00F9B0293FF23019302230093189BBDF880 +S21400A6C08C2038A90D98DFF8E8B1D847BDF8E630F9 +S21400A6D001331BB2ADF8E230ADF8E6304FF0000EB5 +S21400A6E0ACE7DDF890B0DDF89890279FDDF8A0A0E5 +S21400A6F0DDF89480BDF9E630BDF9E2209A420FD02D +S21400A700013BADF8E6300F9B0293FF230193022333 +S21400A7100093189BBDF88C2038A90D98644CA04770 +S21400A7201898644B9847FFF749BB00230693FFF73A +S21400A7304DBB5346CA46994698F8183013F0020F98 +S21400A74046D198F8183013F0010F62D10A9A079D87 +S21400A7505619B8F90C2098F817300093109B0599F5 +S21400A7603046554CA0474419139BB3F9005098F84F +S21400A770172012F0040F6CD112F0080F7ED10E9B3A +S21400A78017990B441BB2119A0A4492B21192DDF843 +S21400A7901CB00E930D9AB2F906209A42FFF63FA916 +S21400A7A007940A9A13465B44099312F80B30002B61 +S21400A7B03FF435A91A9B1D440FFA85F900235293DE +S21400A7C006933E4B1C934B46D1469A46FFF7FEBA7D +S21400A7D0BDF87C30ADF8E030D8F80430B3F9083076 +S21400A7E003EBD372BDF94E3103EBD3735B1003EB6F +S21400A7F06203119A13441BB2ADF8E230ADF8E8904C +S21400A800ADF8EA3053AB0D9A3AA938A82C4CA047BD +S21400A81097E7BDF87C30ADF8E030D8F80420BDF9F5 +S21400A8204E3103EBD3735B10013311890B4452890D +S21400A8309B1A119A13441BB2ADF8E230ADF8E890BB +S21400A840ADF8EA3053AB0D9A3AA938A81C4CA0478D +S21400A8507CE7B8F90C300092059A01463046194E4E +S21400A860B047139A9388013312889B1A1BB2181AA2 +S21400A87000EBD07005EB60052DB280E7B8F90C3020 +S21400A8800092059A014630460E4EB047139A9388BA +S21400A890013312889B1A1BB2181A05442DB26EE7B4 +S21400A8A000230693FFF70EBA05BE00001F2B01001B +S21400A8B03977000059250100993D0100502A0020F3 +S21400A8C0F9A80000C53F010010B504460A21094B4F +S21400A8D0984701236380FF23237223786FF30403D2 +S21400A8E0237023886FF34A1323801B0A6FF3C70372 +S21400A8F0637010BD1F2B01002DE9F04FCBB0B3F9EC +S21400A9000250002D00F018841C7A052C40F21484A6 +S21400A910B0F90060B1F90070BE4200F030811C460C +S21400A920964608920791069005EBD575C5F34F0538 +S21400A930BE42D4BFC5EB0603C5EB0703ADF8203116 +S21400A940BE42ACBFAB19EB19ADF824310F46B1F9D6 +S21400A95002200646B0F902309A42D4BFC5EB020187 +S21400A960C5EB0301ADF822119A42ACBFAD18ED1845 +S21400A970ADF82651724648A90846AB4B98470028C2 +S21400A98000F0DA83B6F90260B7F90250AE4200F082 +S21400A990FE80069BB3F900301A460593079BB3F971 +S21400A9A000A0524500F00182AE4206DB33462E463A +S21400A9B01D46059BCDF814A09A46059BAAEB0303FB +S21400A9C00993AA1B0A92002BB8BF5B429B46002A3B +S21400A9D0B8BF52429046B4F902909342C7BF5301A3 +S21400A9E093FBFBF34FEA4B1393FBF2F38F4AD35CD4 +S21400A9F009FB03F909F13F094FEAE9131F469BB229 +S21400AA0005988245D4BFC3EB0A02C3EB0002ADF83B +S21400AA1038208245ACBF03EB0A021A18ADF83C207A +S21400AA20B542D4BFC3EB0502C3EB0602ADF83A202D +S21400AA30B542ACBF5B199B19ADF83E3048AA0EA9CB +S21400AA400846794B9847002800F072834FEA292978 +S21400AA5007F001034B440B93C34540F3B682099AB3 +S21400AA60002A40F38E821FFA86FB1FFA89F31FFA2C +S21400AA7085F9ABEB030200210191A9EB03031BB29E +S21400AA800093534612B2059912A8694FB847BDF80D +S21400AA902C800BEB080201230193C1440FFA89F3C3 +S21400AAA00093534612B205991DA8B847002112A874 +S21400AAB0DFF89C81C0470B9000211DA8C0470C9072 +S21400AAC0637A13F0100F00F0A4824FF0FF330D935B +S21400AAD00A93584B9847584B98478246068ABDF8C3 +S21400AAE03850AD1BAAB2ADF83820408ABDF83A10EF +S21400AAF0091AADF83A10BDF83C309B1B9BB2ADF876 +S21400AB003C30BDF83E10091AADF83E105D1CAD1A7B +S21400AB102DB20EA8494B9847B0F5F07FC0F0A28240 +S21400AB204FF4F07B5846464B98478146BAF81030AB +S21400AB30BDF838201A4412B20592ADF84020BDF890 +S21400AB403C201344ADF84430BDF83A30BAF8122031 +S21400AB5013441BB2ADF84230ADF846305946394B77 +S21400AB609847BAF91220BDF93A601644BDF93E304E +S21400AB7013449E4200F3B98200270994A0E2B0F97C +S21400AB8002E0B1F90240A6457FF4C9AED4E294F8DB +S21400AB900890284B9847284B98470746B4F9023048 +S21400ABA0013B5E1003F001039D19B4F90630002B3B +S21400ABB035D0B4F9048018F1000818BF4FF001082A +S21400ABC0214B984770BB88F00102079BB3F9003011 +S21400ABD00699B1F9001018468B42A8BF0846ADF892 +S21400ABE0A0008B42B8BF0B46013BADF8A4300699D7 +S21400ABF04B885D1BADF8A2503344ADF8A6304AB37F +S21400AC00637A03F003030293CDF8049001230093C4 +S21400AC100023228828A948A80C4DA84788E24FF0B0 +S21400AC200008CDE70022D0E7011501008C4F020096 +S21400AC30D1BE0000515F0000C50F0100E514010001 +S21400AC4025290100D52B0100ADBE00003977000094 +S21400AC50A9BD000028AA48A91046A14B984700287D +S21400AC6000F06682BDF9A0E0B7F910108BB2AEEB2B +S21400AC70030292B20FFA82FCADF8A0C0BDF9A200A2 +S21400AC80B7F81290A0EB0905ADF8A250BDF9A46084 +S21400AC90F31A9BB2ADF8A430BDF8A650A5EB090593 +S21400ACA0ADF8A65001339A1A15B2ADF8CCE0ADF85F +S21400ACB0D060ADF8CE00ADF8D200B8F1000F1CD0D1 +S21400ACC06144B4F90620B4F904301A4491FBF2F357 +S21400ACD002FB13110BB20A9309952846814B98473D +S21400ACE08246BDF9A260BDF9A630B34259DBDFF853 +S21400ACF01092DFF808B2059535E00021EAE7B4F9CE +S21400AD0006E073449A42BABF0AF8001013460B4690 +S21400AD10013000B201331AB2854207DDB4F90430BF +S21400AD209342ECDB1844801A00B2F1E70595022046 +S21400AD30637A03F003030293237A01930090534649 +S21400AD40228833A948A8D847BDF8CE300133ADF8DD +S21400AD50CE30BDF8D2300133ADF8D2300136BDF971 +S21400AD60A6309E421DDC09995046C8477A8A32446E +S21400AD70398ABDF8A0301944059B12B209B2504674 +S21400AD80594DA847B8F1000FD2D00028D0D0059B67 +S21400AD90002B04DD0A9A002001461D46BEE702206D +S21400ADA0C6E75046514B9847C2E194F80890504B7E +S21400ADB09847504B98478046B4F90250013D6F10B3 +S21400ADC005F001053D44B4F906302BB1B4F9046032 +S21400ADD0003618BF012600E00026474B984710B9FA +S21400ADE086F0010200E0002206990B885D1BADF894 +S21400ADF0A0501F44ADF8A470079BB3F90230B1F918 +S21400AE00021018468B42A8BF0846ADF8A2008B4237 +S21400AE10B8BF0B46013BADF8A63072B1637A03F0BB +S21400AE2003030293CDF804900123009300232288A5 +S21400AE3028A948A8314DA8477AE128AA48A910466B +S21400AE40274B9847002800F07381BDF9A000B8F89A +S21400AE501030C51AADB2ADF8A050BDF9A220B8F8B2 +S21400AE601270D11BADF8A210BDF9A410CB1A9BB27C +S21400AE70ADF8A430BDF8A6E0AEEB0707ADF8A670B7 +S21400AE8001335B1B1BB20993ADF8CC00ADF8D010B4 +S21400AE90ADF8CE20ADF8D2200A931846114B98474D +S21400AEA0059076B1B8F91020BDF9A0703A44B4F90F +S21400AEB00630B4F904703B4492FBF3F703FB172704 +S21400AEC000E000273FB2BDF9A250BDF9A6309D4272 +S21400AED053DCDFF82C90DFF810A0DFF820B02CE071 +S21400AEE0011501002529010005BE000059250100B5 +S21400AEF0515F0000C50F0100ADBE000039770000AD +S21400AF00D52B010001373FB200230293237A019329 +S21400AF100090059B228833A948A8D847BDF8CE30B4 +S21400AF200133ADF8CE30BDF8D2300133ADF8D230B3 +S21400AF300135BDF9A6309D421FDC0A990598C84721 +S21400AF40B8F812202A44B8F81010BDF8A0301944FA +S21400AF50099B12B209B20598D047002ED4D000281B +S21400AF60D0D0B4F90420BA42B8BF0020B4F90630F5 +S21400AF7013449F42A8BF0027C4E70598974B9847FD +S21400AF80D6E01FFA86FBBDF82C80A9B20BEB0802B0 +S21400AF90002301930F4688440FFA88F30093534624 +S21400AFA012B2059912A8DFF83882C0471FFA89F353 +S21400AFB0ABEB030201210191FB1A1BB2009353462F +S21400AFC012B205991DA8C04770E5BDF814B0BDF8CB +S21400AFD02C801FFA8AF31F464344D844002201926D +S21400AFE000951BB232460FFA88F112A8DFF8F081FE +S21400AFF0C0471FFA89F9A7EB0903ABEB0909012241 +S21400B000019200951BB232460FFA89F11DA8C0477F +S21400B0104CE5BDF82880BDF824900599A1EB0803FF +S21400B0200322019209EB060212B200921BB23246CC +S21400B03028A86B4EB047AAEB08030222019209EB40 +S21400B040050212B200921BB22A46514633A8B047F8 +S21400B050002128A8634DA8470A90002133A8A847D6 +S21400B0600D9036E50EA8604B984783465AE529466C +S21400B07040465E4B98472DE0099A537A03F0030347 +S21400B0800293137A0193022300934B46128848A931 +S21400B09010A8574CA047BDF8463001331BB2ADF898 +S21400B0A04230ADF8463059464846524B984700273E +S21400B0B00136BDF93E30BAF9122013449E4213DC25 +S21400B0C009EB07082B4632B2059940464A4CA04782 +S21400B0D00028CCD02F44EB199B45CDD9BDF846307F +S21400B0E00133ADF84630E3E7099CBDF94630BDF9BB +S21400B0F042209A4210D0013BADF84630637A03F006 +S21400B10003030293237A0193022300934B4622887B +S21400B11048A910A8364DA8474846304B98470B9884 +S21400B120364DA8470C98A8470A98A8470D98A847F0 +S21400B130637A13F00C0F02D14BB0BDE8F08F33A842 +S21400B1402F4B98472388ADF8CE3047F6FF73ADF8FF +S21400B150CC30237A8DF8D830B4F902305E1083F004 +S21400B160010303F00105637A13F0040F1CD1637A20 +S21400B17013F0080FE0D007990A88B6B2931BADF813 +S21400B180A03049888B1BADF8A230ABB23244D21A3D +S21400B190ADF8A4200E44F31AADF8A63033AA0899E9 +S21400B1A028A8184B9847C7E706980288B3B2D11A62 +S21400B1B0ADF8A0104088C11AADF8A210A9B21A4482 +S21400B1C0521AADF8A42003445B1AADF8A63033AA91 +S21400B1D0089928A80B4B9847C9E700BF59250100D6 +S21400B1E0D1BE0000A9BD0000E51401001F2B010020 +S21400B1F039770000D52B010005BE000055BE0000C3 +S21400B20051C2000019C300002DE9F041069CA58A32 +S21400B210521B12B2658A4D1B2DB2216A00294BD1F2 +S21400B22094F8281011F0010F16D0237C03F00303C6 +S21400B230012B40F2DB81022B04D0032B06D000202A +S21400B240BDE8F0810132D00FBDE8F081002AD4BFFE +S21400B25000200120BDE8F081227C02F00302911E4E +S21400B260C9B2012940F2C581012A0CD0B2B9E91849 +S21400B27000F1C2816D42002DC0F2C181AB4207DCF5 +S21400B2800220BDE8F081002D08DD0120BDE8F08138 +S21400B2902844CD4B98470220BDE8F081DD4200F1FE +S21400B2A0B181694221EAE1718B4240F3AE81C64B1F +S21400B2B098470220BDE8F08194F8286016F0010F48 +S21400B2C00FD1A76902FB07F18912002FCCBF01F14D +S21400B2D0010E8E46754540F39880C6F34000BDE8E3 +S21400B2E0F081E16905FB01F7BF12002906DD9742F0 +S21400B2F040F3B881C6F34000BDE8F081974280F283 +S21400B300ED81C6F34000BDE8F08186F00200C0F390 +S21400B3104000BDE8F08186F00200C0F34000BDE8C2 +S21400B320F0810025D4E1F44688F800C0636AD21A9A +S21400B33001350136BD4249DA636A9A421DDD002DA9 +S21400B340F4DBBD42F2DAA2EB6303DBB294F828C06A +S21400B3501CF0020F1CBFDB43DBB2B04696F800C001 +S21400B360F92BE1D8052BDED903FB0CF303EB032CFA +S21400B37003EBCC13C3F3C75CD6E7BD4226DA002D39 +S21400B38024DBA36903FB02F39B1202FB03F2C2F366 +S21400B3904722E369002BBCBFD243D2B294F82830D0 +S21400B3A013F0020F1CBFD243D2B24619435DF92AEE +S21400B3B00BD8052A08D902FB03F202EB022302EBA4 +S21400B3C0C312C2F3C75300E00023337094F828304A +S21400B3D013F0020F0AD08F42C0F21A810029C0F281 +S21400B3E01A81794B98470220BDE8F081013500F1BB +S21400B3F01581BD4202DD0220BDE8F081791B28449C +S21400B400714B98470220BDE8F08105EB030E7145AD +S21400B41005DD86F00200C0F34000BDE8F0811102B1 +S21400B42007FB01F14FEAA148C1F38721013212025E +S21400B43007FB02F24FEAA24CA8EB050EE04563D0EC +S21400B440002F5BDBC1F1FF01E26902FB01F29512FE +S21400B450BEF1000F1CDB73451ADD05FB01F1C1F3DD +S21400B460472216F0020F04BFD243D2B200EB0E06FC +S21400B47010F80E10F92A0AD8052A40F2A18002FB1D +S21400B48001F202EB022102EBC112C2F3C751317086 +S21400B4901EF1010120D48B421EDDC5F1FF02A56915 +S21400B4A005FB02F5AD1202FB05F2C2F3472294F843 +S21400B4B0285015F0020F1CBFD243D2B2455CF92AC1 +S21400B4C009D8052A7ED902FB05F202EB022502EB1B +S21400B4D0C512C2F3C755455494F8282012F0020F3F +S21400B4E074D07345C0F2B280BEF1000FC0F2B180D6 +S21400B4F07146354B98470220BDE8F081002940F0A0 +S21400B50000810EF1FF3EFF21BEF1000F1EDB7345EA +S21400B5101CDDC2F387220A44C2F3470216F0020F6C +S21400B5201CBFD243D2B200EB0E0610F80E10F92A5A +S21400B5300BD8052A08D902FB01F202EB022102EB26 +S21400B540C112C2F3C75100E00021317094F82820E0 +S21400B55012F0020F0AD0ACEB05018B4261DD002928 +S21400B56062DB194B98470220BDE8F0810EF101021C +S21400B5709A42A8BF1A46002A59D0002A5ADD991ABC +S21400B5801044114B98470220BDE8F0810025DCE00E +S21400B590002500E1002950DD0B4B98470220BDE84E +S21400B5A0F0810EF1010E73454ADBBEF1000F4ADB57 +S21400B5B0A3EB0E017044044B98470220BDE8F081CF +S21400B5C0002164E7002586E71F2B01000EF102022A +S21400B5D09A42A8BF1A46002A3ED0002A3FDD991A92 +S21400B5E01044734B98470220BDE8F0810120BDE867 +S21400B5F0F0810120BDE8F0810120BDE8F081002047 +S21400B600BDE8F0810020BDE8F0810020BDE8F081B3 +S21400B6100020BDE8F0810220BDE8F0810020BDE8F2 +S21400B620F0810020BDE8F0810220BDE8F081002016 +S21400B630BDE8F0810220BDE8F0810220BDE8F0817F +S21400B6400120BDE8F0810220BDE8F0810020BDE8C1 +S21400B650F0810220BDE8F0810020BDE8F0810220E4 +S21400B660BDE8F0811F462B4401FB03F1B2EBA12F8E +S21400B6703FF74BAE1202A36903FB02F39B121912AB +S21400B68013F0FF0339D0C3F1FF03626A02FB03F233 +S21400B6904FEA222ECEF1FF02491B1AD4B94218DA1D +S21400B6A00EFB03F3C3F3472316F0020F04BFDB437E +S21400B6B0DBB24618455CF92B0AD8052B7FF631AE6F +S21400B6C003FB05F303EB032503EBC513C3F3C755D1 +S21400B6D035704D1C46194FF0000E2DE61F462B44C4 +S21400B6E001FB03F1B2EBA12FFFF615AE01321202F9 +S21400B6F0A36903FB02F39B12C1E74D1B2946FF22F9 +S21400B700E8E7E269524201FB02F29212BEF1000F34 +S21400B7101CDB73451ADD02FB01F1C1F3472116F06D +S21400B720020F1CBFC943C9B200EB0E0610F80E503C +S21400B730F9290AD805297FF629AF01FB05F101EBA7 +S21400B740012501EBC511C1F3C7553570BEF10101E6 +S21400B75022D48B4220DDC2F1FF02A5696D4202FBB6 +S21400B76005F5AD1202FB05F2C2F3472294F8285005 +S21400B77015F0020F04BFD243D2B2455CF92A0AD8AC +S21400B780052A7FF605AF02FB05F202EB022502EB67 +S21400B790C512C2F3C755455494F8282012F0020F7C +S21400B7A03FF4FFAE8B42BFF6F5AE0220BDE8F08157 +S21400B7B01F2B01002DE9F04F8DB0169DAE7C06F0D4 +S21400B7C00106B5F91080EC1D05F10F090DF1280EE4 +S21400B7D014F8017F0EF8017B4C45F9D1002E3DD1BF +S21400B7E0BDF92A40944200F32B82BDF92E409442C4 +S21400B7F0C0F22A829B460F460290BDF9289008EBBD +S21400B8000903994206DB5944BDF92C30A3EB080323 +S21400B81099420BDDBDF92A3003EB08018A4253DB5F +S21400B820BDF92E10A1EB08018A424DDC86BBA9EBC0 +S21400B83007045C4500F30C82002C03DB21460298CB +S21400B8409F4B9847BDF92C00C01B0130002840F3E1 +S21400B850018283450DDCBCB10220F2E1BDF92A402D +S21400B860944200F3F381BDF92E409442C2DA0120DF +S21400B870E7E1ABEB0001029B03441846904B984768 +S21400B880002CE9D10220DCE18345E5D10120D8E196 +S21400B890A9EB070020EAE070584501DD0220D0E160 +S21400B8A0BDF92C10C91B091A013143189B45B8BFB6 +S21400B8B0ABEB00010029C0F2CF81029B034418467F +S21400B8C07F4B98470220BCE1BDF92CA09BB2BDF887 +S21400B8D02E100131C91A09B2D21A08FB08F30193D7 +S21400B8E012B2904500F3D181A1EB0803013B9A42C6 +S21400B8F000F3B4810220A4E16B8BADF81A302B8BD9 +S21400B900ADF81830D6E1049A07A9019B00FB103069 +S21400B9106C4B9847049A06A9019B04FB1430694BAC +S21400B92098476C61BDF81A306B83BDF818302B83CE +S21400B930D1E1BDF81E10002940F0D581013AADF8DE +S21400B9401C20FF22ADF81E20CDE1BDF81A20BDF860 +S21400B9501E100A44C2F347020EB1D243D2B2A8EB7D +S21400B9600303013BF91811D459450FDA0298405CDD +S21400B970F92A09D8052A35D902FB00F000EB002485 +S21400B98000EBC410C0F3C750029C6054A9EB03033D +S21400B990013BDF1911D45F450FDA029BDB5DF92A04 +S21400B9A009D8052A20D902FB03F202EB022302EB98 +S21400B9B0C312C2F3C753029AD355BEB1481C20EA3D +S21400B9C0E0705F45D4BF391AABEB0001584580F2F2 +S21400B9D019810029C0F21681029B03441846384B91 +S21400B9E098470FE10020CFE70023E4E7594500F32E +S21400B9F02581002902DB0298314B9847013700F178 +S21400BA001D815F4500F3FE80ABEB0701029B3B44C4 +S21400BA1018462B4B9847F5E0049A09A9019B08FBAA +S21400BA201830284B9847BDF82610BDF81A30C3F1D9 +S21400BA30FF02C1F1FF0303FB02F3C3F347230EB972 +S21400BA40DB43DBB203980246002811DB58450FDAC9 +S21400BA50029C2018A25CF92B09D8052B29D903FBD8 +S21400BA6002F202EB022402EBC412C2F3C7520270C7 +S21400BA70BAF1000F13DBDA4511DA029C04EB0A0078 +S21400BA8014F80A20F92B09D8052B14D903FB02F366 +S21400BA9003EB032203EBC213C3F3C7520270039BEC +S21400BAA0013B03930AF1010AADF8221008F10108E0 +S21400BAB05EE10022DBE70022F0E7002739E000BF66 +S21400BAC01F2B01000523010000270EF8087001381F +S21400BAD0013401311A46019DA94240D809EB1217DC +S21400BAE001FB11A307FB07FCCCEB03234FEA470C33 +S21400BAF093FBFCF31F44C7F30F1C3F0107F0F00352 +S21400BB001A44C2F347020EB1D243D2B2002812DB67 +S21400BB10834510DD80461EF80070F92A09D8052AEC +S21400BB20CBD902FB07F505EB052705EBC717C7F3CF +S21400BB30C7570EF80870002CC9DBA345C7DDA04622 +S21400BB401EF80470F92AC0D8052ABDD902FB07F2F0 +S21400BB5002EB022702EBC717C7F3C757B5E7DDF8B6 +S21400BB601080DDF814A0EA4342440399114403917F +S21400BB700135AA44AAEB080AADF82230ADF824C075 +S21400BB80ADF82630BDF82230002B3AD0BDF81E2086 +S21400BB9003FB02F3C3F347230EB1DB43DBB2039A86 +S21400BBA0002A12DB934510DD029801461144825CA0 +S21400BBB0F92B09D8052B27D903FB02F202EB02204A +S21400BBC002EBC012C2F3C7520A70BAF1000F13DBC1 +S21400BBD0D34511DD029800EB0A0110F80A20F92B74 +S21400BBE009D8052B12D903FB02F303EB032203EB60 +S21400BBF0C213C3F3C7520A70039B013B03930AF1B7 +S21400BC00010A2EB102201CE00022DDE70022F2E746 +S21400BC1003990131594511DC002902DB0298604B7B +S21400BC209847BAF1000F09DBDA45EBDAABEB0A010D +S21400BC30029B534418465A4B9847E3E7002000E01F +S21400BC4000200DB0BDE8F08F0020FAE70120F8E7ED +S21400BC500020F6E70020F4E70220F2E7B8F5807F40 +S21400BC60D4BF4FF400634FF400430493891AA8EB43 +S21400BC700100441C6B6998427FF445AE6B8BADF8AF +S21400BC801E302B8BADF81C3044E6B8F5807FD4BF51 +S21400BC904FF400634FF400430493A8EB02046B696F +S21400BCA09C423FF429AE049A06A9019B04FB14307B +S21400BCB03C4B9847631E049A07A90393019803FB1D +S21400BCC01300384B9847039B6B61BDF81E306B839F +S21400BCD0BDF81C302B83BDF81830BDF81C20511E53 +S21400BCE08B423FF426AEA9EB07070AF1010AAAEB3E +S21400BCF009090FFA89F9BDF81C209A423FF425AECF +S21400BD000133A8EB030807EB08030393A9EB080825 +S21400BD1008F1FF3ABA4486B1581C20EAE070DA45CA +S21400BD20D4BFAAEB0001ABEB0001584505DA0029A9 +S21400BD3003DB029B18441A4B9847BDF8180000F125 +S21400BD400108049A08A9019B00FB1030154B984780 +S21400BD50BDF822303BB9BDF82030013BADF82030AD +S21400BD60FF23ADF82230BDF820309C427FF754AE5A +S21400BD70BDF81C50A8453FF605AFBDF820904FEA29 +S21400BD800919BDF82220414654460398CDF8108084 +S21400BD90CDF814A0DDF804A00195DDF808E09DE6D6 +S21400BDA01F2B01000523010010B582B0104B1B6845 +S21400BDB09BB10F4A0123946884B10133DBB2083289 +S21400BDC0102BF8D10B4B00930B4B57220B4902203C +S21400BDD00B4CA0474FF0FF3007E00023044A42F820 +S21400BDE0330002EBC302516018B202B010BD00BFB0 +S21400BDF06C6D00200C500200B04F0200DC4F0200B9 +S21400BE00452201002DE9F04782B0114C2468ECB1C0 +S21400BE109A469146884607460D4E002500942468AB +S21400BE2053464A4641463846A047044650B1022883 +S21400BE3008BF012556F8084F002CEFD1002D14BF7F +S21400BE4002240124204602B0BDE8F0870124F9E769 +S21400BE506C6D0020B0F1FF3F0AD0064B53F830104F +S21400BE60002243F8302003EBC0035A6008467047B0 +S21400BE700021FBE76C6D002070B40B4B1A1D03F11C +S21400BE8080040026354603E008330832A34208D073 +S21400BE9059688142F8D152F8046C42F8045C5D603F +S21400BEA0F2E7304670BC70476C6D002000231846E1 +S21400BEB0064902E00133102B06D051F83320002A41 +S21400BEC0F8D00130C0B2F5E7704700BF6C6D0020B7 +S21400BED02DE9F04104460F4615469846BDF9186010 +S21400BEE02C214A4B9847B54205DD2B4635461E4663 +S21400BEF03B464746984627816581A4F80C80E68134 +S21400BF00237C9DF81C2062F3010323746782A582BC +S21400BF10A8EB0707751B87EAE771A1EBE77185EACF +S21400BF20E573A3EBE5739942D4BF0021012194F891 +S21400BF30282061F3000284F828200021E161A16135 +S21400BF40334B2360217112F0010F25D03FB14FF41F +S21400BF50801393FBF7F305FB03F39B12E3613DB1FC +S21400BF604FF4801696FBF5F507FB05F7BF12A761A1 +S21400BF70E3692362237C13F0030322D194F828306C +S21400BF806FF3410384F82830236A9A10002BB8BF59 +S21400BF9052426262BDE8F0813DB14FF4801393FBDC +S21400BFA0F5F307FB03F39B12A3613FB14FF4801830 +S21400BFB098FBF7F705FB07F5AD12E561A369236269 +S21400BFC0D8E7012B0FD0022B14D0032BDCD1236A29 +S21400BFD0002B94F82830CCBF6FF3410343F00203E4 +S21400BFE084F82830D0E794F8283043F0020384F829 +S21400BFF02830C9E7236A002B94F82830CCBF43F0DA +S21400C00002036FF3410384F82830BDE71F2B0100BD +S21400C01009B2000070B4CC8801344D88641B8D884A +S21400C02001350E88AD1B24B22DB2AC42A8BF2C46FB +S21400C0306410A242C8BF22B2013900F1100600F116 +S21400C040080411F8015F04F8015BB442F9D10282DA +S21400C050827C63F300028274054B03600223037143 +S21400C0604FF00043436100234383038370BC704753 +S21400C070B5B700002DE9F04F8BB0069089460792C1 +S21400C0804FEA610BCDF808B011F0010F06BF0BF1B7 +S21400C090FF330893CDF820B0069C67003846694BFE +S21400C0A098470590002C40F3BE80BA1EC119039134 +S21400C0B0079D4FF0000804F1FF3A0899AAEB01012A +S21400C0C004910646CDF824B09346CDF8049035F892 +S21400C0D00B3009FB03F3BAF1000F1BDB029A02EBED +S21400C0E00A01049A013A03984FF0000E20F8023D28 +S21400C0F08C42CCBF35F811C0F446A3EB0C03002AE3 +S21400C100B4BFB5F800C035F812C063440139013A2F +S21400C110B042EBD13A46314628464B4B98473D4411 +S21400C12008F10108A045D0D1DDF824B0079A13889D +S21400C130019993FBF1F31380069B03FB03F5012D96 +S21400C14011D9079A0121019E104632F8023F008855 +S21400C15098421CBF93FBF6F313800131A942F3D338 +S21400C160069B002B59DD079E0296089901FB077275 +S21400C1706FEA0B035B1A069D05FB03F306936B1E23 +S21400C18005FB03F306EB430307934FF0000A931EE9 +S21400C190089301F10109029B1E4602331A460293D8 +S21400C1A03388019901FB03F308998D18059AA2F1CB +S21400C1B0020CE046B6460022CDF80CC00496069E59 +S21400C1C0DDF81CC0002BACBF9911002128F8021F17 +S21400C1D01146A2EB0B000028D4BFBEF8000035F8CD +S21400C1E016001B1A49448C42CCBF29883CF81A100A +S21400C1F00B440132BE443D44A242E3DBDDF80CC0F2 +S21400C200049E00233CF8022F328001333E44A342B2 +S21400C210F8DB0AF1010AA245BDDB05980B4B9847EF +S21400C2200BB0BDE8F08FCDF80490079A138893FB07 +S21400C230F9F9A2F80090069B03FB03F5012D80D8C0 +S21400C240EBE700BF252901003D2601005925010026 +S21400C25010B5044654212D4B98472D4B1B88638000 +S21400C26023796FF304032371A3886FF34A13A38023 +S21400C2701B0A6FF3C7036371A37B6FF30403A373F7 +S21400C280E3896FF34A13E3811B0A6FF3C703E37373 +S21400C29094F834306FF3040384F83430A38E6FF3CD +S21400C2A04A13A3861B0A6FF3C70384F8353094F845 +S21400C2B046306FF3040384F84630B4F846306FF324 +S21400C2C04A13A4F846301B0A6FF3C70384F84730B6 +S21400C2D0A37F6FF30403A377E38B6FF34A13E38321 +S21400C2E01B0A6FF3C703E377FF2363812373237768 +S21400C2F0237584F83630074A226384F84430226473 +S21400C30084F828300F23638210BD00BF1F2B010066 +S21400C31064500200100000202DE9F04FB1B0C48830 +S21400C3204588631C5B1B1BB2002B41F30F8086887D +S21400C330B0F80080731CA3EB08031BB2002B41F37C +S21400C3400580924604910690B2F92070002F00F006 +S21400C350198792F828300993052B40F21387136A41 +S21400C360012B00F0F680BAF82220BAF82630D11A4F +S21400C37088441FFA88F8ADF850801A441644B6B2BE +S21400C380ADF85460BAF82420D11A0D44ADB2ADF819 +S21400C390525013441C44A4B2ADF8564007EBD77372 +S21400C3A06FEA630292B208EB0201ADF858105B1018 +S21400C3B001339BB2F118ADF85C102A44ADF85A2050 +S21400C3C02344ADF85E30099BFB2B28BFFF2309935F +S21400C3D0BE4B9847BE4B98478146049A16A918A8A4 +S21400C3E0BC4B9847002800F0CD86B9F81010BDF871 +S21400C3F060305B1AADF86030B9F81220BDF86230D4 +S21400C4009B1AADF86230BDF864305B1AADF8643044 +S21400C410BDF866309B1AADF86630069A531ED01DDE +S21400C4201AAA13F8011F02F8011B9842F9D1BDF8A9 +S21400C430683001331FFA83FEADF868E0BDF86A1075 +S21400C440013188B2ADF86A00BDF86C305A1EADF8FE +S21400C4506C20BDF86E104A1EADF86E20BAF90020AA +S21400C460A3EB0E031BB2091A09B28B42A8BF0B46F8 +S21400C4705B109342A8BF13460E930136A6EB080640 +S21400C480B6B233B20134641BA4B225B29D42A8BF33 +S21400C4901D466D109542A8BF154607EB050909FB1A +S21400C4A009F040008C4B98470A90BAF920B02AB29F +S21400C4B002EB0B070DF14F0122AB0DF1900E11F8B8 +S21400C4C0010F03F8010B7345F9D10BEBDB71C1F3D8 +S21400C4D04F014B1E1BF0010010900CBF01200020E6 +S21400C4E01B1A2B449BB2ADF88C30013189B2ADF8E3 +S21400C4F08A109B1BADF888302144ADF88E100023BF +S21400C50022A929A8754CA047BBF1010F02F0D881DB +S21400C5104FEA6B030B93079738466F4B98470C9080 +S21400C520002F5CDD079B4FEA430B07F10043013BFE +S21400C5305B000A9C0025DFF8B8813AB20892CDF875 +S21400C540349005970C9E9946CDF83CA0DDF82CA0BB +S21400C55014E0B2F92430002B7FF405AFB2F9263090 +S21400C560002B3FF700AF00F00DBE594620465C4B4F +S21400C57098475C440135059BAB422BDD0799304656 +S21400C580C04729AB0093089B2AB200213046299F5A +S21400C590B8470028E9D0D64633789B0193FBFAF3D8 +S21400C5A02380059B012BE4DD3146224604EB09007F +S21400C5B01F468C4611F8013F9CF800C09C450EBFF4 +S21400C5C013889B0193FBFEF3538002329042F0D116 +S21400C5D00597CEE7DDF834901F46DDF83CA00C98B2 +S21400C5E0404B98470B9B012B02F04D813CB20A9EB4 +S21400C5F032460B9D294620463B4B9847109A2A44C4 +S21400C60011B2012922DD0D4633889B0193FBF1F31D +S21400C61032463380079800FB00F0012812D900F15B +S21400C6200040013806EB400001E082420AD0164680 +S21400C63032F8023F36889E42F7D09B0193FBF5F313 +S21400C6401380F2E70A9A2046274B984707FB07F71E +S21400C65057B10A990B464A1E01EB470033F8021BF6 +S21400C66002F8011F8342F9D1BDF85A20BDF85E30AA +S21400C67001339B1A1BB203EBD37302EB63039BB22B +S21400C6800F931BB20C93BDF85820BDF85C300133F5 +S21400C6909B1A1BB203EBD37302EB63039BB210939C +S21400C6A01BB20D93114B984720BBBAF92230002BD2 +S21400C6B040F0BC81BAF92430002B40F0BA81BAF9B8 +S21400C6C02630B3FA83F35B09079315E0515F000049 +S21400C6D0C50F0100011501002529010015C0000045 +S21400C6E01F2B01005925010075C00000ADBE0000DB +S21400C6F0D52B010000230793BDF85C000130BDF880 +S21400C7005830C01A00B2C24B9847059001230E9AC3 +S21400C7101AA929A8BF4CA047002129A8BE4B9847B4 +S21400C7200E90BDF95C30ADF874301FFA89FB01330A +S21400C730A3EB0B03ADF87030BDF95A30ADF872308C +S21400C740013B5B44ADF87630049A1CA91EA8B34B97 +S21400C7509847002872D0BDF97E300C998B42C4BF32 +S21400C7600B46ADF87E30BDF978300D9A934203DC67 +S21400C770109B0133ADF87830BDF97820BDF87C30D9 +S21400C78001339B1A1BB20893002B57DDBDF97E7050 +S21400C790BDF97A40BDF97250651BBDF97030D21AEA +S21400C7A009FB05250A9B1D440DF1770222AB24A840 +S21400C7B012F8011F03F8011B8342F9D1BDF88A3035 +S21400C7C0ADF88E3001373F1B3FB2002F36DD002616 +S21400C7D0DFF85482CDF844B0BB46099B0B93089A09 +S21400C7E02946059F38468E4CA04730AC089BBDF9BD +S21400C7F08A2034F9381D059738468A4FB8470128ED +S21400C80008BF02209AF8293002930B9A01920090F2 +S21400C810059BBAF81E2021460498C047BDF88A300A +S21400C8200133ADF88A30BDF88E300133ADF88E3066 +S21400C8304D4401365E45D2D1DDF844B0BDF95C30DA +S21400C840ADF874300133A3EB0B03ADF87030BDF9CF +S21400C8505E20531CA3EB0B03ADF87230ADF87620C8 +S21400C860049A1CA91EA86D4B9847002873D0BDF9E2 +S21400C8707A300C9A934203DC0F9B0133ADF87A3082 +S21400C880BDF978300D9A934203DC109B0133ADF866 +S21400C8907830BDF97820BDF87C3001339B1A1BB286 +S21400C8A00893002B57DDBDF97E40BDF97A60BDF9CF +S21400C8B076502D1BBDF97030D21A09FB05250A9B50 +S21400C8C01D440DF1770222AB24A812F8011F03F8CD +S21400C8D0011B8342F9D1BDF88E30ADF88A30671C53 +S21400C8E0BF1B3FB2002F36DD0026DFF83C81CDF8B7 +S21400C8F040B0BB46099B0B93089A2946059F3846CD +S21400C900474CA04730AC089BBDF98A2034F9381D47 +S21400C91005973846434FB847012808BF02209AF8C3 +S21400C920293002930B9A01920090059BBAF81E20BC +S21400C93021460498C047BDF88A30013BADF88A30DE +S21400C940BDF88E30013BADF88E304D4401365E4565 +S21400C950D2D1DDF840B0BDF95C30ADF874300133AB +S21400C960A3EB0B03ADF87030BDF85A305B44ADF85E +S21400C9707230BDF85E30A3EB0B03ADF87630049A48 +S21400C9801CA91EA8254B9847002800F08580079B09 +S21400C9904BB1069BB3F90430BDF978209342B8BF7B +S21400C9A01346ADF87830BDF97830BDF87C200132FA +S21400C9B0D21A0FFA82F8B8F1000F6DDDBDF87E408E +S21400C9C00134BDF87A20A41A24B209F1FF31BDF96A +S21400C9D070209B1A09FB01330A9AD31808930DF1AD +S21400C9E0770222AB24A812F8011F03F8011B83422A +S21400C9F0F9D1BDF88A30ADF88E302546002C4BDDD7 +S21400CA000024074FCDF82C90A946079D3AE000BFBA +S21400CA102529010015C00000A9BD00000115010070 +S21400CA203D26010005BE000039770000002307936D +S21400CA3062E6002307935FE64346BDF98A20BDF908 +S21400CA4088100598234EB047012808BF02209AF8A0 +S21400CA50293002939AF8283001930090059BBAF883 +S21400CA601E2022A904981C4EB047BDF88A30013318 +S21400CA70ADF88A30BDF88E300133ADF88E30013413 +S21400CA804C4507D0424608990598B847002DD3D0A4 +S21400CA900220DCE7DDF82C90B9F1000F1EDD09EB73 +S21400CAA0D9777F100A9D00260CE0197812F8010C41 +S21400CAB003F8010B02F8011DA342F6D14D440136DE +S21400CAC0B1450BD0002FF9DD2B4605EB0902EC191A +S21400CAD0EBE700BF05BE000039770000BDF958300F +S21400CAE0ADF87030013B5B44ADF87430BDF95A3098 +S21400CAF0ADF87230013B5B44ADF87630049A1CA961 +S21400CB001EA8AE4B9847002871D0BDF97E300C9910 +S21400CB108B42C4BF0B46ADF87E30BDF97C300D9914 +S21400CB208B42C4BF0B46ADF87C30BDF97820BDF80B +S21400CB307C3001339B1A1BB20893002B57DDBDF9DE +S21400CB407E70BDF97A40BDF97250651BBDF9703034 +S21400CB50D21A09FB05250A9B1D440DF1770222AB6C +S21400CB6024A812F8011F03F8011B8342F9D1BDF86F +S21400CB708A30ADF88E3001373F1B3FB2002F36DDCE +S21400CB800026DFF84482CDF840B0BB46099B0B93E5 +S21400CB90089A2946059F3846894CA04730AC089B22 +S21400CBA0BDF98A2034F9381D05973846854FB847B1 +S21400CBB0012808BF02209AF8293002930B9A0192A6 +S21400CBC00090059BBAF81E2021460498C047BDF881 +S21400CBD08A300133ADF88A30BDF88E300133ADF8B7 +S21400CBE08E304D4401365E45D2D1DDF840B0BDF9F9 +S21400CBF05830ADF87030013B5B44ADF87430BDF989 +S21400CC005E20531CA3EB0B03ADF87230ADF8762014 +S21400CC10049A1CA91EA8694B9847002872D0BDF933 +S21400CC207A300C9A934203DC0F9B0133ADF87A30CE +S21400CC30BDF97C300D998B42C4BF0B46ADF87C30F5 +S21400CC40BDF97820BDF87C3001339B1A1BB20893DF +S21400CC50002B57DDBDF97E40BDF97A60BDF97650F0 +S21400CC602D1BBDF97030D21A09FB05250A9B1D4401 +S21400CC700DF1770222AB24A812F8011F03F8011B5E +S21400CC808342F9D1BDF88E30ADF88A30671CBF1BE1 +S21400CC903FB2002F36DD0026DFF82C81CDF830B00D +S21400CCA0BB46099B0B93089A2946059F3846444C79 +S21400CCB0A04730AC089BBDF98A2034F9381D05978B +S21400CCC03846404FB847012808BF02209AF8293056 +S21400CCD002930B9A01920090059BBAF81E202146FB +S21400CCE00498C047BDF88A30013BADF88A30BDF8DD +S21400CCF08E30013BADF88E304D4401365E45D2D1C4 +S21400CD00DDF830B0BDF95830ADF87030013B5B440B +S21400CD10ADF87430BDF85A305B44ADF87230BDF8EB +S21400CD205E30A3EB0B03ADF87630049A1CA91EA860 +S21400CD30224B9847002879D0079B4BB1BDF97C3031 +S21400CD40069AB2F900209342A8BF1346ADF87C308D +S21400CD50BDF97830BDF87C8008F10108A8EB03081F +S21400CD600FFA88F8B8F1000F60DDBDF87E40013498 +S21400CD70BDF87A20A41A24B209F1FF31BDF970205B +S21400CD809B1A09FB01330A9AD31808930DF1770210 +S21400CD9022AB24A812F8011F03F8011B8342F9D125 +S21400CDA0BDF88A30ADF88E302546002C3EDD0024D6 +S21400CDB0034FCDF82C90A946079D2DE001150100E4 +S21400CDC03D26010005BE0000397700004346BDF948 +S21400CDD08A20BDF988100598AA4EB047012808BFDA +S21400CDE002209AF8293002939AF82830019300908E +S21400CDF0059BBAF81E2022A90498A34EB047BDF89A +S21400CE008A300133ADF88A30BDF88E300133ADF884 +S21400CE108E3001344C4507D0424608990598B847ED +S21400CE20002DD3D00220DCE7DDF82C90BDF858307A +S21400CE305B44ADF87030BDF85C30A3EB0B03ADF887 +S21400CE407430BDF95A30ADF87230013B5B44ADF832 +S21400CE507630049A1CA91EA88C4B984700287DD0D3 +S21400CE60079B4BB1069BB3F90230BDF97E20934277 +S21400CE70A8BF1346ADF87E30BDF87C300133BDF850 +S21400CE8078209B1A1BB20893BDF97A30BDF87E5005 +S21400CE900135ED1A2DB2C846BDF972401C1B09F1CA +S21400CEA0FF3309FB04340A9B1C440DF1770222ABC6 +S21400CEB024A812F8011F03F8011B8342F9D1BDF81C +S21400CEC08A30ADF88E302B46002D47DD0025704F9A +S21400CED0CDF82C90DDF82490CDF830B09B462AE0B3 +S21400CEE0B9F1FF0F2AD149462CE0089BBDF98A20EC +S21400CEF0BDF988100598634EB047012808BF022088 +S21400CF009AF829300293FF2301930090059BBAF804 +S21400CF101E2022A904985C4EB047BDF88A30013323 +S21400CF20ADF88A30BDF88E300133ADF88E3044440B +S21400CF3001355D450ED02378FF2BD1D003FB09F3D6 +S21400CF40C3F30721089A0598B847079B002BCCD057 +S21400CF500220D5E7DDF82C90DDF830B0BDF858306B +S21400CF605B44ADF87030BDF85C30A3EB0B03ADF856 +S21400CF707430BDF95E20531CA3EB0B03ADF8723082 +S21400CF80ADF87620049A1CA91EA8404B98470028A6 +S21400CF9000F08280079B4BB1069BB3F90630BDF9C3 +S21400CFA07A209342B8BF1346ADF87A30BDF87C308D +S21400CFB00133BDF878209B1A1BB20893BDF97E306A +S21400CFC05D1CBDF87A20AD1A2DB2C846BDF9764074 +S21400CFD0E41A09F1FF3309FB04340A9B1C440DF1E3 +S21400CFE0770222AB24A812F8011F03F8011B834224 +S21400CFF0F9D1BDF88E30ADF88A30A946002D4BDD4C +S21400D0000025234FCDF82CB0DDF824B02AE0BBF184 +S21400D010FF0F2AD159462CE0089BBDF98A20BDF99E +S21400D02088100598174EB047012808BF02209AF8C6 +S21400D03029300293FF2301930090059BBAF81E2027 +S21400D04022A90498104EB047BDF88A30013BADF8CF +S21400D0508A30BDF88E30013BADF88E304444013541 +S21400D0604D4517D02378FF2BD1D003FB0BF3C3F32A +S21400D0700721089A0598B847079B002BCCD00220BA +S21400D080D5E700BF05BE0000397700000115010096 +S21400D090692A0100DDF82CB0BDF858305B44ADF8C5 +S21400D0A07030BDF85C30A3EB0B03ADF87430BDF800 +S21400D0B05A305B44ADF87230BDF85E30A3EB0B0B14 +S21400D0C0ADF876B0049A1CA91EA8A24B9847002873 +S21400D0D050D0079B002B4DD1BDF87C600136BDF8C3 +S21400D0E07830F61A36B2BDF87E400134BDF87A3094 +S21400D0F0E41A24B20DF1770222AB24A812F8011F1D +S21400D10003F8011B8342F9D1BDF88A30ADF88E30A2 +S21400D110A346002C2EDD0025DFF85492DFF854825B +S21400D1208D4F32469AF828100598C84730AC3346DB +S21400D130BDF98A2034F9381D0598C047012808BF74 +S21400D14002209AF829300293FF2301930090059B52 +S21400D150BAF81E2021460498B847BDF88A30013335 +S21400D160ADF88A30BDF88E300133ADF88E3001351B +S21400D1705D45D6D10E98794B98470598784CA047D0 +S21400D1800A98A0479AF80C70052F42D9069A531EA3 +S21400D190D01D1AAA13F8011F02F8011B9842F9D1F4 +S21400D1A0BAF91030012B24DD9AF81430F92B20D967 +S21400D1B0BAF90030EBB1BAF81230C3F38002BDF80A +S21400D1C068100A44ADF86820C3F34002BDF86A1040 +S21400D1D00A44ADF86A20C3F3C001BDF86C20521AA9 +S21400D1E0ADF86C2003F00103BDF86E20D31AADF83D +S21400D1F06E30FB2F28BFFF275A4B98475A4B98474D +S21400D2008046049A1AA91CA8524B9847002840F05A +S21400D210B380DAF82C0020B19AF83630052B00F2ED +S21400D220EB839AF81440052C15D9BAF9103093B14F +S21400D230BAF912307BB1FB2C28BFFF24494B984724 +S21400D240494B98470546049A069918A8414B9847B3 +S21400D250002840F04685DAF83C1021B19AF84430B0 +S21400D260052B01F253809AF81CB0BBF1050F6DD95F +S21400D270BAF91830002B69D0BBF1FB0F28BF4FF06E +S21400D280FF0B3A4B98470990069A531ED01D16AAD4 +S21400D29013F8011F02F8011B8342F9D1BAF81A509D +S21400D2A0BDF858305B1B9BB20693ADF85830BDF8FE +S21400D2B05A305B1B9BB20793ADF85A30BDF85C60E2 +S21400D2C02E44B6B2ADF85C60BDF85E301D44ADB21B +S21400D2D0ADF85E50BAF900300893BAF918300593E5 +S21400D2E00DF1570218AB1AA812F8011F03F8011B1C +S21400D2F08342F9D1BDF81440BDF86090A9EB04094B +S21400D3001FFA89F30A93ADF86030BDF864702744BD +S21400D310BFB2ADF86470BDF86280A8EB04081FFACF +S21400D32088F8ADF86280BDF866301C44A4B2ADF84B +S21400D33066400C4B98470C4B98478146049A18A9B0 +S21400D3401AA8044B9847002841F0448031B0BDE845 +S21400D350F08F00BF011501003977000055BE0000B0 +S21400D36059250100515F0000C50F0100ADBE000049 +S21400D370692A010005BE0000B8F81010BDF870302C +S21400D3805B1A9AB2ADF87020B8F81200BDF8723089 +S21400D3901B1AADF87230BDF874305B1A9BB2ADF84C +S21400D3A07430BDF87610091AADF8761001339B1A62 +S21400D3B01BB209930A931846934B98470590934BD4 +S21400D3C0984783B20B9343BB9AF80630023B18BFCC +S21400D3D001230793BDF86C500135BDF86830ED1A8F +S21400D3E02DB22C46BAF90020BDF86E300133BDF8D8 +S21400D3F06A609B1B1EB23346AE42A8BF2B465E1029 +S21400D4009642A8BF1646079BDBB1D6B99AF80630F7 +S21400D41033B14FF0FF330E9321E000230793D9E793 +S21400D4209AF80D3002930197012300930023BAF86F +S21400D43002201AA90498764CA0474FF0FF330E93AB +S21400D44076E2002E32DD002332461AA929A8DFF83C +S21400D450D091C847002129A86E4B98470E90BAF87D +S21400D46002B09AF80630022B24D000230D93BDF9A3 +S21400D4706C20BDF96810531C5B1A1BB2A3EB46095F +S21400D480ADF87810ADF87C20BDF97220B8F81230EF +S21400D49013441BB2ADF87A30ADF87E301546BDF9B0 +S21400D4A076309A4200F337820897FAE04FF0FF335F +S21400D4B00E93D4E7BAF804309B4500F089806800E4 +S21400D4C0514B98470D90002DD1DD4FF0000908967E +S21400D4D006461BE09AF8023003F01F03BAF8021063 +S21400D4E0C1F345119AF80320D208287863F30400A4 +S21400D4F028702B8861F34A132B801B0A62F3C7033C +S21400D5006B7009F1010902364C455FD03546BAF911 +S21400D510080000FB04F31B120FFA89F18B42D9DADC +S21400D520BAF90A2002FB04FEB1EB2E2F42DA121AD9 +S21400D53004FB02F2A9EB03031BB2C3EB0323121294 +S21400D54093FBF2F3DBB2C3F1FF0E9AF80520D20884 +S21400D5509AF80310C9080EFB01F103FB021202EB56 +S21400D560022102EBC112C2F3C452BAF80410C1F38E +S21400D5704511BAF80200C0F345100EFB00F003FB9D +S21400D580010101EB012001EBC011C1F3C5519AF86E +S21400D590040000F01F009AF802C00CF01F0C0EFBEF +S21400D5A00CFE03FB00E303EB032003EBC013C3F303 +S21400D5B0C4539AE79AF8043003F01F03BAF804102D +S21400D5C0C1F345119AF80520D2088EE7089E4EE76B +S21400D5D000230D934BE70A99059F38460E4B984754 +S21400D5E0B8F812202A44B8F81010BDF87030194464 +S21400D5F0099B12B209B23846084FB84707469AF850 +S21400D6000630012B29D17AE025290100ADBE0000A5 +S21400D61039770000A9BD0000D52B010005BE00002B +S21400D62015C000000A99059F3846B64B9847B8F8CB +S21400D63012202A44B8F81010BDF870301944099B1F +S21400D64012B209B23846B04FB84707469AF80630C5 +S21400D650012B54D0079A002A3AD1022B00F04481BD +S21400D6600B9B13B9B9F1320F0BDC9AF80D3002930D +S21400D670089B01930097059B5A461EA90498A34C45 +S21400D680A047BDF87A300133ADF87A30BDF87E3069 +S21400D6900133ADF87E300135BDF976309D4200F39A +S21400D6A03981B8F912402C44BDF96A30334401334D +S21400D6B09C42B7DDBDF96E309B1B013B9C42B1DA44 +S21400D6C0079B002B87D09AF80630012B16D001272F +S21400D6D0B9F1320F00F39380022B00F00581012B85 +S21400D6E0BED19AF80D300293089B01930097059BD4 +S21400D6F05A461EA90498854CA047C2E70127BAF8E7 +S21400D7000220BAF804309A426FD0BDF86A10621A46 +S21400D71093B21A460C93BAF908E0BDF86E3001339E +S21400D7205B1A1BB203FB0EF1091210B281424BDAF0 +S21400D730BAF90AC00CFB03F2B0EB222F80F2B080DD +S21400D740ACEB0E0E03FB0EF30C9A521A12B2C2EB9F +S21400D75002221B1292FBF3F3DBB2C3F1FF019AF82D +S21400D7600520D2089AF80300C00801FB00F003FB6E +S21400D770020202EB022002EBC012C2F3C452BAF855 +S21400D7800400C0F34510BAF802E0CEF3451E01FBD4 +S21400D7900EFE03FB00E000EB002E00EBCE10C0F305 +S21400D7A0C5509AF804E00EF01F0E9AF802C00CF06E +S21400D7B01F0C01FB0CF103FB0E1303EB032103EB21 +S21400D7C0C113C3F3C4530AE09AF8023003F01F03F0 +S21400D7D0BAF80200C0F345109AF80320D20863F3A3 +S21400D7E0040B60F34A1B62F3CF2B079B002B3FF41E +S21400D7F078AFB9F1320FC8BF01237FF772AFBDF91A +S21400D8006A2032440132944206DBBDF96E20921B38 +S21400D810013A94427FF760AFBDF96830ADF88830C2 +S21400D820B2B20C92013B1344ADF88C30BDF87A309E +S21400D830ADF88A30BDF87E30ADF88E309AF80D30EF +S21400D8400293089B01930097059B5A4622A90498C9 +S21400D8502E4CA0479AF80630012B2DD0BDF96C301F +S21400D8605A1C0C99541AADF88840ADF88C309B1BA6 +S21400D8700133B8F91020BDF970100A449B1A9AF8C3 +S21400D8800D200292089A01920097059A002BA8BFD5 +S21400D890D21813465A4622A904981C4CA047F0E614 +S21400D8A09AF8043003F01F03BAF80400C0F34510DA +S21400D8B09AF80520D20892E7BDF868300C9A13440F +S21400D8C0ADF88830BDF86C309B1AADF88C309AF8FD +S21400D8D00D300293089B01930123009300235A46C0 +S21400D8E022A90498A047B9E79AF80D300293089B3E +S21400D8F001930097059B0D9A1EA90498044CA04717 +S21400D900BFE600BFD52B010005BE0000397700003A +S21400D91069820000089F9AF8063023B90B9B13B95A +S21400D920B9F1320F0BDC0D9B13B11846B34B984779 +S21400D9300E98B34B98470598B04B984769E4B6B233 +S21400D940BDF868303344ADF87830BDF86C309B1BBA +S21400D950ADF87C30BDF96A30ADF87A303344ADF8B6 +S21400D9607E309AF80D30029301970123009300232E +S21400D970BAF802201EA90498A24CA047BDF96E1062 +S21400D9808A1B12B2ADF87A20BDF97E309A42DCBF0F +S21400D9900133ADF87A30ADF87E109AF80D30029368 +S21400D9A00197012500950023BAF802201EA9DDF88C +S21400D9B010804046934CA047BDF86830ADF87830EC +S21400D9C0BDF86C30ADF87C30BDF86A302B4433447B +S21400D9D0ADF87A30BDF86E30013B9E1BADF87E6028 +S21400D9E09AF80D300293019700950023BAF80220AA +S21400D9F01EA94046A04796E7834B98470546012850 +S21400DA0012D9022839D0814B0093814B40F2AE5296 +S21400DA1080490220804CA04700231A4604990698A5 +S21400DA207E4CA047FFF7FDBB29A9DAF82C007C4BFB +S21400DA30984701280AD07B4B0093754B40F29452CE +S21400DA4074490220744CA047FFF7EBBB299BC3F335 +S21400DA508A29BDF8A670C7F34A171EA8724B9847C6 +S21400DA609AF836308DF878309AF837308DF882305C +S21400DA70BAF83430ADF8843020E022A86B4B9847D3 +S21400DA80BAF83430ADF88830DAF8302023929AF8B5 +S21400DA9036308DF89030BDF994300021029147F66B +S21400DAA018410191BDF992100091DAF82C1029A8BE +S21400DAB05F4CA047BDF9A490BDF9A6709AF838301F +S21400DAC013F0010F3FD1069C21886088E28801325E +S21400DAD0121A12B2A38801335B1A1BB2A3EB090316 +S21400DAE003EBD37301EB63039BB2ADF87030D21B2C +S21400DAF002EBD27100EB610189B2ADF8721009F148 +S21400DB00FF399944ADF874907B1E0B449BB2ADF878 +S21400DB107630022D00F0BD80BAF9002006991CA8C8 +S21400DB20444B98474FF0FF34002800F0D4861EABD5 +S21400DB30DAF82C2004991CA8384DA8472046304B0C +S21400DB409847FFF76EBB0023BAF90020069E3146C1 +S21400DB5029A8394CA047002129A8384B9847079098 +S21400DB60B3880133344632889B1A1BB293FBF9F212 +S21400DB7009FB123303EBD3734FEA630BB6F90610B7 +S21400DB8073884A1CD21A10B290FBF7F207FB1202F7 +S21400DB9002EBD272A3EB62039BB21AB2ADF872200C +S21400DBA0BFB2781E0344ADF8763091426CDBDFF8E6 +S21400DBB090801A4ECDF81490A14652E000230093B0 +S21400DBC0DAF82C3022AA04991CA8C047BDF8703099 +S21400DBD023441BB2ADF87030BDF874202244ADF873 +S21400DBE07420B9F904209A422CDB022DE6D01EAB35 +S21400DBF0DAF82C2004991CA8B047E7E7592501005D +S21400DC0055BE00003977000051990000C850020048 +S21400DC10685002007850020045220100D1960000AC +S21400DC20D5FD0000A85002002D960000B599000012 +S21400DC30654001005517010015C00000A9BD000091 +S21400DC400D9A0000BDF872303B441BB2ADF872303E +S21400DC50BDF876203A44ADF87620B9F906209A4207 +S21400DC6012DBB9F80030A3EB0B039BB21AB2ADF887 +S21400DC707020BDF81440611E0B44ADF87430B9F93D +S21400DC8004309342B1DADDE707988A4B9847FFF7EE +S21400DC90C8BA02F001021144ADF872101344ADF890 +S21400DCA07630BAF9002021461CA8834B9847A8B9BD +S21400DCB00023BAF90020069929A8804CA047002125 +S21400DCC029A87F4B9847044600230093DAF82C30A7 +S21400DCD022AA04991CA87B4DA8472FE74FF0FF34D3 +S21400DCE0F2E7298ABDF860305B1A9AB2ADF8602078 +S21400DCF0688ABDF862301B1AADF86230BDF8643031 +S21400DD005B1A9BB2ADF86430BDF86610091AADF820 +S21400DD10661001339B1A1BB20893099318466A4B88 +S21400DD2098478346694B984748B9BAF91280B8F1C4 +S21400DD300F0F14BF4FF000084FF0010801E04FF03E +S21400DD400008BAF90020069EB388013331885B1AB2 +S21400DD5019B2F388013370881B1A1BB28B42A8BF16 +S21400DD600B465B109342A8BF13461A460A93002B35 +S21400DD7040F388800023314622A8504EB047002149 +S21400DD8022A84F4B98470E90BAF91060069A531E79 +S21400DD90D01D1AAA13F8011F02F8011B8342F9D1FD +S21400DDA0BDF86820BAF8123013F0040F6ED0B1B286 +S21400DDB00A44ADF86820BDF86C2013F0080F6AD04E +S21400DDC0B1B2521AADF86C20BDF86A2013F0020FFB +S21400DDD066D0B1B20A44ADF86A20BDF86E2013F0E2 +S21400DDE0010F62D0B3B2D31AADF86E30DDF82890CA +S21400DDF01FFA89F7BA1B012312B21AA929A82F4EB7 +S21400DE00B047002129A82E4B98470F90BAF910303A +S21400DE10013B4B45B8BF4B4619460D93BAF80E303A +S21400DE20ADF814309AF81560B8F1000F00F0BF8115 +S21400DE30B5F912300698B0F90220D21A0A44BDF994 +S21400DE4066109142A8BF11460B910288ADF870206B +S21400DE508288ADF87420BDF9622013441BB2ADF879 +S21400DE607230ADF8763090460B9B9342C0F2B3808A +S21400DE70DFF85C90CDF81CB0B3462646CDF830A04F +S21400DE80824655E04FF0FF330E937DE70A997118EE +S21400DE90494289B28CE70A997118494289B290E7DB +S21400DEA00A997118494289B294E70A9BF3185B42B3 +S21400DEB09BB298E755BE00005517010015C000003C +S21400DEC0A9BD00000D9A000025290100ADBE000086 +S21400DED039770000BAF904305A1CD21BADF8782006 +S21400DEE0ADF87C300A9A9B1A0133B5F91020BDF9BB +S21400DEF060100A449B1ACDF808B001960094079A61 +S21400DF00002BA8BFD2181346BDF814201EA90498EB +S21400DF10C847BDF872300133ADF87230BDF87630C0 +S21400DF200133ADF8763008F101080B9B43454CDB16 +S21400DF300999079C2046C74B98476A8A4244298A13 +S21400DF40BDF860301944089B12B209B20794204607 +S21400DF50C14CA0470446BDF87230ADF87A30BDF823 +S21400DF607630ADF87E30BAF90030ADF87830013B47 +S21400DF703B44ADF87C30CDF808B001960090079B86 +S21400DF80BDF814201EA90498C847BDF97E20BAF92A +S21400DF9002300C99B1F910100B449A429ADABAF88A +S21400DFA000303B44ADF87830BAF80430DB1BADF8EF +S21400DFB07C30CDF808B00196012300930023BDF80D +S21400DFC014201EA90498C84784E734465E46DDF848 +S21400DFD01CB0DDF830A0B5F91230069AB2F906206A +S21400DFE0D21A0D99521ABDF962809045B8BF904674 +S21400DFF00B994145A8BF01F1010843441BB2ADF897 +S21400E0007230ADF87630BDF96630984500F38D80F5 +S21400E010DFF84892CDF81CB0B3462646CDF82CA0C3 +S21400E020DDF818A02EE0BAF904305A1CD21BADF861 +S21400E0307820ADF87C300A9A9B1A0133B5F9102087 +S21400E040BDF960100A449B1ACDF808B001960094FA +S21400E050079A002BA8BFD2181346BDF814201EA995 +S21400E0600498C847BDF872300133ADF87230BDF879 +S21400E07076300133ADF8763008F10108BDF9663028 +S21400E08098454CDC0999079C2046724B98476A8A4B +S21400E0904244298ABDF860301944089B12B209B27E +S21400E0A0079420466C4CA0470446BAF90030ADF8F9 +S21400E0B07830013B3B44ADF87C30BDF87230ADF8AB +S21400E0C07A30BDF87630ADF87E30CDF808B00196DF +S21400E0D00090079BBDF814201EA90498C847BDF9F8 +S21400E0E07E20BAF906300B99B1F910105B1A9A42E5 +S21400E0F099DDBAF800303B44ADF87830BAF8043011 +S21400E100DB1BADF87C30CDF808B0019601230093F8 +S21400E1100023BDF814201EA90498C84783E7344698 +S21400E1205E46DDF81CB0DDF82CA0BDF8342006995C +S21400E1304B8801331344ADF87230CB88013B9B1AF1 +S21400E140ADF87630B1F90030ADF87030BAF810207E +S21400E150013A1344ADF874300296019401270097F3 +S21400E1600023BDF814904A461CA9DDF810804046EE +S21400E1703A4DA847069BB3F90420BAF81030FB1AAC +S21400E1801344ADF87030ADF87420029601940097F1 +S21400E19000234A461CA94046A8470F98304CA04783 +S21400E1A00E98A04758462F4B9847FFF754B8069A44 +S21400E1B0B2F90010ADF87010B2F90420ADF8742072 +S21400E1C0BDF962006B8A03441BB2ADF87230ADF83D +S21400E1D07630BAF91230042B29D0082B44D000220E +S21400E1E08DF84E208DF84F20022B29D101238DF873 +S21400E1F04E309DF84E301BB99DF84F8088F00108D0 +S21400E20008F001088DF850800746BDF96630984240 +S21400E210C3DCDFF84080DFF844900A94CDF81CB0E9 +S21400E220DDF818B0CDF82CA0DDF834A04EE00D9A3D +S21400E2301144ADF8741000228DF84E208DF84F2052 +S21400E240012B16D0032BD4D101238DF84E308DF838 +S21400E2504F30CEE7D52B010005BE00003977000011 +S21400E26055BE0000592501000D99521AADF87020D0 +S21400E270E1E78DF84F30BCE70999079C2046C04778 +S21400E2806A8A3A44298ABDF860301944089B12B25B +S21400E29009B207942046984CA04702960A9A019223 +S21400E2A00090079BBDF814201CA90498C847BDF829 +S21400E2B072300133ADF87230BDF876300133ADF808 +S21400E2C076300137BDF966309F421ADC9DF8503033 +S21400E2D0002BD1D19DF84E3033B1BDF97220BBF979 +S21400E2E0023053449A42C7DD9DF84F30002BDED0F3 +S21400E2F0BDF97220BBF90630A3EB0A039A42D6DBBF +S21400E300BAE7DDF81CB0DDF82CA046E7BAF94C30C9 +S21400E3100024029447F618420192BAF94E20009261 +S21400E320DAF840201CA8754DA847ADF88840ADF82F +S21400E3308A40BDF87030013BADF88C30BDF87230C5 +S21400E340013BADF88E301EAB9AF8502022A90698F5 +S21400E3506B4DA847BDF87820BAF848301A4492B2F8 +S21400E360BDF888301344ADF88830BDF87A30BAF876 +S21400E3704A100B449BB2BDF88A101944ADF88A10B7 +S21400E380BDF88C100A44ADF88C20BDF88E201344DE +S21400E390ADF88E3029A85B4B9847DAF840302A93C0 +S21400E3A0BAF84C30ADF8B030BAF84E30ADF8AE3002 +S21400E3B0BAF84630ADF8A4309AF844308DF8AC3050 +S21400E3C00094DAF83C3029AA049922A84E4CA047BB +S21400E3D0FEF749BF721C069BD21A12B26B1C079935 +S21400E3E05B1A1BB29A42A8BF1A465210089B9A4262 +S21400E3F0A8BF1A46059B134401370A99791A08B232 +S21400E400611CA1EB080109B28142A8BF0146491070 +S21400E4109942A8BF19460F460691B9F81000BDF8F4 +S21400E42068301B1A99B2ADF86810B9F81240BDF8FA +S21400E4306A301B1BADF86A30BDF86C301B1A9BB2F5 +S21400E440ADF86C30BDF86E00001BADF86E00013301 +S21400E4505B1A1BB21E460793012316A922A82B4D52 +S21400E460A847002122A82A4CA0470C9000233AB2C5 +S21400E47018A929A8A847002129A8A0470D90089602 +S21400E4803046244B98470B90BAF91830BAF8162045 +S21400E490ADF814209AF81D50099A002A40F0A6817B +S21400E4A0013BBB42B8BF3B4619460E93B9F9123042 +S21400E4B0BDF96220D21A0A4411460992BDF86020BE +S21400E4C0ADF87020BDF86420ADF87420BDF96A2060 +S21400E4D013441BB2ADF87230ADF876301646914252 +S21400E4E0C0F29D80DFF830802B465D46CDF828A030 +S21400E4F082469B463FE000BF05BE00006540010027 +S21400E5000D180100B59900000D9A000015C0000016 +S21400E510A9BD00002529010039770000BDF9643047 +S21400E5205A1C141BADF87840ADF87C30069A9B1A3E +S21400E5300133B9F91020BDF968100A449B1ACDF8CA +S21400E54008B001950097002BACBF53440AF10003B6 +S21400E550BDF814201EA90498C047BDF872300133D8 +S21400E560ADF87230BDF876300133ADF8763001364E +S21400E570099BB3424EDB08995046CC4B9847B9F8F6 +S21400E58012203244B9F81010BDF868301944079BC1 +S21400E59012B209B25046C64CA0470746BDF87230C4 +S21400E5A0ADF87A30BDF87630ADF87E30BDF9603023 +S21400E5B0ADF87830BDF81840013B2344ADF87C3008 +S21400E5C0CDF808B0019500905346BDF814201EA95A +S21400E5D00498C047BDF97E20BDF962300A99B1F9AA +S21400E5E018100B449A4299DABDF860302344ADF80F +S21400E5F07830BDF864301B1BADF87C30CDF808B021 +S21400E6000195012300930023BDF814201EA9049849 +S21400E610C04783E75B46AB46DDF828A01D46B9F940 +S21400E6201230BDF96660F61A0E9AB61A09990A46AD +S21400E630B142A4BF0132164633441BB2ADF8723065 +S21400E640ADF87630BDF96E309E4200F38C80DFF870 +S21400E65064822B465D46CDF824A0DDF82CA09B46B0 +S21400E6602DE0BDF964305A1C141BADF87840ADF8A7 +S21400E6707C30069A9B1A0133B9F91020BDF9681050 +S21400E6800A449B1ACDF808B001950097002BACBF42 +S21400E69053440AF10003BDF814201EA90498C0478D +S21400E6A0BDF872300133ADF87230BDF87630013304 +S21400E6B0ADF876300136BDF96E309E424EDC0899D4 +S21400E6C050467A4B9847B9F812203244B9F81010E1 +S21400E6D0BDF868301944079B12B209B25046744C14 +S21400E6E0A0470746BDF96030ADF87830BDF8184051 +S21400E6F0013B2344ADF87C30BDF87230ADF87A307B +S21400E700BDF87630ADF87E30CDF808B001950090B3 +S21400E7105346BDF814201EA90498C047BDF97E20B4 +S21400E720BDF966300999B1F918105B1A9A4298DD5E +S21400E730BDF860302344ADF87830BDF864301B1B5C +S21400E740ADF87C30CDF808B0019501230093002386 +S21400E750BDF814201EA90498C04782E75B46AB4666 +S21400E760DDF824A01D46BDF83830BDF86220013221 +S21400E7701A44ADF87220BDF86620013AD31AADF8F7 +S21400E7807630BDF96030ADF87030013BBAF818202D +S21400E7901344ADF874300295CDF804B00126009607 +S21400E7A00023BDF8148042461CA9049F3846414CFD +S21400E7B0A047BDF964209319BAF818105B1AADF893 +S21400E7C07030ADF874200295CDF804B000960023A2 +S21400E7D042461CA93846A0470C98374CA0470D98CF +S21400E7E0A0470B98354B9847FEF7B0BDBDF8603094 +S21400E7F0ADF87030BDF86430ADF87430BDF96A20FD +S21400E800B9F8123013441BB2ADF87230ADF876305A +S21400E8101446BDF96E309A42DEDCDFF89080244F55 +S21400E820244EDDF82CA02B465D469B4608995046A4 +S21400E830C047B9F812202244B9F81010BDF8683065 +S21400E8401944079B12B209B25046B847CDF808B033 +S21400E850019500905346BDF814201CA90498B047B3 +S21400E860BDF872300133ADF87230BDF87630013342 +S21400E870ADF876300134BDF96E309C42D6DDABE79C +S21400E8800C980E4B984707FB07F7002F3DF4ECAEAD +S21400E8900A980246411E00EB470032F8023B9B09ED +S21400E8A001F8013F9042F8D1FDF7DEBED52B0100FE +S21400E8B005BE00003977000055BE0000592501004E +S21400E8C0079738460B4B98470C90002FD8DD01234E +S21400E8D00B93FDF727BE0023BAF90020069929A856 +S21400E8E0054CA047002129A8044B98470446FFF78B +S21400E8F01EB900BF2529010015C00000A9BD0000F3 +S21400E900F0B583B09DF804406FF304048DF804401E +S21400E910BDF804406FF34A14ADF80440240A6FF3C0 +S21400E920C7048DF805408668047804F01F04251F88 +S21400E930EDB2022D0ED9072C28D0082C3BD0092C7E +S21400E94050D00A2C66D00B3CE4B2032C98BFADF82E +S21400E950043017E014460F460546007800F01F0006 +S21400E960324B98472B68C3F38A2304FB0372C0F329 +S21400E970C70000FB02F2B318B25C8DF804205B7887 +S21400E9808DF80530BDF8040003B0F0BD01F00703B4 +S21400E990C3F107040368C3F38A230733DB1002FBC3 +S21400E9A0036606EBE1010B7A0122A24013402341E5 +S21400E9B0ADF80430E6E701F003046400C4F1060491 +S21400E9C00368C3F38A2303339B1002FB036606EB3C +S21400E9D0A1010B7C0322A240134043FA04F4ADF8D5 +S21400E9E00440CFE701F00104A400C4F10404036866 +S21400E9F0C3F38A2301335B1002FB036606EB610157 +S21400EA0091F840300F22A240134043FA04F4ADF8C8 +S21400EA100440B7E70368C3F38A23314402FB0311BB +S21400EA2091F80034ADF80430ACE700BF69960000FA +S21400EA30F0B585B004460D4617468668037803F0A1 +S21400EA401F03052B0AD00B2B12D00C2B27D00D2B17 +S21400EA5049D00E2B64D0FF2005B0F0BD0268C2F38B +S21400EA608A2207FB021505EB45053544A878F3E72F +S21400EA7001F00703C3F107010268C2F38A220732D6 +S21400EA80D210ED1007FB0262535D01228A4013404C +S21400EA900B4113F0FF0F0CBFFF200020DCE7002324 +S21400EAA08DF8003055238DF80130AA238DF80230FA +S21400EAB0FF238DF8033001F003035B00C3F106016A +S21400EAC00268C2F38A2203329210AD1007FB02627C +S21400EAD0535D03228A4013400B4104AA52FA83F383 +S21400EAE013F8100CB8E7124B0FCB0DF1100E0EE911 +S21400EAF00F0005F001039B00C3F104012268C2F376 +S21400EB008A22013252106D1007FB0262535D0F22FB +S21400EB108A4013400B415EFA83F313F8100C9BE710 +S21400EB200268C2F38A2207FB0262505C94E700BFC9 +S21400EB30F45002002DE9F84F0446B0F908301B02E5 +S21400EB404362B0F90A301B028362B0F90C00DFF8AA +S21400EB50F48088FB0023C517C5EBA3052DB26FF024 +S21400EB60090707FB05071FFA85FACAF1000000B27D +S21400EB70DFF8D490C84706460135ADB2684200B209 +S21400EB80C8478346CAF15A0000B2C8478246C5F154 +S21400EB905A0528B2C847C7F10A0307FB0BFB03FB5D +S21400EBA006B688FB062BF617C6EBAB06E66207FB37 +S21400EBB000F003FB0A0088FB0038C017C0EBA80073 +S21400EBC02063A07C1D4B984794F8343060F3000314 +S21400EBD084F83430A07C1A4B984794F8343060F3AD +S21400EBE0410384F83430A27C131FDBB2022B94F866 +S21400EBF0343094BF43F004036FF3820384F8343058 +S21400EC0023682362237E03F01F0362F30403237644 +S21400EC10A369A28862F39423A3611B0CE28862F3C3 +S21400EC204F136383E2894FF4803393FBF2F3E3865A +S21400EC30FF23A375238AA382BDE8F88F9B96000066 +S21400EC40AF960000676666668D2201002DE9F04FDC +S21400EC5087B0039004910592BDF840400194DDF81A +S21400EC6044B05E4F87FB0360DD17C5EBA0052DB2F1 +S21400EC7005F101096FF0090606FB05362846DFF8A0 +S21400EC806081C04704460FFA89F0C047824605F106 +S21400EC905A0000B2C047054609F15A0000B2C04704 +S21400ECA0C6F10A0306FB0AFA03FB04A487FB04EA80 +S21400ECB0E417C4EBAA0406FB00F003FB050587FB7C +S21400ECC00537ED17C5EBA707BBF900C0BBF90280F7 +S21400ECD0CCF10003019D05FB03F343F30F2303FB75 +S21400ECE007FAC8F1000205FB02F242F30F2202FB0C +S21400ECF004FE1FFA8CF6AAEB0E0B06EBEB3B0FFAA4 +S21400ED008BFB03FB04F302FB07F21FFA88F099184B +S21400ED1000EBE13109B202910499A1EB0C0C05FB62 +S21400ED200CFC4CF30F2C0CFB07F9A9EB0E0E06EBB4 +S21400ED30EE3E0FFA8EFE0CFB04FC624400EBE23261 +S21400ED4012B20599A1EB080805FB08F848F30F284E +S21400ED5008FB04F4AAEB040506EBE5352DB208FB28 +S21400ED6007F73B4400EBE3331BB2A9EB040406EBC6 +S21400ED70E43636B2BC4400EBEC3000B25C46F345F9 +S21400ED80A8BF7446AC42A8BF2C46B442A8BF3446BF +S21400ED9003990F460C80DE45B8BFDE467545B8BF02 +S21400EDA07546AE42B8BF2E468E8002990C469142FA +S21400EDB0A8BF14469C42A8BF1C468442A8BF04466F +S21400EDC07C809142B8BF11468B42B8BF0B46984232 +S21400EDD0B8BF1846F88007B0BDE8F08F676666666D +S21400EDE08D2201002DE9F04F89B00446B0F9385065 +S21400EDF0EAB2B0F93A60F3B26F2A74DCB0F93C10AC +S21400EE004942C917803DEDB26F2B7EDCB4F93EB0A7 +S21400EE10CBF1000B4FEAEB7B803EF6B294F81490F1 +S21400EE2009F01F09B4F81480C8F34518677DFF0879 +S21400EE30A37D009394F834C01CF0040F7BD02368A5 +S21400EE40206C94F844E00EFB01015A1813F801A058 +S21400EE508DF81CA052788DF81D20B4F904200EFB06 +S21400EE6002F20BFB02FB58441A1813F800A08DF8A8 +S21400EE7018A052788DF8192001EB0B0203EB020A5A +S21400EE8013F802B08DF814B09AF801A08DF815A00A +S21400EE901CF0020F00F081800EF1FF3E734413F861 +S21400EEA001B013F800A0985CC5F1FF0303FB0BF15B +S21400EEB0009A05FB021103FB00F305FB0A33C3F3BC +S21400EEC00723C6F1FF02C1F3072106FB01FE02FB82 +S21400EED003E21212A275052900F2DC80052B40F22F +S21400EEE07D810026D9E0902A0CDDB0F93C10013176 +S21400EEF0B0F904209142ACBF00210121C5F17F0585 +S21400EF00EDB281E7FF2500217EE7902B0FDDB4F9F7 +S21400EF103EB00BF1010BB4F906209345ACBF4FF0A1 +S21400EF20000B4FF0010BC6F17F06F6B276E7FF2620 +S21400EF304FF0000B72E704F1180318468BB2A18F4E +S21400EF4002931944238AB4F93E2009B20190DFF8EF +S21400EF5094A2D047ADF81C001FFA8BF1E28F039104 +S21400EF600A44238A12B2B4F93C10DDF804B05846BD +S21400EF70D047ADF81800E28F03990A44A18F029B90 +S21400EF801944238A12B209B25846D047ADF8140085 +S21400EF9094F8343013F0020F52D1FF23A3752B469A +S21400EFA0002B40F08B809DF81C9009F01F09BDF8DF +S21400EFB01C80C8F345189DF81D70FF08002D40F012 +S21400EFC0AC809DF8145005F01F05BDF81430C3F34F +S21400EFD045139DF81510C908002E00F0E380FF2E9B +S21400EFE000F0EE80C6F1FF0202FB05F506FB0955B0 +S21400EFF005EB052905EBC915ED0D207D65F304002D +S21400F000207502FB03F306FB083808EB082308EB21 +S21400F010C3184FEAD858A38A68F34A13A38202FBA0 +S21400F02001F106FB071606EB062706EBC716F60DDC +S21400F0301B0A66F3C7036375012009B0BDE8F08FAD +S21400F040A18F029B1944B4F93E2009B2DDF804A052 +S21400F0505046634B98478346E28F03990A4412B2A0 +S21400F060B4F93C10CDF804A050465D4B9847824654 +S21400F070E28F03990A44A18F029B194412B209B287 +S21400F0800198574B984794F8343013F0020F7FF4EA +S21400F0900BAF82E7052B98BFFF26009B052B8CBF86 +S21400F0A02B460023BBF1050F98BFFF23BAF1050FCF +S21400F0B098BF0025052898BFFF2571E7FF2B3FF472 +S21400F0C07DAFC3F1FF019DF81D20D20803FB07F7B3 +S21400F0D001FB027707EB072207EBC217C7F3C457FB +S21400F0E0BDF81C20C2F3451203FB08F801FB02889A +S21400F0F008EB082208EBC218C8F3C5589DF81C2078 +S21400F10002F01F0203FB09F901FB029909EB092330 +S21400F11009EBC319C9F3C45950E7FF2D36D0C5F122 +S21400F120FF009DF81910C9089DF81530DB0800FB94 +S21400F13003F305FB013101EB012301EBC311C1F31E +S21400F140C451BDF81830C3F34513BDF81420C2F3FC +S21400F150451200FB02F205FB032303EB032203EB3D +S21400F160C213C3F3C5539DF8182002F01F029DF882 +S21400F17014E00EF01F0E00FB0EF005FB020505EB7B +S21400F180052205EBC215C5F3C45525E79DF81850B2 +S21400F19005F01F05BDF81830C3F345139DF8191088 +S21400F1A0C90819E7227D65F304022275A28A63F373 +S21400F1B04A12A282120A61F3C702627501203CE776 +S21400F1C0237D69F304032375A38A68F34A13A38295 +S21400F1D01B0A67F3C703637501202EE700202CE7A0 +S21400F1E031EA000001E900002DE9F04F83B08846BF +S21400F1F05D4B1988E1B107465C4B1E683346013902 +S21400F20089B2013101EBC10106EB810158481A6A47 +S21400F2108242A4BF02F1FF321A6224338B42F6D137 +S21400F2200024DFF88091DFF880B1DFF83CA111E020 +S21400F230504B0093504B442250490220504CA0475C +S21400F240002525E0012827D00134A4B2BAF8003002 +S21400F250A3422AD904EBC40506EB85056868C847AF +S21400F2600028EFD16B68BB42EED128891FFA88F3DD +S21400F270984214BF002001200028E5D02B6A6A6956 +S21400F2801344B3F57A7F0EDD4FF47A732B6265B1C3 +S21400F290284603B0BDE8F08F39466868D847B0FA0C +S21400F2A080F04009E8E72B62F1E72F4B1A88012A25 +S21400F2B037D906F12403023A92B202EBC20206EBF9 +S21400F2C0820248323546186A296A8842B8BF1D4607 +S21400F2D024339342F7D16B682BB32846294B9847C3 +S21400F2E0294B0093244B772224490120244CA04725 +S21400F2F0264B9847044600236B614246394628460B +S21400F300234B9847C0B100232B626B69002BBFD1FB +S21400F3102046204B984768610028B9D101236B61CD +S21400F320B6E73546D7E71C4B0093134B7A221349B2 +S21400F3300120134CA047DBE7184B00930E4B8322AB +S21400F3400E4902200E4CA04728460E4B9847202117 +S21400F3502846134CA04724212846A0474FF00043D8 +S21400F3602B62002594E700BF582B0020586D002024 +S21400F37002000080785102001C5102004851020031 +S21400F380452201001DFF0000A051020041100100AF +S21400F39031FE000059100100D4510200085202004C +S21400F3A01F2B010051990000E3B401002DE9F0473E +S21400F3B0144B1F68144B1B880BB306460024DFF85B +S21400F3C04C90DFF84CA0DFF840800EE00BB12846EA +S21400F3D0D04720212846C84724212846C84701345C +S21400F3E0A4B2B8F80030A34209D904EBC40507EB71 +S21400F3F085056B68B342E9D0002EF0D1E6E7BDE89C +S21400F400F08700BF586D0020582B00201F2B0100EE +S21400F4101DFF00002DE9F04182B00446214B1B6819 +S21400F42033B10020204B98471E4B18681F4B984757 +S21400F43004EBC40080001E4B98471A4B18601D4B07 +S21400F4409847E8B1174B1B6843B31B4B1C80A4B10D +S21400F4500024144F194E984604EBC405AD003868D6 +S21400F46020212844B047386824212844B047013476 +S21400F470A4B2B8F80030A342EED802B0BDE8F081DE +S21400F4800F4B0093A8220F4903200F4CA047054BB3 +S21400F4901A6800230D480E498847FEE70022064BEF +S21400F4A01A80EAE7586D0020ADF30000AD24010095 +S21400F4B0C523010099220000582B00201F2B0100B5 +S21400F4C0305102004851020045220100C03F0200B0 +S21400F4D0A122000030B587B00C4615460846334BCF +S21400F4E09847D8B92378C3F30403043BDBB20A2B4E +S21400F4F059D82368C3F38A232A6863F394222A60C0 +S21400F5006388C3F34A136A8863F34F126A802278CB +S21400F5102B7862F304032B7001200DE001280DD038 +S21400F520022832D0224B0093224B4FF49A72224983 +S21400F5300220224CA047002007B030BD0222214600 +S21400F54004A81F4B984738B12B781C3303F01F03D1 +S21400F5500A2B18D80120EFE703AB0422294604A89B +S21400F560184CA047044604A8174B984714B9039BA9 +S21400F570042BE9D0154B00930E4B40F221120E4996 +S21400F58002200E4CA0470020D6E72B68012060F32F +S21400F59094232B601A0C60F34F126A800B2262F3DE +S21400F5A004032B70C8E70020C6E700BF519900008F +S21400F5B05453020034520200005302004522010058 +S21400F5C0351D0100A51C0100751C0100305302000A +S21400F5D038B5CC69A4B10D46206820B1094B9847D0 +S21400F5E02068094B9847606808B1074B9847A068A1 +S21400F5F008B1054B98472046034B98470023EB611C +S21400F60038BD00BF751C0100AD2401002DE9F04394 +S21400F61085B005460C468B7A012B16D0002B40F0A1 +S21400F620AA814B689B68002B00F0A381087B00F042 +S21400F6301F00031FDBB2022B00F2858063689B6805 +S21400F6402361012005B0BDE8F0834868964B9847D3 +S21400F6509649974B984700282AD10222616802A84B +S21400F660944B9847D8B9E36923B3E6690820924BD0 +S21400F67098473060914B9847002840D03368002B5D +S21400F6804BD18F4B00938F4B40F25F128E49032075 +S21400F6908E4EB047214628468D4B984708E08D4B46 +S21400F6A00093884B4FF4A67287490220874CA047E8 +S21400F6B00020C7E70C20804B9847E0617F4B9847B7 +S21400F6C068B9804B009340F253127F4903207F4D68 +S21400F6D0A847E2690023804880498847FEE7E0693A +S21400F6E048B9774B0093774B40F255127649032082 +S21400F6F0764CA047DCE70C21794B9847B5E7714B71 +S21400F700009340F25D1270490320704CA0473268A7 +S21400F7100023714871498847FEE70DF1070203F19F +S21400F720080112F8010F03F8010B8B42F9D1207B78 +S21400F73000F01F00031FDBB2022B04D8A37A002BB5 +S21400F7403FF47CAF1FE1C31FDBB2032B09D9A0F146 +S21400F7500B03DBB2032B00F2FD80002323610120A4 +S21400F76070E7604B98470746E369BBB1E66902203D +S21400F770B840514B98477060504B9847002837D197 +S21400F780504B009340F297124F4903204F4CA0472E +S21400F79072680023504851498847FEE70C20464BC4 +S21400F7A09847E061454B984768B9464B00934FF43D +S21400F7B0C67245490320454DA847E26900234648DE +S21400F7C046498847FEE7E06970B93D4B00933D4BDC +S21400F7D04FF4C7723C4903203C4EB04721462846AA +S21400F7E03B4B984700202DE70C213D4B9847BDE743 +S21400F7F0012303FA07F738462F4B9847B0602F4B84 +S21400F8009847002832D07368002B3DD0B368002B91 +S21400F8103AD0A37A012B67D063689A68002F00F06D +S21400F82095800023706800EB430C92F801E04FEAE5 +S21400F8309E0E9578ED081178C90810F8138061F3CC +S21400F840040800F8138030F813106EF34A1120F8FD +S21400F8501310090A65F3C7018CF80110D078B16857 +S21400F860C854013304329F42DCD16FE0154B00933D +S21400F87040F2991214490320144CA047B2680023A2 +S21400F880154816498847FEE70D4B00930D4B40F28E +S21400F8909B120D4903200D4EB047214628460C4BBF +S21400F8A098470020CEE600BF091E01007C530200E8 +S21400F8B0E3B40100351D0100C523010099220000B4 +S21400F8C0AC530200545202000053020045220100CD +S21400F8D0D1F5000080530200C03F0200A1220000C4 +S21400F8E01F2B01006996000004213068284B9847BA +S21400F8F067B30025A946DFF8B0804B46042202A96C +S21400F9003068C047726802EB450E9DF80900800813 +S21400F9109DF80A10C9089DF80830DB0812F815C0D3 +S21400F92063F3040C02F815C032F8153060F34A137E +S21400F93022F815301B0A61F3C7038EF801309DF8D4 +S21400F9400B20B3685A550135AF42D6D10023236148 +S21400F950012077E6214628460E4B98470E4B00932B +S21400F9600E4B40F2D3120E4902200E4CA047002048 +S21400F97068E6002066E6087B00F01F00031FDBB287 +S21400F980022B3FF6E0AE0023236101205AE600BFBB +S21400F990E11C0100D1F50000D853020054520200C9 +S21400F9A00053020045220100A51C01002DE9F04F7E +S21400F9B08BB00D4614469A46BDF950600B7B03F09B +S21400F9C01F031A1FD2B2022A45D88B7A012B03D006 +S21400F9D000200BB0BDE8F08FD1F81C80087B00F04B +S21400F9E01F009E4B98470746E968C1F38A210AFB29 +S21400F9F0014100FB01F1C9100431D8F80000984B12 +S21400FA009847D8B9C7F3C70706FB07F60AAB002224 +S21400FA1043F8102D32461599D8F80000914CA047AF +S21400FA20069B9E4215D0904B0093904B40F2352299 +S21400FA308F4902208F4CA0470020CAE78E4B0093C8 +S21400FA408A4B40F22E228A4902208A4CA047002088 +S21400FA50BFE70120BDE7A3F10B02D2B2032A0FD9FC +S21400FA60073BDBB2032B40F2DF80844B0093844BD2 +S21400FA704FF4FE727E4902207E4CA0470020A8E785 +S21400FA8000228DF81020FF238DF811308DF81420F9 +S21400FA9055228DF81520AA228DF816208DF81730DD +S21400FAA0784B0FCB0AAF07E90F002989002E0CDD33 +S21400FAB0080A159B721E92B2013202EB42021A44E9 +S21400FAC01970587003339A42FAD1287B00F01F0051 +S21400FAD0624B9847804601278740013FBFB22B7B89 +S21400FAE003F01F030B3B032B00F28380DFE803F0D9 +S21400FAF0024C6176EB68C3F38A23DA1013F0070F23 +S21400FB000CBF0FFA82FB02F1010BE3100AFB0B3A63 +S21400FB10E44304F007040DF11009EB69039358461B +S21400FB20594B98470290AB7A002B6BD16B689B6859 +S21400FB309A44002E23DD159A711E89B2013101EB1D +S21400FB4041011144C8F1080040B29AF8003007FAA3 +S21400FB5004F6334023412E7B06F01F060E2EDBB242 +S21400FB6018BF19F803309370A4EB080464B2002C95 +S21400FB70BCBF04460AF1010A03328A42E5D1029864 +S21400FB80424B9847012024E7EB68C3F38A239A1078 +S21400FB9013F0030F0CBF0FFA82FB02F1010BA31048 +S21400FBA00AFB0B3AE44304F0030464000DF1140965 +S21400FBB0B3E7EB68C3F38A235A1013F0010F0CBFA8 +S21400FBC00FFA82FB02F1010B63100AFB0B3A14F0EA +S21400FBD0010F13D000240DF118099EE7EB68C3F35C +S21400FBE08A239AB20FFA83FB0AFB024A0024A14634 +S21400FBF093E70024A246A346A1468EE704240DF10F +S21400FC0018098AE70AF10401039B1868144B984701 +S21400FC1000235A46DDF808B0594603980068DFF816 +S21400FC2044A0D047DA4684E7087B00F01F000B4B61 +S21400FC30984781464FF0010808FA00F808F1FF38A7 +S21400FC401FFA88F82B7B03F01F03073B032B00F2F9 +S21400FC50A580DFE803F01D687E9600BF6996000069 +S21400FC60E11C0100A51C0100285402007452020089 +S21400FC700053020045220100045402004C540200C6 +S21400FC80AC5202009C5202002529010059250100B1 +S21400FC90EB68C3F38A234FEAE30B13F0070F0CBF9E +S21400FCA00FFA8BFB0BF1010BE3100AFB0B3A0AF180 +S21400FCB0080AE44304F00704EF695846414B9847A6 +S21400FCC00290AB7A002B6ED16B689B689A44002E2C +S21400FCD024DD159A711E89B2013101EB41011144F0 +S21400FCE0C9F108056DB29AF8003008FA04F003402E +S21400FCF02341DBB2786830F813001070000A5070A9 +S21400FD00B868C35C9370A4EB090464B2002CBCBF53 +S21400FD102C460AF1010A03328A42E4D102982A4BA1 +S21400FD209847012055E6EB68C3F38A234FEAA30BF6 +S21400FD3013F0030F0CBF0FFA8BFB0BF1010BA31094 +S21400FD400AFB0B3A0AF1100AE44304F003046400C9 +S21400FD50B2E7EB68C3F38A234FEA630B13F0010F95 +S21400FD600CBF0FFA8BFB0BF1010B63100AFB0B3A6F +S21400FD700AF1400A04F00104002C0CBF04240024FD +S21400FD809AE7EB68C3F38A2B1FFA8BF30FFA8BFB09 +S21400FD900AFB034A0AF5806A00248DE74FF0000A42 +S21400FDA05446D34688E70AF104013868074B98475B +S21400FDB000235A46DDF808A051463868044DA84787 +S21400FDC085E700BF2529010059250100E11C010037 +S21400FDD0A51C01002DE9F04781460E460B786FF30F +S21400FDE047130B700F48104B9847C8B104464FF0A6 +S21400FDF0000ADFF830800D4F05E0554621464046A4 +S21400FE00B847044648B12368002BF6D03246494628 +S21400FE102046984705460128F0D12846BDE8F087D9 +S21400FE200025FAE7A46C0020911F0100A51F010021 +S21400FE302DE9F0478246884602810846264B9847B9 +S21400FE408AF80A000023CAF81C3001280DD0CAF828 +S21400FE5004802248224B98470446002836D00025C6 +S21400FE600AF10C091D4F1F4E10E040461E4B9847E6 +S21400FE7001301E4B9847CAF8040041461C4B984771 +S21400FE80E7E721463846B0470446D8B12368002B3A +S21400FE90F7D06268002AF4D04A4641462046984782 +S21400FEA005460128EDD10023CAF81830CAF81030EC +S21400FEB0CAF8004063685146204698470546012820 +S21400FEC0DFD100E01DB12846BDE8F08700252021DF +S21400FED05046084B9847F6E751990000A46C00205E +S21400FEE0911F0100A51F010007B50100C5230100F1 +S21400FEF0F7B401001F2B010070B582B00668B46825 +S21400FF0054B11D4613460A460146069801900095D0 +S21400FF103046A04702B070BD0020FBE7036883B1FF +S21400FF2010B50446DA6812B1014618469047A37A1F +S21400FF30012B00D010BD6068024B98470023636019 +S21400FF40F8E77047AD24010030B583B00D480E4B7E +S21400FF50984704460D4B984738B11CB110212046EF +S21400FF600B4B9847204603B030BD0A4B0093C9227E +S21400FF7009490320094DA847224600230848094995 +S21400FF808847FEE7A46C0020F91E010099220000B5 +S21400FF901F2B0100D0520200005302004522010030 +S21400FFA0C03F0200A122000010B582B01021144804 +S21400FFB0144B9847144B984748B1144A0260144AA9 +S21400FFC04260144A8260144AC26002B010BD134BED +S21400FFD00093134B472213490220134CA0470020DE +S21400FFE0124B98470028F0D10D4B009348220D493C +S21400FFF00320A047002200230D480E498847FEE74D +S214010000A46C0020E11E010049FF0000D5F40000A9 +S2140100100DF60000ADF90000D1F50000885402008D +S214010020E852020000530200452201009922000016 +S214010030C03F0200A122000008B54368984708BDEA +S21401004010B50468A04710BD10B584B013460A4623 +S21401005001A9044CA04718B1BDF8040004B010BDB6 +S2140100600020FBE74100010003780A78934211BFA4 +S214010070981A40784B78C01A704703880A889342CA +S21401008011BF981A40884B88C01A704700880B88A1 +S214010090C01A70470B4600296CD0F0B585B00469CC +S2140100A0A269914215D0678AC7F30907002F5DD070 +S2140100B0A16808681A1A0392888882420BD800261B +S2140100C01D468B7CE3B9C8881044A561E06105B084 +S2140100D0F0BDE069FBE700250135ADB2BD4245DA6A +S2140100E005EB85008200164601EB020E51F8202032 +S2140100F09A1A0392BEF804008242EDD87146DFE7F1 +S214010100012B05D0022B08D0032B18D00020DCE7EA +S214010110CB689B5CC8881844D7E70A8A8968164B5F +S2140101200093022303A8154FB8470346D0B1A2682F +S2140101301644B068181AF38803EB5000C5E70A8A1C +S21401014089680D4B0093022303A80C4FB84758B19A +S214010150A2681644B268831A5B08F268D35CF0881A +S2140101601844B2E70020B0E70020AEE7A361002004 +S214010170E061ACE7084670478D0001006D41010063 +S2140101802DE9F04F9FB00929056908BF2021A04B32 +S2140101909847002800F0EA8480466F6807EBC0069F +S2140101A02B7D13F0030F0BD1002E00F0E28457F8DD +S2140101B03030C3F31303286818441FB0BDE8F08F2E +S2140101C03379747904FB03F4002C00F0D584EB7CBE +S2140101D0C3F38303013B032B05D8DFE803F0027565 +S2140101E0787B0734E4088B4B18688B4B984784421E +S2140101F011D9DFF820922146D9F80000874B98479D +S214010200C9F80000864B9847002866D0814B1B68CA +S214010210002B00F0B48457F83810C1F313012B6893 +S21401022019447C4BD3F8009033790C939B461AB251 +S2140102301746189272791592EA7CC2F38302D3B2FA +S2140102400F93032B14BF184604200890714B596076 +S2140102501A7200225A72DA601A745A745846714C2D +S214010260A04716905846A0471790002F00F05182DD +S214010270684B197C03915C7C5F68DD6893F808A085 +S214010280012202FA0AF2511ED046CAF108060A965F +S214010290CAF11006099693F809C0169800F1FF3EB8 +S2140102A00BF1FF339BB20D9300EB030B7646002355 +S2140102B0059307931A460AF1FF3A01230493CBB23A +S2140102C00B930692614634E00334A4088BE70134AD +S2140102D0640888E70134640885E7534B009372226B +S2140102E052490320524CA047D9F800200023514818 +S2140102F051498847FEE70320EB0805F0070202EBA9 +S214010300080CBCF1070F35D817F803C00A9B9A1AD8 +S2140103104CFA02F3034015B1039A934238D0454490 +S214010320039301220498069006F8013F5E4500F00B +S2140103304E81A1BBBAF1070F18D801A353F82AF0D2 +S21401034071030100F702010061030100650301006A +S2140103506D0301006D0301006D03010069030100D7 +S2140103600720C9E70F20C7E7FF20C5E70B98C3E7BB +S2140103700120C1E717F803C03B445B7803EB0C236D +S2140103801FFA83FC099B9A1A4CFA02F30340C2E750 +S214010390012205920024049A07921146BFE701291B +S2140103A004D0022900F0CD800023BDE7EB0805F05C +S2140103B0070202F1010CBCF1070F13D8FB5CD24314 +S2140103C00832134103F001030134E4B26A1CB3B9E5 +S2140103D0BAF1070F00F2A580DFE80AF0A5849D9F19 +S2140103E0A3A3A3A117F803C03B445B7803EB0C233C +S2140103F09BB2D2431032134103F00103E4E70B2C06 +S2140104001CD01546039B01220592049A8CE700BF77 +S214010410950001005C2B0020392501008128010090 +S2140104209922000025290100AC540200C85402009C +S21401043045220100C03F0200A1220000D30802F0BD +S2140104400702911D072913D8FC5CC2F1020244FA87 +S21401045002F202F03F040735002C40F0AD80BAF1FD +S214010460070F26D8DFE80AF027101F2125252523A8 +S214010470F95C3B445C7804EB0124A4B2C2F10A02A5 +S214010480144104F03F04E6E70320EA0805F00703F9 +S21401049003EB0801072910D8BA5C0A99CB1A42FA6D +S2140104A003F3034014E00720EFE70F20EDE7FF20FA +S2140104B0EBE70B98E9E70120E7E7B95C3A445278A5 +S2140104C002EB012292B20999CB1A42FA03F30340D6 +S2140104D045440393012205920498024607900021A1 +S2140104E0069021E70320D10802F0070303EB080575 +S2140104F0072D1AD8795C0A9DEB1A41FA03F30340DB +S21401050002EB080503930122059204980246079020 +S2140105100021069008E70720E5E70F20E3E7FF2024 +S214010520E1E70B98DFE70120DDE77D5C3944497898 +S21401053001EB052189B2099DEB1A41FA03F3034049 +S214010540DEE7013C14F0FF043DD1BAF1070F23D8D2 +S214010550DFE80AF024041C1E222222200320EA08D7 +S21401056005F0070303EB0801072919D8BA5C0A99B5 +S214010570CB1A42FA03F30340454403930122059242 +S21401058004980246079000210690CDE60720E6E78C +S2140105900F20E4E7FF20E2E70B98E0E70120DEE723 +S2140105A0B95C3A44527802EB012292B20999CB1A0D +S2140105B042FA03F30340DFE7039B01220592049A04 +S2140105C007920221B0E6039B01200590ACE606984F +S2140105D08C46C8B90AB19F4BDD60079B13B19D4B92 +S2140105E083F809C0059B0BB19A4B5C7400200F9BE6 +S2140105F0039304274FF00F0C4FF00D084FF00B0A32 +S2140106004FF0090B049728E0924B9DF80C101974D3 +S214010610E0E707293DD8DFE801F004272A2D30332B +S21401062036393D46002100F00702C2F10802521B8E +S214010630C0F3CF044FF0FF33AB4063F0FF039340AA +S21401064019F804502B4001FA02F2134309F804305A +S214010650089A13461044B6451DD01EF8011F0F9B7D +S214010660032BD6D0039DDEE73D460221DBE73D4660 +S2140106700499D8E73D460621D5E73D465946D2E7D7 +S2140106803D465146CFE73D464146CCE73D466146AD +S214010690C9E73D46C7E70D9A02FB03330E93159B48 +S2140106A0012B40F355826B4BD3F804801A7A10461F +S2140106B01992012202FA00F10139C9B21B910146D1 +S2140106C08246587C0790C1F108010B91CAF11001CE +S2140106D00D91197C0391D3F80CC093F809B00899D1 +S2140106E012910C9B013B9BB201FB03F11A91002175 +S2140106F00A910C91069108911092179AD3181C939F +S214010700012304930F9A099204221D9205936646CB +S214010710F5E100230E93C2E74FF003090CE04FF01A +S214010720070909E04FF00F0906E0E14604E0DDF8AD +S214010730449001E0DDF81090F30806F0070202EBA2 +S2140107400A0BBBF1070F31D818F803300B9DAA1A14 +S21401075043FA02F202EA09095FFA89F916B1039B24 +S2140107604B4533D05644CDF80C90049B0693059B1D +S214010770089304F8019FA04200F05D8169BB079BC6 +S2140107801A46072AD3D801A353F822F035070100E9 +S214010790190701001F070100250701002F070100A7 +S2140107A02F0701002F0701002B07010018F803B0DF +S2140107B043445B7803EB0B239BB20D9DAA1A43FAC5 +S2140107C002F202EA09025FFA82F9C7E7049B0A937A +S2140107D07746059B0C931946C4E7012904D00229E4 +S2140107E000F0D780F146C4E7F30806F0070202F1ED +S2140107F00109B9F1070F15D818F80330D2430832AA +S214010800134103F001037A1CD7B2721CBBB9079BD4 +S2140108101946072900F28E80DFE801F08E8486886B +S2140108208C8C8C8A18F8039043445B7803EB09237D +S2140108309BB2D2431032134103F00103E3E70B2FBF +S2140108400AD01646DDF80C90049B0A93059B069386 +S2140108508FE700BF5C2B0020D30802F00702911D32 +S214010860072915D818F80330C2F1020243FA02F23A +S21401087002F03F070736002F40F0CF80079B1A464D +S214010880072A39D8DFE802F03B12303338383836D9 +S21401089018F8031043445B7803EB01239BB2C2F1C3 +S2140108A00A0243FA02F202F03F07E3E74FF00309B8 +S2140108B0F30806F0070202EB0A01072922D818F806 +S2140108C003300B998A1A43FA02F202EA09025FFA26 +S2140108D082F95644CDF80C90049B0A93059B0C9321 +S2140108E071460693089344E74FF00709E0E74FF097 +S2140108F00F09DDE7E146DBE7DDF84490D8E7DDF8F0 +S2140109001090D5E718F8031043445B7803EB0123F6 +S2140109109BB20D998A1A43FA02F202EA09025FFAB9 +S21401092082F9D6E7032608E0072606E00F2604E04C +S214010930664602E0119E00E0049ED30802F007011D +S21401094001EB0A09B9F1070F14D818F803300B9D0B +S214010950691A43FA01F131405FFA81F902EB0A069E +S214010960CDF80C90049B0A93059B0C937146069355 +S2140109700893FEE618F8039043445B7803EB0923DB +S2140109809BB20D9D691A43FA01F131405FFA81F974 +S214010990E4E77B1E13F0FF0748D1079B1A46072A98 +S2140109A00DD8DFE802F00E0406080C0C0C0A032131 +S2140109B008E0072106E00F2104E0614602E01199F4 +S2140109C000E00499F30806F0070202EB0A09B9F100 +S2140109D0070F13D818F803300B9DAA1A43FA02F230 +S2140109E00A405FFA82F95644CDF80C90049B0A93AC +S2140109F0059B0C93714606930893BAE618F8039084 +S214010A0043445B7803EB09239BB20D9DAA1A43FA74 +S214010A1002F20A405FFA82F9E5E7DDF80C90049BE2 +S214010A200A93059B0C9302210693A2E6DDF80C902F +S214010A30049B0A939DE6DDF84C900797149F169B3E +S214010A4003F1FF3E0E9DDDF83CC011961391DDF8D3 +S214010A5048B021E0072A40D8DFE802F0042A2D300A +S214010A603336393C0423002205F00701C1F10801A1 +S214010A70C91AC5F3CF00012606FA03F35B4263F0F9 +S214010A80FF038B4019F8006033408A40134309F88E +S214010A9000305D44BC4222D017F8012F9EF8013089 +S214010AA05A400EF8012FBCF1030FD3D0099BDBE7A8 +S214010AB004230222D8E704231D9AD5E7042306223D +S214010AC0D2E704230922CFE704230B22CCE7042331 +S214010AD00D22C9E704230F22C6E70423C4E7119EAB +S214010AE0DDF84CB01A9B129A13440E9A1A440E92D1 +S214010AF0109B01331BB21093159A9A4215D0189B7E +S214010B00002BF5D0179B5F1E3C464FF0000E199B3D +S214010B105D1E1B9B11934FF0FF0CCDF84C90594670 +S214010B201497079F07951C9828E6B446089BC3B9F7 +S214010B30069B13B1134BC3F80CC00C9B13B1114B9E +S214010B4083F809B00A9B1BB10E4B9DF81C205A7402 +S214010B5016980D4CA0471798A0470A4B1868FFF740 +S214010B602CBB084B9DF80C201A74E1E70020FFF718 +S214010B7024BB0020FFF721BB0020FFF71EBB00208F +S214010B80FFF71BBB5C2B0020592501002DE9F04720 +S214010B9084B007460C469946092A06BF012520223D +S214010BA0002506691146494B98478046002800F003 +S214010BB08680F368002B7CD049463846434B9847DD +S214010BC0034618BB0023706800EBC800328A03FB9B +S214010BD002F31B114288C2F30B1205B1520008330F +S214010BE013441B0923804379A3800279628090F91C +S214010BF00630E38090F907302381F37CC3F3830347 +S214010C00A372002D60D05200628059E03A69D17C0F +S214010C1011F0400F3CD1D768FA7A12F0030203D0E4 +S214010C20012A1BD00023CEE7D7F8009008EB00235B +S214010C3004A820F8043DBA68254B0093022322F04D +S214010C407F424946DFF890A0D04728B1A0EB0903C0 +S214010C505B087A68D356B6E70023B4E7D7F8009066 +S214010C6008EB002304A840F8043DBA68194B00932A +S214010C70042322F07F424946DFF85CA0D04728B122 +S214010C80A0EB09031B097A68D3569CE700239AE771 +S214010C90D1684A6812F808206AB18868C35C63B1F3 +S214010CA0013A487B09680B4400FB023212F9013C09 +S214010CB089E7002387E7002385E7002383E70025EC +S214010CC0284604B0BDE8F0870125F9E79500010044 +S214010CD0690001007B0001006D41010008B5044B6D +S214010CE0186820B1034B98470022014B1A6008BDD3 +S214010CF05C2B0020AD24010010B504462C21154BB9 +S214010D0098470023E3604FF4F07222804FF4887214 +S214010D1062806360227A63F34102227294F828208B +S214010D2063F3040284F82820228D42F4FC622285B3 +S214010D30120A63F3C70284F829202289822161F30B +S214010D408B02228142F00102227223626362636196 +S214010D5010BD00BF1F2B0100F8B504460D4617460F +S214010D601E462421034B984725606760A560E66010 +S214010D70F8BD00BF1F2B0100F0B583B005463F4804 +S214010D803F4B98470446002854D04FF4B8713D4B6A +S214010D9098472C22294620463B4B98474C2104F184 +S214010DA030003A4B98470023C4F86C31384B1B6827 +S214010DB0002B50D0364B1F681C60234603221E2191 +S214010DC03448354DA847E062344B9847002845D053 +S214010DD0E36A002B4FD0B4F868316FF30903A4F827 +S214010DE068310025C4F86C51294628462C4EB04778 +S214010DF0E06329462846B047206429462846B0477E +S214010E0060642946206C274EB0472946606CB0477F +S214010E102946206C244EB0472946606CB047E06BEB +S214010E20224B98471A4B1F60E06A214B9847204691 +S214010E3003B0F0BD194B98470028F8D11D4B00931D +S214010E407C221D4903201D4CA047002200231C487C +S214010E501C498847FEE70E4B1C60ABE7154B009319 +S214010E608D2215490320154DA847E26A0023144830 +S214010E7014498847FEE70024D9E700BF986C002094 +S214010E80F91E01001F2B01003D260100E11E010095 +S214010E90702B00205D5F0000CD3901009922000013 +S214010EA00D3E0000853B0000892900000933000043 +S214010EB03D3A0100A4910200BC91020045220100C6 +S214010EC0C03F0200A1220000014B1868704700BF16 +S214010ED0702B0020034640B11A7A12F0020F0CBFA5 +S214010EE0B3F90000B3F902007047034B1B68002BEF +S214010EF0F2D14FF4F0707047702B0020034640B1DA +S214010F001A7A12F0020F0CBFB3F90200B3F900000F +S214010F107047034B1B68002BF2D14FF48870704763 +S214010F20702B0020034618B11889C0F3890070475A +S214010F30024B1B68002BF7D182207047702B0020D4 +S214010F4038B50546A0B128460F4B984704462846B3 +S214010F500E4B984704EB84046400B4FBF0F01D28A4 +S214010F600DD931280DD9462834BF0220032038BDBB +S214010F70074B1D684FF4F074002DE8D0E3E700201E +S214010F8038BD012038BD00BFD50E0100250F010078 +S214010F90702B00204268002393614268D36170473A +S214010FA008B520B101460448044B984708BD0248DD +S214010FB0034B984708BD00BF986C0020A51F010091 +S214010FC0911F01004068704743681A6822B158684B +S214010FD0003018BF012070470020704710B5044646 +S214010FE0084B9847034658B1B4F90020B4F90230CB +S214010FF003FB02F36268D268934214BF0023012305 +S214011000184610BDC90F010008B520B101460448B5 +S214011010044B984708BD0248034B984708BD00BFDC +S2140110208C6C0020A51F0100911F0100034B0022BC +S2140110301A705A6810445860704700BF742B00201D +S214011040044B4FF0010119701A78002AFBD0014BAE +S21401105058687047742B002010B50446014B98471A +S214011060001B10BD411001000A6A486A82421ABF7D +S214011070800290FBF2F04FF480608A69CB699B1A7C +S21401108000FB03F002EBA02000B2704708B5012276 +S214011090084B1A700848094B984728B10421054B9C +S2140110A05868074B984708BD0021024B5868044B07 +S2140110B0984708BD7C2B00205C6D0020911F010025 +S2140110C0413901002DE9F04391B06348634B9847DD +S2140110D068B10146604D624C91F83C306FF34103B4 +S2140110E081F83C302846A04701460028F4D15D4BE4 +S2140110F098685D4B984780465748584B9847044632 +S214011100002800F08980574D4FF00007524EDFF857 +S2140111104C911CE013EB080300F18580A268002ABD +S21401112000F08880204690471EE0214604F110001A +S2140111304E4B984728E0626A236A9A422BDA2B784C +S214011140002B71D03046C8470446002C64D02F705F +S21401115094F83C3013F0020F66D143F0020384F892 +S2140111603C30636A002BD5DD636A43446362002B1F +S214011170E5DB226A9A42B8BF62622369002BD4D0AB +S214011180214604F1100098476368002BD3D001B2C2 +S21401119020689847CFE794F83C3013F0010308D154 +S2140111A0A28E002A48D04FF6FF718A424BD0013AF0 +S2140111B0A286A28ECAB1226B52426262E26A002AFB +S2140111C0BDD0002B3BD083F0010394F83C1063F3B1 +S2140111D0000184F83C10A369E069A061E36111F0A5 +S2140111E0010F08BFA26B2262A9E7E26A02B133B31C +S2140111F04022214668461E4B9847214630461D4BE5 +S214011200984720461C4B98471C4B9847039B002B3E +S21401121095D06846984792E7194B9847114B9860C6 +S21401122011B0BDE8F0836362214630460C4B984707 +S21401123004468AE763629CE7E26A002AD8D0A16A7C +S21401124049426162BFE7226B52426262E26A002A49 +S2140112503FF475AFF3E700BF5C6D0020911F0100FE +S214011260A51F01007C2B0020591001006910010008 +S2140112703D2601007D200100AD2401008D100100F6 +S2140112804110010038B5402109480A4B98470A4BDE +S21401129098470A4CA060002304221E210848094DE5 +S2140112A0A8476060084B98470023237038BD00BFED +S2140112B05C6D0020E11E0100411001007C2B002026 +S2140112C0C5100100CD3901008D10010010B504468E +S2140112D040210D4B98474FF4FA7323620023A36114 +S2140112E06423E361094B1A7822745A7862749A78F7 +S2140112F0A274DB78E3740123A38694F8363043F0B6 +S214011300010384F8363010BD1F2B0100E89102005E +S2140113102DE9F84F074689461548164B984710B3EE +S21401132004464FF0000ADFF84880134EDFF854B049 +S2140113300BE021464046D8472046104B9847104BB5 +S21401134098474FF0010A2C467DB121464046B047EA +S21401135005462368BB42F6D163684B45E9D0B9F12F +S214011360000FF0D1E5E74FF0000A5046BDE8F88FD0 +S2140113705C6D0020911F0100A51F0100AD24010036 +S2140113808D1001007D20010030B583B0054641680F +S21401139011B100681B4B98471B481C4B9847F0B986 +S2140113A019481B4B984704461A4B9847E8B1A4B115 +S2140113B02B6AAB63402229462046174B984794F880 +S2140113C0363013F0010F06D0636823B1206810B1E0 +S2140113D0B4F918109847114B984703B030BD104B1D +S2140113E0984701380F4B9860DAE70F4B00936A2253 +S2140113F00E4903200E4DA847224600230D480E49EC +S2140114008847FEE7111301005C6D00202D220100C4 +S214011410F91E0100992200003D2601008D100100F1 +S214011420411001007C2B0020F09102000092020086 +S21401143045220100C03F0200A1220000F8B5044683 +S2140114400F460A480A4B9847014660B1074E094DB8 +S21401145003E03046A847014628B10B68A342F8D1FD +S2140114604B68BB42F5D10846F8BD00BF5C6D002055 +S214011470911F0100A51F0100891A0029B8BF494222 +S2140114804FF47A7202FB01F292FBF0F04FF6FF7214 +S214011490904228BF1046002808BF012080B270473E +S2140114A030B4B0F90050B0F904305B1B03EBD373D2 +S2140114B05B109CB20A88521B121B49884088081A86 +S2140114C0001B13FB03F310FB00F012FB0202934216 +S2140114D0B4BF0020012030BC70470139438819444D +S2140114E0C1807047B0F90420B0F90030D21AB0F9C3 +S2140114F00630B0F90200181A013002FB00007047EE +S21401150070B4B2F90050B1F900309D42B8BF1D4623 +S2140115100580B2F90230B1F90240A342B8BF2346B2 +S2140115204380B2F90440B1F90460B442A8BF34461E +S2140115308480B2F90620B1F906108A42A8BF0A468D +S214011540C280A54205DC9342CCBF0020012070BCBE +S21401155070470020FBE710B4B2F90030B1F9004043 +S214011560A342A8BF23460380B2F90230B1F9024074 +S214011570A342A8BF23464380B2F90430B1F9044020 +S214011580A342B8BF23468380B2F90630B1F90620DC +S2140115909342B8BF1346C3805DF8044B7047000002 +S2140115A02DE9F04F85B0B1F90050B0F900E075456E +S2140115B0C0F29D80B0F90480454500F39C80B1F9E6 +S2140115C00230B0F902A05345C0F29780B0F9060088 +S2140115D00190834200F39380002A40F392808C4668 +S2140115E01FFA88F91FFA8EF687B21FFA8AF5ADF848 +S2140115F008E009F101039B1B1BB203EBD3747B1CB0 +S2140116005B1B1BB203EBD37164104B10A342A8BF44 +S21401161023469342A8BF13469CB22644B6B2ADF801 +S2140116200C60ADF80AA02544ADB20FFA85FBADF803 +S2140116300EB00022CDF800C0614602A8FFF7B0FF49 +S21401164050B12644ADF80C602C44ADF80E4000991C +S21401165002A82E4B98474BE03F1BBFB2ADF80A706D +S214011660BDF80430ADF80E300022009902A8FFF74D +S21401167097FF50B12644ADF80C603C1BADF80A400C +S214011680009902A8214B984732E0A9EB04091FFAFA +S21401169089F9ADF80890ADF80C800022009E31461D +S2140116A002A8FFF77DFF58B1A9EB0409ADF8089031 +S2140116B03C1BADF80A40314602A8144B984717E088 +S2140116C0ADF80AA0ADF80EB00022009E314602A881 +S2140116D0FFF766FFB8B1A9EB0409ADF808902C44F2 +S2140116E0ADF80E40314602A8084B984700E00020AE +S2140116F005B0BDE8F08F0020FAE70020F8E70020EB +S214011700F6E70120F4E70120F2E700BFA11401008B +S214011710B0F90020B1F904309A4214DCB0F9042083 +S214011720B1F900309A4210DBB0F90220B1F9063067 +S2140117309A420CDCB0F90600B1F902309842B4BF07 +S21401174000200120704700207047002070470020CD +S214011750704700002DE9F04182B0B0F90050B1F9B0 +S2140117600030AB4214DCB0F90240B1F902309C42C1 +S21401177014DBB0F90440B1F904309C4210DCB0F936 +S2140117800630B1F90640A342CCBF0023012300E096 +S21401179000233AB9184602B0BDE8F0810023F8E705 +S2140117A00023F6E717460C460646ADF80450438874 +S2140117B0ADF8063001A92046134B9847034600288A +S2140117C0E8D0B6F9048002A921F8048D3A462046ED +S2140117D00D4B984703460028DCD0ADF80450F3883B +S2140117E0ADF806303A4601A92046074B984703460E +S2140117F00028CFD002A921F8048D3A462046024B94 +S21401180098470346C6E700BFA115010030B4142A65 +S2140118103AD8DFE812F01500430047005C00670085 +S21401182072008D009E00B300CE00D600EE00FC00D4 +S21401183004011C012A0132014A01580160017801A4 +S214011840828801320488121B12B202EBD2748A8893 +S21401185001320D88521B12B202EBD2725210C2EB49 +S21401186064021A80C28801324488121B12B202EB4B +S214011870D274CA8801324988521A12B202EBD27265 +S2140118805210C2EB64025A801A8801880A441A80F0 +S2140118905A8841880A445A8030BC704700221A8010 +S2140118A05A80F1E7828801320488121B12B202EBD9 +S2140118B0D2748A8801320988521A12B202EBD272A5 +S2140118C05210C2EB64021A8000225A80DCE782883A +S2140118D08C88121B0488121B09880A441A8000226D +S2140118E05A80D1E700221A80C288CC88121B44880D +S2140118F0121B49880A445A80C6E782880132048846 +S214011900121B12B202EBD2748A8801320D88521B66 +S21401191012B202EBD2725210C2EB64021A80C28873 +S214011920CC88121B4488121B49880A445A80ABE7AC +S21401193082888C88121B0488121B0C8822441A8009 +S214011940C288CC88121B4488121B49880A445A80D4 +S2140119509AE700221A80C28801324488121B12B20A +S21401196002EBD274CA8801324988521A12B202EBCB +S214011970D2725210C2EB64025A8085E782888C8844 +S214011980121B0488121B0C8822441A80C28801325A +S2140119904488121B12B202EBD274CA8801324988FB +S2140119A0521A12B202EBD2725210C2EB64025A8081 +S2140119B06AE700221A80CA884988521AD2435A8096 +S2140119C062E7828801320488121B12B202EBD274DB +S2140119D08A8801320D88521B12B202EBD272521063 +S2140119E0C2EB64021A80CA884988521AD2435A80C6 +S2140119F04AE782888C88121B0488121B0C882244B2 +S214011A001A80CA884988521AD2435A803CE7002273 +S214011A101A80C28801324188521A5A8034E7828875 +S214011A2001320488121B12B202EBD2748A88013288 +S214011A300988521A12B202EBD2725210C2EB640239 +S214011A401A80C28801324188521A5A801CE782885D +S214011A508C88121B0488121B09880A441A80C288C3 +S214011A6001324188521A5A800EE78A880988521A2A +S214011A70D2431A8000225A8006E78A880C88121BF5 +S214011A80D2431A80C28801324488121B12B202EB7A +S214011A90D274CA8801324988521A12B202EBD27243 +S214011AA05210C2EB64025A80EEE68A880C88121B3A +S214011AB0D2431A80C288CC88121B4488121B4988DC +S214011AC00A445A80E0E6828801320188521A1A8056 +S214011AD000225A80D8E6828801320488121B1A80B6 +S214011AE0C28801324488121B12B202EBD274CA8831 +S214011AF001324988521A12B202EBD2725210C2EB6C +S214011B0064025A80C0E6828801320488121B1A8059 +S214011B10C288CC88121B4488121B49880A445A8002 +S214011B20B2E630B48DB210F0030F1CBF20F8021BD2 +S214011B3002F1FF3205EB0541102A21D900F12003FD +S214011B40144643F8201C43F81C1C43F8181C43F8A1 +S214011B50141C43F8101C43F80C1C43F8081C43F8EB +S214011B60041C103C2033102CEBD8A2F111031B09E6 +S214011B70591C103AC3EB037302EB031200EB41103E +S214011B801AB120F8025B013AFBD130BC704730B481 +S214011B90C1EB4115C1F1FF04C0F3C42304FB035399 +S214011BA003EB032203EBC213C3F3C452C0F3451382 +S214011BB0C1EB811104FB031101EB012301EBC311FE +S214011BC0C1F3C55100F01F0004FB005000EB0023D9 +S214011BD000EBC310C30D4FF0000063F3040061F384 +S214011BE04A1062F3CF2030BC704710B4C1F1FF0138 +S214011BF0C0F3C42301FB03F303EB032203EBC2137D +S214011C00C3F3C453C0F3451201FB02F202EB0224F4 +S214011C1002EBC412C2F3C55200F01F0001FB00F133 +S214011C2001EB012001EBC011C90D4FF0000061F37B +S214011C30040062F34A1063F3CF205DF8044B70474B +S214011C40421C43781BB908E012F8013F2BB13A2B2E +S214011C50FAD05C2BF8D02F2BF6D010467047000038 +S214011C6008B544210148024B984708BD306D002055 +S214011C70E11E010038B5436873B11A6972B10446B2 +S214011C8001681846904705462068054B984700238B +S214011C9023606360284638BD0B25FBE70925F9E775 +S214011CA0AD240100F0B585B01E460BB100233360AC +S214011CB045688DB1AF698FB113460A46044604A83C +S214011CC0002140F8041D216800902846B8470EB14F +S214011CD0039B336005B0F0BD0B20FBE70920F9E755 +S214011CE038B5446834B1256A35B10A4601682046DC +S214011CF0A84738BD0B2038BD092038BD70B504464D +S214011D0009480A4B9847014658B10378A34208D0C0 +S214011D10054E074D3046A847014610B10B78A34241 +S214011D20F8D1084670BD00BF306D0020911F01003C +S214011D30A51F01002DE9F04383B000234360036033 +S214011D40002945D00D46914604460878244B98470D +S214011D50606040B1836853B1984740B9002363601F +S214011D602360012535E000232360032531E0636805 +S214011D7058881C4B984720601B4B984728B126680B +S214011D8086B9002363600A2523E0184B00936F226F +S214011D9017490320174DA8472268002316481749FC +S214011DA08847FEE7D4F80480D8F80C70AFB128460F +S214011DB0134B98474B46024631464046B8470546C0 +S214011DC038B120680F4B984700232360636000E01A +S214011DD00B25284603B0BDE8F0830925F9E700BFC7 +S214011DE0FD1C0100C523010099220000409202005B +S214011DF05C92020045220100C03F0200A1220000C1 +S214011E00411C0100AD24010010B50446124B984751 +S214011E10C8B102462118235C2E2B0FD02F2B14D0CD +S214011E205C2B14D0013A0CD011F8013D2E2B05D0B5 +S214011E302F2B0ED05C2BF5D1084810BD0132A0180F +S214011E4010BD064810BD054810BD044810BD034826 +S214011E5010BD024810BD00BF07B50100EC4E0200E0 +S214011E6010B582B0019281B10C4682B10368043389 +S214011E70CA189DF80410E1549DF8053053709DF87A +S214011E80063093709DF80730D37002B010BD00681D +S214011E90043004212044014B9847F6E71F2B01002C +S214011EA000B583B0019281B10A46019B83B10168F6 +S214011EB053189DF8040050549DF805205A709DF85B +S214011EC006209A709DF80720DA7003B05DF804FBCF +S214011ED0006804211044014B9847F6E71F2B0100C8 +S214011EE000234360836011F0030F1CBF21F0030140 +S214011EF0043101607047000038B5044600680830B8 +S214011F000D4B9847054690B10022014620460B4BE3 +S214011F109847626829462046094B9847616819B177 +S214011F202A462046054B98476560A3680BB12846AC +S214011F3038BDA560FBE700BFC5230100A11E010057 +S214011F40611E010038B50446006808300D4B9847FD +S214011F50054690B10022014620460B4B9847A268E1 +S214011F6029462046094B9847A16819B12A462046BA +S214011F70054B9847A56063680BB1284638BD656078 +S214011F80FBE700BFC5230100611E0100A11E010081 +S214011F9008B1406870470020704708B180687047F4 +S214011FA00020704782B00023019370B103680433A8 +S214011FB0CA18CB5C8DF8043053788DF805309378C9 +S214011FC08DF80630D3788DF80730019802B0704747 +S214011FD082B00023019368B102688B188A5C8DF881 +S214011FE004205A788DF805209A788DF80620DB783B +S214011FF08DF80730019802B07047000060B32DE9F4 +S214012000F041044651B30D464368994220D000681A +S2140120100830154B9847064618B329462046134BF9 +S21401202098478046324601462046114FB8474246F9 +S21401203031462046DFF84080C047324629462046D2 +S214012040C0472A4631462046B8473046BDE8F081AB +S214012050084B9847BDE8F081002070470846BDE868 +S214012060F081BDE8F08100BFC5230100D11F01004A +S214012070611E0100F91E0100A11E010070B50D468A +S214012080044650B34368994229D08368994217D0D1 +S21401209029462046184B9847064629462046174BA0 +S2140120A098470546024631462046154B9847324624 +S2140120B029462046134B984770BD0023A36070BD88 +S2140120C00D4B9847A06028B10022014620460C4BD4 +S2140120D0984770BD0023636070BD0029D8D129469A +S2140120E02046064B984760600028E6D0002201464D +S2140120F02046044B984770BDD11F0100A51F010063 +S214012100611E0100A11E010070B50C4615461E4653 +S2140121101146174B9847AEB1002229462046154B6B +S2140121209847626829462046134B9847616819B15B +S2140121302A4620460F4B98476560A36803B170BDD9 +S214012140A56070BDA268294620460A4B9847002222 +S21401215029462046084B9847A16819B12A462046C9 +S214012160054B9847A5606368002BE8D16560E6E7F4 +S2140121707D200100A11E0100611E010091424CD08C +S2140121802DE9F84317460C46054612B31146234B74 +S2140121909847064684421AD021462846204B98473F +S2140121A0224631462846DFF87C80C0473246214623 +S2140121B02846DFF87490C847224639462846C8475D +S2140121C03A4621462846C04706B3BDE8F883BDE82F +S2140121D0F883F0B18668B4421DD021462846104BDC +S2140121E098472246314628460E4FB8473246214682 +S2140121F02846DFF83480C047224600212846C047DB +S214012200002221462846B847AC60DDE76C60BDE891 +S214012210F8831646DFE7BDE8F8837047D11F010053 +S2140122207D200100611E0100A11E010040B142682F +S2140122300AB1002070478068B0FA80F04009704704 +S214012240012070472DE9F041C4B0441EE4B2042CCD +S21401225015D81F4616460D4680464BAB03934A9A41 +S2140122604FF4807104A8074CA047074B1C6834B193 +S21401227004AB00933B46324629464046A04744B04D +S214012280BDE8F081B5350100882B00201B4B83FB90 +S21401229000231A18C317C3EB22234FF4B47202FBB0 +S2140122A0130000B20028BCBF801800B2592813DD05 +S2140122B080B2A0F15A039BB2592B11D9A0F1B403F5 +S2140122C09BB2592B13D9C0F5B47000B20C4B33F83E +S2140122D01000404200B27047094B33F910007047B6 +S2140122E0C0F1B40000B2064B33F9100070471BB2C0 +S2140122F0034A32F81300404200B27047B7600BB68B +S2140123008492020030B400020024131903FB03F583 +S214012310A84228BF1C465208F7D123090B80240186 +S214012320E4B24C8030BC7047034660B104301B6891 +S21401233000EB5300021D054B1B6803F580439A42D0 +S21401234028BF00207047014B186870478C2B00206F +S21401235011F0030F1CBF21F0030104310368C3F31E +S2140123605E030A1D934217D0994216D010B4021D7F +S214012370535C6FF3000353540368C3F35E03043BDB +S2140123805B1A545863F35F045450036861F35F03A8 +S21401239003605DF8044B70471146036861F35F0301 +S2140123A003607047064B1A1D1A601A796FF3000214 +S2140123B01A715A6843F6FC7161F35F025A607047FE +S2140123C08C2B002000282ED0F0B583B0054610F0E7 +S2140123D0030F1CBF20F0030504350024134E144FD1 +S2140123E008E02946B847237843F00103204600F861 +S2140123F0043BB0B92046B047044648B1037813F011 +S214012400010FF7D10368C3F35E039D42E9D9F1E7F3 +S214012410084B0093084BD12208490220084CA047DC +S214012420002003B0F0BD0748704700BF2923010014 +S21401243051230100A89302003C93020080930200FE +S21401244045220100906B002038B50020164B9847B6 +S2140124500446154D1BE038BD2046A847014608B383 +S214012460037813F0010F11D12368C3F35E0204321F +S214012470086802EB500262F35F0323600846A84730 +S214012480014670B10B7813F0010FEDD00C46002C0D +S214012490E1D0237813F0010FDED02046A84704468A +S2140124A0F5E738BD38BD00BF2923010038B51E4BFE +S2140124B0984238D0002836D0044610F8043C6FF312 +S2140124C0000300F8043C194AB2F8203D01339BB2E0 +S2140124D0A2F8203D0F2B20D80438154B984701460B +S2140124E008B3037813F0010F15D1114D54F8043CCD +S2140124F0C3F35E020432086802EB500262F35F0324 +S21401250044F8043C0846A847014628B10B7813F066 +S214012510010FEBD038BD38BD38BD0022034BA3F800 +S214012520202D044B984738BD906B0020745E002028 +S214012530292301004924010038B1064A904206D0F9 +S21401254050F8040CC0F35E0070470020704700206E +S214012550704700BF906B00201B4B1B68984220D031 +S214012560194B9B68834208BF01221BD010B582B06D +S214012570164B1B6898421DD0012314491C4651F87E +S2140125803320904217D00133102BF7D1104B009314 +S214012590104B40F2322210490320104CA04702B0E3 +S2140125A010BD0022084B03EBC2039A796FF30002B9 +S2140125B09A7170470024054B03EBC404A3796FF3AB +S2140125C00003A371EBE700BF44000020B06C0020BD +S2140125D0C49302004C93020080930200452201003E +S2140125E02DE9F041124B9A796FF300029A719A7BAA +S2140125F06FF300029A730F4C0025DFF83C802E46DD +S214012600271F03E001350834102D0ED054F8040CB2 +S2140126100028F7D0C04744F8046C07EBC5039A7945 +S21401262066F300029A712680ECE7BDE8F08100BFF0 +S21401263044000020B46C0020AD240100F0B400F08A +S214012640030301F00304A34200F0A680202A40F20F +S214012650A18000F1200401F12003154613F8206C37 +S21401266004F8206C13F81F6C04F81F6C13F81E6C2A +S21401267004F81E6C13F81D6C04F81D6C13F81C6C22 +S21401268004F81C6C13F81B6C04F81B6C13F81A6C1A +S21401269004F81A6C13F8196C04F8196C13F8186C12 +S2140126A004F8186C13F8176C04F8176C13F8166C0A +S2140126B004F8166C13F8156C04F8156C13F8146C02 +S2140126C004F8146C13F8136C04F8136C13F8126CFA +S2140126D004F8126C13F8116C04F8116C13F8106CF2 +S2140126E004F8106C13F80F6C04F80F6C13F80E6CEA +S2140126F004F80E6C13F80D6C04F80D6C13F80C6CE2 +S21401270004F80C6C13F80B6C04F80B6C13F80A6CD9 +S21401271004F80A6C13F8096C04F8096C13F8086CD1 +S21401272004F8086C13F8076C04F8076C13F8066CC9 +S21401273004F8066C13F8056C04F8056C13F8046CC1 +S21401274004F8046C13F8036C04F8036C13F8026CB9 +S21401275004F8026C13F8016C04F8016C203D203477 +S2140127602033202D3FF67AAFA2F1210525F01F0474 +S214012770203403192144203A25F01F05521B3AB193 +S21401278001391A4411F8014F03F8014B9A42F9D165 +S214012790F0BC70470346F2E7002B5BD10546202AC2 +S2140127A034D905F1200401F12003164653F8207CA4 +S2140127B044F8207C53F81C7C44F81C7C53F8187CA5 +S2140127C044F8187C53F8147C44F8147C53F8107CB5 +S2140127D044F8107C53F80C7C44F80C7C53F8087CC5 +S2140127E044F8087C53F8047C44F8047C203E2034EA +S2140127F02033202EDAD8A2F1210323F01F0420343F +S21401280025442144203A23F01F03D21A042A32D940 +S2140128100E1F2C46134656F8047F44F8047B043BEF +S214012820042BF8D8541F24F003030433043A24F08D +S2140128300304121B19442B44002AA9D001391A4457 +S21401284011F8014F03F8014B9342F9D1A0E729464D +S2140128501D46A4E7C3F104037AB1C418034611F870 +S214012860015B03F8015B0D46013AA342EFD0002A53 +S214012870F5D10022E0E72B46DEE70346F9E7000044 +S214012880F0B583B004460D4611F0030F1CBF21F0CE +S2140128900305043538B110F8043C03F00103002B9E +S2140128A014BF044600242046154B98470646854229 +S2140128B024D011D32846134B98470746A0B184B1BC +S2140128C07EB12A46B54228BF324621460E4B98476E +S2140128D020460E4B984704E02946201F0C4B98478C +S2140128E02746384603B0F0BD0A4B00930A4B40F228 +S2140128F03F120A4902200A4CA047F2E72746F0E7B2 +S21401290039250100C52301003D260100AD24010043 +S21401291051230100A89302006093020080930200F5 +S21401292045220100002800F08D80014610280BD8B2 +S214012930454B9B7913F0010F0ED0434B9B7B13F055 +S214012940010F08BF012008D070B582B03F4A0023AE +S2140129504FF0FF36144619E000203B4A02EBC00157 +S2140129608B7943F001038B7152F830007047374A78 +S21401297002EBC3018B7943F001038B7152F83500EA +S21401298023E05EB201330832102B13D01D4604EB50 +S214012990C300807910F0010FF4D190888142F1D8FC +S2140129A0E5D0002EEDDB04EBC605AD88854288BF79 +S2140129B05EB2E7E7002E0ADB244A02EBC6018B79FA +S2140129C043F001038B7152F8360002B070BD1F4B05 +S2140129D09B7913F0010F08BF002416D001231B4872 +S2140129E01C4600EBC302927912F0010F0DD00133A1 +S2140129F0102BF5D1164B0093164B40F216221649B2 +S214012A000320164CA0470020DFE7104D05EBC4035A +S214012A109A7942F001029A71998055F83400104B68 +S214012A20984745F8340018B1084B53F83400CCE702 +S214012A300C4B0093074B4FF4047207490320074DD4 +S214012A40A847F1E70020704744000020B06C002042 +S214012A505494020070930200809302004522010004 +S214012A6081280100F093020010F0030313D0C3F194 +S214012A7004033AB1034400F8011B013A98420AD014 +S214012A80002AF8D10022002A48D0024400F8011B8F +S214012A909042FBD1704730B401EB012404EB0144B2 +S214012AA004EB0164202A20D900F12003154643F8DF +S214012AB0204C43F81C4C43F8184C43F8144C43F88C +S214012AC0104C43F80C4C43F8084C43F8044C203D9A +S214012AD02033202DEBD8A2F1210323F01F0520354A +S214012AE02844203A23F01F03D21A042A0FD9054698 +S214012AF0134645F8044B043B042BFAD8531F23F026 +S214012B0003040434043A23F00303D21A204422B106 +S214012B10024400F8011B9042FBD130BC704710F014 +S214012B20030341D110B4202921D900F120030C461A +S214012B30002243F8202C43F81C2C43F8182C43F8A9 +S214012B40142C43F8102C43F80C2C43F8082C43F8AB +S214012B50042C203C2033202CEBD8A1F1210323F0B8 +S214012B601F0220321044203923F01F03C91A0429FA +S214012B7010D902460B46002442F8044B043B042BB2 +S214012B80FAD84B1F23F003020432043923F003035F +S214012B90C91A104429B10144002300F8013B8842B8 +S214012BA0FBD15DF8044B7047C3F1040341B1034404 +S214012BB0002200F8012B01399842B3D00029F8D140 +S214012BC000210029EFD00144002300F8013B884290 +S214012BD0FBD1704710F0030343D110B4202922D94A +S214012BE000F120030C464FF0FF3243F8202C43F847 +S214012BF01C2C43F8182C43F8142C43F8102C43F8DB +S214012C000C2C43F8082C43F8042C203C2033202CB1 +S214012C10EBD8A1F1210323F01F0220321044203902 +S214012C2023F01F03C91A042911D902460B464FF097 +S214012C30FF3442F8044B043B042BFAD84B1F23F015 +S214012C4003020432043923F00303C91A104429B1DC +S214012C500144FF2300F8013B8842FBD15DF8044B99 +S214012C607047C3F1040341B10344FF2200F8012B6E +S214012C7001399842B1D00029F8D100210029EFD0BE +S214012C800144FF2300F8013B8842FBD170479A427A +S214012C9038BF8854704770472DE9F04F83B0074618 +S214012CA0009193469846DDF830900D9C9DF838507B +S214012CB01099DDF844A0129A12F00203019335D15F +S214012CC0BAF1000F0ED012F0010F00F0B68015B960 +S214012CD012F00C0F01D00AF1FF3A8C4213D21F2CCE +S214012CE004D910E08C420BD21F2C09D809EB04033F +S214012CF03020013403F8010BA14201D9202CF8D170 +S214012D0012F0010F12D0A24510D91F2C09D809EBD9 +S214012D1004033020013403F8010B544505D0202C60 +S214012D20F8D112F0100F04D144E0A24612F0100FB1 +S214012D3013D012F4806F04D11CB1A1421BD05445AC +S214012D4019D00F9B102B1ED00F9B022B27D01F2CA8 +S214012D5030D8302309F8043001341F2C2AD82DBB73 +S214012D6012F0040F3AD112F0080F23D0202309F8ED +S214012D70043001341EE0631E0FD00F99102901D0D4 +S214012D801C46E1E7023C12F0200F5DD11F2CDED875 +S214012D90782309F804300134D9E71C46D1E71F2C03 +S214012DA008D8622309F804300134D0E72D2309F846 +S214012DB00430013412F0030F15D1544528BF5E4686 +S214012DC012D20BEB0A052D1B5A46561C4346009998 +S214012DD02020B8473246AE42F7D105E02B2309F84A +S214012DE004300134E6E75E4635465CB1A14434441E +S214012DF03246551C4346009919F8010DB8472A4634 +S214012E00AC42F6D1019BA3B1A5EB0B03534512D2FD +S214012E1020262A46009D541C434629463046B8477C +S214012E202246A4EB0B035345F5D3204603B0BDE879 +S214012E30F08F2C46F9E72C46F7E78C42BFF476AFC5 +S214012E401F2C7FF653AF71E71F2CB3D8582309F810 +S214012E50043001347BE700002DE9F04190B0169D67 +S214012E60189EDDF86C802DB928F0100418F4806FD8 +S214012E702FD1A04618F0200F0DF11F0E4FF00007BE +S214012E8014BF4FF0370C4FF0570CB5FBF6F406FBAA +S214012E901454E4B20137092C94BF30346444E4B2CC +S214012EA00EF8014FB5FBF6F50DB1202FEDD1CDF89B +S214012EB018801A9C0594199C049403969DF85C400E +S214012EC00294019708AC0094034CA04710B0BDE8EB +S214012ED0F081A0460027EAE7992C01002DE9F04F82 +S214012EE095B0089009910A920B93DDE91E45DDF82D +S214012EF08890DDF88C8054EA050307D1269B23F0E1 +S214012F001003269A12F4806F3ED12693269B13F067 +S214012F10200F0DF12F0A4FF000061D4F14BF4FF082 +S214012F20370B4FF0570B4A46434620462946B847CB +S214012F30D2B20136092A94BF30325A44D2B20AF8C4 +S214012F40012F4A46434620462946B84704460D46C1 +S214012F5054EA050301D0202EE5D1269B0693259B36 +S214012F600593249B0493CDF80C909DF88030029332 +S214012F7001960CAB00930B9B0A9A09990898054C8D +S214012F80A04715B0BDE8F08F26930026E5E700BF01 +S214012F906DB10100992C01002DE9F04F91B00A9214 +S214012FA01C461A9E0B91934B002914BF81469946E5 +S214012FB04FF0000B2078002800F06A82252808D000 +S214012FC00BF101050A9B5A460B99C8470134AB46DB +S214012FD0F0E7621C002101E041F0010114460132D4 +S214012FE02378203B102B31D801A050F823F000BFE6 +S214012FF0413001004D3001004D30010047300100E5 +S2140130004D3001004D3001004D3001004D300100C2 +S2140130104D3001004D3001004D3001003B300100C4 +S2140130204D300100353001004D3001004D300100BA +S214013030D92F010041F00201D0E741F00401CDE7AC +S21401304041F00801CAE741F01001C7E72378A3F170 +S2140130503002D2B2092A16D92A2B22D0002523788B +S2140130602E2B28D000272378683B122B4FD8DFE879 +S21401307003F0AA4EB84E454E4E4E4E4E4E4EB44EF0 +S2140130804E4E4E4EBC00002505EB850503EB45056F +S214013090303D14F8013FA3F13002D2B2092AF3D928 +S2140130A0DDE7331D3568002DBCBF41F002016D42DE +S2140130B001341E46D3E741F48061601C6378A3F1B6 +S2140130C03002D2B2092A04D92A2B11D0044600278D +S2140130D0C9E7002707EB870703EB4707303F10F8E0 +S2140130E0013FA3F13002D2B2092AF3D90446BAE766 +S2140130F0376827EAE77702340436B4E763786C2B3F +S21401310019BF41F48071013441F4407102342078D2 +S214013110A0F12503532B00F2B281DFE813F0A601DC +S214013120B001B001B001B001B001B001B001B00111 +S214013130B001B001B001B001B001B001B001B00101 S214013140B001B001B001B001B001B001B001B001F1 S214013150B001B001B001B001B001B001B001B001E1 S214013160B001B001B001B001B001B001B001B001D1 S214013170B001B001B001B001B001B001B001B001C1 -S214013180B001B001B001B001B001B001B001B001B1 -S214013190B001B001B001B001B001B0016D00B001E5 -S2140131A0B001B001B001B001B001B001B001B00191 -S2140131B06D0014016D00B001B001B001B0016D00E9 -S2140131C0B001B001B001B001B0016D008F01B001D6 -S2140131D0B0013701B0016D00B001B0016D00637838 -S2140131E0682B19BF41F08001013441F0C00102345F -S2140131F099E741F48071013495E741F40071013497 -S21401320091E741F4807101348DE700BFAF2C0100D6 -S214013210782800F0D581582800F054816F2800F0F6 -S214013220D181622800F0D08121F01003692826D1CF -S21401323011F4806F40F0C0810A2213F4007F24D17C -S21401324013F4807F44D113F0400F57D113F0800F51 -S21401325014BFB6F900103168043605930495039738 -S2140132600292CB0F01930029B8BF494200910A9BF5 -S2140132705A460B994846AC4DA847834652E1642806 -S21401328000F0568119460A221FE1F11D21F00701BF -S21401329001F108060868496808930795069704929D -S2140132A000230593CB0F029302460B46002873F1C9 -S2140132B0000109DBCDE900230A9B5A460B994846D3 -S2140132C09A4DA84783462DE1424263EB4303F1E75B -S2140132D006F1040831680593049503970292CB0F13 -S2140132E001930029B8BF494200910A9B5A460B999F -S2140132F048468D4DA8478346464613E13178043645 -S214013300ABE7F11D21F0070101F1080608930795C7 -S21401331006970023049205930293D1E90023CDE991 -S21401332000230A9B5A460B994846804DA847834678 -S214013330F8E006F10408059304950397029200232A -S2140133400193336800930A9B5A460B994846764D7B -S214013350A84783464646E5E031780436D4E011F0C6 -S214013360020F40F0EA80012D40F203810BF1FF3796 -S2140133702F444FF020085A46551C0A9B0B9940468D -S214013380C8472A46BD42F7D1371D05F1010B0A9BF6 -S2140133902A460B993078C8473E46013416E60C9EFD -S2140133A0BB46FAE7331D0E9333681A460C93002F7B -S2140133B014BF3B464FF0FF331078002800F0DB8047 -S2140133C012F8016F0EB1013BFAD10C9BD31A0D9383 -S2140133D011F4806A03D0BB4228BF3B460D9311F01F -S2140133E002030F9340F0CE800D990B4601338D42B8 -S2140133F040F2C38005EB0B08A8EB01085A46561CA1 -S2140134000A9B0B992020C84732464645F7D16B1CCC -S2140134100D930C9B1878002800F0B280DDF8308000 -S2140134203246564609E01F4602F1010B0A9B0B99EC -S214013430C84718F8010F30B15A46002EF4D07B1E4B -S214013440002FF0D193460F9B002B40F09F80013454 -S2140134500E9EBBE5351D41F021010591082304931D -S21401346003971023029300230193336800930A9B6A -S2140134705A460B9948462C4EB047834601342E4691 -S214013480A4E50BF101050A9B5A460B992520C8476E -S2140134900134AB469AE50BF101050A9B5A460B9996 -S2140134A0C8470134AB4691E50A9A93452CBF02F111 -S2140134B0FF325A460A9B0B990020C847584611B05E -S2140134C0BDE8F08F41F02001102221F00C0311F429 -S2140134D0806F07D021F00D0369283FF4AEAE642853 -S2140134E03FF4ABAE13F4007F7FF40BAF13F4807F91 -S2140134F07FF41FAF13F0400F7FF42EAF13F0800F51 -S21401350014BF3188316804360593049503970292F7 -S2140135100023019300910A9B5A460B994846024D97 -S214013520A8478346013451E5712E0100F52E0100AE -S21401353011F4806F3CD10A227FE6331D0C930BF108 -S21401354001070A9B5A460B993078C847012D7FF62A -S21401355026AF05EB0B0A4FF020083A46561C0A9B8D -S2140135600B994046C8473246B245F7D1AB440C9E4C -S21401357013E75D4608E70C9A27E70D935E4648E792 -S214013580B34664E75E4600287FF448AF0D9A95423D -S2140135907FF65DAF5D44AD1A5A46202602F1010B57 -S2140135A00A9B0B993046C8475A46AB45F6D14EE7BB -S2140135B021F011030A2240E621F011030A223CE61B -S2140135C0102282E7082280E702227EE710B582B049 -S2140135D0009313460A4601460248034CA04702B030 -S2140135E010BD00BFA72C0100B12F010008B518219E -S2140135F00448054B9847054B00221A7001225A7061 -S21401360008BD00BF806C0020F91E0100B86B0020C9 -S214013610F0B583B03748384B984710B30446354E5B -S214013620364D237D03F00703032B30DD214630465C -S214013630A84704460028F4D12E48314B9847054642 -S214013640304B9847002852D12F4B0093E5222F4943 -S21401365003202F4CA0472A4600232E482E49884790 -S214013660FEE724482D4B98470546264B984760B9F8 -S214013670254B0093D32225490320254CA0472A46F3 -S2140136800023244824498847FEE75DB91FE0214608 -S2140136901848234B984705461A4B9847D0B1B5B101 -S2140136A0002CC9D01F4C012626704FF4FA732B60EC -S2140136B00027AF602B7D032262F302032B754FF0C8 -S2140136C0FF332B61184B98476860EF60A670284659 -S2140136D003B0F0BD0C4B0093DB220C4903200C4CCD -S2140136E0A0472A4600230B480B498847FEE7002DD2 -S2140136F0D8D1ECE7806C0020A91F0100BD1F010096 -S2140137005D1F0100B1220000AC940200D4940200B7 -S2140137105D220100D83F0200B9220000111F0100FE -S21401372015200100B86B00205910010010B50446A1 -S21401373001460948094B98470122094B1A70204651 -S214013740084B9847084B1B689C4200D010BD0122CD -S214013750034BDA70FAE700BF806C00209520010069 -S214013760B86B0020C52401004C6D002010B504463E -S2140137704068124B98472368984201D2002010BD3A -S2140137800F4B984760600F4B0022DA709A70A3685F -S2140137902BB1204698470B4BD87800B110BD236952 -S2140137A0002BC4BF03F1FF33236123690BB1012052 -S2140137B0F4E72046044B9847012010BD7110010024 -S2140137C059100100B86B00202D3701002DE9F84390 -S2140137D0584B1B79002B40F0A980564B01221A71D9 -S2140137E05B782BB90022534B1A710120BDE8F88390 -S2140137F0514B98474F4B986000261D46DFF84C8189 -S2140138004E4CDFF850916DE02760002609E04C4BE6 -S2140138109847AB7833BBEB7823BB2B78002B5FD173 -S21401382027602168F1B14046C84707462068037DF6 -S21401383013F0070316D08642E6D0052BE7D0002EFC -S21401384042D0027D02F00702337D03F007039A425D -S214013850DFDD3B4B98470028DBD0AB7813B9EB781C -S214013860002B2FD0334CA068364DA847E36803449D -S214013870E3602069A847B0F5FA7F15D3E2686423B0 -S21401388003FB02F3304AA2FB0323C3F34713642B63 -S2140138909ABFC3F16403DBB20023264C23750023D1 -S2140138A0E360254B984720614FF0FF32214B9A6128 -S2140138B02648274B98470446002831D0214F1D4EF5 -S2140138C0224D1DE026680DE01D4B98470028A0D02C -S2140138D0AB78002BC6D1EB78002BC3D1266801E06C -S2140138E000262E700023EB70AB704046184B9847AD -S2140138F0206096E721462846164B9847044678B13D -S214013900237D13F0070FF5D06068B8472368984207 -S21401391034BF1B1A0023B2699A4288BFB361E9E734 -S214013920044B00221A719869BDE8F8830120BDE8AE -S214013930F88300BFB86B0020591001004C6D0020C1 -S2140139406D37010071100100D34D6210806C0020AC -S214013950A91F0100BD1F01002DE9F843037D03F0F7 -S21401396007038B4231D00D46884681461848194BCD -S2140139709847044618B3037D03F007039D420BDA0C -S214013980134F154E21463846B0470446B8B1237D3D -S21401399003F007039D42F5DBA14505D022464946C3 -S2140139A00B480E4B984754B101220D4B1A7099F8EB -S2140139B0143068F3020389F81430BDE8F883002256 -S2140139C049460348054B9847EEE7BDE8F88300BF34 -S2140139D0806C0020A91F0100BD1F01009521010078 -S2140139E0B86B00202DE9F04182B080460F4616469E -S2140139F01D46104B984704460F4B984760B13CB1A3 -S214013A00C4F808802760314620460C4B9847E5608D -S214013A10204602B0BDE8F081094B00934FF4837253 -S214013A2008490320084DA8472246002307480849AD -S214013A308847FEE711360100B1220000593901001E -S214013A40C4940200D49402005D220100D83F020013 -S214013A50B922000010B50446034B98472368DB43A0 -S214013A600344636010BD00BF59100100037813F0D2 -S214013A70800F01D10120704703F0E002C02A0AD06E -S214013A8003F0F002E02A08D003F0F803F02B0CBF95 -S214013A9004200020704702207047032070477F28CB -S214013AA016D982B0B0F5006F13D2C0F3841363F059 -S214013AB03F038DF8043000F03F0060F07F008DF882 -S214013AC0050000238DF806308DF80730019802B006 -S214013AD07047B0F5803F15D2C0F3033363F01F0380 -S214013AE08DF80430C0F3851363F07F038DF805303D -S214013AF000F03F0060F07F008DF8060000238DF88F -S214013B000730E3E7B0F5881FE0D2C0F3824363F0E5 -S214013B100F038DF80430C0F3053363F07F038DF88F -S214013B200530C0F3851363F07F038DF8063000F08F -S214013B303F0060F07F008DF80700C7E782B0019074 -S214013B4010F0800F17D09DF804309DF80520120460 -S214013B5002EB03629DF8063002EB03229DF8073064 -S214013B601A44042312F0FF0F08BF120A013B13F098 -S214013B70FF03F7D10192019802B0704770B483B089 -S214013B80002301930C4651B12268835C13F0800F29 -S214013B9007D118460132226003B070BC704701ACF1 -S214013BA0F2E703F0E001C0290BD003F0F001E029B1 -S214013BB019D003F0F801F02933D001322260002039 -S214013BC0EAE7511C2160405C00F0C001802901D069 -S214013BD00020E1E79B0103F4F86300F03F0018447E -S214013BE002322260D8E7511C2160415C01F0C00519 -S214013BF0802D01D00020CFE7951C2560405D00F0A8 -S214013C00C005802D01D00020C6E71B039BB200F043 -S214013C103F000344880100F47C60184403322260AC -S214013C20BAE7511C2160415C01F0C005802D01D02E -S214013C300020B1E7951C2560455D05F0C006802E85 -S214013C4001D00020A8E7D61C2660865D06F0C000DD -S214013C50802801D000209FE79B0403F4E0130903AA -S214013C6001F47C300343A80100F47C6006F03F06B3 -S214013C7030441844043222608EE70000F0B583B069 -S214013C8006460D460B68013B0B6004240E4F05E00B -S214013C9001382860631E13F0FF0408D028683044FA -S214013CA03B68984728B928680028F1D109E0002028 -S214013CB007E02B6802A941F8043D034B5B683046D8 -S214013CC0984703B0F0BD00BF540000202DE9F04135 -S214013CD00E4691B1074600242546DFF824803819A0 -S214013CE0D8F800309847002808BF01200444013561 -S214013CF0AE42F4D12046BDE8F0810C46FAE700BF9B -S214013D0054000020F0B583B0002301930D4669B13D -S214013D1006461C46064F01A930467B689847013483 -S214013D20019BAB42F7D3204603B0F0BD0C46FAE741 -S214013D305400002070B582B000230193037873B15C -S214013D4004460025074E01A92046736898470135A9 -S214013D50019BE35C002BF6D1284602B070BD00251E -S214013D60FAE700BF54000020232904D00378012B72 -S214013D7015D00020704703781BB90123037018463D -S214013D807047012B03D0022B05D00020704700237B -S214013D9003701846704700230370012070472029DE -S214013DA003D10223037001207047012070470000F1 -S214013DB02DE9F04F91B00591069207939DF8683072 -S214013DC004930890002800F0F080002900F0EF80AE -S214013DD013F0120F17D003780A2B00F0EA800D2B90 -S214013DE000F0ED80002B00F0EC800146002201324D -S214013DF011F8013F0A2B00F0DD800D2B00F0DA8070 -S214013E00002BF4D1D7E0049B03F002031A460B9370 -S214013E1047F618430799002A18BF19460791002349 -S214013E208DF83F300E93DFF8AC91DFF8ACA178E067 -S214013E30019A21460598644B98470544ADB200B2F5 -S214013E40002802DD069B1D44ADB22DB2B7F1FF3F3F -S214013E5038D0A4F10A02162A3BD85C4BD34013F0A3 -S214013E60010F39D101232C22944235D00133DBB224 -S214013E701AF80320002AF7D1B7F1FF3F08BFAB4677 -S214013E800C9E0D9B0C93039B0293019C18F8063025 -S214013E90002B6ED0D9F804300DA940469847019002 -S214013EA0029B01330393049B13F0010FC0D02146FC -S214013EB00DF13F00464B98470028B9D00C9E0D9B4C -S214013EC00C93E0E7069BEB1A099A9342C8BF374664 -S214013ED0BFE701232C22C7E7002E4AD1B7F1FF3FE7 -S214013EE04AD1AB46029B23B10D2C03D1019B0A2B71 -S214013EF000D10C9EB6B2079BA3EB0B0B0FFA8BF30C -S214013F000793002E3AD00E9F3E440E96089A1378D9 -S214013F100A2B3FD00D2B3DD0935D0A2B38D00D2BAD -S214013F2036D00E9B0A93089901EB0308CB5C002B55 -S214013F3030D0079B002B2DDDB8F1000F1ED047F6C1 -S214013F401843079A0B99002908BF134609930026C0 -S214013F500C960D96D9F804300CA9404698470446AD -S214013F600C9B0D93B3464FF0FF37029635460196EC -S214013F708CE7B7F1FF3FB5D00A9B3BB10E9B5BB90F -S214013F80144B5B680EA90898984703E0BEB2B2E7E7 -S214013F9001360E960E9B13B1BDF838000CE00D4BA2 -S214013FA05B680EA908989847F6E7002004E0002011 -S214013FB002E00022013290B211B0BDE8F08F00227B -S214013FC0F8E70022F7E700BF6100010009004000A2 -S214013FD0693D010054000020149502002DE9F04FC0 -S214013FE085B0002840D00546002A3FD00020039027 -S214013FF08DF80B0049B19B460192894600241C4F5F -S2140140009DF838A00AF0010A0CE0044628E0424672 -S21401401031460198174B984703B2002B02DD5C44EA -S214014020044424B2039B994515D97B6803A9284605 -S214014030984706467B68002103982844984780469F -S214014040BAF1000FE3D031460DF10B000A4B984749 -S2140140500028E7D1DBE7002C02DDA4EB0B0424B239 -S214014060204605B0BDE8F08F0024F9E70024F7E705 -S2140140705400002061000100693D01002DE9F04F68 -S21401408089B0BDF948400694BDF94C509DF8508062 -S21401409000240480448000295BD00F46002A58D0B3 -S2140140A0039311460292044608F0020347F61842AB -S2140140B0002B18BF15460495B1F9082007921FFA80 -S2140140C082FA3B78002B4CD03E460025DFF8B0B094 -S2140140D0069B9A441FFA8AF94746B0460097049B06 -S2140140E0039A02993046D8470544B4F902300AEBE0 -S2140140F00302B2F5004F24D2CDF814904B446380EE -S2140141000097039B029A01463046184EB047B4F911 -S21401411000309842B8BF1846208008EB050618F80C -S2140141200530002BDAD12DB116F8013C0A2B13D03D -S2140141300D2B11D0B4F902309BB1069A9B1A6380FD -S21401414007E00B4B00930B4B71220B4902200B4CE3 -S214014150A04709B0BDE8F08F6388059A1A446280CB -S214014160E8E7BDF81C306380F3E700BFDD3F0100E0 -S21401417044950200009502001C9502005D22010094 -S214014180B13D01002DE9F04781468A461F46DDF81C -S2140141902080144632B90020BDE8F087002814DAE2 -S2140141A02C467CB1650807FB05A631464846C04744 -S2140141B00028F3DD84F0010404F001042C1B06EB57 -S2140141C0070AEEE70020BDE8F0873046BDE8F08735 -S2140141D0014B1860704700BFD46B0020014B1B6871 -S2140141E0D8687047D46B002008B5024B1B681B6863 -S2140141F0984708BDD46B00202DE9F84304460139E1 -S214014200272934D8DFE811F028003900EC00A10096 -S21401421053006000A303D8004401B2024600CC0359 -S2140142207302FE03DC00E0008100E4009301E80075 -S21401423047026602E3036A017C013F02A0012302F2 -S2140142401F01750391030801B800E002C901F401DA -S2140142504703040212033A0300219B4B98470021AF -S21401426020469A4B98479A4B19689A4B9847FF21D4 -S2140142702046994B9847BDE8F8830021924B984712 -S21401428000212046914B9847914B19680431914B78 -S2140142909847ECE700218C4B9847002120468B4B32 -S2140142A098478B4B196804318A4B9847DFE7002102 -S2140142B0854B984700212046844B9847844B1968C4 -S2140142C01031844B9847D2E70021DFF8FC81C047C4 -S2140142D0002120467D4FB84781467D4E3168043126 -S2140142E07C4DA847316818314846A8470121204629 -S2140142F0C04701212046B847074631680431A84720 -S214014300316808313846A847B1E70021DFF8B8819F -S214014310C047002120466D4FB84781466C4E316834 -S2140143206C4DA847316868314846A84701212046A8 -S214014330C04701212046B847074631680431A847DF -S214014340316808313846A84791E70021DFF87881BF -S214014350C047002120465D4FB8475D4E3168243185 -S2140143605C4DA84701212046C04701212046B84799 -S21401437031682831A8477AE70021DFF84C81C04729 -S21401438000212046514FB847514E31682431514DD6 -S214014390A84701212046C04701212046B847316879 -S2140143A02831A84702212046C04702212046B847A7 -S2140143B031689C31A8475AE70021434B984756E796 -S2140143C00021414B984752E700213F4B98474EE763 -S2140143D000213D4B98474AE700213B4B984746E76B -S2140143E00021DFF8E480C04700212046374FB84758 -S2140143F08146374E31680431364DA8473168203141 -S2140144004846A84701212046C04701212046B84713 -S21401441031681C31A8472AE70021DFF8AC80C04785 -S21401442000212046294FB847294E31682031294DB1 -S214014430A84701212046C04701212046B8473168D8 -S2140144401C31A84713E70021DFF87C80C047002114 -S21401445020461E4FB84781461D4E316824311D4DFA -S214014460A847316894314846A84701212046C047ED -S21401447001212046B84731682831A8470221204645 -S214014480C04702212046B84731689031A847EEE67A -S2140144900021DFF83480C047002120460B4FB84783 -S2140144A00B4E31684C310B4DA84740212046C04782 -S2140144B040212046B847074631681031A847316881 -S2140144C050313846A847D2E6CD300000FD2F000017 -S2140144D0D86B0020D9650000993A000000219F4B57 -S2140144E09847002120469E4B984707469D4E3168C7 -S2140144F004319D4DA84731687C313846A847B6E659 -S2140145004021DFF85882C04740212046944FB847E3 -S214014510944E31681831944DA84741212046C04732 -S21401452041212046B84731681031A8479FE600214F -S2140145308A4B984700212046894B9847894B196832 -S2140145406C31894B984792E60021DFF81082C0470C -S21401455000212046824FB847824E31680431824D91 -S214014560A84740212046C04740212046B847316829 -S2140145701431A84701212046C04701212046B847EB -S21401458031688031A84702212046C04702212046D3 -S214014590B84731688431A84769E600216F4DA847BE -S2140145A000212046DFF8B881C0476E4F39686E4E4D -S2140145B0B04740212046A84741212046A84741212F -S2140145C02046C0473968A831B04743212046A8474E -S2140145D043212046C0473968AC31B04742212046C6 -S2140145E0A84742212046C0473968A431B0473EE675 -S2140145F000215A4DA84740212046A8474021204681 -S214014600574B9847574B1968B031574B98472EE68A -S2140146100021DFF84881C04700212046504FB847A7 -S214014620504E3168504DA84701212046C047012110 -S2140146302046B84731688031A84702212046C04746 -S21401464002212046B84731688431A8470FE6002189 -S214014650DFF80881C04700212046414FB847814610 -S214014660404E31680431404DA8473168883148468C -S214014670A84703212046C04703212046B847316892 -S2140146808C31A847F3E50021344B9847002120469A -S214014690334B9847EBE50021304FB84700212046C1 -S2140146A0DFF8BC80C04781462E4E316804312E4D5E -S2140146B0A847316874314846A84740212046B84784 -S2140146C001212046B84701212046C0473168803184 -S2140146D0A847CCE50021214B984700212046204BD6 -S2140146E09847204B196878311F4B9847BFE5002142 -S2140146F0DFF86880C04700212046194FB847814639 -S214014700184E31680431184DA847316808314846BB -S214014710A847316818314846A84740212046C04777 -S21401472040212046B847814631680431A8473168A0 -S21401473054314846A84741212046C04741212046DA -S214014740B84731688031A84742212046C0474221F8 -S2140147502046B84731685831A84788E5CD30000073 -S214014760FD2F0000D86B0020D96500000021DFF87E -S2140147709082C047002120469E4FB84781469E4EF4 -S214014780316804319D4DA847316840314846A847F5 -S214014790316818314846A84701212046C047012103 -S2140147A02046B847814631681831A84731684431F8 -S2140147B04846A84702212046C04702212046B8475E -S2140147C031684831A84752E50021DFF83482C047F6 -S2140147D000212046874FB847874E31680431874D00 -S2140147E0A84701212046C04701212046B847316825 -S2140147F0A031A84702212046C04702212046B847DB -S2140148003168A031A84703212046C047032120462E -S214014810B8473168A031A84704212046C047042183 -S2140148202046B8473168A031A84720E50021DFF8C7 -S214014830D081C047002120466E4FB8476E4E316882 -S2140148406E4DA84742212046C04742212046B84720 -S21401485031688031A84741212046C0474121204682 -S214014860B8473168B031A84740212046C0474021AB -S2140148702046B8473168A831A847F8E40021604BC4 -S2140148809847002120465B4B98475B4B1968A4313B -S2140148905A4B9847EBE40021DFF86481C0470021BA -S2140148A02046544FB8478146534E31680431534D24 -S2140148B0A847316818314846A84704212046C04712 -S2140148C004212046B8473168B831A847032120465D -S2140148D0C04703212046B8473168B431A8470121B3 -S2140148E02046C04701212046B84731688031A84795 -S2140148F0BDE40021DFF80881C047002120463D4F76 -S214014900B84781463C4E316804313C4DA847316872 -S21401491018314846A84703212046C04703212046B0 -S214014920B84731689831A847A1E40021344B98472D -S214014930002120462F4B984707462F4E31680431F9 -S2140149402E4DA847316808313846A8478FE4002124 -S214014950DFF8AC80C04700212046264FB847264ED8 -S21401496031680431254DA84703212046C04703215D -S2140149702046B84731682C31A84701212046C04758 -S21401498001212046B84731683031A8470221204628 -S214014990C04702212046B84731683431A84766E44B -S2140149A00021DFF85C80C04700212046114FB84740 -S2140149B0114E31683831114DA84701212046C047B4 -S2140149C001212046B84731683C31A8474FE4002111 -S2140149D00B4B984700212046064B98470746064E44 -S2140149E031680431054DA847316870313846A8470B -S2140149F03DE400BFFD2F0000D86B0020D965000004 -S214014A00CD3000000021DFF85480C0470021204649 -S214014A100F4FB84781460F4E316804310E4DA847F7 -S214014A2031685C314846A84701212046C04701212C -S214014A302046B84731686031A84702212046C04762 -S214014A4002212046B84731686431A8470FE400BF09 -S214014A50FD2F0000D86B0020D9650000CD30000086 -S214014A6008B5044B1B7913B9034B984708BD034B94 -S214014A70984708BDD86B0020D96400006567000020 -S214014A8070B5B34C2068B34B9847FF222C212068A1 -S214014A90B14B9847236A13F0020314BF1D21082166 -S214014AA0002B15BF3B2012201E230B234FF00002C4 -S214014AB063F3040260F34A1261F3CF2229212068CE -S214014AC0A64B98472046236A13F0020314BF07211A -S214014AD01C21002B15BF0F243A2408231D234FF059 -S214014AE0000263F3040264F34A1261F3CF2248F230 -S214014AF089010068994B98479548036A13F00203A9 -S214014B0014BF07211C21002B15BF0F243A240823AC -S214014B101D234FF0000263F3040264F34A1261F3AB -S214014B20CF22792100688D4B9847894C626948F2FB -S214014B308E0120688A4DA84762697E212068A847B1 -S214014B4020680430834B9847246804340020854B42 -S214014B5098470A30C000B0F5A07F80F24686012251 -S214014B6001212046804B9847794C2068FF222C2152 -S214014B700430794B984720680430236A13F0020FFB -S214014B8040F041860B2318210E244FF0000264F3F7 -S214014B90040261F34A1263F3CF2229216F4B98472F -S214014BA06B4B18681B6A13F0020314BF1A211021FD -S214014BB0002B15BF372422241C2312234FF000029A -S214014BC063F3040264F34A1261F3CF2239210430FD -S214014BD0624DA8475E4C2068A28940F23921043014 -S214014BE0A8472068E28940F239410430A847246882 -S214014BF0043400205B4B984728304000B0F5A07F76 -S214014C0080F20686012230212046574DA847504C97 -S214014C102068012233210430A8472068626948F2DF -S214014C208E0104304E4B984720680430236A13F0F7 -S214014C30020F40F0FB851F233F211C464FF0000268 -S214014C4064F3040261F34A1263F3CF2248F2890146 -S214014C50424B98473E4C206862697E210430404BA7 -S214014C60984720680430236A13F0020F40F0E3856A -S214014C701F233F211C464FF0000264F3040261F338 -S214014C804A1263F3CF227921344B9847304B186888 -S214014C9004301B6A13F0020F40F0D2851F233F2118 -S214014CA01C464FF0000264F3040261F34A1263F3F8 -S214014CB0CF2248F2A901294B9847254B18680430A2 -S214014CC01B6A13F0020F40F0C0851F233F211C46CC -S214014CD04FF0000264F3040261F34A1263F3CF2239 -S214014CE099211E4B98471A4C2068012290210430C6 -S214014CF01D4B98472568043500201C4B9847012812 -S214014D0040F2A8850020174B9847C0EB00104000E2 -S214014D105030B0F5A07F80F2B88501240020114BF9 -S214014D20984728304000B0F5A07F80F2BE8501226A -S214014D30224412B2122128460B4B9847044B1D6899 -S214014D4004350020094B9847012840F2BC850FE046 -S214014D50D86B0020614A0100696B0000256A0000DB -S214014D60996C00003D0F0100E1680000590F010039 -S214014D700020B14B9847C0EB001040005030B0F512 -S214014D80A07F80F2BB8501240020AB4B98472830DA -S214014D904000B0F5A07F80F2C1850122224412B204 -S214014DA013212846A54B9847A54B1D6804350020BE -S214014DB0A44B9847012840F2BF8500209E4B984798 -S214014DC0C0EB001040005030B0F5A07F80F2CF85D8 -S214014DD001240020984B984728304000B0F5A07F6A -S214014DE080F2D5850122224412B210212846934B27 -S214014DF09847934B1D6804350020924B984701282D -S214014E0040F2D38500208C4B9847C0EB0010400041 -S214014E105030B0F5A07F80F2F48501240020864B47 -S214014E20984728304000B0F5A07F80F2FA8501222D -S214014E30224412B211212846804B9847804B1C68A9 -S214014E40043400207F4B9847012840F2F885002063 -S214014E50794B9847C0EB001040005030B0F5A07F6A -S214014E6080F20886012214212046744DA847744C0E -S214014E7020689622B0210430A84720683922B7213D -S214014E800430A84720680C306F4B98472068011DF6 -S214014E900C306E4B98472068236A13F0020314BF48 -S214014EA01A210821002B15BF352412241B230923A0 -S214014EB04FF0000263F3040264F34A1261F3CF2257 -S214014EC029210C30624B98475D4B18680C301B6AE1 -S214014ED013F0020F40F0DE85082310211C464FF028 -S214014EE0000264F3040261F34A1263F3CF2239210C -S214014EF0574B9847524B18681B6A13F0020314BFAE -S214014F0006211421002B15BF10242A24092315235A -S214014F104FF0000263F3040264F34A1261F3CF22F6 -S214014F2048F289010C304A4B9847454B18681B6A72 -S214014F3013F0020314BF06211421002B15BF102401 -S214014F402A24092315234FF0000263F3040264F3B5 -S214014F504A1261F3CF2279210C303D4B9847384BEA -S214014F6018681B6A13F0020314BF06211421002BD4 -S214014F7015BF10242A24092315234FF0000263F3DA -S214014F80040264F34A1261F3CF2248F2A9010C30FD -S214014F902F4B98472A4B18681B6A13F0020314BF5D -S214014FA006211421002B15BF10242A2409231523BA -S214014FB04FF0000263F3040264F34A1261F3CF2256 -S214014FC099210C30224B98471D4C206808301E4B07 -S214014FD0984720680830236A13F0020F40F05F8577 -S214014FE0092313210A244FF0000264F3040261F33B -S214014FF04A1263F3CF2241F22901154DA847104CFE -S2140150002068A28940F229110830A8472668083688 -S2140150103321A0890F4B9847024641F229113046A9 -S214015020A84720680830236A13F0020F40F03C8539 -S2140150300B2318210E240FE03D0F0100E16800004C -S214015040D86B0020590F0100614A0100B9670000C2 -S214015050256A0000031C01004FF0000264F30402FD -S21401506061F34A1263F3CF2242F22901BB4EB047E5 -S214015070BB4C206800224FF498710830B94B984712 -S214015080256808353321A089B74B9847024641F277 -S21401509039212846B04720680830236A13F0020FEA -S2140150A040F007850B2319210D244FF0000264F30D -S2140150B0040261F34A1263F3CF2241F23901A74B8E -S2140150C09847A74B18681B6A13F0020314BF072101 -S2140150D00B21002B15BF0F24192408230D234FF095 -S2140150E0000263F3040264F34A1261F3CF2240F232 -S2140150F039110830994B9847994B18681B6A13F079 -S214015100020314BF07210B21002B15BF0F241924FE -S21401511008230D234FF0000263F3040264F34A12DE -S21401512061F3CF2241F2391108308C4B98478C4BF2 -S21401513018681B6A13F0020314BF1A210B21002BF7 -S21401514015BF372419241C230D234FF0000263F3E7 -S214015150040264F34A1261F3CF2242F239010830A5 -S2140151607E4B98477E4B186808301B6A13F0020F77 -S21401517040F0A4841F233F211C464FF0000264F335 -S214015180040261F34A1263F3CF2249F28901734D97 -S214015190A847734C20684FF0FF3248F28911083057 -S2140151A0A84720684FF0FF3249F289110830A84716 -S2140151B02068236A13F0020314BF2A212621002B3C -S2140151C014BF152313234FF0000263F3040261F3A7 -S2140151D04A1263F3CF224AF289010830A8472068B1 -S2140151E00830236A13F0020F40F06D841F233F211D -S2140151F01C464FF0000264F3040261F34A1263F3A3 -S214015200CF2249F2A901554DA847554C20684FF0C9 -S214015210FF3248F2A9110830A84720684FF0FF3244 -S21401522049F2A9110830A8472068236A13F002033F -S21401523014BF2A212621002B14BF152313234FF058 -S214015240000263F3040261F34A1263F3CF224AF2C7 -S214015250A9010830A84720682922B6210830414D07 -S214015260A84720681030414B9847206847F6FF72E0 -S21401527001211030A8472068FF222C2110303C4B1A -S214015280984720681030236A13F0020F40F02084FC -S2140152900B2318210E244FF0000264F3040261F37D -S2140152A04A1263F3CF2229212C4B98472C4B1868BE -S2140152B010301B6A13F0020F00F00F8428494B7B55 -S2140152C0DB0803EB830303EB830341F6DA352B4458 -S2140152D003EB032203EBC213C3F3C4538A89C2F35D -S2140152E0451202EB820202EB820202F562521A3288 -S2140152F002EB022402EBC412C2F3C554097B01F08F -S2140153001F0101EB810101EB8101294401EB01221F -S21401531001EBC211C1F3C4514FF0000261F3040264 -S21401532064F34A1263F3CF2241F229010B4DA847D9 -S2140153300B4C2068A28940F229111030A847266834 -S21401534010364C21A089084B9847024641F2291194 -S2140153503046A84720681030236A0BE0256A000013 -S214015360D86B0020E1680000031C0100614A0100BF -S214015370696B000013F0020F40F0D9830B2318214C -S2140153800E244FF0000264F3040261F34A1263F341 -S214015390CF2242F22901C64B9847C64B18681B6AB2 -S2140153A013F0020314BF33212221002B14BF19234B -S2140153B011234FF0000263F3040261F34A1263F310 -S2140153C0CF2242F229111030B94DA847B94C2068B6 -S2140153D0A28939211030A8472068A28941F23901F3 -S2140153E01030A8472068236A13F0020314BF222155 -S2140153F01021002B14BF112308234FF0000263F382 -S214015400040261F34A1263F3CF2242F239011030EB -S214015410A847246810340020A74B9847283040003E -S214015420B0F5A07F80F28783012230212046A34B6E -S2140154309847A04C206800224FF49E711030A04B74 -S214015440984720681030236A13F0020F40F08083DB -S2140154501F233F211C464FF0000264F3040261F350 -S2140154604A1263F3CF2248F28901914B9847914B38 -S214015470186810301B6A13F0020F40F06D831F236B -S2140154803F211C464FF0000264F3040261F34A1206 -S21401549063F3CF2249F28901854DA847854C2068E0 -S2140154A04FF0FF3248F289111030A84720684FF0BC -S2140154B0FF3249F289111030A847206811234FF0B6 -S2140154C0000263F30402222161F34A1263F3CF223E -S2140154D04AF289011030A84720681030236A13F079 -S2140154E0020F40F03D831F233F211C464FF0000270 -S2140154F064F3040261F34A1263F3CF2248F2A9016E -S2140155006B4B98476B4B186810301B6A13F0020FF1 -S21401551040F02A831F233F211C464FF0000264F30C -S214015520040261F34A1263F3CF2249F2A901604DE6 -S214015530A847604C20684FF0FF3249F2A9011030AD -S214015540A84720684FF0FF3249F2A9111030A8474A -S214015550206811234FF0000263F30402222161F355 -S2140155604A1263F3CF224AF2A9011030A8472068F5 -S2140155701030236A13F0020F40F0FA821F233F21F6 -S2140155801C464FF0000264F3040261F34A1263F30F -S214015590CF227921464B9847464B186810301B6A34 -S2140155A013F0020F40F0E8821F233F211C464FF004 -S2140155B0000264F3040261F34A1263F3CF2241F25C -S2140155C079013B4DA8473B4C20684FF0FF3240F233 -S2140155D079111030A84720684FF0FF3241F2791157 -S2140155E01030A847206811234FF0000263F304022D -S2140155F0222161F34A1263F3CF2242F2790110307D -S214015600A8472468103400202B4B984700EB8000F5 -S214015610C0005030B0F5A07F80F2B2820122122184 -S2140156202046264B9847234B1C6810340020224BFB -S214015630984700EB8000C0005030B0F5A07F80F2A4 -S214015640AE820122132120461C4B9847194B1C6839 -S21401565010340020184B9847C0EB00105030B0F5BE -S214015660A07F80F2AB82012210212046134B98477F -S214015670104B1C68103400200F4B9847C0EB0010ED -S2140156805030B0F5A07F80F2A7820122112120467A -S2140156900A4B9847074B1C6810340020064B984766 -S2140156A000EB800080005030B0F5A07F0AE000BF1C -S2140156B0256A0000D86B00203D0F0100E16800005C -S2140156C0696B000080F29682012214212046BD4DAE -S2140156D0A847BD4C2068032240211030A847206807 -S2140156E000224C211030B94EB04720687F224FF47B -S2140156F013711030B0472068A28949211030B44E8A -S214015700B0472068E28940F249411030B04720682E -S2140157109622B0211030A84720683C22B5211030CF -S214015720A84720682922B6211030A84720684C22B5 -S214015730B7211030A84720689622B1211030A8471B -S2140157402068002241F2B1011030A84720681430C9 -S214015750A04B98472468143400209F4B9847322862 -S21401576000F2668200209D4B984700EB8000800087 -S2140157705030B0F5A07F80F24C82012214212046E1 -S214015780904B9847904B18681830924B98470020DA -S214015790914B9847322800F2758200208F4B98472C -S2140157A000EB800040005030B0F5A07F80F25B82B5 -S2140157B00124854E3068224612211830814DA847B3 -S2140157C03068224613211830A84730682246102137 -S2140157D01830A8473068224611211830A84730688B -S2140157E0224614211830A84770BD00207B4B9847ED -S2140157F00A30C0007A4B83FB0023C217C2EBA31208 -S21401580012B2FFF7ADB91F233F211C46FFF7BDB902 -S2140158100020724B984728304000714B83FB0023D1 -S214015820C217C2EBA31212B2FFF7EDB907230F217D -S2140158300824FFF703BA07230F210824FFF71BBA32 -S21401584007230F210824FFF72CBA07230F2108246A -S214015850FFF73EBA0020614B9847C0EB001050306E -S214015860B0F5A07F02DA0124FFF758BA00205B4B9F -S2140158709847C0EB00105030594A82FB0032C417DB -S214015880C4EBA214A4B2FFF749BA0020534B9847C1 -S214015890C0EB001040005030514A82FB0032C41762 -S2140158A0C4EBA214A4B2FFF739BA00204B4B9847B9 -S2140158B0283040004A4B83FB0023C217C2EBA312D9 -S2140158C092B2FFF735BA0020444B9847C0EB001060 -S2140158D05030B0F5A07F02DA0124FFF755BA002058 -S2140158E03E4B9847C0EB001050303D4A82FB0032D9 -S2140158F0C417C4EBA214A4B2FFF746BA0020374B74 -S2140159009847C0EB001040005030354A82FB003209 -S214015910C417C4EBA214A4B2FFF736BA00202F4B6B -S2140159209847283040002E4B83FB0023C217C2EB5A -S214015930A31292B2FFF732BA0020284B9847C0EB69 -S21401594000105030B0F5A07F02DA0124FFF741BA0B -S2140159500020224B9847C0EB00105030204A82FBB3 -S2140159600032C417C4EBA214A4B2FFF732BA002067 -S2140159701A4B9847C0EB001040005030184A82FB83 -S2140159800032C417C4EBA214A4B2FFF722BA002057 -S214015990124B984728304000114B83FB0023C21757 -S2140159A0C2EBA31292B2FFF71EBA00200B4B984728 -S2140159B0C0EB00105030B0F5A07F13DA0124FFF7DA -S2140159C02DBA00BFE1680000D86B0020696B0000AB -S2140159D0256A0000614A0100590F01003D0F0100D0 -S2140159E0676666660020B54B9847C0EB00105030DE -S2140159F0B34A82FB0032C417C4EBA214A4B2FFF769 -S214015A000DBA0020AD4B9847C0EB00104000503057 -S214015A10AB4A82FB0032C417C4EBA214A4B2FFF750 -S214015A20FDB90020A54B984728304000A44B83FBC6 -S214015A300023C217C2EBA31292B2FFF7F9B90020F6 -S214015A409E4B9847C0EB00105030B0F5A07F02DAAD -S214015A500122FFF708BA0020984B9847C0EB0010C8 -S214015A605030974B83FB0023C217C2EBA31212B22E -S214015A70FFF7F9B90020914B9847C0EB00104000A2 -S214015A8050308F4B83FB0023C217C2EBA31212B216 -S214015A90FFF7E9B91B2339211D24FFF720BA1D237F -S214015AA03B211C46FFF79FBA1F233F211C46FFF7E9 -S214015AB0D3BA192333211C46FFF7F7BA07230F2160 -S214015AC00824FFF75ABB07230F210824FFF791BBD1 -S214015AD01F233F211C46FFF7DEBB7A4D6B7BDB089D -S214015AE04C2101FB03F303F2B17303EB032203EB37 -S214015AF0C213C3F3C453AC89C4F3451441F2C802BC -S214015B0001FB042404EB042204EBC214C4F3C554C1 -S214015B102A7B02F01F0201FB02F101F6CA1101EB1A -S214015B20012201EBC211C1F3C451FFF7F5BB1F23DC -S214015B303F211C4625E40020604B98472830400052 -S214015B405F4B83FB0023C217C2EBA31212B26CE4B5 -S214015B500623102109247EE406231021092491E45A -S214015B60062310210924C1E4062310210924D4E4C4 -S214015B7006231021092404E506231021092416E52D -S214015B8000204E4B984700EB8000C00050304C4B35 -S214015B9083FB0023C217C2EBA31212B23FE500201B -S214015BA0464B984700EB8000C0005030444B83FBC7 -S214015BB00023C217C2EBA31212B243E500203F4BEB -S214015BC09847C0EB001050303D4B83FB0023C217B3 -S214015BD0C2EBA31212B247E50020384B9847C0EB40 -S214015BE000105030364B83FB0023C217C2EBA312C2 -S214015BF012B24BE50020314B984700EB8000800045 -S214015C0050302F4B83FB0023C217C2EBA31212B2F4 -S214015C105BE50020294B984700EB80008000503060 -S214015C20274B83FB0023C217C2EBA31212B2A5E5D2 -S214015C300020224B984700EB8000C0005030B0F5A2 -S214015C40A07F01DA012299E500201C4B984700EB62 -S214015C508000C00050301A4B83FB0023C217C2EBF2 -S214015C60A31212B28AE50020144B984700EB80007D -S214015C7040005030124B83FB0023C417C4EBA3141F -S214015C8024B296E500200D4B984700EB800080007B -S214015C905030B0F5A07F01DA01248AE50020074BD9 -S214015CA0984700EB800080005030054B83FB0023B3 -S214015CB0C417C4EBA31424B27BE500BF3D0F01005B -S214015CC067666666D86B0020F8B5544C20682430A9 -S214015CD0534B9847206847F6FF7201212430514BF9 -S214015CE098472068FF222C2124304F4B9847206884 -S214015CF0236A13F0020314BF1A210821002B15BFD3 -S214015D00352412241B2309234FF0000263F30402F7 -S214015D1064F34A1261F3CF2229212430434B98477A -S214015D203E4B186824301B6A13F0020F6DD11F23F7 -S214015D303F211C464FF0000264F3040261F34A124D -S214015D4063F3CF227921394DA847344C2068A289C4 -S214015D5049212430A8472068E28940F2494124308D -S214015D60A847206800224C2124302F4FB8472068CE -S214015D707F224FF413712430B84720680322402154 -S214015D802430284EB04720689622B0212430B047F0 -S214015D9020684C22B7212430B04720682830204B99 -S214015DA098472068FF222C212830B847206847F6FC -S214015DB0FF7201212830B0472068A28929212830A6 -S214015DC0A847206811234FF0000263F30402222142 -S214015DD061F34A1263F3CF2242F229012830A84721 -S214015DE020682830236A13F0020F12D11F233F21A7 -S214015DF01C464FF0000264F3040261F34A1263F397 -S214015E00CF227921094B9847F8BD06231021092492 -S214015E1090E7082310210924EBE700BFD86B002088 -S214015E20614A0100E1680000696B0000256A000014 -S214015E3010B5A04C206890309F4B98472068FF22F1 -S214015E402C2190309D4B984720689030236A13F0A0 -S214015E50020F19BF23469A89994B1A882921994B13 -S214015E609847944B186890301B6A13F0020F40F065 -S214015E70A9801F233F211C464FF0000264F3040251 -S214015E8061F34A1263F3CF2279218E4B9847894CEE -S214015E90206847F6FF72012190308B4B98472468A3 -S214015EA090340020894B9847C0EBC0005030B0F5C5 -S214015EB0A07F80F28B80012212212046824B9847D8 -S214015EC07C4B1C6890340020804B9847C0EBC00088 -S214015ED05030B0F5A07F80F2878001221321204642 -S214015EE0794B9847734B1C6890340020774B984742 -S214015EF0C0EBC0005030B0F5A07F80F28380012255 -S214015F0010212046704B98476A4B1C68903400203D -S214015F106E4B9847C0EBC0005030B0F5A07F7FDADB -S214015F20012211212046684B9847624C2068943024 -S214015F30614B9847246894340020644B984700EBE3 -S214015F40800040005030B0F5A07F77DA012217219B -S214015F5020465D4B9847574B1C68943400205B4B9A -S214015F60984700EB800040005030B0F5A07F74DA0F -S214015F70012218212046544B98474E4B1C689434F6 -S214015F800020524B984700EB800040005030B0F59F -S214015F90A07F71DA0122152120464B4B9847454BCD -S214015FA01C6894340020494B984700EB8000400061 -S214015FB05030B0F5A07F6EDA012216212046424B02 -S214015FC0984710BD06231021092455E700203F4BB2 -S214015FD09847C0EBC00050303D4B83FB0023C217EF -S214015FE0C2EBA31212B267E70020384B9847C0EB0A -S214015FF0C0005030364B83FB0023C217C2EBA312FE -S21401600012B26BE70020314B9847C0EBC00050300E -S2140160102F4B83FB0023C217C2EBA31212B26FE70A -S21401602000202A4B9847C0EBC0005030284B83FB1A -S2140160300023C217C2EBA31212B272E70020234B51 -S214016040984700EB800040005030214B83FB002333 -S214016050C217C2EBA31212B279E700201B4B984776 -S21401606000EB800040005030194B83FB0023C21721 -S214016070C2EBA31212B27CE70020144B984700EB48 -S214016080800040005030124B83FB0023C217C2EB46 -S214016090A31212B27FE700200C4B984700EB80005A -S2140160A0400050300A4B83FB0023C217C2EBA312F9 -S2140160B012B282E7D86B0020614A0100696B0000CA -S2140160C084950200256A0000E16800003D0F01008A -S2140160D06766666610B5484C20689C30474B984703 -S2140160E02068FF222C219C30454B98472068454B61 -S2140160F01A8829219C30444B9847206847F6FF723E -S21401610001219C30414B984724689C340020404B29 -S214016110984714308000B0F5A07F39DA4FF0FF328F -S21401612010212046394B9847334B1C689C3400207D -S214016130374B984714308000B0F5A07F35DA4FF022 -S214016140FF3211212046314B98472B4B1C689C345B -S21401615000202F4B984714308000B0F5A07F31DA2D -S2140161604FF0FF3212212046284B9847224B1C68DD -S2140161709C340020264B984714308000B0F5A07F51 -S2140161802DDA4FF0FF3213212046204B984710BDE1 -S21401619000201F4B9847143080001E4B83FB0023C2 -S2140161A0C217A2EBA31212B2BAE70020184B984707 -S2140161B014308000174B83FB0023C217A2EBA312F7 -S2140161C012B2BEE70020124B984714308000114BE4 -S2140161D083FB0023C217A2EBA31212B2C2E7002070 -S2140161E00B4B9847143080000A4B83FB0023C217E1 -S2140161F0A2EBA31212B2C6E7D86B0020614A0100D7 -S214016200696B000084950200256A0000E1680000C1 -S2140162103D0F01006766666638B5884C20687030A9 -S214016220874B9847206847F6FF7201217030854BEF -S2140162309847246870340020834B984700EB800011 -S21401624080005030B0F5A07F80F28E8001221221AE -S21401625020467C4B9847794B1C68703400207A4B5B -S214016260984700EB800080005030B0F5A07F80F2A8 -S2140162708A80012213212046724B98476F4B1C6877 -S21401628070340020704B984700EB8000800050303F -S214016290B0F5A07F80F28680012210212046694B4E -S2140162A09847664B1C6870340020674B9847C0EBD4 -S2140162B0001040005030B0F5A07F80F282800122AD -S2140162C0142120465F4B98475C4B1C6870340020B5 -S2140162D05D4B984700EB800000EB80005030B0F536 -S2140162E0A07F7DDA0122C0212046564B9847534CA9 -S2140162F02068A28999217030544DA8472068A28948 -S214016300C9217030A847206811234FF0000263F3BB -S2140163100402222161F34A1263F3CF22CA217030AC -S214016320A847246870340020474B984700EB80004C -S21401633040005030B0F5A07F62DA0122902120465D -S214016340404B98473D4B1C68703400203E4B9847A5 -S214016350C0EBC0005030B0F5A07F60DA0122C32147 -S2140163602046384B984738BD0020374B984700EBFE -S214016370800080005030364B83FB0023C217C2EBEF -S214016380A31212B263E700202F4B984700EB800060 -S214016390800050302E4B83FB0023C217C2EBA312A2 -S2140163A012B267E70020284B984700EB8000800078 -S2140163B05030274B83FB0023C217C2EBA31212B245 -S2140163C06BE70020204B9847C0EB00104000503090 -S2140163D01F4B83FB0023C217C2EBA31212B26FE757 -S2140163E00020194B984700EB800000EB80005030EE -S2140163F0174B83FB0023C217C2EBA31212B272E73C -S2140164000020114B984700EB800040005030104BA5 -S21401641083FB0023C217C2EBA31212B28EE7002041 -S214016420094B9847C0EBC0005030094B83FB002353 -S214016430C217C2EBA31212B291E700BFD86B0020BD -S214016440614A0100E16800003D0F0100256A000075 -S21401645067666666F8B5C04C20685C30BF4B9847E7 -S214016460206811254FF0000265F30402222767F326 -S2140164704A1265F3CF2299215C30B94EB0472068A5 -S2140164804FF0000265F3040267F34A1265F3CF2268 -S214016490C9215C30B0472068A289CA215C30B04768 -S2140164A024685C340020AF4B984700EB80005030E6 -S2140164B0B0F5A07F80F26881012290212046AA4B88 -S2140164C09847A54B1C685C340020A64B98471430AF -S2140164D08000B0F5A07F80F265810122C3212046AD -S2140164E0A14B98479C4B1C685C3400209D4B9847F9 -S2140164F00A30C000B0F5A07F80F261810122C2217E -S2140165002046994B9847944B1C685C340020954B69 -S214016510984700EB800080005030B0F5A07F80F2F5 -S2140165205B810122122120468F4B98478A4B1C68BB -S2140165305C3400208B4B984700EB80008000503085 -S214016540B0F5A07F80F25781012213212046864BA9 -S2140165509847814B1C685C340020824B984700EBBF -S214016560800080005030B0F5A07F80F25381012278 -S214016570102120467C4B9847774B1C685C340020E2 -S214016580784B984700EB800080005030B0F5A07F34 -S21401659080F24F81012214212046734B98476E4B9F -S2140165A01C685C3400206F4B9847C0EB00105030DD -S2140165B0B0F5A07F80F24C810122C02120466A4DB1 -S2140165C0A847654C206847F6FF7201215C30A84752 -S2140165D020686030614B9847206811254FF0000213 -S2140165E065F30402222767F34A1265F3CF22992145 -S2140165F060305B4EB04720684FF0000265F304023E -S21401660067F34A1265F3CF22C9216030B04720688C -S214016610A289CA216030B047246860340020514BFB -S21401662098470A30C000B0F5A07F80F21F81012292 -S214016630902120464C4B9847474B1C6860340020FD -S214016640484B98470A30C000B0F5A07F80F21B8106 -S2140166500122C3212046444B98473F4B1C686034B7 -S2140166600020404B984700EB800000EB8000503044 -S214016670B0F5A07F80F214810122C02120463A4B5A -S2140166809847354C20686430344B9847206864300E -S214016690236A13F0020F40F013811F233F211C468B -S2140166A04FF0000264F3040261F34A1263F3CF224F -S2140166B099212B4B9847284B1C6864340020294BA2 -S2140166C098470A30C000B0F5A07F80F2FD80012215 -S2140166D090212046244B98471F4C2068FF222C21EE -S2140166E06430224B984720686430236A13F0020F07 -S2140166F040F0F7801F233F211C464FF0000264F351 -S214016700040261F34A1263F3CF222921144B9847FE -S214016710114C206847F6FF7201216430124B9847EE -S2140167202468643400200F4B9847C0EB00104000EB -S2140167305030B0F5A07F80F2D88001220321204698 -S214016740094B9847044B1C6864340020054B984756 -S21401675000EB80000CE000BFD86B0020614A01000E -S214016760256A00003D0F0100E1680000696B00002A -S21401677040005030B0F5A07F80F2C680012214217F -S2140167802046694B9847F8BD0020684B984700EBB8 -S21401679080005030664B83FB0023C217C2EBA31266 -S2140167A012B28AE60020614B984714308000604B95 -S2140167B083FB0023C217C2EBA31212B28EE600209F -S2140167C05A4B98470A30C000594B83FB0023C21727 -S2140167D0C2EBA31212B292E60020544B984700EB8C -S2140167E0800080005030524B83FB0023C217C2EB5F -S2140167F0A31212B296E600204C4B984700EB80009D -S214016800800050304A4B83FB0023C217C2EBA31211 -S21401681012B29AE60020454B984700EB80008000B4 -S2140168205030434B83FB0023C217C2EBA31212B2B4 -S2140168309EE600203D4B984700EB800080005030DC -S2140168403B4B83FB0023C217C2EBA31212B2A2E694 -S2140168500020364B9847C0EB00105030344B83FB7A -S2140168600023C217C2EBA31212B2A6E600202F4BDA -S21401687098470A30C0002E4B83FB0023C217C2EB99 -S214016880A31212B2D4E60020284B98470A30C00063 -S214016890274B83FB0023C217C2EBA31212B2D8E622 -S2140168A00020224B984700EB800000EB8000503020 -S2140168B01F4B83FB0023C217C2EBA31212B2DCE606 -S2140168C0082312210B24EBE60020184B98470A30C8 -S2140168D0C000174B83FB0023C217C2EBA31212B2F0 -S2140168E0F6E6082312210B2407E700200F4B9847F2 -S2140168F0C0EB0010400050300D4B83FB0023C21745 -S214016900C2EBA31212B219E70020084B984700EB1E -S214016910800040005030064B83FB0023C217C2EBB9 -S214016920A31212B22BE700BFE16800003D0F010081 -S2140169306766666638B53D4C20681C303C4B984708 -S2140169402068A28999211C303A4B984724681C3448 -S2140169500020394B984700EB800000EB8000503058 -S214016960B0F5A07F41DA012290212046334DA84799 -S2140169702E4C2068012294211C30A8472068203024 -S2140169802B4B98472068236A13F0020314BF1A2181 -S2140169900821002B15BF352412241B2309234FF091 -S2140169A0000263F3040264F34A1261F3CF229921D1 -S2140169B02030204B98471D4B1C68203400201E4B6E -S2140169C0984700EB800000EB80005030B0F5A07FC8 -S2140169D01BDA012290212046184CA047134B186859 -S2140169E0012294212030A04738BD0020124B984741 -S2140169F000EB800000EB80005030114B83FB00233E -S214016A00C217C2EBA31212B2AEE700200A4B984798 -S214016A1000EB800000EB80005030094B83FB002325 -S214016A20C217C2EBA31212B2D4E700BFD86B002084 -S214016A30614A0100256A00003D0F0100E16800007F -S214016A4067666666F8B5384C20686C30374B9847F1 -S214016A502068FF222C216C30354DA8472068A2897A -S214016A6029216C30334FB8472068022230216C3020 -S214016A70314EB04720687F223C216C30A8472568FC -S214016A806C354C21A0892D4B984702463921284662 -S214016A90B847206847F6FF7201216C30B04724687A -S214016AA06C340020264B9847C0EB00105030B0F5F0 -S214016AB0A07F1CDA0122502120461F4B98471A4C12 -S214016AC02068A28959216C301A4B984724686C3487 -S214016AD000201B4B984700EB80005030B0F5A07F9C -S214016AE013DA012253212046134B9847F8BD0020A4 -S214016AF0134B9847C0EB00105030124B83FB00231A -S214016B00C217C2EBA31212B2D5E700200C4B98476E -S214016B1000EB800050300B4B83FB0023C217C2EB07 -S214016B20A31212B2DEE700BFD86B0020614A010053 -S214016B30696B0000256A0000E1680000A71B0100E0 -S214016B403D0F0100676666662DE9F04180460F46F7 -S214016B5015461E46B24B1B79002B01F06983B04CDB -S214016B60A4F80C80E7812661069B6361079BA361FD -S214016B70089BE3612562AB4B9847AB4B9847AB4B01 -S214016B809847AB4B9847AB4B9847AB4B9847AB4BAB -S214016B909847AB4B984720684030AA4B98472068E7 -S214016BA04030236A13F0020F41F04B8314232B214C -S214016BB017244FF0000264F3040261F34A1263F3F0 -S214016BC0CF2248F28901A04B9847954C2068443063 -S214016BD09C4B98472468443400209C4B984750307F -S214016BE0B0F5A07F81F23283012290212046984B96 -S214016BF098478B4B1C6844340020944B984700EB15 -S214016C00800040005030B0F5A07F81F22C83012235 -S214016C10922120468E4B9847814B1C6844340020B5 -S214016C208A4B984700EB800040005030B0F5A07FBB -S214016C3081F22983012293212046854B9847784B80 -S214016C4018681B6A13F0020314BF1A211021002BC7 -S214016C5015BF372422241C2312234FF0000263F3AE -S214016C60040264F34A1261F3CF2299214430764B31 -S214016C7098476B4C20684830724B984724684834D4 -S214016C800020724B984700EB40005030B0F5A07FD3 -S214016C9081F209830122902120466D4B9847604B73 -S214016CA01C6848340020694B984714308000B0F5C2 -S214016CB0A07F81F20783012203212046644B984777 -S214016CC0574B1C6848340020604B984728304000DA -S214016CD0B0F5A07F81F204830122142120465C4B8B -S214016CE098474F4B1C6848340020584B9847503003 -S214016CF0B0F5A07F81F20283012201212046544B88 -S214016D009847474C206830304E4B984724683034BB -S214016D100020504B9847012841F2FD8200204B4B42 -S214016D209847C0EB001040005030B0F5A07F81F2CC -S214016D300D83012210212046454B9847384B1C688D -S214016D4030340020434B9847012841F20F8300203E -S214016D503E4B9847C0EB001040005030B0F5A07F86 -S214016D6081F23683012212212046394B98472C4B5B -S214016D701C6830340020374B9847012841F238838D -S214016D800020324B9847C0EB001040005030B0F561 -S214016D90A07F81F248830122132120462C4B98477D -S214016DA01F4B1C68303400202A4B9847012841F2BB -S214016DB04A830020254B9847C0EB00104000503016 -S214016DC0B0F5A07F81F25A83012211212046204B83 -S214016DD09847134B18681B6A13F0020314BF22214D -S214016DE03F21002B14BF11231F234FF0000263F332 -S214016DF0040261F34A1263F3CF2249F2890130306B -S214016E00114B9847064C206834300E4B9847206843 -S214016E103430236A13F0020F41F040831CE000BFB8 -S214016E20D86B0020814A0100C95C0100456A010057 -S214016E30315E0100D5600100196201005564010050 -S214016E4035690100614A0100256A00003D0F010015 -S214016E50E1680000590F01001D233B211C464FF03D -S214016E60000264F3040261F34A1263F3CF2248F28C -S214016E708901B84B9847B84B1C6834340020B74B8F -S214016E809847012841F20F830020B54B9847C0EB85 -S214016E90001040005030B0F5A07F81F21F83012220 -S214016EA012212046AF4B9847AB4B1C683434002068 -S214016EB0AA4B9847012841F221830020A84B984706 -S214016EC0C0EB001040005030B0F5A07F81F2318356 -S214016ED0012213212046A34B98479F4B1C6834344C -S214016EE000209E4B9847012841F2338300209C4B9B -S214016EF09847C0EB001040005030B0F5A07F81F2FB -S214016F004383012211212046964B9847924C2068D4 -S214016F102C30954B984724682C340020904B98478A -S214016F2014308000B0F5A07F81F23E83012201215A -S214016F3020468C4B9847884B18682C301B6A13F0F8 -S214016F40020F41F03F831F233F211C464FF00002F2 -S214016F5064F3040261F34A1263F3CF2248F2891103 -S214016F607C4B98477C4B18681B6A13F0020F14BFC2 -S214016F70332266224FF496712C307C4DA847764C0E -S214016F802068332241F22C012C30A8472068FF22CA -S214016F904FF40B712C30A8472068754B1A8848F2BD -S214016FA089212C306B4DA8472068A28940F22921FF -S214016FB02C30A8472068236A13F0020314BF192156 -S214016FC03F21002B14BF0C231F234FF0000263F355 -S214016FD0040261F34A1263F3CF2229212C30A84719 -S214016FE02068A28940F229112C30A8472068022285 -S214016FF04FF498712C305B4EB0472068042240F263 -S21401700031112C30B0472068A28940F239112C305A -S214017010A84724682C340020514B984700EB4000C9 -S2140170205030B0F5A07F81F2D28201221421204691 -S2140170304C4B9847484B1C682C340020474B9847CC -S214017040012841F2D3820020454B9847C0EB00103F -S21401705040005030B0F5A07F81F2E3820122122178 -S2140170602046404B98473C4B1C682C3400203B4B39 -S2140170709847012841F2E5820020394B9847C0EB3A -S214017080001040005030B0F5A07F81F2F582012259 -S21401709013212046334B98472F4B1C682C34002075 -S2140170A02E4B9847012841F2F78200202C4B984737 -S2140170B0C0EB001040005030B0F5A07F81F207838E -S2140170C0012211212046274B9847234C206838304F -S2140170D0254B9847246838340020214B9847C0EB4D -S2140170E0001040005030B0F5A07F81F205830122E8 -S2140170F0C02120461B4B9847174C2068FF222C21A5 -S21401710038301A4B98472068236A13F0020314BFDD -S2140171101D210821002B15BF3B2412241E230B23FF -S2140171204FF0000263F3040264F34A1261F3CF22C4 -S21401713029213830074B9847074B1C683834002004 -S214017140074B984700EB800080005030B0F5A07FD9 -S21401715010E000BF256A0000D86B0020590F01001F -S2140171603D0F0100E1680000614A0100696B000003 -S2140171708495020081F2D082012214212046B64E67 -S214017180B047B64C206847F6FF7201213830B04749 -S21401719020683C30B24B9847206847F6FF720121C1 -S2140171A03C30B0472068AF4F3A8829213C30AE4D7D -S2140171B0A8472068FF222C213C30AC4B984720681A -S2140171C0022230213C30B0472068BA8839213C3051 -S2140171D0A8472068A28940F239213C30A847206898 -S2140171E0E28940F239413C30A84724683C3400200B -S2140171F09F4B984700EB400300EB83005030B0F5FF -S214017200A07F81F29982012212212046924B984753 -S214017210924B1C683C340020954B984700EB40038A -S21401722000EB83005030B0F5A07F81F296820122F8 -S21401723013212046884B9847884B1C683C34002015 -S2140172408B4B984700EB400300EB83005030B0F5C2 -S214017250A07F81F293820122102120467E4B98471F -S2140172607E4B1C683C340020814B984700EB400362 -S21401727000EB83005030B0F5A07F81F290820122AE -S21401728011212046744B9847744C20684C30744B3F -S214017290984724684C340020754B9847143080007A -S2140172A0B0F5A07F81F28C820122012120466A4B33 -S2140172B098476A4B1C684C3400206D4B984700EB8E -S2140172C0800040005030B0F5A07F81F28782012215 -S2140172D014212046604B9847604C2068A2894921BA -S2140172E04C30614B9847206800224C2108445F4D82 -S2140172F0A84720687F224FF413714C30A8472468B2 -S2140173004C3400205A4B984700EB40005030B0F503 -S214017310A07F81F273820122402120464E4B98477E -S2140173204E4B1C684C340020514B984700EB8000B4 -S21401733040005030B0F5A07F81F26F8201224121DA -S2140173402046454DA847454C20689622B0214C3032 -S214017350A84720684C22B7211044A847206850301F -S2140173603F4B9847206800224FF4137150303F4B33 -S21401737098472468503400203D4B984714308000CD -S214017380B0F5A07F81F25982012201212046324BBD -S2140173909847324C2068374A4FF4B7715030364D13 -S2140173A0A84720682F4B1A8840F2691150302E4B9F -S2140173B098472068226948F28E115030A847246801 -S2140173C0503400202A4B984700EB40005030B0F56F -S2140173D0A07F81F240820122122120461E4B98474F -S2140173E01E4B1C6850340020214B984700EB400090 -S2140173F05030B0F5A07F81F23D8201221321204654 -S214017400154B9847154B1C6850340020184B98476D -S21401741000EB40005030B0F5A07F81F23A820122A5 -S214017420102120460C4B98470C4B1C68503400200A -S2140174300F4B984700EB40005030B0F5A07F81F22B -S2140174403782012211212046034DA847034C2068AC -S2140174506830034B984711E0E1680000D86B0020C4 -S214017460614A010084950200256A0000696B0000EC -S2140174703D0F01008C950200996C000020680022E7 -S21401748001216830A847246868340020B54B984726 -S21401749014308000B0F5A07F81F2198201223021DC -S2140174A02046B14DA847B14C2068022231216830F0 -S2140174B0A84720686830236A13F0020F41F015824E -S2140174C0002319461C464FF0000264F3040261F3E0 -S2140174D04A1263F3CF223921A54DA847A34C206851 -S2140174E0E28940F239416830A847246868340020B0 -S2140174F09C4B984700EB80005030B0F5A07F81F29E -S214017500F981012212212046974B9847974B1C6818 -S21401751068340020934B984700EB80005030B0F55C -S214017520A07F81F2F6810122132120468E4B9847D7 -S2140175308E4B1C68683400208A4B984700EB80000D -S2140175405030B0F5A07F81F2F38101221021204650 -S214017550854B9847854B1C6868340020814B9847BB -S21401756000EB80005030B0F5A07F81F2F08101225F -S214017570112120467C4B98477C4B1C6868340020C0 -S214017580784B984700EB40005030B0F5A07F81F271 -S214017590ED81012214212046734B9847734C2068D5 -S2140175A07C30744B984724687C3400206D4B984798 -S2140175B0322303FB00F05030B0F5A07F81F2E58165 -S2140175C0012250212046684B9847684B18681B6A71 -S2140175D013F002030CBF26213021002B0CBF13230E -S2140175E018234FF0000263F3040261F34A1263F3B7 -S2140175F0CF2259217C305E4B98475C4C2068803006 -S2140176005C4B98472068FF222C2180305A4B9847C4 -S2140176102068236A13F0020314BF19210E21002BE0 -S21401762015BF33241F241A2310234FF0000263F3DF -S214017630040264F34A1261F3CF22292180304C4BB5 -S21401764098474A4C206847F6FF7201218030464B26 -S2140176509847246880340020424B9847C0EBC0000E -S2140176605030B0F5A07F81F2A0810122032120468F -S2140176703D4B98473D4B1C6880340020394B98475A -S214017680C0EBC0005030B0F5A07F81F29D81012291 -S21401769013212046344B9847344B1C688034002015 -S2140176A0304B9847C0EBC0005030B0F5A07F81F258 -S2140176B09A810122112120462B4B98472B4C20689A -S2140176C084302C4DA8472068FF222C2184302A4B79 -S2140176D09847206811234FF0000263F30402222129 -S2140176E061F34A1263F3CF2229218430204B984755 -S2140176F02068B430A8472068236A13F0020314BF39 -S21401770006211421002B15BF10242A240923152332 -S2140177104FF0000263F3040264F34A1261F3CF22CE -S2140177203921B430124B9847104B1C68B4340020F2 -S2140177300C4B984728304000B0F5A07F81F262815B -S214017740012230212046084B9847084B1C68B43468 -S2140177500020044B98475030B0F5A07F81F2648139 -S21401776001220BE03D0F0100E1680000D86B00200C -S214017770256A0000614A0100696B0000122120465B -S214017780BA4DA847BA4C206804223121B430A84724 -S2140177902068B830B74B98472068B830236A13F092 -S2140177A0020F41F04E8114232B2117244FF00002C3 -S2140177B064F3040261F34A1263F3CF2248F28901AB -S2140177C0AD4DA847AA4C20689830AA4B9847206828 -S2140177D0FF222C219830A94B98472068A28929219D -S2140177E09830A8472068A64B1A8848F28901983035 -S2140177F0A847246898340020A24B9847642303FBCB -S21401780000F05030B0F5A07F81F2208101221021D6 -S2140178102046964B9847964B1C6898340020994B07 -S2140178209847642303FB00F05030B0F5A07F81F247 -S2140178301D810122112120468C4DA8478C4C2068C1 -S21401784074308C4EB0472068012202217430A8475C -S2140178502068002212217430A847206800221321D4 -S2140178607430A8472068002210217430A847206889 -S214017870002211217430A847206800221421743098 -S214017880A84720687830B0472068FF222C2178303E -S2140178907A4B984720687830236A13F0020F41F03C -S2140178A0F5800B2318210E244FF0000264F3040226 -S2140178B061F34A1263F3CF2229216F4B98476C4B31 -S2140178C0186878301B6A13F0020F41F0E480092330 -S2140178D013210A244FF0000264F3040261F34A12F2 -S2140178E063F3CF2241F22901634B9847604B186836 -S2140178F078301B6A13F0020F41F0D2800B23182157 -S2140179000E244FF0000264F3040261F34A1263F39B -S214017910CF2242F22901584DA847554C2068A2892A -S21401792040F229117830A847266878363321A08995 -S214017930554B9847024641F229113046A847206820 -S2140179407830236A13F0020F41F0AF801F233F21E6 -S2140179501C464FF0000264F3040261F34A1263F31B -S214017960CF2248F28901444DA847414C20684FF088 -S214017970FF3248F289117830A8472068236A13F04D -S214017980020314BF2A212621002B14BF152313231B -S2140179904FF0000263F3040261F34A1263F3CF224D -S2140179A04AF289017830A84720687830236A13F0B4 -S2140179B0020F41F07F801F233F211C464FF000023B -S2140179C064F3040261F34A1263F3CF2248F2A90179 -S2140179D0294DA847264C20684FF0FF3248F2A911DE -S2140179E07830A8472068236A13F0020314BF2A21BF -S2140179F02621002B14BF152313234FF0000263F337 -S214017A00040261F34A1263F3CF224AF2A9017830E5 -S214017A10A8472068012231217830144B9847206806 -S214017A20236A13F0020314BF1A211021002B15BF7D -S214017A30372422241C2312234FF0000263F304028E -S214017A4064F34A1261F3CF2239217830A847084CF3 -S214017A502068A28940F239217830A847206801229F -S214017A6030217830014B984710E000BFE1680000F4 -S214017A70D86B0020614A0100256A0000696B00008E -S214017A80849502003D0F0100031C01002468783430 -S214017A900020BA4B9847012841F211800020B84BCC -S214017AA09847C0EB001040005030B0F5A07F81F23F -S214017AB02180012212212046B24B9847B24B1C6806 -S214017AC078340020AD4B9847012841F223800020EE -S214017AD0AB4B9847C0EB001040005030B0F5A07F8C -S214017AE081F23380012213212046A64B9847A64BEC -S214017AF01C6878340020A14B9847012841F2358054 -S214017B0000209F4B9847C0EB001040005030B0F566 -S214017B10A07F81F24580012210212046994B98478B -S214017B20994B1C6878340020944B9847012841F201 -S214017B3047800020924B9847C0EB00104000503021 -S214017B40B0F5A07F81F257800122112120468D4B8E -S214017B5098478D4B1C6878340020884B984701283D -S214017B6041F259800020864B9847C0EB0010400038 -S214017B705030B0F5A07F81F26980012214212046A1 -S214017B80804B9847804B1C68783400207B4B984785 -S214017B90012841F26B800020794B9847C0EB00101A -S214017BA040005030B0F5A07F81F27C804FF0FF326C -S214017BB004212046734DA847734C2068002241F2E9 -S214017BC004017830A847206800224FF4827178308B -S214017BD0A8472068002242F204017830A8472068AE -S214017BE09622B0217830A84720682922B72178301C -S214017BF0A84720680422B6217830A8472068543068 -S214017C00624B98472468543400205D4B984700EB3C -S214017C10800080005030B0F5A07F81F253800122B1 -S214017C2048F281012046574DA847574C206801224B -S214017C3002215430A84720685830544B9847206892 -S214017C40FF222C215830524B98472068A2892921BF -S214017C505830504DA84720684FF0FF3248F289014E -S214017C605830A84720685830236A13F0020F41F0B5 -S214017C703980092313210A244FF0000264F3040219 -S214017C8061F34A1263F3CF2241F22901414B98472F -S214017C903D4B186858301B6A13F0020F41F02780DD -S214017CA01F233F211C464FF0000264F3040261F3D8 -S214017CB04A1263F3CF2249F28901364B9847324C78 -S214017CC020688830314B98472468883400202C4B34 -S214017CD0984700EB800000EB80005030B0F5A07FA5 -S214017CE081F20A80012248F281012046254B9847FD -S214017CF0254C20688C30254EB0472068FF222C2169 -S214017D008C30234DA8472068A28929218C30214F29 -S214017D10B8472068204B1A8848F289018C30B8474A -S214017D202068A830B0472068FF222C21A830A84739 -S214017D302068A830236A13F0020F40F0EE870B2369 -S214017D4018210E244FF0000264F3040261F34A1274 -S214017D5063F3CF2229210F4B98470B4B18681B6AF8 -S214017D6013F0020314BF1C210721002B15BF3A2470 -S214017D700F241E2308234FF000020FE0590F0100C5 -S214017D803D0F0100E1680000D86B0020614A010048 -S214017D90696B0000256A00008495020063F3040203 -S214017DA064F34A1261F3CF223921A830B64B9847C3 -S214017DB0B64B1C68A8340020B54B984700EB8000F2 -S214017DC05030B0F5A07F80F2AD87012230212046E9 -S214017DD0B04DA847AD4C206801223121A830A847F4 -S214017DE02068236A13F0020314BF07211C21002B0D -S214017DF015BF0F243A2408231D234FF0000263F316 -S214017E00040264F34A1261F3CF2248F28901A830D2 -S214017E109D4DA8479D4C2068626948F28E01A830A6 -S214017E209D4B984720684FF00002132363F304022A -S214017E30262363F34A12122363F3CF2248F2A901E1 -S214017E40A830A8472468A8340020914B9847C0EB77 -S214017E50C0005030B0F5A07F80F273870122102158 -S214017E6020468C4B9847894B1C68A8340020884BC9 -S214017E709847C0EBC0005030B0F5A07F80F2748701 -S214017E80012212212046834B9847804B1C68A83458 -S214017E9000207F4B9847C0EBC0005030B0F5A07F64 -S214017EA080F271870122132120467A4B9847774C3E -S214017EB02068A430794B984720687F2241F22C0134 -S214017EC0A430774B9847206811234FF0000263F3E4 -S214017ED00402222161F34A1263F3CF2241F22901FF -S214017EE0A430694B98472068236A13F0020314BF35 -S214017EF007211C21002B15BF0F243A2408231D231C -S214017F004FF0000263F3040264F34A1261F3CF22D6 -S214017F1048F28911A4305C4B98475C4B1C68A4342A -S214017F2000205B4B984700EB800080005030B0F596 -S214017F30A07F80F23787012210212046554B9847B3 -S214017F40524B1C68A4340020514B984700EB80002C -S214017F5080005030B0F5A07F80F2348701221121D5 -S214017F6020464C4B9847494C2068A28948F2892103 -S214017F70A430454DA8472068E28948F28941A430DB -S214017F80A8472068AC30454B98472068FF222C2133 -S214017F90AC30434B98472068A2892921AC30A847CA -S214017FA02068E28940F22941AC30A8472468AC3405 -S214017FB00020374B984700EB80005030B0F5A07F8B -S214017FC080F21087012203212046324DA8472F4C0C -S214017FD0206847F6FF720121AC30A8472068B03010 -S214017FE02E4B98472468B03400202E4B9847012822 -S214017FF040F207870020264B9847C0EB0010400050 -S2140180005030B0F5A07F80F217870122102120465C -S214018010204B98471D4B1C68B0340020214B9847D5 -S214018020012840F219870020194B9847C0EB001031 -S21401803040005030B0F5A07F80F22987012211213F -S2140180402046144B9847114B1C68B0340020154B42 -S2140180509847012840F22B8700200D4B9847C0EB2C -S214018060001040005030B0F5A07F80F23B8701221F -S21401807012212046074B9847044B1C68B034002059 -S214018080084B984701280FE0256A0000D86B0020AE -S2140180903D0F0100E1680000996C0000614A010093 -S2140180A0696B0000590F010040F22C870020BD4B80 -S2140180B09847C0EB001040005030B0F5A07F80F22A -S2140180C03C87012213212046B74B9847B74B1C68C3 -S2140180D0B0340020B64B9847012840F23E87002076 -S2140180E0B04B9847C0EB001040005030B0F5A07F71 -S2140180F080F24E87012214212046AB4B9847AB4CA9 -S2140181002068A030AB4B98472068236A13F002031F -S21401811014BF1A211021002B15BF372422241C233B -S21401812012234FF0000263F3040264F34A1261F370 -S214018130CF223921A030A04B98479C4C20680122C1 -S2140181403021A030984DA847206803223121A03065 -S214018150A8472468A0340020954B9847012840F290 -S214018160278700208F4B9847C0EB00104000503007 -S214018170B0F5A07F80F237870122122120468A4B74 -S21401818098478A4B1C68A0340020894B98470128E1 -S21401819040F239870020834B9847C0EB001040001F -S2140181A05030B0F5A07F80F2498701221321204686 -S2140181B07D4B98477D4B1C68A03400207C4B98472C -S2140181C0012840F24B870020764B9847C0EB001001 -S2140181D040005030B0F5A07F80F260870122102168 -S2140181E02046714B9847714B1C68A0340020704B99 -S2140181F09847012840F2628700206A4B9847C0EBF7 -S214018200001040005030B0F5A07F80F27287012246 -S21401821011212046644B9847644C684BA3600123A8 -S21401822023710020664B984704F10800BDE8F081F1 -S214018230BC20644B9847644B18605C4B1860FEF793 -S2140182408EBC15232A211C46FEF7B3BC0020554BD5 -S214018250984750305D4B83FB0023C217C2EBA31235 -S21401826012B2FEF7C2BC00204E4B984700EB8000CE -S21401827040005030554B83FB0023C217C2EBA312BC -S21401828012B2FEF7C5BC0020464B984700EB8000B3 -S214018290400050304D4B83FB0023C217C2EBA312A4 -S2140182A012B2FEF7C8BC00203E4B984700EB4000D8 -S2140182B05030464B83FB0023C217C2EBA31212B207 -S2140182C0FEF7E9BC0020374B9847143080003F4B3F -S2140182D083FB0023C217C2EBA31212B2FEF7ECBC5B -S2140182E00020304B984728304000384B83FB002352 -S2140182F0C217C2EBA31212B2FEF7EFBC0020294B45 -S21401830098475030314B83FB0023C217C2EBA312B0 -S21401831012B2FEF7F2BC0020224B9847C0EB0010C9 -S2140183205030B0F5A07F02DA0122FEF703BD00202F -S2140183301C4B9847C0EB00105030244B83FB0023A6 -S214018340C217C2EBA31212B2FEF7F4BC0020154B03 -S2140183509847C0EB0010400050301C4B83FB0023B5 -S214018360C217C2EBA31212B2FEF7E4BC00200D4BFB -S2140183709847C0EB00105030B0F5A07F02DA01221A -S214018380FEF7F1BC0020074B9847C0EB00105030B9 -S2140183900E4B83FB0023C217C2EBA31212B2FEF7E9 -S2140183A0E2BC00BF3D0F0100E1680000D86B002071 -S2140183B0590F0100614A0100256A0000F9410100D8 -S2140183C0553C0000DD230100486D002067666666A7 -S2140183D00020C74B9847C0EB001040005030C54BFB -S2140183E083FB0023C217C2EBA31212B2FEF7BBBC7B -S2140183F00020BF4B9847C0EB00105030B0F5A07F6F -S21401840002DA0122FEF7C8BC0020B94B9847C0EB40 -S21401841000105030B74B83FB0023C217C2EBA312E8 -S21401842012B2FEF7B9BC0020B14B9847C0EB001062 -S21401843040005030AF4B83FB0023C217C2EBA312A0 -S21401844012B2FEF7A9BC0020A94B9847C0EB00105A -S2140184505030B0F5A07F02DA0122FEF7B6BC00204C -S214018460A34B9847C0EB00105030A24B83FB002370 -S214018470C217C2EBA31212B2FEF7A7BC00209C4B98 -S2140184809847C0EB0010400050309A4B83FB002306 -S214018490C217C2EBA31212B2FEF797BC0623102135 -S2140184A00924FEF7DCBC0020914B9847C0EB001076 -S2140184B05030B0F5A07F02DA0122FEF7F1BC0020B1 -S2140184C08B4B9847C0EB001050308A4B83FB002340 -S2140184D0C217C2EBA31212B2FEF7E2BC0020844B15 -S2140184E09847C0EB001040005030824B83FB0023BE -S2140184F0C217C2EBA31212B2FEF7D2BC00207C4B0D -S2140185009847C0EB00105030B0F5A07F02DA012288 -S214018510FEF7DFBC0020764B9847C0EB00105030CA -S214018520744B83FB0023C217C2EBA31212B2FEF7F1 -S214018530D0BC00206E4B9847C0EB00104000503076 -S2140185406C4B83FB0023C217C2EBA31212B2FEF7D9 -S214018550C0BC0020664B9847C0EB00105030B0F509 -S214018560A07F02DA0122FEF7CDBC0020604B9847BF -S214018570C0EB001050305F4B83FB0023C217C2EBE9 -S214018580A31212B2FEF7BEBC0020594B9847C0EBAF -S214018590001040005030574B83FB0023C217C2EB3C -S2140185A0A31212B2FEF7AEBC0020514B984714300E -S2140185B08000504B83FB0023C217C2EBA31212B2FA -S2140185C0FEF7B5BC062310210924FEF7BFBC002028 -S2140185D0474B984700EB40005030464B83FB002347 -S2140185E0C217C2EBA31212B2FEF720BD0020404B09 -S2140185F09847C0EB00105030B0F5A07F02DA012298 -S214018600FEF72DBD00203A4B9847C0EB00105030C6 -S214018610384B83FB0023C217C2EBA31212B2FEF73C -S2140186201EBD0020324B9847C0EB00104000503072 -S214018630304B83FB0023C217C2EBA31212B2FEF724 -S2140186400EBD00202A4B9847C0EB00105030B0F505 -S214018650A07F02DA0122FEF71BBD0020244B9847BB -S214018660C0EB00105030234B83FB0023C217C2EB34 -S214018670A31212B2FEF70CBD00201D4B9847C0EBAB -S2140186800010400050301B4B83FB0023C217C2EB87 -S214018690A31212B2FEF7FCBC0020154B9847C0EBA4 -S2140186A000105030B0F5A07F02DA0122FEF709BDB6 -S2140186B000200F4B9847C0EB001050300D4B83FB4A -S2140186C00023C217C2EBA31212B2FEF7FABC0020B7 -S2140186D0074B9847C0EB001040005030054B83FB1A -S2140186E00023C217C2EBA31212B2FEF7EABC00BF08 -S2140186F03D0F0100676666660020C94B9847C0EBD0 -S214018700001040005030C74B83FB0023C217C2EB5A -S214018710A31212B2FEF7ECBC0020C14B984700EB47 -S214018720800080005030BF4B83FB0023C217C2EB92 -S214018730A31212B2FEF721BD0020B94B984700EBF9 -S214018740400200EB82005030B64B83FB0023C21779 -S214018750C2EBA31212B2FEF757BD0020B04B9847EA -S21401876000EB400200EB82005030AE4B83FB00234F -S214018770C217C2EBA31212B2FEF75ABD0020A84BD5 -S214018780984700EB400200EB82005030A54B83FB7C -S2140187900023C217C2EBA31212B2FEF75DBD002082 -S2140187A09F4B984700EB400200EB820050309D4BF8 -S2140187B083FB0023C217C2EBA31212B2FEF760BD01 -S2140187C00020974B984714308000964B83FB00237C -S2140187D0C217C2EBA31212B2FEF767BD0020904B80 -S2140187E0984700EB8000400050308E4B83FB0023FF -S2140187F0C217C2EBA31212B2FEF76ABD0020884B65 -S214018800984700EB40005030864B83FB0023C2178D -S214018810C2EBA31212B2FEF77FBD0020804B984731 -S21401882000EB8000400050307E4B83FB0023C217D4 -S214018830C2EBA31212B2FEF782BD0020784B984716 -S21401884014308000774B83FB0023C217C2EBA312C0 -S21401885012B2FEF79ABD0020714B984700EB40001C -S2140188605030704B83FB0023C217C2EBA31212B227 -S214018870FEF7B2BD00206A4B984700EB400050302F -S214018880684B83FB0023C217C2EBA31212B2FEF79A -S214018890B5BD0020624B984700EB40005030614B5D -S2140188A083FB0023C217C2EBA31212B2FEF7B8BDB8 -S2140188B000205B4B984700EB40005030594B83FB40 -S2140188C00023C217C2EBA31212B2FEF7BBBD0020F3 -S2140188D0534B984714308000524B83FB0023C2173A -S2140188E0C2EBA31212B2FEF7DABD07230F2108244A -S2140188F0FEF7E9BD00204A4B984700EB8000503058 -S214018900484B83FB0023C217C2EBA31212B2FEF739 -S214018910F9BD0020424B984700EB80005030414B98 -S21401892083FB0023C217C2EBA31212B2FEF7FCBDF3 -S21401893000203B4B984700EB80005030394B83FBBF -S2140189400023C217C2EBA31212B2FEF7FFBD00202E -S214018950334B984700EB80005030324B83FB0023AB -S214018960C217C2EBA31212B2FEF702BE00202C4BB6 -S214018970984700EB400050302A4B83FB0023C21778 -S214018980C2EBA31212B2FEF705BE0020244B984795 -S214018990322202FB00F05030224B83FB0023C21729 -S2140189A0C2EBA31212B2FEF70CBE00201C4B984776 -S2140189B0C0EBC00050301B4B83FB0023C217C2EB39 -S2140189C0A31212B2FEF752BE0020154B9847C0EB19 -S2140189D0C0005030134B83FB0023C217C2EBA31217 -S2140189E012B2FEF755BE00200D4B9847C0EBC000F3 -S2140189F050300C4B83FB0023C217C2EBA31212B2FA -S214018A00FEF758BE0020064B984728304000054B1D -S214018A1083FB0023C217C2EBA31212B2FEF791BE6C -S214018A203D0F0100676666660020CD4B98475030C3 -S214018A30CC4B83FB0023C217C2EBA31212B2FEF784 -S214018A409DBE15232A211C46FEF7B0BE0020C44B4E -S214018A509847642202FB00F05030C24B83FB002390 -S214018A60C217C2EBA31212B2FEF7D1BE0020BC4B56 -S214018A709847642202FB00F05030BA4B83FB002378 -S214018A80C217C2EBA31212B2FEF7D4BE1F233F21B8 -S214018A901C46FEF709BF1D233B211C46FEF71ABFE5 -S214018AA01F233F211C46FEF72CBF07230F21082456 -S214018AB0FEF74FBF07230F210824FEF77FBF0020D4 -S214018AC0A74B9847C0EB00105030B0F5A07F02DAF4 -S214018AD00122FEF7EFBF0020A14B9847C0EB001024 -S214018AE05030A04B83FB0023C217C2EBA31212B275 -S214018AF0FEF7E0BF00209A4B9847C0EB00104000FD -S214018B005030984B83FB0023C217C2EBA31212B25C -S214018B10FEF7D0BF0020924B9847C0EB00105030B4 -S214018B20B0F5A07F02DA0122FEF7DDBF00208C4BF4 -S214018B309847C0EB001050308A4B83FB0023C217C6 -S214018B40C2EBA31212B2FEF7CEBF0020844B9847A9 -S214018B50C0EB001040005030824B83FB0023C2174D -S214018B60C2EBA31212B2FEF7BEBF00207C4B9847A1 -S214018B70C0EB00105030B0F5A07F02DA0122FEF7FC -S214018B80CBBF0020764B9847C0EB00105030754B9A -S214018B9083FB0023C217C2EBA31212B2FEF7BCBFBF -S214018BA000206F4B9847C0EB0010400050306D4BD3 -S214018BB083FB0023C217C2EBA31212B2FEF7ACBFAF -S214018BC00020674B9847C0EB00105030B0F5A07FEF -S214018BD002DA0122FEF7B9BF0020614B9847C0EBCD -S214018BE0001050305F4B83FB0023C217C2EBA31269 -S214018BF012B2FEF7AABF0020594B9847C0EB0010EF -S214018C0040005030574B83FB0023C217C2EBA31220 -S214018C1012B2FEF79ABF0020514B9847C0EB0010E6 -S214018C205030B0F5A07F02DA0122FEF7A7BF002080 -S214018C304B4B9847C0EB001050304A4B83FB002348 -S214018C40C217C2EBA31212B2FEF798BF0020444B24 -S214018C509847C0EB001040005030424B83FB002386 -S214018C60C217C2EBA31212B2FEF788BF00203C4B1C -S214018C709847C0EB00105030B0F5A07F03DA4FF0F4 -S214018C80FF32FEF795BF0020354B9847C0EB00102A -S214018C905030344B83FB0023C217A2EBA31212B24F -S214018CA0FEF786BF00202E4B9847C0EB0010400011 -S214018CB050302C4B83FB0023C217A2EBA31212B237 -S214018CC0FEF776BF0020264B984700EB8000800019 -S214018CD05030244B83FB0023C217C2EBA31212B2FF -S214018CE0FEF79EBF1D233B211C46FEF7C5BF07238B -S214018CF00F210824FEF7D7BF0020194B984700EB39 -S214018D00800000EB80005030164B83FB0023C21717 -S214018D10C2EBA31212B2FEF7E6BF1F233F211C4689 -S214018D20FFF710B800200E4B984700EB800050303C -S214018D300C4B83FB0023C217C2EBA31212B2FFF740 -S214018D4045B80020064B9847C0EBC0005030054B95 -S214018D5083FB0023C217C2EBA31212B2FFF77FB840 -S214018D603D0F0100676666660020CA4B9847C0EB58 -S214018D70C0005030C84B83FB0023C217C2EBA312BE -S214018D8012B2FFF77EB80020C24B9847C0EBC00076 -S214018D905030C14B83FB0023C217C2EBA31212B2A1 -S214018DA0FFF781B80020BB4B984700EB800080009E -S214018DB05030B94B83FB0023C217C2EBA31212B289 -S214018DC0FFF7BAB80020B34B984700EB800080004D -S214018DD05030B14B83FB0023C217C2EBA31212B271 -S214018DE0FFF7BDB80020AB4B984700EB8000503032 -S214018DF0A94B83FB0023C217C2EBA31212B2FFF7E3 -S214018E00E2B80020A34B9847C0EB00105030B0F5F5 -S214018E10A07F02DA0122FFF7F9B800209D4B9847A0 -S214018E20C0EB001050309C4B83FB0023C217C2EBF3 -S214018E30A31212B2FFF7EAB80020964B9847C0EB90 -S214018E40001040005030944B83FB0023C217C2EB46 -S214018E50A31212B2FFF7DAB800208E4B9847C0EB88 -S214018E6000105030B0F5A07F02DA0122FFF7E7B814 -S214018E700020884B9847C0EB00105030864B83FB90 -S214018E800023C217C2EBA31212B2FFF7D8B8002014 -S214018E90804B9847C0EB0010400050307E4B83FB60 -S214018EA00023C217C2EBA31212B2FFF7C8B8002004 -S214018EB0784B9847C0EB00105030B0F5A07F02DA2F -S214018EC00122FFF7D5B80020724B9847C0EB00107F -S214018ED05030714B83FB0023C217C2EBA31212B2B0 -S214018EE0FFF7C6B800206B4B9847C0EB0010400058 -S214018EF05030694B83FB0023C217C2EBA31212B298 -S214018F00FFF7B6B80020634B9847C0EB001050300F -S214018F10B0F5A07F02DA0122FFF7D4B800205D4B3E -S214018F209847C0EB001050305B4B83FB0023C21701 -S214018F30C2EBA31212B2FFF7C5B80020554B9847F3 -S214018F40C0EB001040005030534B83FB0023C21788 -S214018F50C2EBA31212B2FFF7B5B800204D4B9847EB -S214018F60C0EB00105030B0F5A07F02DA0122FFF707 -S214018F70C2B80020474B9847C0EB00105030464B14 -S214018F8083FB0023C217C2EBA31212B2FFF7B3B8DA -S214018F900020404B9847C0EB0010400050303E4B3D -S214018FA083FB0023C217C2EBA31212B2FFF7A3B8CA -S214018FB00020384B9847C0EB00105030B0F5A07F2A -S214018FC002DA0122FFF7D9B80020324B9847C0EBEE -S214018FD000105030304B83FB0023C217C2EBA312A4 -S214018FE012B2FFF7CAB800202A4B9847C0EB001010 -S214018FF040005030284B83FB0023C217C2EBA3125C -S21401900012B2FFF7BAB80020224B9847C0EB001007 -S2140190105030B0F5A07F02DA0122FFF7C7B8002072 -S2140190201C4B9847C0EB001050301B4B83FB0023B2 -S214019030C217C2EBA31212B2FFF7B8B80020154B45 -S2140190409847C0EB001040005030134B83FB0023C1 -S214019050C217C2EBA31212B2FFF7A8B800200D4B3D -S2140190609847C0EB00105030B0F5A07F02DA01221D -S214019070FFF7B5B80020074B9847C0EB00105030FB -S214019080054B83FB0023C217C2EBA31212B2FFF7F4 -S214019090A6B800BF3D0F01006766666600201D4B3F -S2140190A09847C0EB0010400050301B4B83FB002359 -S2140190B0C217C2EBA31212B2FFF791B80020154BEC -S2140190C09847C0EB00105030B0F5A07F02DA0122BD -S2140190D0FFF79EB800200F4B9847C0EB00105030AA -S2140190E00D4B83FB0023C217C2EBA31212B2FFF78C -S2140190F08FB80020074B9847C0EB00104000503057 -S214019100054B83FB0023C217C2EBA31212B2FFF773 -S2140191107FB800BF3D0F0100676666662DE9F04720 -S214019120A4B007460E461446B54B98470546022C92 -S2140191300DD0002C40F0FA81B0F90A30002B00F077 -S214019140F381B0F90830002B73D10120F1E102223E -S21401915000213846AB4B984708B10320E9E12A7D48 -S21401916002F00303023BDBB2012B40F20F8202F056 -S214019170F802202A03D0082A01D00220D9E10622CB -S214019180002138469F4B9847AB89C34201D1022044 -S214019190CFE10722002138469A4B98476B8A00FB9D -S2140191A003F31B12B3F5807F08D0002207F11001EC -S2140191B03046954B984788BB0220BAE13846934B18 -S2140191C0984704463846924B98470E3501954FF41A -S2140191D0807300930023024621460FA88D4CA047BA -S2140191E03A8ABDF83C301344ADF83C307B8ABDF872 -S2140191F03E101944ADF83E10BDF840100A44ADF8D3 -S2140192004020BDF842201344ADF8423000220FA999 -S21401921030467D4B984708B902208AE148F2AC02F5 -S214019220002138467C4B9847FF2814BF02200120B6 -S2140192307FE102A93846794B98470FA8784B9847A3 -S2140192400FAA00213846774B98473322002138462B -S2140192506C4B984710B100238DF85030072200213F -S2140192603846684B98476B8A00FB03F0041201D11D -S21401927000205EE1062200213846DFF88881C047DB -S214019280B5F80C908144A4B2BDF80E200132BDF8A9 -S2140192900A30D21ABDF80C100131BDF80830C91ACF -S2140192A005F10E03019300940FFA89F312B209B285 -S2140192B004A8DFF860A1D047BDF80820BDF810303B -S2140192C01344ADF81030BDF80A30BDF81210194439 -S2140192D0ADF81210BDF814100A44ADF81420BDF80C -S2140192E016201344ADF81630122200213846C04726 -S2140192F0BDF81030181AADF81000132200213846B8 -S214019300C047BDF814301844ADF8140010220021EF -S2140193103846C047BDF81230181AADF812001122AF -S21401932000213846C047BDF816301844ADF816007F -S2140193300FAA314604A83C4B984702220021384622 -S214019340C047C8B92B7D03F00303012B2AD9022B92 -S21401935000F0D180354B0093354B40F2BB223549A6 -S2140193600220354CA04700231A46314607F110006B -S214019370324CA0470020DCE01C20314B9847804649 -S2140193800122002138461F4B98470023024604A9B4 -S2140193904046DFF8BCA0D04707F518714046294B78 -S2140193A09847CFE7BDF80820AB881A4492B210B2AE -S2140193B0ADF80800BDF80A30E9880B449BB219B233 -S2140193C0ADF80A10B7F910E0864503DA2889121AB3 -S2140193D0ADF80820B7F912208A4203DA6A899B1A87 -S2140193E0ADF80A3008A8184B984708AA0021384655 -S2140193F0164B9847ADF8284064BB002099E000BFA3 -S2140194009D4D0000D54400006D1701005D2F000042 -S214019410AD2F000065EC00000D460000412E000057 -S21401942069C20000C550000031C30000E0500200D0 -S21401943090950200B89602005D220100E9960000B0 -S2140194403D290100C1BD0000459600006957000096 -S2140194502DC00000ADF82290EB89ADF824302B8AA0 -S214019460ADF826306A7D9DF82F3062F300038DF843 -S2140194702F30BDF90A30ADF81A305A1E69890A44F0 -S214019480ADF81E20BDF90E209A42FFF673AF404C90 -S214019490BDF90830ADF818305A1E29890A44ADF8CE -S2140194A01C20BDF90C209A4214DB08AB2A68314611 -S2140194B006A8A0472A89BDF8183013441BB2ADF898 -S2140194C01830BDF81C100A44ADF81C20BDF90C205C -S2140194D09A42EADA6A89BDF81A3013441BB2ADF82B -S2140194E01A30BDF81E100A44ADF81E20BDF90E2034 -S2140194F09A42CDDA3EE708A8264B984708AA0021EB -S2140195003846254B984748F2A90200213846234B96 -S2140195109847ADF820002B680022009208AA314631 -S21401952002A81F4CA04725E7012002E0012C03D02A -S214019530002024B0BDE8F087022200213846194BEE -S214019540984750B90FA8184B984733220021384640 -S214019550144B984740B90020EBE707F51870134BFA -S2140195609847134B9847EDE700218DF848108DF882 -S21401957072108DF864100FAA38460E4B98470FAA42 -S214019580314607F110000C4B9847E4E70220D0E77C -S214019590E9960000CD990000B15600008145000013 -S2140195A0259A0000D544000069C2000091BE000063 -S2140195B071250100C550000031C3000030B583B0ED -S2140195C004460C4B984768B90B4B00934FF4E7726F -S2140195D00A4903200A4DA8472246002309480A499A -S2140195E08847FEE72046094B9847007DC0F3800078 -S2140195F003B030BDB122000008960200B896020002 -S2140196005D2201003C480200B92200009D4D000089 -S2140196102DE9F04786B005460E467C4B984760B963 -S2140196207B4B00938F227B4903207B4CA0472A4625 -S21401963000237A487A498847FEE73046794B9847AF -S21401964007462846784B98470446022F3AD8032FF8 -S21401965042D005A93046754B9847002F55D07B1E42 -S214019660DBB2012B66D9022F00F09980217D67F3CA -S2140196700101059AC2F38A222281BDF81630C3F38E -S2140196804A1363819DF8140060F3C7012175C2F384 -S2140196904902E281C3F3490323822846644B984773 -S2140196A0002840F0AA80A3891BB9638AB3F5807F9E -S2140196B002D028465F4B984728465F4B984706B02E -S2140196C0BDE8F0875D4B0093514BA0225149022023 -S2140196D0DFF84481C047BAE7594B00934C4BA622AA -S2140196E04C4902204C4DA847237D03F00303013B60 -S2140196F0DBB2012B02D82068524B98470023236027 -S214019700237D43F003032375D9E74F4B0093404B6A -S214019710B42240490120DFF80081C047237D03F0D1 -S2140197200303013BDBB2012B02D82068454B984767 -S21401973026609BE7D4F80080464594D0237D03F04D -S2140197400303013BDBB2022B28BF4FF00008304673 -S2140197503E4B984701303E4B984781462B4B9847E6 -S21401976060B92B4B0093C7222A4903202A4CA047F5 -S2140197704A46002337482A498847FEE7B9F1000FD1 -S2140197809DD031464846344B9847C4F80090B8F10E -S214019790000F3FF468AF40462A4B984763E748F20C -S2140197A08E02002128462D4B9847814648F28002BA -S2140197B000212846DFF8B080C047824648F2810281 -S2140197C000212846C0470023029347F61843019319 -S2140197D0009053464A46314604A8214EB047059BA1 -S2140197E0BDF8102062F3942305931B0CBDF81220DC -S2140197F062F34F13ADF8163038E7B4F90A20B4F91E -S21401980008102846174B98474DE700BFB1220000C5 -S21401981020960200B89602005D2201003C48020034 -S214019820B9220000699900009D4D0000EDFD000081 -S214019830BD9501002D2C000021330000E4960200A6 -S21401984004970200C5240100289702001FB50100F5 -S214019850DD230100D83F02000FB50100A14600003C -S2140198607D400100A1420000D54400002DE9F041F1 -S21401987082B080460F46584B98470546574B984747 -S214019880D0B1002D00F08680554B1B680BB3182114 -S2140198902846544B98470446504B9847F8B9524BC4 -S2140198A00093492251490320514DA84722460023DF -S2140198B0504851498847FEE74B4B009342224B499B -S2140198C003204B4CA0472A4600234A484A4988476A -S2140198D0FEE72846494B9847414B1860D7E7002CCE -S2140198E05CD000262660237D43F0030366F3C7039E -S2140198F023752846424B984720812846414B984776 -S2140199006081A6814FF480736382637D43F0010317 -S2140199106375237D43F004032375A680E680E68104 -S214019920268239492846394B984739492846394BC2 -S2140199309847002F37D03846374B9847037DC3F3F7 -S2140199408003227D63F382022275438A63828389C0 -S214019950A381427D637D62F300036375B0F9043031 -S214019960A380B0F90630E380B0F90E30E381B0F998 -S2140199701030238201682846284B9847FF21284645 -S214019980274B9847274B0093174B7F2217490120F7 -S214019990174CA047284602B0BDE8F0812846224B66 -S2140199A098470025F6E70F212846204B9847314671 -S2140199B028461F4B9847012128461E4B9847B8F169 -S2140199C0000F04D0237D43F004032375DAE7237DDB -S2140199D06FF382032375D5E7253E0000B122000010 -S2140199E0FC6B0020D12B000030960200B8960200D6 -S2140199F05D220100D83F0200B9220000554D00004B -S214019A005D2F0000AD2F0000399A01002D2B0000BC -S214019A101D910100892B00009D4D0000119601004B -S214019A20993A00005C970200654F0000E941010089 -S214019A30A12900004D2900002DE9F04385B0074615 -S214019A401546082921D00C46884B1B6898470646C0 -S214019A50012821D1072C2DD03846854B98478046C2 -S214019A6074BB037D03F00303013BDBB2012B13D868 -S214019A700068804B98470023C8F8003098F81430E7 -S214019A8043F0030388F8143006E0137843B900F175 -S214019A9028036B6001262BB1304605B0BDE8F08384 -S214019AA00023F6E7714B1B682A460821384698477B -S214019AB00646F1E770492846704B98470646EBE79D -S214019AC0042C53D0062C5BD00A2CE5D1438AB3F57F -S214019AD0807F00F0C5808289002A40F0C180BA8A62 -S214019AE00132398A521A12B2F98A0131788A091A70 -S214019AF009B203FB02F0FF3048BFFF3040F30F20EE -S214019B00121A02EBD272541001FB03F3FF3348BF63 -S214019B10FF3343F30F23CB1A03EBD373581007F12C -S214019B200F03173702AA13F8011F02F8011BBB42E5 -S214019B30F9D1A2B2BDF808301344ADF80830BDF82B -S214019B400C309A1AADF80C2083B2BDF80A201A44DC -S214019B50ADF80A20BDF80E20D31AADF80E3000225B -S214019B60296802A8464B9847287195E7037D03F0BC -S214019B700303022B90D101683846424B98478BE786 -S214019B80072200213846404DA847B8F8123000FB9E -S214019B9003F31C12062200213846A847B8F80C30F9 -S214019BA003441BB21BB922B2B2F5807F31D0B8F99B -S214019BB00A20B8F9081008F10E000190A4B200942A -S214019BC002A8324CA047B7F93210BDF90830CB1ABB -S214019BD08B42B8BF0B461BB2BDF90A208A1A9342C4 -S214019BE0B8BF13461BB27B86BDF90C200A44B8F9F0 -S214019BF00800121A9342B8BF13461BB27B86BDF902 -S214019C000E200A44B8F90A10521A9342B8BF1346F6 -S214019C107B86122200213846DFF86C80C0478146D9 -S214019C20132200213846C047044610220021384638 -S214019C30C0470546112200213846C0474C45B8BFEB -S214019C404C46B7F9323022B29342B8BF1346AB4204 -S214019C50B8BF2B461BB29842B8BF184678861BE79A -S214019C60296838460A4B9847287115E7FC6B00208F -S214019C709D4D0000C52401006C9702009550000020 -S214019C80B915010011960100D544000065EC0000ED -S214019C905550000010B5094B98470446437C13F015 -S214019CA0010F03D0406808B1054B9847637C6FF3FA -S214019CB0000363740023636010BD00BF9D4D000068 -S214019CC0C5240100F8B507461E4B9847037C03F0F0 -S214019CD00703022B00D0F8BD044601894FF6FF7337 -S214019CE09942F8D0184B1B68033900689847064616 -S214019CF03846144B9847437C13F0010F14BF406855 -S214019D000430236803EB060E9B5DC3B100252B468A -S214019D10425D8EF800200133DBB21D46F218216841 -S214019D2001EB020E8A5C002AF2D1435D8EF8003008 -S214019D303846064B98474FF6FF732381CBE700253D -S214019D40F3E700BF9D4D00005C000020959C0100DC -S214019D5038B504460D46034B9847C5812046024B4D -S214019D60984738BD9D4D00002133000038B50446A4 -S214019D700D46034B984785812046024B984738BDD0 -S214019D809D4D0000213300002DE9F84306460C46A0 -S214019D90124B9847122200213046114DA8478046A3 -S214019DA0132200213046A847814610220021304662 -S214019DB0A8470746112200213046A8472388984421 -S214019DC0A4F80080A388A3EB0903A38063881F443B -S214019DD06780E388181AE080BDE8F883412E00000A -S214019DE0D5440000F0B583B006460F461546184B1D -S214019DF0984704463046174B9847042D1CD9681CD3 -S214019E00154B9847606060B12A463946134B984710 -S214019E10636800225A55637C43F001036374012092 -S214019E2014E00F4B00930F4B40F2B5520E4903203E -S214019E300E4CA047002009E0637C6FF300036374B7 -S214019E402A463946201D054B9847012003B0F0BD30 -S214019E509D4D0000959C0100DD2301005526010063 -S214019E60C499020074970200949902005D220100D1 -S214019E7030B583B004460D46104B984768B9104B71 -S214019E8000934FF4C4720F4903200F4DA847224692 -S214019E9000230E480E498847FEE720460D4B98479B -S214019EA0037CC3F30113AB4206D0037C65F30513B1 -S214019EB003742046084B984703B030BDB12200001A -S214019EC08C970200949902005D2201003C48020032 -S214019ED0B92200009D4D00002133000030B583B04B -S214019EE004460B4B984768B90A4B00934FF4F2723D -S214019EF009490320094DA847224600230848094975 -S214019F008847FEE72046084B9847006803B030BDF7 -S214019F10B1220000D8970200949902005D22010048 -S214019F203C480200B92200009D4D000030B583B0C8 -S214019F3004460C4B984768B90B4B00934FF4F972E3 -S214019F400A4903200A4DA8472246002309480A4920 -S214019F508847FEE72046094B9847007C00F007003B -S214019F6003B030BDB1220000EC97020094990200C4 -S214019F705D2201003C480200B92200009D4D000010 -S214019F8030B583B004460E4B984768B90D4B009325 -S214019F9040F2FF120C4903200C4DA847224600232D -S214019FA00B480C498847FEE720460B4B9847007C38 -S214019FB0C0F30110032808BF002003B030BD00BF66 -S214019FC0B122000004980200949902005D2201006B -S214019FD03C480200B92200009D4D000030B583B018 -S214019FE004460C4B984768B90B4B009340F21B2272 -S214019FF00A4903200A4DA8472246002309480A4970 -S21401A0008847FEE72046094B9847007CC0F380103E -S21401A01003B030BDB12200001898020094990200E6 -S21401A0205D2201003C480200B92200009D4D00005F -S21401A0302DE9F04F8FB0054605919E4B984768B9BC -S21401A0409D4B009340F2A5229C4903209C4CA047BF -S21401A0502A4600239B489C498847FEE7059E3046D2 -S21401A060944B984768B9944B009340F2A6229349C3 -S21401A0700320934CA04732460023924892498847D2 -S21401A080FEE70CA92846914B98472846904B9847DF -S21401A090074628468F4B98470646BDF834300133AD -S21401A0A0BDF830209B1A1BB2069348F28E0200219F -S21401A0B02846894B98478146039048F28102002141 -S21401A0C02846DFF83082C047044648F28002002165 -S21401A0D02846C0470490B9F908B0337CC3F380160C -S21401A0E013F0800F18BF46F0020613F0070F08BFE3 -S21401A0F046F010062846794B98478246012837D104 -S21401A10046F004063B78002B3AD1B84600252C468B -S21401A110611B0096049B039A89B24046DFF8D891EA -S21401A120C847BDF834300133BDF830209B1A1BB246 -S21401A13003EBD37300EBD0704FEA6009C9EB6303FE -S21401A1400FFA83F900238DF82F300A93002C40F084 -S21401A150A180634E33680A9940469847044633689F -S21401A160294638469847204480B20FB0BDE8F08FA4 -S21401A170022840F0968046F008063B78002B48D02F -S21401A180B8464FF000094D460BEB0403079309E070 -S21401A190079B99440FFA89F907EB000805463B5CD3 -S21401A1A0002B34D00096069B049A039940464D4CEA -S21401A1B0A0472844059BB3F9022009EB0B039A42FA -S21401A1C0E6DC04460EA941F8140D474B1B683846D9 -S21401A1D098470A2802D03B5D03B90134BAF1010F52 -S21401A1E096D0BAF1020F18D1611B0096049B039A10 -S21401A1F089B24046DFF80091C847BDF834300133D4 -S21401A200BDF830209B1A1B1A0FFA83F99AE7044609 -S21401A210E4E7B84600252C46E6E74FF0000991E74B -S21401A220079A06990398314B984700EB09039BB2AE -S21401A230059AB2F900101AB2914228DB0A9A51190E -S21401A240A14224D0795C11B304990B440FFA83F927 -S21401A25093460A9B2B44A342BFF47BAFDAF8003047 -S21401A2600AA9404698470690DAF8003000210A9875 -S21401A270404498470790002ED2D00A9B18F8031046 -S21401A2800DF12F001A4B98470028E2D1C8E7CDF808 -S21401A29028B05EE74FF0000BDFF860A006F001067D -S21401A2A0D7E73B78002B7FF46BAFB84600252C46EA -S21401A2B0A94647E7B122000060980200949902007F -S21401A2C05D2201003C480200B9220000899D010080 -S21401A2D0DD9E01009D4D0000A1460000819F01000A -S21401A2E064000020B13D010068000020610001000B -S21401A2F0693D0100D5440000DD3F01005800002003 -S21401A3002DE9F04F99B00446AF4B98470368002BF0 -S21401A31048D0054616A92046AC4B9847BDF85C6068 -S21401A3200136BDF85830F61A36B248F28E020021D0 -S21401A3302046A74B9847804648F2810200212046D6 -S21401A340A44FB847814648F2800200212046B8470C -S21401A35007462B7CC3F3801213F0800F18BF42F020 -S21401A360020213F0070F08BF42F01002296802929A -S21401A3700196CDF800900346424615A8964EB04782 -S21401A3802B7C13F0070310D0032B34D0042B00F0E2 -S21401A390D780022B00F06D81012B00F0FE81204654 -S21401A3A08E4B984719B0BDE8F08F12220021204647 -S21401A3B0884EB0470546132200212046B047284460 -S21401A3C0BDF854502844ADF8540010220021204610 -S21401A3D0B0470546112200212046B0472A18BDF88D -S21401A3E05600024412B2ADF85620BDF9541020466C -S21401A3F07B4B9847D3E705A87A4B984705944FF6C9 -S21401A400FF73ADF84830202211464046764B9847F8 -S21401A41038444FF47A7303FB00F3688993FBF0F337 -S21401A42003EB43039BB20F931193BDF95420BDF880 -S21401A4305C300133BDF858105B1A9BB219B28A42E0 -S21401A44037DD9B1A1AB200210B910C92674E0696C5 -S21401A4506889674B98470D90109031462046654BAA -S21401A460984718B3426A90F83C3003F001030D99FF -S21401A4708A4211DA0E929DF84A206FF300028DF897 -S21401A4804A204BB19DF8503043F001038DF850300F -S21401A4900B9B0C9A0B920C9305A8574B9847574960 -S21401A4A02046574B98470023EB8178E700231A464E -S21401A4B0DDE74E492046524B98470023AB81BDF954 -S21401A4C05620BDF85E300133BDF85A105B1A9BB2B8 -S21401A4D019B28A42E3DD9A1AB8F80830D21A12B2D3 -S21401A4E000210B910C92454E06966889404B984781 -S21401A4F00D901090314620463E4B9847E8B1426A8F -S21401A50090F83C3003F001030D998A4211DA0E925D -S21401A5109DF84A206FF300028DF84A204BB19DF852 -S21401A520503043F001038DF850300B9B0C9A0B9280 -S21401A5300C9305A8304B984731E700231A46E3E70A -S21401A54005A8284B984705944FF6FF73ADF8483099 -S21401A550BDF85C300133BDF858209B1ABDF9542074 -S21401A5601BB29A4250DD2022114640461E4B9847A8 -S21401A570C0EB803300EB8302BDF85430D21A12B21E -S21401A58000210B910C92194E06966889184B984734 -S21401A5900D9031462046174B9847002832D0436A23 -S21401A5A00D9A934206DA0E939DF84A306FF3000334 -S21401A5B08DF84A3005A8104B984710492046104B95 -S21401A5C098470023EB81EAE69D4D0000899D010036 -S21401A5D0A1460000D54400007D4001002133000063 -S21401A5E0A1420000E5120100610001006D9D01001D -S21401A5F09114010055140100A1130100519D0100A1 -S21401A600291301000023CBE76E4920466E4B98477D -S21401A6100023AB81BDF95620BDF85E300133BDF88D -S21401A6205A105B1A1BB29A42C7DDB8F808301A44B2 -S21401A630524212B200210B910C92644E0696688922 -S21401A640634B98470D9031462046624B984770B150 -S21401A650436A0D9A934206DA0E939DF84A306FF3D9 -S21401A66000038DF84A3005A85B4B984797E6002310 -S21401A670EFE7BDF85E300133BDF85A209B1ABDF9ED -S21401A68056201BB29A4203DC4FF6FF732B8186E6F7 -S21401A690524B1B6828689847032803D84FF6FF7368 -S21401A6A02B817CE6BDF85C600136BDF85830F61AA1 -S21401A6B0B6B22E2211464046494B98473844C0EB65 -S21401A6C0803300EB83003044ADF81000BDF85E30F7 -S21401A6D00133BDF85A209B1A9BB218B2B8F908206C -S21401A6E04A4490FBF2F102FB11029B1AA3EB090903 -S21401A6F0ADF8129004A920463A4B98478046074683 -S21401A7002E683046384B98478146384B1B68414681 -S21401A710304698470646059000F10308C1450ED21B -S21401A720DFF8DCA028683044DAF800309847059E48 -S21401A730361A0596013F06F10308C145F2D34FF0DC -S21401A740040A4FF00009DFF8B8B02868059B1844E2 -S21401A750DBF80030984781445FFA89F905A9286833 -S21401A760234B1B689847BAF1010AEED129684A467D -S21401A770314420461F4B984700283FF410AEF11C89 -S21401A7802E222B689A5501368E42FAD12B6800226A -S21401A79003F8082003372F8101E610220021204606 -S21401A7A0154EB0470546112200212046B04729180C -S21401A7B0BDF85600014409B2ADF8561020460F4BBD -S21401A7C09847ECE56D9D010029130100519D01009C -S21401A7D09114010055140100A1130100600000202E -S21401A7E06100010031A001001FB501005C000020DE -S21401A7F058000020E59D0100D5440000B543000047 -S21401A80054000020F0B583B006460D46404B9847ED -S21401A81060B9404B0093B8223F4903203F4CA04704 -S21401A820324600233E483F498847FEE730463E4BC6 -S21401A830984730463D4B9847044605B32846344B67 -S21401A840984708B32768BD422BD01FB1237C13F06D -S21401A850080F49D02846364B98470130354B984764 -S21401A86020602B4B9847002844D0206850B12946D9 -S21401A870314B9847237C6FF3C303237430E0304693 -S21401A8802E4B984703B0F0BD224B0093C4222249B9 -S21401A8900320224CA0472A46002321482149884705 -S21401A8A0FEE7237C13F0080FD4D13846204B984797 -S21401A8B0411C3846224B98472060154B984760B993 -S21401A8C0144B0093D52214490320144DA84722683F -S21401A8D000231C4813498847FEE72368002BD1D084 -S21401A8E03046164B9847CDE73846174B9847002316 -S21401A8F02360AFE7074B0093EE2207490320074D7D -S21401A900A847226800230F4806498847FEE700BF8C -S21401A910B122000078980200949902005D2201009D -S21401A9203C480200B9220000213300009D4D000082 -S21401A9301FB50100DD2301000FB5010001A30100D1 -S21401A94099280100D83F0200C524010070B582B0E5 -S21401A95005460E46144B984768B9144B00934FF4BE -S21401A960A67213490320134CA0472A460023124817 -S21401A97012498847FEE72846114B98470446037C50 -S21401A98013F0080F05D1006818B10E4B9847002345 -S21401A990236026B1237C43F00803237426602846EF -S21401A9A0094B984702B070BDB1220000A49802007E -S21401A9B0949902005D2201003C480200B922000081 -S21401A9C09D4D0000C524010001A30100F0B583B030 -S21401A9D005460F46224B984768B9224B009340F232 -S21401A9E0651221490320214CA0472A46002320480E -S21401A9F020498847FEE728461F4B984704461F49CB -S21401AA0028461F4EB0471F492846B0471E492846CC -S21401AA10B0471E492846B0470023A381E381FB1EA9 -S21401AA20DBB2022B237C94BF43F080036FF3C71382 -S21401AA302374237C03F00703022B08D0237C67F3DF -S21401AA40020323742846124B984703B0F0BD2289AF -S21401AA504FF6FF739A42F1D028460E4B9847EDE722 -S21401AA60B1220000C0980200949902005D22010004 -S21401AA703C480200B92200009D4D00002935000027 -S21401AA8029130100893500006D9D0100519D0100CB -S21401AA9001A30100C59C010030B583B004460D46F4 -S21401AAA0104B984768B9104B00934FF4CD720F497D -S21401AAB003200F4DA847224600230E480E4988471B -S21401AAC0FEE720460D4B9847037CC3F38013AB4249 -S21401AAD006D0037C65F3861303742046084B98471B -S21401AAE003B030BDB1220000D8980200949902004C -S21401AAF05D2201003C480200B92200009D4D000085 -S21401AB0001A301002DE9F04182B00F46794B984729 -S21401AB100446794B9847E8B1002C00F09A80774BB1 -S21401AB201B6823B314212046754B98472046754B66 -S21401AB3098470546704B9847F8B9734B00935D22CA -S21401AB4072490320724CA0472A4600237148724975 -S21401AB508847FEE76C4B009354226C4903206C4DEA -S21401AB60A847224600236B486B498847FEE72046E4 -S21401AB706A4B9847614B1860D4E7002D6DD00023CF -S21401AB802B602A7C02F0B7024FF6FF71298142F052 -S21401AB90300263F302022A7419226A81AB81EB81C7 -S21401ABA06B606A7C63F300026A745D4920465D4B04 -S21401ABB098475D4920465D4B9847002F52D038464E -S21401ABC0504B984706463846594B9847014620460B -S21401ABD0584B98473846584B984701462046574B9E -S21401ABE098473846564B984701462046554B984756 -S21401ABF0337C13F0080F46D13846534B984701462D -S21401AC002046524B9847337C03F00703022B42D071 -S21401AC10737C13F0010F64D07068002861D04C4B30 -S21401AC20984782B2696820464A4B9847727C6B7C8B -S21401AC3062F300036B7433892B81FF212046464B58 -S21401AC409847464B0093304BA82230490120304D9F -S21401AC50A847204602B0BDE8F0812046404B984701 -S21401AC600024F6E7122120463E4B98470021204655 -S21401AC703D4B9847002120462E4B98473B4920469E -S21401AC80324B9847DDE738462F4B9847014620461A -S21401AC90374B9847B7E72F683068364B98470146D9 -S21401ACA03846354B98472860134B984760B9164B82 -S21401ACB00093952215490320154CA0472A680023C6 -S21401ACC0144815498847FEE72F6887B1D6F80080F3 -S21401ACD04046284B9847024641463846274B9847F8 -S21401ACE096E70422B118A818244B98479EE700243B -S21401ACF0AFE700BF253E0000B1220000006C002037 -S21401AD00D12B00009D4D0000F0980200949902009E -S21401AD105D220100D83F0200B9220000554D000017 -S21401AD2001AF0100892B000081AD01002D2B000031 -S21401AD302D9F0100CDA90100DD9F010099AA010008 -S21401AD40819F0100719E0100DD9E010005A80100A2 -S21401AD501FB50100E59D0100993A0000F89902002F -S21401AD60654F0000E9410100A1290000F0990200A9 -S21401AD704DA9010051250100992801005526010021 -S21401AD802DE9F04107461546082915D00C46304BEB -S21401AD901B6898470646012815D1072C20D038464F -S21401ADA02C4B9847804644BB037C13F0080F1DD0FC -S21401ADB03846294B984706E013783BB900F128033B -S21401ADC06B60012623B13046BDE8F0810023F7E72A -S21401ADD01F4B1B682A460821384698470646F2E765 -S21401ADE01E4928461E4B98470646ECE700681D4B51 -S21401ADF098470023C8F80030DAE7042C14D0022C58 -S21401AE00E1D1AA8801322B88D21ABB8A0133398A4A -S21401AE105B1A92B29BB29A420DD03846124B9847B3 -S21401AE203846124B9847CEE738460F4B9847384678 -S21401AE300E4B9847C7E7EA8801326B88D21AFB8A1D -S21401AE400133798A5B1A92B29BB29A42E5D1BAE78C -S21401AE50006C00209D4D0000959C0100089A0200A0 -S21401AE6095500000C5240100C59C010001A3010006 -S21401AE7030B583B004460A4B984718B14FF6FF70B9 -S21401AE8003B030BD074B009340F21D320649032044 -S21401AE90064DA84722460023054806498847FEE78F -S21401AEA0B122000018990200949902005D22010067 -S21401AEB03C480200B922000030B583B004460A4B74 -S21401AEC0984718B14FF6FF7003B030BD074B00939B -S21401AED04FF44C7206490320064DA847224600232C -S21401AEE0054806498847FEE7B1220000349902006A -S21401AEF0949902005D2201003C480200B92200003C -S21401AF00022A00F01E810AB1002070472DE9F043A5 -S21401AF10A9B00F4605468C4B98478046042200216F -S21401AF2028468A4CA0478146052200212846A0478C -S21401AF3005F10F0305F1170606AA13F8014F02F8EB -S21401AF40014BB342F9D11FFA89F9BDF81830A3EBCA -S21401AF500903ADF81830BDF81C309944ADF81C90C3 -S21401AF6080B2BDF81A301B1AADF81A30BDF81E3083 -S21401AF701844ADF81E0013A8754B984713AA002174 -S21401AF802846744B984713AA394606A8724B984729 -S21401AF9008A92846714B984708AA39460AA8704B53 -S21401AFA0984710B929B0BDE8F08328466D4B9847FD -S21401AFB098F81030C3F3801413F0800F18BF44F0D4 -S21401AFC0020413F0070F08BF44F01004012838D01C -S21401AFD0022808BF44F008040CA8634B984728468B -S21401AFE0624B9847ADF83E002846614B9847ADF84E -S21401AFF04000B8F90C30ADF84230B8F90E30ADF873 -S21401B00044308DF847400CAA00212846594B9847F2 -S21401B01098F8102002F00703033BDBB2012B13D98B -S21401B020D8F80030002200920CAA0AA908A8524DAE -S21401B030A84798F8103003F00703042B2BD0002004 -S21401B040B0E744F00404C7E702F03002102A01D04A -S21401B050202AE5D1BDF93C30D8F80010029447F615 -S21401B06018420192BDF93A2000920D9A05A8434D67 -S21401B070A847BDF824300133BDF820209B1ABDF93E -S21401B08014201BB29A42CBDD9DF8473023F00C0307 -S21401B0908DF84730C4E7BDF93C30D8F8001002946B -S21401B0A047F618420192BDF93A2000920D9A05A87A -S21401B0B0324CA047BDF91420BDF824300133BDF849 -S21401B0C020105B1A1BB29A4220DCBDF91620BDF88F -S21401B0D026300133BDF822105B1A1BB29A42AEDD50 -S21401B0E0B8F90C30ADF842300D9B1B891344B8F803 -S21401B0F00E201344ADF84430D8F8003000220092F8 -S21401B1000CAA0AA908A81C4CA04798E7B8F80C4056 -S21401B110224494B2202211460D98194B984700EB11 -S21401B12040000444ADF84240B8F90E30ADF8443062 -S21401B130D8F80030002200920CAA0AA908A8A8474D -S21401B140C3E70220704700BF9D4D0000D5440000B4 -S21401B15069C20000C550000031C30000899D01008E -S21401B16019150100819F0100CD99000071AE010003 -S21401B170B9AE0100B1560000259A00007D400100DD -S21401B1806100010053B94AB9002908BF00281CBF55 -S21401B1904FF0FF314FF0FF3000F07AB9ADF1080CF7 -S21401B1A06DE904CE00F006F8DDF804E0DDE90223DF -S21401B1B004B070472DE9F0478C460D460446089EBC -S21401B1C0002B51D18A4217466DD9B2FA82FEBEF1E2 -S21401B1D0000F0BD0CEF1200C01FA0EF520FA0CFC74 -S21401B1E002FA0EF74CEA050C00FA0EF44FEA174A7B -S21401B1F0250CBCFBFAF81FFA87F90AFB18CC45EABE -S21401B2000C4508FB09F3AB420AD9ED1908F1FF32E8 -S21401B21080F02381AB4240F22081A8F102083D4430 -S21401B220ED1AA4B2B5FBFAF00AFB105544EA054440 -S21401B23000FB09F9A14509D9E41900F1FF3380F0B3 -S21401B2400A81A14540F2078102383C44A4EB090477 -S21401B25040EA08400021002E61D024FA0EF40023B3 -S21401B26034607360BDE8F0878B4207D9002E54D056 -S21401B270002186E821000846BDE8F087B3FA83F18D -S21401B280002940F08E80AB4202D3824200F2FA805F -S21401B290841A65EB03050120AC46002E3FD086E8F4 -S21401B2A01010BDE8F08712B90127B7FBF2F7B7FA1D -S21401B2B087FEBEF1000F34D1EB1B3A0C1FFA87FC58 -S21401B2C00121B3FBF2F8250C02FB183345EA0345CE -S21401B2D00CFB08F3AB4207D9ED1908F1FF3002D297 -S21401B2E0AB4200F2D1808046ED1AA3B2B5FBF2F074 -S21401B2F002FB105543EA05440CFB00FCA44507D9A4 -S21401B300E41900F1FF3302D2A44500F2B8801846D2 -S21401B310A4EB0C0440EA08409DE731463046BDE800 -S21401B320F087CEF1200405FA0EF307FA0EF720FA9D -S21401B33004F83A0C25FA04F448EA0308B4FBF2F1DF -S21401B3404FEA184502FB11441FFA87FC45EA0445FB -S21401B35001FB0CF3AB4200FA0EF409D9ED1901F129 -S21401B360FF3080F08A80AB4240F2878002393D444C -S21401B370EB1A1FFA88F5B3FBF2F002FB103345EA2D -S21401B380034500FB0CF3AB4207D9ED1900F1FF387A -S21401B3906FD2AB426DD902383D44EB1A40EA014107 -S21401B3A08FE7C1F1200722FA07F88B4005FA01F46E -S21401B3B048EA030320FA07FE4FEA134CFD404EEA23 -S21401B3C0040EB5FBFCF94FEA1E440CFB19551FFA97 -S21401B3D083F844EA054509FB08F4AC4202FA01F297 -S21401B3E000FA01FA08D9ED1809F1FF3043D2AC4250 -S21401B3F041D9A9F102091D442D1B1FFA8EFEB5FB8A -S21401B400FCF00CFB10554EEA054400FB08F8A0457D -S21401B41007D9E41800F1FF3529D2A04527D902380B -S21401B4201C4440EA0940A4EB0804A0FB02894C45F1 -S21401B430C6464D4615D312D056B1BAEB0E0364EB91 -S21401B440050404FA07F7CB401F43CC40376074600D -S21401B4500021BDE8F0871846F8E69046E0E6C245CA -S21401B460EAD2B8EB020E69EB03050138E4E7284699 -S21401B470D7E7404691E78146BEE7014678E70238BE -S21401B4803C4445E7084608E7A8F102083D442BE797 -S21401B490704700BF70B50D4E0D4CA41BA4100025BF -S21401B4A0A54209D10B4E0C4C0EF0B4FAA41BA41005 -S21401B4B00025A54205D170BD56F8253098470135BF -S21401B4C0EEE756F8253098470135F2E7209A020054 -S21401B4D0209A0200209A0200249A020010B501392F -S21401B4E00244904201D1002010BD10F8013B11F832 -S21401B4F0014FA342F5D0181B10BD10F8012B11F80F -S21401B500013B012A28BF9A42F7D0D01A704703465A -S21401B51011F8012B03F8012B002AF9D170470346D5 -S21401B52013F8012B002AFBD1181A013870470000C6 -S21401B5302E2E2F68706C2F706F72742F68706C5F70 -S21401B5406770696F5F626173652E68002E2E2F68C3 -S21401B550616C2F7372632F68616C5F696F2E630075 -S21401B5602E2E2F68616C2F7372632F68616C5F7467 -S21401B570696D65722E6300002E2E2F68616C2F7325 -S21401B58072632F68616C5F75736172745F61737942 -S21401B5906E632E63000000002E2E2F68616C2F75DF -S21401B5A074696C732F7372632F7574696C735F6C37 -S21401B5B06973742E630000002E2E2F68616C2F7540 -S21401B5C074696C732F7372632F7574696C735F7211 -S21401B5D0696E676275666665722E630000300040AC -S21401B5E000340040002001410040014100000043BA -S21401B5F00004004300080043000C00430300000061 -S21401B6001400200000010000FF0000000000D70029 -S21401B610000427072E2E2F68706C2F736572636FD8 -S21401B6206D2F68706C5F736572636F6D2E630000BB -S21401B63000380040003C004000A0014100C001412C -S21401B6400014004200180042001400430018004392 -S21401B65000006B000803000000000000973A00009D -S21401B660000000002E2E2F68706C2F74632F6870F8 -S21401B6706C5F74632E6300000AE462165B8500004B -S21401B68084B601000B0607FF2C88ACFF251F87FF39 -S21401B690395189FF6DC4DCFF4883C8FF3256C6FFA7 -S21401B6A04D4346FF160A48FF5CA2BCFF382DC2FF79 -S21401B6B0676C8BFF2D2748FF223689FF416DC7FF38 -S21401B6C07685C3FF9AA4C6FF2035A5FF212669FF0C -S21401B6D03951A9FFA9E2E8FF2E2426FF406EE9FFB3 -S21401B6E04388E9FF4BA6AEFF483887FFC9C4C5FFAC -S21401B6F0336EA8FF6A6469FF4056E4FF2E3469FF83 -S21401B700170928FF4E55A8FF96A9E7FF838383FFF5 -S21401B7101B1067FF80889EFF606EC7FF5FA6E7FF6E -S21401B7204796E9FF7987E6FF2E20A9FF274569FF9F -S21401B73035438AFF646FA7FF293349FFAFB5C0FFC2 -S21401B7405F5789FF4355C7FF2D46A9FF89979FFF7E -S21401B7503F60ABFF1D2C88FF4879C9FF1B1527FFEB -S21401B7608294C6FF2F2869FF69B6E6FF84D4DFFFFF -S21401B7701B1548FF6493C8FF5B6EE6FF1547C1FFC4 -S21401B780BCC4E4FF1E3798FF4363C6FFE8E4E1FF4D -S21401B7902A5473FF3E3A67FF2B53B7FF322B87FFBE -S21401B7A0608AE6FF1E1419FF4884D6FF3F3738FF2C -S21401B7B06499EAFF8198D6FF475F87FF212659FFE4 -S21401B7C01A1637FF5055E6FF776E88FF94A8D8FF04 -S21401B7D0737AA9FF221957FF72A8EBFFDEF3F6FF73 -S21401B7E09EA5A3FF493DE0FF241C67FF948CA2FFA2 -S21401B7F05462A8FF83C4ECFF486ED7FF3F47A9FFFA -S21401B800383AA9FFD6D4D5FF3779A7FF5462E7FFA8 -S21401B810615859FF484688FFA7B4D6FF9A99B0FFEA -S21401B82036509BFF202678FF282339FFB4B5B3FF97 -S21401B830457AE7FF96B5E8FF313359FF467AD8FFD8 -S21401B840A29AC1FF160C16FF7E88B1FF636288FFBD -S21401B850797679FF302976FF433DC1FF303C97FF6B -S21401B8602D3679FF4C4767FF304599FF60B5BFFF1E -S21401B8705F97F7FF4B62D7FF5C87C9FF182D95FFCF -S21401B8805979E8FF4549C0FF8F9694FF29979CFF99 -S21401B890AEDDEBFF64AAC0FF789AE9FFD1EAF3FFB9 -S21401B8A03262C5FF3E34D8FF615A68FF4298DAFF1C -S21401B8B03E64F1FF788692FF59B8D8FF627AC6FFD8 -S21401B8C0DDDCE4FF7C7C86FF544A57FF4FA9DAFF94 -S21401B8D07B8AD5FFA4A9AFFF7BA5D9FFCDCDD6FF27 -S21401B8E06F6B76FF7CD2ECFF94B8F7FF3199A9FF16 -S21401B8F06C7684FF82CBE1FF1950D8FF7BB5F5FF4C -S21401B900496DB9FF4779BBFF342BACFF5E89D7FF82 -S21401B9105486A4FF292197FF180C57FFAFAAC3FF2F -S21401B920BFE6EDFF64ACACFF150837FF5CA5F9FF79 -S21401B93032447BFFBFBCC1FF7E9BF6FF5A5778FFA0 -S21401B9405F6EB7FF4B6199FF647AB9FF221A77FFE2 -S21401B950474799FF666298FF4587F6FF96A9F6FF67 -S21401B9601C1277FF4C96F7FF4A54D8FFB6C7FBFF69 -S21401B970403A78FF5F87FAFF7AA6F5FF978BAEFF0E -S21401B9804A4878FFBBD7F8FFF8FAFBFF9AC8F2FFE0 -S21401B990EBEBEEFF496EFBFF4F62B7FF5964FBFF0F -S21401B9A06579D9FF303988FF473797FF423948FF15 -S21401B9B0251829FF9BDAE4FF251748FF999DD7FF35 -S21401B9C0251838FF5256F7FF495299FFB4BCE5FFD8 -S21401B9D03E375AFF4C9498FF6695D9FFD4D2FCFFA8 -S21401B9E04E58B7FF5D5997FF3F34C3FF4B49DCFF05 -S21401B9F06B7895FF3B61B9FF312998FF437AF9FFD0 -S21401BA00463CD0FF5B78FBFF7B7B99FF233CA6FF80 -S21401BA108B9DC7FFDFDBDAFF505388FF969B9FFFA6 -S21401BA207AB9EAFF3A55B7FF2F2A57FFA7ABD7FFD8 -S21401BA30BBBAD9FF382938FF898B8EFF69BBDBFF7C -S21401BA40A1D7ECFFABB8F8FF686F96FF516CABFF60 -S21401BA505D6FD8FF5B6EFBFF777099FF3163D5FF93 -S21401BA604848D1FF445AFCFF73CCDCFF544B4BFFD4 -S21401BA707A8CC3FF9FACC6FF372C2BFFCFCBCBFFF7 -S21401BA806F6B6BFF7070707070707070707070702C -S21401BA90704870707070484848363636CB690CE985 -S21401BAA02D444477E9121277C8793113133176C8D9 -S21401BAB0C87931133131E2E2E2407E40E2E2E2400F -S21401BAC0E231C525A285C7305EB3760D46464646A9 -S21401BAD0DD4040405F5E13D1B32B765F5F7676C85C -S21401BAE0C840A29C56C114E7BD3904BDE73A269C5E -S21401BAF0A7040414E7BCE07BEFEF4780803DBCF36E -S21401BB0033479C56C1C1565CEE9CE79CF939EF560B -S21401BB103AF9869C85C70E0EC755CC9C4BE756C195 -S21401BB20C2A2359F9F9F9F9F9F9F9F33332067672A -S21401BB3079796720202013DC1767121E4E7070700B -S21401BB407070707070707070707048707070484867 -S21401BB5048483636360C4E69692D2B2B2B1E4E74F3 -S21401BB6077C879315E313176C8C87931133131E21F -S21401BB70E2E24034403131E231D79F9FC52528C7E4 -S21401BB80305EB3760D343446467E40404076B3137D -S21401BB90D1B32B2B5F5F76407676406E9C86C1864E -S21401BBA00439E7F955399C559C869CEE145CBCF427 -S21401BBB07BEF8347805E62BCF320470486C1C1C128 -S21401BBC0F90483C2E7F9399CC1CCF9A79C4B3535FA -S21401BBD035D55CA7EF555C56C1EFD53C7D7D7D7DA7 -S21401BBE005050505A09F9FC533333333333333DC57 -S21401BBF0176E13770D74707070707070707070704F -S21401BC007070483648707048484836CB36CB4E4E32 -S21401BC100C1E1EBBB32BC84E7777C82B7979797962 -S21401BC2076C8C8793113133131E2E24040E231136C -S21401BC3033AFC51331E8F328F3E85EB3760D343439 -S21401BC4046467E7E404076B313D1B32B2B5F3176CA -S21401BC50407676406E9CA786563A39E73A5555F9AE -S21401BC6026E7869CEE839CB5E0BCEF834B5EB37CF7 -S21401BC70E0F3136EE786C1C1C13A3AA7E75504550A -S21401BC809CC183043AE7A267A0A2555CA7149E5CF8 -S21401BC9056C18326D53C3C3C3C3C7D7D0505359F05 -S21401BCA09FDCDC9FC5C513310E6E3333340D0D702A -S21401BCB07070707070707070707070483648707008 -S21401BCC048484836CB36691E0C0C79BBBBBB2BC823 -S21401BCD04E7477C8C8C82B2BC8C8C87679311313D9 -S21401BCE031313131E27631C5AFC513767631E8258B -S21401BCF0F341E8B3B3760D34343434344040115F45 -S21401BD00B3D1D1B32B7631317676767640F3E7C26E -S21401BD10C0C1A704043A55550426E7863A8DCC9C43 -S21401BD20B8E0BCC2CC4B5EB37CE03DD16E39A7C156 -S21401BD30C1C18383A7392604559CC114E79E4B9F36 -S21401BD40643585995CA7149EE786C18326D53C7D1C -S21401BD503C3C3C7D7D0505A09F9FDC33DCC5DC13A8 -S21401BD607945790D0D68740D707070707070707013 -S21401BD70707070703648707070484836CBCBCBCF39 -S21401BD8012691E2BBBBB6D2B2B127477C82B2B761F -S21401BD9076C8C8C876793113133131133131139F00 -S21401BDA0AF33794076760D79E8E8E85EB3B3760D81 -S21401BDB034343434347E40115FB3131367797631EB -S21401BDC03176767676760E39EF56C1C13A04CC399D -S21401BDD02604263986EF8DCC9CB8E0BC5CCC4B5E45 -S21401BDE0647CBC3DD10E55A7C1C1C1A7CCA7E7262F -S21401BDF0EE559C5683554735B0F149219C3A1414AB -S21401BE009EE786C18326D53C7D7D7D7D7D050535F6 -S21401BE1035A09FDC333313137979760D7933741299 -S21401BE206870707070707070707070704848707064 -S21401BE307048483636CBCBCB36360CC82BBB44D3F2 -S21401BE4079BB127477C82B7979797976C8C8793134 -S21401BE501313131331139FAFDC133176404034E6CE -S21401BE602CE231315EB379760D0D343434344040F2 -S21401BE70115FB3131313B3765F317976C8767641C3 -S21401BE803914C1C1C1CC0414E74BEE2655A7838DE6 -S21401BE903A9CB8F4BCE7CC4B5EB37CBC3D130E2693 -S21401BEA083C1C1C1839CA7E726E755E7A7EF4B0EE1 -S21401BEB0DCF5F2A25CCC3A1414E755EFC18326D523 -S21401BEC03C7D7DA27D7D0505356E359FDC331331C6 -S21401BED07979764034337DC86812707070707070EE -S21401BEE070487070707070707070484836CBCBCBED -S21401BEF0CB363677762BBB44BB1EE91E7477C82B30 -S21401BF007979313179C8C8793113E8E8E89FB1C544 -S21401BF1031313131400D7E64C16F405E5E5E5EB38D -S21401BF20760D34343434344040405FB31313135E1B -S21401BF3076313131317676764139EF56C1C114F911 -S21401BF40A75C7B392626A7838D9C3A27F4E0393AED -S21401BF504B80B3B9BC3D13C55583C1C1C1839C8613 -S21401BF609C26E755E73A5CC7DC33E633D55C143AE2 -S21401BF70CC14E7BD5C86EF263C3C7D7D7D7D0505CA -S21401BF80351749359FDC331379790D0D0D6813C5C7 -S21401BF900D68747070704848704836707036487016 -S21401BFA07070704848CBCBCBCBCBCBCB77762BBB4B -S21401BFB0446D1E77771277772B7979313179C8C836 -S21401BFC0791313E8C58E8ED731E2E231E2404002A2 -S21401BFD0BEC1A6405E5E5E5EB3760D343468340D37 -S21401BFE04040405F5E1313135E5E313131315E793E -S21401BFF07641265C86C1C1A7F9A79C7B554B268353 -S21401C000A78D043A4BF4F4BD3A7B805E30E03D5B8D -S21401C010AF9986C1C1C1149C869C4B555555E74BBB -S21401C0209FE82C66334B5C143ACC14E7BD9ECCEFEC -S21401C030857D3C7D7D7D7D05056E176E359FDC33E8 -S21401C0401379760D0D0D68791374687470707070BD -S21401C0507070364870703636487070484836CBCBAC -S21401C060CBCBCB6936691EBB44D344BBC877777745 -S21401C070772B2B797979C8C8797913E88E7D25E8ED -S21401C08013314040E2E2404068FEC16076315E5EB8 -S21401C0905EB3760D0D6872BBB27EE2115F5E13135E -S21401C0A013E85E31315EE85E317987AA9E86C1C1AA -S21401C0B0A7F9A73A7B264B4B83A726EE3A4BF4F417 -S21401C0C0AD9C7B305EE8E017B110C28356C1C1A7B4 -S21401C0D09C869C4B55557B470EDC136624DC4B5CDB -S21401C0E0CC9C3ACCE7ADBD5C5CD57D7D7D7D7D7D10 -S21401C0F005351749359F9FDC137979760D0D0D347B -S21401C10068746868687070707070707070367048A7 -S21401C110364848704848CBCBCBCBCBCBCBCBCB69C7 -S21401C1202DD3442BABC80D7777772B2B2B79C8C82B -S21401C1307979139F8E8E41D7E83140347EE2E24012 -S21401C14034E5425656D15F5E5E5EB3760D0DB22E75 -S21401C150C166777EE2315E131313E85E3131131345 -S21401C1601313316EAAE756C1C1863A86CC7B4B4B78 -S21401C1704BCCA73939F94BE0C67BE77B305EDC2731 -S21401C18085FC10559C56C1C1A7F9869C4B4BADBC8E -S21401C1900EE8DC67ACB40ED55C3A9C9CCCE7AD856A -S21401C1A09E9ED57D7D7D7D7D7D05354935359FDC22 -S21401C1B03313797976400D0D0D3468687474707098 -S21401C1C0707070707070487048CF3648704848CBB1 -S21401C1D0CBCB15CBCBCBCB0C0C2DD3442BAB79795E -S21401C1E040C8772B2B7931797979DC8E8E254141C0 -S21401C1F0D731117E347E11114002E1C3C3C15340D1 -S21401C2005E5E5EB3760D0D34BB42C142F134315EE3 -S21401C210131313135E5E1313E835C5DC274B9C56C8 -S21401C220C1C1863AA7CC7B7B4B4B3AA73926EE4B4E -S21401C230E0C6BCE77BB9C58A5552715B47EE56C16D -S21401C240C1A7F9863A4B7BBC5DE81313B41AD10E2D -S21401C250D5E73A9C9CCC5CAD855555A27D7D7D7D10 -S21401C2607D7D050505359F9FDC13317979797676D5 -S21401C270767676760D0D12707070704870707070EC -S21401C28070CFCF3636704836CBCBCB696969CBE9F0 -S21401C290C877446D44D32B135E790DC82B7913DC14 -S21401C2A01313AF8E25C5412541E8E2117E347E1178 -S21401C2B011406894C3C3C110405E5E5EB3760D46FE -S21401C2C040B272C1C1C194C8E21313135E5E5E131D -S21401C2D0E83939DCDCDC479C56C1C156F9A7CC27C6 -S21401C2E0B87B279CA7394B397BE0C6BC557BF3D579 -S21401C2F05537B120D16E3986C1C1A7F9A7EF27BC42 -S21401C3007FE813E87966AC136E85E7F95C5C3A5C06 -S21401C310BD85D5D5D57D7D7D050505050505353557 -S21401C32035DC13137979797979797979797979C8D5 -S21401C33070707070487070700036CFCB36364848D3 -S21401C34036CBCBCB696969CB77C877BBBBB3ABAB15 -S21401C3501331760DC82B7913C59FB19F13E8D741CA -S21401C36041E845E2117E347E111140682EC3C3C1F7 -S21401C37096C8315E5EB3760D0D46405994C1C1C173 -S21401C38060D17920D1B3B35EE895989F13313147D8 -S21401C3909C86C1C1563AA7CC27BCB8179CA739B80A -S21401C3A0AAB8F4D0BC9EB62195B15B20D1D15D3937 -S21401C3B0A7C1C1A7F9A73A273DDC1313E8791ABE2E -S21401C3C0E847ADE79CE75C3A5CBD85A2D54BA27D0C -S21401C3D07D0505A0A00505356E0E131379797679CE -S21401C3E0797979315E315E5E797070704848707027 -S21401C3F070480036CF36CB4848CBCBCB1569696938 -S21401C400CB69C8C81E2BB3B32BB376404079797974 -S21401C410138E8E137979313131453131E2E2403470 -S21401C4207E11E240C860C3C3C1C3D13113B379766C -S21401C4300D0D46463477E4C1C1C1C3537913B3B376 -S21401C4405E9FD59F131331314704A7C1C1563AA742 -S21401C450CC4BE0B8B5E7A755E0BCB5E0F4ADBABA49 -S21401C4604CC520B3B3D1B35D2683C1C1860483CC4A -S21401C470274113131313D8E4B45DADAD9E9CE7E7D3 -S21401C4803A5CBD85A2D585A27D7D05A0A0A0A0A011 -S21401C4909F9F331313792B0D7679793131315E797C -S21401C4A0797970704836487069E90C48703636CB31 -S21401C4B03648CBCBCB15696969CB4E79776DABAB7B -S21401C4C0672B314076131313338EAF13797979794D -S21401C4D0797931E2E2E21140347E11E27EE5428F63 -S21401C4E042C3C153E21379B3760D0D463440A472AC -S21401C4F0C156C1C1C17179B3B35ED7135E135E79FC -S21401C500766E04A7C1C156F914144BE0B5B8E7140A -S21401C5102662E0BCBCADBABAAD7C805E64B3D1B372 -S21401C5205D26CCC1C18604CC3A27E8313113792483 -S21401C53060D847AD859E9CE7E79C5CBD85A2D58506 -S21401C540A27D7D7D7D05A0A0A0A09F9F333313799A -S21401C5500D0D0D767931795E5E79797070483636D3 -S21401C56000700C0CCB707036364848CBCBCB696963 -S21401C5706969CB4EC8E91EBB642BB3797613D7C560 -S21401C5808E7DC513797676767979797640E2E211F1 -S21401C5907E347E11E27EE5C3E4E4C3C110761379EE -S21401C5A079760D0D3434405F0266C1C3C1C1C1370F -S21401C5B0C8B35E5E5E5E5E3176766EEE14C1C156BF -S21401C5C0F9CC144BE0B5B5393A4B41BCBDBAF0AD28 -S21401C5D0BDBCDA805E64B320B341263A56C18604F8 -S21401C5E09C9C1713795E13C8AC6AC5AD8585399CCA -S21401C5F0E7E79C5CBD85D54BADD57D3C3C3C7D7D60 -S21401C6007D7DA0A09F33333333672B0D0D0D7979D4 -S21401C610795EB3B370703636700000360C364870EB -S21401C62070704848CBCBCB69696969CBCBCBE9AB9A -S21401C6302B646413793113C50F7DC5131379767690 -S21401C6407679797976404011407E347E11E27EF12A -S21401C650C16060C3C19676137979760D4634401170 -S21401C66011E27760C3425656C16F0D5E5E5E795E1B -S21401C6705E76405D39CCC1C156F9CC1426E0BCB516 -S21401C680269CD58E99D6F0E0E07BE0DA805E64B336 -S21401C69020B34127F986C18604040449137913316E -S21401C6A0E5E45AF3BD5585555CE79E9C9CBDBDD51A -S21401C6B085B6959521216C215252525295E33CB193 -S21401C6C0A09F331379C8340D767679B3B3360070EC -S21401C6D048704870703636367070704848CBCB1547 -S21401C6E069696969CB690CE9BB136420207913C5B4 -S21401C6F00F8EC5D713133176767679797940401146 -S21401C70011407E343411E2025AC160FEC3C156D8CC -S21401C710317979760D0D3440115F31112FC1E48FD7 -S21401C720C356C1660D5E5E765E5E760D4139CC56A9 -S21401C730C156F93ACC26F4E0B5BD9E2165BA9EBC39 -S21401C740C6C6BCE0DA755E196420B3D7270486C175 -S21401C750868D04EE6E13791379E142F547555585BA -S21401C76055E79E9E3A3A99996CF0BAD221954C3C7F -S21401C7703C3C7D7D7D7D3C4C5252CEFB9F1379C85F -S21401C7800D34340D76796948000048440C0048366B -S21401C790364870704848CBCB696969691569124E8D -S21401C7A0E92B64D1412013AF0FC5D741C5E813313A -S21401C7B079767679797976E2E211117E343411E26E -S21401C7C00266C1961AC3C1C171761379760D0D340E -S21401C7D0405F5F3180342E5660608F56C16F405E79 -S21401C7E0767676760D41553A86C156F9F9CC26E02D -S21401C7F0BC7B99BA650FBC7BE0C6C6BCE0DA755E49 -S21401C800196420B3D72704A7C1868D8D260E6779B4 -S21401C81013C894605B4B39554B555CE79983A7C0A9 -S21401C820BAF02121D53C7D7D05A0A0A0A09F9F3315 -S21401C83033F27D4C52527D3376C8C8746874C87022 -S21401C840487000481EE9487036364870704848CB34 -S21401C850CBCB6969690C696969E91EB3C5C5C5B100 -S21401C86093C513D74141C5E813317676797979E2D4 -S21401C870E2E2E2117E343411E23494C1FE1A42C17E -S21401C880C1AC76137979C80D34401131315EE2645A -S21401C890428F9660C3C1C17134767676760DE855BF -S21401C8A03AA7C156F904CC55BCADBABAB6AF20E02A -S21401C8B0B8DEC6C6BCF450755F196420B3E8178DA0 -S21401C8C08356A78D924B0E13673164606AC5BD39D6 -S21401C8D055559EC2BAC0A7A7C2B685A2A27D053588 -S21401C8E0359F9F9F9F9FC5DC333333339FB13C52A7 -S21401C8F0E3F22BC8777459747000000000CB6936D8 -S21401C9007048367070704848CB691EE969690C69D1 -S21401C910690C1E79D7C525938EC5D7E8D7C541C5FD -S21401C920D7E831317979797976E2E2E2117E3434E9 -S21401C93040E2342E56FE1A60C1C1C3D1797979C856 -S21401C9400D3440E231315E5E40E1C1966060C3C1A4 -S21401C950C171347676C8C8E826F9A7C156F904CC61 -S21401C960C2F0BAB67B7F205EF4B8DEC6C6BCF4D091 -S21401C970805F1964B3B313178DCC56A78D274B7DF3 -S21401C980331376F542E641BD39E7F0C0C0C2999847 -S21401C990145CADD5A2A2053535A09FDC9F35A09FBE -S21401C9A0DC131379671333C5A03752B12B0D777497 -S21401C9B012007070700C7036364800007070704847 -S21401C9C0486977E90C0C0C69690CE9771320254C4A -S21401C9D08E13D7C5E8D7C5C5DCE8E8411379797960 -S21401C9E0797640E2E2E27E343440E268ACC3FE1A75 -S21401C9F0FE56C1C153797979C80D0D40E23131E84F -S21401CA005E310DACC3966060C3C1C1534676C8C8DB -S21401CA105E4BF91456563A9CA7C0B6BCBCE062B34E -S21401CA20B362B5B5F4C6BCF4D0F75F1919B3B31346 -S21401CA306B923A86A78D2726A06713C894E4E1F384 -S21401CA409EEFC0BA995C9E559C149C85A2A2A20535 -S21401CA5035A09F9F9F9F358EA09FDC1379797679AD -S21401CA601333AFFB520F2B46774636704448364891 -S21401CA70703670700070707070697769691EE96948 -S21401CA800CE94EE92B67AF4C8EC51313E8D7D7D701 -S21401CA90DCE8DC0EDC79797979797640E2E2E2400D -S21401CAA00D7E40E268ACC3FE1A1A42C1C16576B378 -S21401CAB079C80D0D40E231315E5E31E2E5C360605A -S21401CAC0606056C1C1B4462BC8314B04CC5656A73C -S21401CAD0C0CCE7E0F4DEE062B3B362B8B5F4C6E01A -S21401CAE0F4D0F75F19196464B31692F986A78D27F7 -S21401CAF04BC5675E64FEFEF1BDC0C05C5555E7558B -S21401CB005504149C4BA2D58549359F9F9F9F9FA096 -S21401CB10358EA0C51379797940C86733AF0F52B106 -S21401CB202B4676E948CB36003670707070707036DA -S21401CB303670E9E9156DBB2D2DE90C4EC879AF931A -S21401CB4025C5C53179131313D7D7E8DCE8317979D0 -S21401CB5079797976E2E2E2E2407E7EE2E2341AC355 -S21401CB60FE1A1A60C1C1C3D179790D0D0D40E231AB -S21401CB70315E5E315E0D5AC3966060E456C1426412 -S21401CB800DC85E4B9C1456C183E70426F4F4DEE020 -S21401CB90B9B3B36B7BDEC6C6E0F4D0F7C91919B3D7 -S21401CBA064B35D92F986868D276B136776F5E46A22 -S21401CBB071BA99E7554B55395555E7143A85A2850B -S21401CBC0ADA2350E359F9FDC9F9F8E359FC513798D -S21401CBD031790D0D79C5B1FBEAAF2B2BCBCB0036E6 -S21401CBE0703670707070707048364869CB0C1E6D68 -S21401CBF00CE9E9772BC85B93C533D7137679131302 -S21401CC0013D7D7E8133179797979797976E2E2E23F -S21401CC1031407931E2E277FEC3FE1A1A1AC3C1C166 -S21401CC20BE4079400D3440E23131805E5E315EBBFC -S21401CC30608F966060E456C160770D13BD8386569B -S21401CC40569C268D27F4F4C4E0B9B32017B5DEC68A -S21401CC50F8E0F4C6F719BB64B3B3B3F62704A786A6 -S21401CC60EE171631B379666066B1AD4B39394B555F -S21401CC70E75555E714CC554B85ADA2353505A0DCF7 -S21401CC80DCDC358E8E359FDC13131376343479C590 -S21401CC90B14C525BC800367036367070707070706A -S21401CCA04870704848CBE96D2D1E77C8B379F20FEE -S21401CCB0D167201379C8765E13131313133179796C -S21401CCC0797913797979E2313131DC6E45E2E20D19 -S21401CCD0FEC3FE1A1A1AE4C1C18F7931760D347E6D -S21401CCE01131315E5E5E31137951C3966060608F9B -S21401CCF0C1C12E7737BAEFCC8656F9279226F4F4BF -S21401CD00C4E0B9B32030C4DEC6D0E0F4C6DA19BB3D -S21401CD10B313B3B3412704868604176213F2B4AC87 -S21401CD20FE5A41BC4B39394B55E7555539CCCC5594 -S21401CD305555AD47358E7D8E9FDCDC358E8E35356F -S21401CD40C53131201376346879C50FEAFBB37069B3 -S21401CD503600707070707070CF3670704836690C1F -S21401CD600C1E77772B79AF0F67796779792BC80D0A -S21401CD7076797979797979797913DC13317979E268 -S21401CD8031310EB84140E2E20DFEC3FE1A1A1AFE18 -S21401CD90C1C1C153407640343440E2315E5E313128 -S21401CDA05EE8BBAC8F9660606042C1C1E62C8539F7 -S21401CDB03AA756F9272627E0F4C4E062B3B3B35086 -S21401CDC0F4C6D0F4F4F45019BBB3D7D7D130170456 -S21401CDD0A78604173D0FE324601AF541BC4B2626AF -S21401CDE04B4B39555539CC14399E55854735057DFC -S21401CDF00535DCDC9F35358E35C5797913C5137657 -S21401CE006874B3AF37EAF2703636007070707070BF -S21401CE1048CFCB70704869CB0C1E1E772BC8F20F1B -S21401CE20672B7979131379C8770D0DC879797979D4 -S21401CE307967DCE813313179313135B8877640E2EC -S21401CE40E268ACC3FE1A1AFE1A42C1C19640764089 -S21401CE500D3440E2315E3131315E13B30BC396605F -S21401CE6060E4E4C3C1C1AE5D39F9A756F9272727A7 -S21401CE70E0F4DEE062B3191980F4C650F4F4C6D0CB -S21401CE80C919136E0ED1E81704A786F9AAB6525B24 -S21401CE906660ACD85D474B26264B4B55555539CC6D -S21401CEA0A70404E785A205057D0535DCDC9F8E8E8B -S21401CEB08E9F13797613C5C5137668C820B152FBC9 -S21401CEC0700070707070007036384870704848E9AD -S21401CED00CE977772BAB5BFB03C82B2B79202079EA -S21401CEE0C8770D0D76793131797967133131313162 -S21401CEF079E2E86E45314040E2E2342EC3FE1AFE86 -S21401CF00FE1AFEC1C1C12C7E400D343440E25E31B2 -S21401CF1031315E13132B2E8F966060E460C3C142DD -S21401CF20D826F9A756F9172727E0E0BCBCC6B319DF -S21401CF301976D0C650F4F4C6C65EB35D17E8D113B1 -S21401CF406B8DA78683BA85DC2BFEFE6A676E4B4B1C -S21401CF5026264B4B55555539CCA79CF90485A20579 -S21401CF607D7D0535DCDC9F8E8EA0DC1379C879D7F4 -S21401CF70C5C5130D742B5B37E3000000700048CF66 -S21401CF8036360C69707036360CE9E9772B2BB037DC -S21401CF90D1C8C877C879132079C8770D0D793113B0 -S21401CFA031797979791313313179E231313131407F -S21401CFB040E2E2342EC3FE1AFE1AFE1A42C1C196A0 -S21401CFC00D404034344011313131315E132013723B -S21401CFD04296606060E4E456C1FE6198A7563A172F -S21401CFE01727DEB8B8E0C65EBBBB1975D0F7C6F426 -S21401CFF0C6C6F7416B7CD7D12049EEA756144B160F -S21401D000E2B4E41A66316E4B4B26264B4B5555550A -S21401D010393A863AF9044B057D7D7D050EDCE8C577 -S21401D0209FA0C59F0567C87613C5C5D7797477795C -S21401D0302C100000007070000C1E3636707070CB1D -S21401D0400CCB0CE9792BD8375B2B2B0D772B79136F -S21401D0501379C80D0D0D79793131797931E81313CA -S21401D060313179E2E2314545767E11E2346AC3FE1A -S21401D0701A1A1A1A1AFE56C1C12C344034347E11BB -S21401D0805FE25F3113C5AF4CB42EE4FE6060E4602E -S21401D090E4C1C1570986863A271727B8AADEE0C633 -S21401D0A0B3BBBBBBC9758062F4C6C6F8DEC4B9D7CC -S21401D0B020F2929C86563A178B76BE601AE1316E44 -S21401D0C04B4B2626264B555555393A863AF9E7D520 -S21401D0D0057D7D7D059FE8E8E8DCC5C58D3C79C802 -S21401D0E0C831135E7976747419D1E300007000CFED -S21401D0F0E9706D1E7070707036E9690C2B64D83754 -S21401D1005B2B2B0DC8C8C879B31379C80D0D0DC894 -S21401D11079797979130E0E1331313179E2E231E8FA -S21401D12031404011E23494C3FE1A1A1A1AFE1A8FBD -S21401D130C1C1E44640403434405F315EE8AF374C0D -S21401D1400F1372C31A606060E46042C1C181CC569D -S21401D1503A27B5B8AAE0F4E0C65EBBBB7474C95EF4 -S21401D160B9C6C6C6C427B550D75B849C9CA756F9DA -S21401D170278B76ACFEACB4455D4B4B4B26264B5508 -S21401D1805555559CA73AE755497DA27D7D359FE8C3 -S21401D190DC331313058D3379C80D76760D7474461A -S21401D1A07446646F7070700000691ECF0C70704812 -S21401D1B07036E969ABB3D137B12B2B770D76C879C9 -S21401D1C079202079C80D0D0DC8797979799F3513A5 -S21401D1D03131317976E2E23131407E7E115F34942D -S21401D1E0C3FE1A1A1AFEFEFEFEC3C1C12402403453 -S21401D1F0344031E8AF4C4C0FC5135E77FE60FE60DD -S21401D20060E4E460C3C14257563A27B5B8B5F4F4B2 -S21401D210F4C65EBBBB7438741930F8C6C6DE92B568 -S21401D220B9D73C0495921456F9271DB4E4AC2ED117 -S21401D230DC5D4B4B4B26264B555555559CA79C55AF -S21401D240A2057D7D7D7D8EDCE8DC336767A0F27903 -S21401D25079C80D40760D6868747446D810707000F1 -S21401D26048360048E9367070480C36CF0C2BD1375B -S21401D2709313B37777770DC87913D7C5310D0D0D95 -S21401D2800D7679317913DC1379317979797640E243 -S21401D290E2E2400D7E11E234E6C3FE1A1A1A1A1AA9 -S21401D2A0FE1A60C1C1C3BB7E404031C5934C8EC5DA -S21401D2B0332013B30DE1C3AC606060E4E4E4C1C1A4 -S21401D2C0FE941417DE17DEC6C6C4C65EBB74743879 -S21401D2D038BB80F8C6C6DE8D277CFB6571418A1493 -S21401D2E056F927B9BEE4AC9431415D4B4B4B26262B -S21401D2F04B4B55555504CC9C4B49497D7D05050E38 -S21401D300E813DC13676767797979C8C83113137630 -S21401D31046B25974B4FC70700036BB4470703670F7 -S21401D3207070E9690CAB640F4C5B202B77777777CD -S21401D330C87913410E13760D0D0D7931317979794E -S21401D3407979797931797640E2E2E2407E7E115F41 -S21401D350025AC360AC1A1A1A1AFEFE1A42C1C194C6 -S21401D360B231330F37B1E81313131313B376ABE4AB -S21401D3701AFE606060E46042C1C1E67A27DE17DE0D -S21401D380C6C6C4F480BB74743838BB5ED0C6C6DE6D -S21401D3908D262152AFD1E88ACC563A2730AC60AC04 -S21401D3A0BE31DC5D4B4B4B26264B4B555555E7F9AD -S21401D3B0E7D5A2497D05358EDC131313137967670C -S21401D3C0677979C879C5AFAFD776685974B4FC70F8 -S21401D3D070700070E938367070487036691E2BAF71 -S21401D3E0CEC520B3C877777777C879130EC513767D -S21401D3F00D0D407931317979797976797931797686 -S21401D40040E2E2E2407E7E11E27EE1C360AC1A1A9F -S21401D4101A1A1A1A1AFE56C1C172C537AF1331311C -S21401D420315E13135EB35E4694E4AC606060E4E480 -S21401D43060C3C1C18C17DE17DEC6C6C4F4B9197441 -S21401D440743838745E1DC6C6DEEEC2B6415EB35E83 -S21401D45049CC863A27C5E4AC1A2C45DC5D4B4B4BD0 -S21401D46026264B4B4B5555E7E755A2494905353519 -S21401D47035DC13131379797979797979C85E257D45 -S21401D4808EAF13465959D8FC70000036BB6936CFAB -S21401D490707036E936E9ABD1CEAF20B377777777C0 -S21401D4A077C8767913D7D713760D0D407931797908 -S21401D4B07679C876797979797640E2E2E2407E7EBD -S21401D4C040E27E724260AC1A1A1A1A1A1A1A1AE442 -S21401D4D0C1C142E5315FE211115F5E13135EB3B362 -S21401D4E040B4422EFE606060E46060C1C160B0DEA0 -S21401D4F017DEC6C6C4F450197474383874B3F7C648 -S21401D500F4ADC29E16805EB35E493A863A05BE42C7 -S21401D5106AACD8E8415D4B4B4B26264B4B4B4B55E3 -S21401D52055554BA2490535358E9FE8131331797948 -S21401D530797979792BC833A27D8E8E13465959D8BD -S21401D540A670707000691E3670707070CD0C1EABC0 -S21401D55037B12013C877C87777C8B3B3797913136F -S21401D56031C80D0D0D79797979797676767979796B -S21401D570797940E2E2E2407E7E11E27EE542E41AFB -S21401D580AC1A1A1A1A1A1AFE1AE4C1C12E3411401C -S21401D59011115F5E5E13B379793119601AAC606060 -S21401D5A06060E46042C1C13206B5DEC6C6C6F4504C -S21401D5B0767474383874B380C6AD999E278BF75E3F -S21401D5C0B35E6EF9A73AA0A6E46A2E13DC0E5D4B95 -S21401D5D04B4B26264B4B4B4B555585474905353509 -S21401D5E035359F13131379767679797979767905B6 -S21401D5F0D58E8EAF5E685474B4A670E9BB4436709F -S21401D600367070CF36486DBB53FB64D12B77ABC8F1 -S21401D610C8C879B3792B795E5E79C8770D0D762BFC -S21401D620797979797976767979797940E2E2E240A1 -S21401D6307E7E11E211AB60E41AACACAC1A1A1A1A6F -S21401D6401A1A1AE4C1C15A025F11115F31B313B33A -S21401D65079765E4666E42EFE60606060606056C164 -S21401D660C14DB5B5C6C6C6F4C65EBB743838BB6414 -S21401D670D7AD997B26268BF75EB35E5D04A7F9A32B -S21401D680601A6A6631410E0E474B4B26264B4B4BB2 -S21401D6904B55554BA24935350E3535DC13133179CB -S21401D6A07676797979797633D58E8E2513745959AC -S21401D6B074F56500480CBBBBCF707070CF0C0C2A9C -S21401D6C04D104DABAB77ABC8C8C8797979C8C82BB4 -S21401D6D079792BC877770DC8C82B797979797676D9 -S21401D6E0797979764040E2E2407E7E115F1177AC2F -S21401D6F042FEACACACACACAC1A1A1A1AFE42C1C1B2 -S21401D700F5A4E25F5F315E13B37976794072E46A1D -S21401D7101A6060606060FE60C1C1AC33B5C6C6C643 -S21401D720F4F480BB74383877D8E3BDBCC427268BA5 -S21401D730805EB35E5DEEA78D71426A1A5345410E57 -S21401D7400E474B4B26264B4B4B4B5585474935359C -S21401D7500E0E0E0EDC1331797676792B2B2B2B2BB6 -S21401D76020C59F8EC50D59745938F565480000705F -S21401D77069E93670707036D3AB3753ABAB77AB2BEA -S21401D780792BC8C8C80D77772B792BC8C80D770DAC -S21401D790C8C8797979797976797979797640404006 -S21401D7A0E2407E7E115FE2349442FEACACACACAC9F -S21401D7B0ACACAC1A1A1AFE42C1C1E57E5F5F315E9F -S21401D7C05EB37976765FBBFEAC2E96606060606075 -S21401D7D0FE42C1C18C16F4C6C6F4C4B919743838F1 -S21401D7E0E5E3266BC4C427278B805EB35EF68D14F3 -S21401D7F009A642941A5BE80E0E35474B4B262626A1 -S21401D8004B4B4B55854735350E0E0E9F9FDCE83149 -S21401D8107976797979C8C8C8C8C8C813DC797474A8 -S21401D82059A938F56F44440C700070487036690C7D -S21401D830AB2CE303AB77772B33332BC80D77777796 -S21401D840AB2B79792BC80D0D0DC876797679797958 -S21401D850767979797976404040E2407E7E11E21110 -S21401D86034E142FEACACACACACACACAC1A1A1A1A95 -S21401D870FEC3C1426411315E5E5EB37976765E4662 -S21401D880571A941A6060606060FE60C1C14233F44A -S21401D890C6C6F4C48BC974382F10D5351DC6C42727 -S21401D8A0278B5EB3B35EF692CC71FEFE57AC138740 -S21401D8B00E0E35494B4B2626264B4B5555554B0ED2 -S21401D8C00E41DCDCDCDCDC331376767913792BC88D -S21401D8D0C8C877770DC8741259543BBBBEBE360C08 -S21401D8E044E936707070706944D1CE2CAB771E2B2C -S21401D8F0A00567C8C877121E77AB2B79792BC80DA0 -S21401D9000D0DC87979797679767676797979764052 -S21401D9104040E2407E7E11E2E240724260ACACAC36 -S21401D920ACACACACACACAC1A1AACFEC3C18FB31188 -S21401D9305E5E5EB37976765E46E11A94ACFE606012 -S21401D940FEFEFEFE42C1C15AB9C6C6C6C4C45E7456 -S21401D950B4A653C51380C6C417278B5EB3B35EF651 -S21401D96092F9BE42AC94A613410E35356E474B264E -S21401D97026264B4B4B55554B0EE8E84545131313DE -S21401D980133176767913792BC8C8C87774745954CD -S21401D99054083B54646FB400007036367070707073 -S21401D9A069BFFBCED1AB1E77330567ABAB7777127A -S21401D9B01E77772B797979C80D0D0D767979797976 -S21401D9C076767676797979764040E2E2407E7EE236 -S21401D9D03131D77260E4ACACACACACACACACACAC9A -S21401D9E0AC1A1AACFEC3C18FB3E25E5EB37976762B -S21401D9F05E402FFE946A1AFEFEFEFEFEFEFEC1C1CA -S21401DA00E45EC6C6C6DEDE80B4A6B4BB64195EC6D6 -S21401DA10C417278B5EB3B35E302684A64294AC66E9 -S21401DA20450E0E35356E474B2626264B4B5555551E -S21401DA304B6EE84545133113131379767679133116 -S21401DA40792BC877747459747459591259B46F6420 -S21401DA5036700000007070706944BFD2B1641E1E3B -S21401DA60AB672BABAB777777121E77C82B797979B3 -S21401DA7076400D0D76797979797676767676797936 -S21401DA80764040E211407E4031C58E4C4D6AE4AC92 -S21401DA902EACACACACACACACACACACACACACFEC3D5 -S21401DAA0C18FB35F13B379765F5E76BF1A9494AC79 -S21401DAB0FE1AFEFEFEFE1A42C1C1E150C6C6DEB522 -S21401DAC047A6B438381919C950C61727165EB35E6B -S21401DAD05E3026A3FE60E61A53870E35353549A219 -S21401DAE04B2626264B4B5555554B0EDCE84531311A -S21401DAF079793179767679131313792B777712C87A -S21401DB00791259741274BEBEBBE9E9CB707070709D -S21401DB107069D353EAD1AB1E1E777777ABAB7777B5 -S21401DB2077127777C82B7913133176400DC8797938 -S21401DB3079797976C87676797976404011E2E27617 -S21401DB40137D4C8EE80DE642AC2E2E2E2EACACACE0 -S21401DB50ACACACACACACACACFEC3C142D8765E7976 -S21401DB60765F5E5FBB2E9494AC1A1AFEFEFEFEFE36 -S21401DB70FE56C1FE5EC6C6DE9EBA5B7438381919FB -S21401DB8019F7C61727165EB35E5E301771E4ACE66A -S21401DB901AAF0E0E3535054949474B26264B4B85A0 -S21401DBA0555547350E0EDC451331797979C8C87657 -S21401DBB07979131379C8747479747454A93B19105C -S21401DBC0F5387069CD367036E90CE944102CAB1E79 -S21401DBD0127777777777777777771E7777C82B7986 -S21401DBE013D7E8317640C8797979797976C8767627 -S21401DBF079767640E23113D78E3C8EDC31E27E0BAD -S21401DC00421A2E2E2E2E2E2E2E2EACACACACACAC3A -S21401DC10ACAC1AC3C1C32C76B3765F5E5F749494C2 -S21401DC20576A1A1A1A1A1A1AFE1AE4C1C153D0C42C -S21401DC30ADC07B5E7438381919195FF8B527165EC2 -S21401DC405E5E5E415D94429457940E6E0E353505C8 -S21401DC504949474B26264B4B4B554BA26E35350E45 -S21401DC600EDC13137979C80D0DC879131331C874F6 -S21401DC7074747412545438B41064540000707000F4 -S21401DC8069E90CD3F510BF441E777777777777C8A5 -S21401DC902BC877777777C82B7913C5D75E797676D1 -S21401DCA0797979797976C876767676793131DC0F35 -S21401DCB04CB113313140407EBFFEFE2E2E2E2E2E4D -S21401DCC02E2E2E2EACACACACACACACACACE4C1C124 -S21401DCD0530D795E5E5F466A6A576A1A1A1A1A1AED -S21401DCE01A1A1A1AC1C1FE80ADBA5527807438387F -S21401DCF0191919C9DADE27165E5E805E4141FE609B -S21401DD00E694665D6E0E3535054949494B26264B28 -S21401DD104B4B4BA26E353535350E0EDCE813797656 -S21401DD200DC8C8C82B7979C8C82B12745474766488 -S21401DD3066BE74A9000000707000366DBF10E14425 -S21401DD40E91E77C8C8C8C8C87913B3C8777777C833 -S21401DD50797913D7C513797676797979797976765B -S21401DD607679793113338E4C0F33E24040E24040EE -S21401DD7040746A602E2E2E2E2E2E2E2E2E6A6A2E7F -S21401DD80AC6AACACAC2EAC96C3C1370D315E314635 -S21401DD90946A576A1A1A1A1A1A1A1A1AACE4C1C1DC -S21401DDA071B6BC2726B9463838461919465FC427C6 -S21401DDB0C4808080E806B1E41A326A716B0E35358C -S21401DDC0054949496EA24B4B4B4747490E0E0E0E6D -S21401DDD00E0E0E0E0E9FE81379C80DC877C8C8C878 -S21401DDE07479C8745959C8B3B4A6B454A9690070F3 -S21401DDF0363670CF44E16FBFD34E772BB3B379B3CA -S21401DE00B313D713C877770DC879B3B3E8C5E879E4 -S21401DE10407679797979797676767913338E4C7D71 -S21401DE20C531E27E7E40E240404034EDE42E94A6C9 -S21401DE302E2E2E2E2E6A6A6A6A6A6A6A6A2E2E2E1C -S21401DE402EAC8FC165B3115F191A945794ACAC1AF6 -S21401DE501A1A1A1A1A1A1AC1C11A41C48A9216C96A -S21401DE60383846C91946C91DDEC4308030E84566D3 -S21401DE70422E32ACB1170E353505054949356E4986 -S21401DE8049496E0E41E845454545E8E8DCDC0EDCCF -S21401DE90E81379C8C8C8C877777767772B5974C8E5 -S21401DEA0D1BE6FBB084F0C70CB0CCB700C786FE1FA -S21401DEB0D32D1E2BB3B3B3D1D1D120D713C8770D31 -S21401DEC0C8765E131313D7E879407679797976792F -S21401DED076767913AF37FBC51331E2400D0D40E27C -S21401DEE04040407E7260AC949494A6A62E2E6A6A38 -S21401DEF06A6A6A6A6A6A6A6A2E2E2E2E96C18F53DB -S21401DF0046516A325794ACACACACACACAC1A1A6A9B -S21401DF1042C1C320C427926BC9747446C919191922 -S21401DF205F1DC47C303030131AE49466A635170E94 -S21401DF3035050505494935353535350E41DCE845A4 -S21401DF4031313131313113E8E8E8133179762BC8B4 -S21401DF50C877742BC8C859741971EBB454A94F36D5 -S21401DF607069E96D360CAEA6AE2D0C772BB3B3D126 -S21401DF70201320D7D713C877C8C8C813D7E813E823 -S21401DF80E87640767979797679797933FB37B11302 -S21401DF9031E24040400D0D40E240404040AB1A1A8D -S21401DFA094949494A69494949494946A6A6A6A94C1 -S21401DFB06A2E2E2E2E2EACE4C3FEFE9457946A6A69 -S21401DFC0ACACACACACACACAC6A1AC1C15A1D278DBA -S21401DFD0175F747446C9C94619765FB962B9B93014 -S21401DFE05BE4FE3294946E490E35050505494935C4 -S21401DFF0350E0E0E0E41DCDCE8453131313179311A -S21401E00031311313313113137979C87438125954D5 -S21401E01074D1EA10BBA94FA97070CF0CE9690C2422 -S21401E020EB2FE9691EC82BB3D113132020C5137734 -S21401E03077792BC8B3D7C5D7D7E87640767979767E -S21401E040796713B14C0F3313794040E2E2400D7EFD -S21401E05040E24040404034E6609494949494949412 -S21401E0609494949494949494949494A62E2E2EA678 -S21401E0706AAC60606060FEAC6A6A6A6A6A6A6A6A0A -S21401E0806A6A6A42C1FEE8B592175E747446C9C9E7 -S21401E09046197676807C7C7C06BEE4AC5A6A71179B -S21401E0A06E0E350505050549350E0E0E0E0EDC0EF7 -S21401E0B00E41DCE84531317679797979793113DCAD -S21401E0C0DC0E872B74C8745954592CEBB4CDA93B7C -S21401E0D03B707036CF0CCBD310D2B46DCF0C1EC8AC -S21401E0E02BB3D1132020D713C87779792B7913C591 -S21401E0F04141E879407679797913AF37FBC5133119 -S21401E10079767640E2E2407E7E40E2404040407EC4 -S21401E1100B602E94949494949494949494949494DC -S21401E1209494949494A6A6A6A69494946AACAC2EC1 -S21401E1306A6A6A6A6A6A6A6A6A6A6A941AC3C15BBE -S21401E1406B921775467446C9C9191976765E3041C1 -S21401E1507CE82E609424ACB11735353505050535B8 -S21401E16005350E0E0E8787DC0E0E41414141E8E86B -S21401E1703131797676767613DC6EB5DC797779741B -S21401E1805954BBA66F38A93B3B3B707036CFCB6961 -S21401E19078A66F2FE9690CE977C82BB3D1D1202077 -S21401E1A013C87779B3797913D74141D7314076319E -S21401E1B01333FB4CB1137979797976404040E240CC -S21401E1C07E40E2E24040404040AB1AAC94949494C6 -S21401E1D094949494949494949494949494949494F9 -S21401E1E09494949494949494946A6A6A6A6A6A6A0F -S21401E1F06A6A6A6A946AE4C16641261780194646C5 -S21401E200C9C9C9C976765E5E067CC596FE66322E9B -S21401E2108E170E0E350505353535350E0E87DCDCC9 -S21401E220DC0E0E0E41410E35350E9FDC13797676E7 -S21401E23079E8B56E337977C812543871EB2F3B54B1 -S21401E240CD3B3B0C0CCB70002D89A651D30C690C31 -S21401E250E91EC82B2BB3B3132020790DC8B37979E7 -S21401E260B3E8D741305E796733B14C0F3313797613 -S21401E27079797976404040E2404040E2E2E240402F -S21401E28040E234E6FE9494949494949457575757E6 -S21401E29057575794949494949494949494949494EF -S21401E2A094949494949494946A6A6A6A6A6A57FEF7 -S21401E2B0C196332627F7C9C946C9C9C976767631C4 -S21401E2C031E88071E4AC3257A60E6E0E0E350505A8 -S21401E2D0353535350E87DCDCDCDC0E0E41415D6BF9 -S21401E2E06EA2A2A2A235DC1379795D6B13792B7429 -S21401E2F0385459B4EBE3B33B54CD3B3B440C704824 -S21401E30048EC0BA6AEEC36CF690C1E77C82B2B2B30 -S21401E310B31320B30D0D7979797913E83041C5200F -S21401E320AF3737AF13797676767679797640E240ED -S21401E330E24011E23131E240404040400B609494AB -S21401E34094949494575757575757575757579494E9 -S21401E35094949494949494949494949494945794B4 -S21401E3609494949494949457ACC3C3F12727B95FBB -S21401E3705FC9C9C9C97676315EE8E831A6E4942456 -S21401E3806A6F0E0E0E0E3535353535350E0EDCDC64 -S21401E390DCDCDC0E0E410EDE6B49A2D58585D5A2EE -S21401E3A035E8E85D792BC8C8747459BB1065F279F5 -S21401E3B0540808080869707036702DE1A6AED30CB3 -S21401E3C0CFCB691E7777C8C8C8B3B313B3C877C8AD -S21401E3D07979797913C5258E934CB1206779797649 -S21401E3E0767676797976404040E240E2E23131E273 -S21401E3F0404040E2E2641AAC579494575757575737 -S21401E40057575757575757579494949494949494AE -S21401E41057575757575757575757575757949494CF -S21401E4205794E4C15A354BB975755F5F5FC9765E1F -S21401E430DC35DC315B969657242E710E0E0E0E35AA -S21401E4403535353535350EDCDCDCDCDC0E0E416B66 -S21401E4506B0E49A2D5858585D5A235DC137976C89C -S21401E46077C8C87753EB71B346A908080808CB36B6 -S21401E4704870702D51A672D8640CCB69E91E77BB23 -S21401E480C8C82BB3B379C87777C879797913C59398 -S21401E490B685C5137979797976404076797976406B -S21401E4A0404040E2E2E23131404040E2E23140E6C3 -S21401E4B0FE57575757575757E657575757575757B0 -S21401E4C057575757575757575757575757575757D6 -S21401E4D0575757575757575757575796C1AC1B4B10 -S21401E4E0B975B9805E5E5F5E33D57DE83171E41A39 -S21401E4F03232ACAF350E0E0E0E3535353535350E9E -S21401E500DCDCDCDCDC4141415D0E0E49A2D58585B3 -S21401E510D57D8E9FDCC5135E79C82077E565E3D18E -S21401E5207659125408083B6969004848699065AEF7 -S21401E530E5D1E969690C1E1E77BBC8C82B2BC8C874 -S21401E5407777C82BB3203393218525137979797989 -S21401E550797640407679797640404040E2E2E23191 -S21401E56031404040E23131E2D8FE94575757E657E2 -S21401E570E6E6E6E6E6E6E6E6E6E6E657E6E6E65753 -S21401E5805757575757575757575757575757575715 -S21401E590575757571AC38FB04B7C756262805E5EC1 -S21401E5A0133C92DCE831A6E42E2466A6C5350E0E91 -S21401E5B00E0E3535353535350EDCDCDCE8E8414107 -S21401E5C087410E0E49A2D5D5D5A225DCD7DC9F9F63 -S21401E5D0335EC813646FEBB4B37754791908083BFC -S21401E5E069690C694869F5FCAE0C440C69690C0C48 -S21401E5F01E7777BBABC82BC8777777C8B3D1AF4C3C -S21401E6003725F3415E79797676767640767679792E -S21401E6107640404040E24040E2E2404040E2313154 -S21401E62031C82EACE657E6E6E6E6E6E6E6E6E6E6D8 -S21401E630E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E674 -S21401E640E65757575757575757575757E66A42C1CE -S21401E65024493D7562E07C5E31DC05DC1331D1FE78 -S21401E6609694249466DC350E0E0E0E35353535350A -S21401E670350EDCDCDCE8E841DCDCDC410E49A2A23C -S21401E680A2A28EDC1313DC9F9FC513C82071EB5327 -S21401E69077B33838B3C808083BCB44694836694D68 -S21401E6A052712D696969E9446DE91E777777ABC8C0 -S21401E6B0C87777C879D1B14CB120133041E8797960 -S21401E6C079767676407676797976E2E24040404011 -S21401E6D040E2E2404040E231313140E1FE57E6E6B9 -S21401E6E0E6E6E6E6E6E6E6E6E6E68132323232E6F9 -S21401E6F0E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6B4 -S21401E7005757575757E657E4C110353D80627F7F0C -S21401E71030E8133131313153E4FE32249471870EDF -S21401E7200E0E0E0E3535353535350EDCDCE8E8E8EF -S21401E730DCDCE8E8410E49A2A2A2359FE81313DC0F -S21401E7409F9FC513C8B1EB10BB59745477B33808F3 -S21401E75054A56969CB69CB0C1B5266CA0C0C69E9D6 -S21401E760BFBF6D6D77BB777777C877C82B5BFB4CE0 -S21401E770AF677976E87C3031797976767640767649 -S21401E78079797640E2E240404040E2E2E24040E20F -S21401E790E23131E22BAC2E32E6E6E6E6E6E6E6E6E6 -S21401E7A0E6818157575757E63232323232E6E6E68D -S21401E7B0E6E6E6E6E6E6E6E6E6E6E6575757E6E6A0 -S21401E7C096C1AC357F80627F6B6EE831313131E2C4 -S21401E7D09460AC32246AB10E0E0E0E0E0E3535352F -S21401E7E03535350EDCDCE845E8DCDCE8E8DC0E49EE -S21401E7F0A2A2359FDC331313DC9F9F2079D1656578 -S21401E8005B7754A55477795908A554000CE936CBA3 -S21401E810431B71A6780C0C690C44E544E977BB7779 -S21401E8207777772B642CE30F5BD179C80D5E414176 -S21401E83013797976767640767979797640E2E2E2EE -S21401E840407E4040E240404040403131317EE1FE72 -S21401E850E6323232323232818181E6E61C787897AE -S21401E8608CE6E681818181818181818181818181BD -S21401E87081E6E6E6E6575757E61AC3969F7F807C01 -S21401E8806B27174531313131B3FEFE9424322EC544 -S21401E8900E0E870E0E0E0E353535350E0EDCDCE807 -S21401E8A045E8DCE845E8DC0E49A27D0EDCE81313FA -S21401E8B013DC9FC5B3D1E3EB2C77745438745454EE -S21401E8C0543BA53B704870696D2A0CAE65E1440C5B -S21401E8D0CB69E9BF44E91EBBBB77772B03B1E35392 -S21401E8E0D1677979C80D7930411379767676764095 -S21401E8F07676797979764076E2407E7E40E2E2402D -S21401E900114040E23131E264AC2E323232818181F3 -S21401E910818181E691001FA93B547890E68181812F -S21401E92081818181818181818181818181E6E6E6A2 -S21401E930E6E62EC3E4AF7F807C17276E4531313182 -S21401E940E2F1E41A66246694E80E0E870E0E0E0EA9 -S21401E950353535350E0EDCE84545E8DCE845E8DCBE -S21401E9600E35A235DCE833131313339FC513373F37 -S21401E9705374595474D1203808543B54540000360B -S21401E980446DCB482D10A62F0C69690C4444E91E32 -S21401E9901E1EAB64D1FBE35B6779797979C80D40BC -S21401E9A0E84113797676797676767679797976404E -S21401E9B076E2407E7E40E2E240404040E231E23193 -S21401E9C04024FEE63232818181818181ED367036C6 -S21401E9D04FCD3BA94F7881E68181818181818181FB -S21401E9E081818181818181E6E6E6E6944242B16BCE -S21401E9F0305DB8175D803131317E6660AC3224946B -S21401EA0071E80E0E87870E0E0E0E350E0E0E0EDCFC -S21401EA10E8454545E8E84545DC0E353535DCDC138B -S21401EA20133113339FC5FB3F37BB5974772BD1B3D3 -S21401EA305438543B083870707070366936690BEB81 -S21401EA40BE0C69690C6D0C0C1E1E4464B037FBD1FC -S21401EA502B2B2B79792BC80D0D5ED713797676790A -S21401EA6076767676797976404076E2404040E2E204 -S21401EA70E240404040E2E2E231E203AC948132817E -S21401EA8081818181812236701F364F4F4F4F1FEC97 -S21401EA90ED81ED81EDEDEDED8181818181818181D8 -S21401EAA081E6E6E657E4C3716E411717177F80319A -S21401EAB03131791AFE6A2424942CDC0E0E0E414163 -S21401EAC00E0E0E0E0E0E0E41DC45454545E845453B -S21401EAD045E8410E0E0E9FDC13131313339FFB3FC5 -S21401EAE0E32B38385B2B2B20121219543B08777016 -S21401EAF07000CB6D0C36CB69243F72CF690C0C6964 -S21401EB000CE964D82CE3B1032BC8C82B79792BC840 -S21401EB100D0D791331797676767676767679767600 -S21401EB207640E2E2E24040E23131E2404040E2E259 -S21401EB30E2E2317E8C1AE68181818181ED819070DD -S21401EB4070701F36363636367069ED81EDEDEDEDB7 -S21401EB50EDEDEDEDED818181818181E6E65760C3C2 -S21401EB60375D5D6E6E477F063131E2B4601A66240A -S21401EB70329433870E0E8741410E0E0E0E0E0E0E88 -S21401EB80DCE845E84545E8453145E8410E0E0EDC32 -S21401EB90DC1313131333FB3FFC037474B3D1772BCD -S21401EBA074547774543B3B777070000C6D36363670 -S21401EBB0702D6F2E78CD0C69690CD3D80FE32C031A -S21401EBC0C877C8C87979792BC80D0D0D797979760A -S21401EBD076767676767679797676E2313131E2E254 -S21401EBE0456E45E2E24040E23131E231E2AB6A9401 -S21401EBF0ED81EDEDEDED81737070701F1F1F1F1F0E -S21401EC00707000EC81EDEDEDEDEDEDEDEDEDEDED82 -S21401EC1081818181E632E696C3100E5D065D476E00 -S21401EC200631317EBEE4AC248C3266E80E0E418796 -S21401EC308741410E0E0E0E0E0EDCDCE8E845E8E8D4 -S21401EC40453145E8410E0E0E5DDC13131313B13F3B -S21401EC5065B077742BF2D12B77385938123B54CDE7 -S21401EC603870707070487070703669D3A6A678696F -S21401EC70690CD3BFFBE3D864C877C8C8C87979796B -S21401EC802BC8C80D0D0D76797679767676767679F7 -S21401EC90317931313131313145276B453131E2E25C -S21401ECA031313131313134901A81EDEDEDEDEDED4B -S21401ECB07370007070701F7070707070009181EDCD -S21401ECC0EDEDEDEDEDEDEDEDEDED81818181E6E62C -S21401ECD060C3FC8730315D476E80313176ACFE6AA9 -S21401ECE0248C57BE450E0E41878741410E0E0E0EEF -S21401ECF00E0E0E41E845454545133131E8DC0E5D03 -S21401ED00DE5D13131379F2EBD22C2B19742B5BD126 -S21401ED107777D17454545454CD5470707000007089 -S21401ED2070706944E9D3A6A67869D3BFBE66E5BF0D -S21401ED30BB1E7777C82B79797979C80D0D0D0D76BD -S21401ED407976797976404076793131313131454578 -S21401ED504517270645313131E23131313131E2E2B1 -S21401ED6077576AEDEDEDEDEDED22480070707070AD -S21401ED707070707070707097ED2222222222EDED75 -S21401ED80EDEDED818181E697E972C3A6314531301B -S21401ED906E418031E2D8601A5724249453E80E0E4F -S21401EDA041414141410E0E0E0E0E0E0EDCE845139A -S21401EDB0134513313145E8416BDEDC13317933EA13 -S21401EDC0D20FB32BC87774B32BBB772B7454545420 -S21401EDD0CDCD4E7070706970707048692DE90C2D3C -S21401EDE05A2EE1AEBE24BF78BB1E1E1E77C87979A7 -S21401EDF0797979C8C80D0D0D767676767676407671 -S21401EE00767931313145418745411787454531315D -S21401EE1031313131313131E2E240AE1A32EDEDEDD0 -S21401EE20EDEDEDCB007070707070707070707000EA -S21401EE30ECED90909022222222EDEDEDED8181CA3B -S21401EE401F0859602E403131458706313140BE607A -S21401EE501A32E124945B87410E41878787410E0E63 -S21401EE600E410E0E0EDC4513131313313131454599 -S21401EE7041DE5DE813313352D20F33B32B19777469 -S21401EE8038BB2B3838385454CD3B541E4870000CD0 -S21401EE904469363636CFCB69CFE9E1A6EB6FAE448F -S21401EEA0E9BB1E1E1E77C82B79B37979C80D0D0DE7 -S21401EEB00D767976767676407631131313E8176EEB -S21401EEC0E845064545E845313131E23131E2E2E2D5 -S21401EED0E2E230B3EDACEDEDEDEDEDED4A00707034 -S21401EEE070707070000070707070FF22909090903B -S21401EEF090222222EDED819100A95459962E40319F -S21401EF0031313131313176ACFEAC24E132571387E1 -S21401EF10414141878787410E0E4141410E41E845F7 -S21401EF20131313133131313145410EDCDC1333E356 -S21401EF30D20F3333B32B2B77777777B3BB121254B9 -S21401EF4054CDCD54CD4870700069440C69CB36362B -S21401EF5036694472106610A6BEF572BFBB2B77C821 -S21401EF602B797979C8C80D0D0D0D79131367132008 -S21401EF705B9FAFAF9FDC17AA8745453131F6063157 -S21401EF8031E2E2E2E231E2E2E2E2E2E8F3E55757B9 -S21401EF9022EDED22ED63007000000000000000008D -S21401EFA00070000722737373739090222222ED7310 -S21401EFB07070A93B5996A640313131313145E2D8BE -S21401EFC0FE1A94E1E132BE454141414187878741BE -S21401EFD0410E41414141DCE8131313131331313122 -S21401EFE03131E8DCDCE8C552D2B1133333B32B2B15 -S21401EFF07777C8C87479E8125454CDCDCDE9690045 -S21401F00070700036D30C6DCB3669D3AEA653AEE521 -S21401F010722410A610E3E30FB1B1B1AFAFF2F25B09 -S21401F020F2F2AF0F930F0F0F0FB1AFC533E86EAA11 -S21401F0300E45453145F606313131404040E2E2E2C7 -S21401F040E2E2E2E2313041AEAC8122ED222290488A -S21401F05000000000000000007070700015737373EC -S21401F06073737390902222EDEC00701F3B5960661B -S21401F070403131313145451124FE1A32E1245753CE -S21401F080458741414187878741414187414141DC6D -S21401F090E84545131313133131313113E8DC9F5220 -S21401F0A0D20F79B33333B32BC877772B2BC86B7951 -S21401F0B05454CDCDCD4EE9360070707000362D2DEE -S21401F0C02DCBD3AEA624AEE5ABE9E944BF725371AE -S21401F0D037E3CECECECEE33737FBFB0F0F938E9FB3 -S21401F0E0336779797979E8275D131313314531E26E -S21401F0F0313140404040E2E2E2E2E2E24040E25D9D -S21401F1002C222E8C222290EDCA0000000000000066 -S21401F1100000000000701C7373737373737390EDBB -S21401F120890070701F3B12E4714031313131314535 -S21401F130406AFEAC24E124945B4587414141870641 -S21401F140878787DCE887DCDCDCE84545454545877D -S21401F150453131313113C552D20F1379B32020B363 -S21401F1602BBB7777B3B3DCDC124E54CDCDCDE9CFD4 -S21401F17048707070707000CB692D2D78662478BF4A -S21401F180E5BBD36DE92DE91E1E1E2BD1202020D113 -S21401F190677979797913C5E879767640767979E869 -S21401F1A0E813313131314040E231E240404040E243 -S21401F1B031E2E2E2E240E29F4C85BFE69490909015 -S21401F1C09073700000000000000000000000006363 -S21401F1D07397737373737373EDEC0070701F08BBD2 -S21401F1E0422CE2313131314531D11A1A94E1E12410 -S21401F1F0571306E887414187060687E8E8E8DCDC1E -S21401F20041DC45454545455D16453176767613E341 -S21401F210D20F137979B3131379BB7777BBB37979A7 -S21401F2201E4E4E54CDCD0CCD697048487070704856 -S21401F23048362D78716678D3444444BB442D6D6DB1 -S21401F240E9E91EBBC879B37979C80D0D0D7613DCD3 -S21401F25013317979767979797931313131314040A3 -S21401F2604040E2E240E2E2E23131E240E231DC3CBF -S21401F2704C350E877894E673907390FA0000000080 -S21401F28000000000000000000773979797737373E0 -S21401F2909073707070701F080B42673131313131D5 -S21401F2A045E2E1FE1AE6DBE1325A3106E8DC878701 -S21401F2B006060606E8E8E8E84141DCE8454545F685 -S21401F2C0DEF63176767679E3EBB179797979B3B38F -S21401F2D0B3C8777777772B771E4E387754CDCDCF57 -S21401F2E0690C7048487070702D69CBD3DBE3AED3E0 -S21401F2F00C44446464D36DD36DE9E9772B2B2BB3AF -S21401F300792BC80DC80D79E8D7E8E8797676767650 -S21401F310797979797976E240404040E2E2314531C7 -S21401F3203131E24040333C957DDC870E457E896A6B -S21401F330ED73737373EC0000000000000000000022 -S21401F340004A97FF97979773739063007070701FCA -S21401F35008941A4031313131314576941AAC24E1A2 -S21401F360E157E13106E8E887DC06E8E830E8E8E856 -S21401F370E8DC4141E845E841DEDE4579764079E35F -S21401F380EBB17976762B2B792BC8777477777777ED -S21401F3907738E91E64E9CFCFCF0C0C704848704827 -S21401F3A0700C6DEC89100B78696944BFBF446DBB66 -S21401F3B0AB6DE9E9BB642B2B79792BC8C8C80D79ED -S21401F3C0E8418713797976767676767679767676E3 -S21401F3D0407E7E40E231458731E2E2E2137D524CC7 -S21401F3E09F13870E13E21168FF6A227373737315F6 -S21401F3F000000000000000000000EC971CFF97973B -S21401F4007373904A007070701F4EE453E2133131EB -S21401F410311331D16A1A6A8CE12494B431E8E8E8F0 -S21401F420DC8706E8E8E8E8E84545E8DCDCE8454549 -S21401F43016DE4131790D79E3EB2C7676C8C87777FD -S21401F440777777747477777774BB1EE9E9640CCFA6 -S21401F450CFCF0C69483648484848360CCA24247829 -S21401F4602D6969D3BFD3E944D1641EE9E9772B2B13 -S21401F4702BB32B2BC8C80D0D314141137979767604 -S21401F480764076767676797979407E7E40E2454595 -S21401F49031E231137D52953513E2458731E2404022 -S21401F4A01168739473977397971500000000000016 -S21401F4B0000000EC971C1C9797977373CB00707035 -S21401F4C07070E1E476313131313145E2F51AACE65E -S21401F4D0DBE12494D13E45E8E8DC87E8E845E80628 -S21401F4E0E8E84545E8DCE84587DEF61379767937BE -S21401F4F0FCB00D0D0D747477777777747474777725 -S21401F500BB77BBBB380CE969CFCFCF0CCF483648A9 -S21401F510CB48CBCB699157892D0C696944BF44E927 -S21401F5204464BB1E1E1E1E77772B79792BC8C80D27 -S21401F53076E8414113797976404040767676797956 -S21401F540313176404040E2E24031337D5295A0139E -S21401F5503131E231E240404011401112225773FF2F -S21401F5609797974A0000000000000000EC971C1CCB -S21401F570FF979773974870707070CF60664013312D -S21401F5803131314540E6ACAC24DBE132E6E24545BB -S21401F590E8E8DC8706E84545E8E8E84545E8E8E8C0 -S21401F5A04506E813317667E3FCB0747777747474B4 -S21401F5B07777777774747438772B77BBABBBE9CDE5 -S21401F5C069CFCFCFCF696936CBCB696D69691CE648 -S21401F5D091EC69690C78E5D1AB6D6D1E64641E1EF5 -S21401F5E01E772B792B2BC8C80D79305D41137976A0 -S21401F5F076404040767676797931317940404031AF -S21401F600139F3C524C9F31E231313140404040E241 -S21401F6103111404011122257731CFF1C97631500CD -S21401F62000000070004A1C1C1C1CFF977397487052 -S21401F63070700090422B31313131313131B36AACC7 -S21401F6406AE1DBE1572411454545E8DC8706E845D4 -S21401F6504545E8E84513E8E8E81331315E7667E3A7 -S21401F660FC5B0DC8C8C80D7777777777777774779F -S21401F67077772BBB7764BB1E0CCDCFCFCFCF69CBB3 -S21401F6804869EC432ACBEC97ED78D3696969BFE505 -S21401F6905BC5BBE9BBD1641EE91E772B797979C8B6 -S21401F6A00DC85E41F341137676404040404076797E -S21401F6B031317979404079C57D95957DDC79404039 -S21401F6C0E2313131404040E245451140404011129F -S21401F6D07357971C1C1C1C1C91EC48000000911CC5 -S21401F6E0891C1C1C1C971C7070700091425A7E313C -S21401F6F03131313131E2F51AAC57DBDB8C94F1E272 -S21401F700314545E8E84187E845314545E845311347 -S21401F71013133131317620E3FCB046C8C8C8C8C8D7 -S21401F720C8C8C87777777738772BBB777774BBBB32 -S21401F73013E969CFCF4F69D3480C0C434D69CBEC25 -S21401F74097902D0C0C782DD3E5D825201EBBD1AB78 -S21401F750E94EE97779797979C80D765E7CF34113BC -S21401F76076764040404040767979767913330F9526 -S21401F770524C8E87457E7E404040E231E2407E40DC -S21401F780E231404040404040E212FFE6731C1C89D3 -S21401F790891C1C63FA4A07898989891C1C1C971CC9 -S21401F7A0700070071A1A74313131313131314066C7 -S21401F7B0ACAC24DBDB246AD131313145E8E8D7E84B -S21401F7C0E845453131E845315E5E5E7976765BFC2B -S21401F7D052D846747446C8C8C8C8C8C877777777F9 -S21401F7E074BB2B7777777477DCDC1ECFCFCF4F696E -S21401F7F0D30C692D4D2DCBCBEC97E1D3690CAEBF65 -S21401F8002D642FAF25641EBB1EE9E91E7779791397 -S21401F81013790D765E7CF37C137976400D0D0D40E1 -S21401F8204076135B0F526CCEB133138787E27E7E30 -S21401F83040404076E240407E4040407E404040406E -S21401F8404040E268918173891C1C8963636363632A -S21401F8506389891C1C1C1C1C97CBCB89E66078111C -S21401F86031313131313131B36A6A6A8CDBDB329442 -S21401F8707931313145E8E8D7E84545453131315EE2 -S21401F880315E5E5E79765B65E320C8467474747794 -S21401F890C8C8C877777474BBBB7477BB771E777498 -S21401F8A0790EBB640CCFCF36696948362AD3CB486C -S21401F8B048691C2478696D78D30CBFE55B25D86D43 -S21401F8C0E9E90CE91E7779DC5DE8790DC85E413D12 -S21401F8D05DE87640400D0D4079F2FB526552935B30 -S21401F8E0797E40E8873140407E4040404040407E3F -S21401F8F07E7E40407E404040404040401134D373BD -S21401F9007363FA07CACA2D2D2D2D2DCACAFA636351 -S21401F910FF73977322FE973431313131313131E241 -S21401F920B4AC6A94DBDBDB57E6113131313145E8A3 -S21401F930E8E8E845453131313131315E7979F265B2 -S21401F94037B37676C8747474747474743838383807 -S21401F950BBBB38747774C8C8772B1E0C44BBCFCF9B -S21401F960360C0C48690CCB484848CB89E691690CA3 -S21401F97078690C44E55B5BC5BB0C0CE9E91EAB334F -S21401F9806B4179797976E87C3DF3E879797933AF1B -S21401F990FBCE52CE0F5B3176407E7EE213E24040D4 -S21401F9A0407E7E40404040407E7E7E407E7E7E7E23 -S21401F9B040404040E2117E5969D338744646686833 -S21401F9C002020202DD464674E9CAFAFF221A90686C -S21401F9D0E2E2313131313145405AACAC32F1DBE152 -S21401F9E094E1113131313145E8E8E8E85E313131F1 -S21401F9F03131315EB379B1657176C8C8C8C846740D -S21401FA007474743838387777387777381E77C887BC -S21401FA102B1EE90C0C69440CCBCB692D0C484869AC -S21401FA2048487070CA5A5AAE0C78690C44E55B5B5C -S21401FA30C5D16D1E1E7777136B5D13797931E84159 -S21401FA403D7F28930FFBE3E3E3FBF2137976404017 -S21401FA5076407E347E40407E7E7E7E7E40407E4086 -S21401FA60407E7E7E407E7E7E7E7E4040E20D12128D -S21401FA7046DD461254CDCDCFCFCF4F4F4FCD545943 -S21401FA8046DD5FC938891C34E240E231313131311B -S21401FA9031766A6A6A24F1DB8C6AB4E2313131313B -S21401FAA0E8E8E8E85E313131313131797913FB65C7 -S21401FAB02CC8C8C8C8C8C84646467774743838774C -S21401FAC01E381E38381E770E0E1EE90C0C69696941 -S21401FAD069CBCBCBBB690C48CB0C70707069CAED97 -S21401FAE06590CA690C44D1D1D825C5BBBB2BB313CD -S21401FAF01616136767202528ADB6F0F0214C7DAFAA -S21401FB00D1790D0D0D7679797676400D340D40401C -S21401FB107E7E7E7E7E4040404040407E7E7E7E7E73 -S21401FB207E7E7E40E26874DDDD744ECFCFCFCFCFD0 -S21401FB30CFCF363636A9A9A9A9A94F5474C95F747F -S21401FB401234E2E23131313131E2D8AC6A94DBF180 -S21401FB50DB2494B3313131313131E8E8E85E3131BB -S21401FB6031313179761337FCF276C8C8C8C8C87700 -S21401FB707477467774383838383838383838381320 -S21401FB80B52B6DE90C0C6969CFCBCBCBCB44CB69DC -S21401FB90E9BB1E70707069366DF15A5AE12CA0B03F -S21401FBA0E5B4C7285BE5B45B6E6B8E8E934C4C2137 -S21401FBB0B6B6AD287FF34113400D0D0D0D0D7676CB -S21401FBC0797676400D340D40407E7E7E7E40404004 -S21401FBD04040404040407E7E7E7E7E7E7E114E745A -S21401FBE012CD5454CDCDCFCFCF4F4F4F1FA9A9A97A -S21401FBF0A9A93B3B3B3B5412765E1934E2E2313114 -S21401FC003131405A6A6AE6F1DBDB32667631315FC2 -S21401FC103131315EE85E3131315F76767620E31040 -S21401FC205B76C8C8C8C8C87774747474747438129C -S21401FC304E38384E4E3838776E331E44E90C0C4435 -S21401FC40E9CBCBCBCB36E9484869E94470707036CE -S21401FC5048D3D3CB78533C4C71BEE3F0F0213771D7 -S21401FC608E6E8E8E0F0F93C725417C7C7CF3F341FD -S21401FC7013760D0D0D0D0D4076797676407E340D9A -S21401FC8040407E7E7E7E7E40404040404040404038 -S21401FC907E7E7E7E7E7E40404FCFCD544ECDCDCDF6 -S21401FCA0CFCF4F4FA9A9A9A9A9A9A908083B545480 -S21401FCB05912465E767E3131313131766A6A6A246E -S21401FCC0F1DBDB942411315F5F5F31315E135E5EE1 -S21401FCD0315F7676765B1037D1762BC8C8C8C8C830 -S21401FCE0777474383874383812545454544E38383B -S21401FCF02B13E9BB6D0C0CD3446DCFCBCBCB360CA1 -S21401FD00707069CB384870707070363648CBAB036C -S21401FD10BFAEBF5B8EAFAFAFD12B2BABB320D741FE -S21401FD20D75E315EE8417CF341D731400D0D0D0DB4 -S21401FD304076767676400D343440407E40407E7E76 -S21401FD4040404040404040E2407E7E7E7E7E7E4097 -S21401FD50400D4FCD541254CDCDCFCF4FA9A9A9A94F -S21401FD60A9A9A9A908083B5454596874C974403113 -S21401FD70313131E2D8AC946ADBF1DBE16AB411319E -S21401FD805F5F5F5F315E135E3176767676AFFC0F2E -S21401FD90797676C8C8C8C819777474747474743858 -S21401FDA012545454545454381E1EE90C6D0C69698F -S21401FDB00C0C69CBCBCBCB360C707048CBE9CB00A7 -S21401FDC07070696948690C2D2D6DBF1EB3641EBB2A -S21401FDD06464C87777C85E2013B3C80D0D7631D733 -S21401FDE07C7C41E876400D0D0D4040767676400DE0 -S21401FDF0343440404040407E7E40407E7E7E7E40A1 -S21401FE004040407E7E7E7E7E407E1134CF4E4E1E2A -S21401FE104ECDCDCF4FA9A9A9A9A9A9A9A908080876 -S21401FE2054545968DD3868E2E231313140E16A6A9A -S21401FE3057F1F1DB246AB35F315F5F5F5F315E5E6E -S21401FE405E31767676B1FCB179767976C819464612 -S21401FE507474743838747438125454545454545452 -S21401FE604EE90C0C0C69696969690CCFCBCBCBCB1D -S21401FE703644707070700C360070702D0CCBD30C3D -S21401FE8069CB0C78BBD16D6D441E77C8C8C8C82B2A -S21401FE902BC8777468340D7631417C41D731760DA5 -S21401FEA00D0D0D40404040400D343440407E4040F2 -S21401FEB07E7E40407E7E7E7E404040407E7E7E7ED0 -S21401FEC07E4040E2310D4E676738CDCDCF4FA9A9B0 -S21401FED0A9A9A9A9A9A9080808545468465468E21A -S21401FEE0E2313131314094946A24F1F1DB32947677 -S21401FEF05F5F5F5F5F5F315E5E5E5E765EFB105BDF -S21401FF0076795E7979C846747474747438123838A0 -S21401FF101254545454CD54544E4E0C0C69690C6909 -S21401FF2069690C440C36CBCBCBCBBB000000000C74 -S21401FF30367070702D0CCBD32D69690C0CBB414407 -S21401FF40E96D1E1E1E2BC877C82B77121212683455 -S21401FF500D76E8414141E831760D0D0D40404040B7 -S21401FF60403434347E7E7E7E7E7E7E7E7E7E7E7EC7 -S21401FF707E7E40407E7E347E347E4031454531DC97 -S21401FF80172B4E54CDCD4FA9A9A9A9A9A9A9A9084E -S21401FF90080854B2B25434E2E2E2E23131E2D16A04 -S21401FFA0576ADBF1F1DB325ADD5F5F5F5F5F5F5FF0 -S21401FFB0315E5E5F13E3E320767679797976C8C899 -S21401FFC046747474383812125954541254CDCDCD27 -S21401FFD0CD544E0C6969E90C696969CBCBCBCBCBA7 -S21401FFE0CB366944700000000C367048702D0C3614 -S21401FFF06DE96969690C20F3D1E90CE91E1EBB6441 -S2140200001E77B3C812121212340D0D31414141D778 -S2140200101379400D0D0D0D40400D3434347E7E3480 -S214020020347E34347E7E7E407E7E34347E34343477 -S2140200307E347EE24541E887B533E91254CDCD4F92 -S214020040A9A9A9A9A9A9A9A9080854235412111152 -S2140200501111E2E2313140E16A9457F1F1DBDB94AF -S214020060F57E315F5F5F5F5F5F315E31C5FC375E95 -S214020070767676767676C819C877747438383859AC -S2140200805959543854CDCDCDCDCD54CD6969690C6E -S2140200906969696969690C69CBCB480C4448700088 -S2140200A0000C36484848CBCBCBD36D6969366944D9 -S2140200B020C564E9E91EE91E2BABAB2BB374121202 -S2140200C01268770D79E84141D7E83176400D0D0D7B -S2140200D00D400D3434340D0D34343434347E0D7EFC -S2140200E07E407E3434343434347E7E40E2065D0E06 -S2140200F0B55DE24E5454CDCD4F4FA9A9A9A9A9A9E1 -S2140201000808A5A56D67E21111111111E2E231404E -S21402011057576A240BF1DBDB6AD8115F5F5F5F76A5 -S214020120765F5F31B1EA0F79767676767619C819F8 -S21402013019747474383812595959545454CDCDCD53 -S214020140CDCDCDCDCD6969CFCF6969696969690CB5 -S2140201506936CB480C4470487070CB4848CBCB48C5 -S21402016070CB44440C69366D2D6DD1D7BB6D1EE93C -S2140201701E67DC2BBBC87712121212740D7679E852 -S214020180D7D7E813794040407E7E407E34347E40A6 -S2140201907E343434347E7E407E34681268347E3454 -S2140201A034347E4031E8415DB56B31E234CD54CD16 -S2140201B0CD4F4F4FA9A9A9A9A908080843180513A6 -S2140201C0111111111111E2E2646AE694DB0BF1DB04 -S2140201D08C94195F5F5F5F7676767631FB65AF76D5 -S2140201E07676767676C819191919747438383812EC -S2140201F054545454CDCDCDCDCDCDCDCDCD0C0C0C4F -S214020200CB690C69CFCBCB690C0CCBCB480CD3009B -S21402021070484848CB696DCB4848CB6D0C69CBCB50 -S2140202206DD3694420D11E1EE92B6E337777771E75 -S21402023012121212680D0D0D7913E8E8E831790DE5 -S21402024068125412595454546834347E7E344040F2 -S214020250126846DD466854687E3434403141F35DA8 -S2140202606B6BE8E24040CDCDCDCD4F4F3B4FA9A9B9 -S214020270080808086D7A189AA0311111111111E2B6 -S2140202807EF56AE6570B0BF1DB2466345F5F5F5F31 -S2140202907676405EE3FC33767676767676C80DC85A -S2140202A076C8197438383812545454CD3B3B3BCD7B -S2140202B0CDCDCDCDCDCD0CE90CCBCBCBCBCB690CFC -S2140202C02D2D693636480C2D70704848CB2DB02A35 -S2140202D0CB36367048363636690C0C690CABD1BB59 -S2140202E0E91EDC33771E771E124E4E121212340DA2 -S2140202F00D0D7913E813C86846DDA1A1D9D9D9A195 -S214020300A1DD026812687E405959A175DF5858D996 -S21402031059127E7EE206F3F35D5DE83140407E547C -S214020320CDCDCD4F4F3B3B4F3BA5083B543BD47AFC -S214020330189ADCE211111111E27EE69457327272BB -S214020340F10BE6E1A45F5F767676402010E3137643 -S21402035076760D0D76760D0D7676C87774121212B5 -S214020360545454CDCD3B4F4F3BCDCDCD0CCDCDE9E6 -S2140203706D2DCBCF6969CBCBCBCB69693636486955 -S2140203806948484836691B012DCB363648704836D0 -S21402039036CB690C0C0C6D64774E772BAB1E1E1E8B -S2140203A01E124E4E121212680D0D0D400D1268A14D -S2140203B0DF5858DFDFDFDFDF5858585858D9025960 -S2140203C0A9A52323A4A175DFDFD968681145F3F335 -S2140203D041E83131407E40125954CDCD4F3B543B1B -S2140203E03B3BA5543B54A5437A189A6131E211115E -S2140203F011112B6A3257DB7272F10B94D8DD5F76DD -S214020400767640AF650F76767676760D4646460D5C -S2140204100D76C8467438125954545454CD3B4F4F37 -S2140204204F4F4FCDCD0CCDCD0C0C6DCF0C0CCBCB96 -S214020430CB696969CB3636483669484848CB438A21 -S2140204404369CB36487070690C0C69D3D3440CE907 -S214020450BB774E4E1E2B1E1E1E1E12124E4E121222 -S2140204607434340D1254A1F7DAF7DFDF757575D9D7 -S214020470D9A1A1A10AD9DF58D90208A923B702A196 -S214020480DFDFD9A15931416E4131E240407E4068FA -S214020490596854CDCD4F5454CDCDCD5454CDCD59AD -S2140204A059D47A1801DCE21111117E726A3257723F -S2140204B02F72F1DB6AC811767640760F65F24076C7 -S2140204C0767676760D464646460D190D74743812C3 -S2140204D054545454CDCD4F4FA94F4FCFCDCD0CCD04 -S2140204E0CDCFCB69CB69CBCB6969CBCB69364848D4 -S2140204F048CBCB4848CB0C056169CBCB484870CB80 -S214020500D3E90C0CD36D440CE91E774E0CBB641E6B -S2140205101E1E1E38124E54127477770D4E74DFDA92 -S214020520DF75755FA1A1A1A1A1A402020202A429FE -S214020530A1D958DFB2A9A5B202A1DFD9A1B2133D53 -S2140205400E3140407E7E400D54025954CDCDA959FD -S2140205505954CDCD545954CD54B277A818821BE2C3 -S21402056011111102ED943232E52F720B24944611CA -S21402057040DD5EE31013DD764076767676464646B6 -S2140205804646460D4674381254545454CDCDCD4F7B -S214020590A9A94F4FCFCDCDCFCFCFCFCB36CB696921 -S2140205A0CBCBCBCB696969CB4848CB484848CB43D1 -S2140205B0A06DCBCB3648487069D3E9E9690C6D4427 -S2140205C00C0CE9774E4E2BAB1E1E77771E1E12546E -S2140205D0121277C8CD46DAD9DD46B25959A5A5A575 -S2140205E0A5A5A5A5A5A5A52323B7A4A1D9DFA1A541 -S2140205F008B2A4A1D9A1B2795D45407E3434400D3B -S2140206005402B25454CD4FA9B25954CD54545954ED -S214020610CD545902E5A8821B31E2111177573232C6 -S214020620DBE52F0B0B325AA440405B653776DD4084 -S2140206300D767676760D46467474747474747438D1 -S21402064059545454CDCDCD4F4FA91F4F4FCFCF4FF6 -S2140206504F4FCBCB36CBCB69CBCBCBCB690C0C0C71 -S2140206603670364870484869436D36CB48484870FD -S2140206707070691EE9690CE9E90C0CE9774E1E2BCD -S214020680BB7777AB771E1E124E1212774E46F7DDF9 -S214020690B25959540808A9A9A9A9A9A9A90808A537 -S2140206A0A5A5A523B70229D9DF46A52329D9A102E4 -S2140206B01231407E347E40683BDD02235454CD1F07 -S2140206C054B259545454545959545459B2DD4D8263 -S2140206D01B31E2E27EAE6AED3272E52F0B7294B403 -S2140206E002760F65AF40DDDD46C9C90D464668B2E3 -S2140206F0B27474686868121212545454CDCDCDCFB9 -S2140207004FA91F1F4F4FCFCF1FCFCB363636CB69E1 -S214020710CB696969CB6969693648484848480070B8 -S21402072036CB484848484870707070CF440C0CE985 -S214020730D30CCD0C3877381E771E1E776477777702 -S21402074012124E741E127546595408A9A908A559C4 -S214020750B2020202B259A508A9A9A908A5A5A5230D -S214020760B729D9D9B25902A1A4B2687E3434684FE7 -S2140207703BA10223A554543B1FB2B25954545454BD -S21402078059B2545454B702A143613111E268225758 -S214020790ED8CE5E572727294D125EAFC137E40DD9B -S2140207A0DD46464676E8D7805E5F68B26859595994 -S2140207B059545454CDCDCDCF4F4FA91F1F1F4FCFE5 -S2140207C0CF1FCFCB3636363636CB6969CBCB3636ED -S2140207D04848484848484800007070484848707082 -S2140207E070701F1F360CCF0C6DBFE9CD0C4E1E3835 -S2140207F04E4E4E1E2B2B77AB77121254684E5F4628 -S21402080054A91F08B2A1DF58585858585858585873 -S21402081058D9A102A5A9A9A523232302A4D9A1B226 -S214020820595423A95454A91F59D90223A5A5A5543E -S214020830A93BB25954543B545459B2593B5423B76A -S214020840DD5F7779E2111E57EDED51BFE572725109 -S214020850E6AFD6F02534DD404668465E62E0E0E06C -S214020860F4C6C6B96859595959545454CDCDCDCF4A -S214020870CF4F4F4F1F1F1F4FCFCB1FCB3636CBCB83 -S21402088036CBCB6969CBCB364848484848484848B7 -S21402089000000000007070707070701F363636CF21 -S2140208A00CD344CDCD0C4E4E124E544E1EABBBBB9B -S2140208B02B741E1254545468A9A954DD75F7F7DF39 -S2140208C075D9A1A1A1A1A1A10A0AD9885858D9020D -S2140208D008A908A52323B7A4A129A402B22354B2C7 -S2140208E0D9D9B223A5A5A5A5541FB2B259A55408B5 -S2140208F0A5A55959B254A5A5B7B7DD7546347E7875 -S214020900578C8C2FBFE5724D8C5A6F217C3D5E341E -S21402091034025E62F4F43D3D3D62625050DA59594B -S21402092059545454CDCDCD4F4F4F4FCF4F361F1F36 -S2140209301FCF3670483636CBCBCB36CB6969CB3633 -S21402094036364848487070704870000000000070E4 -S214020950707070701F1F36CF0C0C6D0CCD5454CDBA -S214020960544E4E5412777777C87712777459543BA1 -S214020970A9545FDFDF75D9A1A1A1A1292929A1A1C7 -S214020980A1A1292929A1A1D958DFDDB223A5A5A5B0 -S214020990080808A559B2DDA1D9A423A5A5A5A5A531 -S2140209A0A5A9A502B223A55408A5A523B2B7B208E5 -S2140209B0A523B7B7DDF7DD0873328C90BFBFBF72D1 -S2140209C0E532E120D7805E46B75F62F4C6623D3DFF -S2140209D06262625050DA50C954545454CDCDCDCFD1 -S2140209E04F4F4FCFCF4F361F1F1F1F7070363636F2 -S2140209F0CB363636CBCBCBCB363636484848704825 -S214020A00FDFA707000000000007070701F1F1F4F0C -S214020A100C0CCDCDCD54544E54CD545454742B2B73 -S214020A207777127477127412A946DF75D9A1A1DD01 -S214020A30DDA1DD020202020202B702A4A42929A154 -S214020A40A1A10AD9D9D9D9A1A1DDDDDDA1A1A1A192 -S214020A500223A5A5A5A5A5A5A5A5A9020223A5A528 -S214020A60230854A5A5B259B259082323B7B7DDDA2D -S214020A7074228C900BABBFBF2FAEE6E54076022306 -S214020A800230F4F4626262626250B9505050F7DF8C -S214020A90A1545454CDCDCD4F4F4F4F4F4F363636CF -S214020AA01F1F1F1F701FCB363636363636CBCB3659 -S214020AB036CBCB3648484848FDFA63007000000043 -S214020AC000007070701F1F1F4FCFCDCDCDCD545478 -S214020AD05454543B3B54122BB3B3C874771212745B -S214020AE074A175755FA1A1A1DD02B223A50808084D -S214020AF00808A5A5A523B7B7B7B702A4A4DDA1A188 -S214020B00A1A1A1A129A4B7B723A5A5A5A5A5A5A579 -S214020B10A5A51F02A42323A5A52308A5A5A523B240 -S214020B2023A4B2A92323B7B7A4D381909BAEBBBF9D -S214020B30BFAEAEE674B223028062F462625050B96F -S214020B40B9B9626250F775A1DDB23B54CDCDCD3B4B -S214020B504F4F4F3636363636361F1F1F70703636B4 -S214020B6048483669693636363636CBCB3648484834 -S214020B701507FAFD007070707000007070701F1F0D -S214020B80A9CFCDCDE94ECD54545454CD3B3B3B1268 -S214020B9077C8D1B379C8741246D9755FA1DD5FA153 -S214020BA0B2A5080808080808080808A5A5A5A5A566 -S214020BB0A52323232323B7B7B7B7B72323A5A5A512 -S214020BC0A5A5A5A5A5A5A5A5A5A5A9B2A1B22323B8 -S214020BD0A5A52308A5A5A5A5B2B223A16808232327 -S214020BE0B7A563ED9797BFBBBFBFBF7232685F30D2 -S214020BF062627CB9B9B9F7F7F7B950B9805FDD021E -S214020C00B2B2233B3B3BCDCD4F4F4F4F36363636F7 -S214020C10361F701F1F7070484836484836364836AA -S214020C203636CBCBCBCBCBCB150763FD150070701E -S214020C30007000007070701F1FA9CF4FCDE9CDCD98 -S214020C40544E545454545454541E772BB379137739 -S214020C5046755FA1A1DDA1DD23080808080808087B -S214020C6008080808080808080808080808A5A5A526 -S214020C70A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A51D -S214020C80A5A5A902D9022323A508A559A9A5A5A504 -S214020C90A523B2B223A1A1A5A5233B7373979744BC -S214020CA044BFBF789090F7F462B9B9F7F7F7F7DA6E -S214020CB0DADAF775C934B2B2B2B2B2A5083B3B3B38 -S214020CC04F4F4F4F4F36363636361F707036487097 -S214020CD0707048484848484836CBCBCBCBCB0C1E26 -S214020CE0ECFA634A480000007000007000707070F2 -S214020CF0CF4F4F4F4F4EE9CD54544E4E545454544A -S214020D005454121277BB2B2B4675D9A1A1A1A1A1CF -S214020D10B2A5080808A9A90808A908080808080822 -S214020D200808080808A508A5A5A5A5A5A5A5A5A51A -S214020D30A5A5A5A5A5A5A5A5A5A908DDDFA4232388 -S214020D4023A5A523B208A5A5A5A5A5B702B7B7A151 -S214020D50D902A52D22971C891E44447844ED72F7C9 -S214020D60B9F7F7F7F7B9DADADFD9A1A468686859EC -S214020D7059592323083B3B3B3B4F4F4F36363636BB -S214020D8036363670707036707070707070484848BC -S214020D904836CB6969690C3EAB91634A480000004D -S214020DA00000000000007070CFCF4FCF4FCD4ECD69 -S214020DB0CD5454544E5454CD3B54544E12127712C2 -S214020DC068DFA146595454CDCD542323A5A9A9A919 -S214020DD0A9A9A9A9A9080808080808080808080867 -S214020DE008A5A5A5A5A5A5A5A5A5A5A5A5A5A508E6 -S214020DF0A9A9B2D9DFA423232323A5A52302A9A543 -S214020E00A5A5A5A5A5B702B2B7DDD9A49173898910 -S214020E1078E944444444ED4475B9F7F7F7DF755F63 -S214020E20A1A402B7B7B2B2595954A5543BA93B3B49 -S214020E30CDCD4F4F36364F1F3636361F701F1F70BA -S214020E407070704870707070484836CB690C69795B -S214020E50F6AE89EC480000000000000000000070BA -S214020E601FCD1FCDCDCDCD4ECDCD5454545454545C -S214020E70543B5454544E121259D968A91F1F1F1FAF -S214020E801F1F1F70A9A5A5A9A9A9A9A9A9A9A9A9AA -S214020E9008A9080808080808080808A5A5A5A5A519 -S214020EA0A508A9A9A9A9A9085402D9DFD9A4232368 -S214020EB02323A5A5A523A40808A5A5A5A5A5A5B78A -S214020EC0B2B2B702591C9789896DE96D44D378226C -S214020ED074DD02DDA1A1A1A1A1DDA4A4020202B2D9 -S214020EE05954A5545408A93B3BCD3B4F4F1F3636A9 -S214020EF01F363636701F1F36367070707070707000 -S214020F007036CB36CB690C778B3391EC48000000F9 -S214020F10007000000000007070CF4F36CDCD4F4EEF -S214020F20383BCD54544E4E54545454545454541284 -S214020F3054DD3B1F1F1F1F1F1F1F1F1F1F70700820 -S214020F40A5A9A9A9A9A9A9A9A9A9A9A90808080892 -S214020F50080808080808A508A9A9A5B2DDA1A1D90C -S214020F60D95858D9A1A42323232323A5A5A5A5A4EC -S214020F7059A9A5A5A5A5A5A5A523B2B2B70C97897B -S214020F808978E9E96DD3E9891C02DADFA1B2232365 -S214020F90B7B7B723232323545454543B3B3BA93BB4 -S214020FA03B3B3B4F4F1F1F1F361F1F361F707036AF -S214020FB03670704870707070487070CB69CF696D0B -S214020FC006F644693670000000007000000000005B -S214020FD00070CD361FCDCDCDE94ECD4ECD545454F6 -S214020FE0545454545454545454593B1FA91F1F1F4D -S214020FF01F1F1F1F1F1F1F1F70A9A5A9A9A9A9A9E7 -S214021000A9A9A9A9A9A9080808080808080808A9F2 -S2140210100802A1D958585858DFDFD9D9A1A42323EA -S214021020232323A5A5A508A502021FA5A5A5A5A558 -S214021030A5A5A52346E5FA97898978E9E9E96DE940 -S2140210401C91082302A1D9A1A4B223A5A5080808C9 -S2140210503B5454CD3B3B3BA93B3B4F1F1F1FA94F65 -S2140210604F70701F70707070367070707070707025 -S2140210707036367036690CD3678B7969CB48700048 -S21402108000000000000000000000704F1F4FCDCD92 -S2140210901ECD3B54E93854544E545454545454546C -S2140210A0595454A9A91F1F1F1F1F1F1F1F1F1F1F91 -S2140210B01F1F70A9A5A9A9A9A9A9A9A9A9A9A9A9EA -S2140210C0A9A908080808A908DDD9D9D9DFDFDFD918 -S2140210D0D9D9D9A1A102B723232323A5A5A5A5085B -S2140210E02302A1A908A5A5A5A5A5A5A544E68963E9 -S2140210F08989892D0C0CE96DE9FF1E0AA1DDB2B7BC -S214021100B202020202A4A402B259A53B08A9A93B54 -S214021110A9A93B54B2DDA1D98888294F701F7070E7 -S2140211207070704870707070707048CB3636697820 -S214021130E5063E0C69CB4870000000000000000087 -S2140211400000707070704F4F4E1ECDCD4E4EBBBB22 -S214021150544E54545454545454545408A91F1F1FE4 -S2140211601F1F1F1F1F1F1F1F1F1F1F1F1FA908A98B -S214021170A9A9A9A9A9A9A9A9A9A9A9A9A9081F5953 -S214021180D9A1A1D9DFDFDFDFD9D9D9A12902B723B7 -S214021190232323A5A5A5A5A50823B2A1B2A9A50820 -S2140211A0A5A5A55451E6BF69FF9189910C0C0C2D9B -S2140211B02D6D1C748858585858880A0AA1DD02B248 -S2140211C0B2DDD988D9D90AD9D9D9D9888888888860 -S2140211D08888888829701F70707070707070707040 -S2140211E07070487036692D8989C8E20C69CB484808 -S2140211F07000000000000000000000707070703682 -S214021200CD1E383B1EAB1E386438545454545454C6 -S214021210545454CDA9A91F1F1F1F1F1F1F1F1F1F76 -S2140212201F1F1F1F1F1F1F08081FA9A9A9A9A9A9B9 -S214021230A9A9A9A9A9081F5958D9D9DF58DFD9D908 -S214021240D9D9A1A1A4022323232323A5A5A5A5A515 -S214021250A50823B2DDA1A908A508A544ED8C380887 -S214021260CA1C9189910C0C0C2D0CD3632329A1D98D -S214021270D988888858585858D929B25902A1D9D934 -S214021280D90A0A88D90A0A0A0A0A0A0A0A0A4F70F0 -S21402129070707070707070707070704848CBCA89C9 -S2140212A0912D0D4ECBCB364870700000000000002A -S2140212B000000000007070361FCD38CD77791EBB57 -S2140212C01EBBAB54545454545454543B3B08A9A923 -S2140212D01F1F1F1F1F1FA9A91F1F1F1F1F1F1F1F03 -S2140212E00008A9A9A9A9A9A9A9A9A9A9A9A9A90852 -S2140212F088DD5408085946D9D9A1A1A1A4B723B7B5 -S214021300232323A5A5A5A5A5A5A50823B202D9B280 -S2140213101F085451EDBF08A5A963899163CACD0C75 -S2140213200C2D0C9191B7A4A4A1A10A0A0AD9D9DF5F -S214021330DFDF5858D9DD596829A1A1A10A0A0A0A8D -S2140213400A0AA1A1A1A1DDCF70367070707070700C -S2140213507070707048EC9163CA69CDCDCBCB3648BD -S21402136048700000000000000000000000007070DE -S2140213704FCD4F4F4E0EC8541E1E1E643854545442 -S214021380545454543B3B08A9A91F1F1F1F1F1F1F5D -S214021390A9A91F1F1F1F1F1F1FCDA908A9A9A9A9F9 -S2140213A0A9A9A9A9A9A9A91F02A5001F1F1F1F1F36 -S2140213B0A9DDD9A102B7232323A5A5A5A5A5A5A581 -S2140213C0A5A5A50823B2B2A10A54D3E6904E0808F2 -S2140213D008CBFF9191630C690C0C2D0C632DB7A4FE -S2140213E02929A1A1A1A1A1A1D9D9D988D9DF58D9E2 -S2140213F0B25929A4A429A1A1A1A1A1DDDDDD4668D7 -S2140214003B703670707070707070707069079107FC -S21402141015484836483648484870700000000000B4 -S21402142000000000007000707070CDCDCD33DC126D -S214021430124E4E4EABBB545454545454543B540860 -S214021440A9A91F1F1F1F1F1FA91FA91F1F1F1F1F7D -S2140214501F1E1312A9A9A9A9A9A9A9A9A9A9A91FC1 -S214021460080800A9A9A9A9A9A91F1F02A1B2232396 -S21402147023A5A5A5A5A5A5A5A5A5A5080823B2B239 -S214021480A48093E67808080808084A1C91639169C4 -S214021490690C0C0C2D63CFA5A52302A42929A1292A -S2140214A0A1A1A1A1D988DFD9DF5802CD6859545429 -S2140214B0545459595959595954CD701F70707070F7 -S2140214C0707070CB4AFA91EC4870704848484848A9 -S2140214D04848707000000000000000000000000095 -S2140214E0007036364F1E7977774EE954541EAB5449 -S2140214F0545454545454545408A9A91F1F1F1F1F50 -S2140215001FA9A9A91F1F1F1F1F1E3367794F08A9EE -S214021510A9A9A91FA9A9A9A91FA91F1F1F1F1F1F84 -S2140215201FA9A9A91FDDDD232323A5A5A508A508B4 -S214021530A5A5A5A5080823B2B25BEACE5EA9A908AE -S2140215400808A963639163CA69690C0C0CCA63A98B -S214021550A508A5A5A5B2A4A4DDDDA1DDDDA1D9DF80 -S214021560DFD9D9DF68CD12B2B25959595454CDCD0C -S214021570CDCDCF70707070707070CB4A0707ECCB11 -S21402158048707070704848484848484870000000E4 -S2140215900000000000001F000000704F4FCD1E54D8 -S2140215A04E774E4E4E54383854545454545459541C -S2140215B05408A9A91F1F1F1F1F1FA9A9A91F1F1F64 -S2140215C01F127913133112A9A9A9A9A91F1FA9A924 -S2140215D0A91FA91F1F1F1F1F1F1F1FA9A91FA9A1E0 -S2140215E0B2A5A5A5080808080808080808080823D8 -S2140215F01966A65BA10A29081FA90836FF919163FE -S2140216000C69EC0C2DEC91FA08A5A5A5080808A50E -S214021610B2020202DDDD4646A1D9DFD9D9D954CFBE -S214021620CD54545959595959595954CD70707070EE -S214021630704815CA074ACB70000070707070484830 -S2140216404848484870700000000000000000007023 -S21402165070000070363BCF4E3B541E384E4E541E22 -S2140216605454545454545459593BA508A91F1FA9FD -S2140216701F1FA9A9A9A9A91F1F12340D791313792F -S214021680A908A9A9A91F1F1FA9A91FA91F1F1F1FB4 -S2140216901F1F1F1F1F1FA91F54A4A5A5080808085F -S2140216A00808080808A508CDF1A653740229A10A5D -S2140216B0A1231F1F4AFF9163916969EC0C2DEC630D -S2140216C0CA08A5A5A5A5A53B3B3B54B2026846DDC4 -S2140216D06859DDD9DFD9D9A1CFCFCFCDCDCDCDCDEC -S2140216E0CD5454544F7070704815CA074A1570701E -S2140216F07000707070707070484848487070700063 -S21402170000000000000000000000000000701F4FF4 -S2140217104E3BCD3838544E5454544E54545454546C -S214021720595959A908A9A91F1F1F1FA9A9A9A91F65 -S214021730A9686868340D791379120808A9A9A91F3F -S2140217401F1F1F1FA91F1F1F1F1F1F1F1F1F1F1F18 -S214021750A91FB2B7A5080808080808080808084418 -S214021760E66664592302A4A10A0A29A4A9FAFF6319 -S21402177063076969ECEC0C0C63690808080808083A -S2140217803B3B3B3B3B59686868DD685446D9D9A168 -S214021790D968CBCDCDCDCDCD54CDCDCD544F703631 -S2140217A0ECCA074A154870707070007070707070DE -S2140217B04848707070707070000000000000007082 -S2140217C01F700000007070704F543BCD38384E4E7C -S2140217D054544E4E595454545959591259A91F1F0C -S2140217E01F1FA9A91F1F1FA954686868683434768A -S2140217F07979790808A9A9A91F1F1F1F1FA91F1FEA -S2140218001F1F1F1F1F1F1F1F1FA91F3B02A5080800 -S214021810080808083B08545194725923B223B202AE -S214021820A4A1A1A12902ECFF1C63EC6969ECECEC13 -S214021830CA63A9A5083B3B3B3B3B3B3B3BCDCD5458 -S21402184068686846685474D9A1A1A1CFCFCDCDCD22 -S214021850CDCDCDCDCDCD3615CA4AECCB70707070DD -S2140218607070707000707070707070707048707009 -S214021870700000000000000000701F00000070A949 -S21402188070701F1FCD381E384E5454381E54545490 -S214021890595959121212593BA91F1F1F1FA93B590A -S2140218A06868B268686834340D0D0D3112A9A9A9AA -S2140218B0A9A91F1F1F1F081F1F1F1F1F1F1F1F1F34 -S2140218C01F1FA9A91F0223080808083B3B3B78E60E -S2140218D0EDE908A559B22323B202A1A1292929A517 -S2140218E0EC63916969ECECECEC07FA1F08083B3BE9 -S2140218F04F3B3B3B3B3BCDCDCD546868B26868CD91 -S21402190068A1A1D954CFCFCFCDCDCDCDCDCDCD36BB -S214021910EC154870707070707070707070707070C7 -S2140219207070707070484870700000000000000010 -S21402193000707000000000001F70701F1FCD381E60 -S2140219401E38545412BB1254595959595912125925 -S214021950595959595912740D0D68686868683434B3 -S2140219603434340D3179A9A9A9A9A91F1F1F1FA9AB -S214021970A91F1F1F1F1F1F1F1F1FA9A94F3659B2BE -S2140219800808080808E9E194AE3B083BA523B22301 -S214021990A559B2A429292929027069CA6969ECECF9 -S2140219A0ECEC914AA94FA9083B3B4F4F4F4FCF3B18 -S2140219B0CDCDCD54B2B2686854CDDDA1D946CBCFD9 -S2140219C0CFCFCDCFCFCFCDCF70707070707070701C -S2140219D048483670707070707070707070484870DA -S2140219E07070000000000000000000000000000010 -S2140219F0707070701F1F3B3838384E54541277126E -S214021A005959595959126859595959B2B2683468CC -S214021A10C82BC80D68686834343434344013133B1A -S214021A20A9A9A9A91F1F1F1F1F081F1F1F1F1F1FAE -S214021A301F1F1FA94F4F1E0DB23B3B0808AEE69074 -S214021A40E9083B083BA5A55923A523B7B2A4292933 -S214021A502929A9CBCF6969ECECECEC63ECA94FA978 -S214021A604F4F4F4F4F4F4FCFCFCFCDCDCD59B2590E -S214021A70B26868545446A1CFCFCFCFCFCFCFCFCD09 -S214021A801F00707070707070363636364870700090 -S214021A907000707070704870707000000000000077 -S214021AA0000000000000000000701F7070701FA988 -S214021AB03B5454545412123859591212126812686E -S214021AC05959683468680D0D6874C8C8C80D3468FA -S214021AD034343434344031E812A9A9A9A91F1F1F8F -S214021AE01F70081F1F1F1F1F1FA9A94F4F4F1E162B -S214021AF045B254086DEDE6783B3B3B08A93BA5A5ED -S214021B00592308A523B7022929B7A51FCB6915159E -S214021B10ECECECECFA36A9A9A94F4F4F4F4F4F4FBA -S214021B20CFCFCFCF4FCDCD54590254364848485424 -S214021B30CDCFCFCFCFCFCFCFCF7070707070704871 -S214021B4036364F4E4F707000000000000070707006 -S214021B50000000000000000000000000707000009E -S214021B60000000007070703BA9A93B5454545459AD -S214021B70591259596868686868B2B20D763468C8EE -S214021B800D6868680D0DC83434023434343440317C -S214021B9013C8A9A91FA91F1F1F1F1FA9A91F1F1FFF -S214021BA0A9A9A9A9A94F7706B5E8234E97E6510C2D -S214021BB008CD3B3B3BA93BA5A52323A5A5B202B76F -S214021BC008000000000036156915ECECFAFA1F4F03 -S214021BD0A9A9A9A94F4F4F4F4F4FCFCFCFCF4FCF26 -S214021BE0CD59364836CBCB48364FCBCFCFCFCFCFDB -S214021BF0CF3600707070703636364F404036707092 -S214021C0000000000000000707000000000000000ED -S214021C1000000000000000000000007070007070FD -S214021C20A9A9083B545412591238127712687468DC -S214021C306868B2B20D13763476C868B26868340D36 -S214021C4034340234343434407979793BA91F1F1F67 -S214021C501F1F1F70A9A91FA9A9A9A91F1FCDC83197 -S214021C6087F679BFBEEDD3A93BCDCD3B3B08A93B5A -S214021C70A5A5A52308230208000000000000000016 -S214021C800000707070CB151FA9A9A9A9A9A9A94F10 -S214021C904F4F4F4F4FCFCFCFCF591F4836364848BA -S214021CA048364FCFCFCF4F4F4FCF70707070707097 -S214021CB0364F4F349D123670700000000000000050 -S214021CC0700000007070007070700000000070708D -S214021CD00000000070700070701F1F4F3B593838AC -S214021CE0121277127774127468686868B2680D34D4 -S214021CF034767668B2B2680D0D3434343434343403 -S214021D000D4079AFB4081F1F1F1F1F1F1F1FA91FDB -S214021D10A9A91F704F1E317976795BE35ABF4FA986 -S214021D203B3BCDCDCD3B3B4F3BA508A5A5B2230003 -S214021D300000000000000000000000701FA91F70D5 -S214021D404F1F4FA9A9A9A9A94F4F4F4F4F4F36CBA7 -S214021D504F591F483636484848483B36CFCF4F364D -S214021D6036CB48007070707036CF4F129DE24F36F9 -S214021D707000000000000070000000000070704854 -S214021D804870707070000000000000000000000044 -S214021D9070701F1FA9543838383812771274745965 -S214021DA0681268686868B259B2B26834346868689B -S214021DB0C8C80D343402023479F237FC653754A9A8 -S214021DC01FA91F1FA91F1FA9A91F1F4F1E7913791D -S214021DD076D1FB650F1E083BA94F3BCDCDCD4F4FAD -S214021DE04F3B3BA5A559A5000000000000000000DF -S214021DF0000000001F1F1F4F1F1F361F1F363636DC -S214021E0036364F4F36364F363654A9483648484847 -S214021E104848CF1F364F363636CB36007070707055 -S214021E207036CF4E3E9D12363670007000000000AF -S214021E30700000707070484848484848484800009B -S214021E4000000000000000000070701F1FA95474FC -S214021E5074383812741274745959B26868686868AB -S214021E60686868B2B2686868680D79C834342B2C22 -S214021E70E32EFCFB5B7931C8A91F1FA9A91F1FA966 -S214021E801F1F4F1E13453179677165E3D10D744FDD -S214021E9008A94F3BCDCDCF4F4F4F4F3B3B23A90019 -S214021EA0000000000000000000000000701F1F700D -S214021EB01FA970361F1F1F3636363636364F4F3638 -S214021EC0363B0870484848484848361F364F36362C -S214021ED036363600707070701F364F3B409DE2CD2E -S214021EE0364800000070007000707070484848481D -S214021EF0484848151515FD00707000000000007077 -S214021F00707070701F36A9541274747412121268AC -S214021F107459596868686868686868686868B26802 -S214021F206834340D792CE3FCE353D176404076795D -S214021F304577A91F1F1F1F1FA94EC813E813311389 -S214021F40AFFCFCF2C80D0D0D3BA9A9A94FCDCDCF14 -S214021F504F4FA9A93B54A900000000000000000052 -S214021F60001515487070001F1F70A91F1F1F3636F8 -S214021F701F1F363636363636363B3B70484848489C -S214021F80484836A91F4F363636363670007070709F -S214021F907036364F123E3E12363670000000000093 -S214021FA07070484848484815151515FD4A4A0707EF -S214021FB000000000000000000000701F1F1F364FC8 -S214021FC03B541274741268120D34595968680D74B1 -S214021FD034746868686868B2686834C853FCFC7110 -S214021FE0D10D343476767676313145317712544EC9 -S214021FF07767E8E8133131AF106571790D0D0D0D75 -S2140220000D4EA9A9A94FCFCFCF4F4FA9A9A51F0003 -S2140220100000000000000000000015CB4870707041 -S21402202000701F1FA9701F1F1F36361F3636363622 -S214022030364F3B70704848484848361F4836363652 -S2140220403636487070707070707036363B403E346C -S2140220504F3648700000000070484848481515156D -S214022060FD4A070707074A4AFD0000000000000075 -S214022070000070701F1F1F364F3B54127474126894 -S2140220800D1368B2B2B2680D746834346868686852 -S21402209068682B71FC6FB4790D0D0D343476797641 -S2140220A07631313113E8E81345E813131331333729 -S2140220B06537D17676C80D0D0D77744FA9A94FCF27 -S2140220C0CFCF4FA9A9087000000000000000000052 -S2140220D00000481515707070707000701FA9701F90 -S2140220E01F1F1F363636363636363B707070007017 -S2140220F048484836704848483648700070707070D5 -S2140221007070703636123EE2CD3648707070704887 -S214022110484848481515FD4A0707074A4AFD151557 -S2140221204848000000000000000000007036361F1D -S214022130364F3B5459747412740DC8685959B268B4 -S2140221406868686834686868B2C853FC105B3468AC -S21402215034C8C80D343476797631313131131313DD -S2140221601313131331130F65105B797676C80DC8F7 -S2140221700D7774744E1F3B4FCFCF4F4F3BA9700065 -S214022180000000000000000000000015CB150070E3 -S2140221907070707070001FA9703636363636363656 -S2140221A048364F70701F70707070484870483636E8 -S2140221B048707070707070707070703636CF40E213 -S2140221C0CD3636487048484848484815FD4A0707FD -S2140221D04A4AFD15151548484848480000000000C0 -S2140221E0000000000000701F703636CD5454595956 -S2140221F0597412741259686868686868683468B2F4 -S214022200C85310716476763468340D0D0D34340D6F -S21402221076761313313113131313133113AFFCEA0B -S214022220B179797976C8C8C8C80D77747474CF1F27 -S2140222303BCDCD3B3B1F000000000000000000002D -S2140222400000000015154800707070707070700005 -S2140222501F1F703636363648364FA970701F70709C -S21402226070707070707070487070007070707070FF -S214022270707070703636CD34CD3636484848484889 -S2140222804815FD4A4A074AFD151515484848484864 -S214022290487070000000000000000070000000702F -S2140222A07070364FCDCD545459591212745968680D -S2140222B06868680D6868B2775310242B6868340D16 -S2140222C034346834343434343440403113313131A8 -S2140222D0131313135BE3650F677979792BC8C8C8A4 -S2140222E0C87777777438387470704F4F1F70000055 -S2140222F0000000000000000000000000481515481D -S21402230000707070707070707070700070701F3631 -S21402231036A91F7070707070707070707070707008 -S214022320707070707070707070707070704836CFA9 -S214022330CFCBCB484848481515FD4A074AFD151528 -S21402234015484848484848707000000000000000E1 -S21402235000000000700000707070484FCF541212D8 -S214022360595912127459596834343468686874F1C9 -S2140223701053C8B268686868683434346868683469 -S21402238034340D403113313131313133FB65E333AF -S2140223907979797676C8C8C8C877797977743838FB -S2140223A038000000000000000000000000000000EE -S2140223B00000000000481515000070707070707004 -S2140223C070707070700000707070707070707070E6 -S2140223D070707070707070707070707070707070F6 -S2140223E0707070707070483636CBCBCB151515FDF5 -S2140223F04A074AFD1515484848484848487070003C -S2140224000000000000000000000000000000007055 -S21402241070707036CDCD120D68595959595959599F -S214022420686868346868E566BE2B683468686868F9 -S2140224306868683434686834343434343476313115 -S214022440313113B1FC10F27979797676C8C8C8C8EA -S214022450C877C845C8741E383869000070707000A6 -S214022460000000000000000000000000000015153B -S2140224701500007070707070707070707070707090 -S2140224807070707070707070707070707070707045 -S2140224907070707070707070707070707070484885 -S2140224A0CBCBCBCB15EC4A07074AFD154848484824 -S2140224B04848700000000000000000000000000015 -S2140224C00000000000000000707070704FCD544590 -S2140224D0765959595959595959596868682BBE66D7 -S2140224E0E568680D343468686868686868686834DF -S2140224F0340D4634343476764079F2E3FCB16779AB -S214022500797676C8C8C8C8C877777777771E1E38B0 -S21402251038384800007070700000000000000000AC -S2140225200000000000007015154800007070707002 -S214022530707070707070707070701F7070707070E5 -S2140225407070707070707070707070707070707084 -S21402255070707070484848484848CB154A0791CA78 -S2140225604A6915484848487000000000000000000C -S2140225700000000000000000000000000000000054 -S2140225800000707036364FAB876812595959595940 -S2140225905959686874F1A6DB74B268680D0D346820 -S2140225A0686868686868683434340D0D46343440A8 -S2140225B0792C37E3B167407676C8C8C8C8C8C877EA -S2140225C0777777771E1E1E1E38380C0000000070C4 -S2140225D000000000000000000000000000000048AC -S2140225E0151570000070707070707070707070707A -S2140225F070707070707070707070707070707070D4 -S2140226007070707070707070707070704848484863 -S214022610CBCB15CA91FACAEC69E9154848480000BE -S21402262000000000000000000000000000000000A3 -S2140226300000000000000070707000703636360C25 -S214022640DC7712125959595959595968D166666434 -S21402265068686868680D6868686868686868683482 -S214022660346834460D46342BF17171F279767676FB -S21402267076C8C8C8C8C87777777777771E1E1E3899 -S214022680384E38CB0000000070000000000000004A -S2140226900000000000000000151515000000707014 -S2140226A07070707070707070707070707070707023 -S2140226B07070707070707070707070707070364F6E -S2140226C0707070484848CB4848FD0763914A151514 -S2140226D0CBE9E94848700000000000000000000056 -S2140226E00000000000000000000000000070000073 -S2140226F0707070701FCFCF36AB79694E54545454F5 -S214022700595959125365F174686868686868686848 -S21402271068686868686868340D34686834462BB040 -S21402272053F1670D0D4076400D0D0DC8C8C877777A -S21402273077771E1E1E1E1E3838E94EE94800000036 -S2140227400070000000000000000000000000000012 -S21402275000FD481500000070707070707070707028 -S2140227607070707070707070707070707070707062 -S2140227707070707070704F593B70484848CBCB48A9 -S214022780ECFA63914A15CB15CB691E6948700000B6 -S2140227900000000000000000000000000000000032 -S2140227A00000000000707000000070707070364FFD -S2140227B00C1E69CFCFCDCD54545954BB665A2B68E4 -S2140227C0686868683468686868686834346868681E -S2140227D0680D0D34680D64B0B02B4634340D0D0D03 -S2140227E00D0D0D0DC8C87777771E1E1E1E1E1E38CD -S2140227F0E9E9E94E0C00000000007000000000004D -S21402280000000000000000000048FD1548000070AF -S21402281070707070707070707070707070707070B1 -S21402282070707070707070707070707070703659F2 -S21402283059364848CB4848EC631C634A1515CBCB3F -S214022840CBCB4E12367000000000000000000000E5 -S2140228500000000000000000000000000000707091 -S214022860707070707070363636CFCFCFCFCFCD59EE -S2140228705954542F947259591268686868683468B3 -S214022880686868340D4674686868460D0DC82B2B58 -S214022890464646464634340D0D0D0D0D0DC8777767 -S2140228A077771E1E38381EE9E9E9E94E4ECB00005E -S2140228B000000070000000000000000000000000A1 -S2140228C000001515157000007070707070707070D2 -S2140228D07070707070707070707070707070704819 -S2140228E048707070707048CF543648CBCB4815632A -S2140228F097634A15CB154848483669123B707000F4 -S21402290000000000000000000000000000000000C0 -S2140229100000000000007070707070707070704F71 -S2140229204F3636364FCF4F546859540B94BFA5597D -S21402293059126874686868340D406868680D467491 -S214022940686868740D0D46746868744674687446E0 -S21402295034340D0D0DC80DC879771E1E1E38E9E9F0 -S214022960E9E9E94E0C0C4800000000007000000087 -S2140229700000000000000000000000FD48150000F6 -S21402298000707070707070707070707070707070B0 -S2140229907070707070701F363636367070707036A3 -S2140229A0CF36CB15481507731C4A15484848484881 -S2140229B04848484E12367000000000000000000032 -S2140229C00000000000000000000000000000707020 -S2140229D070707070707070704F4F36363636CFCF5C -S2140229E054743824941E545459595912747468688D -S2140229F040F63168686868687468687474747468E5 -S214022A0068746868686868744646460D0D0DC8792D -S214022A10F631773838E9E9E9E9E90C0CCDCD6900F9 -S214022A20000000000070000000000000000000002F -S214022A3000000000FD481500000070707070707095 -S214022A4070707070707070707070707070703636F3 -S214022A503636544F707070483636CB15CB4AFF73F5 -S214022A600715484848484848484848CB124F7070AF -S214022A70000000000000000000000000000000004F -S214022A80000000000000007070707070701F1F70F1 -S214022A90701F3636363636CFCFCD4E5AE6383BCD59 -S214022AA03B5959591274746834F687343468686826 -S214022AB0687474747474747474746868686874740B -S214022AC0687446460DC8C83116F6C81E1EE9E9E9FE -S214022AD0E9E90CCDCDCDCDCB000000000000000012 -S214022AE000000000000070707000000048FD4848BA -S214022AF00000004870707070707070707070707047 -S214022B007070707070703636364F6859364848485E -S214022B1036CB15CB156373631548154848484848A5 -S214022B2048484848CDCD7070000000000000000004 -S214022B30000000000000000000000000000000008E -S214022B40701F1F361F1F36361F1F1F1F363636CF03 -S214022B50CFCFE93232E954CD3B3B545959687474AD -S214022B6068798734686868686868747468686868CA -S214022B70746868686868747468747474740DC87964 -S214022B805D1679741EE9E9E90C0C0CCDCDCDCDCDE0 -S214022B90480000000000000000000070363636369E -S214022BA03636360000151548000000004870707072 -S214022BB07070707070707070707070707048483698 -S214022BC0364F68344F48484848151515CA73FF4AA9 -S214022BD048154848484870707070484836CD4800D6 -S214022BE000000000000000000000000000000000DE -S214022BF00000000000000000001F1F363636363682 -S214022C003636363636363636CBCF6DE65A4E5459CB -S214022C10543B3B5459591274746840346868686867 -S214022C20686868686868686868121268121274745D -S214022C307468687474740DC8F616E8771EE9E90CB1 -S214022C400C0C0CCDCDCDCDCF69700000000000007D -S214022C50000000CBCFCFCB36363670487000FD482A -S214022C6015000000004870707070707070707070A0 -S214022C7070707070707048363636597E54363648E4 -S214022C804815CBFD1C90FA15151548484848707033 -S214022C9070707070483636000000000000000000B9 -S214022CA0000000000000000000000000000000001D -S214022CB000001F1F1F36363636363636363636365E -S214022CC0364F6D57244ECF5474593B3B54595912C4 -S214022CD07474746868686868126868127474741227 -S214022CE0741212121212127474741212127474C8BB -S214022CF0061687C81E38E90C0CCDCDCDCDCFCFCF6A -S214022D00CFCB00000000000000000036CFCFCB364D -S214022D1036363648487070FD48480000000070702D -S214022D207070707070704870707070484870484864 -S214022D303636547E68CF36CBCB15150773FF4A4816 -S214022D401548484848707070707070707070707077 -S214022D50000000000000000000000000000000006C -S214022D6000000000000000000000001F1F1F1F36AA -S214022D7036363636363636363636E9578C54CDCF74 -S214022D80CF5454CD4F3B54595974747468686812C2 -S214022D9012686812123874381212121212121212B2 -S214022DA012383812121274741316F6C81E38E90C4A -S214022DB0CDCDCDCFCFCFCFCFCFCF480000000000B4 -S214022DC000000070CFCFCBCBCB3636484848704891 -S214022DD0FD48700000000070707070707070707047 -S214022DE0707070707048484836363B3468CDCBCB2E -S214022DF01548FD1C22FA151515484848487070708B -S214022E0070707070707070000000000000000000AB -S214022E1000000000000000000000000000000000AB -S214022E20000000001F36361F1F3636363636363658 -S214022E3036360CE6EDCDCFCDCFCFCFCFCF4F4F3BF3 -S214022E405412123838121212126868121212121221 -S214022E5012121212121212125959121212121212BD -S214022E600DF6F6C83838E90CCDCDCFCFCFCFCFCFC1 -S214022E70CFCFCF700000000000000000CBCFCBCB3E -S214022E80CB36363648484870FD154800000000002C -S214022E90707070707070707070707070707048487B -S214022EA04836CF680254CBCBCBCB0773FFFD481511 -S214022EB048484870707070707070707070707000F3 -S214022EC000000000000000000000000000000000FB -S214022ED00000000000000000000000000036363649 -S214022EE01F36361F1F1F36363636CDED320C4FCF05 -S214022EF0CFCFCFCFCF544F3B3B3B591212121212B9 -S214022F00121268125912121238381212121212596A -S214022F101259595959595959120D3177124EE90C0D -S214022F20CDCFCFCFCFCFCFCFCFCFCF360000000081 -S214022F300000000070CFCFCB3636363648484848B9 -S214022F4070FD484800000000007070707070704895 -S214022F5070707070707070484848365902546969CB -S214022F60CB156322FA1515154848487070707070B4 -S214022F7070707070707070700000000000000000CA -S214022F80000000000000000000000000000000003A -S214022F900000000000001F1F1F1F361F361F1F1FC6 -S214022FA03636CF9B576D36CFCFCFCFCFCFCF363635 -S214022FB0364F3B59121212595959125912121212FD -S214022FC01212121212121259595959545454545474 -S214022FD05454124E4E4E0CCDCFCFCFCFCFCFCFCFF5 -S214022FE0CB3636CB480000000000000000CBCFCB2B -S214022FF0CB363648484848487048FD4848000000E6 -S21402300000007070707070704870707070707070C1 -S214023010484848CD68596969CBEC97734A481548C1 -S21402302048487070707070707070707070707070E9 -S2140230307000000000000000000000000000000019 -S2140230400000000000000000000000000000001F5A -S2140230501F1F1F1F1F1F1F361F361F8957781FCBA4 -S214023060CFCBCFCDCFCFCF54CD4F3B3B59121259FA -S214023070595959591268125959595959595959543D -S21402308054545454545454545454545454CDCDCD8E -S214023090CFCFCFCFCFCBCBCBCB36363636700000AA -S2140230A0000000000070CFCBCB36367070704848F8 -S2140230B0487015154870000000000070707070703F -S2140230C0707070707070707070484836545469151D -S2140230D0CBCA736315484848484848707070707089 -S2140230E070707070700000000000000000000000A9 -S2140230F000000000000000000000000000000000C9 -S2140231000000000000000000707070707070701F89 -S2140231101F361F2D81974F3636364FCDCDCF69CF0E -S214023120CD4F4F4FCD595912595959595912125913 -S214023130595954545454545454545454545454543E -S2140231405454CDCDCDCDCDCFCFCF4F4F36363636EC -S214023150363636363636000000000000000036CB23 -S214023160CB36364848707048484870FD48480000DC -S2140231700000000070707070707070707070707008 -S2140231807070484836CFCBCB156373CA481548488B -S21402319048707070707070707070707070000000A0 -S2140231A00000000000000000000000000000000018 -S2140231B00000000000000000000000000000000008 -S2140231C00070707070707070701F1FCF7322691F4E -S2140231D0363636364FCF69CD0C4ECF3636CF5459AB -S2140231E0595959545954545454545454544E54548A -S2140231F054545454545454543BCDCD3B3B3B4F4F04 -S2140232004F4F4F3636363636363636363636700008 -S2140232100000000000000036CB36364848484848D2 -S214023220484848484A48480000000000007070704D -S21402323070707070707070707070704848CBCBCBC6 -S214023240EC1C1CFD481548487070707070707070E9 -S21402325070707000700000000000000000000000A7 -S2140232600000000000000000000000000000000057 -S21402327000000000000000000000707070707070A7 -S2140232807070701F91ED9170701F363636CFCD0C70 -S2140232900C2B2BCDCF4FCFCD54545454545454549E -S2140232A054545454545454545454545454CD543B77 -S2140232B0A9A9A94F1FA91F1F1F701F1F1F1F1F3657 -S2140232C01F1F3636361F7000000000000000007018 -S2140232D036363648484870484848487048FD484898 -S2140232E000000000000048704870707070707070C7 -S2140232F0707070484848CBCB4A1C6315484848480B -S2140233007070707070707070000000000070007056 -S21402331000000000000000000000000000000000A6 -S2140233200000000000000000000000000000000096 -S21402333000000070707070707070707069FF1C36DC -S214023340707070363636CDCD0CAB6E1ECF36364F1D -S214023350CF545454545454545454545454545454AB -S2140233603B3B3B3B3B3B3BA91F1F1F707070707083 -S21402337070707070701F1F707070707070707070E8 -S21402338000000000000000007070363670484848A2 -S2140233907070484870FD154870000000000000700C -S2140233A07070707070707070707070484848CB485B -S2140233B04A1C074848484870700000000070000029 -S2140233C00000000000700000000000000000000086 -S2140233D000000000000000000000000000000000E6 -S2140233E00000000000000000000000007070707016 -S2140233F07070707070CAFF4A70707070363636CF52 -S214023400CDE96E0E0CCF3636364F545454CDCD3BE6 -S214023410CDCDCDCD3BCD543B3B3B3B3B3B3B3B1F1E -S2140234201F70707070707070007000000000707016 -S2140234307070707070707000000000000000000075 -S2140234400070704848484870484848484800FD4858 -S214023450480000000000007070707070700070709D -S21402346070707048484848484A634A4848487070EE -S21402347070000000707000007000000000707000A5 -S2140234800000000000000000000000000000000035 -S2140234900000000000000000000000000000000025 -S2140234A0000000000070707070707070703663916B -S2140234B03670707070703636CF0C67B5ABCDCD36C1 -S2140234C036364F3BCD3B3B3B3B3B3B3B3B3B3B4F95 -S2140234D04FA91F1FA9A91F707070707070707000BE -S2140234E00000000000000000007070000000700085 -S2140234F0000000000000000000007070704870704D -S214023500707048704870704A48480000000000001A -S2140235100070700000000000007070704848484854 -S2140235204A63FD4848487070707000000000000052 -S2140235300000000000007070700000000000000034 -S2140235400000000000000000000000000000000074 -S2140235500000000000000000000000000000707084 -S214023560707070700070EC63EC7070707070703613 -S214023570364F4E6E870C69CF36701F4F3B3B3B3B38 -S214023580080808A91FA9A9707070701F1F707070B4 -S2140235907070700070000000000000000000000064 -S2140235A00000000000000000000000000000000014 -S2140235B000000070707070707070707070700048EC -S2140235C0FD707000000000000000700000000000A7 -S2140235D000007070484848484AFA15484848700043 -S2140235E00070000000000000000000000000707084 -S2140235F0367000000000000000000000000000001E -S21402360000000000000000000000000000000000B3 -S2140236100000000000000070707070000000704A29 -S214023620FA360000000070707036362A6E1E4F4F53 -S214023630367070701F4F4F1F1FA91F1F70007070CB -S21402364070707070707070707070700000000000A3 -S21402365000000000000000000070000000000000F3 -S2140236600000000000000000000000000070707003 -S2140236707070707070707000151570000000000099 -S2140236800000000000000000000070704848484833 -S2140236904A4A154848487000000000000000000032 -S2140236A00000000000007070364F7000000000003E -S2140236B00000000000000000000000000000000003 -S2140236C000000000000000000000000000000000F3 -S2140236D070700000000000704A4A7000000000701F -S2140236E07070363667AB4F4F3636707070701F1F6D -S2140236F070707000007070707070707070707070A3 -S21402370070707070000000000000000000000000F2 -S2140237100000700000000000000000000000000032 -S2140237200000000000000070707000000000000042 -S21402373000154870000000000000000000000000B5 -S2140237400000007048484848FD4A48484870000053 -S21402375000000000000000000000000000000070F2 -S214023760703B360000000000000000000000000071 -S2140237700000000000000000000000000000000042 -S2140237800000000000000000007070000000000052 -S214023790704A157000000000007070704F4E36368A -S2140237A036367070707070707070707070000000D6 -S2140237B000707070707070707070700000000000A2 +S214013180B001B0016D00B001B001B001B001B001F5 +S214013190B001B001B001B0016D0014016D00B001C5 +S2140131A0B001B001B0016D00B001B001B001B001D5 +S2140131B0B0016D008F01B001B0013701B0016D00A3 +S2140131C0B001B0016D006378682B19BF41F0800132 +S2140131D0013441F0C001023499E741F480710134B1 +S2140131E095E741F40071013491E741F480710134AF +S2140131F08DE700BF972C0100782800F0D58158286C +S21401320000F054816F2800F0D181622800F0D0814F +S21401321021F01003692826D111F4806F40F0C08197 +S2140132200A2213F4007F24D113F4807F44D113F0D3 +S214013230400F57D113F0800F14BFB6F90010316854 +S21401324004360593049503970292CB0F0193002948 +S214013250B8BF494200910A9B5A460B994846AC4D65 +S214013260A847834652E1642800F0568119460A228F +S2140132701FE1F11D21F0070101F108060868496800 +S214013280089307950697049200230593CB0F0293A4 +S21401329002460B46002873F1000109DBCDE9002345 +S2140132A00A9B5A460B9948469A4DA84783462DE1F4 +S2140132B0424263EB4303F1E706F1040831680593E4 +S2140132C0049503970292CB0F01930029B8BF494298 +S2140132D000910A9B5A460B9948468D4DA84783464E +S2140132E0464613E131780436ABE7F11D21F00701BC +S2140132F001F10806089307950697002304920593A3 +S2140133000293D1E90023CDE900230A9B5A460B9983 +S2140133104846804DA8478346F8E006F10408059321 +S21401332004950397029200230193336800930A9B46 +S2140133305A460B994846764DA84783464646E5E0E9 +S21401334031780436D4E011F0020F40F0EA80012D06 +S21401335040F203810BF1FF372F444FF020085A4605 +S214013360551C0A9B0B994046C8472A46BD42F7D1D1 +S214013370371D05F1010B0A9B2A460B993078C84781 +S2140133803E46013416E60C9EBB46FAE7331D0E9305 +S21401339033681A460C93002F14BF3B464FF0FF3399 +S2140133A01078002800F0DB8012F8016F0EB1013BA7 +S2140133B0FAD10C9BD31A0D9311F4806A03D0BB4249 +S2140133C028BF3B460D9311F002030F9340F0CE80C9 +S2140133D00D990B4601338D4240F2C38005EB0B0875 +S2140133E0A8EB01085A46561C0A9B0B992020C84791 +S2140133F032464645F7D16B1C0D930C9B1878002876 +S21401340000F0B280DDF830803246564609E01F46AD +S21401341002F1010B0A9B0B99C84718F8010F30B14E +S2140134205A46002EF4D07B1E002FF0D193460F9BF8 +S214013430002B40F09F8001340E9EBBE5351D41F008 +S2140134402101059108230493039710230293002377 +S2140134500193336800930A9B5A460B9948462C4EB3 +S214013460B047834601342E46A4E50BF101050A9BBD +S2140134705A460B992520C8470134AB469AE50BF10D +S21401348001050A9B5A460B99C8470134AB4691E59C +S2140134900A9A93452CBF02F1FF325A460A9B0B99B2 +S2140134A00020C847584611B0BDE8F08F41F0200112 +S2140134B0102221F00C0311F4806F07D021F00D03C8 +S2140134C069283FF4AEAE64283FF4ABAE13F4007F38 +S2140134D07FF40BAF13F4807F7FF41FAF13F0400F20 +S2140134E07FF42EAF13F0800F14BF31883168043695 +S2140134F005930495039702920023019300910A9B7A +S2140135005A460B994846024DA8478346013451E571 +S214013510592E0100DD2E010011F4806F3CD10A22E4 +S2140135207FE6331D0C930BF101070A9B5A460B9954 +S2140135303078C847012D7FF626AF05EB0B0A4FF012 +S21401354020083A46561C0A9B0B994046C847324605 +S214013550B245F7D1AB440C9E13E75D4608E70C9ADB +S21401356027E70D935E4648E7B34664E75E460028C4 +S2140135707FF448AF0D9A95427FF65DAF5D44AD1A74 +S2140135805A46202602F1010B0A9B0B993046C84782 +S2140135905A46AB45F6D14EE721F011030A2240E622 +S2140135A021F011030A223CE6102282E7082280E776 +S2140135B002227EE710B582B0009313460A46014602 +S2140135C00248034CA04702B010BD00BF8F2C01007B +S2140135D0992F010008B518210448054B9847054B5B +S2140135E000221A7001225A7008BD00BF806C0020AC +S2140135F0E11E0100B86B0020F0B583B03748384BA8 +S214013600984710B30446354E364D237D03F0070325 +S214013610032B30DD21463046A84704460028F4D166 +S2140136202E48314B98470546304B9847002852D1D3 +S2140136302F4B0093E5222F4903202F4CA0472A4603 +S21401364000232E482E498847FEE724482D4B9847ED +S2140136500546264B984760B9254B0093D32225494A +S2140136600320254CA0472A4600232448244988479E +S214013670FEE75DB91FE021461848234B98470546EB +S2140136801A4B9847D0B1B5B1002CC9D01F4C0126B2 +S21401369026704FF4FA732B600027AF602B7D032250 +S2140136A062F302032B754FF0FF332B61184B9847DB +S2140136B06860EF60A670284603B0F0BD0C4B00931F +S2140136C0DB220C4903200C4CA0472A4600230B485A +S2140136D00B498847FEE7002DD8D1ECE7806C002027 +S2140136E0911F0100A51F0100451F0100992200003E +S2140136F094940200BC94020045220100C03F0200DF +S214013700A1220000F91E0100FD1F0100B86B002078 +S2140137104110010010B5044601460948094B984777 +S2140137200122094B1A702046084B9847084B1B6824 +S2140137309C4200D010BD0122034BDA70FAE700BFAD +S214013740806C00207D200100B86B0020AD240100B4 +S2140137504C6D002010B504464068124B984723680C +S214013760984201D2002010BD0F4B984760600F4B66 +S2140137700022DA709A70A3682BB1204698470B4B4B +S214013780D87800B110BD2369002BC4BF03F1FF3305 +S214013790236123690BB10120F4E72046044B9847C7 +S2140137A0012010BD5910010041100100B86B002026 +S2140137B0153701002DE9F843584B1B79002B40F0D3 +S2140137C0A980564B01221A715B782BB90022534B04 +S2140137D01A710120BDE8F883514B98474F4B98600A +S2140137E000261D46DFF84C814E4CDFF850916DE007 +S2140137F02760002609E04C4B9847AB7833BBEB7843 +S21401380023BB2B78002B5FD127602168F1B140469E +S214013810C84707462068037D13F0070316D0864283 +S214013820E6D0052BE7D0002E42D0027D02F007023B +S214013830337D03F007039A42DFDD3B4B98470028B0 +S214013840DBD0AB7813B9EB78002B2FD0334CA068C4 +S214013850364DA847E3680344E3602069A847B0F5FE +S214013860FA7F15D3E268642303FB02F3304AA2FB16 +S2140138700323C3F34713642B9ABFC3F16403DBB27C +S2140138800023264C23750023E360254B98472061CF +S2140138904FF0FF32214B9A612648274B9847044642 +S2140138A0002831D0214F1D4E224D1DE026680DE027 +S2140138B01D4B98470028A0D0AB78002BC6D1EB78DB +S2140138C0002BC3D1266801E000262E700023EB7082 +S2140138D0AB704046184B9847206096E7214628462D +S2140138E0164B9847044678B1237D13F0070FF5D0A1 +S2140138F06068B8472368984234BF1B1A0023B26930 +S2140139009A4288BFB361E9E7044B00221A719869AD +S214013910BDE8F8830120BDE8F88300BFB86B00203E +S214013920411001004C6D002055370100591001006F +S214013930D34D6210806C0020911F0100A51F01006D +S2140139402DE9F843037D03F007038B4231D00D4682 +S214013950884681461848194B9847044618B3037D94 +S21401396003F007039D420BDA134F154E21463846E6 +S214013970B0470446B8B1237D03F007039D42F5DB4B +S214013980A14505D0224649460B480E4B984754B1EF +S21401399001220D4B1A7099F8143068F3020389F866 +S2140139A01430BDE8F883002249460348054B984782 +S2140139B0EEE7BDE8F88300BF806C0020911F010090 +S2140139C0A51F01007D210100B86B00202DE9F04103 +S2140139D082B080460F4616461D46104B9847044651 +S2140139E00F4B984760B13CB1C4F808802760314658 +S2140139F020460C4B9847E560204602B0BDE8F081B2 +S214013A00094B00934FF4837208490320084DA847D9 +S214013A1022460023074808498847FEE7F935010092 +S214013A209922000041390100AC940200BC940200C6 +S214013A3045220100C03F0200A122000010B5044645 +S214013A40034B98472368DB430344636010BD00BF04 +S214013A5041100100037813F0800F01D10120704757 +S214013A6003F0E002C02A0AD003F0F002E02A08D0F0 +S214013A7003F0F803F02B0CBF04200020704702204F +S214013A807047032070477F2816D982B0B0F5006FC3 +S214013A9013D2C0F3841363F03F038DF8043000F0B3 +S214013AA03F0060F07F008DF8050000238DF806309A +S214013AB08DF80730019802B07047B0F5803F15D2F7 +S214013AC0C0F3033363F01F038DF80430C0F385138E +S214013AD063F07F038DF8053000F03F0060F07F0053 +S214013AE08DF8060000238DF80730E3E7B0F5881F50 +S214013AF0E0D2C0F3824363F00F038DF80430C0F3C5 +S214013B00053363F07F038DF80530C0F3851363F04A +S214013B107F038DF8063000F03F0060F07F008DF8DF +S214013B200700C7E782B0019010F0800F17D09DF80C +S214013B3004309DF80520120402EB03629DF806305E +S214013B4002EB03229DF807301A44042312F0FF0FFC +S214013B5008BF120A013B13F0FF03F7D10192019847 +S214013B6002B0704770B483B0002301930C4651B184 +S214013B702268835C13F0800F07D118460132226059 +S214013B8003B070BC704701ACF2E703F0E001C02956 +S214013B900BD003F0F001E02919D003F0F801F02969 +S214013BA033D0013222600020EAE7511C2160405CDC +S214013BB000F0C001802901D00020E1E79B0103F459 +S214013BC0F86300F03F00184402322260D8E7511C27 +S214013BD02160415C01F0C005802D01D00020CFE7B7 +S214013BE0951C2560405D00F0C005802D01D00020A9 +S214013BF0C6E71B039BB200F03F000344880100F4B4 +S214013C007C60184403322260BAE7511C2160415C93 +S214013C1001F0C005802D01D00020B1E7951C25607C +S214013C20455D05F0C006802E01D00020A8E7D61C11 +S214013C302660865D06F0C000802801D000209FE740 +S214013C409B0403F4E013090301F47C300343A80149 +S214013C5000F47C6006F03F063044184404322260CB +S214013C608EE70000F0B583B006460D460B68013BB3 +S214013C700B6004240E4F05E001382860631E13F024 +S214013C80FF0408D0286830443B68984728B928685C +S214013C900028F1D109E0002007E02B6802A941F8CD +S214013CA0043D034B5B683046984703B0F0BD00BF48 +S214013CB0540000202DE9F0410E4691B1074600243C +S214013CC02546DFF824803819D8F8003098470028B0 +S214013CD008BF012004440135AE42F4D12046BDE8B8 +S214013CE0F0810C46FAE700BF54000020F0B583B01F +S214013CF0002301930D4669B106461C46064F01A9ED +S214013D0030467B6898470134019BAB42F7D3204687 +S214013D1003B0F0BD0C46FAE75400002070B582B03F +S214013D2000230193037873B104460025074E01A9C9 +S214013D302046736898470135019BE35C002BF6D15A +S214013D40284602B070BD0025FAE700BF54000020E7 +S214013D50232904D00378012B15D00020704703785F +S214013D601BB90123037018467047012B03D0022BA1 +S214013D7005D00020704700230370184670470023C3 +S214013D80037001207047202903D10223037001200C +S214013D9070470120704700002DE9F04F91B0059162 +S214013DA0069207939DF8683004930890002800F067 +S214013DB0F080002900F0EF8013F0120F17D003787F +S214013DC00A2B00F0EA800D2B00F0ED80002B00F0AE +S214013DD0EC8001460022013211F8013F0A2B00F067 +S214013DE0DD800D2B00F0DA80002BF4D1D7E0049BA8 +S214013DF003F002031A460B9347F618430799002A65 +S214013E0018BF1946079100238DF83F300E93DFF84F +S214013E10AC91DFF8ACA178E0019A21460598644B95 +S214013E2098470544ADB200B2002802DD069B1D444A +S214013E30ADB22DB2B7F1FF3F38D0A4F10A02162A6F +S214013E403BD85C4BD34013F0010F39D101232C2210 +S214013E50944235D00133DBB21AF80320002AF7D199 +S214013E60B7F1FF3F08BFAB460C9E0D9B0C93039B1F +S214013E700293019C18F80630002B6ED0D9F8043056 +S214013E800DA9404698470190029B01330393049B7A +S214013E9013F0010FC0D021460DF13F00464B984765 +S214013EA00028B9D00C9E0D9B0C93E0E7069BEB1AFD +S214013EB0099A9342C8BF3746BFE701232C22C7E7BA +S214013EC0002E4AD1B7F1FF3F4AD1AB46029B23B140 +S214013ED00D2C03D1019B0A2B00D10C9EB6B2079B79 +S214013EE0A3EB0B0B0FFA8BF30793002E3AD00E9F22 +S214013EF03E440E96089A13780A2B3FD00D2B3DD0E0 +S214013F00935D0A2B38D00D2B36D00E9B0A93089959 +S214013F1001EB0308CB5C002B30D0079B002B2DDD7B +S214013F20B8F1000F1ED047F61843079A0B990029DF +S214013F3008BF1346099300260C960D96D9F804304F +S214013F400CA94046984704460C9B0D93B3464FF088 +S214013F50FF370296354601968CE7B7F1FF3FB5D09D +S214013F600A9B3BB10E9B5BB9144B5B680EA9089884 +S214013F70984703E0BEB2B2E701360E960E9B13B128 +S214013F80BDF838000CE00D4B5B680EA90898984701 +S214013F90F6E7002004E0002002E00022013290B2A1 +S214013FA011B0BDE8F08F0022F8E70022F7E700BF66 +S214013FB04900010009004000513D01005400002065 +S214013FC0FC9402002DE9F04F85B0002840D005464C +S214013FD0002A3FD0002003908DF80B0049B19B4684 +S214013FE00192894600241C4F9DF838A00AF0010A68 +S214013FF00CE0044628E0424631460198174B9847A4 +S21401400003B2002B02DD5C44044424B2039B9945B1 +S21401401015D97B6803A92846984706467B68002180 +S2140140200398284498478046BAF1000FE3D03146FA +S2140140300DF10B000A4B98470028E7D1DBE7002C6F +S21401404002DDA4EB0B0424B2204605B0BDE8F08FD8 +S2140140500024F9E70024F7E7540000204900010096 +S214014060513D01002DE9F04F89B0BDF94840069455 +S214014070BDF94C509DF850800024048044800029EE +S2140140805BD00F46002A58D003931146029204468D +S21401409008F0020347F61842002B18BF1546049590 +S2140140A0B1F9082007921FFA82FA3B78002B4CD010 +S2140140B03E460025DFF8B0B0069B9A441FFA8AF9FF +S2140140C04746B0460097049B039A02993046D84764 +S2140140D00544B4F902300AEB0302B2F5004F24D2CC +S2140140E0CDF814904B4463800097039B029A0146D7 +S2140140F03046184EB047B4F900309842B8BF18465B +S214014100208008EB050618F80530002BDAD12DB112 +S21401411016F8013C0A2B13D00D2B11D0B4F902303E +S2140141209BB1069A9B1A638007E00B4B00930B4BDF +S21401413071220B4902200B4CA04709B0BDE8F08F55 +S2140141406388059A1A446280E8E7BDF81C306380EC +S214014150F3E700BFC53F01002C950200E89402007A +S2140141600495020045220100993D01002DE9F04722 +S21401417081468A461F46DDF82080144632B9002063 +S214014180BDE8F087002814DA2C467CB1650807FBE9 +S21401419005A631464846C0470028F3DD84F00104F1 +S2140141A004F001042C1B06EB070AEEE70020BDE82D +S2140141B0F0873046BDE8F087014B1860704700BFB6 +S2140141C0D46B0020014B1B68D8687047D46B002065 +S2140141D008B5024B1B681B68984708BDD46B0020C6 +S2140141E02DE9F84304460139272934D8DFE811F0D0 +S2140141F028003900EC00A10053006000A303D8009A +S2140142004401B2024600CC037302FE03DC00E00068 +S2140142108100E4009301E80047026602E3036A01B5 +S2140142207C013F02A00123021F01750391030801CF +S214014230B800E002C901F4014703040212033A037D +S21401424000219B4B9847002120469A4B98479A4B52 +S21401425019689A4B9847FF212046994B9847BDE825 +S214014260F8830021924B984700212046914B9847AE +S214014270914B19680431914B9847ECE700218C4B20 +S2140142809847002120468B4B98478B4B1968043181 +S2140142908A4B9847DFE70021854B98470021204647 +S2140142A0844B9847844B19681031844B9847D2E762 +S2140142B00021DFF8FC81C047002120467D4FB8472A +S2140142C081467D4E316804317C4DA84731681831EE +S2140142D04846A84701212046C04701212046B84745 +S2140142E0074631680431A847316808313846A8477F +S2140142F0B1E70021DFF8B881C047002120466D4FA5 +S214014300B84781466C4E31686C4DA84731686831B4 +S2140143104846A84701212046C04701212046B84704 +S214014320074631680431A847316808313846A8473E +S21401433091E70021DFF87881C047002120465D4FD4 +S214014340B8475D4E316824315C4DA84701212046AF +S214014350C04701212046B84731682831A8477AE787 +S2140143600021DFF84C81C04700212046514FB84755 +S214014370514E31682431514DA84701212046C0478E +S21401438001212046B84731682831A8470221204636 +S214014390C04702212046B84731689C31A8475AE7F2 +S2140143A00021434B984756E70021414B984752E777 +S2140143B000213F4B98474EE700213D4B98474AE77F +S2140143C000213B4B984746E70021DFF8E480C047D1 +S2140143D000212046374FB8478146374E31680431B1 +S2140143E0364DA847316820314846A8470121204666 +S2140143F0C04701212046B84731681C31A8472AE743 +S2140144000021DFF8AC80C04700212046294FB8477D +S214014410294E31682031294DA84701212046C04741 +S21401442001212046B84731681C31A84713E700210F +S214014430DFF87C80C047002120461E4FB8478146E2 +S2140144401D4E316824311D4DA847316894314846C8 +S214014450A84701212046C04701212046B8473168B8 +S2140144602831A84702212046C04702212046B847E6 +S21401447031689031A847EEE60021DFF83480C04766 +S214014480002120460B4FB8470B4E31684C310B4D7F +S214014490A84740212046C04740212046B847074646 +S2140144A031681031A847316850313846A847D2E6FE +S2140144B0B5300000E52F0000D86B0020C165000074 +S2140144C0813A000000219F4B9847002120469E4BD1 +S2140144D0984707469D4E316804319D4DA84731687F +S2140144E07C313846A847B6E64021DFF85882C047F7 +S2140144F040212046944FB847944E31681831944D68 +S214014500A84741212046C04741212046B847316887 +S2140145101031A8479FE600218A4B98470021204684 +S214014520894B9847894B19686C31894B984792E6B5 +S2140145300021DFF81082C04700212046824FB8478D +S214014540824E31680431824DA84740212046C0473B +S21401455040212046B84731681431A847012120463A +S214014560C04701212046B84731688031A84702215B +S2140145702046C04702212046B84731688431A84703 +S21401458069E600216F4DA84700212046DFF8B88173 +S214014590C0476E4F39686E4EB04740212046A84747 +S2140145A041212046A84741212046C0473968A83105 +S2140145B0B04743212046A84743212046C0473968D3 +S2140145C0AC31B04742212046A84742212046C04789 +S2140145D03968A431B0473EE600215A4DA84740212C +S2140145E02046A84740212046574B9847574B196805 +S2140145F0B031574B98472EE60021DFF84881C04777 +S21401460000212046504FB847504E3168504DA847BC +S21401461001212046C04701212046B8473168803134 +S214014620A84702212046C04702212046B8473168E4 +S2140146308431A8470FE60021DFF80881C047002132 +S2140146402046414FB8478146404E31680431404DBF +S214014650A847316888314846A84703212046C04705 +S21401466003212046B84731688C31A847F3E500217D +S214014670344B984700212046334B9847EBE5002101 +S214014680304FB84700212046DFF8BC80C04781463E +S2140146902E4E316804312E4DA84731687431484694 +S2140146A0A84740212046B84701212046B8470121A6 +S2140146B02046C04731688031A847CCE50021214B10 +S2140146C0984700212046204B9847204B196878319F +S2140146D01F4B9847BFE50021DFF86880C0470021DF +S2140146E02046194FB8478146184E31680431184D97 +S2140146F0A847316808314846A84731681831484606 +S214014700A84740212046C04740212046B847814659 +S21401471031680431A847316854314846A8474121D9 +S2140147202046C04741212046B84731688031A84716 +S21401473042212046C04742212046B84731685831B9 +S214014740A84788E5B5300000E52F0000D86B0020AB +S214014750C16500000021DFF89082C0470021204695 +S2140147609E4FB84781469E4E316804319D4DA847FD +S214014770316840314846A847316818314846A8474D +S21401478001212046C04701212046B84781463168AD +S2140147901831A847316844314846A84702212046C7 +S2140147A0C04702212046B84731684831A84752E53C +S2140147B00021DFF83482C04700212046874FB847E2 +S2140147C0874E31680431874DA84701212046C047EE +S2140147D001212046B8473168A031A847022120466A +S2140147E0C04702212046B8473168A031A8470321B7 +S2140147F02046C04703212046B8473168A031A84764 +S21401480004212046C04704212046B8473168A0311C +S214014810A84720E50021DFF8D081C04700212046C7 +S2140148206E4FB8476E4E31686E4DA84742212046FE +S214014830C04742212046B84731688031A847412108 +S2140148402046C04741212046B8473168B031A847C5 +S21401485040212046C04740212046B8473168A8314C +S214014860A847F8E40021604B9847002120465B4B9F +S21401487098475B4B1968A4315A4B9847EBE40021E3 +S214014880DFF86481C04700212046544FB84781466F +S214014890534E31680431534DA847316818314846A4 +S2140148A0A84704212046C04704212046B84731685E +S2140148B0B831A84703212046C04703212046B84700 +S2140148C03168B431A84701212046C047012120465E +S2140148D0B84731688031A847BDE40021DFF8088178 +S2140148E0C047002120463D4FB84781463C4E3168BF +S2140148F004313C4DA847316818314846A847032182 +S2140149002046C04703212046B84731689831A8475A +S214014910A1E40021344B9847002120462F4B9847AD +S21401492007462F4E316804312E4DA84731680831AD +S2140149303846A8478FE40021DFF8AC80C047002145 +S2140149402046264FB847264E31680431254DA847E4 +S21401495003212046C04703212046B84731682C3141 +S214014960A84701212046C04701212046B8473168A3 +S2140149703031A84702212046C04702212046B847C9 +S21401498031683431A84766E40021DFF85C80C0470F +S21401499000212046114FB847114E31683831114D6C +S2140149A0A84701212046C04701212046B847316863 +S2140149B03C31A8474FE400210B4B98470021204685 +S2140149C0064B98470746064E31680431054DA84701 +S2140149D0316870313846A8473DE400BFE52F000036 +S2140149E0D86B0020C1650000B53000000021DFF85B +S2140149F05480C047002120460F4FB84781460F4ECE +S214014A00316804310E4DA84731685C314846A847E5 +S214014A1001212046C04701212046B8473168603150 +S214014A20A84702212046C04702212046B8473168E0 +S214014A306431A8470FE400BFE52F0000D86B0020C3 +S214014A40C1650000B530000008B5044B1B7913B9E9 +S214014A50034B984708BD034B984708BDD86B002009 +S214014A60C16400004D67000070B5B34C2068B34BBD +S214014A709847FF222C212068B14B9847236A13F0F0 +S214014A80020314BF1D210821002B15BF3B20122055 +S214014A901E230B234FF0000263F3040260F34A1255 +S214014AA061F3CF2229212068A64B98472046236A26 +S214014AB013F0020314BF07211C21002B15BF0F247E +S214014AC03A2408231D234FF0000263F3040264F323 +S214014AD04A1261F3CF2248F289010068994B984740 +S214014AE09548036A13F0020314BF07211C21002B0B +S214014AF015BF0F243A2408231D234FF0000263F349 +S214014B00040264F34A1261F3CF22792100688D4BC7 +S214014B109847894C626948F28E0120688A4DA847F9 +S214014B2062697E212068A84720680430834B984735 +S214014B30246804340020854B98470A30C000B0F53D +S214014B40A07F80F24686012201212046804B9847AD +S214014B50794C2068FF222C210430794B9847206835 +S214014B600430236A13F0020F40F041860B2318210C +S214014B700E244FF0000264F3040261F34A1263F359 +S214014B80CF2229216F4B98476B4B18681B6A13F08D +S214014B90020314BF1A211021002B15BF372422242B +S214014BA01C2312234FF0000263F3040264F34A123B +S214014BB061F3CF2239210430624DA8475E4C20684C +S214014BC0A28940F239210430A8472068E28940F2E0 +S214014BD039410430A8472468043400205B4B9847C9 +S214014BE028304000B0F5A07F80F2068601223021F1 +S214014BF02046574DA847504C2068012233210430E7 +S214014C00A8472068626948F28E0104304E4B9847E7 +S214014C1020680430236A13F0020F40F0FB851F233F +S214014C203F211C464FF0000264F3040261F34A126E +S214014C3063F3CF2248F28901424B98473E4C2068E5 +S214014C4062697E210430404B984720680430236A0D +S214014C5013F0020F40F0E3851F233F211C464FF05F +S214014C60000264F3040261F34A1263F3CF2279214E +S214014C70344B9847304B186804301B6A13F0020F08 +S214014C8040F0D2851F233F211C464FF0000264F3FB +S214014C90040261F34A1263F3CF2248F2A901294BB9 +S214014CA09847254B186804301B6A13F0020F40F032 +S214014CB0C0851F233F211C464FF0000264F3040207 +S214014CC061F34A1263F3CF2299211E4B98471A4C7F +S214014CD020680122902104301D4B98472568043531 +S214014CE000201C4B9847012840F2A8850020174B4E +S214014CF09847C0EB001040005030B0F5A07F80F21E +S214014D00B88501240020114B984728304000B0F5A3 +S214014D10A07F80F2BE850122224412B212212846CB +S214014D200B4B9847044B1D6804350020094B9847E8 +S214014D30012840F2BC850FE0D86B0020494A0100EB +S214014D40516B00000D6A0000816C0000250F010008 +S214014D50C9680000410F01000020B14B9847C0EB25 +S214014D60001040005030B0F5A07F80F2BB850124D2 +S214014D700020AB4B984728304000B0F5A07F80F26A +S214014D80C1850122224412B213212846A54B984719 +S214014D90A54B1D6804350020A44B9847012840F216 +S214014DA0BF8500209E4B9847C0EB00104000503056 +S214014DB0B0F5A07F80F2CF8501240020984B98475C +S214014DC028304000B0F5A07F80F2D585012222442C +S214014DD012B210212846934B9847934B1D68043511 +S214014DE00020924B9847012840F2D38500208C4B37 +S214014DF09847C0EB001040005030B0F5A07F80F21D +S214014E00F48501240020864B984728304000B0F5F1 +S214014E10A07F80F2FA850122224412B2112128468F +S214014E20804B9847804B1C68043400207F4B984782 +S214014E30012840F2F8850020794B9847C0EB001016 +S214014E4040005030B0F5A07F80F208860122142180 +S214014E502046744DA847744C20689622B021043031 +S214014E60A84720683922B7210430A84720680C30AB +S214014E706F4B98472068011D0C306E4B9847206891 +S214014E80236A13F0020314BF1A210821002B15BF51 +S214014E90352412241B2309234FF0000263F3040276 +S214014EA064F34A1261F3CF2229210C30624B9847F2 +S214014EB05D4B18680C301B6A13F0020F40F0DE855C +S214014EC0082310211C464FF0000264F3040261F32C +S214014ED04A1263F3CF223921574B9847524B186831 +S214014EE01B6A13F0020314BF06211421002B15BF01 +S214014EF010242A24092315234FF0000263F3040229 +S214014F0064F34A1261F3CF2248F289010C304A4B0E +S214014F109847454B18681B6A13F0020314BF062115 +S214014F201421002B15BF10242A24092315234FF022 +S214014F30000263F3040264F34A1261F3CF2279217B +S214014F400C303D4B9847384B18681B6A13F0020328 +S214014F5014BF06211421002B15BF10242A2409236F +S214014F6015234FF0000263F3040264F34A1261F35F +S214014F70CF2248F2A9010C302F4B98472A4B1868CC +S214014F801B6A13F0020314BF06211421002B15BF60 +S214014F9010242A24092315234FF0000263F3040288 +S214014FA064F34A1261F3CF2299210C30224B9847C1 +S214014FB01D4C206808301E4B984720680830236A2D +S214014FC013F0020F40F05F85092313210A244FF0E6 +S214014FD0000264F3040261F34A1263F3CF2241F242 +S214014FE02901154DA847104C2068A28940F22911C5 +S214014FF00830A847266808363321A0890F4B984702 +S214015000024641F229113046A84720680830236A33 +S21401501013F0020F40F03C850B2318210E240FE0FD +S214015020250F0100C9680000D86B0020410F010060 +S214015030494A0100A16700000D6A0000EB1B010050 +S2140150404FF0000264F3040261F34A1263F3CF22C5 +S21401505042F22901BB4EB047BB4C206800224FF4F8 +S21401506098710830B94B9847256808353321A089CF +S214015070B74B9847024641F239212846B047206887 +S2140150800830236A13F0020F40F007850B2319211D +S2140150900D244FF0000264F3040261F34A1263F335 +S2140150A0CF2241F23901A74B9847A74B18681B6AD4 +S2140150B013F0020314BF07210B21002B15BF0F2489 +S2140150C0192408230D234FF0000263F3040264F34E +S2140150D04A1261F3CF2240F239110830994B9847B2 +S2140150E0994B18681B6A13F0020314BF07210B21A2 +S2140150F0002B15BF0F24192408230D234FF000029F +S21401510063F3040264F34A1261F3CF2241F23911C8 +S21401511008308C4B98478C4B18681B6A13F00203B7 +S21401512014BF1A210B21002B15BF372419241C2369 +S2140151300D234FF0000263F3040264F34A1261F395 +S214015140CF2242F2390108307E4B98477E4B1868D1 +S21401515008301B6A13F0020F40F0A4841F233F217E +S2140151601C464FF0000264F3040261F34A1263F333 +S214015170CF2249F28901734DA847734C20684FF03E +S214015180FF3248F289110830A84720684FF0FF32F5 +S21401519049F289110830A8472068236A13F00203F0 +S2140151A014BF2A212621002B14BF152313234FF0E9 +S2140151B0000263F3040261F34A1263F3CF224AF258 +S2140151C089010830A84720680830236A13F0020FC7 +S2140151D040F06D841F233F211C464FF0000264F30C +S2140151E0040261F34A1263F3CF2249F2A901554D35 +S2140151F0A847554C20684FF0FF3248F2A9110830F5 +S214015200A84720684FF0FF3249F2A9110830A84795 +S2140152102068236A13F0020314BF2A212621002BDB +S21401522014BF152313234FF0000263F3040261F346 +S2140152304A1263F3CF224AF2A9010830A847206830 +S2140152402922B6210830414DA84720681030414B2D +S2140152509847206847F6FF7201211030A84720685A +S214015260FF222C2110303C4B984720681030236ACF +S21401527013F0020F40F020840B2318210E244FF068 +S214015280000264F3040261F34A1263F3CF22292178 +S2140152902C4B98472C4B186810301B6A13F0020FE2 +S2140152A000F00F8428494B7BDB0803EB830303EBF9 +S2140152B0830341F6DA352B4403EB032203EBC213D7 +S2140152C0C3F3C4538A89C2F3451202EB820202EB8E +S2140152D0820202F562521A3202EB022402EBC41277 +S2140152E0C2F3C554097B01F01F0101EB810101EBFB +S2140152F08101294401EB012201EBC211C1F3C45122 +S2140153004FF0000261F3040264F34A1263F3CF2202 +S21401531041F229010B4DA8470B4C2068A28940F2A7 +S21401532029111030A847266810364C21A089084B51 +S2140153309847024641F229113046A84720681030A6 +S214015340236A0BE00D6A0000D86B0020C9680000D4 +S214015350EB1B0100494A0100516B000013F0020FDC +S21401536040F0D9830B2318210E244FF0000264F37A +S214015370040261F34A1263F3CF2242F22901C64BBB +S2140153809847C64B18681B6A13F0020314BF3321F3 +S2140153902221002B14BF192311234FF0000263F3BF +S2140153A0040261F34A1263F3CF2242F2291110304C +S2140153B0B94DA847B94C2068A28939211030A847B1 +S2140153C02068A28941F239011030A8472068236A73 +S2140153D013F0020314BF22211021002B14BF112346 +S2140153E008234FF0000263F3040261F34A1263F3E9 +S2140153F0CF2242F239011030A84724681034002029 +S214015400A74B984728304000B0F5A07F80F28783ED +S214015410012230212046A34B9847A04C2068002249 +S2140154204FF49E711030A04B984720681030236AC5 +S21401543013F0020F40F080831F233F211C464FF0DC +S214015440000264F3040261F34A1263F3CF2248F2C6 +S2140154508901914B9847914B186810301B6A13F0DD +S214015460020F40F06D831F233F211C464FF00002C0 +S21401547064F3040261F34A1263F3CF2249F289010D +S214015480854DA847854C20684FF0FF3248F28911B8 +S2140154901030A84720684FF0FF3249F289111030CA +S2140154A0A847206811234FF0000263F3040222216B +S2140154B061F34A1263F3CF224AF289011030A847FA +S2140154C020681030236A13F0020F40F03D831F233B +S2140154D03F211C464FF0000264F3040261F34A12B6 +S2140154E063F3CF2248F2A9016B4B98476B4B1868C0 +S2140154F010301B6A13F0020F40F02A831F233F214E +S2140155001C464FF0000264F3040261F34A1263F38F +S214015510CF2249F2A901604DA847604C20684FF0A0 +S214015520FF3249F2A9011030A84720684FF0FF3238 +S21401553049F2A9111030A847206811234FF0000244 +S21401554063F30402222161F34A1263F3CF224AF283 +S214015550A9011030A84720681030236A13F0020F03 +S21401556040F0FA821F233F211C464FF0000264F3ED +S214015570040261F34A1263F3CF227921464B98471E +S214015580464B186810301B6A13F0020F40F0E88291 +S2140155901F233F211C464FF0000264F3040261F30F +S2140155A04A1263F3CF2241F279013B4DA8473B4CA7 +S2140155B020684FF0FF3240F279111030A84720687A +S2140155C04FF0FF3241F279111030A84720681123BD +S2140155D04FF0000263F30402222161F34A1263F3DF +S2140155E0CF2242F279011030A847246810340020F7 +S2140155F02B4B984700EB8000C0005030B0F5A07FE1 +S21401560080F2B282012212212046264B9847234B74 +S2140156101C6810340020224B984700EB8000C00025 +S2140156205030B0F5A07F80F2AE82012213212046D1 +S2140156301C4B9847194B1C6810340020184B984790 +S214015640C0EB00105030B0F5A07F80F2AB82012293 +S21401565010212046134B9847104B1C68103400202D +S2140156600F4B9847C0EB00105030B0F5A07F80F28A +S214015670A7820122112120460A4B9847074B1C6836 +S21401568010340020064B984700EB80008000503015 +S214015690B0F5A07F0AE000BF0D6A0000D86B0020BD +S2140156A0250F0100C9680000516B000080F2968248 +S2140156B0012214212046BD4DA847BD4C2068032277 +S2140156C040211030A847206800224C211030B94EE6 +S2140156D0B04720687F224FF413711030B04720681E +S2140156E0A28949211030B44EB0472068E28940F2C1 +S2140156F049411030B04720689622B0211030A847A3 +S21401570020683C22B5211030A84720682922B621FE +S2140157101030A84720684C22B7211030A8472068CF +S2140157209622B1211030A8472068002241F2B1012B +S2140157301030A84720681430A04B984724681434CA +S21401574000209F4B9847322800F2668200209D4B2E +S214015750984700EB800080005030B0F5A07F80F2C3 +S2140157604C82012214212046904B9847904B186892 +S2140157701830924B98470020914B9847322800F2F8 +S214015780758200208F4B984700EB80004000503018 +S214015790B0F5A07F80F25B820124854E30682246F8 +S2140157A012211830814DA84730682246132118303F +S2140157B0A8473068224610211830A847306822468C +S2140157C011211830A8473068224614211830A847FE +S2140157D070BD00207B4B98470A30C0007A4B83FB94 +S2140157E00023C217C2EBA31212B2FFF7ADB91F23F3 +S2140157F03F211C46FFF7BDB90020724B9847283061 +S2140158004000714B83FB0023C217C2EBA31212B2F6 +S214015810FFF7EDB907230F210824FFF703BA072383 +S2140158200F210824FFF71BBA07230F210824FFF7CF +S2140158302CBA07230F210824FFF73EBA0020614B3C +S2140158409847C0EB00105030B0F5A07F02DA012473 +S214015850FFF758BA00205B4B9847C0EB001050305A +S214015860594A82FB0032C417C4EBA214A4B2FFF754 +S21401587049BA0020534B9847C0EB00104000503007 +S214015880514A82FB0032C417C4EBA214A4B2FFF73C +S21401589039BA00204B4B9847283040004A4B83FBCF +S2140158A00023C217C2EBA31292B2FFF735BA00204B +S2140158B0444B9847C0EB00105030B0F5A07F02DA99 +S2140158C00124FFF755BA00203E4B9847C0EB001065 +S2140158D050303D4A82FB0032C417C4EBA214A4B276 +S2140158E0FFF746BA0020374B9847C0EB0010400040 +S2140158F05030354A82FB0032C417C4EBA214A4B25E +S214015900FFF736BA00202F4B9847283040002E4B21 +S21401591083FB0023C217C2EBA31292B2FFF732BA7F +S2140159200020284B9847C0EB00105030B0F5A07F00 +S21401593002DA0124FFF741BA0020224B9847C0EB58 +S21401594000105030204A82FB0032C417C4EBA21468 +S214015950A4B2FFF732BA00201A4B9847C0EB0010EA +S21401596040005030184A82FB0032C417C4EBA21420 +S214015970A4B2FFF722BA0020124B98472830400005 +S214015980114B83FB0023C217C2EBA31292B2FFF79F +S2140159901EBA00200B4B9847C0EB00105030B0F5F4 +S2140159A0A07F13DA0124FFF72DBA00BFC9680000F3 +S2140159B0D86B0020516B00000D6A0000494A0100B7 +S2140159C0410F0100250F0100676666660020B54B92 +S2140159D09847C0EB00105030B34A82FB0032C41720 +S2140159E0C4EBA214A4B2FFF70DBA0020AD4B984742 +S2140159F0C0EB001040005030AB4A82FB0032C417A7 +S214015A00C4EBA214A4B2FFF7FDB90020A54B98473A +S214015A1028304000A44B83FB0023C217C2EBA3121D +S214015A2092B2FFF7F9B900209E4B9847C0EB0010E1 +S214015A305030B0F5A07F02DA0122FFF708BA002045 +S214015A40984B9847C0EB00105030974B83FB0023D0 +S214015A50C217C2EBA31212B2FFF7F9B90020914B9D +S214015A609847C0EB0010400050308F4B83FB00235B +S214015A70C217C2EBA31212B2FFF7E9B91B233921F1 +S214015A801D24FFF720BA1D233B211C46FFF79FBAB2 +S214015A901F233F211C46FFF7D3BA192333211C4687 +S214015AA0FFF7F7BA07230F210824FFF75ABB07238E +S214015AB00F210824FFF791BB1F233F211C46FFF748 +S214015AC0DEBB7A4D6B7BDB084C2101FB03F303F253 +S214015AD0B17303EB032203EBC213C3F3C453AC89C4 +S214015AE0C4F3451441F2C80201FB042404EB04226A +S214015AF004EBC214C4F3C5542A7B02F01F0201FB57 +S214015B0002F101F6CA1101EB012201EBC211C1F348 +S214015B10C451FFF7F5BB1F233F211C4625E4002097 +S214015B20604B9847283040005F4B83FB0023C21729 +S214015B30C2EBA31212B26CE40623102109247EE400 +S214015B4006231021092491E4062310210924C1E427 +S214015B50062310210924D4E406231021092404E590 +S214015B6006231021092416E500204E4B984700EB2A +S214015B708000C00050304C4B83FB0023C217C2EBA1 +S214015B80A31212B23FE50020464B984700EB800077 +S214015B90C0005030444B83FB0023C217C2EBA31254 +S214015BA012B243E500203F4B9847C0EB001050303F +S214015BB03D4B83FB0023C217C2EBA31212B247E58B +S214015BC00020384B9847C0EB00105030364B83FB13 +S214015BD00023C217C2EBA31212B24BE50020314BD1 +S214015BE0984700EB8000800050302F4B83FB00234A +S214015BF0C217C2EBA31212B25BE50020294B9847ED +S214015C0000EB800080005030274B83FB0023C21737 +S214015C10C2EBA31212B2A5E50020224B984700EB77 +S214015C208000C0005030B0F5A07F01DA012299E56E +S214015C3000201C4B984700EB8000C00050301A4BE8 +S214015C4083FB0023C217C2EBA31212B28AE500201F +S214015C50144B984700EB800040005030124B83FBFA +S214015C600023C417C4EBA31424B296E500200D4B01 +S214015C70984700EB800080005030B0F5A07F01DA35 +S214015C8001248AE50020074B984700EB800080003E +S214015C905030054B83FB0023C417C4EBA31424B276 +S214015CA07BE500BF250F010067666666D86B00209E +S214015CB0F8B5544C20682430534B9847206847F673 +S214015CC0FF7201212430514B98472068FF222C2176 +S214015CD024304F4B98472068236A13F0020314BF01 +S214015CE01A210821002B15BF352412241B23092352 +S214015CF04FF0000263F3040264F34A1261F3CF2209 +S214015D0029212430434B98473E4B186824301B6AA0 +S214015D1013F0020F6DD11F233F211C464FF00002E6 +S214015D2064F3040261F34A1263F3CF227921394DF9 +S214015D30A847344C2068A28949212430A847206806 +S214015D40E28940F249412430A847206800224C21CC +S214015D5024302F4FB84720687F224FF41371243028 +S214015D60B8472068032240212430284EB0472068D7 +S214015D709622B0212430B04720684C22B721243027 +S214015D80B04720682830204B98472068FF222C21F6 +S214015D902830B847206847F6FF7201212830B047FF +S214015DA02068A28929212830A847206811234FF0AE +S214015DB0000263F30402222161F34A1263F3CF2245 +S214015DC042F229012830A84720682830236A13F0B8 +S214015DD0020F12D11F233F211C464FF0000264F32D +S214015DE0040261F34A1263F3CF227921094B9847E3 +S214015DF0F8BD06231021092490E708231021092461 +S214015E00EBE700BFD86B0020494A0100C9680000D3 +S214015E10516B00000D6A000010B5A04C2068903050 +S214015E209F4B98472068FF222C2190309D4B984726 +S214015E3020689030236A13F0020F19BF23469A890F +S214015E40994B1A882921994B9847944B186890309A +S214015E501B6A13F0020F40F0A9801F233F211C4646 +S214015E604FF0000264F3040261F34A1263F3CF2297 +S214015E7079218E4B9847894C206847F6FF7201219D +S214015E8090308B4B9847246890340020894B984774 +S214015E90C0EBC0005030B0F5A07F80F28B800122AD +S214015EA012212046824B98477C4B1C689034002078 +S214015EB0804B9847C0EBC0005030B0F5A07F80F211 +S214015EC08780012213212046794B9847734B1C6823 +S214015ED090340020774B9847C0EBC0005030B0F5A7 +S214015EE0A07F80F28380012210212046704B9847C4 +S214015EF06A4B1C68903400206E4B9847C0EBC0007C +S214015F005030B0F5A07F7FDA012211212046684B80 +S214015F109847624C20689430614B984724689434C3 +S214015F200020644B984700EB800040005030B0F5ED +S214015F30A07F77DA0122172120465D4B9847574B01 +S214015F401C68943400205B4B984700EB80004000AF +S214015F505030B0F5A07F74DA012218212046544B48 +S214015F6098474E4B1C6894340020524B984700EBE0 +S214015F70800040005030B0F5A07F71DA0122152173 +S214015F8020464B4B9847454B1C6894340020494BA0 +S214015F90984700EB800040005030B0F5A07F6EDAE5 +S214015FA0012216212046424B984710BD0623102198 +S214015FB0092455E700203F4B9847C0EBC0005030FE +S214015FC03D4B83FB0023C217C2EBA31212B267E755 +S214015FD00020384B9847C0EBC0005030364B83FB4F +S214015FE00023C217C2EBA31212B26BE70020314B9B +S214015FF09847C0EBC00050302F4B83FB0023C217DD +S214016000C2EBA31212B26FE700202A4B9847C0EBEF +S214016010C0005030284B83FB0023C217C2EBA312EB +S21401602012B272E70020234B984700EB8000400035 +S2140160305030214B83FB0023C217C2EBA31212B2CE +S21401604079E700201B4B984700EB8000400050305A +S214016050194B83FB0023C217C2EBA31212B27CE7D3 +S2140160600020144B984700EB800040005030124B44 +S21401607083FB0023C217C2EBA31212B27FE70020F4 +S2140160800C4B984700EB8000400050300A4B83FBD6 +S2140160900023C217C2EBA31212B282E7D86B00200C +S2140160A0494A0100516B00006C9502000D6A000020 +S2140160B0C9680000250F01006766666610B5484C82 +S2140160C020689C30474B98472068FF222C219C3043 +S2140160D0454B98472068454B1A8829219C30444BEC +S2140160E09847206847F6FF7201219C30414B98473C +S2140160F024689C340020404B984714308000B0F54B +S214016100A07F39DA4FF0FF3210212046394B9847ED +S214016110334B1C689C340020374B98471430800062 +S214016120B0F5A07F35DA4FF0FF3211212046314B12 +S21401613098472B4B1C689C3400202F4B98471430F3 +S2140161408000B0F5A07F31DA4FF0FF3212212046F1 +S214016150284B9847224B1C689C340020264B9847B6 +S21401616014308000B0F5A07F2DDA4FF0FF321321F6 +S2140161702046204B984710BD00201F4B98471430EF +S21401618080001E4B83FB0023C217A2EBA31212B2A0 +S214016190BAE70020184B984714308000174B83FB52 +S2140161A00023C217A2EBA31212B2BEE70020124BC5 +S2140161B0984714308000114B83FB0023C217A2EBD3 +S2140161C0A31212B2C2E700200B4B9847143080008E +S2140161D00A4B83FB0023C217A2EBA31212B2C6E737 +S2140161E0D86B0020494A0100516B00006C950200F3 +S2140161F00D6A0000C9680000250F01006766666623 +S21401620038B5884C20687030874B9847206847F629 +S214016210FF7201217030854B984724687034002046 +S214016220834B984700EB800080005030B0F5A07F8C +S21401623080F28E800122122120467C4B9847794BB2 +S2140162401C68703400207A4B984700EB8000800071 +S2140162505030B0F5A07F80F28A80012213212046BB +S214016260724B98476F4B1C6870340020704B9847F0 +S21401627000EB800080005030B0F5A07F80F2868071 +S214016280012210212046694B9847664B1C687034E2 +S2140162900020674B9847C0EB001040005030B0F527 +S2140162A0A07F80F282800122142120465F4B98470E +S2140162B05C4B1C68703400205D4B984700EB8000F7 +S2140162C000EB80005030B0F5A07F7DDA0122C021BE +S2140162D02046564B9847534C2068A2899921703026 +S2140162E0544DA8472068A289C9217030A847206864 +S2140162F011234FF0000263F30402222161F34A12D4 +S21401630063F3CF22CA217030A84724687034002076 +S214016310474B984700EB800040005030B0F5A07F17 +S21401632062DA012290212046404B98473D4B1C687B +S214016330703400203E4B9847C0EBC0005030B0F59B +S214016340A07F60DA0122C3212046384B984738BD2A +S2140163500020374B984700EB800080005030364BCA +S21401636083FB0023C217C2EBA31212B263E700201D +S2140163702F4B984700EB8000800050302E4B83FB5C +S2140163800023C217C2EBA31212B267E70020284B04 +S214016390984700EB800080005030274B83FB00239A +S2140163A0C217C2EBA31212B26BE70020204B98472C +S2140163B0C0EB0010400050301F4B83FB0023C21778 +S2140163C0C2EBA31212B26FE70020194B984700EBFD +S2140163D0800000EB80005030174B83FB0023C21770 +S2140163E0C2EBA31212B272E70020114B984700EBE2 +S2140163F0800040005030104B83FB0023C217C2EBD5 +S214016400A31212B28EE70020094B9847C0EBC000DA +S2140164105030094B83FB0023C217C2EBA31212B202 +S21401642091E700BFD86B0020494A0100C968000007 +S214016430250F01000D6A000067666666F8B5C04C58 +S21401644020685C30BF4B9847206811254FF000024A +S21401645065F30402222767F34A1265F3CF229921D6 +S2140164605C30B94EB04720684FF0000265F3040275 +S21401647067F34A1265F3CF22C9215C30B047206822 +S214016480A289CA215C30B04724685C340020AF4B37 +S214016490984700EB80005030B0F5A07F80F268810D +S2140164A0012290212046AA4B9847A54B1C685C34D4 +S2140164B00020A64B984714308000B0F5A07F80F2EC +S2140164C065810122C3212046A14B98479C4B1C683D +S2140164D05C3400209D4B98470A30C000B0F5A07F81 +S2140164E080F261810122C2212046994B9847944B44 +S2140164F01C685C340020954B984700EB80008000B8 +S2140165005030B0F5A07F80F25B8101221221204637 +S2140165108F4B98478A4B1C685C3400208B4B9847FE +S21401652000EB800080005030B0F5A07F80F25781EC +S214016530012213212046864B9847814B1C685C3408 +S2140165400020824B984700EB800080005030B0F569 +S214016550A07F80F253810122102120467C4B984770 +S214016560774B1C685C340020784B984700EB800022 +S21401657080005030B0F5A07F80F24F8101221421B7 +S2140165802046734B98476E4B1C685C3400206F4B5B +S2140165909847C0EB00105030B0F5A07F80F24C81D8 +S2140165A00122C02120466A4DA847654C206847F65F +S2140165B0FF7201215C30A84720686030614B984724 +S2140165C0206811254FF0000265F30402222767F3C5 +S2140165D04A1265F3CF22992160305B4EB04720689E +S2140165E04FF0000265F3040267F34A1265F3CF2207 +S2140165F0C9216030B0472068A289CA216030B047FF +S214016600246860340020514B98470A30C000B0F52A +S214016610A07F80F21F810122902120464C4B984793 +S214016620474B1C6860340020484B98470A30C0002E +S214016630B0F5A07F80F21B810122C3212046444B86 +S21401664098473F4B1C6860340020404B984700EB4E +S214016650800000EB80005030B0F5A07F80F21481FE +S2140166600122C02120463A4B9847354C20686430B9 +S214016670344B984720686430236A13F0020F40F0C9 +S21401668013811F233F211C464FF0000264F30402CE +S21401669061F34A1263F3CF2299212B4B9847284B7B +S2140166A01C6864340020294B98470A30C000B0F5B6 +S2140166B0A07F80F2FD80012290212046244B98473E +S2140166C01F4C2068FF222C216430224B98472068FB +S2140166D06430236A13F0020F40F0F7801F233F2136 +S2140166E01C464FF0000264F3040261F34A1263F39E +S2140166F0CF222921144B9847114C206847F6FF7288 +S21401670001216430124B98472468643400200F4BF3 +S2140167109847C0EB001040005030B0F5A07F80F2E3 +S214016720D880012203212046094B9847044B1C6858 +S21401673064340020054B984700EB80000CE000BF56 +S214016740D86B0020494A01000D6A0000250F0100A0 +S214016750C9680000516B000040005030B0F5A07FC2 +S21401676080F2C680012214212046694B9847F8BD65 +S2140167700020684B984700EB80005030664B83FB47 +S2140167800023C217C2EBA31212B28AE60020614BA5 +S214016790984714308000604B83FB0023C217C2EB7E +S2140167A0A31212B28EE600205A4B98470A30C00058 +S2140167B0594B83FB0023C217C2EBA31212B292E617 +S2140167C00020544B984700EB800080005030524B1D +S2140167D083FB0023C217C2EBA31212B296E6002077 +S2140167E04C4B984700EB8000800050304A4B83FBAF +S2140167F00023C217C2EBA31212B29AE60020454B41 +S214016800984700EB800080005030434B83FB002309 +S214016810C217C2EBA31212B29EE600203D4B984768 +S21401682000EB8000800050303B4B83FB0023C217F7 +S214016830C2EBA31212B2A2E60020364B9847C0EB79 +S21401684000105030344B83FB0023C217C2EBA31257 +S21401685012B2A6E600202F4B98470A30C0002E4BF6 +S21401686083FB0023C217C2EBA31212B2D4E60020A8 +S214016870284B98470A30C000274B83FB0023C217DA +S214016880C2EBA31212B2D8E60020224B984700EBC7 +S214016890800000EB800050301F4B83FB0023C217A3 +S2140168A0C2EBA31212B2DCE6082312210B24EBE69C +S2140168B00020184B98470A30C000174B83FB002373 +S2140168C0C217C2EBA31212B2F6E6082312210B245A +S2140168D007E700200F4B9847C0EB001040005030F0 +S2140168E00D4B83FB0023C217C2EBA31212B219E7AA +S2140168F00020084B984700EB800040005030064BC4 +S21401690083FB0023C217C2EBA31212B22BE700BF10 +S214016910C9680000250F01006766666638B53D4CFC +S21401692020681C303C4B98472068A28999211C306E +S2140169303A4B984724681C340020394B984700EBA3 +S214016940800000EB80005030B0F5A07F41DA0122D4 +S21401695090212046334DA8472E4C206801229421D1 +S2140169601C30A847206820302B4B98472068236AA4 +S21401697013F0020314BF1A210821002B15BF35247A +S21401698012241B2309234FF0000263F3040264F36D +S2140169904A1261F3CF2299212030204B98471D4B94 +S2140169A01C68203400201E4B984700EB800000EB4B +S2140169B080005030B0F5A07F1BDA012290212046DE +S2140169C0184CA047134B1868012294212030A04789 +S2140169D038BD0020124B984700EB800000EB80008A +S2140169E05030114B83FB0023C217C2EBA31212B225 +S2140169F0AEE700200A4B984700EB800000EB8000D2 +S214016A005030094B83FB0023C217C2EBA31212B20C +S214016A10D4E700BFD86B0020494A01000D6A000088 +S214016A20250F0100C968000067666666F8B5384C30 +S214016A3020686C30374B98472068FF222C216C3039 +S214016A40354DA8472068A28929216C30334FB847B5 +S214016A502068022230216C30314EB04720687F22F8 +S214016A603C216C30A84725686C354C21A0892D4BFC +S214016A709847024639212846B847206847F6FF72EC +S214016A8001216C30B04724686C340020264B9847AF +S214016A90C0EB00105030B0F5A07F1CDA0122502167 +S214016AA020461F4B98471A4C2068A28959216C3002 +S214016AB01A4B984724686C3400201B4B984700EB10 +S214016AC080005030B0F5A07F13DA01225321204612 +S214016AD0134B9847F8BD0020134B9847C0EB0010A6 +S214016AE05030124B83FB0023C217C2EBA31212B223 +S214016AF0D5E700200C4B984700EB800050300B4B3D +S214016B0083FB0023C217C2EBA31212B2DEE700BF5B +S214016B10D86B0020494A0100516B00000D6A000045 +S214016B20C96800008F1B0100250F010067666666B5 +S214016B302DE9F04180460F4615461E46B24B1B799D +S214016B40002B01F06983B04CA4F80C80E781266124 +S214016B50069B6361079BA361089BE3612562AB4BC0 +S214016B609847AB4B9847AB4B9847AB4B9847AB4BCB +S214016B709847AB4B9847AB4B9847AB4B9847206829 +S214016B804030AA4B984720684030236A13F0020F22 +S214016B9041F04B8314232B2117244FF0000264F39A +S214016BA0040261F34A1263F3CF2248F28901A04B33 +S214016BB09847954C206844309C4B98472468443449 +S214016BC000209C4B98475030B0F5A07F81F232836D +S214016BD0012290212046984B98478B4B1C684434E1 +S214016BE00020944B984700EB800040005030B0F5F1 +S214016BF0A07F81F22C830122922120468E4B98475A +S214016C00814B1C68443400208A4B984700EB800077 +S214016C1040005030B0F5A07F81F2298301229321F4 +S214016C202046854B9847784B18681B6A13F0020379 +S214016C3014BF1A211021002B15BF372422241C2330 +S214016C4012234FF0000263F3040264F34A1261F365 +S214016C50CF2299214430764B98476B4C20684830B8 +S214016C60724B9847246848340020724B984700EBD3 +S214016C7040005030B0F5A07F81F2098301229021B7 +S214016C8020466D4B9847604B1C6848340020694B82 +S214016C90984714308000B0F5A07F81F20783012267 +S214016CA003212046644B9847574B1C684834002004 +S214016CB0604B984728304000B0F5A07F81F20483EE +S214016CC00122142120465C4B98474F4B1C684834E0 +S214016CD00020584B98475030B0F5A07F81F20283D0 +S214016CE0012201212046544B9847474C20683030FA +S214016CF04E4B9847246830340020504B9847012863 +S214016D0041F2FD8200204B4B9847C0EB001040003B +S214016D105030B0F5A07F81F20D830122102120466C +S214016D20454B9847384B1C6830340020434B9847F6 +S214016D30012841F20F8300203E4B9847C0EB00101C +S214016D4040005030B0F5A07F81F236830122122137 +S214016D502046394B98472C4B1C6830340020374B63 +S214016D609847012841F238830020324B9847C0EB00 +S214016D70001040005030B0F5A07F81F24883012218 +S214016D80132120462C4B98471F4B1C68303400209B +S214016D902A4B9847012841F24A830020254B984701 +S214016DA0C0EB001040005030B0F5A07F81F25A834E +S214016DB0012211212046204B9847134B18681B6A65 +S214016DC013F0020314BF22213F21002B14BF11230D +S214016DD01F234FF0000263F3040261F34A1263F3C8 +S214016DE0CF2249F289013030114B9847064C206872 +S214016DF034300E4B984720683430236A13F0020F64 +S214016E0041F040831CE000BFD86B0020694A0100B6 +S214016E10B15C01002D6A0100195E0100BD60010030 +S214016E20016201003D6401001D690100494A01003B +S214016E300D6A0000250F0100C9680000410F01001E +S214016E401D233B211C464FF0000264F3040261F34C +S214016E504A1263F3CF2248F28901B84B9847B84BE0 +S214016E601C6834340020B74B9847012841F20F8341 +S214016E700020B54B9847C0EB001040005030B0F5ED +S214016E80A07F81F21F83012212212046AF4B984733 +S214016E90AB4B1C6834340020AA4B9847012841F2BA +S214016EA021830020A84B9847C0EB001040005030CB +S214016EB0B0F5A07F81F23183012213212046A34B36 +S214016EC098479F4B1C68343400209E4B98470128F6 +S214016ED041F2338300209C4B9847C0EB00104000E2 +S214016EE05030B0F5A07F81F2438301221121204664 +S214016EF0964B9847924C20682C30954B98472468BF +S214016F002C340020904B984714308000B0F5A07FB9 +S214016F1081F23E830122012120468C4B9847884B03 +S214016F2018682C301B6A13F0020F41F03F831F23B1 +S214016F303F211C464FF0000264F3040261F34A123B +S214016F4063F3CF2248F289117C4B98477C4B186833 +S214016F501B6A13F0020F14BF332266224FF4967198 +S214016F602C307C4DA847764C2068332241F22C0108 +S214016F702C30A8472068FF224FF40B712C30A8470D +S214016F802068754B1A8848F289212C306B4DA8472A +S214016F902068A28940F229212C30A8472068236A5C +S214016FA013F0020314BF19213F21002B14BF0C2339 +S214016FB01F234FF0000263F3040261F34A1263F3E6 +S214016FC0CF2229212C30A8472068A28940F2291116 +S214016FD02C30A847206802224FF498712C305B4E63 +S214016FE0B0472068042240F231112C30B0472068A7 +S214016FF0A28940F239112C30A84724682C3400208D +S214017000514B984700EB40005030B0F5A07F81F21D +S214017010D2820122142120464C4B9847484B1C68CB +S2140170202C340020474B9847012841F2D382002098 +S214017030454B9847C0EB001040005030B0F5A07F9C +S21401704081F2E382012212212046404B98473C4BB5 +S2140170501C682C3400203B4B9847012841F2E582FE +S2140170600020394B9847C0EB001040005030B0F577 +S214017070A07F81F2F582012213212046334B9847E7 +S2140170802F4B1C682C3400202E4B9847012841F2C8 +S214017090F78200202C4B9847C0EB00104000503080 +S2140170A0B0F5A07F81F20783012211212046274BEC +S2140170B09847234C20683830254B98472468383445 +S2140170C00020214B9847C0EB001040005030B0F52F +S2140170D0A07F81F205830122C02120461B4B9847E1 +S2140170E0174C2068FF222C2138301A4B984720680D +S2140170F0236A13F0020314BF1D210821002B15BFBC +S2140171003B2412241E230B234FF0000263F30402D8 +S21401711064F34A1261F3CF2229213830074B98478E +S214017120074B1C6838340020074B984700EB80005B +S21401713080005030B0F5A07F10E000BF0D6A00005F +S214017140D86B0020410F0100250F0100C96800001F +S214017150494A0100516B00006C95020081F2D08211 +S214017160012214212046B64EB047B64C206847F699 +S214017170FF7201213830B04720683C30B24B984747 +S214017180206847F6FF7201213C30B0472068AF4FB8 +S2140171903A8829213C30AE4DA8472068FF222C2191 +S2140171A03C30AC4B98472068022230213C30B04737 +S2140171B02068BA8839213C30A8472068A28940F265 +S2140171C039213C30A8472068E28940F239413C30F9 +S2140171D0A84724683C3400209F4B984700EB4003A7 +S2140171E000EB83005030B0F5A07F81F29982012236 +S2140171F012212046924B9847924B1C683C34002043 +S214017200954B984700EB400300EB83005030B0F5F8 +S214017210A07F81F29682012213212046884B98474F +S214017220884B1C683C3400208B4B984700EB40038E +S21401723000EB83005030B0F5A07F81F293820122EB +S214017240102120467E4B98477E4B1C683C3400201C +S214017250814B984700EB400300EB83005030B0F5BC +S214017260A07F81F29082012211212046744B98471B +S214017270744C20684C30744B984724684C3400207A +S214017280754B984714308000B0F5A07F81F28C8250 +S2140172900122012120466A4B98476A4B1C684C34F0 +S2140172A000206D4B984700EB800040005030B0F551 +S2140172B0A07F81F28782012214212046604B9847E5 +S2140172C0604C2068A28949214C30614B9847206860 +S2140172D000224C2108445F4DA84720687F224FF4C6 +S2140172E013714C30A84724684C3400205A4B9847F9 +S2140172F000EB40005030B0F5A07F81F2738201228E +S214017300402120464E4B98474E4B1C684C3400207B +S214017310514B984700EB800040005030B0F5A07FFD +S21401732081F26F82012241212046454DA847454CF6 +S21401733020689622B0214C30A84720684C22B721FD +S2140173401044A847206850303F4B984720680022D9 +S2140173504FF4137150303F4B984724685034002047 +S2140173603D4B984714308000B0F5A07F81F25982DA +S214017370012201212046324B9847324C2068374A79 +S2140173804FF4B7715030364DA84720682F4B1A88F6 +S21401739040F2691150302E4B98472068226948F216 +S2140173A08E115030A8472468503400202A4B984745 +S2140173B000EB40005030B0F5A07F81F24082012200 +S2140173C0122120461E4B98471E4B1C685034002045 +S2140173D0214B984700EB40005030B0F5A07F81F27A +S2140173E03D82012213212046154B9847154B1C68F8 +S2140173F050340020184B984700EB40005030B0F551 +S214017400A07F81F23A820122102120460C4B984738 +S2140174100C4B1C68503400200F4B984700EB400083 +S2140174205030B0F5A07F81F237820122112120462B +S214017430034DA847034C20686830034B984711E07A +S214017440C9680000D86B0020494A01006C9502000B +S2140174500D6A0000516B0000250F010074950200B3 +S214017460816C00002068002201216830A84724684A +S21401747068340020B54B984714308000B0F5A07FE3 +S21401748081F21982012230212046B14DA847B14C24 +S2140174902068022231216830A84720686830236AB4 +S2140174A013F0020F41F01582002319461C464FF0D7 +S2140174B0000264F3040261F34A1263F3CF22392116 +S2140174C0A54DA847A34C2068E28940F239416830AF +S2140174D0A8472468683400209C4B984700EB80003E +S2140174E05030B0F5A07F81F2F981012212212046A9 +S2140174F0974B9847974B1C6868340020934B9847E6 +S21401750000EB80005030B0F5A07F81F2F6810122B9 +S214017510132120468E4B98478E4B1C6868340020FA +S2140175208A4B984700EB80005030B0F5A07F81F27F +S214017530F381012210212046854B9847854B1C6814 +S21401754068340020814B984700EB80005030B0F53E +S214017550A07F81F2F0810122112120467C4B9847C1 +S2140175607C4B1C6868340020784B984700EB400041 +S2140175705030B0F5A07F81F2ED8101221421204622 +S214017580734B9847734C20687C30744B984724683B +S2140175907C3400206D4B9847322303FB00F05030BB +S2140175A0B0F5A07F81F2E581012250212046684B8B +S2140175B09847684B18681B6A13F002030CBF262114 +S2140175C03021002B0CBF132318234FF0000263F366 +S2140175D0040261F34A1263F3CF2259217C305E4BD9 +S2140175E098475C4C206880305C4B98472068FF22A7 +S2140175F02C2180305A4B98472068236A13F00203E7 +S21401760014BF19210E21002B15BF33241F241A2362 +S21401761010234FF0000263F3040264F34A1261F38D +S214017620CF22292180304C4B98474A4C206847F698 +S214017630FF7201218030464B984724688034002031 +S214017640424B9847C0EBC0005030B0F5A07F81F2A6 +S214017650A0810122032120463D4B98473D4B1C68E3 +S21401766080340020394B9847C0EBC0005030B0F54D +S214017670A07F81F29D81012213212046344B984739 +S214017680344B1C6880340020304B9847C0EBC00058 +S2140176905030B0F5A07F81F29A8101221121204657 +S2140176A02B4B98472B4C206884302C4DA8472068DC +S2140176B0FF222C2184302A4B9847206811234FF053 +S2140176C0000263F30402222161F34A1263F3CF221C +S2140176D029218430204B98472068B430A847206879 +S2140176E0236A13F0020314BF06211421002B15BFD1 +S2140176F010242A24092315234FF0000263F3040201 +S21401770064F34A1261F3CF223921B430124B984701 +S214017710104B1C68B43400200C4B984728304000AE +S214017720B0F5A07F81F26281012230212046084B0C +S2140177309847084B1C68B4340020044B98475030D7 +S214017740B0F5A07F81F2648101220BE0250F0100D4 +S214017750C9680000D86B00200D6A0000494A010084 +S214017760516B000012212046BA4DA847BA4C20683A +S21401777004223121B430A8472068B830B74B984767 +S2140177802068B830236A13F0020F41F04E811423AB +S2140177902B2117244FF0000264F3040261F34A120E +S2140177A063F3CF2248F28901AD4DA847AA4C206861 +S2140177B09830AA4B98472068FF222C219830A94B75 +S2140177C098472068A28929219830A8472068A64BA7 +S2140177D01A8848F289019830A8472468983400200E +S2140177E0A24B9847642303FB00F05030B0F5A07F0E +S2140177F081F22081012210212046964B9847964B14 +S2140178001C6898340020994B9847642303FB00F0CA +S2140178105030B0F5A07F81F21D8101221121204652 +S2140178208C4DA8478C4C206874308C4EB04720682D +S214017830012202217430A8472068002212217430E8 +S214017840A8472068002213217430A8472068002228 +S21401785010217430A8472068002211217430A847EF +S2140178602068002214217430A84720687830B04779 +S2140178702068FF222C2178307A4B98472068783090 +S214017880236A13F0020F41F0F5800B2318210E2412 +S2140178904FF0000264F3040261F34A1263F3CF224D +S2140178A029216F4B98476C4B186878301B6A13F088 +S2140178B0020F41F0E480092313210A244FF000024D +S2140178C064F3040261F34A1263F3CF2241F2290101 +S2140178D0634B9847604B186878301B6A13F0020FA9 +S2140178E041F0D2800B2318210E244FF0000264F3DE +S2140178F0040261F34A1263F3CF2242F22901584D82 +S214017900A847554C2068A28940F229117830A8472B +S214017910266878363321A089554B9847024641F2AE +S21401792029113046A84720687830236A13F0020FE1 +S21401793041F0AF801F233F211C464FF0000264F345 +S214017940040261F34A1263F3CF2248F28901444DDF +S214017950A847414C20684FF0FF3248F28911783031 +S214017960A8472068236A13F0020314BF2A212621A0 +S214017970002B14BF152313234FF0000263F30402F8 +S21401798061F34A1263F3CF224AF289017830A8479D +S21401799020687830236A13F0020F41F07F801F239E +S2140179A03F211C464FF0000264F3040261F34A12C1 +S2140179B063F3CF2248F2A901294DA847264C206837 +S2140179C04FF0FF3248F2A9117830A8472068236AA1 +S2140179D013F0020314BF2A212621002B14BF1523FE +S2140179E013234FF0000263F3040261F34A1263F3B8 +S2140179F0CF224AF2A9017830A84720680122312116 +S214017A007830144B98472068236A13F0020314BF9A +S214017A101A211021002B15BF372422241C231223E0 +S214017A204FF0000263F3040264F34A1261F3CF22BB +S214017A3039217830A847084C2068A28940F23921BC +S214017A407830A8472068012230217830014B9847CA +S214017A5010E000BFC9680000D86B0020494A010049 +S214017A600D6A0000516B00006C950200250F0100A5 +S214017A70EB1B0100246878340020BA4B9847012894 +S214017A8041F211800020B84B9847C0EB001040002F +S214017A905030B0F5A07F81F22180012212212046CC +S214017AA0B24B9847B24B1C6878340020AD4B9847D0 +S214017AB0012841F223800020AB4B9847C0EB001011 +S214017AC040005030B0F5A07F81F2338001221321AF +S214017AD02046A64B9847A64B1C6878340020A14B3D +S214017AE09847012841F2358000209F4B9847C0EB0C +S214017AF0001040005030B0F5A07F81F24580012291 +S214017B0010212046994B9847994B1C6878340020E1 +S214017B10944B9847012841F247800020924B9847A2 +S214017B20C0EB001040005030B0F5A07F81F25780C6 +S214017B300122112120468D4B98478D4B1C687834C5 +S214017B400020884B9847012841F259800020864B37 +S214017B509847C0EB001040005030B0F5A07F81F28E +S214017B606980012214212046804B9847804B1C686F +S214017B70783400207B4B9847012841F26B80002027 +S214017B80794B9847C0EB001040005030B0F5A07F0D +S214017B9081F27C804FF0FF3204212046734DA847C6 +S214017BA0734C2068002241F204017830A84720680F +S214017BB000224FF482717830A8472068002242F2F2 +S214017BC004017830A84720689622B0217830A8476B +S214017BD020682922B7217830A84720680422B621D8 +S214017BE07830A84720685430624B9847246854344C +S214017BF000205D4B984700EB800080005030B0F5C8 +S214017C00A07F81F25380012248F281012046574D20 +S214017C10A847574C2068012202215430A847206803 +S214017C205830544B98472068FF222C215830524B2D +S214017C3098472068A28929215830504DA8472068C6 +S214017C404FF0FF3248F289015830A8472068583073 +S214017C50236A13F0020F41F03980092313210A2405 +S214017C604FF0000264F3040261F34A1263F3CF2279 +S214017C7041F22901414B98473D4B186858301B6A21 +S214017C8013F0020F41F027801F233F211C464FF0BF +S214017C90000264F3040261F34A1263F3CF2249F24D +S214017CA08901364B9847324C20688830314B9847CB +S214017CB02468883400202C4B984700EB800000EBAA +S214017CC080005030B0F5A07F81F20A80012248F290 +S214017CD081012046254B9847254C20688C30254E3F +S214017CE0B0472068FF222C218C30234DA8472068FE +S214017CF0A28929218C30214FB8472068204B1A8849 +S214017D0048F289018C30B8472068A830B04720680F +S214017D10FF222C21A830A8472068A830236A13F038 +S214017D20020F40F0EE870B2318210E244FF00002BD +S214017D3064F3040261F34A1263F3CF2229210F4B45 +S214017D4098470B4B18681B6A13F0020314BF1C21DB +S214017D500721002B15BF3A240F241E2308234FF0BA +S214017D6000020FE0410F0100250F0100C968000065 +S214017D70D86B0020494A0100516B00000D6A0000D3 +S214017D806C95020063F3040264F34A1261F3CF2296 +S214017D903921A830B64B9847B64B1C68A83400204A +S214017DA0B54B984700EB80005030B0F5A07F80F2CD +S214017DB0AD87012230212046B04DA847AD4C206842 +S214017DC001223121A830A8472068236A13F0020354 +S214017DD014BF07211C21002B15BF0F243A240823AA +S214017DE01D234FF0000263F3040264F34A1261F3A9 +S214017DF0CF2248F28901A8309D4DA8479D4C2068A6 +S214017E00626948F28E01A8309D4B984720684FF072 +S214017E100002132363F30402262363F34A12122398 +S214017E2063F3CF2248F2A901A830A8472468A834F2 +S214017E300020914B9847C0EBC0005030B0F5A07FB2 +S214017E4080F273870122102120468C4B9847894B7C +S214017E501C68A8340020884B9847C0EBC0005030FF +S214017E60B0F5A07F80F27487012212212046834B51 +S214017E709847804B1C68A83400207F4B9847C0EB7E +S214017E80C0005030B0F5A07F80F271870122132127 +S214017E9020467A4B9847774C2068A430794B984710 +S214017EA020687F2241F22C01A430774B9847206846 +S214017EB011234FF0000263F30402222161F34A12F8 +S214017EC063F3CF2241F22901A430694B9847206819 +S214017ED0236A13F0020314BF07211C21002B15BFD0 +S214017EE00F243A2408231D234FF0000263F30402F3 +S214017EF064F34A1261F3CF2248F28911A4305C4B35 +S214017F0098475C4B1C68A43400205B4B984700EBF9 +S214017F10800080005030B0F5A07F80F237870122C4 +S214017F2010212046554B9847524B1C68A43400201C +S214017F30514B984700EB800080005030B0F5A07F91 +S214017F4080F234870122112120464C4B9847494C38 +S214017F502068A28948F28921A430454DA8472068A7 +S214017F60E28948F28941A430A8472068AC30454BE5 +S214017F7098472068FF222C21AC30434B9847206855 +S214017F80A2892921AC30A8472068E28940F229411C +S214017F90AC30A8472468AC340020374B984700EB38 +S214017FA080005030B0F5A07F80F2108701220321B7 +S214017FB02046324DA8472F4C206847F6FF72012114 +S214017FC0AC30A8472068B0302E4B98472468B034B0 +S214017FD000202E4B9847012840F207870020264BA9 +S214017FE09847C0EB001040005030B0F5A07F80F2FB +S214017FF01787012210212046204B98471D4B1C68ED +S214018000B0340020214B9847012840F21987002000 +S214018010194B9847C0EB001040005030B0F5A07FD8 +S21401802080F22987012211212046144B9847114BD3 +S2140180301C68B0340020154B9847012840F22B8766 +S21401804000200D4B9847C0EB001040005030B0F5B3 +S214018050A07F80F23B87012212212046074B9847DA +S214018060044B1C68B0340020084B984701280FE0E9 +S2140180700D6A0000D86B0020250F0100C9680000BA +S214018080816C0000494A0100516B0000410F01005C +S21401809040F22C870020BD4B9847C0EB00104000F3 +S2140180A05030B0F5A07F80F23C8701221321204694 +S2140180B0B74B9847B74B1C68B0340020B64B98476F +S2140180C0012840F23E870020B04B9847C0EB0010D5 +S2140180D040005030B0F5A07F80F24E870122142177 +S2140180E02046AB4B9847AB4C2068A030AB4B98472B +S2140180F02068236A13F0020314BF1A211021002BF3 +S21401810015BF372422241C2312234FF0000263F3E9 +S214018110040264F34A1261F3CF223921A030A04B46 +S21401812098479C4C206801223021A030984DA847E2 +S214018130206803223121A030A8472468A0340020FB +S214018140954B9847012840F2278700208F4B984788 +S214018150C0EB001040005030B0F5A07F80F23787AA +S2140181600122122120468A4B98478A4B1C68A0346C +S2140181700020894B9847012840F239870020834B1D +S2140181809847C0EB001040005030B0F5A07F80F259 +S21401819049870122132120467D4B98477D4B1C6859 +S2140181A0A03400207C4B9847012840F24B870020E2 +S2140181B0764B9847C0EB001040005030B0F5A07FDA +S2140181C080F26087012210212046714B9847714B3F +S2140181D01C68A0340020704B9847012840F2628743 +S2140181E000206A4B9847C0EB001040005030B0F5B5 +S2140181F0A07F80F27287012211212046644B9847A6 +S214018200644C684BA360012323710020664B98479A +S21401821004F10800BDE8F081BC20644B9847644B2C +S21401822018605C4B1860FEF78EBC15232A211C468D +S214018230FEF7B3BC0020554B984750305D4B83FB8F +S2140182400023C217C2EBA31212B2FEF7C2BC002073 +S2140182504E4B984700EB800040005030554B83FB57 +S2140182600023C217C2EBA31212B2FEF7C5BC002050 +S214018270464B984700EB8000400050304D4B83FB47 +S2140182800023C217C2EBA31212B2FEF7C8BC00202D +S2140182903E4B984700EB40005030464B83FB002393 +S2140182A0C217C2EBA31212B2FEF7E9BC0020374B8D +S2140182B09847143080003F4B83FB0023C217C2EB64 +S2140182C0A31212B2FEF7ECBC0020304B98472830C0 +S2140182D04000384B83FB0023C217C2EBA31212B235 +S2140182E0FEF7EFBC0020294B98475030314B83FBFB +S2140182F00023C217C2EBA31212B2FEF7F2BC002093 +S214018300224B9847C0EB00105030B0F5A07F02DA40 +S2140183100122FEF703BD00201C4B9847C0EB00105E +S2140183205030244B83FB0023C217C2EBA31212B2B8 +S214018330FEF7F4BC0020154B9847C0EB0010400038 +S21401834050301C4B83FB0023C217C2EBA31212B2A0 +S214018350FEF7E4BC00200D4B9847C0EB00105030F0 +S214018360B0F5A07F02DA0122FEF7F1BC0020074B30 +S2140183709847C0EB001050300E4B83FB0023C2170A +S214018380C2EBA31212B2FEF7E2BC00BF250F01003A +S214018390C9680000D86B0020410F0100494A01005E +S2140183A00D6A0000E14101003D3C0000C5230100CB +S2140183B0486D0020676666660020C74B9847C0EB8D +S2140183C0001040005030C54B83FB0023C217C2EBA0 +S2140183D0A31212B2FEF7BBBC0020BF4B9847C0EBFE +S2140183E000105030B0F5A07F02DA0122FEF7C8BCBB +S2140183F00020B94B9847C0EB00105030B74B83FBB9 +S2140184000023C217C2EBA31212B2FEF7B9BC0020BA +S214018410B14B9847C0EB001040005030AF4B83FB88 +S2140184200023C217C2EBA31212B2FEF7A9BC0020AA +S214018430A94B9847C0EB00105030B0F5A07F02DA88 +S2140184400122FEF7B6BC0020A34B9847C0EB0010F4 +S2140184505030A24B83FB0023C217C2EBA31212B209 +S214018460FEF7A7BC00209C4B9847C0EB00104000CD +S21401847050309A4B83FB0023C217C2EBA31212B2F1 +S214018480FEF797BC062310210924FEF7DCBC00206A +S214018490914B9847C0EB00105030B0F5A07F02DA40 +S2140184A00122FEF7F1BC00208B4B9847C0EB001071 +S2140184B050308A4B83FB0023C217C2EBA31212B2C1 +S2140184C0FEF7E2BC0020844B9847C0EB001040004A +S2140184D05030824B83FB0023C217C2EBA31212B2A9 +S2140184E0FEF7D2BC00207C4B9847C0EB0010503002 +S2140184F0B0F5A07F02DA0122FEF7DFBC0020764B42 +S2140185009847C0EB00105030744B83FB0023C21712 +S214018510C2EBA31212B2FEF7D0BC00206E4B9847F6 +S214018520C0EB0010400050306C4B83FB0023C21799 +S214018530C2EBA31212B2FEF7C0BC0020664B9847EE +S214018540C0EB00105030B0F5A07F02DA0122FEF732 +S214018550CDBC0020604B9847C0EB001050305F4BFD +S21401856083FB0023C217C2EBA31212B2FEF7BEBCF6 +S2140185700020594B9847C0EB001040005030574B35 +S21401858083FB0023C217C2EBA31212B2FEF7AEBCE6 +S2140185900020514B984714308000504B83FB00233A +S2140185A0C217C2EBA31212B2FEF7B5BC0623102106 +S2140185B00924FEF7BFBC0020474B984700EB40005C +S2140185C05030464B83FB0023C217C2EBA31212B2F4 +S2140185D0FEF720BD0020404B9847C0EB00105030FE +S2140185E0B0F5A07F02DA0122FEF72DBD00203A4B3E +S2140185F09847C0EB00105030384B83FB0023C2175E +S214018600C2EBA31212B2FEF71EBD0020324B9847F2 +S214018610C0EB001040005030304B83FB0023C217E4 +S214018620C2EBA31212B2FEF70EBD00202A4B9847EA +S214018630C0EB00105030B0F5A07F02DA0122FEF741 +S2140186401BBD0020244B9847C0EB00105030234B35 +S21401865083FB0023C217C2EBA31212B2FEF70CBDB6 +S21401866000201D4B9847C0EB0010400050301B4BBC +S21401867083FB0023C217C2EBA31212B2FEF7FCBCA7 +S2140186800020154B9847C0EB00105030B0F5A07F86 +S21401869002DA0122FEF709BD00200F4B9847C0EB16 +S2140186A0001050300D4B83FB0023C217C2EBA31200 +S2140186B012B2FEF7FABC0020074B9847C0EB001039 +S2140186C040005030054B83FB0023C217C2EBA312B8 +S2140186D012B2FEF7EABC00BF250F010067666666A8 +S2140186E00020C94B9847C0EB001040005030C74BE4 +S2140186F083FB0023C217C2EBA31212B2FEF7ECBC37 +S2140187000020C14B984700EB800080005030BF4BE3 +S21401871083FB0023C217C2EBA31212B2FEF721BDE0 +S2140187200020B94B984700EB400200EB8200503026 +S214018730B64B83FB0023C217C2EBA31212B2FEF79D +S21401874057BD0020B04B984700EB400200EB82007B +S2140187505030AE4B83FB0023C217C2EBA31212B2FA +S214018760FEF75ABD0020A84B984700EB400200EBED +S21401877082005030A54B83FB0023C217C2EBA31225 +S21401878012B2FEF75DBD00209F4B984700EB4002FA +S21401879000EB820050309D4B83FB0023C217C2EBD7 +S2140187A0A31212B2FEF760BD0020974B9847143013 +S2140187B08000964B83FB0023C217C2EBA31212B2B2 +S2140187C0FEF767BD0020904B984700EB8000400005 +S2140187D050308E4B83FB0023C217C2EBA31212B29A +S2140187E0FEF76ABD0020884B984700EB40005030EA +S2140187F0864B83FB0023C217C2EBA31212B2FEF70D +S2140188007FBD0020804B984700EB80004000503031 +S2140188107E4B83FB0023C217C2EBA31212B2FEF7F4 +S21401882082BD0020784B984714308000774B83FB3D +S2140188300023C217C2EBA31212B2FEF79ABD0020A4 +S214018840714B984700EB40005030704B83FB002380 +S214018850C217C2EBA31212B2FEF7B2BD00206A4BDA +S214018860984700EB40005030684B83FB0023C2174B +S214018870C2EBA31212B2FEF7B5BD0020624B9847B9 +S21401888000EB40005030614B83FB0023C217C2EB64 +S214018890A31212B2FEF7B8BD00205B4B984700EB5F +S2140188A040005030594B83FB0023C217C2EBA31282 +S2140188B012B2FEF7BBBD0020534B98471430800020 +S2140188C0524B83FB0023C217C2EBA31212B2FEF770 +S2140188D0DABD07230F210824FEF7E9BD00204A4B25 +S2140188E0984700EB80005030484B83FB0023C217AB +S2140188F0C2EBA31212B2FEF7F9BD0020424B984715 +S21401890000EB80005030414B83FB0023C217C2EBC3 +S214018910A31212B2FEF7FCBD00203B4B984700EBBA +S21401892080005030394B83FB0023C217C2EBA312E1 +S21401893012B2FEF7FFBD0020334B984700EB8000D4 +S2140189405030324B83FB0023C217C2EBA31212B284 +S214018950FEF702BE00202C4B984700EB400050303B +S2140189602A4B83FB0023C217C2EBA31212B2FEF7F7 +S21401897005BE0020244B9847322202FB00F05030FF +S214018980224B83FB0023C217C2EBA31212B2FEF7DF +S2140189900CBE00201C4B9847C0EBC00050301B4B50 +S2140189A083FB0023C217C2EBA31212B2FEF752BE1C +S2140189B00020154B9847C0EBC0005030134B83FB8B +S2140189C00023C217C2EBA31212B2FEF755BE002057 +S2140189D00D4B9847C0EBC00050300C4B83FB002377 +S2140189E0C217C2EBA31212B2FEF758BE0020064B06 +S2140189F0984728304000054B83FB0023C217C2EB83 +S214018A00A31212B2FEF791BE250F010067666666D5 +S214018A100020CD4B98475030CC4B83FB0023C21728 +S214018A20C2EBA31212B2FEF79DBE15232A211C46E5 +S214018A30FEF7B0BE0020C44B9847642202FB00F04C +S214018A405030C24B83FB0023C217C2EBA31212B2F3 +S214018A50FEF7D1BE0020BC4B9847642202FB00F013 +S214018A605030BA4B83FB0023C217C2EBA31212B2DB +S214018A70FEF7D4BE1F233F211C46FEF709BF1D2368 +S214018A803B211C46FEF71ABF1F233F211C46FEF75B +S214018A902CBF07230F210824FEF74FBF07230F2102 +S214018AA00824FEF77FBF0020A74B9847C0EB0010B5 +S214018AB05030B0F5A07F02DA0122FEF7EFBF0020AA +S214018AC0A14B9847C0EB00105030A04B83FB00230E +S214018AD0C217C2EBA31212B2FEF7E0BF00209A4BF8 +S214018AE09847C0EB001040005030984B83FB0023A2 +S214018AF0C217C2EBA31212B2FEF7D0BF0020924BF0 +S214018B009847C0EB00105030B0F5A07F02DA012282 +S214018B10FEF7DDBF00208C4B9847C0EB00105030AD +S214018B208A4B83FB0023C217C2EBA31212B2FEF7D5 +S214018B30CEBF0020844B9847C0EB00104000503059 +S214018B40824B83FB0023C217C2EBA31212B2FEF7BD +S214018B50BEBF00207C4B9847C0EB00105030B0F5EC +S214018B60A07F02DA0122FEF7CBBF0020764B9847A2 +S214018B70C0EB00105030754B83FB0023C217C2EBCD +S214018B80A31212B2FEF7BCBF00206F4B9847C0EB92 +S214018B900010400050306D4B83FB0023C217C2EB20 +S214018BA0A31212B2FEF7ACBF0020674B9847C0EB8A +S214018BB000105030B0F5A07F02DA0122FEF7B9BFEF +S214018BC00020614B9847C0EB001050305F4B83FB91 +S214018BD00023C217C2EBA31212B2FEF7AABF0020EF +S214018BE0594B9847C0EB001040005030574B83FB61 +S214018BF00023C217C2EBA31212B2FEF79ABF0020DF +S214018C00514B9847C0EB00105030B0F5A07F02DA08 +S214018C100122FEF7A7BF00204B4B9847C0EB001080 +S214018C2050304A4B83FB0023C217C2EBA31212B289 +S214018C30FEF798BF0020444B9847C0EB0010400059 +S214018C405030424B83FB0023C217C2EBA31212B271 +S214018C50FEF788BF00203C4B9847C0EB0010503011 +S214018C60B0F5A07F03DA4FF0FF32FEF795BF002084 +S214018C70354B9847C0EB00105030344B83FB002334 +S214018C80C217A2EBA31212B2FEF786BF00202E4B2C +S214018C909847C0EB0010400050302C4B83FB00235C +S214018CA0C217A2EBA31212B2FEF776BF0020264B24 +S214018CB0984700EB800080005030244B83FB002354 +S214018CC0C217C2EBA31212B2FEF79EBF1D233B21B1 +S214018CD01C46FEF7C5BF07230F210824FEF7D7BFA2 +S214018CE00020194B984700EB800000EB80005030C5 +S214018CF0164B83FB0023C217C2EBA31212B2FEF778 +S214018D00E6BF1F233F211C46FFF710B800200E4B7D +S214018D10984700EB800050300C4B83FB0023C217B2 +S214018D20C2EBA31212B2FFF745B80020064B9847D4 +S214018D30C0EBC0005030054B83FB0023C217C2EBCB +S214018D40A31212B2FFF77FB8250F010067666666A9 +S214018D500020CA4B9847C0EBC0005030C84B83FB7D +S214018D600023C217C2EBA31212B2FFF77EB800208F +S214018D70C24B9847C0EBC0005030C14B83FB002369 +S214018D80C217C2EBA31212B2FFF781B80020BB4B89 +S214018D90984700EB800080005030B94B83FB0023DE +S214018DA0C217C2EBA31212B2FFF7BAB80020B34B38 +S214018DB0984700EB800080005030B14B83FB0023C6 +S214018DC0C217C2EBA31212B2FFF7BDB80020AB4B1D +S214018DD0984700EB80005030A94B83FB0023C21755 +S214018DE0C2EBA31212B2FFF7E2B80020A34B9847DA +S214018DF0C0EB00105030B0F5A07F02DA0122FFF779 +S214018E00F9B800209D4B9847C0EB001050309C4BA2 +S214018E1083FB0023C217C2EBA31212B2FFF7EAB814 +S214018E200020964B9847C0EB001040005030944B02 +S214018E3083FB0023C217C2EBA31212B2FFF7DAB804 +S214018E4000208E4B9847C0EB00105030B0F5A07F45 +S214018E5002DA0122FFF7E7B80020884B9847C0EBFB +S214018E6000105030864B83FB0023C217C2EBA312BF +S214018E7012B2FFF7D8B80020804B9847C0EB00101D +S214018E80400050307E4B83FB0023C217C2EBA31277 +S214018E9012B2FFF7C8B80020784B9847C0EB001015 +S214018EA05030B0F5A07F02DA0122FFF7D5B80020D6 +S214018EB0724B9847C0EB00105030714B83FB002378 +S214018EC0C217C2EBA31212B2FFF7C6B800206B4B53 +S214018ED09847C0EB001040005030694B83FB0023DD +S214018EE0C217C2EBA31212B2FFF7B6B80020634B4B +S214018EF09847C0EB00105030B0F5A07F02DA01228F +S214018F00FFF7D4B800205D4B9847C0EB00105030F7 +S214018F105B4B83FB0023C217C2EBA31212B2FFF70F +S214018F20C5B80020554B9847C0EB001040005030A4 +S214018F30534B83FB0023C217C2EBA31212B2FFF7F7 +S214018F40B5B800204D4B9847C0EB00105030B0F537 +S214018F50A07F02DA0122FFF7C2B80020474B9847EC +S214018F60C0EB00105030464B83FB0023C217C2EB08 +S214018F70A31212B2FFF7B3B80020404B9847C0EBDC +S214018F800010400050303E4B83FB0023C217C2EB5B +S214018F90A31212B2FFF7A3B80020384B9847C0EBD4 +S214018FA000105030B0F5A07F02DA0122FFF7D9B8E1 +S214018FB00020324B9847C0EB00105030304B83FBFB +S214018FC00023C217C2EBA31212B2FFF7CAB80020E1 +S214018FD02A4B9847C0EB001040005030284B83FBCB +S214018FE00023C217C2EBA31212B2FFF7BAB80020D1 +S214018FF0224B9847C0EB00105030B0F5A07F02DA44 +S2140190000122FFF7C7B800201C4B9847C0EB0010A1 +S21401901050301B4B83FB0023C217C2EBA31212B2C4 +S214019020FFF7B8B80020154B9847C0EB001040007A +S2140190305030134B83FB0023C217C2EBA31212B2AC +S214019040FFF7A8B800200D4B9847C0EB0010503032 +S214019050B0F5A07F02DA0122FFF7B5B80020074B72 +S2140190609847C0EB00105030054B83FB0023C21716 +S214019070C2EBA31212B2FFF7A6B800BF250F01007C +S2140190806766666600201D4B9847C0EB00104000DF +S21401909050301B4B83FB0023C217C2EBA31212B244 +S2140190A0FFF791B80020154B9847C0EB00105030E1 +S2140190B0B0F5A07F02DA0122FFF79EB800200F4B21 +S2140190C09847C0EB001050300D4B83FB0023C217AE +S2140190D0C2EBA31212B2FFF78FB80020074B9847D6 +S2140190E0C0EB001040005030054B83FB0023C21735 +S2140190F0C2EBA31212B2FFF77FB800BF250F010023 +S214019100676666662DE9F047A4B007460E46144624 +S214019110B54B98470546022C0DD0002C40F0FA813D +S214019120B0F90A30002B00F0F381B0F90830002BBB +S21401913073D10120F1E1022200213846AB4B98475A +S21401914008B10320E9E12A7D02F00303023BDBB20A +S214019150012B40F20F8202F0F802202A03D0082ADF +S21401916001D00220D9E10622002138469F4B9847BC +S214019170AB89C34201D10220CFE107220021384644 +S2140191809A4B98476B8A00FB03F31B12B3F5807F5B +S21401919008D0002207F110013046954B984788BB4E +S2140191A00220BAE13846934B984704463846924B1C +S2140191B098470E3501954FF48073009300230246BD +S2140191C021460FA88D4CA0473A8ABDF83C3013447F +S2140191D0ADF83C307B8ABDF83E101944ADF83E1020 +S2140191E0BDF840100A44ADF84020BDF842201344B3 +S2140191F0ADF8423000220FA930467D4B984708B99A +S21401920002208AE148F2AC02002138467C4B98479E +S214019210FF2814BF022001207FE102A93846794BBE +S21401922098470FA8784B98470FAA00213846774BE6 +S21401923098473322002138466C4B984710B10023DB +S2140192408DF85030072200213846684B98476B8AC4 +S21401925000FB03F0041201D100205EE1062200218A +S2140192603846DFF88881C047B5F80C908144A4B22F +S214019270BDF80E200132BDF80A30D21ABDF80C1026 +S2140192800131BDF80830C91A05F10E0301930094A7 +S2140192900FFA89F312B209B204A8DFF860A1D04729 +S2140192A0BDF80820BDF810301344ADF81030BDF8F5 +S2140192B00A30BDF812101944ADF81210BDF814109A +S2140192C00A44ADF81420BDF816201344ADF8163044 +S2140192D0122200213846C047BDF81030181AADF8E2 +S2140192E01000132200213846C047BDF81430184438 +S2140192F0ADF81400102200213846C047BDF81230E0 +S214019300181AADF81200112200213846C047BDF8E0 +S21401931016301844ADF816000FAA314604A83C4B87 +S2140193209847022200213846C047C8B92B7D03F072 +S2140193300303012B2AD9022B00F0D180354B009371 +S214019340354B40F2BB2235490220354CA04700235D +S2140193501A46314607F11000324CA0470020DCE0E7 +S2140193601C20314B984780460122002138461F4B6E +S21401937098470023024604A94046DFF8BCA0D04720 +S21401938007F518714046294B9847CFE7BDF80820E6 +S214019390AB881A4492B210B2ADF80800BDF80A3094 +S2140193A0E9880B449BB219B2ADF80A10B7F910E080 +S2140193B0864503DA2889121AADF80820B7F9122073 +S2140193C08A4203DA6A899B1AADF80A3008A8184B54 +S2140193D0984708AA00213846164B9847ADF828400A +S2140193E064BB002099E000BF854D0000BD4400002D +S2140193F055170100452F0000952F00004DEC000089 +S214019400F5450000292E000051C20000AD500000B5 +S21401941019C30000C850020078950200A096020009 +S21401942045220100D196000025290100A9BD0000B2 +S2140194302D9600005157000015C00000ADF822908F +S214019440EB89ADF824302B8AADF826306A7D9DF87D +S2140194502F3062F300038DF82F30BDF90A30ADF8D6 +S2140194601A305A1E69890A44ADF81E20BDF90E202D +S2140194709A42FFF673AF404CBDF90830ADF818308C +S2140194805A1E29890A44ADF81C20BDF90C209A42BF +S21401949014DB08AB2A68314606A8A0472A89BDF81E +S2140194A0183013441BB2ADF81830BDF81C100A442E +S2140194B0ADF81C20BDF90C209A42EADA6A89BDF89B +S2140194C01A3013441BB2ADF81A30BDF81E100A4408 +S2140194D0ADF81E20BDF90E209A42CDDA3EE708A867 +S2140194E0264B984708AA00213846254B984748F24C +S2140194F0A90200213846234B9847ADF820002B6877 +S2140195000022009208AA314602A81F4CA04725E770 +S214019510012002E0012C03D0002024B0BDE8F08732 +S214019520022200213846194B984750B90FA8184B0C +S2140195309847332200213846144B984740B90020FB +S214019540EBE707F51870134B9847134B9847EDE771 +S21401955000218DF848108DF872108DF864100FAA4E +S21401956038460E4B98470FAA314607F110000C4BB0 +S2140195709847E4E70220D0E7D1960000B5990000AD +S21401958099560000694500000D9A0000BD44000090 +S21401959051C2000079BE000059250100AD500000FF +S2140195A019C3000030B583B004460C4B984768B920 +S2140195B00B4B00934FF4E7720A4903200A4DA84764 +S2140195C02246002309480A498847FEE72046094BF8 +S2140195D09847007DC0F3800003B030BD992200009B +S2140195E0F0950200A09602004522010024480200E0 +S2140195F0A1220000854D00002DE9F04786B0054602 +S2140196000E467C4B984760B97B4B00938F227B4973 +S21401961003207B4CA0472A4600237A487A4988478C +S214019620FEE73046794B984707462846784B9847D9 +S2140196300446022F3AD8032F42D005A93046754B6F +S2140196409847002F55D07B1EDBB2012B66D9022F1F +S21401965000F09980217D67F30101059AC2F38A2201 +S2140196602281BDF81630C3F34A1363819DF81400B6 +S21401967060F3C7012175C2F34902E281C3F34903CE +S21401968023822846644B9847002840F0AA80A38985 +S2140196901BB9638AB3F5807F02D028465F4B984793 +S2140196A028465F4B984706B0BDE8F0875D4B0093B0 +S2140196B0514BA02251490220DFF84481C047BAE746 +S2140196C0594B00934C4BA6224C4902204C4DA847BF +S2140196D0237D03F00303013BDBB2012B02D8206894 +S2140196E0524B984700232360237D43F003032375E1 +S2140196F0D9E74F4B0093404BB42240490120DFF895 +S2140197000081C047237D03F00303013BDBB2012B3D +S21401971002D82068454B984726609BE7D4F800801E +S214019720464594D0237D03F00303013BDBB2022BB5 +S21401973028BF4FF0000830463E4B984701303E4B5D +S214019740984781462B4B984760B92B4B0093C7220D +S2140197502A4903202A4CA0474A46002337482A496B +S2140197608847FEE7B9F1000F9DD031464846344B95 +S2140197709847C4F80090B8F1000F3FF468AF404630 +S2140197802A4B984763E748F28E02002128462D4B64 +S2140197909847814648F2800200212846DFF8B080CB +S2140197A0C047824648F2810200212846C04700236E +S2140197B0029347F618430193009053464A463146B2 +S2140197C004A8214EB047059BBDF8102062F39423F0 +S2140197D005931B0CBDF8122062F34F13ADF816303B +S2140197E038E7B4F90A20B4F908102846174B984709 +S2140197F04DE700BF9922000008960200A0960200DD +S2140198004522010024480200A122000051990000CF +S214019810854D0000D5FD0000A5950100152C000022 +S21401982009330000CC960200EC960200AD2401003C +S2140198301097020007B50100C5230100C03F0200D2 +S214019840F7B4010089460000654001008942000026 +S214019850BD4400002DE9F04182B080460F46584BCA +S21401986098470546574B9847D0B1002D00F08680A3 +S214019870554B1B680BB318212846544B9847044692 +S214019880504B9847F8B9524B00934922514903204F +S214019890514DA84722460023504851498847FEE7C4 +S2140198A04B4B009342224B4903204B4CA0472A4680 +S2140198B000234A484A498847FEE72846494B9847C5 +S2140198C0414B1860D7E7002C5CD000262660237D2C +S2140198D043F0030366F3C70323752846424B9847B4 +S2140198E020812846414B98476081A6814FF48073BA +S2140198F06382637D43F001036375237D43F00403B4 +S2140199002375A680E680E681268239492846394BAA +S214019910984739492846394B9847002F37D038465B +S214019920374B9847037DC3F38003227D63F382029E +S2140199302275438A63828389A381427D637D62F3B4 +S21401994000036375B0F90430A380B0F90630E380F4 +S214019950B0F90E30E381B0F9103023820168284651 +S214019960284B9847FF212846274B9847274B0093BB +S214019970174B7F2217490120174CA047284602B0F3 +S214019980BDE8F0812846224B98470025F6E70F21CF +S2140199902846204B9847314628461F4B98470121B9 +S2140199A028461E4B9847B8F1000F04D0237D43F09C +S2140199B004032375DAE7237D6FF382032375D5E766 +S2140199C00D3E000099220000FC6B0020B92B000020 +S2140199D018960200A096020045220100C03F020030 +S2140199E0A12200003D4D0000452F0000952F0000EC +S2140199F0219A0100152B000005910100712B000032 +S214019A00854D0000F9950100813A00004497020057 +S214019A104D4F0000D1410100892900003529000081 +S214019A202DE9F04385B007461546082921D00C4696 +S214019A30884B1B6898470646012821D1072C2DD054 +S214019A403846854B9847804674BB037D03F0030375 +S214019A50013BDBB2012B13D80068804B98470023EB +S214019A60C8F8003098F8143043F0030388F814302F +S214019A7006E0137843B900F128036B6001262BB189 +S214019A80304605B0BDE8F0830023F6E7714B1B684E +S214019A902A460821384698470646F1E7704928467F +S214019AA0704B98470646EBE7042C53D0062C5BD048 +S214019AB00A2CE5D1438AB3F5807F00F0C580828900 +S214019AC0002A40F0C180BA8A0132398A521A12B28B +S214019AD0F98A0131788A091A09B203FB02F0FF30CC +S214019AE048BFFF3040F30F20121A02EBD272541017 +S214019AF001FB03F3FF3348BFFF3343F30F23CB1AB6 +S214019B0003EBD373581007F10F03173702AA13F8A4 +S214019B10011F02F8011BBB42F9D1A2B2BDF8083001 +S214019B201344ADF80830BDF80C309A1AADF80C2085 +S214019B3083B2BDF80A201A44ADF80A20BDF80E20FB +S214019B40D31AADF80E300022296802A8464B984772 +S214019B50287195E7037D03F00303022B90D101687A +S214019B603846424B98478BE7072200213846404D3E +S214019B70A847B8F8123000FB03F31C120622002196 +S214019B803846A847B8F80C3003441BB21BB922B2BA +S214019B90B2F5807F31D0B8F90A20B8F9081008F17B +S214019BA00E000190A4B2009402A8324CA047B7F967 +S214019BB03210BDF90830CB1A8B42B8BF0B461BB228 +S214019BC0BDF90A208A1A9342B8BF13461BB27B8698 +S214019BD0BDF90C200A44B8F90800121A9342B8BF1E +S214019BE013461BB27B86BDF90E200A44B8F90A104B +S214019BF0521A9342B8BF13467B861222002138467A +S214019C00DFF86C80C0478146132200213846C047E2 +S214019C100446102200213846C0470546112200217D +S214019C203846C0474C45B8BF4C46B7F9323022B229 +S214019C309342B8BF1346AB42B8BF2B461BB29842FD +S214019C40B8BF184678861BE7296838460A4B9847F6 +S214019C50287115E7FC6B0020854D0000AD2401003E +S214019C60549702007D500000A1150100F9950100EE +S214019C70BD4400004DEC00003D50000010B5094BFE +S214019C8098470446437C13F0010F03D0406808B19F +S214019C90054B9847637C6FF300036374002363608E +S214019CA010BD00BF854D0000AD240100F8B5074684 +S214019CB01E4B9847037C03F00703022B00D0F8BD28 +S214019CC0044601894FF6FF739942F8D0184B1B687A +S214019CD003390068984706463846144B9847437C34 +S214019CE013F0010F14BF40680430236803EB060E1F +S214019CF09B5DC3B100252B46425D8EF800200133E3 +S214019D00DBB21D46F218216801EB020E8A5C002ABE +S214019D10F2D1435D8EF800303846064B98474FF631 +S214019D20FF732381CBE70025F3E700BF854D0000D5 +S214019D305C0000207D9C010038B504460D46034BAF +S214019D409847C5812046024B984738BD854D00008F +S214019D500933000038B504460D46034B9847858104 +S214019D602046024B984738BD854D00000933000058 +S214019D702DE9F84306460C46124B9847122200215D +S214019D803046114DA8478046132200213046A84789 +S214019D908146102200213046A8470746112200219D +S214019DA03046A84723889844A4F80080A388A3EBEC +S214019DB00903A38063881F446780E388181AE0803C +S214019DC0BDE8F883292E0000BD440000F0B583B03D +S214019DD006460F461546184B984704463046174B1D +S214019DE09847042D1CD9681C154B9847606060B1D4 +S214019DF02A463946134B9847636800225A55637CB6 +S214019E0043F001036374012014E00F4B00930F4BE2 +S214019E1040F2B5520E4903200E4CA047002009E03F +S214019E20637C6FF3000363742A463946201D054B95 +S214019E309847012003B0F0BD854D00007D9C0100D0 +S214019E40C52301003D260100AC9902005C97020083 +S214019E507C9902004522010030B583B004460D46C8 +S214019E60104B984768B9104B00934FF4C4720F49D2 +S214019E7003200F4DA847224600230E480E49884767 +S214019E80FEE720460D4B9847037CC3F30113AB4214 +S214019E9006D0037C65F3051303742046084B9847E8 +S214019EA003B030BD99220000749702007C9902002D +S214019EB04522010024480200A1220000854D000031 +S214019EC00933000030B583B004460B4B984768B998 +S214019ED00A4B00934FF4F27209490320094DA84733 +S214019EE022460023084809498847FEE72046084BD2 +S214019EF09847006803B030BD99220000C097020061 +S214019F007C9902004522010024480200A12200009B +S214019F10854D000030B583B004460C4B984768B9B0 +S214019F200B4B00934FF4F9720A4903200A4DA847D8 +S214019F302246002309480A498847FEE72046094B7E +S214019F409847007C00F0070003B030BD992200005E +S214019F50D49702007C9902004522010024480200A1 +S214019F60A1220000854D000030B583B004460E4B9B +S214019F70984768B90D4B009340F2FF120C49032035 +S214019F800C4DA847224600230B480C498847FEE79C +S214019F9020460B4B9847007CC0F30110032808BFEE +S214019FA0002003B030BD00BF99220000EC970200EC +S214019FB07C9902004522010024480200A1220000EB +S214019FC0854D000030B583B004460C4B984768B900 +S214019FD00B4B009340F21B220A4903200A4DA84767 +S214019FE02246002309480A498847FEE72046094BCE +S214019FF09847007CC0F3801003B030BD9922000062 +S21401A000009802007C9902004522010024480200C3 +S21401A010A1220000854D00002DE9F04F8FB00546C6 +S21401A02005919E4B984768B99D4B009340F2A52237 +S21401A0309C4903209C4CA0472A4600239B489C49E8 +S21401A0408847FEE7059E3046944B984768B9944B7F +S21401A050009340F2A62293490320934CA047324630 +S21401A0600023924892498847FEE70CA92846914B5F +S21401A07098472846904B9847074628468F4B98475F +S21401A0800646BDF834300133BDF830209B1A1BB2AA +S21401A090069348F28E0200212846894B984781464E +S21401A0A0039048F2810200212846DFF83082C0473B +S21401A0B0044648F2800200212846C0470490B9F9B8 +S21401A0C008B0337CC3F3801613F0800F18BF46F038 +S21401A0D0020613F0070F08BF46F010062846794B14 +S21401A0E098478246012837D146F004063B78002B74 +S21401A0F03AD1B84600252C46611B0096049B039A6C +S21401A10089B24046DFF8D891C847BDF834300133EC +S21401A110BDF830209B1A1BB203EBD37300EBD07053 +S21401A1204FEA6009C9EB63030FFA83F900238DF840 +S21401A1302F300A93002C40F0A180634E33680A99B1 +S21401A140404698470446336829463846984720448F +S21401A15080B20FB0BDE8F08F022840F0968046F03E +S21401A16008063B78002B48D0B8464FF000094D460C +S21401A1700BEB0403079309E0079B99440FFA89F94F +S21401A18007EB000805463B5C002B34D00096069B87 +S21401A190049A039940464D4CA0472844059BB3F9C1 +S21401A1A0022009EB0B039A42E6DC04460EA941F8AD +S21401A1B0140D474B1B68384698470A2802D03B5D6A +S21401A1C003B90134BAF1010F96D0BAF1020F18D1D2 +S21401A1D0611B0096049B039A89B24046DFF8009102 +S21401A1E0C847BDF834300133BDF830209B1A1B1A1E +S21401A1F00FFA83F99AE70446E4E7B84600252C46A9 +S21401A200E6E74FF0000991E7079A06990398314B64 +S21401A210984700EB09039BB2059AB2F900101AB2EF +S21401A220914228DB0A9A5119A14224D0795C11B3D4 +S21401A23004990B440FFA83F993460A9B2B44A342D5 +S21401A240BFF47BAFDAF800300AA94046984706907B +S21401A250DAF8003000210A98404498470790002E0B +S21401A260D2D00A9B18F803100DF12F001A4B98470D +S21401A2700028E2D1C8E7CDF828B05EE74FF0000B22 +S21401A280DFF860A006F00106D7E73B78002B7FF4E5 +S21401A2906BAFB84600252C46A94647E79922000031 +S21401A2A0489802007C9902004522010024480200D9 +S21401A2B0A1220000719D0100C59E0100854D000090 +S21401A2C089460000699F010064000020993D010055 +S21401A2D06800002049000100513D0100BD44000016 +S21401A2E0C53F0100580000202DE9F04F99B0044603 +S21401A2F0AF4B98470368002B48D0054616A9204661 +S21401A300AC4B9847BDF85C600136BDF85830F61A7C +S21401A31036B248F28E0200212046A74B9847804667 +S21401A32048F2810200212046A44FB847814648F2F0 +S21401A330800200212046B84707462B7CC3F38012D3 +S21401A34013F0800F18BF42F0020213F0070F08BF88 +S21401A35042F01002296802920196CDF80090034659 +S21401A360424615A8964EB0472B7C13F0070310D033 +S21401A370032B34D0042B00F0D780022B00F06D8124 +S21401A380012B00F0FE8120468E4B984719B0BDE8A0 +S21401A390F08F122200212046884EB0470546132230 +S21401A3A000212046B0472844BDF854502844ADF853 +S21401A3B05400102200212046B047054611220021F4 +S21401A3C02046B0472A18BDF85600024412B2ADF82E +S21401A3D05620BDF9541020467B4B9847D3E705A875 +S21401A3E07A4B984705944FF6FF73ADF84830202214 +S21401A3F011464046764B984738444FF47A7303FB30 +S21401A40000F3688993FBF0F303EB43039BB20F93CE +S21401A4101193BDF95420BDF85C300133BDF85810D6 +S21401A4205B1A9BB219B28A4237DD9B1A1AB2002117 +S21401A4300B910C92674E06966889674B98470D906C +S21401A440109031462046654B984718B3426A90F8FB +S21401A4503C3003F001030D998A4211DA0E929DF801 +S21401A4604A206FF300028DF84A204BB19DF8503018 +S21401A47043F001038DF850300B9B0C9A0B920C9312 +S21401A48005A8574B984757492046574B98470023EE +S21401A490EB8178E700231A46DDE74E492046524B0A +S21401A4A098470023AB81BDF95620BDF85E300133D5 +S21401A4B0BDF85A105B1A9BB219B28A42E3DD9A1AAA +S21401A4C0B8F80830D21A12B200210B910C92454E00 +S21401A4D006966889404B98470D9010903146204665 +S21401A4E03E4B9847E8B1426A90F83C3003F00103CE +S21401A4F00D998A4211DA0E929DF84A206FF30002F6 +S21401A5008DF84A204BB19DF8503043F001038DF889 +S21401A51050300B9B0C9A0B920C9305A8304B984726 +S21401A52031E700231A46E3E705A8284B9847059428 +S21401A5304FF6FF73ADF84830BDF85C300133BDF817 +S21401A54058209B1ABDF954201BB29A4250DD202296 +S21401A550114640461E4B9847C0EB803300EB830202 +S21401A560BDF85430D21A12B200210B910C92194E3A +S21401A57006966889184B98470D9031462046174B2A +S21401A5809847002832D0436A0D9A934206DA0E9312 +S21401A5909DF84A306FF300038DF84A3005A8104B3A +S21401A5A0984710492046104B98470023EB81EAE66E +S21401A5B0854D0000719D010089460000BD440000E4 +S21401A5C0654001000933000089420000CD120100F8 +S21401A5D049000100559D0100791401003D14010058 +S21401A5E089130100399D0100111301000023CBE7F7 +S21401A5F06E4920466E4B98470023AB81BDF9562025 +S21401A600BDF85E300133BDF85A105B1A1BB29A4290 +S21401A610C7DDB8F808301A44524212B200210B9135 +S21401A6200C92644E06966889634B98470D903146A6 +S21401A6302046624B984770B1436A0D9A934206DAF8 +S21401A6400E939DF84A306FF300038DF84A3005A843 +S21401A6505B4B984797E60023EFE7BDF85E30013382 +S21401A660BDF85A209B1ABDF956201BB29A4203DC4C +S21401A6704FF6FF732B8186E6524B1B682868984776 +S21401A680032803D84FF6FF732B817CE6BDF85C6088 +S21401A6900136BDF85830F61AB6B22E22114640469B +S21401A6A0494B98473844C0EB803300EB8300304475 +S21401A6B0ADF81000BDF85E300133BDF85A209B1A84 +S21401A6C09BB218B2B8F908204A4490FBF2F102FB9B +S21401A6D011029B1AA3EB0909ADF8129004A92046B2 +S21401A6E03A4B9847804607462E683046384B98477F +S21401A6F08146384B1B6841463046984706460590CA +S21401A70000F10308C1450ED2DFF8DCA0286830440A +S21401A710DAF800309847059E361A0596013F06F18D +S21401A7200308C145F2D34FF0040A4FF00009DFF8E1 +S21401A730B8B02868059B1844DBF800309847814478 +S21401A7405FFA89F905A92868234B1B689847BAF16F +S21401A750010AEED129684A46314420461F4B9847E4 +S21401A76000283FF410AEF11C2E222B689A550136B4 +S21401A7708E42FAD12B68002203F8082003372F8176 +S21401A78001E6102200212046154EB047054611224B +S21401A79000212046B0472918BDF85600014409B2E9 +S21401A7A0ADF8561020460F4B9847ECE5559D010035 +S21401A7B011130100399D0100791401003D140100B7 +S21401A7C089130100600000204900010019A0010062 +S21401A7D007B501005C00002058000020CD9D010057 +S21401A7E0BD4400009D43000054000020F0B583B036 +S21401A7F006460D46404B984760B9404B0093B82239 +S21401A8003F4903203F4CA047324600233E483F497C +S21401A8108847FEE730463E4B984730463D4B9847C3 +S21401A820044605B32846344B984708B32768BD420B +S21401A8302BD01FB1237C13F0080F49D02846364B86 +S21401A84098470130354B984720602B4B9847002896 +S21401A85044D0206850B12946314B9847237C6FF38A +S21401A860C303237430E030462E4B984703B0F0BD47 +S21401A870224B0093C42222490320224CA0472A4699 +S21401A8800023214821498847FEE7237C13F0080F5F +S21401A890D4D13846204B9847411C3846224B98471E +S21401A8A02060154B984760B9144B0093D522144984 +S21401A8B00320144DA847226800231C4813498847E3 +S21401A8C0FEE72368002BD1D03046164B9847CDE7DC +S21401A8D03846174B984700232360AFE7074B009392 +S21401A8E0EE2207490320074DA847226800230F4898 +S21401A8F006498847FEE700BF9922000060980200DB +S21401A9007C9902004522010024480200A122000091 +S21401A91009330000854D000007B50100C52301007D +S21401A920F7B40100E9A2010081280100C03F02003E +S21401A930AD24010070B582B005460E46144B98470B +S21401A94068B9144B00934FF4A67213490320134CB5 +S21401A950A0472A460023124812498847FEE72846A0 +S21401A960114B98470446037C13F0080F05D1006885 +S21401A97018B10E4B98470023236026B1237C43F081 +S21401A9800803237426602846094B984702B070BD19 +S21401A990992200008C9802007C9902004522010051 +S21401A9A024480200A1220000854D0000AD240100CC +S21401A9B0E9A20100F0B583B005460F46224B984741 +S21401A9C068B9224B009340F2651221490320214CBD +S21401A9D0A0472A460023204820498847FEE7284604 +S21401A9E01F4B984704461F4928461F4EB0471F492C +S21401A9F02846B0471E492846B0471E492846B04754 +S21401AA000023A381E381FB1EDBB2022B237C94BFD0 +S21401AA1043F080036FF3C7132374237C03F007030B +S21401AA20022B08D0237C67F3020323742846124BBB +S21401AA30984703B0F0BD22894FF6FF739A42F1D0D2 +S21401AA4028460E4B9847EDE799220000A898020089 +S21401AA507C9902004522010024480200A122000040 +S21401AA60854D0000113500001113010071350000FD +S21401AA70559D0100399D0100E9A20100AD9C010030 +S21401AA8030B583B004460D46104B984768B9104B55 +S21401AA9000934FF4CD720F4903200F4DA84722466D +S21401AAA000230E480E498847FEE720460D4B98477F +S21401AAB0037CC3F38013AB4206D0037C65F3861395 +S21401AAC003742046084B984703B030BD9922000016 +S21401AAD0C09802007C990200452201002448020029 +S21401AAE0A1220000854D0000E9A201002DE9F041F8 +S21401AAF082B00F46794B98470446794B9847E8B1A0 +S21401AB00002C00F09A80774B1B6823B31421204653 +S21401AB10754B98472046754B98470546704B9847A6 +S21401AB20F8B9734B00935D2272490320724CA0471B +S21401AB302A460023714872498847FEE76C4B00930A +S21401AB4054226C4903206C4DA847224600236B48CB +S21401AB506B498847FEE720466A4B9847614B186069 +S21401AB60D4E7002D6DD000232B602A7C02F0B702BB +S21401AB704FF6FF71298142F0300263F302022A7414 +S21401AB8019226A81AB81EB816B606A7C63F30002F8 +S21401AB906A745D4920465D4B98475D4920465D4B8A +S21401ABA09847002F52D03846504B984706463846AD +S21401ABB0594B984701462046584B98473846584BBC +S21401ABC0984701462046574B98473846564B984774 +S21401ABD001462046554B9847337C13F0080F46D163 +S21401ABE03846534B984701462046524B9847337C8C +S21401ABF003F00703022B42D0737C13F0010F64D0DD +S21401AC007068002861D04C4B984782B2696820462C +S21401AC104A4B9847727C6B7C62F300036B743389F2 +S21401AC202B81FF212046464B9847464B0093304BDD +S21401AC30A82230490120304DA847204602B0BDE881 +S21401AC40F0812046404B98470024F6E71221204623 +S21401AC503E4B9847002120463D4B98470021204611 +S21401AC602E4B98473B492046324B9847DDE73846FE +S21401AC702F4B984701462046374B9847B7E72F6832 +S21401AC803068364B984701463846354B984728601A +S21401AC90134B984760B9164B00939522154903202C +S21401ACA0154CA0472A680023144815498847FEE733 +S21401ACB02F6887B1D6F800804046284B9847024651 +S21401ACC041463846274B984796E70422B118A818FC +S21401ACD0244B98479EE70024AFE700BF0D3E0000D7 +S21401ACE099220000006C0020B92B0000854D000061 +S21401ACF0D89802007C99020045220100C03F02005C +S21401AD00A12200003D4D0000E9AE0100712B0000BC +S21401AD1069AD0100152B0000159F0100B5A90100C2 +S21401AD20C59F010081AA0100699F0100599E01008B +S21401AD30C59E0100EDA7010007B50100CD9D0100EC +S21401AD40813A0000E09902004D4F0000D141010018 +S21401AD5089290000D899020035A90100392501008A +S21401AD60812801003D2601002DE9F04107461546E0 +S21401AD70082915D00C46304B1B6898470646012813 +S21401AD8015D1072C20D038462C4B9847804644BB1B +S21401AD90037C13F0080F1DD03846294B984706E070 +S21401ADA013783BB900F128036B60012623B13046C6 +S21401ADB0BDE8F0810023F7E71F4B1B682A460821F0 +S21401ADC0384698470646F2E71E4928461E4B9847DE +S21401ADD00646ECE700681D4B98470023C8F800308C +S21401ADE0DAE7042C14D0022CE1D1AA8801322B8890 +S21401ADF0D21ABB8A0133398A5B1A92B29BB29A4243 +S21401AE000DD03846124B98473846124B9847CEE736 +S21401AE1038460F4B984738460E4B9847C7E7EA889F +S21401AE2001326B88D21AFB8A0133798A5B1A92B295 +S21401AE309BB29A42E5D1BAE7006C0020854D00002E +S21401AE407D9C0100F09902007D500000AD240100B8 +S21401AE50AD9C0100E9A2010030B583B004460A4B5F +S21401AE60984718B14FF6FF7003B030BD074B0093FB +S21401AE7040F21D3206490320064DA847224600230C +S21401AE80054806498847FEE7992200000099020016 +S21401AE907C9902004522010024480200A1220000FC +S21401AEA030B583B004460A4B984718B14FF6FF7089 +S21401AEB003B030BD074B00934FF44C720649032094 +S21401AEC0064DA84722460023054806498847FEE75F +S21401AED0992200001C9902007C990200452201007B +S21401AEE024480200A1220000022A00F01E810AB1B5 +S21401AEF0002070472DE9F043A9B00F4605468C4B5C +S21401AF00984780460422002128468A4CA04781465D +S21401AF10052200212846A04705F10F0305F1170673 +S21401AF2006AA13F8014F02F8014BB342F9D11FFAF2 +S21401AF3089F9BDF81830A3EB0903ADF81830BDF850 +S21401AF401C309944ADF81C9080B2BDF81A301B1A1B +S21401AF50ADF81A30BDF81E301844ADF81E0013A81F +S21401AF60754B984713AA00212846744B984713AA95 +S21401AF70394606A8724B984708A92846714B984748 +S21401AF8008AA39460AA8704B984710B929B0BDE8F7 +S21401AF90F08328466D4B984798F81030C3F3801419 +S21401AFA013F0800F18BF44F0020413F0070F08BF18 +S21401AFB044F01004012838D0022808BF44F00804E1 +S21401AFC00CA8634B98472846624B9847ADF83E005D +S21401AFD02846614B9847ADF84000B8F90C30ADF8FB +S21401AFE04230B8F90E30ADF844308DF847400CAA1F +S21401AFF000212846594B984798F8102002F007037D +S21401B000033BDBB2012B13D9D8F8003000220092A3 +S21401B0100CAA0AA908A8524DA84798F8103003F0C0 +S21401B0200703042B2BD00020B0E744F00404C7E745 +S21401B03002F03002102A01D0202AE5D1BDF93C30B9 +S21401B040D8F80010029447F618420192BDF93A204A +S21401B05000920D9A05A8434DA847BDF82430013348 +S21401B060BDF820209B1ABDF914201BB29A42CBDDF5 +S21401B0709DF8473023F00C038DF84730C4E7BDF93F +S21401B0803C30D8F80010029447F618420192BDF9F8 +S21401B0903A2000920D9A05A8324CA047BDF914201B +S21401B0A0BDF824300133BDF820105B1A1BB29A425A +S21401B0B020DCBDF91620BDF826300133BDF822107C +S21401B0C05B1A1BB29A42AEDDB8F90C30ADF84230CD +S21401B0D00D9B1B891344B8F80E201344ADF8443079 +S21401B0E0D8F80030002200920CAA0AA908A81C4C25 +S21401B0F0A04798E7B8F80C40224494B220221146A3 +S21401B1000D98194B984700EB40000444ADF84240B7 +S21401B110B8F90E30ADF84430D8F80030002200926D +S21401B1200CAA0AA908A8A847C3E70220704700BFCF +S21401B130854D0000BD44000051C20000AD50000026 +S21401B14019C30000719D010001150100699F0100EE +S21401B150B599000059AE0100A1AE01009956000054 +S21401B1600D9A0000654001004900010053B94AB933 +S21401B170002908BF00281CBF4FF0FF314FF0FF30F9 +S21401B18000F07AB9ADF1080C6DE904CE00F006F8CE +S21401B190DDF804E0DDE9022304B070472DE9F0474D +S21401B1A08C460D460446089E002B51D18A4217460E +S21401B1B06DD9B2FA82FEBEF1000F0BD0CEF1200C93 +S21401B1C001FA0EF520FA0CFC02FA0EF74CEA050C11 +S21401B1D000FA0EF44FEA174A250CBCFBFAF81FFAE0 +S21401B1E087F90AFB18CC45EA0C4508FB09F3AB4284 +S21401B1F00AD9ED1908F1FF3280F02381AB4240F203 +S21401B2002081A8F102083D44ED1AA4B2B5FBFAF07C +S21401B2100AFB105544EA054400FB09F9A14509D982 +S21401B220E41900F1FF3380F00A81A14540F207815D +S21401B23002383C44A4EB090440EA08400021002EF1 +S21401B24061D024FA0EF4002334607360BDE8F08701 +S21401B2508B4207D9002E54D0002186E821000846EB +S21401B260BDE8F087B3FA83F1002940F08E80AB4247 +S21401B27002D3824200F2FA80841A65EB03050120AC +S21401B280AC46002E3FD086E81010BDE8F08712B914 +S21401B2900127B7FBF2F7B7FA87FEBEF1000F34D1EC +S21401B2A0EB1B3A0C1FFA87FC0121B3FBF2F8250CC5 +S21401B2B002FB183345EA03450CFB08F3AB4207D9FA +S21401B2C0ED1908F1FF3002D2AB4200F2D180804680 +S21401B2D0ED1AA3B2B5FBF2F002FB105543EA0544A2 +S21401B2E00CFB00FCA44507D9E41900F1FF3302D298 +S21401B2F0A44500F2B8801846A4EB0C0440EA0840C6 +S21401B3009DE731463046BDE8F087CEF1200405FAC8 +S21401B3100EF307FA0EF720FA04F83A0C25FA04F4AD +S21401B32048EA0308B4FBF2F14FEA184502FB114460 +S21401B3301FFA87FC45EA044501FB0CF3AB4200FA11 +S21401B3400EF409D9ED1901F1FF3080F08A80AB4285 +S21401B35040F2878002393D44EB1A1FFA88F5B3FBA9 +S21401B360F2F002FB103345EA034500FB0CF3AB4257 +S21401B37007D9ED1900F1FF386FD2AB426DD902380B +S21401B3803D44EB1A40EA01418FE7C1F1200722FA5A +S21401B39007F88B4005FA01F448EA030320FA07FE92 +S21401B3A04FEA134CFD404EEA040EB5FBFCF94FEA9A +S21401B3B01E440CFB19551FFA83F844EA054509FBA0 +S21401B3C008F4AC4202FA01F200FA01FA08D9ED18C3 +S21401B3D009F1FF3043D2AC4241D9A9F102091D441B +S21401B3E02D1B1FFA8EFEB5FBFCF00CFB10554EEA2A +S21401B3F0054400FB08F8A04507D9E41800F1FF351D +S21401B40029D2A04527D902381C4440EA0940A4EBBA +S21401B4100804A0FB02894C45C6464D4615D312D0FA +S21401B42056B1BAEB0E0364EB050404FA07F7CB40FA +S21401B4301F43CC40376074600021BDE8F087184692 +S21401B440F8E69046E0E6C245EAD2B8EB020E69EBB2 +S21401B45003050138E4E72846D7E7404691E78146E9 +S21401B460BEE7014678E702383C4445E7084608E768 +S21401B470A8F102083D442BE7704700BF70B50D4E9A +S21401B4800D4CA41BA4100025A54209D10B4E0C4C53 +S21401B4900EF0B4FAA41BA4100025A54205D170BD78 +S21401B4A056F8253098470135EEE756F82530984787 +S21401B4B00135F2E7089A0200089A0200089A02008B +S21401B4C00C9A020010B501390244904201D10020C5 +S21401B4D010BD10F8013B11F8014FA342F5D0181B1F +S21401B4E010BD10F8012B11F8013B012A28BF9A4222 +S21401B4F0F7D0D01A7047034611F8012B03F8012B39 +S21401B500002AF9D17047034613F8012B002AFBD114 +S21401B510181A0138704700002E2E2F68706C2F7095 +S21401B5206F72742F68706C5F6770696F5F626173AA +S21401B530652E68002E2E2F68616C2F7372632F683C +S21401B540616C5F696F2E63002E2E2F68616C2F73FE +S21401B55072632F68616C5F74696D65722E6300009B +S21401B5602E2E2F68616C2F7372632F68616C5F7566 +S21401B570736172745F6173796E632E6300000000FD +S21401B5802E2E2F68616C2F7574696C732F7372631E +S21401B5902F7574696C735F6C6973742E6300000099 +S21401B5A02E2E2F68616C2F7574696C732F737263FE +S21401B5B02F7574696C735F72696E6762756666650E +S21401B5C0722E63000030004000340040002001412C +S21401B5D0004001410000004300040043000800430E +S21401B5E0000C0043030000001400200000010000CE +S21401B5F0FF0000000000D700000427072E2E2F684A +S21401B600706C2F736572636F6D2F68706C5F7365F6 +S21401B61072636F6D2E63000000380040003C0040EE +S21401B62000A0014100C00141001400420018004280 +S21401B630001400430018004300006B0008030000DC +S21401B64000000000973A0000000000002E2E2F6830 +S21401B650706C2F74632F68706C5F74632E630000C8 +S21401B6600AE462165B8500006CB601000B0607FF54 +S21401B6702C88ACFF251F87FF395189FF6DC4DCFF7D +S21401B6804883C8FF3256C6FF4D4346FF160A48FF99 +S21401B6905CA2BCFF382DC2FF676C8BFF2D2748FFCD +S21401B6A0223689FF416DC7FF7685C3FF9AA4C6FF80 +S21401B6B02035A5FF212669FF3951A9FFA9E2E8FF38 +S21401B6C02E2426FF406EE9FF4388E9FF4BA6AEFF16 +S21401B6D0483887FFC9C4C5FF336EA8FF6A6469FF8F +S21401B6E04056E4FF2E3469FF170928FF4E55A8FF80 +S21401B6F096A9E7FF838383FF1B1067FF80889EFF61 +S21401B700606EC7FF5FA6E7FF4796E9FF7987E6FF0A +S21401B7102E20A9FF274569FF35438AFF646FA7FFDF +S21401B720293349FFAFB5C0FF5F5789FF4355C7FFB0 +S21401B7302D46A9FF89979FFF3F60ABFF1D2C88FF11 +S21401B7404879C9FF1B1527FF8294C6FF2F2869FF7A +S21401B75069B6E6FF84D4DFFF1B1548FF6493C8FF74 +S21401B7605B6EE6FF1547C1FFBCC4E4FF1E3798FFBA +S21401B7704363C6FFE8E4E1FF2A5473FF3E3A67FFDE +S21401B7802B53B7FF322B87FF608AE6FF1E1419FF83 +S21401B7904884D6FF3F3738FF6499EAFF8198D6FF81 +S21401B7A0475F87FF212659FF1A1637FF5055E6FFD8 +S21401B7B0776E88FF94A8D8FF737AA9FF221957FFDE +S21401B7C072A8EBFFDEF3F6FF9EA5A3FF493DE0FF5F +S21401B7D0241C67FF948CA2FF5462A8FF83C4ECFF6D +S21401B7E0486ED7FF3F47A9FF383AA9FFD6D4D5FF01 +S21401B7F03779A7FF5462E7FF615859FF484688FF2B +S21401B800A7B4D6FF9A99B0FF36509BFF202678FF43 +S21401B810282339FFB4B5B3FF457AE7FF96B5E8FFAD +S21401B820313359FF467AD8FFA29AC1FF160C16FF8C +S21401B8307E88B1FF636288FF797679FF302976FFCB +S21401B840433DC1FF303C97FF2D3679FF4C4767FFDC +S21401B850304599FF60B5BFFF5F97F7FF4B62D7FF93 +S21401B8605C87C9FF182D95FF5979E8FF4549C0FF48 +S21401B8708F9694FF29979CFFAEDDEBFF64AAC0FF6D +S21401B880789AE9FFD1EAF3FF3262C5FF3E34D8FF6A +S21401B890615A68FF4298DAFF3E64F1FF788692FFAC +S21401B8A059B8D8FF627AC6FFDDDCE4FF7C7C86FFF0 +S21401B8B0544A57FF4FA9DAFF7B8AD5FFA4A9AFFFE9 +S21401B8C07BA5D9FFCDCDD6FF6F6B76FF7CD2ECFF83 +S21401B8D094B8F7FF3199A9FF6C7684FF82CBE1FF1C +S21401B8E01950D8FF7BB5F5FF496DB9FF4779BBFF06 +S21401B8F0342BACFF5E89D7FF5486A4FF292197FF1E +S21401B900180C57FFAFAAC3FFBFE6EDFF64ACACFF50 +S21401B910150837FF5CA5F9FF32447BFFBFBCC1FFAA +S21401B9207E9BF6FF5A5778FF5F6EB7FF4B6199FF14 +S21401B930647AB9FF221A77FF474799FF666298FF34 +S21401B9404587F6FF96A9F6FF1C1277FF4C96F7FF80 +S21401B9504A54D8FFB6C7FBFF403A78FF5F87FAFF25 +S21401B9607AA6F5FF978BAEFF4A4878FFBBD7F8FF5C +S21401B970F8FAFBFF9AC8F2FFEBEBEEFF496EFBFF0E +S21401B9804F62B7FF5964FBFF6579D9FF303988FFED +S21401B990473797FF423948FF251829FF9BDAE4FF0E +S21401B9A0251748FF999DD7FF251838FF5256F7FFF0 +S21401B9B0495299FFB4BCE5FF3E375AFF4C9498FFB5 +S21401B9C06695D9FFD4D2FCFF4E58B7FF5D5997FF55 +S21401B9D03F34C3FF4B49DCFF6B7895FF3B61B9FFF2 +S21401B9E0312998FF437AF9FF463CD0FF5B78FBFF8D +S21401B9F07B7B99FF233CA6FF8B9DC7FFDFDBDAFF2E +S21401BA00505388FF969B9FFF7AB9EAFF3A55B7FFD6 +S21401BA102F2A57FFA7ABD7FFBBBAD9FF382938FF64 +S21401BA20898B8EFF69BBDBFFA1D7ECFFABB8F8FFB4 +S21401BA30686F96FF516CABFF5D6FD8FF5B6EFBFFC7 +S21401BA40777099FF3163D5FF4848D1FF445AFCFF10 +S21401BA5073CCDCFF544B4BFF7A8CC3FF9FACC6FF05 +S21401BA60372C2BFFCFCBCBFF6F6B6BFF70707070DB +S21401BA707070707070707070704870707070484838 +S21401BA8048363636CB690CE92D444477E9121277ED +S21401BA90C8793113133176C8C87931133131E2E2EE +S21401BAA0E2407E40E2E2E240E231C525A285C730AF +S21401BAB05EB3760D46464646DD4040405F5E13D196 +S21401BAC0B32B765F5F7676C8C840A29C56C114E752 +S21401BAD0BD3904BDE73A269CA7040414E7BCE07B05 +S21401BAE0EFEF4780803DBCF333479C56C1C1565C9F +S21401BAF0EE9CE79CF939EF563AF9869C85C70E0EFF +S21401BB00C755CC9C4BE756C1C2A2359F9F9F9F9FAE +S21401BB109F9F9F333320676779796720202013DC46 +S21401BB201767121E4E707070707070707070707043 +S21401BB30707048707070484848483636360C4E6902 +S21401BB40692D2B2B2B1E4E7477C879315E313176D9 +S21401BB50C8C87931133131E2E2E24034403131E292 +S21401BB6031D79F9FC52528C7305EB3760D3434463E +S21401BB70467E40404076B313D1B32B2B5F5F7640B1 +S21401BB807676406E9C86C1860439E7F955399C5510 +S21401BB909C869CEE145CBCF47BEF8347805E62BCA3 +S21401BBA0F320470486C1C1C1F90483C2E7F9399C71 +S21401BBB0C1CCF9A79C4B353535D55CA7EF555C56FE +S21401BBC0C1EFD53C7D7D7D7D05050505A09F9FC503 +S21401BBD033333333333333DC176E13770D747070AE +S21401BBE07070707070707070707048364870704801 +S21401BBF0484836CB36CB4E4E0C1E1EBBB32BC84E1A +S21401BC007777C82B7979797976C8C8793113133162 +S21401BC1031E2E24040E2311333AFC51331E8F32895 +S21401BC20F3E85EB3760D343446467E7E404076B306 +S21401BC3013D1B32B2B5F3176407676406E9CA78668 +S21401BC40563A39E73A5555F926E7869CEE839CB570 +S21401BC50E0BCEF834B5EB37CE0F3136EE786C1C1B5 +S21401BC60C13A3AA7E75504559CC183043AE7A2674F +S21401BC70A0A2555CA7149E5C56C18326D53C3C3CCD +S21401BC803C3C7D7D0505359F9FDCDC9FC5C513319A +S21401BC900E6E3333340D0D7070707070707070707E +S21401BCA0707070483648707048484836CB36691E02 +S21401BCB00C0C79BBBBBB2BC84E7477C8C8C82B2BE2 +S21401BCC0C8C8C8767931131331313131E27631C5BE +S21401BCD0AFC513767631E825F341E8B3B3760D3474 +S21401BCE0343434344040115FB3D1D1B32B76313183 +S21401BCF07676767640F3E7C2C0C1A704043A555576 +S21401BD000426E7863A8DCC9CB8E0BCC2CC4B5EB329 +S21401BD107CE03DD16E39A7C1C1C18383A739260412 +S21401BD20559CC114E79E4B9F643585995CA7149E6C +S21401BD30E786C18326D53C7D3C3C3C7D7D0505A040 +S21401BD409F9FDC33DCC5DC137945790D0D68740DD6 +S21401BD50707070707070707070707070364870703F +S21401BD6070484836CBCBCBCF12691E2BBBBB6D2B95 +S21401BD702B127477C82B2B7676C8C8C87679311300 +S21401BD80133131133131139FAF33794076760D7904 +S21401BD90E8E8E85EB3B3760D34343434347E4011CB +S21401BDA05FB31313677976313176767676760E3908 +S21401BDB0EF56C1C13A04CC392604263986EF8DCC1C +S21401BDC09CB8E0BC5CCC4B5E647CBC3DD10E55A7F8 +S21401BDD0C1C1C1A7CCA7E726EE559C56835547356A +S21401BDE0B0F149219C3A14149EE786C18326D53CBE +S21401BDF07D7D7D7D7D05053535A09FDC33331313B1 +S21401BE007979760D7933741268707070707070700D +S21401BE1070707070484870707048483636CBCBCB1F +S21401BE2036360CC82BBB44D379BB127477C82B7932 +S21401BE3079797976C8C879311313131331139FAF03 +S21401BE40DC133176404034E62CE231315EB379764C +S21401BE500D0D343434344040115FB3131313B376ED +S21401BE605F317976C87676413914C1C1C1CC0414E4 +S21401BE70E74BEE2655A7838D3A9CB8F4BCE7CC4B2E +S21401BE805EB37CBC3D130E2683C1C1C1839CA7E76C +S21401BE9026E755E7A7EF4B0EDCF5F2A25CCC3A1489 +S21401BEA014E755EFC18326D53C7D7DA27D7D050532 +S21401BEB0356E359FDC3313317979764034337DC85E +S21401BEC068127070707070707048707070707070FA +S21401BED07070484836CBCBCBCB363677762BBB4407 +S21401BEE0BB1EE91E7477C82B7979313179C8C879B8 +S21401BEF03113E8E8E89FB1C531313131400D7E6438 +S21401BF00C16F405E5E5E5EB3760D343434343440C9 +S21401BF1040405FB31313135E763131313176767656 +S21401BF204139EF56C1C114F9A75C7B392626A78390 +S21401BF308D9C3A27F4E0393A4B80B3B9BC3D13C522 +S21401BF405583C1C1C1839C869C26E755E73A5CC7E9 +S21401BF50DC33E633D55C143ACC14E7BD5C86EF26B9 +S21401BF603C3C7D7D7D7D0505351749359FDC3313CA +S21401BF7079790D0D0D6813C50D6874707070484899 +S21401BF8070483670703648707070704848CBCBCBAE +S21401BF90CBCBCBCB77762BBB446D1E7777127777DF +S21401BFA02B7979313179C8C8791313E8C58E8ED7C4 +S21401BFB031E2E231E2404002BEC1A6405E5E5E5E14 +S21401BFC0B3760D343468340D4040405F5E1313136E +S21401BFD05E5E313131315E797641265C86C1C1A71C +S21401BFE0F9A79C7B554B2683A78D043A4BF4F4BDE9 +S21401BFF03A7B805E30E03D5BAF9986C1C1C1149C3F +S21401C000869C4B555555E74B9FE82C66334B5C1485 +S21401C0103ACC14E7BD9ECCEF857D3C7D7D7D7D05CC +S21401C020056E176E359FDC331379760D0D0D687925 +S21401C030137468747070707070703648707036362D +S21401C040487070484836CBCBCBCBCB6936691EBB24 +S21401C05044D344BBC8777777772B2B797979C8C8CF +S21401C060797913E88E7D25E813314040E2E24040BD +S21401C07068FEC16076315E5E5EB3760D0D6872BB9A +S21401C080B27EE2115F5E131313E85E31315EE85E45 +S21401C090317987AA9E86C1C1A7F9A73A7B264B4B61 +S21401C0A083A726EE3A4BF4F4AD9C7B305EE8E017AE +S21401C0B0B110C28356C1C1A79C869C4B55557B4780 +S21401C0C00EDC136624DC4B5CCC9C3ACCE7ADBD5C45 +S21401C0D05CD57D7D7D7D7D7D05351749359F9FDC52 +S21401C0E0137979760D0D0D34687468686870707010 +S21401C0F07070707070367048364848704848CBCBC0 +S21401C100CBCBCBCBCBCBCB692DD3442BABC80D77CD +S21401C11077772B2B2B79C8C87979139F8E8E41D7C9 +S21401C120E83140347EE2E24034E5425656D15F5E65 +S21401C1305E5EB3760D0DB22EC166777EE2315E137A +S21401C1401313E85E313113131313316EAAE756C188 +S21401C150C1863A86CC7B4B4B4BCCA73939F94BE0A1 +S21401C160C67BE77B305EDC2785FC10559C56C1C13B +S21401C170A7F9869C4B4BADBC0EE8DC67ACB40ED57C +S21401C1805C3A9C9CCCE7AD859E9ED57D7D7D7D7D74 +S21401C1907D05354935359FDC3313797976400D0DAC +S21401C1A00D34686874747070707070707070487058 +S21401C1B048CF3648704848CBCBCB15CBCBCBCB0C36 +S21401C1C00C2DD3442BAB797940C8772B2B79317959 +S21401C1D07979DC8E8E254141D731117E347E11115D +S21401C1E04002E1C3C3C153405E5E5EB3760D0D34BB +S21401C1F0BB42C142F134315E131313135E5E131357 +S21401C200E835C5DC274B9C56C1C1863AA7CC7B7B5B +S21401C2104B4B3AA73926EE4BE0C6BCE77BB9C58A3D +S21401C2205552715B47EE56C1C1A7F9863A4B7BBCA6 +S21401C2305DE81313B41AD10ED5E73A9C9CCC5CADDD +S21401C240855555A27D7D7D7D7D7D050505359F9FA7 +S21401C250DC13317979797676767676760D0D1270ED +S21401C260707070487070707070CFCF363670483608 +S21401C270CBCBCB696969CBE9C877446D44D32B1323 +S21401C2805E790DC82B7913DC1313AF8E25C54125B6 +S21401C29041E8E2117E347E1111406894C3C3C11097 +S21401C2A0405E5E5EB3760D4640B272C1C1C194C8AF +S21401C2B0E21313135E5E5E13E83939DCDCDC479C5F +S21401C2C056C1C156F9A7CC27B87B279CA7394B394D +S21401C2D07BE0C6BC557BF3D55537B120D16E398688 +S21401C2E0C1C1A7F9A7EF27BC7FE813E87966AC13AD +S21401C2F06E85E7F95C5C3A5CBD85D5D5D57D7D7DDF +S21401C300050505050505353535DC13137979797984 +S21401C31079797979797979C87070707048707070A8 +S21401C3200036CFCB3636484836CBCBCB696969CB9E +S21401C33077C877BBBBB3ABAB1331760DC82B79137C +S21401C340C59FB19F13E8D74141E845E2117E347E8F +S21401C350111140682EC3C3C196C8315E5EB3760D17 +S21401C3600D46405994C1C1C160D17920D1B3B35EA5 +S21401C370E895989F133131479C86C1C1563AA7CCA0 +S21401C38027BCB8179CA739B8AAB8F4D0BC9EB6216A +S21401C39095B15B20D1D15D39A7C1C1A7F9A73A27CD +S21401C3A03DDC1313E8791ABEE847ADE79CE75C3A33 +S21401C3B05CBD85A2D54BA27D7D0505A0A0050535F2 +S21401C3C06E0E131379797679797979315E315E5EFD +S21401C3D0797070704848707070480036CF36CB4818 +S21401C3E048CBCBCB15696969CB69C8C81E2BB3B3DB +S21401C3F02BB3764040797979138E8E137979313162 +S21401C40031453131E2E240347E11E240C860C3C3B7 +S21401C410C1C3D13113B379760D0D46463477E4C1E5 +S21401C420C1C1C3537913B3B35E9FD59F1313313183 +S21401C4304704A7C1C1563AA7CC4BE0B8B5E7A75504 +S21401C440E0BCB5E0F4ADBABA4CC520B3B3D1B35D28 +S21401C4502683C1C1860483CC274113131313D8E462 +S21401C460B45DADAD9E9CE7E73A5CBD85A2D585A2DD +S21401C4707D7D05A0A0A0A0A09F9F331313792B0D4F +S21401C4807679793131315E797979707048364870CC +S21401C49069E90C48703636CB3648CBCBCB15696983 +S21401C4A069CB4E79776DABAB672B3140761313139F +S21401C4B0338EAF1379797979797931E2E2E21140F5 +S21401C4C0347E11E27EE5428F42C3C153E21379B353 +S21401C4D0760D0D463440A472C156C1C1C17179B3FF +S21401C4E0B35ED7135E135E79766E04A7C1C156F9A3 +S21401C4F014144BE0B5B8E7142662E0BCBCADBABA7A +S21401C500AD7C805E64B3D1B35D26CCC1C18604CC5C +S21401C5103A27E8313113792460D847AD859E9CE7E8 +S21401C520E79C5CBD85A2D585A27D7D7D7D05A0A00D +S21401C530A0A09F9F333313790D0D0D767931795E67 +S21401C5405E7979707048363600700C0CCB70703698 +S21401C550364848CBCBCB69696969CB4EC8E91EBB67 +S21401C560642BB3797613D7C58E7DC5137976767627 +S21401C5707979797640E2E2117E347E11E27EE5C376 +S21401C580E4E4C3C11076137979760D0D3434405F37 +S21401C5900266C1C3C1C1C137C8B35E5E5E5E5E31AD +S21401C5A076766EEE14C1C156F9CC144BE0B5B539AA +S21401C5B03A4B41BCBDBAF0ADBDBCDA805E64B32077 +S21401C5C0B341263A56C186049C9C1713795E13C85C +S21401C5D0AC6AC5AD8585399CE7E79C5CBD85D54BC6 +S21401C5E0ADD57D3C3C3C7D7D7D7DA0A09F33333326 +S21401C5F033672B0D0D0D7979795EB3B370703636CE +S21401C600700000360C36487070704848CBCBCB694A +S21401C610696969CBCBCBE9AB2B646413793113C55C +S21401C6200F7DC51313797676767979797640401140 +S21401C630407E347E11E27EF1C16060C3C1967613FE +S21401C6407979760D4634401111E27760C342565629 +S21401C650C16F0D5E5E5E795E5E76405D39CCC1C1AE +S21401C66056F9CC1426E0BCB5269CD58E99D6F0E0BA +S21401C670E07BE0DA805E64B320B34127F986C186A9 +S21401C6800404044913791331E5E45AF3BD5585557D +S21401C6905CE79E9C9CBDBDD585B6959521216C21F8 +S21401C6A05252525295E33CB1A09F331379C8340DD0 +S21401C6B0767679B3B3360070487048707036363681 +S21401C6C07070704848CBCB1569696969CB690CE90C +S21401C6D0BB136420207913C50F8EC5D7131331768B +S21401C6E0767679797940401111407E343411E20230 +S21401C6F05AC160FEC3C156D8317979760D0D3440E2 +S21401C700115F31112FC1E48FC356C1660D5E5E768F +S21401C7105E5E760D4139CC56C156F93ACC26F4E028 +S21401C720B5BD9E2165BA9EBCC6C6BCE0DA755E196B +S21401C7306420B3D7270486C1868D04EE6E13791361 +S21401C74079E142F54755558555E79E9E3A3A9999BE +S21401C7506CF0BAD221954C3C3C3C7D7D7D7D3C4CB9 +S21401C7605252CEFB9F1379C80D34340D7679694841 +S21401C770000048440C004836364870704848CBCB19 +S21401C780696969691569124EE92B64D1412013AFB5 +S21401C7900FC5D741C5E8133179767679797976E28E +S21401C7A0E211117E343411E20266C1961AC3C1C188 +S21401C7B071761379760D0D34405F5F3180342E56D5 +S21401C7C060608F56C16F405E767676760D41553A3B +S21401C7D086C156F9F9CC26E0BC7B99BA650FBC7BBD +S21401C7E0E0C6C6BCE0DA755E196420B3D72704A795 +S21401C7F0C1868D8D260E677913C894605B4B3955BB +S21401C8004B555CE79983A7C0BAF02121D53C7D7DC5 +S21401C81005A0A0A0A09F9F3333F27D4C52527D33DA +S21401C82076C8C8746874C870487000481EE94870B5 +S21401C83036364870704848CBCBCB6969690C696954 +S21401C84069E91EB3C5C5C5B193C513D74141C5E84E +S21401C85013317676797979E2E2E2E2117E343411A7 +S21401C860E23494C1FE1A42C1C1AC76137979C80D7F +S21401C87034401131315EE264428F9660C3C1C171AA +S21401C88034767676760DE8553AA7C156F904CC5536 +S21401C890BCADBABAB6AF20E0B8DEC6C6BCF45075B9 +S21401C8A05F196420B3E8178D8356A78D924B0E133C +S21401C8B0673164606AC5BD3955559EC2BAC0A7A71F +S21401C8C0C2B685A2A27D0535359F9F9F9F9FC5DC79 +S21401C8D0333333339FB13C52E3F22BC87774597428 +S21401C8E07000000000CB693670483670707048489A +S21401C8F0CB691EE969690C69690C1E79D7C5259350 +S21401C9008EC5D7E8D7C541C5D7E831317979797968 +S21401C91076E2E2E2117E343440E2342E56FE1A60AC +S21401C920C1C1C3D1797979C80D3440E231315E5E37 +S21401C93040E1C1966060C3C1C171347676C8C8E86B +S21401C94026F9A7C156F904CCC2F0BAB67B7F205EA1 +S21401C950F4B8DEC6C6BCF4D0805F1964B3B313174F +S21401C9608DCC56A78D274B7D331376F542E641BD18 +S21401C97039E7F0C0C0C29998145CADD5A2A20535BE +S21401C98035A09FDC9F35A09FDC131379671333C551 +S21401C990A03752B12B0D777412007070700C703680 +S21401C9A03648000070707048486977E90C0C0C69CD +S21401C9B0690CE9771320254C8E13D7C5E8D7C5C572 +S21401C9C0DCE8E84113797979797640E2E2E27E346F +S21401C9D03440E268ACC3FE1AFE56C1C15379797978 +S21401C9E0C80D0D40E23131E85E310DACC396606092 +S21401C9F0C3C1C1534676C8C85E4BF91456563A9C15 +S21401CA00A7C0B6BCBCE062B3B362B5B5F4C6BCF4AD +S21401CA10D0F75F1919B3B3136B923A86A78D272601 +S21401CA20A06713C894E4E1F39EEFC0BA995C9E55E3 +S21401CA309C149C85A2A2A20535A09F9F9F9F358E20 +S21401CA40A09FDC13797976791333AFFB520F2B460F +S21401CA50774636704448364870367070007070708D +S21401CA6070697769691EE9690CE94EE92B67AF4C75 +S21401CA708EC51313E8D7D7D7DCE8DC0EDC797979D5 +S21401CA8079797640E2E2E2400D7E40E268ACC3FE90 +S21401CA901A1A42C1C16576B379C80D0D40E231312B +S21401CAA05E5E31E2E5C36060606056C1C1B4462B8C +S21401CAB0C8314B04CC5656A7C0CCE7E0F4DEE062A2 +S21401CAC0B3B362B8B5F4C6E0F4D0F75F191964647D +S21401CAD0B31692F986A78D274BC5675E64FEFEF1F5 +S21401CAE0BDC0C05C5555E7555504149C4BA2D58571 +S21401CAF049359F9F9F9F9FA0358EA0C51379797951 +S21401CB0040C86733AF0F52B12B4676E948CB3600A3 +S21401CB1036707070707070363670E9E9156DBB2D21 +S21401CB202DE90C4EC879AF9325C5C531791313137A +S21401CB30D7D7E8DCE831797979797976E2E2E2E209 +S21401CB40407E7EE2E2341AC3FE1A1A60C1C1C3D126 +S21401CB5079790D0D0D40E231315E5E315E0D5AC3BD +S21401CB60966060E456C142640DC85E4B9C1456C183 +S21401CB7083E70426F4F4DEE0B9B3B36B7BDEC6C606 +S21401CB80E0F4D0F7C91919B364B35D92F986868DBE +S21401CB90276B136776F5E46A71BA99E7554B5539F1 +S21401CBA05555E7143A85A285ADA2350E359F9FDC13 +S21401CBB09F9F8E359FC5137931790D0D79C5B1FBD0 +S21401CBC0EAAF2B2BCBCB003670367070707070705E +S21401CBD048364869CB0C1E6D0CE9E9772BC85B9388 +S21401CBE0C533D7137679131313D7D7E81331797969 +S21401CBF07979797976E2E2E231407931E2E277FEDB +S21401CC00C3FE1A1A1AC3C1C1BE4079400D3440E2B0 +S21401CC103131805E5E315EBB608F966060E456C1E6 +S21401CC2060770D13BD838656569C268D27F4F4C473 +S21401CC30E0B9B32017B5DEC6F8E0F4C6F719BB6451 +S21401CC40B3B3B3F62704A786EE171631B379666039 +S21401CC5066B1AD4B39394B55E75555E714CC554BB5 +S21401CC6085ADA2353505A0DCDCDC358E8E359FDC46 +S21401CC7013131376343479C5B14C525BC800367041 +S21401CC8036367070707070704870704848CBE96DB9 +S21401CC902D1E77C8B379F20FD167201379C8765E57 +S21401CCA01313131313317979797913797979E23179 +S21401CCB03131DC6E45E2E20DFEC3FE1A1A1AE4C1FA +S21401CCC0C18F7931760D347E1131315E5E5E31135E +S21401CCD07951C3966060608FC1C12E7737BAEFCCA9 +S21401CCE08656F9279226F4F4C4E0B9B32030C4DEA0 +S21401CCF0C6D0E0F4C6DA19BBB313B3B34127048632 +S21401CD008604176213F2B4ACFE5A41BC4B39394B58 +S21401CD1055E7555539CCCC555555AD47358E7D8E95 +S21401CD209FDCDC358E8E3535C5313120137634687F +S21401CD3079C50FEAFBB37069360070707070707059 +S21401CD40CF3670704836690C0C1E77772B79AF0F8B +S21401CD5067796779792BC80D7679797979797979CF +S21401CD607913DC13317979E231310EB84140E2E2D0 +S21401CD700DFEC3FE1A1A1AFEC1C1C15340764034D5 +S21401CD803440E2315E5E31315EE8BBAC8F96606066 +S21401CD906042C1C1E62C85393AA756F9272627E015 +S21401CDA0F4C4E062B3B3B350F4C6D0F4F4F450194B +S21401CDB0BBB3D7D7D1301704A78604173D0FE3249A +S21401CDC0601AF541BC4B26264B4B39555539CC14C8 +S21401CDD0399E55854735057D0535DCDC9F35358E15 +S21401CDE035C5797913C513766874B3AF37EAF2702F +S21401CDF0363600707070707048CFCB70704869CB53 +S21401CE000C1E1E772BC8F20F672B7979131379C87E +S21401CE10770D0DC8797979797967DCE8133131793D +S21401CE20313135B8877640E2E268ACC3FE1A1AFEA5 +S21401CE301A42C1C1964076400D3440E2315E31312E +S21401CE40315E13B30BC3966060E4E4C3C1C1AE5D4B +S21401CE5039F9A756F9272727E0F4DEE062B3191956 +S21401CE6080F4C650F4F4C6D0C919136E0ED1E81773 +S21401CE7004A786F9AAB6525B6660ACD85D474B2616 +S21401CE80264B4B55555539CCA70404E785A2050515 +S21401CE907D0535DCDC9F8E8E8E9F13797613C5C596 +S21401CEA0137668C820B152FB700070707070007005 +S21401CEB036384870704848E90CE977772BAB5BFB4E +S21401CEC003C82B2B79202079C8770D0D767931315F +S21401CED0797967133131313179E2E86E4531404075 +S21401CEE0E2E2342EC3FE1AFEFE1AFEC1C1C12C7E3A +S21401CEF0400D343440E25E3131315E13132B2E8FF8 +S21401CF00966060E460C3C142D826F9A756F9172790 +S21401CF1027E0E0BCBCC6B3191976D0C650F4F4C6F7 +S21401CF20C65EB35D17E8D1136B8DA78683BA85DC21 +S21401CF302BFEFE6A676E4B4B26264B4B55555539D5 +S21401CF40CCA79CF90485A2057D7D0535DCDC9F8E8A +S21401CF508EA0DC1379C879D7C5C5130D742B5B3742 +S21401CF60E3000000700048CF36360C697070363624 +S21401CF700CE9E9772B2BB037D1C8C877C8791320CD +S21401CF8079C8770D0D7931133179797979131331A0 +S21401CF903179E2313131314040E2E2342EC3FE1ABA +S21401CFA0FE1AFE1A42C1C1960D404034344011317A +S21401CFB03131315E132013724296606060E4E456AC +S21401CFC0C1FE6198A7563A171727DEB8B8E0C65EC5 +S21401CFD0BBBB1975D0F7C6F4C6C6F7416B7CD7D173 +S21401CFE02049EEA756144B16E2B4E41A66316E4B8E +S21401CFF04B26264B4B555555393A863AF9044B057F +S21401D0007D7D7D050EDCE8C59FA0C59F0567C876BA +S21401D01013C5C5D7797477792C100000007070009D +S21401D0200C1E3636707070CB0CCB0CE9792BD837CA +S21401D0305B2B2B0D772B79131379C80D0D0D797991 +S21401D0403131797931E81313313179E2E2314545ED +S21401D050767E11E2346AC3FE1A1A1A1A1AFE56C1ED +S21401D060C12C344034347E115FE25F3113C5AF4CBE +S21401D070B42EE4FE6060E460E4C1C1570986863AD6 +S21401D080271727B8AADEE0C6B3BBBBBBC97580624B +S21401D090F4C6C6F8DEC4B9D720F2929C86563A1773 +S21401D0A08B76BE601AE1316E4B4B2626264B5555C4 +S21401D0B055393A863AF9E7D5057D7D7D059FE8E83D +S21401D0C0E8DCC5C58D3C79C8C831135E79767474C1 +S21401D0D019D1E300007000CFE9706D1E707070709A +S21401D0E036E9690C2B64D8375B2B2B0DC8C8C87979 +S21401D0F0B31379C80D0D0DC879797979130E0E130E +S21401D10031313179E2E231E831404011E23494C301 +S21401D110FE1A1A1A1AFE1A8FC1C1E4464040343468 +S21401D120405F315EE8AF374C0F1372C31A60606020 +S21401D130E46042C1C181CC563A27B5B8AAE0F4E012 +S21401D140C65EBBBB7474C95EB9C6C6C6C427B55035 +S21401D150D75B849C9CA756F9278B76ACFEACB4456E +S21401D1605D4B4B4B26264B555555559CA73AE755D7 +S21401D170497DA27D7D359FE8DC331313058D337918 +S21401D180C80D76760D7474467446646F70707000C0 +S21401D19000691ECF0C7070487036E969ABB3D137A1 +S21401D1A0B12B2B770D76C87979202079C80D0D0D16 +S21401D1B0C8797979799F35133131317976E2E2315F +S21401D1C031407E7E115F3494C3FE1A1A1AFEFEFEAB +S21401D1D0FEC3C1C124024034344031E8AF4C4C0F89 +S21401D1E0C5135E77FE60FE6060E4E460C3C142572B +S21401D1F0563A27B5B8B5F4F4F4C65EBBBB743874BA +S21401D2001930F8C6C6DE92B5B9D73C0495921456C5 +S21401D210F9271DB4E4AC2ED1DC5D4B4B4B26264BD7 +S21401D220555555559CA79C55A2057D7D7D7D8EDC6B +S21401D230E8DC336767A0F27979C80D40760D686837 +S21401D240747446D81070700048360048E93670701D +S21401D250480C36CF0C2BD1379313B37777770DC89D +S21401D2607913D7C5310D0D0D0D7679317913DC1390 +S21401D27079317979797640E2E2E2400D7E11E23445 +S21401D280E6C3FE1A1A1A1A1AFE1A60C1C1C3BB7E79 +S21401D290404031C5934C8EC5332013B30DE1C3AC6A +S21401D2A0606060E4E4E4C1C1FE941417DE17DEC6D4 +S21401D2B0C6C4C65EBB74743838BB80F8C6C6DE8D7D +S21401D2C0277CFB6571418A1456F927B9BEE4AC94F4 +S21401D2D031415D4B4B4B26264B4B55555504CC9C4B +S21401D2E04B49497D7D05050EE813DC1367676779B1 +S21401D2F07979C8C83113137646B25974B4FC707084 +S21401D3000036BB44707036707070E9690CAB640F00 +S21401D3104C5B202B77777777C87913410E13760D00 +S21401D3200D0D793131797979797979793179764053 +S21401D330E2E2E2407E7E115F025AC360AC1A1A1A1C +S21401D3401AFEFE1A42C1C194B231330F37B1E81347 +S21401D35013131313B376ABE41AFE606060E4604205 +S21401D360C1C1E67A27DE17DEC6C6C4F480BB747474 +S21401D3703838BB5ED0C6C6DE8D262152AFD1E88ACC +S21401D380CC563A2730AC60ACBE31DC5D4B4B4B26FD +S21401D390264B4B555555E7F9E7D5A2497D05358E00 +S21401D3A0DC13131313796767677979C879C5AFAF4B +S21401D3B0D776685974B4FC7070700070E9383670AE +S21401D3C070487036691E2BAFCEC520B3C877777705 +S21401D3D077C879130EC513760D0D407931317979F9 +S21401D3E0797976797931797640E2E2E2407E7E118A +S21401D3F0E27EE1C360AC1A1A1A1A1A1A1AFE56C14C +S21401D400C172C537AF133131315E13135EB35E4659 +S21401D41094E4AC606060E4E460C3C1C18C17DE17BD +S21401D420DEC6C6C4F4B91974743838745E1DC6C62F +S21401D430DEEEC2B6415EB35E49CC863A27C5E4ACA1 +S21401D4401A2C45DC5D4B4B4B26264B4B4B5555E773 +S21401D450E755A2494905353535DC13131379797932 +S21401D46079797979C85E257D8EAF13465959D8FCEE +S21401D47070000036BB6936CF707036E936E9ABD13D +S21401D480CEAF20B37777777777C8767913D7D71368 +S21401D490760D0D40793179797679C8767979797909 +S21401D4A07640E2E2E2407E7E40E27E724260AC1A64 +S21401D4B01A1A1A1A1A1A1AE4C1C142E5315FE211A0 +S21401D4C0115F5E13135EB3B340B4422EFE6060601C +S21401D4D0E46060C1C160B0DE17DEC6C6C4F4501990 +S21401D4E07474383874B3F7C6F4ADC29E16805EB352 +S21401D4F05E493A863A05BE426AACD8E8415D4B4B76 +S21401D5004B26264B4B4B4B5555554BA249053535AE +S21401D5108E9FE81313317979797979792BC833A2FB +S21401D5207D8E8E13465959D8A670707000691E36C6 +S21401D53070707070CD0C1EAB37B12013C877C877EA +S21401D54077C8B3B37979131331C80D0D0D7979798D +S21401D5507979767676797979797940E2E2E2407E70 +S21401D5607E11E27EE542E41AAC1A1A1A1A1A1AFE5B +S21401D5701AE4C1C12E34114011115F5E5E13B379F6 +S21401D580793119601AAC60606060E46042C1C132F2 +S21401D59006B5DEC6C6C6F450767474383874B380E1 +S21401D5A0C6AD999E278BF75EB35E6EF9A73AA0A625 +S21401D5B0E46A2E13DC0E5D4B4B4B26264B4B4B4B36 +S21401D5C0555585474905353535359F1313137976F6 +S21401D5D07679797979767905D58E8EAF5E685474C9 +S21401D5E0B4A670E9BB443670367070CF36486DBB52 +S21401D5F053FB64D12B77ABC8C8C879B3792B795E56 +S21401D6005E79C8770D0D762B797979797976767981 +S21401D61079797940E2E2E2407E7E11E211AB60E484 +S21401D6201AACACAC1A1A1A1A1A1A1AE4C1C15A025E +S21401D6305F11115F31B313B379765E4666E42EFE51 +S21401D64060606060606056C1C14DB5B5C6C6C6F4BF +S21401D650C65EBB743838BB64D7AD997B26268BF77C +S21401D6605EB35E5D04A7F9A3601A6A6631410E0EC9 +S21401D670474B4B26264B4B4B4B55554BA249353505 +S21401D6800E3535DC131331797676797979797633F7 +S21401D690D58E8E251374595974F56500480CBBBB9D +S21401D6A0CF707070CF0C0C2A4D104DABAB77ABC85A +S21401D6B0C8C8797979C8C82B79792BC877770DC806 +S21401D6C0C82B797979797676797979764040E2E26C +S21401D6D0407E7E115F1177AC42FEACACACACACAC1C +S21401D6E01A1A1A1AFE42C1C1F5A4E25F5F315E132F +S21401D6F0B37976794072E46A1A6060606060FE60B1 +S21401D700C1C1AC33B5C6C6C6F4F480BB743838772D +S21401D710D8E3BDBCC427268B805EB35E5DEEA78DC5 +S21401D72071426A1A5345410E0E474B4B26264B4B08 +S21401D7304B4B5585474935350E0E0E0EDC133179A8 +S21401D7407676792B2B2B2B2B20C59F8EC50D5974E6 +S21401D7505938F5654800007069E93670707036D33F +S21401D760AB3753ABAB77AB2B792BC8C8C80D7777E4 +S21401D7702B792BC8C80D770DC8C879797979797650 +S21401D7807979797976404040E2407E7E115FE234D5 +S21401D7909442FEACACACACACACACAC1A1A1AFE42C1 +S21401D7A0C1C1E57E5F5F315E5EB37976765FBBFEB3 +S21401D7B0AC2E966060606060FE42C1C18C16F4C6F5 +S21401D7C0C6F4C4B919743838E5E3266BC4C42727F0 +S21401D7D08B805EB35EF68D1409A642941A5BE80E42 +S21401D7E00E35474B4B2626264B4B4B558547353535 +S21401D7F00E0E0E9F9FDCE8317976797979C8C8C814 +S21401D800C8C8C813DC79747459A938F56F44440C38 +S21401D810700070487036690CAB2CE303AB77772B3E +S21401D82033332BC80D777777AB2B79792BC80D0D52 +S21401D8300DC87679767979797679797979764040ED +S21401D84040E2407E7E11E21134E142FEACACACAC6B +S21401D850ACACACAC1A1A1A1AFEC3C1426411315EE2 +S21401D8605E5EB37976765E46571A941A606060609B +S21401D87060FE60C1C14233F4C6C6F4C48BC97438B5 +S21401D8802F10D5351DC6C427278B5EB3B35EF6921F +S21401D890CC71FEFE57AC13870E0E35494B4B262630 +S21401D8A0264B4B5555554B0E0E41DCDCDCDCDC3390 +S21401D8B01376767913792BC8C8C877770DC8741292 +S21401D8C059543BBBBEBE360C44E936707070706965 +S21401D8D044D1CE2CAB771E2BA00567C8C877121E85 +S21401D8E077AB2B79792BC80D0D0DC87979797679B7 +S21401D8F076767679797976404040E2407E7E11E20E +S21401D900E240724260ACACACACACACACACACAC1A09 +S21401D9101AACFEC3C18FB3115E5E5EB37976765ED6 +S21401D92046E11A94ACFE6060FEFEFEFE42C1C15A9C +S21401D930B9C6C6C6C4C45E74B4A653C51380C6C4ED +S21401D94017278B5EB3B35EF692F9BE42AC94A6136C +S21401D950410E35356E474B2626264B4B4B55554BC0 +S21401D9600EE8E84545131313133176767913792BB0 +S21401D970C8C8C8777474595454083B54646FB400CB +S21401D980007036367070707069BFFBCED1AB1E77F3 +S21401D990330567ABAB7777121E77772B797979C822 +S21401D9A00D0D0D7679797979767676767979797637 +S21401D9B04040E2E2407E7EE23131D77260E4ACACB8 +S21401D9C0ACACACACACACACACAC1A1AACFEC3C18F54 +S21401D9D0B3E25E5EB37976765E402FFE946A1AFEF7 +S21401D9E0FEFEFEFEFEFEC1C1E45EC6C6C6DEDE80EB +S21401D9F0B4A6B4BB64195EC6C417278B5EB3B35E08 +S21401DA00302684A64294AC66450E0E35356E474BDD +S21401DA102626264B4B5555554B6EE8454513311377 +S21401DA201313797676791331792BC8777474597410 +S21401DA307459591259B46F643670000000707070D2 +S21401DA406944BFD2B1641E1EAB672BABAB77777749 +S21401DA50121E77C82B79797976400D0D767979790A +S21401DA607976767676767979764040E211407E4010 +S21401DA7031C58E4C4D6AE4AC2EACACACACACACACA7 +S21401DA80ACACACACACACFEC3C18FB35F13B37976B0 +S21401DA905F5E76BF1A9494ACFE1AFEFEFEFE1A4234 +S21401DAA0C1C1E150C6C6DEB547A6B438381919C992 +S21401DAB050C61727165EB35E5E3026A3FE60E61AD2 +S21401DAC053870E35353549A24B2626264B4B5555E1 +S21401DAD0554B0EDCE8453131797931797676791313 +S21401DAE01313792B777712C8791259741274BEBE44 +S21401DAF0BBE9E9CB707070707069D353EAD1AB1E85 +S21401DB001E777777ABAB777777127777C82B791352 +S21401DB10133176400DC8797979797976C876767930 +S21401DB207976404011E2E276137D4C8EE80DE642AE +S21401DB30AC2E2E2E2EACACACACACACACACACACAC17 +S21401DB40FEC3C142D8765E79765F5E5FBB2E949443 +S21401DB50AC1A1AFEFEFEFEFEFE56C1FE5EC6C6DE0E +S21401DB609EBA5B743838191919F7C61727165EB3AB +S21401DB705E5E301771E4ACE61AAF0E0E3535054918 +S21401DB8049474B26264B4B85555547350E0EDC45EA +S21401DB901331797979C8C8767979131379C8747489 +S21401DBA079747454A93B1910F5387069CD367036FE +S21401DBB0E90CE944102CAB1E1277777777777777E5 +S21401DBC077771E7777C82B7913D7E8317640C879EF +S21401DBD07979797976C8767679767640E23113D78F +S21401DBE08E3C8EDC31E27E0B421A2E2E2E2E2E2EEF +S21401DBF02E2EACACACACACACACAC1AC3C1C32C7660 +S21401DC00B3765F5E5F749494576A1A1A1A1A1A1AD0 +S21401DC10FE1AE4C1C153D0C4ADC07B5E7438381956 +S21401DC2019195FF8B527165E5E5E5E415D944294F3 +S21401DC3057940E6E0E3535054949474B26264B4BF4 +S21401DC404B554BA26E35350E0EDC13137979C80D84 +S21401DC500DC879131331C87474747412545438B4DB +S21401DC60106454000070700069E90CD3F510BF44CD +S21401DC701E777777777777C82BC877777777C82B2C +S21401DC807913C5D75E797676797979797976C87692 +S21401DC90767676793131DC0F4CB113313140407EE6 +S21401DCA0BFFEFE2E2E2E2E2E2E2E2E2EACACACAC65 +S21401DCB0ACACACACACE4C1C1530D795E5E5F466AF8 +S21401DCC06A576A1A1A1A1A1A1A1A1A1AC1C1FE8039 +S21401DCD0ADBA552780743838191919C9DADE2716EE +S21401DCE05E5E805E4141FE60E694665D6E0E353591 +S21401DCF0054949494B26264B4B4B4BA26E353535CC +S21401DD00350E0EDCE81379760DC8C8C82B7979C8AC +S21401DD10C82B12745474766466BE74A90000007031 +S21401DD207000366DBF10E144E91E77C8C8C8C8C880 +S21401DD307913B3C8777777C8797913D7C513797606 +S21401DD4076797979797976767679793113338E4C55 +S21401DD500F33E24040E2404040746A602E2E2E2E81 +S21401DD602E2E2E2E2E6A6A2EAC6AACACAC2EAC963B +S21401DD70C3C1370D315E3146946A576A1A1A1A1AA8 +S21401DD801A1A1A1AACE4C1C171B6BC2726B94638AC +S21401DD9038461919465FC427C4808080E806B1E476 +S21401DDA01A326A716B0E3535054949496EA24B4BDD +S21401DDB04B4747490E0E0E0E0E0E0E0E0E9FE81323 +S21401DDC079C80DC877C8C8C87479C8745959C8B312 +S21401DDD0B4A6B454A9690070363670CF44E16FBF5B +S21401DDE0D34E772BB3B379B3B313D713C877770D65 +S21401DDF0C879B3B3E8C5E8794076797979797976DF +S21401DE0076767913338E4C7DC531E27E7E40E240D4 +S21401DE10404034EDE42E94A62E2E2E2E2E6A6A6AEB +S21401DE206A6A6A6A6A2E2E2E2EAC8FC165B3115F9E +S21401DE30191A945794ACAC1A1A1A1A1A1A1A1AC141 +S21401DE40C11A41C48A9216C9383846C91946C91D2D +S21401DE50DEC4308030E84566422E32ACB1170E354E +S21401DE603505054949356E4949496E0E41E845452E +S21401DE704545E8E8DCDC0EDCE81379C8C8C8C87795 +S21401DE80777767772B5974C8D1BE6FBB084F0C7074 +S21401DE90CB0CCB700C786FE1D32D1E2BB3B3B3D163 +S21401DEA0D1D120D713C8770DC8765E131313D7E8E0 +S21401DEB0794076797979767976767913AF37FBC5B5 +S21401DEC01331E2400D0D40E24040407E7260AC945A +S21401DED09494A6A62E2E6A6A6A6A6A6A6A6A6A6A48 +S21401DEE02E2E2E2E96C18F5346516A325794ACACC5 +S21401DEF0ACACACACAC1A1A6A42C1C320C427926B54 +S21401DF00C9747446C91919195F1DC47C30303013A1 +S21401DF101AE49466A635170E3505050549493535C3 +S21401DF203535350E41DCE84531313131313113E8D3 +S21401DF30E8E8133179762BC8C877742BC8C85974AA +S21401DF401971EBB454A94F367069E96D360CAEA65B +S21401DF50AE2D0C772BB3B3D1201320D7D713C877A8 +S21401DF60C8C8C813D7E813E8E87640767979797691 +S21401DF7079797933FB37B11331E24040400D0D40DA +S21401DF80E240404040AB1A1A94949494A694949418 +S21401DF909494946A6A6A6A946A2E2E2E2E2EACE4A3 +S21401DFA0C3FEFE9457946A6AACACACACACACACACF9 +S21401DFB06A1AC1C15A1D278D175F747446C9C946AE +S21401DFC019765FB962B9B9305BE4FE3294946E4952 +S21401DFD00E35050505494935350E0E0E0E41DCDCBC +S21401DFE0E845313131317931313113133131131380 +S21401DFF07979C8743812595474D1EA10BBA94FA95B +S21401E0007070CF0CE9690C24EB2FE9691EC82BB39D +S21401E010D113132020C5137777792BC8B3D7C5D76B +S21401E020D7E8764076797976796713B14C0F331352 +S21401E030794040E2E2400D7E40E24040404034E616 +S21401E04060949494949494949494949494949494BE +S21401E050949494A62E2E2EA66AAC60606060FEACE8 +S21401E0606A6A6A6A6A6A6A6A6A6A6A42C1FEE8B57E +S21401E07092175E747446C9C946197676807C7C7C94 +S21401E08006BEE4AC5A6A71176E0E350505050549DC +S21401E090350E0E0E0E0EDC0E0E41DCE845313176E5 +S21401E0A079797979793113DCDC0E872B74C8745948 +S21401E0B054592CEBB4CDA93B3B707036CF0CCBD367 +S21401E0C010D2B46DCF0C1EC82BB3D1132020D7139A +S21401E0D0C87779792B7913C54141E8794076797902 +S21401E0E07913AF37FBC5133179767640E2E2407E8D +S21401E0F07E40E2404040407E0B602E94949494947F +S21401E10094949494949494949494949494A6A6A693 +S21401E110A69494946AACAC2E6A6A6A6A6A6A6A6A57 +S21401E1206A6A6A941AC3C15B6B921775467446C9CC +S21401E130C9191976765E30417CE82E609424ACB11C +S21401E140173535350505053505350E0E0E8787DC81 +S21401E1500E0E41414141E8E8313179767676761303 +S21401E160DC6EB5DC797779745954BBA66F38A93B58 +S21401E1703B3B707036CFCB6978A66F2FE9690CE907 +S21401E18077C82BB3D1D1202013C87779B379791307 +S21401E190D74141D7314076311333FB4CB1137979EE +S21401E1A0797976404040E2407E40E2E2404040409D +S21401E1B040AB1AAC949494949494949494949494B8 +S21401E1C09494949494949494949494949494949409 +S21401E1D0946A6A6A6A6A6A6A6A6A6A6A946AE4C174 +S21401E1E06641261780194646C9C9C9C976765E5E54 +S21401E1F0067CC596FE66322E8E170E0E3505053543 +S21401E2003535350E0E87DCDCDC0E0E0E41410E3543 +S21401E210350E9FDC1379767679E8B56E337977C853 +S21401E22012543871EB2F3B54CD3B3B0C0CCB70009A +S21401E2302D89A651D30C690CE91EC82B2BB3B31339 +S21401E2402020790DC8B37979B3E8D741305E796774 +S21401E25033B14C0F3313797679797976404040E2C1 +S21401E260404040E2E2E2404040E234E6FE949494CC +S21401E2709494949457575757575757949494949403 +S21401E2809494949494949494949494949494949448 +S21401E2906A6A6A6A6A6A57FEC196332627F7C9C947 +S21401E2A046C9C9C97676763131E88071E4AC325711 +S21401E2B0A60E6E0E0E350505353535350E87DCDCBA +S21401E2C0DCDC0E0E41415D6B6EA2A2A2A235DC1310 +S21401E2D079795D6B13792B74385459B4EBE3B33BFE +S21401E2E054CD3B3B440C704848EC0BA6AEEC36CF05 +S21401E2F0690C1E77C82B2B2BB31320B30D0D797920 +S21401E300797913E83041C520AF3737AF1379767680 +S21401E310767679797640E240E24011E23131E240A8 +S21401E320404040400B6094949494949457575757A8 +S21401E3305757575757579494949494949494949405 +S21401E3409494949494945794949494949494945701 +S21401E350ACC3C3F12727B95F5FC9C9C9C97676318E +S21401E3605EE8E831A6E494246A6F0E0E0E0E35358B +S21401E370353535350E0EDCDCDCDCDC0E0E410EDE12 +S21401E3806B49A2D58585D5A235E8E85D792BC8C845 +S21401E390747459BB1065F2795408080808697070DE +S21401E3A036702DE1A6AED30CCFCB691E7777C8C8E1 +S21401E3B0C8B3B313B3C877C87979797913C5258EED +S21401E3C0934CB1206779797676767679797640407E +S21401E3D040E240E2E23131E2404040E2E2641AAC1F +S21401E3E0579494575757575757575757575757573D +S21401E3F094949494949494945757575757575757BF +S21401E40057575757579494945794E4C15A354BB974 +S21401E41075755F5F5FC9765EDC35DC315B96965756 +S21401E420242E710E0E0E0E353535353535350EDC8E +S21401E430DCDCDCDC0E0E416B6B0E49A2D5858585D6 +S21401E440D5A235DC137976C877C8C87753EB71B394 +S21401E45046A908080808CB364870702D51A672D810 +S21401E460640CCB69E91E77BBC8C82BB3B379C877F0 +S21401E47077C879797913C593B685C513797979798A +S21401E4807640407679797640404040E2E2E23131AA +S21401E490404040E2E23140E6FE575757575757573C +S21401E4A0E657575757575757575757575757575767 +S21401E4B057575757575757575757575757575757E6 +S21401E4C057575796C1AC1B4BB975B9805E5E5F5EF8 +S21401E4D033D57DE83171E41A3232ACAF350E0E0E0B +S21401E4E00E3535353535350EDCDCDCDCDC414141BD +S21401E4F05D0E0E49A2D58585D57D8E9FDCC5135E42 +S21401E50079C82077E565E3D17659125408083B6946 +S21401E51069004848699065AEE5D1E969690C1E1E37 +S21401E52077BBC8C82B2BC8C87777C82BB3203393C3 +S21401E53021852513797979797976404076797976C6 +S21401E54040404040E2E2E23131404040E23131E2D7 +S21401E550D8FE94575757E657E6E6E6E6E6E6E6E6D9 +S21401E560E6E6E657E6E6E6575757575757575757DB +S21401E5705757575757575757575757571AC38FB065 +S21401E5804B7C756262805E5E133C92DCE831A6E4E9 +S21401E5902E2466A6C5350E0E0E0E353535353535A7 +S21401E5A00EDCDCDCE8E8414187410E0E49A2D5D5F8 +S21401E5B0D5A225DCD7DC9F9F335EC813646FEBB40E +S21401E5C0B37754791908083B69690C694869F5FC01 +S21401E5D0AE0C440C69690C0C1E7777BBABC82BC814 +S21401E5E0777777C8B3D1AF4C3725F3415E79797623 +S21401E5F076767640767679797640404040E24040BD +S21401E600E2E2404040E2313131C82EACE657E6E660 +S21401E610E6E6E6E6E6E6E6E6E6E6E6E6E6E6E6E694 +S21401E620E6E6E6E6E6E6E6E6E6575757575757576D +S21401E63057575757E66A42C124493D7562E07C5EEA +S21401E64031DC05DC1331D1FE9694249466DC350E5C +S21401E6500E0E0E3535353535350EDCDCDCE8E84199 +S21401E660DCDCDC410E49A2A2A2A28EDC1313DC9FE5 +S21401E6709FC513C82071EB5377B33838B3C8080861 +S21401E6803BCB44694836694D52712D696969E94445 +S21401E6906DE91E777777ABC8C87777C879D1B14C63 +S21401E6A0B120133041E879797976767640767679B5 +S21401E6B07976E2E24040404040E2E2404040E231CA +S21401E6C0313140E1FE57E6E6E6E6E6E6E6E6E6E670 +S21401E6D0E6E68132323232E6E6E6E6E6E6E6E6E609 +S21401E6E0E6E6E6E6E6E6E6E65757575757E657E420 +S21401E6F0C110353D80627F7F30E8133131313153AF +S21401E700E4FE32249471870E0E0E0E0E3535353525 +S21401E71035350EDCDCE8E8E8DCDCE8E8410E49A249 +S21401E720A2A2359FE81313DC9F9FC513C8B1EB1057 +S21401E730BB59745477B3380854A56969CB69CB0CB7 +S21401E7401B5266CA0C0C69E9BFBF6D6D77BB777744 +S21401E75077C877C82B5BFB4CAF677976E87C30319E +S21401E760797976767640767679797640E2E2404037 +S21401E7704040E2E2E24040E2E23131E22BAC2E32AE +S21401E780E6E6E6E6E6E6E6E6E6818157575757E629 +S21401E7903232323232E6E6E6E6E6E6E6E6E6E6E697 +S21401E7A0E6E6E6575757E6E696C1AC357F80627FC8 +S21401E7B06B6EE831313131E29460AC32246AB10ECD +S21401E7C00E0E0E0E0E3535353535350EDCDCE845CC +S21401E7D0E8DCDCE8E8DC0E49A2A2359FDC33131343 +S21401E7E0DC9F9F2079D165655B7754A5547779596D +S21401E7F008A554000CE936CB431B71A6780C0C69AE +S21401E8000C44E544E977BB777777772B642CE30FE5 +S21401E8105BD179C80D5E414113797976767640767B +S21401E8207979797640E2E2E2407E4040E24040403B +S21401E83040403131317EE1FEE632323232323281CF +S21401E8408181E6E61C7878978CE6E6818181818174 +S21401E850818181818181818181E6E6E6E65757578C +S21401E860E61AC3969F7F807C6B271745313131317D +S21401E870B3FEFE9424322EC50E0E870E0E0E0E35F6 +S21401E8803535350E0EDCDCE845E8DCE845E8DC0E1F +S21401E89049A27D0EDCE8131313DC9FC5B3D1E3EB6D +S21401E8A02C77745438745454543BA53B70487069A3 +S21401E8B06D2A0CAE65E1440CCB69E9BF44E91EBB89 +S21401E8C0BB77772B03B1E353D1677979C80D7930DC +S21401E8D041137976767676407676797979764076CA +S21401E8E0E2407E7E40E2E240114040E23131E264A5 +S21401E8F0AC2E323232818181818181E691001FA95D +S21401E9003B547890E68181818181818181818181F9 +S21401E9108181818181E6E6E6E6E62EC3E4AF7F806B +S21401E9207C17276E45313131E2F1E41A662466948C +S21401E930E80E0E870E0E0E0E353535350E0EDCE85A +S21401E9404545E8DCE845E8DC0E35A235DCE833135E +S21401E9501313339FC513373F5374595474D120385A +S21401E96008543B5454000036446DCB482D10A62F56 +S21401E9700C69690C4444E91E1E1EAB64D1FBE35BC3 +S21401E9806779797979C80D40E84113797676797691 +S21401E990767676797979764076E2407E7E40E2E256 +S21401E9A040404040E231E2314024FEE6323281818D +S21401E9B081818181ED3670364FCD3BA94F7881E656 +S21401E9C0818181818181818181818181818181E6CC +S21401E9D0E6E6E6944242B16B305DB8175D803131B0 +S21401E9E0317E6660AC32249471E80E0E87870E0E77 +S21401E9F00E0E350E0E0E0EDCE8454545E8E845459B +S21401EA00DC0E353535DCDC13133113339FC5FB3F84 +S21401EA1037BB5974772BD1B35438543B08387070D0 +S21401EA207070366936690BEBBE0C69690C6D0C0C9F +S21401EA301E1E4464B037FBD12B2B2B79792BC80DC6 +S21401EA400D5ED7137976767976767676797976400D +S21401EA504076E2404040E2E2E240404040E2E2E20C +S21401EA6031E203AC948132818181818181223670C9 +S21401EA701F364F4F4F4F1FECED81ED81EDEDEDED64 +S21401EA80818181818181818181E6E6E657E4C371D6 +S21401EA906E411717177F80313131791AFE6A2424A7 +S21401EAA0942CDC0E0E0E41410E0E0E0E0E0E0E4175 +S21401EAB0DC45454545E8454545E8410E0E0E9FDCDB +S21401EAC013131313339FFB3FE32B38385B2B2B2099 +S21401EAD0121219543B0877707000CB6D0C36CB6957 +S21401EAE0243F72CF690C0C690CE964D82CE3B1039E +S21401EAF02BC8C82B79792BC80D0D79133179767609 +S21401EB0076767676767976767640E2E2E24040E28E +S21401EB103131E2404040E2E2E2E2317E8C1AE681A7 +S21401EB2081818181ED81907070701F363636363660 +S21401EB307069ED81EDEDEDEDEDEDEDEDED818181B0 +S21401EB40818181E6E65760C3375D5D6E6E477F065D +S21401EB503131E2B4601A6624329433870E0E87414F +S21401EB60410E0E0E0E0E0E0EDCE845E84545E84554 +S21401EB703145E8410E0E0EDCDC1313131333FB3F55 +S21401EB80FC037474B3D1772B74547774543B3B777E +S21401EB907070000C6D363636702D6F2E78CD0C6980 +S21401EBA0690CD3D80FE32C03C877C8C87979792BB9 +S21401EBB0C80D0D0D797979767676767676767979C9 +S21401EBC07676E2313131E2E2456E45E2E24040E2FC +S21401EBD03131E231E2AB6A94ED81EDEDEDED817319 +S21401EBE07070701F1F1F1F1F707000EC81EDEDED20 +S21401EBF0EDEDEDEDEDEDEDED81818181E632E6960F +S21401EC00C3100E5D065D476E0631317EBEE4AC2450 +S21401EC108C3266E80E0E41878741410E0E0E0E0EAF +S21401EC200EDCDCE8E845E8E8453145E8410E0E0E25 +S21401EC305DDC13131313B13F65B077742BF2D12B40 +S21401EC4077385938123B54CD3870707070487070F0 +S21401EC50703669D3A6A67869690CD3BFFBE3D8647E +S21401EC60C877C8C8C87979792BC8C80D0D0D7679CB +S21401EC707679767676767679317931313131313108 +S21401EC8045276B453131E2E2313131313131349052 +S21401EC901A81EDEDEDEDEDED7370007070701F7083 +S21401ECA070707070009181EDEDEDEDEDEDEDEDED37 +S21401ECB0EDED81818181E6E660C3FC8730315D47F9 +S21401ECC06E80313176ACFE6A248C57BE450E0E41FD +S21401ECD0878741410E0E0E0E0E0E0E41E845454544 +S21401ECE045133131E8DC0E5DDE5D13131379F2EB6B +S21401ECF0D22C2B19742B5BD17777D174545454547E +S21401ED00CD5470707000007070706944E9D3A6A687 +S21401ED107869D3BFBE66E5BFBB1E7777C82B797906 +S21401ED207979C80D0D0D0D7679767979764040762C +S21401ED307931313131314545451727064531313174 +S21401ED40E23131313131E2E277576AEDEDEDEDED49 +S21401ED50ED224800707070707070707070707097EF +S21401ED60ED2222222222EDEDEDEDED818181E69765 +S21401ED70E972C3A6314531306E418031E2D8601A5E +S21401ED805724249453E80E0E41414141410E0E0E84 +S21401ED900E0E0E0EDCE84513134513313145E841DE +S21401EDA06BDEDC13317933EAD20FB32BC87774B339 +S21401EDB02BBB772B74545454CDCD4E707070697044 +S21401EDC0707048692DE90C2D5A2EE1AEBE24BF782D +S21401EDD0BB1E1E1E77C87979797979C8C80D0D0DC5 +S21401EDE07676767676764076767931313145418714 +S21401EDF0454117874545313131313131313131E2C4 +S21401EE00E240AE1A32EDEDEDEDEDEDCB0070707037 +S21401EE107070707070707000ECED909090222222ED +S21401EE2022EDEDEDED8181CA1F0859602E4031318A +S21401EE30458706313140BE601A32E124945B874132 +S21401EE400E41878787410E0E0E410E0E0EDC4513CE +S21401EE50131313313131454541DE5DE81331335229 +S21401EE60D20F33B32B19777438BB2B383838545438 +S21401EE70CD3B541E4870000C4469363636CFCB69FC +S21401EE80CFE9E1A6EB6FAE44E9BB1E1E1E77C82B89 +S21401EE9079B37979C80D0D0D0D767976767676404B +S21401EEA07631131313E8176EE845064545E84531F4 +S21401EEB03131E23131E2E2E2E2E230B3EDACEDEDE6 +S21401EEC0EDEDEDED4A0070707070707000007070BE +S21401EED07070FF229090909090222222EDED819109 +S21401EEE000A95459962E403131313131313176AC49 +S21401EEF0FEAC24E132571387414141878787410E93 +S21401EF000E4141410E41E84513131313313131319E +S21401EF1045410EDCDC1333E3D20F3333B32B2B77AF +S21401EF20777777B3BB12125454CDCD54CD48707059 +S21401EF300069440C69CB363636694472106610A6F1 +S21401EF40BEF572BFBB2B77C82B797979C8C80D0D72 +S21401EF500D0D7913136713205B9FAFAF9FDC17AAC4 +S21401EF608745453131F6063131E2E2E2E231E2E24D +S21401EF70E2E2E2E8F3E5575722EDED22ED63007099 +S21401EF800000000000000000007000072273737389 +S21401EF90739090222222ED737070A93B5996A64079 +S21401EFA0313131313145E2D8FE1A94E1E132BE45C4 +S21401EFB04141414187878741410E41414141DCE85A +S21401EFC013131313133131313131E8DCDCE8C55248 +S21401EFD0D2B1133333B32B2B7777C8C87479E812C1 +S21401EFE05454CDCDCDE9690070700036D30C6DCB8D +S21401EFF03669D3AEA653AEE5722410A610E3E30F2E +S21401F000B1B1B1AFAFF2F25BF2F2AF0F930F0F0FE8 +S21401F0100FB1AFC533E86EAA0E45453145F6063148 +S21401F0203131404040E2E2E2E2E2E2E2313041AE3A +S21401F030AC8122ED22229048000000000000000072 +S21401F040707070001573737373737390902222ED52 +S21401F050EC00701F3B596066403131313145451136 +S21401F06024FE1A32E1245753458741414187878759 +S21401F07041414187414141DCE845451313131331B2 +S21401F08031313113E8DC9F52D20F79B33333B32BCE +S21401F090C877772B2BC86B795454CDCDCD4EE93636 +S21401F0A00070707000362D2D2DCBD3AEA624AEE5A4 +S21401F0B0ABE9E944BF72537137E3CECECECEE33728 +S21401F0C037FBFB0F0F938E9F336779797979E827A2 +S21401F0D05D131313314531E2313140404040E2E2E5 +S21401F0E0E2E2E2E24040E25D2C222E8C222290ED0A +S21401F0F0CA000000000000000000000000701C7341 +S21401F10073737373737390ED890070701F3B12E411 +S21401F1107140313131313145406AFEAC24E12494ED +S21401F1205B45874141418706878787DCE887DCDCCA +S21401F130DCE8454545454587453131313113C552F2 +S21401F140D20F1379B32020B32BBB7777B3B3DCDCB4 +S21401F150124E54CDCDCDE9CF48707070707000CB93 +S21401F160692D2D78662478BFE5BBD36DE92DE91EA0 +S21401F1701E1E2BD1202020D1677979797913C5E815 +S21401F18079767640767979E8E81331313131404045 +S21401F190E231E240404040E231E2E2E2E240E29F18 +S21401F1A04C85BFE69490909090737000000000002C +S21401F1B0000000000000006373977373737373732A +S21401F1C0EDEC0070701F08BB422CE2313131314545 +S21401F1D031D11A1A94E1E124571306E88741418791 +S21401F1E0060687E8E8E8DCDC41DC45454545455D43 +S21401F1F016453176767613E3D20F137979B3131366 +S21401F20079BB7777BBB379791E4E4E54CDCD0CCDF5 +S21401F210697048487070704848362D78716678D3A2 +S21401F220444444BB442D6D6DE9E91EBBC879B379EE +S21401F23079C80D0D0D7613DC1331797976797979E4 +S21401F24079313131313140404040E2E240E2E2E2A0 +S21401F2503131E240E231DC3C4C350E877894E6737E +S21401F260907390FA0000000000000000000000000B +S21401F27007739797977373739073707070701F0806 +S21401F2800B4267313131313145E2E1FE1AE6DBE10D +S21401F290325A3106E8DC878706060606E8E8E8E81B +S21401F2A04141DCE8454545F6DEF63176767679E38A +S21401F2B0EBB179797979B3B3B3C8777777772B7769 +S21401F2C01E4E387754CDCDCF690C7048487070709B +S21401F2D02D69CBD3DBE3AED30C44446464D36DD346 +S21401F2E06DE9E9772B2B2BB3792BC80DC80D79E87F +S21401F2F0D7E8E87976767676797979797976E2401B +S21401F300404040E2E23145313131E24040333C9504 +S21401F3107DDC870E457E896AED73737373EC00009E +S21401F3200000000000000000004A97FF97979773BF +S21401F330739063007070701F08941A403131313138 +S21401F340314576941AAC24E1E157E13106E8E887C5 +S21401F350DC06E8E830E8E8E8E8DC4141E845E84171 +S21401F360DEDE4579764079E3EBB17976762B2B793B +S21401F3702BC87774777777777738E91E64E9CFCF2C +S21401F380CF0C0C7048487048700C6DEC89100B78E7 +S21401F390696944BFBF446DBBAB6DE9E9BB642B2B08 +S21401F3A079792BC8C8C80D79E841871379797676BB +S21401F3B07676767679767676407E7E40E231458739 +S21401F3C031E2E2E2137D524C9F13870E13E211687D +S21401F3D0FF6A2273737373150000000000000000BB +S21401F3E00000EC971CFF97977373904A007070703B +S21401F3F01F4EE453E2133131311331D16A1A6A8C4C +S21401F400E12494B431E8E8E8DC8706E8E8E8E8E8CF +S21401F4104545E8DCDCE8454516DE4131790D79E302 +S21401F420EB2C7676C8C877777777777474777777A3 +S21401F43074BB1EE9E9640CCFCFCF0C694836484847 +S21401F4404848360CCA2424782D6969D3BFD3E944C9 +S21401F450D1641EE9E9772B2B2BB32B2BC8C80D0DD6 +S21401F4603141411379797676764076767676797972 +S21401F47079407E7E40E2454531E231137D52953535 +S21401F48013E2458731E2404011687394739773978E +S21401F4909715000000000000000000EC971C1C9768 +S21401F4A097977373CB0070707070E1E476313131E9 +S21401F4B0313145E2F51AACE6DBE12494D13E45E86C +S21401F4C0E8DC87E8E845E806E8E84545E8DCE8459D +S21401F4D087DEF61379767937FCB00D0D0D747477E7 +S21401F4E07777777474747777BB77BBBB380CE96929 +S21401F4F0CFCFCF0CCF483648CB48CBCB6991578975 +S21401F5002D0C696944BF44E94464BB1E1E1E1E7768 +S21401F510772B79792BC8C80D76E84141137979762E +S21401F5204040407676767979313176404040E2E265 +S21401F5304031337D5295A0133131E231E2404040F3 +S21401F54011401112225773FF9797974A0000000047 +S21401F55000000000EC971C1CFF979773974870708B +S21401F5607070CF60664013313131314540E6ACAC46 +S21401F57024DBE132E6E24545E8E8DC8706E8454576 +S21401F580E8E8E84545E8E8E84506E813317667E344 +S21401F590FCB074777774747477777777747474388B +S21401F5A0772B77BBABBBE9CD69CFCFCFCF696936B8 +S21401F5B0CBCB696D69691CE691EC69690C78E5D17C +S21401F5C0AB6D6D1E64641E1E1E772B792B2BC8C86F +S21401F5D00D79305D411379767640404076767679BE +S21401F5E07931317940404031139F3C524C9F31E292 +S21401F5F031313140404040E2311140401112225732 +S21401F600731CFF1C9763150000000070004A1C1C49 +S21401F6101C1CFF977397487070700090422B313115 +S21401F6203131313131B36AAC6AE1DBE1572411453E +S21401F6304545E8DC8706E8454545E8E84513E8E83A +S21401F640E81331315E7667E3FC5B0DC8C8C80D77F9 +S21401F650777777777777747777772BBB7764BB1E67 +S21401F6600CCDCFCFCFCF69CB4869EC432ACBEC97F3 +S21401F670ED78D3696969BFE55BC5BBE9BBD1641E9B +S21401F680E91E772B797979C80DC85E41F341137667 +S21401F690764040404040767931317979404079C5AD +S21401F6A07D95957DDC794040E2313131404040E244 +S21401F6B045451140404011127357971C1C1C1C1CD9 +S21401F6C091EC48000000911C891C1C1C1C971C70A6 +S21401F6D070700091425A7E313131313131E2F51A82 +S21401F6E0AC57DBDB8C94F1E2314545E8E84187E82D +S21401F6F045314545E845311313133131317620E361 +S21401F700FCB046C8C8C8C8C8C8C8C87777777738AD +S21401F710772BBB777774BBBB13E969CFCF4F69D320 +S21401F720480C0C434D69CBEC97902D0C0C782DD3DF +S21401F730E5D825201EBBD1ABE94EE97779797979F1 +S21401F740C80D765E7CF341137676404040404076A5 +S21401F7507979767913330F95524C8E87457E7E40A4 +S21401F7604040E231E2407E40E2314040404040408D +S21401F770E212FFE6731C1C89891C1C63FA4A07897E +S21401F7808989891C1C1C971C700070071A1A743111 +S21401F7903131313131314066ACAC24DBDB246AD106 +S21401F7A031313145E8E8D7E8E845453131E84531BA +S21401F7B05E5E5E7976765BFC52D846747446C8C83F +S21401F7C0C8C8C8C87777777774BB2B77777774778D +S21401F7D0DCDC1ECFCFCF4F69D30C692D4D2DCBCBA3 +S21401F7E0EC97E1D3690CAEBF2D642FAF25641EBB29 +S21401F7F01EE9E91E7779791313790D765E7CF37C21 +S21401F800137976400D0D0D404076135B0F526CCE8A +S21401F810B133138787E27E7E40404076E240407EE9 +S21401F8204040407E404040404040E26891817389BC +S21401F8301C1C8963636363636389891C1C1C1C1C11 +S21401F84097CBCB89E660781131313131313131B323 +S21401F8506A6A6A8CDBDB32947931313145E8E8D764 +S21401F860E84545453131315E315E5E5E79765B65F0 +S21401F870E320C84674747477C8C8C877777474BBB5 +S21401F880BB7477BB771E7774790EBB640CCFCF360B +S21401F890696948362AD3CB4848691C2478696D784B +S21401F8A0D30CBFE55B25D86DE9E90CE91E7779DC59 +S21401F8B05DE8790DC85E413D5DE87640400D0D403E +S21401F8C079F2FB526552935B797E40E8873140407E +S21401F8D07E4040404040407E7E7E40407E404040EC +S21401F8E0404040401134D3737363FA07CACA2D2DC2 +S21401F8F02D2D2DCACAFA6363FF73977322FE9734C0 +S21401F90031313131313131E2B4AC6A94DBDBDB5772 +S21401F910E6113131313145E8E8E8E8454531313124 +S21401F9203131315E7979F26537B37676C87474749D +S21401F9307474747438383838BBBB38747774C8C874 +S21401F940772B1E0C44BBCFCF360C0C48690CCB482A +S21401F9504848CB89E691690C78690C44E55B5BC540 +S21401F960BB0C0CE9E91EAB336B4179797976E87CFF +S21401F9703DF3E879797933AFFBCE52CE0F5B317622 +S21401F980407E7EE213E24040407E7E404040404062 +S21401F9907E7E7E407E7E7E7E40404040E2117E59E5 +S21401F9A069D338744646686802020202DD46467428 +S21401F9B0E9CAFAFF221A9068E2E231313131314563 +S21401F9C0405AACAC32F1DBE194E1113131313145D1 +S21401F9D0E8E8E8E85E3131313131315EB379B1655D +S21401F9E07176C8C8C8C8467474747438383877775E +S21401F9F0387777381E77C8872B1EE90C0C69440CBC +S21401FA00CBCB692D0C48486948487070CA5A5AAE23 +S21401FA100C78690C44E55B5BC5D16D1E1E777713C8 +S21401FA206B5D13797931E8413D7F28930FFBE3E362 +S21401FA30E3FBF2137976404076407E347E40407E8A +S21401FA407E7E7E7E40407E40407E7E7E407E7E7E06 +S21401FA507E7E4040E20D121246DD461254CDCDCFD9 +S21401FA60CFCF4F4F4FCD545946DD5FC938891C342F +S21401FA70E240E2313131313131766A6A6A24F1DBB2 +S21401FA808C6AB4E231313131E8E8E8E85E3131318F +S21401FA90313131797913FB652CC8C8C8C8C8C84646 +S21401FAA046467774743838771E381E38381E770EF7 +S21401FAB00E1EE90C0C69696969CBCBCBBB690C4896 +S21401FAC0CB0C70707069CAED6590CA690C44D1D1CF +S21401FAD0D825C5BBBB2BB31316161367672025287D +S21401FAE0ADB6F0F0214C7DAFD1790D0D0D7679795B +S21401FAF07676400D340D40407E7E7E7E7E404040D0 +S21401FB004040407E7E7E7E7E7E7E7E40E26874DD64 +S21401FB10DD744ECFCFCFCFCFCFCF363636A9A9A9FA +S21401FB20A9A94F5474C95F741234E2E231313131FC +S21401FB3031E2D8AC6A94DBF1DB2494B33131313154 +S21401FB403131E8E8E85E313131313179761337FC0D +S21401FB50F276C8C8C8C8C877747746777438383814 +S21401FB603838383838383813B52B6DE90C0C6969D4 +S21401FB70CFCBCBCBCB44CB69E9BB1E70707069365B +S21401FB806DF15A5AE12CA0B0E5B4C7285BE5B45B29 +S21401FB906E6B8E8E934C4C21B6B6AD287FF3411317 +S21401FBA0400D0D0D0D0D7676797676400D340D40AF +S21401FBB0407E7E7E7E4040404040404040407E7ECB +S21401FBC07E7E7E7E7E114E7412CD5454CDCDCFCF27 +S21401FBD0CF4F4F4F1FA9A9A9A9A93B3B3B3B5412A5 +S21401FBE0765E1934E2E231313131405A6A6AE6F121 +S21401FBF0DBDB32667631315F3131315EE85E3131E1 +S21401FC00315F76767620E3105B76C8C8C8C8C877B9 +S21401FC1074747474747438124E38384E4E3838779B +S21401FC206E331E44E90C0C44E9CBCBCBCB36E9480A +S21401FC304869E9447070703648D3D3CB78533C4C4E +S21401FC4071BEE3F0F02137718E6E8E8E0F0F93C763 +S21401FC5025417C7C7CF3F34113760D0D0D0D0D4093 +S21401FC6076797676407E340D40407E7E7E7E7E407E +S21401FC7040404040404040407E7E7E7E7E7E40400A +S21401FC804FCFCD544ECDCDCDCFCF4F4FA9A9A9A99A +S21401FC90A9A9A908083B54545912465E767E31310B +S21401FCA0313131766A6A6A24F1DBDB942411315FE3 +S21401FCB05F5F31315E135E5E315F7676765B10375D +S21401FCC0D1762BC8C8C8C8C8777474383874383821 +S21401FCD012545454544E38382B13E9BB6D0C0CD3C4 +S21401FCE0446DCFCBCBCB360C707069CB3848707077 +S21401FCF07070363648CBAB03BFAEBF5B8EAFAFAFCF +S21401FD00D12B2BABB320D741D75E315EE8417CF3D4 +S21401FD1041D731400D0D0D0D4076767676400D3487 +S21401FD203440407E40407E7E40404040404040E27D +S21401FD30407E7E7E7E7E7E40400D4FCD541254CD59 +S21401FD40CDCFCF4FA9A9A9A9A9A9A9A908083B540C +S21401FD5054596874C9744031313131E2D8AC946A6F +S21401FD60DBF1DBE16AB411315F5F5F5F315E135E29 +S21401FD703176767676AFFC0F797676C8C8C8C8191C +S21401FD8077747474747474381254545454545438C4 +S21401FD901E1EE90C6D0C69690C0C69CBCBCBCB36FE +S21401FDA00C707048CBE9CB007070696948690C2DFE +S21401FDB02D6DBF1EB3641EBB6464C87777C85E2012 +S21401FDC013B3C80D0D7631D77C7C41E876400D0D16 +S21401FDD00D4040767676400D343440404040407EBB +S21401FDE07E40407E7E7E7E404040407E7E7E7E7EA1 +S21401FDF0407E1134CF4E4E1E4ECDCDCF4FA9A9A970 +S21401FE00A9A9A9A9A908080854545968DD3868E2BF +S21401FE10E231313140E16A6A57F1F1DB246AB35FBE +S21401FE20315F5F5F5F315E5E5E31767676B1FCB1E3 +S21401FE3079767976C8194646747474383874743885 +S21401FE4012545454545454544EE90C0C0C696969B8 +S21401FE5069690CCFCBCBCBCB3644707070700C3647 +S21401FE600070702D0CCBD30C69CB0C78BBD16D6DAB +S21401FE70441E77C8C8C8C82B2BC8777468340D765B +S21401FE8031417C41D731760D0D0D0D40404040404B +S21401FE900D343440407E40407E7E40407E7E7E7EF5 +S21401FEA0404040407E7E7E7E7E4040E2310D4E6781 +S21401FEB06738CDCDCF4FA9A9A9A9A9A9A9A908088D +S21401FEC008545468465468E2E23131313140949422 +S21401FED06A24F1F1DB3294765F5F5F5F5F5F315ECC +S21401FEE05E5E5E765EFB105B76795E7979C84674F7 +S21401FEF074747474381238381254545454CD54549B +S21401FF004E4E0C0C69690C6969690C440C36CBCBF6 +S21401FF10CBCBBB000000000C367070702D0CCBD321 +S21401FF202D69690C0CBB4144E96D1E1E1E2BC8775A +S21401FF30C82B7712121268340D76E8414141E83138 +S21401FF40760D0D0D40404040403434347E7E7E7E3A +S21401FF507E7E7E7E7E7E7E7E7E7E40407E7E347E81 +S21401FF60347E4031454531DC172B4E54CDCD4FA95B +S21401FF70A9A9A9A9A9A9A908080854B2B25434E2A2 +S21401FF80E2E2E23131E2D16A576ADBF1F1DB325A61 +S21401FF90DD5F5F5F5F5F5F5F315E5E5F13E3E320A0 +S21401FFA0767679797976C8C84674747438381212B8 +S21401FFB05954541254CDCDCDCD544E0C6969E90C2B +S21401FFC0696969CBCBCBCBCBCB36694470000000DB +S21401FFD00C367048702D0C366DE96969690C20F392 +S21401FFE0D1E90CE91E1EBB641E77B3C812121212A9 +S21401FFF0340D0D31414141D71379400D0D0D0D40A2 +S214020000400D3434347E7E34347E34347E7E7E40FC +S2140200107E7E34347E3434347E347EE24541E88754 +S214020020B533E91254CDCD4FA9A9A9A9A9A9A9A961 +S21402003008085423541211111111E2E2313140E141 +S2140200406A9457F1F1DBDB94F57E315F5F5F5F5FA9 +S2140200505F315E31C5FC375E767676767676C8197F +S214020060C8777474383838595959543854CDCDCD68 +S214020070CDCD54CD6969690C6969696969690C698C +S214020080CBCB480C44487000000C36484848CBCBD3 +S214020090CBD36D696936694420C564E9E91EE91E59 +S2140200A02BABAB2BB37412121268770D79E8414171 +S2140200B0D7E83176400D0D0D0D400D3434340D0D5C +S2140200C034343434347E0D7E7E407E3434343434DC +S2140200D0347E7E40E2065D0EB55DE24E5454CDCDD2 +S2140200E04F4FA9A9A9A9A9A90808A5A56D67E21154 +S2140200F011111111E2E2314057576A240BF1DBDB92 +S2140201006AD8115F5F5F5F76765F5F31B1EA0F791B +S214020110767676767619C819197474743838125940 +S2140201205959545454CDCDCDCDCDCDCDCD6969CF11 +S214020130CF6969696969690C6936CB480C447048AD +S2140201407070CB4848CBCB4870CB44440C69366DB4 +S2140201502D6DD1D7BB6D1EE91E67DC2BBBC877128F +S214020160121212740D7679E8D7D7E8137940404018 +S2140201707E7E407E34347E407E343434347E7E400E +S2140201807E34681268347E3434347E4031E8415D11 +S214020190B56B31E234CD54CDCD4F4F4FA9A9A9A9A5 +S2140201A0A908080843180513111111111111E2E2EA +S2140201B0646AE694DB0BF1DB8C94195F5F5F5F7613 +S2140201C076767631FB65AF767676767676C81919C8 +S2140201D0191974743838381254545454CDCDCDCDC0 +S2140201E0CDCDCDCDCD0C0C0CCB690C69CFCBCB696C +S2140201F00C0CCBCB480CD30070484848CB696DCB6F +S2140202004848CB6D0C69CBCB6DD3694420D11E1EFA +S214020210E92B6E337777771E12121212680D0D0DC8 +S2140202207913E8E8E831790D681254125954545497 +S2140202306834347E7E344040126846DD4668546830 +S2140202407E3434403141F35D6B6BE8E24040CDCD05 +S214020250CDCD4F4F3B4FA9A9080808086D7A189ACA +S214020260A0311111111111E27EF56AE6570B0BF15E +S214020270DB2466345F5F5F5F7676405EE3FC337650 +S2140202807676767676C80DC876C8197438383812F7 +S214020290545454CD3B3B3BCDCDCDCDCDCDCD0CE94D +S2140202A00CCBCBCBCBCB690C2D2D693636480C2D1F +S2140202B070704848CB2DB02ACB3636704836363664 +S2140202C0690C0C690CABD1BBE91EDC33771E771EBA +S2140202D0124E4E121212340D0D0D7913E813C86821 +S2140202E046DDA1A1D9D9D9A1A1DD026812687E4056 +S2140202F05959A175DF5858D959127E7EE206F3F392 +S2140203005D5DE83140407E54CDCDCD4F4F3B3B4FF7 +S2140203103BA5083B543BD47A189ADCE21111111122 +S214020320E27EE69457327272F10BE6E1A45F5F76E4 +S2140203307676402010E3137676760D0D76760D0DE2 +S2140203407676C87774121212545454CDCD3B4F4F62 +S2140203503BCDCDCD0CCDCDE96D2DCBCF6969CBCBC9 +S214020360CBCB6969363648696948484836691B0105 +S2140203702DCB36364870483636CB690C0C0C6D647D +S214020380774E772BAB1E1E1E1E124E4E1212126890 +S2140203900D0D0D400D1268A1DF5858DFDFDFDFDFDD +S2140203A05858585858D90259A9A52323A4A175DF2D +S2140203B0DFD968681145F3F341E83131407E4012D7 +S2140203C05954CDCD4F3B543B3B3BA5543B54A543E0 +S2140203D07A189A6131E2111111112B6A3257DB72C7 +S2140203E072F10B94D8DD5F76767640AF650F76763F +S2140203F07676760D4646460D0D76C8467438125900 +S21402040054545454CD3B4F4F4F4F4FCDCD0CCDCDC2 +S2140204100C0C6DCF0C0CCBCBCB696969CB3636484E +S2140204203669484848CB438A4369CB364870706978 +S2140204300C0C69D3D3440CE9BB774E4E1E2B1E1E02 +S2140204401E1E12124E4E12127434340D1254A1F79E +S214020450DAF7DFDF757575D9D9A1A1A10AD9DF58F8 +S214020460D90208A923B702A1DFDFD9A15931416E0B +S2140204704131E240407E4068596854CDCD4F5454D5 +S214020480CDCDCD5454CDCD5959D47A1801DCE211D4 +S21402049011117E726A3257722F72F1DB6AC81176B8 +S2140204A07640760F65F24076767676760D46464646 +S2140204B0460D190D7474381254545454CDCD4F4F02 +S2140204C0A94F4FCFCDCD0CCDCDCFCB69CB69CBCB02 +S2140204D06969CBCB6936484848CBCB4848CB0C0534 +S2140204E06169CBCB484870CBD3E90C0CD36D440C76 +S2140204F0E91E774E0CBB641E1E1E1E38124E541288 +S2140205007477770D4E74DFDADF75755FA1A1A1A14E +S214020510A1A402020202A429A1D958DFB2A9A5B257 +S21402052002A1DFD9A1B2133D0E3140407E7E400DBE +S21402053054025954CDCDA9595954CDCD545954CD00 +S21402054054B277A818821BE211111102ED943232CE +S214020550E52F720B2494461140DD5EE31013DD7620 +S21402056040767676764646464646460D46743812B7 +S21402057054545454CDCDCD4FA9A94F4FCFCDCDCF46 +S214020580CFCFCFCB36CB6969CBCBCBCB696969CB27 +S2140205904848CB484848CB43A06DCBCB364848703A +S2140205A069D3E9E9690C6D440C0CE9774E4E2BAB26 +S2140205B01E1E77771E1E1254121277C8CD46DAD93F +S2140205C0DD46B25959A5A5A5A5A5A5A5A5A5A52308 +S2140205D023B7A4A1D9DFA1A508B2A4A1D9A1B27953 +S2140205E05D45407E3434400D5402B25454CD4FA97A +S2140205F0B25954CD54545954CD545902E5A8821BCD +S21402060031E2111177573232DBE52F0B0B325AA447 +S21402061040405B653776DD400D767676760D46464B +S214020620747474747474743859545454CDCDCD4F54 +S2140206304FA91F4F4FCFCF4F4F4FCBCB36CBCB69A8 +S214020640CBCBCBCB690C0C0C36703648704848695D +S214020650436D36CB484848707070691EE9690CE9EC +S214020660E90C0CE9774E1E2BBB7777AB771E1E1272 +S2140206704E1212774E46F7DDB25959540808A9A908 +S214020680A9A9A9A9A90808A5A5A5A523B70229D994 +S214020690DF46A52329D9A1021231407E347E406866 +S2140206A03BDD02235454CD1F54B25954545454596A +S2140206B059545459B2DD4D821B31E2E27EAE6AEDE8 +S2140206C03272E52F0B7294B402760F65AF40DDDD11 +S2140206D046C9C90D464668B2B27474686868121292 +S2140206E012545454CDCDCDCF4FA91F1F4F4FCFCF4D +S2140206F01FCFCB363636CB69CB696969CB69696958 +S214020700364848484848007036CB484848484870FB +S214020710707070CF440C0CE9D30CCD0C3877381EB1 +S214020720771E1E776477777712124E741E127546FE +S214020730595408A9A908A559B2020202B259A50835 +S214020740A9A9A908A5A5A523B729D9D9B25902A14D +S214020750A4B2687E3434684F3BA10223A554543BAE +S2140207601FB2B2595454545459B2545454B702A1F5 +S21402077043613111E2682257ED8CE5E5727272949C +S214020780D125EAFC137E40DDDD46464676E8D78074 +S2140207905E5F68B26859595959545454CDCDCDCF7D +S2140207A04F4FA91F1F1F4FCFCF1FCFCB3636363620 +S2140207B036CB6969CBCB3636484848484848480065 +S2140207C0007070484848707070701F1F360CCF0C4F +S2140207D06DBFE9CD0C4E1E384E4E4E1E2B2B77AB00 +S2140207E077121254684E5F4654A91F08B2A1DF580A +S2140207F0585858585858585858D9A102A5A9A9A5C2 +S21402080023232302A4D9A1B2595423A95454A91FBD +S21402081059D90223A5A5A554A93BB25954543B5411 +S2140208205459B2593B5423B7DD5F7779E2111E570C +S214020830EDED51BFE5727251E6AFD6F02534DD40DC +S2140208404668465E62E0E0E0F4C6C6B968595959A1 +S21402085059545454CDCDCDCFCF4F4F4F1F1F1F4F9E +S214020860CFCB1FCB3636CBCB36CBCB6969CBCB3691 +S21402087048484848484848480000000000707070E1 +S2140208807070701F363636CF0CD344CDCD0C4E4E1C +S214020890124E544E1EABBBBB2B741E1254545468DD +S2140208A0A9A954DD75F7F7DF75D9A1A1A1A1A1A168 +S2140208B00A0AD9885858D90208A908A52323B7A432 +S2140208C0A129A402B22354B2D9D9B223A5A5A5A5BB +S2140208D0541FB2B259A55408A5A55959B254A5A594 +S2140208E0B7B7DD7546347E78578C8C2FBFE5724DD0 +S2140208F08C5A6F217C3D5E3434025E62F4F43D3DD8 +S2140209003D62625050DA595959545454CDCDCD4FA8 +S2140209104F4F4FCF4F361F1F1FCF3670483636CB3E +S214020920CBCB36CB6969CB363636484848707070C2 +S2140209304870000000000070707070701F1F36CF85 +S2140209400C0C6D0CCD5454CD544E4E541277777712 +S214020950C87712777459543BA9545FDFDF75D9A163 +S214020960A1A1A1292929A1A1A1A1292929A1A1D908 +S21402097058DFDDB223A5A5A5080808A559B2DDA152 +S214020980D9A423A5A5A5A5A5A5A9A502B223A554C4 +S21402099008A5A523B2B7B208A523B7B7DDF7DD08C9 +S2140209A073328C90BFBFBF72E532E120D7805E46BD +S2140209B0B75F62F4C6623D3D6262625050DA50C969 +S2140209C054545454CDCDCDCF4F4F4FCFCF4F361F6B +S2140209D01F1F1F7070363636CB363636CBCBCBCB98 +S2140209E03636364848487048FDFA707000000000F7 +S2140209F0007070701F1F1F4F0C0CCDCDCD54544E7F +S214020A0054CD545454742B2B777712747712741275 +S214020A10A946DF75D9A1A1DDDDA1DD02020202022F +S214020A2002B702A4A42929A1A1A10AD9D9D9D9A178 +S214020A30A1DDDDDDA1A1A1A10223A5A5A5A5A5A5F0 +S214020A40A5A5A9020223A5A5230854A5A5B259B2B5 +S214020A5059082323B7B7DDDA74228C900BABBFBFDD +S214020A602FAEE6E5407602230230F4F4626262625A +S214020A706250B9505050F7DFA1545454CDCDCD4FEB +S214020A804F4F4F4F4F3636361F1F1F1F701FCB3626 +S214020A903636363636CBCB3636CBCB364848484853 +S214020AA0FDFA63007000000000007070701F1F1FC8 +S214020AB04FCFCDCDCDCD54545454543B3B54122B32 +S214020AC0B3B3C8747712127474A175755FA1A1A12D +S214020AD0DD02B223A50808080808A5A5A523B7B70E +S214020AE0B7B702A4A4DDA1A1A1A1A1A129A4B7B769 +S214020AF023A5A5A5A5A5A5A5A5A51F02A42323A54F +S214020B00A52308A5A5A523B223A4B2A92323B7B774 +S214020B10A4D381909BAEBBBFBFAEAEE674B2230237 +S214020B208062F462625050B9B9B9626250F775A138 +S214020B30DDB23B54CDCDCD3B4F4F4F3636363636F3 +S214020B40361F1F1F70703636484836696936363685 +S214020B503636CBCB364848481507FAFD007070701B +S214020B607000007070701F1FA9CFCDCDE94ECD5416 +S214020B70545454CD3B3B3B1277C8D1B379C8741258 +S214020B8046D9755FA1DD5FA1B2A508080808080866 +S214020B90080808A5A5A5A5A5A52323232323B7B73B +S214020BA0B7B7B72323A5A5A5A5A5A5A5A5A5A5A5BC +S214020BB0A5A5A9B2A1B22323A5A52308A5A5A5A5E7 +S214020BC0B2B223A168082323B7A563ED9797BFBBEC +S214020BD0BFBFBF7232685F3062627CB9B9B9F7F7DD +S214020BE0F7B950B9805FDD02B2B2233B3B3BCDCDB5 +S214020BF04F4F4F4F36363636361F701F1F707048AF +S214020C0048364848363648363636CBCBCBCBCBCBB7 +S214020C10150763FD15007070007000007070701F7D +S214020C201FA9CF4FCDE9CDCD544E545454545454ED +S214020C30541E772BB379137746755FA1A1DDA1DD2C +S214020C402308080808080808080808080808080802 +S214020C500808080808A5A5A5A5A5A5A5A5A5A5A54E +S214020C60A5A5A5A5A5A5A5A5A5A5A902D90223233F +S214020C70A508A559A9A5A5A5A523B2B223A1A1A5F4 +S214020C80A5233B737397974444BFBF789090F7F4BD +S214020C9062B9B9F7F7F7F7DADADAF775C934B2B242 +S214020CA0B2B2B2A5083B3B3B4F4F4F4F4F3636369C +S214020CB036361F7070364870707048484848484844 +S214020CC036CBCBCBCBCB0C1EECFA634A48000000EB +S214020CD07000007000707070CF4F4F4F4F4EE9CDCE +S214020CE054544E4E545454545454121277BB2B2B15 +S214020CF04675D9A1A1A1A1A1B2A5080808A9A9086B +S214020D0008A90808080808080808080808A508A581 +S214020D10A5A5A5A5A5A5A5A5A5A5A5A5A5A5A5A57C +S214020D20A5A908DDDFA4232323A5A523B208A5A52C +S214020D30A5A5A5B702B7B7A1D902A52D22971C89EA +S214020D401E44447844ED72F7B9F7F7F7F7B9DADAE2 +S214020D50DFD9A1A46868685959592323083B3B3B4D +S214020D603B4F4F4F363636363636367070703670E4 +S214020D7070707070704848484836CB6969690C3E96 +S214020D80AB91634A4800000000000000000070704B +S214020D90CFCF4FCF4FCD4ECDCD5454544E5454CDCD +S214020DA03B54544E1212771268DFA146595454CD62 +S214020DB0CD542323A5A9A9A9A9A9A9A9A9080808C0 +S214020DC0080808080808080808A5A5A5A5A5A5A551 +S214020DD0A5A5A5A5A5A5A508A9A9B2D9DFA42323DB +S214020DE02323A5A52302A9A5A5A5A5A5A5B702B255 +S214020DF0B7DDD9A49173898978E944444444ED4423 +S214020E0075B9F7F7F7DF755FA1A402B7B7B2B259A3 +S214020E105954A5543BA93B3BCDCD4F4F36364F1FB9 +S214020E203636361F701F1F70707070487070707084 +S214020E30484836CB690C6979F6AE89EC4800000062 +S214020E4000000000000000701FCD1FCDCDCDCD4E9E +S214020E50CDCD545454545454543B5454544E1212FC +S214020E6059D968A91F1F1F1F1F1F1F70A9A5A5A953 +S214020E70A9A9A9A9A9A9A9A908A908080808080842 +S214020E80080808A5A5A5A5A5A508A9A9A9A9A90808 +S214020E905402D9DFD9A423232323A5A5A523A40876 +S214020EA008A5A5A5A5A5A5B7B2B2B702591C9789EC +S214020EB0896DE96D44D3782274DD02DDA1A1A1A17A +S214020EC0A1DDA4A4020202B25954A5545408A93BB7 +S214020ED03BCD3B4F4F1F36361F363636701F1F36FA +S214020EE036707070707070707036CB36CB690C7757 +S214020EF08B3391EC48000000007000000000007088 +S214020F0070CF4F36CDCD4F4E383BCD54544E4E5407 +S214020F10545454545454541254DD3B1F1F1F1F1F65 +S214020F201F1F1F1F1F707008A5A9A9A9A9A9A9A9F3 +S214020F30A9A9A9A908080808080808080808A50809 +S214020F40A9A9A5B2DDA1A1D9D95858D9A1A423230C +S214020F50232323A5A5A5A5A459A9A5A5A5A5A5A509 +S214020F60A523B2B2B70C97898978E9E96DD3E989E6 +S214020F701C02DADFA1B22323B7B7B72323232354F5 +S214020F805454543B3B3BA93B3B3B3B4F4F1F1F1F1D +S214020F90361F1F361F70703636707048707070704D +S214020FA0487070CB69CF696D06F6446936700000EA +S214020FB000007000000000000070CD361FCDCDCDC1 +S214020FC0E94ECD4ECD54545454545454545454545F +S214020FD054593B1FA91F1F1F1F1F1F1F1F1F1F1F05 +S214020FE070A9A5A9A9A9A9A9A9A9A9A9A9A90808E9 +S214020FF008080808080808A90802A1D95858585825 +S214021000DFDFD9D9A1A42323232323A5A5A508A5D9 +S21402101002021FA5A5A5A5A5A5A5A52346E5FA979F +S214021020898978E9E9E96DE91C91082302A1D9A129 +S214021030A4B223A5A50808083B5454CD3B3B3BA9C4 +S2140210403B3B4F1F1F1FA94F4F70701F7070707071 +S21402105036707070707070707036367036690CD379 +S214021060678B7969CB487000000000000000000022 +S2140210700000704F1F4FCDCD1ECD3B54E93854545F +S2140210804E54545454545454595454A9A91F1F1F0F +S2140210901F1F1F1F1F1F1F1F1F1F70A9A5A9A9A95A +S2140210A0A9A9A9A9A9A9A9A9A9A908080808A908CE +S2140210B0DDD9D9D9DFDFDFD9D9D9D9A1A102B723A2 +S2140210C0232323A5A5A5A5082302A1A908A5A5A5AE +S2140210D0A5A5A5A544E689638989892D0C0CE96D29 +S2140210E0E9FF1E0AA1DDB2B7B202020202A4A402FE +S2140210F0B259A53B08A9A93BA9A93B54B2DDA1D97F +S2140211008888294F701F7070707070487070707089 +S214021110707048CB36366978E5063E0C69CB487067 +S21402112000000000000000000000707070704F4F5A +S2140211304E1ECDCD4E4EBBBB544E545454545454F6 +S21402114054545408A91F1F1F1F1F1F1F1F1F1F1F96 +S2140211501F1F1F1F1FA908A9A9A9A9A9A9A9A9A94B +S214021160A9A9A9A9A9081F59D9A1A1D9DFDFDFDF3B +S214021170D9D9D9A12902B723232323A5A5A5A5A595 +S2140211800823B2A1B2A9A508A5A5A55451E6BF6930 +S214021190FF9189910C0C0C2D2D6D1C748858585893 +S2140211A058880A0AA1DD02B2B2DDD988D9D90AD98D +S2140211B0D9D9D988888888888888888829701F70AD +S2140211C070707070707070707070487036692D89AB +S2140211D089C8E20C69CB4848700000000000000095 +S2140211E00000007070707036CD1E383B1EAB1E3885 +S2140211F06438545454545454545454CDA9A91F1FFB +S2140212001F1F1F1F1F1F1F1F1F1F1F1F1F1F1F08FE +S214021210081FA9A9A9A9A9A9A9A9A9A9A9081F59DD +S21402122058D9D9DF58DFD9D9D9D9A1A1A402232305 +S214021230232323A5A5A5A5A5A50823B2DDA1A90854 +S214021240A508A544ED8C3808CA1C9189910C0C0C93 +S2140212502D0CD3632329A1D9D98888885858585881 +S214021260D929B25902A1D9D9D90A0A88D90A0A0AA9 +S2140212700A0A0A0A0A0A4F707070707070707070EC +S2140212807070704848CBCA89912D0D4ECBCB36482C +S2140212907070000000000000000000000070703651 +S2140212A01FCD38CD77791EBB1EBBAB545454545455 +S2140212B05454543B3B08A9A91F1F1F1F1F1FA9A94F +S2140212C01F1F1F1F1F1F1F1F0008A9A9A9A9A9A921 +S2140212D0A9A9A9A9A9A9A90888DD5408085946D91F +S2140212E0D9A1A1A1A4B723B7232323A5A5A5A5A564 +S2140212F0A5A50823B202D9B21F085451EDBF08A50E +S214021300A963899163CACD0C0C2D0C9191B7A4A444 +S214021310A1A10A0A0AD9D9DFDFDF5858D9DD5968F0 +S21402132029A1A1A10A0A0A0A0A0AA1A1A1A1DDCF3E +S21402133070367070707070707070707048EC916378 +S214021340CA69CDCDCBCB36484870000000000000FD +S21402135000000000000070704FCD4F4F4E0EC85474 +S2140213601E1E1E6438545454545454543B3B08A90D +S214021370A91F1F1F1F1F1F1FA9A91F1F1F1F1F1FD8 +S2140213801FCDA908A9A9A9A9A9A9A9A9A9A9A91F57 +S21402139002A5001F1F1F1F1FA9DDD9A102B7232305 +S2140213A023A5A5A5A5A5A5A5A5A5A50823B2B2A171 +S2140213B00A54D3E6904E080808CBFF9191630C6955 +S2140213C00C0C2D0C632DB7A42929A1A1A1A1A1A1C2 +S2140213D0D9D9D988D9DF58D9B25929A4A429A1A123 +S2140213E0A1A1A1DDDDDD46683B70367070707070BD +S2140213F07070707069079107154848364836484835 +S21402140048707000000000000000000000700070CD +S2140214107070CDCDCD33DC12124E4E4EABBB545453 +S21402142054545454543B5408A9A91F1F1F1F1F1F6E +S214021430A91FA91F1F1F1F1F1F1E1312A9A9A9A993 +S214021440A9A9A9A9A9A9A91F080800A9A9A9A9A97A +S214021450A91F1F02A1B2232323A5A5A5A5A5A5A55D +S214021460A5A5A5080823B2B2A48093E678080808C2 +S21402147008084A1C91639169690C0C0C2D63CFA570 +S214021480A52302A42929A129A1A1A1A1D988DFD92E +S214021490DF5802CD68595454545459595959595918 +S2140214A054CD701F70707070707070CB4AFA91ECE9 +S2140214B04870704848484848484870700000000025 +S2140214C00000000000000000007036364F1E7977DC +S2140214D0774EE954541EAB545454545454545454F2 +S2140214E008A9A91F1F1F1F1F1FA9A9A91F1F1F1F6A +S2140214F01F1E3367794F08A9A9A9A91FA9A9A9A9D7 +S2140215001FA91F1F1F1F1F1F1FA9A9A91FDDDD233C +S2140215102323A5A5A508A508A5A5A5A5080823B261 +S214021520B25BEACE5EA9A9080808A963639163CAFA +S21402153069690C0C0CCA63A9A508A5A5A5B2A4A442 +S214021540DDDDA1DDDDA1D9DFDFD9D9DF68CD12B2BD +S214021550B25959595454CDCDCDCDCF7070707070EC +S2140215607070CB4A0707ECCB4870707070484848DA +S21402157048484848700000000000000000001F00B5 +S2140215800000704F4FCD1E544E774E4E4E54383894 +S21402159054545454545459545408A9A91F1F1F1F75 +S2140215A01F1FA9A9A91F1F1F1F127913133112A9E2 +S2140215B0A9A9A9A91F1FA9A9A91FA91F1F1F1F1FE4 +S2140215C01F1F1FA9A91FA9A1B2A5A5A5080808083B +S2140215D008080808080808231966A65BA10A29084D +S2140215E01FA90836FF9191630C69EC0C2DEC91FA59 +S2140215F008A5A5A5080808A5B2020202DDDD464632 +S214021600A1D9DFD9D9D954CFCD545459595959599A +S214021610595954CD70707070704815CA074ACB700D +S2140216200000707070704848484848487070000063 +S214021630000000000000007070000070363BCF4EC5 +S2140216403B541E384E4E541E5454545454545459FB +S214021650593BA508A91F1FA91F1FA9A9A9A9A91F08 +S2140216601F12340D79131379A908A9A9A91F1F1FE0 +S214021670A9A91FA91F1F1F1F1F1F1F1F1F1FA91F4B +S21402168054A4A5A5080808080808080808A508CD4F +S214021690F1A653740229A10AA1231F1F4AFF9163D0 +S2140216A0916969EC0C2DEC63CA08A5A5A5A5A53B16 +S2140216B03B3B54B2026846DD6859DDD9DFD9D9A171 +S2140216C0CFCFCFCDCDCDCDCDCD5454544F7070703D +S2140216D04815CA074A157070700070707070707086 +S2140216E04848484870707000000000000000000083 +S2140216F00000000000701F4F4E3BCD3838544E5449 +S21402170054544E5454545454595959A908A9A91F0B +S2140217101F1F1FA9A9A9A91FA9686868340D7913F4 +S21402172079120808A9A9A91F1F1F1F1FA91F1F1F7B +S2140217301F1F1F1F1F1F1F1FA91FB2B7A5080808BC +S2140217400808080808080844E66664592302A4A1A3 +S2140217500A0A29A4A9FAFF6363076969ECEC0C0C70 +S21402176063690808080808083B3B3B3B3B59686826 +S21402177068DD685446D9D9A1D968CBCDCDCDCDCDBB +S21402178054CDCDCD544F7036ECCA074A154870700A +S2140217907070007070707070484870707070707002 +S2140217A000000000000000701F70000000707070E3 +S2140217B04F543BCD38384E4E54544E4E59545454D2 +S2140217C05959591259A91F1F1F1FA9A91F1F1FA91F +S2140217D054686868683434767979790808A9A9A9BA +S2140217E01F1F1F1F1FA91F1F1F1F1F1F1F1F1F1F78 +S2140217F01FA91F3B02A50808080808083B08545101 +S21402180094725923B223B202A4A1A1A12902ECFF29 +S2140218101C63EC6969ECECECCA63A9A5083B3B3B8C +S2140218203B3B3B3B3BCDCD5468686846685474D915 +S214021830A1A1A1CFCFCDCDCDCDCDCDCDCDCD3615A0 +S214021840CA4AECCB707070707070707000707070F6 +S21402185070707070704870707000000000000000B9 +S21402186000701F00000070A970701F1FCD381E3850 +S2140218704E5454381E545454595959121212593B44 +S214021880A91F1F1F1FA93B596868B26868683434CD +S2140218900D0D0D3112A9A9A9A9A91F1F1F1F081FE7 +S2140218A01F1F1F1F1F1F1F1F1F1FA9A91F0223085D +S2140218B00808083B3B3B78E6EDE908A559B2232326 +S2140218C0B202A1A1292929A5EC63916969ECECEC85 +S2140218D0EC07FA1F08083B3B4F3B3B3B3B3BCDCD5F +S2140218E0CD546868B26868CD68A1A1D954CFCFCF6D +S2140218F0CDCDCDCDCDCDCD36EC1548707070707097 +S2140219007070707070707070707070707048487020 +S2140219107000000000000000007070000000000070 +S2140219201F70701F1FCD381E1E38545412BB12541F +S2140219305959595959121259595959595912740D16 +S2140219400D686868686834343434340D3179A9A96E +S214021950A9A9A91F1F1F1FA9A91F1F1F1F1F1F1FDE +S2140219601F1FA9A94F3659B20808080808E9E194CA +S214021970AE3B083BA523B223A559B2A4292929299F +S214021980027069CA6969ECECECEC914AA94FA908A5 +S2140219903B3B4F4F4F4FCF3BCDCDCD54B2B2686895 +S2140219A054CDDDA1D946CBCFCFCFCDCFCFCFCDCF64 +S2140219B070707070707070704848367070707070AA +S2140219C07070707070484870707000000000000000 +S2140219D00000000000000000707070701F1F3B388F +S2140219E038384E545412771259595959591268595F +S2140219F0595959B2B2683468C82BC80D6868683439 +S214021A00343434344013133BA9A9A9A91F1F1F1F3E +S214021A101F081F1F1F1F1F1F1F1F1FA94F4F1E0D0F +S214021A20B23B3B0808AEE690E9083B083BA5A55941 +S214021A3023A523B7B2A429292929A9CBCF6969EC02 +S214021A40ECECEC63ECA94FA94F4F4F4F4F4F4FCFE3 +S214021A50CFCFCDCDCD59B259B26868545446A1CF36 +S214021A60CFCFCFCFCFCFCFCD1F007070707070703A +S214021A703636363648707000700070707070487077 +S214021A80707000000000000000000000000000006F +S214021A9000701F7070701FA93B54545454121238B1 +S214021AA059591212126812685959683468680D0D2D +S214021AB06874C8C8C80D346834343434344031E8E5 +S214021AC012A9A9A9A91F1F1F1F70081F1F1F1F1FCA +S214021AD01FA9A94F4F4F1E1645B254086DEDE67862 +S214021AE03B3B3B08A93BA5A5592308A523B70229DA +S214021AF029B7A51FCB691515ECECECECFA36A9A9AB +S214021B00A94F4F4F4F4F4F4FCFCFCFCF4FCDCD5483 +S214021B105902543648484854CDCFCFCFCFCFCFCF37 +S214021B20CF7070707070704836364F4E4F707000BF +S214021B30000000000070707000000000000000004E +S214021B400000000070700000000000007070703B23 +S214021B50A9A93B545454545959125959686868688B +S214021B6068B2B20D763468C80D6868680D0DC83460 +S214021B70340234343434403113C8A9A91FA91F1FB4 +S214021B801F1F1FA9A91F1F1FA9A9A9A9A94F770629 +S214021B90B5E8234E97E6510C08CD3B3B3BA93BA547 +S214021BA0A52323A5A5B202B708000000000036153B +S214021BB06915ECECFAFA1F4FA9A9A9A94F4F4F4F86 +S214021BC04F4FCFCFCFCF4FCFCD59364836CBCB485E +S214021BD0364FCBCFCFCFCFCFCF36007070707036A8 +S214021BE036364F404036707000000000000000702D +S214021BF0700000000000000000000000000000006E +S214021C000000007070007070A9A9083B5454125965 +S214021C1012381277126874686868B2B20D13763496 +S214021C2076C868B26868340D3434023434343440CA +S214021C307979793BA91F1F1F1F1F1F70A9A91FA90A +S214021C40A9A9A91F1FCDC83187F679BFBEEDD3A9B2 +S214021C503BCDCD3B3B08A93BA5A5A52308230208FF +S214021C6000000000000000000000707070CB151F1E +S214021C70A9A9A9A9A9A9A94F4F4F4F4F4FCFCFCF77 +S214021C80CF591F483636484848364FCFCFCF4F4FEA +S214021C904FCF707070707070364F4F349D12367022 +S214021CA070000000000000007000000070700070FD +S214021CB0707000000000707000000000707000700D +S214021CC0701F1F4F3B5938381212771277741274EE +S214021CD068686868B2680D3434767668B2B2680DA1 +S214021CE00D343434343434340D4079AFB4081F1F05 +S214021CF01F1F1F1F1F1FA91FA9A91F704F1E317963 +S214021D0076795BE35ABF4FA93B3BCDCDCD3B3B4FEC +S214021D103BA508A5A5B223000000000000000000B5 +S214021D20000000701FA91F704F1F4FA9A9A9A9A9DB +S214021D304F4F4F4F4F4F36CB4F591F4836364848B6 +S214021D4048483B36CFCF4F3636CB4800707070705F +S214021D5036CF4F129DE24F36700000000000007032 +S214021D60000000000070704848707070700000003C +S214021D70000000000000000070701F1FA9543838D1 +S214021D803838127712747459681268686868B259DB +S214021D90B2B2683434686868C8C80D343402023493 +S214021DA079F237FC653754A91FA91F1FA91F1FA95F +S214021DB0A91F1F4F1E79137976D1FB650F1E083BAC +S214021DC0A94F3BCDCDCD4F4F4F3B3BA5A559A500C7 +S214021DD00000000000000000000000001F1F1F4F50 +S214021DE01F1F361F1F36363636364F4F36364F369D +S214021DF03654A948364848484848CF1F364F3636E4 +S214021E0036CB3600707070707036CF4E3E9D1236EE +S214021E103670007000000000700000707070484855 +S214021E2048484848484800000000000000000000FB +S214021E300070701F1FA954747438381274127474A8 +S214021E405959B26868686868686868B2B26868684B +S214021E50680D79C834342B2CE32EFCFB5B7931C831 +S214021E60A91F1FA9A91F1FA91F1F4F1E134531799E +S214021E70677165E3D10D744F08A94F3BCDCDCF4FA7 +S214021E804F4F4F3B3B23A90000000000000000001C +S214021E9000000000701F1F701FA970361F1F1F361C +S214021EA036363636364F4F36363B08704848484840 +S214021EB04848361F364F36363636360070707070E3 +S214021EC01F364F3B409DE2CD364800000070007042 +S214021ED00070707048484848484848151515FD0077 +S214021EE07070000000000070707070701F36A95489 +S214021EF012747474121212687459596868686868A1 +S214021F00686868686868B2686834340D792CE3FCDF +S214021F10E353D176404076794577A91F1F1F1F1FCE +S214021F20A94EC813E8133113AFFCFCF2C80D0D0D11 +S214021F303BA9A9A94FCDCDCF4F4FA9A93B54A90084 +S214021F400000000000000000001515487070001F19 +S214021F501F70A91F1F1F36361F1F363636363636F7 +S214021F60363B3B7048484848484836A91F4F3636E5 +S214021F7036363670007070707036364F123E3E122D +S214021F803636700000000000707048484848481511 +S214021F90151515FD4A4A070700000000000000005C +S214021FA00000701F1F1F364F3B54127474126812C3 +S214021FB00D34595968680D7434746868686868B274 +S214021FC0686834C853FCFC71D10D34347676767664 +S214021FD0313145317712544E7767E8E8133131AF25 +S214021FE0106571790D0D0D0D0D4EA9A9A94FCFCF14 +S214021FF0CF4F4FA9A9A51F00000000000000000057 +S214022000000015CB4870707000701F1FA9701F1F4C +S2140220101F36361F36363636364F3B7070484848BF +S2140220204848361F483636363636487070707070F6 +S214022030707036363B403E344F3648700000000023 +S2140220407048484848151515FD4A070707074A4AC3 +S214022050FD00000000000000000070701F1F1F3609 +S2140220604F3B5412747412680D1368B2B2B2680D04 +S214022070746834346868686868682B71FC6FB47971 +S2140220800D0D0D34347679767631313113E8E81356 +S21402209045E81313133133376537D17676C80D0DFD +S2140220A00D77744FA9A94FCFCFCF4FA9A9087000BB +S2140220B00000000000000000000048151570707057 +S2140220C0707000701FA9701F1F1F1F3636363636F7 +S2140220D036363B707070007048484836704848483C +S2140220E036487000707070707070703636123EE24D +S2140220F0CD36487070707048484848481515FD4AF5 +S2140221000707074A4AFD1515484800000000000068 +S214022110000000007036361F364F3B545974741256 +S214022120740DC8685959B26868686868346868681F +S214022130B2C853FC105B346834C8C80D34347679A0 +S21402214076313131311313131313131331130F6511 +S214022150105B797676C80DC80D7774744E1F3B4FA8 +S214022160CFCF4F4F3BA970000000000000000000D8 +S21402217000000015CB1500707070707070001FA9FB +S214022180703636363636363648364F70701F7070B2 +S214022190707048487048363648707070707070704C +S2140221A07070703636CF40E2CD36364870484848B2 +S2140221B048484815FD4A07074A4AFD151515484876 +S2140221C04848480000000000000000000000701FA1 +S2140221D0703636CD54545959597412741259686867 +S2140221E068686868683468B2C85310716476763472 +S2140221F068340D0D0D34340D767613133131131306 +S2140222001313133113AFFCEAB179797976C8C8C8CB +S214022210C80D77747474CF1F3BCDCD3B3B1F0000B7 +S2140222200000000000000000000000001515480035 +S21402223070707070707070001F1F703636363648B9 +S214022240364FA970701F7070707070707070704822 +S2140222507070007070707070707070703636CD343A +S214022260CD363648484848484815FD4A4A074AFD8A +S2140222701515154848484848487070000000000088 +S21402228000000070000000707070364FCDCD5454C0 +S21402229059591212745968686868680D6868B27786 +S2140222A05310242B6868340D343468343434343490 +S2140222B03440403113313131131313135BE3650F8E +S2140222C0677979792BC8C8C8C8777777743838742D +S2140222D070704F4F1F7000000000000000000000EA +S2140222E0000000004815154800707070707070701D +S2140222F07070700070701F3636A91F707070707024 +S21402230070707070707070707070707070707070C6 +S21402231070707070704836CFCFCBCB48484848159F +S21402232015FD4A074AFD151515484848484848709D +S2140223307000000000000000000000007000007046 +S2140223407070484FCF541212595912127459596864 +S21402235034343468686874F11053C8B268686868C0 +S214022360683434346868683434340D40311331319B +S21402237031313133FB65E3337979797676C8C8C86B +S214022380C877797977743838380000000000000082 +S21402239000000000000000000000000000481515C4 +S2140223A000007070707070707070707070000070E6 +S2140223B07070707070707070707070707070707016 +S2140223C07070707070707070707070707070483668 +S2140223D036CBCBCB151515FD4A074AFD15154848D1 +S2140223E0484848484870700000000000000000009E +S2140223F0000000000000007070707036CDCD120D27 +S2140224006859595959595959686868346868E56667 +S214022410BE2B6834686868686868683434686834EC +S2140224203434343434763131313113B1FC10F2792C +S21402243079797676C8C8C8C8C877C845C8741E38B9 +S2140224403869000070707000000000000000000094 +S2140224500000000000001515150000707070707006 +S2140224607070707070707070707070707070707065 +S2140224707070707070707070707070707070707055 +S2140224807070707070704848CBCBCBCB15EC4A0797 +S214022490074AFD15484848484848700000000000B2 +S2140224A00000000000000000000000000000000025 +S2140224B0707070704FCD54457659595959595959BB +S2140224C059596868682BBE66E568680D34346868D2 +S2140224D06868686868686834340D463434347676DA +S2140224E04079F2E3FCB16779797676C8C8C8C8C87D +S2140224F077777777771E1E38383848000070707006 +S214022500000000000000000000000000000070153F +S2140225101548000070707070707070707070707017 +S21402252070701F70707070707070707070707070F5 +S2140225307070707070707070707070704848484834 +S2140225404848CB154A0791CA4A6915484848487010 +S2140225500000000000000000000000000000000074 +S21402256000000000000000000000707036364FAB1E +S21402257087681259595959595959686874F1A6DB2E +S21402258074B268680D0D346868686868686868348C +S21402259034340D0D46343440792C37E3B167407637 +S2140225A076C8C8C8C8C8C877777777771E1E1E1E33 +S2140225B038380C0000000070000000000000000028 +S2140225C000000000000000481515700000707070D2 +S2140225D070707070707070707070707070707070F4 +S2140225E070707070707070707070707070707070E4 +S2140225F07070707048484848CBCB15CA91FACAEC3E +S21402260069E9154848480000000000000000000084 +S2140226100000000000000000000000000000007043 +S214022620707000703636360CDC77121259595959CA +S21402263059595968D166666468686868680D68683A +S2140226406868686868686834346834460D46342BAF +S214022650F17171F27976767676C8C8C8C8C8777787 +S214022660777777771E1E1E38384E38CB000000006C +S21402267070000000000000000000000000000000E3 +S21402268015151500000070707070707070707070A4 +S2140226907070707070707070707070707070707033 +S2140226A0707070707070364F707070484848CB48C3 +S2140226B048FD0763914A1515CBE9E94848700000C2 +S2140226C00000000000000000000000000000000003 +S2140226D00000000000700000707070701FCFCF36D0 +S2140226E0AB79694E54545454595959125365F1747E +S2140226F06868686868686868686868686868683487 +S2140227000D34686834462BB053F1670D0D407640A1 +S2140227100D0D0DC8C8C8777777771E1E1E1E1E3889 +S21402272038E94EE948000000007000000000000092 +S214022730000000000000000000FD481500000070C8 +S2140227407070707070707070707070707070707082 +S21402275070707070707070707070707070704F59AA +S2140227603B70484848CBCB48ECFA63914A15CB15E8 +S214022770CB691E69487000000000000000000000DF +S2140227800000000000000000000000000070700062 +S214022790000070707070364F0C1E69CFCFCDCD54CE +S2140227A0545954BB665A2B68686868683468686807 +S2140227B06868683434686868680D0D34680D64B0FB +S2140227C0B02B4634340D0D0D0D0D0D0DC8C87777A0 +S2140227D0771E1E1E1E1E1E38E9E9E94E0C0000007A +S2140227E00000700000000000000000000000000072 +S2140227F00048FD1548000070707070707070707040 +S21402280070707070707070707070707070707070C1 +S214022810707070707070365959364848CB4848EC1C +S214022820631C634A1515CBCBCBCB4E123670000019 +S2140228300000000000000000000000000000000091 +S2140228400000000000007070707070707070363695 +S21402285036CFCFCFCFCFCD595954542F9472595922 +S2140228601268686868683468686868340D46746810 +S2140228706868460D0DC82B2B464646464634340D30 +S2140228800D0D0D0D0DC8777777771E1E38381EE9A9 +S214022890E9E9E94E4ECB000000000070000000009F +S2140228A00000000000000000000015151570000072 +S2140228B07070707070707070707070707070707011 +S2140228C0707070707070704848707070707048CF1A +S2140228D0543648CBCB48156397634A15CB15484800 +S2140228E0483669123B7070000000000000000000CD +S2140228F000000000000000000000000000007070F1 +S214022900707070707070704F4F3636364FCF4F54AF +S2140229106859540B94BFA55959126874686868348C +S2140229200D406868680D4674686868740D0D4674D4 +S214022930686874467468744634340D0D0DC80DC844 +S21402294079771E1E1E38E9E9E9E9E94E0C0C4800C3 +S2140229500000000070000000000000000000000000 +S214022960000000FD481500000070707070707070F6 +S21402297070707070707070707070707070701F36DB +S2140229803636367070707036CF36CB1548150773EC +S2140229901C4A1548484848484848484E123670006F +S2140229A00000000000000000000000000000000020 +S2140229B000000000000070707070707070707070B0 +S2140229C04F4F36363636CFCF54743824941E54546E +S2140229D0595959127474686840F6316868686868AC +S2140229E0746868747474746868746868686868740C +S2140229F04646460D0D0DC879F631773838E9E9E9CD +S214022A00E9E90C0CCDCD6900000000000070000062 +S214022A10000000000000000000000000FD48150055 +S214022A20000070707070707070707070707070707F +S214022A3070707070707036363636544F70707048DC +S214022A403636CB15CB4AFF730715484848484848E0 +S214022A50484848CB124F707000000000000000008B +S214022A6000000000000000000000000000000070EF +S214022A7070707070701F1F70701F3636363636CF05 +S214022A80CFCD4E5AE6383BCD3B595959127474682D +S214022A9034F687343468686868747474747474744A +S214022AA07474686868687474687446460DC8C83179 +S214022AB016F6C81E1EE9E9E9E9E90CCDCDCDCDCB67 +S214022AC0000000000000000000000000000070701F +S214022AD07000000048FD48480000004870707070A2 +S214022AE07070707070707070707070707070363653 +S214022AF0364F68593648484836CB15CB156373634C +S214022B00154815484848484848484848CDCD70704A +S214022B1000000000000000000000000000000000AE +S214022B200000000000000000701F1F361F1F363610 +S214022B301F1F1F1F363636CFCFCFE93232E954CDAC +S214022B403B3B545959687474687987346868686876 +S214022B5068687474686868687468686868687474B2 +S214022B6068747474740DC8795D1679741EE9E9E99F +S214022B700C0C0CCDCDCDCDCD4800000000000000E1 +S214022B8000000070363636363636360000151548E2 +S214022B900000000048707070707070707070707016 +S214022BA07070707070484836364F68344F484848E0 +S214022BB048151515CA73FF4A4815484848487070A4 +S214022BC07070484836CD4800000000000000000043 +S214022BD000000000000000000000000000000000EE +S214022BE0001F1F36363636363636363636363636E2 +S214022BF0CBCF6DE65A4E5459543B3B545959127436 +S214022C00746840346868686868686868686868688D +S214022C1068121268121274747468687474740DC838 +S214022C20F616E8771EE9E90C0C0C0CCDCDCDCDCF0F +S214022C306970000000000000000000CBCFCFCB364A +S214022C40363670487000FD48150000000048707067 +S214022C5070707070707070707070707070704836CF +S214022C603636597E543636484815CBFD1C90FA1532 +S214022C7015154848484870707070707048363600AF +S214022C80000000000000000000000000000000003D +S214022C90000000000000000000001F1F1F3636362E +S214022CA03636363636363636364F6D57244ECF548F +S214022CB074593B3B5459591274747468686868684E +S214022CC01268681274747412741212121212127447 +S214022CD074741212127474C8061687C81E38E90C69 +S214022CE00CCDCDCDCDCFCFCFCFCB00000000000096 +S214022CF000000036CFCFCB3636363648487070FDE9 +S214022D0048480000000070707070707070704870F4 +S214022D1070707048487048483636547E68CF36CB56 +S214022D20CB15150773FF4A48154848484870707017 +S214022D30707070707070707000000000000000000C +S214022D40000000000000000000000000000000007C +S214022D500000001F1F1F1F3636363636363636360A +S214022D603636E9578C54CDCFCF5454CD4F3B5459B9 +S214022D705974747468686812126868121238743863 +S214022D80121212121212121212383812121274740C +S214022D901316F6C81E38E90CCDCDCDCFCFCFCFCF88 +S214022DA0CFCF48000000000000000070CFCFCBCB92 +S214022DB0CB36364848487048FD4870000000007020 +S214022DC07070707070707070707070707048484874 +S214022DD036363B3468CDCBCB1548FD1C22FA15158A +S214022DE01548484848707070707070707070700047 +S214022DF000000000000000000000000000000000CC +S214022E000000000000000000000000001F36361F11 +S214022E101F3636363636363636360CE6EDCDCFCD5E +S214022E20CFCFCFCFCF4F4F3B541212383812121299 +S214022E3012686812121212121212121212121212BF +S214022E4059591212121212120DF6F6C83838E90C37 +S214022E50CDCDCFCFCFCFCFCFCFCFCF70000000001A +S214022E6000000000CBCFCBCBCB3636364848487076 +S214022E70FD15480000000000707070707070707071 +S214022E8070707070707048484836CF680254CBCB6A +S214022E90CBCB0773FFFD48154848487070707070BA +S214022EA0707070707070700000000000000000000B +S214022EB0000000000000000000000000000000000B +S214022EC000000000003636361F36361F1F1F363605 +S214022ED03636CDED320C4FCFCFCFCFCFCF544F3B80 +S214022EE03B3B591212121212121268125912121285 +S214022EF03838121212121259125959595959595927 +S214022F00120D3177124EE90CCDCFCFCFCFCFCFCF28 +S214022F10CFCFCF36000000000000000070CFCFCB2E +S214022F20363636364848484870FD484800000000A5 +S214022F30007070707070704870707070707070484A +S214022F404848365902546969CB156322FA15151595 +S214022F5048484870707070707070707070707070E2 +S214022F60000000000000000000000000000000005A +S214022F7000000000000000000000000000001F1F0C +S214022F801F1F361F361F1F1F3636CF9B576D36CF75 +S214022F90CFCFCFCFCFCF3636364F3B59121212593C +S214022FA059591259121212121212121212121259DE +S214022FB059595954545454545454124E4E4E0CCDDE +S214022FC0CFCFCFCFCFCFCFCFCB3636CB4800000038 +S214022FD00000000000CBCFCBCB36364848484848E6 +S214022FE07048FD48480000000000707070707070F5 +S214022FF04870707070707070484848CD685969693A +S214023000CBEC97734A4815484848707070707070D9 +S21402301070707070707070707000000000000000B9 +S2140230200000000000000000000000000000000099 +S214023030000000000000001F1F1F1F1F1F1F1F365B +S2140230401F361F8957781FCBCFCBCFCDCFCFCF54CC +S214023050CD4F3B3B591212595959595912681259B8 +S21402306059595959595959545454545454545454F6 +S2140230705454545454CDCDCDCFCFCFCFCFCBCBCBD2 +S214023080CB36363636700000000000000070CFCB1C +S214023090CB36367070704848487015154870000078 +S2140230A00000007070707070707070707070707069 +S2140230B07048483654546915CBCA73631548484855 +S2140230C048484870707070707070707070000000C1 +S2140230D000000000000000000000000000000000E9 +S2140230E000000000000000000000000000000000D9 +S2140230F0707070707070701F1F361F2D81974F365C +S21402310036364FCDCDCF69CFCD4F4F4FCD59591211 +S21402311059595959591212595959545454545454C4 +S21402312054545454545454545454CDCDCDCDCDCF80 +S214023130CFCF4F4F36363636363636363636000030 +S21402314000000000000036CBCB3636484870704888 +S214023150484870FD4848000000000000707070701B +S21402316070707070707070707070484836CFCBCBCD +S214023170156373CA4815484848707070707070704E +S2140231807070707070000000000000000000000008 +S2140231900000000000000000000000000000000028 +S2140231A00000000000000000007070707070707008 +S2140231B0701F1FCF7322691F363636364FCF69CD42 +S2140231C00C4ECF3636CF5459595959545954545433 +S2140231D054545454544E54545454545454545454AE +S2140231E03BCDCD3B3B3B4F4F4F4F4F3636363636B9 +S2140231F036363636363670000000000000000036DE +S214023200CB36364848484848484848484A4848001E +S21402321000000000007070707070707070707070D7 +S2140232207070704848CBCBCBEC1C1CFD4815484848 +S2140232307070707070707070707070007000000047 +S2140232400000000000000000000000000000000077 +S2140232500000000000000000000000000000000067 +S21402326000007070707070707070701F91ED9170C9 +S214023270701F363636CFCD0C0C2B2BCDCF4FCFCD85 +S21402328054545454545454545454545454545454F7 +S2140232905454545454CD543BA9A9A94F1FA91F1FD7 +S2140232A01F701F1F1F1F1F361F1F3636361F700048 +S2140232B00000000000000070363636484848704865 +S2140232C04848487048FD4848000000000000487022 +S2140232D04870707070707070707070484848CBCBD1 +S2140232E04A1C631548484848707070707070707059 +S2140232F000000000007000700000000000000000E7 +S21402330000000000000000000000000000000000B6 +S2140233100000000000000000000000707070707076 +S2140233207070707069FF1C36707070363636CDCD90 +S2140233300CAB6E1ECF36364FCF545454545454549E +S21402334054545454545454543B3B3B3B3B3B3BA990 +S2140233501F1F1F707070707070707070701F1F70FB +S21402336070707070707070700000000000000000D6 +S21402337070703636704848487070484870FD154878 +S21402338070000000000000707070707070707070D6 +S214023390707070484848CB484A1C074848484870EE +S2140233A070000000007000000000000000700000C6 +S2140233B00000000000000000000000000000000006 +S2140233C000000000000000000000000000000000F6 +S2140233D000000000707070707070707070CAFF4AE3 +S2140233E070707070363636CFCDE96E0E0CCF36362C +S2140233F0364F545454CDCD3BCDCDCDCD3BCD543BA5 +S2140234003B3B3B3B3B3B3B1F1F70707070707070CA +S2140234100070000000007070707070707070700045 +S2140234200000000000000000007070484848487025 +S214023430484848484800FD48480000000000007020 +S21402344070707070700070707070704848484848AD +S2140234504A634A4848487070700000007070000066 +S2140234607000000000707000000000000000000005 +S2140234700000000000000000000000000000000045 +S21402348000000000000000000000000000707070E5 +S21402349070707070703663913670707070703636F9 +S2140234A0CF0C67B5ABCDCD3636364F3BCD3B3B3B2F +S2140234B03B3B3B3B3B3B3B4F4FA91F1FA9A91F7002 +S2140234C070707070707070000000000000000000E5 +S2140234D00070700000007000000000000000000095 +S2140234E00000707070487070707048704870704A53 +S2140234F04848000000000000007070000000000055 +S21402350000707070484848484A63FD4848487070E2 +S21402351070700000000000000000000000007070E4 +S2140235207000000000000000000000000000000024 +S2140235300000000000000000000000000000000084 +S2140235400000000000007070707070700070EC6315 +S214023550EC70707070707036364F4E6E870C69CF96 +S21402356036701F4F3B3B3B3B080808A91FA9A970B2 +S2140235707070701F1F7070707070700070000000A6 +S2140235800000000000000000000000000000000034 +S21402359000000000000000000000007070707070F4 +S2140235A07070707070700048FD707000000000004F +S2140235B00000700000000000000070704848484894 +S2140235C04AFA1548484870000070000000000000E3 +S2140235D0000000000000707036700000000000005E +S2140235E000000000000000000000000000000000D4 +S2140235F00000000000000000000000000000007054 +S214023600707070000000704AFA3600000000707099 +S2140236107036362A6E1E4F4F367070701F4F4F1F11 +S2140236201FA91F1F700070707070707070707070BD +S2140236307070700000000000000000000000000033 +S2140236400070000000000000000000000000000003 +S2140236500000000000707070707070707070700003 +S21402366015157000000000000000000000000000B9 +S21402367000007070484848484A4A15484848700052 +S2140236800000000000000000000000000000707053 +S214023690364F70000000000000000000000000002E +S2140236A00000000000000000000000000000000013 +S2140236B000000000000000007070000000000070B3 +S2140236C04A4A7000000000707070363667AB4F4F83 +S2140236D03636707070701F1F7070700000707070D9 +S2140236E07070707070707070707070700000000093 +S2140236F00000000000000000000070000000000053 +S2140237000000000000000000000000000000007042 +S21402371070700000000000000015487000000000F5 +S2140237200000000000000000000000704848484802 +S214023730FD4A4848487000000000000000000000F3 +S2140237400000000000000070703B36000000000021 +S2140237500000000000000000000000000000000062 +S2140237600000000000000000000000000000000052 +S2140237700070700000000000704A15700000000023 +S214023780007070704F4E36363636707070707070CD +S21402379070707070700000000070707070707070E2 +S2140237A070707000000000000000000000000000C2 +S2140237B00000000000000000000000000000000002 S2140237C000000000000000000000000000000000F2 -S2140237D000000000000000000000000000000000E2 -S2140237E000000000000000000000150000000000BD -S2140237F0000000000000000000000070704848480A -S214023800FDFD48484870000000000000000000006F -S2140238100000000000000070704F3B7000000000C7 +S2140237D000001500000000000000000000000000CD +S2140237E00000007070484848FDFD484848700000D8 +S2140237F00000000000000000000000000000007052 +S214023800704F3B7000000000000000000000000047 +S21402381000000000000000000000000000000000A1 S2140238200000000000000000000000000000000091 -S2140238300000000000000000000000000000000081 -S214023840000000000000000000484ACB0000000014 -S21402385000007070707070361F70707070707070CC -S2140238607070707070700000000000000000007041 +S21402383000484ACB000000000000707070707036BE +S2140238401F707070707070707070707070700000A2 +S21402385000000000000000700000000000000000F1 +S2140238600000000000000000000000000000000051 S2140238700000000000000000000000000000000041 -S2140238800000000000000000000000000000000031 -S2140238900000000000000000000000000000000021 -S2140238A00000704800000000000000000000000059 -S2140238B00000000070484848FDFD48484870000077 +S2140238800000000000000000000070480000000079 +S21402389000000000000000000000000070484848D9 +S2140238A0FDFD4848487000000000000000000000CF +S2140238B00000000000000000701F4F36700000007D S2140238C000000000000000000000000000000000F1 -S2140238D0701F4F367000000000000000000000005D -S2140238E000000000000000000000000000000000D1 -S2140238F000000000000000000000000000000000C1 -S214023900000048FD48000000000000007070707063 -S21402391070707070700000707070707070707000F0 +S2140238D000000000000000000000000000000000E1 +S2140238E00000000000000000000048FD4800000044 +S2140238F00000000070707070707070707000007061 +S21402390070707070707070000000000000000000A0 +S21402391000000000000000000000000000000000A0 S2140239200000000000000000000000000000000090 S2140239300000000000000000000000000000000080 S2140239400000000000000000000000000000000070 -S2140239500000000000000000000000000000000060 -S21402396000000000000000000000000070704848E0 -S2140239701515484870000000000000000000000016 -S214023980000000000000000000704F4F70000000B2 +S21402395000000000707048481515484870000000C6 +S2140239600000000000000000000000000000000050 +S21402397000704F4F700000000000000000000000C2 +S2140239800000000000000000000000000000000030 S2140239900000000000000000000000000000000020 -S2140239A00000000000000000000000000000000010 -S2140239B00000000000000000000000484848000028 -S2140239C00000000000000070707070707000000050 -S2140239D00070707070000000000000000000000020 +S2140239A000000048484800000000000000000070C8 +S2140239B07070707070000000007070707000000010 +S2140239C000000000000000000000000000000000F0 +S2140239D000000000000000000000000000000000E0 S2140239E000000000000000000000000000000000D0 S2140239F000000000000000000000000000000000C0 -S214023A0000000000000000000000000000000000AF -S214023A10000000000000000000000000000000009F -S214023A200000000000704848151548487000000065 +S214023A0000000000000000000000000000704848AF +S214023A101515484870000000000000000000000075 +S214023A20000000000000000000001F4F1F00000002 S214023A30000000000000000000000000000000007F -S214023A4000001F4F1F0000000000000000000000E2 -S214023A50000000000000000000000000000000005F -S214023A60000000000000000000000000000000004F -S214023A700000007048484870000000000000000087 -S214023A8000000070000000000000007070000000DF +S214023A40000000000000000000000000000000006F +S214023A5000000000000000000000007048484870A7 +S214023A6000000000000000000000007000000000DF +S214023A70000000707000000000000000000000005F +S214023A80000000000000000000000000000000002F S214023A90000000000000000000000000000000001F S214023AA0000000000000000000000000000000000F S214023AB000000000000000000000000000000000FF -S214023AC000000000000000000000000000000000EF -S214023AD00000000000000000000000000000704827 -S214023AE015154848700000000000000000000000A5 -S214023AF00000000000000000000070363670000073 +S214023AC0000000000000704815154848700000000D +S214023AD000000000000000000000000000000000DF +S214023AE00000703636700000000000000000000083 +S214023AF000000000000000000000000000000000BF S214023B0000000000000000000000000000000000AE -S214023B10000000000000000000000000000000009E -S214023B200000000000000000000000007048484846 +S214023B100000000070484848000000000000000056 +S214023B20000000000000000000000000000000008E S214023B30000000000000000000000000000000007E S214023B40000000000000000000000000000000006E S214023B50000000000000000000000000000000005E S214023B60000000000000000000000000000000004E -S214023B70000000000000000000000000000000003E -S214023B80000000000000000000000000000000002E -S214023B900000000000000070481548707000000029 +S214023B7000000000000000000000000000000070CE +S214023B8048154870700000000000000000000000A9 +S214023B900000000000000000000000703670000008 S214023BA0000000000000000000000000000000000E -S214023BB000000070367000000000000000000000E8 -S214023BC000000000000000000000000000000000EE -S214023BD000000000000000000000000000000000DE -S214023BE048656C6C6F20576F726C64006C765F640D -S214023BF0656275675F636865636B5F737472000006 -S214023C00303132333435363738394142434445460B -S214023C10000000006C765F64656275675F6C6F67B4 -S214023C205F6572726F7200002E2E2F74686972645E -S214023C3070617274792F6C76676C2F7372632F6C57 -S214023C40765F636F72652F6C765F64656275672E4A -S214023C50630000006C765F64656275675F63686523 -S214023C60636B5F7374723A2061206E6F6E2D4153E0 -S214023C7043494920636861722068617320726570E7 -S214023C806561746564206D6F7265207468616E206C -S214023C904C565F44454255475F5354525F4D415818 -S214023CA05F5245504541542074696D657329000082 -S214023CB06C765F64656275675F636865636B5F7386 -S214023CC074723A20696E76616C6964206368617208 -S214023CD020696E2074686520737472696E67202886 -S214023CE03C2031302076616C756529006C765F6405 -S214023CF0656275675F636865636B5F7374723A20AB -S214023D00737472696E67206973206C6F6E67657272 -S214023D10207468616E204C565F44454255475F5397 -S214023D2054525F4D41585F4C454E47544800000080 -S214023D306C765F646973705F6765745F7363725FE6 -S214023D40616374006C765F646973705F6765745F45 -S214023D506C617965725F746F700000006C765F64E8 -S214023D606973705F6765745F6C617965725F73799A -S214023D70730000006C765F646973705F61737369C9 -S214023D80676E5F73637265656E0000006C765F64D3 -S214023D906973705F6765745F696E6163746976657F -S214023DA05F74696D650000006C765F646973705FAE -S214023DB0747269675F61637469766974790000007A -S214023DC05F6C765F646973705F6765745F72656661 -S214023DD0725F7461736B00002E2E2F7468697264B2 -S214023DE070617274792F6C76676C2F7372632F6CA6 -S214023DF0765F636F72652F6C765F646973702E638D -S214023E00000000006C765F7363725F6163743A2031 -S214023E106E6F20646973706C61792072656769736E -S214023E20746572656420746F2067657420697473A4 -S214023E30206163742E2073637265656E0000000055 -S214023E406C765F6C617965725F746F703A206E6F24 -S214023E5020646973706C6179207265676973746532 -S214023E6072656420746F20676574206974732074A9 -S214023E706F70206C61796572000000006C765F6C72 -S214023E80617965725F7379733A206E6F2064697325 -S214023E90706C6179207265676973746572656420F7 -S214023EA0746F2067657420697473207379732E208B -S214023EB06C617965720000006C765F646973705F8E -S214023EC061737369676E5F73637265656E3A2074B9 -S214023ED0727920746F2061737369676E2061206E39 -S214023EE06F6E2D73637265656E206F626A656374AA -S214023EF0000000006C765F646973705F6765745FCC -S214023F00696E6163746976655F74696D653A206E81 -S214023F106F20646973706C61792072656769737467 -S214023F2065726564000000006C765F646973705F9A -S214023F30747269675F61637469766974793A206E30 -S214023F406F20646973706C61792072656769737437 -S214023F5065726564000000006C765F646973705F6A -S214023F606765745F726566725F7461736B3A206E22 -S214023F706F20646973706C61792072656769737407 -S214023F8065726564000000006C765F67726F75701C -S214023F905F637265617465006C765F67726F7570D9 -S214023FA05F6164645F6F626A000000002E2E2F74E9 -S214023FB06869726470617274792F6C76676C2F739D -S214023FC072632F6C765F636F72652F6C765F6772B3 -S214023FD06F75702E630000004F7574206F66206D3B -S214023FE0656D6F72790000006C765F67726F757030 -S214023FF05F6164645F6F626A3A20746865206F620C -S2140240006A65637420697320616C726561647920E5 -S214024010616464656420746F2074686973206772D3 -S2140240206F7570006C765F67726F75705F6164643F -S2140240305F6F626A3A2061737369676E206F626AA5 -S21402404065637420746F20616E206F7468657220D9 -S21402405067726F75700000006C765F696E69740037 -S2140240606C765F6465696E69740000006C765F6FDB -S214024070626A5F64656C5F6173796E63000000005C -S2140240806C765F6F626A5F7365745F6175746F5F8B -S2140240907265616C69676E006C765F6F626A5F73E9 -S2140240A065745F6578745F636C69636B5F61726584 -S2140240B0610000006C765F6F626A5F7365745F61B1 -S2140240C064765F6869747465737400006C765F6FFB -S2140240D0626A5F7365745F636C69636B00000000FD -S2140240E06C765F6F626A5F7365745F746F700000F0 -S2140240F06C765F6F626A5F7365745F647261670095 -S2140241006C765F6F626A5F7365745F647261675F25 -S214024110646972006C765F6F626A5F7365745F646F -S2140241207261675F7468726F770000006C765F6F0B -S214024130626A5F7365745F647261675F70617265FD -S2140241406E7400006C765F6F626A5F7365745F7090 -S2140241506172656E745F6576656E74006C765F6F0D -S214024160626A5F6164645F70726F74656374000094 -S2140241706C765F6F626A5F636C6561725F70726FA6 -S21402418074656374000000006C765F6F626A5F732A -S21402419065745F6576656E745F6362006C765F65F4 -S2140241A076656E745F73656E645F66756E63000037 -S2140241B06C765F6576656E745F73656E640000008C -S2140241C06C765F6F626A5F7365745F7369676E6150 -S2140241D06C5F6362000000006C765F6F626A5F73FA -S2140241E065745F64657369676E5F636200000000F2 -S2140241F06C765F6F626A5F616C6C6F636174655F39 -S2140242006578745F61747472000000006C765F6F8C -S214024210626A5F726566726573685F6578745F640A -S2140242207261775F706164006C765F6F626A5F6767 -S21402423065745F706172656E740000006C765F6F05 -S214024240626A5F6765745F73637265656E0000001D -S2140242506C765F6F626A5F6765745F64697370002D -S2140242606C765F6F626A5F6765745F6368696C64C9 -S214024270000000006C765F6F626A5F7365745F624F -S2140242806173655F646972006C765F6F626A5F670E -S21402429065745F6368696C645F6261636B000000EB +S214023BB000000000000000000000000000000000FE +S214023BC0000000000000000048656C6C6F20576F14 +S214023BD0726C64006C765F64656275675F636865C5 +S214023BE0636B5F73747200003031323334353637AC +S214023BF03839414243444546000000006C765F6413 +S214023C00656275675F6C6F675F6572726F720000E0 +S214023C102E2E2F746869726470617274792F6C76B6 +S214023C20676C2F7372632F6C765F636F72652F6C8F +S214023C30765F64656275672E630000006C765F646B +S214023C40656275675F636865636B5F7374723A205B +S214023C5061206E6F6E2D415343494920636861723D +S214023C6020686173207265706561746564206D6F8B +S214023C707265207468616E204C565F444542554713 +S214023C805F5354525F4D41585F5245504541542050 +S214023C9074696D65732900006C765F64656275678A +S214023CA05F636865636B5F7374723A20696E7661F0 +S214023CB06C6964206368617220696E20746865208E +S214023CC0737472696E6720283C2031302076616CEE +S214023CD0756529006C765F64656275675F63686503 +S214023CE0636B5F7374723A20737472696E672069CD +S214023CF073206C6F6E676572207468616E204C5616 +S214023D005F44454255475F5354525F4D41585F4C9E +S214023D10454E4754480000006C765F646973705FD6 +S214023D206765745F7363725F616374006C765F6469 +S214023D306973705F6765745F6C617965725F746FD3 +S214023D40700000006C765F646973705F6765745F0D +S214023D506C617965725F7379730000006C765F64DC +S214023D606973705F61737369676E5F7363726565AB +S214023D706E0000006C765F646973705F6765745FDF +S214023D80696E6163746976655F74696D65000000CB +S214023D906C765F646973705F747269675F6163747F +S214023DA069766974790000005F6C765F6469737087 +S214023DB05F6765745F726566725F7461736B00003D +S214023DC02E2E2F746869726470617274792F6C7605 +S214023DD0676C2F7372632F6C765F636F72652F6CDE +S214023DE0765F646973702E63000000006C765F7302 +S214023DF063725F6163743A206E6F20646973706CDD +S214023E006179207265676973746572656420746F80 +S214023E102067657420697473206163742E2073634F +S214023E207265656E000000006C765F6C6179657283 +S214023E305F746F703A206E6F20646973706C61797C +S214023E40207265676973746572656420746F206793 +S214023E5065742069747320746F70206C6179657262 +S214023E60000000006C765F6C617965725F7379732F +S214023E703A206E6F20646973706C61792072656790 +S214023E806973746572656420746F2067657420694F +S214023E907473207379732E206C617965720000004A +S214023EA06C765F646973705F61737369676E5F7364 +S214023EB0637265656E3A2074727920746F2061733E +S214023EC07369676E2061206E6F6E2D73637265650F +S214023ED06E206F626A656374000000006C765F6431 +S214023EE06973705F6765745F696E6163746976652E +S214023EF05F74696D653A206E6F20646973706C61D9 +S214023F0079207265676973746572656400000000E3 +S214023F106C765F646973705F747269675F616374FD +S214023F2069766974793A206E6F20646973706C6181 +S214023F3079207265676973746572656400000000B3 +S214023F406C765F646973705F6765745F72656672CC +S214023F505F7461736B3A206E6F20646973706C6174 +S214023F607920726567697374657265640000000083 +S214023F706C765F67726F75705F63726561746500F9 +S214023F806C765F67726F75705F6164645F6F626A9A +S214023F90000000002E2E2F746869726470617274BD +S214023FA0792F6C76676C2F7372632F6C765F636FF4 +S214023FB072652F6C765F67726F75702E63000000F5 +S214023FC04F7574206F66206D656D6F727900000004 +S214023FD06C765F67726F75705F6164645F6F626A4A +S214023FE03A20746865206F626A656374206973207C +S214023FF0616C726561647920616464656420746FC3 +S21402400020746869732067726F7570006C765F67DC +S214024010726F75705F6164645F6F626A3A20617383 +S2140240207369676E206F626A65637420746F2061BD +S2140240306E206F746865722067726F75700000007C +S2140240406C765F696E6974006C765F6465696E692A +S214024050740000006C765F6F626A5F64656C5F6115 +S21402406073796E63000000006C765F6F626A5F733E +S21402407065745F6175746F5F7265616C69676E0007 +S2140240806C765F6F626A5F7365745F6578745F6390 +S2140240906C69636B5F617265610000006C765F6FCE +S2140240A0626A5F7365745F6164765F68697474657B +S2140240B0737400006C765F6F626A5F7365745F6329 +S2140240C06C69636B000000006C765F6F626A5F73F8 +S2140240D065745F746F7000006C765F6F626A5F7300 +S2140240E065745F64726167006C765F6F626A5F73A5 +S2140240F065745F647261675F646972006C765F6F95 +S214024100626A5F7365745F647261675F7468726F18 +S214024110770000006C765F6F626A5F7365745F6437 +S2140241207261675F706172656E7400006C765F6FB5 +S214024130626A5F7365745F706172656E745F6576DE +S214024140656E74006C765F6F626A5F6164645F704E +S214024150726F7465637400006C765F6F626A5F6389 +S2140241606C6561725F70726F746563740000000044 +S2140241706C765F6F626A5F7365745F6576656E7490 +S2140241805F6362006C765F6576656E745F73656EFC +S214024190645F66756E6300006C765F6576656E7446 +S2140241A05F73656E640000006C765F6F626A5F73B1 +S2140241B065745F7369676E616C5F6362000000001E +S2140241C06C765F6F626A5F7365745F646573696756 +S2140241D06E5F6362000000006C765F6F626A5F610A +S2140241E06C6C6F636174655F6578745F617474721A +S2140241F0000000006C765F6F626A5F7265667265C9 +S21402420073685F6578745F647261775F706164007B +S2140242106C765F6F626A5F6765745F706172656E07 +S214024220740000006C765F6F626A5F6765745F7326 +S214024230637265656E0000006C765F6F626A5F6728 +S21402424065745F64697370006C765F6F626A5F673D +S21402425065745F6368696C64000000006C765F6F6B +S214024260626A5F7365745F626173655F6469720038 +S2140242706C765F6F626A5F6765745F6368696C64B9 +S2140242805F6261636B0000006C765F6F626A5F63F9 +S2140242906F756E745F6368696C6472656E000000A9 S2140242A06C765F6F626A5F636F756E745F63686970 -S2140242B06C6472656E0000006C765F6F626A5F63A4 -S2140242C06F756E745F6368696C6472656E5F726543 -S2140242D063757273697665006C765F6F626A5F6794 -S2140242E065745F636F6F7264730000006C765F6F55 -S2140242F0626A5F6765745F78000000006C765F6FC5 -S214024300626A5F6765745F79000000006C765F6FB3 -S214024310626A5F6765745F776964746800000000AC -S2140243206C765F6F626A5F6765745F686569676807 -S214024330740000006C765F6F626A5F6765745F6127 -S21402434075746F5F7265616C69676E006C765F6F1D -S214024350626A5F6765745F6578745F636C69636BD6 -S2140243605F7061645F6C6566740000006C765F6FF8 -S214024370626A5F6765745F6578745F636C69636BB6 -S2140243805F7061645F726967687400006C765F6F65 -S214024390626A5F6765745F6578745F636C69636B96 -S2140243A05F7061645F746F70000000006C765F6F10 -S2140243B0626A5F6765745F6578745F636C69636B76 -S2140243C05F7061645F626F74746F6D006C765F6FAE -S2140243D0626A5F6765745F6578745F647261775F4F -S2140243E0706164006C765F6F626A5F636C65616EB3 -S2140243F05F7374796C655F6C697374006C765F6F5B -S214024400626A5F6765745F6C6F63616C5F73747911 -S2140244106C6500006C765F6F626A5F72656D6F76C0 -S214024420655F7374796C655F6C6F63616C5F7072E5 -S2140244306F7000006C765F6F626A5F6765745F68B4 -S214024440696464656E0000006C765F6F626A5F691D -S2140244506E76616C69646174655F617265610000A5 -S2140244606C765F6F626A5F696E76616C69646174AE -S214024470650000006C765F6F626A5F6D6F76655FDF -S214024480666F726567726F756E6400006C765F6F3A -S214024490626A5F6D6F76655F6261636B67726F7586 -S2140244A06E6400006C765F6F626A5F7365745F703D -S2140244B06F7300006C765F6F626A5F7365745F7815 -S2140244C0000000006C765F6F626A5F7365745F79E6 -S2140244D0000000006C765F6F626A5F616C69676EEF -S2140244E0000000006C765F6F626A5F616C69676EDF -S2140244F05F6F7269676F00006C765F6F626A5F72E9 -S21402450065616C69676E00006C765F6F626A5F72E7 -S2140245106566726573685F7374796C650000000087 -S2140245206C765F6F626A5F6164645F7374796C65F0 -S214024530000000006C765F6F626A5F7365745F6886 -S214024540696464656E0000006C765F6F626A5F671E -S21402455065745F6164765F6869747465737400007D -S2140245606C765F6F626A5F6765745F636C69636BC4 -S214024570000000006C765F6F626A5F6765745F7446 -S2140245806F7000006C765F6F626A5F6765745F6467 -S214024590726167006C765F6F626A5F6765745F64FC -S2140245A07261675F646972006C765F6F626A5F67EA -S2140245B065745F647261675F7468726F770000008B -S2140245C06C765F6F626A5F6765745F706172656E54 -S2140245D0745F6576656E74006C765F6F626A5F679D -S2140245E065745F626173655F646972006C765F6FA3 -S2140245F0626A5F6372656174650000006C765F6F65 -S214024600626A5F7365745F706172656E7400000043 -S2140246106C765F6F626A5F7365745F73697A650052 -S2140246206C765F6F626A5F7365745F7769647468DD -S214024630000000006C765F6F626A5F7365745F6885 -S21402464065696768740000006C765F6F626A5F6710 -S21402465065745F70726F7465637400006C765F6F6A -S214024660626A5F69735F70726F7465637465640013 -S2140246706C765F6F626A5F6765745F737461746598 -S214024680000000006C765F6F626A5F6765745F7732 -S214024690696474685F666974000000006C765F6F18 -S2140246A0626A5F6765745F6865696768745F666992 -S2140246B0740000006C765F6F626A5F6765745F699C -S2140246C06E6E65725F636F6F72647300FFFF000049 -S2140246D06C765F6F626A5F7365745F73746174652C -S2140246E0000000007472616E735F637265617465C8 -S2140246F0000000006C765F6F626A5F6164645F73DD -S21402470074617465000000006C765F6F626A5F63B6 -S2140247106C6561725F737461746500006C765F6FBE -S214024720626A5F6765745F7369676E616C5F636216 -S214024730000000006C765F6F626A5F6765745F6494 -S214024740657369676E5F6362000000006C765F6F78 -S214024750626A5F6765745F6576656E745F63620042 -S2140247606C765F6F626A5F6765745F6578745F61B7 -S214024770747472006C765F6F626A5F6765745F74EA -S214024780797065006C765F6F626A5F6765745F67F3 -S214024790726F7570000000006C765F6F626A5F640D -S2140247A0656C00006C765F6F626A5F64656C5F6161 -S2140247B073796E635F6362006C765F6F626A5F63D3 -S2140247C06C65616E000000006C765F6F626A5F69FE -S2140247D0735F666F63757365640000002E2E2F7418 -S2140247E06869726470617274792F6C76676C2F7365 -S2140247F072632F6C765F636F72652F6C765F6F6283 -S2140248006A2E63006C765F696E69743A20616C7218 -S2140248106561647920696E69746564006C765F69A7 -S2140248206E69742072656164790000006C765F645C -S21402483065696E697420646F6E6500004E554C4C57 -S21402484020706F696E746572000000006C765F738C -S21402485063725F6765745F646973703A207363722C -S21402486065656E206E6F7420666F756E640000005C -S2140248706C765F6F626A5F7365745F626173655FB1 -S2140248806469723A20696E76616C6964206261734B -S21402489065206469720000006C765F6F626A5F630F -S2140248A06C65616E5F7374796C655F6C6973743A7C -S2140248B02063616E27742066696E64207374796C57 -S2140248C06520776974682060706172746000000009 -S2140248D06C765F6F626A5F7365745F706F733A209F -S2140248E06E6F74206368616E67696E6720706F739F -S2140248F06974696F6E206F662073637265656E20D9 -S2140249006F626A65637400006C765F6F626A5F61ED -S21402491064645F7374796C653A2063616E277420F1 -S21402492066696E64207374796C6520776974682092 -S21402493060747970656000006C765F6F626A5F63B0 -S21402494072656174653A206E6F7420646973706C68 -S2140249506179206372656174656420746F20736F79 -S214024960206661722E204E6F20706C616365207423 -S2140249706F2061737369676E20746865206E657751 -S2140249802073637265656E004F626A6563742063A6 -S21402499072656174652072656164790043616E2791 -S2140249A074207365742074686520706172656E7415 -S2140249B0206F6620612073637265656E00000000DA -S2140249C043616E27742073657420706172656E741D -S2140249D0203D3D204E554C4C20746F20616E206F5A -S2140249E0626A6563740000006C765F6F626A00003C -S2140249F06C765F726566725F6172656100000000C8 -S214024A002E2E2F746869726470617274792F6C76B8 -S214024A10676C2F7372632F6C765F636F72652F6C91 -S214024A20765F726566722E630000000043616E2731 -S214024A3074207365742056444220686569676874FA -S214024A40207573696E672074686520726F756E6470 -S214024A502066756E6374696F6E2E202857726F6EAD -S214024A606720726F756E645F6362206F7220746F68 -S214024A7020736D616C6C2056444229005F6C765F31 -S214024A807374796C655F6C6973745F72656D6F764B -S214024A90655F7374796C65005F6C765F7374796CAE -S214024AA0655F6C6973745F6164645F7374796C6567 -S214024AB0000000006765745F616C6C6F635F6C6F0B -S214024AC063616C5F7374796C650000005F6C765F7F -S214024AD07374796C655F7365745F696E7400000049 -S214024AE05F6C765F7374796C655F7365745F636F12 -S214024AF06C6F72005F6C765F7374796C655F73655A -S214024B00745F6F70610000005F6C765F7374796C1F -S214024B10655F7365745F7074720000005F6C765F29 -S214024B207374796C655F6C6973745F6164645F74D7 -S214024B3072616E735F7374796C6500002E2E2F742B -S214024B406869726470617274792F6C76676C2F7301 -S214024B5072632F6C765F636F72652F6C765F737409 -S214024B60796C652E630000006C765F7374796C65F1 -S214024B705F6C6973745F72656D6F76655F73747967 -S214024B806C653A20636F756C646E2774207265617B -S214024B906C6C6F6361746520636C617373206C69FF -S214024BA0737400006C765F7374796C655F6C6973FE -S214024BB0745F6164645F7374796C653A20636F75C1 -S214024BC06C646E2774206164642074686520636C6C -S214024BD0617373006765745F6C6F63616C5F737497 -S214024BE0796C653A20636F756C646E277420637205 -S214024BF065617465206C6F63616C207374796C6593 -S214024C00000000006C765F7374796C655F6C697384 -S214024C10745F6164645F7472616E735F7374796CDF -S214024C20653A20636F756C646E27742063726561E3 -S214024C307465207472616E736974696F6E20737422 -S214024C40796C650066696C6C5F626C656E6465643F -S214024C50000000006D61705F626C656E64656400E2 -S214024C602E2E2F746869726470617274792F6C7656 -S214024C70676C2F7372632F6C765F647261772F6C2A -S214024C80765F647261775F626C656E642E630000A5 -S214024C9066696C6C5F626C656E6465643A20756EFC -S214024CA0737570706F7274656420626C656E6420D2 -S214024CB06D6F646500000000FFFF00006C765F64A5 -S214024CC07261775F696D67006C765F696D675F64B6 -S214024CD07261775F636F7265000000002E2E2F747C -S214024CE06869726470617274792F6C76676C2F7360 -S214024CF072632F6C765F647261772F6C765F647274 -S214024D0061775F696D672E6300000000496D616719 -S214024D106520647261773A20737263206973204E4D -S214024D20554C4C004E6F0A6461746100496D6167B0 -S214024D30652064726177206572726F7200000000EF -S214024D40496D61676520647261772063616E2774BE -S214024D50207265616420746865206C696E65000067 -S214024D6000FF00000055AAFF001122334455667763 -S214024D708899AABBCCDDEEFF0001020304050607F4 -S214024D8008090A0B0C0D0E0F101112131415161724 -S214024D9018191A1B1C1D1E1F202122232425262714 -S214024DA028292A2B2C2D2E2F303132333435363704 -S214024DB038393A3B3C3D3E3F4041424344454647F4 -S214024DC048494A4B4C4D4E4F5051525354555657E4 -S214024DD058595A5B5C5D5E5F6061626364656667D4 -S214024DE068696A6B6C6D6E6F7071727374757677C4 -S214024DF078797A7B7C7D7E7F8081828384858687B4 -S214024E0088898A8B8C8D8E8F9091929394959697A3 -S214024E1098999A9B9C9D9E9FA0A1A2A3A4A5A6A793 -S214024E20A8A9AAABACADAEAFB0B1B2B3B4B5B6B783 -S214024E30B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C773 -S214024E40C8C9CACBCCCDCECFD0D1D2D3D4D5D6D763 -S214024E50D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E753 -S214024E60E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F743 -S214024E70F8F9FAFBFCFDFEFF6C765F647261775F01 -S214024E806C65747465720000647261775F6C657439 -S214024E907465725F73756270780000006472617781 -S214024EA05F6C65747465725F6E6F726D616C000024 -S214024EB00024496D92B6DBFF2E2E2F746869726449 -S214024EC070617274792F6C76676C2F7372632F6CB5 -S214024ED0765F647261772F6C765F647261775F6C5F -S214024EE06162656C2E6300006C765F647261775F48 -S214024EF06C65747465723A20666F6E7420697320EE -S214024F004E554C4C000000006C765F647261775F11 -S214024F106C65747465723A20676C79706820647385 -S214024F20632E206E6F7420666F756E64000000003C -S214024F306C765F647261775F6C65747465723A2032 -S214024F406368617261637465722773206269746D47 -S214024F506170206E6F7420666F756E6400000000CC -S214024F606C765F647261775F6C65747465723A2002 -S214024F70696E76616C696420627070206E6F742050 -S214024F80666F756E640000006C765F647261775FB0 -S214024F906C65747465723A20696E76616C69642019 -S214024FA06270700080808081818282838485868799 -S214024FB0898A8C8D8F91939597999B9EA0A2A5A77F -S214024FC0AAADAFB2B50000006C765F647261775F1F -S214024FD06D61736B5F616464000000006C765F64F1 -S214024FE07261775F6D61736B5F616E676C655F6937 -S214024FF06E6974002E2E2F74686972647061727402 -S214025000792F6C76676C2F7372632F6C765F64727F -S21402501061772F6C765F647261775F6D61736B2E5A -S214025020630000006C765F6D61736B5F6164643A67 -S214025030206E6F20706C61636520746F20616464FB -S21402504020746865206D61736B000000556E65788C -S2140250507065637465642073746172745F616E67F1 -S2140250606C650000556E65787065637465642065CE -S2140250706E645F616E676C6500000000FFFF0000F3 -S214025080647261775F7061747465726E000000000E -S2140250902E2E2F746869726470617274792F6C7622 -S2140250A0676C2F7372632F6C765F647261772F6CF6 -S2140250B0765F647261775F726563742E63000000C8 -S2140250C0647261775F696D673A2063616E27742048 -S2140250D067657420696D61676520696E666F00009A -S2140250E06C765F696D675F64657369676E3A20699F -S2140250F06D61676520736F7572636520747970657C -S21402510020697320756E6B6E6F776E000011223306 -S214025110445566778899AABBCCDDEEFF6C765F694C -S2140251206D675F6275665F7365745F70616C6574E8 -S214025130746500005F6C765F696D675F63616368C4 -S214025140655F6F70656E00006C765F696D675F63A2 -S214025150616368655F7365745F73697A65000000F2 -S2140251602E2E2F746869726470617274792F6C7651 -S214025170676C2F7372632F6C765F647261772F6C25 -S214025180765F696D675F63616368652E6300000022 -S2140251906C765F696D675F63616368655F6F706594 -S2140251A06E3A207468652063616368652073697A65 -S2140251B06520697320300000696D6167652064723E -S2140251C061773A206361636865206D6973732C208A -S2140251D0636C6F736520616E6420726575736520FB -S2140251E0616E20656E74727900000000696D6167F9 -S2140251F06520647261773A206361636865206D6931 -S21402520073732C2063616368656420746F20616E1B -S21402521020656D70747920656E74727900000000E6 -S214025220496D61676520647261772063616E6E6F97 -S21402523074206F70656E2074686520696D6167659D -S214025240207265736F757263650000006C765F6925 -S2140252506D675F6465636F6465725F6275696C74BF -S2140252605F696E5F696E666F000000006C765F694C -S2140252706D675F6465636F6465725F6275696C749F -S2140252805F696E5F6F70656E000000006C765F6926 -S2140252906D675F6465636F6465725F6275696C747F -S2140252A05F696E5F6C696E655F747275655F636F6A -S2140252B06C6F720000112233445566778899AABB38 -S2140252C0CCDDEEFF6C765F696D675F6465636F6465 -S2140252D065725F6275696C745F696E5F7265616440 -S2140252E05F6C696E650000006C765F696D675F646F -S2140252F065636F6465725F63726561746500000062 -S2140253005F6C765F696D675F6465636F6465725F25 -S214025310696E6974000000002E2E2F74686972642C -S21402532070617274792F6C76676C2F7372632F6C50 -S214025330765F647261772F6C765F696D675F64650E -S214025340636F6465722E6300496D616765206765E9 -S2140253507420696E666F20676574207265616420CA -S21402536066696C652068656164657200496D61678F -S214025370652067657420696E666F20666F756E6459 -S21402538020756E6B6E6F776E207372632074797001 -S2140253906500000062696E004275696C742D696E64 -S2140253A020696D616765206465636F64657220635A -S2140253B0616E2774206F70656E207468652066695A -S2140253C06C650000696D675F6465636F6465725F34 -S2140253D06275696C745F696E5F6F70656E3A206F96 -S2140253E07574206F66206D656D6F7279000000001F -S2140253F0496D616765206465636F646572206F70CE -S214025400656E3A20756E6B6E6F776E20636F6C6F8B -S2140254107220666F726D6174000000004275696CDE -S214025420742D696E20696D616765206465636F64BB -S2140254306572207365656B206661696C6564000041 -S2140254404275696C742D696E20696D6167652064AA -S21402545065636F6465722072656164206661696C5B -S214025460656400004275696C742D696E20696D6111 -S2140254706765206465636F64657220726561642087 -S2140254806E6F7420737570706F72747320746865B3 -S21402549020636F6C6F7220666F726D61740000001D -S2140254A06C765F696D675F6465636F6465725F697A -S2140254B06E69743A206F7574206F66206D656D6F25 -S2140254C0727900006C765F666F6E745F6765745FF4 -S2140254D06269746D61705F666D745F7478740000E3 -S2140254E02E2E2F746869726470617274792F6C76CE -S2140254F0676C2F7372632F6C765F666F6E742F6C99 -S214025500765F666F6E745F666D745F7478742E6312 -S214025510000000002455020070610200D460020000 -S2140255203D31000000010000000000000001000004 -S214025530030000000002000000000000000000005F -S2140255400000000000000100000000000000000053 -S2140255500000000000010C0007FA00000000F2F153 -S214025560020C0604F6020D010B0308000000000000 -S2140255700000000000000F02FE0000000000000015 -S21402558000000000000500F80000000000FB040513 -S2140255900000FD00FE0300FD00FDFFFB0000000012 -S2140255A0FD0000FDFC0000FD00FB00000000000006 -S2140255B0000000FDFD00FC00F900E10000FB000514 -S2140255C0080000FB03030805FC050000F1000000CC -S2140255D00000000000000000F700000000000000CD -S2140255E000000000000000F9FDF300F6FE000000D7 -S2140255F000010A00F8FEFF0100FC0000FEED0000BC -S214025600000000000000000000ECFE0A000000009F -S2140256100000000000000000F6000000000000008D -S2140256200000000800030000FB000000000000006D -S214025630000000000000000000000A020100000056 -S2140256400000000000000000000000000000000053 +S2140242B06C6472656E5F72656375727369766500AB +S2140242C06C765F6F626A5F6765745F636F6F726456 +S2140242D0730000006C765F6F626A5F6765745F7872 +S2140242E0000000006C765F6F626A5F6765745F79D4 +S2140242F0000000006C765F6F626A5F6765745F77C6 +S21402430069647468000000006C765F6F626A5F67BB +S21402431065745F6865696768740000006C765F6F35 +S214024320626A5F6765745F6175746F5F7265616C00 +S21402433069676E006C765F6F626A5F6765745F6559 +S21402434078745F636C69636B5F7061645F6C6566EB +S214024350740000006C765F6F626A5F6765745F6503 +S21402436078745F636C69636B5F7061645F726967C0 +S214024370687400006C765F6F626A5F6765745F657B +S21402438078745F636C69636B5F7061645F746F708F +S214024390000000006C765F6F626A5F6765745F6537 +S2140243A078745F636C69636B5F7061645F626F747D +S2140243B0746F6D006C765F6F626A5F6765745F65C7 +S2140243C078745F647261775F706164006C765F6FA9 +S2140243D0626A5F636C65616E5F7374796C655F6C4D +S2140243E0697374006C765F6F626A5F6765745F6C90 +S2140243F06F63616C5F7374796C6500006C765F6FD7 +S214024400626A5F72656D6F76655F7374796C655FFD +S2140244106C6F63616C5F70726F7000006C765F6FBA +S214024420626A5F6765745F68696464656E0000004F +S2140244306C765F6F626A5F696E76616C69646174DE +S214024440655F6172656100006C765F6F626A5F69C4 +S2140244506E76616C69646174650000006C765F6FED +S214024460626A5F6D6F76655F666F726567726F759B +S2140244706E6400006C765F6F626A5F6D6F76655F72 +S2140244806261636B67726F756E6400006C765F6F55 +S214024490626A5F7365745F706F7300006C765F6F3D +S2140244A0626A5F7365745F78000000006C765F6F07 +S2140244B0626A5F7365745F79000000006C765F6FF6 +S2140244C0626A5F616C69676E000000006C765F6FFF +S2140244D0626A5F616C69676E5F6F7269676F000020 +S2140244E06C765F6F626A5F7265616C69676E000008 +S2140244F06C765F6F626A5F726566726573685F7319 +S21402450074796C65000000006C765F6F626A5F61AA +S21402451064645F7374796C65000000006C765F6F8C +S214024520626A5F7365745F68696464656E00000042 +S2140245306C765F6F626A5F6765745F6164765F68F8 +S21402454069747465737400006C765F6F626A5F6785 +S21402455065745F636C69636B000000006C765F6F66 +S214024560626A5F6765745F746F7000006C765F6F77 +S214024570626A5F6765745F64726167006C765F6F1C +S214024580626A5F6765745F647261675F646972001E +S2140245906C765F6F626A5F6765745F647261675F9D +S2140245A07468726F770000006C765F6F626A5F678E +S2140245B065745F706172656E745F6576656E7400B1 +S2140245C06C765F6F626A5F6765745F626173655F70 +S2140245D0646972006C765F6F626A5F6372656174AB +S2140245E0650000006C765F6F626A5F7365745F7069 +S2140245F06172656E740000006C765F6F626A5F734C +S21402460065745F73697A65006C765F6F626A5F7362 +S21402461065745F7769647468000000006C765F6F8B +S214024620626A5F7365745F68656967687400000034 +S2140246306C765F6F626A5F6765745F70726F7465CF +S214024640637400006C765F6F626A5F69735F707294 +S2140246506F746563746564006C765F6F626A5F6729 +S21402466065745F7374617465000000006C765F6F3A +S214024670626A5F6765745F77696474685F666974A7 +S214024680000000006C765F6F626A5F6765745F6841 +S21402469065696768745F6669740000006C765F6FB0 +S2140246A0626A5F6765745F696E6E65725F636F6F7D +S2140246B072647300FFFF00006C765F6F626A5F735E +S2140246C065745F7374617465000000007472616ED5 +S2140246D0735F637265617465000000006C765F6FDD +S2140246E0626A5F6164645F737461746500000000EF +S2140246F06C765F6F626A5F636C6561725F7374612A +S214024700746500006C765F6F626A5F6765745F73DC +S21402471069676E616C5F6362000000006C765F6FB3 +S214024720626A5F6765745F64657369676E5F63621A +S214024730000000006C765F6F626A5F6765745F6593 +S21402474076656E745F6362006C765F6F626A5F673F +S21402475065745F6578745F61747472006C765F6FFF +S214024760626A5F6765745F74797065006C765F6F06 +S214024770626A5F6765745F67726F7570000000003B +S2140247806C765F6F626A5F64656C00006C765F6F62 +S214024790626A5F64656C5F6173796E635F63620011 +S2140247A06C765F6F626A5F636C65616E0000000024 +S2140247B06C765F6F626A5F69735F666F6375736557 +S2140247C0640000002E2E2F74686972647061727421 +S2140247D0792F6C76676C2F7372632F6C765F636FBC +S2140247E072652F6C765F6F626A2E63006C765F6905 +S2140247F06E69743A20616C726561647920696E69CB +S214024800746564006C765F696E69742072656164B3 +S214024810790000006C765F6465696E697420646F67 +S2140248206E6500004E554C4C20706F696E74657252 +S214024830000000006C765F7363725F6765745F6486 +S2140248406973703A2073637265656E206E6F7420AA +S214024850666F756E640000006C765F6F626A5F73E7 +S21402486065745F626173655F6469723A20696E7629 +S214024870616C69642062617365206469720000007D +S2140248806C765F6F626A5F636C65616E5F73747984 +S2140248906C655F6C6973743A2063616E2774206678 +S2140248A0696E64207374796C652077697468206019 +S2140248B070617274600000006C765F6F626A5F738C +S2140248C065745F706F733A206E6F74206368616EF2 +S2140248D067696E6720706F736974696F6E206F66A2 +S2140248E02073637265656E206F626A65637400008A +S2140248F06C765F6F626A5F6164645F7374796C651D +S2140249003A2063616E27742066696E642073747938 +S2140249106C65207769746820607479706560000041 +S2140249206C765F6F626A5F6372656174653A206E69 +S2140249306F7420646973706C617920637265617448 +S214024940656420746F20736F206661722E204E6F2E +S21402495020706C61636520746F2061737369676E83 +S21402496020746865206E65772073637265656E00D5 +S2140249704F626A656374206372656174652072654E +S2140249806164790043616E277420736574207468CD +S2140249906520706172656E74206F66206120736395 +S2140249A07265656E0000000043616E2774207365B1 +S2140249B07420706172656E74203D3D204E554C4CDD +S2140249C020746F20616E206F626A65637400000057 +S2140249D06C765F6F626A00006C765F726566725F05 +S2140249E061726561000000002E2E2F746869726481 +S2140249F070617274792F6C76676C2F7372632F6C8A +S214024A00765F636F72652F6C765F726566722E6371 +S214024A100000000043616E277420736574205644BC +S214024A204220686569676874207573696E672074CA +S214024A30686520726F756E642066756E6374696F42 +S214024A406E2E202857726F6E6720726F756E645FC7 +S214024A506362206F7220746F20736D616C6C2056D7 +S214024A60444229005F6C765F7374796C655F6C698B +S214024A7073745F72656D6F76655F7374796C6500CB +S214024A805F6C765F7374796C655F6C6973745F6173 +S214024A9064645F7374796C65000000006765745F18 +S214024AA0616C6C6F635F6C6F63616C5F7374796C5F +S214024AB0650000005F6C765F7374796C655F736582 +S214024AC0745F696E740000005F6C765F7374796C55 +S214024AD0655F7365745F636F6C6F72005F6C765FA1 +S214024AE07374796C655F7365745F6F706100000044 +S214024AF05F6C765F7374796C655F7365745F7074F0 +S214024B00720000005F6C765F7374796C655F6C6927 +S214024B1073745F6164645F7472616E735F737479D9 +S214024B206C6500002E2E2F74686972647061727450 +S214024B30792F6C76676C2F7372632F6C765F636F58 +S214024B4072652F6C765F7374796C652E6300000055 +S214024B506C765F7374796C655F6C6973745F72658B +S214024B606D6F76655F7374796C653A20636F756CEA +S214024B70646E2774207265616C6C6F636174652065 +S214024B80636C617373206C69737400006C765F7378 +S214024B9074796C655F6C6973745F6164645F737467 +S214024BA0796C653A20636F756C646E277420616455 +S214024BB0642074686520636C617373006765745F54 +S214024BC06C6F63616C5F7374796C653A20636F75A2 +S214024BD06C646E277420637265617465206C6F6303 +S214024BE0616C207374796C65000000006C765F73EC +S214024BF074796C655F6C6973745F6164645F747208 +S214024C00616E735F7374796C653A20636F756C645A +S214024C106E277420637265617465207472616E73A8 +S214024C206974696F6E207374796C650066696C6C62 +S214024C305F626C656E646564000000006D61705FA3 +S214024C40626C656E646564002E2E2F7468697264E9 +S214024C5070617274792F6C76676C2F7372632F6C27 +S214024C60765F647261772F6C765F647261775F62DB +S214024C706C656E642E63000066696C6C5F626C65C0 +S214024C806E6465643A20756E737570706F727465C3 +S214024C906420626C656E64206D6F646500000000BF +S214024CA0FFFF00006C765F647261775F696D670074 +S214024CB06C765F696D675F647261775F636F72655A +S214024CC0000000002E2E2F74686972647061727480 +S214024CD0792F6C76676C2F7372632F6C765F6472B3 +S214024CE061772F6C765F647261775F696D672E639A +S214024CF000000000496D61676520647261773A20A2 +S214024D00737263206973204E554C4C004E6F0A64D2 +S214024D1061746100496D6167652064726177206520 +S214024D2072726F7200000000496D616765206472DE +S214024D3061772063616E27742072656164207468EF +S214024D4065206C696E65000000FF00000055AAFF32 +S214024D5000112233445566778899AABBCCDDEEFF54 +S214024D60000102030405060708090A0B0C0D0E0FC4 +S214024D70101112131415161718191A1B1C1D1E1FB4 +S214024D80202122232425262728292A2B2C2D2E2FA4 +S214024D90303132333435363738393A3B3C3D3E3F94 +S214024DA0404142434445464748494A4B4C4D4E4F84 +S214024DB0505152535455565758595A5B5C5D5E5F74 +S214024DC0606162636465666768696A6B6C6D6E6F64 +S214024DD0707172737475767778797A7B7C7D7E7F54 +S214024DE0808182838485868788898A8B8C8D8E8F44 +S214024DF0909192939495969798999A9B9C9D9E9F34 +S214024E00A0A1A2A3A4A5A6A7A8A9AAABACADAEAF23 +S214024E10B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF13 +S214024E20C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF03 +S214024E30D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFF3 +S214024E40E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFE3 +S214024E50F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFD3 +S214024E606C765F647261775F6C657474657200005D +S214024E70647261775F6C65747465725F7375627075 +S214024E8078000000647261775F6C65747465725FA7 +S214024E906E6F726D616C00000024496D92B6DBFF86 +S214024EA02E2E2F746869726470617274792F6C7614 +S214024EB0676C2F7372632F6C765F647261772F6CE8 +S214024EC0765F647261775F6C6162656C2E63000068 +S214024ED06C765F647261775F6C65747465723A2093 +S214024EE0666F6E74206973204E554C4C00000000AD +S214024EF06C765F647261775F6C65747465723A2073 +S214024F00676C797068206473632E206E6F742066F7 +S214024F106F756E64000000006C765F647261775F86 +S214024F206C65747465723A20636861726163746555 +S214024F30722773206269746D6170206E6F742066CA +S214024F406F756E64000000006C765F647261775F56 +S214024F506C65747465723A20696E76616C69642059 +S214024F60627070206E6F7420666F756E640000004B +S214024F706C765F647261775F6C65747465723A20F2 +S214024F80696E76616C6964206270700080808081D0 +S214024F908182828384858687898A8C8D8F91939578 +S214024FA097999B9EA0A2A5A7AAADAFB2B500000096 +S214024FB06C765F647261775F6D61736B5F61646468 +S214024FC0000000006C765F647261775F6D61736BE0 +S214024FD05F616E676C655F696E6974002E2E2F7452 +S214024FE06869726470617274792F6C76676C2F735D +S214024FF072632F6C765F647261772F6C765F647271 +S21402500061775F6D61736B2E630000006C765F6D77 +S21402501061736B5F6164643A206E6F20706C6163CB +S2140250206520746F2061646420746865206D617306 +S2140250306B000000556E6578706563746564207356 +S214025040746172745F616E676C650000556E657898 +S21402505070656374656420656E645F616E676C6517 +S21402506000000000FFFF0000647261775F706174E9 +S2140250707465726E000000002E2E2F7468697264CA +S21402508070617274792F6C76676C2F7372632F6CF3 +S214025090765F647261772F6C765F647261775F7297 +S2140250A06563742E63000000647261775F696D67E2 +S2140250B03A2063616E27742067657420696D6167A4 +S2140250C06520696E666F00006C765F696D675F6467 +S2140250D0657369676E3A20696D61676520736F75DF +S2140250E0726365207479706520697320756E6B6EC5 +S2140250F06F776E0000112233445566778899AABBF3 +S214025100CCDDEEFF6C765F696D675F6275665F7316 +S21402511065745F70616C6574746500005F6C765FC1 +S214025120696D675F63616368655F6F70656E0000D7 +S2140251306C765F696D675F63616368655F736574EC +S2140251405F73697A650000002E2E2F746869726498 +S21402515070617274792F6C76676C2F7372632F6C22 +S214025160765F647261772F6C765F696D675F6361E5 +S2140251706368652E630000006C765F696D675F6327 +S214025180616368655F6F70656E3A20746865206358 +S214025190616368652073697A652069732030000050 +S2140251A0696D61676520647261773A20636163683E +S2140251B065206D6973732C20636C6F736520616E56 +S2140251C06420726575736520616E20656E747279EF +S2140251D000000000696D61676520647261773A209D +S2140251E06361636865206D6973732C20636163680D +S2140251F0656420746F20616E20656D707479206519 +S2140252006E74727900000000496D616765206472F1 +S21402521061772063616E6E6F74206F70656E2074A6 +S214025220686520696D616765207265736F75726364 +S214025230650000006C765F696D675F6465636F6426 +S21402524065725F6275696C745F696E5F696E666FC0 +S214025250000000006C765F696D675F6465636F646B +S21402526065725F6275696C745F696E5F6F70656E9A +S214025270000000006C765F696D675F6465636F644B +S21402528065725F6275696C745F696E5F6C696E6584 +S2140252905F747275655F636F6C6F72000011223304 +S2140252A0445566778899AABBCCDDEEFF6C765F69BB +S2140252B06D675F6465636F6465725F6275696C745F +S2140252C05F696E5F726561645F6C696E650000009F +S2140252D06C765F696D675F6465636F6465725F6352 +S2140252E072656174650000005F6C765F696D675F6A +S2140252F06465636F6465725F696E697400000000BE +S2140253002E2E2F746869726470617274792F6C76AF +S214025310676C2F7372632F6C765F647261772F6C83 +S214025320765F696D675F6465636F6465722E63009E +S214025330496D6167652067657420696E666F2067D0 +S214025340657420726561642066696C6520686561B3 +S21402535064657200496D6167652067657420696ED1 +S214025360666F20666F756E6420756E6B6E6F776EF5 +S21402537020737263207479706500000062696E00A3 +S2140253804275696C742D696E20696D61676520646B +S21402539065636F6465722063616E2774206F706543 +S2140253A06E207468652066696C650000696D675FCB +S2140253B06465636F6465725F6275696C745F696E5B +S2140253C05F6F70656E3A206F7574206F66206D652C +S2140253D06D6F727900000000496D61676520646533 +S2140253E0636F646572206F70656E3A20756E6B6EC1 +S2140253F06F776E20636F6C6F7220666F726D61746A +S214025400000000004275696C742D696E20696D613A +S2140254106765206465636F646572207365656B20DB +S2140254206661696C656400004275696C742D696E0C +S21402543020696D616765206465636F6465722072BA +S214025440656164206661696C656400004275696C1A +S214025450742D696E20696D616765206465636F648B +S21402546065722072656164206E6F74207375707049 +S2140254706F7274732074686520636F6C6F72206637 +S2140254806F726D61740000006C765F696D675F64B1 +S21402549065636F6465725F696E69743A206F7574CE +S2140254A0206F66206D656D6F727900006C765F66A0 +S2140254B06F6E745F6765745F6269746D61705F6654 +S2140254C06D745F74787400002E2E2F74686972648F +S2140254D070617274792F6C76676C2F7372632F6C9F +S2140254E0765F666F6E742F6C765F666F6E745F663D +S2140254F06D745F7478742E63000000000C55020011 +S21402550058610200BC6002003D310000000100004C +S214025510000000000001000003000000000200007E +S2140255200000000000000000000000000000010073 +S21402553000000000000000000000000000010C0057 +S21402554007FA00000000F2F1020C0604F6020D0152 +S2140255500B030800000000000000000000000F021D +S214025560FE0000000000000000000000000500F839 +S2140255700000000000FB04050000FD00FE0300FD25 +S21402558000FDFFFB00000000FD0000FDFC0000FD2A +S21402559000FB000000000000000000FDFD00FC0013 +S2140255A0F900E10000FB0005080000FB0303080504 +S2140255B0FC050000F10000000000000000000000F2 +S2140255C0F70000000000000000000000000000F9E4 +S2140255D0FDF300F6FE00000000010A00F8FEFF01DF +S2140255E000FC0000FEED00000000000000000000CD +S2140255F000ECFE0A000000000000000000000000B0 +S214025600F600000000000000000000080003000092 +S214025610FB00000000000000000000000000000088 +S21402562000000A0201000000000000000000000066 +S2140256300000000000000000000000000000000063 +S214025640000000000000000000000000F70000005C S2140256500000000000000000000000000000000043 -S21402566000000000F700000000000000000000003C -S214025670000000000000000000000002050308FD14 -S214025680000005FDF8DD02070501FD00090008001F -S2140256900800E800FD080008FD0503000001FD0003 -S2140256A000FC1400140008000B030408000000F7B6 -S2140256B00000000001FE0002FBFDFB0200FD0000F0 -S2140256C000F60000000000000000000000EF0000EE -S2140256D00000000000000000000000000001F200D0 -S2140256E0F000000000FE0019FDFD0303FE00FD03AE -S2140256F00000F20000000000000000000000E700CA -S21402570003000000000000000000000000F0000F90 -S2140257100000F7000800EFE7EFFB080000EF0003C9 -S214025720FA00FC0000000000000000000000000775 -S21402573008E10000000000000000000000000C006D -S2140257400200000000000202FDFB00FFFFFD000059 -S214025750FE000000FB00FE00FAFB00FAF8F8FB0071 -S214025760FB00FB00000000FE0000030002FD00013B -S21402577000000003FE000000FE0303FF000000FB23 -S21402578000FF0000000000010003FE00FD00FC0018 -S21402579000FE00080000FD0000000000FF01FEFE03 -S2140257A00000FD00FD000000000000000000FFFFFA -S2140257B000FDFD0000000000010000FE00FDFDFDF2 -S2140257C0000000000000000000FE00000000FEFDD9 -S2140257D000FC00F8FEF8050000FB03050700FAFFD0 -S2140257E0FD00FFF403FE02F203000001F300F2FEE6 -S2140257F0EAFE00F30005070003000000000100FBBC -S214025800FD00F8000000FD000000FD0000000000A2 -S214025810FFFF00FFFD00000000000000FDFD00FE8F -S214025820FDFE0000FD000000000000000000000079 -S214025830FEFE00FD00FE00FB030000FD0103030068 -S2140258400000000000FE0000000000020000FD0054 -S214025850FDFEFD000000000000000200FE00000049 -S21402586000FDFC00FB0008FE01F8000007F3F3F55C -S214025870FB0300FEEFFB00FB00FB04FBF000F9005D -S2140258800001FF02FE000300F8F600F3FAFBFAF846 -S214025890FDF9FFFBF902000100FD00000002000313 -S2140258A00000000000000000000000FD00FF00FFF6 -S2140258B0FD00FCFAFAFF00F8000000000000FE00FF -S2140258C000000001FE0000000300000000000000CF -S2140258D0000C00000000000002000000FD000000B6 -S2140258E00000000000000000FB00030000000000B3 -S2140258F00000000000000000FE000000FB000000A8 -S21402590000F3F8000000FCF30000FD0300F90000BD -S2140259100000000000000000FC0000FB0000000089 -S21402592000000000000000000300FB00000000036F -S2140259300002FBFB00FDFDFD000000000000F80079 -S214025940FD00FCFD00FAFAF8FE00FB00F80000007D -S21402595000140000010000FD000300F50000000036 -S21402596000E8FB0808FEF50003FC00F3FFFD03EE6B -S214025970FD030004F7FCF7F8F50000F1000F000045 -S214025980FF000000FFFFFDF9F8FFE800000000003E -S21402599000000000010000000000000000000000FF -S2140259A00000000000FD00FFFDFC0000FB00FD0003 -S2140259B00000000000000000000000000000FF00E1 -S2140259C0FB000005FF0300FA03FEFFF9FD00FDFDE4 -S2140259D0FE00FCFC0000FEFFFEFCFD0000FD0003D6 -S2140259E0FE00FA000000FB00FC00FCFC03000000C6 -S2140259F00000000000FB0300FC00FEFDF8FEFEFEB9 -S214025A00FFFEFDFF0000000000FDFEFE000000009D -S214025A1003FE00FE000000FEFDFEFEFDFE00020A82 -S214025A20FF00F900FE0500FDF5FD040000F4FC038E -S214025A30FC0200FEFEF800FC010000FC0000000371 -S214025A4003FBFB00FCFDFCFDFD00FC01FBFC08006B -S214025A50000000000000000003000000000000003C +S21402566000000002050308FD000005FDF8DD020744 +S2140256700501FD00090008000800E800FD08000812 +S214025680FD0503000001FD0000FC140014000800E4 +S2140256900B030408000000F70000000001FE0002F1 +S2140256A0FBFDFB0200FD000000F60000000000000B +S2140256B00000000000EF00000000000000000000F4 +S2140256C0000000000001F200F000000000FE0019D9 +S2140256D0FDFD0303FE00FD030000F20000000000D3 +S2140256E0000000000000E7000300000000000000C9 +S2140256F00000000000F0000F0000F7000800EFE7CF +S214025700EFFB080000EF0003FA00FC0000000000B8 +S214025710000000000000000708E100000000000092 +S2140257200000000000000C00020000000000020260 +S214025730FDFB00FFFFFD0000FE000000FB00FE0078 +S214025740FAFB00FAF8F8FB00FB00FB00000000FE84 +S2140257500000030002FD000100000003FE0000003E +S214025760FE0303FF000000FB00FF00000000000134 +S2140257700003FE00FD00FC0000FE00080000FD0025 +S21402578000000000FF01FEFE0000FD00FD0000001C +S214025790000000000000FFFF00FDFD00000000000A +S2140257A0010000FE00FDFDFD0000000000000000FC +S2140257B000FE00000000FEFD00FC00F8FEF80500FA +S2140257C000FB03050700FAFFFD00FFF403FE02F2EA +S2140257D003000001F300F2FEEAFE00F300050700F4 +S2140257E003000000000100FBFD00F8000000FD00C1 +S2140257F00000FD0000000000FFFF00FFFD000000AB +S21402580000000000FDFD00FEFDFE0000FD000000A1 +S2140258100000000000000000FEFE00FD00FE00FB8F +S214025820030000FD010303000000000000FE00006C +S214025830000000020000FD00FDFEFD00000000006A +S21402584000000200FE00000000FDFC00FB0008FE57 +S21402585001F8000007F3F3F5FB0300FEEFFB00FB85 +S21402586000FB04FBF000F9000001FF02FE0003004B +S214025870F8F600F3FAFBFAF8FDF9FFFBF90200016D +S21402588000FD00000002000300000000000000000F +S214025890000000FD00FF00FFFD00FCFAFAFF00F822 +S2140258A0000000000000FE0000000001FE000000F4 +S2140258B00300000000000000000C000000000000D2 +S2140258C002000000FD0000000000000000000000D2 +S2140258D0FB000300000000000000000000000000C3 +S2140258E0FE000000FB00000000F3F8000000FCF3DE +S2140258F00000FD0300F900000000000000000000A8 +S214025900FC0000FB00000000000000000000000099 +S2140259100300FB00000000030002FBFB00FDFDFD90 +S214025920000000000000F800FD00FCFD00FAFAF896 +S214025930FE00FB00F800000000140000010000FD5D +S214025940000300F50000000000E8FB0808FEF50072 +S21402595003FC00F3FFFD03EEFD030004F7FCF7F87B +S214025960F50000F1000F0000FF000000FFFFFDF948 +S214025970F8FFE80000000000000000000100000040 +S21402598000000000000000000000000000FD00FF14 +S214025990FDFC0000FB00FD0000000000000000000F +S2140259A0000000000000FF00FB000005FF0300FAF5 +S2140259B003FEFFF9FD00FDFDFE00FCFC0000FEFFFD +S2140259C0FEFCFD0000FD0003FE00FA000000FB00E6 +S2140259D0FC00FCFC030000000000000000FB0300CB +S2140259E0FC00FEFDF8FEFEFEFFFEFDFF00000000CE +S2140259F000FDFEFE0000000003FE00FE000000FEAA +S214025A00FDFEFEFDFE00020AFF00F900FE0500FD97 +S214025A10F5FD040000F4FC03FC0200FEFEF800FCA8 +S214025A20010000FC0000000303FBFB00FCFDFCFD84 +S214025A30FD00FC01FBFC0800000000000000000066 +S214025A40030000000000000000000000000000004C +S214025A500000000000000000FC0000000000000043 S214025A60000000000000000000000000000000002F -S214025A70FC00000000000000000000000000000023 -S214025A80000000000000000000000000000000000F -S214025A90000000000000000000000000FE00000001 -S214025AA000000000000000000000000000000000EF -S214025AB000000000000000000000FEFD00000000E4 -S214025AC00000000000000000FC0000FD0000FDFDDC -S214025AD000000000FD00000000FF0000000000FEC5 -S214025AE000000000FC00FB000000F80002FA0501BE -S214025AF0FEF40000FAFD00F6FAF90000F5FDF6F6EF -S214025B00F400F9000211FD00FAFDFFFDFCF9FBF7B7 -S214025B10F6FAFD0000FE00010000EEFE0806FAF7A7 -S214025B200001F800F3FEFD05E8FD010000EFFDF3BD -S214025B30FDED0000EE000F0100FE00000000FFFE7B -S214025B40F6FE00EF00000000F800FE00FFF9F40089 -S214025B5000FFFCF8FD00FE00000000F4FDF8F8FE71 -S214025B60FCFAFDFC00FBFEF8FC00FDFBFDFB000161 -S214025B7000FEF8000500FB00000000030002FB0A1E -S214025B8000FDFDFD000000000000F800FD00FCFD29 -S214025B9000FAFAF8FE00FB020A00000000140000F9 -S214025BA0010000FD00030000000000000000FF00EE -S214025BB000000000FEFB0000000000FF000000FDE9 -S214025BC0FD0000FBFD0000FB0004FF0000000000DB -S214025BD0000100000000040502FE00F8FC0008F8C0 -S214025BE0F8FBFB0A0503EAFE05FD00FD03FDF700D0 -S214025BF0FD03FDFEF8FE0000080500F900F2FD07B1 -S214025C00FDF601FDF8F8FD0A0300FC00F9000208A3 -S214025C10FAF7F6FA080001EDFE03FCFEFA00FAF7C0 -S214025C20FCFCFE0000FAFBFD000806FDF200F2FC9A -S214025C3000F7F1FFF8FCF8F9070000FD00FBFE0094 -S214025C40FDFB0004F8030000F200FDFAFCFEF8FA81 -S214025C50F8FA00F8FDFAFBF8FD0000010CFC00F86B -S214025C60FD00FDFBFAF9F9F6FDFB0500FC00F3FD6D -S214025C700205F8F7FBF808FD01E8FB05FAFCF70059 -S214025C80F8F5FDFDFEFDFBF8FF00000807FEEF003D -S214025C90F1FA06F6EFFBF7F5F3F80500000000FD53 -S214025CA0000003FD0502FB050000F8FF00FF0001EF -S214025CB001FE000000000000FD00000000020801D6 -S214025CC000FD00000000FEFEFD00000001020000D4 -S214025CD000000200FE000A00050101FD00050000AA -S214025CE0000200000000000000000000000800079C -S214025CF00000000000000000000000000000F100AC -S214025D00FD04000800001903FBFB0303FE01F30079 -S214025D10000CF10000000000000000000000EF0A86 -S214025D2024000000000000000000000000F1000057 -S214025D30000000000000000000000000000000005C -S214025D400000000000000000FC0000FBFE00000057 -S214025D50000000000000000000000000000000003C -S214025D60FE00F900000100000321FBFE0807F9030C -S214025D7000000303FD000000000000000000000019 -S214025D80DF07000000000000000000000000000026 -S214025D90000000F9000000F900000000FAFF000011 -S214025DA000FA00FD00F40000000000000000000001 -S214025DB000EF0000000001000000000000FD0000EF -S214025DC0FB00FC00F9000000FC03FD0000F9FDFAF0 -S214025DD00000F900FD00F400FD0000EBFBF6FDF705 -S214025DE00000EF00F9FF0000000000000000FCFBCE -S214025DF0FEFC00000000FA00FA03FD0500FEFAFEB3 -S214025E00FCFB00FDFFFE02F9FF000000E9FEFC00BD -S214025E10FA00FEF4FE0000FEFE000000000200FE95 -S214025E20FCFE04000000000000000000000000006D -S214025E30000000000000000000000000000000005B -S214025E400000000000000000000000000000030048 -S214025E500000000000FA00FE000000FB0300000045 -S214025E60F9FDFB0000F900FD00F400000000E70069 -S214025E70FBF7F30000EF00FEFC000000000000004D -S214025E8000FDFCFFFC01000004FD00080DFDFDF80E -S214025E90030D0406F9030B030706070000000000C3 -S214025EA0000000000000100CFBFD00FE140B1400A6 -S214025EB00000030000090000FC00000000000000D3 -S214025EC00000FE00000000000000000400000000C9 -S214025ED0EAFDFEF6F30000EF0000000000000000FE -S214025EE0000000000000000000FC000000000000AF -S214025EF0000000FE00000000000000000400000099 -S214025F0000EAFDFEF6F30000F600000000000000C6 -S214025F10000000000000000000000000FE0000007C -S214025F20FA0300FD020503F800FFFE03000200006C -S214025F300000FA00FEFEFB00FEF60010FD00FAFE70 -S214025F4000FEFC00FDF9FBFD000000FC0000000066 -S214025F500000000000FE0000000000000000040038 -S214025F60000000EAFDFEF6F30000EF00000000006D -S214025F70000D00000000000000000000FC00F8FD1C -S214025F80FE08FEFDF601FE01FEF90106010201020F -S214025F90FAF6FD00F6FBF9F5F600FCFBFDFDFEFE4B -S214025FA0FDFE00FEFF040004FE00080000000000E4 -S214025FB000000000000000FEFDFD0000F900FF00EA -S214025FC0FC0000000000000000000000F1000000DD -S214025FD00000000000000000FDFD00FD00000000C3 -S214025FE0FE0000FCFD0300FCFBFE00F9FEFAFEFDCF -S214025FF000FC0000000000000000000000EF0008A7 -S2140260000000FB00000000FD00FD0000FF0000FE97 -S21402601000FA00000BFDF8F8020303FFF90204027F -S214026020080208FEF90000F60000F8F90000FB007E -S214026030FDFC00FC00FC00FE0400FEF8FD0900006A -S214026040FE00FB000003FA0003FD020000F800FE5B -S214026050FF00FD03FE000000F6FDFA00F80000F463 -S2140260600009FD00FB000200FD00FDF800FD030034 -S214026070000000FE000003FD010000FDFE00FD0022 -S2140260800000000000000000000000000000000009 -S214026090F000060000FE000000000100FDFD00000A -S2140260A0000500060000000000F0F1010B0804F6EF -S2140260B0020B0009000500000000000000000000BE -S2140260C0000E0000000000000000000000000000BB -S2140260D00000000000000102000304050206070893 -S2140260E0090A090A0B0C0D0E0F10110C12131415C7 -S2140260F01500000016171819171919191719191A61 -S2140261001919191917191719031B1C1D1D1E1F20F3 -S2140261102122230024002526272727002726282990 -S21402612026262A2A272A272A2B2C2D2E2E2F2E30B9 -S21402613000002309310900000000000000000000F2 +S214025A70000000000000000000000000000000001F +S214025A8000000000FE000000000000000000000011 +S214025A9000000000000000000000000000000000FF +S214025AA00000FEFD000000000000000000000000F4 +S214025AB0FC0000FD0000FDFD00000000FD000000EF +S214025AC000FF0000000000FE00000000FC00FB00DB +S214025AD00000F80002FA0501FEF40000FAFD00F6E6 +S214025AE0FAF90000F5FDF6F6F400F9000211FD00E1 +S214025AF0FAFDFFFDFCF9FBF7F6FAFD0000FE0001D9 +S214025B000000EEFE0806FAF70001F800F3FEFD05B7 +S214025B10E8FD010000EFFDF3FDED0000EE000F01D1 +S214025B2000FE00000000FFFEF6FE00EF0000000090 +S214025B30F800FE00FFF9F40000FFFCF8FD00FE008E +S214025B40000000F4FDF8F8FEFCFAFDFC00FBFEF88F +S214025B50FC00FDFBFDFB000100FEF8000500FB005B +S214025B60000000030002FB0A00FDFDFD000000002D +S214025B700000F800FD00FCFD00FAFAF8FE00FB0249 +S214025B800A00000000140000010000FD00030000EF +S214025B90000000000000FF0000000000FEFB000006 +S214025BA0000000FF000000FDFD0000FBFD0000FB02 +S214025BB00004FF00000000000001000000000405D1 +S214025BC002FE00F8FC0008F8F8FBFB0A0503EAFEF2 +S214025BD005FD00FD03FDF700FD03FDFEF8FE0000D7 +S214025BE0080500F900F2FD07FDF601FDF8F8FD0ACA +S214025BF00300FC00F9000208FAF7F6FA080001EDC5 +S214025C00FE03FCFEFA00FAF7FCFCFE0000FAFBFDBF +S214025C10000806FDF200F2FC00F7F1FFF8FCF8F9C6 +S214025C20070000FD00FBFE00FDFB0004F803000079 +S214025C30F200FDFAFCFEF8FAF8FA00F8FDFAFBF8B4 +S214025C40FD0000010CFC00F8FD00FDFBFAF9F9F678 +S214025C50FDFB0500FC00F3FD0205F8F7FBF808FD66 +S214025C6001E8FB05FAFCF700F8F5FDFDFEFDFBF882 +S214025C70FF00000807FEEF00F1FA06F6EFFBF7F565 +S214025C80F3F80500000000FD000003FD0502FB0519 +S214025C900000F8FF00FF000101FE00000000000007 +S214025CA0FD0000000002080100FD00000000FEFEEC +S214025CB0FD0000000102000000000200FE000A00D3 +S214025CC0050101FD000500000002000000000000C2 +S214025CD000000000000800070000000000000000AE +S214025CE0000000000000F100FD0400080000190397 +S214025CF0FBFB0303FE01F300000CF10000000000B2 +S214025D00000000000000EF0A24000000000000006F +S214025D100000000000F1000000000000000000008B +S214025D20000000000000000000000000000000006C +S214025D30FC0000FBFE000000000000000000000067 +S214025D400000000000000000FE00F9000001000054 +S214025D500321FBFE0807F90300000303FD00000011 +S214025D600000000000000000DF0700000000000046 +S214025D700000000000000000000000F9000000F92A +S214025D8000000000FAFF000000FA00FD00F4000028 +S214025D90000000000000000000EF0000000001000C +S214025DA00000000000FD0000FB00FC00F9000000FF +S214025DB0FC03FD0000F9FDFA0000F900FD00F40006 +S214025DC0FD0000EBFBF6FDF70000EF00F9FF000018 +S214025DD0000000000000FCFBFEFC00000000FA00D1 +S214025DE0FA03FD0500FEFAFEFCFB00FDFFFE02F9CB +S214025DF0FF000000E9FEFC00FA00FEF4FE0000FED2 +S214025E00FE000000000200FEFCFE0400000000008F +S214025E10000000000000000000000000000000007B +S214025E20000000000000000000000000000000006B +S214025E3000000000000003000000000000FA00FE60 +S214025E40000000FB03000000F9FDFB0000F900FD66 +S214025E5000F400000000E700FBF7F30000EF00FE8E +S214025E60FC0000000000000000FDFCFFFC0100003A +S214025E7004FD00080DFDFDF8030D0406F9030B03EF +S214025E800706070000000000000000000000100CDB +S214025E90FBFD00FE140B14000000030000090000C6 +S214025EA0FC000000000000000000FE0000000000F1 +S214025EB00000000400000000EAFDFEF6F30000EF1A +S214025EC000000000000000000000000000000000CB +S214025ED000FC000000000000000000FE00000000C1 +S214025EE0000000000400000000EAFDFEF6F30000D9 +S214025EF0F6000000000000000000000000000000A5 +S214025F0000000000FE000000FA0300FD020503F890 +S214025F1000FFFE03000200000000FA00FEFEFB0087 +S214025F20FEF60010FD00FAFE00FEFC00FDF9FBFD89 +S214025F30000000FC000000000000000000FE000060 +S214025F400000000000000400000000EAFDFEF6F378 +S214025F500000EF0000000000000D0000000000003E +S214025F6000000000FC00F8FDFE08FEFDF601FE0142 +S214025F70FEF9010601020102FAF6FD00F6FBF9F54A +S214025F80F600FCFBFDFDFEFEFDFE00FEFF04000427 +S214025F90FE0008000000000000000000000000FEF6 +S214025FA0FDFD0000F900FF00FC00000000000000FC +S214025FB000000000F10000000000000000000000E9 +S214025FC0FDFD00FD00000000FE0000FCFD0300FCDD +S214025FD0FBFE00F9FEFAFEFD00FC000000000000D9 +S214025FE00000000000EF00080000FB00000000FDBB +S214025FF000FD0000FF0000FE00FA00000BFDF8F8AE +S214026000020303FFF9020402080208FEF90000F682 +S2140260100000F8F90000FB00FDFC00FC00FC00FE9E +S2140260200400FEF8FD090000FE00FB000003FA0073 +S21402603003FD020000F800FEFF00FD03FE00000064 +S214026040F6FDFA00F80000F40009FD00FB0002006D +S214026050FD00FDF800FD0300000000FE000003FD49 +S214026060010000FDFE00FD00000000000000000030 +S2140260700000000000000000F000060000FE000025 +S21402608000000100FDFD0000000500060000000003 +S21402609000F0F1010B0804F6020B000900050000EF +S2140260A00000000000000000000E000000000000DB +S2140260B000000000000000000000000000000102D6 +S2140260C00003040502060708090A090A0B0C0D0E4E +S2140260D00F10110C121314151500000016171819BC +S2140260E0171919191719191A191919191719171920 +S2140260F0031B1C1D1D1E1F202122230024002526F3 +S214026100272727002726282926262A2A272A272A33 +S2140261102B2C2D2E2E2F2E300000230931090000A5 +S2140261200000000000000000000000000000000068 +S2140261300000000000000000000000000000000058 S2140261400000000000000000000000000000000048 -S2140261500000000000000000000000000000000038 -S2140261600000000000000000000000000000000028 -S214026170000001020003040502060708090A090ACC -S2140261800B0C000D0E0F101112130C14140000004D -S2140261901516171819161A1B1C1D1D1E1F201D1D4D -S2140261A01621222303241E2525262728292A2B00EA -S2140261B02C002D2E2F303132332D343435302D2D08 -S2140261C02E2E36373839333A3A3B3A3C2900000904 -S2140261D03D09000000000000000000000000000072 +S2140261500000000000000000000001020003040529 +S21402616002060708090A090A0B0C000D0E0F101189 +S21402617012130C14140000001516171819161A1B01 +S2140261801C1D1D1E1F201D1D1621222303241E2535 +S21402619025262728292A2B002C002D2E2F30313297 +S2140261A0332D343435302D2D2E2E36373839333ABA +S2140261B03A3B3A3C290000093D0900000000000075 +S2140261C000000000000000000000000000000000C8 +S2140261D000000000000000000000000000000000B8 S2140261E000000000000000000000000000000000A8 -S2140261F00000000000000000000000000000000098 -S2140262000000000000000000000000002000000067 -S2140262105F00010000000000000000000000000017 -S214026220B0000000F3F760003462020000000000D5 -S2140262303B0002000000721F51EF58EF5BEF5CEF6D -S2140262405DEF61EF63EF65EF69EF6CEF71EF76EF8D -S21402625077EF78EF8EEF98EF9BEF9CEF9DEFA1EF35 -S214026260A2EFA3EFA4EFB7EFB8EFBEEFC0EFC1EF18 -S214026270C4EFC7EFC8EFC9EFCBEFE3EFE5EF14F0DB -S21402628015F017F037F03AF043F06CF074F0ABF01C -S2140262903BF190F191F192F193F194F1D7F1E3F1A0 -S2140262A03DF254F2AAF412F7F2F7000000000000E2 -S2140262B0000000000000500400000000000050042F -S2140262C0030C010012004006050501071F00400BE3 -S2140262D00B0C00006100F0090A1000FEB100800DF0 -S2140262E00D0C0000FF00000B0B0D00FF47016003C2 -S2140262F0020501074C016005040F01FD6A017005E5 -S214026300040F00FD8801600607070005A101500979 -S21402631008080102C101A003030500FEC901200608 -S21402632006030003D201A00303030000D701A00561 -S2140263300810FFFE1702B00A0A0C00005302F0050E -S214026340050C000071023009090C0000A7022009A2 -S214026350090C0000DD02B00A0B0C00001F03300916 -S214026360090C00005503E0090A0C0000910390098D -S214026370090C0000C703500A0A0C00000304E009D7 -S2140263800A0C00003F04A003030900004D04A0030A -S214026390030C00FD5F045009080801027F0450093F -S2140263A0080601039704500908080102B7043009D9 -S2140263B0090C0000ED049010100F00FD6505B00BEF -S2140263C00D0CFF00B305200C0B0C0100F505900B1D -S2140263D00B0C00003706300D0C0C01007F06C00ABD -S2140263E0090C0100B506300A090C0100EB06600C28 -S2140263F00C0C00003307000D0B0C01007507F004AF -S214026400030C010087073008080CFF00B707800B53 -S2140264100B0C0100F9078009090C01002F08400F38 -S2140264200D0C01007D08000D0B0C0100BF08700D5D -S2140264300D0C00000D09900B0A0C01004909700DA5 -S2140264400E0F00FDB209A00B0A0C0100EE09F009BE -S2140264500A0C00002A0A60090A0C0000660AA00C50 -S2140264600B0C0100A80A600B0D0CFF00F60A0012C6 -S214026470120C0000620BC00A0B0C0000A40B600A90 -S2140264800C0CFF00EC0B800A0B0C00002E0C5005C7 -S214026490050F01FD540CA0050810FFFE940C5005D4 -S2140264A0040F00FDB20C500908070102CE0C0008CA -S2140264B0080200FED60CA0090502010ADB0C9009B0 -S2140264C009090000040DF00A0A0C0100400D20091B -S2140264D009090000690DF00A0A0C0000A50DD00992 -S2140264E00A090000D20DA005070C0000FC0D100BD7 -S2140264F00A0C00FD380EE00A090C01006E0E70044C -S214026500030C0100800E9004060FFEFDAD0EE0099E -S214026510090C0100E30E7004020C0100EF0EF010ED -S2140265200F090100330FE00A090901005C0F300A67 -S2140265300A090000890FF00A0A0C01FDC50FF00ACD -S2140265400A0C00FD01109006060901001C10000846 -S214026550080900004010A006070B00006710D00ACA -S214026560090901009010F0080A09FF00BD10600E2C -S2140265700F0900000111D008090900002A11F008CD -S2140265800A0CFFFD66115008080900008A11A005D2 -S214026590060F00FDB711D004030F01FDCE11A005B2 -S2140265A0050F00FDF4115009090500040B12B00690 -S2140265B0060600061D12000503040103231200103E -S2140265C0101100FEAB120010100C00000B1300108E -S2140265D0100E00FF7B130010100C0000DB13000BE4 -S2140265E00B0C00001D140010101000FE9D1400106D -S2140265F0101000FE1D150012120E00FF9B15001053 -S214026600101000FE1B160012120C00008716001057 -S214026610101000FE07170008080E00FF3F17000CB8 -S2140266200C0E00FF93170012121000FE2318001023 -S214026630100C00008318000E0A1002FED318000E7B -S2140266400E1200FD5119000E0E0F00FFBA19000EB1 -S2140266500E0E00FF1C1A000E0A1002FE6C1A000E26 -S214026660100EFFFFDC1A000A0A0E00FF221B000AA9 -S2140266700A0E00FF681B000E0E0E00FFCA1B000E5D -S2140266800E040004E61B0012120C0000521C00143A -S214026690141000FEF21C00121410FFFE921D0010D1 -S2140266A0101000FE121E000E0E0A0001581E000EEA -S2140266B00E0A00019E1E0014140E00FF2A1F001070 -S2140266C0100C00008A1F0010101000FE0A20001096 -S2140266D01111FFFE9B20000E0F0E00FF0421000E7C -S2140266E00E1000FE7421000E0E0E00FFD621000AC8 -S2140266F00C10FFFE3622000E0E1000FEA622000E22 -S2140267000E1000FE16230012120C00008223001048 -S2140267101212FFFD2424000C0C1000FE8424001428 -S214026720140F00FF1A250014140A00017E25001417 -S214026730140A0001E2250014140A00014626001479 -S214026740140A0001AA260014140A00010E270014D7 -S214026750150E00FFA127000E0C1001FE0128000EE8 -S2140267600E1000FE712800101111FFFD0229001400 -S214026770140C00007A29000C0C1000FEDA292010F6 -S214026780110B0001BF0BF0AF0AE09E08D08C07C0C9 -S214026790000010BF1AE0F51F3F51F3E40F3E40F22F -S2140267A07208100005C003E000007A005C000009D1 -S2140267B08007A001FFFFFFFFFD033E733C8330000E -S2140267C0F200C500000F100E300002F000F2009F2B -S2140267D0FFFFFFFF4138C336E3300089005C00004C -S2140267E00A7007A00000007900000000790000008F -S2140267F05CFFE92006FCBC9E900EB07900100F806C -S2140268007900000DF579000003EFFD50000006CF79 -S214026810FE400000795EF100007905F30700790773 -S214026820F12FE9BCAFA003AEFFD70000007900004D -S214026830000079000003DE800005D000E40C500161 -S214026840E3004C005A00A90006A004C04E00004C0B -S214026850005A0D500000E41C58A0000003CE73E15D -S2140268603CE9000000D60E40A800007C03C003D01E -S214026870002E203C003D000B7000E2098006D0008E -S21402688004DDA00009EFB1000009E43CA00000D935 -S214026890007D00000CC01CA000003FAEC10000013D -S2140268A0DFC0000003EB8F701800DB007F65F03F4F -S2140268B040008FEA03F70000CF700BF966CFBF40A7 -S2140268C008DFEA30A5000000000000F5F5E4E472F7 -S2140268D000DA05F20BC00F703F405F206F107F009A -S2140268E06F105F203F400F700BC005F200DA3F309A -S2140268F00CB006F101F600E900BC00AD00AE00AD3A -S21402690000BC00E901F606F10CB03F30004A000672 -S21402691074A4A02BFFE5007FFB207B6B8D0004A0F8 -S214026920000013000000051000000F5000000F507A -S21402693000011F5110EFFFFFF3344F7440000F5059 -S21402694000000F50000952FD0BA0C50F00011110E8 -S2140269501FFFF30444400312FC1E90000005F100E2 -S214026960000AB000000F6000005F100000AB0000DD -S21402697000F6000005F100000AB000000F600000FB -S2140269804F100000AC000000F6000004F100000A00 -S214026990C000000E6000004F1000000008EFC500A7 -S2140269A000CFA8CF7007F5000AF20DC00001F81F4D -S2140269B0800000DC3F600000BD3F600000BD1F801D -S2140269C00000DC0DC00001F807F5000AF200CFA8AF -S2140269D0CF700008EFC500EFFF367AF3005F300590 -S2140269E0F3005F3005F3005F3005F3005F3005F318 -S2140269F0005F3005F304BEFD7007FD98CF902800B7 -S214026A0000BF00000007F2000000AF0000004F8049 -S214026A1000003FC000003EC100002EC100002ED183 -S214026A2000002EF8777746FFFFFFFA6FFFFFFF02A0 -S214026A3077779FB000000CE1000009F3000005F62E -S214026A40000000DFE910000459FD00000006F40013 -S214026A5000003F64400008F3BFC98CFB007CFFD7F0 -S214026A6000000001EB00000000BE100000006F50A6 -S214026A700000002F900000000CD000000008F30178 -S214026A80D50003F8002F6000ED2223F7216FFFFFE9 -S214026A90FFFF81555556F9520000002F6000000096 -S214026AA002F60005FFFFFF007F77777008E0000020 -S214026AB000AD0000000BC2100000DFFFFB300455E3 -S214026AC068FF20000004F80000000F92500005F650 -S214026AD08FD98AFD105BEFE9100005CEFC60009F9F -S214026AE0C88B7005F80000000CD00000001F800064 -S214026AF000002F68EFFA103FEE648FD02FF10006E9 -S214026B00F40EC00002F609F10006F301DE869FB01D -S214026B100019EFD8008FFFFFFFE8F77777FC8F00AA -S214026B20004F5590000BE0000002F80000009F1096 -S214026B3000000FB0000006F4000000DD0000003F79 -S214026B407000000AF1000001F90000005CFFD700A7 -S214026B5006FC76AFA00CD00009F10DC00007F207C4 -S214026B60F7115EC000BFFFFE1009F9547ED02F80D9 -S214026B700004F64F500000F81FA00005F609FB7649 -S214026B80AFD0006CFFD810008EFD80000CF868FCB9 -S214026B90005F50003F708F00000EC07F30001FF075 -S214026BA01FD413CFF104EFFFA9F00002310AF00060 -S214026BB000000EA00000009F3009A78DF70007DF37 -S214026BC0EB40001E92FC0310000000000312FC1EA5 -S214026BD0901E92FC0310000000000001E91FD0A8DE -S214026BE00E30A00000004200017DF3039FE810BFB4 -S214026BF0B50000EE81000017DFB4000004AFD2003B -S214026C00000182EFFFFFF3455555510000000001D9 -S214026C10111110EFFFFFF33444444050000000EF20 -S214026C2092000006CFB50000039FE200006CF3025C -S214026C309EE920BFC600009300000004BEFD700758 -S214026C40FC77BFA0270000CF00000009F00000017B -S214026C50EA000001DD100000CE1000003F600000D8 -S214026C6001300000000100000006F50000005F4051 -S214026C7000000017CEFDB500000005FB53237DC2C1 -S214026C8000006E400000008E1002F401AEFA3F498A -S214026C90B00A901EE65BEF40E30F308F1000AF4065 -S214026CA0981F00D900003F406A3F00E800001F40DE -S214026CB05C1F00D900003F406A0F308F1000AF40C3 -S214026CC0980A901ED65ADEA6F203F301AFFA16EE23 -S214026CD050006E4000000000000006FB53237500C3 -S214026CE000000017CEFDA30000000002FD00000019 -S214026CF000009FF4000000000F9EB000000006F2A5 -S214026D007F20000000DC01F80000004F600BE0006E -S214026D10000BF0004F600001FA1111ED00008FFF2A -S214026D20FFFFF3000EC444444FA006F4000000AF79 -S214026D3010CD00000002F85FFFFFEB4005F8555744 -S214026D40DF405F400001FA05F400000FA05F51111A -S214026D503AF405FFFFFFFA005F744459FA05F4009F -S214026D600008F25F4000005F45F4000009F25F850C -S214026D70556AFB05FFFFFFD70000028DFEB4000434 -S214026D80FFB89DF902FD20000850BF200000000F4A -S214026D90A000000002F6000000002F6000000000C5 -S214026DA0FA000000000BF2000000002FD20000855F -S214026DB0005FFB89DF800029DFEB405FFFFFEA30E0 -S214026DC0005F97779EF8005F400000AF605F40006C -S214026DD0000DE05F40000006F45F40000003F65F2F -S214026DE040000003F65F40000006F45F4000000D1E -S214026DF0E05F400000AF605F97779EF8005FFFFF9E -S214026E00EA30005FFFFFFF95F97777745F40000076 -S214026E1005F40000005F51111105FFFFFFE05F74EB -S214026E20444405F40000005F40000005F400000042 -S214026E305F97777765FFFFFFFD5FFFFFFF95F977A7 -S214026E4077745F40000005F40000005F4000000514 -S214026E50F52222105FFFFFFE05F85555405F400001 -S214026E600005F40000005F40000005F4000000008A -S214026E70018DFEB500004FFB89DFB002FD20000643 -S214026E80600BF2000000000FA0000000002F600060 -S214026E900000002F60000009F00FA0000009F00BB0 -S214026EA0F2000009F002FD20000AF0004FFB89DF25 -S214026EB0C000028DFEC6005F4000004F55F4000081 -S214026EC004F55F4000004F55F4000004F55F5222BF -S214026ED0225F55FFFFFFFFF55F8555558F55F4007E -S214026EE00004F55F4000004F55F4000004F55F40D3 -S214026EF000004F55F4000004F55F45F45F45F45F6B -S214026F0045F45F45F45F45F45F45F400FFFFFA0081 -S214026F107777FA000000FA000000FA000000FA0094 -S214026F200000FA000000FA000000FA000000F9076C -S214026F302003F60DE98EF101AEFB305F400002EB56 -S214026F4005F40001EC005F4001DE1005F400CE20DF -S214026F50005F40BF300005F49F9000005FCFEF4017 -S214026F600005FF91EE10005FA003FC0005F400068A -S214026F70F8005F400009F505F400000CF25F4000DF -S214026F800005F40000005F40000005F40000005F0A -S214026F9040000005F40000005F40000005F4000019 -S214026FA0005F40000005F40000005F97777725FF3A -S214026FB0FFFFF55F400000001E95FC00000008F988 -S214026FC05FF5000002FF95FDE00000AEF95F5F701E -S214026FD0003F5F95F38F100BC0F95F31E904F30FA2 -S214026FE095F307F2DB00F95F300DEF200F95F30003 -S214026FF05F9000F95F300071000F95F3000000000B -S214027000F95F5000004F55FF200004F55FFD0000B9 -S2140270104F55FAF90004F55F4AF5004F55F40DF2A4 -S21402702004F55F402FD04F55F4006F94F55F400093 -S214027030AFAF55F40000DFF55F400002FF55F400E5 -S2140270400006F500018DFEB5000004FFB89EFA00AA -S21402705002FD200008F900BF2000000AF20FA0007F -S21402706000003F72F600000000F92F600000000FDB -S21402707090FA00000003F70BF2000000AF202FD2B8 -S21402708000008F90004FFB89EFA0000028DFEB5036 -S214027090005FFFFFD7005F9778BFC05F400007F62C -S2140270A05F400000FA5F400000FA5F400003F85FAE -S2140270B062236EF15FFFFFFD305F855420005F4064 -S2140270C00000005F400000005F4000000000018DED -S2140270D0FEB50000004EFB89EFA00002FD2000086E -S2140270E0F9000AF2000000AF200FA00000003F7077 -S2140270F02F600000000F902F600000000F901F907E -S2140271000000002F700BF1000000AF2003FC1000FF -S21402711007F900006FFA78DFB0000003AEFFC50083 -S214027120000000003ED415B000000002BFFF800041 -S2140271300000000131005FFFFFD7005F9778BFC0F5 -S2140271405F400007F65F400000FA5F400000FA5F0B -S214027150400003F85F52236EE15FFFFFFC305F855D -S21402716055F9005F40007F405F40000CE05F400042 -S21402717002F9005CEFD92007FC87AF900EC0000131 -S214027180100F800000000DF500000003EFEA50002B -S2140271900005AEFE400000004EF100000005F308B8 -S2140271A0000008F22FFA77BFA0029DFFC700FFFF7C -S2140271B0FFFFF56778FB77720001F700000001F722 -S2140271C000000001F700000001F700000001F700D0 -S2140271D0000001F700000001F700000001F70000C0 -S2140271E00001F700000001F700006F3000008F1664 -S2140271F0F3000008F16F3000008F16F3000008F16C -S2140272006F3000008F16F3000008F16F3000008F19 -S21402721005F4000009F03F700000CD00DE20005F9C -S2140272208004FFA8BFD00003BEFD81000CE0000072 -S214027230006F306F5000000CC000FB000003F60029 -S21402724009F20000AE00002F80001F900000CE0062 -S21402725007F2000005F600DB0000000EC04F5000EB -S21402726000008F3BE000000002FBF8000000000B6D -S214027270FF10000000004FB000005F400000DF007B -S2140272800002F50F900002FF400007F00BE0000737 -S214027290FE90000CB006F3000CAAE0001F6001F896 -S2140272A0001F54F3006F1000CD007F10F800CC00D2 -S2140272B0007F20CB00AD01F700002F71F6005F269D -S2140272C0F200000DC6F1000F7BD0000008FDC000E2 -S2140272D00BDF80000003FF700006FF30000000EFA7 -S2140272E0200001FE00003F900000CD008F40007F8E -S2140272F03000DE102F800003FA0CD0000007FBF3EC -S2140273000000000CF800000001EFC0000000BF7F84 -S2140273107000006F60AF20002FB001ED000CF1008E -S21402732004F807F6000009F30CE0000007F203F782 -S21402733000001F9000AF10009E10001FA002F60073 -S2140273400008F30BD0000000EC4F400000005FFB8B -S214027350000000000CF20000000009F0000000002F -S21402736009F00000000009F00000000009F000002B -S2140273703FFFFFFFFD01777777BF900000001EC03A -S2140273800000000CF200000008F500000004F900FE -S214027390000001EC00000000CF200000008F50002B -S2140273A000004F900000001EF877777705FFFFFF7A -S2140273B0FFF05FFF05F7505F3005F3005F3005F31F -S2140273C0005F3005F3005F3005F3005F3005F30021 -S2140273D05F3005F7505FFF007E0000001F40000090 -S2140273E00C90000007E0000002F4000000C9000054 -S2140273F0007E0000002F4000000C90000007E00016 -S2140274000002F3000000D90000007E0000002F30CA -S21402741000000D90000007E0BFFA35EA00EA00EA35 -S21402742000EA00EA00EA00EA00EA00EA00EA00EA05 -S21402743000EA35EABFFA002F8000009DE00000F364 -S214027440D50006D07B000C601F203F100B809A00F0 -S21402745004E0FFFFFFFF1111111107F60003E70119 -S2140274609EFD8000CE87AF90020000AF00000006AF -S214027470F202BEFFFF20EC4227F22F50007F20ECE4 -S214027480427FF202BFFB6F208F000000008F0000D9 -S21402749000008F000000008F2BFEB3008FEC78EF09 -S2140274A0308FA0001EC08F200007F18F000005F36A -S2140274B08F200007F18FA0001ED08FEC78EF308E61 -S2140274C02BFEB300003AEFC4004FD87CF40DD00078 -S2140274D00713F60000004F30000003F60000000D10 -S2140274E0D00006104FD77CF4003AEFC4000000002C -S2140274F001F700000001F700000001F7003BFFA3C0 -S214027500F704FD87CEF70ED0000BF73F600003F7B7 -S2140275104F300001F73F500003F70EC0000AF70491 -S214027520FC65BEF7003BFFB2F7003BFEA20004FC80 -S21402753067EE200EC0001EA03F500007F04FFFFF70 -S214027540FFF13F722222200EC000020004FD87AF28 -S21402755050003AEFD600005DFC002FB57004F30031 -S2140275600CFFFFA048F753005F300005F300005FF2 -S214027570300005F300005F300005F300005F3000C6 -S214027580003BFFB2E904FE87CFF90ED1000AF93FAD -S214027590600001F94F400000F93F600001F90ED08B -S2140275A00009F904FD87CFF8003BFFB3F70000009F -S2140275B005F409E977AFB0017CFFD8008F00000020 -S2140275C008F00000008F00000008F2BFEA108FFBF0 -S2140275D089FD08F80006F48F10001F78F00000F806 -S2140275E08F00000F88F00000F88F00000F88F00070 -S2140275F000F89E1AF20008F08F08F08F08F08F0845 -S214027600F08F08F00007E20009F30000000007F11F -S2140276100007F10007F10007F10007F10007F1008B -S21402762007F10007F10007F10008F0186EC03EFCF3 -S214027630208F00000008F00000008F00000008F015 -S214027640001DD18F001DE208F01DE2008F2DF30011 -S21402765008FEFF70008FE2BF3008F201EE108F00C6 -S21402766003FB08F00007F78F8F8F8F8F8F8F8F8F18 -S2140276708F8F8F8E3CFE913BFEA208FF969FCFC651 -S2140276808FD08F70009FC0005F58F10005F6000192 -S214027690F78F00004F40000F88F00004F40000F857 -S2140276A08F00004F40000F88F00004F40000F88FAF -S2140276B000004F40000F808E3BFEA108FFA68FD031 -S2140276C08F80006F48F10001F78F00000F88F000EE -S2140276D000F88F00000F88F00000F88F00000F807F -S2140276E0003BEFC40004FD87CF600ED0000BF13FD5 -S2140276F0600003F54F300001F73F600003F50ED03F -S214027700000BF104FD77CF60003BEFC4008E3BFE1A -S214027710B3008FFB57DF308F90000DC08F1000072D -S214027720F18F000005F38F200007F18FA0001ED016 -S2140277308FEC78EF308F2BFEB3008F000000008FA7 -S214027740000000008F00000000003BFFA2F704FDCF -S21402775087DEF70ED0000BF73F600003F74F3000CE -S21402776001F73F600003F70ED0000BF704FD77CE5B -S214027770F7003BFFA3F700000001F700000001F747 -S21402778000000001F78E2BF08FED908FA0008F2067 -S214027790008F00008F00008F00008F00008F000017 -S2140277A002AEFD911ED769D04F3000002FB41000F4 -S2140277B006EFFD6000015BF5010000F75FA76BF3C3 -S2140277C019DFEC4005F300005F3000CFFFFA048FAC -S2140277D0753005F300005F300005F300005F3000EF -S2140277E004F400001FC680005DFC10AE00002F5A95 -S2140277F0E00002F5AE00002F5AE00002F5AE0000EF -S2140278002F59F00004F56F3000AF51EE76BFF50247 -S214027810BEFB3F500DC00000CB06F20002F500F999 -S2140278200009E0009E000F80002F606F10000CC061 -S214027830CB000005F6F4000000EFD00000008F70C9 -S21402784000BB00009F10004F16F1000EF60009C0A4 -S2140278500F6005FCB000F600AC00AB5F105F1005D1 -S214027860F10F50F70AB0000F76F009C0F50000AC31 -S214027870BA004F8F000004FF4000EFA000000EE0A9 -S2140278800008F400004F70009F208F305F5000CD3C -S2140278902E900002FFD000000AF6000004FDE10070 -S2140278A001EB0DC000BE103F806F40007F400DC050 -S2140278B00000CB06F30002F400EA0009D0008F10A5 -S2140278C01F70001F707F10000AE0D9000003F9F253 -S2140278D0000000CFB00000006F40000000AD0000C6 -S2140278E01C79F500001AEE7000004FFFFFF91555DF -S2140278F05BF400004F800001EC00000BE100008FFB -S214027900400004F700001EE555535FFFFFFC002C05 -S214027910F500AF6100CC0000DB0000DB0000DB00FE -S21402792002EA001FF40005FA0000DB0000DB00009C -S214027930DB0000CC0000AF61002CF55F15F15F158F -S214027940F15F15F15F15F15F15F15F15F15F15F146 -S2140279505F10BE8003AF4001F6001F7001F7001FE4 -S2140279607000F9000AFB00FB201F7001F7001F7071 -S21402797001F603AF40BE900000000000003DE400A8 -S214027980B50C86F51E20F003EF90020000100002F0 -S214027990CE900D40893B000E3B000E0D408902CE74 -S2140279A0900008F8EFE7F700000000000000000073 -S2140279B0000000000049DC0000000016BFFFFF00C8 -S2140279C000038DFFFFFFFF0000CFFFFFFFFFFF005A -S2140279D000FFFFFFFFC7FF0000FFFFEA5100FF00A6 -S2140279E000FF83000000FF0000FF00000000FF0011 -S2140279F000FF00000000FF0000FF00000000FF0084 -S214027A0000FF00002BFFFF0000FF0000DFFFFF2B40 -S214027A10FFFF0000DFFFFDDFFFFF00002BFFB2DFEE -S214027A20FFFD00000000002BFFB20000000000D0A7 -S214027A300FFFFFFFFFF00DFFFFC888888CFFFFF0E7 -S214027A400F80000008F00FF00F80000008F00FFF14 -S214027A50FF80000008FFFFF00FECCCCCCEF00FF05A -S214027A600FECCCCCCEF00FFFFF80000008FFFFF03B -S214027A700F80000008F00FF00F80000008F00FFFE4 -S214027A80FFC888888CFFFFD00FFFFFFFFFF00DDFD7 -S214027A90FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFFD7 -S214027AA0FFA5FFFFFFFFFFDFFF73FFFFFFFFFD00E6 -S214027AB000000000000000DFFF73FFFFFFFFFDFF76 -S214027AC0FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDF93 -S214027AD0FF73FFFFFFFFFD0000000000000000DF55 -S214027AE0FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFF87 -S214027AF0FFA5FFFFFFFFFFDFFF73FFFFFFFFFD0096 -S214027B0000000000000AB1000000000000BFFC00F8 -S214027B10000000000BFFFB0000000000BFFFC01BC0 -S214027B20A000000BFFFC00CFFB0000BFFFC000BFA1 -S214027B30FFB00BFFFC00000CFFFBBFFFC000000005 -S214027B40CFFFFFFB000000000CFFFFB000000000AC -S214027B5000BFFB0000000000000BB00000000003A6 -S214027B600000000308FC10001CF8FFFC101CFFF5C8 -S214027B70FFFC2CFFF505FFFFFFF50005FFFFF500F4 -S214027B80001DFFFD10001CFFFFFC101CFFF9FFFC90 -S214027B901CFFF505FFFCDFF50005FFD1A40000047D -S214027BA0A10000004FE00000000002106FF1031079 -S214027BB000005FD06FF13FD10003FFF16FF15FFD70 -S214027BC0000DFF406FF109FF704FF7006FF100CF15 -S214027BD0E09FF0006FF1005FF3BFC0006FF1002F6F -S214027BE0F5BFC0004FE0001FF6AFE0000000004FF8 -S214027BF0F46FF400000000AFF00FFE10000005FF67 -S214027C00A006FFD300007FFF20009FFFDABEFFF42E -S214027C10000006FFFFFFFD3000000017BDCA50003F -S214027C20000000008BB8000000000000FFFF00000C -S214027C3000003006FFFF60030004FDDFFFFFFDEFDC -S214027C40400DFFFFFFFFFFFFD04FFFFFF99FFFFF33 -S214027C50F408FFFF2002FFFF8000FFF900009FFFED -S214027C600000FFF900009FFF0008FFFF2002FFFF51 -S214027C70804FFFFFF99FFFFFF40DFFFFFFFFFFFF9F -S214027C80D004FEDFFFFFFDDF40003006FFFF60038B -S214027C9000000000FFFF0000000000008BB800009C -S214027CA00000000003DD303FF3000000006FFFF528 -S214027CB04FF400000009FF99FFBFF4000001BFF671 -S214027CC0226FFFF400002DFE35FF53EFF40004FF91 -S214027CD0C18FFFF82DFE407FFA1AFFFFFFA1AFF714 -S214027CE0CF82DFFFFFFFFD28FC140EFFFFFFFFFF22 -S214027CF0E041000FFFFFFFFFFFF000000FFFF9005B -S214027D008FFFF000000FFFF8008FFFF000000FFF5C -S214027D10F8008FFFF000000EFFF6006FFFE0000095 -S214027D200000DFFD000000000000FFFF0000000072 -S214027D300000FFFF000000000000FFFF0000000040 -S214027D400000FFFF000000000000FFFF0000000030 -S214027D504FFFFFFFFFF400000BFFFFFFFFB0000026 -S214027D6000BFFFFFFB000000000BFFFFB00000009B -S214027D700000BFFB000000DFFFFC1BB1CFFFFDFFD2 -S214027D80FFFFC22CFFFFFFFFFFFFFFFFFFFFFFFF0C -S214027D90FFFFFFFFF0E0FFDFFFFFFFFFFFFFFD003B -S214027DA004EFFFFFFFFE4000001EFFFFFFFFFFE1A4 -S214027DB00000AFB00000000BFA0005FF1000000044 -S214027DC001FF501EF600000000006FE1AFB0000099 -S214027DD00000000BFAFFFFFF800008FFFFFFFFFF17 -S214027DE0FFF1001FFFFFFFFFFFFFFFFFFFFFFFFF89 -S214027DF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C -S214027E00FFFF8FFFFFFFFFFFFFFFF8000006BDDA50 -S214027E105002FF0005EFFFFFFE42FF007FFFA77B39 -S214027E20FFF9FF05FFC100002CFFFF0EFC00000259 -S214027E3022DFFF5FF200000FFFFFFF8FB000000F90 -S214027E40FFFFFF000000000000000000000000002E -S214027E50000000FFFFFFF000000BF8FFFFFFF0003E -S214027E60002FF4FFFD22200000CFE0FFFFC200003B -S214027E702CFF40FF9FFFB76AFFF700FF24DFFFFFDC -S214027E80FE5000FF2005ACDB600000000000000092 -S214027E9000008D000008FF00008FFFDFFFFFFFFFDE -S214027EA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFB -S214027EB0FFFFFF00008FFF000008FF0000008D009C -S214027EC00000000000000000000000008D0000001E -S214027ED00008FF000000008FFF0000CFFFFFFF0139 -S214027EE050FFFFFFFF06F7FFFFFFFF00BEFFFFFF8B -S214027EF0FF00AEFFFFFFFF05F8DFFFFFFF02600097 -S214027F00009FFF0000000009FF00000000009E0026 -S214027F100000000000000000000000000006100044 -S214027F200000000000001FD2000000008D000003C9 -S214027F30EE10000008FF000AB12FB000008FFF000D -S214027F4005FC07F4DFFFFFFF02505F60F9FFFFFF4B -S214027F50FF06F70DC0BDFFFFFFFF00AE09F09FFF53 -S214027F60FFFFFF00AE09F08FFFFFFFFF06F70DC011 -S214027F70ADDFFFFFFF02505F60E900008FFF0005E4 -S214027F80FC06F4000008FF000AB12FB00000008DC6 -S214027F90000002EE100000000000001FD2000000E9 -S214027FA0000000000610008FFFFFFFFFFFFFF8FF34 -S214027FB0FCFFFFFFFFFFFFFF202FFFFFFFFFFFFC7F -S214027FC0000CFFFFEEFFFFFF202FFFFE22EFFFFF5A -S214027FD0FCFFFFE2002EFFFFFE4EFE200002FFFF28 -S214027FE0E202C2000000FFFF200000000000FFFFC8 -S214027FF0000000000000FFFFFFFFFFFFFFFFFF8FF4 -S214028000FFFFFFFFFFFFF80000000000FF30000147 -S214028010CCFF40002DFFFF4003EFFFFF403FFFFF76 -S214028020FF44FFFFFFFF9FFFFFFFFFFFFFFFFFFF74 -S214028030FFFFFFFFFFAFFFFFFFFF45FFFFFFFF4012 -S2140280404FFFFFFF4003EFFFFF40002EFFFF300011 -S21402805001CC0000000000000000000000008F912C -S2140280600000000000FFFF7000000000FFFFFD4060 -S214028070000000FFFFFFFA100000FFFFFFFFF700FF -S21402808000FFFFFFFFFFD500FFFFFFFFFFFFB2FF6E -S214028090FFFFFFFFFFFDFFFFFFFFFFFFFDFFFFFFED -S2140280A0FFFFFFB2FFFFFFFFFFD500FFFFFFFFF757 -S2140280B00000FFFFFFFA100000FFFFFD4000000077 -S2140280C0FFFF70000000008EA1000000000000000C -S2140280D00000000000000000000000008FFFF80013 -S2140280E08FFFF8FFFFFF00FFFFFFFFFFFF00FFFF0E -S2140280F0FFFFFFFF00FFFFFFFFFFFF00FFFFFFFF87 -S214028100FFFF00FFFFFFFFFFFF00FFFFFFFFFFFF76 -S21402811000FFFFFFFFFFFF00FFFFFFFFFFFF00FF65 -S214028120FFFFFFFFFF00FFFFFFFFFFFF00FFFFFF56 -S214028130FFFFFF00FFFFFF7FFFF7007FFFF78FFFC6 -S214028140FFFFFFFFF8FFFFFFFFFFFFFFFFFFFFFF3F +S2140261F000000000200000005F0001000000000018 +S2140262000000000000000000B0000000F3F760008D +S2140262101C620200000000003B0002000000721F29 +S21402622051EF58EF5BEF5CEF5DEF61EF63EF65EF09 +S21402623069EF6CEF71EF76EF77EF78EF8EEF98EF0E +S2140262409BEF9CEF9DEFA1EFA2EFA3EFA4EFB7EFBA +S214026250B8EFBEEFC0EFC1EFC4EFC7EFC8EFC9EFAC +S214026260CBEFE3EFE5EF14F015F017F037F03AF066 +S21402627043F06CF074F0ABF03BF190F191F192F1D7 +S21402628093F194F1D7F1E3F13DF254F2AAF412F746 +S214026290F2F70000000000000000000000005004BA +S2140262A00000000000005004030C0100120040062B +S2140262B0050501071F00400B0B0C00006100F009EA +S2140262C00A1000FEB100800D0D0C0000FF00000B4E +S2140262D00B0D00FF47016003020501074C01600534 +S2140262E0040F01FD6A017005040F00FD88016006B7 +S2140262F007070005A101500908080102C101A00311 +S214026300030500FEC901200606030003D201A0030E +S21402631003030000D701A0050810FFFE1702B00A0B +S2140263200A0C00005302F005050C00007102300949 +S214026330090C0000A7022009090C0000DD02B00AC1 +S2140263400B0C00001F033009090C00005503E0097E +S2140263500A0C000091039009090C0000C703500ABA +S2140263600A0C00000304E0090A0C00003F04A00324 +S214026370030900004D04A003030C00FD5F0450094E +S214026380080801027F045009080601039704500911 +S21402639008080102B7043009090C0000ED04901049 +S2140263A0100F00FD6505B00B0D0CFF00B305200CA9 +S2140263B00B0C0100F505900B0B0C00003706300D98 +S2140263C00C0C01007F06C00A090C0100B506300A53 +S2140263D0090C0100EB06600C0C0C00003307000DE4 +S2140263E00B0C01007507F004030C01008707300848 +S2140263F0080CFF00B707800B0B0C0100F907800999 +S214026400090C01002F08400F0D0C01007D08000D3D +S2140264100B0C0100BF08700D0D0C00000D09900B4F +S2140264200A0C01004909700D0E0F00FDB209A00BFF +S2140264300A0C0100EE09F0090A0C00002A0A60099B +S2140264400A0C0000660AA00C0B0C0100A80A600BDE +S2140264500D0CFF00F60A0012120C0000620BC00AB6 +S2140264600B0C0000A40B600A0C0CFF00EC0B800A5D +S2140264700B0C00002E0C5005050F01FD540CA00558 +S2140264800810FFFE940C5005040F00FDB20C5009D4 +S21402649008070102CE0C0008080200FED60CA0096E +S2140264A00502010ADB0C900909090000040DF00A36 +S2140264B00A0C0100400D200909090000690DF00AC6 +S2140264C00A0C0000A50DD0090A090000D20DA0058D +S2140264D0070C0000FC0D100B0A0C00FD380EE00A3B +S2140264E0090C01006E0E7004030C0100800E90046D +S2140264F0060FFEFDAD0EE009090C0100E30E700466 +S214026500020C0100EF0EF0100F090100330FE00A33 +S214026510090901005C0F300A0A090000890FF00A17 +S2140265200A0C01FDC50FF00A0A0C00FD01109006C8 +S214026530060901001C100008080900004010A00609 +S214026540070B00006710D00A090901009010F00836 +S2140265500A09FF00BD10600E0F0900000111D008E5 +S214026560090900002A11F0080A0CFFFD66115008FE +S214026570080900008A11A005060F00FDB711D00415 +S214026580030F01FDCE11A005050F00FDF411500901 +S214026590090500040B12B006060600061D120005C9 +S2140265A00304010323120010101100FEAB120010A8 +S2140265B0100C00000B130010100E00FF7B130010CF +S2140265C0100C0000DB13000B0B0C00001D14001057 +S2140265D0101000FE9D140010101000FE1D15001273 +S2140265E0120E00FF9B150010101000FE1B16001264 +S2140265F0120C000087160010101000FE0717000885 +S214026600080E00FF3F17000C0C0E00FF9317001237 +S214026610121000FE23180010100C00008318000E43 +S2140266200A1002FED318000E0E1200FD5119000EBB +S2140266300E0F00FFBA19000E0E0E00FF1C1A000EF7 +S2140266400A1002FE6C1A000E100EFFFFDC1A000A79 +S2140266500A0E00FF221B000A0A0E00FF681B000E2D +S2140266600E0E00FFCA1B000E0E040004E61B0012EC +S214026670120C0000521C0014141000FEF21C001231 +S2140266801410FFFE921D0010101000FE121E000EC7 +S2140266900E0A0001581E000E0E0A00019E1E00146D +S2140266A0140E00FF2A1F0010100C00008A1F001094 +S2140266B0101000FE0A2000101111FFFE9B20000E93 +S2140266C00F0E00FF0421000E0E1000FE7421000EB5 +S2140266D00E0E00FFD621000A0C10FFFE3622000E18 +S2140266E00E1000FEA622000E0E1000FE162300124A +S2140266F0120C0000822300101212FFFD2424000C4C +S2140267000C1000FE84240014140F00FF1A25001437 +S214026710140A00017E250014140A0001E225001462 +S214026720140A000146260014140A0001AA260014C0 +S214026730140A00010E270014150E00FFA127000EF2 +S2140267400C1001FE0128000E0E1000FE712800102B +S2140267501111FFFD02290014140C00007A29000C06 +S2140267600C1000FEDA292010110B0001BF0BF0AF4F +S2140267700AE09E08D08C07C0000010BF1AE0F51F82 +S2140267803F51F3E40F3E40F27208100005C003E0EA +S21402679000007A005C0000098007A001FFFFFFFFEF +S2140267A0FD033E733C833000F200C500000F100E5E +S2140267B0300002F000F2009FFFFFFFFF4138C336B1 +S2140267C0E3300089005C00000A7007A00000007930 +S2140267D000000000790000005CFFE92006FCBC9E79 +S2140267E0900EB07900100F807900000DF579000048 +S2140267F003EFFD50000006CFFE400000795EF10078 +S214026800007905F307007907F12FE9BCAFA003AEC4 +S214026810FFD7000000790000000079000003DE8048 +S2140268200005D000E40C5001E3004C005A00A90019 +S21402683006A004C04E00004C005A0D500000E41C96 +S21402684058A0000003CE73E13CE9000000D60E40DB +S214026850A800007C03C003D0002E203C003D000BA5 +S2140268607000E2098006D00004DDA00009EFB10046 +S2140268700009E43CA00000D9007D00000CC01CA06A +S21402688000003FAEC1000001DFC0000003EB8F70C6 +S2140268901800DB007F65F03F40008FEA03F7000038 +S2140268A0CF700BF966CFBF4008DFEA30A5000000C4 +S2140268B0000000F5F5E4E47200DA05F20BC00F7092 +S2140268C03F405F206F107F006F105F203F400F70C9 +S2140268D00BC005F200DA3F300CB006F101F600E913 +S2140268E000BC00AD00AE00AD00BC00E901F606F14A +S2140268F00CB03F30004A000674A4A02BFFE5007FD0 +S214026900FB207B6B8D0004A0000013000000051026 +S21402691000000F5000000F5000011F5110EFFFFF44 +S214026920F3344F7440000F5000000F50000952FD20 +S2140269300BA0C50F000111101FFFF3044440031201 +S214026940FC1E90000005F100000AB000000F600077 +S214026950005F100000AB000000F6000005F100002A +S2140269600AB000000F6000004F100000AC000000EC +S214026970F6000004F100000AC000000E6000004F9E +S2140269801000000008EFC50000CFA8CF7007F50082 +S2140269900AF20DC00001F81F800000DC3F60000014 +S2140269A0BD3F600000BD1F800000DC0DC00001F886 +S2140269B007F5000AF200CFA8CF700008EFC500EF77 +S2140269C0FF367AF3005F3005F3005F3005F3005FB1 +S2140269D03005F3005F3005F3005F3005F304BEFDBB +S2140269E07007FD98CF90280000BF00000007F20055 +S2140269F00000AF0000004F8000003FC000003EC114 +S214026A0000002EC100002ED100002EF8777746FF38 +S214026A10FFFFFA6FFFFFFF0277779FB000000CE1DF +S214026A20000009F3000005F6000000DFE91000048C +S214026A3059FD00000006F40000003F64400008F321 +S214026A40BFC98CFB007CFFD700000001EB000000F2 +S214026A5000BE100000006F500000002F90000000E3 +S214026A600CD000000008F301D50003F8002F6000E8 +S214026A70ED2223F7216FFFFFFFFF81555556F9528E +S214026A800000002F6000000002F60005FFFFFF0076 +S214026A907F77777008E0000000AD0000000BC210A0 +S214026AA00000DFFFFB30045568FF20000004F800FA +S214026AB000000F92500005F68FD98AFD105BEFE9B1 +S214026AC0100005CEFC60009FC88B7005F800000021 +S214026AD00CD00000001F800000002F68EFFA103F65 +S214026AE0EE648FD02FF10006F40EC00002F609F114 +S214026AF00006F301DE869FB00019EFD8008FFFFF75 +S214026B00FFE8F77777FC8F00004F5590000BE00008 +S214026B100002F80000009F1000000FB0000006F40C +S214026B20000000DD0000003F7000000AF1000001D6 +S214026B30F90000005CFFD70006FC76AFA00CD00080 +S214026B4009F10DC00007F207F7115EC000BFFFFE95 +S214026B501009F9547ED02F800004F64F500000F83A +S214026B601FA00005F609FB76AFD0006CFFD8100018 +S214026B708EFD80000CF868FC005F50003F708F00AE +S214026B80000EC07F30001FF01FD413CFF104EFFFBA +S214026B90A9F00002310AF00000000EA00000009FDB +S214026BA03009A78DF70007DFEB40001E92FC0310AA +S214026BB0000000000312FC1E901E92FC0310000050 +S214026BC000000001E91FD0A80E30A000000042001D +S214026BD0017DF3039FE810BFB50000EE81000017A9 +S214026BE0DFB4000004AFD200000182EFFFFFF345DE +S214026BF05555510000000001111110EFFFFFF3344C +S214026C0044444050000000EF92000006CFB500005A +S214026C10039FE200006CF3029EE920BFC6000093C9 +S214026C2000000004BEFD7007FC77BFA0270000CF5F +S214026C3000000009F0000001EA000001DD1000007B +S214026C40CE1000003F60000001300000000100008E +S214026C500006F50000005F4000000017CEFDB500FC +S214026C60000005FB53237DC200006E400000008E2C +S214026C701002F401AEFA3F49B00A901EE65BEF40FE +S214026C80E30F308F1000AF40981F00D900003F403E +S214026C906A3F00E800001F405C1F00D900003F402A +S214026CA06A0F308F1000AF40980A901ED65ADEA6A2 +S214026CB0F203F301AFFA16EE50006E400000000039 +S214026CC0000006FB5323750000000017CEFDA3004C +S214026CD000000002FD00000000009FF4000000001B +S214026CE00F9EB000000006F27F20000000DC01F8D4 +S214026CF00000004F600BE000000BF0004F60000148 +S214026D00FA1111ED00008FFFFFFFF3000EC444449A +S214026D104FA006F4000000AF10CD00000002F85F9E +S214026D20FFFFEB4005F85557DF405F400001FA05CC +S214026D30F400000FA05F51113AF405FFFFFFFA00BE +S214026D405F744459FA05F4000008F25F4000005FE1 +S214026D5045F4000009F25F85556AFB05FFFFFFD781 +S214026D600000028DFEB40004FFB89DF902FD20006B +S214026D700850BF200000000FA000000002F600002E +S214026D8000002F6000000000FA000000000BF20076 +S214026D900000002FD2000085005FFB89DF800029FB +S214026DA0DFEB405FFFFFEA30005F97779EF8005FF9 +S214026DB0400000AF605F4000000DE05F400000064C +S214026DC0F45F40000003F65F40000003F65F4000F9 +S214026DD00006F45F4000000DE05F400000AF605F19 +S214026DE097779EF8005FFFFFEA30005FFFFFFF9590 +S214026DF0F97777745F40000005F40000005F5111D8 +S214026E001105FFFFFFE05F74444405F40000005FD5 +S214026E1040000005F40000005F97777765FFFFFFEC +S214026E20FD5FFFFFFF95F97777745F40000005F47A +S214026E300000005F40000005F52222105FFFFFFE03 +S214026E4005F85555405F40000005F40000005F401D +S214026E50000005F400000000018DFEB500004FFBA7 +S214026E6089DFB002FD200006600BF2000000000F72 +S214026E70A0000000002F60000000002F6000000944 +S214026E80F00FA0000009F00BF2000009F002FD204E +S214026E90000AF0004FFB89DFC000028DFEC6005FCD +S214026EA04000004F55F4000004F55F4000004F55C7 +S214026EB0F4000004F55F5222225F55FFFFFFFFF544 +S214026EC05F8555558F55F4000004F55F4000004F6E +S214026ED055F4000004F55F4000004F55F40000042E +S214026EE0F55F45F45F45F45F45F45F45F45F45F4AE +S214026EF05F45F400FFFFFA007777FA000000FA0019 +S214026F000000FA000000FA000000FA000000FA0092 +S214026F100000FA000000F9072003F60DE98EF101E1 +S214026F20AEFB305F400002EB05F40001EC005F4070 +S214026F3001DE1005F400CE20005F40BF300005F4ED +S214026F409F9000005FCFEF400005FF91EE10005FBC +S214026F50A003FC0005F40006F8005F400009F505F2 +S214026F60F400000CF25F40000005F40000005F40F1 +S214026F70000005F40000005F40000005F400000079 +S214026F805F40000005F40000005F40000005F400CA +S214026F9000005F97777725FFFFFFF55F4000000050 +S214026FA01E95FC00000008F95FF5000002FF95FD43 +S214026FB0E00000AEF95F5F70003F5F95F38F100B45 +S214026FC0C0F95F31E904F30F95F307F2DB00F95FCE +S214026FD0300DEF200F95F3005F9000F95F300071DF +S214026FE0000F95F300000000F95F5000004F55FFB8 +S214026FF0200004F55FFD00004F55FAF90004F55F26 +S2140270004AF5004F55F40DF204F55F402FD04F5568 +S214027010F4006F94F55F4000AFAF55F40000DFF563 +S2140270205F400002FF55F4000006F500018DFEB534 +S214027030000004FFB89EFA0002FD200008F900BF17 +S2140270402000000AF20FA00000003F72F6000000C7 +S21402705000F92F600000000F90FA00000003F70B03 +S214027060F2000000AF202FD200008F90004FFB8965 +S214027070EFA0000028DFEB50005FFFFFD7005F970E +S21402708078BFC05F400007F65F400000FA5F40002E +S21402709000FA5F400003F85F62236EF15FFFFFFDB8 +S2140270A0305F855420005F400000005F4000000013 +S2140270B05F4000000000018DFEB50000004EFB8917 +S2140270C0EFA00002FD200008F9000AF2000000AF5F +S2140270D0200FA00000003F702F600000000F902FCE +S2140270E0600000000F901F900000002F700BF10050 +S2140270F00000AF2003FC100007F900006FFA78DFEB +S214027100B0000003AEFFC500000000003ED415B07C +S21402711000000002BFFF80000000000131005FFF98 +S214027120FFD7005F9778BFC05F400007F65F40005A +S21402713000FA5F400000FA5F400003F85F52236ED9 +S214027140E15FFFFFFC305F8555F9005F40007F403E +S2140271505F40000CE05F400002F9005CEFD92007B8 +S214027160FC87AF900EC00001100F800000000DF5E6 +S21402717000000003EFEA50000005AEFE40000000EB +S2140271804EF100000005F308000008F22FFA77BF60 +S214027190A0029DFFC700FFFFFFFFF56778FB77722F +S2140271A00001F700000001F700000001F7000000F0 +S2140271B001F700000001F700000001F700000001DF +S2140271C0F700000001F700000001F700000001F7D9 +S2140271D000006F3000008F16F3000008F16F3000D9 +S2140271E0008F16F3000008F16F3000008F16F300D0 +S2140271F00008F16F3000008F05F4000009F03F70C0 +S2140272000000CD00DE20005F8004FFA8BFD0000390 +S214027210BEFD81000CE00000006F306F5000000CD5 +S214027220C000FB000003F60009F20000AE00002FCB +S21402723080001F900000CE0007F2000005F600DB7B +S2140272400000000EC04F500000008F3BE000000020 +S21402725002FBF8000000000BFF10000000004FB019 +S21402726000005F400000DF000002F50F900002FF02 +S214027270400007F00BE00007FE90000CB006F3009B +S2140272800CAAE0001F6001F8001F54F3006F100004 +S214027290CD007F10F800CC00007F20CB00AD01F7B8 +S2140272A000002F71F6005F26F200000DC6F1000FF7 +S2140272B07BD0000008FDC0000BDF80000003FF70DB +S2140272C00006FF30000000EF200001FE00003F90A5 +S2140272D00000CD008F40007F3000DE102F800003BC +S2140272E0FA0CD0000007FBF30000000CF8000000C8 +S2140272F001EFC0000000BF7F7000006F60AF20008B +S2140273002FB001ED000CF10004F807F6000009F3B7 +S2140273100CE0000007F203F700001F9000AF100019 +S2140273209E10001FA002F6000008F30BD00000001B +S214027330EC4F400000005FFB000000000CF2000073 +S214027340000009F00000000009F00000000009F04B +S2140273500000000009F000003FFFFFFFFD01777705 +S21402736077BF900000001EC00000000CF200000074 +S21402737008F500000004F900000001EC000000001F +S214027380CF200000008F500000004F900000001E2B +S214027390F877777705FFFFFFFFF05FFF05F7505F8F +S2140273A03005F3005F3005F3005F3005F3005F3011 +S2140273B005F3005F3005F3005F3005F7505FFF000E +S2140273C07E0000001F4000000C90000007E0000056 +S2140273D002F4000000C90000007E0000002F4000FA +S2140273E0000C90000007E0000002F3000000D90045 +S2140273F000007E0000002F3000000D90000007E025 +S214027400BFFA35EA00EA00EA00EA00EA00EA00EA21 +S21402741000EA00EA00EA00EA00EA35EABFFA002FCC +S2140274208000009DE00000F3D50006D07B000C60D3 +S2140274301F203F100B809A0004E0FFFFFFFF111190 +S214027440111107F60003E7019EFD8000CE87AF907C +S214027450020000AF00000006F202BEFFFF20EC4270 +S21402746027F22F50007F20EC427FF202BFFB6F20F4 +S2140274708F000000008F000000008F000000008FC9 +S2140274802BFEB3008FEC78EF308FA0001EC08F204B +S2140274900007F18F000005F38F200007F18FA00090 +S2140274A01ED08FEC78EF308E2BFEB300003AEFC47E +S2140274B0004FD87CF40DD0000713F60000004F30C2 +S2140274C0000003F60000000DD00006104FD77CF433 +S2140274D0003AEFC40000000001F700000001F700C8 +S2140274E0000001F7003BFFA3F704FD87CEF70ED09E +S2140274F0000BF73F600003F74F300001F73F5000E4 +S21402750003F70EC0000AF704FC65BEF7003BFFB2A5 +S214027510F7003BFEA20004FC67EE200EC0001EA091 +S2140275203F500007F04FFFFFFFF13F722222200E6E +S214027530C000020004FD87AF50003AEFD600005D9F +S214027540FC002FB57004F3000CFFFFA048F75300B1 +S2140275505F300005F300005F300005F300005F3087 +S2140275600005F300005F3000003BFFB2E904FE872F +S214027570CFF90ED1000AF93F600001F94F40000032 +S214027580F93F600001F90ED00009F904FD87CFF833 +S214027590003BFFB3F700000005F409E977AFB0013E +S2140275A07CFFD8008F00000008F00000008F00006B +S2140275B00008F2BFEA108FFB89FD08F80006F48F78 +S2140275C010001F78F00000F88F00000F88F000000F +S2140275D0F88F00000F88F00000F89E1AF20008F0FC +S2140275E08F08F08F08F08F08F08F08F00007E2008F +S2140275F009F30000000007F10007F10007F1000799 +S214027600F10007F10007F10007F10007F10007F1AA +S2140276100008F0186EC03EFC208F00000008F00044 +S21402762000008F00000008F0001DD18F001DE20848 +S214027630F01DE2008F2DF30008FEFF70008FE2BF00 +S2140276403008F201EE108F0003FB08F00007F78FF8 +S2140276508F8F8F8F8F8F8F8F8F8F8F8E3CFE913B6A +S214027660FEA208FF969FCFC68FD08F70009FC000E5 +S2140276705F58F10005F60001F78F00004F40000F3B +S21402768088F00004F40000F88F00004F40000F88D6 +S214027690F00004F40000F88F00004F40000F808EC8 +S2140276A03BFEA108FFA68FD08F80006F48F1000135 +S2140276B0F78F00000F88F00000F88F00000F88F0A8 +S2140276C00000F88F00000F80003BEFC40004FD8727 +S2140276D0CF600ED0000BF13F600003F54F30000183 +S2140276E0F73F600003F50ED0000BF104FD77CF6084 +S2140276F0003BEFC4008E3BFEB3008FFB57DF308F9C +S21402770090000DC08F100007F18F000005F38F2048 +S2140277100007F18FA0001ED08FEC78EF308F2BFE83 +S214027720B3008F000000008F000000008F000000F2 +S21402773000003BFFA2F704FD87DEF70ED0000BF732 +S2140277403F600003F74F300001F73F600003F70E7B +S214027750D0000BF704FD77CEF7003BFFA3F700003F +S2140277600001F700000001F700000001F78E2BF081 +S2140277708FED908FA0008F20008F00008F00008F6B +S21402778000008F00008F000002AEFD911ED769D068 +S2140277904F3000002FB4100006EFFD6000015BF5CD +S2140277A0010000F75FA76BF319DFEC4005F300005A +S2140277B05F3000CFFFFA048F753005F300005F30AC +S2140277C00005F300005F300004F400001FC68000CE +S2140277D05DFC10AE00002F5AE00002F5AE00002F4E +S2140277E05AE00002F5AE00002F59F00004F56F30A3 +S2140277F000AF51EE76BFF502BEFB3F500DC0000053 +S214027800CB06F20002F500F90009E0009E000F80A8 +S214027810002F606F10000CC0CB000005F6F40000CD +S21402782000EFD00000008F7000BB00009F10004FDA +S21402783016F1000EF60009C00F6005FCB000F60057 +S214027840AC00AB5F105F1005F10F50F70AB0000FE7 +S21402785076F009C0F50000ACBA004F8F000004FFB6 +S2140278604000EFA000000EE00008F400004F700099 +S2140278709F208F305F5000CD2E900002FFD0000078 +S2140278800AF6000004FDE10001EB0DC000BE103F49 +S214027890806F40007F400DC00000CB06F30002F46C +S2140278A000EA0009D0008F101F70001F707F1000C2 +S2140278B00AE0D9000003F9F2000000CFB000000091 +S2140278C06F40000000AD00001C79F500001AEE7053 +S2140278D000004FFFFFF915555BF400004F800001D2 +S2140278E0EC00000BE100008F400004F700001EE5EC +S2140278F055535FFFFFFC002CF500AF6100CC000083 +S214027900DB0000DB0000DB0002EA001FF40005FAE1 +S2140279100000DB0000DB0000DB0000CC0000AF61F3 +S214027920002CF55F15F15F15F15F15F15F15F15F3C +S21402793015F15F15F15F15F15F10BE8003AF4001D0 +S214027940F6001F7001F7001F7000F9000AFB00FB2B +S214027950201F7001F7001F7001F603AF40BE9000B3 +S21402796000000000003DE400B50C86F51E20F00382 +S214027970EF90020000100002CE900D40893B000EF0 +S2140279803B000E0D408902CE900008F8EFE7F700A4 +S2140279900000000000000000000000000049DC00BB +S2140279A000000016BFFFFF0000038DFFFFFFFF0071 +S2140279B000CFFFFFFFFFFF0000FFFFFFFFC7FF0034 +S2140279C000FFFFEA5100FF0000FF83000000FF00F7 +S2140279D000FF00000000FF0000FF00000000FF00A4 +S2140279E000FF00000000FF0000FF00002BFFFF006A +S2140279F000FF0000DFFFFF2BFFFF0000DFFFFDDFC1 +S214027A00FFFF00002BFFB2DFFFFD00000000002B8F +S214027A10FFB20000000000D00FFFFFFFFFF00DFFD7 +S214027A20FFC888888CFFFFF00F80000008F00FF078 +S214027A300F80000008F00FFFFF80000008FFFFF035 +S214027A400FECCCCCCEF00FF00FECCCCCCEF00FFF80 +S214027A50FF80000008FFFFF00F80000008F00FF024 +S214027A600F80000008F00FFFFFC888888CFFFFD049 +S214027A700FFFFFFFFFF00DDFFF73FFFFFFFFFDFFAE +S214027A80FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDFD3 +S214027A90FF73FFFFFFFFFD0000000000000000DF95 +S214027AA0FF73FFFFFFFFFDFFFFA5FFFFFFFFFFFFC7 +S214027AB0FFA5FFFFFFFFFFDFFF73FFFFFFFFFD00D6 +S214027AC000000000000000DFFF73FFFFFFFFFDFF66 +S214027AD0FFA5FFFFFFFFFFFFFFA5FFFFFFFFFFDF83 +S214027AE0FF73FFFFFFFFFD0000000000000AB10069 +S214027AF00000000000BFFC00000000000BFFFB00BF +S214027B0000000000BFFFC01BA000000BFFFC00CF60 +S214027B10FB0000BFFFC000BFFFB00BFFFC00000C65 +S214027B20FFFBBFFFC0000000CFFFFFFB000000000E +S214027B300CFFFFB00000000000BFFB0000000000CA +S214027B40000BB000000000030000000308FC100059 +S214027B501CF8FFFC101CFFF5FFFC2CFFF505FFFFD1 +S214027B60FFF50005FFFFF500001DFFFD10001CFFDE +S214027B70FFFC101CFFF9FFFC1CFFF505FFFCDFF500 +S214027B800005FFD1A4000004A10000004FE00000A1 +S214027B90000002106FF1031000005FD06FF13FD1BA +S214027BA00003FFF16FF15FFD000DFF406FF109FF6B +S214027BB0704FF7006FF100CFE09FF0006FF1005FAB +S214027BC0F3BFC0006FF1002FF5BFC0004FE0001FEB +S214027BD0F6AFE0000000004FF46FF400000000AFC4 +S214027BE0F00FFE10000005FFA006FFD300007FFF87 +S214027BF020009FFFDABEFFF4000006FFFFFFFD3005 +S214027C0000000017BDCA5000000000008BB800003C +S214027C1000000000FFFF000000003006FFFF6003C8 +S214027C200004FDDFFFFFFDEF400DFFFFFFFFFFFF3C +S214027C30D04FFFFFF99FFFFFF408FFFF2002FFFF70 +S214027C408000FFF900009FFF0000FFF900009FFF81 +S214027C500008FFFF2002FFFF804FFFFFF99FFFFF94 +S214027C60F40DFFFFFFFFFFFFD004FEDFFFFFFDDF87 +S214027C7040003006FFFF600300000000FFFF000028 +S214027C80000000008BB800000000000003DD303F5B +S214027C90F3000000006FFFF54FF400000009FF99A3 +S214027CA0FFBFF4000001BFF6226FFFF400002DFEB6 +S214027CB035FF53EFF40004FFC18FFFF82DFE407F1F +S214027CC0FA1AFFFFFFA1AFF7CF82DFFFFFFFFD2803 +S214027CD0FC140EFFFFFFFFFFE041000FFFFFFFFF58 +S214027CE0FFF000000FFFF9008FFFF000000FFFF813 +S214027CF0008FFFF000000FFFF8008FFFF000000E6D +S214027D00FFF6006FFFE000000000DFFD000000004D +S214027D100000FFFF000000000000FFFF0000000060 +S214027D200000FFFF000000000000FFFF0000000050 +S214027D300000FFFF000000004FFFFFFFFFF40000FF +S214027D400BFFFFFFFFB0000000BFFFFFFB000000BD +S214027D50000BFFFFB00000000000BFFB000000DFCA +S214027D60FFFC1BB1CFFFFDFFFFFFC22CFFFFFFFF93 +S214027D70FFFFFFFFFFFFFFFFFFFFFFFFF0E0FFDF5A +S214027D80FFFFFFFFFFFFFD0004EFFFFFFFFE4000C7 +S214027D90001EFFFFFFFFFFE10000AFB00000000B78 +S214027DA0FA0005FF1000000001FF501EF60000005A +S214027DB000006FE1AFB000000000000BFAFFFFFF0B +S214027DC0800008FFFFFFFFFFFFF1001FFFFFFFFF1E +S214027DD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S214027DE0FFFFFFFFFFFFFFFFFFFF8FFFFFFFFFFF0C +S214027DF0FFFFF8000006BDDA5002FF0005EFFFFFA6 +S214027E00FE42FF007FFFA77BFFF9FF05FFC10000D0 +S214027E102CFFFF0EFC00000222DFFF5FF200000FC5 +S214027E20FFFFFF8FB000000FFFFFFF000000000003 +S214027E300000000000000000000000FFFFFFF0004E +S214027E40000BF8FFFFFFF000002FF4FFFD222000DA +S214027E5000CFE0FFFFC200002CFF40FF9FFFB76A83 +S214027E60FFF700FF24DFFFFFFE5000FF2005ACDB1C +S214027E70600000000000000000008D000008FF0007 +S214027E80008FFFDFFFFFFFFFFFFFFFFFFFFFFFFF8A +S214027E90FFFFFFFFFFFFFFDFFFFFFF00008FFF0078 +S214027EA00008FF0000008D00000000000000000037 +S214027EB0000000008D0000000008FF000000008F98 +S214027EC0FF0000CFFFFFFF0150FFFFFFFF06F7FF97 +S214027ED0FFFFFF00BEFFFFFFFF00AEFFFFFFFF0535 +S214027EE0F8DFFFFFFF026000009FFF0000000009AE +S214027EF0FF00000000009E000000000000000000DE +S214027F0000000000000610000000000000001FD263 +S214027F10000000008D000003EE10000008FF000ABB +S214027F20B12FB000008FFF0005FC07F4DFFFFFFF54 +S214027F3002505F60F9FFFFFFFF06F70DC0BDFFFFAF +S214027F40FFFF00AE09F09FFFFFFFFF00AE09F08FB4 +S214027F50FFFFFFFF06F70DC0ADDFFFFFFF02505F1A +S214027F6060E900008FFF0005FC06F4000008FF0031 +S214027F700AB12FB00000008D000002EE10000000D3 +S214027F800000001FD2000000000000000610008F54 +S214027F90FFFFFFFFFFFFF8FFFCFFFFFFFFFFFFFFF4 +S214027FA0202FFFFFFFFFFFFC000CFFFFEEFFFFFF8F +S214027FB0202FFFFE22EFFFFFFCFFFFE2002EFFFF57 +S214027FC0FE4EFE200002FFFFE202C2000000FFFF9C +S214027FD0200000000000FFFF000000000000FFFF7E +S214027FE0FFFFFFFFFFFFFF8FFFFFFFFFFFFFF80010 +S214027FF000000000FF300001CCFF40002DFFFF40D4 +S21402800003EFFFFF403FFFFFFF44FFFFFFFF9FFF1F +S214028010FFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFB9 +S214028020FFFF45FFFFFFFF404FFFFFFF4003EFFF4D +S214028030FF40002EFFFF300001CC000000000000D1 +S2140280400000000000008F910000000000FFFF709B +S21402805000000000FFFFFD40000000FFFFFFFA10D7 +S2140280600000FFFFFFFFF70000FFFFFFFFFFD50046 +S214028070FFFFFFFFFFFFB2FFFFFFFFFFFFFDFFFF58 +S214028080FFFFFFFFFDFFFFFFFFFFFFB2FFFFFFFF48 +S214028090FFD500FFFFFFFFF70000FFFFFFFA10000B +S2140280A000FFFFFD40000000FFFF70000000008E92 +S2140280B0A100000000000000000000000000000018 +S2140280C0000000008FFFF8008FFFF8FFFFFF00FFA1 +S2140280D0FFFFFFFFFF00FFFFFFFFFFFF00FFFFFFA7 +S2140280E0FFFFFF00FFFFFFFFFFFF00FFFFFFFFFF97 +S2140280F0FF00FFFFFFFFFFFF00FFFFFFFFFFFF0086 +S214028100FFFFFFFFFFFF00FFFFFFFFFFFF00FFFF76 +S214028110FFFFFFFF00FFFFFFFFFFFF00FFFFFF7FE6 +S214028120FFF7007FFFF78FFFFFFFFFFFF8FFFFFF5E +S214028130FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S214028140FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 S214028150FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 S214028160FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 S214028170FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 -S214028180FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 -S214028190FFFFFFFFFFFFFFFFFF8FFFFFFFFFFFF85F -S2140281A00000000000CC100003FFFFD20004FFFF17 -S2140281B0FE3004FFFFFFF404FFFFFFFF54FFFFFF44 -S2140281C0FFF9FFFFFFFFFFFFFFFFFFFFFFFFFFFFBE -S2140281D0F9FFFFFFFF44FFFFFFF304FFFFFE30043B -S2140281E0FFFFD20004FFCC100003FF0000000000D7 -S2140281F00000002DD2000000000001EFFE1000007B -S21402820000001DFFFFD100000000CFFFFFFC0000B2 -S214028210000BFFFFFFFFB00000AFFFFFFFFFFA00FB -S21402822009FFFFFFFFFFFF900FFFFFFFFFFFFFF0BB -S21402823008FFFFFFFFFFFF800000000000000000B5 -S2140282400CFFFFFFFFFFFFC00FFFFFFFFFFFFFF068 -S2140282500FFFFFFFFFFFFFF00CFFFFFFFFFFFFC058 -S2140282600000001A40000001DFF000001DFFA00021 -S21402827001DFFA00001DFFA00001DFFA00000CFF7C -S214028280A000000DFF80000001DFF80000001DFFC7 -S21402829080000001DFF80000001DFF80000001DF03 -S2140282A0F00000001B5004A10000000FFD100000AB -S2140282B00AFFD1000000AFFD1000000AFFD1000047 -S2140282C000AFFD1000000AFFC0000008FFD000004B -S2140282D08FFD100008FFD100008FFD100008FFD1AF -S2140282E000000FFD10000005B1000000000004FFB2 -S2140282F0400000000008FF800000000008FF800029 -S21402830000000008FF800000000008FF8000004810 -S214028310888CFFC88884FFFFFFFFFFFFFFFFFFFF79 -S214028320FFFFFFFF48888CFFC88884000008FF8094 -S2140283300000000008FF800000000008FF80000028 -S214028340000008FF800000000004FF400000144404 -S2140283504444444441EFFFFFFFFFFFFEFFFFFFFFE1 -S214028360FFFFFF7BBBBBBBBBBBB7000005ADFFDAA5 -S2140283705000000004DFFC88CFFD4000007FFE4076 -S2140283800004EFF70007FFF4009E804FFF704FFFD8 -S214028390C000AFF80CFFF4DFFF809AFFFE08FFFD77 -S2140283A0DFFF80EFFFFE08FFFD4FFFC08FFFF80CD8 -S2140283B0FFF407FFF408EE804FFF70007FFE4000D8 -S2140283C004EFF8000004DFFC88CFFD400000000543 -S2140283D0ADFFDA5000008C20000000000000000014 -S2140283E0DFE400000000000000001BFF8049DFFD04 -S2140283F0A5000000007FFFFFD88CFFD40000000419 -S214028400EFF800004EFF700000001CFF69E804FF52 -S214028410F70004E3009FFEFF80CFFF400DFF7005CC -S214028420FFFFE08FFFD00DFFF7002DFFE08FFFD09C -S21402843004FFFC0000AFF8CFFF30007FFF400006CD -S214028440FFFFF7000008FFF400003EFFA000000058 -S2140284504DFFC88201BFF7000000005ADFFC10087B -S214028460FFA000000000000000004EFD000000001B -S2140284700000000002C8000000002DD2000000002C -S21402848000000000BFFB0000000000000005FFFF28 -S214028490500000000000000DFFFFD00000000000AA -S2140284A0007FFFFFF7000000000001FFD88DFF10DD -S2140284B0000000000AFFA00AFFA0000000003FFF25 -S2140284C0B00BFFF300000000CFFFC00CFFFC000063 -S2140284D00005FFFFD00DFFFF5000000EFFFFF99FC3 -S2140284E0FFFFE000008FFFFFE22EFFFFF80002FF13 -S2140284F0FFFF9009FFFFFF100AFFFFFFE33EFFFFAB -S214028500FFA00FFFFFFFFFFFFFFFFFF008FFFFFFC9 -S214028510FFFFFFFFFF8000000000000000000000D9 -S21402852000000000D800000000000000FF80FFFFEF -S214028530700007FFFFF8FFFFF6006FFFFFFD788E63 -S214028540FF15FFE8FFE20002E54FFE20FE200000D6 -S21402855013FFF300520000003FFF310052000002FA -S214028560EFF45E20FE20788EFF51FFE8FFE2FFFF69 -S214028570F6006FFFFFFDFFFF700007FFFFF8000029 -S21402858000000000FF80000000000000D80000008D -S21402859000000000000000000000000000000001D3 -S2140285A0DD10000000001DFFD100000001DFFFFD0E -S2140285B01000001DFF99FFD10001DFF9009FFD109A -S2140285C01DFF900009FFD1BFF90000009FFB5F90DE -S2140285D000000009F5000000000000000000000096 -S2140285E00000005F9000000009F5BFF90000009F40 -S2140285F0FB1DFF900009FFD101DFF9009FFD10006F -S2140286001DFF99FFD1000001DFFFFD100000001DD5 -S214028610FFD10000000001DD100000000000000095 -S214028620000000000000000000000000001DD10055 -S21402863000000000000001DFFD10EFFFFFFFD0008A -S2140286401DFFFFD1AFFFFFFFF000CFCFFCFC000005 -S214028650000FF0006B1FF1B60000000FF000000FD5 -S214028660F0000000000FF000000FF0000000000F06 -S214028670F000000FF00000006B1FF1B6000FF000D4 -S2140286800000CFCFFCFC000FFFFFFFFA1DFFFFD15B -S214028690000DFFFFFFFE01DFFD10000000000000DE -S2140286A0001DD100000000000000000000008FFF47 -S2140286B0FFE200000000FFFFFFFE20000000FFFFB9 -S2140286C0FFFFFFFFFFF8FFFFFFFFFFFFFFFFFFFFBA +S214028180FF8FFFFFFFFFFFF80000000000CC10008B +S21402819003FFFFD20004FFFFFE3004FFFFFFF404DC +S2140281A0FFFFFFFF54FFFFFFFFF9FFFFFFFFFFFF89 +S2140281B0FFFFFFFFFFFFFFFFF9FFFFFFFF44FFFF89 +S2140281C0FFF304FFFFFE3004FFFFD20004FFCC10D3 +S2140281D00003FF00000000000000002DD200000097 +S2140281E0000001EFFE10000000001DFFFFD100009E +S2140281F00000CFFFFFFC0000000BFFFFFFFFB000F8 +S21402820000AFFFFFFFFFFA0009FFFFFFFFFFFF902F +S2140282100FFFFFFFFFFFFFF008FFFFFFFFFFFF80DC +S21402822000000000000000000CFFFFFFFFFFFFC081 +S2140282300FFFFFFFFFFFFFF00FFFFFFFFFFFFFF045 +S2140282400CFFFFFFFFFFFFC00000001A4000000106 +S214028250DFF000001DFFA00001DFFA00001DFFA0F6 +S2140282600001DFFA00000CFFA000000DFF800000F6 +S21402827001DFF80000001DFF80000001DFF80000AB +S214028280001DFF80000001DFF00000001B5004A16B +S2140282900000000FFD1000000AFFD1000000AFFD35 +S2140282A01000000AFFD1000000AFFD1000000AFF18 +S2140282B0C0000008FFD000008FFD100008FFD100AC +S2140282C0008FFD100008FFD100000FFD1000000512 +S2140282D0B1000000000004FF400000000008FF801C +S2140282E00000000008FF800000000008FF80000079 +S2140282F0000008FF80000048888CFFC88884FFFFC3 +S214028300FFFFFFFFFFFFFFFFFFFFFFFF48888CFF17 +S214028310C88884000008FF800000000008FF800074 +S21402832000000008FF800000000008FF8000000038 +S2140283300004FF40000014444444444441EFFFFF5D +S214028340FFFFFFFEFFFFFFFFFFFFFF7BBBBBBBBBCB +S214028350BBB7000005ADFFDA5000000004DFFC8862 +S214028360CFFD4000007FFE400004EFF70007FFF459 +S214028370009E804FFF704FFFC000AFF80CFFF4DF87 +S214028380FF809AFFFE08FFFDDFFF80EFFFFE08FF7B +S214028390FD4FFFC08FFFF80CFFF407FFF408EE80D6 +S2140283A04FFF70007FFE400004EFF8000004DFFC81 +S2140283B088CFFD4000000005ADFFDA5000008C209B +S2140283C00000000000000000DFE4000000000000E3 +S2140283D000001BFF8049DFFDA5000000007FFFFFB5 +S2140283E0D88CFFD400000004EFF800004EFF7000A7 +S2140283F000001CFF69E804FFF70004E3009FFEFF8D +S21402840080CFFF400DFF7005FFFFE08FFFD00DFF0E +S214028410F7002DFFE08FFFD004FFFC0000AFF8CF7F +S214028420FF30007FFF400006FFFFF7000008FFF462 +S21402843000003EFFA00000004DFFC88201BFF7000B +S2140284400000005ADFFC1008FFA000000000000039 +S21402845000004EFD000000000000000002C8000000 +S21402846000002DD20000000000000000BFFB00004C +S214028470000000000005FFFF500000000000000D95 +S214028480FFFFD00000000000007FFFFFF7000000A3 +S214028490000001FFD88DFF10000000000AFFA00AAE +S2140284A0FFA0000000003FFFB00BFFF3000000003B +S2140284B0CFFFC00CFFFC00000005FFFFD00DFFFF42 +S2140284C05000000EFFFFF99FFFFFE000008FFFFF46 +S2140284D0E22EFFFFF80002FFFFFF9009FFFFFF10EA +S2140284E00AFFFFFFE33EFFFFFFA00FFFFFFFFFFFB6 +S2140284F0FFFFFFF008FFFFFFFFFFFFFFFF80000008 +S214028500000000000000000000000000D80000008C +S21402851000000000FF80FFFF700007FFFFF8FFFF6C +S214028520F6006FFFFFFD788EFF15FFE8FFE2000200 +S214028530E54FFE20FE20000013FFF300520000006D +S2140285403FFF310052000002EFF45E20FE20788EDC +S214028550FF51FFE8FFE2FFFFF6006FFFFFFDFFFFA0 +S214028560700007FFFFF8000000000000FF80000018 +S21402857000000000D800000000000000000000001C +S2140285800000000000000001DD10000000001DFFDA +S214028590D100000001DFFFFD1000001DFF99FFD192 +S2140285A00001DFF9009FFD101DFF900009FFD1BFFB +S2140285B0F90000009FFB5F9000000009F500000034 +S2140285C000000000000000000000005F90000000B5 +S2140285D009F5BFF90000009FFB1DFF900009FFD1BF +S2140285E001DFF9009FFD10001DFF99FFD100000179 +S2140285F0DFFFFD100000001DFFD10000000001DDBE +S2140286001000000000000000000000000000000053 +S21402861000000000001DD10000000000000001DF85 +S214028620FD10EFFFFFFFD0001DFFFFD1AFFFFFFFE2 +S214028630F000CFCFFCFC0000000FF0006B1FF1B67D +S2140286400000000FF000000FF0000000000FF00026 +S214028650000FF0000000000FF000000FF000000016 +S2140286606B1FF1B6000FF0000000CFCFFCFC000F2E +S214028670FFFFFFFA1DFFFFD1000DFFFFFFFE01DF28 +S214028680FD10000000000000001DD10000000000E8 +S2140286900000000000008FFFFFE200000000FFFF66 +S2140286A0FFFE20000000FFFFFFFFFFFFFFF8FFFFB7 +S2140286B0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S2140286C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 S2140286D0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 -S2140286E0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 -S2140286F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 -S214028700FFFFFFFFFFFF8FFFFFFFFFFFFFF80000E7 -S214028710000BB0000000000000BFFB0000000000DD -S2140287200BFFFFB000000000BFFFFFFB0000000BC6 -S214028730FFFFFFFFB000004FFFFFFFFFF400000047 -S21402874000FFFF000000000000FFFF000000000026 -S21402875000FFFF000000000000FFFF000000000016 -S21402876000FFFF000000DFFFF0DFFD0FFFFDFFFF51 -S214028770F900009FFFFFFFFFFFFFFFFFFFFFFFFF66 -S214028780FFFFFFF0E0FFDFFFFFFFFFFFFFFD000040 -S2140287900000000000000000000000000AEA62007C -S2140287A00000000002FFFFF000000000009FFFFF35 -S2140287B000000000000FFFFFD00000000002FFFFD5 -S2140287C0FB000000000003EFFF7000000000000442 -S2140287D0FFF2000000000000BFFB000000000000E7 -S2140287E06FFF3000000200004FFF9000028FF30080 -S2140287F06FFFD0000AFFFFE4BFFFD10000EFFFFFCC -S214028800FFFFD100000AFFFFFFFF900000006FFF8E -S214028810FFFB3000000002FFDB72000000000008D1 -S214028820EE800000066108FFFF80002DFFD0EF33C8 -S214028830FE002EFFF30EF33FE02EFFF3008FFFFF46 -S2140288406EFFF300008EFFFFFFF300000002EFFF53 -S214028850F3000000002EFFFF30000008EFFFFFFFCE -S214028860300008FFFFF6EFFF3000EF33FE02EFFFA7 -S214028870300EF33FE002EFFF308FFFF80002DFFD1D -S214028880008EE800000066100000DFFFFF0D2000EB -S21402889000FFFFFF0FE20000FFFFFF0FFDDFF0FF0C -S2140288A0FFFF2000FFF0FFFFFFFFFFFFF0FFFFFFCD -S2140288B0FFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFDF -S2140288C0FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0DE -S2140288D0FFFFFFFFFFFFF0FFFFFFFFFFFFF0DFFFDF -S2140288E0FFFFFDFFF90000000000FFFFFFFFFF0093 -S2140288F000DFFFFFFFFD00008FFFFFFFFFC200FF4C -S214028900FFFFFFFFFE20FF00000001FFE2FF000066 -S2140289100000FFFCFF00000000FFFFFF0000000059 -S214028920FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 -S214028930FFFFFB11BFFFFFFFFFF1001FFFFFFFFF5F -S214028940F1001FFFFFFFFFFB11BFFFFFFFFFFFFF4F -S214028950FFFFFF8FFFFFFFFFFFF800DFFFFD0000B6 -S21402896001FFFFFC000003FFFFF7000006FFFFF217 -S214028970000008FFFFD000000AFFFFFFFFD00CFF39 -S214028980FFFFFFA00EFFFFFFFF200DFFFFFFF80017 -S21402899000000AFFE00000000EFF500000002FFC5F -S2140289A0000000005FF3000000009FA0000000002F -S2140289B0DF1000000000D70000000004EE400000B8 -S2140289C000DFFF99FFFD0000FFFF99FFFF0000FF99 -S2140289D0FFFFFFFF0000FFFF9000000000FFFF0DFB -S2140289E0FFFF0D20FFFF0FFFFF0FE2FFFF0FFFFF4E -S2140289F00FFDFFFF0FFFFF2000FFFF0FFFFFFFFF30 -S214028A00FFFF0FFFFFFFFFFFFF0FFFFFFFFFDFFF6F -S214028A100FFFFFFFFF00000FFFFFFFFF00000FFF2B -S214028A20FFFFFF00000DFFFFFFFD000000CC00006F -S214028A3000000002FF3000000001BFFFFC20000023 -S214028A401EFFFFFFE100009FFFFFFFF80000EFFFA1 -S214028A50FFFFFD0000FFFFFFFFFF0001FFFFFFFF1C -S214028A60FF0003FFFFFFFFFF3008FFFFFFFFFF804F -S214028A701EFFFFFFFFFFE1CFFFFFFFFFFFFCCFFF61 -S214028A80FFFFFFFFFC0000000000000000000EFFDA -S214028A90E00000000004EE4000008FFFFFFFFFFF33 -S214028AA0FFFFF8FFFFFFFFFFFFFFFFFFFF00F00FD4 -S214028AB000F00F00FFFF00F00F00F00F00FFFFFFB7 -S214028AC0FFFFFFFFFFFFFFFFF808808808808FFF89 -S214028AD0FFF808808808808FFFFFFFFFFFFFFFFF79 -S214028AE0FFFFFF00F00000000F00FFFF00F0000095 -S214028AF0000F00FFFFFFFFFFFFFFFFFFFF8FFFFFDD -S214028B00FFFFFFFFFFF8000000000000000000006B -S214028B10000000000003AF70000000000004CFFF5A -S214028B20F00000000006DFFFFFA000000017EFFFC6 -S214028B30FFFF30000018FFFFFFFFFC00002AFFFFC8 -S214028B40FFFFFFF40008FFFFFFFFFFFFD0000FFF4D -S214028B50FFFFFFFFFF600008FFFFFFFFFFFE0000B2 -S214028B6000000000FFFFF7000000000000FFFFF11A -S214028B70000000000000FFFF80000000000000FF71 -S214028B80FF10000000000000FFFA000000000000D6 -S214028B9000FFF2000000000000008F8000000000CE -S214028BA00000000000000000DFFFFFF0D200FFFF21 -S214028BB0FFF0FE20FFFFFFF0FFE2FFFFFFF0FFFDEA -S214028BC0FFFFFFF20000FFFFFFFFFFFFFFFFFFFFB9 +S2140286E0FFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFF03 +S2140286F0FFFFFFFFFFF80000000BB00000000000C5 +S21402870000BFFB00000000000BFFFFB000000000EF +S214028710BFFFFFFB0000000BFFFFFFFFB000004F94 +S214028720FFFFFFFFF400000000FFFF000000000054 +S21402873000FFFF000000000000FFFF000000000036 +S21402874000FFFF000000000000FFFF000000DFFF48 +S214028750F0DFFD0FFFFDFFFFF900009FFFFFFFFFA9 +S214028760FFFFFFFFFFFFFFFFFFFFFFF0E0FFDFFF60 +S214028770FFFFFFFFFFFD00000000000000000000FA +S214028780000000000AEA62000000000002FFFFF09C +S21402879000000000009FFFFF00000000000FFFFF28 +S2140287A0D00000000002FFFFFB000000000003EF05 +S2140287B0FF70000000000004FFF20000000000004E +S2140287C0BFFB0000000000006FFF30000002000048 +S2140287D04FFF9000028FF3006FFFD0000AFFFFE406 +S2140287E0BFFFD10000EFFFFFFFFFD100000AFFFF2F +S2140287F0FFFF900000006FFFFFFB3000000002FF4B +S214028800DB72000000000008EE800000066108FF30 +S214028810FF80002DFFD0EF33FE002EFFF30EF33F56 +S214028820E02EFFF3008FFFFF6EFFF300008EFFFFC8 +S214028830FFF300000002EFFFF3000000002EFFFF30 +S21402884030000008EFFFFFFF300008FFFFF6EFFFE3 +S2140288503000EF33FE02EFFF300EF33FE002EFFF91 +S214028860308FFFF80002DFFD008EE8000000661081 +S2140288700000DFFFFF0D200000FFFFFF0FE20000F9 +S214028880FFFFFF0FFDDFF0FFFFFF2000FFF0FFFFFF +S214028890FFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFF +S2140288A0FFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFEF +S2140288B0F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFEE +S2140288C0FFFFFFFFFFF0DFFFFFFFFDFFF9000000E5 +S2140288D00000FFFFFFFFFF0000DFFFFFFFFD0000BD +S2140288E08FFFFFFFFFC200FFFFFFFFFFFE20FF001C +S2140288F0000001FFE2FF00000000FFFCFF00000096 +S21402890000FFFFFF00000000FFFFFFFFFFFFFFFF6B +S214028910FFFFFFFFFFFFFFFFFFFFFB11BFFFFFFF92 +S214028920FFF1001FFFFFFFFFF1001FFFFFFFFFFB2E +S21402893011BFFFFFFFFFFFFFFFFFFF8FFFFFFFFFDE +S214028940FFF800DFFFFD000001FFFFFC000003FF51 +S214028950FFF7000006FFFFF2000008FFFFD000004E +S2140289600AFFFFFFFFD00CFFFFFFFFA00EFFFFFF77 +S214028970FF200DFFFFFFF80000000AFFE0000000E6 +S2140289800EFF500000002FFC000000005FF3000006 +S21402899000009FA000000000DF1000000000D700CB +S2140289A000000004EE40000000DFFF99FFFD00001B +S2140289B0FFFF99FFFF0000FFFFFFFFFF0000FFFF22 +S2140289C09000000000FFFF0DFFFF0D20FFFF0FFFCE +S2140289D0FF0FE2FFFF0FFFFF0FFDFFFF0FFFFF205E +S2140289E000FFFF0FFFFFFFFFFFFF0FFFFFFFFFFF6F +S2140289F0FF0FFFFFFFFFDFFF0FFFFFFFFF00000F6E +S214028A00FFFFFFFF00000FFFFFFFFF00000DFFFF4D +S214028A10FFFD000000CC000000000002FF30000056 +S214028A200001BFFFFC2000001EFFFFFFE100009FC9 +S214028A30FFFFFFF80000EFFFFFFFFD0000FFFFFF54 +S214028A40FFFF0001FFFFFFFFFF0003FFFFFFFFFF27 +S214028A503008FFFFFFFFFF801EFFFFFFFFFFE1CF93 +S214028A60FFFFFFFFFFFCCFFFFFFFFFFFFC00000042 +S214028A700000000000000EFFE00000000004EE40D0 +S214028A8000008FFFFFFFFFFFFFFFF8FFFFFFFFFF64 +S214028A90FFFFFFFFFF00F00F00F00F00FFFF00F0E8 +S214028AA00F00F00F00FFFFFFFFFFFFFFFFFFFFFFBC +S214028AB0F808808808808FFFFFF808808808808F73 +S214028AC0FFFFFFFFFFFFFFFFFFFFFF00F0000000BA +S214028AD00F00FFFF00F00000000F00FFFFFFFFFF88 +S214028AE0FFFFFFFFFF8FFFFFFFFFFFFFFFF8000004 +S214028AF00000000000000000000000000003AF704D +S214028B00000000000004CFFFF00000000006DFFFB8 +S214028B10FFA000000017EFFFFFFF30000018FFFF66 +S214028B20FFFFFC00002AFFFFFFFFFFF40008FFFF25 +S214028B30FFFFFFFFD0000FFFFFFFFFFFFF600008F1 +S214028B40FFFFFFFFFFFE000000000000FFFFF70030 +S214028B500000000000FFFFF1000000000000FFFF21 +S214028B6080000000000000FFFF1000000000000070 +S214028B70FFFA00000000000000FFF2000000000004 +S214028B8000008F80000000000000000000000000CF +S214028B90DFFFFFF0D200FFFFFFF0FE20FFFFFFF037 +S214028BA0FFE2FFFFFFF0FFFDFFFFFFF20000FFFF07 +S214028BB0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S214028BC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE S214028BD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E -S214028BE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E -S214028BF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E -S214028C00FFFFDFFFFFFFFFFD000000000000000087 -S214028C1000000000049CEFFEC94000000007EFFFC2 -S214028C20FFFFFFFE700004DFFFFCA88ACFFFFD40B7 -S214028C306FFFD5000000005DFFF6CFF600000000D3 -S214028C4000006FFC1A30005ADFFDA50003A10000E9 -S214028C504DFFFFFFFFD400000005FFFEA88AEFFFCE -S214028C6050000001DF70000007FD10000000120037 -S214028C70000000210000000000004EE4000000009A -S214028C8000000000EFFE0000000000000000EFFE03 -S214028C9000000000000000004EE4000000008FFF0D -S214028CA0FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF4C -S214028CB0FFF0FF000000000000000FFDFF0FFFFFA7 -S214028CC0FFFFFFFF0FFFFF0FFFFFFFFFFFFF00FF8C -S214028CD0FF0FFFFFFFFFFFFF00FFFF0FFFFFFFFF7C -S214028CE0FFFF0FFFFF000000000000000FFDFFFF68 -S214028CF0FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFFFC -S214028D00FF808FFFFFFFFFFFFFFFFF80FFFFFFFFDA -S214028D10FFFFFFFFFFF0FF000000000000000FFD56 -S214028D20FF0FFFFFFFFFF0000FFFFF0FFFFFFFFF2A -S214028D30F00000FFFF0FFFFFFFFFF00000FFFF0F36 -S214028D40FFFFFFFFF0000FFFFF0000000000000023 -S214028D500FFDFFFFFFFFFFFFFFFFFFF08FFFFFFF8D -S214028D60FFFFFFFFFF808FFFFFFFFFFFFFFFFF807A -S214028D70FFFFFFFFFFFFFFFFFFF0FF000000000006 -S214028D8000000FFDFF0FFFFFFF0000000FFFFF0FA9 -S214028D90FFFFFF00000000FFFF0FFFFFFF000000C5 -S214028DA000FFFF0FFFFFFF0000000FFFFF000000A5 -S214028DB0000000000FFDFFFFFFFFFFFFFFFFFFF0B9 -S214028DC08FFFFFFFFFFFFFFFFF808FFFFFFFFFFF0B -S214028DD0FFFFFF80FFFFFFFFFFFFFFFFFFF0FF0029 -S214028DE00000000000000FFDFF0FFFF00000000073 -S214028DF00FFFFF0FFFF00000000000FFFF0FFFF065 -S214028E000000000000FFFF0FFFF0000000000FFF51 -S214028E10FF000000000000000FFDFFFFFFFFFFFF46 -S214028E20FFFFFFF08FFFFFFFFFFFFFFFFF808FFFB9 -S214028E30FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFBA -S214028E40FFF0FF000000000000000FFDFF00000022 -S214028E50000000000FFFFF0000000000000000FFFF -S214028E60FF0000000000000000FFFF0000000000FE -S214028E7000000FFFFF000000000000000FFDFFFFD4 -S214028E80FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF6A -S214028E90FF8000000000000100000000000000004B -S214028EA00007FD1000000000000001CFFFF50000E3 -S214028EB00000000000B929FE100000000000003F7C -S214028EC010020000000003DF800A9000000003701A -S214028ED000DFFF77F7555555558FD30FFFFDCCDFD3 -S214028EE0DCCCCCCDFFB08FFE1000AA0000004D40B7 -S214028EF00046100001F202331000000000000009D4 -S214028F00B1CFF9000000000000000AFFFF90000049 -S214028F10000000000000BFF9000000000000000092 -S214028F2001220000000018DFFD920002EFFBEFFFB7 -S214028F30300DFFFA2EFFE04FFFFA03FFF59FFAFA15 -S214028F40354FFACFC08A3D0BFDEFFB03128FFEFFB3 -S214028F50FFB006FFFFFFFFD108FFFFEFFD11109FD6 -S214028F60FFDFD1593B0BFDAFD7FA381DFB5FFFFA87 -S214028F7001DFF70DFFFA1DFFF103EFFCDFFF5000E4 -S214028F8018DFFEA30000007FFFF70000EFFFFFFFE1 -S214028F90FFFFFEEFFFFFFFFFFFFE000000000000E6 -S214028FA0000FFFFFFFFFFFF00FFFFFFFFFFFF00FB7 -S214028FB0F99F99F99FF00FF88F88F88FF00FF88FC6 -S214028FC088F88FF00FF88F88F88FF00FF88F88F8F0 -S214028FD08FF00FF88F88F88FF00FF88F88F88FF0E1 -S214028FE00FF99F99F99FF00FFFFFFFFFFFF008FFB1 -S214028FF0FFFFFFFF800000000000007FA0000000CF -S2140290000000008FFFB000000000000DFFFFA00070 -S2140290100000008A1DFFFF000000008FFA1DFF708F -S2140290200000008FFFFA1D800000008FFFFFFA008D -S2140290300000008FFFFFFF800000008FFFFFFF8011 -S2140290400000008FFFFFFF800000008FFFFFFF8001 -S2140290500000006FFFFFFF800000000BFFFFFF8095 -S21402906000000000DFFFFF80000000000EFFFF8010 -S2140290700000000000DEDB600000000000000000D0 -S21402908000000000000000001BFFFFFFFFFFFFE4E0 -S2140290900001DFFFFFFFFFFFFFFE001DFFFFFAEFED -S2140290A0FEAFFFFF01DFFFFFA02EE20AFFFF1DFF5C -S2140290B0FFFFE202202EFFFFCFFFFFFFFE2002EFA0 -S2140290C0FFFFCFFFFFFFFE2002EFFFFF1DFFFFFFA8 -S2140290D0E202202EFFFF01DFFFFFA02EE20AFFFFC3 -S2140290E0001DFFFFFAEFFEAFFFFF0001DFFFFFFFED -S2140290F0FFFFFFFE00001BFFFFFFFFFFFFE400086D -S214029100FFFFFFE4008FFFFFFFFE08F80F0B40FF94 -S2140291108FF80F0B40FFFFF80F0B40FFFFFFFFFF1C +S214028BE0FFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFDB0 +S214028BF0000000000000000000000000049CEFFEE1 +S214028C00C94000000007EFFFFFFFFFFE700004DF11 +S214028C10FFFCA88ACFFFFD406FFFD5000000005D75 +S214028C20FFF6CFF60000000000006FFC1A30005A74 +S214028C30DFFDA50003A100004DFFFFFFFFD40000EB +S214028C400005FFFEA88AEFFF50000001DF7000005B +S214028C5007FD1000000012000000002100000000C6 +S214028C6000004EE40000000000000000EFFE0000DE +S214028C70000000000000EFFE000000000000000000 +S214028C804EE4000000008FFFFFFFFFFFFFFFFF80A4 +S214028C90FFFFFFFFFFFFFFFFFFF0FF0000000000E7 +S214028CA000000FFDFF0FFFFFFFFFFFFF0FFFFF0F8D +S214028CB0FFFFFFFFFFFF00FFFF0FFFFFFFFFFFFFAC +S214028CC000FFFF0FFFFFFFFFFFFF0FFFFF00000089 +S214028CD0000000000FFDFFFFFFFFFFFFFFFFFFF09A +S214028CE08FFFFFFFFFFFFFFFFF808FFFFFFFFFFFEC +S214028CF0FFFFFF80FFFFFFFFFFFFFFFFFFF0FF000A +S214028D000000000000000FFDFF0FFFFFFFFFF00056 +S214028D100FFFFF0FFFFFFFFFF00000FFFF0FFFFF39 +S214028D20FFFFF00000FFFF0FFFFFFFFFF0000FFF47 +S214028D30FF000000000000000FFDFFFFFFFFFFFF27 +S214028D40FFFFFFF08FFFFFFFFFFFFFFFFF808FFF9A +S214028D50FFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF9B +S214028D60FFF0FF000000000000000FFDFF0FFFFFF6 +S214028D70FF0000000FFFFF0FFFFFFF00000000FFD5 +S214028D80FF0FFFFFFF00000000FFFF0FFFFFFF00C7 +S214028D9000000FFFFF000000000000000FFDFFFFB5 +S214028DA0FFFFFFFFFFFFFFF08FFFFFFFFFFFFFFF4B +S214028DB0FF808FFFFFFFFFFFFFFFFF80FFFFFFFF2A +S214028DC0FFFFFFFFFFF0FF000000000000000FFDA6 +S214028DD0FF0FFFF0000000000FFFFF0FFFF0000084 +S214028DE0000000FFFF0FFFF00000000000FFFF0F73 +S214028DF0FFF0000000000FFFFF0000000000000070 +S214028E000FFDFFFFFFFFFFFFFFFFFFF08FFFFFFFDC +S214028E10FFFFFFFFFF808FFFFFFFFFFFFFFFFF80C9 +S214028E20FFFFFFFFFFFFFFFFFFF0FF000000000055 +S214028E3000000FFDFF000000000000000FFFFF0013 +S214028E4000000000000000FFFF000000000000001D +S214028E5000FFFF000000000000000FFFFF00000000 +S214028E60000000000FFDFFFFFFFFFFFFFFFFFFF008 +S214028E708FFFFFFFFFFFFFFFFF80000000000001E3 +S214028E8000000000000000000007FD1000000000C7 +S214028E90000001CFFFF500000000000000B929FE27 +S214028EA0100000000000003F10020000000003DF78 +S214028EB0800A90000000037000DFFF77F7555555D3 +S214028EC0558FD30FFFFDCCDFDCCCCCCDFFB08FFEB1 +S214028ED01000AA0000004D400046100001F20233C6 +S214028EE01000000000000009B1CFF90000000000E9 +S214028EF000000AFFFF900000000000000000BFF91B +S214028F00000000000000000001220000000018DF40 +S214028F10FD920002EFFBEFFF300DFFFA2EFFE04F4F +S214028F20FFFA03FFF59FFAFA354FFACFC08A3D0BD8 +S214028F30FDEFFB03128FFEFFFFB006FFFFFFFFD120 +S214028F4008FFFFEFFD11109FFFDFD1593B0BFDAF6E +S214028F50D7FA381DFB5FFFFA01DFF70DFFFA1DFF98 +S214028F60F103EFFCDFFF500018DFFEA30000007FD6 +S214028F70FFF70000EFFFFFFFFFFFFEEFFFFFFFFF21 +S214028F80FFFE000000000000000FFFFFFFFFFFF0E3 +S214028F900FFFFFFFFFFFF00FF99F99F99FF00FF801 +S214028FA08F88F88FF00FF88F88F88FF00FF88F8879 +S214028FB0F88FF00FF88F88F88FF00FF88F88F88FF9 +S214028FC0F00FF88F88F88FF00FF99F99F99FF00F3E +S214028FD0FFFFFFFFFFF008FFFFFFFFFF800000001C +S214028FE00000007FA00000000000008FFFB000001D +S214028FF00000000DFFFFA0000000008A1DFFFF001A +S2140290000000008FFA1DFF700000008FFFFA1D801F +S2140290100000008FFFFFFA000000008FFFFFFF80B6 +S2140290200000008FFFFFFF800000008FFFFFFF8021 +S2140290300000008FFFFFFF800000006FFFFFFF8031 +S2140290400000000BFFFFFF8000000000DFFFFF8034 +S214029050000000000EFFFF800000000000DEDB6064 +S21402906000000000000000000000000000000000F9 +S2140290701BFFFFFFFFFFFFE40001DFFFFFFFFFFF15 +S214029080FFFE001DFFFFFAEFFEAFFFFF01DFFFFF4F +S214029090A02EE20AFFFF1DFFFFFFE202202EFFFFC7 +S2140290A0CFFFFFFFFE2002EFFFFFCFFFFFFFFE20F6 +S2140290B002EFFFFF1DFFFFFFE202202EFFFF01DF90 +S2140290C0FFFFA02EE20AFFFF001DFFFFFAEFFEAF32 +S2140290D0FFFF0001DFFFFFFFFFFFFFFE00001BFF99 +S2140290E0FFFFFFFFFFE40008FFFFFFE4008FFFFF24 +S2140290F0FFFE08F80F0B40FF8FF80F0B40FFFFF83C +S2140291000F0B40FFFFFFFFFFFFFFFFFFFFFFFFFF0B +S214029110FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 S214029120FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 -S214029130FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 -S214029140FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 -S214029150FFFFEFFFFFFFFFFE4EFFFFFFFFE40000F3 -S2140291600000000000010000000000000003E00014 -S214029170001000000002EF1000BF000000007FF1A8 -S21402918000CFF100000007FF11CFFF77777777BF98 -S214029190F1CFFFFFFFFFFFFFFF17FFFFFFFFFFFFFE -S2140291A0FFE007FFF100000000000006FF100000CD -S2140291B00000000005A00000000000006C765F645E -S2140291C06973705F6472765F7265676973746572DD -S2140291D0000000002E2E2F7468697264706172742B -S2140291E0792F6C76676C2F7372632F6C765F68616B -S2140291F06C2F6C765F68616C5F646973702E6300B7 -S21402920081100100000000006C765F616E696D5F80 -S21402921073746172740000002E2E2F746869726473 -S21402922070617274792F6C76676C2F7372632F6C11 -S214029230765F6D6973632F6C765F616E696D2E6300 -S214029240000000006C765F66735F6472765F72651C -S21402925067697374657200006C765F66735F6F7021 -S214029260656E00006C765F66735F6469725F6F702E -S214029270656E00002E2E2F746869726470617274B7 -S214029280792F6C76676C2F7372632F6C765F6D69BD -S21402929073632F6C765F66732E63000000003C02D9 -S2140292A07804B306EE08280B610D990FD011061448 -S2140292B03A166C189D1ACB1CF71E212148236C25E2 -S2140292C08E27AC29C72BDF2DF32F03321034183626 -S2140292D01C381C3A173C0E3EFF3FEC41D443B645C1 -S2140292E093476A493C4B084DCD4E8D504652F95332 -S2140292F0A5554B57EA58825A135C9C5D1F5F9A60CD -S2140293000D627963DD6439668D67D9681D6A596BAB -S2140293108C6CB76DD96EF36F04710C720B7301749B -S214029320EE74D275AD767F7747780679BB79677A21 -S2140293300A7BA27B327CB77C337DA57D0D7E6C7E5C -S214029340C07E0B7F4B7F827FAF7FD27FEB7FFA7F21 -S214029350FF7F00006C765F6D656D5F616C6C6F639E -S214029360000000005F6C765F6D656D5F6275665F1C -S21402937072656C65617365006C765F6D656D5F72B4 -S21402938065616C6C6F6300005F6C765F6D656D5F28 -S2140293906275665F676574002E2E2F746869726444 -S2140293A070617274792F6C76676C2F7372632F6C90 -S2140293B0765F6D6973632F6C765F6D656D2E6300E5 -S2140293C0436F756C646E277420616C6C6F63617496 -S2140293D065206D656D6F7279000000006C765F6DBA -S2140293E0656D5F6275665F72656C656173653A206E -S2140293F070206973206E6F742061206B6E6F776EBB -S21402940020627566666572006C765F6D656D5F627A -S21402941075665F6765743A204F7574206F66206DB7 -S214029420656D6F72792C2063616E277420616C6C97 -S2140294306F636174652061206E65772020627566B1 -S2140294406665722028696E63726561736520796F3E -S2140294507572204C565F4D454D5F53495A452F68ED -S2140294606561702073697A65290000006C765F6D0D -S214029470656D5F6275665F6765743A206E6F20661B -S214029480726565206275666665722E20496E637225 -S21402949065617365204C565F445241575F4255469C -S2140294A05F4D41585F4E554D2E0000006C765F743E -S2140294B061736B5F6372656174655F626173696332 -S2140294C0000000006C765F7461736B5F63726561A7 -S2140294D0746500002E2E2F7468697264706172744F -S2140294E0792F6C76676C2F7372632F6C765F6D695B -S2140294F073632F6C765F7461736B2E6300000000DB -S2140295005F6C765F7478745F6765745F73697A659B -S21402951000000000202C2E3B3A2D5F002E2E2F74CA -S2140295206869726470617274792F6C76676C2F73D7 -S21402953072632F6C765F6D6973632F6C765F7478D7 -S214029540742E63006C765F7478745F6765745F73FD -S214029550697A653A20696E7465676572206F76650A -S21402956072666C6F77207768696C652063616C63DE -S214029570756C6174696E67207465787420686569B5 -S21402958067687400FFFF000010840000EF808C0004 -S2140295906C765F696D675F64657369676E0000006D -S2140295A06C765F696D675F7365745F6175746F5F14 -S2140295B073697A65000000006C765F696D675F7399 -S2140295C065745F6F66667365745F78006C765F6954 -S2140295D06D675F7365745F6F66667365745F790047 -S2140295E06C765F696D675F6765745F7372630000B0 -S2140295F06C765F696D675F6765745F66696C655FE9 -S2140296006E616D65000000006C765F696D675F676E -S21402961065745F6175746F5F73697A650000000038 -S2140296206C765F696D675F7365745F737263000063 -S2140296306C765F696D675F637265617465000000D2 -S2140296406C765F696D675F6765745F6F6666736584 -S214029650745F78006C765F696D675F6765745F6FCD -S21402966066667365745F79006C765F696D675F67BF -S21402967065745F7069766F74000000006C765F69CF -S2140296806D675F6765745F616E676C6500000000FA -S2140296906C765F696D675F6765745F7A6F6F6D0082 -S2140296A06C765F696D675F6765745F616E7469612A -S2140296B06C696173000000002E2E2F746869726454 -S2140296C070617274792F6C76676C2F7372632F6C6D -S2140296D0765F776964676574732F6C765F696D670A -S2140296E02E6300006C765F696D675F7365745F73E7 -S2140296F072633A20756E6B6E6F776E207479706542 -S214029700000000006C765F696D675F7365745F7357 -S21402971072633A20756E6B6E6F776E20696D616745 -S21402972065207479706500006C765F696D675F739B -S21402973065745F7372633A2020604C565F494D47EA -S2140297405F5352435F5641524941424C4560207432 -S21402975079706520666F756E64000000696D6167DA -S2140297606520637265617465640000006C765F69EB -S2140297706D6700006C765F6C6162656C5F73657422 -S2140297805F646F745F746D70000000006C765F6CCF -S2140297906162656C5F7365745F616C69676E000019 -S2140297A06C765F6C6162656C5F7365745F74657816 -S2140297B0745F73656C5F7374617274006C765F6C51 -S2140297C06162656C5F7365745F746578745F7365F8 -S2140297D06C5F656E640000006C765F6C6162656C3F -S2140297E05F6765745F746578740000006C765F6C02 -S2140297F06162656C5F6765745F6C6F6E675F6D6FE5 -S214029800646500006C765F6C6162656C5F676574A8 -S2140298105F616C69676E00006C765F6C6162656C96 -S2140298205F6765745F7265636F6C6F72000000003D -S2140298306C765F6C6162656C5F6765745F616E69AA -S2140298406D5F7370656564006C765F6C6162656CF3 -S2140298505F6765745F6C65747465725F706F7300C2 -S2140298606C765F6C6162656C5F6765745F6C65746D -S2140298707465725F6F6E00006C765F6C6162656C19 -S2140298805F7365745F746578740000006C765F6C55 -S2140298906162656C5F7365745F746578745F666D2C -S2140298A0740000006C765F6C6162656C5F73657451 -S2140298B05F746578745F7374617469630000000096 -S2140298C06C765F6C6162656C5F7365745F6C6F6EFD -S2140298D0675F6D6F646500006C765F6C6162656CD5 -S2140298E05F7365745F7265636F6C6F720000000071 -S2140298F06C765F6C6162656C5F637265617465004D -S2140299006C765F6C6162656C5F7365745F616E69CD -S2140299106D5F7370656564006C765F6C6162656C22 -S2140299205F6765745F746578745F73656C5F737484 -S214029930617274006C765F6C6162656C5F676574F9 -S2140299405F746578745F73656C5F656E64000000B3 -S2140299506C765F6C6162656C5F69735F6368617287 -S2140299605F756E6465725F706F7300006C765F6C15 -S2140299706162656C5F696E735F746578740000007F -S2140299806C765F6C6162656C5F6375745F74657834 -S214029990740000002E2E2F746869726470617274EF -S2140299A0792F6C76676C2F7372632F6C765F77698C -S2140299B064676574732F6C765F6C6162656C2E6388 -S2140299C0000000004661696C656420746F20616C5B -S2140299D06C6F63617465206D656D6F727920666F5A -S2140299E07220646F745F746D705F70747200000032 -S2140299F054657874000000006C6162656C206372C6 -S214029A0065617465640000006C765F6C6162656C0B -S214029A1000000000F8B500BFF8BC08BC9E467047C0 -S214029A2089020000F8B500BFF8BC08BC9E46704725 -S208029A3065020000C4 -S20C029A348017FF7F010000000D -S214029A3C0100000048656C6C6F20576F726C6421D5 -S214029A4CA50B0100990101001200030000000000A2 -S214029A5C2400002084670200AC6202000C62020042 -S214029A6C1455020010000250000000000000000016 -S214029A7C00000000A86B002010000000986B00206D -S214029A8C100000006D3A01007D3B0100CD3C010048 -S214029A9C353D0100053D01007D3C01003D3B0100CA -S208029AAC9F3A0100D5 +S214029130FFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFE49 +S2140291404EFFFFFFFFE400000000000000010000E9 +S214029150000000000003E000001000000002EF1014 +S21402916000BF000000007FF100CFF100000007FF03 +S21402917011CFFF77777777BFF1CFFFFFFFFFFFFFB4 +S214029180FF17FFFFFFFFFFFFFFE007FFF1000000F2 +S21402919000000006FF1000000000000005A000000E +S2140291A0000000006C765F646973705F6472765FBD +S2140291B07265676973746572000000002E2E2F7444 +S2140291C06869726470617274792F6C76676C2F733B +S2140291D072632F6C765F68616C2F6C765F68616C69 +S2140291E05F646973702E630069100100000000005E +S2140291F06C765F616E696D5F7374617274000000F5 +S2140292002E2E2F746869726470617274792F6C7670 +S214029210676C2F7372632F6C765F6D6973632F6C46 +S214029220765F616E696D2E63000000006C765F6685 +S214029230735F6472765F7265676973746572000045 +S2140292406C765F66735F6F70656E00006C765F6645 +S214029250735F6469725F6F70656E00002E2E2F74E6 +S2140292606869726470617274792F6C76676C2F739A +S21402927072632F6C765F6D6973632F6C765F6673AD +S2140292802E63000000003C027804B306EE08280BAA +S214029290610D990FD01106143A166C189D1ACB1C44 +S2140292A0F71E212148236C258E27AC29C72BDF2DDC +S2140292B0F32F0332103418361C381C3A173C0E3E75 +S2140292C0FF3FEC41D443B64593476A493C4B084DB1 +S2140292D0CD4E8D504652F953A5554B57EA58825AF1 +S2140292E0135C9C5D1F5F9A600D627963DD6439666C +S2140292F08D67D9681D6A596B8C6CB76DD96EF36F22 +S21402930004710C720B730174EE74D275AD767F77AE +S21402931047780679BB79677A0A7BA27B327CB77C70 +S214029320337DA57D0D7E6C7EC07E0B7F4B7F827F5C +S214029330AF7FD27FEB7FFA7FFF7F00006C765F6D98 +S214029340656D5F616C6C6F63000000005F6C765F3A +S2140293506D656D5F6275665F72656C6561736500EB +S2140293606C765F6D656D5F7265616C6C6F63000035 +S2140293705F6C765F6D656D5F6275665F67657400CC +S2140293802E2E2F746869726470617274792F6C76EF +S214029390676C2F7372632F6C765F6D6973632F6CC5 +S2140293A0765F6D656D2E6300436F756C646E277411 +S2140293B020616C6C6F63617465206D656D6F727988 +S2140293C0000000006C765F6D656D5F6275665F72A9 +S2140293D0656C656173653A2070206973206E6F74E0 +S2140293E02061206B6E6F776E20627566666572000E +S2140293F06C765F6D656D5F6275665F6765743A2051 +S2140294004F7574206F66206D656D6F72792C2063C0 +S214029410616E277420616C6C6F63617465206120D5 +S2140294206E657720206275666665722028696E63AF +S214029430726561736520796F7572204C565F4D4573 +S2140294404D5F53495A452F686561702073697A6586 +S214029450290000006C765F6D656D5F6275665F67FA +S21402946065743A206E6F2066726565206275666660 +S21402947065722E20496E637265617365204C565F75 +S214029480445241575F4255465F4D41585F4E554DD7 +S2140294902E0000006C765F7461736B5F63726561A9 +S2140294A074655F6261736963000000006C765F74C6 +S2140294B061736B5F63726561746500002E2E2F7494 +S2140294C06869726470617274792F6C76676C2F7338 +S2140294D072632F6C765F6D6973632F6C765F74614F +S2140294E0736B2E63000000005F6C765F7478745FA7 +S2140294F06765745F73697A6500000000202C2E3B56 +S2140295003A2D5F002E2E2F74686972647061727431 +S214029510792F6C76676C2F7372632F6C765F6D692A +S21402952073632F6C765F7478742E63006C765F7448 +S21402953078745F6765745F73697A653A20696E74DA +S21402954065676572206F766572666C6F77207768DE +S214029550696C652063616C63756C6174696E672003 +S214029560746578742068656967687400FFFF000098 +S21402957010840000EF808C006C765F696D675F6414 +S214029580657369676E0000006C765F696D675F736E +S21402959065745F6175746F5F73697A6500000000B9 +S2140295A06C765F696D675F7365745F6F6666736519 +S2140295B0745F78006C765F696D675F7365745F6F62 +S2140295C066667365745F79006C765F696D675F6760 +S2140295D065745F73726300006C765F696D675F67C0 +S2140295E065745F66696C655F6E616D65000000009C +S2140295F06C765F696D675F6765745F6175746F5FD0 +S21402960073697A65000000006C765F696D675F7348 +S21402961065745F73726300006C765F696D675F6383 +S21402962072656174650000006C765F696D675F67DE +S21402963065745F6F66667365745F78006C765F69E3 +S2140296406D675F6765745F6F66667365745F7900E2 +S2140296506C765F696D675F6765745F7069766F7455 +S214029660000000006C765F696D675F6765745F6116 +S2140296706E676C65000000006C765F696D675F67F9 +S21402968065745F7A6F6F6D006C765F696D675F6792 +S21402969065745F616E7469616C69617300000000D5 +S2140296A02E2E2F746869726470617274792F6C76CC +S2140296B0676C2F7372632F6C765F77696467657465 +S2140296C0732F6C765F696D672E6300006C765F6938 +S2140296D06D675F7365745F7372633A20756E6B6E47 +S2140296E06F776E2074797065000000006C765F6993 +S2140296F06D675F7365745F7372633A20756E6B6E27 +S2140297006F776E20696D61676520747970650000F9 +S2140297106C765F696D675F7365745F7372633A2018 +S21402972020604C565F494D475F5352435F56415245 +S2140297304941424C4560207479706520666F756EAB +S21402974064000000696D6167652063726561746517 +S214029750640000006C765F696D6700006C765F6C73 +S2140297606162656C5F7365745F646F745F746D705D +S214029770000000006C765F6C6162656C5F736574F6 +S2140297805F616C69676E00006C765F6C6162656C27 +S2140297905F7365745F746578745F73656C5F73740A +S2140297A0617274006C765F6C6162656C5F7365747F +S2140297B05F746578745F73656C5F656E6400000045 +S2140297C06C765F6C6162656C5F6765745F74657802 +S2140297D0740000006C765F6C6162656C5F6765742E +S2140297E05F6C6F6E675F6D6F646500006C765F6CB2 +S2140297F06162656C5F6765745F616C69676E0000C5 +S2140298006C765F6C6162656C5F6765745F726563D8 +S2140298106F6C6F72000000006C765F6C6162656C44 +S2140298205F6765745F616E696D5F7370656564001E +S2140298306C765F6C6162656C5F6765745F6C65749D +S2140298407465725F706F73006C765F6C6162656CD4 +S2140298505F6765745F6C65747465725F6F6E000037 +S2140298606C765F6C6162656C5F7365745F74657855 +S214029870740000006C765F6C6162656C5F73657481 +S2140298805F746578745F666D740000006C765F6C5A +S2140298906162656C5F7365745F746578745F737418 +S2140298A061746963000000006C765F6C6162656CCF +S2140298B05F7365745F6C6F6E675F6D6F64650000E3 +S2140298C06C765F6C6162656C5F7365745F7265630C +S2140298D06F6C6F72000000006C765F6C6162656C84 +S2140298E05F637265617465006C765F6C6162656C5D +S2140298F05F7365745F616E696D5F73706565640042 +S2140299006C765F6C6162656C5F6765745F746578C0 +S214029910745F73656C5F7374617274006C765F6CEF +S2140299206162656C5F6765745F746578745F7365A2 +S2140299306C5F656E640000006C765F6C6162656CDD +S2140299405F69735F636861725F756E6465725F708C +S2140299506F7300006C765F6C6162656C5F696E7334 +S2140299605F746578740000006C765F6C6162656C8B +S2140299705F6375745F746578740000002E2E2F7412 +S2140299806869726470617274792F6C76676C2F7373 +S21402999072632F6C765F776964676574732F6C7673 +S2140299A05F6C6162656C2E63000000004661696C44 +S2140299B0656420746F20616C6C6F63617465206DE2 +S2140299C0656D6F727920666F7220646F745F746D56 +S2140299D0705F7074720000005465787400000000B6 +S2140299E06C6162656C206372656174656400000078 +S2140299F06C765F6C6162656C00000000F8B500BFB3 +S214029A00F8BC08BC9E46704789020000F8B500BF45 +S210029A10F8BC08BC9E46704765020000C9 +S20C029A1C8017FF7F0100000025 +S214029A240100000048656C6C6F20576F726C6421ED +S214029A348D0B0100810101001200030000000000EA +S214029A44240000206C67020094620200F4610200A3 +S214029A54FC54020010000250000000000000000047 +S214029A6400000000A86B002010000000986B002085 +S214029A7410000000553A0100653B0100B53C0100A8 +S214029A841D3D0100ED3C0100653C0100253B010043 +S208029A94873A010005 S804000000FB diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c index 48c96911..d7ff3c6e 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/devices/display/p_ssd1963.c @@ -59,8 +59,11 @@ void ssd1963_init(void) ssd1963_reset(); LV_DRV_DISP_PAR_CS(0); ssd1963_cmd(0xE2); //PLL multiplier, set PLL clock to 120M - ssd1963_data(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal - ssd1963_data(0x02); + //ssd1963_data(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal + //ssd1963_data(0x02); + //ssd1963_data(0x54); + ssd1963_data(0x2F); //N=0x36 for 6.5M, 0x23 for 10M crystal + ssd1963_data(0x03); ssd1963_data(0x54); ssd1963_cmd(0xE0); // PLL enable @@ -73,12 +76,15 @@ void ssd1963_init(void) delay_ms(1); ssd1963_cmd(0xE6); //PLL setting for PCLK, depends on resolution - ssd1963_data(0x04); - ssd1963_data(0x3A); - ssd1963_data(0xB6); + //ssd1963_data(0x04); + //ssd1963_data(0x3A); + //ssd1963_data(0xB6); //ssd1963_data(0x01); //ssd1963_data(0x55); //ssd1963_data(0x54); + ssd1963_data(0x01); + ssd1963_data(0xCC); + ssd1963_data(0xCC); ssd1963_cmd(0xB0); ssd1963_data(0x28); // set 18-bit for 7" panel TY700TFT800480 ssd1963_data(0x80); // set TTL mode diff --git a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c index c95f2f9f..531e2d26 100644 --- a/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c +++ b/software/firmware/project_oracle_test_firmware/e54/e54_gfx_learning/e54_gfx_learning/drivers/p_gpio.c @@ -63,9 +63,7 @@ void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint16_t data) { gpio_set_pin_level(SSD1963_TFT_CS, 0); p_gpio_set_port_data(group, mask, (uint32_t)data); - p_weird_delay(); gpio_set_pin_level(SSD1963_TFT_WR, 0); - p_weird_delay(); gpio_set_pin_level(SSD1963_TFT_WR, 1); gpio_set_pin_level(SSD1963_TFT_CS, 1);