+
    üÐj	  ã                   óª   € R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt  ! R R4      t	R	t
]! ]P                  4       ! R R]P                  4      4       tR# )
z,Support for working directly with IP packetsN)Úimplementer)Úprotocol)Úrawc                   ó&   a € ] tR t^t o R tRtV tR# )ÚIPHeaderc           
     ó´  € \         P                  ! R VR,          4      w
  pV n        V n        V n        pV n        V n        V n        pp\        P                  ! V4      V n
        \        P                  ! V4      V n        V^,          V n        V^ð,          ^,	          ^,          V n        VR,          V n        VR,          ^ 8g  V n        VR,          ^ 8g  V n        R# )z!BBHHHBBH4s4s:Né   Niÿ  i @  i    N)ÚstructÚunpackÚtosÚtot_lenÚfragment_idÚttlr   ÚcheckÚsocketÚ	inet_ntoaÚsaddrÚdaddrÚversionÚihlÚfragment_offsetÚdont_fragmentÚmore_fragments)ÚselfÚdataÚ
ihlversionÚfrag_offr   r   s   &&    Ú1/usr/lib/python3/dist-packages/twisted/pair/ip.pyÚ__init__ÚIPHeader.__init__   s½   € ô �MŠM˜/¨4°­9Ó5ñ	
ØØŒHØŒLØÔØØŒHØŒMØŒJØØä×%Ò% eÓ,ˆŒ
Ü×%Ò% eÓ,ˆŒ
Ø! DÕ(ˆŒØ $Õ&¨1Õ,°Õ2ˆŒØ'¨&Õ0ˆÔØ%¨Õ.°!Ñ3ˆÔØ&¨Õ/°1Ñ4ˆÖó    )r   r   r   r   r   r   r   r   r   r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷5ð 5r    r   c                   ó2   a € ] tR t^-t o R tR tR tRtV tR# )Ú
IPProtocolc                ó   € / V n         R # )N©ÚipProtos)r   s   &r   r   ÚIPProtocol.__init__/   s	   € ØˆŽr    c                ó  € \         P                  ! V4      pV^ 8  d   \        R4      hV\        8¼  d   \        R4      hWP                  9  d   . V P                  V&   V P                  V,          P                  V4       R# )é    z'Added protocol must be positive or zeroz"Added protocol must fit in 32 bitsN)r   ÚIRawDatagramProtocolÚ	TypeErrorÚMAX_SIZEr-   Úappend)r   ÚnumÚprotos   &&&r   ÚaddProtoÚIPProtocol.addProto2   sg   € Ü×(Ò(¨Ó/ˆØ�Œ7ÜÐEÓFÐFØ”(Œ?ÜÐ@ÓAÐAØ—m‘mÔ#Ø!#ˆD�M‰M˜#ÑØ�‰�cÕ×!Ñ! %Ö(r    c                ó²  € \        V4      pV P                  P                  VP                  R4       F¡  pVP	                  VR ,          VVP
                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  R7       K£  	  R# ):r   NN)r   ÚpartialÚsourceÚdestr   r   r   r   r   r   r   r   r   r   N© )r   r-   Úgetr   ÚdatagramReceivedr   r   r   r   r   r   r   r   r   r   r   )r   r   r:   r<   r;   r   Úheaderr6   s   &&&&&&  r   r?   ÚIPProtocol.datagramReceived<   s£   € Ü˜$“ˆØ—]‘]×&Ñ& v§¡¸Ö;ˆEØ×"Ñ"Ø˜#•YØØ—|‘|Ø—\‘\ØŸ™ØŸ™Ø—J‘JØ—J‘JØŸ™Ø"×.Ñ.Ø &× 6Ñ 6Ø$×2Ñ2Ø%×4Ñ4Ø—J‘Jð #ö ó <r    r,   N)	r!   r"   r#   r$   r   r7   r?   r%   r&   r'   s   @r   r*   r*   -   s   ø‡ € òò)÷ð r    r*   l        )Ú__doc__r   r	   Úzope.interfacer   Útwisted.internetr   Útwisted.pairr   r   r3   ÚIRawPacketProtocolÚAbstractDatagramProtocolr*   r=   r    r   Ú<module>rH      sV   ðñ 3ã Û å &å %Ý ÷5ñ 5ð. €ñ ˆS×#Ñ#Ó$ô �×2Ñ2ó  ó %ò r    