From 9a1bc876ccd768895c3174cd117e6569b4f02ff7 Mon Sep 17 00:00:00 2001 From: robjtede Date: Sun, 27 Jun 2021 06:05:12 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2020ef0?= =?UTF-8?q?5c36e9457b1f593831a06df68426db35b00=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- COPYRIGHT.txt | 14 +- FiraSans-LICENSE.txt | 4 +- SourceCodePro-It.ttf.woff2 | Bin 0 -> 44896 bytes SourceCodePro-Regular.ttf.woff2 | Bin 0 -> 52228 bytes SourceCodePro-Semibold.ttf.woff2 | Bin 0 -> 52348 bytes SourceSerif4-Bold.ttf.woff2 | Bin 0 -> 81320 bytes SourceSerif4-It.ttf.woff2 | Bin 0 -> 59860 bytes SourceSerif4-Regular.ttf.woff2 | Bin 0 -> 76180 bytes actix_cors/all.html | 8 +- actix_cors/builder/struct.Cors.html | 1 + actix_cors/enum.CorsError.html | 73 ++++++----- actix_cors/error/enum.CorsError.html | 1 + actix_cors/index.html | 18 +-- actix_cors/struct.Cors.html | 100 +++++++------- actix_identity/all.html | 10 +- .../cookie/struct.CookieIdentityPolicy.html | 1 + actix_identity/identity/struct.Identity.html | 1 + actix_identity/index.html | 30 ++--- .../middleware/struct.IdentityService.html | 1 + .../struct.CookieIdentityPolicy.html | 70 +++++----- actix_identity/struct.Identity.html | 70 +++++----- actix_identity/struct.IdentityService.html | 52 ++++---- actix_identity/trait.IdentityPolicy.html | 24 ++-- actix_identity/trait.RequestIdentity.html | 12 +- actix_protobuf/all.html | 10 +- actix_protobuf/enum.ProtoBufPayloadError.html | 56 ++++---- actix_protobuf/index.html | 14 +- actix_protobuf/struct.ProtoBuf.html | 66 +++++----- actix_protobuf/struct.ProtoBufConfig.html | 40 +++--- actix_protobuf/struct.ProtoBufMessage.html | 122 +++++++++--------- .../trait.ProtoBufResponseBuilder.html | 10 +- actix_redis/all.html | 10 +- actix_redis/enum.Error.html | 66 +++++----- actix_redis/enum.RespError.html | 66 +++++----- actix_redis/enum.RespValue.html | 86 ++++++------ actix_redis/enum.SameSite.html | 78 ++++++----- actix_redis/index.html | 26 ++-- actix_redis/redis/struct.Command.html | 1 + actix_redis/redis/struct.RedisActor.html | 1 + actix_redis/session/struct.RedisSession.html | 1 + actix_redis/struct.Command.html | 46 ++++--- actix_redis/struct.RedisActor.html | 74 ++++++----- actix_redis/struct.RedisSession.html | 70 +++++----- actix_session/all.html | 10 +- .../cookie/struct.CookieSession.html | 1 + actix_session/enum.SessionStatus.html | 64 +++++---- actix_session/index.html | 28 ++-- actix_session/struct.CookieSession.html | 76 ++++++----- actix_session/struct.Session.html | 74 ++++++----- actix_session/trait.UserSession.html | 16 +-- actix_web_httpauth/all.html | 10 +- .../extractors/basic/index.html | 16 +-- .../extractors/basic/struct.BasicAuth.html | 76 ++++++----- .../extractors/basic/struct.Config.html | 62 +++++---- .../extractors/bearer/enum.Error.html | 92 +++++++------ .../extractors/bearer/index.html | 20 ++- .../extractors/bearer/struct.BearerAuth.html | 76 ++++++----- .../extractors/bearer/struct.Config.html | 64 +++++---- .../config/trait.AuthExtractorConfig.html | 1 + .../errors/struct.AuthenticationError.html | 1 + actix_web_httpauth/extractors/index.html | 26 ++-- .../struct.AuthenticationError.html | 72 +++++------ .../extractors/trait.AuthExtractor.html | 22 ++-- .../extractors/trait.AuthExtractorConfig.html | 20 ++- .../authorization/enum.ParseError.html | 64 +++++---- .../authorization/errors/enum.ParseError.html | 1 + .../header/struct.Authorization.html | 1 + .../headers/authorization/index.html | 26 ++-- .../scheme/basic/struct.Basic.html | 1 + .../scheme/bearer/struct.Bearer.html | 1 + .../authorization/scheme/trait.Scheme.html | 1 + .../authorization/struct.Authorization.html | 104 ++++++++------- .../headers/authorization/struct.Basic.html | 92 +++++++------ .../headers/authorization/struct.Bearer.html | 90 +++++++------ .../headers/authorization/trait.Scheme.html | 16 +-- actix_web_httpauth/headers/index.html | 16 +-- .../headers/www_authenticate/basic/index.html | 14 +- .../www_authenticate/basic/struct.Basic.html | 96 +++++++------- .../www_authenticate/bearer/enum.Error.html | 92 +++++++------ .../www_authenticate/bearer/index.html | 20 ++- .../bearer/struct.Bearer.html | 94 +++++++------- .../bearer/struct.BearerBuilder.html | 54 ++++---- .../challenge/basic/index.html | 1 + .../challenge/basic/struct.Basic.html | 1 + .../bearer/builder/struct.BearerBuilder.html | 1 + .../bearer/challenge/struct.Bearer.html | 1 + .../challenge/bearer/errors/enum.Error.html | 1 + .../challenge/bearer/index.html | 1 + .../challenge/trait.Challenge.html | 1 + .../header/struct.WwwAuthenticate.html | 1 + .../headers/www_authenticate/index.html | 24 ++-- .../struct.WwwAuthenticate.html | 90 +++++++------ .../www_authenticate/trait.Challenge.html | 14 +- actix_web_httpauth/index.html | 22 ++-- actix_web_httpauth/middleware/index.html | 14 +- .../middleware/struct.HttpAuthentication.html | 70 +++++----- ayu.css | 2 +- clipboard.svg | 1 + crates.js | 2 +- dark.css | 2 +- .../transform/trait.Transform.js | 8 +- .../response_error}/trait.ResponseError.js | 0 implementors/core/clone/trait.Clone.js | 1 - implementors/core/cmp/trait.PartialEq.js | 1 - implementors/core/default/trait.Default.js | 1 - implementors/core/fmt/trait.Debug.js | 1 - implementors/core/marker/trait.Freeze.js | 1 - implementors/core/marker/trait.Send.js | 1 - .../core/marker/trait.StructuralPartialEq.js | 1 - implementors/core/marker/trait.Sync.js | 1 - implementors/core/marker/trait.Unpin.js | 1 - implementors/prost/message/trait.Message.js | 3 - implementors/std/panic/trait.RefUnwindSafe.js | 1 - implementors/std/panic/trait.UnwindSafe.js | 1 - light.css | 2 +- main.js | 6 +- noscript.css | 2 +- noto-sans-kr-v13-korean-regular-LICENSE.txt | 93 +++++++++++++ noto-sans-kr-v13-korean-regular.woff | Bin 0 -> 287068 bytes prost_example/all.html | 7 - prost_example/fn.index.html | 5 - prost_example/fn.main.html | 5 - prost_example/index.html | 7 - prost_example/sidebar-items.js | 1 - prost_example/struct.MyObj.html | 43 ------ rustdoc.css | 2 +- search-index.js | 13 +- search.js | 1 + settings.html | 11 +- source-files.js | 1 - source-script.js | 2 +- src/actix_cors/all_or_some.rs.html | 10 +- src/actix_cors/builder.rs.html | 24 ++-- src/actix_cors/error.rs.html | 10 +- src/actix_cors/inner.rs.html | 14 +- src/actix_cors/lib.rs.html | 10 +- src/actix_cors/middleware.rs.html | 38 +++--- src/actix_identity/cookie.rs.html | 58 +++++---- src/actix_identity/identity.rs.html | 12 +- src/actix_identity/lib.rs.html | 12 +- src/actix_identity/middleware.rs.html | 44 ++++--- src/actix_protobuf/lib.rs.html | 70 ++++++---- src/actix_redis/lib.rs.html | 12 +- src/actix_redis/redis.rs.html | 12 +- src/actix_redis/session.rs.html | 54 +++++--- src/actix_session/cookie.rs.html | 88 ++++++++----- src/actix_session/lib.rs.html | 12 +- .../extractors/basic.rs.html | 14 +- .../extractors/bearer.rs.html | 14 +- .../extractors/config.rs.html | 12 +- .../extractors/errors.rs.html | 12 +- src/actix_web_httpauth/extractors/mod.rs.html | 12 +- .../headers/authorization/errors.rs.html | 12 +- .../headers/authorization/header.rs.html | 12 +- .../headers/authorization/mod.rs.html | 12 +- .../authorization/scheme/basic.rs.html | 12 +- .../authorization/scheme/bearer.rs.html | 12 +- .../headers/authorization/scheme/mod.rs.html | 12 +- src/actix_web_httpauth/headers/mod.rs.html | 12 +- .../www_authenticate/challenge/basic.rs.html | 12 +- .../challenge/bearer/builder.rs.html | 12 +- .../challenge/bearer/challenge.rs.html | 12 +- .../challenge/bearer/errors.rs.html | 12 +- .../challenge/bearer/mod.rs.html | 12 +- .../www_authenticate/challenge/mod.rs.html | 12 +- .../headers/www_authenticate/header.rs.html | 12 +- .../headers/www_authenticate/mod.rs.html | 12 +- src/actix_web_httpauth/lib.rs.html | 12 +- src/actix_web_httpauth/middleware.rs.html | 44 +++++-- src/actix_web_httpauth/utils.rs.html | 12 +- src/prost_example/main.rs.html | 73 ----------- storage.js | 2 +- 172 files changed, 2077 insertions(+), 2205 deletions(-) create mode 100644 SourceCodePro-It.ttf.woff2 create mode 100644 SourceCodePro-Regular.ttf.woff2 create mode 100644 SourceCodePro-Semibold.ttf.woff2 create mode 100644 SourceSerif4-Bold.ttf.woff2 create mode 100644 SourceSerif4-It.ttf.woff2 create mode 100644 SourceSerif4-Regular.ttf.woff2 create mode 100644 clipboard.svg rename implementors/{actix_http/error => actix_web/error/response_error}/trait.ResponseError.js (100%) delete mode 100644 implementors/prost/message/trait.Message.js create mode 100644 noto-sans-kr-v13-korean-regular-LICENSE.txt create mode 100644 noto-sans-kr-v13-korean-regular.woff delete mode 100644 prost_example/all.html delete mode 100644 prost_example/fn.index.html delete mode 100644 prost_example/fn.main.html delete mode 100644 prost_example/index.html delete mode 100644 prost_example/sidebar-items.js delete mode 100644 prost_example/struct.MyObj.html create mode 100644 search.js delete mode 100644 src/prost_example/main.rs.html diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 16d79032f..c2629a83f 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -2,7 +2,8 @@ These documentation pages include resources by third parties. This copyright file applies only to those resources. The following third party resources are included, and carry their own copyright notices and license terms: -* Fira Sans (FiraSans-Regular.woff, FiraSans-Medium.woff): +* Fira Sans (FiraSans-Regular.woff2, FiraSans-Medium.woff2, + FiraSans-Regular.woff, FiraSans-Medium.woff): Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ with Reserved Font Name Fira Sans. @@ -23,8 +24,10 @@ included, and carry their own copyright notices and license terms: Copyright (c) Nicolas Gallagher and Jonathan Neal. Licensed under the MIT license (see LICENSE-MIT.txt). -* Source Code Pro (SourceCodePro-Regular.ttf.woff, - SourceCodePro-Semibold.ttf.woff, SourceCodePro-It.ttf.woff): +* Source Code Pro (SourceCodePro-Regular.ttf.woff2, + SourceCodePro-Semibold.ttf.woff2, SourceCodePro-It.ttf.woff2, + SourceCodePro-Regular.ttf.woff, SourceCodePro-Semibold.ttf.woff, + SourceCodePro-It.ttf.woff): Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark @@ -33,8 +36,9 @@ included, and carry their own copyright notices and license terms: Licensed under the SIL Open Font License, Version 1.1. See SourceCodePro-LICENSE.txt. -* Source Serif 4 (SourceSerif4-Regular.ttf.woff, SourceSerif4-Bold.ttf.woff, - SourceSerif4-It.ttf.woff): +* Source Serif 4 (SourceSerif4-Regular.ttf.woff2, SourceSerif4-Bold.ttf.woff2, + SourceSerif4-It.ttf.woff2, SourceSerif4-Regular.ttf.woff, + SourceSerif4-Bold.ttf.woff, SourceSerif4-It.ttf.woff): Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United diff --git a/FiraSans-LICENSE.txt b/FiraSans-LICENSE.txt index d444ea92b..ff9afab06 100644 --- a/FiraSans-LICENSE.txt +++ b/FiraSans-LICENSE.txt @@ -1,5 +1,5 @@ Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A. -with Reserved Font Name < Fira >, +with Reserved Font Name < Fira >, This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: @@ -19,7 +19,7 @@ with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, +fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The diff --git a/SourceCodePro-It.ttf.woff2 b/SourceCodePro-It.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..462c34efcd9d6b70b42359ca1a1d9476efe43eeb GIT binary patch literal 44896 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 V7)~)yDZnpu49h_gZvJhn{{a>V-DCg& literal 0 HcmV?d00001 diff --git a/SourceCodePro-Regular.ttf.woff2 b/SourceCodePro-Regular.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..10b558e0b69a74b8329766fffbd5f64356c7230d GIT binary patch literal 52228 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 z z&7BF0Cz9SRS8*G@y#nm5YinGyv$X5k`^*NwZdDv)O2LxNEz6iiMNt60OH~&-fXF zHAyXFj)gP=~`)XmsT zEJ(rtgkHTr+1opg2X|5vLPZM zO7;HQ1r4`L-Gac4Eg)>XDb&e@qkM9p1=+yp4#jB|t@G9L>z*fXzWfCWR$r)ak)p*) zma4gyT5GGlbnms$N~=x$JPWOLlSd{8VjZ+*kKm_5S;DDZs!Z3Fn+}hzXAzogX?;L_ z{m$Nq&`_xOep;S?ZOEHbQ);LK4vP`n3(lH34IF_v&0N5kYoeXfV*{p{%6hn2qpj8Fu)GcLYat zyz|Vrz8qkH6pCq8K(g}Yni-!8W==SM#pYtkI1kn!(MMj?=Hx05NBT$beq z?wuInEYC>8bKPq_ucS2PJ=YyWaI2INl~uWU**PHJ4{blYTI?Sw{#^gydaIoL0#EeB z${tufkDGMsaoY`3o&XoCR--ECbNj5GwX=Ty9oE@A8)xe<&{{WuqC=3zHKx#ksOi~s zwV+QC`&N8;(Hm@{nHaG;2n|Lv_DN0GbkE>S&YYQ^B@;T~^J8KsVUi|w@}^))rhKSF zo5pFI;hE%k+>~L|_z9Dx%oO~s-~JOn`=@_ZbbLWYeW#jhtE-;+8fd67eDoBpWtwO+ zOQbTfuyNL=&xAS4meXHJc9NUqC)Ja}qy|!ww1;$nbb?$!t|Vj0G_rtfAiK#Ca)#VR z9wIL#Zzt~~|3x`Nd57{TpzC3PKj z3-uuNQR)-a!_=p#&r*+4U!oqTo}%T^s%cmnl}4wrX<}LnZ6$3d?Md1PbfAEw=hMsS zRrFdqfli_G=mNTij?mlb9gJK?1%t-g&pOC@nsuCYj&*@`h4l{WW7gN~N_H*V$cET9 zb{jjx?qv6IsySg!mh+7mCuZF`v~e-)vHg26AWurqN~2V}j% z*@U9XhR(IR(;&DWsdS@lpz@Vkb8AN}I*psQgb5N*aOq=5lYfwZk*Q=RSxz>S!_};Q zP3vC&B#IL&#HMLzTAcRqRa7c3p~`t3)tHFb%e~#V{gguRiBby8T!$6cj%NcUMTn=Km2sS`H7q!9xpaF&MBSqGJ-Y3C1}H`)>NHpGR4hV0gM-cw&PThL@y!yMO3YnPyDy~b!2ENcm< zv*~Me4X-v({Oij5^O8{f#rWNMS6sftUtD}XE@vd)^bz>tuK|C9f1Yc6EL_GX`K=)@kmE&2#W8yjap!^p2==HS#0Qlg4;Ddhw;{RX#!9Bw? z_!bTS7`}gQ!S}u@8MsTz1!Y3ZC_$b)iQKhm7JCtQlR>pO4U-j&W0Op zR!$o0h8Iqz8v=04 z)nuz+W|E<&nCauHKTOheZf@U3T~ru2=0EJ;=A$=!jDXDPzR?;v;^ReZRItwd`g{J{ zPi-=kLPh^l&6rnGDm{iT?}s(vsEfX84jX+b$G?`T^|+@EHl!h&jX@ZUA;SZi9%Npu zzhKe+v$yMa=XrGgdO!6naBt*OIMo}}#h^d^2&qt_)Sthrt{-K@mj{g;PhN5*$WU-2 zjjnVS_uiK{|J!5Knxa|I4Ek2cz)G1CRWzD-46*1EF(u2YE0ab9y#kO2)GM=X$d7H?~-u&$e??9Iw>AFK*ZO}`- zAiRebdS$*xmij2QPcr%}tuJ!=Dz{Jth0E)k(xOQErLuUnC95x0LundICoMyBS^6sX zp(;v$SL=I!ed|v@lQ{`nTqsCK1(sC8;hnSCWAB%#rEIO`Xe*bjJT?)H2RYFb4H@j} z3R1<4ug>v4C@ex*(RDQNXFd7;hR8^iF8+z?`jPGvlmDFOg4XA9$I@rX+NUFxzSU|x zIc6eLW(aC5QWu9!nn*Q?sC1E7BE3X})S7!^urB`RR+O=$P1) zNYdBPZ(-pPafvFqX#ji7N>u^Y$Z?eG1mz6vBF|O6n*w(;JQR8=@>1-r#7C*GGC$=G znj}?9snV=kiyEzJwZUkIm4=gnmyLh3)~QI9_73ewG($4M;UUJ_0uT=~S9a5JZ zQJY#z_o{z0yc@qvfw^aySf{p`|5^O4!nMSDQg3Ac_x7;KnCaN;s5+~!n!EO?`^!qjesr9iXV=Aj z_1wI7-;d;H`YZdL|CuGv=Pwp67p?wYFW#h_R^Hnl9nS|{859-M9Jzv8URhn!DZTk);rX3R?=Dki#f?4)5 z1!3KrjH-zKE9-4hpfax@xzhqr_#6OS6Ue_>PZ{n9l;c4_Q@jf(5bFV&5yt?U3-B~x;f7AV=?8Ebc z{e&BE5s5v(#kfCk31JIxDX{_IGGZOT<-|sSEAV3AO1uoXiuedzjmv>+h|vJo;?IEV z2oKLzc&|y=~-T&?qM##b?MPDxU*s0AC;rfG=MSqra+eM&t4= zUQMFEs~<+I^COS|;3p&jetva?{-ypH+2>CXcYwcEt=NCpzoWHuO^qB~1vZC)qp)MT*CkAa*V#=h-aMfb!q|OL6V)~@XD79kRq|HcmV#cHkN4=Oc z=`&V?SUedrS)*7o88bzbSUQ<9O|w`wnKM<3SU6cSQFd&chOp3~v1uB{B8SK3X#|TM z8C#}NERhpCCo8NSeb@(R467U)2T$YRJ3bDbCSc>lIC`4IMkmJ+(-hV@H4dAmvFV)- z-WgOlGme>NVe9NTcAA6TJD07_ixZ~#Y;!@JG%aL@i{iv-G22}dr%zn=x-?Fk{$r2U zarVUHpv&U?X*ow-5$8@TIsC5Tq^qMet)a}damB>voPxM&vf-w}!iABxXD8 z5ATEOh_n9i0jPoar|~=Me^QWOQ+zZvlW2QPm^xsqh^jt$cn7Wh5R znSOA{pV5E%g{Hq_{PYJ)|HeJjKZJVtH8Xe$%pCcFS-=ZmmM8>l4k`z;K1}==ss>y4 zqb9KR*<6a(wou!D)B?7%4k0<%Vblk9^r(OASe^XQ2Qd3w(B!pCJpGim!VyjEbru#=ux54dvF>+d%M39K`2oSTacZ=^&eD;mb*A&Ij zG{IP47>Q+d9A^M934&D=6-iQM*{&!~qumXtW^JT)?IImIly&MdP`7S__2_Siva;cZ z7;eNIg`!WR%Y!v$e`81GH4lv|Z^~%A_m#(d57@%Pv-2<>C3~)?o+|XxOIhA{gY2!h z3cT~qWAD9}?SoIA_~MIaV6f+ih+ZNgN%mDdABoc4ks-rVnKHeQC0CR@c~X$kyh2A8 zsahS9diCNoXppE;lX%UVC27^>yDnXRs;ukPiy)asa3hDBxKTqb+~^_sxiJG*mmX}r zp3>z#wRTMw*$eK!?4#9ihJZOsYv3FazfB85+A&X0(g@E{D=nllMMtA0|+D` zh)4wxMC(9Is(?qd9v+h#;0bMjXi^8n&_;+S4L|~If<)2;{7<%!L|TAkvV)hT4R}SH z;jMC~gA^&Y$dpA_wrpFKE4NLB3i>Kl+O9?o1GQ@HP^XTedi8b!(f~3VG}10;C*wf} z?FI#z3_58Kbdl+xoA$y0nGFVMAABV9!6({}-_}OjIIOV3cq^?k5g*?aHf+owBs9x< z>&;=y)?9WrTWFhY77G?^0x_}4d_+=!$FQ^{G^`*_lodCuBpy^2FRUUyR1rU{CIM8H zC~P4yG!zE5k~~_F66_*nv>_GPNvdc~YOtHs(T+4=4?$>8$KVj@pc@^B!-Pe5(uL!s zhd!haC&&PO$q-JG5&DrSoFOy3K<03kEbt;(!a1_SOJoh_$p&wbEnFZwyh-+OksR=k36GKThc|Qqzw0u*peq=roA8lt zVT^9WC%S{NdI_KD6_$tqUnmGm6%1eLHJ0fOe5bcqAsGIMh;$;sUwy?o3Wb0AhV>K% z{}ql66oIxBiE)Zq{D}k1pm^j}0?edDp>z~f2F#^Q6jBz< zqihsb4$P-q6j2^5ATo+79~M#pim4D5Q4xykH!P-Nln@2hPzfGWDXgV3)KNLCqY6B( zN?1=+#HtE55Dj%jhmBN?da8j<^grsW7B7t$)DBmv1D{bRT%#_0PTg>wdhiAH!VT)fm(&lpXaIvX2)AhnUuzid&&a})ZG3_x*P5TUr6*h(wj=KPX;Rl%x5E#LO z%o>c)6<&UE8AOQ4CQ4K*F=8r-lMqFcq&QNfB#oeN*9Fqn8;lr0VfJAOc-17;<-tb=!zss+@(n6AzeBznKF6HlEqn$ z92b%0^HHdX9}0>~N|f@S6)33703pxOs1yhhk~&4v$QuwNW*i2_6a@+l7 zlT3hsB!UD55h3Cl2@>9rBq@e0Sz+YJ`9__(P!Py3dh{f+XOGB_pAdL>?_6{#KE4#$ z>A*04{JxS7xkUEBg#0fm>W_f@#R3G!1H?sqUWb%og3ZV{oN}G$rb@l&X9Wf^OjU#s zv!W?ctA#>Er-go2|2WK611s#TWI9y*;jN;AU2c2D5RWc#e7Le0gz@Y1 z*LXzKBVXQr1ks56c>jL_(EyMd4nRdNkSJmL1%Qn|Lc`CX)V{KWo2n$r1W?um!FTIug8y3UMP@%{s!>k?lqFP`i2ym?Jq@Dmn4E>VR@cWI;`8;94R=jpuQe8e64#TDBM z4R~YuGdew{sYS5^3pS1MQ({>dAe{K0^$APRdL3)<@dio%i1>PInm^}4+XeysFIGmB zRHIYwhCW{`XJgizR(%T%y8}g3Z6k!S1oMHjKj&y?*U8dB&(lYQUeeJ;bkd=`rp_Pp zV!dV9RmWaT&&QXRc7Ni6kvW@tdTb(rC%scrP=0oJ@6-oeq(gIo{#cbvUB05ij12Yo z-W|^~p1quzkdTon5zVfZLsoY?utU!UvwmY=eK&uQ!yl6z=*~|NyQix<&JX7~My)65 zwJv4fQ(z9i>SLNl^H}|{#L2Da52@+CWy|{x6>FR-}`D?=QE1e7et3-0tcN-HA)nPzr(2gI+Jv z2V=X>@7ihZvr^I_1r{dZEtX(z+m%~0qBBwJnf;FsbxC#D<}Pg67^U<3*EkM0Fy9=c zy~$~4PH!;s+geRwmWINYx0eY=WuBgR0puRv^gZPA*17{*s1Q_G>j21d#pf$yr|dj9 z9P1p(hNusmRh603nuHiZbxQqfR8u7A9ldA%{E@~8=)XrtBc@ST7!9c)id7~^rWWIB z8yrX6n0WhaKiKz{)ep32%tL*pwV7b68XA?l2yI3+_dgeX zIY&d2$wUA|jdtY*FD7CpOBO9@ucz0l)ghv3P>&EJTXde*}mf3P+rd;`_ojnV#uvV!Jp$5uX7cs<7 zL3wQ(i3;y;R4NkZe(B#X2Are}f%y(SA@OzpY z(+D32D%A4iQpjmMh-vFDSJuKDcf&%4EjW3Sl`zBQP;^W!Blbm*EqjroOeG;$ma;Bw zCpq6094l80@9-AK-aBE9`B2;%7@H+bU{L~^$Ln;yYK{cGCMT~6j5{c50;V_bEAannMeux zuInlQ>2Q6veV341$SH_{LaN63gK^06xQ8;R!N2(YsImLurbg#Oy>_VV#+~ z0;C0Vqjy}|NOGPR{@g^#mNiq9;Sz%9gP11?JQML{0qYh_f*QK(*ZKTw{J?S9r~*@? zRjX9nZ0>Fhk^*R3KkZ5$z;xfLGewum2c}O@+h9(8=Yope!b{Zz2zWD7LK04W+t@)` zZ5=WdvAvwj#RC8^Ti2V$+C`7mLS7$MO0DDLXoGMo@(bSV6iY}p{8NjoXtp1fR4P?Y zLj|e~yx9vBC?1TA6iJ#|(RFmh7(Wk2%p(U^fdm*YV^^lyv)C+c$zw!T)w_Y2Qp}UZ zTxox@-quuadOEi3Dm!cM{1wSshcYdV%69N@S>07{BY8ev=NL_;?5fs!-i79?3I-Yt zB+#calHCAQkn=b4#097>Xe z`FO&VYm8;(0bcrRhoTMEIua0tK{Z5C+zkUt%%=J>4|n2>=}8P}uEFSPRs|IE!=(H@ z&*Y$auQ!BsY&J;R(0c9#QMo&=Oabw_+n3Mv@+sk|PcIkim*m%JJ9moXgAYzwqy{la$N(!7SwfpM{+{R? z>PV%m^QX6loWfm9k^*|ytlAYgrk|Gu8onruYIu*zgf@Ed7K#>r?ztWo#-mr&vHNe% z!F?}z{!Dt{VtDVco_1!d`{|v>Tg9X^+nCWetPH=+hr{0uY=!fVuDNmkyalQvO_6PG$j z9&e$`ns!M2q_2>um1+t%%XhH@%HQdfR6cKA?-`hXV!H;LGN;3*QCo+G8P?dZZLYT;x0BeEHY$SrGH@Uw%^bH^p9s8YHTnj)zn;H z@7X#1n^19Uankr<$W=uembEuo?oW-ZoEcUV)^zxmVdl8KCLX{fzt~zJejeGBB{fi& zYDlwsbjWF zEH8vzH#kr!Tr$Zd*TzVG_`@4{(By|OQ!{B$kEbm)lUza&S7KtB zm7?x`L6(tg%}i-dm1vIFm&s=C&)v{t?TvU$kyP%YIz2j#3>Tj(6OabC?20|$jG^u@ z3_Y1}`Wb*6C{FZe{OYJjp9|--GlUwn2Zj^6gJ2fF!H%|ewIZ_1!B&U z9B8|ZO)-cNTOz$3b&56&`)kYU<-t8%j%^}8HDkCjxq&_Uz7|Ix?+`$W&V^Z5PZ`zE_a@R3c;EJXdihEBxHpIeooQg(-mnK#5 zfoHVtpzzLAMCgSLP)Cb2k(`VoZE`%iB@?LQUT;4FC!BM_{o`&~Md&iTKoc6a$ z35Fk?8l|J{1}0AOjOaxQ;Tm{fea20n=-@0LUz+@WVn}e97AwOOTqRb?QC5kVH5vD~ zNYM{FX=f4r88hRh9&5Sh)-ES5Z;{BCVdPUE)TKH{xQ3*heV5y0u=B1-Ik|T$tW}`u zK-P;{CD06JXW9Cl9>pWdC^_tL13BqKIPBRyx4>BC@1dS}S5_`*ufP>(xCOrGP$#`LADqIe6p3yb6@W^5MH{`=m+iYut zr$LXGou`}2k3utG^a)bSl#4+K8a<8pr7_P|>oPG1i{dE$0R`747!bq4(6(jg0F8iE zyTi+>K@Fa57q|l3793Y@??1V&auxjU^Nn|~OZH!J$ArfPAozKpiaJq}0xd^&EP`nc@G zdfgoum=?CUa*l21VVEydGP%MxfVVCZQ{7lWgwP~n&zbHfXbgO$HioiNRr>C2d>6KI z8~TK&(D6ol5^}23M{h7m5nH6%sbL-9(v#ULsQ+@pX*~c2_QGILG{nZK$QA%n%U)VH z=eFL)(7SY8g;LU@iO4!E?DI65=pJ!Kz=HBh7-SfO>})m%pyd$jJt!fcbTxN6d#dx6 z>AjS|L{RVidN6qrI;e|gAk+33fGg$^JIp~(fL0WwercIY9d7gL_pLt;fOdN3Kk*5N zP&bG*q>fXwT64hDceL&_>p~)Gh2+@#?QW7US2`{0H{>#%abnhI>C8{@+J zt%ZCxy5cWbV_7FP=@U154l#d#YR1l3B%U@{ZgRL9ET#ewJriEXW_GMf-JJzzjBnl{ zk3&rIHxCHTParpAuGwo7pvpa?f3Mpl-GTVwN44-3KbQPEXZ}Ja5}%iKJOqW$6+SB{ zuMe?z|`M!53fEjVH`UBr`Sh*A_yq4knLWXLUU!Ff3Y#8zcAM*8~fYJag=n^8V+h^HlvXUmp_ zf_BRBrKlM;C{)poYEHUXWj1sot|;}S2rnImcfu<#e;x(Jg_6ZcPJ`$e2%8Ig=%JrP zGtkgncD^a*B<~R#&5Ae~*+Q`4mhcT5X~2T+6L;i*E*v> zq_O6gZn3Q0Y^g;|EVXzSoyLaG-nCQ8y$BCVYy!S+*%fxUPYQNs_fOsc@I-GTAS9tB`yVJ!C2aKdm(9ZNafXI2MYOF%p7Bv=oj4 zBs;33nx78lXp!oxfuf;~RoGa?1lCzpG9Y2ffVGnwd+_3vV`WIC2})0)g5t=b_plwOET z+h{d-tqrIA^hDOe()g`OnG%ZO!>QS&Eh-<10-b`}ZluD-`f4XFw=u}XUd@m=Rq?zz zrXk-J*h^J@d3(ub#wkwve*|%c`;IzTB?z8R&dHcP&%@@*QkZ1p6$sg^>ltvAayWzI zidw(q7AfOdlW|vR5M;<&*N!i~IGc?Z^<{b)rtu$87jVmwt*$I6b_B52EP~r}3e~r? zS~|)Pzg_X4HP8g- zi`WWv~*kJMm#3(cK8GZqnob9na^ zAWckMZEtV8An%G`2fr)@xqB^~Z5aA@qTc7$ui%&f;^T*Q4MV);X?kr%VV%b$?5|>s zIzrb^M$MmbQrRE zHz(SHaCy$8@1!9goYYEu9hw0?8-6&OKAZp*7}Sk(9-0WSHgzxJ^5`x+eR{gL6 z%)a({8fW!6f`4mT6;xw!uCIC{|*-M*i9?fs%MZO^Zww z!(5;dRVNmmDBG8_Xy=FKVgp=Fgf+~huqC9BqF+1Bw-OY);_ceAsBDe~n;XL<^+4!GFKp#$%Dr+gAwo4s<$Y4?Mr0RB znpQJ}{2tLDebQy|Zm$|G6cJZWX6J$Y^=<)JE7{ODz4%L7fetofvs2j)!TnB_oj`f= zHrc$=E*8YB4=pN|U3o_5?6To=e5)KBmxPoQ5R6=&<~q8^v~G!T&YM^*QTB^VQqew$ zE=z@nN0rgnuZ@+~R$aJ#aI~UY!+O6tV~r^rF=>yG=;O6J^}No5jCvQJV)m6-9m9kr zq#CH#Bk#wDH8?S>@|c_Vw6*Kah_nk9tUJ3>!P@qbJ0h#E55sXQfX=8<00o`7hM-3& zf@qGi?QC}hJdq+hgL$D`0aPA0@G9#e~6k-$j(d z)sepFF7FNF9^88Y8J*i}pf8f;_Wj*Ev)*?ilk87yH;r zc3`61n-o=+#j`ab(zD^p8* z>D5^O-CYdqhmv=Bl`m^*1c0d@}nG3{H#}XE*6t}8F0jC+L;7@cd_tRX`?o&Xpi;Cl;59Uz71Gp7L z%_bBHzv%|TZQjSl49o*0n|bQgRowCgw;x#dCjgg-PE0l$7$8sY#_K^lGSImnNsp?a zL0vTtDPfqnP~iDMnMXv#751A!%5yj4*l-c{NjWvyeLe2XA3$7>Q)V zTXz3QM>(C3&wHMp#Y~J6nMhYWCu5yqdQW({5?;)d=k1x==!EjZ?}ZJkOr7`Y+Q+_p zUY^tDhoreBt5*vA*V`RjKtB#XNxeG9`X?%00lSKU7km5)^y?ZDPTk1 zPYb-F(t)SgRG-*J2FWIy`j9W{z;p#$RoMETFU!_8(9-l13;(XU?|Qnmj;f$(YR0i} z`EsfxlGk#PksGN#7XpNr5axOalZ(-kFMF|ozy|=0Urf$pXe5MP&_URvm%4ApbR6d} z!Y>y8!{vYC2WwRf_nw3#P#XUm_&XZt%ZyezxV-8gbk%k}Y{+V;%8IfM(oJ4P@$$HP zs|Gu#*F#D{uHTTN&$9;j*Yfp9nK+fDzI0?E_sGi_f4ne z^VYNM2SF zb92Q+5qK5Pyty5x)f(k;>U?I(6?Rt6uvjTmDvsUYi0>rZct1@^ASkAopJEaT8Kg)AXC?JS@n3k1p+Q@ zZm3*Hpj{h;Vptl_xUZd|o`4v}7q3IHbM*_fv>b{80W%m__iy5zJ#$9M6lJdO-^}21 zqSkD=y(&EN4R?8H_V8{0b{MEX5G89J5lq(KC%vCD;SIeUgv-u`g#PO)T{I zp3H3Ei?UbZWVyB(M3D=vKUSiUoLlteWCGx;v|;r@(E)3EhtkGTF&412H;08#b8KK8 zYrvNooDl)l6T!cVJDOn)(DQ}US;iH4K(3A7M3^*{q>)Q6gr8qEc_!ZCdo^8D09-6# z5=e)uE@R713jxR@hfo8Jtuk?gp^nwK%de+*+VNf5;*jd7&m(?y@65Xf0T-|o;oUzR zGm#|>#`Ga5;#WLGbQ!+OyZ7OPN@M@P1YQKms56eZSp);>NbPv`LA&&DMg+Ec@I&VB zu~g>zXNqFmD)x`RFQ6Y-*%vHWo*mV-5R+hOKU+}D(&)jbLM6Lf3ZGyBccW0&F@A$orMb7vw{O0$+!{0OF)(zg19c;Hw|C`hs|&yn(jqw@2T^%Fc881=%v-ezCBn2N zeAD>&4x}9x-UoAI@2-U`PsO^^c#^9VIC=Lj?Lycw4DIP&x;_K_@r3bubY!%{jyoRg zjgliYzfgMVC($2RpLf6%RVm&A$$9nFpgFSx(B(D3>2ZY455$j&x9HJfX4$7-Usm*G zh}ti^d$&%N{dBeMSpZQ z<0l6{E+v}~LI??k|E>|+H)N;l< zu$p4WJ~;jTcj=boyuJ3Ju?7!cGuM4~2p=}7e(acjXwhn)$-X`7*SYlHf5I7I8jYu`2X4Z>l;Kb8H(E-GK)@EGn_G0^yl}@hT<0wV{Tf?4COAC(?E&m``QR{n+sG;G`a#ohkyC~akT6^$&9;!F2ta=1i650;%udL23#lwa&u8Tw%8CHE@Yuqh!_o+4Rf3T0_!wP$|W+U+^GsJg47H`0dQc;%~SizOQt57X&de=;9@gADn=* z(x_o3eu$8Qp6L%s@Z$8|qTTM?F%T-cinP0L&}wg)BerUqyxsCtG5`t+leP&ghV*Eh z_j&V-EO=+|Zr*RW`PPNyzOwTAWbeMQL)4s#>Gk+MAsNHP+6P~OA43mWD0~P^LA0Cw@OU-#ixU(6tzO7aG$EHJwLK2Q65 zn)#8nK-hC%Ulw;);eS;tdq-Uh+&z`2JbL{#5&+)EcZo9S-0*J!D$q$>-RxS zHy+P!wZw+GNY?@Z{k3G#RY-VM%l0TVN<`>M0Xz^72!z|}Y6Ck)L<&=j?5@SN+#VCo zP7e-uOh>s8?X<-?&?N)f@v12^@j6U%=m1SLfe8D3V*7cG@x9Gshf8T?nhI6AwIUoSkL$XG@>rHwL!?@4GD=h7NnI!1Sng9-NiAR0Q zU3BsPR`=eS?9{{=5CB_niZrl*dju~C?dZVvz{3UWj4l|I6XH8E{857KuD7Vnw-dIb zV)I~#@4&>&03O(Osy=TuDy?_|PaN`WH{`8CWfYI#$p8XAOAy*&s)M##1U|-or`DPF z=uGiuEuMK}Bc3S>X;UL(+hPJY_&K|Q1tollwRuS7%KYSS+OUO$h+Rzp!WBBFz?9+M zeb31xF?x{d!KZcv`-@52Do@D$@}1#=^6iV!4fhTMC-^;j9m5iJdz`694tXzL{n7$2 z4~J8$(K>~WCZGl2PFbnF5NhTsbtmbh7iPGtVn~pHYnLi@;ZCW|I3S!bxC_}Ka`AQ+ z{;v9REb616$feRH`jmjF`F7en{WcD0g1)x-%l250hzKsF%IvD&+puS-r5nsPtZmmI z_wXHmpg99NzE-nmUK#@zz1DVw&E}$E4|u01VJ{)E>i05A3YLJ z)~c1H6Un6=K&H3D2HA{$K3ecK1^4qo^e!eO&}jlmu3Aucv7za$1e{vwX<%s>^WF;< zH)mVh)mEt^FfERrjLC>a88$m35@%$?NK8T@<;nw+m-m$*X>KOK(XCgUs^C9IW!hM< zt5rHqGi;YLN2-FrgKoV6een5$o3B1$Pw)CzTe1L*YveiXpfArw)d)Yf}aLs2WI=Gh;WdiQLsK7CUOaEuZc4ipiShhT;P)M$i9Lt#Or zL)M{<4Tr#xq1k9}bbE*xiS@XXf%CM}CByLl!fbw9_i}S3K6y+!x|4Jnl_x(~gH|a$ zo=?PA+LWUVzT}SLj@Oex;Gq1Ax+Hn}Q}j6f4bNak38EgZuCYMmC!74+W;%)T7Cp;Z z4#WWN6yB5}Co95?iX41}=CReKs3fAX4u`r-y&Od8REO|F**+}cRl8@Qca)FiSSA|4 zJHS&aSXM4#XF zjNA%7)S=)Hd>c2>TvMjMy!rm;W92`+YvDcz9m0EFQ2jJ;1<2ykZNScy9m>}%5IG@f z3P2^|qXNaMRm~~Z5cgvfO>nfYSOzWp;8&=_80_Kd>Q}LtSEbc5Uj!$}X-fWAOg%b* zAwMdUWxiOohk;Lu zfb7egev@8F);kO$m2WS^bms{ic1wJihh!QWTpo>Hi%8uK?z!;XPdW6rQ-ohZJWz|h zEwT!^xu1)@I$g|R({_&On>O#8nVBD7Y=svit;oc@G0#X44K9p{{}qc>_V*alEcFw> zA3@VkqkCUF6^Ol7U6$mJYX)?a(#VZd!Pu`#t5OY?n==c~+BQkjy>x+! zsNRms1xY32xw{y(*5+T8ytGN}^-ZxVU4k**EEzJJtKP4&yZUBNxkkZz zkQQd{le_xWjP-1;2?|#hz?G|4g^?PQFSOTswz_$tSv8QV@n)7v!yV0b1-CvV0Zf%u zkOrN6M!KzcXBA^>3}(&_dHS!>wP9v*YI;g1%4qIXI|tVJygJR82ClHRs#`07ZZDy$ zd&L*JKbT5HB(4^q1w0KQ)AlX|%%$7)jTO-+JF^1+TKT5HNWE!WZ?$E|h}e_SAc+El zr?Y{X0CxfE&Hv%E*jgO6s-q=A%zBv=hj8L^>v$vcH@{G9Y=+buXJ1xM18>+mK6*NM z<(KIAA**}jYQggHp-fT;mH;f=g`1hi)lr{fFpf}Z#~F+h#=3RgxXCmy)7O8;Q(a!) z@WMmySrozhcs*U>n&Pa-fBl;04CL zyxb7qyWtG59@FlOdpL=lvpAmTOq|B078U;3$(-BTPjT%bMNnxmmmdi0G`0eBpyeC4u>DPsVq z4O<*&QLhHSmYvrP|0OEbN}Ib0ajZ0dhnzV|Hvo0gH4Xa?@L*U!4ZCq`!Sda=nbSMp zDOOL*_ZPoR8!*dOVy42G?P? z*r@fAFAwg6+p-VK>y6^kP*~C|$SCLitWr5-T)CCn2Kjn<^^2|3=p7sR(eg(f zp38WfY?O2bhKH9$lDhvkwMGLCUDQ$@5@SYjEC`~pt#B$-gqrb{1Iw@@?v+W_A)T$q z?KEaP)MmbqzUa-Y_}Dgn;#~8P@rvA8k8lfCI1)y5-}`2*BK@2J7@VgKSZ_dL`2T+6 zoHNVJgG^ecgZc^zGU;wm;kt-GO3ikT~Z%U;8mClf9{ZrEU;0fZwV#o|6B|Oa#?PA$edFTKZrzeTShhZu6C0~a8t}) zO3P}jhERwypkv2kYyLG5ZtN(-NL{9T0}>QBl{$l4g1r*?7d5K>(A)|jiOB5N{(OU zt)iPRl2AeTK_r}GZZ;|gJU;VK+NkE;-3brilVKZQQ+w_hI(EzhyPAEoxvQg1K}zkr zzrPG4bB0_lb3G7j5_aNtae}Hq72Ryri%>!6pf8+jZZRqcJU-)4#;E5xsW(xZli%q( z`a6`QHS6y0&mhv4FdPz>wH}-Y>^3bj5(|6B<``Y}7^heTZ_(fcZkEua3&s<6!YN|= zNbu^$_Z=}nyBFdj1}5G9!u8qalHXqE-GR<&s7glU=5}L^m{dxO{GB3%yGSSRE&0>fg^^n-X zV4VhEX;V&>$e6QzN=7S#n~P3ee1QL$#w6jRST@ALCwXGf|?8TQc4-K zWLOh;;q;eC*(NbBBfyd_?U>Q{H!o)nn;+{*6osmQvT@-*5tJ+DYi6e}qIct+ zqH(yFYaLSQH0wR1E@KiHQn1)#HL=kz5Cj+JuNHaI6_TrCf$L*wSuAFTs*>_L|Mx(H zqWRu+$VHaTqO&Y}3gLjihneFd6#mMkM)wEKjJl&g)mmIYoAQz|hx>Qj&o!0~GX+4v z)}V8YMq`4UVmoHWqK|skr?Q;pBV`9&BxOX0IP)n!1rW;#mVmZRYZ!^g4I^zjE#ZxC z?xxOEk4eT_uWA3j@UATBe(4STi^n_?&Hi|!*$X!5DgC7c!(bq27-%;ve#iK5w?5x6 z5DXXw+l-r!KfcN*#J&`KMu?fbn)^cVc?fjP`$00ewd~Y2eE;IC!dXKG(t zSBkg>I4>EXQSg5g+|p6>RDHIrra=0dZ!ip>Y&~V{XYmeN=@Xj+qWA9L1cj?IRkr#4 zFblpnW}B&e!2SH$;JwpJMtW1cMGM%r!gVUgO_z8rUji4#A9E5!g-vfVyFMLV>T5e= zJnLXC^|2}>qo8hflR2e=07z zosDZ1#+aUWHG0&CsusIOo9;IQHPF#HGFfhM<56r%6Ex7Ul#S{YUY=<4Vxm1g`unR zpcFXcbrpI9?>>6h2J6um1UAQ1&gL&P^Z)wxsj2gVBS4Fy`G}OdQ5i8?IWWfe^!+|Kz#c;m*WDJKV9VgvS%bH=gsZ-t6$1S%ydWEF#9eJeX)FtF7wqebQx?$sl#KAq3jFM^sJ zT2UkfM~gt-A(n2F#$-25pGHC(?XJHZ_pc9Ltiby0zanxt4 zL-C-KxlBmv07nBOyS;<12kyjK?GKr}YE1BsR3wL95X-iXSNd7~A$?{Y{-f%$#+FC0 zidU2<;sXz_6Pb@C1J*yS1-`Car%(aaP%L=u$4{TQ(TT&9t=#6iDUR87<>#*#J<#HF zBPMTs^*_&&pV8N<8GG+l*{y4VGVj<}*nW98^H5juVgtenq?W5x}-ak=KQ zF&QGHQokQEjVU>|PDvyw>j+8`Q3?L}k_xNeq*eo7zV(?UsS|5Rzg@#)TLqYZjvtuS z1f-YeFTZ$73j*O|hD0Gywmr)lSz$3Zl=}Gocz@{NHRvnS;QQW75RR@1d5Rm}ah8IW zo<;Tbp1EYMOSA~}-;TKoAYH$9G`cnUAGmA*^d~<1%{>QL`@d@#jz~l4c{2=l1F(nh zk6UrKguur38uZ@%Be4yvq zTDO0CQq_%!+ty@#l_&w5Gy9w@=HXMOD5>>B!5b-ixllebe_Gxz6e#+q=PO1& z@$+b>ZQ}5W8vJwr@k1ViX0h(abD!%xRDNa77BnbjOOiaZrO7K>l2Gv% zsL@Tjmt`tKphTI|EgcpMWy9Utl0;AdiGI!ZeXZYtTkYajsbQkcq>+SVgD7Nn^m6cu zn%O-3%QZ8qM@!|G*%-;rA$V@1siiKLK+jKjd`~3VX>MIW9R%meuh4Ma%_c;dV(I** z&Q=ZD>MASsz}jS^Sk8}-Ty>~%%p7!z-DHqzty&yhCNC(?^opddOtGRqM*z;SAF2P- zQ3n|06uMYRTdv#a86C6+o;OS=*HpUE$#L`Zg*waW&;jv)eU8*K7gd%3G=OD5Wy?6V zl1RPr7tBThTO4;JwKHqK#K*0*J+*xLy$Wi==n#$>~&Z+*t|o{luxTy~Wi z`H|rzlmKhcFv#a9?vG~uVoz6= z0J=(w!Uo5y%dLfldCg*7a|j8p8|)Qj)LX$xgdN*ta#Z7ZyI&LO7WYb|g*L1%T+U5X z;Ry90oa|8Ou#j`iVv-42k5bKJDH6)f>YAZ~i^K|j*wNAaHGn{W&qe#?o=bIg3oc)> zZ==?>)7-RluHuhem+-WkN-|t$ZV`50z7chU&p^k^BySwjctLQpLv4cWqPX%&Brv+F zzzei{k#hZIqp*oS8{J^&9&=ts^exJhE*xal2D8XQ1W!4e0Y6oJI=058tOIFW?TGh( zT7R#djrr(ne6#C%Y^1rJ-goNd%wt1n;HI9mgd4XBXpdaYA19)g=5(glQcKZ#eW`r+ zI$BUV1|Nr$xrCefCBTWK#(-tM7V?qcp3{~T;{Da9eY{#si6X9#}OO{h7`oqyO>l$na6kie^01sg{w-`@#vd@s=f%{(OY= zGKbfXV0gQ%K_{3vLI6MjsyEt4Lt*>qpb@eT5E~AG0YkF^YIJ*q7#!jR-3ZF)#+h=r#auP67hPnJmErrmr~Z`M!+fH5tzl~9a`uipZOE#$+JbI(H@O$ zaOUC`nQ^ksq-J|?UlLKhL4)WtM=at|hm3M($Uk!C0+0nzwazjeirWVVR3<{(W-8Q! zo);y}ZhcRO#?q`b*SmxSH<6`;ydk$G3Z4N0A?m&VN}Pp0oLqv@VFOy)bz+^NJfY|X z%Ansg(#b@*qDZ;!%3*|0r{!gEMo1;rSYyr7@^11F4qrRduw;5C*d!nM6td2=ae8s- z?bU8veB|-`ohPND+3jv@HD?6B>U(HpqxAy)A-j>VH4g%RksoKn)C6uPw5VqOzasqz zfsQYofzpcIYFa1Nt_nA*N;`b5T{v&m1T=qeO(ir3s(@Rwpo1Y8Ng`N83m>-N2FPe!r;H83J!N#ooS@8ZNM^;>j0`d=S(h>zhLR| zi8~$VfHy`7uA%%)vCtj@{(Kg7cyn34aU|?CEITKr4)ahW)uGhRI9Q9|+_XT&}_ zXt3FU+&w-5%etagFA){+0NCLE4~C}Lx2pugTg=07E1+e1t%L~_2Y$eau~nD- zUgmr^79h(Hu$~9j_H48ZVVra!n>qzt${i0-*+P#zkn_gDB47OfG(fgmeL3q9d>K^G zZhc*i!W7f5Krniyg!s#y*~FDAkU@Qk~i*bhUv=y%Hp(NB-HRxeY~Z zSI*<8qH9RVxjmTnQt>ITQqOXi0pKWp=>!qL{Y!i8)WFNh`8{WV37VXSRp& z`#FVaL@aOrJL&J$6~8!w?6)3t@|=4jeC@pA(F9$}NHe4fI#2^}n^0yBE|-TZ4FQc( z>63Wt6Gks25s4taT!4`OHu#pB5=}ibll3yO?*)j*2wAMQ#$ge#gKL8|MH6W#-RhU? zZR=`7HAN#CDBY@;8-O!xMM#BvqMUB2ym-+PR8RU{M-09XUjC%G^M!~A1DFHfFTSkp zZaeEz-j8#ZanM=Pt5sc|bynQml0yHDwb@Zcr3yLz(dHb(-HdhU z)OC$NHa~PG*kgXM1H9@Bw{(q;%$ypWq0uJ?XKZO38J#&jSg8F#!8S(zu+1$i8lUL! zr2c7)06W-e=et|v{-D5t?XX%{uUm1k)bwCmB#tjS8V(4B6 z6yR(h5Vqo;+95Q#3ZEtIpjh)@+V=qu>gJfD4v#LG<=Mn3mibF#=VC0-guDMIm|NJ& zDC|)sTX<$%3Zs2AEKJl$6tTvE3vB(r%RR)lpf$_ie-$ib!xSMMuUo?3tdS#Z#d@r)i+~nEX%KrBq%f_15WPEqE-nX_f{fP}#Rc#qa7X&C;rj82tF^imU!C#=1Puri z_ygGhhrhMS9N0F*lbPFOw@jXuAH}%a}X zTb!%@$H#gbyFAiloTpt#pQPVN`ATvunuqdgzzwA@7;YS=uKJ~V8#+ETKg$%VDx8-7I^tLN9z$J2k`InNX?AB}E;&|KDXu(R$JzuC7)Unop#?5P7COva$C< zYO!M~Sy7(Hf>F2fNlo3_2p!{3rQk!kVLkUZ+KVD?(1B*zF`Ao6YF^XU+x6LIbS5eb zUjoc-ABq|sa(wjfiRf_1t?-s-eH+he=o>D(XuZLn+{1Brm}pqZ@b(FGP1=j0gQ;Is z%dz^Fx!n#Uzd)aYFg$p^e*a`)jB{HPT4vwDs3Eb>6|Kxo$}F)%0=9< zc~9)J;x>n*qdd6q?*DuII!w>j%nVd2>zt{x;z*IUL8<8Q`1B(kX5hp4Lf?qhNSKeW zhOWPyAscKV8m3u2>KjDTC1pQ6sRbArn`R6IGq!2`H-G_Tk6)o67{GyZIpbHQx zFoWa&R_g?hS8UImB0mjKfi4*DYt!CEi%M%HIf%q>lhJ*G^KEw%S$)ZG6AN=B9<_b0 z-jBS7@lMTXkbRJOwe4wU^aCIY4E?0pVq~2>kh=jP&*}`P292bB))Y5pj=+1j5^L_5 z2f64geuR8O8B&XFkPciJjf*k)sbtgz{Y$%lIeOyNOhlg-oPSh?H^XwPG9&!};)!wj zRlT8&E zd-rtg8uTg6TG!p-&FWJDD2Ed(5WNp)f10(-;+{I}=XeGR%yYr%0Z#)Q!)kxSZr!v# zc;gb|OXds1jyHAyCg~N;=bCFfz$VSbf%|V1Yp-A4CgP3RO>DgEey;tbangYw`UckO zUT&80ChaC}b-KiXvwbHTpDeEqCbOgdAT#ns1S=NtkV0(2u8Na;fFr{)u{>d!;PHy= z*;C+M@!o;xwvl-E0!vTkG=x4ZUib*Q6vLN}p@UOhp$0h;dE#iV^2 z*9EO1Nm0N$g91rX44MXM){A7NK$p?AkQvA#af1k{rzjN-qC`wch)8$TO<=oQ7EHuu zimGOE71B&G^*40(JP!19f_Q?$vazv zj5NfZBeS*O)pC}Lj&K#X?C{u&ZwgPw{f%aCe5|HBx?_6rWf~>bpbfH z!uISp_Bncmt>%5s=$H9d0$4ZsagNo*7DW|N$i$h0bG2zLS)OYcll;L23LnMkui^8$ z;Gg(X|_Uz7ltep-#Kw-PqH4;zwN9JpNh6dVwg)`-`Ht0Y3HoWO#*V^1X7x7WP zbFmQ%K1V_6Mc|YFn%5mL;5+N2!MMihLq0>`8wt+(~Tv|wVWmDZX+5EI~EcRJh zK9Dea?UnZG1>bPy%AGai2~S_DeDJWrL(OF$6_@O#|5ru^X2{<*%N`!8@oa?#tC20?1GPbePhY#`96D`%15urQ zu7V4`FkC91YH@M;cLVtJr;y~&+gPmeUV4Z=bx$47Eci6uTVxNMid4$;1tSwac~yaZ z!8o-{X?Li|eY)ud2On)ELh(}x4e+X#la6ShTS!zI3*F<_d{x!E2;tR#EhMtxpA+Nn zupg;Z<+8n=KQ{{>EI$D9ndq78B@|V+t0%U-+uZO(@eE+m-oEk6`Q|^anYs=^Q(t`T z-!OFkm$$L`WbY#T@=~9B%&K#6U%rV0E*)5FCE4^dS>f|;RugIQ071c*JofpLe z6_G7N(d;tIP-@Cl%Vb?Sy`jB3fct7*8cC7KVjTJKiod=#=}5l) zvvnTV`OV5Q&8P0Ss0GZh7S?um8D73gfE{9$)oWKOZEGoBJSq5$1|#Sq@AvRIgLSKo zUIhxYv(~+vFlRhm04sG=c|In9``1=id&(h%#;uz$cWh;l#1)LiTmgv$4#Z+`P>j^* zWl}>;O;RdrvLC0OrGnaj6BcvxS%e6Q@PNUyG)bjlrPUF82aoa4L@c*MAhvsaWE8R&(cBBXPGYmQ(j_xDFgKr0ep8J5z}nA~-jSaJ5E$rs`uJqmtjRR} z*yQo9Q*}i;&+sB;c-N^I_9=p*N!|860e^nM* zPtOnoj8#i})J08?0x1x!SB91DzXM#2vEHKBc}yloMQ$3Uo7rAnx^v}wA;t_(pMYUU z`+x$NV5u%DwIl zJt>~CwZFwL)OdQ(IZlsFruKJ>>PA1$=TEAHdwJAe8#!03x5|aA>j5kk{*x>5>OgXF z?tj&EH~o)7N1jI|ahO^jSXvVVv*Y&)rCqs7Y6F)SA8N}&##C0WcZ^saD-vHVYvYt9 z>}I>?kRX8W^vQMK;IBz{JBnz%r=xEZzb*byw$`eq^*>*VJ-e$s`M zC==-qSwuLnAaQZ^PIL)Kenfa%O?NY}Gn)7zjl^MTDK7GONqChhF98C$c8 zX;;>k3RiiRZCuaZojbetk?k(+BX#h=4Y{wAPC`~soAy~n?G^HIsM(X9kK~lQb6w%1K^aN)G)t6t~J>f z=Y~SnY|+6JlXE6(Dy52)ac>M_{!HL#eHxz^bcxjfAfT|X9dvhKy2JlwAj5uw-@0_0 z^GIW$Sb&3OqrqbVpAGnfE8hit=#*eeQ<|GrP^97oy&#j}qSEuE*x|MHCBo%ic{_LD z7D@VYHIOr@K%Q_|jctPy{+omgkq)J`>>MPp6rd#FM7j_gczQ}(wnwQ_`cwQh+XG^a zpYC(W)%D%tx;dXyaI+fYexWR)sxq^eQo{Zu5a#}eC-WM!tMe{-3JO*Hz|BD|B~$vu z(!Lxut$|aS?vQ~Q?T$4KI^lA!!t?y>T=$}Ocy4wZL!FrTZSggW+skOC4Ll!xpLpA3 zXqtk-L^SQO@L#qTrYRTY|%nt{mZK4aw#kprERPP%=}BA&n1xa$6(-9uvirUT|lD0 zyzx~Irq&Mcee|~_fmtk|uU<~cXSGNSv4OCkizoeaZl*AR%43zb+ErdfP1eW%aE!Uj zj#ASqRiH!~(Y7I9=g!}5(b5SZQ;D|k@N>s(KeKE`wwt!NH0lbI`x#*V!MOgSsgFf= z12&CE%KC}N{De`qn5uRcf~4}nJ!Wf8ntq~d0qiIXd-Nko#|442&Dv{P(Bh>^O)Q`r z0w;&(5Q%uOlPyp@n+IdZnF=5;xnC&oN~Hp?ifs zkM86-I|vGd&nwY3KMHhSL$9<_W3?C3b`a$$LuEeEOz|WLu^5GytY}&7C%C}?)ZI%- zv_=Q&CLmj3f|(2_UjxOSgEViFfm(}U2YjWr{k%#ZdOKMz-ccO?MIeqF_#&SBt4aM8 zl)X_60HesJ4Yls}Ij~Xq@i5y4Cf4vL3;@l{`I6LO{{1(SXmgF-u?bD;Z@=%+nFfC4 zl}RSP8lPzXoQ%J<#1dz0HbK}kD9bw;=Wp5Y_?Hvo)-OOuq!w#AfAhQrT#ST!E+qxB zBTLl!pt>-SR@HtX*SX+ssgI;EoLS$bYlSUhaak3ahmIyIHzN>xSC$kV#F4AY#9|A$ z6qy+aA59XXgQ==bY~GzIMn~gCM`2!kxV2GNuPh9wRJC7gWNJTb_mLF_vV)EKR^S|q z-rQLxX9_mAW)FT1Vop0Ko!2T-Mhj4Mk=}XW2tDCZY2nL|MpJ;l_h3nH-U@cl=3}?# z>GnA}&9x9B)MLk1vXQCg;`GV~%>_=Ia{g-qkZ{msIC=K`9lN3!K^(5_Ha+C_U@}i) zi+=i-xiJw%V3#MwVa;^G@hR)Q%-=6Ti>cr-6esGx6J3CR(}gpBDH+W&YK6w`DXD=ab1>38JJy<2Rjj}kxm2}hN^^I(Wo~FazT}vW*YS7CQCTxbcN#qYx{*y!nkE2~oR`9@=*1fC;>%g+f-Hw~$B`h45NCl1}!4*8|c5_Q;$0%3gYSIc?4P-Hwh)A;{PE|%{ zp52}>PGk*amWTG{c_+MjCY#s$pAGO6joio*U2Fjb%j&A=f3H5 zuA@Wz&j6yiwf&iNs?Y67_N6n)ez%PwvAaDIh{2FR9=F5}(u+8@8#UQ4xAiiJ18xvq zRHE~AwsL7p8TiWuB#pntR&O&agN=V3bOSY-GRj@jNQbCz5secHxrK=JQn8Q!YWcb| zOw9gnFoGrs&bk%N+~N!YAuhP}`7f)azRusTH|Sgatw4jO33InJ${_kH6nZTa^WgsV z%G1BEe%_h$TTPj^-exw$z2GRSW}mYDA(b>rAxG*i1dIApot=YGURI3#$A`-lcV<|L zX4tM}H$!x=SVSgvDq3Uja8f0AR6W=M6cuRDTw;reaUOzvuoS6ZYqIz?GK%*hI%q+R zIAW3gys_9Diz5+d)ZmX-oMjASYaTyvkROi?fqs|J2%~nLBJ^W8aiLVpn-FpS_Twb$ zQ|U5Ncq}JngIC|spX%rs0_V82sS!+4ub0WCk<`1MoC&M7dl@L;+90zxgckCxREjHd z_5no2{e&m{i^Kg(!2bmHk6QSSA{gAkZ)XcH!jkI*3Y`Z)z#M7}1VS-0VC?Jt#!oR) zjn+WGd$k$}NDYOun9rqXNq{v#3cJq^Gy&`0 zpVnoU3D|Eixc}iQk9@@TJbZ~YQnqKeNBU8T7%>5z57bv%^Qy5kYpN%zw?Ksn#20Dx zQmQRgm;PVP-E1s9fR|c@BD)!^VQPIG*Z+<({};{W1uLRV00F&A$)cp^qKm%|<~SuX zrCq|Qd+0$QvPZDoO3wM`1Ix#JtJ}+bs%C7d{j~zK^v!f~OxFEI zsj*aE{G^(@#9)?6Z32!*lKx*Bk`)0VxNyE^!ehB5)|f#p8E;n$B&*bK!QUAlz{BZMeFT|r|!>0iCZ*m z!OXJFLIFC{9_9%+2GpCnTKeqV;8jFj$fzOCTu$=LJmQ7-YP6Uq>ncbFo7Kt`$hvG% z4wgb9QLy-O5~-Z>i+EmjWidrg`|XTz?bjfQur9Zu3uvt@t=wV06ulj_kW!0M+yqAm zs6pF%jHKCkA|6M^N*yW+}0Ma+$RA~1B`0Bf#|axFkoN77sF3IA-V<_5@1>%D)UFWeJW0;X{1iW z<>>7Q2Z<2-OlpEU6(o%Z&q$%lV`c>f2;3ZzPo)-l-CTh{P^+p{dvw0+d>gw#EJ?6g zT@rCONML^z7UxpfM95K@!`RqE!Kf^Byh=0a))T+VUX>yFoltRS`G_6fKz(E1jZ*uE z5+(@@Mn2oYNa3+qd&-%=EvX`I37iFo1NcG0+3Ze3IOB`*8pdBwxH9U5UbUSA;nt-I zrwNo7%8CmmR8$T z>*e=+0Ij{!ZQEM&l(9%Do*G$?P~M?qC&LQ?dT}*gSYj*urEY&l)E5IlEx;FQvX?~V z{m`xC3hJOq{TyN4H5U2Yd=W(bqU!{E1tbv^d1eI0tjzOR-R2p3kd*7H^Et0aFWZt| z1zJo2m5cMy2C8DREgetfaKRPp-9A)PB{ku=ppg4vDS0+(_6@Jnj{z^?83#H?C%o(l z5y)VA_an%QB-XDq*6g!yf{q{_$7|)Xl`~NdRG2KoMGNCA$Y<@00B~$xBN8nH=>)3nOda(Me3ZK17FdGE zl{HKHbxz|UBS=1!U7`lYGq`E%n*CE^$vrNOj=NVMeo9&NP_KX3h-dHo06LAEAGT5z z4Yd#rKlY^aPb*cY`S{P)D&=Y5a8D6&}j#M5G{DZ%^o zp);4E`=1>D_RNdiV}Uir!td|Xx@o}t{v6>s!*hl$Pp3_Kw*eW8pV4fg)}OrFET_}9 z8lE>iZ+w0S2n6Nh?Wj>mw>aO^*~L3wr~4H%vaz#9k>sHu(z3otQ@~%!M4EB=rOqy1 z&Oe#IEprO|dd_RlQu61tN`anIrn$JOtIw(GY&O5rK}#=u$rn4z(qzg_{|S*G7nz}o z%s~}i>bntrQ|bdB{BFPVVMXkND_)N{wjvSgrB;y(9S)UM$+IoE8psLqMHL&J+)WUZ zV)>z1^~SNcSOo@5RKhGyJGp8mTik1@&$ND&vgLm%qrkx~Zmws{)J4!iroDcx&WQ?A z7Z+l(B6{ID^HKlyf8rCCid4S|?Vnvt#eLQxP;_8}qxtqC5KU6yLG3Tt@!l zey3h_yL9ujB;-0SdO;cNGd*H3dIR7wtfa@$vyTzlDHhip#N(O;dD0An_G@|5(PPwj zjRbr%%@I||y`ELZ%r?%&X)pcR&#JFGkalcAy>sm>57Ne8QTw2Fu5}5iJ z+I2La9+l^KZxnJFMbo469f13;AlaVO%IkxC0h=8`LEM1d=H2=>y;tkWI~Ht38DIAZ zU|viNh`R~wZ9+}K^4Cb~&EWCnge0Dq0Y6x<%@($3FxIfjneXZ1P8&Is2ZSAx#1NSTWxj7Ond+H-J8JUW~Q+Qb&k8 zf6=z!nUQ>kB=Xtn-G!Gw0iVHtLDu>HbW4zVu0P|#`1oPo-Rmmy9?$A^)!N&!$n}B( zVDQCS48@6xiI;K!GihG_v7H?9Ji|*n**EXXU&PLD@63B~Czm|WpweFl%s+YBBznqp z{!Ojf^w0!IKbmrf(RuLLl62f&%`^od$Wq_KvikMEn}6RKWLRN?#t18{F!*%45cZ>2 z*Op@T|4{mU*?#W+df+H?{gq3vOzeMU=Kgyi{!JF_G#O!=O69N_O%A6Wb5+297lZkX zC-@Tkc;4+dNxuCz-JyN9_FXGbI5dMW(w_Iyp*t;IV$`QE9M0uz=CjST@82lq8gk%& z^MdTcvTA1mPRm74%0T4fle_oseueSA4gtTiiJ$?fj5tmrjS)#1wdX9c>nQm5Wsde$ zl{x=}trEu zcjrfQvB;#{1x1;%zR`WV%#6b}9q5ln9vg9!UG(Q+T^?`s{;ER(I*}0M##OAul zyBNN_5Ap$xuc{Dj4b!KOj%mjX1?-8h-FN0IL=_tNo0T#Kj`K~QIXbQ#C(>0^19;+g zCEB@tP%DbV72S!z9XliD<-w(!t~ea{AZoQfXm^THvd+ASylE*qseyG}%|Mlql{pNq zVFA5F;;?s$ijzXqMa|ANLP)rsN&1I@Pt77;RA+Lo{+(v6b`s;Yafag96#)Mmy^j7; z9L*Q@(D@&K+}GJ@@uzFVhyt|q(H|fE|9W35;Rh6f&J|$vE3u*c-rz!m@b+G#vD;=h zb~(ZB=rIa*o3Wb;ARICbK|@X#G}s7;dk7L-PH4!Cm=!^ZD6CQmLbQU`gR{3@c?-bQ z>w3p#a-bco1dv5J7=h(7>YK08CJJTI$8)Pzuz>lEkKkW_heia{ z8#*aV1|6v53dl!=5m?PxdAX?y2;Cs)6oGYfXHl#2-{^450oiI`b;FdLE%aQ!{QApZ zDcf3;sn6jMMA1%ahRss1P!Lck2vJxn^B@EYfZQCzChL&b+aiP=@DK(=CZjwol121- zLWJe25F?6LKtIUmaQFx5jE#d-8$tR#n$FXuw^L+=+`?Ic&z0^KEHb@Yov`_&|G<#Q z{x4$QP)U%_zBtk9k#aPX1~jR=`4Yb21b~IeVPsvJ(<5DDS%iVmku&=~?_XuJU6%gN z*9rP}L52j^%Hh$Ua7T!1^0S^4&3iMw^b}drz{PvM-O*B1CpLyg77(QM5gxcG!Tp0r z@3PYcHJI$*YYml6*_3y&ch~ZqoWC1OJj_*Uq_kbA`{tMgKJgqlK5fSRGO(V17F*MME z{>WEF&d@Pvxi)q>5DI|g6U%tKB}%0r7gjbbrC^YvadsQ@{Vqh`2f+#V7zD(n@23>r z!#zqSKZ?U1(^^`;{$u(3jomKLz|f9kSr*(LYx-3tv?g9MzmE z%xMN%39}^x%(^1ywO>E|RVy0D5F+K7x@O7Nh%l&@tkXNk0t5ZyQO~4ybCzL~#pXpE z&kpPNRPV73^f%hwyqHl_<^^7k=m5nLE(jV%wB9VUe_e=3m zIq03e)iroCf&3hRc=|{DAd8_jh4EO_xBqGH+nUA~CAh1c=~ty*myYaE}`H8?Q0YrGK%c5IsDI(c{)D(_{*m-)7D(>INX z=w2O|(F-B3@bFssue_ft?pIZnfS(cODpU&lF$mGYNt=XJSmxo9txD&W|;PRtY zvaO2i8j3t^bXa-^O$ah%GWR-+@^lk)QITk922&?*x_NGiga>(&5KY2$Lle4@;s#5f z-ClLaF(ZsmpBd`i=Uf<=OV7mz^7l=3PZK->ySZ=31fW_ig6Q?)*P0Vq*Kt558D3r~ z>#}`*RwCUgkrfq2j>JctwNbA@Dj8Z99k`@a8r>7KLP}AGc z`SaAH>S4n)8VKlb02)`{OKl@c_aj33{pccY3%WrxMld1)sXQFEM+K#GwL*s@RS%v> z5EMO^1k<^c%qBLcNeOt%V_!-bnnCgHW%pLKv0LzM1yI%|aB?DI>i2O;^l?TrZ=%#4 zpWSi45TJtz(FNoM7)V0QLjxMz<#JSYq#POPlg6e96&*Fz>57VUbxrJyCuPf!?R+Fu zR(=w)WyoxGw6y}bii&91vA51A9K%}~QFf-HT-{?L4poy;Gc}{c%vNXENVO^t!B@rG zBU@7yeI1CD8TQQGK#0ZF1O_^XcM18M&VW<7^H!2~_YmNMkhjbz#`{1<=jlt@pDOhbb)u<;M``66}<^G7&gVnewg)&%(HP&FdE*g z@jaKld>CRH74HKN%YqjDl~jIhh{&4&VCXKvWMu)CV9#jgwDv za_vRbcW}awY_y^Px)bID$SCHE=TOzCz%RJGFAAIBFe)z&pmKzV^jV8UYccGL^#w(> zJOn`HMwtFLBaOyhr!%gXry*1k904F}#&-8j?#Xhwz`g9hoYYYTY$r0gX4}*P3)i(TaqKlkx{hE&YfC&$lY1Sml}YEo*8^BiH($Gu7$K3OM3RFMx3&v}edEV#(e9h5 zvk_ZZ*GRMh=sx?i;(w<%e9Y&4{LH=c^3z8(;ZgB?5TW4cjc1DvUB~`Eey%Xm_~ax3 zm@YY_Kg>-qtR0xas@dSOwYCbh#TO?tSfuJ3D7^_ZFa@<>Q}IE4^QpjgJy{qTf8H20 zZU^*|rm>sNZF?+1a8*Df)?OS(gPnYh7Ut7ooV}R#94GuAXfG{=Xrx^3sNkp;rH{*( z+aT?m@w5>%x{gp+0z!tUty+rQuLE+Vm@FW5-0FN-2lp|GH*Wgb=XRRfjt-reuJ@ zqc_ildMM$>cPS5f#%B92;J6pI69ZYp6EED&(M2*4mLA#h$)F!2=q|;{VHvaIilhpsLyd-?ZRI_J`LbEMZ$W=2;{yOW4UE`?TL3EdCA#dk0Unxd}hS zJh@-D_+kDzXa9r2Z06v#()z#6W+e4XE!GJ_uXd1k+V}Wi=hfPpi&)I1mH@{U8ItwB z&mDa!AY81eeRW$NkKn?zi|J2bYN@MK;t$#M$FbIC^m;6dp3&p=@i~?id-Y_!Pt#L- zwVF)318s3;-HZZEFOKTU-qmx^gx@72pzAfYB~!3&>a?Q|gBqOeHfSt(q}FAdC-Ge^ z1HBd4;~O_Job-Nh^T8c;n|9Jezz4U#NTWULJ*d&&7ME3?3GHUW{$!Be|C~8xH(~)* z?1{Wq5jn>U9%+ z6n+)^W+x+RE4n3{+-I1MB$di0Rh`QV|5-FnswJC zq-+Y`?WE(3zqin*y_w6iBRH-QF@t*;qi z*=!5zPpZHpg>xV(6BSuG^4mD;{Wc%R6)<(Zezw(iMIDv#J~(mge%qa#m|FlP>_UkF zlFjy`OOXsGsy1E@CsjcGv-V|-wIt|GwXb*vGu@?YE%~}Liw@uMI|l5lPgvpwSgLvj ziwKURB0*3shvK|k*h(E*H}a@zwNAX+Pj{S*OP!yn(D$5D>X=?RDmxJ3qYoZpB#)A zDO%nDF3<88GUX`V9kND_E(rA+_D&C1K`dNdN4*YU~hdd&mnG2>dt$`VaY-X02 z#Iyz|4H$}El>#p*9#c82CM@I^V3lvw%w@5V%4Ma+3B$+>!R(3klFAZifSD-|ydex( zQAzU))j_55j{p`7Lsna=wIGkZ;ASsqB)=VlDeNrpXzvgqBB{!oKM1=p)(^ziP#$Bs zV~m{=rP^xX(bf!u?FGqRFv`36c+8TtWOQ#lrfOO<0a!FDr`pGxfl4E#r2S^V;>Alg z83tZG-4gS3gnXoV5;tp2U7(TLsXm#N6*0GwGM64n3A46*vnkQ&t5oD@>g+Ci@W#Yg91$Pr; z1_?C93AW;18y<=kDHUJwQ$IsUYkcjAoocN~0Z#kEOMZq37Wg#ts;V>(r+h}0zk&8< z;Df_MUI#+(jHI015(hbjpe2WuWpcv9Y1zmXQe?)8Ds^)vCt$IHgth=dqSR2!oOY68tN=q| zQ3F@FgO$5FKX(9P44oC0j*2Ln<>m%Rx#sGZ^Dz;}VRd=R0TGQC$fUJ@k`74qD0N^{%=%>1cx$E#qE|gI#rREG%Jszf}+wQWJx- z|IM2HZT771w6Ff(t3|tg-Bt2S7~i$v{*creT=s1l-c|RO;@w`h2`^z(KMo>pZWY|; zZ$Kgd1tH?jr%B|SR?&&?#v$Me8Tob>bR}NFrW8U2yFmMO7K6~d$_c)t&25`TEWfI| z+vk7$JG1rTybaC8o!dJv-2Z&=^Q!M{7q|n~Jt{Yr9H^T4W9-xHDlU!ZUAijw^n&#d zjG&1jJ4$fUl5_0>8)uy6H(nb(`S#-5=AT`(=D9Y3oij%B86F>@ePRX<#T&-4XVUfJ zk1U6qprDU-8b7igYJh^?IRL~F9BPTp06SnMKfvZ6-;-M{iUjZ#Yu)Sy@&k%Qfh#Ux zSILP11Omx(_t&>UF{GTR)&r?W8PK6ZotBdg(Q`!( z&f@|uvL(4NTkBc1q0eTJisNia)M>dea6yrZxKu|$XDa{C=uO+58WOcephk@vHEPnL zWf;(-lrFudfeaUxC>1C3R;QOdQh$7TE9^4alxBgxr1V(a=<>wGJ--^Q{AESUO7^xt zXh78q$X$qN!AU5NPC4k9Qy6kOR9K+SfRY~PaRC?ElELm29~QkfsCwQ7{^O7cZHSL> z^fhKmy?~Yrb0%{Ih?XA3eU9~oM;>LsO|I8)VK!R+PP&vo5x}sQA*JF}>${57qvUj` zP-iU*3^^ufb&146+!{zdDklb^3>a8YfEFb^@mOCks*eF^ zkvgfRcuo+1+rvS6V~#R!5YDWI6P27n;t?|16jYg~?UN!YguYB2>7>HAj(+b;We655$tXdeHU(9hlyu2B zm-D&M7H4d=Shc=y%HV}U9-&H;{pnMPRn12;Xu3i?!)fGHdTT6h0-i=`C!`^7iL>^h z$5@h4f{Zpr^54?aC|${2poKE3*9VcV4JX2)rBs~S?{@lQoU^)Cj~mr~BAf=3`E;s( z>|1)qarYfj?hqw;MIGN0&*%a(BMEh$NF1Qz`D8BCqUoaSV)R{n0YKsrGTIcZqfbef zb2*<2ZEU{M(5zT=Mr%+nlL_V?84`Cmw_v~+vka&cQHU(AYSx28U zIf=75)k*!(b-gDAa`%i?hWxj%Us{gXztUpVB8(U*lHHd>gJLboC_#H_9?g)rFUdkz ztRKMm!Z)5zlf+4*ihqYS)U0(QUbmy8+S$h7eB1s03{St~S6h$|f^3d0S<+$;WV9)$ zGEbk9F6VMS7uw?7N46?VT*~EK8COS7xxR#asf2VtB%1XIRhsNipF&LLm&{)J?kGz>9g7Yc;GrcY64kD5Y6h4Lq8GK?u0;i0vD|C$pD`lo&yk@Bj97R!OvR+R*Gm#M{v)@SycO)Z*%t9UbXk5M;$M}Z09f1#SERFpLRXHu|#n#(eAq1cm?_%eY%Mr_e|_vdp9Rh zw}g`9ZoLmbDf!1c*2O(-HB<9{Pg*~_QOI8r;{asl%guf)zF*^D)vG<X8VJ(M0FLR&i* zfXw=2>Vb66Rfb#l7&yPp^AoFvVg4XDz6^c#mti>1aNhj@X8_-qN^sPgKVB4vW|BJMT(U5$0Nq`c_z_f(G* z#TRoC`$}tmNa)}j_)DvQ*}eB&0Kh2rKVkh>!AJTdpYZ?jsraRou8jQF2mi28|Kvd= zAElMQh;{yQl6Cm_1n|FiXI}j$ckT7~lmkGAgFMgs{i99gE?e%WZ?qXZ_QI^cN!&ab zjc^5=yiyCmL(pJWfKurL5P%)?=LnkyeFXr@{P$)|2vGGf`0GPH9+1)#1r$4@rp>Xf zI3wUaE;xP~9s;;<;B(OlBR0)#-?YcVuHn&m6`G{DRFNU4nHDmV-+x!=r*Uu2;&lQy zMlqe}atob?H$+$%58^0UZq#Q|K7d4Bt7<$A@DRdu{3npv2W`VypR+LBM zRZNoN_-0Z=?DPf?zJxBDiT0g}Uop!>Ko2kj8vJ`{R38Io1 z6YgGYzQqZQsMGKez=gwE_!2ssh|sjh!mi<=S8JqbXa8wnFM%{?WB+D#zNu2J(V6*# zQORhjf*Fiy7%OuP3(c5<^ad1_W*DK52j z<-c z{}zk7m-g!$GP%nS*+tKa8na>o#j!i|cQ-Hg7ATM-V*n-MN`=yn-X1zM1G?4|cN@tD zKnnqK;cp$q51zQ=-q%C16uT=(!+e&+cf;2UFlDdK7cAM}FTQZU!DFire0KIDN2RGy zUiQq%mds~}8wWmv1zjoVY&R9Es-l)~XK{eKp_JEd*zD|oTR7J?Z1Z|bM+zX^!%ODH z?put?Fk%M^q)3`#10|)CaCr5CupwiX%&V}{tP62x*>gj{Y=*H&Kh!$_X_S47fVtK(+rvqfD~Z_+R_9?zzH>CFcSS57x! zirpo+UZ$N+N1#9=nY(RzFQI;{lnZdN5h#&4MU?D&eGBxAfc%)ol-IDz-)m8%2#)`7 zY$fbzY-TO0eBzsd1PP=_5NG6h3Z1o$3i*CBzB-ciUhG!UfvmN>ic{KA}8YNGkP2|d0%_$Y&VrcW}tWRCIGL2 zs|=491*1Hi$vXq<5RA?+((VMeTBE2vQce!?#&U~9w8Q%d(U?IOzLrd z%IXzys^Cd!qFfYfu!n?BQOG%SPEO>;J}$(woudAbRqf&%?!NqsKb?Qrzmq&DYfNp< z+jzNugL_x&2I}`-_^IbrzW$a`b54ACY1Xi1F^zdk+zY$fW&9ZcKgAE_ubz0;(&_az z#>-7EOP^0ahlTB<6;AmFy|brQny-W+mY(#`V{sJzv>Z&)nN3Pz#+O zL$c8N>gPZytP$C$@{N%z&W?eGS2h6{6)7PY5m_x7jD*n|;iP1D<#ilaSvzImko`qL zCOO(LuN=lna=OgT85_NY0n$LNA3rnGu&EH##<>nvJrJej@E9$9fjw4|dimP4D1&UA~66VjSR z_0WXgV)u^VtYy|CGb?a8W#ZEnbw?b*7PxnBu6~>xE3-_F-NP1@&0IB7ZQ{o^J7u#j z#$LsG1z&{X1yQF+TVEXT;&Myiq8|~f<~V4*I7|3virdRq@ZS( zlcO)I-fj6w=d`Xl2)mHkNv4b1W%Z_0biTgU#CG@>X|;YmtxZi_`?sEy?T+3!wEntx zaF|ZcO%Kv+WZKMJ_LT2f2m_mg3-)Ygi)JrimrjKj#?OgP*z+9ziN-!njk2jH*Z!PB z*|zDG*zIdpQGuPGX7_YTj(Vpe=??P-6Xa!^VbuJuyf>H?OaNOsbD{r)sjYX#S!G|L zmS~On=H`Gi=4kD^SAideR88RAI;79cQND;xMKQ3%r^4z!H8FWs4|lZPVFlQXS!X0* zvuBq@jH_;%{94hozTC`OT4N>Crdd7K@y3?uEB#lCM_!w0nV-Ds#^uy26X)v;J++5A zt1Z(Q@~It{QSZ!{vuv84TXILN#We8j$aVk~b708ot!$NgeO!%3 z;v?MW97eH^ZkFWX)aAF?oxybNws9P>-nkW1yiYE4VTSejEhU~)y>h=xyZ5Peve`YO zU=&MkUcP(u_{>e5+6S-W+W-bI^?Tlu`ZCzHjDMp@{|ex}Gdcx$`_pGPN^}3GoO+l5 z4g-LIH~c>sY;zJvOdC1)_;JOWDHWimID&vmTckqBFiEs3z?G;$qNqGfh+qXMsAJ+H z!I8xzg(OTSO%oEau&me5*dmJ=IK|6H7hEprDL4BYxU#sbgRiabh!)g@_P((Wqae!@SKX*KJo z#-!?9j6-bK$ItvkIn2Mn#A$_bIVC?)ZT;+3mPSm{sSDS`|WQHTUx1TwjLLR~1gpg}O# z(_0BItS>mF=sxwckNo2kmkGYo!l~7={9~WC2>JyOT+p*Mc4*R=H`@8|_KKf4hwO0X z$Pk9^sRH@@#bpyGWEl+?JVp;Ng!M2MYu>t&Cw3vyi;@lHdo(FkEVhH82w+UXGppDN z5rjUWnEQ;646F-#Hm1eSr5N|~xzOqK8Oj8W9`eFseoD%kJ(VL5R~Lns~=a&b4uR~-xH zlM+Z7C2zlf1qUh$0*eOMfxvwo;hMBppo`b_Y=<@a(ow6btfc7M+j`AgMHcfbL?{C2 z>7VAoK?pau9okes;chs~J{|L1wBnkl4rpSe@Hc`f>h#=V1S|2mVH7uvR~3SW&%5hZ z1$gh?`G%q8n*(%uH(PB;G)E7(*_j?hytwM9$d&)#J~ddery_-0Bg%8p^O4DwnTE(c zjxBg1;eB=&>0CV%>!En57KCzip-<<%Kq36ylw_^@e7QW8bK2!3Q1F$B_Spx*Eh6E; zkwBqassxTG6jidY4LU!;087N1DU2{77H1>Ev?!w-K&ezQbnhLuFiu^C3?T(&VX|%J zo7;SHj+V|6%=tw)6|19c=0F6Afz=xG%aKP$wcA;QD)(p1x>*RUT|<#?B66z&IE5$O zymF?@rJAYUETiWS{^dcyP{#2~a!;~suf&BmzF0u) zLXAGv`qPS3-Z(Br*Cb8ir^i9ET*^%tO8kjbj(+nCj@xciTzJ81>g`^ZuH1`uaB+F% z4lu)`IYbx^2cT*&sYMI@`3WbI9o+GN#%23m*Y*1$UwWpOubwsnw%vxR>FcC2Go;1r zZHWH22%XmGKR9p0$yaA{O18-u^3{(YQY;(|kW;?yjj!gl%RFCiD@(iR@Qt2FE!N^} zh5~ms24H<1e^8wSm}mZ=Yy`>W;xGMgAOdi?b0GrRLJuii!>dFisurb&$@G*gS}GqZN>wlo-Bkh|Vb#n)PqoiP#F{J& zW*;`%ID&(i%cm=shbG>fHGEs{^$CJUBq?mw#EvF0g+xyLpb*Hza1;)@X^XR3y8jSL zH!gH2+97nSHh{8veB2nUgcq^a;zJnO@nceyPXUPp5yhv>Negj&)tAQYM!BzuV*}5X zM=4_0Ctp6bk4PF)bAJo`>TFnRIT}MPvByfIE3v-s%Ln_0yDqOOGdoo*)%8lxsW!XV zL%Hm5{n)+j+s922yITJ8-nWt}qvu4fP<847d9B7;xY?-h#?lrSZ>oqY0g75 zSbjwi?~T%%It4?J#RU?u_QiG`ICY_=t1WTCXHRnK|DTLeNrXL@ z(nAMDFOQg&XrY%oRTbGiiZ9vh_zVgtumH80wRE|at@!oZ6k3kesXu#HGpj5}n6 zN~4vwu<<}j@}tG*iaptDl$aH$WvoJJsbA>TdPdY%a#Ehcb$Wmpm*#9K)>s;uIwjo8 zHS6+eH2>SO%J?3v{EHXq!>Q}aK2C(nff%e9Z2PcfS#-5*)ku2}Q{G>^2%fnzlvrCCYTZ3h>%ta} z^y0!q)*)1K;9YQnl?(4fsJfZq#K;f4>lmz3Y)dMIlbd862S^=A)-9*9>s)+R+*)MA zXvL8WS9yUpK@^pabQh}uUJ==ntCFh=yWwOtpa+{Vx+vbLisKp>g=HH^?*=(Sxy_Oa zdhz3WS$r37Jr$kW=x+ymm!Bh`6)w>chn65b|8)MqILIB&+m?s^DPgU`s|dS+-i2r| zBUhG&hzb}i2b(F5l;{dE^uSOwBaPWtLW6g*T1l{wa6ts=umk*u+^)~M<`m;hLRz8< z%JYw+yj;%AzbbIa;Od?lM6^g9!GldH^SVTPQj%Dfxk0C80kMJ;%F!ZV{~U**mPJ`J zWs(&-IfgF$9||V(TrsEn`2mwo+9-Zf+QHx9)`7{DM+hO2#f0P73OQAp@Z+m8VNuP)I?hZF{T!P%?LM=%^`sHfH=k zH9Tg>SBJ(a&}R81MSR+kPANZXhbRo&e>*FAph@19rtX+kLaem41f_|JG(A9=k(M&b zs$85TS5*vdB&%Nxtx_XaX9*>SWpP^X_b3Lp;`pK4c)?eyV)3SS!K>Uiv2`E&q{Gel zl(uu4+eoXaJ}iyF*i$<&FtM<4aPja@Y9iDIU)2rocZ<4+ks`b7fcwe06ee2q7%^kT zjuV%5N`!$N{K+PLx05_Y%2cV-q)nIJJ0wao@^;4l&Lne|psd-l=LpW3DtgG&N?CiR8-Kf8T29>Cffj;kH6HPX=Sxq&& zIn8Ze)6MrxjoJtfx3J(|_olbK>wO>k*rz`CrI6r=k@{L_-wG?dh$8#0w;xja*{`CC zE{3Am;)*Xpw|-kHNsh;zR7X{-Wm4CZr90V?GRrEvoN~*HTz&-=R@Co`qYzh8X=RnO z_o9jrN{?DqwCJ(1Nh5P_INQ1YueLw^t*-hSYSis3tpiH7?uT$+=?@Qu{9&74OP{*f zt;QOs?(Yiqwfdq}?Y=ZbpvX}f+HC)3${vDBC*-fVaK!%={lekGO_RnraAvK`m+gD?Ux zPSPwd%BpVKt{=u}Ue;|t&g*_&Vo~$R>RH@fIY3O1shPQj<@nRAZEWrA9aO4Ptwt>j zEF3(7I>dnky{TyE7$XO^j$KGhvU4CTr&v0WT0=`m&%nsU%px8_Ao0}GT4zH8UlNxs~n!G z48Yl56e?}TV6vd8$V^p!=nx=`F5%fsuCS-7I%Zp)-i%tEm~v6Uii*cl^TyWBUZ09A zT9VE#rM87SgUJ%9_P9L$JBK0w6#G*D3MiB+wMMJc8;mCNFrMN+bn6+b&F*lzaMaIlr5F{_A4EsbM=P>#f3at?-S?1fooKoa>4%}Z{?meSmrV_0gMj@=>_okg>=8r9*D#espPgbsQfLeoR|U?uBI0|KKqQeVR2rSZWU)D19>0H16$tyUmgTEVHL*l0 zlWSZpi|haN2V=a;E5c2})Ju-MFyX$jaEFhO)XdzXP_J8BS=;noR9m|gAx)iUG#u;_ z$2W)|tR9`!dx#*bw?r>%BSJ(AD|q$ZSp-p|uJ#hWTUJ?J2pfqIz1-EJCpwGR4X%6d zxi|OYJm+`j!<;j7=6U8h|7id#!p&OQ-|81lY*Px{%nFWw5fzaE2I;Ew>mk)staXO& zlDS{+{VP~s{MwbQqRC+|wKFS|Zfiv->TjYtF-d#m55!I%fNej#qm7D5+E2o^jX8Ux z74kEmP0O?}ivf))dDDg%M3P2rP;>0}QzU4DTr$Nnc$%xP(KA1Bq$QtS;2>tT2l*i3 zTw6IS8h&$QnMFx)tf#~*_VOqMZcSIf6>XefYHpSBY_Zu=C2_K=78{liAnPNG|4yQF zv&HEsQs{Gh^^X{*`Q)7oHReH`+>IyZ(+1enkKmlq&4dl-?)m+**b1_C@Pj zP#BFS0P}y?$Z*Hrr@+N;dScF;=1K`CU@4fPR$40m>;lSRSSdI;Ul`H46YH6aIEA7w z!ALY=?IP&pY>`0C83_Psb&Fj67HV0`?2_wQ6@R8zM>4uQ;{L>##9Jdjkw-k9WrR{dN|a%&)1Be$fY#r;aLXO%r^X4v zbcA9gELlYw@u>rrTjy3mLxCo>L6jgffs+CTx~Ol2P~Z5Wf6O8@%p|5y4OaZmf*cKM zv|h@}1xxSig1?tBQ8&`7NV{eksu>FV%IpVsBSpjd_2j6vm#3FcMdin$U~ zPmE(Cv{WCfYpOko(o)4WtY6r`&prB*!g}$?p&1`t4v+ohc3#=oshn@6P|7BjNfp0O z6L3q3&`!Hotur^R;P{jJ*kX&!8gA2|((}D`eIe+Arl|R!`d8`82aJlObF?3)xd#4`;h3 z1MTmmjcj^=^97Ck81WD2(ZebI%}~hr${wk|Ei_6-BVhe%i=8@l6}RaX#W6~=lE$?F zzWkwnMXm2yJ8cx*i+=r%gxpSrZH6W$TADPJlR3ejelc57UW!75wQK2R%haWBMV5m{ zRDaZJciSeM8l*Uj4mddn^$c8T_*mMw-mTS%CsLD)d`hQ1gPKGtNg9Q zX=0urj=DK^cgdLTe;=NZe?AGDe-KwFp z5O#e^wQAkl#{%RmKoiyUtk}mI1TfyET=p=IizTq`*)oaT3KIE_Ds*^&Vhu;9l=LJe zzvum_EsshrF6k%_vZDbld{m4xP3={QU9AKOsU4oz;zreoaIcvDkJGGVQ| zOS%M^(&9MGg8h!|Ez(5xg&wi)Cft1dJq6a@2*EZ_xz*l2f)hY+dDw*CjEaPkNO zOC$7w-8*1=D5HEXH;ZBQvw;{%LVDne*v`XjaTHYcmq-ggM``dtIUePLtzA=Q3i#}8 z8dMGcD%bYbDjXC`jBlf?aHD8$r0$IIT~TgJnHR({$tQk42;G`#;ligw-n5MVO{Qx& z{VV$XZU9lRZyEhuc;OX+fFvl-M#Z%#%aSX(kG{}a*1Io$ zJ`VwLl0}IY>LS?jk;U!R&qOp$U-&`hNI;_(TR#V=wne}%4zG-Z0Td(1VGDH7`DC{q zqKN-_(!cdzPdHD*@5EfU2VM%rWx}&X?Liwv-nJMdXNvL*M<+Y!bNny##dYtp$@7u1 zv;BgZ6CHJFz52w<6Sfv%oJP(4v=*CkiSQ{4bW64M!^!gS3Z&SKLs*}P0kSW+<(q|H zraOA~%xkJ0rRv68`)G-eo`aJ7R5Zur5-Lz7wPz%yR)!amQM=L8jtR-U+w1Ni)0XRu zoWDe6ZN@xy_`2srVOTqJEv~ENnver+B!SU3>o4FaZuF52Dbg@2Ci{cwe&~_aycY^? z8vkg)_fzFqHqUwR-@?9YRLEN9pym#0RmPpk1@lia-G`Au!q|>#=SBZE(1Sx}5 zLHH`AE1^ORBGjpmSb_8`CNRf$so>8#5DB%^BHbcr(ar1b4JTy6$>T1~E+AF;Wo$*` zfI{z)zAf!vkXZlA-|ZO)z|jCgRsAhr)??^rK7_h%RcV&yiyx&3HO-vC!fH!e>!h+s zQ|7=;<*qRX`>leB-Jdk%qZ9yqF4QrI_c%MKlVZnGaD&@H2Rq(uXcfq}yKqi{GhSy( z3A;E5CsE`&TfZ(?Y}Z8EGb$5yG{Jg2oPeSjJ)K%yyVX@mwE0zQ_jc&SYi>q*BF@ew zqvvPM%x%;o3(k!nSeKc|)1SIl%GQ5l8*b@U!77qBcDE~7e%v+NvslNm#ueax5=`ZT->6~BVsfinl@UsjaOLj8D zluVuMM9_&VBR*_mr$_M=I>^EikfddXPoKKA7FJ_kzW+ zXn@3sF(^>FsMN5K@mpKXx6XO58MZy*bk!v5v$a3?g*{|w16()c6)RirhB#kq_uNiS z*F-;hoDIQihHDV5`zC&cD%e4vK+o~1Uzxmz=N3U0L4ti0Kh*1 D0=ucW literal 0 HcmV?d00001 diff --git a/SourceSerif4-Bold.ttf.woff2 b/SourceSerif4-Bold.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..db57d21455c94e80aa7cca25cac803a08e1b01ec GIT binary patch literal 81320 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 N>ZPvCW|kqQ1ONsnDE9yW literal 0 HcmV?d00001 diff --git a/SourceSerif4-It.ttf.woff2 b/SourceSerif4-It.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..1cbc021a3aa22e1469542d531e9115fb78d497ec GIT binary patch literal 59860 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 literal 0 HcmV?d00001 diff --git a/SourceSerif4-Regular.ttf.woff2 b/SourceSerif4-Regular.ttf.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2db73fe2b49e8cfcaaf1d5311a610e730b8ed502 GIT binary patch literal 76180 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 literal 0 HcmV?d00001 diff --git a/actix_cors/all.html b/actix_cors/all.html index e42d95868..20f77a607 100644 --- a/actix_cors/all.html +++ b/actix_cors/all.html @@ -1,5 +1,5 @@ -List of all items in this crate

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

- \ No newline at end of file +

Structs

Enums

+ + \ No newline at end of file diff --git a/actix_cors/builder/struct.Cors.html b/actix_cors/builder/struct.Cors.html index 68e229708..dbaa79550 100644 --- a/actix_cors/builder/struct.Cors.html +++ b/actix_cors/builder/struct.Cors.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_cors/struct.Cors.html...

diff --git a/actix_cors/enum.CorsError.html b/actix_cors/enum.CorsError.html index 55255d835..1295737b2 100644 --- a/actix_cors/enum.CorsError.html +++ b/actix_cors/enum.CorsError.html @@ -1,5 +1,5 @@ -actix_cors::CorsError - Rust

Enum actix_cors::CorsError[][src]

#[non_exhaustive]pub enum CorsError {
+CorsError in actix_cors - Rust

Enum actix_cors::CorsError[][src]

#[non_exhaustive]
+pub enum CorsError {
     WildcardOrigin,
     MissingOrigin,
     MissingRequestMethod,
@@ -8,10 +8,8 @@
     OriginNotAllowed,
     MethodNotAllowed,
     HeadersNotAllowed,
-}

Errors that can occur when processing CORS guarded requests.

-

- Variants (Non-exhaustive)

-
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
WildcardOrigin

Allowed origin argument must not be wildcard (*).

+}
Expand description

Errors that can occur when processing CORS guarded requests.

+

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
WildcardOrigin

Allowed origin argument must not be wildcard (*).

MissingOrigin

Request header Origin is required but was not provided.

MissingRequestMethod

Request header Access-Control-Request-Method is required but is missing.

BadRequestMethod

Request header Access-Control-Request-Method has an invalid value.

@@ -19,34 +17,35 @@
OriginNotAllowed

Origin is not allowed to make this request.

MethodNotAllowed

Request method is not allowed.

HeadersNotAllowed

One or more request headers are not allowed.

-

Trait Implementations

impl Clone for CorsError[src]

impl Debug for CorsError[src]

impl Display for CorsError[src]

impl Error for CorsError[src]

impl ResponseError for CorsError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Returns appropriate status code for error. Read more

+

Creates full response for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_cors/error/enum.CorsError.html b/actix_cors/error/enum.CorsError.html index 17229c03c..c57541cc9 100644 --- a/actix_cors/error/enum.CorsError.html +++ b/actix_cors/error/enum.CorsError.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_cors/enum.CorsError.html...

diff --git a/actix_cors/index.html b/actix_cors/index.html index 446ae1685..b0a416f52 100644 --- a/actix_cors/index.html +++ b/actix_cors/index.html @@ -1,7 +1,6 @@ -actix_cors - Rust

Crate actix_cors[][src]

Cross-Origin Resource Sharing (CORS) controls for Actix Web.

+actix_cors - Rust

Crate actix_cors[][src]

Expand description

Cross-Origin Resource Sharing (CORS) controls for Actix Web.

This middleware can be applied to both applications and resources. Once built, a -Cors builder can be used as an argument for Actix Web’s App::wrap(), +Cors builder can be used as an argument for Actix Web’s App::wrap(), Scope::wrap(), or Resource::wrap() methods.

This CORS middleware automatically handles OPTIONS preflight requests.

Example

@@ -37,9 +36,10 @@ Ok(()) }
-

Structs

-
Cors

Builder for CORS middleware.

-

Enums

-
CorsError

Errors that can occur when processing CORS guarded requests.

-
- \ No newline at end of file +

Structs

+

Builder for CORS middleware.

+

Enums

+

Errors that can occur when processing CORS guarded requests.

+
+ + \ No newline at end of file diff --git a/actix_cors/struct.Cors.html b/actix_cors/struct.Cors.html index 24e0ef89c..8cf140ac7 100644 --- a/actix_cors/struct.Cors.html +++ b/actix_cors/struct.Cors.html @@ -1,8 +1,7 @@ -actix_cors::Cors - Rust

Struct actix_cors::Cors[][src]

pub struct Cors { /* fields omitted */ }

Builder for CORS middleware.

-

To construct a CORS middleware, call Cors::default() to create a blank, restrictive builder. +Cors in actix_cors - Rust

Struct actix_cors::Cors[][src]

pub struct Cors { /* fields omitted */ }
Expand description

Builder for CORS middleware.

+

To construct a CORS middleware, call Cors::default() to create a blank, restrictive builder. Then use any of the builder methods to customize CORS behavior.

-

The alternative Cors::permissive() constructor is available for local development, allowing +

The alternative Cors::permissive() constructor is available for local development, allowing all origins and headers, etc. The permissive constructor should not be used in production.

Errors

Errors surface in the middleware initialization phase. This means that, if you have logs enabled @@ -22,12 +21,12 @@ server will fail to start up or serve requests.

.max_age(3600); // `cors` can now be used in `App::wrap`.
-

Implementations

impl Cors[src]

pub fn permissive() -> Self[src]

A very permissive set of default for quick development. Not recommended for production use.

+

Implementations

A very permissive set of default for quick development. Not recommended for production use.

All origins, methods, request headers and exposed headers allowed. Credentials supported. Max age 1 hour. Does not send wildcard.

-

pub fn allow_any_origin(self) -> Cors[src]

Resets allowed origin list to a state where any origin is accepted.

-

See Cors::allowed_origin for more info on allowed origins.

-

pub fn allowed_origin(self, origin: &str) -> Cors[src]

Add an origin that is allowed to make requests.

+

Resets allowed origin list to a state where any origin is accepted.

+

See Cors::allowed_origin for more info on allowed origins.

+

Add an origin that is allowed to make requests.

By default, requests from all origins are accepted by CORS logic. This method allows to specify a finite set of origins to verify the value of the Origin request header.

These are origin-or-null types in the Fetch Standard.

@@ -43,41 +42,41 @@ allowed origins.

Initialization Errors

  • If supplied origin is not valid uri
  • -
  • If supplied origin is a wildcard (*). Cors::send_wildcard should be used instead.
  • +
  • If supplied origin is a wildcard (*). Cors::send_wildcard should be used instead.
-

pub fn allowed_origin_fn<F>(self, f: F) -> Cors where
    F: Fn(&HeaderValue, &RequestHead) -> bool + 'static, 
[src]

Determinate allowed origins by processing requests which didn’t match any origins specified +

Determinate allowed origins by processing requests which didn’t match any origins specified in the allowed_origin.

The function will receive two parameters, the Origin header value, and the RequestHead of each request, which can be used to determine whether to allow the request or not.

If the function returns true, the client’s Origin request header will be echoed back into the Access-Control-Allow-Origin response header.

-

pub fn allow_any_method(self) -> Cors[src]

Resets allowed methods list to all methods.

-

See Cors::allowed_methods for more info on allowed methods.

-

pub fn allowed_methods<U, M>(self, methods: U) -> Cors where
    U: IntoIterator<Item = M>,
    M: TryInto<Method>,
    <M as TryInto<Method>>::Error: Into<HttpError>, 
[src]

Set a list of methods which allowed origins can perform.

+

Resets allowed methods list to all methods.

+

See Cors::allowed_methods for more info on allowed methods.

+

Set a list of methods which allowed origins can perform.

These will be sent in the Access-Control-Allow-Methods response header as specified in the Fetch Standard CORS protocol.

Defaults to [GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE]

-

pub fn allow_any_header(self) -> Cors[src]

Resets allowed request header list to a state where any header is accepted.

-

See Cors::allowed_headers for more info on allowed request headers.

-

pub fn allowed_header<H>(self, header: H) -> Cors where
    H: TryInto<HeaderName>,
    <H as TryInto<HeaderName>>::Error: Into<HttpError>, 
[src]

Add an allowed request header.

-

See Cors::allowed_headers for more info on allowed request headers.

-

pub fn allowed_headers<U, H>(self, headers: U) -> Cors where
    U: IntoIterator<Item = H>,
    H: TryInto<HeaderName>,
    <H as TryInto<HeaderName>>::Error: Into<HttpError>, 
[src]

Set a list of request header field names which can be used when this resource is accessed by +

Resets allowed request header list to a state where any header is accepted.

+

See Cors::allowed_headers for more info on allowed request headers.

+

Add an allowed request header.

+

See Cors::allowed_headers for more info on allowed request headers.

+

Set a list of request header field names which can be used when this resource is accessed by allowed origins.

If All is set, whatever is requested by the client in Access-Control-Request-Headers will be echoed back in the Access-Control-Allow-Headers header as specified in the Fetch Standard CORS protocol.

Defaults to All.

-

pub fn expose_any_header(self) -> Cors[src]

Resets exposed response header list to a state where any header is accepted.

-

See Cors::expose_headers for more info on exposed response headers.

-

pub fn expose_headers<U, H>(self, headers: U) -> Cors where
    U: IntoIterator<Item = H>,
    H: TryInto<HeaderName>,
    <H as TryInto<HeaderName>>::Error: Into<HttpError>, 
[src]

Set a list of headers which are safe to expose to the API of a CORS API specification. +

Resets exposed response header list to a state where any header is accepted.

+

See Cors::expose_headers for more info on exposed response headers.

+

Set a list of headers which are safe to expose to the API of a CORS API specification. This corresponds to the Access-Control-Expose-Headers response header as specified in the Fetch Standard CORS protocol.

This defaults to an empty set.

-

pub fn max_age(self, max_age: impl Into<Option<usize>>) -> Cors[src]

Set a maximum time (in seconds) for which this CORS request maybe cached. +

Set a maximum time (in seconds) for which this CORS request maybe cached. This value is set as the Access-Control-Max-Age header as specified in the Fetch Standard CORS protocol.

Pass a number (of seconds) or use None to disable sending max age header.

-

pub fn send_wildcard(self) -> Cors[src]

Set to use wildcard origins.

+

Set to use wildcard origins.

If send wildcard is set and the allowed_origins parameter is All, a wildcard Access-Control-Allow-Origin response header is sent, rather than the request’s Origin header.

@@ -85,7 +84,7 @@ the Fetch Standard C allow_credentials set to true. Depending on the mode of usage, this will either result in an CorsError::CredentialsWithWildcardOrigin error during actix launch or runtime.

Defaults to false.

-

pub fn supports_credentials(self) -> Cors[src]

Allows users to make authenticated requests

+

Allows users to make authenticated requests

If true, injects the Access-Control-Allow-Credentials header in responses. This allows cookies and credentials to be submitted across domains as specified in the Fetch Standard CORS protocol.

@@ -94,40 +93,41 @@ the Fetch Standard C

Defaults to false.

A server initialization error will occur if credentials are allowed, but the Origin is set to send wildcards (*); this is not allowed by the CORS protocol.

-

pub fn disable_vary_header(self) -> Cors[src]

Disable Vary header support.

+

Disable Vary header support.

When enabled the header Vary: Origin will be returned as per the Fetch Standard implementation guidelines.

Setting this header when the Access-Control-Allow-Origin is dynamically generated (eg. when there is more than one allowed origin, and an Origin other than ‘*’ is returned) informs CDNs and other caches that the CORS headers are dynamic, and cannot be cached.

By default, Vary header support is enabled.

-

pub fn disable_preflight(self) -> Cors[src]

Disable support for preflight requests.

+

Disable support for preflight requests.

When enabled CORS middleware automatically handles OPTIONS requests. This is useful for application level middleware.

By default preflight support is enabled.

-

Trait Implementations

impl Debug for Cors[src]

impl Default for Cors[src]

fn default() -> Cors[src]

A restrictive (security paranoid) set of defaults.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

A restrictive (security paranoid) set of defaults.

No allowed origins, methods, request headers or exposed headers. Credentials not supported. No max age (will use browser’s default).

-

impl<S, B> Transform<S, ServiceRequest> for Cors where
    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
    S::Future: 'static,
    B: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = Error

Errors produced by the service.

-

type InitError = ()

Errors produced while building a transform service.

-

type Transform = CorsMiddleware<S>

The TransformService value created by this factory

-

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

impl !RefUnwindSafe for Cors

impl !Send for Cors

impl !Sync for Cors

impl Unpin for Cors

impl !UnwindSafe for Cors

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Responses produced by the service.

+

Errors produced by the service.

+

Errors produced while building a transform service.

+

The TransformService value created by this factory

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/all.html b/actix_identity/all.html index 666bca01e..440def58e 100644 --- a/actix_identity/all.html +++ b/actix_identity/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Traits

- \ No newline at end of file +

Structs

Traits

+ + \ No newline at end of file diff --git a/actix_identity/cookie/struct.CookieIdentityPolicy.html b/actix_identity/cookie/struct.CookieIdentityPolicy.html index df8335c67..2daa86539 100644 --- a/actix_identity/cookie/struct.CookieIdentityPolicy.html +++ b/actix_identity/cookie/struct.CookieIdentityPolicy.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_identity/struct.CookieIdentityPolicy.html...

diff --git a/actix_identity/identity/struct.Identity.html b/actix_identity/identity/struct.Identity.html index e1023e2db..f2b554050 100644 --- a/actix_identity/identity/struct.Identity.html +++ b/actix_identity/identity/struct.Identity.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_identity/struct.Identity.html...

diff --git a/actix_identity/index.html b/actix_identity/index.html index 477f49eeb..cb300a073 100644 --- a/actix_identity/index.html +++ b/actix_identity/index.html @@ -1,11 +1,8 @@ -actix_identity - Rust - -

Crate actix_identity[][src]

Opinionated request identity service for Actix Web apps.

-

IdentityService middleware can be used with different policies types to store +actix_identity - Rust

Crate actix_identity[][src]

Expand description

Opinionated request identity service for Actix Web apps.

+

IdentityService middleware can be used with different policies types to store identity information.

-

A cookie based policy is provided. CookieIdentityPolicy uses cookies as identity storage.

-

To access current request identity, use the Identity extractor.

+

A cookie based policy is provided. CookieIdentityPolicy uses cookies as identity storage.

+

To access current request identity, use the Identity extractor.

 use actix_web::*;
@@ -42,12 +39,13 @@ identity information.

// wrap policy into middleware identity middleware .wrap(IdentityService::new(policy)) .service(services![index, login, logout]);
-

Structs

-
CookieIdentityPolicy

Use cookies for request identity storage.

-
Identity

The extractor type to obtain your identity from a request.

-
IdentityService

Request identity middleware

-

Traits

-
IdentityPolicy

Identity policy.

-
RequestIdentity

Helper trait that allows to get Identity.

-
- \ No newline at end of file +

Structs

+

Use cookies for request identity storage.

+

The extractor type to obtain your identity from a request.

+

Request identity middleware

+

Traits

+

Identity policy.

+

Helper trait that allows to get Identity.

+
+ + \ No newline at end of file diff --git a/actix_identity/middleware/struct.IdentityService.html b/actix_identity/middleware/struct.IdentityService.html index 6c856cc63..3e4ce7226 100644 --- a/actix_identity/middleware/struct.IdentityService.html +++ b/actix_identity/middleware/struct.IdentityService.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_identity/struct.IdentityService.html...

diff --git a/actix_identity/struct.CookieIdentityPolicy.html b/actix_identity/struct.CookieIdentityPolicy.html index 7739bad5a..be36edeab 100644 --- a/actix_identity/struct.CookieIdentityPolicy.html +++ b/actix_identity/struct.CookieIdentityPolicy.html @@ -1,7 +1,4 @@ -actix_identity::CookieIdentityPolicy - Rust - -

Struct actix_identity::CookieIdentityPolicy[][src]

pub struct CookieIdentityPolicy(_);

Use cookies for request identity storage.

+CookieIdentityPolicy in actix_identity - Rust

Struct actix_identity::CookieIdentityPolicy[][src]

pub struct CookieIdentityPolicy(_);
Expand description

Use cookies for request identity storage.

See this page on MDN for details on cookie attributes.

Examples

@@ -18,49 +15,50 @@
 let app = App::new()
     // wrap policy into identity middleware
     .wrap(IdentityService::new(policy));
-

Implementations

impl CookieIdentityPolicy[src]

pub fn new(key: &[u8]) -> CookieIdentityPolicy[src]

Create new CookieIdentityPolicy instance.

+

Implementations

Create new CookieIdentityPolicy instance.

Key argument is the private key for issued cookies. If this value is changed, all issued cookie identities are invalidated.

Panics

Panics if key is less than 32 bytes in length..

-

pub fn name(self, value: impl Into<String>) -> CookieIdentityPolicy[src]

Sets the name of issued cookies.

-

pub fn path(self, value: impl Into<String>) -> CookieIdentityPolicy[src]

Sets the Path attribute of issued cookies.

-

pub fn domain(self, value: impl Into<String>) -> CookieIdentityPolicy[src]

Sets the Domain attribute of issued cookies.

-

pub fn secure(self, value: bool) -> CookieIdentityPolicy[src]

Sets the Secure attribute of issued cookies.

-

pub fn max_age(self, value: Duration) -> CookieIdentityPolicy[src]

Sets the Max-Age attribute of issued cookies.

-

pub fn max_age_secs(self, seconds: i64) -> CookieIdentityPolicy[src]

Sets the Max-Age attribute of issued cookies with given number of seconds.

-

pub fn http_only(self, http_only: bool) -> Self[src]

Sets the HttpOnly attribute of issued cookies.

+

Sets the name of issued cookies.

+

Sets the Path attribute of issued cookies.

+

Sets the Domain attribute of issued cookies.

+

Sets the Secure attribute of issued cookies.

+

Sets the Max-Age attribute of issued cookies.

+

Sets the Max-Age attribute of issued cookies with given number of seconds.

+

Sets the HttpOnly attribute of issued cookies.

By default, the HttpOnly attribute is omitted from issued cookies.

-

pub fn same_site(self, same_site: SameSite) -> Self[src]

Sets the SameSite attribute of issued cookies.

+

Sets the SameSite attribute of issued cookies.

By default, the SameSite attribute is omitted from issued cookies.

-

pub fn visit_deadline(self, deadline: Duration) -> CookieIdentityPolicy[src]

Accepts only users who have visited within given deadline.

+

Accepts only users who have visited within given deadline.

In other words, invalidate a login after some amount of inactivity. Using this feature causes updated cookies to be issued on each response in order to record the user’s last visitation timestamp.

By default, visit deadline is disabled.

-

pub fn login_deadline(self, deadline: Duration) -> CookieIdentityPolicy[src]

Accepts only users who authenticated within the given deadline.

+

Accepts only users who authenticated within the given deadline.

In other words, invalidate a login after some amount of time, regardless of activity. -While Max-Age is useful in constraining the cookie +While Max-Age is useful in constraining the cookie lifetime, it could be extended manually; using this feature encodes the deadline directly into the issued cookies, making it immutable to users.

By default, login deadline is disabled.

-

Trait Implementations

impl IdentityPolicy for CookieIdentityPolicy[src]

type Future = Ready<Result<Option<String>, Error>>

The return type of the middleware

-

type ResponseFuture = Ready<Result<(), Error>>

The return type of the middleware

-

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

The return type of the middleware

+

The return type of the middleware

+

Parse the session from request and load data from a service identity.

+

Write changes to response

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/struct.Identity.html b/actix_identity/struct.Identity.html index 4ca580616..34ac9157a 100644 --- a/actix_identity/struct.Identity.html +++ b/actix_identity/struct.Identity.html @@ -1,7 +1,4 @@ -actix_identity::Identity - Rust - -

Struct actix_identity::Identity[][src]

pub struct Identity(_);

The extractor type to obtain your identity from a request.

+Identity in actix_identity - Rust

Struct actix_identity::Identity[][src]

pub struct Identity(_);
Expand description

The extractor type to obtain your identity from a request.

 use actix_web::*;
@@ -32,13 +29,13 @@
 
     HttpResponse::Ok()
 }
-

Implementations

impl Identity[src]

pub fn identity(&self) -> Option<String>[src]

Return the claimed identity of the user associated request or None if no identity can be +

Implementations

Return the claimed identity of the user associated request or None if no identity can be found associated with the request.

-

pub fn remember(&self, identity: String)[src]

Remember identity.

-

pub fn forget(&self)[src]

This method is used to ‘forget’ the current identity on subsequent requests.

-

Trait Implementations

impl Clone for Identity[src]

impl FromRequest for Identity[src]

Extractor implementation for Identity type.

+

Remember identity.

+

This method is used to ‘forget’ the current identity on subsequent requests.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Extractor implementation for Identity type.

 use actix_identity::Identity;
@@ -52,29 +49,30 @@ found associated with the request.

"Welcome Anonymous!".to_owned() } }
-

type Config = ()

Configuration for this extractor.

-

type Error = Error

The associated error which can be returned.

-

type Future = Ready<Result<Identity, Error>>

Future that resolves to a Self.

-

Auto Trait Implementations

impl !RefUnwindSafe for Identity

impl !Send for Identity

impl !Sync for Identity

impl Unpin for Identity

impl !UnwindSafe for Identity

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Configuration for this extractor.

+

The associated error which can be returned.

+

Future that resolves to a Self.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/struct.IdentityService.html b/actix_identity/struct.IdentityService.html index 9a6bead9b..6648c31e7 100644 --- a/actix_identity/struct.IdentityService.html +++ b/actix_identity/struct.IdentityService.html @@ -1,7 +1,4 @@ -actix_identity::IdentityService - Rust - -

Struct actix_identity::IdentityService[][src]

pub struct IdentityService<T> { /* fields omitted */ }

Request identity middleware

+IdentityService in actix_identity - Rust

Struct actix_identity::IdentityService[][src]

pub struct IdentityService<T> { /* fields omitted */ }
Expand description

Request identity middleware

 use actix_web::App;
@@ -15,26 +12,27 @@
 let app = App::new()
     // wrap policy into identity middleware
     .wrap(IdentityService::new(policy));
-

Implementations

impl<T> IdentityService<T>[src]

pub fn new(backend: T) -> Self[src]

Create new identity service with specified backend.

-

Trait Implementations

impl<S, T, B> Transform<S, ServiceRequest> for IdentityService<T> where
    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
    S::Future: 'static,
    T: IdentityPolicy,
    B: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = Error

Errors produced by the service.

-

type InitError = ()

Errors produced while building a transform service.

-

type Transform = IdentityServiceMiddleware<S, T>

The TransformService value created by this factory

-

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

impl<T> !RefUnwindSafe for IdentityService<T>

impl<T> !Send for IdentityService<T>

impl<T> !Sync for IdentityService<T>

impl<T> Unpin for IdentityService<T>

impl<T> UnwindSafe for IdentityService<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Implementations

Create new identity service with specified backend.

+

Trait Implementations

Responses produced by the service.

+

Errors produced by the service.

+

Errors produced while building a transform service.

+

The TransformService value created by this factory

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/trait.IdentityPolicy.html b/actix_identity/trait.IdentityPolicy.html index 6d484a152..2cf0ada5b 100644 --- a/actix_identity/trait.IdentityPolicy.html +++ b/actix_identity/trait.IdentityPolicy.html @@ -1,15 +1,13 @@ -actix_identity::IdentityPolicy - Rust - -

Trait actix_identity::IdentityPolicy[][src]

pub trait IdentityPolicy: Sized + 'static {
+IdentityPolicy in actix_identity - Rust

Trait actix_identity::IdentityPolicy[][src]

pub trait IdentityPolicy: Sized + 'static {
     type Future: Future<Output = Result<Option<String>, Error>>;
     type ResponseFuture: Future<Output = Result<(), Error>>;
-    fn from_request(&self, req: &mut ServiceRequest) -> Self::Future;
-
fn to_response<B>(
        &self,
        identity: Option<String>,
        changed: bool,
        response: &mut ServiceResponse<B>
    ) -> Self::ResponseFuture; -}

Identity policy.

-

Associated Types

type Future: Future<Output = Result<Option<String>, Error>>[src]

The return type of the middleware

-

type ResponseFuture: Future<Output = Result<(), Error>>[src]

The return type of the middleware

-
Loading content...

Required methods

fn from_request(&self, req: &mut ServiceRequest) -> Self::Future[src]

Parse the session from request and load data from a service identity.

-

fn to_response<B>(
    &self,
    identity: Option<String>,
    changed: bool,
    response: &mut ServiceResponse<B>
) -> Self::ResponseFuture
[src]

Write changes to response

-
Loading content...

Implementors

impl IdentityPolicy for CookieIdentityPolicy[src]

type Future = Ready<Result<Option<String>, Error>>

type ResponseFuture = Ready<Result<(), Error>>

Loading content...
- \ No newline at end of file + fn from_request(&self, req: &mut ServiceRequest) -> Self::Future; +
fn to_response<B>(
        &self,
        identity: Option<String>,
        changed: bool,
        response: &mut ServiceResponse<B>
    ) -> Self::ResponseFuture; +}
Expand description

Identity policy.

+

Associated Types

The return type of the middleware

+

The return type of the middleware

+

Required methods

Parse the session from request and load data from a service identity.

+

Write changes to response

+

Implementors

+ + \ No newline at end of file diff --git a/actix_identity/trait.RequestIdentity.html b/actix_identity/trait.RequestIdentity.html index d8ba57d25..87f8111ea 100644 --- a/actix_identity/trait.RequestIdentity.html +++ b/actix_identity/trait.RequestIdentity.html @@ -1,10 +1,8 @@ -actix_identity::RequestIdentity - Rust - -

Trait actix_identity::RequestIdentity[][src]

pub trait RequestIdentity {
+RequestIdentity in actix_identity - Rust

Trait actix_identity::RequestIdentity[][src]

pub trait RequestIdentity {
     fn get_identity(&self) -> Option<String>;
-}

Helper trait that allows to get Identity.

+}
Expand description

Helper trait that allows to get Identity.

It could be used in middleware but identity policy must be set before any other middleware that needs identity. RequestIdentity is implemented both for ServiceRequest and HttpRequest.

-

Required methods

Loading content...

Implementors

impl<T> RequestIdentity for T where
    T: HttpMessage, 
[src]

Loading content...
- \ No newline at end of file +

Required methods

Implementors

+ + \ No newline at end of file diff --git a/actix_protobuf/all.html b/actix_protobuf/all.html index 4b317dcfd..661918344 100644 --- a/actix_protobuf/all.html +++ b/actix_protobuf/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

Traits

- \ No newline at end of file +

Structs

Enums

Traits

+ + \ No newline at end of file diff --git a/actix_protobuf/enum.ProtoBufPayloadError.html b/actix_protobuf/enum.ProtoBufPayloadError.html index 77a88606b..83a6da4f2 100644 --- a/actix_protobuf/enum.ProtoBufPayloadError.html +++ b/actix_protobuf/enum.ProtoBufPayloadError.html @@ -1,39 +1,35 @@ -actix_protobuf::ProtoBufPayloadError - Rust - -

Enum actix_protobuf::ProtoBufPayloadError[][src]

pub enum ProtoBufPayloadError {
+ProtoBufPayloadError in actix_protobuf - Rust

Enum actix_protobuf::ProtoBufPayloadError[][src]

pub enum ProtoBufPayloadError {
     Overflow,
     ContentType,
     Serialize(ProtoBufEncodeError),
     Deserialize(ProtoBufDecodeError),
     Payload(PayloadError),
-}

- Variants

-
Overflow

Payload size is bigger than 256k

+}

Variants

Overflow

Payload size is bigger than 256k

ContentType

Content type error

Serialize error

Deserialize(ProtoBufDecodeError)

Deserialize error

Payload(PayloadError)

Payload error

-

Trait Implementations

impl Debug for ProtoBufPayloadError[src]

impl Display for ProtoBufPayloadError[src]

impl From<DecodeError> for ProtoBufPayloadError[src]

impl From<PayloadError> for ProtoBufPayloadError[src]

impl ResponseError for ProtoBufPayloadError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Performs the conversion.

+

Creates full response for error. Read more

+

Returns appropriate status code for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/index.html b/actix_protobuf/index.html index b74347667..1335e3be1 100644 --- a/actix_protobuf/index.html +++ b/actix_protobuf/index.html @@ -1,8 +1,6 @@ -actix_protobuf - Rust - -

Crate actix_protobuf[][src]

Structs

-
ProtoBuf
ProtoBufConfig
ProtoBufMessage

Enums

-
ProtoBufPayloadError

Traits

-
ProtoBufResponseBuilder
- \ No newline at end of file +actix_protobuf - Rust

Crate actix_protobuf[][src]

Structs

+

Enums

+

Traits

+
+ + \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBuf.html b/actix_protobuf/struct.ProtoBuf.html index 9a16a419f..cbe641b4d 100644 --- a/actix_protobuf/struct.ProtoBuf.html +++ b/actix_protobuf/struct.ProtoBuf.html @@ -1,34 +1,32 @@ -actix_protobuf::ProtoBuf - Rust - -

Struct actix_protobuf::ProtoBuf[][src]

pub struct ProtoBuf<T: Message>(pub T);

Trait Implementations

impl<T: Message> Debug for ProtoBuf<T> where
    T: Debug
[src]

impl<T: Message> Deref for ProtoBuf<T>[src]

type Target = T

The resulting type after dereferencing.

-

impl<T: Message> DerefMut for ProtoBuf<T>[src]

impl<T: Message> Display for ProtoBuf<T> where
    T: Display
[src]

impl<T> FromRequest for ProtoBuf<T> where
    T: Message + Default + 'static, 
[src]

type Config = ProtoBufConfig

Configuration for this extractor.

-

type Error = Error

The associated error which can be returned.

-

type Future = LocalBoxFuture<'static, Result<Self, Error>>

Future that resolves to a Self.

-

impl<T: Message + Default> Responder for ProtoBuf<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for ProtoBuf<T> where
    T: RefUnwindSafe

impl<T> Send for ProtoBuf<T>

impl<T> Sync for ProtoBuf<T>

impl<T> Unpin for ProtoBuf<T> where
    T: Unpin

impl<T> UnwindSafe for ProtoBuf<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +ProtoBuf in actix_protobuf - Rust

Struct actix_protobuf::ProtoBuf[][src]

pub struct ProtoBuf<T: Message>(pub T);

Trait Implementations

Formats the value using the given formatter. Read more

+

The resulting type after dereferencing.

+

Dereferences the value.

+

Mutably dereferences the value.

+

Formats the value using the given formatter. Read more

+

Configuration for this extractor.

+

The associated error which can be returned.

+

Future that resolves to a Self.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Convert self to HttpResponse.

+

Override a status code for a Responder. Read more

+

Insert header to the final response. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBufConfig.html b/actix_protobuf/struct.ProtoBufConfig.html index dc647b026..42c055bb7 100644 --- a/actix_protobuf/struct.ProtoBufConfig.html +++ b/actix_protobuf/struct.ProtoBufConfig.html @@ -1,21 +1,19 @@ -actix_protobuf::ProtoBufConfig - Rust - -

Struct actix_protobuf::ProtoBufConfig[][src]

pub struct ProtoBufConfig { /* fields omitted */ }

Implementations

impl ProtoBufConfig[src]

pub fn limit(&mut self, limit: usize) -> &mut Self[src]

Change max size of payload. By default max size is 256Kb

-

Trait Implementations

impl Default for ProtoBufConfig[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +ProtoBufConfig in actix_protobuf - Rust

Struct actix_protobuf::ProtoBufConfig[][src]

pub struct ProtoBufConfig { /* fields omitted */ }

Implementations

Change max size of payload. By default max size is 256Kb

+

Trait Implementations

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBufMessage.html b/actix_protobuf/struct.ProtoBufMessage.html index 9b989c897..17b73bf02 100644 --- a/actix_protobuf/struct.ProtoBufMessage.html +++ b/actix_protobuf/struct.ProtoBufMessage.html @@ -1,87 +1,85 @@ -actix_protobuf::ProtoBufMessage - Rust - -

Struct actix_protobuf::ProtoBufMessage[][src]

pub struct ProtoBufMessage<T: Message + Default> { /* fields omitted */ }

Implementations

impl<T: Message + Default> ProtoBufMessage<T>[src]

pub fn new(req: &HttpRequest, payload: &mut Payload) -> Self[src]

Create ProtoBufMessage for request.

-

pub fn limit(self, limit: usize) -> Self[src]

Change max size of payload. By default max size is 256Kb

-

Trait Implementations

impl<T: Message + Default + 'static> Future for ProtoBufMessage<T>[src]

type Output = Result<T, ProtoBufPayloadError>

The type of value produced on completion.

-
- \ No newline at end of file +

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/trait.ProtoBufResponseBuilder.html b/actix_protobuf/trait.ProtoBufResponseBuilder.html index 5dd85ffc2..0283ba958 100644 --- a/actix_protobuf/trait.ProtoBufResponseBuilder.html +++ b/actix_protobuf/trait.ProtoBufResponseBuilder.html @@ -1,7 +1,5 @@ -actix_protobuf::ProtoBufResponseBuilder - Rust - -

Trait actix_protobuf::ProtoBufResponseBuilder[][src]

pub trait ProtoBufResponseBuilder {
+ProtoBufResponseBuilder in actix_protobuf - Rust

Trait actix_protobuf::ProtoBufResponseBuilder[][src]

pub trait ProtoBufResponseBuilder {
     fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>;
-}

Required methods

fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>[src]

Loading content...

Implementations on Foreign Types

impl ProtoBufResponseBuilder for HttpResponseBuilder[src]

Loading content...

Implementors

Loading content...
- \ No newline at end of file +}

Required methods

Implementations on Foreign Types

Implementors

+ + \ No newline at end of file diff --git a/actix_redis/all.html b/actix_redis/all.html index 7875508f0..877498f74 100644 --- a/actix_redis/all.html +++ b/actix_redis/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

- \ No newline at end of file +

Structs

Enums

+ + \ No newline at end of file diff --git a/actix_redis/enum.Error.html b/actix_redis/enum.Error.html index d65fe3173..001dace1a 100644 --- a/actix_redis/enum.Error.html +++ b/actix_redis/enum.Error.html @@ -1,38 +1,34 @@ -actix_redis::Error - Rust - -

Enum actix_redis::Error[][src]

pub enum Error {
-    Redis(Error),
+Error in actix_redis - Rust

Enum actix_redis::Error[][src]

pub enum Error {
+    Redis(Error),
     NotConnected,
     Disconnected,
-}

General purpose actix redis error

-

- Variants

-
Redis(Error)
NotConnected

Receiving message during reconnecting

+}
Expand description

General purpose actix redis error

+

Variants

Redis(Error)
NotConnected

Receiving message during reconnecting

Disconnected

Cancel all waters when connection get dropped

-

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

impl ResponseError for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Returns appropriate status code for error. Read more

+

Creates full response for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/enum.RespError.html b/actix_redis/enum.RespError.html index 8d6a685f5..ad1e97690 100644 --- a/actix_redis/enum.RespError.html +++ b/actix_redis/enum.RespError.html @@ -1,18 +1,13 @@ -actix_redis::RespError - Rust - -

Enum actix_redis::RespError[]

pub enum RespError {
+RespError in actix_redis - Rust

Enum actix_redis::RespError[]

pub enum RespError {
     Internal(String),
     IO(Error),
-    RESP(StringOption<RespValue>),
+    RESP(StringOption<RespValue>),
     Remote(String),
     Connection(ConnectionReason),
     Unexpected(String),
-}

- Variants

-
Internal(String)

A non-specific internal error that prevented an operation from completing

+}

Variants

Internal(String)

A non-specific internal error that prevented an operation from completing

IO(Error)

An IO error occurred

-

A RESP parsing/serialising error occurred

+

A RESP parsing/serialising error occurred

Remote(String)

A remote error

Connection(ConnectionReason)

Error creating a connection, or an error with a connection being closed unexpectedly

Unexpected(String)

An unexpected error. In this context “unexpected” means @@ -21,29 +16,30 @@ chains of futures; but it occurring at runtime should be considered a catastroph failure.

If any error is propagated this way that needs to be handled, then it should be made into a proper option.

-

Trait Implementations

impl Debug for Error

impl Display for Error

impl Error for Error

impl From<Error> for Error

impl From<Error> for Error[src]

impl<T> From<TrySendError<T>> for Error where
    T: 'static + Send

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/enum.RespValue.html b/actix_redis/enum.RespValue.html index b058548fb..a419167ce 100644 --- a/actix_redis/enum.RespValue.html +++ b/actix_redis/enum.RespValue.html @@ -1,62 +1,58 @@ -actix_redis::RespValue - Rust - -

Enum actix_redis::RespValue[]

Expand description

A single RESP value, this owns the data that is read/to-be written to Redis.

It is cloneable to allow multiple copies to be delivered in certain circumstances, e.g. multiple subscribers to the same topic.

-

- Variants

-
Nil

Zero, one or more other RespValues.

+

Variants

Nil

Zero, one or more other RespValues.

BulkString(Vec<u8, Global>)

A bulk string. In Redis terminology a string is a byte-array, so this is stored as a vector of u8s to allow clients to interpret the bytes as appropriate.

Error(String)

An error from the Redis server

Integer(i64)

Redis documentation defines an integer as being a signed 64-bit integer: https://redis.io/topics/protocol#resp-integers

-
SimpleString(String)

Implementations

impl RespValue

pub fn append<T>(self, other: impl IntoIterator<Item = T>) -> RespValue where
    T: Into<RespValue>, 

Convenience function for building dynamic Redis commands with variable numbers of +

SimpleString(String)

Implementations

Convenience function for building dynamic Redis commands with variable numbers of arguments, e.g. RPUSH

This will panic if called for anything other than arrays

-

pub fn push<T>(&mut self, item: T) where
    T: Into<RespValue>, 

Push item to Resp array

+

Push item to Resp array

This will panic if called for anything other than arrays

-

Trait Implementations

impl Clone for RespValue

impl Debug for RespValue

impl Eq for RespValue

impl<'a> From<&'a [u8]> for RespValue

impl<'a> From<&'a String> for RespValue

impl<'a> From<&'a str> for RespValue

impl<'a> From<Arc<str>> for RespValue

impl<'a> From<String> for RespValue

impl<'a> From<Vec<u8, Global>> for RespValue

impl<'a> From<usize> for RespValue

impl FromResp for RespValue

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Return a Result containing either Self or Error. Errors can occur due to either: a) the particular RespValue being incompatible with the required type, or b) a remote Redis error occuring. Read more

-

impl PartialEq<RespValue> for RespValue

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl StructuralEq for RespValue

impl StructuralPartialEq for RespValue

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/enum.SameSite.html b/actix_redis/enum.SameSite.html index e24215855..3618a35cb 100644 --- a/actix_redis/enum.SameSite.html +++ b/actix_redis/enum.SameSite.html @@ -1,11 +1,8 @@ -actix_redis::SameSite - Rust - -

Enum actix_redis::SameSite[][src]

Expand description

The SameSite cookie attribute.

A cookie with a SameSite attribute is imposed restrictions on when it is sent to the origin server in a cross-site request. If the SameSite attribute is “Strict”, then the cookie is never sent in cross-site requests. @@ -21,12 +18,10 @@ initally or passing None to HTTP draft! Its meaning and definition are subject to change.

-

- Variants

-
Strict

The “Strict” SameSite attribute.

+

Variants

Strict

The “Strict” SameSite attribute.

Lax

The “Lax” SameSite attribute.

None

The “None” SameSite attribute.

-

Implementations

impl SameSite[src]

pub fn is_strict(&self) -> bool[src]

Returns true if self is SameSite::Strict and false otherwise.

+

Implementations

Returns true if self is SameSite::Strict and false otherwise.

Example

 use cookie::SameSite;
@@ -35,7 +30,7 @@ definition are subject to change.

assert!(strict.is_strict()); assert!(!strict.is_lax()); assert!(!strict.is_none());
-

pub fn is_lax(&self) -> bool[src]

Returns true if self is SameSite::Lax and false otherwise.

+

Returns true if self is SameSite::Lax and false otherwise.

Example

 use cookie::SameSite;
@@ -44,7 +39,7 @@ definition are subject to change.

assert!(lax.is_lax()); assert!(!lax.is_strict()); assert!(!lax.is_none());
-

pub fn is_none(&self) -> bool[src]

Returns true if self is SameSite::None and false otherwise.

+

Returns true if self is SameSite::None and false otherwise.

Example

 use cookie::SameSite;
@@ -53,34 +48,35 @@ definition are subject to change.

assert!(none.is_none()); assert!(!none.is_lax()); assert!(!none.is_strict());
-

Trait Implementations

impl Clone for SameSite[src]

impl Copy for SameSite[src]

impl Debug for SameSite[src]

impl Display for SameSite[src]

impl Eq for SameSite[src]

impl Hash for SameSite[src]

impl PartialEq<SameSite> for SameSite[src]

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl StructuralEq for SameSite[src]

impl StructuralPartialEq for SameSite[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/index.html b/actix_redis/index.html index d112bf993..59ab903f0 100644 --- a/actix_redis/index.html +++ b/actix_redis/index.html @@ -1,14 +1,12 @@ -actix_redis - Rust - -

Crate actix_redis[][src]

Redis integration for Actix and session store for Actix Web.

-

Structs

-
Command

Command for send data to Redis

-
RedisActor

Redis communication actor

-
RedisSession

Use redis as session storage.

-

Enums

-
Error

General purpose actix redis error

-
RespError
RespValue

A single RESP value, this owns the data that is read/to-be written to Redis.

-
SameSite

The SameSite cookie attribute.

-
- \ No newline at end of file +actix_redis - Rust

Crate actix_redis[][src]

Expand description

Redis integration for Actix and session store for Actix Web.

+

Structs

+

Command for send data to Redis

+

Redis communication actor

+

Use redis as session storage.

+

Enums

+

General purpose actix redis error

+

A single RESP value, this owns the data that is read/to-be written to Redis.

+

The SameSite cookie attribute.

+
+ + \ No newline at end of file diff --git a/actix_redis/redis/struct.Command.html b/actix_redis/redis/struct.Command.html index 1b7696c54..b1baed22f 100644 --- a/actix_redis/redis/struct.Command.html +++ b/actix_redis/redis/struct.Command.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_redis/struct.Command.html...

diff --git a/actix_redis/redis/struct.RedisActor.html b/actix_redis/redis/struct.RedisActor.html index ee86750c4..e2d9e4572 100644 --- a/actix_redis/redis/struct.RedisActor.html +++ b/actix_redis/redis/struct.RedisActor.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_redis/struct.RedisActor.html...

diff --git a/actix_redis/session/struct.RedisSession.html b/actix_redis/session/struct.RedisSession.html index 069093cae..ff6040536 100644 --- a/actix_redis/session/struct.RedisSession.html +++ b/actix_redis/session/struct.RedisSession.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_redis/struct.RedisSession.html...

diff --git a/actix_redis/struct.Command.html b/actix_redis/struct.Command.html index bd86242ed..ba3738852 100644 --- a/actix_redis/struct.Command.html +++ b/actix_redis/struct.Command.html @@ -1,25 +1,23 @@ -actix_redis::Command - Rust - -

Struct actix_redis::Command[][src]

pub struct Command(pub RespValue);

Command for send data to Redis

-

Trait Implementations

impl Debug for Command[src]

impl Handler<Command> for RedisActor[src]

type Result = ResponseFuture<Result<RespValue, Error>>

The type of value that this handler will return. Read more

-

impl Message for Command[src]

type Result = Result<RespValue, Error>

The type of value that this message will resolved with if it is +Command in actix_redis - Rust

Struct actix_redis::Command[][src]

pub struct Command(pub RespValue);
Expand description

Command for send data to Redis

+

Trait Implementations

Formats the value using the given formatter. Read more

+

The type of value that this handler will return. Read more

+

This method is called for every message received by this actor.

+

The type of value that this message will resolved with if it is successful. Read more

-

Auto Trait Implementations

impl RefUnwindSafe for Command

impl Send for Command

impl Sync for Command

impl Unpin for Command

impl UnwindSafe for Command

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/struct.RedisActor.html b/actix_redis/struct.RedisActor.html index 6baf79d04..5a9c926f2 100644 --- a/actix_redis/struct.RedisActor.html +++ b/actix_redis/struct.RedisActor.html @@ -1,39 +1,37 @@ -actix_redis::RedisActor - Rust - -

Struct actix_redis::RedisActor[][src]

pub struct RedisActor { /* fields omitted */ }

Redis communication actor

-

Implementations

impl RedisActor[src]

pub fn start<S: Into<String>>(addr: S) -> Addr<RedisActor>[src]

Start new Supervisor with RedisActor.

-

Trait Implementations

impl Actor for RedisActor[src]

type Context = Context<Self>

Actor execution context type

-

Start new actor in arbiter’s thread.

+

Start a new asynchronous actor given a Context. Read more

+

The type of value that this handler will return. Read more

+

This method is called for every message received by this actor.

+

Called for every message emitted by the stream.

+

Called when stream emits first item. Read more

+

Called when stream finishes. Read more

+

Register a Stream to the actor context.

+

Called when the supervisor restarts a failed actor.

+

Called when the writer emits error. Read more

+

Called when the writer finishes. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/struct.RedisSession.html b/actix_redis/struct.RedisSession.html index c24afc26a..18fb90525 100644 --- a/actix_redis/struct.RedisSession.html +++ b/actix_redis/struct.RedisSession.html @@ -1,49 +1,47 @@ -actix_redis::RedisSession - Rust - -

Struct actix_redis::RedisSession[][src]

pub struct RedisSession(_);

Use redis as session storage.

+RedisSession in actix_redis - Rust

Struct actix_redis::RedisSession[][src]

pub struct RedisSession(_);
Expand description

Use redis as session storage.

You need to pass an address of the redis server and random value to the constructor of RedisSession. This is private key for cookie session, When this value is changed, all session data is lost.

Constructor panics if key length is less than 32 bytes.

-

Implementations

impl RedisSession[src]

pub fn new<S: Into<String>>(addr: S, key: &[u8]) -> RedisSession[src]

Create new redis session backend

+

Implementations

Create new redis session backend

  • addr - address of the redis server
-

pub fn ttl(self, ttl: u32) -> Self[src]

Set time to live in seconds for session value.

-

pub fn cookie_name(self, name: &str) -> Self[src]

Set custom cookie name for session ID.

-

pub fn cookie_path(self, path: &str) -> Self[src]

Set custom cookie path.

-

pub fn cookie_domain(self, domain: &str) -> Self[src]

Set custom cookie domain.

-

pub fn cookie_secure(self, secure: bool) -> Self[src]

Set custom cookie secure.

+

Set time to live in seconds for session value.

+

Set custom cookie name for session ID.

+

Set custom cookie path.

+

Set custom cookie domain.

+

Set custom cookie secure.

If the secure field is set, a cookie will only be transmitted when the connection is secure - i.e. https.

Default is false.

-

pub fn cookie_max_age(self, max_age: impl Into<Option<Duration>>) -> Self[src]

Set custom cookie max-age.

+

Set custom cookie max-age.

Use None for session-only cookies.

-

pub fn cookie_same_site(self, same_site: SameSite) -> Self[src]

Set custom cookie SameSite attribute.

+

Set custom cookie SameSite attribute.

By default, the attribute is omitted.

-

pub fn cookie_http_only(self, http_only: bool) -> Self[src]

Set custom cookie HttpOnly policy.

+

Set custom cookie HttpOnly policy.

Default is true.

-

pub fn cache_keygen(self, keygen: Box<dyn Fn(&str) -> String>) -> Self[src]

Set a custom cache key generation strategy, expecting session key as input.

-

Trait Implementations

impl<S, B> Transform<S, ServiceRequest> for RedisSession where
    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
    S::Future: 'static,
    B: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = S::Error

Errors produced by the service.

-

type Transform = RedisSessionMiddleware<S>

The TransformService value created by this factory

-

type InitError = ()

Errors produced while building a transform service.

-

type Future = LocalBoxFuture<'static, Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Set a custom cache key generation strategy, expecting session key as input.

+

Trait Implementations

Responses produced by the service.

+

Errors produced by the service.

+

The TransformService value created by this factory

+

Errors produced while building a transform service.

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/all.html b/actix_session/all.html index 4480d7516..dbcc63751 100644 --- a/actix_session/all.html +++ b/actix_session/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

Traits

- \ No newline at end of file +

Structs

Enums

Traits

+ + \ No newline at end of file diff --git a/actix_session/cookie/struct.CookieSession.html b/actix_session/cookie/struct.CookieSession.html index 988b04316..305ee80e0 100644 --- a/actix_session/cookie/struct.CookieSession.html +++ b/actix_session/cookie/struct.CookieSession.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_session/struct.CookieSession.html...

diff --git a/actix_session/enum.SessionStatus.html b/actix_session/enum.SessionStatus.html index 21bebbd60..d3df888f5 100644 --- a/actix_session/enum.SessionStatus.html +++ b/actix_session/enum.SessionStatus.html @@ -1,15 +1,10 @@ -actix_session::SessionStatus - Rust - -

Enum actix_session::SessionStatus[][src]

pub enum SessionStatus {
+SessionStatus in actix_session - Rust

Enum actix_session::SessionStatus[][src]

pub enum SessionStatus {
     Changed,
     Purged,
     Renewed,
     Unchanged,
-}

Status of a Session.

-

- Variants

-
Changed

Session has been updated and requires a new persist operation.

+}
Expand description

Status of a Session.

+

Variants

Changed

Session has been updated and requires a new persist operation.

Purged

Session is flagged for deletion and should be removed from client and server.

Most operations on the session after purge flag is set should have no effect.

Renewed

Session is flagged for refresh.

@@ -19,30 +14,31 @@ be notified of the refresh.

Unchanged

Session is unchanged from when last seen (if exists).

This state also captures new (previously unissued) sessions such as a user’s first site visit.

-

Trait Implementations

impl Clone for SessionStatus[src]

impl Debug for SessionStatus[src]

impl Default for SessionStatus[src]

impl PartialEq<SessionStatus> for SessionStatus[src]

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl StructuralPartialEq for SessionStatus[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/index.html b/actix_session/index.html index 9596eff42..f2eddbdbc 100644 --- a/actix_session/index.html +++ b/actix_session/index.html @@ -1,13 +1,10 @@ -actix_session - Rust - -

Crate actix_session[][src]

Sessions for Actix Web.

+actix_session - Rust

Crate actix_session[][src]

Expand description

Sessions for Actix Web.

Provides a general solution for session management. Session middleware could provide different implementations which could be accessed via general session API.

This crate provides a general solution for session management and includes a cookie backend. Other backend implementations can be built to use persistent or key-value stores, for example.

-

In general, some session middleware, such as a CookieSession is initialized and applied. -To access session data, the Session extractor must be used. This extractor allows reading +

In general, some session middleware, such as a CookieSession is initialized and applied. +To access session data, the Session extractor must be used. This extractor allows reading modifying session data.

@@ -37,12 +34,13 @@ modifying session data.

.run() .await }
-

Structs

-
CookieSession

Use cookies for session storage.

-
Session

The high-level interface you use to modify session data.

-

Enums

-
SessionStatus

Status of a Session.

-

Traits

-
UserSession

Extraction of a Session object.

-
- \ No newline at end of file +

Structs

+

Use cookies for session storage.

+

The high-level interface you use to modify session data.

+

Enums

+

Status of a Session.

+

Traits

+

Extraction of a Session object.

+
+ + \ No newline at end of file diff --git a/actix_session/struct.CookieSession.html b/actix_session/struct.CookieSession.html index 4f1bf9727..b134c279e 100644 --- a/actix_session/struct.CookieSession.html +++ b/actix_session/struct.CookieSession.html @@ -1,7 +1,4 @@ -actix_session::CookieSession - Rust - -

Struct actix_session::CookieSession[][src]

pub struct CookieSession(_);

Use cookies for session storage.

+CookieSession in actix_session - Rust

Struct actix_session::CookieSession[][src]

pub struct CookieSession(_);
Expand description

Use cookies for session storage.

CookieSession creates sessions which are limited to storing fewer than 4000 bytes of data (as the payload must fit into a single cookie). An Internal Server Error is generated if the session contains more @@ -32,44 +29,45 @@ cause troubles when reading cookie, if they are not properly percent encoded.

path("/") .secure(true)) .service(web::resource("/").to(|| HttpResponse::Ok()));
-

Implementations

impl CookieSession[src]

pub fn signed(key: &[u8]) -> CookieSession[src]

Construct new signed CookieSession instance.

+

Implementations

Construct new signed CookieSession instance.

Panics if key length is less than 32 bytes.

-

pub fn private(key: &[u8]) -> CookieSession[src]

Construct new private CookieSession instance.

+

Construct new private CookieSession instance.

Panics if key length is less than 32 bytes.

-

pub fn path<S: Into<String>>(self, value: S) -> CookieSession[src]

Sets the path field in the session cookie being built.

-

pub fn name<S: Into<String>>(self, value: S) -> CookieSession[src]

Sets the name field in the session cookie being built.

-

pub fn domain<S: Into<String>>(self, value: S) -> CookieSession[src]

Sets the domain field in the session cookie being built.

-

pub fn lazy(self, value: bool) -> CookieSession[src]

When true, prevents adding session cookies to responses until +

Sets the path field in the session cookie being built.

+

Sets the name field in the session cookie being built.

+

Sets the domain field in the session cookie being built.

+

When true, prevents adding session cookies to responses until the session contains data. Default is false.

Useful when trying to comply with laws that require consent for setting cookies.

-

pub fn secure(self, value: bool) -> CookieSession[src]

Sets the secure field in the session cookie being built.

+

Sets the secure field in the session cookie being built.

If the secure field is set, a cookie will only be transmitted when the connection is secure - i.e. https

-

pub fn http_only(self, value: bool) -> CookieSession[src]

Sets the http_only field in the session cookie being built.

-

pub fn same_site(self, value: SameSite) -> CookieSession[src]

Sets the same_site field in the session cookie being built.

-

pub fn max_age(self, seconds: i64) -> CookieSession[src]

Sets the max-age field in the session cookie being built.

-

pub fn max_age_time(self, value: Duration) -> CookieSession[src]

Sets the max-age field in the session cookie being built.

-

pub fn expires_in(self, seconds: i64) -> CookieSession[src]

Sets the expires field in the session cookie being built.

-

pub fn expires_in_time(self, value: Duration) -> CookieSession[src]

Sets the expires field in the session cookie being built.

-

Trait Implementations

impl<S, B: 'static> Transform<S, ServiceRequest> for CookieSession where
    S: Service<ServiceRequest, Response = ServiceResponse<B>>,
    S::Future: 'static,
    S::Error: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = S::Error

Errors produced by the service.

-

type InitError = ()

Errors produced while building a transform service.

-

type Transform = CookieSessionMiddleware<S>

The TransformService value created by this factory

-

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Sets the http_only field in the session cookie being built.

+

Sets the same_site field in the session cookie being built.

+

Sets the max-age field in the session cookie being built.

+

Sets the max-age field in the session cookie being built.

+

Sets the expires field in the session cookie being built.

+

Sets the expires field in the session cookie being built.

+

Trait Implementations

Responses produced by the service.

+

Errors produced by the service.

+

Errors produced while building a transform service.

+

The TransformService value created by this factory

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/struct.Session.html b/actix_session/struct.Session.html index ef6344548..aa7119282 100644 --- a/actix_session/struct.Session.html +++ b/actix_session/struct.Session.html @@ -1,8 +1,5 @@ -actix_session::Session - Rust - -

Struct actix_session::Session[][src]

pub struct Session(_);

The high-level interface you use to modify session data.

-

Session object is obtained with UserSession::get_session. The UserSession trait is +Session in actix_session - Rust

Struct actix_session::Session[][src]

pub struct Session(_);
Expand description

The high-level interface you use to modify session data.

+

Session object is obtained with UserSession::get_session. The UserSession trait is implemented for HttpRequest, ServiceRequest, and RequestHead.

@@ -19,21 +16,21 @@ implemented for HttpRequest, ServiceRequest, and Ok("Welcome!")
 }
-

Implementations

impl Session[src]

pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>, Error>[src]

Get a value from the session.

-

pub fn entries(&self) -> Ref<'_, HashMap<String, String>>[src]

Get all raw key-value data from the session.

+

Implementations

Get a value from the session.

+

Get all raw key-value data from the session.

Note that values are JSON encoded.

-

pub fn insert(
    &self,
    key: impl Into<String>,
    value: impl Serialize
) -> Result<(), Error>
[src]

Inserts a key-value pair into the session.

+

Inserts a key-value pair into the session.

Any serializable value can be used and will be encoded as JSON in session data, hence why only a reference to the value is taken.

-

pub fn remove(&self, key: &str) -> Option<String>[src]

Remove value from the session.

+

Remove value from the session.

If present, the JSON encoded value is returned.

-

pub fn remove_as<T: DeserializeOwned>(
    &self,
    key: &str
) -> Option<Result<T, String>>
[src]

Remove value from the session and deserialize.

+

Remove value from the session and deserialize.

Returns None if key was not present in session. Returns T if deserialization succeeds, otherwise returns un-deserialized JSON string.

-

pub fn clear(&self)[src]

Clear the session.

-

pub fn purge(&self)[src]

Removes session both client and server side.

-

pub fn renew(&self)[src]

Renews the session key, assigning existing session state to new key.

-

pub fn set_session(
    req: &mut ServiceRequest,
    data: impl IntoIterator<Item = (String, String)>
)
[src]

Adds the given key-value pairs to the session on the request.

+

Clear the session.

+

Removes session both client and server side.

+

Renews the session key, assigning existing session state to new key.

+

Adds the given key-value pairs to the session on the request.

Values that match keys already existing on the session will be overwritten. Values should already be JSON serialized.

Examples

@@ -44,8 +41,8 @@ already be JSON serialized.

&mut req, vec![("counter".to_string(), serde_json::to_string(&0).unwrap())], );
-

pub fn get_changes<B>(
    res: &mut ServiceResponse<B>
) -> (SessionStatus, impl Iterator<Item = (String, String)>)
[src]

Returns session status and iterator of key-value pairs of changes.

-

Trait Implementations

impl FromRequest for Session[src]

Extractor implementation for Session type.

+

Returns session status and iterator of key-value pairs of changes.

+

Trait Implementations

Extractor implementation for Session type.

Examples

 use actix_session::Session;
@@ -62,25 +59,26 @@ already be JSON serialized.

let count = session.get::<i32>("counter")?.unwrap(); Ok(format!("Counter: {}", count)) }
-

type Error = Error

The associated error which can be returned.

-

type Future = Ready<Result<Session, Error>>

Future that resolves to a Self.

-

type Config = ()

Configuration for this extractor.

-

Auto Trait Implementations

impl !RefUnwindSafe for Session

impl !Send for Session

impl !Sync for Session

impl Unpin for Session

impl !UnwindSafe for Session

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

The associated error which can be returned.

+

Future that resolves to a Self.

+

Configuration for this extractor.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/trait.UserSession.html b/actix_session/trait.UserSession.html index 043cff6bf..cc9d87a53 100644 --- a/actix_session/trait.UserSession.html +++ b/actix_session/trait.UserSession.html @@ -1,9 +1,7 @@ -actix_session::UserSession - Rust - -

Trait actix_session::UserSession[][src]

pub trait UserSession {
-    fn get_session(&self) -> Session;
-}

Extraction of a Session object.

-

Required methods

fn get_session(&self) -> Session[src]

Extract the Session object

-
Loading content...

Implementations on Foreign Types

impl UserSession for HttpRequest[src]

impl UserSession for ServiceRequest[src]

impl UserSession for RequestHead[src]

Loading content...

Implementors

Loading content...
- \ No newline at end of file +UserSession in actix_session - Rust

Trait actix_session::UserSession[][src]

pub trait UserSession {
+    fn get_session(&self) -> Session;
+}
Expand description

Extraction of a Session object.

+

Required methods

Extract the Session object

+

Implementations on Foreign Types

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/all.html b/actix_web_httpauth/all.html index e58835727..d7dfbaa4a 100644 --- a/actix_web_httpauth/all.html +++ b/actix_web_httpauth/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

Traits

- \ No newline at end of file +

Structs

Enums

Traits

+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/index.html b/actix_web_httpauth/extractors/basic/index.html index 63cc30a81..4b41c1b3b 100644 --- a/actix_web_httpauth/extractors/basic/index.html +++ b/actix_web_httpauth/extractors/basic/index.html @@ -1,10 +1,8 @@ -actix_web_httpauth::extractors::basic - Rust - -

Module actix_web_httpauth::extractors::basic[][src]

Extractor for the “Basic” HTTP Authentication Scheme

-

Structs

-
BasicAuth

Extractor for HTTP Basic auth.

-
Config

BasicAuth extractor configuration, +actix_web_httpauth::extractors::basic - Rust

Module actix_web_httpauth::extractors::basic[][src]

Expand description

Extractor for the “Basic” HTTP Authentication Scheme

+

Structs

+

Extractor for HTTP Basic auth.

+

BasicAuth extractor configuration, used for WWW-Authenticate header later.

-
- \ No newline at end of file +
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html index 2e07f2e17..0b04774e8 100644 --- a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html +++ b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html @@ -1,7 +1,4 @@ -actix_web_httpauth::extractors::basic::BasicAuth - Rust - -

Struct actix_web_httpauth::extractors::basic::BasicAuth[][src]

pub struct BasicAuth(_);

Extractor for HTTP Basic auth.

+BasicAuth in actix_web_httpauth::extractors::basic - Rust

Struct actix_web_httpauth::extractors::basic::BasicAuth[][src]

pub struct BasicAuth(_);
Expand description

Extractor for HTTP Basic auth.

Example

 use actix_web::Result;
@@ -24,40 +21,41 @@ response header.

fn main() { let app = App::new() - .data(Config::default().realm("Restricted area")) + .app_data(Config::default().realm("Restricted area")) .service(web::resource("/index.html").route(web::get().to(index))); }
-

Implementations

impl BasicAuth[src]

pub fn user_id(&self) -> &Cow<'static, str>[src]

Returns client’s user-ID.

-

pub fn password(&self) -> Option<&Cow<'static, str>>[src]

Returns client’s password.

-

Trait Implementations

impl AuthExtractor for BasicAuth[src]

type Error = AuthenticationError<Challenge>

The associated error which can be returned.

-

type Future = Ready<Result<Self, Self::Error>>

Future that resolves into extracted credentials type.

-

impl Clone for BasicAuth[src]

impl Debug for BasicAuth[src]

impl FromRequest for BasicAuth[src]

type Future = Ready<Result<Self, Self::Error>>

Future that resolves to a Self.

-

type Config = Config

Configuration for this extractor.

-

type Error = AuthenticationError<Challenge>

The associated error which can be returned.

-

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Implementations

Returns client’s user-ID.

+

Returns client’s password.

+

Trait Implementations

The associated error which can be returned.

+

Future that resolves into extracted credentials type.

+

Parse the authentication credentials from the actix’ ServiceRequest.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Future that resolves to a Self.

+

Configuration for this extractor.

+

The associated error which can be returned.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/struct.Config.html b/actix_web_httpauth/extractors/basic/struct.Config.html index 4041de215..5b7e8bb20 100644 --- a/actix_web_httpauth/extractors/basic/struct.Config.html +++ b/actix_web_httpauth/extractors/basic/struct.Config.html @@ -1,35 +1,33 @@ -actix_web_httpauth::extractors::basic::Config - Rust - -

Struct actix_web_httpauth::extractors::basic::Config[][src]

pub struct Config(_);

BasicAuth extractor configuration, +Config in actix_web_httpauth::extractors::basic - Rust

Struct actix_web_httpauth::extractors::basic::Config[][src]

pub struct Config(_);
Expand description

BasicAuth extractor configuration, used for WWW-Authenticate header later.

-

Implementations

impl Config[src]

pub fn realm<T>(self, value: T) -> Config where
    T: Into<Cow<'static, str>>, 
[src]

Set challenge realm attribute.

+

Implementations

Set challenge realm attribute.

The “realm” attribute indicates the scope of protection in the manner described in HTTP/1.1 RFC2617.

-

Trait Implementations

impl AsRef<Basic> for Config[src]

impl AuthExtractorConfig for Config[src]

type Inner = Challenge

Associated challenge type.

-

impl Clone for Config[src]

impl Debug for Config[src]

impl Default for Config[src]

Auto Trait Implementations

impl RefUnwindSafe for Config

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl UnwindSafe for Config

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Performs the conversion.

+

Associated challenge type.

+

Convert the config instance into a HTTP challenge.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/enum.Error.html b/actix_web_httpauth/extractors/bearer/enum.Error.html index a0dab064d..bfd443465 100644 --- a/actix_web_httpauth/extractors/bearer/enum.Error.html +++ b/actix_web_httpauth/extractors/bearer/enum.Error.html @@ -1,14 +1,9 @@ -actix_web_httpauth::extractors::bearer::Error - Rust - -

Enum actix_web_httpauth::extractors::bearer::Error[][src]

pub enum Error {
+Error in actix_web_httpauth::extractors::bearer - Rust

Enum actix_web_httpauth::extractors::bearer::Error[][src]

pub enum Error {
     InvalidRequest,
     InvalidToken,
     InsufficientScope,
-}

Bearer authorization error types, described in RFC 6750

-

- Variants

-
InvalidRequest

The request is missing a required parameter, includes an unsupported +}

Expand description

Bearer authorization error types, described in RFC 6750

+

Variants

InvalidRequest

The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed.

@@ -16,46 +11,47 @@ malformed.

for other reasons.

InsufficientScope

The request requires higher privileges than provided by the access token.

-

Implementations

impl Error[src]

pub fn status_code(&self) -> StatusCode[src]

Returns HTTP status code suitable for current error type.

-

Trait Implementations

impl Clone for Error[src]

impl Copy for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Hash for Error[src]

impl Ord for Error[src]

impl PartialEq<Error> for Error[src]

Implementations

Returns HTTP status code suitable for current error type.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Error> for Error[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/index.html b/actix_web_httpauth/extractors/bearer/index.html index 45f603382..018bdac51 100644 --- a/actix_web_httpauth/extractors/bearer/index.html +++ b/actix_web_httpauth/extractors/bearer/index.html @@ -1,11 +1,9 @@ -actix_web_httpauth::extractors::bearer - Rust - -

Module actix_web_httpauth::extractors::bearer[][src]

Extractor for the “Bearer” HTTP Authentication Scheme

-

Structs

-
BearerAuth

Extractor for HTTP Bearer auth

-
Config

BearerAuth extractor configuration.

-

Enums

-
Error

Bearer authorization error types, described in RFC 6750

-
- \ No newline at end of file +actix_web_httpauth::extractors::bearer - Rust

Module actix_web_httpauth::extractors::bearer[][src]

Expand description

Extractor for the “Bearer” HTTP Authentication Scheme

+

Structs

+

Extractor for HTTP Bearer auth

+

BearerAuth extractor configuration.

+

Enums

+

Bearer authorization error types, described in RFC 6750

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html b/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html index c9f0e89c4..2e094307c 100644 --- a/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html +++ b/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html @@ -1,7 +1,4 @@ -actix_web_httpauth::extractors::bearer::BearerAuth - Rust - -

Struct actix_web_httpauth::extractors::bearer::BearerAuth[][src]

pub struct BearerAuth(_);

Extractor for HTTP Bearer auth

+BearerAuth in actix_web_httpauth::extractors::bearer - Rust

Struct actix_web_httpauth::extractors::bearer::BearerAuth[][src]

pub struct BearerAuth(_);
Expand description

Extractor for HTTP Bearer auth

Example

 use actix_web_httpauth::extractors::bearer::BearerAuth;
@@ -9,7 +6,7 @@
 async fn index(auth: BearerAuth) -> String {
     format!("Hello, user with token {}!", auth.token())
 }
-

If authentication fails, this extractor fetches the Config instance +

If authentication fails, this extractor fetches the Config instance from the [app data] in order to properly form the WWW-Authenticate response header.

Example

@@ -23,43 +20,44 @@ response header.

fn main() { let app = App::new() - .data( + .app_data( Config::default() .realm("Restricted area") .scope("email photo"), ) .service(web::resource("/index.html").route(web::get().to(index))); }
-

Implementations

impl BearerAuth[src]

pub fn token(&self) -> &str[src]

Returns bearer token provided by client.

-

Trait Implementations

impl AuthExtractor for BearerAuth[src]

type Future = Ready<Result<Self, Self::Error>>

Future that resolves into extracted credentials type.

-

type Error = AuthenticationError<Bearer>

The associated error which can be returned.

-

impl Clone for BearerAuth[src]

impl Debug for BearerAuth[src]

impl FromRequest for BearerAuth[src]

type Config = Config

Configuration for this extractor.

-

type Future = Ready<Result<Self, Self::Error>>

Future that resolves to a Self.

-

type Error = AuthenticationError<Bearer>

The associated error which can be returned.

-

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Implementations

Returns bearer token provided by client.

+

Trait Implementations

Future that resolves into extracted credentials type.

+

The associated error which can be returned.

+

Parse the authentication credentials from the actix’ ServiceRequest.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Configuration for this extractor.

+

Future that resolves to a Self.

+

The associated error which can be returned.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/struct.Config.html b/actix_web_httpauth/extractors/bearer/struct.Config.html index c8462a6aa..f736fe857 100644 --- a/actix_web_httpauth/extractors/bearer/struct.Config.html +++ b/actix_web_httpauth/extractors/bearer/struct.Config.html @@ -1,38 +1,36 @@ -actix_web_httpauth::extractors::bearer::Config - Rust - -

Struct actix_web_httpauth::extractors::bearer::Config[][src]

pub struct Config(_);

BearerAuth extractor configuration.

-

Implementations

impl Config[src]

pub fn scope<T: Into<Cow<'static, str>>>(self, value: T) -> Config[src]

Set challenge scope attribute.

+Config in actix_web_httpauth::extractors::bearer - Rust

Struct actix_web_httpauth::extractors::bearer::Config[][src]

pub struct Config(_);
Expand description

BearerAuth extractor configuration.

+

Implementations

Set challenge scope attribute.

The "scope" attribute is a space-delimited list of case-sensitive scope values indicating the required scope of the access token for accessing the requested resource.

-

pub fn realm<T: Into<Cow<'static, str>>>(self, value: T) -> Config[src]

Set challenge realm attribute.

+

Set challenge realm attribute.

The “realm” attribute indicates the scope of protection in the manner described in HTTP/1.1 RFC2617.

-

Trait Implementations

impl AsRef<Bearer> for Config[src]

impl AuthExtractorConfig for Config[src]

type Inner = Bearer

Associated challenge type.

-

impl Clone for Config[src]

impl Debug for Config[src]

impl Default for Config[src]

Auto Trait Implementations

impl RefUnwindSafe for Config

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl UnwindSafe for Config

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Performs the conversion.

+

Associated challenge type.

+

Convert the config instance into a HTTP challenge.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html b/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html index 8466abc1a..a74cbb3f3 100644 --- a/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html +++ b/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../actix_web_httpauth/extractors/trait.AuthExtractorConfig.html...

diff --git a/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html b/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html index ab93b3583..4bd4d8e74 100644 --- a/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html +++ b/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../actix_web_httpauth/extractors/struct.AuthenticationError.html...

diff --git a/actix_web_httpauth/extractors/index.html b/actix_web_httpauth/extractors/index.html index 5457095eb..9716494ae 100644 --- a/actix_web_httpauth/extractors/index.html +++ b/actix_web_httpauth/extractors/index.html @@ -1,16 +1,14 @@ -actix_web_httpauth::extractors - Rust - -

Module actix_web_httpauth::extractors[][src]

Type-safe authentication information extractors

-

Modules

-
basic

Extractor for the “Basic” HTTP Authentication Scheme

-
bearer

Extractor for the “Bearer” HTTP Authentication Scheme

-

Structs

-
AuthenticationError

Authentication error returned by authentication extractors.

-

Traits

-
AuthExtractor

Trait implemented by types that can extract +actix_web_httpauth::extractors - Rust

Module actix_web_httpauth::extractors[][src]

Expand description

Type-safe authentication information extractors

+

Modules

+

Extractor for the “Basic” HTTP Authentication Scheme

+

Extractor for the “Bearer” HTTP Authentication Scheme

+

Structs

+

Authentication error returned by authentication extractors.

+

Traits

+

Trait implemented by types that can extract HTTP authentication scheme credentials from the request.

-
AuthExtractorConfig

Trait implemented for types that provides configuration +

Trait implemented for types that provides configuration for the authentication extractors.

-
- \ No newline at end of file +
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/struct.AuthenticationError.html b/actix_web_httpauth/extractors/struct.AuthenticationError.html index 05a1462fb..21998854f 100644 --- a/actix_web_httpauth/extractors/struct.AuthenticationError.html +++ b/actix_web_httpauth/extractors/struct.AuthenticationError.html @@ -1,45 +1,43 @@ -actix_web_httpauth::extractors::AuthenticationError - Rust - -

Struct actix_web_httpauth::extractors::AuthenticationError[][src]

pub struct AuthenticationError<C: Challenge> { /* fields omitted */ }

Authentication error returned by authentication extractors.

+AuthenticationError in actix_web_httpauth::extractors - Rust

Struct actix_web_httpauth::extractors::AuthenticationError[][src]

pub struct AuthenticationError<C: Challenge> { /* fields omitted */ }
Expand description

Authentication error returned by authentication extractors.

Different extractors may extend AuthenticationError implementation in order to provide access to inner challenge fields.

-

Implementations

impl AuthenticationError<Bearer>[src]

Extended error customization for HTTP Bearer auth.

-

pub fn with_error(self, kind: Error) -> Self[src]

Attach Error to the current Authentication error.

+

Implementations

Extended error customization for HTTP Bearer auth.

+

Attach Error to the current Authentication error.

Error status code will be changed to the one provided by the kind Error.

-

pub fn with_error_description<T>(self, desc: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Attach error description to the current Authentication error.

-

pub fn with_error_uri<T>(self, uri: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Attach error URI to the current Authentication error.

+

Attach error description to the current Authentication error.

+

Attach error URI to the current Authentication error.

It is up to implementor to provide properly formed absolute URI.

-

impl<C: Challenge> AuthenticationError<C>[src]

pub fn new(challenge: C) -> AuthenticationError<C>[src]

Creates new authentication error from the provided challenge.

+

Creates new authentication error from the provided challenge.

By default returned error will resolve into the HTTP 401 status code.

-

pub fn challenge_mut(&mut self) -> &mut C[src]

Returns mutable reference to the inner challenge instance.

-

pub fn status_code_mut(&mut self) -> &mut StatusCode[src]

Returns mutable reference to the inner status code.

+

Returns mutable reference to the inner challenge instance.

+

Returns mutable reference to the inner status code.

Can be used to override returned status code, but by default this lib tries to stick to the RFC, so it might be unreasonable.

-

Trait Implementations

impl<C: Debug + Challenge> Debug for AuthenticationError<C>[src]

impl<C: Challenge> Display for AuthenticationError<C>[src]

impl<C: 'static + Challenge> Error for AuthenticationError<C>[src]

impl<T> From<T> for AuthenticationError<<T as AuthExtractorConfig>::Inner> where
    T: AuthExtractorConfig
[src]

impl<C: 'static + Challenge> ResponseError for AuthenticationError<C>[src]

Auto Trait Implementations

impl<C> RefUnwindSafe for AuthenticationError<C> where
    C: RefUnwindSafe

impl<C> Send for AuthenticationError<C>

impl<C> Sync for AuthenticationError<C>

impl<C> Unpin for AuthenticationError<C> where
    C: Unpin

impl<C> UnwindSafe for AuthenticationError<C> where
    C: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Creates full response for error. Read more

+

Returns appropriate status code for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/trait.AuthExtractor.html b/actix_web_httpauth/extractors/trait.AuthExtractor.html index 0914472bc..e5ae8e540 100644 --- a/actix_web_httpauth/extractors/trait.AuthExtractor.html +++ b/actix_web_httpauth/extractors/trait.AuthExtractor.html @@ -1,19 +1,17 @@ -actix_web_httpauth::extractors::AuthExtractor - Rust - -

Trait actix_web_httpauth::extractors::AuthExtractor[][src]

pub trait AuthExtractor: Sized {
+AuthExtractor in actix_web_httpauth::extractors - Rust

Trait actix_web_httpauth::extractors::AuthExtractor[][src]

pub trait AuthExtractor: Sized {
     type Error: Into<Error>;
-    type Future: Future<Output = Result<Self, Self::Error>>;
-    fn from_service_request(req: &ServiceRequest) -> Self::Future;
-}

Trait implemented by types that can extract + type Future: Future<Output = Result<Self, Self::Error>>; + fn from_service_request(req: &ServiceRequest) -> Self::Future; +}

Expand description

Trait implemented by types that can extract HTTP authentication scheme credentials from the request.

It is very similar to actix’ FromRequest trait, except it operates with a ServiceRequest struct instead, therefore it can be used in the middlewares.

You will not need it unless you want to implement your own authentication scheme.

-

Associated Types

type Error: Into<Error>[src]

The associated error which can be returned.

-

type Future: Future<Output = Result<Self, Self::Error>>[src]

Future that resolves into extracted credentials type.

-
Loading content...

Required methods

fn from_service_request(req: &ServiceRequest) -> Self::Future[src]

Parse the authentication credentials from the actix’ ServiceRequest.

-
Loading content...

Implementors

impl AuthExtractor for BasicAuth[src]

type Error = AuthenticationError<Challenge>

type Future = Ready<Result<Self, Self::Error>>

impl AuthExtractor for BearerAuth[src]

type Future = Ready<Result<Self, Self::Error>>

type Error = AuthenticationError<Bearer>

Loading content...
- \ No newline at end of file +

Associated Types

The associated error which can be returned.

+

Future that resolves into extracted credentials type.

+

Required methods

Parse the authentication credentials from the actix’ ServiceRequest.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html index 49aae5148..4ee8418bb 100644 --- a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html +++ b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html @@ -1,12 +1,10 @@ -actix_web_httpauth::extractors::AuthExtractorConfig - Rust - -

Trait actix_web_httpauth::extractors::AuthExtractorConfig[][src]

pub trait AuthExtractorConfig {
-    type Inner: Challenge;
-    fn into_inner(self) -> Self::Inner;
-}

Trait implemented for types that provides configuration +AuthExtractorConfig in actix_web_httpauth::extractors - Rust

Trait actix_web_httpauth::extractors::AuthExtractorConfig[][src]

pub trait AuthExtractorConfig {
+    type Inner: Challenge;
+    fn into_inner(self) -> Self::Inner;
+}
Expand description

Trait implemented for types that provides configuration for the authentication extractors.

-

Associated Types

type Inner: Challenge[src]

Associated challenge type.

-
Loading content...

Required methods

fn into_inner(self) -> Self::Inner[src]

Convert the config instance into a HTTP challenge.

-
Loading content...

Implementors

impl AuthExtractorConfig for actix_web_httpauth::extractors::basic::Config[src]

type Inner = Challenge

impl AuthExtractorConfig for actix_web_httpauth::extractors::bearer::Config[src]

type Inner = Bearer

Loading content...
- \ No newline at end of file +

Associated Types

Associated challenge type.

+

Required methods

Convert the config instance into a HTTP challenge.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/enum.ParseError.html b/actix_web_httpauth/headers/authorization/enum.ParseError.html index 184092c25..32416aa06 100644 --- a/actix_web_httpauth/headers/authorization/enum.ParseError.html +++ b/actix_web_httpauth/headers/authorization/enum.ParseError.html @@ -1,47 +1,43 @@ -actix_web_httpauth::headers::authorization::ParseError - Rust - -

Enum actix_web_httpauth::headers::authorization::ParseError[][src]

pub enum ParseError {
+ParseError in actix_web_httpauth::headers::authorization - Rust

Enum actix_web_httpauth::headers::authorization::ParseError[][src]

pub enum ParseError {
     Invalid,
     MissingScheme,
     MissingField(&'static str),
     ToStrError(ToStrError),
     Base64DecodeError(DecodeError),
     Utf8Error(Utf8Error),
-}

Possible errors while parsing Authorization header.

+}
Expand description

Possible errors while parsing Authorization header.

Should not be used directly unless you are implementing your own authentication scheme.

-

- Variants

-
Invalid

Header value is malformed

+

Variants

Invalid

Header value is malformed

MissingScheme

Authentication scheme is missing

MissingField(&'static str)

Required authentication field is missing

ToStrError(ToStrError)

Unable to convert header into the str

Base64DecodeError(DecodeError)

Malformed base64 string

Utf8Error(Utf8Error)

Malformed UTF-8 string

-

Trait Implementations

impl Debug for ParseError[src]

impl Display for ParseError[src]

impl Error for ParseError[src]

impl From<DecodeError> for ParseError[src]

impl From<ToStrError> for ParseError[src]

impl From<Utf8Error> for ParseError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html b/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html index df5de1c81..2c5811dab 100644 --- a/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html +++ b/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/authorization/enum.ParseError.html...

diff --git a/actix_web_httpauth/headers/authorization/header/struct.Authorization.html b/actix_web_httpauth/headers/authorization/header/struct.Authorization.html index 7e2c31cdb..03c0678c5 100644 --- a/actix_web_httpauth/headers/authorization/header/struct.Authorization.html +++ b/actix_web_httpauth/headers/authorization/header/struct.Authorization.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/authorization/struct.Authorization.html...

diff --git a/actix_web_httpauth/headers/authorization/index.html b/actix_web_httpauth/headers/authorization/index.html index ace8e6401..365938fd8 100644 --- a/actix_web_httpauth/headers/authorization/index.html +++ b/actix_web_httpauth/headers/authorization/index.html @@ -1,15 +1,13 @@ -actix_web_httpauth::headers::authorization - Rust - -

Module actix_web_httpauth::headers::authorization[][src]

Authorization header and various auth schemes

-

Structs

-
Authorization

Authorization header, defined in RFC 7235

-
Basic

Credentials for Basic authentication scheme, defined in RFC 7617

-
Bearer

Credentials for Bearer authentication scheme, defined in RFC6750

-

Enums

-
ParseError

Possible errors while parsing Authorization header.

-

Traits

-
Scheme

Authentication scheme for Authorization +actix_web_httpauth::headers::authorization - Rust

Module actix_web_httpauth::headers::authorization[][src]

Expand description

Authorization header and various auth schemes

+

Structs

+

Authorization header, defined in RFC 7235

+

Credentials for Basic authentication scheme, defined in RFC 7617

+

Credentials for Bearer authentication scheme, defined in RFC6750

+

Enums

+

Possible errors while parsing Authorization header.

+

Traits

+

Authentication scheme for Authorization header.

-
- \ No newline at end of file +
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html b/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html index 09763c9b0..e020e48f2 100644 --- a/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/authorization/struct.Basic.html...

diff --git a/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html b/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html index 2e9dead17..79f4225a7 100644 --- a/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html +++ b/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/authorization/struct.Bearer.html...

diff --git a/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html b/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html index 11a90ef8d..cc34e2687 100644 --- a/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html +++ b/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/authorization/trait.Scheme.html...

diff --git a/actix_web_httpauth/headers/authorization/struct.Authorization.html b/actix_web_httpauth/headers/authorization/struct.Authorization.html index e719fd5d8..bd6d1a207 100644 --- a/actix_web_httpauth/headers/authorization/struct.Authorization.html +++ b/actix_web_httpauth/headers/authorization/struct.Authorization.html @@ -1,7 +1,4 @@ -actix_web_httpauth::headers::authorization::Authorization - Rust - -

Struct actix_web_httpauth::headers::authorization::Authorization[][src]

pub struct Authorization<S: Scheme>(_);

Authorization header, defined in RFC 7235

+Authorization in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Authorization[][src]

pub struct Authorization<S: Scheme>(_);
Expand description

Authorization header, defined in RFC 7235

The “Authorization” header field allows a user agent to authenticate itself with an origin server – usually, but not necessarily, after receiving a 401 (Unauthorized) response. Its value consists of @@ -16,56 +13,57 @@ scheme.

Ok(format!("Hello, {}!", auth.as_ref().user_id())) }
-

Implementations

impl<S> Authorization<S> where
    S: Scheme
[src]

pub fn into_scheme(self) -> S[src]

Consumes Authorization header and returns inner Scheme +

Implementations

Consumes Authorization header and returns inner Scheme implementation.

-

Trait Implementations

impl<S> AsMut<S> for Authorization<S> where
    S: Scheme
[src]

impl<S> AsRef<S> for Authorization<S> where
    S: Scheme
[src]

impl<S: Clone + Scheme> Clone for Authorization<S>[src]

impl<S: Debug + Scheme> Debug for Authorization<S>[src]

impl<S: Default + Scheme> Default for Authorization<S>[src]

impl<S: Scheme> Display for Authorization<S>[src]

impl<S: Eq + Scheme> Eq for Authorization<S>[src]

impl<S> From<S> for Authorization<S> where
    S: Scheme
[src]

impl<S: Hash + Scheme> Hash for Authorization<S>[src]

impl<S: Scheme> Header for Authorization<S>[src]

impl<S: Scheme> IntoHeaderValue for Authorization<S>[src]

type Error = <S as IntoHeaderValue>::Error

The type returned in the event of a conversion error.

-

impl<S: Ord + Scheme> Ord for Authorization<S>[src]

impl<S: PartialEq + Scheme> PartialEq<Authorization<S>> for Authorization<S>[src]

Trait Implementations

Performs the conversion.

+

Performs the conversion.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

Returns the name of the header field

+

Parse a header

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl<S: PartialOrd + Scheme> PartialOrd<Authorization<S>> for Authorization<S>[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl<S: Scheme> StructuralEq for Authorization<S>[src]

impl<S: Scheme> StructuralPartialEq for Authorization<S>[src]

Auto Trait Implementations

impl<S> RefUnwindSafe for Authorization<S> where
    S: RefUnwindSafe

impl<S> Send for Authorization<S>

impl<S> Sync for Authorization<S>

impl<S> Unpin for Authorization<S> where
    S: Unpin

impl<S> UnwindSafe for Authorization<S> where
    S: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<!> for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoHeaderPair for T where
    T: Header, 

type Error = <T as IntoHeaderValue>::Error

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/struct.Basic.html b/actix_web_httpauth/headers/authorization/struct.Basic.html index b56853eed..762445853 100644 --- a/actix_web_httpauth/headers/authorization/struct.Basic.html +++ b/actix_web_httpauth/headers/authorization/struct.Basic.html @@ -1,54 +1,52 @@ -actix_web_httpauth::headers::authorization::Basic - Rust - -

Struct actix_web_httpauth::headers::authorization::Basic[][src]

pub struct Basic { /* fields omitted */ }

Credentials for Basic authentication scheme, defined in RFC 7617

-

Implementations

impl Basic[src]

pub fn new<U, P>(user_id: U, password: Option<P>) -> Basic where
    U: Into<Cow<'static, str>>,
    P: Into<Cow<'static, str>>, 
[src]

Creates Basic credentials with provided user_id and optional +Basic in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Basic[][src]

pub struct Basic { /* fields omitted */ }
Expand description

Credentials for Basic authentication scheme, defined in RFC 7617

+

Implementations

Creates Basic credentials with provided user_id and optional password.

Example

 let credentials = Basic::new("Alladin", Some("open sesame"));
-

pub fn user_id(&self) -> &Cow<'static, str>[src]

Returns client’s user-ID.

-

pub fn password(&self) -> Option<&Cow<'static, str>>[src]

Returns client’s password if provided.

-

Trait Implementations

impl Clone for Basic[src]

impl Debug for Basic[src]

impl Display for Basic[src]

impl Eq for Basic[src]

impl IntoHeaderValue for Basic[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Basic[src]

impl PartialEq<Basic> for Basic[src]

Returns client’s user-ID.

+

Returns client’s password if provided.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Basic> for Basic[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl Scheme for Basic[src]

impl StructuralEq for Basic[src]

impl StructuralPartialEq for Basic[src]

Auto Trait Implementations

impl RefUnwindSafe for Basic

impl Send for Basic

impl Sync for Basic

impl Unpin for Basic

impl UnwindSafe for Basic

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Try to parse the authentication scheme from the Authorization header.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/struct.Bearer.html b/actix_web_httpauth/headers/authorization/struct.Bearer.html index 3e1a8b516..b8e218e75 100644 --- a/actix_web_httpauth/headers/authorization/struct.Bearer.html +++ b/actix_web_httpauth/headers/authorization/struct.Bearer.html @@ -1,54 +1,52 @@ -actix_web_httpauth::headers::authorization::Bearer - Rust - -

Struct actix_web_httpauth::headers::authorization::Bearer[][src]

pub struct Bearer { /* fields omitted */ }

Credentials for Bearer authentication scheme, defined in RFC6750

+Bearer in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Bearer[][src]

pub struct Bearer { /* fields omitted */ }
Expand description

Credentials for Bearer authentication scheme, defined in RFC6750

Should be used in combination with Authorization header.

-

Implementations

impl Bearer[src]

pub fn new<T>(token: T) -> Bearer where
    T: Into<Cow<'static, str>>, 
[src]

Creates new Bearer credentials with the token provided.

+

Implementations

Creates new Bearer credentials with the token provided.

Example

 let credentials = Bearer::new("mF_9.B5f-4.1JqM");
-

pub fn token(&self) -> &Cow<'static, str>[src]

Gets reference to the credentials token.

-

Trait Implementations

impl Clone for Bearer[src]

impl Debug for Bearer[src]

impl Display for Bearer[src]

impl Eq for Bearer[src]

impl IntoHeaderValue for Bearer[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Bearer[src]

impl PartialEq<Bearer> for Bearer[src]

Gets reference to the credentials token.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Bearer> for Bearer[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl Scheme for Bearer[src]

impl StructuralEq for Bearer[src]

impl StructuralPartialEq for Bearer[src]

Auto Trait Implementations

impl RefUnwindSafe for Bearer

impl Send for Bearer

impl Sync for Bearer

impl Unpin for Bearer

impl UnwindSafe for Bearer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Try to parse the authentication scheme from the Authorization header.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/trait.Scheme.html b/actix_web_httpauth/headers/authorization/trait.Scheme.html index da005169f..88ee698c2 100644 --- a/actix_web_httpauth/headers/authorization/trait.Scheme.html +++ b/actix_web_httpauth/headers/authorization/trait.Scheme.html @@ -1,10 +1,8 @@ -actix_web_httpauth::headers::authorization::Scheme - Rust - -

Trait actix_web_httpauth::headers::authorization::Scheme[][src]

pub trait Scheme: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
-    fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
-}

Authentication scheme for Authorization +Scheme in actix_web_httpauth::headers::authorization - Rust

Trait actix_web_httpauth::headers::authorization::Scheme[][src]

pub trait Scheme: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
+    fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
+}
Expand description

Authentication scheme for Authorization header.

-

Required methods

fn parse(header: &HeaderValue) -> Result<Self, ParseError>[src]

Try to parse the authentication scheme from the Authorization header.

-
Loading content...

Implementors

impl Scheme for Basic[src]

impl Scheme for Bearer[src]

Loading content...
- \ No newline at end of file +

Required methods

Try to parse the authentication scheme from the Authorization header.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/index.html b/actix_web_httpauth/headers/index.html index 2a8585f37..17ff4806e 100644 --- a/actix_web_httpauth/headers/index.html +++ b/actix_web_httpauth/headers/index.html @@ -1,9 +1,7 @@ -actix_web_httpauth::headers - Rust - -

Module actix_web_httpauth::headers[][src]

Typed HTTP headers

-

Modules

-
authorization

Authorization header and various auth schemes

-
www_authenticate

WWW-Authenticate header and various auth challenges

-
- \ No newline at end of file +actix_web_httpauth::headers - Rust

Module actix_web_httpauth::headers[][src]

Expand description

Typed HTTP headers

+

Modules

+

Authorization header and various auth schemes

+

WWW-Authenticate header and various auth challenges

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/basic/index.html b/actix_web_httpauth/headers/www_authenticate/basic/index.html index 55937d21a..e9958b08e 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/index.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/index.html @@ -1,9 +1,7 @@ -actix_web_httpauth::headers::www_authenticate::basic - Rust - -

Module actix_web_httpauth::headers::www_authenticate::basic[][src]

Challenge for the “Basic” HTTP Authentication Scheme

-

Structs

-
Basic

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, +actix_web_httpauth::headers::www_authenticate::basic - Rust

Module actix_web_httpauth::headers::www_authenticate::basic[][src]

Expand description

Challenge for the “Basic” HTTP Authentication Scheme

+

Structs

+

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, described in RFC 7617

-
- \ No newline at end of file +
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html b/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html index 32539c4b3..779896008 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html @@ -1,7 +1,4 @@ -actix_web_httpauth::headers::www_authenticate::basic::Basic - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::basic::Basic[][src]

pub struct Basic { /* fields omitted */ }

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, +Basic in actix_web_httpauth::headers::www_authenticate::basic - Rust

Struct actix_web_httpauth::headers::www_authenticate::basic::Basic[][src]

pub struct Basic { /* fields omitted */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, described in RFC 7617

Example

@@ -15,11 +12,11 @@ described in RFC 7617

.insert_header(WwwAuthenticate(challenge)) .finish() }
-

Implementations

impl Basic[src]

pub fn new() -> Basic[src]

Creates new Basic challenge with an empty realm field.

+

Implementations

Creates new Basic challenge with an empty realm field.

Example

 let challenge = Basic::new();
-

pub fn with_realm<T>(value: T) -> Basic where
    T: Into<Cow<'static, str>>, 
[src]

Creates new Basic challenge from the provided realm field value.

+

Creates new Basic challenge from the provided realm field value.

Examples

 let challenge = Basic::with_realm("Restricted area");
@@ -27,49 +24,50 @@ described in RFC 7617

 let my_realm = "Earth realm".to_string();
 let challenge = Basic::with_realm(my_realm);
-

Trait Implementations

impl AsRef<Basic> for Config[src]

impl Clone for Basic[src]

impl Debug for Basic[src]

impl Default for Basic[src]

impl Display for Basic[src]

impl Eq for Basic[src]

impl Hash for Basic[src]

impl IntoHeaderValue for Basic[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Basic[src]

impl PartialEq<Basic> for Basic[src]

Trait Implementations

Performs the conversion.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Basic> for Basic[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Basic[src]

impl StructuralPartialEq for Basic[src]

Auto Trait Implementations

impl RefUnwindSafe for Basic

impl Send for Basic

impl Sync for Basic

impl Unpin for Basic

impl UnwindSafe for Basic

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html b/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html index 28482e0ce..b0d97f554 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html @@ -1,14 +1,9 @@ -actix_web_httpauth::headers::www_authenticate::bearer::Error - Rust - -

Enum actix_web_httpauth::headers::www_authenticate::bearer::Error[][src]

pub enum Error {
+Error in actix_web_httpauth::headers::www_authenticate::bearer - Rust

Enum actix_web_httpauth::headers::www_authenticate::bearer::Error[][src]

pub enum Error {
     InvalidRequest,
     InvalidToken,
     InsufficientScope,
-}

Bearer authorization error types, described in RFC 6750

-

- Variants

-
InvalidRequest

The request is missing a required parameter, includes an unsupported +}

Expand description

Bearer authorization error types, described in RFC 6750

+

Variants

InvalidRequest

The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed.

@@ -16,46 +11,47 @@ malformed.

for other reasons.

InsufficientScope

The request requires higher privileges than provided by the access token.

-

Implementations

impl Error[src]

pub fn status_code(&self) -> StatusCode[src]

Returns HTTP status code suitable for current error type.

-

Trait Implementations

impl Clone for Error[src]

impl Copy for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Hash for Error[src]

impl Ord for Error[src]

impl PartialEq<Error> for Error[src]

Implementations

Returns HTTP status code suitable for current error type.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Error> for Error[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/index.html b/actix_web_httpauth/headers/www_authenticate/bearer/index.html index b9af6a1ff..ef883915c 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/index.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/index.html @@ -1,12 +1,10 @@ -actix_web_httpauth::headers::www_authenticate::bearer - Rust - -

Module actix_web_httpauth::headers::www_authenticate::bearer[][src]

Challenge for the “Bearer” HTTP Authentication Scheme

-

Structs

-
Bearer

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, +actix_web_httpauth::headers::www_authenticate::bearer - Rust

Module actix_web_httpauth::headers::www_authenticate::bearer[][src]

Expand description

Challenge for the “Bearer” HTTP Authentication Scheme

+

Structs

+

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750

-
BearerBuilder

Builder for the Bearer challenge.

-

Enums

-
Error

Bearer authorization error types, described in RFC 6750

-
- \ No newline at end of file +

Builder for the Bearer challenge.

+

Enums

+

Bearer authorization error types, described in RFC 6750

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html b/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html index 6b0f5aded..704d66f13 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html @@ -1,7 +1,4 @@ -actix_web_httpauth::headers::www_authenticate::bearer::Bearer - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer[][src]

pub struct Bearer { /* fields omitted */ }

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, +Bearer in actix_web_httpauth::headers::www_authenticate::bearer - Rust

Struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer[][src]

pub struct Bearer { /* fields omitted */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750

Example

@@ -23,56 +20,57 @@ described in RFC 6750insert_header(WwwAuthenticate(challenge))
         .finish()
 }
-

Implementations

impl Bearer[src]

pub fn build() -> BearerBuilder[src]

Creates the builder for Bearer challenge.

+

Implementations

Creates the builder for Bearer challenge.

Example

 let challenge = Bearer::build()
     .realm("Restricted area")
     .scope("openid profile email")
     .finish();
-

Trait Implementations

impl AsRef<Bearer> for Config[src]

impl Clone for Bearer[src]

impl Debug for Bearer[src]

impl Default for Bearer[src]

impl Display for Bearer[src]

impl Eq for Bearer[src]

impl Hash for Bearer[src]

impl IntoHeaderValue for Bearer[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Bearer[src]

impl PartialEq<Bearer> for Bearer[src]

Trait Implementations

Performs the conversion.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Bearer> for Bearer[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Bearer[src]

impl StructuralPartialEq for Bearer[src]

Auto Trait Implementations

impl RefUnwindSafe for Bearer

impl Send for Bearer

impl Sync for Bearer

impl Unpin for Bearer

impl UnwindSafe for Bearer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html b/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html index 4048c6c87..a724dc754 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html @@ -1,31 +1,29 @@ -actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder[][src]

pub struct BearerBuilder(_);

Builder for the Bearer challenge.

+BearerBuilder in actix_web_httpauth::headers::www_authenticate::bearer - Rust

Struct actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder[][src]

pub struct BearerBuilder(_);
Expand description

Builder for the Bearer challenge.

It is up to implementor to fill all required fields, neither this Builder or Bearer does not provide any validation.

-

Implementations

impl BearerBuilder[src]

pub fn scope<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the scope attribute, as defined in RFC6749, Section 3.3

-

pub fn realm<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the realm attribute, as defined in RFC2617

-

pub fn error(self, value: Error) -> Self[src]

Provides the error attribute, as defined in RFC6750, Section 3.1

-

pub fn error_description<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the error_description attribute, as defined in RFC6750, Section 3

-

pub fn error_uri<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the error_uri attribute, as defined in RFC6750, Section 3

+

Implementations

Provides the scope attribute, as defined in RFC6749, Section 3.3

+

Provides the realm attribute, as defined in RFC2617

+

Provides the error attribute, as defined in RFC6750, Section 3.1

+

Provides the error_description attribute, as defined in RFC6750, Section 3

+

Provides the error_uri attribute, as defined in RFC6750, Section 3

It is up to implementor to provide properly-formed absolute URI.

-

pub fn finish(self) -> Bearer[src]

Consumes the builder and returns built Bearer instance.

-

Trait Implementations

impl Debug for BearerBuilder[src]

impl Default for BearerBuilder[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Consumes the builder and returns built Bearer instance.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html b/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html index 038227eef..b9334245a 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/www_authenticate/basic/index.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html b/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html index 62cd49f03..f1fbe4e42 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html index ad16ff0df..009788846 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../../actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html index 29f95b245..f5e642e72 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../../actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html index a4c048dfc..de4e73f59 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../../actix_web_httpauth/extractors/bearer/enum.Error.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html index 5570fdcda..518feee9a 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/www_authenticate/bearer/index.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html b/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html index 24e29a275..036b7c096 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/www_authenticate/trait.Challenge.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html b/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html index a9fe30952..e7f185c85 100644 --- a/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html +++ b/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/index.html b/actix_web_httpauth/headers/www_authenticate/index.html index 4e5eb249a..749fa61b7 100644 --- a/actix_web_httpauth/headers/www_authenticate/index.html +++ b/actix_web_httpauth/headers/www_authenticate/index.html @@ -1,13 +1,11 @@ -actix_web_httpauth::headers::www_authenticate - Rust - -

Module actix_web_httpauth::headers::www_authenticate[][src]

WWW-Authenticate header and various auth challenges

-

Modules

-
basic

Challenge for the “Basic” HTTP Authentication Scheme

-
bearer

Challenge for the “Bearer” HTTP Authentication Scheme

-

Structs

-
WwwAuthenticate

WWW-Authenticate header, described in RFC 7235

-

Traits

-
Challenge

Authentication challenge for WWW-Authenticate header.

-
- \ No newline at end of file +actix_web_httpauth::headers::www_authenticate - Rust

Module actix_web_httpauth::headers::www_authenticate[][src]

Expand description

WWW-Authenticate header and various auth challenges

+

Modules

+

Challenge for the “Basic” HTTP Authentication Scheme

+

Challenge for the “Bearer” HTTP Authentication Scheme

+

Structs

+

WWW-Authenticate header, described in RFC 7235

+

Traits

+

Authentication challenge for WWW-Authenticate header.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html b/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html index 4a1435d3f..f807f8165 100644 --- a/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html +++ b/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html @@ -1,52 +1,50 @@ -actix_web_httpauth::headers::www_authenticate::WwwAuthenticate - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate[][src]

pub struct WwwAuthenticate<C: Challenge>(pub C);

WWW-Authenticate header, described in RFC 7235

+WwwAuthenticate in actix_web_httpauth::headers::www_authenticate - Rust

Struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate[][src]

pub struct WwwAuthenticate<C: Challenge>(pub C);
Expand description

WWW-Authenticate header, described in RFC 7235

This header is generic over Challenge trait, see Basic and Bearer challenges for details.

-

Trait Implementations

impl<C: Clone + Challenge> Clone for WwwAuthenticate<C>[src]

impl<C: Debug + Challenge> Debug for WwwAuthenticate<C>[src]

impl<C: Default + Challenge> Default for WwwAuthenticate<C>[src]

impl<C: Eq + Challenge> Eq for WwwAuthenticate<C>[src]

impl<C: Hash + Challenge> Hash for WwwAuthenticate<C>[src]

impl<C: Challenge> Header for WwwAuthenticate<C>[src]

impl<C: Challenge> IntoHeaderValue for WwwAuthenticate<C>[src]

type Error = <C as IntoHeaderValue>::Error

The type returned in the event of a conversion error.

-

impl<C: Ord + Challenge> Ord for WwwAuthenticate<C>[src]

impl<C: PartialEq + Challenge> PartialEq<WwwAuthenticate<C>> for WwwAuthenticate<C>[src]

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Feeds this value into the given Hasher. Read more

+

Feeds a slice of this type into the given Hasher. Read more

+

Returns the name of the header field

+

Parse a header

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl<C: PartialOrd + Challenge> PartialOrd<WwwAuthenticate<C>> for WwwAuthenticate<C>[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl<C: Challenge> StructuralEq for WwwAuthenticate<C>[src]

impl<C: Challenge> StructuralPartialEq for WwwAuthenticate<C>[src]

Auto Trait Implementations

impl<C> RefUnwindSafe for WwwAuthenticate<C> where
    C: RefUnwindSafe

impl<C> Send for WwwAuthenticate<C>

impl<C> Sync for WwwAuthenticate<C>

impl<C> Unpin for WwwAuthenticate<C> where
    C: Unpin

impl<C> UnwindSafe for WwwAuthenticate<C> where
    C: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoHeaderPair for T where
    T: Header, 

type Error = <T as IntoHeaderValue>::Error

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

-

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

-

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

-

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html index b528eef70..1b8c97b9a 100644 --- a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html +++ b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html @@ -1,9 +1,7 @@ -actix_web_httpauth::headers::www_authenticate::Challenge - Rust - -

Trait actix_web_httpauth::headers::www_authenticate::Challenge[][src]

pub trait Challenge: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
+Challenge in actix_web_httpauth::headers::www_authenticate - Rust

Trait actix_web_httpauth::headers::www_authenticate::Challenge[][src]

pub trait Challenge: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
     fn to_bytes(&self) -> Bytes;
-}

Authentication challenge for WWW-Authenticate header.

-

Required methods

fn to_bytes(&self) -> Bytes[src]

Converts the challenge into a bytes suitable for HTTP transmission.

-
Loading content...

Implementors

Loading content...
- \ No newline at end of file +}
Expand description

Authentication challenge for WWW-Authenticate header.

+

Required methods

Converts the challenge into a bytes suitable for HTTP transmission.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/index.html b/actix_web_httpauth/index.html index f809f09f4..c9133450d 100644 --- a/actix_web_httpauth/index.html +++ b/actix_web_httpauth/index.html @@ -1,11 +1,8 @@ -actix_web_httpauth - Rust - -

Crate actix_web_httpauth[][src]

HTTP authentication schemes for actix-web.

+actix_web_httpauth - Rust

Crate actix_web_httpauth[][src]

Expand description

HTTP authentication schemes for actix-web.

Provides:

Supported schemes

@@ -13,9 +10,10 @@
  • Basic, as defined in RFC7617
  • Bearer, as defined in RFC6750
  • -

    Modules

    -
    extractors

    Type-safe authentication information extractors

    -
    headers

    Typed HTTP headers

    -
    middleware

    HTTP Authentication middleware.

    -
    - \ No newline at end of file +

    Modules

    +

    Type-safe authentication information extractors

    +

    Typed HTTP headers

    +

    HTTP Authentication middleware.

    +
    + + \ No newline at end of file diff --git a/actix_web_httpauth/middleware/index.html b/actix_web_httpauth/middleware/index.html index 3581885a1..add78f560 100644 --- a/actix_web_httpauth/middleware/index.html +++ b/actix_web_httpauth/middleware/index.html @@ -1,8 +1,6 @@ -actix_web_httpauth::middleware - Rust - -

    Module actix_web_httpauth::middleware[][src]

    HTTP Authentication middleware.

    -

    Structs

    -
    HttpAuthentication

    Middleware for checking HTTP authentication.

    -
    - \ No newline at end of file +actix_web_httpauth::middleware - Rust

    Module actix_web_httpauth::middleware[][src]

    Expand description

    HTTP Authentication middleware.

    +

    Structs

    +

    Middleware for checking HTTP authentication.

    +
    + + \ No newline at end of file diff --git a/actix_web_httpauth/middleware/struct.HttpAuthentication.html b/actix_web_httpauth/middleware/struct.HttpAuthentication.html index 0fe2e3d7a..b9cd7ddc1 100644 --- a/actix_web_httpauth/middleware/struct.HttpAuthentication.html +++ b/actix_web_httpauth/middleware/struct.HttpAuthentication.html @@ -1,14 +1,11 @@ -actix_web_httpauth::middleware::HttpAuthentication - Rust - -

    Struct actix_web_httpauth::middleware::HttpAuthentication[][src]

    pub struct HttpAuthentication<T, F> where
        T: AuthExtractor
    { /* fields omitted */ }

    Middleware for checking HTTP authentication.

    +HttpAuthentication in actix_web_httpauth::middleware - Rust

    Struct actix_web_httpauth::middleware::HttpAuthentication[][src]

    pub struct HttpAuthentication<T, F> where
        T: AuthExtractor
    { /* fields omitted */ }
    Expand description

    Middleware for checking HTTP authentication.

    If there is no Authorization header in the request, this middleware returns an error immediately, without calling the F callback.

    Otherwise, it will pass both the request and the parsed credentials into it. In case of successful validation F callback is required to return the ServiceRequest back.

    -

    Implementations

    impl<T, F, O> HttpAuthentication<T, F> where
        T: AuthExtractor,
        F: Fn(ServiceRequest, T) -> O,
        O: Future<Output = Result<ServiceRequest, Error>>, 
    [src]

    pub fn with_fn(process_fn: F) -> HttpAuthentication<T, F>[src]

    Construct HttpAuthentication middleware with the provided auth extractor T and +

    Implementations

    Construct HttpAuthentication middleware with the provided auth extractor T and validation callback F.

    -

    impl<F, O> HttpAuthentication<BasicAuth, F> where
        F: Fn(ServiceRequest, BasicAuth) -> O,
        O: Future<Output = Result<ServiceRequest, Error>>, 
    [src]

    pub fn basic(process_fn: F) -> Self[src]

    Construct HttpAuthentication middleware for the HTTP “Basic” authentication scheme.

    +

    Construct HttpAuthentication middleware for the HTTP “Basic” authentication scheme.

    Example

     // In this example validator returns immediately, but since it is required to return
    @@ -23,7 +20,7 @@ validation callback F.

    } let middleware = HttpAuthentication::basic(validator);
    -

    impl<F, O> HttpAuthentication<BearerAuth, F> where
        F: Fn(ServiceRequest, BearerAuth) -> O,
        O: Future<Output = Result<ServiceRequest, Error>>, 
    [src]

    pub fn bearer(process_fn: F) -> Self[src]

    Construct HttpAuthentication middleware for the HTTP “Bearer” authentication scheme.

    +

    Construct HttpAuthentication middleware for the HTTP “Bearer” authentication scheme.

    Example

     async fn validator(req: ServiceRequest, credentials: BearerAuth) -> Result<ServiceRequest, Error> {
    @@ -40,32 +37,33 @@ validation callback F.

    } let middleware = HttpAuthentication::bearer(validator);
    -

    Trait Implementations

    impl<T: Clone, F: Clone> Clone for HttpAuthentication<T, F> where
        T: AuthExtractor
    [src]

    impl<T: Debug, F: Debug> Debug for HttpAuthentication<T, F> where
        T: AuthExtractor
    [src]

    impl<S, B, T, F, O> Transform<S, ServiceRequest> for HttpAuthentication<T, F> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        F: Fn(ServiceRequest, T) -> O + 'static,
        O: Future<Output = Result<ServiceRequest, Error>> + 'static,
        T: AuthExtractor + 'static, 
    [src]

    type Response = ServiceResponse<B>

    Responses produced by the service.

    -

    type Error = Error

    Errors produced by the service.

    -

    type Transform = AuthenticationMiddleware<S, F, T>

    The TransformService value created by this factory

    -

    type InitError = ()

    Errors produced while building a transform service.

    -

    type Future = Ready<Result<Self::Transform, Self::InitError>>

    The future response value.

    -

    Auto Trait Implementations

    impl<T, F> RefUnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: RefUnwindSafe

    impl<T, F> Send for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Send

    impl<T, F> Sync for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Sync

    impl<T, F> Unpin for HttpAuthentication<T, F> where
        T: Unpin

    impl<T, F> UnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: UnwindSafe

    Blanket Implementations

    impl<T> Any for T where
        T: 'static + ?Sized
    [src]

    impl<T> Borrow<T> for T where
        T: ?Sized
    [src]

    impl<T> BorrowMut<T> for T where
        T: ?Sized
    [src]

    impl<T> From<T> for T[src]

    impl<T> Instrument for T[src]

    impl<T, U> Into<U> for T where
        U: From<T>, 
    [src]

    impl<T> Same<T> for T

    type Output = T

    Should always be Self

    -

    impl<T> ToOwned for T where
        T: Clone
    [src]

    type Owned = T

    The resulting type after obtaining ownership.

    -

    impl<T, U> TryFrom<U> for T where
        U: Into<T>, 
    [src]

    type Error = Infallible

    The type returned in the event of a conversion error.

    -

    impl<T, U> TryInto<U> for T where
        U: TryFrom<T>, 
    [src]

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.

    -

    impl<V, T> VZip<V> for T where
        V: MultiLane<T>, 

    - \ No newline at end of file +

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Responses produced by the service.

    +

    Errors produced by the service.

    +

    The TransformService value created by this factory

    +

    Errors produced while building a transform service.

    +

    The future response value.

    +

    Creates and returns a new Transform component, asynchronously

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Performs the conversion.

    +

    Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

    +

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

    +

    Performs the conversion.

    +

    Should always be Self

    +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    recently added

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +
    + + \ No newline at end of file diff --git a/ayu.css b/ayu.css index 52f5651ee..25ae95254 100644 --- a/ayu.css +++ b/ayu.css @@ -1 +1 @@ - body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod){border-bottom-color:#5c6773;}h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}code{color:#ffb454;}h3>code,h4>code,h5>code{color:#e6e1cf;}pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre{color:#e6e1cf;background-color:#191f26;}.sidebar{background-color:#14191f;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 transparent;}.sidebar{scrollbar-color:#5c6773 transparent;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#0f1419;}.sidebar .location{border-color:#000;background-color:#0f1419;color:#fff;}.sidebar-elems .location{color:#ff7733;}.sidebar-elems .location a{color:#fff;}.sidebar .version{border-bottom-color:#424c57;}.sidebar-title{border-top-color:#5c6773;border-bottom-color:#5c6773;}.block a:hover{background:transparent;color:#ffb44c;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#5c6773;}.docblock table,.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.content .highlighted{color:#000 !important;background-color:#c6afb3;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted{background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a span.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ef57ff;}.content span.union,.content a.union{color:#98a01c;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#6380a0;}.content span.primitive,.content a.primitive{color:#32889b;}.content span.traitalias,.content a.traitalias{color:#57d399;}.content span.keyword,.content a.keyword{color:#de5249;}.content span.externcrate,.content span.mod,.content a.mod{color:#acccf9;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#99e0c9;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#cfbcf5;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav:not(.sidebar){border-bottom-color:#424c57;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#c5c5c5;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#39AFD7;}.collapse-toggle{color:#999;}#crate-search{color:#c5c5c5;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;border-color:#424c57;}.search-input{color:#ffffff;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;transition:box-shadow 150ms ease-in-out;}#crate-search+.search-input:focus{box-shadow:0 0 0 1px #148099,0 0 0 2px transparent;}.search-focus:disabled{color:#929292;}.module-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help>div>span{border-bottom-color:#5c6773;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.content .highlighted.mod,.content .highlighted.externcrate{}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content .highlighted.trait{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content .highlighted.traitalias{}.content span.type,.content a.type,.block a.current.type{}.content span.union,.content a.union,.block a.current.union{}.content .highlighted.foreigntype{}pre.rust .lifetime{}.content .highlighted.primitive{}.content .highlighted.constant,.content .highlighted.static{}.stab.unstable{}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content .highlighted.enum{}.content .highlighted.struct{}.content .highlighted.keyword{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{}.stab.portability{}.content .highlighted.union{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}.content .highlighted.type{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}#all-types{background-color:#14191f;}#all-types:hover{background-color:rgba(70,70,70,0.33);}.search-results td span.alias{color:#c5c5c5;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;} \ No newline at end of file + body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3,h4{color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3,h4{border-bottom-color:#5c6773;}h4{border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}code{color:#ffb454;}h3>code,h4>code,h5>code{color:#e6e1cf;}pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;background-color:#191f26;}.sidebar{background-color:#14191f;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 transparent;}.sidebar{scrollbar-color:#5c6773 transparent;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#0f1419;}.sidebar .location{border-color:#000;background-color:#0f1419;color:#fff;}.sidebar-elems .location{color:#ff7733;}.sidebar-elems .location a{color:#fff;}.sidebar .version{border-bottom-color:#424c57;}.sidebar-title{border-top-color:#5c6773;border-bottom-color:#5c6773;}.block a:hover{background:transparent;color:#ffb44c;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#5c6773;}.docblock table,.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#000 !important;background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a span.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ef57ff;}.content span.union,.content a.union{color:#98a01c;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#6380a0;}.content span.primitive,.content a.primitive{color:#32889b;}.content span.traitalias,.content a.traitalias{color:#57d399;}.content span.keyword,.content a.keyword{color:#de5249;}.content span.externcrate,.content span.mod,.content a.mod{color:#acccf9;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#99e0c9;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#cfbcf5;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav:not(.sidebar){border-bottom-color:#424c57;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#c5c5c5;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#39AFD7;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search{color:#c5c5c5;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;border-color:#424c57;}.search-input{color:#ffffff;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;transition:box-shadow 150ms ease-in-out;}#crate-search+.search-input:focus{box-shadow:0 0 0 1px #148099,0 0 0 2px transparent;}.search-input:disabled{background-color:#3e3e3e;}.module-item .stab,.import-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help>div>span{border-bottom-color:#5c6773;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label,.code-attribute{color:#999;}:target,:target*{background:rgba(255,236,164,0.06);}:target{border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}.notable-traits-tooltiptext .notable{border-bottom-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content span.type,.content a.type,.block a.current.type{}.content span.union,.content a.union,.block a.current.union{}pre.rust .lifetime{}.stab.unstable{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content a.attr,.content a.derive,.content a.macro{}.stab.portability{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}.search-results a:focus span{}a.result-trait:focus{}a.result-traitalias:focus{}a.result-mod:focus,a.result-externcrate:focus{}a.result-mod:focus{}a.result-externcrate:focus{}a.result-enum:focus{}a.result-struct:focus{}a.result-union:focus{}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{}a.result-type:focus{}a.result-foreigntype:focus{}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{}a.result-constant:focus,a.result-static:focus{}a.result-primitive:focus{}a.result-keyword:focus{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#copy-path{color:#fff;}#copy-path>img{filter:invert(70%);}#copy-path:hover>img{filter:invert(100%);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}#all-types{background-color:#14191f;}#all-types:hover{background-color:rgba(70,70,70,0.33);}.search-results .result-name span.alias{color:#c5c5c5;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;} \ No newline at end of file diff --git a/clipboard.svg b/clipboard.svg new file mode 100644 index 000000000..8adbd9963 --- /dev/null +++ b/clipboard.svg @@ -0,0 +1 @@ + diff --git a/crates.js b/crates.js index 5176ac7e3..be1d5a7c2 100644 --- a/crates.js +++ b/crates.js @@ -1 +1 @@ -window.ALL_CRATES = ["actix_cors","actix_identity","actix_protobuf","actix_redis","actix_session","actix_web_httpauth","prost_example"]; \ No newline at end of file +window.ALL_CRATES = ["actix_cors","actix_identity","actix_protobuf","actix_redis","actix_session","actix_web_httpauth"]; \ No newline at end of file diff --git a/dark.css b/dark.css index f0b11c91b..474fd9c6d 100644 --- a/dark.css +++ b/dark.css @@ -1 +1 @@ -body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;} \ No newline at end of file +body{background-color:#353535;color:#ddd;}h1,h2,h3,h4{color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3,h4{border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre,.rustdoc.source .example-wrap{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#eee !important;background-color:#616161;}.search-results a:focus span{color:#eee !important;}a.result-trait:focus{background-color:#013191;}a.result-traitalias:focus{background-color:#013191;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-mod:focus{background-color:#803a1b;}a.result-externcrate:focus{background-color:#396bac;}a.result-enum:focus{background-color:#5b4e68;}a.result-struct:focus{background-color:#194e9f;}a.result-union:focus{background-color:#b7bd49;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#4950ed;}a.result-type:focus{background-color:#38902c;}a.result-foreigntype:focus{background-color:#b200d6;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#217d1c;}a.result-constant:focus,a.result-static:focus{background-color:#0063cc;}a.result-primitive:focus{background-color:#00708a;}a.result-keyword:focus{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-input:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab,.import-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target,:target*{background-color:#494a3d;}:target{border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}.notable-traits-tooltiptext .notable{border-bottom-color:#d2d2d2;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#ffb900;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(65%);}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results .result-name span.alias{color:#fff;}.search-results .result-name span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;} \ No newline at end of file diff --git a/implementors/actix_service/transform/trait.Transform.js b/implementors/actix_service/transform/trait.Transform.js index 59a567e00..e3ae7d8c2 100644 --- a/implementors/actix_service/transform/trait.Transform.js +++ b/implementors/actix_service/transform/trait.Transform.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; -implementors["actix_cors"] = [{"text":"impl<S, B> Transform<S, ServiceRequest> for Cors where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
        S::Future: 'static,
        B: 'static, 
    ","synthetic":false,"types":["actix_cors::builder::Cors"]}]; -implementors["actix_identity"] = [{"text":"impl<S, T, B> Transform<S, ServiceRequest> for IdentityService<T> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        T: IdentityPolicy,
        B: 'static, 
    ","synthetic":false,"types":["actix_identity::middleware::IdentityService"]}]; +implementors["actix_cors"] = [{"text":"impl<S> Transform<S, ServiceRequest> for Cors where
        S: Service<ServiceRequest, Response = ServiceResponse, Error = Error>,
        S::Future: 'static, 
    ","synthetic":false,"types":["actix_cors::builder::Cors"]}]; +implementors["actix_identity"] = [{"text":"impl<S, T, B> Transform<S, ServiceRequest> for IdentityService<T> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        T: IdentityPolicy,
        B: MessageBody + 'static,
        B::Error: StdError
    ","synthetic":false,"types":["actix_identity::middleware::IdentityService"]}]; implementors["actix_redis"] = [{"text":"impl<S, B> Transform<S, ServiceRequest> for RedisSession where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        B: 'static, 
    ","synthetic":false,"types":["actix_redis::session::RedisSession"]}]; -implementors["actix_session"] = [{"text":"impl<S, B: 'static> Transform<S, ServiceRequest> for CookieSession where
        S: Service<ServiceRequest, Response = ServiceResponse<B>>,
        S::Future: 'static,
        S::Error: 'static, 
    ","synthetic":false,"types":["actix_session::cookie::CookieSession"]}]; -implementors["actix_web_httpauth"] = [{"text":"impl<S, B, T, F, O> Transform<S, ServiceRequest> for HttpAuthentication<T, F> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        F: Fn(ServiceRequest, T) -> O + 'static,
        O: Future<Output = Result<ServiceRequest, Error>> + 'static,
        T: AuthExtractor + 'static, 
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; +implementors["actix_session"] = [{"text":"impl<S, B> Transform<S, ServiceRequest> for CookieSession where
        S: Service<ServiceRequest, Response = ServiceResponse<B>>,
        S::Future: 'static,
        S::Error: 'static,
        B: MessageBody + 'static,
        B::Error: StdError
    ","synthetic":false,"types":["actix_session::cookie::CookieSession"]}]; +implementors["actix_web_httpauth"] = [{"text":"impl<S, B, T, F, O> Transform<S, ServiceRequest> for HttpAuthentication<T, F> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        F: Fn(ServiceRequest, T) -> O + 'static,
        O: Future<Output = Result<ServiceRequest, Error>> + 'static,
        T: AuthExtractor + 'static,
        B: MessageBody + 'static,
        B::Error: StdError
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/actix_http/error/trait.ResponseError.js b/implementors/actix_web/error/response_error/trait.ResponseError.js similarity index 100% rename from implementors/actix_http/error/trait.ResponseError.js rename to implementors/actix_web/error/response_error/trait.ResponseError.js diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 0b165475d..f534f1b22 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -3,5 +3,4 @@ implementors["actix_cors"] = [{"text":"impl Clone for Identity","synthetic":false,"types":["actix_identity::identity::Identity"]}]; implementors["actix_session"] = [{"text":"impl Clone for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Clone for Config","synthetic":false,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Clone for BasicAuth","synthetic":false,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Clone for Config","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Clone for BearerAuth","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<S: Clone + Scheme> Clone for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Clone for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Clone for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Clone for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Clone for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl Clone for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: Clone + Challenge> Clone for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T: Clone, F: Clone> Clone for HttpAuthentication<T, F> where
        T: AuthExtractor
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Clone for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index ae49bb3c3..ee1ab538d 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,5 +1,4 @@ (function() {var implementors = {}; implementors["actix_session"] = [{"text":"impl PartialEq<SessionStatus> for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl<S: PartialEq + Scheme> PartialEq<Authorization<S>> for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl PartialEq<Basic> for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl PartialEq<Bearer> for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl PartialEq<Basic> for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl PartialEq<Bearer> for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl PartialEq<Error> for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: PartialEq + Challenge> PartialEq<WwwAuthenticate<C>> for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]}]; -implementors["prost_example"] = [{"text":"impl PartialEq<MyObj> for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 9ccc8eda3..f473aefc1 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -3,5 +3,4 @@ implementors["actix_cors"] = [{"text":"impl Default for ProtoBufConfig","synthetic":false,"types":["actix_protobuf::ProtoBufConfig"]}]; implementors["actix_session"] = [{"text":"impl Default for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Default for Config","synthetic":false,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Default for Config","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl<S: Default + Scheme> Default for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Default for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Default for BearerBuilder","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Default for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C: Default + Challenge> Default for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]}]; -implementors["prost_example"] = [{"text":"impl Default for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 17c3a769e..fc654249d 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -4,5 +4,4 @@ implementors["actix_protobuf"] = [{"text":"impl Debug for Command","synthetic":false,"types":["actix_redis::redis::Command"]},{"text":"impl Debug for Error","synthetic":false,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl Debug for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Debug for Config","synthetic":false,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Debug for BasicAuth","synthetic":false,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Debug for Config","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Debug for BearerAuth","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C: Debug + Challenge> Debug for AuthenticationError<C>","synthetic":false,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Debug for ParseError","synthetic":false,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S: Debug + Scheme> Debug for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Debug for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Debug for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Debug for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Debug for BearerBuilder","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Debug for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl Debug for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: Debug + Challenge> Debug for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T: Debug, F: Debug> Debug for HttpAuthentication<T, F> where
        T: AuthExtractor
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Debug for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index dad323739..5b3976409 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Freeze for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl Freeze for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl Freeze for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Freeze for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl Freeze for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl Freeze for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Freeze for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Freeze for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Freeze for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Freeze for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Freeze for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Freeze for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Freeze for AuthenticationError<C> where
        C: Freeze, 
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Freeze for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Freeze for Authorization<S> where
        S: Freeze, 
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Freeze for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Freeze for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Freeze for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Freeze for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Freeze for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Freeze for WwwAuthenticate<C> where
        C: Freeze, 
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Freeze for HttpAuthentication<T, F>","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Freeze for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 16e58e02e..af95cc52a 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Send for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !Send for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !Send for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Send for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl !Send for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !Send for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Send for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Send for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Send for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Send for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Send for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Send for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Send for AuthenticationError<C>","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Send for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Send for Authorization<S>","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Send for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Send for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Send for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Send for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Send for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Send for WwwAuthenticate<C>","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Send for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Send
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Send for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index e997f2eef..8ad584f52 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,5 +1,4 @@ (function() {var implementors = {}; implementors["actix_session"] = [{"text":"impl StructuralPartialEq for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl<S: Scheme> StructuralPartialEq for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl StructuralPartialEq for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl StructuralPartialEq for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl StructuralPartialEq for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl StructuralPartialEq for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl StructuralPartialEq for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: Challenge> StructuralPartialEq for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]}]; -implementors["prost_example"] = [{"text":"impl StructuralPartialEq for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index a8b75270d..d6ef38ae3 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Sync for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !Sync for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !Sync for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Sync for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl !Sync for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !Sync for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Sync for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Sync for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Sync for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Sync for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Sync for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Sync for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Sync for AuthenticationError<C>","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Sync for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Sync for Authorization<S>","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Sync for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Sync for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Sync for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Sync for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Sync for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Sync for WwwAuthenticate<C>","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Sync for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Sync
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Sync for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 1296419f3..719826574 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Unpin for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl Unpin for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl Unpin for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Unpin for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl Unpin for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl Unpin for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Unpin for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Unpin for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Unpin for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Unpin for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Unpin for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Unpin for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Unpin for AuthenticationError<C> where
        C: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Unpin for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Unpin for Authorization<S> where
        S: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Unpin for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Unpin for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Unpin for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Unpin for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Unpin for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Unpin for WwwAuthenticate<C> where
        C: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Unpin for HttpAuthentication<T, F> where
        T: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Unpin for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/prost/message/trait.Message.js b/implementors/prost/message/trait.Message.js deleted file mode 100644 index 008a88697..000000000 --- a/implementors/prost/message/trait.Message.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["prost_example"] = [{"text":"impl Message for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/panic/trait.RefUnwindSafe.js b/implementors/std/panic/trait.RefUnwindSafe.js index dca140481..8191ffe3b 100644 --- a/implementors/std/panic/trait.RefUnwindSafe.js +++ b/implementors/std/panic/trait.RefUnwindSafe.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl !RefUnwindSafe for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !RefUnwindSafe for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !RefUnwindSafe for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl !RefUnwindSafe for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl !RefUnwindSafe for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !RefUnwindSafe for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl RefUnwindSafe for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl RefUnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl RefUnwindSafe for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl RefUnwindSafe for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl RefUnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl RefUnwindSafe for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> RefUnwindSafe for AuthenticationError<C> where
        C: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl RefUnwindSafe for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> RefUnwindSafe for Authorization<S> where
        S: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl RefUnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl RefUnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl RefUnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl RefUnwindSafe for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl RefUnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> RefUnwindSafe for WwwAuthenticate<C> where
        C: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> RefUnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl RefUnwindSafe for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/panic/trait.UnwindSafe.js b/implementors/std/panic/trait.UnwindSafe.js index f6bc7ea41..382c01805 100644 --- a/implementors/std/panic/trait.UnwindSafe.js +++ b/implementors/std/panic/trait.UnwindSafe.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl !UnwindSafe for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !UnwindSafe for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !UnwindSafe for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl !UnwindSafe for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl UnwindSafe for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !UnwindSafe for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl UnwindSafe for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl UnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl UnwindSafe for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl UnwindSafe for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl UnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl UnwindSafe for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> UnwindSafe for AuthenticationError<C> where
        C: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl UnwindSafe for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> UnwindSafe for Authorization<S> where
        S: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl UnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl UnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl UnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl UnwindSafe for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl UnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> UnwindSafe for WwwAuthenticate<C> where
        C: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> UnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl UnwindSafe for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/light.css b/light.css index b7b8bca9e..ce8d94a3d 100644 --- a/light.css +++ b/light.css @@ -1 +1 @@ - body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;} \ No newline at end of file + body{background-color:white;color:black;}h1,h2,h3,h4{color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3,h4{border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre,.rustdoc.source .example-wrap{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.search-results a:hover{background-color:#ddd;}.search-results a:focus{color:#000 !important;background-color:#ccc;}.search-results a:focus span{color:#000 !important;}a.result-trait:focus{background-color:#c7b6ff;}a.result-traitalias:focus{background-color:#c7b6ff;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-enum:focus{background-color:#b4d1b9;}a.result-struct:focus{background-color:#e7b1a0;}a.result-union:focus{background-color:#b7bd49;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#c6afb3;}a.result-type:focus{background-color:#ffc891;}a.result-foreigntype:focus{background-color:#f5c4ff;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#8ce488;}a.result-constant:focus,a.result-static:focus{background-color:#c3e0ff;}a.result-primitive:focus{background-color:#9aecff;}a.result-keyword:focus{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-input:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab,.import-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target,:target*{background:#FDFFD3;}:target{border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}.notable-traits-tooltiptext .notable{border-bottom-color:#DDDDDD;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#717171;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(35%);}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results .result-name span.alias{color:#000;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;} \ No newline at end of file diff --git a/main.js b/main.js index b2163ddc0..eaae31edb 100644 --- a/main.js +++ b/main.js @@ -1,8 +1,8 @@ -if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value;window.searchJS=rustdocVars.attributes["data-search-js"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=["ayu","dark","light"];function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function removeEmptyStringsFromArray(x){for(var i=0,len=x.length;i0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(build){if(build!==false){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display===true){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);document.addEventListener("mousemove",function(){mouseMovedAfterSearch=true});var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){var helpElem=getHelpElement(false);if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(helpElem&&hasClass(helpElem,"hidden")===false){var is_inside_help_popup=ev.target!==helpElem&&helpElem.contains(ev.target);if(is_inside_help_popup===false){addClass(helpElem,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});for(i=0,len=results.length;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=object[GENERICS_DATA].length;for(var x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i1?paths.length-1:1);var lev,j;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var enumNameIdx=item.path.lastIndexOf("::");var enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+=""});output+="
    "+""+(item.is_alias===true?(""+item.alias+"  - see "):"")+item.displayPath+""+name+""+""+""+item.desc+" 
    "}else{output="
    No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:
    "}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return""}return""}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}var output="

    Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

    "+"
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "+ret_others[0]+ret_in_args[0]+ret_returned[0]+"
    ";search.innerHTML=output;showSearchResults(search);initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}window.onpageshow=function(){var qSearch=getQueryStringParams().search;if(search_input.value===""&&qSearch){search_input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(getQueryStringParams().search){search()}};function addSidebarCrates(crates){if(window.rootPath==="../"||window.rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="

    Crates

    ";var ul=document.createElement("ul");div.appendChild(ul);for(var i=0;i"+""+"
    "+code.outerHTML+"
    ";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i"+labelForToggleButton(sectionIsCollapsed)+"
    ]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide")}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide")}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide")}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(false)+"] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=Array.prototype.slice.call(e.getElementsByClassName("hidden"));var needToggle=hiddenElems.some(function(hiddenElem){return hasClass(hiddenElem,"content")===false&&hasClass(hiddenElem,"docblock")===false});if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getSettingValue("auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getSettingValue("auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=" Show declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage=" Show fields"}else if(hasClass(e,"non-exhaustive")){otherMessage=" This ";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+=" is marked as non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper);autoCollapse(getSettingValue("collapse")==="true");var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML=" Expand attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getSettingValue("auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i"+getSearchLoadingText()+"";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function addSearchOptions(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(function(x){return"
    "+x[0].split(" ").map(function(y,index){return(index&1)===0?""+y+"":" "+y+" "}).join("")+"
    "+x[1]+"
    "}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ +if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value;window.searchJS=rustdocVars.attributes["data-search-js"].value;window.searchIndexJS=rustdocVars.attributes["data-search-index-js"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=["ayu","dark","light"];function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:function(){return document.getElementById("search")},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:function(){if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},focus:function(){searchState.input.focus()},defocus:function(){searchState.input.blur()},showResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(main,"hidden");removeClass(search,"hidden");searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=searchState.titleBeforeSearch;if(searchState.browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:function(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},putBackSearch:function(search_input){var search=searchState.outputElement();if(search_input.value!==""&&hasClass(search,"hidden")){searchState.showResults(search);if(searchState.browserSupportsHistoryApi()){var extra="?search="+encodeURIComponent(search_input.value);history.replaceState(search_input.value,"",getNakedUrl()+extra+window.location.hash)}document.title=searchState.title}},browserSupportsHistoryApi:function(){return window.history&&typeof window.history.pushState==="function"},setup:function(){var search_input=searchState.input;if(!searchState.input){return}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS);loadScript(window.searchIndexJS)}}search_input.addEventListener("focus",function(){searchState.putBackSearch(this);search_input.origPlaceholder=searchState.input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});search_input.addEventListener("blur",function(){search_input.placeholder=searchState.input.origPlaceholder});search_input.removeAttribute('disabled');searchState.addCrateDropdown(window.ALL_CRATES);var params=searchState.getQueryStringParams();if(params.search!==undefined){var search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search);loadSearch()}},addCrateDropdown:function(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;i0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}var toggleAllDocsId="toggle-all-docs";var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=searchState.outputElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){searchState.hideResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(searchState.browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function getHelpElement(build){if(build){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=searchState.outputElement();if(help&&!hasClass(help,"hidden")){displayHelp(false,ev,help)}else if(search&&!hasClass(search,"hidden")){searchState.clearInputTimeout();ev.preventDefault();searchState.hideResults(search)}searchState.defocus();hideThemeButtonState()}var disableShortcuts=getSettingValue("disable-shortcuts")==="true";function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();searchState.focus();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i"+""+"
    "+code.outerHTML+"
    ";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function toggleAllDocs(){var innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}var sectionIsCollapsed=false;if(hasClass(innerToggle,"will-expand")){removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),function(e){if(!hasClass(e,"type-contents-toggle")){e.open=true}});innerToggle.title="collapse all docs"}else{addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),function(e){if(e.parentNode.id!=="main"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});sectionIsCollapsed=true;innerToggle.title="expand all docs"}innerToggle.children[0].innerText=labelForToggleButton(sectionIsCollapsed)}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";var hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){var list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),function(e){e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("rustdoc-toggle"),function(e){if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(function(x){return"
    "+x[0].split(" ").map(function(y,index){return(index&1)===0?""+y+"":" "+y+" "}).join("")+"
    "+x[1]+"
    "}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ enum, trait, type, macro, \ and const.","Search functions by type signature (e.g., vec -> usize or \ * -> vec)","Search multiple things at once by splitting your query with comma (e.g., \ str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(function(x){return"

    "+x+"

    "}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement());buildHelperPopup=function(){}}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}function setupSearchLoader(){var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS)}}addSearchOptions(window.ALL_CRATES);addSidebarCrates(window.ALL_CRATES);search_input.addEventListener("focus",function(){search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});search_input.addEventListener("blur",function(){search_input.placeholder=search_input.origPlaceholder});search_input.removeAttribute('disabled');var crateSearchDropDown=document.getElementById("crate-search");if(crateSearchDropDown){crateSearchDropDown.addEventListener("focus",loadSearch)}var params=getQueryStringParams();if(params.search!==undefined){loadSearch()}}onHashChange(null);window.onhashchange=onHashChange;setupSearchLoader()}());function copy_path(but){var parent=but.parentElement;var path=[];onEach(parent.childNodes,function(child){if(child.tagName==='A'){path.push(child.textContent)}});var el=document.createElement('textarea');el.value='use '+path.join('::')+';';el.setAttribute('readonly','');el.style.position='absolute';el.style.left='-9999px';document.body.appendChild(el);el.select();document.execCommand('copy');document.body.removeChild(el);but.textContent='✓'} \ No newline at end of file + your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(function(x){return"

    "+x+"

    "}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,searchState.outputElement());buildHelperPopup=function(){}};onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){var reset_button_timeout=null;window.copy_path=function(but){var parent=but.parentElement;var path=[];onEach(parent.childNodes,function(child){if(child.tagName==='A'){path.push(child.textContent)}});var el=document.createElement('textarea');el.value='use '+path.join('::')+';';el.setAttribute('readonly','');el.style.position='absolute';el.style.left='-9999px';document.body.appendChild(el);el.select();document.execCommand('copy');document.body.removeChild(el);but.children[0].style.display='none';var tmp;if(but.childNodes.length<2){tmp=document.createTextNode('✓');but.appendChild(tmp)}else{onEachLazy(but.childNodes,function(e){if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent='✓'}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent='';reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/noscript.css b/noscript.css index 807cd868f..aea68efbc 100644 --- a/noscript.css +++ b/noscript.css @@ -1 +1 @@ - #main>h2+div,#main>h2+h3,#main>h3+div{display:block;}.loading-content{display:none;}#main>h2+div,#main>h3+div{display:block;}#main>h2+h3{display:flex;}#main .impl-items .hidden{display:block !important;}#main .impl-items h4.hidden{display:flex !important;}#main .attributes{margin-left:0 !important;}#copy-path{display:none;} \ No newline at end of file + #main .attributes{margin-left:0 !important;}#copy-path{display:none;} \ No newline at end of file diff --git a/noto-sans-kr-v13-korean-regular-LICENSE.txt b/noto-sans-kr-v13-korean-regular-LICENSE.txt new file mode 100644 index 000000000..922d5fdc1 --- /dev/null +++ b/noto-sans-kr-v13-korean-regular-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2014, 2015 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/noto-sans-kr-v13-korean-regular.woff b/noto-sans-kr-v13-korean-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..01d6b6b54664c35f8180f7c245514d22751f9307 GIT binary patch literal 287068 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

    ff0{w-vm$aC<^ll-;r!22LyG(71$pSamDnpqF% z#50o#v$G3}(P{`R6}-#i@~Q-*$GFSg<7aRfdz@>8d=39pYJ_S`iBkzR3APD2 zAqUpPo+PhOREU-2${h)38Ip~{6KD&NCG(QWA*{=ySrjE=l9LH5P*x-h<|TTP?+Nfk zxyTD#L}-LtLS9i1xRsKU^@-agsZggp3ks%qO)So^&a}=v2l8WE3GXBbqBF?O^mpGO zyvUy22^7Q%;(4Ln_^-&$zwY1;AjaYo(GG|Y{*C1)$|O!Eeixi5RuyPM4WpAuQ!-ID zQdSCE#Vnwf#wxBCx(c7hEyz&%D!mn#K#{?aVVJcjj$~3UDykRfpiGdZ0H@ecdW1L= z91=~y6jD-(QC^4MK^?+OAQXNGEf;1%EiZ_=3A>3r3fG2V(=SmjVJ>kli58X>u#4J7 ztqWJ!DQ*-#iC)HXOIBD_6f2Gv$RnSzE@@RnE2S6FOX!7nLb>6b`7H%kl!ti1KO� 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�j~P7euN7P*`zT*ztb_538tkyV+8)t-hk3D%QOx6WXR4DcR_P))A3kE*#Pe6o?@yi@ zq2%#JI?rJO}L_aap*eF7XnO?_6=%(XOZzw6i8VV?(n8~B~8^f&#@ zqZl2e=7u`aDved)*E%53r2}>ub;_sKP~Jnp_EW;M@?&XGyl#i(QtGusLrO%_PV%+2rEQ#Z} z&a~1V*|HRPuE2NH$gDN3H^^75^y^aH?>c0XW?#!GF!Bgo6YvpgIiPT23!ph{7V@p0 zNK3_++btJUt{fUtHuCX%JjLYAZN3HHUU!DqDNhAEs_%ll`?0qdJ4-2D#ZYh)_?`1h z18V|iIBqJcrl>E?_u}E!fDXk1g!q!yDo-6NG^@9NiUxH>C zWW=lAQ}Alq^wjYpFFbjXYXQ9t9tT-=aU{f@LZI%EG%kFuJ1HtOkE z&qq>xyl$)YQtFk%ktJYpZ;rB_my5N3G_2=mYJZbi>g&4NE#GrRw}rJWhsx5Y{P}a6p|-J= z4yfVI11J-)V1oe*#_=-SfmJ{2k$Tl*Q_)87v6LXb+-8M94@H)adV=LvxGgHt{?fqh zmukOP+^QS2562X12~gp{2JPd^;KA-p)&=iPzf=lfu+lk0lY-}REAAU^#Wfw?y*o7> zu2^wRFQBBW=>=GE0XjNLH6s0Fkjt#}2Xcj|^#EKY`7|t_7J}XHibG5I(^@0+WV=Oo z#9MpK#=XUR2j>i}Mw=Iip?t4~4_q^h zS6WgFN&@O(SGRAohJG3ST@?0eZ@c;xyk}88yeFDA(|HrQ0nE7@^}AchPrR|ql#yJtHzsGKZOK6>=hN^Gdj?-!jm?86 zTwNr2s#g0C4rWesoF#gj?sk3IK7Q?aI9@gX=pJmbD&MyIcDf8Olo_HbORkY-RbKP zISrHAL4(AbK*UHc+!vQUx?;%zOzJ=9JMJ1>wDK}0WtR031NU6KWJ#uu)WJG$s2l%9!+Zu{ zCwVh{#%l~zBaz~*8cDP$LIBb9CeCZ?1A(P)YCaVSyzhsNn?XSFY_q^j*_m(GDM4v^JH- z1Ef3fGjCuPx{}G>qOOA5%xm(cW+wQR)~zvmYPQcDgGDjWXv zJ$@d^OtaJLTBY_MN;1i_BWct}>OS6qtj&DAbd0s&xY*wU7n@oKFs*u}r{9`zpg@xE zTAK3%joj;s`-j*;kp>&sDo4t8Rd!i!K^~oi9XqCMyA3lg;>nNl3S^8=5o&$OJ6gB7 z;(Th+p%~k^=O66OX@iWr7Mr{>zsh%}5k`4V6b)B>6Yd?wS}k*y&UA$L8?>VCnZQp( zXJBsnuj$8&+X*)S&g_w>?~ohGda(+jr%7^6j2efa^h=QZBb#M!GK(kK^fH#3=oZ8= zzHA4-O!GNA_C|!-qYrdj%P*#0Jrrpj^Xz@po8r`LwbjF1qWzr z_2D?&q((lldZm{yq{A8Vtxq^NGrI_;UxlP}3~%ly0MeR*gl;o~?Zss^dk!MMGMbQm-D4w2XfKK6umI2X9 zK2ryHhAU_9agO(F3Hi)lxy+!sZJ<0pTyw#kC(T`(f;tG+#80^_nlhaa^IfLj?I;4y z1_12^;8@4uve=CS-ggTJplz!7_k(hC@|DFLZQTJg0J;@o#dDp)r(B|__&D+9Rtx8| z;fBD|A}$Gj<^D*cO!B-)8u1OT+z^G)6Z}|vx*~Xm-`8BtRRK%@j->BuzQ@Q9u$Jp- z=ss80h24R$S-arm^z_obyxnfu+$8>Fm=rXRwbOUi(brBao;4W(Jjo`*DIR}tZ9HU6 z&$DxTcy-SFTDI{PVi!^7Z) z_kj+c0U`xWG_Z+ms^hOEyfU!8=?={NIQkM|*=;@b;)E>?O{MGovJIp)pLuw?8?}v4 zoF&lshqW*H;sFf(FS@giA*}C5&d24p+!bG7r4+d0Fn@eSpk2NJTe_URf%ho>g~9Q~ zd+?TV!u$$~vGj-Hm8U2)LD5wjJWscoyXDVMbs$%`<;#;zAh?Bfto-&R2!89%I{Gq? zWzM8y7oimE9qnDDE>z433JO8NK~PW#3JSq~+?Bel_{X0suGA67G;Nwk=P}Qzb95W1 zt?|tL(>(Mc$gVNq`#kSQGH4d}*lvaw(iWT7{q_+$_(V-aOReilQ}g+eU4! zU3_r?KpElW#@kUN(Bid~^?gc$c0KJk)pm@egWuX03d~)sJsY9IFV?ZkR=TXf_w_KL zE{HBGK51{>d`ENt|7(Ed`Tr}xV*iE3*If}b_oc>IxLuL;HJsF|-6@ahL`s@B8?Ij0aL#ZowHJKN@;R4M4 zU%ot9$HAO0H29ImvC94^g>zu{y)7DR&w`p7!}Vav(8Po|WKgl`Z0boh^B1y!+*i%N zNz*Cu61z!h^nmTSuVj7r0qny>Mn@Es6En5stwYjrlxjqy_zT|4`e!(+_xz0Xy;|uB7?l ztnc5f!!;hJ=>YTlV;-hSemzX1(i}MdERfwtsOG)`_t%cY{gDQ-A)A_y{I=8xmF}O@ z01!6vsK)c2fcrz>MU`y3>21$26v)JTQcPGgH2F4vCWb(v#cWFLErvdukWzkXMjT{2ljgshjepR3V ze-vezO^BumY+l_qB$d$^=ACgQlYY&^ouYuH^@GRDi!_#mOIwJUaWAA?8tobP%-up%1 zj4e4&ZtC*&)jwM~cF{7Hz!q}6Lf8mJWov#Y=a6Y(V$jDNGR+^5Y43&mpO|dDto>W9 z`QUu;$10y8zO30yeQJEw?%edfg|0gXU5Kris{p4J0yr%Rz-f5fRUL?c$K^r;^DgGo z6^L?0X?Q8EF1cB%d3jfY546L0VQE`KFoa4eljDs2ocp`;8J}7|flYKg9EWV=AY;J5lR-AU zGKiacFy&iF-FOTo>rhGR0LzG%?CgR@&r!4WrNDd|9Zks&rl1&&7Xy zlLdZ;vBj%cC@&o?sad=3wp%=dJr&O{Ar(B3-0Dng?z2qVY^1jZ`E$_hMTQS_o664~ z%0C=iK9L%I{yX)jO&;As;qI#Ua zX#dD&*qi1m2`%0jJqv!fREL^;NO(G|W9vml!eb!e+&1HNT*Agu?e`6{TBQzfNLaG- zQ#PEufnSI$pKMC{OJHv@fgP19=%_=cH*4n$aexCa-2ON}K8uc+q!uXpmEMciZLwZB zRCqYbHjWy9um{KLBaFGpBlo(tfsQKBb08;!mj*~LQ?!y6h(Xq$0p-N8E=RJ(96AYa zxW5j80N1R$S(HQX;ko;+fn8PMH>FDAe{T-tU#ylg>+n7}B>PD=pK_GIy@GC# zY!5od=Y8qWWiT}6<@dG}+j7xNg$G9_8RQ_zgH3uHcsAjOdDW@?e?s6uU#K(0zXy*HZMSd=Q%btdT@VC(#2 zHQ&sKaot9870LaT>D2}(l}nSkJy>se{Q$$Kwi67mmE7>si5&N320sl;Xu0FB87h}i zrkAAvaOX+xy?|cx`HMUtkCImE&kdy3MT&vsI(R2NxUQxt1~lGpPUBGpSLZ7Ox|lynbPDBf9@1oX7Nb*hKK$G4{wp&filf;q zX3g1~^+v*5)LiXyJYPC%Zj7hLrlg@QBDLKK{E+&0$By3AZs9)e8SGHpoetVV4X=*V z)U1Q!)p3!28e1hxzEi;v1upTcc)XMoCfxCVqEdJAv;Mj16Ki~}e{KGn1S3Q9V zys9(n8pyox#>k#<$L4Dsgm7#;$-6F)doR1p^b$f)9u%9x?hTly+uC6Fa<}EZJ!V*A z4R47JR`35lDDM9k)Z{Kkjn2K1WzDs~N9j)k950B2?o+tMn;#Az!PNarF?G)?E7?t1 zNuNJh=b|rf{=1T2_GMiLGw)B~9?6sJEm2ljyG1~zZ=@8*VNOgGX1s5rd}aAyx=}x6 z@y3%%V4X`=KIYojg>?>L-f(ra>=A!!3*&EX7iCG+mHZuWA!^d=GGMfr6|*h$1qH%X zrdHC-{<^;bq%v=hE*UVW{tb{1Cz)1o5ogh5au2&r&h$L~jKm zI*&f|8bC>~Hzlog4yS@@9_mo}1Hv zFccf(KzaW|c|c3VE4?~VvACQw@JjET!G;1ChdP0fy(gdpk6Eb#xqHp+Jw=+CFRvPc zvrDC7ec}0pFfmSlD)Py>YHG$S9FMZMsyjU!djcBW<`Qc}eW{n0DriTYk3c~tX)^dd zUQXp0?Ez1oKh}pDBcb{r-sR*Kku({Jf2}-Nb4Mb|i$gY^Y>?L5+VAO1XW5zcmRtq- zuvI$DuUES#PNZ4ZReUtfZC=gZ$*N)rG+e}ES{r5HH?^l51|Eat7iHjaeBe}@<==r} zZ)}1J(_8~Pz$@D0OcZUB5-|F7>smg#p$esxd*rhMOSm&iKq;a0hrqTnn@G{p8k1~g z`O>2fI%KqF-^i1Aq<)44zh^^C2Kw}$Ms@F?pE6jBvnqvju7~y`Ku+-yb@7b>4_(o_jrwbbas5slguh4uqq^iOOKbYEIKI;mm!pE3Mb82*84num4Z3nZ=Hap0sKLns@3dX`uX9wE zV-PwhHFs2&|0>G!8}e0Sj8ZHYM%fQs7zocj$J)7#5+Ft{i0!PSCIe^Fb@Xcb% zmx~cOkxU4rAu-1p4pKj<8#dWY%Njleq*4lgy+qAb)+Vj@bEx$unrN0+AkO6D;Ee*}1X+|j&^GdR8=JN_hSOR)-5qk1c zWNjLVHcSna-}PWZeNN9|o0Y3zA8Y?7vyi?yh}DRwtWGtV;b|kJW}6Wa88Dq!y6oW1 zS=6!a?mU~6|50bZe96=~EDq81Bv>G(R+w~o75SjPTG^!zSQ~r5;TE zY7;2Cs~0wbQbhL!>&VQ)ie5|;$hy{-R@a>M;-%GXl+x<1D6O`vxQo*2+#5)xmbx`; z5gXqk|3Tn!uprL{?bxf(bZBDlr=-$uY@m)TnihRnV_w6N7DJ8p+pZtF@0#Xm8}tn1 z?a-rIK#qK#DSuumtIzfLV`bA1PvbwO(EdBXRA21)LnrT6?1Ix-ecn5nE9rcyUy2Er?>Y5?x@T@o|NdsNalyu^D)Ly7kTYBoUEKVxS8gN!}A#@mJ& z_AHxNf^_<%%NNUbLy99=*cHvj^_XuzvHQtMPp@lFVY*}0u^;w{iPdYGHHymp=x!!H zY=#d*CbK48N9hkI6dgR4vn}6sYv)U|7aPW5!uA_btKFpH0q zMrE^D5_Hs*B!rEXlIx_WkR5uG=H1V(%A?i!RZy}>OL#FEN@xfsGK!5r8Y1Q~M487m zEf9iD?EA>v(dvZvy~vqgCkKBmL+juVYK>jq~IbRYw#c+nb6s*1)kxroq`F z6jP;u}S*qOz@~Zmuq6{BB|*}^?->T|K&B$bz>BGoo-G^$=hJs9(6ncylM`PlHX#x z!3|Aj`(tT*02{*=oKTSptuSnWP*G4#Jlkp}CP~x2$FW840*EyShc-Ef%g!pWM5z-0 zJE|LSBmAvf*W@7Q~eFVwVe3NnNcy z0^OaA-O@ce63s&+^FMl=i_f~^Gyh=%>bO`n>nciqEL!&C8KUU*be+ud^p!5@z`^p8v9)}cj=GSjijn&<;Q}=-K z{DFd%Jw~CZyX;R*C4U~U^H*t3t>A^`PoxrhqSl;p53JD92+SOV@{&%2{4I*CD-;%_ zRRyF1ZETyU3i9T=M)Mq$-%(Bo=W6ZIdh(ML@{#%|%sNkd6tpKL3(DybRe-&EKO|1{ z!Y({%mXh;t zf|EZ=i%K7stx-5B1t;wrI5||$$uzzKkr0F&UBFl15O|rU_MO6-cNwlf8efol)VRIS zb;F>8gUplj(+(DFyu5AT(ddHd&X&Pq&_vasDW3kr^cqXR`6)Mxw8w%cs(prZW6h@M zkHlB(%P}TjaoySP!l3e5wu2W6?HpFd|R935`4Iy%OM_o>p8cfER$a&|~sGY!RSmiJ|9 zdztjt?=x?K^5EmiO?uG7u-dEFrGWeLG@h0aY^EdT+x(H}GPzwQ?e#kxTfbJykOZ-J z&LVodLYrD{VzVMIO;<;L=^o!-A6N1vIbG7GUNW&ok+-I+4U1T--qHG_!!lF%=gQv* zlQPrxn*T1`6uCbxV}>&;VLee%ajL$eBDeNUm2^%j7um<%X1GlYUcR)NI5Q7QG>`0hX^HrNSxW4_AuPE&{S{XG=5>`9MT@<&75+|uznPI2$Ezd0 z?2yo3uc26Q*z}V2goDHJ>cA6%gB^(Y5u3--M4Dk>d+cwZ^db+HcDb}FzXD{vir%-B z7J=+t3uM4HgYpSbo>U?&4q=nKQ(~Ar9+WFY&vWx$6lxDEa!H@69{#yUQXIOG#hX^# zJ+3{Ru8^Ioj-1CDdydc_8k%+BVEX1P*S}+vV>72`rtHo7J9~4&fnk}mok4_sEVn>a z#y*-R|2IZ~r#|2>?_&$??UbkS2qQ`c?wGkuJ}4{UGP$RK`-fwN+R#)Xp&#$}6+0MW zKLWAmZ;DdHjw00$7!di!u?TsbVgTbeWXh9em2^NV6xs6bG&4;8={kMQj1%GwOVx3N(L^4x(zSJB<&M z7hk9857?X%>09KnZ-hMR^)s1&ElI-Ajo;pz02&wz>Hk(}k8oYN$4gK|3of^T%g;)r z9U<(4?ldb*UIi{~Wy0Y9LqwW8D=2mlfAtQUu8NrKVIKK#jNs!7YlY=+1o!Sx@t~Zb{mYqnxzf7TdusxkIAK-<{E{mWi~~N z?%NC{P#mzd6)gRwBp!X(oo0v0zk;QzGNBYAx~Sdj5Yb$9&%$OLznXHpi{yv-u+;JBY6%U%f}Ae}PZsk&1T9vd{Dicv)$dgMWv7W8*4QanpN3_;-udY@Y22A}@2d#%vwN!>U?F;;rY_<0` zu&-48*hdX6MK-9%ahD=;h(1bL*lbXb;S1ZMbJ7}!otYSX2UPLyl}DI-aCJX6w%+ExRBz1=Rc!7geMeo4V$WWxw`Yf{ z>uv9Z!hI)l9QJG^Y;V}J^|tpMXRKi<((Ug{8(@4tiB@AfN}GM;jWE8|%Gn=jq!Z=} z=y7}*byQ{#wg&0AtYHcshZ0Xv4_3t7RmTNw)EPW+ z!AHS!*7B|RVS*BS00}%hLWZ{+JMQ^bCij6vuoTP!=MjeRbKipBs zbc0@S8#Smxw~CiBP2`~6;HH9ev)C$q4jXlsxf*&mrs9;M4bPzscX<`xQ~X4w)s7Uj z_n;0-A)xap4rkv-xr<;rUA#>R_&AF2?0>DZn5D#mI%rH=10M@VWp z#Qs3o&N|$qw{WuWH{ZZ={8MV?0$@YoSZeNrfybPIJ78cvwAR2DsQR-x^3TEvtk8JL zj=#GK4BAN#govgQ_$3c&JV8d`5I!}8t$DzdI268{91FQN>=bMs~TbaTUYb$2N z#QM$PQQCi;SQ2|9zJq<0@SMGo#gg1mW0p_tUm2cVuixN?XV-CJ?;&^O+1Kq?!&DTw zsjf9IycnBHDdw8G?!t@;%VqK`wpRET^9!laLl-J%7OPkdVO<}xuZyK0L)ip%Z3lsA z1Yg}scIy+J_d#@&KS-UaYt78)7%w0dyU|}xY%F^tu|r3CBM~m*IC?YV*>m=01{;UF z2N^B8s)ke1N;7aO{s*U`SHr2;Le=TDQ}Mo*S~Q%BE!0edQ*n5~d44JeJ5I&zBKwLT zR+eavHuF3%^O)ySqJjTzM`8AZE`_ZV{e-iAH9!gy60(lH*GrQZZ;rrlMr?YMMd zSNg7~%*5(N2Vu3;bx4ja&ev{&7P0CGYW9hG&=s!GJI=~Z!J?-lskeHG?^|SSctp+t>q?VGz>OGm+JB_=O(ubBW z;(b7stfAG5KwR_R^Bs1@UN6-CSUXPmMs439{0MsAs0YP`by%p!@Aq+3 zs!fz%#-UP;Hc4S(aX@Ho41X{3G1cH9lz`SYSFGBdnY}A-S0XzgWbBI0OsHCbr15^b zj(cNDjrK1E$D9IE#uS~={sC!zsE&g)=kV;v-j32QAO0M5T$WVyi28~(0bX374Mkrj zs#J1`esN69ieFR1JFD82nT3h{OLWn}EKYP^OlckxUfP>jH6;2u)^dnph92@PI;H&` z^ZQsG7aNGR1UlAzo@NwJO{92!BgEegWYus6stqbOgj$NWfB?C1?L#=RW_nns7i!7_ z_?q4a^=Z(ea=`!WPTv)skx;$xKz5ss`(i+XhEZ|6PJQj=*OYpuR+pEGSP2}2!6LIBA6~# zbGhg4N`eT|6%j0iIyZ=5BNp}3*BP;YAt+4nnZG6P7tw)qe`cm_Kd&RR&Q3@$%;t4u z-*anPJ*L-QV-Qi53e<0 zN>1-;n)^MC~CjUJ(oKL1`N44!;`e?6O^_MX+(Z_i9@RbgX^y->I5xIu$^OhXUVA27&Cvb;F!h*cxe!Drwkig<*_FJNs;SH3 zhtJRtPg$0AnEycCJGr^+d*z$dXr(HCVn45Wn2);{v_hHAHA9GcrH4144s!nkY2NpH zF&$8sb?lNT{Z8ZMyD^}UDE%2C|AsUj=Un-?3g4H0mq>)EA|nT2E*MFws}bm&2}ozu zPFaZ+rL(aXH_Cp;V!T{&PZ}c@?K*mXOZrAEM)ty-UHi{$IJ-6R=;w1k z-F9^rgO;iKPY&=Ks}DFarTnUPOYky)SbDQ&D3yt;+>?`;T=YMsGJ6K(CRWcwo*L?8 zB2gzZNOuPvUum^LPUjesxbHDR7#OHzr-iUdJc@Rf>?)*o#g9uh_o#yIi6N|~YGp|H zngrg{jx;n9HAX(@^&J1@;BSYlbk+R#fwV}hG_%C;tXzwk>+)Fs!tto;WwHfOm0J$%pbOS3QSO+NSch0Tcvhh@$=oZiOs>|8{#$V^G1 ztnNb36c9=8$MVFwV*;fcse_p`NR#MZm|Q%vbX_6op;K=L9lVXWfxA3jkaH+TytH%g zi4CVVOxQc|!jeln_8i-Ae8bqiXko=k?FO5X&5FwWP(AyTh+&iT!;gMq z-ml$|X=Jmb%0E<(Tj&=&O)o8HE@IplgTIaV&e(&{r@%%`+g7gbprwx zdG*FC?xdi3C|mNwTKJ!wjI~G(o~QQWWlJ-8JY-Kc+Op26*mp4(=5hZVM_X3>E>kHB z;qp9R`VMcgLyM1FkC)IWYt!3QAr|gGnzuE7b4+TiX_omwO3vootwWAQ7tT)0Xw&2L z7&w@S7mBXn7J-JM{sd+`yONTbPvrRSTEJezTWlwIh2-s ze~_jDtK9c9&#%2u`*Yde8VP{o%(T`_|5eZr`js599^ak0Q#7)&BxA^eV{8QS^ zMcitAxm-PDQXp6G685ebydr=r_$@;(^>@8`uW|Hq2&efdvYY6pAv~$1h&0f^zT@6- zbWTlXX-+JS9hgU%d7Q`o*N<9{U!zDk-WB#_`H4{5k3z&N+fSU{a(>fmK z+H`#Dh!bP3EZvvh#%uSu!t>fcU*xeLqc4A|p1U|MewJQywIboblI*?OKQHI8U!wUQ z95#NC_X53ijWq>}hHp^<2nxl9K=sO=eb)Hn5aC=d_+byYl;4!wpvU0PG)}%1EBzWQ z|BU0qskctCeM(GJW#W}g{Y#EokD{n9>KgYpj`Bl_ z@wbG7>xJ|qi*j%th+912rL>5j*XOpTZyp5|SYq6fa(eUGElI~mTwZ)IvyI2T38lIG zNPgkLIe)$$obw{(qLr!%OQI8|=@Sku$vdw7p$IRd_5}7b|7OICm8zHt!CrItEQE$x zlowM{EOAnX;J>oD*dMB zg@Ez7`KCz7;ajuAI7+n9Y-=LyBeXCewKNlkX+{pgLrz(#lwU=@E>kODMaiMACAQl@|t!u05Nr=Kl=f|C|TI7NLKs4g8-~ ziaFO5Aqh9JDmgQEmwDIV^oZ)&m3uE4cNOd!oEcxW07}D}q{LU30EMKJncakcGEp5h z!QXGZ-tW}7iX81RmM%@P>@h!cGlVW!9R9?(5&xkYn|oTYHFd`|{<5F#!` zR?n~6lb*NBv=er7#R8bC9S+2mn*l2AuGs6Ux$5|_ApxjtJQr|uY*{+K;iR}m?sMS= z`E;16$B14^X~{Z=8^mG>kWrEvK^qoiRpZ-1RBKklQmM|cW#2H;F~ujkY2`kVrZ$|M zVV9Ke$T+_%dsj?4Jiw}*momUxY{rQ4#Sk`}qV~Jvt`*fgMKR+B2F%d=rHm`e)jGVR zfpOs-7I0wDup$D=X4&Zg4)AtK;hhKeqIeb~99QxjH7^4>O0^{zU$Z=U4hj zqf`_{{cA@GtP%T%9hW3J&NfgZH7GtMy>2WeM4HHKvIDNiyqTIyvqanOjEvp6JEPKL zuO4%nQ`D(ESeeu7N8t6A_@-BCON zAEv%$;(^+Qv_?~bJiHf5hL_b=ijrQ*B-cRVkmHKJWCxprBC09dg(zoWaE!# zAFX5qxdC;pa_xFYQ{Zdr8|!cJYKpS}{jF`vCP&d^HjP(Pd`}};uZ#nkv>%t=u;O*4 zN$E+}oZ_mo%~s9g&C);gR7|9pQC6wUATLnM3^KlqD{$-i4LG0+mK1DHIkVy1w&BOe zUS67<(Z+ihy%4ZJKHMC4(B4T%8rKguo#w~Q^d&oonu^60)J}bC{oS8${P8tU_a4K$ zmJZ;Je(KxMw_!oNreg40W zAOZ^{!7AN0$V*;L?9|o^|JTHp@QLll#AfI<_s++qU}A~m`g_ku4-7uBOQMz9t8T5U zpA{SPo-(V|zoEIlQqDpn<<=r^g3~^D&$;uZd-(ZXI)8*4etjf5(zoa5J1ys#pH8ED z_aUcIGz@>5p1pmCH9ezrq+eekHCJ@zl=UR)=ef@49XgY>DK<5(aCYJT|J9jeQ*N5H z2cMa61zw)19=^;FIYJ)^ow=YrSg$iP6`h%&mmYOQ4bDXN;TkrmEn3tUD_wfoB`am2 z0_WB*HGes$Ny)r^<43dfHk|GlD=oK1Sv19t8)I)q&Ti$#sG41++!(tDBN#ECpX4>K z-x;?eNQFCNyubhd`_9EuBd&Me_{Z_f# zHzVN2lpBXL%63=n_Q?*bo^}+0I_ERd)clDypL!}0Ip-m2pYiQIKw?mY-Gu|JP}WU+>Kx^Waht4=$Zma-F^E0+mE$i-}*pHRb&BRZF9lOL14; zPMkzlxD?a*;TV}Qv~tmbEG0q*S`868<#_i0m!N?YRE|dkcK$|N!+&#@fpLMV0GGV; zXlsZdPc#qmT+t!K^D1|_n_{As2y;OM zuN{vyxHcDaIT)tmcx;$Gtd@V4>*^ys?Wse3gr|cN;o(R@uv*kZffS^eEF39F?oQq6 z`V02nSnv1}iY}!jq$Y2(_vZ2HbrFR~0_^Z1>(IZKzTf>1m6y`Sg=Y3!eG=f?^H~^c z?4v)IU_5`Qa?5SkEj&uf9U4syIcFD`k6+a!wzj+F`t5{wU&}-BhQ2GZ<2cGM&1&0q6Zo0C4z|p9}8P0Mf>i|nYw7(@vI~{L*l1kbsm9lLJ(c1g+9MzH- zBsy_=C}lsyeV{&86>CG2@qUtBPc#lhyMd_YKFB`7gI+z^IJMstCUhC5WC?=$W!Fsu zKz(vyT591Y{@@h}>KY5X!H$SDDUfYbJRH3DRpv>ZvC2b>qb=lHOvAaqK#dgg@&b@| ztrEMRnuw&e)6|$>IQe7LaqoFWCLzx&B5T>rOWMD-I3qGGvBW?Q@$OI6dmagUj#sw*c;)M&rE|&QlcV= z=rZzyAUHD*A^Q%HKx(}NrmF`+>`@3j4>ohbr`Ahgx>O~^7aqdgiyU*GQh3-gcSwFZ z&ndmd`ijzEHdr343W^Z%czToa;&@DjV6 zn?g>N+Jp6c%v29q-eX9#9uU2QP47R-)gG*8WTrY`3R8C(p+AyPm~za>*%^3fP{Gu~ zLtsbA3oDxGe1|;~@oFyjqsCG{p7((?ykm`C7#N;(dEUoSKplYaD(OINjiZ!68h~Yr zEf20&$>4HG=8*hUfP%Deh(}qT>55iH>K*Elsw@tK zCmMUW{ZQ@u0&^v203~!kIq~t;*AzVdJf&Xn;4{vb=dn0Dc;k4W>)Pml~T{gw7t8QxaGWLcZ-*`9+4IXL9bWD2Ih zyGKe&dmUkcZfVa%9$4NJ13%T>{^t8S>D_$d>D$}j2UE7vtLiqrsBI_UKAboRr5!z4 zFV;F*eBZ6BTI!F^Q4XE0$DC5_7NV3DH>7do#uu zG$f9<4g+t|wc z8s~fPq5i_HsuC7L`aWSHJn(o*W=2LzPIl(}$7ju&Keac-gN5+O`0#y?f`zcX^ibq) zLwaweae8nFC&U|xc^vHH*Ox;mum$@deBS%Nqy>CoRhB6`wmwF;7)MXlo&HoFyN&^D9h_`hVu0*n=yoEwg!~N z)Qfo?duGajuU7+Z&F^q+#QU*rx_7gMJ#_1#4#Bf5QD%|a_L~!MBjp?$+GoR);nr9}_>Nl)Im$u%||e1nX>jrk{+-x2;z-04Ks8C=hsacccI~t6 z8GgXdv~HAHLmWcuxFc==)<*Vc8?JtA(C8@`I-wo);k&Pp2s zdAg%HPQEQRj_DLyY{3N$A+Hej;?QUconhgD6L}- z{UrwHXLVl0ZuHME*V?1B&}89kckeb8lU%XvmW&j~^XM|6UYr9i=Xt^9)RZ>|g>V}F zx39xmZaNBpIE~e)pD2Ccx?sWJc(~%%L6~fdmi7mw>-5r&42Is8mzwO zcnGg;*{V@*U{=rO*5o5Ao?a;S=Lu!)rxyy@o)9`#l@n2-I!|_~N zGbvB---da!O-GR(yZsv3(CGDk>%Vcz;Y~Q5M%?IoH0~I~UD)!7_ty9m8Tp4(PukLg z@*k3&|>T>%o%i@0Co5V0@QaU+a-g1JH1_Y9RhV29r;c= z@=Cd}HiTbAM`nk)K9G*osE#z%o0n ziQd+Nz~5$6m3wUsnF;*pFohpYs7cGsO*x6!*7!dxFo@2b(eU#3{wd?NF5}Hx+!FBm0q^T@ZK5e9FkxD)d=N@t1zs8yJ>DFuV38ny9tmlss z&a;>GfU$lVYHSagkG*OU5CzDMnwB{NnstB#00@sMfDM2(14JQK>WidY-Zs~SS8a-Xq zSo{dY5!&VnhpoTu>#v=#Z5vm4uPKleEy`3#v;IF7()V`YqO5wc;G(XPnmmAuYP57~ z6HB2;EEhg-1TlwspFzuTL%R44?m8rtu4NnZ|cmrt8CvQAQ^j{`zFr$=l)j)%k=SE|jE~ zSkz}Al^H(8s%m4C1pX!LyQY7uhlcA>?`cMT6{7w&+g8@9hSWd$OTL)8c?ydVrY)66 z0RG7uRXGtGgSm-&3&QBFD%xcti~x-LhGU{AhG$n9KdBurPn4X(_{9h(;RUBOR%fIb zKkM?F@~UQER48HVIZu=43fs1kjdU}(E2a=ERnIM_<+9{`ugpGn=a2~C(JZ(J7p0h%!1xT?yQBMRxul5$b;k5{}Y=M-Ea z>f32}>VoaEWsG15=yOU^$_HO+ue53S=}N;p4{?nKJ% z_f4kI(^bZg?%jBXMz0hfK4J%9VF7p(De9b{!qMyi9cw4swv0GSokY4F4sS%mWj=jH zx_LmlDdFDom=;hK3py^15iiklA21d=0w+``I3bAkt3iAjoQ2C+NquA`h2zRb5l#v! zbf43B8{x8|xT-ML6pr=66|z=hOp7q4QJn2;?g;xEclP8d(DXu$>WnhShYL+j-$`lu zPM909)4ZFymeUmEsq&~mo&w4u@yPfw7()>C-4tW!**3;dw}U&tH+rX}vR$%iUWPv+IqYs`YM96Ng zI-GIFmgQF&-89F821QGqX>^ikd~30+qGfIM$=HhWIOLEB{*4E1Ysclp)|i6-z=rYp z@h9eNMS8-rCA#*MT16i#pk*bMG|rB~g5?q#AxhG(GYS=b>G>)nE08}yH1j=%r-~6b zhs;B6t(!GW80e_yKfJfbUD=HL?1J=8NWu?sxh~<-GbkfJuM*%AvR6JXaz8oF@i^8^ zd?(z8xNF>pI7(>eKFGRh^ar^VbjIYe(DFu_t=L4TsTd?C3M#Q+cpPL4VH*cUQBV?; zc_jOC*9qRgC7j64zqElYwvF7OVC3fd)aO(~?j`5!<711hTur%bNF_ zoT8%|`GbXDR4F=LVJ1RNQc+#F5pL|j&V~z^Yx(Ii^;ff} z(vzVA#yOKMETiCZ`TtzH;UhKeN3+SsyUUuphw?X;$!Z$PX3L+^WDyfwQ8tINmE1p> z&0W&$Z@G)!@5=7TZ6%m`-) zKs|a1)T7(!V?7RI5nE>bBNT7$@8fZbdenLAgfpjGU(w=EZsENe-ky8JLh>`~wUGSN zT_-0A-AD{(=QejyQ_@&WNyX(yOu^qi=n8by^dSblKw*F;qorA8#+RYI7^8k4Cu?8G z8P-h}_1!SpH6N2w5|3sdk@;gq<~L1-w%%dN{PGs3xJq;^AZJl2#y6x*(sx8-kB6!g zlg7px`~B?FRu7IVGhPm5R9f;RphhDb>bXc-tC!Z2`ls0!LdHgO2YKGe0_P|HQ0g&T zS}>#{JSSFj8Dd@lNFCt_b;-eJEM{-yzez#z$9u*$-St7a@c|~L#l@wry&Adw`WQ`b z2O;fGmSHx^MO(SL(^VORvShOI3^fKz(XXjGo`j;VHo<9abPx;s zKU;z|Yr|?>>)q-qB;hJdD?^PSzk{oAzmm~Sjb2~2#eQ8=e6FW5E$n`VqE<}QC6r7@iRfm&-G8OZY_b@Tm$ z_Md#I1MFhfn@hgh=p}1rxGef}Aq-H2$X!ikZ6wgb?XMm#;tePlbfk} zzD^eYL0Ynps2*)3L*ma6)w9`oIK2+4$2k$RF%7v76dzOq*Qn2g1uy39+EK(bi4 z$+iS67I|sSQ?vu?#}&jMpOeL;!Cb1TB&S#=VbTz#GeXNQ2zsX&z-bCB=0LKAvQ6QP zrm5t}C`pc}DfnXh6nr2k-~VL3j;PBT`sZKyjR=nfH#qelFeHcJG``m;3i1de@xJ|2A&I zOxZaKtHNZEnB_C-496wohfto3J9(*&-?!94g{P0va%A$TOXXgUO?z^k8>tudtbQf| z!aH^Hn5S{O;5+(2?Lxe7z#wwFPuaUzc3r&8mR+)7W|kNq3Pa>}BcKZYQFl_BPW{%B zesC9c+R2?rpFsVd7f+h;Kk|Sk@~+p|n+Npa@!%&6WSGh(1#*(BqZo(vC_E->5j_qX z$*7Y7%0su5ti~AnRm&GD(b#X;z8|K!mozNIo6b6h^CpaYIS3yx(FN5#>{X8}ZWISG zJeB=mQi_^sm{5wkC~ecFwNSQ$yoY9DX>Orn6iq-&IK~~uK-#F~36&`1TkdseQIj-N z&YLbc2J>b#QwiM3qCVVfJcqn2hREx5c&M9%qOYh#2t^)>P~;($puA&yN^?t4J2?UF zj()kyUo85xpEF1yifA(3VoV3Znp3qikUSrwA#WlP_F+mchke1lb|s&-(fVAA zl}7TW8qicWCs^<;&NO)>+wbGhH^p=;md0svuvNz0`X$Fe{&!2bWX=Z^I^{8p9x7Dr z#>h~{3;O3aBf>RR1HLBoYxXXB`vT4o?3qoc9KLEGFDASCYUIfmO{xX*MRt9r8d&hAYjPQ=S-ho9~BOJ z1O78nqitw7il(U`@vC+S{Kskp=``>g>XD<&_wIav2EHmVm~;;NhI{RMTZK#tZ>n|N zt^T#pLfZSh9>md> zW&UGK#?0M{F>}9S%wUIwFlJWLcTjg=%-o{hnLUVHi!f&HDW(rg=r(NYgG`HYred>| z%JcjU)@nb!Xi3jCI^e zANN+!;$S%8cXF`BeYt<&iV3PzdNe)$;d&u{{LPJb;TC(>I9KfY%3{0>zc1S1Xo+&t zVZ0%v9%4OHwdZhdF}9;RHkOp(CJU?B*6O8U2iQ8fEt-rc@3F6{{xiKKbCUDXD=)3X z>jwIeZ(cQg_liTXxy|LoGDj#U;?BA>k{-0I2pf^W-2gFIKSDf&@Vs4nYydvT?4(oMaezu2lRz8SY|NXWAXE57p}o zipCojnZw8D@5L=za=AcgDZj}Ow$oCmv*E8drBv=rKe9Da%<#n*rRy5Mk|j=Y<>f@V zQ4=Sjt4l`vkLO!~$VnZbk3+q5upn{-@Zsl>PR7v4cj>A3=$D~ zBQNr*m_21m@ND+#O>Zf@_Eb;qRX|evI0`cg71S0Ky8do3G%r=~{y=01ph6)s z*6TFZ!3z~4Bk%a0qqzz6NMt^x zG2$M{8Y*ZH_^LwSjI-r=5TAJEPe zi2?2b<3ouXZN*}`cOKM?b8Xa&6G2>Lk*-x!kr3;H<&Wh?38!eZrHD%NJJN3FUSVc* zhVx-dF9gzXdI#OYy;r(5stiN5X|pztZO;b{KB&vJSu=0*tp3;* zF=kP~GLJ?F>@SuI@IpplOgr$x+5)L~V!AzegWTkTdalGx9yCWhB;Lep0^H<7ag$F~ zfF!r>W zL*Vp`YBBvKRLo$m5>#Fn)q?wa%k3hkPA|z5Cby5JZH?ls-jA zi|LTkC_g!OLZs}j`nkeaR7wmM^RKAKUptTG_>*TMPy;Elo@8_ASL|K5=p0s2U#y}h z9HV754^_+PQ1*`H5O}fLm_)zy5&g1GO3YrPezG5zAFXo?;}@cv|3VcyJyUFS#5`vB zS3yAJk{8tj0I{0%eY?)@8bWtOQtt(+IAOo9qs*h_Eu3l9~!MhD*Jq-{n=OE>Z^#Ku((Y}i3s^ZP6o{la(X$3MnGr9SSY zb-c1cy+T=2OofFC?=TTVG1h5qfFvEHRE@qX=gf`~WQC=$;_w+9JVB$LN`by}4dif2 z86UtLGr~y`#Lr^ls@ZcSw~D;&P-u7O-EPtx9Hs(If&zWq6{SIQCPAqMf6hI3ynfO~ zH)~c}-TVnV^!%1T;^^PV6w^-N8>-}{hO$J>_;xz384>V0cJ z*b9$o%~lkG!GI8~Hw;?O-(IkE6Xx2l6ctmH1Fn zKx0+=v0|l8mRurQvnM1zfUL_093nvs$aLMhW5p=jz%fcbt3!?FL zarYgq-|v{ieZWcCuycnqO>t6YPZ4OrLW#D&ld%`V!l7>uP8{VmL}*u2X$ojp=T8p) zi$gy4K82g1M?v8}swy<81%cI6Cehc`xKqEft~@urJY#&>{g+?ZoG%&8+kW&ratg0| z?=KW>Ipuud5KfGx#O0QuenEWu958QuQE#8fFD~a0skgT_wDAiHoK)g|;=@y)Dt^KD zdW*ZsFPPD~O2ZWN2oK+#v5Vf#Yv&h?tqE)=82Er-a8?KgQ=CSv!?nQOb(Xwdvade= zdqzoST=hTT5Wh|k23T-c`erXG0+%Y!VtsBkCssIud1|}`U(poH+Y!F^@~y%%@S)kN z_I`d6^#RY|xbO^inmmK$94fob4#L~KMtBAhQhPsX+PJ_O;2HP?ZcRE|sCWiR&7Wu| z))r=`724Lt?zp%5*_zZHd)5_hh%TIZ@_E_rX;~k6qyl#5!wYv8Q(hrTwae%oKnyyc zLh;h+)Z*P~hc?FMPpx@ABhT}$)W}1Nu^{^wvj54@Q50^sEcTrc#vNy)(%K&ogMs|$ za=uN#eL2PNzQ4aWZ!M#rfiNf$gu!pVI**B^G02QI9}?Q*~xNiR(kXA@7P=JMOw8th3N@2cw|}g-Jz~8++B}RfBp3L1>4sb zrQMr5z2>FO7};$j`>u-JwFIlPZ$A50g$A;J9Qj+8_(xCXj{ow&;b=1N(ybexE2Dvy zf)5Km+5MS(x@5Q8zjy#Yx|FRVBX%En?}O6btAJy+{u3z{ck6wBDQnaNHk|X)B?EfoYF%YU8RZ)t9P?_EQgZSph zVqx~7&C-wE5atuhK+)WUd%+pbx1{(NzwJc0<%6{y&WW{wcSB5B@D()YqR|24x$E;D zI1s&zbFO^SUj8AN2w#AS@B&Za=cISm^VwfSxs{(Vu?Sf@O?2=wg+<6av8Oz@b`O1! zD_Ddj3dJx;iOh_Wj7e3GKxF0$6+!#TKb7!?_a&RHJ%lU7He(VoC0^VkkZba!-kTf zDinzDo_J}1FfOfm=L1|2ch-0#APO5zh(dkqF$jY*1^d>VDVn^8))WXt0rv4AgjMXw zIG7nz@kpZ(C|FzVw>MdYb%8~A3Z}Rgp}#Q1FNU=jJcOn25fX*$*o{%2%JbV< z3NhDN3Kw;7){r@`b#O@=OQGZjmO_#4N@-oAQCRNfy_A^`oPwfbjKU@9OPe6rDt4OV z1i_|w3b%akUnnE>VE+FYCF@m8dQQDE!hYfd1yyJxb|{ca^fjo$5Iyi;3aSvOpbGH{ zs$gO{#bCiE*$4$ys3JGDv1e>v(;mt~4Bub1MUh0HAx79$2)pXg)jl*!Z-TbG@seua z`xm@*L@wz{`wd-P7>KUk4C(9b`cUUy!5eaRRBRB#=gK)#9)PCog?ip$bov{OySsy9w}o|7X!0PILQx%YT33Z5um>xi@*Sq6x&xBxm35d@z76N#mE7~tTMe@0 zugvC6=N&^tT;g69fN($VIi7=F5lDonuJ@WP#U>=8&d)B#-3$~`IFEO_%OB$jiQXIk zoYBW_W&}^L43*JNCnP$K5_VXaNXX-)3kRDuiOi>*qwta6r}_IK7)ep7{l zH?%lbfCN2^y&7y8I2iirns~WliWf+@&qS(2yx2|g@-nCDA3r|*{YQKLW5%+@PxQV_ z?`Oe^gDZ9J3pKM7YNjtdP-fpR3g@ogKvY+Xq(O6!a#xG5J@$nsW=w&oaZ4nDc)I;{ zUMkG9pURr_gEw_|@0L|;ymv!x+KWC9u&0vs$WFq>8h5ger9SgE0v!>)p8HW}8i?F9 zcm$C2;d8wo=DD&dsc+#q(eHuK?^#?cspYwV-zqpoKNb`=Po^qt?elF~X41Er&EOSCc8!xwSP)8G7uxp1;i{tASL9P$$AxLiC#H+T82u+M2d> zZ4`$p3Pm4Yp-ZyXo$X^daDn&wNh(>JmtAMe9!A}ex)o~iYPMICyQuGBI9CcCw91-pSdEK1DEQz4auW3pFv4#j4{UmyhRyti46mAv zWO2wpEy%4cP*{RaAc;%m%w}a>zipH=vgv6L_&W5{jj#E2RQXEv(bq;@>jl|$)kWTf z2%_SBY3P6uDuy^M97p%+)_k-#{0eDaYgBuCq`h_I;gElNpuK;Jf4#hObiJxM6$9aJ zXG9}5GaTR)PC+@ZfGVUYt;pyvDZ|H|AE6O!kvZF;HB@u0Mmw>m-qfroI;hlOva;Uq zz+Tf()Pa;@Y32oVzbZ+>??DXPB4@yEQl3mW=T!(s9Y1Ch`k&C(W-NX3KCo(1hFu$>8f99EO{?##8 z=X&5Mya{zp=ZqyN8!n5J_p-(^e}FEYGp;;kkIOr|r=kcq4V$e8m;dQ}zk-%Y`*qo< zSsaI!Hw`;wwv0x@rRmymG>w0^HQiB~emosbcTB53u=Pxqe~mQF<(#79C^Uzr^BN!3mY&wS)$}pFuG383VZr}YX>>tehGrN5R=w&p zURA3^M4>TMU4V*DZ~=lVZ~@RoPvq`|^x+yMwKdYeiVoCSI(Yqh4Cjt)OY+WCD1=gp zr_t9g$VLgNK#nk(8gk5|wAX}cl(sCAxyXXde5m1Z#15#&hiDmtb0`@t57$vOz@F(t zB(w5?3aMhE^K-WSa;Mfu2xzT8uS`ReBCLz#89ZGKfTSLevPw==jK!U5T^ z2xKEGxk((&OU2PV3;QY1$O?%2i&}F}IqN_0Y<*O48`hN)7_AZ*6orQs_R1J`8S3c^ z)q|DNfk)K8TEqj~q@ zHV8+%qq%6ZsNSOJ8&6K^jsG(~@ClSP;XC?9h_;r=@I16kR$|Pu2cCzPJwmiK zdX`WUC_fXOG{EVg1=h>dsd=6rO-J09O=;esrB2~n2KDD4hwT^Soez`W33`jZ^s=5Y zJopFQdYStf9n`BJSlyl(V^{2mjf(Ma1RbN%Y6F!)9h*PaV}M{-_T<86-k8nDUiJJc znle`3?-(4zz5ij`2wRagC#ffe{6EIN11zemc^?bAxQQ`wy?*YR1vGY3zGy^>BASSR z*u}2cY1Wv;8eOF=tQxzf+R#{IPkzSUm9k)LAbSD*6f1U}yEzyAzjGI&|Ni^FBt8#5 z+&O2?oSFBW^Ue&-FpC@NbxBEdca6BD!=3&hdcm{A=KO!--{_i(ny+PN|C2>?b00Ei*Ga7*2K(6G0y!C&4&;na96xuG zD4oUA*|)ZLaPuDGgE6Kpm`=teve3V2idm$Uhe*l{iev7sFVdS@gStC~sk=Yw{4L51 zMMY>p_eGidlc_hm#ojrzF83K^Mxw1i30hql0LeTcbUB3P>TR*m;W+UhO^18d^bTSj zMw_Rhx_bH@y)n?j?JytPG{lzUcJ}F_&1W~F<{bOyPpcY+4lM$w^Q0e9(`WLmOspc^j zYF+-lq&A}}N;9TJHbY-24~-I;$&|>$RxPLL@;wVgCj_X8GQ}dJDLt1A4mKCqU{kDP zK2_m$)PtX!qqB`k96LK+T-W68T^r?xrED_Dv>ht`t#T=i`770NQUK^M{}R4Usl@Qt z(PzBj-u|5G@y&o}y;*oaAjwSADNo`8Y4>H?%2xyRw37UzvuJVd3)gATCq%Rpn!y0< zY)EXc33C!OU58_V`?PJ=MSL*K^jkRW^(L9AJ({aosmQ$?v> zcr%}B7F2uciiY}s(%S|n4V^Pg?4DL{#TT@AL$og_4&EJ1fA)l>QHwm9Ota0jmpml# zO4Ot~!Q~h7l|ZVgj^*n80XPceK7)#Na?#7}xcPgcO>ebcIc&%n;@9>IQKz42H$JuS z*+c3`6WDx86&y8w0k1~P5y1QH)inh)j|`mk^G9V7elzmGzr@L+xPS~-t0^wjcqD@; zy6W<4CvY&J@7tGq73kC@N;XS_;U>jd6U5%B^;U(^{0)OyurbQCyE_Dv#{=rblAD%K zR^K6o)48E!)v=bvBpjUgfuO^@slmr0@N#m^(#NKK3 zR)teq#-I@YNbydzX=e{lN-CwQ{61?IEz4Jcl)RY6f&h4;BIW1H3Ibq64sCKgf>W7X z$Rd3$Ph8(=Ll^xG)9bD3!lU-5BL>k@y@V`BB}7E1A>|Vd$~AJh`F**Pm?jM1N~#MA zXetK#tvih;hdhxpxX^JQAOF(nz{icnAx~UO-HM4%95;8oHtsO8Weg5(+fBSP#IzgZ zPQF7P)S42^p*SFwe~0@B@>Jh4Jmo!ALXX4)gR)%`lOQs>y*jagMnGiDRjmO2DxL|J z{1zvn z1Rk16KWU3JRxW@POsu2q&&Kfsi%CaTT01cpVkTn^AZDpD08?9|x5XtT%pE6wpI+~K z_d2!>6?F!h_Q3kmA3eoR9&h%wWJ1Nl(q>mCmoc`GrFd*)WZN;qqLnf3DQfgoKQ|z3 zR%X#;zYd&V8Z z-aVI$xhq}=(O9GNe+#0sFq8jB5WT@cbiNGByoAr=E@nR%D~33Y5C3;R$bru72gAe%Ltp#BV2Ct62pLtrOml=euN`5y+YxTm z9ARVwU($7RJHm4>;0QC}2vO5##B-#d<_CpJ~^jWEzY4L?<=>{cx?@`?2-$j#jO5SrnuK^oIJuN7sSdS3 zoLBAyTe@XG;M!YLa$dOF8~iPTTnaCd{44*0(YO zrVtg}vb$(L*0dQ$zU3koy(N8Z7URo*k{&3DG)}!7p$F(m{!~pAUn@@ncuqaD>3eW& z)z1KHumCHyfm2sQv<95EmSC8HjA6c1uSgi9pXjOeMzSGMiZ1XuB3U^n39A^;g$8h9 z$M^2Uj=2tcOUqUv6YEKXFZleAZoR}oFXLgrZoTvkY7r?K4QGK2UnKH_K){y)2o7p% zz?aqxUt0eIUoKU`7ko1f3k*NjKaATw6)AJ!YG-pStPPurk}0srm=EoZg!WW_@w4a? zMtyWxpEYholdZFjO^lyYfoPz>zJ4vch^B*0Y0B4NvI9OAp_bRZZfKh+N6Ua~~n^HXX{0+@se|L|w`CvElDy3Q! z!h61aW;w1V4N4OSMPOG|z4{#Jt)QB6K#BXtqRY6tyrkGH?g7E*Y=e@9%pM|k0l{>p zMH$fzfnY2hfnex^!s`zYQB@NKs-5y(dBHmBz8=-z8MbW9p_*C{d!B!fI}ZJ=99I@d zVsgH+I#}S)qhEb$d8WgR8bydAKr!5ntwmsu~k^iuun(J6IOZ)Oq3Up#AU6sVie3w30EEB%^wP#m2{?Y`j(b-~>VgX?G zX;5H6#$Z4HPNHst|M|%BlV>3y95Y}5Gk1a}AdJ#B3=Z+{E@}-k?d(b3NA6ube#g{C z-GrNmMHH*vh^PcFQ(T?_-1f6OvKMf)#`=Ek%!14^bO6HEJC2YqM&>I?pjU|c`d>~g zKbyt#`6uj#Amul`zQ3lGI-c zlwb7kKxEbI2slgIbxWmKo+_{noP)91|MNjU2=Lk z^1K{+n+?RdT3&>8G~U-1QhlZ^B<`<=Kp zXKk^NeRv@oXWc0|_SA%c+)7N70wyxXY1*s;9FS^?-yJz-R+}Om>JSe5SA@gQUx&j$ z)BdhBnW|GYYO$X>m}r*hBy7N#qE!A{(%2;~2l+boU@LqrQ!S2Q5TIO=gs+$tMzchm z7R5rvaQ%|)3wP{?~UHp^V0!r?;v40cvUjG(IcQ819Y3 zp)C91*&Ep)y&&~vH6lz$3+7>vL=`bTf~L37B8`Op4Q(uoeqFF}vsv{)tkG$)W)fc) zRK}VfqWKt(HBeN{33~6*0s6p8^e@*-4-st=INEUYgydETH{ZMtHvtZ`%ie~76KJ9R z)R#}jl~IL_{LQe^0*s`^TNiHIUg1eA1F8nL_O6Qxs0^s=Pis9tM2$=|Nz@QC!)T^3 z7FBdY@!--R^a+yp9UC~#T@G;#UL>i0dDu`23qIHY6E&S~_USD^Jip8PZjWB^C+O`N2O%S3Y zXiOf}q-qDTzQ()9#7PcOftqsP3{rnn71|>)qI`#{9HhoxtRc5Z3r8(hvhGbK1AQd` zeIXi^f7HRy@mP3ez-sCsgJawO6tWnbD1dba_jD~<*lOcmwe8z0Cx8uJ5xct3?=a97 zp`tkqv@08EP4YZQ&9T>(sSgpmXs3hPI4JuRKOtJ+RV7na0b;BC4ajl2(K&J2Fy7r3|+YG&z$!GpL3g#RV^^ ze}^fXlk}79lhP-6tGm@NC1tmmF4KYX>N+YQa83_Xt$;)@L51_>d;@6RoDMYLl}Cux zgUl8_+u?$&u}l+yuE>aPzNkY6f>9+|~wiq2iZt_gYN@v+t8+$)bhR*x+01+0Zk z@y-r~{03%p)sa?&D?2l62`Mp2qfB6=LFQ_zYIkOtPpG1+vQ_`J{mb-;-fBP9A>mh) z^)y0#(al}#bria=(=2W``tazBfDIO3AxF3leF!Hp(^86gcCXZDwABMOXj$^OLeMZD zS|Pb=#Z<>6kC->a1ag6#?75EBdeNMxs^Q8OTlpY^8ik9f))u9&Xsh<++i&F=9Z;X? zD4RZ|+7DM^n#vUC?0`1&kX55X)@aBY#Il?zkmY5+e#xAxiU`Qk zPqt6S61KLame=Jb?o}%u)ye`zsq%z^&WqV>GIcrB5Z}462FM`cu?|S@>|iUiYjE z_-@}yg$=iQX!Q`OIcyM*`4}=jUk)?m&)2}`C-dhqUh!4=zba}oZ_{cs$G=gVnX4Q& zZcfv`=qq--Z)QC6Y-6(p_fRY9=|8v)2D@o+k4bs z7S2TT*zYz`Hy?GN=q)J-@iOgDudlJVMo>BKOpWwifO=LY+ZxMp3qtp5N7x1O$fb6C zRV+{WXFOw#vh|u$B(3a1YKCoW%80o`P0l3G^;Fk>H_v=hjR>c|;R42|#iBN|72}!7 z<9RPo>!MYsay((~@oc8$i)D@g_u~MP~0p%fD&V?NE@(~`dZ=rm1 zc2?KiF4TTq?mZAr0-ee7KZ6ouPzq(|HCGjBMI@E;4vtG4V=7F7o~qlgoira*BO);_ zY~QqrDC#hYnu;jtQ)|=Y7B(;Atx1pgZEjK{J+B-_hs$n1tlY2A7QU)h7e^#zJ`Gcg zL8O10p)B-Q=Zje7*?NLR;0bDWm5_yI1wyH&*patZD-HwuBZZu@=1ob1dSm3LP>*{xgbQ^ec1- zZoc?iL`X_2(MoN_t^way{-S;AU(6_S^`d9|6D+bVKs_u|3jg%DB_fl$WM%Rw-^T#m2Iu*OZ49wig528~V>E9j`|@5w_%l|eos6sLg`23E&s=dGdMpu*g0`GE393{hY9x>A4Gonr zaitM7nMd=gi+)1auX%Gf1$O`_xMgKRcT^1Up_$5cNhCJldO=(BDebvfe^t4J_+LFQ z^pf%oqVe}m4w3a_<5s?Qtr#h**lYC|5s-hpoF++KK+9xgV$_6+gH7+rR{qK5g>Jn{JcO@4#_2je( zc#15c4@FPu!#RzTnqX6xmOO-@vLSUqV&7R^O=>9@*?%b0L&XC(xXp6NH-~EDv;$n` zhp#zSFXAYde46As`)Se=$cghczZ%xoVU7nIs)>B^{FF)rv{kRvT%IV zS8PSIOXN*Vk!hb;O}^T>?JvhGj}(sSI_}Xr7043E%tP%dvr>wB1s$I z_wUQ*3+j__Wo@!P!5*I$Bc>SErA8+YnbQ|S!W5n8C&Tn!O>}oU&bpoR;M^VNayh9x z4?d*O_{!>fqBN9pL{0sgXZEYP*p81Qlr=WxXT$o`_|&oUMw-+|;q>Zbv9_x&$nsBn z;w&}mjI%WLMt=%W`s3OPhck!X-y$R(YL?hb z^VNEW3HEX6@!sn1(^rHk8`lBT4g;oDAF{rU;wN#CA5|4PD1JU};gc7r1?~FNh;ZB- zWk1CZY2~C)nZo2Cr!n`aD+s4Ba2C`ogK@{vr+lyQknSP0z}61B>vH_4pR~C{-I;=sW5JS?^^%2e#t$0qW{B&QNR=EBQ^( zH5a}i!f(3w#%|>MBh@;2yx4Tqk81TL-x(W0>+}CfSS~#@(>zL%)>AFa*L+@m9IhNS zgux1IBa?@*6+8e}=o^?7u$hMw+-UMpJR9#l25=okID?AN4l4MD z6p4CZ4MYR~-!jj+?ijjpvHc(1+J*TsI4RJ~57JD{(%RXPw`8*wm+`aOPLi!LV4_6%|dyY+sv5ijk z+C(4OUz{`VQM-f@=_jVg+eUh;x~VHW)3Z&skx4_X{Y|35Jn=!gsFA)htls&8`3sAD z#5HL4Fx}LbF1owyCZ_{@BdOO!bOc3Sui?w;Jerhi~WbZ?!fu?&bYB|b66D^Yk0-*oYI{T1ES zn&9L-`cmyI6)HbaH?^!MXgRl)pF68R3S6kP;|!9Jb9tw?Gfn!J947rPl~K45z`R4T z@%d53PEVztH0%pmDGN{&^lFgsz~B(Eo9k~bzO_uF9gj;%NR797ttY*`_^kPu`UPug z3P8j-))KA+SWC~>q{gL;ojcOY3L|TjF7%8ba<0r@Sm;Az)kcz$P{TiX%kdNWS`Gh# z@qK*oJAK=Ouj!4yquC7itMo_mS(X0o8vaL+d{*sP3Ei3Y0(Ft6_R^S=5mVC`k9$;`2)~SEQV% z_f^^y4AN`$b9>mDYoFE!AX5a=01B53xK=2$$1Mq*( zLui2Dc}NU^@{aMw%!29;%TEe2bE< z|Ln}v5lMrsQ6}M&C>o@TTInmh)VowTAG~wn#Lk>WCHh<6-C25brPoPiHW!0$nM0PV z*o?oz4IFdcDx_wz@vu@Gjm)kszOl6EdvNRHQetf}STMx9n~a;=h0%R1Sb{CqTZrjE zA9rC)MYv`gH8)z@acS-ycd=-}ch`Kx2clNEvPNs)sW#EmMdeBPMfL;!yU1`gG;i=R z;_IPs`Lukc5R72sEhJ}XEc^gjr;gan?ItV~s4raPT#~=c3vN3pGd?xW7MEt)K$87V zF0Ktah0zn7hsNPNq*jH;r$-r{_)hBRWO#kylf+Kot@Kr$>lOTG0rCQRimMV03lM8v zH5ypDXFfXppK~vAkS39a6ySc&bR)P%`1FOIr0m}8%Sfh-nJq(@w6RC7zs$y0ZI zQR$N670^#S91=DgGSTeCN6mkzZMwt%eU&~Ln+>ku`yO-$u7K9q#sON5@k#<5@WpUA z*_0b*$UdT4gKo;w)_Ta}#{hTn(wP>jQxKY`t;^8D)p99T#ubMgJcTbB#YKviN*3Kf zwhMN9Y)YJMEEY&fGbGrsi~gPl72Lt1Jha+y$ue)4@WrZB`00!C{DoMRdZ42`aMQyC33(EEK#Rg>aW#w&r>fo#qi0&uvm(LecQ&tBZrORaf!~zA7w;rU-rG={? zJtk#LDx|N6^zpoh)#_?$MyZeTu38Om0}qgyaW6m= z=#0df8T=<_W)LznPDpBjfqI{Pk_#`g6C?RkzFpLwM`D!S$vbAO%D1a9oCDMW*=O*4 zt5VNYj)sl3GzZ2S6h`;hyRcqF<;V)57Wcs37v6AuT%8~%ZOd#ymt_>ZUnBk$ zOOeOB{nV+#?Np!Mm*aZ%3W!6_MPqs;A$Ms>@p88B)U#tTh0!+CMyd<@uH11Gu;XGd z2@Y~RiCb$@$0Uuk4uM707xl5aoMUp)sqJ+ieW%GIqI;NOr@g5g^&roaWe82Y$wTKvnbiB?v`!3k(m?vu{m0kA6)^X1&MS{mR*w~y z+Zxv0B@;SGYG8Mba*j?(BJM85>Cj(_4%O9wFQRp>*`Wd7GyvZWj(~}7;G6KFsM%GA z-~8W^@7s4ZX77V5d zqOPbR_A}^KXuqiQGRSb)q5R>f?P^y76p}|qC0ar*nXyFKwK*kpZpW!@OvXGM4|nr* zb4_klU6rqEw+`12wGYK9sk{cNmgxEY^#zt8o4oL;_I!YOMm`iE;UtnM)2VVV5LT4C z)KSV{LvxxhF_t{SSdvvg#L8H*+{M27n1dQ-(L35XMd_*d8x)&T9luuJe!s+=uboS* z`f*sivEJ%Fp5L$QQ->xGnA02BH_UaS@>Eii^Z1oVd$u{;&uS~CMDc39w9>45602H$ z+4W8JGrw{%+E%SWBtBnxVBuTZeKVFvKnRv^%)Aj$Vz}#Ijj9^S&FPN`yd1&> z-*o&;ng_H#lgHn|3PN=bpG}lVIf#i06$cZY63Nd)kxV>z!rbMD1ZMac%V~OFJ0RS= zT6vCR)S4cr9Z|xS4eM}Lh@K03c*6SPv%!#T*+F%($V)Vvb44uxm zxm{8_@CiX5=z5JJ@P!&0(djaia+rZ|Uwg$lv^L7W8G6J-o3`R=a?f=#QafhMTvYE$ zO1emuDN}Xolys#;Ey2Tut3A9@tW1ryPjdQ#FLK>JQ)G=jq_Ill#69g%?GU&P%|e-r z!)(_5%)$7a=9tCIa%%+_=MfhoEaQeSA3>dCfu^rh7zeeNT%aKqA8w^|!jLb49g{fT zI+2GA!svmueL6JmE}F!cHe<+}{-TETDSZRxae0PRrle4eTF{kQI7lBz7E?HVpc_Bq zEBzoOzK|ch!ucGbx=AujEQ?KK8djOcVmZ9FZ$Q(oqJ^8?v%45xBmi_&F-tArmglWS zceS;4&!{RF=)8IXy~X+E{s&q4K_evUaZ(Oef?(+}PHI*$p(4my?Iy8-l!$jnmc`2N z6Wp|$Xg=Ds8LPMR3gXXaU=ktTg_r**sSOOq!_Nc7Q{^%})f*2X2p6R*o0(`I;i!#O z4b{q=?$nC2s82L??PEGj9$v1&)sC4REAC>ESz~?MHt!-@4%O%|f83^8)Deqp-1&n# zS!$cW1m6bDgr8Q`^!*G}H9hv+bhH7z6-uT_+xc03lkmPzb+sy@30X=oAAn>EVnyN| zN9F92otha;snjPMn0t=UXCMr$rJEJBri`}Qh10e-xs4xcFZp8J(gTsoG0K3`l!%7975F z?(p?SWG;J=JF+rIquD=DPAhGtZ-iI#RHW0wvu9@ucyDs%s2{7Lxq6Cx@*Ub+p>34t zE-7ieWzMOEIv}FqgqAx+?gl1%WSWbgxf__!j%?EB4$7wYSPo3b8~kk91A_j=f?A}A zj`hjx7WAH5&|nDa_ITks2m*sp9R5HG5E=i+?j`rFFRP-F$V2R_%h^vddpoXWL&)Mn zr8!%o2vN=|6QpUPM$1&Ry?a90nF1+y&TPndA2PZ>UbvcS`JgYW$P(wcI(Ce^I`$gn z+cu!sf9>udVx$nX5YbE2U*p)1Bon7l-_nwFN+7jwZV5{rSBMN6n#F?Uoe&($f?K4D zP8EX7+=9J%a!(elVZrhw@kr#rL(mBEU)?CKt%wnEM|I`(QQ&J6&8L}=DUKj{W~UQZ zRhx9mM~E+${!5(dsk1ckUxr@A5*WF?0Q2SfSre(o`(uU4whcjN~g$ zi3l#m-NjvsyNyLT1CMv6(Bg`uXHtKr)PEVEuE**XTJUjD4|sp)p~q)--@H5g{iRN& z34gyZ1mExT+EA*y*U!VfetxeF#aOuLzWTPLHZ&Ly9DU9_xO2>dJMeBG@Tf1vQ=x?P zKL{QZpeD;Sk$=i|Lq$0+@_J>HCrhOtUe5g=lzj(aRMql+DA|Pt5!rW@wuCBRp_e2; z5^N-aBvdI1gbqqmiWQ7cQ|MUWSttQ%0xBX{C>l^8Wp_g-Wp|U%J4nf#b?(OhH}@uh z|MqL|y|C@foH^&t%(?fQZ{Qx(Ar&T5YUOWbBd<$ut4E2T+lHVQpU}c*OW915Hr(ko zqYnx49{0YR^)eopvYC3q-ozc(bCZkoNPRe|x9PMdPs7LywgbCYsx|0>m@+>1jtIRJ zcwL&6c#h2Rqah(22eIbhi}#R|5pQW!b!pf@!sjuj|kLVWsB9OVV$J@CJ^f zrVh1|KTLOc>7eugIW54)nlz<{zA~TQr<$BvpnecM9sTGAP%l24Y;H)}2eaf;%>tYt z6{+`TIrwsczjJq9f!{9d5vT!Fl!K-PifjP2+i7_=FDDzVc0+u8V7`r?VYlA{$8Zjg zA>Ub=odCyxQTKT0-8`xx47qezm8xGgdWa_#s9D{4I6p)Q5&FnH3pb=17}(B-OO1gq z(rPEhb;z_zmZbj~!qIvw?VS1u-r_8RFBhv%I^*2@s=xBY@+;C!HM8T~cVr@a3+Y{~ zMWKjHS5wt97@BID8do+ojueffIaGxZE9Fx`_HKitC9(s4cYVQ>Y z8M#RV`~oh}?1bDahBz<19cXVeWepHnRSj9UO;PP33Q}mHUPJo_r7wvv`HSWqki1Ck z(0DQ=zSKhp@P8^K&MZ(%t+nU`=9V+meaYAkzxv)3+7B$#FS1OluuMk^RG_;ov0(I9 zV3`_`y<(%F4-uxmEC+j~in&*!%)PSuR>;w28m_g_*W}#WvOS9MrIliXbY#-|uhiT3 zB>fAoW}}k_#^6rr-13|peG&YqMou5OV4;nzqL~L^wiVqx-hrLE^Sk%Ec{DfF2~QPu zyh&8URHw43PK2?>i?PNut(g`s7k7KPxc7|q7S!L~eJl;P#T30-^v%A*8;=?F1XIxb zlY_TKUod-j49fPA=7`Cr$|_gv{QvCQ(VQN^+Q86M!@tg^M_^gL;lGh0gnpZK$R{Ou z4$p*yxbTTmH}I*{-Uat>(VT+&8MSx82SDL0XK5or*qwXbwLLfgUV<>oUiLpo5CZ;} z={R8hWzvE}G6eETMY7Zq$Xkh)TIFtOW9}N~w%ku1@Jkc;B@Zf2;g>Eig)~I2aj%ye|CT>hxE>4z4`vhv@rg6ErNaAuO>DcT=GV`43rqM1J?}Dx+xq3(a z+F=VtQl+J9>CupXyP<2XX35;8f!eHe$z(2YTrY~#lgbX;sJ*zSN1gp#K*`m)=2h!` zNMU|bPw{RWa@jpj-h&lB?$#gI2fD4)^V;GyWDDUkj+1r?@Azo1*)HLlc)#~KDu$x? zW1re*_@nQE?{)QclT}9E=2dNc_8WfO0nh}`2oyIj;izbevT_%;>en%Ss!MxZkod4E z@g+mzl5~;y31@5cau}~xmzy}mE%|azxo&3-bQL=>__rR_-pE%nc!y1{K_1QBQTuD< zjvbIhSe{P9^zrF!`YnrpyFw?OdMn*wPG~jN4B^l8CU8g}&{+MXIHYuy918T}t7wy8 zCMsF+nI~L#v--Qvi@3K7NGsSEScxR#XZ4F33K3PG5)pTe@o$*pH15*O4CI!*6(aWEK1EzicG9mvo0 z15sHEoBCS(Ne_^7^DENAz$_hxqkPzz07nU}HWjK+G;lzm!vaRapnGi6Dt{%%JkXk< zqvKv@20@t4G**B=@Tm>r3`?aZ80kuNXFvB%m#mscwH3n_W?;-X*%Z~yO;MSSyRbw( zOdHA)*$dOD9g4E`cBN%ABw4v5Pxg)qVt99YIPL(?2V|IEF$GTds(J8*C!sz>QIP0Q z-xwzpA4*LJYhJ%K%mVyR68DUzo>uPK1j6k;Y>nMc-VH5`9n!m8JWTw4N3HAI(s7|F zIxf6cjuftSbl;yw)$jAvaE8zvcS8Ddg(4hu_5s7)E^ou&#pc|mNe2dijd)hY=4>W= zvuKYE>0gl9TR~hJ$g;f!_c|+78P{lgob)H!dbHm9XN=AY-$?4Rx#t6&6_B?WofWc= zxT&@?F1J*Kukfm8&|3kk2I(6i{ije163O>Cs+S?XxkxXKqT1%fgXx%CZ=pxuzcl(X zYqHJ_!nfr}PX!boOHT#-rg!*wb~M6g3u%QW&4~J%O%((wVm4Jc$Z_To=_O}>H-)?F zloZexG&&;hR=&NE!qih5O>*)idX7GE^J)F)0SkI>E?)g-$cOIWH=pW}%5@spcdG`p zL4(0Gz%6%^ruWVB9|7DldacwCbaY*n2ebX%cj5O6XcY}DZ=rAv=yc3CU#;sQG%h^( zIxsuY@=vN^>B^NPdJIBLv!cb49c|KjTm_$lWwcM`FNL9uGRqGzeBULdG-~_JTDlT(_`nB ztfoqmIyE;^r!i*gv`u{yCaKfC?g=pWLpl9jf6BCX7m5z$?Gvak4E{5ue+KC{`tk%k z23ac7@j|3GGiD5n3;p0jrpc?AGmerOBgv4=jpOh2RGB=87pTQ>F-K+l4c$A`b)#YfR&-U^Dmy{<%c6KRX=7j!YN4sZ3dA*p zF(}50?~DbBiB&eEp_DTNyK$z~{!J7%#6NeWk%M(WI|b=w{rD5yZiXaa_0$f8-BU^E z%Kx!ik@r?>D+e@mS1>v&gh*QjBo9HZ9nQV3qwY#Z_E5!49)5Q6&y+v~Zv83!TCRn< z-9_$DC*$2Ot;=-TUH=Yx2)A$}9dO-Pta9JIEmSh4*4#UqdUIvtkCmT! z6A?P7T?)5r0K^H|X@`?{kd1O&xG zs;IO(8pY8Dx4xMgs6|eF5!F#^-1;3okv``*z0gK>SE1{2&bh4OoJ!Qu3%rQ@4!hm1 zsm(mXOX<39Aw`dCm%%BguREtwv-H&BvOjHlC0hPenNKF4gb}V}UCI$Ar*1L^GVBj1 zK?~#Lvf(!RjP@J9hC|fXT`AjPyCgrajh_dO+InXeAILkDomD`f&-*)(=6ET}MytRz zRzPbHS?y)T`no)o`iGu+RINU!|H*l@ygUCL=ih7cH;1_LT<3DmWcdszd{1Kr@r5Ah zqB+!5c$-4>AwssS6s^^jg|1UG?HrWZ;n3HeF(%`KHXNYk?V(Ma>uNSNbe_pB&Me3g z(0PP0U@uP(hd&%3toW;7Og$aWE_IV!K#=z$i*|BDm7D2Es)Xf(DIIWLgcd1 zR@eEQvsqq@1>-(j6za9>DvjP#TWv-s{f7^g^DZS&qgfTaOBUQwolju8G%S8LU^Uch z2U`QW5}KLoIzunp)QBXlhl87kZ`_yR*+k8$Md8#JL)tqAb(;nR1kI`n6YyZJI<(Ex zRCOo`%U9LCm+*y)Ty-xGZnOge&OpHbZiS8z1G6@Fo`U8jSsr6sZ1?=`J%Hzn0cxqy z5N^&xEc7)s*T~@v)Qlyl!7XC_4V>KE!Xb3KT=NnvwMT~aLwlIxdE2dA9BJM@e85Qn z!{7Ga^3sn6D}PatvI-n_fJ?7Qm8sOpr4*#9xKJ$6k>a?GC9Ol31<(GIaQ{%xq;4tQ zQ|rlTcsZ@n@H~i{s)r1wmBALg+sh%xoVo7nS<`cW&MXG>sD}3q?>Zmt7S?#d7T=}I zT9iTCU+n@gL43J{PGs_lVmhCthq9s`Pg>KuhAntro~u(k8ozk60rk${+s(1J-@V7K zzd)mdVS&D0DiFe4gX{fYxzx-xEBANjRk>|(GM}dB0l_O(dwFz0qjoON`qOZ9SLqM8 zZr7Vo8*Xe#i+py$0E5cE2H>$9sddPQhX#HSmlBs&Pqp?3VU9_9H4dUX5rLz5stpC{ z!}I^rthMgu(o-&~>MV6tqB>&MEL{5zD!`%4rE64`%A8zQsvdFaWAsiiXzOz7_+^mP znWioLo`#1Ab$sU!g*raV|5({_o7gV*TGr`IA1qhjJIA}mOGmuT943D}m_7MvngnX? z(3GxXzUVBzbDDga?DNs}EIo>eqMicZc;^LCfF1`^SDFO#y%>Tvc*N-%g^2+{5l?Gf z*Rs5s1zDBge=m4`zeg*AKBk=jnwkzU?(66qpjghXD!gIxcv|AQtan z5Q`53v3Pe)ZnRY5M&aCfcB4&wsNrg=b#ULgdi&Z_Ef9;pu}J_1>D@~E{HTV!97jPb#O?m zgP&xn6pY;D?`oUMjYDXTJVp!>Ojpog8bJN2l3=_~r+r2c}E7#mF z0OoUF9&Mo=k5XT%?b5%dhH9ZxUkGoW?$&R^o7ch@-Y9$AMw8qZTvR#xHg-a1kJ!?` zLd9zE|CQDJY<>Q1wc4fM)Sp&tIoDPT>__Pb|KOz`K>1t?XRd3md}m2^krNkv5j_L6 zB#IrEDNvKHEm6tYdUBCk>4XpdTa{WabMvx7TWj7BtG4klAAQNIuE~vsGxT;0M!B4Q z(V*n+;gwRFy-EI0@u))o>at47)>AI3RZeK}h`K8ms=kqD;(Gd^oQ^w=j%qQgnpJ8l zLcLb}mO_b}I?PCsm*qsHKv;lY-)kz&230PxUCRpWjibLKcy)qWA7Mo#(bsaKzgDLH zYq7!l_<3G=xH#)9craW%Fa2HGJ22WJ8g1*U$HJ@XLnuVS#lhWZ&cJW6s!|7D$!jHq z@XE7RjB_!24|T^h5hwER#R;Dfau+3HsLyf3rMMy@^8gEf4v$6rJ#Qnv8> z-3ufE3q68KSF$31Y~i!wTYst`KxYrSjzHOp@KKEL@fU_)tifwbSkN)5UFUROq;;8Q z0pCpwhl5cYRl=WBojvs@=3lBxXK#tB9N{p6 zipO~hK?P%{!3v%AO4^|CX+Ym2!ZZs*gz;{oW{4fs+=C!PF*LKRx=mFIx8n02A3iax zQ+>efhR}=n|KMLQo_=Bv_xQMx$65=?y)*lqvpBm1JL(b71uuEwnDW$QO}7=(jcmSA zqN+OK<%85qmh5P477yWR^Z5lp?t_mPE)cxyUN2=>&n`Xp@tM!6WvL&uz(YK;H;v?% zh5I^{68P~yzS*C3;MhLbA9bjnC(9tfrgw$>dTw8X{JKBI4EHLpkY95{8mF;3M#cNM z*hPQ-p+Cci6q2r0eR&fv0@i8nbgB!Qj(3`(ysMpn-8vp8{jhVbL zkABJ4tMfHg%kr%}ifY9#&6B&jMH%qg`&|o!%6hB7H8W_NHFxQek8=J~?U&A)K`+g{ z^ZZAVo%WE%T!7tOaGuLNgC%&>d(BI^Sb{<|M$@h5=vpRUJEJN&^#OXY8fwXk)@JZ9 zUS@kC_*BV)C1*jFEsu|imz?>e=rhnh?*S4)@Gh1^Co?_xZzXEvE%DM}jCc&YlF389 zL+k^cT&DgkpNC~Rfg5NgOU`{-@)^Lz!qz);J{#R?P8Ka(d>YQ0?XhZ&(R500YNf+? z5UHQ=suSW$$no8+ocK&nrVo71bs%f3cfXhZ@XAHDK_F_+z%x&vzaZF0MF+X4z!ZE% z1TW)l8XE5UmX>@9igJ-XlxHk}Y*d>-eEw-+FdoR8H1tO152+t+B^Dh#nN^bA|Bu`Q zxxeQe5P`20ZuQbBxyN<`&*lR;Hl9dxAugAEzq2ogZXUo6`a{V9c{*q6$y$+GK|}P` z7p!0?{`k!D)P2}PLxnlHC(eQs(U{~|p^y}JU~8OO83jo4D1S|ZO8RN%O=oz=LK>wxckBf8J&a zp^*H^0|x*i9Rg5ap>`UMp=3EglC$ACUYpOofYGbiS;5w4W{euu4;;6Z2U9=%f92n< zUg65Waldh|%u5xF-m4NTE9KyB3}PkHo7v)Czf^rR1lUSyUXDKRPqoUW-_V~_e;MI& zA5Lp!G?90BX$Q?V|4a}Rz-<)&ycXj+nR7AgJe+kqPmiMW9%>8T!U`DoZN$JN{sy9;$v{W)r^mq zF^kj4`^yLR0V4E$p*#V4Oa5(K&(VYD*`KT09)jZZbxU zNlTd!a+&7g9GG~M-_l-`s3eD;j1134sTK1~d$AG4&|Ba(#`kFiTP*l$^vv<&1|cR@ z#m#COf@=JWjaoZ0CVU^ewh>vawRQp=?V_ems^>zYg%sy=x*%)b)J&@CsdN{Ts>w>X z1jcb_S-AMT)2`xsr(_lFm9!`Y%AbSs=4lwp2Q2(Mj?Jbs(=F}j>9SsuM=x*{-9I18 z9y4cJCR_?*P14j;->#Jft zJ!B!aXvQ)7fS!6ptv)2jY|N*dL*J@5!g-u~skY!q?tLgBv-tOunF)tn*-q@f<}p5!$MT3> z7OIoE@C#4KhX;e_KHq;{vj+Az_Rtxc@{EHg>pN{2kk0cCtKO3|t&e}t6XGeGz!sit zIaHTVp>JU`nZkTb;cP`#)EKJsE;;`<5#Hu?25)mKF{YgGo4bx@7iSe@o0*%6@idkJ zKGvGaF&-;gpjKzY26v34EkVOz@mI@pw$l&hY!737X@{!-yW1-}Lyq{eGm>Rniz+Nz zdJPZ5dA|=i(*JSZpZzsXA))0betjS{mBFeUCWnixILygW4%|ryt>=_oL&dq30xk|v zRaIM#aXkQa($jgg5Hn3JKfnb~L42J(pSw2jKjyDnrkm}*&Saf2_Dy~7dtMdh#n$;+ zPH@k|#lD7p&v(vHQ6?7^n@5?y)C-ow@!IR$PkIhS81216(cWvblpHeqC1Cal<0Lt| z$%Z+9Uf{0h>H6!CH+Q&sMx^)0yB@Hv)0G6w9O{shpLq)5QpCLBQ4wZm_v4_@leTc`l#%EhGbQ;%(m-t%B)ult z>+;?dHJ>IgqT!qB9ppMG$%bQcV*UlReLxo z0fe^kN>us)Gkc^-Dkn4`%^c}rbEJXCt?;gu@YMM+fMEF;A0FTc&{gX~)^NA~T-H9<9V9dc7Go9*&prn#d>TL}q z=y)(muX3ogPI?NzUJeB9>AEg(BB~;4uPszvBwY#wVcO5jv~8xcRZL|gFm2qw&Eo+= zz1&l%m&>Vb4w%f#r}Pq|@icJA;U}DAbyAQUJ2{}Y3!76vM;J(exaK5Zg(q&ZdMTMth(YI@Qs#m4Tb5>*3tg>pf7HrEV z7&pkU{e%bB&uUKOc}(P)r;X>SwS`5wv&p<9EXo-VuqZn#Sd?qmuVv6E=eel5ld6iX zmU>h#Zx0WMZok%V*&wE^h^cOhse0dDEgf7-uPnF?P$!$X4NxZwZL%XoIFsY=aVE$A zlQWrG9e&{yMdi{E|L-#Sa!jNiM6W`I|loZM)GnG^cgW{ zjC(1W&;U2$+S0fsqJdCZoDt~h=CUC+;7-5MXnk0qwU>?yU4`)e_I6&&JePAKx7Ud) zxyPI$DY}pzg(UItln7DrV&EId2x*>;-Z|^kXT(AlC2|UF!gKLrzQ)ISg$(1DR=zv>I1HTwd36g$6_ymtDwuba?A~XO z*-P^v638)II*grcc?o;yW$dET)nf3}5iod?slp`(2p`9eT`;l1C($zDv5PiRbcnrV zpx&5WTodhV>wa%DfaDitS*zt18q3-7wXdQN8N%itAa$^VqEB|hS{=2|`l zdW}soFgPMEi(7e|<4x!(szucyI-(ykh%5TgT}^&gk6sDWzXbeL-j$Vvx2XzDN8~Zl zqDpSQp+&5R?BzDjO_T`(Z?eqdUv0ytk~uD|P~=o!{_>xS9MVBdfAX;2lB(*9Z1x|E zOL-#x95y(m3-M7gbQlw+f9R#xu&YlWej)F2?(K>z=M_Pr?v?8%TqZszh*w)*N_%OZ z*!b>xZB#OB3@(SyE9CDE;thdUQQ=7Amu#lkkPb}&QPrQYQT=sboZGj}MvKDq>t6ca z3OuOnC%T#2>m*e=eAs^DjIj@Ew%flgF~vEK$DCh(q(?yePaX(H~k3URxV_$zY< zW4eoFx<|RP-1YA^To1QNU-V8fPp~Di(N6S5&&(#YT0Zj%V5#y$%MURZFV%;jBkCcI zUJKKgd1(fQ1Qz#Mp|>9D^qE)G8C+1^J>Bj*5+3EjVnV-exT;z>c-4KAtkXuNU`fOz z6;~NH!g_s~siQnChza2q`ojiKNWJjyva>wjQ9bmKoe(E`rcbvC?90>_85ia(p@K;a)8F&b zbOD1?OEFHA@K+)mI!RSeQnNg&o{vi5N&dPsA?Q6l%!-P-`4eE51Qns3a_Jpo^5A>* zDC_)*lNU^D@F{F!qxdBosA)*b!KtaQroA$+9-UL?HP*Sh&~YEnQ{Ab$KB?@kWHMJU zH>#d{7F(ssNwS_KM_`K(Lepe_*iiB6QM{q-9UHAVRdxU%S>8&UZG1pTf!1-#*A6db z>ZKO7NtI|km#fmW2z_-PB~evQ&M(K~{&4t(lZfzC-4OAScLQYPQI!Hb-|+{jH{Nvc zg#v$gcV5R;=+lTmjXaCqN+pTxy&3$o$o@fOV zTy*(d>QNhR|6tsoXF51BU(M*jFI2j1$yczL zz4Rg{>Q8Hzq(IhymXzL9pLPYbWLh~YH`aMkELPQB;ucxg55rKALmkxK!7F9V&!DTk z&0oP#!o`wkLPcT&3NH^M9d!v*N4DhkMf25W%L-FKzl{wK+fN}5@!*hYvJ5S&|NO#XPmc$xfs0p#wEf(je3 zW#$+Z-ZQaf#zg38h6)df3hzYmYB9+dhDmm1@Om-HV6H4A-X_G}z9*xrfm-{a`xtAN z=qFWkTkm4QG30I(jD4SSFz)sWpxTfekEm1GeaMa(ybch3NAM@PXJ1TtD=?tSn@E^{HVITopc!>pB6AGVmFFCS9*B z2>|ON>63aM>p_5Zt%o?iJn8!(mlAV-m#l9VeDl4u@4cY^d)^20{}+j07dq6!fuXn= zO*H_#=jBI&;5FY&tVjZv9{}YoPlIq4~3O@?04T#D*jv8kI6CbtJrEGDw#A97pz|Nc}zGq2PWF+ zngr-kX(JK*enjw_8gtf2G51M6@C1!Q=zGCPFn{Ah>D|HWOknV3v@AH`jy`eI>2-?0 zS3PG$ppj0hT?jj|)R9qXGCht}$K${wS)(B`Hm!;Z- zitT9{wR9al6C!D627KjZ0EWj4U|4d`RSSpXAj$l#mx-T0_Oz{||5A!1FgA#o)b56I=K^uKpAr<-F zdMqn)yMGy3UR$c7+KMA>YeA|=$GwNWucq`(^HUP`#JoLRg~CNp~P<94jo>6N)5D`5MHT3YEcg1 z%>jgWLpg+3d?musbwkv51#3_dDp0UpvbD||TkCzF`Z|=~g0Sm`thdpqO1AO(3R%A; z@poo|D~8@k&xKrVtaTeM5ML7kR+L{~^1d#;p5&@y8vT$^viVTaxTj!On=ahccA5bs^Fd3P@s6j~J-CP?wAA42&(Xmvw2!q)p6Azi}- zYHYuariRBHyj?QV`}#euSJPxOGz|YfC#M4K+dBm5e(&&ch6hcjbfJZ_Bs2loH=g3) zL#>&2?urMMddQZdU&1l!g6pw?WLmrE<%qm11#-X~?|*Ej5zTbeJI@<$M6(3dLpy<* zw3rjPH1$Y*xoA_J`Yu^dAt5P;rXtS0npTe@P$VgV?%`+gHF{W&HaS;&rkCYOvUOh8 zs+vF@C9+x|bWlWIu@8XIqQ+{7Dv(0dU(=}?&&gBiAj!7yog1Sa{GExe-7NV(e{-H!Vf>wm1imQ62{>flc6p5Xe(YIq>TudXzz+29Yv<^$&wv^HmdM-}$lUQ0US^#%MUvcTL-Jxna_Mm%30B&RNZH1kDO;X@ zxSTqpooB@eRovGM8+=k&F8_?+fU8Bp;HPEkjl|$H^3-CmgX;rrD+3d3^p!Eyrs%H* zW83%D=8+sLSzL5L;bk>saXBX7_lSPlW@3FK%p~EWDa*6&{#;F2SMSLho2On!w|PwP zA||+2Cb-Iwx3)HKf;?n!Rt-XR6t9$La5usQ-wx?JdA8OWk)K*i?*% zKUivHIT|#@fo%MeIirJR4?S zA;Q*~)2_zfLfEHVropycU;QZW#fMJBg^V{A(kBLNzu)6}j7@O*h$)xd)WUrXg1aIG zDJ-ItFt6k)ss5+BNIsCH_m|V{3^iE0>elBPxj>RW1j)dd@?_vC8jGWC43dGdDT%40 zkPM`$D;mFT^^di23k&{Nf6V*Wzl@teo8c>V!@gU}V|P*EmA``?19`&V7lAyT1IO+= z4BTxy0Daqpa)exx{6q{+1oT8x^F=h|AEqZPaQAC9YQRS=BjydCHxhoOI9(f`I!4Hl z$aOaGjSWL_o_VruK_eG$peW$r4)b=-ypI8v6OS+FXl}3Ln_We&k6lK9M_9W-Z5@CA zeHA*r6)K_r?ha^m1!&-zsN^W!!H?q7*u;;=$P0SBEB@6FbXz;1)C^JTV^M0pq0}l< zsd?3Cktl_c_&?S$V;4*^j+ZTI#G>^S2^y%GyhCrHUAk8>boX_$VrW`<0ubpu1Ka)J zy6Rr*iRU*ARmg>^QmOyw}nt~m+P#1 zgUgKKs|&CH9i+(?yNu<0n_rNS{!MMH=T=SPCeFsS`AN9#C~g@oFQ{b)i~SqC!oX9O zQcKxti)2;zSSsdKvRYO(Z8YZf(>a$uMN-M{w()**UL!ECXF@2brPd7xrO_QbS3tjw zQ&O*|%c0+!rM5@PlKYfQD*85q21&Rdntcq*yv=$v&j=b2%@r-c2sF()nfivEmsz7hF8F@U29xMko7Nk#B~b)FgguWE9? z#D*zhJR8@x7%yYWU!FIUfhb7^%<$-hKHq1b$o>lIG(G-_XT9oTi#$~%G2`y`B>z4} z8(7+d`j)~B>5F0ge;jr&;Sy;81sN{x){Y(Q>Pd zVB8+cM}EsM<09THWvX#Y*H9x|y0_4@Mt3|AHSgXIlCbH%>!c`uKij9Cb;q;RQ#M1H zn$6WXe@Cd$<(5O_*Q{E~jZUdqkzChexA#r9*_$ydX=q+BbJSHt-XqFE(Gvon0trhd_MRJMMEP?ml8g`<13FXXIui$TZ=d+>AK zm8VJy?BCTzNC{LbfKBW2O*KgCT`G``Xy}7?O1bqZJiz3qE%vFOv41_R@snlVxH0p_ zH=wO6^`+QJRt#~| z9njLe57jqIhbwMR$g^Z=Y2NA_S?UXrbhHaKr-C}S zouMJ(!jsNo*DV)7xYA^Nv-ha?i1(X9Vby9&+if&REfwwhnj`ekZqYW;4tQciy9W5A zZVY|jJa8Ff-N>OQP}D>*ZowFAG{)Kp%uAq??S@K_hrt@I!)Htso6q-#y>m+R@_6E`4dt6<*vfh7!5EC9PA}1F?zBZ@XS?n?r{n^KQ-{L5v4vZ_ z8>Q{IP_`#}?ROLD3xD5X4t|cCTIddg*z;~N$_i4#Q>xvt%EvD{JJWOLociq8bNpPV zSR^``^ip%E6pEsTPjTv8ND~)R!q@e(6x&;X9dbLAJG ze2OZ+Nb&gp${Ck|X3Jm%nrn&lBc0di^Dy1#rDb>y(U<=9q{FlsEyi{pR``u~YatEB zMZ8&z)f&cXZJ}y08VuT;7MHs8RWWyYaf=w5%-y6qV1ATQhY(6rmu#h%050kNUMHa6 z>rp0HuV>5kyil6BP=8?wFX-i6i3(?$2x}zyH~O={F4+l`eEuZ;bG5yTgZrakT2+E+ zIy<_(*EzXMYPFkId`iQeZK?kir#>h4JokrXI)nYCDGbvEn0`T?bf(EztHB`{mi+*9 z(z9WlBDdGSbz_z37nfWEy}UFS|6{*OI^_zb%p^tu$gMf*uf7Mrm0_aCiHC2q( z#z8~51`l1~n5!NWStB3|Z~lx^Fyc%Lmvy)UJ9@-D|1|>Fu%)Gg9>=d{mHkof!j3pE z=1{lnI^uLHq-_L-rm^AD$`1cuU0NOW5mN6qJk)|O&ZRsN-woosiTL)~Mf7R1;uDDP zMh&t9kD~|zpV#YciH7(#JS*1!TbRS}Q!RzWu9xYj?uqxtI{e*G@Raa>dMiFob0E60 zh%QT&l&sGxy@82ksGLxYT+XW3Y@dcnHR5{ExV3!APA0(KZg^jnU=t zlvh%a+#tC||Be<^>R6W)Pi#Q{&TOfkz>rI%`Uj(qr5P4Jz+=lkx6xSMY{RG1^)In4 z7nj#h#M4+)1@M|LoH*;Xk8wS53yN)P+~aQ%8phMIB{q>mqFRq5OFxA144cOrg#( zfa_6swtx+P@h-`Gf7$O}ynFNu@7|;KSFed_vUk`5E&9lbX~vZ#`VrQkmOL5tnv{im z3$DPgF)GL^-)+yE6Rh?vCz5DF6p!PPyDZ$*b};agt;A{{cP)v=QNr(BLOU(;WjfCr z&KY-WTRZQ#itptGVmHYPAb4B0&5ZpP6&9E%K-ks-gpDxf*OXWCR;6ewue>9}T+QA` zy`$YlE{d*53VergrP+&$G1P7`TC^A~TI?TPaplNKU3Cn+ic9foV1|wJa1rK(SprrH z(XbV953-uis5+~rg0RNqaTixyRfoZ~epGS;m--z`=d!397Z@r9Asxz1xzq1Z$WmnXV9JyRyA3!s4p9aGPwf0<7Ri`;5Kgc}o z_PHwZ1F?*mA3)@mY+J>4?-F=Slf0mDBS{LHmgfvjB^jW`k~dH+eSiz1lT|+N{$Z=Z zZR#6Y!;3UPvW5$-e*>v{qtlq)zp{^JV+%`TjDdygy}uL?A~2~4H4FI&x1p)j#=>)X zs@5h(rMmF?nxp}E`Z1Vq-!Cs&jtrZQ8%TUU;H6B^+nzTIOtxx)nmn=(jpUKuzaF*L z!W=tiuApJu_TaXI$Fiv_c40sC!uZ^~tB}SC64!^`Ddf}o((ry>RT`$hZ{?lBS=x-c z#yj|R?y7a_qo!qdrmp9*^*8$9=~d&Xi~5Ja)Tc#L2qd5Vq~t$9u+K!0oQ_%(DKD8ZrTr=|`L!4C&VPUB{B7ivDeuJMap>7}Qirb;gv%`t*@ zU%JFWyA7i21z9&?EO#XsYn%7m0vZAD6oE|h|7t0>zBJmfR2e{%!}v86El3U^g#~9q zc&C?su?mT9u~dTWDr+Z^veCAi?h8)p>lA|N_`;o@m4!6iYu7XU8w`r+o?Z)z#caq- zktE6xgx*NV+*jdLh4l4^~V19jivp)zr!qVSkefz*+$@d#&q)yfF7 zTqDciL2cu_d&uXc=YqyP=d!b;BcUu+(6}&zlo|UMBoJCae|)hH0@5 z{aI?Gp0)5%ij>-zkBgV595f_Pm(7WZpD0?m=yXU6uEO8%aHuo%y^hTCu)11?V@QuI zpE#puA$UaLm);)>r}@C9ji)E5n+UWw?ETPe2R&9bCn$y3!ZOn9okj-z_%RP(^T3-x|$OEvpZ{n=k< z)fJMe23~`t>P`18HzgY$CmgUEp^?0bFgi|LPO`Y1*$kuQl@zxKH`TnfpWZb8 zjFa1%H}WFrLn8!^c9~)7eJ{!eqEJd9UIlHZR!3pr(K7I8@nxeW2Kq9l=wBfQrunP8 z^`9)*gL_KtL^}1P4tSY<|K%8CHvvg}&Uw-dFXG&LdXUBTF!L|SJG{eY zhAre_v`-(Y@x*gd_wd`J&Ok;iO>fV&=yw|jOQ3L4Yr&$5|3z=K&E99cG}ar5P=RC! zL+!lpgY}=`gDcLBk{11@FVo#Ns>S*Dg2;1HO)(wIP?NVPMO(NgRe=NST+p3nM2nN} z2m8$R4DlYt0q`X+`c#S26&d|RMnADlKgm2>hzxpPe^cu^-NMy5B#cAfXtc?|qd)S; zKK~FKhXIA|q3VJ{kJO@#lmThd@FZ^M!HXzrM?0+cm!h~GY`0rp_G%*DKPLOE%r@Te z{^^)6R{wd=YM2}AH8@)1JrmVPYAh2Y1UZB zO-|8_1Eg`V{G;Mv*}oCRQi_y#{FP24xCSg1^ZK|^1L{9`v}|PeC+;8rW6ZinRKr?p zM=nxYa>^|b(F(zuNc3@vK1fioBU`)KLC%VE0P2nO{biqsQ(GylI2Cs)Xa+KWNx#x0 zMM^YNq(m`pqHMgsUe`a9f(;xAIDv{#U|{A$1+u3i%{_%Nu%CKLrgcDch!h6<+ua)CC*Sa*?mvz-`NZpiHe4%&!TZjp)9~2`dDxzxSReiU?f8TBN>Lf zpl<_4a$Umv4U2t`phyx&FBpfrXVi6}fbR!wu9tG?<>X;0!|)hohB^m`ya^N`xs4YC z_TU0~O}asT?vH%MA#_&jt^QTE6ccy2=8RjP6@BIdftGEw=`ZjwO?_daLl7gsP{q8~ zW+HJ<(tekWH&9@>GGZZW9|BK$E&4jOOa|V~`zh5%zn*dFvjinr$XS9;on+jvZA;@9 z$rB&@DL%vQzz;S-&)-Ad=FuFdj6KLBW4~VBG-0z)-j9cX^>hgW1dlMsK$-}+#=lle zEQgA|dB&;F0`3pL;biOlvEu|0+lx9Zq;Vh73mfX8+X0e_{wv>7wH62+$lkr&GG z2HGBcX-O)Nj+k)!oU%7;W$`xZZlGV684^G~Z-oSzraJ>7VqOvKEB#@kkIKilpG=3q zjkaR_Q9S5K7hdI^(xvE@I!U+ifJ53FoIrbn&4D-@70bwLD;9f-K*ljOTOzi?a6sX!_dzz)>Obr7g9@FABaSxV2iv z!3f(edx@aPP;j?`tJT^;m$lYbtsOqwx>wx_%21gB5;n?8ATglgs=Mv^=6AmM`=9#_ z`1;;|zgbr9=bn4+x#xcF8OtcPC0OM#T#Uc(k1nHeayqNE?0f|5>kFSd6%K{hX277; zr|7ckb`;65_3w_q7eh?T|jZBP$uBFfIvE(eH<K2Mz$9JjldNr<=@+WaUM}LeXd0R1jKdD7Q zPM;L(s7A}%9Ikt;9*Jw|BP3KeLl};!Ka3!@C*=5)oGZEYnfp&`*JUS4xD zE0plu@$sZ;l%srd;K&gjfrLeVv-*iremfcWu#VXH!^>LEKXPzI-Q~t^81j1&tOjpz zMSHnkTdoB~?FwyXMF@-{EMK+$Vtk;7flTlJCywB32R*7@TAF9v@&LH z%nDD>xu*&lf=>4mbVSZQ+SSz@4IDU{OFEVGw-h1tCM)zDFVuw5IXj2{(3gVl7xTYY zu%LTO9KVSNqWr`V@MSOjC?&AHbWUj_6;LeF!l2qU+H3~NVk-lgQGI7TEk?}`8GIW9 zWOu>_*WOW&$1vFt&Q!E~PE5=)!gHpmxbU<|g`e3H2+iHQ?ivwT)VOixDBx7kOM$&{ z8wZPFE?x?=-n&!thjiXE!Y%I!W1i1=#UAbCWu0Jzi6!Gcm;&;m;&@-4jrba)AW zhhiRjXqzlrfn;oUEe_-QO*Aw9rQ;FZ>)2 z;3XE*@6jF8U$}!WhdiMi{$VXBE$`RQS`YlJ5k91EvU=5zDq#rSOzM_vFA)@Pg0iiR zK}qX@!kToRP94E?D;~3D5p$N(_-DoO?@!i>NyD`dl;9*R;s}f|;t@ZB z5pg5#dm%+u7xv?|&~iiJMFYbMXzxZt!uiz*>qIn=SwSz0n<{c&ILhuDTiQZN!zf3j zIe-*w3CEPZHsCLUbE(j!D_MrUIAihRu<$vH3DEg+ZP9t73U}MGefIF-ben3Ytkpj!fEAl(LgXLz3=!ftg} zUsle6ieR&R0M^;1LZgE>YuAV?H;u&gS=#||TVf&w3Z!=<%_S;ZlpFS9f=l8`2_2!0 zjIg2=#rL3R`Nq)l%@$Ia)Nnv|GnfG|pmlkqiasLJdpQnJ($DtFNMvvtZgVV8q0tDt zOBD4Tn&WllHM3!^gQ-E^W@us*zTnNV?k()7JLw#(ZP=7^JUw1XiS4ltc zo)s}1 zDTV*>>uPM_$AVOdeUU9A=CV}_Z`Gvhaw$?^JdOu12XkXfo4%p31$wapjrZ>I+bqOX zhD+o(?>?a>k@_biFd~RwAjOB6%$4SyzgB;Fab#qC>Wt|NE?k!3zfi;Rzhb&Xe*3Nw zF0fkFJcrxS7Bc*V(=G53*y85~zF3UX+Fb$tYj#%T(cqJC68O;I)yC;Gd_xP^(cn4! z3qF-q{;d_OR%fFfeQXXK^Xrngkfo!VuKYzSwhhl1wheemhD$l^<;?o}%PC>u@hLNA z#AlW(LFf3;ry6b1&L?p6XaglafUTkGp^`>GH^G~OI5qwZD$#1TXtibFRFhtQwu0_s zgh<;KgxARfHxQUp3`~lF|HKE=7#NEI7WxS*3Cv%41ZD__&n&r*dRWFuW^L zMxu`AO7hN;sFy@X$1f#OpDkgN;y;&xonCu~^lS@y;}wplyOR(gnvrYY^X-sj4b!^I z;TE)mO@5So4I60+83sN_YA@Q6H??#yCTTO70`T0w$3DFb!ykE#Vv8Lw!QU~GE6h7X z2$s!_iC<0#P8Tr*w|&ddj>H-= zA=07$x4edS9D!QqCv0tjH3Vv-f&Z0mo@aD0xn{Zc@(YwPP5cID%H-E~lkm4O;p+?* zsSj>v!mr%Tbn0x2lzvRY4;M9|d^c-lnt8ly8{ON5buu$9riv4@J=e2BO(Q3x+k31N zlwvRR*A?G$Dt-(4(*=106>5@SKaP|4;m8hFs|iZ96k(PAa$Q>5(hWyQE5)+dO?3oj zCj+zDz!&)7RtBb~4nAb!B|CSHzyuSRhhC$*rT6Y&?(a*-mQsaVZN;^tHB|B5p`6#- zlE8&-9`ls)#&e#zi&~qVPx!noRnHoawu_bL!`e^i%1+fg9i2*{Co4^-i>i-a`)z7P z#O=3P#TUD?vv1xMD@=t~XtXe{W~nxhttTNbX$vPIUeklb;79Ks8~85%`$gpK8u%(7 zQVOa@sDSr;g*|#^_Xv0ZhhdMsMv8k}LW;M5E4C`$oap!^g#MhUcz1lY;AZ{MzGdc%o4)4Vg>H#5hKAa+FF6TkEoo^kjrR76jP_T-16#D8=*A9`Tkg!WzGY?y$;5ViO~wBc&T{mb!Yh{*6lcX; zX<@z?6$pc?TPr9Jcz4B>>aIW{SxwBDzDDi`rZHzaEs+03A~@p;dhjVPy4c)Qyf8d` z&Y}Qv=>21|%2jaNk#epdy4AesE1NxfbbBD!GhhF;_UeZ!G-3ryCs=8M)7EqX6ms~Jpt1~tOAPS3JTA(G#4$4jg496?>F~M0fTVUt(*iCK51fm1Y45!vRg{}NL(*u za2@<-be1&HS%Sy;FZ?Lja54XgnBrht%5{7C)QuBj0hc1pS$J#cCki_uPWP-Gslb@-> zv`6Yu-8w%A6F5!Ld0NuNQBg6e{(dnRG)m}nyyvD9!Gyl`mKDrBB}55}#5iYBSk48b3w9T>t?ei^BJHmQ6PseBTte730akF6VVUG7B#ZEA@K(Y43%hdnZ#j_`@GFL}N;Ya37il%dqIip)#W^%F# z;u#TQnu)LV#PbYd2*=iwU4@yy(Hql(tSh>hD=*5T6o^{N1gZa0b3P zrah2wRzFa#6B0SLrUTVyO3RI>U?2=Iu3(4GvPktZ(Wq{LZ^b-_C>9Lz&c2&`?AhLlx8n|r=C1){u9dt4g*PUg)o3TiR?lgfU^SmP${k!MsTy@H3q|F zO>Om+C?B8sQGqJviTCpHU?#)h0lmP+aDy2QpBreSVxIh!Aa3N$$3mdq(%>rr-+eCz zFt1y$qr|d}Iy$78$9=t_t>HTK(VLjZ{h*Ft#+Pxk9^raDf58{Okxl{Ejl|j5*)adR zb^nMLdKoT+sj~YoR>;PVZ3%v?XsNuf#BZ>q+w;!oN1nIvNW$;qffFD961>Zg;Aa1hb$W}!7x&V*{+yhe3I`P`n0GzDaM+7A zq6+0w1FqbZu&@Mbzm<@wRnjZPBfo0ad&@6y)aaH#0#r@T^(QtsTJYi^QjOp9V0{JA zYfH^v^zM03tJA^Y z+D*FbDjL43bs7!-)BoBG6st(<#dy#D=V%Ga*%GYO^T&K~8;N54Mg{YRgMw&a`GeUs zb|RiKQHxS7TuBU+lE2VP?shDZtCB9FW{_Y478 zHYYk^8Lh;b61EbZe&ymyguA-7gfoR~DJP%&h>$AU8nIRDJvBCUr&Ba_r&E-1!d?Tv zm(0sC(vsRw={Em^tl|2bs!J=zkQFPC# zgj{oS)HfVs{igQeDCU>5XY#NLI^hP_e4x$k-aMto**&@}dblq*nNUkm??X8^`w=eF z^GAJgJ3*bWQ9;Cr7jtyQJ(NUy=pOB%x5io*@4m83NFsZ37?s}S!?vCRB~@u%@n25t zH&!Q>?8!?fmh4H76I*|w2FBM$*EiB3mf!%rn(i9!Hl2a@aii#`emN3#R*&tU)%waq)lX~UDzC7UtlfB{1?HJpxAr3D zwk=|A+loMbtAw>hmf<^`uHa&0W5L4Ekl002ro?6uA!&4c>|Tp9l)29uInq1}WFRxs zVS(4NisN_V5)&L39!U7z78{P4%{0+x8;Q&cpRy9U9O0G7Gna|p+{0zqM?@~A zDwgS7MgFD6#{A@v;JBnIQ{u8KmC)w+)T0((!B;$H4Ig%6CcFZ#+^Bn|q(N|{Fp+~0 zHE!qc)krDAsJ*O7TU5TQ>RwfRk5iXU@L(Qu>K?XO=JDkGj}3yczEn|1jq`9!&{74C zgc}>0^+iCY$+dkRN*UxBxuwqQxLpL zGO2n*`aK=jVh;0vQ zX`K}tNzFiu%G{)5%Wx5MlSCaORExOs{0oFCH9R~nl~7$MXQ+Pns1#8Jzxk#qSVUF% zyAtB9$GqTipZ8$zgC11SwpQdO^-v2o%u^cJ?<>BV!^I*zv=Q<7n23h8heH*6Szn`s zikzpm^w6nj z6!Z%Mh1d?l{SXeh1+Nh4a8dUQMO@F*Wp}S}yD`vkt>r02U&vQRSmyIHIqPP!GxC*c zTuGB$qQJKx(uy|X8AF@iz3^yH3m;}(aBW3?7KwUMh!TyC|6cCL9@V0-14k-(Gwpcq zG)YjhJ7XYLJW*#aYHM;n>XR;2&vX?V+k~5mfjC*`badKF2BQAAX_etO-?>oE8ruYR zSQ&`f6}c6Mm@-6GFkPKO^Z42PLAO4b<%S#*`wY%{pR+gd&7Pu8b#Ei4zlmp_Q(Kef=|K{k6g z^9ku2R-Z78i$2yZgCu(i$V7J7Lzw^06IHxxhvIp6m9$N>+g0t z%UkJdA2T} z`|8aG`RSwVWS(K5?5DX{&o?uaCzmjH?cv;EbjZ=NR_0{Yk&QW8o3ki5IC0S|75!*t zVpgR}e(@+jo}AqXy=AB`ZX&b06<=lM_9(nMoI&07^>@3R=`Wx8*U$;w+kf`3;mxz5 zw~|I}*sA&M#MQp|21~pTRO2?QgLi|%jEl9qboX^hMNp#sm;-aw2YeO~RmH=GffEC~|Dh5@uW;P@B7yyql#2ntpR;!r2m) z{P%kSysHQ2r{_QR#aNo?q5ym?RKh+LUK@)N67jZO-#N3t?({Dw;C%wZUB@+rLmwsk zoom}l4xhZ#7dcAZyFqSZ4099d2O0dXDdZ<6cl(L=D`B|y`^r0&3yB(~SyUOP(kwDA z$3sH*EJjAqU17;a#Y>lrkjIiwc#e<{bE(Z;5*3}Wgn*BXn3-^na1XR)u&3zx9n`$* znF3!ACbKmRULSAOik$>`xXV3%t%x}6t#M6Z3~}A3*Gi9MpHM+QtM%r0pWL@jHP&_K z57n~#q3W*BWhZLDp#qjyYKapHaUlB!{zmXI$-$zt%;vC>j&=A4y9bgr($BWMEfuce zCa$_I69xd+ni4qMI|Vr$;FVdUgq=hrgM$=Yf4E=%*coilPKUEF2<<}AX5@n~nE0s@ z9fV#if5*1+dR0Ry3@bZBAt=7Aa~F7+ry8luWvS&u4(mJBuGk!6St99D3pE^n62pw} zt6$XxxPAK!L&6vP~}3Kcgo>B6?{#cT7#5+HsQO@Y=g6Ta4rU8 z=#T_=pWBHr=?mpl8h@fJhFrk4WmVV9VQe`Oe=^Gk%SIVXVQUn2aB7x!hHLq*D&ZtW z7ZvWNJdi7mN5KgOHm1*?KP4RpqSKV4SCp`geAeqyHdLO``KHTdnrq15_(|%{1u*e* z{Q;o<0EwB@#RfFfT3i8Tur4(7< zSmw0@tZ-EQ`jnIz?-EL<>H9O4@}-RgbUIfq0=;nE+0d0L^O@F>$}ol##!wv$(A8Jf zYCu(bMl6;Z{Nki6q;)paf=@_F?P@n{4kj%S+Jt<_qM$BMzK?Fk1;*Fq#ILwDVS0vvV7+mU;Qz zOaZr^&xh}-s!CyK861)^-L1Q&o=Cb&GL?5>9mN%Srb&jQY9@MppgbB3%3na9Uu<$J z_JlX$K=u9+I?28EptA0%GkygfTppX!<*RVE7(hnq_8F4~f+ zdJVXgF{zEY5lB*-eM6Mm#}>1U2@LY%O5YLBEA(C+cMz-Q`lem z94<>#Sf~2+ixzfWm0e`II+H82sz8&oVR$Bnldh)t1n_>c2X&BI*I7}xM}bpdssl*% zbnDT>>qa%Kkv}iwJ1vPEzRO5?upt}td_UUYh9LeFdm~TdbVXUMtwoDMLt|3By<;-T zJDrA}+_T-ax?9dqCRfoB^Ty<$5ff`epM9hpEoJ#t(^z0NOn{}|oQ657&6Ho|NxfB^ z_}y@bqbC4#;olJ3vqVd1EO4RQPoJu5)wRWWwdXabbfGYmvNQFa#@l-6FScmuGV>ApCpTa{)sXOzm`#& zJLObugE^<1goWtO@jEb-S-1{TnmWs3{uNG+W*h*A)D#N@d)Rkj01H2z4QooOuWJt0 z)|Q^vhQVltXp`~qzcHPOBTQ>Kd43MQ&8+A3WXrwsSIjqY}a9MM4eQ6|w1ZqnQGVAsg9V?3fIfIDPobjFy;Wdm5ruf-Rol_|0Tp^^p{Y_Dcr8WrpwtM)7=^aGbu8 zXv1$Nc7?9k!cl6?@B{;lq^<{ZgbWnJ}BQ(TXXFYhP79|%-b4U-9` z50{gFoM5g>OpHq-n8$LI{3M(r)XHk5&wi-NyXM^Hah0Sh_nhZ7ttx?3V48@vN2)8n zWetPm*`(fnoM#4OHJtoW{hsm|Ju&_Y_C-avoQfubeGDiz9@UY#*hfjs#A?7N@Q{Pk zYHCFTItqN<@nQQ9n<-j8iFY%`HKxSfe+aPvM$gB)LeG{ zF`7VHQc_$xP2gxYle0hPm*Me+dUIcK7CH6Kt)7?Bfo2i!J%eWPsd75aLcMkRpzniO zU94rasiIUk0ZZu4wFn3KAG>n3`6$_fLCxv&R5Z|h$_W_6-m73G^QCR(Pn-xg^F?2} z*Ognhu-6sxrHQtKOnAz{LA5|VYz|80eQlX4{Z$7EH4k;?>1N>O(9x(jkTRalXH@zGbmi{u)|TCHe&AEV-XOh0 z#;CR7ogXT(w{*+YSzpJn`d+NB5fxz`NwsOBJ`Mgdh>XK{3r8UkE>adffxcb!dVb_z zLM&^}-M6Z-5>IE9<@Y2cT^%tmzlsL88$)=#y!B>WuiIbPRW0)4T3D1BZ!C+NUmC)^!AWF11SxYbpi1%etQPt{)%wZXt)}G;=o6ZA6xoR zvBobeVOq^`&1nX#TV|h`zGJ|elL^?n1dNE}VZJmi2`e_W+fQgBV316}w!GLQBRn32 z=P2PxPyD+a3D2j5huJd1bGhExV3niKjM8|*Gn-aKg!wWJf5X)f`;vq}?bE`dFB31L+$BfdFKbNL+0#W#(i zUdQqa+KxR`w57$WXpA^7mWsm|$aGtri+1x|$AjH`n9CZjUAfaKc3V@~)9Zn4MLtk+ zsI&fe7VM`mQoH5e6nKc6D7;a8X?aXBhnHo-IJz5Flw=wy>M$gfq7K#3?ChOIXYZdc z&t7`Io)k1f>U`z- zW#3ZipFh-GX>c~W7a)gn_gM9`>iK_UC_`bJOqfSP<$uOVBYY=3l<+^ZZT-N=Kah&2 zYFb%Ug9av*p3^zd;2#?gS%;UOPVP<@jxtJc8ZXenYQ{Bp)#F~GnZ{iyI?-k-e0%Zo71+JgHvTiF$~t6&_OKonW+>HuAzI&%ZX3ovWt$=#M6_K=cd!dk6vOEck7wB zM*8RXHF0PFN4FSck@S28>+d?{Squ`$# zStB-&efUrPpS1b4FrGI5^&&*~)1Rk4y;L$RFN$sE0UwdEKnL8(uhH_tB} zl`44K79+9O{0S3SB3&dzK(EWUZ?jV~LS=uv2AnG)rLv4vIh0-F_fe{EZQEXx{CNi5 zjfC7q7Q>8fqv+9L{W9@T&~vnFSOHI@AzRZO8RlwxrFL8C3@kC7e3Zoc1cwW z-LlIvD_FY94AX(O3S&jveiLmYODXxz@6)y0EHnu_#cQ{juH7%Hgi})J3op8M%RDia zZs1Rb!E)|$<1z6Do)-VN8#w(1|4&@bJ!ZdEbMV~x0_U59^DvmM;R`0QpT?d|ty`}g ziECas&`rESQ(dOfRu;o+#b>m1-!ulA_lbCZZJ%zE|L;0N^bLpgw4eU-avmgJ&I9Rk z9&Npx!>fE4x8=m?uPzKaf99KSPpD=xpfC6lFq^w@ZU4`Tx_47kX1)t{3U(2uPv)I* zHfLhLQn&Za$y~a#pT`J{7{1t#{d8->xs`Pr`g#(~NOoN2d12IU|PNK68{V?sU_F~p(I2tZX0?D!!T@EvKRd{BmUg7 z+6~I_xcWtj40cx4l);d)a|Fz{eQ%r2q!xiu{R4va5y4`&Uv_8zL4ox`8arD@pwfEz z4FM&k@4{;`91hC~*i=l-QjCOoMCcp_N8lRPBqU5-gB&_eIh?DckK~=mmAjRts6BA@ z>{Ys~=3oeMIf?G$MU}{Z;4yMxiHCqARW>A~J(<}#~IZ`>SV-%K+ zC!?@zuqn{8Sc+pYftxdBB?-X)WN~rxNhXuVm2-Hdj9MKQVIV0`ub44POE@kQ6Y6d7 z8xwpZwji{v?5rv%quc&DI4t{5s>)M=Y;_R*CrLvbBp@*KL5_CzfwP>czM8An^EjCrc87YQBJ{QC~7M^v*K}IS42nK;= ztisAo)oQO2H&p_jGRxP0r>0mFrSUk1OA&Ok%*^`zA`kU$ic2_nL+KBBazQm_NublHu+#3dTcSFP>XiQyQiD{JVN>P6;tl=ZT5>>0`!4 zrTiH{^ZAOCr`!+t8yiJ}bmbV8RP?1!azq+V(-(ov?Wf>Ib< zdiuZVs0@+}^Fc&9if9#AGW#N28m>sZwI(hyIpYWpo*C!gU?A*Z>T-k05t#cIGIbDwpL`I4rOQeuu@4v zsLV(Nlv?Sc05c+sw0R4Mg`)RI%0po=^e1r4EopTs@dhpdhJ4JrDthn6p}Ko4cP)ww zlG0dwFY2oZ|EpGr=UF|?mk~)7TV)|VGxN00Ok|B{X5S0*xHzA5Ivj?1AI-nodK89H z{o?d_N(hG3?wQVzqW>3T=6gE3f^9soPK&meJ56IQvp$O?+B=n6ZK)1?wU=n-&Mobv z%y(K~oY7ao|4Fwb8g<=$^;ldROu00q(ve(T%nBc$m{a)$MW+mgq7|`9eBe0I90hN{ z8)nU|+wLWd-Eohepya>BS=>5|W6gl3vTSf_&}PjO#zRIpD!sY$_O6cIeJlAUu4|mN zGou%kEDo=Rp}%b_JzafO10ysi=`a|mUun#uG~V_W7;7ZY^)uJp$J;Em#}IfDRxXNQzBU(~UnnmoCu8g0uuB{_f~yjEDZf885e))R&p>qmK6^ zLViC?7i>8rI7v)9ZhYVNug#i)=@^6SDW{%gb2qhb+i^=3&x&77Va-Ngr%q~`nu3aw z-@qN^1;3PD%m>^2!zB*j)ch``NcvIqCPAfV-1}$vpWq1>3sK9ByhbgoBCxI;u5DCL z!FADuR4$*xG>Ka_|6LEa`TNhDy|S3lF0yW@a$|Yl!eO zPPe?OVWEX!uf1M;K$~3%{g@X^GXA*r7h3zfE#1I(^Up0`i0{wq=+Nz&B$F#5NUX!T z)cNZ?Jmw#~ka^|6jT={J-xJa)t&7M|JGN#uHhX6g(gEI!{FUH=cSxpkN&EI&KeYdA zbJ4(67>nz_Mz29XhS}A(eZ9S1MR%X~aRsYGYA;NYc!zOv^A^4xwy+rY?Un(Yup1-h zKtzg>2dVv(a(b1}6dz%z9g2<LaN82!xjiboSJ;^sj3T%+Y5l+Z%r zjuR)bmU#~ABACQ~okQ~&!KKEnRjcC;UC7KoXf)=pOJRCE#k7#+hnX%4E;5*m_eA*A zC~#N%p3Q|M<``CAz(<5HR)By7_`4V(?c#Sh_j1c&Z~>KmO}vW6Nbp^QD)DZY#O`)B zNt4{bCQB?ZD4DU2H>I3wKhCBLB1KrR0uPqc$ z_iv*A;^l3)5Y4s;ZZ}gAwb{QaJ$9GqT6B;_z7^8i-K_ri45rX zIsd1h@ExcXk$hxVr%XN~ZU_$HmL{&7K0WcEWs+=0^Fjh@*L<=5n*T+{_V_QHu7tNp z*m{Y4wgU{1R`00YRrUkv%ey!d6E|ajMjUFcZQI_cnvR<|{vw6L^+s>0JfoLUA`j>V z8@eP?KHK8Tb-iM+ykfmIrd%pLqq|%JT=7Xp0TJlq#$|?p6K_)@OlQjtgU_Gx{GV(r zSEz1qvOyv!VHBB^asD)e!M$xPQ~ZR>Qn~$Mn+Sf*MunLkbc4dki5rY#xs=4UGiD?l z%FN6?TwkBFhV(|`7|@)^gx`|W)Z~}LgzujipnSp#q;+x!6?%|Ks<+qd(*F2G(ZKaM z8WXpm!=Ud&?c_W9*=XvwZEsSYK&tx?(9Z^3q~{fCnqNQ$rdaIh#;K_+EH9}q+^e~i z|JT(cny9}Vo;DnBU2gExw=~>rF^Yv1!!p=Bgc_QM%kSJ=a9zw6;!_*`vY(JF-K>b_ z$8i{Z&1X6WMX^{n`w*KU$Z^XP-J5AlTZyU(sxMZB9h9#B!e()8Z zizdg0KNv3T!>N|n$>vNg14UUw$$njK0oWBVO?sUc2Np8@9(vF zVK3`?gXS_A-r%CaHHEE-tqtEveI=yZ6jA(anvCAZ7X#Un$bZ?LF&LHHvcz{u!N`E- z?7v2nS;{6et2sqfwanT&|4dQUQf9KrJm5&VCDl9XXh}A+B^iZ@U!t5XNlD!|G#U5~ zpVPjkMR?QuU~W$9K^RRn$k!#R*k}pf>u?n9>?t-|A&$dDv`zMK2is&wq<`C9GT%Vk zOPEM|J6WsM!W3;5?Q9}Y zX}{*CdXn`bj~q_ql4DoXA$sJ}rToKmh^|Ry*52E+K(vy1tp=i<`!m|vN9jvs8fI`b z+z;)nI>=0YV{js%HMouc_{@d#170 z;$p{Rvueu8g*mp~u&oHm6N3Mtax83tqNGsP%KGJNitiEnNN)dKh0~Fl{upg|&;+w8 zX9%_MXks+KuW_0nSgvPFXbl1Q1{HHowTIa<(G41fDB#O}s9fBxA8B-iifQWRK9R8} z9Q&513?VkjUoSfL}z0 zUC>X&&`8|U(E z03;)bHP6e2r)Fo9iso8(#qd3+>UnOQIu`73W)D^IzQZBz`7s)XGjM@n>)zhZ&xoiM zz3(uUUll4EDv@@|20y!2)ujPFnNKXR+9@Us>ZT6!3|oDm%~t(3YHz~6(HuJD@Yh1` z5S0O-)BQ*LCI~j$Vm9{VF~g0p3#3O8AO?h=+r52w?rk77zWfH_MvS<(abFlLbEZ=H45 zHu$g0JM}M{fcDfT!a57Iq2oxiEtkqCz@o#VPuh#oi!)y$CY=lTl5T<58rPynt??rLlYemPo-QlUQiZozlYw zzPzF9R?|SCLy15nbsF>pW+aT#aU*gXW+wZpG za7Or5jJ;A;`Vdu<;iu;!sM8z#lOT&A~(@L0@&Kx%m&)9RA2xCsejX>n9*}OA0t8M1bpXo>5&= z2>vm_AjAgoqvh&{z;CLDkP4`P4D&W;@G+}mxh8lf2q>zHf3}CMhXXug-?hCQ@FN}O z6<###808iIjP@o!4%lV;j)x|#`_b4I;?`bBxG>i9YR`<=FsjPuxIrjyRnB;5{vjs1 z-gh%y9VACTIs0g!)#l>o-gs9Q{qxEz6AbaoYp6jFO|+~iVi;ZGl{|p5q7Rzc&|FCm zy`3IYOCLd)%qNT-9OU!osz#zJ_2>EA%LRkir0cWg1_5nP4~L*yb@^%`m4L#IpY_R3 zRu&jKIlbfDSXkT{yR_aW&TS*zt(^xrlJSI#({7XNJobXq=R!uu);W+b%?D{^ym^I4l{(yo{1qAStH?en5(| zo3$Ae#(IO(bSDn#*oHAEdv}U}IP5QR*adMI7BK`|F}FJ(AFNinhzsPBtR&)xQA;11 zqPy5mX=_sC11YY*uh?*FU@={H3PKlzL?Q9L+{d(Li?Kviad+@4HcuE@_ZS z^b9y=1rd~vU+&L_LSEjVjvkhPe_1%ldx)(?v;eJAd_>>yNlo<1iyxqQ`1EPsQH|QN z5#Kq%vq7`nzJ(gLK~wu>Dp$8gd_-wL?rieyy18zQ{%n{a9#&ghMoR_0a!-xw@{CKv zNV2Fg5Nrpnfbjq{Z|9f5l7NnGcX^&%auDS*LszubWYHbbP2+XVzBl6r;h)zN_I2}z zBQvjPx5+l2T)rYFJP3k3=+uKFYU~laurB?g>S{tQxJqAh}8(F#Q@OtaqQANf7 zWJH16Xa|Zu;S;|)Fk_%@DfOHD@VfMRJ`@KYaG&BtV#gV2;Pdq>b$HJ zUUt)q8x>9T65-iD(4kvV2Db^mXt+vBB_ag?j*CdL0uxy41*cDnA>ato}R*)pLYfsOm{N# z>{Uc3*CZ70s4Zau6%7qRjOossxRgoJQd+hA>Ny2|@SW5I?G%XHIsR1iHR_Os89iIB zVow_BTcWXNmkG3ZCQy7rh~Q9n;#f|*pyBj5x>xg>Lid=J~3Yb^+3B;_~r+L*$)+DkR0Xaxi5kbkXJL zL1aFJh1{i#;|unf3OOqsd|cr@_)O28Vr6Tk_d9<={Q^?Y;=?Rr`{YzWkLU}sM0TtT z$YnLjd~F2eUbS^~2M|!p*Xuk02iV)F#Fpn6h}9NDgT^G?(KdSxQS-%Ok(p*c09YTQcYyD@YbE8!PU5)~UOsW;}0 zs3*Fm)sx<}Hiq|#?9q!2%QHvpf9O)LPv?rW-lDGS=Bv3IFn9JjHC}4k(@;R!Cu2`0 z)<Ll3ccB=crgDE(k8_&-;L#aGkE27+xMGC8oS%@Uf&6Ej& zi`=2~{8Ehl6TLHl*hzid{hOT+gc>;%W~w*={^flTh$@e{g^Y{{KO_i5iojNu(oQj( zA_!y$U$ZY*fac*YrdL%)K4xJ}WxxSEgA=*~4FYc0s`2$WR)p!qA1cu(Mh;vbW8@F8 zAsgur;1Z>-J(0yc!5;yVMr|}W?qOYAg1k8~-QyMGi|^5`=9zOKG{j~=>2RR-+H&HC zX-LXOcWf>9w27ovi<(295wV?9I#?QG!*(p_YuBl;x_zw>6!VCUb5L^F!;fdf!l&y3 zWT--Y0dGe}mTL%%w50fan0}J0 z4l37<=F=rjr1oBMSmip4!fHeuS4xEMD7QUh90(?AF3V$&cw_NBlSNU$`d!OkA&?v= z;%;gsqD5UAjz}0pY>H&C>);yWL(4|Dk0FtR&)Od`m)#@d7!Vv-T1|$u9UYo~+OeA~ zaa!00Mk2JYVn|T+OeGEI=de^fD4P@3RZ4?U2K+KbeE>8GdND3xK@*ksc5J5~w12gK zbS_$|A>@y-UIT9`S!2HU}m1u8)QnUhIp3Q0&n>L&6-4E{{LZio$Z&9pwZI zeF6~U*`IHHS95WXGG`xL>_`xO0{|Y|dnP!jUTGy8|H`R^}iycP4mM@dZEZ^@Kw@a3wjegAvFFQ>Wt5eT;kPT+?_5 zeD(uYISDFk;`x6+kAuMX|Qfd+uYLU3m>M9S0+qsG}=8 zi5ILWW&Xs5N#8lePE#L%PYABk9H|Zo73+r{{Yqw85E*MifqyS8;Ww&Es;j$$mXM!5 z{FrRo;0SzI#Wnf3l09XNS#rEB2x3b6)WTm1+x)p&^`qj*cJ7^pzwkqmgvZAF?eUYk zEAEc&u?40{{LYn?C2~W1I;mrOA)!>Ak}&=iYeLMLs?07z^EF>H@-p_8UEjBj(6C@r z!IJi2e7Y^m0<+a8=-~yy>ru5Df~YAwHGGNwK_QCN-P=PQh=|WOIypqV-^}WWjOQ5W zg{2e~%?=;?WYl*GAxQ`6 zQk=BkRxZ=;%s{)dzyrBQEA9u8J|2&pX~~pA4HXkEZSR2 z>SEhjaZ>i3knw& zZYTi%BgHjQi6t1>I}Z^#gBVsk7e6-vF_^9hw!eMIcsw8*<7O!>2J&FQHI56fMnR42 z=tai2Pu9rXHb!^xhuL`r>GYyO}JcKj?a5hh<9;O zlTdFQwy{I&r_dRcOP;#7g|G3hKMl!&bt|3et6D4=JC&*9zCAvKji;ynQy8I1o)=d> zl3MRu4FXB5+`!f2V$G~JUiE`)$gsihA1P-DS3A~3&lPoi5AJq z{Z5lMHnGst-PnfPVvMYQQl*^~1DwGbQ9q#^v$kKp86e7t)3Uq^$!=1aSxAhdR|1m# z0gtlo&Bc2^K?})y+{1Py3|SftKU4rWU%p8DA?6x%KBUl>1Ge>-2PNaTKfC*sy#?dz zw;WN9;5Rro=g=#y1Ct`iw`_KRBdV`gc~>fJ7j)Aw<>CEz*8M8lu@%<0S@_h;tB(6XMx1U$yIgYbXu-bZO-4q(#BHZ8p|b zvZdaU{=^42JS&yUKr$dJ9=T@5PgT2KGy^}NqH3X4I&97Y`xL9fQ3v=8boP0K>a2m= zm0khWAJD{`pV+I(GlfnwGZB;d8aMT#lNZz-S&%}sg-o5vh!h-u9+Vxh0tM+IxsjYeF&cFDPeb)37;9NMYd^}ZeP41*1mbO3V z!h!g&^o3nA@9DXW%4cRO0qK14!SLLPDVnR%m+DqewDp7?IhqILPPYbY<+3iERTSPS zK5G~4&%9O`)Y#lvldnFV9|1)yEVef0C^NqDh)G7PMVxUD)_0%^o;}X)LXB>Fm0Ke) z9dO``*YSUfN|^~3Y#YkFai4TsPcR3(lAnDhGH!?nx%r+l@e^{A|Bwb2Yu@jAxZfJU zgsm{<{LNj+z%gE@g6dUm|NbikC8PZ$v~=Vg;*tE^w$koeL8-}vRU4^~rLk)Oq1_P4 z@$G!C{P)|a}OP*S<*6xboE7u%gD?{3*lPlp}5#F$VeUl_71 z%>I5mx8 zuYp|5y>ip@5FBt%G*oV?;4y>vZJYhg&e!w)tBvspMTbPSYRwMQV#|%&o^=6CG_o_hcg#@A>?Q6jG-qf%ikxz z)G=P*1&_O{V8FYMuagi!_QWxTVK{GDUf)C*05S7JxJIa({_0`XUEUX_SLTRPhG?zP z$*)Z`_pA^LnIF<-1v`*$cGG0d-?J@_SQv%-E4s-uI{gl|i3RPo*zU=~O!a$IYD1Dq zb4-4vBH@JQ!&}5(+FeA)uNW~PZgb%HZOND_&P^K0E<#b&38E2$gtZiP6zkMkV!sCJBH~g8~;GFij7H zn~GcYiEZQsEf9<6NS><=NvcRGKxzTJAPQU+$>q2UE&n`I>9~eGVdX}o8-J) zKnan!*&b9cpR}K!yXtL_;8ZB7iqK8IEXE56>YWOTe3%rMRgLg?4%TQWds`S+>rHaVA z=@NKDFj+wM<#?jug_r(Y$S@t6$-1CKJX)~NV=~u*n_n}b&Qjkb&Eb(>@M<#cdmQ>p zAg~8kO_BER&oAPqhFJx-oG#ucraf_&QZ^lrepvr(BFL289#E}C;LIBIF`xvzALJoE5DtYvS zN=(jSE;#rEwOA7HAsNA>DV&B=*M}~U5tE(sEoIJ;<5A7eHl!{p`a;)7inz^e=f}dA zW{Uf!*L7K*)!?mKGWav4Yks@GR?E-No^_neTK2mfIKMHyj)IINy zIpn=)JUMD{KHQv{InTK8P9aViJdVK09E=m%S5$HMWx_eNu3 z$~$x^5MaK9tEfb?)&}g>bgiH^>Y;UqM_q$9p%N3Fy`a;`jan6<;Br7Z&=FST0-NQ>H0};_@ z;i<8b2BGGEz3$Az_d^6WsFo6pX(exBg{{NixMtirQ*2YNFLrlnDu*k%jlE-r4N=$2 zTxt&)dOyz^SG3O8&Lz)gS7xnV+G#UKmZu`O24b^GaU7A!uL@Qo?GB_9SPxSTD28XH z0@Q2~)%EKVq~XP$q@hq;!<6i`uwq#|y+g%CgF{!66clSsl|{rRYFSNz!>+-4El%)b zAecbR!ZDVrb}*1)DNO$A(6aP0LFIS5m#_u?F1(-`jBHGYx+m**m;5QNWQN@Kq)H-; z)oJYM5WyN?WSpcsu}9yR$m+u+NvS7jNvR~L!ctof8f_}w5<$Nka10Sy#Y9!Ja(EM;d1TeuL8%8=(>?U z4?oxe6pKO2_WynL&hk&)b50`Wc;)KEN!|BOB8`59?hdLwaFI+deO22OIO~`1e|*cv zcLRV01_%IP|LW;j4_t4y-uS-@i>xDMR#8)Q!sM+wExF}fbtXgI^1_^_st2ZVj z|E^_4Wz})jvfwgivti_EoqN>++TpGod-8`T+3YbZXC~5vqxSl#tF7f>dV2!=)ei4w z!K;SuS*5$r^-ZGZ8t$vu_ZANq8lQBZ2tknu>OPNrJf9OYkAt&-EX0txM4vXr0H@i2 zE@l_GW|tLr?^lJ23k+C*7`MOiI+N%3k) zq>EXch*?&NSqkc(bY+vmMw42ovnHCe&da0r&6A8TiU2$}KsX?P06^u7`hV>-CGa1U z`4IgPMIHK>(bD3&AD^(ap(AKXDbcd*$5q3+Oy8`jNUp;t`p1CP(R z?JLvIK7R~+B5{IDgt$gIRdrEqR6Irlzv`&z8r8^Aly)Ncy(I4h+@IxNX;yKizaCQs z98Ga4%j242nHF4E1>VkSF)Qiq>S||TTgBi{Rk}-D@8Ub>a4`SMNK<+hHAyF|MXHii zn%9>H*EQ8HEQPGAWSZKV2UXX=HcZ4W|LHVjKF{i|i+%j{#~m6w@KBVyO6O@odrr`u zuJi=9J;UiNg}dM5oi2UH*1N3qs09d}> zIamI#?f+wW*2GB=p@6r(VSP_K`c}+N2wspMl(JXKLdq)1%Jz!n^Q!lHL zi^lcJn2N^piuOv~GPrX%VLyOirA8pXXIQcc?rrn7VH-KoPw|Cpx%Xj*%8Ie z^e6tX+Q6vri{P%5frNO+zR0GlL9r*JeVFORvbk%|3!Hbv`Rx=^+j>x|bUDyMYi;^4i+ zr}`(uoHS?57&3#hB>t~iNLrg|`kH=oI`DB;n>B8x9BXG2YZr}0<$6hT;FXEkYPgI4 zmj26{(sPNoK~INyjE-UI`jNAVHqXj7j2+S@cFSnBea9A{>-d)4%qAM%G&paL+&~|>~4AHModqeyI0H&MKxD{RhFYo-i z)t+oWED1;$pD~iVptX$LBC@2Q>y!d4vfi*=om@4t+OUV6)+Ri3zxtJ;a7-A{n7nbE zyCJBG5NnjRArzaCY?Q;HUYpK!qVT?|lk#S~^uGGD)UbkBl1k4+kwXPRMR!S2Mg@FH z3q}cP3A;(#T9Iqfz*%-nS#HtuNlI+tPt$zPblJn{etSSoIo8>7d*pRx=-Hh|h;EtM zS+qwgZmm%7LL`lDR<`1_K%DV1hbqr2&ss$WCi+M9z?<8=l^- z*r$jBIV}khaW11gETwpH8RJrZ$zn|V0syAy!Cx?%B9(vX&$9}gVk>8WT}5(_nS~DA zveScrW{29^X%luTzelJI_~lT5JEQbgTX*=v9USja$t(TlR>@~%M@ATFf|zxjowRz) z^ga`@q@dgcGn2KX^2`V_ zV^;rPsBdu9mb1-kUEti(da`xN`FQBP27fJo)BAS$uKD5#Lp6ZVlA|p`w}UYSc=sjJ zOQsP$_TL*^)oHNfYh&U<%mlmkzu^D5<;R#seFOsTL$1TY20Q6;ARa=Ht4&l>+S)CgkD`#7=d@T)CYKSF*D8a7;3!CUse*K=4=bxdy8^>EXS zbVA#XecY{iQS}V&M4A&8&KCHU5wC~)8%Cv(FGnQqmq!sYjato*TQn47lZ%akI<#;T z-Hg6aW{j7$R^(xp!CLrb6swlWShTd~)l{l+w#$|~TGUXThqSlkRG^(bdBk?->77C# z?HIExCNV8ZdoGMbF+NP1Iu36#+)V0a&WAJyS(|gM&AEhcS=O$JJtu#iCA4nBwj$Ql zT%5mm{I$vEI-c%0x%T~DjR)xi27spr0I2(Q#+41#|9OO!H4YaU2#gt|x=)`T%L+`a zSLPPcD-glJAq@*r9k@9Zc+a>M*~Sli59Sq8L~u@lQyJo~GRBfH&a53XD2-s|oPZN> z*T|f`Viw>@FM!(cl)WA|1l)+@okJ&@-Z0%A8Db(a$(p$Rz68m9+9UD7m|{bC7XHhq z7G`isfxEc|cX zyAtkTIk`-@ZbaMJv4;<@9^Hw#2eEH(2y(`#BEbkx!eR`<(rA@KKK8QQh_*vycRIuI zVwt}aKUv%Rz{s&gf>CgMyegbH%VSb zz3=9{6?3;zAD36|tiAa72IU^8K52c2cOLKr5964P;Yb2uoCP~(d7_{j2iEKOw4vep zeFJs@0U*!;0M!3C+5UDU{$I{relFOigGV3+(-5$iM_2>{`v>OTt4XnkFM!5?jvaH_-*S)F4VTvsPr*0|#6)CB-kCUF>`ESw8FfnNVh+#= zfk!ZRP7WKXw7<jxuomNoYS8+59<`rBWJtx=1dPYwAjF1 z9YZx#V>#o=v~bO;IpfN-bj|uXH%abD>P^+>7q1ET3jQrO zh*B;htDvonq|6L|CBny`I*Cv@C~GgMjW#o=hM_W?Qf@4(A*h#nMs5_>3yqCg^lroyYDx}?bOz9jmjTDU0PBxtQRvZ(T_F1Co^43w>VvS8wjW9=lh zB?Py!@Tk}&g14OdDDHDW#jr8y<2bL)>N@qm zN21Z*+9GoSwMB)d9>$7mV5{Qy2)6<4lILUi+krvHA$1AG1qH`$y2*iOlb&se z#sO=S*L8TyX=Y39x7fVL@Z!}QUb&xVd&>Ue=i8ons{E4m-PC)E{ThKM7=-#OSR+rU z48_b0eI>L*&p8P_F|cgMt_}S%uyLFFTN6M7g8>1s|0mR^4tf3?@>A`ueY7c3dkt-b zH3^ox>uu9Ed002c?MpVLT-P=2BiDr=H-&G+yoq$X6K|Z|$!t3-vCm9j4n0eF&uCxX zKg&NM;&A};0=VRWDtUna0Kmbv4Ctl(+UkIs`vKXZT6Q_S{Q09|B3|Evs^Ajc(x%ea^FQ-~KMLl%%V#V^d+vhyk*!?qXjVg~Ox zU``GVwbQZew5~_L+?Z!}i#x+#9x%GcW?q@V#hE3jF^FrE63*v^JDrjR7UiJ0y!lcyIl7M1 zoaEeho#Z^s99B@AC$W{Ll`!YbLk2!jsDpYtcHbdFvIAej%vNkWe16a@kLtWA6^j>o>uNu1Ip0KyDQ|E@1+a2sYy^he(P#eG#I?e&Bkj2{M)y}Zw z04-A~dy&_l;{aydl?(kSKg~rM!G5Kk8}Y6g#bNSv=!}|Mdi*SKxqQ{b{u__!*MWhi z0Gej;p05drCq|MDq>|e({;}=l=OXg}I4|8je)psF?RBd<#mZA3-rt`wW`BhKmR9jj zcT9_Ys?dcj#5|EW;l#p&ETm{*;BVcoQ48b>K2F>MFW-%@DVw+61&=UJoGtWI9WfqY zm>8jCcVte_kc>~}97>L`H$}d6&0Twn{wzeJ>+9g0GDizEp(M6L9pMgh&Y3*$e4QY> zH{p4ApfSuUg)~OH?6e;$Q2CpcEzX3>`50UwS78zi2`YM$c0oBx<|b9}AY5~v*mX`8 zdbL1Z3u^nK_h(wWX1KHg6EvC3(3mCW?&6;A@MfwO%EQDzzM|Jq4T8?D_7)f>c4#k8 z?ErIgx^(RMK>pEoDmen58Sc~@92by>V?!J)v|B~>vPg(;?5gbgn)ac-VrNL-MxJ(g zT5=F~69ex)tZ=+zv-fj>3X*&TzKsPvtD~p|iJeJPoiN`kXL1;5Zh9g3a~oo)B^2D8 zVO2o~f{|fR6BN5473UpwDHM#VHE_hil-Fc*I&uOyw94cNR>4Xu;AxVKH`yiEx{}F`rL(Yq~}XHR|i!M#N(T1 zE5Fpy{U1{xRY(MA>bBj>1tIv#pOHd|JA0TH&2HIx^vp=))?70$+F+kjt(a(of8o39ETvJDtUbj?CSo)CwHW%7Aa*ys5?|-@pp?gw(|KP zTI~IHl=|GHd63L~F{&jc)>rP7D6`e*j}A{J$Yn@sF+Z0$W_bV)Gw-7L&DU#L7Euk? z;2E9rA1Gall(3mfDzlfbjqeQWpyt}{-qluJwZJr}Q?Il6zGd&m6{oIdQ>0Zkz+GL^ z!?U{fbKVJ(DENg(P5?RX$uGejGCQ2et}|7>GWPA@Wy%Axx`Uu|kwhtCjK$7l_CwsU z;GcpN(+g40@@=~EQlK@q?eCXhs&p{H!rpeMB;@$ODOqKsr%_EGc6zvG>qGgV!`jog z```N`utVMn<75(Ss7BEXrq?Ccn=%V&9$92it-cj#=pV>AM5XRA=$Ymb3uG(ouxqY!|gwc4ROhOftzDJAiuT#qW#qc1Pzw(}33?{s#CvWv{E*zRbPn3wVnZOp4n_%;mc3P)K|`0f4M= z1EnfYhzUgPrST7~SqPeC!J(t>5m2|)57Ne5TCLY!N_pk-zaPjvW9m;&?;$bA2gq-k zJNu@r@&-^OxQthg>NZefvtO7VECs>^cTVa1C^sootFq%1j;S))WgK0XA%R|l^4pIj zxN`J<(~R}~gxA(vLX`s83OQHq@@hR;E1x7dGB#A!Lmif5y^=en+AcF%PerE~Z*{Yo z<3`NAivLA5^Kguj@se_``pF+3Kb_BhNqi{}e4rZ&d6O=7=yWbsM!D95t2VJLE@Pfo z7}LlR#ijK53l9hN-C{O5m5ZqlqS% z=a5(-=U$j~-o3k`G0 zp>%4=DzEPFYP@X4B+>sQ@M3nYhKZ#_K0V54v7X?7w82~Nf@rwc<9K>$Rp5%m9PtgR)}k}8j@>;2_)pB{Yz^rnf`rv8O2~9i-?@+GMb;rVy=NrP3sTV^X9J0xK%edcexMWA zH9wZUumETE*Mai>t5jE)iI7@q=3)T{3UkX=#uMg`qatL+ zSE_t1fH{$GtkQ+RQ8+e>U9<}We#bCl67hO#<1rn``sHuOW-l@6uH~OcG9vG!Z$~(= z-l5#r&Z884eI}`YC@as&7RLjD{<%P9(EJ_Sm&IzZQ@$6j8H0xU4gf}(H9GQ&RVg~& z&&CSv@=w^;`Ndqls-T;)x!1bMY%ipB&Qax3UarC~j+TR1Csu{-swm!u?#Tz`s(n-U z`gfCjk<9Er4{~T7k3Wk)FU$g6uNvBf7h!~AzZ0YiItE}Q-&LPpfpWaYpvuVz)lnQ8 zJ@t>gIoBSD%Zt@ux6QLanO3E>8;(O>PvYqz#J^?Dv4Tmdm}eYAx^n?O+DPJ>u_y!d zxJo?1uexs}VWyyXL#cUXOc5Nzo*#F=taq1JPU3B(Z3e@^gVLi0Y zNV>l?VyKQ)#X5eXaKtkn3LAnsNS-54*Qzsh=1cO9asy}SL1qA=^GaKG)UC~<+6{Wm zp27#VDBF=?9d?7tYE{-McxyN40iN5Ad^gaga6T3%;B~w;v^U)3B`JLS;nX8_n}MZp zx4384YNhVoI7%*68+U-;T@!=W4K;ljvgR4OQyiI$E!nJw#&%BQoY~=d-h(*fPME^1 zyB9=*j?CAFvzIWn5(?ZM)MBiK!oI}qG!V_?^e>>6{{b(@3lv4LNAHuI z_-Zt%!WONXi{j;XG?s_8W59xI^$#Gz1n|a-+$qZg9kk}~Vt2iGIB9DXjfu*{(H~&Q zS!{l)i;MFdsHbWE_=s(2U==IRhKa)1zv`v}`V!bFr<-Htlb~SqfIv4N=o?+o(Tc^T zh-o}7RDl}uOXlIV`U@I`0?hPs&C@|J@|fst_Q;WDD*$IzwAm|9Q^CRFfi2>Co7PV` z^QgusqK~KQuC3|zG$?Zh-pI;$QkKGEd)YeJraToAp0ilLl{PxcW#k6Jxyhldym$@o zTvvPm5Pjw|Yc1gl#(4E<(4UcXP+|*EG zcXSs*@mRBb{pj@AuG1t(Ol!SdOO}|15DVzhDb>$iRQ)alI(?qL|M`qwXCw$hB5VZ2 zLbJpMs57-9SZAO9+fN*1I`9?g?Y`N}D_X^V0{#x>UEF+UFL}rCkYCYZ_zJm-aTDr;Rc|_d7lD-bLrW=Lj;Qc+L}pXTH}fKSW*s@wzE4Cy}o*+-${^AI*KvD)fw#@ zl$q;YLkplub-8lI>lv zFAVQN)_SrQz5+Im$VNZ3IB6bo*LBQe#uFqY}xFM>&Y9GF;*_5c; z1UP2kVAeNo>3c5!hdh>#>oNDp-ZQ>i2UiKlqk{X|@${orLsD~ctHab(#wIf`R&n8^ zP^+A^qC>^%U<&;NFPeJz1@_C+2h%JF6EAt6{3&^mlafT$@*Z=h|J&38)!0DMMF*Pv zLKoV-{tbPayTT{@P&qncw#B>?7*a0R*8#UORTz0fSKdoXE@1ic(Cx8%>T%gQpNg5q zoEgw^7X);&<1eRcBBTOG&1C6a-iXv5YOP-m{t?oKUDrwCS~17a@iv!M23{`kinc`p z)p5pIzgHZ?Uj8ZD^Db7OCQKw_)-i6)S8a92%NCi!@G#ajU=sF%_x-{}B9B)@KAFql9^7QxDKn^lW-K#eNCN6oXVzq*h zGe|kvOC#=^38n9Iiia_Jux!M==Tz73wxntM>_ z%I(jKJ!dgixPUC9H4~0DH1{+Uurn!qk@qqiwY~R!Te+XdJJ38D7wo(mkYKz_ctrGZ za*)gtCJiOyLo2~?WYOt!&e`pYe!}6`4AUqv6-E9^P(Y~+3COS?x7~;whxyJ-ZtJ0c z$=mvz$QsKpx#?9zR;-#EbNK<=+6jV=paJ3p7Z4W)5b1(b#*&Ti7xst_{tpLj>naiR#=g!k4@=|rWe~=9hVJ?p#9F;~Y zR)}xME)s8EgBtVauFwzb`y~wiNd@5W)q~*h#xFcwht4en+ta-Sa8dBEyQ=CMp#X8Q zA?3w7&|X@Vr=jDaJ;H*@^Uro~W<`8il`hcbu%laMd+v1-V;WWSvaf=@HuVzEqs48HA817PlfS;k90%r@ zk`fYK=ThL6y$p@Tqd>ch?p;Sdo1tH5CP@%u4+)s1#2x(rBX_#7@~ZwxfWMJOh-fP# zGjmVGGWE^I6yc{l(LY{0lw0L!B9-Oge_n!Wq*^^lI;@u1zF#{*%Ma?9^+n9erz56YqKkIqlsWfuD_P3_wQF>SN zH7|kzrQ8t>#ET$385>-+S*Ok-FK zj%UA1+f(j^tFCRw$T|W_o-CCUA1eZxrHkke{(uVzsqPkA*i$Ml6`Zpr2BY<|=GcU@ zbe_BqryK%ttbdKLqg=!@Flg=1l}H8@vO!Od_?>}Rz{C5oeCQ*tjDKuCoE*ZCP4+B+ zyI2*&Y9X-kjY6LC`Ib&1H-}U2YSYSs1w1tO?s7w_?)DTulwvc?&Y-t|QpsHjfnjWb zj5baKlZ?>NvG#O3P^sKk2!(w__%iVoXPB9z!;s9?QtTooe<#+m3?BcG2lG4Qf*Aon z`Z_^fs1rQ+*^7yzvb2FDk`Knq zXe!-GUtF^72z`SL_MD$a%LlmhN=hi;43wBBxB0_K$u~I z)^j`4V$K*oMvqZ44-9uj%We+L&S!?4$*^=lvKKPR6l!2l5*uI-7p$zE&?kCr3~IqW z@j)e}mBEb{xQQ4dL>Ij7k;SPhHr%wG@qbv_Es5$KSrVZ|C;p?KihlFZq1JqIr+8S) zSK_ePyPg_}xyoVk>0jg!vhKC`cN1=tC(ol+JKb;%7LC~>g<0vLIC*AC;;ehJd#*@V zaAd6DL2AAm>O6O$Ru!x>*-NmMF?WmdSn|`N&zo`pCLUS=FTOPdOoe?D#&Y03>3UDi zr&D(@|Ez2Fo+S5RiotB9_7AUSs$XA%_qafY1S=v2RmfmiX<@8HoeEP%zRXZdSv~RJ z+HORIkiu6);mvwp>)-Z?Ph2#E;Ez+4Hjz5*nYm%=oH*`m%V^s}<4vY)t7zUk{Drxz z*tQ3>m+m_a1hV*p12_?z9M@Cm$pju&nmM?Wr2O7v_GxHriaHPW z5OvkSb5AFPn=B_cui;WM)Zm*#M!HL4jIJajN!yhuNFGjD$^(#JWvF9$V8v7=aMc=; z1XXX2JD@4c2V;AxS=@6eyLNjPRZz#AJMIvKlvU(7205sj+V{>uFoxH}dxRzn!R@#> zv{dh#$<9k5j$Q1CV(2A0NEN?_R0ZRuL#D1a1%LGQQnq%G9V-#4-?aeTEY}w*j8e3rzk?r_O z`n3MHzm~LBx)YR$bglxbE|gI5HDm-Y`?R5d*`QQMy7_2gTsO~W9m`=UK%L0IfP2%4 zm-PUwbXkk#@KSk~xs7Kya77BWRMO-F4S~iit5~u{yu^hiZBbA1n$mvO`7?xAGHDBS zx$PX^tjaGgc~~iBCz+Befglv%D2|=b2BJuqiS4Gn-u-9T6&ZJ;`p@vYdh&{6k@N5 z=bps$vRb_2X3D}yb;oD9ISF{O??7S__+$2%%7(6@f|gM~mv8Gt)6V&rec!r~f0Hr- z4EyEBjq7|W_NHE(Ecvza7_MJj+R0K>MnrVvc*Box2WMm3)Cetk>1CEb+ zF=JE$r~H)$S|U$mf!#g=W5!TJ1uXLT_yapmPmHpW)Gt$Y(932Up!|pIZAP@g7aKo6G22WtX)XL-_D0UVr5gLywa zbSR|S{$vgWR?T^HTu0WZqU7UId~+9h(nXO5N{5cpKnbU3dNw{&p-1MV!slmqXGz00 z*JaoyNW)?xO_C-HFpk?po+xa)L`fi{n#+hubSp4fKuRL3`APz?4l=+Ra%?}Lb0tPyMHpy2StzDXk|#_-AHfde^-He51o?RL_BYYJR4V{{LSR-x!6=X{*Z z=DJJ-?Ck;^m)+2hM$rl=<;4QmYG~yjPGGR7+z>OLtma%QTv-^wqn~%PVJzoDQ@i#&6}|n zRf##fxsAcw7@)>_W^nE@77O|Y!z+D+{rzAo$4E7X2pPvBtn!w?scUfPP7~<9^|5AP zu|#MBBd8{c2N5z7{)1u^)+FN}t#LfZpUT<#;$`-%Q6m#(H?rYKPio(GL}=%`Be6ZU zzkB#*Y1<>z-Uc|0ytMFsZuOa!>@$)5TrE?^am&hfW#{O#1usj*-=1!mh1yXHfk%dh zk2px(2K|a)vUn#xKJ*=G@QKiTPko`c;1n|FJ<^r*kb)=1X*cw~n`{t>Y zTQu^B+x*+1+%4#V9=Wr}jE7{QoA-I!^8d_iR~EOKI|xIb6BF=$okz2>hd!+ zIKT99oqQ5Y@?&~NDBZtZ3nYd5Ij6aXc5X|V%O8^sDl z3{-m4Xu+UQM&v*>I69ES;NoMkFXQ~SD?3@&ub7t3c#}6ejTNklhV43i+L4Nlv9V)X z|Nddqsj&?gdD1{q1_uVBG8hN)ALYb@2c(>!fi|GJhPOuM@O?QsCHvM|in(_q-XXIM zfA*v}^6bOrm8VfpJSVSn6l;UAmN14W9BHgIFlZ4rfhiTYE*Fgq&morZz1dkMd(niZ zl1YgP;giTDVR-qLq^3>KvoFT+AJ5EZPs#Hv#o3_qfQ0Vd24vr~;;s6qb-GQ0M5m52 zR(yF!6e!AXV?8T{80!pw!9?IAiJsSX=qgk*^9@AnI)vs9g&>QeLj?;!r$hdGZE#vsH0|R^Z8b5HT zElrQmq8ceZ-W%98&`e%eLhjtTT!vl`23_s3-U=9~-_VM3&s5yX?H3sl*FQKY?sT!< zP*Cj$VG=BT=)l@m(4^9komKiP6GOw&$%zS}Q>dX$f;a=nyI<2LbW!k7sAs6Z4F*{v zwjTXoR)b-Yvt%%?DV{WhJV$VpAI}l)dSfi6vQJb%0 z9qQ<#V=d5Z$L1gG$n*29qz>yS;Cf{ZK>=N;!w25L`Mdev%}-N`PO_Q4(vDr!p(|qN z14EuwW5oR)t<>;2q_vH;ruWO-w>x_SV|p>EG0sr&j%$(qNr0$4E|#~X`XLlJZ$|BMC4jl>i4V4MZ^fD*BEA7ZVZ;@3dxTTB$lOS zXEWCV?MB|ITNSwjqPoNl2nvopb=|7htB=sK1idVQ;RKRvuC+XrJQJLrdaCx4#uVv` zI671#9Mi>^a$TXG7^1EFE9Hv*p@1l3%?*Xr=NhTM#XNar#@dloTW#Kpyj@ss+^saD zwczCg{ZAnS#q5kn>n5yo{?rpwMpLX4jkdWvb6kO90{+G~*_;buY2ZTvEvVzWGOCRK zX7ss~@mOdfvlOaLjayRCEbFc~Y{2CgGM<=DHbHh$c__A0!+Y}i5^<^p%PxnIk>W_D zrmbCwA-`xN)+s#2Y1v!KuQr&sON!7<)a)Lr{ME1-GMPog<`n#{bx$0cwqorICtsRQ z2I$EG>&qJ^CAMC1PLf zFTTG2i7BnamA4-;ameYvvN^rgnOe_t%{iuv++(+o^QunlD+Hz0CNkYx$@F2zAJh&) z3+IN{AzM4@G)sP&#bfRKjK`*v&9SzfzbvPzT*tkGb z`$#2^cJ0VC$+|ZltL-YwPh(9@1X*d}LYyRE26ZEk5bKGg+!OoDHvMH<-*#V6;lRR^ z`zqGo-Pmq_X#S8BXZ@&}V+KZoo+FdH`=)h%fF9;`5-gm>VBz~JiFQNO%=40 zM|Lw}Jay2YqA&VcGApcLE|2Pj9mPKv%;k}t)Q&h$KKd8tL{)3lrw$UOEuLi2HB#?nvYB_IbB2Qg? zreHzYd?USebICn#pJh$R+=bfC-#$$&Ye|}%;k)>@`aF`^E=KMhFGrFeX|a*~%9q{u z_Q3`>--(Os%<6y**LhMB)$C)uEzVINUa%w5uOg`o*Mzg&=tk9zUr7JC?7P?6BikwwqL=&4?gPdSyShqRFvt>%dem9>QL9ey-S<;chMgZM-xXy1fP zJpJK$lIr zM~^Vl`BOUA>ZYvX`PKRs4PI+Q2NG{y;_iV@#Z3mnrEbBqWK{c}HvO=teneo+t328R zaX>e$MKx{UT&RDqZNVBTH;0$2cj=ll*x|@M zaqW8Ci7;Cq&);^xJ8t~ce~lhJZO4K1)a}37*ti?1M33pf%g14VjJtWmd^mEX+9}$- zHt1q?sjTKh#DIP*yU!H6WOuDj4ie5yQe>A($-{HCs9|W-(wG|bph#AA>QB|EJ$#`_+55CTz3iEV+iYu^r?}jNrlsobq%souj>LT z1jTee$aGjYL*oa^kud{->e$S31v4Cbc?ie!@K zBue5W&&=$z#madrz1LNw6dpBmcw9Srsv}k;ydP?X(um^j7CeYUvOv|B$Ref%xSj_jBC&iQZrw5lICHu$h>^ zE7s)OG;x&x{k%SrHQ3tZv5X@8aV_TO8#bd6&-&h2oxv@QX@}Kize8=Y8iIMdu~NLN zQr-6CO$|m`4}tXC=9pyvIjL9bYc*78S&^O|NsCCqccYADH@LAlLVCU=;HVH9?vmRo zn`kcVYC+F_E85Ey_i;FZ(i3oEFpZUMH_!`y&yHw{eqdi5LLhG zl%Q(<@SDI1m^Z{CTd_==O|=>?$&dumhX7=j`>(vU^FD-ynIJ>_d7Tl#GjZgE*7s^U25}v{QhiU{+ZDN z>-IwP++BHoAOpNvJK_5R{arwh7BWE=HEBt~E@9L_pCv$Z^tEtGpKr>3;4tp9@!tY) z6pkjAGowRkBu(Y!*UVnEwuA$SatFCPU^I?%Yd+Xgyt<0VaiQ|+mdJ8>P6fz*>_;Q2 z{uJC_KKaHyJHAOH$j`1kG4tm%EqQ?v4RG1S=ORIjp0W&2LCsj{nkc5L~yLu{&` zDhk)fGMvU@TaV%-+VmB+#jliN9HT{0L%wPlZba%q3f%#HvWUL)5qg|Ab1q&rNYWzU zmwF%*cc3KhsaiC(Y=|v;8*k$Z85kx^0}SFJCuM}uTx8pCO$O&D`g@Ez)=K&Fw0S?X z#z8B(&ui*Uxy%|tzo_qa1Ne(2fRAb6^bZfU3C-W^#8x)>`}amoff?b3!sTW(ed{j2 ztS_wO@*ClXRW6*lOPvM6=zvd@%k+G#C3J62He(yy*_)Xy7oRuhxz;e$=#+@rRNZPk zVb6?rEm&U|kE=!q8~*6_SZWgR%46v{{UW3pCQJJSG(pw1p!4iGsplkuxC(#NXej5P z2;f!bzBrWs)XIGEoN8s#P?mnae|nHYd(<~<=(RPOkWK@{?VOxqp620_l5`=-;afSl`xT4`4H+ukB5B0f_hAjm1IqUC91?kvajQ0i`ZFVi( zXT5w$wX$h24dNyDMy@4yHg|0Jg{-e<|EA5*v!AQFo@bu0C3~7{%g?U%#9>%7?qZ-gKIN)g;}&Dd|4cMfX#g?gRNMFx*ID zx(9B$cRY7xHL3E*#(U>5PpwAYIoy0W@yG5Sg$-sBy{F==k}LvI`0 z{^IUe<=?aPo4RtcbjDowAm!Ro^C6>y9dD^D8}EKy@ze55zbVTnB~MEBUiT#BTAJ~> z0NSeTMoY@$qvox|b)KNE9I!NeCRO+5kX7nR_ML!6SNiOD76TlQtvQv%z z9EY+-KeS^E50s2Ud75HuK(*S+71UN$TLsk{(3#XOCkFdrs~4GoKS+YB(U&J$jlP)R zMk=0@XQo6daFav`l*C32QAxyDw4;*s&r4FW$j+?bGyGBuVVelZ+L1!%@)|RocUv%Z zdP@t24dHvzhH3s#2JF0VMu;R(TfR*-NF8cD7+lay%%+AZA#q&Pc7|+h9Lz; za18e7rBG}PwV`@%TaUp*fn^%tZv2m1Zj@+b!hxKx&w*2g}3=Nuu-+pETl zf3Xr0M4r@Olr`P{GR@)kxUgV7v?$r0eB#~RP%%wcyD3t%bYjucREm~yQg33dGHp*b zYn5Zqrl%IHm9k_e%aS)z?wm5G(JA9^0hw0Ju7A(S6Rlep#j^>ObI%I+2L6#pf1oE` zDlnQFy$e+A{&39(6gDtVulz-Ormw^qMoFyxS$ksz6XZYaReW=58AFKMF7E7}n{aEo zblFk%#oW1L_Hi+(^z)l8o7Q*R*S!$P|FvjA|FTI5;D#V$|7#{Nc<6SKDCV6u&M|mP z^EJ4WmxO^#{})%OGra3$hHjW#-PBY7z9W2#7hw#j*zv1Bf4gBW=Uf_{qHd4E;APyH zdP1^5y{ibP2{eVZs=8ScIbRBztV(v)>#8IsxS(tN&eJtCNpfhCjNb(&VFR#7TVpO@ z2fnvJ7A(kW@j1?gAY`}UObRQF0bBzxb)KG{UYcn?PyQHl5Fzc3;z_=}NA69M`35=;`%Y|_J9d<*=I)3LwJ1GbJ z-`~Nb(s~0mC|>s1+b1jI=E+cm1oZ#FRsIWE%9fXT`&iRmI+7d~(4@ZGo%+g7X8^k# zFB|0w=;fl1#Jc}Ca-h1`dTY|;#NBaz`0Zs3ayysfc+sc3H4(JX84Ca0ERfpIvF>Ep zWfQ)6{?sEAXwqY>v7REVxCN}VV6nEBb)7rz9;MM2_)FCkVKma)D|8#24Rn*% z%HQ+s~|p|MH4j&-)ws{7S(f0u`>^BX~vjwtB+YQ($Hdt_5Lp8D=w zo|zueZ2|a6k+ZI#5l-!#aYlhb!>6$4+@6ziQdC4`y4*ec1_c!XuEKZN@>uXf$@grG zANDrxVzPd>w*q8h=s)(w-jXZ(@9_#=Q7o_Eb)^yw<}kV>&73!K*&pp>Aifdz%Afwj z_Tp?rrZg~PdcFh>_n{A`T0T!cbkL3mRnYXV)Wzs3ExQDZUWOS)nWC=({8Sk4Vmheg zVJDTmhguKC-%88Ava{Tj8kHFfbuqqZQZd%Ko=}RmlDMiG0*8XudRE6zo3o}`7G^X& zt)lmXueYOz4e+iobUV8UgGN?-tDA*cn-yzzGXT?dVAiH>c%D*}_u6T~p2FV9R#r$s z+ktPT{CkJ4grocdY6L=wTG3N!Ry(Ub*WsIP$mt82=7eDit^4YtB3N z@Muf)k98xy6!bH+jkBgF;YH!vXj%P?OJ=_Yb^B)S=XLA~vGsy!YtN&JSEu}*>DT!8 zA+Ug&(VHv}KN_?v)(^MlVrvX^5&w>C+9O?+*eKkoeA1CD11NlvH!wzdG2qq|MCUAxS0oj<=loVHUT^z`1=OP_=mScI}d2(ZT*49 z&_uS8-^g;dW-)zkd%kIV!s$M@oSOy6t+P?alN*ZBABR?c%mw)ZC(*(Z%%I;DaPb=- z-oGP_a|&hG!P_XzT%5ss6yoF_g*-0a{Hpk$uk#NUn*Zl!8k0BnC97c{J}WTiM8>O~ z-r-2Szz+Y7V|rQHn&pkZi&gTngYV0`1T;|feSQ}i?)Skb9FdhphLh^;47zdGe7N&S zH841Y>QA$Rl;JJV8CF%#p-*MGjvU5!*)LY?M{g*;o;gPQZtNj`rnoo{_8{YGzv6HK zQeHF-qz-c=USwu@aY4!pWg%$;f_28G)rNNR{vY4jb<4CX>g;O(@-^D$7Ez$~?86}R z1coKccc0DLUSQf0cRG;)CxP)cW32|mv}yuXkV zMD)o0XC?iBb~Yo8eSIb*RhF{odd>yz{QX(({QbYNTJRgI1=e23;8Wk_{Z{l{=`DSS zN`E(4r^VS#bf6xLk$I#-%fbJ#i? zv66S@u-0%AHoizH&Zoab)Z9i^<0(*Fw*xGQ-n)-Ny0)2Vk-=`M^lnmWEHjo%u1#VL zEiN<8XfC_pWHYSgwhJnw1)wnRWF>XFN}9A78vqM(mq51x22@Op{Y!j^mUY?G_*J{zp6sG?EOzlwz=$mR}#uG zx(>W@e0f(_sqpZlzPz-%Kjv?6WngOSh`EWOG6553$8nwkcUC%gkt-)%k~33oF>Y59 za|=7m=nTCb(z=G+itN%{wzxTwB=&S*yrY8!)J`$2b&jE0nJmulJCyI%>7WO5&?DFk z?Pi)~kG3o(3m2`$`uaJ!d1uQl-a=HuTZri2`ag;+sNjN9Sy1UJXp=P)>y(*O%cN7r z>1nF{)5f3?-oVncRC*boW*KkOP2DaZ_18mmf0czUeNW%x_o}`bwDr$YicXo2y8T-Q zt&D!ZEl;gI=#_H&FmF;BXUDhHmBW|Y-vuq}So+1w$HpZl4jtE{=g{;lD?R}&`)qpo z&9mbY;*-X8?v#|CW7XdVJS?*PT++~aRY)NSa?LXOmE+idkuKBEF{!<2hmfbgbl=yb zaBRVWedlSP0GC>Sessa1{ml3_cTcw$GBVK+7epD`^s55c*1_P)FEyhDdh0Eu9B!e2 zv|NX<<@)>#*2QQu_OARv0|pH^gU5OO>rmdfCh;N+BaIwHQ z`oL>zMDptk%&*^;{5rLROG{PA5=A|`ir6-rJ!HY zfp<0@2!4v5=5Mp)=U|r68)Zn3V8;t~HsU1}{Eyy`{R~&T{0w!#ankbZ#g<=z zwERN4f@fgwVO^rm4}0+7{LvfNdmjz79ROO*Na+Wmy^`rI|8f;xsofo1`l#8p#>!5D zecF@9L}#)970<~3GWkE=x&0aM+{TydwXw;glSi?yoa)>llKFy9>4fmYwmA9oJ#v?W zx}sxnN;gg}N)H8J1c#(>dQ^5y4Z`Vs1AE6-ZWYm9*b%3#NyS9DaiV8*N`n9Q(HORh zbM)YlT_!NTmA5p-QM|XJyN%JTzOTpiwJ2o(C4~W$hg#d*Iav3mS+1}H1&af_x3E|9 z?D6BL&StOXh12NPYt9!MXy*})%dh*a`22OySLi;AEQg|>zBGSZ z#oP1F-k?1KV@ffmB&r0m4&?VeVEK>7=|vv-a!(NZjNK_cTEx5j6ZN|Sa&Mozl`H+b zx)x(k`A9?w>w!`O}V#UMr^EFjp$*n4k@B~cTfy@2`CixrI( z>@7V;6qPQZ;JgJLtB#_nz{7-!%%m2mikgs|p->anFbm z9xGqg{8>$|@KUHm!jW_aX$!Ny^mS8udoWr-tA|b*q#r8bB;fCq8=mX#jjlJTngHr1 z;~u2KkRv6)TXxkG267%iK8nD1ImZM2n|8S+_2&kG-7rRPoL!(#<<=mWG zIbHDe0r=)(${^Wqs*1l!-IHV%r47X>2}CuFbQ##N7i%c$VL$~aHJNKM`>20FD$bg6w4@|t(xCLD z4?#Y0Y6qR)HFxZ|w7GPi*N)>nfKA0@ZoN=U)(eb0pz{DQgFw?Mh^2(`8r?C?Yn{NP$ zK0H~u=SAM1)2DJ;s918MbjRg@tuzNp#{k=CO!dZf zkDg)-&NP7twj<@}cAD)$w65x*cr;)e1&=3ho+O42r`|$}x+{X>n8`vLa-E`>ageI+ zilw1(HNN@U$toHe3N>4ee3lcXwIh=d+zIXcI3IA_myp~$c!W3@Jl+Qa!Mt! zy~G*^g1}8fRHzUHFdE`*AmX=B_lII&D5QQ^5IbTdpmsL`R^!LL%MMPD^&6mktRS;UkZf|to;|*=a5Jc7q^e-@&&2w{S4<>w9k;EYpnCHEC5#vcFaVx+m9$S?PF@rg0tj?xW^2%6dTX?$%Xm40W_ zo1V9hMRU^r1$Z>wN0V54Ub9+SOL+TV4#;bQ0|EiNd!HQOnEqoy^H#@(+`4P>jpu!| zLfy3E9yT)hX1`n5zk1eDE_6F!yL!#!ODvGO?-d03BuS7@K)xXP|5T4P#W$?v%s@K< z2pT^oUZ;2_#pTcNH7LfDMSf}sA4yXD@1Z|X4j6B)Noz;sQbi>*5QznaQ4VMxX8AGc z`7xJr7<`t-%h7ZA>3c1^h$bFrdyR$Kv1)Z2PS&1++&d$2ZdZ$YxlmYLG!gCHmXSQS zn;5yCak11yl{@wkw!%3@EQjsHd;@z3f`-!@-_Y48yID&xeIc|<_hLF=fO(Y!rpr-3 z(UZPz9sLgF9Zy$Sz;aw2Z=_%QR_@Cy;P(sNLRY6$g5^Zg^CNB-wIYs$*x!9T%?Cnh zXA2xbZ{gW7mx~KxC=2h@O<&7 zw?`8lu|4yGkr#7Ko1YZ2FOn}Ul16@z(ifPC^7$D_2dKNg(TO1#1I)rgi$^s_E2d>* z2F@@69(}P+)?%>HKfG$*0Qj(OPSEX93jBCLel*=T$=;>T3@-4Xgk%qYLsKhtbzo1} zf3{$6Y0Xk22u{sgMf^`y&Ku1gn~cObmH znK^%|-3|0MQ6EnuNzsbAX4=L0YVLL=~{%_K!`)HtB zXbp8=)J&qJ66(}-oi*?)3Ql72{V%eBy!+0(lXcBX18&(yy6}q6U0D@qrU4hxz5VQ^ zKUK}wMdA%z-K&Urd9=$z^y11Re$w751<&gz?Ol_FXzD8kE9m{Ho76HI$h^mQp3_>R zMEsq09;&(X*{Wd^(Oe9B+@O$Lj$s%b~8KLnF85$m723l^QJtT4{px3Wh1 zK;!lvZp+gliZupt4qe@`YjhAD21(c4Ej9r79`xeX>$4YT6N{eYt(4yYMMo*P}!NA1c3_OA33ZNd%} z6kOw{F$77{BZKPvuZICWIoEU=b3V;s?;w%4)}?Y>%@tXy3z`S99Kwy z^1MGG>ki1p*D!(7R2xY=DBvFi=lu}upSr1M;AO`)N_Qyw?UG4}Jjq@o5#LbjJ4H}J zG1)>VHg=tGB~(yo1{Y|6RMuBqS?(>0^;t`}luxe?T=%h$`R~8)EUkx&qdeelh|6$+ zY-Rgvyi2rW2GDle)it@=nsPPsoc5U60U>|=hRUFox!(VZ8?df@Akuzwc@ zEMU0hM`H3RAgu`tPmc}!mS$EoPX7X^V}=_qR2Ng%QaDBVQ4Mo}r{WR@TzTY((eXl; zzz=Gt+4Bn%of~PIt#j??Rt!T!*iZvzHNB243ndWTPG8olU9J98whFO#yKXFmI7EbT z9F7rmnn*T|&7?hw1+~SXc+O?*A!q)4A?gY4)bq*#LP*Tisk}Xj^ z#!+m_)0qvx78=zJ`Px0r8v^N+Cwl6EY~U?MzI0$=F`8YztA2q~wd<6`aUJ@9W*C8g zpL%m!63uNKguP_Go_es9RtS#cIsU?f7dd`;kn}}-IU{6Oc>SZTHDC&MV-CA zwu)XrRdf(N`r*{04`g3rU^Fn3^=L7X;JHeLXz;utcQEg~e*4hY*Sh=elfOKz+aeZmfGBG|XV*d!j!bL*OWSEnj^ zb8kPf@9MTc3JIYu1>bskhbWoWe6LoJ2MR8>Srj*s39I2P$lemuhm zUuQREIF18!)0`UbLbk&IsL+On7M9K|hPV_Na!h~f%W&Gdl#e4UP;*et;bBU&aMd)B zII<{UPeN`|_4KRU*8*5yBl_BJJ9@ae;n{G%2lo5QBL^)R!WeLlyN?s+=}JewF*PM~ zRo7=X$6dtN6~g~^<4X5H-M?}=c<>!hL+<4l^}@$vfE%&rSbf$YmO52e`e6gO6_Y2r zOQ~JDI#bb`%P2lCm(Yr!TX?bxHdj{Lv!PmhVXudc-^J$d3qElc3wi+PtM-?%!}r+y z_tRCUBLJIZ+$b`g(Yo94t~4hDgfBy4oi9T%U@MN<3?n^kjqPOh5Sy#uk1y&Q0Q;cf z{4+Xr>pZbR#1bX^hRzDIO6ott_tYTYg}V!=Q@DkhJ*z!FzOE@hQNhCNm-n#VW0SAJ z|87tADwh+udg7~K=x1h4I8v5k6G$-!Yc}j|ejLrJfxANX`)n8aDfo|Gx*EtTQRJWB zC{!1gz~Q=FY4_0j;9q%M?Ft?j(WH-eQhGg^>f`?eJmdKx*3=l@!%Y$m;R)f)dy3^q z>b1RvXGO|7HSjBL{ezSK4Ap!)_t5GU8qTGHHvZEy zDNN`dlb#|Lv)6G5)hlYqMGr#@S?KMU&MYDsBNl-lPInJ-;%uD@2>gcVE1;KKgc0w% zbm;BUp_1}HS8q9fa$m6Dulut)M9F?%z$>MHmFAXaR<12YFBe}KpYZUb%&w3nJ%`8K z3&ns_htKukq`pFlj2tf-og~eJSyQsQ~ zwRPM9H2p;+S8skG^y#9-QFqvWrGQaS#t=+>`lAPU-6&`~29%w79FW@9)*+Q82WXsXiYgzf{vY~D%@l5U;1c^2AMj$qe@LEW%K1^N<(C=2INr|>nA1Ew* zm<5i6Ct<@Uf7fe48+)P|lR;!B zH|5BWdakBU5$w|PWwjSe(|U=irXJe4cEaj0%Z3LitG#~!eThiEHceRH01=e+N^AOi ztKOXjr%qSrgkrNH*lzL8!se8X-F9O=XP%1!$BiC>cU;HZ7~sMY6!Ahazemni-PF~D z1aG-fa-!Aol{=fSDEAcnS((3`63$dm$H6mu4yZkCq9zE$$M;41hJ{T##@f@K%;fEW~D%5 zB|{l*m>zX4VF4_ltF3Lf%YfubNJ;~3ej<*XECF$cj^nTrZLST6k0aQWJ2(q()?Vb` z9Am(kZSsG-o&WDG`Su`?NglmUG@G-y8e@BHHX()9wsxpCUrVc@f=$v?9n1`|4Pilq|Tatc#HzD-L1 ziCpPV#0jX6eT19ORHb3f8^Ves{G}B~Jc(sF8ehqgFg2#TeE(*7Hq;eFRus_Z1VRek zI#sU`0U0_4+c+y_(O)GdA^WEJ6fR`ngci3?v{{l%7dP;frNo5u_$dX2N z4qDcOAxko;D^nfdCEu5)8(|~5lV9%)O*O?U4-6KVjV}7!%iHa0NtBe zE^O|`@g9Cn+^Me-qPv`2vgV?mSVuIO>vAsV{6e^V)-Y%{1Aaiv_Wm^;y#XAwa{%g)*4`h znT^AS66@`S^n)Yy(rGVp3#4+zs>3JN{2chpiO;?`93=8O@)SGC)3}YI^*2^n;8?XE z1RAD2PoegpKznhZ#`>w*6rY1k&m*bfJWmQY5Q;}1HJ%p);yJP*s5Wi_W77+ZF?EGS z;9_Pv_P)-+kS0?{5{lz-+#-Wqz4vV1o`Sstxb~l}WvD|j!+^hHXBkX`UWCZ%5}c!z z(aIf2n!|1s-v-XIJpIkA$4`t!{3@D_R2+UaD! z>BCWXoLkIt*`L2luzsUGXjOi~lEG`=Ob-x+u>DDBqC!~tDd68tU6IoOnbq4Pj=o(q z{3L}W^??Z6vH8hYr=K8X08-?p*2-Fs*dQAX0sC7NbgLf5+ewEG|Gd4t{O9?TEbMGk z;1)Q8+O|dGV5G(ZR^ul!wqr~9n*psida1qn7u}mavomL|WMKGJ%3!*vz@;28Py#&#T=S zt3LzEC8THbE5U?>3veOf@{xk7f=qgOtu8_7=jC7Jf4k~D31nuifwD7?C@MiyZ{lM3 z2n|1_8-h!?8(a-fp||d7|6;7}Znt4&Uh`>09)^DlKME($2WgqV9gx!*n+!nng1yA& zxNF*np~V^*YD7(w0GqU{B866h*NvinR=|L0t&aVE>t7!TLiV^K;s6Dps;2@c*+O3$q#g zPcFqUpkG-O2R$(g(#-6QBnqnO79x>5hDS?Wrkj~sQtvHMG zx{R!A8}`;bOAUq6Yr2KhruvZ}r4L>6&fIoBM7rJwK9qJ*St#SlpQhd5hav7Sl$#0# z^CHB}QF86r*nZ2&0S>nB@qA6m6;NqiNvw^d`EK#ldCrYqJYMpAIIvZLFa!gyer(U%Uy_XQ!!9$pNlnKrykgGLH zqExb9dhbOLi0gIFg4aqVsAc-SQox<(C={;D&eao3AkE{mqaM%Ervb-1KpTWq96Ylh`eD*RJzva$($dzhem z6S9edKUKF3>s!T}a&&}ds{&h6#z0YN4aLcjMAh*!v|<=8G(mFp%&U8I^L7{SNjwKB z`6-3B&&|vGCErdty;WVucS0Zfn_%$p6zdF2RQ9m^923xCJ?X>gnQFGlV_^7N(R~&c zuRxy6>7xkT&m_PgB7!o@CRLFL99Su1c%>?e06pcIvwQRR*mC<{1N^pteTxk+vxGf> z*@lj+WiJ-7$g;Z+P?H$@dW9s7=owoCL=BCgJ+g@~BVjFU*us#?y2#9nik#_85`}yF zdRU(J@q6s{yyhF?@HC{yiV!J`dz?c?^%Ya8#uC-6wGw=`eTQksn(ZsMS#S`1vF)?% zJ2_mn%>pdWhH=b?#U)}K?9ba)LjI2XY_w4TOJj{wx$cGR5Q!P~l8XR%9oNa&imhj@ z3~<^Y{B3UVB0E+3F48@llT0-0{g8*9&L1tL?LkTKaFR9D%q2D%& z(1j)rFx*9Z3=ZZygY5!tEJ>oVCL)`e>7MV#zm#YJ-gRSi6^7~?NRAs*MPU|7uo3M- zz5VcY$52}M%f2l5e$|=gAFf>hdiOA;dK$NnC_63MZCsx=m;6loM@J3n*E4p|IS=TZ zxIYbehY~yT29-C1E?jU>_t) zDYnFhOF+gUR<@zWS6IePieg!{MsicB$gJLZ`S6i=INQpOaxwsZU}Yz`x!ieS%)yN? zYaQ>u=IbI~~nYk)QY~qb5Qu%Oo6H(_PrN2y$<@az}JYtk{7`?3RQFVmRNvHY>L%RGyQjLZdMfuMUc?=V!_=G9 zG2D&#p!&EvS)Hjqqdu>`s%fohr|G5XtNB@TT9c_M&=hGdYwl~++5y@T+WFcD?Lln< zcMdMoKGHtZe$@Vjw5T3xh&)hx)DsOxqtP@pANe5@T7x#CD6|djMJLe%+ylqsi})5+ zbYpbKbRQfVILvo2JFIrt?Qov^>ArSUIbz3-j?=hzZk*#u$8(PN9G^J;MZP1=NIx=( zEF+;Loa`hCB!%RY-^d;EjJze^s55O^=Y%_k&Y^*H4c$N^=ni^>rqns$-k}fb{BQqq zLQda18JwCsb#m%!SxczL&@yn?Br9qhvnS@z;YQG*-#cbB(s=UZ+*qcPX;c*)u7c1i zdSoS-%D`4ZEwc%=R4CmmCQeY;Co5lD8*HZMNl9@&cpjBmTiwjbbAu-vDBQG2 zWmk?T{VFfJhJIWyH;l(D50sh*{A+D{GaWr;;g1sxLjrQ&%kZ=#d#z)}!a;zI^nce= zbBp9yOf8XiKW;Xb6($g>=q!GOs@_$PB~*eT(BE?tu}-uv7u;k8SYLi2^J<}euXnE1 zwZZK%g-aG`6oFBUer65%J8i;7v5`QVLPPlgp|ISw8Zt2as7yj_a9g%;#iZb=K@%HB z;Gl~u3PX5*x6rL6Uu~O&s096>{*+?YnRy_+lzoPE29GJ;NdHpPi}3!a8s7L2DxJ;e zac=vE^c6~0M@;!oT>4rm8`ghftF{9#!Z0JZh_?;Vv2ehBpcTJPWq1{P35Ox6iX}lP zJgTzw!88h-TCP<70;ec5#n6DcWTr6@IwF3+sbmnLFI=s4M_0YDYW`h@hCn~TNSfHL z%AjvXT(0nO!P>V<%x^)&><&aUZ6A%qpTN~!%x_KTP~!6L8N7Wa&V1+kOp&nYpGd?5 zS%fwxs=^w$-H*`cnlXfe%_2=9vNEKzZMbeQF;dMC9yBZMr4x_htByT&h{N&SkM%j( zGnHxGSTLrp`9$A}@Dyo!68i01dbsdS7!xi~aOO{#Bh496ws0l*S18>oDYOQBAHsS4 zC_(qvm}!2_&F77722tIh&1iTT4GHlJh!3U~Xv`?5H`*1vY#S|IxKdeBLC+`jd2G-} zl|f<&Y$$ViR}Gog=~nUcJ6Et^=n43D@ObBarRxECi%wK-AI-d3+6W|%Le|R20&z9F zCBX(jI>1-`x(%8-lex%D#okGf2=#U1XQ+R7UdNV$X7jLqKG7dpSq4}c4%)4RF0Q-3 z14^3afa`1g1*RWLKa_qXuOWXBa}F;)v={_7-R%Qr%M=1L!G>C6?zFIK=^B6YJYH8J zIjfU?I^6=sx;4WvlL69qBrZ>^5Yvr_`4DT7#OxkCSKGStTn*$Qo1|+`Xj|e-sOn0M zGO|X~nb4&~??D0x9Zq12Rs8KoB9^Y_N#1Y|i75jymB0%mXaQ@_61Em3)&jib2U_OV z4G4IG*Hb{?7DVil&MSxf3Z5${dZFQxfjsyQLpM;}g$~e_sV}jfGFyzRZCVNPKkGpH zZRrn9d}cC9)~jNbH=0g_N^K_Hg9iL3WsjfbXNS!{E3*vUv{`e4ry2M|gSYqLy4imG zn!k_#7HZhr7q!71*mYI|*V|*gy?TxK;>CPyi>Rsyc)e2@SErs#7pl>Pl1vhZ9AI8nDQ@+#Rn4yCv%%3_% zj>OdK5jcbMjVClM@lQj1(vi#e)}j3-0b#+^tZ8Q$lceFQrIvPX#Ce z+9JgXS~L^_#ho9)wOGIOdER;7nJ>9B$sd{Ad-q;@?S0OC2jc}bNplgpke`Q!K68`hQ@#2@TVmgh>qnEQbytrn( z%5M2ISz(r}XFPv1(*6=ks6LBxSkpI*{BxQAg(SeRx_(m3RzQbm0RI$X z8Q9vT>3;5ylkzFLB><7i@~ID}`187Jh9$;CgD|x!+3GJw^M1h20D3>~&d8UZjW|Ja zE&hU2J&W-fcCEM-^*Tv4`I+7xDAUiRkRTTHQX# z%x}CWKG4S1NjbzQ{LqmI^Fg704bR$YVcIoj;8qhVMx@ChZnIPRzO3R>1t!LP-Ca4E;^>oA-D& zLvwMmcbFPuw^5Cdx5y+e*qZNKkmHZLRhM+!2J7n8)T~{qVLW_#{KDEb)&nQ0c~l&w z=$IuC+qGr~UM6;5s^CIYyA zIO1^BC*le%9REHP*R9uUWNBJ!MWsk@FZN(KYM%iCR81ofeBODt z}Z|o2@0`+q@MT+L-j`WoPC6emK;y|5Os|7=^A?rBHDWb0#NQ7~$-Rgo0tg5PBgsP}OAdY>`nHPV~54GkycE}%=+(b9w7uI;9zoM;0 zbn{P?Pcr`u+oaNxs?~(6;CUTVa*#s{fy&#h|za?A|ey>aQ4d!5T) z#$XBGRcXxAo_ZJZAgSbDr_%yH%-7rNJdW6PS92}11d5CPocDd*GZu*(iZ`2I=T5jX z(4`sy27~95>ErF$vs->0;+t=#ya3Jo*o2$5=h|EV4X#pD#Xgw64?ocMT6S_*?4Gt` z+dd%QQ{k6)HAqiOOU)Dy#W~xqMt0}tBPyY=Kv^GAJY)A0Jk_6RI`goZPZEF-7Y~eA zQ{gzwd#c;ccQIErr4m!w0nm%&H))a;Sf2`d$kW|^WgNV_6nY^i$Tv=4_n~t-sqK5K z?MFr;NB%9Za(;QFrty5ZPyJ3{3}tvwCqGmw|s$)F0MZt<`# z=Zw;rG?dDRu^U=~nfJQ@T9O^NcpXwdZg4dDe7O~y5ouSyU)eNa?Q9I2n7CqBkDsJ> zEh$^z8ZGxOOgv-cV>$S}1S^@`cSb9~Ps5y^vYl0^l@EHgupL)pJ~F4Zv{Po`vN-DY z2KI9{nk|ML(o3J#wkDQdEdS$=mP~HRX4x8H&Js^+Y#VXKk9lO(MJDVTaPKBVR;s!( z^*BPm*dlEjf-B97ZaDJa8KBy2^~t1PjA4T3tHWN7EmnbbleMJZe~4N?JpRSR2m?I^ zFa9XNNv9uqmiX7NX*wZuT}14hLe35S!tG`2b#ZfxJT7=oS5mdTERDx$&(&Nct#6Rm z#g`juQ?DRf99~uU2{*{%`km+E9G14~?YD{Prd@@p!( zj&E=9E_6Dgw0s|iI}{!TBTlN0Z&5>+RswmLkNfVwsk{aBQ0gh2Qm}mXs}}-y!*>b~ z{_?Mbj^0jsRV~Pg(#_b^w@i$Rwtc@0ZnEDy^t>RGSN9cVe)PVIx_tgH`Le?5TI|5d z+UrttPtn>{e6q2S#_~6-b;G6}HB;B%V&DzFrq8^|rDckQfXA}#^#*hLdvUdo594uq z_BBr_?x(A_UU+b}q;6hMGDxQvg7q8b6_h#*m)}PUZTVq(>k#-%GxZ;$RTG;zBq-#z zuj}$N_}U&B`=3ebtOS*nr+S`sR^)$qW7Te3xx7sa;a1U4$ZadA2bwChgUVjPtiG!C zCfvs&S_`QEmXEvsN&b(}u6zFc(ZrudTpj^w`<0_QB4yU1d-%kICQ1MNTa+7JZeE*@ zu60EugEp1hMzv*5}R-cBjY$-F(d?@i~0O>KS2i5~?GX$zDsbjNq$%)O^8o7J?&6mc%8J|4#KLf5xn z`bKTp{i&cY{5nK&Gp~i21(eoZ+T6YCf?CI4vQy4YxtDT{cvja%`8p1mTY1KRbgUDW zR_nm2e<+Ayn@s`hNp#GA=Zlff;Y9v^U*njA<(6*^zocaHC()NsZABP~ZcNLd^)TKy zNi1(q(3;5uWLoqjbgc)(0cVo-CA(|sR5C{VsUiNEu`?EDuAFTde}#W0G)VG>4s!q9 zxa92KWWFD5DATg-J1JEZ`Hw%5aTUHUH;3E%txk?DLDD5l;KJ5{?X%?X(_Nd!4Ezqs z-Yi$0wFdWE`-bCPMOl^1PX!{3$&W(12AGT%R`-6`7Q#n!HlXV)_emWp@5h?rJA@Wm z<4EU`A}s$S)Ra|4NTTGmP)@(yE52V&>pxm_Ca?JeS-qn;S8{Hch--{$RZG-QW(wwc z0im-iZzsS)OU~)1KrFOh>Q8C%lz45GdEozTE1C+AJA!im*baNl{<*F z%f}_3(^}Shu0U7pW2?)m&ct9Kio;kxTiE&;-BAR7>JyQOa7U~Iq|<|oi)x)a?KtwM zMw)KOi$MY5X`5|@tGKHZo87kk%;ImtsnU;?2PexlB?pkduD#O2ULcH)?-|D|yRTU} z0vbH6FGT+y>#^}ITkXW2KFMKC1hJ1ses*D_D(cHY>d1G~&r00tP_)f@Gw7w?eSprA5u1G*1mCMq`xNw6rM#7q?}jt{ zzAWS%L=afZ=s3$TN`GB0Q$D2_1uCct)$4A&qUvYb{e3$)`O&oaV2-qH1jUo6I$*IP zR@duEm}3J1R);VRh=)G!K6P+`zD^>d-}bO3XzVSsiG0TU>^Mx%o$T7#;Bz=Bo>D&J z%_yxC1xN1qUUP67A=PF}r*EXWRNq`=yk<`$WTJ>Wkj1Jl#)vzP?<;hPuh`{FZf_P3 z-40k{v2)8}VGq4&;r@LYD62fZD^#$?NjG>A`X?l)@C6=@#`T}S8Rj>x2fHdh#NAWZ z_=7n=12T@Yx{LH3ezunN%gAsyT6GXh`Z=BaiE1!0$Dyk%oK*P_JL>Q}Y%j}pRFlJC z_ns^#YBT)sNuhE`&!G024uRVr7k&qZi%Gm)I*)wJlV5TZY=nX7BhR(RzV`j)va5p2 z%>Cu-EMg5cnh_7$O-N71=Y#TlrYSXGbhr(EuvltKGD3Wk=$Vk^zXS@(`q zQGbSN*TVfu1$yCY&u!w+x@g~~5xHT!Y4*J3-2}AdKwO@<-qDxIq9;q$6d!FXf92C& zvYBHin@F7!WS1+mdvNmrG(Ks(sWpDdTg;!qYO{{+Ow(4VRQi0x0*I4ZV{}T%lkLo5 zQfaD#R_qKls#lohPPe{<+G7#}w5k%Ps;65#q`U#zvW(xrGuw4O>LS`M@9R$WjGvfL z!GUmLJO7_XSYo*Y{58Thpr00odAvor|G}-d8;v^`1|YZSuKExUj1Hu3vMRyQUorU_ zKZAgYjxq~T8en!B;3r2z*bqHI>&M5XjfU+zz&Lg(*`Qd$X|aXcskQbGV_M(b0ojD$ zFVR`y&vPb6H`C7kd?M=N$vPh0O%lEN?De=Gl?3)?P^MH@z7U*nKquF$?G!pM_40Qw zQ+Q}yTfVf*#4E@W!A0H;P3c6+JG!S=a3&U}T2sL5WZs5q{m1qZ+9E!Hcxq@S_a}SH zZ_|%rFjY0BUz3U1Kb-v}yH69BSv`E~#8^c`7jNzfvqFGBJ1K>$-V?AJPM}Z1l<<7U z_WoR?a@MHAV-|nq_n<#?kj+q#wm`qrePlwMG#=?fevaTamB!e9`BeJfESLTCP zHy@&}sUB?XC{F4`kHf;a@d$Y_f*0#Eu|K#PQzmvtG|VIaiH((c-)(dLru{wG?9HZM z2n4-$DTcfX4*1^Pwf!p#OAQB^xv|)Gx28> zg)mWh@+i+@r~sJwq~ZGYh|gFF_9ZqfaRe1XBXl4l%KBBzkhu5CUSjt zZrKa@?DC2>=l!G(B-mS)c7oCzmQvEb**EgEwki6Tm)rdD!)cx_4cq%c0L13nM?<6} zq0TjHz9DJ)rz2xny`2-0nAJe&RmdOO9!ob^0Ws>k3^v`6S6*W_HUkl<{;<)wf=jS- z>VFqh6wXzuX5Eto45j5O?p>Fo0-=V@&k>@tVPztMB37Nv1$nR~)J<}9Uu{aQ9in1? z76`NprX2x2moj8^`1K<9OK82fWa>8U(;R&nIz2^+Px_Zm1+(%zL!5tV(Tx(B6Qrlf z5BguyMN`;WWhQ#W&V0J}{6w4b;+64FHB28OqFinoW$S8qGc9(F=i^zcwI&`m-H2MP zm_>uL3+df=KodO1FDS+h4qMC zkyL?=C&;xvpwmKi;1a;GiFuJ%4TFAVxI)lXz>U)Vq&nl5aD28VqjqV zVPFyb#Cb_Dj%OLX$gYX)$e@gI|Hb>fa52ND|z5)0X3R@I|_-e1}9 zn=+dFyT9P#C`IewO(m9<1V=pVEgi`Z=>TbH8sQmDc`rdDt``mlnPU%0BOVGbsn_2R(-teJC*p(_t)SOSe?k)e zM9~pLBTmFIynu`|@uQ>6UT?9mP#K^HLu^9wJ2x(mng zqs{E$@Z+&1vFQEkPq>6h+FNxREJrulOL+3y>jd(Hp1F7EL_3_xVaV`={+=m{Q~6oO z09%Td=-bjQ7Ah^*7rCZf;@a3V$v{?t;isa7>0DyN{Gv(x9AhKaO$m-FDeQ$_TzJFe zuM>;8@<+VSq6ceF-Jch}tF7G!nHR?GRAje26;K^RjJA+?E72o%TErPuk`U8i{t^`^ zT18vIPA?xZejz2VKZ&5fppH-}L(E?gK4?TW?(tKn4ZUrC$1i?v`Gju*(7aP8e$a>8 zxbB5j)VI_4$BW0Ne-4)6#fP0P+?(0Bi2}-wH8gsna687BnubtRcRgLFELnptrvq}* zhC}pcgFmEw;j$+NKM0Qp!_E|bC^G*XI>8T@DI4EC7Y`T1yT?%cnRT9X5A5y{I_0|u zboct6-`$J+6?~Rr`n=>s%^=%GEm@|r%bkBQ8B!UyC#aD&;+$Y9BtghhZPb^%j8?+s zH%KGgNNg22N=w>E2T{JL9?b#i#@tgQ@bxC1?Fz74s5+TFCea*X4N#lCx%SSZiZHZ1aU)a1tG)3;_lmD8 zRoDC2x2+2GlLz#-d0kayd%L$^A1k}}nK=u!UFA&r-brlh2bzq{isaO8J}w*_Hy~X1ZlMMV*b5K@{Iz;F1zdl>v=X-2b(x*ygPIXgGUBo(u~7{@X^Z0 zqcs7gWBac=VjCLy_IX=%8d5*6dvx43z&tk>+m3viijLemE`6G@4Wzaq9jj>R)Mz^q zGK`+6uMPjG<$sTHcA-ULH0jhAO+!&1388{zw;}(L;%95IbK-NIYGJ)Cu4c2+l6V`p z#fqcl^rG05#Y~I%Mba#n_b?^8-#cf($g`&OI(GVDx26&X7R{#|#qO{3Y}qYFh+ij# zvndWU19CN>BB1cX0=L>WP>6NhTD3;|Q-N^O)yb^aqd0g+H*}FPt6M>TOdeyq*B$-@J(|R;QIe|; z&}gfLW?Q|a2vNf{Hho7{qaI?cI!msv7BFp%78q5F60szrF&VHGap0%cg#%y)USu`{ zBrqEkjj6j6oX%f;iHvlB;#4J^vJCD(_tyAjYdRMN+KONGgaU?bMYDc#5svmXwR^G9 zkL@&dqMqLkKfZ2cU>h32M-z)s{+QY8jHTz_$K=nFK}Z|eKYf!LI7mR8(K-=dkyLh={mrIP#$p%w61Lxy z%)wJB>{sgywy|gda-UxBR&3HWC%F_XDy&jCVKC0|hH7|76sL^>cFydaAm8>Pd$(jdpTR;Nx7zof)CF+2HY<=s zLA_hnf-ecZN4)<|y7Vi-0{WeX5NG=WNr|5tFcB~Qq8`pBZErx)ircpkF9n+(>hCq) zA^*d|7ngdYI9fJ+c^eBjK{kOSNn8jgW7($`N5M^;UpI{55IofD@ zBG@)|NYH_c4$dQ)R)dD`2gkS_(>{qshdUiqKDjoV@rVhTW5M>Zqr#5uqjtQb?68f} zj_+s{)BVSrH(C4r5zb{xyC;F+5v$1Wr;Oo2ii3t%WAc|vo>6mU*EA2VQ3%Bo-|#2O zCm1YRMA#T7|2M+XU+M*BYPDCt9rpjcX3==VqV=r$sVFX0T%mGFx$=~#J3Sa*1J^T_ zB8IRO?@O%Y^9C)Jx5+KfbB1}&lEW*bxp_uYK2;`uU@J_`LzDjV_7o=PXj)$LRB`7x zB+pf9)keG&TSMx>MlHtrK)|VecpkZ{9-SuV8y;7W_vUWd(l42;UVO`Dd`Yulag~p~ z{Zv|2Fqdx&&}Qb7FT0HyqE3K+_BC8caZK^7jL6v7l!!``!+v)tx2yYV3_>e)a#u?w6XHv&LYe5+klT?La_@@~i2P zKxI1>$zK9s`en1Ad3kgIsAWx2T$svh`p(K;U`D7bPETHXKB%LOcM+A0Va&o>9sR?I zQb&pI1HrEfPGB_W6qbyV11*NCBfnmJeIxc&kFgX9*ZOnYm?FpMHB7n0-4o2N9$$)i zN}#$PzR9R5&`jSB(E}9m)(=BWUkFG1q!okz6s8}iZtiCQCXE{hj24T~{PaFwMoTSw z>lO9ve8ur1x0%cPPUTJfdk_MnIHZ*A7evp&0XlkpU|}fbu$fXA4T>WSfjhVG`>G2q zdyhQ6lGGR&Mhmz*Vd=$=2n)Ck)D=*iJ7V&uxWafd;rLQGyBjLDDV~1VM+3{PG+Ar- za&Z=?oLDP^TsK6DYp?DzS!s8kx6=yNe_s34D$x*kuyNb|=u=I<$=RyyQ;UXVJBJUH zf}}X$dYSEdu`{S_+4p)f!H6%!eE-u`1wF~A z_z29Qo-%LOj*aGDt_Zt`wx9A0HB{WAd00>YkI3cjo?+Sdd4|aQZZZByB0bSo7`OO?ODKUto-;=NoctpmwZqJ? z!FI!~P+_=_xFJ%2P9C1$R(8b;ZGOJ_udCK~ujmGysE<({x20WK%xg(Eu*k}?{oNa! z$Qp;k`9v{$Ji(Mwe}*1Lpn(>PIksk>v>*ga#g6bb<=SwJUuGLe$KVoyd$CfqQ6q~} z1|X!Ejn4m^MQTW#^I#m9Q@4_v_i5QSq}e7@oSKrKo7>W+@5%AdH51b;(d|7=nMzDU zRW%}96MEWpfoWj!`5hmXlz#JBeG_7-5)nSf4>}@e2N!y(WSjsDs;B`t`U{{saN*=W zu)iS(d?iZ;V-ZB5Nk6K<0CK2y z$oC%$O$gh5&@2jg2rm5o>Jkh%_YzXfpn&491My|Xg`~#UQ9K50>rmq<5cnQgf&xku z55^!`_kda9Osl{W&S->M1inLInZ|!#Y7sv+^6w5FB>f7hqdq&NA!r{sA%)5ifULo} z{s;)N4@^>reyl{8PX4l!%5e3GHW1T+`p=fD4lv^`!KDw*(b4;!51!mJFIe3K=1VCNla=|IYndX8cl|N_Je}-(Mq=5J*3Otl~Ij ziH2p-&_7(x8nw^{%#?gKle z#+4R81`frX)@xAXbs(Tvg9b4~1e-vXAh}>n#e;x@tOX>90R>!bLi`+3fo)q-LbW%6 zVN&BF2Img^%u#gE?4g5AVlY6wWJezY5HN5_4;mc52gXTdFhbw=fNK2!%q5(Zq?1@P zWh()pg#>x*0l#okNoBO}0dK2g3|w5HbhU`^+#e2LKz4~6J#?WTbOtW`L~Jz;N|(|% zoCcw!G66WkfaCvo zJC5U@nNw#EJ{F;Xg{C$-Nr-|MK{^JTeIU7y`?GQe6rFwmbR2*2D^!Rq#4mRH)CYR) z`aicLrH{sM7y?ZTYrrZgbmaT{Dy&fM0r9|vRpZU$=K}Z!CMICOr8!&4U_9bt12{+U z@4^j)ifeJ8)49d9q)^y2+Gd3z#hiLj?OMdXUMLMz+MsOhpQ#q1jE2Ng8Eq(_Pw`;T z2xwMHKWrM5=nr@`0#X4Nn#t(DE!$a}H!0SLMGPZBlyxYPV1q6M++TscwMM0Gfo2r+~xiYb*x88}cnbX=5Wtp5*-7z9Kkir0b9 zifebiTSo$jWiv`k1_un$4)8aX)4zC&Ky&Dp6q-ChJTe*C2IuPrh9e*^Fq)_~L;VZ; z0&qt#CCIo5Vqg7+fN4s+={t_SY}A($1JSz~ynjnX(a)M29Zd{OwCHsf>6D6q{@dNE zoM51;zRxW?GiMq#xB5Wi;Sk_=4&Ncv2OV<4?Zt9KshN2IZye54yGAtsupDoFmCGJF zQ#u;)ZsVreddHB@)?@=2g)DH=yT;Y!{AyC69>sbO=P~em$HwqdF$_6k{;e_ZSKUjT zF{{yM)M8oEKVRbJydO~05R0w2sFAeW*Tb`(iQNI#kY9e(W%Mw~`TM7+`zFWXCgu1~ zJZVVjP{_Na;OM)yB-yr%w6-_rA_>}hjzq*CREa+sC%$-BPKGnANz#;^Xv)rt>7T6e zGXg{wl*yMBgK3?_X9F;?_9WAZPr`*l!kNn487I$i1&FRO8F4AGG5o%r z3jh9gxTPuP`TNl8|BNVCj!;PvO?MDP!-A`<3)f*|eWU9)iuJr=_rxoE1@N5yF_8 z!T?oaTI?y(P8c7g7vhd2Dspz>PyQn;xzkryKquy?qZc!>PIDjq<%DFVFCZ98a!sZ< zso9T!q@PvlX@?VDU9`V2Lt>B89*#UKzB9|Sz8=!>Uc7cyi@hfVSVZ*|xTf*8Z?KzG zWVEpV;>Y4)h{V!jM1MsORC4vNV*iEP|2ZDS)(^WMzB*hjC@g4(c?%uBU;Z8jnfLjv z@Y_Y!JIA|)_}i#C^0m!NLhqRI<~E7nZb-Ev$13j+mo5L9|Khb$=X0qU=NA@jd~S|B zv-TNt+UKvYY4M|;Q`wJts8PI3ik!K=Rl45yS+1Z5cmA`!Da}5A$w!L7*i1yWj7ri0 z**|1`f&3C&)Zp`w7N}1EcJEBr6;xioB z_B?+pwm8@2wJFI6<^osI%k=cOIluBn8f<`Mwdq!Nq%6Qeaefw9c%gcIcm@MuIRB)@p$r9tSjfsuIJ6CuD3#m zh`SbrTtgJapLm6DS=%l*!wPRnkNa<@F0#51lIXbH6PK?Tx=22n(r?$;-3Kz(^n;VH zrtKHCW!>q$YsFg%^Jbi_mBc`}`jw}^L|h}G|FoAs@CBA%&1PDg=z19Ff50`XJTpy{ zW2LI`-trUTaoZYXW_1YJgPQrc|mOGUgDOd}$e1 zV;KuCNLwg~NhydvrA=9e|a}*o&WYPZ@Mi4*ihH%bg_3oua~>jO94+oS^rq z3Jca6w$PTQ;FcQ6OHJyRYP{7-SOd*bS7VWjl6M|uhdB`~l2?nR3lw4Q-%+)8-_jtx z6Tk6go$tK9A2!x}LsBEdi(JLL6ZOBPNK7RD7N+-jsL#4=F_`PMwhH0%tf{M}g7ujX zJHB+H_F&z4^oQs@RLs<^s(>%pfO@LpmT^F%hhH|Gz^t7aRG~7$Q%8R%vi;!bQ^%G; zhsja$?=|zb{f4xIt;G)NhBnWg!uG_5Z=ct6+TGDaSW-52{A}3akAUJ<)sGyS*Jcu9 zMEiV))fp{$Z(rD^CKKqksOiMV>qg(C&ruR@6_&_dRjcc0bVPwXu z>H3j~s_MDvn}X!$+{aOnLrl!{Cr_~)(aAQ4sWbxi|G-i-`Sjb0@#Bc%jcnA>e^3Cf7s3@pVL3|L(0<**Zl;Y}R$Q!ctPO!|^`41H}A=PU&huC}eU2B%cAj zsxBSg40}oHX^1Lah800Z1Q&5+U55^n55MYv>z!K^weiBP@4kdJ%)w=BY&^XM>axXK z7R?c#(4Kz9fil$f(H6+&Xpy4+U1|L?&5>0gK5|C#_J!}hYiGG^V2982*LDqygV%Po zX@TjGS;(T&fv5gBG~`0@!7d8nU?!fy`O65PqA;u*!b!T-u=IB9wY|ZpzcjDr%WhPT zcaxRGu+Dp-0M|UdJZ({9jWKRI!Ty)!L~pugY(jM;K|+Vs3HO5CqlQ=`99HZ()%lcf zZQp8RrSQSno7CP--Itb~i**eJp;PrnT6m1%sYGcXMH@}fuHaIlO@NEf@MRm*{1(8r zgzvTeL=Q-sifbpHA*ag!B}spU6nkgY{6#F&4ECaGhr6tI`DII{`IM-&-Z@BcykY^E z%ZYdb&}MTd`&uPxnwn}N!mEYDt@xn%cdG1yLYi*7lHpzMjIp(jfi^cQy!wPPPi38L zWs`AbgUWu5j%kzAXYHBb8X1YRB*dA1&Pia-k&fC0)6G$4(1l;ai8j%Z47XA;w486T zf~v5b{J$#E(Mq6BIST=c;$y$!4TWNF`EUwqIFU#z3#^s#PAhRBIj$f%J^5+=fk{JF zn?g7pXte>oj`;KmRt)+h`Ru)WXlf-pGM2?UaPa?S+y4PmX+bV2a|hd(g})>mtN*F2 z)iP{UO3LlXoE9YIen>OhP;n7|EawQ~%OXH6Pb`r5;|1&FtPO#lsBPUw0C_8$Nv8^u z#})K8(_}R$(qs(~Y}j{C#uHH}la{JhF>p<5^8`Fi=!k)l>qxGI|5d#XZ{doydY z1mwIs`KhG4$f+dA>h!z2`ssI&*=dlw{Amyf`}Epfx5arC>J3+{W}JHekbI>ibS1W^ zd9S-j`mpe2&xpvSyMhhgUF8DrhKh-#J;Vr7{!Q^A|NH(3u5d*YYIH9dYI+|OO1+Cz z+`~ET-qSzr-nToA+EW$L?B1aNjVN=*%5^HgfI-slmvA0y8kx znRMq05cNyfq>2T2-}H~+AreEvWcBIV}GMsj+lkH0Q@ZO!Yxkx8Q}sau6}J0|x4v=(cmRu%eQ@BdRea z(p1-KF8|b$l+s>l2z4mcJaS=QA69(v(NgeMg7&!r?%9_aO_ z23C;6+h+=r;YS)dsh8zA#>vY$)KmxhX=#@g9Przj8RrLg98>3OsM!GSw1;yXNC3v# z!W9Zjn(1=x-&cZ>gV{A;e*@Ez?lJ~mL?x;FC>XdF`9ucqe1T&B1;2}74PRrTd`SaE zk*cI4MVR0+@3-h9N*gWG4YDwD`B)be#|8fcEFY2P%(rg_GrMR&dfaNIU&92sV`1|% zWKT!z4f|8QtJle6I#V>%fmhT3Y#8#lI~Ke1akV!5YU-VH7)ax#^Kq5cn~aF)9d(5( zCu<`Vw*W6BJx^Ww%HNti7s&-OgCSaKk#yD;DE@!`4QPQPaTYC5&kuzlDI{>=D_0p6 z6fYwOBqMW3?J7{l3`JeS11S=u>QFUIU9NcrKblT+zTVega#k!48ep1+1`kH+Ii$+h z_`*x4eVr%wNntb>`LtP9%w#dhFYZP#N#GNerq!9`di5R_8L1222PD zMOs*!q3G**uJQ*$F)-ONqPatZ0{(vldG+O^ebnoN2kir!a)%aa>&7U=#9rT{ZWw*p z1qMBy%TrkvMyF?tS@@_Pa1#%AN#=W$BUpjDQFTVWb_$H2*VI3iTk8k@$|Gmzo2n#P z^n7Mhsy9>3u&8qCy!OLIB@du8lODBqk;lW?>5{6>ThBA@3Ip$pFlVP_{K;pcP|r&HJ#alw0oe5k2T@fg%EeU zS(n|ajOlp0XbCZ@N&&qD5T6P8;+*NbZ<=@zk;MhmScqh9^@B*XT`EZ*8H7$|(X=#E z(yTm3pK3px-_fFSOy6wJ!^A9lHpdcY$F{!V=?@O@@4hS|004&eO4oZBjKGm;xe_iePz4oJ?H^|LI z)|!b5c?fbf(X?KkO_|fghP+xFp3RjI39PEuUj{{)kjgC0=1hoOR;KB9?!Pu+ZeN_u z_Yt|Q`mOh{PlCW`Uj@Elk|3@e(vRB@L6C*Qf$vrZ8LxyxSAnq#eJ)p8x3j>)u0i@M z+S>_WW~6WibXEUH(Kj^>$}2U%GVuMNiq{ooA+0tN;VxSJa?Ij1zUbf6dl6?nMY#Z*_Mc?< z$Y|#j7);OBB7n{NL;^lCy7Wa8(>t~2V2PbZp{YN$x?tG8s9nM@6dyQlAJFO5Zm?S9 zGc{RTbkUJ=-S-XS>2Q~RT*1-ImR4_`&e#Flt26 z@Tvc$=F?x@VC*1zU@^~(e71SoJT$;N74J+1(t+u;aHqof5K6F5K+`&afRK5K`LoZ; zpOb(6gN$9;9L;A{`m|p)_0x%VS>Gr;m1L8}tCy$amXoijJyq_~#B2IRVwcl1pLr?| zIr4XKltibX=D_k2jlXBcoe%dRFcPpLNu%rxx^vh*IZW^ZIMLWKbMCynuWsvlUH;ua zX*qv|;=qu3jWrA-;<-e!LO@FmZ8iNp7&bEKrIh zP~79}kaRb4^petZ#k(g0+>kI(hQC(p^UV6 z)L-{!)sEdYpzO?t6gRRv6|oe&DX)!ncY`hGze?w+^a9*RKr&_23Gj&%D!C;+nDQUn z8G~F;_gZ3tiDVeqkRto;r${ivVDsiw%Esv)_^0C#w0VGHM!I0kK#j%)Ul!j^ur$4) z&ja$hoz4cyvoC>igx22qN0($WQBNvmrM;@A84#P+ZS9-T^G$wL^&Q@fxZ9B4`x`ty zp}m^ATfq!(Yapd9F3Hj$6H;PJp{W*u6Hd2oB!H|>p94P!8w0rQ)AKawApX|&a&OG3 zNh{G%Wz;K5OPZP6Z~_Y_HtNo-Z`AB_r@Q7?+ z%>r5k_ncbZ5Z@16a-6UH4nLT>+X&nj+PK_X-MHNUyFt8XbDFsN_?l%U`H_32pgouZ zKsAlj2kD*e02_h{3n@pC0w99ZIUuDIN}{DDSk~J9hkQNvN{qQCF+|f^_lH=0TqsJg zMWnE?1F^Fq5Ar;bOVU8J)^Mz~8}I9^w+5;>Aq$H9}P);Co5gY_Iqt8#=B;T7wtDsLJ7a4t00%tkqbKeM(ETkJY!*N4EivNIm|#$#+ztDwl!Zg*u$=fC=Cseg5`;eV@Yj1wOe z1(FC*^DQzSjjPj(8xB^DXv(MHPVL*4hP!zGhRBwF{9n$;`!|2<-7w;#~;QH}a z?X&K{WQzizv3p9xz3)-OCM}`r5Z;HFa3%J}3^2!bCH{E9!DkR|J3;D_M>gs>AM!NqAoTFy4(^QTclO@{!CEgECYm>=51jG$ zykYSd=%!J(3_{41eLh(Ag;-Z(8xxXFgC8e@CGRaR%bSu^+_ajC3TF_AVZaqyg+CxV zHK5fup@m=(kQLJx%FA`59Mcd>bA_Ua1oKU;EXPpVZQKJ{+rH!9wUO9{J5yA>D z>MaFsnV6AZ_qoE|0*D*=(k&wZ_}L4@?ig4L8SdbLmy#9!1BHku&I0ZP)i1wSgWlvV z7e2Di#)5A=CZ$09jM7x5#IfUXp%xK79Hwj8TsepNN5hUzo%VR?)t|p z7ui!E=zdw3>0s{Uk%(Ry!oE_vRr3;#$dE*_UUbsV<94v65JOp=+1v?W*}ym?ccHo$ zaGX^lky=Ul%F^1>ORhc(7lq#fL$WX0dWm{xk)U{5(vZMK8!s6~A&EExnj-D_wDHO! zxElh`Ibbi~hvQ_;7x)h1+L>@q6PEC9^QN>Br4Cf`;vput(Qru?fZ`9BPXV>iV{EbH z2i4}}2ihz8e=&+$40#Qriypvw8$ur9CG)CQM7a;wPmzWl#H3=C}H#ZbZm zDK+SOd4(fmhk8~b0C_J+-l1aQLVU;jFCq`X6yKVBXO^XgyL3s@`4g_;$o+0l$jCM+DX$+hI96?AV>7NA{h>Jm9DsP)|i z@9tH*?!863CVKFXF88|;n;TIxh>fV}vDQ98y)T=%9o(H+c&LpFSg`i3?GMU`EK=0W zMVi#)`L()|8blhP{R4}b?2DEQ3uni(3<3LuL8>o0IV?OK0DV^bxLWcr+RZF{9n|B3 z_DMUGUvvY~=Bsdw-q@8r@~^yk6kJKBrt;NGt9sIbFTk;qo~P^z39z<9X99th7zyfQ zt)i5m%ER8>mG_TpcA%h(mqAqz!qLk)Bz;B@W|*1=T&%)AfG^ zwB}TZvx@-+&c+d>TvJ+6q_8FwUVs9swMVjnIGB_GSli;srsy3SU{7)Aye%vsG zs)q}93Mgc)(3BZ6r=6EAFylHc5Q3hZ!hvsZo&nUud5D#{!{{;uyJ82`_^)&dG4L1u zPO)$Nou=IQ?2h~L<(Jy`@cEg#jRSY4)616V8{FIG8x3n(b!3sd|NmFib;h$9y=~N} zz1ko~TB@qU*3_nI6p?B=sl8%^YHSTk?NwEqSQWH75Y(nti;~eAu}3R0i`c@O{{Qdq zeV&Ciaq!P2| zXbE&4g~Ee2T(Q-ANJ~+_QF*$8^bp&y=RvYO;zr0HXZQ<+8PWOep_aJZacVN)e4inB^h~Tor;oo~ zFyYJ_bT5m)Lh$zs!7LBQ&Xc((oMMXU5LP^T3LI6!3z?-j!k7;R&ZN@0oBxFa9?+-- zIpE07sH_b#!60)g%faG2v&MDqD20_TD%G-#NnR$#uq=Up*wx&uKle4E595TrzVtbb z7z}SWznz;)z-eQ!zMo~q^Sw-<0gk*HrzXAoZt>kPs zrUZ2i0b5nUwVEukQtew;p*iXGPFFtnGNBh^Ld~vFLfOxS-Vg`ckKT6+g!uu-?nU+( ziuptSot|1ZrMGq?r478vIoy0u4@jn+Yi)I}+gsB$en^uuoGSI~-^f#kWGYEN+tA z-Z{5Qq*z0glALo)=Cd&PE(}GbfgaRDI?F55hCY^dHEPK)71!YGeTj zYZwFHFK&weFpsovqnk)R!qQwQa-=pwPWeOe6|?u0U?MPh6q|v*{-IY2t!C%F6{`(CnI1iV8)L@kxKMFr3(Willhr`4v;& zEDDFXeWOXQBhw);-?LG#EZ2)b_u8!nLiX&3Jl097D~Hr@%6U|x%!(1Ufx?c88d)j( zcc}`9-g_N?qSb^L7{|Qfd_;}Q#1Nna|0oE4fhYs)re^nCM-^>AY~36L+k)g&37^}D zzTeu9Z`b4=AIVoq*fCp$pNk)?d_VGk3ey37b$z7H`|fRXukK(tiN$&>0L}|zT6Hve ztFQ1T|0NGtxbv>BBJ!yij5UHFk5jX306N0gmI`6&aQAjU#RLHQ-F;_@0g_->(iw!tu zmT}T`B7QOFhsC^E?{G$D_bJMO8P-YK-tY8mRertoo`LvZJ4mkJp)r7}mkIKJrJJ;A z!0BpHg6-ccP3*MJpNYqg?&kj#QWmX*t(6DVoH)@x{aB1Ymg#c!IPo$j85><8_`!L} zOtkQP6DJ}Ov*Ly2CRK+Jcra7ggbLo($X3tiW799?*>YHM{FoQMiEe!PjzF`_tZ3X> zOc9lVr#c2Nh2f_%5{(a-(M~DF(A*xJE5wmvit(YIB?cZuyD`x^R8nn}AjKnQ6E|&3 zRUk!5kWvvdB3$H+GqmiinX=ni;#EsFzp)xO6!8fOr;<{q@S_Z6#!2QQ-fU#JM=xa{ z3N(JjzVT`|+)--$g^gHK{P32|>^+&E=zb9E#*HFiGg`xi#+J!fFx*tX=8h@jX(a>( zG^4)*IH+GfCV??F_+8@poC)77 zjGp=qe@=(5&JTy+a2I7Q<9{&ed=7|ZECpAL>2+g&k72nxmm}>D6=pkBPNW#d2POx6dm;`s!slk z>=j4fWD0YB3d>5GZz@H_`bGMRvTrR#%-Ta8TAw9{V}l4$WH6>wPNMTc5`}}-?VEn= z)o7TK{gDX6h*I+?7h7B!4ZL%_V5WRvLj8BM0JqBt%sD-hsV;gC`~`9*B}G0&Hm)pS zUl^E>x+KpcBI`WyJAeu|qXZRtaG{z=&<0Q_3<+GmMXFa zF)~+zm~XOyc_XvwSOfW4rPE@O=+#YP34n#nw)e{VRj7kSR;azj%TQ;FH^0%foGsE_bPfGg zb3`7Gslp`^NZ4=#am%h^xoaL4DZ{!Df0Si!@p*(DKK6Po+{~&_x``cuz$ez#!p$`- zv4z&S^vTydpW%?hN7$myYa~J{V3kZa7WHMYtLlVqKtB0y!k{nraCH-o8!$-*B&_*< zGT?2TE|$@P;}f*)@VVL!_!w<_d}b>gpVI1yFQ5;#7&}E~14NQ#0FjhTfIb-v(5LJI zI>{-3P6`MhMb-gGQ4|v_sCo40$(REdoy>Snm97h3?IAh=1mT7WaVl)js%7w+02rJx zp#sZnQeB280F>d66SA=!@2Xw#KmZahp3s1e>((SqIA|l>s>1zsjp!0nw}awpG@9-= z7+9+x;yM8D$#)Wd`M&K2s`oft%eSjaHm`aFU9^)6Ib{v6iu>4ZLRVgU9Ii~-RVA&p zoA3BHjyuRqdQ>e-O!A(@GyJ!f)5*@x&H?_1-_tE+v3|d=ec&j9@w696zTkApNh~e2 z!@6CLVL|ECFD6C?_-$^n|I~ldzoG2yhQD|b(hI6;12=GnOI`|JzRG}UW^)fDbrJN> zh?|~?nzg<^6#M_ECq!(#Ee0xZLGuU78oEI%hSg$s?Ujdwehpk$47e&?EA{QA`yWDTnNPvKjrL*cuXOzI zy_+E>NeFra4m}^wP=h*)>9%^m^r&_C4-KOWX-~r}axG5AS#z9fs@k}x_a8h)XiO<4 zRp-o^c-CxAyxJ(g>|NZV;{n^yXkBVxdFPs2{NfR`x|hpwtx_OoD!w1RwBt=%e|_m= z(1+L#?^adWU5vuX`_eX@`*#AWg*PP`=a{$FiuN;WdK+%`xv^eJYACvD-y$c=GmnG_ zm6ipR{17YEzuaR(@_N@h>XG}nEJ(X2P*52bHYV*eY90>lCp$ ze_sx?6P2AVI|!31H+^N#+j@)lt4*rcm4FW}t5@Sr?z4i=9q9<&io=~f%N+O4{zI;^ z&BzlyR%bo!rQB3>R~_3zL?}yy1WnOg~=<%hwy|5?J%O zf8A;hV!-Ly$)VCNS=njR=8~T4Y$zo}k^&Qyj@P88)M{Xpx3NO@LX`EGzp67}VDpO#se+4qYi=|rt z^AMP#b0`xk=Y{TQywlw9`!u8@ZPe!cYqirWo2dJ31`7J_9IsHm(!Dq z*BLt(eCm)|^EZ0ypkdnHuGLz&&$xSECEDt>;+duDTAZOn3O zZWd(yKB(wo4@x#ak~7wEoskR%Ai8;Z#X%07i&2O<;WtkQKAU^mOKrfBr|h1w=6M&v z^0qWC2}t|M4%O}sa34#oA+zCA;<}gBL!A_@3{(_*=3oP){-c zr4qPpM9W8nx$>epe?gksuFA&sG*_~~dS%4OP+8Xqmv)KmmvzVRZ5mI3bWeqqa37SivE$x01674=7LlzjS zD1iQD(M~mWU>MXfX=dMx9RlsDAuEw&Ja^FhZ`QIN8)ljpFZQ;Lv^vo&i=-QJx?HOz zaB|vLX0~$GW;Y(pX~Y@vW1E_o5ng{@Q-V_J5@XsA?+@<}7a65o<(u3&eAhaXa;8^K&P^BySGE-LEwSvHr4)J`>q#Vvn(9jeN;846N$1Op8miGfh*q( zK74U}X>v_W`eSp*%i$dZ8&1$pfrFez?}~xkGr1jKnp}0+>wcDde9+T}v9!gjCwuip z&N#o(sNHCTVRwU()dz9ASZ1}dX)hq>6>8SkhMs1ltJb)Bv6vyP(H;N98=+m6M-RW{ zeR4*xU68x4x7%vOw%kNK{5{2#^ho9+XnS`5OHa$BZ8BJOSgXVS4kWpv;S0@80<~XI~^YPCsQ-K#s3*xrcrldT5(Jzsm1MIyu z4ihN~WumTfh3&MNgZ@TT)Sl!@cjoK`^LW@ghyEA4Ik~H?%Q<7sSF=_1lbq8wcro)$KW?KIeo_34wr<_D|p1 zz)wQJE_s%0hfO0VUe1-OG5$mB#jZ_XbVZV+Y@A`Zg)vI_vMls&wo?^ULpE~I}3T=YKdrwe9==e<|;QAy;Q)`WujZj zTAb}GtfIGRcDMbhJHv7nn*;cq;p3s+&=(z%A#9OsXnI=ux8(!%pLGF=7Iu>=Fd9R`lUf0!camA+*Z;~8D3|Gdjs-Nmut8#?3OMyti8eoBU@hl`tR zcZQ_y-@6B95c=D37MtCIl>Tr_=S%#xKF|}IBPKcot@9-V9gpVqa>h8s$f##IMBH`} zHn>?+xAY*wN@9UA!YTcNY2p=@Gd*AS^HSH}X0_<;8xOjR=V=JaNUb6iJKnFbONTmn)-h19?>$&*QpD-9@d}DfJ*`3duuC8qET&yaCTt@CV zPVmh#mIbN+YIiwnNMbcPVSjYisf)bMUupnKLw$};3+0OTs&*$?*LZ9g5(D&E{(I3=EfUF@E_EMml3>ceI%j^A971)wJO!Sh%>j61j}Sm&F(|tXXU6?{pDP zkwHGfy&H?6J&9iwGzRHp*WWT{YvtN5RJn6SVKF=NPt-mNrQ^5jz1xrY^?qn;0u^LU z0Gl3smtL^E+9jdV8T>fbTuG7=68E-XFE&FC@umlH|DE9@?`O5(+wS%lQ>&;*MWn;Q zqh-e$Y?W~7!r*sKr{o&n5nAz>#tP!&on_Q*{|qsp(cyI;iumwe{-|mGxqfOWPliL; zU=?FZMT{e7hNCXwg!Zc{Z`f83y=cQ(kv99p3dFHA_mP#-1YNVHa-`eSeJg|Txcy}W7m8$(( z1MRE+(#xLDm`Obl)lmKyD*fGR+THn;E67EIU_x%B)ldCx-uv-+^DNmGP*VTj{7nCr zRd)342S3NnJ)ui$uaPa*Qd*lzt@A8(b8J&3F(t^x715)u;He{>@~xCw15qrj?!Nfy z$txFt`fI8JUueFgW#6C}Q31J*8ycWLf$PB;)LN&<@9)+>xcj~1*<6=7A-`Vj9Exv= zfu?(PxAC6s=C^RBZ3zeMv)$KvwsU76cP2y|abH;=DS$O^j?G7xUD7#Yd~WGJva+$Y zjo%ayEq!3Cf1>;?-JV^ERM`>TTBv3}e;Mf>?fH`EB4S>6zKp z8tc``)&=TR*~_X0O-n&$XbU64 z(QJQPyaE%eyf;y?&jqfEr__BI7I)sfOWiP5&$t!3+Gdk!Y&!jH+ZL!ky4hOPy-zA^ zPHO(-@Sr^aE%@>J1hhf@N(uUUVX?ynG1P&-b=#-!u4~7461IxGp<~cISnmfmfxYK& zshu_;8>;sBQQ6LE z+|gr?2hCmO-E-*30Z4qj|NO2GejK`2@G`v7>YQ}w(}1X`de_(l`Npi4*d1QfyN@gK z_5P-xi`M70*Ce+`Yp>O!9Bh!7&7Bmn9HYvSkS=tEJ=tO8WxcgPNZzwv7U;|)@lTQU zVKe-TLxjRW?YEk{@3j$_LTE$BxXCycHz`p;U@D#ScC-1htrk$lqOH_v3wS$H2-n;{ zqmv(AI;*zR{&h0d#X{)W>Qej!s-U~qRW3Rd!u3t9UV4P%u@|>i{0@I3Rs8P-b>G~8 zzu5qfhn>Ak(Tu0(UoQ??b#0z)7StD<3Jz_P3gZPKm;x8XgV+~Q2fhtPE&Y#1CTfDo zA|4^|!#HgD7H(bje7a5;c`ncP)A?=Ct0|n<9BI44>bwrvX)t5;b=~bEvlcb%wOTWo zwzO|*XSe%{=TV)j`;608-Xd$lUXj2cpC0uJ)S>E8MGSiU>0&ToaC!~+(IPBC^Z1)E zXR_V`5;Y>ysr7sZp`X?gAO(^sk1YT6yqSoo{m{RE7_&E!7&O^|zP5`ty9xcZIBP}l z{u=zV$~LC%`)=84+1~oqN>|RNhc^pu@b;7=Fss3He)zhPMTH$G22P5*mORYr z6l-&XO{;K`$KRrczSq^2m~)P2><^>kpK_q@?R~7+jUtHr4yf!GTnjDWKLLH8K7Iqm zmC+vbrg={^Id}wiqo8O(4dn%<{qnt?GmA8nnS)=bew~|(udhSX!;IdjIa0OHTncds zrA$R?t))Bm1@;qd`Y+#5YEGO)_p4R80T9q}@5yllY!1?#FmbBsJjCWu&^VRzf|K+T zLleue?D^eDnucC)GO=l$B>pNnXnpJ20Z4sNoT1)FDfz~5yPIyoe3310cGd~cGf-g2 zsxZCd1KZJNt`eW(&1SuLbkspp&f1Cc#+uJ_XY=RtqR**kDv94f9FriQo&ia= zXZNT&LYnV!yH~)iwTFXh49HbcnYM>QNmcPy^~6RF^4@nESoq6&yU1VE`{?zJOo^R5 zQ8aQlie2;KY=nHG42h<8go*j&`t+nn+-|O|z~t~$fXfr5Cn`@aw&<(xKa%$h8T-yW z!qO@Il;!r}H=%}^)3l0&`3jLi{4sX6a#qt>$he>gNS`Lx!A#jm~3qCXvT#NQrw~y^9;~Cj*JhIxvN+vMl&}GMHhD7F{a2! z@Kj^s8W=2H6m|cefcOS{MZeT7Gre?~c`*zYETn1i-y8UHI(CFdQzhZZ`cEkkR*A*dQ%`X88feZ}2_(KCaO8Fn#=h2M- literal 0 HcmV?d00001 diff --git a/prost_example/all.html b/prost_example/all.html deleted file mode 100644 index dc89cc124..000000000 --- a/prost_example/all.html +++ /dev/null @@ -1,7 +0,0 @@ -List of all items in this crate - -

    List of all items[] - -

    Structs

    Functions

    - \ No newline at end of file diff --git a/prost_example/fn.index.html b/prost_example/fn.index.html deleted file mode 100644 index eca1eb9d6..000000000 --- a/prost_example/fn.index.html +++ /dev/null @@ -1,5 +0,0 @@ -prost_example::index - Rust - -

    Function prost_example::index[][src]

    pub(crate) async fn index(msg: ProtoBuf<MyObj>) -> Result<HttpResponse>
    - \ No newline at end of file diff --git a/prost_example/fn.main.html b/prost_example/fn.main.html deleted file mode 100644 index ca20712af..000000000 --- a/prost_example/fn.main.html +++ /dev/null @@ -1,5 +0,0 @@ -prost_example::main - Rust - -

    Function prost_example::main[][src]

    pub(crate) fn main() -> Result<()>
    - \ No newline at end of file diff --git a/prost_example/index.html b/prost_example/index.html deleted file mode 100644 index 1bd63a269..000000000 --- a/prost_example/index.html +++ /dev/null @@ -1,7 +0,0 @@ -prost_example - Rust - -

    Crate prost_example[][src]

    Structs

    -
    MyObj

    Functions

    -
    index
    main
    - \ No newline at end of file diff --git a/prost_example/sidebar-items.js b/prost_example/sidebar-items.js deleted file mode 100644 index 86fee7d81..000000000 --- a/prost_example/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -initSidebarItems({"fn":[["index",""],["main",""]],"struct":[["MyObj",""]]}); \ No newline at end of file diff --git a/prost_example/struct.MyObj.html b/prost_example/struct.MyObj.html deleted file mode 100644 index 41f476fd8..000000000 --- a/prost_example/struct.MyObj.html +++ /dev/null @@ -1,43 +0,0 @@ -prost_example::MyObj - Rust - -

    Struct prost_example::MyObj[][src]

    pub struct MyObj {
    -    pub number: i32,
    -    pub name: String,
    -}

    - Fields

    number: i32name: String

    Trait Implementations

    impl Clone for MyObj[src]

    impl Debug for MyObj[src]

    impl Default for MyObj[src]

    impl Message for MyObj[src]

    impl PartialEq<MyObj> for MyObj[src]

    impl StructuralPartialEq for MyObj[src]

    Auto Trait Implementations

    impl RefUnwindSafe for MyObj

    impl Send for MyObj

    impl Sync for MyObj

    impl Unpin for MyObj

    impl UnwindSafe for MyObj

    Blanket Implementations

    impl<T> Any for T where
        T: 'static + ?Sized
    [src]

    impl<T> Borrow<T> for T where
        T: ?Sized
    [src]

    impl<T> BorrowMut<T> for T where
        T: ?Sized
    [src]

    impl<T> From<T> for T[src]

    impl<T> Instrument for T[src]

    impl<T, U> Into<U> for T where
        U: From<T>, 
    [src]

    impl<T> Same<T> for T

    type Output = T

    Should always be Self

    -

    impl<T> ToOwned for T where
        T: Clone
    [src]

    type Owned = T

    The resulting type after obtaining ownership.

    -

    impl<T, U> TryFrom<U> for T where
        U: Into<T>, 
    [src]

    type Error = Infallible

    The type returned in the event of a conversion error.

    -

    impl<T, U> TryInto<U> for T where
        U: TryFrom<T>, 
    [src]

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.

    -

    impl<V, T> VZip<V> for T where
        V: MultiLane<T>, 

    - \ No newline at end of file diff --git a/rustdoc.css b/rustdoc.css index e86df6115..91a1f447b 100644 --- a/rustdoc.css +++ b/rustdoc.css @@ -1 +1 @@ - @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff") format('woff');font-display:swap;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif 4",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;font-family:"Fira Sans",Arial,sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code{padding:0;padding-right:1ex;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}#theme-picker,#settings-menu,.help-button,#copy-path{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}.help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;padding-top:2px;}#copy-path{height:30px;font-size:18px;margin-left:10px;padding:0 6px;width:28px;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;} \ No newline at end of file + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2"),url("SourceSerif4-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2"),url("SourceSerif4-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2"),url("SourceSerif4-Bold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2"),url("SourceCodePro-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2"),url("SourceCodePro-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),url("SourceCodePro-Semibold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Noto Sans KR';src:url("noto-sans-kr-v13-korean-regular.woff") format("woff");font-display:swap;unicode-range:U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif 4","Noto Sans KR",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3,h4{font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{display:flex;border-bottom:1px dashed;margin-top:0;padding-left:1px;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3,h4{border-bottom:1px solid;}.impl,.impl-items .method,.impl-items .type,.impl-items .associatedconstant,.impl-items .associatedtype{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}.impl,.method.trait-impl,.type.trait-impl,.associatedconstant.trait-impl,.associatedtype.trait-impl{padding-left:15px;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,div.item-list .out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,details.undocumented>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code{padding:0;padding-right:1ex;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.location a:hover{text-decoration:underline;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}.top-doc .docblock h1{font-size:1.3em;}.top-doc .docblock h2{font-size:1.15em;}.top-doc .docblock h3,.top-doc .docblock h4,.top-doc .docblock h5{font-size:1em;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{flex-grow:0;text-align:right;font-size:23px;margin:0px;padding:0 0 0 12px;font-weight:normal;}.method>code,.trait-impl>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant,.impl-items>.associatedtype,.content .impl-items details>summary>.type,.impl-items details>summary>.associatedconstant,.impl-items details>summary>.associatedtype{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,.method>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.item-table{display:grid;column-gap:1.2rem;row-gap:0.0rem;grid-template-columns:auto 1fr;justify-items:start;}.item-left,.item-right{display:block;}.item-left{grid-column:1;}.item-right{grid-column:2;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;font-weight:normal;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.impl-items .since,.impl .since,.methods .since{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-size:17px;font-weight:normal;}.rightside{float:right;}.has-srclink{font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.code-attribute{font-weight:300;}.since+.srclink{padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.sub-variant,.sub-variant>h3{margin-top:0px !important;padding-top:1px;}#main>details>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}#main>.variant,#main>.structfield{display:block;}:target>code{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:19px;font-weight:600;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,#help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}#theme-picker,#settings-menu,#help-button,#copy-path{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary,details.undocumented>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker,details.undocumented>summary::-webkit-details-marker,details.undocumented>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"[+]";font-weight:300;font-size:0.8em;letter-spacing:1px;cursor:pointer;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:16px;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-23px;top:3px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,.undocumented>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-2px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle,details.undocumented{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before{content:"[−]";display:inline;}details.undocumented>summary::before{content:"[+] Show hidden undocumented items";cursor:pointer;font-size:16px;font-weight:300;}details.undocumented[open] >summary::before{content:"[−] Hide undocumented items";}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{overflow:hidden;border-bottom:none;margin-bottom:0;height:100%;padding-left:12px;}.sidebar>.block.version>div.narrow-helper{float:left;width:1px;height:100%;}.sidebar>.block.version>p{margin:0;min-width:55px;display:flex;align-items:center;height:100%;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}#search{margin-left:0;}.anchor{display:none !important;}.theme-picker{left:10px;top:54px;z-index:1;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main>details.rustdoc-toggle>summary::before,#main>div>details.rustdoc-toggle>summary::before{left:-11px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-container>div{width:calc(100% - 32px);}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}}@media print{nav.sub,.content .out-of-band{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}} \ No newline at end of file diff --git a/search-index.js b/search-index.js index 81ffc2263..65a85f7e6 100644 --- a/search-index.js +++ b/search-index.js @@ -1,10 +1,9 @@ var searchIndex = JSON.parse('{\ "actix_cors":{"doc":"Cross-Origin Resource Sharing (CORS) controls for Actix …","t":[13,13,3,4,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["BadRequestHeaders","BadRequestMethod","Cors","CorsError","HeadersNotAllowed","MethodNotAllowed","MissingOrigin","MissingRequestMethod","OriginNotAllowed","WildcardOrigin","allow_any_header","allow_any_method","allow_any_origin","allowed_header","allowed_headers","allowed_methods","allowed_origin","allowed_origin_fn","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","disable_preflight","disable_vary_header","error_response","expose_any_header","expose_headers","fmt","fmt","fmt","from","from","into","into","max_age","new_transform","permissive","send_wildcard","status_code","supports_credentials","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":["actix_cors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Request header Access-Control-Request-Headers has an …","Request header Access-Control-Request-Method has an …","Builder for CORS middleware.","Errors that can occur when processing CORS guarded …","One or more request headers are not allowed.","Request method is not allowed.","Request header Origin is required but was not provided.","Request header Access-Control-Request-Method is required …","Origin is not allowed to make this request.","Allowed origin argument must not be wildcard (*).","Resets allowed request header list to a state where any …","Resets allowed methods list to all methods.","Resets allowed origin list to a state where any origin is …","Add an allowed request header.","Set a list of request header field names which can be …","Set a list of methods which allowed origins can perform.","Add an origin that is allowed to make requests.","Determinate allowed origins by processing requests which …","","","","","","","A restrictive (security paranoid) set of defaults.","Disable support for preflight requests.","Disable Vary header support.","","Resets exposed response header list to a state where any …","Set a list of headers which are safe to expose to the API …","","","","","","","","Set a maximum time (in seconds) for which this CORS …","","A very permissive set of default for quick development. …","Set to use wildcard origins.","","Allows users to make authenticated requests","","","","","","","","","",""],"i":[1,1,0,0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,2,1,1,1,2,2,2,1,2,2,2,1,1,2,1,2,1,2,2,2,2,1,2,1,1,2,1,2,1,2,1,2,1],"f":[null,null,null,null,null,null,null,null,null,null,[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[["str",15]],["cors",3]],[[],["cors",3]],[[]],[[]],[[]],[[]],[[],["corserror",4]],[[]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["httpresponse",3]],[[],["cors",3]],[[],["cors",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["cors",3]],[[]],[[]],[[],["cors",3]],[[],["statuscode",3]],[[],["cors",3]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]]],"p":[[4,"CorsError"],[3,"Cors"]]},\ -"actix_identity":{"doc":"Opinionated request identity service for Actix Web apps.","t":[3,16,3,8,3,8,16,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["CookieIdentityPolicy","Future","Identity","IdentityPolicy","IdentityService","RequestIdentity","ResponseFuture","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","domain","forget","from","from","from","from_request","from_request","from_request","get_identity","http_only","identity","into","into","into","login_deadline","max_age","max_age_secs","name","new","new","new_transform","path","remember","same_site","secure","to_owned","to_response","to_response","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visit_deadline","vzip","vzip","vzip"],"q":["actix_identity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Use cookies for request identity storage.","The return type of the middleware","The extractor type to obtain your identity from a request.","Identity policy.","Request identity middleware","Helper trait that allows to get Identity.","The return type of the middleware","","","","","","","","","Sets the Domain attribute of issued cookies.","This method is used to ‘forget’ the current identity …","","","","Parse the session from request and load data from a …","","","","Sets the HttpOnly attribute of issued cookies.","Return the claimed identity of the user associated …","","","","Accepts only users who authenticated within the given …","Sets the Max-Age attribute of issued cookies.","Sets the Max-Age attribute of issued cookies with given …","Sets the name of issued cookies.","Create new CookieIdentityPolicy instance.","Create new identity service with specified backend.","","Sets the Path attribute of issued cookies.","Remember identity.","Sets the SameSite attribute of issued cookies.","Sets the Secure attribute of issued cookies.","","Write changes to response","","","","","","","","","","","Accepts only users who have visited within given deadline.","","",""],"i":[0,1,0,0,0,0,1,2,3,4,2,3,4,4,4,2,4,2,3,4,1,2,4,5,2,4,2,3,4,2,2,2,2,2,3,3,2,4,2,2,4,1,2,2,3,4,2,3,4,2,3,4,2,2,3,4],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["identity",3]],[[]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[]],[[]],[[["servicerequest",3]]],[[["servicerequest",3]]],[[["httprequest",3],["payload",4]]],[[],[["option",4],["string",3]]],[[["bool",15]]],[[],[["option",4],["string",3]]],[[]],[[]],[[]],[[["duration",3]],["cookieidentitypolicy",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[["i64",15]],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[],["cookieidentitypolicy",3]],[[["string",3]]],[[["samesite",4]]],[[["bool",15]],["cookieidentitypolicy",3]],[[]],[[["serviceresponse",3],["option",4],["string",3],["bool",15]]],[[["serviceresponse",3],["option",4],["string",3],["bool",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[]],[[]],[[]]],"p":[[8,"IdentityPolicy"],[3,"CookieIdentityPolicy"],[3,"IdentityService"],[3,"Identity"],[8,"RequestIdentity"]]},\ -"actix_protobuf":{"doc":"","t":[12,13,13,13,13,3,3,3,4,8,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","ContentType","Deserialize","Overflow","Payload","ProtoBuf","ProtoBufConfig","ProtoBufMessage","ProtoBufPayloadError","ProtoBufResponseBuilder","Serialize","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref_mut","error_response","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_request","into","into","into","into","into_future","limit","limit","new","poll","protobuf","respond_to","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_poll","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip"],"q":["actix_protobuf","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Content type error","Deserialize error","Payload size is bigger than 256k","Payload error","","","","","","Serialize error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change max size of payload. By default max size is 256Kb","Change max size of payload. By default max size is 256Kb","Create ProtoBufMessage for request.","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,2,2,2,2,0,0,0,0,0,2,1,3,4,2,1,3,4,2,3,1,1,2,1,1,2,2,1,3,4,2,2,2,1,1,3,4,2,4,3,4,4,4,5,1,1,2,1,3,4,2,1,3,4,2,4,1,3,4,2,1,3,4,2],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["protobufdecodeerror",3]],["protobufpayloaderror",4]],[[["payloaderror",4]],["protobufpayloaderror",4]],[[["payload",4],["httprequest",3]]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["payload",4],["httprequest",3]]],[[["pin",3],["context",3]],["poll",4]],[[["message",8]],[["error",3],["result",4],["httpresponse",3]]],[[["httprequest",3]],["httpresponse",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["pin",3],["context",3]],["poll",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]]],"p":[[3,"ProtoBuf"],[4,"ProtoBufPayloadError"],[3,"ProtoBufConfig"],[3,"ProtoBufMessage"],[8,"ProtoBufResponseBuilder"]]},\ -"actix_redis":{"doc":"Redis integration for Actix and session store for Actix …","t":[12,13,13,3,13,13,4,13,13,13,13,13,13,13,13,13,13,3,3,13,4,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","Array","BulkString","Command","Connection","Disconnected","Error","Error","IO","Integer","Internal","Lax","Nil","None","NotConnected","RESP","Redis","RedisActor","RedisSession","Remote","RespError","RespValue","SameSite","SimpleString","Strict","Unexpected","append","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache_keygen","clone","clone","clone_into","clone_into","cookie_domain","cookie_http_only","cookie_max_age","cookie_name","cookie_path","cookie_same_site","cookie_secure","eq","eq","equivalent","equivalent","error","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_resp_int","get_hash","handle","handle","hash","into","into","into","into","into","into","into","is_lax","is_none","is_strict","ne","new","new_transform","push","restarting","source","source","start","started","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ttl","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["actix_redis","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Zero, one or more other RespValues.","A bulk string. In Redis terminology a string is a …","Command for send data to Redis","Error creating a connection, or an error with a …","Cancel all waters when connection get dropped","General purpose actix redis error","An error from the Redis server","An IO error occurred","Redis documentation defines an integer as being a signed …","A non-specific internal error that prevented an operation …","The “Lax” SameSite attribute.","","The “None” SameSite attribute.","Receiving message during reconnecting","A RESP parsing/serialising error occurred","","Redis communication actor","Use redis as session storage.","A remote error","","A single RESP value, this owns the data that is …","The SameSite cookie attribute.","","The “Strict” SameSite attribute.","An unexpected error. In this context “unexpected” …","Convenience function for building dynamic Redis commands …","","","","","","","","","","","","","","","Set a custom cache key generation strategy, expecting …","","","","","Set custom cookie domain.","Set custom cookie HttpOnly policy.","Set custom cookie max-age.","Set custom cookie name for session ID.","Set custom cookie path.","Set custom cookie SameSite attribute.","Set custom cookie secure.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if self is SameSite::Lax and false otherwise.","Returns true if self is SameSite::None and false …","Returns true if self is SameSite::Strict and false …","","Create new redis session backend","","Push item to Resp array","","","","Start new Supervisor with RedisActor.","","","","","","","","","","","","","","","","","","","","","Set time to live in seconds for session value.","","","","","","","","","","","","","",""],"i":[1,2,2,0,3,4,0,2,3,2,3,5,2,5,4,3,4,0,0,3,0,0,0,2,5,3,2,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,2,5,2,5,7,7,7,7,7,7,7,2,5,2,5,6,1,4,4,2,3,3,5,5,6,7,1,4,4,2,2,2,2,2,2,2,2,3,3,3,5,2,5,6,6,5,6,7,1,4,2,3,5,5,5,5,2,7,7,2,6,4,3,6,6,2,5,4,3,5,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,6,7,1,4,2,3,5,6,7,1,4,2,3,5],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["respvalue",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3],["fn",8]]],[[],["respvalue",4]],[[],["samesite",4]],[[]],[[]],[[["str",15]]],[[["bool",15]]],[[]],[[["str",15]]],[[["str",15]]],[[["samesite",4]]],[[["bool",15]]],[[["respvalue",4]],["bool",15]],[[["samesite",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["error",3]],["running",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[]],[[]],[[]],[[]],[[["error",4]],["error",4]],[[["string",3]],["respvalue",4]],[[["str",15]],["respvalue",4]],[[],["respvalue",4]],[[["str",15],["arc",3]],["respvalue",4]],[[["string",3]],["respvalue",4]],[[["vec",3],["global",3],["u8",15]],["respvalue",4]],[[["usize",15]],["respvalue",4]],[[]],[[["error",3]],["error",4]],[[["trysenderror",3]],["error",4]],[[]],[[]],[[["respvalue",4]],[["result",4],["respvalue",4],["error",4]]],[[],["u64",15]],[[["command",3]]],[[["result",4],["respvalue",4],["resperror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["respvalue",4]],["bool",15]],[[["into",8],["string",3]],["redissession",3]],[[]],[[]],[[]],[[],[["error",8],["option",4]]],[[],[["error",8],["option",4]]],[[["into",8],["string",3]],[["addr",3],["redisactor",3]]],[[["context",3]]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["u32",15]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Command"],[4,"RespValue"],[4,"RespError"],[4,"Error"],[4,"SameSite"],[3,"RedisActor"],[3,"RedisSession"]]},\ -"actix_session":{"doc":"Sessions for Actix Web.","t":[13,3,13,13,3,4,13,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Changed","CookieSession","Purged","Renewed","Session","SessionStatus","Unchanged","UserSession","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone_into","default","domain","entries","eq","expires_in","expires_in_time","fmt","from","from","from","from_request","get","get_changes","get_session","http_only","insert","into","into","into","lazy","max_age","max_age_time","name","new_transform","path","private","purge","remove","remove_as","renew","same_site","secure","set_session","signed","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":["actix_session","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Session has been updated and requires a new persist …","Use cookies for session storage.","Session is flagged for deletion and should be removed …","Session is flagged for refresh.","The high-level interface you use to modify session data.","Status of a [Session].","Session is unchanged from when last seen (if exists).","Extraction of a [Session] object.","","","","","","","Clear the session.","","","","Sets the domain field in the session cookie being built.","Get all raw key-value data from the session.","","Sets the expires field in the session cookie being built.","Sets the expires field in the session cookie being built.","","","","","","Get a value from the session.","Returns session status and iterator of key-value pairs of …","Extract the [Session] object","Sets the http_only field in the session cookie being …","Inserts a key-value pair into the session.","","","","When true, prevents adding session cookies to responses …","Sets the max-age field in the session cookie being built.","Sets the max-age field in the session cookie being built.","Sets the name field in the session cookie being built.","","Sets the path field in the session cookie being built.","Construct new private CookieSession instance.","Removes session both client and server side.","Remove value from the session.","Remove value from the session and deserialize.","Renews the session key, assigning existing session state …","Sets the same_site field in the session cookie being …","Sets the secure field in the session cookie being built.","Adds the given key-value pairs to the session on the …","Construct new signed CookieSession instance.","","","","","","","","","","","","",""],"i":[1,0,1,1,0,0,1,0,2,3,1,2,3,1,3,1,1,1,2,3,1,2,2,1,2,3,1,3,3,3,4,2,3,2,3,1,2,2,2,2,2,2,2,3,3,3,3,2,2,3,2,1,2,3,1,2,3,1,2,3,1,2,3,1],"f":[null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["sessionstatus",4]],[[]],[[],["sessionstatus",4]],[[["into",8],["string",3]],["cookiesession",3]],[[],[["hashmap",3],["ref",3]]],[[["sessionstatus",4]],["bool",15]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["str",15]],[["result",4],["option",4],["error",3]]],[[["serviceresponse",3]]],[[],["session",3]],[[["bool",15]],["cookiesession",3]],[[],[["result",4],["error",3]]],[[]],[[]],[[]],[[["bool",15]],["cookiesession",3]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["into",8],["string",3]],["cookiesession",3]],[[]],[[["into",8],["string",3]],["cookiesession",3]],[[],["cookiesession",3]],[[]],[[["str",15]],[["option",4],["string",3]]],[[["str",15]],[["option",4],["result",4]]],[[]],[[["samesite",4]],["cookiesession",3]],[[["bool",15]],["cookiesession",3]],[[["servicerequest",3]]],[[],["cookiesession",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]]],"p":[[4,"SessionStatus"],[3,"CookieSession"],[3,"Session"],[8,"UserSession"]]},\ -"actix_web_httpauth":{"doc":"HTTP authentication schemes for actix-web.","t":[0,0,0,8,8,3,16,16,16,0,0,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,3,13,3,3,13,13,13,4,8,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,8,3,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["extractors","headers","middleware","AuthExtractor","AuthExtractorConfig","AuthenticationError","Error","Future","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","from_service_request","into","into_inner","new","status_code","status_code_mut","to_string","try_from","try_into","type_id","vzip","with_error","with_error_description","with_error_uri","BasicAuth","Config","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","fmt","fmt","from","from","from_request","from_service_request","into","into","into_inner","password","realm","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","user_id","vzip","vzip","BearerAuth","Config","Error","InsufficientScope","InvalidRequest","InvalidToken","as_ref","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","default","eq","equivalent","fmt","fmt","fmt","fmt","from","from","from","from_request","from_service_request","get_hash","hash","into","into","into","into_inner","partial_cmp","realm","scope","status_code","to_owned","to_owned","to_owned","to_string","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","authorization","www_authenticate","Authorization","Base64DecodeError","Basic","Bearer","Invalid","MissingField","MissingScheme","ParseError","Scheme","ToStrError","Utf8Error","as_mut","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","default","eq","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_hash","hash","into","into","into","into","into_scheme","name","ne","ne","ne","new","new","parse","parse","parse","parse","partial_cmp","partial_cmp","partial_cmp","password","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","token","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_header_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","0","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","from","get_hash","hash","into","name","ne","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_header_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","fmt","from","get_hash","hash","into","ne","new","partial_cmp","to_owned","to_string","try_from","try_into","try_into_value","type_id","vzip","with_realm","Bearer","BearerBuilder","Error","InsufficientScope","InvalidRequest","InvalidToken","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone_into","cmp","default","default","eq","equivalent","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","get_hash","hash","into","into","ne","partial_cmp","realm","scope","to_owned","to_string","try_from","try_from","try_into","try_into","try_into_value","type_id","type_id","vzip","vzip","HttpAuthentication","basic","bearer","borrow","borrow_mut","clone","clone_into","fmt","from","into","new_transform","to_owned","try_from","try_into","type_id","vzip","with_fn"],"q":["actix_web_httpauth","","","actix_web_httpauth::extractors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::basic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers","","actix_web_httpauth::headers::authorization","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::basic","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::middleware","","","","","","","","","","","","","","","",""],"d":["Type-safe authentication information extractors","Typed HTTP headers","HTTP Authentication middleware.","Trait implemented by types that can extract HTTP …","Trait implemented for types that provides configuration …","Authentication error returned by authentication …","The associated error which can be returned.","Future that resolves into extracted credentials type.","Associated challenge type.","Extractor for the “Basic” HTTP Authentication Scheme","Extractor for the “Bearer” HTTP Authentication Scheme","","","Returns mutable reference to the inner challenge instance.","","","","","","Parse the authentication credentials from the actix’ …","","Convert the config instance into a HTTP challenge.","Creates new authentication error from the provided …","","Returns mutable reference to the inner status code.","","","","","","Attach Error to the current Authentication error.","Attach error description to the current Authentication …","Attach error URI to the current Authentication error.","Extractor for HTTP Basic auth.","BasicAuth extractor configuration, used for …","","","","","","","","","","","","","","","","","","","","Returns client’s password.","Set challenge realm attribute.","","","","","","","","","Returns client’s user-ID.","","","Extractor for HTTP Bearer auth","BearerAuth extractor configuration.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set challenge realm attribute.","Set challenge scope attribute.","Returns HTTP status code suitable for current error type.","","","","","Returns bearer token provided by client.","","","","","","","","","","","","","Authorization header and various auth schemes","WWW-Authenticate header and various auth challenges","Authorization header, defined in RFC 7235","Malformed base64 string","Credentials for Basic authentication scheme, defined in …","Credentials for Bearer authentication scheme, defined in …","Header value is malformed","Required authentication field is missing","Authentication scheme is missing","Possible errors while parsing Authorization header.","Authentication scheme for Authorization header.","Unable to convert header into the str","Malformed UTF-8 string","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consumes Authorization header and returns inner Scheme …","","","","","Creates Basic credentials with provided user_id and …","Creates new Bearer credentials with the token provided.","Try to parse the authentication scheme from the …","","","","","","","Returns client’s password if provided.","","","","","","","","","Gets reference to the credentials token.","","","","","","","","","","","","","","","","","Returns client’s user-ID.","","","","","","Authentication challenge for WWW-Authenticate header.","WWW-Authenticate header, described in RFC 7235","Challenge for the “Basic” HTTP Authentication Scheme","Challenge for the “Bearer” HTTP Authentication Scheme","","","","","","","","","","","","","","","","","","Converts the challenge into a bytes suitable for HTTP …","","","","","","","","Challenge for WWW-Authenticate header with HTTP Basic …","","","","","","","","","","","","","","","","Creates new Basic challenge with an empty realm field.","","","","","","","","","Creates new Basic challenge from the provided realm field …","Challenge for WWW-Authenticate header with HTTP Bearer …","Builder for the Bearer challenge.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","Creates the builder for Bearer challenge.","","","","","","","","Provides the error attribute, as defined in RFC6750, …","Provides the error_description attribute, as defined in …","Provides the error_uri attribute, as defined in RFC6750, …","Consumes the builder and returns built Bearer instance.","","","","","","","","","","","","Provides the realm attribute, as defined in RFC2617","Provides the scope attribute, as defined in RFC6749, …","","","","","","","","","","","","Middleware for checking HTTP authentication.","Construct HttpAuthentication middleware for the HTTP “…","Construct HttpAuthentication middleware for the HTTP “…","","","","","","","","","","","","","","Construct HttpAuthentication middleware with the provided …"],"i":[0,0,0,0,0,0,1,1,2,0,0,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,3,3,3,0,0,4,4,5,4,5,4,5,4,5,4,4,5,4,5,5,5,4,5,4,5,4,4,5,4,5,4,5,4,5,5,4,5,0,0,0,6,6,6,7,7,8,6,7,8,6,7,8,6,7,8,6,6,7,6,6,7,8,6,6,7,8,6,8,8,6,6,7,8,6,7,6,7,7,6,7,8,6,6,8,7,8,6,7,8,6,7,8,6,7,8,6,0,0,0,9,0,0,9,9,9,0,0,9,9,10,10,9,10,11,12,9,10,11,12,10,11,12,10,11,12,10,11,12,10,10,11,12,10,11,12,9,9,10,10,11,11,12,12,9,9,9,9,10,10,10,11,12,10,10,9,10,11,12,10,10,10,11,12,11,12,13,10,11,12,10,11,12,11,9,10,11,12,9,10,11,12,12,9,10,11,12,9,10,11,12,10,10,11,12,9,10,11,12,11,9,10,11,12,14,0,0,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,14,14,14,14,14,14,14,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,6,6,6,17,18,17,18,18,18,18,18,17,18,18,18,17,17,17,17,17,18,18,17,18,18,18,17,18,18,18,17,17,18,18,17,18,17,18,18,17,18,17,18,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["servicerequest",3]]],[[]],[[]],[[],["authenticationerror",3]],[[],["statuscode",3]],[[],["statuscode",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[["error",4]]],[[]],[[]],null,null,[[],["challenge",3]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["basicauth",3]],[[]],[[]],[[],["config",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[]],[[]],[[]],[[],[["cow",4],["option",4]]],[[],["config",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],null,null,null,null,null,null,[[],["bearer",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["bearerauth",3]],[[],["error",4]],[[]],[[]],[[]],[[["error",4]],["ordering",4]],[[],["config",3]],[[["error",4]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[["error",4]],[["option",4],["ordering",4]]],[[["cow",4],["into",8]],["config",3]],[[["cow",4],["into",8]],["config",3]],[[],["statuscode",3]],[[]],[[]],[[]],[[],["string",3]],[[],["str",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["authorization",3]],[[],["basic",3]],[[],["bearer",3]],[[]],[[]],[[]],[[["authorization",3]],["ordering",4]],[[["basic",3]],["ordering",4]],[[["bearer",3]],["ordering",4]],[[],["authorization",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["utf8error",3]]],[[["decodeerror",4]]],[[["tostrerror",3]]],[[]],[[]],[[],["authorization",3]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["headername",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[["option",4]],["basic",3]],[[],["bearer",3]],[[["headervalue",3]],[["parseerror",4],["result",4]]],[[],[["result",4],["parseerror",4]]],[[["headervalue",3]],[["parseerror",4],["result",4]]],[[["headervalue",3]],[["parseerror",4],["result",4]]],[[["authorization",3]],[["option",4],["ordering",4]]],[[["basic",3]],[["option",4],["ordering",4]]],[[["bearer",3]],[["option",4],["ordering",4]]],[[],[["cow",4],["option",4]]],[[],[["option",4],["error",8]]],[[]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["cow",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],[["result",4],["headervalue",3]]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[],["wwwauthenticate",3]],[[]],[[["wwwauthenticate",3]],["ordering",4]],[[],["wwwauthenticate",3]],[[["wwwauthenticate",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[],["headername",3]],[[["wwwauthenticate",3]],["bool",15]],[[],[["result",4],["parseerror",4]]],[[["wwwauthenticate",3]],[["option",4],["ordering",4]]],[[],["bytes",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[]],null,[[]],[[]],[[],["basic",3]],[[]],[[["basic",3]],["ordering",4]],[[],["basic",3]],[[["basic",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[["basic",3]],["bool",15]],[[],["basic",3]],[[["basic",3]],[["option",4],["ordering",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[]],[[],["basic",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[]],[[["bearer",3]],["ordering",4]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[["error",4]]],[[]],[[]],[[],["bearer",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[["bearer",3]],["bool",15]],[[["bearer",3]],[["option",4],["ordering",4]]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,[[]],[[]],[[]],[[]],[[],["httpauthentication",3]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["httpauthentication",3]]],"p":[[8,"AuthExtractor"],[8,"AuthExtractorConfig"],[3,"AuthenticationError"],[3,"Config"],[3,"BasicAuth"],[4,"Error"],[3,"Config"],[3,"BearerAuth"],[4,"ParseError"],[3,"Authorization"],[3,"Basic"],[3,"Bearer"],[8,"Scheme"],[3,"WwwAuthenticate"],[8,"Challenge"],[3,"Basic"],[3,"BearerBuilder"],[3,"Bearer"],[3,"HttpAuthentication"]]},\ -"prost_example":{"doc":"","t":[3,11,11,11,11,11,11,11,11,11,11,11,5,11,5,11,12,11,12,11,11,11,11,11],"n":["MyObj","borrow","borrow_mut","clear","clone","clone_into","default","encode_raw","encoded_len","eq","fmt","from","index","into","main","merge_field","name","ne","number","to_owned","try_from","try_into","type_id","vzip"],"q":["prost_example","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1],"f":[null,[[]],[[]],[[]],[[],["myobj",3]],[[]],[[]],[[]],[[],["usize",15]],[[["myobj",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["protobuf",3],["myobj",3]]],[[]],[[],["result",6]],[[["u32",15],["decodecontext",3],["wiretype",4]],[["result",4],["decodeerror",3]]],null,[[["myobj",3]],["bool",15]],null,[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]]],"p":[[3,"MyObj"]]}\ +"actix_identity":{"doc":"Opinionated request identity service for Actix Web apps.","t":[3,16,3,8,3,8,16,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["CookieIdentityPolicy","Future","Identity","IdentityPolicy","IdentityService","RequestIdentity","ResponseFuture","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","domain","forget","from","from","from","from_request","from_request","from_request","get_identity","http_only","identity","into","into","into","login_deadline","max_age","max_age_secs","name","new","new","new_transform","path","remember","same_site","secure","to_owned","to_response","to_response","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visit_deadline","vzip","vzip","vzip"],"q":["actix_identity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Use cookies for request identity storage.","The return type of the middleware","The extractor type to obtain your identity from a request.","Identity policy.","Request identity middleware","Helper trait that allows to get Identity.","The return type of the middleware","","","","","","","","","Sets the Domain attribute of issued cookies.","This method is used to ‘forget’ the current identity …","","","","Parse the session from request and load data from a …","","","","Sets the HttpOnly attribute of issued cookies.","Return the claimed identity of the user associated …","","","","Accepts only users who authenticated within the given …","Sets the Max-Age attribute of issued cookies.","Sets the Max-Age attribute of issued cookies with given …","Sets the name of issued cookies.","Create new CookieIdentityPolicy instance.","Create new identity service with specified backend.","","Sets the Path attribute of issued cookies.","Remember identity.","Sets the SameSite attribute of issued cookies.","Sets the Secure attribute of issued cookies.","","Write changes to response","","","","","","","","","","","Accepts only users who have visited within given deadline.","","",""],"i":[0,1,0,0,0,0,1,2,3,4,2,3,4,4,4,2,4,2,3,4,1,2,4,5,2,4,2,3,4,2,2,2,2,2,3,3,2,4,2,2,4,1,2,2,3,4,2,3,4,2,3,4,2,2,3,4],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["identity",3]],[[]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[]],[[]],[[["servicerequest",3]]],[[["servicerequest",3]]],[[["payload",4],["httprequest",3]]],[[],[["option",4],["string",3]]],[[["bool",15]]],[[],[["option",4],["string",3]]],[[]],[[]],[[]],[[["duration",3]],["cookieidentitypolicy",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[["i64",15]],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[],["cookieidentitypolicy",3]],[[["string",3]]],[[["samesite",4]]],[[["bool",15]],["cookieidentitypolicy",3]],[[]],[[["serviceresponse",3],["option",4],["bool",15],["string",3]]],[[["serviceresponse",3],["option",4],["bool",15],["string",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[]],[[]],[[]]],"p":[[8,"IdentityPolicy"],[3,"CookieIdentityPolicy"],[3,"IdentityService"],[3,"Identity"],[8,"RequestIdentity"]]},\ +"actix_protobuf":{"doc":"","t":[12,13,13,13,13,3,3,3,4,8,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","ContentType","Deserialize","Overflow","Payload","ProtoBuf","ProtoBufConfig","ProtoBufMessage","ProtoBufPayloadError","ProtoBufResponseBuilder","Serialize","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref_mut","error_response","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_request","into","into","into","into","into_future","limit","limit","new","poll","protobuf","respond_to","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_poll","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip"],"q":["actix_protobuf","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Content type error","Deserialize error","Payload size is bigger than 256k","Payload error","","","","","","Serialize error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change max size of payload. By default max size is 256Kb","Change max size of payload. By default max size is 256Kb","Create ProtoBufMessage for request.","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,2,2,2,2,0,0,0,0,0,2,1,3,4,2,1,3,4,2,3,1,1,2,1,1,2,2,1,3,4,2,2,2,1,1,3,4,2,4,3,4,4,4,5,1,1,2,1,3,4,2,1,3,4,2,4,1,3,4,2,1,3,4,2],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["payloaderror",4]],["protobufpayloaderror",4]],[[["protobufdecodeerror",3]],["protobufpayloaderror",4]],[[["httprequest",3],["payload",4]]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["httprequest",3],["payload",4]]],[[["pin",3],["context",3]],["poll",4]],[[["message",8]],[["httpresponse",3],["error",3],["result",4]]],[[["httprequest",3]],["httpresponse",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["pin",3],["context",3]],["poll",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]]],"p":[[3,"ProtoBuf"],[4,"ProtoBufPayloadError"],[3,"ProtoBufConfig"],[3,"ProtoBufMessage"],[8,"ProtoBufResponseBuilder"]]},\ +"actix_redis":{"doc":"Redis integration for Actix and session store for Actix …","t":[12,13,13,3,13,13,4,13,13,13,13,13,13,13,13,13,13,3,3,13,4,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","Array","BulkString","Command","Connection","Disconnected","Error","Error","IO","Integer","Internal","Lax","Nil","None","NotConnected","RESP","Redis","RedisActor","RedisSession","Remote","RespError","RespValue","SameSite","SimpleString","Strict","Unexpected","append","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache_keygen","clone","clone","clone_into","clone_into","cookie_domain","cookie_http_only","cookie_max_age","cookie_name","cookie_path","cookie_same_site","cookie_secure","eq","eq","equivalent","equivalent","error","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_resp_int","get_hash","handle","handle","hash","into","into","into","into","into","into","into","is_lax","is_none","is_strict","ne","new","new_transform","push","restarting","source","source","start","started","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","ttl","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["actix_redis","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Zero, one or more other RespValues.","A bulk string. In Redis terminology a string is a …","Command for send data to Redis","Error creating a connection, or an error with a …","Cancel all waters when connection get dropped","General purpose actix redis error","An error from the Redis server","An IO error occurred","Redis documentation defines an integer as being a signed …","A non-specific internal error that prevented an operation …","The “Lax” SameSite attribute.","","The “None” SameSite attribute.","Receiving message during reconnecting","A RESP parsing/serialising error occurred","","Redis communication actor","Use redis as session storage.","A remote error","","A single RESP value, this owns the data that is …","The SameSite cookie attribute.","","The “Strict” SameSite attribute.","An unexpected error. In this context “unexpected” …","Convenience function for building dynamic Redis commands …","","","","","","","","","","","","","","","Set a custom cache key generation strategy, expecting …","","","","","Set custom cookie domain.","Set custom cookie HttpOnly policy.","Set custom cookie max-age.","Set custom cookie name for session ID.","Set custom cookie path.","Set custom cookie SameSite attribute.","Set custom cookie secure.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if self is SameSite::Lax and false otherwise.","Returns true if self is SameSite::None and false …","Returns true if self is SameSite::Strict and false …","","Create new redis session backend","","Push item to Resp array","","","","Start new Supervisor with RedisActor.","","","","","","","","","","","","","","","","","","","","","Set time to live in seconds for session value.","","","","","","","","","","","","","",""],"i":[1,2,2,0,3,4,0,2,3,2,3,5,2,5,4,3,4,0,0,3,0,0,0,2,5,3,2,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,2,5,2,5,7,7,7,7,7,7,7,2,5,2,5,6,1,4,4,2,3,3,5,5,6,7,1,4,4,2,2,2,2,2,2,2,2,3,3,3,5,2,5,6,6,5,6,7,1,4,2,3,5,5,5,5,2,7,7,2,6,4,3,6,6,2,5,4,3,5,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,6,7,1,4,2,3,5,6,7,1,4,2,3,5],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["respvalue",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3],["fn",8]]],[[],["respvalue",4]],[[],["samesite",4]],[[]],[[]],[[["str",15]]],[[["bool",15]]],[[]],[[["str",15]]],[[["str",15]]],[[["samesite",4]]],[[["bool",15]]],[[["respvalue",4]],["bool",15]],[[["samesite",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["error",3]],["running",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[]],[[["error",4]],["error",4]],[[]],[[["string",3]],["respvalue",4]],[[["string",3]],["respvalue",4]],[[["arc",3],["str",15]],["respvalue",4]],[[["usize",15]],["respvalue",4]],[[["str",15]],["respvalue",4]],[[]],[[["u8",15],["global",3],["vec",3]],["respvalue",4]],[[],["respvalue",4]],[[]],[[["error",3]],["error",4]],[[["trysenderror",3]],["error",4]],[[]],[[["respvalue",4]],[["result",4],["respvalue",4],["error",4]]],[[],["u64",15]],[[["command",3]]],[[["result",4],["respvalue",4],["resperror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["respvalue",4]],["bool",15]],[[["string",3],["into",8]],["redissession",3]],[[]],[[]],[[]],[[],[["option",4],["error",8]]],[[],[["option",4],["error",8]]],[[["string",3],["into",8]],[["addr",3],["redisactor",3]]],[[["context",3]]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["u32",15]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Command"],[4,"RespValue"],[4,"RespError"],[4,"Error"],[4,"SameSite"],[3,"RedisActor"],[3,"RedisSession"]]},\ +"actix_session":{"doc":"Sessions for Actix Web.","t":[13,3,13,13,3,4,13,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Changed","CookieSession","Purged","Renewed","Session","SessionStatus","Unchanged","UserSession","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone_into","default","domain","entries","eq","expires_in","expires_in_time","fmt","from","from","from","from_request","get","get_changes","get_session","http_only","insert","into","into","into","lazy","max_age","max_age_time","name","new_transform","path","private","purge","remove","remove_as","renew","same_site","secure","set_session","signed","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":["actix_session","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Session has been updated and requires a new persist …","Use cookies for session storage.","Session is flagged for deletion and should be removed …","Session is flagged for refresh.","The high-level interface you use to modify session data.","Status of a Session.","Session is unchanged from when last seen (if exists).","Extraction of a Session object.","","","","","","","Clear the session.","","","","Sets the domain field in the session cookie being built.","Get all raw key-value data from the session.","","Sets the expires field in the session cookie being built.","Sets the expires field in the session cookie being built.","","","","","","Get a value from the session.","Returns session status and iterator of key-value pairs of …","Extract the Session object","Sets the http_only field in the session cookie being …","Inserts a key-value pair into the session.","","","","When true, prevents adding session cookies to responses …","Sets the max-age field in the session cookie being built.","Sets the max-age field in the session cookie being built.","Sets the name field in the session cookie being built.","","Sets the path field in the session cookie being built.","Construct new private CookieSession instance.","Removes session both client and server side.","Remove value from the session.","Remove value from the session and deserialize.","Renews the session key, assigning existing session state …","Sets the same_site field in the session cookie being …","Sets the secure field in the session cookie being built.","Adds the given key-value pairs to the session on the …","Construct new signed CookieSession instance.","","","","","","","","","","","","",""],"i":[1,0,1,1,0,0,1,0,2,3,1,2,3,1,3,1,1,1,2,3,1,2,2,1,2,3,1,3,3,3,4,2,3,2,3,1,2,2,2,2,2,2,2,3,3,3,3,2,2,3,2,1,2,3,1,2,3,1,2,3,1,2,3,1],"f":[null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["sessionstatus",4]],[[]],[[],["sessionstatus",4]],[[["string",3],["into",8]],["cookiesession",3]],[[],[["ref",3],["hashmap",3]]],[[["sessionstatus",4]],["bool",15]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["str",15]],[["error",3],["option",4],["result",4]]],[[["serviceresponse",3]]],[[],["session",3]],[[["bool",15]],["cookiesession",3]],[[],[["result",4],["error",3]]],[[]],[[]],[[]],[[["bool",15]],["cookiesession",3]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["string",3],["into",8]],["cookiesession",3]],[[]],[[["string",3],["into",8]],["cookiesession",3]],[[],["cookiesession",3]],[[]],[[["str",15]],[["option",4],["string",3]]],[[["str",15]],[["result",4],["option",4]]],[[]],[[["samesite",4]],["cookiesession",3]],[[["bool",15]],["cookiesession",3]],[[["servicerequest",3]]],[[],["cookiesession",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]]],"p":[[4,"SessionStatus"],[3,"CookieSession"],[3,"Session"],[8,"UserSession"]]},\ +"actix_web_httpauth":{"doc":"HTTP authentication schemes for actix-web.","t":[0,0,0,8,8,3,16,16,16,0,0,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,3,13,3,3,13,13,13,4,8,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,8,3,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["extractors","headers","middleware","AuthExtractor","AuthExtractorConfig","AuthenticationError","Error","Future","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","from_service_request","into","into_inner","new","status_code","status_code_mut","to_string","try_from","try_into","type_id","vzip","with_error","with_error_description","with_error_uri","BasicAuth","Config","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","fmt","fmt","from","from","from_request","from_service_request","into","into","into_inner","password","realm","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","user_id","vzip","vzip","BearerAuth","Config","Error","InsufficientScope","InvalidRequest","InvalidToken","as_ref","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","default","eq","equivalent","fmt","fmt","fmt","fmt","from","from","from","from_request","from_service_request","get_hash","hash","into","into","into","into_inner","partial_cmp","realm","scope","status_code","to_owned","to_owned","to_owned","to_string","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","authorization","www_authenticate","Authorization","Base64DecodeError","Basic","Bearer","Invalid","MissingField","MissingScheme","ParseError","Scheme","ToStrError","Utf8Error","as_mut","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","default","eq","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_hash","hash","into","into","into","into","into_scheme","name","ne","ne","ne","new","new","parse","parse","parse","parse","partial_cmp","partial_cmp","partial_cmp","password","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","token","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_header_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","0","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","from","get_hash","hash","into","name","ne","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_header_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","fmt","from","get_hash","hash","into","ne","new","partial_cmp","to_owned","to_string","try_from","try_into","try_into_value","type_id","vzip","with_realm","Bearer","BearerBuilder","Error","InsufficientScope","InvalidRequest","InvalidToken","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone_into","cmp","default","default","eq","equivalent","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","get_hash","hash","into","into","ne","partial_cmp","realm","scope","to_owned","to_string","try_from","try_from","try_into","try_into","try_into_value","type_id","type_id","vzip","vzip","HttpAuthentication","basic","bearer","borrow","borrow_mut","clone","clone_into","fmt","from","into","new_transform","to_owned","try_from","try_into","type_id","vzip","with_fn"],"q":["actix_web_httpauth","","","actix_web_httpauth::extractors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::basic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers","","actix_web_httpauth::headers::authorization","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::basic","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::middleware","","","","","","","","","","","","","","","",""],"d":["Type-safe authentication information extractors","Typed HTTP headers","HTTP Authentication middleware.","Trait implemented by types that can extract HTTP …","Trait implemented for types that provides configuration …","Authentication error returned by authentication …","The associated error which can be returned.","Future that resolves into extracted credentials type.","Associated challenge type.","Extractor for the “Basic” HTTP Authentication Scheme","Extractor for the “Bearer” HTTP Authentication Scheme","","","Returns mutable reference to the inner challenge instance.","","","","","","Parse the authentication credentials from the actix’ …","","Convert the config instance into a HTTP challenge.","Creates new authentication error from the provided …","","Returns mutable reference to the inner status code.","","","","","","Attach Error to the current Authentication error.","Attach error description to the current Authentication …","Attach error URI to the current Authentication error.","Extractor for HTTP Basic auth.","BasicAuth extractor configuration, used for …","","","","","","","","","","","","","","","","","","","","Returns client’s password.","Set challenge realm attribute.","","","","","","","","","Returns client’s user-ID.","","","Extractor for HTTP Bearer auth","BearerAuth extractor configuration.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set challenge realm attribute.","Set challenge scope attribute.","Returns HTTP status code suitable for current error type.","","","","","Returns bearer token provided by client.","","","","","","","","","","","","","Authorization header and various auth schemes","WWW-Authenticate header and various auth challenges","Authorization header, defined in RFC 7235","Malformed base64 string","Credentials for Basic authentication scheme, defined in …","Credentials for Bearer authentication scheme, defined in …","Header value is malformed","Required authentication field is missing","Authentication scheme is missing","Possible errors while parsing Authorization header.","Authentication scheme for Authorization header.","Unable to convert header into the str","Malformed UTF-8 string","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consumes Authorization header and returns inner Scheme …","","","","","Creates Basic credentials with provided user_id and …","Creates new Bearer credentials with the token provided.","Try to parse the authentication scheme from the …","","","","","","","Returns client’s password if provided.","","","","","","","","","Gets reference to the credentials token.","","","","","","","","","","","","","","","","","Returns client’s user-ID.","","","","","","Authentication challenge for WWW-Authenticate header.","WWW-Authenticate header, described in RFC 7235","Challenge for the “Basic” HTTP Authentication Scheme","Challenge for the “Bearer” HTTP Authentication Scheme","","","","","","","","","","","","","","","","","","Converts the challenge into a bytes suitable for HTTP …","","","","","","","","Challenge for WWW-Authenticate header with HTTP Basic …","","","","","","","","","","","","","","","","Creates new Basic challenge with an empty realm field.","","","","","","","","","Creates new Basic challenge from the provided realm field …","Challenge for WWW-Authenticate header with HTTP Bearer …","Builder for the Bearer challenge.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","Creates the builder for Bearer challenge.","","","","","","","","Provides the error attribute, as defined in RFC6750, …","Provides the error_description attribute, as defined in …","Provides the error_uri attribute, as defined in RFC6750, …","Consumes the builder and returns built Bearer instance.","","","","","","","","","","","","Provides the realm attribute, as defined in RFC2617","Provides the scope attribute, as defined in RFC6749, …","","","","","","","","","","","","Middleware for checking HTTP authentication.","Construct HttpAuthentication middleware for the HTTP “…","Construct HttpAuthentication middleware for the HTTP “…","","","","","","","","","","","","","","Construct HttpAuthentication middleware with the provided …"],"i":[0,0,0,0,0,0,1,1,2,0,0,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,3,3,3,0,0,4,4,5,4,5,4,5,4,5,4,4,5,4,5,5,5,4,5,4,5,4,4,5,4,5,4,5,4,5,5,4,5,0,0,0,6,6,6,7,7,8,6,7,8,6,7,8,6,7,8,6,6,7,6,6,7,8,6,6,7,8,6,8,8,6,6,7,8,6,7,6,7,7,6,7,8,6,6,8,7,8,6,7,8,6,7,8,6,7,8,6,0,0,0,9,0,0,9,9,9,0,0,9,9,10,10,9,10,11,12,9,10,11,12,10,11,12,10,11,12,10,11,12,10,10,11,12,10,11,12,9,9,10,10,11,11,12,12,9,9,9,9,10,10,10,11,12,10,10,9,10,11,12,10,10,10,11,12,11,12,13,10,11,12,10,11,12,11,9,10,11,12,9,10,11,12,12,9,10,11,12,9,10,11,12,10,10,11,12,9,10,11,12,11,9,10,11,12,14,0,0,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,14,14,14,14,14,14,14,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,6,6,6,17,18,17,18,18,18,18,18,17,18,18,18,17,17,17,17,17,18,18,17,18,18,18,17,18,18,18,17,17,18,18,17,18,17,18,18,17,18,17,18,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["servicerequest",3]]],[[]],[[]],[[],["authenticationerror",3]],[[],["statuscode",3]],[[],["statuscode",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[["error",4]]],[[]],[[]],null,null,[[],["challenge",3]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["basicauth",3]],[[]],[[]],[[],["config",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[]],[[]],[[]],[[],[["option",4],["cow",4]]],[[],["config",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],null,null,null,null,null,null,[[],["bearer",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["bearerauth",3]],[[],["error",4]],[[]],[[]],[[]],[[["error",4]],["ordering",4]],[[],["config",3]],[[["error",4]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[["error",4]],[["option",4],["ordering",4]]],[[["into",8],["cow",4]],["config",3]],[[["into",8],["cow",4]],["config",3]],[[],["statuscode",3]],[[]],[[]],[[]],[[],["string",3]],[[],["str",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["authorization",3]],[[],["basic",3]],[[],["bearer",3]],[[]],[[]],[[]],[[["authorization",3]],["ordering",4]],[[["basic",3]],["ordering",4]],[[["bearer",3]],["ordering",4]],[[],["authorization",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["utf8error",3]]],[[["decodeerror",4]]],[[["tostrerror",3]]],[[]],[[]],[[],["authorization",3]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["headername",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[["option",4]],["basic",3]],[[],["bearer",3]],[[["headervalue",3]],[["result",4],["parseerror",4]]],[[],[["parseerror",4],["result",4]]],[[["headervalue",3]],[["result",4],["parseerror",4]]],[[["headervalue",3]],[["result",4],["parseerror",4]]],[[["authorization",3]],[["option",4],["ordering",4]]],[[["basic",3]],[["option",4],["ordering",4]]],[[["bearer",3]],[["option",4],["ordering",4]]],[[],[["option",4],["cow",4]]],[[],[["error",8],["option",4]]],[[]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["cow",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],[["headervalue",3],["result",4]]],[[],[["headervalue",3],["result",4]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[],["wwwauthenticate",3]],[[]],[[["wwwauthenticate",3]],["ordering",4]],[[],["wwwauthenticate",3]],[[["wwwauthenticate",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[],["headername",3]],[[["wwwauthenticate",3]],["bool",15]],[[],[["parseerror",4],["result",4]]],[[["wwwauthenticate",3]],[["option",4],["ordering",4]]],[[],["bytes",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["headervalue",3],["result",4]]],[[],["typeid",3]],[[]],null,[[]],[[]],[[],["basic",3]],[[]],[[["basic",3]],["ordering",4]],[[],["basic",3]],[[["basic",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[["basic",3]],["bool",15]],[[],["basic",3]],[[["basic",3]],[["option",4],["ordering",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[]],[[],["basic",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[]],[[["bearer",3]],["ordering",4]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[["error",4]]],[[]],[[]],[[],["bearer",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[["bearer",3]],["bool",15]],[[["bearer",3]],[["option",4],["ordering",4]]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,[[]],[[]],[[]],[[]],[[],["httpauthentication",3]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["httpauthentication",3]]],"p":[[8,"AuthExtractor"],[8,"AuthExtractorConfig"],[3,"AuthenticationError"],[3,"Config"],[3,"BasicAuth"],[4,"Error"],[3,"Config"],[3,"BearerAuth"],[4,"ParseError"],[3,"Authorization"],[3,"Basic"],[3,"Bearer"],[8,"Scheme"],[3,"WwwAuthenticate"],[8,"Challenge"],[3,"Basic"],[3,"BearerBuilder"],[3,"Bearer"],[3,"HttpAuthentication"]]}\ }'); -initSearch(searchIndex); \ No newline at end of file +if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/search.js b/search.js new file mode 100644 index 000000000..ac9c29041 --- /dev/null +++ b/search.js @@ -0,0 +1 @@ +(function(){var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function printTab(nb){if(nb===0||nb===1||nb===2){searchState.currentTab=nb}var nb_copy=nb;onEachLazy(document.getElementById("titles").childNodes,function(elem){if(nb_copy===0){addClass(elem,"selected")}else{removeClass(elem,"selected")}nb_copy-=1});onEachLazy(document.getElementById("results").childNodes,function(elem){if(nb===0){addClass(elem,"active")}else{removeClass(elem,"active")}nb-=1})}function removeEmptyStringsFromArray(x){for(var i=0,len=x.length;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnPropertyRustdoc(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});for(i=0,len=results.length;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=obj[GENERICS_DATA].length;for(var x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i1?paths.length-1:1);var lev,j;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)){lev+=1}else{lev=MAX_LEV_DISTANCE+1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results,false),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function nextTab(direction){var next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){var target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);if(target){target.focus()}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var enumNameIdx=item.path.lastIndexOf("::");var enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraClass="";if(display===true){extraClass=" active"}var output=document.createElement("div");var duplicates={};var length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(function(item){if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}var name=item.name;var type=itemTypes[item.ty];length+=1;var extra="";if(type==="primitive"){extra=" (primitive type)"}else if(type==="keyword"){extra=" (keyword)"}var link=document.createElement("a");link.className="result-"+type;link.href=item.href;var wrapper=document.createElement("div");var resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){var alias=document.createElement("span");alias.className="alias";var bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend"," - see ");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+""+name+extra+"");wrapper.appendChild(resultName);var description=document.createElement("div");description.className="desc";var spanDesc=document.createElement("span");spanDesc.insertAdjacentHTML("beforeend",item.desc);description.appendChild(spanDesc);wrapper.appendChild(description);link.appendChild(wrapper);output.appendChild(link)})}else{output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return""}return""}function showResults(results){var search=searchState.outputElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText)){var elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}var query=getQuery(searchState.input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);var currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}var output="

    Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

    "+"
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    ";var resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;search.appendChild(resultsElem);searchState.focusedByTab=[null,null,null];searchState.showResults(search);var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=searchState.getQueryStringParams();var query=getQuery(searchState.input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(!forced&&query.id===currentResults){if(query.query.length>0){searchState.putBackSearch(searchState.input)}return}searchState.title="Results for "+query.query+" - Rust";if(searchState.browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=function(){var qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(searchState.getQueryStringParams().search){search()}};if(window.searchIndex!==undefined){initSearch(window.searchIndex)}})() \ No newline at end of file diff --git a/settings.html b/settings.html index 941fe8982..a20941cba 100644 --- a/settings.html +++ b/settings.html @@ -1,7 +1,4 @@ -Rustdoc settings - -

    Rustdoc settings

    Theme preferences
    Use system theme
    Preferred dark theme
    Preferred light theme
    -
    Auto-hide item declarations
    Auto-hide structs declaration
    Auto-hide enums declaration
    Auto-hide unions declaration
    Auto-hide traits declaration
    Auto-hide macros declaration
    -
    Auto-hide item attributes.
    Auto-hide item methods' documentation
    Auto-hide trait implementation documentation
    Auto-hide implementors of a trait
    Directly go to item in search if there is only one result
    Show line numbers on code examples
    Disable keyboard shortcuts
    - \ No newline at end of file +Rustdoc settings

    Rustdoc settings

    Theme preferences
    Use system theme
    Preferred dark theme
    Preferred light theme
    +
    Auto-hide item contents for large items.
    Auto-hide item methods' documentation
    Auto-hide trait implementation documentation
    Directly go to item in search if there is only one result
    Show line numbers on code examples
    Disable keyboard shortcuts
    + + \ No newline at end of file diff --git a/source-files.js b/source-files.js index 0fdefc875..8b94bee4b 100644 --- a/source-files.js +++ b/source-files.js @@ -5,5 +5,4 @@ sourcesIndex["actix_protobuf"] = {"name":"","files":["lib.rs"]}; sourcesIndex["actix_redis"] = {"name":"","files":["lib.rs","redis.rs","session.rs"]}; sourcesIndex["actix_session"] = {"name":"","files":["cookie.rs","lib.rs"]}; sourcesIndex["actix_web_httpauth"] = {"name":"","dirs":[{"name":"extractors","files":["basic.rs","bearer.rs","config.rs","errors.rs","mod.rs"]},{"name":"headers","dirs":[{"name":"authorization","dirs":[{"name":"scheme","files":["basic.rs","bearer.rs","mod.rs"]}],"files":["errors.rs","header.rs","mod.rs"]},{"name":"www_authenticate","dirs":[{"name":"challenge","dirs":[{"name":"bearer","files":["builder.rs","challenge.rs","errors.rs","mod.rs"]}],"files":["basic.rs","mod.rs"]}],"files":["header.rs","mod.rs"]}],"files":["mod.rs"]}],"files":["lib.rs","middleware.rs","utils.rs"]}; -sourcesIndex["prost_example"] = {"name":"","files":["main.rs"]}; createSourceSidebar(); diff --git a/source-script.js b/source-script.js index 67f62a160..5dc8fee0f 100644 --- a/source-script.js +++ b/source-script.js @@ -1 +1 @@ -function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0,len=rootPathParts.length;i"){sidebar.style.left="";this.style.left="";child.innerText="<";updateLocalStorage("rustdoc-source-sidebar-show","true")}else{sidebar.style.left="-300px";this.style.left="0";child.innerText=">";updateLocalStorage("rustdoc-source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner1=document.createElement("div");inner1.style.position="relative";var inner2=document.createElement("div");inner2.style.paddingTop="3px";if(getCurrentValue("rustdoc-source-sidebar-show")==="true"){inner2.innerText="<"}else{inner2.innerText=">";sidebarToggle.style.left="0"}inner1.appendChild(inner2);sidebarToggle.appendChild(inner1);return sidebarToggle}function createSourceSidebar(){if(window.rootPath.endsWith("/")===false){window.rootPath+="/"}var main=document.getElementById("main");var sidebarToggle=createSidebarToggle();main.insertBefore(sidebarToggle,main.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("rustdoc-source-sidebar-show")!=="true"){sidebar.style.left="-300px"}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});main.insertBefore(sidebar,main.firstChild);var selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}} \ No newline at end of file +(function(){function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0,len=rootPathParts.length;i"){sidebar.style.left="";this.style.left="";child.innerText="<";updateLocalStorage("rustdoc-source-sidebar-show","true")}else{sidebar.style.left="-300px";this.style.left="0";child.innerText=">";updateLocalStorage("rustdoc-source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner1=document.createElement("div");inner1.style.position="relative";var inner2=document.createElement("div");inner2.style.paddingTop="3px";if(getCurrentValue("rustdoc-source-sidebar-show")==="true"){inner2.innerText="<"}else{inner2.innerText=">";sidebarToggle.style.left="0"}inner1.appendChild(inner2);sidebarToggle.appendChild(inner1);return sidebarToggle}function createSourceSidebar(){if(!window.rootPath.endsWith("/")){window.rootPath+="/"}var main=document.getElementById("main");var sidebarToggle=createSidebarToggle();main.insertBefore(sidebarToggle,main.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("rustdoc-source-sidebar-show")!=="true"){sidebar.style.left="-300px"}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});main.insertBefore(sidebar,main.firstChild);var selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}var lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(scrollTo,match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(tocur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",function(){var match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(false,match)}});onEachLazy(document.getElementsByClassName("line-numbers"),function(el){el.addEventListener("click",handleSourceHighlight)});highlightSourceLines(true);window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/src/actix_cors/all_or_some.rs.html b/src/actix_cors/all_or_some.rs.html index a4eb65670..949e180d0 100644 --- a/src/actix_cors/all_or_some.rs.html +++ b/src/actix_cors/all_or_some.rs.html @@ -1,5 +1,4 @@ -all_or_some.rs - source
     1
    +all_or_some.rs - source
     1
      2
      3
      4
    @@ -54,7 +53,7 @@
     53
     54
     55
    -
    +
     /// An enum signifying that some of type `T` is allowed, or `All` (anything is allowed).
     #[derive(Clone, Debug, PartialEq, Eq)]
     pub enum AllOrSome<T> {
    @@ -111,5 +110,6 @@
         assert!(AllOrSome::Some(()).is_some());
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/builder.rs.html b/src/actix_cors/builder.rs.html index 3bf81d418..71ea23b4f 100644 --- a/src/actix_cors/builder.rs.html +++ b/src/actix_cors/builder.rs.html @@ -1,5 +1,4 @@ -builder.rs - source
      1
    +builder.rs - source
      1
       2
       3
       4
    @@ -624,8 +623,7 @@
     623
     624
     625
    -626
    -
    +
     use std::{collections::HashSet, convert::TryInto, iter::FromIterator, rc::Rc};
     
     use actix_web::{
    @@ -637,7 +635,7 @@
     use futures_util::future::{self, Ready};
     use log::error;
     use once_cell::sync::Lazy;
    -use tinyvec::tiny_vec;
    +use smallvec::smallvec;
     
     use crate::{AllOrSome, CorsError, CorsMiddleware, Inner, OriginFn};
     
    @@ -710,7 +708,7 @@
         pub fn permissive() -> Self {
             let inner = Inner {
                 allowed_origins: AllOrSome::All,
    -            allowed_origins_fns: tiny_vec![],
    +            allowed_origins_fns: smallvec![],
     
                 allowed_methods: ALL_METHODS_SET.clone(),
                 allowed_methods_baked: None,
    @@ -1086,7 +1084,7 @@
         fn default() -> Cors {
             let inner = Inner {
                 allowed_origins: AllOrSome::Some(HashSet::with_capacity(8)),
    -            allowed_origins_fns: tiny_vec![],
    +            allowed_origins_fns: smallvec![],
     
                 allowed_methods: HashSet::with_capacity(8),
                 allowed_methods_baked: None,
    @@ -1111,13 +1109,12 @@
         }
     }
     
    -impl<S, B> Transform<S, ServiceRequest> for Cors
    +impl<S> Transform<S, ServiceRequest> for Cors
     where
    -    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
    +    S: Service<ServiceRequest, Response = ServiceResponse, Error = Error>,
         S::Future: 'static,
    -    B: 'static,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type InitError = ();
         type Transform = CorsMiddleware<S>;
    @@ -1253,5 +1250,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/error.rs.html b/src/actix_cors/error.rs.html index 2be70d4a0..7bc0c04c4 100644 --- a/src/actix_cors/error.rs.html +++ b/src/actix_cors/error.rs.html @@ -1,5 +1,4 @@ -error.rs - source
     1
    +error.rs - source
     1
      2
      3
      4
    @@ -55,7 +54,7 @@
     54
     55
     56
    -
    +
     use actix_web::{http::StatusCode, HttpResponse, ResponseError};
     
     use derive_more::{Display, Error};
    @@ -113,5 +112,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/inner.rs.html b/src/actix_cors/inner.rs.html index 37ac5b870..e69e83f1d 100644 --- a/src/actix_cors/inner.rs.html +++ b/src/actix_cors/inner.rs.html @@ -1,5 +1,4 @@ -inner.rs - source
      1
    +inner.rs - source
      1
       2
       3
       4
    @@ -337,7 +336,7 @@
     336
     337
     338
    -
    +
     use std::{collections::HashSet, convert::TryFrom, convert::TryInto, fmt, rc::Rc};
     
     use actix_web::{
    @@ -349,7 +348,7 @@
         },
     };
     use once_cell::sync::Lazy;
    -use tinyvec::TinyVec;
    +use smallvec::SmallVec;
     
     use crate::{AllOrSome, CorsError};
     
    @@ -382,7 +381,7 @@
     #[derive(Debug, Clone)]
     pub(crate) struct Inner {
         pub(crate) allowed_origins: AllOrSome<HashSet<HeaderValue>>,
    -    pub(crate) allowed_origins_fns: TinyVec<[OriginFn; 4]>,
    +    pub(crate) allowed_origins_fns: SmallVec<[OriginFn; 4]>,
     
         pub(crate) allowed_methods: HashSet<Method>,
         pub(crate) allowed_methods_baked: Option<HeaderValue>,
    @@ -677,5 +676,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/lib.rs.html b/src/actix_cors/lib.rs.html index 132d5d21f..7d98606ab 100644 --- a/src/actix_cors/lib.rs.html +++ b/src/actix_cors/lib.rs.html @@ -1,5 +1,4 @@ -lib.rs - source
     1
    +lib.rs - source
     1
      2
      3
      4
    @@ -59,7 +58,7 @@
     58
     59
     60
    -
    +
     //! Cross-Origin Resource Sharing (CORS) controls for Actix Web.
     //!
     //! This middleware can be applied to both applications and resources. Once built, a
    @@ -121,5 +120,6 @@
     use inner::{Inner, OriginFn};
     pub use middleware::CorsMiddleware;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/middleware.rs.html b/src/actix_cors/middleware.rs.html index 2f31919d5..0a34e7670 100644 --- a/src/actix_cors/middleware.rs.html +++ b/src/actix_cors/middleware.rs.html @@ -1,5 +1,4 @@ -middleware.rs - source
      1
    +middleware.rs - source
      1
       2
       3
       4
    @@ -216,10 +215,15 @@
     215
     216
     217
    -
    -use std::{convert::TryInto, rc::Rc};
    +218
    +219
    +220
    +221
    +
    +use std::{convert::TryInto, error::Error as StdError, rc::Rc};
     
     use actix_web::{
    +    body::{AnyBody, MessageBody},
         dev::{Service, ServiceRequest, ServiceResponse},
         error::{Error, Result},
         http::{
    @@ -228,7 +232,9 @@
         },
         HttpResponse,
     };
    -use futures_util::future::{ok, Either, FutureExt as _, LocalBoxFuture, Ready};
    +use futures_util::future::{
    +    ok, Either, FutureExt as _, LocalBoxFuture, Ready, TryFutureExt as _,
    +};
     use log::debug;
     
     use crate::Inner;
    @@ -245,7 +251,7 @@
     }
     
     impl<S> CorsMiddleware<S> {
    -    fn handle_preflight<B>(inner: &Inner, req: ServiceRequest) -> ServiceResponse<B> {
    +    fn handle_preflight(inner: &Inner, req: ServiceRequest) -> ServiceResponse {
             if let Err(err) = inner
                 .validate_origin(req.head())
                 .and_then(|_| inner.validate_allowed_method(req.head()))
    @@ -288,7 +294,6 @@
             }
     
             let res = res.finish();
    -        let res = res.into_body();
             req.into_response(res)
         }
     
    @@ -331,20 +336,21 @@
         }
     }
     
    -type CorsMiddlewareServiceFuture<B> = Either<
    -    Ready<Result<ServiceResponse<B>, Error>>,
    -    LocalBoxFuture<'static, Result<ServiceResponse<B>, Error>>,
    +type CorsMiddlewareServiceFuture = Either<
    +    Ready<Result<ServiceResponse, Error>>,
    +    LocalBoxFuture<'static, Result<ServiceResponse, Error>>,
     >;
     
     impl<S, B> Service<ServiceRequest> for CorsMiddleware<S>
     where
         S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
         S::Future: 'static,
    -    B: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
    -    type Future = CorsMiddlewareServiceFuture<B>;
    +    type Future = CorsMiddlewareServiceFuture;
     
         actix_service::forward_ready!(service);
     
    @@ -377,6 +383,7 @@
                         res
                     }
                 }
    +            .map_ok(|res| res.map_body(|_, body| AnyBody::from_message(body)))
                 .boxed_local();
     
                 Either::Right(res)
    @@ -435,5 +442,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/cookie.rs.html b/src/actix_identity/cookie.rs.html index 2da5e1f9d..2bd67e7d3 100644 --- a/src/actix_identity/cookie.rs.html +++ b/src/actix_identity/cookie.rs.html @@ -1,7 +1,4 @@ -cookie.rs - source - -
      1
    +cookie.rs - source
      1
       2
       3
       4
    @@ -828,7 +825,10 @@
     825
     826
     827
    -
    +828
    +829
    +830
    +
     use std::{rc::Rc, time::SystemTime};
     
     use futures_util::future::{ready, Ready};
    @@ -900,16 +900,17 @@
             value: Option<CookieValue>,
         ) -> Result<()> {
             let add_cookie = value.is_some();
    -        let val = value.map(|val| {
    -            if !self.legacy_supported() {
    -                serde_json::to_string(&val)
    -            } else {
    -                Ok(val.identity)
    -            }
    -        });
    +        let val = value
    +            .map(|val| {
    +                if !self.legacy_supported() {
    +                    serde_json::to_string(&val)
    +                } else {
    +                    Ok(val.identity)
    +                }
    +            })
    +            .transpose()?;
     
    -        let mut cookie =
    -            Cookie::new(self.name.clone(), val.unwrap_or_else(|| Ok(String::new()))?);
    +        let mut cookie = Cookie::new(self.name.clone(), val.unwrap_or_default());
             cookie.set_path(self.path.clone());
             cookie.set_secure(self.secure);
             cookie.set_http_only(true);
    @@ -939,10 +940,10 @@
             };
     
             if add_cookie {
    -            jar.private(&key).add(cookie);
    +            jar.private_mut(&key).add(cookie);
             } else {
                 jar.add_original(cookie.clone());
    -            jar.private(&key).remove(cookie);
    +            jar.private_mut(&key).remove(cookie);
             }
     
             for cookie in jar.delta() {
    @@ -959,17 +960,19 @@
             jar.add_original(cookie.clone());
     
             let res = if self.legacy_supported() {
    -            jar.private(&self.key).get(&self.name).map(|n| CookieValue {
    -                identity: n.value().to_string(),
    -                login_timestamp: None,
    -                visit_timestamp: None,
    -            })
    +            jar.private_mut(&self.key)
    +                .get(&self.name)
    +                .map(|n| CookieValue {
    +                    identity: n.value().to_string(),
    +                    login_timestamp: None,
    +                    visit_timestamp: None,
    +                })
             } else {
                 None
             };
     
             res.or_else(|| {
    -            jar.private(&self.key_v2)
    +            jar.private_mut(&self.key_v2)
                     .get(&self.name)
                     .and_then(|c| self.parse(c))
             })
    @@ -1222,7 +1225,7 @@
                 .copied()
                 .collect();
     
    -        jar.private(&Key::derive_from(&key)).add(Cookie::new(
    +        jar.private_mut(&Key::derive_from(&key)).add(Cookie::new(
                 COOKIE_NAME,
                 serde_json::to_string(&CookieValue {
                     identity: identity.to_string(),
    @@ -1406,7 +1409,7 @@
     
         fn legacy_login_cookie(identity: &'static str) -> Cookie<'static> {
             let mut jar = CookieJar::new();
    -        jar.private(&Key::derive_from(&COOKIE_KEY_MASTER))
    +        jar.private_mut(&Key::derive_from(&COOKIE_KEY_MASTER))
                 .add(Cookie::new(COOKIE_NAME, identity));
             jar.get(COOKIE_NAME).unwrap().clone()
         }
    @@ -1423,7 +1426,7 @@
                 cookies.add(Cookie::parse(cookie.to_str().unwrap().to_string()).unwrap());
             }
             let cookie = cookies
    -            .private(&Key::derive_from(&COOKIE_KEY_MASTER))
    +            .private_mut(&Key::derive_from(&COOKIE_KEY_MASTER))
                 .get(COOKIE_NAME)
                 .unwrap();
             assert_eq!(cookie.value(), identity);
    @@ -1657,5 +1660,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/identity.rs.html b/src/actix_identity/identity.rs.html index 8315185e3..d2cf17e52 100644 --- a/src/actix_identity/identity.rs.html +++ b/src/actix_identity/identity.rs.html @@ -1,7 +1,4 @@ -identity.rs - source - -
      1
    +identity.rs - source
      1
       2
       3
       4
    @@ -102,7 +99,7 @@
      99
     100
     101
    -
    +
     use actix_web::{
         dev::{Extensions, Payload},
         Error, FromRequest, HttpRequest,
    @@ -205,5 +202,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/lib.rs.html b/src/actix_identity/lib.rs.html index 5ab949239..c39964e72 100644 --- a/src/actix_identity/lib.rs.html +++ b/src/actix_identity/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
      1
    +lib.rs - source
      1
       2
       3
       4
    @@ -153,7 +150,7 @@
     150
     151
     152
    -
    +
     //! Opinionated request identity service for Actix Web apps.
     //!
     //! [`IdentityService`] middleware can be used with different policies types to store
    @@ -307,5 +304,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/middleware.rs.html b/src/actix_identity/middleware.rs.html index d1ea4d9e2..fc7b76106 100644 --- a/src/actix_identity/middleware.rs.html +++ b/src/actix_identity/middleware.rs.html @@ -1,7 +1,4 @@ -middleware.rs - source - -
      1
    +middleware.rs - source
      1
       2
       3
       4
    @@ -169,14 +166,25 @@
     166
     167
     168
    -
    -use std::rc::Rc;
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +
    +use std::{error::Error as StdError, rc::Rc};
     
     use actix_web::{
    +    body::{AnyBody, MessageBody},
         dev::{Service, ServiceRequest, ServiceResponse, Transform},
         Error, HttpMessage, Result,
     };
    -use futures_util::future::{ready, FutureExt, LocalBoxFuture, Ready};
    +use futures_util::future::{
    +    ready, FutureExt as _, LocalBoxFuture, Ready, TryFutureExt as _,
    +};
     
     use crate::{identity::IdentityItem, IdentityPolicy};
     
    @@ -213,9 +221,10 @@
         S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
         S::Future: 'static,
         T: IdentityPolicy,
    -    B: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type InitError = ();
         type Transform = IdentityServiceMiddleware<S, T>;
    @@ -245,12 +254,13 @@
     
     impl<S, T, B> Service<ServiceRequest> for IdentityServiceMiddleware<S, T>
     where
    -    B: 'static,
         S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
         S::Future: 'static,
         T: IdentityPolicy,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type Future = LocalBoxFuture<'static, Result<Self::Response, Self::Error>>;
     
    @@ -272,16 +282,19 @@
     
                         if let Some(id) = id {
                             match backend.to_response(id.id, id.changed, &mut res).await {
    -                            Ok(_) => Ok(res),
    +                            Ok(_) => {
    +                                Ok(res.map_body(|_, body| AnyBody::from_message(body)))
    +                            }
                                 Err(e) => Ok(res.error_response(e)),
                             }
                         } else {
    -                        Ok(res)
    +                        Ok(res.map_body(|_, body| AnyBody::from_message(body)))
                         }
                     }
                     Err(err) => Ok(req.error_response(err)),
                 }
             }
    +        .map_ok(|res| res.map_body(|_, body| AnyBody::from_message(body)))
             .boxed_local()
         }
     }
    @@ -339,5 +352,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_protobuf/lib.rs.html b/src/actix_protobuf/lib.rs.html index 07142cd6b..73ed36038 100644 --- a/src/actix_protobuf/lib.rs.html +++ b/src/actix_protobuf/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
      1
    +lib.rs - source
      1
       2
       3
       4
    @@ -325,43 +322,63 @@
     322
     323
     324
    -
    -#![deny(rust_2018_idioms)]
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +
    +#![forbid(unsafe_code)]
    +#![deny(rust_2018_idioms, nonstandard_style)]
     
    +use std::{
    +    fmt,
    +    future::Future,
    +    ops::{Deref, DerefMut},
    +    pin::Pin,
    +    task::{self, Poll},
    +};
    +
    +use actix_web::{
    +    dev::Payload,
    +    error::PayloadError,
    +    http::header::{CONTENT_LENGTH, CONTENT_TYPE},
    +    web::BytesMut,
    +    Error, FromRequest, HttpMessage, HttpRequest, HttpResponse, HttpResponseBuilder,
    +    Responder, ResponseError,
    +};
     use derive_more::Display;
    -use std::fmt;
    -use std::future::Future;
    -use std::ops::{Deref, DerefMut};
    -use std::pin::Pin;
    -use std::task;
    -use std::task::Poll;
    -
    -use prost::DecodeError as ProtoBufDecodeError;
    -use prost::EncodeError as ProtoBufEncodeError;
    -use prost::Message;
    -
    -use actix_web::dev::{HttpResponseBuilder, Payload};
    -use actix_web::error::{Error, PayloadError, ResponseError};
    -use actix_web::http::header::{CONTENT_LENGTH, CONTENT_TYPE};
    -use actix_web::web::BytesMut;
    -use actix_web::{FromRequest, HttpMessage, HttpRequest, HttpResponse, Responder};
    -use futures_util::future::{FutureExt, LocalBoxFuture};
    -use futures_util::StreamExt;
    +use futures_util::{
    +    future::{FutureExt as _, LocalBoxFuture},
    +    stream::StreamExt as _,
    +};
    +use prost::{
    +    DecodeError as ProtoBufDecodeError, EncodeError as ProtoBufEncodeError, Message,
    +};
     
     #[derive(Debug, Display)]
     pub enum ProtoBufPayloadError {
         /// Payload size is bigger than 256k
         #[display(fmt = "Payload size is bigger than 256k")]
         Overflow,
    +
         /// Content type error
         #[display(fmt = "Content type error")]
         ContentType,
    +
         /// Serialize error
         #[display(fmt = "ProtoBuf serialize error: {}", _0)]
         Serialize(ProtoBufEncodeError),
    +
         /// Deserialize error
         #[display(fmt = "ProtoBuf deserialize error: {}", _0)]
         Deserialize(ProtoBufDecodeError),
    +
         /// Payload error
         #[display(fmt = "Error that occur during reading payload: {}", _0)]
         Payload(PayloadError),
    @@ -651,5 +668,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_redis/lib.rs.html b/src/actix_redis/lib.rs.html index ac43af57e..c132bbe66 100644 --- a/src/actix_redis/lib.rs.html +++ b/src/actix_redis/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
     1
    +lib.rs - source
     1
      2
      3
      4
    @@ -36,7 +33,7 @@
     33
     34
     35
    -
    +
     //! Redis integration for Actix and session store for Actix Web.
     
     #![deny(rust_2018_idioms)]
    @@ -73,5 +70,6 @@
     pub use redis_async::error::Error as RespError;
     pub use redis_async::resp::RespValue;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_redis/redis.rs.html b/src/actix_redis/redis.rs.html index 4d45f88dc..461e7f850 100644 --- a/src/actix_redis/redis.rs.html +++ b/src/actix_redis/redis.rs.html @@ -1,7 +1,4 @@ -redis.rs - source - -
      1
    +redis.rs - source
      1
       2
       3
       4
    @@ -142,7 +139,7 @@
     139
     140
     141
    -
    +
     use std::collections::VecDeque;
     use std::io;
     
    @@ -285,5 +282,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_redis/session.rs.html b/src/actix_redis/session.rs.html index a4c3198c0..c829dfbe9 100644 --- a/src/actix_redis/session.rs.html +++ b/src/actix_redis/session.rs.html @@ -1,7 +1,4 @@ -session.rs - source - -
      1
    +session.rs - source
      1
       2
       3
       4
    @@ -707,20 +704,30 @@
     704
     705
     706
    -
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +
     use std::{collections::HashMap, iter, rc::Rc};
     
     use actix::prelude::*;
     use actix_service::{Service, Transform};
     use actix_session::{Session, SessionStatus};
    -use actix_web::cookie::{Cookie, CookieJar, Key, SameSite};
    -use actix_web::dev::{ServiceRequest, ServiceResponse};
    -use actix_web::http::header::{self, HeaderValue};
    -use actix_web::{error, Error, HttpMessage};
    +use actix_web::{
    +    cookie::{Cookie, CookieJar, Key, SameSite},
    +    dev::{ServiceRequest, ServiceResponse},
    +    error,
    +    http::header::{self, HeaderValue},
    +    Error,
    +};
     use futures_core::future::LocalBoxFuture;
     use rand::{distributions::Alphanumeric, rngs::OsRng, Rng};
    -use redis_async::resp::RespValue;
    -use redis_async::resp_array;
    +use redis_async::{resp::RespValue, resp_array};
     use time::{self, Duration, OffsetDateTime};
     
     use crate::redis::{Command, RedisActor};
    @@ -1021,7 +1028,7 @@
     
                 // set cookie
                 let mut jar = CookieJar::new();
    -            jar.signed(&self.key).add(cookie);
    +            jar.signed_mut(&self.key).add(cookie);
     
                 (value, Some(jar))
             };
    @@ -1031,7 +1038,7 @@
             let state: HashMap<_, _> = state.collect();
     
             let body = match serde_json::to_string(&state) {
    -            Err(e) => return Err(e.into()),
    +            Err(err) => return Err(err.into()),
                 Ok(body) => body,
             };
     
    @@ -1152,12 +1159,15 @@
     
         async fn logout(session: Session) -> Result<HttpResponse> {
             let id: Option<String> = session.get("user_id")?;
    -        if let Some(x) = id {
    +
    +        let body = if let Some(x) = id {
                 session.purge();
    -            Ok(format!("Logged out: {}", x).into())
    +            format!("Logged out: {}", x)
             } else {
    -            Ok("Could not log out anonymous user".into())
    -        }
    +            "Could not log out anonymous user".to_owned()
    +        };
    +
    +        Ok(HttpResponse::Ok().body(body))
         }
     
         #[actix_rt::test]
    @@ -1358,7 +1368,10 @@
                 .unwrap();
             assert_ne!(
                 OffsetDateTime::now_utc().year(),
    -            cookie_4.expires().map(|t| t.year()).unwrap()
    +            cookie_4
    +                .expires()
    +                .map(|t| t.datetime().expect("Expiration is a datetime").year())
    +                .unwrap()
             );
     
             // Step 10: GET index, including session cookie #2 in request
    @@ -1415,5 +1428,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_session/cookie.rs.html b/src/actix_session/cookie.rs.html index 78c324bce..a32a1bd76 100644 --- a/src/actix_session/cookie.rs.html +++ b/src/actix_session/cookie.rs.html @@ -1,7 +1,4 @@ -cookie.rs - source - -
      1
    +cookie.rs - source
      1
       2
       3
       4
    @@ -553,18 +550,34 @@
     550
     551
     552
    -
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +
     //! Cookie based sessions. See docs for [`CookieSession`].
     
    -use std::{collections::HashMap, rc::Rc};
    +use std::{collections::HashMap, error::Error as StdError, rc::Rc};
     
    -use actix_service::{Service, Transform};
    -use actix_web::cookie::{Cookie, CookieJar, Key, SameSite};
    -use actix_web::dev::{ServiceRequest, ServiceResponse};
    -use actix_web::http::{header::SET_COOKIE, HeaderValue};
    -use actix_web::{Error, HttpMessage, ResponseError};
    +use actix_web::{
    +    body::{AnyBody, MessageBody},
    +    cookie::{Cookie, CookieJar, Key, SameSite},
    +    dev::{Service, ServiceRequest, ServiceResponse, Transform},
    +    http::{header::SET_COOKIE, HeaderValue},
    +    Error, ResponseError,
    +};
     use derive_more::Display;
    -use futures_util::future::{ok, LocalBoxFuture, Ready};
    +use futures_util::future::{ok, FutureExt as _, LocalBoxFuture, Ready};
     use serde_json::error::Error as JsonError;
     use time::{Duration, OffsetDateTime};
     
    @@ -662,8 +675,8 @@
             let mut jar = CookieJar::new();
     
             match self.security {
    -            CookieSecurity::Signed => jar.signed(&self.key).add(cookie),
    -            CookieSecurity::Private => jar.private(&self.key).add(cookie),
    +            CookieSecurity::Signed => jar.signed_mut(&self.key).add(cookie),
    +            CookieSecurity::Private => jar.private_mut(&self.key).add(cookie),
             }
     
             for cookie in jar.delta() {
    @@ -848,13 +861,15 @@
         }
     }
     
    -impl<S, B: 'static> Transform<S, ServiceRequest> for CookieSession
    +impl<S, B> Transform<S, ServiceRequest> for CookieSession
     where
         S: Service<ServiceRequest, Response = ServiceResponse<B>>,
         S::Future: 'static,
         S::Error: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = S::Error;
         type InitError = ();
         type Transform = CookieSessionMiddleware<S>;
    @@ -874,13 +889,15 @@
         inner: Rc<CookieSessionInner>,
     }
     
    -impl<S, B: 'static> Service<ServiceRequest> for CookieSessionMiddleware<S>
    +impl<S, B> Service<ServiceRequest> for CookieSessionMiddleware<S>
     where
         S: Service<ServiceRequest, Response = ServiceResponse<B>>,
         S::Future: 'static,
         S::Error: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = S::Error;
         type Future = LocalBoxFuture<'static, Result<Self::Response, Self::Error>>;
     
    @@ -899,36 +916,40 @@
     
             let fut = self.service.call(req);
     
    -        Box::pin(async move {
    +        async move {
                 let mut res = fut.await?;
     
    -            let res = match Session::get_changes(&mut res) {
    +            let result = match Session::get_changes(&mut res) {
                     (SessionStatus::Changed, state) | (SessionStatus::Renewed, state) => {
    -                    res.checked_expr(|res| inner.set_cookie(res, state))
    +                    inner.set_cookie(&mut res, state)
                     }
     
                     (SessionStatus::Unchanged, state) if prolong_expiration => {
    -                    res.checked_expr(|res| inner.set_cookie(res, state))
    +                    inner.set_cookie(&mut res, state)
                     }
     
                     // set a new session cookie upon first request (new client)
                     (SessionStatus::Unchanged, _) => {
                         if is_new {
                             let state: HashMap<String, String> = HashMap::new();
    -                        res.checked_expr(|res| inner.set_cookie(res, state.into_iter()))
    +                        inner.set_cookie(&mut res, state.into_iter())
                         } else {
    -                        res
    +                        Ok(())
                         }
                     }
     
                     (SessionStatus::Purged, _) => {
                         let _ = inner.remove_cookie(&mut res);
    -                    res
    +                    Ok(())
                     }
                 };
     
    -            Ok(res)
    -        })
    +            match result {
    +                Ok(()) => Ok(res.map_body(|_, body| AnyBody::from_message(body))),
    +                Err(error) => Ok(res.error_response(error)),
    +            }
    +        }
    +        .boxed_local()
         }
     }
     
    @@ -1089,7 +1110,9 @@
                 .find(|c| c.name() == "actix-session")
                 .expect("Cookie is set")
                 .expires()
    -            .expect("Expiration is set");
    +            .expect("Expiration is set")
    +            .datetime()
    +            .expect("Expiration is a datetime");
     
             actix_rt::time::sleep(std::time::Duration::from_secs(1)).await;
     
    @@ -1101,11 +1124,14 @@
                 .find(|c| c.name() == "actix-session")
                 .expect("Cookie is set")
                 .expires()
    -            .expect("Expiration is set");
    +            .expect("Expiration is set")
    +            .datetime()
    +            .expect("Expiration is a datetime");
     
             assert!(expires_2 - expires_1 >= Duration::seconds(1));
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_session/lib.rs.html b/src/actix_session/lib.rs.html index 357f8d8c0..6bec534f4 100644 --- a/src/actix_session/lib.rs.html +++ b/src/actix_session/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
      1
    +lib.rs - source
      1
       2
       3
       4
    @@ -412,7 +409,7 @@
     409
     410
     411
    -
    +
     //! Sessions for Actix Web.
     //!
     //! Provides a general solution for session management. Session middleware could provide different
    @@ -825,5 +822,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/basic.rs.html b/src/actix_web_httpauth/extractors/basic.rs.html index 670a5dde1..fcf948666 100644 --- a/src/actix_web_httpauth/extractors/basic.rs.html +++ b/src/actix_web_httpauth/extractors/basic.rs.html @@ -1,7 +1,4 @@ -basic.rs - source - -
      1
    +basic.rs - source
      1
       2
       3
       4
    @@ -153,7 +150,7 @@
     150
     151
     152
    -
    +
     //! Extractor for the "Basic" HTTP Authentication Scheme
     
     use std::borrow::Cow;
    @@ -237,7 +234,7 @@
     ///
     /// fn main() {
     ///     let app = App::new()
    -///         .data(Config::default().realm("Restricted area"))
    +///         .app_data(Config::default().realm("Restricted area"))
     ///         .service(web::resource("/index.html").route(web::get().to(index)));
     /// }
     /// ```
    @@ -307,5 +304,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/bearer.rs.html b/src/actix_web_httpauth/extractors/bearer.rs.html index e8006477d..557165238 100644 --- a/src/actix_web_httpauth/extractors/bearer.rs.html +++ b/src/actix_web_httpauth/extractors/bearer.rs.html @@ -1,7 +1,4 @@ -bearer.rs - source - -
      1
    +bearer.rs - source
      1
       2
       3
       4
    @@ -181,7 +178,7 @@
     178
     179
     180
    -
    +
     //! Extractor for the "Bearer" HTTP Authentication Scheme
     
     use std::borrow::Cow;
    @@ -268,7 +265,7 @@
     ///
     /// fn main() {
     ///     let app = App::new()
    -///         .data(
    +///         .app_data(
     ///             Config::default()
     ///                 .realm("Restricted area")
     ///                 .scope("email photo"),
    @@ -363,5 +360,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/config.rs.html b/src/actix_web_httpauth/extractors/config.rs.html index 382b6d1c4..2b5f6e3ee 100644 --- a/src/actix_web_httpauth/extractors/config.rs.html +++ b/src/actix_web_httpauth/extractors/config.rs.html @@ -1,7 +1,4 @@ -config.rs - source - -
     1
    +config.rs - source
     1
      2
      3
      4
    @@ -24,7 +21,7 @@
     21
     22
     23
    -
    +
     use super::AuthenticationError;
     use crate::headers::www_authenticate::Challenge;
     
    @@ -49,5 +46,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/errors.rs.html b/src/actix_web_httpauth/extractors/errors.rs.html index 8c6c5ba50..d8a024f33 100644 --- a/src/actix_web_httpauth/extractors/errors.rs.html +++ b/src/actix_web_httpauth/extractors/errors.rs.html @@ -1,7 +1,4 @@ -errors.rs - source - -
     1
    +errors.rs - source
     1
      2
      3
      4
    @@ -83,7 +80,7 @@
     80
     81
     82
    -
    +
     use std::error::Error;
     use std::fmt;
     
    @@ -167,5 +164,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/mod.rs.html b/src/actix_web_httpauth/extractors/mod.rs.html index 934e9ef4c..1ae08363b 100644 --- a/src/actix_web_httpauth/extractors/mod.rs.html +++ b/src/actix_web_httpauth/extractors/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -34,7 +31,7 @@
     31
     32
     33
    -
    +
     //! Type-safe authentication information extractors
     
     use actix_web::dev::ServiceRequest;
    @@ -69,5 +66,6 @@
         fn from_service_request(req: &ServiceRequest) -> Self::Future;
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/errors.rs.html b/src/actix_web_httpauth/headers/authorization/errors.rs.html index 19e28a204..4f1a4f2a8 100644 --- a/src/actix_web_httpauth/headers/authorization/errors.rs.html +++ b/src/actix_web_httpauth/headers/authorization/errors.rs.html @@ -1,7 +1,4 @@ -errors.rs - source - -
     1
    +errors.rs - source
     1
      2
      3
      4
    @@ -70,7 +67,7 @@
     67
     68
     69
    -
    +
     use std::convert::From;
     use std::error::Error;
     use std::fmt;
    @@ -141,5 +138,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/header.rs.html b/src/actix_web_httpauth/headers/authorization/header.rs.html index 81fe877a0..9363e70e5 100644 --- a/src/actix_web_httpauth/headers/authorization/header.rs.html +++ b/src/actix_web_httpauth/headers/authorization/header.rs.html @@ -1,7 +1,4 @@ -header.rs - source - -
      1
    +header.rs - source
      1
       2
       3
       4
    @@ -104,7 +101,7 @@
     101
     102
     103
    -
    +
     use std::fmt;
     
     use actix_web::error::ParseError;
    @@ -209,5 +206,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/mod.rs.html b/src/actix_web_httpauth/headers/authorization/mod.rs.html index 597355f2b..36b9caadf 100644 --- a/src/actix_web_httpauth/headers/authorization/mod.rs.html +++ b/src/actix_web_httpauth/headers/authorization/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -12,7 +9,7 @@
      9
     10
     11
    -
    +
     //! `Authorization` header and various auth schemes
     
     mod errors;
    @@ -25,5 +22,6 @@
     pub use self::scheme::bearer::Bearer;
     pub use self::scheme::Scheme;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html b/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html index c1244da54..f9c1b2a1c 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html @@ -1,7 +1,4 @@ -basic.rs - source - -
      1
    +basic.rs - source
      1
       2
       3
       4
    @@ -198,7 +195,7 @@
     195
     196
     197
    -
    +
     use std::borrow::Cow;
     use std::fmt;
     use std::str;
    @@ -397,5 +394,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html b/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html index 17ffc03d6..de686609d 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html @@ -1,7 +1,4 @@ -bearer.rs - source - -
      1
    +bearer.rs - source
      1
       2
       3
       4
    @@ -139,7 +136,7 @@
     136
     137
     138
    -
    +
     use std::borrow::Cow;
     use std::fmt;
     
    @@ -279,5 +276,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html b/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html index d2cf72f26..ee17da09e 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -16,7 +13,7 @@
     13
     14
     15
    -
    +
     use std::fmt::{Debug, Display};
     
     use actix_web::http::header::{HeaderValue, IntoHeaderValue};
    @@ -33,5 +30,6 @@
         fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/mod.rs.html b/src/actix_web_httpauth/headers/mod.rs.html index 8979863d2..a30d3b2cd 100644 --- a/src/actix_web_httpauth/headers/mod.rs.html +++ b/src/actix_web_httpauth/headers/mod.rs.html @@ -1,15 +1,13 @@ -mod.rs - source - -
    1
    +mod.rs - source
    1
     2
     3
     4
    -
    +
     //! Typed HTTP headers
     
     pub mod authorization;
     pub mod www_authenticate;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html index 7c15c6268..85a440a1a 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html @@ -1,7 +1,4 @@ -basic.rs - source - -
      1
    +basic.rs - source
      1
       2
       3
       4
    @@ -141,7 +138,7 @@
     138
     139
     140
    -
    +
     //! Challenge for the "Basic" HTTP Authentication Scheme
     
     use std::borrow::Cow;
    @@ -283,5 +280,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html index ec8d5025f..74013683e 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html @@ -1,7 +1,4 @@ -builder.rs - source - -
     1
    +builder.rs - source
     1
      2
      3
      4
    @@ -64,7 +61,7 @@
     61
     62
     63
    -
    +
     use std::borrow::Cow;
     
     use super::{Bearer, Error};
    @@ -129,5 +126,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html index 1a507f53f..1384c7f86 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html @@ -1,7 +1,4 @@ -challenge.rs - source - -
      1
    +challenge.rs - source
      1
       2
       3
       4
    @@ -140,7 +137,7 @@
     137
     138
     139
    -
    +
     use std::borrow::Cow;
     use std::fmt;
     use std::str;
    @@ -281,5 +278,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html index a2f04ba31..620a34d65 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html @@ -1,7 +1,4 @@ -errors.rs - source - -
     1
    +errors.rs - source
     1
      2
      3
      4
    @@ -52,7 +49,7 @@
     49
     50
     51
    -
    +
     use std::fmt;
     
     use actix_web::http::StatusCode;
    @@ -105,5 +102,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html index 98f158ec0..d1244b57e 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -13,7 +10,7 @@
     10
     11
     12
    -
    +
     //! Challenge for the "Bearer" HTTP Authentication Scheme
     
     mod builder;
    @@ -27,5 +24,6 @@
     #[cfg(test)]
     mod tests;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html index 167c346ad..a99f82194 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -14,7 +11,7 @@
     11
     12
     13
    -
    +
     use std::fmt::{Debug, Display};
     
     use actix_web::http::header::IntoHeaderValue;
    @@ -29,5 +26,6 @@
         fn to_bytes(&self) -> Bytes;
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/header.rs.html b/src/actix_web_httpauth/headers/www_authenticate/header.rs.html index ba5429fcf..875ade93a 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/header.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/header.rs.html @@ -1,7 +1,4 @@ -header.rs - source - -
     1
    +header.rs - source
     1
      2
      3
      4
    @@ -34,7 +31,7 @@
     31
     32
     33
    -
    +
     use actix_web::error::ParseError;
     use actix_web::http::header::{
         Header, HeaderName, HeaderValue, IntoHeaderValue, WWW_AUTHENTICATE,
    @@ -69,5 +66,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html b/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html index b6cddebd7..500b7079d 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
    1
    +mod.rs - source
    1
     2
     3
     4
    @@ -10,7 +7,7 @@
     7
     8
     9
    -
    +
     //! `WWW-Authenticate` header and various auth challenges
     
     mod challenge;
    @@ -21,5 +18,6 @@
     pub use self::challenge::Challenge;
     pub use self::header::WwwAuthenticate;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/lib.rs.html b/src/actix_web_httpauth/lib.rs.html index 32133a1a8..8b6282ebd 100644 --- a/src/actix_web_httpauth/lib.rs.html +++ b/src/actix_web_httpauth/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
     1
    +lib.rs - source
     1
      2
      3
      4
    @@ -25,7 +22,7 @@
     22
     23
     24
    -
    +
     //! HTTP authentication schemes for [actix-web](https://actix.rs).
     //!
     //! Provides:
    @@ -51,5 +48,6 @@
     pub mod middleware;
     mod utils;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/middleware.rs.html b/src/actix_web_httpauth/middleware.rs.html index e8e60477c..4ef2a973e 100644 --- a/src/actix_web_httpauth/middleware.rs.html +++ b/src/actix_web_httpauth/middleware.rs.html @@ -1,7 +1,4 @@ -middleware.rs - source - -
      1
    +middleware.rs - source
      1
       2
       3
       4
    @@ -303,12 +300,27 @@
     300
     301
     302
    -
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +
     //! HTTP Authentication middleware.
     
    -use std::{future::Future, marker::PhantomData, pin::Pin, rc::Rc, sync::Arc};
    +use std::{
    +    error::Error as StdError, future::Future, marker::PhantomData, pin::Pin, rc::Rc,
    +    sync::Arc,
    +};
     
     use actix_web::{
    +    body::{AnyBody, MessageBody},
         dev::{Service, ServiceRequest, ServiceResponse, Transform},
         Error,
     };
    @@ -426,8 +438,10 @@
         F: Fn(ServiceRequest, T) -> O + 'static,
         O: Future<Output = Result<ServiceRequest, Error>> + 'static,
         T: AuthExtractor + 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type Transform = AuthenticationMiddleware<S, F, T>;
         type InitError = ();
    @@ -459,10 +473,12 @@
         F: Fn(ServiceRequest, T) -> O + 'static,
         O: Future<Output = Result<ServiceRequest, Error>> + 'static,
         T: AuthExtractor + 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = S::Error;
    -    type Future = LocalBoxFuture<'static, Result<ServiceResponse<B>, Error>>;
    +    type Future = LocalBoxFuture<'static, Result<ServiceResponse, Error>>;
     
         actix_service::forward_ready!(service);
     
    @@ -483,7 +499,10 @@
                 // middleware to do their thing (eg. cors adding headers)
                 let req = process_fn(req, credentials).await?;
     
    -            service.call(req).await
    +            service
    +                .call(req)
    +                .await
    +                .map(|res| res.map_body(|_, body| AnyBody::from_message(body)))
             }
             .boxed_local()
         }
    @@ -607,5 +626,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/utils.rs.html b/src/actix_web_httpauth/utils.rs.html index a9fc2d3e0..d2aa411ed 100644 --- a/src/actix_web_httpauth/utils.rs.html +++ b/src/actix_web_httpauth/utils.rs.html @@ -1,7 +1,4 @@ -utils.rs - source - -
      1
    +utils.rs - source
      1
       2
       3
       4
    @@ -112,7 +109,7 @@
     109
     110
     111
    -
    +
     use std::str;
     
     use actix_web::web::BytesMut;
    @@ -225,5 +222,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/prost_example/main.rs.html b/src/prost_example/main.rs.html deleted file mode 100644 index 892bb8601..000000000 --- a/src/prost_example/main.rs.html +++ /dev/null @@ -1,73 +0,0 @@ -main.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -
    -use actix_protobuf::*;
    -use actix_web::*;
    -use prost_derive::Message;
    -
    -#[derive(Clone, PartialEq, Message)]
    -pub struct MyObj {
    -    #[prost(int32, tag = "1")]
    -    pub number: i32,
    -
    -    #[prost(string, tag = "2")]
    -    pub name: String,
    -}
    -
    -async fn index(msg: ProtoBuf<MyObj>) -> Result<HttpResponse> {
    -    println!("model: {:?}", msg);
    -    HttpResponse::Ok().protobuf(msg.0) // <- send response
    -}
    -
    -#[actix_web::main]
    -async fn main() -> std::io::Result<()> {
    -    std::env::set_var("RUST_LOG", "actix_web=debug,actix_server=info");
    -    env_logger::init();
    -
    -    HttpServer::new(|| {
    -        App::new()
    -            .wrap(middleware::Logger::default())
    -            .service(web::resource("/").route(web::post().to(index)))
    -    })
    -    .bind("127.0.0.1:8081")?
    -    .shutdown_timeout(1)
    -    .run()
    -    .await
    -}
    -
    -
    - \ No newline at end of file diff --git a/storage.js b/storage.js index 9a98fff0c..6b16cbd83 100644 --- a/storage.js +++ b/storage.js @@ -1 +1 @@ -var resourcesSuffix="";var darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem(name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem(name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){var cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(window.currentTheme,window.mainTheme,darkTheme,true)}else{switchTheme(window.currentTheme,window.mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)} \ No newline at end of file +var resourcesSuffix="";var darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed){for(i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(i=0;i=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)} \ No newline at end of file