PKH\ keystonemiddleware/ec2_token.pyYko8_qQ8vlYONIdChYԊtO璔DV(ټ/^So Xjv 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:TPKurNGEwhcFm{ <:;\ߞ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&^.0t81GuukxPKHt{*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?RPKHzkeystonemiddleware/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.uoDlGgrPJh $,;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|QR7PKH keystonemiddleware/fixture.pyVmo6_qp>D6BIx˾ 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-:*PKH(keystonemiddleware/openstack/__init__.pyPKH/keystonemiddleware/openstack/common/__init__.pyPKH% 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`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ٻAnjieQ[{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!-+ˋ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./PKH 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_PKH0g)keystonemiddleware/auth_token/__init__.py}ks6w ^Rr5G6gOyKUxsmOfΥ)HF,Oh4Fp]-Ջ/^4}I\gE;oYWiiwipg|3 ~I WGÿ] V.ȋ:T)Ȫ`- 2KuXY`w4 D1chC557qM]]O?naLExv󷓳g//Ӫ 6Y 3x ) AQLỺ@teVgbTże Pl-Z)`fVG(zr='7?]~ >^]^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+ (/J:c@D~xH?RqãTwbhZ".o'&`tvYuյqg&VH-/#1|Ȃp՛0jvn<5b!~A,|!`0v-VVPά`%y͕nb,B8VVTMHVBCdW~v[sEƙt>FMZ1/:x c*]v@gqr[eOmyt= TksАe$3쾙%Z8ԁkoh<}ķC:_  [!~ᑎV !b+a^\@-s^ś$bQfR*W>uA ϟPma@3<}ùuI֮^݁}$~O$oչC5tu}Ir32T6X#=Q449ԟ%H&)}-ik߂%U-HJr>z &82jܛ)8V9E9dzhЃ ~V&F"f&CDGL،;͟4IP찧5* Тġ3C $7RKkCdΨ`! O#)W],=~у2^OUB1Q}ޛ PUrjF3|JEW)a7rSI1N`15g|Uz*:y蘍d:G03f\C[ab@,{ h"YrvJ feb[`Aų03C3YwqxV9uɳ-RbP-?GIWƊXdOU&h3%Ձ+xz-i$7I'W#4X[9(dPP!Oz^\VQdǃ pk M& 'z*O+ox?Vd00*A]!'w7J.cQ_Z:>=wWy&V|Y{g*Ҹ(k$Ī0k7:Qf#0Fos+k4)ea(wx2>EQWk|3$ q5Ҋnxjh@⮨jC0aȅ|(,-0e~8VD{.K©@8_(Ed>tnx V U$O"Pj4) - pZ;>ETU)wkZT(CW!lJ5RrTn`]J雝 cYP tTÈAh UEk* ūij|FtHfUݜlBG?V;ePɧ"Vɫ`r-(* oȧN#޼@E#2'%r$aSme_qwU8 L`}n+j 4"'m\Pqt|Q\ofwk)92N)294 i;V0>fы)ouڕA0w͖#Rz`P Bf!gS7U'hsrF؋Ҽ60^YXcɖ\7$^`0זp7"jV|hcKlSWD6kfTDFJj/![~H*U>5Z:mȱqbm]p;Hvi]]#y0U?z8ҽC5kj@$k 1'1== O_DS9]SDSڄ}0`̚5EZ*W9D~I7UCZMk$z'_9VηIV!gE١% Ub5 uUwWś"2ޛ@Q7M"=F[&Et?pnzR=9`s^4c`Ж-DVs+gr|#1짔;Ax^]v`5wq_twgď?_=zi`0 ~7`#(7=U^uֵڿ _txYH=?9Ç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|c9*,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,$=߽_-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Ƨ_PKHpBQ-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!46PKH! $ )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#oPKHn ./keystonemiddleware/auth_token/_memcache_pool.pyYo]UN^;N[P^k48JE)l%]>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~bOwPKH}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^9q90PKH#keystonemiddleware/echo/__init__.pyPKHj#keystonemiddleware/echo/__main__.py-1@D=$4pz cX17?SLt›[u͜G.2 >Bpۺ=ǧsX7nO_l. Vc1%fA*b)*z/PKH$keystonemiddleware/tests/__init__.pyPKHCB2keystonemiddleware/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ŸnDPKHB%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_PKHl1;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 UPKHgǢ .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~eTPKH +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 PKH)keystonemiddleware/tests/unit/__init__.pyPKHlD: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+PKH^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 ?PKH4n*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<ʋ ajhPKH@#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`'PKHͶ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.wBePKHM]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|[SPKHc]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@_PKH3FHFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}wF+xCȯt6um&YrҮKIZ"Ũ3C#NԖf00Sg?$"s7y2x鼌8zSM8 49i8E!vI ͝Φk g(ΜE0u4p`9a |0p삆@:ί 2?3B~.lbc8lLYt~}Sh,:q9 4Կv'Ie1"|YMNk? (L$,2Z=G^99?{mai`};9;v{|tp?<>^:{G:Na$Cc08)t1C(pa^dOg_IqA2 Sf 荜i8 3 &y pdşq*~_N<@6^$@~^,p*Y0ȿ1p$~2NsܤY"rx&nlns^IE74G8 tHT8eHo9Vessmfi hN$D. ПE8B~JCQ`4ȂT8Lki1g(aS@D@3 Oth`%^_QYNDt~,dѬT̪$U<ŠSTۆ͂Y QE*Ef+','!"|˻~{/N{{z:=AUyx]w_^s_8>Jn2 Fn[kn( "G[VG{oJȟf^C *99~%ēxlm  npOu˜Y"Y';?a.a'hEw'A9kbWx$=8n 3{x'* ȄTFD/)+ʎFm%$۽#>Q<2 o_^W@.*\S5Ya%Y]IoЄ`m$zb{u)\4sSs}0 ^lmpl97?σ <c.?Zi FJ-%7/$eⴓ~u&I~B{gG "š,a_$Ju˜@-uO^z/OOSC?a-atgAvBw1G"[4_ 9±FT ʶ>2X?4@ln}G5 x9bT "l'3t͂~Q/00 EA+.kpZf@|$ 0I&qmx,zY+9* AԷ7@rYx_{y+q][[c$,A;E!0U3hbQqQ\4 nw P?4p_.>4էRT[>  C0c 1(f:k.V*] ts E`&$]懬׿exsNB?J %1vvP `j$%WH=s Jk׹j]ͶFQf40O8JNOۇJ|u=`\l5:\gL g)02ct,BçY'7.\a {WA+DË`x(MmwGY:> w|Yw2"QG'A; YAYV"vmY*u@N@Pt|)3q ʄnߓ2[A]+-D԰lf*02౭@v[6zOqYh%2`/m#xP1|sՎizBq, iVYY6}%yR0?5 Q?j?ʍ}(~a3M.X7k$/[e^SSXmj3 fYͺ:ȃ)rH,jcss]u~ ^inr%g\jBJWU[\P՗Īq BâѺ(rzq ~G޽iӷ?s%42x09M::I31?!eAMa^acX7H YEs`ә,$`#g>RSGs5M:NDi)N-ǒc,8E81?~$#],XJ,GM\P[fy4j4iX ׸k+UҨt?a:􌘆CWhE^o NPQh,l1o8)`r!wď $I' džR2کꟶM13a+xP1<>m?tR0ο'xbE4I5R C9ǹx%5QÆlgN-CVNT&FLO~A'aBtk?¤!F0%@_ad>2 q 3w#<\̔΍;u0mi8ZFEg{?8;1 CZARY"0G{ j;'w`dx*#Vav>:jBSǛiVv,~Zk/|XKY(6u_#L)Aq"p'8n(~oeӧZL้憭a9;Žig*2?H?wK:ZׄUIXř?,in%Y)jV ?2k4R, ~).M`\n]Pt{8>=ﮟK1u.^Ly4#>gM#Yz|KIcSsxE8p}tkRN&gsvX’Fra=_ץفd: 呜-Cj^V+wDNb06YxYktj5EX0]33p$O^:x{?9@#D?c%|3m PGw4՜:ulm6}Us)쀨l<:dK2'CPrc/g(иEa<_$tlffþFi/SssK p {T"ܒםfsbzrr{D2W!Ӄ%^Ipy$Mh7}mL ?l))㪢5(@y<C֞95C->E7`L…Q+ѝW~ ѲOw C̷PB|Ҙ)LvGڛj;6:5!V5Zzn:(f>`Vx s,}^ Q~x6Ͷmx׼V3sX_12;)Z{V )IyYf\w ^ibkk{k}R#l`aPЎ~{ ƞ΋(Z`8(6^oLuꔾn+!M-:yiKW^RBڶcN Pf8˲wP3zKʊFyij<YIWuP:v1y4ib1ufuuTja4!p-וۚ)<? v  K0z'K``IN4gSg-sƖ'Pc Ğ-97z[P.<0OzWBTkˆx #8JR)"[r՟:()ʹM'Q Ji~~&IR i0>9>}CḨ X.^5b(g0[O!$É\R_:p\[NkbY]ܡvNECkj %;v2WcTxl땝ETeMBR`ɼ',bmpXGn/)) j=̞>UkU:nMy0r]:ceE?jX4!EbDc얮V t5KpF6l(恫iM5jťJd |skI#7^8h7&t "m9ZP༆c(ѳb{sk֋@68ɸ7d͹"b$JB|gfٴz]KZν3 mG˙Sx66` 1IR.ӬRU2o±6F=E > vUsXq*-pMd`$*3v~ANr͢5 X[zqď&Ak{Fb'̜ݶX^w&)VHӌr"Y죣S; v3plvE"E;LkR= Z0EL+bԾSZZ\VSsKhy?uԏUd+kǢsWʏu*ӈU$BXvtӯ-Y -Nf]%,0&wm;I:T [!5J b 5z.UpxhT~3_:8aj UF|pezH:xebRAŮ¯O{2*1$^b~5n1,+ dY!VVj$ap%xJS!|pciA`4Y@,FA'g" >jNcXt!E@W. >('&σ/gs/SXpZ;s2/5j#QeqDa5' })οn1vᏹAk |4(=c}G(ZfPU>\`FaZYQ:Hݙ^%:8"db PY8x<eV: 8PN%d2S̾̅uu[e*w4 Coi%31y8;Kvمf Wg jM|\$"CҪ^KaUnFlP,,,E=)\}T_XuK%8%劦*_XROdڍ" X?v#G_P-$B;1'E^ۗ,ių*qOXx8._T`꿡dU:YTW82Z2W /S1R`UhcQ+`p3w:d;&@4U*3x.zU+ǹpQV*^s5z?ś~E[z$;zILkTGBgVa*V vYa/!:Ɩ(jwgrLKBY јeQ6Q*!j–_ڦ~#mzguIT1xڑTCNt6ri:cL /1!ƓaK)J(LkA 2% V}M&V{s9~8 |/YTz&+ꬰ.֋F2tTgZhh,܊t!)>gĻtKQ%KX .Is4/D3QVZ%b]GI?Vz/t4븮ʇu~D.+Ɵ V)P󩚴 i ?))7<E ә0kSg`Pw eeew(Jkt`N6HOS 6;< e9CDŊdjsNX$H/axFS _L~9?@_նW@ҜxmFUK|үz=DAJ!d\I뮸mV ˒}Y pܔcd##ZDM/kri?q5Y-Pe!:B8ZI84q~[oz=ٿzQ{*)4+b%W?39Ȝ$9XFtkAƽBy H ˗oTV{ԫ_u 9!POgbGd[DD3T;q^5?/SgQahX44\dC,(R[3;4todie8?.Ldž՗+6r$3r4Ǧ-q$|닺Ɩ[+IE+⠄0*Fb4r e1䑵Bs6і'|͙ʰ.ʱ_SQD%zbG_0.b &D>m ]N(COͪn.!Eg0b=_9o7Q^aTJL iEwF9}۳"o n:Ųc '/2=Вy5`xKQ;* 7G} ^M`f\"]I~H0Pgl$2=dX~M@7)T4X]6'h|]cb$HD; - oџc umk8<|^||SuWmr)9f/ׂ0*R|:gh>x3 /"ͪ(z?(!uy)uD55y! XH\gAvvWݽy1G4ԏ.gr}^eؒϓ(n* W{R–Baβw &~XEJX..$kYZ,ۜ*+.3_RJvhUƞa=8,BԀZ.#ãCO⧱LETYS>p şjtEtgkS~k/dAUL4IR(>S &}?``fUzhj)\YrtɟMCeg9sX,Ķ}FԺc^sTk > 3@E,ȰU N48tv+'Ɛ:i56aQ!@΃F'0'k]JZ,-ʀ(YI`㽅sO -(HGõJ%N`Q~Mq%xYm]`lD)kݺ;%ەjZeXHxK^ HQ ?U0Rp.a[\5کD8OP@g;&r}H_SƗra6(9sOo`'4z={r~WTX ZɓnXIJ9.G5O~KWUviRXU#biHwIrPGf_rZ>Q=.@m/-"EkXhLARBGl9gL;/E)R0hv]12`GSMht)'xv2,tS&7F3֔?ޛ^gm#0rg%$r^JM RȾ|:[%xQN&I.j:Kf}MN|ӊK128Fd=mhJт*^  tk-`aXE:g%b^îfVą^:QkэrZ<͹xBG?WOH}Zt)89KL\c0sSX6\֗XVfo~? Pt\/(W+ R?1U'ˉ]kL1rl[0nC ʾWY7,,U8Y1QeG^7N~O7N‰'t0gV@ӧaRRfсƦh<6ey/ _å-9)u[ֱXGR4\w mQNXt0~}z{;<{}q}StJ7r?Q#Dw9NjfQ|~^:O&^S"@a3*q8w(Ϗ3ߖ bjB%m\dEb Hg7?̓ 9,ڏ2&ۖ3d -_QU//" ocIW~T`|RY6+ &&ؔCY/Ѿd,gƣPb` gVx͚>)c,&l?jcN, }z 9~A`⍵gƗN|T4k-vҮe.hѷ/.%F:Na*Z Y6]Qo×`f4(yڻ. f$oO&X͹ = Jae7ݞwwϕKNj' ~'u5ryfθޑ M`L?TxŸnB+ C_TpE!`9f1C|ςWÛ9u@.61]nE#j08'?͋ V ( ;c0cYrޫ-xߠ@NHdLTONGڥJ^&4% 1Uy'~9;Q'BYH@zerQ) Ji-,r+InS46 o?G v;NSPICIc îHAm;;#p9Y\]ӣL)-fo/=.```e7XN~AMT*׭:VX,Y17:^o]Vj8qJ-ivK*\"-pB'P:ċlF1`%7pu(\vP(",MVsLru "k:׉A e=5W9nX+IzH!lդXdlLD`wHeqMZ5w]%BPlqݯ^c s&#{ V1xL=L&/K@ RpQ`p0}3( \] K-X8DJq<~X,lYXn(<8cb D8^T.J8~.[X^50K:TBm/0ZWA{6WV?h $|AUgl>j$Xa)`&5>Zr.͎-Ǽ7["RS) 0*11oکQ]𳓊@qYrP}$/-k2J?fZTӹL}t>+ jyA4" FW%EB,V^EVkkkTt %?)#oxƳ1|au V^:eQ-.~e0>z#J<`]M@T{go?ă _ Ϝ=ld|U@U8(x>:`f)UiW6Gχ4{&gvj6ITn[v/O 3 =UΟ\08c*fy#3f5фE!mIttୱޞoVVHT-*j?,k%d^L0s'Jsjv+)heAc{ss36I/ #ClF}h|g 6ɻ^wFϋ**bMއe.iVXvg[/T60jŷOt*S,2èZ/bͲdW3Nu@$bG-!^SJa^|sЗ8<cN:w$_SjvDBz Kf+R}4-CK3df@POWg*ǐy,<;o|Ɇ,sYkRU(U=RE > KJIfYGx=?{4Q4Cd]!~=t@m5.3.җo7文mx'$J8MM^/E-9ۅ=xV'KiVEْ7g~5j/HtI̽???pIQaUmo56;_bl8CYӍÓ=3WW;/<7&%=_u9:(e _b3s/Hşk2"<@"N&&C㼂kZoϡ<6jE’UѹYIͧRFϲ'!F#O'~H;j᎕Cˆ9JWP$TE+ VO ϋI*>QE]#Ng`n 쑱@n>PkE$0/U9]gԶ y+OK#fp#᫐̆ [1Csz}Qg7Ӏeƒ*%k `c/q.6?` Q{ӒMAMX&(H< FF34 qzvDr"!w0O[0 ua>Pd%mt6c HDM©bοD_⡾ds]̕NW?yQw*xl9ڄc{ O5vn&q珬?^L, A_O&fbώS?TilGKqTQ&&l ¡:=>sY9&%vBċƱWe(DhOu,ZI/{%A}Sc~6ZMRݳ4;0 +F 5[BwjjB/0Wa@~uKenOKPc{&͂EsDmL]b^K X :k;/āŐ6SeǒkqzmKi8\u ]FD <d3`+m+QΥUJmW?i-b T$wAm+hxxmE'oYΆ#-o[l \K.tD}.T).0[T /4LW;X7tB^dg1$UO)Hؙrl ŹJOYտvcHc$r <2;a NjDOe6}۠r_JF_XxLO_RӢ6E]3i%خg- \4L?:ഐmZbU, sa 1XrL`D(-UY(jQ CZQ * )2HBQO,iA+EyR;BLY}Q0 E:*WvUL;+( rFz4 n`G*v pN# %~zJ+i]HÏA6Y[a\ .u1?M/831oQä@) X{AaixU*:0+WNR]G&U&A 1oD #p F*Qqt7]?'6*Duy ONaV[T7BhgO ZNB'OìhT>ےTLLj+~tz)~*;/&zB T͈}JcumBqR*q8l@mSk4|Lc7T%pK=uN5epf1r.!ޣ!n0Bp0 ]!ǗqV%ᵲ+w =MB{F|=,9$$ !x6$?Y'7r8Ed,#8föș,ر؜n*@~Pzlbet;@h;fgNϷm~BC/O~:<8U8(QԹQ5ؼߴ|X~I   ): KAG>}'a\jd¸eͣFyŸ8 {&Ro<`}x=U_SMw%ӏ-}U^ɰ၅Ջ֏){o)~M`+Tnh7zMK7WvyJ )A28U};u/%SJgQ8xIKkjP4Nvet`Bc <sk+}ݓ'=*bw}eQ0 VE8nonA?,5m:/yGbzxa^\aZmOw]OKelUΕTv*s2|t U=wXmN)6gp/bYxC2k]mtRRK\,U0uYۡ+K M9&(hp ӰdYC[]0YɌOGUVRuI"ǒR4hvo/%Y}?T\F`> }>_odj"d# Qfa_k,de`P ΖVxص$ۥdD@mS6Q̚W`c<y`>ٶLۙe&,bmԥ3;">3{=o'M+N~+YS>v"⽌ !lQ%XG)߭< ΎukWʏﻔR~?a>k5OI&L'K!Q˓[XU|^k{qJQYb*?v0XcS/j aFKS`UVw)ܳpLX ^av4<ڣ+TlD{6R=t ^;>:c52,}R{n>/#pg hJޡ0;'kv>z} >SoS6ydI[1gœn)=d#4 @#iZrnK[loK,77otD~zF)$Ӎ9lGtp7ڍ`-{?>zjymv?9=0Hk15^C~ [R58nWA|0(')b[`t '<=c9u6"% &WWMK喴"0 _SL4X@$m?L jvdn#hBUzAޡSqb{d̷B9@|Iʒx5 aћc>]3Q c5$ H2e옡)FzXQvm*sŏ&}" }sM@[RJߔ3/Ut!@|榭I]K#n8:IZB%ED֋ؽ>݂AWBw{&Ft*0)xⓊNRd'I *u*4ލ"w[|p,R1:Af3oj?b_*Moz7)NPS7s -;H72 EжJhMfYT7ZlY}'yH۞&1ɍF{m,]DEQ,5U~k,L5W9Fi"V6:e#HQ:s:֎˰ "If=vU*H L-)GZ>5#1'i㯭Oa Pܲcea#̟N4^4â2=$Sak/'^~ 7Q Vy~{zO׺JmDiRo2.uHN0\U,8ƏlW<cjvs!-ܗ^sv%Ec[-{\UYE4L骙6u"[Gn H.\o0u4*, zqf=,D]7,JLnQdAݘ՜ޔG*zrFti |[Iz.̫[ȈS'R$I~h)ocPf,kЀ_6yz"85#4HaS"^vt.o81N==OCKj2SF!O*.œ4qQ݀>x3ÇK&RqF8i$v$QВa\Cϑ"`A qNe#w)Aǟ M=K!b* ?Wя~oIļ+"A &0)QKaEKm -oiP't\z5~u>9+ʗXLBÅDW"")f#ZJ.+R~mmH8hU³*xxTueoC2MSpd\):u,r*!|Xi0Q.}8GqJ7n;sn,f8Q@e<2g^V1bLje\?Wȭh=%OBOЁ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/PKH֡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%rob6ZPKHiͩ#<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̏&IPKH#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+4LB7PKHg-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@;>?[9dYPKH 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/PKH=#ga2keystonemiddleware-4.5.0.dist-info/DESCRIPTION.rstTK0WP  Cb^kOٓ$mwVHX7^g\;6k=a`{+''/ջXJi 59]ʳ̷N%)φl{x=qi qݞk b5{@6M#ХaL l^Įi2.)}N2^`)!# Zr} &_t];K5,#|A}vqV$&@y[=JXV,ŀ0 ! :ű'FkdVMOi3l'OQ<̹>Z< k[9:coC.*Fe[w|44Z9GįD܌vpC>J/PKHK{R3keystonemiddleware-4.5.0.dist-info/entry_points.txtM 1 }N1'BwdJhS S s{@]$)NVդЕctJ7xpȘYuL+KOL>n#=ɭckPKH[rC0keystonemiddleware-4.5.0.dist-info/metadata.jsonUmo0+Y> tQm 4D@BS:,팖;;i}K|Ͻ>w`l<~ԭ4Zՠ\4E &DX9P9yKP1V65wR+ҕ.'K렎Z*iNcfD_Hzd7ѷ s&pև!*Bq!U ԕѥuM ʖ>͵?gثτaZ2t7rp\VHhD9O] 53Ƞ%r}[-[1mJC|n+[ekђ6` ?L}_}_~fƺx^HOnښ֏:;׌+*1ox@*ZyxQBϰhq!fx!Kl;ןQ So$M)ЈB Y90(mhLva,oٓkvko\ "!_^5iZU5K^Psǧ^:}d,VdZ55:=o`v9ߜ,cCCKɔbK$d;l"@$ FJ +&ۀ ^vqV7iptPAߧ$=tPr!W wM\~^۶tiD}D3J0S ͸BN>7h$ p-:䐥Ӟ7pr \9;Cqa8?bα0Z%MƢH6ֲ.oΎ6s4R\~=;7faDP zDN ]U=I}ɚMA8Y:{^4ď Jm`<؀Wte5"̟f{69N.^ PKHZ/.+keystonemiddleware-4.5.0.dist-info/pbr.jsonVJ,/K-*SRP23O5L41SQP,/JIM,NJPKH1i0keystonemiddleware-4.5.0.dist-info/top_level.txtN,.KLII-O,JPKHۂ_n(keystonemiddleware-4.5.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q033 /, (-JLR()*M ILR(4KM̫#DPKH|8? +keystonemiddleware-4.5.0.dist-info/METADATAVr6}Wܼ9 Z4)TqhȞHiVAX~}/HqgsE ))#!#FcVXd{ p2υEqpU^xTد&~!z_DA&J\t(>56:Hkn E`ޅ폙r76a3ӑT~_}Lx20?\f9QH~[edڣ(aRJ: Ux ,1NL{ 1̕&ƺ{ƅʞ&Ea͖yR8EX"@tҪ"5 =̔.I@ '@xꉌ *EO p͈۲Ty ި$.xkQ㯡~DCDr`4*se/;0;d DV#|tBn2ocg*t3nhļ[:"5y. NfTgƒn9M0هƨxT[= 8'ܥ 32bWcqMya 먅yV80"#Lx4m{s3#cl*4nBJ;8 7ЁDMsOIЉ!qq]BK&ж/$@1аj~h]JO5g>/KoWi0bKЌ [ ʱժ#|?AG^KCi+e͸ UٺWmY.x|ir:[I1c_hνNN9˰*E-M`hbFWkoJ*m|:|OȻ2q{k:G1TQ S}MMȾ@Ah]eO}rXUTPKHMIb K)keystonemiddleware-4.5.0.dist-info/RECORDɎX-@63x & 63ϳ ~vfUe9#,s,t?2^ǩm:*Cϛ|/ Y1D @,xcqE'9-ӋMUkYSPlJ\QӝLj"Ԗq|Uų"a暽Br (7|!~  ydM]dc45vStu("9LmG$ИH_IntTh )U`mj4hzqg/A%;\ڤ2 p]/bSsD߅x5קC rܨ4HL!Z<+ TSVނ4^\ u pңj]X;E<|t1$؞Վjb2 ۵ "D>JJvk(Uj2(@ֵ5dFԵm3Sԑ͵Ӿ-u蜀R`K4>ctvalRNHejfzjCSօtq?kQXK#3FX| 5KgXww~qkm}ѵ>Nw c"*,/h'Ыj8`s3i7 fbwfϨuV:SnhxjNW` _{$GԝgD=I2M&TF%?dY{6u7?(7;X{r$dԓ^@41 T~喇cjvqsߋJf(X$%aH38d&$^q ovssxv;ۜg NǙt!Q?{h -M#F5C÷Khz{>)*. O:5J(c>ST01X39^D29/vfL_x>ZPN",F]w00PtNB6o}Z> YZ~PRu+eԒZ 1D>%5 ;4}7?l3L1J 䄺K h@0moiveطyNR7X^^o9o^Nx/ #ge3NTf=Nct#yNUT!u}g׉XQO=!q1@-=2.O #9OyM7XNq1Lxq5_u+ "%4~ȸ};Ӹ}_#Aqd0;v+Z73EK5|1OH6?\%<9wKC-ju3{yaۖϊ9{'7+P5sZ1|zf\oHW1u٧z7`OsH ۾vYH-z\:)MɈ.'YJteGxmW7{kvEL{בf_$S%+Noq+?48C± P:hb+{ty(+5BCp:xM<S>rJ}JܲΥMS`{ YX."?d8&.; Lٯ4ܜBv.Zib(`c %xi :Ƌpt~3~|^W 1w 0 <#=YX|o J]ľ_/Q>N`$8d I;Kesd2<̅V:&~hU5ulK4G U*\/ ωXePWQGa,Ay1xV58OEJP@CVCmERH-v (I]EV5͙m B-G[Zډ9zTT(44rfǼcD|)ƶnQH5YRWxO@vC;Rw~eƉDep]p Dra& {9r6;v~5jG:dnOgNƩ-ePW,~PKH\ keystonemiddleware/ec2_token.pyPKHeGf+0 keystonemiddleware/s3_token.pyPKHt{*F%keystonemiddleware/audit.pyPKHzl.keystonemiddleware/opts.pyPKHO2keystonemiddleware/__init__.pyPKH/C2keystonemiddleware/i18n.pyPKH Y5keystonemiddleware/fixture.pyPKH(:keystonemiddleware/openstack/__init__.pyPKH/^:keystonemiddleware/openstack/common/__init__.pyPKH% 2:keystonemiddleware/openstack/common/memorycache.pyPKH &?keystonemiddleware/auth_token/_auth.pyPKH9w-Jkeystonemiddleware/auth_token/_revocations.pyPKHӧ 0Pkeystonemiddleware/auth_token/_memcache_crypt.pyPKH t#*Zkeystonemiddleware/auth_token/_identity.pyPKH0g)dkeystonemiddleware/auth_token/__init__.pyPKHFN,keystonemiddleware/auth_token/_exceptions.pyPKH_&lkeystonemiddleware/auth_token/_opts.pyPKHs }I&Ikeystonemiddleware/auth_token/_base.pyPKH aJ) - keystonemiddleware/auth_token/_signing_dir.pyPKHL" H''6keystonemiddleware/auth_token/_cache.pyPKHpBQ-keystonemiddleware/auth_token/_user_plugin.pyPKH! $ )keystonemiddleware/auth_token/_request.pyPKHn ./пkeystonemiddleware/auth_token/_memcache_pool.pyPKH}Q"keystonemiddleware/echo/service.pyPKH#keystonemiddleware/echo/__init__.pyPKHj#keystonemiddleware/echo/__main__.pyPKH$keystonemiddleware/tests/__init__.pyPKHCB2keystonemiddleware/tests/unit/test_entry_points.pyPKHB%c&keystonemiddleware/tests/unit/utils.pyPKHl1;6keystonemiddleware/tests/unit/test_audit_middleware.pyPKHgǢ .Vkeystonemiddleware/tests/unit/test_fixtures.pyPKH +9<keystonemiddleware/tests/unit/test_s3_token_middleware.pyPKH)>keystonemiddleware/tests/unit/__init__.pyPKHlD:keystonemiddleware/tests/unit/test_ec2_token_middleware.pyPKH^0#keystonemiddleware/tests/unit/client_fixtures.pyPKH4n* keystonemiddleware/tests/unit/test_opts.pyPKH@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPKHͶbU6keystonemiddleware/tests/unit/auth_token/test_cache.pyPKHM]e5keystonemiddleware/tests/unit/auth_token/test_auth.pyPKHc]8&<r#keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKH3FHF(keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKH4#okeystonemiddleware/tests/unit/auth_token/__init__.pyPKHJuQ6&8wokeystonemiddleware/tests/unit/auth_token/test_request.pyPKH֡t!Awkeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPKHiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyPKH#3w?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKHg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKH 0keystonemiddleware/tests/unit/auth_token/base.pyPKH=#ga2[keystonemiddleware-4.5.0.dist-info/DESCRIPTION.rstPKHK{R3keystonemiddleware-4.5.0.dist-info/entry_points.txtPKH[rC0bkeystonemiddleware-4.5.0.dist-info/metadata.jsonPKHZ/.+"keystonemiddleware-4.5.0.dist-info/pbr.jsonPKH1i0keystonemiddleware-4.5.0.dist-info/top_level.txtPKHۂ_n(keystonemiddleware-4.5.0.dist-info/WHEELPKH|8? +keystonemiddleware-4.5.0.dist-info/METADATAPKHMIb K)pkeystonemiddleware-4.5.0.dist-info/RECORDPK88