PKSHt{*Fkeystonemiddleware/audit.pyvx Iv`e.DM &>"-X3?٥Qc_}X<4 >J,Y<)o~H/^.'\$۾dl2^N|im0:>_߳$c| h+DwEo,O6Şga^d, ^Uzٳ͖r>Vo+a|s3^ͦK6al5_+6ή/L`9@2D.eK|M"Sᇛmɷm'@KE s\ X‚x:D޳gz+(JE,` B\XuGؚ0ِ"/r3 rk҈0o8E]=eɣ{.ĕUAqam{q+!ɭ Bz[Z3$B<)3Jp!໴mKʳ»Y'Ac:YZYj:^]_\\Cg߂ݑ"E 3 /bP:"JG % G=sr TW.[$P;mXqxڇe{\>:dYRJ-[x X1hq.m)+!jTxzd3=ZZ  5gk$ ӼUE(hRw$$,cͳ$|+`1"qꁜL#TG$qnopîFuhȠRޣRӐf=Q_$~QJ̤Ef1!AMr3E׶mA3^ux6m&W:Aq',2CW<Wj'x1E쇜ә)%FԜ7 2DQ=,۹s +~<- 9Pkp{A慐Q .gx3= ^Iy\{\2ҫs) `{]bsv=_Mrp&X N$nšxȈ-FLh.H ۏag] P9Vw2ڣV=dI 2^>w/ܐ7~!^yᶱҶ$Q6b'(JzE9ܘ=\oJkCB5N~Sk cT^?f6P}4@5 LMqOAA1N(Ґ8.h%M94j13y:ÊU$P`Eȭ_m댱yI\?ՊmuP*ސdN[,aulF֊ *"YcWOӜAp1ak(k;b~ѯbJrpc\ 3mN,$ dV3JarKl: pr²ˆc2fAao qvH@%Pa?t 6޻8]9(&l#=lIȼ5CgFjTZ94Џ=ļOVa+чf`9s xS*?qݹRپhgи #M$gⓉъ?e[bf( 8T $` &1dlK`W2°r=YBGRdّ!6dIp ߠ/aHxJ8Erw`T  aQц D ɠs0c=8m-nWuZt5;"o˺}Ҷz /aBzj ǞΑR?6%+#~b\7:K BDmy*m%{t0jk*0S+)~םJ7rdܚ9vRkZv%-%jƫԯ|w/GVivw UZDw{zѺ7Rq婜@ZjW#"yt&nM+PA_v AG0j"SMnof?! [ _ !TAM:E^oʪ''Y&4ړ<4qn1V_# BwNO3Ƀ*V=G8Ĉ(,;DfjK=C(4RFvmbM÷B @޷M,S8d zr[d*&Թ>57BT!W4bTOʈ:z#~BvԠ{. Y~`(7|o5J˽ƃ?,wX!:l ;F۝3h ff!ϫE9E Ѷ];R y^E~Q~>S%fZx-7g7W}X8XbV5 PTztO 1"fLbem6ۨR"`S͑8{UE.֓t<9VbsOg jEcءc=j"J|MLrtU-Yomi:4Ǯco]x%GIY(1^oeXNntm  I݂ȷhYgW-2y4Cpີ2CVQILZǑ6&*śm'4TrNxŭi@v=fq_")2,,H+8&ÏdbyШ&nUO75j:=I6*_BWyuŖd)F$Gij0)sfɣsJ $T74'RLK _],iȱn  8GًnI B}(vQŮGmt@JجP;l"CTv׫L+u~;^wOE d| K4OihPkasIwv߆7z6f-ZH@`' )oUq|f(M(Xp9) UfΨ6NpnS7^gsƊ4=?.溺$焗M)8o` !)A͆OOR; pɱwGAp.8'֝A@i4$RW2$K7<Ś".euXd8,@l}7zՊopM0HpKbSl2^yMxȖD}DIlU6`D% z\趥UHddS,QVdǷ7jvzm;nkG06j-Wsn{ዛߧ1ؒ D;jJ Fջr.mW |,Jz<>ZazϝVS\&eIY3e緫[L/gׯ[$#UMe ^%ˣ V9kr稛 d=-$ Pfi)oôu}kv/ycT%Gm{1Ah>@ %XZa(٣hn#m6^`@7f>(S:ֶ7,ZPk5­ыxJ4T몴ȱlŭ͜S{EZ-)=ͭiI^2}-KM\To71a~bo!^7H UTlPis mB )cSI9 =Lψ%ښ˗aQWkTdy;LVVVsƫfx|=vIAhsQSBŶS"QTzVG_VfiZcݨkif̯߬޻լ1|A цTF҅r5A!/N|nZ:_ߧJU-S}ߊ?8ec46,_Ϫ_.PJS:D%vCMew_d.gÌ[T;'zZ?RPKSHeGf+keystonemiddleware/s3_token.pyZ[s~QP@Jt:vƖ2\ףj0+rImb\D~\Х4|=,יKqTy!')ө,I;4WO.T`arSYPi!d.2T,^FahЩ΋L&fF℡DTe').D{,nu&ŗ/#J7z-I41ׄF33ݩ)b⃞4ƠYeH,et(BZkS\Rj Q t.f:QBOԲ:bh.n$_,a Yn#̿XjI62ټؕyۓ|J~)uf#@h"f"WLa0*ӅN=YrJ"eV_2{s1>{ <:;\ߞ3oq|}O( Ǩ{RGN+4B`f,BRMLO@W:/\9)K-tNҴ.Xr@!*`䙛2&fʔ^KRս s#Q_M^CEX8`oos~,.hD1>acRX֠?(hdi,,+=+Ţau b05k!dB,Uq_C&z& FG K+.2`Y/QT.EXTEL]G["3Y!3CJ]N7ybbAV!ɽ^-yRnC;,IttûH}WDaL>w:N/Nߜ~OFߊj!%tX}N? o˴;rF䈅iD8R7!APy><£Iq"bN&: J %7wO1{/ac* .\V/ncEObmzؿ^Lڀ'/wiwZKS9y^+ 6EiV0N1/w[="NJ )ځϘZ+h% q 02UY 0 E͸0  ;=Vr(5yR2E 24HI$*3_"LMzPvl (&3Y E+Wh +}VWzwaa\1؝bO;]aJ@Au2,ڭPҝ#f>eclF4m & #WW5zvHB h^uum{Rsqk⬠oɩ?gsma6 rnX;U: /m$a<0Ёs^Mә@sd\8[N9Kج<դMw( q &R"%1>vq+8ɬG9vKg'Y,(R/2ܑF2bwk)aWEsU|౐N0bȘmMu9v%*7'@4m0T%b3}6hlQ|+;3msZV"\MuUwUvj!>.33v  $߿ nA3; x⍏1yѳN0k_3SI.YK[ :Їx7BxZʤ -+Dm`S [09Uy*E]hв!,­4}9vN6*:-mI"GY?pedaRϓcQ믦cOúIbPbp"&^QYs Ҡ'=0Rfl H@%ط:Q(aWo>Q@*os:?t]s=(7R`E*jL-W6u v!v1e2e'AosNi&U9.3q^aP - Y=/+$*[/9-xw]6;J ;t໽W/ƢKxǽ~|pGTꙶo`!QkFqS|.S-^_r"C<ȶfj󄧆7JNwRAh G>Oۂz+sZ@U+%Za?? }_t acv蛰'lBUy` lu .tfaPl6@m ]p&o<;4+*Cq|x.~OVSB.<)6IR*4F73\ &"=d١Ł뻡SJ\4|%xӱz:w:CV HD͈m7w9ޫz\MzmyJ 8[\R)<5 t%S ާzJk99!ZO#F=I~'{fݹw&ض>6wM?/Lx@twJ+>7t56 ]ҏ@ ~o|im2rK6:J=O>ܪk$Uuw6EܼwouGg0c7l2ēӋfa^v]6ٮLĄ[nN6)|%vآVDZ}l"YЅ]tNcuU 9UO#7J,Yu&ZJ2YF 6eJpcp4I7ePUAp^e2jo { $_lb#V5ѫ]nU$;HM XiCހ)b0 n81N&%tN L}*Du= 2DRrW/c_쇼Zc~8j"ŀ;0VTƦܧ3zu(ÑXxt>VCkT?ĎzXFrC|"igRbeOOا=W8m;;|&3#ى zzJv;{\V=V|L }EoC.39چr_fm6+&ppUҧ NJNЬ|zFSCB 8I2P}Mf98qǓy{ZuDnS^(t0U$3i gj4uOnB=q|ʪa'UTk0E}gT .)=qZ˲xھqtX~cUbS͙&V5p4llեsbxj DplzӒp!S%D`u QVg#|EOE~̬6FU6}OV0}tN },JjZrrmU,fώ>=fmaVV1Zp fBs ~]'NYmj[dgSUL'h u8O̵LYO'f6WgO]YUYxDŝs&^.0t81GuukxPKSH/Ckeystonemiddleware/i18n.pymSo0_qJh%jӦ>PJh $,;3c[y 3vT psu t,9K`$%tDa0n12輲n+8J/vЈ=!HC4Jl(6VH^m9d| BBҹ:ۆ~DTYW!ӏfd:_M/Iqh#=I!Z`!łeSAzV T>8_zGO^@:^AJnWCxkz/:`b~ŜN0?|~?Z Hu2rOAE*%ɗ;Q#!;ТknzWV "3%Ikφ v1[v3Xɱ>-}ŞfyRmC$˺SD*ၟI yAHߟp5بȝ\$mMZ6y.Q˝#"M b>">n5h+bqRB8F"};&[* Kj0(YMg)sDƖ2c1z]lC(ڲ"BRLjӏu|QR7PKSHzkeystonemiddleware/opts.pyUMoFW CHT '=1@5.wfIr붨.o{ ,"xشR'ѝ*ZEp@ez!iEA_~Cc)o!x4~'BRAg {M[K ^O3uwB*B<\>mMuYvu\S5Z !bO4kу6 *t4tRUszaPJiνpkG/`JgK9|Ye7$mV6[ڬWjH_j}=$( ~o '}2i| @ȶXȃ,H:Q!T"9ТijZWB-|7XB8\uDsTn}3 n8_ 8 9%qyY53KWC&\O z煆J,ٿm,ӂ.hq~"׷3r{1]HKsI,FCi.uoDlGgr q+=^(auݿ\ULjV"bsrbk&2U(mB/'$dXLt$eMWG"m 6R߿#cm(E?b|v ϧ,(s f=kE%|_-E)9QA'Gl*æ}+X{4f6i4>O<]L^^>_^6;xc@Pd ?ؘsҀb.b+[g 2lX Eiᒊ$ v6ZvX-@%=\oNW*ie2RTʏ\,@j bRrl.(J_̠5URqY,Lx42+$) ųVV$x*sʐ]l-2ם`]AŚO:2q.'? `؇T-o]%Oa=ao53ra) */Le (L8Ҙ䤽Zh15;b& d !~`[y?l^q#Y,ۈ 9R~?` dqe<6ꐨӑj')SRaM"ȱ[{-`ƌJٟ4ݴZ1oiGsXr/ ;;!c D:5V <.bb :ۉA9#i CБ_R)uz֌}lR8|HǦS?=vO2ד!=;5rb ݰЭ N=Qدi>,3_~o`mJ㞚鴻 B*JU$8 :3^"@ EDPZP%"R6H~7gs;,_`4o #$VjD Mܨ$s9EE6`F$)+J,M:Ҿ}VU4۠.FfqL&M 0rjCO]$֚ȁo7Ac.˳C᭒uW3Txh}]ejFvq99D) M`)ux4.d#4 )t3bw\ɄKI%+R%˽HSqXÄPƽ5ˆet_:.! , ?͚EnE&j6NeB!$&etLo&){$.3.uT?XߌSƟp:!n0w5I-nbL{5$j0#N (ѻf2+yϤ1ϣ)>,)h#ʫWjb$ix3c\-Iv3 0e Mr{R~1GpK쾫=DL a29@Po 𺵊=*R&[똡n^wVȺ,+֫D"qq&Ka?\n}6'HdMb Kp9>z7ƌxɪ)R*{݃/I0G> ֱa|Fk;ߟ!6{gtJq@9se;}!&w:@zR![Z<`'^=goK'x9 _>^STOhXõWq7l=Cg:TPKurNGEwhcFmD6BIx˾ q< ytRY 0R,- ږ2E fjP IHK·r6Nooj [\VŜa:&+2OvpqČ]@jBT"%kzD-(Qoq4D/Bl}ҁSl4"J[(zMgUœ(j l+yp)6 )TRYQVÊ-ZTF8hQhx+@VQIz@yL"RRWh,~6 l^QGI"$&)AubԺʚ|jx</(/Zdh`kDQPݒtrC >a<\9wed1e=gEXw'p%Ku=!)μpʸtPՁL_˳)V5ӡ4s'΄Utzg\и<1c4(:H*}xmY: %{JU1 Ns$Z4Vq\'R+ʀ}~,UEauU;@ @Oj+.TR7Dh+ >x(hW__- =fe KH.^u@Z4aǷ׼084 m~4{? ۤ,U7Y1F[&_-W 0fbSTOK>n|>Yt{)/t#Nx9T|̓o=,h'`6Xs  H ,'yL7s[r_() N_o |DwOqKnmO}8 γMN謋 A!@BDuE4@+֟!\Mppua3HgwVw@Gњ?jfT(R魿.$n-:*PKSH$keystonemiddleware/tests/__init__.pyPKSH^0keystonemiddleware/tests/unit/client_fixtures.py\msH_1|9 z\ꈍ6g7JFV ' ;T$+H@L9鷙x.œgHl -3 qܥcvg'еm'&CA6Wt } H[A N['w 7@K#˞Dd A;_l=&zm a_g+Ipf./_x||1wq=' 1qfG=2b#r=o= فܞ!ߵG@1m?l}NN{4W`r~Lߌn[o< b4L!|BGv0ƙ^EfFj w+кu9TEt%eƧoMm\H{(_>²iNFÂUP y3l4osռ.YR5[-+_5K%Z;3°w*,%>VA)rΩD|wX'QaXTX1 k&wS)H ]mb!$p3!]o9V:-vsHb k1@6ַkv?1Jz۫J5 _LVaX#&EwAov{g]2p{ \ϖڳeZ{ g{ g{ \{ϖ2pʞ-2p=ۡbK]/f;c=1s\ jKSplpNxܟ ' $oߓh:m#{xkb Fu@m&w޻~zNPNj'^݌ w#794BDcD$HJ㹳›b|3"޷O$} -< 12zɲIJe2B&f+.EH1CJ1Cb3 >zRx̓Q|X||ϤMv}4O#Yij|M9{?+xyWI4nXdhUØ)|""Ec;GⓌS`)Z[rӉ4uD{dDY3qVSz&/*>S;q\%Yj|qWk˞i/y;f> yLKW?_\̈́4!%? 7ȫVPbRU*BW;DPVdZmq^[۹[r\rsfYwl9;RG^~n-$,ہÀ ;mkV"$ԿO}s17a]E2ys ڣ3G?3GʿCʫ;GyZaK ݪ|젌)_>pXWqq657D?195Qku[wF*BkT5Ư(CfĮ'fOhf;K7>[<ᦷ?^Ǩ`g{KzG EkezF[6m#h|jܟޫ}h6­7no=n; G_I;{?G7 z67 ?PKSH4n*keystonemiddleware/tests/unit/test_opts.pyXQo6~8$Oi=eȃbwE1 -dHY-PlD5ܫby#xT[*e,W2\( &@è&^2Pû p]~*!g;$ R.%aʛ+ K2.I#|A1n!lCQ!a69@c@גkZr B1[M4L#ɬr[.1-HZnҞxG>+y2yiA>O'aOp4{?]Lf&/t~ H"3RhǟHrGLB4"c%eڠ(Pܸh9> i,* Ƞ &jEcR^3KQfP׸3VIyt YiWUkHhjE|虰SKĂ#h0`Ea9 \%UFLD1!iH BT §Qa5 Fd+$jblU6n|~defWhp iU.‘#-_K&aZO+Gfav<̩n4E <%$9zC=\F'/q`<heUDԼ=]T-KP] m>kQ$gDgqeg^蝪}DTu,*Q*Jm@jqg8eWpF5f^*U\θ+zQ;1T|Tc|t6*y~.c?PgKH gD9 .ظfPRwA:!K|qI;*%YOe)֥q<>Ec%GZ26 %<W[r`CLD3v+fވJ] (tѼ8צX&⠨5ŽB uvn!:5Mb*qOzhhosVF23LyJMN}}]i^~תZ_+B.B}LEmNzG9ĥmǜWÇ: +tPªZN{+.73/KщKGyzW񿻃Żm{2~4<ʋ ajhPKSHB%c&keystonemiddleware/tests/unit/utils.pyWmo6_qKPX<6f`nvR{CD;\(Q%8ް;Q%i⢑D{?E#Ȓkw) QwP \}: f) Kp" CZ *N`Ia+]~R!'?P cȒҺN vN~6<;naJoΤ#6gדt1l7ƀ3QJm4=V +MZ- Zfa'Nc 0Yb҉0χdfd9M- M'TUYy p%rLC!*l2Q\'\ @XXf ;.tX-H٠LjEw4d*xjP~*/ߕrc[F6BI@ϊ9DtB"oiW*QUp{zuH?A:zHGw*SU EIN!lSQ!XgIHFuٱRf4 0HT(uuJw{@7J4dz~2ݿϠ6X]IΒ,*XGn/D#_h~8&#@{1B|vc${h>?GO1@(6*K fnK:fQdK:b< X ͐r~ME;x~yIh? GSbc.e2u_T\Zon-yTV)].>?u7G=4 >0%o#v }IL2%Io˙mrVm*qguŕHؿ?wуxjk;ΘQ :H`)Wy  ` nec.}b& ; ÞK[7YK݊z7˙Twp ZPa[yah.quypZn̈́polsi17JWN{ //R.®lZi97)X,(Wp899B DžV*ʌ\>AD8Jx"8MfVDbVs JT^t*YιMAq~$J\eU!p7]D63PvOֱ\Mq#ik]XYW|6|ʭl1(ph,"P9-%J'EJ;%g~h1a{=Os F՚0rdB\!x$@hE!EN4Ͱ$poŪnq9"LPYk.)L" Nj jѶP]bც*K|";e_M6R:K݄H"4YK&Cq_JcGӃd||}="a=ẀfUpGJFr?B>ڶ*@{AsїLdBn dq hqpW+Q&Em8QmwFG@I0]MԫYU\AQJ% 5 t O4qր8{~;ZB~1ljt1ݞd,NZP/χϑ!ݓ4t.b^sMMѴވF@ӊ0.[£/94It<\2+kV@7kLJHyMww*yA-jQqziRt0_PKSHgǢ .keystonemiddleware/tests/unit/test_fixtures.pyVoH~%lSTU9&]jWsmu: x]DUl q[0|͏8k4@!`ÜW[|J pT?A1He0H@*21 $jga- S0uk }1kim~qz^2iNx6:!ŕύ!4z<'A1%_fU)xrQ]sĒc-lZ9q}N<`2*1ݽ |@\I( .e5RdrE*bK. @X;ԒҁJ%ܖ$)8Pi h Z@LEX5>$DdXVAT=0fX ),]FV}C Ch89g*6$4@}'`o߻p*S0hor`ӆeF@PՊ?ǖxґч$_\C8AZee48.hZW۔s]EPȦ[[X4'Ikh6M :-/]uv#ѻ,}iێΰ7;αˤ t똹=kF->$ByG#i~>}nfi^ .`:è~Zq:kt9o+Pߣ]罦ь*!n?z;zysbe,7$TGQޜ2T6Jw*S5𫈬|ےXFZIITso.v :@ y پ?YL[;L//& k6jzp`O5+3~eTPKSH +9keystonemiddleware/tests/unit/test_s3_token_middleware.pyZmo8_A($&-nΛ8]ݸ;+@KÍ,$W )ْlq3/t&BݝddipIETs45w<`b!L}H7ɟoL* 'q?jNf"#S:I$S DpE"3njis\s}aɅxAXSZ )\Ge:BQ|.N;km=!'Rλad{$fJ>g\)(1k"$'6Q"T2r%gV]&hB!?l/==힌!Q1|$o'Gm+Xݤ%9B "$ <ؕL2:ad"L29 @|ʵ  XPHM"lDRLP4(dǪ`B2W> Voot&३_r"7cT8ŸaI/Li)Ø kqɒutF-,zx3{T/ ?P Nn}貈  ʸ(^nb tko6#<0XXMCRh8 a,"8}W8`L 4ڇR/xsUy.!`PX8;1EvFs}G੟)c!5jpwFg}XnDPC뙳?;}U GGC"MZ g ܵZHY\ۘ X%xLrCUhN{[V=jnB>.r+n jsAOtQl]RVv텧i!Nl|jesKoC_D&CuU/yrYnuWKe . zE43`>Է\g?I4MQޑ"[hR.ٜ,SF$4P O[6w_?>uR1$6K8k[QrWvdR>g4vWu:V]b*vbL^vLM " :;&Y1 +˹SAc©,6g_IBqcpVs:)s׶D =JxF2b9* Q6u5uBv[[CtlD ⢽XX -S{voϱ}IK۬6봪/+t3ว` fۧ@2Wa7[cÇv綵p[7I WG' <6)V|p/9 }y'Z] hegτnQH]XErz]~/C,Xp.FC/E 0ʭU$_jȥ{ֽWc_/'ڹTW楎A%,ڨc.L@x ,qU[b=w 1W">}ꍟzػGS/xPLɋUyѤsv%~͘*9,aF>1CR%H bEh?:էZ&Eʹ[-qoZin` BQfpP41\ժqYSsg%UU`vCN̬g=?d Zj>G}Nרzd8곧1EXvus>ps/ԃs,&+;}.W8*y'=oNwpiM<\f_ꎟ[gj&{Usia')uk+GxÖɢT`&xzX4ra~Z (7'ٖc (x@x<=h2jcN+5L8#^x%W +dJH{QYJ֭Ko-` E@<]t܂-ȀV޶ `H܊nlU)wkJq.s:xoÍ+)Jg,} mc;tCz|UQH-U-gK=IBXzWH'쨙5yKiPl%>wV*sVoE=z PKSHl1;6keystonemiddleware/tests/unit/test_audit_middleware.py]ms6_S>P*=x$:vΖDB2$O&vHIVL,b_,ިW;ȩm2/d<D22 '= B{d.ď:"<".}N$ C2FG1;6LFlq+7ł(4_P  :<U(쟞.GAXYsX4sHt:Y(C` ۛHȧ Xv({ɠ*\vO˓dj ~^\ 'Kr~AώO'g F~>9;jjG?@AHU,\2T2ˌG\ ̴ f12,9gkhijcF;;P!aI0G&ߣȶb.7vwɽ=#Cs:S '.` MdGcsmr"eB:Vg|$l'1 |C|?f݃Ŧ0L8 3x#)k­GrHK2VW;\onZO4dCjc0ZWIǧQ+_J05@P,+LxWZ. 5ݻ?QJ%CSEE(iBn9Ŀ ]6b! ᐝX`sZ]yN%t@7sCΓCfz tÒ/zehRk:' #Q/Ģp@8PvwkI Lļ g1]&n/'hg܂BBl\@C)n<`׸]]q4OjH]]6 Ց+#Ÿ:rmS[S%8=mgqe&A c-9rW+Z:+ן0X] >ɣ~^l!$Q4F=|݀$.|>lkD<9Ҝ ߏR*y9j<:CBGGXFH4'IyroV Kw4TDA ?^JLZ_9rQRzѹ`XcUKE:n132NekʾB,rCZcr>t. ]uHҠaԠI(mi ٝgV9bV_VNTh[bOiU^ⳇ䚂+TM]*Gqov \p2ԎG//+Y4=b|μ0 pK5! c3! T&T;dSys*n bDPkH= cP̮Y[VZNqAb'3Җ/JRm|kɑiMN'Z?`mU<؄[+lj'_4Ap,"P3FX`n\GǮvr4A(7VsGcӐ=an|땗S(Pg:惔U˭H+ !(_bj#6\̀ ހ4r`="r +!mLw7]}K{DlS Hy֡@TmC8 "nٱTvhAm2N2.qTqD"1ԈWB&E NǘOWOTUT3u^`JlC@/[4m]sKm ח E**(4KG'r̢{䓊Ҟ,|+"Rck/ZK.TGﯲS-ڬ?uC&trɓhB<`:a%FqԿP|._Ѭ-f* @N&8]vI|n$쇶zVM.|p_B׿a;񌹎} V{Z?>kON-ufW>wޘ͵j7=(@>:Jz}uqpa%QIh2^b*_a`:<^?^2jPmNvE75cHcB2&ϣ!=kI+נP1 )t~rWU  zd#eѲef+x])j{(3Yr5}0ckAkcfc*dyq=ՈܰV. )`@3]G-Vי.TWk̂跩#DǥZX-?GψGK4"kcV\H0;Qȑ 8 Pc/\HkZ7Yt^L?7F\-I_Hc.j"QI/FjrHrAv7xMB'JLl\Fa<{[V>RwlC B+6 :~\[FEEqGbsu<:G[R,v"~7oZM}P"1"ĥ1S^6;f0Jw0ں6[M)xFS[q\^M֏[ih4}z؉yI=k[u\&( ^%\rJy/~K3{ϟ?ky682};Jf\_< =9j^c*n }iusPo}O[KO~O0;{_Y+\eH WrEO_r T?ϧ)i¦{qL&',,R;iETLޢو0^I>L8b1kwCrɯⶍ&;JyhiC*Xҙ!.23n2HyHO kC bȟf /ew\N0Wi7L}{5mT&"5?QxǨ.>P!l c76uh o%kv[+nEݲ$ģRcl Lևg0. VA//+m0 UPKSH)keystonemiddleware/tests/unit/__init__.pyPKSHCB2keystonemiddleware/tests/unit/test_entry_points.pymTMo1PUPu@EQ2`koTw|y3xpR43Lh0(eʟm ye \ h@cjtVPuc *\ByȕFKe E4)JѲn-"qS윤2\I2}~IQKV+!kºEOo@wG3FO˜A%sf p1)RfosZI\%SWtdԎ=U@c0xڀ4v!ϸn0ţ)L`8_dzx2wg<MJ3I,LɁ֎@n7|Uʺ̢ }EgX EzV"Iaϕ>Q #Y!wBOd6\{ e"xQE(Ւ8~+5ڮ 442ַV,ӏ"a^I0rsFv$L2=|=$2E!-/hN#^/ΟxwK.nχ:ѡExS-A)ZzG?0Mu&?=w "I U_ކd޴iBNMdZ):7ad|[Rkx'PfyFߧ)<}hڧBCkŸnDPKSHlD:keystonemiddleware/tests/unit/test_ec2_token_middleware.pyXms8ίə̀1$izGh4 8t:aˠX$p[/i{MlzZ=GhȢ-˕D]Eӈskš%eaQ. J8+v+i_ `ʠ-o)dłȧA%D4D.[GšKІʕ^&1ћB#xvKVRFf1d|KѾG9Wa@@|).Gf7qd &̗ xTHN,E+s6]4xs4/xD׃l0ǣ9p:9 z95X26p8Ds"Mv'|8$"Rp%AKvCxAk*i pC]S ΦZ d\5sk>gkDA8]OE{X@dT,آ ^,$kyQu$&}TfRI<>2||MZE=b:=sf%| `nS4k.Cr`أ 4@ઍ^]oJo??gDDp+Oœ`.Xm1zMyGC!$(pp\ePRV>T_D/<TbTNdxic(*^J+8Q&Nc(Lm8 @)FAG7:\:ngg-?c[ߨI+6/xbRՕ^ܺPKfR=$>㰑B`|zvaf2j:TMdF1$THz=̹ʔ,pX97IS%RJ)ߜtF}(H5PׯF[aE`o9]';uʬ%^$۱WV u`0* hyiX-ײN*%d{y 3!E1W>cm`l[HKx&Ot-!F%Ld5``gYVU_ 恀$?CB [6"mHT嶪Ƨ2۾c!O5*lIV {Qک./λ'q7N ipzA<Ѯ]cU]3@\5뉥肄KRGjXw eyo8*IR>v)wz' (I=*jzuxO, CN:sxq[*]{=q'G>9;^:.r댺i~\K&;Huj0lr ː~1mPɎzڎE zy)^Fg6PJ؉w*&x8춅׿TDzw^ruR$. YW[9eΟW Tޛh˅ dNU|EcgjۣDJ4۞c$"|qH z}v?ۂ8[\7۪͂8LWSdeSY!tOz t)IBC@j!N+PKSH֡t!Akeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyXOH_*T>q-*%ބg7Z;Nb }!|oG Io9d'=I#A_/*JȜ:{DD$Ȕ 5Lyr*&,5dB<5AMIc>՝=84ϭr֋l?L)pt46<"dJɾ%\7+BcPhBo@͐.I$ Ig:Bk.f=^R@J&o6 xDh0/1r|qq<NG; ƃ!|{O_G aDAI~dGF =j LT! %f 12L 0Lιh*P/ !sM5~IkFy\IlƒNg*9g+#ho%?"h*Ԅy !{&r*^3X '4<wtYȄG.Q:OQ&# <%#[@!~ŀ􉃹 r<`xGq:Ǘ@~HZ$ܷbS̸qnts&{`l !|KO^l{Rbի{9Spg*Cy3}#-64CnqM`GtI6`4葙oO痟Bql_5%px0{EIM@0)b%J]c>T}L5\eSadevy3G,Wo*n+|owDs`E>xl ۋ[$SGeB3鷄i ȬD4VRRzAwU.ٻWQL- D*&QPes#[JɍCh[t+/f^`(dsR{I#dKw-2pVtn遝O&Q!2#tM`M+5J 3qpC;7Q|,4 y/Z0H@Xp+hFuVlY~YL\aˁlÐnK"" Z.^VuS-U~%,idݚgC2s{g1]k2J?fA:4a`y1b2^%ݵ{zƂSpnxQ``6Y*) <\LhWN`{&8Bqr@?y \&iXP&WXgqCX 6pp&2;/}$9 m#!{S\> ~q-{hìBoP8OrOrE$W&-$,"gmXY. Ȯ|#`%-Jg"@eҶai.]1PrW6ĶLnL+u}*$t#!UvjK*'cofuvnވjk|**ҟZȳ`3g;c m%rob6ZPKSHg-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@;>?[9dYPKSHiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyWmo8ίZ\]@_NnJjUU$xI픢U rۓ.B!g333OBk /JQu yBcHPY s_5Ÿ4>F!'IWX2v4Ph$#\Ìcn ea-T[i0.-F9L6˜]VsGRͻi)W/tU5(ȘiV B3Rp1A˙Y1NµQ|Zj)r_`cN#N?B:vn77xp5^ƃ!~1^-1‰I#O&d13Stb^9\>2-\L 7ر-jhQ $̠ZY/ zT<٨e2^Z3%3XZ)0I6bYL\J~RfO顶tW3IzV͠6:*7YZ8eDv tt4wZ- hM4E;hLg!7KL&)%)@uk2&˻t9#{t>nJmRFe=Z""$)2QAIy2C¾F'( 7kWQ6#/t <15L; hWXvPyhř;vA䁥lFI:h,< yȣ6փ,LL >t&ƛpXq>vl~(^Qۇ-Wh/| Bhsʓ:͝}UD2E9le벊 p wjLJ3CEh6ը(7s*%u;cOWHPkܭ^L789|l,U jg{WZ|erX u@I4x2{:#'H!WDapiamTൡz׀[]U!kk4[?>ݿI};#]x2->@_Ac+?Sy~Ľltac*`Ϸ33G=f`1$(gߊf۳ԙ[.^챷JL#:l0Q,bhA>רOؔ6YHK&dM̏&IPKTH,FFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}w7+:g䮢;>g][iM|~L%O-ͨ3#;nO !9G4>-  So'ݤ"67ppJ0̣$~SM4`qƆ|R/`,7]=K3hmּ6X_w̽ix$Q换 ؇^{d:Da<`u_0H<+/3{œ<|$?7{;3e^G) g <4'ᵗ^8N|'uQ jI`zW{+GъQy1yp{xz;{{+o{W什ݮǀV0 0K@2B:a;bHiVp%l(<3o\4x3N zCoM!HI<4@bXM{Pd8dy:`bG(tƘϣB`}(M%$f 5`?̓DTJ05<97 Ii4NM Y%Z&Spfl6bV'eW Pm[R4e$Tz8NXNBEIwn~#>yswޖTw/nɑwPr)]qt#F9C:[okp'GC 6ZHHMO [@6 σ nF$pO UǜY"Y±G7?a.a'lewAkbW4 \I=]}5Y*daU)#كC eǠwM`\޾0䘇ZD\/M+ WLQ,7ĬĮRB.9GFJ=K>8:Rhf`JcB0/76_6&{;N' ?q؁Za/5T Y֡ 3_>uߢ!1,roml<[_{yϗ?>yx;:61vl;)mIZ6*]mn 'X5?7^87 w#'C6풅|F[%h+udK"H޼TI^ [֊Q?Mh? Lk0'\oA (NJ#Q|?| xm?xupvd0qch' #@oɐ>!t3(ذZL穗}$Ѝ:=T}farvKr | N& SF`iǚ x{z:^'2H&À>*J7fy?x2#b{hD#riP'%Da~Ɔ$??x(i4$ J`=UJ1SLPA5A=Mp8ˀfkB#@ZB42*D6Y栗 }LXC6)sQ_5 VIf$kƶ9s DXԢ,B!N2\͌eȆ@b4cA% dK-A:>}]ڟ}/ `iR.ŸP!.e 2y;Z@ CQ3 ્8I!o^]ghtQhN&B)C9.*2QΦARGKPZ[UM7lydhu&06CLc}$q:&=u|Wqx/:1"Xt\\35Q4Oym}y9lI_ɤ:N ,91Fkȳ\D! cAW&R97]J2+NH{SeGX^EF@쐆bKek9P0jՙ+6'?Zk2RșaH] M2j[djӉ(0RӁeg 7%*"oyB Jqb7m_@iYtCCOW˶ RLC&rKk!Y :hJ8NV1v#'I(1'T_Ks̫B Oi2kB9abjUjʄOpn\2G;lKPs6Oi*l EONq,wIxՈ)<13ܺ1s80߁,CEf!'܉P놐J0 8Gy:)rpL}/CiXULّ0F&)oC%!0 ,ӎ/̕ +{ݛ6NwgʞFLcK'"񡘳NE8)g"\x!Iq'S̳L;UbEk+Y诛R+~Zy2}Pݖa 5FRkHT[VNc'n\[GMj;+2[ `>[v=(}PZro vxsGzdZH:<CS-aF7Q'o&Ka/cqҩ<p?yrXhsw|t(Bsšm.I&MZWARLvmO[v (#[ZmjwCߣ.Ʈq6:nf9:?jAnϭ 4S' pChG19&~fAڞ3` `\b?}`)PA[9}>5N>&~ܩa:v6^Hb~ҞgS"PxZ0 p %.-7DZj3Jb6?`XIl2Mp{`xɸ #'~]?s*tnLȿ;8.fLI5'MFH Ġӥ´98o[ADqaJ-Nm̮- ΩֱO {5d-ܛVL"<{Y$S=Aal8uex<;M*ۥg|܁ӧ2LޙdžiM_qxhej~2+@z @<̇IN1ZCAB6Z\8Xπεc}.j5@Rig$g]ʛEzŏ LprduIMٔB@=ÝPpPlt)}n, XC;uYa:/]I[7ecPe8˷73zKϚFyj廵"Ȭ+~WUwfή&"&,'jܮުurW- &v3,Β(;+9J, FbZO%I.?92xQ O 4v.P[Z@i6#/m9嶫hv%De>!4Sm"ZRz ފ&CA0dElo"b0SL3NljO_sÃw 0 0l2l_mbju}kM jt["aL2[:%j4|bQd:-s9Fn^ u$P+a*y֚c:Jv{mN UؖVSa-f\%O7wu f(,8||^[0âț20KP I4n麮W@3yP g2jԣZ\zJ0[/1&fWƄ])Zq 5pL5_no\9Z_ƔܡpXdL&DIȎo ~LzkNkKp҅qÙ+|b9b~O@"FF $2&IJoڕH!ZM42ƨ<#෩ʳk;Nm%‰]1\m`Ƹ-.)'>z9`'< fE( _DsWĴ"Fi8Ni0eTu618j V#]Gxv<=kx{٫X;]Lq%$ـGhG9RՒtj%y,ST.d]6I r+FA,sq@ܢ*vΙ^c4XtY!Rdak-Z'SAгR<=9ٗǨ?{0a_:L]|c/@_06 jXd, ʾ߇K(MK ?Ɍ S\'C0 1%Û%^Q4´֙4Wjz.@6fџ:`mg.]f`M I7mɎWnzr1+IWS s7h 4FpA.?^+6]reג$6!,5KFioI%^I r 5zdNffp-Ig=-Pfª xLX. d-a/W4USzU'nD=yoQ< hiLqLΜ ye{lO`R«:gި$R~SUdҏvX h_ĭ>Q`4LbcnPJt\LGUg D c5BqAˁMѫF9.̎htRRBګ踜+t/Ҕ; ܅փHP*_>ڢ8WϷ S h$Z:Svʻh xbqo2c.vw&Z;k˶dkiϻ[UCa8FXx&8k7ضwV4 +CI=DlsNz,+7^ o<Չ$KX/Yxe;S)Up@e>/lYTy&+괴r.vA2%TgZjh-Šp!)>eĻrK%Kx .Is4/d3Y %b-ϴI?Nz/t4*N~ΪD.k&՟*x󱞴 hK>j-,00e әD(pXN.CXY~Sx;2S̲;V :Qq7oi V ĝOE@@!btN2bI2} ,dF(fCW#>`kp_N>W핐'ع&Q׷Һ5_^GQP+ֆ{jp`~S_^u6/Іe>/mNtn1ؐG'ˆ\GO\mj/Y({ٞ|NDN,F7f1ΗOy0?mQo&o:>UVC=  oB'f\i괒gz?KTDOȹi4/\+U΀40;Ա|O5`7V˿uMy =M{~|rlCl(cJϋ/vBoOԩ@EVy<3 JԦn&#-=]hY' >zNb 3beǿ~C"dl)MjxٺXf a>l˺Ǝ[KIC+㠅0*F Ke1䑳B s/7і'|홪ڱ_*SaD)'zbS ^.b &Č^.&!_aU/6[BE00i.夸P&36=gJ"3" %V\Eo|~.۔xgcU ӓx?411$qIFgķO1&Qvg^(zةo`巹UWO0VjRb:?LX|Q)uoWtoFq㾌ގRRWG[ћb_DtYScB>i:udo틁ﮕIʳRZ"0>E.i]OiIZۃ!D\ u2r_o+~eQZj&O:wS?ba@fD*ϛ.^)dI4ȂN!}㒡cVBq1}yLOV]@g{YqXF9,ǿH-WMLyS{P npx'XD؂S9ꢶ =VTC)p|Zp+?ǣtoZw1qv١5ìe.3^c?g7KIz`j lRmoGrPE8 8 } FXAcuzIi~xO`ĢjJ,,ڀh]DL⽃%# OKݯ)H-U;PP'M~$ߦg#1 vu_o]Ӣ+w׶QW.d9K,8b~L4 OJ8T+^˟PT2u1OO>Q W &났¨ M^jUG=ysm>v?՝)}m5Y<%QhQ`.AJlԄZjEFc- oJ]X dاwYz~kX.&o]B+P9+ D CkQ&R~h8݄%(oUkbӣ C"N||5 uU*M"1Ɨw)VAof{?UxcbxME *wUێF;qJҲ?I]\6'}|G-% J(uDԴ*)kfu#@ ܿ؁/w3?CB5kK@X@6;!.D V=ROdҢtؽ~M(8Wϴˀ@$ ~ u5rK;u3\^)60Z @d]ˢ~8 G ,sbʞBQ-hvR<۞t}[5#e"#"b?noU9MgX~7wÝ 9)ȩ\P:|Y.}@L˄S@6$ zGϿZ , "Rd&7wNP97^($F;K3N'EP5w`}>Qܩ8&^O#-GT'*>8=3͔|:-xA9t tlBV/8hs%ЕeGԵúV#89xuk>z]zĻlV;D|4&A(罾 `#ppIEb|E )XdexSEV+Mo!*4hs܁NmW\+D1@: /Wو,j$Oe"=9zK"-=zX 掙 `m>G'cx {LA>A d`6)|S8^ K-x8LDJI<~X4ly1?}] ㌋-F7dx}ptK- Akg¦:?Հ X@%4ctrP_MrTxS9A%<BXŨV좫r,z](#e5 s-1ͺզ8; Tm>?8zvg(BmU>C I5 TYprA-#]f^uxVEgao`FEvНd:M⥻7GQ E'9'"@dɔyh4b uj,J̢GEïR:W֟fW8QN'7b-<󶱳Uxƣl8|bEgv1|[dD/|؜SbY<„ir1SG j+(a= o`l^+vm*LD7ݻ{8sQakD1Efa1Y ̭(GuWB"at^ƒE72V_\f(rqbb>ycmfȴr.Rj E:DZ<~? ͕;R:nU?ymiCs-wzmb$YpQ;,|& ]]O7ʯ5i<c Fx{$=$1љֱj- p +weA% &:7bK:W<`H,l5WS-:5tѪ{*1 Hv \ w&U;[YC#Rb̡=N10$G""}X(eZvrI%iH(֧ȓ¯2ВYDtFQ*lYesx^vd~F~MUBC7vi^Xĭ{foWW|{DAG;23;ݱnhO.VkAusL^W JRjvԲ mq;ˡwjV8`˂k-V4ޮ\NT[wG%uN$/4Đ&Yqtk'r ߇A*d:,8Cn;{{HXXZ82vg/وE.+cC |xJg g~a@zI)p<]7/!f 1jq6~l׸KX獵B7'7D@6%M!pMo4^vuaJ>YiQPCmtuP-pdFqTZy갓&YC C|Vm0֪JPc#P/+g̛$ʟE8\n<)/ 90.G1A$I.3Oyw} .d(\Ih09H:(=5̇^x{?qWd)OV}&Ff%Jr49? ?˝l[<#e ˅;u,L 2,i &&x& (Z]M.xJg}^LzVcq*J qȞl0n쑳@ʋn=TkReJpFmA'ꄛ9ooP#|fhB~W/*fxf,Rn&~N,poFs)y=`8[ ۯ|ڔ_l6DZD9lduo{#va[F81t%f sM^r eVBU_@9>ʚ$ J*fNSWZh˪.\> Q3įUMœ ?0do]i @C."9rL,ާ%,VL %8tzdC$3gqb_&όLReI6#ҡ:8z,}) × L?KnhR^]t>6kICrGV5wOshu7sJM[bӖ`oWv4ҏM#FKM6ڷItz"1^ ^JO즏WL/{‚F/^GTHD¸#s^5QBX%c4{ 7*VT!:q+J; ?c+Xa@6뉭o Vn~oDVjvxN T^-)[e>-NBC4e\<ɐ?">HPf~Le]J_WJwzXv1v]ed^z{!SBFP"K4.R0[וus3PX~#`;1߰h3:.ƟD}lp+4MsAWj9x|)VcgW! SxDW4X_a.-!^+Qv$aC:EiBыR}БƎJUaX~Oyz2/?0!hH*)>dHrulW崳rk߼Tig4ڡKSu3;,?xAm?KRG=/v#>;ɺ7RR7iwxdř }JCŴ Oūҵ]8ցe?\-U2<w*:7QZ%ו93O-%2/'eԢ+dK8~|%‚z-mi>n_ = h;uwO/4;wC oHPB,;K(gɭѪR\6h枳*G-Ez%9rʯĪmr@:UKU;?uM`ν'?V[UًqAۇ uvy97dx'Ww|ZiB51U25f9@F2@N,b *Rqt7_?U'6.DME #NN`V_T<WmOHaW'B AyPW/.-9ٿ8tK: zSB>B/gO)ZNB/Mh>ےLJF1+~t/zf(~*;᯾&ع8Il T͐Jk]BqJjq$l@cSk㤞4l\:٥Ǟz€:ecXgL}~CݽG;C݊aՅ܃gK ,G/₭J)+#kUsV@{: $7=,$$ !x60=4Lo,q"XEWIՇm3#Y2t*T0_Ww(΂Vu=_K48:4^߯)qP /JK+=k׻yjO|&  ); GAG>}'a\je.øEͣVyҟ؃ xxRuDmlo&~kJi~#6tdŗ!Zr+;<5x1_>żyOr7?_}ӯleuʭVF|=o5_ bw ",M2MPڇZHIļ2A`:2LJƙKxXڠUawb`4)P{_7Cm}>'yo\fZ7֖b.HAJ<#1]IpMry.W-~X['}2G6̲Ekj;]9jx:Fke;6'5W3{!uV2.M:ϥ.*{ պP$5Њ]+TC 8iY.,zYCd'ͣ|}+$jcIwWVh!m4L*/_+ro5> D \5yE*‘F(*0FY+SDVA;nTR2l1)(v+U016־HUN]l[h̲{jo vY6ƙc}ƙׂ'l(yg;P^Ʀh{ww{lQ$l:G߭< Ύu-jWﻔQ~?>i5OE&L'K#USXX5U~k{qJY[r*?ϋv($X6cS/j VK[`uVw -h&l8 _aF[<ڣ+PMl@{>B=p ^>&c5b,}R{n?/#p hقJ١h0;5'F1z} >S7nS6YI[$0gn=d#4 @+iZ_pK[noK<$7I7[otD~rF+30H\|jTCѻ0eF:!9Nj[L_Fu4ZޝEFwXKܚіw;UeKWT H׫vu|3UP2&|/ $/(za݂AWA6w{&F.$j0*(+NJT'I-*ju*4ލ"w[b,VRݫ1:ZAa3ok?b_:Uoz[7)NP=#YJKMǨB%FSmhYl =yb[߉ |x;'=ɃlLj1^w`7o9%QQFd(MUZ5e6Ui5kεȿNd*|NCܟhpchɂX tYϢ]%R-@S+ih*P⷏kMa472 }|GV` Znqr0NYN& l>ɱJT'djڳqP\ ea-9 :?-='\Z62 G0$uHN0\,$$l< cjs!ܗv_u ԶE99c̴[-{\uYG4SL骙6u"[Gn ˋH-\o0+ j, zyv=,.D[7,KJndAߘތGjzrFvRis|[Kz.눺[ȈSV$(<!Zg@pB ~OfwdKKN89$xh2%Shpѹ I:߸i DZrP{=o{8p"Wq9爋+K)>\5)gHVRmGbyeJZ0+TX= HHt0434+f s5;>ZP=qljxPn=!I+\JRxRWD0GKF;u28:=Spx(=~O*r!U_gLHR) Yms|T_OZ5VQoT{ߔoGF0Dߋ@5cLnv` ~moSv%mKw 4$ZĵAV/b/{fEKo/׊WK]Bogqd{PKSHJuQ6&8keystonemiddleware/tests/unit/auth_token/test_request.pyZ[o8~ Z di <5&k3"(Zne#Qv}IErھ!}n߹KtK}b$B⁠RoŔ3=G}"%x1.PPAc!A';(C>BOЁe&UOZ+)Mwy]CX^Q]+.6gn'b +;8F'zBx|!> !m(kq-EDWD+N ^,^d1D'%8Gd@9Mo&l D'dz3Dbf.$q$DFZO&6|O"4ٌ^B 45r{=0#ȡ Ze  +=x2$VMH"(`CZ~R2+1\zF1w~L5|W@M=P(BuS*FR:rW/}?ڊt<=iЀ&M)wj&xz,'3rǩ:^nXF 1Y\sі0jL `?L$~+q?87 @'wl{XB}giZ%ħ9k4 5cw./l^Mj^+fRMTs28$ &Gdpp巣 ¬ o!3Qv5.;MK(X9o*kGR㲂$Y_7]%MS71ۓlmmɾ|cfh$, ̚jQӛRmKzoEn|5U?@\ e):ڃz0 ?ȾclefQxj!~4Zq#Z9:ʸ"537Tmjmx48}!%5i J{R?NZj0lg+ͻን* K[?1!4D#rz6NH2|VOtm1 ηY%>ߑ@-;n}q݄_=w@_UmS0˙Ԝe\?"X~qr)G5S+_/ HӸE-;ɱ6pjLO;r 0Ύ5a{qvcGm)yǗr(fd0BjՍÖv툣fy,URGZkb1YhhTSak ӉI)D )ߥ(]XYV/dC\]s[^1w }ӅXԦ1kYy`SUcEٚc%3!*Դ|x)Iå@XePT%Dxm8}[GI65oJl'Rw^?2m{ڻa>ДxItl=ףutɴƉ-eo.^Ltt[cLᰬX&7%lL\~W!"ĩU |qzYsqo rp)k6Y#,q{ RX 3A, ,gp©E$ :lMM"+ޥ@*֖*.aK*/CBbSAy)`%ݟ>&wC*t]Uhٶu5,eYzM#˭ ZxUXwt·jXV |**(Њ]N㈼MBA=Mi2XܳWC`[w6m:WrB 5eJy5Mԗ)iLbta([$ dp pXe<T}:Tof}٨(0ۀeN +ۏo|@A䳉,K?#Üm/PKSH 0keystonemiddleware/tests/unit/auth_token/base.pyUmo8_1j?V9SǞtUZVLS)E7 н[K~f<<%<s yaRAm#.៰W%l޻\Y( a b,,b-yv]8av*\y%mVcmmq=v;ƫhHH3zNqeK44BSxA<0%߁3g xyQq%j6(U_+qS#nzĜt~ܞ*Uʘ֛b9J#a[[ ;u*#9s.p*̤js|eǿ*L&aǝ&TӑOqC#%C܉c;EyAn]?HqƠwך1c3,%$VVJ5)A\Z׹0gI C 4ǫ+X< ~"R~<9'蘶%ǝ X/PKSH4keystonemiddleware/tests/unit/auth_token/__init__.pyPKSHM]e5keystonemiddleware/tests/unit/auth_token/test_auth.pyWMo6W QWn{ئ8XS.$0f#ZZ;CJ%#NOY$g% B,jd_Qi.|~\TC?UW4Ph\CSD")g"BXsrTA^l}Nix4螕1p^ ZR7|+e|DZWW`9%gJ3ek R!i^+nX@ĬBsm.L :=ZtӀb.s/x>tiAdzt2GyNӇ`<Mg@ŠMl$8b-6:D #%[",OT9k˦bHy 3MxM(T.n=/Q2|F dYx7 Ў[iAix,,['̉UuiayDmt%wU։av8Ep`' |AQ mQ{cs Mm_j]"5c[:(4 =Ϫ:+4|i2Jj3Uj+id$ӲσǙ8れ`][u·t5[&,÷3Qn^Bڏ'u+,u,<%*o;%qE~ag-[Avn!Va Î!-'!&S{=_QfcjD5܉A.4wQJl*2 T r@V-R&dTձ` ;Uq:s_nZ]Yy] ~ [DZ-t-5bˌ]Zz쵇퐍k;îL=큦kvX=hJKxXmiTuUj7xN?uzW7"%rVa75wChwŗp:[L7X>2K6,:wE=>q9ozß?ͬπ-Pzֳysכ|s-cOJ{S|[SPKSHͶbU6keystonemiddleware/tests/unit/auth_token/test_cache.pyWKoHWFb%;'V9B4h"hnOw;߷ƄeWC`zwGp)CL Fjsn&BZ*WX^j4!+Re!7H*pbfA$HCZK&VȔ4 }-:GXIɊ8a,(cn3KR`8ܦR QA2 LBdZY 91Aҩy)ah(JF m@i؈~ DSnV22lգ^NbP 駡^e`78 FHڑ1跾J} & =O~ ș8~eJ+s1;ٗ~ h]=?@6TWk7#zxLxCAI6$*ʉ_!cfZ>AA{O<Ejj7M) F4lpZTm6s}[LDLKvµzmGci`E\|\ .Oĸ =p bmG׹3j;R>`UWR:d_~{lgjݓ֭3gɟի&[3Ϊ0!uPP0s3n LV&x>'?hZz}OQa/DL|;|*,ˌ/9.] 6Vn@5TUms+w^ӟ8 )*^[` W˗ttޗfcmy`{u9r{ۨYjV9K3Y,y.wBePKSH#3w?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyWmoHί%:wyk^N@ iPzUFbXŬuߙ /;>;3!| sfơ2˕S$p\4Uj&"4Lρ/=`IB8@02LJG(0S;gfLxqtX,fv5=ca}wz]\kPW$=Z 3_- P Fi t01 x 4(1VR?1YLp@opۃޠ?zÛG{]75׿jԡ% E J+;0ĹԍIC0@9ؔ4xJb\r5J1b. 3;+Djh6PXjᅯ $&EfKH9{T&S+Ӱ}Re6ډ0)Vdk3m!@c^V̴EVODKQ*B%s:6z Fu=Tgjksaf 5b`y 񂅋"P/ Qhي`@`(6eU* 6fv.:V!Wf"@F1 n6w `5uO߰_*sy||"LT_cݯ  t.IZԐlkSpm 3xXm!831s6D(Mبj+Ct | uB%_ZʺD˶m o!{:iz)3"7|.$T;4֖[Fݹ_^n۝*~+E.&s-+؄n*dR(IyaiTRy6០y״Jw ۟-N!@qnP3I$[,Cf+x o}>. #)&3fއ"꬏@m?PD$GQpY9/x(9XpἉJKkoI9Sy{TƋGIr% ^WΤJmT>0{n#OXTvw0-О.ޝ< ](\F"OBKK q2+\7XEtT$!l͕ޛ,+K{i–Ѣl1衞sy 㢐ml1K2MP93=|1e4Y w{ywKsE pef\+'#eςڗdL>fvwLA\qw+4LB7PKSH@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyYYoF~Xy$C]ʁ\0 bEH.]Z \Ғ|nӃ.wٹI܅PGЃ^\/OK.Bv ^[/?HHV "L.D"|BȂY*&kAX1"C0efz͔eT=?{ǃ.j| }p:^B.>[6 /bx8)&jb@Kqj*Ch/!__zC>G~!Yo09<GNHo:V(QG%#x A[ZU(0B2O +C< ޔG|pŔ^#ҭCQB"Vc X' ,ka%%jTI\/[R)!|Yʳ,Z͡Ej[ .OVS&q\cK'LC+2AW۷b@#L)^ P#ĐCfDggK =TEIWw:c7 2_?b>F͛V]C)]F DWYZF]VC1VkuHj&֯ǣV`r!/*فxm˄nrR/+wv^ec8ξ᪻>W(o~̬&2`'PKSHc]8&<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyXMo6W ,"\,zJу7qQc69M$0f#ZߡLYNn:ؒ9f> B,z$?Qi.Cg_`+ XwB(4װ>&3DfUNSyo>kx4X^+cpلdJf~\Gb\܊ _ h[`9J=THcFZ \ SH()FtjѢ]ҋ 8E0(DMnu7MqM'lJOh>N iEc,"ɭUj,dEHOh]bY%RJr GFS2LHEGJe@N ó-\ni{%sE+ lة _''9kFFG]6s]C#6I"7kd6VJCiEyu[weOv5UC]V._Z)v\{Pi^\|"<.^_v@_PKSH}Q"keystonemiddleware/echo/service.pymTMoFW 6r*TnC$K"F]vw)Y-;,)./${޼+( Khua҈^f_:i4Mo!aA `Z:A%>x S7J ] ߄4}B|Cd-ȾȖfߧ"ԚQMgk7x| R)ĊTbƂX[$7\J/zT~/,RR:oX -a0Y@ϓEQl~y l/`.[fWFrR8bɠ-/JLWk,3namvh55 Z:Kd-A4A bcݑTDPP+K@cooop|ƢeLC(e7Go㺆-7kY SD"D77[OOP) z°ѫTԮ1(HNZk;a%OaG]4U԰wkW3 s΋71NH7g4\;tB"Rs9;{!{a}p8x <.~͎*C( hmʭsIf>$NAg ox09􎖩In_J*=v. ir)=A*OЧe[7/Q!Z(AwO,: %f ’׉\|xG 6H-},8ey8TU+[$Vk>Ee^9q90PKSHj#keystonemiddleware/echo/__main__.py-1@D=$4pz cX17?SLt›[u͜G.2 >Bpۺ=ǧsX7nO_l. Vc1%fA*b)*z/PKSH#keystonemiddleware/echo/__init__.pyPKSH(keystonemiddleware/openstack/__init__.pyPKSH/keystonemiddleware/openstack/common/__init__.pyPKSH% 2keystonemiddleware/openstack/common/memorycache.pyVQo6~ׯy[Uq4݌u`+ 0hpIHɒ{^$}ZW#GoIIphgFP9 V-a2,Zh^;Zp+b%RbV$(~fLUTPX#6]ӕrh S˔TE- w\FI(FveHʪ^d櫣g&F`Q -7֚6t ǐ.fSIZ *m@0+S֢atmbQPsh 7n[,^ SW4r]Bi:UċX}) lŢ27a0^! |nEYv|RK6<.pĤPzO쎇6]JKnxTz3] O|B:Sy8kΆ@ ѥΚA iL>tAǞo#{Sh 6iw\B-3_/t=}mASqL]"9? hՅfnh")τ 0COROO!-+ˋjJ5qno0A_>%M1"W:K LJd\af*V0Ԯd %zR-J`r}В8 Ex va 2GoϝϢ{37<]\RF=-s?!A*&ІJm0͜Jf"=,Kg)1U TB򦁂1$z-7+ QXE(_/(nVZ`1z+i0H:S\ $X^,(҈5 E%tBǸrM5oBџV D(uBm]^Vzy3V:IH\jC#Er$"$s"g$$I8N(Kzݬ&\}H[-F7Ŋ%1߿ez3YB?eY0C10Eu|b,1 go_ckAIc8 O D")آFK88V*ELr Hp=]O.BΧԅ)k(Y䱝Kۀe#d xT}E)]eE?жS{߿I?]9Rǝ-S{@]/۱αKEpݘn{e_t W\Ht@]n ˇUl%:@! ӛ}f5W4ּ!G:fK8k32cjLN酢DZK@%+M~dcscmSod`gQu,,ЦF"%2j+Z&*R$KHV: 7;<檟M+Il RDF2T/y2 7:ogx1lI͓H,>KD)o6l4UNH\ݾSKPߗI*,OM.!d\G5԰كJloPgM*_fn_# )t?݈ >EɬʭP (&׭"-6 @@1DruĐLm1!!}7T"17b/ Ww&&*#;XzRZ{&͟\ MkO-Ղ&$28 0|gOBT28H7U4hB%!bE5E´:Ex UYRj¡#^U1f %IhlUv;޷ /N![[~ott g.vH?>q7S&QXdl=Ƴw*:Uv YmrQ pr nfz2?rl& H}bV1!0 WFˑE;?.L,z :}pd&,r-sgqH% R7pًRO/W^r1#`dL l"ʟ?guϢ⏠hi`qO.K ]ޝEE/kqmq㰷a`) ^ROd-I wp% ~k\ ᱯJ^7Ddv6]:r)<)/>}k? EJ)#C}jjG25/o^_`Ʂ}96./PKSHpBQ-keystonemiddleware/auth_token/_user_plugin.pyYmo6_qHP.S\^2jvx#F 4YެH)i ""5 $c`41N9MG66bqfk"sq[x -(ݓɹL,) }),q`:εF}T_s! < -Dscx^Ec .(o_96ײ4چ;q-^~veܬtO/:CQ3ݥt#}=5s^;V~.yzUtBCZe^&ZdXC`xTfn~&Mr`"FyJ-Y+noO2:7?߆Ю#R`xP燫Y} 59`K4(viUJi*\BBzHn6MmUA$xfn?[uPyVs:h0G!fTу0}x(l51Rr mXt GPƧIxnhzC,-F1ly_4!>,% a? $' M~Tm5䇕wx/Kq)Fy:%iB Z*li 0s9 ع*rV[hnztQU\m54==r5JD[4?V 783$b-mKLN8 _ BtbaTՎo+@ ItLU3JSu -/7e-XfCubMڞ}[l(6C)]wipѤ-zA0-Tnz^D6Pt<# SzMM>u!!!i!46PKSH t#*keystonemiddleware/auth_token/_identity.pyYoaH:Pa \Uc`ޥd*ɕ;C!+@% gfOɍpyGGN&1sO2"T" }C$]:죄l;%aI8 vy/XrшIPeAD0;Ey:v;ʌ4sT7|9464wϕ"3',\jlG"IFrX*Bp3"*ZxBi)]VBr2Y򄼛,g>ޭdW.l5÷d2}6?"lbs,QPRGɒQLudR1wZpp 'he!1PMyLw8@`$5Y'WZFy{D?BMp~Eb!a+S<9@Q!Bdly/4- %iFPDx-ss::zaFo_?{y_ #L z=F!S;kGs΃pà|$Uyـ$>]QUY#f~ RFє`6厌!4SPc&Jo+a&J{UB>E0:XXr%cUMxqlE`\f5!Ur).|StV| S q q4 tx8%!ma~dFH=db.c#ꕋʣK|1jx),˹n_ ׅU3dgn\9b܆=%YĥaQ 6'''8&vP؊dd,^j.j[B#WwIhlU4-{$ rw7{oF:.AB[Sl - 5q +aS$=5ج3UAS5Vc<ŅqLlm^c @ڱkh .L yB]"| pQ)li|VD}E"E=yJNe⎇^ H`.-/5wl.>L淫+ yFñێ E1b3Đ3yd' =[w|=qNh9_AC?P|M63Fb헙 H 8 d[% D4U۠F!eo2R2i$=Gx!<qCd[z8@WޠHnV 4Az:*QˑFBHo櫮vl}rMb)ŶXCIS2)FtYwLVly \H-g-YsHZLޫ|B} .Q'E)vdL"J |![4qfW tBTa|(`YbYS'Bj)Ge+S3g-*`dB dK4{-]OkqH~)S?$A%1p-dkHp)b/ ,Pa.< ̣g^ꑌ庬Y{PnFttПGi̓]K|`wM;cb K"oY榦"CP)KYdgEnvLesjMi3ejZEsdAIW)[cbm6;;m4d&V12 ==Eg頗\QEr-5e~9 =3T!8 )ZL;Tbv}`?*)N' dQE(XW1xlJV!KBȬwíWE|1!h+$&/%Pf7'EFm YP2.i0ɛ cu  m*e-Zuk]1cJfV:I U ~Yb6\6 ܊e=hgl]:5"x6Ͻ B&үϛ-5azUZLF3;Ӥm|`)'f:Q?.?rwꀔRGc ;c;׀3fO.reX< 8ւfjga=ء뢪Q6`uWx|Rѓvv<~pxg_PKSH &keystonemiddleware/auth_token/_auth.pyYmsHί"R+>`MeA`B_"|ufz駇WG,YL4f#F}'b2"%)₶}2}/d6;rq30o&tEFxO aODAI~dq@ =j9(g, ]鲠KFbd 搌519 ARèՂT$%hR#{ΕH-%`}Y𘥊gvs~DP"hg^%hsd, Yg,y"H tˢŮEk À(0ԂpNsvp=?GO/V+ %Snt°BtGp up&2@$ yUvs,DQQ %"Gy _y ,smݳb)M 5#E>,$S ֶ!-4>`n.b25w b2tQ-w L( Zj<%"dA7P`<`AG_#+D˳dl u`SIɢPdA׫BLnf?4OPJ`DԤEb =YP'dNGz j~a$ {4΅ǂV`xb۝7逾峆B+/0lA)/tbPnv.lLu1= " IjN N3>DD0I|A_3`OKx+FguXgIo)#== *^CƷbdV ?}[C\d)(Cohc#OBߞI5v~w՗;~_puu:CJ.fHڌ_ӘkG ?@ơ9e 9 dχw1+s8"t_ě|%$ƄB6yQX,BaҴt=EExu4+V0l +nJ2K9 Nr[rF" .f_ CHBr+21[(7DZvjmW%/+Fyj1? X##H_͛ 4:w׈G%%9 zT )C|^gp}~% Q%a@T4*7@<üy,c*J'5vi)()ȂFlZ ivखÛrL+TT, ǒc!X=<>< P7+9y8@2b)Cs Z[,p~)tڬ=1+Qs(Yig h{)Jo~l4BzX%>w519TX@ʒU#q$0V*1`߆|}O^3m!DZb[h]Ґ= %Ut䷌gDSh^4 6˂c8.Fu8U*9׶Dt VsLZoّj<ڭ4DJj6΅"Ƀ}vUYR}|e~ta?,u^QPL k= 2ZL_dHdͥOӌb 92{U/R}[ gU00X剡*hf.=Mˡ¶YJ@]uO(2AM_ޠ JQŒ7ئ?o^<:x5f0Ed5"OSAC(_5 j/Sk Рn#~JZh>Ѫ=^^{{V9o/qKF,"%l@@{ G]2Q=$e˰26GŁ&8ip:_B4ngۉuodwJʡD&B`񥔀 YhY [7)M`MivV,Ɇ["209Uio*q* ܯt>6jm߯;Gt>;)0LGsb @_=[";UNF9`3YZ+r@ l^PywWd  S>"u@';I&B 2}-%}>v"hϟqG1tQ)%u@gٻAnc9*,U9iOZGX=:^BcP"JY!s ׋B+Mk$ ЏNHE]v@;WVTx6g7)!:BkKi(5`Vbڀ3H',KJ!3qzlmQ]K(8hz^NGFwOnt=-Fwɘ#@sm?#)LfXnsYʜR!g4BZΦ%xTr!pMJjҳ|jYR.jNV (^ (*dBSt'TЊgM4,AeӛZ͈  mDY, 93&J"wڬ#vypXBI%]E2Ř0%HiF N ^͑l[iY*|R:"rxzs[~lC hאpɞ!4*;Y*+D\1̸`Zzym%pZ9TnF >\*法^Q-uE_>9O >kYXcynG+jMs5aiIQ.ܺ$ezKW ] gf;&h~ ;QY`=e@쥫'mjGeڤCEgphC3뾳l+&L&o,oyٖAQ VjGCY>VPר'c3/ᦊshoy$׭?ۈA xcu([(J mphlk9lP`IK VbKgr&:hCeCߛY<-EkN[`?١}F79vsO,$=f~Ʈrre?_⹑h]){CZO"G0q##k*bf%e#)PZ9; OY@ l[T,[P *-@&2L|DiYTde*y feDB#2%%:ƍe>+cfrmXIVꓛ18{К) .`( +K%0g bxrt WTbU /{6?b?]wo@7{v]ݾ=nwvy Ljϥ"$=v^EkA!]H&2\K'rJ2ɚ,47(FGGG+%x|y"`<m`eQrkVE~,"S!@:JWM;_X)jS²Ud2SOzUT)mYzG`ȔmtN>(>HSP\mrDPa OS'nrSH1Y%Y(QEƴfPf~c%zrWPxK7Wh+N.wa3LE0n֌ؘ(RojFy(Jlٳ $]wۡcZ@vkE&ryׂkp/TQN#CK) H|.si@4G>kUxnS{|)L=rq sxi<Ibr+gӋ̪U@"in:$tDdh ˁ%vTޭjFӏ`.֓!@`=b-T'Ң +Md $/t&ց% 0D|T:Db`+C*T׌9K=dҨy` j||J}Lf@QsQE4@ os[zYA| ؄iqDl|uxNwAmp<"߱DŽNc׳'MO%gاsqkm@C'5[^V&~q;+Lrɇ*;D![#+pcT2@∏;t O0!w#ˢ &a!S=A<Ĥ-`/o  h4DMCwA};9/赝<*qWg*J ?宛u'*ښL^lfE5~W7O?@$ЩH~cUw'WбemSSV*SLx7P[[:Rg=Fu_3̌͆ajġ3Z3c70x24cz70m/N@jC `+aRҼ'_08{Ra9om݇!!*mf+B-be/L|B _WZ+Y.s F$uo&~ 4Bx@[4m,mZ tS@섟//_|UBlRuࡃ J {8nϕtm2I"BF%Ain?^8p:=p&MFhʹcw@b7U|"j+ZTC&:ۇ+?PgKq!6+_p`/'جleU!pӦGLG!Z@SY9"`/H9VuEKZDўN Ȅ~Ҍ=5^t`.MdċaԮC,m7nSh KЕX ܍R4r Gc%Ǿ<Z֔i{!2\*#im}I@@ UnG=tmU쏞o p (Q^QX <]W ӑT@b ~||񣲿`>v}n&8j֓E'xG@tA"6"%!8ۣ=ze~bOwPKSHL" H''keystonemiddleware/auth_token/_cache.pyZms6_c)0^{gN*݉fX]$HQn|ID}yҧ̄"gʅan+ؼ9g cV[6'᫓ٿ^׬)Sڱ !-[B01X˪\eے $aWK8:^Ǹ—uxj%Mټ*Jjq}x Ӟ2#W`PW`fwL7FwN;#Tsf %][ypx+v2e}X޽y>߽_-iyO#ey9+P#+( 4 [LeRoaU”b4-BqAj ʉGWUd?NFLBV ' da'UdaV>MboVy^rkMg7bN=gs) #R|J' $c'㜥oLJuwloW̫ fw HNeYӡX{0"xM\ Ģș;ȶp[aDOj1s+΋?n1lj%fv`ŋ[- NH)t0 [*VݖL:<_Glֲids1=*†X436݌n$c .\lBPdp5 *Չ P 0~g%Oj~ٌV0B'v!(xFX7AfJ S7(^}ruJ2 䲕`7zeP0\mAuJ%]N(^b4IzF+,dpѿ;K?K=MUAZ"`ʕ'U*&g/E3sdMÂ.hzWM)sV́{t1[ldhK;M/0sz a+쏊W@86^H@Ne} 1BBw$slh,\wvsD+Y!*{z3F$I2e!( *۷筄 )a›!ɳyVֵ? lK.VRJZ %,4rO.yԂmdoqӠ˹&?TqHNf};~ED5Rj:k y Nz\M)vF]Ne;PzUMlp1>̂!m/k @-ª3$wr$xEZ-1ko(GvD[y2'GrsT:+YiE-k받dPxkTt+пWt޴;ÚF~-vH($fS̃ҫ՛Ecz$«oѲfUd).2apOdet!F ˏ/Fhʑ ^W$vIwzC࿍Px- @z`oZOLYiz[iqI+Թ\K&F-o孢lkj?>mQ0v\  7QBBVo;'/*nx6rt q E3WWU#8 ,߾AH'ph@}RqvѴ2C!ϴ!}#i]`DtAKVY84tZaFiDsBE3m@S9NL)fGC8Ta#`aoW@fhz+/K.~<QO'&ý &r, qr4QIk* |6OqxQmPF]d} FpOUk?i~$F**[aߗi]KG49j~Jp+xXOC/ePpi`Oz} +ᆻeS"la6Z'inwHznѬ!n=on)p>ORQ-J'˔meS~;52F+c Z?fmW~bGǤ< = `8Rkk}o4uY5X XNć]]NL oEV /D(IoMJ佢as?#$=wIXv7g0Lzm)ol{glQWLY abTu~Ju=Nq +kR-|HmhJ䈎 =j3Ƨ_PKSH! $ )keystonemiddleware/auth_token/_request.pyY[o:~ &}ˢ5:h,ꐔo3fmQ-P83܇)1KH%L013IEF^$}$8qK'(Țz$ Ȓbf1#[$$_, " 8QyY#TNa{:xj݆Ԡ \J-zu=Mfs@le)SHW%.fJDHBWx+([*pIҒ/ ݰJ ^4#'NȻl<;#nt:ǣ˛x>{2|!Ǔ3V HvdIHf -=^ >Lj!R-XR)&9M (*{sb$MEyTTwpC\ kټFMT8fgpxt9oCօdQD!g-Yf'ыH" 1ހ}yKK4=L[Vw )!썳3 `;MŶreUnĂo,|;Uқ,X9ؗn$C&\OXZ"M"3ޓrTf `gZ)묭wr|^ct76 ޒE; HX)5:W~(Qckჹ`2P6I0F-c[oJI[(<^9WbAxp!7h2֡g/8*F|q~lPC0o^Ew— ,_l2XI \ҘuX!(WA1 Bt$CU+wJL X{ի .dV'zJ&7Q+]s,/ xՓ(҄R,` Φ!ig:&`b J(HLSE Z D#=1.)$.~c92¬o}!nFPiR[+j"2nXi^8w֥Xzf.0^|z8a PWb s8$8뤚`QLmQJ cۧγx6 1vI,;x ii`6yw@;5&Dv:z?G2[(ico|fe6f ޝ`*Tmwcs:^qɚ|MR=Ґ{" iѠOtl)<_ߏFWHS:k8.,3E ʼne QH T:4loF0𶕹 X2d@mYF3"x҃TjITZTIjc|=j/,C^Dw:ֽQ}eM h;4㬼D1a/,&uA p;LE\ Oe5^X/ u,mmhБЖZTmC yV#oPKSH9w-keystonemiddleware/auth_token/_revocations.pyXKDW28"N(aw"4ɲZ!duJ;t #~$3w}蹁{af0"Q#sџd 6Rem5L0F HɻLY( i`+|0 3T'RdQڽSS s) $A9ot wC6@8kwIIin7d%h h|ݜ@dP$6df"4F: >jieQ[{IJ,rSNj6Kd0`Ob5O/$q\/VÒ>|~],O)Vsq+HY[UdrVFW+a3rrԩ4MCŐTZa$ <*m!L~OnGWe7(cV?1O>]$6NHIT+";]iѭ-Y ͬ_U<'BJzFu10mw.vAblR8֓:]ڟEF⇵fi'=)ELc_.1y5kmgyyn{L*;^7*XSpl&,c{07O\ijN9|f[-'k^]^Lί˫fry N/<2Ao]Hg5$n7"JO2a$]ƻZ%@Q$m*ۻlv8gX,jFܐ.]84Jm,+F`SmrG͚*Ί咦ˆK &jsw3|%uB4 HT@:pA`"I7 egW98Q{-)fUXfbF-I%|T>OwU 3i揸e5@իe)ת3AZXIr(SpU!nziEq\ s+:/ V{+Ɵ(,`BҲDy5:pStsEM3O4WYW3*C*W\miZo4oP>^Ǐ 9.0C6f~xwy.25 +t-3`=藧[#J47'Դc}ͪfqH!*` @fͬj.6(ga{`7Jt ≨%T#6ޜ d!r|F;iBY@Ԁ 1ڻ\> a#䬼=+yVduLrOo':;ŽfS 4eɹIQ >Ng؈&ᘋM\nr$ƾ$ NCb@ eGw?LI~,AtxA䓐sN;mh`Oj4.}*&iJu(wbLh#K^-^|n9JsZ~w U74D U:_E_kJPA(0,ı*PoD.w]wc(@kx .GmD KKa a%o@,8ՔG"XO$" " q@mj{ߙw2`bLWFvH4xܶ&AI$i}{DLE,O|M.֌^CͶ)[|&[Bwм|5geCcI{a H`tL2欺_o [v14!q3˲f]-kJcA,h@BFhd0Ă$@>!C}ٌ sm.@쑐%pBr <$8H 0鍀d)SUtFTlq%ۮB 8zw2[n9UJ-,D kS;}>+Lw& =3z=vfvG#0UnΣQ ȐqMnoOz=8]gE>.=YC'>xґdLmQ&MOƭ|wyGqO"rc86fj nv@-X:՗Y3@V |{*  T!pWB҂5%8&[ /бԻf'K$]/]yS()*p_VjF~EPwj{V1^ZacX{dxM_5gB $=TlA+Y#CPUF8%( E 1AG D c3IzŔkPp)@u0euZgT gL2[Ixu_$^i{h N*OtC[j)˯3{SBx:Νgת Y Z 2 s0͑QOpـrްaMԇUEM4mYPCdI:)C|J{'tpdp)}I] >j~QOF Zݲt39gqpqys>G@"yexzHYMh"K0MŖDHEx?VG QȒ@t]\k^.j PxnSӝRH)3OnV0& R(ԸHƴ][.//P雽ƭ/7;$r}%ޙݸ/W_^|ŋۃ#u։+ڬqAIi2 ֛)b|@񹖑EL>[yf|߿폌;aRZ2Ls=}?p䧨D8WRᇢX'd): ;;Kvh:t7Хdt@NQԅRgFeaDApQkGZ3@+w7i͕ C gt (MPm=d,&=0dCO!E*M-)|hi|N׬5GS4lLѩeB(!+6 !JbA %QlR9!W2<{IQ1Ym}x=8ԕKs=_v ϑW:Tml7^8}tpח4jr˻cS.[f䳫Qȥba T^4i$@Kt!&@hdgDpX@P 9a(8l=+^x wgߨ^Qd7K[^p{%mb}r1$f62#wd@K;(^xB"FGPxE^y‰1˩(UsCuy`veaVY㎢E~`EDqAwu^3XLapc޳oRe6 t;2\(esMv6f$ l+¤Q^~Ul&NKh5~]eFdNUfT98>Q0rf-JIJfNˆq޵\b;&|5)$o^p,3|!i]6?zv|h&CVEYlc12J.?z_rQ2hrk !F^ڂ>zw|.o_c'uR1Uޟ_\_O~9Ó7|W䊡)|~%Ei *jQ!v 9*zx5hC( }4FmAt@1Fx^ ~!S~KhhP}C ǍO4 >Q4`ԁ#2%!р!$tH\_)$v8 4W='3֐t+qI"^zs@F;j "0pIDYGRdr(t? "} 3`Ue.;{tXe3BcIK,&#sB|\t˲(O9-31V `]aQX3!a;/Ȫ4<8dK#ZsКn4Up`cXfpʹ̭L@˰o_!?_7kߨk)-bq@PG =vF1юD>RHoU&?Y +@&^N}rT_j=$P@P[@Ɛ;J+ *!Mx}abU"I}d[/KJ8UKQeQbit Oi6FaL1vI8YekrIL'^H:#⚝>GU6wĥoA vF\ޟLt%T J0JGidkdL =hyZU[oѪo<šM#h*] \"ϧ@1\s7ThI!.H?|?Q "4s=Va-aNEBT»1 O+ )J #yaVnu{aѡA@$~GMˡ+Depɢ{IQ4/UZXJB]Kxܵt̥AZ $QF*d&_ $n3 %UKnJ Hs4IS({Q#, 'EG,P(rH$84$Uӛ3=@L.8[|h}i!ŧŠoS};uL6[2lKYE=QF4x:in{_ vŦ{Wzܯ7-$┫lUPOS[!teGKSWB׹>Uو,YѼ8j^Y:d?PCUQ*Qt d m?ζo#>MAՎc5d=f^ G'k{%W$7nGyVTŅOFw#w|6cb'ҹ)TFdƀ mE0F qr %<ȯ&z  !q#B잡 CBSaB# % դt'*oM) a]҅##KmiI[e .T :ra{G։\ڸ&(fGfѷoְ͚IY;qEQc)82PF=z\O) XP:SlB!KdC7DŽʀ;@c;x٢kI;q uYH=N`@*$I.Nbaf5?z'{t@б?aL~[cؓLZ}.fZ K<'c[/ hӮB킊'?^L.~ίn7\e$3Ru;N泸i(nwYNN6?}Nyh9u\tkDah8_TISèzFu"٢f( '8`p8WmbYeD"OĎaWDGf]tjXdV6(}X&R6e1$%ŗq[( R8*(L2UG+[.sJ׏21%s:XWtzW Վx\QR򦢦9;nJpHk%*K8Hi)M Le+ O.#8hvRpHaB, ՜RU[ۇfkjM?B= ?.1ҧO*|=ž }j;jRAurkk@7Z+{K#cjbtސ8@xTp`l`%COTIsD$\<-);#<k.]O5; tUT5'L6)* HySmh};ӭ\NrI7} PRAA* [WTQ?zh ENY dWSǺ0f]lla쯙1t7F3 ]~c~4Q~٪{c_cxo닠|RfSղ=LRSR^p'JE0ć*wVO4-DdwCQU%cHuR=*AKi;a9(xkMXj匀ĊPkOJiqyOnI]Ѽ&)[J|2jK:J [rPnnkG4ImgmsXX10Ѯ}zC8q&:c\s1^ +Bb 2f^j#s?t6hggSjmPs2|dA)~Y_`SNC=ڡ]D5 Yj4)ɣk]m'FFnloYB:=_S"-G)ΐ}2is`0CVa=sѻhmIL@JO1{׫f!|/k؇e^b>?7I@sZqg.` &4G;$(Kj]Q|V3AXy4FJ2bw7N8ÿ]f7yFVҚ[sʼnm]!Ɩ0ĤQ5d8Rs)sJJL@B^aUYW, o}>4@,]CN$ujUz!k(]o{V|W{^Lp>T|oU*d,#$\vXf[R<^t%5o,,Z;:?{~cp4軋*/;KEtf(I3FiQ.K6eټe-oȭ- 6*82f LNu5Uu!7Eʡ4r*_4U!LMEW qw>o.?CTKAɢtLͪ(V2=qߵr~1 d4(avM͝1v]O4lst6/G6KQE$)rŰKPʒA7LAEmWaEa=3*c8'z( mgIA!cljgWN e`HZc2_2Qrr8VZ ؐzN禯<~<x*χ$oJ.[EhJ$&qwX^Lҭ V.\ 'אkt+ (H̙hCg GѲ/]H=nwc~=cS-QZelok י6&ӖcDU]0jo~ 4|.o# r  Աl 'Do5zyW;̽[ٖ  =9ܠ vpڨ+hoT&h3޼0uyù@^Y 'i彝z2X5[w&NU[PH:FԮĎ<*Pt> ]Go.؅? 2|tz}hT͞>1iD{fpi!Hf}3Kx5p:Y9x9FoGu>;"#-/BV¶ùZX缊7IV1 `G<&T|<@>)?I9ϡH!fdy;;s']M ½9H@88S{k'f$ΩRmXE6zIi<{i3|s?%I>LS[־K.[\SR&}vGLN?pd./vu!6KOS&q6sr$zeUL=|5>DhS4;w?g“aO j3YECU)g&v֓I:otCu?8j3UEQ&qC*wIYF R.z)vYzܢ%<b?@876N" "grRUd7o<7c Xcf2Tu1ۀt`.f 6Ò-e YC rD$3dĶ>gaffp`O@rg[L7[~<-]-CȞ~ M,dJ0rZ&I*O #mOFhR Pf&B^<"&oUj/M`g)>4(3g3T/W6VژM3``T Ճ "+~O*o#[jQtLY}zdNJ.vTqQ"N9Ua@3֊ L!Ot(/nGR`्VoM2h2 XAb94d{kHfDx[ (>Bkj01)ԁ]Q0pa7 OQXZa q\S݁pЫ: Pnd}WZ-~/Y+Av9'I, rE#hLS.Z0w|Rִ0=y PꇮBؔi娾CT7;ζJCC'Z֜Ua W$:q.^;̪9ٰ9D4w rO]% kiKErW9#>t=ZPGU?OyGy~9 `7dN+K,lH(æ< J7,"qL4eV5eEOt]\h0.>S*s/22eJdshH v`|=͢SΈFzAݝ#0=|D`nsl#7 Pnvï!!׼w#<@#,kH+-b" E {~ZsxjoAIݾ$Ȕ}m@@KK\=fT(w~:al-e[Wr !z䔧7k7+8ZY=C(M C<7W~*0kT+Ӝ wqM%=/?v{fÇfH4?Xİ@k$Pk0̩.]B#ZM@.L>ҋ(zHGF0+# JpjY Cy9wCFl/FAf5EAS>]>]Xw~ -և }1$he4͢(2T)߽T4ufu9fQX욣&}kI|m2AV0(bUqVCĀ)M2"=Թj t<@mI6`5~'Uw" l1x%6|ǜimcHrP>}617F9b5e'H jݚ`My57`o @j wzE}VewldV{:<~;r9cl;).Ze؎Bf`zV1;3y֓Mga.\#.5俶4{e,fIgRiyoJzH$+U|XV,ŀ0 ! :ű'FkdVMOi3l'OQ<̹>Z< k[9:coC.*Fe[w|44Z9GįD܌vpC>J/PKHK{R3keystonemiddleware-4.5.1.dist-info/entry_points.txtM 1 }N1'BwdJhS S s{@]$)NVդЕctJ7xpȘYuL+KOL>n#=ɭckPKH&qC0keystonemiddleware-4.5.1.dist-info/metadata.jsonUmO0+!TLZ&hEڤ UsI=;hwg'%t{}_bQpke&x?;i*Ah4.+Pm܋rRH:b2mJV5҅Η/'K렌R*iNcfD_HzdWws&:s@@ Rm`_:\HU/uetnxYOtts0v60 8LC&X "\ (i|Dc Zbp'ܲ&:/O6\&^Q5icJ!o VY÷+3+B*p4~!ܹj[ZySR2M 㕏zE q-43cSZ:} WlJF4( pdL36K݋16pygA ^u^۟W][ʏhW !RYJӺv Y+Q)w|zǀ{l^~@Wfh4a684L4UtDB!;08l- g"Y0OXydȴW3S[I޼}idnC}BҊBQ%r=l\hfid"seɽ/k&"hbF鼒}W( MD&Fwrvpo$bNOQ\&υs, fIcƢHey]NVsaX~|;vyo$,+AJA44((%i--h

Bew/qcw|ǍMLt$W_: 7pNmVYs2cǠ%JR1@:HbKSm2-ia"s~+qg1IQX%)t"Nf7{t*wM~/3˻{kk+<fB'%%( 6~*z"x}¿JeS#5}3c~,U(|ć'02c7* =#L)Dۘƙ vhZ1:薎HMKSwUك[NGLp19{8V7GN wL:̠jtmD^AB:ja"N jȈ:b͠fd[ Р!4ȍ,3t ѩDӴS!tbH\\Вj-AK*@5Pli2:0D E 4tZrMKde ؒ%4cBvrl_onP*ҐAx;0Jr6cY3BUp~UG[~!rV0{&juy5_~yR9a3sjS2lJ~QK?XZѕ紒J6=?0L^Ě UB(TūGco)PZWc߃"VU7PKHXb K)keystonemiddleware-4.5.1.dist-info/RECORDǒX1o5x$@;@x%ӏZ {m6i8[8& - oN#9^KJ` ,qA\%U+r/eoпU =.e V BãU3Z t`j!UI|ZacPCae+4gy5 /PNu^9(|K)nRǒU ڦ oMJgu("/e z^׭g8I1o'򼮈06P20Ayz/T,PJ79wi3[2o-rSRsB߅(%xk" 9s6@ ESNZuG1)Dk`~f tʊGNm(#3S=7 kQQ p&:SY hS'/pN1[.Dn`~;@xֿsp%#Zdҭt %ktm|C8*Qo81g,^KH#j{th=joAH۰V,:5Eꚦ{9~Ak'Q˘* pO7cޱ{=m,DUO0(TtI]F|cݳjU瑛^ H#H1u.bvǸF]_;f;c^ m`#q()[ܽ (:Pb'[֋J-ȧ:k'_bE"llo9o^tV|KhAv"KdEQ5i`$e_U\{!C4]fFr:<~\e J]VFOryOWgi"p. `4i~ez尼Y:a k$t Ǣ%?T2& ςgM^TWұܛK/2ܪqnao\P{m?,IPHZYFt j.ޔ[.E/εq7Qx?vRto?s7?-\Bt(¹H/1kR@}p/K\L3Xi7wY|{| CK|JS]2dC 5O:H^K-c,{{[1BabP!ꅤPe1^]mJ,wߩ+tH!hȊ(5v,F&Q1.Rdݠפwlμ~o ~hh'v-S騮'йTaЗ$ss/2LÎPԅv4!]O5Y)sF~ ޑ H⽅8OmBKҴ 6P #3_{w:&sԎLNOӝtߜySe c]SA\ƶCPKSHt{*Fkeystonemiddleware/audit.pyPKSHeGf+Gkeystonemiddleware/s3_token.pyPKSH/C<#keystonemiddleware/i18n.pyPKSHz&keystonemiddleware/opts.pyPKSH)keystonemiddleware/__init__.pyPKSH\ )*keystonemiddleware/ec2_token.pyPKSH Y5keystonemiddleware/fixture.pyPKSH$:keystonemiddleware/tests/__init__.pyPKSH^0Z:keystonemiddleware/tests/unit/client_fixtures.pyPKSH4n*Hkeystonemiddleware/tests/unit/test_opts.pyPKSHB%c&Mkeystonemiddleware/tests/unit/utils.pyPKSHgǢ .?Ukeystonemiddleware/tests/unit/test_fixtures.pyPKSH +9%Ykeystonemiddleware/tests/unit/test_s3_token_middleware.pyPKSHl1;6'ckeystonemiddleware/tests/unit/test_audit_middleware.pyPKSH)fskeystonemiddleware/tests/unit/__init__.pyPKSHCB2skeystonemiddleware/tests/unit/test_entry_points.pyPKSHlD:vkeystonemiddleware/tests/unit/test_ec2_token_middleware.pyPKSH֡t!AJ~keystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPKSHg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKSHiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyPKTH,FFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKSHJuQ6&8keystonemiddleware/tests/unit/auth_token/test_request.pyPKSH 0Ykeystonemiddleware/tests/unit/auth_token/base.pyPKSH4keystonemiddleware/tests/unit/auth_token/__init__.pyPKSHM]e5keystonemiddleware/tests/unit/auth_token/test_auth.pyPKSHͶbU6keystonemiddleware/tests/unit/auth_token/test_cache.pyPKSH#3w?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKSH@#ir@kkeystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPKSHc]8&<;keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKSH}Q"xkeystonemiddleware/echo/service.pyPKSHj#Xkeystonemiddleware/echo/__main__.pyPKSH#keystonemiddleware/echo/__init__.pyPKSH(^keystonemiddleware/openstack/__init__.pyPKSH/keystonemiddleware/openstack/common/__init__.pyPKSH% 2keystonemiddleware/openstack/common/memorycache.pyPKSHӧ 0 keystonemiddleware/auth_token/_memcache_crypt.pyPKSHpBQ-keystonemiddleware/auth_token/_user_plugin.pyPKSH t#*keystonemiddleware/auth_token/_identity.pyPKSH &&keystonemiddleware/auth_token/_auth.pyPKSH aJ) -0keystonemiddleware/auth_token/_signing_dir.pyPKSHn ./6keystonemiddleware/auth_token/_memcache_pool.pyPKSHL" H''?keystonemiddleware/auth_token/_cache.pyPKSH! $ )QLkeystonemiddleware/auth_token/_request.pyPKSH9w-pVkeystonemiddleware/auth_token/_revocations.pyPKTHAA0f)\keystonemiddleware/auth_token/__init__.pyPKSH_&fkeystonemiddleware/auth_token/_opts.pyPKSHs }I&Ckeystonemiddleware/auth_token/_base.pyPKSHFN,keystonemiddleware/auth_token/_exceptions.pyPKH=#ga2keystonemiddleware-4.5.1.dist-info/DESCRIPTION.rstPKHK{R3!keystonemiddleware-4.5.1.dist-info/entry_points.txtPKH&qC0keystonemiddleware-4.5.1.dist-info/metadata.jsonPKHz1/.+keystonemiddleware-4.5.1.dist-info/pbr.jsonPKH1i0$keystonemiddleware-4.5.1.dist-info/top_level.txtPKHۂ_n(keystonemiddleware-4.5.1.dist-info/WHEELPKH? +,keystonemiddleware-4.5.1.dist-info/METADATAPKHXb K)keystonemiddleware-4.5.1.dist-info/RECORDPK88