Writing docx Documents
Below is an example on how to use pydocmaker to write word docx documents from format templates and also automatically “replace” fields (MergeFields in Word or plain text) to be filled out in the docx document with text from python.
NOTE: Updating word documents and exporting them to PDF requires the win32com api, Microsoft Word installed and only works on Windows.
NOTE: Exporting word documents is unfortunately very slow, but hey… it works :-)
[1]:
import pydocmaker as pyd
import os
[2]:
# get a pyd example document to show the concept
doc = pyd.get_example()
[3]:
# some dir to write my example files to
os.makedirs('../exported_docs_examples', exist_ok=True)
To docx (no template, no dependencies)
[4]:
# as bytes
bts = doc.to_docx()
type(bts), len(bts)
[4]:
(bytes, 14123)
[5]:
bts
[5]:
b'PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xaf9I\x01\x99\x01\x00\x00\xd2\x07\x00\x00\x13\x00\x00\x00[Content_Types].xml\xb5\x95\xd1N\xc20\x14\x86_e\xd9\xada\x05\x12\x8d1\x80\x17*\x897j">@i\xcf\xa0q\xedi\xda3\xd4\xb7\xf7l\x93\xc5\x10\xddP\xe0f\xc9z\xce\xf9\xfe\xbf\xff\xdalr\xfdn\x8bd\x03!\x1at\xd3t\x94\r\xd3\x04\x9cBm\xdcj\x9a\xbe,\xe6\x83\xcb\xf4z6Y|x\x88\t\xb7\xba8M\xd7D\xfeJ\x88\xa8\xd6`e\xcc\xd0\x83\xe3J\x8e\xc1J\xe2\xd7\xb0\x12^\xaaW\xb9\x021\x1e\x0e/\x84BG\xe0h@\x15#\x9dMn!\x97eA\xc9\xdd;/7\xb2<\x9e&7M_%5M\xa5\xf7\x85Q\x92\xb8,\xea\xaa\xf8q0@\x11;&7N\xef\xd8\x1b|Y\xcbx\xb2\xee\x89k\xe3\xe3Y\x87\x04j\xa2\xfco\x1a\x98\xe7F\x81FUZ\x1e\xc9p\x99\x97\x91\xbbA\xcf\x19R\xeb<r\xe2\xc1hH\x9ed\xa0\x07i\x99)\xde0h\xf1\x06\xcbg \xe2\xf4c\xd6\x9dJ\xbfn\x05\xf4\x01\x15\xc4\xc8<[d\xdf\xe0\xed\x8e\x7fu\xe2J\xbb\x84\xc0\xbd\xc7\xf7\xd1\xa2\xfb]\xc4\x93\x85\x11\xf7N\x82\xf8\x9cC\xf3\x1c\x1d\xec\xa3\xc6\xf4k\xe6\xac\xb0\x90\xcb\x02\x8e\xbf\xf1\x16\xdd\xe9\x82\xe7\x9f\x02\xfa(X\xed`\x0fP]\'\rz\xc0F<\x042\xd0\x1d{+\xae0\xfc#\x81\xed\x1d\xaf\xa6\xff.YFB{\xf0\x96\x1b\xcc\xbe\xea\xcdY\xa7\x8f\x02Nq\xd2kn\xbf~K8\xba\x83\xb6b\xa5q\xfdF\x14\xda\xaa\xfb\x04Ql\xc9\xfb\\@$\x87t\x8a\xef\xd1\xa2\xfb]X\xd0F\x8ap\xaf\xc7\xe7\x99w\xab\x1d\x1f\xc6V?\xd9z\x9d!\xa2\xfeI\xcf>\x01PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xb7w\xa4\xef\xe7\x00\x00\x00\xd2\x02\x00\x00\x0b\x00\x00\x00_rels/.rels\xad\x92MN\x031\x0cF\xaf\x12y\xdf\xf1\x14\nB\xa8i7\xa8Rw\x08\x95\x03X\x89g&\xa2\xf9Q\xe2B\xb9=\x01!\xa0\xa8\x0c]t\x19\xe7\xf3\xf3\x93\xe5\xf9r\xef\xb7\xea\x99sq1h\x986-(\x0e&Z\x17z\r\x8f\x9b\xd5\xe4\x06\x96\x8b\xf9\x03oIj\xa2\x0c.\x15U[B\xd10\x88\xa4[\xc4b\x06\xf6T\x9a\x988\xd4\x9f.fOR\x9f\xb9\xc7D\xe6\x89z\xc6\x8b\xb6\xbd\xc6\xfc\x93\x01\x87L\xb5\xb6\x1a\xf2\xdaNAm^\x13\x9f\xc2\x8e]\xe7\x0c\xdfE\xb3\xf3\x1c\xe4\xc8\x88_\x89J\xa6\xdc\xb3hx\x89\xd9\xa2\xfd,7\x15\x0b\n\x8f\xeb\xcc\xce\xa9\xc3{\xe1`\xd9NR\xae\xfdY\x1c\x97o\xa7\xaas_\xcb\x05)\xa5Q\xa5\xcb\xd3\x95\xfe\xde>z\x16\xb2$\x84&f\x1e\x17zO\x8c\x1a]\x9dsIfW$\xfa\x7f\x8c>2_Nxp\x9c\x8b7PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\&m\xcf"\x0e\x0c\x00\x00_(\x00\x00\x11\x00\x00\x00word/document.xml\xd5Z\xebR\xe38\x16\xfe\xdfO\xa1\xcaVM\xf5T\x03\t\xe1\x16\xe8\xa6\xa7 \t\xf7\x84\x90\x10n\xffd[\xb6\xd5\x91%#)q\xcc\xd6V\xcd\x83\xec\xbe\xdc>\xc9\x9e#;\\\xa6i\x06\xe8\xe9f\'?\x12Y\xb7s\xfb\xceE\x8a?\xfd6M\x04\x990m\xb8\x92\x9b\x95\xc5\x85Z\x850\xe9\xab\x80\xcbh\xb32<\xdd\x99oT~\xfb\xfc\xeeS\xb6\x11(\x7f\x9c0i\t,\x90f#\xdb\xac\xc4\xd6\xa6\x1b\xd5\xaa\xf1c\x96P\xb3\xa0R&a,T:\xa1\x16\x1euT\xcd\x94\x0eR\xad|f\x0c\xec\x97\x88j\xbdV[\xad&\x94\xcbJ\xb9M\xf2\x9cmT\x18r\x9f\xb5J\x06f\x9b\xd8x\xb6\x89~\xed&\x9a\tjAp\x13\xf3\xd4\xccvS\x9b\x95\xb1\x96\x1b\xe5V\xf3\t\xf7\xb52*\xb4\xf3\xbeJ6\x8a]\xca\x9f\xd9\x8a\xc9S+&\x89\x98\xcd\xcb\x16k\xcf\xd8\x1b\x956[A\x9f#Y\xa0i\xf6\r\xf5\xa6\xdc\x7f\xc5\x0e\xb0\xca\x8e\xf5\xadxY\xfa\x8a=\x1e\x9a\xbeU\x0cV\x1c\x92<\x15\xe4\x9f\xdf\x11\xf8\xb8\x075J\xa8\x1e\r,\xd5\x96d\x1b<\xd8\xac\xd4\x97*\xd0\x924a\x9b\x15\xa3\x126\xcf\xa64I\x05\x9b\xb7lj+\xa4z\xbb8\xfd\x8c_=\xed~\x066\x17\x0c\xd6M\xa8\xd8\xac\xec1\x8a\x10\xae\xe3\xecO\xd5\xdbI\xee\xcbAx\xc3\xa4\xd4\x87\xfdS\xcd\x0c\xd3\x13V\xf9<\x00J\xa4]P"\xa7@\t\xd7Y\xb7Z\x17{<\x83\xee\x0e\xd7\xc6\xf6\xa8\xa6\x91\xa6i\xfc\x02\xea\xc7\x92\x91Di\tL\xcf\x91,f\x92\xecj\x16)M\x0641\x94dj\xc4H\xa8UB\xacVcO\xb0\x80\x04\x9a\xc1\xd0\x1c\x89a@\x8de@b\x9e\x18&\xc2\x07l?M\x94<6W\x17\xccr\xe4\x1d~\x9a\xa6\x14\xa2\xec\xff\xc6VVSi\x10\x0f,\xf8^\x06\xbe1\x97K\x90\xd0\x10\x0fD\xe7\xd2*BI\xac\xb4\xe6\xa0\x8b\xef \x18\xe7)\xd3\x82\xcb\x11\xd1\x0ezz?\xa8\xd7*\x7f\xd4\x85~\x88\xad\xd9\x9a\xca\xb34\x03\xc15\xe1\xf2\x8f`\xba%\xfcg\x1c/\x90=F\x04\xcd\x89*\xe4\xa7:Qc=/8\x00\xc2\xa3\xfeh\x8eP\xb0=\x0f\x11\x07\x82\x87\x96\x05nZ\x0c\x0e\x00*\x12\xdcZ\xe0\x1c\xc6|5\x16\x011\x8c\x15Z\xd4*\x93\xa0K!\xf29b\x04\x8fb+r\x12\x80\x0b\x04n\xbf\x80Ox\x00m/\x07\x82\xe0\xf4\xa6\xd0\xb9\xb1<\x0ca\x13\xdfE\xcd\x05r\n\x1b\x83A\xd0\xd5HF\x81*\xd5\x01\xecC\xc1(\x04\xa6\xfb\n\x84\xff\x8b\xf0\xe8\x15x\xf4\x9e\x89G\x03~"\xa3\x1f\x05E\xeb\x94\x04\xcaD}\x81\x1f\x069\x8a\x0bz\x0c\x18\x810\x0e\xa39x3&\x1a0\x1f\xa8;\xc1\x0e\xc1"p\xd7\x94\x83\x0e\xc7\xa0wbc\x804\x04\xfe\x94j\xd8%\xe36\x86.F\x0c\xbf\xc1M\\\x1b(Zl\x83k\xcf\x11\x07\xd3\x8cN\xd0D\x9e\x1a\xc3\xb8\x80Pe\x0c*\xdc8\xf3C,e\xc1\x02\xf9\xef\xef\xff>\x8f\xa9\xfd\xe5\x1fK\xeb\x1f\xd1&)DkX\x04\x1c&\xec\xb7\xff\xfe\xfe\x1f\x9ckc5\x06\xa3/\x90}\x8b\x96\x93n2\x88U\x84\x95\x82k\xad\x14\x90\xa5\x04\xe28\x80\x95\xc4c\x10\xc3u\x12*\x8a\xf5w\x08\xb3\n\xe4O\xa8\x10s\x0e\xac)\x03\x95\x15bz\xccf\x0c\xe2\x19\xb7\x06\x03\x95&!M\xb8\xe0T\x03]!\xcc\xc2\xb7\xc3\xec\xa3\xb9\xa1~\x97\x1b@\x03\xf3%\xfa\xe6A\x86\xf9\x02}\xf3\x88\xbey\xab\xe6\x1d\xfa\xe6\xb9]xQ\xcaXzA\xd0~\x0e\xfcA\xee\'D\xfc\x01\x99\x04\x0cjb\x951\xe7\xfe\x88\xcc\x10,\x04O\x80\x98\x02d\x94\x84`\x05\x00\x88\x031\xb6=\x05\x19&\x06\x03B\xdf8\xd5\x18\r\xe6\x88\xa6\x1cS7\xc6YF\'\xb9\x9b\x98\x8cC\x04&Ls\xb2!\xa8@\x05\xb0T8\xc8\xc6 \xae\x00\xd2\x1a\xa3\x14h \x03}\x187e\xc2\x99\xeb&F\x81\x93\xdc\xed\xe5\xa2J\x16s?v\x8b\xc1a\xb8\xc6|\x06 \x84\x1d\x02n\x10\xbc\xe8\x1f\x0b/\xc5\xc9\xe2\x1dN.\xd6\x18]]]\xacy\xcc\x0b\x16\xeb!]Y\xf1WV\xe9jcm}m\xad\xe6{\xf50X\tWj\x8d\xe5\x17\xe1d\xf9E8\x81\x05\x86d\x8c\x8c\xa4\xca\n\xef-\xf3{\xe9\xa4F0\x96\xa2\xb6c\xea\x81\xa3\xbc\n1M\x0c%\xbe+\x90`L\x8e\x932\x91\x8b\x89\x98M\xa9\xdd\r\xee\x07\xb3\xce\xc5Zmq&L\xb9\xeaybAb\xa2"\xa3\xb9c?\xb5\xb3\x0c\xe5\xf0\x03a,`\x7f\x1b1bp^\x00b\xc4\x10\xff\x04\x00\x07^\xfc\xde\xe5;D\x14\x95\xca":14\x06\x10\xd4H@\xf3_\xffV\xb2aX\xa7\xce\x01%\x86\x05*\xd0\xbb|\xa1\xfc\x11\x91P\xe9\xa2\xecem\xf57\x11\x0bsja\x14\x1f\x93\x08&\xc8\xa2j\x86X\x03V4hF\x10\n\x8ewO\x81p\x168\xda2\xb8\x176\xaaO\x8d\xd7\xffd|\xe9yA\xe4\xd5\xd1\xdd-D)3*m\x91\xd4\x01\xa4@\x1f\x04\xbe\x1es\x86e\x9c{\x94\x10<\xe1\x14\x07&\x9ds\xb8\x06\xf0\x1a\x83\x0f\x10}&\xe8\xb8\x02\x90\x01\r\x0f@=\n\xa9\xb1E!\xa9\xa4\xabL\x18V&\x12}Xc\xb0v\x9a\xa6\xae\xea\x9b\xc3\xe8L\xde\x03\x07\xe0\x15p^\xc5\x14\x00\xd6\xf0\x85\xf3\x9a_\xb1b\xc4\xc2f\x84\xc1\xcc\x16q\xafH\x83\xd2\x95\xee\xc8\xb9\xabDa5VN>\xe6#\xf85J\xba\xb4\tT}1\xc6\xdb\x08W\xf8j\xa8\xb0\x12\xaf\xcc4\xd4\t\x1eca+\x8a\xa2\x0b\x8e\xce\xc0i\xc8\x84u\x95\x08\xc6\x9d\x14\x8e\xbf\x048,\xd0QP\x85\xaa\x8bi\xa8\x83\xcc\xac\xa8\x1a\x0bWVA9C\xb3\x11f)"rd8U\x86\x17B\x169\t\xf1\xa3\t\xa8Q\x96\t\x14\xd4\xed1\x92\xc2\xe9\x18\xd4\xc4\x13\x1aqIu~\x0b=\x03e\x10\x9a\xa2\xd0\xa5\xb3\x92\x81p\x12\xe1&\xaa(\xbe!\xfe\xa3\xbe\x9cE\xa5\x85bHZj8\x14\xd8\x85Z\x00\x0f\xc1\x98b\xdd\x04\xf63<E\x00C\x99\r\xa2#\xeb~Le\xc4Hy\x14\x9a(\xd0\xbf#\x81\x01\n\xf9/\x84\x06MI7\x1d,\xc8\nAQ\xc5\x02\x96s,\xd0`T\xf9\xfe8uw\x1f\xd0\r\x9d\x12\xc0\x81\x13\xa1\x1cM\x98\xf69\xf4\xc2\x89n\xc2\x04\xd3P\xb3\xaa\xf0\x81\xf6\xd1t\xaeRu\x1a\xc7\x125\x803\xe9Se\xce\xa3\x19z\xf9.C\x17\x17\t\x16\x0b9P\xdc<*\x96\x99\x1fv\xd2\xdf\xb9\xa5\xe6\xcc\xb4\xef\xa8\xbd(J<\xb3Tx\xb5\x97;\x97\xc2S\x1c\xa0\x05\x80\x83.\x10 dJ=\xa17`\xd8\x9ep\x88\xe5x{\xe7\x81)\x13\x80\xbe~\xd5\xa5\xc5\x00\xaar\x9f5U\xc0\x1ec\xf1\xd13\xf0YI\xb3\t%\xef\xf3\x8e\xc1\xe1X\xba\xf8\x01g\x10K\x13\xa5\xd3X\x19\xf6\x1e\x8e\x16\x96FJB\xac\x9a\xa3p\xa4Q\xfa\xd7\x7f>v\x10\xf3\xf4\x8c\xc8_\xcd\x17j\x87\x87\xef\xc9=N\x16\x10\x94\x0b\xa1\x8b\xb4\x9b\x9b\x9b\xc4\xd5h\xf7\xca5\xf2\x0bM\xd2\x8f\xee\x8b\x14L\x17+\x04\xbd\xbf\xe0\x90\x86#Z\xcc\x7f\x0b\x99\xf0s_&\x932\x1f\xc3L\xc9\x1d\x97x\x8aw\xcd\x8f?\x9f\xb9\x7f\xfd\\\x92?\x99\xdcL\xfd?\xe6\xd8\xf7\xba\xfb\xb9\xd32\xa2\xe0}*\t\xc6I\x92\x93#z\xca.\\ yU\xd1\xb7\xad\x82\xfc\xb4\xbc\x90\xfd\x9e\xb0F\x89\xc5\xcc\xbf\xf1m\x1e\xac\'>\x17?\xa5\x88\x9ex\xc0\xc9)\xae/\xebK\x18;\x87~\x9b\xa7@\x19\x9cSa\x92\xc9\xee\xeaO\x18?\x82x\x0e\x9d\xce\xbf\xfb\n\xc6\xdcQ\x11\x9d\xd7=\xd5*\xb3\xc1\xa6\x12\xe3D\x96=8\xfe\xa0C\xaa\xbdmH\x1f\xb7Og\xf7\x9e\x8a\x92\xb7V\xaf\xcd\x94s\x9f\xf7]\xcd\x03lF\xf0\x0b;\x16\xfc\xd5W\x97g,\xbe\xac\xbf\xfa`O[\x10\xd1\xb7\xc40=BIP\xb2\xa4\xe4\xed\x9a\xd9\x14\xbf\xf8\xee\xe9\x82\xc8\xf3\x8a\xfc\xe7\x99\xbb\x0bA\xf1k\xab\xba\x1e\xffG\xd3\xde\x8a\xde\x8ct\x93\xdb\xfc\xdb\xb4\xabwF\xfa\xd1\x8c\x1c\xa8X\x92\x96z3E,\xd5\xde\x8ar\x97e\xe4R\xe9\xd1\xff\x87\x19\xa8dd\x90p\x1b\xbf\x95:\xea+oE\xf9H\x19\xb2\x05G\x16\xf1X\x81\xfd\x06\xb6\xe8\xe0\xdf&\xe8\x17p\xde|3\xb7x3k4\xe1P\x0b\xf5\xe0\x9fZ\xa2\xc8)\xdfY\x03\xbc\xee\x7f\x1b\x97\xcb\xc9\xe2\xc3j\xe0\xaf\xfb\xe7fV\x06A\xf9S\xfe\xa9\\T\x1f?\xa9\x00\xda\x92\xe5u\xc9WE\x90,\x8e\xa1OTA\xafc\xa4\xfc[\x1e\x9a\xe9\x06\x97\x82K\xe6\x9a0\x1bo\x1f\xfc\xe9f\xa5\xd1X\xaf\xd5\xa0\x96\xf0s\xa8*V\x96]\xbbZL\nC8#\xb4\x8b\xa9\x9e+m\x8a\x9b<\xed\xbe\xedmU\x95\xe2\xdb!\x00\xd8\x80\x19\x1f\xc6`\x88[\xc1\xb0\xe1N\xcb\xab\x15R\x1c\xf3{\xb3\x17\x0b`\x11\xddp\x15.\xf7\xef5[\xd4R2\xd6\xfc;\xdeY\xf8\xfc\tZ\xf8\xdeC\xd1\x90\x13\xa0\x89\xea\xc0\x07\xbf;\xb9c2\x00Z\x1b\xee\xa2\xa1\x9a\xca\xe8\xa3G\r[]\x9e\xe3g\xdb\xc7\xfd\xacv\xb8\x1b\xa9-\xf8t\x07\xc3\xb8=\x8c\xa0\xd5\xbe\xc4\xe7as\xcb}\xce\xb6\xa6\x83\x11\xfcn\xeb\xa1h\x9f\x9c\x9d,\xe7\x1f\x96N{\xc3I\xebd;\xdak\x1c\x07\xad\xe3]\xfaA\r;\xd1\xa8\xdeI\x83\xbd\xfd\xfd(\x1d\x0c\xf9u\xb3v|\xc8u4\xbd\xbch\x9c\x9c\xed\xf4O\xfa\xe9v\x7f\xa7q8\x88\xaf\x8f\xbch\xffr4l[\xd6\x8cv\xce\xc6\xd7\xc3\xf6\xd9\xb4\xbd?\x9a\x1c\xec\xc4\x94-%\x8dA\xfd\xd0\x1b\x8c\xfc\x9d\xedl=\xdf\xeb5\x1a\x1f\xd8\xc5\xd8\x07R\xa3\x93\xab\xea\x97A\xb2|\xd6\xa2\xfb\xf9z\xff\xb0\x99\x1eR\x7f\xbd{\x18\r\x97\xc7\xed\x83n\x16\xef\xc5\x87K\xd7\x93\xde\xf6\xd9qCO\xfb\xe7\xc9\xceEo\xe7Cw\xd0Y<<\xebx\x99\xe6[\x9d,nEg\xbe\x9e\xb2\xceU\xd2X\xd9\xed\xd7z\xf1d\xf7`k+\xc9\xd5\xcd\x81\xf1\xcc4\xea\xb6\xb9^\xe6\xed/\xfb\x87\xb5\xc1\xe5\xf5n\xd00\xc7\xfd%}\xb0\xb5\xdb\xado7\xdb\xa3\xe3i<\xed\xc4i\xd0\xe8\x8cj\xcd\x0b{E\xfd)_\x8cu\xbd\x96\xecW\xf5M$\xa74W<`\x13\x7fw\xbcwq\xda\xac^\xaf\x9e\x8c/\x07\x1d\xbb\xf8\xa5\xf9!\xda\xde\xe7\x9dh\xb1>\xa9O\xbc\x95\xae\x18\t\x08Q\xe72Nv\xae\xd2l2m\xed\xde\x8c\x877g\x8d\xd1q\xf4\xa1\xdb\x18\x0e\'\xdd\xedtuy\x92\xaf_/\r\xbbkQ\xeb"\xce\xce\x8f.\xeb\xb2\xd3\\\xba\xe9\xb7\xb8\x17\x9a\xcb\xb5\xecK{t\xb9\xb6\xde\x0c:W\xb1\x9e\x0e\xae\xafo\xa6\xe1\xf2U\xbfw\x91\xdd\x9c\x1fp\xddA\x94\xad\x1cf\xbc\xc7\xb6\xfay\xb4wq\xd8\xed\x9c\xec\xb5\xf3%\xddQi\xab_\xaf]t\xafv\xbd\x83\x9b\xa1\xd5Y\xabY=4\xb18j\x9d\xe7\xd7A\x12O\xafn\x9a&\xb8L\xc2zx~\xd5S\xd3f\xbb\x95\x87\xfb\x93\xc0vO\xf6j\xbd\xfeho\xf5de1j\xe8\x9d\xe3\xa5\x93\x9bi\\?\xf2\xf6\xad\xdfj\x1e\xa7\xc9\xf8\xd8\x9c\xadI\xdb\xa5\xed>[\x9aTE\xafzs\xdc\xc8\xe5r\xf7C\xde\xedi6Jz\x0eUm\xb1s:\x1a\x8cO\x92f\xb3\xf4\x9c\xb5\xc7<g\x06\xe5\x02\xd8\x14\xc1~\xa4\xfc\x11\xde\x026\xdd\xfd\xe0\x96\xd6*\xc3\x17\x00\x8c;\xdb\xdcv\xe3\x15\x80u]\x18\'\x1enS\xfd\xca[<\xc1\xd3\x1d.\x04\x92\xc06\xd1\x1b.V\x15/I\xac\x94Nl\xacf\xd6\x8f\xb1\x19\xc2\xe4>Pp\xbb\xdf\x1b\xa9>\xdc\r\x9f\x0c\x84(\xe2e\x1d\x15\xccNi\xb8\xc14\xd4\t\xfe\xe2?\xe8S\x17\\\xf2Y\x88\xa1\x18\xb1\x9e\nW\xd5\xbb\xe5)\x1c\xddv\x99J\x086\x80[`\xc9mO\'Gf\xc6\xdcl\x0e\xf6K\x85\x8c\x15T\x84$p\xb8Z_\x01\xf9\xfe8\x84\n\xc5+@\xf7`)\x17\xe5C\x15W\x95R\x9a\xf4V\x97.\x04U\x1f\x84\xb6\xfb\xcf\x18\xa8\xef"r\xf5^\xa0~$\xf4\xe3U\rl\xfc\xae\xbcV\x80\xe3\xa9RV*\xcb\xee:\t\xb9m|\xd5\xf1\xc9\xfd\xbb\xd2g\xa6\xbc}uI\x03\xaf\xde\x07\xcc\xbf{\x9f\xea\x91=f\x04\xab_S\xc4\xbe;\xb6\xf0\xa9x\xad\xcb\x89R\xbed\xf7\xf9\xdd\xff\x00PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xe7\x86\x0e\xdaC\x01\x00\x00\xeb\x05\x00\x00\x1c\x00\x00\x00word/_rels/document.xml.rels\xb5\xd4\xcbR\x830\x14\x06\xe0W\xc9d/\xa1Uk\xc7)\xedF\x9d\xe9\xc2\x8d\xa2\xfb\x14\x0e\x90\x81\\&9\xb5\xed\xdb\x1bz!\xb4\xe3\xc2M\x96\xf0\'\x7f>2!\x8b\xd5^v\xe4\x07\xac\x13Zet\x92\xa4\x94\x80*t)T\x9d\xd1\xaf\xfc\xednNW\xcb\xc5\x07t\x1c\xfd\x08\xd7\x08\xe3\x88\x9f\xa2\\F\x1bD\xf3\xcc\x98+\x1a\x90\xdc%\xda\x80\xf2I\xa5\xad\xe4\xe8\x1fm\xcd\x0c/Z^\x03\x9b\xa6\xe9\x8c\xd9q\x07\xbd\xee$\xf9\xc1\xc0\x7f\x1auU\x89\x02^t\xb1\x95\xa0\xf0\x8fb\xa6\xb6r\x03\xd6\xf3)Y\x97\x19\xb5\xebrBI\xcem\r\x98\xd1!L|/%,\x9a\xc2\xe1\xa1\x037\x10\xa6\x81pJ\xa2\xaf\x0f\x88\xfe3\x83\xe0~$8g\xb1\r;\xd8|\xde2\x1e\x02c\x14\xc7\x96TZa\xce7\x1d\x0c\x8e\xc7\xe0\x18\xc2\xd8\n\xf4s\x83`\x16\x04\xc7\xe0\x14O\xe2o\x85F\xa5qt6\x9f\xc6[q\x0ec+\n-\xfb( \xe6\x01q\xc9b\x1b\x84\xf4WS\xf8CG\'BB)8;\xbeLL\x7f\x91\xc4C4\xbe\xc9vB\xb5\x01\x92\x06\xc8y\x05P\xc9N\xb4\xc2\xf4\xacco\xff\xc4\xbe\xc1J\xa1.\x83\xdfu\xe9I\xaf{\x04\xab\xf8i\xdf\xd8\xd5\xad\xbd\xfc\x05PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\e\x8d\xd1z\xc1\x00\x00\x00=\x01\x00\x00\x1d\x00\x00\x00word/_rels/footnotes.xml.rels\x8d\x901O\xc40\x0c\x85\xffJ\xe4\x9d\xba\xdc\x80\x10j{\x0b \xddp\x0b*\xecQ\xe2\xb6V\x1b\'rrp\xfc{\x02\x12\x88\x93\x18\x18\x9f\xfc\xfc=?w\xfbs\xd8\xcc+i\xe6(=\\7-\x18\x12\x17=\xcb\xdc\xc3\xf3\xf8xu\x0b\xfb\xa1{\xa2\xcd\x96\xea\xc8\x0b\xa7l\xea\x8a\xe4\x1e\x96R\xd2\x1dbv\x0b\x05\x9b\x9b\x98H\xead\x8a\x1al\xa9RgL\xd6\xadv&\xdc\xb5\xed\r\xeao\x06\\2\xcd\xf8\x9e\xe8?\xc48M\xec\xe8>\xbaS )\x7f\x80q\xa9$\xddXV0\x07\xdf\x83\x1e\xfc\xaev\x1a\xad\xceT~\x12H\x9a7^9\x91g\xfb\xc5\xfdT\xf8B\x1aX\xbe\xcd\xc7\xe8\xebI\x0f\xe7B*v\x03\x83C\x87\x17\x7f\x18>\x00PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xc3[\x87x\x1a\x02\x00\x00R\x10\x00\x00\x12\x00\x00\x00word/numbering.xml\xc5X[N\xe30\x14\xddJ\xe4\xff\xc1q\x1b\xd2\x12\x11\x10B\xaa\x04\x1a!\xa4\xe9h\xbe\xd3\xc4m-\xf9\x11\xd9I\x03\xbflf\x96\xc0\xb2\xd8\xc2\xd8\xa1\x81\xa6C\t\xb6H\xda\x1f+\xf7\xe1\x9e{u\xec{\x92\xf3\xcb\x07F\xbd\r\x96\x8a\x08\x1e\x03t\xe2\x03\x0f\xf3Td\x84\xafb\xf0{>\xfb1\x05\x97\x17\xe7U\xc4K\xb6\xc0R[=\x9d\xc0UT\xc5`]\x14y\x04\xa1J\xd7\x98%\xeaD\xe4\x98k\xdfRH\x96\x14\xfaQ\xae`%d\x96K\x91b\xa5t&\xa3p\xe4\xfb!d\t\xe1\xc0\xec\x99,T!\x93\xb4\xb8+\x99\xd7z\xba\xc9bpv\xe6\xd7A\\\x91L{7\t\x8d\x81\xaf\x7fW\xc6\xe1A\xe3b%-\xc8O\xbc\xc1t\xfe\x98\xe3&\xa8\xb6Rc\xdd\x86\xd1\r\xd5>\xa2\x17\xbd\x03\xd8\x163cE\x93\xb0()\xc5\xc5{\xf0\x1c?\xbc\xf9\xbcw\xf3m\xda\x18)^6\xe1\xf9\xbd4\x0b\xe1\x06\xa3\xb1\xc7`2\xd2\xf8\xaah\x9d\xf0U\xdd\xc4q\xf8\x8a\x17n\xa3a\xbd\xdb>0\xd4?0\x14\x04.\xc8F\xfd#\x1b\xa1\xd0\x05\xd9x\x00d\xd3\xa9\x0b\xb2\xa0\x7fd\x1a\x88\x0b\xb2\xd3\xfe\x91\x05c\xa7\x13\x10\xf6\x8f\xec\xd4w:\x01\x93\x01\x90M\x9cN\xc0\xb4\x7fda\xf0\xc5\x13\x00[W\xf8\x17\xeewt\xe8~G\xc3\xdd\xef/O\xcf\xdf\x7f\xc3W\x91\xdc.3\xc1\x0bejW)!1\xf8\xf5\xc8\x16\x82\xd6\xb9W\xba\xee]C\xaaZn\xc2\xf5\xffdx\x99\xe8b\x9b\xbd\xe5\xf7M\x0f\xd1\xc3\xf48X\xf5\xb5(%\xc1\xd2\xbb\xc3\xd5N\xe9{VS\xff~\xa0e\x13l\x07\xd5\xcb\xd3\xdf\x1eF\xd5\xc16\xfc\xd1\xe1FV\xa9\x9d&\xb4l\xa6\x05\xed \xcb\x06\xd8\xceC\'\xf2wN\xc4\xe1\xd9o;m\x1d\xd8\xdf9m\x8f\xce~\xdb\xc1\xee\xc4\xfe\xce\xd1~D\xf6\xdb\xea\x07\'\xf6w*\x88\xe1\xd9o\xabN\x1c\xd8\xdf\xa9N\x8e\xce~[!\xe4\xc4\xfeN)4(\xfb\xff\xd7[\xbc\xd6Y\xfcU_!\xad\xa5\xf6\xdf\xb2o\xde\x94V\xf3\x12\r\xeb\xf8\x8f\x92\xd1g\xc9\xa8\x95\x0cw>\x0f\\\xfc\x03PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xc6\xce\xe4\x131\n\x00\x00\x97j\x00\x00\x0f\x00\x00\x00word/styles.xml\xed][w\xdb\xa8\x16~?\xbf\xc2\xcb\xef\x1d\xdfe\xb9\xab\xe9,\'\xa9W\xb3N\xa7\xe9\xd4n\xfb\x8cd\x1ck"\x0b\r\xc2Is~\xfd\x01]\x11F\x16\xe8\x92*m\x9b\x87\x066\x1b\xf6\xe5c\xb3ABy\xf3\xe7\xf7\x83\xdb{\x808p\x90w\xd1\x1f\xfd1\xec\xf7\xa0g\xa3\xad\xe3\xdd]\xf4\xbflV\xaf\xcc\xfe\x9fo\xdf<\xbe\x0e\xc8\x93\x0b\x83\x1em\xed\x05\xaf\xf1E\x7fO\x88\xffz0\x08\xec=<\x80\xe0\x0f\xe4C\x8f\xd2v\x08\x1f\x00\xa1E|7@\xbb\x9dc\xc3kd\x1f\x0f\xd0#\x83\xf1ph\x0c0t\x01\xa1#\x05{\xc7\x0f\xfaqo\x8f*\xbd="\xbc\xf51\xb2a\x10P\xd1\x0en\xd4\xdf\x018^\xff\xed\x7fz=*\xe1\x16\xd9\xd7p\x07\x8e.\tXMX\x87?\xe1\xb8.\xaaJ*\x93RT^!\x8f\x04\xbd\xc7\xd7 \xb0\x1dgCE\x80\x17\xfd\x83\xe3!\xfc~\xe9\x05N\x9fR\xec\x80p\xd5\x97\xce6\xac\x85 \xcb\xc0\x01R\x96=\xfbEB\x19\xe4\xc6\x0e\xfeG\x9b>\x00\xf7\xa2?\x9e\x9e\xd2\xae\x82b\xaa\x0b\xbc;J\xb5\xa8,\x17}\x80_\xad\x97\xbcH\x17}\xe8\xbd\xfa\xb2\xee\'\xfcq)\xed\xe2\xcd\x80\xb3C\\\xc8Y\x8a\x8e\xe0\xcb\x8c\xe7\x0b\xc6\x0b|`;\xa1$`G \x05\x06\xf5\x8b0\x8e\xcf\x8f\x93\xef\x94\xd5\x08~\x0bU#\x141\xeb\x08q\xd4\xf8\xe8\xe8\x11\xda\xf1\xdc`\xeal\xe1\xee\x03\xb2\xef\xe1vMh\xb3\x8b\xfe0\xae\xfc{\x15\xa2%\xabX\xc3\x83\xf3\xde\xd9n\xa1\x97\xd5}\xb9\xf9\x84\x1d\x84\x1d\xf2\xc4\xd5y{g\x0b\xbf\xed\xa1\xf7%\x80\xdb\xb0~\x10\x0b\x12\x82>j\xc5\xe4\xa3\xf3\x83\xf1\x84\xb57\xb4\xe5G6\xa2\xcb\xaa\xc8\x93OE\xf1\x01\x06w\x18\xf8\xfb~jC\x0f\x1c`\xe2\x83\xa4\xf9 \xa5\xfe\x1b\xc9\x1c\x8f7\x88\xbb\x16\x06O\x87\xbbD\xdb\xa7\r\xfcN\x94\x07d\x0c\xbd\x88#\x1b\xd3\x02T\xcb[\xafX(\xd7\xf1\xee\xf9\x1eX\x07W{\x80\x0b\x05\x17q!C\xc5\xc8\x0c\xcdmA:\xa7a\\\x1c\xe4Pq\xce\x04\xf61 \xe8\x10\x02B\xf4\xc1\xca\xc1\x01\xf9\x94\xdaA\xd54![\x8f\xe3+4Pf\xf5\xac\x89G\xcb\xe7\xe8J~=\xa3\xd4\x15:P\x03\xaa;:m\xaf\xa5\x85\xb6\x13\'\x06\xefCVRwa\xaa\xdb\xc6!.T\xd6,n\xad\x01\xdf2\xdf\xf0\xf0\x0e{\x17\xb1}t\x92\x18\x914\x1b\r\xcf\x9b\x8d.\x9e\xdb\xa4\xedp\xb8\x1c\rW\xd7\x8b\xbe\xbaY\xa3\xa9A\xe5\x82,\xce\xa7\x85\xcfG\x06\x0cp$\x88\x8f\xa7,\x1cz\x84\xeat\x04\xee:\xee\x89\xa7\xfec\'\x92\xd84\x86B,\xf3\x91\xb8\n\x16\xae\x81\xe0\x1f\xe9\x1a\xc8\xaa\x8b\xd6@F{\x17\xd7\x9d,\x83\\\x7f\xbc\xcc\xd9"83DJ\xb6\x04\xce\xf2x\xc3\x95C\x06\xe7\xf5\x04\x856-\xd1\tD\xcdU\x8c\xc2\x9e\x08\x14\x01\x8a\xf1"\x96\xc6\x14f\xd1\xb3\xc0\xd3\x01]\x19\xc4~ro\xa6\xbe[\x1f-\xa2\x15@2\x86B\xc7\x9d8C\'\x84$\xfd+D\x91Q\x93Q\xc4;\x1e\x84L\xccq\x1f\xdct,!\x05\xe3Z+\xc6\x81*\xf8\xc8\xf9:\x8dr\x91@\xb3"\x90\x8c\xcdb\x90p\xb4zS>\xef%\xc5Y\x9f059\xf1ep,\x83J\xc5\xb9_\xd7\x836r\x11f\xb6b-\xafX\xe1\xa2\xcf\x16\x9e\xd0\xb2a\xe5\xc6ay\xf9\xd2Hw\x19\xb3\x05\xfb\xe92\x10\x96G\xb2GX9z$\xcd\x9b\x8b\x1deI\xd7=\x84\xfeG\xd6\xc7@\xa8\xfc@S\x82@m1/\xd8T\x16o)u"\xf05\xddu)\xdb/j\xfc\xdbz\xe7\x10i\x05\x84E!\xbd\xbc8\xe1\xea\xd5K\x90\x93n\x9a\xb7\xb1<\xd5\xcdm\x02\'\xf9\x93\x82\xca\xb9\xabU\x14P\x86g\xdc7l\xd8}\xda\x9ektS\xd3\xa6\xcfB7q[\xf7\xa1t\xeb~~"5\xe6\x89\xec0\xc4\xb1\\\x07\x85v~R?\x10\xc91U\xb5\x7fA\'R\x1f\xe4\x97i\xc5\x83\x9e\xf7\x10\xb0\xf3\xd7\x91\xb2^\xfb\x88\xa17j\x14T|\xde\x92\x88T\x9e\xe6.\xce\xdbD/\xcb\xad\x83\xdb\xfc\x89\xd3\xc4\x100\x88\x8e\x84\xed\xb2?dI\xb3*\xae\x7f\xe8\xeeJ\x96\x95\x01\x9b\xc5\xcb,/[\xef\xc1\x96vq\xb9J\x13\xb3\xe1j:7F\xe2$L\xa8\xd33\xd3sZmz\xc6x\x19kCx\xdc6\x84\xc7\x9a\x10\x0e\xd2cd\x9e\'wf\xdcI\xc0\x8f\xca\x01?\xfaU\x01?\x19\x17\x03\x9e\xa3U\x00\xfcD\x1b\xf0\x93\xb6\x01?\xf9\r\xf84\xd7\xd0\x05|\x1b{\xe8\xba\xe0mn\x9f,\x82w\xaa\r\xdei\xdb\xe0\x9d\xfe\xb4\xe0\x9d\xe6\xc0k\x96bw\xf2\xdc\xd8u\xf2\xa5\xab\xa0ydW\xc0\xe8L\x1b\xa3\xb3\xb61:\xfb\x8d\xd1$Y|\x91\xf1\xb5\x02\n\rm\x14\x1am\xa3\xd0\xf8iQ\x98\x03\xa1\xb8W9\x05\xe1\xac\xfb\x81R\xef\x18\xbd\x02>\xe7\xda\xf8\x9c\xb7\x8d\xcf\xf9o|F\xc2H_\x9bx\xee \xd9:\x02Mm\x04\x9am#\xd0\xfc\x99\x11x\x1es\xf3\x97\x19\x13\xaf\xcd\x14\x91\xe39\xfb\xa9\x83\xc8\x856"\x17m#r\xf1\xeb"\xd2\xecj\x14\xac\x85\xb93\x0f\x8a\xf2\'\xe8\x8a\xaf \xbcO\x0e\xf6\x9b|\x07!{\xbc\xa0\x0c\xbc\x17\xf4\xfaQ\xb7\x0f\xc8\xcb\x012\xae\x04\x90q\x0b\x00\x19\xd7\x8dL\xbf8j\x9a;e.G\xcd\xa4\x12j&-\xa0f\xf2\x83P\xd3\x89\xa3\x04\x01\x01\xcf\xf2JS\xfe\xa4T\x13\x01\xd3\x16\x100}\xa1\x08\xe8\xc6\x81g\xb9\xa7g\x95<=k\xc1\xd3\xb3\x17\xea\xe9\xee\xf8\xd2\xa8\xe4K\xa3\x05_\x1a/\xd4\x97\x1d8}+w\xf3\xbc\x92\x9b\xe7-\xb8y\xfeB\xdd\xdc\x11G\x9a\x95\x1ci\xb6\xe0H\xf3\x85:\xb2\x03\'C\xe5n^Tr\xf3\xa2\x057/^\xa8\x9b\x9f\xf7\x88\xef\xd2E\xf6\xbd\xde\xddX\xc6Qv9\xb6\xca\xdd\xcf\x12\x1fi\x9c\xd6\x95]\xa9-~/7\x9aZ\x1e\xf3\xfb\x8e]t\xfd\x10\xde-\x8cn\x16\xc2\x1d\xb5\xfa4zu\x06;w\xfb\xa4tz\x1aWj\xf5\x15B\xc4C\x04j\x19>a\xd2\xbf\x98\xcc[>?t\xc3\xd6WV\\\x1fv\xa9\xf6J\xf8+\xd2\xf2\xd9,\xd1i\x1c\x16\xdc\xca\x97\x07Y\xc5P\x1e3g7\xc3{b\x8cV>\x83\xd7\x14{\x03,\xfe\xfe\x07\t\x8bR\x19\xe3\x96\x85\xa8\t\xe9\xa7\xd3\xa7\xee\xc3\x03b\xb99 \xd0\xf2M\xe8\xdaH\xe0\xed\xf7\xf0\xb0\xed\xf1\xe4\xec\x9f\xb6\xbb\x82\xae\xfb\x17\xc8_W$\xc8/\xe1\x8d\x96D\x8a\x13I\xbb\xd1\xd0\x14[Z\x88\xd0U]\xa5\xcf\x10n\xa5\x9d2\xff\x89\xb2\xc7u\xdc\xd3\nZ\n\x13\x89O8\xed0\x84\xfag\xf4\xd8\xcf\x1bA\xb8\xae\x99]va*\x8a"\xaa\x19w \xf1\x8a\xf8u\x93\xc2qB\xee\xfc\xeaOl\x81\x99\xd8\x97\x08o!\x0e\xb2\xda\xbc\xad\xc3\x8e\xd9\x17Y8D\xa6\x9d\x9f2S\xd6\x87\xa5\xeb\xdc\xa5X\x8d:\x12\xa5J\xc5\x885\x8c-\\1\xa7\xa3s\xda\xf1\x1c\xf6\xd9\x99\r\xc4\x07\xf5\xbbk)[/\xe2\xab\xb8Te\xfd\xb4\xfd\xa8M\xf1\x9aT\xbd\x0c\x99WG\xdb\x92\xaaF,]\x81\xaf\x80\xaf%B\xda^\xc3\x89*\x1fB)[\x1b\xc7\xb9\xb5Q\xd5UN3\xae\n\x17\x02]K\x85L\xbdr{IZ\x9c\xc7t\xbd\xef\xbc\xdc\x1c\xc0\x9d\xb6.!\x93\xb6.\x95\xbeBsw\xc4\xea\xb77\x93\xe6\xf5&\xc3\xb9\x0f\xc8D\n\xc1\xad\xa6`)_\xafT\xc4\xd3\x06m\xba??\xff\x14\x93\xb9\xf4\xfbGM\xee\xcb\x85=_\x05]\xbeBl\x01\xe2\x1c\xb4tI\x98\xcaT)\nT\xe7\x9e\xb5\xb2\x0f\x08y\x01rA\x90>.\xe5\xab\n\x9em5\xf5\x04s\rm\x86\xb9\x8f\xc7\x83\x055>\xce\x10q\xf5\x126\x1d\x83(\xef\xef>\xc3\x1d\xc4\xd0\xb3\xa1\xb2X\xe9\xfe\x8ec\xad\xe9\xab\x07\x88I.g\n\x8e>M\xaal\xec\xf8D\xc7\x05\xd9\x19\x17U\x043H\xab\x1fpe\x1c5\x95)y\xf2\x12\xbdQ\xb12G\x97\xd7\x95T\xdb\xdc^\xc5\xe7f\xea\xeb\xdd\xedU/\xe5)\xd4N\xf6\xce\x8c\xfeI\xd0\xa4\xe9-x\x92Xp\x9f\x8d\xa2\x85\xd9")\x14}C\xea\xf4}\xac\x85bj\xf2C\xdf\xd2\xb0\x12i\x85-\xa6\x95=V\x17(\xd5\x9e\xf4M\x8c\xd9jQ\xf6\xa4\x8f\xc3\x9f\x08\xb4\x92\x80\x87\x8e\xd8\xa6\xc2l\xe9\xfe^\x8cj!\xa9\x17\xd2\xe8\xe8\xe7\x12\x03aY\xca/*!\x999\x91\xfe\xc7\xbe\x9c\xf9\x8d\x8a\x95\xb4D\xbb]\xd8 vs\xa6\xd1\x89BYT8\xaf\xd0\x7f\xe1\x13\x1bd\x83\xeeO\x14\xe2HR}$b\xe3Hl+*%\x0e\x8c\xcf\xaf\xe7\xc3\xe8{\x01\x89K\x1a\x90\xfe\x1a\x10\xb0\xa1\x1c2\xf1y\x9a\xa6\xfc9\xc1\x17T\xeca\xe3\x82C\xfb+p\xa5b\xa7\x94:BO\x87\x80\xda\xbba\xa1/\xa9(\x1fe2\xa7\x84\xce\x89\xbcr\x11 2\x91SB\xe7Df\xc9\x1b\x01\x9eTj\x9eVGp\xd3\x1c6\x8fi6\xa6T\xe8\xb8\xbe\x9e\xa5\xe7\xd4\xd6\r\x0b\xbc\xf6\xa1\xed\x00\xb7Hn\x81\xdc=\xf1\t\xa6\x99\x84T\xf2\x94\xd29\xa1\x93\xb1\x8b\x85?m\xd19%bd\x9cq\x80\xd8\xa0\x8e\n\x96e\x18\xa6\xd9\xb0\n7\x07\x1fai\x8c\xc9(\x8d\xac\xfaf\x0b\x81\x06\x1d\xd8g\xc9\xe5\x012%iJ\xefH\xa47(t\xac\xc6\x97\xfe\xf8\xab\xea\xe1\xc7\xd4\xa5\x19\x80\xd8\xa0\x01M,0\x1e\x8dG\rk\xb2\xf4\xe8v\xb9P\x8d<\xb5\x1a\x96\x9e\xcd)1n\xbe\x16\xac`9j\xc7U\xb9\xa5\x1b#\xa9\x16)\xa1N0j%\x8d_\x1d=\xbb\x08F<\xad\x96\xe0\xc6\xd8\x9c\xc3\xa6W3\x80\x1dv\xe6.]\xc78Z\x1d\xc1G\x8b\xd1|n7\x9fd\x12\x8c\\\x9a\x05?\x16\xe4\x99<\xb9\xab\xdb\xbf[\x1fb@\x90\x1c\xed\x1c\xad\x8e\xf9\x8d\xf0_\xd3;\xa9\xa3\xe3\x92\x1b)\xde9R\xbdy\xda\xc2\xc2\xfb\xee;\x81^P0QsD\r\xd1c\x11k\x8a\xf6\t\xc3\xf8O\x8c\xc8\xe1 \xd2k%d\xf6\x1c4n\xdb%\xa1\xc9\xa2u$\xd2X\x92#\xd6\x11}\xbe]\x0c\xc7\x8b\x86E\xff\x0c\xef\xa8\xdb\xff\x02\xf8^\xbe\xf0\x88\xf4g\x07\xc7\x8d\x17\xfd9\x9a\x02\xe4\n\xe4\x8e\xaf\xef\xdf\x00\xf6\n\xb6\x1d\x1c\xa9\xe3J,](\xdf}\xa4\x84\x06\xd6\x9c\xdd\xae\x85S\x8ew\x18\xcb#LJ\xe8\xaa\xe4\xd1\xf9\xb3L\xf4\x8cRyj&\xbf\x05o\xff\x0fPK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xbc\x00\x13i\x16\x01\x00\x00K\x03\x00\x00\x12\x00\x00\x00word/footnotes.xml\x9d\x92\xc1n\x830\x0c\x86_\x05\xe5NCw\x98&\x04\xf4R\xf5\x05\xb6=@\x14B\x89D\xe2\xc86d{\xfb\xa5\xb4l]\xd5M\xa8\x17G\x96\xfd\x7f\xbfl\xa7\xda}\xb8!\x9b\x0c\x92\x05_\x8b\xed\xa6\x10\x99\xf1\x1aZ\xeb\x8f\xb5x\x7f;\xe4/b\xd7T\xb1\xec\x00\xd8\x03\x1b\xca\x92\xc0S\x19k\xd13\x87RJ\xd2\xbdq\x8a6\x10\x8cO\xb5\x0e\xd0)N)\x1ee\x04l\x03\x826D\x89\xe7\x06\xf9T\x14\xcf\xd2)\xeb\xc5\x05\xe3\xd6`\xa0\xeb\xac6{\xd0\xa33\x9e\x17\x08\xf7\x0b\x04\x1f\x85\xa0\x19\x14\xa7\xc1\xa9\xb7\x81\x16\x1a\xd4bD_^P\xb9\xb3\x1a\x81\xa0\xe3\\\x83+\xcf\x94\xcb\xb3(\xa6\xff\x14\x93\x1b\x96\xbe\xb8-V\xb0OK[\x14j\xcdd-\xaa\xf8\xc7z\x83\xd5\x0f\x10\x92\x8aG\xfc\x1e/\x86\x07\x18\xbfO\xbf?\x17\xc5\xf5O\xcab\xc9\x9f\xc1\xd4B\x83g\xeb\xc7\xf9\x12\xaf&(T\x0c(R\xd9\xb6\xb5(fM8\x05<\x85\xbb\xcd\x99l*97\xc8\xb9W\xfe\xb8\xdcu\xa4[\x97|{cC\xab\xd0W\t5_PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\x1fn\x03\x13\xd9\x00\x00\x00q\x02\x00\x00\x11\x00\x00\x00word/comments.xml\x9d\xd1\xc1\x8a\xc3 \x10\x06\xe0W\t\xdeS\xd3=\x94E\x9a\xf6R\xf6\t\xb6\x0f \xc64B\xc6\x91\x19\x13\xf7\xf1\xd7\xd2X\xe8\xa1%\xe4$2\xf3\x7f8\xe3\xf1\xfc\x07c5[b\x87\xbe\x15\xfb]#*\xeb\rv\xce\xdfZq\xfd\xfd\xa9\xbf\xc5\xf9tL\xca \x80\xf5\x91\xab\xdc\xefY\xa5V\x0c1\x06%%\x9b\xc1\x82\xe6\x1d\x06\xebs\xadG\x02\x1d\xf3\x95n2!u\x81\xd0X\xe6\xcc\xc1(\xbf\x9a\xe6 A;/\x16\x06\xd60\xd8\xf7\xce\xd8\x0b\x9a\xe9\xfe\x82\x82\xc4\xa1 \xb4\x15!;\xea\x98\xe7\xe6\xc1\x05.\x1a\xb6b"\xaf\x16\xaa\x06g\x08\x19\xfbX\xe7\r\xa8\x87\xb2\x1c%1\x7fJ\xcc0\x96\xbe\xb4oV\xd8\xf7\xa5\x95\x84^3YG:\xbdYopf\x83\x90Sq\xa2\xe7x)l0^\xbf\xfe\xf2(\x8aJ\x9e\xfe\x01PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xee\xb7?\xdf\x1c\x01\x00\x00G\x02\x00\x00\x11\x00\x00\x00docProps/core.xml\xa5\x92\xcdN\xc30\x10\x84_%\xf2=q\x9c\x8a\x82\xac$=\x80z\x02\t\x89"\x107\xcb\xde\xb6V\xe3\x1f\xd9\x0bi\xdf\x1e7iS*\xf5\xc6\xcd\xeb\x99\xfd<k\xbb^\xecM\x97\xfd@\x88\xda\xd9\x86\xb0\xa2$\x19X\xe9\x94\xb6\x9b\x86\xbc\xaf\x96\xf9\x03Y\xb4\xb5\xf4\\\xba\x00\xaf\xc1y\x08\xa8!f\xa9\xcdF.}C\xb6\x88\x9eS\x1a\xe5\x16\x8c\x88Er\xd8$\xae]0\x02S\x196\xd4\x0b\xb9\x13\x1b\xa0UY\xce\xa9\x01\x14J\xa0\xa0G`\xee\'"9!\x95\x9c\x90\xfe;t\x03@I\n\x1d\x18\xb0\x18)+\x18\xbdx\x11\x82\x897\x1b\x06\xe5\x8f\xd3h<x\xb8i=\x8b\x93{\x1f\xf5d\xec\xfb\xbe\xe8g\x835\xe5g\xf4\xf3\xe5\xf9m\x185\xd76\xa2\xb0\x12H[+\xc9Qc\x07mM/\xcb\xb4\x92\x01\x04\xba0nOE\xba\xcd\x1d\x1cz\x17TL\xcaUu\x9ah\xf4\x82\xcaR\x12>\xe6>+\x1f\xb3\xc7\xa7\xd5\x92\xb4UY\xcd\xf3\x92\xe5\xd5\xfd\x8a\xcd\xf8\x1d\xe3U\xf5u<\xe6\xaa\xff\x024\xe9I\xd7\xfa\x1f\xc43`L|\xfd\x1b\xda_PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\4\xc4.pj\x01\x00\x00\xe5\x02\x00\x00\x10\x00\x00\x00docProps/app.xml\x9dRMo\xc20\x0c\xbdO\xda\x7f\xa8z\xa7)l0\x84B\xd1\x04\x9av\xd8&$:8G\xa9\xdbF\xb4I\x94\x04\x04\xff~N\xbbv\xdd\xc7i=\xd9\xef\xf9=;v\xe9\xeaRW\xc1\x19\x8c\x15J.\xc3q\x14\x87\x01H\xae2!\x8be\xf8\x9e>\x8d\xe6\xe1*\xb9\xbd\xa1[\xa34\x18\'\xc0\x06\xa8\x90v\x19\x96\xce\xe9\x05!\x96\x97P3\x1b!-\x91\xc9\x95\xa9\x99\xc3\xd4\x14D\xe5\xb9\xe0\xb0Q\xfcT\x83td\x12\xc73\x02\x17\x072\x83l\xa4{\xc3\xb0u\\\x9c\xdd\x7fM3\xc5\xfd|v\x9f^5\xfa\xe1\xbcA@\x0f\xcad6\x99\xdfQ\xd2F\r\xb8+\x99\x81\x0c\xd5I\xce*\x0b\x94|\x01\r\xff\x8c\x06\xa6\x12\xf2h\xd7%\x93\x05d]\xddo\xa2\xa9\x7f\x11\x12l2\x9eP\xd2F\r\xf8\xa8\xf5\xbe\xdd(2Q\x8c\x1f%\x03\xac\x13\x1e\xed\xbbN\xd5\x869\xe8\x9a|\x07;\xafJp\xe6\xbc\xf0Up\xa3\xac\xca]\xe0_\x14x\xef\xa8\xb5\xeeK\x1a\rNh\x18w\xd8\xee \\\xb9\xd3\x8c\xe3dS\xbf\x89?\x99F\x93B\xad+\xdf\xf5\xcd\xef\xba\x8a2\xe5jJz\xb4\xa9\xc1-\xed\x80\x9f\x8cp\xd7\x04\xfb\x0e\xd3\xd6C9V\xa5\xa2\x86d\x86\xd2>i\x17\xcfY\x05k<R\xbf\xf8\x1e\xf81sr\xff0\x1dN\xda\xf2[L\x0b\xc3t\x89\'\xa5d\x90}\xb2\x85?\x83\'\x8a\xe6E\x18\xf5\xffW\xf2\x01PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\x1ay%\x8d\x88\x00\x00\x00\xd4\x00\x00\x00\x13\x00\x00\x00docProps/custom.xml\x9d\xce\xc1\n\xc20\x10\x04\xd0_\t\xb9\xb7\x89\x1eDJ\xd3^\xc4\xb3\x87\xea\xbd\xa4\x9b6`\xb2!\xbb-\xfa\xf7\xa6\x08~\x80\xc7a\x86\xc7\xb4\xfd+<\xc5\x06\x99<F#\x0f\xb5\x96\x02\xa2\xc5\xc9\xc7\xd9\xc8\xfbp\xad\xce\xb2\xef\xda[\xc6\x04\x99=\x90(\xfbHF.\xcc\xa9Q\x8a\xec\x02a\xa4\xba\xd4\xb14\x0es\x18\xb9\xc4<+t\xce[\xb8\xa0]\x03DVG\xadO\xca\xae\xc4\x18\xaa\xf4\xe3\xe4\xd7k6\xfe\x97\x9c\xd0\xee\xef\xe81\xbc\xd3\xee\xa9\xee\x03PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\xfd1j\xa3"\x07\x00\x00\x8f-\x00\x00\x15\x00\x00\x00word/theme/theme1.xml\xedZMo\xdb6\x18\xbe\x0f\xd8\x7f tw-\xc9\x96?\x8az\x85?\x9b\xb5I\x1b4n\x87\x1ei\x99\xb6\x18S\xa2@RI\x8d\xa2\xc0\xd0\x9ev\x190\xa0\x1bvX\x81\xddv\x18\x86\x15X\x81\x15\xbb\xec\xc7\x04h\xb1u?b\x94\x9c8\xa2,SnZ\xb4Y\x97\x18\x08,\x92\xcf\xc3\xf7}\xf9~I\xd6\x95\xab\xf7}\x02\x0e\x10\xe3\x98\x06-\xc3\xbad\x1a\x00\x05.\x1d\xe3`\xda2\xee\x0c\x07\xa5\x86\x01\xb8\x80\xc1\x18\x12\x1a\xa0\x961G\xdc\xb8\xfa\xd9\xa7\x9f\\\x81\x97\x85\x87|\x04$>\xe0\x97a\xcb\xf0\x84\x08/\x97\xcb\xdc\x95\xc3\x90_\xa2!\n\xe4\xdc\x842\x1f\ny\xc9\xa6\xe51\x83\x87\x92\xd7\'e\xdb4ke\x1f\xe2\xc0\x00\x01\xf4%\xed\xad\xc9\x04\xbb\x08\x0ccJC\xd2\x03p\xb2A\x9f\xc8\x7f\x81\xe0\xc9`2\xec\x12\xb6\xe7&{\xa7\xb1\xc6\xf1\x82d\xc9xf-/\x93\x01>\xe7]\xc2\xc0\x01$-C\xca0\xa6\x87Ct_\x18\x80@.\xe4D\xcb0\x93?\xa3|\xcaRVi$\t\x11\x85\xac)\xc6A\xf2\x97aLS$r\xda\x19F6\x1d-)\xcd\xbe\xdd\xa8Z+2\xd9\xaaL:\x86~#\xfe\xac\xc8\xa00@\xd7\x95\xf6\xcdj\x96f\xb1\x9c\x9a\xd9\xb03,Y\xd8\x92I+O\xb3nU\xf2\x99rd\xaa\xe8dj\xd6:v5\x97\xa9\xb2\xcaT\xd5Yy\xd0\xec\xf7\x9c\\\xa6\xea*\x93\xa3aj\x9bv\xa7Y\xc9erV\x99j\x1a\xa6j\xbf]\xb7\xfb\xb9L\xb54\x93Gp0\xd3\xf1\xd4\xea\x8dF-\xc3\xa3\x82$dB\xc9V\x01Q\xb3V3\xeb\xbd\x0cQ\x06\x17\x0f-c\xf34\\\'4\x10E\xf1\xea\xc3}\xca\x06r\xa1*\x02\x81\x02\x07@\xccC4\x81\xaeD\xb6CA9\xe8a\x1e\x1287@\x08\x03\xca\xe5\xb0i[\x96\x0c\xde\xaai/?i\xcfH\xa8\x10L\xf1d\']\xae\x99\x8c\xe5\x07\xdce8\x14-\xe3\xba\xdc\xd3H-~\xf9\xe2\xc5\xd1\xa3\xe7G\x8f~?z\xfc\xf8\xe8\xd1\xaf`\x1bO=\xa1e\xd8\x82\xc14\xcd\xf0\xfa\xa7o\xfey\xfa%\xf8\xfb\xb7\x1f_?\xf9\xb6\x08\xc9\xd3\xc8W\xbf|\xf5\xea\x8f?7\xdbR(B\x7f\xf7\xec\xd5\xf3g/\xbf\xff\xfa\xaf\x9f\x9fh\x81m\x06Gi\xe0\x10\xfb\x88\x83\x9b\xe8\x10\xdc\xa6\xbe4\x84vS4bg\xc5\x0e=\x88\xd3\xd8v0\xe50\x801Z\x8b\xeb\x0bO\xc1\xdd\x9cC\x02\xb5\x88\x0eRO\xe3.\x93i\\\x0f\xb9\x16\xed+\x8a\xedy,\x12X\x0b\xb9\xe1\xf9\nd\x87R\xd2\xa1\xac\xc0\n7bI\xd2\x16\x8c\x82i\x91h,J#nCx\xa0\x97\xac\x9b\xf1\xa9~\x14\xcaH\xc5\xfam\xba\x1eR\xd4\xd9%\xd2\xc1\xe0\x14\x05H\x80x\x8e\xce\x10\xd2\x12\xdc\xc3X9\xa7\x1d\xec2\xca\xe9D\x80{\x18t .0\xe7\x10\x8fD>|\x0b\xfb\xf2\xc4\xe7z\xf1\xa5w)v\xdd\xb9\x0b:\x94\xe8\xb7\xec\xa1\x03\x15#\xa3\x18\x12\xfd6\x88(\x87q\rF\x02\xfa\x05\x9aA\x9f\xa41\xdbPxze\xf6\xe6\xccU\x0e\x90\x0b\xe9WSD(\xe8\x8f\x11\xe7z\xf4-6W\xd4\xba\x01e>/p\xb2\x1d2\xf7U\x0c\x13x\xa6\xc7lCJ\xd3\x98\x1e\x9du=\xe8\x87\x05\xba\xe1\xc0K\xa3>\xe73\x198\x10\xecRQ "U\xa3:\xbe\x96\'\x0c\x83\r\x9c\xeb.F\xe2\xacy\xeb\x8eL\xc5\xf9\x8e\x19\xcfDL\x1f\xbc\x88\xaayeN&\x10\xe97l3_)Gm\x86\x0b\xbc\xb2\x13M\x95\xd0\xdbF\x88\xc0C8F\x08\xdc\xf9\\\x8f\xa4!\xcdW\xee\xba\'\xb3\xe8\x16\xd2\xdb\xf5:T#(\xbe\x0e\x10\x97=\x7f\xdc\x88k\x9d\x07s%\x90\xf6\xd0\x94\x16J\xbb3\xcf\xa4\xdc9\x0c|\xc8\x8aw\xbb9S]\xb5?b2\xa9\xe8\xa3\x88\xb83\xa5\xec`\x16\xa7\xa1"\x11oq\x1f\xbe\xe1N\xbb\x1eT\x1c;\xbe\xe6EQ4g\xc1\xd93\x84D\xef\xbf\x15\x1a\xbd\x05Z\x96\xc83\xd8u\x08\t\xcaw\xd4!\xc4`[_\x9a$8\xca\x07\xc7) !\x88\n\x18&j\xf2Y9\xd6\xb8O^mx\xe3.\x18\x07\x1bw\xc1\xe7\xa5\xfb\x95]\xe4\xcb\x1f\x9e\xbe\xd7\x8e\xf7\xfd\xf4\xba\xc5\xa94\xdb\xe1\x16#\xb2}m\x97\xb21\xfex\xda\xda\x1e\x8c\x82]$k\xf6EW{\xd1\xd5^t\xb5\xebt;\x0f]mq\xae\xba\xe8e/z\xd9\x8b^\xf6\xa2\x97\xdd\xa0\x97\xcd\xb4\xad\x8bG\xc3\'\x0f}S\x0f\x82\xfd\xc2\xe7\xc0\x13L\xc8\x9e\x98\x13\xb4\xcd3M0\x97\x99n<\x90\xd3\xa9\xe1\xc5DB\xb9|P\x1dz\xf2\xab\xaaS9\x1f-\xb1S\x06\x93Q\xc0\xa8\xf8\x02\x0bo\xcf\x83\xa1\x14\xcc2\xb2\x9bL\xb9*\xd0r\x18\x84\x94\xcb\x16\xdc\xc8\xcc\xad\x97le\xe1\xa2\xc5\x8f\xfc\x1d:>\xfee\xc3\xca\xfc\x12\xa5\x92Bq\xba\xd2t4+\xe5M\x83X\xac\xab\xd5\xf3\x97%\x969\x112\xab]9Vo\xbd\xcaN"\xe4\xbbT[\xab\x8c\xaave#\xb5\xebk\x96\xbd\x8d\xda\x96\xf9!\xf5nn\xa4w\xc3z\'z/\x86\xb2~\x1fK/\xefFa\xfc\xf3\xb0S]XC\xa6\x0b\x99\xa6\xc6q\x1cd\x03\xef$\xc2\xcei\xdcm\xeeV\xea\x91\xd9\x1b\x1dD\xb3zN\xe3NQ[\x9bnT\xb5\xb5\x89\xc9\x93\x8dW\xc1\xc2\xf3\x15yM]8)&\xb27T\xbc\xde8\xc7\x91\x97\x94\xe5\xbc\xfa\x1a\x13\x07\xf9U\x97\x04\xe0P\xd6\x8f\x8a#\xb7ra\xd82&\x04\xca\xfb\x08\xd7\x0f\xe5\x9e<\xee\r \x99\x06-\xc3\x15l%v\xf3+\xf6f5{}\xd5N\xf0!\xe3\xa2\x07\xb9\xb7\x80\'\xcb\xb2\xf0\xb8-\x11\x88\x01\x82}\x99\x11W\x1d2y\x11"\xc8\xd3\xd6\xb2\xeb\xe6\xffI\xdd\xa6\xf9\xd1\x9f\xee\xe22\xcf\xf1\xd1d\x82\\\x91\xef\xfc\xa9\xb9\xec\xee\x8b)\x89\xc8n\x9a\x8f\xf9\x10d\xab\xe7B#i\xb2=o|\x08F$b\xb7\xa1<d\xa7n\xc5\x87?\xc6\\,=a\x8cY*\xc1\x9cz@\xa6X\xafI\xc5\xca\x9b5kRv\xb2\x12\x92\xd0\x83\xc7\xfd\xa9\xaeQ[\x10\xe6$\xcd\xa5:+\x9e\x95g\x83u\xf6\xcc\x8cg\xdcc4\x1d\xbc\xdf;\x927#]=\xe3T\xf3\x91\xdbVf+[=\xa7\xb2\xad\xabV\xff\x85\x1b\xa9\x94\xfe\xbanN\xb1\x81\xb3auo\xae\xa9\xee\x9b\xf7\x87\x1f\xbc\xf1K\x99G\xa7\x8cb\x9e\xca\xa6\xe6\xd9\xbc\x8f<\xb77f)u\xd6%\xa5\xcd\xbb\xc3s\xd3\xf5\xe5f\xb1\xa4\x1d\xf4\xd3\x0fi\xe2\x91\xd5Wn\xe3\xc21\xda\x97\xf9\xb1\x87&0"\x82\x97O\x86\xd1}\xc1`\xf7\xe4\x85\xbfe\xfdZ\xcc\xa46J\xaeA\xc4p\xcbx`:\xedj\xd7v\xba%\xb3\xe1\xf4K\xd5J\xd5,5\x9cv\xa5\xd4v\x9c\x8a\xd5w,\xb3\xd7\xb1\x1f\xa6\x1e\t\t\xcf\xb7\x9c\x85T\x03\xe8c2?~\xdf8\x19_y\xe7\xd8?y\xc0u\xc9\xa5~\x99&\xcf\x97\xca\t8y\xe7\xd8\xb2\xd7\xbfs\x0c\xb0\xb4\xe7\x03\xbboU\xed\xb6\xdd-u{V\xadT\xb5{\xb5R\xa3^i\x97\xbav\xadg\xb7ey\xac\r\xda\x0f\rp\x90,\xb6:\xbd\xde`\xe0\xd8\xa5ZW\xae\xab\x9am\xa7\xd4\xeeT\xba\xa5Z\xa3\xdf\xb1\x07V\xbf\xda3\xe5\xe2r\xca\xde\xd2\x0eKK/m\xb44\xbb\xfc\xfe/PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\x0f\x9f\x17\x02-\x02\x00\x00(\x05\x00\x00\x11\x00\x00\x00word/settings.xml\x9dTMo\xdb0\x0c\xbd\xefW\x04>/\xb1\x9b\xa4Y\x114\xed\xa1]\xd6C;\x14p\xba\xbb"\xd3\xb1P\xc9\x14(\xc5\x9e\xfb\xebG\x7f(\xde\xd0\xa1\x0bv\xb2\xf5\xf8\xc8\'>\xd2\xbe\xbe\xfdi\xf4\xa4\x02r\n\xcbMt1K\xa2\t\x94\x123U\x1e6\xd1\xcbn;\xbd\x8ano\xae\xeb\xb5\x03\xef\x19s\x13\xe6\x97nm6Q\xe1\xbd]\xc7\xb1\x93\x05\x18\xe1fh\xa1\xe4X\x8ed\x84\xe7#\x1db\xccs%\xe1\x1e\xe5\xd1@\xe9\xe3y\x92\xacb\x0e\x16\xd1P\x047\xd1\x91\xca\xf5Paj\x94$t\x98\xfb\xa9D\xb3\xee\x93\x87G\xc8\xa0\xff\x95%\xd0\xc2s\x8b\xaeP\xd6\x85jN\x9fS\xae\x0f=\xaa=\tjB\x13\xaa\x0cE\xaa\x8f\x9a\xa8\x8c\x0e\xbc\xfa\x1c\xad\x1a)\xb3\x84\x12\x9cc\xb3\x8d~/W_$g\xb8\xd6\xd6\x89\xda\xb1\xbd!\x9aI\xbd\xb6@\x92\xbd\xe0\x01\'<\xe0\xb8\x8d\x80\xd9C\x966\xce\x83\xd9b\xe9]\x8f\xb28\xe6\xa9\x17\x1e8\xeb@\xc2\x18\xc1\x9eK\r\x82o\xc0[`A\xebn5\x06\xa8Kr\xbe\xd1\xf0,J\xd8v\xadl\x95\xf6@\xcc\xae\x04\x1b\x9c$\xc9r\xe0e\xf8\x1d\xfd\x8e\x84|}\xc2\n\x06\xc5\x0crq\xd4~\'\xf6\xa9G\x1b\xb2\xbe\xcc\xc3=3\x125+~#\x95= \xa97\xbe\xab\xd0\xa9\x15\x92\xc1\xc0^\xac\xfe\xc2\xfe\x01\xe4\x95\xfc\x88\xab\x9c\xd5\xa2\x19\xab\xde\x8f\xc9_\xf9\x93hN-\xfc\x99\x10\n\xff\x8b.\x0b\xc1\xbd\xb2\x15\xc3\r\xeeX\x84P\x07Z\xe7\xc6\x1d\x1aK<\xed\xe0\xa4\xa8\xe0\x99\xa0RP?+\xe9\x8f\x04=\xce\x9fg\xe6n>M&\xd7q80\xeay\x03\xa0\x1d\xde\xa3\x18\xfb\x83r\xfa\x92\x86\x1bhJ\xdb5\x81\'am\xef\x81\x90\xed"\\l\xa2\xe1%:a\xf3\x80\xcdGl\x11\xb0\xc5\x88-\x03\xb6\x1c\xb1\xcb\x80]\x8e\xd8*`\xab\x16\xdb\x1fXS\xabC\xd1K\xee\x0f\xf3\xe1\xd8\xa9\xe5\xa85\xd6\x90=4\xbc\xa9\xbc`\xaf\x9b\xe8\x1d\xd4\xf2\x8a1^\xfc\x8e\xb7\re\x82^\xbb\xdam\'\xeda\x1e\xc6\x06R\x19\xde\x83\xc6\xecG\xf7gCP+\xe7S\xb0<)\x8f\xa7\x9d\xfd\xdc\x05\xe3\xf1\xafw\xf3\x0bPK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\\x91^_\xfa\x9d\x00\x00\x00\xcb\x00\x00\x00\x14\x00\x00\x00word/webSettings.xml]\x8e\xcb\n\xc20\x10E\xf7\x82\xff\x10\xb2\xb7\x89.DJ\x1f\xb8\xa9\xbb"T? \xb6c\x1bH2%\x13Z?\xdf\xa1\x1b\xc1\xe5}\x9c\xcb-\xea\x8fwb\x81H\x16C)\x8f\x99\x96\x02B\x8f\x83\rc)\x9f\x8f\xe6p\x91u\xb5\xdf\x15\x81t\xbe\xc2\xab\x83\x948"\xc1X\xa0\x9c\xddRN)\xcd\xb9R\xd4O\xe0\re8C\xe0\xf4\x8d\xd1\x9b\xc42\x8ej\xc58\xcc\x11{ b\xd8;u\xd2\xfa\xac\xbc\xb1A\xf2\xb6\x10\xdb\xbaq\x0e\xd7{{\x13\xea\xe7\r\xd8b\xea\xcc\x02W\xea\x98t\xd0X\x07[\xa1P\x7f\x8f\xaa/PK\x03\x04\x14\x00\x02\x08\x08\x00kn;\\#\xe9\x81\x1b\xdd\x01\x00\x00H\t\x00\x00\x12\x00\x00\x00word/fontTable.xml\xed\x94\xcd\x8e\x9b0\x14\x85\xf7\x95\xfa\x0e\x96\xf7\x1d\x0c!\x93\x1f\x85\x8e\xe6\x8f]\xbb\xa8\xa6\x0f\xe0\x80\t\x96\xb0\x8d|\x9d0y\xfb^\x0c\xc9Pe\x9a\x8e\x88f\xa4J\x85\x05\xe6\x1cc_>\x9d\xeb\xd5\xcd\xb3\xaa\xc8NX\x90F\'4\xbcb\x94\x08\x9d\x99\\\xeaMB\x7f>\xa5_\xe6\x94\x80\xe3:\xe7\x95\xd1"\xa1{\x01\xf4\xe6\xeb\xe7O\xabfY\x18\xed\x80\xe0\xf7\x1a\x966\xa1\xa5s\xf52\x08 +\x85\xe2pej\xa1\xd1+\x8cU\xdc\xe1\xab\xdd\x04\xa6(d&\x1eL\xb6UB\xbb b\xec:\xb0\xa2\xe2\x0e\xf7\x86R\xd6@\xfb\xd5\x9a\xb7\xac\xd6\x18\x9b\xd7\xd6d\x02\x00\x8bUU\xb7\x9e\xe2RS\xac\x8f\x90\xbeB\xd2,5WX\xf9m\xed\x0ct\x967k\xae\r\x88\x10\xfd\x1d\xaf\x12\xca"v\xc7\x18\x8b\xf1y\xb8c\x1a\xbcL\xcfJnA\xb8\xe3t64\x0b\xaed\xb5?x\xd0H\x80\xa1]K\x97\x95\x07w\xc7\xad\xe4\xebJ\x0c\'\x80\xdc\xa0\xbd\x855K(\xfe\x06c\xd1|F;%l\xf7\xf2\xd7\xa4W\xa2\xa3\xc2ze\xf2\xbb\x92\xf9u\xfck\xb8H{%\x1c\xcc\xe9v^\x05\x1d\xa1Wi=I%\x80|\x17\r\xf9a\x14\xd7g\xb9E\xec\x9aM\xd8\x14\xd9Mq<\x19\xcd\xcd\xfa\x9d\xc6r{l\xb1=\xa6\xe9\x0b\xb7{Tf\xf3\xe9\xdd\t\xb7\xc5\xdf\xb9\xa5#\xb9\xf9\x94\x91\x07\tu\xc5\xf7\xff\xd3\xf6Fj\xf7\\\xad\xb1N\xf2\x8d\xbb\xf2,\xb46b]\xd4\xda\xc8\x8d\x87vy\xd4X4\x8cZ\x8c\x1c\xa3\xf8\xa8|\x0c4\xb3\xb5R\xd8\xb6I\xcf2\x9b!\xa9\x85\x8f\xd8\xd4\x13\x1c\xcbL\x99\\\xd8?C+\xe4\xb3\xc8\xcf6\xe7\xedis\xc6\xa71{\xc7\xe6\xecc\xf6o&\xacU>:a\xbc\x92\x08\xec,\xaf\xd4\xa7\xca\x1f`\x17\xf1\xba\xec\x18{=_Q<{\xc7\xc3\xff0\x04\x1c\xff\x02PK\x03\x04\x14\x00\x02\x08\x00\x00kn;\\7\x1d\xdc\xbe\xe6\x01\x00\x00\xe6\x01\x00\x00\x14\x00\x00\x00word/media/rId25.png\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00F\x00\x00\x00\x14\x08\x00\x00\x00\x00\x15\x03\x14\xa4\x00\x00\x01\xadIDAT8\xcb\xed\xd3=K\xc3@\x18\x07\xf0\xe7C8f\xbe\xa1C \x93c)tr\x08\x82\x94\x94\x8a\xa0\xb48\xa8\xab\x83\x16\x17\xf1\x05EE\x04i\x05\x11|)(j-\xb8\x08bE\x04\xb5\xe0\xa0\x15[\xaaPEq\x10\x89/$XZ{y\xbcKb\x9bJG\x05\x07\x0fr\x1c\xff<\xf9\xe5\xeer\x01\xfc\x91\x06\x7f\x8d)\xb8T6\x88\xcb\xd4J\n\x92\x9as\xd3J\x81N.\x10\x93p\x84xJ\xde\xab\xcf\x05S\xbc\xaf\x14V\x98U\xcf\x17\xe3R3R\x951\xbc+\x88\x030\x848\x15r\xbc^1\x99\xbc\xe4dt>\x1b\xc6$\x00&\xca\x8c\xc9\xb1\xbb1\x80\xd1"\xaf\x88\x84\x8c\x82\xb4I\x8a\x86w\xcb\x0eGz\xc9\x00cv\x04!$;\x18q2\x1a]\xf0\xc94\t{Yi\xccb\xd6\x1a\xf6\xd2b?\xaf8\'\xc5\xac\xa8\x89\xd7\xafpk\x87]0\xbf\xab\xa4.a#-\xd60\xbe\x80\x12"2\rv\xbfk\xdb\xe4\xd9d\x94(bZxf\x15\x9ap\xbf\x10\xc6\xce\xe53W\xc9\x0e\x83\xe3|QK\xcd\x06\x9e\xb8\xbf/j\xddC{\x805\xe1\xc1b\xd8\xdas\x02\xdf4C\x89\xb7\xecc\xbc#\x12F;\xf4\'Lf\x1a\xf1J\xaa\xb3\xc5\xfe\x19D\xf5\xf0\xcdbb\xac\xc8\x9c\r\xaeJ\xc2#\xde\x01\x1c\xa0\x1dr\x8d1\x01\xc4\xcbz\xcc\xa2\x90\xd1\xdbE\xcddf\xc9\xcdKk\xc00\xbf*\xc8e,5\xb2\xa9\xd9\xa1\xc5\x9c\xc2\xb1\xd6&\x7fg\xd6d\xfa1\x08@\xf2|\x8b\xdd\xb4\xd4\x07\xd0\xf4d\x1f\xa49\xd6\x0f+\x14\xed\xd0\xcf\x18v-\xb2-p0\x8e\xa6k\x8e\xb1^\xe7\xb4\xd6\x84E\xed\xef\xfeS\xff\xcc\xef2\x9f\x83~\xc8\xd3\xebzI\x8f\x00\x00\x00\x00IEND\xaeB`\x82PK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xaf9I\x01\x99\x01\x00\x00\xd2\x07\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[Content_Types].xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xb7w\xa4\xef\xe7\x00\x00\x00\xd2\x02\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x01\x00\x00_rels/.relsPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\&m\xcf"\x0e\x0c\x00\x00_(\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x02\x00\x00word/document.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xe7\x86\x0e\xdaC\x01\x00\x00\xeb\x05\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x0f\x00\x00word/_rels/document.xml.relsPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\e\x8d\xd1z\xc1\x00\x00\x00=\x01\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x10\x00\x00word/_rels/footnotes.xml.relsPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xc3[\x87x\x1a\x02\x00\x00R\x10\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x11\x00\x00word/numbering.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xc6\xce\xe4\x131\n\x00\x00\x97j\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x13\x00\x00word/styles.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xbc\x00\x13i\x16\x01\x00\x00K\x03\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x008\x1e\x00\x00word/footnotes.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\x1fn\x03\x13\xd9\x00\x00\x00q\x02\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00~\x1f\x00\x00word/comments.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xee\xb7?\xdf\x1c\x01\x00\x00G\x02\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86 \x00\x00docProps/core.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\4\xc4.pj\x01\x00\x00\xe5\x02\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1!\x00\x00docProps/app.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\x1ay%\x8d\x88\x00\x00\x00\xd4\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00i#\x00\x00docProps/custom.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\xfd1j\xa3"\x07\x00\x00\x8f-\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"$\x00\x00word/theme/theme1.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\x0f\x9f\x17\x02-\x02\x00\x00(\x05\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w+\x00\x00word/settings.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\\x91^_\xfa\x9d\x00\x00\x00\xcb\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3-\x00\x00word/webSettings.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x08\x00kn;\\#\xe9\x81\x1b\xdd\x01\x00\x00H\t\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2.\x00\x00word/fontTable.xmlPK\x01\x02\x00\x00\x14\x00\x02\x08\x00\x00kn;\\7\x1d\xdc\xbe\xe6\x01\x00\x00\xe6\x01\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf0\x00\x00word/media/rId25.pngPK\x05\x06\x00\x00\x00\x00\x11\x00\x11\x00N\x04\x00\x00\xc72\x00\x00\x00\x00'
[6]:
# write to file
file_exists = doc.to_docx("../exported_docs_examples/outfile_raw.docx")
file_exists
[6]:
True
Prepare a template and fields (optional)
prepare, a template and some fields in the template.
[7]:
templatepath = os.path.join(pyd.get_registered_template_dirs()[0], 'word_template_with_mergefields.docx')
templatepath, os.path.exists(templatepath)
[7]:
('C:\\Users\\tglaubach\\repos\\pydocmaker\\src\\pydocmaker\\templates\\word_template_with_mergefields.docx',
True)
[8]:
# HOWTO:
# Adding MergeFields In Word to replace them later:
# Go to Insert -> Quick Parts -> Field -> MergeField.
metadata = {
'repno': "1234",
"summary": "This is a nice workflow for automatically creating docx documents",
"date": "2025-12-13",
"comment": f"this is my comment!",
"author": "Me"
}
this is the quick and easy way using the common pydocmaker api:
To docx (no additional dependencies)
[9]:
# three different examples below
file_exists = doc.to_docx("../exported_docs_examples/outfile.docx", template=templatepath, template_params=metadata)
file_exists
[9]:
True
To docx via Word (with additional dependencies)
This will also update all fields and the table of contents, but will need win32com for it.
[10]:
file_exists = doc.to_docx("../exported_docs_examples/outfile_w32.docx", template=templatepath, template_params=metadata, use_w32=True)
file_exists
[10]:
True
To PDF via docx with Word (with additional dependencies)
This will do the same as the last step, but also export the file to PDF after it has created the .docx file.
[11]:
file_exists = doc.to_docx("../exported_docs_examples/outfile_w32.pdf", template=templatepath, template_params=metadata, use_w32=True, as_pdf=True, compress_images=True)
file_exists
[11]:
True
To PDF via docx with Libreoffice (with additional dependencies)
This will instead use the Libreoffice software to convert a docx file to PDF.
[12]:
file_exists = doc.to_docx("../exported_docs_examples/outfile_libreoffice.pdf", template=templatepath, template_params=metadata, as_pdf=True)
file_exists
[12]:
True
The hard way: using the low level classes and functions
you can also work with the exporting classes directly to get more control:
[13]:
outpath = '../exported_docs_examples/outfile_lowlevel.docx'
outpath_pdf = outpath.replace(".docx", ".pdf")
docxf = pyd.DocxFile(templatepath).replace_fields(metadata).append(doc.to_docx())
docxf.save(outpath)
if pyd.DocxFileW32.is_installed():
with pyd.DocxFileW32(outpath) as docxw32f:
docxw32f.update_fields()
docxw32f.compress_images()
docxw32f.export( outpath_pdf )
os.path.exists(outpath), os.path.exists(outpath_pdf)
[13]:
(True, True)