Files
boc/aamos-ledger-rust/target/debug/deps/libindexmap-e39f47a39f77fff5.rmeta
T

3229 lines
881 KiB
Plaintext
Raw Normal View History

rust
#rustc 1.96.0 (ac68faa20 2026-05-25)ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁЭ2Ïs/ƒótà-a971313051c2b5a1Á
equivalentÁ˜úôa ,tùƳJ8®ød-293c030140ba1879Áimpl_arbitraryÁtW» arbitraryÁ¬impl_quickcheckÁ| »
quickcheckÁ´¯êparallel_iterator_methodsÁÌ/»rayonÁŒì.ê!indexed_parallel_iterator_methodsÁü“6!»¡ Œò5borshÁ,¾$»é Œ¦$serdeÁ,ã$»
ŒË$svalÁ$‡%»Ÿ
„ð$ÿtestsÁ,$ serde_seqÁLž»
ŒÑº
¡ ,ü»¡ ŒËIndexMapÁD‹»ÀŒì²º
,íS$âSÈ º
,c$XÈ ¡ ,þ»¡ ŒÍÈ IndexSetÁD¹»À|Œš¡ ,Ã&»¡ Œ«&í¤ÀºinnerÁentryÁ 
'aÁœ§æ 
OccupiedEntryÁ§
œ§ØÖbucketÁ§
œ§ from_hashÁ##  into_coreÁ
get_bucketÁget_bucket_mutÁ into_bucketÁÖkeyÁgetÁget_mutÁinto_mutÁinsertÁremoveÁ swap_removeÁ shift_removeÁ remove_entryÁswap_remove_entryÁshift_remove_entryÁ remove_indexÁ
move_indexÁ swap_indicesÁ8  update_indexÁ;§
;œ;§;÷?  VacantEntryÁA§
AœA§AØA§AŒH§
HœH§HÖHŒHkey_mutÁHinto_keyÁH½H insert_entryÁH
insert_sortedÁHinsert_sorted_byÁSS Hinsert_sorted_by_keyÁVVH shift_insertÁH
replace_indexÁZ extractÁ\\\\\\bœb§bÖe£\ ExtractCoreÁg§
gœg§gØgnew_lenÁgcurrentÁgþ\oœo§oã\sœs§s
extract_ifÁvs remainingÁ 
 IndicesÁEntriesÁœ§ 
CoreÁœ§indicesÁentriesÁget_hashÁœ§ í§
œ§¢  erase_indexÁž û  insert_bulk_no_growÁ¢œ¢§¢ ¦œ¦§¦ƒ¦«œ«§«MAX_ENTRIES_CAPACITYÁ«æ «
with_capacityÁ« into_entriesÁ«
as_entriesÁ«as_entries_mutÁ« with_entriesÁ´««capacityÁ«clearÁ«truncateÁ«drainÁº£« split_offÁ« split_spliceÁ½£«append_uncheckedÁ«reserveÁ«
reserve_exactÁ« try_reserveÁ«try_reserve_entriesÁ«try_reserve_exactÁ« shrink_toÁ«popÁ« get_index_ofÁÇ¢«get_index_of_rawÁÉÉ «
push_entryÁ« insert_fullÁ« replace_fullÁ«shift_remove_fullÁÏ¢«swap_remove_fullÁÑ¢«
erase_indicesÁÓ «retain_in_orderÁÕÕ «rebuild_hash_tableÁ«reverseÁ«reserve_entriesÁ«
insert_uniqueÁ«replace_index_uniqueÁ«shift_insert_uniqueÁÝ «shift_remove_indexÁ«shift_remove_finishÁ«swap_remove_indexÁ«swap_remove_finishÁ«decrement_indicesÁ«increment_indicesÁ«Óå «move_index_innerÁ«äè macrosÁêindexmap_with_defaultÁêindexmapÁêindexset_with_defaultÁêindexsetÁêiterator_methodsÁêdouble_ended_iterator_methodsÁutilÁñññññthirdÁöööñsimplify_rangeÁú£ñtry_simplify_rangeÁü£ñslice_eqÁþ¥þ¦þimpl Fn(&T, &U) -> boolÁØë ƒƒƒƒƒƒƒƒƒEntryÁŒ§
ŒœŒ§ŒOccupiedÁ
ˆŒVacantÁ
ˆƒ§
œ§Ö¹ or_insertÁor_insert_withÁor_insert_with_keyÁŸŒ
and_modifyÁ¢
or_defaultÁƒ¥œ¥§¥×ƒ©œ©§©×ƒ­œ­§­×ƒ IndexedEntryÁ±§
±œ±§±Ø±Öƒ·§
·œ·§·æ ·Ö·½·Í·Þ·ó·Œ··· ·½·®··§·×·é·Ó·äƒÍœÍ§Í׃ѧ
ќѧÑ÷ùÖÖÖÖÖÖÖÖÖÖ Ö
Ö Ö Ö
ÖÖÖÖÖÖÖÖì§
ìœì§ì¤ììIntoIterÁìêÖô§
ôœô§ô¤ôô*ôêÖüœü§ü¤üü*üêÖIterÁƒ§
ƒœƒ§ƒùÖˆ§
ˆœˆ§ˆæ ˆas_sliceÁÖŽ§
ŽœŽ§ŽÖœ§Öœ§Öšœš§Öœ§ƒÖ ¡œ¡§¡×Ö
¥œ¥§¥>ÖIterMutÁ©§
©œ©§©ùÖ ®§
®œ®§®æ ®ë+®
into_sliceÁÖ µ§
µœµ§µÖ
ºœº§Ö½œ½§½ÖÁœÁ§ÖĜħÄ×ÖȜȧÈ>ÖIterMut2Á̧
̧̜ÌùÖѧ
ÑœÑ§Ñæ Ñë+Ñ™.ÖØ§
؜اØÖݜݧÖàœà§àÖäœä§Öçœç§ç×Öëœë§ë>Öïœï§ïæ ïë+ï as_mut_sliceÁÖõœõ§õÖùœù§Öüœü§üÖœ§Öƒœƒ§ƒ×Öœ§>ÖDrainÁ§
œ§ùÖ §
œ§æ ë+Ö!œ§Ö"šœš§Ö#œ§Ö$¡œ¡§Ö%¤œ¤§¤×ÖKeysÁ¨§
¨œ¨§¨ùÖ&­§
­œ­§­æ Ö'²§
²œ²§²Ö(·œ·§Ö)ºœº§ºÖ*¾œ¾§Ö+ÁœÁ§ÁƒÖ,ŜŧÅ×Ö-ɜɧÉ>Ö.ͧ͜ͰÍÖÖIntoKeysÁҜҧÒùÖ/ÖœÖ§Öæ Ù Ö0ÛœÛ§ÛƒÞ Ö1àœà§àÖ2äœä§Ö3çœç§çÖ4ëœë§Ö5îœî§î×Ö6òœò§ò>ÖValuesÁö§
öœö§öùÖ7û§
ûœû§ûæ Ö8§
œ§Ö9œ§Ö:ˆœˆ§ˆÖ;ŒœŒ§Ö<œ§ƒÖ=œ§×Ö>œ§>Ö ValuesMutÁ§
œ§ùÖ? §
 œ § æ Ö@¥§
¥œ¥§¥ÖAªœª§ÖB­œ­§­ÖC±œ±§ÖD´œ´§´×ÖE¸œ¸§¸>Ö
IntoValuesÁ¼œ¼§¼ùÖFÀœÀ§Àæ à ÖGÅœÅ§ÅƒÈ ÖHʜʧÊÖIΜΧÖJќѧÑÖK՜էÖL؜اØ×ÖMܜܧÜ>ÖSpliceÁà§
àšàœà§à¤àØàtailÁàŒà replace_withÁÖNê§
êšêœê§ê¤êæ ð£ÖOòšòœò§ò¤òãÖPøšøœø§ø¤øøó ø size_hintÁÖQšœ§¤ next_backÁÖRšœ§¤ÖSŒšŒœŒ§Œ¤ÖTšœ§¤×Ö ExtractIfÁ§
œ§ß predÁÖUžœž§žžæ ¢£ÖV¤œ¤§¤¤¤ó © ¤ìAÖW¬œ¬§¬ÖX°œ°§°°×Ê µµµµµµµµµµ µ
µ µ MutableKeysÁÂKeyÁÂValueÁÂ
get_full_mut2ÁÅ¢Âget_index_mut2Á iter_mut2ÁÂretain2Áɵ˜˧ˤË÷EË‚FËFѢˬFËÂFËÓFÕµMutableEntryKeyÁ×÷E׵ڜڧÚ÷Eڵߜߧß÷Eßµäœä§ä÷Eäµéœé§é÷EéµSealedÁµïœï§ï¤µóœó§µöœö§µùœù§µ üœü§žÿÿÿÿÿÿÿÿÿÿ ÿ
ÿ ÿ ÿ
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙœœœ§œÓÿ œ § 
from_sliceÁ from_mut_sliceÁ 
from_boxedÁ 
into_boxedÁÿ§œ§§§ÿ§æ «§
§new_mutÁ­§
§§is_emptyÁ§ get_indexÁ§
get_index_mutÁ§ get_rangeÁ³£§
get_range_mutÁµ£§firstÁ§ first_mutÁ§§last_mutÁ§split_atÁ§ split_at_mutÁ§split_at_checkedÁ§split_at_mut_checkedÁ§ split_firstÁ§split_first_mutÁ§
split_lastÁ§split_last_mutÁ§ù§ú§keysÁ§ into_keysÁ§¼§
values_mutÁ§ into_valuesÁ§binary_search_keysÁÊ §binary_search_byÁ̧
ÌÌ §binary_search_by_keyÁЧ
ÐÐÐ § is_sortedÁÕ § is_sorted_byÁ×§
×× §is_sorted_by_keyÁÛ§
ÛÛ¥Û §partition_pointÁà¡à §get_disjoint_mutÁãŸã ã §get_disjoint_opt_mutÁçŸç ç ç ÿì§
ìœì§ì*ììêÿó§
óœó§ó*óóêÿúœú§ú*úúêÿœ§>ÿœ§>ÿˆœˆ§ˆ>ÿŒœŒ§Œƒÿ œ§÷ÿ
œ§×ÿ ˜œ˜§˜K2Á˜V2Á˜ ÿ ŸœŸ§ŸÙUŸãUŸ¤ ÿ
¦œ¦§¦ÙU¦ãU¦« ÿ­œ­§­ÙU­ãU­Ÿ­ ­´ ÿœ§ŸÙUãU ÿ¾œ¾§ÿÁœÁ§Áï
ÿŜŧÅÿɜɧɧÌÿΜΧΰÎÖÿӜӧÓ×ÿ
impl_indexÁ raw_entry_v1ÁØØØØØØØØØØ Ø
Ø Ø Ø
RawEntryApiV1Áæœæ§æ¤æŸYæraw_entry_mut_v1ÁØìœì§ì¤ìŸYì©ZØRawEntryBuilderÁò§
òœò§ò¤òØØøœø§ø¤ø×Øý§
ýœý§ý¤ýfrom_keyÁ ¢ýfrom_key_hashed_nocheckÁ¢ý¢ýfrom_hash_fullÁˆ ýindex_from_hashÁŠ ØRawEntryBuilderMutÁŒ §
Œ œŒ §Œ ¤Œ ØØœ§¤×ا
œ§¤÷[œ ¢\ž ¢ž ¢¡ Ø RawEntryMutÁ£ §
£ œ£ §£ ¤£ †$¨
¨ ˆ£ £$«
« ˆØ® œ® §® ¤® ר³ §
³ œ³ §³ ¤³ Ö³ ë$³ ü$º ³ Ä%¼ ØRawOccupiedEntryMutÁ¾ §
¾ œ¾ §¾ ¤¾ ß ¾  hash_builderÁØÅ œÅ §Å ¤Å ×ØÊ §
Ê œÊ §Ê ¤Ê ÖÊ ŒÊ Ê £Ê Ê  Ê ®Ê 
get_key_valueÁÊ get_key_value_mutÁÊ into_key_value_mutÁÊ ½Ê 
insert_keyÁÊ ÊÊ ×Ê éÊ üÊ Ê §Ê ÓÊ äØRawVacantEntryMutÁã §
ã œã §ã ¤ã Øã Þ`Ø ê œê §ê ¤ê ר
ï §
ï œï §ï ¤ï Öï ½ï insert_hashed_nocheckÁï «ï shift_insert_hashed_nocheckÁØIØ ú œú §ú ¤ 
  
 !"#$%&'()*+,-  ¬
œ¬
§¬
¤¬
í¬
Þ`²
œ²
§²
¤²
ƒ²
¸
œ¸
§¸
¤¸
×½
œ½
§½
æ ½
êÂ
œÂ
§Â
¤Â
with_capacity_and_hasherÁÂ
 with_hasherÁÂ
ÿÂ
Â
¥Â
»Ë
Â
ßÂ
hasherÁÂ
Â
âLÂ
ùÂ
úÂ
¾OÂ
ÊOÂ
¼Â
ãOÂ
õOÂ
ïÂ
üÂ
ŒÚ
£Â
Ü
Ü
£Â
¡Â
æÂ
õÂ
ŠÂ
¸Â

shrink_to_fitÁÂ
Ñæ
Ͼ
§æ
¤æ
½æ
Àæ
Ìæ
àí
í
æ
ð
ð
æ

insert_beforeÁæ
«æ
¾æ
ë æ
spliceÁ÷
£÷
šæ
appendÁú
S2Áü
ϟ
§ü
¤ü
§ ¢ü
 contains_keyÁ ¢ü
 ¢ü
ôa ¢ü
get_fullÁˆ ¢ü
íŠ ¢ü
 Œ ¢ü
‰bŽ ¢ü
 get_full_mutÁ ¢ü
¥R ¢ Ÿ    ˜ ü
Êš ¢ü
üœ ¢ü
מ ¢ü
  ¢ü
ˆ¢ ¢ü
é¤ ¢ü
§¦ ¢ü
ç¨ ¢ª œª §ª ¤ª ⪠pop_ifÁ¯ impl FnOnce(&K, &mut V) -> boolÁª retainÁ± ± ª  sort_keysÁ´ µ ª sort_byÁ· · ¹ ª  sorted_byÁ» » ª  sort_by_keyÁ¾ ¥¾ ¾ Á ª sort_unstable_keysÁà Ä ª sort_unstable_byÁÆ Æ È ª sorted_unstable_byÁÊ Ê ª sort_unstable_by_keyÁÍ ¥Í Í Ð ª sort_by_cached_keyÁÒ ¥Ò Ò Õ ª ˆPª §PØ §
Ø ª ÔPÛ §
Û Û ª Qª £Qà §
à ª ÌQã §
ã ã ¥ª Rç ¡ª ª ë+ª ÿ1ª into_boxed_sliceÁª òLª ƒMª get_index_entryÁª get_disjoint_indices_mutÁð Ÿð ð ª ˜Mô £ª ±Mö £ª ÎMª ÛMª  first_entryÁª ª ôMª 
last_entryÁª ¬ª ÷ª Óª ä œ § ¢ ¤ ° Ö œ § ¢ ¤ ×  œ § ¤ ° Ö
 œ § ¤ × š œš §š ¤š ùž š   œ  §  Ÿ    ÷¥ 
§ œ§ §§ ¤§ extendÁ« š« ® §
® œ® §® ¤® ïx³ š³  œ § ¤ >» œ» V1Á» S1Á» ãU» Ál» Á  Ä œÄ §Ä ¤setÁÈ ùÉ É É É É É É É É É  É 
É  É  É 
É É É É É É Ý §
Ý ¥Ý ¤Ý Ý *Ý êÉ ä ¥ä ¤ä ä *ä êÉ š+ê §
ê ¥ê ùÉ î §
î ¥î æ î ë+É ó §
ó ¥ó É ÷ ¥É ù ¥ù É ü ¥É þ ¥þ ƒÉ 
¥
×É  
¥
>É 

¥
æ 
ë+É  
¥
É  Ž
¥É 

¥
É 
¥É 
¥
×É ˜
¥˜
>É °3
§

¥
ùÉ Ÿ
§
Ÿ
¥Ÿ
æ Ÿ
ë+É ¤
¥¤
É §
¥É ©
¥©
É ¬
¥É ®
¥®
×É 
DifferenceÁ±
§
±
¥±
¤±
ù±
¹
É ·
§
·
¥·
¤·
æ »
ÿyÉ ½
§
½
¥½
¤½
½
ó ½
ìAÉ Ä
¥Ä
¤Ä
¢BÉ È
¥È
¤É Ë
¥Ë
¤Ë
ƒÉ Ï
¥Ï
¤Ï
×É  IntersectionÁÓ
§
Ó
¥Ó
¤Ó
ùÓ
¹
É Ù
§
Ù
¥Ù
¤Ù
æ Ý
ÿyÉ ß
§
ß
¥ß
¤ß
ß
ó ß
ìAÉ æ
¥æ
¤æ
¢BÉ  ê
¥ê
¤É !í
¥í
¤í
ƒÉ "ñ
¥ñ
¤ñ
×É SymmetricDifferenceÁõ
§
õ
¥õ
ÿyõ
Álõ
ùÉ #û
§
û
¥û
ÿyû
Álû
æ É $§
¥ÿyÁló ìAfoldÁÉ %Œ¥ŒÿyŒÁlŒ¢BŒrfoldÁÉ &¥ÿyÁlÉ '˜¥˜ÿy˜Ál˜ƒÉ (¥ÿyÁl×É ô¢§
¢¥¢¤¢ùÉ )§§
§¥§¤§æ «ÁlÉ *­§
­¥­¤­­ó ­ìA­Ñ…´´É +·¥·¤·¢B·’†»»É ,¾¥¾¤É -Á¥Á¤ÁƒÉ .ťŤÅ×É ç?ɧ
ɚɥɤÉùÉ /ϧ
ÏšÏ¥Ï¤Ïæ  0ÖšÖ¥Ö¤ÖÖó ÖìAÉ 1ݚݥݤݢBÉ 2âšâ¥â¤âÉ 3çšç¥ç¤É  UnitValueÁë
ëšëˆÉ 4ïšïïó ò É 5ôšô¥ô¤ô×É 6ùšù×É ²Cü§
ü¥üüß üëCÉ 7¥æ £É 8¥ó  ìAÉ 9Ž¥ŽÉ :¥×È Ê 
MutableValuesÁFFŸ¢¬FÓF¢¤¥¤¤¤‚F¤F¨¢¤¬F¤ÓF«« ‚I¯¥¯¤È ž²²²²²²²²²² ²
² ² ²
²²²²²²²ÙÇ¥ÇӲʥÊÊKÊòKÊ„L²Ï¥ÏÿÏæ Ò§
ÏÏâLÏòLϘM×£ÏÎMÏÏ„NϨNÏÜNφOÏùÏ
binary_searchÁà ϧPâ§
ââ ÏÔPæ§
æææ ÏQë Ï£Qí§
íí ÏÌQñ§
ññœñ ÏRö¡ö ²ù§
ù¥ù*ùùê²ÿ¥ÿ*ÿÿê²¥>²¥>²Š¥Šƒ²¥÷²¥×² ¥¦ ²
˜¥˜¦˜ ² ¥¦  ² ¢¥¢¦¢Ÿ¢ ¢§ ²
©¥©Ÿ©¦© ©²¯¥²±¥±ï
²´¥´²·¥·§¹²»¥»°»Ö²YÈ È È È È È È È È È  È 
È  È  È 
È È È È È È È È È È È È È È È È È È È BucketÁà¥È  â¥â¤âØÈ æ¥æ¤æƒæÈ ë¥ë¤ë×È ï¥ïæ ïêÈ ó¥ó¤óÐhóðhóÿóó»úóßó³ióóâLóùóïóü󌃣ó£ó¡óæóõóŠó¸óéjóÑÈ ¥¤½ÀÌà ˜˜˜ èk«replaceÁÓ¾
differenceÁ¡§
¡Álsymmetric_differenceÁ¤§
¤Ál intersectionÁ§§
§ÁlCª§
ªÁl•l­£­š³l°ÁlÈ ²¥²¤²containsÁµ¢²·¢· ²´mº¢º ²í½¢²Ê¿¢²×Á¢²éâ²takeÁÅ¢² swap_takeÁÇ¢Ç ²
shift_takeÁÊ¢Ê ²ˆÍ¢Í ²çÐ¢Ð È Ó¥Ó¤ÓâÖ ÓîoØimpl FnOnce(&T) -> boolÁÓ£pÚÚ ÓsortÁÓÙpÞÞ Óúpáá Ó˜qäœää ç Ó
sort_unstableÁÓéqêê Ó“ríí Óºrðœðð ó Óðrõœõõ ø Óÿ‘Ó§Pû§
ûÓÔPþ§
þþÓQÓ£Qƒ§
ƒÓÌQ§
œÓRŠ¡ÓÓë+ÓÌtÓòLÓ˜M£ÓÎMÓÓ¬ Ó÷ ÓÓÓäÈ š¥š¤š°šÖÈ Ÿ¥Ÿ¤Ÿù¢š¢ È  ¥¥¥Ÿ¥ ¥÷© È 
«¥«¤«ïx®š® È  ±§
±¥±¤±ïxµšÈ  ·¥·¤·>È 
»¥»ÿy»Ál»È À¥À¤È åäà is_disjointÁÆÁlÆ Æ Ã is_subsetÁÊÁlÊ Ã is_supersetÁÍÁlÈ Ï¥ÏÿyÏÁlÏ°Ï¯È Õ¥ÕÿyÕÁlÕ°Õ±È Û¥ÛÿyÛÁlÛ°ÛµÈ á¥áÿyáÁlá°áÚêìœì§ìƒìñœñ§ñkey_refÁñ value_refÁñ value_mutÁñŒñ»ñ key_valueÁñrefsÁñref_mutÁñmutsÁý
from_allocÁýfrom_hashbrownÁ׃׎ó ŽìAŽüŽnthÁŽŽcollectÁ¢Bnth_backÁµó µìAµüµ¾«µµÑ«º¢Bºð«Øó ØìAØüؾ«ØØÑ«Ý¢BÝð«Ö*¡œ¡§¡ùÖY¥œ¥§¥ƒõó õìAõüõ¾«õõÑ«®ù¢Bùð«ó ìAü¾«Ñ«·š¢Bšð«²ó ²ìA²ü²¾«²²Ñ«À·¢B·ð«àó àìAàüྫààÑ«Éä¢Bäð«ó ìAü¾«Ñ«Ò¢Bð«¥ó ¥ìA¥ü¥¾«¥¥Ñ«Ûª¢Bªð«Êó ÊìAÊüʾ«ÊÊÑ«ä΢BÎð«ÿèœè§è¤è°èÖÿîœî§î¤î×ÿóœó§ó°óÖÿøœø§ø×ÿüœü§ü¤ü°üÖÿœ§¤×ÿœ§°ÖÿŒœŒ§Œ×ÿœ§¤°Öÿœ§¤×ÿ œ§°Öÿ! œ § ×ÿ"¤œ¤§¤¤¤°¤Öÿ#ªœª§ª¤ª×ÿ$¯œ¯§¯°¯Öÿ%´œ´§´×ÿ&¸œ¸§¸¤¸°¸Öÿ'¾œ¾§¾¤¾×ÿ(ÜçðÃÖÿ)ȜȧÈ×ÿ*̧̜̤̰ÌÖÿ+ҜҧҤÒ×ÿ,לקװ×Öÿ-ܜܧÜ×ÿ.àœà§à¤à°àÖÿ/æœæ§æ¤æ×ÿ0ëœë§ë°ëÖÿ1ðœð§ð×ó ó ó ìAó üó ¾«ó ó Ñ«ù÷ ¢B÷ ð«É *ý¥ýùÉ ;¥ƒ
ó 
ìA
ü
¾«

Ñ«ˆŽ
¢BŽ
ð«¤
ó ¤
ìA¤
ü¤
¾«¤
¤
Ñ«§
¢B§
𫲥¤°Ö²š¥š°šÖ²ž¥ž¤ž°žÖ²£¥£°£Ö²§¥§¤§°§Ö²¬¥¬°¬Ö²°¥°¤°°°Ö²µ¥µ°µÖ²¹¥¹¤¹°¹Ö²¾¥¾°¾Ö²Â¥Â¤Â°ÂֲǥǰÇֲ˥ˤ˰ËÖ² ХаÐÖ HashValueÁÔ
Ԉ ؃
 Û× 
