rust ç˜#rustc 1.98.1 (48a229cea 2026-09-01)ÁûÊÆÍRLñ.åSÛAúwjL-df1bddb45adbe94bÁstable_deref_traitÁΨ±—»íu:ˆÂº’¹­ È-64f30039b2c2300dÁ±ò‰<å%Z‰>¸64‡ËV`-2d2ab9fb0fe1def5Á yoke_deriveÁ»>•¹Ï~A¾{/Tý÷˜ -8eebb48bf43fffc9ÁzerofromÁÕfø‹6“×1Y£Èω9-9a0f59f293ad4c01Ázerofrom_deriveÁ~9 ó‘®‚7E‰ –j‘-9d1d867a982232d3ÁŠ«,ÌÓ«Œ«BoxÁÄÓ«ŒžÉòÓ«ŒÏK¡Ó«Œüa$ÃÍ$¬testsÁ, aÍ$•aerasedÁ4œÓ«Œ€€ ErasedArcCartÁlßÓ«Œ·€ ErasedBoxCartÁlîÓ«$&€ ErasedRcCartÁdýÓ«EG€øŒÓ«Œæ€ÉºÓ«Œ—€KéÓ«ŒÄ×p›Ó«Œó×ToOwnedÁ< Ó« û cartable_ptrÁ sentinel_forÁ�SENTINELÁprivateÁ SealedÁCartablePointerLikeÁRawÁinto_rawÁdrop_rawÁCloneableCartablePointerLikeÁ addref_rawÁ'aÁ�Ô�ôþ�Ô�¿!ÿ!¾ ! from_cartableÁ!is_noneÁ&ÿ&õ)ÿ)Ž,ÿ.ÿ0ÿeitherÁ22226C0Á6C1Á6�6ë6Ã;2=º =à =�2Aº Aà kinda_sorta_danglingÁDDDDDDDKindaSortaDanglingÁK�KdangleÁDN�N˜ N into_innerÁDR�RëRÃDV�VÅDY�Yõ macro_implsÁ\\\\\copy_yoke_implÁ\impl_copy_typeÁ\unsafe_complex_yoke_implÁ\dÔd�d'bÁd´\iÔiT1ÁiÍ iT2ÁiÍ i´\pÔp�pÍ pŠp p´v utilsÁxxtransform_mut_yokeableÁzÔz•z‚zŽzÍ yokeÁ€€€€€€€€€€ € €YokeÁŒ•ŒÔŒÿŒyokeableÁŒcartÁ€’•’Ô’ÿ’Ô’ñ€˜•˜ÿ˜Ô˜Ô˜ñ€ž•žÿžÔžÔž•€¤•¤ÿ¤Ô¤Ô€©•©ÿ©Ô©Ô©¤ €¯•¯ÿ¯Ô¯Ô¯–€µ•µÔµÿµattach_to_cartÁ¹‚¹'deÁµtry_attach_to_cartÁ¼�¼‚¼Òµattach_to_cart_badlyÁÀÒµtry_attach_to_cart_badlyÁÂ�ÂҀŕÅÔÅÿÅgetÁÉÔÅ backing_cartÁÅinto_backing_cartÁÅ replace_cartÁÍC2ÁÍimpl FnOnce(C) -> C2ÁÅwith_mutÁÐÔЂÐÍ Åwith_mut_returnÁÔÔÔ‚ÔŽÔÍ Åwrap_cart_in_optionÁ€Ú•ÚÔÚnew_always_ownedÁÚ into_yokeableÁ€ ß•ßÔßÿß new_ownedÁßtry_into_yokeableÁ€ å•åÔåÿå convert_cart_into_option_pointerÁ€ ê•êÔêÿêä€ CloneableCartÁ€ ð�€ òÔò�€€ö•öÔöÿöÔöŽ€ü•üÔüÿü map_projectÁ€Œ€‚€Ô€Ôümap_project_clonedÁ…'thisÁ…Œ…‚…Ô…Ôütry_map_projectÁ‹Œ‹‚‹�‹Ô‹Ôütry_map_project_clonedÁ‘º‘Œ‘‚‘�‘Ô‘Ôü!map_project_with_explicit_captureÁ˜Œ˜�˜Ô˜Ôü(map_project_cloned_with_explicit_captureÁ�º�Œ���Ô�Ôü%try_map_project_with_explicit_captureÁ£Œ£�£�£Ô£Ôü,try_map_project_cloned_with_explicit_captureÁ©º©Œ©�©�©Ô©Ô€°•°Ô°ÿ° map_with_cartÁ´Œ´‚´Ô´Ô°map_with_cart_clonedÁ¹º¹Œ¹‚¹Ô¹Ô°try_map_with_cartÁ¿Œ¿‚¿�¿Ô¿Ô°try_map_with_cart_clonedÁźŌłÅ�ÅÔÅԀ̕ÌÔÌÿÌwrap_cart_in_either_aÁÐþÌwrap_cart_in_either_bÁÒý€€€õ××YokeableÁÙÔÙ´Ù transformÁÙtransform_ownedÁÙmakeÁÙ transform_mutÁß‚ßÍ ×âÔâ�â´â� â® âÅ âÑ é‚éÍ ×ìÔì�ì´ì� ì® ìÅ ìÑ ó‚óÍ  zero_fromÁööööööü•üÿüÔüÔüattach_to_zero_copy_cartÁ� CartableOptionPointerÁ‰ÿ‰innerÁ‰ _cartableÁ �ÿ�ñ2 EitherCartÁ�º �à �ý“ “ó�þ– –ó2™º ™à ™Ž2�º �à 2 º  à  •2¤º ¤à ¤Ý2¨º ¨à ¨ñ\¬Ô¬´¬� ¬® ¬Å ¬Ñ ²‚²Í \µÔµ´µ� µ® µÅ µÑ »‚»Í \¾Ô¾´¾� ¾® ¾Å ¾Ñ Ä‚ÄÍ \ÇÔÇ´Ç� Ç® ÇÅ ÇÑ Í‚ÍÍ \ÐÔдÐ� Ю ÐÅ ÐÑ Ö‚ÖÍ \ÙÔÙ´Ù� Ù® ÙÅ ÙÑ ß‚ßÍ \ âÔâ´â� â® âÅ âÑ è‚èÍ \ ëÔë´ë� ë® ëÅ ëÑ ñ‚ñÍ \ ôÔô´ô� ô® ôÅ ôÑ ú‚úÍ \ ýÔý´ý� ý® ýÅ ýÑ ƒ‚ƒÍ \ †Ô†´†� †® †Å †Ñ Œ‚ŒÍ \�Ô�´�� �® �Å �Ñ •‚•Í \˜Ô˜´˜� ˜® ˜Å ˜Ñ ž‚žÍ \¡Ô¡´¡� ¡® ¡Å ¡Ñ §‚§Í \ªÔª´ª� ª® ªÅ ªÑ °‚°Í d� d® dÅ dÑ ¶‚¶Í i� i® iÅ iÑ ¼‚¼Í p� p® pÅ pÑ Â‚ÂÍ �8�8�8%8(8+8œ8£8£8§8«8«8«8;8U8X8[8¯8¸8Á8Ê8Ó8Ü8å8î8÷8€8‰8’8›8¤8­8—8—8—8�8�8�8£8£8®8®8´8´8Ë8û8 ïÙ  Ô��2�2Ÿg‰‰š#‹¿#ŒÌ#«“¢úŒ¹(Õÿ€#§2…§2ï§2ýƧ2ÿ §2…�“”ý•ó–—þ˜óšó¤œJĪº à �ÇŸ3÷±Ÿ3Ÿ3ÌŸ3ŸgŸ3Ü"Ÿ3Ÿ3ïŸ3Ü"KKà Mã Dõ6 úÞÆà�é"Ä4€#Ä4ÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙÔÙřǙș­É™Ê™àË™óG*¤�R{9 ‡2ÔÙè ø ÔÙ‡2ŠÔŸgŒŒÑ�õ€‘…€Xö¢Ñ´ •ÿ¤g‚8÷±‚8‚8Ì‚8¯²‚8‚8í‚8ïřǙș­É™Ê™àË™óG*¤�R{9 î4ï�2ï�5…‚8Ù ‡2ÔÙ„!„!…! PhantomDataÁo$z�é -‡2Ô   �‰¨�’Œ&‰YK)‰™�öŒ,‰A�ðÅ™ò õ .‰0‰�� �žŒ¤�¤Œ6�RK=�VK¬ µ¾ÇÐÙâëôý†�˜¡ªdÅ™i pâ ì„!˜Œ©Œ¯Œ ›Ÿg€#… ïýÆÿ �Ç÷±ÌÜ" é"Ù¤gc¯²íDÐ    Ÿ5,üÐ  î4ü¹ 7´¹  Ãî41$ô ü‘ ã®®«°¿ ”3¯f*²Û�î4T© ˆ>– Ÿ5¬Ð ×=àÙ=çfŸ>ª\à $å  « ‡2®®«°¿ ”3¯f*²Û�‡2$à 4å ñ ü¶ ;à?TË Ú?$  ,Ô?¦í!ü„!i�5¬!à?D—!_pointerÁ5ˆ$ ü�#k�5Ç#à?D²#ª@ -(ÝI  °’L ­B®®«°¿ ”3¯f*²Û�ß2\ ŸgÈ®L  ­B „!„!…!—9o$z�é -ß2M  Y œCùþ Ûg ™ž4âI�N ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw�5ĤĤŤErrorÁ Ñâó:½ÖàM× §2â €g€gŠ‚gê ûcƒgbufÁûcØ«q¢1È¡)­B1­B!œC) ×B4­BÆœCÎ  ÍCÜþFä|œŠ•áFœC‰üFœCŸD¯ĤN´¤N …CüŠNa ‰ß2ÍCñN#üãMާ2$ûM×BnçG~œŒPD•P ß2DŒPT•P1 ñ]ÄÁP´ÁPçG9 ù]‰ ð] A ‘]áFI ›]áF¹ ¾]  ù±×B×BI ¾]Q Ë] 3: ù ÷!] ±šá Û] Å™‰¥‰¥ ArgumentsÁ‹¥templateÁûcŒ¥Çûcg‡@#éó ù ›]]ù › ] Ê[×B×B ! ¼]Q Â]Y Î] § EüäPG ‰ß2#ÍC±Q$üÅOìü€P±ù �‰]ù ìŸ] §2$ñOß2DáO×B,„PáFáF×áFáF÷×BáFãáF×È±š²š³š~´šµšNeÁ¶š·šMatchÁ¨±vXç]! ð]ařǙș­É™Ê™àË™óG*¤�R{9 ýJcartableÁ¿# left_valÁÖ right_valÁצ­ ŒñH†çGP˜JëçK(T¤S×BIJS´²SçGü¤S&˜JSC ÐS%üüRT$•S÷E,‹SáF–áFˆ×B� @çG«˜J…TÛT×BòTÄùT´ùTçGüòT ú±×B×BXM*1ĈW´ˆWçGüûV%×B„ýW\ýW ß2‰X$ŸX(ü´TëüÑTÎ�5ÆT §2L¼T×BÕTæáF(áF ×B(×BÃ9í =sçGW²R2çGö©SÈT¹Y×BÐYÄ×Y´×YçGüÐY²RNC '”ß[lß[ ß2í[$T \×Bü†\S ‰ß25ÍCß\+ü�YÒü¯Y° §2$ Y÷E,–Y×B³Y�5üÍY°èáF*áF"×B*×B¦Dí H{çGY²R4‚V( Ñ # Ëþí3! †í32: Àýç3! †ç32:¨ �ç3í3 Õ Ï �ç3í3' Ö œ Ÿ3! Ÿ3,Ï64 ç3Öç3Ý í3&í3.b__self_0ÁïYZ�ÑXm�Y4 H Ø *9 I§ZY f wŒ–�§Z­ºÉ§ZÙæ ˧Zþí3*§Z:þí3Q]kp ù±ËZËZ…Š’ À§Z ýç3*§Z: ýç3Q  ]  kp ù±ºZºZ … Š’ á £7=DKR^§Zf§ZnÏ6vÏ6~…§Z§Z‘Ï6™Ï6¡Ï6©ºZ%ºZ- ºZ8è`@ËZßËZç ËZò‹aú§Z÷§Zÿ§Z§Z§Z§Z§Z'1î ? __self_discrÁY __arg1_discrÁqïYñ __arg1_0Á ïY¨±a´²”^Ç«_6 å § ã �5§Z!*4( ç # Ëþí3D L­B- 9  œCuz çg‹ � k� Àýç3¼Ä­B-9œCíòÏdþg ì «+18 òDE§ZM‚FUÏ6]ºZíBlœCÒè`ÙËZX­BŠœCh‹ap¤œ²ïYïY¢Õ‹aœC·Ïdçè`œCMÏdõ$§T¡$ Ûþí3Lá,ã Þ"í3 á<ã ¼ýç3LÂ,Ä Þ"ç3 Â<Ä+ ʉ éü¡Tû;ü敌ºŒÙ �ù§Z,ïôiXÏ6$ººZÞôiÊËZ2ôi9— ˜]‰¤hTêhÄœ„œ ýî44­%üóL Kî4ÅPü¾‡Ä4$äî44Öý­ý­ MaybeUninitÁÿ­uninitÁ瀮�çÙW£Ÿì·œî4Åã b„�kâì×Ý   �k) ³  Kî4 ¾ PÄ4î4ñk�î4zã 3V¼ÚŒÚ ÆÄ4$ì%4ºlº Þ"ï­ï­ ManuallyDropÁñ­�¶„Ÿ~ Á$Ä4e]bñküº „È „î4�”ÈâQüØŠüÍ•î4 úÄ4$ñ…o4Ñ ñkè Ä4ò …o 3manualÁ=pÈndÿn0÷oÁ\€ñkì€|Œ †î4/ŒŒ¥UüÀå î4Óßp,ÉÕpt7×q{\ÁñkìÁ|Í ‡î40ŒÍæXüñõ î44Œ Ä4Lþ ñk{=ór�\§ ñkħ T³  ‚î40d³ ü§ (lÀ  �î4F|À à [ü®²�5À¸sL¶�5]ˆ>�Äs¬ B•t²ÁtŒ ý‹¯øÊA �5háøu(× 2ë°ø¦E�5`Â�5 ¹ V�55ͱø†G�5 ¬�5 •thisÁ³�5:8ó ó Ž#‚ �5;C„²øèœ�5��x`ü‡xŠ�xŠœ N�x³ ý‹¸øÊAÙ=háÙ=(× / Ýë¹ø¦EŸ5`Ÿ5 ¹ / ¿Íºø†GŸ5 ¬Ÿ5 •½v 08ó ó Ž#‡x Ÿ58@„»øèœ�5�î{`ü‡xŠì{‡œ Nã{° ý‹ÁøÊA ¯5há®}(× 2 ÝëÂø¦E¯5`¯5 ¹ / ¿ÍÃø†G¯5 ¬¯5 •½v 08ó ó Ž#‡x ¯58@„Äøèœ�5�Ð`ü‡xŠÎ‡œ NŰ ý‹ÊøÊA ¿5há��(× 3 ÝëËø¦E¿5`¿5 ¹ / ¿ÍÌø†G¿5 ¬¿5 •½v 08ó ó Ž#‡x ¿58@„Íøèœ�5�³ƒ`ü‡xбƒ‰œ!P¨ƒ³ ý‹ÓøÊA Ï5háö„(× 3 ÝëÔø¦EÏ5`ÂÏ5 ¹ / ¿ÍÕø†GÏ5 ¬Ï5 •½v 08ó ó Ž#‡x Ï58@„Öøèœ�5�™‡`ü‡xŠ—‡‰œ!Pއ³ ý‹ÜøÊA ß5há܈(× 3 ÝëÝø¦Eß5`Âß5 ¹ / ¿ÍÞø†Gß5 ¬ß5 •½v 08ó ó Ž#‡x ß58@„ßøèœ�5�ÿŠ`ü‡xŠýЉœ!Pôг ý‹åøÊA ï5háÂŒ(× 3 Ýëæø¦Eï5`Âï5 ¹ / ¿Íçø†Gï5 ¬ï5 •½v 08ó ó Ž#‡x ï58@„èøèœ�5�åŽ`ü‡xŠãމœ!PÚŽ³ ý‹îøÊA ÿ5há¨�(× 3 Ýëïø¦Eÿ5`Âÿ5 ¹ / ¿Íðø†Gÿ5 ¬ÿ5 •½v 08ó ó Ž#‡x ÿ58@„ñøèœ�5�Ë’`ü‡xŠÉ’‰œ!PÀ’³ ý‹÷øÊA �6h᎔(× 3 Ýëøø¦E�6`Â�6 ¹ / ¿Íùø†G�6 ¬�6 •½v 08ó ó Ž#‡x �68@„úøèœ�5�±–`ü‡xН–‰œ!P¦–³ !ý!‹€ø!ÊA Ÿ6h!áô—(!× 3 !Ý!ë�ø!¦EŸ6`!Ÿ6 !¹ / !¿!Í‚ø!†GŸ6 !¬Ÿ6 !•½v 08!ó !ó Ž#‡x Ÿ68@!„ƒø!èœ�5!�—š`!ü‡x!Š•š‰œ!PŒš³ #ý#‹‰ø#ÊA ¯6h#áÚ›(#× 3 #Ý#ëŠø#¦E¯6`#¯6 #¹ / #¿#Í‹ø#†G¯6 #¬¯6 #•½v 08#ó #ó Ž#‡x ¯68@#„Œø#èœ�5#�ý�`#ü‡x#Šû�‰œ!Pò�³ %ý%‹’ø%ÊA ¿6h%áÀŸ(%× 3 %Ý%ë“ø%¦E¿6`%¿6 %¹ / %¿%Í”ø%†G¿6 %¬¿6 %•½v 08%ó %ó Ž#‡x ¿68@%„•ø%èœ�5%�ã¡`%ü‡x%Šá¡‰œ!PØ¡³ 'ý'‹›ø'ÊA Ï6h'ᦣ('× 3 'Ý'ëœø'¦EÏ6`'ÂÏ6 '¹ / '¿'Í�ø'†GÏ6 '¬Ï6 '•½v 08'ó 'ó Ž#‡x Ï68@'„žø'èœ�5'�É¥`'ü‡x'ŠÇ¥‰œ!P¾¥³ )ý)‹¤ø)ÊA h)ጧ()× 2 )Ý)ë¥ø)¦E`) )¹ - )¿)ͦø)†G )¬ )•½v .8)ó )ó Ž#‡x 7?)„§ø)èœ�5)�ª©`)ü‡x)Ѝ©ˆœ!PŸ©² +ý+‹­ø+ÊA h+áìª(+× 2 +Ý+ë®ø+¦E`+ +¹ - +¿+ͯø+†G +¬ +•½v .8+ó +ó Ž#‡x 7?+„°ø+èœ�5+�Š­`+ü‡x+Šˆ­ˆœ!Pÿ¬² ,Òø,Ñ, řǙș­É™Ê™àË™óG*¤�R{9 Û‡2ø,Ï.,‰³ø,±Ø ¼®€,Ë ý6@,¾»®´ ý6˜,Ò K,à (,ßè,Þ ,õ €ý6¼®°,Þ0,õ ,§ ¸,•ˆ,• Æý6A&p,¾H,¾ „¼®,È),äø,“Ñ,ã´8ø,¿›ø,�M¼®`,¯ý6 ,¦»®uä¯ϯ^ï­ï­‘nñ­�¶„Ÿ~ Á$ý6"ý6Nºní åçä°²½±aé±;ý6÷ ù-×ST]    È,µ¸,µ Ù¼® "ˆ,Òx,Ò Ùý6 !ø,µ.É/‡T]  ¸[•#@­B•# ((,üø,ü+ä¯ ,Ï   ¸,½ˆ,½ Ƽ® B  'p,œH,œ „ý6,¦ (,¶ø,îÈ,µ µ8ø,òÄø,µ� ý6 ,”¼® ,ý{ï5Òï5±lä¯-»®à,üÁ¯\ï­ï­‘nñ­�¶„Ÿ~ Á$¼®D¼®qÝ”‘í ,ö ã´uŒµSÕµ×¶–„·o¼®-ø,Ë-ø,Ë$ zý6‚�5 ,ð,ö;,‚¶ø,ÀÂ�5,ç ý6`,Ô”º,âœKŠº© 1Òø1Ñ, ÛÔ7ÛÙ7ø1Ï.1‰¹ø1±Ø Ë»€1Ë Ò7@1¾Ê»} Ò7˜1Ò K1à (1ßè1Þ 1õ €Ò7Ë»°1Þ01õ 1§ ¸1•ˆ1• ÆÒ7A&p1¾H1¾ „Ë»1È)1äø1“Ñ1ãº8ø1¿›ø1�MË»`1¯Ò7 1¦Ê»u¼¼§¼^ï­ï­‘nñ­�¶„Ÿ~ Á$Ò7"Ò7Nºní åç¼½²•¾aÁ¾;Ò7÷ ù2×ST]    È1µ¸1µ ÙË» "ˆ1Òx1Ò ÙÒ7 !ø1µ.É4‡T] Õµ•#@­B•# &(1üø1ü+¼¼ 1Ï   ¸1½ˆ1½ ÆË» B  'p1œH1œ „Ò71¦ (1¶ø1îÈ1µ »8ø1òÄø1µ� Ò7 1”Ë» 1ýyï5Ðï5¯j¼¼-Ê»à1ü™¼\ï­ï­‘nñ­�¶„Ÿ~ Á$Ë»DË»qÝ”‘í 1ö »ÁsäÁQÕµ ­Ã–ÚÃoË»-ø1Ë-ø1Ë$ zÒ7‚�5 1ð1ö;1‚¼ø1ÀÂ�51ç Ò7`1ÔêÆ1âœKàÆ© 6Òø6Ñ, �¯Šø6Ï.6‰¿ø6±Ø ¡È€6Ë ì7@6¾ Èl ì7˜6Ò K6à (6ßè6Þ 6õ €ì7¡È°6Þ06õ 6§ ¸6•ˆ6• Æì7A&p6¾H6¾ „¡È6È)6äø6“Ñ6ãÀ8ø6¿›ø6�M¡È`6¯ì7 6¦ Èu�ÉìÈ^ï­ï­‘nñ­�¶„Ÿ~ Á$ì7"ì7Nºní åç�ʲÚÊa†Ë;ì7÷ ù7×ST]    È6µ¸6µ Ù¡È "ˆ6Òx6Ò Ùì7 !ø6µ.É9‡T] Õµ•#@­B•# &(6üø6ü+�É 6Ï   ¸6½ˆ6½ Æ¡È B  'p6œH6œ „ì76¦ (6¶ø6îÈ6µ Á8ø6òÄø6µ� ì7 6”¡È 6ýyï5Ðï5¯j�É- Èà6üÞÈ\ï­ï­‘nñ­�¶„Ÿ~ Á$¡ÈD¡ÈqÝ”‘í 6ö €Îs©ÎQÕµ òÏ–ŸÐo¡È-ø6Ë-ø6Ë$ zì7êÆ�5 6ð6ö96‚Âø6ÀÂ�56ç ì7`6ÔêÆ6âœK¥Ó§ º   DÎüÍ& Û•üÍ-$ô çŠÕŠÕB4ôüÇ3 ‚  $‚ 7 Ž#”º ŠÕR6?ˆüè  ‡ z5ü¶R Ž ¸ ’ÕDš”º ¯¦Öð‰Õ(‰ÕS ’ՔΔº¤Öí•õSœV¯ÑϬՌšÖ1”ºÚ4÷% ­B´è%dê% ×g è%7¤ê%/T’& ­BTž&£& ɼ8Â8$ž& ,£&.  œCüè%A,Œ& ´d¯x fìŒ&4½&   ­BœÅ&dÊ& ˼8Â8$Å& tÊ&.  œCüè%q,·&ûÙ¢ r `ü·&"üè%‡4ç& »dODç&õ&—ü™%ÜòDŒÌ% ‚8, %‚F §% ¨d¨d DebugStructÁ«dñ�d¬dÇ �d­d has_fieldsÁ�d»1âî¦9èÏý“Ü‘“Ü-•Ü6­BU­B œCû Û¼8­B£œC” Â8ŸÝœáçØªºÙ^¬ÝœCgûÙ.ÆÚéÑÝœCòûÙ¹ºÛŽTó(ø(ºÙ$ó(,ø(üÛ(&¼Û( ¥g®ÝD ÿ(+‡)�üŒ({òDŒ¿(þÛ,“(‚F š(¬Ý–œ KºÙÀýÞžT¹*¾*ºÙ$¹*,¾*&\Ç*Í*ºÙ,Ç*,Í*&̹* ù±¬Ý¬Ý†W+Ø*£üŒ*L$ª*þÛ,’*þÛ,™* ¬ÝÙ¬Ýáëᵬݽ8î ;fºÙºÙî�áÀTž-£-ºÙ$ž-,£-\µ-»-ºÙ,µ-,»-üž-#\©- ±²®Ý®ÝqNÄ©-Ç-®üÑ,vřǙș­É™Ê™àË™óG*¤�R{9 �²‚²ƒ²LessÁ„²…²†²‡²ˆ²‰²GreaterÁв%ÑÓ¡yûÜø,þÛ,à,þÛ,ç,¬Ýi¬ÝJ'î *ûºÙ�ºÙ|­ã[Tý.‚/ºÙ$ý.,‚/\Œ/’/ºÙ,Œ/,’/Üý.ˆ/ î®ÝkH„ˆ/ž/´üÀ.^¶äœß.þÛ,Ç.þÛ,Î.¬Ý¿¬ÝŸ%î (UºÙñºÙÏåæ­ d×V   æV  $èVdèV,íV Þ"Â8*<íV|æV  $„ Ž#”º Ý"Â8¦PY ôV  ¬ÚY<ÚY Þ¼8dâY (üœW伜W P¼8 üÑY ($ŽZ üÿVž Œ¼8Â8 £Z ¢Zü¡R‚Ïß ¹4üÓVÐ ‚8$ÌRÂ8$ºR”º ÃR®Ýö”ºê·é˜¹éËÑÝäKKà Mã Dõ6 úÞÆà¼88¼8$Â8•…Œœ� deserializedÁ” ãèb­é?ƒêÑ´ê©Â8E”ºüdË^  Ú^ $Ü^ dÜ^,á^ãè %<á^|Ú^ $ Ž#êÆ·é•DM è^ €<Ú^ �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw®Ý�Ø x} ‰ œ„Ú^ m®Ý + dÚa ¬Òa<Òaƒê9=é^ [ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¸Ä¬©^—¯f²ð¢‡ �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw‚8²ð�ò ï  ›b  ü”_ä¼”_´êüÉa  $$†bü÷^ž Œ¼8Â8üô^¢ Àœ‚8²ð Ÿ§´ œbÉ üä\¸æ ö = N ¼WüÇ^Õ=DKÐÿò|–]Â8$„]êÆ �]®Ý…ÊüÍüÎümÏüóÐüÑü[Òüó}µŒOƒDê^�ò®ÝøßïjêÆÉ·é|¹éªÑÝÃÏ6 �ò®Ýœ‚8Ë®ì ¼8û®Ý‡Â8ûQŽ…øœû•ì„Æ ˆ Ž Æ ãèW‘ï9Ùï׃êáùòåÂ8Ì´ê­Â8Ù®ÝàêÆìæd¤æd ¹¼8Â8 »éÛ¼8Bÿ$ûd �eQ‰eÀüÍc¼‚8$×dÂ8$òcûù ƒd…œEïù¸üôg!Äôg ¼¼8Â8²ð€úÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwŠú²ðBÿ$�h “h•›hÂü¾fÝÿò|ÚgÂ8$êfÅû ûf…œFµûýl�r®ìÌ�r Þ"®ì/!(L«r ܼ8X\«r¼rÉü×qe¬ÝüóqþÛDæq ¼8Š ®ì« DÏý²÷ý¸TàtÂ8ðtËüµt;ÑÝÓtþÛ,Ét .LÐ�Â8 Þ�®ìß�Ìü¢�=Â8 Ä�‚8$»� /®ìb Dø�   ) 1< Dl•Ž®ìüƒŽ ŒƒŽ Æ®ì5( ¸Ž  LºŽ  Â8d¸Ž _ Ž#ÞÂ8x5>üŸ’"ÄŸ’ Ç®ìD¸’ +$Ï’ üÎŽ� Œ¼8Ô  ä’ ã’  ü��Ç2B SÂ8ÍIüô�ðü­Ž· ŒŒÑ�õ€‘…€Xö¢Ñ´ ¼8߃\Þ�‚8$¼�ç‚ Â�ï­ï­‘nñ­�¶„Ÿ~ Á$®ì®®ìh߃$±Žç‚9í‚úÂ8(®ìÆ߃ŸdkŸœ¡õ …lâ�Úá‚lœƒ.߃Ãç‚ÊÂ8Ðô–¨ l–¨®ìAF ê"®ì/a ²¨ Šl¤¨ ß¼8êÆ€H„¤¨»¨ü‰§² º¨Ð8�5³§ ‚8d §êÆ ®§�52 ¼8= ®ì êÆì}DœF«£ˆ‚ïˆ‰êÆµœÙ­ lß­®ìtÞ­£ˆ, î­ ü»­5ì»­ z¼8êÆŽ¯Q6ö­ü†¬ð õ­Ô8™Œ ¾¬ï‰d§¬êÆ µ¬�ŠôšŠêÆãn6œ8œ£ˆ5‹ŒöêÆ¥¼ž°d£° ͼ8Â8řǙș­É™Ê™àË™óG*¤�R{9 Â8 Ê™Â8$ž°$°°çŽ ”£°½°ÙüܮጌÑ�õ€‘…€Xö¢Ñ´ ¼8ŸŽ”€¯‚8$÷® n“Žü¡¹!¼¡¹´êD¹¹$üÙ·Š Œ¼8�5•#�5é¹Ýü¢·ÇŒŒÑ�õ€‘…€Xö¢Ñ´ ¼8�5$Ê·¼8Dº·®ìÈõv´êælÖ¼®ìÔÖ¼Tä¼ Q¼81dä¼ö¼Þü»»»¼8 Ù»¢‘$л®ì{9Æ’‚üŠÇ!¼ŠÇ´êD¢Ç$$¿Ç Å™Â8ü›Æ³ Œ¼8ŸŽÔÇãüåÅï¶�$ŒÆ¼8DüŮ쟟Ž~õB´êÅϼÂç îê´êç  ªÇïõ Å™Â8ò Œ¼8ŸŽ ÍÇ üóã¶�þ¼8û®ì—¼8†ŸŽõE LîÊ )ŸŽ|èÊPl³Ë®ìÔ³ËTÁËÆ’- dÁË$•Ë L‘Ë Àœ¼8¶� ™Ëô°Ë Àœ¼8¶� ÍË ÞËüŸÉÀ (ßËAŸŽUŸŽä\ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¼8¶�|Áɶ�$¸ÉÏ6<†Ë¶�j¼8š®ì¹7Æ’ÉŸŽ,ŸŽ3 L–ÚŸŽ|�Ú*l÷Ý®ììœÞÜœÞ #Â8 $³ÚŸŽàÂ8l‚Ü®ìü§Ü*ü§Ü$ $Â8$ÌÜ*ü¼Ú¤ Œ¼8‰‰š#‹¿#ŒÌ#«“¢úŒ¹(ÕÂ8 ßÜüöÜÒ Œ¼8Æ� ÇÞÙÞ Y ü³Ù¦éü®Ú²ŒŒÑ�õ€‘…€Xö¢Ñ´ ¼8Æ�üäÙ!¶�$ÛÙÏ6T®ÚÂ8°®ì›Æ�Ž®ìÆ�ùB…ë̹œ#”�Ñ®ì®ìT œÜá )1<DLÜáÆ�e<æá %Â8. Læá�l�â ®ìÔ�âT�âÆ’@ d�âôþá Àœ¼8œŸüÙát$¾â )Lºâ Àœ¼8œŸb Òâü�á¶ (ÓâAÆ�UÆ�j®ì  î‚ ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw¼8œŸ|¿áœŸ$¶á… Æ�B¼8Ѯ윟Ž5<G<Þ¡ØÆ’Æ�iÆ�p®ìwTÅõÊõºÙ$Åõ,Êõ”Åõ,Ðõ †®ÝI<ÐõlÔ÷<Ô÷ƒê$Ü÷#üþõô¼þõ´êÄË÷%L†øÂ8Œ†ø,�ø †Â82<�øüáõÁ Œ¼8Â8¨ø ¡øüãôÅûüºõî‚8$öôþÛ,ìô®Ý$¾õ¬Ý€®ì¼8òÂ8ÓÑÝñ?½vA‰ºÙȪ§£ƒê{´êXè®ìÉ  ‚”   †”  lˆ”®ìÔˆ”T–”Æ’-d–”üˆ”,|£” ݼ8IŒ£”ü†”< •#„!„!…!—9o$z�é -øu@ HUì Ž#êÆ®Ý£¬{„ Á”  T’—<’— ÞŒ š—  .üé”Ä¼é” PÄ­ ¬‰—  +LÁ— Â8üÌ”‰ ŒÄ­Â8  Û—üƒ’ØÏ ß   Ú—Â8€Lüþ“Ý ŒŒÑ�õ€‘…€Xö¢Ñ´ Ä­Â8T«’‚8$œ’êÆ ¢’ÛÄ­¼êƯõ¬&®Ý_¼8‘®ì°KKà Mã Dõ6 úÞÆàÄ­�Ä­‡Â8~¡œ£¦WnÆ’í«úë¬Ñ¾­7õ­ êÆ]Â8s  ôœ   øœ  TúœÿœºÙ$úœ ,ÿœÔøœ •#£¬ "/ƒ Ž#‚¬Ý£¬ V _ ‘�  TâŸ<⟠ތ êŸ-ü¹�ļ¹� Pü³¬ÙŸ*L‘  Â8Œ‘ ,› è - <› üœ�‘ Œü³Â8 ³  ¬ ü¿šô  …7üðœÃ ŒŒÑ�õ€‘…€Xö¢Ñ´ ü³Â8TüšþÛ\暨³ óšÛü³|¨³o®³)¬Ý]KKà Mã Dõ6 úÞÆàü³µü³ŸÂ8�ÑÝ "™œ›¦RºÙ颳Åö³P¬´#èå ·“¨³„ ô°  ø° lú° ®ìÔú°Tˆ±Æ’ - dˆ±üú°,|•±í« BŒ•±üø°< •#£¬#0Àë¬ÌFO ³± ø>ø°=  �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw’°�Ýz ‹ žüø°= m’°"- �´ Tˆ´<ˆ´¾­< !?´± [ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÐòå»—u �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òwµ¯å»º½ Þ Ñ´ Â8 ü߱ļ߱õ­¬ÿ³ &L·´Â8ü±‰ ŒÄ­Â8ü¿±� Àœµ¯å»®¶à Ò´üØ®úç÷ 5F+Â8 ‹müð°âCJQÛ¥¾¬‡¯‚8$ø®êÆ þ®’°ÎÊüÍüÎümÏüóÐüÑü[Òüó}µŒOƒDê^º½’°’»}êÆõ¬�®ÝÁ¼8ó®ìÏ6º½&’°²µ¯âѰ)Ä­’°�Â8u©œ¦×Æ › Ž* ê Æ’¢í«ë¬]Œ»ø¾­ýŸ¾Â8÷õ­Ó’°êÆ9Â8 Œº  �º T’º—ººÙ$’º,—ºÔ�º •#£¬"/ƒ¢³�EN ©º Ø@�º  �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òwò¶�Ûx} ‰ œÜ�º mò¶!, †½ Tþ¼<þ¼ö³<!Aªº [ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÐòúÇ”u �%ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw”¶úÇÍÉ Þ  Ͻ  üպļպ¬´¬õ¼  &L­½Â8Œ­½,·½è-  <·½ü¸º‘ Œü³Â8 üµº• Àœ”¶úÇ ÐØå н Ƚ üº·– - h y ‘ZüˆºÈdkrû¸Ê¬þ·þÛ\è·¨³ õ·ò¶°ÊüÍüÎümÏüóÐüÑü[Òüó}µŒOƒDê^ÍÉò¶'§Ç›¨³ó®³­¬ÝáÏ6.ÍÉ7ò¶Â”¶Ò ·Dü³3ò¶®Â8ÑÝ<�Àûœý¦¯Æ ³ ŽA Î ºÙŽ¢³j¡Çö³²Ê¬´èè® ·ò¶¨³O  Ô   lç®ìÔçÂTõÂÆ’- dõÂüçÂ,|‚Ãí«B Œ‚Ã<¡Ã  üØÂt\8•#£¬\¶Ã ,TœÆ<œÆ¾­ ¤Æ  $üóÃļóÃõ­ ¬“Æ  &LËÆ Â8üÖÉ ŒÄ­Â8  åÆ äÆÂ8üŽÀ×%5 ˜5üЕ µ¯TŒÂ‚8$ÆÀ�<ÔÀŠúÍÕ„!„!…!—9o$z�é - �5ÛÄ­Bÿ èÀ’°]®Ýý¼8/®ìNÍÕîѰuÄ­dÂ8[»captureÁœz¦ÙHÆ’®í«‹ÚÕE¾­õ­õÂ8ŒÍÕ“  ®Ì   T´Ì¹ÌºÙ$´Ì ,¹Ì<ÀÌ  ü²Ì#^8•#£¬\ÉÌ ,T¥Ï<¥Ï¾­ ­Ï $üüÌļüÌõ­¬œÏ &LÔÏ Â8ŒÔÏ,ÞÏè - <ÞÏüßÌ‘ ŒÄ­Â8 öÏ ïÏ ü²ÉÄ õÏ �8üªÌÌ µ¯TÌËþÛ\øÉÍÕ<�Ê ŠúÍÕåÕ”ÖBÿ ¡Ê’°¬ÝñÍÕÏѰVÄ­EÂ8&ÑÝE¼yŒÖ|œk¦€ºÙiéÛ!¾­õõ­Ñè—ѰEÍÕ+ ÇÕ )1lÚÕ ®ìÔÚÕTèÕÆ’ -dèÕüÚÕ,|õÕí«BŒõÕ<”Ö  üËÕt\ 8•#£¬\©Ö,øBËÕu Œ»I$ 0 CüËÕu m’°"- ›Ù T“Ù<“Ù¾­< !C¿Ö [º½é!Ÿ¾ - ÜÙ Â8 üêÖļêÖõ­¬ŠÙ &LÂÙÂ8üÍÖ‰ ŒÄ­Â8üÊÖ� Àœµ¯å»®¶à ÝÙÙÂ8 üäÒùû  . £YüÃÕš’™ *¥¾¬ôÔ‚8$£ÓÍÕ<±ÓŠúÍÕåÕÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´Òw”Öå»Bÿ ÅÓ’° °Â’»U®Ý«¼8Ý®ìüÍÕœÏ6€º½‰’°µ¯öѰ=Ä­,’°Â8,‰�ŒÖœ»¦ÉÆ   Ž› ø Æ’£í«€Üä:Œ»¾­nŸ¾Â8õ­õÂ8&’°-ÍÕ4 òß )1TøßýߺÙ$øß,ýß<„à üöß#^8•#£¬\�à,øDöß$ Œ»I$ 0 Cüöß$ m’°"- õâ Tíâ<íâ¾­<!E™à [º½é!Ÿ¾ - ¾ã  üÄàļÄàõ­¬äâ  &LœãÂ8Œœã,¦ãè-  <¦ãü§à‘ ŒÄ­Â8 ü¤à• Àœµ¯å» ÐØå ¿ã ·ã üÙÜæ-? P ©ZüîßÑ´»ÂL¥¾¬…ßþÛ\¦ÝÍÕ<»ÝîÛÍÕåÕêäBÿ ÏÝ’° °Âé’»%¬Ý}ÍÕ[Ï6?º½H’°Ôµ¯“ѰÄ­ô’°¿Â8ÞÑÝýQX¼ŒÖ¿œ±¦SÆ Ò Ža � ºÙAˆïùŒ»Í¾­-Ÿ¾Ûõ­·è}Ѱì’°îÍÕõ  Óÿ  ×ÿ læÿ®ìÔæÿTôÿÆ’- dôÿüæÿ,|�€í«B Œ�€ ‘€ L € Â8Œ €,ª€ãè ,  <ª€ü×ÿe   '/< Ž#êÆ®Ý¹é;c l »€ TŒƒ<Œƒ¾­ ”ƒ  $üã€Ä¼ã€õ­ ¬ƒƒ  &L»ƒ Â8üÆ€‰ ŒÄ­Â8  Õƒü¦ý¯Ó ã ô   ÔƒÂ8´nüÏÿ†µ¯TÐý‚8$ÁýêÆ Çý’°âêÆÂ©ôí®Ýr¼8¤®ìùé8ÑÝVѰ[Ä­JÂ8AÉІœˆ¦l8 Æ’í«üã诟ô޾­ùõ­Õ®Ý2êÆ9Â8)  �‹   ‘‹  T“‹˜‹ºÙ$“‹ ,˜‹LŸ‹Â8ŒŸ‹,©‹ãè- <©‹ü‘‹   )» Ž#¨³¬Ý¹éÖN W °‹  T�Ž<�Žö³ ‰Ž #ü؋ļ؋¬´ ¬ø� %L°Ž Â8Œ°Ž,ºŽè - <ºŽü»‹‘ Œü³Â8  ÒŽ ËŽ üªˆ¨ü   ¹6ü‰‹É”¶TéˆþÛ\Óˆ¨³ àˆò¶[¨³NôúʬÝ<¹éÑÝ# ·Pü³?Â8!ÑÝ@³wœy¦ÖòºÙ¯ãèuêúTö³ç¬´Äè‹ ·9¨³ í— )1 ñ— l€˜ ®ìÔ€˜TŽ˜Æ’ - dŽ˜ü€˜,|›˜í« BŒ›˜ «˜ Lº˜ Â8Œº˜,Ęãè , <Ęüñ—e   '/<Ÿô,T] Õ˜ øFñ—f Œ»£$ 0 Cüñ—fm’°"- ²› Tª›<ª›¾­< !GÖ˜[º½é!Ÿ¾-  ó› Â8 ü�™Ä¼�™õ­¬¡› &LÙ›Â8ü䘉 ŒÄ­Â8üá˜� Àœµ¯å»®¶à ô›ü£•Ñç÷<M_pNÂ8 ¿�üé—‹µ¼ÃM¥¾¬Ô•‚8$Å•êÆ Ë•’°l°ÂÎ’»dêÆK©ôv®Ýû¼8-®ìL¹éÁÑÝßÏ6Pº½Y’°åµ¯ÆѰ Ä­ü’°ÐÂ8üY”›ËœÍ¦;Æ ÓŽbÓ Æ’óí«Ðã胟ôbŒ»Ü¾­<Ÿ¾êÂ8çõ­Ã’°õ®Ý0êÆ7Â8  Ø£  Ü£ Tޣ㣺Ù$Þ£,ã£Lê£ Â8Œê£,ô£ãè - <ô£üÜ£   )»êúÇ?H û£ øHÜ£! ¡Ç{# / BüÜ£! mò¶"- ئ TЦ<Цö³< !Iü£ [ÍÉè!²Ê - ¡§  ü§¤Ä¼§¤¬´¬Ç¦ &Lÿ¦Â8Œÿ¦,‰§è-  <‰§üФ‘ Œü³Â8ü‡¤• Àœ”¶úÇÐØå ¢§ š§üØ Ê-^oÅZüԣγºÁK¸Ê¬ž¡þÛ\ˆ¡¨³ •¡ò¶ÞåÎ̧Ç:¨³ÐôúL¬Ý¾¹é†ÑÝ¥Ï6>ÍÉGò¶Ó”¶“ ·ü³ôò¶¾Â8ÞÑÝýQw¼œ¾¦žÆ à ŽR � ºÙ}ãèCêú"¡ÇÄö³%²ÊÒ¬´°èv ·åò¶ç¨³ üŽá d“á ͼ8Â8�“”ý•ó–—þ˜óšó¤œJĪÂ8þ ”Â8…–$Žál á‹– Ü“á¶áÐüêßÌŒŒÑ�õ€‘…€Xö¢Ñ´ ¼8º•Ì“à‚8$Šà n®•+ü‰å dŽå ͼ8Â8�“”ý•ó–—þ˜óšó¤œJĪýÂ8 —»˜Â8$‰ål›åĘ ÜŽå±åÒüåãÌŒŒÑ�õ€‘…€Xö¢Ñ´ ¼8ó—ÌŽä‚8$…ä nç—+Ö† ŒÈ†Ô�5ц'()Áç» ŒÙ»Õ�5â»'()Á݉ ŒÏ‰Ö�5؉'()Á$™X£Xæü”W� Ú?L®W›œD¡W 1$¹YÃYçü¶X�Ú?,ÒXÚ?$ÉX -$—[¤”[®[èüÖYØÚ?$õYÚ?$åY ‡2”–[”9$ß^üØ^.$’_  ’_ Ž#”º Ú?7?œ_éüÁ[ÛüÇ^Uü²\ê�5è[ìždÕ[”º ã[잨 Ú?Œß^Ɦ0œ3¯ Ë^€àžá$´e¾eðüÿd? ‰:„™eÛ DŒe 0�fñüÄe=‰:dàe‰:$×e •#‰:2Æfòü‡f?‰:$­f‰:$–f” •#‰:3<šh  šh Ž#”º ‰:7?§hóüÌfÛ�5ófá¢dàf”º îfߢ„œ MÕ¢®ü— Mä—  ¹¼8Â8‚¼8Â8Ÿ6€úŠúUÿ�5$´ •#�¤üº )Zê �üÜ Ž‚8$ˆ Â8$ü … .ƒ¤ªü¾ %ü¾ "  ®Ý»é á -ã ‚­®Ý½ �¤ùé » ™ ụƒ ¾ �ç3í3”-Ÿ38ç3?F É �ç3í3—-Ÿ38í3?F2D\x€×öûýDÏÙ‡ýPƒçlðï…Ñ$ÿŒ†ZeroFromÁDÕ ˆÀ§3ˆü²¬ü™jg This crate provides [`Yoke`][Yoke], which allows one to "yoke" (attach) a zero-copy deserializedÁü„‡„ object (say, a [`Cow<'a, str>`](alloc::borrow::Cow)) to the source it was deserialized from, (say, an [`Rc<[u8]>`](alloc::rc::Rc)),ÁüŒif known in this crate as a "cart", producing a type that looks like `Yoke, Rc<[u8]>>`Áüö*' and can be moved around with impunity.Á¡�ü¥fc Succinctly, this allows one to "erase" static lifetimes and turn them into dynamic ones, similarlyÁüŒTQ to how `dyn` allows one to "erase" static types and turn them into dynamic ones.Áá�üåXU Most of the time the yokeable `Y` type will be some kind of zero-copy deserializableÁü¾ UR abstraction, potentially with an owned variant (like [`Cow`](alloc::borrow::Cow),Áü” ‚ [`ZeroVec`](https://docs.rs/zerovec), or an aggregate containing such types), and the cart `C` will be some smart pointer likeÁü— Ž‹ [`Box`](alloc::boxed::Box), [`Rc`](alloc::rc::Rc), or [`Arc`](std::sync::Arc), potentially wrapped in an [`Option`](Option).Á¦ �üª da The key behind this crate is [`Yoke::get()`], where calling [`.get()`][Yoke::get] on a type likeÁü� a^ `Yoke, _>` will get you a short-lived `&'a Cow<'a, str>`, restricted to theÁüñ pm lifetime of the borrow used during [`.get()`](Yoke::get). This is entirely safe since the `Cow` borrows fromÁüâro the cart type `C`, which cannot be interfered with as long as the `Yoke` is borrowed by [`.get()`](Yoke::get).ÁüÕif [`.get()`](Yoke::get) protects access by essentially reifying the erased lifetime to a safe local oneÁœ¿ when necessary.ÁÓ�ü×74 See the documentation of [`Yoke`] for more details.Á2D\x€×öûÍýÎÙ‡ýßPƒçÎï…ÑÍŒ†À§Å ˆÀ§Ø3ˆFIL¤ÔüË85 Types for optional pointers with niche optimization.Á„�üˆNK The main type is [`CartableOptionPointer`], which is like `Option` butÁü×MJ with a niche so that the resulting `Yoke` has a niche. The following fourÁü¥74 types can be stored in the `CartableOptionPointer`:ÁÝ�\á 1. `&T`Á|í 2. `Box`Átý 3. `Rc`Á|Œ 4. `Arc`Áœ�ü OL These four types implement the sealed unsafe trait [`CartablePointerLike`].ÁüðKH In addition, all except `Box` impl [`CloneableCartablePointerLike`],Áü¼@= which allows [`CartableOptionPointer`] to implement `Clone`.ÁdÜ ‰çl‰ï…—9\Û„!—9…!«<÷® StableDerefÁ\˜É4�  ¤‚€ÌÍo”ìOü„8ü‘ "d” Ö>Bÿ�  þÆî4 ¡  î4  ¤º DÁ  Ÿ5ƒ \Ù<Ý „ë4õ  ÿÆœë ÎÀÎÀ|†ü�:ü˜85 An object fully representable by a non-null pointer.ÁÑ�dÕ # SafetyÁâ�¼æ Implementer safety:Áþ�ü‚`] 1. `into_raw` transfers ownership of the values referenced by [`StableDeref`] to the caller,Áüã(% if there is ownership to transferÁüŒWT 2. `drop_raw` returns ownership back to the impl, if there is ownership to transferÁä�üè_\ Note: if `into_raw` returns the sentinel pointer, memory leaks may occur, but this will notÁüÈ  lead to undefined behaviour.Áé�üíXU Note: the pointer `NonNull` may or may not be aligned and it should neverÁüÆVS be dereferenced. Rust allows unaligned pointers; see [`std::ptr::read_unaligned`].Áœ®ÎÀü�ØÖÀ\à ÖÀ4ÑÎÀ9´Ç.ÃÇ%ÎÀK´Ç@ÃÇ7þÆÖÀLºŽÈDºüÞDA The raw type used for [`Self::into_raw`] and [`Self::drop_raw`].Át§4­¿ü�(üÉ.+ Converts this pointer-like into a pointer.Átü4‚D’ÖÀ®®«°¿ ”3¯f*²Û�–ÈBÿ ÖÀ$›üÃ0ü½74 Drops any memory associated with this pointer-like.Áù�d�áÀ’�”š Caller safety:Á±�ü¹EB 1. The pointer MUST have been returned by this impl's `into_raw`.Áüƒ(% 2. The pointer MUST NOT be dangling.Át°4¶DͱÊ�5ÿ ÖÀ¿ <Öü÷Bü÷?< An object that implements [`CartablePointerLike`] that alsoÁü·EB supports cloning without changing the address of referenced data.Áý�d�áÀŽ�¼’‚Áª�ü®KH 1. `addref_raw` must create a new owner such that an additional call toÁüú41 `drop_raw` does not create a dangling pointerÁü¯GD 2. `addref_raw` must not change the address of any referenced data.ÁäˆÎÀü÷éÖÀœ¦ÎÀ*ÕÑÎÀ6ÕÑ+ü¬2ìÀ Clones this pointer-like.Áâ�dêáÀû�”ƒôÊš�ü¢EœËüì(ëËt™4ŸT¶±Ê�5ÿ ÖÀ¿ <ÁäâÔ�þƇ2 ë�2ç üÞ0Ô��Ô î�2ê"$D• š ‡2ü¶ D¹ �2à?Bÿ Ô‡2Îü„!(DŽ!à?�5ÿ Ô‡2ª@ üÏ"9Ô��Ô ß"�2  Û"ü�#*T§#à?�5ÿ Ô‡2ª@v üÌLBÿ""þÆß2 ÑLß2œúL§2#$%äãM$ñM§2Bÿ!! #ß2üÅO0lÓOß2§2Bÿ!! $ß2ŠN &ìüRü·QC@ Returns whether this instance is `None`. From the return value:ÁÿQ�ü‡R'$ - If `true`, the instance is `None`Áü³R63 - If `false`, the instance is a valid `SelectedRc`Á<ƒSÈ È§2Bÿ! ‹S! %ß2$ŒSüÔSKÿ''ô× ÙS„Øœ‹T§2(�#(”´T$·TÉ É§2�5Bÿ& ¼T& (ß2$ÁTü£XUÿ**ô× ¨Xß2äÛX§2+†+ ¼�Y,�YÊ Ê§2§2Bÿ) –Y) +ß2$—Yüä]sÿ--ô× ð]úÜä«^ïß2lÊ^§2 ü�_Tÿ//ô× ©_ýÆß2$×_„ØœÞ_§2!ü¶`Tÿ11ô× Â`ÿ ß2$ð`„Øœ÷`§2 têüË&# Types to enable polymorphic carts.Á4ò�çlþï23…s,�Ü"24ƽ\¼25¤÷=„’-ü¨ üÓwº 7à 8�9879Ý"ç3öiT”Ý"í3öiT¯ÿÆöi4ÃÜ"ç3ŒŽþÆç3ØÜ"í3Œ©þÆí3ÜŸ3:;Ý"Þ";57#% à\Ñ4Ö66öi¬æ,éÒ ÒŸ3 ÒöiBÿ6 ï6 ;ç3í3öi$ðTŠü»®º >à ?�@@>? ˜áT³ªáTμá4âç3\ƒí3\˜ÌጭÛáÇëáŒÈúáËŸ3 Ïü«lº Bà CBCÛá·úá»ïç3lòïí3l‰Ÿ3-/24Ĥ¤¨K‘ndÛï­DFýj\éý­DGs,‡Ü"DIDerefMutÁDŽé"DJLÏVXFHLû;=$&ü³ 0”Å �LLÉ¿ Ø î4<Û Ä4õ6 úÞÆàM[(*´è4èDKKñküƒ&�OOÉ¿ ˆ•ç<‹Ä4PQü¾*Òî4Ä4BÿNN Pî4ã k5üØ#TæÄ4î4BÿNN Qî4Æ7üæ0�SSÉ¿ ë•ç<îÄ4TUÝ"Þ"U \�4¢RRî4¬À,ÃÓ ÓÄ4 Óî4BÿR ÉR Uî4$Êü©3�WWÉ¿ ®•ç<±Ä4Xê"Xüñ!LôÔ ÔÄ4 Ôî4BÿV þV Xî4$ƒüê/�ZZÉ¿ ï•ç<òÄ4[�#[”®$±Õ ÕÄ4�5BÿY ¶Y [î4$»|¾\ÂýD×Ù\]‡ýP\]ƒ‘ndñï­\_í ÿ¸\`|ÐT$åŒì2 "܆t“ ¢ Œ ¨ ©*« ® ‰3+ ¸ ¹ À8þ4º8 Ê8� LÍ Ö Ü ×8$Ø(Þ á8$â'æ8´4è ï Š8$ý+ ” • œ8þ4–8 ¦8® |© ¸ ½8$¹(¿8$Â'Æ8´4È Ï ê8$Ý+ ô õ ü8þ4ö8"4†8 �8Å $� ” §8½v$•& ™8$›'Ÿ8´4¡(©8$¬ ± Ì8½v$¿+ Ö × Þ8þ4Ø8 è8Ñ lë ø8‚ ù ú û Ž ü:Ôý8€8$„$ ˆ8œ Š& ‹8‚ �8$,˜8‚ ª& «:7<­ µ8 · º:Í » ½8ˆ4¿ Å Ú Æ:Í Ç8Ê8$Î'Ò8´4Ô$ Û å ƒ8œ ó ô ù8$õ% ŠÜŽt› ª ½  ° ·, ±8‚²& ´8‚µ*¹ ¼ º  8"4Æ8$Í Ñ:ÔÒ Ô8ýDÖ Þ:Ôß á8 ã, ç8‚è ë ´  8!$ù8´4þ … 8$‡ % ‹ 8ò t™  §  ¨  © % ª % » üõ %Ä‚ › Š ¡ ¢*¤ § ‡,8 ±8� L´ ½ Æ ¾:Ô¿8$Â(È Ë:ÔÌ8$Ï'Ó8´4Õ Ü ˆ8"4Æ Í þ Ï Ð Ñ ü 8$Ò8× Ú8,Û8$á8æ é8,ê8$ð'ô8´4ö8 “8® |– ¥ ª8$¦(¬8$¯'³8´4µ ¼ ã8"4¦ ­ Ù8¿8í Ã& Æ È8,É8$Ï'Ó8´4Õ Ü Þ ó ß8$à8å è8,é8$ï ô8castÁ$õ ù ú% û8�8 ‘ “8‘nd•'¡8˜ £ ¦ «8$§% ¬8í ¾'Á8readÁ$Ã Ç Ë8í È8"4î8 õ8Å $ø ü �8”$ý& �8$ƒ'‡8´4‰(‘8$” ™ µ8 debug_assertÁd§ ³ ´ ã8à<µ'¼ ¾8$¿'Ã8´4Å Ë Ì ÍÏ8à<Ò'Ù Û8$Ü à á â% ä8ò8í ö ú ü8”$ý8‚ …8,†8$Œ'�8´4’8™ œ8,�8$£% §8µ8 ¹ »8‘nd½'É8˜ Ë Î Ó8”$Ï% Ô8"4“ š «8í œ'Ÿ8•ü$¡ ¥ ©8í ¦8 À8Ñ là Ð8‚ Ñ Ò Ó æ Ô:ÔÕ8Ø8$Ü$ à8œ â& ã8‚ å8$,ð8‚ ‚& ƒ:7<… �8 � ’:Í “ •8ˆ4— � ² ž:Í Ÿ8¢8$¦'ª8´4¬$ ³ ½ �8,Ë'Ð8¾ ,Ò'×8Î ´Ù ï ÷8$ð$ ô8œ ö% ˆü˜MÔe�fef�Ô ¨‡2<«gÙ‡2g¤µý6h³´µ¶ÛÜÝÞß¶µ³´¤df¹\ì4ñddřǙș­É™Ê™àË™óG*¤�R{9 Û‡2ÔüÕuÔjè kø mkmjþÆÔ7åþÆÙ7‰Ô7<élÙÔ7l¤óÙ7<�nÙÙ7n¤—Ò7o¹º»¼ÛÜÝÞß»¹¼ºá™›÷œž›\Ñ4ÖiiÛÔ7ÔÛÙ7ÔüÉZÔq�rŠttqr�Ô ÙŠï5tüæ…<ÜsÙ‡2s¤æì7v¿ÀÁÂÛÜÝÞß¿ÂÀÁÕprêu ‚ï5\ª4¯pp²‡ŠLÏ,ÓzýDÖÙxy‡ýPxyƒ|Ï-üèø´ö Ô’Õ”º–×BÿÔ{•|‚}Ž~}{|~þÆ’Õ ‘þÆ”º ”þÆ–× —Ù’ÕÔdÇ”º<Ÿ‹#”º Û’ÕÔü©&�#”ºí�–× Î–×<Ø zÔ’Õ”º–×õ)kœ3k�ÊÌÆÈÂÄ­DÚ$ÞŒïÔÕÖš#¬å‰€‚Úœü€ƒð#T¥�€„à ”­K€…¾ ,Ìx€†ýDÞÙ€‡‡ýP€‡ƒ—9\ú„!€ˆ—9…!€ˆ‘nd–ï­€‰s,³Ü"€Šƽ\Ò€‹œÏñóÌ–åü�/×dÅÉ|×»Ì쑼‹m„¨^ü¾OüÅ+üï;8 A Cow-like borrowed object "yoked" to its backing data.Á«�ü¯GD This allows things like zero copy deserialized data to carry aroundÁü÷QN shared references to their backing buffer, by "erasing" their static lifetimeÁüÉ2/ and turning it into a dynamically managed one.Áü�ü€C@ `Y` (the [`Yokeable`]) is the object containing the references,ÁüÄFC and will typically be of the form `Foo<'static>`. The `'static` isÁü‹ RO not the actual lifetime of the data, rather it is a convenient way to mark theÁüÞ (% erased lifetime and make it dynamic.Á‡ �ü‹ ZW `C` is the "cart", which `Y` may contain references to. After the yoke is constructed,Áüæ YV the cart serves little purpose except to guarantee that `Y`'s references remain validÁüÀ da for as long as the yoke remains in memory (by calling the destructor at the appropriate moment).Á¥ �ü© `] The primary constructor for [`Yoke`] is [`Yoke::attach_to_cart()`]. Several variants of thatÁüŠ YV constructor are provided to serve numerous types of call sites and `Yoke` signatures.Áä �üè c` The key behind this type is [`Yoke::get()`], where calling [`.get()`][Yoke::get] on a type likeÁüÌaô±ü®c` lifetime of the borrow used during `.get()`. This is entirely safe since the `Cow` borrows fromÁü’a^ the cart type `C`, which cannot be interfered with as long as the `Yoke` is borrowed by `.getÁüôa^ ()`. `.get()` protects access by essentially reifying the erased lifetime to a safe local oneÁœÖǵê�üîli Furthermore, there are various [`.map_project()`][Yoke::map_project] methods that allow turning a `Yoke`ÁüÛc` into another `Yoke` containing a different type that may contain elements of the original yokedÁü¿A> value. See the [`Yoke::map_project()`] docs for more details.Á��ü…\Y In general, `C` is a concrete type, but it is also possible for it to be a trait object.Áâ�læ # ExampleÁô�üøQN For example, we can use this to store zero-copy deserialized data in a cache:ÁÊ�\Î ```rustÁ¬Ú # use yoke::Yoke;Á´ð # use std::rc::Rc;Á܇ # use std::borrow::Cow;Áü£74 # fn load_from_cache(_filename: &str) -> Rc<[u8]> {ÁüÛ! # // dummy implementationÁüýKH # Rc::new([0x5, 0, 0, 0, 0, 0, 0, 0, 0x68, 0x65, 0x6c, 0x6c, 0x6f])Á<É # }ÁÑ�üÕIF fn load_object(filename: &str) -> Yoke, Rc<[u8]>> {ÁüŸ52 let rc: Rc<[u8]> = load_from_cache(filename);ÁüÕOL Yoke::, Rc<[u8]>>::attach_to_cart(rc, |data: &[u8]| {Áü¥52 // essentially forcing a #[serde(borrow)]ÁüÛ>; Cow::Borrowed(bincode::deserialize(data).unwrap())ÁTš })Á,¥ }Á«�ü¯/, let yoke = load_object("filename.bincode");Áüß'$ assert_eq!(&**yoke.get(), "hello");Áü‡52 assert!(matches!(yoke.get(), &Cow::Borrowed(_)));Á<½ ```Á$Е�ÿ���þƼ8 ÕþÆÂ8 îŽÙ¼8Ž¤Ø‚8Xö¢Ñ´ �‘LNÜOQüñDñ€ŒŒ®ì<ñ"$ñ"€ŒŒÂ8üÿ#“•“ÿ•“•㪠„$óª �$”Ù¼8”¤‡$ŸgÂ8„ $–ŸgÛ¼8–„�%‚8— g—km‹$vxà$ü™%Dœ%åæç å‚8 æ€g€gŠ‚gê ûcƒg£EûcØ«q¢1È¡çòDBÿ’  %’ —¼8Â8$¡%œ�müù&Œ•™ÿšš™ãª þ&óª �'›Ù¼8›¤³'œ¤gÛ¼8œ”ò'‚8�¥g�\^ac·'Ñ'üŒ(D�(èéê è‚8 é€g€gŠ‚gê ûcƒg£EûcØ«q¢1È¡êòDBÿ˜ “(˜ �¼8Â8$”(œRoü‹)z•Ÿÿ Ÿ ãª �)óª “)¡Ù¼8¡¤¼)¢÷±Û¼8¢á²Lû)‚8£ù±£bdgiÀ)Ú)üŒ*"�*ëì ë‚8 ì‚8Bÿž ’*ž £¼8Â8$“*î epüÜ*l•¥ÿ¦¦¥ãª á*óª ä*§Ù¼8§¤†+¨ÌÛ¼8¨Å+‚8QSVXŠ+¤+üÎ+|•ªÿ««ªãª Ó+óª Ö+¬Ù¼8¬¤€,­¯²Û¼8­´¶T¿,‚8®±²®bdgi„,ž,üÑ,B\Ô,íî í‚8 î‚8ñãBÿ© à,© ®¼8Â8$á,î -rüË-n•°ÿ±±°ãª Ð-óª Ó-²Ù¼8²¤ö-³íÛ¼8³µ.‚8´î´\^acú-”.üÀ.2Ã.ïð ï‚8 ð‚8¶äBÿ¯ Ç.¯ ´¼8Â8$È.î <9 may borrow only from the argument passed to the closure.Áð>�üø>RO See also [`Yoke::try_attach_to_cart()`] to return a `Result` from the closure.ÁÏ?�ü×?UR Call sites for this function may not compile pre-1.61; if this still happens, useÁü±@41 [`Yoke::attach_to_cart_badly()`] and file a bug.Áê@�tò@ # ExamplesÁ…A�<�A­©¬™A§¢´³AÅ¢ÜÎAä¢üîA7‰£üªB!Ê£üÐBKõ£< Cɤ¬C�ü´CIæ¤ü‚D5¹¥ü¼DOø¥ü�E5ѦüÊE>�§T�F×§,œFꧦF�ü®FB? let yoke: Yoke, _> = load_object("filename.bincode");ÁüõF'¾¨ü¡G5ï¨<ÛG­©çG�üïG;8 Write the number of consumed bytes to a local variable:Á¯H�<·H­©¬ÃH§¢´ÝHŢܸHä¢ü˜I7‰£üÔI!Ê£üúI?< # Rc::new([0x5, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0, 0, 0])Á<¾JɤÊJ�œÒJ fn load_object(Á¼êJ filename: &str,Áü†K52 ) -> (Yoke, Rc<[u8]>>, usize) {ÁüÀK5¹¥üúK$! let mut bytes_remaining = 0;Áü£L30 let bytes_remaining = &mut bytes_remaining;ÁüÛLGD let yoke = Yoke::, Rc<[u8]>>::attach_to_cart(Á|§M rc,ÁÜ»M |data: &[u8]| {ÁüÛMEB let mut d = postcard::Deserializer::from_bytes(data);Áü¥NEB let output = serde::Deserialize::deserialize(&mut d);ÁüïN?< *bytes_remaining = d.finalize().unwrap().len();Áü³O.+ Cow::Borrowed(output.unwrap())ÁtæO },ÁTùO );ÁüˆP  (yoke, *bytes_remaining)Á,­Pê§·P�ü¿PC@ let (yoke, bytes_remaining) = load_object("filename.postcard");Áü‡Q'¾¨ü³Q5ï¨üíQ# assert_eq!(bytes_remaining, 3);Á<•R­©t¨RÂ8”º‚8Bÿµ‚ººµ›� ·R»‹#”º »»éüÒUJ»�#”ºøÌÛ¼8»ä€V‰»<¼V ¹¼8Â8”º…quœ{u|~ÖUüä\Ôü©ZRO Construct a [`Yoke`] by yokeing an object to a cart. If an error occurs in theÁü€[@= deserializer function, the error is passed up to the caller.ÁÅ[�üÍ[Uýü§\85 [`Yoke::try_attach_to_cart_badly()`] and file a bug.Á”ë\Â8êÆÿòBÿµ�½‚¾¾½µþƲð þ\þÆêÆ �]¿‹#êÆ ¿»éü»]U¿�#êÆ‚ÑÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ¼8¿²ðüé]'‰»<°^ ¼¼8Â8²ðêÆ…Özœàzåçáã¿]üÍcŽü¢b# Use [`Yoke::attach_to_cart()`].ÁÊb�üÒbda This was needed because the pre-1.61 compiler couldn't always handle the [`FnOnce`] trait bound.Ál»c¤ÔcÂ8Á Á»éÛ¼8ÁBÿ‚8Bÿµµ À¼8Â8…á|œë|Šdü¾f«ü�e'$ Use [`Yoke::try_attach_to_cart()`].Á»e�üÃed«Òl¬fÄÅfÂ8Ä Ä»éÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛ¼8IJðBÿÿòBÿµ�ÃõÐÐ Þf ¼8Â8²ð…ë}œõ}!#‚güŸh+•ÆÿÈÆÈ㪠¤hóª ½hÇÙ¼8Ǥ§h‚8ÉËÌÍÐÔÙAC«hLNü×q;üÑh1. Obtain a valid reference to the yokeable dataÁ‡i�ü�iMJ This essentially transforms the lifetime of the internal yokeable data toÁlái be valid.ÁüóiJG For example, if you're working with a `Yoke, C>`, thisÁüÂj# will return an `&'a Cow<'a, T>`Áêj�lòjŠ¡„k�\Œk“¢¬œk§¢´¶kÅ¢ÜÑkä¢üñk7‰£ü­l!Ê£üÓlKõ£<£mɤ,¯m #Áü¹mKH # fn load_object(filename: &str) -> Yoke, Rc<[u8]>> {Áü‰n74 # let rc: Rc<[u8]> = load_from_cache(filename);ÁüÅnQN # Yoke::, Rc<[u8]>>::attach_to_cart(rc, |data: &[u8]| {Áü›o@= # Cow::Borrowed(bincode::deserialize(data).unwrap())Ádào # })Á<ñoɤýo�ü…pC@ // load_object() defined in the example at the top of this pageÁüÍpBòÀü”q$! assert_eq!(yoke.get(), "hello");Á<½q­©ÞqÊ Ê‚8 ÊÛ¼8ÊBÿÅâqźÙ$êqüµt üÂr(% Get a reference to the backing cart.Áïr�ü÷rXU This can be useful when building caches, etc. However, if you plan to store the cartÁüÔs\Y separately from the yoke, read the note of caution below in [`Yoke::into_backing_cart`].Ád¼tñ ñ‚8 ñÂ8BÿÅ ÉtÅÆÚ$Êtü¢�#üöt@= Get the backing cart by value, dropping the yokeable object.Á»u�üÃu]Z **Caution:** Calling this method could cause information saved in the yokeable object butÁü¥v[X not the cart to be lost. Use this method only if the yokeable object cannot contain itsÁ¤…w own information.Ážw�l¦wŠ¡¸w�üÀwYV Good example: the yokeable object is only a reference, so no information can be lost.Ážx�<¦x­©œ²x use yoke::Yoke;ÁÊx�üÒx&# let local_data = "foo".to_owned();ÁüýxKH let yoke = Yoke::<&'static str, Box>::attach_to_zero_copy_cart(ÁìÍy Box::new(local_data),Á4ïy );Áüúy# assert_eq!(*yoke.get(), "foo");Á¢z�Īz // Get back the cartÁüÇz(% let cart = yoke.into_backing_cart();Áôôz assert_eq!(&*cart, "foo");Á<—{­©£{�ü«{@= Bad example: information specified in `.with_mut()` is lost.Áð{�<ø{­©Ì„| use std::borrow::Cow;Áœ¢|‘çº|�üÂ|&ºç”í| let mut yoke =Áü„}IF Yoke::, Box>::attach_to_zero_copy_cart(ÁüÒ}! Box::new(local_data),ÁTø}¬Éü‡~" assert_eq!(yoke.get(), "foo");Á®~�ü¶~  // Override data in the cartÁÌÛ~ yoke.with_mut(|cow| {Áüù~# let mut_str = cow.to_mut();ÁÄ¡ mut_str.clear();Áü¾  mut_str.push_str("bar");Á<ã });Áüï" assert_eq!(yoke.get(), "bar");Á–€�Äž€¬éü»€(Îéüè€)& assert_eq!(&*cart, "foo"); // WHOOPS!Á<–�­©Œ©�‚8Â8BÿÅŠ̼8Â8Àü��Lüå�74 Unsafe function for replacing the cart with anotherÁ¡‚�ü©‚<9 This can be used for type-erasing the cart, for example.Áê‚�dò‚áÀƒƒ�ü‹ƒTQ - References from the yokeable `Y` should still be valid for the lifetime of theÁìäƒ returned cart type `C`.Á†„�üŽ„^[ For the purpose of determining this, `Yoke` guarantees that references from the YokeableÁüñ„b_ `Y` into the cart `C` will never be references into its stack data, only heap data protectedÁüØ…eb by `StableDeref`. This does not necessarily mean that `C` implements `StableDeref`, rather thatÁü†eb any data referenced by `Y` must be accessed through a `StableDeref` impl on something `C` owns.Á¬‡�ü´‡gd Concretely, this means that if `C = Option>`, `Y` may contain references to the `T` but notÁ¤ ˆ anything else.Áü¹ˆ[X - Lifetimes inside C must not be lengthened, even if they are themselves contravariant.Áü™‰XU I.e., if C contains an `fn(&'a u8)`, it cannot be replaced with `fn(&'static u8)`,Áüö‰)& even though that is typically safe.Á¤Š�ü¬Š$! Note: `f` *is* allowed to panic.ÁÕŠ�üÝŠ^[ Typically, this means implementing `f` as something which _wraps_ the inner cart type `C`.ÁüÀ‹XU `Yoke` only really cares about destructors for its carts so it's fine to erase otherÁü�ŒZW information about the cart, as long as the backing data will still be destroyed at theÁtüŒ same time.Ád«�‚8炇…ÿÅÔÎÞÏÎÏÅþÆ߃¸�þÆç‚¤Å�‹#ç‚í‚|Ê��#ç‚í‚߃×� ͼ8Â8߃ç‚R‚œ]‚eg`bü‰§~üê’(% Mutate the stored [`Yokeable`] data.Á—“�üŸ“YV If the callback needs to return `'static` data, then [`Yoke::with_mut_return`] can beÁüý“VS used until the next breaking release of `yoke`, at which time the callback to thisÁüØ”74 function will be able to return any `'static` data.Á”•�üœ•EB See [`Yokeable::transform_mut()`] for why this operation is safe.Áæ•�l¡€–�üˆ–B? This can be used to partially mutate the stored data, providedÁüÏ–)& no _new_ borrowed data is introduced.Áý–�\…—“¢ü•—! # use yoke::{Yoke, Yokeable};Á´»—Å¢Ü֗䢜ö— # use std::mem;ÁüŽ˜7‰£üʘ!Ê£üð˜Kõ£<À™ɤ,Ì™ÎÛüÖ™FC # fn load_object(filename: &str) -> Yoke, Rc<[u8]>> {Áü¡š7²ÜüÝšLI # Yoke::, Rc<[u8]>>::attach_to_cart(rc, |data: &[u8]| {Áü®›RO # // A real implementation would properly deserialize `Bar` as a wholeÁœ…œ # Bar {Áü�œNK # numbers: Cow::Borrowed(bincode::deserialize(data).unwrap()),ÁüðœMJ # string: Cow::Borrowed(bincode::deserialize(data).unwrap()),ÁüÂ�$! # owned: Vec::new(),Á|ë� # }Ádÿ�—Þ<�žɤœž�¼¤ž #[derive(Yokeable)]Á¤Àž struct Bar<'a> {ÁüÙž numbers: Cow<'a, [u8]>,Áìýž string: Cow<'a, str>,Á¼ŸŸ owned: Vec,Á,»Ÿê§ÅŸ�üÍŸ96 // `load_object()` deserializes an object from a fileÁü‹ @= let mut bar: Yoke = load_object("filename.bincode");ÁüР*' assert_eq!(bar.get().string, "hello");Áüÿ :7 assert!(matches!(bar.get().string, Cow::Borrowed(_)));Áü¾¡EB assert_eq!(&*bar.get().numbers, &[0x68, 0x65, 0x6c, 0x6c, 0x6f]);Áüˆ¢;8 assert!(matches!(bar.get().numbers, Cow::Borrowed(_)));ÁüÈ¢'$ assert_eq!(&*bar.get().owned, &[]);Áô¢�Äü¢ bar.with_mut(|bar| {Áü™£/, bar.string.to_mut().push_str(" world");ÁüÍ£63 bar.owned.extend_from_slice(&[1, 4, 1, 5, 9]);Á<ˆ¤��üœ¤0- assert_eq!(bar.get().string, "hello world");ÁüѤ74 assert!(matches!(bar.get().string, Cow::Owned(_)));Áü�¥41 assert_eq!(&*bar.get().owned, &[1, 4, 1, 5, 9]);ÁüÆ¥(% // Unchanged and still Cow::BorrowedÁüó¥EÙ�ü½¦;©Ž<ý¦­©D�§ Ô‚8êÆ�5BÿÅÔÑ‚ÒÑÒÅáÐ �§êÆ<ɧÓ‹#êÆ ÓÛ¼8ÔüÓ§3Ó�#êÆõ”�5üÛ§+ м8Â8ÔêÆ$¨§œ€„™§Ž�×§ü†¬¦üÁ¨XU Mutate the stored [`Yokeable`] data, and return `'static` data (possibly just `()`).Áž©�ü¦©TQ See [`Yokeable::transform_mut()`] for why this operation is safe, noting that noÁtÿ© `'static`.Á’ª�¼šª ### Will be removedÁü¶ª\Y This method will be removed on the next breaking release of `yoke`, when the callback ofÁü—«ZW [`Yoke::with_mut`] will gain the ability to return any `R: 'static` and supersede thisÁ\ö« method.Á|�¬•”êÆ™ŒBÿÅÔÕ‚ÖŽ×Ö×ÕÅáÐ ¡¬þÆ™Œ ¤¬Ù”<լ؋#êÆ Ø€•ü߬8Ø�#êÆŒ›™Œ –­™Œ<¤­ Ô¼8Â8ÔêÆ™Œ$¯¬œ†�¬ ¢›�ã¬üÜ®6üü­MJ Helper function allowing one to wrap the cart type `C` in an `Option`.Áœã®‚8¶�BÿÅÅ Ù¼8Â8�‡üÁ°)•ÛÛ㪠ưÜÙ¼8ܤɰ¢‘ÝÞ-/Ͱü¢·,üñ°?< Construct a new [`Yoke`] from static data. There will be noÁüµ±@= references to `cart` here since [`Yokeable`]s are `'static`,Áüú±2/ this is good for e.g. constructing fully ownedÁü±²)& [`Yoke`]s with no internal borrowing.Áß²�üç²IF This is similar to [`Yoke::new_owned()`] but it does not allow you toÁüµ³A> mix the [`Yoke`] with borrowed data. This is primarily usefulÁüû³,) for using [`Yoke`] in generic scenarios.Á¬´�l´´Š¡Æ´�\δ“¢¬Þ´§¢Üø´ä¢˜µ�ü µ41 let owned: Cow = "hello".to_owned().into();ÁüÙµA> // this yoke can be intermingled with actually-borrowed YokesÁüŸ¶A> let yoke: Yoke, ()> = Yoke::new_always_owned(owned);Áå¶�üí¶$¡ß<–·­©„©·¼8¢‘BÿÚÚ Ý¼8õlˆü»»üï¹.+ Obtain the yokeable out of a `Yoke`Á¢º�üªº74 For most `Yoke` types this would be unsafe but it'sÁüæº=: fine for `Yoke` since there are no actual internalÁt¨» referencesÁl»¢‘¼8BÿÚÚ Þ¼8‰ü“¾3•àÿââà㪠˜¾óª ±¾áÙ¼8ᤛ¾¶�ãä68Ÿ¾ACüåÅ+ü;?´�ü‘¿@þ�üÖ¿2Éžü�À)†Ÿ»À�üÃÀIF This can be paired with [`Yoke:: wrap_cart_in_option()`] to mix ownedÁ´‘Á and borrowed data.Á¬Á�ü´ÁXU If you do not wish to pair this with borrowed data, [`Yoke::new_always_owned()`] canÁü‘Â74 be used to get a [`Yoke`] API on always-owned data.ÁÍÂ�lÕŠ¡çÂ�\ï“¢¬ÿ§¢Ü™Ã䢴¹ÃÅ¢ÔÃ�üÜÃ4ý¡ü•ÄA¼¢üÛÄHE let yoke: Yoke, Option>> = Yoke::new_owned(owned);Á¨Å�ü°Å$¡ß<ÙÅ­©Lòż8¶�Bÿßß ã¼8Â8õÙ‰üŸÉ1üÚÇB? Obtain the yokeable out of a `Yoke>` if possible.Á¡È�ü©ÈHE If the cart is `None`, this returns `Ok`, but if the cart is `Some`,ÁüöÈ$! this returns `self` as an error.ÁŒ¦É¶�ššBÿßß ä¼8Â8ûŒüãËH•æÿèèæãª èËóª �ÌçÙ¼8ç¤ëËÂ8œ„̶�éBDïËMOü³ÙRü²ÌJG Converts a `Yoke>` to `Yoke>`Áü�Í96 for better niche optimization when stored as a field.Á¿Í�tÇÍë¾ÚÍ�<âÍ­©Ìî͢뜌Αç¤Î�ü¬Î-* let yoke: Yoke, Box>> =ÁüÞÎDA Yoke::attach_to_cart(vec![10, 20, 30].into(), |c| c.into());Á§Ï�ü¯Ï1. let yoke_option = yoke.wrap_cart_in_option();ÁüåÏMJ let yoke_option_pointer = yoke_option.convert_cart_into_option_pointer();Á<·Ð­©ÃÐ�üËÐ# The niche improves stack sizes:ÁóÐ�<ûЭ©œ‡Ñ‘çüŸÑ2/ use yoke::cartable_ptr::CartableOptionPointer;Á¤ÖÑ use std::rc::Rc;ÁïÑ�ü÷Ñ" // The data struct is 6 words:ÁüžÒ # #[derive(yoke::Yokeable)]ÁüÂÒ # struct MyDataStruct<'a> {ÁüæÒ+( # _s: (usize, usize, usize, usize),Á´–Ó # _p: &'a str,Á<±Óɤü½Ó(% const W: usize = size_of::();ÁüêÓ1. assert_eq!(W * 6, size_of::());Á Ô�ü¨ÔOL // An enum containing the data struct with an `Option` cart is 8 words:ÁÄüÔ enum StaticOrYoke1 {Áü™Õ/, Static(&'static MyDataStruct<'static>),ÁüÍÕ>; Yoke(Yoke, Option>>),Á,�Öê§üšÖ2/ assert_eq!(W * 8, size_of::());ÁÑÖ�üÙÖWT // When using `CartableOptionPointer``, we need only 7 words for the same behavior:Áĵ× enum StaticOrYoke2 {ÁüÒ×/Óºü†ØMJ Yoke(Yoke, CartableOptionPointer>>),Á,ØØê§üâØ2/ assert_eq!(W * 7, size_of::());Á<™Ù­©üºÙ ¶�œŸBÿåå é¼8Â8i�üÝÞW•ëÿííë㪠âÞóª ûÞìÙ¼8ì¤åÞ´±œþÞœŸî<>éÞGIü�á1ü»ßQN Obtain the yokeable out of a `Yoke>` if possible.Á‘à�ü™àHš®üæà$í®Œ¤áœŸ‡¥Bÿêê î¼8Â8h’üúé%ü×âDA This trait marks cart types that do not change source on cloningÁœã�ü ãMJ This is conceptually similar to [`stable_deref_trait::CloneStableDeref`],ÁüîãOL however [`stable_deref_trait::CloneStableDeref`] is not (and should not) beÁü¾äZW implemented on [`Option`] (since it's not [`Deref`]). [`CloneableCart`] essentially isÁü™åUR "if there _is_ data to borrow from here, cloning the cart gives you an additionalÁìïå handle to the same data".Á�æ�d‘æáÀüžæˆ… This trait is safe to implement on `StableDeref` types which, once `Clone`d, point to the same underlying data and retain ownership.Á§ç�ü«çŽ‹ This trait can also be implemented on aggregates of such types like `Option` and `(T: CloneableCart, U: CloneableCart)`.Áºè�ü¾èЇ Essentially, all data that could be referenced by a Yokeable (i.e. data that is referenced via a [`StableDeref`]) must retain the sameÁüÉé0- pointer and ownership semantics once cloned.Ál‹êïïÎÀüúé(…ÖÀ,šêïÎÀ-íË!ÎÀ9íË-üéì9�ññÉ¿ õìïî4løì‰9ü»î2Ôó�ôôóÿƇ24Îî�2Çî Ëîü™ï �5üâózü¾ïgd Clone requires that the cart type `C` derefs to the same address after it is cloned. This works forÁ¼¦ð Rc, Arc, and &'a T.Á¾ð�üÂð`] For other cart types, clone `.backing_cart()` and re-use `.attach_to_cart()`; however, doingÁü£ñ63 so may lose mutations performed via `.with_mut()`.ÁÚñ�üÞñ_\ Cloning a `Yoke` is often a cheap operation requiring no heap allocations, in much the sameÁü¾òa^ way that cloning an `Rc` is a cheap operation. However, if the `yokeable` contains owned dataÁü óA> (e.g., from `.with_mut()`), that data will need to be cloned.Á•÷ÿùù÷㪠çóóª €ôøÙ¼8ø¤êóïÂ8lƒôú…Û¼8ú,Öô‚8û†ûprîó{}µô¼ãô,æôò ò‚8‚8Bÿö ìôö û¼8Â8$íôüøþ+•ýÿÿýÿ㪠ýþóª –ÿþÙ¼8þ¤€ÿ‚8€…‹‘˜�£©GI„ÿRTüƒ’ìüªÿWT Allows one to "project" a yoke to perform a transformation on the data, potentiallyÁü†€ZW looking at a subfield, and producing a new yoke. This will move cart, and the providedÁüå€RO transformation is only allowed to use data known to be borrowed from the cart.Á¼��üÄ�\Y If producing the new [`Yokeable`] `P` requires access to the cart in addition to the oldÁü¥‚_\ `Y`, then [`Yoke::map_with_cart`] can be used if the cart satisfies additional constraints.Á‰ƒ�ü‘ƒUR The callback takes an additional `PhantomData<&()>` parameter to anchor lifetimesÁüëƒQN (see [#86702](https://github.com/rust-lang/rust/issues/86702)) This parameterÁüÁ„+( should just be ignored in the callback.Áñ„�üù„PM This can be used, for example, to transform data from one format to another:ÁÎ…�<Ö…­©´â…Å¢¬ý…§¢,—†ÎÛü¡†PM fn slice(y: Yoke<&'static str, Rc<[u8]>>) -> Yoke<&'static [u8], Rc<[u8]>> {Áüö†1. y.map_project(move |yk, _| yk.as_bytes())Á,¬‡ê§<¶‡­©‡�üʇ96 This can also be used to create a yoke for a subfieldÁˆˆ�<�ˆ­©üœˆ!ƒ„œÂˆÊ„´ÚˆÅ¢,õˆÎÛüÿˆ*' // also safely implements Yokeable<'a>Á¤®‰¤ŠÔlj string_1: &'a str,ÁÔæ‰ string_2: &'a str,Á,…Šê§�Š�ä—Š fn map_project_string_1(Áü¸Š*' bar: Yoke, Rc<[u8]>>,ÁüçŠ'$ ) -> Yoke<&'static str, Rc<[u8]>> {Áü“‹.+ bar.map_project(|bar, _| bar.string_1)Á,Æ‹ê§Ћ�,Ø‹ÎÛüâ‹52 # unsafe impl<'a> Yokeable<'a> for Bar<'static> {ÁüœŒ  # type Output = Bar<'a>;ÁüÁŒ1. # fn transform(&'a self) -> &'a Bar<'a> {Á”÷Œ # selfÁ\Ž� # }Á,ž�ÎÛü¨�/, # fn transform_owned(self) -> Bar<'a> {ÁüÜ�<9 # // covariant lifetime cast, can be done safelyÁ”�Žëã\´Ž‡ä,ÄŽÎÛüÎŽ1. # unsafe fn make(from: Bar<'a>) -> Self {Áü„�-* # unsafe { mem::transmute(from) }Á\¶�‡ä,Æ�ÎÛüÐ�1. # fn transform_mut(&'a mut self, f: F)Á|†� # whereÁüš�85 # F: 'static + FnOnce(&'a mut Self::Output),Á\×� # {Áüç�0- # unsafe { f(mem::transmute(self)) }Á\œ‘‡ä<¬‘ɤ<¸‘­©\Š’‚8êÆµ¯BÿüŒ�‚‚�‚üþÆÄ­ –’áÐ ™’ƒÙÄ­ƒ¤Ë’„‹#êÆÛ¼8„„!„!…!—9o$z�é - „�5üì’‚„�#êÆ�ëÛÄ­„ÜÓ“ €¼8Â8Ä­êÆ€—œ‹—ÜÞàâÏ’ð’ü¿š¢üá—FC This is similar to [`Yoke::map_project`], however it does not moveÁü¬˜RO [`Self`] and instead clones the cart (only if the cart is a [`CloneableCart`])Áƒ™�ü‹™a^ This is a bit more efficient than cloning the [`Yoke`] and then calling [`Yoke::map_project`]Áüñ™IF because then it will not clone fields that are going to be discarded.Á”Æš º‚8¨³”¶Bÿüº†Œ‡‚ˆˆ†‡üþÆü³ àšþƨ³ 㚉Ùü³‰¤œ›´Ól½›Š‹#¨³ ºÛ¼8Š„!„!…!—9o$z�é - Š�5ü×›‰Š�#¨³�ñÛü³ŠÜÅœ …¼8Â8ºü³¨³$íšœëš,Ùš ›Û›üØ®‰ü¹ TQ This is similar to [`Yoke::map_project`], however it can also bubble up an errorÁ´’¡ from the callback.Á­¡�<µ¡­©´Á¡Å¢¬Ü¡§¢üö¡&# # use std::str::{self, Utf8Error};Á,¡¢ÎÛl«¢ fn slice(Áü½¢)& y: Yoke<&'static [u8], Rc<[u8]>>,Áüë¢:7 ) -> Result>, Utf8Error> {Áüª£@= y.try_map_project(move |bytes, _| str::from_utf8(bytes))Á,ï£ê§<ù£­©…¤�ü�¤9˜Þˤ�<Ó¤­©üߤ!ƒ„œ…¥Ê„´�¥Å¢ü¸¥&Æó,ã¥ÎÛüí¥*°ß¤œ¦¤ŠÔµ¦ bytes_1: &'a [u8],ÁÔÔ¦–à,ó¦ê§ý¦�ä…§Õàü¦§*üàüÕ§:Ðôü”¨A> bar.try_map_project(|bar, _| str::from_utf8(bar.bytes_1))Á,Ú¨ê§ä¨�,ì¨ÎÛüö¨5Åâü°© …ãüÕ©1°ã”‹ªëã\¢ª‡ä,²ªÎÛü¼ª/«äüðª<åä”±«ëã\È«‡ä,Ø«ÎÛüâ«1Öåü˜¬-’æ\ʬ‡ä,Ú¬ÎÛüä¬1ææ|š­¡çü®­8»ç\ë­ýçüû­0“è\°®‡ä<À®ɤ<Ì®­©|ß®‚8êÆ¥¾BÿüŒŒ‚��ŽŒ�ŽüÃê ï®áÐ ò®þÆå» õ®�ÙÄ­�¤²¯�‹#êÆÛ¼8�„!„!…!—9o$z�é - ��5üÓ¯���#êÆ€þÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛÄ­�å»üº°& ‹¼8Â8Ä­êÆå»• œ  FILOIL¶¯ׯüº·¿üØ´JG This is similar to [`Yoke::try_map_project`], however it does not moveÁü§µR·ìþµ�ü†¶a¡íüì¶I�î´Á·ö勉¸ÊBÿüº’Œ“‚”�•”’•“üÁð ß·Óð â·þÆúÇ å·–Ùü³–¤©¸´Ólʸ—‹#¨³ ºÛ¼8—„!„!…!—9o$z�é - —�5ü且—�#¨³™ƒÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛü³—úÇüÒ¹& ‘¼8Â8ºü³¨³úÇ$﷜զ,Ø·ehknhk­¸è¸üŽÀ³üÕ½PM This is similar to [`Yoke::map_project`], but it works around older versionsÁüª¾NK of Rust not being able to use `FnOnce` by using an explicit capture input.Áüý¾B? See [#1061](https://github.com/unicode-org/icu4x/issues/1061).ÁÄ¿�üÌ¿=: See the docs of [`Yoke::map_project`] for how this works.Áü•À!‚8Í՜ۼ8œÍÕ„!„!…!—9o$z�é - œ�5ÛÄ­œBÿµ¯BÿüŒ™�š™šüÃê ·ÀþÆÍÕ ºÀ›ÙÄ­›¤¬Â ˜¼8Â8Ä­ÍÕFªŒÖSªœ¨ª^`Y[°ÂïÀü²ÉéüëÆWT This is similar to [`Yoke::map_project_cloned`], but it works around older versionsÁüÇÇNÎ…üšÈB§†áÈ�üéÈDA See the docs of [`Yoke::map_project_cloned`] for how this works.Áü¹É(ž ž‚8ÍÕ¢ žÛ¼8¢ÍÕ„!„!…!—9o$z�é - ¢�5ÛÄ­¢Bÿµ¯BÿüŒŸ�  Ÿ,âÉüÃê éɄРìÉ¡ÙÄ­¡¤ìË´Ól�Ì �¼8Â8Ä­ÍÕ$ÿÉŒÖb­œ€­npdfhjð˨ÊüäÒÐüüÏTQ This is similar to [`Yoke::try_map_project`], but it works around older versionsÁüÕÐNÎ…ü¨ÑB§†ïÑ�ü÷ÑA> See the docs of [`Yoke::try_map_project`] for how this works.ÁüëÒ%‚8ÍÕ¨Û¼8¨ÍÕ„!„!…!—9o$z�é - ¨�5ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛÄ­¨å»Bÿ¥¾BÿüŒ¤�¥�¦¤¥¦üÃê ‘Ó„Š ”Ó¿ý —Ó§ÙÄ­§¤ŸÕ £¼8Â8Ä­ÍÕå»ʱŒÖÕ±œC²bdfhjl£ÕÌÓüÙ܆üãÙ[X This is similar to [`Yoke::try_map_project_cloned`], but it works around older versionsÁüÃÚNÎ…ü–ÛB§†ÝÛ�üåÛHE See the docs of [`Yoke::try_map_project_cloned`] for how this works.ÁüàÜ,ª ª‚8ÍÕ¯ ªÛ¼8¯ÍÕ„!„!…!—9o$z�é - ¯�5ÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛÄ­¯å»Bÿ¥¾BÿüŒ«�¬�­¬«­,�ÝüÃê ”Ý„Š —Ý¿ý šÝ®ÙÄ­®¤°ß´ÓlÑß ©¼8Â8Ä­ÍÕå»$­ÝŒÖ·œ·{}qsuwy{´ßÖÝüÃãa•±ÿ³±³ãª Èãóª áã²Ù¼8²¤Ëãûº\ä㉻<œä‚8´¹¿ÅMOÏãXZü¦ýšü«ä\Y Allows one to produce a new yoke from both the cart and the old yoke. This will move theÁüŒå_\ cart, and the provided transformation is only allowed to use data known to be borrowed fromÁlðå the cart.Á‚æ�üŠæ\Y If access to the old [`Yokeable`] `Y` is sufficient to produce the new [`Yokeable`] `P`,ÁüëæXU then [`Yoke::map_project`] should be preferred, as `map_with_cart` places additionalÁäÈç constraints on the cart.Áéç�üñç_\ This can be used, for example, to transform data between two formats, one of which containsÁtÕè more data:Áèè�<ðè­©üüè!ƒ„œ¢éÊ„´ºéÅ¢,ÕéÎÛüßé\Y // Both structs have `first_line`, which won't need to be recomputed in `map_with_cart`.ÁüÀê0- // They also safely implement `Yokeable<'a>`Á¤õê struct Foo<'a> {ÁüŽë$! first_line: Option<&'a str>,Á,·ëꧤÁ뤊üÚë$ø¡üƒì# last_line: Option<&'a str>,Á,«ìê§µì�”½ì fn foo_to_bar(ÁüÔì)& foo: Yoke, Rc>,Áü‚í&# ) -> Yoke, Rc> {Áü­í'$ foo.map_with_cart(|foo, cart| {ÁŒÙí Bar {Áüïí+( first_line: foo.first_line,ÁüŸî41 last_line: cart.lines().next_back(),ÁlØî }ÁTêî×§,ùî꧃ï�”‹ï fn bar_to_foo(Áü¢ï)& bar: Yoke, Rc>,ÁüÐï&# ) -> Yoke, Rc> {Áüûï" bar.map_project(|bar, _| {ÁŒ¢ð Foo {Áü¸ð+( first_line: bar.first_line,ÁlèðÝ¥Túð×§,‰ñê§“ñ�,›ñÎÛü¥ñ52 # unsafe impl<'a> Yokeable<'a> for Foo<'static> {Áüßñ  # type Output = Foo<'a>;Áü„ò1. # fn transform(&'a self) -> &'a Foo<'a> {Á”ºòëã\Ñò‡ä,áòÎÛüëò/, # fn transform_owned(self) -> Foo<'a> {ÁüŸó<åä”àóëã\÷ó‡ä,‡ôÎÛü‘ô1. # unsafe fn make(from: Foo<'a>) -> Self {ÁüÇô-’æ\ùô‡ä,‰õÎÛü“õ1ææ|Éõ¡çüÝõ8»ç\šöýçüªö0“è\ßö‡ä<ïöɤ,ûöÎÛü…÷5Åâü¿÷ …ãüä÷1°ã”šøëã\±ø‡ä,ÁøÎÛüËø/«äüÿø<åä”Àùëã\×ù‡ä,çùÎÛüñù1Öåü§ú-’æ\Ùú‡ä,éúÎÛüóú1ææ|©û¡çü½û8»ç\úûýçüŠü0“è\¿ü‡ä<Ïüɤ<Ûü­©l­ý‚8êÆµ¯Bÿ°Œµ‚¶µ¶°Ãê »ýáÐ ¾ý·ÙÄ­·¤ðý¸‹#êÆÛ¼8¸ ¸»éü‘þ‡¸�#êÆرÛÄ­¸Üýþ‰»<¸ÿ ´¼8Â8Ä­êÆ»œ(»ÀÂÄÆôý•þüªˆÐüÛƒYV This is similar to [`Yoke::map_with_cart`], but it does not move [`Self`] and insteadÁü¹„>; clones the cart (only if the cart is a [`CloneableCart`]).Áü„�ü„…KH This is a bit more efficient than cloning the [`Yoke`] and then callingÁüÔ…\Y [`Yoke::map_with_cart`] because it will not clone fields that are going to be discarded.Áµ†�ü½†\åœüž‡[X then [`Yoke::map_project_cloned`] should be preferred, as `map_with_cart_cloned` placesÁüþ‡'$ additional constraints on the cart.Á¤±ˆö勉”¶Bÿ°ººŒ»‚¼º»¼°Áð ͈Óð Ј½Ùü³½¤‰‰¾‹#¨³ ºÛ¼8¾ ¾»éüª‰Ž¾�#¨³Û¸Ûü³¾Ü�Š´ÓlÅŠ‰»<òŠ ¹¼8Â8ºü³¨³$Úˆœd¾,ƈßáãå�‰®‰ü£•·üØŽRO This is similar to [`Yoke::map_with_cart`], but it can also bubble up an errorÁ´¯�îòÊ��üÒ�\åœü³�UR then [`Yoke::try_map_project`] should be preferred, as `try_map_with_cart` placesÁü�‘'޶¹‘�<Á‘­©´Í‘Å¢¬è‘§¢ü‚’&Æó,­’ÎÛä·’ // Implements `Yokeable`ÁüØ’+( type P<'a> = (&'a str, Option<&'a u8>);Áˆ“�l�“„ôü¢“)œôüГ85 ) -> Result, Rc<[u8]>>, Utf8Error> {Áü�”0- y.try_map_with_cart(move |bytes, cart| {Áü”74 Ok((str::from_utf8(bytes)?, bytes.first()))ÁTþ”×§,�•ê§<—•­©Œª•‚8êÆ¥¾Bÿ°ŒÀ‚Á�ÂÂÀÁ°Ãê ¼•áÐ ¿•¿ý •ÃÙĭäÿ•Ä‹#êÆÛ¼8Ä Ä»éü –’Ä�#êÆ–ÁÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛÄ­Äå»üŒ—&‰»<Ò— ¿¼8Â8Ä­êÆå»�Ü›Ã!$'*-0ƒ–¤–üØ íüú›]Z This is similar to [`Yoke::try_map_with_cart`], but it does not move [`Self`] and insteadÁüÜœ>ù²Ÿ��ü§�Kϳü÷�`] [`Yoke::try_map_with_cart`] because it will not clone fields that are going to be discarded.ÁÜž�üäž[X If access to the old [`Yokeable`] `Y` is sufficient to producethe new [`Yokeable`] `P`,ÁüÄŸ\Y then [`Yoke::try_map_project_cloned`] should be preferred, as `try_map_with_cart_cloned`Áü¥ .+ places additional constraints on the cart.ÁÄß ö勉¸ÊBÿ°ºÆŒÇ‚È�ÉÆÈÉǰÁð ÿ Óð ‚¡Ï‚ …¡ÊÙü³Ê¤É¡´Ólê¡Ë‹#¨³ ºÛ¼8Ë Ë»éü„¢™Ë�#¨³ŒÉÀœÜÄœ¯ÅœóƜǜ€Èœó‘¥_¿´ÒwÛü³ËúÇü÷¢&‰»<½£ ż8Â8ºü³¨³úÇ$�¡œÒÈ,ø @CFILOÍ¡ˆ¢üŽÝ+•ÍÿÏÏÍ㪠“Ýóª ¬ÝÎÙ¼8Τ–Ý‚8ÐÒ57šÝ@BüêßBüÀÝPM Helper function allowing one to wrap the cart type `C` in an [`EitherCart`].Á•Þ�ü�ÞJG This function wraps the cart into the `A` variant. To wrap it into theÁüìÞ74 `B` variant, use [`Self::wrap_cart_in_either_b()`].Á¨ß�ü°ß'$ For an example, see [`EitherCart`].Á¬ñß‚8Ý–BÿÌþÑÑÌþÆ…– ‡à м8Â8…–(ËüåãBü»áPÑË�â�ü˜âJG This function wraps the cart into the `B` variant. To wrap it into theÁüçâ74 `A` variant, use [`Self::wrap_cart_in_either_a()`].Á£ã�ü«ã'Ýͬìã‚8–™BÿÌýÓÓÌþÆ»˜ ‚ä Ò¼8Â8»˜aÌ\Ȇ Ά€�5\Ù» ß»€�5\ω Õ‰€�5däDèÙ—9\¼„!ר—9…!×ØÌ®+ü¬&üÊ_\ The `Yokeable<'a>` trait is implemented on the `'static` version of any zero-copy type; forÁüªHE example, `Cow<'static, T>` implements `Yokeable<'a>` (for all `'a`).Áó�|÷ One can useÁü‡_\ `Yokeable::Output` on this trait to obtain the "lifetime'd" value of the `Cow<'static, T>`,ÁüçFC e.g. ` as Yokeable<'a>'>::Output` is `Cow<'a, T>`.Á®�ü²OL A [`Yokeable`] type is essentially one with a covariant lifetime parameter,Áü‚RO matched to the parameter in the trait definition. The trait allows one to castÁüÕ1. the covariant lifetime to and from `'static`.Á‡�ü‹a^ **Most of the time, if you need to implement [`Yokeable`], you should be able to use the safeÁüíC@ [`#[derive(Yokeable)]`](yoke_derive::Yokeable) custom derive.**Á±�üµRO While Rust does not yet have GAT syntax, for the purpose of this documentationÁüˆ OL we shall refer to "`Self` with a lifetime `'a`" with the syntax `Self<'a>`.ÁüØ GD Self<'static> is a stand-in for the HKT Self<'_>: lifetime -> type.Á  �ü¤ qn With this terminology, [`Yokeable`] exposes ways to cast between `Self<'static>` and `Self<'a>` generically.Áü– ]Z This is useful for turning covariant lifetimes to _dynamic_ lifetimes, where `'static` isÁüô *' used as a way to "erase" the lifetime.ÁŸ �d£ áÀ° �ü´ b_ This trait is safe to implement on types with a _covariant_ lifetime parameter, i.e. one whereÁü— \Y [`Self::transform()`]'s body can simply be `{ self }`. This will occur when the lifetimeÁüô da parameter is used within references, but not in the arguments of function pointers or in mutableÁüÙ;8 positions (either in `&mut` or via interior mutability)Á•�ü™[X This trait must be implemented on the `'static` version of such a type, e.g. one shouldÁüõA> implement `Yokeable<'a>` (for all `'a`) on `Cow<'static, T>`.Á·�ü»LI This trait is also safe to implement on types that do not borrow memory.Áˆ�üŒQN There are further constraints on implementation safety on individual methods.ÁÞ�äâ # Implementation exampleÁÿ�üƒWT Implementing this trait manually is unsafe. Where possible, you should use the safeÁüÛ_\ [`#[derive(Yokeable)]`](yoke_derive::Yokeable) custom derive instead. We include an exampleÁü»OL in case you have your own zero-copy abstractions you wish to make yokeable.Á‹�\�“¢Ì› # use yoke::Yokeable;Áܵä¢ÔÑ # use std::{mem, ptr};Á¤ì¤Šü�Êì¡ìм¿“‹,×ê§Ý�üá30 unsafe impl<'a> Yokeable<'a> for Bar<'static> {Áô• type Output = Bar<'a>;Áü´/, fn transform(&'a self) -> &'a Bar<'a> {Áüä:7 // covariant lifetime cast, can be done safelyÁ„Ÿ selfÁL° }Áº�ü¾-* fn transform_owned(self) -> Bar<'a> {Áüì:Êé„§�êL¸¦êÂ�üÆ/, unsafe fn make(from: Bar<'a>) -> Self {ÁüöA> unsafe { mem::transmute::(from) }ÁL¸¦êÂ�üÆ/, fn transform_mut(&'a mut self, f: F)Álö whereÁü„63 F: 'static + FnOnce(&'a mut Self::Output),ÁL» {ÁüÅNK unsafe { f(mem::transmute::<&mut Self, &mut Self::Output>(self)) }ÁL”¦ê,žê§<¤­©D½ÙÔÚÙÚÎÀü¬¾1ÖÀ<ËÙÎÀ'—ð ÎÀ3—ð,ÛÜÝÞßÛÜÝÞßþÆÛÖÀÔ„±éðÔ¾áð€ñÞÜßÝÆ|±üÙSP This type MUST be `Self` with the `'static` replaced with `'a`, i.e. `Self<'a>`Á4¶ÙÙü”+üÇPM This method must cast `self` between `&'a Self<'static>` and `&'a Self<'a>`.Áœ�ܤ # Implementation safetyÁÄ�üÌRO If the invariants of [`Yokeable`] are being satisfied, the body of this methodÁü£XU should simply be `{ self }`, though it's acceptable to include additional assertionsÁ|€ if desired.ÁL— ÔÖÀ ÔéðBÿÙÙ ÜÖÀÔ$¥üŠ")üÅHE This method must cast `self` between `Self<'static>` and `Self<'a>`.Á’ �Üš žòº �ü RÏòü™!X«ó|ö!Œô|�"ÖÀéðBÿÙÙ ÝÖÀÔ$�"ü§%+ü¹"?< This method can be used to cast away `Self<'a>`'s lifetime.Áý"�d…#áÀ–#�üž#VS The returned value must be destroyed before the data `from` was borrowing from is.Áù#�Ü�$žò¡$�ü©$RO A safe implementation of this method must be equivalent to a transmute betweenÁü€%" `Self<'a>` and `Self<'static>`Á$±%éðÖÀÿÙÙ ÞÖÀÔ”$¶%ü©K¿üØ%XU This method must cast `self` between `&'a mut Self<'static>` and `&'a mut Self<'a>`,Á¼µ& and pass it to `f`.ÁÑ&�ÜÙ&žòù&�ü�'_\ A safe implementation of this method must be equivalent to a pointer cast/transmute betweenÁüå'@= `&mut Self<'a>` and `&mut Self<'static>` being passed to `f`Áª(�¼²( # Why is this safe?ÁÎ(�üÖ(PM Typically covariant lifetimes become invariant when hidden behind an `&mut`,Áü«)LI which is why the implementation of this method cannot just be `f(self)`.Áüü)gd The reason behind this is that while _reading_ a covariant lifetime that has been cast to a shorterÁüè*XU one is always safe (this is roughly the definition of a covariant lifetime), writingÁüÅ+]Z may not necessarily be safe since you could write a smaller reference to it. For example,Áü§,c` the following code is unsound because it manages to stuff a `'a` lifetime into a `Cow<'static>`Á�-�ô—- ```rust,compile_fail,E0521Áܺ-ä¢ÌÚ-Œç„ø- struct Foo {Á¤�. str: String,Áü¦. cow: Cow<'static, str>,Á,Ê.ê§Ô.�üÜ.&# fn unsound<'a>(foo: &'a mut Foo) {Áü‡/ let a: &str = &foo.str;Áü«/=: foo.cow.transform_mut(|cow| *cow = Cow::Borrowed(a));Á,í/ê§<÷/­©ƒ0�ü‹0da However, this code will not compile because [`Yokeable::transform_mut()`] requires `F: 'static`.Áüô0`] This enforces that while `F` may mutate `Self<'a>`, it can only mutate it in a way that doesÁüÙ1fc not insert additional references. For example, `F` may call `to_owned()` on a `Cow` and mutate it,ÁüÄ2^[ but it cannot insert a new _borrowed_ reference because it has nowhere to borrow _from_ --Áü§3jg `f` does not contain any borrowed references, and while we give it `Self<'a>` (which contains borrowedÁü–42/ data), that borrowed data is known to be validÁÍ4�üÕ4ZW Note that the `for<'b>` is also necessary, otherwise the following code would compile:Á´5�ô¼5®‚Üß5ä¢Ìÿ5Œçœ�6Ê„,µ6ÎÛü¿6*°ß¤î6¤Š„‡7 num: u8,ÁÌœ7 cow: Cow<'a, u8>,Á,º7ê§Ä7�üÌ7/, fn unsound<'a>(bar: &'a mut Bar<'static>) {Áü€8HE bar.transform_mut(move |bar| bar.cow = Cow::Borrowed(&bar.num));Á,Í8ê§,×8ÎÛüá85Åâü›9 …ãüÀ91°ã”ö9ëã\�:‡ä,�:ÎÛü§:/«äüÛ:<å䔜;ëã\³;‡ä,Ã;ÎÛüÍ;1Öåüƒ<30 # let ret = mem::transmute_copy(&from);Áü»<  # mem::forget(from);ÁŒà< # retÁ\ö<‡ä,†=ÎÛü�=1ææ|Æ=¡çüÚ=8»ç\—>ýçü§>0“è\Ü>‡ä<ì>ɤ<ø>­©„?�üŒ?YV which is unsound because `bar` could be moved later, and we do not want to be able toÁüê?! self-insert references to it.Á�@�ü˜@`] The `for<'b>` enforces this by stopping the author of the closure from matching up the inputÁüý@IF `&'b Self::Output` lifetime with `'a` and borrowing directly from it.ÁËA�üÓA`] Thus the only types of mutations allowed are ones that move around already-borrowed data, orÁì¸B introduce new owned data:ÁÚB�\âB“¢ÜòBä¢Ì’CŒç„°CÅCˆƒüÞC¦ƒ,‚Dê§ŒD�ì”D fn sound(foo: &mut Foo) {Áü¶DA> foo.cow.transform_mut(move |cow| cow.to_mut().push('a'));Á,üDê§<†E­©’E�üšEKH More formally, a reference to an object that `f` assigns to a referenceÁüêE'$ in Self<'a> could be obtained from:Áü–FQN - a local variable: the compiler rejects the assignment because 'a certainlyÁüìF%" outlives local variables in f.Áü–GMJ - a field in its argument: because of the for<'b> bound, the call to `f`ÁüèGPM must be valid for a particular 'b that is strictly shorter than 'a. Thus,Áü½H+( the compiler rejects the assignment.ÁüíHEB - a reference field in Self<'a>: this does not extend the set ofÁü·IEB non-static lifetimes reachable from Self<'a>, so this is fine.Áü�JPM - one of f's captures: since F: 'static, the resulting reference must referÁ¼ÖJ to 'static data.ÁüòJ2/ - a static or `thread_local` variable: ditto.Ál¬K ÔÖÀ”º�5BÿÙ‚ààÙ›� ºKÓ�<¹Lá‹#”º áéðüÃL$á�#”º½Ÿ�5äËL ßÖÀÔ”º$ÅKœ ËKprÇLü¦V@Ôã�äãä�Í4ÃVæ…<¹Vö9åæçèéÛÜÝÞßéçæè²V ¶V\íV4òVââ�2ü”W#L—W Ôö9 Ô�2Bÿââ æÔ‡2$¥Wü¶X!|¹Xö9�2Bÿââ çÔ‡2ÎüÖY#$àY�2ö9ÿââ èÔ‡2”tÎüÁ[llÄ[ Ôö9”º�5Bÿâ‚êêâ›� Ò[Ó�<þ[ë‹#”º ëÛö9Ôüˆ\$ë�#”º¡¤�5ä�\ éÔ‡2”º$Ý[œPÏ{}Œ\ü‘dDÔí�îîí�Í4¤dæ…<­d‰:ïðñòóÛÜÝÞßòðóñ�d ¡d\Üd4ádìì‰:üÿd*L‚e Ô‰: ÔÛ‰:ÔBÿìì ðÔ‡2$�eüÄe(|Çe‰:â¦Bÿìì ñÔ‡29Ðü‡f*$‘f⦉:ÿìì òÔ‡2”�ÐüÌf¿lÏf Ô‰:”º�5Bÿì‚ôôì›� ÝfÓ�<Ügõ‹#”º õâ¦üæg$õ�#”º¡©�5äîg óÔ‡2”º$èfœ2Ñnpêgl�Ó÷¤øäòL“Ñ$ÖŒö÷†ýDçÙöø‡ýPöøƒs,�Ü"öùƽ\ öúÀ§D¹ öûˆÀ§3öûˆ\Ϥ|à‘„öhüŒY|²JüÄÄ•ýÿþþý㪠Éóª ÌÿÙ¼8ÿ¤ç€ Û¼8€€»éü¦"ûº\ÑÜ"Â8,߉»<€‚8�€‚…‡ë…üÜ 0ü�\Y Construct a [`Yoke`]`` from a cart implementing `StableDeref` by zero-copy cloningÁüð=: the cart to `Y` and then yokeing that object to the cart.Á²�üºYV The type `Y` must implement [`ZeroFrom`]``. This trait is auto-implementedÁü˜\Y on many common types and can be custom implemented or derived in order to make it easierÁÔù to construct a `Yoke`.Á˜�l Š¡²�¬º Attach to a cart:ÁÔ�<Ü­©Ìè¢ëœ†‘çž�ü¦KH let yoke = Yoke::, String>::attach_to_zero_copy_cart(ÁÔö "demo".to_owned(),Á4• äè  �ü¨ # assert_eq!("demo", yoke.get());Á<Ð ­©Äã Â8‚8Bÿüü �¼8Â8…ýѺ ��‚�‚�‚‚��¤¬ÂÓÉ”¥ÔŸ|Ó\âžÓžÓ°Ó°ÓÌŽDŸ”ËÓ÷¤°äªÊÓüåI#ü­GEB A type with similar semantics as `Option>` but with a niche.ÁóG�ü÷GJG This type cannot be publicly constructed. To use this in a `Yoke`, seeÁüÂH/, [`Yoke::convert_cart_into_option_pointer`].ÁòH�üöH]Z [`Yoke::convert_cart_into_option_pointer`]: crate::Yoke::convert_cart_into_option_pointerÁ¬ðIÿŠŠô× †J„Øœ–J§2«“¢úŒ¹(Õ‹Œ()+´’L,’L‰‰×BÌ®LL®L‰‰ÍC› ÿŽŽô׌Ÿgß2†J„ØšŸg…C› §2� g�À› › ÅÆÇ Å§2 Æ€g€gŠ‚gê ûcƒg£EûcØ«q¢1È¡ÇòDBÿ�ÝI� �ß2› œ› ÜœüÊRO A cart that can be one type or the other. Enables ergonomic polymorphic carts.Á��ü¡TQ `EitherCart` enables yokes originating from different data sources and thereforeÁüöUR having different cart types to be merged into the same yoke type, but still beingÁüÌ85 able to recover the original cart type if necessary.Á…�ü‰OL All relevant Cart traits are implemented for `EitherCart`, and carts can beÁüÙ&# safely wrapped in an `EitherCart`.Á€�ü„EB Also see [`Yoke::erase_box_cart()`](crate::Yoke::erase_box_cart).ÁÊ�tÎë¾Ý�<á­©¤éʶüþ! use yoke::either::EitherCart;Áœ ‘ç´�ü¸)& let y1: Yoke<&'static str, Rc> =ÁüâOL Yoke::attach_to_zero_copy_cart("reference counted hello world".into());Á²�ü¶^[ let y2: Yoke<&'static str, &str> = Yoke::attach_to_zero_copy_cart("borrowed hello world");Á• �ü™ MJ type CombinedYoke<'a> = Yoke<&'static str, EitherCart, &'a str>>;Áç �üë QN // Both yokes can be combined into a single yoke type despite different cartsÁü½ 63 let y3: CombinedYoke = y1.wrap_cart_in_either_a();Áüô 63 let y4: CombinedYoke = y2.wrap_cart_in_either_b();Á« �ü¯ ;8 assert_eq!(*y3.get(), "reference counted hello world");Áüë 2/ assert_eq!(*y4.get(), "borrowed hello world");Áž �ü¢ QN // The resulting yoke is cloneable if both cart types implement CloneableCartÁÄô  let y5 = y4.clone();Áü� 2/ assert_eq!(*y5.get(), "borrowed hello world");Á<À ­©T¥º ‘à ’’‘Ûá°úá´Ÿ3šó¤œJĪ“”–—”•ç3Ÿ3Bÿ—˜í3Ÿ3BÿJLOQ¸Ò¸Ò�� ”ç3í3¸Ò¸Òç3Ÿ3Bÿ��ÇÉÀ��ç3 Ó Ó�� —ç3í3 Ó Óí3Ÿ3Bÿ��¸ÊË��í3�+ º šà ›š›Ûáwúáv…ç3 °…í3 ´Ÿ3œ†œ¯²¶¹�+�+Ë ËŸ3Ÿ3Bÿ™ Ñ ™ œç3í3�+*-!º žà ŸžŸÛáVúáU÷±ç3ç3 °÷±í3í3 ´Ÿ3‹Ž’•*-!º ¡à ¢¡¢ÛáÚúáÙ­ÍyÁÍkŸ3£ù±£ÿ *-*-ÌÍ ÌŸ3 ÍŸ3Bÿ  Ø   £ç3í3*-î *- 1"º ¥à ¦¥¦Ûá½úá¼Ìç3 °Ìí3 ´Ÿ3§Î§õøüÿ 1 1 1 1ΠΟ3�5Bÿ¤ ã ¤ §ç3í3 1O1#º ©à ªª©Ûá¹úḟgç3 °Ÿgí3 ´Ÿ3« g«ñôøûO1O1ÏÐÑ ÏŸ3 Ѐg€gŠ‚gê ûcƒg£EûcØ«q¢1È¡ÑòDBÿ¨ ç ¨ «ç3í3O1œO1øÆ$Ô­­�5®¯°±²ÛÜÝÞß±¯°²ÒXù0þ¬¬�5øÊ$HÍÖ Ö�5 ÖÛ�5ÔBÿ¬×¬ ¯Ô Øø¦(x©�5ÂÕBÿ¬¬ °ÔÚ:ø†* �ÂÕ�5ÿ¬¬ ±Ô½v2;øèthë Ô�5‡x�5Bÿ¬‚³³¬þƇxù‡x8­´‹#‡x ´ÂÕø·$´�#‡xŠØ�5à¿ ²Ô‡x „œâ;oq»øÆ$Ô¶¶Ÿ5·¸¹º»ÛÜÝÞ߸º»¹ÒXù0þµµŸ5øÊ$HÍ× ×Ÿ5 ×ÛŸ5ÔBÿµ×µ ¸Ô Øø¦(x©Ÿ5ŸÚBÿµµ ¹Ô½<ø†* �ŸÚŸ5ÿµµ ºÔ½v=øèthë ÔŸ5‡x�5Bÿµ‚¼¼µß×ùð×8­½‹#‡x ½ŸÚø·$½�#‡xÝÜ�5à¿ »Ô‡x „œÁ=mo»øÆ$Ô¿¿¯5ÀÁÂÃÄÛÜÝÞßÃÁÄÂÒXù0þ¾¾¯5øÊ$HÍØ د5 ØÛ¯5ÔBÿ¾×¾ ÁÔ Øø¦(x©¯5òÞBÿ¾¾ ÂÔŸ>ø†* �òÞ¯5ÿ¾¾ ÃÔ½v?øèthë Ô¯5‡x�5Bÿ¾‚Åžß×ùð×8­Æ‹#‡x ÆòÞø·$Æ�#‡x°á�5à¿ ÄÔ‡x „œ£?mo»øÆ$ÔÈÈ¿5ÉÊËÌÍÛÜÝÞßÌÊÍËÒXù0þÇÇ¿5øÊ$HÍÙ Ù¿5 ÙÛ¿5ÔBÿÇ×Ç ÊÔ Øø¦(x©¿5ÅãBÿÇÇ ËÔ‚@ø†* �Åã¿5ÿÇÇ ÌÔ½vã@øèthë Ô¿5‡x�5BÿÇ‚ÎÎÇß×ùð×8­Ï‹#‡x ÏÅãø·$Ï�#‡xƒæ�5à¿ ÍÔ‡x „œ‡Amo»øÆ$ ÔÑÑÏ5ÒÓÔÕÖÛÜÝÞßÔÓÕÖÒXù0þÐÐÏ5øÊ$HÍÚ ÚÏ5 ÚÛÏ5ÔBÿÐ×Ð ÓÔ Øø¦(x©Ï5˜èBÿÐÐ ÔÔhBø†* �˜èÏ5ÿÐÐ ÕÔ½vÉBøèthë ÔÏ5‡x�5BÿЂ××Ðß×ùð×8­Ø‹#‡x Ø˜èø·$Ø�#‡xÖê�5à¿ ÖÔ‡x „œmCmo»øÆ$ ÔÚÚß5ÛÜÝÞßÛÜÝÞßßÝÜÞÒXù0þÙÙß5øÊ$HÍÛ Ûß5 ÛÛß5ÔBÿÙ×Ù ÜÔ Øø¦(x©ß5ëìBÿÙÙ ÝÔNDø†* �ëìß5ÿÙÙ ÞÔ½v¯Døèthë Ôß5‡x�5BÿÙ‚ààÙß×ùð×8­á‹#‡x áëìø·$á�#‡x©ï�5à¿ ßÔ‡x „œSEmo»øÆ$ Ôããï5äåæçèÛÜÝÞßèæçåÒXù0þââï5øÊ$HÍÜ Üï5 ÜÛï5ÔBÿâ×â åÔ Øø¦(x©ï5¾ñBÿââ æÔ4Fø†* �¾ñï5ÿââ çÔ½v•Føèthë Ôï5‡x�5Bÿâ‚ééâß×ùð×8­ê‹#‡x ê¾ñø·$ê�#‡xüó�5à¿ èÔ‡x „œ9Gmo»øÆ$ Ôììÿ5íîïðñÛÜÝÞßñïðîÒXù0þëëÿ5øÊ$HÍÝ Ýÿ5 ÝÛÿ5ÔBÿë×ë îÔ Øø¦(x©ÿ5‘öBÿëë ïÔHø†* �‘öÿ5ÿëë ðÔ½v{Høèthë Ôÿ5‡x�5Bÿë‚òòëß×ùð×8­ó‹#‡x ó‘öø·$ó�#‡xÏø�5à¿ ñÔ‡x „œImo»øÆ$ Ôõõ�6ö÷øùúÛÜÝÞß÷úøùÒXù0þôô�6øÊ$HÍÞ Þ�6 ÞÛ�6ÔBÿô×ô ÷Ô Øø¦(x©�6äúBÿôô øÔJø†* �äú�6ÿôô ùÔ½vaJøèthë Ô�6‡x�5Bÿô‚ûûôß×ùð×8­ü‹#‡x üäúø·$ü�#‡x¢ý�5à¿ úÔ‡x „œKmo»ø Æ$ÔþþŸ6ÿ€�‚ƒÛÜÝÞß‚€ƒ� ÒX ù0 þýýŸ6ø!Ê$H!Íß ßŸ6 ßÛŸ6ÔBÿý!×ý €Ô !Øø!¦(x!©Ÿ6·ÿBÿýý �ÔæKø!†* !�·ÿŸ6ÿýý ‚Ô½vGLø!èth!ë ÔŸ6‡x�5Bÿý‚„„ýß×!ùð×8!­…‹#‡x …·ÿø!·$…�#‡xõ��5à!¿ ƒÔ‡x !„œëLmo!»ø"Æ$Ô‡‡¯6ˆ‰Š‹ŒÛÜÝÞß‹‰ŒŠ"ÒX"ù0"þ††¯6ø#Ê$H#Íà à¯6 àÛ¯6ÔBÿ†#׆ ‰Ô #Øø#¦(x#©¯6Š„Bÿ†† ŠÔÌMø#†* #�Š„¯6ÿ†† ‹Ô½v-Nø#èth#ë Ô¯6‡x�5Bÿ†‚��†ß×#ùð×8#­Ž‹#‡x ŽŠ„ø#·$Ž�#‡xȆ�5à#¿ ŒÔ‡x #„œÑNmo#»ø$Æ$Ô��¿6‘’“”•ÛÜÝÞß”’“•$ÒX$ù0$þ��¿6ø%Ê$H%Íá á¿6 áÛ¿6ÔBÿ�%×� ’Ô %Øø%¦(x%©¿6݈Bÿ�� “Ô²Oø%†* %�݈¿6ÿ�� ”Ô½vPø%èth%ë Ô¿6‡x�5Bÿ�‚––�ß×%ùð×8%­—‹#‡x —݈ø%·$—�#‡x›‹�5à%¿ •Ô‡x %„œ·Pmo%»ø&Æ$Ô™™Ï6š›œ�žÛÜÝÞßž�›œ&ÒX&ù0&þ˜˜Ï6ø'Ê$H'Íâ âÏ6 âÛÏ6ÔBÿ˜'ט ›Ô 'Øø'¦(x'©Ï6°�Bÿ˜˜ œÔ˜Qø'†* '�°�Ï6ÿ˜˜ �Ô½vùQø'èth'ë ÔÏ6‡x�5Bÿ˜‚ŸŸ˜ß×'ùð×8'­ ‹#‡x  °�ø'·$ �#‡xî��5à'¿ žÔ‡x '„œ�Rmo'»ø(Æ$Ô¢¢£¤¥¦§ÛÜÝÞߥ§¦¤(ÒX(ù0(þ¡¡ø)Ê$H)Íã ã ãÛÔBÿ¡)ס ¤Ô )Øø)¦(x)©€’Bÿ¡¡ ¥Ô{Sø)†* )�€’ÿ¡¡ ¦Ô½vÚSø)èth)ë Ô‡x�5Bÿ¡‚¨¨¡ß×)ùð×8)­©‹#‡x ©€’ø)·$©�#‡xº”�5à)¿ §Ô‡x )„œ}Tmo)»ø*Æ$Ô««¬­®¯°ÛÜÝÞß®°¯­*ÒX*ù0*þªªø+Ê$H+Íä ä äÛÔBÿª+ת ­Ô +Øø+¦(x+©Ì–Bÿªª ®Ô[Uø+†* +�Ì–ÿªª ¯Ô½vºUø+èth+ë Ô‡x�5Bÿª‚±±ªß×+ùð×8+­²‹#‡x ²Ì–ø+·$²�#‡x†™�5à+¿ °Ô‡x +„œ]Vmo+»ø,±*H,´ Ôý6 ÔÛý6ÔBÿdd ³Ô‡2 ,Âø,“(x,–ý6œšBÿdd ´Ô‡2øXø,î* ,øœšý6ÿdd µÔ‡2”“[ø,Àth,à Ôý6”º�5Bÿd‚··d›�,ÑÓ�8,…¸‹#”º ¸œšø,�$¸�#”ºÛœ�5à,— ¶Ô‡2”º ,Üœô\su,“ø1±*H1´ ÔÒ7 ÔÛÒ7ÔBÿii ¹ÔÔ7Ù7 1Âø1“(x1–Ò7÷�Bÿii ºÔÔ7Ù7P_ø1î* 1ø÷�Ò7ÿii »ÔÔ7Ù7”éaø1Àth1à ÔÒ7êÆ�5Bÿi‚½½iáÐ1ÑÙ”81…¾‹#êÆ ¾÷�ø1�$¾�#êÆ �5à1— ¼ÔÔ7Ù7êÆ 1ÜœJcvx1“ø6±*H6´ Ôì7 ÔÛì7ÔBÿpp ¿Ô‡2Š 6Âø6“(x6–ì7á¡Bÿpp ÀÔ‡2Š•eø6î* 6øá¡ì7ÿpp ÁÔ‡2Š”.hø6Àth6à Ôì7êÆ�5Bÿp‚ÃÃpáÐ6ÑÙ”86…Ä‹#êÆ Äá¡ø6�$Ä�#êÆµ¤�5à6— ÂÔ‡2ŠêÆ 6Üœ�iy{6“/5•#55•#› •#'í•#¿í•#]î•#q,•#+•#+•# *•#ñ(•#÷(•#O1•#$ñ•#Ëô•#nõ•#ö•#+(•#Ô%•#‡#•#:!•#í•# •#S•#•#¹•#l•#•#Ò•#… •#< •#ö•#øû•# ª%•#Ä%•# ú•# �(•#·(•#‰ù•#  *•#Á÷•# î,•#§ö•# Õ.•#¤á•#X©•#!NµÅÚßåêü°ÌüKhttps://docs.rs/zerovecÁBoxÁalloc::boxed::BoxÁ Cow<'a, str>Á‰alloc::borrow::CowÁ alloc::borrowÁpstd::sync::ArcÁ std::syncÁ OptionÁ°ZeroVecÁÖ¦ò¦.get()Á YokeÁ“§©§‰ÑArcÁÖ§é§° alloc::rcÁЍÖ¦ Yoke::getÁ¢¨­¨“§RcÁҨ֧Ѱř alloc::rc::RcÁî¨Ѝˆ©¢¨­¨ alloc::boxedÁÑŒ¨©Ò¨«Rc<[u8]>ÁΩî¨ Yoke::get()Áˆ©ý¦þ©¨©«À§ªªΩp÷§êò¦ý¦þ©‰©§À§«ªªpé§÷§ê-œstd::ptr::read_unalignedÁstd::ptrÁSelf::into_rawÁSelf::drop_rawÁ&Yoke::convert_cart_into_option_pointerÁ-crate::Yoke::convert_cart_into_option_pointerÁ‰ÚÑ crate::YokeÁš#ƽœÜ«ù«†¬™¬¬¬‰׬ÚÑœ­š#‰œƽÜ«ù«†¬™¬¬¬׬ډќ­Œƽš#œ­ÑYoke::erase_box_cart()Ácrate::Yoke::erase_box_cartÁÑœ­‡¯¢¯œ­ŒÑ‡¯¢¯“ê.map_project()ÁYoke::try_map_with_cartÁSelf::wrap_cart_in_either_b()ÁYoke::into_backing_cartÁYoke::with_mut_returnÁYoke::new_always_owned()Á_Yoke::attach_to_cart()ÁƽYoke::attach_to_cartÁYoke::try_map_project_clonedÁœ°¸°Yoke::try_attach_to_cart_badlyÁÚ°Yoke:: wrap_cart_in_optionÁÑ�±_±±Yoke::map_project_clonedÁﱜ°sœ²ŲÑç±±0https://github.com/unicode-org/icu4x/issues/1061Áý²ï±s Yoke::try_attach_to_cart_badly()Áœ²Yoke:: wrap_cart_in_option()ÁýPŲÑŒç#1061ÁƳý²sÜ"Yoke::attach_to_cart_badlyÁ‹´Yoke::new_ownedÁ¶´ýçïYoke::try_map_projectÁö´Ƴ•µ‹´ºµ¶´ýÙ.https://github.com/rust-lang/rust/issues/86702Áãµö´Yoke::attach_to_cart_badly()Á•µYoke::new_owned()Áºµ#86702Á«¶ãµSelf::wrap_cart_in_either_aÁYoke::try_attach_to_cartÁê¶°Yoke::with_mutÁ‘·ˆYoke::map_with_cartÁ­·¢¨«¶ð#Ä·ä·ê¶Yokeable::transform_mutÁŒ¸‘·ˆ°$stable_deref_trait::CloneStableDerefÁˆ©¢¨Yoke::map_project()Áª¸­·ð#Self::wrap_cart_in_either_a()ÁYoke::try_attach_to_cart()ÁÄ·ä·°Å™ë¸ßŒ¸ˆ‹#�¹ª¸ˆ©¢¨Yoke::map_projectÁÒ¹Self::wrap_cart_in_either_bÁð#�û¹�ºYokeable::transform_mut()Áë¸Yoke::new_always_ownedÁê�¹ˆ©‰°Ò¹†»¢»û¹�ºö°Ü»€¼êÖ±‰°†»ƽ¸°¢»Ú°ö°Ü»�±_€¼ƽÖ±Self::transformÁ#[derive(Yokeable)]ÁÜ»Ãyoke_derive::YokeableÁPSelf::transform()Áë¸ýȽܽ‡¾Ü»ÃýÙ¦¾Ƚë¸Ü»ܽ‡¾¦¾Ãýë¸ßÀ§ À§3ÑÑŒÀ§ÑÙï ŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ï ŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ïÜ"ŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ÙÜ"ïŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯²ÙŠP³¯ù ÿ …Ìí¦£¬©ö€#…#ˆ#‹#Î!Ñ!Ö!ÔPŽQ—PŽPÄQýÆþÆÈÇ÷±¯² CartableOptionPointerinner _cartable BA@assertion failed: size_of::() == size_of::()@YokeyokeablecartêÃíÉĕĥĭĵÄüćŖšÅÍXvßw¥ žÂãß1èp¯‘¾öè3'L?1÷’aðwp¬Òžl…Z1åUÆMÞ5]À¦Ê$·«x9ôNPŽíq& 0 ì=;—›1]-cè`ŒÜPÔY'—jqKxð‘ð…¦©ŒÚ LÇΆѧœmú¯Fî HtRNWX ÂEþë^£Z$ʽè¸âvÕ:„BbŠ.‡\—ª)>Ñ&Y · à…î645mQZ↑6šEè`�v�äIÅ–dULÜÙ¸¿!1ëÎ (@œ‰y3ô/§ÌðÒ…ÅÃÖ« žùg¤Hõ�صP?ds“­9"©ü/D$DOïd�2¾ÎHpÕx�/R ð…ç×<¦^ãVMb­Eo•¼‡·ÉþÇ~òé Ø.äãeGí̈’[ù!æ)Ðí»T]L‚gV6ó+.êøÍ¼ÍOcÍá9~”Í/¢AB5—N‹�=¤«¥Óñ=}�\ðÒÑïÛ“Oå»ôϳ;R@®  ei+Ýýû=„ó«‹ybÇ#v.Â<7ƒ”Ûl«²ÉºàkËJ!é�§‚Í{)Ÿg,#¿„t©Œb6cÿsS,L¨=¬›Û‚ÀéY4ÝK4EåpRe»L Ä,ì¬Aó-«‰ zàýØ íK«¯„¢¯+®>*I<øJ OÛÁl›ä»»Æ3ý¸ÌÜn¾I5ÒéS¸l¯z%ÒÇÎèXäÑ)C2)‰¿¶9Ͼ9$ÔµñȵyÓ›\wÇø]]¯hŽfž5^"3I2u´ KÃv20�ºÂ9 Ž,=\wÖþ&år}šê“¿tUÕߌšï«Æ4óÊ穜‹ŠÔ0ÂLزø gdÕ¨Ò^#”'´ŸFÛ©¦ˆNãÚiA n^º2>wì‘ÚU“ˆ PqN¨H!lu�¬›`oÖÚ“ýÿ¤\\~`nrlWëOû¼Ô©§£o1Gì†k§‚g~œI¯D„¼�«‚ªD‘­7ehS4êÂÿû,Ü-ªüE¤ØîK#AëàHЧq#8Ùÿ €®,> ªìõ�ÕAÀ"¯Ao‘7¾ûöðЉù¶æíQNÏ· úoBVš ×hüú 1í·¬‰¢ïzsMÕüÑê­^Æ©sËÿ0*ûv ÃEî˜TÜÄg‰š²U²Z�Õݧú /•ëM@ìluúÐ×VLˆ8?hk<ë)lÝe ƒ˜t-T°W&+3ï²›å†O=#ÁÒ†˜ŽJyíSìéî\Õ<Àé’‘ÇÐ¥(£­/Ä¥´à9Ã@=³¢©ìÅj9Ï^ÕÉ"Ÿ='˜?ß¹I‡†wíòöC§QTže«½ža©$êœÄã&JÝE�Hèx¬ä 47òKˆ™u¼ÆÐ´–g¾ÚVÕWw®ex"°)[—dÅÅO•Î ,™9ìDz¥s7Uü‹‡óçdù™c²RÈb^ÛÎïDî�n?ÔíÊ%vüÒ!›Ø¶M“h:áÒ/©ú§ D÷y¡8ªgx´ÃÕU3³ê%LDÂxG=¿šõD(%.ÏX$ˆŠ-Ü»¿^”¡l%�²ù¥c05Á\.<Å÷ÃÚ Jì™ûQ‚x´µ¥øÙ{Ž{$(Ë\%”Ó€òÜåEÇ`†»ÛNɈ²Ä|é‡â:_/{è`¾™yRú÷éˆéÉ¥�¶œÇËC†ê¤±:_PSòìáW%²çÜ çfà{'—[Ѿ†dÔÑ5ÙæÄ¸y!ÕQ©Ñ³fÔœb1yâ"€Åª› ‰´Í¬Ìàw©yv­ðRcÓ6 I[“¢nv<¹Èýé  Hå‚§Šô|—šÂ§˜,cƒ‰åPkoÁîZýùn2mõ¸ºÐ:Ô¶A ˜ôر’¿bÑ}�ªœIãh}�_‘ =úèg�û��ß4S ¼¯Ë?`g§f�ä *åúf›‹hc˜–Lx/8)�¨«¿("‡!ZAH,Ø ÄœÂ5•þ$Q³j€™C&i›7q\H½m :�L¸½·-Gƒ8Ñ …¶Ñ¼)£Ê­�!E§é-Ð>œDßV¿þ/ÍëÌ ®â�À]Vn‹k›,×hÑÉQ©n†¥×pްø&–›ƒtdA+"Â2zùòë1»c fbî‘�RÙ¿ Žä؈ çŒÚ¶MxºtâÂʘ¸®&¼f´KKòê�sŒiW_õ˜®°õ~ÙÖ ö¶½yR \®hMÈsy#Õt\D³»<�Ÿ¬;Æ0„…š«^�´¡LÂÒp4ŽeÓTýäýÚÚɯ0_ÖèÐøc:yS}SîÂ338 àøß°‹Ÿ¹0ëjq2/Ž+†þ®¼ÕÒ$ŠW'~M»Ó€ü‹ù�Bˆ†Œ@ÉÒŠQt^pß¿†#W×Îä 4…8IvTm`0'Áì!W©q�Í j™ó†I�$D­«‡·ê�‡µ„}»>èÌËK‰âEžÐLxR|zŸ%T üÎæë““(šðÊt�̾bŸ€$íT¾šóq.Ù‡‘9n¢Tàz$Òè3spŸkZÞ ›x=c(Øi]Á´N؈$Ÿ²Ye…±yŒ„.¯5#g£Ücòvú¿ð6¾½dôu*ê¬OcÂKG——ÜÿQ‡Uðr÷ɸŒ�ëRó3Ñ /¶Z‹Ö ÷_"ÿD‚<ŽÑ‹[» ¾-)A¯¨æ¬Ð*èD€;8…¼�R}ŒÉš>ŽLê`i·#D˦ü½U.{¢V¦ãäBÞþ}Ó¤ˆ@KÖ�CTšC:k8céŒÑ 4˜yO¥Ÿ¥j¿Ø'ˆp"½=:Ƨ‘–O¹�~äN‡¬O±vÏé7ß$íÜŽ�ýØ Ý¡^ÓG)àg‰um}"6ß4GÛ¬Üm{xLÚVSâß)Ͻšé”c¿äæ²â‡öëØTl†?Dl’ãŽÖOñ’Ûó¬‘8¬&s ®þÛE7Yts×Ñüè7fHޝ�$0?w©Lî�9b°j)êr:ñ-û©¹ïÔ¥ÄI»Îå?òÿ4VÖtÖܾ¼ªMŒvR§C+ë*%�øÚµ=í®�sšhÒŒ üŽ_Su]ÆÚ¾*v²á4ÉÔÓQ齟æDYl3 ú‡nùa"Ô½bþç/©7úPr6 í`öÕ2ß’¼ž̭µY1`M s¶È� û‚®œB;So_g�4<º¬ì|opl¯Ö}'È¢¹©Ô¹Œß£doE„¼mK}ЗårÇX¦d®n@r\s{"ì]a\˜ÂšÁ�D¿¨±¥l¼ÉüªP ^ÓïÀŒÜ/�&ær_¹|±•¢îɨb1¿×PV 4¶…ï`‰~I|ë4w÷`�¦D?1N!ë«r3¹l$=z1Öú<‘¬mÙ»µ3¸j+p=:'­)Ìð¯s’沌°•.K~ü�ÈÙH ‡;»}„ñžuþˆÐ�*%þÛ`Y&-_Pá&Ê9 ö*Â0Ë Ñƒ`n€&R§AÛ^¿lfØ+�\…ä)(©^ŽuŸC幄Õt{¡Æ<-Éuƒü·–ý<¬M…¦ÄνÚHR1Dî­DY�Ä“õÍçŽ�G±ÍÑ×Ù§6ÚäCW<@µs�ˆ�6oIÁ³{¢¸ƒžÕ-ÏÈNä’Ðàr)ŽDêØõȺG>©8 †ND‰?\%ÉFù`Ë*]yƒS­2ß)Þº®>O´Pó(ön™(†h5úÕ j(~†Órœ{¯<ÚM¿Š÷zÇÅñÚ”7X(Œ«Ïy×ôëˆtŠÔsòŸš2°IÑø{ 9…£[³ #¾ëáø»\8Þâ†&Ï×/¬À\UèErÄ{®¢Ï~‰Å£\¾[õ\%t"€ œpoÇÀS%ÇÞpý7õ[\Ôs8Ó} ‹8„àüŒ—gý Î1 Á/?[óøàö îâ©Ä ëÊ\ÂWÅ-áà.tŽO €»~« Iïr?ixœ 8"¬ó3ou°Ò^ì]g‡‚¥É¶ÈhX³æÆ§/9‹Ì8ý9!åóÌ(A2’ [’–Füƒk”²’ˆï”ÈHÓÌŸ´ÇÌk±ÒÙsv.‚}žX«¶â"·8,ìcñu:›LëMhËÊè…)T�2ÙäÜ sQ™Ô"ŸícûÕõPÏüùˆ ¬!�6È’¹c#K*» ¢©°t5ó óVÜfØ¡ïÀ¥æÙ#1ß•L™ÏוC` Þ–¾Y‚ Ù¤R;O+±±iƒáÈB;ÑÇð¬çÚ_ Në¯?aŒA|þcš£Õ�Úƒ‰–ú™Év`ŸÁp9 súÕ¥y5oËõ~â*‰m‚⑃ H‘"1”zŠ ÷ªÀ�Û‡{{®g:<Œ`ÁÌÞ_C–¿VÄ„dM€›fÌì_Í-$4r >éeƒ1Ÿ2àŽXéä='R4 KU`½˜¼;¼vå³56Ì1·O*‡»\SGN§5›b:lð-¡d¥ÏÛÔË”Bän�ð¿À½ †‘áÅ`E^ñ=§FN�FÆ=dÈ ƒü%Ç‚{œ>^ ø,²N—•«†DU-Ã�þÜ#L½±%<륹5@°YÇÅèÅ2_µÿ²aÅ`†Àå‘Õ¡±q34=Ï¡7y*%ÀÒKâ�äí\X Òc¾z ÙÅË¥ö]ÎWn¡ Æ€¶SWimhƒhá^þý�k7´¸À6.ÓË“ìþäuÅÃ#þ¤3>8ªÉÖ‰H1Àø�ü^Š‚¬FxÕLE‘ë>ÜÚð Ü…<¨%z¡"et;%pˆ’îÈ]œbÛ€¶yÕ6§¸¤Z¿K²`+ùæp ÷#væÁîyIðÌ Œ“jè­èôÊ@,žïåUí"t9±¶B÷’ÆçÙ k5 ké\Bdò§âù—läŸÀÏq&5U9©«õÑfk2‰ÔõÕ³52H4Å"o¥B <••8!ÿùw_éæs£’¾b×mZ ÿµ³ \K½D F˜÷6ÜÖÒù€{¥v¾‹ù¹Ùk¯?yæYˆö^Ø e}rA•8Õzë�°IŽŽù]íÏïáKóYD®Žîð+ä€ }%ùá ?yäþ��X�ãà·¥ã¸ðßbãtè�e³·ößtã€è›e¿·?@ >6ÛuÞ’ï|ò(öe# ©¤ÔóÓ»Û¿ÛøÞþÞß ßßpߥ߲ßà à¸ã;ä åu æ˜ èzéÇé ê8êêÇêë\ë«ëäë%ìBí†íÚí$îxîÃîïYïÒïØïßïæïÈðßðDñJñòsòÕò×òÛòáòãòçòîòIóbó¢óæó'ôqôˆôæô+õ‰õÍõ öö…ö‰ö�ö“öú1û;ÜGE}>\•�&).4;AGMSY`g8_{˜ZÆ~7©Q ~1¥HDx&ç(*m+ÿ+C0§11t8�>?| J¢MDN¨N9RgSðS´VÛWp.X²_A`a®eöeMf` f¤ijžAjÚu;y¸g‚ …Y‡ñ‰ÃŒd^� ™«œ2 ¡=¥Å¥€§˨â¨ù¨©G©NL©9¸®¸vºd »/s½¨Ï-ÐGРÐêÐ5ÑҜҶÒÓhÓµÓ‰ÔKÕQÕWÕ^ÕdÕlÕCÖ|ÙÊÙäÙçÙíÙôÙüÙÚÏÛéÛÜeÜ$Ý3äŽä¤äÿäåœåôåxæìæ[çâçWèÞè–éïé ê�êÊêëóëLìhìÞì'íqíFîŸî»î1ïzïÄï™ðòðñ„ñÍñòìòEóaó×ó ôjô?õ˜õ´õ*ösö½ö’÷ë÷ø}øÆøùåù>úZúÐúûcû8ü‘ü­ü#ýlý¶ý‹þäþÿvÿ¿ÿ Þ7SÉ\1Цe¯„Ýùo¸×/J¾ O # { –  R › o × " n IµT3¢ôG+ÛoÞ­ßü߆ãŒè�ï{ò(öd§e©Ë·¤Ôêãü߉ã�è®éóéóê“ëkí î°îüîGï‹ðÑñTò5ó‹óPôõ²õŒâæ6#�ÿ%ÒúÄ+‡NÂSEX`§eâe/fYfki]j/�—¥Õ·àÏOÒÖ¸ÛIÜúã äoåVæ¾æµç±è¯é ì_î²ðóXõ«÷þùQü¤þ÷J�ï;                    +++                                                                     ))                                      *ÛnÞ*߈߫߸ßã)äªäIæ5èOé$êPê—ê,ëÃëüëíží<î�ïÌð÷ðyòôòMóºóþóuô ôCõåõ&ö—öú5ûàIBbµ¹crÞO"I³%’'¯)†*é/a1D8À>ŽI‹LN R:S€V©W€_á`Ke½i…tnwß}`€׃†IˆïŠÙ—M›~Ÿ\£§h¨Шç¨þ¨©h·š¸2º.»÷¼èÎ1Ð_иÐÑMÑ ÒÎÒ5Ó€ÓÍÓ¢ÔMÙxÛÓÛíÛ|ÜŸã8älä�ä©äÝäå³åçèõèôé$êšêãê-ëQì�ì÷ì@íŠí¤îÔîJï“ïÝï÷ð'ñ�ñæñ0òJózóðó9ôƒô�õÍõCöŒöÖöð÷ ø–øßø)ùCúsúéú2û|û–üÆü<ý…ýÏýéþÿ�ÿØÿ"<lâ+u�¿5~ÈâˆÑ4c× h € ¯ # k ´ ˆ ð ; ‡ bÎmL» `íÓ²Û¸Û»ÛôÞúÞßß ß_ßlߡ߮ßýßà´ã6äÿäpæ“èvé¯éµéÂé êêê3êzêÂêüêëëWëšë§ëßë!ì=íuí‚íÕíî îsî±î¾îýî ïHïUïÎïÔïÚïáï›ð¨ðµðÄðÛð@ñDñÒñßñìñûñUòbòoòÑòÕòÙòÝòáòåòéò8óEó]ó�ó�óáó"ô`ômô„ôáôõ&õ„õ¼õÉõö{ö�ö…ö‹ö�öÿù,û6¿ÅÒØB(.;Ax,2:X‘—Úàíú "&,06=CIOU[b:GMZw’/<BOU ›¨µ»Áy &,2¤&3@FLßìùÿy &, "/5B_&l&r&Á(Î(Û(á(**U+b+h+Ú+ç+í+ú+:0>0¡1n8o?|?‰?ZJaJnJuJtM{MˆM•MœM>NŽN›N¢N3RaSÉSÖSÝSêS®VÕWIXVX]XjX¬_`'`.`;` a¨eãeðe0f7fGfZfwi„i‹i˜iŸiýivjƒjŠj—j«u¸uÅuÌuÓuÊxÑxàxïxöxýxv…”£ª±‚%‚4‚C‚R‚Y‚`‚Ü„é„ö„ý„…&‡*‡7‡D‡K‡R‡µ‰‰ω܉ã‰ê‰„ŒˆŒ•Œ¢Œ¯Œ¶Œ½Œ<�I�P�]�Ú˜ç˜ô˜û˜™uœ|œ‰œ–œ�œ¤œð ÿ ¡¡$¡+¡õ¤ü¤ ¥¥)¥0¥7¥ž¥«¥²¥¿¥m§z§¹¨ƨݨô¨ ©C©I©/¸5¸©¸qº_»)½�Ï�Ï£ÏÐÐ)ÐBЛÐåÐ0ÑÿÑ ÒÒƒÒ‰Ò˜Ò±ÒÓcÓ¯ÓrÔÔ…ÔGÕMÕSÕYÕ`ÕfÕÖ%Ö2Ö8Ö>ÖxÙÆÙàÙäÙêÙðÙøÙÚ¾ÛËÛåÛÿÛUÜbÜÝä#ä0äRäŠä¡äÃäûäå{åŠå™åñåWæfæuæËæÚæéæXçÁçÐçßçTè½èÌèÛè�éãéêéê{êÄêëÙëæëíë@ìGìbìØì!íkí,î9î@î“îšîµî+ïtï¾ïðŒð“ðæðíðñ~ñÇñòÒòßòæò9ó@ó[óÑóôdô%õ2õ9õŒõ“õ®õ$ömö·öx÷…÷Œ÷ß÷æ÷øwøÀø ùËùØùßù2ú9úTúÊúû]ûü+ü2ü…üŒü§üýfý°ýqþ~þ…þØþßþúþpÿ¹ÿÄÑØ+2Mà V$+~… _©jw~ÑØói²ü½ÊÑ#*D¸ I    o v �  L • U b i Ñ  h /<C¯þN&-œîA#)/5;AGMSY_ekqw}ƒ‰�•›¡§­³¹¿ÅËÑ×Ýãéð÷ý %+28µÛjÞøÞþÞß ßßaßpß§ß´ßàã%ä’ä1æ1è7é³é·é êê ê8êêëëëœë«ëäëïìwí†íî$î³îÿîJï‹ïÒïØïßï�ðªð¹ðÈðßðÔñáñðñWòdòuò×òÛòãòçòðò:óIó’ó¢óæóbôqôˆôõ+õ¾õÍõ"öö‰ö�ö“öú1ûÃÇÖÜ,0?E!04>^•�Þâïü ).4;AGMSY`µ<KO_{1@DSZ�ª¹¿Æ*07(5DJáîý $*1$37›%a&p&z'Ã(Ð(ß(—)*n*W+f+Ü+ë+ï+Ñ/<0I1+8§>q?~?uI_JcJsJrLyM}MŠMšMúM�N NòQ!SËSÛSßSgV�WKX[X_Xf_`,`0`È`Feåe5f�N�R�À—ܘé˜ù˜™4›zœ~œ‹œ›œ¢œeŸó ¡¡"¡)¡C£ú¤ÿ¤¥¥.¥5¥ ¥°¥´¥§o§O¨»¨˨â¨ù¨©G©d·3¸–¸º»ß¼ÐÎ’Ï¡ÏÐÐ-ÐGРÐêÐ5ÑÒÒ‡Ò�ҜҶÒÓhÓµÓtÔƒÔžÔKÕQÕWÕ^ÕdÕÖ'Ö6Ö<Ö5ÙÝÙçÙíÙôÙÚtÛÀÛÏÛéÛWÜeÜ›ãä%ä5äUäŽä¦äÆäÿä~å�åœåZæiæÎæÝæìæÄçÓçÿçÀèÏèÞèèéïé ê�êÊêëÛëëëEìLìhìÞì'íqí.î>î˜îŸî»î1ïzïÄï�ð‘ðëðòðñ„ñÍñòÔòäò>óEóaó×ó ôjô'õ7õ‘õ˜õ´õ*ösö½öz÷Š÷ä÷ë÷ø}øÆøùÍùÝù7ú>úZúÐúûcû ü0üŠü‘ü­ü#ýlý¶ýsþƒþÝþäþÿvÿ¿ÿ ÆÖ07SÉ\)ƒŠ¦e¯l|ÖÝùo¸¿Ï(/J¾ O   t { –  R › W g o × " n 1AIµT+3¢ôG!&,28>DJPV\bhntz€†Œ’˜ž¤ª°¶¼ÂÈÎÔÚàæíôú"(/5;°)‡*Fßiß�ßËß'ã2äìä\æHèbéšé¿éçéê-êcêªêçê ë?ëqë¤ëÔëì+íWííÃíïíîaî�î»îØîï$ïRïð¥ð²ðÁðÕð(ñyñÜñéñøñ"ò_òlò óBóWówóšóÍóô<ôjô~ôÏôûô#õrõžõÆõ ö[Ïét%8R©)Kê÷àDWo‹¾9Lï9¥²[¤#†Ï0=wéö[¤‚Ë,?Ú%i&Ê'Ë(Ø(ð)++_+“+ä+÷++0’1X8ø>y?†?ÊIkJÒL…M’M(N[N˜NRNS�SÓSçS•V¿WXSXgX–_Ø_$`8`÷``eÅeíefDfUfi�i•iåi)j€j”j½tµuÂu»wÝxìx'~‚‘ ·€1‚@‚O‚u„æ„󄽆4‡A‡J‰¿‰̉Ù‰Œ’ŒŸŒ¬ŒéŒF�Z�˜ä˜ñ˜”›†œ“œÆŸü  ¡¡³£¥¥&¥c¥¨¥¼¥A§w§�¨è٨𨩊·¤¸VºD» ½ÏšÏÌÏ&Ð;Ð�ÐÌÐÑ{Ñ Ò;Ò•ÒªÒþÒJÓ•ÓûÓ|Ô’Õ"Ö/ÖaÙ¾Ù�ÛÈÛÞÛøÛÜ_ÜùÜÆã ä-äBä€äšä³äñä å=å‡å–åÛåæcæræ æ׿ææ;çƒçÍçÜç>èèÉèØèsé«éþécê®ê÷êYëãëì[ìÀì íTí¶í6î[î®îï^ï§ï ð‰ð®ðñfñ±ñúñ\òÜòóTó¹óôMô¯ô/õTõ§õ öWö ö÷‚÷§÷ú÷_øªøóøUùÕùúùMú²úýúFû¨û(üMü üýPý™ýûý{þ þóþXÿ£ÿìÿNÎóF«ö?¡!F™þI’ôt™ìQœåGÇì> ê2 “  8 Š ì 6 ~ ß _ ·  O ´ 9’ã2›#|Ð"Ž3ßcߊ߹ßã*äääTæ6èZé|é¹éÉéê%ê[ê¢êÉêë7ë^ëžëÌëìíDíyí·íÜíîUîzîµîÅîïïLïèïŸð¬ð»ðÍðñLñÖñãñòñòYòfò÷ò<óOódó”óÅó ô)ôdôvôÃôèôõfõ‹õÀõþõ=ÉáI2J#CÏäñþ¼>Qf‚š3F⟬N€y«*7SãðN€ u§&9Â%c&£'Å(Ò(ç)+Y+o+Þ+ñ+0…1O8Ñ>s?€?¥IeJžLMŒMNFN’NRESiSÍSáSŒV¶WÝWMXaX�_´_`2`î`Le°eçeøe>fOfÝh{i�i×ijzjŽj–t¯u¼u‡w×xæxñ}|‹št€+‚:‚I‚N„à„í„‘†.‡;‡‰¹‰ƉÓ‰Ó‹ŒŒ™Œ¦ŒÅŒ@�T�ê—Þ˜ë˜`›€œ�œ�Ÿö ¡¡p£¥¥ ¥?¥¢¥¶¥)§q§u¨½¨Ó¨ê¨©i·›¸Mº;»½ÿÎ”ÏªÏ Ð2ÐxÐÃÐ ÑcÑÒÒ�Ò¡ÒõÒAÓŒÓãÓvÔnÕÖ)ÖXÙ�ÙzÛÂÛÕÛïÛÜYÜëÜ¢ãä'ä9äwä‘äªäèäåå�å�åÍåøå]ælæ|æÑæàæ-ç_çÇçÖç0è[èÃèÒèeé˜éõéUê¥êîêAëÝëõëRì²ìíKíží0îHî¥îïUïžïñïƒð›ðøðXñ¨ñññDòÖòîòKó«óûóDô—ô)õAõžõþõNö—öêö|÷”÷ñ÷Qø¡øêø=ùÏùçùDú¤úôú=û�û"ü:ü—ü÷üGý�ýãýuþ�þêþJÿšÿãÿ6Èà=�í6‰3�ð@‰Ün†ãC“Ü/ÁÙ5’á) {  % � Þ - u Ç Y ¯ ü G � 3ŠÛ*„tÈwXß’ßðä`æfé¬éñé1êgê®êñêCë‘ëØëì/íiíÇíîeî®îúîEï‰ðÙð,ñÏñRòó[ó‰óÓóôNô‚ôÓô õvõ°õöŠíàVä8O¶t�!ô�`ý‹#Ð`ø‡B& (õ)8+Â+00—1]8O?6JLM-N„N$RSS¿SœVÄWBX›_`ü`àe-fWfiiêi[j‹u¢xRò�´„ü†‰‰VŒ-�º˜MœÌ ɤ•¥X§¤¨Û¨ò¨ ©[ºI»½nÏÞÏ@ІÐÑÐÑßÑMÒ¯ÒÓOÓšÓRÔÖfÙÃÙ¡ÛãÛýÛGÜþÜØãGä‡äŸä¸äøäåmåàåTæ¼æ@ç³çCè¯èxé­éêhê³êüê¼ë ì`ìÅìíYíî]î³îïcï¬ïbð°ðñkñ¶ñÿñµòóYó¾ó ôRôõVõ¬õö\ö¥ö[÷©÷ÿ÷dø¯øøø®ùüùRú·úûKûüOü¥ü ýUýžýTþ¢þøþ]ÿ¨ÿñÿ§õK°ûDúHžN—M›ñV¡ê îC¥ï7 ì : � ñ ; ƒ 8 »  S –ç6õ€Ô&è,ß«äJæPéQê˜ê-ëÅëþëíŸí=îøðöò¼óô¡ôDõæõ·ºsßP#J´%“'³)Š*ê/b1E8Á>�IŒLN R;S�VªW�_â`¾i†towà}a€Øƒ†JˆðŠÚ—N›Ÿ]£§i¨3º/»ø¼éÎ`йÐÑNÑÏÒ6Ó�ÓÎÓNÙyÛ}Ü ãmäÞä´åçèöè%ê›êäê.ë‚ìøìAí‹íÕîKï”ïÞï(ñžñçñ1ò{óñó:ô„ôÎõDö�ö×ö!ø—øàø*ùtúêú3û}ûÇü=ý†ýÐýÿ�ÿÙÿ#mã,vÀ6ɉÒdØ  i ° $ l µ ‰ ñ < ˆ cÏnM¼a-߬äKæQéSêšê/ëÆëÿë í í>îûð½óô¢ôEõçõ»uáR%L·%—'µ)�*ì/d1G8Å>“I‘LN Rý‡ýÒýÿ‘ÿÚÿ%nä-xÁ7€ËŠÓeÙ! k ± % m · ‹ ó > ‹ fÒ!rP¿eßtß–ä5æ;é<êƒêë¯ëèëóìŠí(îãð¦óêóŒô/õÑõ¡^Ê;5Ÿ%~'›)r*Õ/M108¬>zIwLÿM÷Q&SlV•Wl_Í`©iqtZwË}L€Ãí…5ˆÛŠÅ—9›jŸH£§T¨º»ã¼ÔÎKФÐîÐ9ѺÒ!ÓlÓ¹Ó9Ù|ÙhÜXäÉäŸåïæèáèê†êÏêëmìãì,ívíÀî6ïïÉïñ‰ñÒñòfóÜó%ôoô¹õ/öxöÂö ø‚øËøù_úÕúûhû²ü(ýqý»ýÿ{ÿÄÿXÎa«!j´þt½Oà T ›  W   t Ü ' s Nº Y8§ùL}�™çñû¢¬µ¿öøMg}ÊÔâìúS]gq„¢u€Ž˜ *:JZjzŠšªºÊÚékßßßQãcèÁéêë¦ë�íî½î ïTï§ð´ðÃðÞñëñúñaònòDóœólô%õÈõÑ':+ìùFY;N§´%2?ëø.Ak&Í(Ú(a+æ+ù+{?ˆ?mJ‡M”MšNÕSéSUXiX&`:`}eïeFfƒi—i‚j–j·uÄußxîx„“¢3‚B‚Q‚è„õ„6‡C‡Á‰ΉÛ‰”Œ¡Œ®ŒH�\�æ˜ó˜ˆœ•œþ  ¡¡ ¥¥(¥ª¥¾¥y§Ũ¡·œÏ(Ð Ò—Ò~Ô$Ö1ÖÊÛaÜ"ä/ä‰å˜åeætæÙæèæÏçÞçËèÚèåë8î‹ðÞò1õ„÷×ù*ü}þÐ#vÉ a ;%@BõK T#ß#…'U(ë)N3ú4µ628Í8o9ÃiÀkÂn•oÊpƒr�scv\|!}+~géVƒñ„†«‡žˆA‰‹_�ê�ê’│˜Û›.¢T¨v«@®…³O¸¼8¿ýÄÊRËlÍÍÍ*Î¢Î­Ï ÐaжÐoÑ&Ò™ +(-ö0M1G:«:;`;<<àÂ>$?ß?D@¥@AÅA*B‹BíB«CDqDÓD‘EöEWF¹FwGÜG=HŸH]IÂI#J…JCK¨K LkL)MŽMïMQNOtOÕO7PõPZQ»QRÛR?SžSþS»TU~UÞU›VŒW£Yt\*]ä]û_Êb€c)d@fiè5Š‹ÌÖÌ!Í¶Ò Ó@óI — Ý#ƒ'S(é)}+ø4ç508Ë8m9E:¾kÀn“oÈp�r‹savZ|})~eçTƒï„}†©‡œˆ?‰Š]�è�è’à”€˜Ù›,¢R¨t«>®ƒ³M¸¼6¿ûÄÊPˉÌËÍ(Î Î«Ï Ð_дÐmÑ$Ò´ÒR#&-ô0K1L3©:;^;<}<Þ<@=û=_>À>"?Ý?B@£@AÃA(B‰BëB©CDoDÑD�EôEUF·FuGÚG;H�H[IÀI!JƒJAK¦KLiL'MŒMíMON OrOÓO5PóPXQ¹QRÙR=SœSüS¹TU|UÜU™VŠW¡Yr\(]â]ù_Èb~c'd>f iÁiAôJ ˜ Þ#„'T(ê)~+ù4´618Ì8n9F:¿kÁn”oÉp‚rŒsbv[| }*~fèUƒð„~†ª‡�ˆ@‰‹^�é�é’á”�˜Ú›-¢S¨u«?®„³N¸¼7¿üÄÊQËŠÌÕÌ ÍkÍÌÍ)Î¡Î¬Ï Ð`еÐnÑ%ÒµÒS# Ó]Ó'-õ0L1M3ª:;_;<~<ßÁ>#?Þ?C@¤@AÄA)BŠBìBªCDpDÒD�EõEVF¸FvGÛGS�SýSºTU}UÝUšV‹W¢Ys\)]ã]ú_Ébc(d?fiÂiÑóšV…äöäÍÌÍcÍÑÌÍgÍ_ßøähænétê»êPëßëì6íÎílî9ñÚóôÚô}õöÌÿk–k’Q&³(*G+30š1h8b?KJeM8N,R[S§VÏW¦_aõižu»xi‚Ç„‡ ‰mŒÍ˜fœã æ¤g§³¨jºX»!½�Ï”ÐßÐ)ÑñÑÓ]Ó¨ÓdÔqÙÝëåKçNèƒésê¾êëÊëÐìídíî#ïnï·ïpðvñÁñ òÃòÉóô]ôõögö°öi÷oøºøù¼ùÂú ûVûüý`ý©ýbþhÿ³ÿüÿµ»OY¢[a¬õ®°úB ú ü F Ž F É  a  §øG ”è:6ó¼Û—ßàßRãdè~e¢·(Ûhޥ߲ßã/èzéÇéÇê\ëBíÚíxîÃîï‰ïæïJñòsòîòbó'ôæô‰õ ö;G}\³˜~©Q~¥m+DNgSÛW²_De®eöeMfÛhjÃŒ=¥©b·¨ÏÒœÔlÕrÛÜ™ã3ä¤äåöåzæ]çYè–éóëFî™ðìò?õ’÷åù8ü‹þÞ1„×# -ó.°Ûçã ó!£ÛÚãÝàçëþ !(7ERVpz‰˜»ÌÐÙàäëòù  $+2FTX_fjqx|ƒ‡Ž’™¦ª®²¶¿ÈÏÖÝáåìóúþ '+/37;?X_lpw~�“𡍬³º¾ÅÌÞâæêî7;BIRY]dmt}„‹�–�¤«¯¶ºÆÊçîõü $).38=BGLX`hp€Œ‘™¡©±¹¾ÆÎÖÞæëóû  (08=EMU]ejrz‚Š’—Ÿ§¯ÅÍØòú & . N V ^ c k s { † Ž ¢ » Ï Ù õ    4 < D L T o t | „ œ ± ¶ ¾ Æ Î ß ø ý   = B J R Z b w | „ ‰ ‘ ™ ž £ « ³ » Ã Ë Ð Ø à è û    5 B J R Z b y � ‰ ‘ ™ ¡ ¿ Ç Ï × ß ç ï  ( 0 8 h p x € ˆ � ½ Å Í Õ Ý å !)19AINV^f{ƒ‹“›·¿ÇÏ×ßø @HPX`hpu}…�ª²Ï×Þåìóø)@Laiqv~†Ž–ž¦®¶¾ÃËÓÛãëóû  %*/49AIQYy~‚†ŠŽ’–²ºÇØÜäìý "*/7;CKSW_gks{ƒ‡�—Ÿ£«³»¿ÇÏ×ßçï÷ÿ #+3;CGOW_gow‡‹“›£«³»ÃËÏ×ßçï÷ÿ#+3;CKSW_gow‡�—›£«³»ÃËÓÛßçï÷ÿ#+3;CKS[cgow‡�—Ÿ§«³»ÃËÓÛãëï÷ÿ'/3;CKS[cksw‡�—Ÿ§¯·¾ÅÌÓÛãêñøÿ$+3;BIPV\bipw~…Œ“™Ÿ¥«²¹ÀÇÎÕÜãêñøÿ ")07>ELSZaho0ó1³ÛòãäŒã«ã¬ãŽèöéúéþéôê–ë—ë˜ëlí î�ð’ð�óŽóRôWôõ³õ•ëï%‘Ôü Ò+Ó+Ô+Õ+Ö+×+Ø+‹NŒNÆSÇSGX`mimjnjojpjqjrjsjtj7�8�9�:�›¥œ¥ß·¸¸¸¸êÏïÏôÏùÏþÏYÒ^ÒcÒhÒmÒÖKÜqåÀæ·ç³è¹é¾éÃéÈéÍéìì ì%ì*ìiînîsîxî}î¼ðÁðÆðËðÐðóóóó#óbõgõlõqõvõµ÷º÷¿÷Ä÷É÷ú úúúú[ü`üeüjüoü®þ³þ¸þ½þÂþ TY^ch§¬±¶»ùþ E J O T Y šŸ¤©ðõúÿôùþ™ö ú7ûTÕvÆ´ä!K# µ! #!ˆ!üß­ã�è®éêøê™ëqíî°îüîGï—ðÑñTò�ó\ôõ¸õ®*–%Ú!Ù+�NÈSHX`§eâe/fYfriuj;��¥¸ÐrÒÖPÜvåVæÆæ¼ç¸èÒé/ì‚îÕð(ó{õÎ÷!útüÇþmÀ^  )E6,"/>2 D !9%=(C+I .<1 B-5 H$'A*G28-0@3 F#7;&?•#•#ò ˆ™ ü†‡a\ÍXvßw¥ ž\H$“NËu ™à•#úûèÍXvßw¥ žˆ>@YXv<‡ œÕ üްb\ÍXvßw¥ žü?šŸò ˆ*™ Œa\ÍXvßw¥ ž³g|p,M =$crate::assert_neÁáåc]µŸ]panic_internalsÁŽ‹ÍXvßw¥ ž^ÑÔÜ«9}‡ œÛ ®b\ÍXvßw¥ ž®¢]ôÈ„À$crate::assertÁ6É2‡T]�±ù]core_intrinsicsÁÃü ƒgeneric_assert_internalsÁ±œÍXvßw¥ žXÖ¹Oú˜¥Òò ˆ™ «a\ÍXvßw¥ žâÊ &|Np‡ ¬á yb\ÍXvßw¥ ž,ÀËÑ¢�•#úûèÍXvßw¥ žs峪† ldò ˆ™ /a\ÍXvßw¥ žè€3¦†$]¬‘´•#úûèÍXvßw¥ ž3Ã|ÀFï ‡ œÀ *b\ÍXvßw¥ žÃÂó“Ê¢üsò ˆ(™ ³a\ÍXvßw¥ žRÓu×&%ƒ‡ ´Ã �b\ÍXvßw¥ ž *�“%õXöò ˆ™  a\ÍXvßw¥ ž¼›ÓÔª~ ‡ ´É Øb\ÍXvßw¥ žv_ÙÇ]°ñ é^•#úûèÍXvßw¥ ž×æ&øböEò ˆ™ �a\ÍXvßw¥ ž«Ú¹ žo¢ ¿Ö•#úûèÍXvßw¥ ž­ü¢Ò3ièÉüÈ &…ÿ‚]´œÍXvßw¥ ž5˜¤A‡ÔÛò ˆ&™ a\ÍXvßw¥ žÚ/eÉÒrÔ5q,ÝI}©Ø Àý fmt_helpers_for_deriveÁ¢g¡gÍXvßw¥ žx7ÀÅñ&O ü£•#úûèÍXvßw¥ žÏVÔ*IþJ‡ ¬¬ eb\ÍXvßw¥ žwg_Œã´ýø1§=ÍœS]ƒ‘‹ÍXvßw¥ žˆõݶ†(†q,ç ÝÀý ă ¢g¡gÍXvßw¥ ž×Ùë/ý؇ ¬² úb\ÍXvßw¥ ž}'_¯C–ïw•#úûèÍXvßw¥ žß)ö2'iµò ˆ™ °a\ÍXvßw¥ ž�eW.%ªœ ÜÞüõ – c\ÍXvßw¥ žv²ž ¥8³%ˆ¯•#úûèÍXvßw¥ ž©¾Â'ížR3ò ˆ$™ 7a\ÍXvßw¥ žó"ãPx,£cÆ•#úûèÍXvßw¥ žn4é¯å‡ ¤– 2b\ÍXvßw¥ ž3Û¬9!^>žý 3É-‡T]xÀý Ãü ƒÙý ±œÍXvßw¥ ž£ Ê�æwŸ$~ã eöi_Àý derive_eq_internalsÁ¢ŒÏ¾ÍXvßw¥ žË÷îø,GHƒ‡ ¤œ ìb\ÍXvßw¥ ž�OU_N•žý 9É7‡T]2Àý Ãü ƒÙý ±œÍXvßw¥ ž˜$’‰"™Þò ˆ™ µa\ÍXvßw¥ ž÷ó#¶þâÕKœ Ü¡c\ÍXvßw¥ žukÛ-&U(a ªº•#úûèÍXvßw¥ žihëYT%½ÃÉ„ÔIP´œÍXvßw¥ ž†ÁƒˆÛ�ò ˆ"™ ha\ÍXvßw¥ ž “¤ZÉ9 X Ö˜•#úûèÍXvßw¥ žä sïàfƒR‡ ¤€ eb\ÍXvßw¥ žª†·ô«×»˜¶LØ �ÀO_Àý ¢Ë¾ÍXvßw¥ žQ56Ü+#Û�‡ ¤† Çb\ÍXvßw¥ ž Ææ1æò ˆ™ P a\ÍXvßw¥ ž|áAyÞc¬œ Ü£ c\ÍXvßw¥ ž€êïþ—úÿO¶£•#úûèÍXvßw¥ ž7¤ïšÍ¤8•#•#Ü ÍXvßw¥ ž«XÁò™W¢„ò ˆ ™ û a\ÍXvßw¥ ž?1Ü6ãˆC+Á•#úûèÍXvßw¥ žž;«ufí-‡ ¤ê ö b\ÍXvßw¥ žØ2ÿAŠ�´ýø,§=‘ƒ‘‹ÍXvßw¥ žº|ý¾úa>&e,Ñ }”V¯Àý derive_clone_copy_internalsÁð‰âÍXvßw¥ žßkφÿ‡ ¤ð ª b\ÍXvßw¥ žRVu®¸•)´ýø6§=Eƒ‘‹ÍXvßw¥ žR޾øÿ™ò ˆ™ g a\ÍXvßw¥ žU¿°¡ÝXëÆ‡ ¬ø 5 b\ÍXvßw¥ ž_3­G†^¤ ´±•#úûèÍXvßw¥ ž0t^j7‘Jdebug_assert_neÁü©P1å÷b]“‹ÍXvßw¥ žM/˜ðª!çÓRI=]<VIá<µ<�<i<-= =é<Á<™<q<9==ñ<Í<¥<}<U<!=ù<Ù<­<‰<e<)==å<½<•<m<5= =í<É<¡<y<Q<=Õ<…<a<=¹<‘<1=Å<�<u<===õ<Ñ<©<�<Y<%=ý<Ý<±<A=9G EZIOAí?Ã=¹G(FõC(BD@q>mHŠF¯D½B›@HSF`D‰Bo@?ÌHµFECô@”?e=`GÍEœC€A@ñ=äG DSB›>˜HÚDèBÆ@g?#I GqEoC AÀ?”=ŒGùEÈCùAU=PG½E‰IpA@á=ÔGCFDCB_@‹>ˆH¥FÊDØB¶@W?IüFaE_CéAa>]HzFŸD­B‹@,?èHÑF6E1CA°?„=|GéE¸CœA4@ >HPDyB?¼H ECä@„?BI)G�EŒC?AÝ?³=©GFåCB°hODHT s·ÞFwÁ­,¢ÔjqKxð‘ð #K*» ¢©Íø gdÕ¨P¾ûöðЉeèD€;8…¼ÿÒŒ üŽ_PñÚ”7X¥& 0 ì=;Èýé  Hª÷iÜv ¨ü%—58Þ ü„'n™(†h5ú�.tŽO €»¸ÈØ\¤'þW×Îä 4…â�¹ @ò "ˆØ %+Ì(A2’Àœ>^ ø,²?b×mZ ÿµgDOïd�ÇÐ¥(£xçfà{'¡E§é-Ð>œÁ ^ÓïÀŒÜf{ Q½˜1¨“šÎ‡ÉÔ/œßyIðÌ ŒZüÙ¦Ò"pXÀ,ì_Í-$4r13³ê%LDÂ�¾öè3'L?1Ò^#”'´ŸFQÅoÓ(p7e.j¿Ø'ˆp"6µ3¸j+p=:o†&Ï×/¬À¬ÊýÚ1ˆ¼œì΃ƒ6t½nåF˜÷6ÜÖÒiÛó¬‘8¬&sCG>©8 †Nˆ5›b:lð8�FÆ=dÈ=n?ÔíÊŠÎ (@œ‰•ëM@ìluo:Ô¶A ˜¯AˆØ?LT¶ýýÓËTDX<‘6šEè`� ®þÛE7D [’–FüƒkÁJÝE�Hèx¬€+®>*I<øJ>!ZAH,Ø ¹Ÿš2°IѨŠÔ0ÂLزO:›LëMhËÊÇåáßMÐ Mù™c²RÈb^ˆÈ@R|j8ùúÐ×VLˆ8pÇÎèXäÑ)CÛ‚ÀéY4ÝK8(%.ÏX$ˆ‘N(ùÚ]^j‘Yˆö^Ø el{"ì]a\˜ÂcúUŽÜb¼×�ã™Qsbd:&Në¯?aŒA|%Ûêåj¨â¡Þ§âù—läŸÀ`8IvTm`0'ã¿E—GmD7&rMQo�„«(d®n@r\sb\UèErÄ{­ΗUíth ó3ou°Ò^»[“¢nv<¹©™ûQ‚x´µ¥–øÙ{Ž{$(˗̾bŸ€$íTìÂ<7ƒ”Ûl2SK¢Ñ„�] �—[Ѿ†dÔ¢N—•«†DU-@þ}Ó¤ˆ@KÖµs�ˆ�6oƒëˆtŠÔsò§B5—N‹�=¤+úf›‹hc˜¶e…±yŒ„.ór÷ɸŒ�ëù s¶È� ûZåj�îŒ8Í}œ¥1W�UžŸPÏüùˆ Ë”žÜŒÐûË BoEÇ”Gè4Ü sQ™Ô"ŸÉa©$êœÄã&š«^�´¡LÕ b?2¡ÈEl¯5#g£Ücôy3ô/§ÌðÒ@=³¢©ìÅjzÖ¯÷(©�ö îâ©Ä 붯¨æ¬Ð*þR1Dî­DY�ùènÍ©8þ“jè­èôÊ[­/Ä¥´à9Ãyý�k7´¸À6M»Æ3ý¸ÌÜ@‹Ÿ¹0Û£Z$ʽè¸âòvú¿ð6¾õšÁ�D¿¨d¥c05Á\.<”e»L Ä,ì¬:°YÇÅèÅ2CŸ¬;Æ0„…ÔÜåEÇ`†»™ò*ƒÊȨ C9Ï^ÕÉ"Ÿ{À¦Ê$·«±¥l¼ÉüªPe±•¢îɨb1hÕt{¡Æ<-É|¶.hvÍ0ígâžÕ-ÏÈN…Tàz$Òè3ï\%”Ó€ò˜~p·1Ó4ªð�´†)Ó,CѬFxÕLE‘RŽÖÝH¡™ë¹àFWßHØž338 àøß°Ú¾*v²á4ÉÔRºŠQ…à@ÿú¢V¦ãäBÞ¦Î6Ãâˆës˜SåØˆ¢Ö±iƒáÈB;#áW%²çÜ  Âãß1èp¯‘0_ÖèÐøØÞ7ìÖç¼FgûØmÒèt­# 2àŽXéä='3YD®Žîð+äpÛÎïDî�‰”²’ˆï”ÈHÂfØ¡ïÀ¥Ïë>ÜÚð Ü…S ªìõ�ÕAcùn2mõ¸ºÐ®ë4w÷`�¦kWëOû¼Ô©Y4EåpR99Ÿ^!to÷S}¿)@‡ )>Ñ&Y ß$íÜŽ:*Â0Ë Ñƒ`wF” âÑgjé³ \K½D h%vüÒ!›Ø‹'È¢¹©Ô^�ØØå|¼&”¡l%�²ù“í»T]L‚':Ñpø!íìîK#Aëà`r3¹l$=z1mD‰?\%ÉFù‰€ }%ùá q…ä)(©^zS­2ß)Þº‹fÔœb1yâ"¥¦Bµ33‘e}™*ëO’4M2@2C&i›7q\H¼}rA•8Õm‹Ì8ý9!åó¿¶M“h:áÒ/ŒŸÁp9 sú(˜y‚!\¾[õ\%t"¯`Ë*]yƒŠ­µY1`MY:<Œ`ÁÌÞ.M²ŠbÝÛ ͼÍOcÍá)¹Œß£d_ÆäKg%¯H�æ'Ëk¹bŒòMb­Eo•¼‡#À"¯Ao‘7dS%ÇÞpý7õ±®hMÈsy#ÕÒ¹?uÖJ˜¼;¼vå³55ÍXvßw¥ žÍ¬Ìàw©yv§$0?w©LîG®°õ~ÙÖ Ð!é�§‚Í{)4°ìQX„ñ®R•¬Òžl…Z1 j™ó†I�$å¿À½ †‘áÅ;G)àg‰um}<®¢Ï~‰Å£®~â*‰m‚â*8céŒÑ 4g�û��ß4³"1”zŠ ÷ª,?yäþ��Xr.Ù‡‘9n¢î†Àå‘Õ¡±EP?ds“­9uƒü·–ý<¬}ƒ‰–ú™Év`'xG=¿šõD�Άѧœmú¯ }�ªœIãh±3éAþŸYâÎ�}�_‘ =úè²UCÁ¢qcþþcš£Õ�Ú&±%<륹5@BŒvR§C+MsS,L¨=¬›7Áì!W©q�ÍäÖú<‘¬mÙ»n’沌°•.Kqzë�°IŽŽnÔ¥ÄI»ÎJI¯D„¼�«\D˦ü½U.{‹[» ¾-)AýLÜÙ¸¿!1ë ‡;»}„ñsÞ–¾Y8ªÉÖ‰H1P…¦©ŒÚ LÇ Å÷ÃÚ Jì•Su]ÆÚQ�ýØ Ý¡^Ó;åUÆMÞ5]· à…îËK‰âEžÐè1T"Râ5ö -g§f�ä *嵎uŸC幄{@,žïåUí"\Æ4óÊ穜‹Når}šê“¿Lº2>wì‘ÚUTù¶æíQNÏfyíSìéî\v.ÓË“ìþäNù]íÏïáKóoü‹‡óçd‡DêØõȺ‡r:ñ-û©¹ïIi+Ýýû=„ó0-ªüE¤Ø_ÖÚ“ýÿWÒÕöíû^¦e3 ñ0ó¶Èh½· úoBVgö¼æ6vøÛÌm`.¢ÐõíÑ5ÙæÄ¸£@®  e/iA n^S½m :�L½ ké\Bdò_vÕ:„BbŠÿ €®,>b"Ô½bþçUì]g‡‚¥É¼8Ñ …¶Ñ¼¿ß’¼žÌXù€{¥v¾‹j–ç�zâ1ˆ’[ù!æ)Ð&uÅÃ#þ¤3O�¨«¿("‡¸ÚyJ)Rúµ½Ë"*v‚£gV6ó+.êø(a×\-VWãöëjq2/Ž+†ÜÁm80æ† `šå1ÒáØÈ–ç^2fÖìÂÒp4ŽeÓÖn¾I5ÒéAå?òÿ4VÖtKÔõÕ³52H4ck"8:©e”»\8Þâ«r4ÔÂ8æ,ªê"ÿD‚<ŽÑü_g�4<º¬\ÿ4OÙBoSœÇËC†ê¤ž�CTšC:kûv ÃEî˜TlFK ÑGò�àüè7fHޝ�F¼f´KKòêÎÜm{xLÚVS>x9ôNPŽíq645mQZâ†/©7úPr6V©‘p:Q*Oÿ%š VN©1–þÛ`Y&-_uspŸkZÞ ›ðå̺¥[r®º+®ýyRZŽ�ךM$Å(]:$ ¤\\~`nrlX í`öÕ2W„t©Œb6cÿ6_µÿ²aÅ`D$Q³j€™»]Vn‹k›Ä2¾ÎHpÕ “ˆ PqN¨HUn†¥×pްÆFî HtRNW½dôu*êö÷#væÁîYŽ,=\wÖþ&KŒÚ¶MxºtÌö¶½yR \ÑñÏ]w†òdæLxR|zŸéñâ›Ì|öV©Ø·ÉþÇ~òé $Õ j(~†Ó<ŽœbÛ€¶yÕVíK«¯„¢¯=} ‹8„àü³l3 ú‡nùaTÛNɈ²Ä|š…ï`‰~I|j=jŽ‹:Ù_tUÕߌšï«M€ü‹ù�Bˆ†ßè…)T�2ÙäÈfbî‘�RÙ¿Ê®-�´’ÚRu›;%pˆ’îÈ]U#ÁÒ†˜ŽJu˜� ·˜ÌÚ¡ÜÄg‰š²U²m7ç뾚 ¿—/R|™^!hÓQ齟æDYSŒ—gý Î1 ´n¸ËŸ6Y‘õ<¨%z¡"etT6§¸¤Z¿KWYà>O¥Ÿ¥5ç×<¦^ãV"Z�Õݧú /nÅ"o¥B èÌç)©Žk¼Z“$âß)Ͻšé”?C2)‰¿¶9ÏDDßV¿þ/ÍÂåPkoÁîZý­A+"Â2zùÈÖܾ¼ªMLv�äIÅ–dU ƒü%Ç‚{><½"ÕÈæ@3�R}ŒÉš>ŽÙ� ÉKwßÀÉæqì!¬!�6È’¹cÌ9çø@Êj-—Ù%T üÎæë“êwe)*ÎI¤@‹WÐR×7ãMÕüÑê­jŒ@ÉÒŠQà­ðRcÓ6 I¨þ®¼ÕÒ$ÝÜñë=ÙF,@ TýäýÚÚɯ×ä’Ðàr)ކhƒhá^þLO¹�~äN‡¬8ï²›å†O=tÔË”Bän�ð:³yáçNzÑÇð¬çÚ_ $Õ<Àé’‘w¬ûéÎ*ÂwíòöC}4 Yðjy-Aó-«;Á/?[óøàµ] Üdøöäò ²`+ùæp X«OÜûN·"š ×hüú 1h‰ zàýØ <X ÂEþë^ÉöêÛûž�öÀø�ü^Š‚QNßöXÜu´ KÃI÷’aðwpö]ÎWn¡J.‡\—ªt\D³»<�ÓRó3Ñ /¶ú°t5ó óVÜÎÝe ƒ˜trX³æÆ§/9¾ÆçÙ k5^Ÿg,#¿5¾šóqíÃ�þÜ#L½A6Ì1·O6ôر’¿bѰëÞXÕ‹\€’·d1_«3„á§£o1GìZ€ œpoÇÀ°dM€›fÌ0äí\X ÒcHt^pß¿†#á¾ÚVÕWw®ƒZ‹Ö ÷_ûLê`i·#fž5^"3I2H••8!ÿùwe´N؈$Ÿ²Yò1·�Û%çà‡ -T°W&+3s:)OW$ÓÑü0ë*%�øÚNex"°)[—d„Ty!Ú'#m,èY¹‘<&CôúšÂ§˜,cƒ‰¬—›1]-cè f_¤-Ûø”Ýú#½¿+“Þª®}l)ß}‰æÙ#1ß•LÐ"6ß4GÛ¬=ixœ 8"¬º Ù¤R;O+±"?hk<ë)lq`E^ñ=§FN<q34=Ï¡7F='˜?ß¹I|‚®œB;So[6ÚäCW<@‚©ú§ D÷y¡�r ðEK$”ä½JnÒEsŸS¸½·-Gƒ¾‘ƒ H‘+~« Iïr?¹ª(½ïJ;R¥ŠW'~M»ÓÞÛ©¦ˆNãÚR±:_PSò쟗ÜÿQ‡Uðøn€&R§AÛx®>O´Pó(öŒ*‡»\SGN§7 Æ€¶SWimK¿×PV 4¶i�sŒiW_õ˜Ï_C–¿VÄ„/sËCÎYs´´wÇø]]¯hŽGé‡â:_/{è›·8,ìcñuÆØ.äãeGíÌ%§QTže«½ž~ >éeƒ1Ÿ2õÑfk2‰b OÛÁl›ä»?ì|opl¯Ö}]oE„¼mK}Ð`Õ¥y5oËõ)mÑp³!HЧq#8Ùa/�&ær_¹|gYts×ÑE[\Ôs8Ó²žòlr_ÛÓ±ÒÙsv.‚Ä—€½ßwÛ1¢–Lx/8)· ZYp3¥QøM¿Š÷zÇŤé>rœ{¯<Ú£À�Û‡{{®g-c:yS}SîÂÙ_éæs£’¾f«äj$�sê‘׆k§‚g~œ[mÕ­‚‹ø{ 9…£©ëØTl†?DlA Žä؈ çË^лé�‡bº™ÏוC` рŪ› ‰´¦ø&–›ƒtdǵ=í®�sšhOí·¬‰¢ïzsiIÁ³{¢¸ƒ„9ìDz¥s7U†-¡d¥ÏÛ9!lu�¬›`oV‚ªD‘­7eh])£Ê­�!ÀS ¼¯Ë?`´ù¹Ùk¯?yæk é4±ó{ï 8ªgx´ÃÕUŽÓÌŸ´ÇÌkÃû!]¤·çrÝñ §mÚ¹�4g [³ #¾ëáøª¬OcÂKG—÷¾z ÙÅË¥I½=:Ƨ‘–7«‹ybÇ#v.1“(šðÊt�ë^Æ©sËÿ0*k.ŽcÊË CÄ“õÍçŽ�€9~”Í/¢A*Oå»ôϳ;R.ð}ç¥Í#@Vç"$ôÑ[xŘðÒÑïÛ“-µyÓ›\F©h÷ÑO]†G±ÍÑ×Ù§�…ÅÃÖ« ž÷†º@×›¡)^¿lfØ+�\yæË8§ØËÜð y*%ÀÒKâ�GŠ-Ü»¿^’«²ÉºàkËJ3'­)Ìð¯sp»›wúñ‹(ˆ/ä 47òKˆ™�D ñŒóGNÐå‚§Šô|—«ùg¤Hõ�صìiå†úG÷’1"©ü/D$¨ ùƒþ£ŸšÿS4êÂÿû,Ü^ÿQxÿTÿTD^/,$~}ByIYZÿHNnTNFÿ`ÿ aÿ#2ÿÿÿ ÿNÿÿÿÿ7i9'ÿÿdÿe:L[N5V%he&ÿÿÿ/ÿÿÿ%Dÿÿ52ÿÿa@>ÿÿÿÿÿPÿ`Uÿÿ /\ÿRÿÿeÿÿÿÿ*ÿÿ6ÿjk7yRLu}>OetÿÿÿÿOÿÿ&ÿÿÿ6ÿÿÿÿiÿ5u Heÿÿÿÿaÿÿnÿÿÿqÿ_ ÿÿVB]!OU(d3 ÿÿyhHÿÿÿÿÿÿLÿXjo9QH|3ÿrF$RBÿÿ hSÿÿÿTÿÿÿÿÿÿ)7ÿCGÿÿÿÿ0ÿ5ÿÿÿÿljÿÿ^|ÿÿÿAÿÿÿvÿp|ÿ/]ÿÿÿÿÿÿÿÿ> ÿÿ$ y}V.ÿÿÿÿÿÿÿÿÿÿÿÿP)^U ÿYBUÿÿÿÿAÿÿÿ op ÿÿ$ÿÿÿFÿÿÿCzÿjÿ%O;wÿÿÿÿÿÿÿÿ)bÿ>QqU,ÿQXÿÿVÿÿ0"ÿW4ÿgtÿmÿ ÿMfÿÿ]ÿÿÿ%Gÿÿÿÿÿÿÿÿÿ U= ux4ÿÿ pS[{5`LzT$Kd `cvi ÿwÿhrBEÿÿ_ÿ*g.ryÿÿ2ÿ]ÿÿÿÿÿwyl 4ÿÿ+|ÿz\ÿ ÿ&ÿyÿEÿÿsd^fEÿÿÿÿÿÿhÿÿÿÿÿ ZQ|ÿqÿC lvÿit:2qUÿhÿÿÿÿ)R5*ÿHÿÿu)ÿÿÿ8Cÿÿÿÿ/M]k ÿÿ60ÿÿÿÿÿÿLMÿÿÿÿ $Xÿ+uw:.2ÿOTjÿÿÿW~ÿ0>>ÿ/UCÿr_ÿ:.ÿÿÿÿmY_4ÿÿ,H:ÿ%R+ÿÿÿÿ`iuÿ{ÿÿICGfJgf~|ÿ*ÿ= G;v1KIR $ÿÿÿÿ WÿÿÿÿÿG?ÿÿVxHaÿÿ!ÿÿÿÿUpÿÿÿyÿ/{Aÿÿ,ÿa8PNÿn:_ ^hÿÿÿ@B`f1W;,C~m2}DtJoD&ÿÿVÿÿÿVÿÿX6'$ÿÿ7 PJ)ARÿÿi?ÿvxm{S6[LBZÿÿÿGÿtÿÿÿ:ÿfOODÿÿÿ]>hzl>i A( m3a_ÿÿHNÿ6ÿÿÿÿÿÿÿ]ÿÿÿÿÿÿÿÿÿÿZ24ÿÿÿÿ9Aÿ*mÿÿÿÿÿ740swÿÿ*5ÿnÿ3ÿÿÿÿ|ÿÿÿKÿÿRKÿÿ@!F )+bI CSO.x@ÿ/ÿÿÿ%ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ9DLhKZÿÿÿÿIÿÿMnÿQxÿTÿTD^/,$~}P/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/lib.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁP/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/lib.rsÁ L“nÜΖ»çz¿"Ò\ßßBEœÁËyËyÙEE/?J@,4; 5<9-J@ / J(]Ya_> O>R=Q'+,DE7.NF1 9FF) 3dG9 3 2I6R ( 7'$$0 -6T4C 7\4R 7 Y!\I)B`)5 ZVM)8!+ ENP[V ‰�‹1).2/3O=PE6($ha7`bBE05'/^F*% ']!!*$!!$:$!!'$.\_WadZV0U  U6 > & / !/,3  :%6 4A 62 6=5 87 !)!*N/Ya=' KWfNL !0!*,/Ya='% Y + .?E > &+ / !/?F  :%6 4A 62 6=5 I !)!5O/Ya=' OWfN^ !0!5-/Ya='% USGB4)!* !: /Ya=' \SGIB0!* !5/Ya='% YSGF';)!5 !: /Ya=' `SGM'I0!5 !6/Ya='% 9#ada]!d & a5) )( .+,09 .+'0  :%6 4A 62 6=5 :%6 4A 62 6=5 89 !)&*': /Ya=' ^CPaa`,N !0&*'2/Ya='% WaZ, + !0.=5< K !)&5': /Ya=' bCPe`a3` !0&5'3/Ya='% C<ILPJM3I06(FDNTD7-57 :Q<R=ILPJM3J16)HDPTF7.77 L%&^Z_`_Y=^>S#Y]C%"&#aca]M ZS)i3h7"+a@;6!2 0= 24! 29 1 ,Z *+"-OJ*+"-QJ %-'.OQ"-'.QT"_aD ".;"a_b"2VZg&# "2?#C$NH0& c\$7*'G+'O*'*C44 A&( /#"#//&&‡­ƒ»þÈìÒæÖßÚi”�Ë)ý'N™Éç_›qU/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/yokeable.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁU/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/yokeable.rsÁ OÀ�ÍzÄ•ëŒo §ž€ö£ªhªhæEf3Q[fl)1. *G.US^43Z=16(ZA12F zJ\, jmH6 ¢æ…ÒAòr¦Û˜Vì£êX/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/macro_impls.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁX/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/macro_impls.rsÁ ¯YÒò!u”ÃöñOnhÁýýyE糈‘Ÿ”R/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/utils.rsÁE/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3ÁR/root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/yoke-0.8.3/src/utils.rsÁ CV’>"X¿.‰ƒZSîE