From 2a81d74a510af2aaabf37fcada82b5e32fba3f89 Mon Sep 17 00:00:00 2001 From: "kohgylw@163.com" Date: Mon, 18 May 2020 11:39:00 +0800 Subject: [PATCH] update to v1.0.33-release --- README.md | 4 +- ...32-RELEASE.jar => kiftd-1.0.33-RELEASE.jar | Bin 358281 -> 358280 bytes ...4\346\230\216\346\226\207\346\241\243.pdf" | Bin 7357815 -> 7357752 bytes webContext/css/viewer.min.css | 6 +-- webContext/home.html | 2 +- webContext/js/home.js | 43 +++++++++++------- webContext/js/home.min.js | 6 +-- webContext/js/viewer.min.js | 6 +-- 8 files changed, 38 insertions(+), 29 deletions(-) rename kiftd-1.0.32-RELEASE.jar => kiftd-1.0.33-RELEASE.jar (90%) diff --git a/README.md b/README.md index 0dbd1f5..dc9f18e 100755 --- a/README.md +++ b/README.md @@ -77,9 +77,9 @@ _注:kift为该功能的开发名称,其实际成果命名为kiftd。_ > 提示:当您更新版本后,请手动清除浏览器的缓存,之后刷新网盘主页以确保数据文件保持最新!否则可能导致新版页面功能无法使用。 -### 常规更新v1.0.32 +### 常规更新v1.0.33 _本次更新为维护性的更新,修复一些已经发现的问题并优化使用体验,推荐所有用户升级。_ -+ 修复了当文件名中含有空格时,Firefox浏览器无法以正确的文件名进行下载的问题。 ++ 升级了内置的图片预览插件,并修复了一个存在于“图片预览”功能中的安全性漏洞。 + 进一步完善了文件系统。 diff --git a/kiftd-1.0.32-RELEASE.jar b/kiftd-1.0.33-RELEASE.jar similarity index 90% rename from kiftd-1.0.32-RELEASE.jar rename to kiftd-1.0.33-RELEASE.jar index e95538b3bbe7ed7147b19e5b8c0167eeb81c1570..795f5ad37198b1b8786c1a1e0209eada0bbefdc3 100644 GIT binary patch delta 11575 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 RaTETt^@a_;0bJmW{{s@kSo8n@ delta 12167 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 Stn2Wf{R9@v#srQd>;C|jOTG^P diff --git "a/kiftd\350\257\264\346\230\216\346\226\207\346\241\243.pdf" "b/kiftd\350\257\264\346\230\216\346\226\207\346\241\243.pdf" index 2d471202af85294dddfe237ad74245b1a693a519..2f7a5165cd2db545d9594498678cdaea72c8bb52 100644 GIT binary patch delta 71089 zcmZ_VbyOU|qc8Z7APJfT_k;v@cL?t8I%sfr?cgD}2X}WFT!Op1haiKy!!SF)d-v>n zd*ALk-%oc{_nfY(?&_LN<>*fC0Z}q!uiT+Uin-PfXL(V)kHwelk5A<=aHi1e}5^X>pH=N zX&UueQPEYAn9WK&cAhlOp0QK1>jY=3=YDV0%iD?ngo4m>MW+-AbE7|}ze~~~EBl&W zU+KbbTYlE{bh|mc15!ooy_W%3ea*^iF-mWs>< zg6*}!OJEe}^qov{qWcqeXcTiy3Zcgvv?k;kFM04=8 z_a;5{Tx6(N_|NQKS@p^UthY?SVavqgDEP>8s`N8{vPxxbaZZ5RD#Epy)i2Vrnw^#L zF%!Gwsm^-&{MDPO(%3h~-U{B)jY~9hlo&aa+ZCN4hqc4D z8_CL^_&IaUK!~*4iz6=M)D&MTTFSxn`<@2vhw5H4voT$E)l}ustKe=7 zg3f0H?Kcz8zuy>C+-v2On4@t+^le{hWjKXnr3Qe|ybWJ#AHUP8pp#dv*{whv>Tl`h zENF6?ZnONA!OnmOLkx-UbnX}u1#K1U|w$VDAQFZZ{Fc;&@jtWY~90K5$eWAqdQ9$g81WiA50t( zh51C;L|vl49)$?KKtCTSK%u^(%ts+)nUREhcDx!LLvm;c=Xk#@z9_NMble7wFo{t9 za2kSHil7zs@rs5c6p+${8|_J|40{Wie%m3yd5AGF+*5i9VyhZv0(LdFxQ6I-XM^Te zD-&M5ZtcZv>y&ER%o{U9ppG+_M(9b1@=iA~!-@Ac{br#X%Z*a$@!o2_2C)li|G~1- z0YxYiq4lZwt~d!U20982uMVp~(VirfF@ipcQ>+t|@bE2x5egyrBzsX>>9fyd8L zC(*x$j0mP5c=4OAvu1e%cQLT?>3*wwEa4{w%x@W@?jOw!<1sMA=Ilwgw@yjz5~>0*b$w4bGz>S zMXY)EFvh0sk;0$O|6Jp_f6=B#+l=XR?#FJ%nJt6w2BDv2-YQy~QH>!Uu|@OpOh`lw zp?6YFxJ3{DeFsoc6uyyA<``8bWb3Wt3i)F#o1D*q_*p?$T=uUC3lhE(U9zxvbkBQn z8~M=h*e~+sp-X?(R47NazT}1F4`nml{R1wk1sSNSt45@7u)J$GR_s zZn1s(XXMkfh)U0*M%_o{<@Ov;96lj-Y00BGjJ3688%gdQl!775wW#B7m?#fb+?7$G zig#?!;wVDaS&2`63CQR|fN24$tv-c5_1JcqqJs}Dcz+LflHK-8q?G%NbU|FdvY={S zk`Z!N%B<}5ZN&|;lYaO{7I@=RH2pN6=4-kj;Yd||0po9uwx42jGtd`H@t&3q zn?9Nj{bUvVDq(`2SLMgkM3A&mu%k_9k#hu2tWonp6rBZ^D6xI20EBu_ImX3_4bh9< ze=3j{tD!^r>3#Q&G4Jcevc{vp|9!t?X=|{qqq44#oGRGejvcs&+|7bZ8Y> z&QS+0Uv?`#ZoWHmQrdH?1$TWAwnjE-Ihc9TdxR3u4yXr!j%@AJ!jbv74Pfq=|mPU<-}5aO4{NQ;v=ju#GBu}^CMBF=AY0zepwdp55y?d5#4+h z&%u0#e~rCGXy3A53n>91KRFf;nQhvw)M#U!P1 zP+9e{HV7&urF})Lwq>~%gO_~%uoYmK7VeSNpnLUdmkvitd_>fWR%Rz(iVwb4(<}HB z$}Fe-KAsJUi(3{uQI781eX%s?K=F>g7lJ8C$~SL^@%m$HW4EL06b5QWUqKWP8NOqx z_QfHh)Y)~xACDh^c};{&z}c(OX-RH6M{kDsPdv6p%6~5(l;;#PHUI9Y@oN}ms2S;* zpb#Pzg%!vLFy0}RC%oQP#_qJ%afjj=%QXigGW5=unNrK8ncs*LYOWCm_S^?n%ezj6 z3kJ@iHNGd%Esb%@b4{d4h{=^A68QevlQJP!hEJe4SI7lLRy*1Nk$cYK^wnr>lu_P3 zqfwz_t@&GAwP0p3X=KP;_V>+r^*OxE3u}xc8nO4S3U6z0M11aiOf%=~9dfZV z6IVOb>+&}fe!W)#j=D9P_;G$RiTQAhc(QTGNE2J3w=!?f%hDo#w=-&1cJPhZ7}tr* z=jZEG7@MzA${@0?=RpjSF1Y-s#Z z{nk=7Q9=+RfiYv%FNb`jez|8T5IPDP&qxt~4~QcspV<rMAQ?{PBASLhYgVh}e$* z=ODrju2f_nmE1NG#%Wc_ak;@rj(@xjpn*A|cirXY=;IR~Kkwb%{V=!m#1`s2Z$eEL z9dT2V9Op3u+Ni&fR;ul0ww;ovbk*`!w_nF5(lSfIt_s?Xt^eK}(RMwvN;6joRbd=x zbPf51#}iujST*A})GrTBU6X9GCG5V9Lm=4}|Db3YGp#EyFFZzF4Zx52$F_u8vhk|lzb;E#l9 z>4gML&q^>o%l!DQ4S}t?_wC-j=eH2gcT`Jlf1KBHi*>)&s9H9oN^+V;RT?E?4wt^3 zFsS$?5jAebjimqnW7+Ghz^r>o-?psK0cnC(sehA7n*>5X)h}j?LAOjsf*p@rCr=I) zwyospUq)aEi3IolDaH;OctJDRVKdkWaIfLsz#+mR!6Cz;z`ccg2ZsuW28RxZ0fz~P z1@|8A1KdZr|6B_P4i^p&4j+yHju4Irju?&vjuegzjvVe2+-EonxG!*D;V9v#;Hcqf z;Ar9K;OOBP;27bU;F#f9;8@|<;Mn0f;5gy9;JD#<;CSKq;P~ML-~{1>;Dq76!HK|$ z!im9&!%4tN!b!nN!^yzO!pXtO!zsWi!YRQi!>Pcj!l}Wj!)d^2!fC;2!|A~3!s#{5 zVC&Q4Q?s+Pv2xS1uu#K8`-xe>!A#uP)tpA0kBx-sJWkBRi z*@3+5^jDV(5X-J#mKoT6I;pYIZ2Jzj!L;L#LgP0xb%tLsF`|DdcFmm3t-QiMNo`g@ zPv*>X|4odb^YBMVepDaB=)gZ>xucUo3NfJmY^Lkj;9)PM4UB(l)M`H8z0^SA#$uuL zGQxjyL4!188B^}Nx5Es3Jiw-Ae&JHq+adf_bXt1`9p9)HbQEo~o7HaOVEWPO?v<{L z=X(5jq!F(`xgLL*xTH>@(%=4+JBqccmRCVP(yB_*X2u37w`nsvKHk=Ie=ZiQ83ruu z7`eDBEBgzWzPrSfN_^2uPo#%~V|V%b z9FV}*4WB64`qDzZw5&`CV&E2y&+Rcx2-<=MyXZNZ1TL{bnyFkvVk-xkhY0!Je@e($ z%1|N?J4}O?vFLTeWK4o&G#5+~Mw`_mvh-F-W*HSO1eW1D$x`dOFTd9(SPtui%GCPy zXjNdYbGf8Ws|7VQl#N#!r8aZBd|c5V>>#-)l5_dEE=R42ZNaR!UGMu1J@MeW$>S2m z^1VWmxtG z@1QRv7sLk~`cp4-a+rYAhYG>jsopY|D>n%iLgmBTX6)aZD#XHuheKh3_6A83d+^Bnq)i;lZ1ZNHj8wI*8b)SXWP2phc6v6 zc)FpnRFpvlW;wL$1^@3PrnLY~L5kNaJ0)Lp3vp>VG12Y6hS$cq$f7y-L&%q&Dp5N9 z&Xho2w=dOMYnzKNtG?5WjkBY6bUJzw3e51yvJ82vtDZH^E|+j?f-TeZ8&$Ekg<`(X z89O5lrUZ|U$Zy=>v{y>-=pe+dQh&EH=F*Gy&WlTucGkKz+mHtcph+(rNcjEboBn^n zD^BSj+IHtJR`nw6S^ZwUPiI?LFi{&=(X}1XmW!aPB{aP_UJ;*W9FVC*sxK9Fr@|M{ zt-SdtgR_!1RV5>1f&EOw0L{R6)_y3R+)EBf&>qZ`}<#l-*)9BU<628b+4ii9~F>~ylCCS`R zM(Y=F%_`}Kbg|>WR1}k(A9nQycloHXN4cXRD>o6KuKV>4=qPoQ0k=*W=$~fvIN`c8-?TBHHCI(VP?R`7zm({#&#BQm{&lo? zVK362*S{ptcE%Ch4i0xKURrqe{a;xLtNAAL*C|x+ZqzDzfY;qB~B2fc%Zlr0VR{&hr+}@_-=jqmu>9Ftrk9b*=^^nq> zHA-$D3G%CuCFK=WiSaN>HG_NAV4v6e*)9BIH!+%D%2qu1e;wjI5T6NXP%hin=C~|^ z3?!C=ry0u>BMll?n2WK?+;xr~t!*W>4Wh9{QETwVT;@Pe_>lZE#FEQ8BQaX98Du1N_voc(!k$O)deKv@rbL6P*6 z@jr$9PCA+ASeFoI7`<)K(gj<0UH|n}X&Hc`6qw4(YljO#3Q4B*ga2e2j>MjJZMW+eb^b?I1`)juSOW~IRuIlA*1q};B1X++p+g4| zm3$%B+4F|!1#`^D;z_0-d*cjyNyzpCl3K=VfvJvR`0FcMq1DJaInjTd;fo?*+(6T@rs^Ra9sq(*@^SK zKd*m9pzW`v)MtE!mk27DL;@^t7?|Gavb+QV91qMV)R;pv1zk;Yn*6aPGQfdP!JoMy z{GmXH;jX)tFI~E^L-V(eWi=#EN4v1!&jJ&DB71$yUwHap2q3u+Y4U_xHPok$l7lu zUV2=@3^$;*R@?SrWxFAx&3Kynas!kWx_8)gmDnuWXl|}@RzmYmVN-rFS}I)Z3{63S*bi?0&Ag%K~>EoK`x9iQ7s;w$6Ya33L%8>)-os7a-rCfDwh4!q* zZ`$DNj@62J#-Os=E*Uo2Ji5E__pS^^m6gI2wi5xwxnj4Udm9pHXyWhy|GoP^w_WGV zl^HKvitc(RKR3^{+LFn84nNOn{-U@!(-C?|N&#^wVznEjtuTAppr$jo?q2^JqDp{& ziyYVeN-OK3%IXhoLKAq}z1K%tR*!c-)oH-{_J3vtZ2zjRfvsmXB$rfrE)e;k97(#; zr5y?UYSIr@D0Sz*RqN5^>hv=6hyBT+)fLhUbG$sf(K>Rl8`WLOV*`k==NKD#C@Gi9i zm~}z2BC3>2)oy3yy`AMF(D@u(%7saJo=$o+ZnJ#8F)llwe5F*p0&NNZ-55jPX|9V` za3Nd+Ur{Ez?nIK&58vt*)bZS{QY3&~HW=%4^pqm(78Yjn(mAi^Mn=GU%@Qo@fjx~` z#gtZBp&a3qHIk-Ov!{8IrWNN|&6 zjfwwy4KqJCd>RP=zv_aWL4@1xCaAmI_J}QBw8EzTjrSi|rdQ*=Jq(h!bQ)gq)>W@> z%)*;zn9c9e^{sQ|5{uw?1a?J^d_^NT-IMVXv)i*p*ff8};QliWx!3+I1TVTh5FfSr z^Ym|?N>y9gULGR&m8`klBOo=s@q0SXc_N-ztO9xV>j0IrSe1@80S)6v>Y5Qe$=AoD z%))NFrEN^5eRx3(2kVpj6P^7Z(acD9NC)un8K7AYORs&Ja)eX~^#p3*ol+nH#n4&S z4w{TMiALLth>R8v;Qbs}4|`ubqg8Q@OYhe&3;OS(O~re9pieeZjdGw=HfyE$Ls;vQ z4ZumfBdCwxBzVLhJ+#Ufspl*$aHFIYJHnco?KIF(bCDGbUdeXo~fek+f~&MjCwRg*C?HaoN@S z$JAL9$}Eb0rMmKu$)j!OuJbrP%B(;i+>msX_Oj8l{~B8i>gI@D!M0ZV!+w>hrXM zlrU6!HS5MM*z75!SI>JL+J3_uKB7+v5FI}Yrkp;{H8Ba4i&@o<%oMjMG0Gm`&4rcD zQKW-!8k+aDz17_#fMg;;@Y^CiWof$7ei|C=3ZEp1afC z*=PN!9?JXtEf820sZSMfMC*J34nWM$+w;tZ%}-NGww%8kK-OT1FYgcV=iVhDhgDP+ zi?G@p4P*S$DUk}{^fbG$-9xszMnl!@NF=V<3N@JTYL@tXdj0v8WhD56jcHkwI&lk^ zE3b#WrO|Py|8?2`RW;^Rn=Z*#hK=h!)f6`t)w;gl6cXSqc{};s_uzBtxBc=Gb3i~8 zr`@$=9f{}XigqY26JY>=0^~;=uz}5NgV&X0&#FzbDWAXoL%Br2=dk%9=#*wmcDB4c7vHcZEYi4iR;M$ z1@rL2hr!o6zkv_=tAD7pEvGe1qKA-eifF<+VIPR7dvdMHo+(yVK^W$hJGzKdIxto6St zOzPj!HJqEr<9bE#fwmL(ov0|?WWhrL7s~~y)>_!u)=1OYlPF^--?e9bt^~t+UK5_x zv}{v>p*EPn!cBrvQddtUf62WxkFHXJKccun<6(u_s$x>p7PqOj=IUGTye^uS4WoV~ z*b%(Y^WT*OnHn1n0B*K#>uS2t(-#c)^8FF8wd+&A z{rEIRyuD0^k=4c6;V)f*`qn(WNd`6b@_9Y8I!{?Wi7IIPfG*B@nW@`qwwGmZmnK!S zZt7oa^T6_?cUAv;#on5fc5N!gew)OvP0fZ$zh3;`_j_&|CIb)E`*Z(6u&fhS%Fl9Q zG7lTxQy9XRxqyh2izg$zFf4z4I0HCCI1rps6PCZR-Y0;an~hoC+}^^~lJyfS8z&np zmyi$!s*9_$xv?Dvs%OTSpWc|?pxdHvZP(ec;FJHvgFP%A=59;v{&BT-o5yNRfA{Nn z2#4Kl!-o>EvlZFDfkY0sva)y5Z{K^BP<(i&g7ese_OVR)n?&V^4f*@GvC1NG`)Cx> z;lXr|f$AYZDtN)c-{zJVHitlV-+1eBYtCe|P@z+A&(5C_{C?p2?B)D426~;K1Pj}I z2?DTth9R@Fpyz8j=FaC~;pY|@VGr5;)0AL#;{PfS_<@&7SCgl3m=fL*}G8>ct z^M%!yR)oz$d$WN9x$5VE;x3rStltO>1cTyt-XGxK0Y08KJiK0%!LZAHcwa6rL4Nl; z><3U3wZ}GQzgszGf9SP?KYxbr9eLr?B=j-@elUdD&jFPhh(F~9E-&$6D=Gfx0CcMO z4m5fIdP$n>^nJ{XfgT}lk{3S#c+PrC+_39)*yX0*6@C!}#^CxO@)kIMiGk_7Kx33% zde2~gCxP?9EtD<(gGQ|CcaJFveh`$+VSM5Ht7qnn;KQ>{r9EoUv*bOov6{00A(Bx+L&)q@aCHd!x-HNJlDlcAHon@a5ab^QKxowuS`JT5T^C(5Z4nt4YQnId zr=GUnbqA@1Wt(RLu90EwMo=imH2L0*5P#y@%D zkv;J=o0{9+06+9}?3F&jlu7J!+mIQx>rhdp=Cj!%kl&DWH>te>ObEtk-WqiY0YadJ z3G5)Ga{;>ppYku-ZGJ5@ZS|WOr;G~&w3(B-UipO*ox}$j7OEGaZy5_3rSYFt6TRE#T=xJkG#RciM!)$rHsV>+H8rLiA72 z(3I?^r|0J&uO$Ngv--`L<)>^Gl9z(Q(aD$iBp6va{o+NOYv=sPOO0GY_9hr|=5hn? zWanbijY|2^`Ynm4XG#aakXhYip``ct{2UEFGS!>}CUu{LEbY8jvY?Tf+0G|VR&5iL zz{rf>+(eTe|Bsl+ZOE}s)fsc~7544(w);z7QmRg`8y`%T54JCUaM5&pmwC`G3t4z{ zmVsEzc=bNg33t^%9+uN*9&8p+2rV3HTw_|C4IS<$nJT+~^$ z*GUUIA-dUpiLSo1eId`zu6ddCdls?T468i5I+MacsrJFO7%;A3k2y;L^+QwE!NA!p zl;&&^!Uu)LSQO=hnl_oMHlQVwpz((!VE!hYALd|ru;ve&4UfL_{hl_o{Sbg%`0y+w zC+($3bnK0>X=y=5?RD%ob$X_oHAZ~d+-htNabndYZK|A@KJ+wl6Ef>+so+2Lo!Z!a zB(HrEKsK~kOgVTio6iLBpZsQ^FGbx+nB}>#lZwedkxff<6Ny z-uuDNcvn1Tabb!>t7Ns8Y=Q!ZmsxFB$@6|zi?iV~JqgLTRY_1PANRq(LtVo5b|ZGa z-Bo7L*57w+{saD-hmJ4p-7mr50~P*F+nROGrO)YWVE6X^ z(@j^=&ikCLLlv9RAWi#$*|v&FGO+v3%ky#gh{|v74NI>}0Uy7f+N85h2S~y~G)g73 z>A2k;l3ro(d)E2kjD^R4?Nr#FWtYo$$??8IaP-cBUE5`)Nv|!d##sbNIjeQvw6*hD z`Rmhnn%%&b#rqiwdAa}D2F&xByf!Q> z$Ocm<&9a=$AsgpjqvxJhH_unDFZO(0NfVn&kh8+8)r04v-C>BFPNQO%X)|g}C^zMU ze~Q_SkUlkriTq&HS2qAlrtWlhmU4a26?gU~_J#Xk&Q!X!mn!MJ|6JBPt=W2pw8%B1 zFki;ux=DuU8#TnOnbv#FjW6Dp%>VPQFKwnUekX}PyDx(;r>{UJIp!HUIqKQl$q=ky ztWYH?g)8cW==;3_mrnX!Pq`VH)1n!F&gURUeu20u5HXoNL<&&*HA&fVlzROnZ>{nI zQ|HT)E_MDTrM5mfRL@=fF-tCOzP@w;G6RFeYhK!VS3z9j_l66i1SszSYJu!aK%o0c zsmG^RDH#8wI&*Ng%zHnM?sK(+(JKE%=m_9G!7dilx-K1(h*|N&V zs-5x}SnqHnOYzC#oxhjXE7b_bXMv<;P^GBNLAt+WfJ4HNU*5yq1)Kcuh@Y+*iggNt z(RYPz6st_7c?i_X^h6mG{-hi*t3ljGW@T&|a9adZH}()^@P*<>4rga8clQy~gbXb7 z8EDO!rRcSZ5LE>|N;71fxekaZ#}3AJ!3X||QaH9d9|sbdnjosyQ*6lH>eMxNT<&=V z5DjJ)K%Ono8Q|O`SxJy95gVdf znJv23WYT||+b1umn16bX9x=|{&)(GRZFiyqiz9M=Wi(&P2l|YKNqrhWkPPMs;%c2O z>{iz5&c3>Ey%$PmZ>2s~z%p&>sdoTHrD_h~d}{NE@B`5z2F<%N+_YA8CicX+qUWb; zgQW=wTg(fSw>wst8{ie{5c-Sp9OP`==t*9MB;k0kdDNCAg?cVUz;n+ZI z^_^e_rgs2S*y>rFLDM=I&g8h-#Cs7&`)WWZ+)Gl~zVSWY(DRw<0x0~q;i+oFfp&Oo zP%SPck@Kf967^g_bvgd!=xtQ!s^v8>lft&d`~Wj)o>B^biyxJm7h*f5spvdf+1gxFM=M~x3jtLz=>=qdo(x^c>q zC`ZaAc}_J=Y_Bl~Gi32CF9u|n6L}3bPs%cOB9By7R%oonH_{ANA!UW`ltP(QnKAE@ zEJnKG2IkHA>aUBtQtKwLDR(a#}ne{Bk}sw6I>E}tg8W=kdb4_tFJnb6P86DS3I-8xXU zI_{h~bqY~1+2xF$X?4}Q>bYrOmPNhwwh+vYk!Y6HyZ<(^Ol+2a9?`wity!gE?Vy_e zU1l05{Ol(FPSmkQVKOoML>z0CFlh}h)jO_p_1#3%CGftZ0^7bN;Uha>(cF+~FZ0kS zI_puujDOIQ!PVt;r`5`p8(gyYC`HW?+S$hK$U1$-9pW`@=!wYLBc5z)0tjm&H) zk)os#=jzwnU*pdby*<-Mev0BpOsy$?J(lN%3|vunraRrZ~2T%r!~BczXm z8a|ueuGQ3H3tGmhI2!|3vlN_)Y@y!M9}~}F0()gXWmb4JzFsxrWKz9V92s^r`01YL z)H^ps>yi<)4`v@%rrPCEaSD!}rC?fA@yif#?IHj33KjorE)`Ej9v zUa13fzHM@xJ0-1;Ont(`C56!hkpg=v;-D-zK}8XV1|`2lq@)apyJb>UqUThMH~Cn> z6nLQccZThIOIq-wtK_^8--nEG2~n~rRnCy;{e^3-{>4uxXNaAeG)zPWMnze>LpNuI zjIt7CcWxqf`1O%?$oN98)6 z=U>e+XCNadOu?#vo>vi%0b*6|Hx?O~k|au*FlJ$jx=R*%muYvy9&wc9g+EOz*Y!)c zvu#8)zb;d9sB^3f2aP8;5l)&(?L{biavkJbTkp;#h9>cbxJQ)h^nR?edlfXzy0&dY z^7Z7jpvu0}ddekon^?364dLYUo~81a%+3=ADdr5j2G($3qwE6JKbY&s*&=6o6hwEg z<*2XN;n#86nLQ5L6j*THm3KbLCp#N7QujI83Ym1j9i!uj#lL4Rl=4XU5jon)K|C8 z36*%@a6DmLpfX?F(%$dK07}*yUs`c~dhTQ=WI?pFEA=S)=$VBQRVfpPe3F%sza`^p z2)bf){QK_YM<=3n*a;62^ENBN zOSkc~Sf|}FJC+#4Xkmpv-`@zG#iP*Q$P8Tp(9ory!Q)*v*5f?GFB`Hj_V3z@OCt02e z1{B?_Z!qnm`0oN-EASY{u;}7wGwDI3;)^YKI&It-?>h3Fb#Scwsfl_uD+q|M?ips7 z<&-CNY*Y>QxE2RO=8Lf<0D&fj0zg`U!`2Dzfrn0zjQS+D#Y){JS^B5vbX6o++`t0#JCh;GboO2#^VUso*@GK_-W zVT?(j@#4$7D~`m>sM*oU8LKUGrzKW7Xc$f|Z6YVx%vBRcydYz)%fd<V$Q6uIc{*LvoY2%UpQ^SV z$7PH7C>P*>n#egvCojBfMnW&Zp#zN z8yndF1`(Y%084%EMsr=BKKw0?qE*e)AV1!PtJJz8>Z-0!5YtKDZp~H7)O2c}w-Tl* z+%%BxDyc44VO>A+4nK}_-u?9`>dsK<5_1(&l}$bSo={d~SP7>}KFXX@JMg=25B%6s z_=gp>-}1paKh;)#e|5mIoC~_V(v>(}R!9f4?NMe>Qwz|6c}PS|W?`M=(|TH!FhbYx zWxo_pt6=)QDYa2Vq($YEc0H2`GsMa%P+61=&tWRA8ZX{6faE}EaxrC6`&P*t2YMxE z-{R!|neII}wV$&5Y1sTj7pP4H6ldP3{kFxSv$xoGU46CskwGA0zQA2wTahY#(wp9Z zcZM`TO;9tlo4>8|xaUX#dESWyi8<_+%cp(831$Bq6xD{+bG(GJQ~Krgp^?&~z|Qw6 zRyX@Z-aImP(jq z;WlB4!VS$EQtC6UIHb}*$J}K7c6i|umGYdM@-5}Hz(yy#_SsqB;vY-G*S95Cj~|3n zj;iiohD5%VD}0)dZ&U_iAesVWZCCdB0=eU2P9(Nt%Gp_4&fvu( zn11P=-^AgWN-&H^D)jPK(l(MSG!OL6YAsweqpejIvv3d*o_hi|qBED@Y*CYq+Xtt5 z+gP>rsQvh`%jx%{Q3*A7GohUqS$e)R8)t;JU8A6Uz_Mo)_6JK!_@I-qj#_fah&ES; zmGil*CcqU5yI{RaSq0x{_B z<&%?(s339wDzP@KdWp=j5iP<&j06)m#_3^vMhuBv*0un z4k_NkNA^J~n}9-jDMYZmBenDA%g-cyWyL`kqVgV?rWt}Z^b`kcdIIf&nEEldlJ|u_ zikW^4_Wj-NT4)r+O3!xkBhto6~W+eYvS6N5)H$PEp z5#=H9ZY&wH54IiRae0=FEZKaCmD76iV>d2OuNsq$=t*v0?li3qwKpHMi* zr*5JsGuLpYrCX)tGkGAHB_^8b#?39%)L^rg z+s>F?C}p^zXPV=FpP7fN2N-@tEfo?FBl}#KeTc6YSSHTWE7dWtv)jVwTWOt(;oYDgyj^4Q zEtPVTovcQp6aKA!Z6F__*{L*@>w(m(0BjixQ z@YpVM_M#|w<g)!SJn5Ag8&HnAlrxm7!75#WOUl*f2axIRJz zkPqitE#EqEQrps%NeNTjJ(7O147uWNytU{!-EySbBw@rBq5=6wRl94Dtqi!sYHAxv z5)-j@%YF>0eQTq0fN;FsS#M4>mFX(IoWD0B*3BQ~s>r>JU)=in(|BERBNv8Qh*E5M7%(&&U@R1L+ z2BdB+RUptTw0LE^bE2aR`))rdWMClE+P}kBHIXV0o7(4n^h+Wxg(*wz4D2TZ(*ka1 zcJj=DW;u%q{acs_N3Ysmb=5g2(SKB8FeTRnyK4-7?gW-sP$m@%;9t$Xp2waYBQ&qkbXZ)}LFP`^Cun(`{YdgYWFdWT z6FEvM`nItNbgwd3#Qu9PM_bBwk>LFa5=@?c&GPLz?YDuf2q{8;@0;a6Vj_N>>?f}^ zWh?_@7pZ%Z^7Vf3E;W?^7zmvaLJfs4!;d9kO)g3kXH?T4mDLzTnHzefzy`4rl#Eq7 zA56~L`M2r3?|Q+|kyxCajp=7Ocxr`L+(yC`T8mcG!J)}kz~)d*Vw+K(T}VsWdnHO7 z(**6l;zf3NkYf1I0OgvxlGHB25J}0IkKj^ooJx@?PriFShv&akLS$2YhwYip$dlF7 z#Hqnsvw@-MV&`Lzwv*upENzRGzPmoD{n3o>Q2Hww>smf~A$Z}KuMcDwE^f6kd%F71 zLW+4bmhTU+MCZVJQRv2Ik=tbQ33kO6HE5w`^z)RLF&?arGK%qxl22dQxF|9jK#uXk z?GPRkl2}_xhX1>k0AKM8gnyVkEjzkAp;s!n%T<0&ur0Pf#yzbGu)H7ie!O2#tMUc7 zqKjffg%mbXejf;mgHKjmD5kQq!&%)QRr#7(AfN@b>ZI(J)iU+yDR&L5Qi(xB$V@l= zer@fodIJ|$Y_aDA((~iA7)(~}rI%X5$ICT87%!`}T5y+@S}@d5sf@Pz6o^3(JuAfA z90dD?H;ekTqaXqV<%6#`+`D5K=ibrtK|Kf*uHPC#nOFB{6-F1*K4n|4uo{7@A%iDn zCpOmKTR$6-un3lV3*-cN3p~c{XsM}{6`41j67O9I%*S|`ge2A^yJ;jZSFZpxSBGln z5QTG|bKmLF{5kedf{#v;>-4Q3_RJSn{vn*?SFZew$81SyYB9zDRJTGi{(T|ZzbRjx z<{N57C7KB545R2m#<{Nb8C&Fx^O--uDT)dz@YoK?Fc}{_YN^Q5;FvVJUR0l%Od9s7 zAqvFv+l=HA67e$7h%mHjD7@=8!O+(0{`U~kSmI&VT}CX-|1d3UKX}oLD_??@@#@?G zbun@)?vImV^uXKKfbd5FuJrgxpMNxB4_W8Q<*hJ6&L1zkiadWA-HsM0ZDsk6v;Xjh zq)|b1Cdd8y-r1aYn)JtIJ8VIWf^p1k{xz|e-P9K!GJ_X72gaxz6+UG>{6v{gaK<`% zH2&L+W=rg}catNgI8dvshb$=I>Fj;Y$UBfLm;WmrYKPlp>NKEZGJLvQoFp4{!U{p$r?aj&w*pUW#zV3Ure7$cq88!Y}> z910W7t5THo3) zenT2D2FE90+C=>E%uGm)IveIk`Eqn%gg%FGxu9X1-vI)1^K*R>A z@a%R^!5}-$yG|faF8|Ap%0W->3J3rw7nIE^NlR zR#8sXAOPd5hJjfV#5TN&me`lMGz|SZ!7MJEkCM>GlA}R8d`tsouC#Gx2D#Hb+D>YEW%h~jhnt9@&N(_*%Kd)VnDJZLXN^1NfDe)RTSN2 z@A_gf2S6SOPA5xGx%4nF;`L2Ehs}4 zi+R3xbDs9kvouZwLO3^)aSRSD%)jROM>gud1cg*&;nG%<%l;*+)9&8H6aFBDUxDy@ z)ds-qpmp2#+4Y?}Y^e@P$+S%G&2sB2Oi?f`5rt5$I5?VA$+!01w`gxnzVa ztV@MCj3q=~gc=x73if@%*zYkSz zyyc@Z59bR_jz{HO+4t`tIgxrlh`IYVvXWh^EhS1f0n_92iogcq@wbA@E5!|mU*bTX z0RLnb#GlKqU37TQ+jw(XpLmJJt#u>ZAIUoa)Dx zsG3(fWnB>xix8II5tAhR*R)e!ms!uF_`PW%jB3jLonVH0&%|!;?;O_|-N_o?5$25; z@$vtQv9}DWBWl`30|^j<1qf~-1h?Ss8r)q1gy8NvxVyW%2Hn8M-Q8tx+})j%_xsK{ z_nsf8?(OPlre>2$wYvKm{S7`O2u*l~Q7-qQ+`{wh1i2}=2(Uuxn9Ry}?@DT) zLw>_ecdRCih^%tBfS#u!C}cKv1mmN?#`w5Kp`M=HaFlevoc2zDDXOP|u)>CKGv`17 z-h@VHhIs78%qJ^`ip>$mBV(TFB!Zd}Py_Gl?8;{zwW#t~ppHEFS>gH(e6p+#!54fv z-#%K+tJNBJ0^TvI1G-eh+EN_pN)tsH_#DGdE;;z(G)~6iX8y}kgYko1A!OrN`z&KX znzwvq1ApA$k@EJMNnTXW58pb^CsdNX2c=^7*se$a204wEuv@b<0h_QYVk-ZTHD1YkO`8=|UpJ=E5rP2y9 z@&LV;NA0o^>z0&50dnDLU7_|%Di=)0HN~OlY*^2#JDcU$-eiPkN$PG{ULXIo|^ zSX{-B@n^(WpkDpP6q>w>Sn6Q=wME>8c97O;;=S{1kGW`tzr-xYzBE~xIV4=Ss`Vwa z$qyQ-hk7yrxwyE=D4BoXfNQI=5qZhnN1B(n+{xBdklCe{ zVlRH`$lTUO$ES568)cUss}u^&Pee{YEa?XubnTV1q zbr(3LnD0E&s5Mpq?llirb+`kUAI#)Nw7Pp9>G*R3#}-8x?gXtQkby801|Q8Z#mG!e zb$EXuV(RHHt!!cT*YX<}aQoLJxf6ybtT93!)JjCBD5hUGRSPssM+zc+OzL&;^##-l zal>yD?{77~dt=3Wua*e}6I0V8LSYW*A~zZD`YM%<#5TCYItB`^CDiV7)G(}c&c}Z3 zRJhy$jOxWnhofp~mfPlJapP%Oay_c<+zGBm8eF)( zqdXdUxIDJzZxb|hm+ORn+~XA)&)_<29nCTp|9W%{-v#9bB$@{FPoCh9lbKR@#rDB~ zr0HNXKXd!gU-l> zX@|sPrN)Koi{InyT|4Gdbbce_YQIHXOca%_Vvqr05_F=5g_{Yfzz+}6@QsDJ`256~0IpxrjT$!%RR_JN)(sieN_g9=Lpwh8V@}NxS#wzcaX5P} zH)ly4vj^h~_lMJsz)XG5=P0RUhg|7uJPu#a7;Z8;WPAg;j?n2+J+tV1P@+~7QiHd{ zFPgtbd#9wobfHS_O9Lj1Fy%tvA8LOMIPe;OeU_)G=biIpAv%L?;(E?|cE)%Vs#J&g zAwlV5)Zu9`6{=9ZON3ev(Z&B7n+3!WJ5u0N!L2y z^_REFsLw=*TxLJQE<7-tV8FPjRXY2g^$2W*GX2^9F5MmC%@Y#saY$CMhMedV#6+`3 zzFB(Yqx7AFmS5)Kdhc$lvbkN#ilog#%Q;QkHd~@~e+KL3%OOP*s!kH$@Z>xcSk1Zgza^BYE9rE~> zaz$gkC=mBrs11RbLFrk+)Up2ZNeT8~X#{tYocoSgW$6oU2&MfK62X!To^IF;;XF2B zWp)?Ew$tgd*3Yr@T4A~~P3H=wcLGzKm+qeS&NuT3?C0UW(zz?_z3LSMj<>8d9K=d9)eFC+Wvv{to??g|8BMsEB5YnF* zmz|k}t?)EuCwEL1wsI6oWre9i+?(EaSS67d{CNts{_wLl&_34Q*jVt5p^HhS{7-Y+ z6lcD2=ZU#A#_}SA8P2+Py;G~4netuH*cA^aRtZIPELUgnCzLY8 z>j>XHgWsi%eE29)F#6P!T;4QB3fe51Rh7relStzU+O|nbgXqcmKeFK#!xkwa&hKc) zHA{?g*do0pfS=?VJMwj7S(5~$4MOsnzv-Esuq7dt2Pq*l-7b7B?;_DI^Y!yX+Z?HS z?%=}D6O@s5EBu-`=RVXB5ICOC7xsFWOxmfM;8wCG3IyfFc0C53DVIVKCl#1s7ouTm zwa%7H+==PnMa&X+v#rKw_8LY>{%x@WB*Q7Xv6V%W0FI?A7n~N+4-PH*;|_O9;nSQ? z=F1<}SfrT3+w_F+j;QQ8qKjcL_4(i5J*kWD%MQ2 zBukP`bn+`({LSdOSwWU8e#JQK(GWsL`TS+i*rdSt8U9wmM)u7wqDS)m_<>$oKDJL> ztED}a+ji5fHha*66;7f+4yYv2p4HQO_*G}U#~-j`9?e=UMDuE*ZW~zkNXMbDxT%ul z`@}f^J_q}e`vw2g&ahD@{#2C$=gFIFDp}4?)h(K}HXYGjpT?SeDiTqp5Z?AsJA{L4Y9Kfx7^$b))6MsBj8jFf}1xo;sjq1z+l#v~W)A%|9@hEf=1V2i-g>PJ}UL zp=v4K>C+*hOby~J-27e*`T_a0wJP`YB!@=FjXn8(#>=$oje$xn(29_$w5#Fj2LcY% z73HLtaC0LD#aM%*4l~TDuyJqWK!$>KSHO!T8vowo{93h@T#CSR`-v4-RCETLZaujw zNmDx!S+YIKmX!v_-jBg|M>TV5>NhQ{lKZlqF5;#fo$B#aJ26)<4D}&X_amcJWqq!t5fRe3Ony$%p#kDk zw!LV97A`Ory&ti*coA_bjgD$tl;X#i3OJ+elyEA#EbmmP2+(m7I5YsAxe`{fbdsn# zSb2i9N$_fd(LW|5EaHLpMNB%0s?iBcLp#j3AQ+|OZhKAhrGVTB`a(6)-+$FeqKoxu z25-T#`@@852(HjPMeKU?W7@^EVgS>@XW`7Zy3zKBYm&;a*eIM9{6qAG|8;vzm;$l; zPxV-LbLfZDOXByg#ZjDtzs+S;TphDZm$un8);$PBM100d^%>GOV?q6TSi@BrU47;|0Fn1r1W<1ORH{#djh2PYd%_v zyc^J&Sc0JXK13dsa*>IsiKe$5|EC z=82~_C;2ul4$X{XN9#h6=2x>5w|OdC&{1qxt0$}^6(iB+r->F-H#Yw0NMZfUKQ~2{ zr)Ofyvk~e3I>9Pi5|R2~c%8X&$b6GTXsv0cpKK2WHZT{D zKHca`pI+JaELS(^3_i8hA9QOqCthn^Q7PVX-5BBy>W4u!Wy3(yp}mkH&@RkIU_o0< z;=x|f31PGgxs&c9jvA%EVN%H{QmA$7-^K|gXkvp&%*TEQU}*(l^IasE~Z zTIgzXJC9+7a=4@ooJecpU=VOgwLI>h+D53X`Ztqq%#=~c7cJ2}A<=n5bZ?Q+_sS0h*cgizrbzDw z=0oWFa*H-`c9dUD)4PE1=C4z)vjnKQ?=#}&!8kjQhx~~@eMUQ_WhUe4rGg3reah8)? zB3*BqFCex>mMmp{@w1lL(OW?WE^3E)yUGqR09hDtjH#ygQoI{-Yvvx8U-o~Cq-BC^ zp;T(gJ^)lG9&IitFZMC`E)I!3D;Pk^Dg=JgX$%}~P@RZZg)%kv?ud1@I75#@|Bt>R zqGMoYWDdhUn@YP?2${mlc-8%*$4a<_#5{ZFbo~cU7mxbpkIqFm=9&fl3^4ceRm+rs z0iH+%@BHbZ)DLl}g?X>sy0qN+IYYU5;Atf|p_;V(K zr}k6TRAZQg(%E^S?gFkc&AlXhF47Ii()_S`psRdGSJF=A>0;thHEdaJ zJSrM9+4xqk$VD%UHRnNX=(f_FbQwKM3&~!Le z8`32AUuP6r&}8;`sqsiZ|1ZFay5ZYnZvI9U(zTF%hk+@5%w0=dFpt|N&wJUQJq@AD zN>OF)30)?2X07pNh9MtCpOH#~(9a=5c1B_ zYh4ay(q*7imyKG$k({#R19+3P41>qnc}IYZM|E21$qqS!U8F*X&Snwcb?QJ@WrFZl zV3wUN@J_5w%oObx)|x80x?y#9E7Gtm9*S-gy7h?El6Eepg{JjVBCo2OY~@eI+p@vN zW~!$&(YkEY59{o|-e7_LpRd^@0#b;bOG|vpgjYfju_Do-d)0SA{T)1PQBgK!-45;| z_b9g`t<*`)o?Z;M%X;4}CPy}E92PQ8;J9bqBFifMD#iPJ?))S1y6}4;(XgJwzPjN_;cJ zJsTIZw_t<6a}-DZ_j6#c$xPX+*JksF88uqk1hrJ3}e>Kbt*o#)Q$aC%>=#9;6%m3 zf8);s+P+tlfm-`+O9;8PRqo$Vx%r~X1myJ0 zDipQy!c${+;{m4!qDs`><8Nw$xt+;12_ndUs!yaIt9r$3#gh63s3>7xjy$8hz7{c0 z|K*4suCCk1h*xYM*WCNFrSy>Oy)64nMuhPts+vd4|ML^TXjIs#DOexV-?_fBaUV6z z6uLALzB(qFtsu_D8`TjmkyYu2&xJRfg4U$%D34`yuR6MZLeW_a!Ll(ku@89bhV)y? z4WPZ`)fQ#KR-kY%j8WwNX}2TSt0G_5?#aJrovkjk$YwOosJHf%`%|voAxTT7MV6Dm zxEouWoV5ykaeKM9L`Q-n(a!k?#K z3882`Ftz?IpSNlO8Ycb{pE#2Sh4X~vkE6X}=sO209*o2fFfTXsl>RV0mu!`5_ky&CPtt4{jF7+f`i;w1H8E+4=BE!6- z!g~fyz>UlNB0UgB)UJ2O6zlEDevfl;vXysSgh{HR?h)%j=2%Z8uGMCZ4k{m7) z2HO~)>uIC!BLl{j$I~8f16#YA%_wwq@W(=U&$tb$qSl|Og*^0m5lJQ(caFRbt{7wM z+aILJp`i)kw9nTF4-A)?zZrN}zMB^ILFKYJwv?uZlO3H>3lct|_Ctw%+&#nXMDze8 z&)Hr~`2GzxhJQ>G0cvq?;7#Hzgdn#qX8egj>HD(Z;Bilk(|7W-;RE7bwWT&(D>os$ zTVStws%4R_C2Y=kYiWD?PyN6MdaFN$Ck*3mG0ZDzKT`3d z6T`qTb&XDa1P1T>rJIPb7JRpO*(m_iH4^qVdQwwxWSTK|-Vzh zQ?lU+<1HJ_8%apnz->uOaO5v6?Y6xnShy{EQ)-2p#x!zAFQ^IaeEk`gWyW#HIo6gE zIYInAH$Yyno)KA&w*^O)jqO*S*MKlQ<{BKWtxI}?L^ne~laBRS`$ z^PYPQY^ z-vmTB)lZu0(hJ9x!S#E+ud7nCj)`bkQEL%}Qa-KA5rya}kNii0fg!R>(I5rMO->T$ z(E8bfnpTy(kv6d z4vw(}`}oWWEDSZ}3FNF&nOqO98FoFLXR_Tx2x-!7Y02cc7}C*$Wk{s1jz133U{U&S z`$5iM)E!yv0F6bJbG7XcFkPTCX)jsw^1Kvd%pY4-)r`U<_wCS z({K~tE=6FU=sN7uqy~Nf#fX)!gz3hUHh&3aFPnxW1I51Fi+(?4X9cFFyQbY>w0=kA ze_{HZxUbIKmX~-cN4?DvcpUXmknttVL1D+b*vC>oeXG?4To62M(KNQ!&jSjzSqYaO z!#mSQjZNd!u}M6$fLg0gLXI}kd6Sz^c&WS1yrds&Ja4e8H;}RA^9A*&n<>8E~qGCVb#RzQjaTe|8^ha5g3OUx5K_ zU9qsorB_k@dqLw{B6J;`7u58-S7e=U>+*3T zOWfStBDx1#Vk05)tR~-JMvW5>+a;*6!NCeNOZyAiO=)Eu|M+j;%C}lw5U#Zc{OKYZ z(8mTs+=+KK+r|gUpx*%_SfrZ48pHPKLGPs7MQsN}BzHxl^YL%c^R=pKLIR4u{jr!j zlbHzT>Qc5Z1%G!nk7l%wu4R_^S&&GU-F3lbDXGwyv?@C-@okvF&2Uz#j-G7rvkt%^ z(o{unGp7C5`o83wJos8nV-~XE#$bv7gwjXlrz3~ADl{rAHmzLaW2_<(hq=KY5|pb| zo#Ri7E=tDhgpYVo21SdZ#o5q{Smk+o7QVard zG}4|LB`Gmy$#kBy{pFyL={K#8w#U&o2}@laanje}Ne*HARJ?Inm_n%x4DIs*=pE$w z&8<@jb`O+aEC`vvILtJAN1~ppq*ymy(5KK+Y(I_x%U#7VbZU$`REW*UpNbfdy!$NN zw0J+h(l1A9cq7`RmlL|^)PbIvNI1|7(j6ZD_$$QIyY9pojqUhowiKRWtD0l-5q+xp zMrNk`PWP~MkHQ>3;flZKO*+~D(O<1Q4b8uDwG^33+jw_^iFDP0CDnfsdk&UuOtGyz zw&gIZM8Z-tZP%`s!q(e8t${8siDi8BNqhVSQ+srK&(RnvxZ*CR0ukH#btY3yp6}#a zS1K|H>e7u@sVVDAIy&!@KF^93e8XNwo#Jv^-8AM5?!1uG@&rlz%)XZeqBqOQnBrAL z{K|I>XjkuldU=lodLlmLB1ckw`%vkQ)YykM@a$<-__cIjQAk<5{V5{)S%&tTGasmc@l=<^e>LAYWpWJ=WAXwp4N^;c)Y{!QnuP%5Hs^520QGysunoj|5 z|ECorsxY)Y2MbMoE#~P8z@m61tn&Y;#q}xe8g_czjB40tk0Q^QyqMXooizDoWEYIx z7Sb{C`9QDTNqm^eRXCFu5R*EWq-OaIepacCn+>R*A$^(t;iL=^G{sl)JIZXe-lht! zi*WHvKluUqWHu5>nV-`-=be@DuRScA_u=DO+@<0IHN9#fXt z4#lEcF}?4;$>W@n$Y$J4;Ot0l#N!ORth0=pS3VD=GBKozUSA}&iZqiu=c{hY>N)aV zu6q$PO3NLo__GuBqIImz*xP=mb!@^YT2hACfH}O&Uqm$lz^yBNKFvQ*)fslmd%iX+ z-e9sfL9_`Evn9yq&%KI9tz$0>Bn+SDn9U2hoaf(262OZmct{OdEeh18wzJ6K&wofc zY1+YG&akz>nB{GJQk_0D7);;9?%2fktwrnqAm841r9VXsYo*Eb`>VL9+??qPA?vIF zf1}-jrunQLkldJ|YD++!EXhUonT4If3_;khhY!oM|KRhhcXY(h8ha3kmnU>0@w{MM zVSkyqh_)EYwc$L!NLE14fBUcW%I61ugY|RvG<|Trl9|OhICk9m56B z5O71E-89D1yc+RnA!k*k!6i=9ThqQK@AhU{{Vrb@=%A%aN|v+#&QB8K;npk*t2Jh` zznEAhM8M45}^Af3y2A=sXE!k9`)3Pqld?2YRsQ7X={?VW&AEMm#4cI zS8ZqkxQ|tQ)E*~|D&dl7$}F09wOpF$`P1*~j-vNzwTGpu@8sj~N5o`OH{$Q)(qPh2 zCUf;=rQQ3CA+jwM(gwXtSv24EVo975%x;H#MUXhxJYCitMy zGD>4Yyvo&W#4uMq_H0ZripkcMy0>4ov~6J~aMbJuq1i;_`2wl_3x6MhR=6frFeE=h z^m)}}g1(n)r+$YJLUZ}MztNMe%D_^YqY*9A3bP%dX-(P==c`l`t^oG*SI}6A=)rq- zqtcJ#?~HAB)V?Ri6xym|CCLpZDxC$|J3*%HhVVotc~PFo`*Y1ydMyr#CYEwYB5}{< zfleE9k$XNlh%B99oTfd}l7w29ivX8&7RBBWT&-AD?4G>W-u3yl1j+Ld8n62<#38%s zhlkg}!`tf?a2spmxt&hpbzc0oE8lTZXXEL7vq$n+sNZDwUWq`M#-jtIV*OkU>aMQt zVEKFLHIc2JoOI^3??oAf_U8|=Hq6@;(4J&Qy(FJhuM$3l@l3JFG5gIP=UKd)#9|gc zRrl>uR~pT<+Khw$)r|S!&|C6+E}4?VL$*$y7fIh?Kz~N&khyfkunJS&FWmj6zg)Rm zsEzvue^xpT9N^A&NIqLWMznByjz-EcyBGW@!Y}V=5BEAo@b=Wt(Pe|Q6tz+YTw#_! z9;-MvT_)X;_VT#Se_7WTl1P2G&(SVM499O9^UNZ7w)Wef&^PN}{?H%!CJ8}mCG~Op z`0|Fl>V|0V8mj{jVG5v}8(WdUl#~vp1k#^j3Jg14g}5Co%ExsY9uf4P(w^q3#cep> zz6c+~y*iP&Wd<+$JdK;Pfn2(Q(9F=#1pz(zX_cUD%E9>Uav7TM1dUsx^ikOAeP==< zGnle75PI(pe6g3@vn!inCTZ7hVq5?@1c_^L=0Jl@b}mp!pG^NxKAEPzK2(39(JERz z|E5JxU*H|;N_2~Z*TUc*6C?0B&swLXd*8^+&h};Q17~_l|Yklk@FQHzcx8&XF}8<)~Q|4VM~O+Dz5r7)nY%q*Q9BElX!=f2|6>3o2@Co zIGF&)l~5Uus_OolZ~DsI^Hs$ix&AF=?mI=43$EH(25!3=^n#!-tj<7PgRq+EDp zjvjis6*|a_LL0(1gWM{oh*C_$0ipwcbic~ib1?+{(Xu|(XsqM|{eWRJH#ztPvIgHR z-RAJHfi3P%H76Waf7u!DBo%f$V-I)US!r=NB5XTd(pc;?H*f)_kmgTX6?H8&?rpPR zGj+ydi?*yrJ->-PfooDNIkaIn#LWUh5UUzELeRQ$T9@X8m5P#L_-n%mGZN-~Kx(4v z>Gt+^!d}~+x#9xcEXVeDpA1W(6CqXW2n`IZdWzrhwPYC3+Rd-FE+;f5CP%y>75YC$ zJ5P$_`BR-QrzZh32&y0rlU9>oU<5 zp2XMe@Np7C;2uLjC92CRUp`FD$|xD{d~OZbERMRXz^#eBFFm1%eyrKqQTE>FLR@`S z0v)?qS5E_fQ7>J1o*;;aR3%Z~WIVa8cH_ zPzv^+ZGzh@)~HM4HBWWCfWFKkyB|~Ld>66;87Qs5_VuYR5w`)Sm0J~2VrFagjuv|N z!tY!2k>vh?EV9&_V1Rqf8ginoo7Fj3q zM#Jg02x|B1vBWH_77z|J0i%m;{~_rB)Kn z*RPlWW#6lu5wuGCl6DYg#P^KAVTFuyu~iRjUvi>mz7r+!jfLHWT7Rs_9p( zoe6;-Di%<^YngM1&oZHu;DH2E-@kK$=Xj-kKz+d3{^5p`FYuLD$fqJj^(PBTF9VhJ z)-G*D1S=}`k;u%lM?L3QUcq!G)#ToF6@lYFp2ly?$CEQb?ocFntpt-$=gW;H%pUz} zRH$Boofq!@iOQ)^&*7`b>GBSK&sOyJ#*N@KkGG4psG4(zkG9&Gp6lNCp9eiY(qCI$ zvYF=QZxfr6NEt|)HIk);vLjgKX-!g00Q657jyB(06oYZh^w9+>vl$K6U6)u7zl}sc z0FdAN9!rkgb7&D=QuEPl#kSFVVzC{0Z-Y`3w?Q6Ay3qJVx!9F?s1N(pCogZDS^s6XDc2;TpOC(eEU;S{Vm1lEF)(krpg0F0G8M zOhJ{s-_z9IG-v;+u-;0mQx_SQUhWH|e50u94xt^K9F8PI+jQy_+!jyEN*5AYB4riEO!ADLGw zWf(Atv@rNlDXw9!x592$#V%H&kxxdnIOZy+xnNa12ai8MYzVpR3wRy(W7zO3E08I8 zNXk9=?AS(@IyCk)+v-i0rU37WED^8^i6QjE{hoD<@7w$9@qnc=R9qY1JtYd5i6A%i2<25lR!h2i1Y9b?NY8RuYFNt z_l&GWN89V4d2v&j?aPB6#y_0~3XFyHr4uSWy! z{Z%vht8ndDj7eCEQkQk&%v}R>S?ThFWz_$SfV`*EDL)jLtmEfI^qUf0Kmuqd>3W#g zhDQt+8n*%`Co5;`+l02?ahX1z1R4eTZd6+ok?fn59r>d9m7jvE-bOMzFE*E*R?WX% zj#@4o%s+6vvgE&L4^m%#b`#(d8LvzFlVRO(5F38$n#l1I&n+%nDO9*bRPYjnr(}q$ z>Y94{si`0E7z^ZN_8)X6mKpw&Tdu_Ni^smaHeF z=ixhj*>^2_BpULx&}3CjLu~|{G8!j(lZlK%3HDiLVAX%z$iug-`Y1(zscyjGW)a0} z#EBiO$f(~SvVdac4v#v!;WF3(b6WG0!6!kSozugZtyUj-M^Y?d!PmyxI!Q^1e(}9p z3GQC*H*L0Ml}tkY!=j{Ew)WWHX7-aPt8^#FEJC;=QqY>Q#cQvLb74lJgqlKCWwnI) z+@ydYX)HM{GnIlNA~UTIor=Q6+Vb;BAlO8Lg!Tm|*^lqv%jh3f1Qg9^SDn>lOgafa zA$6+cL_122z_!QBFGg8dEVpfRGW{t>V6)noPp&&Q_zr0QPVd-ULJ#>~boR;@Gw=z@ zY9>&boBhgk{enSt{r&7A?jhvV#zj6Uhh;88qrD7I1_Wh-7S3dog4Pg|FlHPniVaOqhjj;u$iPnW$Z(D+miM}sHbWS0 z8N5gi>o`OD{&?((KGgX;TXl5iWM$!cnlM|&gef?dk+M3?gnedF(dFatTPp;K@84vx ztiN)cg}4{o^te)={1s5-b}`lZOd!WTn9IZMZ3FNld(|ywdN^l7nxVnIZSUz5Z%Z>i zI%13ZmWugWss7Y^@P@got9Y*0KeVni>qGvSsilc!X1j9v>&Lx}6~X}m@4~rPd56Hn z*)a16TU}y%rS=Qr%8fs#XMaZ3kuS>kiWRc8;fg}P;kCe09zI(-$7`yqPkeKGmB+4^ zoY#N`T9nRC6T3f+Jq1D3w(gv6( z7iD^Mox={`nL3s7e9hJVsY@y04}0I7DVx$5pEf6>12d*_EQW%zSslwrl#)gjpX6cI+IAHfPse>5JZMXYE#Gb5n0=?C$PnZ=dQllXMCL zy~iFE$EXdj=#03hNbTAkCSrGuz6U%-R}Vt$+e#BDeScSb^4jJroF%mA_PY}n%zq3j z4ra*Ub-N5dpqzF$ER*9;+?^VAWao;w?)`MA=bGc1UnRgEE8u**=r0j1?9H6h`UbOQ zDJ0j4{GNhHVSt&@?^v8;Y_5-Sd~V<$p^4YnoSvV~ix(fgV>Kw2@~5+{O#<+J3S!i` zF`_RsL&s$&jX!WeAIzMxMKpc*p0Vv3Qq%HR@ zl{b5cIi)n11M(s2#>qZoe0Cwd)TM!elm4S{c{iU#1JPi#kYs`391H`>7OOYWpYDd7 zYBY;Se=g74KwZjDTcKIIO(MWAF7NH9jg8p`k1X_l5yr-D&ph?t@n3(??~0|K%(J%D z%75_Q{Ws<{fzY65F5m0Gg$#^174@uTRWE$Cnwk34)bw<`{X8mTi~!j_Rzeu0&KRS& zO3vO+B1j5gwJ3Dh9tU+&cV2B*zt;n3O*28g?QgWLBOw+78x+q8e*ahLzC#C!{^NQ6#xuJ0>AwUBy|4d&9J*I}4wEk~ z3@|C471kxNzI=I=TF3lv!~ecI|Hu1%1fvqC{PX8^mt;jZ;;-!OE=|?X0$tfOR8-G@ zyFLD`w}de-kxgQT7Knxs!ddY$-S_b;2e0Z{so3*-W~ z$i8L2`l{|XY&YWe31QR;5k2`@UfvJTiI}6$;k&mI8YShnnfy*4OChjk)p0%Bte(~W zZ|F@O0HRrjQQ_J*oUgOSm)H7|sZm16_#W}A6Q|R*>Y9fO>!+%NJ6N4!O%l>f0Y|Kv z7N0#nPBbCk1=FcBcAq(^ZIZ4Qn(0{u7A-LJ+$mS+v3I#d@x9O?xdhJjh97^j=_A!y zF??w0H@r|8M|`7@e)?1nLK7~rI3|vC3fl4K2eNm!zR{vb20m;uRnXi2$l@gt z2oyCapXeC8)_o5C_rKM0M#$!K^T?P(WAZw$#Q}~6A0Hf)XJH8`uYmPhSt0Ex0)G5d zaG=itd$Wu6eb-q`ro%*;G^vF4;Z$vL)5uki6N8VWs&8Y67$Il_( z0F0aav;Hl1mqI!_`G!u%%{TFx`H0j;!Xw>C#VM*`#Q0)Nx^Hcv%O%hYP1CxDjfn{V z@>_r_4}M$VMWA$^@$bV$k@0Y?qHB>WkDxhL8||Sxc09QJH#9sFUXFg8iAX#C{-;rD zhitcMH;~(hb~K@VSt^)Hf?>vJ;Sl;k0B&q+7xRqo<-D0zUbm(FY-7BXF+Jipviq$;d@$Ob!9N)OgV8_y{s-fK`121Y|6mG2 zyEAK&L}1}&VdiGyNFEn3XZha`9|g^$zjLq)iHZn|Fwt|0iwM!PGK-1Pb1^fs&@(ZM zi?9eWiwFyeb0vcX&1wFBS%MIS%zHon3-`}Yl!IMFh*MlljFtI65&z!-`Fa1pERxZr z%)bI`KbZedj$zhS<0jReE!IvTPZ zyq^a6qp2OL*amRVT&pgKt)0u&#@-&zI#}QCS}V00Z1tJ8&iY27I9Az=%aH@9ea{XC zN;RGT$j{QlZjS&QqW(^K&B=-5)zbaVJEx;4+6&hyFM?IA>vI#nmv%ji%~Zo!cd`?H6X9dDWOmA9LP*wDO9jE=wl_erS)R`Hl_M!S(+KS5vWOjw=g^Dz+S;4%R1dpKIZ*@Pu&>f`{M zy4uBK+SmP;hGW_v4fR>c4gOOimL3i;Fv9_!;W>M3ZW{R1eD}D?zwpApa0|l$dB2B+ zcH4{9*P|OQq0=wHgA;8PY7;h4ytT0T(|_mZ(W4n?hDGhN4tw{?0*7%`p_TKm>p{Zi zj((Ur(US!Zw#~ht4d*h4ZZIf{7Q&tdSt@kBi`{&&?n8LOCK>nX36EZ0@7**4$o4T8 z{-Z2MJ6EY;jHAhnUTf9x8>gEVpivHS2uLLCEQ+cfMB#ny1k}X=(6alU)VCS9w-L@~ zu+c?y&-23GYh`Gh8d9EhP5~-6%duY?RjQf%Y||j!%?gVJ{onfbl9Wo0D(XK#N6OZH z-WaLa07*C;nqXuqT|KrOz{ovUD!tb-eNYRl*Z&q)g_FSWTNm>{R^cK+76$ zd&}S4{P*7p6irN<{2OsS}70pEw(J#y5y-lLEKk$5M5gPdCJ4q(Z}smpd^s_NZBb#D_fVg z;6}Ag(FAle$3|vCpm8^BDPk^HA3M(uK%m_jbqnU14pC$0PE$n?t_8!bu-x)|E#5m% z>g5HjbPxAF$E@NBnyhl8?7aqr@CAvy#~%}5Hiq4Y67S(w_1V?TyC9llPmO{{#yO$A%3{fBxC>Njoy2v16g!nPpze8YGrE;e4j%wc^F}E-}>CBdly;wT`>xq~J8)@O(v|~ZO&$}ng=m^ymSl!>e$G0GI zt`Ir+D-GR@!LK1gwF+km?`f%@v|E4f3o$nuNIyh9bJYeSTch4Qas%O_%WrDef9lu& zoos3g52b9FJZMAg3r1+1G`@AGIGirpbxM}I(U~l~dM+uSE|iwdV+e;TRs0}0oGKX! zE8prdETq@kZ!tpgt>U3qCsc_qIqG8TY9W65ZReFaSoJnbG+C)iBn6spxNo7?<4^}t zv&FRND$W2!D|2LF+T{{!*5!;)FG!j5UE|FP7_HK7>gB>6_W1R8rQhk9>Of0}{)F_J zfCkpXvdG^o(z@a!F5{Zo8avV6Un;XM&T^QOJbTdNd%b?H zWpJISKJ?Am6L2DOA5(1DpKCvj($k*JT($`29s-bD%KY{2SHNNVhjO~Vo6By$A$Tig zG;wE9i8kHkmSYXfM?y?MX`)_P)x}l(jC09nSMD$S?LEslJx5%%XKoGSk9ry)Whj9~ z!!1v9l59tvg$^BeJ24uzcCLBT;=cRkzCalR@OIG<@+hEvaPTIMa@YsbD_k@(QOQAY z1gb#DxC#azd8QP#$p{TGKZ(C{?@pQLl33?xQ2M z1y8I&X}?abtB8W@YEGZvn>?F_>$>JmPxqqq(j$aCQwGhtsm$A<6itoyow zGfM<|PGf76IMylm?A22T{hgk~zoV^Iw$XH(o}#a))jV-fyJ2lPtYQ-%y`o*K=DbQPj$WTmabxZz~qFNo;A z78SlMO|#Xd!B>VZlXIXzK2BhX6m4W0;&mA8Tc$*%Nz3-!2KwtclgujroUzx=$x2QO zvI$oY-xK`U8d7#cBV>vSL%oDZAHtY#ANe|V!ek4 zTR76yR^GEArHNblO@z%Ig|?VQk}FR5%UUqJUofc5Drs0@b;mVtV~w=?HZc3kOv?k= zv#aK&WSZ3)l@PYrI;=?qW+rx=YT8&6Nbb5=wR z;VR6UNSjCcAB=r>KvUQIw`>^!*&_@WAj(L{L>aXz4sal?Mny@8Gaw|2h>8RVn*deR z8!JkcinT6MwNgbOgoLU%D2}M08LgvINvhST2=BQ!2_tF0@2`LKa_&7j_ndp5@p(Sa zbFK_4(!z_~bw{`!YZoq@(faZr(fPK^t8>NAs=6CfmtQ@3ua#nYwbSD2w+Ce%%W$=- z+@_m8PpKQPG6sqSHavSAEwv+WMW@GkT1H1Mk>|MeXwWl3BhT)yPTMzhqx6=%7m|*^ zqIJ&arqkII(p!^Wlmx#hO?^?}y|Ma80e|erqoj}Dg}8`*qF8!)Q1 zUrS7OC8c@h3hP7O2?xkyEac-oxwDv4Y}*6KmUHD(Jj?0KzzU&?Y~(Lrn~?K{Idzfn zCD~+yJg~ZaD>L|3JE6hKRX#C+8^a6;7XHy-yj;%c&V9@bIxGCA!H6XH>*lUvPD^c{ zl*t~uT^`(BzKa?1TKGA0jGdg;nD45b;w@BU8ZVXygqLqn1|AW<$+Yj2c{OsEE2pjz zzREO7lLs}HZ&x`twR}>K@sUr;;x1MOL<*m)9hw!(v&z$yK~2K|aBmHg2N7v6~19JwC?dxowvgB@nriq@!>3sYmQFk?966icO@xs*U zE}zSYV9ZOM%`XyXW8qtZp^mZ3HxzE9uf_bv_CN-kn6>Bl#;;9rLGCHp#f)l80@o(m z9E|bn545$UP&aq(z?@SPse1&!QrCiMyMwDMYYX8UPM)^K1#ZHfk*nW&6qGNU;6e_0jcAY0jJxLu*Iw{BbO0)X197D@vEao!PoIZ7TPOPSec#ZOBSzqcUVo z_FX^FoQRq`4Ica2zFzYHu%I(d(|P4bQdh~vql~&vc(Tvf1E<%a8xmhFJJV>jzJ<%P z#L-^t_>NfXk)+>kzVdHSsFZ`;Pa zZPzIG?oPY1By3>CI;>L+b$(z0qJnO->TL>Xgwv&eU_5WoO_#NlQY@#@ow;qZPnX3} zyppL4PZxB$aV}zA6!o@Zx-qfUoR@!%m-i3Gc_FXxAO3`&g+z(lA!>X|;Z45T&uz=t z5|778cD;pv@l7(?(tGm{^Q|*PugRtsw8gyzSNV4DMA;G_3+Wf0Tm>u8RzxFv&Xvyd zEU0DKR0toE9sQ-VtMjW^R*OWN$X*+yfeD2%Oxs(c9b_L@>6Z!lWvqbIwtpHtmrEBU z6r5tA&Wg4*7`>MUcjq5sS*MCNH+ZqPOBZ#Q`zzgEi*`5o*hy!G=NGBQdW#g9?jdpz zAfHg#91(5J^bV2wX64%{t=5Q=GriKJ3mXeAscfH!c4hkb$Y*46Dpi(|q77=#L}^S` z!8ujXK&#KjeW#8W-n9F*eEz3N*hnM%PIk zBHQdqoVd>7ul7x|LXVJj&F}+r{+vjSlju}XI~J^S(_IMM3&T1GYxUYW?Gx+bgi}(6 zrdG?gKRIvNS3qqx!8$flBTJ(PkFnzXbRzhC^otxbjO#OTIM4OXQFhQHTK0wZi7(6s&Ch0}-VDrN^n$DP zhA&DAu;XHm!Orj_EiSNdfZ}OVZ+f8BisBtZA7@S)WqJR&#W=FZ8OPkMbagng+kWk zMZy5GN4u2bS)^bYFKU}lc0U2!UQQRw{8rlvGWxkRp}Ob|YrsTmTDvmMZ_C5ND_vFIPXsqI&CbaQjTI!N-;>tInXZXP_Z)ezGKy@Qt9GlA z#%C4YR{3TNL)0EmrK_@v`cx*_vuhIug}2ogi=m3mMG3s?=zjhv+Yd3j$zmVG@kkanCi_KzL`4k`;quy3b)bd7`EXf61X zi%$EMbATjkntwaEa}!5-w{;Z&L&JUoR#%OKnxpf5t*$VV)gWmG48UPuH#m`cu`+qh zp7NN}Ks|~#>3}#2pi<$l)Y(&^TN@ZI=Cxh+qA5!t8I|D%MbQ}Mkdn$UpLQ3X3amBh zftqy<=@`RpPO*o0>rCBn7zjgSIK#iPG^;HvzquM7%8~uK%;Ua!>brdMn+#qwK>Sm%lJkE??|Q|6*=nalswS!<}ZUJ5fFCPK$_6Yiqjw+vupbqGJ@> zvR_`u?6~JsMjvyaW$(tut>X`f$J>a<1#*tM6|Uo>3h6tzEmjo!X|#2x^S;J9oT51` zYxkfyCe!d@DhT|@r#UK$t0Ts~3gaGM?_GDyva3FlC^VOhL(}Lfc?~#T+KaR&bPTQ=}N{SyIcy zFKWY*UD{=t)j3tn&_#liWS?(b-s~$( z(rdxh2D|qPqwwM)CB|D&n`u+2a1Jjyp~N2%oX@nqtuSjWhLoX^vtnAlJ@FO&MPuOu zmAOaQt|9G-Y$?)ePqRjQtP&OItg=33M0QK1+Oj<7GdEE=EnC>9HetJLiv8TIvKtVw zpTO4F5{NR0e#FH|qeaJZNQlPHl;|Xl;no8}KJ=v0i-(g(BDQIve>#nVWfMI|H1AG? zd^Uhk%Kp-@El24@UKhKt?GI`EmtYu_hA*CNKB*KI@*&WO{A{VNxpDL;h+1v@T6cBG zDK2n_XA@Y-@Ocm(jegH5oI64b;FuN;(zGEikawWW2~Z-P;mrQ%3Pa>}jhE6X3ixej zGcY7I0&)4-!niVx2HdvM(*;fQ%T-q{uSb5FlJeSM9I&(%cQJcC;W;2vdUWgJ!;^dy zFbBBF26Ni{{M)EIjfW52-+2Jsv)O9>7o?8-gIL%Nbre3tT8s?Z%FOQAzNw9v{@o;( zwl81g-+GaE)-CV#i`*kG3IJ`gv)1n8F&`IE(u+zFcFc&FZ5P$uMuZ708y&NqF5Tlu zLDkkzzu)pL#kv-2o=guE)4ZUDbqtINh{P_vTF0n2HcEi1H!{4~KMrz!+w}Qo;M(7u zqME}qoVI>uatG%jX2!EG&>bbeU`Wq|jTEcR2*q<@u0?uV9%by|JMOFRIQQJ~in!x= zwI1U#Gwton#J9p@6dN6}a~yjo2zU3?Oo}s1?tG`ZMWeXfppjwsnB&ZMSSAKv(4WNj zupef3Z0?IGT;X(R{w4<6Ej^`B6Guus9#dDP6d_?GOJWISZDPc+w?FqN`>gN7t}rz| z?2=UD!(O*38qn{hPX=pWHVOM`tOqLxU)vx5)$b5@ZPnq0zPr*Mp5iXCbbmMv6*_U+ z!-rFMZRm?Qf9XZCW3!@r5xeK?gMV0Ax5D}!{L|R%{Xq1O_+Eqg1Nn3q)3PVQpw>}$ zqk)3|Fa?%~DOe-KWxCv!?P$!2Ygy9@16$io={uWYXgg4TNl6^w#I-yTT*cc(@Sa?`BM$q+SZT zBbVMrjPBvT3;A(C3bZGKF%?>p%&=gW9s$E?N7Wqau2Gkgx>=lx^3-@R^{)NeIee8) zes2D&=Kdpo&^qepS#az6e!Vemw|A>o4K$y#dDecttK!+*1$)naUw$q15szq5SH6k< zh*t{9zGJvUPrhTAvlYy4RHTILcKi!;m-qq;|N1xa1?=XOyWnGW@CoeZSmZqUwb*Ci z-8bdS*6dRMWqY>O6=N=LbH%!d#SkX4sg#BFZYq3h+Ps!JnV@oDU-kfz~F|y-t_?0~}mSp=2yt zQ6w=vB=?tCuA=I|VTRg1n~Nw#qy#;K?%G>gBWG_=hh+#u>Sw%bIimJ`*Lsv}`boZg z*x@Z|mywN|#e3AK?6Rk__hhTN3OllSyPWJ<86`KZE{>8-uI9!wr!ErKuzVx!B;!kK zcMXhif^5-;hB3qJ=TqhOeiKMxmB2a0B&-o#Y_PL^pfKl7&u~l?N5L!%w3@~6Vb2F# z3wFVMoesFF9M*`ZWtyCm{WGC_(Pxq>t+C*e%7?r6A6pIUBAu0$4_KFhvc;-{B$;W< z;BU=uLq2N{=v%)Sl}1)?)k(K04#*iSZG-C=+v>oXYE zu(FP2lUJsW&^$!RjsQy#?S5CRvj)tDZa>cf#^v&iox9b&5e-&}EpBd(iER`&G*~j$ zwkhviQUbT=94#w0#}aGrC!Wl+tfFnn@`|S}h%GpYMb(MYdEPiFnrHu1)WI`*+ICv) zvR>HBGufKN4(=%5feCpgyo8N%X#oxd0K>q7IV!KfLJ{BeK-+H=^BYNFr*rybpD5l@ zEn*!G4XLv5ef-)VV9n~r$ z`tqF)u*IRkt;?>cy_+ikP?_jlJH`1FZQJQwkhCF+r&C;C(RQcgp!oJg;l}Rr$WA|r z(<%ZMSh+BIdrt|Vfm>nf3XX)M6zTnD z8>F$-1?O3|fJs(QyVY*iFwRw$l#mz0avvycR`@_s>lx0*s>RTs=?wqye(T%P72!qC zi}2H5t!azNbU!Ek8bR<++L~1^PsCHGgGJkw!B2#r)MK={nnVx=H|`+BPJ~)g8BWk0 zA;aF-bULIGGD3`yl`JK z@WvYfau{~C!Z6ay>$T6J&O(L<^i3sWEYz}_G2YnD0m=pL-n2Y)$`kl6XLhX@sXLQ{ z{^O0;_JBIx#QN3?Jlih1d6o$-X?;gtTGF!Kd>CuC3Hq@)Y>c-GP-pR5KkfNRcSl<(4>%?D|}GZYXDA87x|;Mh{f5r3My4)gf)! z{d?7*SHoaySA+XtTTp}ZC0Ryy?hKaeYjH$_>w8&tcn-8Mkuh$`5#jkv?=)28)7m$m z``&y;r^(HbFmsLIR3_@20+p2mJJjj#5Qoa1SBv|5giC$!!KNhX7!N>7s8)tP#5y^OW@F;N)xZVSWGJCt0#mD9CKYecH9rCt;>?c>i}`}sTYG<<99j}Pu?jgL;0t!fqV&Lp3$-V~A>0Pl-ZKWE zvUs6PjP4&3op_k&cV_-thl8{I_RL@V@f)aKz(7M+1q|Dv|5>aI`*y34MN&_kORAae zM-5oF;Na4_eTIiAb^CTO=TCGzv@i5{Y(V_=(TB-laoRNwANE1AOoluAy5l=AoAG-r z*DpAz1J|~oeqkC{e4nX6z0T`=IH`1g@|QEJcbb4jdM>&uX#V5P$@eb;gjH!w=cXJi z#;>WEk8y6w521TznI(!E-0TvCYTg*fq=~WI`IrDd;qU6{buIfSrtx%-*s_MBL`F-6#4<{t(FXQN zb;yQUlXrq9we#q7x$ysvB&QGL;h286S|5@vp3B4gou4a=6Y|QK*dyZO4K{4yQKyTJ01NIKI z!+wBf?q)V!*DznuAB^_qeYLPxZMmQY@8k09k^KxvM1AIHr8DSC}C{Kyr9@C zkX0N?df9p1)Wd-P8yVe^%;p0umB~{%`_-M4r4drY_JEk3MtL`pfb*`=SATYC!=soQ&VBUCZkoboy4jNVEU=6Ksy0ok-j zj`6IRq)hfKc`Cg`_Nal9nTxpDujk4Zt4%5de6nr3qLOR`3O%axz~Pi{<&c!N^uUWW9e`q(cCRNr$h(;Y|G~4nYSxf=m&c|CR{s;gART zJ{UO(?j)^VjB*dZfN5Mote#5H+T*onJ zW*fuB>JI!jSdiZy1VtIwjU7T$mTb#i!;za`jlqh62a691{dUQS0Pka6VXYUW<5nun zyP1EY1|A729%p`g6RePVu}#W2d2?VpVS-=F2&O=}j>|bGJ>}-AkR`kMoR=Tsjdi3u zd=*=I4HMQ>5rFZnYrV@e?@F2;Tj{Pubrc`O;MNO_c|K2DQ+Qrmsf#)ae!<#-f(=a%wW#-b*KR}} zXCb3{=1pR`*|yuO2?MZNsJ*f)Ynk|g96B=))IF&uEov!IJ1%OyMm9Sk$M?IRP=t_8 z;PNLtQvW1OWJLzI6f}%=RX8M+-cXYIy#`zUXfR$bpPEpf%nTYXgYsutYZ(CQ!tjC< zs*rF_+%HFjZ!(QSqlEU&?u2^7ZPQrD-&f-Vek0KWpvgS-eS#%tC{5 zH<0b9$G8ZNscl_^a*AyzY|QW{hr_H!FiVuj=`ybx2TcrUS^A@i5GgG_zDQaiqkxxz!*Tk|MFtDi92Lf^Rc}ciQzY?=)e=I|Z-Q_tt;CQj$XV zN`FWoNu#^-ivV$%_QTzeL2Rz`Hnwq{M&K-Z#_LdC(|dP_BtF(zqI$ao}dMg zH0JsFhY$YlBKXy>c+-3J{@{^jp}Wb$g@{*-Sb*xfDZ56@hmK}2T#Z6tN9-EgI!sCO z5W1u83viG~PXr7Tm0upR@hcs{g;e|2T%#TX<^*(k#8di~zD&Hl*9I6DFrvTl^~tcO zcM0C%pmE$KIxL`qd6~~VYoJ|ew%h>!9tfil5Ezff?LfXtx zZjI$^!g^)rg7|-ZTP)B0Jaw6t&P-7IBBdgxt=5E5XUMMX)*VO~)$i^q3sFylJQG2BIw*6@Q~w<= zzV~W;K3MUXIpcLpPlMxjnNNcSQesl18t>go&or%+*JOGwmd=OG&}ip7P`+Fh(wO@| z`4NM<^??Kj^+0qvIadMW;sfKvM4RjXU?T-5)HXE=>#UM{f1 zyBd%~mEbMW-SY`6ei2sUa*fL7*f6xzBsG*QVGS!DIb2$}=G`C))i5g&?aiFEoMzfT zW>V5*E-;Et+)^JJo?8JTDRFBhmM9i9s4cTgRhUS>mfM&Keywdh)2gJ<*ou=_-@4Wd z>aaRNFVD8QY>c~Sz*Kn1ru zH#jVpF%qEXyBKzC74WUY3_uh!3KTMCjs=B`jpaxoBmKW*x@0+a%7bQ=$C`F@rem5c zD$_#4Ar@|89$^2sOy9UZDnSF;RxpB$jG^!f#s{+qfix@(I=Y(?0&S{f#IpxK8Ex;( z7Mi5Kn99xZq0Z*!?@`U-=EbQdaSJ=KAe%x_W5r^!n`@Mybk_Ea!GnWW&X-{A#c&WD zCCukp#V0u+NU5&HhUXoxc+N8iNU7g=D{YY$DV^q_K$$^c&IeTt!W?H8d{C}BoukRB zuqjRm1DU8GQ5<4un*urO_?`#auTw0Osm`ZM@6}JwXnk*lwh~H1&K6wc+uj%L)Ro0) zLyHj*N<$at9p+Da*P1Hv+C^Ploqv^Y_fCZP*X`)7ovaA+~ zPd1pIkfrzA53`FkOmBo;WQ*shtyD8yZ+y}c* z4>oMbZvS%hkUINT&!9xP(c`k!Bx#YG{UqAje$QI!SN&saY3bZtEY>BP%g5S^MT?d3 z+#(g$D7(;7lMQeJL|<%f0M@xqe1T{Fh6Y|JAo@nVP>@en>RzZBoC=so8EZ|S6Id#W zt|uR8Ij2HvnZBPWwm0Zz{VuO$pFC{WF@u&*qifzQNNT%f^*o|jyh@^L>;8QuriYSn zDHTEWzCS}b5W|U$PhHr02auO+>924C5g>E= zK=CkJv6yTJvlYcrii!PZY>}wJ29h(hY(-ClIm}jQ$%+QEOL7n$rV9URFxf6=2X}MW z(lz1vpO{hJEgUt;TRbV#sZz!Y&-I66z|pVIZQrY}`>oF@K5apH8FLn^(3!4j@*uDc zK&1 znofX#2}vqBAl|@l59~K)!+GQD`ytt0hGR6^E@Jl8_rFUgOkJ_y`@O%*1mt|8CcmmZ zEdCm#T`hvX(NvP!t9S(lsk1%%Hlcf+}08o}?oaXxP)NWtED9R(kUl)$+m>jCf1Ydle`XNAyPu`E^y#5J7?fru-@JK?2Ey3=j7% zK+T6>#WlJ@+9=l zRmNmXfT=*(07M+JJq%cyQ^-XPiDK^!5RWzo6YwQ6QSDkbF|@4(2ldwp$}6;SitYyh zL)H1P>T?S%y6>DMs~b-Nz4icb^k|6NBi5_R9e*n;(6AY|0A`#G?D)8Uv*Q#0TZo4o z^Z&BrA3*tEOCD^;v4N#esjR@Kz3^u_OZs>wpx-+HB26Jaz$$=*&Gxs^c%G+CRZ0%fe0Zlp5?KqeGb_~w?}Ir z{|yu7DAc%t(!Lvn^dqS3epf~C|Att=>6Qz2?6%X}Eb>1vmMWwleNMKmF;^Eg^vRO5 zat5XPQY?+hD(F+9n!Nmc=Z}sO%@H2g4q)Y3L$xvARw2$9&e>a1mA;%!2|8&2A*r5Z z@5q}60tOA}{#A>;hYqr2<%X~C2DryA86kCu-2V>83tK&jnMgX)+5Gti25<5SSk9eM z7hu9n8wyaNJ^2jRaW6NItcb8&uaSJ=jm=}@V$-_BL-C3Tj&OhXg@YVVTM*yqW+wQ4 zJPaJe*q*%&YnhneV2V1k<)-qU(%eJ-$%u5L{Qm?a7h}EQ^tJVf6bjEcK51%fc@5nI zq)?RBfM>%@LQ*K_lZYC&rd_&yJSl@f0#!L`w(~RLYswg~Cn}ITr+x}T*))sO>L=^c zD1nvE0AUvIuMY)VEhwl{bc2*4Mty&C-a@{+c86hd3I`-mer~q~R1IxIZ{BLa(G-Cc z;z-;vcL;YxO|kv|01vJq@F>&72Rnf9LfyLnNYf7r{*iTl%K_@#zczmP8@Oi8mp=}v zSsMzjoQH!eD|OJawgnXTQ`F_B3-9sGM<*BCq9tyJsLGpcEqlmTa}{pY#R{c`XQd-ESVu!w zS47Eew8hv3YR6l`4-I1=`R#_WY(XLm8!T`Jz+AC1q2v^ka8_`$!Iu3%VcuPQh#3Vk zh;Y6gp@t4OSZ`NosG)vG5JrdR|IaY`N!uy4tN9;0QRk3^x{|0(%Q*I1fLf1!SI(B* z+}o;vNOaxITTLyH+6o5bWqnzPe?;9L{|mwgA?99$UXwb@;^HiSLhPR!Q@k<$I~a6~ zUvn`2#0W?-XDIuEoP-gHd+ZwcCl9@bT!e%Ssrb!#&SK$QXJ1Ap2k3^(Ykhc-@EMmNNV&shP13DJhkyJ&zohp z>Fh{^SZd1Aqys26pk5`*egv^38KX%9)KArA0YJT=7$hUIP>Jo2C>Bp!Nc`aY!jEc~ zpW6#1W6^ZSl+v5Z%~=*em$F<}B~3%XQZ&T!(ebKk?+lTKtLQDbx{mMjPBcIsXCWP5 zT{=`5C7tJ4P|LEZ5V6SK$Y$C;#oGQcQEdTg)S|5x+_Mr;b5&h|Qv!Avq!(1y{SM8o z2g%kO6rTMa&lL&PMKMexq^>PQajC(nSqMe02Ri|ft+fbG@l=u8t>r1yCIiJ5s&RTj zZjI9Bh^R*8d8FMs(>?^X>4Km+Z@J22AP-?F5@Am^*s@CPA8oV?JqXjTeKOb|Nt@N< zd}Q>jyulAsK$%J%ocGf~5)W%_t+TB~tr3LX%W!wxHdM^Q;5~xl+^NF|%EtI)22!tV zOjN+6ySMSGop9UL=8hkyBnd8n0+pWd84rh-3v`&8_l4c_2BVJ<)N+F1;We>(;5a*A zc`f@PHT^S!uHecngw)TU0)riIhjD<@oOGPk^;;OnS*w&!xN8WF<-=wX=4+DabgC-2H8tU3Nk_BcbpH%MAMK8;}ZEt&SKj zlZuj7W{!iov%I+~H}7`G%q{a2+!ZT!l`mVi^v=e^5#>=b_wcef#i(@T0O?u#8gj}R+}2Xu+|fjX;p@qmBOI*cF|*eeQCbM0e4=A}?yyawTjIQuGUi^0`7Qlvdyq1aPr^7t0)AEjg&M&(2MhFDE;0 zkfl^}00m8UeJ*oJ$gyVG1L{N_6fEjvx({*roMe{Q*>+TeJxR8{v2@iCbMhYEnz9Dr zOa^kI2_bC5B&j4tS?)=Mn0g;*x@?EcAw*qx)J1NNJJ7|-X(y*zB&e=+)d z*y*!R(n5K62`i`6-UdZ3G!K%en*}^4FvFKmnHA{jZ#qx?K-;+w)GyB8aSV`{+w4gG*A9kr>NkUEVW%y zQ~mEsf<;J#?H18HCO+7&RcGt1=}ED9I$Iyf34l3sJkOSlJ&|JbDv1@C8BC`GINh^;#*pbEuYGHw-(o{|UR*{1S7>eiIpzNDDmoHIeP2(Qf? zB(Rlf1KU2@^4`K8?B)5=QiQCE?ThZ*(xWFt^hmE{xFQmLAS@H5%@ zIOg>1Je;N&KSUYRZ`CYbfqX@vU%bxq@clQ+Rn?W&%n8A*q6X7u;qeBW2eK^*xzkwA zND)0rzOy^$5Uc9ajLZF(r0*M?L0*jAoeP)73VIq`?c|a0_XI5Z?H9`@gmdRAr+5n$ znZ}D10X4J>8H4%HHAuwxNPC%jhGqwroWT9@-Sj6dht$&s3NI<`(wOPXKRfmTt`cC8 zL2XUQLG0aOem3 zEhSZ}&6jtW15bezsm?9B|K}jFue&pT{-67n`PQA>`1ipqznW_s{__CS+7F}YPx^86 zr;Xy{nI|_+{kF937;<EhQKqE$nfMZ;^RAi$9({<==S8$ z53y-gx7+X~v5{4`f5&as93C!2SKS65?=rU?*L4@u6HDs4nU3oLasQ)qob$rSs$Y>- z*G(rPxaQaew?LP>O!7)w_L9zY;O5Yd9c}6OTfQ|ffydSO--8~oH-=lKB}y=@@im(i zOq+ziZ`WcsssDH)eK9Cb@jhiosuaYzStvA7bbvOBK7kDYRk}Rm8Uesz@d(AF#bH}V zxHi|Vv{W|mZBlC;5KE$QPd<_^in!A`kz%azaH=_h1D^_TlHCR~&38VS{;ym6Sftm2t_C}>JG$S9-NwlrYp1Xe zFV&_otaC!A^Au7I6%R^0`HpC)n$t3N;yofFxLx?Tb`lR?y?GMs%LqCWts(mu1 zL{|{my;Qe#;w}cg4TPUaPy#GJ*wg56aG0<)4n@j>(d@b=O(?!W7?xUp{aygVyWR!x z3^ikuk{R~kLv7Iw)4;Hp;Y#?)KXpbBcRIqRBX$02#Dc)A7}al&Wg_Cj4u?I%HDcc3 z#!|K%cz5Do%H1=*FWpD>i&x zB$TDT^lv|FtR<_o2e6f;>etaM*jF<)d!n{mKI8SNi8Z@E${u?)zOpo*n|vnh-Nr0# z5yn<5I-%0((ewY*qoH`Fg#8d}0V?Z|fQGWMW5sl4?~0GcE^S$$?nqijaVw+71r~yB zV)w;+DONFb_rS70>cf|{lu|5*lfqEF-~Cod<(%c5D15-5bYDPHE<9cKPkm%l0rG7) zvBdOH5-tnQWJj?Nn1+3^)nB)>gF zk@UwSAm)9U2!b2i4UI;Kk|7+7UrouX5iJkoq&6bg>@Nn}jI}3Az{lseF1yON!N;FEIonoNH=s5&&b$}>VD$)f3f;5dr$V5^n}M4c+W3pz>{-4OQ3_be zbV@<4Rvp-#j-RgwUJFltRvx+{NUr$sEcFbj@WeKz6R1LRvs19?#<7+E%@;+MA!&#& zNAg7pJai45@2zQvMVdM@%jl`Nbz}gf3DIHqFfu}?!x;!r?CPE$i z#J~z8C9c}`n zL0NFW3yHhJ?0Lm%vj>Xl+>*!Nxzu*;92pR)#vz}Y0d+6kg^yVluiFe`_r)V(cL%n( zOYL|>a6Z%QHoS?RjTF7C0^2MJ{bqoiZ7gYqOD_g;w<{O-Tc^?Q@(1Os8;jub7u@%8 zKWV=h#UA+nUX^aslV2$adRq3;U7l{O6+r+}jodxtw^VC4H_`W2BfR|O;rfH}lIZC= z!O;{aAT7)Ee>sWZLb!fGdu{K2I3eMNXcj!~qT$~R=Lit9izgr|yB3slkcxyoW4vNU zdoWbh`N^SLJq}ugT-)YhyPdNz!3lkI_=aG7zt*AKe_Mqt<`HVdyytI$?tBL}6>m9! zT-zI7tulX+_~QXY|35+lC=i?_eS2X&XECgzli1&lpj8R6I>y?uV~A@7`wZu9O=yKn z6a&^EwgNs}usw1445b(d~j5GH!|Kgl1fpe7&%M3Dt0pnyow@jvNT=kwAS zKcpxO)DU4vkwrT&A(54UPyo4SJwgE@9s!?cv25ak`h2xVQw691YsyVaT7A0cA61ZM zBdYikAE?cJxA?Py*Sq)C4pCe}P`~fUWusRf|1#wR@G$VvYwJP1FIP zoSy7Z>$n9!tUXn1(kFVX|Q+?;+|q80%D7`l|~zLky0asg?;=#QC1Mx zDj3pO##S7jP`>gXZ%~Y(wi_t3Q`y5+V>PZ@k86@{VA~(;JYvt+_(oh?3MYjD)ZV*4 z3n90l)Ex{9+nZ5lpe$Pq(@m$Ao`q!13|9w)le#+*E(!t!)av=|4v@5&;bI!TZ1M(# z2MYo$f#_4A-FlPgX)%huzvhRy14qSKI<=K4M}jWmAY8Ar(XnIgL@%&$_D2wVYX%Jv z#GY{MfMW>2YJoVxYf+Yoc9&oD^EsL=e;sFQ0Lu&OcjWgjBh|capXDz7T;x!m(hy(4 zTwV<8!h`v%TcM@wx_vM;=HFfv0dFJhy7?7etBpOeb2Lv2ggP2m+cD4_eWl{S+0$rD z2g>-j-+IpcFy3L}gyZS8`_d;B=Y5x-PDzK-1EvO*IxNjgFTODThbdXb=^t($On%aQ z_TufZefOMvr?hSq>~{NP z+$XUs`UHX4#>bJmG&U~)+5dDdvf7KLOvxrkiD1>M|Wb`KSbV7b1XV zYt+OM6_~28xqB~KYQ9YNMN8I8q^D7r1HOT8(Nq$l3aZXg@JUUa-Sr_&Wqq_L zWOr9nC5MR_<+k8JhCNq}&CWyivGl2CR2NqQBx&XdM<~N^?V;t`#BbmW z6WA^-qknN1vwQJhTDxC$c?dshV;XR9yrlg;$M1o<&ve8LI>0B1h}0OMQN>W?AR2`=z#|E0bOLjw5~o}F%^Ph`ngi)r>*9yNju{3$NN z=k?^sO3fx*webOgD?bpaAb&;OtmWT8EONT=9+D@Qn1Zy5*6#oy*IS^eAyH2Ua1CM} zVK_ykQMdO354AYU`l-0`{~+$sm3?-qNuFgjQnv&y)C_^0`EcUSX*dws)?fIdX8V-Nl;_3?j!o7P!@_hfKAjDm>P5j_uP{s$Bwg9gJ6TjvFf=M6l z>zN$7m@%5$TlOyc+(|HE-Vi|ai-ArH0Qm4YG8+)oYj^G&U89P$_Es;o^=~rDI|#^Y zKu8U&`tXbuQ?lhay(G!u;Dx$F@S(2m5L}9tT6YNM(3?7~>gK|p2een+pkRg^6$c2NvDMS zzO7SOv;%}S?WQ1)L!B7Qt)x$lExCpXt7~cGS>loyLkV!N^R)GFKF98v*puhDmBtDz zHpBQlYoDlg0;wF}8;V3a-{73s@|&8iaSk`=VS${Gq!p+0_VbOK@}2n(M6n0O3*^4* zJ?@L9Qyi0Nn^W>pa6ZReVswZW4@d8Q60227TT^n+(RZa3!5?i9HA$SWQ0MmMA66~w z&FxX5dMkD-y?RU1WRC&c1tRoF+qUhhh+gCyw!)+2u@(yUIM4E0O+^W+UFxr%0Eh3h zt85ux-zXQ z6(N9>mOF=6Hp^j;pzuXJLO*)2HA=a-kz0wGdgoQ9bM4xzg@aPB#&V!JPg;xAV_?mR zn#`Yn&x7!qT>;zL7KbKT3i*pj&4+`~j*sqwZ-ET{CZ0X@b4)kTAyS5;L=dDc6=ZnWDZ;tJDKg`!(6*2pf-domaF^v^hMN0E*R0mgM*DlPsW@JO4C8PJ zKA_{TYX%j}W`p@_r@9*+oCVJjxw!P~?BQ!0t1h#u4&6QORg#3{JK?k^(4YA|4KLyC zTeGnb7wTrCnW8!11*sFzXRaXKVGVua2a=_5Q81D-1yB=7ow9v_N?IMdTV8h_zALJI zw>^n?csJ$=b2{1+sW{Q>nP|saYAR0X3p_a|m6oxUNWE4!&j^>K+s4$(GXdL}I?8r< zq#ZhM>vhHSarODP-;kdA{C%G_>&cU?+|B+wwsE~~^(6oLVTSE5Ep{Q*S+jpFe~sOBr75rC?+iecA`4g;9R~#-3{M7%A zz*0=vU8)j)VteIG{~F?3p`4+>n~bag?05|P-}qFN74ip$5Q@PWp2K0G&YKL!2#moc zJkhW_2@`72k3=9s6K?(M5MgA4?!?eg!*e(S7Gi-Rdl;Rg&GbUh7ZL+GlhkF#Nr?tJcRxo!8#1o2?ySVzLel#y9n{&A@uJE{z*o% zzV_pQyc^sK3oHU;bnoAW058a3*ic-U{xidcl0t#~fQQh3`?%0B16u_wMX13nfVShH zqhJWO;U!|2!7Om(P=i_Eu>^gyh{ONOL%`z=OezjfAZXw4u$18NL|_PJ-UrJvxEBE% zrZ0Us;Bxdu0Y?B{1lj`+VQ`6v$Lb3ejz}=DB{(8*PLK>9!eDhIe5ip$kO%~W*G>Ze zL??uO@NcsqgQupaMmREwXfQ+=5GN=X9>QSKVT3S)nT3Vn^xqjCgTn&&0S}=sC3p;p ztpAAdm@osS$73--N+tjkZ#V>&V0cFYiKIU>Jn$MAhy{kQH<%z42Q2m`JP}VexI`ox zm|Wo93@i|yWN1V2q)@#6%g2*&z(LqQ1Pd{kAb1q|DgbPU0Tjan2N4F*;2{h~Cj;}Q z_fqj;SOZIr55s|H!H0)1Sa2ADWbj79!gNY91RV$%9FPm6M_>qjxgcPG*y+uJfC&rL zfB6LPQb|x8JcRzb30Q)GniH@@g1+hju!{|aj>1FeubU7`GSGGc4x!wUhX0uQPF zbqHJ-MqeKY_)wz3g7HKwuosX2Z59B{7(5FCo}mBOfe9fKp*`>r2G0V(7lZEq0$&J3 z5-AjtfgubmDS?D18az4@(Ll6-+TaYHBM?i2hd{;{_*()Qi!<=I07H^VP%Z%ShRX`W zVDwc0sHlOPA^>-fgF4|M3EXDxLfESDb z)&m|w|NRhwyD+#Tu>bn+jEI9>f&dJ`Ht3GW8z5975E6r#;lm8{n@GSI*nJ}KQU>=R z5Om0I*wYaS#4rLxdjgha&>t8+{Rd72ft10VhybKPd@zJTTtg%oI$>ZtLk(_40`jT< z&PZf~7=lO!+OFS^jMI6G5z8Xu!Ls6>{>$3}fW^QykV0_=xCERd0Luaoq5l*}p#%dA z09I&P{CYy2z}K8h#ap!Gk|4q`p<_PM!?~rPB4UiNCJLO()V$pAd1p=A)!FC z^k)VFb)vosf+c~NX!L`@5r-k#8lC^aHll&>_Y6isyNQQNg9|k>VPdYvC^<@IcJ}vJOHmRzJdzb776JEieZ>+L3Rg#sO6djeUrFV+%Xm6G~YFa6r!>%icZQx+15rY#f9IYA}s-B8ww>7 zk(Gd})E6DiAz*IBREV1b$)?d4*tSMrXe*#t+%^^B3m$1HhcT zREV26D!m3=P0uR@$iZ5`XT=>S$AxbVX)Xr4IM4hh~V|rb3RG`-wD7m(y&5YE(wWaB=Xb+zN_f zDbpPa3EhgQWe{d{b=g#;^^yS(t%htakVP`HqOYT<6miQ`q(M~y-Mv>CRI1<-00EbJ z8Tayy7zR*yUBL)BK}X0SJHREcWxn7M!>2UCAh9g%5_bZ|0b(>fsE~%Vay7@D`U3n+ zSc+PFth0!!qRW@d1;E0nCOu6uzSuWu3i3@@=~j`^OQg12FCc(`-*S_tQD=k$VHY=V z;wF7WRgfUH^oIdTU&Ub);qkhu5Dx+fl)I(h--Zf?d@ z)TZ#4#I_mo$J5FSdgdi&jb$GRI&jc`tLyB zF1PY8xeDumr+v!wY$=0WhUrF(4W=4zqC!wE*3qSi6$Z^@vc(!UEKcaiTe%n^kDX3B zkabk-J0?vN+=MnkS^R5mlYJ>7n2Pi!62(r6jzSjWsr8$QrVCY&#t0d(V6vZSc}GZe zrU_&++N#u_U=aN<0)vAW&W@=XWwDM6f8*#RJb9!IKFj$hryuZBO$9O)=?&FjSfe3J zBG9dgwZQ?+9$ z6;|!j+%qnUiY!)e{V}rNG8L(tYPs$jBT#XVDzRt1*xtxtN;Ceyp!WF9_i z>GlkF+U1(7VB>0qD>@2`smLEyQVn^dtK}j!895nuO-1Gl*Gc9E3=|4q~ftTIw4viQ;``6Aj}Sx0i@OoNGB$#gMXtUU#>-tH+H2At4+q& zUUAt}WTBO@leSzxMKT$9J#Lwb%oj|AvjFEd$y^+&wvBtJ5NM2c&{k#{BvUSf<(3d^ z3cztD~}DzZo5wai<_ho}lBJ&c%5MgE8$FI!F=Wimdj zySBKRM+_eT2q)6MX!U(apg@Kz`^y`snD{hY#@CR)6Db zqm3b}p8Wdgi-(5=f^UuPej?ub`KR8|9~`dTdgq|%Z{NH2t7isP|BG*~wIAZ`_w26y zcrf%`zx(pqDft>o3_)p8NiK ze;4mt`@#Cz!LY6Sogc2h_uR1U`Wr{aN6nH$_m3|OhF#sSy?flhZvgYa7oUCik@1n? z0hqD=+{5FS51a0AcKpx*UbcB|%-_BAP5J7a&K_N;qQdmO<6yRF4L!?cH){}tY8ZKJNT2E!4gbEbdoe#RH z%Fy%KLgo=th4@aXlvxJ9rB&45w#K2R(aY>jZut!+ke#QK)`kBYa7+yZ2+}Ugx{%{T z0CCXdHCd2E0Et%ZhNLa#W!2x>Can<2yw+lq$%xZ1cdZ^Y+0=vYneGmgDMab+Oy-+- z-^q&~eEdXt;=@ZPTYqAyJALXDXvtbcclt!NDdnaF+nV9dh%2 z-<@;M`R1OP|1Z1GWG0(^WV6|QwmG63=?0;i81*GThy;}!z_1UTa}J&OVdAExi^8%w zFIg!wS;&gT>m2-E30ki>scfV=J@D}5E47Ws8|t$R*in}BHhhA_=HKB#B+&Wvt;6f= zvekc1WAosmiE35r3jSPU53lyVtA%*lUsVmFP5rv<L-=(NT+t&+9QoNvJD#=JBb)v-du6gTc z=AvG`=K0l(v7Se+$xseGP<290&QQ+U-OLSJZNFmx=n(ng`ra-Ldo#^waaNVQy-#JH zmq%PpD{XOqKXK~i4SEqejwCh?9%%{VmOp-{;}4qzPo#y@$PenTA@tO2G(h^(knrxF}addmFc%|oc^Mm@)-qWi+rK3Kqw43+ZjCCS&kBEiMjf^ly z5ILjgxi2x&%|?ZahyTjzl~a!fVZUYp=3O(YlEIZ*Vnw0)+EUyDnL(&Z_Gpu!0(y_) zo_JePPU)JycWyR)Q_V7gdQG9p2WaKdBIg+vq${0aN+IO0XKbfk>-(j0Sgc?8Qx-i3 z)VW`Ird5>o#?M-42JOi}A2%3uvvZs|h*)OwKK!(9Xnd9_F2^zl@U~j@s@=bm3&)xR2)bE^S(E_aSfe*O(~mfcTyeR zd!jv5@bA?DNmwqu%Xqc+BR&>O1IFKx# zRaB5IkunHpI%!X|fz5t+T=Ls{4QQ}-7{c;L@aDQcVA1v-i4X5mBWEle1lvy;vwd2` z|Jb+wI>7Cx`OjT)*-E1O+nca_-m9An^bUR2%YE}vHph{Y`N;PAw=Wz6y?M?Ff~Rdo zi;wWsUlE5r#uC;W%cWB%5PyLL#=o|7AV@6V<3yE+5sQO=-nDq%7X7@HdIYE%zB>sj z&*c`D=~&`Nf1fRQR0H*OJI1!4#pDZT632L(X*at>K%MuyoEO!t@TIrw;wAM$ek$kSV-vpoQ34a!iOZ?lXg(NreI*5#k+WWPG8QgfQnY9~97 zc004^N?4vUJ6F0YpenNgxbzgCgK~93hkuhKHP9n#s@0Mge0Xg={ZaK5Q80b;ZK3I% z`1WTkvHAh??~NN1^)|oWjCSx@+}TK6IuYD~b_^etpYy}|w>928XHVUZlA-SDV>P@- z@lFUba2-j1{e#^ZEQHTckRf4Geu6{TO{Kop^s}0M`{nmsq{2L@Ki@*J+FtH&Lc3*A zHQC*YoIQ;#-aco4-hgV>;(c3e&-Nk^5aE=Og3i8KUTymAt>UH;u@eBs#zF3@wsYFE5VZDxdv#k;d z+7OsC6PA`!LfSX+(bc-bx4sVZ8>*Vyj;% za!!RJY7qG~{mk3);g_ZzzS)E-@vxU|tD@%BdhSH?SI;?<5{fK83)nbr2i_0ZT4Dx& zh%!x&nfb_Wxayt$ZVTlDJ-(SXI5p{=Ss7XLyy<@Z&(07fFTNKW2KL&kW$AO91bEg? z%&>3ca?U}4T5L%-tX7G)h@Aio%{~7K`$qD;|q}_H5?I4z{jE; z{L4t(yvjK#@lPi5=(v5vE1{a+OHywDplI zM2gfLi(+EkE+$ZmgxDvOeb?xmvK;G~t&`OcO*51?CzL3ZC`a`#U%BzOjq|&1V`R|l zqM$mN;Kv{~Wbq=z4KvVqRU=td1p zZ2@7`)Z}8Xk~Y52)qrTmR7F)n-+6{+vl*TyhGPp%eU#}i#th6!yw|3alMd&&BlgMf zHbc}S2T5vvud5R2A*bh$odroJasOTHYVxJmv=OVXG%<+uLaR+9PAy&!t*7759Azj< z+E0-HxncRES^lWvgGfMDdRbIcJ_hH1YU(V?VXwDBUHhcU!R=KWVD_>-h7a=EJiQdFq~W+lL{@|^BPe| zqLx5)YDd{yaawvo^KI0+=Tg-LuNsodcNun5k0RG&QuJ?fl6=6DtH`Y{vnyiCrw}>f zX*lGAmMqTagoGKAp17Pek_Iw6PKr$DjtfitXYmN!hcV2zu^V`F02ITX5Dg=W##!0h|7^ zU>mcJ&sD?J;y4%T#d05~rN{=y|9&f$V`sBP>m7oq)1R?}t1QG;N z1TqA21PTO71S*902po6cu_m#;=}DqEY&8$J2~UlZERfMfdY2%`e3QlA)Gs1;Aq4`530BE$dOY+em3} zjkV;V@p$HAq9^S=rPkf(kkRwi44snUqkVScKTZP06|=R6v<@TR^`9O~g*6V= z`Y+s%&v|l~_7|?eWuMaIT50C!Yf2--IP6K-tG_uY~z}4Y%Rb=z(A>J`uVPHEPJM6-hU|jdl9VDvffvy0%0$2ZNlSNXm zbvlSO3c3|q_c&x@Jbr2@KK z$4&)!*7O;%f0iS^N`uVLn{uupYQzPjgY1QT{+Ptd$GL+%MeY?-f{AO7ir%Uq7IHD7 zn76SoBlqvp%PjPhauh4ebp4Ls($RJ@C$*Oydg{1N$z6CeC+sKi>{pKn-A{5xZh(DH z(cGS+6icx#FPZim(nL!&`6e#mARvT!aKO;DY zBz5&eMc7y!hj`9+5VejUL zE&SDsevPT+J|7f|3vM>bnyARx?Ukv5i$~n;$f=iQR5-gywtkuLODggJWp0r{PgK5- zeJjaSK7R0+n|65T*brx$@AX=Kt$mEnskulN{B6k4bM zJKuNX6AziE!!gByF1OhyrE-7kJ{#URdBin29C1Q zdVXYp(|PJxBzoh!rV-AA?8(H8n!K33A>8!J} zV9q}G@@NQX|HF3A z_+*X25~0=g^w+jwi-+1{q-?9HiEzdA{>6J9i}H&8!l;IZg@l?ULJd>Sfz8E+@Latp zkS?aBTF8+C%df9`P@4G9^^!RTpoG+R<^RfFGL_!9P)-x zy&T|SIDYEE=%$8uHZzS0m}7OaeF@^a-?{wI_lCBlylTKa@oFxm-o=hvqg9qpIz<=6 ze!oNhWo0``=m?T*Rl)dASL=5J?MGWhiA>v%!%Z9P(cy28M>2MKVr&}&O=G_vFlGQe44EyAbr=s3E!u~XGCh*o46 z{HBJo1aQ^*Y1;SfC)J^}8pNeORbJE`y<13ap7>wUb^G10{~oPhlQ9R-_HN=PMX3@D ztW4zL=fXa7c-3nALijS1dGzezAnU#_SS!YVJ|V%T`vFvMpwltH{$f%nYuw+yOY9pAZ>#+*tOsU$0^p zw1zlT7~@Mcr7L}2xT=Ph)!do6bMpY?DvIxH>iRcH8X}D!cI;Ff0Ik&BX6RcMX~_o5 zKXsOq|05T(LO%t+t=dNqfPFo3g%~6i4Z@ssW1MWmik`)rBdx|C-*=HYJ!v$+JP78P z&v{q9OXX@8O~v*qyILb^(ew1wGl<*l8jO_a)Q@ZDujUq_s#{6Zs0qtTHtkBaMUr^{ zHMfzoN{m{hNb5b5^?U+O`u_c`m$kdqb-O$NBd#`7#7zF9fpxZ8f}g*aW*i8zecyg` zITU5P?d=k}a7QK4%A~>dzlZo66`NI~=j&b06Y}`FjU4oa8&tJ+lBVfvYMFuLyHXhj zEo1vZ-@%Bp@kO9#g#~rYdXGI&dlcApksD>@0H(=ByX_Y#UkJvzaVvG6%Ky(W9h(KUU#9$J z(K`O&sp$~kX%-}9qa6Bd7DU(SdOu-PrKoyHsN+ zdWH1=8*3tBa<{@I0ck9b*?=AN5egts%EHinaaa1&^>w~m-wQag1 zsye(p*HUxiSa-2M^v0vbri)xuQ;bLQNZ~n>7A^^b=MDi=+g;z!0VA$E*3`%3YkV|w z>*=*6nlcKR+5E0cVO3+BZA|m-rtLM~<2WN`nQa^29}_)O@s3*~WQ=~~jUz~^iM%S7=)yy%^yo3S{d< zQ+tVd)p_;_ydpCTIL?kNxL5LU$BbDV3B&lV8a-!OmPWzMC4OjdLZKy^swdSZ)CTVy zJtexyqtyQlq57Jb)Y9JFsGX#y@EpCEtkU;sBm)L?HhAy;rOpv5PDK{(OR8Pw()&yi zbbOC6G`)~G{^DK5O{(m+^2W~JF08K-zoF!;gZPh6EWtS7zaMu$tJ=2OU^LqR|oGr00vSVW1 zpDlccN>n@aS{AEi)LwF}Zqc!zdYdf5VjZI6T5iT7L77>=PCbTv11G;dR*(WH5$ZbG+EM&E-EmaFGe|1GDH>yWGxWbZK=`fKjVsVzq0? z<;t4cLNvAYt>rR<9S=`qzqJ`K)ZIbi4RrE#Vx#JDoKfZn6R5P5sJI4U(W$o`Dx4K1 zmV|#aQz!iN`NeEs_7i-nh31ItNGpaz&OwC`Vq5C@0d=wx9>B%^7Y~=eQ9zG6Ss32! zSj^RKgPj-5vcP8Ku1M|pd09eXY4F_|2Q%jME!6_z__DY5@LnF(9hq5GC;h=bZV18; zBU~)6DC+02g<4OIk^0zJ?C82Ke@t-@GtrxviLYnuH44zwj#D#%F&r6$bX4u1zq{@{ z|7CeUGV!|U7qI?Kw3TyN+VYjw-H}r(oJZkz)0%L50T`3xd7%n~lIeFa%6q-)cb=BK z-G8I5bXt*Z;e6d9$-+pt?H}noKR>gX$;}C8Ue&RCB&>16EH%DjeqQ+V$lBFaF>a7U z!oVdSVp%+i^)5B1@+t=^1n!Mb?V%9%xPA zBAOFkCjR|wchjwYObZkFN{qI?+1y^3xl~6_InpNSK*fYvL`NVkN0RiZ>pa_CB&VNL za0GK$d3EAF31i)tYHIN-g#| zwpk=*Qow|tU0{daH>#2-W=d_um!gfSl73geU{2Kr)vviwlOIX?sgLj_ z({J~;pA?u0_mezkCXD{G^$Z2({VGI1#F7T*1?frDENoVM&eQu=+{HgHG3jt3m)NGd zQ>os(9kSY0<@Lw;7H>$Yw@1WCPd)^%SGP_(7O8^YL3%7;F;`{hO2GVex}*H9#WxNFCN!m zu6q=e3d7+y^G>~$hepe}Z$0ndzTg^w{AysIlPZnYCu>a?!9tJ`$>*KKxwlqDinYGOD4cj2Om z-+^ymy2{#)6e`wHw!QNZLzeHoyxt1bKAi&2!Cbi&G}DL9!S%n)0?ToBJDPw)`(z_N zuWUpuo6F){)r;vW)O?v2^ZLXr@}K68b^cFt*VqB&P`HswBvVXfv7AHPplY5YaDKQS z&yZse%pYp12*#49S3PQs;OaA1IW@HR%$;LsjWGUy1tJE{PzHWrdH3H&cI1kO;Q4?Q z^9ZGTCO;RHdSwCFb=q0F@y{U?r|@ZCocx&NFr^n+|Ghv@m9<?X-V|Z(0MQO zmiVOCc4h$vJR-fNN-~n{6Z(n(PdI9uhTD!Vck7dB)9!a%*`|EM>Uu9rcS+_<9Rrm} zt0el;xkF|S9if7XkKh1VGv)|~xtiAF38DH8BSw7v3I(SIj_$c(WUc?bz}pZ*;IJ>< zDCsq@j9^D&J(xl)kc@10lImTp0_eBa!g*tQ1p8~BSbw!nzwKx`wzF!TU@ z1Oo&^1S16FCiDOkz4rhYCl{-Ng@cvbclP(}9NZlI93mobFkIbSEKKa*V0fjE`s8VQwIBE#RMpD{EFG=HK|-v4+J`16HiF6-ob8obh3qI?Emw7enULa(k1mL>2P z$;vj%(P+2Uax9e_%2T%^AyIe<3-Epj0}h9Z;JvWNsV-dpI|ZNni!85${$${ejP)_| zU)Hmd&-E!?=jmNr+2F}T)<^gjETa9;$nSo~$m`&#>tPP|%Wu!9@N$dQ?^-_Vc>o4n zc18N#RQ*Z^b^y*SpED3}jkET6a(U8r;CEp)9SnlI!0TGd-QcHIhWC#|z!U!3!3P=B^yO0 z+Bn!dLtLrLYi&K_Mj6-^hIIK6O|T?B#koDZ35dpx6V2R39{3GR;1pa$9{_$L858$+ z>H=NsU{)_Zr;N3Z8Q9u}#iNWs*0txvEv&8m=!VZQU>47uXXD09sc;=2B zc*Ye4R!2t5Hv}>O>I}fo^zv5k`N8az7Hn}4Czfx|Iw zxOYH_xzj#>mgSsr0GD6Qj2a<&B|>$5fdY#Rd%S}HSvu)0Cx9Ndl@i>rYpvko>iJpz z`FYL|?utEv_T<+ypl%jSo5Vv%9_^mIYG=88g@AU1O8 zzpca2V;$F;G^d1-P{<=Z-|_VO^Le~#?2;)LG&KiiLSSy^X#^FF}5 z`5e7hk^_XZh?#{BtYJQjj;B_huX1D+386oYir*;!MCLQPL6;bXoqcXFW( z@C0xROG6qra$3kb)lUS&7{4uvu@Sfz`$$icaarXIa**KlszYNi0t21Krb2hM}h4 zvw$d-r=KwNCYGOR;`R!Jy+`yU((8GTG4b#?y2W?#XH>27aamBrk)M*aBNNCRuPVB* zJ$USOdlnPu`ZK?ZNG*b4_ohRYn*nOEz^^`4h!iwCtXr-tbvrK4@97;3?wK ztc6)QAF4GHeDL^9?(87nQy2sUWXUoQ!?WZD@#!^`&c2sEkoaE@sQ0+a*7@+v-Rs}O z^{3@B6(^4UlxBqf)W;QFKEp;Z>EY6N?Qn%vdQldb(zgyhk<|D1--0&iW>$#Q?5SiX z&f8)O;IO$eE4-t-!;$lXd?cK6ub?|6h8?hKiID;XCV$R-S0pQ4w*?HxUbrpGdWk4s z!FJLjrq+^;6jM*BhN=EJ+OBGIzSv zy)Gz9X~>i<`9A4qb`Nxbs%w-dTvDTxe&;L~tq!?Ip`)qExyzSWXx?%>Ssb=2dHdK$ zH+*cOn^_VNn;t<^(-HS+y&~`U%9#(1id2;2-=AVgk_wp}H(;=uPgiV}LWjEToid|S~eCszCwL_f(SNs#Qf;3C#%MX%zJC5z+h&ey04@g*=0L*@UMic6o zFl>5KnZR?eHV?M0^q9(gttB!sd~qdaOWGj2QHsed*a!42J-s9U5dyvy<{wnIdG2m}I{nrnN#mr z(84kU!rV(*O1ROd!A`57tuUKkJ$VeMB0rW&B^kJcYu*EDEvF6FJsLhPbYqWAiSVj- z@gj*?CMWIf-B$5p-j57tK;CAzw&m0MuMmq2@xckABywTkzS)b*~*9!jj@ z^ubT@0Njxrd?zsS`T_YVdUim`>Yt*GN^<6-y}fKvof)(QM}A~kq{vo{Y-%Q$tAOQO z@3(<7DcAB>;J)btH-0rOECcHZ-PI*E8fO059ijzDeR6JGvv2$MAz#CN~q4YZ+Wy zJC-!~he(q1>aSF0i`yHp?TxgUuNbcmxDNajN`%y&qq!RJFE*P~s)><@0JDZ{a zv3k#Vg6oM8py@~A;ag$-ZFLPX0{tu5pG@=c9*XV%r3ic49jW6$_CL3r-dO{A+~WeF zsB?HxFy)9|oevouo{bnw``ixoM;S?=jn;3+pSMm_;bf?dC0(?~y&30GV%%hDCO+VH zfed#A>eP3+(WbT)73uXTf+6m+jS7(Yj+<`7rG~ltYk}c;f$2)Foos6l0VBiLyX8aN zART8rbwR-$H;kQq0&WHkZV0d%JwIa;U00a$u8geTt;$J<#I_?f@!n3VK}0|$y(03b z5PyL#2H8{vv?{bpWoeDkuR>LS&n@tePla?PP-V}~z|m1fRA*4`o}cM^vW%1*F){Q2 z`P?T}d1YPJ0r6%nPs9dCY*buS>X_)-z9EB^HJq>OjF2}>L@yb9E&v+uN1a+#ng?EW zmp_RLQlvcdB^h#zd3!u6q0A&Xx{&ri)a*khAEYO0m<3L@TeL}s#m0wn)>pQ_X-7oI z@}?Wm`!d%Hj(%9%Z`e>Is*J0275J3k|GldKa=Wrl9k@r3NqpH%Dd(NH_F=F%A!_ft z>)to&jE-aB!R&PVb9Nwnwe$=l;3v-y7??XPdQW$+1=?5SSbCHSb0EN+Y!Gd5mbmB?`vpmU;O8}kCa$(GR0?;N|)rvXV z%;XD2mBG&iyJ70S$-@xnF{~9tl!|B*Pb5nH@6{w0fmCN`egrHA+ZE zLvQUeJGSa}QUB6%fy}O@|Dp@!P)sI&Ij*Mg93SzDiUFLoFTdH5Juvl5qNP+^ua-~| zBaQkaUV%UPC33bJkdJhNc4a#mDDxePSI^p&3up%XgApuWxN#w^;05aX-51o`iE4;R z(>*?e8w2vBm>O6jx(`8HjhC8Rc~-RA zV`lm7DVt~}lBY5pYqe3wy>`4{O6i!%()WXTw0z@w^KPDvpC&Y;jTntmzl~Vm>TBl! zH}K{jaRXdQ1mim5gI7-ZC=-n(*{pX?afMmpggdMi5=~O z2TQ?{9tg~N-DK(#eaGFF+Z8C@1OW=|fpN$ZF@1#`1(B&?n{A*lc?a9Az8%{Fs9{n> z&Y;>|L2pURrz3GZtD<92%6k%;nI7TmFX)xQKSyETE0@!yeruUiZlY;&Pj9uSP12J# z-d4y#iU!+Qh2QLuy7sDnevKyy_4>Kp^9S8khUzekU>dW$ro*+?b&uTgfj!+GFi`rj zJbU<1dAdh?bk9{EDLb!?(k|d2i6zFUxRl`+2?%DGSBAjK8(7 z_+418BW**VkmIP9SgXAcmWuWJz{?AKM}5;s-KSNx^^^qDa=*H%Q4!iB`>kf~v}edt z7k%EG9QX6$KW!#8*TBW+8_CFtOdM#QPA=DMQUE1JLEOy3=djMeS#G)@0u+jTOqgt# z3Ql&u3Ro&Uo296dxp3EjDtqs94z}!{PY|lc@m^Z+YplG#Q@sZ#mD*f=K(_wha_s?8 ztK&c&ORA92r3Tm5iocD>m=goG9D)o?bafL}!O0Hf2QfX?lx3?M24S5?I}I$s5WWUJIX!PfZ2TAM0&ejI52W~ z-}hg=L;mS->YeR+H~4+w9(a}R;Gz9HPs>m_dS3329CPr5{3PguvO=Z@#&Kw<>9;)1 z^L+Ad)h}ppF^8EecYfHuiNDuGhSvU5iarp&ux+&vj=&zNJqo%f5LgJ69sN|Lf ztiNC}@!xuHv$**^R|(o)(>PzNj3YTZ?&S&GqmR;=6CwvM>tY|6T=Hhb{_vl3RU9%S zQ0)rOFYdwokV1|4`^@5aR)LS_rT zplt%MGCMuV|Ez2c+kY(NHdXwx^*fc8vqj@&YpTxdzAZ27Y=~=Whiz$HY?{Hw7hl+# zJlKSJb!yt4plY6UhLGuba8tjLQnGfQ%N7Rho^ebE?&mq$Dm@I3ByGby;s=<2L_-RQ z$xwaIj&S2`{cAminsn=i%$Ist?dq>es9f8%VvbujZaHE%(=&}2)t#km)UUT>s6{#N zyA-G=Hr+qWk-o7!*pV>42oplSBcX1+R$K5&i4k#ZXS#2fg`JHHT|ix;%``R*bGRv! z0t#WkU_8>6pN^SOYrKd5wl@=<2pLgVh0oi0jYDGpPK=5pih;ZD65c{KOg%u*{HXMr zl>T15{_&)y*1C7FcnyOE$4bo{{s^B(;Yr_o=H*D%wiDlBHT|tHJ8bp ze{h;?>73B}T6*1p^0%v3tcn-nzmZdniBUa(BC4jXgHO%R#JnWJy!%r_@@ijt+prS} zxx(dn0F1Z-C`>-SU6yCjgZ6Hu>THf>SbS;WgoWB@Dj?KSKeA5 zcGRb z@nq!C#A}&0ScA>Ms=sd(4i!vT-ag>jtU%cU`I{M^;bF}h4P{X&&B~_dv|F4WE|r&K&?utp9S^SyuVf$?fSD+ zqpYQs>agWPp|v+!320xEKXnd7j{?AVYL^|ik?)zUH=311VjR`b#Vsf4Zh^ms>xibd zMm*;^ybz{QVKD3b3r6L}U&j6reL5>`h=_J zwxb&{yUSnXdRB8KH7oVnXQAZnjd2aI>-vQNvYrYs62>myEp-DM((GyD`>DYu6lVsY z_YlnIKbkF5pHJz(3>Xr{ay(w{)&+(I-TT2HDCO~!$RDaEVlbteUbt2}s=!H6IwQp( zs_-NKSs%tUJa+z(Pt{iqrohxeFc`PvY!-$a%Lo%Ko&@yai7h#XWb*cWwSV1; zTwz$BQyWsFpxcm3l-+pRD>diko0s(-V%L3^+fh+69C+n$nQFV_3h2GxJL;vRl2^=z z{X*%pkdW8dyZbV+{XM$g0sP_FM*fprWajlk5}%-yPU!5*=Uz?85m}}RFh6F;9QvJ6 zg7rs{v{&LpnKK`C6{{n0wsy4n9_2jox>p*0ZwzdpO8mV(2Nu=|}<@1$lQpkg!4r{xn^R7dgD*x9dN#T4#GGBigv?}AifoZj=d!a9xc>F}CWYRcKjEZ+S zSp>&B2E;V=r?dVP^s)R0>`^|dir(&UX{@*RpWXXJDv#y+-T@GN;rD;Fg$Yj^lldCI z(UtFCu9$X|@7rP|6lsr4?mS;@PCS2kpkR9kFG!RFi zrKVO|Xi-v%!S|* zTFgT>UmoXGK$1&ZOmKne_0V)YYSR6yvZX21fA<)qeCa6Bfiz7L4;;&3L+w6-u@bq20HZ?m;I)1wDr32 z?jjq$zqao#P2&^npOSMJJnMa@P>hrQ;(H)b!Gb+QOkX{ zBse#)ICGh-Yind`Nu!Vd%Zh!o`!avIw=sa2?3 zzIwX4MiXbp^e%c}L2rJLpVa>+#4h?g9`!p(ICXEkg#HCVh0%{+?LWAxlgVg+OCYzf zHH2G<-S8#FwVkdH|2caoeD-bbV}uA-nxWQC*$CMuT?w{;vrtOtFDT2bmaAD5Bg8L! zshDn7nB1ghE!D_4dQ8qg@Mtj|W7SBzx0bw>zK&pfLxTiB2X&DdltF1AF>Iw{N@6yL zy;1i1?nP~A+bZsQH0Q<|azwUE2U)JKb>9s`my^hL>IPiP^;w~E%oV>| z`AbW(+;dp8HB&Lj^6l%R*@e=ftr&Qdlr#b7n>$#Iy32#l2VY6aKE#%WJ;kJSoXGj# zYA3EW!`3{O{-#FB5|5cqp@U*cPBy`<_8xCf)QAA)7xe=(rpRrCLypT@4IuSFCG@Xc=xdpwd$pBY`J{7G%KM-khb$lD2EqmImjACkd~u$ z)sz*ewhC3DIyy^>cX@kKWa3h@)2Q)Dn>&zrdg>0U^cEb`L3Mw=Cij9XJ0Y5@^SXO| zKT?AzuHN7JovB4$KIHCpnV_s{>PANv_liD7$0^#^nLDb2GrXM^g1Cl!uR{`EOqExW z1ULRrW+gcc4a4*LSzfm87@74e4|D#-=rK1CW|$~&)Zr{*bF~cqFsxKRW-=kL$uV4L zP}0P><4$8`r*RA#SlU0^^VNQ$HsT4#C4aSy+@?#cEG=KN`YV;{Gb*Q2eo$Rc&e*2w zsK8ryvwDtk&MSqmA{D|3@WW*0g72s^t$j1>RVTYL#{ij!JLvLla8xaQZ|0pyc$q37 z-#L;8E1#7tQ-*Ri_K85=Rp6@Nl$OwKf?bTDA`OCIw)KiASGvz6Dd9Ek4gFa6uJs_( zm}mi#`_Su#&dI;dB(0hDsik&@hS@jbivou!2{ebqx^fJ&-`h^fcJ}##_&h#K8{1`s zK=SNnTiu#L<9laP)ktwe6N3I-40u5J*^!WMW}Bp)>LR|=(n%+6q}jkA1Zm6l@`VdG zuG{*eRdC0a`Ic{zNf(|3El-fP<@J!Z+<{++<`(l$EI!I(|MJI|RFM|bK8vA(!NiPD zT3?rFE}bCg55IBDf~IAm!oBD8{|{qd85KtuY#BVk1Hm1F1-IZ3EVu_9oS?&?!KDfA z5`w!!a2?!TgS$I}yR&)k?7p}AW6$nAbx&LM?LYnX`MSEQx?NHfhX?S#Rmjo6=Pwj@ zu1sgWw@Q=$>mm;<;rkd1H{zd(Z-0?Lbk?3P3&0^P;x4C=EcW%A)SX6nlWk>i)jXPA z&j6ld39aLS7v+fRt|KkAYkh7|#V!z-5jRE=T_4W)3BohCsQ z44U`{&fHp)dYp@oj_jKuPDl?U7nucX>UNNbk6{lV+;5Xlb0hB;9OrH0YiZ_f@#?K9 zL{|A~I&hK58s5)Wb_N=evFi@(5J87XuO{WYh`YTHZu_k8p3zuJ86SdodLB6be!Rd8 z#P{s&)2sxVDD*I^M#|KQZl$UgKTkH0i?x{2+JTHI91(WXL-zW>NCoIk!@qF7an0zz z%Gc~HUs7HKdU>m}pOUQRl8xyuHm&*!F15Pi477C+$p=&9usu~19Kqo&)w69)QGX+* z5VW-VjgosLKZ>t;L2S{O=9ImyuoNuy&4f)hg0dEvyV{>mTz*%KWl!1E=fX6=1Q|yX zJT&H^p6#Tues^W|UW4bfmsM-xMMQ0*9A7q-FXK~ z#UdvKznNy$lAclt47~oP6rL>FQE}N%uc8D;H8M}cbpN6x0H&~-CQci|q$hE=;Ym0s ze>S|!86AkWI*4XI6D!NRbm-*GO{`fqUe+XBX50~Cz-kDvdDSvNZC7-#5k1s)DiH*R zF32{UbA@*mu(uL2A!s5H{QAQADJ(~k-Hq%k8LfQ`mC}z7jBgf-jmVTlPUcF~m7RB) z6g55S)MPDWl?xr?Gool$2{kdlQeI*vF!W)jJ-pVSh70ipXGL+b(Z8OwAZcYBj!;29 zXs%y#U-`*G0^rwJ;eQnB_7$&E;Sd8CW)WlgGtX`xI3ZFF&U^k%ec&z93x~DjnN7p- z{PXmQubI#bnf5Y0hmvN8CGz2U{gJ!=Ro5djw7@Kp%huC>FJVPwsL;@qk9jn5TEC46 zgYj;ij`W94ioAMK;FPh#?X}x>qO7nm2T)AH#Qc*tB4XJd)g|0gc_|;U#&O`Nzt3si7a4=4W)TqB zNj-AF%OOz51ar8mS4DHpuD8P+L2@}-7Dk=DhRCt?-yKC7@mR8{Bayho8KZr@&J!Qz z8s(ijSLztuAlQM%{lzkG4Z|0*{63qZgqyRRS*FDdaWtLBm&mT0k$AD#(j=8o(O|U|Wa0U+7}K;4$AH(`zu&Y4=fAn6 zXv1OWe z-(beVqAOFn8tHke0?PDd$Lr80Ua^kfPQ=E7M=D3L0v!o5#kQDMH$jU&yy82{n3-@(a$+(rW&Gqf`bnq0nzMQ;XuNVw(&ihDC z;E32+*G&jw_nACc&4m8%j#1-gc~l3fn$a_IrP3d`vaIFLzX4Iy@Am@8;ev->!=0z~ zWn3d}`iRlBpBNzBx5$rFhus-A>OWKQP5z=>le;y@oSSA(3=UJsz02EUF#VFa-|eYl zrfx);F>uW0^_|O%K#h5?vVPt29{qE6k<;9)ob~E&yrzo`Ggl4N^+Knp7ShZ#{al`W zJRc5w_5J#ILJfczgw3*CWoPAjDnC4d69-T$i$9tkF?~g*I)U$7KpsFkvbyS4S+|uV zs|)BSn|SzgdZqBDV37t{NmB4#C8C0n;W7iX`lafx1(Tj>2Si!mLtdLOj5~geu>`T?D7bksVm?dr#{A zg$#0?Mjot7U-PiF`0xOoeXDu$z8*Fx4EoJr$+2f0(cOx$2=DHLATM_m>hWW09JdjX z#q4WptGcE7dN?~x`XE%h7>b&|ZBdwyH0@)PhWi+@8RbDO2MQhZcdI#Xf~n$BN!B8i z3G`^%I02<)EX5)6_UKc8bWYZ}$M!$iH!uDQxO(q@3|Gs+>hI9jQN0uLh}44*L8#zb ztZlWre8N;h`ZH+yo#iZB+}}DNgX2snf_bW*zOYmFEFL~}YmXDTjHhOA@lXWGe{-Y( z$%4_J)PW!QGPy&uMx#iYUu zVfa^M7(tt|nGgLJiNUve?YINh5|+6K?v;cQ`5Fnpu~UX{h1pB_`qa&3cEkd~f^|Z+ z5e+cJ`1jDaaS&|$IwSbr5k*5~O3r4Sp_}=}1Iers5ZGwiDaxGl2(-$K2>&upGx^hv zMwtBpqjE#gv;aa9orOV`!rlgzrMS_)_*ajK&X3xnyX@eEMzL)1p~CL$~FcdA&ws!#R`(jpLn+k5h^ z_SscqX+&h~9@CCNR$aPR1g1(ID1`8+P}b>)3AN**Ouv^e!ZJnT;Qpeb_d7i{;hbb% zqSg5sjT4gwgRfA!I7;`8Tv+vB_IB*nqTM~=E>vIP#dp<2b7=6q@zbNzPps&%L3Y5? zF;V1d-h+tCo=`^J#nO4W4r$X@tvgD_2WOP4B&gHB*iZ!PFC zfArm@^fI)SrT;v(CNI1`k2nCf#No&|$G#fm?1br$UP%gqIBQhM`~SOB+qlG=;o4Fp z8H3ZX?6ajJWc3Mx zUHz*nf+bf|@_XehVYG$er-7U1_$#w0a>P~W7$e%^+Z#Nam8npE%0u9`Lkq-5C?rp} zL%j>n;{VitC+1-&BgKH#`n^PkrmiBOxy2QJ)rtm_Gg${0gM7)t`q+_#`OH5$TXkJj z;x~4YB|{ru!9Ef=HEZw({3x7Z%PCV!jD(U>ckWj3x1Z?+$cbR{?Bhz7+-iacIo(dJ zjJwfy)@`%+M@+{3UyT70BvL1S3u!^bUEcD--H7?X<{fn1r8>TT7BkixJ7I)c4UvJ$ zVIq@z<^%~eGd+~4p#5NpbmN6CzSEhruS0rrh|G}xo z&8XbFz**w4?#2`BRfg2wGwr&xT=4c^6xBVGV1R35D}$gz9@v0-yF zpt!J)R5^+t+p=ga)d?avShIfh$ zGgxpy_YX!fiv-L77XF=c)dt;K+t4K~pO)%`=gLPl@~$>!+R5r?(E_JclBk`g-g)Kz z8yf?bi!DaeC(J3R#+XJ!*mXtJ7iaCw)%Kxa%Pk#KzssuISAv7rz!!u4v4b1%=>=5m z5|D45Ds2AcT3FKHwoN~rJM{|EhYPtS@PJ-Uj$gmV126qQJ=mUH_r_@yWIW?DR$cBc z=N2oj!;fbR(nT82G09UJwdH89U57_1r96Kg#dAs6T8_bGr$b9z)`(k; zC&%q`K>9O=UnJDLV)jOFE#JfLW)%mFak$_K9Lwtv5R){{da!8_FO|fDPgxAW701qG z&DT$j^@EnixeiI5ky}mEG6+YZXda*MF;ettAhGrwVY6s*yIQ+dzq+65IX358qzQ=6 zxf#pPGZfOt8~nOSb<9*+Edt8&jk`3U z4bKaTXeBT=r$AC;7u@B94jHC?xqD_=Dt0|h+1`G@&6QIC@w*;5^b(kKIPuq~-W{z; z1;rB^fIN8_Mh!!Ir>F647BQLIJ{|IzX4&_Ykko6!yZ2BJR^HxdKj0+DmjAR!4w*I) z-ElCPnBbs;hv`Jt6Q4Hg&h}_Uu_OS@ru}VhvKVmB2owx11lsTN^LE4lN%cehF|T3$ z6Qj-n<Rw`Dokz@#C4up!Udw;l4;xqiSarh>&= z^>)y`QD97Y(f?JEp{lu`M7J*G;#Gw>%HtI0VN}d|xvYeABH_+|`$qH29M7ppP^+dz zgJu&u0`ru8rlUu)NwS0#?O!|>5kHSmaFNLpwzN@wy8ih!RvSTdWNBH)WbJz|SI>*a zw=M-c);f88tZ;X;maxiz3le6 zwS1yJOq%obEYNU{(CpKljOL{LGfQg91I*z}&YeJwbjoM5#yB>oUZY3ocvE45H+$S&CPC~4{5n9=L6U?xmjSDvU77;o5PY^G&$cbtA$KYX^WslvBW!8<{*XA$2ocvr@ZkFip{oHQd`Xnd4gUT#?1M+2>J|}&Ra}ykwa&>9qn*{2ipYA zcP=-GRK3RnLCi=_YY2I^&OSk;L4gF|2AhU|0SF+`>CBI9W1YVuI44*=z-Pnv9eviP zgf>hKsVc0s2+a~e4_+R`9YwUWsiVh$5Q*ICC<=!kf72M-ROo@r>vgWLTifG({w;hN z0(h>{5$*Y1rf$8>5mJeKG2R5$3jc{mHrB643<>bhmbpZsd#N$8Q+< z0J;dMxlgc}E-2(nPkW3t;W;_W9;xEQqjWi%Rc?lBf)Idx(K4_3wIa85dpcHgT_45Z zl)!D~D6yF-4i`hLi=$;p1PZbXmD<$)b{}{vdUHubp5;sFpg76-=s+LwS)x==YqgT+EN80OGK2pJu!LBn zp2C*#jfH(RerUz(g|?zzvNG^Gb6+`1*uvx%K$9hP%+Mpb%#;@M**vA&KLhoRO1C@* z%RVOWeLDC7?U9=(cPC3w!^75z&PYrcnxLH5y z6M5GSUQqfR+p^WySgnfAF$1%J_0}KIjN?u3F9^;vLcFsljOX;}F()xBGre%7dFAgU zWZI?HIh7F@O>h%b{Z~)})eURaA;%gZJ5H2`f=-0+D3?Egw(6H7t(#X4i>lS2QCnr= zwJe%{BkPSFOY-xZ4(gUQABmU?NT8}wNRwqgqt3YrHZ_4=bON5K^|}D3jZ6LK`O<{? z#DjQ>xgFOF0qmM^Z8(2;!#++-j;7Xnwu46;f=)ag{8yti#4Ec?{+pjk!!q5gl639m z8i`5i7mzUlSCYiR_N%G#01gcQ8^N}dY5stDfQSic3~@pnAHm-)cuVk8|HoYhHb-7u zPjRB1GrpH{!3&$gsR3Y6rSHMF*?FVb7`;7+s73#s*P-`$!VRl*58F}M^6rnPO14j+ zMI9qZWuxsej`c2y*5S_L+cqAdV&(29-TIq*wSHNWzP+P*kIV2{fgBe2p*s_DM$h9x zjo7*9aeV!3U(^1|yW65ogTdC%O)R()`YUx;y|7z?-&9?wgew&qcxOaA2uZ3a$ zrM)*WqTfyik2UERUuwDtp>=Em$^!MOVcrN>v@6)4V2%>r!)0~7hX!PdstQdz+*KQH z-X?n0lRA(YR@lO@)ygTn2pq*=yl0|-`|LAE+|9fDvn)m~0w3NztzqrEEo64Z0_+`ja9L)aX3*~Wi*`{-c!*znlY zynUkfF|m0#m?1TX{5P%Y>HIG>ZTZ+=43i&QKjzCQL3)88@EnBPnFPhkzu=z9zI0j+ zLNE6wm+=r8f?5>y_!hfC#;@LG`;8O`TK*H>tlizqVobjrktb@ZA>;917<4x+ng8-` zH`T7~-W+o=GO8OQ?u79O4@2U=yo{$mA&%}{%ZYL^9*FerT2nd>5gBfDliOY;@L7zP ze)=lD#|T&`dOwPW>Wy=VN-b=i2Zm+ygl+j)D%KvpL zIn;~i^Wg7AaBs^=kO9G|o!qo598Yy9w%n0#YEn>>LqgfI!}=oJ*4sc;fh1zR`3_<0 zjF=$v-dvn%@KxUdYaF4w#epbtuZz}8qgvlWAw!hHsvz+#D+EEM3k1qj+I#QPFH*G#$)>XV;kIa(qrzYv4&)@bwI^7qs|nb(D_=)B$tG;@Gcz%F-s!$e@*?0~M6G?lvsZl% zEd@M2+Rd1He$zLn(eBkeZOs4D>4v6@`mMCg{GI;V?LrvOu_qDMt-hFAe{BGt%wKk$P;oCNj zp7%SKbK|0Ve6lsC$+pbs16JYLSwRT@`S&v5-1$6JnQ7Sd&MfKNY3Pp8tCuxg z5l)U1VvzcNI@9UV6jYlby*)@)#I#|@Wh?(k-noKYzu)?KqlA|uwNU2WEUl$5y9g>U z?7ciGPH-POt>v&}>rr8Sks8v-rK_hN7OFjxv@S=H(HvRWx4WtH^X)gyh_ibe^wbDQ#mOHgBJ$~l1+kYm2RJx%-`5MqmS zvM%Alxm0i5mHqT}AT6HN){m>yrU)*Lw@u%R19E zSA0a}Y8T1qrDLm$PzJ%;3PC%PjNAF|i9hVU*Uib|S^9o|*-jmo+fVARyG|Rr1EneB7;LBmqC0zr=^#Ym9v41E!PgA4Vk0wnTm`qx8CZojHT=zvADsk}f}8jeo016%_-MozXqM*;^rMS+oSg5z3}Q)12C|+77k}of=Q#OnfGE8{G^Pw&Y3`{JDK*{#-_c)y9 zB9Y1Xfx*q`fXoV2E|!nSI(k6zTL|Hdq@!HqyoQkMo4NPrk)XDQZs{nQ0b&NGuZVSM z&4V5rij&K>FGZnbJil<{zz}|GA#wvTL9p!#jF(mn)Bh=;8?W8Ksf;Y8f8C|y`0gnp za=QQ~>r|F5M`?`>JZBeCu@aqQyUB&y>;#-ajb$=Oab<@amb5a~{no*p%Piw$T{VTV zDT|9+mA$HbW?P;|mh-iENtfz zmnKSQzx57T-(@Urg)irpj;P{T?F?Ahdts8`{4S$)jk}5ssg}FAh z4ju+w;+K+${27>H^?r|E=jxV$wkT#2zO_%+P0jY3<-_Nb&#gg-w|>DU89yKT{=_r2 z1aZIrJo#~M6S!Cn-7uZ--v$ka+|9@pNJ?I`kH9LFLoce!^i*@W)aafM)RjMgNw%c{YPad&XqkW)ap$8OM) z)sEXt@8w-DvGmAEV8qb9zx&A(Ks)ebWs|iqsN$ z<5U1F1~4(F*W>lBr*2@&Tr#vDi>?2PSew?zlcE9NDRQ4@#_-n_ilk`4Qxp#*$BOhmC z)~(&=QF(pTGS?ib48?sIB(_4|ij}PTk)3yQhysQnMww3@-~RrNJr&ua5lzH6*Dt+b zMqQ2zzz=jO`J68qo=Xfk(p>~r>o7d9T(JIb#=+rTx78c(oWfJ_*wk_mX0q-w9w-X^ znMPC*U}}}aX4%`V!Mpw96&NZS45ReZjPj#v^{sUx4&z*J47Jo5ELO;{8!&sWzAu+z z+XPOzB%2cL(qkRbGgRou4P$YH)P~R(7)9etKk{tAe#o?QE3EwH#ZC$Oz3xF@LBc<@ z!Mv5eZY~%B6<>7R8f0LwtIMR{qqV%IR~8Y6=6Ov!%b}$?Fm~9@U`2Hw*CjV($HvI8 zQd=k%8Q+qyt|l0&T(T+;5G8j1{iH$-o&f07=J?L6SucX@*b}I>QLX<5^v7Z3A2GU1 zfi!pBzkqQU47>VPPWX?Rsw?WcH?2!s!eC^zM?4#kIPPmbItY8iUad5Chbd0kGNrLj ztHDf_7svF+ajALV*Alk#xf8j+#e6>g+4%b#PK-lXXuwEt$(rEax=gwodED>R*g2q{ z$IvlP0yN@l-^ws{HL(}YPdj#+4?&K~d16k@yZ+!sJ(Ns1M8oGI12Rp)^%`d?-#hcj zy0HOPlg#%yOLQ7d+wmV~(W*{c@gEn^-v6-{KMtyHjAk5if@}B?@W|jrm*|+zAnLtn z?rqbfAyiGhFWcC$}JNYj$4YD z3)(gYeWqVdLF9=(_KC0cAiOAO=&fjw$~yAr=!~;Ff6}TA{sPiOCklBVtIneGCnlxDv4GL@QLx z^`WUg;$Y~&RjDDJ=jN?dc=WU6jcN4yNxN?r8HKLMsu1qAlt8n7qfW+%3?+B|9e#th z5S6j_Fum=i0xNIsONx3blV(&bsza&Wt@^6y5>toe+$n0U`B|QFUhWN}ftW-x9|DkgMRS1He^CFK!{}M{P|7_u8=3n3LqJh4lol&->pjqp zeqz+&RB*rii3Xv|>{Qb7h|`!LaF61cE5Rv*#(M0%ZDBDFIq2rHGT9-^z&{cG_ACPIAn3;_-UXP+WT40nPTIb8 zidc-V|IIIAaWTNBAybyP%n znnPJ4>90(@?tau6iKBZxw%rSNPw|=SFdRLrJrCOqXqa0UX5cMTDV)fbgcTIW>SD?f z1@U&l3C%%?AHp9D4FiOdt5^&p!GufGk;f9IO97{Fwzq1_NFg|^ebIs30}!rHst>-S z+MoQmzAS(m@nmVgGcIcc=EphaPkUzTr9*${Ird?5D|h>ZI#?3pou_#8JAK}lra^wf zJxkRk@Uf#mrNf^XWL}V-?eG@mm(QTu8$_yBERQ8n0``7xAOIBZ`*v-wRb00jk3E44 zFnPA8J&IRDikFAr*E1Td=c~1s1KyWel1!b)#$e!l&u-bbHYld=<&-v(7h>$ zfob9P&K+X4vl_hSx<}@poZPR~3FK6m>B?dLqGg#esYYxMy~C&rSw?D)J?kf~6E>e~ zx1XEzUxY120@1G@lf8~9Ki(}e#YMN5FSv@J7&^JOlqXM{sU`O6xr!jM9?p1}v*&QXFF4lV0sJo!PD4t?|BKKh?(^G(-xB7XKMn zG7V<3bEgn*@wZTfdqMi~`<<`P7HFGeohEot^yk&8BJg?8VV@uRt77f$cDuEM06q!$ z`>NcXo=6o;Fle?;Ea9fM(&Ehhv-XGE1$2-?>=SYXZXOr3ZFfWi3|z%mG#EapT?Jh( zVVj7al|2q5x`!w>oR(@hJ<_MmCnw!q^uuIRhGL!&-NU>>W&OWTxuiArPHd*!3ENnD z1HGq-IYpvZ-Y<&$X77}>gB<#O8)E!-l=}Zz{bBw6Kzt8Rf;ZUL*Voxp5AozC zhD=}g^-A1^Ren) z)GYHfjPY#QE~l8;=@OLEFXK)YC5a9kY<_%F9aT)ZpRjaD zr&UxB3V;L`2ov8oCS$3!7X1-F#av!4-$nTe>IvoHN#Qe+OxDD}p_#lK95^L(pNl~5 z2L7I~y3}EoaiC>fnyQEkbj6HLW~7p_EM9p&|Lt4sY(f~dm;}UpZE3!oXqtN{JXhjg_9!0`j4wRpOKG|4gqkF9tI7_&y8_-v93?+jy5q>3? z_@WAcQ^9lct*I{8j!m;LE121x*NHzx-p*B4S|X(qs`t-6>%{jm4H`}I`RT|zJ(5Iu zE;{DM@R{s2IOFMQX=xWNw|XpxO}-C7X^1g#kRsv53z`H;q)3e9pGP4*&@#Taz_PIC z(87WM7By@SgUi18KwUXMy@mTn3REIyi1EUG!jSS4%V;rC`$eejQRF2 zVJ%hpN!hLD)Wg;F@$qe2;_V3UAV6)m#g=FHMJs z3!nZv;WRwo+b&!#8|33HB0o{cT?p|@3ZLW|)91<#>&ZK=4PhxZ1_?iHvqxIEt-j*k zS8U%7sIDXZ#`>%9#Wk;SVLr`YG(-PDyO2sURyQhk;K4&Zse(ZDO(hS9S9vlT(`N0fyTrW&w!Qgsvdk+(Btgl*%(1#t?g{lM!4$&++FKAeHYV35J$V#6rBI zW87?I4({hZo=yG~TGIMc)4Iy+zO#1Xem=wG;LX z+L%?Hm7U_w5xY20o@uqce#+Zh7z~YaHAWTrlHM6<7jqf|e2t2A<#<5o!bKbi(~0Mv z`f}vA`Pr_mYe;4bFsc&aD{GYwpJJB#v=R#Mt#sNXrj_}Lx*Jm%QgqvDlqKb!U|C3> z-0E}(o2deYbC*ZMwWf~=TWYTWV+G-`|rbiPv-^^287R_@ zV%;{B#_6aJl`|DY?=rR!zPVj$&&m<1dCgrRQ>X5pVpgbmLCvO# ziGl90p%W&%*A@3hCy^UDY29PbNGeHqHRXhfp*>@m}Db%rc+9 z`mN(Si^41}nJ$h9CfybM)mGTevefxfH2N``F7Hg)BtPaiubv~sRXcJ~pB5p}0Q zV@&$Zp9oT-oE`1ol1C^IHEMKwSs>kZWt#VFDq(w?1eE2St7~HcM-DX<#paJ_+Z=)Wv^zC zqEyQ4u>{_IplApN*U_TbSu7~gUpUa}+I%RO%d=bgroWZ4G)LKm9!>ssv$*U`z+ft0Qc%iJ zCc*L!gGnx}cCtt&ZfUait#59C5;UWf#SZTiFN1dlECm}GIjL<{2Sc$Csi4?gccc!b@04SGr5LIrcmEm`D)6luenyh~U>tqY7lpy;9?*h713KWZdp zr8t`m0-I}=-B$y=-cXXXurw8vhbsiO3$hqp(>Zy;mA{uj?qhhd6fNr1<54^FR;FT! z^onpYgdezEvF@teHKnBMhTYQ1cb_22hgu25sdI3y%DJkVZf8P6)w8Vyy({CEqJp*iM(xyGCdvuE7}D~t2Z%zcXYl<*md?e3l-VFzeR_I7_`Ak*#iaVUlo;QQ+D%WP}cjQzi*ZFnf%}e0DLm|!3b%ACE{IAxF^NvXIR`o*{BA7#rE)8J@ zd7J&eF3pCDqOr5M>dqI%+|lL*HG{@^^qMNST@t+{&d*h$Pv>#;6ao(L7jbYq&jf@P zXpZzF>_(Gt&dit81GYb=^z@%L^}PSJ44RwMKQ4+2-ee+T z8or39m=C5uPVy<;k_{R~xk{E`wLV=8cdQdklFJxKd4CKjCw#Jf^Ze=OE8$Bo)^*To z;iVVduu%c|sv9of?A!p^kAk)dh1L>`PAf5NUECA?KgVBu(8a0oN-!O)2n)|i*m28| zyuD?nD26tiD31hG36-z7`^n&e;d7cbtmypmmCFcra*ry!UEEgcRK%ZF9Be~26$JHok};3gC=QPrKC6Idk=@VT*kjU<%h!pMokewv2- z6hu;ij+SF3FB#8iB`ukqfRdN|-6&{p-$9W#*062Ud$zFxmMryoLAK!|zeL~LHao9S zja#pY%sshnAz&py00O=UJkS*$^vl-GOZV(GHf)c(QK5biWdOfXhBY>^!!@WSPimXgo&3qJtG(s*Z6k7f z;(*TGDxF1SJNPN(+-!@Y`_+!P-K<4U1nq|dAlM^>5k!QI|45Juk##j>=L!Hl8tb*}ywEqV5JcDY9EX@1+jguSIBb4eUthhe23 z_zJmz_sR?;%?NJEFmZPyY|Esbqrx9Oj;>VE+7R$Q#8z8Dv8sqQ-G;kcee;@Y51>r~ zeEo9GimYFXhPRVN6FJiZ2)S?Y8#7n(H_EH0D>_$7VuqP~!|kIJOy17@%Lb#o!On0X zI>FK@H}G47mG($9$WOH_qAFJC2b~t`wA%bUCG~vJ!9PJQ2~C{GTMd(Fs2{y>j_lnm zPQ!g+Nw~q&w4?AAYy(fzu%-9jNh@XVh`ICMEQqbz!-KfZwW5YVO4e$>Fq?ah2qSH!?!+oBe54L> zKY=U9z(qcNZ)02+%6VObaqW=O-lrQi`?hd@Mb1~bo!_uum-~x+*RUfHDSV1r zGRl%5!Uof6xS(dbH=C7Mjk>AtD>@_vCk}6>CWbXv_@AOal2#^Q zwhCD@-FFs18P_70>k%6@Q1T%Ht>Mb|Vi`y9W%S?Su= zNUWl!Cj2mOJ;Da0Ee>C|=(|`Q_k7oa9{*M;_XbC;I zu}YCaVHaTM72x7e3=_5H`mc>1QS0cB5*%VY>>NB2ESx;t+$`LjJX|dN9J~@NQewRP z+*~}|5(jkzoHPE5X72PmhO-oAW;u|93$Vq5r3cK4oGo zIvg3m&CmOPb|&Utc5eB$v)FI!gPddH2Oq|b`YDH+lG214Sx#oK?*za3zp!Mw*L>?e z>iNPqXYt+qR0k{!dnw=BuhJ;leSNw$OnLRp&@9t!s7N}$HQ7B4cVWXnrZ*}yX=~)j zPXa#NbhAhWV*ue%rt5{wXQovui8;dvQqYVBVrBdlX!o%c7BD+?3gaOj$3x3BV4i$$ zf#)qi;C;)0@13jdwUDzGFZJpkPMaE*FT#?rnnQRd$?+G2oDM>NDJ0yKM|W=~JlyJD zWlLCkoB3gw?I$e!z5M2`NuXG77(E`-XfRip27b^fKQMVf%LOttQ8Pm&p)TZ$dOas7%ww+r6rcW^wjC zWG|%NRn=9yasGVPgx5*Z9v&@$bxCfd_L}k3Ic%{9A3R+g0u5y{5IjMUnMB&vn1e z&eeuLZVjI2A;Wi;bDLFV=lbV&W9)tz+}atn<(V#m!ltyMU}F){dbf>&&EB8A@`ZS8 zum66QI&awA;MPsx)jiR6AkgA0etr|(E7**8Dx%r4mV0OPy4js<|NVR-jj!=;9(eoE z!}A|D;&I>Nd>(jzkzesRW3&wNI!?In8+de)IbTujy`AleZacBlyf|I@0PtM`P3r(r zFus(>yPMdQJ2A>774mWR!*`UU_(8vksD)< z$55%I?l7fSCValPJm%HwivVBEzFr|K+DyDsV*J@BAI2twu%`8YgM6a3T-#$hJ;ltr z(JU((tF$;)OoZ2sdsPbKoY@oaDTvDF>Mt>vXxB69&v0zrp_jRd;%3$>Tz8I*L8F0Gq%U)yBQm8nl_qZuX9q4$3KkgY+&y02q;gBC+`#s$V0}; z@g{fwv=!AX?H;DY)?gNSn$33d&@ak?mqaOSjH4E;>&7@9@$c#_L8oa>=jXjKJm)58 zPNRaR6WQhSdV(4Xdp-|on~efDjfS2LZr&gMU^%sewoFc<4+}?}q()cVZHv0b9yiKa zYDv_&@>cq$R1k_+fU73b<8tjhH}Lc3a7yN}Pf6_GlUt7&pFZ8eV`$Ok!pq7ZyGOPJ zakHG~M2&zO(OIO-)AiP{T=2GO(O=Wu99N8JOwVV%BdDH(%?cb@6sVA| ztxva~45lJ*QmySE6FDChJQiFN-rZF9*Xm2KiDX^Xl%jJm;M!F7)u8aTb-D|_f5t;+ zJ+DGn+y1Dnw?|!f|7kUEv)kGsap5qzNPa10PG4ZoNh~o?Agf$1k(DR3iP-^E)pb-P zoy*Ep9vU4UUvHfai{e3SQZj7gE22}K^9TDm3*Q`UJ_y9>zZMH-fl35^+d{0*ok2Oa z<+ke9l+Mlnx*sS)OSG76%gCLZ%i6qd-Ty4EEX~-Risbc4-S)%YRX)bmp*FQ^k-=Vk zgxQ>5jWnhc_g{=715VmW7saFRVdsU?6^dc0)}yy>MZ1#GyskFc79~yT9%DK*t$Uu= zcT<Y* zC_b8L4RjfwB;8^qwAiA`NLt5jc|sqA43+i04gRpL?Oi`icn7ipWR@(xv_yH|QHPP$#y`TjAoLTdVSK~A}y*II?G>UzK= zT3_`iaMG^Qnh(4REWQlSrJRc9*#3F}&nzE{R@oNPDwmsTU!>_4$REGxqRB)51ZU?j zO(Sei67#Ni2*e^N9Yk4o_^N}m(Hrt+dwgM-md446hisT>+P7C7*D!pt=_dT{EQ-T) zf6xp8sgU%_h`(~_UTJ6HOe6V|y09bqfu88UZ<2E>AVPtvjH2LlcPR&h(Tp9X5-|7E zQPWd5TalpcJrCF;dcINfKBToAVw_LKbD~AAWvAmlS;bOXy^zULdT8}yMjspzwOr1+ zWxb?Hr@54!0sE?0!O`@PQ759cR;biT>cb~^nJr#f5lPr>UTkA##5bBwX#%o%vFwK`39@s_((W>&$ssT?4FrJy&+ z$Zk5{TGwkTXHB7qXQEaTm}Z%p2E@LFq$H$a1?QeD738}}2>;<`Y2`osz>Q%kuK!YC z_O!ssQ(@s6_!0@NygXCp+DEI36{k>>e# zth3$cvU&n*eD26abi)rNbGXh^#0Vnq4zMP&u745fy_Zl{P!L5)FN(0c3a*N}%C4fKB*Yp(g9T8L z0qK3Mi7S>B#dSp`R#c<~5?!%iWfe6cyH?a>ZCOS5pP3XwvhVwS&-eWIeV%umn>%;z z+&SfUe&^hwBARyW^~Wm3^uN=N-+i^|#gtn)8NW`xO%{xL;ff^veB0xFOgs6H6N0xZ ze(u^G{oM%OO??Jw&4A8vn@!1>ws(9-+l(75Ub;?FZyy^Wd&T*5^G-t`;b zcbp}8r1@7%L}s6;NP0Hw{crz-n39;0Z8_&|c%Iy6v!peV@0~<2dopocTj@G{$k=`3 zp9p)N6`0&Oyz_4UVwdBHYxAaOC9UmF3vRePyx~3m27Np_a;x97?D`mMVGa2c%i^7Q zON^y)jkRgKxhV_3qxJjhyuSoqdF&yx8;fFGMzI!?ul?~|RLgz$+&co(yDjtFOV{E} zU&aTESfK&T=){uA{F0y;yXf|uI(){( z`*!C(@9?<5oYS56P+<0<^wJ}a&}|4Z^9+m>(W?)j4My~?7wj%6(~>7HUqj90!a zdGPd>%e8}^N`I)xyOnHutz|A9_f!&FQJ%nc8PgI`>&}zRip{%{Y;vsSPOb4->Acwd zm&wK}TBg-{oR!S(EJG&A?O(SnsKtGhEbPqxtQh3eB22Rgk<1Lu6Dx-7X^Bqrye^p= zn*UVc_eeM{&EvS_$GW_G3e!g|^V4u|x<;jEeN-5QwMu~sjTZjOT7*YFxiN~1B5f-3X2SVx zJjb0?+t8DZ+5-7b0-_b%j<+n3_rh@eVj=DuH}Rj1TQ z)5^2$4VqtPMM7tX`ei?^3I61k1Y@qOMA{n);uqmRxuHY#d0w|}7hOV_2Pmq+lzvm& ze=}b)kJ!;;e~0eGarc0WO#L^{6kb}f2v2nXQan4N(Jy;*(QQnE<^?zWZuXzS z=qcJ6`;|#=98MC`Ov$jz2VZV zQzLbTE?BPVYzkvlKZ{X~g>^=!^)6(di&3$5Xiew7{XaU?3>aC}`GoV)B5S07nm0Wu zC6836&*Dyv9PFxkrmC635s9ih^+p`=W2zP)9y&LxI-h#CvdSr8!kwtfQ83xIzMi>P zsN4p|{L_DrB*GAC6 z+#4nf+HD@TJAG-lQ!97t{ut|GwuQCOKDh8;4cV0GVcqhTwdjO<(Vd!+JA~Zea)%hB zQSrm8OMb*VItj)^ves5-Q3S4$?4;^!f_rhYd$~o2IgaTVz_z?A{DI8!yerP@uzkQ} zCvKW1@SuuaI}peDtc1kk@in+JV%rXfajdZ^qA?vV7i9KcIpYOxA4FjtZl76*SEg|? zzDz8jJLgNeURnOh&SfG3-FB%gsv^@V*>Soki0*Pox~3xQB-dk16NB#dRGJ=}X_f3S zMs%>&;ht<&Y}Tk`mt!JIt?NChX=nBYuG0$9=vtSvh%}`$Yg{sIPb0h5?V~g!G}BCB z?<4Y0b1s)Ht}6&sIPVdW(p;}g*VSe6Y+)3ZVpF7=|bN-JdF%wsz|so`JI0$!CXElO8?DT$Mh$`HO$o-Fw8;LKwU z3Oo37F32NYneL6);g^0oD*@!MzF*Q&k=i>`_$+SND2-GM(1QaY6%REM2AySH6HP1k zx8Ft;T1S3WJ^m^xL-klaI)Z6Vg#WCW$23x=7GSjZC%41JnGvkYyaB_jg#R}Frl*e9 zy$jjm;$5uO1&zQS@S8ic{a4ljirzd%dZGq|<&S74qS4@)$25ASoyQMkKhP_+wD&(| zMCIZ3-%x|1GxV>^Zo{P47A?|wM0b}`&&YY`6F-ZaIP!NF^`sqc{mOEt@=|7V?2wV5 zO{X-P_$~y~OwFk?mE-AhDL55(O{Io=d>p-|zoKT*0?m&Gu<4PFYs|&kZB1O1B>G+WY4yC%;0* zvWKquX3m-ksqem?@lG@-I5*;k*+#(#S7Fz){NXozr^YX@&iqRN4$$6|J=ePFdu!n; z_cDhVs|035bX$Hhpl*zm!M*W0a3zF z9fNT3{)r{iYJ#Z3Cmn<5vqHMFl4?dHXM`U*jK;+WMv1R=m|Tdbb(f6?4QqVVVfHyb zyt~|(`;~2T6Maa27v8JPKiPA7Q#;*M+(q{)cjEd@Z@x@-agz?NC?jzLt~LKbH+$L@ zT2XG5?0u}Mb=lB8t?WtZ;=}uP9vU*7r}XXCwk98hnx3uVAkll@74y+eP8u>gp%B z5&xs@4X9VskvjCso1VXve%J4yUO&(bR~54hDwIKe_;4W9~&&!f066U%51#Z;YANzG8;ihL2 z_$Tai*^k>sX)Znrh#+aA;6w6N)ZF;FTrNTZL*C}Q1@Z4dbyWBP(8Y*3Yl1oM(@IA~ zF6##yjN;k|aLn-YcL@^->v651MZ1jWUA=wc#h%Z7KOWlUP+t%~k+2`G^NhUXr=E%C z)+;ujU&ek%Rh`l*)6l1Y&K(_hB0Bxns?TB`oO|L#^!MEC*m~dj%wa@+{%~*E(u-%B-aZ@eK8o!Q z&Jr}3Fc_R=lxSp(i@(5A$5|p8Z@HFW}HF&N4emFg`_$ zIZHQGVO=grW4g2SoTa_3XsDjEJS$1lbC#rJ*J~nhmZST<wP%G9oSQu!#f9>k*zJUCy^1eCawmq5C z6a~(%(rg~v^;AtpZ{2vQEgnciS7m8xR)#@44FW%e!!&f5Sv$Lx(FO+8>-Jh?b%8&dC402 zGv4MUo0OP2+D70&6$NxS?_yge79OpkoDrVs@cGO%>n_-h_a4V~>n?g&Gwws{TYVpj!mWoGXgnCXc<=xRY+RROVGt{8m0>Ok-}Xxtq)}w&)6% zajbEBt>qkj2?lV|1BM@<*f?B2+X(+kSw zgs`SVN~^sxtMtO-a!P&ES*7h`nORT4-W%o}*Oev>U9_IEaQV{BqT7AAK1p29)6rmi zs~0RFaX|b>@O;^vF}x5q#|+6C{|O|*I`Y8&ymm0zrwIGOLSky721WwE%IO2KXS43< zXkCA(^=7DMBjvhc=C7Sc~3HT!i0`MV$SJ6o6o`2EFA_c@9fC zPI0p}4gH>P8#cyZnn9fa`(qlF4gga-5Ja zM_$Fg^+@b|#&JJgfcZT|o4t-2pl(QYdg}BM6rqFH53>v8ohM?>4!Yw9-q&=lPk1{2U&#m@~q7I=}4fZ;LrKgN-V9^OteFk!mF9&8dj9 z$2Z2lJ;F4FnG&q#RoXle>FD{}c%R@>6x9BUnvd70`MYo8f{R*f=o%Hj!pxk%q+pJ* zU?j@vM96l7nqOh*s(FVqc*%)6Zt_3sxp87aX$^teG`+)GtL9B-Akbukn#=Isyz3=k z4reXrj79o(Cj@_(n(Q$~>{9DEN6LxKPDu8C-E33qK$9-%+%!KKw?gb)>r^gV(V4wL zfsh}jD!;6j_9-6kUgm!J(S}8nsB*_ScVg*>M;lfWza=(& z=-GY!-0t4<3y!~(DJxb#I{tDUGX7ZcOZdBBBFvdOs=VpzmeFc&x|GWc0e6}t8l`mG z)4Dp%Cxq!-ZQ2ZlYLa-ZK_Rl1yQcArnJDm}c6_sc$xCvWdQ zjtOEbekjS_Xi@3Bj151Qi56g8O7D+2wH$3guYv>gnkanSS994DXV>ts=|^`fwrsV# znXK!ra&SPil0V3)>k8i?uBnATWNSPzsw@aUysG&&-}F}e*r;+3JZVXDFyHrNJhiQi zA^)+h@Eo4@q^XW?XC*}vVg^}ty;Qooiu_`ni&@FRS;Ga+^;ri6);n5P#rQmKv5c`8 z6~8#$?FjS7>byIOr0T3U%xTrRr;|G*umAYx@4koQ=S$3D%pMER$Jo7OYec_F83rMp zl8_?W(P25CjY}+kC7+O3?p@=b(p+BS`=ND4ja5d`UKTP(&2291z=ey$03u4tGQ#Y3IC}bllSArZdU z&KaQ+55l);r&|7V4ye_j|L|g$XH{uoJkMbzxQ3uaxFR4Oy&_Df>-4+uY0%?XiCZFH(T>Mw46wq3Wr%&fHLur=m@9=pQH4#7zR#x+pVKlsGv z3h>mh{AB!?u<{T|vC>f_RI7-&Mn&54^i;%uNpl@)Ki$n#6o|XU?u+9C)S9sBgGLjwhhD{}T@Xj%*Ix+wzS5`E<7{>^r^yHb zcM!NBwN_?Y;*ly2rX_YtIKfd_0tKTaJ6W+V-6*bwhxZYQhw$y=L=%;k0it1i=dG+& z>E6-tBcn=}<40Es-|>wwUU@El)DmGg-#D(dLQQP}1gOt5srl+|>$d<;m?$<83;|%G zG~FR0#<*T#twYkCMoH$!I6&H_dee^r&)MR$0@M0zioo@*C{Jn|;+R;4 zBzT9`a00_Zvk~ds(EO)ht6uh&s=T_~vRCWVD>J|NYDwfwJ9v$vKp>IVz2)#H1{Cp( zR&x9YTdd(3?F7HeEauqohMnU$^1d$Sm=E!0@Gv*-`^`6#way-Fjf*#!H&D~6ZI_w* z!DbC`(dbzbtzvbyamG8F-&mh`=<-Td%=ta`7^d7U_wVtlTvb|s zelOFl$2nYhti$F4+pfFtVhwGKD6GTnvvh!0MH7d4LPdgC76Pe@jO@og;0PgJd(kx1)O-u74c6P-vy3Eo_;Z=F!(Q zN*S`S^)re$Zwpj-bAspY%{qv4;ZxGEqQdz7{1E}@fnKrNn722LGZc{LM8ZrRtobKt zW|TA9SU!lia24RM*J&IJpUV=Ep6M%Fr#e62wtYGG_E~RK!IpzVNKI{rA3ytxx2FM+ z`mqL%*`$i$n0xmJ&*bMXLTbS*13C@T`)p{Tb{6#rZg(4ADa|4 zZ|kLD#KI`Qt(V>n zgzGe^JUPjE>)o6b`g_yw7CAC1)@LJE_=i6}TQ1zXlItRB?ofJ(nriv3agA<@;U)PB zf>A&VkKj*uLm-A_*H=r9AbclPQjg&KM0~Gi zkZa35fxQM`CKl@hOr`7WmMJkF`T$e0AhBeve0+8B`8jkPx zz^@Sg@@!eMW_oD;N0ew$xlDJHZkHZ6HC-9-sQK5}l``+T;&Me;SYy6&*>{z1KRKlr zUGLec69GxMoi;ydF_PU^(NEM6DJKNpw|mRXy1N=BCC0x(E7g1CqOpMXJBRuI9ZN<`+n-eRq9 zEA=2aEfEFtT~4x6+Om!#@zdLK*AeWV2)FQk=1=r^>yb+vyhK zu8(wEv1~|>5z{P?l2}m^EuT|S)F376#5~2TxkhNrV>U46Y203mSpGL^kkwBO zmUlUX=JiREL)Gan4I3bNoaPWBU0gEnz2(Bzz%-lVGMl=>nJ0SfFq!=*$7I&rS4K*I zu_yJ?@a)S|Rc>6$72A9-ylnz6+4NW5<{U6m@M;H{rK`O>haY>WKiGjr^jFk$b)bZS zvxYuUvj{@hYz!2v-vvfr3kqhTLJ8c1*oJ%UP@YB7^wvmP(L@cSpcx%}{MRT#;YF+k zLSXlF^xxR5Fy2Aa3mvrgU|yk|djjUY2!D908r4jmrJ94&eRZrQEyL~8y$V%~*D!~l znuZavc;>)sq|fT%v%B#4_>JF1MGH^$yCvT9{Ty4%WoR3!x0iS`FLIoXa?pbpFrymV z4L@BsSO>3b=a%!_r~RrE^KFb4wwF!Stkxvs6=2_yS4?rz*e@w4wwbqtd%E*X--Vyu zkjHDU1}i>624DTg>n|OUvd=G#cC> z;cd*}EI`IC5s&`Zf)B|)f_D{(p5kpqtxpvu=?-ztY3{yG%x}|8oLKQ~Ig{~00m47| zgZ08F+qM!_7!_m0_M@cjiMe%0KbWd7%dNq?HmQnnpb|%J6I{BuM*Xf^5zWhf$=1B= z$~TL3-gaVvjodgfr&M4;ZT%?lpo(|E+h)y&mkkV2{_Yy|Wh=cia&{}&Jwq-?4ko&b_Eu-JQKr;G2;Z7ms*l8YkP^ijH&5ZChD%uLe~lH6IP7$}5wt%UXl_ z&87BjBa-8E9W*=VKTUDr zk~(E-{u+PN(oG>j@4HVP|Lagf6!YYhKQDhze%p@%4xHPC%go<)ps+>4 zYy@AxZ07N+kiuyw3UNca2V652{hi3y8z>-KXuP7x!|Vblt={UgVa#R21kDN}t+&!l|1GbcT36U09o=Kx=T+6j=%cDqgKYa6 zJ4Hwj&R5FrG0R@HanlTiN0``6>DbpgM^yy+^w?q@{ypD2wbLGD2TIX*4}uc35Iw9_ zotdCQJ&0Ben<6^14lHu4N-&+PASON0lJtKP;>U2vr zzS{=Frfn9xG4Qa*17j?P8Li>r*K+)jZ49luRj8bNquST&ppUszblDA-ug|X&E~%#e zJkE042(3szPtraXRoggu0rrr~W3j_!=K5XMwr^?=S9v8CFRDSlF+Hs&KmiYT*Y@kE zmk)PB$mhO1(@yCd8@t+Hj^G{Z^EVSLBU?YB;@(d9--!EiJb>agsI*t;2W(6ND(!*) zChpEt_Np)5eU0G? zS0KQYv`50v%0a$eaY8cvN_ewaX=nP^ry;6RF8T1@;^Vw?rJM;yj=V3WoPSJ63JHUO z#yBCok>#9d1Zl~<(DRejh_=QhviT#P7}@lzGAvSPhaW3y%DYT3scMPhJKT~i<-4MxOy)W~tv{4u5Zqi_ z1}hm)TGLTZ_#c7gY>_IGVFu@^NKO?$o&T3$FdAQbA7Ob{XJNeNF?WZWU+~twUF+2a z=$J2Ff)$`A=EkuS(3&1^bphJPR}}HiF6N916fdV6&yhq`#;$^;qn=Exhf6_%Q^N~^@%1a-TRvMvDL-qCiN|d!lhnB zQ@TF>XUyaoK#+jHiQmtgyqUA!Xu;W*&48{=UZrK9-iF!~Z^ZWcxnFj<6Q264W2KR8 z7UXW0Z!9U9i65Df*Dg0MDI?$mfD3^7Z#Yxhz1O^=72G&vMBYlM&Rv0?~p2vAz}S0oR3Ytz0t z_o(Hud`8KLdpCySmCg;h9~CM;@mLD52$4QkLZBG#KBOC^H{^`^MxHXHzWJWg^s(($ z(Lpq(qK9VXe=p1#L5T|DIjrS)8LvKZh{xK=aT)UFFzY@qYc0o{_tRRANy6_HVA3Zq zg19kYGm4K^VVA42YMKbMUSPO?6U-i~HxSEB44 za+pQz*fW8qlq&l!e6x1Skv#Fk8&6Z@$7f^IobACVn_HrZV6SnvMDIrM+V=vVcw;-{ zb8m_M3{FB@PZ9bLs+e!}%>j*Qm-5Kv>?u3dS>AN@JYWt|`ER)OAFUs4zR%w>OqX|@ z7;t0qqD?zzsaVK~Rr_@~NtA`;m8}C*@$EJhBgt@2MSoATE59&w2&qsrtuSnMUOuU} z${FtQkYJ{VzRv4?RFM2px=QH#`Tyo%)U1mSq@3|>#U6NnbwZ5_q&PnCNpmOPEL_~h zN8>a?IE0Iud>VJyjz*r9J2l)A+oi&aWB2>+m)smg%4L&r3?)(+uy z5o609%OHn*tnp5*B~9Xq6-@acjit2~Iu%n&C!Jg{!Ef#aidWr5-)2&pd%0w0Xr5TB z0>x>rSW$k1ba-9K97u=>U#1x&t-F+Fy=6$(R6WB5*eIu5;cNZ-dkZL1r@ouDN4|ZUT-DG9my_SP6RvNPd5U3vbC%AnB`nV3H$ylDm@NGBSW zlcI{B2tO>Dg?4>(nxx)!u zqODL$A3UjRgjXq>8(bz-(2WAShE)_rb3HTiZzY?;wy#<*Re2ycOs70hZiX7;byTII z&*7uYGPdvtmvXG>bgk_@nQ3RiE-qm9vRF*BZD^}_l0NW>bO8=oL;K6_uF0$u=lB$z27nnEe-Iq13Wxb zi+rz6#!7csQOYe%|J%JO-*KFH&P`?Lkgao*emNn{~hl z)G=VlUwv4G#sLglT-_d2vRzExk|1qB#hwh*nTXLgx6>nALb;nn0r-qG4NC6-8cUk=hv50xzW z#7Q%@A;dRcO}Qt}#GSYFmu_(PsAT?-?prA}bN6O5qk#G**os^!(r+#Zh2xEcbrsj9;| zd*wsd4#)Y@IasbSF<(`opx%)fCj+9zw#5gdvN2Kys&NdMqB8Fa$t9 ztH%L@9t%ZkK%f1;!SiMcd(~DbfFN0hc)nb2smAjN0D1)QiCvG=N@-GEcB;bXk=RUW z-`CubzkK5E*`NPJ)_$^m+{LzD^`TFpF~L)N+~TAO>9WO?F&e9xSn&%kcH@&Ko2ulX zh1%rb#41jI!VyirT@CFDIHP<#?YjldytYHzg6635b%*D9^7PYoh^nk>lDfL<`DeKt z_brx|M6;8((3GY6?1dwiz=X4$WodV8*3Mgelh?GJ_$9J?(tO{nxv}nVbniQqzKMT>~l5^OAPK5SbqLu({t9s0p7)XessSdh;CLht( zuel*bJe}m{rSH`Jl-TXO7Op*+KDOgW^|SULI`)K`b$}Rg<~x$&IZ@erS@WXupA(ETvUcK0OPZ?rHYeG(>Polk zgpen~Z{24e`(;bwa}Gx4SZmUe!CAuv5Z(Ta6@ye~x(FPxitZz)gy;t!S6s{>pse`P^p}7qbUicD@TP$v6*Gl(oFMXAP zkD43gw%Q8LB1Gn&Ued?>{@4t;Ntp1dkbLP6Eh6t47k7vwT)o0vZG}Ce6nVS{H@07StwboX3&D7Imi;VoovRSctSCUPRwfJ&f^ypH=H`!`MYm(9ltHMS^8hWWgk`bCY zz#TPoO-4D2Xx09B+JSb{zQIt!qBI+@J+QZMX5%AKgTlApCjnQQzNxPZ2`j>KnfFns zt3@gnDq!2REE9z&?#`1JXlp*8MjB#Z5PcLl1q}X8#gd}n!ffzWI!Z@*8@KJ)gF+5B zt5fRgtHO8=n!v}|pWmWI+BbxZ6`4Hb5XaN^6VLn*@;vVMJI~^%?hC>(UEik4VlKiD zor0n<@4>e!(APdt;ansu3R@9>m2FvZV-liToI7hMO@{^PRZ`lf5KiXN9D^p zB_jZQD}sQOS1gapv>-SHh?e3lRP`h*AW|aa45;Xnuj>cj81{w|PRyF8TdamEXRElT zIRx61rh9lW>KX`s+Vr0EQ=n*J{`ML_RRR)WP7cmJD9{nk`qGuG#pzB*m_JtM-4U4H zZLy8Py<{$^&VM7h5aat;Xxd?qW3khHcS+1ToWol*beM+c+yE6O{ep?6@WVylWG8G8 zE)_3)V4OTiwKZHCs0{ibJ}#<5I*QnF-7!6m>@I4DWRh?9zsak2MyU*v{801fhi+Rn z>1S*HP>$APYh=ptV_Fwu<(WN3bEKTuY#qqd<8W3oyE89bn$npyPO-Ez_X3h^_quhX z((1L?IL+Qp$_m{yNzw6>$m8UR4?ah$5A16nyJ0ZWx>bpbEZtzKV&1U5Kg!2^-_M@~ zR-eY#74zhF{jn_6HTO96H9v5F|0X=mtPhg^zP^$P={e=QeUhSrZi%)*C6lQ*WAW0n zlkrY%LmWwSr=UktlULb#V>m=b@P@AAI9o#FFk%y2v7P6&4$1(qPBSd}!GWsi{Syyk zMT&UlftRu00@kX#OiuWAoY#BP5sL@!&<9tV3MrISnOMbU_if!lW5n&+`c9z~HnMyv8FOXQYm9 z{p!C+@!nQ|Bhk{;e9v2ww`$f_LkL1C6_z+xIzDNcLvX9#6k#C65%P_}c{}b9eTg1 zU1eS6PKjBg1um+B6xN243@E<$Piek}u_~~ux+XBAir{O=n#S0;mHoz`EC`kyVU!f%D>|72Ldog13}RMGrX7V zs5x8_Qdc_jTyJ)&e2kjD2RJiB9@ley7f%&1=0`(0Iv7UJ!Bv}hStxjDrg=$BFC3l* z!KEw@epNYE@Th393jV5YDXXTD62;QV2VoaT|D=8m3Dg6cuz{gXIH`K}<*_A_*in-? z{CB#giu@7ClOPuT8g?&=SJ`UgKOq8D=a>3sp;addr@oKe`wcXaSJ3gc=$xR#tp=$V zjXtz;&P?IE5fCnH{d*z-xIL#jW0iW!o?;%-~g}aqI_2 z%-~g|aXd$Qz!b7y($4qn2mTb(h_nHUfs&)(aYj_Jd7JkEk^Uoka6+h@%0oG)lIeFw zzx#99yD4Y{kW9X#8UWQ{ncTM}eaT^Ig6+cfUVj$7>RJ{XRWO4EjQR}r;I`sIJRvMw zRg9nvu4>%Ix7;hd%{SdEKE=1a#Wrm#P~myy;Q9iLgyG=4OK!%P zUg>%nV|#^dl5UKVF)QO?$JrfhyP49pzVviW*xjb{F?NreQUx9cxCH*>>F~NEl^D-{ zmp({ENXq@Y3wGC#B59YOnZ3$;C@}lbQZ7K;bS=M>Zf_=CN_WR9Y%94#%39i$jIyR= zG)Kc$jOy_e%V>0?L$Zk#Ia`x0r?)Prq-ejy;u5IPKeBz*;R=GBA;Uzb5ToLD$bcM|^ zz776hR8aKq+lb}1M?3qHZbnod+HyPS=#;4F_CHDgM1^g={vQu$`Ra-H;<|s9itE>v zPF2im|AFi>Eg~8{T#f#Aq^+Uoe9`2mpjS&kip z-f~BH?c0BN8FUZ0fE}t-XR5=ium{VgFjB0yU0*}`GF3aBf6!Tpx2Pxg5Iu|Ddc6hi zuj%4+|4-DZ-MYGs2#*onA$6zIohsk@?R_4H&J3v$F6U-eRqemL^l$JtdnYgYd*`Eo zy@ksiccusIy}a~3A3L1bMGe@y`~}zA>#Hi*eYSH&)vo7D&hH!%aO(Mzkw2#gY{t&2 zb_FHEZvj>48FYanw^Q&?&%t+51Neo{msLy+yLAZo5hJ@m6r8I=LjL9ACkC-Udxt+1?T)D7=*aC_(7&C ze!148xn7aHj4`^hF68src|I>?IBd^_E*?88PpZy6EwH`Yx?X8pUz{W#pO|SQaG;7l z3M?`*rzs{R=3Nz-V5RTj&1X7n(Y#lYD)3egPZ7Qbvb0OwVYPvM>f1;+WNA2>qr+nF zuX?P_WOy`QpqDjnrdx)K+v%najXPm0S@ZE^uZ(Q$vsshr9)~19ROA7FdaPwG9oNvx zpu6dOi2!Pn%BQOKSGXdLKh}EQlU%R0)i9^M1y~@ympkrtXz9H7VQ4L|xv$Kr$F1+}y*ru+@C&YNefH?PuOPxqQ&UotXJa7(Z}BRQ;|yzC zaib9j!c|p;eARw+r{_zwaYVZ9q>Dz5JJnG~?Lp19io-1Gi`)2zSe^@vJ66w#I#2(> zi>IT3fETh+#lv39Tiwarek5AWszNB6a$6!@b!KX$9nT_W)sB9CX!4@U4TrOvGJF0JCg-h*V0 z`LKOzl4|R9ZPx9uh8qKa^ln5_R1U9kJD@q>&PnmVe7tO$CIW`EUXdWA)C+lg|B)9=THRZ{gsph;+WYjG=XD3NtL7< zWY=fEiQkxRhht7i%qfMEWZ1A2-DAItwK`D^1L>9zSjdL%OkdU{P1OdL)$ehKf@F-v z&DgY8U0Rosmz`{mmDZsfFpCM^xIfpw%ZBm|)R}FSqs~l9Lw90MtbpxFBd;|sr+f3d zz?q#?%&*8^o$S-Uwd}F#Z&gz_z z2PVc;6?JMjXXEq+E$VffAVskuIZ%u9G`~l`(-}$C=rw(+?#-~q&A*@7f#ud^x-~BX{p)w zyxv}Y`1?wm8801b3yOf|4`$yD_a20mN z42JX@R)<<&_E$~l>_%FRAJiN}^>Nd0F*ZloHr0hIr4M2dE3Ba6z1%z9?WJr(#~}0r zR9SD>PCbKmb>(+h?_z&$+Vm*np1^ATxWr<0=wvr;04W8W6d=Eaz)3OVymJ2oCv~Vx z!%3C3>O@UQvLk#PPU)?odn-yGcd6;#Mm60_TjCN+PH~AXPQVAO$evd+{pG=0YaW`d z3rE@C&&lJ}pY`|;S`#Oy>weuMH5BS+fSU@D1cjC^MdZPIgm2TJ82MrjB3WFwX^z4Z z+t1(Eqza(KVJ&LVhd(g$L|C&}Ii#<(uV?a+Ky6~e8RDqSAW?9=TV!zvipv1qY0dNj zZK7cq14}8aA@ye#oJx63t2j=Bot|MwM-^i1&n*la#WPwBoIrz0yec$OMo4O#5IMkD zbJT3>l$|SV^Dh{U-2vp8PEN)%VCm#VY8N-J0{iU++3U6GuG$gQZ~O0uj-R9U9k)c} zK=n+m`)9oMPjsd(e(Iu*Ve9BJn;Q*3jK&NCY?r}7)Yd{?e${j@M$nOXo)}ejJsvGS8pxTo@hu)BEwJB3mu~1+oa3y8ZTW!CTwA_H%aCSj z!I>viAq}7#1V#fDM^A6uQN1aH%_-fF!dIWtz_X(@0ME)1^{!aJXRskQKCruFLCq)? zK8s)3o%_WswX1G28I~s&Qc{x?E<_;{p*=8t%VgwfXLAyW@Zm zLqCwgxpN`S?#*bKvHA-+h$1}X$&^4$GP_h5jK3s&>iR7Q(eyGv_F<#`;rXuPxH@6D zeHUU0n_Wv$hHCb~SYAZ~$0HG_s>2cJMnjau+EO-L!(XXsEcIbs^>^1CF~pAzq>cmN zkk6J7Q*C_POiO0(5Dni9$r3tvyn{dFNL#Q#F0ps=qWk4{PTohk zpQ^kFshs2)Cq6#fP~KK#etE}5;>p5Um#+EzvBhuko4K${a@aPHX~T2(m-spok*BMD zo_@Y3JMVw}X)OFN>}f{$IKBwO^Zk}fKWs=dUMU}6^009n zdy}+xG1nR0dv3ioehO^+m3K&fTrqc1=aIw$8$8t0lJz(~Y?GO)=#TIAmW5>+?fWy0 zTYI^bmNs}s7ktbE%V{c|_MqEvLQ5OEJkSIRhUg$S37?@-y7iXw(-aa8`y!**1i?9CvC}05m;*uK=qE&_7E>QG`7NcwJbjsjA+zwzrVTDkLi6-vS zUjI1yvl_P@7^8KNT1+Qw(KreQy022by%KATJUQu<1@+(~(yicA7qM9+c~V6oBzWjnOJy7AW{<^o z+%f3Z$U&NoU8tw9nbQTpDuFv1IVQAI_{Wy_m%yfUW(g{6b_m-Gdn{fz&qxl;$lEJ( z!-~v%Y(GkQwZ3+eZ+a{nMEwCiE;K7pF~7$H+k??#F++MBEs-rwGes*>Q1peCM!CUv z7jhBV@Vb(-@{u6cHpgW)J!Z(tt_J0xl``)hyEk3q>%tGr6oq&PkJ;6+uN>+=V9LhpeI%6bi|RjCynDilhWNNxL*Ih_WGFg%S_CPTuv{7 zk3B$PE9zi?aR9IM+VoykcfjUzv$UJ#u>nt>psk;Vj@YIJgL9|wRyF}jM7Pf0k`E)! zghM6PdElj6|J=3;I7oZQH^Bh;Zy&!%EuTMS+bHj;&RZ`XpgaWT{1O=sP|3T7^w6s; zEBhnvD0BU`+r!hcRt%TX$hS%}0tVq6?h;-65~4t3H;pFiPt z&HwUR`Zb05?RO8sb9t3sO`EYhtd4Is3Eg3N86OnT+`=Cc%^rz;M&gM$nC}54vr*+( z#cT!N_+&h_t?VC2ZZ>!F&91Om!8wq0-_h6=GXzb#7cZ74V;{f1+kzYt3=Yeh(G?xz za|HZH!FIVvb=Doh$gtu&azQv|C& zbV?o!^@qxUYfaDTHW)U0BZ*44S}J*<^tmPiCvvPcqSn4&?|3pI_8F#QO?Oa)HnPW= zCRrbwk2)8ZvzT*HICW+{;Eu~EnZ%{NZr=UVN#L9%MxEtQjF^%2Sw1ziBwzj&e0~Ud zVWS+ir*WlxgpW|BG|nhTwa#{iEJW$wn{!CMv~JT8BT1?&?CTnxp7~J`URV4vZy5FPyh_o=KfeQo8xkzVUCV>Cj5_}R zWf~-3-a!G?ftw92h{m?JPL*xBjw+DiX6-g2be*-69B4A7bCytALhFc|Kjo&VWi)Jf z-wHc|r%iKKh3Y}K8V-#4aVl=>`60s(Plbs6z?j2RUu=O=nxv?dt>@7*ZDZ3!!r`gq zTh60l{4(ut$bm5o2)-b2NQ#0B7vYai>HiVEe)1OVLii0m17Tl8!)~EILk};|F0JT& z*9@PjzHh?22QKQ_sII@+a2uaH4I4%<84kdMpf`m31OC%a=QcVxx|x3_`s0Bye@*HC zEr)s-M>{up!Trr60@hAmFpGD4_}W5HpWCIouBk?OsGSWq#YJ3zi>@cy&yT{o11Nr; z1Xmq|vV81fw44EfLC_slBcLeg;j*#V;&D4mYX#4{zZB-(`U5Bj*t0>1Dk#Jg0-6p0 zhGSbs6(8n~MRA*hYDW#hX~2#e*sQ_#eM@;X{poIcie<`q=Jug0j}`^y)or}uK5oXD zZubid)_neH>M@U1JIz8SJV?8Ay$bjDrFM2V z#uEDnouog32$h66I_1{YI_M8h@`#bAO| zI)kQvV;Y$<@LB{OnntG?+?Y-z8eB{#Q4MZFCov4$C=|nMsU(8_WaxAng{|Mnz>^sU zZA8PHFvvuMNi*m){c8#Ee7s+}lAI8ddd0O1PQVkXhHX>=Rqyr$Jj1XbfkedX_anfH z>$ib0srn)PB1RyR=mr-PX*B(XBoG;RgEkV8VlY7xg>Kl!pbuDZ^hFcMBm+4nkf{SZ zV*TiZ0T*L!46?zbDI^0aAyCK$Z=XP+&=G^BrZ5NwZB#s2Uvvmm0?pv*s3g2$KeFK~ zrqVPk)30a*DuZBfF(|3QWN2iv!HsDYn&Gt!ioVtp=y=VI)$#`GPoNVGZ%n69^yQd9 zr_v4HI|DA)7cK_DKvxJ1_%n+J{iq}&V$evV4m1ULJP}VYc<)4582$H7#8dyJAH(3i z6A4tRW(5(AfhEF!1_KgF2Fp(b?bKH%A_;F``=A?9|A~oI21Tz8!4qjD19c+Os0_^v zwG*V#4Wyb#V`wb4)_xG_B!gE+q>~L^9g$84W--W8woT_UxG<^y1}xN@P<-NLM@V>9FYiAvcZiBhQ{$Y|A|RN5<_3o!ORf#HG)K>8(2aTkzpV+B$zc!5LhQy#S3}($>ko4a>8Ba1;88Y6`N00$f z>B|Qhk1!0Z6q$fG5JEBmtiPTtfNU8~2K^#zy=9u<2Kcz*5jlfk7L%#cc^ z8$2rbYU42%z%M!_3A3Ak;8C!vEY(q9=c0eW^G z+!d8!*pH4F*mN@B4;=wP%`;$6uon6^VUSfzsJnvT>-VD*NCv9~poF21{~%;A2%snoyn!l$O)>EA6b9MAD^eJA!}ksvp%GRs{-eS@^k+@Q z8-|-y5OmGO8fZqv(})Ib1iThxYWoq$`e+CN%t|Ba>o%2SsESk)2!r0TQX$OMe|1zc z-auHXWU&7F*ODpV6*2p#5e7W?U50@{qJn?d*9a#ZPxOh9P*;DAVG zF!Wt25!79G*62M*fC%;N0*Oi`>O(W|*#@W@ycJnBX?T9k@}psdz9Rx$0e2p_{Llsg zl|dU>ADUs9M9(0Bg~AWG2fF^?DM4xV2Bgx!bLh7L|D-n{xCjuCf&IXB8n7Y|MNsvH znhsBl=u0M@0uWViKxhL}a^OvXpuy`KA7}%fYhXVH8t3cD2LsHOdKLQdA2b>O3t%q6 z((4UKXXwK#cu6qez#9{Q;-taLMMXvPilL1_8WYw#Zgg#>+W4%)yS>s<__2u088K|gp;`u*Vf^j;m%E;NFkO+f&cp;H{V ztRxy9_)UX0eZCuBCK$qj!U}CfvYzGu>|p?28#o>qemsdh5dQ(|3nHgC87z#`d+!i3 z;Pp&30ov$#d;mnKbh;jpg*FD@A@yX`_z%#%ey$1nWgQiDT6A)+wmo;!{08c_!gEpeRI)QGI2dWdiHq?ITJqX|whQ4}I!TNv| zRrw!{+JVCUzedd-M6NOl!_3_z3mY~P#DGbVAVe@=GWX8?nJXHMn;%G#pOpkjNMSHR z-PyUzCdQw_K^xH`g+&$v1_@%Zg;shYXs0Wt2$(`7g-QhNRM5&spEEl%JLmn1Sl*ZO z-S7XL_q^w8i~r_c2U05-3nBYnP!-UL5TSDkL~*+$EgVg5mHz=EgL)SnQ{Kq+q+8V1 zlU^2t{Na8Mwh4^P(61nv2CTU3!BoP=1a2QHV}b#Sfc%iuLavk9K{opxh2^lPH3Z)})~4q)tEV2AJbTY?=MpmxxOv9r+Ue+i|eT(VR!2%z5*FvKwL7ZU1F zs7-Fh30IrsUodhXIn+s<_V}eg{eUePpf*NJlbOVv4sl#4`-KWnM5aRBa*~*vvMsjt zA1*&Vihwq5wc2tp6Gmq_n?=;M zK^NHRUj)wfo#^?uwM?riE zFcfFO$gsrsC#GTOmCevzds63tYmgU8$Ak^7j&PM2qU>j0koL-8h~!Fc;Vwx&5V=PD z4;_ttm)WuQiRAS7=^(!2@|y9Wpgh`6+oW-&+s+JeNXmB9zieehvj-#jlvOCX+mZt& zC4o{hCrVBzD*gb2rMWmC$Q2n(&vyctA-1~xG)&KeF)q!VC`~0$J84@Y*M%76mQ}kU z|D$n93h5j36d;l6C0Q42dCY;ZtYCJ>d|Ui9ZxIBetSA-I9yP2|tCz%a^mKoa;ErS* zvNAjv2nGm-r|}(wWs@}ZI1nek=YbU&3(b++c?eEsbS|6lY zV+ngdx5?~9i#(Ds4E^0VhKA^qGdymY3;oPW1bN*~FfNPyujoP2v=hcB@rYI7M#=>$ z$BMAlSuJw3)%?lUe{k)Ic~lp@%K#%I@Mi(Pj?n9u)o!N-;C`Yis|rTh zdu$@sKOnKukI*pKrkjb~FXgj_>ESXgl|yJ)*avSL;KM;DycP|xQmzv}j8!NzOu4XO zNNV~&!bcxt{-fn5WXgfF#@z0pv8uIZr|JzDxp>eq?qh8EEw?p8n45OO{nR~96Llcg zR;6geAfUnjG}vO-YW9Si7^n%cVLU$4AM)-l7<9`WuKw9VDUh_({x{S-M!5|j;8Q7-E|HS|9nC^C7NM+Xci4>+Gm|>y3b)33;MzQ0*~{M}+!6#DnmESt@T^ ztudKo&{)$=v(q#I3^(B2w_!Y<)Bmj%ZHKvy8FGdLL-f@EgEj{k4<7?epDob`YLFiw z+A7*{I6`8MH#9rWzjgvy4`xS14g3eyqp&S*-sd)S($-pqVftj)Fua8hCQ$v&PRW>I zq*{ZvgWSeI!kGTBq{0|rNLv9W6&pL$WbvV$zK6+s7{XP8AChw$}k$? ziOTGh{Tr6ymM#8_xnNYSV2>eJLc?fGcbg2Mu`gTcxN88MSKXb(vtJDe)%m6 zQbP)n>H{d31vBCGR^Tg0P>SNSgL9`ljdp##Gq+(fDw_53g}F`ZqP$h#cxCS6D2lWC z?CW#au0&a@jy89WPBn^pc3Wp9F<|SF&Yz8SXhT`O=~(Ce!xK=DdiiRn7h$#QgU%b1 zQ4H`=XX6>V_`ESc@jxT5Z)}U<+AoAvI8s`^oS`1MfrSTsR$S8q97-JP`G{&T!KG(kU4 zpQv8i5fyR$$;;JG8?n9oX0@_DY9;l_x2tWFSS((yPHm6kxW2Vq{kx9e-}E|i=uYB)$%eY>>)4_JsEgaX5z6$cKcRW$4Z-3W*pmmGiG78G@S zfCP9zuJSn8$MnT3cBBm>&(Ie$aNfMr&`wB?h4^DfLh3rEW@sXoJYKX67k=gk)6aUP z6EMnufn6cBB1?XVs$!R;mk+Rqhx8T#t<_T+BbK+8?#wJac{-bE#{04v_!cscJu8Zf znFISMydludWa<9BPu$bu%#OW#r>8Dld~WgLtBdE(Pfz6~m7}z|w77raQ1712|4#>d njxC= diff --git a/webContext/css/viewer.min.css b/webContext/css/viewer.min.css index c65b3f1..da2ee32 100644 --- a/webContext/css/viewer.min.css +++ b/webContext/css/viewer.min.css @@ -1,9 +1,9 @@ /*! - * Viewer.js v1.3.0 + * Viewer.js v1.5.0 * https://fengyuanchen.github.io/viewerjs * * Copyright 2015-present Chen Fengyuan * Released under the MIT license * - * Date: 2018-10-25T12:41:52.459Z - */.viewer-close:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen-exit:before,.viewer-fullscreen:before,.viewer-next:before,.viewer-one-to-one:before,.viewer-play:before,.viewer-prev:before,.viewer-reset:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-zoom-in:before,.viewer-zoom-out:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC");background-repeat:no-repeat;color:rgba(0,0,0,0);display:block;font-size:0;height:20px;line-height:0;width:20px}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{bottom:0;direction:ltr;font-size:0;left:0;line-height:0;overflow:hidden;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;-webkit-touch-callout:none;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.viewer-container::-moz-selection,.viewer-container ::-moz-selection{background-color:rgba(0,0,0,0)}.viewer-container::selection,.viewer-container ::selection{background-color:rgba(0,0,0,0)}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:rgba(0,0,0,.5);overflow:hidden}.viewer-list{-webkit-box-sizing:content-box;box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:rgba(0,0,0,0);cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;-webkit-transition:opacity .15s;transition:opacity .15s;width:30px}.viewer-list>li:hover{opacity:.75}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;bottom:0;cursor:none;display:none;right:0}.viewer-player,.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar>ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:3px 0}.viewer-toolbar>ul>li{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;-webkit-transition:background-color .15s;transition:background-color .15s;width:24px}.viewer-toolbar>ul>li:hover{background-color:rgba(0,0,0,.8)}.viewer-toolbar>ul>li:before{margin:2px}.viewer-toolbar>ul>li+li{margin-left:1px}.viewer-toolbar>ul>.viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar>ul>.viewer-small:before{margin:-1px}.viewer-toolbar>ul>.viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>ul>.viewer-large:before{margin:5px}.viewer-tooltip{background-color:rgba(0,0,0,.8);border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1;margin:0 5% 5px;max-width:90%;opacity:.8;overflow:hidden;text-overflow:ellipsis;-webkit-transition:opacity .15s;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;-webkit-transition:background-color .15s;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:rgba(0,0,0,.8)}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:rgba(0,0,0,.5)}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:-webkit-grab;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{-webkit-transition:all .3s;transition:all .3s}@-webkit-keyframes viewer-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes viewer-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.viewer-loading:after{-webkit-animation:viewer-spinner 1s linear infinite;animation:viewer-spinner 1s linear infinite;border:4px solid hsla(0,0%,100%,.1);border-left-color:hsla(0,0%,100%,.5);border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media (max-width:767px){.viewer-hide-xs-down{display:none}}@media (max-width:991px){.viewer-hide-sm-down{display:none}}@media (max-width:1199px){.viewer-hide-md-down{display:none}} \ No newline at end of file + * Date: 2019-11-23T05:10:21.757Z + */.viewer-close:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen-exit:before,.viewer-fullscreen:before,.viewer-next:before,.viewer-one-to-one:before,.viewer-play:before,.viewer-prev:before,.viewer-reset:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-zoom-in:before,.viewer-zoom-out:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAAUCAYAAABWOyJDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAQPSURBVHic7Zs/iFxVFMa/0U2UaJGksUgnIVhYxVhpjDbZCBmLdAYECxsRFBTUamcXUiSNncgKQbSxsxH8gzAP3FU2jY0kKKJNiiiIghFlccnP4p3nPCdv3p9778vsLOcHB2bfveeb7955c3jvvNkBIMdxnD64a94GHMfZu3iBcRynN7zAOI7TG15gHCeeNUkr8zaxG2lbYDYsdgMbktBsP03jdQwljSXdtBhLOmtjowC9Mg9L+knSlcD8TNKpSA9lBpK2JF2VdDSR5n5J64m0qli399hNFMUlpshQii5jbXTbHGviB0nLNeNDSd9VO4A2UdB2fp+x0eCnaXxWXGA2X0au/3HgN9P4LFCjIANOJdrLr0zzZ+BEpNYDwKbpnQMeAw4m8HjQtM6Z9qa917zPQwFr3M5KgA6J5rTJCdFZJj9/lyvGhsDvwFNVuV2MhhjrK6b9bFiE+j1r87eBl4HDwCF7/U/k+ofAX5b/EXBv5JoLMuILzf3Ap6Z3EzgdqHMCuF7hcQf4HDgeoHnccncqdK/TvSDWffFXI/exICY/xZyqc6XLWF1UFZna4gJ7q8BsRvgd2/xXpo6P+D9dfT7PpECtA3cnWPM0GXGFZh/wgWltA+cDNC7X+AP4GzjZQe+k5dRxuYPeiuXU7e1qwLpDz7dFjXKRaSwuMLvAlG8zZlG+YmiK1HoFqT7wP2z+4Q45TfEGcMt01xLoNZEBTwRqD4BLpnMLeC1A41UmVxsXgXeBayV/Wx20rpTyrpnWRft7p6O/FdqzGrDukPNtkaMoMo3FBdBSQMOnYBCReyf05s126fU9ytfX98+mY54Kxnp7S9K3kj6U9KYdG0h6UdLbkh7poFXMfUnSOyVvL0h6VtIXHbS6nOP+s/Zm9mvyXW1uuC9ohZ72E9uDmXWLJOB1GxsH+DxPftsB8B6wlGDN02TAkxG6+4D3TWsbeC5CS8CDFce+AW500LhhOW2020TRjK3b21HEmgti9m0RonxbdMZeVzV+/4tF3cBpP7E9mKHNL5q8h5g0eYsCMQz0epq8gQrwMXAgcs0FGXGFRcB9wCemF9PkbYqM/Bas7fxLwNeJPdTdpo4itQti8lPMqTpXuozVRVXPpbHI3KkNTB1NfkL81j2mvhDp91HgV9MKuRIqrykj3WPq4rHyL+axj8/qGPmTqi6F9YDlHOvJU6oYcTsh/TYSzWmTE6JT19CtLTJt32D6CmHe0eQn1O8z5AXgT4sx4Vcu0/EQecMydB8z0hUWkTd2t4CrwNEePqMBcAR4mrBbwyXLPWJa8zrXmmLEhNBmfpkuY2102xxrih+pb+ieAb6vGhuA97UcJ5KR8gZ77K+99xxeYBzH6Q3/Z0fHcXrDC4zjOL3hBcZxnN74F+zlvXFWXF9PAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-size:280px;color:transparent;display:block;font-size:0;height:20px;line-height:0;width:20px}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{bottom:0;direction:ltr;font-size:0;left:0;line-height:0;overflow:hidden;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.viewer-container::-moz-selection,.viewer-container ::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container ::selection{background-color:transparent}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:rgba(0,0,0,.5);overflow:hidden}.viewer-list{-webkit-box-sizing:content-box;box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:transparent;cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;-webkit-transition:opacity .15s;transition:opacity .15s;width:30px}.viewer-list>li:hover{opacity:.75}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;bottom:0;cursor:none;display:none;right:0}.viewer-player,.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar>ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:3px 0}.viewer-toolbar>ul>li{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;-webkit-transition:background-color .15s;transition:background-color .15s;width:24px}.viewer-toolbar>ul>li:hover{background-color:rgba(0,0,0,.8)}.viewer-toolbar>ul>li:before{margin:2px}.viewer-toolbar>ul>li+li{margin-left:1px}.viewer-toolbar>ul>.viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar>ul>.viewer-small:before{margin:-1px}.viewer-toolbar>ul>.viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>ul>.viewer-large:before{margin:5px}.viewer-tooltip{background-color:rgba(0,0,0,.8);border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1;margin:0 5% 5px;max-width:90%;opacity:.8;overflow:hidden;text-overflow:ellipsis;-webkit-transition:opacity .15s;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;-webkit-transition:background-color .15s;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:rgba(0,0,0,.8)}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:rgba(0,0,0,.5)}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:-webkit-grab;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{-webkit-transition:all .3s;transition:all .3s}@-webkit-keyframes viewer-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes viewer-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.viewer-loading:after{-webkit-animation:viewer-spinner 1s linear infinite;animation:viewer-spinner 1s linear infinite;border:4px solid hsla(0,0%,100%,.1);border-left-color:hsla(0,0%,100%,.5);border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media (max-width:767px){.viewer-hide-xs-down{display:none}}@media (max-width:991px){.viewer-hide-sm-down{display:none}}@media (max-width:1199px){.viewer-hide-md-down{display:none}} \ No newline at end of file diff --git a/webContext/home.html b/webContext/home.html index 3bd1fa2..f5a9ec9 100644 --- a/webContext/home.html +++ b/webContext/home.html @@ -1,5 +1,5 @@ - + diff --git a/webContext/js/home.js b/webContext/js/home.js index a1fd072..4ca1bf4 100644 --- a/webContext/js/home.js +++ b/webContext/js/home.js @@ -988,8 +988,7 @@ function showFolderTable(folderView) { // 根据一个文件对象生成对应的文件行的HTML内容 function createFileRow(fi, aL, aD, aR, aO) { - fi.fileName = fi.fileName.replace(/\'/g, ''').replace(//g, '>'); + fi.fileName = html2Escape(fi.fileName); var fileRow = "/g, '>'); + f.folderName = html2Escape(f.folderName); var folderRow = "/g, '>') + "[正在上传...]

"); + "

" + html2Escape(fname) + "[正在上传...]

"); xhr = new XMLHttpRequest();// 这东西类似于servlet里面的request var fd = new FormData();// 用于封装文件数据的对象 @@ -1970,7 +1966,8 @@ function createViewList() { for (var i = 0; i < pvl.pictureViewList.length; i++) { $(images).append( "
  • "
-							+ pvl.pictureViewList[i].fileName + "
  • "); + + html2Escape(pvl.pictureViewList[i].fileName) + + "' />"); } viewer = $(images); viewer.viewer({ @@ -1997,11 +1994,13 @@ function createViewListByPage() { for (var i = 0; i < viewerPageSize && i < (pvl.pictureViewList.length - (viewerPageIndex - 1) * viewerPageSize); i++) { - $(images).append( - "
  • "
-							+ pvl.pictureViewList[startIndex + i].fileName
-							+ "
  • "); + $(images) + .append( + "
  • "
+									+ html2Escape(pvl.pictureViewList[startIndex
+											+ i].fileName) + "
  • "); } if (viewerPageIndex < viewerTotal) { $(images).append("
  • 下一页
  • "); @@ -3278,9 +3277,7 @@ function iteratorImport(i, newFolderName) { $("#importcount").text("(" + (i + 1) + "/" + fcount + ")");// 显示当前进度 } $("#importstatus").prepend( - "

    " - + fname.replace(/\'/g, ''').replace(//g, '>') + "[正在上传...]

    "); xhr = new XMLHttpRequest();// 这东西类似于servlet里面的request @@ -3823,4 +3820,16 @@ function updateTheFolderInfo() { // 替换所有引号,将其进一步转义,主要用于传递带引号的文件名 function replaceAllQuotationMarks(txt) { return txt.replace(/\"/g, "\\\""); +} + +// 对所有可能进入html的字符串进行转义操作 +function html2Escape(sHtml) { + return sHtml.replace(/[<>&\']/g, function(c) { + return { + '<' : '<', + '>' : '>', + '&' : '&', + '\'' : ''' + }[c]; + }); } \ No newline at end of file diff --git a/webContext/js/home.min.js b/webContext/js/home.min.js index 146d5f3..9c9e9c5 100644 --- a/webContext/js/home.min.js +++ b/webContext/js/home.min.js @@ -1,3 +1,3 @@ -function updateWinHeight(){window.innerHeight?winHeight=window.innerHeight:document.body&&document.body.clientHeight&&(winHeight=document.body.clientHeight)}function changeFilesTableStyle(){var a=$(window).width();768>a?($("#filetableheadera").addClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","collapse"),$("#filetableheadera").attr("data-target","#filetableoptmenu"),$("#mdropdownicon").html("(点击展开/折叠菜单)")):($("#filetableheadera").removeClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","modal"),$("#filetableheadera").attr("data-target","#folderInfoModal"),$("#mdropdownicon").html(""))}function doAlert(){alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。")}function getServerOS(){$.ajax({type:"POST",dataType:"text",data:{},url:"homeController/getServerOS.ajax",success:function(a){return"mustLogin"==a?(window.location.href="prv/login.html",void 0):($("#serverOS").text(a),void 0)},error:function(){$("#serverOS").html("
    获取失败,点击重试")}})}function showFolderView(fid,targetId){loadingFolderView||(startLoading(),remainingLoadingRequest&&remainingLoadingRequest.abort(),$.ajax({type:"POST",dataType:"text",data:{fid:fid},url:"homeController/getFolderView.ajax",success:function(result){switch(endLoading(),result){case"ERROR":doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新");break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,document.cookie="folder_id="+escape(locationpath),parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,originFolderView=$.extend(!0,{},folderView),totalFoldersOffset=folderView.foldersOffset,totalFilesOffset=folderView.filesOffset,$("#sreachKeyWordIn").val(""),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text(folderView.folder.folderCreator),$("#fim_folderCreationDate").text(folderView.folder.folderCreationDate),$("#fim_folderId").text(folderView.folder.folderId),updateTheFolderInfo(),folderView.foldersOffset>folderView.selectStep||folderView.filesOffset>folderView.selectStep?(showLoadingRemaininngBox(),loadingRemainingFolderView(targetId)):(hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}))}function startLoading(){loadingFolderView=!0,$("#loadingModal").modal({backdrop:"static",keyboard:!1}),$("#loadingModal").modal("show"),$("#loadingModal").addClass("shown")}function endLoading(){loadingFolderView=!1,$("#loadingModal").modal("hide"),$("#loadingModal").removeClass("shown")}function startLogin(){$("#accountid").attr("disabled","disabled"),$("#accountpwd").attr("disabled","disabled"),$("#dologinButton").attr("disabled","disabled"),$("#vercode").attr("disabled","disabled")}function finishLogin(){$("#accountid").removeAttr("disabled"),$("#accountpwd").removeAttr("disabled"),$("#dologinButton").removeAttr("disabled"),$("#vercode").removeAttr("disabled")}function dologin(){var accountId=$("#accountid").val(),accountPwd=$("#accountpwd").val(),check="y";0==accountId.length?($("#accountidbox").addClass("has-error"),check="n"):$("#accountidbox").removeClass("has-error"),0==accountPwd.length?($("#accountpwdbox").addClass("has-error"),check="n"):$("#accountpwdbox").removeClass("has-error"),"y"==check&&(startLogin(),$.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,publicKeyInfo=eval("("+result+")"),date=new Date,loginInfo='{accountId:"'+accountId+'",accountPwd:"'+accountPwd+'",time:"'+publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(publicKeyInfo.publicKey),encrypted=encrypt.encrypt(loginInfo),sendLoginInfo(encrypted)},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}}))}function sendLoginInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doLogin.ajax",data:{encrypted:a,vercode:$("#vercode").val()},success:function(a){switch(finishLogin(),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden"),a){case"permitlogin":$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#loginModal").modal("hide"),showFolderView(locationpath);break;case"accountnotfound":$("#accountidbox").addClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,账户不存在或未设置");break;case"accountpwderror":$("#accountpwdbox").addClass("has-error"),$("#accountidbox").removeClass("has-error"),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,密码错误或未设置");break;case"needsubmitvercode":$("#vercodebox").html("
    "),$("#vercodebox").removeClass("hidden"),$("#vercodebox").addClass("show");break;case"error":$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,登录请求无法通过加密效验(可能是请求耗时过长导致的)");break;default:$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:无法登录,未知错误")}},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}})}function getNewVerCode(){$("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function dologout(){$("#logoutModal").modal("hide"),$.ajax({url:"homeController/doLogout.ajax",type:"POST",data:{},dataType:"text",success:function(a){"SUCCESS"==a&&showFolderView(locationpath)},error:function(){doAlert()}})}function showParentList(a){$("#parentFolderList").html("");var b=a.folder;a.parentList.length>0?$.each(a.parentList,function(a,b){$("#parentFolderList").append("
  • "+b.folderName+"
  • ")}):$("#parentFolderList").html("
  • "),b.folderName.length>6?$("#currentFolderName").text(b.folderName.substr(0,6)+"..."):$("#currentFolderName").text(b.folderName),"ROOT"==b.folderName?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-home")):null!=a.keyWorld?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").addClass("glyphicon-search")):($("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-folder-close"))}function showAccountView(a){$("#tb,#tb2").html(""),account=a.account,null!=a.account?($("#tb").append(""),$("#tb2").append(""),"true"==a.allowChangePassword&&($("#tb").append(" "),$("#tb2").append(" "))):($("#tb").append(""),$("#tb2").append(""),"true"==a.allowSignUp&&($("#tb").append(" "),$("#tb2").append(" ")));var b=a.authList;$("#fileListDropDown li").addClass("disabled"),$("#fileListDropDown li a").attr("onclick",""),null!=b&&(checkAuth(b,"C")&&($("#createFolderButtonLi").removeClass("disabled"),$("#createFolderButtonLi a").attr("onclick","showNewFolderModel()")),checkAuth(b,"U")&&($("#uploadFileButtonLi").removeClass("disabled"),$("#uploadFileButtonLi a").attr("onclick","showUploadFileModel()"),checkAuth(b,"C")&&isSupportWebkitdirectory()&&($("#uploadFolderButtonLi").removeClass("disabled"),$("#uploadFolderButtonLi a").attr("onclick","showUploadFolderModel()"))),a.enableDownloadZip&&checkAuth(b,"L")?$("#packageDownloadBox").html(""):$("#packageDownloadBox").html(""),checkAuth(b,"D")&&($("#deleteSeelectFileButtonLi").removeClass("disabled"),$("#deleteSeelectFileButtonLi a").attr("onclick","showDeleteAllCheckedModel()")),checkAuth(b,"M")&&($("#cutFileButtonLi").removeClass("disabled"),$("#stickFileButtonLi").removeClass("disabled"),$("#copyFileButtonLi").removeClass("disabled"),$("#cutFileButtonLi a").attr("onclick","cutFile()"),$("#copyFileButtonLi a").attr("onclick","copyFile()"),$("#stickFileButtonLi a").attr("onclick","stickFile()"),void 0!==checkedMovefiles&&checkedMovefiles.size>0?(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show")):($("#copyFileButtonLi").removeClass("hidden"),$("#copyFileButtonLi").addClass("show"),$("#cutFileButtonLi").removeClass("hidden"),$("#cutFileButtonLi").addClass("show"),$("#stickFileButtonLi").removeClass("show"),$("#stickFileButtonLi").addClass("hidden"),$("#stickFilesCount").text(""))))}function checkAuth(a,b){var c=!1;return $.each(a,function(a,d){d==b&&(c=!0)}),c}function showPublishTime(a){$("#publishTime").html("");var b="";b=null!=a.publishTime?a.publishTime:"--",$("#publishTime").text(b)}function refreshFolderView(){null!=locationpath&&locationpath.length>0?showFolderView(locationpath):showFolderView("root"),subscribeNotice()}function returnPF(){null!=parentpath&&"null"!=parentpath?showFolderView(parentpath):showFolderView("root")}function showFolderTable(a){var b,c,d,e,f,g,h,i,j;for($("#foldertable").html(""),null!=parentpath&&"null"!=parentpath&&$("#foldertable").append("--------"),b=a.authList,c=!1,d=!1,e=!1,f=!1,checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),g=a.folderList.length;g>0;g--)h=a.folderList[g-1],$("#foldertable").append(createNewFolderRow(h,c,d,f));for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],$("#foldertable").append(createFileRow(j,e,c,d,f))}function createFileRow(a,b,c,d,e){var f,g;if(a.fileName=a.fileName.replace(/\'/g,"'").replace(//g,">"),f=""+a.fileName+""+a.fileCreationDate+"","0"==a.fileSize?f+="<1MB":f=f+""+a.fileSize+"MB",f=f+""+a.fileCreator+"",b)switch(f=f+"",g=getSuffix(a.fileName)){case"mp4":f=f+"";break;case"webm":case"mov":case"avi":case"wmv":case"mkv":case"flv":folderView.enableFFMPEG&&(f=f+"");break;case"pdf":f=f+"";break;case"jpg":case"jpeg":case"gif":case"png":case"bmp":f=f+"";break;case"mp3":case"wav":case"ogg":f=f+"";break;case"docx":f=f+"";break;case"txt":f=f+"";break;case"ppt":case"pptx":f=f+""}return c&&(f=f+""),d&&(f=f+""),e&&(f=f+""),b&&"true"==folderView.showFileChain&&(f=f+""),d||c||b||e||(f+="--"),f+=""}function createNewFolderRow(a,b,c,d){a.folderName=a.folderName.replace(/\'/g,"'").replace(//g,">");var e=""+a.folderCreationDate+"--"+a.folderCreator+"";return b&&(e=e+""),c&&(e=e+""),d&&(e=e+""),c||b||d||(e+="--"),e+=""}function showNewFolderModel(){$("#newFolderModal").modal("show")}function changeNewFolderType(a){$("#newfoldertype").text(folderTypes[a]),$("#foldername").attr("folderConstraintLevel",a+"")}function createfolder(){var a=$("#foldername").val(),b=$("#foldername").attr("folderConstraintLevel"),c=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==a.length?showFolderAlert("提示:文件夹名称不能为空。"):a.length>128?showFolderAlert("提示:文件夹名称太长。"):c.test(a)||0==a.indexOf(".")?showFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{parentId:locationpath,folderName:a,folderConstraint:b},url:"homeController/newFolder.ajax",success:function(a){if("mustLogin"==a)window.location.href="prv/login.html";else switch(a){case"noAuthorized":showFolderAlert("提示:您的操作未被授权,创建文件夹失败。");break;case"errorParameter":showFolderAlert("提示:参数不正确,创建文件夹失败。");break;case"cannotCreateFolder":showFolderAlert("提示:出现意外错误,可能未能创建文件夹。");break;case"nameOccupied":showFolderAlert("提示:该名称已被占用,请选取其他名称。");break;case"foldersTotalOutOfLimit":showFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中创建更多文件夹。");break;case"createFolderSuccess":$("#newFolderModal").modal("hide"),showFolderView(locationpath);break;default:showFolderAlert("提示:出现意外错误,可能未能创建文件夹。")}},error:function(){showFolderAlert("提示:出现意外错误,可能未能创建文件夹")}}))}function showFolderAlert(a){$("#folderalert").addClass("alert"),$("#folderalert").addClass("alert-danger"),$("#foldernamebox").addClass("has-error"),$("#folderalert").text(a)}function entryFolder(a){showFolderView(a)}function showDeleteFolderModel(a,b){$("#deleteFolderBox").html(""),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!1),$("#deleteFolderMessage").text("提示:确定要彻底删除文件夹:["+b+"]及其全部内容么?该操作不可恢复"),$("#deleteFolderModal").modal("toggle")}function deleteFolder(a){$("#dmbutton").attr("disabled",!0),$("#cancelDeleteFolderBtn").attr("disabled",!0),$("#deleteFolderMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{folderId:a},url:"homeController/deleteFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFolderMessage").text("提示:您的操作未被授权,删除文件夹失败"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"errorParameter"==a?($("#deleteFolderMessage").text("提示:参数不正确,删除文件夹失败"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"cannotDeleteFolder"==a?($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"deleteFolderSuccess"==a?($("#deleteFolderModal").modal("hide"),showFolderView(locationpath)):($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0))},error:function(){$("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)}})}function showRenameFolderModel(a,b,c){$("#renameFolderBox").html(""),$("#newfoldername").val(b),changeEditFolderType(c),$("#renameFolderModal").modal("show")}function changeEditFolderType(a){$("#editfoldertype").text(folderTypes[a]),$("#newfoldername").attr("folderConstraintLevel",a+"")}function renameFolder(a){var b=$("#newfoldername").val(),c=$("#newfoldername").attr("folderConstraintLevel"),d=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==b.length?showRFolderAlert("提示:文件夹名称不能为空。"):b.length>128?showRFolderAlert("提示:文件夹名称太长。"):d.test(b)||0==b.indexOf(".")?showRFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#newfolderalert").removeClass("alert"),$("#newfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#newfolderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{folderId:a,newName:b,folderConstraint:c},url:"homeController/renameFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?showRFolderAlert("提示:您的操作未被授权,编辑失败。"):"errorParameter"==a?showRFolderAlert("提示:参数不正确,编辑失败,请刷新后重试。"):"nameOccupied"==a?showRFolderAlert("提示:该名称已被占用,请选取其他名称。"):"renameFolderSuccess"==a?($("#renameFolderModal").modal("hide"),showFolderView(locationpath)):showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")},error:function(){showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")}}))}function showRFolderAlert(a){$("#editfolderalert").addClass("alert"),$("#editfolderalert").addClass("alert-danger"),$("#folderrenamebox").addClass("has-error"),$("#editfolderalert").text(a)}function showUploadFileModel(){$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),0==isUpLoading&&($("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").html(""),$("#selectcount").text(""),$("#selectFileUpLoadModelAsAll").removeAttr("checked"),$("#selectFileUpLoadModelAlert").hide()),$("#uploadFileModal").modal("show")}function checkpath(){$("#uploadfile").click()}function getInputUpload(){fs=$("#uploadfile").get(0).files,showfilepath()}function showfilepath(){var b,a="";for(b=0;b0){for($("#filepath").attr("disabled","disabled"),$("#umbutton").attr("disabled",!0),isUpLoading=!0,repeModelList=null,$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),filenames=new Array,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=fs[i].size,maxFileIndex=i);namelist=JSON.stringify(filenames),$.ajax({type:"POST",dataType:"text",data:{folderId:locationpath,namelist:namelist,maxSize:maxSize,maxFileIndex:maxFileIndex},url:"homeController/checkUploadFile.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"errorParameter":showUploadFileAlert("提示:参数不正确,无法开始上传");break;case"noAuthorized":showUploadFileAlert("提示:您的操作未被授权,无法开始上传");break;case"filesTotalOutOfLimit":showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,无法在其中上传更多文件。您可以尝试将其上传至其他文件夹内。");break;default:var resp=eval("("+result+")");"fileTooLarge"==resp.checkResult?showUploadFileAlert("提示:文件["+resp.overSizeFile+"]的体积超过最大限制("+resp.maxUploadFileSize+"),无法开始上传"):"hasExistsNames"==resp.checkResult?(repeList=resp.pereFileNameList,repeIndex=0,selectFileUpLoadModelStart()):"permitUpload"==resp.checkResult?doupload(1):showUploadFileAlert("提示:出现意外错误,无法开始上传")}},error:function(){showUploadFileAlert("提示:出现意外错误,无法开始上传")}})}else showUploadFileAlert("提示:您未选择任何文件,无法开始上传");else showUploadFileAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function selectFileUpLoadModelStart(){var a=originFolderView.authList;checkAuth(a,"D")?$("#uploadcoverbtn").show():$("#uploadcoverbtn").hide(),$("#selectFileUpLoadModelAlert").show(),$("#repeFileName").text(repeList[repeIndex])}function selectFileUpLoadModelEnd(a){if(null==repeModelList&&(repeModelList={}),repeModelList[$("#repeFileName").text()]=a,$("#selectFileUpLoadModelAlert").hide(),$("#selectFileUpLoadModelAsAll").prop("checked")){for(var b=repeIndex;b1&&$("#filecount").text("("+a+"/"+b+")"),$("#uploadstatus").prepend("

    "+d.replace(/\'/g,"'").replace(//g,">")+"[正在上传...]

    "),xhr=new XMLHttpRequest,e=new FormData,e.append("file",c),e.append("fname",d),e.append("folderId",locationpath),null!=repeModelList&&null!=repeModelList[d]){if("skip"==repeModelList[d])return $("#uls_"+a).text("[已完成]"),b>a?(doupload(a+1),void 0):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath),void 0);e.append("repeType",repeModelList[d])}xhr.open("POST","homeController/douploadFile.ajax",!0),xhr.upload.addEventListener("progress",uploadProgress,!1),xhr.send(e),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){if(null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status){var c=xhr.responseText;"uploadsuccess"==c?($("#uls_"+a).text("[已完成]"),b>a?doupload(a+1):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+d+"]上传失败。您可以尝试将其上传至其他文件夹内。"),$("#uls_"+a).text("[失败]")):(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]"))}else showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")}}else showUploadFileAlert("提示:要上传的文件不存在。"),$("#uploadstatus").prepend("

    未找到要上传的文件[失败]

    ")}function uploadProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#pros").width(b+"%"),$("#pros").attr("aria-valuenow",""+b)}}function showUploadFileAlert(a){isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadFileAlert").show(),$("#uploadFileAlert").text(a),$("#umbutton").attr("disabled",!1)}function abortUpload(){isUpLoading&&(isUpLoading=!1,null!=xhr&&xhr.abort()),$("#uploadFileModal").modal("hide"),showFolderView(locationpath)}function showDownloadModel(a,b){$("#downloadFileName").text("提示:您确认要下载文件:["+b+"]么?"),$("#downloadHrefBox").html("正在生成..."),getDownloadFileId=a,getDownloadFileName=b,$("#downloadFileBox").html(""),$("#dlmbutton").attr("disabled",!1),$("#downloadModal").modal("show")}function dodownload(a){$("#dlmbutton").attr("disabled",!0),$("#downloadFileName").text("提示:准备开始下载,请稍候..."),setTimeout("$('#downloadModal').modal('hide');",800),window.location.href="homeController/downloadFile.do?fileId="+a}function showDeleteFileModel(a,b){$("#deleteFileBox").html(""),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1),$("#deleteFileMessage").text("提示:确定要彻底删除文件:["+b+"]么?该操作不可恢复"),$("#deleteFileModal").modal("toggle")}function deleteFile(a){$("#dfmbutton").attr("disabled",!0),$("#cancelDeleteFileBox").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{fileId:a},url:"homeController/deleteFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)}})}function showRenameFileModel(a,b){$("#newFileNamealert").removeClass("alert"),$("#newFileNamealert").removeClass("alert-danger"),$("#filerenamebox").removeClass("has-error"),$("#newFileNamealert").text(""),$("#renameFileBox").html(""),$("#newfilename").val(b),$("#renameFileModal").modal("toggle")}function renameFile(a){var b=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g"),c=$("#newfilename").val();c.length>0?c.length<128?b.test(c)||0==c.indexOf(".")?showRFileAlert("提示:文件名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):$.ajax({type:"POST",dataType:"text",data:{fileId:a,newFileName:c},url:"homeController/renameFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"cannotRenameFile"==a?showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"):"renameFileSuccess"==a?($("#renameFileModal").modal("hide"),showFolderView(locationpath)):"errorParameter"==a?showRFileAlert("提示:参数错误,重命名失败,请刷新后重试。"):"nameOccupied"==a?showRFileAlert("提示:该名称已被占用,请选取其他名称。"):"noAuthorized"==a?showRFileAlert("提示:您的操作未被授权,重命名失败,请刷新后重试。"):showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。")},error:function(){showRFileAlert("提示:出现意外错误,可能未能重命名文件。")}}):showRFileAlert("提示:文件名称太长。"):showRFileAlert("提示:文件名不能为空。")}function showRFileAlert(a){$("#newFileNamealert").addClass("alert"),$("#newFileNamealert").addClass("alert-danger"),$("#filerenamebox").addClass("has-error"),$("#newFileNamealert").text(a)}function getSuffix(a){var b=a.lastIndexOf("."),c=a.length,d=a.substring(b+1,c);return d.toLowerCase()}function playVideo(a){window.open("quickview/video.html?fileId="+a)}function pdfView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getResource/"+a)}function docxView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/"+a)}function txtView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/"+a)}function pptView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/"+a)}function showPicture(fileId){$.ajax({url:"homeController/getPrePicture.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){if("ERROR"!=result)if(pvl=eval("("+result+")"),pvl.pictureViewList.length<=viewerPageSize)createViewList();else{viewerPageIndex=Math.ceil((pvl.index+1)/viewerPageSize),viewerTotal=Math.ceil(pvl.pictureViewList.length/viewerPageSize),createViewListByPage();var innerIndex=pvl.index-(viewerPageIndex-1)*viewerPageSize;viewerPageIndex>1&&innerIndex++,viewer.viewer("view",innerIndex),viewer.viewer("show",!0) -}else alert("错误:无法定位要预览的文件或该操作未被授权。")},error:function(){alert("错误:请求失败,请刷新重试。")}})}function createViewList(){var a,b;if(null==viewer){for(a=document.createElement("ul"),b=0;b"+pvl.pictureViewList[b].fileName+"");viewer=$(a),viewer.viewer({loop:!1,hidden:function(){viewer.data("viewer").destroy(),viewer=null}})}viewer.viewer("view",pvl.index),viewer.viewer("show",!0)}function createViewListByPage(){var a,b,c;if(null==viewer){for(a=document.createElement("ul"),b=(viewerPageIndex-1)*viewerPageSize,viewerPageIndex>1&&$(a).append("
  • 上一页
  • "),c=0;viewerPageSize>c&&c"+pvl.pictureViewList[b+c].fileName+"");viewerTotal>viewerPageIndex&&$(a).append("
  • 下一页
  • "),viewer=$(a),viewer.viewer({loop:!1,view:function(a){0==a.detail.index&&1!=viewerPageIndex?(viewerPageIndex--,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewerPageIndex>1?viewer.viewer("view",viewerPageSize):viewer.viewer("view",viewerPageSize-1)):(a.detail.index==viewerPageSize+1||a.detail.index==viewerPageSize&&1==viewerPageIndex)&&(viewerPageIndex++,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewer.viewer("view",1))},hidden:function(){viewer.data("viewer").destroy(),viewer.empty(),viewer=null}})}}function isShift(a){var b=window.event||a;return b.shiftKey?!0:!1}function checkfile(a,b){isShift(a)?$("#"+b).hasClass("info")?$("#"+b).removeClass("info"):$("#"+b).addClass("info"):($(".filerow").removeClass("info"),$("#"+b).addClass("info"))}function checkConsFile(a,b){var c,d,e;if(isShift(a)&&(c=$("#"+b),d=c.index(),e=$(".filerow.info:last").index(),-1!=e))if(d>e)for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.prev();else for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.next()}function getCheckedFilesAndFolders(){var b,c,d,e,a=new Object;for(a.size=0,b=new Array,c=new Array,d=$(".info").get(),e=0;e开始下载"),$("#dclmbutton").attr("disabled",!1)),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1),$("#downloadAllCheckedModal").modal("toggle")}}function downloadAllChecked(){$("#dclmbutton").attr("disabled",!0),$("#cancelDownloadAllCheckedBtn").attr("disabled",!0);var a=getCheckedFilesAndFolders();$("#downloadAllCheckedName").text("提示:服务器正在对选中资源进行压缩(共"+a.size+"项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"),$.ajax({url:"homeController/getPackTime.ajax",type:"POST",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var b;"0"!=a?(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")")},1e3)):(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒")},1e3))},error:function(){$("#downloadAllCheckedLoad").text("(无法获取预计耗时)")}}),$.ajax({type:"POST",url:"homeController/downloadCheckedFiles.ajax",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var c,d;null!=zipTimer&&window.clearInterval(zipTimer),"ERROR"==a?($("#downloadAllCheckedName").text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"),$("#dclmbutton").attr("disabled",!1),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1)):($("#downloadAllCheckedLoad").text(""),$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."),setTimeout("$('#downloadAllCheckedModal').modal('hide');",800),c=document.createElement("form"),c.action="homeController/downloadCheckedFilesZip.do",c.method="post",c.style.display="none",d=document.createElement("input"),d.name="zipId",d.value=a,c.appendChild(d),document.body.appendChild(c),c.submit())},error:function(){$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。"),$("#dclmbutton").attr("disabled",!1),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1)}})}function showDeleteAllCheckedModel(){$("#deleteFileBox").html("");var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1),0==a.size?$("#deleteFileMessage").html(checkFilesTip):($("#deleteFileBox").html(""),$("#deleteFileMessage").text("提示:确定要彻底删除这"+a.size+"项么?该操作不可恢复!")),$("#deleteFileModal").modal("toggle")}function deleteAllChecked(){var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!0),$("#cancelDeleteFileBox").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:a.filesId,strFidList:a.foldersId},url:"homeController/deleteCheckedFiles.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,未能全部删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)}})}function playAudio(fileId){$("#audioPlayerModal").modal("show"),null==pingInt&&(pingInt=setInterval("ping()",6e4)),null==ap&&(ap=new APlayer({container:document.getElementById("aplayer"),lrcType:3,mutex:!0,volume:.7,theme:"#EDEDED",audio:[]}),ap.on("pause",function(){$("#playOrPause").html("")}),ap.on("play",function(){$("#playOrPause").html("")})),ap.list.clear(),$.ajax({url:"homeController/playAudios.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){var i,ail=eval("("+result+")");for(i=ail.index;i",">"),ap.list.add(ail.as[i]);for(i=0;i",">"),ap.list.add(ail.as[i]);audio_play()},error:function(){alert("错误:无法获取音乐列表,请稍后再试"),closeAudioPlayer()}})}function closeAudioPlayer(){$("#audioPlayerModal").modal("hide")}function audio_playOrPause(){ap.toggle()}function audio_play(){ap.play()}function audio_pasue(){ap.pause()}function audio_fw(){ap.skipForward()}function audio_bw(){ap.skipBack()}function audio_vulome_up(){ap.volume(ap.audio.volume+.1,!0)}function audio_vulome_down(){ap.volume(ap.audio.volume-.1,!0)}function sortbyfn(){if(loadingComplete&&!$("#sortByCD,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileName.localeCompare(b.fileName,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderName.localeCompare(b.folderName,"zh")}),showFolderTable(folderView),$("#sortByFN").removeClass(),-1==a?$("#sortByFN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycd(){if(loadingComplete&&!$("#sortByFN,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCD").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){var d=b.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),folderView.folderList.sort(function(b,c){var d=b.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),showFolderTable(folderView),$("#sortByCD").removeClass(),-1==a?$("#sortByCD").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbyfs(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFS").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*(b.fileSize-c.fileSize)}),showFolderTable(folderView),$("#sortByFS").removeClass(),-1==a?$("#sortByFS").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycn(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByFS,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileCreator.localeCompare(b.fileCreator,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderCreator.localeCompare(b.folderCreator,"zh")}),showFolderTable(folderView),$("#sortByCN").removeClass(),-1==a?$("#sortByCN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function showOriginFolderView(){loadingComplete&&($("#sortByFN,#sortByCD,#sortByFS,#sortByCN").hasClass("glyphicon glyphicon-hourglass")||($("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView=null!=screenedFoldrView?$.extend(!0,{},screenedFoldrView):$.extend(!0,{},originFolderView),showFolderTable(folderView),$("#sortByOR").removeClass()},0)))}function cutFile(){checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show"),isCopy=!1)}function copyFile(){checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show"),isCopy=!0)}function stickFile(){void 0!==checkedMovefiles&&checkedMovefiles.size>0&&(isCopy?($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项复制到当前位置么?"),$("#moveFilesBox").html("")):($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"),$("#moveFilesBox").html("")),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#cancelMoveFilesBtn").attr("disabled",!1),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show"))}function doMoveFiles(){$("#dmvfbutton").attr("disabled",!0),$("#cancelMoveFilesBtn").attr("disabled",!0);var method="MOVE";isCopy?($("#moveFilesMessage").text("提示:正在复制,请稍候..."),method="COPY"):$("#moveFilesMessage").text("提示:正在移动,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:checkedMovefiles.filesId,strFidList:checkedMovefiles.foldersId,locationpath:locationpath,method:method},url:"homeController/confirmMoveFiles.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"noAuthorized":$("#moveFilesMessage").text("提示:您的操作未被授权,操作失败"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"errorParameter":$("#moveFilesMessage").text("提示:参数不正确,无法完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"cannotMoveFiles":$("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"filesTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件数量已达上限,无法添加更多文件"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"foldersTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件夹数量已达上限,无法添加更多文件夹"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"confirmMoveFiles":strMoveOptMap={},sendMoveFilesReq();break;default:if(result.startsWith("duplicationFileName:")){repeMap=eval("("+result.substring(20)+")"),repeIndex=0,strMoveOptMap={},mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length,repeMap.repeFolders.length>0?$("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName):$("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName);var authList=originFolderView.authList;checkAuth(authList,"D")?$("#movecoverbtn").show():$("#movecoverbtn").hide(),$("#selectFileMoveModelAlert").show()}else result.startsWith("CANT_MOVE_TO_INSIDE:")?$("#moveFilesMessage").text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)):($("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1))}},error:function(){$("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1)}})}function selectFileMoveModel(a){if($("#selectFileMoveModelAsAll").prop("checked")){for(;mRepeSize>repeIndex;)repeIndexrepeIndex?repeIndexc;c++)b.test(originFolderView.folderList[c].folderName)&&screenedFoldrView.folderList.push(originFolderView.folderList[c]);for(c=0,d=originFolderView.fileList.length;d>c;c++)b.test(originFolderView.fileList[c].fileName)&&screenedFoldrView.fileList.push(originFolderView.fileList[c]);$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),folderView=$.extend(!0,{},screenedFoldrView),showFolderTable(folderView)}catch(e){alert("错误:搜索关键字有误。请在特殊符号(例如“*”)前加上“\\”进行转义。")}}function selectInCompletePath(keyworld){return 0==keyworld.length?(showFolderView(locationpath),void 0):(startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:locationpath,keyworld:keyworld},url:"homeController/sreachInCompletePath.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="prv/login.html":"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val("all:"+folderView.keyWorld),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text("--"),$("#fim_folderCreationDate").text("--"),$("#fim_folderId").text("--"),updateTheFolderInfo())},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}),void 0)}function goBackToTop(){$("html,body").animate({scrollTop:0},"slow")}function getDownloadURL(){$.ajax({url:"externalLinksController/getDownloadKey.ajax",type:"POST",dataType:"text",data:{fId:getDownloadFileId},success:function(a){var b=window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+encodeURIComponent(getDownloadFileName.replace(/\'/g,"").replace(/\r/g,"").replace(/\n/g,""))+"?dkey="+a;$("#downloadHrefBox").html(""+b+"")},error:function(){$("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。")}})}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)},error:function(){null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}})}function isSupportWebkitdirectory(){var a=document.createElement("input");return"webkitdirectory"in a&&!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?!0:!1}function showUploadFolderModel(){if($("#importFolderAlert").hide(),$("#importFolderAlert").text(""),0==isImporting)if($("#folderpath").val(""),$("#importfolder").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importstatus").html(""),$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importcount").text(""),$("#importbutton").attr("disabled",!1),$("#importfoldertypelist").html(""),$("#selectFolderImportModelAlert").hide(),null!=account){$("#folderpath").attr("folderConstraintLevel",constraintLevel+""),$("#importfoldertype").text(folderTypes[constraintLevel]);for(var a=constraintLevel;a"+folderTypes[a]+"")}else $("#importfoldertypelist").append("
  • "+folderTypes[0]+"
  • ");$("#importFolderModal").modal("show")}function checkimportpath(){$("#importfolder").click()}function getInputImport(){ifs=$("#importfolder")[0].files,ifs.length>0&&(importFolderName=ifs[0].webkitRelativePath.substring(0,ifs[0].webkitRelativePath.indexOf("/")),$("#folderpath").val(importFolderName))}function checkImportFolder(){var maxSize,maxFileIndex,i;if(0==isUpLoading&&0==isImporting)if(null!=ifs&&ifs.length>0){for($("#folderpath").attr("disabled",!0),$("#importFolderLevelBtn").attr("disabled",!0),$("#importbutton").attr("disabled",!0),$("#importFolderAlert").hide(),$("#importFolderAlert").text(""),isImporting=!0,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=ifs[i].size,maxFileIndex=i);$.ajax({url:"homeController/checkImportFolder.ajax",type:"POST",dataType:"text",data:{folderName:importFolderName,maxSize:maxSize,folderId:locationpath},success:function(result){var resJson=eval("("+result+")");switch(resJson.result){case"noAuthorized":showImportFolderAlert("提示:您的操作未被授权,无法开始上传");break;case"errorParameter":showImportFolderAlert("提示:参数不正确,无法开始上传。必须选择一个文件夹");break;case"mustLogin":window.location.href="prv/login.html";break;case"fileOverSize":showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传");break;case"foldersTotalOutOfLimit":showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中上传更多文件夹。您可以尝试将其上传至其他文件夹内。");break;case"repeatFolder_Both":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").hide(),$("#selectFolderImportModelAlert").show();break;case"repeatFolder_coverOrBoth":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").show(),$("#selectFolderImportModelAlert").show();break;case"permitUpload":iteratorImport(0);break;default:showImportFolderAlert("提示:出现意外错误,无法开始上传")}},error:function(){showImportFolderAlert("提示:出现意外错误,无法开始上传")}})}else showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传");else showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function showImportFolderAlert(a){isImporting=!1,$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importFolderAlert").show(),$("#importFolderAlert").text(a),$("#importbutton").attr("disabled",!1)}function importProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#importpros").width(b+"%"),$("#importpros").attr("aria-valuenow",""+b)}}function importAndCover(){$("#selectFolderImportModelAlert").hide(),$.ajax({url:"homeController/deleteFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName},dataType:"text",success:function(a){"deleteSuccess"==a?iteratorImport(0):showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")},error:function(){showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")}})}function importAndBoth(){$("#selectFolderImportModelAlert").hide();var fc=$("#folderpath").attr("folderConstraintLevel");$.ajax({url:"homeController/createNewFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName,folderConstraint:fc},dataType:"text",success:function(result){var resJson=eval("("+result+")");"success"==resJson.result?iteratorImport(0,resJson.newName):"foldersTotalOutOfLimit"==resJson.result?showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法上传同名文件夹并保留两者。您可以尝试将其上传至其他文件夹内。"):showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")},error:function(){showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")}})}function iteratorImport(a,b){var c,d,e,f,g;$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),c=ifs[a],d=ifs.length,e=$("#folderpath").attr("folderConstraintLevel"),null!=c?(f=c.webkitRelativePath,d>1&&$("#importcount").text("("+(a+1)+"/"+d+")"),$("#importstatus").prepend("

    "+f.replace(/\'/g,"'").replace(//g,">")+"[正在上传...]

    "),xhr=new XMLHttpRequest,g=new FormData,g.append("file",c),g.append("folderId",locationpath),g.append("folderConstraint",e),g.append("originalFileName",f),b&&g.append("newFolderName",b),xhr.open("POST","homeController/doImportFolder.ajax",!0),xhr.upload.addEventListener("progress",importProgress,!1),xhr.send(g),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){var c,e;null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status?(c=xhr.responseText,"uploadsuccess"==c?($("#ils_"+a).text("[已完成]"),e=a+1,d>e?iteratorImport(e,b):(isImporting=!1,$("#folderpath").removeAttr("disabled"),$("#importFolderLevelBtn").removeAttr("disabled"),$("#importfolder").val(""),$("#folderpath").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importbutton").attr("disabled",!1),$("#importcount").text(""),$("#importstatus").text(""),$("#importFolderModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"foldersTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))}):(showImportFolderAlert("提示:要上传的文件不存在。"),$("#importstatus").prepend("

    未找到要上传的文件[失败]

    "))}function abortImport(){isImporting&&(isImporting=!1,null!=xhr&&xhr.abort()),$("#importFolderModal").modal("hide"),showFolderView(locationpath)}function changeImportFolderType(a){$("#importfoldertype").text(folderTypes[a]),$("#folderpath").attr("folderConstraintLevel",a+"")}function doChangePassword(){var change_oldPassword,change_newPassword,change_reqNewPassword;return $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepasswordalertbox").hide(),change_oldPassword=$("#changepassword_oldpwd").val(),change_newPassword=$("#changepassword_newpwd").val(),change_reqNewPassword=$("#changepassword_reqnewpwd").val(),0==change_oldPassword.length?($("#changepassword_oldepwdbox").addClass("has-error"),$("#changepassword_oldpwd").focus(),void 0):0==change_newPassword.length?($("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_newpwd").focus(),void 0):0==change_reqNewPassword.length?($("#changepassword_reqnewpwdbox").addClass("has-error"),$("#changepassword_reqnewpwd").focus(),void 0):(isChangingPassword=!0,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!0),change_newPassword+""!=change_reqNewPassword+""?(showChangePasswordAlert("提示:两次输入的新密码不一致,请检查确认"),$("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_reqnewpwdbox").addClass("has-error"),void 0):($.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,changepwd_publicKeyInfo=eval("("+result+")"),changePasswordInfo='{oldPwd:"'+change_oldPassword+'",newPwd:"'+change_newPassword+'",time:"'+changepwd_publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(changepwd_publicKeyInfo.publicKey),encrypted=encrypt.encrypt(changePasswordInfo),sendChangePasswordInfo(encrypted)},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}}),void 0))}function sendChangePasswordInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doChangePassword.ajax",data:{encrypted:a,vercode:$("#changepassword_vercode").val()},success:function(a){switch($("#changepassword_vccodebox").hide(),isChangingPassword=!1,a){case"success":$("#changePasswordModal").modal("hide");break;case"mustlogin":showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户");break;case"illegal":showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝");break;case"oldpwderror":showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"),$("#changepassword_oldepwdbox").addClass("has-error");break;case"needsubmitvercode":$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton").attr("disabled",!1),$("#changepassword_vccodebox").html("
    "),$("#changepassword_vccodebox").show(),isChangingPassword=!1;break;case"invalidnewpwd":showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。"); -break;case"error":showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)");break;case"cannotchangepwd":showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员");break;default:showChangePasswordAlert("提示:密码修改失败,发生未知错误")}},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}})}function showChangePasswordAlert(a){isChangingPassword=!1,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepasswordalertbox").show(),$("#changepasswordalertbox").text(a)}function changePasswordGetNewVerCode(){$("#changepassword_showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function getFileChain(a,b){$("#fileChainTextarea").text("正在获取……"),$("#copyChainBtn").attr("disabled",!0),$("#fileChainModal").modal("show"),$.ajax({type:"POST",dataType:"text",url:"homeController/getFileChainKey.ajax",data:{fid:a},success:function(a){switch(a){case"ERROR":$("#fileChainTextarea").text("提示:获取失败,请刷新页面或稍后再试。");break;case"mustlogin":window.location.href="prv/login.html";break;default:$("#fileChainTextarea").text(window.location.protocol+"//"+window.location.host+"/externalLinksController/chain/"+encodeURIComponent(b.replace(/\'/g,"").replace(/\r/g,"").replace(/\n/g,""))+"?ckey="+encodeURIComponent(a)),$("#copyChainBtn").attr("disabled",!1)}},error:function(){$("#fileChainTextarea").text("提示:获取失败,无法连接服务器。")}})}function copyFileChain(){node=document.getElementById("fileChainTextarea"),node.select(),document.execCommand("copy")}function showNoticeModal(){$("#noticeModal").modal("show")}function initNoticeModal(){$("#noticeModalBody").load("resourceController/getNoticeContext.do",function(){$("#noticeModalBody img").css("max-width","100%"),winHeight>=300?$("#noticeModalBody").css("max-height",winHeight-180+"px"):$("#noticeModalBody").css("max-height","300px"),noticeInited=!0,showNoticeModal(),showNoticeBtn()})}function subscribeNotice(){$.ajax({url:"resourceController/getNoticeMD5.ajax",data:{},type:"POST",dataType:"text",success:function(a){if(""!=a){var b=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)"));if(b){if(a==unescape(b[2]))return showNoticeBtn(),void 0}else if(b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),b&&a==unescape(b[2]))return showNoticeBtn(),void 0;initNoticeModal(),document.cookie="notice_md5="+escape(a)}},error:function(){alert("错误:无法从服务器获取公告信息,请尝试刷新页面。")}})}function showNoticeBtn(){$("#shownoticebox").removeClass("hidden"),$("#shownoticebox").addClass("show")}function showNotice(){noticeInited?showNoticeModal():initNoticeModal()}function loadingRemainingFolderView(targetId){var newfoldersOffset,newfilesOffset,loadingRemainingRate_folders,loadingRemainingRate_files,loadingRemainingRate;if(!remainingLoadingRequest){if(newfoldersOffset=0,newfilesOffset=0,folderView.foldersOffset-folderView.selectStep>0&&(newfoldersOffset=folderView.foldersOffset-folderView.selectStep),folderView.filesOffset-folderView.selectStep>0&&(newfilesOffset=folderView.filesOffset-folderView.selectStep),0>=newfoldersOffset&&0>=newfilesOffset)return originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId),void 0;loadingRemainingRate_folders=1,loadingRemainingRate_files=1,totalFoldersOffset>0&&(loadingRemainingRate_folders=(totalFoldersOffset-newfoldersOffset)/totalFoldersOffset),totalFilesOffset>0&&(loadingRemainingRate_files=(totalFilesOffset-newfilesOffset)/totalFilesOffset),loadingRemainingRate=(loadingRemainingRate_folders+loadingRemainingRate_files)/2,$("#loadingrate").text(parseInt(100*loadingRemainingRate)+"%"),remainingLoadingRequest=$.ajax({url:"homeController/getRemainingFolderView.ajax",data:{fid:locationpath,foldersOffset:newfoldersOffset,filesOffset:newfilesOffset},type:"POST",dataType:"text",success:function(result){switch(remainingLoadingRequest=null,result){case"ERROR":alert("错误:无法加载剩余文件列表,文件数据可能未显示完全,请刷新重试!"),hiddenLoadingRemaininngBox(),doFixedRow();break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView.foldersOffset=newfoldersOffset,folderView.filesOffset=newfilesOffset;var remainingFV=eval("("+result+")");updateFolderTable(remainingFV),updateTheFolderInfo(),folderView.foldersOffset>0||folderView.filesOffset>0?loadingRemainingFolderView(targetId):(originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(a,b){remainingLoadingRequest=null,hiddenLoadingRemaininngBox(),"abort"!=b&&alert("错误:无法连接服务器,文件列表加载被中断。请刷新重试!")}})}}function doFixedRow(a){a&&a.length>0&&($("#"+a).addClass("info"),$("html,body").animate({scrollTop:$("#"+a).offset().top-$(window).height()/2},"slow"))}function showLoadingRemaininngBox(){loadingComplete=!1,$("#loadingremaininngbox").addClass("show"),$("#loadingremaininngbox").removeClass("hidden"),$("#searchbtn").attr("disabled","disabled")}function hiddenLoadingRemaininngBox(){loadingComplete=!0,$("#loadingremaininngbox").removeClass("show"),$("#loadingremaininngbox").addClass("hidden"),$("#searchbtn").removeAttr("disabled")}function updateFolderTable(a){var g,h,i,j,b=folderView.authList,c=!1,d=!1,e=!1,f=!1;if(checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),a.folderList&&a.folderList.length>0)for(g=a.folderList.length;g>0;g--)h=a.folderList[g-1],folderContains(folderView.folderList,h.folderId)||(folderView.folderList.unshift(h),$("[iskfolder=true]:last").after(createNewFolderRow(h,c,d,f)));if(a.fileList&&a.fileList.length>0)for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],fileContains(folderView.fileList,j.fileId)||(folderView.fileList.unshift(j),$("#foldertable").append(createFileRow(j,e,c,d,f)))}function folderContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].folderId==b)return!0;return!1}function fileContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].fileId==b)return!0;return!1}function updateTheFolderInfo(){$("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。")}function replaceAllQuotationMarks(a){return a.replace(/\"/g,'\\"')}var ap,zipTimer,folderView,originFolderView,fs,ifs,checkedMovefiles,isCopy,repeMap,strMoveOptMap,mRepeSize,constraintLevel,account,importFolderName,xhr,viewer,viewerPageIndex,viewerTotal,pvl,winHeight,pingInt,loadingComplete,totalFoldersOffset,totalFilesOffset,remainingLoadingRequest,loadingFolderView,folderTypes,repeList,repeIndex,repeModelList,screenedFoldrView,getDownloadFileId,getDownloadFileName,locationpath="root",parentpath="null",isUpLoading=!1,isImporting=!1,isChangingPassword=!1,viewerPageSize=15,checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:

    单击:选中某一文件

    Shift+单击:选中多个文件

    Shift+双击:选中连续的文件

    Shitf+A:选中/取消选中所有文件",noticeInited=!1;$(function(){window.onresize=function(){changeFilesTableStyle(),updateWinHeight()},changeFilesTableStyle(),getServerOS(),subscribeNotice();var a=document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)"));null!=a?showFolderView(unescape(a[2])):showFolderView("root"),$(document).click(function(a){var b=$("#filetable")[0],c=a.srcElement;c||(c=a.target),c===b||$.contains(b,a.target)||$(".filerow").removeClass("info")}),$("#audioPlayerModal").on("hidden.bs.modal",function(){null!=ap&&(ap.seek(0),ap.pause()),null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}),$("#downloadAllCheckedModal").on("hidden.bs.modal",function(){null!=zipTimer&&window.clearInterval(zipTimer)}),$("#loginModal").on("hidden.bs.modal",function(){"disabled"!==$("#dologinButton").attr("disabled")&&($("#accountid").val(""),$("#accountpwd").val("")),$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden")}),$(".modal").on("shown.bs.modal",function(){$(this).addClass("shown")}),$(".modal").on("hidden.bs.modal",function(){$(this).removeClass("shown")}),$("body").keypress(function(a){var c,b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;return 13==b?("sreachKeyWordIn"===document.activeElement.id?doSearchFile():(c=$(".shown .btn-primary"),null!=c.get(0)&&0==c.prop("disabled")&&c.click()),!1):void 0}),$("#loginModal").on("shown.bs.modal",function(){$("#accountid").focus()}),$("#newFolderModal").on("show.bs.modal",function(){if($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$("#foldername").val(""),$("#foldertypelist").html(""),null!=account){$("#foldername").attr("folderConstraintLevel",constraintLevel+""),$("#newfoldertype").text(folderTypes[constraintLevel]);for(var b=constraintLevel;b"+folderTypes[b]+"")}else $("#foldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),$("#newFolderModal").on("shown.bs.modal",function(){$("#foldername").focus()}),$("#uploadFileModal,#importFolderModal").on("hidden.bs.modal",function(){(isUpLoading||isImporting)&&($("#operationMenuBox").attr("data-placement","top"),$("#operationMenuBox").attr("data-trigger","focus"),$("#operationMenuBox").attr("data-title","上传中"),$("#operationMenuBox").attr("data-content","您可以重新打开上传窗口查看上传进度。"),$("#operationMenuBox").popover(),$("#operationMenuBox").popover("show"),setTimeout(function(){$("#operationMenuBox").attr("data-title",""),$("#operationMenuBox").attr("data-content",""),$("#operationMenuBox").popover("destroy")},2e3))}),$("#renameFolderModal").on("show.bs.modal",function(){if($("#editfolderalert").removeClass("alert"),$("#editfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#editfolderalert").text(""),$("#editfoldertypelist").html(""),null!=account)for(var b=constraintLevel;b"+folderTypes[b]+"");else $("#editfoldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),document.ondragover=function(a){a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1)},document.ondrop=function(a){var b,c,d,e,f,g;if(a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1),null!=folderView.authList)if(checkAuth(folderView.authList,"U"))if(isUpLoading||isImporting)alert("提示:您正在执行另一项上传任务,请在上传完成后再试。");else if(window.ActiveXObject||"ActiveXObject"in window)alert("提示:IE浏览器不支持拖拽上传。您可以使用现代浏览器或将浏览模式切换为“极速模式”来体验该功能。");else{if(b=null!=a.dataTransfer?a.dataTransfer:window.event.dataTransfer,c=!0,void 0!==b.items)for(d=0;d0&&$("#stickFileButtonLi a").click();break;default:return!0}return!1}}}),$("#moveFilesModal").on("hidden.bs.modal",function(){checkedMovefiles=void 0,$("#copyFileButtonLi").removeClass("hidden"),$("#copyFileButtonLi").addClass("show"),$("#cutFileButtonLi").removeClass("hidden"),$("#cutFileButtonLi").addClass("show"),$("#stickFileButtonLi").removeClass("show"),$("#stickFileButtonLi").addClass("hidden"),$("#stickFilesCount").text(""),$("#moveFilesBox").html("")}),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(a){return this.slice(0,a.length)===a}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(a){return-1!==this.indexOf(a,this.length-a.length)}),$("#downloadModal").on("hidden.bs.modal",function(){$("#downloadURLCollapse").collapse("hide")}),updateWinHeight(),$(window).scroll(function(){$(this).scrollTop()>2*winHeight?$("#gobacktotopbox").removeClass("hidden"):$("#gobacktotopbox").addClass("hidden")}),$("#downloadURLCollapse").on("shown.bs.collapse",function(){getDownloadURL()}),$("#changePasswordModal").on("show.bs.modal",function(){isChangingPassword||($("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd").val(""),$("#changepasswordalertbox,#changepassword_vccodebox").hide())}),$("#changePasswordModal").on("shown.bs.modal",function(){isChangingPassword||$("#changepassword_oldpwd").focus()}),$("#noticeModal").on("show.bs.modal",function(){var b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)"));b?$("#dontShowSomeNoticeAt30Day").attr("checked","checked"):$("#dontShowSomeNoticeAt30Day").attr("checked",!1)}),$("#noticeModal").on("hidden.bs.modal",function(){var c,d,b=new Date;$("#dontShowSomeNoticeAt30Day").prop("checked")?(b.setTime(b.getTime()+2592e6),c=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)")),c?document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString():(c=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),c&&(document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString()))):(b.setTime(0),d=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),d&&(document.cookie="notice_md5_30=0;expires="+b.toUTCString()))})}),folderTypes=["公开的","仅小组","仅创建者"]; \ No newline at end of file +function updateWinHeight(){window.innerHeight?winHeight=window.innerHeight:document.body&&document.body.clientHeight&&(winHeight=document.body.clientHeight)}function changeFilesTableStyle(){var a=$(window).width();768>a?($("#filetableheadera").addClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","collapse"),$("#filetableheadera").attr("data-target","#filetableoptmenu"),$("#mdropdownicon").html("(点击展开/折叠菜单)")):($("#filetableheadera").removeClass("filetableheaderstyle"),$("#filetableheadera").attr("data-toggle","modal"),$("#filetableheadera").attr("data-target","#folderInfoModal"),$("#mdropdownicon").html(""))}function doAlert(){alert("错误:无法连接到kiftd服务器,请检查您的网络连接或查看服务器运行状态。")}function getServerOS(){$.ajax({type:"POST",dataType:"text",data:{},url:"homeController/getServerOS.ajax",success:function(a){return"mustLogin"==a?(window.location.href="prv/login.html",void 0):($("#serverOS").text(a),void 0)},error:function(){$("#serverOS").html("获取失败,点击重试")}})}function showFolderView(fid,targetId){loadingFolderView||(startLoading(),remainingLoadingRequest&&remainingLoadingRequest.abort(),$.ajax({type:"POST",dataType:"text",data:{fid:fid},url:"homeController/getFolderView.ajax",success:function(result){switch(endLoading(),result){case"ERROR":doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新");break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,document.cookie="folder_id="+escape(locationpath),parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,originFolderView=$.extend(!0,{},folderView),totalFoldersOffset=folderView.foldersOffset,totalFilesOffset=folderView.filesOffset,$("#sreachKeyWordIn").val(""),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text(folderView.folder.folderCreator),$("#fim_folderCreationDate").text(folderView.folder.folderCreationDate),$("#fim_folderId").text(folderView.folder.folderId),updateTheFolderInfo(),folderView.foldersOffset>folderView.selectStep||folderView.filesOffset>folderView.selectStep?(showLoadingRemaininngBox(),loadingRemainingFolderView(targetId)):(hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}))}function startLoading(){loadingFolderView=!0,$("#loadingModal").modal({backdrop:"static",keyboard:!1}),$("#loadingModal").modal("show"),$("#loadingModal").addClass("shown")}function endLoading(){loadingFolderView=!1,$("#loadingModal").modal("hide"),$("#loadingModal").removeClass("shown")}function startLogin(){$("#accountid").attr("disabled","disabled"),$("#accountpwd").attr("disabled","disabled"),$("#dologinButton").attr("disabled","disabled"),$("#vercode").attr("disabled","disabled")}function finishLogin(){$("#accountid").removeAttr("disabled"),$("#accountpwd").removeAttr("disabled"),$("#dologinButton").removeAttr("disabled"),$("#vercode").removeAttr("disabled")}function dologin(){var accountId=$("#accountid").val(),accountPwd=$("#accountpwd").val(),check="y";0==accountId.length?($("#accountidbox").addClass("has-error"),check="n"):$("#accountidbox").removeClass("has-error"),0==accountPwd.length?($("#accountpwdbox").addClass("has-error"),check="n"):$("#accountpwdbox").removeClass("has-error"),"y"==check&&(startLogin(),$.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,publicKeyInfo=eval("("+result+")"),date=new Date,loginInfo='{accountId:"'+accountId+'",accountPwd:"'+accountPwd+'",time:"'+publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(publicKeyInfo.publicKey),encrypted=encrypt.encrypt(loginInfo),sendLoginInfo(encrypted)},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}}))}function sendLoginInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doLogin.ajax",data:{encrypted:a,vercode:$("#vercode").val()},success:function(a){switch(finishLogin(),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden"),a){case"permitlogin":$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#loginModal").modal("hide"),showFolderView(locationpath);break;case"accountnotfound":$("#accountidbox").addClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,账户不存在或未设置");break;case"accountpwderror":$("#accountpwdbox").addClass("has-error"),$("#accountidbox").removeClass("has-error"),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,密码错误或未设置");break;case"needsubmitvercode":$("#vercodebox").html("
    "),$("#vercodebox").removeClass("hidden"),$("#vercodebox").addClass("show");break;case"error":$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录失败,登录请求无法通过加密效验(可能是请求耗时过长导致的)");break;default:$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:无法登录,未知错误")}},error:function(){finishLogin(),$("#alertbox").addClass("alert"),$("#alertbox").addClass("alert-danger"),$("#alertbox").text("提示:登录请求失败,请检查网络或服务器运行状态")}})}function getNewVerCode(){$("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function dologout(){$("#logoutModal").modal("hide"),$.ajax({url:"homeController/doLogout.ajax",type:"POST",data:{},dataType:"text",success:function(a){"SUCCESS"==a&&showFolderView(locationpath)},error:function(){doAlert()}})}function showParentList(a){$("#parentFolderList").html("");var b=a.folder;a.parentList.length>0?$.each(a.parentList,function(a,b){$("#parentFolderList").append("
  • "+b.folderName+"
  • ")}):$("#parentFolderList").html("
  • "),b.folderName.length>6?$("#currentFolderName").text(b.folderName.substr(0,6)+"..."):$("#currentFolderName").text(b.folderName),"ROOT"==b.folderName?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-home")):null!=a.keyWorld?($("#folderIconSpan").removeClass("glyphicon-folder-close"),$("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").addClass("glyphicon-search")):($("#folderIconSpan").removeClass("glyphicon-home"),$("#folderIconSpan").removeClass("glyphicon-search"),$("#folderIconSpan").addClass("glyphicon-folder-close"))}function showAccountView(a){$("#tb,#tb2").html(""),account=a.account,null!=a.account?($("#tb").append(""),$("#tb2").append(""),"true"==a.allowChangePassword&&($("#tb").append(" "),$("#tb2").append(" "))):($("#tb").append(""),$("#tb2").append(""),"true"==a.allowSignUp&&($("#tb").append(" "),$("#tb2").append(" ")));var b=a.authList;$("#fileListDropDown li").addClass("disabled"),$("#fileListDropDown li a").attr("onclick",""),null!=b&&(checkAuth(b,"C")&&($("#createFolderButtonLi").removeClass("disabled"),$("#createFolderButtonLi a").attr("onclick","showNewFolderModel()")),checkAuth(b,"U")&&($("#uploadFileButtonLi").removeClass("disabled"),$("#uploadFileButtonLi a").attr("onclick","showUploadFileModel()"),checkAuth(b,"C")&&isSupportWebkitdirectory()&&($("#uploadFolderButtonLi").removeClass("disabled"),$("#uploadFolderButtonLi a").attr("onclick","showUploadFolderModel()"))),a.enableDownloadZip&&checkAuth(b,"L")?$("#packageDownloadBox").html(""):$("#packageDownloadBox").html(""),checkAuth(b,"D")&&($("#deleteSeelectFileButtonLi").removeClass("disabled"),$("#deleteSeelectFileButtonLi a").attr("onclick","showDeleteAllCheckedModel()")),checkAuth(b,"M")&&($("#cutFileButtonLi").removeClass("disabled"),$("#stickFileButtonLi").removeClass("disabled"),$("#copyFileButtonLi").removeClass("disabled"),$("#cutFileButtonLi a").attr("onclick","cutFile()"),$("#copyFileButtonLi a").attr("onclick","copyFile()"),$("#stickFileButtonLi a").attr("onclick","stickFile()"),void 0!==checkedMovefiles&&checkedMovefiles.size>0?(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show")):($("#copyFileButtonLi").removeClass("hidden"),$("#copyFileButtonLi").addClass("show"),$("#cutFileButtonLi").removeClass("hidden"),$("#cutFileButtonLi").addClass("show"),$("#stickFileButtonLi").removeClass("show"),$("#stickFileButtonLi").addClass("hidden"),$("#stickFilesCount").text(""))))}function checkAuth(a,b){var c=!1;return $.each(a,function(a,d){d==b&&(c=!0)}),c}function showPublishTime(a){$("#publishTime").html("");var b="";b=null!=a.publishTime?a.publishTime:"--",$("#publishTime").text(b)}function refreshFolderView(){null!=locationpath&&locationpath.length>0?showFolderView(locationpath):showFolderView("root"),subscribeNotice()}function returnPF(){null!=parentpath&&"null"!=parentpath?showFolderView(parentpath):showFolderView("root")}function showFolderTable(a){var b,c,d,e,f,g,h,i,j;for($("#foldertable").html(""),null!=parentpath&&"null"!=parentpath&&$("#foldertable").append("--------"),b=a.authList,c=!1,d=!1,e=!1,f=!1,checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),g=a.folderList.length;g>0;g--)h=a.folderList[g-1],$("#foldertable").append(createNewFolderRow(h,c,d,f));for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],$("#foldertable").append(createFileRow(j,e,c,d,f))}function createFileRow(a,b,c,d,e){var f,g;if(a.fileName=html2Escape(a.fileName),f=""+a.fileName+""+a.fileCreationDate+"","0"==a.fileSize?f+="<1MB":f=f+""+a.fileSize+"MB",f=f+""+a.fileCreator+"",b)switch(f=f+"",g=getSuffix(a.fileName)){case"mp4":f=f+"";break;case"webm":case"mov":case"avi":case"wmv":case"mkv":case"flv":folderView.enableFFMPEG&&(f=f+"");break;case"pdf":f=f+"";break;case"jpg":case"jpeg":case"gif":case"png":case"bmp":f=f+"";break;case"mp3":case"wav":case"ogg":f=f+"";break;case"docx":f=f+"";break;case"txt":f=f+"";break;case"ppt":case"pptx":f=f+""}return c&&(f=f+""),d&&(f=f+""),e&&(f=f+""),b&&"true"==folderView.showFileChain&&(f=f+""),d||c||b||e||(f+="--"),f+=""}function createNewFolderRow(a,b,c,d){a.folderName=html2Escape(a.folderName);var e=""+a.folderCreationDate+"--"+a.folderCreator+"";return b&&(e=e+""),c&&(e=e+""),d&&(e=e+""),c||b||d||(e+="--"),e+=""}function showNewFolderModel(){$("#newFolderModal").modal("show")}function changeNewFolderType(a){$("#newfoldertype").text(folderTypes[a]),$("#foldername").attr("folderConstraintLevel",a+"")}function createfolder(){var a=$("#foldername").val(),b=$("#foldername").attr("folderConstraintLevel"),c=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==a.length?showFolderAlert("提示:文件夹名称不能为空。"):a.length>128?showFolderAlert("提示:文件夹名称太长。"):c.test(a)||0==a.indexOf(".")?showFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{parentId:locationpath,folderName:a,folderConstraint:b},url:"homeController/newFolder.ajax",success:function(a){if("mustLogin"==a)window.location.href="prv/login.html";else switch(a){case"noAuthorized":showFolderAlert("提示:您的操作未被授权,创建文件夹失败。");break;case"errorParameter":showFolderAlert("提示:参数不正确,创建文件夹失败。");break;case"cannotCreateFolder":showFolderAlert("提示:出现意外错误,可能未能创建文件夹。");break;case"nameOccupied":showFolderAlert("提示:该名称已被占用,请选取其他名称。");break;case"foldersTotalOutOfLimit":showFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中创建更多文件夹。");break;case"createFolderSuccess":$("#newFolderModal").modal("hide"),showFolderView(locationpath);break;default:showFolderAlert("提示:出现意外错误,可能未能创建文件夹。")}},error:function(){showFolderAlert("提示:出现意外错误,可能未能创建文件夹")}}))}function showFolderAlert(a){$("#folderalert").addClass("alert"),$("#folderalert").addClass("alert-danger"),$("#foldernamebox").addClass("has-error"),$("#folderalert").text(a)}function entryFolder(a){showFolderView(a)}function showDeleteFolderModel(a,b){$("#deleteFolderBox").html(""),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!1),$("#deleteFolderMessage").text("提示:确定要彻底删除文件夹:["+b+"]及其全部内容么?该操作不可恢复"),$("#deleteFolderModal").modal("toggle")}function deleteFolder(a){$("#dmbutton").attr("disabled",!0),$("#cancelDeleteFolderBtn").attr("disabled",!0),$("#deleteFolderMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{folderId:a},url:"homeController/deleteFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFolderMessage").text("提示:您的操作未被授权,删除文件夹失败"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"errorParameter"==a?($("#deleteFolderMessage").text("提示:参数不正确,删除文件夹失败"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"cannotDeleteFolder"==a?($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)):"deleteFolderSuccess"==a?($("#deleteFolderModal").modal("hide"),showFolderView(locationpath)):($("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0))},error:function(){$("#deleteFolderMessage").text("提示:出现意外错误,可能未能删除文件夹"),$("#dmbutton").attr("disabled",!1),$("#cancelDeleteFolderBtn").attr("disabled",!0)}})}function showRenameFolderModel(a,b,c){$("#renameFolderBox").html(""),$("#newfoldername").val(b),changeEditFolderType(c),$("#renameFolderModal").modal("show")}function changeEditFolderType(a){$("#editfoldertype").text(folderTypes[a]),$("#newfoldername").attr("folderConstraintLevel",a+"")}function renameFolder(a){var b=$("#newfoldername").val(),c=$("#newfoldername").attr("folderConstraintLevel"),d=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g");0==b.length?showRFolderAlert("提示:文件夹名称不能为空。"):b.length>128?showRFolderAlert("提示:文件夹名称太长。"):d.test(b)||0==b.indexOf(".")?showRFolderAlert("提示:文件夹名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):($("#newfolderalert").removeClass("alert"),$("#newfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#newfolderalert").text(""),$.ajax({type:"POST",dataType:"text",data:{folderId:a,newName:b,folderConstraint:c},url:"homeController/renameFolder.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?showRFolderAlert("提示:您的操作未被授权,编辑失败。"):"errorParameter"==a?showRFolderAlert("提示:参数不正确,编辑失败,请刷新后重试。"):"nameOccupied"==a?showRFolderAlert("提示:该名称已被占用,请选取其他名称。"):"renameFolderSuccess"==a?($("#renameFolderModal").modal("hide"),showFolderView(locationpath)):showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")},error:function(){showRFolderAlert("提示:出现意外错误,可能未能编辑文件夹,请刷新后重试。")}}))}function showRFolderAlert(a){$("#editfolderalert").addClass("alert"),$("#editfolderalert").addClass("alert-danger"),$("#folderrenamebox").addClass("has-error"),$("#editfolderalert").text(a)}function showUploadFileModel(){$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),0==isUpLoading&&($("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").html(""),$("#selectcount").text(""),$("#selectFileUpLoadModelAsAll").removeAttr("checked"),$("#selectFileUpLoadModelAlert").hide()),$("#uploadFileModal").modal("show")}function checkpath(){$("#uploadfile").click()}function getInputUpload(){fs=$("#uploadfile").get(0).files,showfilepath()}function showfilepath(){var b,a="";for(b=0;b0){for($("#filepath").attr("disabled","disabled"),$("#umbutton").attr("disabled",!0),isUpLoading=!0,repeModelList=null,$("#uploadFileAlert").hide(),$("#uploadFileAlert").text(""),filenames=new Array,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=fs[i].size,maxFileIndex=i);namelist=JSON.stringify(filenames),$.ajax({type:"POST",dataType:"text",data:{folderId:locationpath,namelist:namelist,maxSize:maxSize,maxFileIndex:maxFileIndex},url:"homeController/checkUploadFile.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"errorParameter":showUploadFileAlert("提示:参数不正确,无法开始上传");break;case"noAuthorized":showUploadFileAlert("提示:您的操作未被授权,无法开始上传");break;case"filesTotalOutOfLimit":showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,无法在其中上传更多文件。您可以尝试将其上传至其他文件夹内。");break;default:var resp=eval("("+result+")");"fileTooLarge"==resp.checkResult?showUploadFileAlert("提示:文件["+resp.overSizeFile+"]的体积超过最大限制("+resp.maxUploadFileSize+"),无法开始上传"):"hasExistsNames"==resp.checkResult?(repeList=resp.pereFileNameList,repeIndex=0,selectFileUpLoadModelStart()):"permitUpload"==resp.checkResult?doupload(1):showUploadFileAlert("提示:出现意外错误,无法开始上传")}},error:function(){showUploadFileAlert("提示:出现意外错误,无法开始上传")}})}else showUploadFileAlert("提示:您未选择任何文件,无法开始上传");else showUploadFileAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function selectFileUpLoadModelStart(){var a=originFolderView.authList;checkAuth(a,"D")?$("#uploadcoverbtn").show():$("#uploadcoverbtn").hide(),$("#selectFileUpLoadModelAlert").show(),$("#repeFileName").text(repeList[repeIndex])}function selectFileUpLoadModelEnd(a){if(null==repeModelList&&(repeModelList={}),repeModelList[$("#repeFileName").text()]=a,$("#selectFileUpLoadModelAlert").hide(),$("#selectFileUpLoadModelAsAll").prop("checked")){for(var b=repeIndex;b1&&$("#filecount").text("("+a+"/"+b+")"),$("#uploadstatus").prepend("

    "+html2Escape(d)+"[正在上传...]

    "),xhr=new XMLHttpRequest,e=new FormData,e.append("file",c),e.append("fname",d),e.append("folderId",locationpath),null!=repeModelList&&null!=repeModelList[d]){if("skip"==repeModelList[d])return $("#uls_"+a).text("[已完成]"),b>a?(doupload(a+1),void 0):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath),void 0);e.append("repeType",repeModelList[d])}xhr.open("POST","homeController/douploadFile.ajax",!0),xhr.upload.addEventListener("progress",uploadProgress,!1),xhr.send(e),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){if(null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status){var c=xhr.responseText;"uploadsuccess"==c?($("#uls_"+a).text("[已完成]"),b>a?doupload(a+1):(isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadfile").val(""),$("#filepath").val(""),$("#pros").width("0%"),$("#pros").attr("aria-valuenow","0"),$("#umbutton").attr("disabled",!1),$("#filecount").text(""),$("#uploadstatus").text(""),$("#selectcount").text(""),$("#uploadFileModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showUploadFileAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+d+"]上传失败。您可以尝试将其上传至其他文件夹内。"),$("#uls_"+a).text("[失败]")):(showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]"))}else showUploadFileAlert("提示:出现意外错误,文件:["+d+"]上传失败,上传被中断。"),$("#uls_"+a).text("[失败]")}}else showUploadFileAlert("提示:要上传的文件不存在。"),$("#uploadstatus").prepend("

    未找到要上传的文件[失败]

    ")}function uploadProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#pros").width(b+"%"),$("#pros").attr("aria-valuenow",""+b)}}function showUploadFileAlert(a){isUpLoading=!1,$("#filepath").removeAttr("disabled"),$("#uploadFileAlert").show(),$("#uploadFileAlert").text(a),$("#umbutton").attr("disabled",!1)}function abortUpload(){isUpLoading&&(isUpLoading=!1,null!=xhr&&xhr.abort()),$("#uploadFileModal").modal("hide"),showFolderView(locationpath)}function showDownloadModel(a,b){$("#downloadFileName").text("提示:您确认要下载文件:["+b+"]么?"),$("#downloadHrefBox").html("正在生成..."),getDownloadFileId=a,getDownloadFileName=b,$("#downloadFileBox").html(""),$("#dlmbutton").attr("disabled",!1),$("#downloadModal").modal("show")}function dodownload(a){$("#dlmbutton").attr("disabled",!0),$("#downloadFileName").text("提示:准备开始下载,请稍候..."),setTimeout("$('#downloadModal').modal('hide');",800),window.location.href="homeController/downloadFile.do?fileId="+a}function showDeleteFileModel(a,b){$("#deleteFileBox").html(""),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1),$("#deleteFileMessage").text("提示:确定要彻底删除文件:["+b+"]么?该操作不可恢复"),$("#deleteFileModal").modal("toggle")}function deleteFile(a){$("#dfmbutton").attr("disabled",!0),$("#cancelDeleteFileBox").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{fileId:a},url:"homeController/deleteFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)}})}function showRenameFileModel(a,b){$("#newFileNamealert").removeClass("alert"),$("#newFileNamealert").removeClass("alert-danger"),$("#filerenamebox").removeClass("has-error"),$("#newFileNamealert").text(""),$("#renameFileBox").html(""),$("#newfilename").val(b),$("#renameFileModal").modal("toggle")}function renameFile(a){var b=new RegExp('[/|\\\\*\\<\\>\\?\\:\\&\\$"]+',"g"),c=$("#newfilename").val();c.length>0?c.length<128?b.test(c)||0==c.indexOf(".")?showRFileAlert("提示:文件名中不应含有:引号 / \\ * | < > & $ : ? 且不能以“.”开头。"):$.ajax({type:"POST",dataType:"text",data:{fileId:a,newFileName:c},url:"homeController/renameFile.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"cannotRenameFile"==a?showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。"):"renameFileSuccess"==a?($("#renameFileModal").modal("hide"),showFolderView(locationpath)):"errorParameter"==a?showRFileAlert("提示:参数错误,重命名失败,请刷新后重试。"):"nameOccupied"==a?showRFileAlert("提示:该名称已被占用,请选取其他名称。"):"noAuthorized"==a?showRFileAlert("提示:您的操作未被授权,重命名失败,请刷新后重试。"):showRFileAlert("提示:出现意外错误,可能未能重命名文件,请刷新后重试。")},error:function(){showRFileAlert("提示:出现意外错误,可能未能重命名文件。")}}):showRFileAlert("提示:文件名称太长。"):showRFileAlert("提示:文件名不能为空。")}function showRFileAlert(a){$("#newFileNamealert").addClass("alert"),$("#newFileNamealert").addClass("alert-danger"),$("#filerenamebox").addClass("has-error"),$("#newFileNamealert").text(a)}function getSuffix(a){var b=a.lastIndexOf("."),c=a.length,d=a.substring(b+1,c);return d.toLowerCase()}function playVideo(a){window.open("quickview/video.html?fileId="+a)}function pdfView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getResource/"+a)}function docxView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getWordView/"+a)}function txtView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getTxtView/"+a)}function pptView(a){window.open("/pdfview/web/viewer.html?file=/resourceController/getPPTView/"+a)}function showPicture(fileId){$.ajax({url:"homeController/getPrePicture.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){if("ERROR"!=result)if(pvl=eval("("+result+")"),pvl.pictureViewList.length<=viewerPageSize)createViewList();else{viewerPageIndex=Math.ceil((pvl.index+1)/viewerPageSize),viewerTotal=Math.ceil(pvl.pictureViewList.length/viewerPageSize),createViewListByPage();var innerIndex=pvl.index-(viewerPageIndex-1)*viewerPageSize;viewerPageIndex>1&&innerIndex++,viewer.viewer("view",innerIndex),viewer.viewer("show",!0)}else alert("错误:无法定位要预览的文件或该操作未被授权。")},error:function(){alert("错误:请求失败,请刷新重试。") +}})}function createViewList(){var a,b;if(null==viewer){for(a=document.createElement("ul"),b=0;b"+html2Escape(pvl.pictureViewList[b].fileName)+"");viewer=$(a),viewer.viewer({loop:!1,hidden:function(){viewer.data("viewer").destroy(),viewer=null}})}viewer.viewer("view",pvl.index),viewer.viewer("show",!0)}function createViewListByPage(){var a,b,c;if(null==viewer){for(a=document.createElement("ul"),b=(viewerPageIndex-1)*viewerPageSize,viewerPageIndex>1&&$(a).append("
  • 上一页
  • "),c=0;viewerPageSize>c&&c"+html2Escape(pvl.pictureViewList[b+c].fileName)+"");viewerTotal>viewerPageIndex&&$(a).append("
  • 下一页
  • "),viewer=$(a),viewer.viewer({loop:!1,view:function(a){0==a.detail.index&&1!=viewerPageIndex?(viewerPageIndex--,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewerPageIndex>1?viewer.viewer("view",viewerPageSize):viewer.viewer("view",viewerPageSize-1)):(a.detail.index==viewerPageSize+1||a.detail.index==viewerPageSize&&1==viewerPageIndex)&&(viewerPageIndex++,viewer.data("viewer").destroy(),viewer.empty(),viewer=null,createViewListByPage(),viewer.viewer("view",1))},hidden:function(){viewer.data("viewer").destroy(),viewer.empty(),viewer=null}})}}function isShift(a){var b=window.event||a;return b.shiftKey?!0:!1}function checkfile(a,b){isShift(a)?$("#"+b).hasClass("info")?$("#"+b).removeClass("info"):$("#"+b).addClass("info"):($(".filerow").removeClass("info"),$("#"+b).addClass("info"))}function checkConsFile(a,b){var c,d,e;if(isShift(a)&&(c=$("#"+b),d=c.index(),e=$(".filerow.info:last").index(),-1!=e))if(d>e)for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.prev();else for(;c[0]&&!c.hasClass("info");)c.addClass("info"),c=c.next()}function getCheckedFilesAndFolders(){var b,c,d,e,a=new Object;for(a.size=0,b=new Array,c=new Array,d=$(".info").get(),e=0;e开始下载"),$("#dclmbutton").attr("disabled",!1)),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1),$("#downloadAllCheckedModal").modal("toggle")}}function downloadAllChecked(){$("#dclmbutton").attr("disabled",!0),$("#cancelDownloadAllCheckedBtn").attr("disabled",!0);var a=getCheckedFilesAndFolders();$("#downloadAllCheckedName").text("提示:服务器正在对选中资源进行压缩(共"+a.size+"项),这可能需要一些时间(文件越大耗时越长),压缩完成将自动开始下载。"),$.ajax({url:"homeController/getPackTime.ajax",type:"POST",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var b;"0"!=a?(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒(预计耗时:"+a+")")},1e3)):(b=0,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒"),zipTimer=setInterval(function(){b++,$("#downloadAllCheckedLoad").text("已耗时:"+b+"秒")},1e3))},error:function(){$("#downloadAllCheckedLoad").text("(无法获取预计耗时)")}}),$.ajax({type:"POST",url:"homeController/downloadCheckedFiles.ajax",data:{strIdList:a.filesId,strFidList:a.foldersId},dataType:"text",success:function(a){var c,d;null!=zipTimer&&window.clearInterval(zipTimer),"ERROR"==a?($("#downloadAllCheckedName").text("提示:压缩过程出错。无法完成压缩,请重试或告知管理员。"),$("#dclmbutton").attr("disabled",!1),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1)):($("#downloadAllCheckedLoad").text(""),$("#downloadAllCheckedName").text("提示:压缩完成!准备开始下载..."),setTimeout("$('#downloadAllCheckedModal').modal('hide');",800),c=document.createElement("form"),c.action="homeController/downloadCheckedFilesZip.do",c.method="post",c.style.display="none",d=document.createElement("input"),d.name="zipId",d.value=a,c.appendChild(d),document.body.appendChild(c),c.submit())},error:function(){$("#downloadAllCheckedName").text("提示:请求失败。无法完成压缩,请重试或告知管理员。"),$("#dclmbutton").attr("disabled",!1),$("#cancelDownloadAllCheckedBtn").attr("disabled",!1)}})}function showDeleteAllCheckedModel(){$("#deleteFileBox").html("");var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1),0==a.size?$("#deleteFileMessage").html(checkFilesTip):($("#deleteFileBox").html(""),$("#deleteFileMessage").text("提示:确定要彻底删除这"+a.size+"项么?该操作不可恢复!")),$("#deleteFileModal").modal("toggle")}function deleteAllChecked(){var a=getCheckedFilesAndFolders();$("#dfmbutton").attr("disabled",!0),$("#cancelDeleteFileBox").attr("disabled",!0),$("#deleteFileMessage").text("提示:正在删除,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:a.filesId,strFidList:a.foldersId},url:"homeController/deleteCheckedFiles.ajax",success:function(a){"mustLogin"==a?window.location.href="prv/login.html":"noAuthorized"==a?($("#deleteFileMessage").text("提示:您的操作未被授权,删除失败"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"errorParameter"==a?($("#deleteFileMessage").text("提示:参数不正确,未能全部删除文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"cannotDeleteFile"==a?($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)):"deleteFileSuccess"==a?($("#deleteFileModal").modal("hide"),showFolderView(locationpath)):($("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1))},error:function(){$("#deleteFileMessage").text("提示:出现意外错误,可能未能删除全部文件"),$("#dfmbutton").attr("disabled",!1),$("#cancelDeleteFileBox").attr("disabled",!1)}})}function playAudio(fileId){$("#audioPlayerModal").modal("show"),null==pingInt&&(pingInt=setInterval("ping()",6e4)),null==ap&&(ap=new APlayer({container:document.getElementById("aplayer"),lrcType:3,mutex:!0,volume:.7,theme:"#EDEDED",audio:[]}),ap.on("pause",function(){$("#playOrPause").html("")}),ap.on("play",function(){$("#playOrPause").html("")})),ap.list.clear(),$.ajax({url:"homeController/playAudios.ajax",data:{fileId:fileId},type:"POST",dataType:"text",success:function(result){var i,ail=eval("("+result+")");for(i=ail.index;i",">"),ap.list.add(ail.as[i]);for(i=0;i",">"),ap.list.add(ail.as[i]);audio_play()},error:function(){alert("错误:无法获取音乐列表,请稍后再试"),closeAudioPlayer()}})}function closeAudioPlayer(){$("#audioPlayerModal").modal("hide")}function audio_playOrPause(){ap.toggle()}function audio_play(){ap.play()}function audio_pasue(){ap.pause()}function audio_fw(){ap.skipForward()}function audio_bw(){ap.skipBack()}function audio_vulome_up(){ap.volume(ap.audio.volume+.1,!0)}function audio_vulome_down(){ap.volume(ap.audio.volume-.1,!0)}function sortbyfn(){if(loadingComplete&&!$("#sortByCD,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFN").removeClass(),$("#sortByFN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileName.localeCompare(b.fileName,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderName.localeCompare(b.folderName,"zh")}),showFolderTable(folderView),$("#sortByFN").removeClass(),-1==a?$("#sortByFN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycd(){if(loadingComplete&&!$("#sortByFN,#sortByFS,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCD").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCD").removeClass(),$("#sortByCD").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){var d=b.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.fileCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),folderView.folderList.sort(function(b,c){var d=b.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),e=c.folderCreationDate.replace("年","-").replace("月","-").replace("日",""),f=new Date(Date.parse(d)).getTime()-new Date(Date.parse(e)).getTime();return a*f}),showFolderTable(folderView),$("#sortByCD").removeClass(),-1==a?$("#sortByCD").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCD").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbyfs(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByCN,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByFS").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByFS").removeClass(),$("#sortByFS").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*(b.fileSize-c.fileSize)}),showFolderTable(folderView),$("#sortByFS").removeClass(),-1==a?$("#sortByFS").addClass("glyphicon glyphicon-triangle-top"):$("#sortByFS").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function sortbycn(){if(loadingComplete&&!$("#sortByFN,#sortByCD,#sortByFS,#sortByOR").hasClass("glyphicon glyphicon-hourglass")){$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByOR").removeClass();var a=1;$("#sortByCN").hasClass("glyphicon-triangle-bottom")&&(a=-1),$("#sortByCN").removeClass(),$("#sortByCN").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView.fileList.sort(function(b,c){return a*c.fileCreator.localeCompare(b.fileCreator,"zh")}),folderView.folderList.sort(function(b,c){return a*c.folderCreator.localeCompare(b.folderCreator,"zh")}),showFolderTable(folderView),$("#sortByCN").removeClass(),-1==a?$("#sortByCN").addClass("glyphicon glyphicon-triangle-top"):$("#sortByCN").addClass("glyphicon glyphicon-triangle-bottom")},0)}}function showOriginFolderView(){loadingComplete&&($("#sortByFN,#sortByCD,#sortByFS,#sortByCN").hasClass("glyphicon glyphicon-hourglass")||($("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").addClass("glyphicon glyphicon-hourglass"),setTimeout(function(){folderView=null!=screenedFoldrView?$.extend(!0,{},screenedFoldrView):$.extend(!0,{},originFolderView),showFolderTable(folderView),$("#sortByOR").removeClass()},0)))}function cutFile(){checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show"),isCopy=!1)}function copyFile(){checkedMovefiles=getCheckedFilesAndFolders(),void 0==checkedMovefiles||0==checkedMovefiles.size?($("#moveFilesMessage").html(checkFilesTip),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show")):(checkedMovefiles.size<100?$("#stickFilesCount").text("("+checkedMovefiles.size+")"):$("#stickFilesCount").text("(99+)"),$("#copyFileButtonLi").removeClass("show"),$("#copyFileButtonLi").addClass("hidden"),$("#cutFileButtonLi").removeClass("show"),$("#cutFileButtonLi").addClass("hidden"),$("#stickFileButtonLi").removeClass("hidden"),$("#stickFileButtonLi").addClass("show"),isCopy=!0)}function stickFile(){void 0!==checkedMovefiles&&checkedMovefiles.size>0&&(isCopy?($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项复制到当前位置么?"),$("#moveFilesBox").html("")):($("#moveFilesMessage").text("提示:确定将这"+checkedMovefiles.size+"项移动到当前位置么?"),$("#moveFilesBox").html("")),$("#selectFileMoveModelAsAll").removeAttr("checked"),$("#cancelMoveFilesBtn").attr("disabled",!1),$("#selectFileMoveModelAlert").hide(),$("#moveFilesModal").modal("show"))}function doMoveFiles(){$("#dmvfbutton").attr("disabled",!0),$("#cancelMoveFilesBtn").attr("disabled",!0);var method="MOVE";isCopy?($("#moveFilesMessage").text("提示:正在复制,请稍候..."),method="COPY"):$("#moveFilesMessage").text("提示:正在移动,请稍候..."),$.ajax({type:"POST",dataType:"text",data:{strIdList:checkedMovefiles.filesId,strFidList:checkedMovefiles.foldersId,locationpath:locationpath,method:method},url:"homeController/confirmMoveFiles.ajax",success:function(result){if("mustLogin"==result)window.location.href="prv/login.html";else switch(result){case"noAuthorized":$("#moveFilesMessage").text("提示:您的操作未被授权,操作失败"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"errorParameter":$("#moveFilesMessage").text("提示:参数不正确,无法完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"cannotMoveFiles":$("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"filesTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件数量已达上限,无法添加更多文件"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"foldersTotalOutOfLimit":$("#moveFilesMessage").text("提示:该文件夹内存储的文件夹数量已达上限,无法添加更多文件夹"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1);break;case"confirmMoveFiles":strMoveOptMap={},sendMoveFilesReq();break;default:if(result.startsWith("duplicationFileName:")){repeMap=eval("("+result.substring(20)+")"),repeIndex=0,strMoveOptMap={},mRepeSize=repeMap.repeFolders.length+repeMap.repeNodes.length,repeMap.repeFolders.length>0?$("#mrepeFileName").text(repeMap.repeFolders[repeIndex].folderName):$("#mrepeFileName").text(repeMap.repeNodes[repeIndex].fileName);var authList=originFolderView.authList;checkAuth(authList,"D")?$("#movecoverbtn").show():$("#movecoverbtn").hide(),$("#selectFileMoveModelAlert").show()}else result.startsWith("CANT_MOVE_TO_INSIDE:")?$("#moveFilesMessage").text("错误:不能将一个文件夹移动到其自身内部:"+result.substring(20)):($("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1))}},error:function(){$("#moveFilesMessage").text("提示:出现意外错误,可能未能完成此操作,请刷新后重试"),$("#dmvfbutton").attr("disabled",!1),$("#cancelMoveFilesBtn").attr("disabled",!1)}})}function selectFileMoveModel(a){if($("#selectFileMoveModelAsAll").prop("checked")){for(;mRepeSize>repeIndex;)repeIndexrepeIndex?repeIndexc;c++)b.test(originFolderView.folderList[c].folderName)&&screenedFoldrView.folderList.push(originFolderView.folderList[c]);for(c=0,d=originFolderView.fileList.length;d>c;c++)b.test(originFolderView.fileList[c].fileName)&&screenedFoldrView.fileList.push(originFolderView.fileList[c]);$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),folderView=$.extend(!0,{},screenedFoldrView),showFolderTable(folderView)}catch(e){alert("错误:搜索关键字有误。请在特殊符号(例如“*”)前加上“\\”进行转义。")}}function selectInCompletePath(keyworld){return 0==keyworld.length?(showFolderView(locationpath),void 0):(startLoading(),$.ajax({type:"POST",dataType:"text",data:{fid:locationpath,keyworld:keyworld},url:"homeController/sreachInCompletePath.ajax",success:function(result){endLoading(),"ERROR"==result?(doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")):"mustLogin"==result?window.location.href="prv/login.html":"notAccess"==result?(document.cookie="folder_id="+escape("root"),window.location.href="/"):(folderView=eval("("+result+")"),locationpath=folderView.folder.folderId,parentpath=folderView.folder.folderParent,constraintLevel=folderView.folder.folderConstraint,screenedFoldrView=null,$("#sreachKeyWordIn").val("all:"+folderView.keyWorld),showParentList(folderView),showAccountView(folderView),showPublishTime(folderView),originFolderView=$.extend(!0,{},folderView),$("#sortByFN").removeClass(),$("#sortByCD").removeClass(),$("#sortByFS").removeClass(),$("#sortByCN").removeClass(),$("#sortByOR").removeClass(),showFolderTable(folderView),$("#fim_name").text(folderView.folder.folderName),$("#fim_creator").text("--"),$("#fim_folderCreationDate").text("--"),$("#fim_folderId").text("--"),updateTheFolderInfo())},error:function(){endLoading(),doAlert(),$("#tb").html("获取失败,请尝试刷新"),$("#publishTime").html("获取失败,请尝试刷新"),$("#parentlistbox").html("获取失败,请尝试刷新")}}),void 0)}function goBackToTop(){$("html,body").animate({scrollTop:0},"slow")}function getDownloadURL(){$.ajax({url:"externalLinksController/getDownloadKey.ajax",type:"POST",dataType:"text",data:{fId:getDownloadFileId},success:function(a){var b=window.location.protocol+"//"+window.location.host+"/externalLinksController/downloadFileByKey/"+encodeURIComponent(getDownloadFileName.replace(/\'/g,"").replace(/\r/g,"").replace(/\n/g,""))+"?dkey="+a;$("#downloadHrefBox").html(""+b+"")},error:function(){$("#downloadHrefBox").html("获取失败,请检查网络状态或点此重新获取。")}})}function ping(){$.ajax({url:"homeController/ping.ajax",type:"POST",dataType:"text",data:{},success:function(a){"pong"!=a&&null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)},error:function(){null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}})}function isSupportWebkitdirectory(){var a=document.createElement("input");return"webkitdirectory"in a&&!/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?!0:!1}function showUploadFolderModel(){if($("#importFolderAlert").hide(),$("#importFolderAlert").text(""),0==isImporting)if($("#folderpath").val(""),$("#importfolder").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importstatus").html(""),$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importcount").text(""),$("#importbutton").attr("disabled",!1),$("#importfoldertypelist").html(""),$("#selectFolderImportModelAlert").hide(),null!=account){$("#folderpath").attr("folderConstraintLevel",constraintLevel+""),$("#importfoldertype").text(folderTypes[constraintLevel]);for(var a=constraintLevel;a"+folderTypes[a]+"")}else $("#importfoldertypelist").append("
  • "+folderTypes[0]+"
  • ");$("#importFolderModal").modal("show")}function checkimportpath(){$("#importfolder").click()}function getInputImport(){ifs=$("#importfolder")[0].files,ifs.length>0&&(importFolderName=ifs[0].webkitRelativePath.substring(0,ifs[0].webkitRelativePath.indexOf("/")),$("#folderpath").val(importFolderName))}function checkImportFolder(){var maxSize,maxFileIndex,i;if(0==isUpLoading&&0==isImporting)if(null!=ifs&&ifs.length>0){for($("#folderpath").attr("disabled",!0),$("#importFolderLevelBtn").attr("disabled",!0),$("#importbutton").attr("disabled",!0),$("#importFolderAlert").hide(),$("#importFolderAlert").text(""),isImporting=!0,maxSize=0,maxFileIndex=0,i=0;imaxSize&&(maxSize=ifs[i].size,maxFileIndex=i);$.ajax({url:"homeController/checkImportFolder.ajax",type:"POST",dataType:"text",data:{folderName:importFolderName,maxSize:maxSize,folderId:locationpath},success:function(result){var resJson=eval("("+result+")");switch(resJson.result){case"noAuthorized":showImportFolderAlert("提示:您的操作未被授权,无法开始上传");break;case"errorParameter":showImportFolderAlert("提示:参数不正确,无法开始上传。必须选择一个文件夹");break;case"mustLogin":window.location.href="prv/login.html";break;case"fileOverSize":showImportFolderAlert("提示:文件["+ifs[maxFileIndex].webkitRelativePath+"]的体积超过最大限制("+resJson.maxSize+"),无法开始上传");break;case"foldersTotalOutOfLimit":showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法在其中上传更多文件夹。您可以尝试将其上传至其他文件夹内。");break;case"repeatFolder_Both":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").hide(),$("#selectFolderImportModelAlert").show();break;case"repeatFolder_coverOrBoth":$("#repeFolderName").text(importFolderName),$("#importcoverbtn").show(),$("#selectFolderImportModelAlert").show();break;case"permitUpload":iteratorImport(0);break;default:showImportFolderAlert("提示:出现意外错误,无法开始上传")}},error:function(){showImportFolderAlert("提示:出现意外错误,无法开始上传")}})}else showImportFolderAlert("提示:您未选择任何文件夹,无法开始上传");else showImportFolderAlert("提示:另一项上传文件或文件夹的任务尚未完成,无法开始上传")}function showImportFolderAlert(a){isImporting=!1,$("#folderpath").attr("disabled",!1),$("#importFolderLevelBtn").attr("disabled",!1),$("#importFolderAlert").show(),$("#importFolderAlert").text(a),$("#importbutton").attr("disabled",!1)}function importProgress(a){if(a.lengthComputable){var b=Math.round(100*a.loaded/a.total);$("#importpros").width(b+"%"),$("#importpros").attr("aria-valuenow",""+b)}}function importAndCover(){$("#selectFolderImportModelAlert").hide(),$.ajax({url:"homeController/deleteFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName},dataType:"text",success:function(a){"deleteSuccess"==a?iteratorImport(0):showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")},error:function(){showImportFolderAlert("提示:无法覆盖原文件夹,上传失败")}})}function importAndBoth(){$("#selectFolderImportModelAlert").hide();var fc=$("#folderpath").attr("folderConstraintLevel");$.ajax({url:"homeController/createNewFolderByName.ajax",type:"POST",data:{parentId:locationpath,folderName:importFolderName,folderConstraint:fc},dataType:"text",success:function(result){var resJson=eval("("+result+")");"success"==resJson.result?iteratorImport(0,resJson.newName):"foldersTotalOutOfLimit"==resJson.result?showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,无法上传同名文件夹并保留两者。您可以尝试将其上传至其他文件夹内。"):showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")},error:function(){showImportFolderAlert("提示:生成新文件夹名称失败,无法开始上传")}})}function iteratorImport(a,b){var c,d,e,f,g;$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),c=ifs[a],d=ifs.length,e=$("#folderpath").attr("folderConstraintLevel"),null!=c?(f=c.webkitRelativePath,d>1&&$("#importcount").text("("+(a+1)+"/"+d+")"),$("#importstatus").prepend("

    "+html2Escape(f)+"[正在上传...]

    "),xhr=new XMLHttpRequest,g=new FormData,g.append("file",c),g.append("folderId",locationpath),g.append("folderConstraint",e),g.append("originalFileName",f),b&&g.append("newFolderName",b),xhr.open("POST","homeController/doImportFolder.ajax",!0),xhr.upload.addEventListener("progress",importProgress,!1),xhr.send(g),null==pingInt&&(pingInt=setInterval("ping()",6e4)),xhr.onloadend=function(){var c,e;null!=pingInt&&(window.clearInterval(pingInt),pingInt=null),200===xhr.status?(c=xhr.responseText,"uploadsuccess"==c?($("#ils_"+a).text("[已完成]"),e=a+1,d>e?iteratorImport(e,b):(isImporting=!1,$("#folderpath").removeAttr("disabled"),$("#importFolderLevelBtn").removeAttr("disabled"),$("#importfolder").val(""),$("#folderpath").val(""),$("#importpros").width("0%"),$("#importpros").attr("aria-valuenow","0"),$("#importbutton").attr("disabled",!1),$("#importcount").text(""),$("#importstatus").text(""),$("#importFolderModal").modal("hide"),showFolderView(locationpath))):"uploaderror"==c?(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"foldersTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件夹数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):"filesTotalOutOfLimit"==c?(showImportFolderAlert("提示:该文件夹内存储的文件数量已达上限,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]")):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))):(showImportFolderAlert("提示:出现意外错误,文件:["+f+"]上传失败,上传被中断。"),$("#ils_"+a).text("[失败]"))}):(showImportFolderAlert("提示:要上传的文件不存在。"),$("#importstatus").prepend("

    未找到要上传的文件[失败]

    "))}function abortImport(){isImporting&&(isImporting=!1,null!=xhr&&xhr.abort()),$("#importFolderModal").modal("hide"),showFolderView(locationpath)}function changeImportFolderType(a){$("#importfoldertype").text(folderTypes[a]),$("#folderpath").attr("folderConstraintLevel",a+"")}function doChangePassword(){var change_oldPassword,change_newPassword,change_reqNewPassword;return $("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepasswordalertbox").hide(),change_oldPassword=$("#changepassword_oldpwd").val(),change_newPassword=$("#changepassword_newpwd").val(),change_reqNewPassword=$("#changepassword_reqnewpwd").val(),0==change_oldPassword.length?($("#changepassword_oldepwdbox").addClass("has-error"),$("#changepassword_oldpwd").focus(),void 0):0==change_newPassword.length?($("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_newpwd").focus(),void 0):0==change_reqNewPassword.length?($("#changepassword_reqnewpwdbox").addClass("has-error"),$("#changepassword_reqnewpwd").focus(),void 0):(isChangingPassword=!0,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!0),change_newPassword+""!=change_reqNewPassword+""?(showChangePasswordAlert("提示:两次输入的新密码不一致,请检查确认"),$("#changepassword_newpwdbox").addClass("has-error"),$("#changepassword_reqnewpwdbox").addClass("has-error"),void 0):($.ajax({url:"homeController/getPublicKey.ajax",type:"POST",data:{},dataType:"text",success:function(result){var encrypted,changepwd_publicKeyInfo=eval("("+result+")"),changePasswordInfo='{oldPwd:"'+change_oldPassword+'",newPwd:"'+change_newPassword+'",time:"'+changepwd_publicKeyInfo.time+'"}',encrypt=new JSEncrypt;encrypt.setPublicKey(changepwd_publicKeyInfo.publicKey),encrypted=encrypt.encrypt(changePasswordInfo),sendChangePasswordInfo(encrypted)},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}}),void 0))}function sendChangePasswordInfo(a){$.ajax({type:"POST",dataType:"text",url:"homeController/doChangePassword.ajax",data:{encrypted:a,vercode:$("#changepassword_vercode").val()},success:function(a){switch($("#changepassword_vccodebox").hide(),isChangingPassword=!1,a){case"success":$("#changePasswordModal").modal("hide");break;case"mustlogin":showChangePasswordAlert("提示:登录已失效或尚未登录账户,请刷新并登陆账户");break;case"illegal":showChangePasswordAlert("提示:用户修改密码功能已被禁用,请求被拒绝");break;case"oldpwderror":showChangePasswordAlert("提示:旧密码输入错误,请求被拒绝"),$("#changepassword_oldepwdbox").addClass("has-error");break;case"needsubmitvercode":$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton").attr("disabled",!1),$("#changepassword_vccodebox").html("
    "),$("#changepassword_vccodebox").show(),isChangingPassword=!1;break;case"invalidnewpwd":showChangePasswordAlert("提示:密码修改失败,新密码不合法。新密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。");break;case"error":showChangePasswordAlert("提示:密码修改失败,修改请求无法通过加密效验(可能是请求耗时过长导致的)"); +break;case"cannotchangepwd":showChangePasswordAlert("提示:密码修改失败,发生意外错误,请稍后重试或联系管理员");break;default:showChangePasswordAlert("提示:密码修改失败,发生未知错误")}},error:function(){showChangePasswordAlert("提示:密码修改失败,请检查网络链接或服务器运行状态")}})}function showChangePasswordAlert(a){isChangingPassword=!1,$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepasswordalertbox").show(),$("#changepasswordalertbox").text(a)}function changePasswordGetNewVerCode(){$("#changepassword_showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date).getTime())}function getFileChain(a,b){$("#fileChainTextarea").text("正在获取……"),$("#copyChainBtn").attr("disabled",!0),$("#fileChainModal").modal("show"),$.ajax({type:"POST",dataType:"text",url:"homeController/getFileChainKey.ajax",data:{fid:a},success:function(a){switch(a){case"ERROR":$("#fileChainTextarea").text("提示:获取失败,请刷新页面或稍后再试。");break;case"mustlogin":window.location.href="prv/login.html";break;default:$("#fileChainTextarea").text(window.location.protocol+"//"+window.location.host+"/externalLinksController/chain/"+encodeURIComponent(b.replace(/\'/g,"").replace(/\r/g,"").replace(/\n/g,""))+"?ckey="+encodeURIComponent(a)),$("#copyChainBtn").attr("disabled",!1)}},error:function(){$("#fileChainTextarea").text("提示:获取失败,无法连接服务器。")}})}function copyFileChain(){node=document.getElementById("fileChainTextarea"),node.select(),document.execCommand("copy")}function showNoticeModal(){$("#noticeModal").modal("show")}function initNoticeModal(){$("#noticeModalBody").load("resourceController/getNoticeContext.do",function(){$("#noticeModalBody img").css("max-width","100%"),winHeight>=300?$("#noticeModalBody").css("max-height",winHeight-180+"px"):$("#noticeModalBody").css("max-height","300px"),noticeInited=!0,showNoticeModal(),showNoticeBtn()})}function subscribeNotice(){$.ajax({url:"resourceController/getNoticeMD5.ajax",data:{},type:"POST",dataType:"text",success:function(a){if(""!=a){var b=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)"));if(b){if(a==unescape(b[2]))return showNoticeBtn(),void 0}else if(b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),b&&a==unescape(b[2]))return showNoticeBtn(),void 0;initNoticeModal(),document.cookie="notice_md5="+escape(a)}},error:function(){alert("错误:无法从服务器获取公告信息,请尝试刷新页面。")}})}function showNoticeBtn(){$("#shownoticebox").removeClass("hidden"),$("#shownoticebox").addClass("show")}function showNotice(){noticeInited?showNoticeModal():initNoticeModal()}function loadingRemainingFolderView(targetId){var newfoldersOffset,newfilesOffset,loadingRemainingRate_folders,loadingRemainingRate_files,loadingRemainingRate;if(!remainingLoadingRequest){if(newfoldersOffset=0,newfilesOffset=0,folderView.foldersOffset-folderView.selectStep>0&&(newfoldersOffset=folderView.foldersOffset-folderView.selectStep),folderView.filesOffset-folderView.selectStep>0&&(newfilesOffset=folderView.filesOffset-folderView.selectStep),0>=newfoldersOffset&&0>=newfilesOffset)return originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId),void 0;loadingRemainingRate_folders=1,loadingRemainingRate_files=1,totalFoldersOffset>0&&(loadingRemainingRate_folders=(totalFoldersOffset-newfoldersOffset)/totalFoldersOffset),totalFilesOffset>0&&(loadingRemainingRate_files=(totalFilesOffset-newfilesOffset)/totalFilesOffset),loadingRemainingRate=(loadingRemainingRate_folders+loadingRemainingRate_files)/2,$("#loadingrate").text(parseInt(100*loadingRemainingRate)+"%"),remainingLoadingRequest=$.ajax({url:"homeController/getRemainingFolderView.ajax",data:{fid:locationpath,foldersOffset:newfoldersOffset,filesOffset:newfilesOffset},type:"POST",dataType:"text",success:function(result){switch(remainingLoadingRequest=null,result){case"ERROR":alert("错误:无法加载剩余文件列表,文件数据可能未显示完全,请刷新重试!"),hiddenLoadingRemaininngBox(),doFixedRow();break;case"NOT_FOUND":case"notAccess":document.cookie="folder_id="+escape("root");case"mustLogin":window.location.href="/";break;default:folderView.foldersOffset=newfoldersOffset,folderView.filesOffset=newfilesOffset;var remainingFV=eval("("+result+")");updateFolderTable(remainingFV),updateTheFolderInfo(),folderView.foldersOffset>0||folderView.filesOffset>0?loadingRemainingFolderView(targetId):(originFolderView=$.extend(!0,{},folderView),hiddenLoadingRemaininngBox(),doFixedRow(targetId))}},error:function(a,b){remainingLoadingRequest=null,hiddenLoadingRemaininngBox(),"abort"!=b&&alert("错误:无法连接服务器,文件列表加载被中断。请刷新重试!")}})}}function doFixedRow(a){a&&a.length>0&&($("#"+a).addClass("info"),$("html,body").animate({scrollTop:$("#"+a).offset().top-$(window).height()/2},"slow"))}function showLoadingRemaininngBox(){loadingComplete=!1,$("#loadingremaininngbox").addClass("show"),$("#loadingremaininngbox").removeClass("hidden"),$("#searchbtn").attr("disabled","disabled")}function hiddenLoadingRemaininngBox(){loadingComplete=!0,$("#loadingremaininngbox").removeClass("show"),$("#loadingremaininngbox").addClass("hidden"),$("#searchbtn").removeAttr("disabled")}function updateFolderTable(a){var g,h,i,j,b=folderView.authList,c=!1,d=!1,e=!1,f=!1;if(checkAuth(b,"D")&&(c=!0),checkAuth(b,"R")&&(d=!0),checkAuth(b,"L")&&(e=!0),checkAuth(b,"O")&&(f=!0),a.folderList&&a.folderList.length>0)for(g=a.folderList.length;g>0;g--)h=a.folderList[g-1],folderContains(folderView.folderList,h.folderId)||(folderView.folderList.unshift(h),$("[iskfolder=true]:last").after(createNewFolderRow(h,c,d,f)));if(a.fileList&&a.fileList.length>0)for(i=a.fileList.length;i>0;i--)j=a.fileList[i-1],fileContains(folderView.fileList,j.fileId)||(folderView.fileList.unshift(j),$("#foldertable").append(createFileRow(j,e,c,d,f)))}function folderContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].folderId==b)return!0;return!1}function fileContains(a,b){for(var c=a.length;c>0;c--)if(a[c-1].fileId==b)return!0;return!1}function updateTheFolderInfo(){$("#fim_statistics").text("共包含 "+folderView.folderList.length+" 个文件夹, "+folderView.fileList.length+" 个文件。")}function replaceAllQuotationMarks(a){return a.replace(/\"/g,'\\"')}function html2Escape(a){return a.replace(/[<>&\']/g,function(a){return{"<":"<",">":">","&":"&","'":"'"}[a]})}var ap,zipTimer,folderView,originFolderView,fs,ifs,checkedMovefiles,isCopy,repeMap,strMoveOptMap,mRepeSize,constraintLevel,account,importFolderName,xhr,viewer,viewerPageIndex,viewerTotal,pvl,winHeight,pingInt,loadingComplete,totalFoldersOffset,totalFilesOffset,remainingLoadingRequest,loadingFolderView,folderTypes,repeList,repeIndex,repeModelList,screenedFoldrView,getDownloadFileId,getDownloadFileName,locationpath="root",parentpath="null",isUpLoading=!1,isImporting=!1,isChangingPassword=!1,viewerPageSize=15,checkFilesTip="提示:您还未选择任何文件,请先选中一些文件后再执行本操作:

    单击:选中某一文件

    Shift+单击:选中多个文件

    Shift+双击:选中连续的文件

    Shitf+A:选中/取消选中所有文件",noticeInited=!1;$(function(){window.onresize=function(){changeFilesTableStyle(),updateWinHeight()},changeFilesTableStyle(),getServerOS(),subscribeNotice();var a=document.cookie.match(new RegExp("(^| )folder_id=([^;]*)(;|$)"));null!=a?showFolderView(unescape(a[2])):showFolderView("root"),$(document).click(function(a){var b=$("#filetable")[0],c=a.srcElement;c||(c=a.target),c===b||$.contains(b,a.target)||$(".filerow").removeClass("info")}),$("#audioPlayerModal").on("hidden.bs.modal",function(){null!=ap&&(ap.seek(0),ap.pause()),null!=pingInt&&(window.clearInterval(pingInt),pingInt=null)}),$("#downloadAllCheckedModal").on("hidden.bs.modal",function(){null!=zipTimer&&window.clearInterval(zipTimer)}),$("#loginModal").on("hidden.bs.modal",function(){"disabled"!==$("#dologinButton").attr("disabled")&&($("#accountid").val(""),$("#accountpwd").val("")),$("#accountidbox").removeClass("has-error"),$("#accountpwdbox").removeClass("has-error"),$("#alertbox").removeClass("alert"),$("#alertbox").removeClass("alert-danger"),$("#alertbox").text(""),$("#vercodebox").html(""),$("#vercodebox").removeClass("show"),$("#vercodebox").addClass("hidden")}),$(".modal").on("shown.bs.modal",function(){$(this).addClass("shown")}),$(".modal").on("hidden.bs.modal",function(){$(this).removeClass("shown")}),$("body").keypress(function(a){var c,b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;return 13==b?("sreachKeyWordIn"===document.activeElement.id?doSearchFile():(c=$(".shown .btn-primary"),null!=c.get(0)&&0==c.prop("disabled")&&c.click()),!1):void 0}),$("#loginModal").on("shown.bs.modal",function(){$("#accountid").focus()}),$("#newFolderModal").on("show.bs.modal",function(){if($("#folderalert").removeClass("alert"),$("#folderalert").removeClass("alert-danger"),$("#foldernamebox").removeClass("has-error"),$("#folderalert").text(""),$("#foldername").val(""),$("#foldertypelist").html(""),null!=account){$("#foldername").attr("folderConstraintLevel",constraintLevel+""),$("#newfoldertype").text(folderTypes[constraintLevel]);for(var b=constraintLevel;b"+folderTypes[b]+"")}else $("#foldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),$("#newFolderModal").on("shown.bs.modal",function(){$("#foldername").focus()}),$("#uploadFileModal,#importFolderModal").on("hidden.bs.modal",function(){(isUpLoading||isImporting)&&($("#operationMenuBox").attr("data-placement","top"),$("#operationMenuBox").attr("data-trigger","focus"),$("#operationMenuBox").attr("data-title","上传中"),$("#operationMenuBox").attr("data-content","您可以重新打开上传窗口查看上传进度。"),$("#operationMenuBox").popover(),$("#operationMenuBox").popover("show"),setTimeout(function(){$("#operationMenuBox").attr("data-title",""),$("#operationMenuBox").attr("data-content",""),$("#operationMenuBox").popover("destroy")},2e3))}),$("#renameFolderModal").on("show.bs.modal",function(){if($("#editfolderalert").removeClass("alert"),$("#editfolderalert").removeClass("alert-danger"),$("#folderrenamebox").removeClass("has-error"),$("#editfolderalert").text(""),$("#editfoldertypelist").html(""),null!=account)for(var b=constraintLevel;b"+folderTypes[b]+"");else $("#editfoldertypelist").append("
  • "+folderTypes[0]+"
  • ")}),document.ondragover=function(a){a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1)},document.ondrop=function(a){var b,c,d,e,f,g;if(a.preventDefault?(a.preventDefault(),a.stopPropagation()):(window.event.cancelBubble=!0,window.event.returnValue=!1),null!=folderView.authList)if(checkAuth(folderView.authList,"U"))if(isUpLoading||isImporting)alert("提示:您正在执行另一项上传任务,请在上传完成后再试。");else if(window.ActiveXObject||"ActiveXObject"in window)alert("提示:IE浏览器不支持拖拽上传。您可以使用现代浏览器或将浏览模式切换为“极速模式”来体验该功能。");else{if(b=null!=a.dataTransfer?a.dataTransfer:window.event.dataTransfer,c=!0,void 0!==b.items)for(d=0;d0&&$("#stickFileButtonLi a").click();break;default:return!0}return!1}}}),$("#moveFilesModal").on("hidden.bs.modal",function(){checkedMovefiles=void 0,$("#copyFileButtonLi").removeClass("hidden"),$("#copyFileButtonLi").addClass("show"),$("#cutFileButtonLi").removeClass("hidden"),$("#cutFileButtonLi").addClass("show"),$("#stickFileButtonLi").removeClass("show"),$("#stickFileButtonLi").addClass("hidden"),$("#stickFilesCount").text(""),$("#moveFilesBox").html("")}),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(a){return this.slice(0,a.length)===a}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(a){return-1!==this.indexOf(a,this.length-a.length)}),$("#downloadModal").on("hidden.bs.modal",function(){$("#downloadURLCollapse").collapse("hide")}),updateWinHeight(),$(window).scroll(function(){$(this).scrollTop()>2*winHeight?$("#gobacktotopbox").removeClass("hidden"):$("#gobacktotopbox").addClass("hidden")}),$("#downloadURLCollapse").on("shown.bs.collapse",function(){getDownloadURL()}),$("#changePasswordModal").on("show.bs.modal",function(){isChangingPassword||($("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd,#changePasswordButton,#changepassword_vercode").attr("disabled",!1),$("#changepassword_oldepwdbox,#changepassword_newpwdbox,#changepassword_reqnewpwdbox").removeClass("has-error"),$("#changepassword_oldpwd,#changepassword_newpwd,#changepassword_reqnewpwd").val(""),$("#changepasswordalertbox,#changepassword_vccodebox").hide())}),$("#changePasswordModal").on("shown.bs.modal",function(){isChangingPassword||$("#changepassword_oldpwd").focus()}),$("#noticeModal").on("show.bs.modal",function(){var b=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)"));b?$("#dontShowSomeNoticeAt30Day").attr("checked","checked"):$("#dontShowSomeNoticeAt30Day").attr("checked",!1)}),$("#noticeModal").on("hidden.bs.modal",function(){var c,d,b=new Date;$("#dontShowSomeNoticeAt30Day").prop("checked")?(b.setTime(b.getTime()+2592e6),c=document.cookie.match(new RegExp("(^| )notice_md5=([^;]*)(;|$)")),c?document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString():(c=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),c&&(document.cookie="notice_md5_30="+escape(unescape(c[2]))+";expires="+b.toUTCString()))):(b.setTime(0),d=document.cookie.match(new RegExp("(^| )notice_md5_30=([^;]*)(;|$)")),d&&(document.cookie="notice_md5_30=0;expires="+b.toUTCString()))})}),folderTypes=["公开的","仅小组","仅创建者"]; \ No newline at end of file diff --git a/webContext/js/viewer.min.js b/webContext/js/viewer.min.js index 9dc5d71..a41218f 100644 --- a/webContext/js/viewer.min.js +++ b/webContext/js/viewer.min.js @@ -1,10 +1,10 @@ /*! - * Viewer.js v1.3.0 + * Viewer.js v1.5.0 * https://fengyuanchen.github.io/viewerjs * * Copyright 2015-present Chen Fengyuan * Released under the MIT license * - * Date: 2018-10-25T12:41:54.899Z + * Date: 2019-11-23T05:10:26.193Z */ -!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):t.Viewer=i()}(this,function(){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(t,i){for(var e=0;e")}),i.innerHTML=h.join(""),this.items=i.getElementsByTagName("li"),st(this.items,function(i){var t=i.firstElementChild;ft(t,"filled",!0),r.loading&&ht(i,g),pt(t,R,function(t){r.loading&<(i,g),a.loadImage(t)},{once:!0})}),r.transition&&pt(t,j,function(){ht(i,I)},{once:!0})},renderList:function(t){var i=t||this.index,e=this.items[i].offsetWidth||30,n=e+1;rt(this.list,ot({width:n*this.length},bt({translateX:(this.viewerData.width-e)/2-n*i})))},resetList:function(){var t=this.list;t.innerHTML="",lt(t,I),rt(t,bt({translateX:0}))},initImage:function(r){var t,h=this,l=this.options,i=this.image,e=this.viewerData,n=this.footer.offsetHeight,c=e.width,d=Math.max(e.height-n,n),u=this.imageData||{};this.imageInitializing={abort:function(){t.onload=null}},t=xt(i,function(t,i){var e=t/i,n=c,s=d;h.imageInitializing=!1,c=this.length||this.viewed&&t===this.index)return this;this.viewing&&this.viewing.abort();var i=this.element,n=this.options,s=this.title,o=this.canvas,a=this.items[t],r=a.querySelector("img"),h=mt(r,"originalUrl"),l=r.getAttribute("alt"),c=document.createElement("img");if(c.src=h,c.alt=l,nt(n.view)&&pt(i,H,n.view,{once:!0}),!1===wt(i,H,{originalImage:this.images[t],index:t,image:c})||!this.isShown||this.hiding||this.played)return this;this.image=c,lt(this.items[this.index],m),ht(a,m),this.viewed=!1,this.index=t,this.imageData={},ht(c,D),n.loading&&ht(o,g),o.innerHTML="",o.appendChild(c),this.renderList(),s.innerHTML="";var d,u=function(){var t=e.imageData,i=Array.isArray(n.title)?n.title[1]:n.title;s.innerHTML=nt(i)?i.call(e,c,t):"".concat(l," (").concat(t.naturalWidth," × ").concat(t.naturalHeight,")")};return pt(i,j,u,{once:!0}),this.viewing={abort:function(){vt(i,j,u),c.complete?this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort():(vt(c,R,d),this.timeout&&clearTimeout(this.timeout))}},c.complete?this.load():(pt(c,R,d=this.load.bind(this),{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){lt(c,D),e.timeout=!1},1e3)),this},prev:function(){var t=0Math.abs(r)&&(this.pointers={},1
    ';var n=e.querySelector(".".concat(p,"-container")),s=n.querySelector(".".concat(p,"-title")),o=n.querySelector(".".concat(p,"-toolbar")),a=n.querySelector(".".concat(p,"-navbar")),r=n.querySelector(".".concat(p,"-button")),l=n.querySelector(".".concat(p,"-canvas"));if(this.parent=i,this.viewer=n,this.title=s,this.toolbar=o,this.navbar=a,this.button=r,this.canvas=l,this.footer=n.querySelector(".".concat(p,"-footer")),this.tooltipBox=n.querySelector(".".concat(p,"-tooltip")),this.player=n.querySelector(".".concat(p,"-player")),this.list=n.querySelector(".".concat(p,"-list")),ht(s,h.title?zt(Array.isArray(h.title)?h.title[0]:h.title):z),ht(a,h.navbar?zt(h.navbar):z),ct(r,z,!h.button),h.backdrop&&(ht(n,"".concat(p,"-backdrop")),h.inline||!0!==h.backdrop||ft(l,U,"hide")),_(h.className)&&h.className&&h.className.split($).forEach(function(t){ht(n,t)}),h.toolbar){var c=document.createElement("ul"),d=et(h.toolbar),u=Z.slice(0,3),m=Z.slice(7,9),f=Z.slice(9);d||ht(o,zt(h.toolbar)),st(d?h.toolbar:Z,function(t,i){var e=d&&et(t),n=d?ut(i):t,s=e&&!Q(t.show)?t.show:t;if(s&&(h.zoomable||-1===u.indexOf(n))&&(h.rotatable||-1===m.indexOf(n))&&(h.scalable||-1===f.indexOf(n))){var o=e&&!Q(t.size)?t.size:t,a=e&&!Q(t.click)?t.click:t,r=document.createElement("li");r.setAttribute("role","button"),ht(r,"".concat(p,"-").concat(n)),nt(a)||ft(r,U,n),J(s)&&ht(r,zt(s)),-1!==["small","large"].indexOf(o)?ht(r,"".concat(p,"-").concat(o)):"play"===n&&ht(r,"".concat(p,"-large")),nt(a)&&pt(r,S,a),c.appendChild(r)}}),o.appendChild(c)}else ht(o,z);if(!h.rotatable){var g=o.querySelectorAll('li[class*="rotate"]');ht(g,D),st(g,function(t){o.appendChild(t)})}if(h.inline)ht(r,x),rt(n,{zIndex:h.zIndexInline}),"static"===window.getComputedStyle(i).position&&rt(i,{position:"relative"}),i.insertBefore(n,t.nextSibling);else{ht(r,w),ht(n,y),ht(n,b),ht(n,z),rt(n,{zIndex:h.zIndex});var v=h.container;_(v)&&(v=t.ownerDocument.querySelector(v)),v||(v=this.body),v.appendChild(n)}h.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,nt(h.ready)&&pt(t,O,h.ready,{once:!0}),!1!==wt(t,O)?this.ready&&h.inline&&this.view(this.index):this.ready=!1}}}])&&s(t.prototype,i),n&&s(t,n),e}();return ot(Lt.prototype,t,kt,Et,It,St),Lt}); \ No newline at end of file +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t=t||self).Viewer=i()}(this,function(){"use strict";function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function n(t,i){for(var e=0;e=this.length||this.viewed&&i===this.index)return this;if(!this.isShown)return this.index=i,this.show();this.viewing&&this.viewing.abort();var n=this.element,s=this.options,o=this.title,a=this.canvas,r=this.items[i],h=r.querySelector("img"),l=mt(h,"originalUrl"),c=h.getAttribute("alt"),u=document.createElement("img");if(u.src=l,u.alt=c,et(s.view)&&pt(n,"view",s.view,{once:!0}),!1===wt(n,"view",{originalImage:this.images[i],index:i,image:u})||!this.isShown||this.hiding||this.played)return this;this.image=u,lt(this.items[this.index],f),ht(r,f),this.viewed=!1,this.index=i,this.imageData={},ht(u,D),s.loading&&ht(a,T),a.innerHTML="",a.appendChild(u),this.renderList(),o.innerHTML="";function d(){var t=e.imageData,i=Array.isArray(s.title)?s.title[1]:s.title;o.innerHTML=function(t){return $(t)?t.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">"):t}(et(i)?i.call(e,u,t):"".concat(c," (").concat(t.naturalWidth," × ").concat(t.naturalHeight,")"))}var m;return pt(n,B,d,{once:!0}),this.viewing={abort:function(){vt(n,B,d),u.complete?this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort():(u.src="",vt(u,q,m),this.timeout&&clearTimeout(this.timeout))}},u.complete?this.load():(pt(u,q,m=this.load.bind(this),{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){lt(u,D),e.timeout=!1},1e3)),this},prev:function(t){var i=0Math.abs(o)&&(this.pointers={},1
    ';var n=e.querySelector(".".concat(p,"-container")),s=n.querySelector(".".concat(p,"-title")),o=n.querySelector(".".concat(p,"-toolbar")),a=n.querySelector(".".concat(p,"-navbar")),r=n.querySelector(".".concat(p,"-button")),l=n.querySelector(".".concat(p,"-canvas"));if(this.parent=i,this.viewer=n,this.title=s,this.toolbar=o,this.navbar=a,this.button=r,this.canvas=l,this.footer=n.querySelector(".".concat(p,"-footer")),this.tooltipBox=n.querySelector(".".concat(p,"-tooltip")),this.player=n.querySelector(".".concat(p,"-player")),this.list=n.querySelector(".".concat(p,"-list")),ht(s,h.title?kt(Array.isArray(h.title)?h.title[0]:h.title):k),ht(a,h.navbar?kt(h.navbar):k),ct(r,k,!h.button),h.backdrop&&(ht(n,"".concat(p,"-backdrop")),h.inline||"static"===h.backdrop||ft(l,K,"hide")),$(h.className)&&h.className&&h.className.split(U).forEach(function(t){ht(n,t)}),h.toolbar){var c=document.createElement("ul"),u=it(h.toolbar),d=Z.slice(0,3),m=Z.slice(7,9),f=Z.slice(9);u||ht(o,kt(h.toolbar)),nt(u?h.toolbar:Z,function(t,i){var e=u&&it(t),n=u?dt(i):t,s=e&&!J(t.show)?t.show:t;if(s&&(h.zoomable||-1===d.indexOf(n))&&(h.rotatable||-1===m.indexOf(n))&&(h.scalable||-1===f.indexOf(n))){var o=e&&!J(t.size)?t.size:t,a=e&&!J(t.click)?t.click:t,r=document.createElement("li");r.setAttribute("role","button"),ht(r,"".concat(p,"-").concat(n)),et(a)||ft(r,K,n),G(s)&&ht(r,kt(s)),-1!==["small","large"].indexOf(o)?ht(r,"".concat(p,"-").concat(o)):"play"===n&&ht(r,"".concat(p,"-large")),et(a)&&pt(r,C,a),c.appendChild(r)}}),o.appendChild(c)}else ht(o,k);if(!h.rotatable){var g=o.querySelectorAll('li[class*="rotate"]');ht(g,D),nt(g,function(t){o.appendChild(t)})}if(h.inline)ht(r,x),at(n,{zIndex:h.zIndexInline}),"static"===window.getComputedStyle(i).position&&at(i,{position:"relative"}),i.insertBefore(n,t.nextSibling);else{ht(r,w),ht(n,y),ht(n,b),ht(n,k),at(n,{zIndex:h.zIndex});var v=h.container;$(v)&&(v=t.ownerDocument.querySelector(v)),(v=v||this.body).appendChild(n)}h.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,et(h.ready)&&pt(t,P,h.ready,{once:!0}),!1!==wt(t,P)?this.ready&&h.inline&&this.view(this.index):this.ready=!1}}}],[{key:"noConflict",value:function(){return window.Viewer=St,e}},{key:"setDefaults",value:function(t){st(s,it(t)&&t)}}]),e}();return st(Ct.prototype,Dt,Tt,Et,It,Ot),Ct}); \ No newline at end of file -- GitLab