Files
Hippolyzer/docs/html/.doctrees/modules/helpers.doctree

399 lines
46 KiB
Plaintext
Raw Normal View History

<EFBFBD>(cdocutils.nodes
document
qoq}q(U nametypesq}q(X9pyogp.lib.base.helpers.Helpers.pack_quaternion_to_vector3qKX)pyogp.lib.base.helpers.ListLLSDSerializerqKX+pyogp.lib.base.helpers.Helpers.bytes_to_hexqKX1pyogp.lib.base.helpers.Helpers.packed_u8_to_floatq KX-pyogp.lib.base.helpers.Helpers.bytes_to_asciiq
KX2pyogp.lib.base.helpers.Helpers.packed_u16_to_floatq KXpyogp.lib.base.helpers.Wait.runq KX3pyogp.lib.base.helpers.LLSDDeserializer.deserializeq KX+pyogp.lib.base.helpers.Helpers.int_to_bytesqKX3pyogp.lib.base.helpers.DictLLSDSerializer.serializeqKX3pyogp.lib.base.helpers.Helpers.log_event_queue_dataqKX)pyogp.lib.base.helpers.DictLLSDSerializerqKX:pyogp.lib.base.helpers.LLSDDeserializer.deserialize_stringqKX)pyogp.lib.base.helpers.Helpers.log_packetqKX'pyogp.lib.base.helpers.LLSDDeserializerqKX6pyogp.lib.base.helpers.ListLLSDSerializer.content_typeqKX6pyogp.lib.base.helpers.DictLLSDSerializer.content_typeqKXpyogp.lib.base.helpers.HelpersqKX3pyogp.lib.base.helpers.ListLLSDSerializer.serializeqKX pyogp.lib.base.helpers.Wait.stopqKX.pyogp.lib.base.helpers.Helpers.bytes_to_base64qKX2pyogp.lib.base.helpers.Helpers.null_packet_handlerqKXhelpersqNXpyogp.lib.base.helpers.WaitqKX+pyogp.lib.base.helpers.Helpers.hex_to_asciiqKX8pyogp.lib.base.helpers.LLSDDeserializer.deserialize_fileqKuUsubstitution_defsq }q!Uparse_messagesq"]q#Ucurrent_sourceq$NU
decorationq%NUautofootnote_startq&KUnameidsq'}q((hhhhhhh h h
h
h h h h h h hhhhhhhhhhhhhhhhhhhhhhhhhhhhhUhelpersq)hhhhhhuUchildrenq*]q+(cdocutils.nodes
section
q,oq-}q.(U rawsourceq/UUparentq0hUsourceq1UQ/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/docs/source/modules/helpers.rstq2Utagnameq3Usectionq4U
attributesq5}q6(Udupnamesq7]q8Uclassesq9]q:Ubackrefsq;]q<Uidsq=]q>Xmodule-pyogp.lib.base.helpersq?aUnamesq@]qAhauUlineqBKUdocumentqChh*]qD((cdocutils.nodes
title
qEoqF}qG(h/X:mod:`helpers`qHh0h-h1h2h3UtitleqIh5}qJ(h7]qKh9]qLh;]qMh=]qNh@]qOuhBKhChh*]qP(csphinx.addnodes
pending_xref
qQoqR}qS(h/hHh0hFh3U pending_xrefqTh5}qU(UreftypeqVXmodqWUmodnameqXNU
refcaptionqY<EFBFBD>U reftargetqZXhelpersq[h=]q\h;]q]U classnameq^Nh7]q_h9]q`h@]qauhBKh*]qb(cdocutils.nodes
literal
qcoqd}qe(h/hHh5}qf(h7]qgh9]qhUxrefqiah;]qjh=]qkh@]qluh0hRh*]qm(cdocutils.nodes
Text
qnoqo}qp(h/UUdataqqh[h0hdubah3Uliteralqrubaubaub(csphinx.addnodes
index
qsoqt}qu(h/Uh0h-h1U <autodoc>qvh3Uindexqwh5}qx(h=]qyh;]qzh7]q{h9]q|h@]q}Uentriesq~]q(Usingleq<65>Xpyogp.lib.base.helpers (module)Xmodule-pyogp.lib.base.helpersXpyogp.lib.base.helpersq<73>tq<74>auhBKhChh*]q<>ub(csphinx.addnodes
module
q<EFBFBD>oq<EFBFBD>}q<>(h/Uh0h-h1hvh3Umoduleq<65>h5}q<>(Umodnameq<65>h<EFBFBD>h=]q<>h;]q<>h7]q<>Usynopsisq<73>Uh9]q<>h@]q<>uhBKhChh*]q<>ub(hsoq<6F>}q<>(h/Uh0h-h1Nh3hwh5}q<>(h=]q<>h;]q<>h7]q<>h9]q<>h@]q<>Uentriesq<73>]q<>(h<>X2LLSDDeserializer (class in pyogp.lib.base.helpers)hhtq<74>auhBNhChh*]q<>ub(csphinx.addnodes
desc
q<EFBFBD>oq<EFBFBD>}q<>(h/Uh0h-h1Nh3Udescq<63>h5}q<>(Unoindexq<78><71>h=]q<>h;]q<>h7]q<>h9]q<>h@]q<>Udesctypeq<65>Xclassq<73>uhBNhChh*]q<>((csphinx.addnodes
desc_signature
q<EFBFBD>oq<EFBFBD>}q<>(h/XLLSDDeserializerq<72>h0h<30>h1U <autodoc>q<>h3Udesc_signatureq<65>h5}q<>(h=]q<>hah;]q<>h7]q<>h9]q<>h@]q<>haUfirstq<74><71>uhBNhChh*]q<>((csphinx.addnodes
desc_annotation
q<EFBFBD>oq<EFBFBD>}q<>(h/Xclass q<>h0h<30>h1h<31>h3Udesc_annotationq<6E>h5}q<>(h7]q<>h9]q<>h;]q<>h=]q<>h@]q<>uhBNhChh*]q<>(hnoq<6F>}q<>(h/Uhqh<71>h0h<30>ubaub(csphinx.addnodes
desc_addname
q<EFBFBD>oq<EFBFBD>}q<>(h/Xpyogp.lib.base.helpers.q<>h0h<30>h1h<31>h3U desc_addnameq<65>h5}q<>(h7]q<>h9]q<>h;]q<>h=]q<>h@]q<>uhBNhChh*]q<>(hnoq<6F>}q<>(h/Uhqh<71>h0h<30>ubaub(csphinx.addnodes
desc_name
q<EFBFBD>oq<EFBFBD>}q<>(h/h<>h0h<30>h1h<31>h3U desc_nameq<65>h5}q<>(h7]q<>h9]q<>h;]q<>h=]q<>h@]q<>uhBNhChh*]q<>(hnoq<6F>}q<>(h/Uhqh<71>h0h<30>ubaubeub(csphinx.addnodes
desc_content
q<EFBFBD>oq<EFBFBD>}q<>(h/Uh0h<30>h1h<31>h3U desc_contentq<74>h5}q<>(h7]q<>h9]q<>h;]q<>h=]q<>h@]q<>uhBNhChh*]q<>((cdocutils.nodes
paragraph
q<EFBFBD>oq<EFBFBD>}q<>(h/X#utility for deserializing LLSD dataq<61>h0h<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.LLSDDeserializerq<72>h3U paragraphq<68>h5}q<>(h7]q<>h9]q<>h;]q<>h=]q<>h@]q<>uhBKhChh*]q<>(hnoq<6F>}q<>(h/h<>hqX#utility for deserializing LLSD dataq<61>h0h<30>ubaub(h<>oq<6F>}q<>(h/X<>The deserialization component is defined as a utility because the input
data can be a string or a file. It might be possible to define this as
an adapter on a string but a string is too generic for this. So that's
why it is a utility.q<>h0h<30>h1h<31>h3h<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBKhChh*]r(hnor}r(h/h<>hqX<71>The deserialization component is defined as a utility because the input
data can be a string or a file. It might be possible to define this as
an adapter on a string but a string is too generic for this. So that's
why it is a utility.r h0h<30>ubaub(h<>or
}r (h/XYou can use it like this:r h0h<30>h1h<31>h3h<33>h5}r (h7]rh9]rh;]rh=]rh@]ruhBK hChh*]r(hnor}r(h/j hqXYou can use it like this:rh0j
ubaub(cdocutils.nodes
doctest_block
ror}r(h/X~>>> s='<?xml version="1.0" ?><llsd><map><key>test</key><integer>1234</integer><key>foo</key><string>bar</string></map></llsd>'rh0h<30>h1h<31>h3U doctest_blockrh5}r(U xml:spacerUpreserverh=]rh;]r h7]r!h9]r"h@]r#uhBK
hChh*]r$(hnor%}r&(h/Uhqjh0jubaub(h<>or'}r((h/XxWe use queryUtility because this returns None instead of an exception
when a utility is not registered. We use the content type we received
as the name of the utility. Another option would of course be to subclas
string to some LLSDString class and use an adapter. We then would need some
factory for generating the LLSDString class from whatever came back from
the HTTP call.r)h0h<30>h1h<31>h3h<33>h5}r*(h7]r+h9]r,h;]r-h=]r.h@]r/uhBKhChh*]r0(hnor1}r2(h/j)hqXxWe use queryUtility because this returns None instead of an exception
when a utility is not registered. We use the content type we received
as the name of the utility. Another option would of course be to subclas
string to some LLSDString class and use an adapter. We then would need some
factory for generating the LLSDString class from whatever came back from
the HTTP call.r3h0j'ubaub(h<>or4}r5(h/X<>So here is how you use that utility:
>>> deserializer = LLSDDeserializer()
>>> llsd = deserializer.deserialize(s)
>>> llsd
{'test': 1234, 'foo': 'bar'}r6h0h<30>h1h<31>h3h<33>h5}r7(h7]r8h9]r9h;]r:h=]r;h@]r<uhBKhChh*]r=(hnor>}r?(h/j6hqX<71>So here is how you use that utility:
>>> deserializer = LLSDDeserializer()
>>> llsd = deserializer.deserialize(s)
>>> llsd
{'test': 1234, 'foo': 'bar'}r@h0j4ubaub(h<>orA}rB(h/X0We can also test this with some non-LLSD string:rCh0h<30>h1h<31>h3h<33>h5}rD(h7]rEh9]rFh;]rGh=]rHh@]rIuhBKhChh*]rJ(hnorK}rL(h/jChqX0We can also test this with some non-LLSD string:rMh0jAubaub(jorN}rO(h/X<>>>> llsd = deserializer.deserialize_string('mumpitz') # this is not LLSD
Traceback (most recent call last):
...
DeserializationFailed: deserialization failed for 'mumpitz', reason: 'invalid token at index 0: 109'rPh0h<30>h1h<31>h3jh5}rQ(jjh=]rRh;]rSh7]rTh9]rUh@]rVuhBKhChh*]rW(hnorX}rY(h/UhqjPh0jNubaub(jorZ}r[(h/X<>>>> llsd = deserializer.deserialize_string('barfoo')
Traceback (most recent call last):
...
DeserializationFailed: deserialization failed for 'barfoo', reason: 'binary notation not yet supported'r\h0h<30>h1h<31>h3jh5}r](jjh=]r^h;]r_h7]r`h9]rah@]rbuhBK#hChh*]rc(hnord}re(h/Uhqj\h0jZubaub(hsorf}rg(h/Uh0h<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.LLSDDeserializer.deserializerhh3hwh5}ri(h=]rjh;]rkh7]rlh9]rmh@]rnUentriesro]rp(h<>X>deserialize() (pyogp.lib.base.helpers.LLSDDeserializer method)h h trqauhBNhChh*]rrub(h<>ors}rt(h/Uh0h<30>h1jhh3h<33>h5}ru(h<><68>h=]rvh;]rwh7]rxh9]ryh@]rzh<>Xmethodr{uhBNhChh*]r|((h<>or}}r~(h/X"LLSDDeserializer.deserialize(data)rh0jsh1h<31>h3h<33>h5}r<>(h=]r<>h ah;]r<>h7]r<>h9]r<>h@]r<>h ah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X deserializer<65>h0j}h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(csphinx.addnodes
desc_parameterlist
r<EFBFBD>or<6F>}r<>(h/Uh0j}h1h<31>h3Udesc_parameterlistr<74>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(csphinx.addnodes
desc_parameter
r<EFBFBD>or<6F>}r<>(h/Xdatar<61>h0j<30>h1h<31>h3Udesc_parameterr<72>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubaubeub(h<>or<6F>}r<>(h/Uh0jsh1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(h<>or<6F>}r<>(h/X/convenience class to handle a variety of inputsr<73>h0j<30>h1jhh3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBK/hChh*]r<>(hnor<6F>}r<>(h/j<>hqX/convenience class to handle a variety of inputsr<73>h0j<30>ubaubaubeub(hsor<6F>}r<>(h/Uh0h<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.LLSDDeserializer.deserialize_filer<65>h3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>XCdeserialize_file() (pyogp.lib.base.helpers.LLSDDeserializer method)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0h<30>h1j<31>h3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>Xmethodr<64>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X%LLSDDeserializer.deserialize_file(fp)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/Xdeserialize_filer<65>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(j<>or<6F>}r<>(h/Xfpr<70>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]ruhBNhChh*]r(hnor}r(h/Uhqj<71>h0j<30>ubaubaubeub(h<>or}r(h/Uh0j<30>h1h<31>h3h<33>h5}r(h7]rh9]rh;]r h=]r
h@]r uhBNhChh*]r (h<>or }r(h/Xdeserialize a filerh0jh1j<31>h3h<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBK5hChh*]r(hnor}r(h/jhqXdeserialize a filerh0j ubaubaubeub(hsor}r(h/Uh0h<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.LLSDDeserializer.deserialize_stringrh3hwh5}r(h=]rh;]rh7]r h9]r!h@]r"Uentriesr#]r$(h<>XEdeserialize_string() (pyogp.lib.base.helpers.LLSDDeserializer method)hhtr%auhBNhChh*]r&ub(h<>or'}r((h/Uh0h<30>h1jh3h<33>h5}r)(h<><68>h=]r*h;]r+h7]r,h9]r-h@]r.h<>Xmethodr/uhBNhChh*]r0((h<>or1}r2(h/X)LLSDDeserializer.deserialize_string(data)r3h0j'h1h<31>h3h<33>h5}r4(h=]r5hah;]r6h7]r7h9]r8h@]r9hah<61><68>uhBNhChh*]r:((h<>or;}r<(h/Xdeserialize_stringr=h0j1h1h<31>h3h<33>h5}r>(h7]r?h9]r@h;]rAh=]rBh@]rCuhBNhChh*]rD(hnorE}rF(h/Uhqj=h0j;ubaub(j<>orG}rH(h/Uh0j1h1h<31>h3j<33>h5}rI(h7]rJh9]rKh;]rLh=]rMh@]rNuhBNhChh*]rO(j<>orP}rQ(h/XdatarRh0jGh1h<31>h3j<33>h5}rS(h7]rTh9]rUh;]rVh=]rWh@]rXuhBNhChh*]rY(hnorZ}r[(h/UhqjRh0jPubaubaubeub(h<>or\}r](h/Uh0j'h1h<31>h3h<33>h5}r^(h7]r_h9]r`h;]rah=]rbh@]rcuhBNhChh*]rd(h<>ore}rf(h/Xdeserialize a stringrgh0j\h1jh3h<33>h5}rh(h7]rih9]rjh;]rkh=]rlh@]rmuhBK;hChh*]rn(hnoro}rp(h/jghqXdeserialize a stringrqh0jeubaubaubeubeubeub(hsorr}rs(h/Uh0h-h1Nh3hwh5}rt(h=]ruh;]rvh7]rwh9]rxh@]ryUentriesrz]r{(h<>X4ListLLSDSerializer (class in pyogp.lib.base.helpers)hhtr|auhBNhChh*]r}ub(h<>or~}r(h/Uh0h-h1Nh3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>Xclassr<73>uhBNhChh*]r<>((h<>or<6F>}r<>(h/XListLLSDSerializer(context)r<>h0j~h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/Xclass r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/Xpyogp.lib.base.helpers.r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/XListLLSDSerializerr<72>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(j<>or<6F>}r<>(h/Xcontextr<74>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubaubeub(h<>or<6F>}r<>(h/Uh0j~h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X&adapter for serializing a list to LLSDr<44>h0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.ListLLSDSerializerr<72>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor<6F>}r<>(h/j<>hqX&adapter for serializing a list to LLSDr<44>h0j<30>ubaub(h<>or<6F>}r<>(h/X<An example:
>>> d=['ChatSessionRequest', 'CopyInventoryFromNotecard']
>>> serializer = ListLLSDSerializer(d)
>>> serializer.serialize()
'<?xml version="1.0" ?><llsd><array><string>ChatSessionRequest</string><string>CopyInventoryFromNotecard</string></array></llsd>'
>>> serializer.content_type
'application/llsd+xml'r<>h0j<30>h1j<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor<6F>}r<>(h/j<>hqX<An example:
>>> d=['ChatSessionRequest', 'CopyInventoryFromNotecard']
>>> serializer = ListLLSDSerializer(d)
>>> serializer.serialize()
'<?xml version="1.0" ?><llsd><array><string>ChatSessionRequest</string><string>CopyInventoryFromNotecard</string></array></llsd>'
>>> serializer.content_type
'application/llsd+xml'r<>h0j<30>ubaub(hsor<6F>}r<>(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.ListLLSDSerializer.content_typer<65>h3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>XBcontent_type (pyogp.lib.base.helpers.ListLLSDSerializer attribute)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0j<30>h1j<31>h3h<33>h5}r<>(h<><68>h=]r<>h;]rh7]rh9]rh@]rh<>X attributeruhBNhChh*]r((h<>or}r(h/XListLLSDSerializer.content_typerh0j<30>h1h<31>h3h<33>h5}r (h=]r
hah;]r h7]r h9]r h@]rhah<61><68>uhBNhChh*]r(h<>or}r(h/X content_typerh0jh1h<31>h3h<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBNhChh*]r(hnor}r(h/Uhqjh0jubaubaub(h<>or}r(h/Uh0j<30>h1h<31>h3h<33>h5}r(h7]rh9]r h;]r!h=]r"h@]r#uhBNhChh*]r$(h<>or%}r&(h/X*return the content type of this serializerr'h0jh1j<31>h3h<33>h5}r((h7]r)h9]r*h;]r+h=]r,h@]r-uhBKhChh*]r.(hnor/}r0(h/j'hqX*return the content type of this serializerr1h0j%ubaubaubeub(hsor2}r3(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.ListLLSDSerializer.serializer4h3hwh5}r5(h=]r6h;]r7h7]r8h9]r9h@]r:Uentriesr;]r<(h<>X>serialize() (pyogp.lib.base.helpers.ListLLSDSerializer method)hhtr=auhBNhChh*]r>ub(h<>or?}r@(h/Uh0j<30>h1j4h3h<33>h5}rA(h<><68>h=]rBh;]rCh7]rDh9]rEh@]rFh<>XmethodrGuhBNhChh*]rH((h<>orI}rJ(h/XListLLSDSerializer.serialize()rKh0j?h1h<31>h3h<33>h5}rL(h=]rMhah;]rNh7]rOh9]rPh@]rQhah<61><68>uhBNhChh*]rR((h<>orS}rT(h/X serializerUh0jIh1h<31>h3h<33>h5}rV(h7]rWh9]rXh;]rYh=]rZh@]r[uhBNhChh*]r\(hnor]}r^(h/UhqjUh0jSubaub(j<>or_}r`(h/Uh0jIh1h<31>h3j<33>h5}ra(h7]rbh9]rch;]rdh=]reh@]rfuhBNhChh*]rgubeub(h<>orh}ri(h/Uh0j?h1h<31>h3h<33>h5}rj(h7]rkh9]rlh;]rmh=]rnh@]rouhBNhChh*]rp(h<>orq}rr(h/Xconvert the payload to LLSDrsh0jhh1j4h3h<33>h5}rt(h7]ruh9]rvh;]rwh=]rxh@]ryuhBKhChh*]rz(hnor{}r|(h/jshqXconvert the payload to LLSDr}h0jqubaubaubeubeubeub(hsor~}r(h/Uh0h-h1Nh3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>X)Helpers (class in pyogp.lib.base.helpers)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0h-h1Nh3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>Xclassr<73>uhBNhChh*]r<>((h<>or<6F>}r<>(h/XHelpersr<73>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/Xclass r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/Xpyogp.lib.base.helpers.r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/j<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubeub(h<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X contains useful helper functionsr<73>h0j<30>h1Xw/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpersr<73>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor<6F>}r<>(h/j<>hqX contains useful helper functionsr<73>h0j<30>ubaub(hsor<6F>}r<>(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.bytes_to_asciir<69>h3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>X?bytes_to_ascii() (pyogp.lib.base.helpers.Helpers static method)h
h
tr<EFBFBD>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0j<30>h1j<31>h3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>X staticmethodr<64>uhBNhChh*]r<>((h<>or<6F>}r<>(h/XHelpers.bytes_to_ascii(data)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>h
ah;]r<>h7]r<>h9]r<>h@]r<>h
ah<EFBFBD><EFBFBD>uhBNhChh*]r<>((h<>or<6F>}r<>(h/Ustatic r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]rh@]ruhBNhChh*]r(hnor}r(h/Uhqj<71>h0j<30>ubaub(h<>or}r(h/Xbytes_to_asciirh0j<30>h1h<31>h3h<33>h5}r(h7]r h9]r
h;]r h=]r h@]r uhBNhChh*]r(hnor}r(h/Uhqjh0jubaub(j<>or}r(h/Uh0j<30>h1h<31>h3j<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBNhChh*]r(j<>or}r(h/Xdatarh0jh1h<31>h3j<33>h5}r(h7]rh9]rh;]r h=]r!h@]r"uhBNhChh*]r#(hnor$}r%(h/Uhqjh0jubaubaubeub(h<>or&}r'(h/Uh0j<30>h1h<31>h3h<33>h5}r((h7]r)h9]r*h;]r+h=]r,h@]r-uhBNhChh*]r.(h<>or/}r0(h/Xconverts bytes to ascii formatr1h0j&h1j<31>h3h<33>h5}r2(h7]r3h9]r4h;]r5h=]r6h@]r7uhBK hChh*]r8(hnor9}r:(h/j1hqXconverts bytes to ascii formatr;h0j/ubaubaubeub(hsor<}r=(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.bytes_to_base64r>h3hwh5}r?(h=]r@h;]rAh7]rBh9]rCh@]rDUentriesrE]rF(h<>X@bytes_to_base64() (pyogp.lib.base.helpers.Helpers static method)hhtrGauhBNhChh*]rHub(h<>orI}rJ(h/Uh0j<30>h1j>h3h<33>h5}rK(h<><68>h=]rLh;]rMh7]rNh9]rOh@]rPh<>X staticmethodrQuhBNhChh*]rR((h<>orS}rT(h/XHelpers.bytes_to_base64(data)rUh0jIh1h<31>h3h<33>h5}rV(h=]rWhah;]rXh7]rYh9]rZh@]r[hah<61><68>uhBNhChh*]r\((h<>or]}r^(h/j<>h0jSh1h<31>h3h<33>h5}r_(h7]r`h9]rah;]rbh=]rch@]rduhBNhChh*]re(hnorf}rg(h/Uhqj<71>h0j]ubaub(h<>orh}ri(h/Xbytes_to_base64rjh0jSh1h<31>h3h<33>h5}rk(h7]rlh9]rmh;]rnh=]roh@]rpuhBNhChh*]rq(hnorr}rs(h/Uhqjjh0jhubaub(j<>ort}ru(h/Uh0jSh1h<31>h3j<33>h5}rv(h7]rwh9]rxh;]ryh=]rzh@]r{uhBNhChh*]r|(j<>or}}r~(h/Xdatarh0jth1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqjh0j}ubaubaubeub(h<>or<6F>}r<>(h/Uh0jIh1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(h<>or<6F>}r<>(h/Xconverts bytes to ascii formatr<74>h0j<30>h1j>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor<6F>}r<>(h/j<>hqXconverts bytes to ascii formatr<74>h0j<30>ubaubaubeub(hsor<6F>}r<>(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.bytes_to_hexr<78>h3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>X=bytes_to_hex() (pyogp.lib.base.helpers.Helpers static method)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0j<30>h1j<31>h3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>X staticmethodr<64>uhBNhChh*]r<>((h<>or<6F>}r<>(h/XHelpers.bytes_to_hex(data)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/j<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/X bytes_to_hexr<78>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(j<>or<6F>}r<>(h/Xdatar<61>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubaubeub(h<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(h<>or<6F>}r<>(h/Xconverts bytes to hex formatr<74>h0j<30>h1j<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor<6F>}r(h/j<>hqXconverts bytes to hex formatrh0j<30>ubaubaubeub(hsor}r(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.hex_to_asciirh3hwh5}r(h=]rh;]rh7]rh9]r h@]r
Uentriesr ]r (h<>X=hex_to_ascii() (pyogp.lib.base.helpers.Helpers static method)hhtr auhBNhChh*]rub(h<>or}r(h/Uh0j<30>h1jh3h<33>h5}r(h<><68>h=]rh;]rh7]rh9]rh@]rh<>X staticmethodruhBNhChh*]r((h<>or}r(h/XHelpers.hex_to_ascii(data)rh0jh1h<31>h3h<33>h5}r(h=]rhah;]rh7]rh9]r h@]r!hah<61><68>uhBNhChh*]r"((h<>or#}r$(h/j<>h0jh1h<31>h3h<33>h5}r%(h7]r&h9]r'h;]r(h=]r)h@]r*uhBNhChh*]r+(hnor,}r-(h/Uhqj<71>h0j#ubaub(h<>or.}r/(h/X hex_to_asciir0h0jh1h<31>h3h<33>h5}r1(h7]r2h9]r3h;]r4h=]r5h@]r6uhBNhChh*]r7(hnor8}r9(h/Uhqj0h0j.ubaub(j<>or:}r;(h/Uh0jh1h<31>h3j<33>h5}r<(h7]r=h9]r>h;]r?h=]r@h@]rAuhBNhChh*]rB(j<>orC}rD(h/XdatarEh0j:h1h<31>h3j<33>h5}rF(h7]rGh9]rHh;]rIh=]rJh@]rKuhBNhChh*]rL(hnorM}rN(h/UhqjEh0jCubaubaubeub(h<>orO}rP(h/Uh0jh1h<31>h3h<33>h5}rQ(h7]rRh9]rSh;]rTh=]rUh@]rVuhBNhChh*]rW(h<>orX}rY(h/Xconverts bytes to ascii formatrZh0jOh1jh3h<33>h5}r[(h7]r\h9]r]h;]r^h=]r_h@]r`uhBKhChh*]ra(hnorb}rc(h/jZhqXconverts bytes to ascii formatrdh0jXubaubaubeub(hsore}rf(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.int_to_bytesrgh3hwh5}rh(h=]rih;]rjh7]rkh9]rlh@]rmUentriesrn]ro(h<>X=int_to_bytes() (pyogp.lib.base.helpers.Helpers static method)hhtrpauhBNhChh*]rqub(h<>orr}rs(h/Uh0j<30>h1jgh3h<33>h5}rt(h<><68>h=]ruh;]rvh7]rwh9]rxh@]ryh<>X staticmethodrzuhBNhChh*]r{((h<>or|}r}(h/XHelpers.int_to_bytes(data)r~h0jrh1h<31>h3h<33>h5}r(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/j<>h0j|h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/X int_to_bytesr<73>h0j|h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j|h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(j<>or<6F>}r<>(h/Xdatar<61>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubaubeub(h<>or<6F>}r<>(h/Uh0jrh1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(h<>or<6F>}r<>(h/X$converts an int to a string of bytesr<73>h0j<30>h1jgh3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBK#hChh*]r<>(hnor<6F>}r<>(h/j<>hqX$converts an int to a string of bytesr<73>h0j<30>ubaubaubeub(hsor<6F>}r<>(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.log_event_queue_datar<61>h3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>XElog_event_queue_data() (pyogp.lib.base.helpers.Helpers static method)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0j<30>h1j<31>h3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>X staticmethodr<64>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X+Helpers.log_event_queue_data(data, _object)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/j<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/Xlog_event_queue_datar<61>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or}r(h/Uh0j<30>h1h<31>h3j<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBNhChh*]r((j<>or }r
(h/Xdatar h0jh1h<31>h3j<33>h5}r (h7]r h9]rh;]rh=]rh@]ruhBNhChh*]r(hnor}r(h/Uhqj h0j ubaub(j<>or}r(h/X_objectrh0jh1h<31>h3j<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBNhChh*]r(hnor}r (h/Uhqjh0jubaubeubeub(h<>or!}r"(h/Uh0j<30>h1h<31>h3h<33>h5}r#(h7]r$h9]r%h;]r&h=]r'h@]r(uhBNhChh*]r)(h<>or*}r+(h/X4default logging function for event queue data eventsr,h0j!h1j<31>h3h<33>h5}r-(h7]r.h9]r/h;]r0h=]r1h@]r2uhBK)hChh*]r3(hnor4}r5(h/j,hqX4default logging function for event queue data eventsr6h0j*ubaubaubeub(hsor7}r8(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.log_packetr9h3hwh5}r:(h=]r;h;]r<h7]r=h9]r>h@]r?Uentriesr@]rA(h<>X;log_packet() (pyogp.lib.base.helpers.Helpers static method)hhtrBauhBNhChh*]rCub(h<>orD}rE(h/Uh0j<30>h1j9h3h<33>h5}rF(h<><68>h=]rGh;]rHh7]rIh9]rJh@]rKh<>X staticmethodrLuhBNhChh*]rM((h<>orN}rO(h/X#Helpers.log_packet(packet, _object)rPh0jDh1h<31>h3h<33>h5}rQ(h=]rRhah;]rSh7]rTh9]rUh@]rVhah<61><68>uhBNhChh*]rW((h<>orX}rY(h/j<>h0jNh1h<31>h3h<33>h5}rZ(h7]r[h9]r\h;]r]h=]r^h@]r_uhBNhChh*]r`(hnora}rb(h/Uhqj<71>h0jXubaub(h<>orc}rd(h/X
log_packetreh0jNh1h<31>h3h<33>h5}rf(h7]rgh9]rhh;]rih=]rjh@]rkuhBNhChh*]rl(hnorm}rn(h/Uhqjeh0jcubaub(j<>oro}rp(h/Uh0jNh1h<31>h3j<33>h5}rq(h7]rrh9]rsh;]rth=]ruh@]rvuhBNhChh*]rw((j<>orx}ry(h/Xpacketrzh0joh1h<31>h3j<33>h5}r{(h7]r|h9]r}h;]r~h=]rh@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqjzh0jxubaub(j<>or<6F>}r<>(h/X_objectr<74>h0joh1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubeubeub(h<>or<6F>}r<>(h/Uh0jDh1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(h<>or<6F>}r<>(h/X$default logging function for packetsr<73>h0j<30>h1j9h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBK/hChh*]r<>(hnor<6F>}r<>(h/j<>hqX$default logging function for packetsr<73>h0j<30>ubaubaubeub(hsor<6F>}r<>(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.null_packet_handlerr<72>h3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>XDnull_packet_handler() (pyogp.lib.base.helpers.Helpers static method)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0j<30>h1j<31>h3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>X staticmethodr<64>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X,Helpers.null_packet_handler(packet, _object)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/j<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/Xnull_packet_handlerr<72>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>((j<>or<6F>}r<>(h/Xpacketr<74>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/X_objectr<74>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubeubeub(h<>or<6F>}r(h/Uh0j<30>h1h<31>h3h<33>h5}r(h7]rh9]rh;]rh=]rh@]ruhBNhChh*]r(h<>or}r (h/XIjust a null event handler for watching aka fully parsing specific packetsr
h0j<30>h1j<31>h3h<33>h5}r (h7]r h9]r h;]rh=]rh@]ruhBK5hChh*]r(hnor}r(h/j
hqXIjust a null event handler for watching aka fully parsing specific packetsrh0jubaubaubeub(hsor}r(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.pack_quaternion_to_vector3rh3hwh5}r(h=]rh;]rh7]rh9]rh@]rUentriesr]r(h<>XKpack_quaternion_to_vector3() (pyogp.lib.base.helpers.Helpers static method)hhtr auhBNhChh*]r!ub(h<>or"}r#(h/Uh0j<30>h1jh3h<33>h5}r$(h<><68>h=]r%h;]r&h7]r'h9]r(h@]r)h<>X staticmethodr*uhBNhChh*]r+((h<>or,}r-(h/X.Helpers.pack_quaternion_to_vector3(quaternion)r.h0j"h1h<31>h3h<33>h5}r/(h=]r0hah;]r1h7]r2h9]r3h@]r4hah<61><68>uhBNhChh*]r5((h<>or6}r7(h/j<>h0j,h1h<31>h3h<33>h5}r8(h7]r9h9]r:h;]r;h=]r<h@]r=uhBNhChh*]r>(hnor?}r@(h/Uhqj<71>h0j6ubaub(h<>orA}rB(h/Xpack_quaternion_to_vector3rCh0j,h1h<31>h3h<33>h5}rD(h7]rEh9]rFh;]rGh=]rHh@]rIuhBNhChh*]rJ(hnorK}rL(h/UhqjCh0jAubaub(j<>orM}rN(h/Uh0j,h1h<31>h3j<33>h5}rO(h7]rPh9]rQh;]rRh=]rSh@]rTuhBNhChh*]rU(j<>orV}rW(h/X
quaternionrXh0jMh1h<31>h3j<33>h5}rY(h7]rZh9]r[h;]r\h=]r]h@]r^uhBNhChh*]r_(hnor`}ra(h/UhqjXh0jVubaubaubeub(h<>orb}rc(h/Uh0j"h1h<31>h3h<33>h5}rd(h7]reh9]rfh;]rgh=]rhh@]riuhBNhChh*]rj(h<>ork}rl(h/X;pack a normalized quaternion (tuple) into a vector3 (tuple)rmh0jbh1jh3h<33>h5}rn(h7]roh9]rph;]rqh=]rrh@]rsuhBK;hChh*]rt(hnoru}rv(h/jmhqX;pack a normalized quaternion (tuple) into a vector3 (tuple)rwh0jkubaubaubeub(hsorx}ry(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.packed_u16_to_floatrzh3hwh5}r{(h=]r|h;]r}h7]r~h9]rh@]r<>Uentriesr<73>]r<>(h<>XDpacked_u16_to_float() (pyogp.lib.base.helpers.Helpers static method)h h tr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0j<30>h1jzh3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>X staticmethodr<64>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X8Helpers.packed_u16_to_float(bytes, offset, lower, upper)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>h ah;]r<>h7]r<>h9]r<>h@]r<>h ah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/j<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/Xpacked_u16_to_floatr<74>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>((j<>or<6F>}r<>(h/Xbytesr<73>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Xoffsetr<74>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Xlowerr<72>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Xupperr<72>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubeubeub(h<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(h<>or<6F>}r<>(h/X,Extract float packed as u16 in a byte bufferr<72>h0j<30>h1jzh3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKAhChh*]r<>(hnor<6F>}r<>(h/j<>hqX,Extract float packed as u16 in a byte bufferr<72>h0j<30>ubaubaubeub(hsor<6F>}r(h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Helpers.packed_u8_to_floatrh3hwh5}r(h=]rh;]rh7]rh9]rh@]rUentriesr]r (h<>XCpacked_u8_to_float() (pyogp.lib.base.helpers.Helpers static method)h h tr
auhBNhChh*]r ub(h<>or }r (h/Uh0j<30>h1jh3h<33>h5}r(h<><68>h=]rh;]rh7]rh9]rh@]rh<>X staticmethodruhBNhChh*]r((h<>or}r(h/X7Helpers.packed_u8_to_float(bytes, offset, lower, upper)rh0j h1h<31>h3h<33>h5}r(h=]rh ah;]rh7]rh9]rh@]rh ah<61><68>uhBNhChh*]r((h<>or }r!(h/j<>h0jh1h<31>h3h<33>h5}r"(h7]r#h9]r$h;]r%h=]r&h@]r'uhBNhChh*]r((hnor)}r*(h/Uhqj<71>h0j ubaub(h<>or+}r,(h/Xpacked_u8_to_floatr-h0jh1h<31>h3h<33>h5}r.(h7]r/h9]r0h;]r1h=]r2h@]r3uhBNhChh*]r4(hnor5}r6(h/Uhqj-h0j+ubaub(j<>or7}r8(h/Uh0jh1h<31>h3j<33>h5}r9(h7]r:h9]r;h;]r<h=]r=h@]r>uhBNhChh*]r?((j<>or@}rA(h/XbytesrBh0j7h1h<31>h3j<33>h5}rC(h7]rDh9]rEh;]rFh=]rGh@]rHuhBNhChh*]rI(hnorJ}rK(h/UhqjBh0j@ubaub(j<>orL}rM(h/XoffsetrNh0j7h1h<31>h3j<33>h5}rO(h7]rPh9]rQh;]rRh=]rSh@]rTuhBNhChh*]rU(hnorV}rW(h/UhqjNh0jLubaub(j<>orX}rY(h/XlowerrZh0j7h1h<31>h3j<33>h5}r[(h7]r\h9]r]h;]r^h=]r_h@]r`uhBNhChh*]ra(hnorb}rc(h/UhqjZh0jXubaub(j<>ord}re(h/Xupperrfh0j7h1h<31>h3j<33>h5}rg(h7]rhh9]rih;]rjh=]rkh@]rluhBNhChh*]rm(hnorn}ro(h/Uhqjfh0jdubaubeubeub(h<>orp}rq(h/Uh0j h1h<31>h3h<33>h5}rr(h7]rsh9]rth;]ruh=]rvh@]rwuhBNhChh*]rx(h<>ory}rz(h/X+Extract float packed as u8 in a byte bufferr{h0jph1jh3h<33>h5}r|(h7]r}h9]r~h;]rh=]r<>h@]r<>uhBKGhChh*]r<>(hnor<6F>}r<>(h/j{hqX+Extract float packed as u8 in a byte bufferr<72>h0jyubaubaubeubeubeub(hsor<6F>}r<>(h/Uh0h-h1Nh3hwh5}r<>(h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>Uentriesr<73>]r<>(h<>X4DictLLSDSerializer (class in pyogp.lib.base.helpers)hhtr<74>auhBNhChh*]r<>ub(h<>or<6F>}r<>(h/Uh0h-h1Nh3h<33>h5}r<>(h<><68>h=]r<>h;]r<>h7]r<>h9]r<>h@]r<>h<>Xclassr<73>uhBNhChh*]r<>((h<>or<6F>}r<>(h/XDictLLSDSerializer(context)r<>h0j<30>h1h<31>h3h<33>h5}r<>(h=]r<>hah;]r<>h7]r<>h9]r<>h@]r<>hah<61><68>uhBNhChh*]r<>((h<>or<6F>}r<>(h/Xclass r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/Xpyogp.lib.base.helpers.r<>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(h<>or<6F>}r<>(h/XDictLLSDSerializerr<72>h0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaub(j<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(j<>or<6F>}r<>(h/Xcontextr<74>h0j<30>h1h<31>h3j<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>(hnor<6F>}r<>(h/Uhqj<71>h0j<30>ubaubaubeub(h<>or<6F>}r<>(h/Uh0j<30>h1h<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBNhChh*]r<>((h<>or<6F>}r<>(h/X,adapter for serializing a dictionary to LLSDr<44>h0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.DictLLSDSerializerr<72>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor<6F>}r<>(h/j<>hqX,adapter for serializing a dictionary to LLSDr<44>h0j<30>ubaub(h<>or<6F>}r<>(h/XAn example:
>>> d={'foo':'bar', 'test':1234}
>>> serializer = DictLLSDSerializer(d)
>>> serializer.serialize()
'<?xml version="1.0" ?><llsd><map><key>test</key><integer>1234</integer><key>foo</key><string>bar</string></map></llsd>'
>>> serializer.content_type
'application/llsd+xml'r<>h0j<30>h1j<31>h3h<33>h5}r<>(h7]r<>h9]r<>h;]r<>h=]r<>h@]r<>uhBKhChh*]r<>(hnor }r (h/j<>hqXAn example:
>>> d={'foo':'bar', 'test':1234}
>>> serializer = DictLLSDSerializer(d)
>>> serializer.serialize()
'<?xml version="1.0" ?><llsd><map><key>test</key><integer>1234</integer><key>foo</key><string>bar</string></map></llsd>'
>>> serializer.content_type
'application/llsd+xml'r h0j<30>ubaub(hsor }r (h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.DictLLSDSerializer.content_typer h3hwh5}r (h=]r h;]r h7]r h9]r
h@]r Uentriesr ]r (h<>XBcontent_type (pyogp.lib.base.helpers.DictLLSDSerializer attribute)hhtr auhBNhChh*]r ub(h<>or }r (h/Uh0j<30>h1j h3h<33>h5}r (h<><68>h=]r h;]r h7]r h9]r h@]r h<>X attributer uhBNhChh*]r ((h<>or }r (h/XDictLLSDSerializer.content_typer h0j h1h<31>h3h<33>h5}r (h=]r hah;]r h7]r h9]r! h@]r" hah<61><68>uhBNhChh*]r# (h<>or$ }r% (h/X content_typer& h0j h1h<31>h3h<33>h5}r' (h7]r( h9]r) h;]r* h=]r+ h@]r, uhBNhChh*]r- (hnor. }r/ (h/Uhqj& h0j$ ubaubaub(h<>or0 }r1 (h/Uh0j h1h<31>h3h<33>h5}r2 (h7]r3 h9]r4 h;]r5 h=]r6 h@]r7 uhBNhChh*]r8 (h<>or9 }r: (h/X*return the content type of this serializerr; h0j0 h1j h3h<33>h5}r< (h7]r= h9]r> h;]r? h=]r@ h@]rA uhBKhChh*]rB (hnorC }rD (h/j; hqX*return the content type of this serializerrE h0j9 ubaubaubeub(hsorF }rG (h/Uh0j<30>h1X<31>/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.DictLLSDSerializer.serializerH h3hwh5}rI (h=]rJ h;]rK h7]rL h9]rM h@]rN UentriesrO ]rP (h<>X>serialize() (pyogp.lib.base.helpers.DictLLSDSerializer method)hhtrQ auhBNhChh*]rR ub(h<>orS }rT (h/Uh0j<30>h1jH h3h<33>h5}rU (h<><68>h=]rV h;]rW h7]rX h9]rY h@]rZ h<>Xmethodr[ uhBNhChh*]r\ ((h<>or] }r^ (h/XDictLLSDSerializer.serialize()r_ h0jS h1h<31>h3h<33>h5}r` (h=]ra hah;]rb h7]rc h9]rd h@]re hah<61><68>uhBNhChh*]rf ((h<>org }rh (h/X serializeri h0j] h1h<31>h3h<33>h5}rj (h7]rk h9]rl h;]rm h=]rn h@]ro uhBNhChh*]rp (hnorq }rr (h/Uhqji h0jg ubaub(j<>ors }rt (h/Uh0j] h1h<31>h3j<33>h5}ru (h7]rv h9]rw h;]rx h=]ry h@]rz uhBNhChh*]r{ ubeub(h<>or| }r} (h/Uh0jS h1h<31>h3h<33>h5}r~ (h7]r h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> (h<>or<6F> }r<> (h/Xconvert the payload to LLSDr<44> h0j| h1jH h3h<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBKhChh*]r<> (hnor<6F> }r<> (h/j<> hqXconvert the payload to LLSDr<44> h0j<30> ubaubaubeubeubeub(hsor<6F> }r<> (h/Uh0h-h1Nh3hwh5}r<> (h=]r<> h;]r<> h7]r<> h9]r<> h@]r<> Uentriesr<73> ]r<> (h<>X&Wait (class in pyogp.lib.base.helpers)hhtr<74> auhBNhChh*]r<> ub(h<>or<6F> }r<> (h/Uh0h-h1Nh3h<33>h5}r<> (h<><68>h=]r<> h;]r<> h7]r<> h9]r<> h@]r<> h<>Xclassr<73> uhBNhChh*]r<> ((h<>or<6F> }r<> (h/XWait(duration)r<> h0j<30> h1h<31>h3h<33>h5}r<> (h=]r<> hah;]r<> h7]r<> h9]r<> h@]r<> hah<61><68>uhBNhChh*]r<> ((h<>or<6F> }r<> (h/Xclass r<> h0j<30> h1h<31>h3h<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> (hnor<6F> }r<> (h/Uhqj<71> h0j<30> ubaub(h<>or<6F> }r<> (h/Xpyogp.lib.base.helpers.r<> h0j<30> h1h<31>h3h<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> (hnor<6F> }r<> (h/Uhqj<71> h0j<30> ubaub(h<>or<6F> }r<> (h/XWaitr<74> h0j<30> h1h<31>h3h<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> (hnor<6F> }r<> (h/Uhqj<71> h0j<30> ubaub(j<>or<6F> }r<> (h/Uh0j<30> h1h<31>h3j<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> (j<>or<6F> }r<> (h/Xdurationr<6E> h0j<30> h1h<31>h3j<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> (hnor<6F> }r<> (h/Uhqj<71> h0j<30> ubaubaubeub(h<>or<6F> }r<> (h/Uh0j<30> h1h<31>h3h<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBNhChh*]r<> ((h<>or<6F> }r<> (h/XPa simple timer that blocks a calling routine for the specified number of secondsr<73> h0j<30> h1Xt/Users/enus/svn/pyogp.buildout/src/pyogp.lib.base/pyogp/lib/base/helpers.py:docstring of pyogp.lib.base.helpers.Waitr<74> h3h<33>h5}r<> (h7]r<> h9]r<> h;]r<> h=]r<> h@]r<> uhBKhChh*]r<> (hnor<6F> }r
(h/j<> hqXPa simple timer that blocks a calling routine for the specified number of secondsr
h0j<30> ubaub(h<>or
}r
(h/X^done since we were writing timing loops in test scripts repeatedly
returns True when it's doner
h0j<30> h1j<31> h3h<33>h5}r
(h7]r
h9]r
h;]r
h=]r
h@]r
uhBKhChh*]r
(hnor
}r
(h/j
hqX^done since we were writing timing loops in test scripts repeatedly
returns True when it's doner
h0j
ubaub(hsor
}r
(h/Uh0j<30> h1Nh3hwh5}r
(h=]r
h;]r
h7]r
h9]r
h@]r
Uentriesr
]r
(h<>X*run() (pyogp.lib.base.helpers.Wait method)h h tr
auhBNhChh*]r
ub(h<>or
}r
(h/Uh0j<30> h1Nh3h<33>h5}r
(h<><68>h=]r
h;]r
h7]r
h9]r!
h@]r"
h<>Xmethodr#
uhBNhChh*]r$
((h<>or%
}r&
(h/X
Wait.run()r'
h0j
h1h<31>h3h<33>h5}r(
(h=]r)
h ah;]r*
h7]r+
h9]r,
h@]r-
h ah<61><68>uhBNhChh*]r.
((h<>or/
}r0
(h/Xrunr1
h0j%
h1h<31>h3h<33>h5}r2
(h7]r3
h9]r4
h;]r5
h=]r6
h@]r7
uhBNhChh*]r8
(hnor9
}r:
(h/Uhqj1
h0j/
ubaub(j<>or;
}r<
(h/Uh0j%
h1h<31>h3j<33>h5}r=
(h7]r>
h9]r?
h;]r@
h=]rA
h@]rB
uhBNhChh*]rC
ubeub(h<>orD
}rE
(h/Uh0j
h1h<31>h3h<33>h5}rF
(h7]rG
h9]rH
h;]rI
h=]rJ
h@]rK
uhBNhChh*]rL
ubeub(hsorM
}rN
(h/Uh0j<30> h1Nh3hwh5}rO
(h=]rP
h;]rQ
h7]rR
h9]rS
h@]rT
UentriesrU
]rV
(h<>X+stop() (pyogp.lib.base.helpers.Wait method)hhtrW
auhBNhChh*]rX
ub(h<>orY
}rZ
(h/Uh0j<30> h1Nh3h<33>h5}r[
(h<><68>h=]r\
h;]r]
h7]r^
h9]r_
h@]r`
h<>Xmethodra
uhBNhChh*]rb
((h<>orc
}rd
(h/X Wait.stop()re
h0jY
h1h<31>h3h<33>h5}rf
(h=]rg
hah;]rh
h7]ri
h9]rj
h@]rk
hah<61><68>uhBNhChh*]rl
((h<>orm
}rn
(h/Xstopro
h0jc
h1h<31>h3h<33>h5}rp
(h7]rq
h9]rr
h;]rs
h=]rt
h@]ru
uhBNhChh*]rv
(hnorw
}rx
(h/Uhqjo
h0jm
ubaub(j<>ory
}rz
(h/Uh0jc
h1h<31>h3j<33>h5}r{
(h7]r|
h9]r}
h;]r~
h=]r
h@]r<>
uhBNhChh*]r<>
ubeub(h<>or<6F>
}r<>
(h/Uh0jY
h1h<31>h3h<33>h5}r<>
(h7]r<>
h9]r<>
h;]r<>
h=]r<>
h@]r<>
uhBNhChh*]r<>
ubeubeubeubeubah/UU transformerr<72>
NU footnote_refsr<73>
}r<>
Urefnamesr<73>
}r<>
Usymbol_footnotesr<73>
]r<>
Uautofootnote_refsr<73>
]r<>
Usymbol_footnote_refsr<73>
]r<>
U citationsr<73>
]r<>
hChU current_liner<65>
NUtransform_messagesr<73>
]r<>
Ureporterr<72>
NUid_startr<74>
KU autofootnotesr<73>
]r<>
U citation_refsr<73>
}r<>
Uindirect_targetsr<73>
]r<>
Usettingsr<73>
(cdocutils.frontend
Values
r<EFBFBD>
or<6F>
}r<>
(Ufootnote_backlinksr<73>
KUrecord_dependenciesr<73>
NU rfc_base_urlr<6C>
Uhttp://tools.ietf.org/html/r<>
U tracebackr<6B>
KUpep_referencesr<73>
NUstrip_commentsr<73>
NU toc_backlinksr<73>
Uentryr<79>
U language_coder<65>
Uenr<6E>
U datestampr<70>
NU report_levelr<6C>
KU _destinationr<6E>
NU
halt_levelr<EFBFBD>
KU strip_classesr<73>
NhINUerror_encoding_error_handlerr<72>
Ubackslashreplacer<65>
Udebugr<67>
NUembed_stylesheetr<74>
<00>Uoutput_encoding_error_handlerr<72>
Ustrictr<74>
U sectnum_xformr<6D>
KUdump_transformsr<73>
NU docinfo_xformr<6D>
KUwarning_streamr<6D>
NUpep_file_url_templater<65>
Upep-%04dr<64>
Uexit_status_levelr<6C>
KUconfigr<67>
NUstrict_visitorr<72>
NUcloak_email_addressesr<73>
<00>Utrim_footnote_reference_spacer<65>
<00>Uenvr<76>
NUdump_pseudo_xmlr<6C>
NUexpose_internalsr<73>
NUsectsubtitle_xformr<6D>
<00>U source_linkr<6B>
NUrfc_referencesr<73>
NUoutput_encodingr<67>
Uutf-8r<38>
U
source_urlr<EFBFBD>
NUinput_encodingr<67>
U utf-8-sigr<67>
U_disable_configr<67>
NU id_prefixr<78>
UU tab_widthr<68>
KUerror_encodingr<67>
Uasciir<69>
U_sourcer<65>
h2U generatorr<72>
NUdump_internalsr<73>
NU pep_base_urlr<6C>
Uhttp://www.python.org/dev/peps/r<>
Uinput_encoding_error_handlerr<72>
j<>
Uauto_id_prefixr<78>
Uidr<64>
Udoctitle_xformr<6D>
<00>Ustrip_elements_with_classesr<73>
NU _config_filesr<73>
]r<>
Ufile_insertion_enabledr<64>
KU raw_enabledr<64>
KU dump_settingsr<73>
NubUsymbol_footnote_startr<74>
KUidsr<73>
}r<>
(hj<>hj<>h jh
j<EFBFBD>h j<>h j%
h j}hj|hj] hj<>hj<>hj1hjNhh<>hjhj,hj hj<>hjIhjc
hjShj<>h)h-hj<> hjhj<>h?(cdocutils.nodes
target
r<EFBFBD>
or<6F>
}r<>
(h/Uh0h-h1hvh3Utargetr<74>
h5}r<>
(h7]r<>
h=h>h;]r<>
Uismodr<64>
<00>h9]r<>
h@]r<>
uhBKhChh*]r<>
ubuUsubstitution_namesr<73>
}r<>
h3hCh5}r<>
(h7]r<>
h=]r<>
h;]r<>
Usourcer<65>
h2h9]r<>
h@]r<>
uU footnotesr<73>
]r<>
Urefidsr }r ub.