PKFNR`ΊZUnleashClient/__init__.pyXo6_:j>2 K.C@1@KFUJw$EI(ɻ#8+P% D++$StrWrc^D,ɖD99Q W:'<֖O"ZnY]vڒ %HN7OKI=-Y2'XlOrJJZjN6TCuE8e)Mbŝ6e qF9K7 ՛WAඉ 醒VqU4w&d^ ׹\75ίXZ^Xw2RVV;*L4LX)$.e{͋ӛ&>o.N gTKysz5LP[+R99Jq b8L~ේL ^`6_iө5ꌜ9$ 1- yΧ [be} im|h-+fN26q$< ng@YZ3k Oj!Yo N!o%o]~\Ն8$%9:U?Z669FƂ(cI8M,&͐dMNAѤe\U¸L7~A/kV/۲.%Q-T} 5W#ԉے~C3Jѕr,ԩP~FMP~,a{ҢF] -Q!F}  90+=峱#q,JҦQb|ψfA1#q)*;M*|B`T` 'ȰwΚn4 B9+hI4[ވ f:aeF75wiTsŐP;fO?|x:ڌ&e):0KaF/[ \¤oz7pҌ:63R۹ #/<7Yܣ{Hb%lP̗ CnU`ҡ31Z p@d3$H.ݳ Pg ŅPr1tD._s´-R&8"qXrܡ}r$r>zu aó-ѷO,BDŘ 5䎬BCOsMZdm6:!Z&a8Oϡ$(0JCrL{fK ۰,^X;W.k0][JE]n|#]| &#U?_]& |Ϫ*<[U-MviP>؞&w'!@92%eo0n@?hg/Y5O88z=ld1[,ttݵ:NG`=t{8Mll2j৙ycYqD}w(p>wTGC ˈ#G^_Gg~-175Ȕ@ih"!Y;$54=μik ̴|n=4%9fϠcuO%* \*CEl`@ =󣋔^~Jw\^C,X|IH%;|"bRtlv4f ,@"ϊ:GJ"6ɖ(B38ѢKs2([,[^#1%"KZU,Ҿ#)A7V]kK70l6:{ !\ϒ\ ?XidU ubl@~K[ w>Flt;RMLS@1fmxSGPMeTpѷ $Kǯ=񓨐U­ 6<}:-g:2T-ga"[V [u-mj=ēPKFN1-UnleashClient/constants.pyeN0Fw?mlH,4kd"IdCxwl9~opiߜv 8m7X3~ɏr.ةN~UdU 9+ڒF ^i:>68WHhӔ2mB4?I1!e6=σtӘ}4:>F<1!i&[3gޭt*׸nxOl7PKjNVۢo UnleashClient/loader.pyU]k0} lhwKy2!(hS$#)dɶd;YCsϽM5k.<A1& F1{J0S F iəTvu<Y-9n>QThMqUwgkUxRhx%Џ-2#pFx6?uZQ]w)}J?Wr(E?y.2@(qDdqcM6>$FQt Uɰ=(bSeҟxiidT7Mn@j2ekz $YJcvD0H+Łje=:2}Ñ~-Ri z] b: 6JtW2Y^t< %8UI8Ĩ! d WwzƧGp3F/m[dlSa&+R,ϷBpHyt25ˎhe􊶋HJxC`J8#an_1@@x6a-֢ot.yBwhQ_ҕ)E++\G~*\џ0nR $sG%F^ևq0 ӡj 5fQWZz K%NSߵ`۰8`oBʙ[&u x=ƽP%ed;Jwܱf,o>d5Y?(/GjPKjNcKUnleashClient/utils.pymNK@) EHwNhJ?Tcdk0$9N _LaxҀl=GJퟻv(_\hM@Kb`<] Q#pÙJQ;Na0('z >g#*x7drm1>c 3X.KPKjN\0'JrUnleashClient/api/__init__.py= 0 CL )b y[ݿP~rPQqqD~OgVPVNՆH |˽4Rt+]`\ZzPKjN8nECUnleashClient/api/features.pyMo@B(XQR }{lZvq(߻4)מwy 4*ѐq2vIlGI^!&oW(Xq8 p4V:V*Ex͂8_8.ɇ8h1N ' r8CFƘT 4R  XQĒBJ0Ȥ4vYTzmi+$ !,JPBLAs̥"4M!3l$AcR{Tal"|A+ {.lV[&S^;_vHB5,CPkakVrY cj/[~4Sم>whO-9B+DN+Pobxg }6!Q5`A{tѭ%hy9} \uq|˻`toMa[og_y]MS>y`8l]UIwҮz ڄWʇYiiqܣ:H=1.0qM}9N𧱩M~* 7=~SՔ n 2=zܑB_cl}YK֕Ll'1ÕhQ졖h_nT;óXLe3!eϵ 76,2۬5*[iͭg]F*'[ vr*wwC,YiNTJgt86L#f%_(Wz5*wjs *s9R7oHy `brd'>gyi$S1:2UY}j\}do ƳPKjNL`"UnleashClient/features/__init__.pyK+UKKM,)-J-V-/*QpPKjN f~"UnleashClient/features/features.pyUmk@ _!R )KՐ(mZ>-'6~1HlC kaG]>nQܼhe~ unl*|wv^)ౡ!϶nl3韹lJ_bf{aB^ NKoN8=$ʁPʼ3WVfUJ똬p#6o88{g5D]#ROgv02xZ7?o_:63_ݛq5ypI4U4 &z|Qanbbܺ[PKjNh֟Gi(UnleashClient/periodic_tasks/__init__.pyUA 0 D}OxI,Sx vؖ5{TJqy0c{<`}`W ^\ٽʚsҩ9zY ;#I[Ybr^.皒,]xViW"mrh(\3+`S{*[w8!$ig{cLhTlJ/E]B.P?a#rꏮ@ݬR1p:5UJT jb?|rAei 1u*cm4\V}u֡De,W hѹr{˟mH3A/"`/J9d?f AcO `ũti &"6cm:qUtxfPҴN6q 5mfJ@+CQ|^CF3q\z퇄[NԂsENXRZ klnm!kQLYLC$> =FJH[X4eYv'zV/Gde29{= "IAKPKjN&9/UnleashClient/strategies/ApplicationHostname.pymj0 ~ K .ۥJ n222GN Y8y3$Z>9 hBZoϧ1sVctY%,&zۘ$+)\JA7TpDW\ uLlN `MB1ɱfC8Ւ1wlmYv1CAqz3A(b{.8F`L/= x5K3._1QPKjN^顒#UnleashClient/strategies/Default.pym;0D{b*  |jq`icGZHTy\#nǁ=i$#t)&eY^J)&gəR@)Akk3 N1P}XTU3II ;P0=ЪХ㿽0\g[PKjN`"Kg0UnleashClient/strategies/GradualRolloutRandom.pymj@ { )8itS)F=dH޾g;M2Tw~  G`ŽVIFG ƾo12F8kvT]gvx؃A *-*1vTQ%%k\ܘFVDb3#.PГN_ݺIOPCqR-mpPKjNmp< 3UnleashClient/strategies/GradualRolloutSessionId.pymn1 <( KB'sA$_r @"v+Ąz|Hf"+ĮbtB}$׫ "t5" :3bR9"B]7\%ndas1XkNT9 ^I & Pd * tI pT hO 1ެGDj䰱6[$~*m%< m^wӻ<-noPKjN0UnleashClient/strategies/GradualRolloutUserId.pymAO0 VN4&ۅe& SZ&OQ>礖10a>\y% *5&u0T)ȇ-~U@_j( r%T1(6 x%FNi@%>BKb +3qkv$U)6ԇAx[Rt7=7TCH]Oȡs|2Fw#`pc@';i˙gOQ PKjN8;:)UnleashClient/strategies/RemoteAddress.pyUM0W .empK!RKlC%'"J㏵Rڅ$X&$6ڒ>O%_@r; <}tB_ެ(*$VxR%E 5/!}Vh%.()RXWpX2a,aZV4w >!uXx[#K+_M B> l8scPI+k. S5퓋*Lf#)pg3; G@㠇yo4e]?;tn}gwNۊWaL߬ncȩI\%_aj)q6Kx(-=AsAW kݑTO .%cհdPh͠ʏǝVXЃֲ#q{^Uַa<QO:`;*4Tc /w^7d|d{uLo6xМN/},6Uڳe[yWi߄yź?_Au\ Hd}ӇF1p x LL}7PKjNu$UnleashClient/strategies/Strategy.pymTۊ0}W t%vY(e m)o'jeuK#q.3gyuk(4m5XL(fxhfyX8E MWX8(v6x7'|_rb0& svi $8MSR@ PKjNtests/__init__.pyPKjN%tests/specification_tests/__init__.pyPKjN.ĸ4tests/specification_tests/test_01_simple_examples.pyWmk0_!ySN=}bsYV]tU;6fT WnBcasFF:fXs:Ҳ6fScH؈b~PKjN^Z%W:tests/specification_tests/test_02_user_with_id_strategy.pyVmo0_qT4}*!AZ}%<'@(0Jm@^?6Q My`l]Fb6'I5%LƑLZ$õFșP딄+>zPT(98;mzV#tVu,ÑNxgs.ƾ~u_/<˲.ڍOnj@-r#AN፭FUYV"蘡eN%l-`XeN'MPp䨢bؐ7\2,ըp5 +uV-&oܷX73ffa}M.Ρ.MoH`Bb}6if]ݓຮ ''hl>>#"gt%4#oR=5e)T$ir(ue͇Ʊ͈d++n|yfRW`)Y8x UM0q,F+~20S[[)ʫQb07 rKD A$V;U2~]GD2Ȃ2]=[s2.mnJe=v]{a<'h +Wovg&Zf^8KÔI@OU6Q=ڲsZ1 r,pDVG@ }~t7^C}w;4Cf#=63v} 7=M"LT2Xx`їp 6`K6 #Y`K?a >wx~X~@n,+lWPKjN=E|&&Etests/specification_tests/test_03_gradual_rollout_user_id_strategy.pyW]o0}ϯ2U  J4F[4Mɵ*l'@vp K?9u2.ELzPwǸ=M8t#hlM$9YzXL8)~SrjJ202JLfTSE/_Y+LP/o,l3B!Ӭc j#?ky WIH\W(|Å fA䆰q) ~ǤjMS&zr(> !iQ>{99%H# ߜ8 | 3 { #*@fSZ\b*TDžap;Q}4u G@X:H qG1Mpe߃o+۶g %3jFM T ?l Z/Mݴk0H>wE@Ʉ 0f h' {([H/s@&|rI# ɀ¤"Ey`eD UrX;( UĄR ܀d9Nm,~,u[٘Vi}ՖnCy2w/sBוbז(8Xo)$uVYz44XהD1~ҍT-dJAhXR=3UEU%ȄxJ5`:_oNyaC! p䝦'pYVM)F$z*"aSUjF! ~Tx00ef!RuIU.{&U2wdc$G `(uI?!R+虅BfQTYn$H5Tτ[wkC]yH#^ժZ^_gIE`ԌH 4P `ic6f!^YQE:@wDs(술B(;8J$*_ Gp ~StZ#t:ِwO 5e9beCtH!FWi$D-Pul o}|M0zmePKjNE` Dtests/specification_tests/test_05_gradual_rollout_random_strategy.pyU[k0~ &-K!4qK>aTKN5--dDZV7e>4.GG;wȪ`\H9)Xk8^ Cq7T6b]jRlOFM͓\D|ZM|b3+}pD$D,B3'2y՞\_'󼋫ޣ ,3 (wc`~~WX/f8"夐?-H\R 2p@Jp,$/{s%HA3J1[^]ޝ7;:pihzwS6?`S{gD8y=xף^;}Ha١48! AEDtì+wLQn1@N[ 3H[dcϥm2=BJQKRjA؞tW8(NFZH V:"VS4>(Ozć)57Yru2T{MMEOS^c̱nNsи`7/FGi l7?n@E*1>:jOng' "p>Zìr0=&)y3fPl_"r4{YgVo;z2jwZ9D M;R;m)X=L TT*~gދ-PPKjNh7-N<tests/specification_tests/test_06_remote_address_strategy.pyVn0}WXBu4҉m-TEnb`GS];!XJlp}||n$B4Co٬)"լ'L8D:#'vL S(y! (̔8[Ë?.?k;uC{NGz1UHO)PV|qκA5ν{CǨ^*U// 4{ 2ኴrkPDeUL"x4<5j>dQ0AR Șڹ( B Iz;O-N48yT*GH|nx4 544ʝ-^Og̸ 82EN:Lҙ:9ΗNW^8IJsfOE$Qs?K<ؓhϘo*ժ$R^ _ ~ 2 7p 즡QnDA8*6nN&Y0*$y i^؞daCe! 혁RQTzfH~ZCJeqШ> /`͋9dj qrVYfPWӆȭ DK'>iv,ePX!M芼-_]\[e@q 5f f$, %,-'M,dr*fisR_N;V;4X1Hx 7FpڢlԏYw粴@k證3\G\rk%z PKjN,͏' r8tests/specification_tests/test_07_multiple_strategies.pyV]O0}ϯ2!Z R(nch-R;Fg;P*EcڇvO1KP9l|!uc3*p%0aF0WyBJQ88'8&(:qt:OXJ, I2" :KË,r<p]׹spo0Qt,..sܓ7/2IƒCg:;C)',1݈« #0e2($zlq? QjnEB;+Y̲2yk"sUTTm Tvٴp+S@x U=֭Z_u>ި΅<8'Lm3B zݭ"3o[28JVsw7RӓԈzdfڣJi-< .[>y o4HqBP_&}gӏ~@-ЃWS -U1 `*ɍ)Yrג}Fˬ YR cnx'&ҤҊn, '

