rust #rustc 1.81.0 (eeb90cda1 2024-09-04) 4< Y_-759718a9bb18a1234ae'7`/Ж-89ef43c30f9b928exvA١Q-1426abde5263ac46rustc_std_workspace_coreXP\VB*Di-d08e4e7d05aff086PF}iJ dT-bcbe36736b9f0af2,O\;&TZ-93dda7487230aedacfg_ife7C?ubrj -814df84e64e9c749 hashbrowniVE K-1128f34f910afc3arustc_std_workspace_alloc -+/u8h-ec2cabfc22cdef7d std_detectuMChO.-67d9d7b318bd750drustc_demangle"Qb`8;kw-13c5a35fb3626718 x@8^#,%-7da375a7ca1e9a5e '@\駽χW-d4c80a6b68e0570b unicode_identrl8R+?P-6471048e310c06c3%%%procmacro2_semver_exempt *|%wrap_proc_macro!& t&super_unstable &%C%K''Ԉ(procmacro2_nightly_testing",<(  d((( |(proc_macro_span!('['c initializeT|no_is_available! LineColumnT,tspan_locationsdDt  <fuzzingd!)<t  < d!)t ,t <  get_cursorTt  SourceFileT?>>> ??? AĵAA CCtC C   ident_any ident_not_rawliteral_nocaptureliteral_suffixstring cooked_string raw_string byte_stringcooked_byte_stringdelimiter_of_raw_stringraw_byte_stringc_string raw_c_stringcooked_c_stringbyteO O  characterR R next_chbackslash_x_charVIbackslash_x_byteX'backslash_x_nonzeroZ' backslash_u\'trailing_backslash^  float_digitsa intdigitspunct punct_char doc_commentg!doc_comment_contentstake_until_newline_or_eofrcveckkkkkkRcVecqqinnerk RcVecBuildertt*kRcVecMutw!ww*k{{"{{{make_mut{get_mut{ make_ownedk  with_capacitypushextendas_mutbuildk!++pop+kkIntoIterk  size_hintk detectionWORKSINITinside_proc_macroforce_fallbackunforce_fallback     forceunforcespan call_site " take_innerpush_token_from_proc_macropush_negative_literalTokenStreamBuilder* +push_token_from_parser+ from_strBYTE_ORDER_MARK   ' ' +' +' TokenTreeIter,/ mixed_site resolved_at located_atjoin source_text first_byte last_bytedebug_span_field_if_nontrivial  delimiterstream/ span_open span_closeset_span new_checked new_raw_checkednew_raw_unchecked/5is_ident_startis_ident_continuevalidate_ident ident_okvalidate_ident_rawsuffixed_numbersunsuffixed_numbers_newfrom_str_uncheckedf32_unsuffixedf64_unsuffixed%&byte_character%& /5subspanR1  escape_utf8 extra 4openclose     LexErrorCompiler Fallback  CompilerPanic mismatch " evaluate_nowinto_token_stream "unwrap_nightly unwrap_stable1proc_macro_parse  into_compiler_token' '   +' +'  /, -/34444=4 55/555=6 66/5= 8unsuffixed_integers!899%&9%&/59:="#1$%     <*_marker8 _new_fallback "<1 +'+' ' '    / 8F/34444/58F 55/55 delim_span5 as_charspacing/58 new_raw/5 !"# $%H&'suffixed_int_literalsunsuffixed_int_literals(8F9 f64_suffixed9 f32_suffixed%&9%&/59:8)1 *+#  -,ProcMacroAutoTraits Cursor!rest!!!!!k RcVecIntoIter*k*</Span !"#$Group55/%Ident /?&Literal /' u8_suffixed u16_suffixed u32_suffixed u64_suffixed u128_suffixedusize_suffixed i8_suffixed i16_suffixed i32_suffixed i64_suffixed i128_suffixedisize_suffixedMM u8_unsuffixedu16_unsuffixedu32_unsuffixedu64_unsuffixedu128_unsuffixedusize_unsuffixed i8_unsuffixedi16_unsuffixedi32_unsuffixedi64_unsuffixedi128_unsuffixedisize_unsuffixed DelimSpan*F DelimSpanEnum<4;;< < < &DeferredTokenStream5:'3< < (Q< < )*R< < +R< < ,S< < -SSSSTTTTTTUUMMUUUVVVVVVWWW*F,Q*F-. TokenTreeR R Punct S /R*0 Delimiter Parenthesis Brace Bracket  123456^chJ/7SpacingAlone Joint 89:;<=R*F>S*F?SSSSTTTTTTUUUUUVVVVVVWWW,*F%7&7&7'7(7*7+7,7-7.7/70707677797;7<7=7>7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7R7V7X7Z7\7^7^7`7a7c7d7e7f7g7i7j7}7~777777impl IntoIterator777f7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777O ƻ(yyyPP!yy҂yyyQ*kCqq)s*k쿣ﵦ}zBtt*v*kģzCzz*ɱT</G{j{T|T{T{{     ߐѳ6|{{RR^S̈́ٻZB{}B{{B{}B{{B{Q(~҂~~~~T~R55/łTTR /?̶ُzTTS /ӷ$jTTW*Fٕƫܾ@<4;;<ʭ T<<ר䍁yY5:猽jT||{}B}BB}BT<<<&   < Ϗ̏|TT<<ԘYBC<<ÇQ*Fڢŏ   Q  Ç~TÇ<<ӮTT<<ߡYzTT<<ʹejTT*Fὁ¦j||}B}BB}BTTT<*FذTōōT}}R*ʊ }R*FѦV}^`J/݇}S*FT}T}___ɌƆ̐T̐̐҂̐̐̐TTaaܦɨT҂TTzVTTjTT,*FCTBtq     qBB T* jF* ?CVTw#҂B(y y'1\ ''' &'phantom&'&ں;:::Global ߧױ   P y PhantomDataѵܞ__( %PPY dmwá%/ ɢ', ɢɢBGOH áá ɢ9 FPl!  (/*ERROR*/) ɢ!":ɢ$!% "(/*ERROR*/)" 55,5buf3535cap3535 353ؑz} (  z +z6 z@ \f|''' &'&'&ں;888383zd 'ק(F wzww*z*kz\ zL ק K"rT D  8z " tz  G{$ קcrT ק 4  Bקzf9$ d   d  {L $ w$'UTק< 'ק.$ 9 qz hzD {$ rק<ܬT  8883834 Bfx$dd ww*z*kLܮ$$'ήT  wV\L 6\L 0$< qzdz$ z,u BTקL Bק-\D zyzt{$tק<T$ C04Jޓȭz zL ~TL C/\TޓȭĦ,֦}!qq)s*k쿣ﵦ}}<A ۷S[(! !({3 {=۷ ۷Yc(" LexErrorɢ"  spanɢ~/: Tw| Uty" ƫ@ ނ: |E TTTflagsQTfillQTQTwidthQT precisionQTQ#ɢɢ  ~-T% ɢ$)ɢ$%& "\u{feff}"T5 55 4646 646 B{}'OFt6466 65'.5X{$5¿45{! {¿tokens95^J{¿,7 $,77 }7L <8 88  B¿9$(g:GL C¿Be nr |47 { 8 8T8  48  d88 848 }tt*v*kģ}    ܚ8 8 L8,8 }8  <88   8 865B Q ^ $S7i86{$7¿<7h¿zޓȭ{ {O MG۷ovstreamsvK5  pw)¿<9   T9۷9D: }/T:4:  :L:4\::7  ¿} ww*z*k} :nD: C¿:A;9 ; 09 9L9¿49 ۷[¿HQ[_!4¿d: : 64: },D:,; :/: ;&;^ ;: },: }gtoken09V} _ref__vec<;   T<۷<D<*T<$<<   <L< 3\<<<< D@L<4< }22Flatten2*1Þř׫<%<; < 0 <L;¿<;pyF¿mY]h¿%l(%l~)H'l 'm&08@I V`(m(m),̐ ̐-5,{ {+3P,~ ~+4(,Ƒ ~,ˑ,ʑ@NY c̐ ̐{~Y'{h-BoxlաV[ muP-͠~&/H-ݠ(- ~--@NZ e7 C~ }   t4 z,DDֲ\ mɢ,$r#ɢJL  Unique Fմ ՙж    ,  迱n,}X2  ^T+L  +   L4ʳ$$, z,ɢ,ɢ;ɢzɢT\dlu u wRz@===,̺ǂ?D V^P@~&/(@ ~@@=KW b  ~5$ ~  )ޓȭ~d,:,range("'-: ENX("'-39F QZd(  <{ ,4<! 3;     {D__self_0@oR!| |,4!888383   R   R   ^   S ꗑ ( 7EQY|~ |Z f|-   %-  >C,.  .L.3 \..*. C K.  ..4<. DMap6듖祻| L..mĄ.  !- - ,/   /L/ 3  \/ܦ/Md {y~  2 <23D3 <3 , 2<22  2 2 3  R3.:F P21|2  22 2 R  5 <45D5<5* 5<{ 6  o6.:F P5{4  4Ě5 )  $8 T8 :<{:4::4: t:8<09 49#9g:GLX ae o ,9 }L9 99 ,9    9 9*$9 9 j Z   9 :O 7W8&9S:07 L7¿47Ԛ8˂ޓȭ}}= 5tts|m eэ$; $ T;B= <{<= =L=3 \=;<<d<< t<T<|<<  <L< 3  \<<4< C|  J<  < <\4< B||6듖祻  <<=3> C{ ԇ>•  >=?4= B{{6듖祻• =   =;>: >  f  A;=~;܎L;¿<;;˂߂uʔ(V¿}5M¿?) (l4¿W(J  K<Q*kC}FK ]eK"<   ,   Ţъ3IN `h K  KIOVd px  qz*КP(``"'-Ç: ÇENX( !x<! 2:<   R  ͱIN `h    &-; GO DL}'rM( !x<" 4<<   R  •IN `h ä  Ĥ"(/= IQ FO(uN tŶ4˶,ŶD˶$ Tݶ"  < Ʒ  ,˷ TƷ ɢ ; 2+ <lL . \/, ɢg2,  ,  $,,ɢ,-$ m o qt jҧd:A( !<" 4<<   S  Δ๥IN ë`h   "(/= IQ ëëFO(uN$ % TD<, < Dt$<ë$ Ç & I~Ç t  @ ޓȭÇd,,FKN_litlit y13 -54y y+4(3 y33=KW by ݳ}TFԺF4F B}¿7F   *($08AK( !'/JointɢQYAloneɢ*w|ɢ!+H  ;@FQYahox  .6yݳ'0( y@NZby ݳ{T, A2+C$,, * ,ZL .$\/엒$ VL^4d X, 41hasher6v .6yݳ'0(ߗ y@NZby ݳ{T< 2,t) IÇ ]T |ޓȭd,, ),5 .6yݳ'0( y@NZ eÜy ݳ~% $y/7>J ^kyv~D #/~6=I ]jv~}D #/7>J ^kwD #/{6=I ]jv{}D #/7>J ^kwD #/|6=I ]jv|}DK #/7>J ^kwDK #/7>J ^kwD` #Ç/ш7>J ^kÇwшDa #Ç/~6=I ]jÇv~}D $08?K _lxD $07>J ^kw~D $08?K _lxD $08?K _lxD޻ $0ë8?K _lxëD $08?K _lx,ӕ $}/7>J ^k}v~, $}/7>J ^k}v~,̖ $}/7>J ^k}v~< $}/7>J ^k}v~k ,) T) WL-O- 4- D-$-Qz,-TzT<.T$.VV4.V\.FromStrDK A wrapper around the procedural macro API of the compiler's [`proc_macro`]N) crate. This library serves two purposes:,6 [`proc_macro`]: https://doc.rust-lang.org/proc_macro/9L - **Bring proc-macro-like functionality to other contexts like build.rs andOI main.rs.** Types from `proc_macro` are entirely specific to proceduralLF macros and cannot ever exist in code outside of a procedural macro.IM Meanwhile `proc_macro2` types may exist anywhere including non-macro code.PF By developing foundational libraries like [syn] and [quote] againstII `proc_macro2` rather than `proc_macro`, the procedural macro ecosystemLA becomes easily applicable to many other use cases and we avoidD; reimplementing non-macro equivalents of those libraries. > F - **Make procedural macros unit testable.** As a consequence of being IG specific to procedural macros, nothing that uses `proc_macro` can be JL executed from a unit test. In order for helper libraries or components of OF a macro to be testable in isolation, they must be implemented using I `proc_macro2`.  & [syn]: https://github.com/dtolnay/syn )* [quote]: https://github.com/dtolnay/quote -  # Usage\  F The skeleton of a typical procedural macro typically looks like this: I  ```<  extern crate proc_macro;$ # const IGNORE: &str = stringify! {' #[proc_macro_derive(MyDerive)]" # };D # #[cfg(wrap_proc_macro)]N pub fn my_derive(input: proc_macro::TokenStream) -> proc_macro::TokenStream {Q7 let input = proc_macro2::TokenStream::from(input);:- let output: proc_macro2::TokenStream = {0 /* transform input */! # input };T* proc_macro::TokenStream::from(output)- },ɋ<D If parsing with [Syn], you'll use [`parse_macro_input!`] instead toGJ propagate parse errors correctly back to the compiler when parsing fails.MQ [`parse_macro_input!`]: https://docs.rs/syn/2.0/syn/macro.parse_macro_input.htmlT # Unstable featuresE The default feature set of proc-macro2 tracks the most recent stableHJ compiler API. Functionality in `proc_macro` that is not yet stable is notM# exposed by proc-macro2 by default.&E To opt into the additional APIs available in the most recent nightlyHG compiler, the `procmacro2_semver_exempt` config flag must be passed toJH rustc. We will polyfill those nightly-only APIs back to Rust 1.56.0. AsKK these are unstable APIs that track the nightly compiler, minor versions ofN; proc-macro2 may make breaking changes to them at any time.> ```shL7 RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo build:ɋ<L Note that this must not only be done for your crate, but for any crate thatOK depends on your crate. This infectious nature is intentional, as it servesND as a reminder that you are outside of the normal semver guarantees.GK Semver exempt methods are marked as such in the proc-macro2 documentation.N # Thread-SafetyE Most types in this crate are `!Sync` because the underlying compilerHL types make use of thread-local memory, meaning they cannot be accessed fromO a different thread.   l "https://docs.rs/proc-macro2/1.0.88$=k   WO  ~Qz}TzT}T|VV|V{tjskr))T)4) '\% RefUnwindSafelD UnwindSafeTS lvh6(>@%',4y'y*yL),)1236789:;<=>@ABCDEFGHIJKLMNORVXZ\^`acdefgij$7! 6t4 R,D,?D@>????>?áA4LA7PP7ƫ@4A @,AF0lF7PP7ƫ@ 74G A,GJ8Ln~Ժnn7 n n  n n n  tnܚnLn~ oTo~ p/\q7 7~~~ q $q_other4qs-Ts7 7~~~ s $s ,s0~7 ~   ~ ~   t~~$7 7~~  $˽4܄+ 8  Մ  „ ń Ԅ  tƄܼ\7 7~ޓȭ  $& 8        tܕTÈ~~ $ΈՊ% 8  Ί    ͊  tܵL~~ $~׍4ڍ777 7~ 7TTTQTQTQTQTQTQ#7 ލ $ߍ V777 7QQ{QQQ QQ has_fieldsQǘ쑅|77~  ,ߏ/$T=ƒ̐{ 5Lʒ54$L7 7̐  $#4Ĕ7 7{ ˔ $̔Ԋ$7 7~  $ĕL˕7 7~ Օ $֕ T7 7~  $ܖ&D7 7~  $/$4777 7 7TTTQTQTQTQTQTQ#7  $ ŝ6777 7 7TTTQTQTQTQTQTQ#7  $T4d :|\7 7~  %4/$6l7 7~  %4/$ݣ8dˣ ;|ɣ|7 7~  %4/$:7 7~  %4/$ԥ$7 7~  $ߦ&D7 7~  $/$-t  ȧ0  d <|t7 7  %4<Ӿ!D7 7  %4Ȯ#d =|ˮ7 7  %4ޮĹذ#۰77 7 7 ް $߰ ,@zT ñ77 7 7z  z$ Tq4777 7 7TTTQTQTQTQTQTQ#7  $ ε4 >        tܒ777 7 7TTTQTQTQTQTQTQ#7  $ 춻û Ի  ڻ  ۻ ܻ   ݻ  $޻  ,  $  ,              $   n    $ S<   S<¼ 8$ļ ȼ  4ɼ ϼ м  4Ѽ ׼ ؼ {}$ټ ݼ  L߼     $       ¾  ҽ   н    $  , Ľ $Ž ɽ ,ʽ Ͻ  ѽԽ ׽  ؽ ٽ       $       $ S<   S< 8$      L    džؾ($  $;7 7   $(t  (t  &47 7  %4%L `*t &$+\7 7ǭ  ",)D7 7k*)ד劽  %4\Ӿ ǭԽ$7 7~  $&D7 7~  $/$F<7 7: т $ t+-ĒD|2D7 7ƫ@j   $$Ӿ4777 7 7TTTQTQTQTQTQTQ#7  $ 6777 7 7TTTQTQTQTQTQTQ#7  $/\77 7 7  %4 $4Ӿl+M Items which do not have a correspondence to any API in the proc_macro crate,P- but are necessary to include in proc-macro2.Q0,+DO 4 Q$$Qz,TzT|T,z|\nbTVt-7 7  group,4 Returns a span covering the entire delimited group.7$7 7  $Ԟ"> Returns a span for the opening punctuation of the group only.!A$"7 7 " $"܇%> Returns a span for the closing punctuation of the group only.$A,%7 7 % $%Ī''4'777 7 7TTTQTQTQTQTQTQ#7 ' $' '<,,H , , |,,,- Dm_Lw^,`<^L$Qz,TzT<T\<jk$ ,# #5e7+. !tT{ĤD&|" <? ||l ܣ D $   / |54 ԝ D 7 7  $  d7 7 $9|$D7 7  $2t|$/l{•$D7D7 7ƫ@  K7 7ƫ@|  ӾɢӾlաЂ4777 7 7TTTQTQTQTQTQTQ#7  $ 2 /$ | *, !2|!#$!| *,!#0#-$#{ *,$$A$},%*$*!$*} ,*,,,AL-¿' --- ¿z%'/.0EL0¿' 00 ¿B0 ¿A132Ӿ4Ӿ7&7B477 7¿' 7 777 ¿$75*,:(:E4;7 7¿' ; ;; ; ¿$;_,.>>4>777 7 7TTTQTQTQTQTQTQ#7 > $> >l@@!$A 7  7Ç A $AB,C($C  CC*D&$D|  DDD4D 7 7 7  7  7TTTQTQTQTQTQTQ# 7 D $D EGH4H 7 7 7  7  7TTTQTQTQTQTQTQ# 7 H $H HL!LL$L}lLDLL#LL $LOLO$O}O'$O 7  7 O $OW-LW 7  7Ŷ W $WLaÇԺaLaÇ ܐcTcÇ f.\f 7  7ÇÇÇ f $f ,fi-Tj 7  7ÇÇÇ j $j ,jm'4mÇш $m{/${ 7  7ÇÇ { ${ ,{+\ 7  7Ç  $+tÇш $у+,$ш  proc_spanL"Ç&$~Ç *,Ç4 7 7 7  7Ç  7TTTQTQTQTQTQTQ# 7  $ ȇVև 7 7 7  7QQ{QQQ QQQǘ쑅| 7 7Ç  ,/$TƊ׊=ފ̐ 5L54ʐ$Lѐ 7  7̐ ې $ܐ#4 7  7  $ԝ$ 7  7Ç  $ܗL 7  7Ç  $ T 7  7Ç  $&D 7  7Ç  $/$,t $$ҟ#$՟ g ڟ< 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ formatterLǠǢ<ʢ 7 7 7  7  7TTTQTQTQTQTQTQ# 7 ΢ $ϢLբTǥ4d ]|\Υ 7  7Ç  %4ڥ/$ا@lߧ 7  7~  %4/$8d ^|| 7  7Ç  %4/$D 7  7~  %4/$īԹ$ 7  7Ç Ŭ $Ƭ&D 7  7Ç  $/$,t $Ĥò#Ʋ 7 7  7  7 ɲ $ʲ ,вȵ@T ͵ 7 7  7  7z  z$ 4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ ͹4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ 졼   ż  Ƽ Ǽ   ȼ  $ɼ ͼ ,μԼ ׼ $ؼ ܼ ,ݼ              $       $ S<    -     S<Ͻֽ <Dؽ    T S<   $      $   S< <D  Ҿ D S<Ⱦ ʾ  $˾ Ͼ Ѿ  о              $  ,  $  ,    ÿ  Ŀ ſ  Ͽ  ӿ ֿ  $׿ ۿ   ܿ ݿ ߿ $ S<    -     S< <D    T S<   $      $   S< <D   D S<   $      d4 7  7   $(t  (t  &4 7  7  %4%L `*t &$+\ 7  7ǭ  ",)D 7  7  %4ԕ$ 7  7Ç  $&D 7  7Ç  $/$F< 7  7:  $l ".të $(%$  ĨD2D 7  7ƫ@j   $į4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ 4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ -ɶ-,ö--!-svԔ.loKN.A.-/ t/4- Error returned from `TokenStream::from_str`.40D4ōذ4,45<5y55($5*,566l6{ *,68: Returns an empty `TokenStream` containing no token trees.7=8 9' Checks if this `TokenStream` is empty.9*D9 7  7 9 $9:2 `TokenStream::default()` returns an empty stream,:53 i.e. this is equivalent with `TokenStream::new()`.:6;<; >M Attempts to break the string into tokens and parse those tokens into a token;P stream.\<<F May fail for a number of reasons, for example, if the string containsDD>>ō?7D? 7  7ƫ@ō ? ??ӾōA2@i @ A <@ @ d@@A/$A| *,AC2Bi B B  Span {  ^^^^^^^ɋ<$ 7  7  $B Returns the span pointing to the opening delimiter of this group.E\" pub fn span_open(&self) -> Span {% ^ɋ<L 7  7  $ B Returns the span pointing to the closing delimiter of this group.E\# pub fn span_close(&self) -> Span {& ^ɋ<T 7  7  $%< Returns an object that holds this group's `span_open()` and?G `span_close()` together (in a more compact representation than holdingJ those 2 spans individually). T 7  7  $&H Configures the span for this `Group`'s delimiters, but not its internalK tokens.\I This method will **not** set the span of all the internal tokens spannedLE by this group, but rather it will only set the span of the delimiterH$ tokens at the level of the `Group`.'D 7  7  $/$H Prints the group as a string that should be losslessly convertible backKL into the same group (modulo spans), except for possibly `TokenTree::Group`sO# with `Delimiter::None` delimiters.&< 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $L< 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $LT.< Creates a new `Punct` from the given character and spacing.?I The `ch` argument must be a valid punctuation character permitted by theL- language, otherwise the function will panic.0G The returned `Punct` will have the default span of `Span::call_site()`JB which can be further configured with the `set_span` method below.E `J<; Returns the value of this punctuation character as `char`.>< 7  7  $ F Returns the spacing of this punctuation character, indicating whetherIE it's immediately followed by another `Punct` in the token stream, soH@ they can potentially be combined into a multicharacter operatorCH (`Joint`), or it's followed by some other token or whitespace (`Alone`)K% so the operator has certainly ended.(< 7  7  $ԯ1 Returns the span for this punctuation character.4$ 7  7  $&3 Configure the span for this punctuation character.6D 7  7  $/$G Prints the punctuation character as a string that should be losslesslyJ* convertible back into the same character.-4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ 6 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $T"$ *,,G Creates a new `Ident` with the given `string` as well as the specifiedJ `span`.\B The `string` argument must be a valid identifier permitted by theE0I Note that `span`, currently in rustc, configures the hygiene informationL for this identifier.ĤF As of this time `Span::call_site()` explicitly opts-in to "call-site"II hygiene meaning that identifiers created with this span will be resolvedLH as if they were written directly at the location of the macro call, andKL< Later spans like `Span::def_site()` will allow to opt-in to?E "definition-site" hygiene meaning that identifiers created with thisHH span will be resolved at the location of the macro definition and otherK? code at the macro call site will not be able to refer to them.BH Due to the current importance of hygiene this constructor, unlike otherK; tokens, requires a `Span` to be specified at construction.>Ԃd܂E Panics if the input string is neither a keyword nor a legal variableHH name. If you are not sure whether the string contains an identifier andƒK" need to handle an error case, use%> syn::parse_str::<Ident>ą4 rather than `Ident::new`.d t| 7  7 Ɔ %4/$̆0D Same as `Ident::new`, but creates a raw identifier (`r#ident`). TheGG `string` argument must be a valid identifier permitted by the languageJC (including keywords, e.g. `fn`). Keywords which are usable in pathɈFD segments (e.g. `self`, `super`) are not supported, and will cause aG panic.Td t|< 7  7  %4/$԰" Returns the span of this `Ident`.%$ 7  7  $ڌ&C Configures the span of this `Ident`, possibly changing its hygieneF context.dɌD 7  7  $/$ĵԍ#׍ 7 7  7  7 ڍ $ۍ ,@Tڎ  7 7  7  7z  z$ ګɏ8\ 7 7  7  7ޓȭLessGreaterછҔ  $ ,ː( 7 7  7  7  $ ,ɑ)$ 7 7  7  7L т V4 $.0M Prints the identifier as a string that should be losslessly convertible backP into the same identifier.쐓˓4Γ 7 7 7  7  7TTTQTQTQTQTQTQ# 7 ғ $ӓ ٓ˔4Δ 7 7 7  7  7TTTQTQTQTQTQTQ# 7 Ҕ $Ӕ ٔ"ǘ ݘ          $  ,  $  ,        %A Creates a new suffixed integer literal with the specified value.D%%C This function will create an integer like `1u32` where the integerF%C value specified is the first part of the token and the integral isF%E also suffixed at the end. Literals created from negative numbers mayH%C not survive roundtrips through `TokenStream` or strings and may beܛF%3 broken into two tokens (`-` and positive literal).6%%B Literals created through this method have the `Span::call_site()`E%D span by default, which can be configured with the `set_span` methodĝG% below.T      $       $ S< ɞ  S<מޞ 8$    S<   $      $    ݟ   ۟    $ ş ,Ɵ̟ ϟ $П ԟ ,՟ ڟ  ܟߟ     ߦ%C Creates a new unsuffixed integer literal with the specified value.F%%@ This function will create an integer like `1` where the integerɠC%= value specified is the first part of the token. No suffix is@%7 specified on this token, meaning that invocations likeޡ:%. `Literal::i8_unsuffixed(1)` are equivalent to1%E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersۢH%D may not survive roundtrips through `TokenStream` or strings and mayG%6 be broken into two tokens (`-` and positive literal).9%%ʤE%G%T      $       $ S<  ٦ S< 8$  Ϧ  S<Ŧ Ǧ  $Ȧ ̦ Φ  ͦ  d$$ *,2l *,ɴ(1 Creates a new unsuffixed floating-point literal.4I This constructor is similar to those like `Literal::i8_unsuffixed` whereLF the float's value is emitted directly into the token but no suffix isͰIA used, so it may be inferred to be a `f64` later in the compiler.DC Literals created from negative numbers may not survive round-tripsFH through `TokenStream` or strings and may be broken into two tokens (`-`K and positive literal).dG This function requires that the specified float is finite, for exampleJ3 if it is infinity or NaN this function will panic.6tд  ߴ&/ Creates a new suffixed floating-point literal.ֵ2E This constructor will create a literal like `1.0f64` where the valueHH specified is the preceding part of the token and `f64` is the suffix ofKD the token. This token will always be inferred to be an `f64` in theGA compiler. Literals created from negative numbers may not surviveDH round-trips through `TokenStream` or strings and may be broken into twoǸK# tokens (`-` and positive literal).&¹dʹ۹J̖6d  (ّ4LIǓֽDFKԺٿdJ̖6t  &͗2E This constructor will create a literal like `1.0f32` where the valueHH specified is the preceding part of the token and `f32` is the suffix ofKD the token. This token will always be inferred to be an `f32` in theGDԚK&dJ̖6d  & String literal.4 7  7  %4% Character literal.L `* Byte character literal.ܲt &$+ Byte string literal.\ 7  7ǭ  ",) C string literal.D 7  7  %4ԍ, Returns the span encompassing this literal./$ 7  7  $&1 Configures the span associated for this literal.4D 7  7  $/$FC Returns a `Span` that is a subset of `self.span()` containing onlyFB the source bytes in range `range`. Returns `None` if the would-beE. trimmed span is outside the bounds of `self`.1C Warning: the underlying [`proc_macro::Literal::subspan`] method isFH՛<j [`proc_macro::Literal::subspan`]: https://doc.rust-lang.org/proc_macro/struct.Literal.html#method.subspanm< 7  7:   $&(4 y   4t 7  7   $Dō1D 7  7ƫ@ō   $<Ӿ4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ 4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ M Public implementation details for the `TokenStream` type, such as iterators.PdO 4 ^L$Qz,TzT\,ĨwikIԴL$}'$ 7  7  $-L 7  7Ŷ  $4 7 7 7  7  7TTTQTQTQTQTQTQ# 7  $ !L$}lDL $yƻ(y8y   {SyNNN{NTyNN 7  7yy ,4!y$ !  |U!y^`OOO|OV!yOO 7  7yy !,|P|P|P||PW!y25|P|P|P||P|P |P|P|P 7  7y !QQQ|QX!yQQQ|QX!y14QQ 7 7  7y  7y !L Q" l zC ,kRRRRYRzRR 7  7zz  z, \{ɱ,۷[[[[Z{[[ 7  7{{! ,Ԅ  D |G $ ~\\\\[|\\ 7 7 7  7|  7TTTQTQTQTQTQTQ# 7" ,\m$m~(jjjj]~jj 7  7~~%l ,l &l ̀^~jjjԀj_~jjj܀j_~jj 7 7  7~  7~'l Ll jFkFkFkFk`~FkFkFkFkFk FkFkFk 7  7~(m mΑ,łL̐4{T$~$l$l$l$lb$l$l 7  7,Ƒ ,Ƒ,̶ُlT͠$͠~Lݠݠmmmہmcmm 7  7- ,<ӷ$$T$~rrrʂrlrr 7  7@ ,A!\ AEd @d |d l 5t 1s\ od d -d )kl gt d %d !z!l zEt @t |t | 5 1sl ot t -t )k| g M An object that holds a [`Group`]'s `span_open()` and `span_close()` togetherPJ in a more compact representation than holding those 2 spans individually.M [`Group`]: crate::Groupܱ Lٕƫܾ@,<y DtDtDtĈDtDtDt 7  7 ,!lʭ ~D   |!4$ш$ш,ш! ~t~ tttttt 7  7 ,܋"\ר䍁y{""" """ {{uuuӉuuu 7  7 ,%#猽4|!,wwwwww 7  7 ,K)lKԘYf)f ffK") KZZZZZZ 7  7J ,J`*$`ÇшÇ~Ç* шÇ`ш*~Çta~ `ÇEEEEÇEE 7  7ÇÇ` ,`1,Ӯ1 ?1? ??| 7  7 ,Ǥ5,פߡYз5з ззc5c cc|hhhhhh 7  7 ,;<лʹeë; ëë; ÔÔÔÔÔÔ 7  7 ,!\ Gd Ad }d l 7t 2u\ pd d /d *ml ht d 'd "Ͽ!l ܿGt At }t | 7 2ul pt t /t *m| h 3L An abstract stream of tokens, or more concretely a sequence of token trees.0O1E This type provides interfaces for iterating over token trees and for1H( collecting token trees into one stream.2+2> Token stream is both the input and output of `#[proc_macro]`,2AB `#[proc_macro_attribute]` and `#[proc_macro_derive]` definitions.2EA\3ὁ¦3,34<4yvvvڕvvv 7  73 ,3|`A A region of source code, along with macro expansion information._DB$`ڢŏ`,`Ç`<`y `⟔ 7  7` ,`L A single token or a delimited sequence of token trees (e.g. `[1, (), ..]`).OCL}̈́ٻZ}}}}1 A token stream surrounded by bracket delimiters.4C },ٕ An identifier.C },>6 A single punctuation character (`+`, `,`, `$`, etc.).9C> >>}ڛ,ҖϻF A literal character (`'a'`), string (`"hello"`), number (`2.3`), etc.ޖICϻ ϻϻ}<GGGіG}GG 7  7}} , A delimited token stream.E A `Group` internally contains a `TokenStream` which is surrounded byH `Delimiter`s.ܭE,ʊ ,555555 7  7 ,6 Describes how a sequence of token trees is delimited.9FL̐ɌƆ\ `( ... )`lF̐24̐, `{ ... }`lϯF̐24̐< `[ ... ]`lF̐24̐$ `∅ ... ∅`D An invisible delimiter, that may, for example, appear around tokensGC coming from a "macro variable" `$var`. It is important to preserveFF operator priorities in cases like `$var * 3` where `$var` is `1 + 2`.II Invisible delimiters may not survive roundtrip of a token stream throughL a string.l߲
Z Note: rustc currently can ignore the grouping of tokens delimited by `None` in the output]Z of a proc_macro. Only `None`-delimited groups created by a macro_rules macro in the input]N of a proc_macro macro are preserved, and only in very specific circumstances.QT Any `None`-delimited groups (re)created by a proc_macro will therefore not preserveWV operator priorities as indicated above. The other `Delimiter` variants should be usedY? instead in this context. This is a rustc bug. For details, seeBH [rust-lang/rust#67062](https://github.com/rust-lang/rust/issues/67062).K
TF]̐tw̐  ڗ̐̐ 7  7̐̐ ,̐ 7 7 7  7̐  7TTTQTQTQTQTQTQ# 7 ,̐  7  7̐ Ø̐˘̐ 7 7  7̐  7̐ L B A `Punct` is a single punctuation character like `+`, `-` or `#`.EG Multicharacter operators like `+=` are represented as two instances ofJ4 `Punct` with different forms of `Spacing` returned.7G,݇D<T$ 7  7 ,L Whether a `Punct` is followed immediately by another `Punct` or followed byO another token or whitespace. H<ܦɨ,1 E.g. `+` is `Alone` in `+ =`, `+ident` or `+()`.4HDZ\,7 E.g. `+` is `Joint` in `+=` or `'` is `Joint` in `'#`.:A Additionally, single quote `'` can join with identifiers to formD lifetimes `'ident`.H  ˧˧˧Ǚ˧˧˧ 7  7 ,###ܙ### 7 7 7  7  7TTTQTQTQTQTQTQ# 7 ,#DDDDDDDDD DDD 7  7 |||||||||| 7 7  7  7 L |D A word of Rust code, which may be a keyword or legal variable name.GH An identifier consists of at least one Unicode code point, the first ofKM which has the XID_Start property and the rest of which have the XID_ContinueP property.l> - The empty string is not an identifier. Use `Option`.A@ - A lifetime is not an identifier. Use `syn::Lifetime` instead.CF An identifier constructed with `Ident::new` is permitted to be a RustII keyword, though parsing one through its [`Parse`] implementation rejectsLL Rust keywords. Use `input.call(Ident::parse_any)` when parsing to match theO behaviour of `Ident::new`.> [`Parse`]: https://docs.rs/syn/2.0/syn/parse/trait.Parse.htmlA # ExamplestJ A new ident can be created from a string using the `Ident::new` function.ME A span must be provided explicitly which governs the name resolutionH& behavior of the resulting identifier.)ɋ< use proc_macro2::{Ident, Span};# fn main() {|C let call_ident = Ident::new("calligraphy", Span::call_site());F println!("{}", call_ident);#,ɋ<K An ident can be interpolated into a token stream using the `quote!` macro.Nɋ<# use quote::quote;|7 let ident = Ident::new("demo", Span::call_site());:; // Create a variable binding whose name is this ident.>0 let expanded = quote! { let #ident = 10; };3A // Create a variable binding with a slightly different name.DO let temp_ident = Ident::new(&format!("new_{}", ident), Span::call_site());R5 let expanded = quote! { let #temp_ident = 10; };8,ɋ<L A string representation of the ident is available through the `to_string()`O method.\ɋ<" # use proc_macro2::{Ident, Span};% #,C # let ident = Ident::new("another_identifier", Span::call_site());F," // Examine the ident as a string.%& let ident_string = ident.to_string();) if ident_string.len() > 60 { 7 println!("Very long identifier: {}", ident_string):,ɋ<J,ѦV,<y 7  7 ,K A literal string (`"hello"`), byte string (`b"hello"`), character (`'a'`),NM byte character (`b'a'`), an integer or floating point number with or withoutP( a suffix (`1`, `1u8`, `2.3`, `2.3f32`).Ζ+F Boolean literals like `true` and `false` do not belong here, they areI `Ident`s.lȗK<,䙘<y˭˭˭˭˭˭ 7  7ߗ ,ߗ!DF؀FHܛF͂6EĝGP\ ؀͂dͩ {vr؀mhc͂^YUPKd G(#؀ ͂d ؀͂l xsnj؀e`[͂VQMHCtê ? ؀ ͂\ ؀͂d pkfb؀]XS͂NIE@;d 7 ؀͂d ؀͂l֫ hc^Z؀UPK͂FA=83t /!FɠC@ޡ:1ۢHG׌9ʤEGPl ׌t٬ ׌|wrt nmhc_ZUPKF׌A<83.t *)$ ׌| ׌׭ z׌uplgbl ^]XSOJE@;6׌1,(#t  ׌t ׌tծ ~ytoj׌e`\WR| NMHC?:50+&׌!  / An iterator over `TokenStream`'s `TokenTree`s.2C The iteration is "shallow", e.g. the iterator doesn't recurse intoF; delimited groups, and returns whole groups as token trees.>RD,<yJJJJJJ 7  7 ,) Vp rHB]&tFH Xv:A%4ߜm8 (Ps # (7pz &L'q (L(h -L- ! Lm \ct", LF Lc9Sp   L öLͶ   r     L LW ]r 'L'6$" LE{ >L?} ELE HLH6Tc  Lm\Ya r ҠLܠ LhH ײ  L LB L L` NLN OLO2F QLQa RLR,H ݵ ΓLؓl ǤLѤC ݧLjOHt L L; L Ld% { =  ,  ܓL ܔL3xvvumu5srq_p Lvo LmSmbl Ljzihggfedd\d+c1cb|ak`|_BW2USRPNBMKIA?;P:]3X2^2100. ,+ +#b*)) #{K&https://github.com/dtolnay/proc-macro2parse_macro_input!rust-lang/rust#670625https://doc.rust-lang.org/proc_macro/struct.Span.htmlproc_macro::Literal::subspan.https://github.com/rust-lang/rust/issues/67062 https://github.com/dtolnay/quote docs-rsproc_macro::Literal$https://crates.io/crates/proc-macro2Syn  githubϗ  crates-io  proc_macro::Span::joinhttps://github.com/dtolnay/syn2https://docs.rs/syn/2.0/syn/parse/trait.Parse.html Parse  %https://doc.rust-lang.org/proc_macro/8https://docs.rs/syn/2.0/syn/macro.parse_macro_input.html   ϗ Ù   ך proc_macro::Span      syn Ù  8https://doc.rust-lang.org/proc_macro/struct.Literal.htmlܙ   ٘        Ҝ ܙ ͘ ך        Ҝ  ͘ ٘    crate::GroupRR R TTVVjBBCBBCЂт.TBBCBBCЂт.1yWXB|:T t Ja:/q75zGl` -C':!x]SzХ[o{1Q%Op@YU)U.^ܯ4jRlW(S~rF/h"nW5t$Β7Ksg= ZħexfS7XĤ[ |ܶYmvxB3F)٫ aKfOiRMyʓ,,PWyRbl,UNd F}N3 {3#6 5uSiGl1 ν^?F,bоje2Y%ϐ}McyQ=n!%|<)Ҽ*DT{#P7SQhW5z42ODF[cy:V05C\hIaoGL~Y)k:Иe7}(bٍnMB6ь#zv{N&E' vQ'W '@z~LD9zͮ`~>T*nm skZN ZK k_WxrLV')7 IzDm :8E7_͈ߘs q$£_bA9=(l1/~Q{ Je4ǎRvoSpC$ pSPEO$& *zbCJ/hfDXklYS]3TOɾh=kXR`rIdRRf3bh)+y(e_/5M7+$K'. ]R~FP niI!SKXMF4~yo}69Ɣo_Z4bօxW >H_CW}'Y:_Y#ݍՒe}Dzr|*eWQcm #aÉ$kα۵Dh'+1KI}]vgV?q#u?+ fho`wDXLaܾ5,!krKJ^Y}e?2s#f}iHp;(+n#J?v*q$)FLy{"\XBy >Iu3LMprF.oUϯXSpa.K T{XTZI7PzWCԓ%2AS~2jI0>W8,Z!^+i;rS"ע9Q5yܪ 9kۦQM@8i7樽ti1B+^B4@6qj]OlnJ]Q` :TeZsRi| RљIM) 2bށe=l Ǎ ݊1 H1XCf PK'oŴipֹ@z7dEL y[] xϮ :ş^$O"ahU4gP?4~ x޳TLw;SflM3yP|7_|ņˡѷ{2EI>I@ +X'kwZf#pM}_HSjZFo=M·?|=rݬR:ReHA0Pe05 CF/t2ZAK s4YpmsCqSʦ {Zy K ?F~I\; Jڜ"9 ?j?5dCx '⯈m4=\ ##xV\ = 5ǍZN|ze'uiRx( '9nsP*%C  g"0\u'?ݦO)`nR_yO d{ك-v F _>#ϒ7#Ѷ|SHͮ[7)snh|g۽R$S8<}U3uJ%M}W `~WTҝ3(z+?CM:a9ho!~YvF;eRwjOdbM$)?)tUߩ]-, ]TJYɷ_&£?"mc7IŲEVx$=D}U1k'zfݭ딕`XDR@6H3W7fo((x|``w"Mi.pD(/߶ѐ ee\U@Y4,O#ACZy(0?h)dȐ ʇU+!7C{p'E'cTPmXļNqT21bpԋ_Y1|U;8l#pAQ/Egg>a:vR"xvIk\o瓈s`Fv=VVU̟\+Z і`k {0[Jb3Ci {[ *ҽI* /l3%F,'1VY 6N_{).Oo;iݣ;n0,޹mhbq[f$gYA Sj3їk@F\\gt|8~Q)B֖A*%z n0a0@@!40ZM dL~gZ[E6 ɡ:8L)t %{>h-\6$3G6`}ystD;,LFǤG 8Q\{#;U^vJ)O_ غ//&x[UtħPް:Q5#(@ {:>-CI] ; ]+B|7֑#inh^#Ҙ4 `# y"Vhj ҊK*Zϓu:]VrwyfQ+>% pn:G$fG~\T\%fF d66kˌ15'y+@|(yK+*[3lDQ^DǡJ* cP0,!iy맫zDנwb6.cQ)=t㐴9UӨ'%%^dk4@Ou 1cKCPUAZ]}bG  e[k-@ծ),&dW6i?kh. =5@.q@ %-V8Pn_6(" Tn~Hpٵ_ndADZ/_4Sh-J>`bڪ(k=*HRhmiL! 57ϭm BtF_lJV=|P7_Aơ~,O+dϣ)2-/bLFĽ|97*t-7lxŹZ(}1o\t J$MI fIgR0ƅ toNI۞"ehn80թbGKl:J1v{ڨxϳ N9}{,{n 4 *0⹢C̯{ˤrg&=`3+A,v#(<)ݣ ZRUp=6 K+N\ѹ_37HaY *~E=?EBhř=&yW̼SO>g*T5i?JJfPe2*&>@/XB`HVy6ZCVM}jrܥSLEĬ^nG`r4Ls+ȏ!(J(j-j3cӒKbTAQ!DC91'W" ?Eq'-,\t#\`t9m; %[U o)Յ8ȳo{fVmjn㆕N- ☠ld+xnx+rU0<4cW l=-Pdkxk}X/A2W"?Ҝ*7 l`ifӢEt] ;#WM8ٗm3@E׃-.i6LxqvN-mZ%l~ɶk9(e[ò~}=SG E^0iu0?9ቓűI×@8-cP9;Ʈz>>'u^|2`dB7Zo٩;k9lJP=}oJ0Gvs/r%C? }HTs% xˀ[9iB잮 =fiZ4/[3̱GRC3PSO/+zeesfE{~#UeDM֐e|PBՄf\Uo@A֦0'v[&KuRkǴ|7wF]*2=$XGPLTZZS pM-v}usnH0Dc}PWf>ػXjȦ aYzjIHv|`n7\r#묔q{ @λ2 :#6g"|!ܳPڋEveGu'# ho_}`Ӕ+*Eb m.0DAr.}&`25$8E0zR E"7rj U]W_kmsBI4͸Ӈ0{phn6q=j}+DL~i|f\H7B/BbCBY+uy!4<ݪ5]P#9J4 |cYv6q<%qb 7 :+Lfn7wh.PKYfqEi9M?zd'ȽHrR]R{VscuGÔlL**8 wV9b5tM0]]qM|2Fd}I(O| ÕW ,@)t޳ڰ*@`eƖ7FǢ}* Ş@9Cf% *K>LJ tzE!߭˿"Gj)[ LYRRX[Ac=< w\O'ypIPr8%VB$fq\o) \5sN?٭L{V0 .#a|Ɇ×:ꋉ0&>AO(|HJ̰Aj9iIh|v-z)k^aX! C  ^j^ r)FMKZ<<́ R5`*zR|*Ioq;2 هX>1P ZM >!/J=~Y3J=y_XV.: XnEA 9LׇIR ^4Ώc}`F $tR5@v,Xr235Z2J8_ƈ3Y(Pi6{=xnn}\!եʌ#cy@qC@a8ʩdWQu |A `i,EvlKfI^ښE4bͣM}_bPv(.+ $ans[rr `MO!5L1d$3_ybnSvcJ +\fߚVW6_}PFObRͅix Zx6i9)ԿiVNs!bM&vTAG1p6:[("Co@)΄Vf{g咵u_J5cYxK' Ԡ eX_j5d4nSR38l12bJ2u;j?SQפEId~k%5e%!uK%:~ PRNny ΪJ7I-סiSTLƉ'.hukh3:RU><2e :+tR%w(~+|g2R*;A ;Ct".ֿjH=TOX;nH+\m $X? aiʶT(џU,s$RTY9@93}V 2_{_Q 6N։1)!c2FlD'" ㍇5 c%RV ~ ]D\QC;Jr3CYOa,$~348C&$@ɹ˴{F!$]HLSͽU{JEe#1\ɱ* Hq@RY-9U"λMF 3!;P#z}GS'O ??_:+c9g($^qEnU[}R~JsKbCReUsQ趲YJuDvΛ>)IP?f~lƘ-6'ӎ\YAdnfX]Pv ѱX;|i 'H`DoUh=eV {3$&I'lў+'\H ysx, t?8S["/&q*~rJƽ4Y{LUZ[q%uazu} ,Z,d%!ۢas/IZ@~Qcx-q{  0`3,!AcՇD3poc׀we' _1^1]uCY_$oʵDz cU-uj5!'d.Mە-ʟ'oH+V9OuܾG'8-dr­Y[_ߔ.XIuا:.¢V7DmPFK0:񱰹? t! -1{kHo.^0ۀ҉9 4f3.ȧmE2G-w]:PG6cBWuc' sFmNݘIh82=gnb:eSB{16vHѽER5,tq2'ҤXc6|뇶K*\a XQvmUVJGN8l"1YU+hnFUdSXO%b93ycx"\&aA(, NXNR~0U@a_"4Buȫ#:H4~7jZXxu a|8:.7Hz?vњ㳔}񣘭Kvj{ ?kyӞ7IFx(7VxV9[ wuߖ\ *uH% S\-4b4T 68#g7GX%,b1=]ɚT Z/]_|Sr>#A=PԲIV<3CT#onQH}zIiKER,X#q*2|,7.}J(=(W*qboO|DAԘ ENҌP֛AܮMũNqp$m?$/gJrO0vю__0ZuY;M)*CYn_7eoVgHxі42яLJU ˕^-oQj'\g-M?!sbJy3?{?3s4ě'[ UeV f$HؾTP퉏Wty智b{sx#<%a9Z ?+kB7!KY&aw9 >smgH)t5 l0j 4ٷ;e[c̥<S=k[}EW!Lt F16JzkG٥Zb;q%|wھ׬"NL'c~rXq 0jbHWB~љ\x#wգ+"5K KKK#KKKK)K%K6KK!K'K3KK KK-K1KKK/KKK+KK~ 9 >pBWq)?TMOit2kaZs5v>_(a%q5S@\ICnK?,TkDb+GW@ R|#C_+l+GA  %    = l  ~=CxUVm,b=8 x(QiOg2MjEz8 S!!!"##$k$$%o%%&&?&#'<' (D((#))*Y***/++,R,,,M--.(. /'/Y02W444X55546u66778X88_9z99E:::;;<=o=>?]??@*ACA#BDdDDD'EAEEEEFmFFFGOGGGH7HTHHIIJJKKKLVLoLLLMAMZMMMtNNO*OOOtPPmQQQQ5RNRRRSSTTTTU.UJUUUVNVVVBWWW8X|XXXX=YWY=ZZ![o[[ \y\\+]]]].^H^6_P_6`\``<aabtbbc4ccc`dzd_eye^fikClllmwmmmTnnoioo?pYppppqqrrsTtqtttt*uu(vvvxxyyAzzz{0{p{{"|;||.}}~~~~J*BG  W<V3 !c{*:~Ma}C88@Z?Y>` Jg9ZfN  P 0 R7 "=\]w\v[:) \8QB b-[v.WI:W0Ok$C`(dWO K?|6t/7Ut$rm:Un'Eb@ORl5;UKk g-GwOB:x7x,i#a 7   & D o    c |     Un aVXiFv#B_+*U     j@!u++++8,---+. .e / 0 0Q 1 1 2I 3 3 4A 5 5 6 7B 8 8 9v :2 ; ; <f =" > >?@@@Ay\,  >X B$DI^ p2p :Pi A;z!Sy g q!b`(!#7&4'2(,- ./i&4q9:;><A8DMDaDEG/HJKLhLLSMM#OOPQQGRRST$UVXXOY []@^H_H`,ccrdqe&kQppqrLttvx:zz){{4|}~C< OMt" 000RQPy '4onT/UTD/Tbn0J0BWr2  l      CqR   l++-&.@A  &   )                             ))   ''(            ))         ))    %  '''''''''''''''''((((((  wZb|(ETo)t^Hr;t8Hf,]W_S@hXg/MjS(6Vrp/Z 7    P   "V*h?u K;|z6Q}$X= &!! ""#'$$$,%%%S&P's((R))*m** +^+,,,-<./^0245l555H666%78l8899:;<>??L@@VAVBDiDDDDE)EEEmEEE,FFF/GbGGG;HgH IJK*LLLMmMN=OOPQRaRRSTTT2U]UU,VaVVVUWWWLXXYkYQZ5[[[4\\\?]]^\^d_``kaa/bbbHcddecf$iWlll3mmmnhnno}opmpppqr)tXtutttuuvxxTzzC{{N|}0~(]U‚܄pԋmkb۔5>N՚Ҝ8ULLߧq<ѪinmtͶ]M&ܾkb"JRBpN/tbJ Hh3_ ?5T)H<x-k%c_S J ;Y*Io@2W+IEqa.TqG=ZRFml/'cVNK@}7uI   *  T  @ e    I t  2W=oc (GoX  !J+z+++---=.8//0'11w233o455g6f7889L:;;<<==>p?~@@@)ASY_fm $:P #'+/5=AEItzJVep-Ag\Vn0q:Z#\ l0N;W C.=Yh6E9&Nae>FKPUZ_'BDS;Nw)/>Z&Yh'B< y      "    8 h        $*08?EKQW]cjptz9>tPRi (]83s #=LdJb.IeAu3 M!!!"## $e$$%i%%!&9&'6'(>(()))S***)+++L,,,G--- ."./!/T02R444R555.6o66 777R88K9Z9u99@:::;;<=k=>>>>>>>>>>>Y??@&A>ABCCCCCCCCCCCCCCCCaDDDDD#E=EZEEEEFiFFFGKGGGH3HOHHIIJJKKKLQLjLLLLĄC͈݇Q7Q-”^vѕʗ$ 4x G[w>22:{T:S9ZDb{!3ع FUҽѾ`HJ*L18VXqWpVfosw4&`X15N= ^)Ws~)TF5T +Jh>]&bTLD=y3q+3Qn n4i6Qk"@_=\LNi26RqF1fd(DtM?}7u/v*f ^ 4   " > l    + ^ y    _   Pk\*QwUfCs=\&#R    e!p++++3,---(.~.c//0N112F334>5567?889s:/;;<c=>>?@@@AjApAvA}AAAAAAAAAAAAAAAAAAAAAABBBBB B&B,B2B8B>BDBJBPBVB\BbBhBpBvB|BBBBBBBBBBBBBBBBBBBCCC&C-C4C;CBCICPCWC^CeClCsCzCCCCCCCCCCCCCCCCCCCDDDDD#D*D1D9DADHDPDXD_DfDmDtD{DDDDDDDDDDDDDDDDDDDE EEE"E*E2E9EAEIEPEXE_EfEmEtE{EEEEEEEEEEEEEEEEEEEEEF FFFF!F'F-F3F;FCFIFQFVF\FbFhFnFtFzFFFFFFFFFFFFFFFFFFFFG GGGG$G*G0G6GJDJJJPJVJ\JbJhJnJtJzJJJJJJJJJJJJJJJJJJJJJJJV\cjs +AV !%)-3:?CGOxOXit2CkaZs5v_(a%q5SI0C[n8K?,TckDINSX]d+IFW@ T|#-1C_-[l+GC {      %    =        !'-5;BHNU[aglrxCzUXm,b8bx(?SiQg2MjEz}) !!!!"##$k$$%o%%(&?&%'<'"(^((=))*Y***I+,l,,,O---.(./t/Y02Y444X55546u6678X88M9a9z99::;;<=>>>>>>>>>>??9@@,ACARBCCCCCCCCCCCCCCCDfDDDDD'ECE\EEEEFmFFGGOGGGH7HTHHJJKKLLXLoLLLMCMZMMMMcNO*OOOOcPvPPoQQQQ7RNRRRSSTTTTU.UJUUUVNVVVBWWW8X~XXXX?YWY=ZZ![o[[ \y\\+]]]]0^H^8_P_8`v``Vaabtbbc4ccccbdzdaeye^fikClllmwmmmTnnoioooApYppppqqrrssssssssssssssss%tTtqttttouuvvxxx*zAzzz{0{r{{|$|;||r}}}~~~3J,BɄs]Z?W>ےNǔ !e{֕Ԗ*:~$A 8 8 ˧](UBZAY@`Ii&9ƹ޹Hڼٽ׾fNp6>$=\_w^vlqu|:+c ^38jD d/[Eq5s:q0O$Cz(dWO K?|6t 7U&7m< U'E}B_:ORn 5;WtM4ki-bwOB:x7x,i#a" 7   & \   O  . c    F b   U ,m`zs3av#BzjBp  F    E+u++++---.+.$//k011c2 33[455S6R788|98::;l<(==>\?y@@@AAmAsAzAAAAAAAAAAAAAAAAAAAAAAAB BBBB#B)B/B5B;BABGBMBSBYB_BeBmBsByBBBBBBBBBBBBBBBBBBBCCC#C*C1C8C?CFCMCTC[CbCiCpCwC~CCCCCCCCCCCCCCCCCCCD DDD D'D.D6D>DEDMDUD\DcDjDqDxDDDDDDDDDDDDDDDDDDDE EEEE'E/E6E>EFEMEUE\EcEjEqExEEEEEEEEEEEEEEEEEEEEEEF FFFF$F*F0F8F@FFFNFSFYF_FeFkFqFwF}FFFFFFFFFFFFFFFFFFFFGGGG!G'G-G3G9G?GEGMGUG[GcGkGqGwG}GGGGGGGGGGGGGGGGGGGGGH HHH!H)H/H7H?HEHKHQHWH]HcHiHoHwHHHHHHHHHHHHHHHHHHHHHI III!I)I/I7I=IEIMISI[IcIiIoIuI{IIIIIIIIIIIIIIIIIIIIIJ JJJJ#J)J/J5J;JAJGJMJSJYJ_JeJkJqJwJ}JJJJJJJJJJJJJJJJJJJJJJK5Kd.a[u$_ wMGg!b+yKM]!{?|G9+dA s>H.~#:p.O3mU:xFd{#:( \  A   0 `  1-iA<bR'+uvm l`H]A[ #A\6j ;!!!"###S$$%W%%&2&'/'(,(()))A***+++<,,,--h---../:0c44?5556\666}77@889V9k99-:::;;<<V=>B??x@A6ABDuDDDDE5EQEyEEEFXFFF GBGGG H)HFHHII>?@@@ AXAB C.DR!ZNh VqlB}<`W Mn@ BRp4O;k2w]:g2<"j1QH *WG3xj0]q0 F } :   ) Y  *_}71[H!gqh_eGAVT7R,`  1!!!"y###D$$$H%%%+&&(''%(((p))2***+{++0,,,-R---../+0\4405w55 6R666n771888O9d99:T::x;;w<<$=>4??j@A/AADkDDDDE+EGEoEEEEJFFFG8G~GGH"H\-VrB>Y.LG~ =;Vs#e#?\#TSon1e2n#aYVKB% g   , _   U  K f    J   =X9>pd2v=6d *I}pEs u   >{?@@@AGABC"8Ng3;`z'dzPJj$e.|NP`$~B JI&$vAK1?9-@x[;~Q@. w D   3 c  43oG?eX-1{|so-`G^&Gb<p! A!!!"###Y$$%]%% &5& '2'(/(()))G***+++?,,,3-}--../@0f44E555!6b66677F88:9n993:::;;<<\=>H??~@A9A BD{DDDD E;EWEEEE F^FFF GHGGGH,HLHHIIBJJKKKLELeLLLL/MPMMMQNN O OOOKPPWQ|QQQ$RDR|RRoSShTTTTU!UCUUUVEVzVV+WqWW&XjXXXX+YLY#ZZ[T[[\g\\]t]]]^=^_E_`E``!aabbbb c)cccFdodFeneEfkll mdmmmAnnnOoo-pNpppppqqhrrgs4tjttttuuvvvxxqyy7zozz{&{^{{{1||&}}}~u~~ ߀@9yr7؇ՎL#K!Pr͕ k;Ok*---oO&N%M/Nv۸ӹߺn/=?}m1SIlCkB(x;M|-|=&lPt?qmR~B3R~(Hg;[W H@~8z2n'eNl7/f+LNi>\WGKf-{3Ol:^,c ~%AoB~3q+i#f[R  / }   < i   _ & [ v    Z   MhP'NtIT @n:Yz# O}    S!U++++',---#.r.S//0B112:334255674889g:#;;<W=>>?@@@A^Ac}*GV+vJt=v:Jh._YaUB jZiOkT )7Ws[ " R  #X-k@vL<}{~%Y> (!!""#($$$-%%%T&Q't((S))*n** +a+,,,-=./45m555I666&78m889:;<??M@@WADkDDDEGEoEEE/FFF0GcGGGhHIJK+LLLMnMN>OOPQ RbRRST^UU-VbVVVVWWWOXXYlYSZ6[[[5\\\@]]^]^e_``laa0bbbIcddeXlll4mmmninno~opnppqr*ttuuuvxUzzD{{O|}1~)^Vqnlc6?P 9VMMr=jonv^N'd#KSqO1vdK Jj5=y.l&d`T K-LB4Gsb0sH\THn (dWO LA~8vJ   U  A   J u 3>pdpY  !K++->.9//0(11x2 33p455h6g7889M: ;;<===>q?@*Ad~+H+vJt=v:Jh.`ZaUB jZlU!*8Yu\ " R  #X-k@vL=~|~%Y> (!!""#($$$-%%%T&Q't((S))*n** +a+,,,-=./45m555I666&78m889:;<??M@@WA:DDODEEE/FFF0GcGGGhHIJK+LLLMoMN?OOPQ RbRRST^UU-VbVVVVWWWOXXYlYSZ6[[[5\\\@]]^]^e_``laa0bbbIcddeXlll4mmmninnoopnppqrtuuuvxUzzD{{P|}2~)^VÂބqՋnlcܔ6?P֚Ӝ 9VMMr=Ҫjonvζ^O'd#KSqOVvL  =y.l&d`T KdLp4s2b0HHDY (dWO LA~8vJ   A    u  3Y  !+>.9//0(11x2 33p455h6g7889M: ;;<===>q?*ASmx6Eew9z>c,e)u9 W@\NHsPD 1YpI[D'GcK(    A  GYq0f<|,mknI~. !!!"#$p$$%t%%D&A'c((B))*^***N++,q,,--.y/45]55596z66778]889E::;<=??=@@GADD^EEEFqFF GSGGGXHHIIJKLsLLM^MMtNN.OOPQQRRRSTNUUVRVVVFWWW=XXY\YBZ&[t[[%\~\\0]]]M^U_{``[aa bybb9ccd~eHlll$m|mmmYnn onop^ppqrttsuuvxyEzz4{{?||}!~~NF̈́ waŋ^\S̔&ە/?ƚÜ )F==Чb-ªZ_^eN >Su;Ca|{?e ;v-i\TPD;y:#bR8w7zT G?}<}1n(f:  1  e # .}yI  +..)//p011h233`455X6W7 889=::;q<-==>a?AC6>>>>>>:??????@L@V@`@AAAAAAAABBB-B7BBBB*C4CCDDhDuDDDDDDTEbElEvEEEEEEEFFF,F6F@F{FFFFF'GmGGG[HeHHH II&I0I>IHIRI\IpIzIIIII<:<W<<<<<<a==>??%?1?C??@j@@@A$ArAB>CCDDEEFFFGG$H.H8HBHMHoHyHHHHHHIfIId<gD&R=g& K-Y9MoNOoPco||}~2TBCStTTUkVWXXYjZ^C`dfOhnYsBԳux{ꁁڄ0'(wP!}uNOhPPQH[\}jj2kzkl rBtt uvdXC=ηaf<ͻEpɧ!.z.[گN~QV^Iٱj@ҵc?ҹdrTTUiVWXXYhZF[A`dfAh{j r@t{؄.VuޟYدHNfPP|QS\T^j0kxklnWstرuivsx?Aѵbd%>ѹ&Ccnǧ,x,N{OQsTTUjVWXXYiZG[^B`dfNh|j rAtӳc{ل/Wvߟ ZٯNgPP}QS\U^j1kyklnXstuAvtxB<ͷe`&'D;̻]oȧ -y-O|OQ^OQ^=I j'~TN(i2RTd(F N&Q.zEO55HcN 6  8 h  98t JD]2x6Au& F!!"##^$$ %b%%&' (( )))L***!++D,,8--.E04J555&6g6677K88=98:;<=M??@ ABEFcFFFKGGGHHIKKJLLL4MMZNOTP\QQ)RRtSmTUUUJVVV0WvWW+XoXX0Y(ZZY[[\l\\]y]] ^_!``&aabgbbccNdKeJfllmimmmFnnnToo2ppuqmrlstuuvvvytz {c{||}~~~w<(&U p @Tp/  t +*4Ss8B"D"vHG-}RH1X#r# \ME=7s,j$0?G8v0n(k$`W  UNY X!,,w.X//0G112?334755679889l:(;;<\=>>?cAt   $!%!&!!!!2535R*R*M*   !!.!.!$!%!&!M*R*M*@ @ R*M*2535R*M*M*2535R*    !!.!.!M*  M*R*$!%!&!!!!  M* R*M*@ @ R*M* 2535R*M*R 2535   .!.!!!R*M*M*R*M*    R*M*R*M*R*M*@ @ j c '+R*M*2535M*R*!!!M*$!%!&!  D @   M* @ D                  M*D @   M*D @    q)?TMbGR+A   xV`QO!#&&#' (,M-. /W4_9:;=>*APBDdDDAEEFHJKKVLLAMMOOtPmQQ5RRSTUU|XX=YZ].^6_6`cc`d_ek?ppqr#ttvx(zz{p{"|p}~1*=< cҖ@?>gĹؼ׽"]\)\hBb-Co3ox$:z@7lUK g_  Y  M   D k^p0^wh?m   C++-.w@@8"DEtJ{N(G\ n0 n e+-@*D7t=~nvA:O a# a }X+-@ !(/37;?CPTXdhlptx| *1@LXkr/6:J^e} #2E[fjn~ $(/BFP]iz  '.=DKRV]dkr "-59AIMU]muy2:AFKPUZ_dinsx} @]bj"*/7<DIQV^fks{ ,?Qbgo .6Mfnv &>X]i ',19>FY^joty~ $4DIQafn'/GLQV^ckpx}    % * 2 7 ? D L Q Y ^ f n v { ! !!!$!,!4!:E:L:S:Z:a:h:o:v:}:::::::::::::::::::; ;;;;%;,;3;:;A;H;O;V;];d;k;r;y;;;;;;;;;;;;;;;;;;;;:0DEDYDGtL~P*OZf{(x:O     g+-@`02ef&i޾m8K>O$OO}}5}5   R   ^   R   S    handle X F Xdzӟگ  Q Ɲ X F X   Symbol   ޥ=5} }.]]] \]\]F\̞ܶ}Dwiق[8åfi 44Drain4 tail_start34tail_len34343߁ ܢ   ConcatTreesHelper  ؂7/]]] \]\]F\̞ܶ}/]]] \]\]F\̞ܶ}}/]]] \]\]F\̞ܶ}/f ӴЯ\==}}}+++}4P|PɢPPPPPPPPPōōP|66}]]m0ؘ 00 OnceState0*ڷƂ ޓȭؘ0ؘ0ؘį$ݔ8ݔ8ݔɶޓȭ~....{..........''RcBox'strong&'weak&'value&ҾU888383}ǭɴ ̐̐TR}{R}TTT ̐888383''RawVec* +,ݻ  R 5 5 /ط̑ƫ@++ DropGuard+++num_init+ťĞ++ƹ++++ťĞ}Simd 平444ƹ44 ۵֬666ƹ65 ӳѫܑ} 888383''* +,ݻ55,535353535 353ؑ++ƹ++++ťĞ666ƹ65 ӳѫܑ}|888383۷  }''* +,ݻ{mmCompletionGuardm mmset_state_on_drop_tomʕrޓȭ''* +,ݻ''* +,ݻ}ܢ۷55,535353535 353ؑ}''' &'&'&ں;ޓȭɴЕjmmmɢmmnn|n{nmi ؎%ii󪞎5l  ll  ۻl llllEjkkkMultiCharEqPatternkj jkkkkj ?CɾCBlwiقBBDCopiedit.ַJDԡDlCD EscapeDebug' ÄC. DܢC ܢףCܢCCCCD. DWindows\ \׫DCC=.88ޓȭ PPPPeeeɢee}ddde]]}]ɢ]]\ ʁs s s Iɢ&  ArgumentspiecesQQQȏךǚ I8IIÇIIIIIIIIIIIOЕ•NNNOO{|O|OëOܹܹݹTryFromIntError޹ 󋨇HOōOōɱO|֎Lɶɶ}}}}}{   ^  З躹*ë|~Ç||+++}+kk)ɴ)ɴ)ɴ'''&?8}88}89:}9}99}999}99}955}YCCCCC}SS}S<}<<<8}8F}FIII};BүffԎBB//ėBB B//ėBBܢB:(9}9:}(:}::::E9}9[}TJ J~J```}``4PPPëPP{|PPP|PōPɢPPP|PP g}6}6J}JJÇ 66} ..?9}9 ɢ}ɢ:}_kk448}kkz]%%SMb,,^&&Y Tc--_''<Z!!Ul@@`((=[""VAWXLxF$utcore_intrinsicsderive_clone_copy݂>+T dxH$V݂>+ӛ&r;}-f݂>+Q[C݂>+4eh5x*$`݂>+6'ӄډX*݂>+" ?ӄr!2݂>+^H3r݂>+}-ٺ*݂>+@ rZ݂>+ .|*݂>+x&9g݂>+:^ ?*݂>+pސkj*݂>+ Y | rJ1݂>+@]jFrHe݂>+$J| ݂>+]?',rFP݂>+|!ƎrA ݂>+H^k0k r*'݂>+Z3r"[݂>+"oԯ!r݂>+v &*݂>+ "r%݂>+$n8݂>+/K1/JeeZ derive_eq ݂>+略Px݂>+G!$֗*݂>+'v>urK%݂>+8W(~*݂>+voq*݂>+)4zF[}fmt_helpers_for_deriveTT݂>+ 0hizHLTT݂>+ˤxB$`w݂>+'`¢7r#"݂>+yn*݂>+B x$l ݂>+bB8݂>+I3NZ ݂>+4H`*݂>+X0l%*݂>+ dBArRs݂>+F07uL݂>+JIS= |T,>*݂>+t>@{%i*݂>+)dF ݂>+CH  ݂>+Z}wrB ݂>+G?`x $c ݂>+|Q'q*݂>+xz7'Q ݂>+ږr Zl ݂>+ :HH7x$) ݂>+93L݂>+96Aj *݂>+"F&AOQHZ!J ݂>+3 *݂>+tCư{WF ݂>++b}' *݂>+w5McrC ݂>+3}9;Pr1A" ݂>+5ި *݂>+hqwYKr ݂>+; vir  ݂>+ͤo(JL *݂>+U9Qv *݂>+Q̑R ݂>+}7L݂>+ac r % ݂>+ ;rT ݂>+]9g *݂>+oq, *݂>+B)=`` *݂>+CArG ݂>+ͩ U|rEW ݂>+⨲VqY8݂>+-j5r5݂>+_] r)S݂>+x!$݂>+\n0l `*݂>+Y 6s`݂>+ 9o:}z t TT݂>+D' x$݂>+JJ !f.X*݂>+**݂>+)b(*݂>+2DM::Y;;(<<<D;; <:;;;;;;;a<:b;;I<<<:1<<<<M;/;;<#;;;<:;z;;u<<::n;;i<<U<<<:=<:;<<=K@BEJLM?D!M@?>AfDuADFIImLN>IuHK=H KvMBEGJ?mBYEGDRGJL ?BDGNJLA2DFI>AA3IFgI9L|> ACL>@HK=@CXFHjK(=q@!CEAH6K~=@mCFG?B%E*JLj?KB=a@CEJfM?EADA"DFIILl>#IHK >1H&KMBEGJ?B{EGDvGJM0?;BDBGrJLAVDGJ>eAWIFI]L>1AC)L>>@HK=@C|FHKn=@]C FeHZK=;@CHFH@BIE>JL~?]BODHT K=+uE9068TmӇ0{p<pMк(_ غkxkQ^Dǡ'tֹ@v80yxnn}F\@@!40U,%G-?28i 7SQhW55q'-vWPk{_Q 6N+4@m!8 LTv")V; g"0g?#P ${'#pW15'y+dϣ)3ڰ*@``+xnx9)* ? /ξxB3FB+^B4@6qj-j3cp6H3{3$_Ih82e :^3;X`=A ;Cti>XR`×@8CPUA]+B|YAdV0Dc E"7mgH)8uJ%yKl:J1BmL8 9M?P5tM0]]Y2O7]P#G.}J(=iRx(c*HRhm+RRUp=Ny"VhjT(џ$~7jZXxu"\XB:d]h`uo\t9M}_b)`nj譧g`L^?F,b,_Hh)dȐ )gb8rWXB+tBY+uD!} Hc1Oeȸx]Mz6(" !ħPްiIhnd%@/XBgY>PRMy!5F{-;- і`k n(Dzi 'H[wh.PN,CPz sOd'ȽHrR!8S[eH }X/A}Dc%00iu0?9I^9Cf% e^+ij]Olk^a5ySpC$ZACjIHv"́ R5k}'laKO.d{ZyR8S |ޙMI.R} )Ð~ 2 '@DZ"rӪaE%|!i Qv.rѤDhV)tI|PBՄTAG\j_9IoJM)!ļNۧcPq@RYA;j?STZU1k'rLV'N'WCWσYɷ{LUiyg\Qu^|2%a9Z4B9(Ceq;Sf+Lfn7M$fqs5in=fiZdk47rj U8P ni, lqy81rcl7Ks)=t %t?[rr`KGw1*exfuczQ {[ |v-z)vюlS?q#u>HaZ+AKkw]8-STLƉ{F!$]:g)uENҌ܋!k"%2jI0Q$yDkG٥ZB \~>!58E52t ] mLs/IwL1=rݬR:@|(@ծ),&_XV3Ci׺a0ŴipՅ8ȳo{zܶYmoc׀~׶1ʣ '9ndx[/ԾA**Ve2Y.Bhř=`|!*̰Aj9wDXLYDR?'E'BB3F:ʵDz )7 IzDO2bJ2urKJ{SKjHѽER O*/9V9Ox8QҶvR"qSʦ Q~>T*IܞxU>oQj(]W_km9l`iY_$onc93yc+zeesnfW7gʬĔ͗Ajbmmwrl6^qEnU[J.oUϳi.pDqbS~rF4tf7Ku;!eɹx٬5cYxK`*zR|**~rJgsHsB:-9U"λBx6i ݊1 cT}'Y:_}*Tc?Z = Z2'Ҥty智b2ڜ"9 Vv,uj3<&"S #:$£_bT!2S*P ҊK*z]fnRvoYNWnh+zF*rVE!߭˿ih-J(bCJ^v Ys$RT&5ZFObRFb xy1:\; JUоj-L@λ2 'V +dr­lFǢcYRRXlz?vњ(GtڲWy:5cm #a?v*q$=.ZS߂g-8:.>a:X/h"0zR6 0jbHWHwe',: 9jrj8E7_QlW( ZKLY2iCrt֔}W{ $X"iVNs~LF~-Rߘs qS$3GAc=nC;Z!DC91sM0%k[m+c9H%C fا:잴E"D {nm skJMF 3!C\%f{?3s-4 s`X;|Z+D?[ ܪ  }4ě'[.թbGAVY 6C :[("C $TB %˻E)Q*  4 *0G:.;C{0[Jb21fk43!5 /M7+Fx(7VSx:%SvV; tػXjW8,Z!Z[E68Q\{#e[ò~LTZZS pY[_߲>`b)Zc(F ]z;b:uRe e[k-QhsS=k[}>A9=(l1UlKf3LMprF1p6I*PrtYor{VscT˭)rKv$"R%w({sx#<3Wy$A*%z n0@ {:>(x|`7}(>{~#Uo{1 <9ŷ\{ ,$~347cy8F$F"bJy3?,K+NP@Ou#p4Ls+ȏnY#ݍC}\otXSp =_05C\:'zzlNEw7֑#p{et6ixvIk\%r/ ?+kB75IVCf[̯bӢEiݣ;4YpmsCPl+ :l#ZAKNsP*eyK+?+ fuh-\6 l=-Pd0@\v0L3 {'*[3lDU0<4c=$X{x>t{?ystDfEKXMF4)FLy{Hp;*uH%9J4HdL~gZM g-M* `MO/f$HؾT0Çh&>A~Eb m0@ɹ˴95,tqt @rIdRo@)΄VB6ь#z@Z<<۞"e>}`Ӕ+*/R38l1ھ׬"EIxڔc$4/[3J* tzhQ%O +d:@V8Pn_ *T8cy!4OFV" (y;%\L'Z,d%mAԘ Cy4@dT"%|wD%\UF*Y[}PUqtV4\m!5 qC? }HTl` - F nEf ,}* Ş@d' s5idlJP=}j)[ LkቓűI)FMK \5v]P' Ԡ eXI!S.;#:5!'dI(-Mg*"O+2, ]}[ 50:儦2U5uS)nW57% p1=]Ac|H7B/BC%7DmJEe#=d F}N&7wF]*2c7IŲETJ?gJrVM}iFmNݘXO%bnJ]Q`Uh=]_lJV=|/%VBr^_XRV 1wZfˀ[9i1P ZMZ]}/^aƽ4Yh:M`8m"`-OdbM$nSvcJ a| ˕^-' UeV /ahU/l3PmXvs/r%ڦs`7*t-6t] Fv=Vwuߖm}(ŹZ(}18Nnd{ك-vmE׃-.iKER {pأhIaoG;:#(ꋉ0}8"/&qfHo.$xja ;U^呓m2ΒFG4nSt$Β"r۩:Иe=SDN>Rbl,UN%e'ub@93(&HE tR. =2xs妑U6`} O_W `Do\2_*0U@m4=\[@_ah%r J$MI:BA `i 'Z[c̥<= ν^+D'" .[ SzХ[*ҽIvѕ54ԅ̥Z4bօ d6pٵ_$α۵Dg۽u"1YUI4͸;HLSͽ;ð1$ :TeZC}# Bzfݭ/Egg/͑/gYA?khE=?^)jUE4bͣm3@eDM遴! -e˚&yW̼azu}kfVmj{!~Ypocp@YU R_k "{U@פEI ,Ro+p":u s&k|3 ;Jr43 n~H#b 6E' vQB^I$ ^Q#( N< { &☠ld~q{  zܥSkªSR6{=ũNqpeV ^bq[f${16vzE?JJfPeG~\Tˤrg&=`I&6\&I`os#f}iEO$& \,v#L .#a|z!bM&v f)v̷Be2*&f(+n#J ,l+|6'-NꛛA(, K0) 29 4fTpp6n}ۜ}69Ɣ=kIP?f~R.q@5@v,XF`BV0CAi`?6#E_$m?$/TJ!uK% яLJU&+tMv{N&AAO{yO l.Mە_4S'+MTVr<2CReUsMmUVJI}]vgVx"\&aP7_0.cQ 6cBWXc6|0|yj&KXmZ%l~ɶ.ȧmE2 toNI=q #kt1rV&Z[q%uajvN-(z+i|f\A6G|V4Buȫ'O(|m :P뇶KL{VxbbٍnM?%.QIPr8q'ӎ\UN9}Ed~k rwyfQ5@ > ^/hfDX_ ]R~FusnH)B֖a.K3! hn8?inh^# :ş^$Ʈz>>'Aơ~,1X! (<)ݣ ZM%%^ߚV@ P.¢V឵P#CxY~tU߈^ř)٫ ar.}&2Yw~;k9]ȫX7t @CM-v}i6Lc~rXqGuY; x`HVy6ZChhn6=o@A֦Ւe_>#o9kۦQM3#6 (7bܮM(0?ӒKbqgR0ƅ<K ?F~ITP@ ә|8~QFLv{C}R~Klt^xV9 >s7Z@~Qcxl&1Wa:/q ??_:G;2 Ȯ%qb 7 :LҘ4 W" ?Eu8 wVW"Gjϒ7pSj FX>+X'k޹mh)?) Px g$K'. fI;ΪJ7`w"MCf{g _10,;P#D,X#q\u'hڪ(k=*O'yppg($I0`3,!{cU-݄ S\-4v[1׌c>O1ϿRf3bq41W?qRA5qr23P|7_|6qIu%WIy>Ȧ z%4@VlpAQهX>ϯr>P֛AG&c>H_CWSHͮruܾG'eoVgHx$;,LF-cP9;WQI[X u_J? ai#\cPbYa8ʩdWQY}ePeJtVd7*'.huͅixxj}h#g7GCYn_7#~yoIoq-&rW;1Tq.)t޳^eGu'-Hu?svWeRwj\uxo>H_ybH yscFĽ|95:3}?4~ z(|Ljx, t?d\!եGN8l//&{,{nF@[/GI7Pq"?҈ /Ph>!/> y[]| ÕW \f`2W(PiPFK'oH_/5TVգ]<_&£?"m|`n#T/XdF?ݦOi< w\o4jR?j?W 5Ǎ`WC=gnS.Oo;?ADZ/&+rB잮 3PSO/1k% PK'o\ѹ_3Q `~|oyV07$M·?| fo(zD y *\aV*K>LJfNL'Ft>ʟVU̟\Ŷ⹢C̯{H W7 k_WxMj3їk@$3_*7 ".ֿj7ϭm-3̱GR9Lׇ}V )Æ1Gf^ܯ YOa6UdS?kyǴ|+Z줷Qee\U7Zo١JsKbLwGcnA3x-y(/ߙ֐edWA\G sN?wl Ǎ:68lAPC ;k>.}5'&+]M +M]XVeFD .b6NEO:!Z:17/?{yu}:FBW-_N9~#x 'vAl/ygtf>m3I}mKTX)A0 v{s::C{^qXONaiDa o!el7vHE99X-$ Rm460i!;Hh'jP| @ Jr~~M4 "!:h7L'}G5O!an{$B^V`{mO{cgSS -K8y-*c6`xkJ1xxc:b@pD.FV|-Q~El(2>LB#W\QO+k8=6@e7 pbn)F:=s&*Ub 1Y }}s1rA= dO9_Cvh*uq~ tHsoVp,q!{E4 ^0ma%>D _,m0KoKl{)l#hK80/rz)Iml'})HD'?pm/ [0haq4qeFgh RC "UG`p]-!`3R 4HGm @Ke^LP* $)jEQVVVNCk2))j8hd(*0g$z4[ >O[ %xpMC~[`mG4SGR,kj^ * IJsj,boD9+?T(+%[D|CASoJUi>`aZu G.> e X,#$K% TA-Vc4OP ({+6OMOob0^U{:d>&8K!E &hnN1dGixRm/91A\dm"DAB,54(3$e&Rrd \ 8nM1q1O8[q:Sz gc1+WR"W0rAbqSD J}Rq6)EHZk0<>R*l11^oHDOlF:68lAPaC:\Users\olexa\.cargo\registry\src\index.crates.io-6f17d22bba15001f\proc-macro2-1.0.88\src/lib.rs s7jCc^% I4|! kon O-:PMJQJME?JKPJ*. J(# R;1" .HNUIN'IKLO? ;POHOIPD>M;'! &!$$$# # !&(%L9;: * P0 2' !:%PI,BF"1"/ =! B3/%67Q JFKE>3 !656(65*'(9)J$+LE;/J91LJJKP;%5;#!&;#;%';Q8 "Q. *ONAU<.3CKQQIP*>/ GKOMKHC>(EKOMKHC>&;GEMAf654A%<-$KP2NK02!6;#P9>NJ3!---/ 3QN/-5557 ! ! ! #"HIP;7779 :;O>5%9(' %)6&% %>:*.21< $;=;7"!==*<(? ;&656:5*:''.;# /I-1L) + ))I-P+LE:$#*&! !6$$!;%)/*EO()8 2=*7*@( 52&!%6 0;;9MO"9'"6O 0X0+5 55?5, 600A'*3 **&8 N/0/(# #)28  %09(1/5 @2"( @>&( @& !!"% 6DE64%.2 "+ / %\ (2")4 &2")4  76 "N811  2 2 %c  - ->  , ,> %%;=$Y! $ D% +*!&'-7  ;32-.) (Q =33-? ; +=$ ?$/A$ !-0/3&"GDA((+$ ( 5&7A *7&$? ; #*) ;00! ;17? -,H "-,) /% B'!!!#!#/# /# -@(,&G, 1)0++++++:9 2*&,4H=2 /////;: 0*+"A#!'%R@-%GC%+#9 !-M$   "1,=5,=E2/*9C*9320& 9+5(B3 B!1&++"$ #;$=5!?(4 ?NR<;]@ 56?5*GP 34% DB"/>>K> BD'(!_0 /H!GC-873C-( )I,?&@> +L,$S,Q ;[> (R? //--;77)@) ;99)@+  2'$#*,MT ".!;A `23BB?J^d 4==  &$5!6$11 $44 ;99   !!:8 "!;9  !97 5XXII 4WWII .$d .GH /$1)'1 ($. 6)D, &$##&<)D* 6($RR -?? 2(2#'2 2$4 .35%-;33 Y% Q! D,2RJFD\/I +8NFB@1 *_E !<< &AA 'BB -FFJJ 3%5 '*CFF CDD ! ;U[ GF?Y_ KJ!<< -FFJJ 3%5 *X@KK &$:. ;66 ;44 #! -,%A? #-,%A? ;!]V !!!#!#/!FD /!FD -!CA ,!B@ 1! 7>2LJG 2!GE 0! 1:,HJC !BB -LLLL M$N)-N 5'7 +,9!@+>+ ;88 ;66 2h <cB9PWB'gdC:\Users\olexa\.cargo\registry\src\index.crates.io-6f17d22bba15001f\proc-macro2-1.0.88\src\marker.rs Z$9?5 |IƐ:.N N<Q+! ,v cC:\Users\olexa\.cargo\registry\src\index.crates.io-6f17d22bba15001f\proc-macro2-1.0.88\src\parse.rs Kwu+ӊeعkg" x%{]$-Z3,&88#; 1!7"> &!%%##0!?#( 7.$#D)@."*D))'""- $"$4'2 3""!6=I %K?9!:%O#Q/  (A 1")2'(*9,H 4O., &1#%/<2., ,&6#%13.&C''\;.=:''. + ## 5-'J2)2))/S- 3 Q - 7'3,I) "II %3*2!$ 1;*(=@$0-).*( -!!5+1 @*-22)&)$3K$.98?2 9>//DC1*' :,"2 E/172*'*%3R:887$ =1D(E >>//DC1*'' 7,2 ;>//DC1*' B*-22)&)$6E$:98?2 3$/2<@L  3:38#*4=?:E  00#()( <'!9 <%?? ?'EF' 9'*//(J  #P4 R "?#0( 4), + ;.1!)!J(   ,' "'-'"1"%"*" % 2#, + 9," (" (" /#(4#4#)(  ,)79 ,%+ )0<6#% /$5 [A :(70% !5;8>`57>C?CC8;B"&;)00)&) ; N01 @&9H= -cGysm5cC:\Users\olexa\.cargo\registry\src\index.crates.io-6f17d22bba15001f\proc-macro2-1.0.88\src\rcvec.rs +$DŽ Tx%&$ &   &&    Ёrust-end-file