a
    kÄ#dbÏ ã                  @   s T  d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlm  mZ ddl m!Z!m"Z"m#Z#m$Z$m%Z% dd	l&m'Z' dd
l(m)Z)m*Z* ddl+m,Z,m-Z- G dd„ dee
ƒZ.G dd„ deeƒZ/G dd„ deƒZ0G dd„ de.ƒZ1G dd„ deƒZ2G dd„ deƒZ3ddddddddd d!d"d#dd$œZ4d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d4d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKœ'Z5G dLdM„ dMeƒZ6G dNdO„ dOeƒZ7G dPdQ„ dQeƒZ8G dRdS„ dSeƒZ9G dTdU„ dUeƒZ:G dVdW„ dWeƒZ;G dXdY„ dYeƒZ<G dZd[„ d[eƒZ=G d\d]„ d]eƒZ>G d^d_„ d_eƒZ?G d`da„ daeƒZ@G dbdc„ dceƒZAG ddde„ deeƒZBG dfdg„ dgeƒZCdhZDdiZEdhZFg dj¢ZGdkdl„ ZHG dmdn„ dneƒZIdodp„ ZJG dqdr„ dreIƒZKG dsdt„ dteIƒZLG dudv„ dveIƒZMG dwdx„ dxeIƒZNG dydz„ dzeIƒZOG d{d|„ d|eNƒZPG d}d~„ d~eMƒZQG dd€„ d€eNƒZRG d�d‚„ d‚eMƒZSG dƒd„„ d„eNƒZTG d…d†„ d†eMƒZUG d‡dˆ„ dˆeLƒZVG d‰dŠ„ dŠeKƒZWG d‹dŒ„ dŒeLƒZXG d�dŽ„ dŽeKƒZYG d�d�„ d�eLƒZZG d‘d’„ d’eKƒZ[G d“d”„ d”eLƒZ\G d•d–„ d–eKƒZ]G d—d˜„ d˜eLƒZ^G d™dš„ dšeKƒZ_G d›dœ„ dœeNƒZ`G d�dž„ džeMƒZaG dŸd „ d eNƒZbG d¡d¢„ d¢eMƒZcG d£d¤„ d¤eNƒZdG d¥d¦„ d¦eMƒZeG d§d¨„ d¨eKƒZfG d©dª„ dªeKƒZgG d«d¬„ d¬eKƒZhG d­d®„ d®eKƒZiG d¯d°„ d°eLƒZjG d±d²„ d²eNƒZkG d³d´„ d´eNƒZlG dµd¶„ d¶eKƒZmG d·d¸„ d¸eKƒZnG d¹dº„ dºeKƒZoG d»d¼„ d¼eKƒZpG d½d¾„ d¾eKƒZqG d¿dÀ„ dÀeKƒZrG dÁdÂ„ dÂeKƒZsG dÃdÄ„ dÄeKƒZtG dÅdÆ„ dÆeKƒZuG dÇdÈ„ dÈeKƒZvG dÉdÊ„ dÊeKƒZwG dËdÌ„ dÌeKƒZxG dÍdÎ„ dÎeKƒZyG dÏdÐ„ dÐeKƒZzG dÑdÒ„ dÒeKƒZ{G dÓdÔ„ dÔeKƒZ|G dÕdÖ„ dÖeKƒZ}G d×dØ„ dØeKƒZ~G dÙdÚ„ dÚeKƒZG dÛdÜ„ dÜeKƒZ€G dÝdÞ„ dÞeKƒZ�G dßdà„ dàeKƒZ‚G dádâ„ dâeKƒZƒG dãdä„ däeKƒZ„G dådæ„ dæeKƒZ…G dçdè„ dèeKƒZ†G dédê„ dêeKƒZ‡G dëdì„ dìeKƒZˆG dídî„ dîeKƒZ‰G dïdð„ dðeKƒZŠG dñdò„ dòeKƒZ‹G dódô„ dôeKƒZŒG dõdö„ döeKƒZ�G d÷dø„ døeKƒZŽG dùdú„ dúeKƒZ�G dûdü„ düeKƒZ�G dýdþ„ dþeKƒZ‘G dÿ�d „ �d eKƒZ’G �d�d„ �deKƒZ“G �d�d„ �deKƒZ”G �d�d„ �deKƒZ•G �d�d„ �deKƒZ–G �d	�d
„ �d
eKƒZ—G �d�d„ �deKƒZ˜G �d�d„ �deKƒZ™G �d�d„ �deKƒZšG �d�d„ �deKƒZ›G �d�d„ �deKƒZœG �d�d„ �deKƒZ�G �d�d„ �deKƒZžG �d�d„ �deKƒZŸG �d�d„ �deKƒZ G �d�d„ �deKƒZ¡G �d�d „ �d eKƒZ¢G �d!�d"„ �d"eKƒZ£G �d#�d$„ �d$eKƒZ¤G �d%�d&„ �d&eLƒZ¥G �d'�d(„ �d(eLƒZ¦G �d)�d*„ �d*eLƒZ§G �d+�d,„ �d,eLƒZ¨G �d-�d.„ �d.eLƒZ©G �d/�d0„ �d0eLƒZªG �d1�d2„ �d2eLƒZ«G �d3�d4„ �d4eLƒZ¬G �d5�d6„ �d6eLƒZ­G �d7�d8„ �d8eLƒZ®G �d9�d:„ �d:eLƒZ¯G �d;�d<„ �d<eLƒZ°G �d=�d>„ �d>eLƒZ±G �d?�d@„ �d@eLƒZ²G �dA�dB„ �dBeLƒZ³G �dC�dD„ �dDeLƒZ´G �dE�dF„ �dFeLƒZµG �dG�dH„ �dHeLƒZ¶G �dI�dJ„ �dJeLƒZ·G �dK�dL„ �dLeLƒZ¸G �dM�dN„ �dNeLƒZ¹G �dO�dP„ �dPeLƒZºG �dQ�dR„ �dReLƒZ»G �dS�dT„ �dTeLƒZ¼G �dU�dV„ �dVeLƒZ½G �dW�dX„ �dXeLƒZ¾G �dY�dZ„ �dZeLƒZ¿G �d[�d\„ �d\eLƒZÀG �d]�d^„ �d^eLƒZÁG �d_�d`„ �d`eLƒZÂG �da�db„ �dbeLƒZÃG �dc�dd„ �ddeLƒZÄG �de�df„ �dfeLƒZÅG �dg�dh„ �dheLƒZÆG �di�dj„ �djeLƒZÇG �dk�dl„ �dleLƒZÈG �dm�dn„ �dneLƒZÉG �do�dp„ �dpeLƒZÊG �dq�dr„ �dreLƒZËG �ds�dt„ �dteLƒZÌG �du�dv„ �dveLƒZÍG �dw�dx„ �dxeLƒZÎG �dy�dz„ �dzeLƒZÏG �d{�d|„ �d|eLƒZÐG �d}�d~„ �d~eLƒZÑG �d�d€„ �d€eLƒZÒG �d��d‚„ �d‚eLƒZÓG �dƒ�d„„ �d„eLƒZÔG �d…�d†„ �d†eLƒZÕG �d‡�dˆ„ �dˆeLƒZÖG �d‰�dŠ„ �dŠeLƒZ×G �d‹�dŒ„ �dŒeLƒZØG �d��dŽ„ �dŽeLƒZÙG �d��d�„ �d�eLƒZÚG �d‘�d’„ �d’eLƒZÛG �d“�d”„ �d”eLƒZÜG �d•�d–„ �d–eLƒZÝG �d—�d˜„ �d˜eLƒZÞG �d™�dš„ �dšeLƒZßG �d›�dœ„ �dœeLƒZàG �d��dž„ �džeLƒZáG �dŸ�d „ �d eLƒZâG �d¡�d¢„ �d¢eLƒZãG �d£�d¤„ �d¤eLƒZäG �d¥�d¦„ �d¦eLƒZåG �d§�d¨„ �d¨eLƒZæG �d©�dª„ �dªeLƒZçG �d«�d¬„ �d¬eLƒZèG �d­�d®„ �d®eLƒZéG �d¯�d°„ �d°eLƒZêG �d±�d²„ �d²eLƒZëG �d³�d´„ �d´eLƒZìG �dµ�d¶„ �d¶eLƒZíG �d·�d¸„ �d¸eLƒZîG �d¹�dº„ �dºeLƒZïG �d»�d¼„ �d¼eLƒZðG �d½�d¾„ �d¾eLƒZñG �d¿�dÀ„ �dÀeLƒZòG �dÁ�dÂ„ �dÂeLƒZóG �dÃ�dÄ„ �dÄeLƒZôG �dÅ�dÆ„ �dÆeLƒZõG �dÇ�dÈ„ �dÈeLƒZöG �dÉ�dÊ„ �dÊeLƒZ÷G �dË�dÌ„ �dÌeLƒZøG �dÍ�dÎ„ �dÎeLƒZùG �dÏ�dÐ„ �dÐeLƒZúG �dÑ�dÒ„ �dÒeLƒZûG �dÓ�dÔ„ �dÔeLƒZüG �dÕ�dÖ„ �dÖeLƒZýG �d×�dØ„ �dØeLƒZþG �dÙ�dÚ„ �dÚeLƒZÿG �dÛ�dÜ„ �dÜeLƒ�Z G �dÝ�dÞ„ �dÞeLƒ�ZG �dß�dà„ �dàeLƒ�ZG �dá�dâ„ �dâeLƒ�ZG �dã�dä„ �däeLƒ�ZG �då�dæ„ �dæeLƒ�ZG �dç�dè„ �dèeLƒ�ZG �dé�dê„ �dêeLƒ�ZG �dë�dì„ �dìeLƒ�ZG �dí�dî„ �dîeLƒ�Z	G �dï�dð„ �dðeLƒ�Z
G �dñ�dò„ �dòeLƒ�ZG �dó�dô„ �dôeLƒ�ZG �dõ�dö„ �döeLƒ�ZG �d÷�dø„ �døeLƒ�ZG �dù�dú„ �dúeLƒ�ZG �dû�dü„ �düeLƒ�ZG �dý�dþ„ �dþeLƒ�ZG �dÿ�d „ �d eLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d	�d
„ �d
eLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�ZG �d�d„ �deLƒ�Z G �d�d„ �deLƒ�Z!G �d�d „ �d eLƒ�Z"G �d!�d"„ �d"eLƒ�Z#G �d#�d$„ �d$eLƒ�Z$G �d%�d&„ �d&eLƒ�Z%G �d'�d(„ �d(eLƒ�Z&G �d)�d*„ �d*eLƒ�Z'G �d+�d,„ �d,eLƒ�Z(G �d-�d.„ �d.eLƒ�Z)G �d/�d0„ �d0eLƒ�Z*G �d1�d2„ �d2eLƒ�Z+G �d3�d4„ �d4eLƒ�Z,G �d5�d6„ �d6eLƒ�Z-G �d7�d8„ �d8eLƒ�Z.G �d9�d:„ �d:eLƒ�Z/G �d;�d<„ �d<eLƒ�Z0G �d=�d>„ �d>eLƒ�Z1G �d?�d@„ �d@eLƒ�Z2G �dA�dB„ �dBeLƒ�Z3G �dC�dD„ �dDeLƒ�Z4G �dE�dF„ �dFeLƒ�Z5G �dG�dH„ �dHeLƒ�Z6G �dI�dJ„ �dJeLƒ�Z7G �dK�dL„ �dLeLƒ�Z8G �dM�dN„ �dNeLƒ�Z9G �dO�dP„ �dPeLƒ�Z:G �dQ�dR„ �dReLƒ�Z;G �dS�dT„ �dTeLƒ�Z<G �dU�dV„ �dVeLƒ�Z=G �dW�dX„ �dXeLƒ�Z>G �dY�dZ„ �dZeLƒ�Z?G �d[�d\„ �d\eLƒ�Z@G �d]�d^„ �d^eLƒ�ZAG �d_�d`„ �d`eLƒ�ZBG �da�db„ �dbeLƒ�ZCG �dc�dd„ �ddeLƒ�ZDG �de�df„ �dfeLƒ�ZEG �dg�dh„ �dheLƒ�ZFG �di�dj„ �djeLƒ�ZGG �dk�dl„ �dleLƒ�ZHG �dm�dn„ �dneLƒ�ZIG �do�dp„ �dpeLƒ�ZJG �dq�dr„ �dreLƒ�ZKG �ds�dt„ �dteLƒ�ZLG �du�dv„ �dveLƒ�ZMG �dw�dx„ �dxeLƒ�ZNG �dy�dz„ �dzeLƒ�ZOG �d{�d|„ �d|eLƒ�ZPG �d}�d~„ �d~eLƒ�ZQG �d�d€„ �d€eLƒ�ZRG �d��d‚„ �d‚eLƒ�ZSG �dƒ�d„„ �d„eLƒ�ZTG �d…�d†„ �d†eLƒ�ZUG �d‡�dˆ„ �dˆeLƒ�ZVG �d‰�dŠ„ �dŠeLƒ�ZWG �d‹�dŒ„ �dŒeLƒ�ZXG �d��dŽ„ �dŽeLƒ�ZYG �d��d�„ �d�eLƒ�ZZG �d‘�d’„ �d’eLƒ�Z[G �d“�d”„ �d”eLƒ�Z\G �d•�d–„ �d–eLƒ�Z]G �d—�d˜„ �d˜eLƒ�Z^G �d™�dš„ �dšeLƒ�Z_G �d›�dœ„ �dœeLƒ�Z`G �d��dž„ �džeLƒ�ZaG �dŸ�d „ �d eLƒ�ZbG �d¡�d¢„ �d¢eLƒ�ZcG �d£�d¤„ �d¤eLƒ�ZdG �d¥�d¦„ �d¦eLƒ�ZeG �d§�d¨„ �d¨eLƒ�ZfG �d©�dª„ �dªeLƒ�ZgG �d«�d¬„ �d¬eLƒ�ZhG �d­�d®„ �d®eLƒ�Zi�d¯eQ�d°f�d±eS�d°f�d²eW�d°f�d³em�d°f�d´en�d°f�dµeS�d°f�d¶eo�d°f�d·eQ�d°f�d¸eW�d°f�d¹ep�d°f�dºeq�d°f�d»eW�d°f�d¼eQ�d°f�d½eQ�d°f�d¾eQ�d°f�d¿eQ�d°f�dÀeW�d°f�dÁeS�d°f�dÂeW�d°f�dÃeW�d°f�dÄeQ�d°f�dÅeQ�d°f�dÆeS�d°f�dÇeS�d°f�dÈeS�d°f�dÉeS�d°f�dÊeW�d°f�dËeW�d°f�dÌeS�d°f�dÍeW�d°f�dÎeS�d°f�dÏer�d°f�dÐeW�d°f�dÑeQ�d°f�dÒeW�d°f�dÓe_�d°f�dÔeS�d°f�dÕes�d°f�dÖeW�d°f�d×eS�d°f�dØet�d°f�dÙeu�d°f�dÚeQ�d°f�dÛeQ�d°f�dÜeS�d°f�dÝeS�d°f�dÞeS�d°f�dßeS�d°f�dàev�d°f�dáeW�d°f�dâeS�d°f�dãeW�d°f�däew�d°f�dåeQ�d°f�dæeS�d°f�dçeS�d°f�dèeS�d°f�déeW�d°f�dêeS�d°f�dëeW�d°f�dìeW�d°f�díeQ�d°f�dîeS�d°f�dïeS�d°f�dðeQ�d°f�dñeQ�d°f�dòeS�d°f�dóe[�d°f�dôeS�d°f�dõeQ�d°f�döeS�d°f�d÷eS�d°f�døeQ�d°f�dùeQ�d°f�dúeQ�d°f�dûeS�d°f�düe[�d°f�dýeS�d°f�dþea�d°f�dÿef�d°f�d eW�d°f�deU�d°f�dex�d°f�deW�d°f�deQ�d°f�deQ�d°f�deW�d°f�deg�d°f�deWdf�d	eh�d°f�d
eQdf�deW�d°f�dey�d°f�deW�d°f�dez�d°f�de{�d°f�deW�d°f�de|�d°f�deW�d°f�deU�d°f�deQ�d°f�deQdf�deQ�d°f�deQ�d°f�deU�d°f�de}�d°f�de[�d°f�deW�d°f�deQ�d°f�deQ�d°f�deQdf�de~�d°f�d eQ�d°f�d!eU�d°f�d"ei�d°f�d#eW�d°f�d$eW�d°f�d%eW�d°f�d&eS�d°f�d'eS�d°f�d(eU�d°f�d)eW�d°f�d*eU�d°f�d+eU�d°f�d,eU�d°f�d-eU�d°f�d.eU�d°f�d/eU�d°f�d0ea�d°f�d1ea�d°f�d2eS�d°f�d3eQ�d°f�d4eW�d°f�d5eW�d°f�d6eW�d°f�d7eW�d°f�d8eW�d°f�d9ec�d°f�d:eS�d°f�d;eS�d°f�d<e�d°f�d=e€�d°f�d>eU�d°f�d?eQ�d°f�d@e[�d°f�dAe[�d°f�dBe[�d°f�dCe[�d°f�dDeW�d°f�dEeU�d°f�dFeQ�d°f�dGeQ�d°f�dHeQ�d°f�dIeU�d°f�dJeW�d°f�dKeW�d°f�dLe��d°f�dMeU�d°f�dNe‚�d°f�dOeW�d°f�dPeU�d°f�dQeU�d°f�dReU�d°f�dSeW�d°f�dTeU�d°f�dUeƒ�d°f�dVeQ�d°f�dWeQ�d°f�dXe„�d°f�dYeQ�d°f�dZeU�d°f�d[eQ�d°f�d\eS�d°f�d]e…�d°f�d^eQ�d°f�d_ec�d°f�d`eU�d°f�daeU�d°f�dbe†�d°f�dceS�d°f�ddeS�d°f�dee‡�d°f�dfee�d°f�dgeSdf�dhe[�d°f�dieU�d°f�dje[�d°f�dkeW�d°f�dleˆ�d°f�dme[�d°f�dne‰�d°f�doe[�d°f�dpeW�d°f�dqe[�d°f�dreŠ�d°f�dseU�d°f�dteQ�d°f�dueW�d°f�dve‹�d°f�dweŒ�d°f�dxe��d°f�dyeY�d°f�dzeU�d°f�d{eU�d°f�d|eW�d°f�d}eŽ�d°f�d~eU�d°f�deQ�d°f�d€e��d°f�d�eU�d°f�d‚ec�d°f�dƒeW�d°f�d„eUdf�d…eWdf�d†eSdf�d‡eU�d°f�dˆeQ�d°f�d‰eU�d°f�dŠeU�d°f�d‹e]�d°f�dŒeW�d°f�d�e��d°f�dŽe‘�d°f�d�e_�d°f�d�e’�d°f�d‘eW�d°f�d’e“�d°f�d“e”�d°f�d”eU�d°f�d•eU�d°f�d–eUdf�d—e•df�d˜eSdf�d™eQ�d°f�dšeS�d°f�d›eS�d°f�dœeS�d°f�d�e[�d°f�dže–�d°f�dŸe—�d°f�d eW�d°f�d¡eU�d°f�d¢ea�d°f�d£eS�d°f�d¤eS�d°f�d¥eS�d°f�d¦eW�d°f�d§eU�d°f�d¨eQ�d°f�d©e˜�d°f�dªeQ�d°f�d«eU�d°f�d¬eU�d°f�d­eW�d°f�d®eU�d°f�d¯eS�d°f�d°e™�d°f�d±eš�d°f�d²eU�d°f�d³eU�d°f�d´e›�d°f�dµea�d°f�d¶eU�d°f�d·ea�d°f�d¸ea�d°f�d¹eU�d°f�dºeW�d°f�d»eS�d°f�d¼eU�d°f�d½eS�d°f�d¾eS�d°f�d¿eU�d°f�dÀeS�d°f�dÁeY�d°f�dÂeU�d°f�dÃeY�d°f�dÄeY�d°f�dÅeœ�d°f�dÆe��d°f�dÇež�d°f�dÈeU�d°f�dÉeŸ�d°f�dÊeS�d°f�dËeU�d°f�dÌe �d°f�dÍeS�d°f�dÎeU�d°f�dÏeW�d°f�dÐeU�d°f�dÑe¡�d°f�dÒe¢�d°f�dÓeU�d°f�dÔeU�d°f�dÕeS�d°f�dÖeS�d°f�d×eU�d°f�dØeW�d°f�dÙeW�d°f�dÚeW�d°f�dÛeW�d°f�dÜeU�d°f�dÝeW�d°f�dÞeW�d°f�dßeU�d°f�dàeW�d°f�dáeW�d°f�dâeW�d°f�dãeW�d°f�däeW�d°f�dåe_�d°f�dæeW�d°f�dçe_�d°f�dèeW�d°f�dée£�d°f�dêeY�d°f�dëeU�d°f�dìeW�d°f�díeU�d°f�dîe¤�d°f�dïeU�d°f�dðeU�d°f�dñeU�d°f�dòeU�d°f�dóeQ�d°f�dô�œD�dõeP�döf�d÷eP�döf�døe¥�döf�dùe`�döf�dúeT�döf�dûeR�döf�düeR�döf�dýeR�döf�dþeR�döf�dÿeb�döf�d eT�döf�deV�döf�deT�döf�de¦�döf�de§�döf�de¨�döf�deV�döf�deV�döf�deT�döf�d	eV�döf�d
eT�döf�de©�döf�deV�döf�deV�döf�deª�döf�deR�döf�deT�döf�de«�döf�deR�df�de¬�df�deP�df�deP�df�de­�df�deV�df�deV�df�de®�df�deR�df�deR�df�deV�df�deV�df�deV�df�d eR�döf�d!eP�döf�d"eP�döf�d#eT�döf�d$eV�döf�d%eV�döf�d&eR�döf�dSeV�döf�dNeP�döf�dPeR�döf�dQeR�döf�d'eR�döf�dMeT�döf�dOeV�döf�d(e¯�döf�d)eT�döf�d*e°�döf�d+eP�döf�d,eT�döf�d-eP�döf�d.eP�döf�d/eP�döf�d0eP�döf�d1e±�döf�d2e²�döf�d3eR�döf�d4eR�döf�d5eT�df�d6eV�df�d7ej�df�d8eT�df�d9eT�df�d:e³�döf�d;eP�df�d<eT�df�d=eP�df�d>eV�df�d?e´�df�d@eT�df�dAeR�df�dBeR�df�dCeT�df�dDeR�df�dEeR�df�dFeR�df�dGeR�df�dHeT�df�dIeµ�df�dJeT�df�dKe¶�df�dLeT�df�dMe·�df�dNeV�df�dOeV�df�dPeV�df�dQeT�döf�dRek�döf�d&eR�döf�dSe¸�döf�dTeR�döf�dUe¹�döf�dVeº�döf�dWe»�döf�dXe¼�df�dYe^�df�dZe½�df�d[eR�döf�d\e¾�df�d]eV�df�d^e¿�df�d_eT�df�d`eV�df�daeÀ�df�dbeÁ�df�dceV�df�ddeT�df�deeR�df�dfeR�df�dgeT�döf�d^eP�döf�dheP�döf�dieP�döf�djeV�döf�dkeP�döf�dleÂ�döf�deP�döf�dmeP�döf�dneP�döf�doeT�döf�dpe^�döf�dqe^�döf�dreP�döf�dseP�döf�dteT�döf�dueP�döf�dveP�döf�dweP�döf�dxeP�döf�dyeT�döf�dzeP�döf�d{eP�döf�d|e`�döf�d}e`�döf�d~e`�döf�deP�döf�d€eT�döf�d�eT�döf�d‚eP�döf�dƒeP�döf�d„eR�döf�d…eP�döf�d†eP�döf�d‡eP�döf�dˆeP�döf�d‰eP�döf�dŠeX�döf�d‹eÃ�döf�dŒeÄ�döf�d�eT�döf�dŽeR�döf�d�eÅ�döf�d�eV�döf�d‘eV�döf�d’eÆ�döf�d“eV�döf�d”eÇ�döf�d•eT�döf�d–eT�döf�d—eT�döf�d˜eT�döf�d™eT�döf�dšeT�döf�d›eT�döf�dœeV�döf�d�eÈ�döf�džeÉ�döf�dŸeÊ�döf�d eV�döf�d¡eP�döf�d¢eV�döf�d£eT�döf�d¤eP�döf�d¥eT�döf�d¦eË�döf�d§eR�döf�d¨eP�döf�d©eÌ�döf�dªeR�döf�d«eR�döf�d¬eP�döf�d­eÍ�döf�d®eÎ�döf�d¯eP�döf�d°eR�döf�d±eR�döf�d²eR�döf�d³eÏ�döf�d´eÐ�döf�dµeÑ�döf�d¶eT�döf�d·eT�döf�d¸eT�döf�d¹eP�döf�dºeR�döf�d»eÒ�döf�d¼eÓ�döf�d½eÔ�döf�d¾eÕ�döf�d¿eV�döf�dÀeÖ�döf�dÁeb�döf�dÂeT�döf�dÃeR�döf�dÄe×�döf�dÅeT�döf�dÆeØ�döf�dÇeR�döf�dÈeÙ�döf�dÉeT�döf�dÊeÚ�döf�dËeÛ�döf�dÌeV�döf�dÍeV�döf�dÎeÜ�döf�dÏeÝ�döf�dÐeÞ�df�dÑeT�df�dÒeT�df�dÓe`�df�dÔeb�df�dÕeV�df�dÖeT�df�d×eT�df�dØeV�df�dÙeV�df�dÚe^�döf�dÛe^�döf�dÜe^�döf�dÝeß�döf�dÞeV�df�dßeà�df�dàeá�df�dáeT�df�dâe`�df�dãeR�df�däeR�df�dåeT�df�dæeb�df�dçeR�df�dèeT�df�déeâ�df�dêeã�df�dëeR�df�dìeR�df�díeT�df�dîeä�df�dïeå�df�dðeæ�df�dñeç�df�dòeè�df�dóeé�df�dôeT�df�dõeT�df�döeR�df�d÷eT�df�døe`�df�dùeê�df�dúeV�df�dûeT�df�düeë�df�dýeT�df�dþeR�df�dÿeP�df�d eP�df�de`�df�deT�df�deì�df�deP�döf�deT�döf�deí�döf�deP�döf�deV�döf�d	eT�döf�d
eî�döf�deï�döf�deð�döf�deV�döf�deT�döf�deñ�döf�deP�döf�deò�döf�deó�döf�deP�döf�deP�döf�deô�döf�deõ�döf�deö�döf�deP�döf�de÷�döf�deø�döf�deV�döf�de`�döf�de`�döf�deP�döf�deP�döf�d eP�döf�d!eP�döf�d"eù�döf�d#eú�döf�d$eP�döf�d%eP�döf�d&eT�döf�d'eP�döf�d(eû�döf�d)eT�döf�d*e^�döf�d+eü�döf�d,eT�döf�d-eý�döf�d.e^�döf�d/eR�döf�d0eT�döf�d1eV�döf�d2eT�döf�d3e^�döf�d4eþ�döf�d5e^�döf�d6eT�döf�d7eÿ�döf�d8eT�döf�d9eT�döf�d:e^�döf�d;e^�döf�d<eT�döf�d=�e �döf�d>eT�döf�d?�e�döf�d@eP�döf�dAeV�döf�dBeV�döf�dCeV�döf�dDeV�döf�dEeV�döf�dFeV�döf�dGeP�döf�dHeT�döf�dIeT�döf�dJeP�döf�dKeP�döf�dLeR�döf�dMeV�döf�dNeV�döf�dOeR�döf�dPeT�döf�dQeT�döf�dReV�döf�dSeR�döf�dTeV�döf�dUeT�döf�dVeT�döf�dWeT�döf�dXeT�döf�dY�e�döf�dZeV�döf�d[eV�döf�d\�e�döf�d]eV�döf�d^eV�döf�d_eV�döf�d`�e�döf�daeV�döf�dbeV�döf�dceP�döf�dd�e�döf�deeT�döf�dfeT�döf�dgeT�döf�dh�e�döf�dieR�döf�dj�e�döf�dkeT�döf�dleV�döf�dm�e�döf�dne^�döf�doeV�döf�dpeV�döf�dqeV�döf�dreV�döf�dseP�df�dt�e	�döf�dueR�döf�dveR�döf�dweR�döf�dxeR�döf�dyeR�döf�dze`�döf�d{eR�döf�d|eR�döf�d}�e
�döf�d~�e�döf�deT�döf�d€eR�döf�d��e�döf�d‚eR�döf�dƒeR�döf�d„eR�döf�d…eR�döf�d†eT�döf�d‡�e�döf�dˆeT�döf�d‰eR�döf�dŠeR�döf�d‹eT�döf�dŒeT�döf�d�eR�döf�dŽeT�döf�d�eR�döf�d�eR�döf�d‘�e�döf�d’eT�döf�d“eR�döf�d”�e�döf�d•�e�döf�d³eT�döf�d–eV�döf�d—eT�döf�d˜eT�döf�d™eR�döf�dšeT�döf�d›eR�döf�dœeV�döf�d��e�df�dž�e�df�dŸ�e�df�d e^�df�d¡eT�df�d¢eT�df�d£eT�df�d¤eT�df�d¥�e�df�d¦eT�döf�d§�e�döf�d¨�e�döf�d©�e�döf�dªeP�döf�d«eT�df�d¬eR�döf�d­eV�döf�d®eV�df�d¯eT�df�d°eT�df�d±eV�df�d²eV�df�d³�e�df�d´eR�df�dµeR�df�d¶eV�df�d·�e�df�d¸eV�df�d¹eV�df�dºeV�df�d»eV�df�d¼eP�df�d½eP�df�d¾eT�df�d¿eV�df�dÀeT�df�dÁeV�df�dÂeR�df�dÃe`�df�dÄeP�df�dÅeV�df�dÆeV�df�dÇeR�df�dÈeT�df�dÉeT�df�dÊeR�df�dËeR�df�dÌeR�df�dÍeR�df�dÎeR�df�dÏeR�df�dÐeR�df�dÑeR�df�dÒ�e�df�dÓeV�df�dÔeT�df�dÕ�e�df�dÖ�e�df�d×�e�df�dØeV�df�dÙ�e�df�dÚ�e�df�dÛeV�df�dÜe`�df�dÝeT�df�dÞ�e �df�dßeT�df�dàeV�df�dáeV�df�dâ�e!�df�dã�e"�df�däeV�df�då�e#�df�dæ�e$�df�dç�e%�df�dè�e&�df�déeV�df�dê�e'�df�dëeV�df�dìeV�döf�díeV�döf�dîeT�döf�dïeP�df�dðel�df�dñeR�df�dò�e(�df�dóeT�df�dô�e)�df�dõeV�df�döeR�df�d÷eR�df�døeX�df�dùeX�df�dúeV�df�dûeP�df�düeV�df�dýeP�df�dþeT�df�dÿeV�df�d eV�df�deR�df�deR�df�deT�döf�deX�döf�deT�döf�deP�döf�deP�döf�deP�döf�d	�e*�döf�d
�e+�döf�de`�döf�deT�döf�de`�döf�d�e,�döf�de^�döf�deR�döf�deR�döf�d�e-�döf�de`�döf�deV�döf�deT�döf�deR�döf�deP�döf�deP�döf�d�e.�döf�deT�döf�deT�döf�deT�döf�d�e/�döf�deT�döf�deV�döf�d eV�döf�d!�e0�döf�d"eV�döf�d#eP�döf�d$�e1�döf�d%eX�döf�d&e^�döf�d'eX�döf�d(eT�döf�d)e^�döf�d*e^�döf�d+e^�döf�d,e^�döf�d-eV�döf�d.eT�döf�d/�e2�döf�d0eT�döf�d1�e3�döf�d2eV�döf�d3�e4�döf�d4eT�döf�d5eT�döf�d6eT�döf�d7eT�döf�d8eT�döf�d9eT�döf�d:eT�döf�d;eT�döf�d<eV�döf�d=eP�döf�d>�e5�döf�d?�e6�döf�d@e`�döf�dA�e7�döf�dB�e8�döf�dCeT�döf�dDeT�döf�dEeV�döf�dF�e9�döf�dG�e:�döf�dH�e;�df�dI�e<�df�dJeV�döf�dKeV�döf�dL�e=�döf�dMeR�döf�dNeT�döf�dOeP�döf�dPe`�döf�dQ�e>�döf�dRe^�döf�dS�e?�döf�dTeT�döf�dU�e@�döf�dV�eA�döf�dWeT�döf�dXeV�döf�dY�eB�döf�dZ�eC�döf�d[eT�döf�d\eP�döf�d]eP�döf�d^�eD�döf�d_�eE�döf�d`eR�döf�daeT�döf�dbeP�döf�dceR�döf�ddeV�döf�dee`�döf�dfeT�döf�dge`�döf�dheP�df�dieP�df�djeP�df�dkeV�df�dl�eF�döf�dmeT�döf�dneT�döf�doeV�döf�dpeT�döf�dqeV�döf�dreV�döf�ds�eG�döf�dt�eH�döf�du�eI�döf�dveV�döf�dweP�döf�dx�eJ�döf�dy�eK�döf�dzeV�döf�d{eR�döf�d|eR�döf�d}eR�döf�d~�eL�döf�d�eM�döf�d€eV�döf�d��eN�döf�d‚eT�df�dƒeR�df�d„eR�df�d…eT�df�d†eR�df�d‡eR�df�dˆeV�df�d‰eR�df�dŠeV�df�d‹eT�df�dŒeT�df�d�eT�df�dŽeV�df�d�eT�df�d��eO�df�d‘eV�df�d’eT�df�d“eV�df�d”eV�df�d•eT�df�d–eT�df�d—eV�df�d˜eV�df�d™eT�df�deV�df�dšeV�df�d›�eP�df�dœ�eQ�df�d�eT�df�džeV�df�dŸeR�df�d eP�döf�d¡�eR�döf�d¢�eS�döf�d£�eT�döf�d¤eV�döf�d¥eP�döf�d¦�eU�döf�d§�eV�döf�d¨e`�döf�d©�eW�döf�dª�eX�döf�d«eP�döf�d¬eT�döf�d­�eY�döf�d®eP�döf�d¯e`�döf�d°eP�döf�d±eT�döf�d²eP�döf�d³�eZ�döf�d´eR�df�dµe`�df�d¶e`�df�d·eV�df�d¸�e[�df�d¹e^�df�dº�e\�df�d»e^�df�d¼eT�df�d½eP�df�d¾eT�df�d¿eR�df�dÀeR�df�dÁeR�df�dÂeT�df�dÃeV�df�dÄeV�df�dÅeT�df�dÆeV�df�dÇeV�df�dÈeV�df�dÉeP�döf�dÊeP�döf�dËeT�döf�dÌ�e]�döf�dÍeT�döf�dÎe^�döf�dÏeP�döf�dÐeP�döf�dÑeP�döf�dÒeP�döf�dÓeT�döf�dÔe`�döf�dÕ�e^�döf�dÖeV�döf�d×eV�döf�dØeT�döf�dÙeT�döf�dÚeR�döf�dÛeR�döf�dÜeR�döf�dÝ�e_�döf�dÞeT�döf�dßeR�döf�dàeR�döf�dáe^�döf�dâeR�döf�dã�e`�döf�däeR�döf�dåeV�döf�dæeV�döf�dçe`�döf�dè�ea�döf�déeP�döf�dêeP�döf�dëeP�döf�dìeP�döf�díeP�döf�dîeX�döf�dïeX�döf�dðeP�döf�dñeP�döf�dò�eb�döf�dóeX�döf�dôeP�döf�dõeT�döf�dö�ec�döf�d÷�ed�döf�døe`�döf�dù�ee�döf�dúe`�döf�dûeT�döf�dü�ef�döf�dý�eg�döf�dþe^�döf�dÿ�eh�döf�d e`�döf�deP�döf�d�ei�döf�de^�döf�de^�döf�deP�döf�d�œ�dœ�Zj�d�Zkg �d	¢�Zl�d
�dd�dif�d�d�d�d�d�d�d�dœf�d�d�d�dif�d�d�d�dif�d�d�d�d�d�d�dœf�d�d�d�d�d�d�d�dœf�d�d�d�d�dœf�dv�ddh�dif�d�d �d�d�d�d�d�dœf�d!�d"�d�d�d�d�d�d#œf�d$�d%d�dif�d&�d'd�dif�d(�d)�d*�dif�d+�d,�d*�dif�d-�d.�d*�dif�d/�d0�d*�dif�d1�d2�d*�dif�d3�d4�d*�dif�d(�d)�d5�dif�d+�d,�d�d�d6œf�d-�d.�d5�dif�d/�d0�d�d�d6œf�d1�d2�d�d�d6œf�d3�d4�d�d7�d6œf�d&�d8�d9�dif�d:�d;�d9�dif�d<�d=�d9�dif�d>�d?�d9�dif�d@�dA�dB�dif�dC�dD�dB�dif�dE�dF�dB�dif�dG�dH�dB�dif�dI�dJ�dB�dif�dK�d;�dB�dif�dL�dM�dB�dif�dN�dO�dB�dif�dP�dQ�dR�dif�dS�dT�dU�dif�dV�dW�dX�dif�dY�dZ�dX�dif�d[�d\�d]�dif�d^�d_�dX�dif�d`�d=�dX�dif�da�db�dc�dif�dd�de�dc�dif�dfœ-�ZmG �dg�dh„ �dheƒ�Zn�di�dj„ �Zo�dk�dl„ �Zp�dm�dn„ �Zqee�en�do�dp� ee�en�do�dq� ee�en�do�dp� ee�en�do�dq� ee�en�dr�ds� ee�en�dt�ds� dS (u  a�  
Diameter protocol implementation for Scapy

This implements the base Diameter protocol RFC6733 and the additional standards:  # noqa: E501
    RFC7155, RFC4004, RFC4006, RFC4072, RFC4740, RFC5778, RFC5447, RFC6942, RFC5777  # noqa: E501
    ETS29229 V12.3.0 (2014-09), ETS29272 V13.1.0 (2015-03), ETS29329 V12.5.0 (2014-12),  # noqa: E501
    ETS29212 V13.1.0 (2015-03), ETS32299 V13.0.0 (2015-03), ETS29210 V6.7.0 (2006-12),  # noqa: E501
    ETS29214 V13.1.0 (2015-03), ETS29273 V12.7.0 (2015-03), ETS29173 V12.3.0 (2015-03),  # noqa: E501
    ETS29172 V12.5.0 (2015-03), ETS29215 V13.1.0 (2015-03), ETS29209 V6.8.0 (2011-09),  # noqa: E501
    ETS29061 V13.0.0 (2015-03), ETS29219 V13.0.0 (2014-12)

IMPORTANT note:
    - Some Diameter fields (Unsigned64, Float32, ...) have not been tested yet due to lack  # noqa: E501
        of network captures containing AVPs of that types contributions are welcomed.  # noqa: E501
é    N©Úctime)ÚPacketÚbind_layers)ÚConditionalFieldÚ	EnumFieldÚFieldÚFieldLenFieldÚ
FlagsFieldÚIEEEDoubleFieldÚIEEEFloatFieldÚIntEnumFieldÚIntFieldÚ	LongFieldÚPacketListFieldÚSignedIntFieldÚStrLenFieldÚX3BytesFieldÚ
XByteFieldÚ	XIntField)ÚTCP)ÚSCTPChunkData)ÚchbÚorbÚrawÚ	bytes_hexÚ	plain_str)Úwarning)Ú	inet_ntoaÚ	inet_aton)Ú	inet_ptonÚ	inet_ntopc                   @   s   e Zd ZdZdd„ ZdS )ÚI3BytesEnumFieldz 3 bytes enum field c                 C   s   t  | |||d¡ d S )Nú!I)r   Ú__init__)ÚselfÚnameÚdefaultÚenum© r)   úM/var/www/html/gsl.tools/lib/python3.9/site-packages/scapy/contrib/diameter.pyr$   6   s    zI3BytesEnumField.__init__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r$   r)   r)   r)   r*   r"   3   s   r"   c                   @   s0   e Zd Zg d¢Zdddd„ fdd„Zdd„ ZdS )	ÚI3FieldLenField)Ú	length_ofÚcount_ofÚadjustNc                 C   s   |S ©Nr)   ©ÚpktÚxr)   r)   r*   Ú<lambda>C   s    zI3FieldLenField.<lambda>c                 C   s$   t  | ||¡ || _|| _|| _d S r3   )r   r$   r0   r1   r2   )r%   r&   r'   r0   r1   r2   r)   r)   r*   r$   =   s    zI3FieldLenField.__init__c                 C   s   t  | ||¡S r3   )r	   Úi2m©r%   r5   r6   r)   r)   r*   r8   J   s    zI3FieldLenField.i2m)r+   r,   r-   Ú	__slots__r$   r8   r)   r)   r)   r*   r/   :   s   ú
r/   c                   @   s   e Zd Zdd„ ZdS )ÚDRFlagsc           
      C   s´   |d u rdS t t|ƒƒ}d}|d@ r(dnd}|d@ r>d}d}nd	}d	}|d	L }t|ƒD ]2}||d
