PKqHgpq #keystonemiddleware/s3_token.pyZkoF_1pڎ[lU]6Ki6H a,)Z{J1s>}2ĩYr=9蕸XF5E6NP|ʴScNYUy6WҊ\-req+f δut&fB9SN.H{, wot.ŗޗx-ؙ^ɹt.u Xq [5]xG*2 Si_Tnx앯)Vs8QXڊNPw#pBg\,R-3nǔDœIM:XXU* a͜[,D2ɧ_iNg/1ʒ~/t#`h$f*\32NgӶf2'S$p mUAp%3^Om7xwiZA/..AwoEwc[( Ǩ;%&5}JU Lg.HOreBN2L!X|-Y-seJZx: {ZS0ȌYkIIЙ%0QLU[r:9Zc1SE>sdVIŒ̽K=qb^X@ NMZ9Jox|!~Kc~V+p.2`n,lGp"sE~>dt܉L0AuTbMNgP~&CtHm_ޗJﭾ+)Y'G' j}\^w?ja 1a(b9sgx"_]`z1SojPPtb,grqh:]c5!cI dpIS, TLXfjJ A2sS2*t"ޱ#/.qLSaT=kDd(դʇ }ll<KDoдޖ"^u8ǪE{?a/"08[O8Yl[mK[@ğg-/ mL67ΌL*zZ+ c؊%22;\-LpT!ys~T%mz TL["5)\d/jNO;8; ruN766 0rNyH<qR;V\ ߯a 7"v0\)^)pk!L 3Rrj\zHu.@:ד0#bߚ}uTzOް ի-vA<lUA x( WnGvP#E'"]=xqht;阃B ~JK*W<8'ɭ".pCZNԝ;*h[bQW_6)-z=[_w=2lr;{o_~__Ů_s6/){ܾ> ޝST-4ӻ$Y{GWD&帉P u’xCf oU3^*Me"LId?6 EeoA1Ek|%/QBU,bDƃ[40g\[!qS䲳dvBj)TUZ?+Cw2lb{qn0H2CHk'(Bo9Sk7H 7jX" ǕJ?r'!e;߾,K͠BH=R9&Uv^?F4: ܋kLӺfW٭΁@٣Z߬q;$l|³ f!+9oDg/dyE)c%h10ko97ayap! =@rUɭ HTh@@4I/sd5)h+hF/Da$6V[>sE%Pݾ[=$׷\TI|Q{81kIa0NȮ/{ɘzܷw;#$Z,>znh6־ o| H0ä=[egYCG"*G[Y"m-a<zvڼ?=/gh67^O_ULň\eV6bvV㡜L)G΀Lt Lس9)g*q"~P BXgg+KTkSwX!qͿ0I#:A :?^XӐ{A~/ UQ3myc+jS*Dh|TkCр%bpP ᪩_p&s[ACVSjyMX1?YhPL_.PjjP)S!ǡ X%zG$1 xA?Njo8H7,/cS]:h^^G!kT_g;b=HN|ac~Hg]R異d8h6ϭ3Ğf~ Nkf]CsxZm&U"E쾐 HC,rv> =NJ\i=!X9r`Pbvfq!) IR3xĕ$w9rSL vG'Ά'.5l$v4%M|jq|FJ'wosP^=5v&cZ`wI Y.,E{ܿ6y,.N5(8n5+-# M9=4Qp/7}2B U}|_v%Ju֦W;FC%F{M}K=`?Tf%\Ak if9W0WB[$ۼ<.UpEO> 05 ۤ״2_a'gR+M5^v=N^"m4Lh2ѩ9B?) :i/R3*֟b/ z{(/.)kU=d!BPOpHB`ł>"<+󶂷PKqH\ 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:TPKurNGEwhcFm6c]N(Z:\dR8^}Gꋴ&-~}< OP(L)%SKo!0 hYŽ' R!Apk!c. bHTg7Ӌ܉ )yAr2(a+23c{Mt1x_pfJH()WR{j#]0,`t1%a}Nfp1]Nޮa2Mg#@Ǽ0h"mj X ci8Ou{11UXmoBHXQ%Jjd>Uy; Zщ7SޯJ历lM|Bd҉7׋pD5:Y~^#4mMlo6r|m/&)cϊJb&kd~hcL%/u y4omW  Pd'9z)O41,F>lͲ]zHZڝUrt}Mrg*rd 9/UBRlMȹ}# +X;o#mk-:Ħ|~ (9I1m/HиPi`3+Ľpb"8;m4ԥh =mF٣R'B~uB;GƆ<*sPKqH&Mkeystonemiddleware/opts.pymAo@+CliS㨨(' ݥvW-̛7߼e'C'l,,GRet$b'UT?C8b+ ~]* YA0&8<6'PjV Pim. q$f$Yo\] <>r}$Gȸzٜ~icϳn{8)ǻO gF0vĵ`ީt7U#v)NWZxk%5&q$k%/y^/vdaj>$dqIqV<ެR 9R!!izAT -RNք"yXrmz+ѨVoRy.&31$!H:76 Q9H'VeCCrq=B*i68 W=Ѩ>KoPKqHkeystonemiddleware/__init__.pyPKqHL$& keystonemiddleware/exceptions.py}Ao0 %Rgر;y N[شC4I?I L|8פ=5tC@Ȭdx!h|M` fNfQ9 <{&9ڞ #4",()uP!Kr!ػjTMqݪ?WS*Y=ɮZW#I.<:%ièJ>8/>dKi̲ E5*%^ݏN^6+wE^azSbSJ|cQ/A╌w"@rE#@k@R-ײ:󛜖u`kzk 1J${%hH>W:7wI<Ƶ-wֵPKqH/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|QR7PKqHj#keystonemiddleware/echo/__main__.py-1@D=$4pz cX17?SLt›[u͜G.2 >Bpۺ=ǧsX7nO_l. Vc1%fA*b)*z/PKqH}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^9q90PKqH#keystonemiddleware/echo/__init__.pyPKqHӧ 0keystonemiddleware/auth_token/_memcache_crypt.pyXmo8_Kq:JA,uh{Ed Zm"8޻̐eCkp晷gBt:׳'#s&n*Z=Hciu/⣎TjT,VΕ,eJKSix"/4uV\40 "S("B"D4Rb휯BBEd+[bO>!-+ˋ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./PKqHs }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|߽_-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Ƨ_PKqH 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_PKqHsy"-keystonemiddleware/auth_token/_user_plugin.pyYmo6_qHP.8 熉 %12Nq>kcWm,Hիԯ~5ﳄk Uwr9LRnj$[%V#riLq(1/L*N@X'[ܞvw(n|s3N.o^_]L+|{bmC?#_DpˉiUXJH<K^٪`++*Cu * GJERNqVOX#0R3r Cг3l ylg=29#e,&ļ^-.3C2]hQK#H7%?ڒDqYF&+=b03c5ۏIZyOkAsABȁHƭAbH89 hM}9A-0BJ}Tr/f3 3 4O#KO=4PY9T'\I3,l )n 6̟CǨ%a_>*7@St֐p{(HϙςQ0jv9?tpURA*mh:2Nz:XC@q)Fnn&Im^C]H)k7vJx|4]'KG2!7}͹jYCɎָ߄ֹg{4H]ǬrV=]!Ӵxn)nW`d5l <G֣Q%Q7=a}@[YaNEu&009Wal# Ј%NZnaEǕE]TMDC&6U-fډs Gi{:FXoTTP2Ɋ?T`҂p6sqgsY:A[jHfu,p&2ϪBy4j٤Aosc-;J!g43`MeA`B_"|ufz駇WG,YL4f#F}'b2"%)₶}2}/d6;rq30o&tEFxO aODAI~dq@ =j9(g, ]鲠KFbd 搌519 ARèՂT$%hR#{ΕH-%`}Y𘥊gvs~DPp֑J<4di *P#.-y' P r9> Z2t L]G&a5 , y3XቁJXnwD1# =OA' ڹQF9@3,$]ju;͂:Tdږ' Q^|QΤoo/ i aAG'+ACP\0; n.Oa7m%fSGowp咥 Y >AtƶG8S "{'UZ:_W_..i9na)k i3~McN5Hn礖aǂpx1>ƿ~Ũ B}o(.f f=u`` نJ%yօӬPp"ZytC4S#%ۮW#(D-U48; `X*z'n$d_:]5!p? &)v׈fgkuuw qqy=9 4=gH٬r:KM>T7?oHuI}(P$i]O?H9rw3rڗ,3HiK#?OO@-SrO𗻛^PKqH aJ) -keystonemiddleware/auth_token/_signing_dir.pyVKs6Wlt^2N+e,nN\J)j& %ZdǷ>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,$=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~bOwPKqHUcw ")keystonemiddleware/auth_token/_request.pyZ[o~Wlt`r(!6pp֑ew1ߤgn9Ʉ&ŀWdSFsrMxFbSN׏Fcϖ My({Y#Twa=j_xBjІB^R_&=Yʔ"t] PL3;"$+`M \l'J,J\䋍Y`/ጌggp69c8'hFnfr5o&-N>U0aϹDYCK#,`), /y ze ]1[&3PLBo*N >Lj!R,XR)&9M_q_6{c t: [h*"ھbi*V]ٻ蠋.E5ƃ]Bl_kE8<·7Fi( xivŐO,3#E$~hesO jo>&!q &-` CJHe#{2ഃNS+hYK k9 .*2o-: k VUae{I) s4@G2 $6*թX,x?Xk%V!yb:k睽_a0BWNMyd%&$T,ҔP+? r\0p($_\#Gܖ7K݌t U+1ݠP^#L"ЃJa(Ab~D< TlF%M Jx GOYzS'y]RAUإ$!+ 3ªUO޴l)<8)O?c*,q\ƓOYgPv۹/We']3,ˠ@送Kӏ*VQ[x 00uRw.>gb.]#f>iF-G`q6Ʃ6V\끵 hAߙvc/,b)v_1fkU,]V@C JT>">, I]خz/>13Vxa0]? -Cuo~- @-ei*g!@nd?jCo( e}4Ң/Vb_NG(:7~'z\=:R?] wVk?]-j1#PaVR@IU"é>ΈK\c4~~sKq%Tn3)[4Ƃߜ\4HÉA.%şC`k9lN3o Hi EtKg`h/g%|aN?o6)cFٖQ?=D;?`В#"{M@GۊB 35Avڼv2*tÉj=: Cq**Ouswu?:_LK_ eMΩBUhc$3G͒$q̔ c ZC 呪'"֫o} spR]o%}Va[N}_lW]qQ&uJ)֮;FzۿV|S \뙴Pi6Ժڸ4I41 Gxw ^U{Jz8}ʶ:M>^aѱXL c=G W $h=EkC\.9189*&^9~/আ0 ds^.S3kQ濃0^%}=29Zf1&]vpHVξŌٱGҨ47U5=Y;W\qLr7޷waٖKx^jӶ֣-mZ\]6CRr[c+Nxf35UJܔ~zW=8dyu1X#8o&oj G;?.J|ey O7uMTy[PKqH%)keystonemiddleware/auth_token/__init__.py}s6+xq$iI핷\uǓ2cϳ=ݗєHQ,Od,h4x]/ϟ^FU\7cYe18Eo*jE𫪢NEtȓIjhG#l^]^Lϯ˫fzy^G~^D (èO /+#UDVAaQ2JFE>mTѲWU6Z5f feءN+ /bpS~TųY|rEN tTPoRfZgyPhP>Ç,=DRVV `}2?EF~,]6eNU y|@b1Px@s/hhf=9=! 䫁U#5DhmPC1"n QK&#C9SL9GZQ #]no L"@cWx ,[<(kvߒӛדg9q!9R@lYY,j2%0-H #NdV;ƎfSkXsn C0 [D`Bssmg@TTJ(;)`Z|mo Ҩo5OJ.-"0:I(tKW鮦U,xəh]>0}B:Ի]]e$ȷ>cpv,*he:.ߞN/`VF3Oh6uZ;_ E/58e]dsVZBT[uq1|F 3 OLy }Ë>uPxwug7!ҴE8z uJ(o@,0j#gN'8 r%~Ǟ&q#ZծvH6ڃGPAʈݩLy @y$ܻ̾0\= K^ش p%{Yy1ҳхyJ4 !/!?J<u5tqw &^ʞ:VI|suW;u[b 6z,09Tc sPG][ur-Dpq]KzbDK/qzMWP;nPs5`I܍P BH0Љ`vjx.ΌYCw)Z+U=/Bpм geL}p|π `M欻[t\0 (e!'tv^Щ 4:FGi! Hgl7"r0^'ϣ)_0)Y*Fun09GjQsd&Shj ;sNHT^B Cv?#;I ovH %w( `i6`F@[Ui ĽV%R7SUb|3aXaJGpV9_iYPXt1wڎuP~O54Ͱnmh~(#P '8%KM ͚s2p"Df8"WfkP18F`&EZ\d\5Z-1s4Id5M=-xd>i3Ŀ"G(G.&Μ1Ip]Z!? _֫2a+}B??Ԭ{ciCBokK'ǜS3>Ou/'쇣3O1tI]K6sO ]c$˫t#֮[(ys;M'#"^ QBV+IؑpL/~:}3} s,6\?32"Ί1?;޾0EQ  Duǃ_`l!p1yEn lmuĕeI[HŦcNEkc6Ʊ\qʊ|PJaK{ZB'ttKk0цJ[,SL! mCiTD4Jq(`Whe9Bn'\Vv#1s]ZD2SvaE .Ճ]*UÖM_77H{ t …7MYly#(E P_ӌ;5*M1.&LYJB)oD#^Sәۘ)2C )n آk>x]xבJPZc b%#>j3;ǖh"1ZJ$rB~3?FxL#D+mr;P%W#&wo_~% ENίN?3] v&|W9~wWU5SUYE$v/+GCv$5m.o'} XhFscGnΫ =eq=1KMgޱ81w<. QT[3fͷc柦\qp9#CilALsp]O!b*Ӏ5K}bλlyr xfqkRD [u-3J|2=&5\ .*?J ,sbі.~ehh"ŷm6[ؓ|{?hpdVr=e:8kM 6<\ gǒح.q5W-iǐH?ib&$jta~3xԝIV)YCK'9w{whgf?|]z}=8A'acPȞPf$ yERAj57`Ïi/Lc̢:tDidh95[N5t :9x'!IMy3kܕP+qԏ61\֙n'xnm jNeX$pzSAĬC͡?md3je-Fs(M[{Qq48m؀jef`` +`~dY+ <A!veBv9Uc%:;?tfdQqwp覑ۇL|,nyh(s.;R+38A .yK'rw֥hL|ӈ1dX #|$}ad|v 9 0qĘvdfnܙ7{) Mkک;.PYh阿uiC:\"Ѷ-m-vI]@&]$|=JF1Ji[󱽒JڻVjMtP/k@-UE3\IRSԌ=v}%[GYyG2۝9sM &b*lEx8 8'("@i=GPsY"}[K!*ΰ-)99{3yyS.Pv`.7kq 9p>'ړ]%W0nDg҇ci Uq&>?.f*:ibnw_-vv=So[0%`-eFڐ.B`q }t7UYIy qE#P~M׹Z(?)B q$Md8U@҆!w*|VyPߧޑmv`8tdCdEX[ -R)ڭf AQ0f9ތcc禒Mm)-Z:gS) xD[pT/d8wKW&v@z"/2C-.RGL qzCB9b35Dw !8vK.S]rlK˄|t*1e ._:)aZ`u¸2 ى}.OqF3q o)t˓M2vhXe٠0p)p92P'+pu )xXPzSԺM`-9wvJ2K?`%-ۋ*zp[j=N.F3 \Pˑ1m_7][ ہc*>nau\q|%֙|?>]ztW568Vmݷ;J `LM *~1>9;I^Oߜ%KKF^S^"cjr#WY'noCDزd*JtHSO@s;wIZIhuIŰ:ؐHx/y`lhdO̻]8u(< /+!7|;[iP +ĊETcmn}K86FayOԣ8 z׷磬\m`+U%jqӈ]zeY&+[O]F/^>^9tI]9oc_rS͛&1_n;DT@%:څ O%Ƿ U`"911IG(8vFU\Wߣ>?3gѳd ( |]'0!( 4{L;/1v* BS95AZ4li[M>=_0l,p&pX;*?(ɪi%r1=1cQ00NOu;gWcVqO@狛{>KFYz!ߔIGSXBT uBnSn1.S33&؄MX7]Ml8kڌb8unA8M hƳ Pj5,]|+7T}ڔvL9eӼˑNIzRO&ňu ϲ9kn\'rMkk؍)YNY|PlXq9Ն98̷NZ%Rx/X ѽkX^'}aX*,?ž!>^!, [ -L{$mv^KL l{p$rXmכ=QaQ[1I"&'C|c{'h.bݒ8q5dnW" ܾo}Q2 9DP=w3j8ο{g'+5W}g#/& AU7W|eqLo޼ |aR>t[w갫d-Ǭ$|v,^v@?D56B%eQ[lHO>p}me}4~ EN,_$sLT_STZK{|[U=rpNim,!yGmWMǩ28WCmB]{NC])3`4*|n*  !~W"w +i/0Mɉ^ JWO^'i]p `~919¶8hBIV8)blA P@ϪxAi89j ,?,}]}5î)v_˱Ú{aM}3SD˦ieIb>;ޛOkJĪ20$1/=tË+ػM2>͆+94zĪjfƛl\͛mTܺ՛PDfw׍JS`SsS鵶@ P퇂|q$3(sdxCg щ!]/ g1?N#'36ë N2܉$`k5K^#p~tu5HTh[_%mV=dAĶiи]'X:'`\C:KwE^t8 IntwUJW8Jik P ŴWŮ]r ňa2F%8IxoHb 1x;cReOWZ Z@ dݫe0\| {p[ xM:#)>zss|w<]7g# jHȱaxP܍TI_u1԰|W7[X0ނvmp`Tϖ*:ֳeDΞ=w"h9$fyzS$wU @'goחWo-y˿gx?4%f>9x+#0%X>RB}~)r%:=@Gdrs,q@ ? Xs49]6msI) N`XyḷTѿ[ ۶ZU\ ̣hJNEt2ģ g ڐ_t4oG Ww8YFHU2,G#ry YS|// P}+6:Z޾!dT]< h>'mnO}LҶ8_% @`LFT&^ fi$ sHr">%:|a.aD}c:lW`&NTyͩM8ŞT=p{oPF!:8ԕfrh7a=xoIp,Gŷ=6~pv&Y.4rWZ5)*=褖)"iW67YN˪JCrfQfTqY>bIk|*nK#e,\[1!/ătъE>T%&6 #48P̗=!6dĶ!gaffqaOˠVK93|JPshB|5`EsP5mcin|]D `2vߴfU m̈́wBͿ3"O4H)ۖHPаq-9-Wtk@% aONVǦXwe݄'{`4aa<}QqXR>ў>;f{Ћr/:75N~NoK/ 1֤@2:7WZ%[rfTߎW-_V 5¦3γ*~w}?`؉ǥJcP }J8 c1*oYg1'"&nJ41t {=)t_YU9!]/wDS_&I ;DY+ Ru2@\BD)\ 9C t kVn' *YJ7d&1{苟u6wiZN?~g7gwVLo?nBV`!5Q$V%xl"֥\+6[UdPGH%oZDIGAԤCS8vH*L*:)Y+O?albVz]}O^Ou'L;!J gUV=XJz=t{7!SeBLEVKH19 /*1;b"V0V$SМ\K%d^*#*xCJrA1d%x U8ya:V 2=C*~v{,%&jֳjȀyЙvS#/3bNYRmc"Z2qb+B?e+#N4)# Ul.Y8IϑJ vDdp0FY$a1mC@-AK&wq)> &pQTz0/onI nL7r ʫ?N߫7/( /C2 zY9a˜܃l©%MoQd(@Dpnn4 -|Yū?yh"ޖq ?E(3>[<[)IB"F%]oUEu+'>ZrhCD(U;VbKM8 ـRz ".*}]]d9}WQf}+MnIƇ4-\*xc/fYM)T)Ae*ld wTδkzx]h'hd;C),VL5הRIjz z j=Z%qU%%F+f+.R4A /_,i?G@ӉSuƀjcI&3E*^bbZUX sh]D)څG0ixhy''cD-\fW2m}Ź6 ]$CG>6ZFX.&j+S]QJe Jׇ"5Gve@mRLZ8*SSfu)\$-3,[+:BCѨ"-R;ʣXw~Bw@d\Ib_5/\qM-kźCgb-ZTqPpʒ7ٖ`1 Nbp4<+VM\*TD9?qsr821]HOp/v. !^ F&Ǐ%BCJv i$B[ /̈<qRPk|PO?P[cF',5M^ tSbOCghZ黬yJ+U)/t9oXgb~zA#&j0C *=z1 g<}47uy$.j0WiLoդbL-;??Ki\$Za2h](4tCXMiVY =Cm nW5ɾӔ9hdw,BLFUE\U|Ҝ4>E4Գʬ-3A].W2]w6#ҸPRE@*V<'pP՚F*VBR}?-Ihc`/{9 ߋbLV]΋׼UQ)1JsA;=F]qi&J?КaUs|tOl`GtLdȮ~FՀB'`4k1Xc'io\#|AZd*o{*~5 l\Y -~Opڝv1_nҎ 7E˜`"D-PzI;zW/HM)mrm[ȯ:-QWݷ4٭3_ ! T=?ZAuφz_}!%6_ صID0J{Xr1%ƪT#֋8[⬭o-xɧB;򵓐`tj*:ة EQ+ S-d>߻hhɆC+ 1+5j߭X1ob||Nl g Y;`@)淳*6HBa(lAGN 4w&i^|ђ ~@AjM ,XrVXu%6/KU4F<"2z|BF oNKX +m hbu ^ '("ɛx̎k^e?<(ײU5(2} cxTЋrĸR6J4Ւ羠 n:*#=bT 6rO'lFR$}%MKb:S⡳N{0_ts" R-`y#wQ@l'W=ӑzŊ#56r}N^e#f!56mhyo_N/Ëƌ4$Hu¨%(y_Q+Sȡ1`F6m߅:BE̲%z9n8tOodNH!i@~SF&etB/爹*KhUVu&ctN] ;hpvH/k ^mO?l|GT MHM':)@i̀V_sA:ճqШÉR9mL%';B-XX S|Uc247vwGp!&O0+cqFwYs}?|vߪ(Bqʪ5^ L{@U١͒HvQm8G"k,A^\nNx= lL/=&C(S /25tk3E~MQщST{>ȍ C톉9t${tIi _kD7EX5Fty!M*%&Soe.}C,UeE#,7M)h`03LT9[oX~>:}PKqHn2ľ],keystonemiddleware/auth_token/_exceptions.pyn0 ~ "@ ;vK=hۢGEIrܼ}))R"?#9IrXA*IY#ZGZ;\$ͮQЉc4=ق"DHݙf2dz)vo8/@h770 icme{tuJ"c̓j9'˳ IcV -"k^',"T伥]?lC_&𾄂YR@VWRdddM2K la2$,[ u TTӋ#:‡> GQmu/xt^+쨪Z  c}hZ@gd+xLDKU_P]]OwNM~6aŃ#OU7PKqH9w-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$(~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")τ 0COROOja\Q+{4BŲh LM|:ߦ?.gÜ=~`og曆 ޳ݘq,_'Ƒ s4U;R!X%Ul\KsOӀ{+N; 6D,e:TsnhՎ)S4Wr%OWb?x&[~2VIEQrkmB\/4 hL(=.<(9&=v@,S\3Eȵ`MI)VbD2+VZ,dQxoD8ɽ1^!/'[`[ )kQd͋Lhc لh@2TnR\&>@ΐO!3 ^r)Ρh 'V5TPT. PޜoWLS ; ΄$oI*MZHVq/`i<(bP;I@"`zl11w`_Ff8boC@!a|u@"fb@0HB )lƆ1s ħTyOhJWx|A#GGg~+zwÏ7up1C|ڸQr dzd8u,NEBP @xqC hRe`sP#)p'k˅ÓKȹJ yQP0\ZwBɡl J<3o](a$cD!~{TMq3\`"PXHxArRen U,@"v<Z %ZǍ7Ou heUJ0 J@rA 2%j:.˵@j-H4KP.8K@O@z]F^?VpȁYu.z ~z')[*m3 _>+ MZ#,t*^ﶚ̫J4_!)|]п7_ԢMtf\m:is,dR`NN$j.N[(l1tetY!RfWp`_'j(b筠! k'L#]sOd"p&l Hpz-^7%r=53,!%uT>.w_IᮟoؒTY#)]/N}j6mj Wμ8Me@kX_#@!ZM41 :!im8{vڽhUފt}rHe]>2^s D7엮:nx'0vr&NdD̰ F.źqhIj$|}eVIyխJl;0:?znyDHδM &zxZ]1Sd)G Ml1xcn6{Wڸu /T#AⵅeRJSR k(D`ѿPKqH$keystonemiddleware/tests/__init__.pyPKqHgǢ .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~eTPKqH0z'_da0keystonemiddleware/tests/unit/client_fixtures.py\sHb9 zD\uƉ6g7JFV ' ;TI'H@L%kfZg]3g| GFMJp:m=K4OZ lY 2bfc X7>lT~[I:&0kwAx#ݾkb0 ČƙG` :9Ï \*gs{| GŴeV, :I:O:9Eur~SoF7S?Su0A1 /թ:¯+~Do"+|]xT~Ҧz$&&j-,7_öl.-AZonԚ>g= > ŝ@ ׏-:l_%vbyݓ'?p$i Qs*> YD3Wg'?&N {NBoG|w0`2Tp8<'7}4jG zsFN3?C k$``,4eqoxwڬsv.³p@$CL-p"_~[/Oh(iJ0 GiӂD%@/8kfcXR{ ݇ X" ȘaA4fU%4"A /+f 4s y"X(I]}<W rSF]!Ձ)|r.Y0<[B[#09F3NGBׅ"Ns>Fg 4V$l}@GNaZC'82B!k" <>hb~p]}88Q8*lI}AdAz$,6nM ʲn%*vMNwhEKou^Iq~CGsǃo t5XӽE$ ~oOl"VgAjC#dʆ{6 Iꧠm ~3nMU{8y+k3Xm[5QI.&])ȰZstE@Jr r$xb'q+0uZ;kJdіÅ" tXbJ93#`S5uĈ[X^a~E;Qq9\SkeM d^)".Y=d8bCG!AB҉ԓxYX$^D]o (Ku[( K DdY%ZFGjK 6=E:i+= &9GEX%@$K)rtElIJC.jYۆNABw [ E#w;.J] z$ʺE%XFMQRD&$`n d),]_MlD1ƒ$,QF{FXт-Y$t$F%CRd] L̞zW0LIQںb*FWV&OlZaP?ni%=ANE /HEΔƊ ""I[+fd+c`ȃ`̊ŲAA>Im"VzD`1(*ِhxJEK#5[Vu[HcyJjHaG-+p.#]j|$ֈɧo ~mpq }[~Vl٫y]jZBWt} Gik03Z;3°w*ltJ|.=]Sac*Awqu2nmUZIm+d d.<^9>z*vaC쓞W=6pnF??-3JqC;PVa a\`nP`].ewvT%W߮-T0*mR(4cE0Y]po1Nߩjv{g]2p{ `ϖڳe{ g { gI{ \gϖ2p-2p=ۡbK]/f򹖝;c=1s\ .=tZh8L Dӱoٻw@m&.A-%#O4;rIosl;i ƈH2(sg'd G\O$} -< 12zɲIJe2B&f+.EH1CJ1Cb3 >Rx̓Q|X.5||ϤMv𔽊40O]45ѝx/;b/Jn$j43є~1?\L4D0O > Sڔ喝V/5~ߴ~ 6F w T:v*$ WDԱJȨ}*}J?oUDg*W&0}胐sIA`Ͱfj%w3ld盌YEr̆9w9ꭴ^8l,4ڢD- #%pm'h.6γU!W 9g_+voTg,.m6 $nXrehUØ)y}""E}>Y'ɧxSCtC&x7A{trhCXG:wCjE£~Za&;.a2§@j_&j/3,?csL9&kb]m]Sq6~8D5l} s`ί' kc* {;[vEe6{B3۹źq{ M4ߍZ!HQ&8}JA?|`FԼ?=YjWé仍7&; G/8tܢ ~{=㣛<>]EwPKqHlD: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+PKqHB%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_PKqH)keystonemiddleware/tests/unit/__init__.pyPKqH4n*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<ʋ ajhPKqHF#9keystonemiddleware/tests/unit/test_s3_token_middleware.pyYmo8_A(($&]"97qFv7vW (YTI*R%n^=?z<3ΌwȑȖ.4}GFKǚDiD5ikC^񐥊E2I#S?T@N]!Sr?ɜ.AR*4\'eb%!# /2"jA+B>JG6 υAX,|juKG46I[-XPHM"lR̉P&4*'dB2wC"V%o̯u.yPܕr"Ÿ1deiI`S1mYKTZlΣ(aGZ\tQK?O^-cj^Fi<'K<jx?d? nEq5Ki"CqP L( d,O8wd,,afbN2)4G\_XHt2" iXC0W4:2V,|{]{.!`QX8;5ަEVv'o+}'_(c5jx&gXŴ oP#륻?;}OT GWK&Ckgay[C޷0qbqr!: U]MCXmThzv:Dm"(U\0 CUZ<՞2gw-l`xr !ЗסjWR*,ܼMSeꭽ zwF!w3`>B2BӦ{8-yʮ5N?Kx Oc( HSɧ8H[9o bŦq% ޥvݭLBBf2sx]򠵡:vXb\uMN c & >ahHY;<4@Ne1V8RO)OM$1̘!73EӁUa0TZI PM-uTxX>4AJ")ˋX`ӲX15!aܙ,_kcyR1kw:zo 7h4!`R(VVݯkCn\~nV*[@' i c(C熓QxmW)sI\8w_dk%l:mO蕉܅Y@o)X*KA},K>\P  h"9LyTBojZmys`tb7媳me 6ߪ]T^㦂@R5tq 3VsyPڴ@ysI/1]Df*3٦x8ڝE8|oUHb5HƯ_8o&xv}kT%'(8Lg殇9|fP -Dp/FȽoR;.RݻPsAS' [p9VaI2(*SרK*HIy_o,a nU]{,WVc<V52Sͨ_mT^s_PKqHCB2keystonemiddleware/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ŸnDPKqH 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/PKqHiͩ#<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̏&IPKqHc]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@_PKqH@#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`'PKqHJuQ6&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/PKqHa͞DYFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}s6+&ӡSk̹y$;ma) YKJRvNgw~Hsvbs-n`z:;[;񂅃]:e8 <{yXI/GMy;;- ns-(u ALs؇[N:h~8bu^0Hpa0+LJ {s&L?ixy}}i(nxdM{4>Spƒĉ oC̿v1'|iNNMk?fe$i -9=XX 9Y-K(d1~ 0_a4艎y0. 1% Zv&7J{RhWw@&(x 昳yߌPvE,'e+̘x֓'_uNj͉=zw Ξ듓w/^ Wopr:p_:ANxn[kz==QBVGoJП3-Dmlpo486c4 ÷#]? l}/e}z6!؞σ{r@M-wMFpt Nԏݥ/@8;> kTsĠ^xu좃s3 5p9`P7!0<:+Z>|~|C.ebEpvpdb]]%B"4+B?gbh|߉m6~! ;:? lrʸ.R5u*$9<-[Ȉ&nY/'J@ڍDoWZ_k!*1[?qXxlW:C[ɧ,a2/n *fW_R ǑeOQًkXM ꧆!~ǂGu 7>|ʅm8O^v8mjlbk ܯMU@u*QSZ* YwY0E Mm ^>rvJ6Nw0gZ3Ul'W\&jŒK[QŗتFE}Q^4 >i6# K^uWR;4vfkڟ͈tt(T/Cc~eI8 KlĂ+l [."2wPx6`ˢK+-& `#u& vHxfm$ƩBe)F%G} iq`6(?~y ДxM-'S(1Cm@#mW KCo1ݵL,~( ja7 qjizh+]Х.b mK=R}SModˁm. L&o X@>ˮ s'q 7(ɦ,2eS) ?m-̜I3l !o:P™evEINq]nHapRB+J'+cG}A7kU;A萑P㫈.Έ)Y4 5!0mlEAwљ;Vgn;g3s F!ViE ʹ{-#ȣsl =\LQ0,")q"$<LnP`9PuπrAM8I"<l0zҟ4S='˘b6 B&'4YGEkƍgh:9"\,0evCc<'8. gf 3̺gXfo$}K ~XNZ׸,Eũ'>,Y%c_`nJRLW1QG6rhx@dM`\$p\Pt8>t73}gNh9A֨ŚPGGjIGg`K<\c!3¹LJ ~'YF׍:26_>Us*(l<8gg0m,n:3 A(̏_#??ahr>7\-73Dpm~!Źp +nM ~E:+֐=޶Ϝ-&iZDŵTCM8~Rq' ~w seW8W"|^wA N܏fsg}T "5SN#AK TeOAXP/9}^)P)=\ CRT nTT;tuq(jN9X_V89Bj)/xoI)"U"PYb% 5q|Oפ)ŸkD&5cƍl 9UsrcxoGe*Fa?X`3s!.HVcM,+0t`yj5Als*cvn}Δmu۫#hFDI? *9z]$eXP#O&Z0z9Bw^ΣLww`eMZ h,RO2`OW}OOAg檯% D|GaٲZ]+.3 m.GSh6B7` 5I\H{FVUo6F=y(17Aa+'Ne%& m1\sF{=IQ앴ldcC/9)klDa^\#3N8rR\$}t4tjBIx<]>,(l3aZT˥\ӎtno&92IQC:dz>E+^W;iD*`B(q/"_[Yv(I9?0,qgjKD׶C p£4 UP8'`QV풇F;C 8ѥORʻ$ƀ+KXeww6l>X5BsPѫ+VQ$͓읩ĠstiSWX_kx '-w1JVɫ+q̔DϜvUn*x?W΂wrNL"m5Ƹ>" N#|dLp$6JE)__0zNpKeN(lnEbwek[NFm1t<1Q8{D/7,n>17 DJq]vfr(>d_Ub%&?JFтՓc#]8()%NI0*i1!`Qr|&*`MW.]F`^xEɖŗЪWPv.a|O+Ҹ,?F1Hy•5_P|f=WPTu⻤&|$28l )ޚBV(.u8:xFfaa1-Qg5.`b®x،_L dlaoWTU){s'So`=yoQi< 颀i,Ꙝ8 ʴ>')y Oc.șWxJNuNޤRSUidf?j_>`(kcfX/JT\LtCUg"H &S~S^B0R݈=R9s^V"X^s1z?u. ͋TeOHbBWw(ӦQe1mw b[Ĝuo$ZpR( 1 glίvw*Zp:+d+UϻkeCf KC90@:DM0KEW۔oİM߭@ |I.'zjv`\2  `Fƛa|KaJ( {E .Rs%@MV}-&6w=||?_ű)(ßNvYa/e]~6tl)¹Ss|C6T|Jw鑢Kx<\d&^f2UJĤ?{%q8_jq]眙3=LWLV |FmvrŬ a =ny$-b3 FA%qXJ9/}EzS;2ZR ;dFrs^~ym gϗ/mbtEP{{3B,nnGyzkZTd}_Ncټ6p0$[mhmKi*XH4e8 A/LjuF?pG2(F,`힞<6 VaAa-0Ps`9(܍N?Ղ umk^l(V>_Vf6y\ӟ$Na{ R==9sgZLńlŇ*&K{ #^bHzvoF _ ˽M>HC̩Jxd!Uk"﹯nd hÙ^NreI<Ӱ%^s3@<,tY-yqβZ,~PeJX.$c4VD)6ã aFԫZ4>'qko< q1bf;: pܯ3_F 'YQ5nMݻ)x0*:nM8JY x xAҘ=P`1` 3!q6 0}eȌOV@h.&TPr﯏OtIq }kOgfA,j~c'Y}$4*c^a4E6+Zjz\&# xKɦX,䲌bU* H-7rGRPт@ je+ oH12tUu*VUKɋpoh-(Kq)Wx= -F&Χb]sus7HhzsprV@0LzŗVu_YK x`7[$fW1$:wu94[knΈU>~YGV3F{ > Jޠӗ7\[J9.vFK2+1p~EogZҳ\3TʶUc܏.@;n[^vfjҼ9/Y;x` h9JkA{N~}偒Gl '9G5q)*4ɣjtʥG1ѻ$h9i S˦f!Wܢ=,Yg I(!GQ,[N3}C)$Kqdde$Lc) =W>]DGS ] pE1Ƹ?dw*$Fxpžg=8<>s8mFb<[x$Ipj!OjuibԄ $E/vv /s4q+xQi#L\ro " ohRT\"(}DOqHC9(?W܏T1Jp^m_#o]h)=]!h4~vF_^^ ?nFfQAL}1g8㑜!9-hz4s}Lݏԗ+EW~bW|jc: X#a[ GSQ(RP +_%Y,t̓Mx\h' T' FhFHuQQVK`A9u`!2gۂ`x-V0%z"Њ*#?~(^pԖZH~ؔurX5rbIKZ٢*f 2ּ |ݹikyo4A%1$7쫖~}z=Ӡ;7բAta=fHY1MjQG5ywk Vu*kUP,@zf^c[e,/ LI0q'5e8+@ CkUM)DsRqڻKb|(Us`VS!ݼH3G0Jlˤ, 1<~S:&Ws$ #Topp{hKZ{?x](]RKZ(H[> ]_ 0]R/Y'+dil(ٸ:I~ q[)iX9NjhU[fb[ =%zG?z[5[*s"p:1ˤ&cHV?GmIH b%peTiߘR1IgO$~5<&™* O t(r[5L^R 6RAafE-ο&:)@i;<BZ~3⧛#R8ۢwC6|'*W.r`~,YѼjfñ"6, h]iLZ5Tw\C U1q`,/9-j3f;vhv\m;潿ǿ~ OY EQUy[njWܝT8v7=t=Gj*Q rOI"YU_!آ!ZvX4Frճk ` K^Y2rj 0 *Bʠj~KDYzZw=<`,l՜ UV :%t{GY`j@O_Lr! VlD чzb`I 3|^Uk>x,s nô4]DzC5z1YqSIWhI w*:(*tL7n<)̉kLPf|{@AK;"1; 1oho.ZBՌi]^YCTEZ3 w8/ܩ%iW,^lm7sC=X'w-׹#ҺG'S HX5]y ߇ƸeӒ$ #լG2d ??swXQ`D<Q&–¡ (m ݝ`BE2ϞlLn#'?}<)֨Re pFiA7 79o7PyTO*p퀥Fh.|V/ fxd,Rbnz&>$7#ͮs9y1ABxWl /6^\D9lʸo v8#ß:fެލ$fi !33Q I;;dͱ(k|+2W"hR1RSZ"Ui5-b-p9"D݉_˧54/0dmIi @CYA)"ik8&c`zA 9:Cs{w 4쬽KUb_`Ү)KaQ hd6,)Ӌahm`L[.l}7{ sphU&K-\:7-aLª0"neW=#~s+X0K0՚K;;[KŨmt8S;Tx|BeMGkϼʋQs)t,H[0*8qrjrZ#c]1sMPA„K ]Lo"%MtHd jS4kṲ<@Ԇ.T3FդxʌPE95etfꭶB|.2@=CބaKԁ'pƴ]!×AW;R8w =NF{JbXzꖁ&$?i7*qg[WQij)Dž݇mf{ٱo*PA~P|tbet7J@h;fg/%tqE"C?G#JunEILntޯRHr?,]҄IBi*4eQgCI+inUQث'zp@N~'' )_>U)ȦvC/8tGFj%;D%,Q0yx"sI[ym+0f 54$Y6p1Y\)uho"\-Uфshh2 !sf+~hKfW^V`6ۛIj7_KOUgx=uwYVَ{+fژhf- ekym ɬIl)IJ_ڶHԶ9.Jj*9hoU?PnSͮ'xP9v4l58/*OC"]2ʮuݲfOѼy*Ό:dF'MIzjORiF1?X)3Avu*A_Y+er{A3$?ϟuda.7CW;<%fU w/@Ѽˬ&2S:W-o^}Whe PmSsҰr{U?r M//F1(ƠcME˼R!+)xYl4Vh%@C3{HÛ++L&i;[fGY{4eV걋wWhGX=vV=֙n;NdY{G\MObcj=R ( SX}5kb^N~6߱Qj4KyRF7ČʹP]  =FܴNVFIijtpupr|95zh˱ 'Iװ{E]8LOZΐ|-/u Ƭ8sU8,ڈ"*hL7#V[JsS%LC*$,l|%ELq7yE&WUMK啴%Փ S&[P t?@LKjvdHo#h U*Fe%8=^[B`/lqBB^Epr_tMe.DSVThX*wߺXE>F/+2.41ʳ .A.&$D1Bb&MR [Z*]|{GOǙׯJd2yuTwIA1:DAɋTD*FG[I'GmAb0d=e c#-{PZH K32?$)J`K(ŝήug`6Z$7VgL(ђ,dv9vdZ)b(~3~zX:-ɓhY2^0G6r"5 t#_9K3Gv0KdS!w_9uN"Vi&eo0 O&Q_r6+"r3e|`c.J IM ?-~zLb^J(3|ߒP* LD$ʗmm.ߓ4톡|KTrj]op~|{ ^ehҒ aߦAvU8+@R4[CKf0VZBي|_[7^V^)6mF4^aC'YRLDTDT'\Cø#fy 'Q! +&eNRbo:vf C+\Ul(Eί =XwZ$:qS뽌8!8(/D:$ ԭw~zz="[GQ IY Kblk[ӜT 3}_2f-_1apf 2)LS Zal;HTP  f{7KV1+j+Xp#n6uedH%EN(ڧj\/jg wtiAdzt2GyNӇ`<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|[SPKqHg-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@;>?[9dYPKqH4keystonemiddleware/tests/unit/auth_token/__init__.pyPKqH;?l7keystonemiddleware/tests/unit/auth_token/test_config.pyWnF}W d.>Ѓ8T "FĊR[S\f,,Eٲ-(;g.;:$$@ f0IO?:*a~? v* Q Ʉ 1 jR$>Vu72!KSzr L6&8?nh]N/fĘes.5u _f,4H#ŀZD#ThB#Y df\V 6] D>,\O?,l9Z=\g|Foo`2NgGT3~)G \X 3ͰJ*e)2>+r!DuBہFf͌ˍ4;Ylȡ\FP ,VPF_f03ՂFaW.3* dWfuIȫd3iDFz["4^ evOËFɵ,%{~,(vKH;n-K6dӿR鏤~{©٣ⴁRO O.7L]ۑ'=`H4jro/P}|C4\4:<=-0IiPX%wW̗V 2%,⣇X(nKo#f)k93yq[QvhǕ v vRa382Pm6*qmkp'wj5g|yQVT쀇T)MG w{3ׂ8PP%ˬdPN3w`k64SEvd<ڢwغV$fͳ]{α +C(rme6v5ĵUjtʓSc2@5TlXmxΝzK8rPAm>"v:77gBgX= g\u"tՏULUkAEG27p$g]Dz  wMo57PKqH֡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%rob6ZPKqHͶ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.wBePKqH#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+4LB7PKqH} +keystonemiddleware/tests/unit/audit/base.pyV[o6~ׯ8S$\:d0qVrZ:HFRq}Nb'KИB)RT`ai$}Js)U|6"+e 9;/@HFr5y DEƙHvl0>.@ <1/>f$֘t0vRmYh2f!2SrE QH2#-↋M\SH^RUGI*P7x›p>8z;]DS8h Պm,~m1 `V `-k@yByM6yJP:Pʹ/0cAR8k%s:q"Śo, u֔ڢ!YoznPV7Q ڙh]^)0ioʔǔTL.Yaau]g$YRey(\Ii0eՑ$UbA@SYlc²*%'m%a=*u!FEBx"-$؍AjH8hqlVd&]cX\:v9R\C',טiMN8I*6d@\vKTa]h_ =fPd^%zuB?CѯPtWw i,Q5.hQT¨76%֠u10ݔF4~5u?̦Q< ߏlNt5EQ=@KZcj˞sgEw[b]jHJ}Qun}axA&^嗚` {W|#ÊfƷe yՇBI۳JrXF+qBsx,3',]{ +컦vN7':X2jjKIf+71 WR[/zņ6 i4RKC_Q!+f(%yp<[~q;i㮵{ ԚLsgb,͹X.G#}KcK~tNnh ;\'ijOU:˞u|Q, ?]>׎i^eOs6Ym!oESA; x|GXlۅmMߍ&k7jɪHɄ!}/FyFRz_Ko6s1G}w{WGMIPKqHji 4><keystonemiddleware/tests/unit/audit/test_audit_middleware.py[mo8_A4$\1{9XonsqohԒT`dKdqY3Ùy!s9B4 L,$A'C"BR{\UU葧h *є/I |U3&#_- ' S0OyZlǙRIX,}]n'tz}||~}OWw=D@M|IZ$ J&+)ɄtJR" %D̩Ԇ ^b: + u: iJÜsTXV` ! 2ᓎm|OiD+5ӐFf"Q噆y u?eEDJ`&ug$.[p wn b iKcjOcApdjtڽtGI)4@*dxͽ'X8e拰*8jf` F0u~>;0\qnBGٔ;]F/>1Vpa8R#t:#=]HeIOY8))u pXDdy{W~ h}s?͈Pg8v ^Υ"}{|B`eBm.GfV* a!uOD>X✹ K*wҮMD0ַPnl/pwKAXxvUKCEi*QK0Ul%X%LH{{ :J[=?ljgolz'|d$N%)QyQ`l:#eDH,K4!^ L!rʔ,.Lu_'4{UCd"ߥ0R2/7(ExbhjMҐd:%.!AZr^U`H[P6z&jQ),>vDڲm)j6 G0(=F}wT _݀M;)|4ZY2Ѵ2oo{yEX4t}Cz$`-?xc-9Kc6wQS5oH!ٝGVij4h 5kKg^|tӱ5< ZiQ2Ŋ9Abk-}:ӿsތ|ٹ)zâf%vS#+TtdGp8].o~XH%ܢ6a!<_nCI9Wa(?xocEmC"1:nF-Nqn;TY «IN,a{?#Yil;(rgcJNb~:n:V94T/s+R;g{:z hs\E#wmy Hm 4'[wzEx쌹\uIAecx;=bC-O A.0|SZ 7oZ'K/vG;_: f٘¼+:d5,bA3ډJ1_l)HzQ6DHxGX:'&mH">4i|ržT5 %V`d` i2tfŤX-:a],,jmPGaO5XkYm`As)2"5*WG={VҺY73$ԕwgG/ƺfWYXYF  b/b>RqxjZۢu??W@=u;TzqY6xd^U`2'J߀%NvI _b8R# ϱ  кy].n}iZmªwU-dBI?''HᏦJF*ű[9J%vY:*7nA9#G;ޒz/@\jmT#dyOKfu;PKqH/keystonemiddleware/tests/unit/audit/__init__.pyPKqH f 5@5keystonemiddleware/tests/unit/audit/test_audit_api.py[s:_qaN?pڲM!v;i#l%_Ka2H~`<ڦ>H^s&"1A;R!C:䜷R|fhtQkV>z;Ըl{fu.i}:m5ڟчV Đ TTiV 8tH"<"hoIЧBESz.O%?pZ0*@ !uKa}LQ@]K|) !S!9#>u](\pR%ŠnR R084zGEY=~/cO=J*\2D#"O=ݲ ް|"ܭ(%հ}iU44$얆 e]CȔD+O@*mMc!dXJ)LJ{,7&AHIH|.]7|cn7:6sF$ Jܤ.g䌗Qr8rK,s*KY@A?֙_ v[ozzYu K}ZTY$&̌ ܭ®O!h\ȓ^UQ|sBtE41w͞328wHͿ"앓W&vT6ݚ2ɬ Ӏ/[@:9r}9xՀx\;1\47ZcrWXylf`z[(G{Q p &pnQ"=gcI 8b*b7Y9l OqI[Y:_'UdL Or{h)3)Wgͷy 3*˛ĪP@J!  ]F@c:i3u1NTLzK}n=(o?m;E s샍A.ty|>t0wٓAhǽ(/:^>0ZXƫm>](Qةp70؆G@'P%2~Đb8A&س.{.P{Ɇ]m3:[vSƝzb-æ9+M<>c\UHH.^[jdޜ?a'3L}m,:lEulOv OGaѼsAɩ_XQ' LFl/F_{[;ݩ^svN[L; Z?̻;=!BҺޡ^=a^7nvqj^eAl}7TbN6_,Gb2>s"r }*ݐN=n,Nܹ\=j9:r/*BU{2ʶCFUG`ٗtQ{`6/h6FqygR4ͫ{#[=nW g$ynr3!%K}adKA4𨳳1IȰAN3d2JW׷85x^C֬$HS9h̓ hڍ͌J/ok{^CD7O{ 6Κ^~WQWS_6ov{f}GTcê푯 j)laX[)ey l 0%<<-lz8} :#'66Kಔgy0&6 + aPo0G"ø#9u d!C4E %k:HbG!)r&c ]ԉ̟:T@Z :&H,Ngo^̱cy.[}%K TNYvS(.*,1X&H]o-v1fgղWVﯬu~zSK+n}SL^\V:{!\ Vr R;Ő}fTr,~YmO?牟PKqHqT . keystonemiddleware/audit/_api.pyo6wU8d0p^S; dvȒJQq}{>(ɉnH"ߧ޷\&9HDqG$ BWF9KqÙ^:BiAva$ ENɆŔ/!a ] )3q'h$Pt-gpi#D, ahdnn} 9,lyF~,g8.V8̽$k2]/fl1d2D#BAW@~8L2#idd`*lB+m@y␌m^Dbc"x:B9L A.0c*(N[@_ނHvhCJ@4IwG2ڻ&q*M,e]{MKeֻ4E$ o^SZmT .-M6l882 XBOĵ%vT rg o4ތHϢb=mpp5p9: _c|D #q܀|cԴvԝqAU?UOI%x-2O=nW Xd4Y /Nר$`f+Xg\ .ADGoaCx0ieu``u6a2tJ:l. . bgTsrDc;QKIM ~87_3+ nuD`p8JNVx" 3t42Y;xOvf=G3r* ſnJ9R rlbʑy&9lrɖA }b{X53մTOE TQtoԬ̶E[p2VԵEznLn!"IF԰ ]mjqEW ɉ 6qDB/QWSalif n)ODW&3va16L~]8zVmQ DiTatf +W9R=e_O0X4U׈/8 L|X1Îɳ FU74B)ChO:l7'V2|+M6ơfc+2]cVzDn1-KK;T69n"G7 :fvL:_/lo7~Kr,)/1/ۚ(+_ ȇ_nwAz16c8@Xhw:f6BfN!˗rlqMgժ׈V8Oy F%Ԟ1 ;(2cra 8:HjۑA455Ki\?6F!KkK<~d\Uj#A\ͼOIki]A.P?q7birc+ҽ0tM.oFwr_~44҆z ^q:%e1hK3vty(rFT} Hx'( M 'xwҵ׀8;<uCpzQ35."Zߚ~(29G|%D}՚Sg/YT5dv`74M7䖅W_kb4j E~4zjl @Ny8TD:i4+0Kڋ=)N5P!NBQxK^2VUЪ9YCz߭.{;$NQӐHcxH Uam93cz;ڞn2v!lZt خ:.޿V7"^{dy|q?OW/SƴP4Jʛ.޻;ߴHғsi?+sX7]-&!(w{5н>LLRPGWLW!sڇ}6QCVIeovv£fPKqHq %keystonemiddleware/audit/_notifier.pyUo6 ~_A(zӐ!YÂC^q8 lӮJrS}I⮘lI$?~$E.D`LPEX hAQxa\V"6,4tD^|i Uޯro6 PKqH|X6 $keystonemiddleware/audit/__init__.pyYms۸_#*i:nթNV4-Wdd\(G,R^Ibw}v .٭LDEʪ<%3O _RKw[_m+$ʰJ e&xIDaYE&ynDW'2$6&"~OWW.VHxrZ<ZR^^/NWP2;J7QFjmvJmJLWr0Mo]l`?ŀ}.=.!h>/xv3]Ngx{F/EICII^i,) ȵL`WFzesX!ʭt,[iwH:2* Jf9lLRI]V[q9v# m4ČNi&ț{'UAJ" >ڨ\lW)6XBd2 畑Q(:4iQ'AQg hHv*y]Q*Lm60.֥23'*_ כ/Y\wCtݐ+gi_ qj\ AnQ^ת*Rh+RxϜ8CXR4Rs1/R8sOito'Aķِ݃.="Y:ڳ{A~Oba -L9+LKK B$b[">o,a ؤER*u؃Bve_gV;YuYDҌU> mj\ij 1vׂY*Գ{z}jQZxt]8YY{dn{(ڇE~Fyj1EY^E\ǩLL:ZK~UIn|#evv" r'g{}Dԧ-߰(.u$hQݫ~>d޾s忱?}{}t 2Ҫr<ċxXt8Dv̷eMo瓮 24rc=Ds'vLR]nWLUdOHPJ;i1E;.+͎igӜ0$md$?wVDl֛QtǒvN;:`퍾v׭ -mYwfHkEħpd/kDwybTa7od*o'i}Q,#I1]d5S`kjoV1ǤxNMn;ػ*=]֖G78 ; 4)ۚWT+P&(X/{`o1 Hzʳѐuv ƙD0u~ >[1n0zPK҈H=#ga2keystonemiddleware-4.6.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/PK҈HK{R3keystonemiddleware-4.6.0.dist-info/entry_points.txtM 1 }N1'BwdJhS S s{@]$)NVդЕctJ7xpȘYuL+KOL>n#=ɭckPK҈HLR#{0keystonemiddleware-4.6.0.dist-info/metadata.jsonUmo0+i>uu Cj4nE&M2%xMvZXߝP/'½=ϝcQpke&x?[i*Ah8.+PM܉rRH:HeڔI+s /5,2:OKu;B P\NFyU}bDgS0Ty>.d56:7,O4^V+_iƎk ,eDB+yc(QF-!xgnZƴɩK -.ט+*#բ&nL#M #+"Y<}4]~cƺx^onZ/:;W  ^+1x@(RixQBϰq!fx&sl>g%hhH_b,iSfsq{6&;N0W7ދkk\# Gw6U~'i FSYJ#~ޱ*DΦ-ޜ4=ݤ >jjO- 4$,TmhB*Φ 搢ϒahS# dSlH^ȿ*#If&JrEvYKӬ ʺ=LKqv* I{M)k:M 4]\k>`ncěPk|x,acD"rغ,_G&Xtk| WX>nsj&F k ~ga>;Cͱ&)&Hp݇q|VsAz" ,+&%44)<ڒZbs??Ou*<9N.SZ*$CZY3r}%JR1@G:hr3Wڤ&|[nJAcC)M[uJ#5kB\+Y258@JNS$wM Jw$VdY TRdCOO(qTjG/?RFN̸Jx+]珡 ZqW]k3/l'T0! C&rY;gx/yYn8U׎ثZ,5miuf,8uWcHX+IQsE mRhr[W nߡz,^YnOqth`e)zE0[{fJβ»}/Esɟ5$-K39腠!$=oϯm#Zʥ·toRg 2,W߿N^$dSȘlYoRB>$ܯ)WB*/?H_'$DTǜǙ裪rir-/0FppK͕X:7P|ٹ]Z./-P|B#u0lX^t!+DjiM+5'dsΘ"ni&n h{y< JSɢ :шze@*djx!S]~ N|}gc2os ƒ%Rݪ (M&!QtP==_wocԿ&OS?Ф2j+e2pP$+:7S zIDW_/cQ>.N66mr^i,*ue xTXugewC)q |k .YPh>꼦eR/s{TS=\ґKj@v/GAZ[r;rgOai|0y@f%{R+uMN-rG^,ƶIQk_j$%M0$[)F I3U?M=ny3Ad&Q3\*.VqrkxrXm?(~ԯ[{YF> 2>R2m Yco Ez{~ ? zIl[d$<6!; |Q VY YӆN#J V_u!:b)1R\v,\AsŃ׵1|8C1,6ķO{wX䮆^thC@ٴCb%I˝?#]*FչF83IexF;vft$77ӱ}_(!+^Czﳞ3D˲9{M GN8Wqh3 `4e>5 1TONƴ+y.]_)_Lo$k7Qz\8f^y3w*h|I`_m͆HkR}cxӬ ҆*cfD_?\Tj'G=IM, 3 f#w?L''ϔi/%?>6So]*lٍ\6ƶt5\$߱Y1ehLQL<כEm[omnmxEJ(o6ˤf @bؗ={`"5_B35AC.i5gqN:2#?;;ӕZ1Y 4+:iwX |jM$~uUE%{l}#o=aHj+QK.>FS?xݯ{q'o?t6wrA_0ڞPm&ѐe;MŮ fJPmV nU.f%O@i&@ȗ#Jiu-2LE?xdϝ(y822{n-sdXwX뭻4ڪ p6q;dN8){1Ga,{('__@ ffU\o;M:|p}t^$n {@^ lG u?7@g [ZWvuxQ6lCxE׬h/[%'V}|ƘzGeP~X7y;OPKqHgpq #keystonemiddleware/s3_token.pyPKqH\  keystonemiddleware/ec2_token.pyPKqHMQGkeystonemiddleware/fixture.pyPKqH&Mkeystonemiddleware/opts.pyPKqHkeystonemiddleware/__init__.pyPKqHL$& Ukeystonemiddleware/exceptions.pyPKqH/C!!keystonemiddleware/i18n.pyPKqHj##keystonemiddleware/echo/__main__.pyPKqH}Q"$keystonemiddleware/echo/service.pyPKqH#(keystonemiddleware/echo/__init__.pyPKqHӧ 0(keystonemiddleware/auth_token/_memcache_crypt.pyPKqHs }I&2keystonemiddleware/auth_token/_base.pyPKqHL" H''4keystonemiddleware/auth_token/_cache.pyPKqH t#*@keystonemiddleware/auth_token/_identity.pyPKqHsy"-Jkeystonemiddleware/auth_token/_user_plugin.pyPKqHtz  &.Rkeystonemiddleware/auth_token/_auth.pyPKqH aJ) -\keystonemiddleware/auth_token/_signing_dir.pyPKqHn ./&bkeystonemiddleware/auth_token/_memcache_pool.pyPKqHUcw ")kkeystonemiddleware/auth_token/_request.pyPKqH%)vkeystonemiddleware/auth_token/__init__.pyPKqH\R@)&keystonemiddleware/auth_token/_opts.pyPKqHn2ľ],Tkeystonemiddleware/auth_token/_exceptions.pyPKqH9w-\keystonemiddleware/auth_token/_revocations.pyPKqH(~keystonemiddleware/openstack/__init__.pyPKqH% 2Ƴkeystonemiddleware/openstack/common/memorycache.pyPKqH/ϸkeystonemiddleware/openstack/common/__init__.pyPKqH&keystonemiddleware/_common/__init__.pyPKqH=w$dkeystonemiddleware/_common/config.pyPKqH$Ykeystonemiddleware/tests/__init__.pyPKqHgǢ .keystonemiddleware/tests/unit/test_fixtures.pyPKqH0z'_da0keystonemiddleware/tests/unit/client_fixtures.pyPKqHlD:0keystonemiddleware/tests/unit/test_ec2_token_middleware.pyPKqHB%c&keystonemiddleware/tests/unit/utils.pyPKqH)keystonemiddleware/tests/unit/__init__.pyPKqH4n*akeystonemiddleware/tests/unit/test_opts.pyPKqHF#9keystonemiddleware/tests/unit/test_s3_token_middleware.pyPKqHCB2keystonemiddleware/tests/unit/test_entry_points.pyPKqH 0keystonemiddleware/tests/unit/auth_token/base.pyPKqHiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyPKqHc]8&<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKqH@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPKqHJuQ6&8 keystonemiddleware/tests/unit/auth_token/test_request.pyPKqHa͞DYF#keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKqHM]e5LWkeystonemiddleware/tests/unit/auth_token/test_auth.pyPKqHg-m@7\keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKqH4/bkeystonemiddleware/tests/unit/auth_token/__init__.pyPKqH;?l7bkeystonemiddleware/tests/unit/auth_token/test_config.pyPKqH֡t!ADhkeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPKqHͶbU6pkeystonemiddleware/tests/unit/auth_token/test_cache.pyPKqH#3w?ukeystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKqH} +zkeystonemiddleware/tests/unit/audit/base.pyPKqHji 4><keystonemiddleware/tests/unit/audit/test_audit_middleware.pyPKqH/ˉkeystonemiddleware/tests/unit/audit/__init__.pyPKqH f 5@5keystonemiddleware/tests/unit/audit/test_audit_api.pyPKqHqT . keystonemiddleware/audit/_api.pyPKqHq %+keystonemiddleware/audit/_notifier.pyPKqH|X6 $keystonemiddleware/audit/__init__.pyPK҈H=#ga2okeystonemiddleware-4.6.0.dist-info/DESCRIPTION.rstPK҈HK{R3keystonemiddleware-4.6.0.dist-info/entry_points.txtPK҈HLR#{0vkeystonemiddleware-4.6.0.dist-info/metadata.jsonPK҈HE/.+Gkeystonemiddleware-4.6.0.dist-info/pbr.jsonPK҈H1i0keystonemiddleware-4.6.0.dist-info/top_level.txtPK҈Hۂ_n("keystonemiddleware-4.6.0.dist-info/WHEELPK҈H  +Ƿkeystonemiddleware-4.6.0.dist-info/METADATAPK҈H )ɻkeystonemiddleware-4.6.0.dist-info/RECORDPKAA