【python】使用py3-bencode打开torrent文件
没想到这个原始版本访问量超过了后继版本,估计有些流量是搜索引擎带来的,有些人并不会点击左边“我的随笔”去找新的版本。
现把后继版本地址贴一下:http://www.cnblogs.com/xiandedanteng/p/9014251.html
后继版本的解析效果:http://www.cnblogs.com/xiandedanteng/p/9016043.html http://www.cnblogs.com/xiandedanteng/p/9016040.html
怎么安装bencode请见 http://www.cnblogs.com/xiandedanteng/p/9006651.html
程序:
from bencode import bdecode def main(): filePathname='./1.torrent' with open(filePathname,'rb') as fObj: content=bdecode(fObj.read()) print(content) # Start main()
输出:
C:\Users\horn1\Desktop\python\36-readBittorrent>python readBittorrentFile.py {'announce': b'udp://fr33domtracker.h33t.com:3310/announce', 'announce-list': [[b'udp://fr33domtracker.h33t.com:3310/announce'], [b'http://fr33dom.h33t.com:3310/announce'], [b'udp://tracker.publichd.eu/announce'], [b'http://tracker.publichd.eu/announce'], [b'http://tracker.publicbt.com:80/announce'], [b'http://exodus.desync.com:6969/announce'], [b'http://exodus.desync.com/announce'], [b'http://tracker.prq.to:6969/announce'], [b'http://ipv4.tracker.harry.lu/announce'], [b'udp://tracker.1337x.org:80/announce'], [b'udp://tracker.openbittorrent.com:80/announce'], [b'udp://tracker.ccc.de:80'], [b'udp://tracker.istole.it:80/announce'], [b'udp://10.rarbg.com/announce']], 'comment': b'www.dydao.com', 'created by': b'uTorrent/3130', 'creation date': 1346065643, 'encoding': b'UTF-8', 'info': {'file-duration': [5909], 'file-media': [0], 'length': 4695257841, 'name': b'[dydao.com]The.Mask.of.Love.2012.HDTV.720p.x264.AC3-HD.mkv', 'piece length': 8388608, 'pieces': b'\xfb"\x1b*~\x1a\xa6\xc1q/\xf4\xceH,!\n\x16qy$\xac\x1f\xec\xa6\x8f\xe3\xa4\x9f\xe8\x86\xe3\x88.X\x07\xa6r\x7f\x18\xe3M#\xb0\xaf\xad\x9d!e\xe4\x0e\xbb\xd6}\xcdxc-\xf1b\xe2.#=\x1d 7S\xea!}\xcf\xe0\xee\rC\xe55\xebl,\xcf \xb2\x18\x831V\xdb\x89!\x1b\x16\x913\x85\xb9)Q\xde\x03\xacj\xf6PW\xc6X\xd7\xa4\xb3\x93\x01\xdfx\xe5\x1b_\x1d\xaeC#\x89Un\xf3\x862\xe9\x02\xd5\x18\x98\xe5\xbd"\\G\xfe\xdd\xce X\xa3\x81\xac\x8f\\\x06`\xda\xfe\xaa1\x01t1\xd8\xec.\xd5\x94t:4of\x86(n\xfd\x9c%\xa0\x03\x97\xd3\xd8\xab\xa0\x05.K\x9d\xd5\xc4t\xcbD\xc6H\x00=M\xde\xe6\xd5\xdcA\x99\xc5\xa6Y\xda<\xa3\xd1\xf5}\xb7\x08\x9a\xbc\x80\x8b\xa5A0u\xa0\xc1\xe7\x98\xd95\x9f5@<\x14\xd3\xbb\xb4\xc7\x9esNp^\x1aRo\xb3$`l\xa5\xe9\xeac\x9a\xf4\xfb\xa5\x8c\x17\x91o?\x00\xa5\xb2[\xeb>N\x03\xbc\xc5\x0f\xdf\xd2\xffU;T~\xe18\xe3wz\xbf+U\x12\x10`\xa9\xb5]\x1e\xfae\xaf\xf1&\xf1C\xb3T\rO\xa2*\xbb\xa7\x90\xdf\xc6m<\xa4\x95\xaap\xfdZ\x87\\\xd6\x05\xc6\xdb\xf0x[\x01\x90\x9c\x1d/\x12Lq\x93\x104>\xf1\xa2x\xc6\x95H\xbe\xd58\xa3\xd8\x87K!\xb0\xb1\x9d\xcd%,\xa4\xd6Q\xe5\xdd\xa1\x91z\x0b\xc7\x10\xc9\xed\xddz\xf0\xc6\x83\x1d\xbb\xa7\xb4\x81\x95X\x04A\xe8\x8b\xae9\xe8\xf3\xa1\x9d;!C0\x12\xf1\r/\xac)k\x9a=(\x8a\xc3V\xea+\xcc\xed\xe9\xb3\xff\x1d\xc2(\xbd\x12\x8e\x95$\xef\x0eO\x08\xe4\xbe\x9c\xde\xa1\x07?\x82%\x86\x1c\x8ac~\x9b"\'\xf2Py\x0f\x8e\x04/\x8e.\x9c\xd8\x85\xdd\xea\xccV#\x9e\xf7&\xeb\x7f\xd79>C@\x9auw\xdb\xd1\x81m_\x0b\xb2$s\x8d\xdf\x17e\x89\tg,\xd8\xf4\xd0H\xd4&by\x03\xb6\xf7\x1fT\xb4\x9b\xde\xed\xbd\xc8\xe4\x959\x0ey}g\x01AB\x05\x88\xc5\x0e\xfd\xad\xf6\xfew\x87r\xf6\x00\x86*\xe5^p\xf6\x1d\xbegj3\x1a=\xa5=H\xf9<\x86\xdd\xf9\xae\xace\\83\x85\x06\xae\x03\x17E\x94\xaa\xcal"\x94\x123\xedwx\xae"\xb9\x9e\x84=\xcaM\x04\xc0\xf42\xf4F\xb8\xdd\xdb\'\x1c\x83\x9c\xd3\xbe\xc1%\xe3\xd3\xacY\x01\x07O\x91A\x84\xe7o\x9cA\x93\x81\xceIS<\xda\xd0\x83\xe8s\x91\xb4\xb9\x05U\xeck\x1c\xce\xea\xdc\xce\x03;Wm\x02)^\x04z\xe4W\x8d0_\x06\x9e\xb9\xbbg\xc0I\x0f"\xbe\x0e\x02\xd3\xc4\xa5\xd2D3\x94T\xd98\xb0\x83\xfc\xcb\xf4\x15\xc9\x92F\xaa*\xed\xe4R$\xa1\xccs\xc8N\xe3RR\xfb\xbc\x97\xfa,B \xb0\xbb\x81>\xf1HJK\xe8\xc7\x05\x9aJ\xc7\xe6|\x82\x84}v\xf7\x17\x99\x93\xe0Y/J\x15\xb2\xe5\xe8\xdc\xf6\xad\xe6\x81\xdf\x87t\xd2w\x0bC%\xc2\x00\xe9MGW|\xceY!\x1b\xa7\xd2a6\x89\xea+\x85\xbcP\x83-\xd8JF\xa4\xab{$\x1e\xcb\xda\xeb\x0c\xc1n\xf3I\xa0\xd9\xeb\xa8Vg\x9a\xb1\x8a<\xdaE\xa4;\x04\xc2\x0c\xfd\x99\xacg;n\xff\xc3z\xa4(\x16L\xd3!\xb0:\x9f\xca\xb6!\x1f:R0\xc0\xb13n\xb6rF\xfe\xc0\x9a\x02\xe88;\xb0\ne\xc6{z\xff\x1e\xe2\xa6\xf5\xa6\xb2)\x93Q\xd9\xa8\xfb\x9d\'{\x18\xe0"\x96\xe6\xc7\x87\x92\xed\x1a\x9d;\x8e\xbb\xa9\x85\x87\x0b2\xb9{\xb0 \xa0\xe6L\x17P\x04\xca\x8c&WW5\x9d\xce\xe2o\xe8s\x85\x95\x81\xbf\x9b\x1d\xf0\xff\x01E\x9a\x12m\xf7-\xdb>4\xe8\xbaW\x81\xcf\r\xb3\xc1\x05Z\xc0\r\xfa\xd5\x8cHJN\xeeA\x1a\'\xd2\xafCj\xd0\x1e\xc7\xefXCq\xba\x7f\x15\xdcZt\xcf\x15P\x02\xda\xff\x8c$\xd4\x17+{?\x9b\x0f\x9f#\x88|\xb6Z\xbdV8LX\x0c\xb3)+\x0c\x99 {V3I\xfc\xacl\xb7*\xc9\xee\xd9\x00;\x97\xbf5#\x85p\xfa\xf2Q9\xa2W\x88\x92=,\x8d\x8e\x17$$]\xa4L4\x17L\xb2e\xf1\xdeg\x8d\xb4\xf9\xb7\xfe"\xc7,w\xcc\xf8_|\x98m!\xcf\x81k\x8c\x14\xc9D\'\x9e\xaf\xfd\xd0\x175\x13\x14\x90\xf8\xae\xfcHmy\xdc\xd1&\x1e\xe1\xb4\xb4\x88T\xc4\xe5L\xb7\xc3\xe5\x1d\xda\x8a"(\xd31|\x1b\xdckF\xc8\xc2v50Z\x18P\x82\x82\xcf\x00\xebq_\xb6\xd3\r\xf0\x11;#\x15/\xc4%\x1b:\xe1\xfc\xe6\xc8#\x17\xd0N\xf8\xcf\xd3\'\xfb*\xdb\xe5AN?\x9ev\x07\xea\xd6u36a_\xd2\x93%\x1e\n\xb5\x011v\x18.\xa2\xccb\x92\xbc\x93L\xfe\n\xe4\x8a\x0c8\xa1\n\x0b\t\x95/\x16 \xa7\xcd\xc6\xee\xdc\xab\x83{\xb7\xd0\xc6\x17\xb8h\xe9l\xa8\xb4\xeeM\x00\xb58R\xf7H\xe9\xd2\xa9\x92>\x9b?\xd2mO\xa4G6&=Q\xadT\xc3\xd9\xef\xda\xd8?\xb5T2\x82}\x8fX]#B\x87k\x05\x95\x84\xdf\xd3=\x9e\xa4j.:n~\'"\xe63\xd15\x9b\xc8b\x88\xf9\xa1\x80\xda;\xd5\x02<\xf5Q\x93\x86\xb5\x9a\x9b\xee\x9b{T\xe1\xa5\xd6\x84\x9d\x13\xf5\x1b\x95\x11j\xae\xab\xc2Q\xf4\xebW\n\xdd\xfbO\xb4\xa9\xc7x-\xd3D\xcd\xa5\xb1\xc761\xfb\xf1\x93\x84\xa7\xb1\xc3a\xe6xf[#\xd0\x11]*gb\x1b\xbe\xd28J\x1b@\xd8t-im1\x88\xd4\xf6\'\xa8I`\xf4\xcccH\xbdwd|}H\r>\x19\xbe`f\x07\x8bG=\xe4\x88]\xba\xa5A?wZ\xbeE\x179UziC\xecYG\'\xb7m1\x06|T\xd8\x94H\x1b\xa5,\xecI~\xd6\xe6\xdd\n9.u\xcf@\x1f\x0bdx\xff\x0c\xfd\xec\x81w\xde\xce\xa1.T~\x06\x8d\xd79\x1a\xbc\xbf\xd4@g\x16}\xab\xc5\x8d\xe1dw\xbd\x93\xca\x84\tR\xd1\xef\x1d\xe1\x1b\x197\xcd^\x9f"2\xbb\x01v\x90:>\xe8\xb0\x00\xc4\xde\x87\xeeK\x98 \t\x91\xe0\xac\x17\xb2\xfd\xa9H\xe9\x10U\xe8k\xed\xda-\x97\xd2\x1e[\x1b(\x92\x9b\x92\xdd\xcay\xe77$BK\xbc\xb0\xe9\xecf\x8fm\xff&\rv\xdc\xad\x08L\x8f\xae\xce\x17\x9a\xee\xa3\xc7r\xcb\x9a{h\x1e\xe0\x1a\x12\x18\xba\x89\xb0\xd9\xe41\xcc\xcf\xb6\xe4\xe9\x03\x02e\xee\x8d)\n\xec\x91\x96\x90\x00 e*\xb9\xd7\xda\x03g8\x9dq\xa4\xa4\xf5\x07\x99\xca\xf2\x96\xe5X\xcd\xa1\xe9H\xbe\x1bMh\x9d@\x169\xdc\xe7\xdc\x81\t}\xbf\xa3p\xe1jfHN\xe3\x96\xe6!\x9d\x7f\xbb\x9dUV\x96(_v\xd6\x19\xda\xf4+\x87\x7fu\x1d{\xaf\xf7\xa1b\r@\x04&\x10\x97\xb8\xb0\xbf\xa4\n\xccJ\x87i\x9f\x10\xe1\xae\x0f3[\xb5\xaf!{>\x97\xd4\xea`I\x82\x81\x8b\x1d\x0c)\xcb\xa6\x05\xd3VU19\xda`\xbaAl\xc7\xec\x99\x80hB\x85\x15\x128\x8d\x86\x9bW\x89\xd6\xb4\xad%\xd9\xd28\x90Q\xbb]\xae\x8e\x8e*\x12\xb8\x16? W\xbd42>\xb0J\xfe|.\x92\xb3bB3\x9f\xc5Y\xfa\xb2K\xb0d\xd6\x86\x97\x0bj\xef\xf6\xef\xbfJ,\xa3_\xfcp\xfbI\x10\xa7\x13\x8bF\x9f\xc99\xf5\x0f\xb5k\x00?\xd3\x8c\x00\xf8V,(;RRD\xee\xf4)B\x0b\xb1\xba\x9d\x88\xc7\x19\x1f\xb8\nb\xff\x98\x9f\x01\xe7\xbf\xf2\x05\xf9\x7f@R3Y>\xb0\xb6\x95\x1a\x91\xa1u\x99+\xce\x86m\x02`\xbc\xe8H\xf0\xea\x81\xae\xc9\x04\xc6\x88\xdc\xb8\x82\xead!_\x17T.\xccY\r\x93\xc0g\x0e\t:Sx)\xff(\xc2\x05\xf4>\x06\xe7\xd8\x81\xf4\x11\xf2\x80\xfe-\xcf\xda\x16Y\xa8\x137\xa0\xfe\xc0\x11\xc1\x89\xe1@v-\x19\x1aF\x1d,h\x91T\x99\xea\x05)\x87\xe84L\xec\x1bn#\xf8\x8c\x11g%\x82\x17CP\x1e\x86q\xf3\xa7\x01TE\xcc\xc0\x0e\xa1\x07\x8f\x15Z0\xa8\xa5\xd2g\x02#\xd1\x07\x8cF\xb1D=\xc37,R\xad\xaa\xb8\xed<\x99A\x92c\xe0\xcc5@\xbc\xf0p\xc5\r7z\x083\xf8\x19\xc1\xd7\xba\x99\'\x06\xf2J]B\xdc\x90\xa6<)"\xaf^z\x8b&\x17\xce\xa7$\xaa\t\xa2*!G\x82H\xef\x14,\x88|\x11\xec\xb1\xa0\xc9\xf5\xfe\x1d.<U\x0c\xa3\xe0\xaaf\xe5\x9a\x99\xc8\t\x0b\x04.\xd6\xcb1Ce<\xc4\xbc\x94H\x06\xa2s\xa3\xd6%S+\xdaZ!s\xbd\xf6F\x8cX5\x93\x96y(\x95\xe4c\x14<\x9a\x9a\x8b\xde\xbci\xb2\xa9$\x8dM\xef\xa6Av;\xea\\*l\xfcrt\xafjBL\xb0\xfd{$\xae\x97mD-{\n\xb26\xcf\xed\x98\xad\xae7\xf0<\xf4\x1f\xb4\t\xe2c0U\x88q\x95h\xb2\x9b\x9f\xccy7\r\xf2\xa7\xc4\xa8\xe9Eo.>dm9u\x1e\xa7q\r<&\xa04\xe5osr\xae\xb0\xf6\x83\xec\x01\xe6\x83b\x14\xb8\xf4\x8f\xe2\xbc,\xac\xac\xa1]\x8a\xd2\x8a\x02"\xa6\x8e\x92\x1c:\xf0\xdaq\xfcA\xe3J\xba0\x02\x0f\x0e\xc0\xe8\x1b1V\xcd\x0c\x91H\xee\x8d\xbc\x0f\xa9\x16\xb2\xa4\x84q\xf2\n\x1d\x0f\x92\xeb?I\xb3\xf1m\xef_\xafWea\xfbW31\\O3\xc0U\xf5\xf4\xc7\xc5\x1b\xa93\xf8\xc6.A\x01v\xb2\xd4\x83m\x9c\xf1\xaa\xd2\xe9\x02\xb0\x99Ky#R\xb9\x90FMY\xee\x8bO\xdc\xb6\xc2.\x10\r\xfd\xd7\x0f\x89m9\xaa\xde#_\xd0\x1a\xe5\xe46`\x9a\xf5\xc3\x9f%\x1e\x0f\xcas\xa3]\xa8\xe5\xf1e\x93\xee\xc7\xff&\x0c\xfeZ\xd0\xcc\xac\x85<)+\xcf\n\xbaG\xcc\xd3\xa8\x03b\xf1d[\x1d\xa9n\xd4\xb2\x9f\xa4\x06\x8b\xbaGS\xcc$]\xde\xd5\xa5\xa3||\xfdm^\x9d\xf0\xfd\x8e?\x1f\xb8K\x8b[\x9b3\x8e\\T\xc2\x90\xe3j\xab\xf0\xba^ftb\x1f\xe3\xc8"\xce\xaa\xfc\x83\xf7\xc0\xf5U\xfb\x0f\xfaY\xeeHB\x9a\x18\xc9\x19\xed[\x19\xe7\xc0\xf1\xecW\x18^|\xb8l\x9f\xc3\xaa\xb2\xb2\xe3\xf3\xb1)L\x8eIy\t1\xc2\xe3\xe1L\xb9.\x15\x93\xa3A[\'\xa9\x08\x89tWv\x97\x85\xd5h#|\xfe=&\xeb\x92 r\x11`2\xb4\xbc\xc9Jh\xd3?\x01R\xc7\xc7\x16\x8d1\x93\x14\xe4\r\xa3\xed\xcb_\xf1\x0f*\xd9\x1f\x8c\x0e\x9d\x07\x9b\x1a\xbb-\x84\xfc\xd6\xcd\xfd\xb7\x12B\x8f\x7f)\x9a\xcd\x1fX\x17\xb7^\x02\x92\xc0E\x1f\x92\xa4\xbd\xf9\x0b\xd6\xe2\x97a\xe2e\x18-D[\xbf\xa7\xef\xaa*\xde\xbbs\xd0n\xb1sY[\xdd\xc8\xe7`\xac?k\x93\x1ex\r\x07\xdfv%l\xe2\x9c$\x0c\xde\x89\xb7>\xc0E\t\xb4\x9f\x88\xbd@8\xfcY\x9a\xe4H\x88\xf8\xd4c\x8d\x19\xf1\x98{\xbc\x90\x90\xb6nR\x00z\x0c\x86?-f\xbd\xbe\xcd5\xcd\xa9Y\x84\x05RC)a\xa7\xc3\xfdl&\x94z}6\xb0-H\x9e\xe9\xab:\xc4g\xee\xc8\xf8\xfc\x9c\xb5D-y\xa97tp\x07\x16bu\xe1"\xb8@\x8c\xee\x10[ZA7h\xda\x16\xcc\x0e\x8cY\xc1\xa3Yvv\xb3\xd0\x9c\x8d\xde\xd9\xddS^\x80\xb7\xb2,\x19\xcd\x86{\xd9\xf5\xcc\xd8ct\xe9\x8e\x0c\xd0z\xe8pEONV\xb8?\xe3\xb8nw\xd4\x93\x17\x86\x7f\x93\xc9\xc3\xb8\xd9\xd1\x7fa\xe1\x1b\xf8\xf6r] \x99\xb7\xdc\xe1a\x03K \x84X\xb4[\xf8\xbb/\x0erv\x1f\xef\xdb\x98d\xca:s\xc9X\xa0m\x0f\x96\x19\xda\x9e\xea\x83\xe8;\xc6\x87\x1b\x1bk\xaa\xb4\xe8\xe5{i5}\xc4z\x08\xa5\xe3,v\xf2\xedz\x13\x1fV)\xa0t\xc8\xc5\x0eK\x0c\xa6\x91h\x8b\xf6\x90\xea\x07Y+\xdf\xad_\x99\x11\xd3\xa5\xf9\x1a\x14\x0b\xb3\xc5\xadW\x8a\x16\x1e\x80\x0e\xee[\x88\xdd\xfaUV+GE\xf2\x08\xb3\xe3`t\xaa\xceh\xc5\x90\xd3\x90\x1f\x0b\x1di\xe0\xf7\xe3!\x90\xd7\x9cL\x06b$\x8b\t\xc3c\xe0\xa6\xb9\xc2\x03n\x91\x1b\x06^\xd5\xc8\x08\xe9\xf7p{\xd5k\x1a\xf2\xbd\t;\xf1\xa7\xe1\xe9\xc76L\x82\xb0\xb5\xc61\xd6\xa0\xb0\xec\xe2o\xe4\xe5\xf16\xfd\xe4\xd3\x98\xfb\xf5\xb6m\'R\x90>sW\x05\x9b\xf6\xbb\xcb\'\x03v\x1c\xc2\xe3e\xa32fl\x15\xc4\xc5E\xeaf\xb9)-\xb9T\x1c|\xd3\xf8R()\x00t\xf0\xbb\x02\x15\x13\xb5\xd2\xec\xc2\x93u\'\xab\xa4\xea\x14\x81\xc2\xd8<\x8c\x11\x89\\\xe6\xc2\x9a\x9d\xf5\xa4\xc6\xcd^\xd3\x10\x1c\x81]\xf2.\x11\x06\xb08\x90\xe3|\x1aT9I\xba\x82|Gh/S\xc4\x89\xbd\xbf\\\xfd\x81$\xc8\ro\xfc\x08u\xb3#\x98\xf17\x1f(lX<\xe8] 1\xbe\x04\xfc\xbe\xf4brEM#i\xd6\xc1\xd8m\xaaZ(\xff\x04\xd6\xd6\xc9\xfe\x01B\xd6N"\x94\x03{!\x8e#\xab\xc6\xd3h\xbe\x0e\xab<s\xd9\xf2\xf6\x95d\x81\x1a\xca\xf2 \xeb%\x10YG\xebi\xbf\x18/91\xb1F\xa6\x87\xf0\x99\xe4\x97\x07\x1ba\x84\\\x0en\xeb\xe9\x97\xb5\xf7A\xca\x1f\x1b\x87y\xce/\x8c\xb8\xf0\xde\x12\xf4 y\xa0\x1f\x8bY"\xf6&\xf1\x03\xa2\xa2\x96\xd0.q\xecs\xc1<\xdf\xbdL\x9aGpd\xf1\x93\xe1L\x1b\x8aM#\xdf\x03\x1b\x06\x7f0\xec\xc9\x8a\x9e\xef\xceS\xe1\xf3\x98r\x82\xa0\xe3cl\x98i\xaf\xbb\xf09",\x0e\x15\xfe\x99\x95d\xe7\xc9\x87\x81SM\xfe\xda\xe4\xee\x16\x88\xaa\x10 ]\x11\x81\xa0\x8bk1\x8eS\\M\xf0\xdc\xc9Q\xc3\xba\xcf>\x99Sw\x16\xca\xd6\x17\xbbX\x1e,\xb9\x1e_\xa7\x02\x02\x92\xaa\xcdu`\x15\xe4I\x1al\x95\x99\x10\x82l\xac\xaa\xbb\'\xc3\xb4\x92~\xa9wFB\xbf\xd3\xcd\xd3\xa2VMoW\x89o\x19\xcefB\x8f\x9b\xab\x86\x9c\xa4\x85\xc7\xf1\x98\x9c\xafW\x0b\xbez\xe3\x1did\xd4\xd4\xc1\xb4\x1b\xb1\x06\x9b.\x8eg\x98I^:7t\xee\xefVD\x15R_=G\xaf\xd5\x82m\xad\xcf\x9c)\xd4\xfb\x0b#\xf7\x92\x06\x93$p\xba\xaa\xd3\x90>\xa0\xfcF\x96\xcb\x02\xf8*\xa59K\x00\xb4\x02+\xb3\x13\xca"\x84Yf\x97\xd1A\xd1L-\xb3\x1f/\xc0\xd9\xe4\xbc_5\x9e\xdf\xf9.\xc1{\xed\xe6\xec\x804\x0b6\xefz\x84\x95\xf0V\x83\xc3Y8-\xb8\xd6\x00hQ\xe2\xefD\x0f\xf0v/+\x8eU\x97Z\xe4r(0\x9c\xfd\xe4\x8f\xf2\x1b\xd7L\xbf\xf1Z\x9a\xb6\xc9;\x19\x92\x15\x0e{cK\x17m\x03\x1c\x988\xec\xce\xa7\xaf\x94(rt\xc4\x81\x82=\xf6\x8eU\x03\x05r\xdf\xd5b\xd9Y\xe5\xf5\xfaTYg\xe6D\xf8:,\x88G\x05\x89\xc6\xcdeK\xf7\xb7\xbd\xb0\xeb\x82H\xeb=\xd3)V\x9c\x8f\xcd\xf5\xbd\x1fu\x82MJ\xbd\x05\xc4\x99\x10J\n\x05\x8e&O\x91e\xdc\xe7p\x8b\x10\xe7Tc\x91\x026\x05\xc4\x1e\xa7X\xed\x82k\x9d\x99z\xca\x90)\xaa\x8d\xfeM\x84\xbe\x1bWRq\x92\x9cM\xfcz\xe1(J\xe3\xfe\xfa\x11n\x18\r=\xac\x9e_\xd7\xe1,\x9fO\x80\xe9;\xcf\x80\xb6\x8d\x84\xe1\xd5\x92\xc3\xb1I\xae\xb3K\xbe;\x82\x1eS\xf1:\xcd#\xa4B\x06[\x85,\x9e\xa3\x9a\xe1\xb3\xfe\x0e\x04b\x1a\xedZ\xe7\xc6\xf4\xaag\xd8\xf1\x00S{tn\xd7\xe0\xda\x81&h2\xbc\xf5o\xd9\x06q\t\x1fe\xec\xdf\xcc\xe8\n\xac\x93\x05\xc4\xbb\xa8\x8eR\xda\x0f&\xe8\xc2\xba\x80\x18 \x9a\xfd\xbf\xf6\x9e\x07<?\xce\xab\xd1\xce\xed\xcc+\x93j\x8ai\xe6\xdc\xf1g\x8a\x8e>"\xe1\xa9\x83i\x00"\xa5-\x9a\xa4{0n\x82\xe1\xa0\xb6\x1a\x0com\x9b\r\xb9k^\x02L[\xedc\xcd\xf4\xfe\xd7CYr;\x0f\x16\x96X\xd9\xd2\x07x\xcdM\x8e\xc7/e\x07\x83H\xe93F\x866JiIf\xce\x89\xd6\x8c\xf2!\xdb:\x06\x08\xd7\xaf\x97\x06\x15\xe1\xd8\x8f,8G\xa8r\xd1L\x0f\x8c\x1etx^\xc9c\xa4\xe5\xb6=w\xb9V\xc3\xca\x8ee\x005i\x18\x85]\xc7k\xd9Q\xa1\xb8\x1e\xc4\x97.?r\xa01\x14pG\x85\x1b\xd3\xbb\xe0\xe8\xfaz\xdd\xe5Q\xc5\x1c\xcbR\x83\xba\xe26\xec\xf2\x8b\x8d\xfd\xfa\x89X\x1e\x10\x03\xe3$\x16\x13\x10\xd4Y\xf5\x0f\xeb&G\xe7>\xed\xf72\xacS\xe8\xe5\xd8\xaa\x8b\xf7(\x8e\x9e\xc4\x86\xd6\xca\xf1\xcfy\xa5\x15\xb8\xf1g\xf9J\xc7\xacE\x0bo\x1f6\xa5ts\x9a\xd0\xb2\xe7\xa3DM\xb0Z~\xa7t\xc3\xbf\xba\'=~>0\xd5\xb5\xda\x87\xdd\x97\x0f\x13\x08d\x80\xb5\xae\xfd\x16\xd6\x06"\x11\x98\xb1}\xed\x00\xf5:\xf5\xc4\xa6S\xf9B=z\x1a\xc4\xc4\x08-\xb0r\x87\xd82\x83\x184$\x08\x80\x9e\xe4\xa7\x89O2k\xf6`\xe1[_\xb0\xab6\x85\xbd\xed\xf1.\xb3\xd1B\x87\x02\xd1\x88\xc4=\xa1"\x19M~\x1f \xd3\xe8\x9b8=\x8a~w\xe1v\x11\x04\x9c}h%\x19\xad#\xd1\tC\xdd\xa4\xcd\xc2\x0b/w\x8d<~\x95D\x03\xd7\x11\xf3W\xd9YM\x0b\x9f\xd8\x83\x1e9\x12\xb2\xbe\x7f\xb2#\xdb\x90\xa6#\xcf\x98!\xe7\xbc\xf6e\xb8\xe1\xd29i~\xc7a\xf3\x115\x10\x14\xe8l\xd3`z\n\xd8#\xcd\xcc\n\x17\xda\x04-\x84VQ~5\xfc\xa6\xdby\x94f,<\x06\x15\xd5\xf8\xc9\x12_\x1e\xb12T\x9cp\xdd\xdd?\x98\x9dw\x01FSw\x93\x17\x95\x93\xa9\xb1\x16v\xab\xef8\x95\x89<\x83\xde\xa6\xa4\xf1\x81hn\xae\x9c\xf8\xbe\xc0\xf9cA\x12v\x91v\x8c\xf5\xfc\x11+\xe3h|\x87RD\x98\xa2ex\x96\x0b%j\xce\x98\xe1\xd9\x80R\x87\x95Q\xf7\xda\xdf.Q\xcf\xe4Z\x04\x81\xc2"C\xa1\xd4\x8c\xee\x13\x0cv\xf9?\xb2\xa3\x8fS\x9b\xcc\xb6Su\x964\xa1\xa7\xf6$\x0e\xae\x91\x80 p\xe1\xe3\xd38m\x1eg]\xe7\x83\xb5\x9c\xd1bz\xc0\xa0tT\xf9\xbf\x0e\x0f\x15\xfb\xe5\xd0&kn\xcdCor\x8e\x8d)\x06\xeb\xd8\\u\xb4w8\xade5g\x8c\x18\x07\xdc\xb7\xcf\x9f\x9c\x9cd3\xae\x92\x9f\xc4\xea\xd2\x8d\xa4\xb5j\x13e\x19\xb9)\x01\x1c\x12\x00[3F]\xfev\xe3z\xa1\x93I\xd8\x08\xe0\x11gY\xb08u,\xd5\x84\xe1\x86\xca\xdfY\x88\xf2?\xd8X\xf2\xbf\x83\xa9\xfd\x92\xbf\xd9\xdco\xf2\xcdj\xe6Z5\xd0{\x8a\x01\xd3\x15M0\x03\x97a\xa6jr\xe8\x01\xb2&t\x06A\xaef\x8fd8Nx\xce8\xd4q\x98\xa4\xc0\xa0\xa1\x00\xbe\x84\xa9R\x8d\x03\x162w\xb5\x8d\xb9\x17Q%\xc4W\xac\xbd\xc2\xbc\xf4\x19j\xd9iT\x88#`/\xf2IF>\x80\xd2\x91\x88T\x024\x85\xbd\xadWP+\xc6\x10\x16b\xbf:\xfb\x1e\x16\x0b\xd7rJ\x07\x91P\xa4&\xe8\x01\xc1\xdf\xb7\x87H\x96m\xab\xddl\x9f\x16[\xdc\xaf\x81}J\xdc\x95\xfa\xbe#\xc4\xa2n\xc2k\x94\xf3\xa912\xd9\xab)\\W\x12\xa9\x97\xca\xd4\xc3H>\xc7w\xed\xc8\x0e0\x04(\x17\xceS\xb3\x91\x01\x9b\x14\xeb\xfa\xa3\x8f\xf0\x9a\x00k\xa3\xae\xda\\pjs\x9d3w\x85w\x93\xce\xa1\x856\x91Ue\x80\xe8\xf0\x08\xb7\xec\'8\xba\xa5D\xc4\x8a\xae\x16C XC\xe5E\xc8\xedI\x9c\x0b\x10x\xb6x\xc7d\x0cX\'\x16\x93\x82\xfb\x85\x9c\x92\xb7}tx\xe3]\xd4R\x0c\xabpb\xfd\xaa\r7\x89\x1e\xf6\x9ch\x16\x0fG\xde&1\x9f\xf4\xe2\x7fl\x828\x8f S\xc6\xb6\x10f\xb1\xcc\x95`\x00\xf99\x93\x96\xac\x19\x99\x07\x85\xbb\x9a\xdcf1\x00\xed\xcb+\x80\x00\xba\xab9\x06\xa5\xaaf\x9e\xec\x9a\xb1\xa6\x96\xd2\xb8\xb6\x8f\xd3"\xef\x9d\x9f\x87~\xb0F\xfc\xbd\x90\xe1\xd0\xdaW\xecIQ\xd0\xae\xf4\xbe\xc8\x04\xbd>\xca\xe8!\x82\x0e\x1an\x0cC\xb25\xac"\x02\xf0\x8bI^\xdb\xe4\x91\xfb\xb4\x11e\xd4\x88\x94oP|Z\xf0\xfe\x9fL_o\x02j\xbe\x8f;\xc4\x9a\x8e\xec\xb1\xe1\xaa}\x1c\xbd\xfd\xdc\n\xae\xa9\xe6\x9d\xac\x8d\x93\xd1/l\xac\x14o\xc6\xa9\x0f/\x05_\xdb\t\x9a\xf1\x01\xeb\x83\xfa0z\xe1\xa1\x8a\xff\x9a\x80\xb1\x91][\xb3t\xc7\xff*\xbeR\x9f5\xff\xb9\xd9\x86\xb1\xd3\x02v\x14\xfa\t\\\xe8[\'\x1e\xb3@vR\xed\xd3\\E\xec_\x04(\x16\x01\x03-\xaf\x9a\xc7\xa1L\xbd\x7fKbsw\xd7\x9b\x83t_\x8fKQ\xfb?\xde\x1b\xf9\x0bM\xca\x0fm\x96Q\x95\x7fRH\xa7\xb7\x9f6\xb1\xd7\x9b\xaa\xcf\xdb\xa3\x04\xe3\x91k0\xfd\x0fk%\xd6\xb1\xe1\xcb\xec\xb4\x1604D\x17\xb7s\xd6V\x03\x01>\x97\xf9\x11<X%\xcf\xe7\xd1z\xaa\xae\xb0\xcc7z\t\x0f\x9di\x1d%\'c\\\x94H\x19Wv\xfcm/\xb8\xd4B\xc6\xe7\x13x\xa3\x8c\xf3O\x95\x08\xe9l\xf7\xbc\xaf]\xeeO\n\xf8\xc1\xbb\x84Z~\x85\xcf\xa3\x9b\xb2~\x8c\x1d\xe0\x17\xd5N\xe3\xe4\xc5\xcce\x93\x89\xffN\x84\xbe\x03\x86#\x17\x8d\x9d5\xc2\x07\x1c&\xbb?\x04\xe1B\xce\x11|\x10E3\xe5\x89\x13\x9fd\xcb\x93\xc4\xe6\x01\xbc\x1d\xd5$4\x9fR\xe9\xed\x99\x03\x80)\x8d>-\xf224)\x02s2&\xcf=\xbf\xe94\x07\xb1b\xba(\xdf\x81\x97\xe8?\x18,\x03ok+\x8a\xb8\xb5\x01\x8a\xee5\x80\x9b".\xef\xd7\xe9\x13\xec2\xd9\xe2\xd4\x1bg\xfd\xc6\x0bq\x89\x94\x87\x14\x9b\x86\xd7Y\xb6\xd5:\x9b\xcd\xc6&\xbd\x86\xb5\xbb\x08\xb6@\xf6c\x86\xa6g7w|\xda\xfb\x8a*\xe3c\x1a\x94\xfc\xbb+\x19y\xaaWq\x93\xe3\x9aOK-\x18\x0f\x7f\xcf\xeb\x1a\x84.\x83R\x05\xfc\xd10W\x88V \x87\x18wF\xcb\x1b\x92\x8cB)\xf0\xcc"\\\xb3\xf1>\xa3\x1c\xa4\x9f\xff\x16\xaf%\xfc\x92\x8a\x04e\xd3a?\xe2\xdc)\xda\x06~\x9f5g*\x8a\xee\xb0\xfb\xa3\xfa\xa6\xbe\x1c\xbc\xbe<\xba?3\xbb\xb1\x8du)O\xf5\xb3u\x0b\xf9}\xb43\xdf~\xfd\x14\x0e:0yZ\xdf\xea>\x17\xefq\xad\x9a\xe4M\xea\xcdb\x16;>\x1f\xdc\xea\x82\r\xb0\xdb\xfa\x03\xc9i\x9c\xafR\xe5\xa2\xe1\xb1A\x8bK\xfd\xb9\xc8\xa7\x18V\x10\r ~f!E\x8dw\xc6\xbf\xea\x81B8\x8c\xee\x899\x03\xfb!\x85#\x08G\xa9\x05\xc0\xa2\x80\xfc6\xc5\x16\x1e\x15\xcd\x0c\xa6\x1c\x00\x91\xb9\xaa\x80\x7f\x84!\xa7\xdb\xbe\x02\xc4".N\xad\xc8\xf1\xb4\x03\xba\xce\xde%u\xb1\x18\xdda\xae\x7f>\x97\x8f\xa1@\xe3\x17\xe5\xcdR\x04y\'\x02\xdblF\xea\xccH\x1d\xd5\xc0\x0f\xea\x90\x9a\x94\x072f\x0c\x92c\x93\xb5;\xb6\xa8\x9e\x0bn\xf5\xc9A\x9dM \x81\x1e\xdb!2\xb5\xa3V\xf5ix\x1aD\x91|@\xf7\xac\x07N-\xc2\x0b\xbd\xf8g\xcb\xf5U\xf7\xe9\xdajj&\x85\xa3z\xfd/g\xdc\xe4/\x95\ty\xd8\xc4\xcc\x88Q\xdb\xa3\x10a\n\xda&\x12\x12\x8chO6_\x0e\xecc}\xb8%\x8ah[\x99P\xb7\x8av\xc3\x92c~@\xad\xbd\xc5\x9f"\xad\x83\xb2l\x87\xf4\xf8\x1d\xfal\x13\x8axoR\x1a\x81\x991{\x02\xc1\x08.\xe9!.\xd1\xe2\x9f>\xdb\xa6$\xcdE\x03\x01z&u\xee\xf4\xc38"E\xc63-\x0e/\xaf\x93\xb7$q\xd1\xd4\x19o\x12F\xaf\xbc;w;#\xe42\x7f\xe2\x93!\x92h\x1c\x91\xaa\xbd\xa3\x94\xc3\xa5g\x1d\x08\xf2E7&}\x90\x80\x15\xcfU\xf7\x11\x93=b\x02\xf3\xf2+\xc9\x17\xea\xf4\xb4\x1c\x05\xc5b\xd14t\xb7\xdc\x99\xa2\xe7r\xb3M<\xff;\xe6\xb6w\x1b\x11.o1\xa6%\x1e\xea\x01\xd4Y\xe0\xe3b>~;\x94\xbdj\xf9;\xcd\x88\xe9\xd3\xab)\x10\xba\x01y\xf7\xfc\x14\xe1z\x05\xbb\x84\xd9\xde\xdc^\\\x83\xbf\x16\x988\x9b\x99\x91<N\x19\xcf\x13:\xbdK\',t\xa3\xbd\xc0o]\xf1\xaa\x0b\xc6\t\xb3\xcf\xabL\xb9Gh\xfb\x022\xc7\xd0S\xaeKl\x18\x0c\xd7KJ\xfc\xed\xdft\xfc\xdcJR8\x1d\x07\xff\xda&r\x19\xe7\x05\xb1\x0f\x9fOk\x8c\x03\x06\x0c\x1c\x92(#\x86\xfe\t\xf1\xa8n?\x14\xd8\x1ax\\N\xf0\xc9\x00\xdcAg{\x11\xe28B\x8bY\xb5\xac\xc95\xb1|\n\xc4\x8dj,hc3\x9fg\xf8_\x95\xd5N\xe1A\n\xc5x\x9b\xc8\x9a\x8a@\x14h2:"R\x91T\x01\xfc\xb5\x1f\xab\x89\x02\xdc\x04x#,\xfd\x04\x8e\xd7H\xe2\x94\xee\xb6Cw\x9d\x9f:\xfc#\x0f\xd6\x97h\x1e\x98n\x7fN\x92d\xab2\x14&R\xb1\xdbS#\xfd\xf7d\xcd\xd9>\xd0_\xe9\x15*\xb1\x00\x1em\xe8\x99\x03\xfe}\xee\xeb\xad\\\xa1\xde\xe0^\xe2\xcb[6\x95\xb88\x9ck\xddQ\xe7\x8er\x04\xfe\xc4I>\x02F\x06\n[\x0f#\xa5\x7f\x99\xe0\x1c\xd7\x0f\x86\xebb\xa2\\\x99QH\x01\x0e\xd3\xf6\x97yAr(\x1b\xe0nF?xD\xeb\xad\xf7\xaf+\xd3\x80,\x86\xe8\x92\x04\x92\x92G\'?X\xf5L\xf6v\x91\x8a\xdebB:p\x08\xc0\xeb(C\x8c\x97,L76\xcc\x9bT\xc4\xd0I\xb7g\xad\xfa<\xf1\xbb\x9b\xcfqP\xbd$\xe7\xef\x17\xc7\x07\xf0\xdd\x86c\x83\xc6\xb1\xf9\xea\xadW\x99\xf3\xe7\t\x8d\x1b`(\xc1\x96\xd7\xe4\xaa\xcb\x9b\xbe\x84\x1a-\t\x95\xce\xdc\x04\t/\xc8/\x11\x85\xa8\x8f\xacM+\xf8\xbb!AS{K\x12\x8c\xbb\xb0!.\xd2\xb89\xdb0~\xf3\xe4{,\xd5\x08\x01\x1c@\nO\x156c{uz\r\x04\xf9\x9b\xb6\xa5\x05\x1b\xc0\xaco\x0e\x94[\xc8\x1b\xb4\xfd\x19\x87\x95\x98\xa5`w\xac\x956\xce\x150\x18\xed\xdc\xde\xc1\xf7)1q\t\xb7`(\x88\xf9\xb5QN8\xd9:F\xcd\x0b\xf1\x1cU\xcf\xa0\xc6\x95\xc1\x8a\xcf\xe3\x08\xe1k\x1e\xb6\x8e\x19\x93\x1a\xe5\xde_\n )\xc4\x9e\x84,\xefI^\xee\xa5\x88p\x04x\xed\x9b\xbfV\xa3*\xeej\xf1\xd1\xd6\xd1\xe2E\xb0- mn>I!\xac\xea\x93P\xef\xd6\x93\x9d\x0fD\x00_\xe5\xed.\x99%\x17E\xb5\x85\x12\xd4`m\xe4\xd7\x02\x877\xea\xce\x8a\xe3\xb8_v^Ph;\xfd\xd7\xae\xd4\xc2\x97\xa1Y\x81\x1f\xaeb\xa4\x8e\\\xe6W\x06\xd5qS\xc0\xfb[18xh\xd7\x81?B.tE&N\x14j\xf2X@\xa0\x89\xeb\x96+\x7f\xd6\xd3\xe4\x0b@\xcf\xb6Y\xb8\xa1\xf4aM\x16\x93\xc0\x9f\x97\xdf\xd1\xbaa\xec)v\xfe\xe7-\xdf\x86\xe0\xf0o|\xfe\xb1\xa1\xb10\x92U\x86\xf2`\xba\xa5\xf8\x9b\x10\xcb\x18r\xd0\xf8W? \x81\xbf\xdc\xc6\x96\x10\xbcX0\xb4\xc0e$6\x18}t\xf6W\x16\x97L\xe6G\xa1\x96\xbaU\xa6\xd5W\xdce\xf2\xf8\xa53,\xb8\xe7}\x9b\xfa\x8c\x14\xb8\x17l\xe0EJ\xa9@p\xcd^\x14f\xc62\xdf\xfe^+\xf8%\x8e\xb6_\xa7\xeb\x05\xc8,,1)\x14\xd2L`\xd49q;\xf5\x85\x99T\x06\xd4\t\x14 \xf1\x02Uj\xb3"\xa8\x9a\xdcN.\x88\xa88\x14\x9c\x99\x02\x9e\x1bi\xd4Y\xa9\xf2q\x03:cv\x91\xa8<J\xeb\x85\x0b\r\x82\xdb\xb3\x1f\xc7\xd4b\xd1KJ(,\x03\xe5/r\xea\xe1)\xe3P\xccU\t\xaa\nu\xe3\x17\xf1\x88G\x943)\x96w\xb4\x14&\xec\xdd\xe9L\xa8\x0e03\xb5k\xf1\xf9\xe2`\x00y\xa3$\x88\x18\x1ccyknt\x12d.\xd7\x06\xe1\xc8W9\xd5\x12\x18\xfd~\x1e\xaa\x03\x8f\r\xd7iU(]\xebX\xc1\x99\x02\x9a\xb8\x88\xdb\x9chx)mqT\x0eT\x89\xddl\xd8N\x86v;\x14e?V\xb6\xd6e\xaahO\x1e0\x1c\xc6\xfdY<O\x07OI\x9e/\xc0m\xa1x\x9b\xd5Q;\xec\xaay\x1c\x07m\x80\xc4UTt\xfa#Q)\x1f%\xa4,\x8c\xd7 \xbe\xcfh\xee\xc6oKu\x19\xd8\xcd\x1f\xa4\xb1,\xaa\xb5\x1dg\x13\xf4O\xf4:\xf4\xffL\xa5\xa9I\x9e\x8c\xb0\xef\xbe\xd0$E\xb0\xc8\x00]_R\x18lP\x93\x92\x96a\xcd\xfa\xf9qc\xed\x88\x0b\xad\xe7\xe8\xdeR\xc4%\xd7\x0e\xe5s\x03\x10|\xeaGi\x96lA\xd5\xa1`\x85\xc8\xb76\x02\xa5m\xca\xa7\x8f,9\x9d\x0c\xab\xe6n\xa9\xba\x91\\\xed)\xa7\xe3-3&b\xd8,=\x97Og!\xe2\xd3\x0e"\x06\xd4\xcb\x10o~\xd8\x1a,\xbc\xe4\x0e\xb6^\x18A\'\xea\xf6\xf02!\xd7\x99\xd3v\xcd\xac1\xa8;\xbeO\x7f)\xdcD3\xe4nq[\xdcl&\xec\xe3N\xf7N*\xcbl|\xa3pu&T\xf8\xad\x17\x02\xcb\xc41A"\x85Je\xf7\xd3\xcd0\\\x1fY\xd9=\xc6\x05\x02RQH\xa0dv\xbekl9d\x063\xdcAc<\x1c\xfa\x1b\x16\xc9\xa3\xc6C5\x84r\x05\xfc\x91&\x1e\xbfR\x92*\xa1y|\x10\xaa\x96o\xea\xea\xe1\xf9\xde\xac5\xcd\xd4\x1c\xa17A\xa3\xf1\xc7\xac\xea\x82j\x00RM\xc4\xea\xb9\xceG~\xe6\x05w\xc7\xb4\xe7\x1dj\xeam^\xce55~\xceV\x08\xd8\x99\xc2#\xc0ixsW\xee\x8f\x03\xf0}\xd97\xd5\xb8y7\xb2\x9f_\x01X\xf0\xd9/\x9b\x8f>hio"F\x0ez\x07\x98{\xb9%\xafq\x16$\x1eY]\xc5\x8cBw\xeb\xe7[\xc8\xf2\xaaiQ\xae\x95\xe6uX\x12\xe9P^\xe4\x04\x1c\xba\xf2,\xa2\xf7a\xa1b\xbd\x9b\xe1\x8d\x8f#\x19\x92\xc8\x10i\xbd\xca\x19x\xf7\x8a)\x97W\xce\xf7\x81\xed\xf2ua\xe3\xacp\xee\x82\xfc{\xf8\xaf\xb0\xcf\xc5\x10s;\xb3#\xb3\xa4f\x0e\n\x85\'\xb1\xb7C\xeb\xbc\xfd\xc9\xbe\x0f\xee \xfdM\xd9\x90\xc4.\x8b\xc5_A#\x05\r Q\x08\x17`\x9d3k\xf7\x06\xd5\xb6\xfe\xd6H\xa5~x\xb2B\x9e\x92\xd1J;\x85L\xccy9\n9\x92\x1c@"\x01\xee\x06\xf3\xf3J\xcd\x81\xa5\x024\xaeA\x8d\x1f\xd8\xd9V\x84\xd3\xe2\x03D8\x84V6\x89\xb7\xb2m8\x8d\x01\x93\x98$u\xa7\xb2c\xc5i\xfb\x1c\x12S\xa3\x02 \x95\xed\xe0\xad\xc7L\xbe\x94_\xfd\x0fF6\xe1\x1d\x00\xb9\xb6p\xcdjS1\x1e\x84\x90@\xb9_\x91.\xd9\x8c\xfb`\xeeO\xb2\xf1\xf6\xedo\xd1Q\xeb7bk\xd7^\x8a#\xd3\xd8WBG\xe8\x1es\xdc\x8b\xfb\xaf\x96\x80n\x11\xc5\x87\xf5\x96\xb9FKE\xc6f\x96\x9bb\x00\x8c\xb4\xef\x1aE\xb8\xa0\xf6\xfc\x8d\xccw\xb1EA\nq<\x80\x82c\x0bL-\x8et\xa6\xd5/g\x06\xa0@\x89\xcf\xb6^\x07x3\xdb0P\xff^\xaax]\x977\xab\x15\xd6\xfa\xa9\xcd;"\xf0If\x15\xd8\xdf\xa96\xc5\xe2\x9b\xaa\xa3\xa8\xe1\xca\x90CQ9\xfdB\xf9&\xef\xea\x81P\xe7\xa6+ie\xd8\x0f\x82\xe6g\xc7R<\xe2\x9e&\x89/\xe1\x82\xc9\xb5CE\xd3P|I\xf4\xf7\x05\xe0B\x88e\x11y\x1e6?t*l\xcc\x8e.\x19\xf1\xe3\xba\xed\t\xcb\xf7\xdaQ\x95\xdeeI\xc3.\r\x10]\xbc\xfe\x16=\xd9\x07R\xe54\xe3/2\x94\xea\x12\xc7\xee\xaf\x9avr*<l\xbc\x1e"\\\xd1D\x9b\xe8F\xa2,\xed\x03\xf7\xee%\xcc\x1b\x1f^h\x1c\x86\xee N 5]\xff\r\x96\x02\x89\xeb\xcbd\x04\xc3\x9b;\x85\x92W\x13\x05\xa1V\xe4\x92\xae\xb3F\xee\x93\x7f\xe9@\x85\xef\xecwc\xa3\x16`\xb0\xa5\x05\x00\x17z\x0f\xbd\\BPY\x86<\xf3d \xc2F\x8e\x1a}G\xf1\x9dz\x13i<V\xd8\xf9e\xb2&\x91B\x01K\xc6\x82\x81$\x83_y;\xc7\xb4\xf5\xcf\xcb\xac\xc4\xc3\xac\xe2\x01\x1e\xb1j\x8d\xa5\x08\xd7\xd7C\x12\xffq\x00\xde\xad\xa9\x89\x96\x84\x8b\x0f\xd5\xf6\x8bFR\xa0\xb9Y\xe0]\x84\xa3\xa1\xfcg\x08R\x80=)\xa8\xbb\xd1o\xc1\xb6*\xed\xa1\x14g\xd8\xa0\xcf\x0cB\x84(~\xf9\xbe\x13$\x0e;\xf7\xf0\xa4\xe1\xa7\xbd\xf4R\xcd9\x08\x8b\xd6=H\t6L\x85\x89\xcf[\xe3\x1f\x0b\xca\xe7\xb4\xe3Hd\xeb\x1a\xfc\x917\xfc\xfd\x80\xe1\xe8\x8d\x80m\xcf\x02M\xfeC\n\xc6EM\xdcp\xb1\x12\x92\xd3\xe2\x04~\x15\xf1\xbf !\x9dc\xba\x0bG\x11\x03\xcf\xcb\x19\xe8T\xe7\xf8!\xa4\x98\x95IiAB\xd3\x99\xa7\x1e\xf8D\x1a\xd0\xa3\'\xf5\xf8\x08\xb2\x8e\xf7\x06\x91\\[\xa5o\x8cC\xde\xc7\xc9\xd3o%\xf8\xe1\x93\xecxE\x8b=`\x08\xd6\x93\x83\xd8\xc8\xc8\x16\xff\xb6\xef\xa8L,\xbc\x18/V\x9a\x83\'\x90\xe9\x0eu@\xbb\xae]\xb2\x98V\x9e\xc8VOX\x9d(d\xfc\x9c3\xa4\xc7C7t\xe4?.J\xa3\xf4\xa3\xba\xf5\xfa\xb1\xc5kkY\xfb\x87\xef\t\xfa\x8fZ\xaf\x081\xea5%\xe5\n\x8b\x93(B\x85c\r\xf3\xe1\xcb\x15\xe4I\xf8N\xc7\xa1\x13\xc3\xa7s\x0bc\xd3\x96\x06\xb60H\xc1\xb1\xca%\xda\x8d\xb70\x99\xa7s^\x13\xc5;\xe6\xbe;\xd4\xf1\x89\xcc\xc8j\xa8\xb3x\xf0`_\xeb;\x84\x9e5\xcf\xa4\x89Tq\xe0X\xdcL")\x9cmY5\x1f\x8dN\xff\x1cY\xa1\xcc/G\xe4\x849M.\x0f\xfd\x01\x10}\xe3\xd1b\xe3\x93e~\x97\xb0\xbb\x0f\x08\xb8)\x16Ol\x95G,R}\rv\xa2\x82v`\xd6\xd9\xb4\xf3\xcd\xa9\xec\x19X\xf4\xe2\x07/\x85B\\\xc9@\xc8\x92\xfa\xc3\x8bR\x15\x19\xb6\x8e\t\x1b\xef)J\x076Me\xf4\xf0k\x8a\x1d\xf7\x90Z\xa0\xa7\x11\x8d\x86M5\x82\xe7\xf4,\x94:S.u\xf9\xe2qe5\xab\xad\x91\xbe^\xa2\xaf\x88\xa5\x0b\xeb\xd4\x9fh\xa2\xd2\xf4u\xfa\xcb\x9a )\x9f\x84F\x91\x83\x06\x85\x1d\xbbn\xc5\xc8\xffN\xaa\xe8\xa6\xad\x96\x10Xe~\x89\xad\xc5V\xbf\x08j\ru\xdc\x82x\xcd\xf3\xf8\xe8\x90\xc6af\xf9Z\x1a\xd3\xd3\xee,\xdc\xce\x9f<\xb6\x1b\xd9\x82\x11cL\xda\xc9\x8e\x83\xfd\xa6\x10K\xa9\xa5\xec\x06-\x8c\xc0\x91\x03\xf9/Qc\xccu\x83\x94\x01\x0c\xec\x8c\xf7B\xbcE\xf4\x1c\xa2\xfc*ix\x18\x13K\xce\xea\x11\x1a/\x08\x0b\xa45\x13Jr\xb1\xe5R9\x1e\xb9\xc8\x89B%\x80.\x8a\xfc?\x92%Q\xac\x8d\x88[\xe3\x7f\x14\xf5\xfcz\xee+\xc33\x92ln\xad\x18Sv\x16o\x84"\xda\xcd"\x7f\x10\xdek\x81\x08f\x93\xff\xfd6\xb2\xf5\x02+_\xce%\xbcs\x14\'\xa37\xcf\xc6#\xb0\x06\x92\xaf\xf9\xe6\xc5*2\xb6\xbb@\xbc\xaa\xe8\xdcz\x88f\x9e\xd8L\xb5&\xa1Y\\&nDG~\x96#L\x07\xa1\xee\xc7\t\x0b"\xd5R\xd9G\x91\x01\x933\x85\xb3\x10\x04&9\xb1\x13\xbdkf7I\xcb\xbe\xbe\x919-\xd1y\x90\x05Vm\xb2@\x02\xb8\x9e\xef\x1b\xf4|\xf9c:\xf2\\\xc1\x02\x84\x1f\xf1z\xbc\x0e\xf9X\xcdE\xfd\x89Fg\xbb\n\xfco9c\xfeK\xc1Gi\xe7\xfa\x12\x13\xfe\t\xbfv\xab\x8bw\xe5\xf3\x9e%\x01\xa4J\x80Z\x8e\x1a\xa9]r\x1e\xfb\xeb:\xd6o\x9f\xd6\x02\xbc\x0f\x13\xbb\xdfj\xd9\xbb0m\x88(.\x89\xa1\xde\x81\xf4\xe6|\xe2\xbd\xc0G\xcd\x9e\xe6q|;\x94\t\\\xd1\xa7u\x92\x8e\x9aL$)\xf6\xbc}f9\xdc\x99\x8bTU\x80i\x05;\xe8e\xe2\x10\xdd\xc6\xe1\x12Q\xfb\xb9YM\xd4)y\x95\xba\xc3v\xce\xb2\x7f\x8e\x87\xeb\x16\xf9\x0f\x80\xe0\xdcv\xda\xf5\x85\x07\xaeL@f\x8bRy\xb0\x1c\xc3\xc6\xb2G`:\t\x0c\x12\xc5K\xa5]X\x18\xd4\xee\x84\x89\xdc\x16Q\x168\x00y\xa7\x0b\xb3\xf3\xe1\xc7E;zT\xe9\xde\xa5=\x83\xf3\xca+\xf7\x05\xb3 a\x89\xb4.\t\xf1\xe9\x05\x13\x1e\xbc\xadc\xdd\xd9c\xd1h\xd6\xe7\x05\x1a\xa0\xd6\xf6}\xd6\xc9H_\xbe]\xbdV"\x15o\x90\xc5\x93-\xcft\x1a\x83\xfa\x7f\t\x91\xb3D\xf3\x80\x9cc\x04\xe9\x16\x97e{%\xb6t\x9c2\xb5\xa8\\\xbe\xd4\xc1\x89-S\x05@=\xc1(9y\xadkC\xda\xf3\x1fL\x8b\x072\x95\xaf\xa2\\3\x95N||W2\x92\\\xf8\x1f\x04\xf3\x0e\xf3\x1e]\xc8\xf9\t\x08\x81\xf1\x84\x9e[\xac!&\x87:\x14Je\x1b\xf1\x99\xff\x8dU\xe5d\xcd\xedP\xe7(i\xf2\xd6\xd5\x16\xdf\xe6\x84\xd3\x85.7\x05M\xf1\x83<\x1f\xaa\xeb\xb0ki\x1c\x8f\xb7\x93\xcc\xa4\xe8\xa4\xb3"b\xeb`\xfa\xbcS+\xf6"\x15 \xcc\xaf\xa5\x04\xdb\xe3\x03P\xa9\xc1\x1c\xef\x98\xec\xf3\xd9\x06\xcbW\xbe\x9f\x94\x18\x9cN=>\xceUa\xd4p9\x8b\xda\\\x11\xb4OtR4\x9c3\x7f\x07\x9bf8\xc3\xd1\x00\xb0s\x0c6\x8b\xc5\xa1&\x01\x18\x96Y\xa2\xfb\xf9\xe2\x1f\x1b\xf5\xfe\xb2\xe1\n~\n\x1c\xd8r?\xeb\x96A\xb8\x006\x16\x89\xbd\x81\x1e@\x11\xfbp\xaf\xb0\x12"\xe5\x8c\xa4)\xeczM\xcb\x99\x1e\xd5V\xf9${)\xe2\x11t\x7f\x04qj\xac\x8d\x04\xba\xee\xc9\xc5\x10\xceW\x9d\xab\xd1\xeb\x8fE\xf9S\xe2\xa2K\xd0\x03\x16\x12\x12s\x13\xed\xe7\x06I!\x1e\'V\xbb\xe47G\xe8\x14\xdalG-\x86\xcab\xe7w\x8c\x95\x1e1\xb5\x8b\xea\xbb\x1d\xb1\xc6\x0e4\\\x96\xf2\xee^\xe7\x98P\xa2T\xd8\x993|\x9e\xd7g\xe9~.\xfe$MN\xa0\x1a\xe0;-%\xd6\xa2\x9c\xff\xaaw\xb2\x95\x96\xf9\r\x89\x96\xd2\xdcB\x08\x17aU\xd5\x1f\xac\x80\xb5w:\xbc&\n\x06;4{\x98u\roV[\xa1\xcb\xc7\x8b\xcf\x19XW~C\xf3\xf2\x1d\xf5\xa2\xd6\x13\xf9\xc4Ro\x08f\x13\x94\xbd\xa6J\'8 \xd0e\xa7\x10\xbc\xf4\xa63\xaeW_\xaa\\\x05\xa9h9\x19\xf9\xfa\x9c\xad\xfdk\x15\x12\x8b\xb1\xed\xc4\xdbl\xaes\xa9\xf3\x0f\x1e\xd2\xd6JC\x80~q\xac\x18\\"\x89\xcaX\xd2\x03\xeaM\xb1l\xeb\xe5U\xad\xe4\xdc\xab\xe6\x0b\x13\xcc\xd5J\x81\xd2\xbb\xe6\xb3\x9e\\\\\xfd\x12\x80\xc4\x9f`\xc3O!\xdb\xb9\x8c\xe1\xb7\x89\xa6\xe2D&\x83\xe2\xb6\xe4]\xe8F\x00\xd9\xbf\x9aa\x16\xc09\xed\xe8\xf7\xd5\xc9\x91\n#6\x99 \x12\xff\x18\xd8\xc7\xca\xf7\xe0T\xbbqE\xfaP\x80\x0c\x02\xa8\x84\xc8\xf4\xd6\xe1\xb1\xfc\xb8\x11\xb5\xf9\xabQ\xfd`\xebI\x1au\x17\x98\xc0\xc0j\x83\xbdq7\xef\xe96\x8e\xe9\x92]\xa9\x9a\x0e^\xe7\xebi\xfb|#\xf4&\x86~\xfan\x8bi\x04\xb8\xca\xfcw\xa4\xca\xb1\n\xdb\x05\xe3\xec[\xd3\xb4\xce\xacd\xce\xccvcc\x92\x93\xbb\xdc\xe6\x0fV\x96\x17\x81z\xc3Fl\xfd\xda\x93s\xf9\x89\xae\xbdP*Dj\'\xf4\xf2\xe7\x16Kl\xaa\x12\x8c\x03\xe9\x7f\xe1\x99\x89\x1f\x16\xe3\xa5{>S\xaa\x10\x1fD\xa1\x83\xdb\xb6\xa6\x1c\xcd\xca\xea\xe7^\xbd\xd0\xd0\xac\xa7"\x8a\xa8\xa9{\x13U\xc6\xd58\xd9\x85c\t\xe7\xca<\xb2\x9d\xd2d\xb4\x01Q\xbe|d\x14\x8c\xc1\x84ItY\x97\xf7JM\xb9\xf4\x1f\x06\x10\xaf\xd7\xe9,\x86\x85\x9c\xd9\xdb-fm\xe3a\x16\xd6\xc5\x17\x06\xcf\xdc\xca$#\x84\xe8\x94\xf5\xba\x08\x1c\xe1\xe3u\x80$\xef\x7f\xf1.e";\xb0\xb8x`\x08E,d\xde=\xa3\x12\x90\xb1\xd7+\xe1\xe2\x8f\xc0$\x1b\xda\x8a\x90\xd3\xfc\x8a\x1f.c\x8b\xa7\xd9\xc9\x1f\xbbuG\x1b\xb1\xa3"\x85\xe7/\x9dq/\x0b\xf2~\xc7\x94\x8d9\xff\x94\x1dfO\xc3\xb2\xcc\xbe\xa1\x12\x81\x839\xbf_R+9\x171\x11\xc6DL\x84\x16\x11\xadt\x0f\xe7\x13\xcd$V9\x8c;\xa8Pg\xdf\xfe]\xfdU\x10\xa7\x1cXDh%\xcb\xfa\x96W"\xc6\x84\x07Y>\x7f\x93h\x80\x01\xb8(\x01\x88\x00#\xaf\x95\xfc=\xfa\xf6aj\xcf\\\xa0\xfd\xa2\xd9\xcb\x9f\xf6\xf1\x86\xe4\xe6\xda\xfe%\x9b|+\xe8\xa3M\xd3\x9d\x0b\xc8\xa7\x9a\x9bk\x12Kk\x7f\x9a\x93\x18\xc3\xd4\x8f\xc2\xe6#\x041\xdf\xc7\xa1J\x8fd<\x00H:V\xa9CS\xf8#\xfa\xa9\xccH\x12X\xec\xf4\xfd\x97\x81\xd7I\xb9\xeb\xfej\xbe v^\tz\x03\tk\xa5\r/zJ"\xc0\x00\xf2,J\xd2>\x11\xac\xde\xee\x89eL\xdcJC\x11,\xebY\x0f\xc0T\xf37\xb7\xeeod\xab\xfa\x06\x8f\xe5\x08\xad\xa0\x16<rC\xd5Y\x16b\xd6\xa7\xadJR\x9b\x90"\x1d\x0cDO\x14\xf9t\xd1\xd3\x91\x99+\xcf\xb1G\x0eCR\xb8\xe4\x18\xf3\xda\xa60\xca\xd8\x82\x90\xcbf\x9cvk\x08\xd27\xa4\xa5\xaa8\x91\xa7\xc84\xe6Zi\xaeO\x0ei\xdeT\x95Z\xae7\xd2[\xfa\xecC\xa9\xd5\xa8\xca\x98[\xd9\xa6\xd0\x896{\xa6\x12b\xf2\xb0\xa7\x1dT)\xb1\x9aD\xe5\x14%\xbe\xed\xa84\xe3F\xce\xea{\x07N\xcd=\xf2\xa8\xfd}\x8bs\x1c\x04\x14\xec\xef\xd9\x0e\\|\xc1\xc2\xa9\x10@\x8b\x0c~v\xb8 \xef\xebo\xef\xa3\x9e\x8b\x84\xf8JE\xb0{\x974\x10\xdf\xe7S\xc2\xed\xd7L\xdaxw~O\x18\xc4\x8d\xd5!,_~l\x1b\xba<\xaa\x0c,\x95By\x81i>\xb7\xa2\x82\x89\xd0\xe4I\xb5x\x81M\xd1`\xe4\xc9Y\xc5\xdd\xe9\xf5\x1eP6p\xe0\x1a\x1c\xb2W\x14?\x9b \x86\xa8\x18z\xc7q\xac\xbc\xde\xb8\xcf\xa6\xe2Gq\xc6x]i\x0cW\xd7\xa9\xd3\x0c\x7f\xab\xf1q\xc5\xd4R\x8d\xc4\xaf\\\xf0\xd8;V\xd2WG 5\xd5\xc8\xcc\xe1+\xec0g\xd8{\x8c\xdd\x87\xc9\xc6\x0f;\x91g\x91\xa1\xfa>\x1c;\x14\xd6\xfa\x92\x82\x91q\xf7\x9c\xd8#\xad\xbf6\xe1\xf3t\xf7\x8dE\xf2Gg\xbet\xccJT\x81\xe3\xc1\xcev\xd7%\x12\x1f&\nX\xfd\x00\x0e\xba\xc7 `\xa0+\tA\xf7\x05\xdf\x18\x07\xb2\x0c\x846\x98D\x950\xbf\x86yN~\xe9\xfa\xa7H\n\xed\xf7\xeaG\xe4\x03\x8b\xdf\x82\x13\xaf\xb5q\x0c\xca\x14\xbc\x06Q\xb3J\xc2dE\x8f\xcbrE\xc0\xe4(\x93\xc1\xec/9\x1a\xdb(\x17\xfcl\xe9H\xf7\xb4\xae\x92,\x89\x1b*&\xef\xe8\x0e\xe2\xc6N\x08\xe5\x85\xde\x81\xc2q\xc4\x84F\x99\x07K\xb0\x15\xe6\xfa6y\xcbu&\xa0\xa3JP\xffH\x974\xd0\x8a\x18\x8d\x0492\x86\xf5\xf6vc\xa9&\t5\xcep\xb3p\x11,\xdbk\xfe\xb7v\x95-;R\\\x8f\xad\x1a\xba\xe5\xf4\x89\x89u\xa5\xf4\x98\xe6lo\x19\xd9(\x89\xde\x90\xe1\x00\xcf\xc0\xf2\xbf1L\x9f\x99\x8e#\x87\x97\x1d\\\x15\x9a~L\xff\xbb\xdc\xb6\x8b\x15\xd5\x924\xea\xb7n\xe9\xe8X29U\x93\xc2\x83\x1e^oTRBu\xff\tbe~\xe3\xbfou2\xb0\x03\x9e\xea\x15BX\x8b\x9a\xa3\x85\xfd-!\x7fB(\xc4X\xa2\xbf\x1c\x06\xeb[)\x89\xfb\x99\x1d\xd9\x17\x04\xd2{`\xc8\xa8\xce\xc0\x84\x07(\xf3P\x95\xe8p\x13\xb6\x89Z#0V\xa5\xea\xa4\xa8y\xa6\xd9\x8c\xe6\xa9u\x96\xf9D\xdc\xb6f\xa7\t\x91\x96\xd8z"\n\xd3\xabz\x06\x8c{b\x95Y\x1e\xa6\xb7~\xc1\xd4\xca\x15\x8a_\x14\x00I+\xf2\xc1\xfd\xa7\xc5\x99VX\xc6\xbd\xba\xc3\x13\x8d\xb8\xb6?:\xd3\x006[U$\xce\x94\xcc\xaa\xd8\x1d\xdb\xcd\xea\xe7\xd5\x03\xe0,U\xa7\x9baR=d\xeb\xcb\r@\'\xea{$\xdb\x19\x96\x86\x9f\xcfo\xfcHH<\xce%b\x96\x1a\xc9\x9f."\xf3i\xbf\x8dw\xff\x06\x0f\x03\xd1 \xc8\r.\xf0Y8\x9c\x1c\xeb\x0e\nF@\xb7kTh\xd2yp ,\xdb\x1a\xa8\xc8\x18\xe8\xe4DRn\x16\x95\x81\xb0(\x99\xbdQ\x12\x12\xdfo\x96\xde\xa3\xfd\xb7\x14q\xea1\xf4\x1c\x05g\xc1O\xd34\x89)_8,\x12\xa5\xed\x98\xd4\xca\x8f\x9f2\x14\x99\xe5;\xef\x14\xe2\xc51\xc1\x08\xfb\xd5\xb3\xad\xed\xc6\x00\xd6C\xf9&YFG\x8b\xe2\xa9N\xea\x1cQ\xb6Z\xea \x85g0\xe7\xfc\xeaLw]\xc9\xb5`\\\xe6t-\x99U\xc8\xf3\x02\r\x1b\x19\x0f\x8ai!f\x02\xe2.\x90\xbc\x8b8d\xf7B\x15h}\x83\x18\x8f\x0e\xda\xd2+>#\x7f\xb5\r\xed\xe9\xd9\x14\xe0s6\xacyQ\xe8\xa5Y\xccu\x16":\x9b\xbcq\\\xc6v\x1e}hv\x14\xb9\xb9\n\x9a\xc8\xd2\x1e\xc7\x15qt}\x92\xdd\xb06%\x11\xb6\xee\xf7p>\xfa\x1b\x99!gB\xca,\x12\xf1\xed\xc6\x16r\xc4\x9b$q\xcc\x95\xc95 Z)\xd0\xe14\x0c\xb3#\x07\xbdy*\xa8\x08\xf8\xe2\xcf\x82#nu[\xb8[\xc7\xc0q\xd43\xc9}\xfb\xdb\xd1?\x16\x05\xac\xbd\x88\r\x8211\x99\xe8r\x1a%\x86\x96\x980\xdfe\xe2]L;\xeeQ_\xd3c\x02@\x8a\xa2\x9a\x84^1\xa8\xb9|Q\xd9\xf0^%j\x86\xc3\xe2\x94A\x85\x8a\x04\xf2\x08\xd1J\xe7\x17\x1b\xf9\x16h\x1b\xd9\xd0\x1d^\x04D2mn\x93\xb0\xf7\xfa\x95\xd0\x9aH\x11\x1e\x81KU\x05\xa70\t\xdal\xa2\xa5c\x8f\xc6\x1d>K\xd8\xfa\xf8u\xe1sd\x89\x96#\xd4?\xdek\xe6\x91\x08Nz\xa3\xff\x1e\x0bR\x9e\xb7U\x80\xda\xf6\x88\x83\xb1\xea\xef\x06gjN\x8a\xe8\xab\xce\x9c\x9f\xe2\xf3|\xd2\x1f\xdb\xd0\xc3\x13p\xc54\xc1\xe3\x8c-\x93H\xbf\x07\xc4\r\xd9%\xba\xcdNf\xe0\x0e\x15t\xc9\x1e+\x0f\x83\xda\xf9\t\xe7I8#\xe4\xabF\xa9\x8c\xfb\x87\xa1~\x1f#s{"E\x1f\xb6\xc8\x9dF\xcda\xb6d\xf5\x84\xe9\x96\xd17\xcav\xa3;F\xa9C\x93n\xfev\xe1\xc49\x08z\x8a\xf5\x96\x9fpZ\x86\xd4%Bd\x0c\x9b\xf5?G\x05\xb7U\n\xf6\xea\x06\xb1\xe2\xd8F\xefX\x8a\xbaVm\xf4%/x\xcf\n\x16#\xcf\x02\x18\xd9\xd6F0\xec\'\xaej\xa4\xae\xaaih\xc7\x97Uw\x89\xd0\xc53v`\x84t;r3', 'profiles': [{'acodec': b'', 'height': 640, 'vcodec': b'', 'width': 1280}]}} C:\Users\horn1\Desktop\python\36-readBittorrent>
关于py3-bencode 请参考 https://pypi.org/project/py3-bencode/
关于比特彗星文件格式请参考 https://blog.csdn.net/studyzy/article/details/11524131
【python】使用py3-bencode打开torrent文件的更多相关文章
- [Spark][python]以DataFrame方式打开Json文件的例子
[Spark][python]以DataFrame方式打开Json文件的例子: [training@localhost ~]$ cat people.json{"name":&qu ...
- 吴裕雄--天生自然python学习笔记:Python3 File(文件) 方法
open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() ...
- [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
- Python Cookbook(第3版)中文版:15.18 传递已打开的文件给C扩展
15.18 传递已打开的文件给C扩展¶ 问题¶ 你在Python中有一个打开的文件对象,但是需要将它传给要使用这个文件的C扩展. 解决方案¶ 要将一个文件转换为一个整型的文件描述符,使用 PyFile ...
- python下几种打开文件的方式
昨天看完了这本python进阶,感觉这本书对我启发很大,做了三张纸的笔记,方便我在遇到问题的时候翻阅,然后寻找可能的解决方案.作为一个使用Python一年的小白,虽然说不是小白,但是这一年来基本上是用 ...
- 根据python上下文管理,写一个在读文件内容前后自动打开关闭文件的程序
利用上下文管理实现读f文件前后自动打开关闭文件#在本目录创建f文件,内容写monkey代码如下 import contextlib #导入模块1 @contextlib.contextmanager# ...
- python实现调用摄像头或打开视频文件
目录: (一)调用摄像头或打开视频文件代码实现 (二)说明和补充 (一)调用摄像头或打开视频文件代码实现 1 # -*- coding=GBK -*- 2 import cv2 as cv 3 4 5 ...
- python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- python学习笔记五--文件
任何情况下文本文件在Python里均是字符串模式. 一.创建一个文件,并写入: 函数open(文件名,w) 二.打开一个文件,并读取: 函数open(文件名,r),“r”是默认值,可以不用写 三.使用 ...
随机推荐
- 【教程】新手如何制作简单MAD和AMV,学不会那都是时辰
[教程]新手如何制作简单MAD和AMV,学不会那都是时 http://tieba.baidu.com/p/2303522172 [菜鸟教你做MAD]Vegas制作MAD入门教程 http://tieb ...
- 少女花海自拍撞亡:自拍PK火车速度,没有赢家
心理学研究,自拍是一种自我强化的过程.人们都或多或少有着自我关注的倾向,即“自恋”.而人作为有思想的群体性社会动物,有着分享和交流的欲望.尤其是现代快节奏的生活常使人感觉“亚历山大”,自拍恰恰就成为释 ...
- Revit API取得全部元素
; ; ; ; } ; } ; } TaskDialog ...
- .NET开源分布式日志框架ExceptionLess实战演练(公开版)
一.课程介绍 在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间 ...
- 委托、Lambda表达式、事件系列04,委托链是怎样形成的, 多播委托, 调用委托链方法,委托链异常处理
委托是多播委托,我们可以通过"+="把多个方法赋给委托变量,这样就形成了一个委托链.本篇的话题包括:委托链是怎样形成的,如何调用委托链方法,以及委托链异常处理. □ 调用返回类型为 ...
- eclipse使用profile完成不同环境的maven打包功能
原文:https://blog.csdn.net/duan9421/article/details/79086335 我们在日常开发工作中通常会根据不同的项目运行环境,添加不同的配置文件,例如 开发环 ...
- Redis Nosql数据库
Redis是一个key-value存储系统.和Memcached类似.可是攻克了断电后数据全然丢失的情况.并且她支持很多其它无化的value类型.除了和string外,还支持lis ...
- Win8 Metro风格的Web桌面HteOS
前言 曾经天天折腾ExtJS,折腾累了.近期这段时间開始用jquery来做一些东西,发现还是蛮有意思的.可是做到最后才发现,原来做好设计真的很重要. 上图就是HteOS项目的截图,眼下正在开发 ...
- [Web 前端] td长度固定,内容过长,超过部分用省略号代替
cp from : https://blog.csdn.net/bsh_csn/article/details/51829103 html的table表格中td长度固定,当内容过长时,超过部分用省略号 ...
- python 多线程日志切割+日志分析
python 多线程日志切割+日志分析 05/27. 2014 楼主最近刚刚接触python,还是个小菜鸟,没有学习python之前可以说楼主的shell已经算是可以了,但用shell很多东西实现起来 ...