PKGj'Hy@satosa/__init__.py]OAj@¹$%6r0!.<`8 ل%X7nOEB h!.՟q!@f  1=5c4 S:_@h:4![/(-3iZuq 7b/oe89]|^!<>48lnʼ7X(G^ YYCpؗ[S͏ Z~q ֈ:U[ F$,LZŻPKjGM 1 satosa/account_linking.pyY[o6~M-nBsmbH3hG,y(w/;q-x.9aQYA$M5qr)9%#[ٍ`I6\F5\rC_ĮKFӜ>C'-ݻO^VKķEgb.aXYD ׎E- .2Ҙ̲ .y&y숖EZDfȰ=wA:bS4ۤb.+Z;dPOO YA/h)g%qHM2$g6$}ݒ C'2 QrtS},P<7}k) mc > 2Ygh1vcA4|*08jpZT V(cPwܩESONXSg SjD6'|D-ꨐ5@`P FJ!ۗ (E6کdw<`)VezuɠT T(_uIiDP[ڰ1pndIOE#5y+CLR $릁,]")7_רFw._fk0GIkȪq|e/[7;W.:0?TwԸkQ1zNLҕeݲ4{WB%ZYB:Zkq:҂h`r PKROH8 -satosa/base.pyZmo6_A(">'v}{C Ţmum'JH$bI 8}H,j8g<-,FbDa};Q?YN~i&N6uIQQ=93Z];EQ"(.BN5a\RYЂ޻|F/#F۪w18pCk!j&7)}?ZDzIhkM{<Qa*cv H)KTΗm'ȔE3tfP~BdrrXR , $J9tz@76ʰ &n.*&rWP6] XJݸn&i hKiKke,/(Q\$K-_\A@gV!iuAM̍*K{uD&Dm ˆ$ Cf_,О}bSYPPujF`CZ zl* G4hZ`9dۚJrZc̮DD8r5%,*b@hL5};Z_`Si2T  ۵#v?4wY-avե$0:ֵyX&$8=Ύ0Цb6+A!'=$@{2  'Sa@ nW1l Q~WD5¿" G"fU$~e]+G ̅D(blcا7Cgܕ\k,3dxZŹFRt ??^v\ݢ.4kQ5KX _j7LnVQ4vp1=nHyUjBH$dR*~b¶e⥇ Y%:|?"]Hxʈ1ǍA18 ZgNj)r@4_~E8>^2< / :wk'ao&Q'[K-:N/XLꍁ1HqK~<͋d}Q&G7'V^y]Fu zn۷/xLz~ޓ4hT+N5˦:yR$l5#HyNutWO|e4M9;elݸzPKEsG/˺# *satosa/consent.pyZ b4).( l{/Kl ckl++K>=vKKK{ CǡEaeKvU[FV %xD@Uݒ-mETTfvdI{"h蚥߳rUelj[ǚ\)aWl栛*K&u]Ղ5'n5/ڵZ͎LgA. $ҪkBщ2XeiF[/SG-?J,ͻW&SrvWKbf*F23@j\ ;DP`Ul'뢺%9$.TrYѰ1/ aiҖDMF*Z?3`n&%c$-+ Զ  Q?q{3Oq&}TO j$?Ӛ:ѲѲR0=[qdmWc;IL.C e.#)Z=_RG^I1YN lFX7q=LGm*Zdǁ#A>'/o/N~ւ5¯<=L랐s@j4&yQvx)**/p/(X 2~,Bz/gZ,[vy;C@z>љ;%ȗf{2*DO^^<C0RebŚcM4a9EkY `ҭתK XݴSE61]d:}7=izajFW[,[#x!)Ha% AObBy:@zO(C= PH \\n~KAƻ0uzwNN#ĈdUG"wì\} <NJ)+"Q(d,R@ml4eGKxbH3,o}FxЪa! )n7#tqq+ (հw^@v 1O47 Z69(3S*Sٞ]ypoDsXdtjW_,k$4wqP%K*jB'喭 T෫+;"H$r>OV:cCZqΨ#r4' /"iN9]Iy&~S;= ;ѷGDM_;oг)NUNcl*Yml5wM[SLK9o d?_&Ui833TCcޑ mE VzY:͛4Umv|W*Ʊc^;Hٰ;oZt Z$^=5qeQAu4KŲk>0:ߜ!EOV|\NƤ7/?@a1qte=4)el~-IuۿDae|C1cF "`'SN8RzmfNH(H[{ω񗙒MS?/r-J&f!UCz2Ng+x|s@hk] :(p _ԉ*;?):,+vEt%9Έ폆࣡I1yw#g;0I!A`ssףCGV@@bt2y`p`i%%[5oU2EK8UU~h4*јQ h [\lDs XȖ "j6EL#S;DD1)_\qſ*<_D0/8,(#ҵʖkz-A]uC@~j$FF 6D$IJ _ !(Bp/pQP|j}l*H v5h:{Ë~Mr~u˺ݾ4}*v{ ՠ+Ùt"zWO|F3<'bW5ݐ|WмZ)睋NXL'F 8W?1N4NN}}tPKYyGN@Bsatosa/context.pyUMo1C[)$D*j TB5ٝ4mY{?g޼yzQ%:7<\i $ ^ XgV sgu -IA.qd|qIdJx_ٮEp(~xXȹ~ %^Uh ts!2H͊,EL'f&+CMg6)KsHS%G5>K3;޽{@Jg"{~piN/`$eF([ $:!=!jhu ~MX4]?̘G{zĭ+>P%oY*<#8OeC*4ԥ/]*]K?ƴt~NPV!V8 *9pX5*7k;lOziJ-?wP#&%{e=f^yV Uxݖ!{\Sq)Gbb3⠉2si::τǴp+Wbing\_'7Û_MGLyD> .<. dB-ћWo_7Ct| wNBy^satosa/exception.pyTn0'&EVgHUSU! Lb6MQ NPl޽ hUVQ$\@YJ = E2Wi28s’8 !ZMP>sV}'[Vy'+Bziݵ/%n:weؑT:^Fu@ܱ&4,*RCQPFUQ$4ƹb^x6+'53W$V\b4p\>DX3*)`ևkšSe"RI̍0d|t:C7` ?Pcڐ  Z|>B6TOUl-T?͉2ɭ)f SDu0SXHNX%˭yPKYyG< #@^satosa/image_converter.pyTn0 +Em .Er((PҝA`b`Kߏ:κaH#-!DgrAp=/;PvC0Ay_d5X85(֙<㱦-٠1h}vθw8)a jE=E}^_l; $WJq )(=z?"gUs@:<-Gղ~b9D݅XulQh7>EGaqi%5QĊ |p[,czd :pvb0S=n?(6X3#ۈ Џ=hSg"TďyjDzkj$(7"V eb?eqA9iP _7 F|C '~6t>ة| J1.YH[4n0 {1O}9&|X?_PKy'H`TBsatosa/internal_data.py[mo6_A("\AMA&0 AX]YrEiA.fHnQ\ tmi8<3Invr)ٶM_T #UӮ)jR}A:z(^MIiC;h F]ѓmѐ[JF]ۍUsOv<~˫ᄐ: R4tۓT aϟڮGh_錳Ͱ'|vW6b+]t]fy^m䜜]W_>fۺ`|[0zـ|p%3%#y^5U)\.ȇhd5Pl 2)kzc{gfb~HSZGzQwEi6F՝7{aI_4[ a`JQm)nd7%ߎW_AH6ڻQ|ь7}ѫaGZ(y]u;*߲<ն_Of؇؇wd>`p瑬O85ŞʉG[(Bl6|}E%B>#"PCYOK-msd)Pe3}.S hau?'j?PxK2i3Y:Q C֦0oW<_dqr0HF1mb[Zl7w}பb"!k!<@yH )%9 cɴDpSbk6+ܶm:_wA;aWmwZ>U)$mUn} Yͣ|+.c9wз13XeCY&&CJ&#Km:T*5IT #V,$:!LYD4^xo];q(e 1h| N 3j ,97*c.4|$|/WAh4}99I=#2Kβ<Xs}!j- 0;6Z2Cluٹ+f u+S!0ީW͸,>'aFhh`|5Dt䷏ڮ+lO]W% p`q]@XW9ϝ&ynd )ΖP!X[q[hi#.A/r,EG)b#`m+fJ9&rvd gyДMrUU8] A$爊% Ⲥ;ԕxjQ5GqԼ %g엄uŗV¹p|Wx`kx~ |Fn\ݒzx޴zD<9SZ:3%U ^MXC];%)y`g%9X/2hV?hV))'AA@+2~/`7f y,1_0naK>ފy&9f*M~Gr\7x_՝9ܩ,2UHz@AH5L}hڇtԮBa2~|~B秪|N2N)<>7 l{d9fӔYN3!XL0Oj+!~*M~j27VQ$gOg6gyb@cY`-.uQ5Ucn.UbqUtѾ҃9nALdl]$\ qN]We=AՔ".6"{ ;=T0> lK}2R֟aJBGkC]lEV.W+fFׇpƞ;lbgD=a`m-Dωn:uRi"=z,tcνuxf LCHÂ-:4ٜpRI\o$u] tpXjEzC<-̀erDWYe(x*ec+rw{!⳾ qiؾp&đR8-B\oΎ#6:#~i˗=VDOUnt ]ߝLnD"[F{fQL@Qe[miv +؎WrUsFO&LY매dipR=bP ď&ubnYc o xF3Pz@ qVV{ttK+*yG1"u!|$_Wj~niUvx=ksċffEc+HfL5i9kNaGw>֍oǛQe'4bvgΩjuT,Eg1lGXPܯu>Yg9%yU0-tYBT//o}shz?l hЁ AɏJM[@6xbۇVɸ K>g|HsS:C,K䬢{lqfІ};\PmABPK gGdksatosa/logging_util.py}SMk0W .FɐC:KRe1&e$[SW_q-.zy ̛Xyb @j;ǶP!7p|A)NPsve(e!M_"ȏcZӟ O|wȊ& TXk %+/5_Esc {R!yQEv /SM t_m;|T4Sa[>[e&PKSOH\[ ;satosa/plugin_loader.pyko~ł!UyBu9NyHK%wf]rIwNG I{fgf(FV{ٱ,$K)I^%Dbf[!GȷY^ȝjs, w)GrvU1pSf#{wwwVHŒKa'Q&c&v(>y}},ݾꢪ[ͳLHK%B\SVg/d?V(P-fzR@3JXwe^Ԇj3t0eϔy楶n4JS*MٜϹ+Y#?\w$ɝOQiZHh4Z5IC)z2)\MʗZɌXCzv,s$LaѪY}ؙ'3;_&57Efu\?5(-+^䅾3f~g +,1/-*[P9(xjop]_&tX, \8E>!\aUZ]XM`ԫ}WB0v}hJ`偰\ (@iX|NXJ?:O7Rp3Ӂo73~D4?Yf۩ 'H:_5.D"3\l)~p9@?r6/qf-"쇖)ݩuE}h<)_S:i_|$ۀA߽4:T/s =ۂr,qƬ No*[M-TH5sQxXRH~fWK@~#C =)|aEǞm_~(j]販 /,06n>in=o3,ɼS]YN #VJ8_HuNjZfE*Ru Ń'Q=o 2ݿIKB??#C?>":e&Fȷfŭ||NhLhgwWBڟƿ'vۼ,?s(4ݏy<>!}nGڏr{6!Hun^-/7kC㦴i/p dPKkG.nsatosa/proxy_server.pyUMk0W`\z*6aCBl[z(E(+Ti&c{?H.{3z3#u-TE[V/6A!an5^FS`E Kk=XmCPԎX..Rj=r:Xz*t/BKō 'Iq2| p6A`yTQ~nRJYEdΑxFp_~3 #T(dfL OX+dR$Pj"VFB!"^z Q4s"Ñhx@]?'SbCi܏s(xʋj7Xgلj&1_BF|mba%CUF=]z 5ےf@h/bEB=,G71 7+ty-j$IB:¤ɻ$E$NO,_ѬpH+= p?>X/z}G/WO78'->H_S0@j`@, 7C‰ Ur+j!UfLrI 1Ǎ\VmeTm1l#- 87[ꅀ}*bғF|y]&ɗUz8LLFV(IhA$ 8WE 2ixaG1hŹG棙Fhii=8. Q,3m*t?ceE+_1Bs G{FV mjɉLHCWhMP Fs q&>~*) nB~:tP뮫,ZCaSQ /EbYg43c*n^3 ߨºTDyCuS)sE^sI #tUBӯq&WuG%oiDxNdN3Sjk2}uӍZ=rZ5`0yW/ ^cnE@+`S?t ݛv|zW`1\\†;\G@0K7BduAq&+Id/ E<`$(x h1 ɂ B\TtۀŵSxZ١}cUu{:"_qcPK\jG^Q6satosa/satosa_config.pyWm8_˩t(iKt JU 16(NEmNp ɼ>xfa M*)RN6JLH^%䊤%C3=&.DV슌BVe$sY4#L};EAᨲ|JS +/ʿ'vHRVRrEz{2%pYv"GAh9t\jMN>Uzn5pHxA'ox.*|0v@Ěv^1Mo&3zxOKv1{O8,xZL^߯dLmv>? o BҾvt,աς3ǽKm8s(?S&`4g %FPՍlZ+L5Jw ʔ?C%ƚіZe AP[H>l@N rz BzG^ O*ʩ:EG't$r2SZ%8r&w2p"jð,; RZG)]Z; #0W~5)YrMt x1+pHRC)3#^ƷD4y!L~}>c%{Ό<.lŵA g "'_E"v g|AKs6hJ-yWvUOĨv!0~PK gG:1B%I satosa/state.pyYm6_AԾz6: / 7 h[,!)Qog,93Cz<nI2.S"idi2!b3-g!rƙЬ\{LAlxvbIu"3 FPB1ls4Bz"F;%uDR~NDSABfClk*{K?r>,/E$E!ՌFV,YS E7<1 X7vZ<_"NfA|j+nX$u T4Z߰- aƏ" 5p㛷Wv߽]Wk~hm֫O78uJ1b3n K&\fLdZ ?ӌŢo|q^f 2>#S.Y2GVJk*7/h!˹G'AԒCH$Nv Da>8%=r#:sd^=JH3ŭ`4J`KLI}[wRabeDj.t9[R95pbpVEQ>)/,+DT*̳""ż <+YIOX_Vә{J̬ (sw{0V&MvW܍Fc\#cgޚHl2T!Ԉk!]h&{: RN{*z2fEJ BC٪~^)ST8,i^ůYqAi^=xiWkRѣuGV6!^xV+e ZV=ŶOƗI2.bjS̾{V|s֝8LLzdI!:sҀG?q`|طhXMa"ҭ\PB!O\9y,#5GOTd{xX|ӫbKadI!݌Չ @2حAvU&i<;ܞеŬ; Tf]̄;>P`[@EsW/\{O`0e < d$@qe +5X:h P@RU"hl{z¡Qb`[}5`#^dF]@ 0h0&3f4Ph m*a%kdz;h%T׫di^Z [΁ u RVtcC1a`Z'YI!m5oV{v8k[0r7o:8ȄHaXw8-(sqkƪX*,l!\y&G vBCSw9 (Oo.9$;ȸunQ>TaS5X5xhXRhwV #x*Qx<duu\"mKx2׷wv,M 1r٥eq8#pu"NU;]l l?U^m{Џ{3N'/<ĶYLʴS? 4uh{Vi<'t· PX\v `z\ktPӖr=' -cd,Dԍu!`Z̒u9bhgѐ ?gԶ ФIjW_wL]V_PK4szGY*satosa/util.pyWMo6W, Hl(ݸNePXF$[w%YH!HGO" )wz]=Ji޼-يQH"#mТU`|Ŧ,&YZ|>%b㾔h[bC2SP28#zEMvlǓ:$]ѧ.IY(}gT<#_Ă,E\o'û*u $x4(g1XjtX reβ$e98ajJNG8 ^$g$~K 6]$kJ4 y-Pc*cC̆w}%̀ @Ckh N3C>8*d2wmX`pJ%,h@#+g7*\rr9!(M[KSM:=6jc Z-s:bE)JyX_Wt^a'N (14uˤ?dkLo:6D/f7iFJߗvIO|X?kӰ}a?Nr85|3I3}%?"Is)=& 22cfA% PKYyGMj|satosa/backends/__init__.pySRR ,S(HLNLOUHIRPKtG7Qcsatosa/backends/base.pyXKo6W!2նE( @ԇm/+"mE6q(Mw6{ë%y#kCKsǕ5Y[uZs^smQ DQP}L@u$ ;?xi+kLI^>0'E!ja"Ӽ/ )JZUXpUӪ(k m?+snx )h7{~F֚/ȋ:IE0Q UԇeFH%]od0PEO$(ۊ%K:{@uX3 >'A+g`r;[loNWo.`~qek1e ~HFhCflb{QT?mE2#\ _!mT5Կ gͷpv1Än*z. +T|2P)p10GSAlٷ"H\ G}h+ 3"e[1 ([@Ng;Z`}z[.:>CvZ?_1!OQו<șk|K&'z)8tqX8Ͱh}HF),;J{KN#ivנN/PKh%HY. X3satosa/backends/oauth.pyZoܸ߿4}Y`{ž96b}p]+qh%k DRҮlQMׅ :ߖduҢ$+L&geͶ]dIϬY՜\zL"SlQW潬n2YzC"KmQJMqH%Ӈӷg?.sD+:.5NTl7ڷD>;H6Lz Ωů-g~ em-hb/rQ}<;֦Ҝ4͙RPYZyjr%G4rQVE&9弆&Q.yE4|G35Yrm|X_ ؁vVވzS\X3jJݹt򂳬:8(IR*iJhMW~}4|GK@?+qVtt:LA+#{5ˉ!fm];@v/9[4-MXr5#AAۖm lU@#XjleW-+>r--K%"\>1xXc#?]PumÏ6K!+LgNiӀ0$/2IhZ2b. \ ©[^9lr#q|䁕mWH6}1>r"R r*`"*u{:'zb JɤLc+:|&o`$H0%k蒉t؃})ɿIY6eTQxq@m::&KT‹z^閗%z)_$C{a.x 茿 $?׋a=M&2kF[XIlC準kʃkHCƋߕw+ޖ~@Bg`HJ@yYY@^OzyM`S~$S9 !MgQ)L&mA;CSQ9X&I@䭄:gg&~ZK@аrSGgb]烈E7~hv9y*ƵGOh^MgXN!1' f,9hm+pLQ6Er;]9۪DRy@c9^ :gt[qTAsh28+sK%<ߚ<ULDV XjoA=CuZɲw3VmpXqP/ΡGy"zwz=#c>gwl B h|qWZ%WPrS*riG2ȳm-Qv&5vp%|] FW@d{bs_vI݌%SiũS!L&ńo%dC)^='&5dt;a=S 7q8ӟjR#t %p%;-ggz \3n#OqT1Ta-+hi h,8|D[6w%cb`׽p/.g%eoxm'/i7UdٖspDMn҃\TNY8RpZtTb،a{Sq\|sr`bώnd)g|-C0.7\RSA3[ :9ӻQ?:/ZV7/ŭ;tN+ٗLAkeS'ŇLIh~QHyTG杋}44[Q|z)_ %8,g [n[e){fRxfvm%Kfvue؏Ф^ wة|򀨊mǰoLA(e ܧcaCo70ht E }mxT 2sw|^:Y! -WVUiHkFU\u\i|pNՌ2 ⴏZU0Fh?s 𓣰vE$8E{MS^֩!W*蠼Y׾bKu+)22(0}xsX0m1>74N17 :# Ƈ8UFFYBP߿aC~Cÿ7z%Y\}o~=Pkcg2jJn7tW41KQx 8jv (s;%ЊF eWZbuq#Fg\huQi&۞鿻g e#W裹7E۶;NubsVo_'9 uTkQHhSb/STi 8W7 Gz1 dZ/ze+Y84ch{&yX-"<&P@VH؞;Gf?N/] 4(4e/C/\VaΓPKtGyҰec!satosa/backends/openid_connect.pyJH-$9[W # k dy?@Ԟ>34MOۢĚ*yl͊Rp׵IU lYR?nPuӭVl]tw@MW>^\9FjXg@W׋k>>TQrMb?SMlqZO߄j'4~f]uSylu7EgD+G7)r?uq\>ӥjƺ8x+Te?+FC7 ɯK+m9h{Ӝx@r#'8_,.8賶a @x,y-Eh  BUgYsZ Y(edp&/ 5V~iiU!W`6TuZzq)iǤh7*e B^}zp%(LKA'7ɇb5Tu81<3H&%YzO ނt aӀ^ Us')䙭Vbx{I-8%`נZ8B:)Q&z[/F4!TF f"jC?RH|,8EnG2s"G+.V@7P"$׀ Cjc׼EstD_o\8w @h2z?Ϧ:TGvGdWo ?UЉNwv8O@o{̑BhB݋m^n`Yh6ojQ1Md s41;Z0@CY&[ `ZD|nRF73=?lq9Rf{v#A0؃ "~/o>k=KevJ]W)y:*Fx3`W;7d*댨=%Lx,zghr3;J PjQX6nƠOu/# 6k}eD/T㬨*K)Ȩhjћxi+)&T{OFͺбD抜 = L0[[]xN[^;bh/ t2z/b0RǹPsr" '|y:yJZ w|fazFa_fO[QgC| &`fm=2Zm竹yxU:2>ݲ[uM`uB.!QjabJ~# Cޮy$MVmQ健䞉z|xh3+}`7\v=arcuTE$1Ozzb&֙d K[BBD$R3(52lt{ 3+\<#KGؒ}1:A%u j)WmNr-? NZx< 6(d @4Ä,9m, ^j3@o&jc"~?a+]ϭ6QW "fY4X$ŚJDhJlNpC ڦ[01(9]$~m#ct_5]:YzB)!}dzsC&2$> 7rBE-QdT^GwTp[7!nD$=66‚;kLV੖"yl|OnM {wv9y|SkѼe%vzX.4)T#Ǩ ~bڳ`+֚ȘEY]j\1tQf] j!`pYȕi~0Pb.@,RQictY^y~$MW| ms h_1)$z]t}DqdGSx~x{m8w_UT:(F7i+1[m2`Ks 5:2cک&;Ik~6ϜERɓ;Ɏ#殿e/s>%M¤| M9J*¤W!Do3S?`!3cئfH eMQ@Fbi黇-ԫ \}WU|,u.SQ 0$-BjVek38[OU L4Jg- HU94|F-]1ϟU$5^{hbl2 ۮ)/p׽3yOZv]3,ێ;p@Sk]E۩ ;G`xT0\u"@93jgiDr.X0/=7c'e/6jaǺJzLs%.=9:9 d&q_4}PMw. C'"j{V8m~l5ѪWGbPQ2>G߇b16NPb*=hG>*5} 8ښ{rxDp 8#PmV!tb|!rcIK.TA7j"#ċ-0XFDGc̲V\8?4jPq7mLGv/X,twpo"Ӟc%9n[k {]-==depNyߞ~-(과dQW To6 vuz S{B;%6slx|HNyʞIy0Id@Y-&XEY2+ȵv{jK_ v[ƒx(݀$̣ubwڨup,<曞}Nl>Voi^FSGS/cd:GGˉ'W/[z,„f%aS p}uy(갯y2q9+lrbl[ؗ >WQ=凁%G4:|}#Fſ΋Uvv%#0@Wi5;Ddyf'@Bi^)9ĵqT(w5m&>ۀMsXTv|YT旱KBIM~>E4pR!FG<^ U D¿7!Ve}wxj-BsϪ-\.:C]}W9w?|S׎m3z-^1H|MgL;Xѻ*#Sy}}߀ Uԡ8bT B^zz9&16K>jdjzQyl}tL e>A]nVbv5Rڈ;j~J\N[`޷FyO"{XuqnwQw33q:[я遢Qqqe4 WZs v~Fyo龸Ʌ=;Xo%m%), mW&u䰬7sz7#@ꋯ&gR[| ?HT\u\1 ޻[B"RnP'?~M',G `;Yx{Ȭ]ahjA_J2GDT.na$]"7)4uC zbdʫ{#]v_BEВl܏zCDO|`<#܆`6Pܮy3%XNbwsY롷cM94M-0ԡs?0!Et3'e_PKROHqZۤBsatosa/backends/saml2.pyms۶,5v:7vSߒg;j<$6HJY$QZlbd{KU.~{sR<=6IItѤny ruɆ^]UEnmF#%ϫ2jssp"6f$.R˙h|#tSZ7ɰyz{yszڂ5M&9򲡬L"9m Vq:]ZUɡ/G.E ָSrAPeBq䅦@RݍNP)ߨNgݫ)d- M5$isE/] xf_#cJ/c6%ZNw#l61F\yK|̴KE5RƲs<9::JsßFɉ` =^(S2/21EM#/n2$q Ú89-S"I! Y $D -)2w7W zd4`dy̅O!&٘^6A2={|*fyJ^Ll7p$Q6 f_~PzR &?nӍ5؇o SDFqy3)y uvubLĚ] eSͪMI cY4OMckBݑqfͶEvwE݂0kJ^&E&|]EF4mS,1`|8&`]19ѨsF>M2B%lzw*zwxl{FӘ:OṳpY'Bji76oLOI6iIgbGq!am,0#&f{q @KT 2~" >3*2yq?,JkLqv 0~:>ܭ !on :=q'J‡6k?VA.ToB\W d*=]R/P){"'eJE"".Nc[u0c-LMOi}tH"M/CcSzF,B9|栱s(r51FÈFT QD&Ni.{$'~V@F^BKF@㈝xeI{&KLbrb (Ȯtha` AC )${x` CYxZ>1NAσM%͢V&ڡy;^ȡh mV s'M^3j73^p5aLM[@+qtC{1-+eqZuTX$UH$-(,pQےjIirE_[l`C(~ &*O~c-QgQ,s1M?"l|HNf@1PґNuQP;bT2S#&|p={{  9=@\{5ÞvVu8j!odRn&p+d>U O'8~ܔc~l}+RJr{ϯu[2FPpc,ή`^'n[eܿ .V4z A,C\/?!Wyavi\,T5sj8LW^JQ1C <_qULݙE,Ox1YW)s!g4SxvW;V8!O#6) %d'uWFk<][?Ps!0m3(Iᙨ1(`a ʌq`4hĞKeTDiv* ]#8ziɍ33~Z$EʥntD&u]ltvH4Mm3.!OҢ\=Zf%v$Ǖ=0q4i#7WJDBEIrYnYɁ%98P :z@(ɲYqdͱ t0tŊ9U &'H94ib8 0ŷ ^WOZ]M F+M&?߻^pڇ}^!(*>mM)+)%#e7+i43W W*)[U6{VXRs:\j^' [Z[MsjE{R_#=̈́=3.q;[.BFT3:R`>N Mi~m!k/x8MC9lEW-V40^6Sj2g>S!tz;e`nq;;'a +ܞ`Y}?Y>OK(_(腣' O˭8Ga$eEI0έsUuݚ]6R:^EhA\A|-c)[)^p= F&BœYϿ=rTUғ#0~ 2'K~m"6uDIޢ-2`7`S_M\U.6s={D) E!-R \SA%2SRF ]P112=UDfJKQy _h o4ի|,xKFscƙ@2_M%{LH熧k^SIe´=oH?tg("aj;_C;ˈ&]`o?t$Uw$#X JxyRM$ v Ap O @rLNLpJ(Z$ l B8<R]ʭuN.Xp6'+sSScW&^#} RYhԵgN gzq)-:&iK`ޭKnN>5tƞOGQ&MNN۠,1r3Jj#f!_VuI+fWR N*S =ar2lžje5jQfw 4IqYU%h;'4N)c Aˣ!:کp.гdyjګ7K?6}8H&p6JeT?-oQ*c<ʌQ7ڍCW,ՈɫـB3v ӧWݣO_wGUbW}OΕfL% \Ѕ2Рro,mjZρ5vM!p0XljmVv2-n ?*8xklgT1w&;6odv0ܝs 2qʛӓʺ\.Iئt~B #žtMҴ>MVAK[sgUugDQ9끫۞v3KFĐYU+hT̀N4v32c c*:ަzj%!h_-2*qau V=qAK(t=R,|fye ȔEъ#yLH4.+j7tF3hHBi#m( |D6:h\(+!@)玂,Z&Ӌ@9.]9(~'_<N[G4X$AKm[e&0YgOA12HgnKvlA= 7}(rf^`<˦NN"4[a*kH; 1߶- Q>taN\&lD1ziTpf$I1B9r_s5pT#NrAfYyT%Iryvw߾IJ: 7e'UZ]}YжvR]IX0DZS݁b>#OVx u ?83e չǖ 1<)-l}uhe7/#jlwQ9-Giã42H3' ce[HT'|Uγk0칕JDrcsR^=Yqƈ§:lJ3P,FgJ IUg+r H@P@:ԱBV/晹Jc}Oo/;m!QÚ5Dd5q 97 !l'pp[;uٍ~z١(L柀YO Κ|-CT`H@]vق0ò$(O2䛧k7gNL _ˑ ؋El%.ƿ|$IQtbh:Fg*tfϔbAzxo= 6M9ZXzٗA[F`4Qsc{p%ƃ 42y0Ӭ2Ĵjc?=3sp$&g**mC.K:3HcVLsR/4խHXF蒋GQb)d}6NjNFS{T)*k1)؜~čЫjOݹEcCB(ۖasW1̜^:ۦT @㼏y`fwtlv,V( KHMdFlzO/k,}xG"t?{J\ vT2Q5{L2(04c?d}zFL N ١Qr0ğcyeհSc ;F4[eTvˈ3tfیCRŶk/`3MvURٽSwx6 =_  C Av,mV뒶 Vv2 m*ҕ75-GTٶ-7Pp}duu` {h8م[+ͰہA-< Jy,Lk*.qJʿΈ1(^sGQ(:M$kv=!eAk8X?55_K-,V|*0' n /12שvEPN,#; Weк1Ljv^QV6 rj֭^OX`{^PDU?bⰯ (PU|&qis$!cEZ Y ",²T4eRޠ_$D~Z MwUvr\Q=14@^BZ P[( WMim+uS54sn~[6 [DY0&JVւfxjacFV|1jao_aR/p-eԱhAQ6 7 |[7VBrf`w:,Xӏ\0"-]вN3,NhPN‰k(BA'w̌: q&nVd3s-L\A+AO>z!eM80 e(Drn|&+VŶ0wđ7Mˊ@[ |J>ow]< q⾱NA 5ұeߗ9O 7.6qKf &RoX'ޖGnzGI1k&oP>1`qW ձlLۥJ^!iuI|'q*Y=Pgݧ2̞=e>/YQ`.@m\i+Tl4#*Hl߳*:P˨0I_d*_k3B]r!-z4VU=1jM02V&1q(vYu\5PߗhePuJUPUeA ۑ?;Hhˬ 1o,9ZajR@\ꁂ1d3nʭi?i.ψW9ߡY QඕD$=B)!i C״LyJp#4%y _"<` VEMɗW?9}AfzWsu]s*X?x)WwAW<8yxd_ ى`e#\`<ցi]|Yt{V#ly2Bq`j5;2rmzvA߬0+ŸR-\egX=IYQbg*x|2z%y ]+,bcJ}xWɄeIJ+Zs3̀h 7XD#܏a=a&]&7o:=aĹ\h+aP4FSr$3`R]vpi[{ob!_UD ًRl08n}FӤTeON'V'Fu P<8BO> wI7-2RNeZч99WYf:5}BZ4wm[ TvLbnE ʬBg}X>> 8zn6;PL\*g&+;}o;߬y͛q/| \2lx?%Kw)'N("߹pvUe:{x1IVߨ r armxkovʼ3`wv͞}=m9PG5f:ƽL9P^_?ҐհmN}K. X6@ƛ,->߉"Rv;(i▍;twٗqM1_ CJ#T7*kş}:3FG^x @Bf_\_D>xRFEڑ}V_wX߰K?v[PKO\GMj|$satosa/metadata_creation/__init__.pySRR ,S(HLNLOUHIRPKtG.''satosa/metadata_creation/description.pyXMo6W {HClwn#h)ӺA{_dXIq8ObQHݢu m֜`IA}~ I*'WXIкGF9-) {!\mDM‚dR w /KQ,v&#|"\4W"fbR㫻ᴕafzX Q w."TQYSATz[R[A~j JǴ.qUsh/ .,@ u|3d߼@z*0C"%l55za` s;zؕ!U6 Asܶ=S7~]x|?>Msi(]XWJoflJC_7Vbx^H򯜡J)/"[0hX(dS)ve 160~$*]yy-PξP(nocSf|^r捔'^ʹh%w3#tG jOz\ jCŤb-p%gF6!+lVN>>WQ[,&b-2"|^{T/8YeYx"Ye _m!TćS\(ҦH&.Z}lԘ8R so1i//V3R:~uN`SP%]ҥsdIM1YzS>n'okQAp2 K;_LObݸo&gfd{0CF6b4}79RG *{A(<;A~t7ak3( }^F|w*sp&FRœ ًΎd#\_8zr K &-Di$&|[Pu!I׋zNor7 {^1mn7bA":yW!Y>Q8*-/b=BaPK gG $satosa/micro_service/service_base.pyVmk0_qd@KP }mi Xö JE=ѤJr#*KLwe;e2 M$c-<LyŮy\˵RR&2/3̵[ԜҼ?TvgFSWdjjz:9 pT"ol+s ]S\>50`;tRȘʁ+KE3yaM8[]p/-{]#ǹS.C6XR3oHLsܻԺ}V{/&oPKYyGMj|satosa/plugin_base/__init__.pySRR ,S(HLNLOUHIRPKYyG satosa/plugin_base/endpoint.pyTj0+."4=jmHr 9N soQ0ZVV*hkس;qIa0JehffUpY6S{1P&sRg66!_[[TuhUI`R!=^CoR`m6;v&>zVbk3; @)PZj- -RPvi[g߫W9y~f7jqV<@bÌ) -]C/ sH/ Rx]̐#O㵊@n XrCeM0"'5bU+lq(?z,BS ĩwSoAH\iᔉ̜*{"OR8-oL'4a?*%UiVŸl( =h'՚^j̋jugx9ߪQGޜϯT>O gy.(gB!PK&Y-H\p n16SATOSA-0.7.0.data/scripts/make_satosa_saml_metadata.py]o8ݿ |*?m._hrX-7!)RdzHD'Ù{<6˪MU7,\gQŢ(LddVbG9:y񇆗J ^䛼^u5M JηbYܾ|Xr@x,m͛ i ^6E\bT .I_  gǸAD-f398OT;lY<]]"t8}<Dc pFC!&@ ECw%i9*H 5%bhV& S 3pX$n94\y*::1I\hWx۸!=3҇&R(o֥`LffYGn0rhaQ3&ƣm(f51;,oBf6rnl: ByG 6Y&LvHi!$:~j,,i5 lAGIt1FA|6u'mA;ՈHA:od:973N*EDŽ+-9r."kTpi&09R#cWyzdb"ҖL%Pv ٽ]rqkn*lKS1!&8VAβ/I3:m'@  `:pBܚ<88@^AW9D Ÿ=uV|^Pm+ähZjsDdell+] ldh|Vb2d[8A(LɁل{>EJn2f A(h,ck-=Y,A&O[)BL 8j^7kӂ 4ieP@08F6:T'xbc7Zꍬ c;CMW8F%dOK"G]0T 8Z0-ʌMZn|N9ᲖeV?t4MUa^<6 n1Xeʌ(o ocPw͘RnXTraC"X qFkTc⩟ e^$G31lY=i;:eziDCgUcK&kb((f?YvF;> wWÑΔ ޱ>HAS)k/gױ|wգO'G;n[b7P$IeR/tpݓqvSZuaLYX61lͷÓWGmG5d )CS1n^$DTER*N]e]r==G\\bW=EC\}*U'Jc[}@F ^; $*V/Blog+1$qc9򃧳/ V1+ NIDl_&wdq–թ[`*(EG7NخAuq=YV'N_yu >t𵦽ut2bძ̊ |v^Cjlc~ʪ-aBOfveWSdx"a5^ d o&wT_^;=ǗB3| GaWRE!bi]Cv0 ޺wޤm??Ipp9@g5K+"hPYȰfۘz5/`fM%'$k82rY9/c#%ip?lU $Y/!AT7e Kms,F kǹn~"V÷`O7 U42D-zZѤ(g91Y߂;.ߥTF}NG SO) m0Y͂^iaHf5lYrxK6^/eѤi,j>fV1vT*^7̩v_O(pH W:fݬi%3+k4Q+e mk͇5B h;/춪V)DCc?!V4iA :c?*beЯ=[U%&{qBf):jk%7D|O4%2wHY~';j.g#̹x)r]M;g,A[ζ,#/ໃj7pSv C4_v2v:nZ˴h&SSb [k7ǔ@rwRm?@(,;aSwG%@$]ڹ)>gj^ bӢ|C>񭸩z$STd)pyR&'v@z]A;9_Z_Lr//WqKL?V>ufFHrP̋{G^j\UyomK#}BvL^2aP& 2:T6_]m#NwrZnsi f%=)CEz*2uiUHelKvD zCR_5o `ئU }% U'N@ QcDcmցkF[Byl1V j, mELؾ0 9- O_f~K-]N&\bV`!9&{bz5s*]fFtiv0F'!MR]͜XǦ~zPK.TOH^- &SATOSA-0.7.0.dist-info/DESCRIPTION.rst PK.TOH\l$SATOSA-0.7.0.dist-info/metadata.json_k0ſS lFЌ-.)RQ;Y% Օ럎ν@%pL纫H|Obz3<.no(a]:5hd_X0EOPha % \PF9ygQG6 eruf BQ6ϋB=VI3zcX5PЀN8n_27xG8I^2ۦgq/cJt\ke$FF.dW9~֦rݝ,8]tJ0rsstʣ'Vt<;ݍPKTOH[;A90/SATOSA-0.7.0.dist-info/pbr.jsonV,/JIM,NURHK)NQPJ,/K-**%''ZZ(PK.TOH & $SATOSA-0.7.0.dist-info/top_level.txt+N,/NPK.TOH[C\\SATOSA-0.7.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0323 /, (-JLR()*M ILR(4KM̫PK.TOHϔ/SATOSA-0.7.0.dist-info/METADATAn0E /a'V*5EKŏA;w^gY ) LU\V9S2r*(lGoj#qkWGU^r1h$-qJ}hrᛰ'Q.9ˆH'`hS`MÅU0`Lk=i= WzHEwޘ)\JX< qj qlYIXYsG>,ϩ=zgg/bǺV(%,/D(PS-i jQFgg*w;b$~p_,'9(.e:Kka4&!g^ ~?`9',sxu$0xڳI%Dcugeb]:]2mIQ(Wn]a%X"ܶ'nXL1bIaQH'C/_ɆdeVxky (:C`N(se՛a?jT)z|^TRbeLic593?t'p1⊷jEٓ lV=H&]KQ/.i⬊oq5%ӣflbNw ck귀Md b؊ 4i}Nu.[DLi#tqeIۘI=- ٜ/t\̏٬VAOwo?džD$Er[R؝YLUT<:.~؊=Oo}8~YfeU&3QuN15b=ڕ^0!9"|zNIX Rs'Cdon IbB>Cʒ\Vnj4YhՋP8UȏY#ydPKGj'Hy@satosa/__init__.pyPKjGM 1 satosa/account_linking.pyPKROH8 -vsatosa/base.pyPKEsG/˺# *?satosa/consent.pyPKYyGN@Bsatosa/context.pyPKYyGۄ>usatosa/exception.pyPKYyG< #@^.!satosa/image_converter.pyPKy'H`TB#satosa/internal_data.pyPK gGdk2satosa/logging_util.pyPKSOH\[ ;4satosa/plugin_loader.pyPKkG.n@@satosa/proxy_server.pyPKYyG`cBsatosa/response.pyPKv.H<" j=Isatosa/routing.pyPK\jG^Q6$Osatosa/satosa_config.pyPK gG:1B%I Usatosa/state.pyPK4szGY*z^satosa/util.pyPK\jGyucsatosa/wsgi.pyPKYyGMj|fsatosa/backends/__init__.pyPKtG7Qcgsatosa/backends/base.pyPKh%HY. X3)msatosa/backends/oauth.pyPKtGyҰec!ysatosa/backends/openid_connect.pyPKROHqZۤBǏsatosa/backends/saml2.pyPKYyGMj|satosa/frontends/__init__.pyPKYyG tf satosa/frontends/base.pyPKROH%jsatosa/frontends/saml2.pyPKO\GMj|$satosa/metadata_creation/__init__.pyPKtG.''satosa/metadata_creation/description.pyPKYyGMj| msatosa/micro_service/__init__.pyPKROHhbVK/Ⱦsatosa/micro_service/attribute_modifications.pyPK gG $satosa/micro_service/service_base.pyPKYyGMj| satosa/plugin_base/__init__.pyPKYyG csatosa/plugin_base/endpoint.pyPK&Y-H\p n16큟SATOSA-0.7.0.data/scripts/make_satosa_saml_metadata.pyPK.TOH^- &SATOSA-0.7.0.dist-info/DESCRIPTION.rstPK.TOH\l$SATOSA-0.7.0.dist-info/metadata.jsonPKTOH[;A90/SATOSA-0.7.0.dist-info/pbr.jsonPK.TOH & $$SATOSA-0.7.0.dist-info/top_level.txtPK.TOH[C\\oSATOSA-0.7.0.dist-info/WHEELPK.TOHϔ/SATOSA-0.7.0.dist-info/METADATAPK.TOH1 qSATOSA-0.7.0.dist-info/RECORDPK(([