MINI MINI MANI MO
3
  \`Z                 @   sJ  d Z ddlZddlZddlZddlmZ dgZdZdZ	e
dgZe
dgZe
dgZ
e
d	gZe
d
gZe
dgZe
dgZe
dgZe
d
gZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZe
dgZ e
dgZ!e
dgZ"e
dgZ#e
dgZ$e
dgZ%e
dgZ&e
d gZ'e
d!gZ(e
d"gZ)e
d#gZ*e
d$gZ+e
d%gZ,e
d&gZ-e
d'gZ.e
d(gZ/e
d)gZ0e
d*gZ1e
d+gZ2e
dgZ3e
d,gZ4e
d-gZ5e
d.gZ6e
d/gZ7e
d0gZ8e
d1gZ9e
d2gZ:e
d3gZ;e
d4gZ<e
d5gZ=e
d6gZ>e
d7gZ?e
d8gZ@e
d9gZAe
d:gZBe
d;gZCe
d<gZDe
d=gZEe
d>gZFe
d?gZGe
d@gZHe
dAgZIe
dBgZJe
dCgZKe
dDgZLe
dEgZMe
dFgZNe
dGgZOe
dHgZPe
dgZQe
dgZReSedIrejTZUnejVZUG dJd dZWdKdL ZXeYdMkrFeX  dS )NaQ  TELNET client class.
Based on RFC 854: TELNET Protocol Specification, by J. Postel and
J. Reynolds
Example:
>>> from telnetlib import Telnet
>>> tn = Telnet('www.python.org', 79)   # connect to finger port
>>> tn.write(b'guido\r\n')
>>> print(tn.read_all())
Login       Name               TTY         Idle    When    Where
guido    Guido van Rossum      pts/2        <Dec  2 11:10> snag.cnri.reston..
>>>
Note that read_all() won't read until eof -- it just reads some data
-- but it guarantees to read at least one byte unless EOF is hit.
It is possible to pass a Telnet object to a selector in order to wait until
more data is available.  Note that in this case, read_eager() may return b''
even if there was data on the socket, because the protocol negotiation may have
eaten the data.  This is why EOFError is needed in some cases to distinguish
between "no data" and "connection closed" (since the socket also appears ready
for reading when it is closed).
To do:
- option negotiation
- timeout should be intrinsic to the connection object instead of an
  option on one of the read calls only
    N)	monotonicTelnet                                                                           	   
         
                                                          !   "