rustHq rustc 1.48.0std؝-6bf3f16f340782cacoreƞ-3375e4f89d420e7acompiler_builtins-f74b197469e67088rustc_std_workspace_core扪ڹ8-5e0675f526ef5c6ballocץޯČ-1ebf406bd4ea5769libcɄ-dfbef8c525de0186unwindܽ݇!-bd645b20c6c7b56dcfg_ifшC-b9e1e523c0c29a77 hashbrownǰ-c6632ca171f954ddrustc_std_workspace_allocW-b5bfd0198c7b740drustc_demangleة-3ac2d0878c297d42 addr2lineƄ-12740563628e601fgimlin-0ac82a1e1820dd21object»-af517d7f13e7c960 miniz_oxide֕㵤 -a2ba33c985785afeadler˯-3f6e9f8f4afbea6d panic_unwindի-13f3099d50c21bc6 proc_macroתӺ-98fe22f4772d9a7f unicode_xidܙv-2f683cc8ef7518b9sW:AbvÒ )IplD&&stdIZam^ٻrE%R proc_macro n61R:marker'mdlwy[aPeU\/c .܎K,_AohCyndޕJx7{9MarkerKQݳF| *r $value]:! /6Ҽh,F$9W&ProcMacroAutoTraitsԜ"POFx~9Trf0봜T{cy?_2 [}7췜эe6(6t |parseӶ:Q5xN^p]M^^`MԄ _ԩD0iYv֕ l`q>>-k aO 7KdƢt"ꅁK{3-KGyvbwOc%퐒D~0 !qɲa +Fρb! fj]sʨ BMQ /% h bqLˎi7Hw8bTx Pz>.YBTMd|vF|zCYLO&ˌ&as_bytes҅bTrD5:&bytesa8-T'&chars/+IV%ϗ%^& char_indicesurH1 (2&parse)c@Reject$\ѫxM1l%RC46}PResultGt4 @q3'a+wRJHHq.3OEl{skip_whitespaceB'"*" block_commentΖ2DdW滗AY is_whitespace %Fxt]q word_breakr ?>u)iO token_streamˁ64?^~; lex_errorɹS *-JE leaf_tokenC*ť*jPF8identXut@=`'R}EF ident_anyHmr%  ident_not_rawk ;QAa5\literal*rHv4Ueliteral_nocapturet^0+1/17zliteral_suffix^kI1Qlstring]CZW()t cooked_string ۓ{|ePQr _NE]VIQ*g byte_stringϼ2*cv*cooked_byte_stringo?FʂnZ_>8HƗr'ogVi^ raw_stringWeO0"4%CbyteV|26: 'KgE;?AjYKBHRlq character?D@^=NwcƢ 4< N %HCQFĬT)Xinext_ch*Tˆ::M N3backslash_x_chardf_"L)ŐWERI}utFbackslash_x_byted_e / TI^3mDiʥ backslash_u+&๴mrko;NVIP0A)]float )7cH) float_digitsGe1Έ9#6fYCUzx?int|3Q,endigitsX>/rM/punct,Y D> punct_charUӵ/ EO'P' doc_commentbp# K+j?Oudoc_comment_contentsfCy[:VDtake_until_newline_or_eof)j%=P detection( eCsjSηbINITWXCߤ1Ʈbinside_proc_macroG٦ZGUb initializez-f0+So PanicHookʥr1^Yo?ɠK͢nxfallbackl}jenݲv;r4SZSvg~,rjR,ͽ{r_ꎣpCMh˵r y2*5@@BnkrǼRM~ _zn,.rV \x&r-"Fw#ԭ8rCv!ozZr¨OEqr LINar ɃoŹA;r dzk;|r QxM`r Q@."r3a Cr,3"u#Є~r~r.4XKQCrWd rforce6_T"7TErunforceAl'ѫC*P6r87R{Tƞ# span? zNM= call_site-5WRvc/KkVr8o~cr.new$}}:jHޭ>@is_emptyW:F81Y[Ϊ take_innerwS& "^ push_token,G<ذ<$s_.push_negative_literal nf򢯎dErn %.dropWz;ԕM\r get_cursorJւ/a"rGm o֛߰D;&Errf/&KIfrom_str߿yGdY*WA]r 7f".K"lfmt& ~σ yJkr =\fn%M3GfmtĆWu[Q|5gr;^=1Lpbsyfmt5ۓcu#YQr˞:++PIntoIterzBM A覔 into_iterj7sKmrmt>91EpathWE(_\is_real`(*8Ed7rټ0K2fmt|`}blQ:OrMrJم߲pw call_site&NQ)&X%W mixed_siter?n'İxH resolved_atᐚ_Ÿ located_ati< 䯭N <join!)/x!ap first_bytehٕx"Mwd last_byteb/}"7x4 rBͬ1"izU,fmt#^w=urdebug_span_field_if_nontrivialaμU7DQx-r] 0newFБHMi0 delimiterIq- 3g)%stream.ab7؏]ĥ7spanNn.&M~q span_openT6 兮;=^= span_close J!Ѻ4Vbset_span5Bf=Zl Er-v H=fmtg#H<pJ}-Zr;B2mfmt1ˇ~JJr[jX QJI2`z_newXnvlN.new(vo|/RwWC?new_rawsL͝}`BzspanSV\` set_spangM7"ˋGris_ident_start9 a7"Bris_ident_continueӕ s2Rrvalidate_identnȺ.*T5cnlɰ ident_okSl0w!r ziNHSeq̐;ђe%r Ʈ:tTIC눗\dȘeqj8 l1y r!!B$75`fmtevLoےgr7'){-J{~fmtY= KKrsuffixed_numbersS)[è!runsuffixed_numbersb֜LЊXrؘubNqB_new>!G[{mIm/f32_unsuffixed;4Cni f64_unsuffixed~`W~ϐ)Vstringqr+ܾA9_m character7hU%g]+ byte_stringҠ.!T[ﳩspanZ ɞ1͜PϢhLset_span/Pd4?٥w subspankVm5W7R~2nYvd24[r/Y?y>-Err O;y"Jz"from_strdکVl( E/I_Erosihqfmt *9?h38r^CΈn}W7@fmtqliyimpW?7MC e$5V'B7l^ay%uܙjKS+j WKe=(%YK 7, [sTПJ/ M Vh;HTquېzZQ^Dv/tc+Nc:٤d֨ 3y٩e%j@C _I%vg  /&_+3R jyyߵcJKvP7 GgRdm]y4CkְLexError2@h/ h}(Compilerd\,n$a؍u].vW&0B7ҫ%H1JFallback` n=5@b6p7ExO$/{d0~wϥE.ƙnG+`Ev call_site 7ιkYmmismatchSMM4dh0nܓEg6dnewhj֍sis_emptyU^S&e8)E evaluate_now]PجD 4,<into_token_stream~?BhxIG>L2΁nq4JnewYE3O=o]cT is_emptyKiCGTO|BJXunwrap_nightly Vhe(& unwrap_stablea|/d t9'q,ˆْOOErryCpfrom_stryu*%u99rqproc_macro_parse6[vݧܽ{GTe [>v^Eׅ1/3oF i)cfmtGoc IҶnёtefromsmchǧN from_iteraReg;-G1IŚC0fQ=_3" ߊ *WLϔD* from_iter䁕zAtADI31i["z%1ҝVextend&:|?lY,5!IC=Yʱ30 hPS!183fmtCrIi"ʪ/!21?ClIU_ spanDqCq:>QqW@]*А?ffrom|x꯴9x [_U}|unwrap_nightly Ӷ1NF#VavƷ 3zeq kb6tq Ӛ tJ\?N[TVQ;HpF}E>'&eqY}N\&(u!ުKs"PZfmt_$~Զ@dJ"L2󶐭'fmtp:" ^)Sdusuffixed_numbersX֋C=tunsuffixed_integers65%I#N(nbI#7R& Jf32_unsuffixedZ)YyZOl}yf64_unsuffixed:6ӜǏ pBstring ,Jɒz charactern`}Zi@(g byte_stringTi_w9]Sspanj72= set_span'7եb;qQ%+subspanѐ-D}Rݱ:# LSV.unwrap_nightlyf6[{OK F[b$w;ZT㻱Sr]from}KMbV6u%LBD|cT[ Errnd=k!Mՠhsfrom_str8S`)&/8Ŋn+>fmt*(?T>r';=@17fBF5v fmtj X:z^"4;"V33 OzdemU@e\-f=`b4y Lӓ6 KȋC5WsWQ%olyogms Gw/ߔH1; \= .tnAljlet 7~|G! /ejC䨮 | Eg]_m;B q= 8BSzLexErrorHe.x Gq!inner_$77c v7_markerAnߺj2yw2}!Uޒr_neẁzd e. ;i _new_stable%rșSbnewbCYHߴis_emptyqE:r6ɨv* (6default-\qj- 598!0Errf 6 $CYfrom_struQ?^J~Vl׷P!џw^g]l%Cu)>!Pfrom}BY8*of?`M˼.fromFn_9_{{+Nf~暡fromHѳ g|=ԃ2 R; extend+)32P0|I+#kw[u/.,?,)$,extendK%倩qBjdPnICX2>.9!jNu Z+9}e`F`y from_iteru)t$gSIFhƵn:WQy ɅDSН0^^|@ from_iter'pZG[4B8JI+/]tiyo^*sV5u BʒCXӆȦpfmtS} $p z?Zj̢nfmt~ֽ4@B? FvZ*75xspanaXV O2M3 挰)*h[dOfmt{XzH>yf8C*OP^1fmtCwcIo3|,}~AAP% )_new4Iݓ. _new_stable^|}m_& call_siteY2J/(w mixed_site.$$ ǁ resolved_at.ntDBS@2t# located_atrV1POunwrapNJtTv:sunstable|`9>V_3ajoin kR^/E@TGԾ|fmtw <"=]mh9owspan'NAEL#set_spanKKo+簵_ÿ`!aUfromOE7g,aE%;dN*n@vFȘfrom.*J̯\Ȱյ$B|Z b0Xjvpfromحcee=U8G{MR_mfromDlrY HޢHX Y`f-6fmtr aj ( p幸ׯ'rOdgfmt:\ё؀,l7,蟵o!r_new󣫘_Hf@3 _new_stableIFi{FMB|tnewExܜa~4 delimiter]sFOv$streamf,CF{(Qspan7 S- gE/3 span_openl9}1Z0 span_close&,_ |X.set_spanΊN˖.ռf'`/fmtA ݽPL*xFĂͼֺYfmtqP?AAQ}ۖ$;,newBmtT9 4as_char[jm-M8spacingHǿ,q2]spanpas;bPxset_span%!?'3$f|xfmt$`Ht=V\Y2?yIrzŖfmt_0Lڇ"5h4 >wo_new!#L"WJxnewxEdMZy#jT_new_rawHzTCspaniOwђȤset_spanǁ,~PgxL^ 2tv{!&1eqLM/hb}o#!e7Ծ!5_TX_2,eqwb ɇ<"8nG+>#so^/#d? partial_cmp4p-GQ:IԻ$sb2Dcmppe &"U%O)kMqc)hasha`:j 2kHY+3\oj7w&n(aA/~fmt@.$2YKXg'8%4ٖaMWfmt$5(<]usuffixed_int_literalsA>ρ6+ϲj:unsuffixed_int_literalsu>ᐪa+\I( g4vἷ=u9_new ӟe?qTֲ _new_stable Zn҃R+s3f64_unsuffixed\2ج*A6 f64_suffixed+2H^( f32_unsuffixedTP]٧` f32_suffixed"<PL|r+ƁuJstring3&t&#A characterxjܽ byte_stringz s:cG_#Rspan}$n0K<set_span 7>usubspanW\Y^wC/Ru_ϥAG;YQ5{)_bEÎ uErrtEnxj F8from_stro2ѐop]d#]Mα*!sBWbX;Ofmta&zFN3 +PtIi{颗Aq='aZǸ87J<%$clonePސCp`nuo4V2w.4 'a$!`Կ&=O}, ar TokenStream}Ӆ*ɢinnerFXF~۽o[ r{$F?ρ@cloneA0ӲrLexError. ospanpV .S|Z[Jwr wxȸ ̣e:ϗfmtyB~U >r SourceFileZ,JŻnpath bV}v|r!YEr2"ftr"p4b8ѫ3w(D@assert_receiver_is_total_eqbUIR0r#l8񜿠hRDr$N2;sKոeqn"uKU< neu`;N&r%?囧ٝzRvcloneҺKu[L5{r LineColumn%a]b\line['qꦥĺcolumnxWuJ .9r&C0BZr'sm(*ف5y/assert_receiver_is_total_eqثs*r(`?iBYn{X@r)}u*XwBeq [6 /m8.%neȟ:;vr*>J-vw!|fmtqpwNw0r+9yehuar,>@5MV;c7cloneGSXMHХù|c qrSpan-?lK +wd-T!r-|gId {m'r.)~:ody)VzRassert_receiver_is_total_eqgK,N"p1 r/ܼu:K:0_ r0X5H=K?eqb+\GGen9n,r1]1mr2D=~)),A cloneIY+f!Yu~WrGroupӵ@Ҳ% y6XUr delimiterV]q␥g ^Gstream!t00ZspanOMp'Ir3~mZN 9<clonesLA0[JsymX0%W|span")+4,ۢ-'raw|DݼiC{nr4@F ,83clonelgD^(*+]0rLiteraleZ+̖7^,text'}~RspanE~7T8C/0=r5{e=1WN>scloneVo? d3 u8_suffixed4B!jqM1 u16_suffixedܡCތ4\ a u32_suffixedlj|0 u64_suffixed ~T"% u128_suffixedfY $AgĘusize_suffixedt;rޒLӱ+' i8_suffixedUܲ{8G i16_suffixed݅ /FCfI7 i32_suffixed-IMoGg|B i64_suffixed!2K*;1AI i128_suffixedLWÆflZUq=<isize_suffixedPe:i+&?5^ f32_suffixedޘ,&הdr f64_suffixed F;ay0  u8_unsuffixedJt:M+u16_unsuffixed {֭ho;1u32_unsuffixed-E*Vש7\:u64_unsuffixedͲSkE[>u128_unsuffixedJ@HEF<h=ԝusize_unsuffixedI+/A`L&e? i8_unsuffixed^zgji16_unsuffixed B\'8)i32_unsuffixedYs[3~l7si64_unsuffixed0}?!7{ci128_unsuffixed]fB; :u1isize_unsuffixed]`,c` TokenStreamΥu2Z gܼ?4UBCompiler_`nFI(n1|T&(0&>k Fallbackj,k>ov< bF7Z;P}h0 x;G%](^p'A{9clone%ea<&cgDeferredTokenStream8YȂl*Ռstreamb˱G;^SĶdPextramD Rt%SJ)O#k` ^k,p2cloneF2նoZO\  TokenTreeIter٥cԫ|Compiler`&iN, ^/;@'% ˳SK0E@âUT$FallbackrZ* 'ou]-oN4.g(Q0a_%d8*~+; A;*h#Xclone2=T=0SpannM;E!RCompiler{Ke6v$D:֭0kJ2^c00@1E` Fallback#x}f24bSaQ ȟ0*7d1+ɴ/@0^~hclone}Y^x4,=">{Group4]v?tCompiler>>8(ZuPz-`(K0{/~/PuNnFallbackR@Y E(njB>%!-0֔'W.N-6Ii7C{_Ƚ fclone85B& Ident/}Xi%cCompiler:`J6KV- =$qseA0`-2 ׊*!plFallbackP>Iۍ.p,K/r祵0Dv/gf>ek.92f`~= Sclone+0ڗت DLiteral|oᰢ;KyCompiler36G [vk/<ㅶWS^|d1R90;V)gi,Fallbacka[FeT`6A: F6[L0}8yM)>/KqdD\^k+;clone~̔Й@a,o u8_suffixedt&^{\ʳ u16_suffixed@ZR(L u32_suffixedy;q毃^ u64_suffixedU "Ĥ, u128_suffixedJ'usize_suffixed\eYA(- i8_suffixed|ڞX[';F i16_suffixed+_2 5+/ i32_suffixed1Y mNބ i64_suffixed2t DE" i128_suffixedy @@5fUisize_suffixedYw-U:O f32_suffixedӉU50^sӂ^ f64_suffixedg<&crM3 u8_unsuffixedN <})hu16_unsuffixed\؃gɫKg`1u32_unsuffixed4lVF˥ɭAu64_unsuffixedjR99]djS u128_unsuffixedDJ\ץ}O3nusize_unsuffixedݡ*{C` i8_unsuffixedYm[ϝ@ [3i16_unsuffixedGaڽ᭏Ba<7i32_unsuffixed+ш]fZgZi64_unsuffixedn}0dB?!7Ji128_unsuffixedV"%.c@UTCZOisize_unsuffixedʻׁC:^b  TokenStreamJkE1Icinnerg1x ^_markerdٕpIXca,IzN;D]@vcloned^MuMH9*Span+kQ&܏inner("$Wq%_markerSfs>Q5ݷ-`~by2"clonesdJ>3=PcB.6ATW.$љ TokenTree!bVߚ!U~Group!sRTQ0j-:VjIdentg^ăcvԿ]IB7zf]<æ0xMNkD-#XPunct&8[5?R${_10OxVπ LiteralXylߗ=7eTEzr+?f( u3m0`{%mG /E2$cx2eycloneb&\1/_ޝ@KGroup\Mږinnerh-.UdF0|H?8UclonepKx%_9l_o Delimiterq}3焈K:Ի Parenthesis,g^sqCeL pg%_BracenO o7jH{I&VlcQztbBracketї脦*yVlo3i*>NRNone*DA76x0q/"J7-/z̀[1f^RI.LD"2 uiP#]Meq!l-fe~3RѰ|R;=.sI41f_ޢQuTXcassert_receiver_is_total_eq<5g  Ż5V'mL1CyfmtP7By5hW;:6UAPď=r^UcloneTHF[ܢ}T7@DA+RPunct~xC^خCX%Vch>h .Qspacingr}X!OVop Aloneșҵ\r8.08NWqJoint=Yͼ.3m>]GK8Ec5%9VK.@9: inڈ%eqa>)$Y,]lJY;EXH;ݰǼ<,H8Ekreassert_receiver_is_total_eq><'J*8=K~Ė? YrfmtL$N.|>dx%\I@Q0Nclonez@^2Nrap}l? a6O88Identֳ*YRl-\Iinner]z;Ҹ};g_marker:]1: G1@Kl};ڄ̞"b*cloneᐴ}F~fLiteralXr;> Rƈinnergᛸ|sJG_marker"gaZAYAaViMٲ{O;clonem;s'W( u8_suffixed_53 u16_suffixedhRd u32_suffixed00s u64_suffixed9N@8m6#,OY u128_suffixed3SBusize_suffixed*iÀhyOy i8_suffixedctSygo=1innerZK摁t}G_markerEb@;bUPHr% vcloneD۴>_uBYQ 4W >$t/WGuodETD66#FcE5>OҾس *]4c!AM 8"- ~(_DK NqAt j+ VZPШ~+G4t Tq%5Ǵ u09:C|!$:K#;|]L@zF)#fKj ,#ሔ[$k!h9qw$ ,6DoaKl%J͝xnvԲW%=5O|WA/dmP3TecVACud âi] reSI~.eeԦ(oSSaYVXgcIC;$uwg6cO߻h>!k`,a> :<hbM8ߒ [PiO[@H}.* w"iÎF$?lѢ*ztծ|J5f^St[$[!V<u+=q|TVu>,yzKFߧkw&͉E[Y똁{w,,ؒa24GxICuxh& ~#iIyeFȹSDjDPy,l=P+ 9 { Lx>4Q{)Hz|HMFU1[|!1ϩx}{!!9بdv}K''&be~+ 1vz]L~n=`^[JcCإ~h;c( L(8OU8A u6?2@~w $ laZՅ} ܾ& E܊`:AdV:vkbdÇfHϸ xVrG*z3?n=L<5![^Pbxϊ]Ǽ)V7FC oAAwVh _-̘ob@ܓ3oMT N<%Ӫ7gL $1,Sg+^ #^N4Ibm`L\Xb[ ][Ei̩%i^]|_^;2F@qީ*{ʖQϢɹ$a8 qY  9O^ Ėǻc4XZְC~#R:b_uMrtJ\#5oc)y;eq@~ƈ)8d]0[zΟ Xc%q4CyV(}^nJ; PSQ*nOC i͋ؖ7$NL956xJTE۹y_'dF9Dj˚e&X"oNwl-o$tK%sCg.F m`ʧD ,=Fa0tvر;꜍X ^AjA!9UVSnQ gUTZ\"A( 6YߩQO`Q`h ,UTlu/  K 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/ 9 L - **Bring proc-macro-like functionality to other contexts like build.rs and OI main.rs.** Types from `proc_macro` are entirely specific to procedural LF 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 beingIG specific to procedural macros, nothing that uses `proc_macro` can beJL executed from a unit test. In order for helper libraries or components ofOF a macro to be testable in isolation, they must be implemented usingI `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)]" # }; # #[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 }; * 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/1.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.31.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.>  ```sh 7 RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo build : ```  L Note that this must not only be done for your crate, but for any crate that OK depends on your crate. This infectious nature is intentional, as it serves!ND as a reminder that you are outside of the normal semver guarantees.!G"K Semver exempt methods are marked as such in the proc-macro2 documentation."N# # Thread-Safety##E Most types in this crate are `!Sync` because the underlying compiler#HL types make use of thread-local memory, meaning they cannot be accessed from#O a different thread.$%doc%%% html_root_url% %"https://docs.rs/proc-macro2/1.0.32%$%='allow''*3 clippy'' cast_lossless' ' clippy'' cast_possible_truncation'' clippy'' doc_markdown' ' clippy'( if_then_panic( ( clippy(( items_after_statements(( clippy(( must_use_candidate(( clippy(( needless_doctest_main(( clippy() shadow_unrelated)) clippy)) trivially_copy_pass_by_ref)) clippy)) unnecessary_wraps)) clippy)) unused_self) ) clippy)* used_underscore_binding** clippy** vec_init_then_push*'br* PhantomData  PhantomData  RefUnwindSafe   UnwindSafe  Rc Marker*   :Marker"Marker"6D .. ......*-+is_ident_continue is_ident_start GroupLexErrorLiteralSpan TokenStream   Delimiter  PunctSpacing TokenTree  char Bytes CharIndices  Chars*  !"#$%&136789:;<=?@ABCDEGHJKNRTVXY[\]^_`a()*+,-./0''a'a''selfbytes (''a ĘĘ&&selfsO )''a &&self ? *''a&&self 6 +''a&&self C ,''a ''a &&self > -''a''a&&self > .''a''a&&self R /''a''a&&selftag 0''aĘ1&&2О2О11  64'aOО'a4O554input + 6à input 0 7àà О ch" 8 input 6 9ààО input N :à cursor ( ;àË input΋ 2 <ààОՋ">  =>>>>  )" > ɤ¥"̤¥Τprefixinput¥"input 0 =ààО input 4 ?à input͔ 0 @àԔinput ؗ8 AààОinput = Bàinput * Cààinput 2 DàFEFFFF    F īch input 9 Eà input 7 GàIHIIII    Iīchinput B Hà߽ input ܽ6 Jà LKLLLL L  b  MKMMMM M b input 0 Kà ONOOOO O  īch  PNPPPP PӸ īch  input 5 Nà chars Z RI ISS))ī   )      Someī   0    7                    Someī   0     9    a     f     A       F      tt ī            charschch  chars X TIUU)        Some    0      9      a     f      A     F                    Some   0    9    a    f    A    F       tt                charschch  chars U VIWW.       Someī{      (             )           Someī      0    9    a    f    A    F _}! &0 0'          !a !a!' "#$$#$$ % #  % # "%#&"A &"A&"''(('((' '  ')**)**)#")+,-- -,$)+,- ,+% +,&&  &..1.)(1. /  /*1. & /011  10+120 20,203 3-3   t4   ī īī             charschvalue leniter __next valchdigitinput 1 Xà%Z YZZZZ. %Z %ch% input 8 Yàinput / [àinput 6 \àinput ) ]ààО input - ^ààО input 8 _àà#Оinput ? `ààОƑinput Ñ= aà+ panicb PanicInfo  b AtomicUsize  bOrderingbOnce)b++cfg+!++ wrap_proc_macro++cdefghijklmno̕bŕ0 ŕ0ŕ0ӕ ŕ0b )  )    ) l m̘ nq oqqqq q    _panic_info  b̤cfg̤"Ϥ notФӤ featureԤܤ is_availableޤʤ% o b< ,parserCursorr Delimiter  rSpacingr TokenTree  rfmtrDebug3rDebug3rDisplay3r FromIterator˫ (rmem ݫr RangeBounds rPathBufǬ;rFromStrެBԬrvec#rvecr UnicodeXID r,,doc,",, hidden,,stuvwxyz{|}~L Force use of proc-macro2's fallback implementation of the API for now, evenO/ if the compiler's implementation is available.2 ү˯J Resume using the compiler's implementation of the proc macro API if it isM available. rͱself ;  r` rܢM ܢself D  ܢselfʹ rd  ܢȴselftokenr  streamliteralrHcold$ שrܢܢself r  src r"cfg% not span_locations àrܢBܢrsrc r բr3selffry  2rܢ3ܢselffr Ҙrܢ3ܢselffr Ҙrcfg' use_proc_macroܢܢinner r ܛܢrcfg' use_proc_macroܛܛܢinner r ܢܛrܢܢtree r ܢrܢ(ܢtokens r ܢI((     (ܢXܢ  ܢtokensstream rܢ(ܢܢstreams r ܢIΟ (ܢ  #  (P    )(          Someܢ                     (     PP> >ܢɨɨܢܢ ɨ ܢ ܢ ܢ  streamsviter__nextval  stream  rܢ(ܢselftokensr IΟߟ;   ; )ɨ ݵ(LL ;ɨݵself tokensrܢ(ܢܢselfstreamsr IΟ 0     )ɨ 0 (ɨ%AA 0߱ Ȼɨself streams 9&rܢ(ܢrrself rU ܢrself ?. Get the path to this source file as a string.1  ¿;self k r¿3¿selffr ҘrӀ2cfg* not span_locations =cfg* hygiene self_otherك  selfotherC self_other܌Ncfg*Ռ notŒŌԌ span_locationsƌ self r0cfg* not span_locations selfœ r/cfg* not span_locations r3selffƕr ҘdebugspanޗV  1Ǘr delimiter streamʚ ܢself ߛC  self G ܢself 4 self F self F selfܞspanǞHΞ  מr3selffr Ҙr3selfӥfmt٥r˥Υ ҘҥrԨstringrawspanr stringspanê^ stringspana self 4  selfĬspanʬH  c-Įc֮0 ݱ&  0   9ݱ&  ݱ&ޱ  digitޱݱ&string r ֲstring߲ rӲ! r selfotherrb   r TT self̷otherҷrŷȷ  ˷  )  Τ  DΤΤr#111111 ȸȸ ȸ Ը  Ը  Ը Ը ڸ ڸ ڸԸ Ը    Ը ݸݸ ø1Ը  ݸ ݸ ȸȸ     ȸݸ ݸ ݸ 1 ŷ ˷ ҷΤ11Τ1ȸ1 ȸ1ΤԸ 1ΤԸ 1ΤԸ1ڸ̤self˷otherҷotherŷr3selfƹf̹r ҘŹr3selfͻfӻrŻcfg0 not span_locationsȻ Ҙ̻rשtext  שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שn<u< שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שnuVu שf שf שt שt שbytes   שself 4  שselfspanH  שself_range\ RR\  שself_range\rשBשrrepr r ששBrש3שselffr` Ҙrש3שselffmtr Ҙ-inside_proc_macro l#fallbackr Delimiter  PunctSpacing TokenTree  fmtDebug3Debug3Display3 FromIterator ( RangeBounds panic panic  FromStrB--path-5- wrapper.rs- --cfg-5-- wrap_proc_macro-- b  Compiler  Fallback  stream  ܛself Z  self   self r ܛ self   self  ܛself  ܢBsrc  *ܛ ̤  Eܛ' /ܛ* ɤ*ܛ Τsrc̤*UيErr src K 3selff ׎Ҙܛinner } ܛܛܛinner  ܛܢinner a ܢtoken A όtoken  (trees܏  IΟߟɏ   ՑՑ Ց Ց ՑՑ Ցۑ    ۑ mݐ4ݐ*ݐݐݐ ݐݐݐ   ݐ* )ɨ ݐ4 )ɨܛ  m mCompiler  Ց )ɨܢ     2Fallbackܢ2     ܏mܛݐ4ݐ*ɨݐݐ2ܢՑ2ɨՑ2Ցtrees܏(streams  IǒΟʒ (ג       ǓèǓ̓̓̓ܓ& ܓ&  Some   SomeCompiler               ܛҔ ҔҔҔҔޔҔڔ )ɨܛ ܛ  ڔ ˔ (ܛܛɨծ    ˔    Compiler   SomeFallbackܢ )ɨܢ ܢ (ܢܢɨӲ ؘؘ˜Fallbackܢ˜ݘ    ܓ˖ɨ  ܓ&   ܛ ҔɨҔծޔܢ ɨӲ˜ܢؘstreamsstreams first first (selfstreamՙؙ  IߙΟߟ ՙœœFallbackܢʜʜ՜՜ʜΜΜњњCompilerg      è      gg     Some    ԛ*ԛ ԛ # ԛ*ޛ # ޛ gۜۜۜՙgZZ0  њɨɨԛ* ԛ œʜ՜self streamttsњiter__nextval tokenttsœՙ(selfԝstreamsڝ IϝΟ Ө    Fallbackܢ?  3   Compiler  ʞ˞ݞ\ݞ ݞ ܛ4         4 )ɨܛ    ݞ\ (ܛܛɨ < ǟ 3 )ɨܢݏݏ  ? (ܢܢɨݏ ;ààĠ ``Ҡ   ՟~ϝ ڝݞ\ƹݞ 4ɨ?3ɨselfϝ streamsڝttstts 3selff ׎Ҙself   פeR eP 3selff ҘШ3selff Ҙ(self׮ ʮͮ  )self±   self   غ3selffm Ҙ  cfgA hygiene selfother  selfother self  selfother self   proc_span p winner L 3selff ҘdebugspanV  delimiter stream self   self  self  self  self  selfspan  self  sgF 3self formatter  Ҙ3self formatter  Ҙ stringspan stringspan self   self̑spanґ  Ǒself͓   selfother    Tŗ selfޗotherחڗ ݗ ח   Fallback        Τ    ΘΘCompilerԘ Ԙ Ԙ Ԙ Ԙ ֘  ֘ Ԙ    ԘԘ Ԙ  ~    ~ ח,  ݗΤ Θ~Ԙ ~Ԙ ~Ԙ~̤~ ~̤selfݗotherothertΘt ח3selfҙfؙʙ͙ Ҙљ3selff Ҙn˞ǣ n˞ n˞ n˞ n˞ n˞ؤ n˞ n˞ n˞ n˞Υ n˞ n˞ n˞ n˞ɦ n n nħ n n n nƨ n n n n n f f t t bytes ұٱ self ӳڳ  ߳selfspan  selfշrange۷ RԷ    Fallbackש ŹŹCompilerιѹ& ,   @   Է۷ ̖ŹselfԷrange۷_litŹlitselfɺ  ̖~שsM שBrepr  B3selff Ҙ3selff Ҙ33F- Error returned from `TokenStream::from_str`.3033334inner4 44  inner5 55 ܢ 7V: Returns an empty `TokenStream` containing no token trees.6=7  self8 8D' Checks if this `TokenStream` is empty.7*8   89\2 `TokenStream::default()` returns an empty stream,853 i.e. this is equivalent with `TokenStream::new()`.96  979  =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 contains;IB unbalanced delimiters or characters not existing in the language.;E<G NOTE: Some errors may cause panics instead of returning `LexError`. We==  ݟ>??cfg?R?? use_proc_macro??  ܛinner@ @f@ ܛ AAcfgASAA use_proc_macroAAܛܛ innerA AYA  ܛB  tokenB BbB  C ( selfDstreamsDCoC   IDCΟCߟDDD D DDDD (DDDDD+D+DCoD  D DDD DselfD streamsDCoD (  selfEstreamsEEE ǭIEEΟE ( EENE E F.FFFFF F FFF.F )ɨ  FFFENE (ɨE6FFFE_E_FE EE EENE F.ɨFFFselfE streamsEEF7 Collects a number of token trees into a single stream.F: ( streamsG GG  IGΟGߟGHHHHHH H HHH )ɨH HG0GG0HHG GGG0HG0ɨHG0HstreamsGGH (  streamsI HH  IHΟH II.I$IIIII I II I$I )ɨIIII.I )ɨؼI IIAIIAIIH IIIAI.IAI$IAɨIIAIIAؼI streamsIHKF Prints the token stream as a string that is supposed to be losslesslyJIG convertible back into the same token stream (modulo spans), except forJJL possibly `TokenTree::Group`s with `Delimiter::None` delimiters and negativeKO numeric literals.K 3 selfLfLLaL ҘLM1 Prints token in a form convenient for debugging.M4 3 selfMfMM_M ҘMN^ݟselfN NHN  ݟNOݟ3ݟselfOfOO_O ҘOPݟ3ݟselfPfPPaP ҘPQݟ ݟd)innere drd innere ee iM< The span of the invocation of the current procedural macro.g?gD Identifiers created with this span will be resolved as if they weregGD written directly at the macro call location (call-site hygiene) andhGI other code at the macro call site will be able to refer to them as well.hLi lOE The span located at the invocation of the procedural macro, but withjHF local variables, labels, and `$crate` resolved at the definition sitejIB of the macro. This is the same hygiene behavior as `macro_rules`.kEk+ This function requires Rust 1.45 or later.k.lcfglVll hygienelll selfpotherppnG Creates a new span with the same line/column information as `self` butoJ4 that resolves symbols as though it were at `other`.p7p  pselfrotherrrlH Creates a new span with the same name resolution behavior as `self` butqK- with the line/column information of `other`.r0r rselfw wK3 Convert `proc_macro2::Span` to `proc_macro::Span`.s6sH This method is available when building with a nightly compiler, or whentK< building with rustc 1.29+ *without* semver exempt features.t?u # Panicsu u< Panics if called from outside of a procedural macro. Unlikeu?G `proc_macro2::Span`, the `proc_macro::Span` type can only exist withinuJ. the context of a procedural macro invocation.v1wcfgwVww wrap_proc_macrowww selfx xGxcfgxVxx wrap_proc_macroxxxdocxVxx hiddenxxx self΋otherԋl3 Create a new span encompassing `self` and `other`.6? Returns `None` if `self` and `other` are from different files.B= Warning: the underlying [`proc_macro::Span::join`] method is@E nightly-only. When called from within a procedural macro not using aʼnH9 nightly compiler, this method will always return `None`.<ӊ^ [`proc_macro::Span::join`]: https://doc.rust-lang.org/proc_macro/struct.Span.html#method.joinۊaȋ ͋{2 Prints a span in a form convenient for debugging.53selffƏ_ Ҙself۔ ΔB Returns the span of this tree, delegating to the `span` method ofѓE+ the contained token or a delimited stream..Ք  ڔselfspanԘ+ Configures the span for *only this token*.˖.I Note that if this token is a `Group` then this method will not configureLF the span of each of the internal tokens, this will simply delegate toחI' the `set_span` method of each variant.*ۘ  igB igB ќigB ogF D Prints the token tree as a string that is supposed to be losslesslyGE convertible back into the same token tree (modulo spans), except forHL possibly `TokenTree::Group`s with `Delimiter::None` delimiters and negativeO numeric literals.3self͠fӠŠȠ Ҙ̠6 Prints token tree in a form convenient for debugging.93selffۣޣ Ҙinner B inner ޯq  delimiterϲ streamIJA Creates a new `Group` with the given delimiter and token stream.հD5 This constructor will set the span for this group to8C `Span::call_site()`. To change the span you can use the `set_span`F method below.˲  self K& Returns the delimiter of this `Group`)  self ZH Returns the `TokenStream` of tokens that are delimited in this `Group`.KC Note that the returned token stream does not include the delimiterF returned above.  selfٸ ̸HG Returns the span for the delimiters of this token stream, spanning theJ entire `Group`.з ```text  pub fn span(&self) -> Span {  ^^^^^^^ ```Ӹ ظself޺ ̺RB Returns the span pointing to the opening delimiter of this group.E ```text " pub fn span_open(&self) -> Span {% ^ ```Ӻ ݺself ޼TB Returns the span pointing to the closing delimiter of this group.E ```text # pub fn span_close(&self) -> Span {& ^ ```Ҽ selfspanWH 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`.'  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.&3self formatter q Ҙ3self formatter o Ҙ chspacing< 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 self 5; Returns the value of this punctuation character as `char`.>  self =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.( self 41 Returns the span for this punctuation character.4 selfspanH3 Configure the span for this punctuation character.6  }G Prints the punctuation character as a string that should be losslesslyJ* convertible back into the same character.-3selff^ Ҙ3selffmt Ҙinner u stringspannG 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 theE- language, otherwise the function will panic.0I 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, andKI other code at the macro call site will be able to refer to them as well.L< 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.> # Panics 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 andK" need to handle an error case, use%> syn::parse_str::<Ident>4 rather than `Ident::new`. stringspans self H" Returns the span of this `Ident`.%  selfspanWC Configures the span of this `Ident`, possibly changing its hygieneF context.   n selfotherM    T selfotherC   ŀŀ  ɀɀЀC   ŀselfotherCԀ selfother^ °| selfothera t4selfhasherX H ңHң4ң  Xǃ΃΃Ƀ 4ңɃ ԃԃՃՃՃՃ..܃Xܟ ңܟ΃selfhasherXτM Prints the identifier as a string that should be losslessly convertible backP into the same identifier.3selffa Ҙх|3selff_ Ҙ,inner { inner  שnȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below. ʚ nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below. ۛ nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below. ќ nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  nȏ_A Creates a new suffixed integer literal with the specified value.DC This function will create an integer like `1u32` where the integerFC value specified is the first part of the token and the integral isЋFE also suffixed at the end. Literals created from negative numbers mayHC not survive roundtrips through `TokenStream` or strings and may beF3 broken into two tokens (`-` and positive literal).6B Literals created through this method have the `Span::call_site()`ED span by default, which can be configured with the `set_span` method؎G below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below. ԝ n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below. Ξ n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below. Ο n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  n_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 to1E `Literal::u32_unsuffixed(1)`. Literals created from negative numbersHD may not survive roundtrips through `TokenStream` or strings and mayG6 be broken into two tokens (`-` and positive literal).9ҕB Literals created through this method have the `Span::call_site()`ޕED span by default, which can be configured with the `set_span` methodG below.  fߥ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 isIA used, so it may be inferred to be a `f64` later in the compiler.DI Literals created from negative numbers may not survive rountrips throughLD `TokenStream` or strings and may be broken into two tokens (`-` andͣG positive literal). # Panics ͤG This function requires that the specified float is finite, for exampleդJ3 if it is infinity or NaN this function will panic.6 f/ 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 theȨGA compiler. Literals created from negative numbers may not surviveDF rountrips through `TokenStream` or strings and may be broken into twoݩI# tokens (`-` and positive literal).&֪ # Panicsު G This function requires that the specified float is finite, for exampleJ3 if it is infinity or NaN this function will panic.ƫ6 f1 Creates a new unsuffixed floating-point literal.4íI This constructor is similar to those like `Literal::i8_unsuffixed` where˭LF the float's value is emitted directly into the token but no suffix isIA used, so it may be inferred to be a `f64` later in the compiler.DI Literals created from negative numbers may not survive rountrips throughLD `TokenStream` or strings and may be broken into two tokens (`-` andG positive literal).а # Panics G This function requires that the specified float is finite, for exampleJ3 if it is infinity or NaN this function will panic.۱6 f̸/ Creates a new suffixed floating-point literal.2ڳE 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 theGA compiler. Literals created from negative numbers may not survive˵DF rountrips through `TokenStream` or strings and may be broken into twoI# tokens (`-` and positive literal).& # Panics G This function requires that the specified float is finite, for exampleJ3 if it is infinity or NaN this function will panic.6 string ٹb String literal. chܺ` Character literal. s߻c Byte string literal.» self H, Returns the span encompassing this literal.ȼ/  selfspanW1 Configures the span associated for this literal.ʽ4  selfrangeC 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 isFE nightly-only. When called from within a procedural macro not using aH9 nightly compiler, this method will always return `None`.<j [`proc_macro::Literal::subspan`]: https://doc.rust-lang.org/proc_macro/struct.Literal.html#method.subspanm R  ͓) ,   )) )selfrangeBݟrepr  ݟ~3selff_ Ҙ3selffa Ҙ Marker Markerimp TokenTree  fmtDebug3Debug3 TokenStream M Public implementation details for the `TokenStream` type, such as iterators.P)self Q  3selffg  Ҙ ( self   d'a&'a 'a 'a'a  automatically_derived c  allow c   unused_qualifications  'a 'aself other   inline c   'a  ΤΤ  ΤΤ    ¥ ¥ ̤̤ ̤ ̤self other  __self_1_0 __self_0_0 self other   inline c   'aΤΤ  ΤΤ    ¥ ¥ ̤̤ ̤ ̤self other  __self_1_0 __self_0_0 'a'aautomatically_deriveddallowd unused_qualifications'a 'aself inlineddocd hidden 'a ¥selfautomatically_deriveddallowd unused_qualifications'a 'aself inlined 'a ĥ¥selfautomatically_deriveddallowd unused_qualifications'a'aʰ Gܢܰ r!!automatically_derived!f!!allow!f!! unused_qualifications!!ܢ ܢself r!!inline!f!! ܢ!ܰ !ܰ !ܰ !ܰ !ܰ !ܰ !ܰ !ܰ !ܰ !  ܰ !!!!!!!!!ܢ! ܢ! ܰ !!ܰ !!ܰ !!ܰ !self! __self_0_0ܰ !!9r""automatically_derived"f""allow"f"" unused_qualifications""3selff"r"" Ҙ" 3¿r r%¿¿r%%automatically_derived%g%%allow%g%% unused_qualifications%%¿ ¿self r%%inline%g%%doc%g%% hidden%%% %%%%%%% ¿%self%%r &¿¿r & &automatically_derived &g & &allow &g & & unused_qualifications & &¿ ¿¿self other &r & &inline &g & &  ¿& & & & & & & & & & &   &&&&&& & & & & & &  & & & & & &self &other & __self_1_0 & __self_0_0 & &self other &r & &inline &h & & ֍& & & & & & & & & & &   &&&&&& & & & & & & & & & & & &self &other & __self_1_0 & __self_0_0 & &r''automatically_derived'h''allow'h'' unused_qualifications''¿ ¿self r''inline'h'' ¿' ' ' ' ' ' ' ' ' '   '''''''''¿'' '' '' '' 'self' __self_0_0 '' Lr(r((automatically_derived(h((allow(h(( unused_qualifications(( self r((inline(h((doc(h(( hidden(((  (((((((( (self((r )r ) )automatically_derived )i ) )allow )i ) ) unused_qualifications ) ) self other )r ) )inline )i ) )  ))))))))))))) ) )  ) ))))))))) ) ) ) ) )    ) ) ) ) )))))) ) ) )  ) ) ) )Ʀ)Ʀ)Ʀ) )) )) )) )) )) ))self )other ) __self_1_0) __self_1_1) __self_0_0) __self_0_1) )self other )r ) )inline )i ) ) ))))))))))))) ) )  ) ))))))))) ) ) ) ) )    ) ) ) ) )))))) ) ) )  ) ) )Ʀ)Ʀ)Ʀ)Ʀ) )) )) )) )) )) ))self )other ) __self_1_0) __self_1_1) __self_0_0) __self_0_1) )r**automatically_derived*j**allow*j** unused_qualifications**3selff*r** Ҙ*r++automatically_derived+j++allow+j++ unused_qualifications++r,,automatically_derived,j,,allow,j,, unused_qualifications,, self r,,inline,j,, ,,,,,,,,self,,r-r--automatically_derived-k--allow-k-- unused_qualifications-- self r--inline-k--doc-k-- hidden--- ------ -self--r .r . .automatically_derived .k . .allow .k . . unused_qualifications . . self other .r . .inline .k . .  . . .. . .ź .ź .self .other . .r//automatically_derived/k//allow/k// unused_qualifications//r00automatically_derived0k00allow0k00 unused_qualifications00 self r00inline0k00 00000ź0self00ʙ^r֙֙ rܢr r44automatically_derived4l44allow4l44 unused_qualifications44 self r44inline4l44 4 ֙4֙444ܢ 4 4֙4֙4֙4֙4֙4֙4֙4  ֙44444 4 4 4 44  ܢ 44  4  4  4  4  4  4 4     4 4 44ܢ444 4 4 44444444444 4 ֙44ź 44֙44֙44֙44ܢ444444 44ź 44ź 4self4 __self_0_0֙4 __self_0_14 __self_0_2 44Kr r rƨ ƨr55automatically_derived5l55allow5l55 unused_qualifications55 self r55inline5l55 5  5 5 5 5ƨ 5ƨ 5 5 5 5 5 5 5 5   555 5 5  5  5  5  5 5  55 ƨ 5 ƨ 5 ƨ 5 ƨ 5 ƨ 5 ƨ 5ƨ 5    ƨ 55 Ψ5 5555 5 5 5 55555555555 5ź 5 ƨ 55 55 55 55 55ź 55ź 55ƨ 55ƨ 55ƨ 5self5 __self_0_0 5 __self_0_1 5 __self_0_2ƨ 55?שr r r;;automatically_derived;m;;allow;m;; unused_qualifications;;ש שself r;;inline;n;; ש;  ; ; ; ; ; ; ; ; ; ; ; ;;; ; ; ;  ;  ;  ; ; ; ;;;;; ;;;;;;;;; ש;; ;ź ;; ;; ;; ;; ;;ź ;;ź ;self; __self_0_0 ; __self_0_1 ;; gܢ  Compiler ܢ ܢFallbackܢܢyyautomatically_derivedywyyallowywyy unused_qualificationsyy self yyinlineywyy ׎yyyyy yy yy y Fallbackܢy y y y y yy  yyyyCompileryyyyyyy  yyyCompileryyyyyy yFallbackܢ yy y y yyyyyy yyyyyyy yyyyyyyyyܢyyyyyselfy__self_0y__self_0y yuܛ!zzautomatically_derivedzwzzallowzwzz unused_qualificationszz self zzinlinezwzz z zzܛ!z!zzzzzzzz  ܛzzz!z!z!z !z !z !z!z  !z zzܛzz zzzzzzzzz zz ܛz !zzܛzzzzzz!zz!zz!zselfz __self_0_0z __self_0_1!zz z""ƭƭ, , ,Compiler,,,,,,! ! !Fallback!!!!!!߬|߬|automatically_derived߬|x߬|߬|allow߬|x߬|߬| unused_qualifications߬|߬| self߬ ߬|߬|inline߬|x߬|߬| ߬|߬|߬|߬|߬| |߬| ߬|ƭ| ƭ| Fallbackƭ| ƭ| ƭ| ƭ| ƭ| ƭ|ƭ|    ƭ|߬|"|"|Compiler"|"|"|"|"|"|"|  "||߬|Compiler߬||||߬|ܭ| ߬|Fallback ߬|| | | ߬|||߬|߬|߬| ߬|߬|߬|߬|߬|߬|߬| "|߬|"|߬|΃ "|߬|΃ "| ƭ|߬|ƭ|߬| ƭ|߬| ƭ|self߬|__self_0"|__self_0ƭ| ߬| V  Compiler Fallback}}automatically_derived}x}}allow}x}} unused_qualifications}} self }}inline}x}} }}}}}}} }self}}~~automatically_derived~y~~allow~y~~ unused_qualifications~~ Y  Compiler  Fallbackautomatically_derivedyallowy unused_qualifications self inliney   Ԕ   Ԕ Fallback         Ԕ Compiler  Compiler Fallback     Ԕ Ԕ Ԕ  š š self__self_0__self_0  Yψψƈƈ ƈ ƈCompilerƈƈƈƈƈƈ  Fallbackautomatically_derivedzallowz unused_qualifications self inlinez    Fallback         ψψCompilerψψψψψψψ  ψ߈Compiler Fallback     ψψψψself__self_0ψ__self_0  _̖ҝҝש ̖ ̖Compiler̖̖ɝɝ שɝ שɝFallbackשɝɝɝɝשɝɝautomatically_derivedzallowz unused_qualifications self inlinez  ҝ ҝ Fallbackשҝ ҝ ҝ ҝ ҝ ҝҝ  ש  ҝCompiler̖  ̖Compiler̖ Fallbackש     ̖ҝשҝҝҝself__self_0__self_0ҝ 2 2LL An abstract stream of tokens, or more concretely a sequence of token trees./O0E This type provides interfaces for iterating over token trees and for0H( collecting token trees into one stream.0+1> Token stream is both the input and output of `#[proc_macro]`,1AB `#[proc_macro_attribute]` and `#[proc_macro_derive]` definitions.1E 222222automatically_derived222allow222 unused_qualifications22   self2 22inline222  2 22222222222  222222 2 2 22  2 32222 222222222  2  22 2222222222 22 2self2 __self_0_02 __self_0_122dd>A A region of source code, along with macro expansion information.cDddddddautomatically_deriveddddallowddd unused_qualificationsdd selfd ddinlineddd ddddddd dselfddddautomatically_derivedd΃ddallowdσdd unused_qualificationsdd L A single token or a delimited sequence of token trees (e.g. `[1, (), ..]`).Oԑԑ͒͒Α 1 A token stream surrounded by bracket delimiters.4Α Α Α GroupΑ Α Α Α Α Α   An identifier.   Ident      ǒ 6 A single punctuation character (`+`, `,`, `$`, etc.).9ǒ ǒ ǒ Punctǒ ǒ ǒ ǒ ǒ ǒ F A literal character (`'a'`), string (`"hello"`), number (`2.3`), etc.ْI  Literalautomatically_derivedallow unused_qualifications self inline      Literal   ԑԑ Groupԑԑԑԑԑԑԑ  ԑؑGroup    Ident          Ident     ͒ ͒  Punct͒͒͒͒ ͒͒͒  ͒ђPunct  Literal     ԑԑ ԑ ԑܟܟܟ ͒͒ ͒ ͒self__self_0ԑ__self_0 __self_0͒ __self_0+ A delimited token stream.E A `Group` internally contains a `TokenStream` which is surrounded byH `Delimiter`s.automatically_derivedallow unused_qualifications self inline    Ԕ Ԕ Ԕ self __self_0_0 6 Describes how a sequence of token trees is delimited.9ͫ  `( ... )` ͫ ͫ  `{ ... }`ޫ  `[ ... ]`  `Ø ... Ø`C An implicit delimiter, that may, for example, appear around tokensFC coming from a "macro variable" `$var`. It is important to preserveFF operator priorities in cases like `$var * 3` where `$var` is `1 + 2`.̭IH Implicit delimiters may not survive roundtrip of a token stream throughK a string.    automatically_derived   allow    unused_qualifications   self other   inline                                                                                             self other  __self_vi  __arg_1_vi  automatically_derivedallow unused_qualifications self inlinedoc hidden  selfautomatically_derivedallow unused_qualifications3selff  Ҙautomatically_derivedallow unused_qualifications self inline  selfautomatically_derivedallow unused_qualificationsHB 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.7 automatically_derivedallow unused_qualifications self inline                                                self __self_0_0 __self_0_1 __self_0_2  L Whether a `Punct` is followed immediately by another `Punct` or followed byO another token or whitespace. 1 E.g. `+` is `Alone` in `+ =`, `+ident` or `+()`.47 E.g. `+` is `Joint` in `+=` or `'` is `Joint` in `'#`.:A Additionally, single quote `'` can join with identifiers to formD lifetimes `'ident`.   automatically_derived   allow    unused_qualifications   self other   inline                        ܜ                                                                           self other  __self_vi  __arg_1_vi  automatically_derivedӈallowԈ unused_qualifications self inline݈docވ hidden   selfautomatically_derivedallow unused_qualifications3selff  Ҙautomatically_derivedallow unused_qualifications self inline   selfautomatically_derivedĉallowʼn unused_qualifications@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. > - 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/1.0/syn/parse/trait.Parse.htmlA # ExamplesJ 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 proc_macro2::{Ident, Span};# use quote::quote; fn main() {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): } ```automatically_derivedՉallow։ unused_qualifications self inline߉           ܟ   self __self_0_0 __self_0_1DK 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. automatically_derivedallow unused_qualifications self inline         ȉ     self __self_0_0 __self_0_1W/ 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.>automatically_derivedӎallowԎ unused_qualifications self inlineݎ               self __self_0_0 __self_0_1   ݵ ˓ tokenself ݵ      ch  ǒޔ   ܛ  ޔ  Compiler   ޔ1ܛ ծޔߔsߔsޔ   ܢ — —  ؗؗFallbackܢޗޗ  —ܢ Ӳ—ܢؗssؗ ߙ  >Kݟ>>>G>G>G??>Kݟ>  ݟ>K>>e>>K C EF   F FFF F FstreamFF G HI    III I ؼI  IiII   L ݟDDDLݟ LinnerLnuԈ[~]]@@B4GzLk6Ĕ(} ^@T62x-jECiRrb =a9^D~H{,`NV(k^fe2`RK*}.h<U)hXM3a 5w$d$+eg#<o+0lj4 T+_ J    ( `    9 ~   MqC}y2%%:^,,,-D-x---.O.../,/O////0a000&1Q112_222@3u3334R4445c55526v66 7U777768t8887999':s:::7;*;;?@[@@@ZGGGHLHHH=IBLMHM|MMM N[NNNOlOOOOPPPP2QQQSSJ;TTTVUUUU.VWXZ[\\D_``4amaaab=btbbbcEcwcd}f]g&hlj,kRmmn/noXpppp$qVqqqq9svss-thttt3vvwxyz`|w}}}1~o~1jo-ia,tԍvُ>;^Ӕ|,$i9WR*KmqX/4 )Or#4WSk    ; ^  2Qt7o :h  !!!B!h!"n&&&&&'+ ,+,Q,-a E~)b F*cG000<0]11^0122 7+7M7t7&8G;;;d;<<;[= >9BBBXByCCzBKDDEuFFGFGGFHEIM&N]NMN3OMOPTgUUU=VtV>UWWCAAAA3BoBBB#C_CCCDODDDE?E{EEE/FkFFFGB\]]^^aebbbZc-ddeFfKef.gleg=heh\ieijrrrsu vGvhvvvv wxxxy9~]~6;łz5/S!sUQӖݠ%֦G ͣSٮ_"]I5p 2nwڈ]__BBC5I|ĐNm8Ɣ) `AV74z/lG EkStd?c;`FJ}.bOW*m_gf4bTM,0j>W+jZO5c 7y&f&-gi$>q,2nl6 !V-a L    * b    ;    OrEz3%%;`,,,-F-z---.Q..././Q////0c000(1S112a222B3w333 4T4445e55546x66 7W777788v8889999):u:::9;+;;?@]@@@\GGGHNHHH?ICLMJM~MMM"N]NNNOmOOOO PRPP4QQQSSK=TTTXUUUU0VWXZ[\\F_``6aoaaab?bvbbb cGcycdf_g(hnj.kTmmn1noZpppp&qXqqqq;sxss/tjttt5vvwxyzb|y}}}3~q~3lq/kc.v֍xۏ@Ð=`Ք•~.&k;Y T,MosZ16*Qt%6YUm    < `  4Sv9q"<j  !"!C!j!"t&&&&&'+ ,,,S,-cG+dH,eI"000=0_11_03227,7N7v7(8L;;;e;<<;]=>>BBBYB{CC{BMDDEzFFGFGGFHGIM(N_NMN5OMOPUiUUU?VvV?UWWEAAAA5BqBBB%CaCCCDQDDDEAE}EEE1FmFFF!GH\]]^^bfbbb\c/ddeHfLef0gmeg?heh^ieijrrrsuvIvjvvvw"wxxxy;~_~8=ǂ71U#uWS ٖޠ¡+ئØI ϣUۮa$_K7r 4nz݈`bbEEF6LǐQp;ɔ* cBY87}2oJ#HnVueBd>cIM1ePX-p`hi7cWN-3mAX,m ]P8f:|)i).h j%At-5qo9%Z1eP    . f    ?    SsI{4%&<d,,,-J-~---.U... /2/U////0g000,1T11 2b222F3{333$4X4445f55556y66 7[7777<8z888:999*:y:::=;,;;?#@a@@@]GGGHOHHH@IDLMNMMMM&NaNNNOpOOOO#PSPP7QQRSSL@TTT[UUUU3VWXZ[\]I_``9araaa bBbybbb cJczcdf`g)hoj/kWmmn2no]pppp)q[qqqq>s{ss2tmttt6vvwxyze||}}}6~r~4mt2nd1wٍ!{ޏCƐ@cؔŕ/)n<]$X/ Prv]49-Tw(9\Xp !   = c  7Vy<t%?m  !%!F!m!"w&&&&&'+,/,V,-dH,eI-fJ%000A0b11c0722707R7z7,8O;;;i;<<;a=>ABBB]B~CCBQDEE}FFGFGGFHKIM+NbNMO8ONOPUlUU!UBVyVCUWWFAAAA6BrBBB&CbCCCDRDDDEBE~EEE2FnFFF"GI\]]^^bibbb_c2ddeIfOef1gpeg@heh_ieijrrrsuvJvkvvvw#wxxxy>~b~;@ʂÄ84X&xZV#ږš,ۦĘJ УVܮb%`L8s893Vy hKK<4d6U qΖgښH>bڼT/ؾ:`LY 8jEp"JPy T8[|#w_ -^&3@c7^2c'SV!O00_05o'pG{+x a7ZWzm   # l    E h   Z>% &Y,,,-?----.\.../8/[////!0n000!1[112i222M3p333*4M4445m555<6667b7777C8o888A9991::::2;;?*@V@@@dGGGHVHHHGILMTMwMMMNhNNN OuOOOO)PPQ-QQQST6TTT`UUUU8VW XZ"[\]?_``>ahaaab8b~bbbcPcdCfgg:jjmMmmmn"pSppppqaqqqqEsqss(tsttulvxwxyz*|[|}}~,~09j8d݄ 7]ߍԏI̐Fiޔ ̕~^GT\0d#O#R*_%2xh*/ 3Jm/RGf I  % C Y | LodDjM5VcF   !+!L!c!F"c&&&&&'+,5,L,/-jN2kO3lP00G0j1i0,23767X7o7T8A;;o;<;V=;>3BBcBCBFD+EEoFFFGFHwIM3NM ONOPTtU'UJVIU WWNAAAB>BzBBB.CjCCCDZDDDEJEEEE:FvFFF*G8\]]^^anbbbc(ddfUegvehe2ieijrrrsu)vvvxxxy4~X~16*oɄԅ *NSaȖƠѦŧS٠_"k.,gS?z-#nX!fg hKKLR͐WvǓAϔ 0Ř$i_=8uP)Nt\zkIjE"iPT8l4wno >i$^T39tH^2t'dV>lA0p!05o'p%G{3<xt,a7lW    5 l    E    "ZP % &k,,,-Q----!.\.../8/[////!0n00031[112i222M3333*4_444#5m555<6667b7778C8889A9991::::D;;?*@h@@@dGGGHVHHHGIL!MTMMMM-NhNNN#OuOOOO)PXPPawaaabHb~bbbcPccdfeg.h tj5k ]mmn9nocpppp/qaqqqqEsss9tsttuGBBcBCBWD EEFFFGFHRIM1NMONOP UrU'UHVIUWWNAAAB>BzBBB.CjCCCDZDDDEJEEEE:FvFFF*GN\]]%^^ bnbbbec8ddeUefvegehejjrrrsuvqvv)wxyyE~i~&BGтɄ>;_-‘a]*@Ơ̡2 ˘  Q  ף  ]    i , g    S    ? z  ?ve fg<  ZINl4>$tHtdAp#%<M,l 5    "P%k,,Q--!..//03133_4#57889:D;?h@@#!MM-NNYOOQST,UUUWZ\^`awaaHbbb mncpp/qq ss9t A}}=~u(0$tdx3Z?  i  \bW"P !}&'+,+00h1278U;;<=GBBCD\FFFGIM1NOfP UrUHVW]^Tb5cd6efgh0ijr~su)vvvxxyE~~̀ҁ\l|;M&+~mګʬ!fċnQQ%LR͐WvǓAϔ 0Ř$i_=8uP)Nt:\QpK(#VZP>n6}noB&d,9FvV!d8v-n \>lC6r6;u-v")M3>~?4g=t]    7 r    K    $`R %&m,,,-S----#.b.../>/a////'0t000A1a112o223S333304a44435s555B6667h7778I888 9G9997:::;F;;?0@j@@'AjGGGH\HHHMIL#MZMMMM/NnNNN]OzOOOO.PPQQQSS TQTT.UeUUUU=VW%XZ'[\ ]``` aCayaaabJbbbbcUcdHfgg?jj mmmnn(pepppq1qgqqq sKsstKtyttvrv~wxyz0|C}}}~G~6?>w&=c* OҐ L2ocҕdMZb6v))f 0e8~x59Z?M O  + I i \jJdWS"\ PL  !1!R!!L"&&&&''+,;,,5-pT8qU9rV/000M0p11o0237<7^78Z8Y;;;u;<<;=A>KBBBiBCCBD1E\FFF!GFGGF!I~IM9NhNMO>ONhPPUzUU-UPVVOUWXTAAABDBBBB4CpCCC$D`DDDEPEEEF@F|FFF0G]]^^_Xbsbb7ccd>e"fOf[e g7g|ehFhe8ieiejjrrssu/vPvvvvwxxxyzE~~πԁ1\rτ~ۅ;ZO(h-̠o̧Yߠe(q42mY Eޫ̬*zʌ]]Vѐ[zȑ˓EӔ@#ɘ(/(rgE<yT-Rx>#uP-[_Ci1>K &i=2aAq?;@z2{,D D lB!b 0  w  P   i&,---g../,0y01f112t223X335444x556G6667m77N88L999<::;;5@@oGGG$HaHHHVIL_MMsNNO3PP QQTbTjUUFV.X0[]`HaabbcZcdMfggDjj%mmn-ppqlqqPst~ttvwvwxyz5|} ~;DC+BhTאVtוiR_g;..jFRT oOXaQ Q"':-u Y=v!Z>w"[00u113_8;;<<F>BBCC6EF&GGGI>NmNOCOPUUUVV XYAAA BIBBBB9CuCCC)DeDDDEUEEE FEFFFF5G_c'fTfgR+0rϬbO &,20!7NBFMU][bAeru1Ҍpƍr׎ӏ&\(yՓcݔӘ 2oM FԽ!vʾ2X~D*|\6elM')v8K U)0sO?n Gw"PEIB9N$vL+l    Z  s$&,+--.t../<00 1m11.2223b33?44555 6Q66607y77[88Y999N::;;B@@xGGG,HkHH IcIMiMNNNdOO=PPQQ#TTtUUXV:X:[]`Uaa%bb&cdcdTf/ghNjk9mmn?ppqvqq]stttvvwxyzG|}~EÂVPɄ5OČzkhr[iyP;>t]'!c^  Zb j![  ["&',D-~)b F*cG+d400011&3#7i8\;;<<<P>PBBBCC@EFG0GGHIMHNwNOMOPUUU_VVXbAAABRBBBCBC~CCC2DnDDD"E^EEEFNFFFG>G]_]bcCe1f^fgFg(hUhGitijrsuz!@wvzۧg*s6B@{,gS9+ˆqы2ӌqǍs؎(lӏ&\(yבՓcݔO+Ә 270pN úFԽ!vʾ2X~D*T|\6 &e'laM}(E*xG1v8K U)[0sO?sn Gw"RQ} EIB:4PMIN$9vLy+l D   F     Z   3ta( %%&x,,,+-b---...t...$/A/f////<000 1D1m11.2223b3334?4l4458555 6Q66607y777 8[8889Y999N:::;U;;?B@u@@,AxGGG,HkHH IdIM2MiMMMN:NNNNdO}OOOO=PPQQQSS#ToTT=UtUUU VYVW;XZ;[\]k``aUa|aaa%bUbbbb&cdcdTf/ghNjk9mmmnn?pvpppq@qvqqqs]sstNtttvvwxyzG|N}}}~J~EÂV PɄ5OČz9ki=fr[iy P;>q3t^K2!'!<e Jc ^  - K t gZobb -j ![ [  !4!U!"["&&&&'',,>,,D-~)b F*cG+d4000P011r02&3#7?7a7 8i8\;;<z;<<;=P>PBBBlBCCBD@EgFFG0GFGHF,IIMHNwNMOMONsPPUUU0U_VVRUWXbAAABRBBBCBC~CCC2DnDDD"E^EEEFNFFFG>G]]^^_]bvbbBccdCe1f^f^egFge(hUheGitiejjrrssu2vSvvvv wxxxyzP~ڀ!߁@gw҄ FvZ3z8Ϡæzۧg*s6B@{,gS׬91ʈw@+Ս+0ߏ2b4o&̖ ߘ>gR-־$8^J 3ZkE/t-{gV@KH~(M7AZ^5a?^Ny*}M}.X`NRQX:Y&O(W-?U4u   L    % c    9g'%C&~,,,:-h--- .4....*/J/o////K0001J1v11=222*3k333 4H4r445>5556`666?77778j8889h99:]:::%;j;;@Q@{@@2AGGG5HzHHII M8MrMMMN@NNNOjOOOOPFPP(QQQSS1TTTCU}UUUVvVWXX[S[\7]q``acaaaa3b[bbbb/cmcd]f=ghWj kHmmmnnNp|pppqFqqqqslss#tTtttvvwxyzV|T}}}'~P~T҂e_؄> ^ӌ NzCl{dx'_JMw<}#m^E *6'EkPr m  6 T z miuh q3y0a j  !=!^!"j"&&&&'',&,G,,S-2kO3lP4m:000Y011{0253)7H7j78x8b;; <;<<;=_>VBBBuBCCBDOEmFF G9GFGHF2IIMQNNM'OVONyPPUUU9UhVV[UW%XkAAAB[BBBCKCCCC;DwDDD+EgEEEFWFFF GGG]]^^_cbbbHccdIe:fgfge"gOge1h^hePi}iej krrssv;v\vvvvwxxxy-zV~1Pm}ۄ)%L`9>Ɩؠ̦p3|?ŮKI5p!\(ݬI&zYUѝ&r" he\2l |Gc&;IøVXp[T]>r;wr nv~5o o"'X-01:3}8<<d>CCTE>GHIN[OPUV*X#_clfTgchikt2zUNUTfٚ5aټ{"^^p l =1%X,?LWZ\>_~ӏؼ-g).5e  K b&+0U1+26@;<U=2BqCEDEGHMNOT5V W7\a'dfghiru3~0 M)=Ut"<Px  4H\p$8L`w9Zt2Ts ? [  < P o  7 M r % @ Z y  " 6 J ^ r ;Zx !5I]q+G[uJ^x#<Pi}&=Qp*L`z/Cb0I|=[o3Qt0G_s3W{,CWp*?Ti~&;Pn6Ti5Y|  - F [ u !+!@!_!v!!!!!!""3"H"d"{""""""##6#K#d#y######$-$G$f${$$$$$ %)%E%_%%%%%%%&C&X&q&&&&&'#'G'\'v''''''((7(U(y((((((()-)F)l)))))*-*N*h****** +"+;+Y+n+++++++,,-,A,U,i,},,,,,,-"-<-]-v------.%.9.S.g....... /&/=/R/f///////0(0<0U0i000000011@1_1111112(2A2U2o22222223+3E3Y3r3333334&4B4\4{4444445'5@5]5z555555 6 6:6S6q66666677,7@7a7u77777788-8W8888889<9^9z99999:&:::S:q::::::;;+;@;U;j;;;;;;;< <5<O<m<<<<<<==1=I=a=u======>1>E>]>}>>>>>>?+?J?d?x??????@)@D@c@}@@@@@AA2AJA^AwAAAAAAA,B@BTBlBBBBBBCC2CMCgCCCCCCCD2DFDaDDDDD E/EPErEEEEEFAFdFFFFFG>GbGGGGGH4HIH`H~HHHHHII:IOIjIIIIII J!J6JQJkJJJJJJJK/KDK_K}KKKKKKL#L>L\LqLLLLLLMM=MRMiMMMMMMN&NHNjNNNNNO8O[OOOOO P.PRPwPPPPQ,QQQwQQQQQQR2RORcR~RRRRRRS'S>SYSnSSSSSSST2TFTaTTTTTTUU1UFUZUnUUUUUU V V;VOViVVVVVVWW3WNWcWwWWWWWWX)X=XXXlXXXXXX Y$YAYUYpYYYYYZ>Z_ZZZZZ [/[S[w[[[[ \-\Q\u\\\\\]+]F]Z]n]]]]]]]]^"^6^J^^^r^^^^^^^^_&_:_N_b_v_______``*`>`R`f`z```````aa.aBaVaja~aaaaaaa bb2bFbZbnbbbbbbbbc'c*X*v******+++I+^+w+++++++ ,,1,E,Y,m,,,,,,,-,-M-f------..).C.W.q......./-/B/V/u///////0,0E0Y0s0000000101O1o111112212E2_2}2222223353I3b3v333333424L4k4444445505M5j55555556*6C6a6{6666667707Q7e7~77777788G8s888889,9N9j999999:*:C:a:v::::::;;0;E;Z;o;;;;;;;<%<?<]<|<<<<<< =!=9=Q=e=}=====>!>5>M>m>>>>>>??:?T?h?|?????@@4@S@m@@@@@@ A"A:ANAgA{AAAAAAB0BDB\BpBBBBBBC"C=CWCpCCCCCCD"D6DQDrDDDDDE@EbEEEEEF1FTFxFFFF G.GRGvGGGGH$H9HPHnHHHHHHI*I?IZI}IIIIIIJ&JAJ[JyJJJJJJKK4KOKmKKKKKKKL.LLLaLxLLLLLLM-MBMYMwMMMMMMN8NZN}NNNNO(OKOoOOOOOPBPgPPPPPQAQgQQQQQQR"R?RSRnRRRRRRSS.SIS^SuSSSSSST"T6TQToTTTTTTU!U6UJU^UvUUUUUUV+V?VYVqVVVVVVW#W>WSWgW{WWWWWXX-XHX\XvXXXXXXY1YEY`YYYYY Z.ZOZqZZZZZ[C[g[[[[[\A\e\\\\\]]6]J]^]r]]]]]]]]^&^:^N^b^v^^^^^^^__*_>_R_f_z_______``.`B`V`j`~``````` aa2aFaZanaaaaaaaab"b6bJb^brbbbbbbbcc,cAcVckccccccccd(d=dRdgd|ddddddde$e9eNecexeeeeeee f f5fJf_ftfffffffgg1gFg[gpggggggghh-hBhWhlhܛ& ܛ)ܛ ܛ  ܛ66666%77% l'&Τ,1Τ Τ ))  ?  1Τ1Τ1Τ111111ܢܢ      ܛ Τ ܛ           Τ       33 3Ʀ3333 3 3333ܟ3 3 33 3 3333 3Τ3 3 33 3333 3 33 322ܢ        ܛ           '  ܛ      5#&@ܛĥО̖ ܛܢ)%7 $  '    )%7          ĥUܛ #שU       ܛ      ܛ                     ܛ          ܛ                                           Τ     Τ      Τ              Τ              Τ    Τ     Τ      B7DΤD DDDD EEEܛEܢDAAACCCCBC BΤ&&(*** )ܛ))**)    * * )  *)*** ܛ)***)ܢ)ܛ)))))))))ܛ))))))ܛ))))))*  )))'ܛ   ""###   #   ""  ܛ      ܛ00HHHHHHHHHHHH>?>>>>>>Τ>>Τ>>>>>>>>Τ?>66======777Τ777766 666665 ,6,6,#,#,īĺ,,, , ,  ,,, ,ī˸,,@ ,D,',,,Τ,ܛ,,īО,,,),,О, , ,, ,,ī,,ī,ī,,,,,,,,,,,,,/././/ܛ/ܢ//ܛ/ݟ / Ł Ł ʄ/ݟ /ʄ /ܛ/Ł222ݟŁОܢ̖ שܛܛܛC %###########%%$$$##############################&&%%%%rrpp((((( (((((((($$$%%%%'$$$$---- ----- ---߁&$+++,ܛ,Τ,,,60ʄ0О0ĥשО0ʄ0ĥО0Ł0000ĥО00ĥΤО0 ݟ00О000О00ĥО0Ł0ݟ00О0ĥО0ݚ0ʄ0Ł0؛О0ܛ0ĥΤО0ܢ0ש0īО066%%%%@@(%%''$-ܛ&&%-ܛ,ܛΤҦڃڃΤڃڃ5ۃۃ1Τ1Τ'ܛC  ܛ  7C $"" ""cratecorezzcoreY++coreW%%coreNcore$cratecorecorecorecorecoreucrate$crateX,,coreV&&corecrate$crate3cratecorecorecore$crate||core$crate$crate`--coreU''coreR!!corecrate$crate4cratecorecorecore$crate}}coreb44core_..core\((coreS""corecrateQcorecorecorecore$cratecore~~coree;;corec55core^//core[))corecratePcore$cratecorecore'crate<crateyycore]00coreZ**corecorecrateOcorecorecorecore(crate PartialEq0 7?core_intrinsicsstructural_match  PartialEq. 7?core_intrinsicsstructural_match Clone+6;core_intrinsicsderive_clone_copy Clone$6;core_intrinsicsderive_clone_copy Clone6;core_intrinsicsderive_clone_copy bClone6;core_intrinsicsderive_clone_copy Eq78core_intrinsics derive_eqstructural_match \suffixed_numbers PartialEq  7?core_intrinsicsstructural_match VEq78core_intrinsics derive_eqstructural_match Pnext_chQClone96;core_intrinsicsderive_clone_copy Clone16;core_intrinsicsderive_clone_copy Clone/6;core_intrinsicsderive_clone_copy Clone-6;core_intrinsicsderive_clone_copy Clone6;core_intrinsicsderive_clone_copy cClone6;core_intrinsicsderive_clone_copy Clone6;core_intrinsicsderive_clone_copy ]unsuffixed_numbersEq 78core_intrinsics derive_eqstructural_match W PartialEq 7?core_intrinsicsstructural_match QClone26;core_intrinsicsderive_clone_copy suffixed_int_literalsΉ3Copy.=:core_intrinsicsderive_clone_copyCopy0=:core_intrinsicsderive_clone_copyClone&6;core_intrinsicsderive_clone_copy suffixed_numbers'Clone ߬6;core_intrinsicsderive_clone_copy Copy=:core_intrinsicsderive_clone_copy^Clone6;core_intrinsicsderive_clone_copy XClone 6;core_intrinsicsderive_clone_copy R next_chQunsuffixed_int_literals4Clone06;core_intrinsicsderive_clone_copy Clone.6;core_intrinsicsderive_clone_copy Clone)26;core_intrinsicsderive_clone_copy Clone6;core_intrinsicsderive_clone_copy eCopy!=:core_intrinsicsderive_clone_copy PartialEq 7?core_intrinsicsstructural_match _Copy=:core_intrinsicsderive_clone_copyYunsuffixed_integers(Debug xCcore_intrinsics3S next_ch4QDebug0xCcore_intrinsics3Debug.xCcore_intrinsics3Copy*d=:core_intrinsicsderive_clone_copyClone!6;core_intrinsicsderive_clone_copy Eq78core_intrinsics derive_eqstructural_match `DebugxCcore_intrinsics3ZCopy=:core_intrinsicsderive_clone_copyNnext_ch:QEq078core_intrinsics derive_eqstructural_match Eq.78core_intrinsics derive_eqstructural_match Clone*d6;core_intrinsicsderive_clone_copy Clone#6;core_intrinsicsderive_clone_copy  PartialEq 7?core_intrinsicsstructural_match [Clone 6;core_intrinsicsderive_clone_copy UClone6;core_intrinsicsderive_clone_copy Onext_ch:Qderivez derivegderiveY#derive@1deriveLderive.derive+derive9 derivedderiveW9deriveKderive0derive3 derive+-deriveG deriveY$deriveV!deriveuderived>*derive?derive^deriveH/derivederiveD2derive_&derive2L)m5a*VtK@5W)I,;x-j\OxA c9&!#%U'&!'N&$('&'Q&'%'&o'Y(B!s('&;'h& ('4&?()&P#}%@6!8%P #$x "{Oq w"$53"P$ rO!$ !#H}7]!~!d #$i!X/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.32/src/lib.rsW|p+v` ko O-:PMJQJME?JKPJ*. J(# R;1" .HNUIN'IKLO? ;POHOIPD>M;( &$ #(% P0 &!PI,BF16 B! B"3/%67Q JFKE>3 !5=(5='(9)J$+LE;/J91LJJKP;%5;#!&;#;%';!9 !. *ONE ( 4! DLLQ!+MNJ3",;A%= *O<58P547;PDDO6.10>A%=.3GKOMKHC?(C$EKOMKHC?&A$;GEMAf654A%=-$6;#P9>NJ3!---/ 3QN/-5557 !%!%!%#'HIP;7779 :;O>5%9C'8  9* % -J51)& 3$/2<8Z"  3:38#*4=72e  003((#" .'!9 .%?? )'*//(F  # 4), + ;.1!)!J(   ,' "'-'"1"%"*" % 2#, + 9," (" (" /#(4#4#)(  ,)19 ,%+ )0<6#% /$5 ;A/ (70% ! C<:;=N9B"&;)00)&$ ; N01 @&9H= -ʛﲎˋН^/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.32/src/detection.rs9QCyDSܔJܔ#01!,) !&#!0;LKL3<?2G2=H+KEHMIKK7&AN8, J72$/M̯ؔı鵓ʷ]/home/seth/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.32/src/fallback.rsc,4RIMLK8[",&!P3(N* &(% "*%121=70(C-$5620(C-$3:Y) S$DD8Q +3&8$&=<#: %6&B, %>:&$;=;7"!==*<(? ;&65=:5=:'.-!/I-1L $+ !)IE+L::$#.& 6$$8;%)/-EM'-.) %@( 52&!%6 0;A'3 &8 N/  ! !> ;=$Y* $ E% +*!&'-7  ;32-.) (Q =33-? < $ 4)8(!-0"73"":"GFA((+$ ( 5*7&$> ; #) ;00! ;17? -,H "-,) 2% !!!#!#/# /# (;K/ +&G+ 2-4222223?A !-N =.C3 'C21$ #;$=5!?(4 ?NR:;]@ 5=?5=GP 3;% DB"/>>K> BD'/!_0 /H!G<-873<-( )I,?&@> +L,$S,Q ;[> (8? /3-1;77 ;%9*4&79  2'$#*,MT ".!;A `23BB?J^d 4== ;1 &$5!6$11 $44 ;99 8  !!:8 "!;9  !97 5XP!=X 4WP!=W .$d .GH <($#I,)D#G, <&$#G,)D#E, 6($RR -?? 2$- .:5%-;33 Y% Q! E,2RJFD\/I +8NFB@1 *_E !<< &$A)< +!A? 2!GE !BB -LL M$N)-N 5'0 +/9!%4,1*63O/A?+>+ ;88 ;66 Ţ幗ʤ proc_macro2x86_64-unknown-linux-gnu-4a51a5cb4a3b3b3eѐB)>f&޺v;x]5Ő 7757