PK)Fkeystonemiddleware/__init__.pyPK)F6d>keystonemiddleware/audit.py;koH+ Hh8xOJ#-%">h߷d7ٲܝ$^W_^+d1Әgd̊g)c8z539f5#@J%$[0¾E,OI4b{F ȯ6)@0?9jw_Uś7! +vo9|s5^6MXY}yn@ND7@dB$+ ƪ =nDl[hJ˪d -W^NVՈ2_Xޮ/b=Lz\;2YJ>#@R} (EdPά}dIʜE|#+t.{dE 쐜{^,$|+Z=@1 ^ p,ELhs|u/ -%?F46Ả߲4Î)>9C58xZ9aݖ AtMJ'.Po9ohhb{"r2\ѝ1Wt[Y/t"Emu$|g9(x,&19?R '`0A0b%!v=4+XP}m:*f+%\O?bWȏ?>J-_W.RM{iJgj |`&)i,vy-^A͓PoYRW,V`^4 t{j7z1!wp9Mi F6s*Y/07rЯp{1*aWl_M4<ߏVWav U(Ts_:cCCYp@S e be8΂SnHuSTg s :I;h]7NS|9gĘ%=lrLpzi'`)PbNxwk&J=U-Oc 'ŗjIuVMore`_ 쀑 }&̶JY'?/mhجA%;&lӃ~Yi I 6pKzQi?޽rryRW1knd=k@!@OyfXN+<ClWE,k}Lψ%sX'_jZ+ڬh~Nlg/д tW`u/Hm6àGXUqFS6UU-cPJ +iʗ~О 1< ͊}&_H D]nd!5u0S}dEAñ; U/".YIE[zbыhK$Þ+4*"UqɍDce F-c"iMlz`eEϧp:YO/CHp^\Gg ŠP!5ySbСuYQ{x1" DSYX/}q*&}"r5 3n Y;Ny_ RV%Y9-5Tfmy]52FiP6 =uO-A`L598s(%^>E+.BX,BiS q=wE!Ki=e=6p4m"Ѡ@$ıaj6=/~OO3URu}qA FmyӶx7+Ϧr~N.ߑ-$8hEUQ]=W, U'_mVS72C*uRvaQ@6kd<-^tKKA7<3`|โ )\ wlv[C" `QA(=KFUCdEe%,NQ FWDɣ3qXp] j_L\H> {BRdgm1&cAGKx)!^A7^92|yl@/W޹!|Aֵٔ}lyV UCooUڨ<64]\3ՙ-vv`n;TT(.p= U\lxU )[P޶a?a7 ϧ-`7j23U!J1v%Ŝ;0̊TUд zkG]0].i_gq$Bp ``FigH>5 )/*N=~}@a7@2o!Po0|K厤Ov]I[Gs-+2YNժSt5n2` @ )Uul .1Xç>I8 ҎsYbf Nfy5 ?-/ݠDY>pѳoĞ!:>6ͧ]H&JZzN )+y kE8[|^ ezFӢD Ǣ4z@}A's UxK#I\y#_VCY1`) Ѕ<Ɏg*S;70ɉH>`4Hq׭%1τ4'PK)FՇvkeystonemiddleware/opts.pyT]o0}ϯ۴N{ZU"aUUUInWc{ӌk'PJ|}9~;Ûq9wo޾T+Jb+G' \ o46f% 'SR<T [#$ [@%j\BZp&KMH3pCZ;%!1^splgg],iDiϮE6{MÝh-rCZ;`lM4@`A:s w\6Sv3H(u~skOD_L(`Sͳ)/*'dL|Atq9ޮ Yr H^QO$2NsV=!5/IlZ 4 $9lմD܅n8 Q# kݦpe!2.;-*nT}9bbdӯEynqC8ވ2ntd⭉*_΍'i4-ѵ&WVT pkIdq`NU4R6܄I\ ]BV:E?+jA9пH:n+5FzhǞ[IHu8[@*bH}hio{UxZIj0/6{oV޿TX@.T鉳Jcb/Ugð;nVvpʭ:zP’am@J`m BbOJ|AMWn3<ʶp$ p+$Y'"X6f!^چ&vý`R#mpIjj k:#KVޣ֗;c{F444YSS"+Bh[f_\Zl6_`P!4(LqsXi!|'t\#~~K^n1v ,)Mc?ƙ=hK(ܲd=E ke*Kbd'9(8((yoPK)FNKz!keystonemiddleware/ec2_token.pyW[o6~ׯمd\'iNa;ˊ0hȢFRq}ߡ.j;D";Wlʲ/]&ҩQyq+UjSTZ1Za[,te0-2- ^@2DkJc5J3c6vyBnehO!7h, )I&° Tg2B@ @7=bEp:DpR^te[5BR,ˍiR&/,) :K$Om#ʩ)c!\Am+[K:ƭ~+k˳fp6P:>K Jsv;^ק@xD_ԅsy@!_f7 o2{̨pMȣrۖ*x0I l4=aoѴFww3zL<=ew6_f1n`>_F|0R;6L RL&B!Jǂ.`˄^KC,%ki]H3*𼓓ɪcWJ¹UkJjo՚)yҥ Җ˸q$<;gRNWTXE}L'5Vb.‹ʐ}Q@s0.?׉X%JTȓ2g$Z쳯D-eO,,s ʊ51*g9ծRٰ逘BUj 0se5[qox%p=i"hbD[)Ogߏ^R־>LdT.vUd!AKb}Lp`ZvQ*qHTMkR OE]Iztz2aGߤK I=@]Gh E~0h,茎:j^:(N^4J&p(p[Bv@ 6c&cDU ,hQ /hA"73Bou6&FKxRÁU I 2<Ԣ/eӁ;]lGQ8Zj%BJ7< +'\Ƶwt,jXZ 0#l6t':CLeZ6rJ5MEiG% qC(Q{GSw~_@T?i =_%ZEh2nW% = d_'9_A3qPX ɡPa[MlF .TEL>u;aZcGS:؀2A\`ܣhC|7o;qđ67RN&SPO_i*Ή1S#ŋPeCf3w=0MKr>īh_^4)z.r J.(H'~fH2.fi"3HgKBA!ҹlY* Y0)Y^,dn#Oک4Ӌ=p8T2o$֑304ʅm$WxWhbx'EMZq9rD&I󢦭=@_2; ѿ.-%h}ꝟN/'\_N~?Oߴ'2dBząRJ2dfj!&s9Qbn qLĐ54) (m5zI4zxC=bI\&juoBߪ,bVWtZ2l^vglӸ8!>$QX }!:ƮA%SBs=r/qq( jΓڰB[w2MFP0?)/A\23`jx/#I"SEx.~*YjӉրt^TO&@uzh0ڤ:FL&2(ԯFgH{ wI-*)ܠœi:IWo+6█OgggއAe8/ ";ٛv5;6 一$bMQc"6"&?-N81<{~<-3ELSi[4(5@9!(m܁w?UCP{r/]v:v>W !]ЖA6֡6v6a\uLrRve;wY2OE6/S3UݣF jR@nڎYlRi%b 4rU Jq[>hlDU(Rz{F 8LPp(I){\9tuD#j;.tUު`RΔQ$W LXggsj@ OVI{Nt)#ܣ:NNK-:6Wb0\e yz)11hTJŦD[J*})lfP}h,34BJ WN{=_t&E1 UBX2?oPJ^. T/Qv1!VpSXJ?U_ Vjܧ;z"8h,QiC)! ;jH$8%%CtHsMfÑyJR7Ƌǭl5GԦmnʫ?@l Mɜs5T4s{X:3 C9 })ќ.F-q6/fZqΛL˘&mG rZDSGa vW.!k$ʄ4z;% kQB#!KH~4;/zJ[/j omJ+ߙ:.n^6d ܴoň 7wZi S=w'[oFttԻ|Oߞۖ#gM S |ed!e8I@$%vwS=tVwmGH3'KnRF.5K: JЏKDra3& Wg1WpţwӷS N8~Fv +~W0vRIpڀID s4Y;Zp+b%RbVRzTLЕ&ݸp-s<:W]]^Dxډ6er}=Qo}R%ZZY*ķ{ EalN3N"sPmʪ^7嫣g&F`Q -7֚6t ǐ.fSIZ *m@0+ S֢etmbQPsڼj 7n[,^ SׯmL4~*Ew>?_wM'< WH;gQ֡D+wiԪ@/I}V^H8b('vǡYNhÍaO"OŸKG1Ű'9?= ŘǏl dX]^ L0^CW/@d}] ޔ5Z{<ⷹ`ڍKHa7κt>H*Ν_d?'dpԌ-Md7.+PQZ|ζp9ITL`7fÄ_cC7ߴ DU83>"Nκh0谯Ph@W_Z:_{Ro8m"PK)F {.t)keystonemiddleware/auth_token/__init__.py}kwFw }r(ee#;w={ֱՉ6vNO˦Ē̱D꒔ܚPYe'{?LP P(08+V2뗯^^+_>xS4"THUA}'U20I4^G/>68Gm6ȋ:XW@dU0"_bUYLj%TY}G0@ I@گn$5! ^x%kT ٮzv|6CU?Y NAt\$AQɼ.݇2|> bV?$(iVe6Yr@u0>;_nWW7upy]^oƗMpzs| #JĿ(B|)2ZY!QVbͲ)P\b# V\ffe-ġjz^Gt }wY.w1MwC^kGT9AikQUplDI XD'%KPrF0ЕHGbk) oL1a0dS؉ erx˦wR$4dV$ b!4r] (-r, j,[jf)5@Ίł)iTS@4E -` -|IBY HTk@:pA,ZI^^JpcbZES!>R |q/U ֽ{|I]VRDwr~ HW;YAd{`DN*d"9R72?|EpWztPuVKI(e>Ly->pC|s袇)y3x '7#zth;禍ή/P\j%OD DnPOR#K5aȥMfyJ~rM<]Q- ] D%%?I kZ[bAT4X]ϙ4@6CJ W(LT{Pw" mT1Tl!ќJ厼Xj@ vZBRipm ${e3xsmȴ`99p= xNb,+" qՅ[ ]-Ga@9J QF*] Sn. %Tk 1 -LmrqCSdڜ]=/<,-j[ ɔ"F"8рAJg wO0`BuZEJ /_7FL/ߝ/6Vt`} 9$< .L %5 3/a fQV(|#9ݨ 7|FP?H$$Hx;€റxuFg7>G"M&dIa@!^żcq?aGqcV'N(0!n!ADFb !2qiۓfPNʊSUTј (dN1h < j376/}ٟ7<7>Q:{= O"͂Ǻs^kqVe&)H3ۧpl7'&KQM.ߎ&JuZ&c\/О*`g`ʗj2g7o/'htL,c6qɢb%MepӬJd &t4[llZ5 Xң֦PVKj4gE-/ іİVLbH6|ǘ\C2LD1aeuWTDuQnER_HJC&rHYʮϲvUq57 m|}.`d|M6ݲnm < |%uajРA/}h3OTMb|*1K^#=K< ?|PEo6ImpoQ{!`G$5Eʢ:YnO*gPV cl 9f#rbeVL#rZadRV$UGB1))Eg:[#J| ˧u:1tq#`/x * fS+$g۴b$n (4Zj@'I9P@WgBT Go3LZ"Iuo ؐGU I3u3#Ȉ(fI j4aODyI"lqEnGE1?>ƀ+n%hSOR3N(Pz.+oۿ4AX.6 gzƽ ?>m Nᩇ(OM Y|dQ[?NV Tx6DF*A]^(0ڊ*@ϡ<\N/D=Dti_[/ZָE-ٜ6bQCpdtg4Yբ5yhf΁F;!6MjQRhDfsjzraq%ְz+!}W Ѳ4ഥ9-qiaSړ<-nu)1>r D8ʧt#-7'u3B鐽wto?#fG@yep 6@^N8B\E@V 5'g: MwbV4jPq=yN.fPhg^SFvx%`%~c<OMj@פsK iM@@6+Eu cS ./`)? =b#iQ\vLIvbE4)OYQ[\! :d$5.Dbڋ/\~+Gyt]QC˱30x3ۻQ?-;.>,hޝlz%/_|y|wv;ְzŽsNF&t8뀒[LF'>M_('Z0?}?p0s|"W8WJ.AỢXp7`صat ;X; iڻt8&l!ŖTNu1uJ] uETyMl@ĭ8G#7P5'Wl1 4@TSfNFeK, n@J Bm cS-@H r;"*T@<7d1cGe>G{03mTAR7*h&\h/]!32`Y[h`r;Fm$ % t]KRݖFvF1²~|k P:.AI?qAo`9o7"Mg~%SCI:c'9(2CtZnW$<0<,wgktqv(@T̷ᷡ;z&9PgwTEf 6+]bC;L2ԷB,g}T`` ND*fwng*2 $e34 $ X: am{`u(*S7L?P Q-d @JGxo\Q9Qg}+@KXXEʙxZ:&7 ٶb>ݥXh.Cd%ǦEPKp|LDxv~ױZ+.d1ݲ .SH!ę4&|!i}% 6>p| Kon!nl?p'Q 4Iٚ9$L*gD)cVeU!lgPy#*> L{,;׍)~ˉmdS?ټ#YcҔ ZD0!;51x%,-ˊS"A/8q3EZnL "Z§^NH霎J1 Ft6 e^Сy&c^/~{=(10:=]7wߞތ/DPsyfAux[`ۭ8œ j@Cvn=ty ]TAR TnRUW[f_aGFg0Q;fz;Wy:'B59 PQ^78]2gpLק߽2kz?z7ؖ=i0_FJBS|%@EUuߤh22i2H7ԻlԆ2\6 m} d1pHOɱ22$L#Iq?wgY!СUe7!Y 5ITⷓ,;p/fq?ҡSURUw6Qm/ʐ~]O u˟z"8Q7laz{􃃃 +|uD\N`t7t0PB>*j ڄ4vVG e|+ecFMf"lZxd]*?fXT!̘Ou5 nC҃ Ap vTE좞Eʈb$L`5I>}̇P ЇMVh`CMe9 m(R(_s,^GI_N sQ Oyu  L8.$PklA}Miͣ0[ 'Yt@?7A' 9h{Ns d*< SNl-A0B3o]`dڳn^aHZӱbOZMm}K1.ԘJe _ }#xƭ &~3j%IxKPfE~Oy(1$#?'A%u]a 5ݨ "&[Y!YarN$Iq)Ђ94BJ%G⊿ FJ| V  d_ 3[m&a2T ZM7 |?-3:Df #PPiUnF*Z?1>>]ooG/z9RJ,FS41 %i"Wb1şaА\|u:XV@{6}~v$w_^ -0"7um݆$fyWE5Ό26pa0)*2>bɡhnڞ< 4:@mgyW[ hHvUR`w`_y&Z.#r+5vbq &6I8@jCs|Ӡׄϱ\NN3pZ4[Uf<4nh}jIZ`"Ʒҡ( Sŷ(t*ӲuX_Y+U.Kǖ3h@W!81[Bݯ&J j 5d4Ŕ.=H?J_z1ّjМs+*O/ѵ[]SȦ`=Ԟhhwɰs&:m87":7F-){-:BY_+w ^9M`MU,3t:{LLG3}"ߠZCGphdE:d@0Ŷc*]_#yddѕr$hW\>}oqlH Ow530b}ZC+o@fJ|$1"pRU8E2\Б,6WzNlymHJLf-IC 1^*R$ u#]M;kyb6vMQ\p ?xj fҗuHqcnW 1qTWAsC_P-ͺ@m(҅q|dj=Q'oT {Fg销{[ 0y;̏H' ޏ7>=uGEhnC)gB0GMScal~xzxSغ(n@1:f~qb]FApT|7H;X-b0)Ij =d(O*S82Yg4i09hz;Mmi:h8<knd]NrEP: nW}=BiGW||BG6ovoG5xjꑚ-6.j͚m¿qʰy )Q=u 3S5uNߡt-j ۭ ,eͯ畼72Fj&SQzɧ?H\s*fXY}mSn"uc87cӏߞ٧:M1$܏^Gk/PS\6&.C _UCk㴧=.y@re޼[ ~yϝn6TkI a@ut6QK0EF;.X^ 3tGGNЯ(E09Zo̹ W=54ٸKt^~peS{Rd\fdçyWA0+\p}(ܪԀ̱p$;gt?4Fn쯖|Tx]mPdSwv$f)Zv+)m;ɵ1O3+^v.-STWrXI>y=M,V n6]RLm#2;{U o~|U8>Z()|'`MwTy%~|V4rc9RZgMZԾ$Fk~!X@L+`̡svbKcץ=4v\B dfΗJކo};m[-ղd8<k Řp{8 6)ǣ m?ZC_p90'ږiȩGzz'OXe=\IJiR{ZeD UPN%ֽkj3'cMuKE[ڟ`)L\C^q)wIUK]L_:BɴFV| o GvY9Mw<փ?޴UM}[-WHzg"J]w Dt(-+NMXވ7~p.(}OV 9L0ԙU4+3!kFV;?c|Ƌ10A1Y5e^Ǖ l7J:N  ZPa-_K3 c+gbh^WPgzn=`ݨkGNtH`VWf,bP %zR I|V.=:`cSc*oi]? o.͐x^`Е5ɽi9{r c̡0Usp̂<\Ô 0Z|ix.45QF1LvWD%b_ƷdK}Ӻ붙\}xA%dKB̹i@>Qı,m=XS&:GoE[&Q .5γ!%~~BsƝiKEވ:iQlNLUMVO(CNNlއ&TZE;2 q]Y捿gK~Ł0/}6[cW3UqzZ u]=rNptHխEFWlW}"d/wuFU%Kf~ s Gj;M[ww! 0% ~r̻t\U@+n@Zjx>Wy[_DiDv wkO;Ȕ١]Z)&}b{/_ Jou 0*«^OXܹ]W!j -voƋ41ݤ=5L7Y$StpW+sߑxchY *&4lP(x~6p`r{۳v?hvN6q&mS0="BXo- 8w ~-dy Ilp_>Ez'? 7ªn+po-YLò:ˆ:5\6V< m`nRg}G|8K'7 ҼNwHRM`eڦZOh*KqpH1/ey_ԋmHcwCܔݒ=+mjpjq܎a>[嗲qYWX@Ny.fLź=T;tദЌ; IxR.q;w I\xv5fZo{TZs3Jզd.Z\ٞiMVXW8K:WFr· V;fg`xLUmovOL 񶭀ڗFuUEof=;rҨM#T%*b^KN;S8MF.گF`!Ql&7ʺ :ӻ'Lʼn.$݉'XرeͻU1!\&0J {p.fUG/YOZh˯-ÑaqsP:iA7&k:Z?v맭[BKC8Թ'xq|z}*~sy5ǗҖmpKk^Tӏٻur]dz@dT4{ڇr2c+=LhD}fُ֟2 ]gWI}Vh,/A֖g;A DB C^jPo7>4Tѿ7)hWz}Yf. ] tF*Kp!QUY69h/bv_~!/"H6ES|'|zj۳YQ%x| (ˆHzŨ0sev# n=RQ_K<Lcb]S]4ViB,w*M)v2ԓT$I|#7ؑ9Xq .RQ^9nҤ)/ WlR!-D*KOih敕'@^OA3$w?ՏQnmn'ْvN,'0CLoꌓrD&4*y4R#EkK|@O-FYW{ zZ6Ӝ|:R/AU:7vxzT;}P1RJc"(UB>.iAVO ~J/mb|TKsSl 7|sl#:Ha)Io'`<>`R$AB2Wu,:@`#`AJrZ!t⭶Se%bfCWS B6TJ,0?˾.b /{EA=;vDU0>_x}}T{\Tӟ d/8_}xw}szq6.^\ n~#h Y4f%3ļLtV&wpvQlXI3c4 ܯx۲#[nmvè\P]DHXOs,VmH nC͞^Y\F٭;xchLڃԭo*ƄC3*1>ˡ:b]}>hl30`zR;GzV M|b%$!o:]8}?`\Rgl{'[)vҺ5Cz "!t0XS>$\h3$RՁ& \ߧbL=8tE#r6Y򌼞,g!4[[Ob2_ͦKr ׷7vOod+lfH İ8AAIvdK -je QHkùMJ7lĞ%,qޔ^@B*|NC:;R ;RHڞZs( -_S  OӐG+Q~"J-l=M Em=%Xk4},U%[6? f_30j_^brz}.HdL ,lM+SAI%}c0]k͔|(kݨ1f}?^Ս_FWCrj'LIbnr9aǹLtyIS6cCBr6^%)<NJcPp7 NqX@@b V|KCz\zb }m 6G|u<ʙ5?ÿF8(y][F7TשY1&c0loNՂ%┃ˎ]^,gp3.V?/@_w[b1܌aKG,@긄 bI Pk P"0MGd->O&fDj& VK R$$!ۥ>YZ8j~@v 114[ vrH֣6crりXX!Rh^ jpcj+pz%l S:%SdKLجd@zs{\@ E S*:*\=im{8AcEp풒a{#=?1һz:(j~g!"8h;0~cd 5$[?GD= 1!PH|O AW$2Bd_\[u7. ==ik$< /]eC |!L٠ZBK5ڍi[O0pm>(I(RUn]"* -eq\gp}ͱyqZ}芫#5%*RY)̾io4T:ªhq}]^O/7֡͢*_jxbCPʔs՗z@ٚi'92j0f&xC3&d#` 5e- ػudӯ2لcFHRu?Y~rai)3G7%DY(~ ot\mQZ<85,~yx2a4+Pc ]N!Y]8;vJٷR~v&> Nx4%^#gzYx#H- i򑆩-` RۯNz",Vv[-ír߾7$fRʖ-lPpμ`̮_}yc*h,,OjPK)FsIi [/keystonemiddleware/auth_token/_memcache_pool.pyY}o۸ߟHps4ن"K\rkes(þ7NܞP__Cvk- NO^"5WV6Q]){GFGCLH(#bVXhf]^V!wԆ~9\]_bJ1LϥufA̔Xk9+-T13ybW\ X-gݐVM.blr~܏ه??w{v]ݾd\3n`,F9%38,-7 Nv: H1ȓ_J+s=vM#PFK9);"{䅃fy5EfeT>Z\TiZ$.D $zQJz:ְAb3 $p'?xc c܇Gs~$\]Ln>ޤE@#]!6Tp8+5as {жך$1RꊃgGKmΪ @?!O}i2X"= vQ6z[fPIboNzS7w?c ! n*t0RȝNG6D?+:T8:!DsxID|u; @\}om ׌+dzUq'9%z <묰=FaDT.W֕{Mq~el] ;Aful3[x2R|ۻ +plzIVm yžGkk-:4%~&?ܲ\aKUQ{@_T$v[Nw7r+j7kJ{;jRfa^ v^Z7@0ݼw4: -/W ZfsWP"7* 闊8^Hu ځ鑧6ۨQcqN>yl׾PŀpN-r`+ {Ѽ'_0{Rhe]wNH!dbY**KGj̷l#Nc5tۛR%Xh ׅf \-4aϳьwt|)X]ˣ% $ɎOOrvv|zMR˼u_;5T9r439n(Ml>2I& Q@9usku7lP *j4Rc7SOaTunulr3@%Ha,Mn cF/g*cRc^ԊܢtS|bI*Z(EK 7nɏt7?\lgqK3`XT22 d8z'^dK`DW燝8FJn&GR/yL^*!zA.M݄X8@0AtJk \RI랚u&oi:Ek$]c핰 'Qhgp{]nz`D 楦tZ_/~s\6"c:.}v{73"p:XO)]|?𲧾Xs_,'hbh'v'FU7(*Dh= u[%NkںrI?+ofQ„&)E뎷Ewc6+4$hINa yUA(A\u/PiU?8o$C; p"?mT^nEPK)Fz@F &keystonemiddleware/auth_token/_auth.pyYmo8_A(l>M׃Λ&[$݅BK͍,(ʎ _$r"XX5g_+4g1)ҘIV3d@dEJ΂ N죓?NdMwW$9<' 0ž")SupFlZm|5"+SDa}  Jlxzn \&fe~z59^ 4ܧ s" . LIR2x*\t9 X- B#'"DK Zq0 3ԛ?^}t:/d,L0k}X%8fmRϰ#>0N=f <* {9Kp%reJD"4^nt<=BZJ_Bs ={Eof?隳x c!2* 9&4UDͦE)%,BHj6(U$Fjq `>t`r R &P4R_h@WJ{3AAj @_HVVDk!"/WAԖu!>nؐ>F#`_Ѕ8O0R9j@bt~+,e Ƚ,RD"Z YTB(9Ͻu?s|WA3| $hƯi̩VߡPc;c2 -/YrۯAJ DĘp1St#@1 ǥ!9O 2qmfAY5kUAA&6! 4ٕ$utV<^gN  R XVIxt-Aϒ:4os(=?GMg,|]%6o3Cu_H2_+<_dHyyO茸oAqSdق( .iWybh @ҙ0S4b TTd|/Z`P9% y.]yx#pB$@!]#tdm,bˡe6>x!HWH=a/^w҉ZX݊I!0O\d񅔐 l@ V[҇GkV" a{Q3lGX'{N}={jy-TɛLA,3Q%+dC<6~@q=٣aZH>nm8aӻ[]q|4;3bqTU!|?}h?=`#Dy{&yGXfX7D7-'<gj #-R_ -R R@>a,XYD@ч:O_̄jN~=9uG3YyG.VSYC2HQ"b("fHdХf.r<2}|8#в_;Q\0T?90"uIe{\nyG>n9-p6Și!֩Wd}ys9F4i8oXdiGs~J𗻛~gPK)FFm-keystonemiddleware/auth_token/_user_plugin.pyXmo6_qp>. |!GPȈ+0[ӜG&;WZd?ˆ& pRv  ! ܀fi&C{avo$/dkÄDK 731~Edjs|q"kneµ*B_`9 a&lQLFJ!7YlLq mX:ݜbC0]-]t]->^/g>t~/'1V Gȣ"MJq震"!%7pd;$9WДM"HD* 3􌖞8 Rm2C[f s H2f#mW`0WKf([(pZcXH8(z6YZlH *[1X0LR'ބ!7گ3p=V[\0,D@ SE '@nqdt1BJ}Px ¬V#͓x6P< +*ᢚl ), ڽv7F 8a1ٮ>:aG*5ĒnK*9wycq59 : zZ- ww Žh7S#?|EYoe;j'\a|(?oN#V$Զʫ59P͝9̖رf˭+;6E5DnY#!p,Հ{>O3?f/[1Fc<[v;)vܹ/WFaV`J}.,!A\!D_z1>Jǫۡ0?Kzfy\;n!G-|pjGBH!zL#KJe0ܮwE8)c6b' I5e.`epSG:Hr6i5?*BmhIq0R9F٩i#uZY笭GYҎ`vV?/3U&ybKzHQ;[㠲6' ?9hkm.Ve^va9S[>I{)"w.>{+L[PZA;t1 M٤G3 )Z0ZsC^W`lE2ہ23qU1Rp _CZgyd@y1 aIւ,ɺf9q=t8' f)fq2OfSp? HYQkHs" }^Y@Ɯ<'_r]5ZmHMŭ%y^qǜ_ (}\9!*KkFsZEzCQ*rm9,„AVWt9nFĚrn:`Z˷: Ò\0 KՑZܑ\R-EQR((i rۅ i?x~99 sn2Cn ?Zo;j@"~v`qnQ &%@ގzWן,'5҉ J"LuiُHEF+&ȰFY*]M8J8(WI6_>L貎u͆ C-ss|}y?ހO^УN?A ֢()P;h :ܻW ;PK)F{ >-keystonemiddleware/auth_token/_revocations.pyWnF }WCdԫ}*F6{X0h{6Fqb]_"ix9$9 ,d,F 0ED H:* '2e0H&L5܂ RiHEGiMe$/ P[+dFkˁ |zww<JR-w|44[HMnO r-LHgV1ࣖVf GX-dGA(_"l ~ |oX}ڐϳr3X ޯjIo0[~?@\3~)9F4êT ɝ(l_=^(Qp5 !;Yx9TB,,Zb ֯xNR$?g*Fei Z͗3U2Ъgl%ʀ 3᧳煋p_.H1 ǞE?ዊ,j#;zLqxdV3&s1 e&mE KĒ{.I##i2J{R&QjB:;&D"#nrD?ItzIK痞RR$ %̵IlIESu=+ѶJܹvSF$3+ЬY>;ϐf* 9[$WvQ!7` +73nү[? vHh/ǵ8Yf:;Ŕ I+5ͅiip 3wE*3qQ3^}.[wjw^,NV^xա.fq|m*}@2EkQ^lQhK,'hgrVnTݫv0ѻ]zUyD^zR{j.<#bY\4cPK)Fs }I&keystonemiddleware/auth_token/_base.pyeAo@'Vrqch6(T')ZÀGdw(`;RpY{olCv7;%>My57`o @j wzE}VewldV{:<~;r9cl;).Ze؎Bf`zV1;3y֓Mga.\#.5俶4{e,fIgRiyoJzH$+U|b–mM -vEs)xIl5p㪣[h.f| Te =}w&vS^elOA: i߇wH1i!*=l[~[i;ZBU9r|l(՞z*&2Ge[dgd}aw.D@Bg~C DCG'V=KKl۩eTWdGe(NW&u3rN :3o|Uf^`0{J\ c4 G綞tiob6݅rq_v-9b׾;; YMqok^U*~ŕI3WaC2Nǰ֟ 3Lrh}> #@j)ﱜ6^sVjEGt5f[J3'Mh .Ⱥ 6;B+!wP+|9x̺gB w%m;K*VrkU*fΖ':M1U6 E[:Q%]ںONN@UMJ;29<5͇ И;֝R%@d%HŒ˲XMc% P  DʖPB^ 'Hӕǖ[2Y' "# z M~HyJF_jOׂvt$m)I:[9fG2R]uBɍ"׼)Olb{%QmVqyc0,BE3#}ig& ȩȗ̌Yo&5K< [b'%̙Zz'rxJPK)FA -keystonemiddleware/auth_token/_signing_dir.pyVMs6Wlt^2N+e,O\J)ȚL{w!Qvʃ ox *C0т!\T2?Nuhx[Go2 Up xX8$P%>gXyP23J%uT~ViARxh R.XS ^Z啞&L"y~Z=Jo@.&0$[º&0v8'=2ZQ|,'y J3@aBL*t!S tB;W^+/=^RiP@c=f:%ոnȽ[{WSAPX3'\9o4UMτ7O5`vza㖀}0S״D  JI在)$ycWyJ<Xc9 9,ܚXqJ8T"?hNm4Lq+Xb ¶`]t:"ayv%:uMRa&U0V*\9I]uZU-&dh=+Kz GcNjUJa;7=DUh'KQ{cj3XݕfIC^0%ՙ0{ͨ܁/{hǝ|tq/W9v4!tE}j OF oI꿦5u…/N?&ZқD]h9w;\-O\L*P'=>å*ծ-+R=*Ҧ5LEǽ"xS^{3Eɕ&0׋"עjQڋP_Lomh*N){ة8[LR-q6M%ss6l8v˗˛A(fpu qv]|\wR8F=. _hЄJ R&L o]DOti)JLer8$̵hZBKq:اnQ}u: s5O8ATՂ.{=N ;+ 0eoM™A'lI,h&aH28ő+l\X`R?P (ŷxk^7:*#%@y29gSFcIwio]R=m+Rx>z+BbQJ'&G0S `7 ы3+Ҫc]^Y\&twQoQ41\ܫuE:M3E\Q{7V'rfuQFT AY27S kT\ˆ(p60z٣dlg|?}_ V;NTY7JvxipͭhS{+^Sa8Q:kmmGAEQI ~ {곓i;rŠLIna'+TAI%rxCR4=:v3X P5B GC(*ڃ>J(ck}9CW9i<_땛|ުj"K7i: Zy!I⥑ 5ЭL^_6BPLٽ~O jעFbuFX Vʎ|RQG欓9=W#(y*48<|E*hrٝ6a*, ׁ6ϊS*b\HE7tfʯH(hv. *uITOzr䘂<@3&PLjMbfFx{,d8JL)?=J[fX45+ߏDIj\+T{{џYnM#ymYS()V:¤6ӏՓ䮀!d|5rŽw(PպY(c#Tek$<( fA+f*XB T:gdfFF*ʼzfD>ΠR5y{9ވ!>rL^]dzqXI=,XfjWL/j*YmReNRu&VC[9G%rW @O44v5ړ)`5‰AKFhu*YԈY%\S$o|@<}ǪX*_8}ě:o: n?{ߞ4]g#wskɦ84]ksr[CLuD:<2"cdS9,_WhSP^P/nv+׋ڹ:yFn^4Yr[iuzh:`$P]SqV$.7O?ƥjż=' X#E/֜E?&h&,I9YzHδ62("ʁ:IOS.3 vOpըfCӮ YSbKğ2`AuO$8| e|Vj2?PۅWēT_? ʍ?'TlꏚEȩFN&!]5x:U"{7&F5RHI_iMћ_mҭ}3yO$HPK)F$keystonemiddleware/tests/__init__.pyPK)F)keystonemiddleware/tests/unit/__init__.pyPK)F] >[6keystonemiddleware/tests/unit/test_audit_middleware.py]sFݿb}TXasKW ]nɥK5H,i,~I!@¸M Mwϴ M"g1A䔑OMi_l~L8ߪ5E<$.&K P#|Ilz[Nib$:M |$& }=Ύ#TS)Vk64"TbrԠu;^oh 9-&.$GZg–7i X,;rQ e`H'~Mkov~tn\ߐ뫋ޠw}ޑocI a_|6Y:3d2["(imMB:ad`9gµdYı][Rʢ# Ix|Q0t.807'$i'?75N.$b@JΝ@ O&. r4c#>:RwIke>>&&CSι' osmM/;` Zf%&r!unݥ~a^3nU0 q7Qy:SA݃fյ$S7ШitΟi:(O z*n70yGTd& B|@(xU[)i&~*r\R_kڬ 钼:V 5^Qu!/ȥA>aA&y`]TSw!A_tt1RP/ңh'g~ouc*(=RA}jar\eD)~#HZkykDzff>Tmj-㔣d[Jus-JU<4?ͅȄy98!SfCq'P@e *99bhKQI[O/bBvSTD''4'w-bȀ џ!7Ҷb 6 I +-^~;j5kt8JIC2BzH^.h2/P;pD#A&3P yE-7DEۖoStIQTU }u> +'Uxnmp]x`uq3X7 P9Sfҝn[y_ƕ464n;Z%[eg>hP8rHܪR i_0KfPg??~ԏWµE:Q=Y4VhzhV绨mu{\^eӹéΦר 6e,b4CMTA¤Z-\wI6Ƹ%T. t˕7txh:я[q.1m 'eFU?r^n` :ԢN&Q:@4 $5O3 Qb}G@VrW4Z 5߫њFo`ad&G.LԬgKJEKe*cJ׿h#n3dr3'Cexy nyLP& =B~ϙiMoDDDI[xT.OZp gKָϿy&)o1H7@cFt-X1$(RW%঍лI=Nv̀ Ҙ|Lf7f1lБFVt A\tun/ :pᡆ}^LLT,[ȟ+Rз,W s\]'ew=H&iTCsqV%i5aՆjn5|ogg VU\AhB_/ .Vڽ;P FךfϥV#z~l֎7k.LNF~/" qEXӒcdt-~M^nǵGmYzϊ^ '2"دV3חsQ_+rO%=D>l^1W8^+W-t<&ѻؗWxjKs.}- ִP-!e*jmMj1At=QI lm/;RQ]--7P[ EdF%{-'%g_*wQ^م;,9=<^6>/fwb[xz} #za7A-Ҩ ]of`!-3ivEzUؤ:|8ZW ^;zkWЫCޞP7>U|EɣqPK)F-^** *keystonemiddleware/tests/unit/test_opts.pyVKo8W %UbO]MSbwbQ45 SJRq_COIVD8Ϗ3](byjݨ9UF$8*9 5¤f5c%<|LC7{M'tۑ%4ɄPkBU-Sa+:IGk1#|M9 g\nݦ,DjSi;8$Z 5PlEaJmIxkՅ2d%jEQSp3YtqMO_ߖdy2[N0t9 Lf?jEn6>~ R:b}A(tBpK +JFQ:Pݴ^RT6XK*"rzSfn GFW:TQ'ZwisIY6JqBшKFE%a8g)<;r, v2IX֙T[Ř`/N\31+OJ?$It<^Ԟ7qcbN&/z0ц`G+"rb#SB QȖP`T+vk9lE ҅3/Xrl,'"AϸV9Qnz1{wh{J >f555pM~$*.uOfWNs6$tiyczr+J\r %{7'`Bz/% yZШd[HYF_Po/~>9H$><ŀ#Xz(_%s5+*Y/VuP\69nє;&uم9D{+z4%|g3:Ѷ]3KCEZy|I:Qx> 0Xy:ܝGcW0e859-Iw~tPt5;"Pe_{ҸH"Xةphέx)e꽏:+Jdm=6)Q EY'=1=x26OvO~݀?PK)Fħj v+9keystonemiddleware/tests/unit/test_s3_token_middleware.pyko8ᢐ r8 w97qZݸg;+r@KÍ,jE*R)qg/ȱH^*z R ȩȓ*.Ƌ ,,$eD]2Mi_J2 d#.4fd.r2sErɀ$1#6`"{g+X'1d췜g dNh tl􆈌i`M d&'6"R74c@%Re|J@hEH$?uGQ|@sw8잍 ?tϾ6a+؆ݦLr# =2bi aH,@d)#SqͲ!)f\5%ϸ ҊP^LQ&fDXewJ _HrcY"T w>J܈ߪ<#f~qWґb IpRx VW,!] W%x7XG7X9Crƃ3QXBe蝁c ; `Szźiɯ,PCMl12V%G$̈́XhUKbD4EǾJG5D~ ^ŠGmoXʺ$x>rĬ%o!u,ߟP?QGcǽ4ǃB:˵GK!i0ĥo|z>t^J72\CZH鐗ĭXׂmVca>ymgIFE311L#t ov$CATDÊ@Ux$`V?JtjL(^e+M 6duj5оy\sIu&[{_[p ڀ@V;!-ca@u0n֣EZ ZnZ]ZR"wimDȎy+Q%L i"2]J cV'V$, <~*tL'2LdF0,NEW,nNQ?FpJ>M(g=^Q^4gpMWA2U!תgFR%:%Բlݣ(jkjK7FiP<&_@ӀE6M|ׂ EébxoVV##GwCPX&ݵ54h*"}M}$S6ۙt0<,%vѝR RN׍l@NمdKϜo2逹0[X6Qyp2?!lkPrʩႌv7Y9nxa>K[W%*@zVZGr՝:j˳^;Yd^2 +|YHJ]p)O)xyu7 ZI_s21]Xz*)p,9 qF (װ@GbmH^ڮ[8o"]8xE~\|Ə9VNQ$`]us<Y@-/BAй?"lbn5T 5ݶGc1CkE]MpPV$ <k'ԌL.%4N{ Y+צ_]ST h+_Rl\10O-ٔ!w,MX Rh,Yp}k Crnfxx(wR^s]nbA7MUI[ 6?8oC1dS5zYFńjVO4F}dRmeMD8oWw+ -s{RwΉw=uhLHŲ0O Goχ` MQC,_M.'jC1KٝvGv>'y|EJ%Iӭng=y)h+ʯg;5jZfaaG߀/ߛӫҟ6g ]y~m]>м¤:8R.t_2X ׭WW^:=(g8x>'";i]i+BǢ9Nx{ UVX*s4 Mؚ-\_ux nYȁC[Rbkb pOlxk۝A;Rz|U#Z/M*kNª٣2fYV"\R_<rcV{2{k?PK)F&keystonemiddleware/tests/unit/utils.pyWmoFί!hrE@6@u;ېN3̬O>Xai}0JO_ T\zv.j^}T!Y 6Qøp x/3-'{ 9ϼGaPm0fV 7ХWK%lg=cSIM˸529 #[E-꣹)͑'iC%ێF_{7 ~ޓJ=澞|OYBpFI5RLXyK-r)1lcO4㤲;]qdR T ot+9y*;v%p̓D{ s̔{9qMI,+\=rv6uAVY4g{ hEk/D>,yeHIj p񶨝NeZF׫-2%_Mj'K4!Su#'`:b60,L閁, yPOK +O:-TFlT=,'R\~/ ݦrHiĹ9CWXcK"z_٩ʺseW"H#x,Qq1GPH]8,udU+ʌ+﹚:]xKMMۻ= %f]dh"o `A*"(,6Z$^C 53ֱ֓RЎFT$_oFt45i, { kG$ X;2=שn:^u;N7sLRf4p1$Obe e'R_LYk:%!fPa<Mj\p+riU3 p&ǙZҙ55ׅBhW ؞LP*2{e/SʼOyEjf(wxb킉b4_I:%FPK)F7ٖ W0keystonemiddleware/tests/unit/client_fixtures.py\msH_1|+Wq.ͦR46~=# W=O9gzmfZй\;ݽfKbM==K{e3m+tejr*qwO`5x 4-q\ GD5Jp:Z5 YV.E9'|C4{z2{M£>U @Fa ڽ-߾yc&-o;wo>J> 1㹱uC2Fx iX1 w{M~rLϴȵ ;PtS]y1m/lSn0 <0od0)Oxt!>]3(.mPAH<i 2l_ wI405uwُı`8hIRk 3rڎlw0y+pz k׳-Xǃ0T[dR8.g ۝ۊKͿ!џm% 3'.GhĵWc:9 y_bM R ?cե5E^(dbɉN c^q;g?KqAjk_~y(soOhċiM qJ0 O)zIr"D nO,I[yk Ģϲ|Sm: 9== HmC3OjC4vUdfoӥ߭f;dn0΅ KbY3E2x O}7Sʂj6M,OQ?v!3 L%?r> Σ9SC&K+ZdWƦfh+2o}Pٲ֘m pHW `!Nj.`m }24T;7+(-毨$c{fQ f ̍ B'y4( 1.5G0N&:aw94v\ nVϷcsMݕu=d mȹdh|o*6^;{:]-Fx]D@":BfߐEa<]i r^yanL4CDny}6?zx\ fx8A0x*lIyAdC~D->n` n! vL? Njo s1qCʫfTFᅄyl`|`f.)YGH?B/W`eN7哀2Zb3 @, nۻjr6eq| wΤ9c%,\TY_Lu:e,rig nI f{\.d/uΒfXB--}k~a,&^XY,ǶER(.d>*>#C=7 3' Iyp|2 $7<Q'zI%Bliňd)2d)4dRl!GCCSB8lf5ԉ: ot;L1]l45x=O#.3s'?(M.U㹎f8p+Xᰦ|=m)Sv(R_Ω|l߬| &k ?n?ȴmi3 U,I$9}S cQ[+BmzGe-M-PݫX~O,`[!^>+0_35m.cpQE~ suz=:*5FhA:!Rz@[ gR9*H/mj˕:7di~ ũ amB ;dlL \g:x9O^UX9j=W~+1R$=RE|| _Sxα-@8Lcg?KF8؋f# &\IF R8] (g@q'el^w%r3|)j]}W;FPdj6urHIg?U*E\%\z`:2u*E I#HDBA" oSf7P~| Aċd)ռ9$3ř.g6RH% 3aPR%:!q@Pd(TbArX),(#+h2k.ԼڗC#ŭzzRF(hzāÉTOW)>CZ_' ~9r\, PK)F4keystonemiddleware/tests/unit/auth_token/__init__.pyPK)Fg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyWKs6WSJ?&ji"g,L&ÁHPBL ZR~}wAOإfxh1fE|ud6-ϽL֐QXBD ۀʁrgFM.h 9J6Xa=OŻtsww3[L's7vo3=G[5|A #|s4U Hg<Q/*؊J=\:<^HaQRG)0 Un/ qRb(]Cu6FD8e]Ayw(SE '0.e9h_dSjÄC? F MwXare78^\zO'XmdLЉIԙ#oh!;mTD8Z*dTvp:Ui?ivPRsGhWXDGfCˏt ^8к"j@p-DC[ UV htSN.)/v^&.cGѸ=h#:{Qzt쑉Į_Ôheh7 q(MT uٚ9̘2a %En%EbZ@;>?[9dYPK)FQ%<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyXKo6W ,"\,zJу[{ilHwh@:$9pЧ(4&P="g1kV<RGpIt2 S@ -O!,O91B;2ӀykH>m_qNizyY>ZR?UONrGL|Fں:C:ǘoyLvoT9kMM%f;!M6;ʀ'/ O7n?O:)S8[%3Ã6R`Ɠ$EQfyH3Jr'N:FÆi;Fʺ5X!DEHD@r5[RĐDc6 e♁ Yv=e^2Ndy$XsOѝ{|drd8C ҍ* 362 P ED~qݡN&gIr"EUf"v{՚Z2U+3&鱽c*GouK52U;4} Ba\>g^3yZ?g+ R&C]zZ cfFsycm5)xCsο} {`dik`{V7AijQw˽/ڏݩ}Wm+X*k X CqKNŲuclV&01KjrZ5pp;0ubCvmٸ[io>&:GkAW0qa>uS1P2ºܝx$cͼx'H7 @*, ũ5t&y?%O L`0gߒy_0=3do |ybGSڻK(􆀓0xw8lUW;SX co]E+>&Hi4fͣ$ark88 tjxDUK">ߖp/IX S Z9Qa;xI4i?vety*:hxMe ;ite-;yɹto9 2E:M4t #u@l'(5Μz(+틨M:qcC=kx}o;p>tޛÁ;N߃Y֧({w)79 NG~n+M#^Tі޻.tw¡`Q ژhqx[mkð,81<@c8Z#hOB7]7@$ so'taPN 6,&&ډ/n%<Ї*+уC yG&\^fMAg2Ck-Vۗf%K(3WRu+,]IoP`M(2zay{|:Tب& >yxlu_۬IB펦~h[?Xo~ǿp ؁ZèkAL[YҢ~^ dSg 1lPhAGPvwlk}Ň)s?8701~rud:!hܭ kݺnw߸8 vOîחS׻|8 ۹\EIڲ/v{{?d=1t4OZ;ʵLąs΂F`̹`$ƎOQDh N7jKVƭ(矄?.l`8Vv.Xdc1]Z7 O  g]XK`hLͼqg\?~!0GѥX"v#`,Ni|pw1Ln_ti.XS˞ g5-I ,Ӭ{q; 0D10#xxn8{ ̌] AYbtbPioV/jӜ k 3ްmm78*bSM3D7 ^ZW@( Fh֟N֔M4[H%u_d8qZV:҈0-l:/:@J" F} x?Bȓ9hFMgzӀ-nԈIB "PSl ;=[vʇP,$A:%|5縒 X C7`#[Ҋ;G%t %c|Hbt3}TX#/(3Qg(#l K![9 ‰ͼDP9":37N ;[匛@^U 9/q٬]ah& ~;P 2(B QJN{\wv9>p@ӥesq>A`lTKRn{ Y*4͌o2-_ #\ p!U3+%&t'Nܥ( ExFoiYݾmIqz~M] x oί/PA`FXk!AžZpl8TaGvҔ>AGˡ`#"c׹.0^ZtYPw͈K`e~)"\4E/:e4) ʆr4?l?ye_씟]8t] ?60zby4cigNSou UPVY͸;4)RHljm߳u-*=@i5kdWzT\q([Պ.+8/F1UknEz՛nujCbo£m]yȋO&,\PѪ g٭}6;mXEELB_ So) [qm:X{31eb%i+]nfp#w{/h?;WO<)p)yPCDM`co7l=j L!bXOKN1(Сʯ&`W Frrh`to h#$εm:.$_dg&M:#5 3 s.p㲅 QƨfoX&,v SPՐ8@b&x%~\mH~|<so`=Q|WX8rVv+~l -3}:_٪gKsP_Z;PԲkV ^>m5<|dl.y.F/Jɧy9/9yMg~ |!Q0&(次*$$k)D;^EX73 Hv[QB3aKNv6z@RQ&X/jS;\|H}q@Sb`]C!%9Rk>7nGjSkt5@~8i4w~¥WnJ}xSkZ"J>G?Ōᐎ&O"M_jʠB[! =XX g2E> G@[h99ԹdNFfW/^S\%ơ{9qzHF>L^nxݲ_IAAL{77 20ocp$aAb:V9Ч̊s#&G.w<~0۱U2_QB -]7LaA40UoE̋abe/CWM R3 Gς&-cu7v5`2P^݀;afa1tEI֗`ٍu N}ujG|F CkuEIꏭ?[v) S%1J^b a:ڎO[RǶ M{a~47x4BUJ|UH1=Fá"'`:.8KW}`_Ռ;;q<>~B(Ӓ4@y-v%XunXE=|}2|^īͲ;H2lK$;4Pnr鈱ʇYv7t9 %!>2c;p)wX .7s`o7&D+i0n8g x6}-)ůMOqaN~kl$mAgU`|STgq*tx܍ϊ;[gu9HV? YgՌ~Ca4xH\ *%o+e|ϴqٗ@vUv9=.*gD 0 '?I6QStzp z&ǥ8~F) o3B)Q1b la@AqZG" GnuqH(e~z,^(q Mm?&~D6Ro#> PAfْ`bJ=/T2S-f1,*/ҎOȋA 5sG} 6 >* ۖkCZ#n6OwN,2el߈Zj "@>^9L[UЂo) X$`3#~׊ CV֥-Ђכ[mc쳎"n7NpTxi#xS+QLͭx ~1G=U1|ӈӱB(oVvg|׳aw*)3>7,a`<)F>tA!LGsm.[+|߉Ϡ@q}~`7 |s @[F\s-9&aHgN9 1q0~*vÉ Joޡu~x=R vg'~GArȅ?Lm=z\<D:\S8v'SS|J3)PEE.mLEAAK IjnjK ~iD*`B(0ݒLY(ꏌ^Z?Ʒ`jRx׶E|p_Ck$48aRB!%0̥-(kTOJ` Qði(bPdز avM v_9UM<淠^ǭ(1?@Ƶ]-=@IT'MD*\eɲa4Fb[=wvSuJXn'z>aL+ > s4Y317]`wG5.N&_*! ?bV֦ : #ö?ˈsO\ $As&L,`+) '~rJNមͷGa]qRE]ŢXCE]te2xydpQy0Ra:̃3p4if5L"PSžꥮ WBHE]b/DҪ oJn9 o"dsΑ=0 ɟ;hٖz"cVk<u┄33σx[6`10"+x@0eŞ>w.4+;aɢ6;SIjŎsTՕuͷ|ɅH:eJYR%YנI[PJ$ڨFc 4d醓i, shVل?\iRQmjlB7 m=#EfVR5EiMƘoX|Ƕ\{ _JGE1ŋ{i.tҦXL{0Sw[)OR醖7wʋY1h8~OcX8fe\7xeK8^gO O~|x◅ˢp<>m8 э;LWT&S)y[Zz nQtTa+,w*H$_. ۿj%=L>}8'^5ːljM|YS{BnFT"\#C۠I= "w&1S\[+Lul"]@gCjPى<7UjUy#c@9^2ޘX8;B< B<ۙ=Ciy:Sl]*EsmE!&ߓԶTW⑆\) br* L"_Cԇ2(7y Kq+ArNVEp)lemD-H#(`u<s2W_iâWc-'zHmE"^'D+AG0>c BS fn!y$SXF1R_g[Oe!_r\9v.W9ul"hUCwKL#eYm-)Bl.hsө}@F+u?DžrZ3WMx<!͂[`"@yK/BqnYmP䯧$_<:&^ZtXV2=mnSfi*C ss(a>mzVOnПrɈ:b7_+Va+DcF5쓭~US-|_\U ]Z* KWɗrHJ%}pq܄ T~Qx$y2:A4-II1ʇDMP!~ 5s' }?.Qa܂f*A[dYt S[_heȓ"Z~OEېЬb׍)biI=*a}ydp\eN|z3f(պw&!7~%~DU-6`a:wô-XV' }pJirî&*4J"Xw1_zq8~KO^C g"煞~֌m/G1aL]6SlݠLGm6AоFW Ҏ9Oz=wbZwst*f-N8Q :?yMGfa>sjDJacZjKՖSlt~˹gqt5<]t$i bF,e/&\rL[+Ιp"QxQVL,$\bvΊh @ N(ưS%^e7ٰ `wG{wGu3/Z7^ >%I-75U=𗆤h~xbhu݆9J/EoK)V&.:p_cDߥl:LDdzPG/?#e }p׈@o3bJc+z68z׻{OYMxzaeLC;q|$cHN\S#?M,Jх__,p_`|s|x~rL0OTUF"#X -"JDY[lvb@ H 8, G7$ء:kJؾ"dc9Ywvl|-m7O_Z5vV!ם ˍbdBA@SaRR#7U4(QP{od_4rVۚb`%(I+CƱ8/=d[-sc2eЧ̞IN"e([j,}|pX-*UR7S iFD2dWoudlc\jz'YڧЦ颍X hDZfˏR''wz7Do./+K";e{dhG29$0{Q%[I WRIX"rG*t*\1dczO 찱/,T}`4N vX\'_MƖ(c3SPiA ˎ( cy~N}`xej)9?~;φ_ywyE^f.J7{ LYC2ՑبSS](7Xf^󇧬,D~q̏1W9D@%¸&nb]\#JANQݭ^c QbbXǏIj3xN S'@ $@`/d# N0!ʕ`z0 X(=Sۥ$e M0S4G1٥jYW!?}%"$d9\/ph5TYX?O#̆aoX j{IQ D-7JCy754PiO ڎ17U1۱Fb1}?~cQ+RU SZ!T1CBUmf m:>8kYWG2a@$7p 8UʐJuQ"nK6۲d֎:{Y˩{-*>MQtzo%Z[[xm̼!%װ*5ohY#<Bto^n<s#Mr+7_Camv헢 0⩛KlpǷtՠUYtկ\`铣D`upDOa5WRGιEԸϺ[Խ1y>_~`qsnB5t4#π~az[!fn /b n CM PJcGh Bq.;z9SwFO̕krY hZCԫVjvyS-Is )t'M{-h"hEg-3DqLXm2?cͰ QF@xd. YUUY blCϿV}nJ0k]?kE ;fK=<ق d(\|n6HJgLJ e( _: >OGw Ms7AQL7N )ET+=4Q-L)N ';DWFh_2ϋu+4Ǧ.ZjS/oּw0ehIEZN˕ ֛s˴`|Zv(`[79 hs)nl2Sۡ[PڃswxUZFF.f?ziIJDYJHvfYglDʬiDٜBfo%;G"7۬*Α%^H\ԢBtDu_ &nᕈuş[RmC7‹U4:W%.m[[X:6,4tP c2YDӄ|)jO Kl[s??4.|/`Zڹc4B xC {, 1os- -mC= 6[S95|l!tH\o\xGo8O~yMPvL!zA8R;/ٳ Vz\e@iU=ݽNt>|) <LҞ=پ$F%ivcMb 3PW\8Wp^z(:[6==*>XDolTa/#$puXcrG#O57P@tD)_B.LN8Jz§-XhYP$|.ˆ0`EP`W--\*>mH5G:_鄖 @`0BkuZCo Jà"Wtz@ļp;pg"VX.Vж!5#.d\Gv,e]E∍mg%A*%6T nTx"`.Q /۱8 0=Č\QYypLĦ6kp|p˝^aq}S(AT׼/ᄙ1v&"Pf'Z'H o, 'hypqL8QsTMgc37;eI 6PMfaMiv:D_gh[:9iXTXJƕg 4 8`RwG(2Hb|-'Jcl$T.X9Gxӈ^Ƀō5)XѮz ua`ΰv0x?9xb^>m^)X޺wwT;Yު1褴Ԃ TW[B5RL% hFh2Fә'!7%0̔vvϲUB~)E{(*-o&eSRЬvoczem9%iM @UŷuI.@]wxpImD.l۟%^[ oRLٶ5J.gUpvrhy/`'@* @/^dFaÝDd iTF*ՙ.C7ӤL1{4Y^Q>tWm;+pۨޒ/Z_mAټCJ|A{`d !–إQL"Zv02J4mq[TfІ3瘝o:t`S.-n/ ~>}Z X-)I Dy?eИ(2ܴ[Ƅ~Pr}Eshշz^ςS7]Y id[ތ#+7h ԭCH]d>{T]}߶dO^mtVmMy`J~zN?$438 /UJy2i_y;ʝܶDLF\ה &`##+/uӂʴ\Gr)㎐Ki̼)]o"aʽЛ.mlW CM\҃BѻH*uX#nqx Eˁ GoفN6! "v~܁TqtegFt/1]M-m`8Xq͋RL+KCK,$h.8GEt7ˑS (Jv76lդ^Tg{&<͸ho@e@1EӠ{cx'"W tlEb70Q_aERA?E흝WXxa/Ԗ[[j?N~3t0?юzě Cϖv9/ߞMь1T[Iۄ3y{5,*ZXy7s$cRQVE9ifȑ ȃPehM )ӠsLd]s"IEdb7=O?GKe({.GEE.&5]j(r(]T6/f'fvʼ!Mu͗)QD<=#,:IJ7b%=ÖaP,"p ܡײ,6lUeC%cˍ/4vl,ʐ&X^1sdXDIXP;O9BO;sV|_˫oO~j!sU2;b˯Lf?Bo+Q ama X ,5Ji) >1t78<<5)3 MKxyA]n(kS߈XiS}c'GߍwYn=P$<љGwfn?YkIj9Mᗭ Zv_iuE@yF2C%nG j` 2@ʞB MoK'f([}UK.f(b}sIQsƊMefbOU.=[g]gNd .ֱz@MY KW _? ՚#2= oztEE]kL20En/bD-nkdI<,|t5,^T,zgU4/1Wtu*)0rEv6h 溮 ~/[Wvh@{}Dg:@F.e8Jb¸LnxxKlW]D7CR\@%K+˕cx R4V!<a8 s #,vxéte5WۘfVE-}]{)U˕Ӽ/Vjꄏ2 ȇB#(wx7Ys5A' Yz* Qt+wSk%8͵yL01"ؾ nԷoY{4걍hFX= ikG%24{D)Yt>Zs׻UfN=D2ZL%Śa>d]!(Ne3Ӌe+,G҂ESM[ -yk C~E}w6xׯqjǰiOf#8 ~q:8>9ri@k;# FAO3H -"n`k 0kA[T7otνıOB̠s;[:[Il9A[XFJupa.)3.v1>,+)*Pܸ~@ʔ 7}@:A@ lvkcV.I$h{U~ GNK"4H,A_` =cKGdBN,o셾TAn8*=>LXQakm,VqL(+̕Iw6S/ƸOM֞{r#=T熖V1AYWv.( 4JX+l7Kn$١P9 đêcH-$PuoƎF{e<ꔹ,dTOVJJ74]CiiLty3[ũr:I%nev(Tj_e.ErmED}cfJţp6{x’Op$fvf6}̒LdiȊ#eTLipΰ/k#8`/%pK\ySD%F,N M qƠ"'<s*R/^NF(w>{:Hݜʶ-h[QBzN`)NLL En-~M4s3ᑋ;!$->$Ҵ$k\_kA,K'gTlhD"sWfzp0}IEN⓺}%RP?ZSn"W#Q80yj>ɩLЕU>.fBCkk%D]}7iIQy58EbO#d6%R-ɎRErf8|q\=Ph1*0ki"ٍ *ͥO/[x%ջ! )א HEƙ6ܬ4 |B|6 ȾvҴfKtژz?<(tϖ7jLvHX4-͟GXEڦU'*!]`ѺDZ!?P Zr-ҋ!976E:ZTy4T2n%=/Q2|F (/a`gJO֔j iL,usN0`Dq֡0|[`t'qx^1VffJ}g%AYȁm0kϳJ1p־,9tµfwm;[̪>g 2FZwh/ʍִ*n9LPwHyLqH5x \RLX OQXWv ~2fqh et S5 G=MS&{SMzN:8mƨބk4O{|]RO#TNTXV!|,it@V-J8dVA ;羂e ݪ?P]>8Z*&9᩻ $FS a7h[!~w]ob=8`M' F+M',qeWHQUEQݖ'bwN۫WwJ}/Y׀TAb Ʌ<#CᤪO|=MofGln^ٴI2uxm%*8͋SЀсB$> >\JߥM=/_a997N(zuv5Q=,4 ugjg}D5hA哻4=OP>`0A Hrg=7wl?G m`OTԿPK)F)3,X?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyWnI}+JV.zqcː,5C-ݓ1˃ Unjj?߄˥ks/i\$AAXl];$0,#00roAHp.Rӆ2!#0*>Ml0?skrfmgG^$l]OԾK Ƹk`>z1%( l9YE/BZ`.D8[Kd0}LAg| n"` w7_<S*(|҆!%nLU+,`33ʵĸz! ؠBXfwV]Y-JZnU3TJL_:xT/D%-Q}ٶ!C`[^ʌޯy ?{=sgtoz#*e"N {b;|%e}dÄN"LtZ(IyaiTRy6០y׌Ig,۟-N!@qnP3I$[,Cf+xoэ}>.CA>GRL!,̆&z.͸l?`PD$GQpѷY9/x(=XpἉJފi\dxB=dKaۓg+jrEu&VbR \dy*DZ=T+C{xw. Wgqw< C\" np ]>i-nWĚ-J%"5(akUgYO MBH [Fɒb)C=2E!8^#KzHо|e2pt}X,f}3w"sL*_Jyz3nE@ Hٳ<ˏ.+SW&}فpIPK)F`h6keystonemiddleware/tests/unit/auth_token/test_utils.pyTn@#ʶDqR&EMԐFQU5 *Kv8b츉z+̼.9*@F6"W '+FS3lu zPB)+|ɱ! r]7*GHZw4=H;KR1yNvϚ9L6M(:6I"%GVܩ O4NRƺ.YG p1]i,.uu{PK)FP%ۛ<keystonemiddleware/tests/unit/auth_token/test_revocations.pyUm8_1ROiK?iv3f!Io)G15IؒO7J{G~Lp23zgkdn7 ~L>EhfOىo4VjokUu5NXJ;(-Ria+3|Jp :/2Upn_ԄazTU,Nl]`\q3G+L$ C<[~#Ѝ'`RJxs^oiƏ Asc>E`*)݀!e7 ڸ UO*l- 0_~A?` ŋ(0>*=(bVנlʔSv@K k LqUXС8ܡ9VvlY;+K):\v:uf`ktG" 1ϐ2;u~RrҝFڳ {f%'*-3W2gp4o#{%q㛴n60JG8f ^`$9MYO (tӶi ߌbM/VAgNͣ^$X%,fb^PN=}^ÞZ_- hJ^V9^l׵t}v D6te&piqNwT5ؑD?3y8k-?.ym~v}-T.=6ŊI7JvHtPK)F#keystonemiddleware/echo/__init__.pyPK)Fb"keystonemiddleware/echo/service.pymTێ6}W $^yE\6(--ln$ߺՋ32C0Zho{FZ'D0]O L 86jTB:(B +RCfJI3Fmۦ/S} WW\Ɓ ҳMĢ56v3V]Hf-f| DEdbMC*р 6 Xތ7"UɥVkq8|@l ~.j<%wO+x>>Na G-*YW?d~?$ T7*Hs&mx5Ba\,dF٣*tMGTERz[+Xq ֭vO^k1X+c=xww f5F)dRm ;<8o42217-vE7;P y$^ѫF*EnWwdh^ZK{a%+L^qr֔и /x Z0haJ|& N/}kNIg& Ȕ A<e52믴$AsNi[ryoo!<f61#J9aLSOȡ*GKIiGËp~Qx(b^աBpexUrI$e6t1 # uVi8N=HTyq^թ O6 N76LN|][Pu m(:xb&3*@ȷ`KT^JIߓyTx|)}~DFgp)Jq)v(|GYY}¤;vfުf,50- PK)Fr!=`p#keystonemiddleware/echo/__main__.py-10{ŕ2/pbsdf*7b#8bǔE =ȴNm=;鑍Wԗ8 nPeJ PKJFD2keystonemiddleware-1.6.0.dist-info/DESCRIPTION.rstQo0 )ҩ>Ĩ3M_kjĹq|zު %l#V"p7!VJz5Ǥҽpn3P=B'8x60J{L0Q@( >53y%a\H?O7[U[0Xa ͂^ SX{!U'Z;1MSf(ƒ'#yx \,gCn'A$h4s7L><*kjWGwY4 b۴qDe:2od Aa FWR5+b]^UĻh='3L;}.!05 #/9^`rl2%30gLpY3cÍIs ;>o'x)]> M@Ŵ%/ÏëΤ'e&SSDV/5:'!G`2Qcdh_V)60xMfF4Kr~+ʅʞQzEa͂оWx02S_E~#N>RӆI7(]ށ_[Z,0:-)aȒ_w_|bo=%3,E~C) BFNp|pR9szr룠|0.3AlT;4 VE]:V1Cd~Ya=-"=''}zمZ2ӝvq*],m]qwwmԇ7]Euc. -OppAO?L=gϔj9'V*`3 7IJ57ISJY &S$GYF@ _,p`H& _G8U~VFTgzl$ s-$vRخQO*-Cio CM%\`XGq%!8Sژ@.hˈ ^e҇BՋWqQmJsAc8S hмQw8zwTYj y'ZD:옪 B*?0-hu.l[WUQɏ@Ja2?/u%hPKJFslw)keystonemiddleware-1.6.0.dist-info/RECORDɮ%՛)fpO_N&q吜*@B^ͿȣuiwV)fH?-F1ۍÞg`Df^WOAr E%o08v2:6-l,P dilUn@"z:t!Z ] {{H9S 5 &Bi\LQz-gC>NHu6iAN>Բs{jg!U(Vj5uj PYvufYq$Da,IAW.byX ;k[D]Mֺ"}6p7dS(^F4* Ka%A$Ȝvb*Oz y88=Aި_|W^S o0&(:u!ӤʑCxJn+M^#@*Sjn].8rYλU >꼦SM}Wt'6vSۨTfP?O*b/L iOI 'xD8Z9#>\Ū\WAD}4E r 3!8MtKj̖C&<4%%R! CI Ak_Sz>޷^` *Cl"%Ϥ99hq\qGﶏۣ2JD"Krg,3=E" ˜bq3a&z5G8#$Jjpr^O9wbvW6 {ptEOɄ/u0`SiӶ{:^IW6<:[Q;zwޙc/*[tl5-0ק ?-uUEsKZ7YMOz-m>Y~U'C\ ]0һ8KIKtJ;"OIF#< a+( ۍ-^}wQ`G'xG]d^.a^&z6UAg`ˁp7ÙNw\yq(jgxdҜ6{S@ʬo.?ߟg+[9he,Jg|˪? \5>Y/W $Ϸ6aY$mIbW>FIk:s k>=L, 圔S8<@(ŮO]iSxThÇf7D<˧I7 o=^!o*_P4h%r- e=+-lLvU];*ڜƍ&e3VYέ5Gzl)arފ Mٍ6ESE.3?/l5n" _kEz*>>jQNp5G;J:n>keystonemiddleware/audit.pyPK)FՇvkeystonemiddleware/opts.pyPK)FTkeystonemiddleware/i18n.pyPK)FNKz!}keystonemiddleware/ec2_token.pyPK)F-*J)4keystonemiddleware/s3_token.pyPK)F(-keystonemiddleware/openstack/__init__.pyPK)F/-keystonemiddleware/openstack/common/__init__.pyPK)Fu 2.keystonemiddleware/openstack/common/memorycache.pyPK)F {.t)"3keystonemiddleware/auth_token/__init__.pyPK)F0*a ##*akeystonemiddleware/auth_token/_identity.pyPK)FsIi [/lkeystonemiddleware/auth_token/_memcache_pool.pyPK)Fz@F &Cvkeystonemiddleware/auth_token/_auth.pyPK)FFm-^keystonemiddleware/auth_token/_user_plugin.pyPK)FI'mkeystonemiddleware/auth_token/_utils.pyPK)F{ >-~keystonemiddleware/auth_token/_revocations.pyPK)Fs }I&Ԏkeystonemiddleware/auth_token/_base.pyPK)Fx}  6'keystonemiddleware/auth_token/_cache.pyPK)FA -keystonemiddleware/auth_token/_signing_dir.pyPK)FFN,Ĥkeystonemiddleware/auth_token/_exceptions.pyPK)F+k H0keystonemiddleware/auth_token/_memcache_crypt.pyPK)F$keystonemiddleware/tests/__init__.pyPK)F)ɰkeystonemiddleware/tests/unit/__init__.pyPK)F] >[6keystonemiddleware/tests/unit/test_audit_middleware.pyPK)F-^** *Rkeystonemiddleware/tests/unit/test_opts.pyPK)Fħj v+9keystonemiddleware/tests/unit/test_s3_token_middleware.pyPK)F&keystonemiddleware/tests/unit/utils.pyPK)F7ٖ W0keystonemiddleware/tests/unit/client_fixtures.pyPK)F4keystonemiddleware/tests/unit/auth_token/__init__.pyPK)Fg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPK)FQ%<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPK)FUF EaFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPK)F]NE51keystonemiddleware/tests/unit/auth_token/test_auth.pyPK)F)3,X?`6keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPK)F`h6;keystonemiddleware/tests/unit/auth_token/test_utils.pyPK)FP%ۛ< ?keystonemiddleware/tests/unit/auth_token/test_revocations.pyPK)F#Bkeystonemiddleware/echo/__init__.pyPK)Fb"BCkeystonemiddleware/echo/service.pyPK)Fr!=`p#Gkeystonemiddleware/echo/__main__.pyPKJFD2Gkeystonemiddleware-1.6.0.dist-info/DESCRIPTION.rstPKJFlFa3Ikeystonemiddleware-1.6.0.dist-info/entry_points.txtPKJFA0Jkeystonemiddleware-1.6.0.dist-info/metadata.jsonPKJFaO/.+zMkeystonemiddleware-1.6.0.dist-info/pbr.jsonPKJF1i0Mkeystonemiddleware-1.6.0.dist-info/top_level.txtPKJF3o_n(UNkeystonemiddleware-1.6.0.dist-info/WHEELPKJF+:. +Nkeystonemiddleware-1.6.0.dist-info/METADATAPKJFslw)qRkeystonemiddleware-1.6.0.dist-info/RECORDPK//Z