gearboy 发表于 2017-11-4 19:35:03

【UDF编译调试工具】VcUdfStudio--在Visual Studio中一体化编辑编译调试UDF

本帖最后由 gearboy 于 2022-7-15 09:04 编辑

利用Visual Studio集成环境进行Fluent UDF编写,编译,调试的一体化工具终于完成了,历时几年的构思到编程实现,完全实现了自动化。解决了UDF调试困难,无法查看中间变量,初学者搭建编译环境困境的问题(装好Visual Studio和本软件就可以直接编译调试),双击直接定位语法错误行,不用编辑器和Fluent之间来回翻找,甚至可以调用 Windows, VC++/MFC 函数,第三库等等额外增强功能。

软件镜像主页https://vcUdfStudio.github.io   已经创建完毕,(原bitbucket主页国内不能稳定访问)。
新版本2022R1已经支持到Fluent 2022R1,欢迎到主页下载试用。
QQ讨论群:817525240

启动器:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbsAAAGiCAYAAAB+sGhNAAAgAElEQVR4nOydeXhVxfn4P+femwQChLDLIgRIQBBQAZcEt6qACWjBCrW2WqSaKNaaaF2wIm6VX6U1QVuVWCla9dtCVVRIkIC4EXZcQBASlgCyBgh7kruc3x8z5+5rcrMyn+e5z73nnFnPmTvved95Z0brNu4BXdeJDC3SCLXAb1ZarZKsXWxfvO+fpmkYBY/43kYFrxoGLEOACwFvUHQqo+m1ewJhl8L3wcj8a5FmDaltm6tV+aJcuVB1CZ1dpHfDM8Xadz+1bH+6Lv/jTQ/R2Qcvu7NqDdJ3hUPN7r0FYN+Cl6NaFIVCoVAoGgvdM7IxNYzmoVAoFApF/WFq6AIoFAqFQlGn6GBqoqZnhUKhUCjCxqSsmAqFQqFo3ui1M2M+/fQcpk37Z5P1TFIoFArFuYEl0gjTp7+JyWRi9OjLeOKJO7FabVgs5room0KhUCgUUSEsze6ZZ+bwwgtvY7XaeeaZ3zF9+l1cccWFxMZaaNWqBVarFYDs7L+wc2cZUIWt6j0WZyuNT6FQKBQNj3/NTtMwpkVPf+qfPPPs3a4JupomfmsaNqsVi8VC15QU/nbFcP62Yh1njpdC5c1YWpi57P77660iCoVCoVAEIqRm98QTd7gO5NicroPNasVstnBq9066Tb+Oh95MZO3a74lrk4x+cAn6vkIsbKizgisaglJmjdDQsgqdZwqzNLQRsyitw/xGzDJSLyRLcz92K4NbmQJTSJaWRaGIhKZp+EYTeWYVAqWzGGGED5ieFiAdhUIRDE3TWL9+fchw69evj4pfSEBhV1lZDUBMbCwADofrmkMHi8XCJ1cMpPXB/ox/xkRlwZecPn2K1avW811FKd/P78m/3hvlN+3CLA0tYCfi26HKWM6ORWvADiZwx+pb7tJZIzzKKz4jmOVHMvgPG6KOssN2fupM6ASilG2bopue5z1M5sEVJUyclyLvQzqzdXFsCLzCLI0MCtAfSYms7umz0fUSBj4fpqD0vteahqYtYJyuo+s6s9PrWvArFM2LdevWMXz48KACb/369QwfPpx169bVLjPNj7B79tl/8dmy9cS1EELObhfnTWYNm02YMs1mjf/2sHDziz9CkRX2O7CcsRITG4vVauVI+SEqhhVSbuvqN9/0cZlAPgv8yoxFzCuGzHHprlOzRqBpGVAgOhbjM26Bf8HRqEjLo8StzHrJROalBOpgMynQPes4O91PMOQ9ycAz/JOb+a3HDREvCHX3UpDMgyt09BUPkhyF1Epn/ZZs8iiZnS61Kg1NSyG7GPIzDAEjjouzU9A0jYx8ID8DLSWFlAAvEiHLH+gme+P9LPXZuMdMn11CHtlez0ChUPhj2LBhQQWeu6AbNmxYrfPzEXZt27bmuuuGYrXpWK1CuFmtOjNeeBuHAxy6zvxe8MuJdvhYh6PAMShdBw5rNRs2bGX7jnJiLHHExMT6zzV9HJlAvh9pV7poHsVk4pR1hVmkZENeiW/Hnz57BQ9Go5etT5IfZIVeQGZ+ho85LnwKmZldTFreIx6dLemzWdHkboiBqFPmk+6C01f4B/4UkOlMyp8WpqFpGeSTT4bfa77m0chJ5sEnMynOnhnE9KlQKAwCCbxoCzrwI+xOnDjNt9/tQHeIsTmH/Dz0xzswxcCHfTUm/AbO0psjd2/CegIWLoRvJi9n4+b9TPzVbdww6jrQgk1HSOeRvDTIX+DVKZSyaJ57J17KrOfzSct7K0Kh5jY2E9Ww0ULUv7adYvHmkoDXDG1YKD7unXmQcS9vE5y30Mha5JOP33hOrSwCk3PhAvLT8njER8nyNV/7fLwTT5/tVyAWGNIws8DvdfcXhfwMDS0lm2LyydBGMGsbUJxNit8yuLWf9EfISwtgtVAoFD54C7y6EHQAJu99HKZNm8S8/xbhQAg5d4G3oK+ZX4wD2654jjz+Hdq79zOvuANbH/iALglx3Jg+iupqK7oOxyuOM3365IAZJ4+ZSJq3KbN0EfOK05g4JtntGAb1a6raSmBE/TexrUbKRDrCEpwRcLwp+cEVTm0ns8C3Mw9JYRZaRr4zrq7rFJBNdnEY8VKyGeRuci7JY1NGcM2pcEE+DOrn0uqSH2SFPpt00pkdQJsTwiuNvEfSEeN5gTX90lkjWDCugEwyKRi3IKTwzfQwma/gwX5AWh55mV7XCjIhbSApzpjJ9Bvk32qhUCj84y7w6kLQoWn+HVRmzLiXZUVrnEJuzhv/4LXXP+TWSx1s+/W3fHX/Gor7JmC79z2G/N9KUrq1YfuO/WiAw+5Ad+js3FEWPPPkMUxM8+wUShfNozhtImM8Oqw0Bqb4xG4mFOOpnHmb2AJrnOmzdUry0oTA86fd1IpCsjLyScsr8TAdp88uIS8t8ngkP8hbQTVZ4eiSFu6DlppjxqY8SoIIOFexskjZ/KSrTOmzazze229gmmeb3baJtIljPMYs08dlwqZtylFFoWhE+BV2uq6zsvg7zBYh7O66537Ky/ejO2D/9h/Rfz+Im07qmFt35O+vvENJ6QHuvOsWunWLx+EQmuKxYxUhsk5mzER3U6Y0YXp1HGHjYTrzHZvxkAWRhK1TvAW59xiVpwOEN0J7kxpOfkZAT8+IKd3GJmqgUQeJl9xvEITQZMPLr5RZv82GvJLwHGMKs9CeHyicXtxIn/0km1MCv0y4HGI8w6SMmUias80WMjMblyXCneLNBDYyKxQKd9xNl+F4adaEgFMP/vznTF549k1iYuCrL79jzOgR3Nn6KXYe1um3RCdvxr+xxMTyYt4zVFfpVFVBizgzdruOppmorqoOmbmHKdPbhAmQ3I9BFDNvURg9ePKDrPBwVvAUHN6aRthh/RGFt3bhiDOIaFho02fr6HoJeWnFZAfpwJsSYnqKv4+nN2bQ8bvCLOGx6lcopjO7ZCDPB3hByCwQ5lcfRTZ5DBPlmFzprOfJz3yy6TlJKRSNCO8xulBemjUloLDTdR2z2cTu3Udp2zaB+DadmPmX6fzs5p/z7/x/c899t3P8WCWvzvo3t93+C46Wn6HSBp06tcQuTZl6qJ1hkx/kyUxhyixdNI9in45DjE01Ju+2lIFpAd7aS9jsNWUiMAG8KWuF8AQMTQqiCkH0juR+DAI2+ahhoo6RxxPmPkIId/d4QoD7+whTamZBgOvyTaUwSxMaXTDtOPlBVuhPsjnFfTzRfx1Lt22SY4riPudnaKRkD6Ig0JuRxzieQqHwRyBnlLoQeEFXUHnqqbt465//I/Wy3rRLbEfXziYcdp0nnriDE8cr6XV+C355+y30KW+FQ3dw9EgVbRLisNsdEOaEdzG+sYCZ84r9CgoxTiQ94jxd/pg1ov7n2SU/+CSZ5JPh4YFYyqwRGQG8Cb0ozBKm08yCWkwTKCTL3/14Ph8yx/l07p7CRzhQeHjCFmaJ+WpOjJeM33rkUZglvDsDY3iZpniagguzSMkuJrMgkOARZQoqgCPAOdE8rPl/ronqWlahNMW6TX0BDBO7s32mDPTV+NxDOwWjQqEIRCivy6gLvK7jfq8HA9BB10t2nPT5LtlxUmcdzs+RE7rz91NPvRE0XRcFeibokKkXBAlVkpcmy2J80vS8kjCziDolel4anuXJ9C29b5kD11OEDX4PPDHum+uT5u+GFGT6ue5V/swCvSATnbQ8vcQjqmf6mQUynltd/cVzzzPsZ1WQ6ZuOX0QZ/NzuMCjQM8NpZ0Y5SvL0NDL1AreyiXsi05D19Lzvonx+n4VCoXAC6OvWrQsZbt26dTpQq7y6ZTyohxR2uq7ri5d8o4Oub9t+Ut9WekIHXd9ackLfs79SP35GCLiiz/bqSz/bo6/fcFD/fuORCISdQqHrhvAOJMQ8BW8kLwXeeQSPW5DpVgYp7DIz/Qt693I7zxsCskblUygUdUG3jAd1reu4B/R9H74cVPubPv2fPPvs3fy47ThdurUlNg5axcDcuas5e7acEyeOY7PZsdvt6LqOw+HAbDYzbdqk2queinOG0lkjSJk3kZIoLT/WEBRmaTw/sKQJr2SjUDQ/uo/JJixhp2ka89//mgsG9OHD/31KdbWVmBgLmqbx1FN3+Y2jh3JOUSh8KGXWiBSyBxWEv15lI6IwS879a8LCWqFojoQt7EAsEA04V0VRwkyhUCgUTYGIhJ1CoVAoFE2R7mOyQ2/eqlAoFApFU0cJO4VCoVA0e5SwUygUCkWzRwk7hUKhUDR7lLBTKBQKRbNHCTuFQqFQNHuUsFMoFApFs0cJO4VCoVA0e5SwUygUCkWzRwk7hUKhUDR7lLBT1CuleWloaXnU8567CoXiHCcCYVdKXprmuQO1cSWMDqw0Lw1N09CyCl2//X0aVUdYSJaWRp7fAgW7ZgTJ8qlfmoxQmOVd9xBpNQiFZGlZzh3Nfcvs7xO8HsnZ08hcmcOdja+yfvCsvzeleWnO5+l9PvR98m0TCoWi7qiVZleYpZFVWMrCeStJnTjWZ1sT9z99ypZp6Lru3LolNbdEHLt/CjL95CKEbEghKTuNwqwoCszSFMblQk6KPyGfzuyCweSkhBBSqbmUyPp5V891DwrwV3P3ukOgTtQz/6jWn3Qeyd1IhswjfbbrWRVkBniGejHZycEEYwb5wMqcFP/XPW60v/r7Fz7Rrbd3/f08/9I87syBwf19YyVnF/u5LyXkpkJmgfd5neJsn3+OR709s00LKCDr5h4oFM2EruMeCLHHq9yJ2eOTqufmZordmUty9VRS9dySwCmU5KZ67PBckpuqp/qLUJCpk5qrl3jH9TrnDOs33xI9NxX/6dcUWa6C3FSv++D/46yqV30KMl3lcv8t7rFvXbzrXpKb6rNLtzjnHjf69fd+fkYegXYVj2q+IervXaaoPvcA5Qi1q3qAVMK+ZwHbvJFGpu//xP16XdwDhaIp0y3jQT0MYWfg9md168RLAgkAL+HmcxxIWITbqQQUdsa1QJ1iFPEjnINdj0zY+dbdf2cvwnl0cHVV/4LMEILeK8+SXD01jJcDn5eEiOrvXb7o1DtoG/XzCS1gwhV2odp8pl4g72vQMGHVUqE4N+iW8aAe0ozpMkelkLMS8jM0tIx8WJnDzMJCZuasdDPNlJCbmkpuiTBXGnFTREQPM1VYZszCBeSn5vJIpJtWpz9Cbmo+CwINtoRJaV6aX1NSvVDTukPU6p+XZjx7aTpMny2eU0kuqWRS4P7sSnJJ9U4gOZtiH3Ne4I/H5uQ1qX+U6i2K7s8UWUAmsn2HNEXWkCD1LlyQD5njSE8ey8RUyPdX0SjeA4WiWRG+Zqf7vDUab7+uN0x/Gop4o6UGNq+CzCDxgml2oeKGSUlJrjDhBtLegmh2BZnhawUeH5mev/L702xEPr5v8tGov8xUT/VOvyDTN21/4SLS7DyfZbj19yZq9faful9zs0/+NXnusswBy++lzfmar73KUNc2ZoWiCRGWZufhFJGRD+SToWloaWncmTOYgoJMNm6VQ+KlW9mYOpGx7i+5pQuZtxLY+BxpWYUID7fg3mlCmSpl60ZIHZASmfSWpI/LhI1bazVYn5yczWy9hFxymBnhm3L6bKmpejmoGBqtp4OHm8ZQnE1y0LrL+y8/C8bp6PpsvBWBaNTfk1KXppeR79LUjU9KDiudbUM6SUSk2QnHFiOvmj776Nc7wvxnB6pfYAcV3em4FbjepQvnsZJMxskHnTx2IqmsZN5C35o29D1QKBojIYVdcvbb5Kbi6rSluSpzWjHF+mzS08cxeEsJIP6QeHllli6cB6mpwGAGb8wgLS+F2W5/8hLRAwQ0Zw3uXwvz0MotlNQ8tiSZ7GKjTF6CWppzU+po6oT/urvMhwWZkJ8R2DU+OvU3EPchLMFVnC3bgJuADPXxc99q/OxrW28/U0ZcnqQryUmp2ykEvvUWwwVkjnO91EhT5sqcmf6ff1SfvULR9AljzC6FeRNLZAdWSFZKDoML3AVSOo8MWEBeaSkL5w1mmsfYRSEzcwYzcSIweByziwsYPG9hE3vjFAJOaJvpHoLaW3Pz7OhDUytBDqTPLiCTfDLqcVwxnOkf3gTUZoJOOWlAjLFJr49RzED1idq4nTeFC8gHL21ajKGDGp9TKMIhpLBLn+32J5Z/uvwMd3MjJI8dwLyUO+FtT3Naad5zbMx9hLGu1JhdPJaFbm/7Hs4r7s4QEqeJtCakDqBmRlA3CheQ72Y+ioTSrRthcH8/wq+UrRtTCWWlC133dGYL9c7vZP+o1N8fXpq4tzCIFjV+9nVR78IsMvIzKdALIKNuFwDwrHcpec/l+75UuZlG85/zY02oq2evUDRRQk8qdzfpZHj+6cQwQx5pKfOYWDKNLV6Tr0u2eGt64G0O8zVjGgIzmf6DYeWWmhljAguayHB6wEVeAhbOW0mmPylZupB5KwcTWLGLoO7pj/jt8KJVfxdiNZGFUUsvGDV/9tGvt9RmMzaSWzKbdNKZrfu29ejgp95yzDtzmj+LQTLZ0zJh5Tzch+7q4h4oFE2d0MLO3aTj5V5emKWhpcxjYkkx2cnpzNYLIMOlnaXP9nWciISaD7TLVV1q6NziSiaP5/JTya2J/3/hTHJW+tcIC2fmQO4jQe9N+HVPJvvtXFJX5pDi7H2jVH8n+WRozzGgZLbQ0r2dU+QnIz9A7IwQ43V+Igauv6eDjueqK9Gtt2GyFav/uDvQCHP2uAWeFo7glLBlZWht3rvehTNzPBxT/EQgk5XkzKyrZ69QNBPCmXrg4U7t7iIdzO3ee+UL93hhut/XbKUK3b8bfA3wWMkiEjd6udqKUW5XnVP13JISPTdVls1jkrb/yeI18iCPUv1FUn4WBAhQKM+J8roe9kRqv1M4alD/aD53wnXfl1Nr/E0s924zwRYgcFKL5+7MU00qVyjciXAFlYbBXeCEI2h03V+n2zSJtO7ncv11/dysd3O9BwpFNOmW8aBuqb1uWLckZ79N7rwUUrL6o+t6yPCFWRoZG3Mpmd30RywirTucu/U/V+vtTnO6BwpFtNG6jntA3/fhyw1dDoVCoVAo6oTuY7LV5q0KhUKhaP5YAE6ePNnQ5VAoFAqFos6wADgcjoYuh0KhUCgUdUbYDiqJiYl1WQ6Fwkl8fDw9evQAwGq1AqBpmtNZw2QyYTKZPJw3HA4HJpOwytvtdkwmkzNubGwsZrPZIy2Hw+ER30h/165ddV/BRo5j93No5z+Jvud5cWLvn8V3jz8BuK4Z5w16/Ant/CcB/F/3Qje1cv7Wuj+K1uNR9L0vims/vVjretQsTR3Qgl7XdR1NM/nkEY0yNwY0x+mGLkLEnBh4IGQYNWanUCgUimZPo5964I2GePdSNE9i42Lp1KkTZ8+eBaD8SDla0Ddt/+i6TqvWQnMoLy/3ve7VimqSh6J2aA43XwG9yuPb41pNqYs0kXqf0Xzc8ohW+g2LDpgbuhB1QtjCTgPiW4jfrVv4D2OTQ38nz0K1VcaTfUjbVhDnJzfDknS6Cs5UuY4BYiwQFyN+t4wV8ePiQJf5VFWDXQebXRyfqYKzVU1TGLaIhTYtxW+Tn363yganzrrqCtAyDlrHid9mk2+9q21QIS0SbeKhZUzwMmgaOHSw2cSxzQGVVtez9EfLOGhtlDt48gE5WOH67bA7qKio4PRpUXCbUZgaYAjM2mCxiEbbuk0bv+LQ3RQqfnqaRjVNc53RdTRNo107MSTw59/odGitu7V535ZbfgIWbB3GXZPvAeDEiRPs3buXH374AYDvv/+e9evX17yCDYp7gzQ6WKMV+euaIn0hMXt9+/sDGPe8pi877nmE+INFhL9erLYvZOH2jM3Th0OZMRUKhULR7Albs2sZBzfLVaDvvRESY8AsXzQcwBkbbNgrjvMXw3dbxXuE8dafeRNkDIEO8hgdrA746bg4fPsrKFgltDWATu3goj5w5UBxfFkKdGwF1iqh8QHExwrNbt9RcfzeGpi3HE7X/oW+3rl8MGTdIH4PPE88GOM97EQVLNsMcz+DHfIex8TAlRfBXTJO/44Q62bjPVYFy7fBzP+K4zsyYOJQaO9+/3Wodrje48wxQjved0gc7z0KG3bAhm3ieN9ROFPp+X44Yij8TpahXzuI00R6Vhmo2s9LYqwJYmTbsekw9CGhBYHQ5I4fPx7JratTDM2y4tixqKXZ0iJMXxNTQzt9zfksljt/O5n0dM+VoA2N8tSpUyxdupT8fLGY9uLFi6NWzrrHvXHoXt/+tItINZtw0vTWdkLl4a0JuucRbY3IvWzRGMAJFV9DN4HWPBU7LE47YwiqrLB2u/idtBEmXAw9pDNVNbBsF/zna3Fcssd1W09Xiu/3iyExAX43HGekH47AJ5vE4YrNwnw2qLc4vmc03DhAdK4A3x2Gz7bCgWPQrYM4d0kPGNoJhnYWx+u6QkwTNTev2QxxUhC9cCucHweV0mS5ahe8vwb2uw09Wa3wTSl0knXvcDlc1B7nf/C99fDOMtf9K1wN8XHw4DXiOLYadp2ENfvhwAlxLsYEPdtBkuyDL+8Ft18Cm/aJ43lroehb2HdEHDt0WLNJmJYB/jgGBieA1QbfyBeQNXvEt2GqM2vQpwMMO08cd5Jx41u1cgb0XCLL90/u8sx063A0zcMG7u69GQxDyOrSxGhQWVmJ3W4PFK3GmM1mHv1lQlhhrTb4emd3Xn36Op9rRlnbtGnD+PHjGTVqFAAvvfQSTz31VPQKXO9oXt/1lV9dha8N0c4rdHrNVdCBMmMqFAqF4hwgbDOm3QHb5Vv6/y2FDi1g4iXiOM4Mhw5DqZyidPqMK54xX33vfti8HWzDxPHRM/DfNfCfz11xBvSCKeIFlZ9fCIfOwNvrxPG7n7nMawb9e8MD6XBtX3F81hpcUTeboEMCdJaaS7UV9h8Tjh8RrLcLQAupkXTrIJxEjp0Sx/uPejqRhMvZs7Bqg/j94xXQqzecklrZ2i3w3Y++ccqPwopvxe/Lu8LABDDFiuMlK2GP29STXXvhqw3wi4vFca842Lkf5n4iTJUGLVvAAHk/b06D8YPg0p7iuG9HOL8D5C8RxwePwYmT8PlqcTx6MPQfKEzRX38nzr3wP88ymzRI7glZY8TxtXLN4hZSPUxISMDhcDgXOjAcRMClzRham7dWZmhyZrMZh8PhNEGazWYfLU3XdWJiYjy0P/dwdrudw4cP06ZNG0CYM42ygZjX5142o1zu5dixY4fH9fj4eJJ7tuOu652lIBgrt5kZknoL8fHxQcMBtJKa8ZNPPklsbCyPP/54yDgNj+7nt/d3NNKPZprB8gg/fatNZ/Kfg3h+AX27azx9t3B6eeTvIuzUO0Wba5/gX0u745lq5+8HJ1oYPsClz5RX6OTMcuX57+mx7Nzn4Kk3wnMC+/f0WNb/6CD/I/EfibHA3x/2dMqZ84mN5Rsc/PwqYWJr1wbmFoTuEO9MF+FHXlZ3prmIph4Y/cLh47BqmzBzAQzoCCmdoE9XcXyowrfD79IerhsMDumpu2YPfPEDnJBCokMCjLkUbujvymv5NnhvuTj2FnQAW3fC3M/hBzmOtW2/MLcGomUcXHcxTJRjj/uPwdtfwIYSYTIKF5MGPaT58O7RMKgrLP1eHL/9GRytoQeyt1OeYVULZmmulALxbKV4sfDnyelMVgOHmy6v675/z7OVsEE4+rFjr/ACvWuoOO4YDzcNho3ypWfhGnHfjHZx9Iw8xvflwahDfEuR5sdSQP6427PuNpsNk8nEkCFDABg9ejR9+/bFYrE4hceiRYvYsmWLZ9103Sl8+vfvz4033khycrK8R5WsXbuWBQsWAMKj0Ww2o2kacVLIjho1iuHDh3PeecK+eubMGb755hsKCgoAKCktdZYNYMiQIc6yAc7y+SubQffu3fnNz6y0blHt97qzLvL7w3WteGjGL4KG9UbTNLKzs1m5ciUAH330UUTxFfXHu58GtxlOvN71Z315nh2rDbLGCWEQSNh99Z1Ic/cBeHBi8Dz/PV38T0OVwz18ZTW88ZGrcx/UR+Pe8S4xsvewSC91kCi7yaSFlb4hHOsSZcZUKBQKRbPHUpMh0DOVsHEnbJSOC0mJ0K8LXCTNXd/tgJPSlBkrtdxhKTAiCfZLTe7TTbDjJ9cbf5d2kJYCbWT4w2dhzXb46WDwsqzbLD7hYDZBp9YwoJM4bm2Cdq3AFKHI10xi3hpAShe4sDNsau3KI2roHl91Q5DEK47D/GVwVZI47nAedG0LqSniePn3UHEqvGxaSeebay+BC8+HVfKZvbtUfJ+QHpit4uOZOXMm48ePB/AxFQJMnjyZ559/nnfffRdwmTUffvhhAO666y5iYjzNKzfffDO//vWvAbjzzjupqKjgwgsv5K9//SuAU0Nz56abbuKOO+4AoF+/fs6yAYwfPz5o2QCee+45j2txsSZuTQ1tQth9WL4Vd7yWXr16hQzvTVxcHJMnTwaUZtdUOPppXFTSaRHr7SXqiyWAEmUyQXlhZOWYMtNG1jizh3OXO7dca+bop65O8f/928aL79i5a6woxN8eEP+hxDZ17/hToxVUdF2YANfKIYkrkqBnWxgmPSmXbXKZpzq3E983Dxeu8avLxPGKTVBd7ZpG0LUjnJ/gms5w+JRwfa8L3G9rNASJphFVxymfMkVR2oXpfOtk934okzMBLukMLczQo604TmzjKeyM+xBjghRp0r75cnFrOsg4GUPFy1GVjLdpF5yt0pzja3FxcVx//fWcOiUC/Oc//2H16tX06NGDnJwcANq3b8+jjz5KUVERAIcPH+bxxx/nnnvucZblwIEDrFsnBnwHDBhA3759ueCCCwB44oknePzxx3niiSecQm7fvn288sorHD58GIApU6YwdOhQevcWjdpmsznLBsLl3ygb4CyfUTZwCbsBAwYAcNUFVnp2DG3S+UeBeOBzF/+H/8xfQFxcHOeffz4AM2fO5IorrgiZxpVXXhkyjKLxEK3OvkVs6DDxAfXQhnAAACAASURBVBYFibQcJpMYOrn5USufzAycsXua3uWrDyFnoMyYCoVCoWj2WGqqNJw6A5ulo8L2o9CtNQyVFpfBvWD7fiH1r75InLv8fNh7HBZ+I45/kg4nZqlSt20FMW6FqayGU1WRl0vT4GLxAs+VXpapFrEwNAlaSG2yUxuhaQzs4VoiC+Dwafh0rfh98izceCkkdXClbzJB5/biuHuCmCA9WLx487sbxNJn4HLS2PQTrCuBU2EuJl5dm5edCB5oOP5jug7HpEnaaheety2khTDWa3Uko9gtYiBNLgYw8AKRiRG0owmqqyBBTjWLiRFekIZmV1paysUXX0yXLl0AnNoZ4NT2cnNzad26NT17Crt5z549mTRpkjPcli1buOuuu5xaWtu2bVm4cCHdunUD4IYbbqCyspIbbrjBOVl7yZIlHHObOL5gwQL27dtHbKzrVdQoG0CXLl08ymaUzyibx32RN+bWVGtIzbp0n42X/ycmMlrdvLzKyoRJ5KqrrqKoqIhrr702aDrt27cPnpGiUXH9A75OS8teCUNN8yIcza5lEEtlwg2VPueG9hON9vNXPSP26aZRuldn0QoHn3wt2mplVeNdrLHGC0E7HLBdjtmtKoHBXUTHD5DWH77eIsa2xsmpBjEm+LwUVvt3VPNZl0ADTDW4b2YTXCoF7B+u8bymIVb4iJPpxibATZeAt2PspgOuclZWw7ir4CppojW8HY3vlgghfZEUdv17uupilxar/66HrfvCF3Y2TXhO1gU1STZG6v+aJlasOSM9Xqu8/p+aJtKvssEGaa5eIj0728n+/8Yh0DvRNW5g0vCx9+/Zs4c9e/b4lMPdBb+yspKDB8WA7p/+9CePaQRPP/00hw4dcqZ77Ngxvv/+e6ewa926NcePH+fEiRP897//9Vtns9ns9Lz0Lpv7t7/yVVZ6dhjndxANYcQFwV3NAZ78d6WHkPPGZrPx+OOPs2rVqpBpKZoOy9dHZzZ3MGFnNOeYIL1+XATLe7ZtDff/wsw/3rcz7jHRtqfc0nhX9VBmTIVCoVA0e2q1xc9RuczU2lK49gJo110cp/aF5K5wYV+4UFij2H4UFq6H415z0Iy5vsdPgdVt5f72raFrDSwxdges3yh+/9NLlLeIgSE94FLxgs+xM7BqL+z2mgi++xAck1qY1Q4fr4Kt8kXeZBIaTBfpeHN1X+gaB5ul1+jKMjgjNR6HrMyGUjgZptciRO5E4o6hEQZUit2dtcLQnBNaQTepsceZ4Ww1lEnHoYoA8wmrbPCtXFpurlyqMVHMzWb/Mbikt2uu3tmq8HY2GDBggNPbEqCwsNBpdrzqqqsA+PFHMfN+w4YN6F7LjpnNrjfO48ePc+aM28oHbhhenG+++SYWi4VDh/xM8AxRvsLCQo9rv7hc2LVDLWW384CNxWtDL+x69GgdeW4pGgxHcRCvkQho2zqwN6bmE8aXw4XhlyOhlcYrD8fw/ud2DsglBJesabzrjdVK2Bmro2w/KKYhDJHrHfZKgFuugot7uDIo+hE27/SdbGwImYPHoNwGPY2pCAlwQVdYLNVyb5OZwYA+MFxORP+uROTx/VZxvOMnz7Bt4+GXI2CQnHpw+AQs+RZWbPFMv7paTK426li0Fr6Sk8bRhKn0wj7isG8H6NDJNX75zjIo9xIClZWuyd/BcC5X6xAHhkmiY9vAcQzLXms5heKgfAGpqvnOOB6kDhELPIMwK+8/CevkSjlnvMdUgwhpY/GAxavh642uNTtPnCbkGpZXXnklH330kXMc6ptvvuHZZ591elK2aCH+oMZWN0Z67iuqGN6MIIRhdbVvg4qPj2fRokUAXHvttRw9etRnAWZ/ZQOc5TPKZnDLzaMYOyy8uTGvLqzi5OnQps527dqFDLN1a4DxAkWzpkNb159wzWaHxwoqazaLDrt9eEuzhsSYfvXWtBhGZ4t2W7Kn8Y7ZKTOmQqFQKJo9Udmp/GA5bNgJ10kNK6UtjL0A4s3wrbQCFW3wv/WO8VK//ygs3QQXjBDHrUwwcqCYWA5Cs/Iet+/WGW4fARmDxPF7CbBzn2tC+7EKz/AOK5w569JI7XY4fVpMnq4M4vl5ttKl6YHwID0htTdjeSxDMzx+Ao7VcIcaw6RbehAcfcScNhC7BHRqB4f97DKTJJct69sFLBbYIjXMkzXwZDUwBrCvGgZ3XwPdpXPJiSpYshVWSqUhkB+F2eQ70G2YdCtOhTcR3TAnPvbYY/zxj38kISHBuX3NY489xqlTp5xLexkYHovedOvWzbl0GMCKFSt8wvTo0YPly5c7w+3Zs4frr7+ekpKSgOUzygY4y2eUzSCl7Xa6JIZn2vnsu/AWVTW8UBXnHne/EFjz//zVOG68QugvcxfZefgVm1ObaxmnsXiV+D3xusD2dH9eoQb/7z5PcWEsoDHyMjP3/Fyk7b6UWGMjKsLOZod1pbBeTiTvNQjax0BFNfxPuvBv/8klZPxRcRLmfyFWOAH4zTCxMskj0orUqwt8u0uMGXWUavjNw2DsQOgiV+dIDGM1lGozHJcetCdioFIPXi5/6LrLTHgCOB4LVdLkWBsvykrZzj7+CsYMh0EyzbQ+8PBYWPg9HJJmyrg4uKAH3CK9Xfu1h5/Owkfyfpd7CVyLRQjMlvKJa0CbVtCzGzikmb5jW+jWVkzPADFdpE87OC4F1bsb4O0iOHjUdR9AeGWB2G/QYgJLLFwo++Nunf2vaxqMxMREli4VS6sMGzYMq9XKzJkzmTNnDgDV1dVomuZclNnAmCbgvV3Pb37zG4/VTtz3fEtNFQulLliwgM6dO7N2rbiBo0eP9piK4F42gKVLlzrLBjjLZ5TNYGJa8HUwASpOi/DbD4TuKIYNG8b8+fNDhnv55b+HDKNoenz5bXAz4cTrhSA7cETniddtvF3o+o+0jIOpd5q5/1b/3b7DUXOv0NmPiZfTgmI7Px2uURJ1jjJjKhQKhaLZExXNDmDPfvhezru7fgB0NsH6w7BcbkETavdwhwPK9sMrH4vjg6fgV1fCEKllpHQUW/FU2sSWOgCtYsEcBydkLSr9rOLvzokz8O4SWPCVOLbbxaTx6tA+AT5l3SYtZg//HWItLjPnSf9OfmFhaEo79sDDr8M9Y8XxqH4wYTiMH+zy9EQT2p1D3otvj8B7n8MyuU2Q4QBiLBF5RwbcdwV0k683ZmB4d7hgPJySaZ60CUeXllJz3lMBs9fD5/IZflcqNHB3f5LB/eH3o8XvkUlg+HIZ62n+9w/wzy/graLw7kG/fv1YtmwZPXr0AODgwYM89thjfPnllx4ak6ZpbN++3SPuyJEjAXjrrbc4ffq0c0PT3/72twDs2iU8a8rLy0lISODuu+92bnSakJDAsmXLuPXWWwGoqPCygbuVDYTZ0ygb4FE+4/u2jEFc1Cu052TBN+IhDbxwCLt37/Zw2ImNjaV79+5OR5kHHnggZHr3339/yDCKhiXGokXkgVn1ZWTemn+YaOEPEy0cOCLaksMB3Tr5mp36dDdF7AkaLPyej4Kn9fTdMc5ti+qbqAk7uwMWyKGQ/SfhvI7w+RrPPdVC4XCIrSkAXp4P/1oEfaU57KIBwvNQ1yFOmveOHBUmsm07xfG+w8HH3nRdCMxTob27Q2J4yx+t4fhc0LTt8O1WyJFrj3bvBBddCF06uCZjW21Qfgy2lorj3QfEC4X3OJoxDvj197DroH+HSaNv1WXe++QzOFAu8jG2P3L4eZP46SC8+YX4PW+tb/oOHcr2Ba+vyWTi8ssvB6CgoMBpKgSxT9uLL77oE+cPf/iD0+S4YcMGhg4d6lzdZNmyZVRUVJCSkuJM//Tp007BlJCQQGFhoXPdS3EPdC6++GKKi4sBnNv0bNu2DYCPP/44orIBjO+/KuQ0Epsdlm4RA6+ffvqpc/88A2OPvHDJz8/n4MGDvP/++2HHUTRfzutQnzurN26UGVOhUCgUzR5LNJfUP1guvj/+rPZpVVvhyHE4IieIr9kotJrW8dBdTlRP6g4d20CXweLYZIGjp+CQnOBYugfKKyLfhby+Oa8TTJsEl8u1PM020O2wUc4TnPoWfPCp+G3Mbel9PrRvK+oMgOZanswdw4dj6w7xiTZHK2CNr8UvIhwOB7/73e8APDQnEEt7ea81abVaKSsrc5r7pk2bxssvv+ycd9elSxe6dOnivF5WVsa0adOca1necMMNHlodCA2qQ4cOdOggFkE1diownFk6deoUUdkARk4MPdnxm51meg0SduC2bYNMqAyCruts2rQJEJ6nSqtTKHxRmp1CoVAomj1RG7Ora9olwDVDYEKaWHQaQLNDlS4WJwZoHwft4qBSOpxsOAy//xfslhqSySRWJYmV417VduHuH+nUg2hz7Dh8vBrayCkUN3QR89T2y3IaY5SxsTCsn/g95XoY3BU2Srf+15ZB8cbAK800doxNVL//XixVY4xTGdqZyWRyTjWoqqryWDKrpKSEm2++2bnXXP/+/XE4HPzwg1iF+quvvsJmsznTLCsrIycnB7M58KaTDocDXdfZuVMMCP/444/Oshnlc3ckMcrnXra28aFNCvNXteTXD48PGS4Yx48f53//+x8AM2bMqFVaCkVzpdELO8Nsd9u1kHUVtI2FFXvFuY++c20lBDAkGX5/DSRJodHaIjYqNHYo6NEZxl0Bg4SjH2tKYdEaMaG9IamqhqVfgy6F9KW3QOfWfgLqLlOl1SacGwzhZrU2fnNtMEpLhaeN4Y3oLey8hYv7sSFo3nzzTY847mHdwx84cICvv/7apwzugs89XxDb9xhrbwajT59eFDwZ3sTan46a2G8dwEUXXRRWeH9s376dX/7yl86l0iJh2rRpgDCfaprmsfaoIvo88neX2/fM3zeMR2I0ueMZ0fm8eH8MXTs2fkcYZcZUKBQKRbOn0Wt2XeWizVenwPkJ8OMB+K98KV+6Qayab/DtD3DqJOQIaxb7T4r5b8ZcswE94edDIVnOI6s6AyvbQIXb3Djj5d5bS5ILZThd+41F9GMsnrsU6LrQuuxBXu7NJjFHztj8NMYiHHJsMs9KTboNee1gYDLBbul88+oKMRXjuFxRZcfewMt3GXnExbruhdkk8qysck0taEjN0Nj5IJwdEBozVacO0/e8xNABgYXrYxiVMd7vvnnBsNvtPP300wC8+OKLfhe1DkSnTp3o2bMnY8eOZejQoc7z8+bNi6gMisj523uuP2hz0Ow+Xe2gvAJeuLehSxIejV7YGSZIM6DpkBAHfaUA/CZBmCDdBctHn0OFFIBVlWIu3mVy5/KRg8XkdIsM3/c8uOlSz10KHPKOmIw0dbHNz/dyKbRvtgmh002WYWiKWCZLk4LiVDV8txN+LPMUHrExcJ7csiilK/TsLLwpAdq0gcNHoKNczN7Y7cDdMBAbA4P6wiC5G7xmA90BxnCjbvcVVm1aQy+5dmZSJ+jaAdrJPOPjhCfl3kNi1woQ8/DELgQoasgF3TVnmw2EVbat91e34OdJJ3jnnXcAYTJt2bIl48ePdx77w2w2O9f3DFfQGYJt+vTpfq97b0ukaBycOiP+jC1iwWKJrqnw1Bmd1vHB06yq1omLDT9f76X6GhPKjKlQKBSKZo2u69GdZ1cXHJErlGw5CMN7Qde28KvLxLnWcVC8DXZIj8R95cI095nbovbJPeDXYhUphnWFOM1lguzfCTrEQ7Wb5eywLpb8Gi43eO0SB2dt8PoacfzNNmG2bCsdZ0b0g58PgU5y2a59pyFvOWzb7fISbRELl14At17hilNVBftl3ap0uPg8SJZaWHs/Fg6zCXp0hPGy7hd1hAQLFIjpVfylQizlZeTZsQOMS4NxcqHonolw4JhLi20RB137Q9sWUCLv34droXA9HJLz5pqLhmc2myM2FUZKXFwcMWYHL9/XKmTYLzaLB1x20Ma0p55yu9EaHTq0p2PHjgBcffXVAdPIz88H4MILLwxLuxs7dmzAa4cPH1YbwjYy/lNk54+vWNlX7jp3ST+N92eItpPU1cTdL1iZs1CYCd6YauF3N1k4eFS0pa5jq+jQ1rUZ62sf2Lj/rzam3mmmUO5+8O02nbatIf9xkeYEuRvCp6tEmg+/YmPzTt3pJDj+GhNzp8X6lPWdT+3843+iE91XDrdca2L+n0WamqZxplInZ5a4/u6ndqw2yEgT/8fcBy0kdTXxnyKR5+3TrUwea+adT+3OZRzLPozj/C611xYbvRnTWI5r/krhWTl6ICSJeb/cezWMHgzfyakFq7bCd2WwTXprVlnF6v/vyzG+w4Pgl8OglTQjbdgHn3wD+90mRR87BT8dhRfuFMcZfXzLZLfDZrmB6dvLoW9XuMbYdUVzjeEZ30Pl+pGXSy/Q7cfg3TWivEY52yfCb68Vx+NTxC4F7taAs1WwZA1O22bOaBjcwfWqYny3kEL3V9fDfVdCBynYi3bC3K9hu1y6q3VLuOICuP1yuEKWvVNLkc8nUrD7bM7aSIiNjcXuZruOiY1Bd+jOHQi8MZlMAa9Fi/j4eJ6Z1IkLzg9+0xw6zFshOoIjR8o57rUGp9ls4m9/+xsAl19+OXFxcX7TMbYimjBhAu+++27I8rlvKDtlyhRGjx7tPFYmzMbFmUqd26db6dAWXn9UdNH/W+5g6VoHT/9TCA1vodOqRXjCYMbbdqbeKTqFm6+EZ+fYmfqaSHPCdWYOHdW56RHxX7HZ4dl7LJQdEL3Lm5/YqbZV894znnl//Z2D6b8T5XyrwM4Hnzv4x/vi//n7Wy08NMvm3PrnVyNNJPfQeO5f4thut/HxTM/05iy085sbTaz4XuQbDUEHyoypUCgUinOARq/ZGfPKtuyC1xbDpj2QKtb35aKe0LsT9BNWH27oB9/sgSIxl5j5xcK095Vctb9Da6i8COLcNoxd8YOYq+fNsROe+XtjzO07cVrsxOAPY5+3my6H1CRhugRRvo9XeO45t3OvKB/AdT0hzs+TsTnglPQcrbbjd5HhZOnAcusl0CUGjsndD976Gpau8gx75Cic1xZ6SFNn3w5w7QBYLfcr3RXBIt61xTAzGhPHjc1b7Xa7z751NpvN45xepWOxWHzCBSMmJsZv2pFi7KF3XudExl0WWnvcfsDEl5vEW+3p06d9rp84cYIffxQq/wcffMCvfvWroOm9+OKLfPnll+zZsyfsMhuT7w2UZte4iG+hYV8Rx75yOH1WdFaHjsHStQ52H3SFi6lB7/3ABDN/vtc1TvL6h3YOHXONV7z/ud3p1f27m8w8eZfFOec0dZDGwN6++tGffmshbYg4n9BKo3ij1Tn8BPCvRXbnPqOvPiLyXrZO/O8WrnCw+4DneMmt15l4+ylfc2ltafTCzsBuF+71ew7AF3KcamAvuDgJ0qTwG9IZRvaDIeeL45Zx8K9lgVdICTokpQc9dGI2CdOh2c/mv93kRtoXdBY7rx+SgmrLXv87L5ySgqkK/7sT4HY+0PXhA8V35zjhIXpKNtw1P/iGPX4aftwL5dJbtUM7OL8ddJFeo2UH62/czlvoGGZKs9nsc83b28vhcGC1Wp0CU9d1n4nl3tjtdr9pu+O+aksg4uPFGN2oSyx0ax9a2L2/ysLhI2JTWH9jbTabjV27xKotf/nLXxgzZgwJCQkB0+vWrRvvvfceV111Vci8QYzxGRvZ7t0r7P1nztRiX6paEewZ1bThNU5PwEj563t23vzEzrbd4j5c2EfUK85tPL+lHwu3OYStLsFrSFnTXNuBAWzc7rrvt/7MJMOIvCff5F9ctPfTPE9KL9ItuxzOqU0A7Ub5mvl/2On5H+taRzs1KDOmQqFQKJo9TUazM7DaYJd0SNn1ExRvgqVSk/vFlXDbhXCe9B769eXw+Y+w3d3Cowf4HYKavGu0k288CXEivqFsOEJsMuswHFzCycTLQ6WznM9smEGNPejOVuKD3Q5nzkK1fLHSNTwcbBoSQ6Pyp1nZ/czYD0eb804/lNYW6npMTAwdOgg1+LYR1SGf18lKjf/7wu7XfOmOofHt2LGTN954I+QyXldeeSXPPPMMEHgencENN9zg/K3Ml42Tr79z8Ng/bIy63MSK2cKcd6YSeo2volVLVzj338ZwS6hNss96KVZnKj0tX/16ulrx7oOe/6dfT6+mbw+NZ+/xdBdPbOPb8g1t8fzO4pqhhX7/b1GfLbtE2n26C9Oo4Y1ZlzRqYacBF8gdr4ckwdGTsHYrVJxyhak44TLRmeMgYyAY21+2awGdO3gJO801AdxsCixQHG4XNILcKB2w41d6GeNrZ20ikZbSDH1eIsSYhbnSHWNFlTiHK19nHmFSLscaq2yi0K2k7t6zK5Tu9gxrMQuzRksZRteh/BQcOeE6bsq4mzXrgtatW9Ovu3hKl6WE/rMu+dZC2b6jYXuGVlVV8sYbbzBx4kTOP//8oGFvu+02AFq1iuePf3wkYDh3c6exfZGi/rl2SmCv3T/eLnobXYdvt4nO4CnphekuzAb3NSE6H/i/IjvHTup8/V3wF7STZ4If33i5iYfk72n5NipOwfa9uszDwd03+xmv8UOVbOKt4zXGX2Piwy9Euf61yM5FKSZ++aTrP3B6uac91rtM0UKZMRUKhULR7Gncmp0m5qgB3H01HD0mTG8rNotz3tvZmE1gsoEuNahDVbDzJ7GsFoi3olOnoYs0L3ZtC50SYdchaCHmXhIXIzwsjZcLB2JLoP5ywne7tlBxHBJlGqmDoHsbsVwXILQwqUjskhrlrqMwvDu0NyaiJ4s5dpvFHp/YHWL5sZ8Pl3m0EFqdseyUu2LiPa/OIl+0LBZAgxXS83TiJdCpBbSR92L8ZTDrABg+EZomHFEuTXbdj2OV8MN+ONRM5hfX1tMyGGazmS5dutCxjXhDnet8O9XdnpexdJJ4kAvWxDidQ8KhurqaAwcP8tRTT5GWluZxzX1XCHeHnTVr1nqEMzaXHTxY7HBseLnu2rWLli1ddrCTJ0/SPDDhWkTPH962HCOsKcCx+EPrJrkLhsM7fXeXMXfdwT2Mb5m+/NbX2tBJLhc49soYbrjUTtEaB0VrRLxf32jm6AkHn6420tGYeH0MbxWIjqeg2MHiVQ6eyxLta94y73sg8hNt0yintzVC54Ikjdfk3L7sPBuP/cPlXTL+GpNzAnogzlT61uuNqTGclvuuvfCWHbCTNljctxfvj6FlnOczOXW2biwxjVrYobns0ue1hZTWEJ8Bl8o93X7YI8bwkruL49EDoUMcHJHPZ/YXsHe/SzD8dATKjkE/OSn94h7w6M2w57hYSQSgSoO/fwKrtonj24ZAvAmukFakWZPg4CnoIteY7NUF4ltDlWxbLUzQsx106wwH5aLNn6yHIT1hoBxPu6YvdLxNrAoD4m/QpyP0kpO7TS2BauggPaeGpQgBGxvrqmu7FkKIG2tfDukNuw/DTilg/70aet4M0mTOby4V++UVy3q1iocrkuH6FDlWByzbDoUb4GQIu79CCI0DBw7y8X7x4D/+2p9B3LUyCggBdfr0KZ9QwaZZHK+oYO7cucydOzei8hlTIgJNOE9KSnKuyVleXu7cKb55IDtzzejU5YsBFjTs8rvKGVY3AXbRFWqaA/GPlHFMgMOCbggrkwPNYUGXeWhOYacDouNxmCxoONAchsnPim6yYFsjOhmTTZTFQDfpmBzgEj46n86K51C5g1bxIs3W8RZOVumYnOMrDsDEwr+JN+jt+2306uIgxiTa0sO3xaKbbOiI4/tugTtujEE32dF1o64aFZ+ZpQAX+TtMJrLGiTyyxlnYe0h3jrd1aOvZxg8VtPC583eNtXDXWE+x0j5BY3GuaI82m86ps77jfLeNFPdq7Ii6MzYqM6ZCoVAomj2NWrPTddeE75V7YGhPGJgMyVIDMjQQk6xFlQP+sxW+kg4ri1d6bnuzbQ+88zW0kNrisJ4wvA30s7uWHPv4K9h9EErl8QvxMCUdekkTw1Wt4GgVfCeXJJu3Gob1heukubVNS5iYBolt4ZVPxLkV38MME9whHeEuTYJLEqG/dL7ZdxK+3gZLt4vj+0dD13joKt+oHrkZuiXCwZPwqyvFuR4dhUbWW2p6OT+XS33JieMfLRdm1Mwx4nhECtx2JYyRE8hNJrHdz87DUPilOPfpOig70PA7tzcFKisrqaz04+JaA/x5l9aWa6+9Nuywxi7n9Y8Zl3nPXUMCo2vSTXY0Z4O0oOkmdE3cL93iQLNp6Lqxb1UV4HDTVDwbssNkx4QdzaajW6Rm5jCj2W3oZtGZ6I4WsiQOZxoauJUhTqTjPJbl1cwYuoPZrqFrZnRNaDOarqE57GhySxWHCUwOmzMPQ1PUnNqkHXDQoQtY7BZnPm3iHOi6YS6vQjfZ0GQxkrs65D0TmqCpBVjsZsAY67HQOl5og7rpjKxZHG3iHWjSZVs3WaTm6GqPPTr7s1jUHItFI7FN4OuhdmGoVd51lnIU0HX4eoP4vWGzGE9rGefa4659onCd3ytX+jhxGs5Wu9xrq72c3k6dgaVrYa0c8+vSUXgjHqlwrWZy8rTLkwjgP0uhaC0kyYWhY2PEaifHpfe4zQFLO8Fr0uRYfkTsfVdpc4Wx2kS+q+Vk+LatoUcX13SAnw65JpSDEMoHDoiygJg+cLpKjO19/Y04Z/ZqEzpQ4Vb2Sius2gSbd4jj1i2hSwfo2kXeq5Ow7yAcOwmnZd6V1U3fA7MpUhdji0uWLPH4bpy419vT5Gt0uKIzdwkvXXPF0WyGeVg2em8h5zZ2CmB26CItE7iSEUsRGYLIEBbOPBwmGd8oV7U0OXqVW3cJCEMYa7q7x6VLiLjiu8qrud0LQ1hb3Osi09C0atdvj3KYPcoptjFzL7fdLZ40Y+LuaACao27Xj21olBlToVAoFM2eRq3ZgUtTcde2yqRjh6YJTSSSF+Mqq2sLm8PHRRrB4ldWw0+HYf8R1znv8NvOuCZiyazDGwAAIABJREFUB0rLaoWjsg5HTwhzoaFFeWtTX6wT5/xpWf6WGQuE3S40NxDfew+DaZsrT2WuVCgU5wqNXtj5I1qddCCBEmmekaQTTnp1JYR03XNXd4VCoThXUGZMhUKhUDR7tK7jf69v+dfzDV0OhUKhUCjqhAG/ekppdgqFQqFo/pg0n+VzFAqFQqFoPngv5qZQKBQKRbOkXoVdYmJio0hD0bSJpA2EClvb65Gi2m/TpLbPTfV9DYxWD1MPEhMTqaioCCscEFZYhSJcKioqArbBUG3T+3qgzsY7DX/xatquQ3Vw6v8Smpo+x9rGV31f46LB5tl5Nxj1oBX+CNSx+DsfqA35E3iRCrpg6YeTXzj4+09ES2iey3g/j0juYW3aQbA0o5meIjwadFJ5qM4m0muq0TRPwnlj9tcmvM8FOw4kVKIlYNzzCpRvsDyVoKt/6qIdGKi+r/6pF2Hn/UcP58EEMjsFu65QuBOqowp0PhptK1DekXaagYSkex7NlVdHJvLEhfOpyBvpcX7HqyMZ+uF4NhRNoY84wcihT+C+be2k+RW4R6vJvaqLlxzV9zUMOvUk7ILZwsMJZ4R1N0eoN91zh3C0trrK111oBSOYCbW2hOr8mitTHp3EExMWUZQ3Epfc2sHiD9dy6fjZQtAVZZM4YS6T5ldQ5AxURPbIV9kxUgpDN8K5b8G06kjbger7Gg8NbsZ0f4AKhTc1cSyJBqE6o2DaonuccAR1uHU55zq5kWOYxAQWFeUx0hBkOxbz4dpJPFrUB9jBqy/O5dIXNuCp/I0kT0o+7+cRqZZd03YQCtX31S8aDWDGrEnDCDRIfM79+c8xGmrsojadkLcG4K9zVe02XEYyZhJMWFREnpR2OxZ/yNpJjwpNb8diPlx7KeNne+tvLsLVyPwRDWGk+r7GQ42EXXl5ecBrHTt29DkXjQbnj2APPVgZFXWPv3ZgEEn7iUSzCza+FY5XZ0289RoTjanNB3v+EH4bGDlmErxYwg5G0keaMCc96q7GXUhKYFkXkHCcT6I9dhspqu8Lj1BtDWo5ZhdOBrUlnLeXQA+9Psqn8E84f7a6fj7hmKvq8+24Jo4pkZrcGkubD7ezDau8I8cwacKLLN4xhSks5kNeYLaHyfIHSnbAyAgEnve9bIyakur7wiNswa5pDb+fXaAHFmxQ2J8dvrE1VkV0iGSeXaBwDd0ugpXBXzv3Nx3BO3xD16n+GMkfXniRrMU7uJEPwXBMAehzI+MvfYIPF+9gypTwpJ1xjwONpdbnfVV9X/3S4MIuEIH+8HVpclA0PmpqxmwsBBtz8SYcgXgudm59bhwPWS/zMniNz/WRHptDyU5xn2pQRPbIEv5Q5OuNGcrrsTGg+r7oU28OKt74s5efa39gRWgibQ/R8pSrLeG06dp4YJ5z/5c+NzKeJ8ScO2/pNTKPig39GDk0EXdRNWl+hVPQhdvH1Mf9VH1fw1Gnwi4cFf1cfmNV1B111ZZCvf37a9OhCEejO7fpw5SiCqYEvDyFogr/V6P5PLzTDXVd9X2NizoVdv7eSCM5DidNxblHtNpJOA4AtY1Tm/ba0FpIcyAaz6Mu2oHq++oftZ+dQqFQKJo9StgpFAqFotmjhJ1CoVAomj2NduqBQqE4N1m2bFlDF0HRAFx//fV1lraOroSdQqFofAwfPryhi6CoR9atW1fneSgzpkKhUCiaPUrYKRQKhaLZY9IbugQKhUKhUNQhmq40O4VCoVCcAyhhp1AoFIpmjxJ2CoVCoWj2NClh570XVaTfCoWiKbKcqb160cv5uYU5u9wu75rDLc5rU1nuN75XnLDiKZoT9T7PbteuXRQUFLB27VoOHDgAQNeuXRk+fDgZGRkkJSX5jee9Snik32pV8eZDTduQoomyaydbb59L2YyficM5t3DNQ3O47oPJJLGLOQ89Q/+5ZXzwM2D5VHrdMocvPphMErB8ai8mvQcwjOmeiQaNp2h+1JtmZ7VaeeWVV7jnnnvo1asXL730Ep9//jmff/45f/3rX+nVqxf33HMPubm5VFdX+8SvraBSgq7pU9s2pGiiJE3mAynoAJJ694f1JewE2PUZC9cPI6W3vNg7hWHGNeBnM8ooK5vL7d5phoinqBlZWVns2uWtQgtOnz7NQw89VM8lclEvws5qtfLEE0/QsmVLVq1axe23305SUhKxsbHExsbSu3dvbr/9dlatWkXbtm3505/+hNVq9UijtqZIZcps2kSjDSmaB7t2boVhKfR2nulPbw91bCs7/fe3XtQ0niIQU6dOZcaMGT4C7/Tp00ybNo2xY8c2UMnqSdi99tpr9O/fn4cffhiTycSXX37Jvffey9VXX83VV1/Nvffey1dffYXJZCInJ4f+/fvz+uuve6ShNLtzm2i0oYaliOzEUby2o6HL0cTZNYeHnlnP7Q9Ic+POEta7X0/qTf9w0qlpPEVQkpKSfASeu6C77rrrGqxsdS7sysrK+OSTT8jJyQHg1Vdf5aGHHmLdunWcOXOGM2fOsG7dOnJycnj11VcByMnJ4eOPP6asrMyZjtDMishOTCTR+XHvPLyvJZJdhFd8RVMkWm3IhW9bSXRvLBGhhFj9sZyp1zwD07/AadXsncIw9yC7drI1nKRqGk8REneB98MPPzQKQQf1IOwWLVpEdnY2JpOJr776ijlz5gQMO2fOHL788ktMJhPZ2dksWrTIea2iogJ2lLJ50nwqKiqoqKhgwwyYeu9ruPqZy5ixQVyr2DCDzRMSGSV7IaXZNV2i1YYEO3ht1ASYX+FsRxUV85m0uZSayauR5FUs4b4+NYqsCJvlTO01ia3Tv+CDyd4uJN7mR2/zZCBqGk8RiBMnTgCeAs9d0BnXG4I6F3Zr164lLS0NgHfffTdk+Pfeew+AtLQ01q5d6zyfmJgIfe5jSd5I57k+yQNhzVa2+0uoz30smT+JNVNfpgil2TVlotWGANjxKR+umcSYke4nR5K35D5c8spT83MpfVKLK3qNUYmJJCZmU+Sh2QW3LihqShBBl3QdY4etp8TwLNlZwnqP8bwA1DSeIigJCQnO30lJSbzzzjseGp379fqmzoXd/v376d69OwCbN28OGd4I0717d/bv3+88708z21G6GS7rT99AiY0cwyTmsqhIaXZNmWi1IQD6jGb8ZXOZMOq1AJqc0Pw2z9jgZiHIxiWz1jB1JrxeUUFFRR4eMpOR5FW4aYw+cRU1YvkS3gPWP3ON21y7XtwyZxeQxOQP5sIkeX4SzHWbPrB8ai969ZrEe6znmWt60euWOQhlLng8RfOj0e5nZ7VasVhcxfOZJ7fjNe6duoZJ85cQjgVJzbM79/BuQ4I+3LdkA4waytDEqfLcZczYIE2RUvN7ZIlsVX1GM/6yqSwqymPkSBn29fuCtLkishMnMNd5fBmlO2CkMnPWnJ/NoKxsRrAAzCgrw1+In80oI3DUwPEUzY861+y6du3KTz/9BMDAgQNDhjfCHDhwgM6dOzvPewqqIrKHToUZG8gbSVgoQdd0iVYbctGH+5ZUeI79DpUa2PatrGEuE5ymyKFMXRNuSYWgc2qFFfOZFG5UhUJRh+h1L+wuvfRSiouLAbj9dp+pnT4YYVavXs2wYS5/KdeYm6tDWRLKK6BoEXMR4zNqzK7pEq02FIg+9z3CJDZT6rRrTmK+uzmyoiK8lyrZ3h5R3ioKRaPDhFa3GWRkZJCXl4fD4eDqq69m8uTJAcNOnjyZq6++GofDQW5uLmPGjHFeE5pZBIJux2uMmjCXy2b8gZEoza4pE602BIh24e01UrSIuZeNZ3QfYOQfmHHZXGa6zSXY8Vp2eFML+vbnMnehWbTIzZypUCgaCp16MGMmJSVx0003kZubC8CUKVN46aWXGD58OC1btqRly5YMHz6cl156iSlTpgCQm5vLTTfd5LHGYWJiorPzWDN1qIfH2yhnT7SGqUPl+aFTGTi/wikUlWbXdIlWGwLEGNzmCZ5z7CbAfKc3Zh/uWzKfgW5tbOiH/YUgDEWf+3h9Bq42uAhlxlQoGgEaoHW95QF9y5znIopYXl5Ox44dww5vLPXUv39/cnJyMJn8y1iHw8GsWbPYsmULL7zwAjExMRGVS9E4CNU+Im0/oNpQUyKc5xsszLJlyxg+fHhdFE3RSFm3bh3XX399xPHC7UsG3j4NC3pNihYZMTExvPDCC7z++utcccUV5OTkkJaWRvfu3bFarezfv5/Vq1eTm5tLRkYGf/7zn306qdp6UypvzKZNNNqQoumwbt26hi6CohmhA1rX8Q/oW/5Vt5qdO2VlZSxcuJC1a9eyf/9+LBYLXbp0YdiwYYwZM0Ztz9IMqAvNzh3Vhho3tdXsFIpwCbcdDbh9Gpa6dlDxplevXtx///0RxzM0s9p+K5o+NW1DCoXi3ESjCe1UXpuNW92/FQqFQnHu0WSEnUKhUCgUNaFeph4oFAqFQtHQKGGnUCgUimZPo10IWqFQNG/Ky8sbugiKcwgl7BQKRb2jph0o6htlxlQoFApFs0cJO4VCoVA0e5SwUygUCkWzRwk7hUKhUDR7lLBTKBSKeqS22439//bOPjau8s73Xzu4TiOCT7ZJXOiLnXHAjSFemBCLrlRM6oyDSMtiViNK7l5lltWK2qW+Q6twd7J1ueC7mSsiLVMvilOt6J1crVLtzgpHtF4RT3LBVLtlneCwDtg1xBObbS44Mc1x0wZHs7bvH2fO+MyZ8z7v4+9HGnnOeV5n5vh8z+/3/J7nycZ2Zatxy7O8R2NOT0/jn//5n3HmzBl8/PHHAIBbb70V9957Lx566CEu4ktMWVhYwG9+8xv89re/xY0bNwAA1dXVuOWWW/AHf/AHWLt2bYF7SMoV9Rq7eqKhtzyh0/JW1/aV6+PyiOnkTezi8TiOHj2KV199FX6/H48//jhuu+02AMClS5fwy1/+En/xF3+Bhx56CN/5znfwmc98Jl9dIyXC8vIyLl26hLm5OTQ0NKCurg6f/exnAQCffvopfvOb3+BXv/oVNm7ciNtuu013zztCnKJeVN6OqGgJVqaipBZLipw+eRE75cabb731VtpNaMuWLdiyZQu+9a1v4Uc/+hH+6q/+ihtvkhSWl5cRi8Vwyy23oLW1NS193bp1WLduHb74xS9iamoKsVgMDQ0NqKjI87YeJE9E4RdewB2jUXRZ2UW+wCiFLts7sBjVZeSutGuVljp5efTt7+9HY2Mjvv/97xs+bVdWVuLpp59GY2Mjjh49mo+ukRLh0qVLuOWWW7B161bTvA0NDaipqcGlS5fy0DM9JhDpeQnDV9TvrZYhkqAJENQvzxHE8tK2B0c0GnIiBtkQEPnzy++ttqt+2UkvJ3Ju2c3MzOBnP/sZ3nrrLctlnn76adx33314+OGHUVdXp0iJob/djcCIfNyC4OgQOl2AdHF6EVbk9kVEhDwZfwRSYBYWFvDJJ5/ga1/7muUyDQ0N+MUvfoGNGzeqxvAmEOk5jjFl5trd6H6qFZuy1WGSRXbikKb1Fi1EZ1KwIjhGY29m5a26PO24MlfzPp85t+wGBwfh9/ttjZ9UVlbC7/djcHAwNSF2EgNNkeQTyGgQCHy7X/GU14LgaOIJZTSIca+A9v7cPwOS3PLJJ5/YdklWVFSgoaEBn3zyiUZqLXZ396K3V3p1bz+PvshE9jpM8ozaCtM6XrEM/VFVviP+ZJrnSAxADEc8XoRxBgfdAgTBjyiQYl0CSLOGzKwkLVEyqsMq3LPTGjm37M6cOYPHH3/cdrk/+qM/wj/90z+lnnR1YiikONzTgZbAJKYApD34uToxFJmE4O1DtDMEGnily7Vr1xxF6W7YsAG//vWvTfNtatqO2vOXcQXAGyqrr3lfL7zbAMkiPI3N+7bj/PFTmEUz9vXehXd18xuRal1aK0OcIQnXe4dGIXa5gNgReNx+REX5nnAGB99/BqIYSqT1IdoVQlc0gvdVY4JWLTItlJaUU5RlnQibXoDMarHuci52H330Eb7whS/YLveFL3wBH330kWGeaF8ACI7qC5lnL3zwYjAagodqV7LcuHEjGXVph89+9rPJqQlGTLxxCrO1+7AJ2+Dt7YVXTrgyjJf6Ipjo9ULSolmcOr0d3b29SZfnNsP8WlzB8EvHMbu7G72tmyyWKT+MdjxIXSRasq4OKjP4IhBDsEbsNQyc8eGZaEKxXA+iY+dBxT1hJw51J24OrttxJwbwQQzw2Ah6sRJ8kg0xyYbY6tWrl14KO1NYXVS8aHc9iMfjuOkm7e7F+tvhDoxAcluWQCgWKQhLS0s6rs9ZnOrrwSn5sHkfepOmlXpMrxaXrwDbNknvdz+mHtszyq/BlXGcn21G21OJDJuasL32FN6d8GLbalI7WL1JZThmN/U+ziAMrxBOOe2zVtoUtUgUo6VkpT96/S723SnsiHHOxe7WW2/FpUuXbLuhPv74Y2zevFkzzdU5BLETQNQPwe3HVpFuynKmuroan376KdatW2er3MLCgs58zVrs7n4KrWmCJAlX0upKuC71sZsfwNxlzGIMx3tSQmTQbPppiHN8iOTgHmEUGZlvwdMTK6OAGLVbtBiFOpvkXOx27tyJf/3Xf7Utdv/2b/+GHTt2GGdqaEQLBnBBz+0QHUQYPkSohCXN+vXrcfXqVdtiJ4oi1q9fb73AxLsYQzP2patgdvInaca+Vea2zC0NuGPnGbyfGLyPHXkBYQCHAMDTjUM73XjhSDc8CfMwdsSP1x4MWZift1KnFk7nt+UTtdUpk0t3a7GS82jMhx56CKFQCEtLS5bLLC0t4cUXX8TevXtTE6J+RSQVEDs5gJGWDuzRuhhj/Wj3htES7KbVV+J87nOfw9TUFJaXly2XWV5extTUFD73uc9Zb2jjZtRiFpfleW4T76ZOUcg0PwBsewC7a8dwWjGZ7spwhHPrMsKFrmd8CHulSMkn0aFwU7rQFY3gzoPuZCSle+AOPGgqdB50H9qZqNOfdJpaDTTJh2hojRUWi8gWIzm37Orr6/HNb34TL774Ir7//e9bKvPiiy/im9/8Zro12NCIcbeAlZ/Th4jYqXjwGkHALSAgp3KeXVmwdu3apOBZmVQOICl0ttbJ3NSKx3afR588ntfcbOxetJtfKoTWp/bhck8feuRBw9rd6E5fFIbAg5Co9w+sSvOEpIhKma4uVV4R6TEt6vpTj11dUYiKatTLhDmZZ6eFWT1W3JPqfpWzheaUilsf/e7yxE96bRWam5uzNXCpXC7s6aef1p1zt7S0hB/96EeYmJjgcmEljNn1Yff6AVKXCzMTvKmpKYiiyOXCCoSV39fJNUCIGqvX0bZ9PflZLqyqqgqHDh3Cp59+ivvuuw8//elPMTMzg//8z//Ep59+ilgshp/+9Ke47777MD8/j7/+67+m0JEUKioq4HK5cOPGDQwPD+PSpUu4fv06lpeXsbi4iN///ve4dOkShoeHsbCwAJfLRaEjhCTJ29SDqqoqfPe738XDDz+Mn//85/jHf/xHfPTRR7jppptQW1uLHTt24O/+7u+4xQ/RpaKiAl/84hexceNGfPLJJ/j1r3+NGzduoKKiAp/5zGewfv16fOUrX+EWP4SQFCqWl/M/z66urg7f+c538t0sKSPWrl3raKECQsjqhRt+EUIIKXuKdgUVQgghxcXp0yaLJuSQtra2jMpT7AghhFjm3nvvzXubZ8+ezbgOujEJIYSUPbTsCCFFRSFdZaudTF2FxQzFjhBSdBTCVbbayYarsJihG5MQQkjZQ7EjhBBS9tCNSUoCs8VtM023U85OXXp5uVgvKTcWFy5j7Ny/pJ2//c6v4eZbCr8Oas7F7sKFCxmVt7rKvR16enrQ25u++LXeeSd1kexitJq7XaHTW2XeqviYrSxPgSOrkbFz/4IHHqhHTWK1vnkAEKfxxhu/wOe31uHWL7kL2b38WHamm7Dq8Pbbb6ed6+np0czb29urmWZFiJTllO+tlJXbpeDlHi2RcWLRORUco52elfU66SchJc8C8MZr02mnRQDiuzP41bv/rlnM1bgTda67cty5EnRj6llkWulq8VOLknwsn7MiWnpi61RoiTlmIqM81hMYu2KjrFMua1W85LJaf/UszJS6on4I3nDx7sdY7P0jBeOPH7lbdSZxXS/IfxPvF65iPvE+NHARf/Y9il1WUVp/SmGza9kZiSOtvOxjJlh65zOxpIzaNBNRZZpWX4zLR+H3vodDoyK6UnbTjsIvvIA7RqOq8xaIHYHHfRBnAEgbHofgySTNE4I4egc8bj+iyvw543UE6nw4njzegWeHX8ET8gYp0z/Bo63PQfID7UN4JohdpuVM6jRsX92OMt/f4nbdesobUfVuHkANRMyLIt75FfDONIAFoF64irs/Pw0BwPT0OwAeyEv/SjIaU8+6soIsREpBUlp38nsjwerp6UkRTeVLnU4Kj1pcjF526rKaz+qu1gAQO/ICwr5nUgQt6hcgCF6ELdWgJgq/+yDujEiWacQXhtdzBLGM0gC4uvCML4wXjsS0m80m0xcxuS+MmZkZzMzMYPhZ4Lnv/QSSw2waP/nec2gMS2kzYcD3aCLNqJxhnVrswLPDM4r8k/DVBfB6IvX1QB3q0gRxlbGQ+n9RsyAJ3RvvCMDau/HIIz488i0fRGEXTrxVL3lLFkRczZN7vyQtO+U4mR1LSm3BaY3zqY+16qZlVzrojasp0624I5WCpet+NKhTWV4/wCWG1waAQz9OtZU8IRFiSLLsbBMdRBg+RBJVeroPYad7AK/FutA15TDNtXLuhSdfQ6yrC3aNTVvUP4FXgorDLY3A2x/gIoD66f+Ln7+9A9/Ykkjccjt2yGlG5YzSrHTp69/Ajuc+SB7vCs5gJihZdoXmySefRCAQ0Nwb9Pe//z16enrwN3/zNzlrX7boAOCdXwGCUI/W1lYp7QbwwAN/jBMi8MavplG/FsjXUHZJip0eZiKoJVKZChMtuOJFLVJOMQs4UaeZndcl9hoGztyJZ2wpRwxHPG4cxCGMRmXRieGI50ngx1F02anKLq4H0YEnUwQwH0xfnAR2fANbkmcasSXlvj6Ji9PArnqzctbStHj9x8/h7X1hlRuzOAgEAggGg2mCJwvdN77xjdw0vAAAImrk9wsi3pkGHkmM483fkM8D9fV34/VfAsKtmQ032KFkxc5pFKTZmJ26DbM+kNxiFpyidV7pPsykXbU1pk6z0mczKzCFqfdxxrfXxhiYLGoiRByBR/CgYzSKLtcU3j9zJ/a6AOAO7MRBDEZD8KgrbnCYlsSF2+88g8EpILemnYLpn+B7z72NfeFXJAvs4gdIidmu34JGK+WspiV5G8+11uG5xNG+8AxmilHpANTX16cJnlLovv71r+es7fkF2apLvBak618WOnEBEMX5hAtTKiMuUOwcYVUE1fm03JFGmKVTCLODFZHJRVi/1Tl0ZgEqWsEqWSP2GgbQgR+7AKALUfF2+AUBAnbi0GhUEk1XF6KR9yF4BcWY3050ZJJWMF5HoPU54NlhBGWh2XI7dmDFnYjpi5gEcLtZOUtpSuQAFilYZVLLdCwilILX3d2Nl19+OedCJ4uXJHJSxGW9ALzzzju4+75WYAGYFuchLgDnfnkC9wgiRDwAUXwnZ31SUrJi53TMTjlOZzRNwQy9tjlmlxuKYZ6anblzZuJmNjHdEq4uRKPKEx6ERBEhdT5PCKKYOBv1Q3jhDjzoyjAt7yRE5tlhvJIW6qh2WyrdmkbljNL02IXg8LN4tLUVgS0zJgJZGH7729/illtuSQreD37wAzzxxBNJoZPTs89VYEHEvHgR4sfTwIIUcfnGW1el6/3z9RBFSeimp89h11frgbUC7v4KLTtHOBFBwL5lJ5dRu0MpdOWLltCZTXvQcoPq0nAHdr73AWLw5MYrGDsCT2J+XFr9jtJi+OC9nbijOxedVWIgSvVfxzd2PIcP5MiSix/g7R23J8besi10cptP4JXwB6jzPVqU0wyUQlZfX4+///u/103PNqH+c7i6IEIUAVEUIH4sAngDwi/fAdYmArzWArs+L+JuQUTdV+ohLtyN//frD3DbF283rjxDSlLsnC73ZTadwEm7epYiyR7FYNUp0ZpWoOde1cujKZY6AR9RvwCv7Et0Czi4UxmMYkYU/uS0hZ2q+XtO0xKkuFFzyOtDUkj/c62oe27l9I6EUD3xShiBujrUAZDmvz0hjb0ZldtiXKcpu4IYfvZRtLY+Cgy/gi0/roNPnnfQWofndjyL4VeesBTZWS50PP49S/k++Pdf4mcvByFuALAwjUfqBTz7f/4W3zvYl9P+laTYKdGzquxad04sO7XIUfSyT66EzskYmlUrTSufUtj0xdKFBzsAd18UXYqlSaSpB7a7K5fWdm1mlCYR7TsIdIzmPjZlVxAzM0GjDAjOzCAth2E5szrV9af7K+ufeAUzT8jVzcBydauc2//wq/jmnwfw4stB/NlXgP89MI1vfSeQ83ZLTuzsjJM5cWcaLQdmJmoUvexjRejM8mSyuoqVqQNW197UixJVHru6noFPeAFHuj15Dee3TewIXgj78IxYzJ0kxcrtf/hV/Nc/D+DZnv+O7//gf6LpD7+a8zYrbn30u8sTP7F3U56bm8PGjda2bLhw4UJGC0HnYtcDklvMrg8718+qpNjXnjTpn5Xf1yjP6dOnuVN5ATh79iza2toM8xTqt9Hrm9V7SdPjP8iPZae1ewEhRAdlFGQxUuz9I0SDnIsdLTNCCCGFpiQXgiaEEELsUHIBKoSQ8ufs2bOF7gIpMyh2hJCiwixIghAn0I1JCCGk7HFs2c3NzWWzH4TocuHChUJ3oaBcnPkoJ/V62r6Wk3pJeVOqLmZHYsc5UiTfOJ2rWQ5s3Tqf9Tqjp3+R9TpJ+VPKLmaO2ZGSYX4++zf9UmF2djZrddXW1matLkJKBYodISXC5s2bM65bdbPzAAAgAElEQVTj8uXLWegJIaUHxY4QUlRk6io7ffq0pXxOFxnPdzmSHSh2hJQJP/zhD/H8888XuhtZwWkQRD7WbbSz8a6dfHLdJDdQ7AgpA374wx8m/5aL4GUTvS2dtM7nQ3DU7VLkcg/n2ZESZgKRnpcwfKXQ/SgsstDpHRMJURRTXnrnlAiCoPkyS7PbH+tE4Rfa0R+zUYQAoNiREmUi0oOenuMYK3RHCoyesFHwsoOZOGqdV6MWSHOi8GsJaXs/cq9x5Smmy6Abk5Qo27y96PVOINJjLRihXKHLsvjRs9yMXZktCI4OoTNtb9xoVvu2mqBlRwghFpADU5RkEmGpt3O9ddRWmNbximXoj6ry9fuTae39MQAx9Ld7EcYIAm4BguB32K/ihJYdISUC58iVJkqBzF8giiRc48FRiJ0uINaPdrcfUTEEaXP5EQQmD0ib8Mb60e7uQ7QzhM6hCCaFw2jUtCpLm7xYdnYiofLdh0LVQwjJL1aCTMxQWndWrTr7QSgAktaV4uW34cKMncTAiA8HZMVy7UFHSxiDySpaEOz2JNK2ognjuFBm43Rq8mbZ6T3dGPmt7UY2maU7nRuTiavC7DMw5JhYhSuoZIb6f03r/9qO4OX2fzfDMbupSYwgDK8QTjnty0rfSpOci518URgJiN6FkwuB0UtTtuX0YtYS7myJJiHEOVb/7+w8DGfj/zm3wulDJOm2JDkVO+WPqPxR1T9utn9wK09wdlEKmZ6VaiTeFLrsMhHpwXF53kFfD07V7kb3U63YVNBe5R+jKQaM1Mw+eve0wtCAxpYRTE4BcAGx/sMIAwgCgKcbwRY3Dvd3w5MwD2P9fpzcE7IwFrdSZzmRU7FTXwRG0UfFJgR6wmX34tYTSWUbxD7S1INC96LwPP/885qCR6HLLnrLeSnH8Kz+P2t5tZyJpgudB3wQvALCAFqCQfgwsJI2FMGk4IYQSJxqCWK006xOD7qDLXB7BYThkwJYyoS8uDGtUKw3/mz0S2+iKSHZQC14FLrsYUXIlMKlPjby8OhbiR6ERD3noyrNE0oVpM5OVV4R6XKlrj/12NU5BNFUFEuPnIud3o3eaSCKU6yM1anzac2r0arLyRMdIdlEFjwKnXWsRlI6rS/TY5JdCmbZWRU4q9FRTvIYLQKr9USXzYFpQrJNOQldPnYvIKsLR2I3Nzenm7Zx48a0c5kEa6wmUTH6XksNreuAECtY3Y+OEDs4tuzs3MysuAKB3AhbtqwwJ4EpdgNbykUgykm0i4nVPEeOkEzJ65idkRuwmAM2jIRKPeAMaE9HUOdfTRZrtqipqSl0FwrC/Pw8amtrC90NQkqavKygUqhdeLM1v84o3Fh93qwOjvk54+233y50FwrGxZmPCt0FQkqenE8qB4xFLldCmOkSX2ailEkEJgXPHlu3bi10FwrKav/8hGRKxXKeJ5XbyePErWm2/Ji6brNpEXoWnF67RnURQggpHAXZ4ifb81vslrUyQTTX/aAIEkJI/uDmrYQQQsoeih0hhJCyZhkUO0IIIauAgozZEUKIHhcuXMiovNXo1Z6eHvT29mbU1mokW99bvr9/ih0hpOjYsWOHo3KreT5mvujt7bUsVD09PWllCwXFjhBCiCFq0dI7pxazorGcl5cpdoSQ8kfrxqx3Pn836AlEek5jc/dTaN2UpyYz6IPZ96L3HRvly6fll3Oxa2try6i81gronKxNCLGL+kaq5YpT3nwnIj04jn3o9W5LPTe7G91PtULWhivDL6Hv/PaUc5kxgUjPcYwpzjTv64WiGyWN/J2rv3+rYumIijy5Mc+ePeuonN6eVurltsxWOclk0WmKKiGrk213NQOnL+MKtiVEbALvjtWitvY8xq+0Ji2hucuzqN3+WJaETqYWu2VrayKCnuMR3NXrRSH1zq4Y6eUvlGuzbNyYekuF2dmhvJR2YiCE5JiNm1E7qxC2K5cx29yGNhzHu3OApG6SAG7vTkjdlWG81HcKswBSBEt2F+7bjvPHT2EWzdjXe5eisSsYfqkPp7Ab3U9tTu8HlNs7pVp+K1Zfoo3dtTh1Skqt3d2Np5L+SZXF2LwPvd7E+/EIejTLrGBXpPQsuMKwXLrz7MrD4orCL7SjP1bofhBC0tjUhO21s7ic2J7xyvh5YPNGbLurGWPvTiROXsYsarFZFrS+U6jd14ve3l707qvFqb4IJpIVzuLUaeCx3l70qqy0iUgfzm/vRq+WK3TuMmZrN0Pa7fIKhl86jtnd3VIb3bsxe1zVxuW7kmk49UYiTSo31rxPSuvtxm5cxhV1mX3NmE2WKSNyvRB0LlBaW3qWWM62FIr1o90dwIjilC8iIuTJRuVR+AUvwspTLUGMDnXClY3qCVnlWI0oXGETmrbX4tS7E/Bu24a5y8D2BzYB2IzaWcm9ifHzmG1uk4Rr4l2MoRn7ZBXbdheacRzvTnixbRsA1GL3Y+lidvmNl3B+s9qamsWpvh6cShw17+uVyl0Zx/nZZrQ9lci7qQnba0+ltvFAogObNqMW53H5CrAN4zg/W4vdj8md24RWbyuAidQy2+5CM05LZTT8smauTKNx0cJaeCUYjWk0Tmdn6xyru6cnifoheMPwRUQMJcUtCn97P2KebAlSC4KjQ+hMVBbrb4fbvxVidtSUkFWN3QAVANi0uRY4L1lA747V4i4vADRhO/4B41dasfnyLGo3b1wpkLTAAGAjNtcCxvvLz2JsDKjdrT6vcIFeGcZLfS9huPsptM5dxizGcLxnLCV3s2EbkKxD1KItCwOLeoJlRQgLKXglJ3Z6KIXKybY8xmN2MfQfDqMlOKqy4jwIycqXYvWlipZhmgGuPR1oGbiAGIA+4TAaIx0Y8AYwAh8iYgge3Xqj8AuH0RhsQiAg2YotwVEMWWmUELLCtrvQfPw0xie2Y7b5LkhDXJuwuXYW785N4LJyvA4AZi8jOZyHOVyeNWugFru7HwP+oQ+RzToRl5s2oxYr7lSgGfvsBqukjftZx6lAyeKnZ1HnW/RKdsxOjSiKmq+sEDuJgZEWdOzRE4so/O4AmiKJdiNNCLj9iJqmGRPtC2CkaWvCahxB4DBwVBQhiiF4TOsdQWBybyLNh5HAtzk2SIhttuGu5lmcPy2N1yXP3tWMsdOnMVu7HU2bkifRjDGcHpZGwmS35l2mqrQJrY/txuzxlyAXTWHiXYyhVmp+2wPYXatoA8CV4Yh2uZQmmrC9dgzHI/Jo3BUMR4ZhViwTpLHB1FchKRvLDki36Kxs4Gp2boUmbNXVukGE4UNEtvo8e+GDF4PREDwwSEvzTo4g4BYQkA99kYQLMwqgBcGjCnepUZseSPm7PYq0MCanAA4AEmKPjZtrMTsG7H5sk/IkamfHMNvcphiD2wZv92681NeHnlOA7Iq0ZIFtasVju8+jr+8loLsNWmN20pDeJrQ+tQ+Xe+Q2ANTuRneraQOJcsfRsxLGCbNiVly9diicK7Oi9MVOT+CczL0znnowjgsxwKMnFi2NaEgeNKCxBZi0kpZaiWUXp716jdIIWR3YD1CR2NT6FHrVqrCpFU+lnTQ4j23w9qplL/VcSju9vfBCj23waqar29A6Ti9nVEZLlJyO2cl59MQz1wJY0mInC1TO58O59qCjJYCBkzF06inRyCRWDKcpTI5YTMsEy/VmsU1CSpBCu9DKBaPv0cp3bEc8s0pFiVt2Wm5KM+FzttSYC50HfAh43fBvVU41iMLffgHdQ5IL8XB/NzydLpWL0SgtAzw26s1Wm4TkCe5eQLJJBUrYstMSrJxONPeEII42ot0tQCmnvogIF4DQaBDtbjeEACC7IyVt8RikZdQhk3qV43/ZapOQ3GN1PzpCrFPilh2gb6npBaDoCaKVJcbg6sSQ2JnFNA9CokfjvVE+i23aHf8jhJAy5iZUFLoLmWFFvMzyOs1HCCGk+FlGntyYersXEEIIIfkg52KntR8dyTVGLtHiYG5uzjwTKWt4DZB8UvJjdqT02Lhxo3kmUtbwGiD5pmyWCyOEEEK0qADFjhBCyCqAYkcIIaTsodgRQggpeyh2hBBCypsKih0hhJBVAMWOEEJI2UOxI4QQUvbkfFJ5W1tbRuW1VmBxtk0PIYSQ1UpeVlA5e/aso3J6a2rKG7Zmsiu5VSiqhBBS+pSNG1MUxaQwye+NhEqZR6scRa440NuqKddlrdTrpC5BEFJedvqXjb4Tslop2bUxy0OMovALh9HIfed0UVvxMlo3fnUevbK57pte/7T6aIa6HuVxefwPEJIfSs6ys/JUrJfumKg/pV1/1DAz/EI7+mMZNwq/ygoQBAFCez/sV52tPhUG9ca6agvc6k1ffX2YWVl2+6aVlg1vgZb3gRBineWKErTsjMbp7DzJ23IheUIQxb0FsMK427gS9Tit1ns1VvLI6VrvreRXtpMN5Lq1rnW6MglxRslZdnoon86tPK1nNmaXsJT6Vyy+9v4YgBj6270IYwQBtwBB8COazG/VMrRIrB/tyTqVVluib1E5vR3taX1S55HPpVo6K/3U+7z5xc6u9Fp5rFp0WhaZk2tFrz0jz4S6PqN2CSHWKRuxM7ox5YYRBCb3Su2MBoFAH6JwoXMoAh9aEBwVIYoheBICOB4cTeYd98oi6JQo/O4AmiKJzxlpQsCtrHMEgcPAUVGEKA5hKK1P6jwheOBBSPndpfVT6/PmB61xK1m8jMpoiUo+g5D0hNGqFaoljtlwvRKyGik5N6YRdlxLmUfqtSDYndgN3LUVTRjAhRjgUbscYycxMOLDgaFEgmsPOloCGIyG4DHdTFyyxgLKU74IxL2DCMOHiFzesxc+eBV1tiB4tBPG3k+tPFH4BS/Cijwrn8ni580yavej8lgpeFrBKXJ+p+2q0QtEybYLU/n5nNaRSXlCypGSFzs9gXMy9y6T+Xi6TE1iBGF4hXDKaZ+lwjpjdtFBoKURDckTDWhsASYz6qgkdOPBUYidLsiRooVEay6lmaiZ3eCdzrHMJIDFSLDNMHPFE0KsUdJiZ8WdVRz4EEm6D7PEyCSmgIRlNoXJkQzriyasxSKKhlGPXVnNaydfJtdOLqc1KLEztUEvPyGrnZIes9O7CZiN5eT+ZjCCyanEW083gi1hHFYEdMT6/ZlNA/DshQ+KOhNCtddQTRV90qKhES0YxwW5X9FBhA2y5xOzQI9cPexkq37lA1km11/xP9QRUrzcBFQUug+O0Lph5EzEon4I3sSt3y1gMhIxyOxBd7AFbq8gWUpiCJ1DEUwKbgjy4FtLEKOdmXTIg9BoEO1uuU7J3amvdeo+7U3P4urE0eAA3PIYoc9n0dWaH+yOv+rlsSoYZvPnjKY+aAmanWkxmcIxO0LSqbj1T7qXJ15+3lahubk5bNy40VLetra2jNbG1FoIWoneDUR5U7M618qoLLGOnevDClbmyBmF/wPmYuPkOlL/NapLL69eP/TqtHINU+wISWXbvh+U9pgdYG/uldNxHVJ4MnHh2Y1uNHrY0YsG1UpX1mUlgtSoDnV5M8uTEJLKTcByzhvR272AEKs4dWM6sYKMLDw996S6rJGgWY0wlfMU0iVKSLmQc8vOzA1JiBnZisTMpKxdS8pKvVbK2fFcEEL0qSzVABVCCCHEKiU99YAQQgixAsWOEEJI2UOxI4QQUuZUUOwIIYSUPxQ7QgghZQ/FjhBCSNlDsSOEEFL2UOwIIYSUPTlfQaWtrS2j8lorsHCpJEIIIXbIy0LQmex6oIXWFitGZLJhJ0WVEEJKn7wsBJ0PjPYWM8qvzJfNXawJIYQUBxUo4TG70re4ovAL7RZ2LLeajxBCiB4lJ3aCICRfWmnKPNkjCr8gQBD8iKpT/AIEilZOUf7mVl6EEKKm5DZvNRqns7PPl5FY6hPGYDQEjydxGOvH4bBpUyQLONl4Vf17am226qSN0qUKfqEajaO/Q6cLQKwa7e61GAHQEryGoc6l/LRb1GSjr6X0eVcPJWfZ6aF8qrfylC+KYspL79wKLQgGfQgf7odsnMVODgDBIHzJPLIFuPLyRwEghv52L8IYQcCtZSHqlVNw0p9Ma1+l5qETi079W6p/Y/3fO3/0t9dA8FelnY/13wyhvRr6v3YV/MLNKm+B1jktKtH/7bVoisxDFOcTQlcFv1ADQflK9stqvWY4qCdWjXbdfhWgP6QkKRuxy8sNbM9e+EYGcDIGAFH0BYCOPVsVGTwIKdsfDWLc60cULnQOReBDC4KjIkQxBE9KxXrlZEYQmNwrpUV8GAl8e1X+c9p7OCkdOg/EgXCV6gGoEicH1qClI47cGAdrMDmyiMaGlfb629cBCfGTXtfhG680EFsnxBESrVs8UX8NBPcaHBCV/ZrHaGM1BGFd2rACIXqUjdgB6U/+dvOal/egOwgE+qJAdBBh3wGNf1qFleYOYATjuGDpbmFUrgXB7oQ8evbChxFMTlmpkwAlMC/TE4cPVRhU3rljVRgYieNA0rWosrosWzbKcusged0lYQtjDQJu6Xw00d7elKewOEJDN+DSyp9mEWkdq9vVyJditaVaWLH+m+HFdYjidTT035xi2fVt/R3ECOBVfg+6den1VetzqTDon2FakkrJcte10HV+V7PP0r8uWaa9vxKIqo5JGiX/rWiNy1i5sdl3Y0q49nSgJTwI/2AYvtQ7AyTB8mI8OJqoI6JwcRphp1wDGlssVVqW2HVXa5UtvuCWOPb6gPDgyo07drIKI754wgOQuCn7ricsm2sIworFJZUbD15bsdQAAEvoHLoOHxYRHJXOe1xxdLRUwat5U9bI76hdNVXwu1dcqWJkCQG3LDiVODkABLvjQHQd3ANxjCasuohcmWcBwXHZIjaqSw+zz2VUp7X2ov71GOi4BnHohoaFrve7mtW9BoHJuJQ2ugAE1kMYVB6vpcWrQaU0A6E0KcgTu6sTB3xhhMeD6E7TukGE4cMBu6PStspNYXLEXvXlhN7DiVkZ+Vqx/IATOwKP1thpjvDsjQNJl6HkwvTtjSf6UoWBkUXpxg8AWEJnSOvmqSLNOjRiCZ1D1xDEWrhNrZUstRutQhgKa1Jp4caqMIA49riA2IVKHXfuErY2VUoeEKO6nGJUp4X2JvtuxuFGg8Afvd/VtG5FGdcSmtKOKy16k1YXJW3Zad3kzJ7QsyGQnr0+tHTsSf/na2hEi9L9GB1EarCmjvvRtJyChDCmGZWrFCfWmLpMUUxX8MThG6mSxoNjVRjAwsrD1NQajGAJW+0O3k2tgb3noiV0DinGxYKwYB1l2G7LIpLDhljMzGuRzbqs1GnY3hqEw2uM6zb6XXPxWVY5JSt2WoKVt4AFTwhDWlaYqxNHg0hEXAoQBqFw33jQHWxB2KsRjWlYDkAyilOA4B1HcFQd4LJ6MZtO4LgOVxeioohQ3r7oOLqDwMDJSsROVgFKS6ZhEfr3ujWpD1CxSoxbKmeOq/MGfE6sBDvtjqzBSvfXrHgtXHF0QBJ/19YljAxUJa3eC8kPWIXBsEIs9OrKBKM6DdtbRHD0GjoG1ut7B4y+p1x8llVOyYqdjJ6lpmXhGVl16iXGUst6EBKHdCLIUtNcnUMrghsK6aSF4LFcThWpqduP8kcvoEh+b7WOYg1Wce2JAwNr0TcAdOxRuL7k8bRkMEYl+v3ViCXG+sYvrPwbx05WYaRFcv9JLi2F+ytape8xiFWjXR30Eq1CWK4LQKqwLqKxZeU41l+9UrfVdhPuucNyQEWK+24JezqAQF8V4LmOSJPsXl2HyaZFhL2JwBd5XNOwLoO+pn0ui/0zbE9mCZ1HFzDuld3BlanTTPR+V0t1E7uU3KRyNVbEyyyv03wkvzj5XWQRtDOuVzBccXRgLQJN1yGmPNBIgRSTwjoI8l3adx2dAFyha7jQvh5CQM4bR0SUx/PiCEXiELw10s3dF9cPfHLF0TG+HqnPDKl1dQcX4fbWIIw4IuJ1dB5YqbsluAAfqpLlrLUbR2h0Ae1uuf+LCI7+Lum1cHX+DhF/DYT2BYwOzUMMrZQMhezUtWTY19TPFbdYp3HfV77XGzgarILbfTMwel2VqPe7Wqyb2KLi1j/pXp54+Xlbhebm5rBx40ZLeXOxxQ8pbuxcH1awI0Lq3TDUFrvl49gReNwHcWckn65Mokl0HQRvqtXpi8zzdyGWadrXk3vLjmJFskE2gkisWHekCPFcB38akikl78YkqwMna2NmkkcKUOmy1CYhpPih2JGix47FpV4HM9P6CCGlz3JFGURjEkIIIWZQ7DIg03GkbIxDFcWEaEIIKXJWrRtTKxJPCz2Xl9Pydvfbo8uNEEIyZ9WKnXpelR1R0RKsTEVJa0FrQggh2aHExC4Kv/AC7hiNostwFRGr+exjNI8rU4zqMlvv0259hBCymsjhmJ28P5t6V24g6hcgCB4cMV1zLwq/pXzOcCIG2RAQJ8tcmW1MW0w7bxNCSLGRB8sujMFoCB55tYPYEbygu0BfYbAiOEZjb2blrbo87bgy5fbVfwkhhKST42jMnTh0yIfwC0eSG0LGXhsADh1SrJWn2KE78ZJWCY/hiMeLMM7goFvLQtQrp+A1fzLNozAP1QsKm+1xpiV0Ssz2SbOKk/FDQggh5uR+6sGDe+E7M4DXYgAQRd9BoOPB2xUZVKv6jx7Ce14/onChKxqBDztxaFTeKQAWysmcwcH390ppER/OHHwy6Q7NxM2XDQsq052x9QJkOA2BEEK0ycM8Ow+6DwEH+6LSxqO+ZzSCRhRWmvsgzuA9fGBpnM6o3E4ckne/9OyFD2fwvtY2HgqsuCazYXXlSmwpeIQQok1eJpW7HuzAzvAg/INh+NI2ZYrCL3jx3qHRhAhE9LchcVyuAXfsNK5NLSLFKBxWrMpi7DchhBSa/Ew9cHXhGZ8A73uHMKrehyo6iDB8iNidI2Cr3BTeP6OfahQZme/AD71gEyOrU3ksW40MWCGEEJmK/C0X5tnrw86OB5EmTQ13YKfS/RgdVO0irON+NC2nICGMejv9agWkFFv4vtrqNAuGKaa+E0JIocnf2pieEKJaVpirCz8+hETEpQBhEAp3pAfdh3Yi7NWIxjQsByAZxSlA8L6HQ6OpAS7KkH0j8iEaWhPV6YokhJDskfOdyosRq+taKrGyxqXanWi1Xas7a2tRjO7KUr8+CCHlxbb/8sNSWy4sO2RjXUutMnZ3wrZ7bLUfqwG7C2pbZbV+n4SUNdzPjqwGjMZki3F8NvtUwS/cjP7kyg7VaBdqIAg1aO/P5S1A1W7RUKz9IrlkVVp2pLTQs860zltdis1queKkCn6hGo2jv0Ony+icFpXo//ZaNEXmMeRRll2XGuDluw4xFLdRr5M+mxCrRrt7LUY0+0WIPSh2pCSwO2ZqVL4YxznzxxpMjiyisUE+rkR/+zogMg9RKX7tlYgB6dHTjokjJFoXqai/Bt5wHBFxPiWwLNZ/MwShChHxOnSCqwnRhG5MQgpMmkstVo12YV0i+rgK/oTLURBqIPirLNaqLCdbbZKwhbEGAbd0PhqrwsBIXDUtJ47Q0A24tPKnuQC1jtXtauRTuFIF1eeP9d8ML65DFK+jof/mlc8u1KBv6+8gRgCv8nuIrkvJk/yODNoAAJxcKbfizjX7fEbfs5W2E/X1q9qOavWFZBN+q2TVoN5aKZP1SbPJXt8aBPpWbt6xk1UY8cXhkcXGdx2iOA9RvIYgKmE+1CSVGw9eS5S7npiWs4TOoevwYRHBUem8xxVHR0sVvO3VGvVq5HfUrpoq+N2SK1UU5yFGlhBwy+JeiZMDQLA7DkTXwT0Qx6go5YvIlXkWEByvkvLHqtHurUz0T9mmURsAsAaByXgiLY6RwNq0rcjM0ft9bLQ9ugAE1kMYVB476QsxI+duzHPnzuW6CZJH7rnnnkJ3wTG2Nt2NHYHHfRB3RkSEcuwv8+yNA94qREOSwJ0cWAPfgTgQq8bAyCKCR2X33xI6QzcAmFh3CWvtwNCShdaX0Dl0DWhfD7ewNnFuEUEnY3RW241WIYw4IvL36onDh3UYjAKehioMII6jLiB2shItHQsartQlbG2qxIUYEuK7BpNTSPhc4wiFAETX6bfhSXzG7rgirVqqz85njlVp/z522nYtoQmL6Eg5rrLfF2JKXsbs1q9fn49mSI65du1aobuQVYpm7M6zgGDLesXNfgFHPQCiazCCJRywe9ObWpMa1GHKEjqH5tGZOIr13wy3ex222h0Xs9NuyyKSw4ZYRGMLMGmnLRnXDQxF1kDw1iRdpr7IPELZbEOPKYPfJ9dtE9vQjUlKAqXbUcsV6cQdabhSjasLUTH3Vp3EEvZ0LCI8WIXYySqgIy4ZKQ2LaNEtk7BmZGKVGJffG5Yzx9V5Az5IlpMt7LQ7sgYr3V+DSVklXXF0oAonY4Br6xJGBqoS7tVKXEh+wCoMhpewVRYZj+xGlFySYW/CZajXRrYw+ry5bpvYoiKfa2MSkglmG+RaWWlGSyjl94XGtSeOlnA1vj0AdOxJuAHl8bRkMEYl+v3ViCGOvT5g/MLKv2/sZBVGWuLY40LSFTYoD/xEq/TXjY1Vo10d9BKtQliuC0CqsC6isWXlONZfvVK31XY9cfhQhcNyIEbCrSkFySxhTwekMUzPdUSa1sKdCHaZbFpE2JsIfPHFJaszui41oKNhES0ti2gwbMMIg8+HSvS3K4JQ9H4fx22TXFLQqQfHjh0zzbN//37bZczqIKWFVVejUb6icFca4bqBA7618I4v4GhSZKQAkUlhHYSkj+46OgG4QtdwoX09hICcN46IeCMxvhVHKBJfce354vrbX7ni6Bhfj1S9T62rO7gIt7dGGocSr6PzwErdLcEF+JJjiFbbjSM0uoB2t9x/aYxQ1gJX5+8Q8ddAaF/A6NA8RMVOKSH1rimeOJq8yu9BqssFGLahz5LB59PIq/n7GH8+UhhyvjbmuXPnLI/ZHTt2zC0s1AwAAAdiSURBVLYwqcs4qYNY49q1a5YCVPKxNqad5cKsCl1K3jwGqBAdousgeFOFxheZ5+9BbNP0p88WxrIzss700ihgxCnF4KYkDvBcR7Eb5KR0KJgbU0u89KwytQDaOaZIEjuWXRJXF6JiV456RAjJN0UzZqd2RWqdVyKfN3JjOhnfM+dDvHnsdVxMHm/APY88jOaaxOH8GF49cQ5XAQBbsGv//fhyWvl3ICjLpCS/iWOvi6l1kjSyMY6XSV5CSGlRELGTxchMyPSOnfLhm8cwXb8f93/ZPK8u8yLELbuwP1HJ/NirODE8hrqHm1GDeYwNn4Owaz8e/jIk4Xp1DI883IyaRPuvXwSADdAc+Zofw6uvXwSwIYMOEkIIUVOylp0yj5lbU+bL9+8H3jyGY68DW3Y5FL2aZjx8v+JQEICrIuYB1MzPYPrqBtTXJBOxQU5LtL//fsmyS+dDvHliGvWP7IJw4p3U8ymWZAZ9T3DhwgV86UtfQnV1dVra4uIiPvzwQ2zZssV5A4QQUkxUFFjs9Cw4M0tOazqCVetPEhzJykoXvXmMvXoC565ql9USmXlRBDbUY8XjKEBIcT+KEOeBLxu6JOcx9urrwK79aK75EG+m9hj379+PpL7Oj+HVE2/iwzT3qHW+9KUv4T/+4z/SBE8Wug0baFkSQsqLoovG1MNsHM6oTi0hTBG9d+5JuBpr0PzwfjRb7dT8GIbPXcWWXQ9LYjcvIkUnawRYiQP88M0TOCfswn5d9UofJzQXUH2qq6vTBE8pdIxeJISUFxWFHbNTYtU6s2LVWalLHj/bsmu/gcgY1oA3T5wD7nlkxdqrEbABiiCHeREiYCJ481J49dXXcUzpqzxxDOKu/bj/y5LQifc8gv3NNZADXDJFKXi33XYbZmdnKXSEkLKlYG5MLUvM7hw7vTqMhC5F5O5Xp1p1Y64I0MNpIZNqt6XaralGbU2qojU/nMZFbMGuHIRmyoI3PT2N2tpaCh0hpGwpijE79XQBvWAVo/Lqc1rI0ZjpIidjxY1pIHQ1dajfcA6iHJEyL+LqBgEZyVSNgA2YXhHQD6dxEdCO5nRAdXU1Ghsbs1QbIYQUJwUVu0yRRc5qJOeX79/vOKgjSUJscO4Ejim26tuQEL/mh3fhzWPHIPViC3btb06K3crUAwAnjuHchnuS0xJ0qWlG6z3TOHHiGM4BwJYtYJwkIYTYYLmAa2OauRszmZZgtQ1ij2JaG5MQQqzS9Kf/AzehojCN251eYLWc07yEEELKlApu3koIIWQVQLEjhBBS1iyDYkcIIWQVQLEjhBBS9uRl6sG1a9fy0QwhhBCiSc7FzkqoOiGEEJJL6MYkhBBS9lDsCCGElDecZ0cIIWQ14HjMbm5uLpv9IIQQQnKGI7HjuoeEEEJKCboxCSGElDUVoNgRQghZBVDsCCGElD0UO0IIIWUPxY4QQkjZQ7EjhBBS3nBSOSGEkNVAXnY9IJkh/K+PCt2FskT8y1sL3YWi4fTp04XuQlnS1tZW6C6QBBQ7QggA4N577y10F8qKs2fPFroLJMEylil2pcRM57pCd6EsqOu/XuguEELySUUFx+wIIYSUN1xBhRBCSPnDaEzihLq6uryUIcQpvN6IkuUKBqgQh6hvJjMzM4b5Z2ZmUFdXZ5qPrB70BMnqNaK+nvSuL153BBQ7oofWjUhPsNR5jZ6qM73BkfJBfT3J761eI+ryWtcnhY7IUOyIJuobkPq9jN7NxM4Nhi4nokRPtKzk1RJEQrBEsSM20Hvqls/p3XCs1EtWL5k+7CgfxvTq5TW2ylnmPDtigJnVprb6tMqbwZsQMbqG9LDjUaDngFDsiCmZPB1bdXkSYhcGPBFb0I1J9FC7JpWip/eeECeYBUNl6mEgBMsUO6KDlag4K25MPnkTM7IpVHRjEj0odiSv2J2fR1YXSo+CFVclH6iIVSh2xDaZuDF5YyIy8rWTzahJWnFEiwq6MYkZeuMpchrHSohTrCxOYGTdaZ2nG5NosQyujUlMkN1Jdp+4zVbDIMQIrZVRCHEOpx4QA8ymDhhN5tW7UXG5MGKGnsWmd/0Z1UOIDMWOWEbv5mLmSqKQESuYrcBjZbFxO/nJamKZbkxCCCHlTyUqKgrdB0IIISR3LDNAhRBCyCqAYkcIIaTsYYBKCVHXf73QXSCEkJKEYkcIAQCcPXu20F0gJGdQ7EoA8S9vLXQXSJnT1tZW6C4QklM4ZkcIIaTsodgRQggpeyh2hBBCyhyuoEIIIWQVQLEjhBBS9lDsCCGElD0UO0IIIWUPxY4QQkjZQ7EjhBBS9lDsCCGElD0UO0IIIWUPxY4QQkjZU3Gr978t2y5lv0SZobO7+3K+vpgy311e/h4rKnTPVywvQ/oelhP5FMfqv8srx8sVGr9Roh3Nb1XjZLIKxe+dfLe8jGWj62B5Of1zpeUxTjbPoKw/Pa/WV2CdCt3Wza7KCsVPkd9bSGprFajQ/V+Vrxr90tpn7FChaMHaLWPZ8NB++7ZaSy+/nFk3Mm3fKf8fBe7dARQNa5oAAAAASUVORK5CYII=