ÞИàœà§à§àŒà»æœæ§éœé§é×TryReserveErrorÁíïƒòôÖö×TryReserveErrorKindÁøStdÁù
ùˆøCapacityOverflowÁü
ø
AllocErrorÁþlayoutÁƒƒÖ×GetDisjointMutErrorÁIndexOutOfBoundsÁŠ
OverlappingIndicesÁŒ
Ž×ƒÖ#
#
'
(
*
+
,
-
/
6
L
M
N
S
S
S
S
V
V
e
o
r
s
v
v
x



ž
 
¢
¢
©
ª
ª
²
³
´
´

·
¸
¹
º
¼
½
¿
¿
À
Á
Â
Ã
Ä
Å
Æ
Ç
Ç
É
É
É
Ì
Í
Î
Ï
Ï
Ñ
Ñ
Ó
Õ
Õ
Õ
Ø
Ù
Ú
Û
Ü
Ý
ß
à
á
â
ã
ä
å
ç
è
þ
þ
þ
þ
š
Ÿ
¡
¢
¥
¨
¨
¨
©
¬
¬
¬
­
°
°
°
¼
¾
¿
Á
Â
Ã
Ä
Å
Í
Ð
Ð
Ð




š

 
¡
¤
¤
¤
¥
³
º
½
À
Á
Ä
Ç
Ç
Ç
È
Ö
Ý
à
ã
ä
ç
ê
ê
ê
ë
ó
ô
ÿ





š

 
¡
¤
§
§
§
·
º
½
¾
Á
Ä
Å
È
È
È
É
Í
Ñ
Þ
ê
ñ
ñ
ñ

ˆ

Œ







ª
­
°
±
´
·
·
·
¸
È
Ô
Û
Û
Û
ò
÷
ø
þ
ÿ




Œ




ž
¢
¢
¢
¤
¤
¤
©
«
¬
¬
¬
°
´
´
´
Å
Å
Ç
È
É
É
É
Ñ
Ñ
Ó
Ô
Õ
Õ
Õ
Ù
Ú
Þ
ß
ã
ä
è
é
í
ó
ö
ù
ü
£
¤
¯
°
±
²
³
µ
·
¸
¹
º
»
¼
½
¾
¿
À
Á
Â
Ã
Ä
Å
Ç
È
Ê
Ê
Ð
Õ
à
à
à
ã
ç










¤
¤
«
«
´
´
½
½
Ä
Ä
È
È
Ì
Ì
Ò
Ö
ê
ë
ð
ñ
ø
ü
ü
ü



ˆ
Š




œ
ž
¡
®
²
²
²
¸
¼
¼
Å
É
É
É
Ï
Ð
Ñ
Ó
Ô
Ö
×
Ù
Ú
ê
î
î
î
ô

·
·
¼
¼
¼
É
Ê
Ë
Ë
Í
Î
Ï
Ð
Ñ
Ò
Ó
Õ
Ö
Ø
Ù
Ú
Ü
Ü
Ü
ß
à
á
â
ã
ä
å
ê
ë
ì
í
í
í
í
í
ð
ð
ð
ó
ô
õ
ö
÷
ú
ú








ˆ
ˆ
Š
Š
Œ
Œ
Ž
Ž




š
š
œ
œ
ž
ž
 
 
¢
¢
¤
¤
¦
¦
¨
¨
®
¯
¯
¯
±
±
±
´
·
·
·
·
·
»
»
»
»
¾
¾
¾
Ã
Æ
Æ
Æ
Æ
Æ
Ê
Ê
Ê
Ê
Í
Í
Í
Ò
Ò
Ò
×
×
Û
ß
ç
ç
ç
é
ê
ë
í
î
ï
ð
ô
ö
ø
ù
ú
û
ü
ý
þ
ÿ



ˆ
ˆ

Ž
Ž


«
³
Á
Á
ò
÷
ù
û
ü
þ


ƒ
ƒ
ƒ

Š




£
¤
§
©
«
¬
®
°
°
°
Â
Ã
Ä
Ç
È
Ë
Î
Ï
Ò
Ò
Ò
ä
å
æ
é
ê
í
ð
ñ
ô
ô
ô

ˆ
Œ


˜
œ

¡
¡
¡
²
³
·
º
¾
Á
Ä
Å
È
È
È
Ö
Û
Ü
Ý
á
â
æ
ç
ò
ô
ø
ø
ø
û
û
û







Ž
Ž




Ÿ
Ÿ
¡
¢
¢
¨
¨
ª
«
«
Ì
Ô
Õ
Ö
×
Ù
Ú
Û
Ü
Ý
Þ
ß
à
à
æ
ë
ö
ö

Œ









 
 
§
§
®
®
³
³


¹
¹
¾
é
ê
ê
î
î
î
ù
ú
ú
ü
ý
þ
ÿ



ƒ


ˆ

Š

Œ

Ž






˜
˜
œ

ž
Ÿ
 
­
°
°
µ
µ
·
·
º
º
½
½
¿
¿
Á
Á
Ã
Ã
Å
Å
Ç
Ç
Ê
Ê
Í
Í
Ð
Ð
Ö
Ø
Ø
Ú
Ú
Ý
Þ
Þ
Þ
á
á
ä
ä
é
ê
ê
ê
í
í
ð
ð
õ
õ
ú
ú
þ

Š
Š
Œ







˜

ž
®
µ
¿
¿
Æ
Æ
Ê
Ê
Í
Í
Ï
Ï
Ô
Õ
Õ
Ú
Û
Û
à
á
á
æ
ï
ð
ð
ô
õ
ö
ú
û
ü










Ž





˜


Ÿ
 
¨
©
ª
¬
°
±
²
³
µ
¹
º
»
¼
¾
Â
Ã
Ä
Å
Ç
Ë
Ì
Í
Î
Ð
Ô
Õ
Ö
×
Ù
Ý
Þ
ß
à
â
æ
ç
í
ò
÷
û





š
Ÿ
£
©
®
³
·
½
Â
Ç
Ë
Ñ
Ö
Û
ß
å
ê
ï
ó
ô
õ
÷
û
ü

ƒ


Š

Œ






¢
¦
«
¯
´
¸
½
Á
Æ
Ê
Ï
Ó
Ù
Ü
Ü
Ü
ß
ß
ì
ì
ì
ð
ó
ó
õ
÷
÷
÷




ˆ
ˆ
ˆ







8Ϥ
Â×îæù ®éÅ
ØÖü
ŒF¾2
\›º§
œ§±±Ç&µØƒÖƒŸ1zî¨F›§
™ëŸëŒ"gg˜kØ\lÆ\mÔ\nþ\lÌŒæt8™ëŸëبÄÓê9œÒž”²œ§¿cŒ†$ˆ£$ˆA'YНy!8™ëŸë¿cÅ
ØÖü
ŒF¾2
\›º8™ëŸë¿cAA²EØF§GŒ N½ž–&8™ëŸë¿c±±Ç&µØƒÖƒŸ1zî¨F›8™ëŸëé¥ëÕêÇL §
¬
¬
  °
í±
Þ`øÃx¶*Ó™ëŸë¤ÇL §
þïÇL¬
¬
  °
í±
Þ`øÃx¶*ÓˆíŽí¤ùMƒƒš+ùÖ…ä1dÿ·‘§
™ëŸëŒMƒƒš+ùÖ…ä1dÿ·‘8™ëŸëÃMðñòPðñØðñ¿cðñ³ðñùM©©½-­ùÖ²žÄÿ„§
™ëŸëŒM©©½-­ùÖ²žÄÿ„8™ëŸëÃM¬óòP¬ó¿c¬ó³¬óùMÌÌÐ/ÐùÖU®"¯§
™ëŸëŒMÌÌÐ/ÐùÖU®"¯8™ëŸëÃMÝôòPÝô¿cÝô³ÝôØ¡¡*¤ùÖp¸Ù3¦µ+ˆíŽíùMËõŒMËõÃMËõòPËõ¿cËõ³ËõùM°3ùÖ2Krb~8™ëŸëŒMÊöÃMÊöòPÊö¿cÊöùM¨¨‹5¬ùÖ>·£;ñ› §
™ëŸëŒM¨¨‹5¬ùÖ>·£;ñ› 8™ëŸëÃMû÷òPû÷Øû÷¿cû÷³û÷Ù¢û÷ØÒÒÃ7ÕùÖ„{ º•ˆíŽíùMƒùŒMƒùÃMƒùòPƒù¿cƒù³ƒùùMööÌ9úùÖî¹ú‡$!§
™ëŸëŒMööÌ9úùÖî¹ú‡$!8™ëŸëÃMÅúòPÅúØÅú¿cÅú³ÅúùMá;ŸùÖ†¦"KPy§
™ëŸëŒMá;ŸùÖ†¦"KPy8™ëŸëÃMüòPü¿cü³üؼ¼Ü=¿ùÖŸD¾YwˆíŽíùMïüŒMïüÃMïüòPïü¿cïü³ïüŒ"ààç?æØÖç¥@ÖèŒÖé¹@Ö6õ•Â\¶8šœ§¤ùMîýŒMîýÃMîýòPîý¿cîýùM²Cœß ÖëCÖ}GB×òç8™ëŸëòP›ÿ¿c›ÿÂßð×›í×÷í×Éî×›ïîßðî›íî÷íîÉîî›ïÇL §
œœÙŸÓOÝ(L9U™ëŸëÇL §
ù€ÇLžBoxÁ¡ˆˆ¢ˆl }.xÏœœÙŸÓOÝ(L9UˆíŽíçEçEèEGlobalÁ ¿±‡§í#³ 8ù€³ 8ù€³ÈØÈéžÖ€¡ˆˆ¢ˆl }.xÏù€¾‚ñ‚¿c‰‚µß‰‚œœÙŸÓOÝ(L9UÙUãUµß‰‚
¸„¾„µß
ˆíŽí‹„µß‰‚Ñ„ŸµßㄟœœÙŸÓOÝ(L9UÙUãU‰‚í߉‚‰‚º‰‚še‰‚Ù¢‰‚³"‰‚Ù¢ß𣣹ƒ£¹„£þ-'ºˆÉ¬g³"ßð«†Ù¢‰‚«†³"‰‚«†Ù¢ßð—£—£»™£¹< =áï_å³"ßð ‡Ù¢‰‚ ‡³"‰‚ ‡Ù¢ßðî¢î¢ï¢½ +¢ L;V³"ßð‹ˆÙ¢‰‚‹ˆ³"‰‚‹ˆÙ¢ßð½£½£¾¿£¹À£þÁ£ exhaustedÁ1¥œMu7·P³"ßðîˆÙ¢‰‚"‰‚îˆÙ¢ß𫣫£Ã­£þôÉûT™gö³"ßðü‰Ù¢‰‚ü‰³"‰‚ü‰Ù¢ßðУУÄÒ£þ…K~)+ÄÒž³"ßðçŠÙ¢‰‚犳"‰‚çŠÙ¢ßðç£é£ê£IncludedÁ룈ì£í£ExcludedÁï£ð£ UnboundedÁiΉ£i7|Ô‹³"ßðÒ‹Ù¢‰‚Ò‹³"‰‚Ò‹æßðˆíŽí ñ¿còòîZ÷ØØå¿f»|rû8™ëŸë¿ð¿cŒ Œ ƒ]ØØD •…¸ÉÚ8™ëŸë¿ð¿c£ ¨ © †$ª ˆ« ¬ £$­ ˆéö*(°TÓù8™ëŸë¿ð¿c¾ ¾ ›`à ß ØÄ Þ`جҰöá(8™ëŸë¿ð¿cã ã –cè ØØé Þ`؆@“äQE´Š8™ëŸë¿ðù ßðØßð¿cßðÙ¢¬
¬
  °
í±
Þ`øÃx¶*Ó™ëŸë×þ 8¢³"Ò—‘Ù¢ßð³"ßðÃLßðã„é¬
¬
  °
í±
Þ`øÃx¶*ÓˆíŽíÖJÖJ RandomStateÁ×Jk0ÁˆØJk1Áˆ‰ÌkqÇËŸŽ…ÐLßðã„ÐLþï §
™ë §
Ÿë³ßðµß¬
¬
  °
í±
Þ`øÃx¶*Óˆíõyÿy¬
¬
  °
í±
Þ`øÃx¶*Óˆí¾„ÁlßðÇL §
ââ åØp„þ2x¥ ñÇLââ åØp„þ2x¥¤ùMê ê š+í ùÉ ¿Ì$ë{ÏOø§
Œ•ŒMê ê š+í ùÉ ¿Ì$ë{ÏOø8Œ•ÃMòPØ¿c³Øýý*ÿùÉ d 5¯éh[Ë•ùM’—ŒM’—ÃM’—òP’—¿c’—³’—ùM

°3ž
ùÉ 〜#bü8Œ•ŒM˜ÃM˜òP˜¿c˜ùM±
±
’€µ
ùÉ 
¹
É hß2€vyÞ§
Œ• ñŒM±
±
’€µ
ùÉ 
¹
É hß2€vyÞ8Œ• ñòPÇ™ØÇ™¿cÇ™ùMÓ
Ó
š‚×
ùÉ Ø
¹
É ½Í—U%Ln­§
Œ• ñŒMÓ
Ó
š‚×
ùÉ Ø
¹
É ½Í—U%Ln­8Œ• ñòP‡›Ø‡›¿c‡›ùMõ
õ
¤„ú
ùÉ ñsÜØ)zr¼§
Œ•ú“ÁlŒMõ
õ
¤„ú
ùÉ ñsÜØ)zr¼8Œ•ú“´œòPÁœØÁœ¿cÁœùM¢¢ô¦ùÉ ¤¶nØ{ibƒ§
Œ• ñŒM¢¢ô¦ùÉ ¤¶nØ{ibƒ8Œ• ñòPìØì¿cìùMÉÉç?ÎùÉ Œj@ð.Z8Åþ¥¿ðŒMÏžÃMÏžòPÏžùMëëì¿‹îˆÉ  ”iÑë$
Nš¿cÏž¿c¸ŸùMüü²Cß É ëCÉ ³:ͧ¹»Þ8Œ•òPŽ ¿cŽ ž•®ž•ÇL §
ÇÇÙÉÓ"Ý,ÿ}sú«Œ•ÇLžÖ€¡ˆˆ¢ˆl }.xÏÇÇÙÉÓ"Ý,ÿ}sú«Ë•¾‚³ 8¡³É¡ØÉ¡éžÖ€¡ˆˆ¢ˆl }.xÏ¡¾‚Ä¢¿cˆ¢µßˆ¢ÇÇÙÉÓ"Ý,ÿ}sú«¦µßˆ¢
ú£µß
˕ͣµßˆ¢ú£ŸµßË•ŸÇÇÙÉÓ"Ý,ÿ}sú«¦ˆ¢í߈¢ˆ¢ºˆ¢šeˆ¢Ù¢ˆ¢Ù¢ž•«†Ù¢ˆ¢«†Ù¢ž• ‡Ù¢ˆ¢ ‡Ù¢ž•‹ˆÙ¢ˆ¢‹ˆÙ¢ž•îˆÙ¢ˆ¢îˆÙ¢ž•ü‰Ù¢ˆ¢ü‰Ù¢ž•çŠÙ¢ˆ¢çŠÙ¢ž•Ò‹Ù¢ˆ¢Ò‹Øž•¿cž•Ù¢ž•ÃLž•Ë•éââ åØp„þ2xË•¦’À¤ÐLž•Ë•ÐLß” §
Œ•³ž•µßââ åØp„þ2xË•ÿyââ åØp„þ2xË•Álž•öø 8ââ åØp„þ2x†Ÿÿy 8ââ åØp„þ2x†ŸÁ”–úÊ©‡ª¶ûÊ©‡ªïÊ©‡ªÛÔÔÕǿֈ È߯5ºîl±ØùªŠ ùª¿cùªÐìùªµßùªùªŠ ààИã§äŒå»É% ê`äçˆíŽí¿cï«Øï«ØííôÀîdÅb74F Ðìجµßججج¿cجØøùúáÁûˆüýùÁþ–Âÿ¨Âßø>Þ›ï¼Ðì¿­µß¿­¿­¿­¿c¿­Äcج¾ج¿cŠ„ÃŒ¡Ã{˜x&ÒDØê®Ðìꮵßê®ê®ê®Äcꮾê®;ѱ  ¬
¥âoঃ¥¡Á¨ÛÒöżŒ²
¬
þ ê ýË
±
í
Ó
˜õ
Á¢ŠæâØÔìàïíø¥Œ©­±¡ƒÄ©ç̃¡¤Å¨îÒö´Ø¼à°œøòŒ ® £ Å ¾ ê ã ¸
¬
ê
ý®

Ï
±
ñ
Ó
õ
Å¢ôÉùëüÇëâÛÔéàöíøŽì
ô
ü¬
ì
ó
úÝ 
ä âù
ÿŽƒµ©ØÌõ¡²¨àÒö¥Ê¼øà¤ó ê
ý¤

½
±
ß
Ó
õ
­¢ÖÉïëüƒº©ÝÌù¡š·¨äÒöªÎ¼à÷ ê Ž
ý§

Ä
±
æ
Ó
Λ
·¢ÝɃ½©àÌü¡º¨çÒˆö­Ñ¼àù ê
ý©

âÉšƒÁ©äÌ¡¡¾¨ëÒŒö±Õ¼Œà¬ü ê
ý¬

È
±
ê
Ó
õ
¾¢çÉŽü¥ƒÈ©ë̡ɨòÒö¸Ü¼

ˆ ¬
ê ˜
ý
·âͨΜè¬
óœü¬
œ¬
œ¤¬
¯œ¸¬
Ü̬
לà¬
ëœ ¬
¬
»ÇâšÇžâ£Ç§â¬Ç°âµÇ¹â¾ÇÂâÇÇËâÐÇšâˬ
ÚŒßä±ï¬
óŒöù±˜œŸœ¦ ­œ» ¬
Ç˜Ç ¢Ç©»âÞÔòíƒø¾œÄ ¬
¯ÇÀâôíøÁœ±ÇÅœ´ÇÉœ·ÇÓœî¬
øœ¬
Œœ¬
 œª¬
´œ¾¬
ȜҬ
Üœæ¬
𜠬
¬
ì¬
ú ¬
š ¬
Ÿâ§ ¬
® ¬
«â±â¤â¯âÏ
Õ
Û
á
×ÔÚÔæàÝÔñíøíƒí龌"(Ø ¿c(šÇL
ùM:ŒMšÃMòPi³Ù¢"xÂî×îµß!díß1ºše³"æwù ÃLÐL®öø–ú¶ûïÛŠ ÐìÄc¾¬ê­ÍÌ‚
¼‚
Àï«,üê1# 3  šüÆV®É®9ЭÍ

Ñ+T
D
±Bï«-üÜV ˆíŽí ±¸ü°ˆ¯ÐìËË HashTableÁÎ@]=½5K}ªª«Ì ÿ~Ö”xüËf/ªBªBö­BbufÁ÷<®B÷<9)
-ÜnL﫾‚JÕ
ü½3ü¿1üÀ  1 ‰‚ ïS`"(.ø£üè ‰‚ 
ï«<‡’ǼºÆ» ¡Ç¼½ÇÄÓ.YüÖ >üß 3 üå -ôæ 0 ‰‚
Xf$*0
¥
š
¤üþœ ‰‚ ¡ÇÅÉ÷ÅÉöÅÉþ¿È÷ ¡ÇøÿÉÓ?i
¬¢³«ˆíŽí ï«ER_ŸÇ µ
„¢
£ˆíŽí­± ½«üõ
H’ÇD’ÇýŸÇýçÊçÊéÊ´çÊ!M ï«CR«çÊnéÊ`~ ì ­ˆíŽí éÊ7ESÒÉ »z
¤ 
¤ˆíŽí§« ¼Í ÂíüëXÅÉd‰ÅÉÅÉÒɀ΀Î$éʺ€Î7X ï«Yi­€ÎéÊa¡Ç”Á
 Î
Úsï«< ÒÙ¯ü–C’ÇŸÇ5¡Ç¼Ø
 
Ûsï«< îõ°ü©L’Ç,¿ŸÇ4¡Ç\!3D  
$
úˆíŽí 9 × ”Ç Û¼ ˆí Ží Ø âü–o Û¼ªÕ*·üÞ­ü¹*
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙªÕ„û’ÇŸÇϽÅÍÔ ï«ŽªÕ~°×QÎM·ÏŒ²¡Ç%-?P|× ,×


%
ûˆíŽí
:  å
¬Ò Û¼¬Õ Ží æ ðüv$… Û¼òÙ*¸üÙÀüÄ- Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙòÙ¤þÅÉÒÉÛȽÇÑÙáè ï«òÙþÛZÎM¿Øl ¡ÇT‚ !3D$‡   
$òÔ / º  Œ«  Û¼ªÕ »  Å üûm Û¼ªÕ*î ¹üĪü )
¯Ö„à’ÇŸÇucksz°×1ªÕ!°×"NZŒ’"¡ÇT…"%-?P$Š"t·" $·"


%<¼"ºÙ
0 L¼" Ä"
¤²" Û¼òÙ Å" Ï"üþ!t$ä" Û¼òÙ*ø"ºü»!½ü¤", ôÚ¤ß!ÅÉLÑ!ÒÉq½ÇzŠþÛ<òÙ+þÛ,Weä¨%d¨%¡Ç,¾%5
<Dµ%
¶tï«M8|µ% Ã%,—%ŸÇ4ž%ŸÇ Ä%¼Ï% ,à%

#
*„Ï%ÃË
0 FJ  å%
Äè%  4ù%

#
*„è%ÃË
0 F J   ÿ%
üÎ%3  €&    †&‡&»üË$¼ü’%u’Ç’Çtù$’Ç,á$,è$ŸÇ~ŸÇoŸÇŸÇ ŸÇ ú’Çw’ÇŸÇ{’Ç3’Ç<ŸÇ7{ÖÎMsecondÁúØü×( d×(¡Ç,ñ(7
>dä(
·tï«N8œä( ö(,Æ(ÒÉ4Í(ÒÉ ÷(Ü‚) ,—)

$
+¤‚)ÐÎ
1 GK  œ)
äŸ)  4´)

$
+¤Ÿ)ÐÎ
1 G K   º)
ü);  »)    Á)Â)¼üê'ØüÁ(ÅÉÅÉ´ (ÅÉL„(,(ÒɃÒÉtÒÉÒÉÒÉÿÅÉ|ÅÉÒÉÅÉ6ÅÉ?ÒÉ:{ÖÎM”èúÔüŸ+$dŸ+¡Ç,½+6
=„¬+
ºtï«M8¼¬+ Â+w¬‡+
,+Û–èŸÇ4”+Û–èŸÇü×+3 ¼Ø+
 ,é+  #
*„Ø+ÃË 0 FJ
  î+ Äñ+
4,#
*„ñ+ÃË0F J
 ˆ,Ç 

‰,

üÒ+9 Û¼âç Š,  ”,ü€+·!$©, Û¼âç+½,½ü©*”üÄ+QÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙâç´ß*’Ç,Ç*,Î*Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ–èŸÇöžŸÇŸÇ}âçc’Çc’ÇlŸÇg’Ç’Ç(ŸÇ#ÌÖÐÎM”èídü².(d².¡Ç,Ô.7
>¤¿.
»tï«N8Ü¿. Ù.x¬š.
, .Û»íÒÉ4§.Û»íÒÉüî.; Üï.
 ,„/  $
+¤ï.ÐÎ 1 GK
  ‰/ äŒ/
4¡/$
+¤Œ/ÐÎ1G K
 §/Ë 

¨/

üé.A Û¼‡í ©/  ³/ü“.Ã!$È/ Û¼‡í+Ü/¾ü¬-°üÛ.YÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ‡íôê-ÅÉLÎ-,Ù-Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ»í
ÒÉ
ú¢ÒÉÒɇígÅÉgÅÉpÒÉkÅÉ!ÅÉ*ÒÉ%ÌÖÐÎM”èñdl«1¡Ç”–1!3D ,—1$ž1üÌ1& dÍ1
,Í1  
$$Ó1òÔ /
4Ó1 Ø1 ´Û1 
$ì1#
*„Û1ÃË0
F J 
 ð1µ 
 ñ1 
üÇ1, Û¼ªÕ’Ç ò1
 ü1ü1!$‘2 Û¼΀+¥2¿üÈ0Ýü¹1DÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ΀Ìë0’Ç,á0ŸÇlZbjq°×(ŸÇ΀ªÕ°× ’ÇÍ’ÇÖŸÇÑ{ÎM~restÁu Œ¦4¡Ç”‘4%-?P ,4$™4  üË4-
|Ì4 ,Ì4  
%<Ò4ºÙ 0 LÒ4 Ú4 ÔÝ4
$ò4 $
+¤Ý4ÐÎ1G K
 ö4¸
 
÷4
 üÆ43 Û¼òÙÅÉ
ø4
5 üŠ4!$—5 Û¼ñ†+«5Àü³3øü¸4KÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙñ†üÞ3!ÅÉLÐ3ÒÉl½Çu}ŒþÛ7ÒÉ&ñ†òÙþÛÅÉÙÅÉâÒÉÝÎM¿‚ l÷6¡ÇŒã6!3D $ä6$ï6ü˜7% \™7
$™7  
$$ž7òÔ /
4ž7 £7 ´¦7 
$·7#
*„¦7ÃË0
F J 
 »7µ 
 ¼7 
ü“7+ Û¼΀ ½7
 Ç7üÜ6Ž!$Ü7 Û¼΀+ð7Áü–6Úü…7CÚ̸6’Ç,®6ŸÇ" 'ŸÇÞ°×Î΀¾ªÕ¾°×¿’ǃ’ÇŒŸÇ{¿‚5(ÁŒî9¡ÇŒÚ9%-?P $Û9$æ9  ü“:,
t”: $”:   
%<™:ºÙ 0 L™: ¡: Ô¤:
$¹:$
+¤¤:ÐÎ1G K
 ½:¸
 
¾:
 üŽ:2 Û¼ñ†
¿:
É: üÓ9™!$Þ: Û¼ñ†+ò:Âüý8õü€:Jý‡ü§9!ÅÉL™9ÒÉ5"½Ç+3;BÒÉíþÛÜñ†ËòÙËþÛÌÅÉÅɘÒÉ¿‚D6 Ë\¯'
L¯'
¯ˆíŽí1dÈ'ü’'M ¬
ˆíŽí ñ Þ'å' ä'üÖ&Ç
ßð$ƒ' ñdï&ÐìÌ ñŸÞ`N
ü¯0ü±.ì²0 ˆ¢ ÞR_"(.çÌüÝŠ ˆ¢,– 
ààИã§äŒå»É% ê`äçË•¹˜á— Ș­™
Ó2¤
¬Ý î ÒË• ɘAN[Ƙ ð |
ƒ„Ý 
ÌË•¥© ñ ø Òü° H¹˜ ¹˜õƘõ’šý’š”šï ’šL ɘ:IÒ’še”š`u Ș”á 
 î 
Úsɘ<  ò ù Ôü¶ C ¹˜ Ƙ5
Ș¼ê

 

Ûsɘ<
 Õü»
L
¹˜
Ƙ4lȘ!3D ,„  Ë•  „­ Û¼ Ë• ¼  Æüüm Û¼ö *ïÙüÊ¥üŸ(
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙö ¹˜Ƙ£¡¨ ɘbö Rö [QÎMÏȘ!3D   Ë•   Û¼ö    ŠüÂk Û¼ö *³Úü‘¢üä'
ù¡¹˜Ƙ[IQY`ú¢ö ö N@äãȘ5
<
¶tɘM8 þƘƘ ÿ¼Š ,›

#
*„Šîš
0 FJ   
Ä£  

#
*„£îš
0 F J   º
ü‰3  »    ÁÂÛü†¼üÍu¹˜¹˜¹˜Ƙ~ƘoƘƘ Ƙ ú¹˜w¹˜Ƙ{¹˜3¹˜<Ƙ7{ÖÎM”èõÓüŸ$Ș6
=„¬
ºtɘM8¼¬ Âw¬‡
,Û„«Ƙ4”Û„«Ƙü×3 ¼Ø
   #
*„Øîš 0 FJ
  î Äñ
4‚#
*„ñîš0F J
 ˆÇ 



üÒ9 Û¼Ъ Š  ü€·! Û¼Ъ+½Üü©üÄQÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙЪ´ß¹˜Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ„«ƘöžƘƘ}Ъc¹˜c¹˜lƘg¹˜¹˜(Ƙ#ÌÖÐÎM”èídȘ”è!3Düž$ 
  Ë• 
 ´« 
#
*„«îš0
F J 
 À 
 Á 
ü™* Û¼ö ¹˜ Â
  ÌüáŽ! Û¼¸¶+õÝü Õü‹BÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¸¶œÃ¹˜ƘR@HPWú¢Ƙþ¸¶îö îö ÷¹˜Ó¹˜ÜƘ×{ÎMd¿‚XȘŒž!3DüÓ# 
  Ë• 
 ´ß 
#
*„ßîš0
F J 
 ô 
 õ 
üÎ) Û¼¸¶ ö
  ü—Œ!$•  Û¼¸¶+© Þü×ÒüÀAÊ·œù¹˜Ƙöþ
ƘÄú¢´¸¶¤ö ¤ö ­¹˜¹˜Ƙ{¿‚Áü•$#d«$
#¥$
Ç
˕ѕ;M ·$üù#J â˕ѕ Â$É$ü½#Œ÷ž•$ê#Ñ•dÖ#¬
¬
  °
í±
Þ`øÃx¶*Ó˕ѕþÑ•ýÞ`\ŽLÝ.ˆí å.ì.ôüµ.7¬ÕÐ.°×,Æ.¬Õd6\/Ží ¥/¬/õüñ.;²ÕŽ/°×,„/²Õd6|ã/Ží! ñ/7 ÷/ø/öü±/G÷Ù4Ò/þÛLÄ/÷Ù÷ÙŠ>
LÓ1ˆí \Þ1Ží ÄÒ1  é1ð1úü§1IªÕD¿1°×,µ1¬Õ»¬Õò՞²Õ¦+N
L¬2ˆí |·2Ží!ä«2  Æ2Í2ûüõ1XòÙd”2þÛL†2¬Õ½¬ÕÅ÷Ù ÷Ù¨+N
lŠ3ˆí!|™3Ží!ü‰3   ¨3¯3üüÒ2] ˆí÷Ù„î2þÛLà2ÝÉÈÝÉÐ÷Ù©÷Ù±+V Œ™ëŸë"/Œ†$ˆ£$ˆA'YНy!™ëŸëÅ
ØÖü
ŒF¾2
\›º™ëŸëÕÜ Œ™ëŸë"/êÊ;AA²EØF§GŒ N½ž–&™ëŸëŽD”V £ ™ëŸë¿ð&© 3£ ¨ © †$ª ˆ« ¬ £$­ ˆéö*(°TÓù™ëŸë¿ð¾ ¾ ›`à ß ØÄ Þ`جҰöá(™ëŸë¿ðÝä4øV £ ™ëŸë¿ð&¬ 3ôÍ?ã ã –cè ØØé Þ`؆@“äQE´Š™ëŸë¿ðœýg
ëëŸì)¸Ÿ5ëŸ=D„Ý( ÔÕ%ùª18?ƒ6 øú%¿­1–H–HôÀ—Hÿ㤉n¸FdkêñÈ ÔÕàíøí¤,­#Àç#Ð ¬½ëí Dü ìý ¬Ôíš!DÙî  Dß&¬
ç Dý&âè
EquivalentÁT'éüÕIü KH [`IndexMap`] is a hash table where the iteration order of the key-valueÁüX85 pairs is independent of the hash values of the keys.Áúü•NK [`IndexSet`] is a corresponding hash set using the same implementation andÁää with similar properties.Áú”… ### HighlightsÁ˜úüœOL [`IndexMap`] and [`IndexSet`] are drop-in compatible with the std `HashMap`Áüì<9 and `HashSet`, but they also have some features of note:Á©úü­B? - The ordering semantics (see their documentation for details)Áüð@= - Sorting methods and the [`.pop()`][IndexMap::pop] methods.Áü±OL - The [`Equivalent`] trait, which offers more flexible equality definitionsÁü2/ between borrowed and owned versions of keys.Áü´MJ - The [`MutableKeys`][map::MutableKeys] trait, which gives opt-in mutableÁü‚MJ access to map keys, and [`MutableValues`][set::MutableValues] for sets.ÁÐú¬Ô ### Feature FlagsÁêúüîJG To reduce the amount of compiled code in the crate by default, certainÁü¹OL features are gated behind [feature flags]. These allow you to opt in to (orÁü‰LI out of) functionality. Below is a list of the features available in thisÁ crate.ÁáúüåOL * `std`: Enables features which require the Rust standard library. For moreÁüµ 0- information see the section on [`no_std`].Áüæ EB * `rayon`: Enables parallel iteration and other parallel methods.Áü¬
IF * `serde`: Adds implementations for [`Serialize`] and [`Deserialize`]Áüö
GD to [`IndexMap`] and [`IndexSet`]. Alternative implementations forÁü¾ NK (de)serializing [`IndexMap`] as an ordered sequence are available in theÁü  [`map::serde_seq`] module.Áü® NK * `arbitrary`: Adds implementations for the [`arbitrary::Arbitrary`] traitÁüý '$ to [`IndexMap`] and [`IndexSet`].Áü¥
PM * `quickcheck`: Adds implementations for the [`quickcheck::Arbitrary`] traitÁüö
'ÇâüžOL * `borsh` (**deprecated**): Adds implementations for [`BorshSerialize`] andÁüîLI [`BorshDeserialize`] to [`IndexMap`] and [`IndexSet`]. Due to a cyclicÁü»LI dependency that arose between [`borsh`] and `indexmap`, `borsh v1.5.6`ÁüˆMJ added an `indexmap` feature that should be used instead of enabling theÁœÖ feature here.Áêúüî96 _Note: only the `std` feature is enabled by default._Á¨úü¬a^ [feature flags]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-sectionÁüŽ,) [`no_std`]: #no-standard-library-targetsÁü»,) [`Serialize`]: `::serde_core::Serialize`Áüè0- [`Deserialize`]: `::serde_core::Deserialize`Áü™1. [`BorshSerialize`]: `::borsh::BorshSerialize`ÁüË52 [`BorshDeserialize`]: `::borsh::BorshDeserialize`ÁÄ [`borsh`]: `::borsh`Áüš63 [`arbitrary::Arbitrary`]: `::arbitrary::Arbitrary`ÁüÑ85 [`quickcheck::Arbitrary`]: `::quickcheck::Arbitrary`ÁŠúÌŽ ### Alternate HashersÁ¨úü¬<9 [`IndexMap`] and [`IndexSet`] have a default hasher typeÁüé0- [`S = RandomState`][std::hash::RandomState],ÁüšIF just like the standard `HashMap` and `HashSet`, which is resistant toÁüäPM HashDoS attacks but not the most performant. Type aliases can make it easierÁìµ to use alternate hashers:ÁÓú<× ```Áäß use fnv::FnvBuildHasher;Áüü'$ use indexmap::{IndexMap, IndexSet};Á¤úü¨<9 type FnvIndexMap<K, V> = IndexMap<K, V, FnvBuildHasher>;Áüå63 type FnvIndexSet<T> = IndexSet<T, FnvBuildHasher>;Áœúü 0- let std: IndexSet<i32> = (0..100).collect();ÁüÑ30 let fnv: FnvIndexSet<i32> = (0..100).collect();ÁÌ… assert_eq!(std, fnv);Áùî§ú¤« ### Rust VersionÁÀúüÄ96 This version of indexmap requires Rust 1.85 or later.Áþúü‚KH The indexmap 2.x release series will use a carefully considered versionÁüÎKH upgrade policy, where in a later 2.x version, we will raise the minimumÁÔš required Rust version.Áµúü¹" ## No Standard Library TargetsÁÜúüàMJ This crate supports being built without `std`, requiring `alloc` instead.Áü®JG This is chosen by disabling the default "std" cargo feature, by addingÁüù@= `default-features = false` to your dependency specification.Áºúü¾=: - Creating maps and sets using [`new`][IndexMap::new] andÁüüNK [`with_capacity`][IndexMap::with_capacity] is unavailable without `std`.ÁüËPM Use methods [`IndexMap::default`], [`with_hasher`][IndexMap::with_hasher],Áüœ OL [`with_capacity_and_hasher`][IndexMap::with_capacity_and_hasher] instead.Áüì DA A no-std compatible hasher will be needed as well, for exampleÁü±!! from the crate `twox-hash`.ÁüÓ!OL - Macros [`indexmap!`] and [`indexset!`] are unavailable without `std`. UseÁü£"SP the macros [`indexmap_with_default!`] and [`indexset_with_default!`] instead.ÁêñÈ ÔÕàíøíT¤UÀTÐ Sëí Rìý Qíš!Pî  O¬
ç NâèÓDéóöù” #ð„Ú#ålí#Lñ#Lü#,€$\…ž ¢Á÷<zöŽªB{ížë| RangeBoundsÁ\²¤#}
hash_tableÁTÎ~«"tì úИàÓTéǿԃǿՃôÀíÅ
вA˜gŒAИ4 à ¨$ 
íT  áD&  Ç¿L< Ô
Ç¿Õ
á#,X Œÿ Ç&d_ ±
®D} ¿ßí ë, Ådzµ¥§™„5 ‹TK jlXZœr IL <ô— §
œ§Íì™ë   ÍìŸë £ Œ†$ˆ£$ˆA'YНy!§
™ëŸëœ suoqü¼d Ê  §
¨ÄÓê9œÒž”²™ëŸëùª™ë­„™ë
§
™ëŸëØÎ § Œø ü…" ü˜F C A view into an occupied entry in an [`IndexMap`][crate::IndexMap].Áüß% " It is part of the [`Entry`] enum.Ál §
œ§Œ„ ¢  ¥ ™ë§
¼® Ÿë§
ÕêŒF¾2
\›ºž IKNPL® È…    üì& §
œ!§"! "Œ„ õ  ø Õê#&'()*+,-./012345678:ñ @BEGüÊÀ  È…ùªâÿÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÕêÈ…$$Íìâÿ â ˜“"âÿ ˜™ëŒø ˜âÿœŒ˜"$…
#§
™ëŸëâÿØî §$ is_matchÁD¬ y{ŒÇ
#<closure_kind>Á%<closure_signature>Á%<upvars>Á%%#%™ëŸëâÿ âÿ 
ààИã§äŒå»É% ê`äç™ëŸëü„
3 L
ÕêÈ…
&§
™ëŸë
üÖ
0
 Õê ³Ž ï

'§
™ëŸë
üº<  š šÕê š³Ž × 
(§
™ëŸë ü®7  Õê §
³Ž
)§
™ëŸë äÚ ü* ' Return the index of the key-value pairÁ,á  Õê ç 
*§
™ëŸë ¼Ú ü—3 0 Gets a reference to the entry's key in the map.ÁÏ úü×] Z Note that this is not the key that was used to find the entry. There may be an observableÁü¹_ \ difference if the key type has any distinguishing features outside of `Hash` and `Eq`, likeÁü8 5 extra fields or the memory address of an allocation.Áá œ œÕê œ™ë å 
+§
™ëŸë ¼Ø üž5 2 Gets a reference to the entry's value in the map.Áß  Õê Ÿë ã 
,§
™ëŸë üì# üž= : Gets a mutable reference to the entry's value in the map.Áà úüèD A If you need a reference which may outlive the destruction of theÁü±6 3 [`Entry`] value, see [`into_mut`][Self::into_mut].Á<ó ž žÕê žŸë û 
-§
™ëŸë$€ üÂ" üÆF C Converts into a mutable reference to the entry's value in the map,Áü‘, ) with a lifetime bound to the map itself.ÁDÉ Õê §
Ÿë
.§
™ëŸë üë' ü˜N K Sets the value of the entry to `value`, and returns the entry's old value.Á4ò Ÿ ŸÕêŸëŸë ù 
/§
™ëŸë »,„ ă üÌV S Remove the key, value pair stored in the map for this entry, and return the value.Á§ úü¯Y V **NOTE:** This is equivalent to [`.swap_remove()`][Self::swap_remove], replacing thisÁüY V entry's position with the last element, and it is deprecated in favor of calling thatÁüëV S explicitly. If you need to preserve the relative order of the keys in the map, useÁüÆ4 1 [`.shift_remove()`][Self::shift_remove] instead.Á]`remove` disrupts the map order -- use `swap_remove` or `shift_remove` for explicit behavior.Áü“i üÿ  Õ )ÕêŸë
0§
™ëŸë$‘ ìÉ" üÄV Ÿ úü§ _ \ Like [`Vec::swap_remove`][alloc::vec::Vec::swap_remove], the pair is removed by swapping itÁü‹!8 5 with the last element of the map and popping it off.ÁüÈ!G D **This perturbs the position of what used to be the last element!**Á”" úüœ"( % Computes in **O(1)** time (average).Á\Ð" ÕêŸë
1§
™ëŸë$Ü" ô‘& ü—#V ò# úüú#] Z Like [`Vec::remove`][alloc::vec::Vec::remove], the pair is removed by shifting all of theÁüÜ$= : elements that follow it, preserving their relative order.Áüž%9 6 **This perturbs the index of all of those elements!**ÁÜ% úüä%( % Computes in **O(n)** time (average).Ád˜& ÕêŸë
2§
™ëŸë$¥& ü¶+# üá&J G Remove and return the key, value pair stored in the map for this entryÁ°' úü¸'V S **NOTE:** This is equivalent to [`.swap_remove_entry()`][Self::swap_remove_entry],Áü“([ X replacing this entry's position with the last element, and it is deprecated in favor ofÁüó(_ \ calling that explicitly. If you need to preserve the relative order of the keys in the map,Áü×)D A use [`.shift_remove_entry()`][Self::shift_remove_entry] instead.Áo`remove_entry` disrupts the map order -- use `swap_remove_entry` or `shift_remove_entry` for explicit behavior.Áü´*{ ü * d
,˜? LšA 8ªŒ9ÂŒ9ߌ9989™ëŸë üâB dåB Õê
:§
™ëŸë$òB ö¶øB üœDG §
<œ=§>=><Œ„ ¥D  ¨D Õê?ë?¡D !$&üêD. $íD ¥ëÕê;;
?§
™ëŸë¹
,òD LèF ?ªŒ@ÂŒ@ߌ@@?@™ëŸë™¼®¼ü½H üÓGC @ A view into a vacant entry in an [`IndexMap`][crate::IndexMap].Áü—H% À†\ÈH §
BœC§DDBCŒ„ ØH  ÛH ¬ˆ¼äH »ˆAA²EØF§GŒ N½ž–&§
™ëŸë N½ž–&EFGÔH ƒˆŠäH AAÈ…|I $I AAùª4I I AA™ëü¡I$ §
IœJ§KKJIŒ„ ªI  ­I äÀLMNOPQRSVYZ¦I ,.13äJ üÌI< 9 Return the index where a key-value pair may be inserted.Á,”J ¡ ¡äÀH šJ H
L§
™ëŸë$›J ¼›K üÖJ@ = Gets a reference to the key that was used to find the entry.Á¢K ¢ ¢äÀ ¢™ëH ¦K H
M§
™ëŸë$§K üÒK* <àK £ £äÀ £™ëH èK H
N§
™ëŸë$íK ÔÞL ü L9 6 Takes ownership of the key, leaving the entry vacant.ÁDåL äÀ™ëHH
O§
™ëŸë$îL üÎN* ü—M] Z Inserts the entry's key and the given value into the map, and returns a mutable referenceÁŒùM  to the value.ÁN úü—N2 / Computes in **O(1)** time (amortized average).Á4ÕN äÀŸë„œHH
P§
™ëŸë$ÜN »,âN ü‹Q> üêO] Z Inserts the entry's key and the given value into the map, and returns an `OccupiedEntry`.ÁÌP úüÔP2 ¨Èd’Q äÀŸëÕêHH
Q§
™ëŸë$ŸQ »,¥Q ü‘XT üÆTK H Inserts the entry's key and the given value into the map at its orderedÁü–UG D position among sorted keys, and returns the new index and a mutableÁÜâU  reference to the value.ÁV úüŠVG D If the existing keys are **not** already sorted, then the insertionÁüÖVK H index is unspecified (like [`slice::binary_search`]), but the key-valueÁü¦W1 . pair is inserted at that position regardless.ÁÜW úüäW( ܧl˜X äÀŸë„œHHº™ëáX
R§
™ëŸë$¦X »,¬X üü]„ ü¨ZK ›ËüøZH E position among keys sorted by `cmp`, and returns the new index and aÁüÅ[# mutable reference to the value.Áí[ úüõ[G ñÌüÁ\K ÂÍü‘]1 —ÎÇ] úüÏ]( ܧ„ƒ^ äÀŸëâÿ„ÐHTTHû‹ ”^ ¤¥¦§“"âÿ ¤™ë ¥Ÿë ¦™ë §ŸëüÞ^! ¤¥¦§âÿœÓ˜"¿ßÀßÁßLessÁÂßÃßÄß~Å߯ßÇßGreaterÁÈßåºÝÈnûê7D÷^
S§
™ëŸëâÿ$—^ »,^ «^ 4ƒ` SªŒUÂŒUߌUUSU™ëŸëâÿ ™ë ŸëüÓ âÿ€Ö†Öü»d‘ üÝ`K ›Ëü­aL I position using a sort-key extraction function, and returns the new indexÁüþa) & and a mutable reference to the value.Á¬b úü´bG ñÌü€cK ÂÍüÐc1 —Άd úüŽd( ܧ¤Âd äÀŸë„ÐHWXXWHÍì ×d Íì³Ø Úd ºíØ©e ¨©“"³Ø ¨™ë ©Ÿë”¹e ¨©³Ø®Ù˜"íØ Êe
V§
™ëŸëíØ³Ø$Ýd »,ãd sort_keyÁDñd ¸²´üj> üÕgP M Inserts the entry's key and the given value into the map at the given index,ÁüªhO L shifting others to the right, and returns a mutable reference to the value.Áþh úü†i- * ***Panics*** if `index` is out of bounds.Á¸i úüÀi( ܧ²|íi dˆj äÀŸë„œHH
Y§
™ëŸë$•j Ö,›j »,©j üÆmH ü»kL I Replaces the key at the given index with this entry's key, returning theÁüŒl2 / old key and an `OccupiedEntry` for
*§
ÞÞˆíŽíÖó™¼ §
Öó §
¡ÇÍìˆíŽíÖó§
œw³"žö ³””
³žöÊö˜"
–ö»³¿ö-³ãö§
œ§¢
ªŒÂŒߌˆíŽíÖó™¼ ÖóŸÇüû
B
´ ´·Äùª 
žtableÁ,Š § Ö  žªŒŸÂŒŸߌŸŸžŸ™¼®¼ü
Md„
µ µ·Äùª ˜

 è÷,
§
oldÁ·
æ Ã
L… ªŒ¡ÂŒ¡ߌ¡¡ ¡™¼®¼ü‚Mœ…· ·Ä ·¡Çœ£§¤£¤ ¨ãá óá œ
¢ˆíŽíÄÓ)+.0Œ¥ÂŒ¥ߌ¥¥¢¥ˆíŽíšñüŒAœ§§¨¨§ãá óá ØˆíØŽíÐ쩪ÙÚ©ªFHKM¼Ô¸ ¸ÐìÐì¦ Ý¦
©ˆíŽíüÆ&¹º ¹Ðì ºÐì¦ Ô¦
ªˆíŽí¹
¬Òœ¬§­¬­ãá ×óá ÚÐ쮯°±²³´·¸¹º¼½¿ÀÁÂÃÄÅÆÇÉÌÍÎÏÑÓÕØÙÚÛÜÝßàáâãäåçèšœŸ¡üÆ!¤Ì««ü°!ÄÐì««Ä•üÌ-Ðì««
°ˆíŽí¹ èüŠ1Ðì›Å««
±ˆíŽíüì2» »Ðì »¡Ç« «
²ˆíŽí$†üÐ>¼ ¼Ðì ¼¡Ç« í«
³ˆíŽíü¶`¾ ¾ÐìÑ «µµ Ô«ÍìÑ  ѽ–"Ñ  ½¡ÇÜú½Ñ ߆˜"
´ˆíŽíÑ ± ßbdü÷!¿ ¿Ðì« «
ˆíŽíü‘ &À ÀÐì« ¨ «
·ˆíŽíôˆ!,–!Á ÁÐì« œ!«
¸ˆíŽí$¡!üð!-Dþ! ÂÐì« ‡"«
¹ˆíŽí$Œ""üÈ#t²|´#,Ö#à ÃÐìÞâˆ>ˆ>°3Œ>
tail_startÁ÷<>tail_lenÁ÷<Ž>ù÷<>Á÷<…üò)«§Ã﫾‚«£»» ß#«Üã Ü#í㔩$
ºˆíŽíÞâ$ä#˜ã,ê#-/üŽ)5²|ú(Lœ)Ä ÄÐìÐì« ¦)«
¼ˆíŽí$«)atÁ±)üŸ-²|‹-d­-Å ÅÐìÞâÐìˆ?ˆ?*‹?®Ä÷<Œ?phantomÁ÷<?capÁ÷<Ž?¤÷<?µ ÷<?þ÷<µqS·ï«¾‚«£¾¾ ½-«Üã º-í㔎.
½ˆíŽíÞâ$Â-˜ã,È--/ü™2;„§2ÆÇ ÆÐì ÇÐì« ¸2«
¿ˆíŽí$½2¹
,Ã2üÕ43<ã4È ÈÐì« ë4«
ÀˆíŽí$ð4
additionalÁTö4üý79l8É ÉÐì« ™8«
ÁˆíŽí$ž8ÅT¤8üþ9V\Œ:Ê ÊÐìÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ج« ˜:«
ˆíŽí$:ÅT£:ü¨>Sœ«>Ë ËÐìõ’« ¿>«
ÈíŽí$Ä>ÅTÊ>ü‚D\ŒDÌ ÌÐìõ’« ¢D«
ĈíŽí$§DÅT­Dü£G7L±GÍ ÍÐì« »G«
ňíŽí$ÀG min_capacityÁdÆGü‘I.ŸIÎ ÎÐìÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙã„« £I«
ƈíŽí$¨IüŠL|d˜LÏÐ ÏÐìùª ÐÖóÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ«¢ÈÈ ¨L«Ñô ¥LâôløL
LjíŽíÖó$©L§$¯LŒÀL46üÇNƒ„ÕNÓ ÓÐìùªÑ µ˜«ÊÊ éN«¾† æNÒ“"Ñ  ҈팸OÒѠᚘ"$ÅO
ɈíŽíÑ $êN§$ðNò‹D…OlnŒâOɪŒËÂŒËߌËËÉˈíŽíÑ Ñ ÑÑ  Ðìü¶Q;T¹QÔ ÔÐìùªˆíŽí« ÄQ«
̈íŽí$ÉQ§$ÏQŒàQ»,èQüŸTv\­TÕ ÕÐìùªˆíŽíÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙŽí« ¹T«ˆí’U
͈íŽí$¾T§$ÄTŒÕT»,ÝTüâZ£dðZÖ ÖÐìùªˆíŽíú–« †[«ìž‚\
ΈíŽí$‹[§$™[Œ²[»,Â[ü÷bŒ…cר ×Ðìùª ØÖóÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙˆíŽí«¢ÐÐ šc«Ñô —câôlöc
ψíŽíÖó$Ÿc§$¥cŒ¶c46ü«fŒ„¹fÙÚ ÙÐìùª ÚÖ󀡫¢ÒÒ Íf«Ñô Êfâôl©g
шíŽíÖó$Òf§$ØfŒéf46ü²k5lµkÛ ÛÐì« Ãk«
ÓˆíŽí$Èk¹,ÎkþÜkDóvÓªŒÔÂŒÔߌÔÔÓÔˆíŽí ü‡yl|•yÞ ÞÐìÑ «ÖÖ ¨y«¾† ¥yÜÝ“"Ñ  ܈í ÝŽíìÕyÜÝÑ Ù¦˜"$îy
ÕˆíŽíÑ $­ykeepÁ$·y~<§zÕªŒ×ÂŒ×ߌ××Õ׈íŽíÑ  ï« Ñ üÉ{ ”Ì{ß ßÐì« ß{«
؈íŽí$ä{üÔ| <â|à àÐì« ê|«
ÙˆíŽí$ï|üî0á áÐì« «
ÚˆíŽí$†€ÅTŒ€üà„^lî„â âÐìùªˆíŽí âï«« ü„«
ÛˆíŽí$§$‡…Œ˜…», …ü¹ˆY²|¥ˆ¤Çˆã ãÐìùªˆíˆí« ܈«
܈íŽí$áˆÖ,爧$õˆŒ†‰üÏ¡œÝä äÐìùªˆíŽí äï«« ú«
݈íŽí$ÿÖ,ާ$£ŽŒ¼Ž»,ÌŽL†‘ݪŒÞÂŒÞߌÞÞÝÞˆíŽíšñŸÇü÷•K”…–å åÐìú–« ˜–«
߈íŽí$Ö,£–üÈ™9œË™æ æÐìã„« ß™«
àˆíŽí$ä™Ö,ê™üäœJŒòœç çÐìú–«
, ã8Œä& ç8*í, ð8»& ö8$ û ý* ƒ ½, 8,†'8Ð ¬ ¢ £ », ¤8 ¥% ¦, ¨ © ¸, ª8Œ«*¯, ²8»$ ¹ º% ¾ Ä é , Å8 Æ& Ç8´È% Ê, Ì Í æ , Î8ŒÏ& Ò8*Ø, Û8»& á8$ ç
è*ë î  ï Ž 08ù8builderÁ '8í$‰'8§$'8BuildHasherDefaultÁ”•'§ ©, ª8 « ¬'­8>  ·% ¸88CAPÁÈ& Ë8¬ Ó Õ Ö Ù × Ø Ú'Û8Ý à þ á â ý, ã ä ú å ù8Ô ð ñ ö, ò8Œó% ÷$ û
ü% ÿ+  Š œ8«,‹  8
unused_mutÁT8ú8þ8Ø , ˆ8,‰'Ž8  D'˜8ÐhÄš ² ¿8€Ä³$ 8ÉÂ<¸% À, Ê Ë û8ØÙ Ü8½ ã ð, ä8Œå$ è, ê8»% ñ
ü8Ø% ¬ï üì JÀ¸·
ú
ÿ¹Ê
ú
ùîÜÖ
 use indexmap::indexmap;Áò
úÄö
 let map = indexmap!{ÁŒ ×»Œ¡ ñ» ‹¼äº š¼ä× ¿¼üô #弘 úÜœ ½ü¸ .½ ùî»À|› ¼• (|Ü ;|
 ¢
 ©
, Œ

 §

, Ž
8Œ
&
8$“
*˜
,
8»
& ¡
8
$ ¦
 ¨
*«
 ®
 ×
, °
8
'
8í D¸
 À
 Á
 Õ
, Â
 Ã
 Ò
, Ä
8΁
*É
, Ì
8»
$ Ó
 Ô
% Ø
 Þ
 ü
, ß
 à
 ù
 , á
8Ή
& å
8
*ë
, î
8»
& ô
8
$ ú

û
*þ
  Ÿ  88€ÄÀ& Ã8¬ Ë Í Î Ñ Ï Ð Ò'Ó8Õ Ø ö Ù Ú õ, Û Ü ò Ý ñ8Ô è é î, ê8Œë% ï$ ó
ô% ÷888Ø , 8,”'8  D'£8ê ² 8€Ä³% ·, Å Æ þ8ØØ Û8½ â ï, ã8Œä$ ç, é8»% ð
ÿ8Ø%  üÇ"ü¥A> Create an [`IndexSet`][crate::IndexSet] from a list of valuesÁüçW“¹¿úÿ¹ÒúùîüÞ(% use indexmap::indexset_with_default;Á¼‡áºŸúü£%" let set = indexset_with_default!{Á”ɼ» "a",Á "b",Á‹¼üý assert!(set.contains("a"));Áü assert!(set.contains("b"));Áü½  assert!(!set.contains("c"));ÁÞúìâ // "a" is the first valueÁü€.+ assert_eq!(set.iter().next(), Some(&"a"));Áùî(|·9‚ ê ý ð ˆ, ñ8 ò& ó8´ô% ö, ø ù , ú8»& 8$$  *Š  ¿, 8,'8ý ¬— ¬ ­ ½, ®8 ¯% °, ² ³ º, ´8»$ » ¼% À Æ Þ , Ç8 È& É8´Ê% Ì, Î Ï Û, Ð8»& Ö8$×$ Ü
Ý*à ã ú ä ù08î8É ú'ü8í'8§$„'ˆ8ÔŠ'œ ž, Ÿ8   ¡'¢8æ ¤ § ¨% ©88€Ä¹& ¼8¬ Ä Æ Ç Ê È É Ë'Ì8Î Ñ ñ Ò Ó ð, Ô Õ í Ö ì8Ô á â é, ã8»% ê$ î
ï% ò+ ü ý 8« ƒ Ž8œÆT„8ë8ï8Çzó ÷, ù8'ÿ8 D'8ÐhÄ‹ £ °8€Ä¤$ §8ÉÂ% ±, » ¼ æ8ÇzÊ Í8½ Ô Û, Õ8»% Ü
ç8Çzñ% û¬Ìü×AÏÒútÿ¹¬úùîܸ use indexmap::indexset;ÁÔúÄØ let set = indexset!{ÁàÔõÔ4‹‹¼ü’˜Õü²ÁÕüÒ êÕóúì÷ŸÖü•.ÆÖùî»À|†¼€(|Çø‡ â Û! è ù, é ê ÷, ë8»& ñ8$ ö ø*û þ Ÿ, 8,'8š!Dˆ   ,   š, 8»,•$  œ%   ¦ ·, § ¨ ´, ©8»& ¯8$ µ
*¹ ¼ Ø! Æ Ò!88€Äý& 8¬,  ˆ  Š   Ž  Œ   ' 8   µ    ´ , ˜   ±  š  ° 8Ô ¥  ¦  ­ , § 8»% ® $ ² 
³ % 8Ä 8È 8ÇzÌ  Ð , Ò 8'Ø 8 'â 8ê ñ  õ 8€Äò % ö , „! …! ·!8Çz—! š!8½4! ¡! ¨!, ¢!8»,£!% ©!
¸!8ÇzÆ!% Ù!ìÎ"„Û" ì" ¤* ý# $, þ#8map_eltÁ<ÿ#& †$8$‡$*$ $ ¡*@8 š$8ó $$ ¡$ «$ ¢$8£$8$§$(­$8¬4°$ ¶$8$·$'»$8$½$ Á$ Ã$ ø$ 8$Ñ$ Õ$8ù$Ö$ Ú$8ó $Û$
á#,ÙŒÿ Ç&dà±
Å
l†
в\•Aƒ
°3,¾
²CLÅ
*DС
Ã7DÚÒˆ
Ü=Tä¼
š+$ðƒŠ
½-<ö©
Ð/DÿÌŒ
5$‰¨
ç?4àŽ
Ì94ö
á;L£
ÇG|È×
äE\ðÂ
ôYl™æ
ٜ
Ö€
ö«ªB
®D¿¿ß
×Ó `˜
\\éÅeš
Žše
Ž e
íëœ
IndexÁ,œÙ¢ž
IndexMutÁD£³"Ÿ
èþ¤# 
°‘ÖJ¡
¨¢
†", ö¤
É"”¢ ü¥
Иà§
Ó¨
ééœש
ǿԪ
ǿժ
ôÀí«
L†Œ±И4 àƒ¨$&ƒÅ
l,ƒŠ²\;Aƒˆ×T `ƒŠíYëƒl~doq_aLN$M<>,.ÄÕü`LI Entry for an existing key-value pair in an [`IndexMap`][crate::IndexMap]Áü­'$ or a vacant location to insert one.Á§
œŽ§ŽŒ„ è 묈ð»ˆ÷­„A'YНy!Õê­„äÀ­„äegjlüô&# Existing slot with equivalent key.Á—¡ŒŒ
§
™ëŸë¼¡¿¡Õê­„ŒŒÜ¼¨ŒŒÕêüÆ/, Vacant slot (no equivalent key in the map).ÁŒŒ
§
™ëŸëˆ¡‹¡äÀ­„ŒŒ¬ŒŒäÀôœ§
œ˜§˜Œ„ ¥ ¨­„šœŸ¡¢¤¡.035äüÁIF Return the index where the key-value pair exists or will be inserted.Á,ò ò­„ œ
š§
™ëŸë$üà>üÀ\Y Sets the value of the entry (after inserting if vacant), and returns an `OccupiedEntry`.Á¡úü©2¨È­„ŸëÕê
§
™ëŸë»üú
/üÿVS Inserts the given default value in the entry if it is vacant and returns a mutableÁüÚ \Y reference to it. Otherwise a mutable reference to an already existent value is returned.Á»
úüÃ
2¨ÈL ­„Ÿë„œ
Ϥ
™ëŸë$ >< üÎXüÉ `] Inserts the result of the `call` function in the entry if it is vacant and returns a mutableÁü®
\‚”úü—2¨È­„âÿ„œžžû‹ ä–"âÿl˜âÿ˜"Ÿë ¤
§
™ëŸëâÿÑSUüù^üÉZW Inserts the result of the `call` function with a reference to the entry's key if it isÁü¨^[ vacant, and returns a mutable reference to the new value. Otherwise a mutable reference toÁü‹*' an already existent value is returned.ÁºúüÂ2¨È”€­„âÿ„œ  û‹ ó–"âÿ ó™ëóâÿœ˜"Ÿë Õ
٤
™ëŸëâÿ$–Ñkm¼ÔüÇKH Gets a reference to the entry's key, either within the map if occupied,Áü—85 or else the new key that was used to find the entry.ÁÛô ô­„ ô™ë ß
¡§
™ëŸëü³Qü…)& Modifies the entry if it is occupied.ÁTº­„âÿ­„££û‹ Åõ–"âÿ õŸëõâÿ ˜"
¢§
™ëŸëâÿ± Òhjü€BüZW Inserts a default-constructed value in the entry if it is vacant and returns a mutableÁüà\‚”ÁúüÉ2¨ÈT‡­„„œ³Ÿë
¤§
™ëŸë$’üéA8öœ¦§§¦§öŒ„ î ý¿c™ë¿cŸëT€›í¨Àc¨;=@Bü±8´÷øù ÷›í ø c cˆ¢cµ
 `£c®Ä `àB¤GS
ùÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ ÈErrorÁ O˜éBL¥ ¸¥
¨8™ëŸë± ¿ü¾ I8úœª§««úªŒ„ à  Ò ª£º£÷í¬Àc¬+-02üŽ!8!ûüý û÷í ü c cˆ¢cµ
 `£c®Ä `àB¤GS
ýý¤© •!©
¬8™ëŸë$–!± œ!üÞ";8þœ®§¯¯þ®Œ„ ã" ò"ª£Tæ"Éî°Àc°#%(*ü #8£#ÿ ÿÉî  c cˆ¢cµ
 `£c®Ä `àB¤GS
ý¤­ §#­
°8™ëŸë$¨#± ®#üå%!ü¤$XU A view into an occupied entry in an [`IndexMap`][crate::IndexMap] obtained by index.Áý$úü%c` This `struct` is created from the [`get_index_entry`][crate::IndexMap::get_index_entry] method.Ádð%§
²œ³§´³´²Œ„ & „&¬ˆ¼&»ˆ¥ëŸ1zî¨F›µý%<>ACF&ƒ±±È…dŸ',Ÿ'ƒ±±ü°'%§
¸œ¹§ºº¸¹Œ„ ¹' ¼'¥ë»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊË̵'LNQSüÜ'Hê'È…Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٥뷷
»§
™ëŸëØî'Ö,‡(äà)ü£)*“‘,ç) ¥ë· í)·
¼§
™ëŸë$î)ü*3L«*¥ëÈ…··
½§
™ëŸë$µ*üï*%Tò*ƒƒ ƒ¥ë ƒ³Ž· ý*·
¾§
™ëŸë$þ*üÍ+1tÐ+ƒ ¥ë ³Ž· ß+·
¿§
™ëŸë$ä+ü¿,,\Â,ƒ¥ëÒ‘··
ˤ
™ëŸë$Î,¼ä-ü¬-3¨’ë- ¥ë ™ë· ï-·
Á§
™ëŸë$ð-ü¨.*<¶. ¥ë ™ë· ¾.·
§
™ëŸë$Ã.¼Á/ü‡/5ï•È/ ¥ë Ÿë· Ì/·
ç
™ëŸë$Í/üÚ1#ü‡0=›—É0úüÑ0Dî—üš1;8 `IndexedEntry` value, see [`into_mut`][Self::into_mut].Á<á1ˆ ˆ¥ë ˆŸë· é1·
ħ
™ëŸë$î1ü‡3'ü´2NÆ›4Ž3 ¥ëŸëŸë· •3·
ŧ
™ëŸë$š3», 3üä4"üè3Fé™ü³4,¹šDë4¥ë„œ··
Ƨ
™ëŸë$ô4ü³8(üº5JÞ¨‰6úü‘6_¼¢üõ68¥£ü²7Gç£þ7úü†8(ĤŒº8¥ëÚ®··
ǧ
™ëŸë$Ì8ü<)ü¡9JÞ¨ð9úüø9]ߥüÚ:=Ʀüœ;9§Ú;úüâ;(ܧ”–<¥ëÚ®··
ȧ
™ëŸë$©<ì„@üÿ<VÚ=úüâ=_¼¢üÆ>8¥£üƒ?Gç£Ï?úü×?(Ĥ\‹@¥ëŸë··
ɧ
™ëŸë$—@ôÌCüÒ@V­AúüµA]ߥü—B=ƦüÙB9§—CúüŸC(ܧdÓC¥ëŸë··
ʧ
™ëŸë$àCüðH"üœD2رüÓD-”²…EúüEQײüãE8²³ Fúü¨F_€´üŒG_é´ðGúüøG*Þµ§Húü¯H(ܧ²|ÜHT÷H¥ë··
˧
™ëŸë$‚Iö¶ˆIüÂL'üÍI-Ž·ÿIúü‡JUÑ·üáJO°¸µKúü½K7•¹ùKúüL(Ĥ²|®LdÉL¥ë··
̧
™ëŸë$ÖL¹
,ÜLü§MH8ŠœÎ§ÏŠÏÎŒ„ ¬M »Mª£T¯Mº£T¾M›ïÐÀcÐ+-02üöM8ùMŒ ›ï Œ c cˆ¢cµ
 `£c®Ä `àB¤GS
ý¤Í ýMÍ
Ð8™ëŸë$þM± „NüîOG§
ҜӧÔÒÓÔŒ„ ÷O úO¥ëÕëÕóO!#&(ü¼P/$¿PÕê¥ëÑÑ
Õ§
™ëŸë¹
,ÄPD‘$•ƒ©Ì¨Òö¼à¡И4 àÖØ§
Ç¿LÔÖÙª
Ç¿ÕÖÙª
  D¬
ÖÚÙ,)œÖÛ
¨$DÖݘ\JgÖÞŒÁ$j÷<ÖàöpªBÖá× `Öâ\\–ÅeÖ䎚eÖ厠eÖå
FusedIteratorÁlºòPÖæ MaybeUninitÁ\ØÑÛÖçó…Ù¢Öéèþ¤#Öêž,”‰fÖë,¡¤ŽbeTWd5EH7:T])dLzT‰ôö̮ƴͬL鈊\Ž{üœ8§
íœî§ï¤ððîï팄 ¥ ¨Íì¿ð «øïñòóÈLÉLÊLó¡@BEGACììD€ìì­ñü $øïøïÉLìì
ó§
™ëŸë¿ðüä<§
õœö§÷¤øöõ÷øŒ„ í ð‘Î óÍðùúûÈLÉLÊLûé79<>ACôô„œôôéòüó$ÍðÍðÉLôô
û§
™ëŸë¿ð$€ü»0œý§þ¤ÿþýÿãá Àóá ÃÍì ñ ÆßðÈLÉLÊL:<?A;=üüã„DüüËõü¯$ßðßðÉLüü
ˆíŽí ñ̦üŠ41 An iterator over the entries of an [`IndexMap`].Á¿úüÃ>; This `struct` is created by the [`IndexMap::iter`] method.Áü‚# See its documentation for more.Á§
œ§Œ„ º ½¬ˆ§e»ˆ ­ñ…ä1dÿ·‘;=@BüÆ#ÖƒƒÄlÄlš+Çlµ ™lÈl
end_or_lenÁ™lÉl_markerÁ™lŒœjSž§
³Žìî§
œŠ§ŠŒ„ ÷ ú­ñŒó!#ü’ 6   §
²Ž­ñˆˆ
Τ
™ëŸëÓüÓ
)ü‘
=: Returns a slice of the remaining entries in the iterator.ÁDÚ
Ž Ž­ñó€ˆ ã
ˆ
§
™ëŸë
ü¸ *§
œ§Œ„ Á  Ä ­ñˆŠúMûMÿM€NNƒNÄNˆŠ½ _adf  ŽŽü® 18œ§Œ„ ³  ðñŽMMŽ&(+-ü—
/8œ§˜˜Œ„ œ
 Ÿ
ðñÄM "´Í
Ð
 ðñ Ô

8™ëŸë
ü‡+8œ§œœŒ„ Œ ðñüî#8œž§ŸžŸŒ„ ó öðñ Ù  "¼˜, ðñðñ ¡
 8™ëŸëüù@8œ¢§£¢£Œ„ þ ª£Tº£Tðñ¤Àc¤+-02üÀ8Ø ðñ  c cˆ¢cµ
 `£c®Ä `àB¤GS
˜ý¤¡ Ç¡
¤8™ëŸë± Îüº%8œ¦§§¦§Œ„ ¿ Âðñ¨´¨ "¤æðñ¥¥
¨8™ëŸëäÎü§;8 A mutable iterator over the entries of an [`IndexMap`].ÁãúüçB? This `struct` is created by the [`IndexMap::iter_mut`] method.Áüª#Õ§
ªœ«§¬¬ª«Œ„ å 謈Ú,e»ˆ éò²žÄÿ„­á;=@Büñ&Ö©©ÜlÜl½-ßlµ ™làl€×™lál–×™lÚ½íDþïl%§
³Žüœ §
¯œ°§±°¯±Œ„ ¥ ¨éò²³´¡!$&üÃ:Ñ §
²Žéò®®
²§
™ëŸëÓüŒ&üÊ=¡ÙD“š šéò šù€® œ®
³§
™ëŸë$ü¢.üðEB Returns a mutable slice of the remaining entries in the iterator.ÁºúüÂ[X To avoid creating `&mut` references that alias, this is forced to consume the iterator.ÁT©éò®®
´§
™ëŸëü’-§
œ·§¸¸·Œ„  žéò¹úMûMÿM€NNƒNÄN_adfµµÀÑü’48œ»§¼»¼Œ„  š¬óMM&(+-ü28œœ¾§¿¿œ¾Œ„  ¬óÀÄMÀ "´º½ ¬ó½ Á½
À8™ëŸëüô.8žœÂ§Ãތ„ ù ü¬óü§C8ŸœÅ§ÆŸÅÆŒ„ ¬ »ª£º£¬óÇÀcÇ+-02üñ8ô ¡¢  ¬ó ¡ c cˆ¢cµ
 `£c®Ä `àB¤GS
¢ý¤Ä øÄ
Ç8™ëŸë± ÿü¥(8£œÉ§Ê£ÉÊŒ„ ª ­¬óË´Ë "¤Ô<׬óÈÈ
Ë8™ëŸëìø ü®;¬åêúüîeb This `struct` is created by the [`MutableKeys::iter_mut2`][super::MutableKeys::iter_mut2] method.ÁüÔ #ÕDƒ!§
͜ΧÏÏÍÎŒ„ ! “!¬ˆŠ»ˆšôU®"¯ÐŒ!:<?Aüœ!&$œ!ÖÌÌüèüÇ!!§
ҜӧÔÓÒÔŒ„ Ð! Ó!šôÕÖ×Ì!!$&üï!:ý!èêšôÑÑ
Õ§
™ëŸëÓ<"ü¸#&üö"=¡ÙD¿#¤ ¤šô ¤ù€Ñ È#Ñ
Ö§
™ëŸë$É#üÎ%.üœ$E¯ëæ$úüî$[ŠìTÕ%šôÑÑ
×§
™ëŸë$à%ü¾&.§
ٜڧÛÛÙÚŒ„ Ç& Ê&šôܘšœúMûMÿM€NNƒNÄNœš˜Ã&_adfLó&$ø&ØØ §
™ë„œüÀ'58¥œÞ§ßßÞ¥Œ„ Å' È'ÝôŸ MMŸ &(+-ü­(38¦œá§âá⦌„ ²( µ(ÝôãÄMã "´ç(ê(§ §Ýôà î(à
ã8™ëŸë$ï(ü¡)/8¨œå§ææ¨åŒ„ ¦) ©)ÝôüÕ)D8©œè§éè©éŒ„ Ú) é)ª£TÝ)º£Tì)ÝôêÀcê+-02ü *8£*ª«¬ ªÝô « c cˆ¢cµ
 `£c®Ä `àB¤GS
¬ý¤ç §*ç
ê8™ëŸë$¨*± ®*üÔ+)8­œì§í­ì팄 Ù+ Ü+Ýôî´î "¤„,<‡,Ýôëë
î8™ëŸë̆/œð§ñðñãá ‹/óá Ž/Ëõòóô ü¦/5´/›ÅËõïï
òˆíŽíÓ<¸/üë0&ü©0=¡ÙDò0® ®Ëõ ®‰‚ï û0ï
óˆíŽí$ü0ü™22üÏ1E¯ëd 2¯ ¯Ëõ ¯‰‚ï ­2ï
ôˆíŽí$²2ü3&œö§÷ö÷ãá ”3óá —3Ëõø©ª«¬­®úMûMÿM€NNƒNÄN©«¬ª®­Y[^`L¼3$Á3õõã„üþ31œú§ûûúãá ƒ4óá †4Ëõ°±MM°±&(+-üì4/œý§þýþãá ñ4óá ô4ËõÿÄMÿ "´¢5¥5° °Ëõü ©5ü
ÿˆíŽí$ª5üÜ5+œ§ãá á5óá ä5ËõüŒ6@œ§ãá ‘6óá  6¿cˆíT”6¿cŽíT£6ËõÀc;=@BüÓ68Ö6±²³ ±Ëõ ² c cˆ¢cµ
 `£c®Ä `àB¤GS
³ý¤ƒ Ú6ƒ
ˆíŽí$Û6± á6ü‡8%œˆ§ˆãá Œ8óá 8ËõŠ´Š "¤³8<¶8Ëõ
ŠˆíŽíÔ»:ü–9<9 A draining iterator over the entries of an [`IndexMap`].ÁÓ9úü×9?< This `struct` is created by the [`IndexMap::drain`] method.Áü—:#Õ,Æ:§
Œœ§ŽŽŒŒ„ Ð: Ó:¬ˆž»ˆ °3ùÖ2Krb~§
™ëŸë2Krb~Ì:suxzüÜ:"$Ü:Öˆ>ˆ>°3Œ>Š÷<>¦Š÷<Ž>ù÷<>Á÷<…üò)«§§
³Ž¾‚ôƒ;§
œ§Œ„ Œ; ;Ä”ˆ;!#ü¨;=¶;ЕÄ”
§
™ëŸëù$º;üË<&ü‰<=¡ÙDÒ<´ ´Ä” ´ù€ Û<
§
™ëŸë$Ü<ü­='8µœ§˜µ˜Œ„ ²= µ=Êö²³´µ·úMûMÿM€NNƒNÄN²´µ³·Y[^`LÛ=$à=Ú®ü>28œ§œœŒ„ ¢> ¥>Êö¹ºMMº¹&(+-üŒ?08·œž§Ÿ·ŸžŒ„ ‘? ”?Êö ÄM  "´Ã?Æ?¸ ¸Êö Ê?
 8™ëŸë$Ë?üý?,8¹œ¢§£¹¢£Œ„ ‚@ …@Êöü®@A8ºœ¥§¦º¥¦Œ„ ³@ Â@ª£T¶@º£TÅ@Êö§Àc§+-02üö@8ù@»¼½ »Êö ¼ c cˆ¢cµ
 `£c®Ä `àB¤GS
½ý¤¤ ý@¤
§8™ëŸë$þ@± „AÌÃCüªB1. An iterator over the keys of an [`IndexMap`].ÁÜBúüàB>; This `struct` is created by the [`IndexMap::keys`] method.ÁüŸC#Õ$ÎC§
©œª§«ª«©Œ„ ×C ÚC¬ˆ±%»ˆ¸%¸÷>·£;ñ› ¬ÓC:<?AüãC#$ãCÖ¨¨á×ì‹D§
®œ¯§°®¯°Œ„ ”D —D¸÷±D ü¯D6½DØÙ¸÷­­
±§
™ëŸëÓ<ÁDü¬E*§
³œ´§µ³µ´Œ„ µE ¸E¸÷»¼½¾¿ÀúMûMÿM€NNƒNÄN¿½»¾¼À±E_adfLÝE$âE²²üœF18¾œ¸§¹¹¸¾Œ„ ¡F ¤Fû÷ÂÃMMÂÃ&(+-üˆG/8¿œ»§¼¼»¿Œ„ G Gû÷½ÄM½ "´¾GÁGÀ Àû÷º ÅGº
½8™ëŸë$ÆGüøG+8Áœ¿§ÀÀÁ¿Œ„ ýG €Hû÷üßH#8ϤÃÂÂÃŒ„ äH çHû÷ÄÙÄ "¼‰I,ŒIà Ãû÷û÷Á ’IÁ
Ä8™ëŸë$“IüêI48ĜƧÇÄÆÇŒ„ ïI þIª£TòIû÷ÈÀcÈ#%(*ü¥J8¨JÅÆÇ Åû÷ Æ c cˆ¢cµ
 `£c®Ä `àB¤GS
Çý¤Å ¬JÅ
È8™ëŸë$­J± ³JüŸK%8ȜʧËÊËÈŒ„ ¤K §Kû÷Ì´Ì "¤ËK<ÎKû÷ÉÉ
Ì8™ëŸëü´Y*üŒL2/ Access [`IndexMap`] keys at indexed positions.Á¿LúüÃLHE While [`Index<usize> for IndexMap`][values] accesses a map's values,ÁüŒMOL indexing through [`IndexMap::keys`] offers an alternative to access a map'sÁŒÜM keys instead.ÁîMúüòM>; [values]: IndexMap#impl-Index<usize>-for-IndexMap<K,+V,+S>Á±NúüµNLI Since `Keys` is also an iterator, consuming items from the iterator willÁü‚OGD offset the effective indices. Similarly, if `Keys` is obtained fromÁüÊOLI [`Slice::keys`], indices will be interpreted relative to the position ofÁ|—P that slice.Á§Pút«P # ExamplesÁºPú<¾PùîÜÆP use indexmap::IndexMap;ÁâPúüæP" let mut map = IndexMap::new();Áü‰QA> for word in "Lorem ipsum dolor sit amet".split_whitespace() {ÁüËQ=: map.insert(word.to_lowercase(), word.to_uppercase());Á,‰RRúü“R  assert_eq!(map[0], "LOREM");Áü´R'$ assert_eq!(map.keys()[0], "lorem");ÁüÜR  assert_eq!(map[1], "IPSUM");ÁüýR'$ assert_eq!(map.keys()[1], "ipsum");Á¥Sú”©S map.reverse();Áü¼S&# assert_eq!(map.keys()[0], "amet");ÁüãS%" assert_eq!(map.keys()[1], "sit");Á‰Tú¤T map.sort_keys();Áü¢T&ä·üÉT'$ assert_eq!(map.keys()[1], "dolor");ÁñTúüõT63 // Advancing the iterator will offset the indexingÁô¬U let mut keys = map.keys();ÁüËU  assert_eq!(keys[0], "amet");ÁüìU85 assert_eq!(keys.next().map(|s| &**s), Some("amet"));Áü¥V! assert_eq!(keys[0], "dolor");ÁüÇV! assert_eq!(keys[1], "ipsum");ÁéVúüíV(% // Slices may have an offset as wellÁÔ–W let slice = &map[2..];Áü±W" assert_eq!(slice[0], "IPSUM");ÁüÔW)& assert_eq!(slice.keys()[0], "ipsum");Á<þWùî†XúœŠX ```should_panicÁÜžXþ³ºXúü¾X"¯´ÌáX map.insert("foo", 1);ÁüûX0- println!("{:?}", map.keys()[10]); // panics!Á<¬Yùî8ɜΧÏÏÎÉŒ„ ¹Y ¼Yû÷ÐÑۢܢÑ$&)+\åY4êYÍÍ™ëüõZ#üûY;8 Returns a reference to the key at the supplied `index`.Á»ZúüÃZ-’Û,øZÊ Êû÷ Ê™ëÍ þZÍ
Ñ8™ëŸë$ÿZÖ,…[Ìò\üÍ[85 An owning iterator over the keys of an [`IndexMap`].Á†\úüŠ\C@ This `struct` is created by the [`IndexMap::into_keys`] method.ÁüÎ\#ÕDý\œÓ§ÔÔÓãá †]óá ‰]ƒù„{ º•Õ&(+-üý^.$ý^ÖÒÒˆ?ˆ?*‹?®Ä÷<Œ?«÷<?¾÷<Ž?¤÷<?µ ÷<?þ÷<µqS·ààИã§äŒå»É% ê`äçˆíÑÛÑÛêÊÓÛuninitÁÝÔÛ»ÝÍõƒ«%9Ží¾‚̰_œ×§ØØ×ãá µ_óá ¸_ƒùÙüÐ_5Þ_›ÅƒùÖÖ
ÙˆíŽíÓ<â_ÔÌaÙªŒÚÂŒÚߌÚÚÙÚˆíŽíï«êÅüÃc*œÜ§ÝÝÜãá Ècóá ÒcŽþ,ËcƒùÞÙÞ#%(*¼ôc,÷cË ËƒùƒùÛ ýcÛ
ÞˆíŽí$þc¤ødÞªŒßÂŒßߌßßÞ߈íŽí êÅêÅü„g&œá§âáâãá ‰góá ŒgƒùãÄÅÆÇÈÉúMûMÿM€NNƒNÄNÈÆÄÉÇÅY[^`L±g$¶gà
 `£c®Ä `àB¤GS
Ïý¤î ²jî
ñˆíŽí$³j± ¹jüâk%œó§ôôóãá çkóá êkƒùõ´õ "¤Žl<lƒùòò
õˆíŽíÜŽnüñl30 An iterator over the values of an [`IndexMap`].Á¥múü©m@= This `struct` is created by the [`IndexMap::values`] method.Áüêm#Õ4™n§
÷œø§ù÷øùŒ„ ¤n §n¬ˆk?»ˆr?‚úî¹ú‡$!ú n:<?Aü°n#$°nÖööá×üØn§
üœý§þþýüŒ„ án än‚úÿÝn üþn6ŒoØÙ‚úûû
ÿ§
™ëŸëÓ<oüûo,§
œ§ƒƒŒ„ „p ‡p‚úÍÎÏÐÑÒúMûMÿM€NNƒNÄNÎÏÍÑÒЀp_adfL®p$³p™“üïp38М§ÐŒ„ ôp ÷pÅúÔÕMMÕÔ&(+-üßq18Ñœ§ŠÑŠŒ„ äq çqÅúÄM "´—ršrÒ ÒÅúˆ žrˆ
8™ëŸë$ŸrüÑr-8Óœ§ŽÓŽŒ„ Ör ÙrÅúüºs%8Ôœ§ÔŒ„ ¿s ÂsÅúÙ "¼æs,ésÕ ÕÅúÅú ïs
8™ëŸë$ðsüÉt68Öœ§ÖŒ„ Ît Ñtº£TÔtÅúÀc#%(*ü†u8‰u×ØÙ ×Åú Ø c cˆ¢cµ
 `£c®Ä `àB¤GS
Ùý¤ u
8™ëŸë$Žu± ”uü€v'8Úœ˜§Ú˜Œ„ …v ˆvÅúš´š "¤®v<±vÅú
š8™ëŸëô—xüïv:7 A mutable iterator over the values of an [`IndexMap`].Áªwúü®wDA This `struct` is created by the [`IndexMap::values_mut`] method.Áüów#ÕL¢x§
œœ§žœžŒ„ °x ³x¬ˆP>»ˆW>¾û†¦"KPyŸ¬x:<?Aü¼x&$¼xÖüèüçx"§
¡œ¢§££¡¢Œ„ ðx óx¾û¤ìx üy:žyèê¾û  
¤§
™ëŸëÓ<¢yü•z/§
¦œ§§¨¦§¨Œ„ žz ¡z¾û©ÖרÙÚÛúMûMÿM€NNƒNÄNÙרÖÚÛšz_adfLËz$Ðz¥¥„œü{68Ûœ«§¬Û¬«Œ„ •{ ˜{üÝÞMMÞÝ&(+-üƒ|48Üœ®§¯Ü¯®Œ„ ˆ| ‹|ü°ÄM° "´¾|Á|Ý Ýü­ Å|­
°8™ëŸë$Æ|üø|08Þœ²§³Þ²³Œ„ ý| €}üü­}98ßœµ§µßŒ„ ²} µ}º£T¸}ü·Àc·#%(*üí}8ð}àáâ àü á c cˆ¢cµ
 `£c®Ä `àB¤GS
âý¤´ ô}´
·8™ëŸë$õ}± û}ü¦*8㜹§ººã¹Œ„ « ®ü»´» "¤×ü¸¸
»8™ëŸëÜÚü±€:7 An owning iterator over the values of an [`IndexMap`].Áì€úüð€EB This `struct` is created by the [`IndexMap::into_values`] method.Áü¶#Õœ½§¾¾½ãá ðóá óïüŸD¾Yw¿(*,.üãƒ.$ãƒÖ¼¼ˆ?ˆ?*‹?®Ä÷<Œ?«÷<?¾÷<Ž?¤÷<?µ ÷<?þ÷<µqS·ààИã§äŒå»É% ê`äçÑÛÑÛêÊÓÛÉÅÝÔÛ»ÝÍõƒ«%9ˆíŽí¾‚Ü–„œÁ§ÂÂÁãá ›„óá ž„ïüÃü¸„5Æ„›ÅïüÀÀ
ÈíŽíÓ<Ê„䲆êŒÄÂŒÄߌÄÄÃĈíŽí‹ÉËóü«ˆ,œÆ§ÇÆÇãá °ˆóá ³ˆžþ,¶ˆïüÈÙÈ&(*,¼Þˆ,áˆä äïüïüÅ çˆÅ
ȈíŽí$舴â‰ÈªŒÉÂŒÉߌÉÉÈɈíŽí ËóËóüò‹(œË§ÌËÌãá ÷‹óá ú‹ïüÍßàáâãäúMûMÿM€NNƒNÄNäâàáßã[]_aL¡Œ$¦ŒÊÊŽíüÚŒ3œÏ§ÐÏÐãá ߌóá âŒïüæçMMæç(*,.üÆ1œÒ§ÓÒÓãá Ëóá ÎïüÔÄMÔ!#´þŽå åïüÑ …ŽÑ
ÔˆíŽí$†Žü¸Ž-œÖ§×Ö×ãá ½Žóá ÀŽïüüêŽ6œÙ§ÚÚÙãá ïŽóá òŽžTõŽïüÛÀcÛ&(*,ü§8ªæçè æïü ç c cˆ¢cµ
 `£c®Ä `àB¤GS
èý¤Ø ®Ø
ÛˆíŽí± µüà'œÝ§ÞÞÝãá åóá èïüß´ß!#¤Ž‘<‘‘ïüÜÜ
߈íŽíüù’!üñ‘'$ A splicing iterator for `IndexMap`.Á™’úü74 This `struct` is created by [`IndexMap::splice()`].ÁüÕ’#Õ4„“§
ášâœã§ä¤åáãäâå ÍìÅþ ÍìËþ ’“ÍìÑþ •“Íì×þ ˜“ùMÅþ¼¨“ÅþúMËþÑþl±“šeËþ$È“ËþÏ“Åe×þ\Ú“Ëþ§
ôí“Ñþ§
×þ§
ààç?æØÖç¥@ÖèŒÖé¹@Ö6õ•Â\¶§
ÅþËþÑþ×þ6õ•Â\¶æçèé÷‹“PSMPJMGJéí“Öàà §
¬
¬
  °
í±
Þ`øÃx¶*ÓËþÑþ×þ„‘”$‘”Öàà¨ÄÓê9œÒž”²ËþÑþü§”",§”Öààˆ?ˆ?*‹?®Ä÷<Œ?«÷<?¾÷<Ž?¤÷<?µ ÷<?þ÷<µqS·ààИã§äŒå»É% ê`äçËþÑþ¾‚|Ï”dÏ”ÖààÅþüã”w§
ëšìœí§î¤ïìîïíë Ï„l¥•ˆ„ „ ò”¬„ õ”¾„¼œ•öƒ ì”è„$¼•ù„ÕŠ…\ΕÄ…ðè”.0_acegiüõ•²|ᕃ–¦‡£ÅþÄ…ê£ññêÍì⌠‡–¤#⌔â–
ð§
ÅþËþÑþ×þâŒØŠ–˜ã,ª–¹@d´–TVü¨˜|8éšóœô§õ¤öõóéöô Ï„l„ °˜š„ ³˜¬„ ¶˜¾„¼æ˜öƒ ­˜è„$†™ù„Š…\˜™îý÷"÷/1`bdfhj”«™$®™ê êîýò ³™ò
÷8ÅþËþÑþ×þ$¸™ü¿¡8ëšùœú§û¤üùëúüû Ï„lŠ¢ˆ„ Ç¡š„ Ê¡¬„ Í¡¾„¼¢öƒ Ä¡è„$¡¢ù„¨¢Š…\³¢îýýþÿúMûMÿMþÿACrtvxz|LÆ¢$Ë¢øøÚ„üߢ($â¢ì ìîýÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙîýúMø ç¢ø
þ8ÅþËþÑþ×þ$ì¢üÆ£-LÉ£í íîýµ˜ø Ó£ø
ÿ8ÅþËþÑþ×þ$Ô£üž¤8îšœ§ƒ¤îƒ Ï„lô¤ˆ„ ¦¤š„ ©¤¬„ ¬¤¾„¼ë¤öƒ £¤è„$‹¥ù„’¥Š…\¥îýM/1`bdfhjü°¥-L³¥ï ïîý«“ ½¥
8ÅþËþÑþ×þ$Â¥üŸ¦8𚜈§¤ŠŠðˆ Ï„l󦈄 §¦š„ ª¦¬„ ­¦¾„¼ê¦öƒ ¤¦è„$Чù„‘§Š…\œ§îýÄM/1`bdfhj´¯§²§ñ ñîý ¶§
8ÅþËþÑþ×þ$·§üê§8òšœŽ§¤òŽ Ï„lº¨ˆ„ ò§š„ õ§¬„ ø§¾„¼±¨öƒ ï§è„$Ѩù„بŠ…\ã¨îý$&UWY[]_üõ¨¯8󚜧¤ó Ï„lÏ©ˆ„ ý¨š„ €©¬„ ƒ©¿cÅþT¹©¾„¼Æ©öƒ ú¨¿cËþTæ©è„$ó©ù„ú©¿cÑþT…ªŠ…\˜ªîýÀcQSü«ª8®ªôõö ôîý õ c cˆ¢cµ
 `£c®Ä `àB¤GS
öý¤ ²ª
8ÅþËþÑþ×þ$³ª± ¹ªüà­!üѬ*' An extracting iterator for `IndexMap`.Áü¬úü€­;8 This `struct` is created by [`IndexMap::extract_if()`].Áü¼­#ÕLë­§
˜œ§š˜šŒ„ ù­ ü­û‹ ÿ­¬ˆÅÞ»ˆÌÞ²Cœß ÖëCÖ}GB×òç§
™ëŸëâÿ}GB×òçœõ­˜šäˆ®,ˆ®Ö‹å<ª®$ª®Öâÿü¶®$8÷œŸ§ ¡ ¡Ÿ÷Œ„ »® ¾®û‹ Á®›ÿ¢ "$&(üõ®§²|ᮃ¯ú úÎ…£âÿ²Cœß ÖëCÖ}GB×òçú™ëŸëâÿž£££ ¯žÍìó¥ ‡¯¤#ó¥”ã¯øù“"âÿ ø™ë ùŸëÌ‚°øùâÿª§˜"$—°
¢8™ëŸëâÿó¥í$Н˜ã,¡¯ëC$«¯§©ü„±Y8ýœ¥§¦§§¥ý¦ûüâÿ û™ë üŸë˜"$ر Œ±û‹ ±ûü“"âÿ‹©ÌñŒ„ ‰±›ÿ¨©«úMûMÿM©«&(dfhjLä±$鱤¤Ú®üý±($€²þ þ›ÿÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ›ÿúM¤ …²¤
©8™ëŸëâÿ$вDÓ²©ªŒªÂŒªߌªª©ª™ëŸëâÿ ³Ž•Öüù³-Lü³ÿ ÿ›ÿꔤ †´¤
«8™ëŸëâÿ$‡´üÜ´Y8œ­§®¯®­¯âÿ ™ë Ÿë˜"$±µ ä´û‹ ç´“"âÿӮ̜µŒ„ á´›ÿ  GIKMüºµ_8ƒœ±§²³²ƒ³±Œ„ ¿µ µû‹ ŵª£Tûµº£T޶›ÿ´Àc´8:<>@Bü ¶8£¶ ›ÿ  c cˆ¢cµ
 `£c®Ä `àB¤GS
ý¤° §¶°
´8™ëŸëâÿ$¨¶± ®¶\›Â×î\\Åeµ·Ž$šeµ¸Ž eµ¸И47ൺ§
á#,?Œµ»ÿ ÓTFµ¼¨
é  DR¬
µ½Ç&d\±µ¾
Ð/Dj̵¿Œ
Å
ltµÀ
вAµÁƒ
Töø,*ÔÖÀ«­pr\^EGì§ü”/, Opt-in mutable access to [`IndexMap`] keys.ÁÄúüÈPM These methods expose `&mut K`, mutable references to the key as it is storedÁ|™ in the map.Áü©GD You are allowed to modify the keys in the map **if the modificationÁüñ2/ does not change the key's hash and equality**.Á¤úü¨EB If keys are modified erroneously, you can no longer look them up.ÁüîEB This is sound (memory safe) but a logical error hazard (just likeÁü´DA implementing `PartialEq`, `Eq`, or `Hash` incorrectly would be).Áùúüý:7 `use` this trait to enable its methods for `IndexMap`.Á¸úü¼PM This trait is sealed and cannot be implemented for types outside this crate.ÁÂÂÎìü§å²»*Æ»²»6Æ»ÄÅÇÈÉÃÄÅÇÈÉÍ캻×¼Í캻ͼÈÇÅÉÐÂÂÂÂüݘüê96 Return item index, mutable reference to key and valueÁ¨úü°(Ĥˆ º» ˆ¢Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ÿ¼ ¾¼Â¢ÆÆ ñÂÎìµ¾ îšeµ¾µ¾Ÿ¼¬ß
껵¾ŒüCEü¢
Yüû:7 Return mutable reference to key and value at an index.Áº úü 0- Valid indices are `0 <= index < self.len()`.Á÷ úôÿ  Computes in **O(1)** time.Át¥
 º»Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Ÿ¼ ¾¼Â ´
Â
Ǻ»
Ö,¿
üÐ @ü JG Return an iterator over the key-value pairs of the map, in their orderÁLÓ Š Šº»ÌÌÐ/ÐùÖU®"¯ŠŸ¼¾¼Â Ý Â
Ⱥ» ü£gü– HE Scan through each key-value pair in the map and keep those where theÁüã " closure `keep` returns `true`.ÁŠ
úü’
HE The elements are visited in order, and remaining elements keep theirÁ
 order.Áî
úüö
(ܧ º»ÂÊÊ ±ÂÍìÃÇ ®Œ“"ÃÇ Ÿ¼ Œ¾¼üÚ/ŒÃǕȘ"$…
ɺ»Ãdz¦xzüðIüŽ/­´¾úüÂ-* See [`MutableKeys`] for more information.ÁœÌ§Í¤ÎÌÎÍãá õóá øŽÓ ûÅe ñßðÏÐÑÓÔÕÃÄÅÇÈÉÓÑÕÔbdgilnÅËˈíËËŽíüç~Ž Žß𠜑ۼݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ Žˆí ŽŽíË¢ÒÒ ûËÎ윑 øšeœ‘œ‘ˆí
шíŽí ñœ‘$€ŒKMüÄF ßðÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ˆí ŽíË ÖË
ÓˆíŽí ñÖü×? ßðÌÌÐ/ÐùÖU®"¯ßðÃßðÄË äË
ÔˆíŽí ñüÑU ßðâÿËÖÖ ßËû‹ Ü“"âÿ ˆí Žíìˆâÿöј"
ÕˆíŽí ñâÿ³¦üì!üß,) Opt-in mutable access to [`Entry`] keys.ÁŒúüPò´˵üñGäµü¹2µ¶ìúüðEý¶ü¶EÌ·üüD›¸ÁúüÅ74 `use` this trait to enable its methods for `Entry`.ÁýúüPŹ×ײ»üìöÆ»4‡×²»"Æ»²».Æ»ÙØÙÍ캻ØL”äÕÙD”××ü¸(ü£SP Gets a mutable reference to the entry's key, either within the map if occupied,Áüû8ל º» ìÕ× Ã×
Ùº»üÇ.üä,øÑúü•1. See [`MutableEntryKey`] for more information.Á8œÛ§ÜÜÛŒ„ Ì Ï›íÝÞØÙÞ"$')ÚÚ™ëüŽ'< ›í ›íØÚ Ú
Þ8™ëŸëü§!6ü¼ 41 Opt-in mutable access to [`OccupiedEntry`] keys.Áñ úüõ 1—×8˜œà§á˜àጄ ¬! ¯!÷íâãØÙã"$')Dä!é!ßß™ëüö!'<ù! ÷í ÷íØß "ß
ã8™ëŸë$†"ü¹#4üÐ"2/ Opt-in mutable access to [`VacantEntry`] keys.Áƒ#úü‡#1—×8šœå§æå暌„ ¾# Á#ÉîçèØÙè"$')Dô#ù#ää™ëü†$'<‰$ Éî ÉîØä ‘$ä
è8™ëŸë$–$üº%5üÐ$30 Opt-in mutable access to [`IndexedEntry`] keys.Á„%úüˆ%1—×8œœê§ëë꜌„ ¿% Â%›ïìíØÙí"$')Dö%û%éé™ëüˆ&'<& ›ï ›ïØé “&é
í8™ëŸë$˜&dÒ&4Ø&µîî²»|Ò&î
  D¬
ÿ*D#¡ÿƒ
Ã7D-Òÿˆ
Ü=T7¼ÿ
š+$CƒÿŠ
½-<I©ÿ
‹5$R¨ÿˆ
Ì94Xöÿ
á;L`ÿŠ
éœyÿë"D  þÿÉ"”ª üÿŽÖ€ÒÿöçªBÿ®¿ßÿ× `ÿŽšeÿŽ eÿ¢eÿ­
 ÿ¾ùç£ÿ˜ó…Ù¢ÿކ³"ÿšèþ¤#ÿ,.1üÿêíØÛÆÉ´·¢¥Ôr\’svdgŒÄXJœð<L‰-T˜"üþL¸ï¾ßáÌι»§©´àüñDA A dynamically-sized slice of key-value pairs in an [`IndexMap`].ÁúüºB? This supports indexed operations much like a `[(K, V)]` slice,Áüý2/ but not any hashed operations on the map keys.Á°úü´HE Unlike `IndexMap`, `Slice` does consider the order for [`PartialEq`]ÁüýMJ and [`Eq`], and it also implements [`PartialOrd`], [`Ord`], and [`Hash`].Áœ§žžãá ñóá ô‰‚OÝ(L9UŸ&(+-üý"<ˆœœ¡Ç´Ëœ¡§¢¢¡ãá Ðóá Ó‰‚£¤¥¦!#üèA¢ ¢¡Ç ¢‰‚   ÃËÓ'£üþMt £ £¡Ç £‰‚  ª  ÐÎÓY¤ü 
C
žÖ€¡ˆˆ¢ˆl }.xϡǾ‚È  
¥ˆíŽíÓ
ü· 5 ÿÈô  
¦ˆíŽí ´Å œ¨§©¨©ãá Ê óá Í ‰‚ª«­¯°±²³µ·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊÌÐÕ×Ûàãçüâ @ țŧ§
ªˆíŽí üõ
"ÜÕ
 Returns an empty slice.Á §
‰‚§§
¬¬§
«ˆíŽí§
üë*üÃ# Returns an empty mutable slice.Á<ø §
‰‚§§
®®§
­ˆíŽí§
ü– üÉ:7 Return the number of key-value pairs in the map slice.Á£¤ ¤‰‚§ §§
¯ˆíŽíü©$üß74 Returns true if the map slice contains no elements.ÁD¶¥ ¥‰‚§ ¿§
°ˆíŽíüß9üû" Get a key-value pair by index.Á¢úüª0ÿ¿¦ ¦‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¦ˆí ¦Ží§ ð§
±ˆíŽíÖüÞEüØDA Get a key-value pair by index, with mutable access to the value.Á¡úü©0ÿ¿§ §‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ §ˆí §Ží§ ó§
²ˆíŽíÖüñIüêEB Returns a slice of key-value pairs in the given range of indices.Á´úü¼0ÿ¿¨ ¨‰‚ÞâÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ›‚ §£´´ §Üã íã”…
³ˆíŽíÞâ˜ã-/üÒUüÃMJ Returns a mutable slice of key-value pairs in the given range of indices.Áúü0ÿ¿© ©‰‚ÞâÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙí„ §£ þ§Üã çíã”ê
µˆíŽíÞâ˜ã,‰-/üÞ-ü¸! Get the first key-value pair.Á,ëª ª‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ªˆí ªŽí§ ñ§
·ˆíŽíüÙ9ü‘C@ Get the first key-value pair, with mutable access to the value.ÁLæ« «‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ «ˆí «Ží§ ð§
¸ˆíŽíüÄ,üŸ  Get the last key-value pair.Á$Ѭ ¬‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ¬ˆí ¬Ží§ Ö§
¹ˆíŽíü»!8üô B? Get the last key-value pair, with mutable access to the value.ÁDÈ!­ ­‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ­ˆí ­Ží§ Ñ!§
ºˆíŽí$Ö!üË$<üþ"+( Divides one slice into two at an index.Á®#úü¶#" ***Panics*** if `index > len`.ÁüÝ#UR For a non-panicking alternative see [`split_at_checked`][Self::split_at_checked].Á²|·$DØ$® ®‰‚Š Š § á$§
»ˆíŽí$â$Ö~³üê'Lü&30 Divides one mutable slice into two at an index.ÁÅ&úüÍ&"â üô&]Z For a non-panicking alternative see [`split_at_mut_checked`][Self::split_at_mut_checked].Á²|Ö'd÷'¯ ¯‰‚¾’ ¾’ § „(§
¼ˆíŽí$‰(Ö#¶ü©*LüÈ)+¡ ø)úü€*$! Returns `None` if `index > len`.Á„¶*° °‰‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙõ“ õ“ § Ç*§
½ˆíŽí$È*Ö‹¹ü¬-\
 `£c®Ä `àB¤GS
Ëý¤ Ås
ˆíŽí$Æs± Ìsü°tmœ§šÙUãUœœšãá µtóá ¸tÍ츄»tÍ쾄¿tµßˆí¸„lùtµßŽí¾„lu‰‚·ßhjmoikegü¤u+§uÌÍ Ì‰‚ Í‹„˜ ªu˜
ˆíŽí¸„¾„$«u¹
,±uDvªŒžÂŒžߌžžžˆíŽí¸„¾„‘È ààИã§äŒå»É% ê`ä縄¾„üÖvjœ §¡ÙU¢ãU£¢£¡ ãá Ûvóá Þv½à ávÎà åvßà lœwôà l²w‰‚¤·ß¤<>ACFHKMüÇw(ÊwÎÏ Î‰‚ ÏЄŸ ÍwŸ
¤ˆíŽí¸„¾„$Îw¹
,Ôw4™x¤ªŒ¥ÂŒ¥ߌ¥¥¤¥ˆíŽí¸„¾„‘È Ñ„üÉxjœ§§¨ÙU©ãUª©§ª¨ãá Îxóá Ñx½à ÔxÎà Øxßà lyôà l¥yâ„«·ß«<>ACFHKMüºy+½yÐÑ Ðâ„ Ñ‹„¦ Ày¦
«ˆíŽí¸„¾„$Áy¹
,Çy4z«ªŒ¬ÂŒ¬ߌ¬¬«¬ˆíŽí¸„¾„ ã„¿ã ü¿z}œ®§¯ÙU°ãU±Ÿ²²°®¯±ãá Äzóá Çz½à ÊzÎà ÎzŸtÒzßà l˜{ôà l®{‰‚´·ß´JLOQTVY[X ØzüÃ{+Æ{ÒÓ Ò‰‚ Óü„­ É{­
´ˆíŽí¸„¾„Ÿ$Ê{¹
,Ð{ü¬|}œ·§¸Ÿ¹ÙUºãU»º»¹·¸ãá ±|óá ´|¢Ë t·|ÍìÅ…Ç|ÍìË…Ë|µßˆíÅ…l…}µßŽíË…l›}Ž…½·ß½pruwz ½|qsmoü°}+³}ÔÕ ÔŽ… Õ˜… ¶}
½ˆíŽíŸÅ…Ë…$·}¹
,½}ü–~%œ¿§À¿Àãá ›~óá ¢~ìžž~Ží¥~‰‚(*-/üÀ~=œÂ§ÃÂÃãá Å~óá Ô~²» TÈ~íߎíŽíT×~‰‚ÄïßÄ9;>@ü„7\‡Ö× Ö‰‚ ׉‚Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙüÓÁ Á
ĈíŽí$”¹
üî(œÆ§ÇÇÆãá óóá ûž¯ öºŽíþ‰‚È»È358:ü' €ØÙ ؉‚ Ù‰‚üÓÅ ¤€Å
ȈíŽí$¥€¹
,«€üï€+œÊ§ËÊËãá ô€óá ý€šeˆí$÷€šeŽí$€‰‚Ì›eÌ?ACEü¡(ÚÛ Ú‰‚ ÛÉÍÍ ´ÉÍìšø ©¢ešø 
̈íŽíšø º8:üÞ‚'œÏ§ÐÐÏãá ã‚óá æ‚‰‚ÑÒۢܢÒ&(*,\Œƒ4‘ƒÎÎŽíü¢ƒ#,¥ƒÜ ܉‚ ÜŽíÎ «ƒÎ
ÒˆíŽí$¬ƒÖ,²ƒüôƒ*œÔ§ÕÕÔãá ùƒóá üƒ‰‚Öµ"Ö!#ü¥„/L¨„Ý Ý‰‚ ÝŽíÓ ²„Ó
ÖˆíŽí$·„Ö,½„¼ä†Tñ† ü† µŽ ‚‡ ‘‡, ƒ‡ „‡ އ, …‡8˜ã,†‡& ‹‡8´Œ‡$ 
*“‡ –‡ ³Ž, —‡ ˜‡ ±ŽT8$¢‡ ¦‡8œ §‡$ ¨‡8§ ª‡$ «‡8¤ ­‡ ®‡8ó…,°‡ µ‡, ¶‡8˜ã,·‡ ¼‡8
¾‡8  D‡ ʇ8œ ˇ$ ̇8§ ·$ χ8¤ ч Ò‡ Ô‡ 8!$â‡8°4ç‡ î‡8Ù,ð‡ õ‡8œ ö‡$ ÷‡8§ ù‡ ú‡% û‡8 Šˆ8Ö,ˆ ’ˆ §ˆ “ˆ8$”ˆ$ ˜ˆ8˜ã,šˆ& Ÿˆ, ¡ˆ8˜ã,¢ˆ(©ˆ ¬ˆ8$­ˆ'±ˆ8°4³ˆ ºˆ …‰8Ù,̈'ш8ÊKTÓˆ ݈ ÷ˆ Þˆ8$߈ ãˆ8Täˆ îˆ ïˆ ðˆ öˆ8˜ã,ñˆ8$š‰ ž‰8œ Ÿ‰$  ‰8§ ¢‰$ £‰8¤ ¥‰ ¦‰8ކD¨‰ °‰, ±‰8˜ã,²‰ ·‰8
¹‰8  D½‰ ʼn8œ Ɖ$ lj8§ ɉ$ ʉ8¤ ̉ ͉ ω úŠ
8 ݉8×Là‰ é‰ ‚Š ê‰8ë‰8$ï‰$ ó‰8˜ã,õ‰& ú‰, ü‰8˜ã,ý‰(„Š ‡Š8ˆŠ8$ŒŠ'Š8°4’Š ™Š ðŠ8Ù,«Š'°Š8ÜKt²Š ÀŠ âŠ ÁŠ8Š8$ÆŠ ÊŠ8¥tËŠ ÙŠ ÚŠ ÛŠ áŠ8˜ã,ÜŠ8$…‹ ‰‹8œ Š‹$ ‹‹8§  Ž‹8ó…, •‹, –‹8˜ã,—‹ œ‹8
ž‹8Ù,¢‹ §‹8œ ¨‹$ ©‹8§ «‹ ¬‹ ®‹ ÛŒ8!$¼‹8°4Á‹ È‹8Ù,Ê‹ Ï‹8œ Ћ$ Ñ‹8§ Ó‹ Ô‹% Õ‹8 ä‹8Ö,ç‹ ì‹ Œ í‹8$î‹$ ò‹8˜ã,ô‹& ù‹, û‹8˜ã,ü‹(ƒŒ †Œ8$‡Œ ŒŒ ÑŒ8$žŒ'¢Œ8ÊKT¤Œ ®Œ ÃŒ ¯Œ8$°Œ ´Œ8Ó<µŒ ¼Œ ÂŒ8˜ã,½Œ8$æŒ êŒ8œ ëŒ$ ìŒ8§ îŒ ïŒ8ކDñŒ ùŒ, úŒ8˜ã,ûŒ 8
8Ù,† 8œ Œ$ 8§    «Ž8  8× ¬ Å ­8®8$ 8˜ã,¸& ½, ¿8˜ã(Ç Ê8Ë8 Ô ¡Ž8'ê8ÜK ú “Ž û8ü8$€Ž „Ž8Ó<…Ž ŒŽ ’Ž8˜ã,Ž
²Ž¤´ü4 1 Opt-in access to the experimental raw entry API.Á5 úü9b _ This module is designed to mimic the raw entry API of [`HashMap`][std::collections::hash_map],ÁüœG D matching its unstable state as of Rust 1.75. See the tracking issueÁüäR O [rust#56167](https://github.com/rust-lang/rust/issues/56167) for more details.Á· úü»b _ The trait [`RawEntryApiV1`] and the `_v1` suffix on its methods are meant to insulate this forÁüža ^ the future, in case later breaking changes are needed. If the standard library stabilizes itsÁü€` ] `hash_raw_entry` feature (or some replacement), matching *inherent* methods will be added toÁüá, ) `IndexMap` without such an opt-in trait.ÁæòŒ £ ¾ ã ù ¨$› ØÚ¢
Å
 ØÛ
ŠÓ ØÝéÇ¿ ÔØÞÇ¿ÕØÞ   ¬
Øßç×é  `Øà\\ÿ ÅeØâŽ šeØãŽ eØã PhantomDataÁ\¥ ØäÕ–
Øäí¼ ëØå,“ 14!  øúÑÓLã ÀTò ²´¡£Ì— uL¶ Püã( üÂ4 
÷ úüûM J See the [`raw_entry_v1`][self] module documentation for more information.Á æœç§è¤éæçéè²»üãÆ- ù º»4… Œ„ û  þ ‘Î  æ²»Bªš
6²»Nªš
ëêëêëOQTVY[üÓ7 ü’? < Creates a raw immutable entry builder for the [`IndexMap`].ÁÖ úüÞE B Raw entries provide the lowest level of control for searching andÁü¨ I F manipulating a map. They must be manually initialized with a hash andÁÜö  then manually searched.Á
ú´ž
 This is useful forÁ´¹
 * Hash memoizationÁüÔ
H E * Using a search key that doesn't work with the [`Equivalent`] traitÁü¡ < 9 * Using custom comparison logic without newtype wrappersÁâ úüê Q N Unless you are in such a situation, higher-level and more foolproof APIs likeÁüÀ / , [`get`][IndexMap::get] should be preferred.Áô úüü G D Immutable raw entries have very limited use; you might instead wantÁüÈ
1 . [`raw_entry_mut_v1`][Self::raw_entry_mut_v1].Áþ
út† γ ú ùîü­  use core::hash::BuildHasher;ÁüÒ1 . use indexmap::map::{IndexMap, RawEntryApiV1};Áˆ úü" ¯´ü·5 2 map.extend([("a", 100), ("b", 200), ("c", 300)]);Áñ úüù- * for k in ["a", "b", "c", "d", "e", "f"] {Áü«, ) let hash = map.hasher().hash_one(k);ÁüÜ$ ! let i = map.get_index_of(k);ÁÜ…  let v = map.get(k);Áü¥& # let kv = map.get_key_value(k);ÁüÐ"  let ikv = map.get_full(k);Á÷ úüÿ2 / println!("Key: {} and value: {:?}", k, v);Á úü¾7 4 assert_eq!(map.raw_entry_v1().from_key(k), kv);ÁüúH E assert_eq!(map.raw_entry_v1().from_hash(hash, |q| *q == k), kv);ÁüÇL I assert_eq!(map.raw_entry_v1().from_key_hashed_nocheck(hash, k), kv);Áü˜N K assert_eq!(map.raw_entry_v1().from_hash_full(hash, |q| *q == k), ikv);ÁüëM J assert_eq!(map.raw_entry_v1().index_from_hash(hash, |q| *q == k), i);Á ìµ ùî Þ Þº»òòîZ÷ØØå¿f»|rûÞ™ëŸë¿ðæ ã æ
꺻™ëŸë¿ð üå4B ü5 2 Creates a raw entry builder for the [`IndexMap`].ÁÊ úüÒE ˜›
üœI ç›
üêF C then manually searched. After this, insertions into a vacant entryÁüµ. + still require an owned key to be provided.Áè úüð9 6 Raw entries are useful for such exotic situations as:Á® ú´¶ ˆ
üÑM J * Deferring the creation of an owned key until it is known to be requiredÁü£H ¨
üð< ú
± úü¹M J Because raw entries provide much more low-level control, it's much easierÁü‹N K to put the `IndexMap` into an inconsistent state which, while memory-safe,ÁüÞQ N will cause the map to produce seemingly random results. Higher-level and moreÁü´U R foolproof APIs like [`entry`][IndexMap::entry] should be preferred when possible.ÁŽ úü–F C Raw entries give mutable access to the keys. This must not be usedÁüáP M to modify how the key would compare or hash, as the map will not re-evaluateÁü¶H E where the key should go, meaning the keys may become "lost" if theirÁüƒ L I location does not reflect their state. For instance, if you change a keyÁüÔ K H so that the map now contains keys which compare equal, search may startÁü¤!R O acting erratically, with two keys randomly masking each other. ImplementationsÁüû!P M are free to assume this doesn't happen (within the limits of memory-safety).ÁÐ" útØ" γë" ú<ó" ùîüÿ" ª¡
ü¤#1 Ô¡
üÚ#1 . use indexmap::map::raw_entry_v1::RawEntryMut;Á$ úü˜$" ¯´ü¿$5 ©¢
ù$ úü%' $ // Existing key (insert and update)Áü­%0 - match map.raw_entry_mut_v1().from_key("a") {Áüâ%1 . RawEntryMut::Vacant(_) => unreachable!(),Áü˜&, ) RawEntryMut::Occupied(mut view) => {ÁüÉ&( % assert_eq!(view.index(), 0);Áüö&) & assert_eq!(view.get(), &100);Áü¤'# let v = view.get_mut();ÁüÌ'"  let new_v = (*v) * 10;Á¼ó'  *v = new_v;Áü(0 - assert_eq!(view.insert(1111), 1000);ÁLÄ( ,Ò( ìµÜ( úüä(  assert_eq!(map["a"], 1111);Áìˆ)  assert_eq!(map.len(), 3);Áª) úÔ²)  // Existing key (take)ÁüÑ)* ' let hash = map.hasher().hash_one("c");Áü€*E B match map.raw_entry_mut_v1().from_key_hashed_nocheck(hash, "c") {ÁüÊ*1 ¸
ü€+( % RawEntryMut::Occupied(view) => {Áü­+( % assert_eq!(view.index(), 2);ÁüÚ+> ; assert_eq!(view.shift_remove_entry(), ("c", 300));ÁL, •»
,«, ìµüµ,7 4 assert_eq!(map.raw_entry_v1().from_key("c"), None);Áìñ,  assert_eq!(map.len(), 2);Á“- úü›-* ' // Nonexistent key (insert and update)Á”Ê-  let key = "d";Áüá-* ' let hash = map.hasher().hash_one(key);Áü.A > match map.raw_entry_mut_v1().from_hash(hash, |q| *q == key) {ÁüÖ.3 0 RawEntryMut::Occupied(_) => unreachable!(),ÁüŽ/& # RawEntryMut::Vacant(view) => {Áü¹/( ‚¾
üæ/4 1 let (k, value) = view.insert("d", 4000);ÁüŸ02 / assert_eq!((*k, *value), ("d", 4000));ÁÜÖ0  *value = 40000;ÁLö0 •»
,„1 ìµüŽ1  assert_eq!(map["d"], 40000);Áì³1 é»
Õ1 úüÝ1A ŒÁ
ü£21 ¸
üÙ2( н
ü†3( ‚¾
ü³3? < assert_eq!(view.swap_remove_entry(), ("d", 40000));ÁL÷3 •»
,…4 ìµü4# assert_eq!(map.get("d"), None);Áì·4 Ö¿
<Ù4 ùî„è4 ß ßº»Œ Œ ƒ]ØØD •…¸ÉÚß™ëŸë¿ðæ ù4 æ
뺻™ëŸë¿ð$þ4 ü«5: œí§î¤ïíîïãá °5 óá ³5 ŽÓ ¶5 ßððñêëðñ.0358:üì56 dï5 à àßðòòîZ÷ØØå¿f»|rûàˆíŽí ñì ü5 ì
ðˆíŽí ñ$ý5 üÖ6A „Ù6 á áßðŒ Œ ƒ]ØØD •…¸ÉÚáˆíŽí ñì ê6 ì
ñˆíŽí ñ$ï6 ü»9' üÌ7V S A builder for computing where in an [`IndexMap`] a key-value pair would be stored.Á£8 úü§8V S This `struct` is created by the [`IndexMap::raw_entry_v1`] method, provided by theÁüþ8< 9 [`RawEntryApiV1`] trait. See its documentation for more.Á|Æ9 §
óœô§õ¤öõöôóŒ„ Ú9  Ý9 ‘Î à9 ¬ˆÔé9 »ˆ¿ð§
òòîZ÷ØØå¿f»|rû§
™ëŸë¿ðå¿f»|rû÷Ö9 šé9 Øòòøïüˆ:9 8âœù§ú¤ûúûù⌄ :  : ‘Î “:  üÀcü#%(*-/üÈ:8 Ë: ãäå ã  ä c cˆ¢cµ
 `£c®Ä `àB¤GS
åý¤ø Ï: ø
ü8™ëŸë¿ð$Ð: ± Ö: üÎ;. §
þœÿ§¤  ÿþŒ„ ×;  Ú; ‘Î Ý; ¹Ï
„ † ˆ Š Ó; -/2479ü£<‡ ܃<  Access an entry by key.ÁDª< æ¹Ï
æ¢Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙý¢ƒ ƒ  Á< ýÎì°Õ
³< Åe¿ð\ô< še°Õ
$•= °Õ
™ëlœ=
§
™ëŸë¿ð°Õ
$¶< Œ¼< acü> üà=* ' Access an entry by a key and its hash.Á¼–> ç¹Ï
 ç°Õ
¶Õ
ý¢ Ç> ý£Ö
®> ÔÖ
lƒ?
§
™ëŸë¿ð°Õ
$±> §$·> ŒÂ> >@üÇ@s ä¦@  Access an entry by hash.ÁLÎ@ ¹Ï
³Ø¶Õ
ýýøØ Ø@ è“"³Ø è™ëŒ¨A è³ØÚ
˜"$µA
§
™ëŸë¿ð³Ø$Û@ §$á@ ò‹Dì@ vxüîB ü¸B1 . Access an entry by hash, including its index.ÁtõB ¹Ï
³ØÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ™“ýýøØ „C é“"³Ø é™ëŒÛC 鳨íÜ
˜"$èC
ˆ §
™ëŸë¿ð³Ø$‡C §$C ò‹D˜C vxüÌEp üžE) & Access the index of an entry by hash.Á|ÓE ¹Ï
³Øµ˜ýýøØ ãE ê“"³Ø ê™ëŒªF ê³ØöÞ
˜"$·F
Š §
™ëŸë¿ð³Ø$æE §$ìE ò‹D÷E vxü£I* ü°GV ²Ë
‡H úü‹HZ W This `struct` is created by the [`IndexMap::raw_entry_mut_v1`] method, provided by theÁüæH< þÌ
”®I §
œŽ § ¤  Ž  Œ„ ÅI  ÈI ‘Î ËI ¬ˆôÔI »ˆ­Ï
Œ Œ ƒ]ØØD •…¸ÉÚ§
™ëŸë¿ðD •…¸ÉÚÁI ŽÔI ØŒ Œ Íðü÷I< 8뜧¤ëŒ„ üI  ÿI ‘Î ‚J æ Àc #%(*-/üºJ8 ½J ìíî ìæ í c cˆ¢cµ
 `£c®Ä `àB¤GS
îý¤ ÁJ 
8™ëŸë¿ð$ÂJ ± ÈJ üÃK1 §
˜ œ§š ¤š ˜ Œ„ ÌK  ÏK ‘Î ÒK îá
œ ž ¡ ÈK '),.13ü›L‰ ÜûK æÓ
D¢L ïîá
ï°Õ
£ ¨ © †$ª ˆ« ¬ £$­ ˆéö*(°TÓù§
™ëŸë¿ð¢   ¹L £Ö
«L ´Ö
\îL ÄÖ
$M ÔÖ
lM
œ §
™ëŸë¿ð°Õ
$®L Œ´L FHüÂN„ ü“N* ®Ö
¼ÉN ðîá
 ð°Õ
Ìç
¢Ÿ Ÿ  úN £Ö
áN ÔÖ
l¸O
ž §
™ëŸë¿ð°Õ
$äN §$êN ŒõN >@êO ž ªŒ  ÂŒ  ߌ    ž   ™ëŸë¿ð°Õ
 ™ë °Õ
ü±Pu äP ’Ø
L¸P îá
³ØÌç
¢ ¢ øØ ÂP ñ“"³Ø ñ™ëŒ”Q ñ³ØÛì
˜"$¡Q
¡ §
™ëŸë¿ð³Ø$ÅP §$ËP ò‹DÖP vxüÁU! üìTD A Raw entry for an existing key-value pair or a vacant location toÁ|±U insert one.Á\ÊU §
¤ œ¥ §¦ ¤§ ¤ ¦ § ¥ Œ„ ÚU  ÝU ‘Î àU ¬ˆ»ˆ­Ï
üƒi Ìç
éö*(°TÓù¨ © « ¬ © ª ¾ ¾ ›`Ã ß ØÄ Þ`جҰöá(§
™ëŸë¿ðÌç
¬ ­ ã ã –cè ØØé Þ`؆@“äQE´Š§
™ëŸë¿ðÌç
ÖU  üéU& £Œ£ £
© §
™ëŸë¿ðÙï
Ìç
£ £ ßñ
üV £ £ Ùï
üÄV/ У £
¬ §
™ëŸë¿ð¶ð
Ìç
£ £ ðò
ôÿV £ £ ¶ð
ü£WM 8òœ¯ §° ¤± ò± ¯ ° Œ„ ¨W  ·W ‘Î ÆW ª£T«W º£TºW ¬Ž² Àc² 358:=?ü÷W8 úW óôõ ó¬Ž ô c cˆ¢cµ
 `£c®Ä `àB¤GS
õý¤®  þW ®
² 8™ëŸë¿ð$ÿW ± …X üˆZ* §
´ œµ §¤· · µ ´ Œ„ ‘Z  ”Z ‘Î —Z Ìç
¸ ¹ º ¼ Z *,/146ä”[ ü¹ZH E Return the index where the key-value pair exists or may be inserted.Á,[ ö öÌç
³  ¡[ ³
¸ §
™ëŸë¿ð$¢[ ü‡^… üÃ\\ Y Inserts the given default key and value in the entry if it is vacant and returns mutableÁü¤]^ [ references to them. Otherwise mutable references to an already existent pair are returned.ÁLŽ^ Ìç
™ëŸëœÿ³ ³ še™ë$ï^ ´Ö
\€_
¹ §
™ëŸë¿ð$˜^  default_keyÁ\ž^ 
default_valueÁl®^ ü‘b“ üË`^ [ Inserts the result of the `call` function in the entry if it is vacant and returns mutableÁü®a^ šù
t˜b Ìç
³Øœÿ³ » » ³ øØ §b "³Ø”èb ³Ø˜"Ú®4ôb ³û
$‡c ´Ö
\˜c
º §
™ëŸë¿ð³Ø$ªb Ñ$°b giüËeY üe) ‰žTÒe Ìç
³ØÌç
³ ½ ½ ³ øØ Ýe ÷ø–"³Ø ÷™ë øŸë´f ÷ø³ØÅÿ
˜"
¼ §
™ëŸë¿ð³Ø$äe ± êe ƒü­h+ üÇg9 6 A raw view into an occupied entry in an [`IndexMap`].Áüh+ ( It is part of the [`RawEntryMut`] enum.Áœ¸h §
¿ œÀ §Á ¤  À ¿ Á Œ„ Ðh  Óh ‘Î Öh ¬ˆ»ˆ­Ï
„ Ùï
¬Ò°öá(Ã Ä Ìh MORTWYôßh ,ßh ؾ ¾ Õêì dƒi ؾ ¾ Õ–
Fu\»Ÿ §
¿ðü¨iU 8ùœÆ §Ç ¤È ùÇ È Æ Œ„ ­i  ¼i ‘Î Ëi ª£T°i º£T¿i ŒÉ ÀcÉ 358:=?ü„j8 ‡j úûü úŒ û c cˆ¢cµ
 `£c®Ä `àB¤GS
üý¤Å  ‹j Å
É 8™ëŸë¿ð$Œj ± ’j üék2 §
Ë œÌ §Í ¤Î Ë Í Î Ì Œ„ òk  õk ‘Î øk Ùï
Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â îk Z\_adfäßl ü¢l* “‘,æl ý ýÙï
Ê  ìl Ê
Ï §
™ëŸë¿ð$íl ¼ço ü¤m3 ¨’Üm úüäm] ñ’üÆn_ Ø“üªo8 Á”îo þ þÙï
þ™ëÊ  òo Ê
Ð §
™ëŸë¿ð$óo üðr# ü¥p; 8 Gets a mutable reference to the entry's key in the map.Áåp úüíp] ñ’üÏq_ Ø“ü³r8 Á”<÷r ÿ ÿÙï
 ÿ™ëÊ  ÿr Ê
Ñ §
™ëŸë¿ð$„s üÓv" üÎsD A Converts into a mutable reference to the entry's key in the map,Áü—t, ¹šÈt úüÐt] ñ’ü²u_ Ø“ü–v8 Á”DÚv Ùï
žÿÊ Ê
Ò §
™ëŸë¿ð$ãv ¼çw ü­w5 ï•îw  Ùï
ŸëÊ  òw Ê
Ó §
™ëŸë¿ð$ów üùy# ü¥x= ›—çx úüïxD î—ü¸y< 9 [`RawEntryMut`] value, see [`into_mut`][Self::into_mut].Á<€z  Ùï
 ŸëÊ  ˆz Ê
Ô §
™ëŸë¿ð$z üÃ{" üÇzF é™ü’{, ¹šDÊ{ Ùï
„œÊ Ê
Õ §
™ëŸë¿ð$Ó{ üÓ|' ü‘|= : Gets a reference to the entry's key and value in the map.ÁlÚ|  Ùï
 ™ë ŸëÊ  è| Ê
Ö §
™ëŸë¿ð$é| üñ}7 ü¯}= ‘‘ Œø} ƒ ƒÙï
 ƒ™ë ƒŸëÊ  Š~ Ê
× §
™ëŸë¿ð$~ üå9 üá~N K Converts into a mutable reference to the entry's key and value in the map,Áü´, ¹š”ì Ùï
œÿÊ Ê
Ø §
™ëŸë¿ð$ÿ üœ' üÔ€C @ Sets the value of the entry, and returns the entry's old value.Á4£  Ùï
ŸëŸëÊ  ª Ê
Ù §
™ëŸë¿ð » ü¶‚) üò? < Sets the key of the entry, and returns the entry's old key.ÁT½‚  Ùï
™ë™ëÊ  È‚ Ê
Ú §
™ëŸë¿ð$Í‚ ŒÓ‚ Ä· ü—ƒV òƒ úüúƒY ÷üØ„Y Úžü¶…V ½Ÿü‘†4  Õ üÞ†i üʆ 4Õ‡ Õ ,Ùï
ŸëÊ Ê
Û §
™ëŸë¿ð$܇ 씋 üˆV êˆ úüòˆ_ ¼¢üÖ‰8 ¥£ü“ŠG ç£ߊ úüçŠ( Ĥ\›‹ Ùï
ŸëÊ Ê
Ü §
™ëŸë¿ð$§‹ ôÚŽ üà‹V »Œ úüÃŒ] ߥü¥= Ʀüç9 §¥Ž úü­Ž( ܧdᎠÙï
ŸëÊ Ê
Ý §
™ëŸë¿ð$îŽ üý“# ü¨J Þ¨÷ úüÿV ¾©üÚ[ žªüº‘_ ƒ«üž’D ì«´¬üû’{ üç’ d„” ´¬-Ùï
Ú®Ê Ê
Þ §
™ëŸë¿ð$‘” üÈ—( üÏ”J Þ¨ž• úü¦•_ ¼¢üŠ–8 ¥£üÇ–G 磓— úü›—( ĤŒÏ— Ùï
Ú®Ê Ê
ß §
™ëŸë¿ð$á— ü“›) ü¥˜J Þ¨ô˜ úüü˜] ߥüÞ™= Ʀü š9 §Þš úüæš( ܧ”š› Ùï
Ú®Ê Ê
à §
™ëŸë¿ð$­› ü§ " üò›2 رü©œ- ”²Ûœ úüãœ2 / This is equivalent to [`IndexMap::move_index`]Áüš8 ²³× úüß_ €´üÞ_ é´§Ÿ úü¯Ÿ* ÞµÞŸ úüæŸ( ܧ²|“  T® Ùï
Ê Ê
á §
™ëŸë¿ð$¹  ö¶¿  üΣ' üú - Ž·¬¡ úü´¡4 1 This is equivalent to [`IndexMap::swap_indices`]Áüí¡O °¸Á¢ úüÉ¢7 •¹…£ úü£( Ĥ²|º£ dÕ£Ùï
Ê Ê
â §
™ëŸë¿ð$⣠¹
,è£ üŒ¥) ü©¤6 3 A view into a vacant raw entry in an [`IndexMap`].Áüà¤+ Ž€ Œ—¥ §
ä œå §æ ¤ç å ç æ ä Œ„ ­¥  °¥ ‘Î ³¥ ¬ˆ¼¼¥ »ˆ ­Ï
œÙ¥ ¶ð
†@“äQE´Šè é ©¥ RTVXZ\^¼¥ Øã ã È…jdÙ¥ Øã ã Øƒ üñ¥; 8œë §ì ¤í ì ë í Œ„ ö¥  ù¥ ‘Î ü¥ Þî Àcî &(*,.0ü³¦8 ¶¦ ˆ Þ ˆ c cˆ¢cµ
 `£c®Ä `àB¤GS
ý¤ê  º¦ ê
î 8™ëŸë¿ð$»¦ ± Á¦ ü»§0 §
ð œñ §ò ¤ó ò ð ñ ó Œ„ ħ  ǧ ‘Î ʧ ¶ð
ô õ ö ÷ ø À§ 13579;䳨 üò§< ½Â,º¨ Ржð
ï  À¨ ï
ô §
™ëŸë¿ð$Á¨ üÚ©r üô¨1 . Inserts the given key and value into the map,Áüª©+ ( and returns mutable references to them.Á4á© ¶ð
™ëŸëœÿï ï ³û
$¯ª ´Ö
\˻
õ §
™ëŸë¿ð$è© Œî© »,ö© ü¿¬Y ü«H E Inserts the given key and value into the map with the provided hash,Áü¬+ Ю ¬Æ¬ ¶ð
™ëŸëœÿï ï
ö §
™ëŸë¿ð$ܬ §$⬠Œí¬ »,õ¬ ü¥° ü‹®D A Inserts the given key and value into the map at the given index,ÁüÔ®I F shifting others to the right, and returns mutable references to them.Á¢¯ úüª¯- ’Ûܯ úüä¯( ܧ²|‘° d¬°¶ð
™ëŸëœÿï ï ³û
$ޱ ´Ö
\ٱ
÷ §
™ëŸë¿ð$¹° Ö,¿° ŒͰ »,Õ° üÁ´œ ü®²G D Inserts the given key and value into the map with the provided hashÁüú²? < at the given index, and returns mutable references to them.Á¾³ úüƳ- ’Ûø³ úü€´( ܧ²|­´ ÜÈ´¶ð
™ëŸëœÿï ï
ø §
™ëŸë¿ð$í´ Ö,û´ §$‘µ Œ¤µ »,´µ dÛ¶ 4á¶ Øù ù ²»|Û¶ ù ²»²»üì¶* œû §ü ¤ý ü û ý ãá ñ¶ óá ô¶ ŽÓ ÷¶ ßð!#%¦[ª[œ[ [[š[‰[[€[„[v[z[l[p[b[f[X[\[N[R[D[H[:[>[0[4[&[*[[ [[[ô¹ [Ôá[ü…!ùZ”°ïZŒˆäZ×Zœ´ÊZ¼Z°Z´Z£Z§ZL†ZLtZxZ^ZbZPZTZ´ØFZ”õ9Z\,Z0ZZ#ZZZZ ZöYúYèYìYÄYÈYüþ*üŠ PM A hash table where the iteration order of the key-value pairs is independentÁüÛ # of the hash values of the keys.Áÿ úüƒ
96 The interface is closely compatible with the standardÁü½
+( [`HashMap`][std::collections::HashMap],Áüé
%" but also has additional features.Á ú\“  # OrderÁŸ úü£ EB The key-value pairs have a consistent order that is determined byÁüé JG the sequence of insertion and removal calls on the map. The order doesÁü´ 74 not depend on the keys or the hash function at all.Áì úüð 2/ All iterators traverse the map in *the order*.Á£
úü§
JG The insertion order is preserved, with **notable exceptions** like theÁüò
QN [`.remove()`][Self::remove] or [`.swap_remove()`][Self::swap_remove] methods.ÁüÄ41 Methods such as [`.sort_by()`][Self::sort_by] ofÁüùA> course result in a new order, depending on the sorting order.Á»úl¿
# IndicesÁÍúüÑKH The key-value pairs are indexed in a compact range without holes in theÁüKH range `0..self.len()`. For example, the method `.get_full` looks up theÁüéOL index for a key, and the method `.get_index` looks up the key-value pair byÁ index.ÁÄúγ×úùîÜãþ³ÿúüƒ85 // count the frequency of each letter in a sentence.Áü¼&# let mut letters = IndexMap::new();Áüã30 for ch in "a short treatise on fungi".chars() {Áü—-* *letters.entry(ch).or_insert(0) += 1;ÁìµËúüÏ! assert_eq!(letters[&'s'], 2);Áüñ! assert_eq!(letters[&'t'], 3);Áü“! assert_eq!(letters[&'u'], 1);Áüµ(% assert_eq!(letters.get(&'y'), None);Áùî»À¼æD‰œ­
§®
¤¯
­
¯
®
ãá óá ŽÓßðøÃx¶*Ó°
±
0257: ˜¦’ܯ¬
¬
Ðì¬
¬
 ñüØYœ³
§´
¤µ
´
³
µ
ãá Ýóá àŽÓ ãŽþ,žþ,Ø ñßð
·
ÙÚ·
NPSUXZ¼¸ ßðßð²
 Á²
ˆíŽí ñüÔ&T׌ Œßð ßð²
 â²
·
ˆíŽí ñ¹
üìZœ¹
§º
¤»
¹
»
º
ãá ñóá ôŽÓ ÷Žžßð¼
Àc¼
358:=?üõ8»
test_debugÁ´×ÄÖüÍ#øŽ Žßð  c cˆ¢cµ
 `£c®Ä `àB¤GS
ý¤¸
 ü¸
¼
ˆíŽí ñ± ƒ̶»À¼ïœ¾
§¿
¾
¿
ãá »óá ¾å‘À
Á
¤“üÖ*' Create a new map. (Does not allocate.)Ášå‘½
½
À
ˆíŽíüù &üÔEB Create a new map with capacity for `n` key-value pairs. (Does notÁìž  allocate if `n` is zero.)ÁÀ úôÈ  Computes in **O(n)** time.Ál€!命
½
Á
ˆíŽí¹ Ž!üå!œÃ
§Ä
¤Å
Ã
Ä
Å
ãá ê!óá í!ŽÓ ð!ßðÆ
Ç
È
É
Ê
Ë
Í
Î
Ï
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
×
Ø
Ù
Ú
Ü
ß
à
á
â
ã
ä
å
lnqsvxü°#Bü‹"E÷Ó ìÕ"ÅÔ ÷"úôÿ"÷Ô Ä·# ñßðÂ
Â
Æ
ˆíŽí ñ¹ Ð#Þ`dÚ#üÖ&1üÌ%)& Create a new map with `hash_builder`.Áú%úü‚&# This function is `const`, so itÁüª&'$ can be called in `static` contexts.Á\ã& ñßðÂ
Â
Ç
ˆíŽí ñÞ`êÊüù'5d‡(ßð›ÅÂ
Â
È
ˆíŽí ñ$”(üë(2Tù( ßð ¡ÇÂ
 „)Â
É
ˆíŽí ñ$…)üØ)>tæ) ßð ¡ÇÂ
 õ)Â
Ê
ˆíŽí ñ$ú)üÇ*`dÕ* ßðâÿÂ
Ì
Ì
 å*Â
û‹ â*–"âÿ ¡ÇÜ‹+âÿÖÞ ˜"
Ë
ˆíŽí ñâÿ$ê*± ð*fhüç-üÜ+HE Return the number of elements the map can hold without reallocating.Á©,úü±,EB This number is a lower bound; the map might be able to hold more,Áüû,<9 but is guaranteed to be able to hold at least this many.Á¼-úôÄ-ÄÀDî- ßðÂ
 ÷-Â
Í
ˆíŽí ñ$ø-Ôè.ü±.2/ Return a reference to the map's `BuildHasher`.Á4ï. ßð  ñÂ
 ö.Â
Î
ˆíŽí ñ$÷.Ô0ü«/41 Return the number of key-value pairs in the map.Áä/úôì/ÄÀ¤0 ßðÂ
 ¨0Â
Ï
ˆíŽí ñ$©0ôÌ1üÝ01. Returns true if the map contains no elements.Á“1úô›1ÄÀDÓ1˜ ˜ßðÂ
 Ü1Â
Ð
ˆíŽí ñ$Ý1üß2$ü2J®Â$æ2 ßðƒƒš+ùÖ…ä1dÿ·‘ˆíŽíÂ
 ë2Â
Ñ
ˆíŽí ñ$ì2ü…4/ü¶3J®ÂDŒ4š šßð©©½-­ùÖ²žÄÿ„šˆíŽíÂ
 •4Â
Ò
ˆíŽí ñ$š4ü²5$üî4?< Return an iterator over the keys of the map, in their orderÁ$¹5 ß𨨋5¬ùÖ>·£;ñ› ˆíŽíÂ
 ¾5Â
Ó
ˆíŽí ñ$¿5üÔ6(ü‰6FC Return an owning iterator over the keys of the map, in their orderÁLÛ6ßðƒùÂ
Â
Ô
ˆíŽí ñ$å6üû7(üµ7A> Return an iterator over the values of the map, in their orderÁ48œ œßðööÌ9úùÖî¹ú‡$!œˆíŽíÂ
 ‰8Â
Õ
ˆíŽí ñ$Š8ü¼93üØ8HE Return an iterator over mutable references to the values of the map,Á”¥9 in their orderÁTÃ9 ßðá;ŸùÖ†¦"KPyˆíŽíÂ
 Î9Â
Ö
ˆíŽí ñ$Ó9üø:,ü«:HE Return an owning iterator over the values of the map, in their orderÁ\ÿ:ßðïüÂ
Â
×
ˆíŽí ñ$‹;¼Ø<üß;IF Remove all key-value pairs in the map, while preserving its capacity.Á­<úôµ<÷Ô ,ß<ž žßðÂ
 å<Â
Ø
ˆíŽí ñ$ê<üÁ>&ü˜=MJ Shortens the map, keeping the first `len` elements and dropping the rest.Áê=úüò=JG If `len` is greater than the map's current length, this has no effect.ÁDÈ>Ÿ ŸßðÂ
 Ñ>Â
Ù
ˆíŽí ñ$Ö>Ü>üÏD`ü–?C@ Clears the `IndexMap` in the given index range, returning thoseÁüÞ?(% key-value pairs as a drain iterator.Á@úü“@EB The range may be any type that implements [`RangeBounds<usize>`],ÁüÝ@JG including all of the `std::ops::Range*` types, or even a tuple pair ofÁü¬ALI `Bound` start and end values. To drain the map entirely, use `RangeFull`ÁÌýA like `map.drain(..)`.ÁBúü£BHE This shifts down all entries following the drained range to fill theÁüðB2/ gap, and keeps the allocated memory for reuse.Á§Cúü¯CJG ***Panics*** if the starting point is greater than the end point or ifÁüþC85 the end point is greater than the length of the map.Á²|»D,ÖD   ßð£°3ùÖ2Krb~ ˆíŽíÂ
£Û
Û
 ßDÂ
ÍìÆû ÜD¤#Æû ”œE
Ú
ˆíŽí ñÆû $äD˜ã,êD<>ü¶TžüìEZW Creates an iterator which uses a closure to determine if an element should be removed,ÁüËF(% for all elements in the given range.ÁøFúü€GQN If the closure returns true, the element is removed from the map and yielded.ÁüÖG[X If the closure returns false, or panics, the element remains in the map and will not beÁd¶H yielded.ÁÇHúüÏH[X Note that `extract_if` lets you mutate every value in the filter closure, regardless ofÁü¯I,) whether you choose to keep or remove it.ÁàIúüèIEÃõ ü²JJ’ö üKJG `Bound` start and end values. To check the entire map, use `RangeFull`ÁüÐK)& like `map.extract_if(.., predicate)`.ÁþKúü†L^[ If the returned `ExtractIf` is not exhausted, e.g. because it is dropped without iteratingÁüéLRO or the iteration short-circuits, then the remaining elements will be retained.ÁüÀMUR Use [`retain`] with a negated predicate if you do not need the returned iterator.ÁšNúü¢N  [`retain`]: IndexMap::retainÁÇNúüÏNJ„ù üžO8Øù ÛOútãOγöOúüþOEB Splitting a map into even and odd keys, reusing the original map:ÁÈPú<ÐPùîÜÜPþ³üPúü„QGD let mut map: IndexMap<i32, i32> = (0..8).map(|x| (x, x)).collect();ÁüÐQYV let extracted: IndexMap<i32, i32> = map.extract_if(.., |k, _v| k % 2 == 0).collect();Á®Rúü¶R>; let evens = extracted.keys().copied().collect::<Vec<_>>();ÁüùR74 let odds = map.keys().copied().collect::<Vec<_>>();ÁµSúü½S(% assert_eq!(evens, vec![0, 2, 4, 6]);ÁüêS'$ assert_eq!(odds, vec![1, 3, 5, 7]);Á<Tùî²|¢TT½T£ £ßðó¥âÿ²Cœß ÖëCÖ}GB×ò磈íŽíâÿÂ
Ý
£Þ
Þ
Ý
 ÎTÂ
û‹ ÈTï¦ ËT¡¢“"âÿ ¡ˆí ¢ŽíÌ›U¡¢âÿ³Œ ˜"$°U§”ÁU
Ü
ˆíŽí ñâÿó¥$ÓT˜ã,ÙTëC$ãT ¢üûXJüšV63 Splits the collection into two at the given index.ÁÕVúüÝVFC Returns a newly allocated map containing the elements in the rangeÁü¨WIF `[at, len)`. After the call, the original map will be left containingÁüöW@= the elements `[0, at)` with its previous capacity unchanged.Á»XúüÃX ***Panics*** if `at > len`.Á²|çXLY¤ ¤ßðßðÂ
 ŒYÂ
ÍÍ ,¿Y
ß
ˆíŽí ñ$‘Y¾Œ—Yü»[,üÐZ;8 Reserve capacity for `additional` more key-value pairs.Á[úô˜[÷Ô <Â[¥ ¥ßðÂ
 Ê[Â
à
ˆíŽí ñ$Ï[ÅTÕ[üƒ`2üœ\TQ Reserve capacity for `additional` more key-value pairs, without over-allocating.Áõ\úüý\ZW Unlike `reserve`, this does not deliberately over-allocate the entry capacity to avoidÁüÜ]\Y frequent re-allocations. However, the underlying data structures may still have internalÁü½^_\ capacity requirements, and the allocator itself may give more space than requested, so thisÁü¡_2/ cannot be relied upon to be precisely minimal.ÁØ_úôà_÷Ô lŠ`¦ ¦ßðÂ
 ˜`Â
á
ˆíŽí ñ$`ÅT£`üâaOüð`B? Try to reserve capacity for `additional` more key-value pairs.Á·aúô¿a÷Ô \éa§ §ßðõ’Â
 õaÂ
â
ˆíŽí ñ$úaÅT€büÛfUüéb[X Try to reserve capacity for `additional` more key-value pairs, without over-allocating.ÁÉcúüÑc^[ Unlike `try_reserve`, this does not deliberately over-allocate the entry capacity to avoidÁü´d\Ü“ ü•e_” üùe2«• °fúô¸f÷Ô Œâf¨ ¨ßðõ’Â
 ôfÂ
ã
ˆíŽí ñ$ùfÅTÿfüÕhüîg74 Shrink the capacity of the map as much as possible.Áªhúô²h÷Ô lÜh© ©ßðÂ
 êhÂ
ä
ˆíŽí ñ$ïhüˆj0ü¢i63 Shrink the capacity of the map with a lower limit.ÁÝiúôåi÷Ô Ljª ªßðÂ
 ™jÂ
å
ˆíŽí ñ$žj´•d¤jüïjKœç
§è
¤é
ç
è
é
ãá ôjóá ÷jŽÓ újŒ÷ $œk잣k¦Ê\®kßðê
ë
ì
í
ð
ó
ô
õ
ö
÷
ú
QSVX[]üíp7üÁk'$ Insert a key-value pair in the map.ÁíkúüõkGD If an equivalent key already exists in the map: the key remains andÁüÁlIF retains in its place in the order, its corresponding value is updatedÁümC@ with `value`, and the older value is returned inside `Some(_)`.Á×múüßmFC If no equivalent key existed in the map: the new key-value pair isÁüªn41 inserted, last in order, and `None` is returned.Áãnúüën2¨È¢oúüªoFC See also [`entry`][Self::entry] if you want to insert *or* modify,ÁüõoIF or [`insert_full`][Self::insert_full] if you need to get the index ofÁüÃp%" the corresponding key-value pair.Á4ôp« «ßðˆíŽíŽžæ
 ûpæ
ê
ˆíŽí ñ$€qŒ†q»,Žqü´vEüÙq<9 Insert a key-value pair in the map, and get their index.Ášrúü¢rGÆ  üîrI—¡ ü¼sLI with `value`, and the older value is returned inside `(index, Some(_))`.Átúü•tFâ üàt=: inserted, last in order, and `(index, None)` is returned.Á¢uúüªu2¨ÈáuúüéuFC See also [`entry`][Self::entry] if you want to insert *or* modify.Á\»v¬ ¬ßðˆíŽíŠžæ
 Çvæ
ë
ˆíŽí ñ$ÌvŒÒv»,ÚvüÍ€aüÛwQN Insert a key-value pair in the map at its ordered position among sorted keys.Á±xúü¹x30 This is equivalent to finding the position withÁüñxJG [`binary_search_keys`][Self::binary_search_keys], then either updatingÁüÀyGD it or calling [`insert_before`][Self::insert_before] for a new key.ÁŒzúü”zEB If the sorted key is found in the map, its corresponding value isÁüÞz@= updated with `value`, and the older value is returned insideÁü£{HE `(index, Some(_))`. Otherwise, the new key-value pair is inserted atÁüð{96 the sorted position, and `(index, None)` is returned.Á®|úü¶|GñÌü‚}KÂÍüÒ}=: pair is moved to or inserted at that position regardless.Á”~úüœ~FC Computes in **O(n)** time (average). Instead of repeating calls toÁüç~NK `insert_sorted`, it may be faster to call batched [`insert`][Self::insert]ÁüºLI or [`extend`][Self::extend] and only call [`sort_keys`][Self::sort_keys]Áü‹€=: or [`sort_unstable_keys`][Self::sort_unstable_keys] once.ÁlÔ€­ ­ßðˆíŽíŠžæ
 â€æ
ž¯ ª
ì
ˆíŽí ñ$瀌퀻,õ€üƇüô‚IF Insert a key-value pair in the map at its ordered position among keysÁ¤Âƒ sorted by `cmp`.ÁÛƒúüãƒ3À« ü›„>; [`binary_search_by`][Self::binary_search_by], then callingÁüÞ„HE [`insert_before`][Self::insert_before] with the given key and value.Á«…úü³…GñÌüÿ…KÂÍüφ=„° ‘‡úü™‡(ܧ„͇² ²ßðˆíŽíâÿŠžæ
î
î
 á‡æ
û‹ Þ‡®¯°±“"âÿ ®ˆí ¯Ží °ˆí ±Žíüµˆ!®¯°±âÿ§¹ ˜"üÓDΈ
í
ˆíŽí ñâÿ$懌쇻,ô‡‚ˆÆÈ4“‰í
ªŒï
ÂŒï
ߌï
ï
í
ï
ˆíŽí ñâÿ§° •Ö¬Õ²ÕüâŽÅüé‰>; Insert a key-value pair in the map at its ordered positionÁü¬Š)& using a sort-key extraction function.ÁÚŠúüâŠ3À« üš‹SP [`binary_search_by_key`][Self::binary_search_by_key] with `sort_key(key)`, thenÁüò‹PM calling [`insert_before`][Self::insert_before] with the given key and value.ÁÇŒúüÏŒGñÌü›KÂÍüë=„° ­ŽúüµŽ(ܧ¤é޵ µßðˆíŽí³ØŠžæ
ñ
ò
ò
ñ
 æ
åØ þŽøØ ‰Ù³´“"³Ø ³ˆí ´Ží””³´³ØÀ ˜"íØ ¥
ð
ˆíŽí ñíØ³Ø$’Œ »›Ù®°²´üµ¤Yüå‘ZW Insert a key-value pair in the map before the entry at the given index, or at the end.ÁÄ’úüÌ’GÆ  ü˜“OL is moved to the new position in the map, its corresponding value is updatedÁüì“VS with `value`, and the older value is returned inside `Some(_)`. The returned indexÁüÇ”QN will either be the given index or one less, depending on how the entry moved.ÁüKH (See [`shift_insert`](Self::shift_insert) for different behavior here.)Áí•úüõ•Fâ üÀ–@= inserted exactly at the given index, and `None` is returned.Á…—úü-’Ûü¿—2/ Valid indices are `0..=map.len()` (inclusive).Áö—úüþ—(ܧ«˜úü³˜F÷£ üþ˜TQ perhaps only using the index for new entries with [`VacantEntry::shift_insert`].Á×™útß™γò™ú<ú™ùî܆šþ³ü¦šMJ let mut map: IndexMap<char, ()> = ('a'..='z').map(|c| (c, ())).collect();Áøšúü€›74 // The new key '*' goes exactly at the given index.Áü¼›-* assert_eq!(map.get_index_of(&'*'), None);Áüî›;8 assert_eq!(map.insert_before(10, '*', ()), (10, None));Áü®œ1. assert_eq!(map.get_index_of(&'*'), Some(10));ÁäœúüìœZW // Moving the key 'a' up will shift others down, so this moves *before* 10 to index 9.ÁüË>; assert_eq!(map.insert_before(10, 'a', ()), (9, Some(())));ÁüŽž0- assert_eq!(map.get_index_of(&'a'), Some(9));ÁüÞ1øÉ ùžúüŸQN // Moving the key 'z' down will shift others up, so this moves to exactly 10.Áüן?< assert_eq!(map.insert_before(10, 'z', ()), (10, Some(())));Áü› 1. assert_eq!(map.get_index_of(&'z'), Some(10));ÁüÑ 1. assert_eq!(map.get_index_of(&'*'), Some(11));Á‡¡úü¡=: // Moving or inserting before the endpoint is also valid.ÁôÑ¡ assert_eq!(map.len(), 27);Áüô¡FC assert_eq!(map.insert_before(map.len(), '*', ()), (26, Some(())));Áü¿¢1. assert_eq!(map.get_index_of(&'*'), Some(26));Áüõ¢B? assert_eq!(map.insert_before(map.len(), '+', ()), (27, None));Áü¼£1. assert_eq!(map.get_index_of(&'+'), Some(27));Áôò£ assert_eq!(map.len(), 28);Á<•¤ùî²|¡¤l¼¤ ßðˆíŽíŠžæ
 ʤæ
ó
ˆíŽí ñ$ϤÖ,Ù¤Œç¤»,ï¤üÁKüˆ¬:7 Insert a key-value pair in the map at the given index.ÁǬúüϬGÆ  ü›­NK is moved to the given index in the map, its corresponding value is updatedÁüî­Cê¡ ü¶®KH Note that existing entries **cannot** be moved to `index == map.len()`!Áü†¯MJ (See [`insert_before`](Self::insert_before) for different behavior here.)Áدúüà¯Fâ ü«°85 inserted at the given index, and `None` is returned.Áè°úüð°-’Ûü¢±RO Valid indices are `0..map.len()` (exclusive) when moving an existing entry, orÁüù±96 `0..=map.len()` (inclusive) when inserting a new key.Á·²úü¿²(ܧì²úüô²F÷£ ü¿³T°Æ ˜´út ´γ³´ú<»´ùîÜÇ´þ³üç´MÓÇ ¹µúüÁµ7¸È üýµ-úÈ ü¯¶41 assert_eq!(map.shift_insert(10, '*', ()), None);Áüè¶1øÉ ž·úü¦·\Y // Moving the key 'a' up to 10 will shift others down, including the '*' that was at 10.Áü‡¸85 assert_eq!(map.shift_insert(10, 'a', ()), Some(()));Áüĸ1. assert_eq!(map.get_index_of(&'a'), Some(10));Áüú¸0- assert_eq!(map.get_index_of(&'*'), Some(9));Á¯¹úü·¹ZW // Moving the key 'z' down to 9 will shift others up, including the '*' that was at 9.Áü–º74 assert_eq!(map.shift_insert(9, 'z', ()), Some(()));ÁüÒº0- assert_eq!(map.get_index_of(&'z'), Some(9));Áü‡»1øÉ ½»úüÅ»XU // Existing keys can move to len-1 at most, but new keys can insert at the endpoint.Áô¢¼¸Ï üżC@ assert_eq!(map.shift_insert(map.len() - 1, '*', ()), Some(()));Áü½1²Ð üý;8 assert_eq!(map.shift_insert(map.len(), '+', ()), None);Áüƒ¾1»Ñ ô¹¾öÑ <ܾùîè¾úœð¾¸½܈¿þ³ü¨¿MÓÇ ú¿úü‚À;8 // This is an invalid index for moving an existing key!ÁüÂÀ)& map.shift_insert(map.len(), 'a', ());Á<ðÀùî²|üÀd—Á· ·ßðˆíŽíŽžæ
 ¤Áæ
ô
ˆíŽí ñ$©ÁÖ,¯ÁŒ½Á»,ÅÁüŽÍNüÇÇHE Replaces the key at the given index. The new key does not need to beÁü”ÈLI equivalent to the one it is replacing, but it must be unique to the restÁ|åÈ of the map.ÁùÈúüÉKH Returns `Ok(old_key)` if successful, or `Err((other_index, key))` if anÁüÑÉGD equivalent key already exists at a different index. The map will beÁüÊ  unchanged in the error case.ÁÂÊúüÊÊIF Direct indexing can be used to change the corresponding value: simplyÁü˜ËFC `map[index] = value`, or `mem::replace(&mut map[index], value)` toÁüãË# retrieve the old value as well.Á‹Ìúü“Ì-’ÛÅÌúüÍÌ(Ĥ²|úÌl•͸ ¸ßðˆíÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆíˆíæ
 £Íæ
õ
ˆíŽí ñ$¨ÍÖ,®ÍŒ¼ÍüêÒ2ü¼ÑKH Get the given key's corresponding entry in the map for insertion and/orÁÔŒÒ in-place manipulation.Á«Òúü³Ò2¨È,ñÒ¹ ¹ßðˆíŒ†$ˆ£$ˆA'YНy!¹ˆíŽíæ
 ÷Òæ
ö
ˆíŽí ñ$üÒŒ‚Óüáß®üüÓLI Creates a splicing iterator that replaces the specified range in the mapÁüÍÔKH with the given `replace_with` key-value iterator and yields the removedÁüÕIF items. `replace_with` does not need to be the same length as `range`.ÁëÕúüóÕIF The `range` is removed even if the iterator is not consumed until theÁüÁÖLI end. It is unspecified how many elements are removed from the map if theÁì’× `Splice` value is leaked.Á´×úü¼×HE The input iterator `replace_with` is only consumed when the `Splice`Áü‰ØJG value is dropped. If a key from the iterator matches an existing entryÁüØØKH in the map (outside of `range`), then the value will be updated in thatÁü¨ÙGD position. Otherwise, the new key-value pair will be inserted in theÁ¬ôÙ replaced `range`.ÁŽÚúü–ÚJ„ù üåÚ8Øù ¢ÛútªÛγ½Ûú<ÅÛùîÜÑÛþ³ñÛúüùÛUR let mut map = IndexMap::from([(0, '_'), (1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]);ÁüÓÜA> let new = [(5, 'E'), (4, 'D'), (3, 'C'), (2, 'B'), (1, 'A')];Áü™Ý:7 let removed: Vec<_> = map.splice(2..4, new).collect();ÁØÝúüàÝEB // 1 and 4 got new values, while 5, 3, and 2 were newly inserted.ÁüªÞ^[ assert!(map.into_iter().eq([(0, '_'), (1, 'A'), (5, 'E'), (3, 'C'), (2, 'B'), (4, 'D')]));Áüß/, assert_eq!(removed, &[(2, 'b'), (3, 'c')]);Á<Áßùî²|Íß4èߺ ºßðÆû šààç?æØÖç¥@ÖèŒÖé¹@Ö6õ•Â\¶º¾û ÉLˆíŽí ñæ
£ø
šù
ø
ù
 õßæ
®ü ïßÍì¾û òß¿ü ”ÔàÇL¾û Üóà¾û ÈLã„l€á
÷
ˆíŽí ñÆû ¾û $úߘã,€à¹@dŠày{tvüíè<üÜáNK Moves all key-value pairs from `other` into `self`, leaving `other` empty.Á¯âúü·âC@ This is equivalent to calling [`insert`][Self::insert] for eachÁüÿâHE key-value pair from `other` in order, which means that for keys thatÁüÌãLI already exist in `self`, their value is updated in the current position.Áäút¥äγ¸äú<ÀäùîÜÌäþ³ìäúüôä-* // Note: Key (3) is present in both maps.Áü¦å?< let mut a = IndexMap::from([(3, "c"), (2, "b"), (1, "a")]);Áüêå?< let mut b = IndexMap::from([(3, "d"), (4, "e"), (5, "f")]);Áü®æ$! let old_capacity = b.capacity();Á׿ú¬ßæ a.append(&mut b);ÁùæúÜç assert_eq!(a.len(), 5);ÁÜ¡ç assert_eq!(b.len(), 0);ÁüÁç+( assert_eq!(b.capacity(), old_capacity);Áñçúüùç+( assert!(a.keys().eq(&[3, 2, 1, 4, 5]));Áü©è30 assert_eq!(a[&3], "d"); // "c" was overwritten.Á<áèùî4ô軼 »ß𠼬
¬
  °
í±
Þ`øÃx¶*ÓˆíŽí´œæ
Álû
û
 ÿèæ
Íì´œûè
ú
ˆíŽí ñ´œ$„é¹
,Šé+-üÛé9œý
§þ
¤ÿ
þ
ý
ÿ
ãá àéóá ãéŽÓ æé¦Ê\ˆêßð ˆ Š Œ Ž š œ ž   ¢ ¤ ¦ ¨ Z\^`bdü›êA$©ê½¾ ½ß𠾜‘ùªü
¢   Àêü
Í ®ê®Í$ºê
ˆíŽí ñœ‘$ÁêŒÇê46ü±ìbü¹ë>; Return `true` if an equivalent to `key` exists in the map.Áüëúü„ì(Ĥd¸ì¿À ¿ßð Àœ‘ü
¢ƒ ƒ  Èìü
Í Åì®Í$þì¾Íl…í
ˆíŽí ñœ‘$ÉìŒÏì=?üäî_üÎíGD Return a reference to the stored value for `key`, if it is present,Á„šî
else `None`.Á¯îúü·î(ĤëîÁ Áß𠜑ۼݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ÁŽíü
¢   òîü
Í ïî®Í$®ï¾Ílµï
ˆíŽí ñœ‘$óîŒùî=?üªòoüñHE Return references to the stored key-value pair for the lookup `key`,ÁüÎñ" if it is present, else `None`.Áõñúüýñ(Ĥl±òÃÄ Ãßð Äœ‘Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠Èí ÃŽíü
¢   Âòü
Í ¿ò®Í$„ó¾Íl‹ó
ˆíŽí ñœ‘$ÃòŒÉò=?üöqüåôIF Return the index with references to the stored key-value pair for theÁü³õ0- lookup `key`, if it is present, else `None`.Áèõúüðõ(ĤD¤öÅÆ Åßð Æœ‘Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠ňí ÅŽíü
¢   °öü
Í ­ö®Í$ùö¾Íl€÷
ˆ ˆíŽí ñœ‘$±öŒ·ö=?üÚùküÝøC@ Return the item index for `key`, if it is present, else `None`.Á¥ùúü­ù(ĤdáùÇÈ Çßð Èœ‘µ˜ü
¢   ñùü
Í îù®Í$°ú¾Íl·ú
Š ˆíŽí ñœ‘$òùŒøù=?üïýküÑü=: Return a mutable reference to the stored value for `key`,Áü“ý"ý
ºýúüÂý(Ĥ<öýÉÊ Éßð Êœ‘Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ÉŽíü
¢   þü
Í þý®Í$Åþ¾ÍlÌþ
Œ ˆíŽí ñœ‘$†þŒŒþ=?üå{ü¤€JG Return a reference and mutable references to the stored key-value pairÁüó€85 for the lookup `key`, if it is present, else `None`.Á°úü¸(ĤŒìËÌ Ëßð Ìœ‘Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠ˈí ËŽíü
¢   ü
Í þ®Í$Ë‚¾ÍlÒ‚
Ž ˆíŽí ñœ‘$†‚ŒŒ‚=?ü‡†}ü¸„IF Return the index with a reference and mutable reference to the storedÁü†…GD key-value pair for the lookup `key`, if it is present, else `None`.ÁÒ…úüÚ…(ĤdކÍÎ Íßð Μ‘Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠͈í ÍŽíü
¢   ž†ü
Í ›†®Í$Ílö†
ˆíŽí ñœ‘$£†Œ©†=?ü³‹ü߈# Return the values for `N` keys.Á‡‰úü*' ***Panics*** if any key is duplicated.Á¾‰útƉγÙ‰ú<á‰ùîüí‰KH let mut map = indexmap::IndexMap::from([(1, 'a'), (3, 'b'), (2, 'c')]);Áü½ŠQN assert_eq!(map.get_disjoint_mut([&2, &1]), [Some(&mut 'c'), Some(&mut 'a')]);Á<“‹ùî²|Ÿ‹„º‹ÏÐ Ïßð М‘ŸÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ÏŽíŸü
¢ Ÿ    Þ‹ü
Í Ë‹˜ì t΋®Í$­Œ¾Íl´Œ
ˆíŽí ñœ‘Ÿ$㋾O$é‹LNP Ô‹,èŒ ªŒ ÂŒ ߌ    ˆíŽí ñœ‘Ÿ œ‘µ˜ ß𠪌˜ ÂŒ˜ ߌ˜ ˜  ˜ ˆíŽí ñœ‘ŸôÚÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ÷Ù ªŒ ÂŒ ߌ    ˆíŽí ñœ‘ŸòÙ÷Ùü¼•eü†‘<9 Remove the key-value pair equivalent to `key` and returnÁtÇ‘ its value.ÁÚ‘úüâ‘\Y **NOTE:** This is equivalent to [`.swap_remove(key)`][Self::swap_remove], replacing thisÁüÃ’YÚžü¡“V½Ÿüü“74 [`.shift_remove(key)`][Self::shift_remove] instead.ÁÕ üÌ”iü¸”4ÕÕ ,ÑÒ Ñßð Òœ‘Žžü
¢   Í•ü
Í Ê•®Í$Œ–¾Íl“–
š ˆíŽí ñœ‘$Ò•ŒØ•=?üŸ›püÑ–=: Remove and return the key-value pair equivalent to `key`.Á“—úü›—YV **NOTE:** This is equivalent to [`.swap_remove_entry(key)`][Self::swap_remove_entry],Áüù—[žªüÙ˜_ƒ«ü½™GD use [`.shift_remove_entry(key)`][Self::shift_remove_entry] instead.Á´¬üš{ü‰šd¦›´¬-ÓÔ Óßð Ôœ‘ú–ü
¢   ¶›ü
Í ³›®Í$ú›¾Ílœ
œ ˆíŽí ñœ‘$»›ŒÁ›=?üÛŸjüÅœ<¬
t†Ǭ
úü¡JG Like [`Vec::swap_remove`], the pair is removed by swapping it with theÁüð?< last element of the map and popping it off. **This perturbsÁü´ž74 the position of what used to be the last element!**Áðžúüøž)& Return `None` if `key` is not in map.Á¦Ÿúü®Ÿ(Ĥ\âŸÕÖ Õßð Öœ‘Žžü
¢Ÿ Ÿ  ñŸü
Í îŸ®Í$° ¾Íl· 
ž ˆíŽí ñœ‘$öŸŒüŸ=?ü‰¤uü…¡=‘°
Ç¡úüÏ¡J´
üž¢?—µ
üâ¢7áµ
ž£úü¦£)°¶
Ô£úüÜ£(ĤŒ¤×Ø ×ßð Øœ‘ú–ü
¢¡ ¡  ¥¤ü
Í ¢¤®Í$餾Ílð¤
  ˆíŽí ñœ‘$ª¤Œ°¤=?ü¼©{ü˜¦C@ Remove the key-value pair equivalent to `key` and return it andÁ¬à¦ the index it had.Áú¦úü‚§J´
üѧ?—µ
ü•¨7áµ
ѨúüÙ¨)°¶
‡©úü©(Ĥ„éÙÚ Ùßð Úœ‘€¡ü
¢£ £  שü
Í Ô©®Í$¢ª¾Íl©ª
¢ ˆíŽí ñœ‘$Ü©Œâ©=?ü±°kü¡­<¬
tâ­Ǭ
õ­úüý­DA Like [`Vec::remove`], the pair is removed by shifting all of theÁüÆ®=Ʀüˆ¯9§Ưúüί)°¶
ü¯úü„°(ܧd¸°ÛÜ Ûßð Üœ‘Žžü
¢¥ ¥  Ȱü
Í Ű®Í$‡±¾Ílޱ
¤ ˆíŽí ñœ‘$ͰŒÓ°=?üÛ´vüݱ=‘°
Ÿ²úü§²DǾ
üð²=Ʀü²³9§ð³úüø³)°¶
¦´úü®´(ܧ”â´ÝÞ Ýßð Þœ‘ú–ü
¢§ §  ø´ü
Í õ´®Í$¼µ¾Ílõ
¦ ˆíŽí ñœ‘$ý´Œƒµ=?üŠº|üì¶Cÿº
¬´·Ì»
ηúüÖ·DǾ
üŸ¸=Ʀüá¸9§Ÿ¹úü§¹)°¶
Õ¹úüݹ(ܧŒ‘ºßà ßßð àœ‘€¡ü
¢© ©  ¦ºü
Í £º®Í$ñº¾Íløº
¨ ˆíŽí ñœ‘$«ºŒ±º=?ü|« §¬ ¤­ ¬ « ­ ãá ô½óá ÷½ŽÓ ú½ßð® ¯ ± ´ · » ¾ Ã Æ Ê Í Ò × Ø Û ß à ã ç é ê ë ì í î ï ð ô ö ø ù ú û ü ý þ ÿ ˜šüç¿'ü•¾" Remove the last key-value pairÁ¼¾úüľ74 This preserves the order of the remaining elements.Á€¿úüˆ¿(Ĥpop_lastÁTÿî¿á áßðú–ª  ò¿ª
® ˆíŽí ñ$÷¿ü´ÆVü´ÀKH Removes and returns the last key-value pair from a map if the predicateÁü„ÁIF returns `true`, or [`None`] if the predicate returns false or the mapÁüÒÁ=: is empty (the predicate will not be called in that case).Á”ÂúüœÂ7ëÈ
ØÂúüàÂ(ĤÃút•Ãγ¨Ãú<°ÃùîܼÃþ³ÜÃúüäÃ85 let init = [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')];Áü¡Ä'$ let mut map = IndexMap::from(init);ÁüÍÄ<9 let pred = |key: &i32, _value: &mut char| *key % 2 == 0;ÁŽÅúü–Å1. assert_eq!(map.pop_if(pred), Some((4, 'd')));ÁüÌÅ+( assert_eq!(map.as_slice(), &init[..3]);ÁüüÅ'$ assert_eq!(map.pop_if(pred), None);Á<¨Æùî4»Æâ âßðüoú–ª üo° °  ÂÆª ÍìóÑ
üØÆãä–"óÑ
 ãˆí äŽíÔÝÆãäóÑ
ÉÒ
˜"$óÆ
¯ ˆíŽí ñóÑ
$ÇÆ predicateÁLÍÆüÑÊXüÄÈH—Äü‘É"éĸÉúüÀÉH¡ÅTÊòÅœÊúü¤Ê(ܧ4ØÊç çßðâÿª ² ²  âʪ û‹ ßÊåæ“"âÿ åˆí æŽíÌËåæâÿ«Õ
˜"$¤Ë
± ˆíŽí ñâÿ$çʳ¦$ñÊ\Ò˱ ªŒ³ ÂŒ³ ߌ³ ³ ± ³ ˆíŽí ñâÿ ˆí Žíʵ üÿÎ5üöËGD Sort the map's key-value pairs by the default ordering of the keys.ÁÂÌúüÊÌOL This is a stable sort -- but equivalent keys should not normally coexist inÁüžÍRO a map at all, so [`sort_unstable_keys`][Self::sort_unstable_keys] is preferredÁüõÍIF because it is generally faster and doesn't allocate auxiliary memory.ÁÃÎúüËÎ/, See [`sort_by`](Self::sort_by) for details.ÁL†Ïè èßðª  Ïª ž¯ °Ï
´ ˆíŽí ñ$•ÏtÕÏ´ ªŒµ ÂŒµ ߌµ µ ´ µ ˆíŽí ñ ¡Ç\‚д ªŒ ÂŒ ߌ  ´  ˆíŽí ñ‘È ï«üÓüÔÓ`ü¾Ð@= Sort the map's key-value pairs in place using the comparisonÁœƒÑ function `cmp`.Á›Ñúü£ÑLI The comparison function receives two key and value pairs to compare (youÁüôÑ?< can sort by keys or values or their combination as needed).Á¸ÒúüÀÒGD Computes in **O(n log n + c)** time and **O(n)** space where *n* isÁüŒÓC@ the length of the map and *c* the capacity. The sort is stable.Á<ÛÓí íßðâÿª ¸ ¸  æÓª û‹ ãÓéêëì“"âÿ éˆí êŽí ëˆí ìŽíü’Ô!éêëìâÿ™â
˜"üÓD«Ô
· ˆíŽí ñâÿ$ëÓõÓ´tÕÔ· ªŒ¹ ÂŒ¹ ߌ¹ ¹ · ¹ ˆíŽí ñâÿ±Ü
ʵ \‚Õ· ªŒº ÂŒº ߌº º · º ˆíŽí ñâÿ­Ý
ʵ üîÖoüÏÕIF Sort the key-value pairs of the map and return a by-value iterator ofÁüÖ(% the key-value pairs with the result.ÁÊÖú¼ÒÖ The sort is stable.ÁLõÖ
iterable.Á€ãúüˆã41 `from_iter` uses the same logic as `extend`. SeeÁüÁã2/ [`extend`][IndexMap::extend] for more details.ÁLûãšßðš šŸ Ÿ š ÍìÉô …äÇLÉô܈äÉôÈLã„l•ä
ž ˆíŽí ñÉôiterableÁD¥äPRüÏæd»À|Žæ¼ˆæœ¡ §¢ Ÿ£ ¢ ¡ £ ãá Ôæóá ׿¢Ë tÚæŒ÷ $©çìž°çå‘¥ ë¥ 8:<>@ àæü¦é!tºçγÍçú<ÕçùîÜáçþ³èúü‰è0- let map1 = IndexMap::from([(1, 2), (3, 4)]);Áü¾è74 let map2: IndexMap<_, _> = [(1, 2), (3, 4)].into();ÁÜúè assert_eq!(map1, map2);Á<šéùî$©éŽ…å‘   
¥ ˆíŽíŸarrÁ®éüðé^œ¨ §© ¤ª ª ¨ © ãá õéóá øéŽÓ ûéŒ÷ $°êìž·ê¦Ê\Âêßð« ÒL« ACEGIKü´îAüÕê<9 Extend the map with all key-value pairs in the iterable.Á–ëúüžëJG This is equivalent to calling [`insert`][IndexMap::insert] for each ofÁüíëA> them in order, which means that for keys that already existedÁü³ìGD in the map, their value is updated but it keeps the existing order.Áÿìúü‡íFC New keys are inserted in the order they appear in the sequence. IfÁüÒíKH equivalents of a key occur more than once, the last corresponding valueÁl¢î
prevails.Á4·î§ §ßðÉô§ 𬠬  Þî§ òô ¾î„õÜÁî•õlÎî
« ˆíŽí ñÉô$ãî¿ôDéî>@lÜó« ªŒ­ ÂŒ­ ߌ­ ­ « ­ ˆíŽí ñÉôã„ ßðü ô~§
¯ œ° §± ¤² ¯ ° ² ± Œ„ ©ô ¬ô‘Î ¯ô³û
$ìô§†óôÿÛ $øôÜ $…õ´Ö
\’õþï³ ÒL³ ¥ôZ\^`bdü¤öIü¥õ<–úæõúüîõ1. See the first extend method for more details.Á4§ö¨ ¨þï¾û ® š´ ´  Öö® òü ®öý ü±ö#¾û ÈL¬¾ö
³ §
™ëŸë¿ð¾û $Ûö¿ôDáöPR÷³ ªŒµ ÂŒµ ߌµ µ ³ µ ™ëŸë¿ð¾û þÕÚ®üÇ÷Aœ· §¸ ¤¹ ¹ · ¸ ãá Ì÷óá Ï÷ŽÓ Ò÷ïñ<€øß𺠴º /13579¤´øüø  Return an empty [`IndexMap`]Á<·øßð 
º ˆíŽí ñüŒù§œ¼ õy½ ÿy¾ ãU¿ ÁlÀ ¾ ¿ ½ À ¼
ãá ‘ùÍìô“”ùÍìú“˜ùÎà œùÍìÁ” ùŒ÷ $èùìžïùµßô“¾„lûùÅeú“\’úÅeÁ”\§ú·“Á ·ßÁ ž ˜šüºú1½ú©ª ©·“ ª€”»  Àú»
Á ˆíô“ú“¾„Á”$Áú¹
,ÇútßûÁ ªŒ ÂŒ ߌ  Á  ˆíô“ú“¾„Á”¬Õ ô“ €”‹üÁ ªŒà ÂŒà ߌà à Á à ˆíô“ú“¾„Á” ¾„ðŒü§ü]œÅ §Æ ¤Ç Å Æ Ç ãá ¬üóá ¯üŽÓ ²üìžÛüŒ÷ $àüàñ íü¦Ê\øüßð?ACEGI\¥%ü-* A hash set implemented using [`IndexMap`]Á­%É ²àâ’€T…±
Á°3,
²CL˜üÚ‚Ó
Ä*D±ýÅš+$»ê Æç?4ÁÉǤ„œÉõ
Èô¢É¥ŽlÿÊÙÇËôÀíÈ Ì°‘ÖJÈ ÍÉ"”Ì üÈ ÎÖ€òÈ ÏöªBÈ Ð®D›¿ßÈ Ñׯ `È Ò\\ÅÅeÈ ÔŽšeÈ ÕŽ eÈ ÕBitAndÁ4éöøÈ ×BitOrÁ,ñ–úÈ ØBitXorÁ4ø¶ûÈ Ùó…,€Ù¢È Úèþ\‡¤#È ÛSubÁïÈ ÜÓÈ Þé  ¬
È ßçD/$3È ê
±
Ó
õ
¢ÉëìüýИ4
àÉ Ë  D
âÉ Ì Ù,
ÇÉ Í Ë¨$9
É Ï ˜\?
gÉ Ð ŒÁ$_
÷<É Ò öe
ªBÉ Ó ×u
 `É Ô \\
ÅeÉ Ö Ž
šeÉ × Ž eÉ × ChainÁ,°
ð¬É Ù ÈÊ
òPÉ Ú èþ
¤#É Û SliceIterÁLü
ÄlÉ Ü ,
IL;>-0d*
!TR
Y
ôöLo
çT~
ÙÛÈÊT£
¢¤‘´Ë
΍
iüˆ2
§
Þ ¥ß ¤à Þ à ß Í쌕 
ŽÓ 
Ù”á â ã ÈLÉLÊLã 
/146

Ý Ý «¨

Ý Ý Þ•üú$

Ù”Ù”ÉLÝ Ý
ã §
Œ• ñ$‡
ü¾*
¥å ¤æ å æ Ê€ Ã
ÍìÑ• Æ
ž•ç è é ÈLÉLÊLé 24.0

ä ä Ë•l‚
D‡
ä ä ’—ü¤$

ž•ž•ÉLä ä
é ˕ѕ
´™
üÿ2
/ An iterator over the items of an [`IndexSet`].Á²
úü¶>
; This `struct` is created by the [`IndexSet::iter`] method.Áüõ#
Õ
§
ë ¥ì ì ë ݘ ­
Œ•§
«Þ•¿Ì$ë{ÏOøí ©
35ô¶

É ê ê ÄlÄlš+Çlµ ™lÈl€×™lÉl–×™lŒœjSž§
ààИã§äŒå»É% ê`ä猕¼Ù
§
ï ¥ð ï ð ݘ â
Þ•ñ ò Þ
ü÷3

È  §
¾ŸÞ•î î
ñ §
Œ•Ó<‰
üµ&