3 æÏ…_Óã@s4ddlmZmZmZddlmZGdd„deƒZdS)é)Úabsolute_importÚdivisionÚunicode_literals)ÚMappingcs:eZdZdZd ‡fdd„ Zdd„Zdd„Zd d „Z‡ZS) ÚTriezAbstract base class for triesNcs4tt|ƒjƒ}ˆdkrt|ƒSt‡fdd„|DƒƒS)Ncsg|]}|jˆƒr|‘qS©)Ú startswith)Ú.0Úx)Úprefixrú/usr/lib/python3.6/_base.pyú szTrie.keys..)ÚsuperrÚkeysÚset)Úselfr r)Ú __class__)r r r sz Trie.keyscCs$x|jƒD]}|j|ƒr dSq WdS)NTF)rr)rr Úkeyrrr Úhas_keys_with_prefixs zTrie.has_keys_with_prefixcCsT||kr |Sx:tdt|ƒdƒD]$}|d| …|kr |d| …Sq Wt|ƒ‚dS)Né)ÚrangeÚlenÚKeyError)rr Úirrr Úlongest_prefixs zTrie.longest_prefixcCs|j|ƒ}|||fS)N)r)rr Zlprefixrrr Úlongest_prefix_item$s zTrie.longest_prefix_item)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrÚ __classcell__rr)rr rs   rN)Z __future__rrrÚ collectionsrrrrrr Ús