Fluent中的嵌入菜单:


调试过程中查看中间变量的值。



未注册试用版本只可以使用串行2d,3d版本(不能超过2个宏)。注册版本2d,2ddp,3d,3ddp串行、并行和宏数不限制。
试用版和注册版均支持:
WinXP~Win11 (x86/x64)
Fluent6.3-2022R1(x86/x64)
Visual Studio 2008 SP1 - Visual Studio 2013












webmaster 发表于 2017-11-5 19:00:38

支持!

aaa-1234 发表于 2017-11-7 09:53:05

厉害了,适用与各种fluent版本吗?

gearboy 发表于 2017-11-7 13:20:07

aaa-1234 发表于 2017-11-7 01:53
厉害了,适用与各种fluent版本吗?

支持的操作系统:WinXP~Win10(32bit/64bit)
支持的Fluent版本: Fluent6.3~16.2(32bit/64bit)
支持的Visual Studio版本: Visual Studio 2008SP1~2013
具体安装和用法见教程Tutorial。

周华 发表于 2017-11-7 21:31:51

支持原创!

hcl123love 发表于 2017-12-7 14:58:06

棒棒哒下载下来用用:lol

yucong1161596 发表于 2018-1-6 09:49:54

请问需要注册的code才能用吗?

gearboy 发表于 2018-1-6 15:25:02