@ rzt| j||  d ƒp|d7 }|d
L }qV|d d d… }	|| d |	d |…  d S )NÚNoneÚ é€   z Requestz Answeré   é   r   é   é   ú-éÿÿÿÿú (ú)©ÚhexÚintÚrangeÚstrÚnames)
r%   r5   r6   ÚresÚrZcmdtÚnbÚoffsetÚiÚinvertr)   r)   r*   Úi2reprS   s     &
zDRFlags.i2reprN©r+   r,   r-   rS   r)   r)   r)   r*   r;   R   s   r;   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚDRCodec                 C   s6   i }|  ¡ D ]\}}|d ||< qt | |||¡ dS )z›enum is a dict of tuples, so conversion is required before calling the actual init method.  # noqa: E501
           Note: the conversion is done only once.r   N)Úitemsr"   r$   )r%   r&   r'   r(   ZenumDictÚkÚvr)   r)   r*   r$   h   s    zDRCode.__init__c                 C   s0   |   ||¡}t|ƒ}||kr d}|d | d S )NÚUnknownrE   rF   )Z
i2repr_onerK   )r%   r5   r6   ÚcmdÚsxr)   r)   r*   rS   p   s
    zDRCode.i2reprN)r+   r,   r-   r$   rS   r)   r)   r)   r*   rU   g   s   rU   c                   @   s   e Zd Zdd„ ZdS )ÚAVPFlagsc           	      C   s    |d u rdS t t|ƒƒ}d}|d@ r.d}d}nd}d}|dL }t|ƒD ]2}||d@ rjt| j||  d ƒpld	7 }|dL }qF|d d d
