a �DOgu2��@s�dZddlmZejdksJ�dd�Zegd�eedd���Zd d �Z d d d dddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d3d4d5d6d7d8d9d:d;dd?d@dAdBd;dd?d@dAdBdCdDdEdFdGdDddHdIdJdKdLdIdMddNdOdPddQdRdSdTdUdVdWdXdUdYdZd[d\d]d^d^d^d_d_d`dadbdcdddedededfdgdhdididjdZdkdldmdnddodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�dsd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�dZdod�d�d�dad�dcdddd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdodkdld�d�d�d`dmdad�dcdddd�d�d�d�d�d�d�djdodkdld�d_d�d�d`dmd�dd�d�d�d�d�d�d�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�djdZdodkdld�d^d_d�d�d`dmdad�dcdddedd�d�d�d�d�d�did�ddnd�dd�d�dddd�d d�d�d�ddddd�ddd�d�d�dd�ddnd�dd�d�dddd�d d�d�d�ddddd�ddd�d�d�dd�ddnd�dd�d�dddd�d d�d�d�ddddd�ddd�d�d�dd�ddnd�dd�d�dddd�d d�d�d�ddddd�ddd�d�d�dd�ddnd�dd�d�dddd�d d�d�d�ddddd�ddd�d�d�dd����Z d�dÄZ d�dńZ d�dDŽZ d�dɄZd�d˄Zd�d̈́Zegd΢eed�dЃ�eed�d҃�eed�dԃ�eed�dփ��Zd�d؄Zd�dڄZd�d܄Zd�dބZd�d��Zeed�d��Zd�d�Zeed�d��Zd�d�Zegd�eed�d��eed�d҃��Zd�d�Zed�geed�d���Zd�d�Zd�d�Zd�d��Z d�S)�z�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. �)� ucd_3_2_0z3.2.0cCsBt�|�dkrdSt|�}d|kr.dkr6nndS|d@dvS)NZCnF�������������r)� unicodedata�category�ord��code�c�r�"/usr/lib64/python3.9/stringprep.py� in_table_a1 sr) �iOii i i i � � �` ���i�i�cCs t|�tvS�N)r �b1_set�r rrr� in_table_b1sruμ�ssui̇uʼn�suǰuιu ιuΐuΰuσuβuθuυuύuϋuφuπuκuρuεuեւuẖuẗuẘuẙuaʾuṡuὐuὒuὔuὖuἀιuἁιuἂιuἃιuἄιuἅιuἆιuἇιuἠιuἡιuἢιuἣιuἤιuἥιuἦιuἧιuὠιuὡιuὢιuὣιuὤιuὥιuὦιuὧιuὰιuαιuάιuᾶuᾶιuὴιuηιuήιuῆuῆιuῒuῖuῗuῢuῤuῦuῧuὼιuωιuώιuῶuῶιZrsr u°cuɛu°f�h�i�l�n�no�p�q�rZsm�telZtm�z�b�e�f�muγ�dZhpaZauZov�paZnauμaZma�kaZkbZmbZgbZpfZnfuμf�hzZkhzZmhzZghzZthzZkpaZmpaZgpaZpv�nvuμv�mvZkvZpwZnwuμwZmw�kwukωumωZbquc∕kgzco.ZdbZgyZhpZkkZkm�phZppmZpr�sv�wbZff�fiZflZffiZffl�stuմնuմեuմիuվնuմխ�a�g�j�k�o�t�u�v�w�x�yuαuδuζuηuλuνuξuοuτuχuψuω(����i0iIii�iEizi�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�i�iPiRiTiVi�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 !i!!i"!i$!i(!i,!i-!i0!i1!i3!i>!i?!iE!iq3is3iu3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�3i�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�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��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/�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��cCs"t�t|��}|dur|S|��Sr)� b3_exceptions�getr �lower)r r#rrr� map_table_b3�s rFcCsHt|�}t�d|�}d�dd�|D��}t�d|�}||kr@|S|SdS)N�NFKC�cSsg|] }t|��qSr)rF)�.0Zchrrr� ��z map_table_b2..)rFr� normalize�join)r6Zalr&Zblr rrr� map_table_b2�s  rNcCs|dkS)N� rrrrr� in_table_c11�srPcCst�|�dko|dkS)N�ZsrO�rr rrrr� in_table_c12�srScCst�|�dkS)NrQrRrrrr�in_table_c11_c12�srTcCst|�dkot�|�dkS)N��Cc)r rr rrrr� in_table_c21�srW)i�iirri( i) rrid ij ip i��i��is�i{�cCs.t|�}|dkrdSt�|�dkr&dS|tvS)NrUFrVT)r rr � c22_specialsr rrr� in_table_c22�s rYcCst�|�dkpt|�tvS)NrV)rr r rXrrrr�in_table_c21_c22�s �rZcCst�|�dkS)NZCorRrrrr� in_table_c3�sr[cCs0t|�}|dkrdS|dkr dSt|�d@dvS)NrFrTrr)r r rrr� in_table_c4�s  r\cCst�|�dkS)NZCsrRrrrr� in_table_c5�sr]rcCs t|�tvSr)r �c6_setrrrr� in_table_c6�sr_i�/i�/cCs t|�tvSr)r �c7_setrrrr� in_table_c7�sra)i@iAi i i* i/ cCs t|�tvSr)r �c8_setrrrr� in_table_c8srcii i�cCs t|�tvSr)r �c9_setrrrr� in_table_c9srecCst�|�dvS)N)�RZAL�rZ bidirectionalrrrr� in_table_d1 srhcCst�|�dkS)N�Lrgrrrr� in_table_d2srjN)!�__doc__rrZunidata_versionr�set�list�rangerrrCrFrNrPrSrTrWrXrYrZr[r\r]r^r_r`rarbrcrdrerhrjrrrr�s� ��& D(