;
"Ic               @   s  d  Z  d d l m Z e j d k p t  d   Z e d d d d d	 d
 d d d d d g e e d d    Z	 d   Z
 id d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d' d; 6d< d= 6d> d? 6d@ dA 6dB dC 6dD dE 6dF dG 6dH dI 6dJ dK 6dL dM 6dN dO 6dP dQ 6dR dS 6dT dU 6dV dW 6dX dY 6dZ d[ 6d\ d] 6d^ d_ 6d` da 6db dc 6dT dd 6dV de 6dX df 6dZ dg 6d\ dh 6d^ di 6d` dj 6db dk 6dl dm 6dn do 6dp dq 6dr ds 6dt du 6dv dw 6dx dy 6dz d{ 6dl d| 6dn d} 6dp d~ 6dr d 6dt d 6dv d 6dx d 6dz d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d# d 6d d 6d d 6d d 6d% d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d5 d6dd6dd6dd6dd	6d
d6dd6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d
d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d7d;6d<d=6d>d?6d@dA6dBdC6dDdE6dBdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dodq6drds6dtdu6dvdw6dxdy6dzd{6d|d}6d d~6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d|d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d|d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d|d6d d6dd6dd6dd6dd6d d6dd6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d|d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d 6d|d6d d6dd6d d6d d6dd6dd6dd6d d	6d d
6d d6dd6d d6d d6d d6dd6dd6dd6dd6dd6dd6d|d6d d6dd6d d6d d6dd6d d6dd6dd6d d6d d 6dd!6d d"6dd#6dd$6dd%6dd&6dd'6dd(6d|d)6d d*6d d+6dd,6d d-6d d.6dd/6d d06d d16dd26dd36d d46d d56d d66dd76d d86d d96d d:6d d;6dd<6dd=6dd>6dd?6dd@6ddA6d dB6d|dC6d dD6d dE6ddF6d dG6d dH6ddI6d dJ6d dK6ddL6ddM6d dN6d dO6d dP6ddQ6d dR6d dS6d dT6d dU6ddV6ddW6ddX6ddY6ddZ6dd[6d d\6d|d]6d d^6d d_6dd`6d da6d db6ddc6d dd6d de6ddf6ddg6d dh6d di6d dj6ddk6d dl6d dm6d dn6d do6ddp6ddq6ddr6dds6ddt6ddu6d dv6d|dw6d dx6d dy6ddz6d d{6d d|6dd}6d d~6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d|d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6d|d6d d6d d6dd6d d6d d6dd6d d6d d6dd6dd6d d6d d6d d6dd6d d6d d6d d6d d6dd6dd6dd6dd6dd6dd6d d6dd6d) d6d d6dd6d< d6dd6dd6d+ d6d d6d7 d6dd6d d6dd6dd6dd6d5 d6d9 d6d+ d6d' d6dd6d- d6d3 d6dd6dd6dd6d' d6dd6d) d6d d6dd6d< d6dd6dd6d+ d6d d6d7 d6dd6d d6dd6dd6dd6d5 d6d9 d6d+ d6d' d6dd6d- d6d3 d 6dd6dd6dd6d' d6dd6d) d6d d6dd6d< d	6dd
6dd6d+ d6d d6d7 d6dd6d d6dd6dd6dd6d5 d6d9 d6d+ d6d' d6dd6d- d6d3 d6dd6dd6dd6d' d6dd6d) d 6d d!6dd"6d< d#6dd$6dd%6d+ d&6d d'6d7 d(6dd)6d d*6dd+6dd,6dd-6d5 d.6d9 d/6d+ d06d' d16dd26d- d36d3 d46dd56dd66dd76d' d86dd96d) d:6d d;6dd<6d< d=6dd>6dd?6d+ d@6d dA6d7 dB6ddC6d dD6ddE6ddF6ddG6d5 dH6d9 dI6d+ dJ6d' dK6ddL6d- dM6d3 dN6ddO6ddP6ddQ6d' dR6Z dS  Z dT  Z dU  Z dV  Z dW  Z dX  Z e dYdZd[d d d\d]d g e e d d^  e e d_d`  e e dadb  e e dcdd   Z de  Z df  Z dg  Z dh  Z di  Z e e dadj  Z dk  Z e e dldm  Z dn  Z e dodpdqdrg e e dsdt  e e d_d`   Z du  Z e dvg e e dwdx   Z dy  Z dz  Z  d{  Z! d|S(}  u   Library that exposes various tables found in the StringPrep RFC 3454.