… }|d |d |…  d S )Nr<   r=   é   r@   r   é   é   rB   rC   rD   rE   rF   rG   )	r%   r5   r6   rM   rN   rO   rP   rQ   rR   r)   r)   r*   rS   }   s    &
zAVPFlags.i2reprNrT   r)   r)   r)   r*   r\   |   s   r\   c                   @   s   e Zd Zdd„ ZdS )Ú	AVPVendorc                 C   s   t  |d¡}d|t|ƒf S )NZUnkown_Vendorz%s (%s))Ú
vendorListÚgetrK   )r%   r5   r6   Úvendorr)   r)   r*   rS   ‘   s    zAVPVendor.i2reprNrT   r)   r)   r)   r*   r`   �   s   r`   ZciscoSystemszNortel NetworksZ3ComÚ	MicrosoftZTekeleczJuniper Networks, Inc.ZNetgearzCisco Systems, Inc.zCisco SystemszStarent NetworksZ3GPPZETSI)é	   é#   é+   i7  éC  iL
  i®  i‹  iÒ  iä  é¯(  iÛ2  iõA  ZDiameter_Common_MessagesZNASREQ_ApplicationZMobile_IPv4_ApplicationZDiameter_Base_AccountingZ#Diameter_Credit_Control_ApplicationZEAP_Applicationz6Diameter_Session_Initiation_Protocol_(SIP)_Applicationz"Diameter_Mobile_IPv6_IKE___(MIP6I)z"Diameter_Mobile_IPv6_Auth__(MIP6A)ZALU_SyZSun_Ping_ApplicationZ3GPP_CxZ3GPP_ShZ3GPP_GqZ3GPP_GmbZ3GPP_GxZEricsson_MSIZEricsson_ZxZ3GPP_RXZDiameter_e2e4_ApplicationzEricsson_Charging-CIPZ3GPP_RxZ3GPP_STaz3GPP_S6a/S6dz3GPP_S13/S13'Z3GPP_SLgZ3GPP_SWmZ3GPP_SWxZ3GPP_GxxZ3GPP_S9ZEricsson_HSIZ3GPP_S6bZ3GPP_SLhZ	3GPP_SGmbZ3GPP_SyZEricsson_Syz9Ericsson_Diameter_Signalling_Controller_Application_(DSC)ZRelay)'r   rB   é   r^   rA   r_   é   é   r@   éo   é+  é   é  i  i  i  i  i  i  i  i  i  i  é"  é#  é$  é'  é0  é1  i2  i3  i5  é8  éK  iL  iV  iX  ic  ì   ÿÿ c                   @   s   e Zd Zdd„ ZdS )ÚOctetStringc                 C   s*   z
t |ƒW S  ty$   t|ƒ Y S 0 d S r3   )r   ÚBaseExceptionr   r9   r)   r)   r*   rS   Ù   s    
zOctetString.i2reprNrT   r)   r)   r)   r*   rz   Ø   s   rz   c                   @   s   e Zd ZdS )Ú	Integer32N©r+   r,   r-   r)   r)   r)   r*   r|   à   s   r|   c                   @   s   e Zd Zdd„ ZdS )Ú	Integer64c                 C   s   t  | ||d¡ d S )NÚq)r   r$   )r%   r&   r'   r)   r)   r*   r$   å   s    zInteger64.__init__N)r+   r,   r-   r$   r)   r)   r)   r*   r~   ä   s   r~   c                   @   s   e Zd ZdS )Ú
Unsigned32Nr}   r)   r)   r)   r*   r€   é   s   r€   c                   @   s   e Zd ZdS )Ú
Unsigned64Nr}   r)   r)   r)   r*   r�   í   s   r�   c                   @   s   e Zd ZdS )ÚFloat32Nr}   r)   r)   r)   r*   r‚   ñ   s   r‚   c                   @   s   e Zd ZdS )ÚFloat64Nr}   r)   r)   r)   r*   rƒ   õ   s   rƒ   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚAddressc                 C   sL   |  d¡rt|dd … ƒS |  d¡r8ttj|dd … ƒS tdƒ t|ƒS d S )Nó    rj   ó    z(Warning: Address format not yet decoded.)Ú
startswithr   r!   ÚsocketÚAF_INET6Úprintr   r9   r)   r)   r*   rS   ÿ   s    

zAddress.i2reprc                 C   sn   |rjt |tƒrjzt|ƒ}d| W S  tyh   zttj|ƒ}d| W  Y S  tyb   tdƒ Y n0 Y n0 dS )Nr…   r†   z*Warning: Address format not supported yet.ó    )Ú
isinstancerK   r   r{   r    rˆ   r‰   rŠ   )r%   r5   r6   Úsr)   r)   r*   Úany2i  s    
zAddress.any2iN©r+   r,   r-   rS   rŽ   r)   r)   r)   r*   r„   þ   s   	r„   c                   @   s   e Zd Zdd„ ZdS )ÚTimec                 C   s   t |ƒS r3   r   r9   r)   r)   r*   rS     s    zTime.i2reprNrT   r)   r)   r)   r*   r�     s   r�   c                   @   s   e Zd Zdd„ ZdS )Ú
Enumeratedc                 C   s,   || j v r| j | d|  S t|ƒd S d S )Nz (%d)z
 (Unknown))Zi2sÚreprr9   r)   r)   r*   rS     s    
zEnumerated.i2reprNrT   r)   r)   r)   r*   r‘     s   r‘   c                   @   s   e Zd ZdS )ÚIPFilterRuleNr}   r)   r)   r)   r*   r“   #  s   r“   c                   @   s   e Zd ZdZdS )ÚGroupedzZThis class is just for declarative purpose because it is used in the AVP definitions dict.N)r+   r,   r-   r.   r)   r)   r)   r*   r”   '  s   r”   c                   @   s   e Zd ZdS )ÚQoSFilterRuleNr}   r)   r)   r)   r*   r•   0  s   r•   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚISDNc                 C   sR   d}|D ]D}t |ƒ}|td|d@  ƒ7 }|d@ d? }|dkr|td| ƒ7 }q|S )Nr‹   é0   r?   éð   rA   ©r   r   )r%   r5   r6   ÚoutÚcharÚcrX   r)   r)   r*   rS   5  s    zISDN.i2reprc                 C   sb   d}|r^d}|D ]8}t |ƒd }|r*|}n|d|  }|t|ƒ7 }| }q|s^|td| ƒ7 }|S )Nr‹   Tr—   é   r˜   r™   )r%   r5   r6   rš   Úfdrœ   ÚdigitÚvalr)   r)   r*   rŽ   ?  s    z
ISDN.any2iNr�   r)   r)   r)   r*   r–   4  s   
r–   rA   rB   )r6   r6   r6   r6   r6   ÚPÚMÚVc           
      K   sÈ   t | ƒtt kr¸t d| d t… ¡d }tt d| ttt … ¡d d@ ƒ}|rht d| dd… ¡d nd}|tv r¸t| }||v r¸|| d d… \}}}|| fi |¤Ž}	d| |	_|	S t| fi |¤ŽS )	Nr#   r   z!Br>   r@   é   r^   úAVP )	ÚlenÚAVP_Code_lengthÚAVP_Flag_lengthÚstructÚunpackÚboolÚ
AvpDefDictr&   ÚAVP_Unknown)
ÚpZkargsÚavpCodeÚvndZvndCodeZ
AvpVndDictZavpNameZAVPClassÚflagsÚresultr)   r)   r*   ÚGuessAvpType^  s$    ÿÿÿ 
r³   c                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	ÚAVP_Genericz@ Parent class for the 5 following AVP intermediate classes belowc                 C   s.   | j t }|rt| }|d |… ||d … fS r3   )ÚavpLenÚDIAMETER_BYTES_ALIGNMENT)r%   r�   ÚnbBytesr)   r)   r*   Úextract_paddingv  s    
zAVP_Generic.extract_paddingc                 C   s4   t |ƒ d }|r,|t dd¡7 }|d8 }q|| S )NrA   ÚBr   rB   )r¦   r©   Úpack)r%   r®   Zpayr·   r)   r)   r*   Ú
post_build|  s
    
zAVP_Generic.post_buildc                 C   s   | j t| ƒ| jd� ¡  d S )N)r&   )Ú	__class__r   r&   Úshow)r%   r)   r)   r*   Úshow2ƒ  s    zAVP_Generic.show2N)r+   r,   r-   r.   r¸   r»   r¾   r)   r)   r)   r*   r´   s  s   r´   c                 K   sh  d}t }t| tƒrrzFtD ]8}t| D ]*}t| | }|d dt| ƒ… | kr$‚ q$qd}W qÂ tyn   d}Y qÂ0 nPt| tƒrŽ| d }| d }n| }d}zt| | }d}W n tyÀ   d}Y n0 |sätdt| ƒ ƒ t| tƒrädS ||d< d|v�r|�r||d< d	|v�r4|�r"|d
 |d	< n|�r,dnd|d	< |�rB|d }|f i |¤Ž}|�rdd|d  |_|S )z; Craft an AVP based on its id and optional parameter fieldsNr   FTrB   z)The AVP identifier %s has not been found.r¯   ÚavpVndÚavpFlagsrj   r>   r¥   )	r­   rŒ   rK   r¬   r¦   r{   Úlistr   r&   )ZavpIdÚfieldsr    Z	classTyper°   ÚcodeÚfoundZ_retr)   r)   r*   ÚAVP‡  sV    

ÿÿ




rÅ   c                   @   s0   e Zd ZdZeddƒedddeƒeddƒgZdS )Ú	AVP_FL_NVz6 Defines the AVP of Fixed Length with No Vendor field.r¯   NrÀ   r@   rµ   )	r+   r,   r-   r.   r   r\   ÚAVP_Flags_Listr   Úfields_descr)   r)   r)   r*   rÆ   ¾  s
   ýrÆ   c                   @   s8   e Zd ZdZeddƒedddeƒeddƒeddƒgZ	dS )	ÚAVP_FL_Vz3 Defines the AVP of Fixed Length with Vendor field.r¯   NrÀ   r@   rµ   r¿   r   )
r+   r,   r-   r.   r   r\   rÇ   r   r`   rÈ   r)   r)   r)   r*   rÉ   Ç  s   ürÉ   c                   @   s:   e Zd ZdZeddƒedddeƒeddddd	„ d
�gZdS )Ú	AVP_VL_NVz9 Defines the AVP of Variable Length with No Vendor field.r¯   NrÀ   r@   rµ   r    c                 C   s   |d S ©Nr@   r)   r4   r)   r)   r*   r7   ×  r‹   zAVP_VL_NV.<lambda>©r0   r2   )	r+   r,   r-   r.   r   r\   rÇ   r/   rÈ   r)   r)   r)   r*   rÊ   Ñ  s   ÿýrÊ   c                   @   sB   e Zd ZdZeddƒedddeƒeddddd	„ d
�eddƒgZ	dS )ÚAVP_VL_Vz6 Defines the AVP of Variable Length with Vendor field.r¯   NrÀ   r@   rµ   r    c                 C   s   |d S ©Nr¤   r)   r4   r)   r)   r*   r7   á  r‹   zAVP_VL_V.<lambda>rÌ   r¿   r   )
r+   r,   r-   r.   r   r\   rÇ   r/   r`   rÈ   r)   r)   r)   r*   rÍ   Û  s   ÿûrÍ   c                	   @   s`   e Zd ZdZdZeddƒedddeƒedddd	d
„ d�e	e
ddƒdd
„ ƒedddd
„ d�gZdS )r­   ze The default structure for AVPs which could not be decoded (optional vendor field, variable length). zAVP Unknownr¯   NrÀ   r@   rµ   r    c                 C   s   |d | j d@ d?  S ©Nr@   r>   r_   ©rÀ   r4   r)   r)   r*   r7   í  r‹   zAVP_Unknown.<lambda>rÌ   r¿   r   c                 C   s
   | j d@ S )Nr>   rÐ   ©r5   r)   r)   r*   r7   î  r‹   c                 C   s   | j d | jd@ d?  S rÏ   )rµ   rÀ   rÑ   r)   r)   r*   r7   ð  r‹   ©Zlength_from)r+   r,   r-   r.   r&   r   r\   rÇ   r/   r   r`   r   rÈ   r)   r)   r)   r*   r­   æ  s   ÿÿúr­   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPV_StrLenFieldr    Nc                 C   s
   | j d S rÎ   ©rµ   rÑ   r)   r)   r*   r7   ú  r‹   zAVPV_StrLenField.<lambda>rÒ   )r+   r,   r-   rÍ   r   rÈ   r)   r)   r)   r*   rÓ   ÷  s   þrÓ   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPNV_StrLenFieldr    Nc                 C   s
   | j d S rË   rÔ   rÑ   r)   r)   r*   r7     r‹   zAVPNV_StrLenField.<lambda>rÒ   )r+   r,   r-   rÊ   r   rÈ   r)   r)   r)   r*   rÕ   þ  s   þrÕ   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPV_OctetStringr    Nc                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7     r‹   zAVPV_OctetString.<lambda>rÒ   )r+   r,   r-   rÍ   rz   rÈ   r)   r)   r)   r*   rÖ     s   þrÖ   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPNV_OctetStringr    Nc                 C   s
   | j d S rË   rÔ   rÑ   r)   r)   r*   r7     r‹   zAVPNV_OctetString.<lambda>rÒ   )r+   r,   r-   rÊ   rz   rÈ   r)   r)   r)   r*   r×     s   þr×   c                   @   s$   e Zd Zeedg edd„ d�gZdS )ÚAVPV_Groupedr    c                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7     r‹   zAVPV_Grouped.<lambda>rÒ   N)r+   r,   r-   rÍ   r   r³   rÈ   r)   r)   r)   r*   rØ     s
   ÿþrØ   c                   @   s$   e Zd Zeedg edd„ d�gZdS )ÚAVPNV_Groupedr    c                 C   s
   | j d S rË   rÔ   rÑ   r)   r)   r*   r7     r‹   zAVPNV_Grouped.<lambda>rÒ   N)r+   r,   r-   rÊ   r   r³   rÈ   r)   r)   r)   r*   rÙ     s
   ÿþrÙ   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPV_Unsigned32r�   r    N)r+   r,   r-   rµ   rÉ   r€   rÈ   r)   r)   r)   r*   rÚ   "  s   rÚ   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPNV_Unsigned32r¤   r    N)r+   r,   r-   rµ   rÆ   r€   rÈ   r)   r)   r)   r*   rÛ   '  s   rÛ   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPV_Integer32r�   r    N)r+   r,   r-   rµ   rÉ   r|   rÈ   r)   r)   r)   r*   rÜ   ,  s   rÜ   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPNV_Integer32r¤   r    N)r+   r,   r-   rµ   rÆ   r|   rÈ   r)   r)   r)   r*   rÝ   1  s   rÝ   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPV_Unsigned64é   r    N)r+   r,   r-   rµ   rÉ   r�   rÈ   r)   r)   r)   r*   rÞ   6  s   rÞ   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPNV_Unsigned64r�   r    N)r+   r,   r-   rµ   rÆ   r�   rÈ   r)   r)   r)   r*   rà   ;  s   rà   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPV_Integer64rß   r    N)r+   r,   r-   rµ   rÉ   r~   rÈ   r)   r)   r)   r*   rá   @  s   rá   c                   @   s   e Zd ZdZeeddƒgZdS )ÚAVPNV_Integer64r�   r    N)r+   r,   r-   rµ   rÆ   r~   rÈ   r)   r)   r)   r*   râ   E  s   râ   c                   @   s   e Zd ZdZeeddƒgZdS )Ú	AVPV_Timer�   r    N)r+   r,   r-   rµ   rÉ   r�   rÈ   r)   r)   r)   r*   rã   J  s   rã   c                   @   s   e Zd ZdZeeddƒgZdS )Ú
AVPNV_Timer¤   r    N)r+   r,   r-   rµ   rÆ   r�   rÈ   r)   r)   r)   r*   rä   O  s   rä   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPV_Addressr    Nc                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7   W  r‹   zAVPV_Address.<lambda>rÒ   )r+   r,   r-   rÍ   r„   rÈ   r)   r)   r)   r*   rå   T  s   þrå   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPNV_Addressr    Nc                 C   s
   | j d S rË   rÔ   rÑ   r)   r)   r*   r7   ^  r‹   zAVPNV_Address.<lambda>rÒ   )r+   r,   r-   rÊ   r„   rÈ   r)   r)   r)   r*   ræ   [  s   þræ   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPV_IPFilterRuler    Nc                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7   e  r‹   zAVPV_IPFilterRule.<lambda>rÒ   )r+   r,   r-   rÍ   r“   rÈ   r)   r)   r)   r*   rç   b  s   þrç   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPNV_IPFilterRuler    Nc                 C   s
   | j d S rË   rÔ   rÑ   r)   r)   r*   r7   l  r‹   zAVPNV_IPFilterRule.<lambda>rÒ   )r+   r,   r-   rÊ   r“   rÈ   r)   r)   r)   r*   rè   i  s   þrè   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPV_QoSFilterRuler    Nc                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7   s  r‹   zAVPV_QoSFilterRule.<lambda>rÒ   )r+   r,   r-   rÍ   r•   rÈ   r)   r)   r)   r*   ré   p  s   þré   c                   @   s"   e Zd Zeedddd„ d�gZdS )ÚAVPNV_QoSFilterRuler    Nc                 C   s
   | j d S rË   rÔ   rÑ   r)   r)   r*   r7   z  r‹   zAVPNV_QoSFilterRule.<lambda>rÒ   )r+   r,   r-   rÊ   r•   rÈ   r)   r)   r)   r*   rê   w  s   þrê   c                   @   s$   e Zd ZdZdZeeddeƒgZdS )Ú	AVP_0_258zAVP Auth-Application-Idr¤   r    N)	r+   r,   r-   r&   rµ   rÆ   r‘   Ú
AppIDsEnumrÈ   r)   r)   r)   r*   rë   …  s   rë   c                   @   s$   e Zd ZdZdZeeddeƒgZdS )Ú	AVP_0_266zAVP Vendor-Idr¤   r    N)	r+   r,   r-   r&   rµ   rÆ   r‘   ra   rÈ   r)   r)   r)   r*   rí   ‹  s   rí   c                F   @   s¨   e Zd ZdZdZee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+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEœAƒgZdS )FÚ	AVP_0_268zAVP Result-Coder¤   r    NZDIAMETER_MULTI_ROUND_AUTHZDIAMETER_SUCCESSZDIAMETER_LIMITED_SUCCESSÚDIAMETER_FIRST_REGISTRATIONÚ DIAMETER_SUBSEQUENT_REGISTRATIONÚDIAMETER_UNREGISTERED_SERVICEÚ'DIAMETER_SUCCESS_SERVER_NAME_NOT_STOREDZDIAMETER_SERVER_SELECTIONZ,DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STOREDZDIAMETER_SUCCESS_RELOCATE_HAZDIAMETER_COMMAND_UNSUPPORTEDZDIAMETER_UNABLE_TO_DELIVERZDIAMETER_REALM_NOT_SERVEDZDIAMETER_TOO_BUSYZDIAMETER_LOOP_DETECTEDZDIAMETER_REDIRECT_INDICATIONZ DIAMETER_APPLICATION_UNSUPPORTEDZDIAMETER_INVALID_HDR_BITSZDIAMETER_INVALID_AVP_BITSZDIAMETER_UNKNOWN_PEERZ DIAMETER_AUTHENTICATION_REJECTEDZDIAMETER_OUT_OF_SPACEZDIAMETER_ELECTION_LOSTZ DIAMETER_ERROR_MIP_REPLY_FAILUREZDIAMETER_ERROR_HA_NOT_AVAILABLEZDIAMETER_ERROR_BAD_KEYZ'DIAMETER_ERROR_MIP_FILTER_NOT_SUPPORTEDZ DIAMETER_END_USER_SERVICE_DENIEDZ&DIAMETER_CREDIT_CONTROL_NOT_APPLICABLEZDIAMETER_CREDIT_LIMIT_REACHEDZDIAMETER_USER_NAME_REQUIREDZDIAMETER_AVP_UNSUPPORTEDZDIAMETER_UNKNOWN_SESSION_IDZDIAMETER_AUTHORIZATION_REJECTEDZDIAMETER_INVALID_AVP_VALUEZDIAMETER_MISSING_AVPZDIAMETER_RESOURCES_EXCEEDEDZDIAMETER_CONTRADICTING_AVPSZDIAMETER_AVP_NOT_ALLOWEDZ"DIAMETER_AVP_OCCURS_TOO_MANY_TIMESZDIAMETER_NO_COMMON_APPLICATIONZDIAMETER_UNSUPPORTED_VERSIONZDIAMETER_UNABLE_TO_COMPLYZDIAMETER_INVALID_BIT_IN_HEADERZDIAMETER_INVALID_AVP_LENGTHZDIAMETER_INVALID_MESSAGE_LENGTHZDIAMETER_INVALID_AVP_BIT_COMBOZDIAMETER_NO_COMMON_SECURITYZ"DIAMETER_RADIUS_AVP_UNTRANSLATABLEZ$DIAMETER_ERROR_NO_FOREIGN_HA_SERVICEZ,DIAMETER_ERROR_END_TO_END_MIP_KEY_ENCRYPTIONZDIAMETER_USER_UNKNOWNZDIAMETER_RATING_FAILEDÚDIAMETER_ERROR_USER_UNKNOWNÚ$DIAMETER_ERROR_IDENTITIES_DONT_MATCHÚ&DIAMETER_ERROR_IDENTITY_NOT_REGISTEREDÚ"DIAMETER_ERROR_ROAMING_NOT_ALLOWEDÚ*DIAMETER_ERROR_IDENTITY_ALREADY_REGISTEREDÚ(DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTEDÚ!DIAMETER_ERROR_IN_ASSIGNMENT_TYPEÚDIAMETER_ERROR_TOO_MUCH_DATAz&DIAMETER_ERROR_NOT SUPPORTED_USER_DATAZDIAMETER_ERROR_MIP6_AUTH_MODEZDIAMETER_END_USER_NOT_FOUND)Aéé  éÑ  éÒ  éÓ  éÔ  éÕ  éÖ  é×  éØ  éÙ  i¹  iº  i»  i¼  i½  i¾  i¿  iÀ  iÁ  iÂ  i¡  i¢  i£  i¥  i¦  i§  i¨  iª  i«  i¬  i­  i‘  é‰  éŠ  é‹  éŒ  é�  éŽ  é�  é�  é‘  é’  é“  i”  i•  i–  i—  i˜  i™  iš  i   i¡  i¦  i§  i¨  i©  iª  i«  i¬  i­  i®  i¯  i°  é±  iy  ©r+   r,   r-   r&   rµ   rÆ   r‘   rÈ   r)   r)   r)   r*   rî   ‘  s’   Àþÿrî   c                R   @   sÀ   e Zd ZdZdZee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,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d=d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQœMƒgZdS )RÚ	AVP_0_298zAVP Experimental-Result-Coder¤   r    Nrï   rð   rñ   rò   Z(DIAMETER_PDP_CONTEXT_DELETION_INDICATIONZ DIAMETER_USER_DATA_NOT_AVAILABLEZ!DIAMETER_PRIOR_UPDATE_IN_PROGRESSZDIAMETER_ERROR_OUT_OF_RESOURCESZDIAMETER_PCC_BEARER_EVENTZ(DIAMETER_AUTHENTICATION_DATA_UNAVAILABLEZDIAMETER_ERROR_ABSENT_USERZDIAMETER_ERROR_UNREACHABLE_USERZDIAMETER_ERROR_SUSPENDED_USERZDIAMETER_ERROR_DETACHED_USERZ!DIAMETER_ERROR_POSITIONING_DENIEDZ!DIAMETER_ERROR_POSITIONING_FAILEDz-DIAMETER_ERROR_UNKNOWN_UNREACHABLE LCS_CLIENTró   rô   rõ   rö   r÷   rø   rù   rú   Z&DIAMETER_ERROR_NOT_SUPPORTED_USER_DATAZDIAMETER_MISSING_USER_IDZ"DIAMETER_ERROR_FEATURE_UNSUPPORTEDZ(DIAMETER_ERROR_USER_NO_WLAN_SUBSCRIPTIONz#DIAMETER_ERROR_W-APN_UNUSED_BY_USERzBDIAMETER_ERROR_W-DIAMETER_ERROR_NO_ACCESS_INDEPENDENT_SUBSCRIPTIONz)DIAMETER_ERROR_USER_NO_W-APN_SUBSCRIPTIONZ!DIAMETER_ERROR_UNSUITABLE_NETWORKZINVALID_SERVICE_INFORMATIONZFILTER_RESTRICTIONSZ REQUESTED_SERVICE_NOT_AUTHORIZEDZDUPLICATED_AF_SESSIONzIP-CAN_SESSION_NOT_AVAILABLEZ"UNAUTHORIZED_NON_EMERGENCY_SESSIONZ'DIAMETER_ERROR_USER_DATA_NOT_RECOGNIZEDZ$DIAMETER_ERROR_OPERATION_NOT_ALLOWEDZ'DIAMETER_ERROR_USER_DATA_CANNOT_BE_READZ+DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIEDZ+DIAMETER_ERROR_USER_DATA_CANNOT_BE_NOTIFIEDZ+DIAMETER_ERROR_TRANSPARENT_DATA_OUT_OF_SYNCZDIAMETER_ERROR_SUBS_DATA_ABSENTZ&DIAMETER_ERROR_NO_SUBSCRIPTION_TO_DATAZ!DIAMETER_ERROR_DSAI_NOT_AVAILABLEZDIAMETER_ERROR_START_INDICATIONZDIAMETER_ERROR_STOP_INDICATIONZ*DIAMETER_ERROR_UNKNOWN_MBMS_BEARER_SERVICEZDIAMETER_ERROR_SERVICE_AREAZ!DIAMETER_ERROR_INITIAL_PARAMETERSZDIAMETER_ERROR_TRIGGER_EVENTZDIAMETER_BEARER_EVENTZ$DIAMETER_ERROR_BEARER_NOT_AUTHORIZEDZ,DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTEDZDIAMETER_QOS_RULE_EVENTZ"DIAMETER_ERROR_CONFLICTING_REQUESTZDIAMETER_ERROR_IMPI_UNKNOWNZDIAMETER_ERROR_NOT_AUTHORIZEDZ-DIAMETER_ERROR_TRANSACTION_IDENTIFIER_INVALIDZ'DIAMETER_ERROR_UNKNOWN_EPS_SUBSCRIPTIONZDIAMETER_ERROR_RAT_NOT_ALLOWEDZ DIAMETER_ERROR_EQUIPMENT_UNKNOWNZ#DIAMETER_ERROR_UNKNOWN_SERVING_NODEZ,DIAMETER_ERROR_USER_NO_NON_3GPP_SUBSCRIPTIONZ'DIAMETER_ERROR_USER_NO_APN_SUBSCRIPTIONZ#DIAMETER_ERROR_RAT_TYPE_NOT_ALLOWEDZDIAMETER_ERROR_SUBSESSIONZ.DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_NETWORKZ-DIAMETER_ERROR_UNAUTHORIZED_REQUESTING_ENTITYZ#DIAMETER_ERROR_UNAUTHORIZED_SERVICEZ"DIAMETER_ERROR_INVALID_SME_ADDRESSZDIAMETER_ERROR_SC_CONGESTIONZDIAMETER_ERROR_SM_PROTOCOL)Mrü   rý   rþ   rÿ   éå  i  i  i  i-  iU  ii  i}  i~  i  i€  i�  i‚  r  r  r  r  r	  r
  r  r  r  r  r  r  i²  i³  i´  iµ  iÅ  iÆ  iÇ  iÈ  iÉ  iÊ  iì  ií  iî  iï  ið  iñ  iò  ió  iô  i   i  i  i  i  i  i  i  i  i  i  i  i  i  i  i,  i-  i.  i/  iJ  iK  iL  i^  ir  i†  i‡  iš  i›  iœ  r  r)   r)   r)   r*   r  Û  s¬   ³ýþr  c                   @   s*   e Zd ZdZdZeedddg d¢ƒgZdS )ÚAVP_10415_630zAVP Feature-Listr�   r    Né    ) ZSiFCZAliasIndZIMSRestorationIndZb3Zb4Zb5Zb6Zb7Zb8Zb9Zb10Zb11Zb12Zb13Zb14Zb15Zb16Zb17Zb18Zb19Zb20Zb21Zb22Zb23Zb24Zb25Zb26Zb27Zb28Zb29Zb30Zb31)r+   r,   r-   r&   rµ   rÉ   r
   rÈ   r)   r)   r)   r*   r  4  s   ÿÿr  c                   @   s&   e Zd ZdZeedddd„ d�gZdS )ÚAVP_10415_701z
