rust #rustc 1.81.0 (eeb90cda1 2024-09-04) œm̫Ų޳<-0f9bda72675979e42vKfw-d8cea91d43634f65Yi1-b1f27438890f45b3rustc_std_workspace_core谼n&,5wtEC-a22427de72ab3630j{!1e'-3d4e98832b983b89A~mf\e`B-4484e05b7089b5ef]XX2_jr-85a6d450f72e1aabcfg_ifмɊra-cf81a5498b42604d miniz_oxideu/#y, -a1543c9c7e6c02bbadlerѹQpC@-7efc4608b0bc96f7 hashbrownb]Ұ.1zPd~-44fc4705e85ac7carustc_std_workspace_alloca+^SΗ%B&-f11d6ba5d61218f4 std_detect"d&+Olb-bd30e1a2296ebf34rustc_demangle{ `*2{-6e14ac007075e94c addr2lineNc:bYǛ-12c2628c83917178gimli}:O^-34000eb5b4402af9objectLL7# 7-79130ad3ad7802b2memchr} wC,-81f43cdd1f7d7095 w9͟IBj6N-51773ba94f264ce4 RNnw\&^M-644886cce80d4776 unicode_identM~rD3)-3cb01d1e297c2d6e%%%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/2 mixed_site resolved_at located_atjoin source_text first_byte last_bytedebug_span_field_if_nontrivial  delimiterstream2 span_open span_closeset_span new_checked new_raw_checkednew_raw_unchecked28is_ident_startis_ident_continuevalidate_ident ident_okvalidate_ident_rawsuffixed_numbersunsuffixed_numbers_newfrom_str_uncheckedf32_unsuffixedf64_unsuffixed')byte_character(( 28subspanR4  escape_utf8 extra 6openclose     LexErrorCompiler Fallback  CompilerPanic mismatch $ evaluate_nowinto_token_stream $unwrap_nightly unwrap_stable4proc_macro_parse  into_compiler_token) )   .) .)  2/ /266666@7 782888@8 9928@ :unsuffixed_integers!;;;')<((28<<@"#4$%     >,_marker; _new_fallback $<4 .).) ) )    2 ;H26666628;H 78288 delim_span8 as_charspacing28; new_raw28 !"# $%H&'suffixed_int_literalsunsuffixed_int_literals(;H; f64_suffixed; f32_suffixed')<((28<<;)4 *+&  //ProcMacroAutoTraits Cursor$rest$$$$$k RcVecIntoIter,k,>2Span !"#$Group782%Ident 2?&Literal 2' u8_suffixed u16_suffixed u32_suffixed u64_suffixed u128_suffixedusize_suffixed i8_suffixed i16_suffixed i32_suffixed i64_suffixed i128_suffixedisize_suffixedPO u8_unsuffixedu16_unsuffixedu32_unsuffixedu64_unsuffixedu128_unsuffixedusize_unsuffixed i8_unsuffixedi16_unsuffixedi32_unsuffixedi64_unsuffixedi128_unsuffixedisize_unsuffixed DelimSpan,H DelimSpanEnum?6=>? ? ? &DeferredTokenStream8='5? ? (T? ? )*T? ? +U? ? ,U? ? -VVVVVVWWWWWWPOXXXXXXYYYYYZ,H,T,H-. TokenTreeT U Punct U /T,0 Delimiter Parenthesis Brace Bracket  123456achM27SpacingAlone Joint 89:;<=U,H>U,H?VVVVVVWWWWWWXXXXXXYYYYYZ/,H%7&7&7'7(7*7+7,7-7.7/70707677797;7<7=7>7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7R7V7X7Z7\7^7^7`7a7c7d7e7f7g7i7j7}7~777777impl IntoIterator777i7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777R ¿L{ž{Þ{RR$|||||S,k߫6qq,s,kצ}Btt,v,kЃރ6}C}Þ},׃T>2ȷ~j~T~T~T~~ ׬~~TUaUѳ㩣B~B~~B~B~~B~T`TT7820TTU 2?ȅёm}TTU 2ÔجjTTZ,HлԳԧ+ń?6=>?ԵړiTń??Š[8=ՀjT~BBBBT???T> Ǝ׭~TT??ضBC??ץT,HٛڪĽfT ꇰתT??詞òTT??φؾJ}TT??jTT,HءhjBBBBTTT>,HŏTTT,҅3U,Hʥ㒉acM24U,HGTTbbb졘לTTTcc2TTTӑӑӑӑ}ӑӑӑӑVӑTӑTӑْjْTْTْ/,HֹڈڈCTB qtq ž#  ?BF*BB*TTwjÞ*C V({ {'1\ ''' &'phantom&'&ۣ:::Global C   P { PhantomData睒ӄ(^_( %RRZ enx%/ ', BGOH  9 FP̥l!  (/*ERROR*/) !":$!% "(/*ERROR*/)" 55/5buf35ݠ35cap3535 353}~ ާ(  } +}6 }@ާ ާ\fը|''' &'ݠ&'&ۣ888383鸓}d '(F w}ww,z,k㰺Q}\ }L  J"qT D  8} " t}  G}$ crT  4  B}i9$ d   d  }L $ w$'UT< '.$ 9 q} h}D }$ r<T  888383鸓4 Bix$dd ww,z,k㰺QL$ް$'T ް wV\Lް 6\L 0$< q}d}$ },u BTL B-\D }y}t}$ާt<ڵTާ$ Cާ04J} }L ާ}TާL Cާ/\T,|!qq,s,kצ>C U](! !(~3 ~= Yc(" LexError"  span0; Tx} Uuz" ߋ! â; ~F TTTflagsQTfillQTQTwidthQT precisionQTQߺ٨  0T% $)$%& "\u{feff}"T5 55 4646 646 B~)PGt6466 65'.5X~$545~" ~tokens98_K~,7 $,77  7L <8 88  B9$(g:GL CBe nr |47 ~ 8 8T8  48  d88 848 tt,v,kЃރ6    ܚ8 8 L8,8 9  <88   8 865B Q ^ &S7k86~$7<7j|~ ~P NHnustreamsvL8  qx)<9   T99D: 0T:4:  :L:4\::7   ww,z,k㰺Q :nD: C:A;9 ; 09 9L949 \IR[_#4d: : 64: -D:,; :/: ;&;` ;: ,: itoken19Y _ref__vec<;   T<<D<*T<$<<   <L< 3\<<<< D@L<4< 22Flatten2,1ȡ¼<%<; < 0 <L;<;qzGnY]i%l(%l *H'l 'm&08@I V`(m(m), -5,~ ~+3P, -6(,Ƒ $,ˑ,ʑAO[ f $~»_-~h-BoxlޥbUZ ltP-͠'0H-ݠ(- $--AO[ f8 D   t4 },DDֲ\ m,$r#JL  Unique H⛐ͬ Ƀ؛    , ڊ T,}X2  ]T+L  +   L4ʳ$$, },,:zT\dlu u wQz@===,?D V^P@'0(@ $@@>LX c  9$   )d,<,range("'-ń: ńENX("'-39F QZd(  ?~ ,4?Ά! Ά3;    ΆΆ» ~D__self_0@oR! ,4!888383鸓TUaU ( 7EΆQY~ Z f-   %-  >C,.  .L.3 \..*. C K.  ..4<. DMap6 L..mĄ.  !- - ,/   /L/ 3  \/ܦ/ 8tts~o fʐ$; $ T;B= ?~<= =L=3 \=;?Ά<d<< t<T<<<  <L< 3  \<<4< C  J<  < <\4< B6  <<=3> C~ ԇ>  >=?4= B~~6 =   =;>: >  d  A;=~;ՑL;<;;Åׅsė&T{3L=' (j2W(J  K?S,k߫6GL ^fK"?/ |IN `h K  KJPWe qy  r{*ɝP(``"'-: ENX( !x?" 4<?T THM _g   !'.< HP EN'tܢM( !x?" 4<?U ўHM _g ä  Ĥ!'.< HP EN'tM tŶ4˶,ŶD˶$ Tݶ"  ? Ʒ  ,˷ TƷ  ; 2+ ?lL . \/, g2,  ,  $,,,-$ m o qt j̪d:A( !?" 4<?U 㔏HM _g   !'.< HP EN'tM$ % TD?, < Dt$?$  & I t  @ d,,FKN_litlit y03 -54{ {+4(3 ${33=KW b{ ֶ}TFԺF4F B8F   *($08AK( !'/JointQYAlone*w|Ľ̾!+H  ;@FQYahox  .6{ֶ'0( ${@NӑZb{ ֶ{T, A2+C$,, * ,ZL .ӑ$\/엒$ VN^4d X, 41hasher6v .6{ֶ'0(ߗ ${@NْZb{ ֶ{T< 2,t) I ]T |d,,),4 .6{ֶ'0( ${@NZ e{ ֶ~% ${/7>J ^k{v~D #/7>J ^kwD #/Ά7>J ^kwΆD #/~6=I ]jv~}D #/7>J ^kwD #/~6=I ]jv~}DK #/7>J ^kwDK #/7>J ^kwD` #/7>J ^kwDa #/7>J ^kwD $08?K _lxD $08?K _lxD $08?K _lxD $08?K _lxD޻ $08?K _lxD $08?K _lx,ӕ $08?K _lx, $0ӑ8?K _lxӑ,̖ $08?K _lx< $0ْ8?K _lxْk ,) T)ZL-R-#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.89$=k  ZR# ~Qz}TzT}T|VV|V{tjskr$))T)4) '\% RefUnwindSafelDÞ UnwindSafeTSž lvh6($>@%',4{'${*${L),)1236789:;<=>@ABCDEFGHIJKLMNORVXZ\^`acdefgij$9! 9t4 T,D>DKU,?D@>????>?A4LA7RR7ߋ!ӑĵ4A @,AF0lF7RR7ߋ! 7ĵ4G 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  ,ߏ2$T$=ƒ~ 7Lʒ84$L7 7  $#4Ĕ7 7~ ˔ $̔Ԋ$7 7  $ĕL˕7 7 Օ $֕ T7 7  $ܖ&D7 7  $2$$4777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $ ŝ$6777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $T$4d :|\7 7  '42$6l7 7  '42$ݣ8dˣ ;|ɣ|7 7  '42$:7 7  '42$ԥ$7 7  $ߦ&D7 7  $2$-t  ȧ0  d <|t7 7  '4<!D7 7  '4Ȯ#d =|ˮ7 7  '4ޮĹ$ذ#۰77 7 7 ް $߰ ,@$}T ñ77 7 7}  }$ r$4777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $ ε$4 >        tܒ777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $ 춻û Ի  ڻ  ۻ ܻ   ݻ  $޻  ,  $  ,              $   n    $ U<   U<¼ ;$ļ ȼ  4ɼ ϼ м  4Ѽ ׼ ؼ {}$ټ ݼ  L߼     $       ¾  ҽ   н    $  , Ľ $Ž ɽ ,ʽ Ͻ  ѽԽ ׽  ؽ ٽ       $       $ U<   U< ;$      L    dž$ؾ($  $;7 7   $(t  (t  &47 7  '4%L c*t )$+\7 7ΰ  %,)D7 7k,)  '4\ ΰԽ$7 7  $&D7 7  $2$F<7 7<  $u+-Ē$D~2D7 7ߋ!j   $$$4777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $ $6777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $/\77 7 7  '4 $4l+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,+DR#4 T$$Qz,TzT|T,$z|\n$bTVt$ń-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 , ,  |,,,0 DmbLwa,c<`L$Qz,TzT<T\<jk$ ,&  #5e7$+. !$tT{ĤDT~ ؍\a {~~ǎ~l ܣ D $  $Ά / Ά84 ԝ D 7 7Ά  $  d7 7Ά $9Ά$$D7 7  $2t$/l~$$D7D7 7ߋ!  K7 7ߋ!  lޥb$4777 7 7TTTQTQTQTQTQTQߺ٨7Ľ  $ 2$ /$  ,, !2$!#$! ,,!#0$#-$#~ ,,$$A$,%*$$*!$* ,*,,$,AL-) --- _|%'/.$0EL0) 00 B0 13247&$7B477 7) 7 777 $78f*,:($:E4;7 7) ; ;; ; $;׌,.>$>4>777 7 7TTTQTQTQTQTQTQߺ٨7Ľ > $> >l@$@!$A 7  7 A $AB,$C($C  CC*$D&$D~  DD$D4D 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ D $D EG$H4H 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ H $H HL!$LL$LlLDLL#LL $LO$LO$OO'$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  ,2$TƊ$׊=ފ 7L84ʐ$Lѐ 7  7 ې $ܐ#4 7  7  $ԝ$ 7  7  $ܗL 7  7  $ T 7  7  $&D 7  7  $2$,t $$$ҟ#$՟ g ڟ$< 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ  $ formatterLǠ$Ǣ<ʢ 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ ΢ $ϢLբT$ǥ4d ]|\Υ 7  7  '4ڥ2$ا@lߧ 7  7  '42$8d ^|| 7  7  '42$D 7  7  '42$īԹ$ 7  7 Ŭ $Ƭ&D 7  7  $2$,t $Ĥ$ò#Ʋ 7 7  7  7 ɲ $ʲ ,вȵ@$T ͵ 7 7  7  7}  }$ h$4 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ  $ ͹$4 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ  $ 졼   ż  Ƽ Ǽ   ȼ  $ɼ ͼ ,μԼ ׼ $ؼ ܼ ,ݼ              $       $ U<    0     U<Ͻֽ ?Dؽ    T U<   $      $   U< ?D  Ҿ D U<Ⱦ ʾ  $˾ Ͼ Ѿ  о              $  ,  $  ,    ÿ  Ŀ ſ  Ͽ  ӿ ֿ  $׿ ۿ   ܿ ݿ ߿ $ U<    0     U< ?D    T U<   $      $   U< ?D   D U<   $      d$4 7  7   $(t  (t  &4 7  7  '4%L c*t )$+\ 7  7ΰ  %,)D 7  7  '4ԕ$ 7  7  $&D 7  7  $2$F< 7  7<  $ ".t $($%$  Ĩ$D2D 7  7ߋ!j   $į$4 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ  $ $4 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ  $ -2-,$),--!$-ܶ߶Ԕ.$նض../t/}4- Error returned from `TokenStream::from_str`.40D4ŏ4,45<5{5$5($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 containsD$D>>?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  $2$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 cM<; 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  $2$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ӑ Ɔ '42$̆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ӑ  '42$԰" Returns the span of this `Ident`.%$ 7  7ӑ  $ڌ&C Configures the span of this `Ident`, possibly changing its hygieneF context.dɌD 7  7ӑ  $2$ĵ$ӑԍ#׍ 7 7  7ӑ  7ӑ ڍ $ۍ ,@$Tڎӑ  7 7  7ӑ  7}  }$ T$ӑɏ$ӑ8\ 7 7  7ӑ  7ӑLessGreater3  $ ,ː$ӑ( 7 7  7ӑ  7ӑ  $ ,ɑ$ӑ)$ 7 7  7ӑ  7N  V4 $q.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      $       $ U< ɞ  U<מޞ ;$    U<   $      $    ݟ   ۟    $ ş ,Ɵ̟ ϟ $П ԟ ,՟ ڟ  ܟߟ     ߦ%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      $       $ U<  ٦ U< ;$  Ϧ  U<Ŧ Ǧ  $Ȧ ̦ Φ  ͦ  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 theGDK&dJٚ6dْ  & String literal.4 7  7ْ  '4% Character literal.Lْ c* 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ْ  $2$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ْ   $$ْD1D 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.PdR#4 `L$Qz,TzT\,$$Ĩ$wikIԴ$L$'$ 7  7  $-L 7  7  $$4 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ  $ !$L$lDL $z{¿L{z8{   {S${OOO{OT${OO 7  7{{ ,4$|$ $  |U$$|^`HQHQHQ|HQV$$|HQHQ 7  7|| $,QQQ|QW$$|25QQQ|QQ QQQ 7  7| $RRR|RX$$|RRR|RX$$|14RR 7 7  7|  7| $L R" l }߫6 ,kާSSSSY$„S}SS 7  7}}  }, \~׃, ] ] ] ]Z$~ ] ] 7  7~~! ,Ԅ  D ~ȷ $ ]]]][$~]] 7 7 7  7~  7TTTQTQTQTQTQTQߺ٨ 7Ľ" ,]m$m`llll]$ll 7  7%l ,l &l ̀^$7l7l7lԀ7l_$7l7l7l܀7l_$7l7l 7 7  7  7'l Ll 7lllll`$lllll lll 7  7(m mΑ,0L4~T$mmmmb$mm 7  7,Ƒ ,Ƒ,ȅёmlT͠$͠Lݠݠ3o3o3oہ3oc$3o3o 7  7- ,<Ôج$T$tttʂtl$tt 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ńлԳԧ+,<{ $ńuuuĈu$ńuu 7  7ńń ,!lԵړiD    |!4$$, !    t $%v%v%v%v$%v%v 7  7 ,܋"\ŠΆ~" ΆΆ/"/ //~~vvvӉv$vv 7  7 ,%#ΆՀ4!,?y?y?y?y$Ά?y?y 7  7ΆΆ ,K)lKض) K"s)s ssKҍҍҍҍ$ҍҍ 7  7J ,J`*$`ץ* `*ta `$$ 7  7` ,`1,詞ò)1) ))1 |####$## 7  7 ,Ǥ5,פφؾJO5O OO5 ށ|㑽$ 7  7 ,;<лu;u uu; ====$== 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ءh3,34<4{ڕ$ 7  73 ,3|`A A region of source code, along with macro expansion information._DB$`ٛڪĽf`,``<`{ `$ZZZZ$ZZ 7  7` ,`L A single token or a delimited sequence of token trees (e.g. `[1, (), ..]`).OCLѳ㩣ӑْ1 A token stream surrounded by bracket delimiters.4C ݝ,ٕ. An identifier.C. ..ӑ,ӑ6 A single punctuation character (`+`, `,`, `$`, etc.).9C ,ҖTF A literal character (`'a'`), string (`"hello"`), number (`2.3`), etc.ޖICT TTْҡ<ْі$ 7  7 , A delimited token stream.E A `Group` internally contains a `TokenStream` which is surrounded byH `Delimiter`s.ܭE,҅3,$ 7  7 ,6 Describes how a sequence of token trees is delimited.9FL졘ל\ `( ... )`lF24, `{ ... }`lϯF24< `[ ... ]`lF24$ `∅ ... ∅`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 888Ø8$888˘8$88 7 7  7  7 L 8B 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,4D<T$$ 7  7 ,L Whether a `Punct` is followed immediately by another `Punct` or followed byO another token or whitespace. H<2,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  $EEEǙE$EE 7  7 ,ܙ$ 7 7 7  7  7TTTQTQTQTQTQTQߺ٨ 7Ľ ,$  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,ӑʥ㒉,<{$ӑ 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<ْG,䙘<{EEEE$ْEE 7  7ْْߗ ,ߗ!DFFHܛFچ6EĝGɈP\ْ چɈdْͩ {vrmhcچ^YUPɈKdْ G(# چɈdْ چɈlْ xsnje`[چVQMHɈCtêْ ?  چɈ\ْ چɈdْ pkfb]XSچNIE@Ɉ;dْ 7 چɈdْ چɈlْ֫ hc^ZUPKچFA=8Ɉ3tْ /!ȌFɠC@ޡ:1ۢHG9ʤEGɈPlْ ȌɈt٬ْ Ȍ|wɈrtْ nmȌhc_ZUPKFA<83Ɉ.tْ *)Ȍ$ Ɉ|ْ ȌɈ׭ْ ȌzuplgɈblْ ^]ȌXSOJE@;61,(#Ɉtْ Ȍ Ɉtْ ȌɈtծْ Ȍ~ytoje`\WɈR|ْ NMȌHC?: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ֹڈڈ,<{ññññ$ññ 7  7 ,@$$ $$~$'$~$$l$$$r$ $$$$$$$$$$$d$$$d$)$$$$K$$$$a$$|$($$$[$4ߜ$$T$z$C$$$ $$V$3$$2$$$$j$0$"$$$$$i $ $$$Y$$H$$$$$ &$L'$$ ($L($$ -$L-$]$[$d $ $m!$\"$!$ $L$ $\$$4 $$$@$$$$ $L$$ $L$/$$\$$$R$m$$X$$ $*$ $8$ $L$$ ö$LͶ$$?$i$ $. $ $m $U $ $ $L$ $ $L$$ $$$Y$$$ '$L'$$L$s$%$$$ $L$$$$ >$L?$|$$ E$LE$$ H$LH$$$$Y$$k$r$ $L$$\$$$$b$$$g$$ Ҡ$Lܠ$$ $L$K$$v$$$i$$ ײ$$ $$ $L$$ $L$$$=$$$A$$,$9$ $L$O$ $L$$`$$J$$ N$LN$$ O$LO$$$ Q$LQ$$ R$LR$x$$k$X$($ Γ$Lؓ$>$γ$$ Ǥ$LѤ$}$ ݧ$L$$$X$J$4$$$$ $L$$ $L$9$r$$O$̛$ $L$$ $L$$"$$$Z$ $$ $t$ $$ $c$ $$ ܓ$L$Ԋ$ ܔ$L$hx$0w$v$4v$u$js$r$q$p$ $L$o$ $L$m$m$l$ $L$j$i$h$ h$h$f$%f$d$d$]$6d$Nc$Tc$b$a$`$_$]W$JU$S$R$P$ O$RM$K$I$ A$?$;$T:$a3$[2$a2$}$1$0$0$.$,$+$+$$e*$)$)$$$ $#{Kdocs-rsparse_macro_input!proc_macro::Literal crates-io .https://github.com/rust-lang/rust/issues/67062$https://crates.io/crates/proc-macro2Synproc_macro::Literal::subspan    https://github.com/dtolnay/quote&https://github.com/dtolnay/proc-macro2proc_macro::Span::join 2https://docs.rs/syn/2.0/syn/parse/trait.Parse.html %https://doc.rust-lang.org/proc_macro/5https://doc.rust-lang.org/proc_macro/struct.Span.html  syn  ϛ  ڝ Ğ   proc_macro::Spangithub rust-lang/rust#67062 Parse https://github.com/dtolnay/synϛ 8https://doc.rust-lang.org/proc_macro/struct.Literal.htmlڝ    8https://docs.rs/syn/2.0/syn/macro.parse_macro_input.html  ֟       Ğ     ֟               crate::Group TT TTTVVjBBCBBC.TBBCBBC.1!u1XG}\CÉyYfItHeGk ($XXtz;;Gpҡƌ)l&F=,HS{ٽjo/-*KS9yNvo_e:Xo@Xke67}&z5t\͹E1\Ȫ=W+b5 }-.bU# GPiJRV/|_(rT:#Mޣ>]b&FKc#rW:,#j1ϔ颙4>p zKx(*&XR X@j)0FX [*l(mͩ 6m^v?!eﺉC,{YnhN̑udU:?VS,̜\DGSbjoP[W@`-M5'TW^kȂFX/mǿnIk"dX7QU)AV܁=jL q=5"$N!O3@ԝԀ{Uv헟s' `SFo52LVQ;̌g:S\37D%%2F|_Bt*z,Pj ǁ ^ޥh#+^YkObD-߹5MPZN+$Ťl/`zhz}O颃Ȳz^i ?蘱?fwk+!"n,?ImsVzM$i?*R1vr7JFyU>UȢ9j֠[ ϵNFU=!O&?W=Ղl#ᛁ;.tf ^52 j7r%F Fj('1)3N?8ZV[8րXW&żu9kP{Rcs]6if&Ek|4QôLND!#f/ljZmcӅYLp\Vi]r7o"2mG-âTz=\'PNJAP%^p;ߔa'EIy+mV v3d]~S=LMIFa NXpo˻j5:4l!F. J+ /v,Y>fAm>aQ3FSP/#_; #<pQv(JRZ{p˒? #s.nT -LT2[M~)MOE>D48s4xݦ0TςGܨ=Ot%F:o]c9:8iR率^?PFxSf4tAxRL蟵'P埻ɦ'ȵ}yo<ٚucmZɌ#9rCFwq˖ g#3猫pCY k"n2H=3 :8ZZCV x4{VZNB%Eya ? "4rZ K2HrJ8&iH)/ 5a.:a̼&*HdDv%6vapVΡg'N1_Ԇש+@w -wMH{f9R(5_u:uٴW'u 3" ox;%Lʕ+aƀS'U!Id+W z:_X4+Eծ`)A+/Q ~} _wPo`IH._{@P^؅+ZD;[ 7ˁ^l\ѵפֿeN;kֵs$M&Fl*9t"gGYTIySU]h ~p. s|u V"y(3pjcYu5Ba6f+U,".jUr `Kge#δ,sjDp zM[ԫ %UU:ye^:I\%]Pq3! 1>{;)O-sJ[ sШ\c;A;l6bOT tJ ְrUnDlcǍan"q{jq*{pc-DQ1LERIYi* }i1&(0}2Zt Kzޚȥ1\* \ Qh3%q\pޘaB HyFe.ֹqWWx:8vmKѼMmFwtOŲ ^fnQ&x/b(ycMq ?ldUFw_щG|{b^YXc {WJn> bgY9ӛomRᮗc WKq}$|xpG",0n3Yx#X,1@" eՋٻ!QNV{UW(%:IE^"@K좸wk`3G pQlj%?WIoGzyߛ WUԼP:Ty6ގewbղL`lS\y31?\yӖh\/"f \jt_ ^*=WA.Ɖ9d|QVC8t@ @FRqSd +!̢.R9aLrP1?+Q {C'HE@L!/VV?0JEҪ&Q-5h!~j/r}7&h {5F0 [FtRrӺ!!1;%n 5`C%Ll(c{6&}䆿5p3zdU kSImX=r?|*<ds9]m 5ιmUi uj:9fJ$_M N/$j35{Ȫh܎ېKy;? o1#_{:( 7鵭ю?4ݿ&ڠA6,Z-o |ʆ&wYx)n|;V7ӋcT/]٭A9qK]$<>u5agBĂ lp}+ye`wD5)XzA^sFKN/My ;:YldPZ!Gq8푗MSsE@⛁CI+7PFؕ:,㠬MV8`^Ѿؿ%d TYhiڒ:obzxj'/m+G47"ZU)OV"O4Wʿ?\2vnhPL~(5ِH''#}jvb#5PrZB7zS"L7j9 (`e# ng+S1{T 5!k4 qʬ1:D 6w=^]ywG?+hFoo'h0fs#á&;ص{!-VҀ92.J9>@tdqi lDW݅;'RDX >F)ʭ@zqE yRún9=C kED ~(nL|)dޓ%pHN6j:ck…lͼ -/Á9J0H ŬiJ)YWS̆$͏A[c =hьd^.A1UtR*hl Q"!bGϡ,g0Ǿ >FB0C xueサά{#GrY2Q[ĝw=Y1{pt>Wp|'q4ZyԈ]<_80c Q;_Sfd# 4L:*pOᒶTdeRU>Q%M F*>ӯh_T %Bf <%og?D%1D+ƒ:"kXmP:cb%'cIwfcq(8}$׾?5QLmšM t3k,IvYیB|~%hFͩU0*Ha+0-74:OJ o, ٢GT,k3wi ٍ(wf^־j >4xLkxu8NQ+_6!mۗI6+?8fq?/]nC1EafnRyVu|%r6J` -%);,DF˼BZu3mdKCb ɦE$2ٱRj5H\4"T4FObD 8'Byv qK4i~uA:8(}H `}|S"n~Xm&L#(HUVO~J*#(0| 8Fʮx! Nr~4q$o_7٠~?u` Z=܊ 3 a}CZ/'S ;t=I6Brmڗ)*!\TFdá#1{@Z J#G`"]|a!j9rDW+V\H"[Εb<\">iiގv@|Z5A7T e<,FnvGz<[z]: Ez`?.yiV]1ElvZѤ"h[pɍZI`Xﳞ(0"ls.Q}> CNcxL5H2-M^#ѣ;J$^%_*~׮P:a3$fH`K>&KBόl* T[Ҷ`h=)r^Uj y#Cs'lge}Vּ;/_,ZٖysH7̿O<'7KYnHfo> \ՔB)=Tؔ -ACFD 5b?7LV%4Ii. 6N'~`~ޤ7"* cAG]0b5[O;҂uTkάvqˮ-I/!=('anų?<=Jl" HiI t/NO/ٍݓMc7R?KfC}Øj L8-z~~{{`>0=BQץUCkg dry/Fjvj|r$ [&vYCF@_ ǻn\ ߍ  Ѽi^O|1#G&AW*|Qh[#HQ}:o*  =:2 ҦId^ i #Qi0 Jy>Sr5$I&X$O:rL3-vAw]=1SB{O%Px&=놓J W`W|VWf+_?P}Gjvۭx碙+F/z(w7BZqY}~%e RynQ+ä^jLUzCi!,6o{i PYP437qhDk0<=ڽ `TAnFk?B8IhmzϝQWB g\KQ7YNh4Pu6Ll8 Tix]kE Jy PuR*N,;b7>1A*qyN&p>ŎدSLg09nm-hݑz+[Q9PC GBN$:bY~3"[ _W:˩RGA<{O# JO'8kCe!L%f {5Hxd> jInnAX\#py`DJ{_XfYsc^Z`S^`PO|PьPh&|| ,A.5a Z;jأbpM5RIg( mS`JCHU7Sax4d E 6S0" Fl;:B0 ԃS =p/;QmDjFXonXV ?p  o]yakr:_;I0n}ӄLjgh_(/FOB\WXb0ή*wS sga|Xl ` &Zn|BQsd$ pꦎm9 O,.Cs=ݜ YwqU~"K!:0Jqx @a{&>@Ivh?R߲^K\o{1 ߫y,6eӇ0:8u1Y! s +8ܫ>CFk& %8PmLcj[׾;H_4l, Tu)}騑]:ŵWl]emy z3ait>JbCD! IJxuQ|V 9dx9YZP1kѕ#U1(vw&و}fPG9hXV^wO,dPZ}~$Rd+~X< ,{/vD@/=(a/ )}34}q^%VP1Gp\C_\1V] `E~ d) =P̶ ,"R'K3wira𲀶4}L1Ŏ:FGo^ 5Jǻˀ,i=2]W3৤BHd4eh}r~ Xv=-!Ɛ梸-iXk;W)09:M9ECm;Vz:͋=띤fI ĀE`'zi|TtzEF옘;u3p؀Fpil>>0!'dash㎬R,ӷ4J 1Qx}0.s`/5%wKx9T"ثJFqV&KL}y섕]Igײ{G9vH^V$|V?uGfڈgLDͦVTL7Օ[ Vm`  O6jK#oE5֎&:2G]cCY8cG^đ|5FArFoEtF h[^)_;[kiL{ih]42hI O--ƭb\NLb*|-O)gO<ߒf6^JxSg7t%TQ|$NXpdzB nV{HB d!& | (zU'S~zmS!݆؋>+W`ҞEq>n޽c<Ϋ$گ+BKWy`ۚiyBG1ign/tpsLg|ڸ(Dc0{Wb1vuF uSIld}ɜv gNb|QHY쁢_؊W2aۗؾ ЖeFTiŨTl<,qU78"lnrEB]=Ia3iYr}dBxA@NjSOWEL" wfqdv-/"0,R.aT |R2!o[b1f˃)P⃆WɹO Y5r{aDC] Ϥ,Otr>K?@@9AAiBCCDEAFFFGGcGGGGJHHHH,IIIIJ1JJsKKLLMMMM3NLNNNN O9OOOSPPP QQQSRlRMSfSSST.TlTTfUUaV}VVVVW.WWWW2XhXX&YeYYZ`ZzZZZ"[<[#\\]V]]^`^^_u___`0`a9a bFbb'ccd`dde eeeLfffLgfgLh km1nnn oeoooBpppWqq-rGrrrrpsspttuDvav}vvvwwxxxzzr{{1|p||} }a}z}~,~~z<5}=  M3N,az0BVjLA(B)K!!eKeKm W(tFes[  ] = _#D /JijjjJ;n KdUu@oHr:i<[y4TtJiO@~8v0r*f]V^|K"?d,Rpl1K{* 4dk%}-G? `zF7u/m'j#_V O   9 i  : W u   &  ";1G;F@W&Eb&ih   !I!+"[""#8#@#--- .x./0:0j0 0 1@ 2 2 38 4 4 50 6 6 7( 8 8 9 := ; ; <q =- > > ?a @ AAB C&CVCh,x_  ?5 DFp7e  O^  + YQInn  c#r%()*.V//0A&6K;<=@CF*F>FGH JLMMENN2OOQQeR_SS'T~TxUsVWWrZZ4[\_(`1a2bee^f^g&m?rrst<vvxz*||}s}%~s5/ EEs(( 9:;]]],'A||fB iod)AV{ IG\v1_ u d 2       B&.6 ;:  D!V"#3#-./e0BQC  &   )                             ))   ''(            ))         ))    %  '''''''''''''''''((((((  gyGX((1Kd.Uw<F sA $vgaaN1`b * U    ]  5    e  [Hz #iW84skc2%#' :  C!!"k##$%%@&&&I''()C**$+++B,,,4--W../0_162r466D777 8a8889E::Y;;<=>?@A(BB2C3DEFFrFFFFG"GJGvGG H]HH I?IIIJDJJLMN_NNNLOOQQRySSATTUVVVWAWWXEX{XX9YxYY0ZZZP[7\]j]]^t^^&___D`MaubbVccdtdd4eezfzgQhkEnnn!oyoooVppqkqq[rrrstvHvevvvrwwxzzD||3}}?~!OHц|fʍca[֖2DVޜ۞%A^UV|Gܬtyyڸj&Z1xo/W_"O}^A.t][1{Fs!A`9YyOn#cTLD>z3q+4bQ&Dq!j1]%Vtq 3/[vFm7/LxF;bZKC;~7s,j$   " {  > [   Lw$AlYT{-RJg)P& M  [!"J#---2./0#0|0w122f344^566V7789X:;;<G=>>{?7@@ABBChCi{bjpv|a/A3Lxx=_$w,Tgv}jY' lP_zJI(7oIJ2`o " =        &       }    ~  r1cs ^?,D[<S4K,XpIXp  Ms"   !t"###$[%%%&&~&&/'''(())***m++(,,,,m--".../X/j///00,2g4*666*7l778G888h99+::%;4;O;l;<|<<|==|>>G?@@@@@@@@@@@5AAeBCCCEEEEEEEEEEEEEEEE>F]FFFFGG7G_GGGGFHHHH(IzIIIJ,JJoKKLLMMMM.NGNNNNO4OOOO@POPPPQQQQ@RORgRISaSSST)ThTTbUzU\VyVVVV W)W~WWW.XcXX!Y`YYZZZtZZZ[6[\\]P]]^Z^^ _o___`*`a3ab@bb!ccdZddeeeeeGf`fGg`gGhkm+nnno_ooo*Ec e~e~eu~D8rj DHaP q<kCo7f7Vv/OoEdM={5s-k(dZRZxG<\ `)H|Mki-Hx'F{1a1f"x(Dc:&[wD4r,j$b!]S K   6 f  6 S o   ! b8W,D6hA =T!@]|!=d: a   !F!("X""#5##---.s./070g001=2235445-66}7%889~::;;<n=*>>?^@AABC#CSCCCCCCCCCCCCCCCCD DDDD#D)D/D5D;DADGDMDSDYD_DeDkDqDwD}DDDDDDDDDDDDDDDDDDDDDE EEE+E2E9E@ESEZEaEhEoEvE}EEEEEEEEEEEEEEEEEEEF FFFF&F.F5F=FBFIFPFWF^FeFlFsF{FFFFFFFFFFFFFFFFFFFGGGG%G,G3G:GAGHGOGVG]GdGlGtG{GGGGGGGGGGGGGGGGGGGGH HHHH#H)H0H7H=HDHKHQHWH]HcHiHoHuH}HHHHHHHHHHHHHHHHHHHHII III I(I.I6I>IDILITIZI`IfIlIrIxI~IIIIIIIIIIIIIIIIIIIIJ JJJJ$J*J0J6JLDLJLPLVL\LbLhLnLtLzLLLLLLLLLLLLLLLLLLLLLLLM MMMM"M(M.M4M:M@M~gmsyf4E8Q}}Bd)2i| _-r RcNN*;tMO8bs & B        Y      #    R   Hx5gxeD%0J`BX:Ps _uK_uS'  0!!"W###$b%%%,&&&5''' (( )).**+s++.,,,--B...%/]/p///0K112m4166607r77 8M88891::';;;T;r;<<==>?@@@@@@@@@@@xABBCC/DEEEEEEEEEEEEEEEECF`FFFFG G9GcGGGGJHHHH,IIIIJ1JJLLMMMM5NLNNNN"O9OOOOBPP QQQQBRURlROSfSSST.TnTThUUcV}VVVVW.WWWW2XhXX&YeYYZbZzZZZ$[<[#\\]V]]^`^^_u___`0`!a9a"b`bbAccd`dde eeeeNfffNgfgLh km1nnn oeoooBpppWqqq/rGrrrrrssrttouwu}uuuuuuuuuuuuuuvDvavvvv_wwxxzzz|1||| } }c}z}~~,~~czx%<5iSP5M5ӔG–czח֘0BʜǞ-J)A*B+֩h3Ȭ`MeMeMmŸVv3FӻSs[}CK1Jill{J=up&FK }WwBo_T<[4TtJiO@~8v0r*f]0^|M"A_f.K!Rpn1f{,I!Od4k%-IfA )`F7u/m'j#_V    T i  : W     Ie">Z2GRj+@rEb'?$ <    4!I!F"""##8#--- . .//0U0j0c122R334J556B7789D::;w<3==>g?#@@ABB CACVCCCCCCCCCCCCCCCDDDDD D&D,D2D8D>DDDJDPDVD\DbDhDnDtDzDDDDDDDDDDDDDDDDDDDDDEEEEE/E6E=EDEWE^EeElEsEzEEEEEEEEEEEEEEEEEEEEF FFF#F+F2F:F?FFFMFTF[FbFiFpFxFFFFFFFFFFFFFFFFFFFG GGG"G)G0G7G>GEGLGSGZGaGiGqGxGGGGGGGGGGGGGGGGGGGGHH HHH H&H-H4H:HAHHHNHTHZH`HfHlHrHzHHHHHHHHHHHHHHHHHHHHHI IIII%I+I3I;IAIIIQIWI]IcIiIoIuI{IIIIIIIIIIIIIIIIIIIIJJ JJJ!J'J-J3J9JAJIJOJUJ[JcJkJqJyJJJJJJJJJJJJJJJJJJJJJK KKK!K'K-K3K9KAKGKOKUK]KcKkKqKyKKKKKKKKKKKKKKKKKKKKLL LLL#L)L/L5L;LALGLMLSLYL_LeLkLqLwL}LLLLLLLLLLLLLLLLLLLLLLMM MMMM%M+M1M7M=MCME,qw -ii.Pg6.raZI\%[r873ao5u'Qk  5 q    n   "  ?    v j &Z^Mr,>T$LD}FiTib`<] i  r!b""##z$C%l%%&l&&'v'''(())q**R++,q,,,]--.../>/f///002;667Y77748v88U99:t::0;E;d;<`<<b==b>>2?@AATBBCCERFFFFFG.GVGGGG5HHHHIiIIIJ#JJ_KKLLgMMMMN?NtNNNO,OrOOOPKPPPPZQQQ RKR_R1SYSSSS!TVTxTJUrUDVmVVVVW WmWWW#XXXX YOYYZHZlZZZ [.[\\\5]]]H^^^U____"``+ab,bbcccHdddeteee,fXf-gXg-hmpnnnLooo)ppp7qqqr9rqrrrXs|sQt|tQu!vTvqvvvwwxxxzz[{{$|Y|||}I}m}} ~~}~~mGʀ˂/)tga'ȉyŐޒ??Hmʗ""m>Rn-34 5t W,W,W6U<ƻݻs\ĿD$F $b;ZPvKvK2&JY=J3t]+O}2i ^.NmFf&[{8x,i#aYS H@<o6[3QOs =s .c!}$?p;r+Y&]yf;X(ORn.o#`XPLA9   . ^   J g     W/L <_85B|  Vs4[1 X   !>!"P"""-##---.a./0/0_001,22{3#44s566k7889m:(;;<\=>>?L@AABBCKCC'EOE8ivdj^^#E [ hikUN~t= PTi+~*,WR'kv ;d + g    `     8    o c{PS?k"w 7ME=v <bMbEC2V [  d!S""x##k$7%e%%&]&&'g'''(())b**C++,b,,,Q--.t...(/_///0024667O777*8l88F9|9 :e::);>;Z;;.<<S==S>>?@AAFBB CCEHFFFFFG$GLGGGG'H|HHHI[IIIIJJTKKKLYMMMMN8NjNNNN%OYOOOODPbPPP=QQQQDRXR#SRSSSSTLTqTZeZZZ['[[\\+]]]9^^^F____``$aa%bbbucc9ddd eeeeefQfgQghmannn=oooptpp(qqq r2rgrrrIsusBtutBuvJvgvvvv{wwxxzzM{{|O||| }?}f}}~~`~~~f.z("fYSކ֍oϒ88{ >f×٘c؝/C_|,-.ePPP'FyӺ5ֻռdU|:7u}D4Po<o<#|tC Jw)z;$^N}Hun#bW$Dc<\|Qq.n"_WO I>|65e&T )G?l3i'Yws5i1h$RSoU1NHHd$eVNFB~7u/   $ W   @ ]     M %Bx 5wU|..p|1uLi*Q' N    7!!I"""&#{#---.P./0%0X001"22q344i566a7 889c:;;<R=>>?B@@ABBCDCC EHEJ1v|+"2 ll1Sj;Wd]L_7w:=<g;{-\ ; w   t    B    y m)`aSu2AW*O"GLl9l  B` o  x!h""##$F%o%%&r&&#'|'''(())w**X++,w,,,`--... /S///002>667_777:8|88[99:z:;H;j; <f<<h==h>>8?@$AAZBBCCEXFFFFFG4G\GGGG;HHHH%IoIII J)JJbKKLLmMMMM"NBNzNNNO/OOO0PPPPxQQ*RbR7S\SSST$T\T{TPUuUJVpVVVVW&WsWWW)X^XXYUYY ZNZoZZZ[1[ \\\;]]]N^^_[___`%``.ab/bb cccNdddezee2f[f3g[g3hmvnnnRooo/ppp=qqr`VyQyQ8,M_@P9 c1R8l&a4TsLl)a>~2o)g!_YNF?u<^9WUv &Cy1i$*EsAx.\,cl%A^.R!Xt4u)f ^VR G ?   4 a   P m     ]5R ?e> 8H#\y:a7 ^    !A!"S""#0##---.g./050b0012223)44y5!66q7889s:.;;<b=>>?R@AABC!CNCCzHZ**3Mf0Wy>H"uC&bbO2acV      h \I{ $kX;tld3&$( ;  D!!"m##$%%A&&&J''()D**%+++C,,,7--Z../0`166E777!8b8889F::;<=>@A)BB3CEHFtFFF$GLGyGG H`HH I@IIIEJJLMN`NNNMOOQQR{SSBTTUVBWWXFX|XX:YyYY3ZZZQ[9\]k]]^u^^'___E`NavbbWccdudd5ee{f{gFnnn"ozoooWpp qlqr\rrstvvvswwxzE||4}}@~"PI}gdb\3EX&B_VW}Huzz k'[2q0X`#~_C/v^]2}H$dUME?{4r,5 TGt"l3_'s1]wH8 NzH=[LD<8t-k%  |    MxBmZU|.S*Q' N  \!"K#-3./}0x122g344_566W7789Y:;;<H=>>|?8@@ABiC{J[+*3Mf0Wy>H#uC&ccP4bfW      h \I{ $X;tld3'%( ;  D!!"m##$%%A&&&J''()D**%+++C,,,7--Z../0`166E777!8b8889F::;<=>@A)BB3CFtF,FFyGG H`HH I@IIIEJJLMN`NNNNOOQQR{SSBTTUVBWWXFX|XX:YyYY3ZZZQ[9\]k]]^u^^'___E`NavbbWccdudd5ee{f{gFnnn"ozoooWpp qmqr\rrstvvswwxzE||4}}A~#PIӆ}gˍdb\ז3EXߜܞ&B_VW}Hݬuzz ۸k'\2½q0X`$~_h/_ 3$dUME?{4r, t"_I^]wH8 zw=[LD<8t-k% |   x   mZS \!"K#3.}0x122g344_566W7789Y:;;<H=>>|?8@@AiC j8I"<UF h-|7Yod2RR?x"QSwF    &    V L9k|H)d\T#yy+  4!!"\##$%%1&&&:''()3**+x++3,,,$-r--G..u/0P16657w778R888m996::w;<<=>>@|ABB#CcFF;GgGGGNHHH0III5JJsKKLMMPNNN=OOSPP QQpRjSS2TTUV2WWX6XlXX*YiYY!ZZZA[(\ ][]] ^e^^_z__5`>aebbFcc dedd%eekfkg6nnnojoooGppp\qqLrrstvvcwwxzr{5||$}~}0~~~ @9†mWTRؔLǖ#ܗ5GϜ̞2OFG۩m8ͬejjrʸ[K"`  HPnOwN"TE={5w/k$bbN~Lg7(i, K<z4r,o(d[ l  h]JlCA>  L!";##.m0h122W334O556G7789I:;;|<8==>l?(@@AYC==5>g>>>??"?+?4?=?v??? @@$@0@@@@7AEARA\AAAApBCCC'C4CACOC]CkCyCCCD"D,DDDD[EiEEEE2F@FMFWFFFFFG G*G7GDGRG`GnG|GGGGGGHHJHHHIIIIQJ[JoJ}JJJJJJJJJJ/K9KCKN========>>9@a@k@v@@@@fAAABfBzBB6DDDsEEaFFGG H"I,IIIIIIIIJ$J.J8JCJeJJJu^6n  % Wi/3;ONPQNReq ~~?_*EREfTUUVWWX~Y8ZZ[`ae@hi ptOy}bRizdʬxOFQQRKS\]k5lllgnsu #v-vxߵqЍ'!Ms;|X,Rs#{6CծS)PR_²Sv)M߷r+Qw USVWWX|Y6ZZ[\ae>hiksu }`P΍9zgxbVӮQ'PQRRdT}]_3lllenpt!vRvuxy(L޷qߑ*Pv q!y4AȬvEQJSUTVWWX}Y7ZZ[\`ae?hiksuN޵ }aQύ:{hycWԮR(PQRReT~]_4lllfnpt"vv,xyp& L߹r+Qr"z5Bɬw>Q7S `BQ;S`T"; &pp5Wn_haPcDCoC<, |     ~ rcdX7$/'QBG" t  }!m""#$K%%&w&&('''()|**]++!,|,,,e-..//026"7d777?888`9$::;<m=m>>)AA_BBCGG@HHH(ItIIIJgKrMM'NNNOO9PQ3R<SS TaTUUOVVxWW.XcXXYZYYZSZZ[\\@]]]S^^_`__`a bbcccSddde:f8g8h{nnnWooo4pppBqq r|rcs\t\uvwwxxf{d||T}}~o rl2S xI]y8 77A`~CO/Q/"VV=1d[Dk6=+ C7t.l&d"^S KAZq39z.k%c[WL D   %M!""#l.017223.44~5&66v7889x:3;;<g=#>>?W@AAC n  #!$!%!!!!1525Q*Q*L*   !!-!-!#!$!%!L*Q*L*@ @ Q*L*1525Q*L*L*1525Q*    !!-!-!L*  L*Q*#!$!%!!!!  L* Q*L*@ @ Q*L* 1525Q*L*R 1525   -!-!!!Q*L*L*Q*L*    Q*L*Q*L*Q*L*@ @ j c &+Q*L*1525L*Q*!!!L*#!$!%!  D @   L* @ D                  L*D @   L*D @    ep 6  W  vcH@8q]]Q#`%'().#//0/69;<=?@C-DEAFFGGHILMM3NN OOPQSRMSSTlTfUaVVW`ZZ"[\_`a beeLfLgm-rrpsptv}vxz||}a}~a#}33aԘ'()KKKtѻ/jj;n${Uu@]R.K?d,lc*L }G?  Q    ~ G}</P(o%" }  1!C"" #-./R0B>CGxE5v\b ":OnB5c +  3-/B9kxE'vOT,Bay4'U   &-/BUX\cjqx| *AVdsz'8DWgx 8Vl{4;MTmqx#'+/37CJVipw,:GKS[ckv~ (4Mc{#/@EMUg%5LQY^fksx %*2DWiu #5EJRW_dw 38@EMUZbgo&.3;CR[`hpuz"',16;@EJOTY^chm} # ( 0 8 N c h p x ! !!! !%!*!/!7!?!D!L!T!Y!a!f!n!s!{!!!!!!!!!!!!!!!!!!!" """!"&"."3";"@"H"P"U"]"e"m"u"}"""""""""""""""""""# ### #(#-#5#=#X#]#e#m#u#}##################$$ $ $$$$$!$%$)$-$1$5$9$=$A$H$P$_$c$k$$$$$$$$$$$$$$$$$$$$$%% %%%%%%-%2%6%>%B%J%N%V%Z%b%f%n%r%v%~%%%%%%%%%%%%%%%%%%%& &&&&"&&&.&2&:&B&J&R&Z&b&j&r&&&&&&&&&&&&&&&&&&' ''!')'-'5'9'A'I'M'Q'Y']'e'i'q'z'~'''''''''''(( (((0(8(@(H(P(X(`(h(l(t(|((((((((((((((((((((((() )))3)8)@)D)H)P)])e)q)u)}))))))))))))))))))* ***"***/*7*C*H*P*U*Z*_*g*l*t*****************++*+>+R+g+}++++++++,,2,H,^,u,,,,,,,-$-,-4-9->-F-[-c-k-s-{-----------------. ...!.)...6.>.C.K.P.X.`.h.m.u.}...................// ///"/*///7/?/D/L/Q/Y/a/i/q/y/////////////////0 000!0)00080@0D0L0S0[0c0g0k0s000000000000000000011&1+181=1L1Q1Y1^1b1f1n1r1z1~1111111111111111112 2222!2%2-242<2D2H2P2W2_2g2k2s2{222222222222222223 333#3+333;3C3K3P3X3^3d3j3p3v3|333333333333333333333344 4444$4*40464<4B4H4N4T4Z4`4f4l4r4x4~44444444444444445 555!5(5/565=5D5K5R5Y5`5g5n5u5|555555555555555555566666$6+62696@6G6N6U6\6c6j6q6x666666666666666666667 777 7'7.757<7C7J7Q7X7_7f7m7t7{777777777777777777788888#8*81888?8F8M8T8[8b8i8p8w8~88888888888888888889 9999&9-949;9B9I9P9W9^9e9l9s9z99999999999999999999: :::":):0:7:>:E:L:S:Z:a:h:o:v:}:::::::::::::::::::; ;;;;%;,;3;:;A;H;O;V;];d;k;r;y;;;;;;;;;;;;;;;;;;;;< <<*:%Ws 3s%i*:%Ws |hx4]FO :%Ws Ѻ9 7H! :%Ws xCrB :%Ws g)k)܆x $b :%Ws trٷoq*:%Ws Ǐgy^-Q :%Ws ߖ{=Gr ml :%Ws R3x$( :%Ws Vm1JO:%Ws CGH"Oj *:%Ws ߋn+H"J :%Ws ߕȮH3 *:%Ws mJV,jF :%Ws ky~' *:%Ws ߐSEgWrC' :%Ws @j֠r1s" :%Ws sqbm *:%Ws ߚX~ĝr :%Ws =K!'r C :%Ws ߟJL *:%Ws [F.()dv *:%Ws bb#  :%Ws aj]l7L$:%Ws |^`r 8 :%Ws ߙX=٬rf :%Ws `V=g *:%Ws YI , *:%Ws 4›84]` *:%Ws =CrG :%Ws ߸eW'rE :%Ws ф@Ow::%Ws *$Q|^r55:%Ws wY0r)S:%Ws ߯3F`\x!$:%Ws L ۀV`*:%Ws ߖz}hb$:%Ws ^ pϬz  TT:%Ws c}Ox$:%Ws ?!F*:%Ws ɷ̳*+*:%Ws %쳼;~(*:%Ws osN Lq9S996::;[;9-::J99:x:9:K::!99?::+;p;\9:;d;:99$::9:l:;5999`::O;)9y99T::C;:7;|;h9:A99: ;;>vA6D5IK >yCK=a=R@B?B?EDHHJ<GFJg<FIKKA D7F_I7>@CFNCEIlK=@CEH8K@BiEnH.=?G EGJ<?SBJ<X?SGPJ1<$?BDGI;>AaDFI;>ADbFb>ACHK=@;>AQDOIK'>CK={=u@C@BYE^H4HK<GG@J<FILfA&DRF{IR>AC'FiCE%IK=@>CEH\KB@BEHQ=?G/E HJ=?wBJ<|?wGtJW<H?CBDCG J;?ADFI!<>BDF>;ACH(K=@ODHT K ? R6v\N!O3T& | (ژd (gaܝn(r*z,Pj `b#0 t+x5B8Ih~c[*l(;}+ye#uѹ`΄w]^8Pm H>ŊZѤ"h[B(F% qyN&pL~(5=N|(hR1+pr jo/-*< h0fSX,1@"s4x 5`C%-ц6 ]tM660CG 8F9TYe:XoA:8(}*<^@;P 颙4>p 3?0P[W@`-MI_{@P^vm8B5";J9>@W+?8fq:IE^Jy>UnAX\#jFXonL`l"|MRORPЏ3X7QO \ Qh3dR'SPPS8X/VOWx: ($XX㠬MV80sc^Z`S^CY8cGmfM\AG]+W,G{z_ d2➡`@- 3 a}X2b7 `T|aitBW^0C'Mf8P" ox;i~p.5p9r sШ\$O:rLZ҂brga|Xl  %~07Px&aǹ*w8I'~`~'` &Zn/]}0.sVp"=yhrKlO<ߒf6ֹqW`IH.u'P9PCwD5)%1kѕvu`Xﳞ(-v\:Ty~%hX÷ xuewg0t/vD@/%i@ i PYxPNJAɕ6(B`$ Kc"*>LjQiSI t/4j|AQxU'ȵ}y L8-:(4>8Rtd$(k pt>}_80c w8RV ?p Ll(c{EծpPf'Ĩ6?C x4{NƐ?!݆؋å1ppSP/#_bDeAπ Bt_Sfd(o!228  W`c ְ4GՐX NJ37@(-ԛ>]#j Q&x/b3p؀Nt_ ^ݑ28}(;h38JpYLp͏9j֠w@ip;k|+~X<#l" Hi3<,qU\G, ٢G2hI  ; }Y 1g/ WFD  W "=n>ؿ2 ~} _r bgYUW(%F/k Vm` g pA]B a>O# J#ʵ&Oe]%鳭vw&و}B)9|Һwk+!"oص{!-VU -ACxj'/m71iGT2yc Pq3! 1Ia3iY,A.5a Z+_6!mP 7!Gq8+.R9aLg99 2iXk;Aܶ=1Pʢ\@A3c;A;M9ECmD\GEThBT>FArxL5H2ЖeFTiJR)ZK!HrP1PьP;~RɸeRqS'U!lrgVq|?ldUϽ"ZU)OV9RU>n~Xm@Z J}e\Qu1Y! s`^Ѿ1W)0BUQ{ |a!j 8ayFKc/%d 3 @a{&~1dYUCkg>Q-5h!BKWy`'Z^J)wira20r9ː FwtW'u 3hVt!m+ExA@my z3J{? ĀEI@j)09U䆹y""O4W:c-DQХA.Ɖ9d| 7Ψ2-Vu|%ziKXzA^&iiucmZDAx%Lʕj=Tؔmڗ)*$IXL7Օ[fq\MPFQHsHpQ%M Fz`?.yȥ1\*YfItG9v`}騑]k3wi ٷTYh4hVoGzyhP<!Aá#1{b"5ag >@IvmS yRú_埻ɦ{b^YS~z(b W;y:Y~%i,Y@ :ewbղ -/Á9gA⍞mRᮗ:% bH ŬiJ)iFnr Cimͩ<_&oE˙R7鵭ю?;.tf ~ѩiyBGvTVS{ٽ ?\yӖcȁ;$\١"x+.>-!!1w-߹5fK\ ^fnl6bOA9? o1 jInl;:B 1A*˼BZ sBpy`DJ৤BH:$A;1#G&JV{HB# 4L:*1`M:tSM[+W`ҞEeMd*r}dB̌g:S\9hX{ih]4 k:y)/lean"9nꂼ-sJ[yǢx^5߫y,sVzM$rpsLg|ڸz~~;̑udUDY쁢_>jCYi*  -b%)*gn/t7R?7P:cbɌ#9E.:YH^Va=놓JbڈgLdp z9ӛoCs=ݜ Y&b6p c 헟sW/r29YZP,c |նJKNqr$A"NvN?8ZV[ 2Ϳ M梸-@&żukoYr?|AW*|QKRj5 *0rmšMâT >4! IJ\Vi]r7]b&.{RcԈ*=W@z]NjE Jy JEҪ&O;҂u-ZNBP:8LS\y"!br!0b#jfZq{jq*#Ȳz^lP%^p;&XR75aXKfC}8iڒ5rɎA9;jأ>ƒ:"^ 5J6蘱?fn7[rB'}k`3Gk"dNLjgh?T "G:q=R%˻j5~$Rd"mR-'N+hI6BrfnRypɍZIfʼc8րXo"FxS(P437yId^ iQ,i8 OhFpO;[x(*6 7x31ېKy;?+Qk9 O,. @(Dcc]K6jK#il#}J$_ "E'3 Rf*u@2mG-0֩B0Cv=Y1{|ce0: E 6S0tz;;G =p/;Q+C;뛛b4P>KS"@KA#BsjD͹E1"r7JFyu8#Gkq`G'EIaQ3F1LERI|S"g\KQ7Y3.sUv*wS s=2]W39$NXv,Y>fA[c l-M^#ѣE4_c`X:a3$ yak>JbCD^JxS{#y}i1&(>{Q;_ӯ=1SB{_Lcj '1)3˖Gh_T6f+UH\^kȂKدSۋh U]h ѼMm̴l;iX0"l0 ; CYWS̆jvۭxi碙+jTQ|nQrpOᒶ[xcT<_X4+o7̿O<.(OӴzb0('anų?1[P?'6wNz+[Qf˃)HUxUiˀ7t\!qE^vqˮ-/_;[kiLC:#Mޣ,RLdޓ%d4MPZg_щG|@⛁- \Ք  H; #ۗI6MuTk.%'c/"0,d +!̢9t"Ԧ#9pr$ B d!s'lg(T|1ƌ)l&F M~)MOO--R.aT!#f/lh\/%1D+<2̽k0<={c?4$H_4l a1t۷CI+7P.QVC8t@ 9d#_{:(Fؕ:,/-%);,DF703{=1S ;t=0:88$<\8Q ޘaB HWB eGkHQ}MfmcJD {WJL%~SMD>ôLNDN$`PO|<pQvwO,?VS,̜Fl* T[J<\,Ot:ŵWl]eLZx[&CyԈ]<$o_7!bܹezH{fd(`e#FqhDz uj::Yld)i lDWYnDQ>oFu8= j e<U>UȢvhl Qq5!|BQs,#6z{͢Amv=-!>_p #}.z, Tu) o_C1Ea1!u13"돕0!'dQ)}34' ,{$u:a/V,=:2 ҦP 3"y(3pj$j35 s]6ifr~4q옘;uMK]$<>uh?R7BZqmn9=C `\37D%%2]8kCe!{5F0?BYGQmD&:2G]kJqx#,BLjLUzt(CՠI 5l\NE4O%`dPZ}!2LVQZMQ%WQNV{ɹO Y5r,ZI\%]\C_\+Cb ɦȶ,dEΡg'^bhkI=hьm,".jU끋Qlj%?WashRǿnIM;I0n}ӄy]nWL q=RWKq}#s.ftE%MSsE,?\2vn;wqUxLkxu\CÉy`zhz}OkԀ{UvV s|u… {5H|TtzEFLpx# &p{y{E>1{H?u\j A1Uog7t%`}]';$ %B֋[ay5鲊=kqieԍmq&bZ0rZB7C&tTNh4Pu6L }%ds9]m 0b5[,#U1(:uٴgF uPZ*3zdU k[׾; Ԇש+`\Ȫ=W#n0vqK45ιmc9:rӺ%eoq&e9*}q^(N ۷ U!ck…lf@Xke %%#}jv@2Q[ĝw{d$ nE~}-Էx^ 6=̽h boɝ0 ﺉ@ ϵy&EP6&}FX :@ԝUy+mV=BQץ=(3m* c*Tix]kn޽cW& }1D4J 1TiR率^%EyaQ [))67i ?mSr5WbpM5R1V] `E,{Ȫ x3UiŲv@4Ii$b*|-1 :EgGYTIwfcͧ F0 TH ky  $iX >[s.Q}6N&"fb:$|V?b[|r;V792.VF)\k"n2HJb<\">;J$^%_ ;%n  #RO'Fl*T e<,Fnnm-h_(/FO01} -LT2[Lv3fE$2ٱb4Nq(8}$bD 8rE>DSFo5Y# GP(vGz"ثJFZfH`K> ~'XLF΂ss$M&~ NX!O&?{ܨ=O/NRfk@JqFͩU0*L!/VV%VP)]oxXv(2IvYۭPZC"[ΕHxVFv3d]~S=ǁ ^ޥhaN1__' `Xd^.n?/]nrEB]=xd>֞)IZNI\i1Di jm1Elv78"ln ~(nbAnFk?}q&ZfGrYz.xs.;0FoEtFyFe.zK5Y z6ch&|| ,NUyօ9rU{{`>0<T tJ",0n!\TFdA>%ޤ(Ɖ~:OD̎qV&[ǯVKߒ3u9?ZvUe?Uj p@&wYA=#bFwB\WXNFU=zO)0|F|_^KxXɜv  6ܣߛ nﳆJ#5PB`KgG'M=6yDa̼&*ZM N/ bpNH7サάxrCFwF3Yx#1vtOTVW=|>PoE5֎jۗؾ h܎=^]yOn\ G;VE&L#(9yNvNce}Vּ ц@" F:,1#V<1. 0VfIPN2n)aXGNF.pHN6j:e_XfYU)AVPj6*3[}+W6s[C V*~wGP:DLW|Vd,^W)  o]W{ 'qA#Wt{ ݚ(yĢn,?p<_l:4l!F.I/!=0#ﴠJ*#(E)_&fz(wl;)Oi?*Rs`)A+/QqGϡ,s `?(iv,(OŤl/j1)7 #j1ϔ2p)++G4786o{wv7U9A938=4v}7&V%#$XV/w;W3nz1G^BXVbVxE43^DgN*7>tAm&/N8/_7)OHh}}BEzf/#u#N>*:!tUnx.&Xe$?l9s_6xTw!J:~z<?yl)=W`=po`/sC:2 VT, 1@/ >PcfZ8{R4fu#p>rCY/v~BT }{%ZV>ii!~K-GmH&q 6*9G*j?E(2)}>g+oVK9[\|L{Gm%YH  "eh>rH/o-BPF#Kb|G<:;.l4RVOltF3;)_px=R wYFKi7zJd?)_#q^KKeBzG7'Kq3+PqbE( Cqt*G@ )kO(^Mh'#_eQ. UY50K M QzQk)-|&=mBFj6"u"A\),r2E^-U */]t:u~+L>8mr(?e`{'-mfq]N\(o@Hadj+KYOtLI\sQcx#C4t8)zd^~9W$]r})4 'KYYNO1DM/)zMkUm#|M)ve]g8sH_oq{#q,;9Yc3Q,H5VvBs%HjE~/Y=5uX*.Amf,6- [NO j!C|\Hkv kSLu=g_t;<}Q"&[Ja! tq>MRYs"z5w++'9NxW3siTJ Jo&g1dyZ8VL#'c*zJmvm( ^o]#G{($p5>kCKJMNiu2<^xDGRCsMD+xlVlmtA> N&<(\/6=LdG2=+Ss53hSdo8M[(}\<[=]k>(M\ |.jSm?$F@+G^BG v{^| Wat;a$D Rwupk5 T{ *&vZh{5id ; y|S/M fOG;;x>srG{}{`jr^Sc|q`.T#5M)%SLe1/0])"U4 4Bg*fcqVIj'3f[i_e$o/[CUV4'>-{XQT;: xud Ay V[ `m! 4tvANkx 7d3,KYkL%a2Qyw fFo*  ,kVt,lx/Q|^(3 BCd$lwzL j`I(`q);)`>TI ]msCxMo{I]^[# \ SI#,|} j+? G+zdU =nII6oZZ3}SPc'|Evv=b0[fy~7Z J&>y Yr8]u=.yH=gd=v=tdsc^ZNXS( di,(vr}]e1M$*}x6?~euk?[6[!L}z5hK`^IGGJn L^ZKShVz?/(I#HQhDcPt("T{w+!G qNdAzRrw;W3nf/Users/filozopdasha/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/src/lib.rs urDh@f 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 <!^$׋oui/Users/filozopdasha/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/src/marker.rs |6fCgR%.N N<Q+F; =|rhh/Users/filozopdasha/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/src/parse.rs /F8ͼ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= -%EFh/Users/filozopdasha/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.89/src/rcvec.rs svK>Щ $$%%!+. 2 73!3 F$ $+/, )"B!.$ %( )"B!).'+ +&++ (/4hjBh gvX_5waarch64-apple-darwinrg&^>U proc_macro2-6dda14aea4300cb8:%Ws $Ȗ Tx%&$ &   &&  w  rust-end-file