There are two kinds of tables: sets, for which a member test is provided,
and mappings, for which a mapping function is provided.
i    (   u	   ucd_3_2_0u   3.2.0c             C   sX   t  j |   d k o d St |   } d | k o
 d k  n o d S| d @d k S(   Nu   Cni  i  i  i  F(   i  i  (   u   unicodedatau   categoryu   Falseu   ord(   u   codeu   c(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_a1   s      i   iO  i  i  i  i  i   i   i   i`   i  i   i  c             C   s   t  |   t k S(   N(   u   ordu   b1_set(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_b1   s    u   μi   u   ssi   u   i̇i0  u   ʼniI  u   si  u   ǰi  u   ιiE  u    ιiz  u   ΐi  u   ΰi  u   σi  u   βi  u   θi  u   υi  u   ύi  u   ϋi  u   φi  u   πi  u   κi  u   ρi  i  u   εi  u   եւi  u   ẖi  u   ẗi  u   ẘi  u   ẙi  u   aʾi  u   ṡi  u   ὐiP  u   ὒiR  u   ὔiT  u   ὖiV  u   ἀιi  u   ἁιi  u   ἂιi  u   ἃιi  u   ἄιi  u   ἅιi  u   ἆιi  u   ἇιi  i  i  i  i  i  i  i  i  u   ἠιi  u   ἡιi  u   ἢιi  u   ἣιi  u   ἤιi  u   ἥιi  u   ἦιi  u   ἧιi  i  i  i  i  i  i  i  i  u   ὠιi  u   ὡιi  u   ὢιi  u   ὣιi  u   ὤιi  u   ὥιi  u   ὦιi  u   ὧιi  i  i  i  i  i  i  i  i  u   ὰιi  u   αιi  u   άιi  u   ᾶi  u   ᾶιi  i  i  u   ὴιi  u   ηιi  u   ήιi  u   ῆi  u   ῆιi  i  u   ῒi  i  u   ῖi  u   ῗi  u   ῢi  i  u   ῤi  u   ῦi  u   ῧi  u   ὼιi  u   ωιi  u   ώιi  u   ῶi  u   ῶιi  i  u   rsi   u   ci!  u   °ci!  u   ɛi!  u   °fi	!  u   hi!  i!  i!  u   ii!  i!  u   li!  u   ni!  u   noi!  u   pi!  u   qi!  u   ri!  i!  i!  u   smi !  u   teli!!  u   tmi"!  u   zi$!  i(!  u   bi,!  i-!  u   ei0!  u   fi1!  u   mi3!  u   γi>!  i?!  u   diE!  u   hpaiq3  u   auis3  u   oviu3  u   pai3  u   nai3  u   μai3  u   mai3  u   kai3  u   kbi3  u   mbi3  u   gbi3  u   pfi3  u   nfi3  u   μfi3  u   hzi3  u   khzi3  u   mhzi3  u   ghzi3  u   thzi3  i3  u   kpai3  u   mpai3  u   gpai3  u   pvi3  u   nvi3  u   μvi3  u   mvi3  u   kvi3  i3  u   pwi3  u   nwi3  u   μwi3  u   mwi3  u   kwi3  i3  u   kωi3  u   mωi3  u   bqi3  u   c∕kgi3  u   co.i3  u   dbi3  u   gyi3  u   hpi3  u   kki3  u   kmi3  u   phi3  u   ppmi3  u   pri3  u   svi3  u   wbi3  u   ffi   u   fii  u   fli  u   ffii  u   ffli  u   sti  i  u   մնi  u   մեi  u   միi  u   վնi  u   մխi  u   ai  i i i i i u   gi i i u   ji	 u   ki
 i i i u   oi i i i i u   ti u   ui u   vi u   wi u   xi u   yi i i4 i5 i6 i7 i8 i9 i: i; i< i= i> i? i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i	 i
 i i i i i i i i i i i i i i i i8 i9 i; i< i= i> i@ iA iB iC iD iF iJ iK iL iM iN iO iP il im in io ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i	 i
 i i i i i i i i i i i i i i i i i i i i i i  i! i< i= i> i? i@ iA iB iC iD iE iF iG iH iI iJ iK iL iM iN iO iP iQ iR iS iT iU ip iq ir is it iu iv iw ix iy iz i{ i| i} i~ i i i i i i i i i i i u   αi i i u   δi i u   ζi u   ηi i i i u   λi i u   νi u   ξi u   οi i i i i u   τi i i u   χi u   ψi u   ωi i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i  i! i" i# i$ i% i& i' i( i) i* i+ i, i- i. i/ i0 i1 i2 i3 i4 iG iV iW iX iY iZ i[ i\ i] i^ i_ i` ia ib ic id ie if ig ih ii ij ik il im in i i i i i i i i i i i i i i i i i i i i i i i i i i i c             C   s1   t  j t |    } | d  k	 o | S|  j   S(   N(   u   b3_exceptionsu   getu   ordu   Noneu   lower(   u   codeu   r(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   map_table_b3   s     c             C   sc   t  |   } t j d |  } d j d   | D  } t j d |  } | | k o | S| Sd  S(   Nu   NFKCu    c             S   s!   g  } |  ] } | t  |  q
 S(    (   u   map_table_b3(   u   .0u   _[1]u   ch(    (    u'   /mit/python/lib/python3.0/stringprep.pyu
   <listcomp>   s    (   u   map_table_b3u   unicodedatau	   normalizeu   join(   u   au   alu   bu   blu   c(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   map_table_b2   s    c             C   s
   |  d k S(   Nu    (    (   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c11   s    c             C   s    t  j |   d k o
 |  d k S(   Nu   Zsu    (   u   unicodedatau   category(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c12   s    c             C   s   t  j |   d k S(   Nu   Zs(   u   unicodedatau   category(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c11_c12   s    c             C   s&   t  |   d k  o t j |   d k S(   Ni   u   Cc(   u   ordu   unicodedatau   category(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c21   s    i  i  i  i(   i)   id   ij   ip   i  i  is i{ c             C   sC   t  |   } | d k  o d St j |   d k o d S| t k S(   Ni   u   CcFT(   u   ordu   Falseu   unicodedatau   categoryu   Trueu   c22_specials(   u   codeu   c(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c22   s      c             C   s&   t  j |   d k p t |   t k S(   Nu   Cc(   u   unicodedatau   categoryu   ordu   c22_specials(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c21_c22   s    c             C   s   t  j |   d k S(   Nu   Co(   u   unicodedatau   category(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c3   s    c             C   sD   t  |   } | d k  o d S| d k  o d St  |   d @d k S(   Ni  i  i  i  FT(   i  i  (   u   ordu   Falseu   True(   u   codeu   c(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c4   s      c             C   s   t  j |   d k S(   Nu   Cs(   u   unicodedatau   category(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c5   s    i  c             C   s   t  |   t k S(   N(   u   ordu   c6_set(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c6   s    i/  i/  c             C   s   t  |   t k S(   N(   u   ordu   c7_set(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c7   s    i@  iA  i   i   i*   i/   c             C   s   t  |   t k S(   N(   u   ordu   c8_set(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c8  s    i  i   i  c             C   s   t  |   t k S(   N(   u   ordu   c9_set(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_c9  s    c             C   s   t  j |   d k S(   Nu   Ru   AL(   u   Ru   AL(   u   unicodedatau   bidirectional(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_d1  s    c             C   s   t  j |   d k S(   Nu   L(   u   unicodedatau   bidirectional(   u   code(    (    u'   /mit/python/lib/python3.0/stringprep.pyu   in_table_d2  s    N("   u   __doc__u   unicodedatau	   ucd_3_2_0u   unidata_versionu   AssertionErroru   in_table_a1u   setu   listu   rangeu   b1_setu   in_table_b1u   b3_exceptionsu   map_table_b3u   map_table_b2u   in_table_c11u   in_table_c12u   in_table_c11_c12u   in_table_c21u   c22_specialsu   in_table_c22u   in_table_c21_c22u   in_table_c3u   in_table_c4u   in_table_c5u   c6_setu   in_table_c6u   c7_setu   in_table_c7u   c8_setu   in_table_c8u   c9_setu   in_table_c9u   in_table_d1u   in_table_d2(    (    (    u'   /mit/python/lib/python3.0/stringprep.pyu   <module>   s~  	@							p							>	"		