AVP MSISDNr    Nc                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7   ^  r‹   zAVP_10415_701.<lambda>rÒ   ©r+   r,   r-   r&   rÍ   r–   rÈ   r)   r)   r)   r*   r  [  s   ÿr  c                   @   s&   e Zd ZdZeedddd„ d�gZdS )ÚAVP_10415_1643zAVP A_MSISDNr    Nc                 C   s
   | j d S rÎ   rÔ   rÑ   r)   r)   r*   r7   d  r‹   zAVP_10415_1643.<lambda>rÒ   r  r)   r)   r)   r*   r  a  s   ÿr  c                   @   sL   e Zd ZdZdZeeddddddd	d
ddddddddddddddœƒgZdS )ÚAVP_0_6úService-Typer¤   r    NrY   ZLoginZFramedzCallback-LoginzCallback-FramedZOutboundZAdministrativez
NAS-PromptzAuthenticate-OnlyzCallback-NAS-Promptz
Call CheckzCallback AdministrativeZVoiceZFaxzModem RelayzIAPP-RegisterzIAPP-AP-CheckzAuthorize OnlyzFramed-Management)r   rB   rj   r^   rA   r_   rk   rl   r@   re   é
   é   r¤   é   é   r?   r�   é   é   r  r)   r)   r)   r*   r  j  s4   íÿþr  c                   @   sB   e Zd ZdZdZeeddddddd	d
dddddddddœƒgZdS )ÚAVP_0_7úFramed-Protocolr¤   r    NZPPPZSLIPZARAPZGandalfZXylogicszX.75zGPRS PDP Contextz
Ascend-ARAZMPPZEURAWZEUUIÚX25ZCOMBZFR)rB   rj   r^   rA   r_   rk   rl   éÿ   é   é  é  é  é  é  r  r)   r)   r)   r*   r!  ‡  s*   òÿþr!  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_0_10úFramed-Routingr¤   r    Nr<   zSend routing packetszListen for routing packetszSend and Listen    ©r   rB   rj   r^   r  r)   r)   r)   r*   r+  Ÿ  s   üÿþr+  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_0_13úFramed-Compressionr¤   r    Nr<   zIPX header compressionzStac-LZS compression)r   rj   r^   r  r)   r)   r)   r*   r.  ­  s   
ÿþr.  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )ÚAVP_0_15úLogin-Servicer¤   r    NZTelnetZRloginz	TCP-ClearZ
PortMasterZLATzX25-PADz	X25-T3POSZ
Unassigned©r   rB   rj   r^   rA   r_   rk   rl   r  r)   r)   r)   r*   r0  ·  s   øÿþr0  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_0_45úAcct-Authenticr¤   r    Nr<   ZRADIUSZLocalZRemoteÚDiameter©r   rB   rj   r^   rA   r  r)   r)   r)   r*   r3  É  s   ÿþr3  c                (   @   sl   e Zd ZdZdZee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(œ#ƒgZdS ))ÚAVP_0_61úNAS-Port-Typer¤   r    NZAsyncZSyncz	ISDN-SynczISDN-Async-v120zISDN-Async-v110ZVirtualZPIAFSzHDLC-Clear-Channelr#  ZX75zG.3 FaxzSDSL - Symmetric DSLz#IDSL - ISDN Digital Subscriber LineZEthernetz.xDSL - Digital Subscriber Line of unknown typeZCablezWireless - OtherzWireless - IEEE 802.11z
Token-RingZFDDIzWireless - CDMA2000zWireless - UMTSzWireless - 1X-EVZIAPPzFTTP - Fiber to the PremiseszWireless - IEEE 802.16zWireless - IEEE 802.20zWireless - IEEE 802.22zPPPoA - PPP over ATMz$PPPoEoA - PPP over Ethernet over ATMz)PPPoEoE - PPP over Ethernet over Ethernetz(PPPoEoVLAN - PPP over Ethernet over VLANz2PPPoEoQinQ - PPP over Ethernet over IEEE 802.1QinQzxPON - Passive Optical NetworkzWireless - XGP)#r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r  r?   r�   r  r   é   rß   é   é   é   é   é   é   é   é   é   é   r]   r  é!   é"   rf   é$   r  r)   r)   r)   r*   r7  Ò  sT   Ýÿþr7  c                   @   s@   e Zd ZdZdZeeddddddd	d
ddddddddœƒgZdS )ÚAVP_0_64úTunnel-Typer¤   r    NZPPTPZL2FZL2TPZATMPZVTPZAHzIP-IP-Encapz	MIN-IP-IPZESPZGREZDVSzIP-in-IP TunnelingZVLAN)rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  r  r)   r)   r)   r*   rG  ÿ  s(   óÿþrG  c                   @   sD   e Zd ZdZdZeeddddddd	d
ddddddddddœƒgZdS )ÚAVP_0_65úTunnel-Medium-Typer¤   r    NÚIPv4ÚIPv6ZNSAPZHDLCZBBNzIEEE-802zE-163zE-164zF-69zX-121ZIPXzAppletalk-802ZDecnet4ZVinesz
E-164-NSAP©rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  r  r?   r  r)   r)   r)   r*   rI    s,   ñÿþrI  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_0_72úARAP-Zone-Accessr¤   r    Nz!Only allow access to default zonezUse zone filter inclusivelyzUse zone filter exclusively©rB   rj   r^   r  r)   r)   r)   r*   rN  /  s   ýÿþrN  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_0_76ÚPromptr¤   r    NzNo EchoZEcho©r   rB   r  r)   r)   r)   r*   rQ  <  s
   þrQ  c                   @   s4   e Zd ZdZdZeeddddddd	d
ddœƒgZdS )Ú	AVP_0_261úRedirect-Host-Usager¤   r    Nz
Don't CarezAll Sessionz	All RealmzRealm and ApplicationzAll ApplicationzAll HostZALL_USER©r   rB   rj   r^   rA   r_   rk   r  r)   r)   r)   r*   rT  E  s   ùÿþrT  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_271úSession-Server-Failoverr¤   r    NZREFUSE_SERVICEZ	TRY_AGAINZALLOW_SERVICEZTRY_AGAIN_ALLOW_SERVICEr-  r  r)   r)   r)   r*   rW  V  s   ÿþrW  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_273úDisconnect-Causer¤   r    NZ	REBOOTINGZBUSYZDO_NOT_WANT_TO_TALK_TO_YOU©r   rB   rj   r  r)   r)   r)   r*   rY  _  s   rY  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_274úAuth-Request-Typer¤   r    NZAUTHENTICATE_ONLYÚAUTHORIZE_ONLYÚAUTHORIZE_AUTHENTICATErP  r  r)   r)   r)   r*   r\  e  s   ÿÿr\  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_277úAuth-Session-Stater¤   r    NZSTATE_MAINTAINEDZNO_STATE_MAINTAINEDrS  r  r)   r)   r)   r*   r`  m  s   r`  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_285úRe-Auth-Request-Typer¤   r    Nr^  r_  rS  r  r)   r)   r)   r*   rb  s  s   rb  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )Ú	AVP_0_295úTermination-Causer¤   r    NZDIAMETER_LOGOUTZDIAMETER_SERVICE_NOT_PROVIDEDZDIAMETER_BAD_ANSWERZDIAMETER_ADMINISTRATIVEZDIAMETER_LINK_BROKENZDIAMETER_AUTH_EXPIREDZDIAMETER_USER_MOVEDZDIAMETER_SESSION_TIMEOUT)rB   rj   r^   rA   r_   rk   rl   r@   r  r)   r)   r)   r*   rd  y  s"   øýþrd  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )Ú	AVP_0_345úMIP-Algorithm-Typer¤   r    Nrj   z
HMAC-SHA-1r  r)   r)   r)   r*   rf  �  s   ÿrf  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_346úMIP-Replay-Moder¤   r    Nr<   Z
TimestampsZNoncesrP  r  r)   r)   r)   r*   rh  ”  s   ÿrh  c                   @   s>   e Zd ZdZdZeeddddddd	d
dddddddœƒgZdS )Ú	AVP_0_375úSIP-Server-Assignment-Typer¤   r    NÚNO_ASSIGNMENTÚREGISTRATIONÚRE_REGISTRATIONÚUNREGISTERED_USERÚTIMEOUT_DEREGISTRATIONÚUSER_DEREGISTRATIONÚ(TIMEOUT_DEREGISTRATION_STORE_SERVER_NAMEÚ%USER_DEREGISTRATION_STORE_SERVER_NAMEÚADMINISTRATIVE_DEREGISTRATIONÚAUTHENTICATION_FAILUREÚAUTHENTICATION_TIMEOUTÚDEREGISTRATION_TOO_MUCH_DATA)r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r  r)   r)   r)   r*   rj  ›  s*   ôýþrj  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )Ú	AVP_0_377úSIP-Authentication-Schemer¤   r    Nr   ZDIGESTr  r)   r)   r)   r*   rx  ³  s   ÿrx  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_384úSIP-Reason-Coder¤   r    NÚPERMANENT_TERMINATIONZNEW_SIP_SERVER_ASSIGNEDZSIP_SERVER_CHANGEZREMOVE_SIP_SERVERr-  r  r)   r)   r)   r*   rz  º  s   üýþrz  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_387úSIP-User-Authorization-Typer¤   r    Nrm  ZDEREGISTRATIONÚREGISTRATION_AND_CAPABILITIESr[  r  r)   r)   r)   r*   r}  Ê  s   ÿÿr}  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_392úSIP-User-Data-Already-Availabler¤   r    NÚUSER_DATA_NOT_AVAILABLEÚUSER_DATA_ALREADY_AVAILABLErS  r  r)   r)   r)   r*   r€  Ò  s   ÿÿr€  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )Ú	AVP_0_403úCHAP-Algorithmr¤   r    Nr_   zCHAP with MD5r  r)   r)   r)   r*   r„  Ú  s   ÿr„  c                   @   s4   e Zd ZdZdZeeddddddd	d
ddœƒgZdS )Ú	AVP_0_406úAccounting-Auth-Methodr¤   r    NZPAPZCHAPz	MS-CHAP-1z	MS-CHAP-2ZEAPÚ	Undefinedr<   )rB   rj   r^   rA   r_   rk   rl   r  r)   r)   r)   r*   r†  á  s   ÿÿr†  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_416úCC-Request-Typer¤   r    NÚINITIAL_REQUESTÚUPDATE_REQUESTZTERMINATION_REQUESTZEVENT_REQUEST©rB   rj   r^   rA   r  r)   r)   r)   r*   r‰  é  s   ÿÿr‰  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_418úCC-Session-Failoverr¤   r    NZFAILOVER_NOT_SUPPORTEDZFAILOVER_SUPPORTEDrS  r  r)   r)   r)   r*   rŽ  ñ  s   rŽ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_422úCheck-Balance-Resultr¤   r    NZENOUGH_CREDITZ	NO_CREDITrS  r  r)   r)   r)   r*   r�  ÷  s   ÿr�  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_426úCredit-Controlr¤   r    NZCREDIT_AUTHORIZATIONZRE_AUTHORIZATIONrS  r  r)   r)   r)   r*   r’  þ  s   r’  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_427úCredit-Control-Failure-Handlingr¤   r    NÚ	TERMINATEÚCONTINUEZRETRY_AND_TERMINATEr[  r  r)   r)   r)   r*   r”    s   ÿÿr”  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_428ú Direct-Debiting-Failure-Handlingr¤   r    NZTERMINATE_OR_BUFFERr—  rS  r  r)   r)   r)   r*   r˜    s   ÿr˜  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_433úRedirect-Address-Typer¤   r    NZIPV4_ADDRESSZIPV6_ADDRESSÚURLZSIP_URIr-  r  r)   r)   r)   r*   rš    s   rš  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_436úRequested-Actionr¤   r    NZDIRECT_DEBITINGZREFUND_ACCOUNTZCHECK_BALANCEZPRICE_ENQUIRYr-  r  r)   r)   r)   r*   r�    s   ÿÿr�  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_449úFinal-Unit-Actionr¤   r    Nr–  ZREDIRECTZRESTRICT_ACCESSr[  r  r)   r)   r)   r*   rŸ  !  s   rŸ  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )Ú	AVP_0_450úSubscription-Id-Typer¤   r    NZEND_USER_E164ZEND_USER_IMSIZEND_USER_SIP_URIZEND_USER_NAIZEND_USER_PRIVATEr6  r  r)   r)   r)   r*   r¡  '  s   ûýþr¡  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_452úTariff-Change-Usager¤   r    NZUNIT_BEFORE_TARIFF_CHANGEZUNIT_AFTER_TARIFF_CHANGEZUNIT_INDETERMINATEr[  r  r)   r)   r)   r*   r£  8  s   ÿÿr£  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )Ú	AVP_0_454úCC-Unit-Typer¤   r    NZTIMEZMONEYzTOTAL-OCTETSzINPUT-OCTETSzOUTPUT-OCTETSzSERVICE-SPECIFIC-UNITS©r   rB   rj   r^   rA   r_   r  r)   r)   r)   r*   r¥  @  s   úýþr¥  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_455úMultiple-Services-Indicatorr¤   r    NZMULTIPLE_SERVICES_NOT_SUPPORTEDZMULTIPLE_SERVICES_SUPPORTEDrS  r  r)   r)   r)   r*   r¨  R  s   ÿÿr¨  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_459úUser-Equipment-Info-Typer¤   r    NZIMEISVZMACZEUI64ZMODIFIED_EUI64r-  r  r)   r)   r)   r*   rª  Z  s   ÿÿrª  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_480úAccounting-Record-Typer¤   r    NzEvent RecordzStart RecordzInterim RecordzStop Recordr�  r  r)   r)   r)   r*   r¬  b  s   ÿÿr¬  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
Ú	AVP_0_483úAccounting-Realtime-Requiredr¤   r    NÚReservedZDELIVER_AND_GRANTZGRANT_AND_STOREZGRANT_AND_LOSEr-  r  r)   r)   r)   r*   r®  j  s   ÿÿr®  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_494úMIP6-Auth-Moder¤   r    Nr°  ZIP6_AUTH_MN_AAArS  r  r)   r)   r)   r*   r±  r  s   ÿr±  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )Ú	AVP_0_513ÚProtocolr¤   r    NZICMPZIGMPrK  r   ZUDPZSCTP)rB   rj   rA   rk   r  é„   r  r)   r)   r)   r*   r³  y  s   ÿÿr³  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_514Ú	Directionr¤   r    NÚINZOUTZBOTHr[  r  r)   r)   r)   r*   r¶  �  s   ÿr¶  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_517ÚNegatedr¤   r    NÚFalseÚTruerS  r  r)   r)   r)   r*   r¹  ˆ  s   ÿr¹  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_534úUse-Assigned-Addressr¤   r    Nr»  r¼  rS  r  r)   r)   r)   r*   r½  �  s   ÿr½  c                   @   sP   e Zd ZdZdZeeddddddd	d
ddddddddddddddddœƒgZdS )Ú	AVP_0_535úDiffserv-Code-Pointr¤   r    NZCS0ZCS1ZAF11ZAF12ZAF13ZCS2ZAF21ZAF22ZAF23ZCS3ZAF31ZAF32ZAF33ZCS4ZAF41ZAF42ZAF43ÚCS5ZEF_PHBÚCS6ÚCS7)r   r@   r  r¤   r  r�   r   rß   r;  r=  r?  rA  rC  r  rE  rF  é&   é(   é.   r—   é8   r  r)   r)   r)   r*   r¿  –  s<   ëýþr¿  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )Ú	AVP_0_536úFragmentation-Flagr¤   r    NzDon't FragmentzMore FragmentsrS  r  r)   r)   r)   r*   rÈ  ·  s   ÿrÈ  c                   @   sZ   e Zd ZdZdZee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œƒgZdS ) Ú	AVP_0_538úIP-Option-Typer¤   r    NZend_of_listZnopÚsecurityZloose_source_routeÚ	timestampZextended_securityZcommercial_securityZrecord_routeZ	stream_idZstrict_source_routeZexperimental_measurementZ	mtu_probeZ	mtu_replyZflow_controlZaccess_controlÚencodeZimi_traffic_descriptorZextended_IPZ
tracerouteZaddress_extensionZrouter_alertZ!selective_directed_broadcast_modeZdynamic_packet_stateZupstream_multicast_packetZquick_startZrfc4727_experiment)r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  r  r?   r�   r  r   r9  rß   r:  r<  r=  r>  rC  r  r)   r)   r)   r*   rÊ  ¾  sF   æýþrÊ  c                   @   s:   e Zd ZdZdZeeddddddd	d
dddddœ
ƒgZdS )Ú	AVP_0_541úTCP-Option-Typer¤   r    NZEOLÚNOPZMSSZWScaleZSAckOKZSAckÚ	TimestampZ	AltChkSumZAltChkSumOptZMood)
r   rB   rj   r^   rA   r_   r@   r  r?   r>  r  r)   r)   r)   r*   rÏ  ä  s&   öýþrÏ  c                   @   sD   e Zd ZdZdZeeddddddd	d
ddddddddddœƒgZdS )Ú	AVP_0_546úICMP-Type-Numberr¤   r    Nz
echo-replyzdest-unreachzsource-quenchÚredirectzecho-requestzrouter-advertisementzrouter-solicitationztime-exceededzparameter-problemztimestamp-requestztimestamp-replyzinformation-requestzinformation-responsezaddress-mask-requestzaddress-mask-reply)r   r^   rA   r_   r@   re   r  r  r¤   r  r  r?   r�   r  r   r  r)   r)   r)   r*   rÓ  ú  s0   ñýþrÓ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )Ú	AVP_0_547ú	ICMP-Coder¤   r    Nr   ZTBDr  r)   r)   r)   r*   rÖ    s   ÿrÖ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	Ú	AVP_0_570úTimezone-Flagr¤   r    NÚUTCZLOCALZOFFSETr[  r  r)   r)   r)   r*   rØ    s   ÿrØ  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )Ú	AVP_0_575úQoS-Semanticsr¤   r    NZQoS_DesiredZQoS_AvailableZQoS_DeliveredZMinimum_QoSZQoS_Authorizedr6  r  r)   r)   r)   r*   rÛ  #  s   ûýþrÛ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_500úAbort-Causer�   r    NZBEARER_RELEASEDÚINSUFFICIENT_SERVER_RESOURCESZINSUFFICIENT_BEARER_RESOURCESr[  ©r+   r,   r-   r&   rµ   rÉ   r‘   rÈ   r)   r)   r)   r*   rÝ  4  s   þþÿrÝ  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_511úFlow-Statusr�   r    NzENABLED-UPLINKzENABLED-DOWNLINKZENABLEDZDISABLEDZREMOVEDr6  rà  r)   r)   r)   r*   rá  @  s   
ÿÿrá  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_512ú
Flow-Usager�   r    NÚNO_INFORMATIONZRTCPZAF_SIGNALLINGr[  rà  r)   r)   r)   r*   rã  H  s   rã  c                   @   s<   e Zd ZdZdZeeddddddd	d
ddddddœƒgZdS )ÚAVP_10415_513úSpecific-Actionr�   r    NÚCHARGING_CORRELATION_EXCHANGEZINDICATION_OF_LOSS_OF_BEARERZ INDICATION_OF_RECOVERY_OF_BEARERZINDICATION_OF_RELEASE_OF_BEARERúIP-CAN_CHANGEZINDICATION_OF_OUT_OF_CREDITZ-INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATIONZ)INDICATION_OF_FAILED_RESOURCES_ALLOCATIONZ$INDICATION_OF_LIMITED_PCC_DEPLOYMENTÚUSAGE_REPORTÚACCESS_NETWORK_INFO_REPORT)rB   rj   r^   rA   rk   rl   r@   re   r  r  r¤   rà  r)   r)   r)   r*   ræ  N  s(   õýþræ  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )ÚAVP_10415_520ú
Media-Typer�   r    NZAUDIOZVIDEOZDATAZAPPLICATIONÚCONTROLZTEXTZMESSAGEÚOTHER)r   rB   rj   r^   rA   r_   rk   ry   rà  r)   r)   r)   r*   rì  e  s    ùþÿrì  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_523úSIP-Forking-Indicationr�   r    NZSINGLE_DIALOGUEZSEVERAL_DIALOGUESrS  rà  r)   r)   r)   r*   rð  v  s   ÿÿrð  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_527úService-Info-Statusr�   r    NZFINAL_SERVICE_INFORMATIONZPRELIMINARY_SERVICE_INFORMATIONrS  rà  r)   r)   r)   r*   rò  ~  s   ÿÿrò  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_529úAF-Signalling-Protocolr�   r    Nrå  ZSIPrS  rà  r)   r)   r)   r*   rô  †  s   ÿrô  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_533úRx-Request-Typer�   r    Nr‹  rŒ  rS  rà  r)   r)   r)   r*   rö  �  s   rö  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_536úRequired-Access-Infor�   r    NZUSER_LOCATIONZMS_TIME_ZONErS  rà  r)   r)   r)   r*   rø  “  s   ÿrø  c                   @   sB   e Zd ZdZdZeeddddddd	d
dddddddddœƒgZdS )ÚAVP_10415_614úServer-Assignment-Typer�   r    Nrl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  ZAAA_USER_DATA_REQUESTZ
PGW_UPDATE)r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  rà  r)   r)   r)   r*   rú  š  s.   òýþrú  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_616úReason-Coder�   r    Nr|  ZNEW_SERVER_ASSIGNEDZSERVER_CHANGEzREMOVE_S-CSCFr-  rà  r)   r)   r)   r*   rü  ´  s   ýþÿrü  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_623úUser-Authorization-Typer�   r    Nrm  ZDE_REGISTRATIONr  r[  rà  r)   r)   r)   r*   rþ  Á  s   ÿÿrþ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_624úUser-Data-Already-Availabler�   r    Nr‚  rƒ  rS  rà  r)   r)   r)   r*   r   É  s   ÿÿr   c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_633úOriginating-Requestr�   r    Nr   ZORIGINATINGrà  r)   r)   r)   r*   r  Ñ  s   ÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_638úLoose-Route-Indicationr�   r    NZLOOSE_ROUTE_NOT_REQUIREDZLOOSE_ROUTE_REQUIREDrS  rà  r)   r)   r)   r*   r  Ø  s   r  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_648ú Multiple-Registration-Indicationr�   r    NZNOT_MULTIPLE_REGISTRATIONZMULTIPLE_REGISTRATIONrS  rà  r)   r)   r)   r*   r  Þ  s   ÿÿr  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_650úSession-Priorityr�   r    Nz
PRIORITY-0z
PRIORITY-1z
PRIORITY-2z
PRIORITY-3z
PRIORITY-4r6  rà  r)   r)   r)   r*   r  æ  s   
ÿÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_652úPriviledged-Sender-Indicationr�   r    NZNOT_PRIVILEDGED_SENDERZPRIVILEDGED_SENDERrS  rà  r)   r)   r)   r*   r
  î  s   ÿÿr
  c                %   @   sf   e Zd ZdZdZee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œ ƒgZdS )ÚAVP_10415_703úData-Referencer�   r    NZRepositoryDatarˆ  ZIMSPublicIdentityZIMSUserStatez