未注册试用版本只可以使用串行2d,3d版本(不能超过5个宏)。注册版本2d,2ddp,3d,3ddp串行、并行和宏数不限制。
试用版和注册版均支持:
WinXP~Win10 (x86/x64)
Fluent6.3-16.2(x86/x64)
Visual Studio 2008 SP1 - Visual Studio 2013

gearboy 发表于 2018-1-31 22:34:14

软件已经升级到1.0 service pack 1
修复一些bug,包括:
1. 如果不是从Fluent启动VS,则无法改名sln文件的问题,现在可以改名。
2. 如果用VS2008 SP1, fluent case目录不能有空格的问题,现在允许有空格。
3. 旧Debug版本的udf库目录为libudfD(这样在Debug版本hook好的函数在切换为Release版本时需要重新hook。例如如果有DEFINE_ON_DEMAND(test)函数,原来Debug版本hook时名字为test::libudfD,Release版本的名字为test::libudf,Debug和Release版本互相切换时需要重新hook),现在Debug和Release版本都是test::libudf,因此不用重新hook。
4. 工程项目中添加UDF_EXPORTING预定义(旧版本未添加,有些函数会因此出现未定义错误,例如 dll.h中定义的CX_DLL_OpenLib函数).
5. 如果用VS2008 SP1,从Debug切换为Release版本时,与libudf.dll相同目录的libudf.pdb文件不能自动删除,现在可以自动删除。

软件主页:https://vcUdfStudio.bitbucket.io/
正在创建中,敬请关注。

zzandztj 发表于 2018-2-1 16:30:06

gearboy 发表于 2018-1-31 22:34
软件已经升级到1.0 service pack 1
修复一些bug,包括:
1. 如果不是从Fluent启动VS,则无法改名sln文件的 ...

能发一下安装文件吗

chengcheny 发表于 2018-2-1 19:54:23

楼主功德无量呀

天儿 发表于 2018-4-14 13:01:15

17.0就没法用了白:'(

classic1573 发表于 2018-4-20 17:41:06

厉害

gearboy 发表于 2018-4-25 09:51:48

支持到18.2的版本正在开发中,敬请关注本帖更新。

gearboy 发表于 2018-5-11 23:08:19

本帖最后由 gearboy 于 2018-6-20 01:00 编辑

VcUdfStudio18.2已经研发成功,最高支持到Fluent18.2,已经在官方网站提供下载。https://vcUdfStudio.bitbucket.io



页: [1] 2
查看完整版本: 【UDF编译调试工具】VcUdfStudio--在Visual Studio中一体化编辑编译调试UDF