጖߱LfPKjNtests/unit_tests/__init__.pyPKjNkotests/unit_tests/test_client.pyW[o0~ϯCAcN \t&\;l4M:y@sw.Q $ݾaG\xCB P&S)\OeTPZ`]iK@uEl'vģaYeWx4qL!hH>cӱF?kg_h0_дzнHW0 gnX0NlVcܚ]G}/*y9%8'Wݮrriڇ-]>s̓J汛owާq+~ًv @@&O".2IP`^tOÍĠ(0<H2Ԅ6I!H>A6;)?8U6(AIFīAQj罧!-~ّ$T,&=JIZMn␦ ufR5fWCѠQNfv%6 nETʙ&65 4 ):u=QPo7t &'.fte.w, %bny^q5NWB+Y ]$sP$;44wm=T;w {Ƌ~nf1rdAyfC {*BuB+M*:gQ3U}^^QAP!NkGeY~Eq\rH$XߒRu4@5 %u,s,[a8/\?#ogE{N@h,]]uy 8CI:Zlr?gwyFUs`["d*PBʿ魞 w)}9K{'7-. xK.RTPKjNPW(tests/unit_tests/test_custom_strategy.pyTMo0+Fв1RV!Ei@am ) o̲\ T -dk3X;.CuL&Z/5L 3#aT.mMpn&}X?HDj_C?<oi^Q[j˲Nquc Jq \Ҕ|fIar _gJ7*P_,w\^ 24Cz,Ej?*7e;#o>Z#! 圐S=%&p')޶;Hl Q}7RsZrM)/Rk [Ua6qOC@mlWyc{l]vf~>M4{6ͪzWى IJeFZ]Aܘpn5L:2ʯLqTSY!X# Y ssg3r4OH`WlF$#2Ϣӛq#dX@ Z*RH0טz.=B9G4\+n8bq=xk:;C>8B'ֆ PKjNq=!tests/unit_tests/test_features.py]K0+BRaBT((PcDahŠ쿛~tLS{Ӧ}s>Ri$j'7o,CDnֻ5GXO "Il3 O(iW= +Pd] PU!"39ҳj-"+iKTM8<^^D7j@.&W/zУa`w7,X*VUPx ueA3i/+]rs@&|:S}TO`Vw+dIeD0pT96q4yٽi^e7ӟY|ʎ'lF~@"&_3Hh7/%;B" C210FC*1E3,F}i3FLT~\=lRNߒs+|Zܘ-Om FqjKJ?nG`|PKjNtests/unit_tests/test_loader.pyTm0_J"rᮎE-65I)wv ^Ss<ԈR()9u| JrA2^s ܻ.`\DÁKI\:Q WX$Ҥ}y''uAi֚qM׸wVM|%mϗc٬.a2t*9zלOgZ+mB T-&SiL63d^74i¿Oݎ wS1L"AZ[fz9q'"4ξDm_MBְ }!ƚY ($tests/unit_tests/api/test_feature.py_K0)ž6,e KpF<Х5%7݋ֵv(y(\8s. .9l(/)ntZiΙzs Ix cOB42LFs q,? Mq\{OHTI9+nbj} l+iMs5(Mi:7Y)66eFhM20 l_g{~Nw$qW~޸l0xW5JkwP}B~vY}Z0U'I #y+{x BS}!9Ҏ)MtPKjNr^l$tests/unit_tests/api/test_metrics.pyS]K0}ϯ>8"ZQܘ9nFۤ榢t[{P4s='jm,5VHFW|h-RR *6FɶAce) Z%rAtD<3vI bM1GlgE$48rUۨlIǸvZe !gth>FB-+klHɰ=P6)+ {VjtҦ=^]FM\Tv:&܏sB*4*9k hWǁrå JIL?aM&Ä/Bk˗G+pK n8hB6E88GaaCB0HXN| ҄]'(KhSdC*^:ث߳!tͬJo4r3e-vըIsG u^ ~Rx_*R{v֩&wJ6+qpm;k{'q+,!(@̳-yZI_ /JgݾXxBj#簨>|osl6-.jmjO9PKjN%tests/unit_tests/periodic/__init__.pyPKFN[sS<tests/unit_tests/periodic/test_aggregate_and_send_metrics.pyTo0~篰x)h <Ӣj4 ),.+3lʪ; jwݯ໽T|RX[%w$c ፦=R82( F ^ ئ,}>[{^zhL hگd.r"aozdXhyd2|ɝGƫ8yѯ.Zƨ\$N+QOゃ0Y,'@8q4Oh2EC0{P\f<幂EȨuA99*rQ((TI!2yJ<.RFDzE$"'a3TӂEXyV%TEGLxSAbPby%l TQT,eQ9Dt\qn[|ƿb-x|4K5g5{l kozi"B|uMhou[ S4Qh")Y{r0 7l^(WK7 cD 1Mjvgt?f@ Q4njfx8{ 6{|>h UԪVZ(%kt^/F((Q쩣q/jHIuژdu#j|vSr{~~?NKukΪ\g/=U׎>>{u7ݗPKjNE5Atests/utilities/__init__.pyK+UKI,IOOK-J,/R-/*Q '畤V DRs3ss2KPKjNc!tests/utilities/data_generator.py}Qj0+]"Ы!FcW`ZJ.D!mudJcLHAbԉ >$w^,#WBV[!:R C N hE7klL@0рAJяaVES2N#Y5pH05O. NY49rʤjuv=P6'nrz 7;)PKjNL tests/utilities/decorators.pyRj0+t qS!PcPJF^QI6 꿯eIqC@tXjf53}7 GDs!iڊZ͕~>IoHe( ڠ=ӸU2RI`'/<2û *e+!1hfD7@! tVA8FBZ@tX|et5eOtE2a6: QjsSX +uJ][y'Sp;}1,PKjN6h$tests/utilities/testing_constants.pyK0"^M R< T*!78 ldŨ^;A/ {\#g#@¡'TZBr,ɩ'ĸ4 ˞⑘0"G<҄1팇 eiFPZIPg$ZU}NddmU 0&p<$@7y!Ӌ$B *C$] Xr$y UPU$ay: J[KU zʚ "Th`^ ?2n Wl]MwI9=:5?m<OBqTS޼V熌  7iRV:X=_k8j߷7[-yWQkes4"iՔ?L>c=_6= j6k,vaGyRi`w+zk%QYox7~ 3xPKjNC{!tests/utilities/mocks/__init__.pymA !tWDcO"C#YtZ@ϭ+5>$nSb*XhN٣Bpnȿ<3xiik8p 39#A\:B[tm&tV:8܆7PKjN* *tests/utilities/mocks/mock_all_features.pyko0+<> &F[E&m*79 9.C(IDG9͛ W_}_^޿og7-y 2IJ%d:]z*,y:i\YE2Jzɪm(S+ng?ssF7UG5WBrsJ߮WеYWM]qZ  ǖL"ʤUݳm_jY&; adhzy\:*ZBkq |v&$P̥)^RBݵݻ*HBsh= |3{|:mM߿^>y EL/*-rnwJKHDg-MjTzAB@i*bnHc CAQi tbPfz0. tEXbIg3shS۷Hl@2"D(! ,+J@.mN22\CLXI¹jVϳѪoPKjNOï%tests/utilities/mocks/mock_metrics.pywu tr u QURĂT%+S"W\DAJSKrb@5E !%#C3]CC]s+C3+c=Ss(fjM1Ֆ䧧؆$t!4XI%X\^>PEVFx04e \ZZPKXGNbs*(UnleashClient-2.2.1.dist-info/LICENSE.md]RKo0 W9=Nn4lːf9*kpRߏtvE 1$ur>]{߿~ŌPXlv:dwpm~LB`W8) q`E'c4L;0!ηw p{ X"5CF[ ..a!N%<wt7C g G߹=}t .)tw@y)'vdp{n!'Zh(P$.$41Ǖ͊lB{? BZ?vIevY}DW tUoЛa- uq8ɇwffc>C#z@y {F\k *VmᗨZQօXUVsQ=#*^Q Z ިo*[=Bm,s)0"[LAVl8H[jP5fŊFA&O+ +Yǂ_0TV0Q=%E%4vu1eZȊbd )T O)BJiBDIW+ >]Gn;!" 5PKXGN7$&UnleashClient-2.2.1.dist-info/METADATAWmo6_qu?,*i24AQcI4I!\Z%ΔřV◸A;!$<ǜqrfYk#T=g~t*>Zrfc)xm5tUt;֖KLi%uaƙuUE!9X^=ޫ +JimcFiZ[i* ʩq7RtG0^N9 1#$/~ZOkNɴh,@|h6ja:vBscGk`+g?y:e,ÒAսUUt/{_YcP;wk͑1쮞ͱЙ?J&|EVC|O!'Ml $B7ʄy4fuVV ;N#[HE{1EG+閠6 d3V !*mMTEbJen:FaBy dr)kxtNޤ]ț nf: ؂ɉ tۂm&2F]ik'VzөTӴKg̤!f.!:ln)1ܔd-)GdispkE"ΘXfIBp/T5 S@ &KrSP9UAi|9\Xǹ0sLYdV+~\v~DǔLP,`8.7%|$$d7 d8E_<={,ۑ lؕj_fGQ˗ ֛7ue&` k3 _3Ш{Dt|ׯM |VS\//p2HMj<] ZPDn%q$Ƚ)G x">_Y <(^ݢ/xu7r27z& ~J<4qt",0h-tZV^.|6TI/ЭCA ouwyDj˞zqNDFaY/,euηLuc&|{;FkEEG!q7NIP٣f~m<ӂ0qxqqŇ0 |AS ,R3ˋkse .PKXGNM\\#UnleashClient-2.2.1.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PKWGNGa2k+UnleashClient-2.2.1.dist-info/top_level.txt IM,pL+*I-.)PKXGNu $UnleashClient-2.2.1.dist-info/RECORDǖYM@"*hr rITJlO$w>{]ߧ2du6@}c$OounOb[ 3;J]P(B#M~=OHBߐ$q'<>cn}_%W~ڟJe_ s{9RחZ|\*HE(N`ޠIm!]oٺ|>Y~?;/ >Vcޭ-[*]G;@XDjvٷ΍@(7hEϖF5$[yY,cU>^] ZECPfLSHK{Le#FHc'{> +|%Y?GcvcoUZ`b R$v@a?ZCY #N⬖er슗ŞFZߛlʟϪVg,~a.^*2 KO.P"C(-暅`廢iNUucxT@?OQѴozE?hSW O* м K8 vaHz7 b/A"ü/w*} |,"?wl K$a HL"]X5z:XfwYYSM?~=rAO(9^ɤv޳Eۣ:)l }wVB< Wֶ'/,q0֌4Փs;xLV3wܣErgvJscC8~1_c?Znfeo%^4ۼiHu&r6)P[Rn!F ÉǷ6(Rmc+í# DiM+3-l>3gܱ^'<,+6xJ廻(5l+{7Bv3n<{zBUM'/648N(7<Ȋp$$}˾+ĨO.Ծ11%T Mx}Fԃħtvm яOΉ2oXXg&^?C['6k}gXmm WYX=&e]K՗R( "mFFo[0̘ƴ[hPW9>YM2mMjyA?64e7z$0Ѐ?).rӎ(>H:Z@[-Sͱ E@\koJf';9ҋ'@Nʄ&Ӭ4^b\$x İ};_YLF$!^co#aL X X9sG>}pj=YOj'X$V\cE|AsjD%R?H|>֩/驛&x\.2W /|\6hûV{ՏTzl{ w Y1('ry$4*`G}/x!89o7ucpV?F8·!w.Pb:DZqdI* 3R_McB Xܖxu1bz5]؂߇)^sJȂɶFH%ebh0zqc'!<47PF6/\gzTwi~ vdRJg=M / as2׿PKFNR`ΊZUnleashClient/__init__.pyPKFN1-UnleashClient/constants.pyPKjNVۢo UnleashClient/loader.pyPKjNcK UnleashClient/utils.pyPKjN\0'Jr UnleashClient/api/__init__.pyPKjN8nECj UnleashClient/api/features.pyPKjNi6FNUnleashClient/api/metrics.pyPKFNMBjUnleashClient/api/register.pyPKjNL`"UnleashClient/features/__init__.pyPKjN f~"UnleashClient/features/features.pyPKjNh֟Gi(UnleashClient/periodic_tasks/__init__.pyPKjNz1=Hw.iUnleashClient/periodic_tasks/fetch_and_load.pyPKFN K N,UnleashClient/periodic_tasks/send_metrics.pyPKjN&9/UnleashClient/strategies/ApplicationHostname.pyPKjN^顒#_UnleashClient/strategies/Default.pyPKjN`"Kg02UnleashClient/strategies/GradualRolloutRandom.pyPKjNmp< 3T UnleashClient/strategies/GradualRolloutSessionId.pyPKjN0!UnleashClient/strategies/GradualRolloutUserId.pyPKjN8;:)#UnleashClient/strategies/RemoteAddress.pyPKjNu$%UnleashClient/strategies/Strategy.pyPKjNe*&'UnleashClient/strategies/UserWithId.pyPKjN^Oh$)UnleashClient/strategies/__init__.pyPKjN)tests/__init__.pyPKjN%*tests/specification_tests/__init__.pyPKjN.ĸ4^*tests/specification_tests/test_01_simple_examples.pyPKjN^Z%W:-tests/specification_tests/test_02_user_with_id_strategy.pyPKjN=E|&&E 1tests/specification_tests/test_03_gradual_rollout_user_id_strategy.pyPKjNu-H4tests/specification_tests/test_04_gradual_rollout_session_id_strategy.pyPKjNE` D<8tests/specification_tests/test_05_gradual_rollout_random_strategy.pyPKjNh7-N<];tests/specification_tests/test_06_remote_address_strategy.pyPKjN,͏' r8>tests/specification_tests/test_07_multiple_strategies.pyPKjNCBtests/unit_tests/__init__.pyPKjNkoBtests/unit_tests/test_client.pyPKjNPW(+Ftests/unit_tests/test_custom_strategy.pyPKjNq=!Htests/unit_tests/test_features.pyPKjNJtests/unit_tests/test_loader.pyPKjN Ltests/unit_tests/api/__init__.pyPKjNNzbU>$/Mtests/unit_tests/api/test_feature.pyPKjNr^l$Ntests/unit_tests/api/test_metrics.pyPKjN%fPtests/unit_tests/api/test_register.pyPKjN%7Rtests/unit_tests/periodic/__init__.pyPKFN[sS<|Rtests/unit_tests/periodic/test_aggregate_and_send_metrics.pyPKjNtG:0IUtests/unit_tests/periodic/test_fetch_and_load.pyPKjNE5A~Wtests/utilities/__init__.pyPKjNc!Wtests/utilities/data_generator.pyPKjNL Ytests/utilities/decorators.pyPKjN6h$^Ztests/utilities/testing_constants.pyPKjNC{!_\tests/utilities/mocks/__init__.pyPKjN* *]tests/utilities/mocks/mock_all_features.pyPKjNT皑 -_tests/utilities/mocks/mock_custom_strategy.pyPKjNS]+&`tests/utilities/mocks/mock_features.pyPKjNOï%Mbtests/utilities/mocks/mock_metrics.pyPKXGNbs*(?cUnleashClient-2.2.1.dist-info/LICENSE.mdPKXGN7$&eUnleashClient-2.2.1.dist-info/METADATAPKXGNM\\#kUnleashClient-2.2.1.dist-info/WHEELPKWGNGa2k+lUnleashClient-2.2.1.dist-info/top_level.txtPKXGNu $lUnleashClient-2.2.1.dist-info/RECORDPK99w