S-CSCFNameZInitialFilterCriteriaZLocationInformationZ	UserStateZChargingInformationÚMSISDNZPSIActivationZDSAIr°  ZServiceLevelTraceInfoZ!IPAddressSecureBindingInformationZServicePriorityLevelZSMSRegistrationInfoZUEReachabilityForIPZTADSinformationúSTN-SRúUE-SRVCC-CapabilityZExtendedPriorityZCSRNZReferenceLocationInformation) r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  r  r?   r�   r  r   r9  rß   r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  r]   rà  r)   r)   r)   r*   r  ö  sR   àýþr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_705úSubs-Req-Typer�   r    NZ	SubscribeZUnsubscriberS  rà  r)   r)   r)   r*   r  "  s   ÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_706úRequested-Domainr�   r    Nz	CS-Domainz	PS-DomainrS  rà  r)   r)   r)   r*   r  )  s   ÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_707úCurrent-Locationr�   r    NZ(DoNotNeedInitiateActiveLocationRetrievalZInitiateActiveLocationRetrievalrS  rà  r)   r)   r)   r*   r  0  s   ÿÿr  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_708úIdentity-Setr�   r    NZALL_IDENTITIESZREGISTERED_IDENTITIESZIMPLICIT_IDENTITIESZALIAS_IDENTITIESr-  rà  r)   r)   r)   r*   r  8  s   üýþr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_710úSend-Data-Indicationr�   r    NZUSER_DATA_NOT_REQUESTEDZUSER_DATA_REQUESTEDrS  rà  r)   r)   r)   r*   r  H  s   r  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_712úOne-Time-Notificationr�   r    Nr   ZONE_TIME_NOTIFICATION_REQUESTEDrà  r)   r)   r)   r*   r  N  s   ÿr  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_714úServing-Node-Indicationr�   r    Nr   ZONLY_SERVING_NODES_REQUIREDrà  r)   r)   r)   r*   r  U  s   ÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_717úPre-paging-Supportedr�   r    NZPREPAGING_NOT_SUPPORTEDZPREPAGING_SUPPORTEDrS  rà  r)   r)   r)   r*   r  \  s   r  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_718úLocal-Time-Zone-Indicationr�   r    NZONLY_LOCAL_TIME_ZONE_REQUESTEDZ,LOCAL_TIME_ZONE_WITH_LOCATION_INFO_REQUESTEDrS  rà  r)   r)   r)   r*   r!  b  s   ÿÿr!  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_829úRole-Of-Noder�   r    NÚHPLMNÚVPLMNZFORWARDING_ROLEr[  rà  r)   r)   r)   r*   r#  j  s   r#  c                   @   sF   e Zd ZdZdZeeddddddd	d
dddddddddddœƒgZdS )ÚAVP_10415_862úNode-Functionalityr�   r    NzS-CSCFzP-CSCFzI-CSCFZBGCFÚASZIBCFzS-GWzP-GWZHSGWzE-CSCF zMME ZTRFZTFZATCFzProxy FunctionÚePDG)r   rB   rj   r_   rk   rl   r@   re   r  r  r¤   r  r  r?   r�   r  rà  r)   r)   r)   r*   r'  p  s2   ðýþr'  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_864Ú
Originatorr�   r    NzCalling PartyzCalled PartyrS  rà  r)   r)   r)   r*   r+  Œ  s   r+  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_867úPS-Append-Free-Format-Datar�   r    Nz	'Append' z'Overwrite' rS  rà  r)   r)   r)   r*   r-  ’  s   ÿr-  c                *   @   sp   e Zd ZdZdZee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*œ%ƒgZdS )+ÚAVP_10415_870úTrigger-Typer�   r    NzCHANGE_IN_SGSN_IP_ADDRESS ZCHANGE_IN_QOSZCHANGE_IN_LOCATIONZCHANGE_IN_RATZCHANGE_IN_UE_TIMEZONEZCHANGEINQOS_TRAFFIC_CLASSZCHANGEINQOS_RELIABILITY_CLASSZCHANGEINQOS_DELAY_CLASSZCHANGEINQOS_PEAK_THROUGHPUTZCHANGEINQOS_PRECEDENCE_CLASSZCHANGEINQOS_MEAN_THROUGHPUTZ'CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINKZ)CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINKZCHANGEINQOS_RESIDUAL_BERZCHANGEINQOS_SDU_ERROR_RATIOZCHANGEINQOS_TRANSFER_DELAYZ%CHANGEINQOS_TRAFFIC_HANDLING_PRIORITYZ*CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINKZ,CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINKZ*CHANGEINQOS_APN_AGGREGATE_MAXIMUM_BIT_RATEZCHANGEINLOCATION_MCCZCHANGEINLOCATION_MNCZCHANGEINLOCATION_RACZCHANGEINLOCATION_LACZCHANGEINLOCATION_CellIdZCHANGEINLOCATION_TACZCHANGEINLOCATION_ECGIZCHANGE_IN_MEDIA_COMPOSITIONZCHANGE_IN_PARTICIPANTS_NMBz&CHANGE_IN_ THRSHLD_OF_PARTICIPANTS_NMBZ!CHANGE_IN_USER_PARTICIPATING_TYPEZCHANGE_IN_SERVICE_CONDITIONZCHANGE_IN_SERVING_NODEZCHANGE_IN_USER_CSG_INFORMATIONZ0CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATIONZ2CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATIONZ0CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA)%rB   rj   r^   rA   r_   r  r  r¤   r  r  r?   r�   r  r   r9  rß   r:  r;  r<  r=  rC  r]   r  rD  rE  rf   rF  rÅ  é2   é3   é4   é<   é=   éF   éG   éH   éI   rà  r)   r)   r)   r*   r/  ™  sZ   Üþÿr/  c                   @   s8   e Zd ZdZdZeeddddddd	d
ddddœ	ƒgZdS )ÚAVP_10415_872úReporting-Reasonr�   r    NZ	THRESHOLDZQHTZFINALZQUOTA_EXHAUSTEDZVALIDITY_TIMEZOTHER_QUOTA_TYPEZRATING_CONDITION_CHANGEZFORCED_REAUTHORISATIONZPOOL_EXHAUSTED)	r   rB   rj   r^   rA   r_   rk   rl   r@   rà  r)   r)   r)   r*   r:  Ç  s$   ÷ýþr:  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_882úMedia-Initiator-Flagr�   r    Nzcalled partyzcalling partyÚunknownr[  rà  r)   r)   r)   r*   r<  Ü  s   r<  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_883úPoC-Server-Roler�   r    NzParticipating PoC ServerzControlling PoC ServerrS  rà  r)   r)   r)   r*   r?  â  s   r?  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_884úPoC-Session-Typer�   r    Nz1 to 1 PoC sessionzChat PoC group sessionzPre-arranged PoC group sessionzAd-hoc PoC group sessionr-  rà  r)   r)   r)   r*   rA  è  s   üýþrA  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )ÚAVP_10415_899úAddress-Typer�   r    Nze-mail addressr  zIPv4 AddresszIPv6 AddresszNumeric ShortcodezAlphanumeric ShortcodeÚOtherZIMSIr2  rà  r)   r)   r)   r*   rC  ø  s"   øýþrC  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_902úMBMS-StartStop-Indicationr�   r    NÚSTARTÚSTOPZUPDATEr[  rà  r)   r)   r)   r*   rF    s   ÿrF  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_906úMBMS-Service-Typer�   r    NZ	MULTICASTZ	BROADCASTrS  rà  r)   r)   r)   r*   rJ    s   ÿrJ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_907úMBMS-2G-3G-Indicatorr�   r    NZ2GZ3Gz	2G-AND-3Gr[  rà  r)   r)   r)   r*   rL    s   ÿrL  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_921úCN-IP-Multicast-Distributionr�   r    NzNO-IP-MULTICASTzIP-MULTICASTrS  rà  r)   r)   r)   r*   rN  !  s   ÿrN  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_922úMBMS-HC-Indicatorr�   r    Nzuncompressed-headerzcompressed-headerrS  rà  r)   r)   r)   r*   rP  (  s   rP  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1000úBearer-Usager�   r    NZGENERALzIMS SIGNALLINGZ	DEDICATEDr[  rà  r)   r)   r)   r*   rR  .  s   rR  c                5   @   s†   e Zd ZdZdZee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,d-d.d/d0d1d2d3d4d5œ0ƒgZdS )6ÚAVP_10415_1006úEvent-Triggerr�   r    NZSGSN_CHANGEZ
QOS_CHANGEZ
RAT_CHANGEZ
TFT_CHANGEZPLMN_CHANGEZLOSS_OF_BEARERZRECOVERY_OF_BEARERré  zGW-PCEF-MALFUNCTIONZRESOURCES_LIMITATIONZMAX_NR_BEARERS_REACHEDZ"QOS_CHANGE_EXCEEDING_AUTHORIZATIONZ
RAI_CHANGEZUSER_LOCATION_CHANGEZNO_EVENT_TRIGGERSZOUT_OF_CREDITZREALLOCATION_OF_CREDITZREVALIDATION_TIMEOUTZUE_IP_ADDRESS_ALLOCATEZUE_IP_ADDRESS_RELEASEZDEFAULT_EPS_BEARER_QOS_CHANGEZAN_GW_CHANGEZSUCCESSFUL_RESOURCE_ALLOCATIONZRESOURCE_MODIFICATION_REQUESTZPGW_TRACE_CONTROLZUE_TIME_ZONE_CHANGEZ
TAI_CHANGEZECGI_CHANGErè  zAPN-AMBR_MODIFICATION_FAILUREZUSER_CSG_INFORMATION_CHANGErê  z+DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILUREZ-USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGEz0USER_CSG_ HYBRID_UNSUBSCRIBED_INFORMATION_CHANGEZROUTING_RULE_CHANGEZMAX_MBR_APN_AMBR_CHANGEZAPPLICATION_STARTZAPPLICATION_STOPZADC_REVALIDATION_TIMEOUTZCS_TO_PS_HANDOVERZUE_LOCAL_IP_ADDRESS_CHANGErë  ZTIME_CHANGEzTFT DELETEDzLOSS OF BEARERzRECOVERY OF BEARERzPOLICY ENFORCEMENT FAILED)0r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  r  r?   r�   r  r   r9  rß   r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rf   rF  é%   rÄ  é'   rÅ  é)   é*   rg   é-   éd   éè  rû   éê  éë  rà  r)   r)   r)   r*   rT  4  sr   ÐýþrT  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1007úMetering-Methodr�   r    NZDURATIONZVOLUMEZDURATION_VOLUMEr[  rà  r)   r)   r)   r*   r_  p  s   r_  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1008ÚOffliner�   r    NZDISABLE_OFFLINEZENABLE_OFFLINErS  rà  r)   r)   r)   r*   ra  v  s   ra  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1009ÚOnliner�   r    NZDISABLE_ONLINEZENABLE_ONLINErS  rà  r)   r)   r)   r*   rc  |  s   rc  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1011úReporting-Levelr�   r    NZSERVICE_IDENTIFIER_LEVELZRATING_GROUP_LEVELZSPONSORED_CONNECTIVITY_LEVELr[  rà  r)   r)   r)   r*   re  ‚  s   ÿÿre  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1015úPDP-Session-Operationr�   r    Nr   zPDP-SESSION-TERMINATIONrà  r)   r)   r)   r*   rg  Š  s   ÿrg  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1019úPCC-Rule-Statusr�   r    NZACTIVEZINACTIVEZTEMPORARY_INACTIVEr[  rà  r)   r)   r)   r*   ri  ‘  s   ri  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1021úBearer-Operationr�   r    NÚTERMINATIONÚESTABLISHMENTÚMODIFICATIONr[  rà  r)   r)   r)   r*   rk  —  s   rk  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1023úBearer-Control-Moder�   r    NZUE_ONLYZRESERVEDZUE_NWr[  rà  r)   r)   r)   r*   rp  �  s   ÿrp  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1024úNetwork-Request-Supportr�   r    NzNETWORK_REQUEST NOT SUPPORTEDzNETWORK_REQUEST SUPPORTEDrS  rà  r)   r)   r)   r*   rr  ¤  s   rr  c                   @   s4   e Zd ZdZdZeeddddddd	d
ddœƒgZdS )ÚAVP_10415_1027úIP-CAN-Typer�   r    Nz	3GPP-GPRSZDOCSISZxDSLZWiMAXZ3GPP2z3GPP-EPSzNon-3GPP-EPSrV  rà  r)   r)   r)   r*   rt  ª  s   úþÿrt  c                   @   s8   e Zd ZdZdZeeddddddd	d
ddddœ	ƒgZdS )ÚAVP_10415_1028úQoS-Class-Identifierr�   r    NZQCI_1ZQCI_2ZQCI_3ZQCI_4ZQCI_5ZQCI_6ZQCI_7ZQCI_8ZQCI_9)	rB   rj   r^   rA   r_   rk   rl   r@   re   rà  r)   r)   r)   r*   rv  º  s$   ÷ýþrv  c                   @   s<   e Zd ZdZdZeeddddddd	d
ddddddœƒgZdS )ÚAVP_10415_1032úRAT-Typer�   r    NZWLANZVIRTUALZUTRANZGERANZGANZHSPA_EVOLUTIONZEUTRANZCDMA2000_1XZHRPDZUMBZEHRPD)r   rB   r\  rû   r]  r^  éì  éÐ  rü   rý   rþ   rà  r)   r)   r)   r*   rx  Ï  s&   öþÿrx  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1045úSession-Release-Causer�   r    NZUNSPECIFIED_REASONZUE_SUBSCRIPTION_REASONrß  r[  rà  r)   r)   r)   r*   r|  ã  s   ÿÿr|  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1047úPre-emption-Capabilityr�   r    NzPRE-EMPTION_CAPABILITY_ENABLEDzPRE-EMPTION_CAPABILITY_DISABLEDrS  rà  r)   r)   r)   r*   r~  ë  s   ÿÿr~  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1048úPre-emption-Vulnerabilityr�   r    Nz!PRE-EMPTION_VULNERABILITY_ENABLEDz"PRE-EMPTION_VULNERABILITY_DISABLEDrS  rà  r)   r)   r)   r*   r€  ó  s   ÿÿr€  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1062úPacket-Filter-Operationr�   r    NZDELETIONZADDITIONro  r[  rà  r)   r)   r)   r*   r‚  û  s   ÿÿr‚  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1063ú Resource-Allocation-Notificationr�   r    Nr   ZENABLE_NOTIFICATIONrà  r)   r)   r)   r*   r„  	  s   ÿr„  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1068úUsage-Monitoring-Levelr�   r    NZSESSION_LEVELZPCC_RULE_LEVELZADC_RULE_LEVELr[  rà  r)   r)   r)   r*   r†  
	  s   r†  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1069úUsage-Monitoring-Reportr�   r    Nr   Z USAGE_MONITORING_REPORT_REQUIREDrà  r)   r)   r)   r*   rˆ  	  s   ÿrˆ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1070úUsage-Monitoring-Supportr�   r    Nr   ZUSAGE_MONITORING_DISABLEDrà  r)   r)   r)   r*   rŠ  	  s   ÿrŠ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1071úCSG-Information-Reportingr�   r    NZCHANGE_CSG_CELLZ!CHANGE_CSG_SUBSCRIBED_HYBRID_CELLZ#CHANGE_CSG_UNSUBSCRIBED_HYBRID_CELLr[  rà  r)   r)   r)   r*   rŒ  	  s   ýýþrŒ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1072úPacket-Filter-Usager�   r    NrB   Z
