Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storing binary from parameter server. #60

Closed
cdondrup opened this issue Jul 16, 2014 · 1 comment
Closed

Storing binary from parameter server. #60

cdondrup opened this issue Jul 16, 2014 · 1 comment

Comments

@cdondrup
Copy link
Member

I am currently trying to get rid of all the config files the ppl perception still needs because this often breaks if launched remotely using the machine tag (weird ros behaviour which requires hard coding of the paths instead of using the find tag and therefore it breaks on robots that don't use the standard set-up). The HOG feature extraction uses a binary model file which I can store on the ROS parameter server and also dump to a yaml file afterwards. Here is the file I would like to use for the config manager:

ground_hog:
    HOG_WINDOW_WIDTH: 64
    HOG_WINDOW_HEIGHT: 128
    HOG_DESCRIPTOR_WIDTH: 7
    HOG_DESCRIPTOR_HEIGHT: 15
    model: !!binary |
        VjYuMDEAAAAAAMgAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/BQAAAAAAAABlbXB0ecQOAAAAAAAAQLAAAAAAAABDCwAAAAAAAPRKYMLVjRJAO6pviJ7urT+E/UVjjjh3v1JWb6Mlkoq/qwLz6PDqsD9fhrGsutK0P6UDwilsr5Y/M4f1FkSjRz+Zkml7QdOQP7t56EBlSqQ/+VIoqXQsmj+si957Sxycv4d3cNMhDKi/9Hlfbo5/qT+QyXkmA766P4ipoPAb2YU/cS6QNCPxlb99ZD67m+59PySPN9F3pWA/DjZHKtQbuD8HNT40o/VzP635Zm7FUY0/g/DQBLKuqD/QUAwoX9itP5yM/mdrnLQ/h4jL+LKqoz+iUuJSAcaZP263+Nen0LM/al2Pu5ipsD+73E67FYGSv3kGUDgmbZc/pFOV7pzeoj81VO1F0HWlP38H0IVJr6s/VN+9aDEUkT/ACjLi0LSMPyJcrIHXmLA/oDz+nXNorD+7DFqO3i2Rv0R+XUldHq2/LKKQcS2Zlj+A+wtaID65P7FTaM2RIH4/aqmnF4l+lb8YwPRjZ3RrP+69u6BZBJw/ERYgVDOKmb+BTJVw/42iv+Qnbr9Bq5O/OUibGxCzYL+rzb0O6VG1PzG+aaGYWZi/vk/0EaTemb/ADUc3oa+Xv8GCli7KQZy/7OKv0Yy0wD+xDnEKhb15v5e81qpM0Zc/gdwGOyaOoj+3HqOh9QOoP35vIu3D8aY/+VTm3ZskmD8hkvJQp5ScP7xx6xZrErU/Gx8s8pePjz/Yte0Lryqiv2xv2eoPXpU/prbv2y89cD+ptJpYS9iRP9Q03PxBU5S/u/IJJFHPmb+SrYpC+6RjPw9/r5M66bE//fVjkQWCkL89AlHA2D6cv++36cHIeZO/OK09zlTZbr8+zq8C5v20P0BSA/pq06O/15xA/1RWlb+hBId/jjObv8WnrsnYcJK/Ya9eRw0jpj/S9Pr8Gmalv9B18DOoua6/9R2aEQFJqb9OeaffjjCWP0dsvbZmEbG/D5/Cfc3MsL/6c5BFtn+Rv8/wdb5H26Y/EQFDwZ7spT9VtkhE90yZvzRSBQE/d58/VykzPjb0kD9QhBkMKhuTP2plK9mLXqO/aSVZ6hd+n793ZtOIEc+Kv5IrYQuaBrI/Vpn6bfo/ez+Yp5JacMevv06V4iSO/bk/Ogty4585wj9A+oQvXZ7CP0T2wqYeHqU/2ZZZIEOzlb9s7ygnzVOpv+8iArbU27A/sHtEsQsxsD8ddeK6OCmrv/V0AloHo7S/05s9yoPHrr/JPzaut313v0L7Xj4/d7G/jOnpUzH7tb83v5h3I5qfv+8a33s3EbY/zZd0zlC+tT8NrB2VjbV1v8fd8NDsfKW/FVFI7Al2m7/CGtlfxJarP1WJLRBElqq/IevYBIwmsL8QKcwT5G2tv8SlwbBr/qM/O/cKYQKolz+g9ygZD+e0v/yWXI+z5q0/r8OW7Prpwj9FpGq4u5/JP3giVKNr1Lg/1Ko0GT8Cgj/nIpKiPxquvw0ibRA9t6M/U0Nlo+r5pj9sQafazI6kv8jL5j5bL46/WY1uUyJHpD8eX4KPr/S+P7r+rAGP9ME/dzcIkr7UqD8bOYPk7WWov3phsYZSM6Q/k4bwIhfjqT+1g02fJquAP9pwMXTViIm/9pluSl+rib+3CNWv1W6zP6/hGwnMDZm/+xN+4pefoL/WVoFqkj6nv61a/dibI2Q/fm0ZLzTrhb+DhtzqmzuUv3kw89Po1Ia/7xZnZZ79cj8cZbHSU+W2P08MDj5xMXY/juyQ5FAhZr+WzHemDiCXvxF5CLdBzpY/iQvru6CZqz8XdInsb26kvwY5EY34FJ6/0gE3/iXxeD88yXGTdEKyPwCg5I2pdbo/IDmGGSuwpj/OM8rZLsKpv4Oh86F6TZI/+3pYGLNGsT9+0tgC0shwv4iSvCoJD5m/ddBF8oGDUj+HKvxvXv6eP0kHpZhV1G2/QwrfjZ4Ijj9zVQAlAKCWv0RYQA6GC6Y/sSStxrZThD8CnsNIqEigv2SU/Slo8KO/RZ8svLvUgb9jU67J3uqsP05Cc5R8vnO/WUaW94q/ir9UGCnC0+5Uv9z+CNM6Y6o/lGLYvnl1h7/Zwal7TKubv0R0MdrdZ7O/eDLM7TiEmb88ivY3Y5C1P8x9J5Qz/ps/D7gfDROuqL+jyMqDw4qAP6r9l+9Xm64/IaQHL7iurT+OU/wHBbWFv1oFi0yKOJK/Tkzv8m+5lj+8OOmYk62XPxbeZv8vwaC/tVmo3ejekT+vDGyLzKAnv6rKFzybbLA/BcQ40jeorD9Msm60tS6JP/mCj9HW5I4/6YYAQLH2rT8/fTjNq7mzP87KmifQ/p4/J0yBuSnsmj+PEaaZS4SUP9CxmR3eSrg/mL1d14DDaj85HDJEvRWEv/Hiw/QWx7C/o1y2fp2xir+OqEWlvju0P1JEOhWDrrI/NXryxgHDkr+hMGw1ShSfP9MSywnXtJw/eX06nmFGsz/Ae3/iiI1+v4fEi62xSWa/Z7R79lvwrz/3KKm9n1a2P2OkHv3TaqU/pHURRfsXjL/E8cH2jWadvxj+Ir6sKJG/t3lpL5INoD+NNj4VtumaP6LpiYrB5qA/DNyetG1OsT/miHPaODysPz82RCtogpo/110r8L0dkz+dEp8IjDKXP1wfwl78h6g/X+osOcJVuj99UsGszeqfP0ICyh5RAaw/BYCwmNYJuD9/68JTdvSbP5k5Vj39pHG/OvHxJB2IgD/BeFYbYaeLv0EoCXNnDaY/zYQX6knIpj+FBligxmGkv8uzUmFHNnq/XY8LFeqVmz+AxdqLbnCZP+wAEzN1+aw/Whw5ob4zkD9D/TznD2uRP5Voqo+qOaQ/hLbBktmflz+Vp2AQiWepv4+04z5nKnK/Uw9og1Xrab/LIj5MH4NAv15acqYClqE/7dCFUzj0h7/msZDWXAxWvxItBFxSsXo/B80lVgi7uD/QMRS4+JNxv/JhTW+Oi6s/UtYyPh/arz9phqGYZD6rPxks/LOYlLY/4jbz1C3psD8CXQ4TuJu0PwyD89bdh7o/BgDSIVxCqj9wr/8SMJOLv6qeJP4Id3g/s0bWPPxLjT+N3lvGFpOwP4vo9OF+5rM/dzFyiIwHmj/6S79WcJWcv7gsnwfaVa4/85OCb2cDsj8Es/loY0iovyP7aXjMr5S/lMjbQdaBk78UzcUcjDFwv/tJc6FCNJM/uV5Mr2hyg7+PqyRUmyJIv7YBkHOv0Kk/WjfwyLXDk7/Pgpx24yiiv9OIVgPfXJg/zg7LE3hpjL/wUdAGhIWXP8nezmXklJ6/osMK+5gVtL/0Btgg3kSwv+Y4xZ4AG5K/qFSw4W01qj9YQeVIcCymv/yjPJoAHZq/8mWHIdObib9tlKQ3qS+rP5qhdZNnLZ0/xzeUtsAtkz8f3j7fOE6iv18evU7ZN6s/alKM3gqlrz/Fucns47mXP4XwdaWtGaQ/8Gn60OO2XL+L58bIw7CsP+moP1QW/JG/JSMohgOtj79jAY7ZJZeHv07Uv2Gu37I/wWtBCgmupr9iyjvD6Amjv3VKN2oVS48/x+tVHTWGor8nxVhtRQmivzQQyeeI8bO/JoFWlaTYuL/agqcTFOq3v6NInbVQ46u/6Ky9EYG7sL9p3o6XKh2fP7Ae8BV8V8o/0REbcQFsxz/bLitPK5m4P6LxQpdVBZE/NqmlxbNEor/vX80JlOi6v6K/CIY+27S/398RkrAEuz8FAa+IyD+zP2TTjl+Y6pw/c4bTSUbRjr+OyEkgeY+CPzVGYkERmK+/uBmGh2ZOob+bMn3PvCV2v7uaHiHwG6o/SDJoFf24yz8+cB1qIFvSP6qbV5xpFMk/eRrUTZqxxj8zhC3FY2erP7o9x5faSqU/pITwZLtPqz/ZHVUAinezP3WODLT66LQ/K66w8UBDvb/O7m8R5Uuev6rxU9joHsI/mLcxFiRuxT+xfw8JghPBPwGdLneKD7w/ppbFNQXnqD+7FP8Oc0uxvyiSxGff976/vVbilSf8vr+8P+0m6WK5v6SvI/1edqK/Ug3ks7KDgT9eecjQ5FGoPwOtWcfeLME/ydiJWGy0wD8Quf7yKZKbPzNS6BryDLW/qeRaO9yUpj9gaXacWVvIP+GKNtXor8M/J/Oha0dJxj8WOta8nuayPwlSFdYVmL4/HXE/6NUDwT8kKsywPdu6P5Deg/5oN4i/ELhGgQMpkb+6T4y/9D9oP6AbkUe9Zna/82Or+v6yhz/zazrEvC+bPxn4I781NME/8DBzPf8UyD9yIvwNjlzKP6gNvo6G7Ls/YSbmEKB4sr853clS1Oa7v2qsd1Ge3K+/mAPJFCpSob96mm/hJVymPxrPe0N8L8E/2DU9hGJVwj99Ozf3SFmvP7yBPJDdtJu/lWXGBCpJkr+n1T8LGfC0v8QPrkM4tbS/mQcQVPxNo78keOG0eIGZvxQ6lm84O6m/xexrBXJCeb95U63DXKqnv6aL99pS4p+/eooUJXVYuT/polbte8RUP502iz/IZ5S/cfpL7updYL9eCo0QI3yiP1+PnzSuMME/rC8bCrrxyz8FINJf6iHQP6bND57Jccs/5t/kkuIauj+N/P0LIn6dv3pj732ne6W/SRoy+sAzn79hAk78FamhPzm5eLMuKZe/D8UVDKQ9fD8d5DuSwhOYP6PRouNdfLI/1SXIMhd2cb8JwUIF6cy1v6HoxjonPbG/A8+FMBHbhj9yD6jo2o2MP2SIWkt7R6a/B983Ek7YQD+DTlpsqemjv4Z9fybn+JE/gr66Ns8unj92CDtG5S6Tv/Bw9WkX95e/g+1uq6F/mz9vXKMMzFyiP3wS9jGhQ3W/sbk8H0FNlb+2bo7hwDujv0J7wqFPcaY/oh8h4VlzuT/iDXf7YbiRv1A2y79hlpS/AsHW1+6ocj+Dpnb4DE2pP0V6BUEIyZW/hMXjJ1/djL8TUezH6W+Hv/bQtXNUpKw//SHAyrBNsz8dMVVzlc5+vwY7SVs+/FA/vyER3nAQoT+/ggpY67iyPyowtwsl22i/Lz1xChm7lr84mkbyTw6jv2Rt0x1MI7U/qw5zwRgbXz+gcTNtUMRwP9dAVSXzZH2/3VHwf4NCoD80gixjQX2jP5exC0UHfYk/GtHf3ovEgr+Is/UTSp+Uv+jfzJNinoQ/gppS5wWjrT+7oBKLUYqNP03H4jldFJY/bbaJ7KRVoD9Mg0VbRiV2v2xkazfhcpq/q/vXYZ/IXr9KWXdrUv6lv3tttCoDjYS//TQ8+vpmrD/JOT+FBzhZv698hWphrYk/VO+5PqTYqj/JEKAVKqewP3rlvzK97ZU/blvGgprGdz+i28OvUy6JvyqJ4P+01KI/MMRJEioArz/E+xkfr1ugP7wS1JZWuLQ/nc7z68Bopz92duQ7rRmqP8eXbMpGSrI/sgsJ7U1Dqj9cgMCKpbpGvyU1mHNiy6w/C4sLIrAErD/GkziTX3J1vwZ29p3fPZs/vcGhVkVSlD9wy4GXi3tvv4k2NrrK1ak/1Uf3EcJpqj9QljoKi8uvP7a6+EJICqs/xH3Pyycfgj+ZXIhUM4Cav/W1BrKyXpe/vs3Z5Q6yWT9CncfZEaKVPziNrPQ9yJY/SHgmVK3LgD8KrTGAdP6jvwZg/U6UF3I/CXzTY7Mppz/yadZ0pmigP1S4fWvAUJA/GnJznZ6ulj9ktWy4L8Z5v1A0922FerU/KbOUf1Rbsj/UfNO346m2P6JkGmdZRZE/dwo/n6JqWD8fPl4Sr852v7O1EaD7+J2/V3WTE+KNgz/o/+l9S6RvPzyoUhbg+6A/NzEj6hP6mz9JDSMKmJ2iP/GMtKpcVXi/1PATguFhcb/zPw17MnynvyQvIdMC5aa/9ik38+4ckL9WWBpmn4OiP9Nyk0G87Hq/bmYH8dcAVj/+XfGYNm+jvxMcg/BBbJc/gnTnDh7VkT8fhFe+7senv9MnGDQdOqS/rTvV7I4Xlb/4DPbd4smvP9oNaASB/J+/KAVVhn9/oL9vTW3dE32eP2hTN6bzGbE/jsLTIgn0bL+BcCyZrR13v3OTrRFaeKu/U+VgJH2HhL9e7SyitdClP5HV2V1G+6Q/gEz/qbxApD9qM+uis46eP+x5UZiOB3w/C0Jcs0Zzob8LUnHDKC+dv4yiOSa0rq4/HRrOPBjqtz+MWZ6MpCuvP3MiwDrX7I6/aUq/CwiDhz/Iie/48NS1PzeHFfo97Lc/vwk9YKAKsT8pPOKKsxhxv52b0L5tArG/LUpfrtrxpb9pOADeqUR+v+hQ209qNLO/h/kY54hKor+8eJDWUlW0PxRfoy0B+bs/3cF1XLztxT8z12eG2MnDPyWLIPhM3mU/y3Ox1ifDoj/1DrYmPNOrv9mFn3LxC6y/m8XCF2wHcr+Ou+FEX9nBP2EaPb/BFMI/a1IOnb2Eqb/VidG/k9GFv0yWJtba6rs/nu+kcRXFvz/3gXDkwadxv7rQ8ght6K2/zJ3YAUVJiD8vxTrGC4++P130b7fzXbM/kfKhu0/kmb9GUcplbDhjP7pmqGHNtsE/FsFWMFSlxz/01deJNs+dvzzTjs/KX1S/X8FhgoYOuT9flyyX8XDKP1qsfkx6gL4/26eUeuDqsz9kLrGZx1vCPxfLgLeoJJo/neCUJdyBrj9zvIoIbAuav81bnvMf34M/sMPfaGwFpj9gByS9xyfAP8ObwtWNH7Q/cC/5waIpuz8uS6Ok1nS9P8AmU0BS3Gs/zhUBNdxMo78NJja0loWnv4x96hPOKpI/arZvtG9gpD/Enok/4Jm4P3hASs23S74/F1ZTH9ZNn78NTv7jv4mSPwHKxFhTRL4/5QY2Bb8cwT+NpAogE7WVv9djzK+nEaU/9cEAgREiuD/KYII2sUe9P5FB9DV7Vpg/a0GWmkpitT8yjyxwQ5XFP7bFgG1nJLU/1Um3irzrkj9LC2MDqmmJPxkkMtPJ9sI/shJlRq91wT/DfDAol/2dv6ttkW+Mep6/mDadQcWLxj9u+G5kYc++P5tls84ru5O/b/72TBuJsL9K7ytc4+ywvyrhk9UEPoC/d0Vw144Vmj/CiSOGfoq0P/A4IjiTlsY/ukqeL6kZtT/zEbGNVE6IP4fA/qjo6Km/xsWG2MZ4rL+7csL1Lo4yP35+++SK7au/tGfMJGRXsb8N+qb5vUWuv9hkv702BHU/SFzQi7HEwT9DgU0vxHjMPwpnFEiKTrc/LlpSng7EcL/zYLYb4K2FvzK8og1Qk8U/efWRUjf/yj+qX7j18kpdP6ZsmpiLD5i/PtRsacdSgz+KPv2oJ+axP+Ue/z99PIE/g7mVV8gtnb9SApOvRUiZP/GDhnEdk6U/qQOUDnWEqT/I8KPu/DmNvxoX3g84566/Zqg9UbKEsz+yBl18eYyEv9dQbt6hz6W/Z+Bj6/Egmr+M+zlswrWkP9zTPuerVKG/dEmLn0ytsb/+WqZUh8ywv5Nm2CUQilA/7HXSwj5WmT/F2DZfnkakv+9d+mT0sIK/p38tUWPfhL81dZThNiunP6lLhnaVImu/Zjt7MnH8or/U/NY7I8mmv+aqM6VgL5A/GA/FxcQunD/B6G9XHxOmPwinRQtgepw/QhDDPXLulT8ZckBXjIqtP3GT1eEqAHw/pZscDaeDgr+Tc1plKgSgvwvdJckoaaC/6m5wttsqqD+WVLGHLuqlP6mI0dE7fpQ/JKAYFZeJmj+Slf/ayF6lP8GpNgQhkIe/YVomWq7Nmr8VN5Y0HztmP2L5osrVxZM/FaAe5ouRaz+k/p655uuev93hwQgJSn8/KW1ZKqSpc7+TeilZbzeHPzEBLMNQ+3E/S6aDPT7qhL88M809aUqdv2NMUQuU4oe/MSAzM9ZxeD9aFZ9CD+qOvz54AxamHao/IXYaSvIWlT80Xiaqq8KOP7jobUIYS6g/XH0t/PcroT+5LrBaeO6HvyfwEO4YDGM/fYBG+3+Uez9wDl/3xFGhPxNf8JYOFo4/P5YP0/WHpj9C9Uce+7yXP110xPP5P2M/Q6W8RcePYb/W28mqiHWgP1Js8FjA+IA/g7oa5MWStT+/UJ2DriimPzEe905AP5c/1lvUmXpQsT/6tV2h7NWnP0rc09etJKA/dFZcGF9xmD8Aw03Nh0CjP/noRLBHBp0/u+KejOLPkD+/yHiG9demPzWzZpCvp4k/42FFFqyclD8SvoNeADaqv7lCepiZI7A//VbsEbxqqj8EtqRdFh2xP8GCzbtROFe/lp9et7kTo79R5DAHabCDPxXXa1c58Wq/ZZuiCyTDfT8jPMX2wUygv91ZAIzoH5g/Jhw14ylapT/LIXP5ghGgP3X7uYM67pa/smdvOmP/n79uU0qF/rxhv+F4di07T56/x6xHuhfAVz/KaZgBR+CQvxWQmVESj4S/MzekE+xRbT/ASfo30QCTP7zy81DaooE/sNPzL5Xgl7/6fdppPsyhP7ZVaEpu8am/FpRChZAiob/Szf5nhy5gv2FUBC1W/JU/2S08fix9Vj+71fQUyiCSvyrqnvWwx5O/+MUb/y51pr/sbTGvMcWGP4VNn5SsYqC/27UeY/9oob+cFEEJ2Oabv5rKd/RT3XY/+NxGiLSnlT8lyJkl50tkv51R2vNoUqa/o4zyktmAq78zLpw/DVW5PyzhP8O6SsQ/CXjSXdB1tz8g+mzR6K1hP1HO8j0C17O/sd93WGA6pr/TdDznKOWZPySfiRgrT5O/x1l+NfnFiT/Cm0fpGjGzP5utxgQhRaW/mVCAEhN9pL87hqXy+/CUvx2DZi/fgXk/hjwHS9Bzob9peqC65yCsvxqiAwGyMqG/kkJ9kyQrsT/9jR6GvMPKPyrGM8rEQJ4/VUvPCb+Oi79+Xibmeauhv/el4bCakqa//TwjZaV3sr8XHp1O6cquv+8h+mPGkrG/igI6iGhrqb+hSRFstLLGP6sGel2wltQ/vsfZkSqnzD994dWk8WSIv4qSOfxMCLi/zx49kUFwlr8yjpIfVXusP3MSLuwRHpO/RHH1yv1Dvr9BQkM5/yKrP+xaM3VEus0/v69OFEjGyT+Qm0epyFWkv3MV/q4j+Zm/d1+kqVVctz+A3oQT/JTAP/J+5rtmJaO/mSnAowydlb/bkCiNatnGPyoO4e2gVa8/1HULCv8Hgj8UwbnwExu1vwpTceljWba/UGHfvDtztb/PFf0BfBizvwG9OfSSXcG/Bo0Q5+iOub8iIPrMSZhUP9/cCoXP1au/uIpPut61r78JKmfDK0W6v0dO01mEpre/3YCoWFg/kb8MNTSJEiGHv1o81/9Yn76/bzwcqg46wr/RhRgNaEGfP3u8N5xCCs0/aPx+/uXdyT9nbU2HGXaoPxN56aXDULQ/P4XqTAIhwj+lW6HpPca2P0HlRG5QxLi/FsuZTd2Mob+sWvGNMV+6P5mMZY46Zbo/peY2zcjDpz9MHZUWHu6sP9JAxaz7WdA/aYhwvsvt0D/srSAywPipP+v/fijvbbu/zIVSZbWwwr9Pnqojd+qcvwK2K8QsVK6/jjLF31zjmL+LKS/4TJyjv0i9xk9BXqK/aeE++uIwkj/HkJRw8iWav2VPj8q218O/6aOzn8sdxb+xI/HcS2yov5iMmwuERKC/ptRwLfn0k7+k8YtOXQ6svwRPYYGjmoC/PsbvDbN/kD+HvoBXOJODv6VB4otYscC/PzvuFqgCgb/XBy5yF+y4PzF1aLN3nqg/UnzFinTlpr/zfNjxc0qsv0PwWs+oVss/t6uZcJwE0z8qjmiOiXG8P5/eQgwfK7G/axhL46sEsL8hw1B3Fs+LPx2WxhsXQpa/N3KJZwBZsL9frtD96K+Iv9F9wtrbdr4/XpGytoVlzD8q+QC3rCLDP10mEokDqK6/UjIpuLNqvb+F/25gbFOpvyZ1+tmmCLC/yBSMdmKhsb8wjV/KktG+vwoDiISTg5y/pJeBrQRZoz94ifzpYma6P2dHcCLdPZC/x1CDI/i6ur8fwiTh1Yy3v++BJm7BD7e/CIe6By8eqr9P4/Oojhatv3abYoIOrok/wNaN5je3sj8E4tok4frMP5E/e0BIWZk/X5qJDPRSjr9nn4JJ7tOZP68RVnurkpQ/h8zBtbgYir8ceu+2SySSP3TanceH+Ys/XcrcjUtlsD/OGzJxiQ2wP30mYv+/MKW/w4FlTYH4jD/wjjxuwCCGP2MNIYWhMoC/YVNaFPWrjL98RRq08LOHv9MrILgHT6q/qn5mTgWFnr9Bq7a/jKFrv3X/+Mujqp6/Mf9jpBivqr92uMEepnitv599Dxvqi6O/pL1zBxUUkj/mzlQoNcZ4v8mODdyVFX6/2PnUXPJpj785qTo35YXEP6TPmgrScKQ/4gXCNWXngj8SYp1ypkmZv6g5CRuoY5S/vrPc0fSOhb8OZ7BlH3R8PyS2muu5Z7K/uJMA3z+Hrr8GgDC4xzeRP8J5tTGzK6E/8MuPo4NTfD9ldokf4sOZP2RZlXpl9T2/EPxvOAroiD8pNX23YmWXv/pST4EvY5u/f3jbHevxVb90i40+oZ+gP7aI2aOwZaC/qZMBCtsYrz+4CV/di+WmPws1p1jW3kY/fCDNsGjOqT/GMmXQO1aAP1/cBQTHzmA/0O9DR1+5k7/Rs8ATpQqlP8QcJ8FvwHa/Dq0CSyZPfj+VnsUpDeiSP8eABhsBRnc/qxkSl2Xndz/39cuUX7SSP2G4zhmgx6y/0z9aJHVPmr/prCvbfzgqv+xI27HLBZu/QoU6NhxsKL9FilKF8yWoP5rJ8Q8KCYW/XYYvCJ2Qoz+aWCu0cVqwP0grJc06pZO/uZkhWF6uqb+B+aVFQidwP8oe0TMjsqy/EuMgKRMsmr/ppWMf2G58P4tEUSCEApq/Q6CvP9X3iz8b8uzSPNOLP4dT3prV5y+/XXDkgSoxhj8Et1eK0ZukPw6Py10f8JI/MuvwDhFTlL/vhDU9ClqmP5BOn8UGNKi/kVDvETU2k7+LF9irkW6mP70d/ypZ3qg/81bW0ncbqD+ksnPK2z2gPxSKVAm2+0C/s6wkgAGppr/jFsQCuOGrv/9rqSML3rS/6qVzPQaQiL9LGzxDVz52v45InAi5vZS/3hs4hz4tkb86+0l1yCinP7D6ac4IT6Y/VbKkvvcXkz8WBkOf0x+hP6jrQRzz4bK/jtokrHq6hL98cdyKJ/qgP47C/EjlKJw/d+YQWTBPmL/L05PmCeGCP7FuS9s6N50/VGP8JZS3rz8ULJ4Jttq8P1yxO4PyXqa/AKnM5PNEp79+7nr/yMh2v4dzyvfQt4s/aJXNqX/Mmb/PzAsUyX2Sv6POVdTD94e/S7XXTD1brz8s/3ogLtTEP0yAkuwm9LO/ea2OW2X+sb8vWN2eunubv0LUCcLuzoq/LPIwH26Am78tbwJWko1lv2ttGRguKZW/ydObzus1uD+QWa+0tj20P0pGa4towq+/YgDz4Wt6n79UfaSuNhNQP6pCdbJ4L5o/luzWW2TzqL/FndsJS2Shv0rWctTFaXm/bqw1tnWJoT+NyGqyjSCoP8BnV6Lz+LK/B/yfi6X1or9YyPVhmCeQv6b5diNAwG0/A2+kl0R9kr8UqaSI/4xuv/Wy2RoU7rK/ddkucBJapz+tFoU6g+zIP3ezX6fY6oO/Atogxd5Mjr/vr5grDM6ivyba6MbHDZy/vpLMx8Gqj79mgy5nlHJ5P6vGHfexP62/t/ic/AX6r7+eJCgx0cpwP6+rqg+rgbu/ulyBqqojsr9yInxqP2G1v1rZ0Rc1rrK/S6nGPsHheD/45aT7YVClP5X8LSsTkK2/E4aVMTcXsT8dBggICTW0Py83FNZOlay/L9FK6ugmoL9Ty/xZ8U6hv1DkkJxxIXK//3gDD/7Mdj8ftyjluV2mP9aoipFQF6I/dxhTRs5qi7+ACNBQHWmSv9KK6pGbjbW/8nOt0EWnob8KB7wIHu66v0ZM1WJpPLK/AD/JzF28sb84OINKwmmKv8S7acPbGKY/0/xbibiMtb+ihKPXcfyaPxHfiZPoQq6/6kMeuudKZz9GwBcmGB6UvzZxFNTj9ZC/Y2ZIS32toD9ryhQpxTGEP+4bGEDKq72/yNhTD3DCub+IOaZxyL6cPylNVZ/6s5A/7Y83HfFEiD88PaPaxO+qvzl7CkrL06e/rSsrB/Jror/7oWGWiVyFP/CDzgS1ZaS/zf/HAdXzkb8llI5lB9Z8v5H5HRNtB6e/0cCPcOGTgr90l6PEtPOzv8ZpozI/iaC/fEny/7H8or8Y7miSJBSfv38Tp1B+cIu/WPhFsOw9kT/nGqtJP96jP+Ivbw0fdKS/HinzfaOio7+43d/zyK24v0D/bqXo06K/N1gjscRCr78fA305AKp5v1KQpWyF6Ya/v3Ub0mvLsL9vFz/kkmOXPxYRf/e9WqK/gN/4BVCyrr9DYrnV/cK+v+UAWxoQ2Lm/e5nas9nCur/a97PV3ZGkP/L1ugZk35E/+fX2S4kboL+zW7z7+1hKP1azYc0uEqC/QxJs5f0Nm7+TlmmvReKwv70xUcP6jJq/9rctaJdndz9CNIuX+PHQPzLOPbf21ME/dW8PN1gcnz9XsNCUsJCkP3FRTmzi7rG/YsnWfzk7sr8vn1lrqmm+vwbUtXJhWLG/e34dHSvit79DkxK6BNqBv+16/zABen6/1kZggrq6Qj8x6moU5mWmP3Fjh0+lWXG/fLCJyKatdj9gElaASdyov1y0jiWgmqC/OVkfVwgup78NPkIxwra8P4kIgPtTv78/CDX9KIlOob+Gxc4k1DWDvyryfed03HU/8kvJzp3anT/T5C24eRWQv2DKjixWKK2/EbiZ+whTt780rzYRyyzEPwPC6NrSmLc/1j4Kw/A5gL8el6GUsDCcv+ASKAtCjpG/HpYwChdEj7+kqhn13IiLP+wphcGjh7G/7nwFYr6YtL8n74DwIxOlP03sLgJBUqQ/VaKMkaZDqL/xqIdFJ8p6P/pbkGRWrI+/s9SecaoTlz+ppD//noCZv8qjv6CKeKK/EBf5+fKDsb9ev/8CLASlP2pFtnF+vKU/6gJWILeqgL9qNXni8Dd5vwAe/peGdJu/583gBhfOfz/8gldUiFmbP48RJS0BOaa/tyUzoV5Fs780tR8S8zWRPwD/DLeoLKQ/+7BH8NNIbj85rgUQPpqgPwilWxkgs5w/QZX6OM6JmT/0bVFn5immPyGiayXz4qW/INd4NH3Pob9lJAEzQT5xP2avok+f0ZO/yBMQqJE5db+9orZmDuSqP5hg81ex6HU/KvHKPvIBqD/K7ROHyne0P80keq/V73O/WpRKv8Pnpr8xN8ipeyOWP//oogFbfZe/FxMCkAGahz9GjJ3BYXabP6zqUy4YB5W/YtQTRR+pkj9oyS4Iu4uoPzgWk6yKIaC/GwgUGMMfrr/nqqsPUCORvytiun6vyXE/COKU8OH2c7+jnRY9i3WhPyBQKiViOrG/slqzHqMMnr8w1as0aBiAP3se5M/iV3Q/P+mj3E6nqb9i2GsdIvahvxlC0D3BQYa/KtrHyoAxor9fbp+Snwmsv6CXZ0RG5bG/bcC1bsqvmz+B0Uw9wK6jP0LzlnqSnJM/FujlT2VXk7+I8rAAQuSiP/ngNEGJx54/yYvAClkLsD8iqAP276GZP2udXNGIALG/Cc9lNs1Xmz/WBHKIUWS2P0g1kD2nBqk/VumYCBCBo7/54+fJbj6YP6BKzxKCf5w/84enK8Jziz/kLSouUCmlv3qZ5cvDCLK/ci58iNhUqT8VVKdPiLiOv+oamcM7LJm/YU2fOAbbp7+ptHa56UKSP/772/FkRZc/Mo3EGR7ScT+2XQowwQUtvzyHu/19hJ+/q/FDqF1BqT/d8vFFVC6rP+Sg+J5xSlc/evhyrzgjs799bft1fc6kP5Om9L8G3Yg/RinBJGMhuz8qBodGqTSxP9RVw7AZJqa/l4JZeVIYZb9ryVAC4IyhP4IyopI2IaA/2dtf//tGqb+ssdlgjxNlvy2mZ0SkTGY/P6eFDkV3rT8V64IQONa0P3pVWqQbNKq/N+S5LWZxl7/TOpFe5zxnP/Z+1gwV/pw/5rulDFJ5Rr8KbOR2i7SjP5X90oNDzai/p8zT3J7BbD8gvmvQsUuXP0wzpIdHC42/drlwdol7mj8Wn8SxdFGlPyTH8ExPRoi/aq20cyFPrL9EU+RJmKyKPzDyRAKL4Y2/eNB4CmY0nz+K9CAvxe68P1Rn4B1SEqO/f7HyXsFUkr+ZaviNIW6cv/3Jhae42Y+/b3j870Gnib9bUUQ0+cujP7f9Buoulqq/tGdhPpGmuT//vltIZRy1P18YGosLjKe/PAw+ecloob8FHgG5lJKhv3BlicE3PIE/IwFTaFK5VT9csBkvAJ+vPwnF6kqr65s/CKIWJl+TgL9rKzF75EOevw7JH0Wg4LO/kbH4eNtLk79RD33WNzi2v1A76hUMA6i/z5QM3k50sb9m1jjTVm2OP7d2IRB8lbE/hNiNDMM7wT9+lgj6MBrGPxHxwtEy1YC/rCbIcZTfhL86hdJH5iGxv18ohkiI2GU/pT25IRA9nT8sSrkjhLW8PyJsPD+g+JI/2N4U/RVWpL9d2sMwdT2Ev4ZwRRb007S/EcZQnxHQrb8RCJuCtC29vz0adZcL7IO/aTtG6zHRp78EXIy15HeBv/pLpLWT2ay/JJUYo2eObj8jZDrUniuTv1FGrNnONJy/3CvVnk2KlD+USopHyuuWv4q7fRP+0TU/ZruP3K/Fkb8zsB3NJVZyP//zayRphZU/1GjJ85lOpD9gNbmnwYuiP3KcV2ebNpm/Oxz86UVyhr+r6LbUHbupv7FBEE+S2oM/acl2OC93i79RhQwWc0tzv0YgDgM5q3u/ikgij06Oq7+zCGvxDFOGv8gRg0qcNqC/aZ09Y7jRgT+pVQtjQ26ov1mJVn3LYqQ/rHpM8bBqe7+gKCu7fz6Wv0eQfXrZJr+/q8wlGkhqt79pGEXERS6FP9duRQzHJKk/G3S6E57xqj+a7x+kkI6pv0+vmGWXeJC/iI6ygDwviL8UGZXiXdaJvzmMiDTN+I6/wpnzNKdBmD9UWFEShR6iPxKaS/rD766/m10DQGuZqb/a5s00mMS2v/IqFWe+EaO/qIe6gYmBsL+eW40zGwCFv+gcG6DLGHQ/3FBlS5PYmD+ooorXg12oPxa5LGudtJE/214HgLA7oD8qAX4vLziYv3YCSKwEDH6/XzP0iUOMlL8Voh0NBdm6P1Utd1SVgr4/IKRC0tgfoL8E+Ao4P/Nov5mIU4cy0XY/Hv7UtAP6kL/kdaClpqG9v5R5fM78w6+/Bh/mzLw2qr/ubivzz+mEPwZE2H7ykGs/xUXsobCKoT/qu80MtGSrP3U9zvoZv6Q/PG8kIXHqg78Kdp0c08anv6nFIB8LeIM/Xvpue4XXiT++Ch9MaXfCPwT6Xz4Y9L4/2up/g8BVlb+ZbzLFlByiP5OiKvv2UJE/Dfo7NtF2qT9iwvp1N8yAP5vYeJrMFIS/H62aeqzwor+AAhPgZDOsPy7JImparaU/emea0nX+bT9DXXqixOiUP3Zf2fodfZK/anfQVGkMpT/VzFjrWgSzP/+iiEb0b5i/hysjKUgnsr+hzlrsAsKRP6tFy0RjdpM/hjtLJ50frr+2c8myODNoP5RWjFdPvX0/9R+KKIOhe7+xr3BHL6Z1v/DV9IxvqYQ/gN+qLZiHkL9Kaq1e+4+bP7BqUvv5Cpy/LPPVV64Jgr9uw4Zotll4PyAMm/CAmKm/0NICayQ9kb92KAcmNgKpP5/Mkbdl/JA/PJdwTTqXor/Qh9iEilCOvy1r59GBzpO//HVIcJ/4g78dM/dTT72XP0ztxRYaZZe/87qH1tYuqT8PqNJlMIK2P15JH+IsUHW/OGc4vPG9sb8zQ4bz5Xmav+Dkqqfi4Jc/XXtpD3nUoL9+kFnjxXCGP9N+OMDTraq/uj0pUacthj80BzXyVpikPxu/2fWzsqE/HaSXMbfBsL+H+Ddx/USmvxOq5+u3xKO/3bY/qNULkj8721gFM4JdP1ZX53si46a/sMfFjilak79h6Vlb4pKhP8sx4A4yOZQ/3ifBy8tiqL97scp9RtCDv4qGdQo7vZs/3zc5MDPmlD9vSh1V3rSePyPeMmXDRZe/riClbjlcmb87YNPtU9h3P8Qr/QrD5J8/8Qirnr7JoL/rvruEz7p0Pz2HwDhQKpm/DIbTW45cgT+T0O+n/wSdv60E+hMVL6+/m/6Rj+7+sj+WGEUWSwulP4SJ7zNH7Wy/rAGTmrl+qL+Au/Iqa4egP8sIGAxQt5k/gU0K1TO5kj8f9Gd5ps+gP+n+eVZDjk2/yQ5+aIFtrT+FrahajzS2P5xsLhuYyJo/k/BJtdsSpr8AxaajmcG0P9H5liN54pA/2NJ7u72gpb9n0iSiPNSqv6BTktoCfqm/DZxlhyDJqT/o7rjkUHOXv3Up/vAr8Jy/hepJjJ5Ftb/MPI2OF5CTPy7KI9FC0ac/Tw3qtNonnL+TnYpeXad6vzq1xl4el3M/ouFPDvjdpz/tgF01pi+nv4hbxuvJ6Xk/ZJ4NO/MDp7/rXb1Bi1CgP0C9DUeayIs/vtVg/IUJgD/8k2XrH6qmP2Dgv8JkoVi/lJGrr2BtmD+2/U8ibu6tP1qF/YmVMne/o25hm4lqob9qgn76tiCmP7aZAHEkno2/28QSv1tHkT9WExUf3ZvCP37jlOkRUJ2/YJkhY079dr97sty88ddzv34ksjzTFoC/IU9cWjaUhj837eEt5zSrP41FMYeSEaa/0xBqdHplkz9NyLlRuBxqv1rBg2RN4WQ/hcnWSQ3bkT+oeuwt1ymtv20jNsPfE4K/8VGvZhuBir8m+I2RbbCdP1XKNx1YxpY/lMHMtbqVrj8infviwRi3P5iYsbV6f5K/JcR/28ltl7+J/2x9FfCkv68SGnOeS52/jjn4WcNlor8PVnv3hVeDP2i4IqTBVqK/DOt0YOkxrT/z9yGuVHjHP5phPASOWWC/DaqiUQ9yez84AllPYQKhv7kXo6f18FI/T2VQ96zAmT9uLCivnnqzPxTRuaFC9ae/Gpw94Gcrq78wtdhL9AWLvzprvJqZaq6/X75c4l04h7/iiQB5Sr2iv1ux4EUqfaU/IXR12NFEh7/DDTBEpKRrP/zL58Jduqq/EheTRpS4vT/pg80mGuq+P+AJqtDCtEk/2Abjwc/mgL+IqEvJSSCkv+JDRS6UvHe/cqH+6VMCkL/BzPMisxugP/n/RNeVzWq/jVMGJpGJrb/w9WFKb5iJv6l+pOtcybK/BhcKbr+OkL8FGkoP6K6Rv/W/bRvAB6E/ztg5yIFSo7/Vu9MfFnSgv12jmbJQMbm/84ic9zFVtr86vZp7Em+av5IXwsfiQZO/jZHz0SgPsD/J3TuOLmqiP/AWSac/ZrM/Oto5W3uYhz8SF68JidScv68umNCwrsO/0fLFJzmpvb9GCoszarlivxpaQcMTQLA/EKCtXM/btj+DnXq0OFKdP0C8A4caUIE/M3SMwt9lmL8OjCNBBLN7v94mfNiXKJq/Yf/I0aftub8rfXao+Xmkv2xNuCo1pJ6/QwRBnhS/sT9PMEKXP3W2PwZ+C/4ZT7U/b1s+X7Brhr+25B/OnmCgvyQulhtT7L+/a42gyMyNwr8H9ETnoeuov3GBoCoYfoq/Ro4dWyLctz/jqRYUfZysP9rlNJYwi5c/i41TCXjAp781acCkBuxgv6gpUIYRrLG/2EZCiKesoL+L1kZD1EKCP6IqohQq+po/eUmucTTJiz+hPLjmfrmvvxCEcsJ/U6u/GrGFtzOdqb8sui16yU2mP8ySa91CgX8/I3uvn4BvjD9Vrjia4YqsP3bOfDQxe58/SRqzhhoylL9IxsPX0xmav2WbEMNZtVy/s5dinv9deT8zuKoLqgnEP5yFXOtatbY/kzA8AP9Dp79/S50LshqYv8HXFWwTrZ6/htpLO9nDjz9poQZc3DO2v1Q0YB9SYrW/ndGHaqSJsL91vvytYtusP+ZgR4wBQ5Y/6DSe51mfoj9KILOQNriTP0w5yIGgRW0/RYGv9ZYkVL9vyj9vYHqgv1NyWNwfQaq/YZe8WkdCKL/VY07qz9bBPyqtCvMIYsI/cFKTgYW/pr+y/P5fUwGnPwdU1bDz4qI/7e4VIQZrcj+Ttd+Pl/+cPw9UCc/shpQ/4S8Cd6v9dr+/gyf8kBCxP7qNPozFF2a/b3CJgP/PiD/cz9glnQejP6EiWUUHfJa/OmRdwmLFar87ZP1EQR20PzBNjnBYPJQ/A+7uchWIkL/fRQHWBTJ2P2UfCJJ+ipO/NlzUQYWgsL/FA+Y1GBSUP+1zXPp8yHs/8uG9aJO+Zb+IrfhGQ+6Bv8JKuQkOsIu/UWoZIAjseD9OaTIY29qtPzoEsGxhD6U/aEiFq1n9dj9V4s8WHD6fP16cZZ8PyIW/CtS+GOYkcz+/f8dSeppfPxx3OqjDcXG/x45x48L9db9CvmPXHFShv7+RO4QvaK2/sRNAZL7rhT9MV23uPOZxPxs4H3fNZKG/MiAM3tt3gL8P67F4ljKyPy02+M99ApY/++kkfvYfoL81rRkCXtxRP/FbZBUWPJk/xTkaApJNdj91J8+qKGySP6HASeOYeqG/A1DlFUFrg78xSuwqqsyuP3J9R0MA4KU/tFSIjXjVnb9sHWCLITVTP8y5vHn8H5a/+dGPy85IkT/u/iZ66kl3PxjyBLzjU6i/iwUAr7oqQb/NqvL8GrBkP6Ieh0vqyoo/l99dc77Cmb+gi5LX7CSnv9y6zPq23pi/qbAt4YN0hz9MZPe7sh2aP0vt3Eks9bG/GH6+l0Rzd7+DEkgVLzaePzp4rsCIJnE/8cA3aF/Wpr8+foCaYlWSv9HRzbO86aC/0A9ybwdHpL+ieslG6qShvz4ZZuU7Q66/jJwrAQtCsT9Kr0vK652EPzH5alQ1A4A/JJVyISD3rL+CgHqhfjaWP8XjY2VzEqo/Fd6+UeMBiT+YPPEVsYCUP5U7pfusfZI/eGdtlASTtz8LepV7BUSgP71lKw691p8/mPrYiRkqkr+HLpC31eSoP1IKvh+HtaY/+48EaP6tpb/xUR0hyZumv8/qY9YiC6i/lqHquTOyoD+4qRqkE1+0vxkDuCOZ0Zk/h8RRw8Mcir/ytfEBpbOpP5OaTysCXYk/58IZtH+Qhz9ei/SscASIv0O5ivBQvpm/96yHuoAomD9oZBrnAr+Qv5nqtuzyz5Y/d8MTa2Ukfz9BFLjYg4ynP7AqEmCpe2G/mBEiSs0/mD9BVf5xN1KFvxU/5KffJQm/ao2rqM1Kqj96YnNGMOeHv24CCfIqbXk/am9B6m1Ffb+U9QLnG8mlP+x9i/Cs7qU/aXSQJddvvT9EWcgYHoG2Pz0KSQWUZXA/Z+xtTRYgkD+UtsK+m8CVP9tNC/1tN5k/pgruuiA6kr/tj5ye5tqxPz0f5UfjOrE/pEJ5JUJNkj/IzwESZGiTv6MJ8Hin3aW/PIE08le9fL86ZXwKgQWgv2uqY/mN75k/n8BP8g7SeD+dnywKA7mmPxmFwwQXP40/Pf5D/WSTsj8rpbwTwFSwP25p1k8mMaG/jHTcfUsLcz+2VeQwR16pP9hbIDerurM/4GJf2b1edD+Yoo49uPCsPzXXsZCfu7Y/GoWLgQJSwj9QRqTCliC4P3EkzHS7gIE/tx1dCvuyWD99ACjOE+hwvwPPbUY80KA/ZXCOSkQokb+ApayzB2GvP5qqY4ii26M/Mf/NfyTirr9MKekv1RSWv4QwvhcwC7G/VhC+Txf8fT/t0upIgz+DP4N33fMhX7I/k4wRpI2tcL8vTmq25xCZP6hjft0vfau/gxTA4LEDtz+G0ots3F2pP37QIu0Vmqi/0zv2bDLYgr/8vlL0m22eP/IeowFAgLc/atFiPnRKgz99tnQ3nK+3P07I2t4qsrg/mVl6C6UhvL/ozYw7dZCRv/yqMcck8LS/GNa/wwX0j791nL7O5xymv+rxE5UJG4I/7czmTX9ho7+K2F2VHLqPP1hT0cUgT3e/h+Tz9X+qvL+jHBJMhziavwbhAPpBNYq/cS0AAzmGuz8QNrxSUCq9P5mM7Pc5wr8/Ll2dSg/8lj+upo00wtqRP3UnIj5inMO/Yc2uF/Lkwb9Grmzwcgxkv/osCP8dCW0/cJr+8EJwvz8GUn+vUYy1P3RNwAHw4qU/7afenFotmr9yyVd8oPqRP5VQOsYgmLi/msdxdUsiwL/rbOWktx2OP0+/8V9mv5+/XEWaAZLWrz/iBP+NNROmPwoxHSNcrqg/0NOY0mkWnb8ir99lVg1hP0NAumfYE8a/J3AoNdM0s7/vTtT44K+bP2cHu9tUxIu/40eTPU26tj91juSGJnemP7PiD81U6J0/XHt5WUkQpL+Cdcpor0CBP1AX1gnm7Lq/lUn4993klL83ZNQS+pqAP4dL/hELZqe/Ri+rMUxpjT+6rVYi8cmyv74z8+IcWLS/keDXQj1srr8OHLFA5TerP+ak/i/R1Y0/QjP1s9bJtD+/sNWKW7iiPwtTaeLXbYq/rAnZhAMWfT+FvZE0gqqfv6vd5eVoxae/f5tkD6y8j79df3Oq8Qi+P1nUHIPuEcI/WeJ/QsuYlT+h7g3CqDqbPw+FYwQ/W6W/FemcQ5VvhD8ru9a2Wdexv9G54uMxmqq/gRfRou3zsr8K1b0zI7yCv2gUEpI0qbG/o/Jfg6URxT8/WTLjHn+1Pw8q+CoIxZ0/SUwcFkigsD8T4qfalaCAP6gHgbo6wo6/xMhDwq5Or7/jRPOVyeafP2yMi+uJ28g/mJXtuRQ9dj+UNXYzmfapPyLZozlL5ZA/e1n5KBsJkT8orG5ZuxSTPxC+noll9ms/7Iw12sPqfz8+YsUbv5qpPwa0rk7QPbk/RD3+oSSrYz+Xy/BPRdGcP1WAIkdProO/Qt0fl9egdD/zjZQSk02bP0vySDg1iFg/CCM5OLiMkr/8+Cpa+qawvydCzmgt7K2/xQif6LuWbz/v7NNUpEuZP29BMqO4qp8/SZd1OQVmsz8cIEQjX2uqP7ljjjFFIpQ/vUnyKjbRlb+j/ebq81GDP7CeqAExnbU/Qdh3dXKnkz/Vfvof6lWfP8JChmZFjKA/E3cKWDBnUr/VNdFjiguDv7oh7uyNrpe/72bvtJ1GgL+zdhoBVyyHv1WCekEpwZq/19sjTdKypj/3wfrTChShP5hNTkqsD46/pAf5eD2JkT9kKGnzpfWSP99ZKKMoop8/xXxMHX+QfL+TqAEqxZybvx7DyiVBUqU/0fFu73wclT9kZiN215qjPy731J4mCKy/JeiP53VhRb8DGmmH4TWZPyZeocSirIs/3w5X8SXErb+ctUtROh6Av+M5Hwns6JK/paDnSa8voD8FlPpL0n2bP1HEH7Beb50/zurPvY/6kz/Gvz9+vjCjvy5zKgXwWYO/qLNSndtwij8zD58BkyBoP+4ZxVBqhKA/R7Pm8u25mz+DgGdX5eSpP1WDc9cICn8/Almp6i7Gmz/SFJfREVqkv3XM/A0smWc/kglHCREskb+lKj0jbZuovxOeIyVJRqq/+7qIv7s5jL+rBqscGxSpv/eEMrqvJ5u/5LUjEx+KsD96Z2FEg8KGv+f1kK+cvaw/DrwijuoMcL/elDU/jFyoP3WqLcdiT5A/F+jZFfxukj9ywi02hoJ3v0PCpnQY84m/Kw/gSDrpnD997Z4vzFGnPxln+h9zwaY/AiVnuEpmer8/HZpDKOufP/zhj/dTnJK/O+cSDYHCiT+5zuDqjGyfv0EcVJ81zJ+/tPs61dgwqj/5VpGPe9K0v3LGvR7cZ4w/mQivoqjAkL9LYL4Pdth0v78LRaOOP4g/2tIKIHNhir/iONfbbLWkP0HDCiX1uJe/g86Wwd8npT85cLjaAxeevxkTQEKmd5k/98LV3Ds0nL/sJJf32bF4P/sc59MeB4+/IouNl0qvar/+Iu2LqzCivxmtT42oKKq/ZIq2zXgYN7/0OEXvQGOcPxXNGWcuJKE/xCj/eIxym78qzlt4YIKJP9ILcFO8ipW/5txfwwdbrz99d1Kh6jOnP8itjoJ9YK2/1XxGVxVocz/ZRgK+/k+zP5twkn+xXLU/o3vOKDX5lD+ZfeCleQe2PyNv1hP8vLk/W0Ev97cMnr9uAJ36wqeYP6P0muC4OqG/3Ix9LEQ3mD+lGZjPAXV8v+4zv3DzknE/EaS9XrGzrr8IhE8GY/iLv0pTBnXD+6G/pf1SiRoZmD+ARVJoq4CaP9/tSDaCi6S/emMwGy8hiD/8ahI2mBiqP/oh3JM8BK8/5NZZWyAvo7/5fXpHej2QP0gmeXdWVqA/mN89yEvTbz/x8YpJWqKWPygTQ4gMLrK/vwYpe9++mL9Bwty6+veWP/A43bN2ALQ/OOsPzwWdaD92N5md1RW3PwubMQn/xbY/aLZkzTSdtL95GT+QTmaNP6j0siHykbi/ciLZwBmHsb+suVbcAdS1v6eNetK6qZq/v9rXImORqb8jKMh0h9ahP4XkkBQOp64/eTLbtkjPjz9ynuAGevSHP3Yu80p19LK/kMZyPRkYnr/4hcCutkSdP45xkrMyXKY/YEu1urvQmL+rg7sXbNOxP8UUi4rA47k/xK7R15Y+oj+9I/Zeguy0PzN/Q7rAH7S/fI6O6Og8tb8iDcwmoSGwvw8IlIvzMau/GfS1cOr/ur+3Lk8fdGmgPwLvQbiZu8I/tk/jpDrnuL8ELg5jp7auP1e2iWUKP6S/+cyzPIAQZz9Xe3Vh14R0vxIf0h5A84W/zqvnrtl6o7+xMEqFSXmVP7vtVjKwpcK/Fw4x3Fu2pL+41wUTNf2hP6Ctrg9uPaS/EHazqKRdoz/aAw0yspF2P49/QEVrgYq/UGxdiG1sor8QNM76btedP5ZoAOaizLq/CksPGnVIoz/27EZRWxDDPzJ+tcAKQqC/GPfxEZiDob91fwShhr1xP0FxMiJlxaO/dCEBohA7s78QSR6sIhCxP6aw0hP7TZK/qLJo84sntT9qqzmTU26qP/IL6r1iS7q/Ch5gxQufnL+4ZPH/LOmcPzn2fOE6Xo+/UTqIKIdynb8zTyoId8i7P9+FR8iFqLE/iCrtLA3vuT9pmbFAaR6rP+tqhdwd+7C/rwW2kj3ghb8KBNaye560vxDw0P+HbLa/mJsp2hJet7+KzouWtTKMv8MVb799Vqq/xQbU3QcCwD86Z+vlbUi1P5fEJSUpBoI/YDa86xVnrz8MoPUa40avPxqU5UJOu4O/VXJzJV9Ws7+d7bAMadpSv9qutwUsU5I/gjHi1JyHvj+LLdSVRkySP+s0jMZdfsC/3sS1oQtEqL/W2Jp3sgymv+yLuCpl0rG/NAUdUqWAtr9kF2EiCg6HP6MuvfV4G5Q/HBvVBccWvj9a3MWFY1+iPzZb59PFxaG/CYK4gjewlD/GESz7mEisPyJkTO3/ZYC/E5vaokG+sL9CLeRpqliZP752R2kboqk/2LIj1rCmgj9h3MzNzm6jP4VgCC+50Zo/iG1hv4jJsz+JjYPlENC+P7vxzF58YaY/Mgda7MVTm791iOc9ZwqJPzhqjTTn4rI/wW5nngvxlr8y3TDKmtCVv447oGhEdpO/5ecL2g6seL8NCdWOM6SSPx1MyRj5lWI/VmtvU27pbb+A6EmWsYOWv0mAeQPZnqO/hRQyvxJ2mr8s7GWBTQ+iv3sNus/3dZy/6sLs1T0xpz90Wzk+iom5P1LK/MPJ56s/TFwcxyrciL8Jk1AaebqdP1MgSQ9VI6w/P2UPb9y5oL9XYjG5iwRhv7Sl7M1vjZe/uus4tquunL/+8bG25oNXP9Ju7WUh4Z0/YvbSSUkRoL/PM1aqs+ZpP1LIs7dk/62/w4q6Zg6qkz+XHrcP1zFYv65Smlzddoc/ozCahLx8lj/duoltYu6EvxacE16YwpM/2Hx8VrDZoT/aKHPFzVeYPzgH0vKzc4o/YaEJB35Nnj8UM1zfT9igP7hOTVSjWmg//7H4Co7gnj+l6sEwSKSQP4pYKMk5Dac/dE1jNgtOhD86+rJTucykvwnWs3cT/J2/Hh8GxoMIkr8aBjh5CrBwv5/3/7LxzYO/Mk5avO6Llb/nNtRH7aaQv995VAnVf6Q/79q2KF0Kir93KeLbCAmgPztKodWoaX2/tWQz3t9clT87yQOjpR6DvzFm6zlG46O/BSvrHoEner8kjtkx1K6Uv8m9FyCAsKY/7/3npCVcnr+t4dZ+0ZKhvxYYuIQ9SGc/x+iiv1a8b78t/AHI6bakv13p/y7CWaO/fdRTJoVqrj8Iob3ic3yiv+rMjNE24pg/VpXQSladnr+FfG6R6J+Iv9AGETeGBFY/J1xA8qHfor+kC7Dy48+WPzA1q37j7pu/itdB2BVuqT9ggQ9j+nCRPxeT3hmEf6Q/aQm1cHwYgT8q1tuFxq6XP040jYyT8Kq/5icX8qVNk79VA3JHrLadv3cX/lc93rC/Foj4PpJLcT8gkLi+ZQGyv/qFR23+oJ0/M/Dk9om6qb9+1YL9NHd3v984pwQ6/GM/VWz0YuAYkb+3Y950m++uP3m1IcfTYp2/ovsJZz5CWD8HIxYACNWKv3e3X+UlJ7I/NQfdccK1lr8mKagEX6SeP87i0wKzM6C/k8uSNesRqr8hjruklC6AP0VuClQZfai/pV59dVpwgT80RvodqM5kv9PtrEJA5ZO/Mgu2QV3Irr92yTK41heZvy0PLOsy9qm/10h+4scGoD8MgYcpP/WiP7S31mtfKq6/vL+zd6whWr8VxfvYy7GwP7pqa57CvKw/x4JFqZ8srL9fw1vbix2Lv9iyczsLtn8/T+Fts4Irrb8JUcpvLkiSP1oqPsehkLO/FTm0rHyOp79adFjEoVqdv5T9ob1MpZg/OrTCTTHxqL/F9qqNFZKJvwps15L/Bo2/xglQQK2sqT8lYSxEbweyPwW4Plw1a7C/zmQKFEr7mL/us82pKWCkP8ut0rQGopo/5QOfm8VArb8ZSzLFOY2rvwXUIdoyMJO/qAYOOiB2k7+5Lyn7e2yfP4kFeZWTCLO/RNvizsxNrL9s6VCPK76XvzmywSSMSG6/tgsqWJ5Rrb+YXILW6bWcPyoA32AKeIM/FnL0X4eonz/kdxbi/Ra2P4feeZ07lLG/6zRfRAhhtr9RayJGEX21vzomzMP0E7G/IvoUHU6nub+b36SeDB6RP5VXd4FLD8E/D1taiaZioj9nqutC/bKyP1NqFIrfPrC/MPFlaT6zq78c3YIwiT2Mv9yo4EEF8XQ//bH3FsvPrL9mO7a1rA58v3uW5evXz6I/NBAEXi2XtD+4sYN8zmPAPyN1UdDSAqC/k5p78Knmsr+aVjvAxkayv1zibSiv6pW/6Ip3tELdob/z9UXBffunP3fm3OclMbQ/PjgpIIvXo78MHg9lHU66Px2fYgh9np+/CzsmGy4aor8wMKzWOrKMvxCJgf+XwaW/RMoQfF92rr/I2GKOXRitP92hD6dpNri/mbU4tSXQor+6T5UrGCiMP/IRFi5M9ra/XK5IBirToL+0VRebstRjv38IwyAzlZm/6OD7nQyWmr/m+soAseK7PylcluVmo0c/5y3txcBUsD9BQu3L/qLEP1dM76FU+Xc/nqK83oYupr/Svx6xnySuv/ngE8v5q56/G9degwUklb/Nzu94vl27P6PDDvpJVHe/aotq0j2tfz+Zuxh/FRasP1zD/mGOeqS/NXPjxaAelr/2DZCjhmqqv8ZGx0A6nKm/fU4qLLL5hj9ja9DOgtnGP3B4aeaCAqY/ZysqaKO4tz/a/HQmF/+JP0ICMexPK72/VKfVO1l/pb9UBFqSBuKpvyNcmQOVXq2/sE4RVWIws7/9SzR6G2CnP79uLu8Lb6M/U+ZSfGUApj/KGqpW8rlUv+lbsSbUwKi/TdYUhZ9gWj8Hlakv0YxIv2akp7MEF5m/XIK6pSW2sb+ZvUekAeSXP5z+1OpSWZy/N7wAxSkItT9Mg0eMk65sv/wrKJ0QNbS/YMNvyu1tqb+ktD7GcwC0v54BmT0uG7K/35BWdjE5oL850l8B/Mq+P3Y4Gz4/trA/sTQNK5iXqT8niltujfajvwck3CaaVKu/ZxJHJEl0jT87cHFGf2yNv+BtlXBcNqW//ozFhD47qL8y0a3q/IWwPwdFXapJw4E/agMmWQGgq78cEwt+qsiwv4PnncfSOaW/MREHwLi3oz/tB6mq+5mwP5JHOTEzz6M/hxrR/B8SnL+9REwnKeGQP83F8y4bQKQ/CHDOT01rpL/pl2FOQ2ZovybIrn7Nk6K/34shNCZFpr8HalUy3EBxv8Vx439zso4/K0DjJZhTrL+cbSW7XxiWv9QbNoDOdqy/cystUuKosL9/X79kuVaxv7ondcbPe6e/Mk7Dy+i3oz+mLdnOfBGiP8CVkdBexWk/J7PPSjgVkr9CC5OExkS0P5BKK6V+RqE/v+RSbyUfpb/kcdYV/EuNP1zM9NFHVZ6/QIL6NZg0Zj9rp2KRPNalv5oLmvsMup+/2KiHSoJ7or9ei+Em8deLP/H85iX4K7G/3UidDn+akL+3Mmctlw+VP+arbiEv+pC//eriDtcpmL9JKZ5X0D5kv/DuCj2kPZ8/Vcc/oawqob+fQ/sXCNCUP37P4Miosn6/sFG//MLHYb9sgCcT0Ihgv7tv8UvQibG/yA1QugbXkL+CozhM/6mQv+r9daax7Zc/qX8lru6hrb+rQwpVrROsv1/OVIeVyYe/6m/K0MRhYj8rxsLh0PqhPwjS8X+LWpe/6afN2RWXoD+IkfV8zgKkv8AAo04StIY/OY7WXdRllb/DNi8zdkKiPxqAXCUF16e/WehZdAK5m7/Ov6xZx4hoPz6n+FFDF7K/d06KGsm5lD/ptJenSQuavyihLT8epJI/Q3W8bjxdqr/y2SM6ajaiv9+TOwG0DoS/LJ+DElyUp7/IqApeNwukvy/Ylh4qta6/t8QjFHs8ij+mOlBetKiiv045SCwmwpw/XoKtcgwpqb/fly5b1suTv2b7IO6y8pC/lFDg1w+go7/vluplVbqgP84Xq41UeZm/qeQl27Z7kT9IZuPwePalP5972xEY+LQ/hiVyH3C/kr+Z26voEAGPPyBkyq8Vk6m/aqbQeARHm7/pXJYJAD+vvymudAdMiai/qLXH8+LFpz+zlHQRe6WVvwfRNnhcsJy/aPHJuq64rb8fZHVYqwukvyA7ZMvj1W+/b02tdJEXib89Gh+XZl+CP4jUjgYrjW6/23OvbVjqtT9ROrDuFzyHP8WVMazFb4c/mPzyGCcDrL8f8JtlsNV3vwCEVR+ytJ6/5jFN04aItL8KSKJJeVrLPtzA8k9L+bS/kdbiGPcGrb9FGa7wn3KLv4iM2ak54Z0/WqCDnlVdqb86TMRBV7iUv5dQtbeg3aC/4cdGElpkoD+y5RF1cD2rP0f3dk7klbO/ZrfWcgsFl79i/1TwMny4P2qBO3dJ77A/fUpCDdjhk79xsv2QA5SgvzBAhAeHCGy/BCVy5m9es7+VSyR2eIybvywlgf6isKW/UrMpCbcilT/EbtzLbN+fv5XRmtevJ5y/Z6G0z+Qqub9dxGbcDB2tv7GiIwE2GaC/hEuEd4sEgD88KDAC2AaxP4twn+ud12e/i0ERIGSdpj8ZQeCS1CyrP/ItIMi7bJg/DyMxLZeDsL87LAgyRwuyv1L1V+BXB7G/KMGSZYUQbj/YOhtOZNexP+1csZSWm7S/8mj3ukfGrb9LE950lVWEv4fjBR/rTIQ/bgcG9/jhqr+QxZDqWVSIv/fKFMC11ZW/qiR7W7efsD/GD3QimVrFPwR17OQb6Zm/nB4VMeyZrb8gL4PkeLmlv6Oz2aRtAZS/JRdurfoxpr9b8bkqzeqoP1TwbN/Co5c/fMbGOcL8Qz8c/yV6Y4+uP52OKYWbNqG/W6ZTrtxDgb+BK+tKENScvwllGOAsu5C/YtCduMy4sb9nx7YYkVamv/uO6jRDPU6/pi7Nbhcwsz9U3sI9gvajP0MLqMUqRLS/LvWt5t5bqb9gjXx8+1Wxv8ezDtd2Oae/1hWzuPiAsr8tgVhm0mGgP0g2PP+5obk/2kXrPdQmnz9bl3KKDgHDPy/FFnYjX5C/Ya/t0ELSpL/mUI145Dygv0MmSanXeaC/C9kmF2xzpr8ZFwayFWe3P2pcsIHBgKi/a8rMt2zgrr+T3sGt19WcPx4qoc+Ib66/ZgxYyV/mlr/EaDHuqFmlv8a6mWEBq6q/yt/oOdJxW7+s5UaWHSXFP2DHWYDWzJQ/QXsXMBu/qD+99RugxJaoPwGWWY4A+K6/qLm2Tb6bpb8meCeYly+tv3j21J2eeKO/vCXv4sehsL9FD1Qg61yjP56QzwDbjZK/fT7bM5Zpfz8lt4VYOESGPzFP3QSAjK2//LkI+VYthr+Nqlz166KSv5P+/HPVpqu/mFWkRQ2rqr+Dxyx8p6ezP8J3TSC++KQ/6aaa1yF4nj8RxHbFJwKDvzx5LwlWOrC/WuHEZOzxmr+wFmwc3sWsv66xZMK2p7C/UAc1jPDYnr/t7AZOTOTAP6zf91R43ag/x7xqZfvUhb+7SpzM+Vyvv/yMREqTmau//Pk2LonRdD8TeComT0Zivx3koWbloaS/NrcF+pY2pL8PEcWUvH2rP8/iBPH50pm/1hT4bY/Gtj/nnCwKuwFMP8BOBjnrnLO/a1CjHGL6o79dQOqY6myhv1nzeIIMMrC/sEZ65ERmsb/pqGcsMKCtP+aFsrEmZ7M/YGI6CmzNl79IE4oZvbGzv9Nb5gSzK7K/mgrl7HoLk7+MqeM054SQP16EpUyNI5u/OJtI9dDnor9S28bqjhqeP7up+C+PL4C/FdXDxA5Kp7/AZ8lkXmmwvwZJt5lSyZ2/0D5+r7lmsj8erT62SGu5PxtDYFv4vJE/7euiJmnGeb9H52BheDCwP34SQ1iKNIQ/qH7u8amTpr+7zqznzn5kv4UfqcTKFZ2/uVBp3ydKbT+0u2tQHtaIv8kRGl04EF6/J6+YTktweL+SzDOU6zBkP2cOnQoPhri/RjmtU8uRub+D+FYFlzuyv533lsIO+bC/kG9dqTQBnD8C2KzF7rC1PzwXOM+rcYs/qRzXDeHmn7/1KYkFnAmeP43MB8HZSZc/5lL+5m92rL/D/e0dLuatvwvfP+o4Vqi/RhZ4Mp0wo78SDPBfQRyHv4FjfVCVupI/92nvq420nr9JW0O8jq2rv2+hcA8NILq/5p6+nUq+iL9DZnAVR/6QP9pzK/B6o2a/pMpGWbgSpj9kiY+0cpA1P7oaZNGcj6o/EpmriTnzlj/REo3VJ3uiPzsB4X+RCbG/GoIcG299pb8f1GKObiqLv3Q/IuZ3O7C/xMTTIMtBjj9IzBWjPkd9P68PGEuXq6k/xdwnMJixk79u6vdqcN19vxghmfI/TFu/Y/38xs8+e7/TsIiqEB6Vv7ubFDs0hW+/RBHj4NIyk7/yR+V9Sc2Hv6KWn7YcQa4/glouoSAoZT/ga/IQzGKgvwLC7NTWX6K/zsTFAWhMlr9qGZ3hqOWZvyV2Uk6ls5S/lkbH1nYWm78L7WTWwWClv0meYMQvMnM/72Swcppnr78Dw+c9EHGmv+gagdvKH0k/WwSbG+MWYz99eN4Jtqipv7PClJwCuZm/S3X4ZX4csj95ESV7D/mEvyOsnWSXdVe/83wnxjwcsb/cjBnrdU+lvzedw2saMxs/f/0vb6a3hb9QvM0AnVJ/v9ilyp176mg/X6HqFT2IuT87rXE6Zw2gP8eVzGaLkaM/Ml8Ret29qb8m3Y5DX6tpv5pibARgrGi/RWCFFv1bpb+EVY3670Svv2qvzQoVupG/iQRO9QUypT8PR/OzoKCxvwu3GXuyaY2/v5c9FKO9rL9Ulg6CSdGYvyjGfr/1eq+/vYaDCZLfpr+b16Yj5sCEv486XUcw5ou/O1Ff9AlVkT9cfPVYZLFovwmCh5Z/UIE/KayGGXQfmL8IfAEjuJt1P+y8C6JHH7W/mCObdMc0p79WvfPi8rOLvyuc5ry8upu/+tbenV2foz+/P2qFEMCiv6m2/XH6k5+/PL/fUN31ub/tpA/sJ9esv+qTkiVN7JO/OsY220Z3fj/dwrUvML2kP2PJsysVXYm/t8/QzzdbsT/WyHnQXBK0P0JqP5ca5po/012NCa8CqL8xh+qRdsuhvxxfGrKR+py/cDx7wG6msr9yL2GvRQORv67DgaDuoKi/N/lkpESGqr+ab3rDfXu3v/AbrJvP862/H0dZo4XNsL8zW0pt+bOYv/G3AzQvm7C/QlGEaNIPkz91mZ1JHZezP3k5Js3StXO/jyhoobzDpD/9dwVbwa2wP3mCRH5eZ6A/JOWolsI8i78FkJ+B4AKZP2iYeo+Xd6m/BxZUECv/nr+pHgkpIQ2hP5zJezCLW6m/WyChpE/Th79nZ5z4EcWjvzXn8TDqFay/T7nYR3h0tL94Keebhx2ov2t32OqW8HK/Aq8qGZGRtD8UcGxTjOxxP6Cg/2NeCbe/ACwfQowEr7+p3ugrIQ66v67m/azT6q+/yWyqfcjwtL9nT+6CjySqPw62nbxkDcU/Z30O9rzQoz+J4TtqJBS0P//ii/hoF56/sf2papnNkr9Vs50q6/Gbvxj0cmkEH6i/n6Odxwa6qb9WJsYNIT2CPzTggev4C3K/4mZnEFebvj+hqKSQP9G2P6RKkoPlRJY/SeLxIaoKoT/+XPTLtg2tv8v1L5QJ+ZK/PhAVSWpAer+SLoTJQa+zPybxKquOscM/ISGLIvr3qT83gDxcqsuVPwj7XxaYibG/Szzd1ZYbqL/xqlbv7xS0vw8My4myDqm/DAQn6VR6s7++++rw2E6GP/nfqmOLPJe/cd6pihkIpT8zk0W1bVGCvxVEtgmrEbK/lBRTpODBm79Aa1teGx+rv6VnqZO3ErK/1yJR9e+tr7+X1F6I1sKwPywHzJMAf7E/KOED/HWGuz+Zuv+1P/OtP8l/7Tj0ImM/SKP3PxTcij+zB+nelfCwv2GLmJjLfny/huZXQXHIez+7qhAukGarP2ODxs6KOa0/0qx/l+TVuT8aFPii50mwPztIcEWLNzm/rghiZkEDl79Wjigkc9Gzvy3boyp303k/RHC57UCxjj9nzLcFELG2P3TyJFGP+rA/8x++Au06xD/7hN6V2GGdP2QWJSMfdLS/6KdvqlZOo78XXqf8CBWvv5LqYkkl9rG/zTldqA/Rrr+G6xJdCnWfP3rp/wfg6bA/K0yUHE4gpb9MG8KHxJmtv57J5lxjJLO/REPeB7Msjr9q+XQM4xCQP3em7MuZyKK/7bGr72mSk78w6ZBNmbuGP915bcywDpi/f28qFOcdvT9U2agMQCuyPws+y6JkNo+/v6FGX7mvkr/3o0WV3t+tv9DbHpITVow/rZ2zhyDFkD83rY72dBm4P5Q1E1/uxLI/7W4Sc3Wgpb+0Uj8AdO+av5AHmsJjcpu/69j8GPxjmr8QVZVU6LeZv7CEId/dj6e/kvx3Al5Pnb+ApOrrc8uNP7uLz/D75bG/tcK5N7tTsL8YN0gd8rCdv+j//6+tlaa/O5eYy+Z+qj/otUhcXga7PxbDqHrZjpY/Qo9cELp2VL+QLNuKS1CkP6Rdo+k5i6s//Ceyv56fnr+YsZ3ijjGav3pUpnrULae/IvHoA3Fmmr8U1NcrqSOVv59hr7Wv/oY/YuKNjJ9NkL+U595TZyqgv5H6TUorTKi/JQXxJv1us7989ymU/8xTP3Huje23p4Q/n8Bc/QSJpj/m14UMCTGcP0bECstJIpo/HvvGzy+ilT/fC3mi9qWpP2mMZHo2yI8/hDUX4hlMqr9EK9zye+Byv+W0xku1J6q/Ubnufdh9rL/mp/HZvb6zv2ZBdHzeGaW/Ot1pKU14ob8Ga+kDnQqiv2EZmU929by/yJCCrUQrlr++deWiFjtyv31m9ezvCIE/pzg11ar2hz8O3W3qgp1iPyAzmlrWRrA/WFIdKGPUbT/wn1jnRsOUv97Pl08IZZG/3e23D68Cjr8KzTYuN06Wvy41uKCPtqK/fbh28VpffL/Gtd1ID4KLP2GRLdI3m6I/WdsBa7gvoL8y0uqyq2iAvz7h9zV0eqA/h9flijxMpb841zMzW/9/v/TKK3OBoYe/UpvrJD14e79penr0gzSivzqJ/wBiYWG/V9EV/whfnL92yP2AQYqmv3f2ReGS36i/67U3PNRvkr+OjXwupp6avwdNfT4DMqy/qJhyAgBemL+8g0wQT5G2v7q5fwrooJq/T5Tpa65tob/MKJUL06SjvxF6jCMxepe/yGnEL0c4mL+Kys25IW6gv+biaaEo7ZY/eJr1cATHsD8Spdgpvnynv1arN6IWYJW/LL80rcHFnL+3D/5ARnM/vxONFCUDk4y/m0YRXtVgiL/reHl5GOeOP4RLl5MnbZY/L7MfU7Zirj8V8v96oTSaP6lNobsk+6M/2CQ053aHnT/XFyfK23KqP3p10inadI6/UOsTzz7trL+gL3J9yVpxPxXddtDPb6E/CqCPZyJ/mD/I+woE7N+uv5FBQh4Uwpu/5OSqE4Mfo7+dM4bbXXiVP7mIRw8+lV+/Ut8It9rotb9U5QOoz0ihv7anZwJZmoy/Trpuw5C2gT+wxyFxAFqHPzmF/wxU0Hs/ywjhgj7IiD/NOG/mlON6P3fPBDg5Q3m/6U5bhqMPpb/ngu7KjjGHvx9nV3KpeJS/Ymmo98NaoL/loFvRt+W1v3aEA4qxJ5K/Z/rItT0jYb99tCHnFl2gP9M4WrfiVZO/hxL/L4Pdsz+SG9mTk9S/P0LeVTlbTKk/zbEDSJq7sD+6+UnHFFK6P2rQWlCQ9LA/m4tMnpz8pD+k5gZH3bO6PzD5lZBI5Yc/tcqBnxmjt79KdMURuOSwv6T4oS04W6y/w5hBknqZrb/cAJIhSQq8v3llHfx0tK6/PXxia+nukr85q5aMx6RWP9wKXOZ5pFA/fSJH17rBmr/M8wv21/pBv7dOQZgDdp8/YyrX5xJWgz9Y67sMimGmP15hgDISYZ0/gqQOLXIpsD9om9S6GSiwP2TqkcITDaq/j3HK0n6NpT8D41E4/gi7P6Mvvl6tp5M/N74jV1omcD/yS/uXSXGUv64M8zxVWJ6/PoM3tOqcer8vBsmzsJeoP3GD6uvGIV2/GjI8EMP5wT8OYxH7lDbDP/jht52H17o/ZXNX96Ycuz8bAf8POYqbP/lz5y8zKpk/y3Za/5ouqD8W3MBu/TS2Px5XsO/GNcA/9dntbY6Xrb+8uhZry8WevzrslFuzUqC/0p8EZU/brL/LW2HpyuWxv7XtRowXM6u/DrwTj/B0ej/TydR81sSTP13ZXYJsW6i/+3u75SNXrD8yBuYBPRG5PyR+4GmB4bA/GNu6J7DlrD9EmEJ8IdGzP2J0dGt4Hq4/xYMM4deKnj/aI8Am9dGoP2Krkhsxu6o/wcXH9w8NsT9AIjd0k8q1PwGZztYp1Ko/BsLgoVTVrT/gwVIvYI1ZPzdSEqrtIpc/ac8//gZYpj+7wZLIafKyP4+yNGuMJqM/LesP5RdApz/MgVMkRyayP0FShJGHC6E/8jux4svvjL+jchUrTx2Sv6/klWiZcLE/L0PVj0WUsD8QkaOUlwHBP84GQV/95q4/YvebZNHMoT/rXgFae5mrPxc1oYXF15g/B+L6S+mppT+JOf7TjM2sP1yUxz01+Kk/4y1Ep34Doj9dnvKZ8nmqPxZzh2r7ipw/tYH9u3Hjjb+VZ6KYUsCYP9kv0ISw858/4rT3nXmypj9diWIjfiqoPwaGfvP1ppU/aO/SFGBjoD+8wiwLTySwP221Wj+WBYQ/sPqWRRY/uj+eT0QnKNa5P5KGt9721Kk/rEkB7+TPkD+Ig9vdB4CgP1WWQJMeabs/TTKdo/YzvT/CGe0mUGrGP0EdHhVJLsA/+WmNucL5k78sDiHOMqajP999WrzVupY/JguJtkbKgr8DM5ybscqSv5AMK62SbX+/mr7Kr05bjz/JG1tQmiywP3O5ZU8RoYy/4ph2vDbWdL832LAqMAOpP4ktGVDWhbE/XOcqHYtasj9bh8uVvAKyP8FcxcNkvaU/O1HbXrjdsz/KMkmW+xu0PwFwW3nvUpo/tzQz6zsvsL/2yrOm1o2Av/65Fn8srZE/a8RANhgdmb+0BnS6BYi1v9T2y8emGra/2stDvmQFrL+kABTZlMKxv6GBhVHQ+L6/B3iNymCThr+Ik6uh8BOyP4K74AjhabA/wz2cqayWsj99dS+eRYmxP9D6owb18bI/dsOViNcosD9o3ZitDWmzPwdzoa5l7aI/LFbOu7z/nr9Rzq4fdvuLP/38CvWDPZK/qNHPM9oLrb/FN5UfNcSrvzbGGThgmBe/NvaV/KhdYD97WIvVLi6Yv5f4zJYNeKq/qrlqacfxkL9ZpHj+scaRP01eInQXia0/xQLVzCv5pT8N0rUipN97vwnmF95onGu/yCphU2wId7/x9bAaPSKov3+xu2Tacai/3zXhOdTep79PH8odXF6Sv2xLwroQZ4y/JPZyzmveqr+Xjt694jqwv0oErzUwz6O/+4nkLlKWob+TZ8XHMX6tv4mSCtrNhLS/dlFx2p6FX79EyGq/GrKQP34d4LiaFZk/hzg9fbr8jb9bQxx4gqKFP40E7rUbR7I/dsJvKZixmz+15NfKhhJnv15hL9VB8me/umOHnzZgoD9vrq6Y77+DP3Ze6U0Rip2/uP2hkXdBoL/hjQIE+eydv6Y0p/kyC6U/H8outoVNlD8/C5lo1Q9wv2HzasYWrJQ/h3Q1wMffi7+zmT/5ASWJP+0u9/xU+5s/EyP1FEQFd7/j1Fc2mD2avzDMjyif+IG/vQLNZB1oVz8KebK1IN6Xv27DCuiJQqa/nGxaJ/zomr87nUhVV1x6P8yQMoNbIaq/EiBQdOjEjL+OzJ8BnkKvv3p22ka3J4S/UHWwcbU/pD/OUKbwY2xMP0RUJndi0ae/w0zscVz3qL9V2xyJLKeUP9kjLCOWHaY/TtyQzgdypT/mAEm4FZafv1I421naiaW/VDRg7wTvp79X1zYE1CmNP0EN5lTCins/Nd2OiF9isb8a6klSq9+Vv5ShmEhbhJO/unWDcsAlob/4j13RVK2Wv6Sjl6qg6XU/iz4/+YVoZr+ga4rxBfmCvw6vvwuq0Gi/GS7BzijIi7+1EGymkINkv2xqhLGZ4pS/DRorZZdVsT/82pzJ6MeBP/D8aY+EsZQ/X1jp0w+Bo79HFSAvh3yhvwrXqcdYxHo/x8TVIqUIML91u1Rk0YOnv/VEVGtWP5O/qV6jZyjojj8T6BZiQDucv+qSQk3GuYq/qKxvBY5oo7+sKJt7eOaevwx7w6PUo6Y/T8fsKRwUsb8o9rLVtZamv5TY5aOGcKO/tg4T+2hzsb9TWTSGFfy2v9X5GQyVEJC/+GQtC7Gvkr9s/Zj2RBldv/Q3kCQiDm8/y8TDz2Vmhb+VV9KFfCaHv9buECZygoQ/+cse95AYgD8pm0szW4S+P+Xnqi+mubY//82NzZHntD+OCYGlBlKyP2f2KENDBno/4peI2wVCiL8pLz7q2gShv+DPSPCLC5K/x6olKjAFcb+/tr9H/LKtvwXxPYMCjJq/qtelWgkmqL/XcPsMmmCRv6OshSXonKM/XNpwRXVBsb/gQ8Uz1PKyvykWum45Xqi/4vQKdlkDn795EbfdFkCQPynj0NlNXqA/+Np08oecp794X4bWu+ylv/blwuC3DWA/gLH6VHC8or8kSHMREsuSv0tI9DTsgqC/UeGnhCoLqb8UgGqW3vWuPwze0we5BaU/vkzeNN3qqj/49oc+xpOtPzKMaPbZS4w/5QZPT1X7vD8O1MeajLO6PyVEB1cH8Kc/ZleRc19EsT8oJBJ05YfTPzegEQqjD8Y//gMYJJ0gsD878N72TJCzP+LzMxd2xbQ/9U28PiPrtL8AJ9ou1Iu0vzA6RaYbirW/xf5ZbI+Pt780E7fK/6mqv3NYXoK4Cnw/m4Q5iNsarr87/rfmVfWvv5OO8NtsCJu/LT6Swy1lpr83LP+gWkO7v00HDnGyQrS/bs3VDnRssL9aIHka6MWgP4spFT0GW1q/bVrNe14jsL9guggYLKu2v9/yCScqc6W/CoeIEWjmqz+cMpUqGralP8PcTFCKIz4/9gqYrdvLsT/sIy9iunzRP6jeBLdwhsA/hRhWsDdhrD9yBuusqX2uP2aLlI5GDLI/ObKbi8KJgj8GvLDQMdGhP/G8x8Qqs6w/tNoeKnk5wD9MUhenkFzPP9LA84VGA6U/5X3Y7j+gcb9iwKO5RHSsP5Y+WqVVD5I/bUWtH2G+rr8NoXogk4i/v8bE4CxmmbK/iAeseXDRrL9uc1tm3XOQPxCKzR9k746/qTjj7oMaq79ZYyIWvle3v5RExiU26bO/PQ+H6Nk/tL+8DzMfS7G7vyS5eJzVoKu/E9cAyfVefb8l/G57oY+QvxhDtkh77bm/QEtWsO3Xt7+BJFFZfce8v6W91YAVq7a/CsnsGteerT+8jqYXh/CyP4uWoQ3hKbY/EsYh7LuLxT9ApAmR7LLPPyDQek6wRK0/LwS2EfP8sD/QUMhNpkO5P7o9ahoYyrM/U5U/xNUnhr+QvSmFhWicP47hXuXsuKs/NhLHLic9qT/z85pRfqelP7Cs8xCZfaS/EzMWz0oQnb98gmi3dDOkvxDndP/lS7O/fzrbVTw1qb9fdeZt0/m1vwX/ZChrjaW/YbCHz5JfoT/6V6nFLt+gP06hGvruI7W/IxEy4SqQsb/PvUYvHli5vxNhfXGw+rC/x+P3cELblL8C2xYp7cefv7ecCplXfqa/OIKYmECASj9LE7qqjueiv0IeHmMkILe/EBIzrNYwtr8tCD4LItC7v7sJaivR5LS/GE0bI0Yqlj/kw6LifkShPwERqeqHBbM/FKnokdIktj8q1v2S9Y+kP+4aCkFQpEA/kr9bcYlLfL+qYXdABrunv1aJti6ZhJ6/HDqvY1HJf79Q7Og/Y85qv5xXn2TrR5S/LYEIQ+/YjL8s3wgZZnyZv2yzB4TPiaO/6cA1qsLqlL+pZWjG3oSOv2hSjN1VraG/c8B8KteUkT/TALx01Tegv5VJeZIb4J+/8eYsip/GiT/EQbaGrGmivwmiKdj8j6m/gHnCGKiqr79nEvBIEHi6v7k3h+a25aS/F9bgG/7Ykj+zZgRDF1yWv3txMbGSMLC/fAtIbPUwmr+F4oiBC2Grv6XYr86dKJ2/ga5aPc57m7+1h8AJB8GqvwOVWQOpeGE/+m1yzrtHjD8gqdKvuyuMP4jNNm1MlkQ/uvXQg+e9lr8ieR62pKKSv9hmrzVoR5y/711XtRfdjT/ubmPbL2eQP7ow0RGrwJy/ZfoWM/32c7+kp0+CfVt6PymCz0k8L6m/eB+NSo5kmr/GTXXCplGav+V3RDwNpZE/DTw97aOIsz8roe7R5j+jP4rcBXgP4Ka/eqsKU+NvrT+zYSSMnxSJv9/5PMy/T6C/k3EFfdxVfT+HOR6oNvaiv5IHRbOvcla/rAM38cgndj8RRdIFA8yhv45hHLWqI44/0eq3bUlEoj/1iTWk7G2iv6+QHpR1LpW/3vE9E7bxkz9MMHSaHfV/v4IDXwZbfpY/uE1iZKm3oD+sMhIzlV6Rv2IiaV2uGXQ/YA12LFwXob+QH+PwnimTvykUHHSXd6S/oFYG7MFvqz/2fFzTCuazv5BbZa15ZbM/oOK7Dg3hhr8od0d++ZWNv8fy9vIkeHq/NWOnsHbceD+xO2vfxcKcv4aF4s/QE4k/Ss/NZ4wIrT8vfwPBTFWvvwHI8HnkQ4g/j5x05A1apb/6884htHKev1b2wTkn4aA/grUVyrnOa79eRk1RVYibv6YZaRK46L6+bxw/C2BDoz++cUCKIYy9vwC5Q80mwaw/0i6k4uDpm7/gsKOGBsN0vzcY9oEQTKE/4vlYJ/hekT8jT+I+IcSpvxcWvF/RvX4/kzDXUF3LrT/ksgTphf+yvyEXRVpi56g/Nmu4ohITmb/Fb/28SFugv5W8uP9/l6M/g7hE0INdRT+/cJgIgd2Kv5cKt/rvrpc/RYqpW0aloT9SaW/kNqa2v2HOq7Y5JFO/1sFW1GICp788gNcuALmDvwdeJzJyJaM/MpA9lAIcpr/sb0swoDmgv6hdMKgzYnC/nUoM8Xxge7/JHPfV7Kebvz0T5D15epg/miXZjfCOpL8k5/0Ud1qTv6rXlMGq35G/tljAbw6cjj/Oqqd1jP+ovw2dRIKIR4Q/MH+Ts07Kqz8yvc64g1Ktv2UOUSOdqp4//VAhnEqon78CUPGUPPmpv9fSd6ikEoQ/HrS4sjAEp7/n5+koYN+uv3nDIKXnZJS/TaDRU6rllT/FCxsadbKWv1WkQrxLOaM/rvjZYEy0jL9nqEQTSE+sv8iuF44pFrG/PJV1MF6joL+xbr32fa54v1u96TRKqIW/k/CKM5g3oL/KGPNBlpusv25MAgFtfa4/Eg7r20jIfL8aZagJfsleP+ZFWXX7z1k/ina0suPmcz9Seqt8bZamv0JOHYdnv3u/am9BV5h9iL98KlRGeP6Kv6d9TR7836c/EtxPkvCyfD94fCGEfDqRv5D5gw5kU6K/KFAIJclzqb/9ZKvP2aelv3ebJiKtCGK/QmQZLB8Unz/ft1/OoEShvyBVUgXKaqs/Qqt9Fvrne7+Zap/4B/Kdv6ZFOjqEW6a/MAn2v6Yjg78o2LkTk6Gnv8/BpJJ7KY2/TSR6TwIGUj+CWWT9jeytv4TfhrjasZ4/8wqnts+gjb+LoK2G6i+dv+HlULphmKi/Lgn+tY95Vz/2+7ctq3Sxvw331ljvFJK/3dggiT34ir+/cZOZjy6hv/NBjMAvc60/0Z8/3YYxmD8Vqm7wUIGCvw4hmx2EAZK/xuwYnSNFl7+0QXVLqguiv93YwuTEXHS/8o3gemw0gj+9MiUi75Wkv6SqupyYRIq/TLO44qAblr+lqZvVYiSYv8V6lKJBiKG/vROHODsUgD+IP2HBpx+jv23Ka5Ai+ki/5ToDc1b9mD+YNvsyVQ6xvxtXWa82WJU/h0/JwvvZdD80TZG/nh2Kv+KUgIGHbJ6/YYRVkZ+Ylb8aleIeniSVv0bbv0RVy5G/99nqm8nHjz8JQZxNX1GovzoU8fLhm50/MaZxZ1NRhL/tFo1gCBuovwSsYikHbZW/h1Rx8EPcnr+wJ0KDdAGov/Zh8XhM3Zu/stSdbcq9cD+OIXDHjPuLvxlvH4rTeHA/SreNzrApez+33mnzWg+fv+C5yg4fh5S/kaRZD5Xuj79wZXPPuyaDvxNx+dEwYqO/s3EZ0jx+kT/j+6K5pIKKP6aBi9idfna/IJOKgKxJoL/ptoTfRoisvxPhKCV+FKG/rxdW9fTeob+Ge+/OjROiv0yRkEmV6H2/aP74hvdWnj9FSAMdHlCzv6Z0QQwYPpg/FFEhehwZib+evwYUDqGsv6XmDyC9zJu/KO6ezfSNsL/SLC3JAuCxv3TtvQSF7KK/mibXZBYTlj/fbU7gV2VzPxcu8khkLKk/2wCPix1Omr9rGfoLsqCkv24dsLIZ6aS/mvbyEIX+jT/zfqyA6gx4vzPSDsksaKS/3EW+zj1siL8BIaIzTuuUv6KsHMfji4Q//roNSzdsnL/UCHLl1/quv+hQ5sNgFoq/Xhcq1nQokj8UCOVZzypLP0YEefjBMaW/IDNX7R3RHz/dPKuJe1yuv9tVeCu/s4+/dT5m76qkdr8ju32J1wGhv879BST4VIc/9X20/BTVlr8Qcn9wRpK0v/tw8JVoGJi/5hl93z/+Vj8kDoNjuEidv0l0H292yZk/t9YRUHKIlb8YiaDO5Buov0LrsxSIkZO/uQiETcgjWz82S5tWNrOtv0P73M4fGI6/eKxktFw3gT89+LCaoKylvwqAYkMJZoE/pE49Gsypk7/CLJmPni6nv1Ig3BUG6pM/v+z5VU4YlD8zAJ4c4dCMv+1ll4izgp2/p+rnY9NToj+CJkYa3XCwv/IjswKiFoA/waFTiBbDaD+vbkc1CK2iv0S9OvqKn4o/RCrg6ETanj8Bx17V23x9vwzRa0Cqppq/X0glG+b1mj81/mPk6p2iv/PZLDTTnaQ/rSjCES9ylj8yd5KVGV2Hv1WPLQ6yJYC/DwCsMa/mej+QsOKLfq6gv+vG3WAuxnq/o63MOiLLmT/lnkAxOWexvzZAeTcK93s/tkjMtUaTX7/TM0U58Zihvxv2LTGNg5E/zS9v1q/1Vz9o2+gIzBqEP7mkMjiqT6a/wfaBMDtYlj+HVz2XpY6Wv31Er95Iiqw/yMrArEudWT84E4OElYaDv2a73o4pZiA/AAAAAAAAAAA=

trying to load this to the param server rosparam load my_file.yaml works fine but if I try to save it to the data centre I get the following:

$ rosservice call /config_manager/save_param /ground_hog/model
ERROR: service [/config_manager/save_param] responded with an error: error processing request: No JSON object could be decoded

and the datacentre prints this:

[ERROR] [WallTime: 1405524273.957850] Error processing request: No JSON object could be decoded
['Traceback (most recent call last):\n', '  File "/opt/ros/hydro/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 623, in _handle_request\n    response = convert_return_to_response(self.handler(request), self.response_class)\n', '  File "/home/cdondrup/ros-ws/src/ros_datacentre/ros_datacentre/scripts/config_manager.py", line 167, in _saveparam_srv_cb\n    new = json.loads(mystring)\n', '  File "/usr/lib/python2.7/json/__init__.py", line 326, in loads\n    return _default_decoder.decode(s)\n', '  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode\n    obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n', '  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode\n    raise ValueError("No JSON object could be decoded")\n', 'ValueError: No JSON object could be decoded\n']

I also tried to load it on start-up of the config manager by putting it into the defaults directory which produces the following error:

[INFO] [WallTime: 1405523887.137948] New default parameter for /ground_hog/model
/usr/local/lib/python2.7/dist-packages/pymongo/collection.py:362: RuntimeWarning: couldn't encode - reloading python modules and trying again. if you see this without getting an InvalidDocument exception please see http://api.mongodb.org/python/current/faq.html#does-pymongo-work-with-mod-wsgi
  self.database.connection)
Traceback (most recent call last):
  File "/home/cdondrup/ros-ws/src/ros_datacentre/ros_datacentre/scripts/config_manager.py", line 181, in <module>
    server = ConfigManager()
  File "/home/cdondrup/ros-ws/src/ros_datacentre/ros_datacentre/scripts/config_manager.py", line 62, in __init__
    "from_file":filename})
  File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 362, in insert
    self.database.connection)
bson.errors.InvalidDocument: Cannot encode object: <xmlrpclib.Binary instance at 0x3538998>

Any idea how to fix this or a suggestion for a better way of storing binaries?

@cburbridge
Copy link
Member

@cdondrup the above PR should fix this, please test it an let me know..

hawesie added a commit that referenced this issue Jul 17, 2014
Fix #60. Add SONManipulator for xmlrpclib binary data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants