diff --git a/lv_src/HTTP Client Plugin/GET.vi b/lv_src/HTTP Client Plugin/GET.vi index 3702366..bf99c96 100644 Binary files a/lv_src/HTTP Client Plugin/GET.vi and b/lv_src/HTTP Client Plugin/GET.vi differ diff --git a/lv_src/HTTP Client Plugin/HTTP Client reqwest Tree.vi b/lv_src/HTTP Client Plugin/HTTP Client reqwest Tree.vi index 3dcc22a..a98eda5 100644 Binary files a/lv_src/HTTP Client Plugin/HTTP Client reqwest Tree.vi and b/lv_src/HTTP Client Plugin/HTTP Client reqwest Tree.vi differ diff --git a/lv_src/HTTP Client Plugin/HTTP Client reqwest.lvclass b/lv_src/HTTP Client Plugin/HTTP Client reqwest.lvclass index 29ed891..87968ff 100644 --- a/lv_src/HTTP Client Plugin/HTTP Client reqwest.lvclass +++ b/lv_src/HTTP Client Plugin/HTTP Client reqwest.lvclass @@ -1,20 +1,15 @@  )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!)A!!!*Q(C=\>4.<3*"%-8RN[M^\*5-6K4Q5C!&5KA5O0J)#C5S)!63K"2)A24QPXNK<%\G9EP7SN0U!+_`@P1-)]XDL`2(^W@([=/$^K80/-XXZ@O^']:LBMNJ+5P0?6\(0\;PU[XNJY>B^X6M@VL<4Q`LP*N[HA`^4Q\^($`(`XW]00U4@0H`Y*@'AYB;V+1'V2L,XIO]S)O]S)O]S*-]S:-]S:-]S9-]S)-]S)-]S%VO=J/<X/1GHY6=Z#)8/;2C]7+B9N*CAK)T&"7HQF.Y#E`BY;M+4_%J0)7H]."&B;@Q&*\#5XA9JM*4?!J0Y3E]4$5F.1MZHM,$^%I]C3@R**\%QZ*+0!EA73S:/*E%BJ,'Z%0C34S*BY^+0)EH]33?R%/T%E`C34S**`%Q:/Z+4MUIZ(C92I%H]!3?Q".YG&K"*`!%HM!4?&B/A3@Q")BAQ7"S#!I'"2W#,Y%H]0#GQ".Y!E`A#4QUT3M5=W?':B2S0-:D0-:D0-<$&$)?YT%?YT%?JJ8R')`R')`RM*3-RXC-RU$-ICQP-ZE:;$K:Q(BYT<P&]SLFF(A7K7^?^5WJPNH5.Z([ZF"@>08&6&]E^?;L.V7^7?J.50]Y.6K.53_C(DQ[[M<Z3LV1T^1D^5$>5X@5,85TBHZSR^PNJOPVKMPFIP0ZL/0RK-0BI0V_L^VOJ_VWK]VG]`99_%>Z?S"]B_@3NT$]VO-;\.%L,L#W#A!!!!! - 536903680 1.0.0.3 true true true - )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!"A15F.31QU+!!.-6E.$4%*76Q!!%X1!!!3=!!!!)!!!%V1!!!!A!!!!!2N)6&21)%.M;76O>#"S:8&X:8.U,GRW9WRB=X-!!!#A)!#!!!!Q!!!I!!1!!!!!"!!$!$Q!P!!@1)!#!!!!!!%!!1!'`````Q!!!!!!!!!!!!!!!0NA8)G!3]N0D*ULN"GD_YQ!!!!-!!!!%!!!!!#",_E7C:YQ4)I_;.K[V86@V"W-W9]!MA4JA!G9\0B#@A!!!!!!!!!!R.-!.P`FF5KJG#,7?%2@;!%!!!$`````V"W-W9]!MA4JA!G9\0B#@A!!!"##_>4BW7)5[]L1EAZOH9U!!!!!"!!!!!!!!!#9!!&-6E.$!!!!!A!#6EF-1A!!!!"16%AQ!!!!"1!"!!%!!!!!!A!#6EF131!!!!!$$8*F=8>F=X1O<(:M;7)/1WRJ:7ZU,GRW9WRB=X-#"Q"16%AQ!!!!(1!"!!5!!!!'1WRJ:7ZU$E.M;76O>#ZM>G.M98.T!!!!!!!!!!!"!!!!!!!!!!%!!!!!!A!!!!!!!!!!!!!!!!-!!!!#!!%!!!!!!#!!!!!9?*RD9'.A;G#YQ!$%D%!7EQ;1^9&"A!%!/C%%VA!!!")!!!!)?*RD9',A!%)'!!"7!"-!!!!!!%=!!!%9?*RD9-!%`Y%!3$%S-,!)!'E7.(%Q$7.4%_!S&Z>>5(&GK"N:9=*!I2>!GAEE"V8$!:&CY5$S$BTQ1_E,3')!I@YG[!!!!!!-!!&73524!!!!!!!$!!!"GA!!!_RYH&P!S-"18G&G%M$%Q-!-:#MQ.$!EZ[?E]D)!_1Q)E),-)1-U1-X41B-X0(!Y$1DU_/6<Q(S0ZD=;HMU`G%I&08<!V0S`Y.&]2//Q2X=D3/CY1Q*994?DY368QQ0`*VQ!;Q-KY*>X!/PX[4TAO1OG';D%I`/A4_=JR`_8Q+L3-/RLK,2G+'%(KA.*(W`]QAD2C?%!=MXX/0C)R2.OG&=P#Z.8MAC42[=,F]&R&[Y!-:#S8B%OL0;&!1V1]/A]BZ$=R1B2U=W(%00I>!R!Y7EA]RIPI0A'+0!"8?!"*!Q6YAZD2BV*9/XL?\N9A41<EJA$!S4_(:B1M2Y$)Q0)-S"S,F3N$:$.""74A9K"W,S--,9^8-^/K,Q'EDF;5(6-3/ICE>Q"%XM&VA>R&SN5T!YIO1(+^G'%S)(955$W!SA\']A7A,*L10G&%?)8"A<=N,/`CSO-D1RA?1K7N<3"/$GXQ-"!L^KZVLL;W;9IN<!]N<B%,[=M*T0*SDEH-T50R%H/33QONKM&Z[8EAO1S)J5T!!$7V[E9!!!!!!#7!!!"'(C==W"A9#CP-$/:!+3:'2E9&"A;'*,T5V):U-!2>!%I]'B_I_'R!]<\@](Q:/M"`CE(04J0?$1@U4C-1R>OM0<VP6V!:T!Q)IEZ!0&HI!B-H!V*(!3=`6V='\#9"8-T3)]W%#@H&BA9[&5\VVJ8/^M5J2;7JR;8[/75Z71G74HH:+<GA4D*/9H&R8;V$!"BESD5!!!!!!#5!!!"'(C==W"A9#CP-$/:!+3:'2E9&"A;'*,T5V):U-!2>!%I]'B_I_'R!]<\@](Q:/M"$X[8AR\.2T1/Y^#$$[R^@7]8U"E-D%BC$E$]&CA#%W>$%A=":X]8VQ9M:M(=$.+D"=4*"=FF?N8/N><6TD:&K98FK=5F?DFF/:F*6MYZG;FZ)%ZS4G*RM6UN!Q-!/Q-H/!!!!!YA!9!(!!!'-D!O-#YR!!!!!!!!$#!!A!!!!!1S-#YQ!!!!!!YA!9!(!!!'-D!O-#YR!!!!!!!!$#!!A!!!!!1S-#YQ!!!!!!YA!9!(!!!'-D!O-#YR!!!!!!!!&!%!!!$V6T7#?3;CD#ZT5EY'34G>!!!!$1!!!!!!!!!!!!!!!!!!!!!!!!#!`````Y!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A'!!!9'9!!''"A!"G!'!!;!!1!'Q!-!"L!.!!;-/Q!'A^5!"I#L!!;!V1!'A+M!"I$6!!;!KQ!'A.5!"G#O!!99W!!'"O!!"A'!!!@````]!!!1!````````````````````````````````````````````!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!&25!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!&;REC+Q6!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!&;RE1%"!1)CM&1!!!!!!!!!!!!!!!!!!!!$``Q!!&;RE1%"!1%"!1%#)L"5!!!!!!!!!!!!!!!!!!0``!)BE1%"!1%"!1%"!1%"!C+Q!!!!!!!!!!!!!!!!!``]!:'2!1%"!1%"!1%"!1%$`C!!!!!!!!!!!!!!!!!$``Q"EC)BE1%"!1%"!1%$```^E!!!!!!!!!!!!!!!!!0``!'3)C)C):%"!1%$``````W1!!!!!!!!!!!!!!!!!``]!:)C)C)C)C'3M````````:!!!!!!!!!!!!!!!!!$``Q"EC)C)C)C)C0````````^E!!!!!!!!!!!!!!!!!0``!'3)C)C)C)C)`````````W1!!!!!!!!!!!!!!!!!``]!:)C)C)C)C)D`````````:!!!!!!!!!!!!!!!!!$``Q"EC)C)C)C)C0````````^E!!!!!!!!!!!!!!!!!0``!'3)C)C)C)C)`````````W1!!!!!!!!!!!!!!!!!``]!C)C)C)C)C)D```````_)C!!!!!!!!!!!!!!!!!$``Q!!:'3)C)C)C0````_)L'1!!!!!!!!!!!!!!!!!!0``!!!!!'3)C)C)``_)C'1!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!"EC)C)C%!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!:%!!!!!!!!!!!!!!!!!!!!!!!!!!!0```````````````````````````````````````````Q!!!1)!!5:13&!!!!!#!!*'5&"*!!!!!QVS:8&X:8.U,GRW<'FC$E.M;76O>#ZM>G.M98.T!A=!5&2)-!!!!"U!!1!&!!!!"E.M;76O>!Z$<'FF<H1O<(:D<'&T=Q!!!!!!!!!!!1!!!!!!!!!"!!!!!!)!!!!!!!!!!!!!!!!!!!!!!1!!!#]!!E2%5%E!!!!!!!-.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q)(!&"53$!!!!!>!!%!"1!!!!:$<'FF<H1/1WRJ:7ZU,GRW9WRB=X-!!!!!!!!!!!%!!!!!!!!!!1!!!!!#!!!!!!!!!!!!!!!!!!!!!!%!!!!K!!-!!!!!!!Q!!!!#!!!!!!!!!!!!!!,/!!!&[XC=L:2"3"22'-?`NYXS6J4?<JIO+,P*US33NKAUS8,<JW3)F':%"WNJNR,%$8?.4EIQ""[]*(E)P)H1K9.)^VC[T#&0"8H9^/+R$EJ#TE\@?_P-\'J.F`9Q$-P\@>`-``^D!#KW7)/P!.-G%,;$.Q-G6#5.!J"LJ\$`;XU*<)4]!F)<)C<UU"'W\CO12B/KEU9LD9J:_)'HL7`7+XB.#.P!IZ5MB-/K4$C;./L*$:ZH`&UDH[WQJQ;AC=W2AO]O$`_E=XI;&Y,?*K_">F)!)EZIGNZ]-T'2ULH]V^^/1WKEXQ1GD*J*HD_*%X(V"T73D-)33>MD!5?WQ=L+CAM&CF#L?IR/S3TBW&5S[M%%E=HQ`'H&6#E'^[T;?U3Y-#_@85)(U70=1"+RZ`9<,^GL2.DM5>DGZC:C?.X(HJB1S`08;)BO*,^7V.T3XQ-"ELN0L3`77]E("G5*[GQ1?WDJ)GQ9\Y>./+5<PA?AW<POQ<RK1<.<O#R<[&-N_-5M!\?'_8`5),2==V.]@#K445V'UI]C$]=4G5TE[?49MU1W&5EGMIH$"85,Q^]BXVYO5WZ!(7BQ"][8BJW'Z?6F$!#P,HI&U8K?>\C!?JN/*`#E'\D=[C:X&:-4O\=@S`2;OHTFSJZRF4W(SA<9Q==K5`<#`V@W)JIU@5":C%)-9B\[>23B%G6D3!V"V)0J2';G4.E9\BGS^XAJ?_G1MD&\F;0MQM*#'9<">TH+;I15F>88L$VL4YK\<?X##03YYJ*K<%-9%7GA^6W&%#V8.@Z86:O^YY^51F(8SPDY7'IC?\A&)1R[FO=4/(G`VS<MPROY2[#^2:@^NIQFG7R@`W/5G%G@EL(G26(')SAD$@E(3\<1^9^4TO?6$H.B?2VAP4BWRI1[%1^_9PW96D8NJ\VM%@.%OY`42<K4__R]A(-$$KGP1:I-]$>BWP!<;J;LVQ!!!!!!"!!!!#=!!!!%!!!!!!!!!!Q!!5*%3&!!!!!!!!-!!!!%!!!!!!!!!')!!!"S?*RD9'$)%Z"A_M>1^Z?"3?!LE#(^FY&:U)`R.Q-$JZ`!93$.+#!*&*<^S]!OK!U7VD[CS]%!";JMD"S3()=&/=!S(#U;$0```_@Y?O1;8-52(TB4::9]BQ1!&'):!!!!!!!!"!!!!!=!!!-8!!!!#!!!!#&@<GF@4'&T>%NO<X>O4X>O;7ZH4&:$<'&T=U.M>8.U:8)!!!"Q)!#!!!!!!!%!#!!Q`````Q!"!!!!!!"5!!!!!A!Q1(!!(A!!(AVS:8&X:8.U,GRW<'FC$E.M;76O>#ZM>G.M98.T!!!'1WRJ:7ZU!!!=1&!!!1!!%UB56&!A1WRJ:7ZU)(*F=8>F=X1!!1!"!!!!!!!!!"J-6E.M98.T5(*J>G&U:52B>'&597*0=G2F=A!!!#EA!)!!!!!!!A!&!!=!!!Q!1!!"`````Q!!!!%!!1!!!!%!!!!!!!!!!!!!!"N-6E.M98.T5(*J>G&U:52B>'&5;7VF=X2B<8!!!!!:)!#!!!!!!!%!"1!(!!!"!!$ESDE6!!!!!!!!!#:-6E.M98.T5(*J>G&U:52B>'&-98.U18"Q<'FF:&2J<76T>'&N=!!!!"EA!)!!!!!!!1!&!!=!!!%!!/4+/25!!!!!!!!!'ER71WRB=X.1=GFW982F2'&U962Z='6%:8.D!!!!=#!!A!!!!!!"!!A!-0````]!!1!!!!!!6!!!!!)!-%"Q!"Y!!"Y.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q!!"E.M;76O>!!!(%"1!!%!!".)6&21)%.M;76O>#"S:8&X:8.U!!%!!1!!!!!!!!!?4&:$<'&T=V"S;8:B>'6%982B2':M>%2B>'&4;8JF!!!!'3!!A!!!!!!"!!5!!Q!!!1!!!!!!#!!!!!!!!!!;4&:$<'&T=V"S;8:B>'6%982B2':M>%2B>'%!!!#))!#!!!!!!!)!-%"Q!"Y!!"Y.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q!!"E.M;76O>!!!(%"1!!%!!".)6&21)%.M;76O>#"S:8&X:8.U!!%!!1!!!!%?$8*F=8>F=X1O<(:M;7)/1WRJ:7ZU,GRW9WRB=X-!!!!!!!!!!!!!!!!!!!!!!"2/33Z-6CZ"<'QO5W^V=G.F4WZM?1!!!"5A!)!!!!!!!1!%!#%!!1!!!1!!!!!!!!!!"!!$!!I!!!!%!!!!2A!!!#A!!!!#!!!%!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!=NYH)W0T5L$5"#&P_<7.+V.L>KC)*;\%H&2"&@O!A6R';109'Q3#6R-47[L3Z`0Z`!&@!-H3;5,8:1$Q]QZ=_9('(->,*H!R#_3V\?EN&/T.NH49';SZ+5K&C9K3X!<!F+_PTZPRY"T>D_@B\I2^.:?/U\_UR<7="7%N/"]:F;F41K>J\IW['72L3/<[$CS%8M#?M3A4H'E5*O3'^JUAQYK.=^YQ9@+(WR$*(H+5+9L8$JY;B7H8,,4>`4LKXL+PM?S*Z368@;ZW0&7"QFO&;4<YV%'NLG4-:I""S*8'!LX#W?$P]R7/;T20.XC3"AZ5T)F;`LY($-3:C3:$T_`:66=!!!!:1!"!!)!!Q!%!!!!3!!0"!!!!!!0!.E!V!!!!&%!$Q1!!!!!$Q$:!.1!!!";!!]%!!!!!!]!W1$5!!!!9Y!!B!#!!!!0!.E!V!B4:7>P:3"631B4:7>P:3"631B4:7>P:3"631%Q!!!!5F.31QU+!!.-6E.$4%*76Q!!%X1!!!3=!!!!)!!!%V1!!!!!!!!!!!!!!#!!!!!U!!!%B!!!!"V-35*/!!!!!!!!!7R-6F.3!!!!!!!!!9"36&.(!!!!!!!!!:2$1V.5!!!!!!!!!;B-38:J!!!!!!!!!<R$4UZ1!!!!!!!!!>"544AQ!!!!!1!!!?2%2E24!!!!!!!!!AR-372T!!!!!!!!!C"735.%!!!!!A!!!D2W:8*T!!!!"!!!!H"41V.3!!!!!!!!!N2(1V"3!!!!!!!!!OB*1U^/!!!!!!!!!PRJ9WQY!!!!!!!!!R"-37:Q!!!!!!!!!S2'5%6Y!!!!!!!!!TB'5%BC!!!!!!!!!UR'5&.&!!!!!!!!!W"75%21!!!!!!!!!X2-37*E!!!!!!!!!YB#2%6Y!!!!!!!!!ZR#2%BC!!!!!!!!!\"#2&.&!!!!!!!!!]273624!!!!!!!!!^B%6%B1!!!!!!!!!_R.65F%!!!!!!!!"!")36.5!!!!!!!!""271V21!!!!!!!!"#B'6%&#!!!!!!!!"$Q!!!!!`````Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#1!!!!!!!!!!0````]!!!!!!!!!S!!!!!!!!!!!`````Q!!!!!!!!$=!!!!!!!!!!$`````!!!!!!!!!/1!!!!!!!!!!0````]!!!!!!!!"A!!!!!!!!!!!`````Q!!!!!!!!')!!!!!!!!!!,`````!!!!!!!!!;Q!!!!!!!!!!0````]!!!!!!!!"R!!!!!!!!!!!`````Q!!!!!!!!)1!!!!!!!!!!$`````!!!!!!!!!C!!!!!!!!!!!@````]!!!!!!!!$Q!!!!!!!!!!#`````Q!!!!!!!!2=!!!!!!!!!!4`````!!!!!!!!"01!!!!!!!!!"`````]!!!!!!!!&#!!!!!!!!!!)`````Q!!!!!!!!59!!!!!!!!!!H`````!!!!!!!!"3Q!!!!!!!!!#P````]!!!!!!!!&0!!!!!!!!!!!`````Q!!!!!!!!61!!!!!!!!!!$`````!!!!!!!!"7A!!!!!!!!!!0````]!!!!!!!!&@!!!!!!!!!!!`````Q!!!!!!!!9!!!!!!!!!!!$`````!!!!!!!!#A1!!!!!!!!!!0````]!!!!!!!!,$!!!!!!!!!!!`````Q!!!!!!!!M=!!!!!!!!!!$`````!!!!!!!!$@!!!!!!!!!!!0````]!!!!!!!!._!!!!!!!!!!!`````Q!!!!!!!!Y!!!!!!!!!!!$`````!!!!!!!!$B!!!!!!!!!!!0````]!!!!!!!!/'!!!!!!!!!!!`````Q!!!!!!!![!!!!!!!!!!!$`````!!!!!!!!$IA!!!!!!!!!!0````]!!!!!!!!2J!!!!!!!!!!!`````Q!!!!!!!"'M!!!!!!!!!!$`````!!!!!!!!%<1!!!!!!!!!!0````]!!!!!!!!2Y!!!!!!!!!#!`````Q!!!!!!!",I!!!!!">)6&21)%.M;76O>#"S:8&X:8.U,G.U<!!!!!! + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!"2Q5F.31QU+!!.-6E.$4%*76Q!!%"!!!!2A!!!!)!!!$`!!!!!A!!!!!2N)6&21)%.M;76O>#"S:8&X:8.U,GRW9WRB=X-!!!#A)!#!!!!Q!!!I!!2!!!!!"!!$!$Q!P!!@1)!C!!!!!!%!!1!'`````Q!!!!!!!!!!!!!!!0NA8)G!3]N0D*ULN"GD_YQ!!!!-!!!!%!!!!!#",_E7C:YQ4)I_;.K[V86@V"W-W9]!MA4JA!G9\0B#@A!!!!!!!!!!R.-!.P`FF5KJG#,7?%2@;!%!!!$`````V"W-W9]!MA4JA!G9\0B#@A!!!"##_>4BW7)5[]L1EAZOH9U!!!!!"!!!!!!!!!#9!!&-6E.$!!!!!A!#6EF-1A!!!!"16%AQ!!!!"1!"!!%!!!!!!A!#6EF131!!!!!$$8*F=8>F=X1O<(:M;7)/1WRJ:7ZU,GRW9WRB=X-#"Q"16%AQ!!!!(1!"!!5!!!!'1WRJ:7ZU$E.M;76O>#ZM>G.M98.T!!!!!!!!!!!"!!!!!!!!!!%!!!!!!A!!!!!!!!!!!!!!!!-!!!!#!!%!!!!!!#!!!!!9?*RD9'.A;G#YQ!$%D%!7EQ;1^9&"A!%!/C%%VA!!!%=!!!%9?*RD9-!%`Y%!3$%S-,!)!'E7.(%Q$7.4%_!S&Z>>5(&GK"N:9=*!I2>!GAEE"V8$!:&CY5$S$BTQ1_E,3')!I@YG[!!!!!!-!!&73524!!!!!!!$!!!!%Q!!!!FYH'.A9'"E:!!#!!!5!!-!!!!!$#!!A!!!!!1S-#YQ!!!!!!QA!)!!!!!%-D!O-!!!!!!-)!#!!!!!"$)Q,D!!!!!!$#!!A!!!!!1S-#YQ!!!!!!QA!)!!!!!%-D!O-!!!!!!.!!!!!!!!!!!!!!!!!!!!!!!!!)$`````A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!9!!"A:A!!99'!!'9!9!"I!"!!<!!Q!'M!U!"IQ\!!;$V1!'A+M!"I$6!!;!KQ!'A.5!"I#L!!;!V1!'9+Y!"BD9!!9'Y!!'!9!!"`````Q!!"!$```````````````````````````````````````````]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!6&1!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!6L'3)L"5!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!6L'2!1%"!C+Q6!!!!!!!!!!!!!!!!!!!!!0``!!!6L'2!1%"!1%"!1)CM&1!!!!!!!!!!!!!!!!!!``]!C'2!1%"!1%"!1%"!1%#)L!!!!!!!!!!!!!!!!!$``Q"E:%"!1%"!1%"!1%"!10_)!!!!!!!!!!!!!!!!!0``!'3)C'2!1%"!1%"!10```W1!!!!!!!!!!!!!!!!!``]!:)C)C)BE1%"!10``````:!!!!!!!!!!!!!!!!!$``Q"EC)C)C)C):+T```````^E!!!!!!!!!!!!!!!!!0``!'3)C)C)C)C)`````````W1!!!!!!!!!!!!!!!!!``]!:)C)C)C)C)D`````````:!!!!!!!!!!!!!!!!!$``Q"EC)C)C)C)C0````````^E!!!!!!!!!!!!!!!!!0``!'3)C)C)C)C)`````````W1!!!!!!!!!!!!!!!!!``]!:)C)C)C)C)D`````````:!!!!!!!!!!!!!!!!!$``Q#)C)C)C)C)C0```````YC)!!!!!!!!!!!!!!!!!0``!!"E:)C)C)C)`````YCM:!!!!!!!!!!!!!!!!!!!``]!!!!!:)C)C)D``YC):!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!'3)C)C)1!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!"E1!!!!!!!!!!!!!!!!!!!!!!!!!!!````````````````````````````````````````````!!!!!A!"!!!!!!#'!!&'5%B1!!!!!1!#2F"131!!!!-.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q)(!&"53$!!!!!>!!%!"1!!!!:$<'FF<H1/1WRJ:7ZU,GRW9WRB=X-!!!!!!!!!!!%!!!!!!!!!!1!!!!!#!!!!!!!![!!!!!!!!!!!!!%!!!!P!!-!!!!!!!A!!!!"!!!!!!!!!N1!!!8L?*SNF%^)&&%=RX^P'_8NYN*<MX4"W%W?*K&E5@G(NJ<W+2G[:*P2S6L;L14:$8?.4EIQ"B[]6(A)P)H1K9.#^VC[T#&0"8H9^/)R$UF#TE[`._P-\'J.F_<Q')<X`8X@_XY`$%$.&GPSF'";"]*W]'6)"V^+)Q#&4AL\4^M,9+0E&Z#').%B3E@:OK>%GH7I3WFNN%P-Q4<O.LY:,_%V!<;"7WN:%)@Z>$C;UBL*$6ZE`&UTH[ORJPKBG=W4EO=O$`WE]WI7$5&NFWOAEZ3!C&/+IL<=4'<3+J>@P:UU;)\U[M#%ZJ`ER>-Y%;U`G#0*'#S2D$53='1\L+SM/+*!7>2G(K.(;J:Q\#I:=^(5IS<(CRWGRG>KU'@6]B'BUCNZ>CE[+$X'.63C\*FVYS8,3I4UK#H<X.R%';\\MM=[.0$C.2KE'[GP.@Y2^4U1))6\V0BCP*8[1&S79/[NRRZ;_QB,Y(N#BT/KZLE0CP23U/M/T*IN+&9,FW5,!W9,8D((Q+FB^B]V#+81=D)W-:8,JS@$W9@B"R0*8#\]:(,];4+@$K?3_?4BAC*#]X<,WUMTEQU)Y,HC=+%S\#QM,S^D!,A[UCMI<?2&7_@(U<?ARQY]Z11O8:XELG*S9P@W)ZF?;Z_H'NGT$L,H%>E!/XCM+G1P`H^E,S&*UQ?1B3[)1.1&P_[SK!,:#+K'I=N&UY/;G3JE)_AT<0GY)>N\#.G):75DO\#Q5#8$Y0NM:"6#SMCK;];?M3@"X4:W913C$LCE$NM17FA3;(R(DQ\UK%)V^F>51_\RBWOBD'NN<')]H=E@<E%)D:\DR32/XO]VC0XX!H=*N,`-MN?#M3+4(^@`'#6G-G$#[(^?BP%)QEC$XHC&#VX`/'8`8GG##].N!_P(M4-[("?R_E^M%./KIY/UHSVCHEDX#<J)>QK@\2^Q9=B7KGO1*50]49AW`1<,V;N#!!!!"!!!!#=!!!!%!!!!!!!!!!Q!!5*%3&!!!!!!!!-!!!!%!!!!!!!!!')!!!"S?*RD9'$)%Z"A_M>1^Z?"3?!LE#(^FY&:U)`R.Q-$JZ`!93$.+#!*&*<^S]!OK!U7VD[CS]%!";JMD"S3()=&/=!S(#U;$0```_@Y?O1;8-52(TB4::9]BQ1!&'):!!!!!!!!"!!!!!=!!!-8!!!!#!!!!#&@<GF@4'&T>%NO<X>O4X>O;7ZH4&:$<'&T=U.M>8.U:8)!!!"Q)!#!!!!!!!%!#!!Q`````Q!"!!!!!!"5!!!!!A!Q1(!!(A!!(AVS:8&X:8.U,GRW<'FC$E.M;76O>#ZM>G.M98.T!!!'1WRJ:7ZU!!!=1&!!!1!!%UB56&!A1WRJ:7ZU)(*F=8>F=X1!!1!"!!!!!!!!!"J-6E.M98.T5(*J>G&U:52B>'&597*0=G2F=A!!!#EA!)!!!!!!!A!&!!=!!!Q!1!!"`````Q!!!!%!!1!!!!%!!!!!!!!!!!!!!"N-6E.M98.T5(*J>G&U:52B>'&5;7VF=X2B<8!!!!!:)!#!!!!!!!%!"1!(!!!"!!$ESDE6!!!!!!!!!#:-6E.M98.T5(*J>G&U:52B>'&-98.U18"Q<'FF:&2J<76T>'&N=!!!!"EA!)!!!!!!!1!&!!=!!!%!!/4+/25!!!!!!!!!'ER71WRB=X.1=GFW982F2'&U962Z='6%:8.D!!!!=#!!A!!!!!!"!!A!-0````]!!1!!!!!!6!!!!!)!-%"Q!"Y!!"Y.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q!!"E.M;76O>!!!(%"1!!%!!".)6&21)%.M;76O>#"S:8&X:8.U!!%!!1!!!!!!!!!?4&:$<'&T=V"S;8:B>'6%982B2':M>%2B>'&4;8JF!!!!'3!!A!!!!!!"!!5!!Q!!!1!!!!!!#!!!!!!!!!!;4&:$<'&T=V"S;8:B>'6%982B2':M>%2B>'%!!!#))!#!!!!!!!)!-%"Q!"Y!!"Y.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q!!"E.M;76O>!!!(%"1!!%!!".)6&21)%.M;76O>#"S:8&X:8.U!!%!!1!!!!%?$8*F=8>F=X1O<(:M;7)/1WRJ:7ZU,GRW9WRB=X-!!!!!!!!!!!!!!!!!!!!!!"2/33Z-6CZ"<'QO5W^V=G.F4WZM?1!!!"5A!)!!!!!!!1!%!#%!!1!!!1!!!!!!!!!!"!!$!!A!!!!%!!!!2A!!!#A!!!!#!!!%!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!=>YH)W1T5L$5"#&P_3W;6K<7H_+AFDO3M2&%6SZ#R4%::!_A,&*J(!R.<GN,HU_H]-8]!W=**5O>&%/$-QZ>]\-O=#)[X$*'-:"E<[_J;7>G,6:0!WG:J'_6-X=R'5*8E.!RP@8Z_U)=-`O:\.).Y,?DN=4*`^J=WOY#C-=/*_;67H41O?:LA@UMFCM9ZPK*,9R<1%^%F#HO.+I4=M.,<JB"Z7::`TQ1_50NC(30'-I\AK0$LZ;*2G8\*3/@HV64^HX20:%ML,,(B=\XOICR;O+P0:Z&--7>W+D'<!P=I7B=,^Q.`D,<*7$'EVIBU.BKC^Q*&[<0A&((%M.Y!>J[&6'!!!!<A!"!!-!!Q!%!!!!3!!+!!!!!!!,!-5!SA!!!&1!#A!!!!%!#Q$&!-I!!!"A!!I!!!!!!!M!R1$+!!!!<)!!A!#!!!!-@`]!!1N/;7VC>8-A5W&O=QN/;7VC>8-A5W&O=QN/;7VC>8-A5W&O=Q%Q!!"35V*$$1I!!UR71U.-1F:8!!!1%!!!"'!!!!!A!!!0]!!!!!!!!!!!!!!!)!!!!$1!!!2)!!!!(5R*1EY!!!!!!!!"<%R75V)!!!!!!!!"A&*55U=!!!!!!!!"F%.$5V1!!!!!!!!"K%R*>GE!!!!!!!!"P%.04F!!!!!!!!!"U&2./$!!!!!!!!!"Z%2'2&-!!!!!!!!"_%R*:(-!!!!!!!!#$%>$2%E!!!!!!!!#)(:F=H-!!!!%!!!#.%>$5&)!!!!!!!!#G%F$4UY!!!!!!!!#L'FD<$A!!!!!!!!#Q%.11T)!!!!!!!!#V%R*:H!!!!!!!!!#[%:128A!!!!!!!!#`%:13')!!!!!!!!$%%:15U5!!!!!!!!$*&:12&!!!!!!!!!$/%R*9G1!!!!!!!!$4%*%28A!!!!!!!!$9%*%3')!!!!!!!!$>%*%5U5!!!!!!!!$C&:*6&-!!!!!!!!$H%253&!!!!!!!!!$M%V6351!!!!!!!!$R%B*5V1!!!!!!!!$W&:$6&!!!!!!!!!$\%:515)!!!!!!!!%!!!!!!$`````!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*!!!!!!!!!!!`````Q!!!!!!!!$)!!!!!!!!!!$`````!!!!!!!!!.Q!!!!!!!!!!0````]!!!!!!!!!Z!!!!!!!!!!!`````Q!!!!!!!!'!!!!!!!!!!!$`````!!!!!!!!!9A!!!!!!!!!!0````]!!!!!!!!"L!!!!!!!!!!!`````Q!!!!!!!!(Y!!!!!!!!!!$`````!!!!!!!!!AA!!!!!!!!!"0````]!!!!!!!!#)!!!!!!!!!!(`````Q!!!!!!!!)Q!!!!!!!!!!D`````!!!!!!!!!E!!!!!!!!!!#@````]!!!!!!!!#5!!!!!!!!!!+`````Q!!!!!!!!*A!!!!!!!!!!$`````!!!!!!!!!H!!!!!!!!!!!0````]!!!!!!!!#B!!!!!!!!!!!`````Q!!!!!!!!-)!!!!!!!!!!$`````!!!!!!!!"QQ!!!!!!!!!!0````]!!!!!!!!(&!!!!!!!!!!!`````Q!!!!!!!!?A!!!!!!!!!!$`````!!!!!!!!"[Q!!!!!!!!!!0````]!!!!!!!!+B!!!!!!!!!!!`````Q!!!!!!!!K-!!!!!!!!!!$`````!!!!!!!!#J1!!!!!!!!!!0````]!!!!!!!!+J!!!!!!!!!!!`````Q!!!!!!!!KM!!!!!!!!!!$`````!!!!!!!!#R1!!!!!!!!!!0````]!!!!!!!!,(!!!!!!!!!!!`````Q!!!!!!!!YY!!!!!!!!!!$`````!!!!!!!!$E!!!!!!!!!!!0````]!!!!!!!!/3!!!!!!!!!!!`````Q!!!!!!!!ZU!!!!!!!!!)$`````!!!!!!!!$XQ!!!!!&UB56&!A1WRJ:7ZU)(*F=8>F=X1O9X2M!!!!!! - - !!!!!2N)6&21)%.M;76O>#"S:8&X:8.U,GRW9WRB=X.16%AQ!!!!!!!!!!!!!!!%!!%!!!!!!!!!!!!!!1!;1&!!!".)6&21)%.M;76O>#"S:8&X:8.U!!%!!!!!!!!!!!!!!1Z-97*73568)%^C;G6D>!"16%AQ!!!!!!!!!!!!)1#!!!!!!!!!!!(``Q!!!!%!!!!!!!%!!!!!!1!;1&!!!".)6&21)%.M;76O>#"S:8&X:8.U!!%!!!!!!!(````_!!!!!!%=3&255#"$<'FF<H1A17*T>(*B9X1O<(:D<'&T=Q"16%AQ!!!!!!!!!!!!)1#!!!!!!!!!!!(``Q!"!!!!!!!#!!!!!!)!-%"Q!"Y!!"Y.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q!!"E.M;76O>!!!:A$RZ-IZ&1!!!!)<3&255#"$<'FF<H1A=G6R>W6T>#ZM>G.M98.T&UB56&!A1WRJ:7ZU)(*F=8>F=X1O9X2M!#J!5!!"!!!>1WRV=X2F=C"P:C"D<'&T=S"Q=GFW982F)'2B>'%!!1!"!!!!!@````]!!!!"(AVS:8&X:8.U,GRW<'FC$E.M;76O>#ZM>G.M98.T!!!!!!!!!!!!!!!!!!!"(%B56&!A1WRJ:7ZU)%&C=X2S97.U,GRW9WRB=X-!5&2)-!!!!!!!!!!!!#%!A!!!!!!!!!!"``]!!1!!!!!!!Q!!!!!#!$"!=!!?!!!?$8*F=8>F=X1O<(:M;7)/1WRJ:7ZU,GRW9WRB=X-!!!:$<'FF<H1!!'9!]?4+/25!!!!#'UB56&!A1WRJ:7ZU)(*F=8>F=X1O<(:D<'&T=R>)6&21)%.M;76O>#"S:8&X:8.U,G.U<!!K1&!!!1!!(5.M>8.U:8)A<W9A9WRB=X-A=(*J>G&U:3"E982B!!%!!1!!!!(````_!!!!!2Y.=G6R>W6T>#ZM>GRJ9AZ$<'FF<H1O<(:D<'&T=Q!!!!!!!!!!!!!!!!!!!BJ)6&21)%.M;76O>#""9H.U=G&D>#ZM>GRJ9BR"9H.U=G&D>#")6&21)%.M;76O>#ZM>G.M98.T5&2)-!!!!!!!!!!!!#1!A!!!!!!!!!!!!!!! - - false 1.0.0.3 @@ -39,11 +34,20 @@ )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!'>!!!!$Q!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!$E!Q`````Q2C<W2Z!!!11$$`````"WBF972F=H-!0E"Q!"Y!!"U<3&255#"$<'FF<H1A=G6R>W6T>#ZM>G.M98.T!">)6&21)%.M;76O>#"S:8&X:8.U)'^V>!!21!=!#X.U982V=S"D<W2F!!1!!!!61!-!$X2J<76P>81A+$%Q-$!Q+1!51$,`````#W^V>("V>#"G;7RF!#"!5!!$!!!!!1!#%W6S=G^S)'FO)#BO<S"F=H*P=CE!$%!Q`````Q.V=GQ!0E"Q!"Y!!"U<3&255#"$<'FF<H1A=G6R>W6T>#ZM>G.M98.T!":)6&21)%.M;76O>#"S:8&X:8.U)'FO!!"5!0!!$!!$!!1!"1!'!!=!#!!*!!I!#Q!)!!Q!$1-!!(A!!!U)!!!*!!!!#1!!!)U,!!!*!!!!!!!!!!A!!!!)!!!!#A!!!!!!!!!1!!!!E!!!!!!"!!Y!!!!! -1 - 50331776 + 16777344 false 1 1 - 1342710288 + 1107821072 + + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!#-!!!!"!!%!!!!&5!)!!]Q)#U_)'ZP)(2J<76P>81!&U!$!"!N-3!N0C"O<S"U;7VF<X6U!!"5!0!!$!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!A)!!(A!!!!!!!!!!!!!!!!!!!E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!!!!!!"!!-!!!!! + -1 + 16777344 + true + 1 + 1 + 1342710272 )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!'*!!!!$1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!$Z!=!!?!!!>'UB56&!A1WRJ:7ZU)(*F=8>F=X1O<(:D<'&T=Q!83&255#"$<'FF<H1A=G6R>W6T>#"P>81!'%!B%X:F=GFG?3"T:8*W:8)I>(*V:3E!&%!S`````QND<W^L;75A:GFM:1!A1&!!!Q!!!!%!!B.F=H*P=C"J<C!I<G]A:8*S<X)J!"*!-0````])='&T=X>P=G1!!"*!-0````])>8.F=GZB<75!!$Z!=!!?!!!>'UB56&!A1WRJ:7ZU)(*F=8>F=X1O<(:D<'&T=Q!73&255#"$<'FF<H1A=G6R>W6T>#"J<A!!6!$Q!!Q!!Q!%!!1!"1!%!!1!"A!(!!A!#1!+!!M$!!"Y!!!.#!!!!!!!!!!!!!#.#Q!!!!!!!!!!!!!)!!!!#!!!!!I!!!))!!!##!!!!*)!!!!!!1!-!!!!!! diff --git a/lv_src/Request/Request.lvclass b/lv_src/Request/Request.lvclass index 450dd89..b0915bc 100644 --- a/lv_src/Request/Request.lvclass +++ b/lv_src/Request/Request.lvclass @@ -3,12 +3,11 @@ reqwest.lvlib ../../reqwest.lvlib )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!*#!!!*Q(C=\>5^4C."%)<B<R'73(W$F9^!2937("+1/#/O+TCVE#5=<6YJI7_!@)7[AI/^A+]QP.UO7Z:!/&F7KR5^^$$__O_B:TR)P>R)VRIOF>'HZ>$?O^7J0A\(FHZO0]0ZR?BY0B^@\48*[-0RJ](PWY@K.LQ<`ZH`1N&X_3\`>VF?`"*]_@@AB^K,C*L5I$L6V*9>EDT*ETT*ETT*ATT)ATT)ATT)H>T*H>T*H>T*D>T)D>T)D>T)_U%O=J',(&+S?,*1-GES1>):CJ*4YEE]C3@R]&'**`%EHM34?/CCR*.Y%E`C34Q-5_**0)EH]31?JOK3\!=ZHM4$^!I]A3@Q"*\!QZ)+0!%A7#S9/*A%BI,'Y#,Q"*\!Q[5#4_!*0)%H].#MQ".Y!E`A#4Q-[<M38>-/=DR-)]@D?"S0YX%]4#X(YXA=D_.R0#QHR_.Y()3TI$-Z"$G$H!\/"]@D?0AFR_.Y()`D=4QU^4PE@7?;JBXE?!S0Y4%]BM@Q-)5-D_%R0)<(]$#N$)`B-4S'R`#QF!S0Y4%]"M29F/6F4'9-.$I:A?(BJT]NVO^3>)HV1[K(6`61KBYWV5/E?DB5.VVV-V5X3<8ZKEV6<::K%V2`H!KNQKA751VO(<8HP+.OK2PKGLKATKET[I1[<E0`=-@^@K`><K@N>KP.:K0V?KX&9K(Z@+\:<+<*:+,R?(R[$@TE/,U1$O_F*>@0>\^_LVY?JM_X^^06S^.U^@IY<@F@_0`]$\Q<>;8T.>CD.]$&12%!!!!! - 536903680 1.0.0.2 true true true - )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!"=%5F.31QU+!!.-6E.$4%*76Q!!%L!!!!25!!!!)!!!%J!!!!!C!!!!!AVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=Q!!!!!!I#!!A!!!-!!!#!!%!!!!!!1!!Q!]!,Q!(U#!!A!!!!!"!!%!"P````]!!!!!!!!!!!!!!!"(:>,WK5C54I+^X\%EI"%;!!!!$!!!!"!!!!!!#V1L:,&UE%CLJ`K=*?CW8.1>D.G0!,)%[9!*G/TY1HY!!!!!!!!!!-4A8WM-HE.(K[>+6EH@>@M"!!!!`````^1>D.G0!,)%[9!*G/TY1HY!!!!1^('":#C#4.4BDS*WQN#IJ!!!!!1!!!!!!!!!AA!"4&:$1Q!!!!)!!F:*4%)!!!!!5&2)-!!!!!5!!1!"!!!!!!)!!F:*1U-!!!!!!1ZS:8&V:8.U8WFE,G.U<!"16%AQ!!!!&1!"!!-!!!ZS:8&V:8.U8WFE,G.U<!!!!!)!!@]!!!!"!!%!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!-!!!!!!!)!!A!!!!!!*Q!!!#BYH'0A9G"O9,D!!-3-1-T5Q01$S0\!)-!"%I71)!Q!VYI,#Q!!!!")!!!"'(C=9W$!"0_"!%AR-D#Q#!"J&D2R-!VD5R0A-B?886"R:KA<73'CD%!RZB>!"B.)$KK'!S,(QI(E(4D!&'&A!!#8K#9/!!!!$!!"6EF%5Q!!!!!!!Q!!!71!!!-A?*QL9'2A++]Q-R&A9G"A"L)6'"I9EP.45LE9A(Q'"0D$R%!2;)#;JY5G<HDA="I1[0(,NY$Z(MVP.$S<@T#6#HLMA+HZ@]'D_9D'99`O2J$1=9=%M-*O2M.,LI9(`E_Y!.9'6-!P\Q$7XV"JT6$#<HA!,(C]]1MDR"A-!U(K@4I<%VA9A&2H"J"S\(:E=<2U9#HF=?TG-$TA;-X*0_8!93$GXQ;EZ&UA\P-Y_)D&%W[96S],EV?S#*.(JQO8Q8%8LA!RE&W^)FR9\1M$'K$AU8E/)<G,%;+CGQ]BZN(J')$#UU$G.6Z!]1V1Y!/[Q!.)G#D%(39G=J$!WN@X>I(CC1V*T)%"%H]-4+B9DY'2!?2Y%*E,67M$:$."R73A9C$W83B<!UH0,S4T97+\Q'IA^L&#R@A9)8SQG5"W!*3N"72PA,+NA7Q"+.M(S0Y!=S]?WNH@R:5"3\J'4OM!CTFTXA!!!!YA!9!(!!!'-D!O-#YR!!!!!!!!$#!!A!!!!!1S-#YQ!!!!!!YA!9!(!!!'-D!O-#YR!!!!!!!!$#!!A!!!!!1S-#YQ!!!!!!YA!9!(!!!'-D!O-#YR!!!!!!!!&!%!!!$V6T7#?3;CD#ZT5EY'34G>!!!!$1!!!!!!!!!!!!!!!!!!!!!!!!#!`````Y!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A'!!!9'9!!''"A!"G!'!!;!!1!'Q!-!"L!.!!;-/Q!'A^5!"I#L!!;!V1!'A+M!"I$6!!;!KQ!'A.5!"G#O!!99W!!'"O!!"A'!!!@````]!!!1!````````````````````````````````````````````!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!"15!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!";V:A[U&!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!";V:,S]P,Y/N"1!!!!!!!!!!!!!!!!!!!!$``Q!!";V:,S]P,S]P,S_$L15!!!!!!!!!!!!!!!!!!0``!).:,S]P,S]P,S]P,S]PA[U!!!!!!!!!!!!!!!!!``]!76EP,S]P,S]P,S]P,S`_AQ!!!!!!!!!!!!!!!!$``Q":AY.:,S]P,S]P,S`_`PZ:!!!!!!!!!!!!!!!!!0``!&G$AY/$73]P,S`_`P\_`FE!!!!!!!!!!!!!!!!!``]!79/$AY/$AVGN`P\_`P\_71!!!!!!!!!!!!!!!!$``Q":AY/$AY/$A`\_`P\_`PZ:!!!!!!!!!!!!!!!!!0``!&G$AY/$AY/$`P\_`P\_`FE!!!!!!!!!!!!!!!!!``]!79/$AY/$AY0_`P\_`P\_71!!!!!!!!!!!!!!!!$``Q":AY/$AY/$A`\_`P\_`PZ:!!!!!!!!!!!!!!!!!0``!&G$AY/$AY/$`P\_`P\_`FE!!!!!!!!!!!!!!!!!``]!AY/$AY/$AY0_`P\_`P[$AQ!!!!!!!!!!!!!!!!$``Q!!76G$AY/$A`\_`P[$L6E!!!!!!!!!!!!!!!!!!0``!!!!!&G$AY/$`P[$AVE!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!":AY/$AS]!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!73]!!!!!!!!!!!!!!!!!!!!!!!!!!0```````````````````````````````````````````Q!!!(I!!5:13&!!!!!"!!*52%.$!!!!!1ZS:8&V:8.U8WFE,G.U<!"16%AQ!!!!&1!"!!-!!!ZS:8&V:8.U8WFE,G.U<!!!!!)!!0]!!!!"!!%!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!1!!!#R16%AQ!!!!!!!!!!!!!Q!!!!!!#!!!!!%!!!!!!!!$X1!!#%^YH+V617A56RD_XW2CXW\7ZEW;K"M--\P-LL+Y.AD6..:KT<-U-14<.+!?N+OTWL3JWW9XJ3?^$+%Z3+'B/23%(E+A*Q^"?MF"SN,,('IP,>8#;A[^6CBCC-Z/``=GMT/\QK;5\O(HM@T@^`XP`\`X$Q!^T@9I><DO!G&0]$$O1NRS#%!V4W(LFZU(.E7?!?F.%B>/U#HW1+G4P3YE,#>,"`E#0-:M\[(X.8R$#(O%K4N9%MHC,H2<TGYS:N;9?8OPO>!:M'IQQ'[3OH,7V*`3GX9*"=(?,[+7*X5A0+7K>PJ-Y6L2.M7`M4R.3MK9#YQ\!\.G<2]SIP30EJ*=A'63#CA"+@@$[OJK#.*]5&;7-31QSUB\BVRIA_F"4.GM(:#9O-3ATJV!B_PV26'\!,6#8T%>2#,MC_$'SY%5V^U4%L;_PIYQD&OQ$VXI.7MH;:)_MOZX\HT8`A%)E/J&[PXG@3`QWI19AMTNQ4FEBAG<R0/E#TH<54Y!.>!;A55Z"479QBMY"?VN/9598W!1DG&RGT&QN:I?'*G:+V?+MU<JCH&ZJF!O'Z`/4H^?K"1.KV!JP$CA9^R*(B'X&W,3'^!(+BS(>[,.,M(+SAIW!'-)@2/BO]V;![@*WYQX'G[&$2?K9??/9_@YRPN82@=SQUKT:1_%FDW%FN69;VF.FHXN`\@M9843^2<,!I==4,7RXR%@&,&M$F&(A<@"$#(G2J.F=[BT.."J:^H8O=.;0*M,N"K?86J;;M*BZY=<HF5*]4VLX`/??]_&=T?^PW%)TE7=;_%Y5-E1'_-PV%CCBGB`2^$_C=#L`,9_&JKV#Q@!NRV!.2W@,8YW6SR8,EZ<,8-YY]*6S^H"4P+;0C:)G<TC7V,_J5"_7MB0.$U6\T'K%_BNLWYI)*[,G997X9=O@'1Z;P+179N(HE1H>--O/"9UW..EAT=X.\("'(V7/Q6@KIJNCH^C?<O3/4BY:9MWY=,(_&I/GT6&MAYW8H5#%MCUNL;'4"AV(?_HM#3J>RB605QR:%J+2*<?=M>FGB<U,[;+Q;>%<%[.[7%V-XYV(:&K8E:]`X_PZN+`L_:35T6>,HS#V;!VO`URXAU\XI@6`(\`$[RG<PY\75WHE"!M'Y/_H$S`'DE@D*TTY@HJ,R&.@%,87L981>`UI]'WX6YF@%/:=Z!Z$XTDP3Z`BX6EZZ7M!>G5FUV(5E=DK4N0_[EKLLM`P]*;*C+LA4\Y;;\R#;?4*P@;*<"43(`$B4Y_UP-T']7O*/AI0=6OY>L%$<K,XK*0KL]W0P,6]1<3PA?4J.`]6K>\`A%/[V-5!!!!!!!!"!!!!#Y!!!!%!!!!!!!!!!Q!!5*%3&!!!!!!!!-!!!!%!!!!!!!!!')!!!"S?*RD9'$)%Z"A_M>1^Z?"3?!LE#(^FY&:U)`R.Q-$JZ`!93$.+#!*&*<^S]!OK!U7VD[CS]%!";JMD"S3()=&/=!S(#U;$0```_@Y?O1;8-52(TB4::9]BQ1!&'):!!!!!!!!"!!!!!=!!!-V!!!!#!!!!#&@<GF@4'&T>%NO<X>O4X>O;7ZH4&:$<'&T=U.M>8.U:8)!!!#')!#!!!!!!!%!#!!Q`````Q!"!!!!!!"K!!!!!A"+!0%!!!!!!!!!!QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=QZS:8&V:8.U8WFE,G.U<!!61!A!#H*F=86F=X2@;71!!"B!5!!"!!!0=G6R>W6T>$J3:8&V:8.U!!%!!1!!!!!!!!!;4&:$<'&T=V"S;8:B>'6%982B6'&C4X*E:8)!!!!J)!#!!!!!!!)!"1!(!!!-!%!!!@````]!!!!"!!%!!!!"!!!!!!!!!!!!!!!<4&:$<'&T=V"S;8:B>'6%982B6'FN:8.U97VQ!!!!'3!!A!!!!!!"!!5!"Q!!!1!!Z'V!O1!!!!!!!!!G4&:$<'&T=V"S;8:B>'6%982B4'&T>%&Q='RJ:725;7VF=X2B<8!!!!!:)!#!!!!!!!%!"1!(!!!"!!$E<5#Z!!!!!!!!!"J-6E.M98.T5(*J>G&U:52B>'&5?8"F2'6T9Q!!!)9A!)!!!!!!!1!)!$$`````!!%!!!!!!'I!!!!#!%I!]1!!!!!!!!!$$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T$H*F=86F=X2@;71O9X2M!"6!#!!+=G6R>76T>&^J:!!!'%"1!!%!!!^3:8&V:8.U,GRW9WRB=X-!!1!"!!!!!!!!!"Z-6E.M98.T5(*J>G&U:52B>'&%:GRU2'&U96.J?G5!!!!:)!#!!!!!!!%!"1!$!!!"!!!!!!!)!!!!!!!!!"J-6E.M98.T5(*J>G&U:52B>'&%:GRU2'&U91!!!(IA!)!!!!!!!A"+!0%!!!!!!!!!!QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=QZS:8&V:8.U8WFE,G.U<!!61!A!#H*F=86F=X2@;71!!"B!5!!"!!!05G6R>76T>#ZM>G.M98.T!!%!!1!!!!!!!!!!!!!!!!!!!"2/33Z-6CZ"<'QO5W^V=G.F4WZM?1!!!"5A!)!!!!!!!1!%!#%!!1!!!1!!!!!!!!!!!!!%!!1!$1!!!!1!!!"P!!!!+!!!!!)!!!1!!!!!"Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%H!!!#A8C=H:$,3M.1&%68=L6.(_F$\5."S-C"AU[=3V"QY+BU,'D-1Q+2W/3W/P3X`"^`I(`A36)J[#$1<$D=@8*:>Z]$H(($BOJ4>B9OX].=TZ*V%D`X&_&S64E`]@+]FV8_-1ZGPE[Q81MT$O"_8]*)#/V>$R\9@,_[8`7ETK]P-*@O(!0D`$::Z4L-H$2SSEP/7R;P02U[A;=^$E7UE6@5&#6'<3V89FJO%R5F,VDOJUI8OGK%;=2![)IG&CWV#C+O^ZWW*1C[:>;/UB_"P$\(F.JF_(=2&_7V8OV)*F);24%1`*/E/O"/O!Y$BJ+\U&%Z?S7VV@`/\M^RK7IX"C@<-(8\<?.4:,!E12&)BBX)Q24<Q+<0C$%4!5W9SGH-+=90Z43(11!!!!"F!!%!!A!$!!1!!!")!!]%!!!!!!]!W1$5!!!!51!0"!!!!!!0!.E!V!!!!&I!$Q1!!!!!$Q$:!.1!!!"DA!#%!)!!!!]!W1$5#&.F:W^F)&6*#&.F:W^F)&6*#&.F:W^F)&6*!4!!!!"35V*$$1I!!UR71U.-1F:8!!!3M!!!"&1!!!!A!!!3E!!!!!!!!!!!!!!!)!!!!$1!!!2)!!!!(5R*1EY!!!!!!!!"<%R75V)!!!!!!!!"A&*55U=!!!!!!!!"F%.$5V1!!!!!!!!"K%R*>GE!!!!!!!!"P%.04F!!!!!!!!!"U&2./$!!!!!!!!!"Z%2'2&-!!!!!!!!"_%R*:(-!!!!!!!!#$&:*1U1!!!!!!!!#)(:F=H-!!!!%!!!#.&.$5V)!!!!!!!!#G%>$5&)!!!!!!!!#L%F$4UY!!!!!!!!#Q'FD<$A!!!!!!!!#V%R*:H!!!!!!!!!#[%:128A!!!!!!!!#`%:13')!!!!!!!!$%%:15U5!!!!!!!!$*&:12&!!!!!!!!!$/%R*9G1!!!!!!!!$4%*%28A!!!!!!!!$9%*%3')!!!!!!!!$>%*%5U5!!!!!!!!$C&:*6&-!!!!!!!!$H%253&!!!!!!!!!$M%V6351!!!!!!!!$R%B*5V1!!!!!!!!$W&:$6&!!!!!!!!!$\%:515)!!!!!!!!%!!!!!!$`````!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!`````Q!!!!!!!!$-!!!!!!!!!!$`````!!!!!!!!!/!!!!!!!!!!!0````]!!!!!!!!![!!!!!!!!!!!`````Q!!!!!!!!&Q!!!!!!!!!!$`````!!!!!!!!!8A!!!!!!!!!!0````]!!!!!!!!"J!!!!!!!!!!!`````Q!!!!!!!!(Q!!!!!!!!!!$`````!!!!!!!!!A!!!!!!!!!!"0````]!!!!!!!!$;!!!!!!!!!!(`````Q!!!!!!!!.]!!!!!!!!!!D`````!!!!!!!!!YQ!!!!!!!!!#@````]!!!!!!!!$I!!!!!!!!!!+`````Q!!!!!!!!/Q!!!!!!!!!!$`````!!!!!!!!!]1!!!!!!!!!!0````]!!!!!!!!$X!!!!!!!!!!!`````Q!!!!!!!!0Q!!!!!!!!!!$`````!!!!!!!!"(1!!!!!!!!!!0````]!!!!!!!!)?!!!!!!!!!!!`````Q!!!!!!!!DY!!!!!!!!!!$`````!!!!!!!!#11!!!!!!!!!!0````]!!!!!!!!-[!!!!!!!!!!!`````Q!!!!!!!!TQ!!!!!!!!!!$`````!!!!!!!!$0A!!!!!!!!!!0````]!!!!!!!!.#!!!!!!!!!!!`````Q!!!!!!!!U1!!!!!!!!!!$`````!!!!!!!!$8A!!!!!!!!!!0````]!!!!!!!!.A!!!!!!!!!!!`````Q!!!!!!!"#]!!!!!!!!!!$`````!!!!!!!!%-1!!!!!!!!!!0````]!!!!!!!!1T!!!!!!!!!!!`````Q!!!!!!!"$Y!!!!!!!!!)$`````!!!!!!!!%C1!!!!!#V*F=86F=X1O9X2M!!!!!! + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!"7=5F.31QU+!!.-6E.$4%*76Q!!%5A!!!25!!!!)!!!%3A!!!!C!!!!!AVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=Q!!!!!!I#!!A!!!-!!!#!!%1!!!!!1!!Q!]!,Q!(U#!)A!!!!!"!!%!"P````]!!!!!!!!!!!!!!!"(:>,WK5C54I+^X\%EI"%;!!!!$!!!!"!!!!!!#V1L:,&UE%CLJ`K=*?CW8.1>D.G0!,)%[9!*G/TY1HY!!!!!!!!!!-4A8WM-HE.(K[>+6EH@>@M"!!!!`````^1>D.G0!,)%[9!*G/TY1HY!!!!1^('":#C#4.4BDS*WQN#IJ!!!!!1!!!!!!!!!AA!"4&:$1Q!!!!)!!F:*4%)!!!!!5&2)-!!!!!5!!1!"!!!!!!)!!F:*1U-!!!!!!1ZS:8&V:8.U8WFE,G.U<!"16%AQ!!!!&1!"!!-!!!ZS:8&V:8.U8WFE,G.U<!!!!!)!!@]!!!!"!!%!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!-!!!!!!!)!!A!!!!!!*Q!!!#BYH'0A9G"O9,D!!-3-1-T5Q01$S0\!)-!"%I71)!Q!VYI,#Q!!!!")!!!"'(C=9W$!"0_"!%AR-D#Q#!"J&D2R-!VD5R0A-B?886"R:KA<73'CD%!RZB>!"B.)$KK'!S,(QI(E(4D!&'&A!!#8K#9/!!!!$!!"6EF%5Q!!!!!!!Q!!!"-!!!!*?*RD9'"A:'1!!A!!&!!$!!!!!!QA!)!!!!!%-D!O-!!!!!!-)!#!!!!!"$)Q,D!!!!!!$#!!A!!!!!1S-#YQ!!!!!!QA!)!!!!!%-D!O-!!!!!!-)!#!!!!!"$)Q,D!!!!!!$1!!!!!!!!!!!!!!!!!!!!!!!!#!`````Y!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A!!!!9!!!!'!!!!"A'!!!9'9!!''"A!"G!'!!;!!1!'Q!-!"L!.!!;-/Q!'A^5!"I#L!!;!V1!'A+M!"I$6!!;!KQ!'A.5!"G#O!!99W!!'"O!!"A'!!!@````]!!!1!````````````````````````````````````````````!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!"15!!!!!!!!!!!!!!!!!!!!!!!!!!0``!!!!!!!!";V:A[U&!!!!!!!!!!!!!!!!!!!!!!!!``]!!!!!";V:,S]P,Y/N"1!!!!!!!!!!!!!!!!!!!!$``Q!!";V:,S]P,S]P,S_$L15!!!!!!!!!!!!!!!!!!0``!).:,S]P,S]P,S]P,S]PA[U!!!!!!!!!!!!!!!!!``]!76EP,S]P,S]P,S]P,S`_AQ!!!!!!!!!!!!!!!!$``Q":AY.:,S]P,S]P,S`_`PZ:!!!!!!!!!!!!!!!!!0``!&G$AY/$73]P,S`_`P\_`FE!!!!!!!!!!!!!!!!!``]!79/$AY/$AVGN`P\_`P\_71!!!!!!!!!!!!!!!!$``Q":AY/$AY/$A`\_`P\_`PZ:!!!!!!!!!!!!!!!!!0``!&G$AY/$AY/$`P\_`P\_`FE!!!!!!!!!!!!!!!!!``]!79/$AY/$AY0_`P\_`P\_71!!!!!!!!!!!!!!!!$``Q":AY/$AY/$A`\_`P\_`PZ:!!!!!!!!!!!!!!!!!0``!&G$AY/$AY/$`P\_`P\_`FE!!!!!!!!!!!!!!!!!``]!AY/$AY/$AY0_`P\_`P[$AQ!!!!!!!!!!!!!!!!$``Q!!76G$AY/$A`\_`P[$L6E!!!!!!!!!!!!!!!!!!0``!!!!!&G$AY/$`P[$AVE!!!!!!!!!!!!!!!!!!!!!``]!!!!!!!":AY/$AS]!!!!!!!!!!!!!!!!!!!!!!!$``Q!!!!!!!!!!73]!!!!!!!!!!!!!!!!!!!!!!!!!!0```````````````````````````````````````````Q!!!!)!!A!!!!!!?A!"2F")5!!!!!%!!F2%1U-!!!!"$H*F=86F=X2@;71O9X2M!&"53$!!!!!6!!%!!Q!!$H*F=86F=X2@;71O9X2M!!!!!A!!`Q!!!!%!!1!!!!!!!A!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!,&"53$!!!!!!!!!!!!!$!!!!!!!)!!!!!1!!!!!!!!0=!!!)48C=L66.<".('0VGM[&DRV<')13-5OV[.892QD2+7Q)J`WQK/;!)'J#A"[BB$5W<*GXMI*\AME4EA*!ISK%35A^2J*YY"+G8(&"F^<+(QK66I:)BBVZ<C<]I:<V]M_PVLBX6I+I_D%<7^^\\ZHVP:A&IDGW3KH$*"M+?Y?;)$6($)A$F,)8;,T-$\!4Z"UBXENCQHZZA$[5K[<5B:FA:WK@0QN^9\4RS<M".!OQRFKZD333,WN"J7"P*-+]Q@LO8T\<\L((I:>>)64L*F2@UGDG*AG"O%7MC3[J!^*1MG^L2`%4"Z/,@3*9G8=K)$5SXYF/]]AYSIP20,C5Z$@.EQK=%J.Q#CYO,!3DBA4*O'TM&:BZJ\Z$4,4">C#HSSD98%X5RK(0(V^'6[L?C>Q&KBK\H&C)2^IV`YHF@3F@M`3ZM?8E:9<D79*`:U-UL"WG30D9?N-?0G4]#!6)_1ZX@H"]%0D%CBO$7>O%=UI/%D?*_V);NJC6^#L,1EF(L1\DC4E(WJ\"<4/%D>QI2@::"-)9LLRG$,J?VNQ_.4R>,B3FV]LR[<DR@,+J@49V>T*=+KJ%PZ>=/;)^O21<%[979GQV)9&`PQ6$9\%F97&B!!X!.I(M2OJ&8[LAY5A^!LG[Y%2AO6!0H^K&T_MLR#]+^^+$5'.FN174\-<)*VNR71W1`_0]DOQ/4>+EJMH!!.$D7)HY$(CA571V2`8#A"79H9CYX2&:$H8Z@JV6E>[W*L/:,V3-\.T@8!%0D"_O2F1HR)GP?=VY[,U6QHTN0Y(UY&1KOA>0AFCL?C\_%>3ABT'`TT2`RE[L@6I;$K(;A`@N?;X^:CUY6PJYO&%NHRISG+2SVY9*BL9/$?E5:&K3RWAG&`&O_`*C1(WGY+-Z46#@1X6J>F5"=&KZ"E_YD'TYX,$H3TSP2U)6IBU\IADW_PU\#^8>V>28^R>6D.6.Q6::-,P[*:-V3?HP@_2JNT)9P]+\MY"8*:?WLX_E9R*"J;7E*G8".+(A_C36*N5UN+U'*[J;ER-KU7D</55X1LSU6=U_*N<%UIA4>D(P>N)7[C3+_Z\^X=`<.OTH<U%W($6^C.ZD-4G_->Q0(.W!XPT`Y!\O:HPH?\;:>3!C7F4Z0TNW`'^JP$_WTQ@\&`:!G8K#*JL?,9'Z[ACPU\W`8*&[B^#F)@Q,[SM=>XAP7FJG2-CJE5EZ'#Z8G1K8RQV[JD)`>H^?RFZ(1QU!@`DR>`Y$45;Y\L1L9%.*@NG'$@KDL&Z:$6W)U2Y@9,8QU]@XMI<@IM`+P^5^]_5A>;>[$5<+:@[@14;]![OZ1N1!!!!1!!!!O!!!!"!!!!!!!!!!-!!&#2%B1!!!!!!!$!!!!"!!!!!!!!!"C!!!!=HC=9W"AS"/190L(50?8A5HA+Z!B`:?"7>#0]4=$![?@Q'%AT3AA#237`=P!,KA.&N9_IMP"!!7K<)Q=EBS("4H!-BQN'AT````H_(LE'FT&%2]Y5W770)=%!"2C'1!!!!!!!!1!!!!(!!!$.1!!!!A!!!!B8WZJ8URB=X2,<G^X<E^X<GFO:UR71WRB=X.$<(6T>'6S!!!!BC!!A!!!!!!"!!A!-0````]!!1!!!!!!;A!!!!)!3A$R!!!!!!!!!!-.=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-/=G6R>76T>&^J:#ZD>'Q!&5!)!!JS:8&V:8.U8WFE!!!91&!!!1!!$X*F=8>F=X1[5G6R>76T>!!"!!%!!!!!!!!!'ER71WRB=X.1=GFW982F2'&U962B9E^S:'6S!!!!+3!!A!!!!!!#!!5!"Q!!$!"!!!(`````!!!!!1!"!!!!!1!!!!!!!!!!!!!!'UR71WRB=X.1=GFW982F2'&U962J<76T>'&N=!!!!"EA!)!!!!!!!1!&!!=!!!%!!/2N1,E!!!!!!!!!*ER71WRB=X.1=GFW982F2'&U95RB=X2"=("M;76E6'FN:8.U97VQ!!!!'3!!A!!!!!!"!!5!"Q!!!1!!Z'V!O1!!!!!!!!!;4&:$<'&T=V"S;8:B>'6%982B6(FQ:52F=W-!!!#')!#!!!!!!!%!#!!Q`````Q!"!!!!!!"K!!!!!A"+!0%!!!!!!!!!!QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=QZS:8&V:8.U8WFE,G.U<!!61!A!#H*F=86F=X2@;71!!"B!5!!"!!!05G6R>76T>#ZM>G.M98.T!!%!!1!!!!!!!!!?4&:$<'&T=V"S;8:B>'6%982B2':M>%2B>'&4;8JF!!!!'3!!A!!!!!!"!!5!!Q!!!1!!!!!!#!!!!!!!!!!;4&:$<'&T=V"S;8:B>'6%982B2':M>%2B>'%!!!"[)!#!!!!!!!)!3A$R!!!!!!!!!!-.=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-/=G6R>76T>&^J:#ZD>'Q!&5!)!!JS:8&V:8.U8WFE!!!91&!!!1!!$V*F=86F=X1O<(:D<'&T=Q!"!!%!!!!!!!!!!!!!!!!!!!!54EEO4&9O17RM,F.P>8*D:5^O<(E!!!!6)!#!!!!!!!%!"!!B!!%!!!%!!!!!!!!!!!!!"!!%!!U!!!!%!!!!<Q!!!#A!!!!#!!!%!!!!!!=!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"*Q!!!I&YH*W1SUL$5"2&6X+V42`J1_V$1=D)A9./H%N1=/#I>#RIT%-#E>DENDLUN`Q@@["`Y%F3+?AAU'QYX(VS78?@!ZRRQY<K5X97,N`$8-_3>2)`^R@B=F5Z0`(SP*>6`D%/:LZ/M&U,-Q\A@F`#3!DN81]?W(S`OF`VJ-[P,T#8\BQ$Y`QW7?5[T*QU=MJ,TFM7LTU>/I'H01Z&N*&8V"1F2GUN6W*;<B-6*3^9\K>+&\JKB'H%1/C+*B9NN1ICLP?>NC5)OG87DN)@A<Q_RZ4;:@BX%2@FN6\N3#:3'E5R%0S4J$LA4LA/!Y;3O^"2/8MFN>8`TO\0=;FK.Q9HWT"V_WXD5W3Q*%%23)9>S-%5W]#GTYAR%Q&.G-JJT#H'$_5UBU%!!!!!<A!"!!-!!Q!%!!!!3!!+!!!!!!!,!-5!SA!!!&1!#A!!!!%!#Q$&!-I!!!"A!!I!!!!!!!M!R1$+!!!!<)!!A!#!!!!-@`]!!1N/;7VC>8-A5W&O=QN/;7VC>8-A5W&O=QN/;7VC>8-A5W&O=Q%Q!!"35V*$$1I!!UR71U.-1F:8!!!23!!!"&1!!!!A!!!2+!!!!!!!!!!!!!!!)!!!!$1!!!2)!!!!(5R*1EY!!!!!!!!"<%R75V)!!!!!!!!"A&*55U=!!!!!!!!"F%.$5V1!!!!!!!!"K%R*>GE!!!!!!!!"P%.04F!!!!!!!!!"U&2./$!!!!!!!!!"Z%2'2&-!!!!!!!!"_%R*:(-!!!!!!!!#$%>$2%E!!!!!!!!#)(:F=H-!!!!%!!!#.%>$5&)!!!!!!!!#G%F$4UY!!!!!!!!#L'FD<$A!!!!!!!!#Q%.11T)!!!!!!!!#V%R*:H!!!!!!!!!#[%:128A!!!!!!!!#`%:13')!!!!!!!!$%%:15U5!!!!!!!!$*&:12&!!!!!!!!!$/%R*9G1!!!!!!!!$4%*%28A!!!!!!!!$9%*%3')!!!!!!!!$>%*%5U5!!!!!!!!$C&:*6&-!!!!!!!!$H%253&!!!!!!!!!$M%V6351!!!!!!!!$R%B*5V1!!!!!!!!$W&:$6&!!!!!!!!!$\%:515)!!!!!!!!%!!!!!!$`````!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!`````Q!!!!!!!!$-!!!!!!!!!!$`````!!!!!!!!!/!!!!!!!!!!!0````]!!!!!!!!![!!!!!!!!!!!`````Q!!!!!!!!&Q!!!!!!!!!!$`````!!!!!!!!!8A!!!!!!!!!!0````]!!!!!!!!"J!!!!!!!!!!!`````Q!!!!!!!!(Q!!!!!!!!!!$`````!!!!!!!!!A!!!!!!!!!!"0````]!!!!!!!!#'!!!!!!!!!!(`````Q!!!!!!!!)I!!!!!!!!!!D`````!!!!!!!!!DA!!!!!!!!!#@````]!!!!!!!!#3!!!!!!!!!!+`````Q!!!!!!!!*9!!!!!!!!!!$`````!!!!!!!!!GA!!!!!!!!!!0````]!!!!!!!!#@!!!!!!!!!!!`````Q!!!!!!!!-!!!!!!!!!!!$`````!!!!!!!!"Q1!!!!!!!!!!0````]!!!!!!!!($!!!!!!!!!!!`````Q!!!!!!!!?-!!!!!!!!!!$`````!!!!!!!!"ZA!!!!!!!!!!0````]!!!!!!!!,?!!!!!!!!!!!`````Q!!!!!!!!O!!!!!!!!!!!$`````!!!!!!!!#YA!!!!!!!!!!0````]!!!!!!!!,G!!!!!!!!!!!`````Q!!!!!!!!OA!!!!!!!!!!$`````!!!!!!!!$!A!!!!!!!!!!0````]!!!!!!!!-%!!!!!!!!!!!`````Q!!!!!!!!^-!!!!!!!!!!$`````!!!!!!!!$V1!!!!!!!!!!0````]!!!!!!!!08!!!!!!!!!!!`````Q!!!!!!!!_)!!!!!!!!!)$`````!!!!!!!!%,1!!!!!#V*F=86F=X1O9X2M!!!!!! !!!!!AVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=V"53$!!!!!!!!!!!!!!!!!!"!!"!!!!!!!!!1!!!!%!*E"1!!!?=G6R>W6T>$J3:8&V:8.U,GRW9WRB=X.@.$5R.$)Z!!!"!!!!!!!!!!!!!!%/4'&C6EF&6S"09GJF9X1!5&2)-!!!!!!!!!!!!#!!A!!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!!!%!*E"1!!!?=G6R>W6T>$J3:8&V:8.U,GRW9WRB=X.@.$5R.$)Z!!!"!!!!!!!"`````A!!!!!"$ERB9F:*26=A4W*K:7.U!&"53$!!!!!!!!!!!!!A!)!!!!!!!!!!!!!!!!!!!1!!!!!!!1!!!!!#!%Y!]1!!!!!!!!!$$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T%H*F=86F=X2@;72@;7ZU,G.U<!!61!-!#H*F=86F=X2@;71!!&Q!]?2I[<]!!!!$$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T#V*F=86F=X1O9X2M!#J!5!!"!!!>1WRV=X2F=C"P:C"D<'&T=S"Q=GFW982F)'2B>'%!!1!"!!!!!@````]!!!!!!!!!!!%/4'&C6EF&6S"09GJF9X1!5&2)-!!!!!!!!!!!!#!!A!!!!!!!!!!!!!!!!!!"!!!!!!!#!!!!!!)!3A$R!!!!!!!!!!-.=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-/=G6R>76T>&^J:#ZD>'Q!&5!)!!JS:8&V:8.U8WFE!!"=!0(E<5#Z!!!!!QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=QN3:8&V:8.U,G.U<!!K1&!!!1!!(5.M>8.U:8)A<W9A9WRB=X-A=(*J>G&U:3"E982B!!%!!1!!!!%!!!!!!!!!!!!!!!!!!!!!!1Z-97*73568)%^C;G6D>!"16%AQ!!!!!!!!!!!!*!#!!!!!!!!!!!!!!!%!!!!M=G6R>W6T>#ZM>GRJ9DJ3:8&V:8.U,GRW9WRB=X.@.$5R.$)Z,GRW9WRB=X- @@ -91,8 +90,8 @@ 1 1342972432 - - )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!&+!!!!#A!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!"B!)2.I98.@>(*B<H.Q<X*U8W6S=G^S!$2!=!!?!!!@$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T!!N3:8&V:8.U)'^V>!!A1&!!!Q!!!!%!!B.F=H*P=C"J<C!I<G]A:8*S<X)J!$2!=!!?!!!@$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T!!J3:8&V:8.U)'FO!!"B!0!!$!!$!!1!"1!'!!1!"!!%!!1!"Q!%!!1!#!-!!(A!!!U)!!!!!!!!#1!!!!U,!!!!!!!!!!!!!!!!!!!!!!!!#A!!!!!!!!!!!!!!%!!!$1!!!!Q!!!!!!!!!!!!!!1!*!!!!!! + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!&!!!!!#A!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!!Z!)1FI98.@:8*S<X)!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#V*F=86F=X1A<X6U!#"!5!!$!!!!!1!#%W6S=G^S)'FO)#BO<S"F=H*P=CE!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#F*F=86F=X1A;7Y!!'%!]!!-!!-!"!!&!!9!"!!%!!1!"!!(!!1!"!!)!Q!!?!!!$1A!!!!!!!!*!!!!$1M!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!!!!!1!!!.!!!!$!!!!!!!!!!!!!!"!!E!!!!! -1 16777344 true @@ -100,8 +99,17 @@ 1 1342972432 - - )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%7!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!"B!-0````]0>(*B<H.Q<X*U8W6S=G^S!$2!=!!?!!!@$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T!!J3:8&V:8.U)'FO!!!A1&!!!Q!!!!%!!B.F=H*P=C"J<C!I<G]A:8*S<X)J!'%!]!!-!!-!"!!&!!9!"!!%!!1!"!!(!!1!"!!'!Q!!?!!!$1A!!!!!!!!*!!!!$1M!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!!!!!1!!!.!!!!$!!!!!!!!!!!!!!"!!A!!!!! + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!(L!!!!#A!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!,E!]?41,WY!!!!$$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T'X*F=8>F=X2@:8*S<X*@;WFO:&^F<H6N,G.U<!"X1"9!#Q2O<WZF"X2J<76P>81+9W^O<G6D>'FP<ABS:72J=G6D>!ZJ<H:B<'FE8X.U982V=Q2C<W2Z"G2F9W^E:1>C>7FM:'6S"X*F=86F=X1,:GFM:6^T?8.U:7U(>7ZL<G^X<A!+:8*S<X*@;WFO:!!!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#V*F=86F=X1A<X6U!#"!5!!$!!!!!1!#%W6S=G^S)'FO)#BO<S"F=H*P=CE!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#F*F=86F=X1A;7Y!!'%!]!!-!!-!"!!&!!9!"!!%!!1!"!!(!!1!"!!)!Q!!?!!!$1A!!!!!!!!*!!!!$1M!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!!!!!1!!!.!!!!$!!!!!!!!!!!!!!"!!E!!!!! + -1 + 16777344 + true + 1 + 1 + 1342710288 + + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%1!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!"*!-0````]*:8*S<X*@>8*M!$2!=!!?!!!@$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T!!J3:8&V:8.U)'FO!!!A1&!!!Q!!!!%!!B.F=H*P=C"J<C!I<G]A:8*S<X)J!'%!]!!-!!-!"!!&!!9!"!!%!!1!"!!(!!1!"!!'!Q!!?!!!$1A!!!!!!!!*!!!!$1M!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!!!!!1!!!.!!!!$!!!!!!!!!!!!!!"!!A!!!!! -1 16777344 true @@ -109,6 +117,24 @@ 1 1342972432 + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%5!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!":!-0````]-:8*S<X*@=W^V=G.F!!!U1(!!(A!!(QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=Q!+5G6R>76T>#"J<A!!)%"1!!-!!!!"!!)4:8*S<X)A;7YA+'ZP)'6S=G^S+1"B!0!!$!!$!!1!"1!'!!1!"!!%!!1!"Q!%!!1!"A-!!(A!!!U)!!!!!!!!#1!!!!U,!!!!!!!!!!!!!!!!!!!!!!!!#A!!!!!!!!!!!!!!%!!!$1!!!!Q!!!!!!!!!!!!!!1!)!!!!!! + -1 + 16777344 + true + 1 + 1 + 1342972432 + + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%5!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!":!-0````].:8*S<X*@<76T=W&H:1!U1(!!(A!!(QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=Q!+5G6R>76T>#"J<A!!)%"1!!-!!!!"!!)4:8*S<X)A;7YA+'ZP)'6S=G^S+1"B!0!!$!!$!!1!"1!'!!1!"!!%!!1!"Q!%!!1!"A-!!(A!!!U)!!!!!!!!#1!!!!U,!!!!!!!!!!!!!!!!!!!!!!!!#A!!!!!!!!!!!!!!%!!!$1!!!!Q!!!!!!!!!!!!!!1!)!!!!!! + -1 + 16777344 + true + 1 + 1 + 1342710288 + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!&$!!!!#A!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!"&!"A!,=X2B>(6T8W.P:'5!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#V*F=86F=X1A<X6U!#"!5!!$!!!!!1!#%W6S=G^S)'FO)#BO<S"F=H*P=CE!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#F*F=86F=X1A;7Y!!'%!]!!-!!-!"!!&!!9!"!!%!!1!"!!(!!1!"!!)!Q!!?!!!$1A!!!!!!!!*!!!!$1M!!!!!!!!!!!!!!!!!!!!!!!!+!!!!!!!!!!!!!!!1!!!.!!!!$!!!!!!!!!!!!!!"!!E!!!!! -1 @@ -118,6 +144,15 @@ 1 1342972432 + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%9!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!"J!-0````]1=G6T='^O=W6@>G6S=WFP<A!!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#F*F=86F=X1A;7Y!!#"!5!!$!!!!!1!#%W6S=G^S)'FO)#BO<S"F=H*P=CE!91$Q!!Q!!Q!%!!5!"A!%!!1!"!!%!!=!"!!%!!9$!!"Y!!!.#!!!!!!!!!E!!!!.#Q!!!!!!!!!!!!!!!!!!!!!!!!I!!!!!!!!!!!!!!"!!!!U!!!!-!!!!!!!!!!!!!!%!#!!!!!! + -1 + 16777344 + true + 1 + 1 + 1342972432 + @@ -130,6 +165,15 @@ 1082130946 4 + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!#P!!!!!1#H!0(EU#^O!!!!!QVS:8&X:8.U,GRW<'FC$V*F=86F=X1O<(:D<'&T=QF$<WZU=G^M)$%!>U!7!!M%<G^O:1>U;7VF<X6U#G.P<GZF9X2J<WY)=G6E;8*F9X1/;7ZW97RJ:&^T>'&U>8-%9G^E?1:E:7.P:'5(9H6J<'2F=A>S:8&V:8.U#W:J<'6@=XFT>'6N"X6O;WZP>WY!#G6S=G^S8WNJ<G1!!!%!!!!!!!! + -1 + 11534336 + true + 1 + 1 + 1074278912 + @@ -159,14 +203,14 @@ 1 1082139136 - - - )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%9!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!"J!-0````]1=G6T='^O=W6@>G6S=WFP<A!!.%"Q!"Y!!"].=G6R>W6T>#ZM>GRJ9A^3:8&V:8.U,GRW9WRB=X-!#F*F=86F=X1A;7Y!!#"!5!!$!!!!!1!#%W6S=G^S)'FO)#BO<S"F=H*P=CE!91$Q!!Q!!Q!%!!5!"A!%!!1!"!!%!!=!"!!%!!9$!!"Y!!!.#!!!!!!!!!E!!!!.#Q!!!!!!!!!!!!!!!!!!!!!!!!I!!!!!!!!!!!!!!"!!!!U!!!!-!!!!!!!!!!!!!!%!#!!!!!! - -1 - 16777344 - true - 1 - 1 - 1342972432 + + )!#!!!!!!!)!"1!&!!!-!%!!!@````]!!!!"!!%!!!%S!!!!#1!-1#%'=X2B>(6T!!!,1!-!"'.P:'5!!""!-0````]'=W^V=G.F!!!71&!!!Q!!!!%!!AFF=H*P=C"P>81!"!!!!$2!=!!?!!!@$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T!!N3:8&V:8.U)'^V>!!A1&!!!Q!!!!%!!B.F=H*P=C"J<C!I<G]A:8*S<X)J!$2!=!!?!!!@$8*F=8>F=X1O<(:M;7)05G6R>76T>#ZM>G.M98.T!!J3:8&V:8.U)'FO!!"B!0!!$!!$!!1!"!!&!!1!"!!%!!1!"A!%!!1!"Q-!!(A!!!U)!!!!!!!!!!!!!!U,!!!!!!!!!!!!!!!!!!!!!!!!#A!!!!!!!!!!!!!!#!!!$1!!!!Q!!!!!!!!!!!!!!1!)!!!!!! + -1 + 16777344 + true + 1 + 1 + 1342710288 + diff --git a/lv_src/Request/cancel.vi b/lv_src/Request/cancel.vi index eacbb85..3902c0a 100644 Binary files a/lv_src/Request/cancel.vi and b/lv_src/Request/cancel.vi differ diff --git a/lv_src/Request/destroy.vi b/lv_src/Request/destroy.vi index 6279ec0..5543516 100644 Binary files a/lv_src/Request/destroy.vi and b/lv_src/Request/destroy.vi differ diff --git a/lv_src/Request/get_error_kind.vi b/lv_src/Request/get_error_kind.vi new file mode 100644 index 0000000..2314e78 Binary files /dev/null and b/lv_src/Request/get_error_kind.vi differ diff --git a/lv_src/Request/get_error_message.vi b/lv_src/Request/get_error_message.vi new file mode 100644 index 0000000..86a108d Binary files /dev/null and b/lv_src/Request/get_error_message.vi differ diff --git a/lv_src/Request/get_error_source.vi b/lv_src/Request/get_error_source.vi new file mode 100644 index 0000000..3d9d168 Binary files /dev/null and b/lv_src/Request/get_error_source.vi differ diff --git a/lv_src/Request/get_error_url.vi b/lv_src/Request/get_error_url.vi new file mode 100644 index 0000000..693f694 Binary files /dev/null and b/lv_src/Request/get_error_url.vi differ diff --git a/lv_src/Request/get_has_error.vi b/lv_src/Request/get_has_error.vi new file mode 100644 index 0000000..c81e5cc Binary files /dev/null and b/lv_src/Request/get_has_error.vi differ diff --git a/lv_src/Request/get_has_transport_error.vi b/lv_src/Request/get_has_transport_error.vi deleted file mode 100644 index e0d39cf..0000000 Binary files a/lv_src/Request/get_has_transport_error.vi and /dev/null differ diff --git a/lv_src/Request/get_is_complete.vi b/lv_src/Request/get_is_complete.vi index 70deea9..994b93b 100644 Binary files a/lv_src/Request/get_is_complete.vi and b/lv_src/Request/get_is_complete.vi differ diff --git a/lv_src/Request/get_progress.vi b/lv_src/Request/get_progress.vi index 5e9938e..7358b09 100644 Binary files a/lv_src/Request/get_progress.vi and b/lv_src/Request/get_progress.vi differ diff --git a/lv_src/Request/get_received_bytes.vi b/lv_src/Request/get_received_bytes.vi index 9fa41c0..010a4e6 100644 Binary files a/lv_src/Request/get_received_bytes.vi and b/lv_src/Request/get_received_bytes.vi differ diff --git a/lv_src/Request/get_response_body.vi b/lv_src/Request/get_response_body.vi index beb998c..1a10451 100644 Binary files a/lv_src/Request/get_response_body.vi and b/lv_src/Request/get_response_body.vi differ diff --git a/lv_src/Request/get_response_headers.vi b/lv_src/Request/get_response_headers.vi index da27f54..4084375 100644 Binary files a/lv_src/Request/get_response_headers.vi and b/lv_src/Request/get_response_headers.vi differ diff --git a/lv_src/Request/get_response_status.vi b/lv_src/Request/get_response_status.vi index 5800961..8fe3f0b 100644 Binary files a/lv_src/Request/get_response_status.vi and b/lv_src/Request/get_response_status.vi differ diff --git a/lv_src/Request/get_response_version.vi b/lv_src/Request/get_response_version.vi index 9b515d5..1bfbbf6 100644 Binary files a/lv_src/Request/get_response_version.vi and b/lv_src/Request/get_response_version.vi differ diff --git a/lv_src/Request/get_total_bytes.vi b/lv_src/Request/get_total_bytes.vi index c9a80d3..41af3ae 100644 Binary files a/lv_src/Request/get_total_bytes.vi and b/lv_src/Request/get_total_bytes.vi differ diff --git a/lv_src/Request/get_transport_error.vi b/lv_src/Request/get_transport_error.vi deleted file mode 100644 index 7dfef2a..0000000 Binary files a/lv_src/Request/get_transport_error.vi and /dev/null differ diff --git a/lv_src/Request/is_valid.vi b/lv_src/Request/is_valid.vi index b85c0f5..cd2f492 100644 Binary files a/lv_src/Request/is_valid.vi and b/lv_src/Request/is_valid.vi differ diff --git a/lv_src/Request/raise_any_errors.vi b/lv_src/Request/raise_any_errors.vi new file mode 100644 index 0000000..b5023c1 Binary files /dev/null and b/lv_src/Request/raise_any_errors.vi differ diff --git a/lv_src/Request/request_id.ctl b/lv_src/Request/request_id.ctl index 3205e23..f4099f1 100644 Binary files a/lv_src/Request/request_id.ctl and b/lv_src/Request/request_id.ctl differ diff --git a/lv_src/Request/reqwest_error_kind_enum.ctl b/lv_src/Request/reqwest_error_kind_enum.ctl new file mode 100644 index 0000000..be000c1 Binary files /dev/null and b/lv_src/Request/reqwest_error_kind_enum.ctl differ diff --git a/lv_src/Request/set_ref.vi b/lv_src/Request/set_ref.vi index 270d0f1..bb33a2d 100644 Binary files a/lv_src/Request/set_ref.vi and b/lv_src/Request/set_ref.vi differ diff --git a/lv_src/lv_reqwest_32.dll b/lv_src/lv_reqwest_32.dll index 83aeb0c..efd2ce6 100644 Binary files a/lv_src/lv_reqwest_32.dll and b/lv_src/lv_reqwest_32.dll differ diff --git a/lv_src/lv_reqwest_64.dll b/lv_src/lv_reqwest_64.dll index 74b5ba7..ef152db 100644 Binary files a/lv_src/lv_reqwest_64.dll and b/lv_src/lv_reqwest_64.dll differ diff --git a/lv_src/lv_reqwest_64.so b/lv_src/lv_reqwest_64.so index 3ee2c20..96e5239 100755 Binary files a/lv_src/lv_reqwest_64.so and b/lv_src/lv_reqwest_64.so differ diff --git a/lv_src/reqwest.lvproj b/lv_src/reqwest.lvproj index aa28d5f..8a76b39 100644 --- a/lv_src/reqwest.lvproj +++ b/lv_src/reqwest.lvproj @@ -196,8 +196,10 @@ + + - + diff --git a/lv_src/test_client.vi b/lv_src/test_client.vi index fe7e6c9..57d6886 100644 Binary files a/lv_src/test_client.vi and b/lv_src/test_client.vi differ diff --git a/src/async_support.rs b/src/async_support.rs index 246671c..d49f3ba 100644 --- a/src/async_support.rs +++ b/src/async_support.rs @@ -1,12 +1,54 @@ -use crate::types::{RequestProgress, RequestStatus, Response}; +use crate::types::{ + ERROR_KIND_BODY, ERROR_KIND_BUILDER, ERROR_KIND_CONNECTION, ERROR_KIND_DECODE, + ERROR_KIND_FILE_SYSTEM, ERROR_KIND_INVALID_STATUS, ERROR_KIND_NONE, ERROR_KIND_REDIRECT, + ERROR_KIND_REQUEST, ERROR_KIND_TIMEOUT, ERROR_KIND_UNKNOWN, RequestProgress, RequestStatus, + Response, +}; use reqwest::Response as ReqwestResponse; use std::{ + error::Error as StdError, fs::File, future::Future, io::Write, sync::{Arc, RwLock}, }; +fn analyze_reqwest_error(e: &reqwest::Error) -> (u8, String, Option, Option) { + let error_kind = if e.is_timeout() { + ERROR_KIND_TIMEOUT + } else if e.is_connect() { + ERROR_KIND_CONNECTION + } else if e.is_redirect() { + ERROR_KIND_REDIRECT + } else if e.is_status() { + ERROR_KIND_INVALID_STATUS + } else if e.is_body() { + ERROR_KIND_BODY + } else if e.is_decode() { + ERROR_KIND_DECODE + } else if e.is_builder() { + ERROR_KIND_BUILDER + } else if e.is_request() { + ERROR_KIND_REQUEST + } else { + ERROR_KIND_UNKNOWN + }; + + let main_message = e.to_string(); + + let url = e.url().map(|u| u.to_string()); + + let source = e.source().map(|s| s.to_string()); + + let detailed_message = if let Some(ref src) = source { + format!("{}: {}", main_message, src) + } else { + main_message + }; + + (error_kind, detailed_message, url, source) +} + // Process a request and handle the response stream within an async context pub async fn process_request( request_future: impl Future>, @@ -56,6 +98,9 @@ pub async fn process_request( version, headers, body: Err(format!("File write error: {e}")), + error_kind: ERROR_KIND_FILE_SYSTEM, + error_url: None, + error_source: Some(e.to_string()), }); return; } @@ -74,6 +119,9 @@ pub async fn process_request( version, headers, body: Err(format!("Network error: {e}")), + error_kind: ERROR_KIND_CONNECTION, + error_url: None, + error_source: Some(e.to_string()), }); return; } @@ -88,6 +136,9 @@ pub async fn process_request( version, headers, body: Ok(Vec::new()), // Empty body since it was streamed to file + error_kind: ERROR_KIND_NONE, + error_url: None, + error_source: None, }); } Err(e) => { @@ -99,6 +150,9 @@ pub async fn process_request( version, headers, body: Err(format!("File open error: {e}")), + error_kind: ERROR_KIND_FILE_SYSTEM, + error_url: None, + error_source: Some(e.to_string()), }); } } @@ -119,6 +173,9 @@ pub async fn process_request( version, headers, body: Ok(bytes_vec), + error_kind: ERROR_KIND_NONE, + error_url: None, + error_source: None, }); } Err(e) => { @@ -130,6 +187,9 @@ pub async fn process_request( version, headers, body: Err(format!("Body read error: {e}")), + error_kind: ERROR_KIND_BODY, + error_url: None, + error_source: Some(e.to_string()), }); } } @@ -137,13 +197,18 @@ pub async fn process_request( } Err(e) => { // Request error (connection failed, etc.) + let (error_kind, error_message, error_url, error_source) = analyze_reqwest_error(&e); + let mut progress = progress_info.write().unwrap(); progress.status = RequestStatus::Error; progress.final_response = Some(Response { - status: reqwest::StatusCode::BAD_REQUEST, // Default status code for errors - version: reqwest::Version::HTTP_11, // Default to HTTP/1.1 for errors + status: e.status().unwrap_or(reqwest::StatusCode::BAD_REQUEST), + version: reqwest::Version::HTTP_11, // Default to HTTP/1.1 for errors headers: reqwest::header::HeaderMap::new(), - body: Err(format!("Request error: {e}")), + body: Err(error_message), + error_kind, + error_url, + error_source, }); } } diff --git a/src/ffi/request.rs b/src/ffi/request.rs index 86b3c7f..e016be6 100644 --- a/src/ffi/request.rs +++ b/src/ffi/request.rs @@ -120,55 +120,6 @@ pub extern "C" fn request_read_response_body( ptr::null_mut() // Return null if request not found or no response yet } -/// Get the error message as a C string directly from a request ID -#[unsafe(no_mangle)] -pub extern "C" fn request_read_transport_error( - request_id: RequestId, - num_bytes: *mut u32, -) -> *mut c_char { - if num_bytes.is_null() { - return ptr::null_mut(); - } - - // Get the response info directly from the tracker - let tracker = REQUEST_TRACKER.lock().unwrap(); - - if let Some(progress_info) = tracker.get(&request_id) { - let progress = progress_info.read().unwrap(); - if let Some(ref response) = progress.final_response { - // If there's no error in the response, return null - let error_str = match &response.body { - Err(error_str) => error_str, - Ok(_) => { - unsafe { *num_bytes = 0 }; - return ptr::null_mut(); - } - }; - - // Calculate size including null terminator - let str_len = error_str.len(); - unsafe { *num_bytes = str_len as u32 }; - - // Allocate memory for the string + null terminator - let c_str_ptr = unsafe { libc::malloc(str_len + 1) as *mut c_char }; - if c_str_ptr.is_null() { - return ptr::null_mut(); - } - - // Copy the string and add null terminator - unsafe { - std::ptr::copy_nonoverlapping(error_str.as_ptr(), c_str_ptr as *mut u8, str_len); - *(c_str_ptr.add(str_len)) = 0; - } - - return c_str_ptr; - } - } - - unsafe { *num_bytes = 0 }; - ptr::null_mut() // Return null if request not found or no response yet -} - /// Cancel a request #[unsafe(no_mangle)] pub extern "C" fn request_cancel(request_id: RequestId) -> bool { @@ -231,22 +182,6 @@ pub extern "C" fn request_read_response_headers(request_id: RequestId) -> *mut H ptr::null_mut() // Return null if request not found or no response yet } -/// Check if a request has an error (which can then be read with request_read_transport_error) -#[unsafe(no_mangle)] -pub extern "C" fn request_has_transport_error(request_id: RequestId) -> bool { - // Get the response info - let tracker = REQUEST_TRACKER.lock().unwrap(); - - if let Some(progress_info) = tracker.get(&request_id) { - let progress = progress_info.read().unwrap(); - if let Some(ref response) = progress.final_response { - return response.body.is_err(); - } - } - - false // Return false if request not found or no response yet -} - /// Get the HTTP version as a string directly from a request ID /// Returns a C string like "HTTP/1.1", "HTTP/2", etc. Caller must free the memory. #[unsafe(no_mangle)] @@ -296,3 +231,160 @@ pub extern "C" fn request_read_response_version( unsafe { *num_bytes = 0 }; ptr::null_mut() // Return null if request not found or no response yet } + +/// Get the error kind from a response +#[unsafe(no_mangle)] +pub extern "C" fn request_read_error_kind(request_id: RequestId) -> u8 { + let tracker = REQUEST_TRACKER.lock().unwrap(); + + if let Some(progress_info) = tracker.get(&request_id) { + let progress = progress_info.read().unwrap(); + if let Some(ref response) = progress.final_response { + return response.error_kind; + } + } + + crate::types::ERROR_KIND_NONE +} + +/// Get the error message with detailed information +#[unsafe(no_mangle)] +pub extern "C" fn request_read_error_message( + request_id: RequestId, + num_bytes: *mut u32, +) -> *mut c_char { + if num_bytes.is_null() { + return ptr::null_mut(); + } + + let tracker = REQUEST_TRACKER.lock().unwrap(); + + if let Some(progress_info) = tracker.get(&request_id) { + let progress = progress_info.read().unwrap(); + if let Some(ref response) = progress.final_response { + if let Err(ref error_msg) = response.body { + let msg_len = error_msg.len(); + unsafe { *num_bytes = msg_len as u32 }; + + // Allocate memory for the string + null terminator + let c_str_ptr = unsafe { libc::malloc(msg_len + 1) as *mut c_char }; + if c_str_ptr.is_null() { + unsafe { *num_bytes = 0 }; + return ptr::null_mut(); + } + + // Copy the string and add null terminator + unsafe { + std::ptr::copy_nonoverlapping( + error_msg.as_ptr(), + c_str_ptr as *mut u8, + msg_len, + ); + *(c_str_ptr.add(msg_len)) = 0; + } + + return c_str_ptr; + } + } + } + + unsafe { *num_bytes = 0 }; + ptr::null_mut() +} + +/// Get the error URL if available +#[unsafe(no_mangle)] +pub extern "C" fn request_read_error_url( + request_id: RequestId, + num_bytes: *mut u32, +) -> *mut c_char { + if num_bytes.is_null() { + return ptr::null_mut(); + } + + let tracker = REQUEST_TRACKER.lock().unwrap(); + + if let Some(progress_info) = tracker.get(&request_id) { + let progress = progress_info.read().unwrap(); + if let Some(ref response) = progress.final_response { + if let Some(ref url) = response.error_url { + let url_len = url.len(); + unsafe { *num_bytes = url_len as u32 }; + + // Allocate memory for the string + null terminator + let c_str_ptr = unsafe { libc::malloc(url_len + 1) as *mut c_char }; + if c_str_ptr.is_null() { + unsafe { *num_bytes = 0 }; + return ptr::null_mut(); + } + + // Copy the string and add null terminator + unsafe { + std::ptr::copy_nonoverlapping(url.as_ptr(), c_str_ptr as *mut u8, url_len); + *(c_str_ptr.add(url_len)) = 0; + } + + return c_str_ptr; + } + } + } + + unsafe { *num_bytes = 0 }; + ptr::null_mut() +} + +/// Get the root cause error message +#[unsafe(no_mangle)] +pub extern "C" fn request_read_error_source( + request_id: RequestId, + num_bytes: *mut u32, +) -> *mut c_char { + if num_bytes.is_null() { + return ptr::null_mut(); + } + + let tracker = REQUEST_TRACKER.lock().unwrap(); + + if let Some(progress_info) = tracker.get(&request_id) { + let progress = progress_info.read().unwrap(); + if let Some(ref response) = progress.final_response { + if let Some(ref source) = response.error_source { + let src_len = source.len(); + unsafe { *num_bytes = src_len as u32 }; + + // Allocate memory for the string + null terminator + let c_str_ptr = unsafe { libc::malloc(src_len + 1) as *mut c_char }; + if c_str_ptr.is_null() { + unsafe { *num_bytes = 0 }; + return ptr::null_mut(); + } + + // Copy the string and add null terminator + unsafe { + std::ptr::copy_nonoverlapping(source.as_ptr(), c_str_ptr as *mut u8, src_len); + *(c_str_ptr.add(src_len)) = 0; + } + + return c_str_ptr; + } + } + } + + unsafe { *num_bytes = 0 }; + ptr::null_mut() +} + +/// Check if response has an error +#[unsafe(no_mangle)] +pub extern "C" fn request_has_error(request_id: RequestId) -> bool { + let tracker = REQUEST_TRACKER.lock().unwrap(); + + if let Some(progress_info) = tracker.get(&request_id) { + let progress = progress_info.read().unwrap(); + if let Some(ref response) = progress.final_response { + return response.body.is_err() || response.error_kind != crate::types::ERROR_KIND_NONE; + } + } + + false +} diff --git a/src/lib.rs b/src/lib.rs index 55a2498..8a12842 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -28,10 +28,11 @@ pub use ffi::multipart::{ multipart_form_create, multipart_form_destroy, multipart_form_read_error_message, }; pub use ffi::request::{ - request_cancel, request_destroy, request_has_transport_error, request_is_complete, - request_read_progress, request_read_received_bytes, request_read_response_body, - request_read_response_headers, request_read_response_status, request_read_response_version, - request_read_total_bytes, request_read_transport_error, + request_cancel, request_destroy, request_has_error, request_is_complete, + request_read_error_kind, request_read_error_message, request_read_error_source, + request_read_error_url, request_read_progress, request_read_received_bytes, + request_read_response_body, request_read_response_headers, request_read_response_status, + request_read_response_version, request_read_total_bytes, }; pub use ffi::request_builder::{ request_builder_basic_auth, request_builder_bearer_auth, request_builder_body, diff --git a/src/types.rs b/src/types.rs index 4a33107..1f1f1f7 100644 --- a/src/types.rs +++ b/src/types.rs @@ -71,6 +71,9 @@ pub struct Response { pub version: Version, pub headers: HeaderMap, pub body: Result, String>, + pub error_kind: u8, + pub error_url: Option, + pub error_source: Option, } /// HTTP method constants @@ -93,3 +96,16 @@ pub struct MultipartFormWrapper { pub form: Option, pub error_message: Option, } + +/// Error kind constants for FFI +pub const ERROR_KIND_NONE: u8 = 0; +pub const ERROR_KIND_TIMEOUT: u8 = 1; +pub const ERROR_KIND_CONNECTION: u8 = 2; +pub const ERROR_KIND_REDIRECT: u8 = 3; +pub const ERROR_KIND_INVALID_STATUS: u8 = 4; +pub const ERROR_KIND_BODY: u8 = 5; +pub const ERROR_KIND_DECODE: u8 = 6; +pub const ERROR_KIND_BUILDER: u8 = 7; +pub const ERROR_KIND_REQUEST: u8 = 8; +pub const ERROR_KIND_FILE_SYSTEM: u8 = 9; +pub const ERROR_KIND_UNKNOWN: u8 = 10; diff --git a/tests/integration/common.rs b/tests/integration/common.rs index b9ed539..2724c41 100644 --- a/tests/integration/common.rs +++ b/tests/integration/common.rs @@ -41,7 +41,7 @@ pub fn wait_for_request_with_retry(request_id: usize, max_retries: u64) -> (u16, // Get error message if available for debugging let mut error_len: u32 = 0; - let error_ptr = request_read_transport_error(request_id, &mut error_len); + let error_ptr = request_read_error_message(request_id, &mut error_len); let error_msg = if !error_ptr.is_null() && error_len > 0 { let error_str = unsafe { let error_slice = diff --git a/tests/integration/error_handling.rs b/tests/integration/error_handling.rs index 1351616..879b270 100644 --- a/tests/integration/error_handling.rs +++ b/tests/integration/error_handling.rs @@ -25,12 +25,12 @@ fn test_error_handling_invalid_url() { std::thread::sleep(Duration::from_millis(50)); } - // Check if we have a transport error - assert!(request_has_transport_error(request_id)); + // Check if we have an error + assert!(request_has_error(request_id)); // Read the error message let mut error_len: u32 = 0; - let error_ptr = request_read_transport_error(request_id, &mut error_len); + let error_ptr = request_read_error_message(request_id, &mut error_len); assert!(!error_ptr.is_null()); assert!(error_len > 0); @@ -81,12 +81,12 @@ fn test_error_handling_connection_timeout() { std::thread::sleep(Duration::from_millis(50)); } - // Check if we have a transport error - assert!(request_has_transport_error(request_id)); + // Check if we have an error + assert!(request_has_error(request_id)); // Read the error message let mut error_len: u32 = 0; - let error_ptr = request_read_transport_error(request_id, &mut error_len); + let error_ptr = request_read_error_message(request_id, &mut error_len); assert!(!error_ptr.is_null()); assert!(error_len > 0); @@ -129,8 +129,8 @@ fn test_error_handling_404_not_found() { std::thread::sleep(Duration::from_millis(50)); } - // For HTTP errors like 404, we don't expect a transport error - assert!(!request_has_transport_error(request_id)); + // For HTTP errors like 404, we don't expect an error in the body + assert!(!request_has_error(request_id)); // But we do expect a 404 status code let status = request_read_response_status(request_id);