SEND_TO_UErà  r)   r)   r)   r*   rŽ  -	  s   ÿrŽ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1073úCharging-Correlation-Indicatorr�   r    Nr   ZCHARGING_IDENTIFIER_REQUIREDrà  r)   r)   r)   r*   r�  4	  s   ÿr�  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_1080úFlow-Directionr�   r    NZUNSPECIFIEDZDOWNLINKZUPLINKZBIDIRECTIONALr-  rà  r)   r)   r)   r*   r’  ;	  s   r’  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1086úRedirect-Supportr�   r    NZREDIRECTION_DISABLEDZREDIRECTION_ENABLEDrS  rà  r)   r)   r)   r*   r”  A	  s   r”  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1099úPS-to-CS-Session-Continuityr�   r    Nr   ZVIDEO_PS2CS_CONT_CANDIDATErà  r)   r)   r)   r*   r–  G	  s   ÿr–  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1204úType-Numberr�   r    Nr   ÚTBCrà  r)   r)   r)   r*   r˜  N	  s   ÿr˜  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1208úAddressee-Typer�   r    NzTO zCC ZBCCr[  rà  r)   r)   r)   r*   r›  U	  s   ÿr›  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1209ÚPriorityr�   r    NZLowÚNormalZHighr[  rà  r)   r)   r)   r*   r�  \	  s   ÿÿr�  c                   @   sD   e Zd ZdZdZeeddddddd	d
ddddddddddœƒgZdS )ÚAVP_10415_1211úMessage-Typer�   r    Nz
m-send-reqzm-send-confzm-notification-ind zm-notifyresp-ind zm-retrieve-conf zm-acknowledge-ind zm-delivery-ind zm-read-rec-ind zm-read-orig-indzm-forward-req zm-forward-conf zm-mbox-store-confzm-mbox-view-conf zm-mbox-upload-conf zm-mbox-delete-conf rM  rà  r)   r)   r)   r*   r   d	  s0   ñýþr   c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_1214úClass-Identifierr�   r    NZPersonalZAdvertisementZInformationalZAutor-  rà  r)   r)   r)   r*   r¢  	  s   r¢  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1216úDelivery-Report-Requestedr�   r    NÚNoÚYesrS  rà  r)   r)   r)   r*   r¤  …	  s   ÿr¤  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1217ÚAdaptationsr�   r    Nr§  r¦  rS  rà  r)   r)   r)   r*   r¨  Œ	  s   ÿr¨  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )ÚAVP_10415_1220úContent-Classr�   r    Nztext zimage-basic zimage-rich zvideo-basiczvideo-rich z
megapixel zcontent-basic zcontent-rich r2  rà  r)   r)   r)   r*   rª  “	  s"   øýþrª  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1221úDRM-Contentr�   r    Nr¦  r§  rS  rà  r)   r)   r)   r*   r¬  §	  s   ÿr¬  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1222úRead-Reply-Report-Requestedr�   r    Nr¦  r§  rS  rà  r)   r)   r)   r*   r®  ®	  s   ÿr®  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1224úFile-Repair-Supportedr�   r    NúForwarding not pendingúForwarding pendingÚNOT_SUPPORTEDr[  rà  r)   r)   r)   r*   r°  µ	  s   ÿÿr°  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1225úMBMS-User-Service-Typer�   r    NÚDOWNLOADZ	STREAMING)rB   rj   rà  r)   r)   r)   r*   rµ  ½	  s   ÿrµ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1247úPDP-Context-Typer�   r    NZPrimaryZ	SecondaryrS  rà  r)   r)   r)   r*   r¸  Ä	  s   ÿr¸  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1248úMMBox-Storage-Requestedr�   r    Nr¦  r§  rS  rà  r)   r)   r)   r*   rº  Ë	  s   ÿrº  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_1254úPoC-User-Role-info-Unitsr�   r    NZ	ModeratorZ
DispatcherzSession-OwnerzSession-Participantr�  rà  r)   r)   r)   r*   r¼  Ò	  s   ÿÿr¼  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_1259úParticipant-Access-Priorityr�   r    NzPre-emptive priority: z.High priority: Lower than Pre-emptive priorityz7Normal priority: Normal level. Lower than High priorityz#Low priority: Lowest level priorityr�  rà  r)   r)   r)   r*   r¾  Ú	  s   üýþr¾  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_1261úPoC-Change-Conditionr�   r    NZServiceChangeZVolumeLimitZ	TimeLimitZNumberofTalkBurstLimitZNumberofActiveParticipantsr6  rà  r)   r)   r)   r*   rÀ  ê	  s   ûýþrÀ  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_1268úEnvelope-Reportingr�   r    NZDO_NOT_REPORT_ENVELOPESZREPORT_ENVELOPESZREPORT_ENVELOPES_WITH_VOLUMEZREPORT_ENVELOPES_WITH_EVENTSZ'REPORT_ENVELOPES_WITH_VOLUME_AND_EVENTSr6  rà  r)   r)   r)   r*   rÂ  û	  s   ûýþrÂ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1271úTime-Quota-Typer�   r    NZDISCRETE_TIME_PERIODZCONTINUOUS_TIME_PERIODrS  rà  r)   r)   r)   r*   rÄ  
  s   rÄ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1277úPoC-Session-Initiation-Typer�   r    NzPre-establishedz	On-demandrS  rà  r)   r)   r)   r*   rÆ  
  s   ÿrÆ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1279úUser-Participating-Typer�   r    NrŸ  z
NW PoC Boxz
UE PoC Boxr[  rà  r)   r)   r)   r*   rÈ  
  s   ÿÿrÈ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1417úNetwork-Access-Moder�   r    NZPACKET_AND_CIRCUITr°  ZONLY_PACKETr[  rà  r)   r)   r)   r*   rÊ  !
  s   rÊ  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_1420úCancellation-Typer�   r    NZMME_UPDATE_PROCEDUREZSGSN_UPDATE_PROCEDUREZSUBSCRIPTION_WITHDRAWALZUPDATE_PROCEDURE_IWFZINITIAL_ATTACH_PROCEDUREr6  rà  r)   r)   r)   r*   rÌ  '
  s   ûýþrÌ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1424úSubscriber-Statusr�   r    NZSERVICE_GRANTEDZOPERATOR_DETERMINED_BARRINGrS  rà  r)   r)   r)   r*   rÎ  8
  s   rÎ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1428ú)All-APN-Configurations-Included-Indicatorr�   r    Nr   ZALL_APN_CONFIGURATIONS_INCLUDEDrà  r)   r)   r)   r*   rÐ  >
  s   ÿrÐ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1432úVPLMN-Dynamic-Address-Allowedr�   r    NZ
NOTALLOWEDZALLOWEDrS  rà  r)   r)   r)   r*   rÒ  E
  s   ÿrÒ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1434úAlert-Reasonr�   r    NZ
UE_PRESENTZUE_MEMORY_AVAILABLErS  rà  r)   r)   r)   r*   rÔ  L
  s   rÔ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1438úPDN-GW-Allocation-Typer�   r    NZSTATICZDYNAMICrS  rà  r)   r)   r)   r*   rÖ  R
  s   ÿrÖ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1445úEquipment-Statusr�   r    NZWHITELISTEDZBLACKLISTEDZ
GREYLISTEDr[  rà  r)   r)   r)   r*   rØ  Y
  s   rØ  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_1456úPDN-Typer�   r    NrK  rL  ZIPv4v6ZIPv4_OR_IPv6r-  rà  r)   r)   r)   r*   rÚ  _
  s   rÚ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1457ú-Roaming-Restricted-Due-To-Unsupported-Featurer�   r    Nr   rà  r)   r)   r)   r*   rÜ  e
  s   ÿrÜ  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )ÚAVP_10415_1462úTrace-Depthr�   r    NZMinimumZMediumZMaximumZ%MinimumWithoutVendorSpecificExtensionZ$MediumWithoutVendorSpecificExtensionZ%MaximumWithoutVendorSpecificExtensionr§  rà  r)   r)   r)   r*   rÞ  l
  s   ûþÿrÞ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1468ú%Complete-Data-List-Included-Indicatorr�   r    Nr   ZALL_PDP_CONTEXTS_INCLUDEDrà  r)   r)   r)   r*   rà  {
  s   ÿrà  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_1478úNotification-To-UE-Userr�   r    NZNOTIFY_LOCATION_ALLOWEDZ/NOTIFYANDVERIFY_LOCATION_ALLOWED_IF_NO_RESPONSEZ3NOTIFYANDVERIFY_LOCATION_NOT_ALLOWED_IF_NO_RESPONSEZLOCATION_NOT_ALLOWEDr-  rà  r)   r)   r)   r*   râ  ‚
  s   üýþrâ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1481úGMLC-Restrictionr�   r    NZ	GMLC_LISTZHOME_COUNTRYrS  rà  r)   r)   r)   r*   rä  ’
  s   ÿrä  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_1482úPLMN-Clientr�   r    NZBROADCAST_SERVICEZO_AND_M_HPLMNZO_AND_M_VPLMNZANONYMOUS_LOCATIONZTARGET_UE_SUBSCRIBED_SERVICEr6  rà  r)   r)   r)   r*   ræ  ™
  s   üþÿræ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1491úICS-Indicatorr�   r    NÚFALSEÚTRUErS  rà  r)   r)   r)   r*   rè  §
  s   ÿrè  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1492ú$IMS-Voice-Over-PS-Sessions-Supportedr�   r    Nr´  Ú	SUPPORTEDrS  rà  r)   r)   r)   r*   rì  ®
  s   ÿrì  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1493ú1Homogeneous-Support-of-IMS-Voice-Over-PS-Sessionsr�   r    Nr´  rî  rS  rà  r)   r)   r)   r*   rï  µ
  s   ÿrï  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )ÚAVP_10415_1499ú
User-Stater�   r    NZDETACHEDZ!ATTACHED_NOT_REACHABLE_FOR_PAGINGZATTACHED_REACHABLE_FOR_PAGINGZ"CONNECTED_NOT_REACHABLE_FOR_PAGINGZCONNECTED_REACHABLE_FOR_PAGINGZ NETWORK_DETERMINED_NOT_REACHABLEr§  rà  r)   r)   r)   r*   rñ  ¼
  s   ûþÿrñ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1501úNon-3GPP-IP-Accessr�   r    NZNON_3GPP_SUBSCRIPTION_ALLOWEDZNON_3GPP_SUBSCRIPTION_BARREDrS  rà  r)   r)   r)   r*   ró  Ë
  s   ÿÿró  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1502úNon-3GPP-IP-Access-APNr�   r    NZNON_3GPP_APNS_ENABLEZNON_3GPP_APNS_DISABLErS  rà  r)   r)   r)   r*   rõ  Ó
  s   rõ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1503ú
AN-Trustedr�   r    NZTRUSTEDZ	UNTRUSTEDrS  rà  r)   r)   r)   r*   r÷  Ù
  s   ÿr÷  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1515úTrust-Relationship-Updater�   r    Nr   rš  rà  r)   r)   r)   r*   rù  à
  s   ÿrù  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1519úTransport-Access-Typer�   r    Nr   ZBBFrà  r)   r)   r)   r*   rû  ç
  s   ÿrû  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1610úCurrent-Location-Retrievedr�   r    Nr   zACTIVE-LOCATION-RETRIEVALrà  r)   r)   r)   r*   rý  î
  s   ÿrý  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1613úSIPTO-Permissionr�   r    NZSIPTO_ALLOWEDZSIPTO_NOTALLOWEDrS  rà  r)   r)   r)   r*   rÿ  õ
  s   rÿ  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_1614úError-Diagnosticr�   r    NZGPRS_DATA_SUBSCRIBEDZNO_GPRS_DATA_SUBSCRIBEDzODB-ALL-APNzODB-HPLMN-APNzODB-VPLMN-APNr6  rà  r)   r)   r)   r*   r  û
  s   ûýþr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1615r  r�   r    NzUE-SRVCC-NOT-SUPPORTEDzUE-SRVCC-SUPPORTEDrS  rà  r)   r)   r)   r*   r    s   r  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1617úVPLMN-LIPA-Allowedr�   r    NzLIPA-NOTALLOWEDzLIPA-ALLOWEDrS  rà  r)   r)   r)   r*   r    s   ÿr  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1618úLIPA-Permissionr�   r    NzLIPA-PROHIBITEDz	LIPA-ONLYzLIPA-CONDITIONALr[  rà  r)   r)   r)   r*   r    s   r  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_1623úJob-Typer�   r    NzImmediate-MDT-onlyzLogged-MDT-onlyz
Trace-onlyzImmediate-MDT-and-TracezRLF-reports-onlyr6  rà  r)   r)   r)   r*   r    s   üþÿr  c                !   @   s^   e Zd ZdZdZee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!œƒgZdS )"ÚAVP_10415_1627úReport-Intervalr�   r    NZUMTS_250_msZUMTS_500_msZUMTS_1000_msZUMTS_2000_msZUMTS_3000_msZUMTS_4000_msZUMTS_6000_msZUMTS_8000_msZUMTS_12000_msZUMTS_16000_msZUMTS_20000_msZUMTS_24000_msZUMTS_28000_msZUMTS_32000_msZUMTS_64000_msZ
LTE_120_msZ
LTE_240_msZ
LTE_480_msZ
LTE_640_msZLTE_1024_msZLTE_2048_msZLTE_5120_msZLTE_10240_msZLTE_60000_msZLTE_360000_msZLTE_720000_msZLTE_1800000_msZLTE_3600000_ms)r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  r  r¤   r  r  r?   r�   r  r   r9  rß   r:  r;  r<  r=  r>  r?  r@  rà  r)   r)   r)   r*   r
  -  sJ   äýþr
  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )ÚAVP_10415_1628úReport-Amountr�   r    NÚ1Ú2Ú4Ú8Z16Z32Z64Úinfinityr2  rà  r)   r)   r)   r*   r  U  s   ÿÿr  c                   @   s6   e Zd ZdZdZeeddddddd	d
dddœƒgZdS )ÚAVP_10415_1631úLogging-Intervalr�   r    Nz1.28z2.56z5.12z10.24z20.48z30.72z40.96z61.44r2  rà  r)   r)   r)   r*   r  ]  s"   øýþr  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )ÚAVP_10415_1632úLogging-Durationr�   r    NZ600_secZ1200_secZ2400_secZ3600_secZ5400_secZ7200_secr§  rà  r)   r)   r)   r*   r  q  s   ÿÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1633úRelay-Node-Indicatorr�   r    NZNOT_RELAY_NODEZ
RELAY_NODErS  rà  r)   r)   r)   r*   r  y  s   ÿr  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_1634úMDT-User-Consentr�   r    NZCONSENT_NOT_GIVENZCONSENT_GIVENrS  rà  r)   r)   r)   r*   r  €  s   r  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_1636úSubscribed-VSRVCCr�   r    Nr   ZVSRVCC_SUBSCRIBEDrà  r)   r)   r)   r*   r  †  s   ÿr  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1648úSMS-Register-Requestr�   r    NZSMS_REGISTRATION_REQUIREDZSMS_REGISTRATION_NOT_PREFERREDZNO_PREFERENCEr[  rà  r)   r)   r)   r*   r  �  s   ÿÿr  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_1650úDaylight-Saving-Timer�   r    NZNO_ADJUSTMENTZPLUS_ONE_HOUR_ADJUSTMENTZPLUS_TWO_HOURS_ADJUSTMENTr[  rà  r)   r)   r)   r*   r  •  s   ÿÿr  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_2006úInterface-Typer�   r    NrY   ZMOBILE_ORIGINATINGZMOBILE_TERMINATINGZAPPLICATION_ORIGINATINGZAPPLICATION_TERMINATIONr6  rà  r)   r)   r)   r*   r!  �  s   ûýþr!  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2007úSM-Message-Typer�   r    Nr   Z
SUBMISSIONrà  r)   r)   r)   r*   r#  ®  s   ÿr#  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2011úReply-Path-Requestedr�   r    NzNo Reply Path SetzReply path SetrS  rà  r)   r)   r)   r*   r%  µ  s   r%  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_2016úSMS-Noder�   r    Nz
SMS RouterzIP-SM-GWzSMS Router and IP-SM-GWzSMS-SCr-  rà  r)   r)   r)   r*   r'  »  s   ÿÿr'  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_2025úPoC-Event-Typer�   r    NzNormal;zInstant Ppersonal Aalert event;zPoC Group Advertisement event;z Early Ssession Setting-up event;zPoC Talk Burstr6  rà  r)   r)   r)   r*   r)  Ã  s   ûýþr)  c                   @   s<   e Zd ZdZdZeeddddddd	d
ddddddœƒgZdS )ÚAVP_10415_2029úSM-Service-Typer�   r    Nz(VAS4SMS Short Message content processingz VAS4SMS Short Message forwardingz8VAS4SMS Short Message Forwarding multiple subscriptions z VAS4SMS Short Message filtering zVAS4SMS Short Message receiptz&VAS4SMS Short Message Network Storage z.VAS4SMS Short Message to multiple destinationsz3VAS4SMS Short Message Virtual Private Network (VPN)z VAS4SMS Short Message Auto Replyz(VAS4SMS Short Message Personal Signaturez(VAS4SMS Short Message Deferred Delivery )r   rB   rj   r^   rA   r_   rk   rl   r@   re   r  rà  r)   r)   r)   r*   r+  Ô  s(   õýþr+  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2033úSubscriber-Roler�   r    NZOriginatingZTerminatingrS  rà  r)   r)   r)   r*   r-  ë  s   ÿr-  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2036úSDP-Typer�   r    Nz	SDP Offerz
SDP AnswerrS  rà  r)   r)   r)   r*   r/  ò  s   ÿr/  c                   @   s4   e Zd ZdZdZeeddddddd	d
ddœƒgZdS )ÚAVP_10415_2047úServing-Node-Typer�   r    NZSGSNZPMIPSGWZGTPSGWr*  ZhSGWZMMEZTWANrV  rà  r)   r)   r)   r*   r1  ù  s   ÿÿr1  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_2049úParticipant-Action-Typer�   r    NZCREATE_CONFZ	JOIN_CONFZINVITE_INTO_CONFZ	QUIT_CONFr-  rà  r)   r)   r)   r*   r3    s   ÿÿr3  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2051úDynamic-Address-Flagr�   r    NÚStaticÚDynamicrS  rà  r)   r)   r)   r*   r5  	  s   ÿr5  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2065ú
SGW-Changer�   r    Nr   ZACR_Start_NOT_due_to_SGW_Changerà  r)   r)   r)   r*   r9    s   ÿr9  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )ÚAVP_10415_2066ú'Charging-Characteristics-Selection-Moder�   r    NzServing-Node-SuppliedzSubscription-specificzAPN-specificzHome-DefaultzRoaming-DefaultzVisiting-Defaultr§  rà  r)   r)   r)   r*   r;    s   úýþr;  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2068úDynamic-Address-Flag-Extensionr�   r    Nr7  r8  rS  rà  r)   r)   r)   r*   r=  )  s   ÿr=  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_2118úCharge-Reason-Coder�   r    NÚUNKNOWNÚUSAGEzCOMMUNICATION-ATTEMPT-CHARGEzSETUP-CHARGEzADD-ON-CHARGEr6  rà  r)   r)   r)   r*   r?  0  s   ûýþr?  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_2203úSubsession-Operationr�   r    Nrm  rn  ro  r[  rà  r)   r)   r)   r*   rC  A  s   rC  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2204úMultiple-BBERF-Actionr�   r    Nrn  rm  rS  rà  r)   r)   r)   r*   rE  G  s   ÿrE  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2206úDRA-Deploymentr�   r    Nr   ZDRA_Deployedrà  r)   r)   r)   r*   rG  N  s   ÿrG  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2208úDRA-Bindingr�   r    Nr   ZDRA_BINDING_DELETIONrà  r)   r)   r)   r*   rI  U  s   ÿrI  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2303úOnline-Charging-Flagr�   r    NzECF address not providedzECF address providedrS  rà  r)   r)   r)   r*   rK  \  s   rK  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2308úIMSI-Unauthenticated-Flagr�   r    NZAuthenticatedZUnauthenticatedrS  rà  r)   r)   r)   r*   rM  b  s   ÿrM  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_2310ú
AoC-Formatr�   r    NZMONETARYZNON_MONETARYZCAIr[  rà  r)   r)   r)   r*   rO  i  s   rO  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2312úAoC-Service-Obligatory-Typer�   r    NZNON_BINDINGZBINDINGrS  rà  r)   r)   r)   r*   rQ  o  s   ÿrQ  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_2313úAoC-Service-Typer�   r    NÚNONEzAOC-SzAOC-DzAOC-Er-  rà  r)   r)   r)   r*   rS  v  s   rS  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2317úCSG-Access-Moder�   r    NzClosed modezHybrid ModerS  rà  r)   r)   r)   r*   rV  |  s   ÿrV  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2318úCSG-Membership-Indicationr�   r    NzNot CSG memberzCSG Member  rS  rà  r)   r)   r)   r*   rX  ƒ  s   ÿrX  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2322úIMS-Emergency-Indicatorr�   r    NzNon EmergencyZ	EmergencyrS  rà  r)   r)   r)   r*   rZ  Š  s   ÿrZ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2323úMBMS-Charged-Partyr�   r    NzContent ProviderZ
SubscriberrS  rà  r)   r)   r)   r*   r\  ‘  s   ÿr\  c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )ÚAVP_10415_2500úSLg-Location-Typer�   r    NZCURRENT_LOCATIONZCURRENT_OR_LAST_KNOWN_LOCATIONZINITIAL_LOCATIONZACTIVATE_DEFERRED_LOCATIONZCANCEL_DEFERRED_LOCATIONZNOTIFICATION_VERIFICATION_ONLYr§  rà  r)   r)   r)   r*   r^  ˜  s   úýþr^  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2507úVertical-Requestedr�   r    Nz$VERTICAL_COORDINATE_IS_NOT REQUESTEDZ VERTICAL_COORDINATE_IS_REQUESTEDrS  rà  r)   r)   r)   r*   r`  ª  s   ÿÿr`  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2508úVelocity-Requestedr�   r    NZVELOCITY_IS_NOT_REQUESTEDzBEST VELOCITY_IS_REQUESTEDrS  rà  r)   r)   r)   r*   rb  ²  s   rb  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2509úResponse-Timer�   r    NZ	LOW_DELAYZDELAY_TOLERANTrS  rà  r)   r)   r)   r*   rd  ¸  s   ÿrd  c                
   @   s0   e Zd ZdZdZeeddddddd	d
