diff --git a/public/img/logos/adulttime/bubblegumdungeon.png b/public/img/logos/adulttime/bubblegumdungeon.png new file mode 100644 index 00000000..465192f1 Binary files /dev/null and b/public/img/logos/adulttime/bubblegumdungeon.png differ diff --git a/public/img/logos/adulttime/favicon.png b/public/img/logos/adulttime/favicon.png new file mode 100644 index 00000000..6a63f86e Binary files /dev/null and b/public/img/logos/adulttime/favicon.png differ diff --git a/public/img/logos/adulttime/girlsway.png b/public/img/logos/adulttime/girlsway.png new file mode 100644 index 00000000..a7e668f9 Binary files /dev/null and b/public/img/logos/adulttime/girlsway.png differ diff --git a/public/img/logos/adulttime/ladygonzo.png b/public/img/logos/adulttime/ladygonzo.png new file mode 100644 index 00000000..95dc04a0 Binary files /dev/null and b/public/img/logos/adulttime/ladygonzo.png differ diff --git a/public/img/logos/adulttime/misc/adult-time.png b/public/img/logos/adulttime/misc/adult-time.png new file mode 100644 index 00000000..2d489e8b Binary files /dev/null and b/public/img/logos/adulttime/misc/adult-time.png differ diff --git a/public/img/logos/adulttime/misc/adult-time.svg b/public/img/logos/adulttime/misc/adult-time.svg new file mode 100644 index 00000000..0baf7ada --- /dev/null +++ b/public/img/logos/adulttime/misc/adult-time.svg @@ -0,0 +1,170 @@ + + + +ADULTTIME_logo_final_W + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/img/logos/adulttime/misc/girls-way.png b/public/img/logos/adulttime/misc/girls-way.png new file mode 100644 index 00000000..5744e175 Binary files /dev/null and b/public/img/logos/adulttime/misc/girls-way.png differ diff --git a/public/img/logos/adulttime/misc/girls-way.svg b/public/img/logos/adulttime/misc/girls-way.svg new file mode 100644 index 00000000..6540c7d7 --- /dev/null +++ b/public/img/logos/adulttime/misc/girls-way.svg @@ -0,0 +1,113 @@ + + + + + + girlsway-logo + + + + + + + + + + + + + + + + diff --git a/public/img/logos/adulttime/misc/lady-gonzo.png b/public/img/logos/adulttime/misc/lady-gonzo.png new file mode 100644 index 00000000..0afa63ff Binary files /dev/null and b/public/img/logos/adulttime/misc/lady-gonzo.png differ diff --git a/public/img/logos/adulttime/misc/lady-gonzo.svg b/public/img/logos/adulttime/misc/lady-gonzo.svg new file mode 100644 index 00000000..3247e477 --- /dev/null +++ b/public/img/logos/adulttime/misc/lady-gonzo.svg @@ -0,0 +1,478 @@ + + + + + + + + + + +]> + + + + + + + + + LadyGonzoLogo + + + + + + + + + + + + + + + + + + eJzVvWd3KjsSKHo/n7X4D+AIJnUOziY54bCds02yzTYGTDhhPrzf/qrUSZ2bcObO3bPGB7pFlVSq +LJW0nDi/zO41e/VWls8x8dgfy8vFQas26g3W4+Rx/LDTGQ9HA3yUvEjFWTnHYKu9Q+VVb3nTGgzb +ve56nAMQORbfVvD3yXKn0+6N4vutwZ+19jBbqA1H7VY3FU+msM1Ve9RpQatqrfnPfq/7n16199HL +Df/8SJm9AKil2ggasXk1zzGsGmeZdV6M752QJrXun7XhsP0fbCDxCo8PC71xt9nufhR6f6/HmXiW +jSsCF2dZEV8etC9aQ2cLJscwDCfzkqgKosTI8AM2x/LwUFAUTmF5+LWQkxR4wPCMyMoSgir1GuPv +Vnd0Pug1WsNhsdfpDYbr8eI/tW78pPYBb2rx+1an0/sLWu8diq+VdqcFZPmujeIsT2i4d8hyr4Vx +u9M8HX/XW0AxUdCe868E3vUQAAFM/Eyey6+H3/DosjUawQAAHZmKi/0C3QscFP4v+XjR+miTqQM6 +PqcMyINe/7s2+Bpq7aIMFn921frud2AuCNUEjsmJcVHJsVZDUfF5bACA8ZMf81JOlEQguSCwAiPx +8SwHj4D68E8RZIHl4goj2NrEeZHN8QICZUVOVAyY1iS0/my3/lqPn/a6LZ3ee4PRpcYaAvxQ+6u/ +uhh3WoPrbnsENNDGp2oEP+k1Wx34hQWi0ql9DA2KstZfvcVVbfDRGgFT9TrjEZEBxcQCk1qt/dNC +rmB1JGf9Vveqd0O6mhVELi5Iso3YAJwVWTEuS2qckwg6juVZ+KyafWCtvzomBItADXQycsU5MMrZ +oP3R7q5zihQXGBqRPivy6/6g3bTYSQbSa3/IIHPkB0BzVuUYlVOjPlHJP1liRYUF4YvwRKcPUHs0 +anUNgoF4FE8oZmdyJ5c4tHK3Wex948QPicgDm3dBAjq9D/2t9YW8AxDjvk4r8uAV+OR80O4i4Ngf +p9o75fW8M4aX+4PeuH/Yfe/F/khqKrDUegfBjWuvQX1pT8vdP1udXr9lPdfa5WrtfioE4nmn1q0N +4uSFCbDa/hPe1KBbFkhs2BrdRYEJxBtQnSFfjf9G6hPwTr/VGJFekDaO/gU0oF5FQVVtd10gyLPa +YPRXb/AFXymzk2v93QqDePnVGjU+nTD1p1NDvYEh9QagRZrxs/pv+IIgUAPHrwa1BjDP5CDPa6PP +eKHT6jaHJmG1r9bUISNoz6IQs1gDM/sxqPU/2414YTAefsaver2OCd3jvYmJfkde4S+jIL3857ve +67SH3yYa+sk5ULzd6LQu/xmOWtEEAgV/0D3ravRxj0Jv4BwAqGjtNxP1/r+LzfyVFyZ4+f8SlssG +oYwXDvsrE4/++H8QizHJ5WYbhNdH5wW2ufyrBvql2q6HCCqS+b3dbUK/L8ftUcuSzd53H93R+OVn +rd8ikmO0vLRAiq9g02iblc2GWjNVe4de0OifTgsMZf642/urS77F16FTj2CuauPO6DkVz5/Wvlvx +DLS5bIOb1zIbMfEz/GO5Hmz8roZPLuBPThZUmWPBhxFUQZVEMOuSrLKqwMmsKAmCIpAnDLyTBPDa +VBG9mJzKsIIosyr4IbzEsjrwuz0Ea377B78dwaff8OwvcPvjJ/HHZybejMFLQE560oQOa/ZyI/ZH +PA/jwQ9k8EAwaujhNDyvdcDPaGmDPa/Pe3ROX5xQ8+4/OAtOJ/28Af8vWH02ezbZhFcBqG2S3YTR +mkzJXyyjvdTUPoL6P8ZzAOZ86odB77Thx0OwB9y1/Jo3HiAP4td2A8lTG/yjP7g7qZ6Cr+7zeiOe +/Pu704UGWRDfQbs+HrXA2mZI473BoPZfBTMnLFS7xifEjAOMpEkrLp4/BFKZr/HP6B9UJ+R1cqU7 +fP2zNhhugKBfAobuh73tn7XO2GyML4Y+DbugJfR2em+G9q//z5Oq3iapATYKpYCkEFicEppEIBfd +PPM/MdguBMtRBtrpNb5azUiDNJrOkylmJwQbTIhoc92u1TutSJIRZXb/r0/+5Eph/c/oagHb/m8w +OY6zAQFa7/t/QP39qyy6Pqyh74Y2FBRNdE79b8gNdOh/rT//GwT6bo1qTZixOXRGnbkzi03d7Yok +AFRr7eckkQ7/4sYHCszlzf4rpigLvb/v7vUfMHqHMSO9N2jV9kj+yMtAONWGLMtsXGF5MZ6/aNU6 +5z1wKskYkyS1q6U9HVhK7WG/U/vnpIaJIK3D4AjXe7VBM472/rrbbsAYjQ5ThprVsEBwtndhAnWm +yameXLQ6V70LrRNar857wzYOgLxmdRiuzDsTHQZnda0A0W48eTg0BnPZ6rQaI9MIe7TQQ4JTL94y +2hDqm4PNigzjIjWV88Ms8it0uYZfKp1eb3BT67aHn0BJ8gPHVLh+2f74HJFM50172K63O+3RP5ej +2sjonsKqLLUewMZliMKo9QA1vG8mhqten+6SC7QiTA260BuBmbFBl2QTusSpEvCsOgV0T2LKqmjC +5nEZReFZeSLY1da71vFiq9Mp/z1qhU+UJV2H3Wbr78tWo9dtmvzMmx0SOVaZvEMWKafuUaU9GIb9 +hjBoALv5/c6k17/FpSaCuTOpCdnNo6BKTeCsqkzBowjck0VN3YNpgfi7trjTGsT7g9awNfizFe/9 +2Rr0MSMwDPlFo9Puxxs99G/+jg9aH6AHzZ8wxnw5fjOoDUetQfZPksOP12sw/IZp6rSlaspAfe0d +VsadjpF40Ne04a3+C56TJTlIf+0PWi2nzfFsWLAsLufT7soy25zImObH0eoAlyZ63YMWQjW66dsa +RQoXRA2yiUENi70xLXreDYkcnb2/D1tGU/++Io+c9WsNkBm9rSSKaL/96XRh2jB/sKShHa7gOzDS +uFJrtPa6H51WaHPssqu14tsV9G6Ak8DNGFGMNrvooooxzL4pJWz4zxq1TphCwyVwg8SK4bQxHCsG +k9CmmCP+EIlp+50gKrIQpKBpeUJeCVDKFqcESSmBSglfaNsoDKjJgI0BOYlj/UaGvaUHJiqqwga0 +pbqbtDxOh1+N/jP41TY9kDS9S9G79W27Ofq0+MNT6/bGow6uyo5af48iNh2OBr0vM/alW0tU61p3 +1I7XOu2aGSQ7PXzzl9+14ZfJ9vqzYb/n6g9AM4DxkjFb/VrTmEJjRhq9jqHSZUP9NvvtnBXX7B3G +98ajXvyC2A9LY4qcwCmmqVFxVVmLHhq4dSTOgV1qeoybjRtxUvyr22t8AaXiH9r6UVDb9rCH223i +dVwHJivNLq3p0QkWQFPcFdbjusVeoW1pwKxvQ4dhwwajQa077NcgUG38A1DazfjQImroeCyihjal +RkMRVY33a33guWH7e9whqtTD12Dj54ZPcgXMTpb7apqLZ7TGDWYmdsNN0LagUWY1+XjSarbH33Fr +T9CzO7gkGM01DrI9JV4xpYN0ZRSnI1BLAeGATlrDT5M9yZAodKYjYPvJ2XjUB8YL+RHlSbn6V611 +P8a49eG81zeZ1yuhZy7mwKt8+e9+bzDClMveEAY1PG79Y0oadK/RGzRbTQ9Y8fxpb2R/b84XaDEU +0OPWwMmP8KbS644o94mhfmRsYXP/CCjeaA9tdDB/dVfrO6gDD0tXJYPO1kOyqEa7btarchem35Ji +eijnH+/eo6j2Gp7sSkbyt7547/5p+bveamrz7HhZhYdGfH9YcksKx1hzft7+u9UBi/RONr3YO+By +Nbo1lzJztfns/XXQbnrIJxgG1LhoEfbQItioZHFj+fwyfhYULnAIpohxQlGPEy7scQKtEro9K/aI +t7sktMD8ipM3DLguzLLoaKFRPK/tGIoX7NGGt1KwaQMcX6AKsGkrbB0w1nCEpM9B+GgRIHsV8B2o +8YaH+CC3Xo7rQ22nnpdq8BBnSkHlraR5vj/MDT9rzdag5SI13ezvfs4e0bHejTBwdKbxHOjQLem2 +hkOHlDsB9brAAyO7K+RqiL1vjRwQecYH5mDgVMB+o9CQa84VbRO8Gn+4oNq2ejhMEf1jMKSYO4Qf +2hnPhWU46uSaGkgiFaaq8aFJt/VRo3K7Pq1QCKHvw2ByQMN6G7kqANh7d5QbAkOaUbE3nE7rz1Yn +BEyz0x+89yzBlzy56OP7K0c2Vffe33MDyg/3GoEG9rtnasMIMEc9SsX6NAYj22o6OxABdgcCjejA +J+qJHbR7DrAxcd/qtUGQAJKGA2qnTETm7BvOYzKY8/E30BjnpEOtckT5lcb/XZvm9Obu7ogsuEeF +rK1aWkPwgvu7V4exDtsf3ZqHG2frQX+gQwySLWikky5ojhvY7rNHZ34ksChe3AAN/6IiTVn1bfZJ +h6/+0Nq4/ZbmK8nHjphtaWmQlZDGdZIfNSYJ1CYEtc14/Z94aQD6axA8awjGzgg+tKNJEjbUEHlr +uGjnNfukFQnEwvtmm1fOh+kI29dx62KQ2Jote+9tVzbKs2FtWG+Pvk1/MkRM8GchktfoDHKUqvVr +YljYfm8UNCBsajqO9U6tYeQmZM6z+aCZ6w3aWAwUIp7Y8h18lc/e4D9GRO7TrK8vBAbOJEH8kfsz +SiOTE70lCZsNMZsYveGfISMdNvqdRpABx0YjCL9dsYAbUqM7DFZWOEqYsk6tn/uM2vDPaPyn2S+i +VUMYnLRsdTEQDtLnpNkQ48gJOgBSMMJaujC4xCobjXKc6Gu+wQRgMu8ve4rQx3oPes742NWmD3qs +3X3vBXvYmBSs2SNAn5a9fqMXoJ8a3zm0ybZ1KK9GxjJU4/ufryBetFr2Rp+mq2uFU3TjQXMwDLez +AJLSScnhxX4hflguSqwqSVku57EdwdUhWqN6RjakJ0bK1YxFQviJ/KjW7Zr51Wj5LMf8hKhkgiRc +FrQBjLuNMGYYBiEjLZrjAHaBFsNxn0Qef322R61gfoaogcVApRZkbtEuaXbMFYtFcJptPoinm2Zr +Ph62Sr1GAb9OEKTYkGyYSVDMh+wZv4ljCB8xnPcWB2LXQfrB8/gIs//Dr3YfTGo3SBax3QCitsGw +hbiDwk5sigGtO+Hn7Xh0OtFEBH9hpJ7pYYVBN34z9KT5Ua+OtSI0xd0ZnzN9keUyYJEF23kl0xhf +aFdWSoPOammNgtJaruxbeP9szSjEtgS31mp/UGui5xSvdZt6xjswx639ilQRYrUT/oqk8l2/suPS +hjkxMu1nEbBRo7+s/dk6gdCq3e+09lzc4BYpqpbFUSCBHdAqJxCp8TL2Rx5f0I9QVPcui4eHilhq +IUcTyOlt8U1O79zU80w+fZJN73yOePzECZu/1nnzxS/zE3mxwe9cjQqld3X/62DxYqtWemfut823 +XHrrQvpMpPiDrUQ2v3oBaBLp7a/NROr0QU1kPtvw7u09l0iP1y8TmZO7UiLLnHBMfus+SfCLiWLq +lzDkhifQu9KXsHP2ts0XFF6RHqTvh83sW6Un3/JM03rLHLy2ioBmMNjequ9l+qdHuw== + + + x+pwWznYvM1Veg/CTXnw9MCUHir3V5Wtva0Gu7Ynd5n8Wes6vX3/zDFH5xdF5uBNzHNviYMzNrP6 +eePbE0AToTODwU5iXHg7GZ/sHUiNs/WVbnttXxyd7EInbi538yOmsv58Vuqpb5fZPfjt0TfTXLkv +mVj72tzsd7bVg6XfBDh0ul4252GFNN3upzb75Oc66tpFQf/0drRDfpbLD8Uf+HTZdzXRiDZUKt0r +LqneL0EX2C5iP7OmcfA0/FByfFUZp7f3EysWMQCuss/fbiy+k37q3dd6Vx0OBhvDh8HzxvkZkxcu +kzga7K+FGH7MPgl3n9WMJ9bnj8KBL1aJ+51PeGElLLAxrA9e8ulbgtiF9bSQWrzud6peWIeLL1LB +D+vB9i+5e0OwAhrXcIXUXXqjcXbiiXWh8iL4YmUqheNdL6yABhBLi0vdQWrLm8jC/QtTeT+99Ma6 +n9hcYY9erzyx7h9wVwQr4TQ3kbmH7as3gtXGeNrU3g6exttVxJpyz2vynn/ssCnAKvQsrIhGm9oq +YxD5fHXVgVUUv1/7flhfB8+f3SsfrLs1Sa4ssdrc0Ig1rC87bxd+WA+W+OTGkzfWzcTzcPGzdeHA +img0xL+Kqe2fpe+qF9b0Rmd92wertLj4M36QvbEK949M5XjzHNF4DXeh8q0uC6elX15YmUqvfeSL +deXkrLXvwErQ6IhbzP6vxQdvIp/eMstf+ZtLwCr3ncKzuv/K61jvs0kHVvHn6/LC0Gls+emrYhvu +wzZTPVR5xLrmGuvB148sFHYEL6xM9fu95cCqodERKyfll7of1hfmrHN26Y31ePXhOJfrDTyxXp7w +eLKG73Cr+8Kx4IP1UWCuDi9TPljHo8vq/qNsYQU0FOIbZtT2xXrVOs1/+mE9ZG5eVre9sVbVVUBz +k0yc7ngO9zZ7s+KL9XYvubHoh7XNPGS2XiysOBoK8elh63eisZb0xPpcXzjxxfq13lk98sH6tIMM +/fKyJ3gP9yy90F8D4fTE+sbfJX2xLty/rOUtrMSs0boiMRhUzr8Qa9olPGfcbnpB2WwA1vUfp3oa +s90bHeuXuubACmh+XuXvAUHMrW4nD+yW5zy93huVEWvGLbJX+eWz9skFYN0dOsdaPu0zOtbRThrn +xq4Xl5mlV014uOfR+pFdQ/1iyuXrCmLNObAOxm/LidVWUr4HrJWxAysxBPnsrYZ4hz3OOrAuXB1d +XRCs/M51tUpj5UbdBFccNRAr4xrrDf/0+660uQZYjxKAxknkwaCcNgzt+bfjbYJTD9/93/KNw6zX +W8Ospbe3eh3fn4MiXhn4vmXKm82M8fbSZamruwePlrLZv3Hp++rF1WvA2+Zbw//tSaLzYb11E405 +EZZy/j8/G3/99n97eaOqXm8NojGXn+WC/8+vLnpnvm8HowxnWLn9e5cY31zLPxTRnpwSx9x8FMf+ +b2+XzpcC3kpPSeutB9FuDz5L/j9/EB/T/m+fv5JnXm9Nor0khTv/n798vLR834LJ3972fyvcZGtB +RGO3cu/X/m8LqiD4vz3d5ntBRGPPftY3fH++vtLvvfq+Tayki6Lx9nXgJlpi6WT7y2hQdyrCBMeU +vn3fpje5aing7cZFhSKa1qBPx49ChriPFz7B20k3MHg72LqC4K9YyB/dAprSYuvosrSTvrxSsomV +MXzaP4dwcrVYuXuqNME4LJTILwHG4qpH/L6Yb2/VU8AHC2UwDjsXNiU6WOBWt86zBtGGizf359Rw +txf5VRJsavHQevHx3lLd+ROluwpB/N2YBENAjvdNL6xgHNZZpy+gI9bdV2btxAcrBEPyRerZB+v9 +kxdWQKMNd6HS572Gq8dDiw/XvlhXD+u5DwPrfofGuplIEayWLyBcLtFEPhc5CmtzZWXRwjpclVcs +buVtWMXPVHLnsePASlx1ncjP9HDtWBcqtZwvVhJa+GCVFjGueKN8AftwhfvXAKz7S5I/VowrHFg1 +V11nKPRTan5YL/yxKqfHN/5Y0UmxKxtAvIQNMuanrO6ErW3lI7Xji4xXOzIaW1PmbW19LwJI4sBZ +egNzYYL2C7cEr7pTQ9vq/l2RW91hDpE2vDN3t50pZ6g/xexa0UwJgHril37hswtLqoCuIspNutAb +nmr9gE8lTBOUCWqHmgL81+fwdQWD4vGagUFzrnUMVHfOV/pGk8tdI1qzdCBzJC4vW3+2+8nmle6M +E0CWBENj6Oruj9bElqIkPS7kP1ulZfyDPrRJoDWv5B6M4bHE1pZWD0wa0tTf3i4v638yJz3fPpG8 +gNatyjCwW4ts5prN4J9HOrejd+yMovpOsnzsoLpBNJrw5E/trmSF7l4j5Jc2jqthI8Q/OEFaMsV3 +GlcXrGn0nUMU1Fs6UHOPUMtAnX9HmMYIc8i0frduvLgU0PjRKwja8Ot2Ip7XlY0X2/fY8vNwfxb+ +MphrI4dEmwv1icfkS3pAMxn134u5x8l1BLE3Hoqo/LS9ZtdCZacWMscfQQtRATvS/D4zsNHQ7LRd +C7XOcyuas+YmXxkD9kNHdxzi+TpeBVV/kjHJ57nOAY1fytzzuHDsrcT9xFPL/7nZ7T67MPvgdtZ/ +nRj2JoDcb6kVIks+Pcn0TUnzH5emBY5XdBbwYPvyUyk785A0NPd9muNNebQpmxX8c+E7Vcw7u3Dv +SxhiCKLRJshwF5I652yd5I2ha9kjH4buc4UH9WhKaE7pqy3sp4n0mUlI+FKZRQDp7tS5sWM2rYjA +mNB8e3E9Q/7oKpEsVHjwRm3hdSF8SskfKw+tJcBdPFJxqUQa2i7TGl3nXR2r8yk/X6C2cML58m3+ +s5fecntnAdOiOZCmUtT9tP0w7yyyFmrus2uF3xWHmdLWCKJ5k9QkfymjYDPlIKS1GuWeZOj+y3gu +TtU+QWNX3G56rdG22L9PrQW/PqEhMHsUpVtevp7Rp7MLU3idc2i5HLZpDPP1Is+hStubSNMYRK+b +bDBHoMsxAbTcRPxlgXKsSevQ8lNC8wDFzJVo7FyJxs2VaPwsRNMttc5uGcMQ2KLbjwOmuVorz+w5 +c4W7JqVBdJ3mH2l4y8NoJxHZ9fYVz48Du92fXjxHO0uhnOYKp8nCsCeBRsvBcZgeEQQTaGUiAnlR +B0fTqr1eR4wlPD1GGM1riEAjmvDOTBIFevYE0w/QmRAhjtITh9dp74nldYaRJURkncFjbWG0bxks +2h08IDnvSUL3tCM3TtnAnWRpAJL+WLQ5UNzz8GM0CQa/9MfvQ68A3PJsvDSJn6A8D3987b5nnwzV +6dWtOakC8B6Wo+UFoqiC51FyZcK8gD/h+Z2bq5Po+tvok4e9eR5+hsi0k3l93PxDsqxoep2zshbz +vvpzF6wjtF1DVmTkE7qDFIwmzETa5tAWRiG9hLnRi5b0UOvpopdD2NmjoSXspDv8ktofOwIvWtlM +kgn8PrILu08yxcg4mBkoO7vxS+vJpcDAMmrMcUSc+yjJlAiJ3O8ju3PvHBxBYxufz+CE5CyJEC2l ++n3ktNSTJ4mAGcb2sJMakjWaCENSf3jfYDs4SURz2hFZZp4xSQSEeV9PPgRnB53pElvkbydQQG7H +rRQIGltWwu5p592LSP1ju5sdgoG42X5ys3OdXpyRfP1jyy7qc+PuUVTTuP5rNQJbGO5gsGmEwa3P +QW76x3arGKKhfHqyzPqOyxhNeFr02LKFkw+JYmjgIIcZnEIVrP9K2M0f7+unhdFGijDnDjeX9tPs +BLK7ud4EiuTm4mKXvrX3gp5zeDy5AHoNHfVx2hkUTpEtx6oIIVgLauZPT3QFW0CEth6BhlqW1ssX +oTU0Qtsazahi7i7JEkcEDR2cxseZm9gGWqrTAcgebE6x4oJQTDk03cFpAQWtc1hQtGgtEJDbFk5u +CI3FYudC40TQ7Al1XDFOOjxRkn743coF64+oKTcExXiBMkLciSIzhLYWsGrkt1Lo41ngntNI1KQd +U0/tZoonGhO3doNnc9FuZG6GXzOvBRZduzRsGsRIdEX07xFa1Rm8RNBu3vYGoZ0nZtVu15Z2m0kL +wMxF1G4hWgABza7dyEbl2R0N0p25rOISQHbtZlu6+WWtAnn5B7ad99q8BSXVbCuQ3im6Pi0yb6m0 +Z1b97mZeS7n7930r2PZ11UM9NpxSTzXppXFxNMFKF6D5r7tG1bimhgZo0waWlFSXn548wyJ9FTeq +YN+4NkxFUw8uTruZxfG3QaG3VOjO7XSAoofd/ilVAihgW1OYv24Dpbkcc0ty4wjdxpFsiZ+T9w86 +LT+HoLAIOuUu2KL5G0f7nlsdWvQ9GoGZSARVX3Rkbqdht1sv738KswYTOnMGzGCBOdhH6E6gcYxs +1hBQNO/fC4oVsBNA09tH56SF5KEnt49Zdy7s7s5hHG3Lq5Pax9dBQDKa3peVoTcq+5LgDjN7Bz7T +QlPTksyAJbwiIK4H+5qRnWAA9bkYyRBEkXOA9hWcfXfv7g4gWhRhDwpAKYZ+HUSS+KBlWJSInFfO +m9pqFbpjz85kQdLqEjJ9bgItVX3otlT14URmilhPX0tVzPmnL6NsjXPkBepDr8yhl5yF88v9PLf2 +AjTH3q7AEDtGF/57Q2OPq3NKptSHkfLQlt/h3utozmbea6ev7wq7j9+BGxT84wAbW9B98lmKIN2K +yBZB22J12dB96KrsHXjYSvfk98d32TjypVAtD162Xq1yvuBaPqLT5lHOF1zLFyOnjMyhnM8Lq1XL +Z6WGZiznC67lixlFsrOW85n2xrOWj0qmzFbOF1zLF7NKF2cr5wuu5aN96JnK+dKBtXwxq3RxtnI+ ++7w6C+oMFpi5nC+4li9GFfvNVM7n4XoWg9c9pyrnC67l0yKCwA3Q/sVIW/3wyNix896/GOk+u+8T +JUTvkyY3xeDwf9Gm7/1rFYe+m2esvYMRixScCeIgUoUliEtOD2Dq6btcCNsDFZVUPbvx99jHdtIj +G5WjFKVddicjlR0UHd+UXDmu6Ufo2EDoqL8xBhlthE/BhatUn2LBhZgrvdANhJH6FCnRFUCqiMV7 +wXugIvJt+enQt0THtlE5pIwrbB0tdH+J5dzeZxMzp5uNwd07M2Xe2+BCBjf5/hL3hkssu0vPoUzS +JoLTJoix7G6CZZ+YXy3ufaYfEBFEW61AwrhqPCIFKn7QQkJhIjdB0OwbvNbcnkWtEha6R9XQFa/g +eKLImIqka5WJ6l4Dil7r3I9DoB0aerIcANArYGGczqjYNsAE5RoFd+7/Sxn4+hiTLnrBuO78Fw6j +FqPFzJrCMHcsek2hx4ZmR14gej1aSP0Nsm/S6pP/MlFz376l0mY4J6tzVBeDdt5bMxitQMue9fTa +eR+51NGZ9Yw4hzHvmsKwmpwJOIIc1GD3BWaCFlSio++8jw4tZDP/hEQLLNqZsGPryYf5ES3wtIYI +RHPki0fbP459VFzh7iXEnySJrgje92h7HFXsfXOdoaV7wTAQQMihJ8R6nt+x5E+InA== + + + F+5+/OU8eKHEtbx6ED0e9HbRDrwUhSvdHQYj9BwXK3ygnCp7xUp41V7oLG0Pg2vY7UGRt3hgsV2Y +FvAkR8xRHhc5zpusWs+2d9Bu8vz8GRxS8PksjujLmVW3e5gey6a/D8Mqde2hqD9DH06YC4pWqOda +LPaIaX3LssqL8/PTnkfLIYW2ERZJdT/tcMJckH/FX3rVq0/05qSIpCqNIuSCHHzgneg6nDR7E1RV +h9kbe+wZkT3dfQqTaqdZC+jWZNkb/y3xzgq9yUhlz97wS+pX3nXKyFHYjsFo2Rt+aX3BcyvQZNvg +vo+mzN547LwHCVqZT/YGBseuzr456fsoavZGDzx86+FCtlSGZ2+OjD23c6iHC83eaEsRobWCs2Zv +AA3SRpy8QMiHQN7VQS6GjlYHv34+cpbG7lwv++/RiZmHMoQ70uDmLU7JEbSyOZ45A2Q07h870j9e +WfWIGSAYXDLq4AhD+9XDRdwYGFzGRu/lmKXEL8rGY7J3MKTEb+Zjz/rHZOf99HsCLdoEq+6YWfIb +mjlFAslTirHudTq2AyY91mQvZ7F8tvjGKs6bd2Wea40g8ra9iSrzzFVcv21786nMI1pgVikMr8yL +vBl2tso8au8gXZw307g85NARsEcFNGllnu/Cynwr82JaFZ6zOG/elXnOzO3Url9wZZ6l05zGbK6V +eY50t3NL53SVee4FZO9oreg6kHm6ujXTt4j51a1F33p5HWHrpaUFQk7eQGgRtl6Ga4Gb3szV/6iP +0lE3XIYC8j1+Y4LFYg3QJOeu+HfH9PC99kBNACggurZt/aS0gK88Yp2ffwItvI4BhNGe6EKfzC2P +8GxiefRODRUjbJSIVJbl4+vHzEO1o8vjzURboYkw+i/hIbTp5dEiOBHGGV11NOsZL3l0QImFHXVM +AE0uj+4QVwM0szwSKH4Rt8OshQKKVLnu9vo9lA2B5r+AG7p13Z7NXiXnHcec1x5gsVk15AyMSOtX ++08/8ymSZRf8N4pMXiTLLkQqa41YJMsuCDOHNkDwlmfVz2TZQVIoNpci2du5FMnezqtI9nZeRbK3 +0Q+6DsuA4R4o90HXti0Q4buhHPLoOOjaQAOPr4MtWkR5DCjK07ZaTVYvNEVRnkY0b4LOsShPI9pn +hPO4ZirKi5rrnLEozz/2nGtRnq8vMN+ivBh9RHi08vFpivI0ho6yC7joOCQ5QCm4T7/3MtLF3Gyn +39uHSZcuTrtll4IWuO/Q7tmEbD3EMrrAMxkn8myKuWlTmu7ZfM1FOwosaDMEVkMG2ECKLezbR4O6 +FZEtvG2Fmby3JBmv0vPkan0eyA2iw49EtvvrNZG5eSknsnv8SyJ7pJbxgvoifrpPZD5/X+Gf3US6 +kTsCNIlM6aKIf/DKUnXJnNUVR6f1T7YCuMGQXR7QwmurkhIWuHXVthnWVoq2sBJUdpfL0kxjw5re +5D5+eWGN6VeK42Xkj35ldw9BZXe/g4r93k8v7ctE9lI0vIy84Ye1GVQRVriksJoVYTHznsLPlqUh +naVoeDu3OVZn2d29L1ag8FZgsR9TUZlTH6zS4tLFN/fiV3YXVuw3FLyGq5fdZd5ufLHipbuffoWN +ueBiv0p11RfrYHi9nfDFmth9zl7Z5rWlGmsE5Is1GaniQ/Pb0dSz3cv4uxvaTrsa+aV8dxbaVPzU +uU83plj49LTncFGNjE7y22FgyWgqY//boiLs77U7tx5LTI9kpXCi3VP+xUXnqxWfJJVtxSPSHWhh +t5b59Mm1o6vkdJCnLlmrhB5DPdP1el65qNgf87heL2rarhS+azsiqTbWvCKygL2DU9ys55e2W/OP +PcNv1os+wmzQzvvJRhh+u0L0bkXew+rokzP9EH6pXvQ+UYkjw+WIsrU2YmFfWIJ4ToV9UXI2cyjs +86rqc+y8n0dhn9fg9O088yzsc/eklI647jlJYd/0hZgzr4mTuZlvYZ8XYcho5lvYF3qYyXwK+yIZ +6dkL+6w+WdF1cLp7qsI+r5SMvud2noV9XlV9nruGZivs8/IY7VURcyns86rqi3me/TBTYZ+XnqWU +zbwK+7z6pNmbuRb2BTlQcyzs83JbtZzNXAv7vOYwFn7Z1qSFfV6gplgsDivs8wLl73VOXdjnR7Q5 +F/bNj2ihHmMI0eZR2Oe1CuOx837Wwj6vqj77hsu5FPZ5VfXFvE8cm6Wwzy7kWlWfw+ucR2GfF4CA +/dDTFvbZaPKad+ah51XY5+Xo+GuBqQv7bOTQV2DpvepzKuzzIkfM47DGGQv7fLaMYLfEKeTRHiNy +z8N6zh4jHloxoiWe09b0dRMRmJFyOfxr+kLFnnY5PDM/moae6y1+oTmb+dzi51UR5re8Ct1anZlU +WoUouhpRdVoIH3xGuRc3YrciKwV3n+yuOnQrsmCH9cnmFXi76lFJFVmqY8Gnj2K3qsLTxPrTHi9t +jWLuK5CwtCtsb1OUVB59+d/0W60muvzPYGg/f/1o8l2P/som7P6/mS//i1H3e4bV9M1w9Lm5UTnw +/r+ZL//zUJ1h9Y7TXP7nTEJ63//nos2kl/8FM3SkvVVRLv+jPZuJlp+OnZX7U53RBU5rSHYyatjN +71zLq7Eo1asRPPLj4O3GsWjVRDC41CypV32Z6HjKHY6Omj7fuiYr9ox4bd90O41t1hPL+aJU5YYW +O7p2NsY8j9AL36SGlxpOUNIUc1+2ZfeNUWGuukqaaq8hHOGwfAH7Oi8nEkDfQq55brUCaHPcanX+ +PaX5izkLMUN2UkcrxEw5S47d6YeIgNYm6g7NAg5AcykwTWWibRwLBxTlrrZoG8cQWkjtX+DWOJNo +hh+aSrlt4d3VPI83BGhzcf30jtkUW8AmctqY+VKzucL5XxXkey9uYBWF+7RpLApcD14kdAXsvru2 +b3oz17PEtGt2QgYevYR0+OWpRqYK2BFapFvLwrSAdbLzDDUL15aDQW8cmw5QpBKKkKVvAmjmYwzu +tPTD7Dd8k+743zO2SzhtgioK3KPB+Ibp0ywWr3rs1sCiwGIwDSMn721X/81QX0aN2meTRWR5jHjv +n0On+cnjrPf+xaxCTO+r/yYsxPRx+F3FF+GApilpcoa4rqv/ph8XLYwBZi0cUPR7/0Ky6gTaHO79 +s/ZD+1z9N3O1L1WCdRHhHI/Q+rIg5yc20VmqeMfeVM5PzOssVYQ2e7Xv04+1f2r67CAu/mYjVPuG +ntFFAM2c/CJQkAVm18bYncBNVFa0FgooavW9VwbMkYEitwjOWH1PL2pjbRYKoxMNPJ6LPMK4HkcB +Oi2klspFzfVklH1kMeOU+PDKtFm2SLqJNq8z3AGUFd1Pleu0E02aW+wJE3oTJZL1LaTS8mnkaslI +tVQR++RkC1v6YYq628LdfdbhMbq2e3geNxWt7rY+jHoZZiQjfT/zZZg2Pw1G+hUcN0W/DNO5D8Q3 +CRmp7rZwN4qQw47m2dzPfBmmtecWi09nr7vFS/r8bGDMWY4dXncLfZrkMkxCLO89UJZDj3t5q0MP +hLpPiKVSibXjDZZUC2KJ4WUi89q8Sqxd7Un46ZzUGQKaRPb4VWTyd1+ybou2el90B41clL2CK+lf +maec5xmapK+DBW0zrHk13VKvTxs/29V0yfrSxZff5X+B1/C9ZB35NEdJYEE688EqLS51+Y1Xv3rA +FwdWXUObV9MlRH+s+/uDexOrsx5w8UcaP/nVyD0DmoBCxF+79A2L9hq59Ebn2q8eUPxc271d61tY +cTS24foXIgKRPxhfrEzl+cCv9pGUxy1/5W/qfoWItQCs+8y6L9bB8ONo0cIa0+7Co0sCnxalaz8i +Z4LGerjimFeU0SzBH9NK5bNGVei46duUbne22IrSbuFsK+FYI/BpOhi/fi1ThhNH7XJHDQmG32aS +DmNK4it7lsOmnC48jp0IunbhfOXbsZxkJVwj7U8LvvSsH7xvxCuZ4l+CtBv50jOvPpn7BaBboXvr +o9V8eQUoFpqJVrnOV0I2sjqSwIQF/EqF1vbOo+xxC52+1QUqqz5jeVzgHvHYZOVx6YlIZYFy2Bsd +WmZOIzT3gEXdohgwwlyEPsWom8uDuuWzOTxqn4yliOD88oSkcu8Boxa9zq69L9hwqK77TNepusJz +07GIN8bcZ/wrtqNnbstzq4h6KXvFyA5lEzVMvs8uTDQ472Wi8hyO2L3P9K002PT5NCyUixJdh53d +XZ5HRhrrESF88DfS0WkTvW4tNKpBaLa6pskOJrKSkGYpLx55Z/dOKjNf8WAqm9rCne9BQhNF0hWv +HDKlbCZaQ8faP/9dea6EgcECfhmYiu/Z/1FzfJZ46nOZdu9IaO6HngwRyUkho/lS/C81nrSg7XHk +5aTQq1HRb6oLPR5ikkqviS5VCejTaOfIf696uKtu75NN/TuLEs3MbbS6xKUpa0vdDhR0vxt8GdEE +c+jeLzATtJBroI2gMCK0sIuEfEHFnHXS+y4rM9MwI1QTTQAtZAV0QqKFXSk0GdFangrDs4rZ3220 +1SMa9mbKksSo9Yi27TyTlyT6utm+Ie5UJYlR6xGnzkNPdtGgt9cZuSQxaj1iLORat5CSxKiz5LUB +ZoKSRB+74KpHjAWW+YSWJIZzv9/x7ROVJEatR4waSfss4QXXI+rdsfYOXjj8KpMYc7qs0Juh535Z +YeS03WyXFZKseribN+tlhbSy+RcvKwxZkJzXZYUxclKf78WA87qs0LWX49+5rDDmdXXY/C8rdPkC +s11W6OiT86AZu2ut9SikYtlx4aFRBzafU618LzyctKBsTqda2W879NlwOfmFhzNt7Y1+4WFgAWDU +23zCLzyc/VSrSBcehp9qNZcLD4NvOzTWb2a+8DB4Y6S1qW/GCw+DvXn75qQZLjw0EXredujIQE1/ +4WHwXimt/mYOFx4G33Y4a67TvPAweFyxsMtPol54GDwkDc0cLjwMvu0wFrneM+TCw+AdbTFnheQs +p4P733ZIMfRsFx7S9Szu2w5jU5bHuS48DE5ExPwPz5rswsNA96qoscAcLjwMXoqJyGnhFx5Ock+h +X2HwRHWkXjbQM3k/zYWHwVA8K1amufAwoE8Q50ZQndEuPAy+7TAWUIgZvVrtdyvkQmibLxBWrRZ0 +4WHwbYeeczPNhYdBW7zJtdXukotpLjz0kn1rQ4vlckxZRhZtjZneLzDThYfBa2W0IZjpwkOL4F7O +vdfS91QXHgZDcSe6przw0BPKPO70atkuPAyGElhK0prgwsMoW3vncOGhTR5dtx0aftqc5NHv9Gh6 +QXKmCw+Dff2YZ9HSFBce+nfMfSDgNPKoX3g4o6se9cLD8HLsuVx4GHzbYWzCewqnjLjtzq37wsPJ +rih0gnIeAjT7hYfO0mD7bYcxz0LMKS48nEGnTXLhYbDzE9OObJ39wkOzY563HdpWCme58HDCWtxp +LzwMvu3QmwWmuPAwGIr/Xo4JLzwMgvI6iP3hu5IxWeFV8G2HsUinxEe48DD4tkPP5A== + + + /TQXHgbfduht1qa48DD4tsNYyBld0QuvAm87jFFn28104WHUXOeMFx76zqbHQZpTFF4ZFx7OZ4ti +6IWHwR4j0WnzuPAw2GOkVwpnuvDQRU3bbYfuhZUpLzwMXvExN46FncIVduFh8O5je1Z9hgsPPYgm +BxFtygsPgw187A//Ot3tSS48DO5TzCorne3CQ6etsB+wbKJ5Hn74ZiJ3NQkOO5k1xbi3Stw9knSw +v7IJ2e9vL6KsODJgRTrl9bbcsS8Wa96cuWVZU9M6HVIUbbbF855FUke0ilV4B0o2sTIu3xZuE/Ds +sm+56q+t4mCwxRW2r5/vk4nlriwkVteZSmKtd/krwa1fnqQ3OuuF9PbWYDd9ffy5ypRP+zxTUcu7 +TKVwXGb2M+MLpioXHpnq40ODOVkb5pjLjVWRuXzdIV7n9e96k7lZ7X4yN1X2h7npHy0xtzv1EvN8 +9nXMPI9yd8zrYbbLvK1dLDNvmy+pweA0uzoY7j1Lg2Fv5XAwXh89Dhf7hfccX1XGeqnpR+98W1pN +nFwXljkZ0CRrq63zxZuHq+2l7iBfWeGE19PVt8t1ZeHqqJFNX1XOV7d/bbaktFmXuHrQeipn5erK +b5iWdAUL8LKJQfs5v3zWPrkgwYB3gpgueU21O2oi3RF+2S7IxOs2hdR9enMzu+5JL0IOGPAK83aS +/OUYK6BxDDe90RDg58zONlO5uq0w+4u988FQuW2S2lazXPUqvZXPkqs6F7QKyXL5d34wfOpt4LNF +98HNmrRYXtf2Vp/yqzUfQ8/SVlV6TcfuQGoz8lwZ4+Whd9r9opmT27tEMlvDEiws/T3CPxt47eh5 +IptfeUHKbeN9pE942aiKHbRU7Irm47RGuwqZr73vXnW4d3x7+5IuZZbHleTB4SHEqN9PldfU4zGI +9r2oezZLqGwgLn9bzGoR6rb4NMSveV0liwer5qck3mzYwcQR3it0sKbVIoMJz+DXjP61mMvh15yV +FxAP8unyzd0B9uiJ37npF4rtWp5l8ttC0uzqM9NMJteNF+tr1gu2/LK+abzYzVgvwN5Vt8kLwmnb +lRz17nn8smv8qMpYL2j8++spHGuKRr2/m7bIR6Per2ABs/WOuNvwuJrXLEV+/4zBE+3S/JL6PYKv +1xwCXwMVM1J1GOfFNDbJwB+5C18Ps4ZWGWvlU/CsmtN2DYkZcpEPPLlgUIWz8KeJX+80uPzOVTen +zWFqKZcicSOTvz8kswloiuyGjvX+LEfQ8AWFVzZaL6n34qdUQc+m0FEWFYozyfyigtWgOUNcwxAA +yIu8F0gveGQpIgrIa8YCKV1vrRf3rlc23oqf8nF/72qve0ukiis8rr1obJxq3LV3N6qJAXDYFaks +NpjsjZ7ketVimRrIaO4bnl3kkEoZLCRKaZ9qCzdZ8gmofrmmfSo88Aco8/fATZuH5BOg0ee3/iES +uSFmiMl/XecwScLCzCmr5AUA30tqn2pLxS29O181zuxOHTBc7xgvPoRKmTtBCX4Q6dHU+Z3rCgZP +b/BOesiW8rXNlfWP7up1ZbMs/LYMvW6L9+9+6Uk97Y+eLDQcl+qmxZFEbkaPeewluPZ7e2vap/LT +UVr7RPV89MGTZ1zhPl12dEd6+D7olN6Xh1e7mzt3wt7xHQP6U3wWQav8ShrKhl9pL6+UG18/arBR +t9wAJl/7UUyv5NSWxyKXNI9WEqnNUwF05OqNrjpLiaWSsmkq0R18d5TI/PTP8MUO6tQm6Nu7g8Ta +z+LAfbRCHom2mDTU3klXl++z1hoZhRbf6DxCWByPzMeCb5EhMPid23KN8CiGXTlddWLpNajOjF11 +5rlS9jHN5MWtjDH7B1njjhV4XMyhx3SnK+f945Qel4uVvHdGWDxkXCxAXoCyxeNacg49qy0WLyZB +1TUfSafZTDWNW2CPs6SXbOZjK1862uwxDhWL2+A6hc5Ct8Jmlw4/DVE8TZEJ0hy4/epCjoyQjAZ0 +K07yCXKhDEy22yNqFbUbAyS9+NHUqVg/Rk/sVKMmeyBVLeDaLLH1l+Wsw3d0HdC0YnP4XkfBDl+x +kGM4cPjuT/cyfWZ3r/HrtFLaSYtHe5nebqpytSPf7x1Ib6eFt5NbXF5Vy0ojUx68rL9sPFS72/ud +m7unvQPxkdnND/ufxGmkSvuBwqs4fWlin/VDDiqvadKOUnuL/WKx8LXafSrl5NUhoNloqYOvvctx +4lP+Obiolmu11Vz5obnwSbwIysNb7j0XHbFJVKyARlpcr17srpdb7cJXMvmrfHDeZnd/9vJ7pcPv +9rBS6rAFw08rtYHSFyO8IP1U8522xyuJCKgJC7ixbxwvlZ5K+/tbX3tXJf5nogEjvLwVS1Fb4lEl +C5dJ48CI/BJmzHJECrnV7YWSob8Wh+V0++Fz7+rmdjARan00HGhD9tAWFEVFfcuVcrnN28rr6Jnd +3Tj6uvCiuuZD+xB+Z2N7Zco5n4HT1j6Gro3tuurkVrWTP/QjPk66qBSzmkQyqSXkNIYZlrqFs/Pd +50pJFN/2rjZ+J0uHj9IRoE4ugPWo5Eyh/CEWjYjn9vXrWtlrur0IrmnoqWnuJvhoNScc7H2DyroU +PFJDEUc/5dAx8DBG/y+yG6AJHf2TSiUCtsWbHyuvGlWnAhpDrV4zpXHt85ao1d33q/5GefBcPxM7 +9ZcleHF+tpsfjJYKb6fcZUVdFLcr6tJFs/h8tHiwMf7YzhRywuAGQoC1fS9KaD70/MXewYJUxUrU +eVhaAj3787TOF0uve1fFl6cILAhoDLHH43CmmP1IA0br6TPmGRjPNWBAEzBmYLdsN6tAHLLcLQ0G +O+u/phw1iT0nmGlQbP0lD40TMvQQTptS47hUvG0JL7qWn9SsU5wW3bJHMDAO0iML/BuujGPAwZw2 +N4uKQWH4mCOwWzDqmHkU2Cwz7SlfM3Pa5F6coWy8VAwJten8m0cCLVO64DC0O02kH5K7mFSs4MF5 +R/h1FTNrz5gpOyVB4a+FjURWyZ4lVvvXS1ooCJEhfOIqlxgPblNBYWowyCQyibdVjAxvXDm28y2I +1rbu9SPmMEFNIkjdF9jgd65Gu8V2ZWWwe7N697PbOxjcV14zB4t7Zx+bVaCNsFR6/zW8IInkYeJ5 +taTPw9bDIvEZ+L1BomQfNYWauINu7Bbqcu2t/LXb/cm/Af6L+6g+Rv5zuZdxZW5Dxmxi/VV6X+kv +ooKvA/7G6wSeDSDuDuyexWQuZQSnytii6OdSzsm2YXYwoj03nKrCqu9M+xIclc0MNJ+TWZuXWXVs +uPxXvCigNaCZj1MRbNHRuZ1Y3/7LATs3WqGDN5Lyisbz/mHUZNR34neMWs9Azd3KJNZeOn1T3DAJ +6SI8SRvVfvJO3WPLMEqJ1OmDisZkF/8U0Gqcal/XVhc30ZxU0RBV0aYcE3vTyOXQAl3ikwomKNdx +lYf5l+zNtKrA0L10TOvQvTHjZNg5x7QO1I5V3Mia/6a1e3O8dQiieJUov0lnn8GmlixFmNb2v21v +5mHq6AGjcxs4ZlQ25zMnbkjOZsKZBi1/s1QKzB9Mzmlc43Vtd+Pp87WUu3gbFN+3uvXJPStXKcm/ +4+MYux+iytmUPIcux6wiHoHnAM1EcjalkJnJ+zkolpk4bRLF4itk0+q0CYVM23MbXc6mFDLktMkj +GFzb4wp3n84kAr2XZudDXn8+P1H3DiQJd3TBfzcLhbfTxVPyRC0rY25fHLOX5dvCZXU3P9o53jsQ +r3Olh8rNJXxlKusrvdJ6abEpMVGThZOtEUydwvFyOf6FFM6/tUbg8LYmXiMID2f/lUg6moetaej5 ++Zo+QQ4qm6mjy+hBFnqd06UvJ2L8yPm0UXI++bQpViWjow7Kp80Safx3M7dGfGXm0zxCPD2f9qWu +TZVPWx0kskfqHYlXkNMgeJHnGMuY4r5Xef3qrFX2OjU8XyCCsJNPZDviYPxWlc0tI7mo7E58AYrj +V5PFduIxFVXPWXsHs6lBcX16ZSPtXKw97V1d/36JxOTkU+U1AZ82MlYmY4rVqGkGbHBadm3lcGNa +sxY+YLIU4TnmVH367I1rwIBmPpMcnrOZyyQHD5hw2jwmOXiGY1q95+yTHDzD02YHJxyw6afNOsnB +A/by06aa5OABa0HhdJOsJ8Q42zI/vcEf+nRepNcIVm39TXfpmIMc9EIdII6L5rpJSNOVCkRru4pe +rfOhzW2ptj34+d+Wt8O0FsS8hYs8WxZOS7+M2GSQpvtJAGzuXNqWIpjDp0zODuNT96J0l/radtMQ +Mb7DRcrrXXngjqjxa3vKN88sAL9i9kuDNBhjG4yDlQN6/6NwqV2WQzYqp7czpxxe04tbBA/S+Cln +Psubz8jBZtuZSzCvo+SAbLhkmGTuwWGQteuGljcTb/plNW9bHHHazZuenmDShH14wdotavLbWiwW +Us/ISwlt5/3mxveFKcT32j56951Hxk00ZG4KqeO0UWVw8Jxb+H1tWPQcbkM8x52QpEep5M5jh2Io +cl0xIRovn33p2/q5MWuxdnqjcXaCOzcXjO5QF0WtUUR4HPB1bcWD0GGdteiQKj40Xww65LI2Ogg/ +hhinXmgicB+/TCI80ESA7jjyAuR84mA61DZPCR1Id/jHDqtYRNCKeyisem3Ds02nBdIhZ0nBXaKX +L2tEGBTuHyMwgxZJ744NFh8nLDokhOHjikmHuwBmwNNxDEI+eXGTzmmBMC67wTBCARgnwMwC475v +AvAXC31u/GA8/czYCXJbqSme08EglZRhAyEADHfQDaM1mnEgnxRf6USbmLU6iYl4E0fj0lU33cnl +3AbgvucAYBItOoyn/szK5vzVR2FFnZHz+sALAI7GBuMhCEZrGDoja0sUgJ3iT8+x4fL8c0bWOv8a ++wLQt/aGw+glwqnpbwM1V32wYMC4/7ZgMAcn9w2bK/VkctA91V/7pX7Y7tXJJd6cFjSu+/oUCsjB +afctT0aJzu73n55cgumHyLJ//zUtl1icdt8dzziQgb8Cispp9+OFWTpBOO1hcTFM7LjhkwUjsXrz +eUl3ol4PUUC6vQkiRr31M2MnPge0kZ5qRupfwwhsEWyk693RlErMAPAzntpIY1CGJUXoO76vJ1Uq +i5d8XBMwbXenbUvInNydmZE0KS0yC0LxVra8HmRs3Qv2ZaI0qXSiiwgrr69GEc55zyhVuuyzmY+P +7TTZCq5ftsXkvxa0ukStUA4Cjzz5isVQSf3T7xYpIU3pdVCrPxhJH6T1r+vJrNZZ7Sv0U/vZ+/X6 +iEQzBI14SJV10lWW23KKqh6lxrC9laZeUKVt28UsVTpqFuURNNuHebrmaeNjz/jRGWtVg+qx+v7W +GlU9SqHeL2aoFxTq/cMc2ZawklnjCndPpOwuBV79b2CP/QuWfOV3rhPw9XzXAv5KTlyAZxVS77kG +oUKrQCICzBVggFBVwF8/Ay18fpYn5aRkKeLuZwmeXLNaCalWyXj+yOdPLr94+PkVTA== + + + weLmIikh1Wsl76sWbd4MNAGliLa9g3QpGl2DqELfusVgQMFQtKx6VbWlQVJHyi9V2a/srrauSodN +/ZpWGMMda7DsFWeJAJfqvC5q4XH+viZQZaL2Csn6mVYaqpft1q/zerVt/Y5h69XDFHx6ZPUywfoL +t60ecjA39RpvfGoKBIA+kV8XWa10FI/zgK93hGjaz78eGePTC0tVipq1zvCiyVMvXhL8q1YQ+3by +s6yP5utbmq7k1/rjrM8d3Vm1fw2dN0YvDLvP7ibhU401PjXR3lhN9cK+0W/B1SNxdFNZS21vyDfZ +hZPK28kyqQst8CuvQ5k52k+LMF/Pkl4Iq1WUnnRtZz+Q/Iiuq/S625RRuHne0wl595U2at1fhpp6 +ai+cr5jqaagTTcxpF9rroiUKmHITyU5IrVZRXE+zB0u/Ud8dZKySdvjRDR6EcUBO2djF49NzhFvZ +/ZccHh57kPc5K/iAIUdx0GferxjvjjUFz2aY7puheY/X9JLM4nJf7/T2LlEASZ3MoK2M+snjHFX9 +n+kXGVLEqek0h+o62tEnGfSXMcLTNF3H+UJyMadZvERhwO731/P4Ff7INwfFt6+9ll6dDiqLQEYW +QOCW6jIOTRr+f9uxP2RZZuMKJ6g5SWHgH8+IrBLPX4w7rcHZoP3R7sZBX23E/sjvHbLsdbfZqwxa +ravW36NSrzH+bnVH8fV4fu+yeHioiKVWo9dsxbXDbcQ32dQeWX1UOrPTp87Ykoxk8alQelf3vw4W +L7ZqpXfmftt1dAV/sIXrYxcxrcx4U9sWmPlsw7u391wiPV6/RINbSmSZEw6Nquexq1S2+EH6ftjM +vlV68i3PNB07I4hjsL1V38v0T492j9XhtnKweZur9B6Em/Lg6YEpPVTurypbe1sNXS+dta7BVXzm +mKPzCzy2Wsxzb4mDMzaz+nnjVSxrV9d0saye0/Ytlt2WlotjwN+6Ky02x+Xi8/7FnXRabC7s5keb +R7v5YXOjoi5+nZdvd3mtPhbQ6CWyUqJO/AVHiptNf8l48ff9i8HsJ13L2lml/RAydXJ66bV2YMX9 +QNfGo6S+9e51pEs+SLTxiU2ijU3qpBJlUr6N5xoe9kn1NfkKkvw4IFXXxs8qebMsm7HECVUCUNX0 +iI5TtKipo5r5Ik2/qKYb5oss/eJFbpkv8g40/eKH+Y6lfrRf+EEf6nSNfnadrJul0hn6xYfQNF/k +iNIHOd9ljIJ29iBbQft/yuo11zsX+PUXDbz+kcZU4S/toA+2sSSv6yYkc9LT1EQju4WZ0195kt9l +GzuHSLlfGlBE0/h1TeDylJtx8DrQzyJJZQXUMldZ2kTv7G6YMnpR6OQ+1vbOG+/V0vFh4tJiS8a4 +PL0Yc57Z5rhKpMClDiqbE4H0gmcsTekgf1W3LE0ijs6XWvvPD8rH3uV4qV1+aJ6jfbhiLTamzye5 +f+FN70Sghl7akRu49U6ft1vNH+ZKv4qofG/zhgDcAvD6cwo/sYbxuyUHJvTwE29+EjQA5Y1vPNfn +QYf32qjwmtw8mKe+PDDmJ4rnuDfuxTxy44GnX5S+lgzX47donmMh0TvLOpd4HEw5o6ZAxJmbJVrf +aSsKoJKMcw6MP/oBY/qBdOAOUEaNX0mdIV2f4c/9LV5O8MyST9ponjm66cmHgM8ER4+wO78qbzf3 +xVJaSVUq5ZMbxXB4vkWmVV+XyKEX/NLm5hu6WQ8RTgTST7IqGCdl4LFXxgKabeubvLq+0uOE8m3h +5wZU51oprYrCpqFE+zvw4gQ3eZJyWHi3tWPta9v+WfquGt6vuUSpTdrRt66/oMead1RbOCIHnaSN +JqR2N5NDMiPlnob6NnzqqB74Kg+I6iR+EPzZ6ttU56Wgx2XryR/Dh9rNksVKjNrA9cncDAyXUt40 +T6aHOO7R8xS595fdJycL4AtUtnkPPZvWVKzR42ddnUM4p48miesjX9ohFTYty5ieS9NxIpB1QgUQ +SGE18oFixWNIPs40xUoUIOhUUeM01KhEay7tGidl7J8xWuhGBYzWiUD6OmmUE1AII8Ws4/wtkXGq +qVPKWVkqv4jWqqPHsmWWXnJsKMf2rBd5nBglzRTc8NwFQ1jbJ9tNjRXW3pp7hTV7Yq0tcUn1nrcd +GQ+PpcXEcmHJ3EHaWHHBKOQpGGzlbp+15EuPQtDRQnch396+LhPHP9/OrG9raC77xuObH/KYeAz5 +9lk3bcr0MbDA6bHNIYmeNPRaMCAxFQ5JX1LVj1Bb271dqxmLm2zOWtRzrmyiuDlWNok7GH1xMzXl +oh61hYidYr2BJsKX0jeIsMtTRMAFZy2mInQQ8hYdsEdf1OImRmMhK7w7619dgwhr9sX1kyy9DX+6 +le6t8DRfSKpQu7Aq2kq3FzNg2myVAEAW0NemvRgqEAa5LESbjDAAPsvteHhRKioMTwDvqz9rllgY +e+Imkgw8Mik9UScAjQvGejIz20CKuaxDvg2iRR9IVchN3gn7XlKwo/mZWAvsLeMFANBEhYGmOekr +58FCbhgCzHGkpoShA1BHazMqG0yqpD1hRGQLEq1V05lQGHQnXNS8ZrPBU0q0QNCWEHR0pmAtGsDH +FskLzASjX2RCKcHqAbsPjOzSIavt813YPygYMKRF3K7zQ7WDUDilt6v8Zq12uAPszc5p+9UFf0aJ +Mi7wBP0VEMVpgTBect5cEpHdEQ14nyGMEtaJ/noIl2j2JggGOrwzye1BtsKYnDblQA6kKhuhEzZO +c/Vj54IL6cRgO8+aAA6EUe56kwJQf1leo4z0VMSof6TTUTuh2xt3P/rsTKyFaZ2sxRb+RjpoRhrZ +rdxEm9qw4MOhxBpSMT+NAiLJTQhZie9ohceGWVOyiYZQ2km/3kFMvV+FSFpd1ON9CF3NhOMTSWdr +Sa21vae9NL0L+DapHRBphaLUMbFnrS5mObRo+O4ry70eNDO4pzar5bjwqEiSUdCPirxeINnMVeMg +R/iEx7KT5QctzjbXHrQUpZbnh87qIS6e793S0pdWQIOW3Uob0l11LCdQL4rLZu7wOONIQl6zZvrQ +vqzwsfVOxdTWC8eJkFrAXF0wE6OndGIU9CGd6Dqlc6OgpjDHc2qmpvBYSEwugtij60WdCGkC/5XW +moAwIIP8ypoRgXamwXYSj1P9ldOzlFIRAf1itLWNxsEZ+arDbTw8ssbZupW0uU6q5QC4lLRuEuYq +Zz/ozkgvhWa7XIkQM9t1lfdIV1HwqGgtMkiGAsnmF4eb6euNgbR9LZzuyc/NpJ7PfLhMGAujj7b1 +vDeLybjUuPllZiczdObyYAtd39ucnrF8ONTyKFypcSbqnzrXnP5p/PhipIa4cqr2qpWNlrkPXP+7 +FfUs5cMugnyAP3Wux712qlrymnsdX+jA31J3Js890Mu8bxvN3+YLIWY7W9cazdttojhxWnjF/ONM +M6NOWx4fmimn57wm8SvctaCfhrvxKOqfSjUzr/rM6+1uvvec3TkrXj1XSp2Fxt7F1dNquZ7dvdXX +wTdRsRgnUY/6kpaC1RRb5VWc6IBbr9Nttc3Rcz3g1ut025h5k/3cDrj1Ot1WM2tzPeDW63RbsrY2 +8wG3e7hgisf+4FLoa7nbpJdB4fEyPLpsjcZ90kR8LbQ+2t1q7Z/WIPYHG9f+x8D/8K+sxllOiXOi +CF9EfFqtx/5IktZxNhWvgvFi4nt4e8Nrfm8wKrUbo3avWxv8E18nz+5OqteHpfh6XPvNK/xmI56E +njGv0Bxepcg67Cv295XAwj93f5GPrdgf49gf10HAT3ElV/vmfA14/v7udKFBtjYaDdr18ag11NEB +uEHtfxIM1a7x2e40B62u3oqP5w+7I+s1/hn902/pr4HAzX/2e93/9Kq9j14qnr/utnGd+xKQdT/s +P/uz1hmbv1scAX9Ae6+G3dq30W7D+I9f/9jg/nkjsPVk1B51WsE9/+926PJm//Xqsz0sd1ooPFGI +5P6N0ZdCr9fRXhcHrdqo1Sz8c/jd7w1GrYFdCNR4MhW/u6VEgPpwhn+YnMpIAsOyoszLKgvCmWMV +hVMlnlUYUWBVNU4ayZIgMyK84UVOFeAJx4qSInGyIDKqwuATkWFViZEVgWd5mZPidzVEgLLPwf/v +/sFvR/DpNzz7K84y8ZP44zMTb8bg5UXsD4kD5ZADhKoqqYLCCRwX/8bfcFKON3ZqyKKsxKvkqZwT +WXjKsbzEwSt8yuZEXiUAWEXkGd6zkZiTeUFS4Q+rsooqkkaMyjGKBARQVS6u5lhR4RSZERSeVxUh +zjM5RZJYRmA5ESghQQuOIJJllmUVVorzYo6RAJHIKrKqKHwcXApXI5ZhqU0nsoS90XGJrMCoKsuB +xmTEnCLzKgPYeJHl43p/JR6ILwgSDy0QMiPDI15Gneoatt4C/gmqqLIs9oZxPyV0ZFkmJ/D2TvES +UkRVFR5mmee5iI084POi92MmJ6s88h0vycBvWiMBPkoSsJAk46TA6FVGlnmGZThRo4siAv05DomD +LTiZgBVlWeJlN3lh1K5GPJsTBOQIQQCSAzWhNwKfg77BP46XYRYlz0aiGNZI4nIKPmBYkROBDeK8 +AsJlflfUuAQkkygGBzuYU5A0rMLD+AQZuyzJORkbSRJQHP64G1W9hQUev/sZOFlXYKgzLj9r/daV +pb0sgwmaYQ1UA4ubo7ALwLSKKohxXsgJSFieh+7zvIRyCYPSSCtwMidIbJxTYXC0CICCyPEKdhH+ +SoKCM2YHw4pqTuWQphIKNutuAfRgJSakUdWrkZTjsBHwmCKprEAacVxO4ukORWoE6kF7wedsk2e9 +kICb4Z8Is8BLmtaJs8DjrEz1CL4TMbBGzyk5HlmKUQRB5mSiRAgDgR4WOZkoEeyOQA8M5kahiEr6 +rAoO0F6NFCXHKDQbudBhI8nZyNlrRXXwMBmtytGiJ+pUQyXIe72oer1ANY/qUhQVETpO2Nz/saxp +HzA/ksKLKnmsQuexZ6AXFTBrno1kLie6X8iSbdIFws32FqpD3EAoOJxfFsRFZThtthg5rso5NDkw +MIVFO0NYhJFBN6BECbKAWl4F1cDTo2dZ6JdojlMgKldWLLVOWigoYAxYIrDC8EDQ2Bd6CHpCExaW +z6mUVnI3qkaRb02VsPESMiCofhwQL0kcqOm4KORU7KjJtqgMGAUgUo0UgIjKAdiXkRmeKH0VZpKn +p8cFqRoFnda3NV9ffiJVx+AQOaAsS9ODmDsiGiIvgNeDQ+QE8HBEesbAZEnmRIPFElFxozjJkihx +RCZUGw04UIjgK4E9UxWJB8MNdq4BkOExR7cT2ByDIq/IMug0SY1zYEnQvQCNwco8qFbQ/Xa/hmP0 +/axgVsHUEamxeIXVFSkINxgk8PXAuCjuNlWtDStSOgElRXSIHwsmSoKRsTzofnBOvBvJLPgxOFhe +BqNNLLqA0y8oMMcsC/ZaFsE+wCAYVgD9DRLF5RiWtnzYQqR6DC6HXQZxVLJsawP4gA== + + + 9VAbA7OAX6T1BaYG6QXOBg9uXhzlkaheUQI9rcKvZCEH3bJ6S1iABsPKjJ0y2EIkLWAuWVnrjARy +gHItgLOmsB6Nqp6N2JxM2A1cIFUk6jGcJ2kZBWVKaSvim6iCw5EGBxfmG7sCxEefCxq5tCOHnGXp +UGK1VMvrgb6BhcvJFLvGBSGn4KxwjAQGEPQdNLUjAnYhNBBgpiWcaGR6ZGn4GSgC9AHB6WYc2oED +hpE5egYYUAXYYV2Lxjkkrk1ngo8ocEQmZQnDFJwSFRxo/BUrgPjKiuZIEo0CYirJmtYJJeBctA5M +FQ/OpspRsuOla9yNvHxoARwwAcVHBkdZ9PD6sRHMRXAj8Nxz4P+ADKLd4zX6ELeVAcJzoFt4XuN8 +09EFf9wVXoDAgg1RiSUUQIbikpATKe9C0Nx+RyMSNtHOhN4IJoYnxpODYAujLxmEB2IdAX8ID8Bt +hPnEaECU9TCPQXvK8SyxX/Bj0BSUGXQFgthl1sEZXtGiuxFoTZZ2c1FqwDngaJmI1sgDHZhqCPco +Cnk3QkEA1U20rdGIB+kDhcmpABl8PR4jeoHYGSLFCsQgML2s5jtgCzp6QRdARYKJgsqzkkDm1NUI +5lRiHRaDk0BjoJmTeZhAViXcwVtxkKI14u1jJ0ymUCwELZ1gVMK5plLkRN7JqI4W2GWRcz+v6s89 +glhOZUm0ZaqhaI28MIAC40CtgMkGX0qQvRspYARhXlRZkBhVHwO6A2gHFQXjFkXMASiIJUANg8cD +LUDf8qBTJeI18KQFUIgVOIwHSGSM2gIQAy0lhdPiXmwkihLoXQKHNILomgEzBnE3YMYWkgjcAT8U +VI4j84ZIATs4nOB0KFrGgswSg6E4r4kNQmIp9Q6GUbRFxig2JJPh+DF5DqoDvCJFQW4mVAL/VAWO +Z3H8YJrhlzmek2BkMnIdq9lqoLosAN9jeMWzCgTEHOgLWfOXNO8TxAVUqIS5qAbKrZIj6SgRnA6B +KD5wuWEaeEEgmhXAwFyAsw9kkxWRpGdULfcFdhl/Bi2A9LLpiMmU8tSGZGgRzsUcdKOqVyOvhEqo +aZg1ws+BuAHbsKwEzg/IYhyfAAtBaAtcIIJN9nqC6T8j8QdTLsGsRXmC6T8RYmrepsAEEi+AXtKe +Gr5y1u5Bgk6DjkJUDU0UUSD8qaJcWP6XEBfAekg2Ja+6sylASrDkPAQPMritKvGMJVUCpSjw2AoQ +seA6g6RwgiQqHEOcawijgFLgaoPYYws2Z/fHoYVMDKRKMoSEDxQQH8H013h3I15i7TkKmO+QFuAp +quhzatkriYxIa0SxCTg4jGw5aaDtoSvocCkSWnBJIqGjLTMmEO+SirJcLRpIOvDPVVrhusCAE4c5 +IPQsNE2kgsAwRodhigQAAVMCw7S0GRkz5aFhI5vqB80k8mbIqmlOAdzMCI0YMFCUagIWoy0WFwcd +khPsnpXsJA2fs0VtrhaoXVRwejmbtXI0AktL+schx4A6iYMNUbAnLA+/Qcfa2QDmWrRxGeJxNhIg +hLO5A9gTWwtM2NByQuYa41AeQ0fdGeBETTY834C0ELmCbmq2A30DW6YTRMc+rSCrrC19gtCdjSTQ +ZqIx87yqzZirEe8I9wVwxW0+B/gb9tQJijg6F+YwXC2KOjNjI1kRWNQDrkZVr0YyjAsnDbgMAkzi +nwoimAnokSBhKAlzH62RFzpRtusV70YQz4IDKoNPC589RieIrN25Qhq6W9gQMY70DFLI2Uhg3Tkc +QeRIoGR6OWCtqZAMHDkwnjnQ54zmA/IqWDuwrqIUBw8VZAYjYdDNEginYIsjWWJNPQ3G3BLbYFzs +yVTUr8i34I1I4OWjaXK1ATKotrwFhDVEuSObSiAlMkQiMDpkU4Ak8jha3t0CNSooZtAWqua3cKK7 +EfALcTnQj2ORbxA7E9jCGIPZP0TkbAQ2QsVAC8J84FXw7EhXbB65U7m7RuRlI5AW7l86SYjYbZwU +OhENK7khgpGxmXmvSXO2UTnCa5ZNFEHxM/ZcgRw2Xg/FL4C6xRkzpdFtPxTkXzqx4VwWcrUwrLyp +GAmrOBoJzhVG0hWB0rmuVL1rRK4WOINIGGANAXwilfFq5CIudsWW7gudosacsifg0ICvRqciYIiM +SMUY316NwC1RSCMtU4tLBaJI/G+Rl1kzEHO1AQUIIR1EFiJoLFVvA4qPVcCHgNAEyA5ToC9iyiLx +bsAGSOBpggsqcNiAxFXOZUl8jvlkZ2QPfjOwAqhsRgSnhiHrypijVYDXeLJChSgFDuIJibLZLPRK +kQWcDwzSVbvbhkqG8vUEvQNul9bWCJc8FdnupQNPMk6fy9UIu2wZH225HhtJDMdhpEkoBUYdHFPQ +aiBGDIRaIkTPCrgbMsnwkPA0Bx44hMUGu4PMOlb4FPdqmYiLLwKdRHQ2qno1kjQJ1Y0VMeBgpUjK +GNS1zMHAIjbyQofGwPO5DA9lWSeKNmQexAbmnicrj+DvYpbayPQIhGqg1ljwUYChZK0F7tHAhwwa +WV7zt20hkKsRjF+h8+ikN9hIEgE/o3Eesi2EXhJaYIZD/Shh1k2Cj4ohDgBHYcBJA8C48oUtMKcr +KhBXM2QNi7NhMnrDMWjQSJjnaoJSgOkq50KR0xNxNcIOi7QqMBpxwNMQAvKa1ofAE9QSTCLZ7xGX +SO4M3FsVHD5J34kAEw22VgURxuw1Bw6YRBltvYWh0Yl7CUJjX8NxNap6NXJqr2oUFTejOyTzMG10 +eh5XA7FbnEwiYFShEKJAMGIFdqAdbE2wn5IWyWnpFZbwuJ319EZoTARWBNbWQnTXzgqZ1VZswJ+U +NC0qurbJSLigyNh0uoTMh/hAhQgaS8jayg6jUnQHabV74iTPRWdVJFypomMQcFfsK7hkVwZLQluD +Iq7la4LfsR7h3Yi1+/O4Qusaroy5Tpq5gUaSplZFTMxJmCeWHKLGkl6DRQOzDS1Eh3ywWt4AAyVB +1txtmcNlLzD+PPjvqMAw5cTTi8xkxVwhMZkpsYxmKkAHsehKAk+S+WNNIWM1tYjOioABpMxLRHdj +ZplBG4F9saHBvrgbufsiKSouE3rwkKDttjJXFjy28OBoFYaaH1zcsq17y0A48GXohTee9F6ifT7b +2UF6fBkqVXMLYiA01eJNY/nQwx92tXEFMQrE/o7FaUcoIgP32qjlFdHIEqhm2ra4wQiONR9XRONq +4RXRuBq5IhpXV1xxiWtEXhGNizCuRi7iusKb0CmiwhuFY+2azWs6nW1c4Y2CImfLxMlhY/eIbmRZ +IttUTMfeDQYVOh3BuqIbVwuv6MbVyBXduLriCktcI/KKbpx0cW9ncpLWFdyETtAcgpvAjen2Xe9Z +Lmzfu7bn3thxC/9tgt40NgJfezyrFvT9++Vuk2DJYpnC8nnto3U1qLU7uJ3/Y1j7sxWvdbu9UW3U +6sOr+MegNRz1Bq348LP3Fz7BH5k/WF4un1Vif/z/bbq81A== + + + diff --git a/public/img/logos/adulttime/network.png b/public/img/logos/adulttime/network.png new file mode 100644 index 00000000..1dd909ec Binary files /dev/null and b/public/img/logos/adulttime/network.png differ diff --git a/public/img/logos/adulttime/underthebed.png b/public/img/logos/adulttime/underthebed.png new file mode 100644 index 00000000..1a773f86 Binary files /dev/null and b/public/img/logos/adulttime/underthebed.png differ diff --git a/seeds/00_networks.js b/seeds/00_networks.js index ac7810bb..b9a12a9c 100644 --- a/seeds/00_networks.js +++ b/seeds/00_networks.js @@ -8,6 +8,12 @@ const networks = [ url: 'https://www.21sextury.com', description: 'Watch all the latest scenes and porn video updates on 21Sextury.com, the best European porn site with the hottest pornstars from all over the world! Watch porn videos from the large network here.', }, + { + slug: 'adulttime', + name: 'Adult Time', + url: 'https://www.adulttime.com', + description: 'Adult Time is a premium streaming service for adults! Watch adult movies, series, and channels from the top names in the industry.', + }, { slug: 'babes', name: 'Babes', diff --git a/seeds/01_sites.js b/seeds/01_sites.js index 027d2955..259d437e 100644 --- a/seeds/01_sites.js +++ b/seeds/01_sites.js @@ -119,6 +119,45 @@ const sites = [ name: 'Sweet Sophie Moone', network: '21sextury', }, + // ADULT TIME + { + name: 'Bubblegum Dungeon', + slug: 'bubblegumdungeon', + url: 'https://www.bubblegumdungeon.com', + network: 'adulttime', + parameters: { + referer: 'https://freetour.bubblegumdungeon.com/en/join', + deep: false, + }, + }, + { + name: 'Lady Gonzo', + slug: 'ladygonzo', + url: 'https://www.ladygonzo.com', + description: 'LadyGonzo.com is a new Adult Time porn series featuring Joanna Angel shooting hardcore sex and gonzo porn movies the way she\'d like to see it!', + network: 'adulttime', + }, + { + name: 'Girlsway', + slug: 'girlsway', + url: 'https://www.girlsway.com', + description: 'Girlsway.com has the best lesbian porn videos online! The hottest pornstars & first time lesbians in real girl on girl sex, tribbing, squirting & pussy licking action right HERE!', + network: 'adulttime', + parameters: { + scene: 'https://www.girlsway.com/en/video/girlsway', + }, + }, + { + name: 'Under The Bed', + slug: 'underthebed', + url: 'https://www.underthebed.com', + description: '', + network: 'adulttime', + parameters: { + referer: 'https://freetour.underthebed.com/en/join', + deep: false, + }, + }, // BABES { name: 'Babes', diff --git a/seeds/03_tags.js b/seeds/03_tags.js index c11dc8d2..dd1c71ae 100644 --- a/seeds/03_tags.js +++ b/seeds/03_tags.js @@ -1632,6 +1632,7 @@ function getSiteTags() { familyhookups: ['family'], familystrokes: ['family'], girlgrind: ['lesbian'], + girlsway: ['lesbian'], givemepink: ['solo', 'masturbation'], godsofmen: ['gay'], iconmale: ['gay'], diff --git a/src/logger.js b/src/logger.js index 6d082a8e..a144b2f8 100644 --- a/src/logger.js +++ b/src/logger.js @@ -5,27 +5,30 @@ const winston = require('winston'); const args = require('./argv'); require('winston-daily-rotate-file'); -const logger = winston.createLogger({ - format: winston.format.combine( - winston.format.timestamp(), - winston.format.printf(info => `${info.timestamp} ${info.level}: ${util.inspect(info.message)}`), - ), - transports: [ - new winston.transports.Console({ - level: args.level, - format: winston.format.combine( - winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), - winston.format.colorize(), - winston.format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`), - ), - timestamp: true, - }), - new winston.transports.DailyRotateFile({ - datePattern: 'YYYY-MM-DD', - filename: 'log/%DATE%.log', - level: 'silly', - }), - ], -}); +function logger(filename) { + return winston.createLogger({ + format: winston.format.combine( + winston.format.timestamp(), + winston.format.printf(info => `${info.timestamp} [${info.label}] ${info.level}: ${util.inspect(info.message)}`), + ), + transports: [ + new winston.transports.Console({ + level: args.level, + format: winston.format.combine( + winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), + winston.format.colorize(), + // winston.format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`), + winston.format.printf(info => `${info.timestamp} ${info.level} [${filename}]: ${util.inspect(info.message)}`), + ), + timestamp: true, + }), + new winston.transports.DailyRotateFile({ + datePattern: 'YYYY-MM-DD', + filename: 'log/%DATE%.log', + level: 'silly', + }), + ], + }); +} module.exports = logger; diff --git a/src/media.js b/src/media.js index d422e890..b9a201ea 100644 --- a/src/media.js +++ b/src/media.js @@ -9,7 +9,7 @@ const mime = require('mime'); const sharp = require('sharp'); const blake2 = require('blake2'); -const logger = require('./logger'); +const logger = require('./logger')(__filename); const knex = require('./knex'); const upsert = require('./utils/upsert'); const { ex } = require('./utils/q'); diff --git a/src/releases.js b/src/releases.js index 8f2c1b22..54f5a6bb 100644 --- a/src/releases.js +++ b/src/releases.js @@ -358,7 +358,7 @@ async function storeReleaseAssets(releases) { role: 'teaser', }, identifier); } catch (error) { - logger.error(error.message); + logger.error({ label: 'media', message: error.message }); } }, { concurrency: 10, @@ -422,7 +422,7 @@ async function storeReleases(releases) { ...releaseWithChannelSite, }; } catch (error) { - logger.error(error.message); + logger.error({ label: 'media', message: error.message }); return null; } diff --git a/src/scrapers/adulttime.js b/src/scrapers/adulttime.js new file mode 100644 index 00000000..d6a1cfa1 --- /dev/null +++ b/src/scrapers/adulttime.js @@ -0,0 +1,41 @@ +'use strict'; + +const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma'); + +function curateRelease(release, site) { + if (['bubblegumdungeon', 'ladygonzo'].includes(site.slug)) { + return { + ...release, + title: release.title.split(/:|\|/)[1].trim(), + }; + } + + return release; +} + +async function networkFetchScene(url, site) { + const scene = await fetchScene(url, site); + + return curateRelease(scene, site); +} + +async function fetchLatest(site, page = 1) { + const releases = await fetchApiLatest(site, page, false); + + console.log(releases); + + return releases.map(release => curateRelease(release, site)); +} + +async function fetchUpcoming(site, page = 1) { + const releases = await fetchApiUpcoming(site, page, false); + + return releases.map(release => curateRelease(release, site)); +} + +module.exports = { + fetchLatest, + fetchProfile: fetchApiProfile, + fetchScene: networkFetchScene, + fetchUpcoming, +}; diff --git a/src/scrapers/gamma.js b/src/scrapers/gamma.js index e5c433b2..5137ada4 100644 --- a/src/scrapers/gamma.js +++ b/src/scrapers/gamma.js @@ -7,6 +7,7 @@ const cheerio = require('cheerio'); const moment = require('moment'); const argv = require('../argv'); +const logger = require('../logger'); const { ex, get } = require('../utils/q'); const slugify = require('../utils/slugify'); @@ -71,7 +72,7 @@ async function getPhotos(albumPath, site) { return photos; } catch (error) { - console.error(`Failed to fetch ${site.name} photos from ${albumUrl}: ${error.message}`); + logger.warn(`Failed to fetch ${site.name} photos from ${albumUrl}: ${error.message}`); return []; } @@ -88,11 +89,16 @@ async function scrapeApiReleases(json, site) { dislikes: scene.ratings_down, }; - release.url = `${site.url}/en/video/${scene.url_title}/${release.entryId}`; + release.url = site.parameters?.scene + ? `${site.parameters.scene}/${scene.url_title}/${release.entryId}` + : `${site.url}/en/video/${scene.url_title}/${release.entryId}`; + release.date = moment.utc(scene.release_date, 'YYYY-MM-DD').toDate(); release.actors = scene.actors.map(({ name }) => name); release.director = scene.directors[0].name; + console.log(release.url); + release.tags = scene.master_categories.concat(scene.categories?.map(category => category.name)); const posterPath = scene.pictures.resized || (scene.pictures.nsfw?.top && Object.values(scene.pictures.nsfw.top)[0]); @@ -159,7 +165,7 @@ function scrapeAll(html, site, networkUrl, hasTeaser = true) { async function scrapeScene(html, url, site) { const $ = cheerio.load(html, { normalizeWhitespace: true }); - const release = { $ }; + const release = { $, url }; const json = $('script[type="application/ld+json"]').html(); const videoJson = $('script:contains("window.ScenePlayerOptions")').html(); @@ -325,20 +331,7 @@ function scrapeApiProfile(data, releases, siteSlug) { return profile; } -async function fetchApiCredentials(referer) { - const res = await bhttp.get(referer); - const body = res.body.toString(); - - const apiLine = body.split('\n').find(bodyLine => bodyLine.match('apiKey')); - - if (!apiLine) { - throw new Error(`Can not use Gamma API for ${referer}`); - } - - const apiSerial = apiLine.slice(apiLine.indexOf('{'), apiLine.indexOf('};') + 1); - const apiData = JSON.parse(apiSerial); - - const { applicationID: appId, apiKey } = apiData.api.algolia; +function getApiUrl(appId, apiKey) { const userAgent = 'Algolia for vanilla JavaScript (lite) 3.27.0;instantsearch.js 2.7.4;JS Helper 2.26.0'; const apiUrl = `https://${appId.toLowerCase()}-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=${userAgent}&x-algolia-application-id=${appId}&x-algolia-api-key=${apiKey}`; @@ -351,9 +344,31 @@ async function fetchApiCredentials(referer) { }; } +async function fetchApiCredentials(referer, site) { + if (site.parameters?.appId && site.parameters?.apiKey) { + return getApiUrl(site.parameters.appId, site.parameters.apiKey); + } + + const res = await bhttp.get(referer); + const body = res.body.toString(); + + const apiLine = body.split('\n').find(bodyLine => bodyLine.match('apiKey')); + + if (!apiLine) { + throw new Error(`No Gamma API key found for ${referer}`); + } + + const apiSerial = apiLine.slice(apiLine.indexOf('{'), apiLine.indexOf('};') + 1); + const apiData = JSON.parse(apiSerial); + + const { applicationID: appId, apiKey } = apiData.api.algolia; + + return getApiUrl(appId, apiKey); +} + async function fetchApiLatest(site, page = 1, upcoming = false) { - const referer = `${site.parameters?.networkReferer ? site.network.url : site.url}/en/videos`; - const { apiUrl } = await fetchApiCredentials(referer); + const referer = site.parameters?.referer || `${site.parameters?.networkReferer ? site.network.url : site.url}/en/videos`; + const { apiUrl } = await fetchApiCredentials(referer, site); const res = await bhttp.post(apiUrl, { requests: [ @@ -394,7 +409,11 @@ async function fetchUpcoming(site) { return scrapeAll(res.body.toString(), site); } -async function fetchScene(url, site) { +async function fetchScene(url, site, release) { + if (site.parameters?.deep === false) { + return release; + } + const res = await bhttp.get(url); return scrapeScene(res.body.toString(), url, site); diff --git a/src/scrapers/scrapers.js b/src/scrapers/scrapers.js index 4cfd91fc..4db485cf 100644 --- a/src/scrapers/scrapers.js +++ b/src/scrapers/scrapers.js @@ -1,6 +1,7 @@ 'use strict'; // releases +const adulttime = require('./adulttime'); const babes = require('./babes'); const bang = require('./bang'); const dogfart = require('./dogfart'); @@ -51,6 +52,7 @@ const pornhub = require('./pornhub'); module.exports = { releases: { + adulttime, '21sextury': twentyonesextury, babes, bang, diff --git a/src/tags.js b/src/tags.js index 4d397b5b..494b0eb1 100644 --- a/src/tags.js +++ b/src/tags.js @@ -1,6 +1,6 @@ 'use strict'; -const logger = require('./logger'); +const logger = require('./logger')(__filename); const knex = require('./knex'); const whereOr = require('./utils/where-or'); diff --git a/src/utils/upsert.js b/src/utils/upsert.js index eca86605..50c4f6e5 100644 --- a/src/utils/upsert.js +++ b/src/utils/upsert.js @@ -1,7 +1,7 @@ 'use strict'; const knex = require('../knex'); -const logger = require('../logger'); +const logger = require('./logger')(__filename); async function upsert(table, items, identifier = ['id'], _knex) { const identifiers = Array.isArray(identifier) ? identifier : [identifier];