œƒgZdS )ÚAVP_10415_2512úLCS-Privacy-Checkr�   r    NZALLOWED_WITHOUT_NOTIFICATIONZALLOWED_WITH_NOTIFICATIONZALLOWED_IF_NO_RESPONSEZRESTRICTED_IF_NO_RESPONSEÚNOT_ALLOWEDr6  rà  r)   r)   r)   r*   rf  ¿  s   ûýþrf  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2513úAccuracy-Fulfilment-Indicatorr�   r    NZREQUESTED_ACCURACY_FULFILLEDZ REQUESTED_ACCURACY_NOT_FULFILLEDrS  rà  r)   r)   r)   r*   ri  Ð  s   ÿÿri  c                	   @   s.   e Zd ZdZdZeeddddddd	œƒgZdS )
ÚAVP_10415_2518úLocation-Eventr�   r    NZEMERGENCY_CALL_ORIGINATIONZEMERGENCY_CALL_RELEASEZMO_LRZEMERGENCY_CALL_HANDOVERr-  rà  r)   r)   r)   r*   rk  Ø  s   üýþrk  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2519úPseudonym-Indicatorr�   r    NZPSEUDONYM_NOT_REQUESTEDZPSEUDONYM_REQUESTEDrS  rà  r)   r)   r)   r*   rm  è  s   rm  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2523úLCS-QoS-Classr�   r    NZASSUREDzBEST EFFORTrS  rà  r)   r)   r)   r*   ro  î  s   ÿro  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2538úOccurrence-Infor�   r    NZONE_TIME_EVENTZMULTIPLE_TIME_EVENTrS  rà  r)   r)   r)   r*   rq  õ  s   rq  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2550ú#Periodic-Location-Support-Indicatorr�   r    Nr´  rî  rS  rà  r)   r)   r)   r*   rs  û  s   ÿrs  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2551úPrioritized-List-Indicatorr�   r    NZNOT_PRIORITIZEDZPRIORITIZEDrS  rà  r)   r)   r)   r*   ru    s   ÿru  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2602úLow-Priority-Indicatorr�   r    Nr   ÚNOrà  r)   r)   r)   r*   rw  	  s   ÿrw  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2604úLocal-GW-Inserted-Indicationr�   r    NzLocal GW Not InsertedzLocal GW InsertedrS  rà  r)   r)   r)   r*   rz    s   ÿÿrz  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2605úTranscoder-Inserted-Indicationr�   r    NzTranscoder Not InsertedzTranscoder InsertedrS  rà  r)   r)   r)   r*   r|    s   ÿÿr|  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_2702úAS-Coder�   r    Nz4xx;z5xx;ÚTimeoutr[  rà  r)   r)   r)   r*   r~     s   ÿÿr~  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_2704úNNI-Typer�   r    Nznon-roamingzroaming without loopbackzroaming with loopbackr[  rà  r)   r)   r)   r*   r�  (  s   ÿÿr�  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2706úRelationship-Moder�   r    NZtrustedznon-trustedrS  rà  r)   r)   r)   r*   rƒ  0  s   ÿrƒ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2707úSession-Directionr�   r    Nr   Zinboundrà  r)   r)   r)   r*   r…  7  s   ÿr…  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2710úAccess-Transfer-Typer�   r    NzPS to CS TransferzCS to PS TransferrS  rà  r)   r)   r)   r*   r‡  >  s   r‡  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2717úTAD-Identifierr�   r    NÚCSZPSrS  rà  r)   r)   r)   r*   r‰  D  s   ÿr‰  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2809úMute-Notificationr�   r    Nr   ZMUTE_REQUIREDrà  r)   r)   r)   r*   rŒ  K  s   ÿrŒ  c                   @   s(   e Zd ZdZdZeeddddiƒgZdS )ÚAVP_10415_2811úAN-GW-Statusr�   r    Nr   ZAN_GW_FAILEDrà  r)   r)   r)   r*   rŽ  R  s   ÿrŽ  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_2904úSL-Request-Typer�   r    Nr‹  ZINTERMEDIATE_REQUESTrS  rà  r)   r)   r)   r*   r�  Y  s   r�  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3407úSM-Device-Trigger-Indicatorr�   r    NzNot DeviceTrigger zDevice TriggerrS  rà  r)   r)   r)   r*   r’  _  s   ÿr’  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3415úForwarding-Pendingr�   r    Nr²  r³  rS  rà  r)   r)   r)   r*   r”  f  s   r”  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3421úCN-Operator-Selection-Entityr�   r    Nz/The Serving Network has been selected by the UEz4The Serving Network has been selected by the networkrS  rà  r)   r)   r)   r*   r–  l  s   þýþr–  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3428úCoverage-Statusr�   r    NzOut of coveragezIn coveragerS  rà  r)   r)   r)   r*   r˜  z  s   ÿr˜  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3438úRole-Of-ProSe-Functionr�   r    Nr%  r&  rS  rà  r)   r)   r)   r*   rš  �  s   ÿrš  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3442úProSe-Direct-Discovery-Modelr�   r    NzModel AzModel BrS  rà  r)   r)   r)   r*   rœ  ˆ  s   ÿrœ  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_3443úProSe-Event-Typer�   r    NZ
AnnouncingZ
MonitoringzMatch Reportr[  rà  r)   r)   r)   r*   rž  �  s   rž  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3445úProSe-Functionalityr�   r    NzDirect discoveryzEPC-level discoveryrS  rà  r)   r)   r)   r*   r   •  s   r   c                   @   s2   e Zd ZdZdZeeddddddd	d
dœƒgZdS )ÚAVP_10415_3448úProSe-Range-Classr�   r    Nr°  z50 mz100 mz200 mz500 mz1000 mr§  rà  r)   r)   r)   r*   r¢  ›  s   ÿÿr¢  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3449úProSe-Reason-For-Cancellationr�   r    NzProximity Alert sentzTime expired with no renewalrS  rà  r)   r)   r)   r*   r¤  £  s   ÿÿr¤  c                   @   s,   e Zd ZdZdZeeddddddœƒgZdS )	ÚAVP_10415_3451úProSe-Role-Of-UEr�   r    NzAnnouncing UEzMonitoring UEzRequestor UEr[  rà  r)   r)   r)   r*   r¦  «  s   r¦  c                   @   s*   e Zd ZdZdZeedddddœƒgZdS )ÚAVP_10415_3454úProximity-Alert-Indicationr�   r    NZAlertzNo AlertrS  rà  r)   r)   r)   r*   r¨  ±  s   ÿr¨  z	User-Nameé@   zUser-PasswordzNAS-Portr  r"  zFramed-IP-Netmaskr,  z	Filter-Idz
Framed-MTUr/  r1  zLogin-TCP-PortzReply-MessagezCallback-NumberzCallback-IdzFramed-RoutezFramed-IPX-NetworkÚClasszSession-TimeoutzIdle-TimeoutzCalled-Station-IdzCalling-Station-IdzProxy-StatezLogin-LAT-ServicezLogin-LAT-NodezLogin-LAT-GroupzFramed-Appletalk-LinkzFramed-Appletalk-NetworkzFramed-Appletalk-ZonezAcct-Delay-TimezAcct-Session-Idr4  zAcct-Session-TimezAcct-Multi-Session-IdzAcct-Link-CountzEvent-TimestampzCHAP-Challenger8  z
Port-LimitzLogin-LAT-PortrH  rJ  zTunnel-Client-EndpointzTunnel-Server-EndpointzAcct-Tunnel-ConnectionzTunnel-PasswordzARAP-PasswordzARAP-FeaturesrO  zARAP-SecurityzARAP-Security-DatazPassword-RetryrR  zConnect-InfozConfiguration-TokenzTunnel-Private-Group-IdzTunnel-Assignment-IdzTunnel-PreferencezARAP-Challenge-ResponsezAcct-Interim-IntervalzAcct-Tunnel-Packets-LostzNAS-Port-IdzFramed-PoolzChargeable-User-IdentityzTunnel-Client-Auth-IdzTunnel-Server-Auth-IdzOriginating-Line-InfozFramed-Interface-IdzFramed-IPv6-PrefixzFramed-IPv6-RoutezFramed-IPv6-PoolzEAP-Key-NamezDigest-Realmz
Digest-QopzDigest-Algorithmz
Digest-HA1zMIP6-Feature-VectorzMIP6-Home-Link-PrefixzHost-IP-AddresszAuth-Application-IdzAcct-Application-IdzVendor-Specific-Application-IdrU  zRedirect-Max-Cache-Timez
Session-IdzOrigin-HostzSupported-Vendor-Idz	Vendor-IdzFirmware-RevisionzResult-CodezProduct-NamezSession-BindingrX  zMulti-Round-Time-OutrZ  r]  zAuth-Grace-Periodra  zOrigin-State-Idz
Failed-AVPz
Proxy-HostzError-MessagezRoute-RecordzDestination-Realmz
Proxy-Inforc  zAccounting-Sub-Session-IdzAuthorization-LifetimezRedirect-HostzDestination-HostzError-Reporting-Hostre  zOrigin-RealmzExperimental-ResultzExperimental-Result-CodezInband-Security-IdzMIP-FA-to-HA-SPIzMIP-FA-to-MN-SPIzMIP-Reg-RequestzMIP-Reg-ReplyzMIP-MN-AAA-AuthzMIP-HA-to-FA-SPIzMIP-MN-to-FA-MSAzMIP-FA-to-MN-MSAzMIP-FA-to-HA-MSAzMIP-HA-to-FA-MSAzMIP-MN-to-HA-MSAzMIP-HA-to-MN-MSAzMIP-Mobile-Node-AddresszMIP-Home-Agent-Addressz	MIP-NoncezMIP-Candidate-Home-Agent-HostzMIP-Feature-VectorzMIP-Auth-Input-Data-LengthzMIP-Authenticator-LengthzMIP-Authenticator-OffsetzMIP-MN-AAA-SPIzMIP-Filter-RulezMIP-Session-KeyzMIP-FA-Challengerg  ri  zMIP-Originating-Foreign-AAAzMIP-Home-Agent-HostzAccounting-Input-OctetszAccounting-Output-OctetszAccounting-Input-PacketszAccounting-Output-PacketszMIP-MSA-LifetimezSIP-Accounting-InformationzSIP-Accounting-Server-URIzSIP-Credit-Control-Server-URIzSIP-Server-URIzSIP-Server-CapabilitieszSIP-Mandatory-CapabilityzSIP-Optional-Capabilityrk  zSIP-Auth-Data-Itemry  zSIP-Item-NumberzSIP-AuthenticatezSIP-AuthorizationzSIP-Authentication-InfozSIP-Number-Auth-ItemszSIP-Deregistration-Reasonr{  zSIP-Reason-InfozSIP-Visited-Network-Idr~  zSIP-Supported-User-Data-TypezSIP-User-DatazSIP-User-Data-TypezSIP-User-Data-Contentsr�  z
SIP-MethodzNAS-Filter-RuleZ	Tunnelingz	CHAP-Authr…  z
CHAP-IdentzCHAP-Responser‡  zQoS-Filter-RulezCC-Correlation-IdzCC-Input-OctetszCC-MoneyzCC-Output-OctetszCC-Request-NumberrŠ  zCC-Service-Specific-Unitsr�  zCC-Sub-Session-IdzCC-TimezCC-Total-Octetsr‘  zCost-Informationz	Cost-UnitzCurrency-Coder“  r•  r™  ÚExponentzFinal-Unit-IndicationzGranted-Service-UnitzRating-Groupr›  zRedirect-ServerzRedirect-Server-Addressrž  zRequested-Service-UnitzRestriction-Filter-RulezService-IdentifierzService-Parameter-InfozService-Parameter-TypezService-Parameter-ValuezSubscription-IdzSubscription-Id-Dataz
Unit-ValuezUsed-Service-UnitzValue-DigitszValidity-Timer   r¢  zTariff-Time-Changer¤  zG-S-U-Pool-Identifierr¦  r©  z Multiple-Services-Credit-ControlzG-S-U-Pool-ReferencezUser-Equipment-Infor«  zUser-Equipment-Info-ValuezService-Context-IdzEAP-PayloadzEAP-Reissued-PayloadzEAP-Master-Session-KeyzAccounting-EAP-Auth-Methodr­  r¯  zAccounting-Record-NumberzMIP6-Agent-InfozMIP-Careof-AddresszMIP-AuthenticatorzMIP-MAC-Mobility-DatazMIP-TimestampzMIP-MN-HA-SPIzMIP-MN-HA-MSAzService-Selectionr²  zMobile-Node-IdentifierzQoS-ResourceszFilter-RulezFilter-Rule-PrecedenceÚ
ClassifierzClassifier-IDr´  r·  z	From-SpeczTo-Specrº  z
IP-AddresszIP-Address-RangezIP-Address-StartzIP-Address-EndzIP-Address-MaskzIP-Mask-Bit-Mask-WidthzMAC-AddresszMAC-Address-MaskzMAC-Address-Mask-PatternzEUI64-AddresszEUI64-Address-MaskzEUI64-Address-Mask-PatternZPortz
Port-Rangez
Port-StartzPort-Endr¾  rÀ  rÉ  z	IP-OptionrË  zIP-Option-Valuez
TCP-OptionrÐ  zTCP-Option-Valuez	TCP-FlagszTCP-Flag-Typez	ICMP-TyperÔ  r×  z
ETH-OptionzETH-Proto-TypezETH-Ether-TypezETH-SAPzVLAN-ID-RangezS-VID-Startz	S-VID-EndzC-VID-Startz	C-VID-EndzUser-Priority-RangezLow-User-PriorityzHigh-User-PriorityzTime-Of-Day-ConditionzTime-Of-Day-StartzTime-Of-Day-EndzDay-Of-Week-MaskzDay-Of-Month-MaskzMonth-Of-Year-MaskzAbsolute-Start-Timez!Absolute-Start-Fractional-SecondszAbsolute-End-TimezAbsolute-End-Fractional-SecondsrÙ  zTimezone-OffsetzTreatment-ActionzQoS-Profile-IdzQoS-Profile-TemplaterÜ  zQoS-ParameterszExcess-TreatmentzQoS-CapabilityzERP-RK-Requestz	ERP-Realm(D  rB   rj   r_   rk   rl   re   r  r  r¤   r  r?   r�   r   r9  rß   r;  r<  r>  r@  rA  rC  r]   rD  rE  rf   rF  rV  rÄ  rW  rX  é,   rZ  rÆ  r1  r2  é7   r4  r5  é>   é?   rª  éA   éB   éC   éD   éE   r6  r7  r8  r9  éJ   éK   éL   éM   éN   éQ   éR   éS   éT   éU   éV   éW   éX   éY   éZ   é[   é^   é`   éa   éc   r[  éf   éh   én   rm   éy   é|   é}   r&  r'  r(  r)  r*  é  i  i  é	  i
  i  é  i  i  é  é  i  é  i  i  i  i  é  i  é  é  é  é  é  i#  i$  i%  i&  i'  i(  i)  i*  i+  é>  é?  é@  éA  éB  rh   éE  iF  iH  iI  iK  iL  iM  iN  iO  iP  iQ  iR  iS  iT  iU  iV  iW  iX  iY  iZ  i[  i\  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Ë  iÌ  iÍ  iÎ  iÏ  iÐ  iÑ  ià  iã  iå  iæ  iç  iè  ié  iê  ië  iì  ií  iî  éú  éü  éý  éþ  éÿ  é   é  i  é  é  é  é  é  é  é	  é
  é  i  é  é  é  é  é  i  é  é  é  é  é  é  é  é  é  é  é  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  rn   i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  éj  ék  z3GPP-Charging-CharacteristicséÀ   z3GPP-AAA-Server-NamerÞ  zAccess-Network-Charging-Addressz"Access-Network-Charging-Identifierz(Access-Network-Charging-Identifier-ValuezAF-Application-IdentifierzAF-Charging-IdentifierzAuthorization-TokenzFlow-DescriptionzFlow-GroupingzFlow-NumberZFlowsrâ  rä  rç  zMax-Requested-Bandwidth-DLzMax-Requested-Bandwidth-ULzMedia-Component-DescriptionzMedia-Component-NumberzMedia-Sub-Componentrí  zRR-BandwidthzRS-Bandwidthrñ  zService-URNzAcceptable-Service-Inforó  zMPS-Identifierr>   rõ  zSponsor-Identityz%Application-Service-Provider-Identityr÷  zMin-Requested-Bandwidth-DLzMin-Requested-Bandwidth-ULrù  zIP-Domain-IdzGCS-IdentifierzSharing-Key-DLzSharing-Key-ULzRetry-IntervalzVisited-Network-IdentifierzPublic-IdentityzServer-NamezServer-CapabilitieszMandatory-CapabilityzOptional-Capabilityz	User-DatazSIP-Authentication-Contextrû  zDeregistration-Reasonrý  zReason-InfozCharging-Informationz$Primary-Event-Charging-Function-Namez&Secondary-Event-Charging-Function-Namez)Primary-Charging-Collection-Function-Namez+Secondary-Charging-Collection-Function-Namerÿ  r  zConfidentiality-KeyzIntegrity-KeyzSupported-FeatureszFeature-List-IDzFeature-ListzSupported-ApplicationszAssociated-Identitiesr  zWildcarded-Public-IdentityzSIP-Digest-AuthenticatezWildcarded-IMPUz	UAR-Flagsr  zSCSCF-Restoration-InfoÚPathZContactzSubscription-InfozCall-ID-SIP-HeaderzFrom-SIP-HeaderzTo-SIP-HeaderzRecord-Routez Associated-Registered-Identitiesr  zRestoration-Infor	  z$Identity-with-Emergency-Registrationr  z	LIA-FlagszInitial-CSeq-Sequence-Numberz	SAR-FlagszUser-Identityr  r  zService-Indicationr  r  r  r  zExpiry-Timer  zDSAI-Tagr  zRequested-Nodesr  zRepository-Data-IDzSequence-Numberr   r"  z	UDR-FlagszCall-Reference-InfozCall-Reference-Numberz	AS-Numberz
Event-TypeÚEventzContent-TypezContent-LengthzContent-Dispositionr$  zCalling-Party-AddresszCalled-Party-AddresszTime-StampszSIP-Request-TimestampzSIP-Response-TimestampzApplication-Serverz)Application-provided-called-party-addresszInter-Operator-IdentifierzOriginating-IOIzTerminating-IOIzIMS-Charging-IdentifierzSDP-Session-DescriptionzSDP-Media-ComponentzSDP-Media-NamezSDP-Media-Descriptionz
CG-AddresszGGSN-AddresszServed-Party-IP-AddresszAuthorised-QoSzApplication-Server-InformationzTrunk-Group-IdzIncoming-Trunk-Group-IdzOutgoing-Trunk-Group-IdzBearer-Servicez
Service-IdzAssociated-URIzCharged-PartyzPoC-Controlling-AddresszPoC-Group-Namez
Cause-Coder(  r,  zPS-Furnish-Charging-InformationzPS-Free-Format-Datar.  zTime-Quota-ThresholdzVolume-Quota-Thresholdr0  zQuota-Holding-Timer;  zService-InformationzPS-InformationzIMS-InformationzMMS-InformationzLCS-InformationzPoC-InformationzMBMS-InformationzQuota-Consumption-Timer=  r@  rB  zNumber-Of-ParticipantszParticipants-InvolvedZExpireszMessage-BodyzAddress-DatazAddress-DomainrD  ZTMGIz!Required-MBMS-Bearer-CapabilitiesrG  zMBMS-Service-AreazMBMS-Session-DurationzAlternative-APNrK  rM  ZRAIzAdditional-MBMS-Trace-InfozMBMS-Time-To-Data-TransferzMBMS-Flow-IdentifierrO  rQ  rS  zCharging-Rule-InstallzCharging-Rule-RemovezCharging-Rule-DefinitionzCharging-Rule-Base-NamezCharging-Rule-NamerU  r`  rb  rd  Z
Precedencerf  z
TFT-FilterzTFT-Packet-Filter-InformationzToS-Traffic-Classrh  zCharging-Rule-Reportrj  zBearer-Identifierrl  z%Access-Network-Charging-Identifier-Gxrq  rs  zGuaranteed-Bitrate-DLzGuaranteed-Bitrate-ULru  rw  ry  zEvent-Report-IndicationzAllocation-Retention-PriorityzCoA-IP-AddresszTunnel-Header-FilterzTunnel-Header-LengthzTunnel-InformationzCoA-InformationzAPN-Aggregate-Max-Bitrate-DLzAPN-Aggregate-Max-Bitrate-ULzRevalidation-TimezRule-Activation-TimezRule-Deactivation-Timer}  zPriority-Levelr  r�  zDefault-EPS-Bearer-QoSzAN-GW-AddresszSecurity-Parameter-Indexz
Flow-LabelzFlow-InformationzPacket-Filter-ContentzPacket-Filter-IdentifierzPacket-Filter-Informationrƒ  r…  zPDN-Connection-IDzMonitoring-KeyzUsage-Monitoring-Informationr‡  r‰  r‹  r�  r�  r‘  zRouting-Rule-RemovezRouting-Rule-DefinitionzRouting-Rule-IdentifierzRouting-FilterzRouting-IP-Addressr“  zCredit-Management-StatuszRedirect-Informationr•  zTDF-InformationzTDF-Application-IdentifierzTDF-Destination-HostzTDF-Destination-RealmzTDF-IP-Addressz!Application-Detection-Informationr—  zDomain-NamezMM-Content-Typer™  zAdditional-Type-InformationzContent-SizezAdditional-Content-Informationrœ  rž  r¡  zMessage-SizezMessage-Classr£  z
Token-Textr¥  r©  z	Applic-IDzAux-Applic-Infor«  r­  r¯  zReply-Applic-IDr±  r¶  zUnit-Quota-ThresholdzPDP-AddresszSGSN-AddresszPoC-Session-IdzDeferred-Location-Event-TypezLCS-APNzPositioning-Datar¹  r»  zCalled-Asserted-IdentityzRequested-Party-AddresszPoC-User-RolezPoC-User-Role-IDsr½  zTalk-Burst-ExchangezEvent-Charging-TimeStampr¿  zParticipant-GrouprÁ  zPoC-Change-TimezAccess-Network-InformationZTriggerzBase-Time-IntervalZEnvelopezEnvelope-End-TimerÃ  zEnvelope-Start-TimezTime-Quota-MechanismrÅ  zEarly-Media-DescriptionzSDP-TimeStampszSDP-Offer-TimestampzSDP-Answer-TimestampzAF-Correlation-InformationrÇ  zOffline-ChargingrÉ  z$IMS-Communication-Service-IdentifierzNumber-Of-Received-Talk-BurstszNumber-Of-Talk-BurstszReceived-Talk-Burst-TimezReceived-Talk-Burst-VolumezTalk-Burst-TimezTalk-Burst-VolumezMedia-Initiator-PartyzSubscription-DatazTerminal-InformationZIMEIzSoftware-VersionzQoS-Subscribedz	ULR-Flagsz	ULA-FlagszVisited-PLMN-Idz$Requested-EUTRAN-Authentication-InfozGERAN-Authentication-InfozNumber-Of-Requested-VectorszRe-Synchronization-InfozImmediate-Response-PreferredzAuthentication-InfozE-UTRAN-VectorzUTRAN-VectorzGERAN-VectorrË  z	HPLMN-ODBzItem-NumberrÍ  z	DSR-Flagsz	DSA-FlagszContext-IdentifierrÏ  zOperator-Determined-BarringzAccess-Restriction-DatazAPN-OI-ReplacementrÑ  zAPN-Configuration-ProfilezAPN-ConfigurationzEPS-Subscribed-QoS-ProfilerÓ  r  rÕ  ZAMBRzCSG-Idr×  zExpiration-Datez#RAT-Frequency-Selection-Priority-IDz	IDA-Flagsz	PUA-Flagsz	NOR-FlagszUser-IdrÙ  zRegional-Subscription-Zone-CodeZRANDZXRESZAUTNZKASMEzTrace-Collection-EntityZKcZSRESrÛ  rÝ  z
Trace-DatazTrace-Referencerß  zTrace-NE-Type-ListzTrace-Interface-ListzTrace-Event-ListzOMC-IdzGPRS-Subscription-Datará  zPDP-ContextzPDP-Typez
3GPP2-MEIDzSpecific-APN-InfozLCS-InfozGMLC-NumberzLCS-PrivacyExceptionzSS-Codez	SS-Statusrã  zExternal-ClientzClient-Identityrå  rç  ZServiceTypeIdentityzMO-LRzTeleservice-ListzTS-CodezCall-Barring-InfozSGSN-Numberz	IDR-Flagsré  rí  rð  zLast-UE-Activity-TimezEPS-User-StatezEPS-Location-InformationzMME-User-StatezSGSN-User-Staterò  zNon-3GPP-User-Datarô  rö  rø  ZANIDz
Trace-Infoz	MIP-FA-RKzMIP-FA-RK-SPIz	PPR-FlagszWLAN-IdentifierzTWAN-Access-InfozAccess-Authorization-FlagszTWAN-Default-APN-Context-Idrú  zFull-Network-NamezShort-Network-NamezAAA-Failure-Indicationrü  z	DER-Flagsz	DEA-Flagsz	RAR-FlagszDER-S6b-FlagsZSSIDZHESSIDzAccess-Network-InfozTWAN-Connection-ModezTWAN-Connectivity-ParameterszConnectivity-FlagszTWAN-PCOzTWAG-CP-AddresszTWAG-UP-AddresszTWAN-S2a-Failure-CausezSM-Back-Off-TimerzWLCP-KeyZInformationzSGSN-Location-InformationzE-UTRAN-Cell-Global-IdentityzTracking-Area-IdentityzCell-Global-IdentityzRouting-Area-IdentityzLocation-Area-IdentityzService-Area-IdentityzGeographical-InformationzGeodetic-Informationrþ  zAge-Of-Location-Informationz
Active-APNr   r  r  zMPS-Priorityr  r  z!Subscribed-Periodic-RAU-TAU-TimerzExt-PDP-AddresszMDT-Configurationr	  z
Area-ScopezList-Of-MeasurementszReporting-Triggerr  r  zEvent-Threshold-RSRPr  r  r  r  z	PUR-Flagsr  z	CLR-Flagsz	UVR-Flagsz	UVA-FlagszVPLMN-CSG-Subscription-Dataz	Time-ZonezA-MSISDNzMME-Number-for-MT-SMSr  zLocal-Time-Zoner   zSubscription-Data-FlagszPositioning-MethodzMeasurement-QuantityzEvent-Threshold-Event-1FzEvent-Threshold-Event-1IzRestoration-PriorityzSGs-MME-IdentityzSIPTO-Local-Network-PermissionzCoupled-Node-Diameter-IDzWLAN-offloadabilityzWLAN-offloadability-EUTRANzWLAN-offloadability-UTRANzReset-IDzMDT-Allowed-PLMN-IdzSMS-InformationzData-Coding-SchemezDestination-InterfacezInterface-IdzInterface-PortzInterface-Textr"  r$  zOriginator-SCCP-AddresszOriginator-InterfacezRecipient-SCCP-Addressr&  zSM-Discharge-TimezSM-Protocol-IDzSM-User-Data-Headerr(  zClient-AddresszNumber-Of-Messages-SentzRemaining-BalancezRefund-Informationz"Carrier-Select-Routing-Informationz&Number-Portability-Routing-Informationr*  zRecipient-InfozOriginator-Received-AddresszRecipient-Received-Addressr,  zMMTel-InformationzMMTel-SService-TypezService-Moder.  zNumber-Of-DiversionszAssociated-Party-Addressr0  zChange-ConditionzChange-TimeÚDiagnosticszService-Data-Containerz
Start-Timez	Stop-TimezTime-First-UsagezTime-Last-Usagez
Time-UsagezTraffic-Data-Volumesr2  zSupplementary-Servicer4  zPDN-Connection-Charging-IDr6  zAccumulated-CostzAoC-Cost-InformationzCurrent-TariffzRate-ElementzScale-FactorzTariff-Informationz	Unit-CostzIncremental-CostzLocal-Sequence-NumberzNode-Idr:  r<  zSGW-Addressr>  r@  zSubsession-Decision-InfozSubsession-Enforcement-InfozSubsession-IdrD  rF  rH  rJ  zSIP-Request-Timestamp-FractionzSIP-Response-Timestamp-FractionrL  zCUG-InformationzReal-Time-Tariff-Informationz
Tariff-XMLzMBMS-GW-AddressrN  zAccount-ExpirationrP  zAoC-ServicerR  rT  zAoC-Subscription-InformationzPreferred-AoC-CurrencyrW  rY  zUser-CSG-InformationzOutgoing-Session-IdzInitial-IMS-Charging-Identifierr[  r]  ZLMSIzServing-NodezMME-Namez
MSC-NumberzLCS-Capabilities-SetszGMLC-AddresszAdditional-Serving-NodezPPR-Addressz	MME-Realmz	SGSN-Namez
SGSN-Realmz	RIA-Flagsr_  zLCS-EPS-Client-NamezLCS-Requestor-NamezLCS-PriorityzLCS-QoSzHorizontal-AccuracyzVertical-Accuracyra  rc  re  zSupported-GAD-ShapeszLCS-Codewordrg  rj  zAge-Of-Location-EstimatezVelocity-EstimatezEUTRAN-Positioning-DataZECGIrl  rn  zLCS-Service-Type-IDrp  zGERAN-Positioning-InfozGERAN-Positioning-DatazGERAN-GANSS-Positioning-DatazUTRAN-Positioning-InfozUTRAN-Positioning-DatazUTRAN-GANSS-Positioning-Dataz	LRR-FlagszLCS-Reference-NumberzDeferred-Location-TypezArea-Event-InfozArea-DefinitionZAreaz	Area-TypezArea-Identificationrr  zInterval-TimezPeriodic-LDR-InformationzReporting-AmountzReporting-IntervalzReporting-PLMN-ListzPLMN-ID-Listz	PLR-Flagsz	PLA-FlagszDeferred-MT-LR-Dataz	LRA-Flagsrt  rv  zESMLC-Cell-InfozCell-Portion-IDz
1xRTT-RCIDz$IMS-Application-Reference-Identifierrx  r{  r}  zPDP-Address-Prefix-LengthzTransit-IOI-Listr  r‚  zNeighbour-Node-Addressr„  r†  zFrom-AddresszAccess-Transfer-Informationrˆ  zRelated-IMS-Charging-Identifierz$Related-IMS-Charging-Identifier-NodezIMS-Visited-Network-IdentifierzTWAN-User-Location-InfoZBSSIDrŠ  z#TDF-Application-Instance-IdentifierzHeNB-Local-IP-AddresszUE-Local-IP-AddresszUDP-Source-Portr�  zMonitoring-Timer�  zUser-Location-Info-TimezDefault-QoS-InformationzDefault-QoS-Namez%Conditional-APN-Aggregate-Max-BitratezRAN-NAS-Release-Causez%Presence-Reporting-Area-Elements-Listz"Presence-Reporting-Area-Identifierz#Presence-Reporting-Area-InformationzPresence-Reporting-Area-StatuszNetLoc-Access-SupportzFixed-User-Location-InfozPCSCF-Restoration-IndicationzIP-CAN-Session-Charging-ScopezMonitoring-FlagszPolicy-Counter-IdentifierzPolicy-Counter-StatuszPolicy-Counter-Status-Reportr‘  z"Pending-Policy-Counter-Informationz"Pending-Policy-Counter-Change-TimezReason-HeaderzInstance-IdzRoute-Header-ReceivedzRoute-Header-TransmittedzSM-Device-Trigger-InformationzMTC-IWF-Addressr“  zSM-Sequence-Numberz
SMS-ResultzVCS-InformationzBasic-Service-CodezBearer-CapabilityZTeleservicezISUP-Location-Numberr•  z
ISUP-CausezMSC-AddresszNetwork-Call-Reference-NumberzStart-of-Chargingz
VLR-Numberr—  zISUP-Cause-DiagnosticszISUP-Cause-LocationzISUP-Cause-ValuezePDG-Addressr™  zLayer-2-Group-IDzMonitored-PLMN-IdentifierzMonitoring-UE-HPLMN-IdentifierzMonitoring-UE-IdentifierzMonitoring-UE-VPLMN-IdentifierzPC3-Control-Protocol-CausezPC3-EPC-Control-Protocol-CausezRequested-PLMN-IdentifierzRequestor-PLMN-Identifierr›  z(Usage-Information-Report-Sequence-NumberzProSe-3rd-Party-Application-IDz)ProSe-Direct-Communication-Data-Containerr�  rŸ  zProSe-Function-IP-Addressr¡  z ProSe-Group-IP-Multicast-AddresszProSe-Informationr£  r¥  zProSe-Request-Timestampr§  zProSe-Source-IP-AddresszProSe-UE-IDr©  zProximity-Alert-Timestampz Proximity-Cancellation-TimestampzProSe-Function-PLMN-Identifier(  r  rÝ  iô  iõ  iö  i÷  iø  iù  rã  iû  rä  rå  ræ  rç  rè  ré  rê  rë  rì  rí  rî  rï  rð  rñ  rò  ró  rô  rõ  rö  r÷  rø  rù  rú  rû  rü  rý  rþ  rÿ  r   r  r  iX  iY  iZ  i[  i\  i]  i^  i_  i`  ia  ib  ic  id  ie  if  ig  ih  ii  r  r  il  im  in  io  ip  iq  ir  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Ò  i7  i8  i9  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  iV  iW  iX  iY  iZ  i[  i]  i^  i`  ia  ib  ic  id  ie  if  ig  ih  ii  ij  il  im  in  io  ip  iq  ir  is  it  iu  iw  ix  iy  i�  i‚  iƒ  i„  i…  i†  i‡  iˆ  i‰  iŠ  i‹  i�  iŽ  i�  i˜  i™  iš  r\  rû   r]  r^  rz  ií  iî  iï  ið  iñ  iò  ió  iô  iõ  iö  i÷  iú  iû  iü  iý  iþ  iÿ  i   i  i  i  i  i  i	  i
  i  i  i  i  i  i  i  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  i4  i5  i6  i7  i8  i:  i=  i>  i?  i@  iA  iB  iC  iJ  iK  i°  i³  i´  iµ  i¶  i·  i¸  i¹  i»  i¼  i½  i¾  i¿  iÀ  iÁ  iÂ  iÃ  iÄ  iÅ  iÆ  iÇ  iÈ  iÉ  iÊ  iË  iÌ  iÍ  iÎ  iÏ  iÝ  iß  ià  iâ  iã  iä  iå  iæ  iç  iê  ië  iì  ií  iî  iï  ið  iñ  iò  ió  iô  iõ  iö  i÷  iø  iù  iú  iû  iü  iý  iþ  iÿ  i  i  i  i  i  i  i  i  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Ý  iÞ  iß  ià  iá  iâ  iã  iä  iå  iæ  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  iU  iV  iW  iX  iY  iZ  i[  i\  i]  i_  i`  ia  ib  ic  id  if  ig  ih  ii  ij  ik  im  ip  iq  ir  iv  i{  i|  i}  i~  i  i€  i�  i‚  iƒ  i„  i…  i†  i‡  r{  rü   rý   rþ   rÿ   r   r  r  r  r  iÚ  iÛ  iÜ  iÝ  iß  ià  iâ  iã  r  iæ  iç  iè  ié  iê  ië  iì  ií  iî  iï  ið  iñ  iò  ió  iô  iõ  iö  i÷  iø  iù  iú  iû  iü  iý  iþ  iÿ  i   i  i  i  i  i  i  i
  i  i  i  i  i  i  i  i  i  i  iF  i˜  i™  iš  i›  iœ  iž  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	  iÄ	  iÅ	  iÆ	  iÇ	  iÈ	  iÉ	  iÊ	  iË	  iÌ	  iÍ	  iÎ	  iÏ	  iÐ	  iÑ	  iÒ	  iÓ	  iÔ	  iÕ	  iÖ	  i×	  iØ	  iÛ	  iÜ	  iÝ	  iÞ	  iß	  ià	  iá	  iâ	  iã	  iä	  iå	  iæ	  iç	  iè	  ié	  iê	  ië	  iì	  ií	  iî	  iï	  ið	  iñ	  iò	  ió	  iô	  iõ	  iö	  i÷	  iø	  iù	  iú	  i)
  i*
  i,
  i-
  i.
  i�
  iŽ
  i�
  i‘
  i’
  i“
  i”
  i•
  i–
  i—
  i˜
  i™
  iš
  iœ
  i�
  iò
  iô
  iõ
  iö
  iù
  iú
  iû
  iü
  i   i  i  i  i  i  i  i  i  i	  i
  i  i  iU  iV  iW  iX  iY  iZ  iI  iJ  iK  iL  iM  iN  iO  iP  iQ  iR  iS  iT  iU  iV  iW  iX  iY  iZ  i[  i\  i]  i^  i_  i`  ia  id  ie  if  ig  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�  )r   ri   rß   )r6   r6   r6   r6   ÚTÚEr¡   ÚRzCapabilities-ExchangeZCE©r>   r   zRe-AuthZRA)r  rª  )r   rB   rq   rw   ru   zAA-Mobile-NodeZAMrj   zHome-Agent-MIPZHAZAA)rw   rB   rq   ru   zDiameter-EAPZDE)rw   ru   rq   r_   rl   Z
AccountingZACrS  ÚCCzAbort-Sessionr)  zSession-TerminationZST)r   rB   rq   ru   rw   zDevice-WatchdogZDWzDisconnect-PeerZDPzUser-AuthorizationZUArk   zServer-AssignmentZSAzLocation-InfoZLIzMultimedia-AuthZMAzRegistration-TerminationZRTzPush-ProfileZPPro   )ro   rv   )r>   rª  ZUDrp   zProfile-UpdateZPUzSubscribe-NotificationsZSNzPush-NotificationZPNzUpdate-LocationZULrr   zCancel-LocationZCLzAuthentication-InformationZAIzInsert-Subscriber-DataZIDzDelete-Subscriber-DataZDSzPurge-UEZResetZRSZNotifyry  zME-Identity-CheckZECrs   ZMIP6ZMIr@   zProvide-LocationZPLrt   zLocation-ReportZLRzLCS-Routing-InfoZRIrx   zSpending-LimitZSLzSpending-Status-NotificationzUpdate-VCSG-LocationZUVi\  zCancel-VCSG-LocationZCV)-r&  r'  r)  rÑ  rÒ  rÓ  rÔ  rÕ  rÖ  i  r×  rØ  rÙ  rÚ  rÛ  i  rÜ  i   i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i<  i=  rÝ  rÞ  rß  rà  rá  rh   iD  râ  i € i € i € i € i € i € i" € c                   @   st   e Zd ZdZdZeddƒeddddd	„ d
�edddeƒe	dde
ƒeddeƒeddƒeddƒedg edd	„ d�gZdS )ÚDiamGz1   Generic class defining all the Diameter fieldsr5  ÚversionrB   ÚdrLenNZavpListc                 C   s   |t  S r3   )ÚDR_Header_Length)r®   r6   r)   r)   r*   r7   s  s    ÿzDiamG.<lambda>rÌ   ÚdrFlagsr@   ÚdrCodeÚdrAppIdZdrHbHIdr   ZdrEtEIdc                 C   s
   | j t S r3   )r  r  rÑ   r)   r)   r*   r7   ƒ  s   ÿrÒ   )r+   r,   r-   r.   r&   r   r/   r;   ÚDR_Flags_ListrU   Ú
DR_cmd_defr   rì   r   r   r³   rÈ   r)   r)   r)   r*   r  i  s*   ü

üír  c                 K   s¾  d}d}d}t | tƒrH| }| tv r,t| }q¸ddddif}td|  ƒ npt| ƒdkrZd}n| dd… } d	}t ¡ D ],\}}|| dt| ƒ… | krr|}|} q qr|s¸td
|  ƒ |dfS ||d< d|v �rB|d }	t |	tƒ�r<d}
t t	¡D ],\}}| 
|	¡dkrì|}||d< d}
 �qqì|
�s@|d= td|	 ƒ |dfS n|	}ntt|d ƒƒ}||d< |�rl|d d n
|d d }d|v�r¶||d v �r¶|d | }|�rª|d n|d	 |d< ||fS )z’Update or fill the fields parameters depending on command code. Both cmd and drAppId can be provided  # noqa: E501
       in string or int format.NrY   ZUKr   r  z?No Diameter command with code %d found in DR_cmd_def dictionaryr^   rj   rB   zADiameter command with name %s not found in DR_cmd_def dictionary.r  r  FrD   Tz?Application ID with name %s not found in AppIDsEnum dictionary.z-Requestz-Answerr  )rŒ   rI   r  r   r¦   rV   rK   ÚsixÚ	iteritemsrì   ÚfindÚnextÚiter)rZ   ÚrequestrÂ   r  Úparamsr  ZfposrW   Úfr    rÄ   rX   r&   r±   r)   r)   r*   ÚgetCmdParamsˆ  sz    

ÿÿ
ÿÿÿÿ
ÿÿ

r  c                 K   s.   t | dfi |¤Ž\}}tf i |¤Ž}||_|S )zCraft Diameter request commandsT©r  r  r&   ©rZ   rÂ   Zupfieldsr&   r®   r)   r)   r*   ÚDiamReqË  s    r"  c                 K   s.   t | dfi |¤Ž\}}tf i |¤Ž}||_|S )zCraft Diameter answer commandsFr   r!  r)   r)   r*   ÚDiamAnsÓ  s    r#  i  )Údport)ZsportrÆ  )Zproto_idé/   (r  r.   rˆ   r©   Útimer   Zscapy.packetr   r   Zscapy.fieldsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   Zscapy.layers.inetr   Zscapy.layers.sctpr   Zscapy.libs.sixZlibsr  Zscapy.compatr   r   r   r   r   Zscapy.errorr   Zscapy.utilsr   r   Zscapy.pton_ntopr    r!   r"   r/   r;   rU   r\   r`   ra   rì   rz   r|   r~   r€   r�   r‚   rƒ   r„   r�   r‘   r“   r”   r•   r–   r§   r¨   r¶   rÇ   r³   r´   rÅ   rÆ   rÉ   rÊ   rÍ   r­   rÓ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rà   rá   râ   rã   rä   rå   ræ   rç   rè   ré   rê   rë   rí   rî   r  r  r  r  r  r!  r+  r.  r0  r3  r7  rG  rI  rN  rQ  rT  rW  rY  r\  r`  rb  rd  rf  rh  rj  rx  rz  r}  r€  r„  r†  r‰  rŽ  r�  r’  r”  r˜  rš  r�  rŸ  r¡  r£  r¥  r¨  rª  r¬  r®  r±  r³  r¶  r¹  r½  r¿  rÈ  rÊ  rÏ  rÓ  rÖ  rØ  rÛ  rÝ  rá  rã  ræ  rì  rð  rò  rô  rö  rø  rú  rü  rþ  r   r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r!  r#  r'  r+  r-  r/  r:  r<  r?  rA  rC  rF  rJ  rL  rN  rP  rR  rT  r_  ra  rc  re  rg  ri  rk  rp  rr  rt  rv  rx  r|  r~  r€  r‚  r„  r†  rˆ  rŠ  rŒ  rŽ  r�  r’  r”  r–  r˜  r›  r�  r   r¢  r¤  r¨  rª  r¬  r®  r°  rµ  r¸  rº  r¼  r¾  rÀ  rÂ  rÄ  rÆ  rÈ  rÊ  rÌ  rÎ  rÐ  rÒ  rÔ  rÖ  rØ  rÚ  rÜ  rÞ  rà  râ  rä  ræ  rè  rì  rï  rñ  ró  rõ  r÷  rù  rû  rý  rÿ  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r)  r+  r-  r/  r1  r3  r5  r9  r;  r=  r?  rC  rE  rG  rI  rK  rM  rO  rQ  rS  rV  rX  rZ  r\  r^  r`  rb  rd  rf  ri  rk  rm  ro  rq  rs  ru  rw  rz  r|  r~  r�  rƒ  r…  r‡  r‰  rŒ  rŽ  r�  r’  r”  r–  r˜  rš  rœ  rž  r   r¢  r¤  r¦  r¨  r¬   r  r  r  r  r  r"  r#  r)   r)   r)   r*   Ú<module>   sV  H	óÙ0		$7	

JY'	
	-		!&,.<(










€ € ¼  I€ € € € € € æ€ € ¹
        x$ $$$Ó
4C