結果
問題 | No.148 試験監督(3) |
ユーザー | te-sh |
提出日時 | 2017-04-27 12:11:56 |
言語 | D (dmd 2.106.1) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 29,095 bytes |
コンパイル時間 | 1,063 ms |
コンパイル使用メモリ | 267,052 KB |
最終ジャッジ日時 | 2024-11-14 20:00:14 |
合計ジャッジ時間 | 1,453 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
/home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/format/internal/write.d(143): Error: cannot implicitly convert expression `obj` of type `const(FactorRing!1000000007)` to `int` /home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/format/write.d(1239): Error: template instance `std.format.internal.write.formatValueImpl!(LockingTextWriter, FactorRing!1000000007, char)` error instantiating /home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/format/write.d(632): instantiated from here: `formatValue!(LockingTextWriter, FactorRing!1000000007, char)` /home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/stdio.d(1759): instantiated from here: `formattedWrite!(LockingTextWriter, char, FactorRing!1000000007)` /home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/stdio.d(4277): instantiated from here: `write!(FactorRing!1000000007, char)` Main.d(31): instantiated from here: `writeln!(FactorRing!1000000007)`
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string; import std.bigint; // BigInt const q = 10 ^^ 9 + 7; alias FactorRing!q mint; void main() { auto factTable = buildFactTable(factStr); auto t = readln.chomp.to!size_t; foreach (_; 0..t) { auto rd = readln.split.to!(BigInt[]), c = rd[0], p = rd[1]; if (p >= q) { writeln(0); continue; } auto d = c - p + 1; if (d <= 0) { writeln(0); continue; } auto e = int(d % q), p2 = int(p % q); if (e - p + 1 < 0) { writeln(0); continue; } auto f = e - p2; writeln(fact(e, factTable) * fact(f, factTable).inv); } } auto fact(int n, int[] factTable) { auto r = mint(n < factPer ? 1 : factTable[n / factPer - 1]); auto offset = n / factPer * factPer; foreach (i; 1..(n % factPer + 1)) r = r * (i + offset); return r; } struct FactorRing(int m) { long v; @property int toInt() { return v.to!int; } alias toInt this; this(T)(T _v) { v = mod(_v); } ref FactorRing!m opAssign(int _v) { v = mod(_v); return this; } pure auto mod(long _v) const { return _v > 0 ? _v % m : ((_v % m) + m) % m; } pure auto opBinary(string op: "+")(FactorRing!m rhs) const { return FactorRing!m(v + rhs.v); } pure auto opBinary(string op: "-")(FactorRing!m rhs) const { return FactorRing!m(v - rhs.v); } pure auto opBinary(string op: "*")(FactorRing!m rhs) const { return FactorRing!m(v * rhs.v); } pure auto opBinary(string op)(int rhs) const if (op == "+" || op == "-" || op == "*") { return opBinary!op(FactorRing!m(rhs)); } pure auto inv() const { int x = v.to!int, a, b; exEuclid(x, m, a, b); return FactorRing!m(a); } } pure T exEuclid(T)(T a, T b, ref T x, ref T y) { auto g = a; x = 1; y = 0; if (b != 0) { g = exEuclid(b, a % b, y, x); y -= a / b * x; } return g; } const factPer = 200000; int[] buildFactTable(string str) { import std.base64, std.bitmanip, std.regex; auto buf = Base64.decode(str.replaceAll(regex(r"\n", "g"), "")); auto table = new int[](5000); size_t index = 0; foreach (i; 0..5000) table[i] = buf.peek!int(&index); return table; } const factStr = " BmLs0yFd8pUoe+mUJmUUASY2ciEVrBawICLlXBJ4Aogni/cWInUI1y2lTlYi6rDiIo6lqjNdMGIAWP4lDnf9vDWWJ5sI+B1eJWxlQw9xQ7Yges2pNhXUKxkmuUIQoIVn Og8W+DtsfkIcQCbUHJsAtyzVErkS2SXNABgJkCUCKnwYLJ88OQG1cykiZiABdiwWIlZEejdsuDMA3BFdDvuTByK3UcINHkMyBdzgZi2Axjs6bW93JNeGIhfEB9UtkCR0 HG5sXSiuG3EJGKnjFJd1qhgFqxQIZWrYCAYxUBY9dBsbfLU3FaZeJR9ht3MFt+BZASi/4SLUAech8yJ+AIoFUDed8bo5K9VtIVMiGwC92/EeTQDACflKWQSAoBoQb35i CDeBLwOYma0jsTWiAdxwNy26vnchoNxcDTyl+RQH4UUlrEmMNWJsmwo0DRUyu7CeDtOKrCXa6vgkD9IBMt4TOCCMB2IlV5f0M7PxAzXu8Q4cV5RSEc2zPRE3ZmQDHgLL LFJ5OxyXw7oHfOWbHUWcfCeEFr8W+Z3bHL6pBxdwF3sOn57+HElSfAuuxAIs98xTIFkMhSG48D8fQE4vIIXu1wN/ZdMvN7XdDrdidwX04NovBlWKKEshnSRmVr8ADskn I3d50g6XpvsegBM4NcrxtiLzAE46XHRTOnObsxxLWlkBzBt8JhATJhkW6gsVCxp2EMhNtDbsXHk0jmDiMq4SUSpiymw2ye+xMY7NeQEobUk2Pm50M2ZZCBF94O8gXNgk MrGZxArXtrEdmHrNIrtWWgoPCmMEjv3MHHgxrzdxbAc4IY5OAbQgGQ/7P/Mo1W4QAzTI+igaZEMisCCAMjP8ZDh6MSIa4382E+P5Xia+WuA008dAM8lIoCSSScUpd5Kz Mtty1hzt1WINsuIkMUzQGB1eL+cRs3kCG6W/3yawVrAMNd/RLUz5ADgw8jIgbfBRCxIY2yDRTsEltJvBKh5PFzWJQpcy84twEcAdxyORXPMbzt0TL59G4CxPs6cL3Hrk H2Oi3Di/EjsE8VwMNxPMTwFq0mM3Fw9OGt885Sskj8Af6sLDAzeZdB7XdN8Dz4eYCVR4WjAoANwSNp7NIIYl/gHCCZQrCMmOAvKkYByiL5kfXmn8CQHf8xHTryIfK8MJ FlIiTB0pZOcjKB3cE0nQpwkkmVcP+91AAuEFAwVjJH4KTSMLL7gEqS0hIy8KF+dcC3reexfDrW4oPWwPCFWqJggYwlkcV5UrH50Ybh3CoqsABlaQBtd+piJdeAYRjwzl Ko7fGBtHujs0J7pLDy2yWzCBsCYKRbOwHbQZ3w9jXJACk3EUBAOljTY232ABABisHY39iBgCaRMdputrBpTymBpViSEirXkIIXcuIwu1i+EYHrffBw5SlDZIKAoytFDc Kwmu5S5e34sAv8ehLJaUGQOV3u4NnCpQGdM5EB8cUWkDHzssKdRN3BhNT5calHElLN1s9ADoICwmyePDLXKDYRfHzcQwKkOmAlmdQgCDPKYsfz9VIvH5eycXVZQJFO1y LDDEZTBhD58YwdMMFwr2XQXUD5wT3MmRLmskDgxDZbAiBr0SDm/cEA0I81wBoZtzIYMGnDris58ynPjqKUjPQBohBVYZKq4qMmAAtzSlzi4OiJuJA4tuzC2nqGkFU7f1 OftvxCO0ocUAWyqNE1Dm9ArFP+gxq8wWL0+/Ey2rOwIb7mbjMGnujh2AH8YDhnbGJCO+hCuhdKYl2dRhLT4NbSELuIkFKY5NIWBqiSdE4gIi8yR5IYcVRTUIhMsrJ3xV MBhMOTtSWtYIFso7FFJawynHIPYTWb8tKw+CtAOP1vgWIQeQD9loSjKukDsDrfYLNOWiDiVJDOwQrykaJmKrSAq79rEAj5H+LwVWPiWdAi4VV2yCKpYJGTSvVqEwL2Tq H4CJSBLXOMQrKpAtIHKDiTtsS1YEunkPCCROuwPfZ8M3cSU8IuIDwxkncNoDvgY8Fk4ldgKoxykAGXoMAoSNqQN+5Ks3aZegElq82BWQbiE6HFnlBm6eWw1u3YMp6EQq HKejXQAjBr00fWl+L/5S8As5nFMjeSysNz7ddixHA+8nvbKrOgkL8THnHQQOicXcKYw20QNnDv8b/XCFC+oQDCa2dTMQV2ETIUX2iRwL9YUfZnCADpYKyhiOJ2kDOTVP GXcSByKNYrYs/9KLChtHXhAi3LYjFZnjCKqwZRyIoT4RfPP4JKGflBMwlM0bXqfvMAPCUh5UH14SIii5FSwRfB/bsq44depYDXf4MDrHV9sp0jpvGjW+ii1L1c8U0o19 AutjNAyqAx4yF3ZxD3bldTqf/VYp+ppFGmL8HTWaMiYHN9/RGC2Wth6d/uc5UtI3Dg73GxDNADcQHiAzL5akBxYGlWk07pQjNt2bQRHKqeQtFrOTJXKwyScbi/YOwTlJ EZAHORiaQsYdMtw1K+bc2RuJbC8f1KoAFc+w+iRqbKMaR6QoDxgevCiuAsUfIblwMgamBQUgHdURK79OJNWIbTEvrX8Gp+2rNLYBHAd/j4UwA1jRCwOT0BlWabQDWyYg N/xExzZhALcy90FlLRtPUToGG3IqHIxDJbOCHTV+d9I0+yYTChEVdhimS1Ea1Ej4KPVVnBTaTeAv+FvJCYmm3QPWsPYgl37CEiBCnTdOVRoz3qnhKCLcnCBq8/UE/Pk5 NDs+vxHE6SYnWUZZLOJcgjr72XE3uCFDLT3FvSCaELMX4k7AAZZoZChRIGMB1DQLOw3D2DqEt8wHTKivIc/4RSv1ico08DFCN9eyMRTmQL4GsMnRO4iX0jhWxJETWXbh OaKbUgKtlFcrTq7rMwpKggOnzqk61eBwAll4DzCtidE6sLa1FmijegkSaDgC00mNIjSupxM0YLcGuiGnFtP7PQZ8dBQdrjWBN/hL6g94sxYCZKg2EMzkairtXAAYtmqb CExx1zln6V4DlheYI6DVvi+Lhngezc7fOQkxWilIyjoWcPPREOUsYQoQJrIEwnUNGcufqhaQ11oKEfLnNHFEWRXG2HMA2TfSN9TaoyP8iZkNC2nJLxnrZC3tE7ALbF7/ AjaPFhCEypIuxVsdF9wHUTlhjhwMrPY9HRTy0yg6pl4pjGMlDqDNhBO6bR0q+nPlFek6pBkksiohaDemJP7d6yn2a/4zOJd+DR6XXjdpBB0PYURpHNMPsSxbRJknaX4R FZPDgC87irAkZbNjBm4h0A+awAE3IwU5E78G/DtU8O8WbakPCgaW3gPPQ/kroK5gFK2LgTLCT9wv0NFpLf+hTDbuS9MSfoGkINioqiBtw5oAZ+36Lz9GvhpMvMgd1BvT N7wzYwvgH/QHcX46DjEQzyuu3oIizqSaF3h4PxlECI4hy8mqLCAm2AyfUxQFXBbCCMYytQsvZIk0CwmGLMbiXgZkLZku8OS2JvNLMSpaiXk59gRyEGww4ipkO80org4h FqKH7CUqYRoxw3HME9Mt6QVafQMqkMPuE/ojhAEP9sIbwfvVGrEnuStowHwOgBj9H8Tb6iB+h9IquH5JKQOSKCEQzm4u6ndBHfVbSiBrf242Gi+hA5RMeDuFHjcrmD0a FODCrDH67HgvjjJ1C9bxYQsuVmcetO+9B4zcoReY1R4bKq1bIvQM5yaSdTc3wuxNCkcMAi6JJcIapaSYD87UKBg6Ni4Jgp2uMatsaB8IjBUv2lU2E9ZZ0jTk9PYA2Ni+ JB14gRk3qeoiZUvbOdHfax6W58kCa5/HFOvcrDFyyFwO7KFJCNsdJRrPax8rY2fVK8+P5h0WRhcr+P/+JcrCmCxcA8ki5tLvMwl68RcOF4wRq5U4GktGORR4HOoE5NIX MhzUeR94ufgtZ1zSOTS8uA3X57ALWIDEFaVYQgp4h8czbOzrHplWASqK+Ksv5+XYB6GBMjSPCCYOjNA1CCkIkxYw4jgJRdBwDtwZagAXzMEXqsDlAYh06iVT2DwKlY1R KXIjJChlrhYvUIdwIrBDxiaKt2kPlGfvDxZCkQ6ikdMtKdmPBMyH+jKa2esaMou9Kn2RUwWKqxgD3YxaE0PbISeUBJwRyH2VDz3djzhjd90skHMPKm1zRykyIgQRCREp F5FG8xp4Sj0FqjFkHycYlBaGbYwPXD4wJ0r3cgGRUqYE8oYDM2pyKhxQzVYEz9byFDlubTYXpNMNUwfKJJkQIiH6BsgQqCSIL0/tnRmh0WYIlMAsJ6LuNQy2u8UehTEH K9ULbydsV5sxUFeOMI+qYR+uOc8QJy/aJlJgWgutB2EDQBEZAIYqRAhrzRQIeennImE/OSA8miwV/9nhAJ9JSjSIIkQbSry4Gr30qCUBcoIVAouWERIZWyual9MXrM+G FPuWpRlMaSEpJabHDLEu6QonmJ8Uw+u0Naa2piCC+xceWDD3ITaAPBAKb0MERpg6OeMnmjFTVH4IisjrKDOd7STUi0AVQKN6KG5YUARQ8AkrXa7bIBiMxwguAH0oZQ1j Dpr73R/Fe88PCwphIoLbBRFFQ+M2H+m7BOCjzDdF5i4qv4UOA/U/qiL9hgczjSBtN3CNqgoOQxIhI3aHFKfIeStHSkIzj/J2KTvzKwuj5RAeGkrNBkfP+xL1u/IO9s05 BcousQ92fJcks+ALAt/gSwLsh00U1br8GjL3uxpXFXMusLAVANv26C7L4QMpo3dRD0eR1SVrPkEaGYQ+BPnyzRqFPXAn6yOMOLn8NAD+sMwD8tpHBolw4jmCkrgwYv4U Apqv6AMcAhcwv6ReOwBSoDQL9sc4O3bWElJpqwGTMS82JXnRIeTAYi2HFg0gpLeoKgyXrh68kBAGJe0oM7wOBwiHBD0D6lOQETN89Ds2VVYBnOZwFNzU8g7hzngc1jVT JP4bggrdan42rnnYK8/9CySVKxUprMHPLmi32hGotfUKS3YDOGlZaAPUB7MSAiQXO1+gMQHEeSMhx9MtKD2+bwd+6BwBXy80BB8O2gV7QeMsh040Kivg7CPj6koznUu4 Eif5/hLSm14Ew1Q3LJ43Qhp6nS4oZkzwBEECQBLV7a8LKrZfKaFUrCMakUMm9bWSD6HR4gaMAOMihe0COjhNlSb1UEcsTxEJIjdcLCUSnF0mavhuJ+2SECcdFRIGSvCD AcKZgwOmn3Qp7SMyGvV0ZhIhUlY5WxvDGmvSpDXP6D05kefpIFTb2wNzDXAcz89dM21QhgjAQ5gCDwVAI9M7Ayb/yAk6GIc7HSAUORNo0i8Ltj9WMeV50Q+ceNYdup5m Ghj0qiTCyhgKjXfoLo3N+wzTvaclloSJD/XhyTFdtIIwlY/9Dom38AGZwTM4oVr7OK4mtgF3I2M2P4E0N6AyxRe/X/okj621J9HOWwHeum8kvQlCLkImly8qHOYLmuxN EPIYlQ4+ar02fn2EFnCz/zfok1cmVnhFHnrpqgzvVngO1NOgDM37izB/vzshN7+BBRGOtQRkvQoYVZIBDcdBTDZS1oMSpBtuJZ3EZRY4zUc1SXGoMpn7YRXJj/YYRlL0 McyzXwOwNTg5KRCgMPtzhCKTIvwxNNITHS1oGzcksycIVxJNMfE/bzqD9BQ6EEiiNoF+NgO5xgYjudVYKAPgeg8cI+srMesPHWKXeC948IcWn8OHGxccuiX1EK8oCvxx B/ZF3BPTVV8C4qIrDjDrXhExc34i0DSLH1WxrRuZfoc4Zm8cD+OZrSejr3sUlnpYFGNQPzZB8+YmGpDlJ8AAIAvF3yIvty0pBtqKvyi+cGwrW36NGq7hxTJsYnEdVvHZ AusKZADiy7E6jjvcBQK/9BrYXYEfEyDPIqY40x4NgnQwsnRHMcL3cRr4SyEvisfeF3vuhid+B9Qterf0Klm/9iIzPlYrDrdvBY30oBX9XPwuKyJeB6NKOANukOMoFSno HFxS0i6EpUA4/SBvAdtywxQzQpgsJJTyAc7BAQuwwf4mIIwFLrvrYwKvkgIMP4Q+JFpM6TUMy2MqLUOxMAtPLAMU13MsyTzlLrwHZjRkzDUbrwyODVopwgxTT3cA+3xz LSf+ZwpCRY0G4XXcF45LOCBrG2IoZGPUBH0athwwemwQ1uEYDScqYiyAZN4G7gRpKTZ6rDsejT4EXLfOMd9ZRyGHXQYhN2ZSMwmfzy/kR6oWoBRlEAYnvioCv+QZJ6Ju GrOyziYSWWUKW78/N85qHh6TxgAjy/gHNdxQNQ6FaagAm+HHEdd0ZCxxtvUxzJlDA6t9UA7wnAscGA2yJyg2ES1vo20ctZFDOXjadwm7/hYWbDfqBKR1YDfs2Y4KI3KN OUuirBuef3MmkkB5Baxfih8Onfc3UivnFU6z7Bo59t4FbZb1I5Cn2R3wRScBqNYcMItNDQbhZ0QnUpulIcjB2yEhzOw4440jHYFw4SUQiB8Y+a9SCzOXUjipOL0IG5mB JsS9GiMPh9cF7n4xASSo2h4wh1gVNczJHEc63QhvyuUBwB7dKlzfyAuakJQN6jyKDeAFEDp97xQGxPDoEAxJlS33v+Q5tdWAHMJuIRXWlhkBIA5QMz2IhDYqhoI17EWz IamIuy0mYxovE13JC7JM5zRTR54QG4eyBPjHewJgGCktQSGSO0kXfRCEfbgFdpnOIa6zpi8osHUUJKLYBMLILgGNz0Mkk49mFhtJJihw0D4p4/x9I4RtnjnOG0MjXzLS MmE82Aay8wERHlKuC+DiBQRc2+cAwh/AK4gg+QiLZBQ1jP/aOTwuogXDWlwGJIX6FUlaqw0qz/g3NcAYEGTwfChoq+YnxmqQKAdAaQOMmZEujVQxFDvRkjTdzOQ4//zn D+z+ehzPGU0J9+MRHAD6Yw54tV06lCR7NXfy8QZ0tm4YGvK8DLmvDxOjrXkLl8TfMgNYESxejScvrU0QE1DLGQBJrygckhAqA9jODA4p1IwDcf77BH0Z3RAzK6QV476Q GshXjSzCMfcBpJMcCBOJPApI3Twvf1ftIVH9Gha5lVEQjaJHAGNQXwrh8Lcmt+4ZFf/kvSM6r+kgotM+DCVLvQ4nsVw0t53UMGCbOTZ1gcIKPmcmJ17A/yNvEUgVD4jT KgyBrSJ9HTkL9JeBAzZANTUDU5wD5abUByNOGRqBGDgzJq4TMg8U9itdMEwVsFCLGwsKUhq8YVcLdvRpNCIoYh7FYJEnC8jVIpDXHSvihTc4ParQBtDrKxM7+cwFEPBz Etx6ThMtyiUlFq+kAf/PBBQLpoQM93evLaEFtx0fAqA1vK8KDWB5yy759HE1JuDSBMGluxEIt68dhnzVJOOkyyHA6WI0RRtCNUCBSRQZroUK6IiLC/NrwgcgtlsEeRiG JwAq7xazb18CczizLnmHCyAElrIY0CyqO18/sQcC7r4sYoOdJ7I69C5NfTw1jtupBdmm4Ca2j9ckzGzgNn70dxP9Fywf7lm/A2XuRQp+5SUHznHVAzjvZiKvl4ULyo30 BjXegDbXbzckbvYVEM3WxyP5T9wfAR67Azz/DRj++s47mP/tJFt4Fgibzysu95MBOYtKXQtCa+wnhcMaAULUgA/FOIIJj36EBv6O1hXIvz82F32wCGfafgkE82oZzNDc OfhMsBksa243j40pOxA5IhwAe1Ygsa61ItbBVhbwExckOTy7KOQsGCHojsEPDNDSK2VosRrdakcIShu6GLwsFBJtJ+IBq8fVClgAPBRZ+ioMhz6ZJtTRmR9kDkomrtKJ EcU1ShNYvfgQK2oNAa6IaznfVioEXPPyGiQ7PyupkwABl/C2HdlOBDWSzaoxto+UF3QBZhox1Esuf7sdJSVvECrpHi4hQ2xVJu0XlwJT5HYTP/+8BeRVGCkmHcktT4I7 EIESGTDq6Ows+yTaHxWajTgHVnIbcL0iIo7PfipPFdYjPvIqDLOTrCbOtWYlnOS5L6ZTzgxBgV8T4RtKG4ClWgvqQdgCt+gYJ6SsIyaozjAVYVcnFeRxJybDDxo4sJjZ EjLATSZdJhUCgoMzJThD/R0/rrMiWKfnIWED5yxqdVk1bcgrLxZr5yoXFeUn0sGFD29E+yLo/RAwS5CMB+lixijuF9sLSmggD1C6xRiQK+gH2jfCKCRBvTrZW5QMgytv OnnZPSwWbpk5FFRJOSm2XhcW0fMUHyusGlxz/QvptwsTqB6UFVL3zAL8FO8x5D7ZIZVLNg5P2FYrrZLQLOnonhyRhtEyLNhWE9REnyfznE04foPiACteaBb3rLU5oWq2 Iqf8RjTW2HQXqln6HhkefgdfaUApoBpaBXT73gXq7tA43dHFEawXKCl/KPsJqL00HoPAzAeokC0nhUAQE2LTexr5zyQTmYFDKN8RGQHQUYEBKAY9D76KWQONONsR1QHJ Mcu1vhu2ZXYHk+meAgZcFCrLbj0v0S32F33hUBfoR8MBoe8KInBSrQIbrgQSHhLfAT++uiMFhPYTAtIYFNdOpQ0x8P8aZ7zpOrrhEi4WMmcxv64RMwlabiEUoEkIuFlp Eknk3Bgq3c84ED2FODE4XR6GSsUMLjjDKIp8jASPbdc1cieiB4Sf4iIwUioPAFhBIvbP6C2CRekyxFz7AdisdAb9xL80BCjgKgXdpglCYcca2IeUJzw+CB5/NqsHUYsB IZs8+BWlkx4kpm0KFNWUcg7c6VUIKlvDD2aOPANHOUIBPg0IEJp4VyV2quQcMGyBNFUTszQUfhYOVsKyMmyyRAWZaWsqyxvMB9h2Ui2hHcMlZvwmIwBGkxtrHHQLJfjW GmhB3wKP8LguRNqGHpDV8Smj3IE3fY5XJt/i9i9IWBwjtr4ZBsfAEhSDc4M2VjfhEWN/+AsPuE4zubgtEba6dCO8lsQfHdi9IcDgUxy6lOc3cUCgAzfdHSKSBn0sY3W6 C4X6LQd+n6UTMs7IE/4MJxvop7Qg1LOXN3RgMQTO/WsIhS8zFLP8QQA4JKIPqzLiDOMqpxwiVg4tVJ0yJFqJviH6pJsYWyRyIWAd2SQAIi8pau5PEDA7aCnb6ZETzAvQ Mn9k6QhWTX4SUVgbHkfqPx3D48QdxtrPDLVzZxqDHIQi3a3XG7E4YBEcgRAWwgtmE5m1OSSNGswJ0evnA79SohQu0G8ygNveDcgPNRJr3Dc3BLm6LCyDHih/9U04Q743 BSILCApZCX8LdNOuMu9YBhu7/HEilTmtKVcRYA03NzQsVYq/Nj77WSGaoDIGvFuUFdxN+St6OXIrwT8VOOm0LQU3s5Qw+EiiJHtpJCS3x1ElOkuICu4iVCpzzQ433rOH N2nrYjVh7Cg4iYTtN45Uqx1L45oT59x1NPIxRjY03oYlGe4EErDR1hegiy8x4MHUBGiXBwwhmeMQ9xF5OlKVBzcyM683UVuJOZw2MSrSoTAoTFiVFwJQBC3WQpsY6F1h GQBKrwBlC94K/gUdGYiGKzNoXw8kxLx4BA4QAisqf90t+Vt8BqtsGAYE1sEdEJelGAqpTgvIYl0YDQuNMsJkKgfqZIgqoc3OKdF3+ybXpyEt6/CUAXwgciq8WkouiN28 JeY8jiMLSugZiGJCMYF1mBYhsZAmBuR/AipwsynqW6AW2guTOwiz0ynJQiQXwnS8EVzDXQQT2F8uCg47OaoNdB5ubv8nad7bAGbA8RoSW18KfeCIB8V48SjQdT8LR49U EXckuxoVazkfYgxuHBUs3gQShLotlf3oDKNaJQvcm7woCRUtOD8BuRCu86krKbTxI8rejSFdmu8YL1XKHAnpCw29PDkh1c1+HPuGIjBXu9wWCKdPDZjyIQ358XAYhGpd CrM6XiRH7DArzpbfAuE23h1CmQQxLofBNsBwMRyWiPUydAXZLWnz7xR+FcsaBUK2DVx00h2nfoYcm2cEOrcy6gEHyvYapPc/EdUrygiyWcozxRFDC4gYljSN4pEu6E6P EnHp0QjaXekOqhL0C2aBiRmoXAIGBBbICZPY4SOHqIMUJ7OjD85xixq7CPE0lIWBJYXpOQ7QPRQnA/tsNX3QciNH68ATDVKzKYDikyRz8hYWMQkpKc82xTljcsMzSBcn KtCRgASJ1kMfkvwZAXHlEhiu95MTFILMFBHzyhIC22YHihw4JJdTyDcYPrUwry+qOhuXGgtscz8osu6PIdnG/y9RNXoOXwGoLWK6WAubiHQlEUeLGw/UdS+dLhMpL2Vw NeF5EQyJAgEfK0ULOA/r4wCy4uEx+Qw7CP9+zQlkm0cAsYGzDcCFCTm+pNEgMaXfGqcQPBNkNDIMNaQuMYMraiwvRsIsVDVkFKDxXSARfi0bZ6IuEsrcigNH9G4G34hY AEeYORL/zIs7GEHHHkmA+Rw8YLcM4uxJGdRQzhGSvXEH3KJeDQBjhShaaDQ3mhGfJhvHABRcX6c0XGraChpjRjMFf/UjBamcHcyLTgq6nlgdQ2rWEgToQi8n69oLRIQM KbUs7hKW7aYHOl+gCL7o/wWEHOg2qZhoF1tLWwBJKa0vnhl/GwXCujMSowMgg14KOefcSTCSfjoWmL7UGfKRfAuDAk42/4AvD9X/FSDsKdEwMwpTG+ajCg9TLBwcp7SH C4u/7RkheB4IT0fnMOggnS9oI5AQTcW2BkiTHAr5S+wOqwEuI1xTxwS9Z1EDkb4XH4aKdyOm7P8ZOMYrAelhkxM4xH0RNf1rC+leugBNwMgwQpCyBMBfqxwifkYLflv8 O1nmmy0R5RgqouLLFdP8DCA9ZNgShd5JGgeE2xmWQfonwtM5EpFWtiycp+cSy6EYF7owUCIph/oLLBZPBfA/bwYloGYS3TQSNl6YKiqcSMEOjbtmO25FlRbwP0EHMTnm M8fDUAfqlJowG+/xOAxtBzgkCogVEgbqGx2KRAuNH34337nwCDbyAC0MJsYcs8mqG2agIDgPRQw5G+LWHbi6gB60TEETVAZ5OHp13iBQdPYe7FXjCSh6PCNfp9gxrvjP DugUlQVdJWsihqq/ACRyBCNgdyIs0300EWD8HDBb34UVx+fgO2BC5wI9FsgTJc5TD59pLjc1cvA62TnEChI4BQA30LsdW+lzCDZFHCmUts0qSQDtKjV2MRMGZxgatQS4 JetMKSGdtFYuTpg5AwiGAS/LlPkQV9cSGgrP8BiekgUh0xpYLE94GhjyX4QGHp7ODI96MRrtLfwMZhNwNyev7Tbs1+86yIg/JpDPTChfdOc4yw/nMPMhbh3BvfAlJS0D BC35czVFRxMPFCV+HEBhBSrXpQ4M3x0GABN+fyyzTSUPGH/+I7VscxTDabAVYKW5BYLLUiLCUUcxDFDAFE6HLQh0t8Efg9tzCR7SNhF+ghEvQLiAIq4I3zXRTF8eX6qI AtBiLikYK1063YuJM4dXOAW1rCQ7P9KlJm4wGRSvg/8rxCcgLNXeOQZxSK0GVXofLjY54TBKb5YeiBu1Mk1FdSL1p4kHeMIDCUS/dxXH5QEbQ6rQDcWDtDi3XEsLj5uC IvhHJQBcFjoyS2G0DsMHIzAkSH44fWlTJDwy5hWvw8oUcmylAeKcSig2TkM5EQwhDHTWsyHg+qUjUB+YOpqdPAtsPRQE/bKUO3RCEDU/F3gmqzfpLYKqyysVlVgMeNDy GysFJCq6RaQlh/KtBdERvxatqnYvUGPmAeAULhnfggErDNsRCOqEJzUoOykSGuCXGC4I/RfbZTUXaj4uHsok5y+D+Dourr5uL2V5lRJtBNoy+LNDEbEu7jILirMwXiSN Ow4aXh0bZIgC2u12NH2fTgUR6d8PreAZBv+Q7jq/1aY4bks3GPuFWRNko1EjEvHUBvUVPjg0mHs6svdkLn72RjhX864b9X46LzUCxDYInXcg2AXQDjDZ9ikW2R86727y ESsR5zsOzoQG3d0RC9+ctABZmIYacD7zOwFcgSrKVxAMlnpBL4ckPCzx2KsJRc8XH0+cBwi86gU0cnuGM7HT+yORf5gGn/F2BvZyGgfFILMD57VgKmlxTA9Vq7UvuMhb LKIhmTQ9TAMQBj6rEQhFGDZ6uLIUGck7NFxvkBrnaPwuIF/YE392TRw7q8waN4oHFp0/dhVe6A8Zx96VBsVUjAUV13gbk1MkDxBduiW204o24aJ8A0NZNTlUGbYBlFj2 KNwVORGpNPobZZZNJwSVvSB/TPwS+amzOLaYHzJjtiIW0LSqNFACSRBL0hcdFiB5D0vwhAJ+DwwZgBx0Fhz/DBJc/n0qqBC8MkQQNBlPVuQIRl28Oe4J6howrUwoP6Gt C1gfeTiUO3IztHCrBVDVSTJmlMMQ/9JrA0Lv/wQVHuM2xW59N7AB+QPuWXIG54UlGiWo2ROoTDQsLIEhCiyAgCSWdGoOuHuiFf0z7hBlx103Qt+XAqmqMR8mpUIJDeCB J7YhNQCoXrcg9+FFK+XP8RmtYL0TbQYICcEExxKeSsEBshTXKjkNVx9cIaQUIhgBJlaIXg/x6+khyGujDw2hpR6jENg5BMTEE7HM/h2up3gZwETFGGJK+jeYB2cTE73+ A0uvMCETXj82zOn6DvXbWyj/BH0srMttMMJA3zLcx2we1litLP+YhAdpI/ws9q27EUfoExNW134mlfdFC+GkDS9lo6YtQ8Q6AdhVPRZjLaoYuOiPNjFz4wckMYMpxKw8 AMppdzYP6+MQnLMHNFY3iRTj3fUXgXF6AmNr6CrjtpcLkOPCASdsIiZpED4gF39OJXZggy6iRhgwCa5JIehy8wRSVrIZVNPrHziy8yFojpQldPXHMX2/phMsiGgd3Q0u M+wQZxADqUgIdc7+AwPzLgW5S+o3b5T7LVWPADeRuYExmGBQLJIqaBLrWZcNrCfhN93o1wvY91AGbrPVDmnqhAk16JUeu9JzKde9+i8UeNM5tP1OM150mxh+7twF6amW DQmdazBXqcUGclpMLBDhCiorIaEUKP6xEM44hhxLGjIcigEeLIyHDiCqd1EVr078OLdtsTfsJE4SAHb1F3eDXx3OrL8XnILQNp3kqB2in4Yz6CBhMBUE2w3Xbhs3T4Fa AExX3xGSf8Ax274cL2iSwi8M3owrVRtzLaoPYiHy4WIXnY0dA4UE2hbOSEccb42dFgmBtxRsMH02TrkqEagZUwUk2qckVzw0AN5cOCUI528K9envG/s3qSWYQ7ccdnzf KNrgkintABAYRar2AulRlQREweAIW8SRIOjk8zlVwAs5HYXvJIc6ejXXCQYrrq8PHk/C+xZtUpMxZ5HcGMXM6BTeB2c4K+hFCUpPky+0j+kVdjvGAY00xxdzASEC5/Fb FLCQ+SWsv20zdChmCPRUIC2Ho8sv1yBXIVmSCwzqD2gxviO2NiqVphUv1ykpzEi8IXuOjQZYdnMsZxx3FGF/ywUeeyQVCYg6IfJxNjCFeaodlJspLaCypC69BgE6iUvj A1gS2DmS86sQrqgBK7XHWzevVCMZxpoOLI6SIjKA0Skd/MmuEBqWkAGs6uUhlXiBEp2dYRtpMOEejDvPDGuDDQzGL1Uso86uL9+qtQrz3Aols+5pA7q5Fhr+Kc4A/dNz JVeE7TDFDWMHWW/jFY5SbQrISgIP+6tqHWlrUxHQH/kQniGOBBiOERtqQrERk7DoLaCs/hLJIJk6vvmMAzTPCS3qoZQxUGJvEKkzchgXsdgc2gYBL1Kpuy9GBoUYIo3Y LK/jdBMsWEMxA1p8CwDjugWCjTwF1MT3FWTkeiB9oV4Fi9ywFoyFMCR2lb0MVHMiNlDaOTr8814bReBDAdsJHzh4ue8j5kUeEifOLRcwQygngKL4KbRouiIqKYUS2T81 NeEmEzOEkzUp+U9MBbtEcCCYJiM5IjM5M4zaoQowqv8uMYy9H5wqrxTOKzEKAOaFJ02QbCzsvMsisRvZMLXJdyFU8DINp1frN7DFdyVzJ+IzjzeEKtNsTx97c7ghYFa7 LIFBwConhVcFce0PJzCZ5A8CcFoRLZO1IReEFCRJ6h05gjIbDtsLKBG0LYUPqZ3CHDcyQA2qTswl0pISDoTqyRsIBZ8W+I40IFPbRgCSOYkzZDsHATXPmgkTaZYhf5B5 MYNZnCXqoxMNedG6KKLJMQbm2UYhs5YGB96SWScxojgCymc0AzPcCQZN1k0iepxrKAJtjhKqBm0E/MvvLpHMuxJ9/rEWlzckA17aaRDRzu46Q09nD7B4AAWpM1UaZIRw AUx2VyWv+Os0+u+aG0B7ry97Z5I6NplYJsDC/SXovOobjnHvD0RqnzQ6AIYQBXzkDRxh3Rry9woJD8TjJP8Qcxv1A3ILIl2dH188ZCXxawIcjYZoFdx/7Cunq04zOLW9 Fvhl3wtsfBwKs4EtARPmHxQIFTMg9p+qNCzRITNzxsIGDfMCIR/MDh1KZ1cg92hFAy7zTDFvPIUYeycyNssAxgiLdc4AihxdHQLhVjA/CEg7XoLmNda2JiL2+/4CCaEF MRz0bxN41xY2qlxoBabsbBKlYxENyYTeCYu0iRabU/EcAjPvHMjfaTU7JCQIdB+JNJzxaxXOppUe993VBqsPRCA8OoUHXo/LMzzL0QqDTtINsZufKVMBsC6ZtHIgL9Wv Lbc1DxFt11ojZsjyNYncXw8jn+A4oLECOoR2+Qse7jgtr1V4AvzBJylqJFcPco1oKQ5nPibKric1hd20BcHqlB8GEVshtC7CLKBqnBGspcEYc8J2DSkaZiypWc0we6NF GTDztQGXyEQJG0wWHvVgfAK+ffEK1Du5JuqG/SnRJRsg2RGmJ4mZFAqCZhYVlFCtETS/fSmFtlwvGqm0L28RbCCYsLEveH/qLjHxpSL988sptzD8CNoEpAv1CLgWGO2j CMBXARCUx+o5++cHIi8QkQnKMrEQheCgOYcETh6yMbIs8ocvNo3V9S1ZPbUd4tGHB8e85Cia8MEbRG7CLHGKMi9O/kYGRT0dHzHigDcEiFwzZPY3GEfCyAZH+f4tetoQ NmGkBAAtn0ofKvwQF4oOhwKCqNouXdYkMqNqDx0f6CAhw1XNDnxpNBup4PUFT91xGUybdi+4TuYz72I7JgYw3yB9hccXkLDLK0ZYiTYcLWQ5CHmGOpZwtztDoHAq3C6E LFjLhx0/IZg7B40ZHCETvCzl1mwlEUBmGwCHWhF1cos1HBsDDjQfnCBXuusbkaFtCvxh9hYGgvMSsA+VAkW8ZB3wc24wNB5bLANvLBmIrloTsEG4L54toSWlqK8EhW1u M2GEuB5LjPgF/XyaJjaIkB+a798tZ8i0GnY1Yim1nG4gDrjlH1JKtAgFZeopicqoMqmWBRrRiGYwBRM6COWn/janBwkwX6n1AVNigx6IuuYBZhOFBrqWAhop4/8nrlYM KZtcuQoNGxQO7e88JCwdkQKeWOcboOLoFSpT7wkyJsM2GrX2LsxsyRz9TpgJAOnsBRFRHgqtBygf1xWGDiwTrxHdvaIjZprcAt08ABy/3Jk1NEwFOznjBho16v4eSA6i EBqsKS4BAj43dSlvBPaCyjBlStUrHlLvAPxqNTBwVGUY+uXuLNsA9gk6+/00r7AkOtIMIDrsLsoX7JqtBAfQHwbbaaYHN0AbN/rqSjKZkBMxPOKoExIc7SKicwUz9SwL LY9WQRl43asOcIOECRUKPhiHFRMCEGceJaIU7x1OUNM40U1VDyu69x+UuzEh/jk4GZAoNSB5Kp4q8kMfGftfHymUopMyoi3SIEfNeiMlr7EBjOecMoP3JBC48UcgsGGO N77KXAxoo6cZowj/CsvjJRUcTjI0H0SEGpy0UgvxhU8tvh+hLbvmhhE1+GMMTFsvC2ah0iOTH1wmjlF3LN8zkRXROnAs4+p3E6r72CApEpIJTxkZB9qv0C4G1dYgbky3 CUopGAueMMsLEL8yD0YlUBwziZQItkFiOl3PTiaqjYIUR6CtItaxfBsPmV8Lxh1xHC29bCj2uPs3RfIlFYEF/zZlUQ0fNvpTF+01TC88Of8alZrqDq6vuRAqKOUAfqlz IBHoFhGZ13oqhelAAX5efiOt4FgzkZFZMpAx7Rz4SFYzOPATEh9A+ABSD6cybM2dMEt6KjDAmwMznsE7CRYG5if4Ah8bhfNjE7ZBJQ4JKBIEnHndMfFQGQpWGgIrLnN7 F/4MyjHRxMIXuLUYINxpYhoVU3EplMqWJP91KjbllrIznyBMKc9S3i7ARtcrB57KOtqaMx01zgolWh7LCTVpQxIb9XEEUmgwLsfqbRDDPV0KSAjmHmzKbDix+y0KzUQb Hm/pph8S3DQEuv95JDLGiixIoA8jlLtrB8mbeB29DUoat10NCKaYCBGgbdM3d1+fBfKxrRvYyyU447ntEhCUHAtoE5YV0ce0H0o1MChe65cbuGsILgAchyZnB7k313vo JD2RphBC0rMpnJ+wAQ4m5AgjX30n/qMvIB0AmTs5LMgrzxlgC4aYgwHoYgYC6QFsD9itNy0rZyMI7H4KNIBaNzizX7047ac3KdKMjhrTEE85sM/YOAWUFBkTruAaaWMT BoLLtTTchM0hoNa4LUPvygFVy1k49iJbMK5P6gLkd084RuHqGogjCxl0mGkLQgQfC/+2Niqmgnsib+xuFcmpFiED5XEc4D/dIYUAmiKgRn0pi5TQDd2lATNdVK4fkpXj OTDs6CgdqacVK3B8E3DLzSO755oSqGxqJVk86RlaOcgK0uqHGyOQLxWBbvcDm1b6FUQveSfXUvksQdmzLLdGfBhzOcoMholWERAwPDBIDTskgj7RHHEHcgQGcEY5jr57 AQ5v9xYGHCc7Sp5VL8nV6QKhdNwjOITfIMjbNw2EdLIYoEmwFXSQtBzz0HkrfOMtFLlL/Q8DMSA3zbqXA+xdOQfp7b4NQunYA5oLEBhQlZkIA1t1BzAGxhrf8M0bbDcf D+0K5COE+FsfpZ9NAv7M/gmVU1EbMFQUA+DRYClgerIoULoaDFnY2htdkLI1YSpvE6hHBTUqx24V9ayiB3Bb0SlClWAszbGzFxmKegZiIcYPork5Cg15DAeYL80HlkvR KYpLkjbZ61sz6Q5BAKLzIR80w6gTTvIEMLFbKTC2sE04cyf/GU8KvSEY+8Ic2BpmNMDZLDqsyV4QaZu7MCVd0AkM0RAO0ePAMcHKfRRio5AXrBqhCfWNbgW7Mvg0FOTQ OytIDAleLeUdODOvIjyosjd+8FA6/EifNGf74zXZz34cOcptIU4T/S6S11IQo4vHFY1VNTKklNwfpQPUALO+xgrYBDUV8PwrFuUsGCSheX4B2UYRC3TAqxQ6k/wZzGJ2 EKAdVCMREIckIj8pFyuHCC3Di3gACTw4Fri7IwFY5DsNAA1MFBchmi3saa4CKMzfHkrzsw7ZxzsnCXdAOUCcfgwhfSkFORPnNjU9Eh1xHns1UojtElp91huhULgTPzFs A8zOmA5w8+8i32RHNFDsiQwUMWwbzj7/Bq4u2Cc/Cpopkj8kBX+1whj95BsKIf2KA5LMnjd51I8iKG1nGxezHRxqpjQ3hIwOCiDxYQDtl68nJoMhN3pPdhT8yF8hqRln BZ9ieQ596nknEbUSLp1kww51+bIsWvN6Fux30i9+93stT/9CH2O0Uguz/QoSRVaYOFxjVDbkicE6E8upE+1pvRqT5fYyqOa4FvlqFw5GEq8Aj61jHNAvNgtltGsT8Mh2 O3CTOAXcsnIiB0K0D6zmVhOAjsILA64bNJQbvjkgt1szLiluLqx1wR05lFYt4iW3GqcyIjDnlBAfiohHNi6CnQ3T3sg3lphfNhcizi3J7NgViyqaNPAImhca3kwVnFaw Ah2ZoiupdqsIM6nZIKpOkAuvUvE3fkMdOttQQSK6L3ADHxh8OeKR5jkbTag0eswaGEo7eDZd0eA5d9JaJmtlEBltMzs2zTnhCWIE8xYoSrIktU4BFhhRLzY02nUNPV31 IE4L3jhGpwkgoaB+Os/6EiAB56sxzgd9GHyoKgHPohMSfxMyOA9M4QTS7c4mp5ZGJ4fXpxZG5iYALXRBJYU+/QP9mkQGwQNvD7bq6zG48NI5saxPBvhgjBjTxz0PT0eq AcHgYRk/PKQyUK1pCbGpNDQ8fzcfXcoHNrtoEQc40LcYis3aKeQ7aiOz8/sO8H+PBNBR9x1y0OEIw9ENHSeaQxsWzTYHsJ6uNQRfvhJejaQ6d1T+FPFQHB7OiA8pL821 CnX7CwI82SgAVQQlBHqpzQvGgyQKv+ybHIBqtSR6m9Afc1RnIOlWGi+MfmojXzmwMhEvXjERvh4XlwS2JCKETwK447s1dyvLBWhcDwWd1gcW67szAUcCFyKm0F0k5AtG HXOm9xBQhfYvyjZZAYWgxgUf+M8V1MvbIvRvbxpdHwcm1YrGJ2mBZTCVlIwoqWF2M9URqi73BWEluyLbA9sHKye54qMUICbNB44FNzrkNPYJ9RbSOHALtxJ7cLUnEH9v MDPN2TbwlpUw0rItJg9pXhwchlIF94bLGU8onx3xks8HTV7NNf4bCiLT7RkvHdr/D51ZbRisuBs4RgU3D1gDey7QtC8xOc56AxYBpjKY+moXnpAGLRZwhQeQuXc5/g7z KrX7tgOYlEgr/jQKKdAiVQ0bNAMFv4GiEDPfJAqVJikSwoWIHXX8dBn7Gpg0ym0LFFUs4hRfJfosfBOVL6PFBC+7lS4yk18OIXBbmQFze/ohTd+fHRto0A2cCbQwmvvH M6Pk9jPTZnw04pZhJrCVBgLJlGwkLwaICqnfEAdvHmsZX0mtAu6K8iP9x8AamnruN5X3Zhsbw/ULNX3TN1g8OxwG02cdgJWIDcx8SzkY/aoHRsP2FB4TKiFJ6sIU725V A9z89jR9H20ETy5ZMWWikQm3kLU3ojOCCOIkKDr1vbEDJlkWOr74JBOo6gorN3nQAEUXuzHmK9c0tvfZFCdSfwfxNTUIyrqnJXWNihW4PeItnESbNNmgZB+SCEEq40ak A8T29TPVgMgVVL7TGWjn0iYG3E0bTRjLOkzqGhiZHG0dsdbLKNWuoQyPW0EltSHTADxycxLozDk5LTBUMChMojohYSUBMwkqBVDcLTEw1ZQb6+SzGfscSijuiSsd2oUY DZy21x5mSwIQ0GOvOpbibDFx08kItlu2ALfg+we53M0cuowLGCbOQSQyiRE6C8vjLTHo5QnI9BMWGeVHBIhx0ivZCIQxVgyuCS+ApDPLEawMaPZ3L7YSKgwAMV4tXdKw EUjVkBHYwUo2ZHumNr9mThbrfdgfaZ7gHtkuLzO/OKwTMsukOvFWnwfiYkU0tmhfBqkRsCCnWeYOvae2NoeulyRW4bgKZKUpOr49gwz5FrsuoZKcKzWLGTmY51oyzSCj Gspr6S61Pw4jAmeaLL3m6iNZ1kcPoSTzLGZzdyKlqmMGRPRMKRQy/hy2u4wnlQ0bKBg1UBWyHbEhIXytJVg66RAvBX8wVKWJOgTHDSHMPl0FoHAXB8MN+hKF9nAWsgoZ HAKJEAiuHEgf35vgJ1y8+BbTlIgMr7nNLN1rywOLiw0RrGCYJMQbdAcGIJEWjmXJEnefExTg8AgFRHtYGBbUpRJr+V4hTICuHWAW5xlB7KoJPyXuDA9SzAiqFhgk/sPI FGSgdCeJRdkw5kmLMDAIODqGmikgle6/DHFxzTlyCPw5uDv/OYm+QDfLyicMS6ArEZ7rbTteBKgAOii7E7TvXCrK/QoA/3NoF7z3cSKTJ502JF5tHSQfWQaWbYsB0nLJ DgFFQwTI/6kYsL/qFBTRphsU9wka3Y32HpQWmRC7JrgkVvlZBboNMAZ97hMGb4NOOWEuOAIPcq8rRDAhGIsKigjjjuwf2HPtJFjLjTF7nYccAy52A2NI4gzKERwxPCSK BhvaARfyn5Qc2E1EFl6W7B0qSSYe3bJuOgUs5AjY2IwwV7CMJrxUsBMHiZY6W3PAG+7qKTb6XJwqiMirHEJuxzhvDeoShlFEEULb1wlaRLkrD1SlLLEfRxCRt8YNG+Xi HQgwiggp3Nc1WKImDEGXkwybCuoL7IDUALTNVwRoSBMljxkyKcktkjpNAZYoyRFLH/hxTCD1lUsXxO/KDEsAeTUHWSspQ4z6A2U/yzNwYF8uAqlIMHUgMxoaBc4vIDyu AZ+Yswv+3egWknlMFQeQWBIJy8oM+Er1M78xfxym4IMcTHYSNDz8cxZhQsQaXrCWN9yzqzGZJ802kd/hMFAKZyABHlwtv/8IGPXARxWEeRMKpTQuKkrMRyJ7grIavI7n BU4vyA7FzzsrmU9iGcg29TBGxqky8XO4KFL4dA3b2Jc5WFfGFz8RoDoppwIwanb4GBLbUCN9KlUCCixNLfEobTNxWvwjdJ1IB/6EfhZUqv0fqijbMxh4/jMY1vAh0bv0 MpyVcC8HZHUGyj+LMWE3XiZOCVADun35GcMMzSUzv3onCCBhJQ7HxAT1laMlBeX4K0dAIywydOsPnlSGBd+AVCOVy8YhqpSNAjKTjCbrnIoiCOMOOkM0RjFAWhY3q9K6 DKCkhDX3t4wCwiD5HIyvnyjNx34NpuBfEYOePRhpAGQaMOTHMbevxSXYaSwH+S6mJQMKaRsQFpUpEIbsA80DmQpzSb8GnLYJJb9Htgb9TNo6ZbUHIHgk8R+BJL8C5QLJ Ov4ThBww8zQirukOEIBlxy/PFI0dWHeoF/MQLDMQe3cFSyUCKAncwQZ3hacEeUqwEHBARyehZbw4Vq5EMDtLDDNZNPkY/nIELvX+KR5UKH4Yzte2GHQTMjryQhAVh1gY F8Ttzihno+8Ihd2IEsQEjymzIJE1eZs8H/bcZSX31Q0NOJMYNM9afCZjbwYm7UmlF3Pijwc0HQkt1D1TNS1nWw+iNHodIJrKMdfLTjGIU/kxZ8CtOoMe2CL6TE83S9GP Kp+xrxCNln865Kh9KWN1MDAlehcRImP+KoZbuTXNVQwf5TopNvCtcBmT880lOR8jGYR/uR16irMQGhdGITIIDiMsLsIVp2xbJkbCxgzs95MKeFIsMDOo2hVa95IEC14O HJfxqjEvxbAeqIFuO2ITCBmpfqUMPhNzASb8KjVbvrUqVK4wHzaCEjePOqse28G5KqITjDDKdRMdW7OhGXTMRgsxnOsleyusCzfvQgiL0UEqQuPALT10sBzgwyAVuSV7 OZ7JFzHqh8ocxmXiNtHHnRG0fgYrYOqYFmUxAghmHRcelsBbAOqDLCxF/0c5nFtOO5bM+iydXLUsmstkKbWXUAHOaz4Hv+MTGA9ALSN1erometVGJ2xbfzNBAzciPYCm GWmSEhr3PXEnBB+yAbZVeQSY0O8V9cfMI9nJhBmzWdwxnoplCkH6jQTKjG4S2vmWJ79/DQH5L5Mw3S64M5aVrSSr+/E0OFtSCtnKpiKnv40FvZkpHzV4NAEM5jwvjM9V AO7g1i9NolEn1KFiCZMHhDl3SGcA6tukA1jKjDCdd4gNOQxyF3eyvDQxOr8YkjzxHIC+ng5edmUtwmQjDBx2WjpURasg82UZCEIYgRjpTAsPxTXGBOEHhg4BA4AQjJsv IqwstzR+R50b3vr8JUT+ixHgAzELyCiqNhvvfB3q+scrPyqaIfNpxzNBWrg6zk2lNUNDySQzoxkzVvnCM+ZwcRREcu8cuZMlOFkGQAzP+pEEO/cED8bVKBe/xz0a0dI8 LfYB+gJyx5cWCzHxLee/SzX/UIwK8mmxNXVgNi7WbWQ2YWzgOOEDjiOwoxMkDYz7MjDktx2N478RGV2ADRQpgC+jpxYZRP06JTM6aAckNOgqnB4uD/6Z2CeNH283EGFb FdQfQhRWY4w6KwEjKYWhGAsEP5QxerqXMRQSfhEPxpIdmzDCN7pDpyIkBFcK69plNuZ+SQmnUREgFPZANkAeHgkOgbQTb6WYE8iLxjYqKHULPibsAM5n7xzmanEgQNk5 GcCHHTgZvpURJyLJAeQkzDi3GxIxoi+5A1rfSAh+Rssm6UchMiqpWiRgRk8Q3U2dHf1RNiA+sTIJsluaCh9MBjSIFvw5U349BEyZkyWJxlE6ZJZbDbzM5Bf3pt0vWqzX C1k0jwL7ycUFb5QFDS9mRhyt8NcQEVVvJFKmjiL/tikQpsH3HqJgijGhjkghtxomExLVEjGR+8sWKycjBJNr4CgI6jAL6E92FoXFRRIHPP4UVHhHJmNPIwmWYCAVyRf6 NvIlRRkmWasKMKS0IL5i8AMopKMnFu5DHXUM8he1pP8GOnUFMTcFNwUwrX4sw/l2Ksa/vwNKe0YHF930IphmdhLmNLgluvjpNL8ymjVnXjYG0w73KBrigRmzmWIn/r6I KIYI5CqM8BcEUgAAEOmCATT8IAsNAIrtOOOZrB1tGRM6DrtuEy+muwlyFA0MxLK/CBV6GDbS3DsdrAccBL0RSwXUEvIF+V8xI6GNyzBVaekcogrHCa9nQCjQcAw5Dbi+ NjS99yi6HCIi4q93JiBc4AULZZkK2QTtMUZlCzlCwnk2BAU1AUJJYjW7EFAxEFhmACxIsDdtCu8n8P6+JknxOQ/GzM44G9TTEI8YvxqM+aMs3FACNdJi7AZDT5IwijEB G+PkzBl9z9sAggUrEr3ZXyGIulQUkthUHr37/iTLUIkTKwiAGDNvTAfiab8rSWH9I8bX6hwv5vA0yDvyDt38rC7RHhooNJCXNPBdNwCZlbIScgIRC7oKfAyQDugs5DIE A50QejKjickyKj/jG/NHvyYzIW86oqNVBF7xETaLTbwlNz9tMqK7/AObbH4G2Qc2CbfDqhmiBGwIcJdbINiFBiLDLT4IjDt+Nr/ZaAqx+Gwv+kO7ICwqcBLKlaUddfHQ F1R/jDEa4ngJmfEKGZBNtToLw84OVWToK1t+2hKsfVs0jrqRC4eTaQjHo484aT0wNrXqKAPLF8It89jxF4mvHyhsEwcZ3sruGuLsBxpxFd0ly+u8MjMBiwAblEEFt2dQ EDj2fRUWTHgKeAkrO2OQ/AhvdS4m+TkZAsvMsTVNJBQ1/LdvMRCfogbAGfAP9TeaIBqJBzNvcn07I66MOiDHSzGO6dw0xY4GAve+8RiL4pUnk2fcOqXWtDhp6L8zghKh BDCszjpZqDEolgzYBvQ0jSeq+EcvK17zAqsqKBzgCfUssUlFNVYmKTehHK4kvczJKgMBXg5j5gsnUhv6OUyQWjtZVLUQVAuAM+w0Zyn6c4oecJGkE6jgzykmNV4QzAC9 L6IBDA0iYGEUXjK7A01PNwnFWRsa35rkJ8HsaAcMK5oUYgcJIZrapzuYjf0llffuO1/TUQR7fCUmKbCaEYg2hQuDi70lWc02Jg2kDS4r2mQDMNoSLdN6zxGchl0IvWFt A4l/cQrdrKAeCRmdBu11wQqDIlsPSXiBJIeCZSnZ4CgU+bOxL3HHKyguLfUmQg4UOZga2jnI+/8EENzLNsS0sQvZaUIALPgaIb6u7yxzKAoTOv1bHh2W7AZf/+gTYVPu OKTyhyzptZIZBYSkGDvm7S0j7MUcHaA/F3Uy7wid/HEWYNPfAUrpjTQcEawSKILqCHYEVjHsdiwfpE35DRhVRS29LgAWgHOZF6sjowR5WWosp5WyCZ4yYBE4OrgRiT34 A5SGsTo0hz4s/SNOEBw8Fha1M8Qa7Ir9GWbvpCVpQ4AB6P+0FTY/2Rr3l5M3D56ZKGA9GBpNTrESlroIL7v/eSduQ2UvpC/RISPv5ics+ZM3SaCpFQieADJ23RwUL4Ae OuqjhR/k+YQkN80jMK3e7gKgtqMYUAHfHTnVSQeq0eso9tbqIozogy0+Ku0ifh9VEV5dvy7qZRIPEjTICdTzYShnRJ8sWYbfFWIzgxrbCFgk0ZgqOjIrZg7jM7kpy8ZL JFQQHwicL9YvcTpBDnNoYiQ4/zUiYjS+LhW1TScXKK0swnVIDqaLFiJHuLcCk1FXKTPX+y1Wl1kjzM9XDNSpgTZWs7EUr42gAPRPvgCf2DkZ52nnJo2x1wKTul0VfusB K23flCgOw8wKLpkcBUPDZwuFBJUtQ5cfMGGrNRByVJQrNTWyApw3ZwIpxsQEpRNkNmncQzpT7XEE8OsmHUswlSxOYw862+H3LXS9tzCUuRoBWC+jNiaY2yshuU04PX+1 N6c0eQbTES8oi7VeKgELQAakbZ4zkmqHJpoNHQMewhs5vNajO4zvAiEvJvsi9HO5AmFkXC3VLVE2ti/sG9s2Mxy+ngEYegroAHngYRXzwAgctszDKtVUWSJXNUkR+DXP LQpYlQ0F9xUtgk1fAiIzHzssOHInemvFNY9pgQP3cCcmZ7fOMyYVChbhHqwCsZ6IONdOJBrtxjUCHLQ1KAEmsgqCClQU8w0YLqF4gxVyP3cooHNJGEJgOBJi8poAdAYL Iy0+VTMNga4w7DtBHXRjewKQMlsoZMSgF0UqwAhffGElz49yMhoXkAjmMLsmKocAOy15IwpCQXowxZMZCTMeyAu678Ez5GNTM5WUwSZ6PYUTizcQGmrurzLT4G0VuAGp IekXSTDGdasDxwbKNFev6zbvO7s1f64/GPCqWBD0OGcgU6GwOY8qHizd0Y42D8EMNDStFSloG5YPhmkFGwCi9w748KMxTJZXHgOVOAcAqWE0e7AmKbhtOzUtZO8b+zow OV81WAcY1T4DGvLnFg4LwDECiKIOIivgLf5sfw2vuQ8oiDgjD3vVJyT8kG45e6PVOSCkKwaBh3sT3IbbC4zf3CjfHxcmDU20J/OISyQQvHoMs4eeKpXBQgw8juEWwZWL EMxUVgZi2m0XGr+bDWbtPwBqUcozpONPI+0emhCmoGkeVd3CFHbUOjphXP4vSOfeGy1+FQGEobMxR3VhJzRLjy0SAOwAN073HA6yqA3I/kISncSVDhgFLSPT1jc1tqA3 NVNIUQbMQB4VodhqFxDU3Dt5dycRRhNDK/VzjQDYGmoDvBvcHixueQM8JswkTVlvLOKFuhSIiT0681HuFdwcoxeLCDMublljMsRVEAyJfawSyTnOI7mkSgGMYXk7Hn1e O0iLLyJLIqc6A5aKAvGenxvMweQE6fQUEUjsTDL4c+Mpn1dEC0IU6RoDXQcdYMUfGFyhxDM9Bn4wLrupHiZIaDi2AmYd1TcKAuwnbw+Ir3oYmOybAcfpey2Ymqkqg3Sw LbMIrTX9ApEv4dx1FiOPMivyytAalGdqCzOsNy6IiGQnWmDZNwj0HAm5Gm4APOe0KM6JsQTNTJgv+TXhLSypzTCgFmQVsxldIQSmaAT/vS4VGy9CML2QqDRQAgwVZsOk KLPRfxGBuY0Uik2NM/9XbQzJloQM87S/N+8nfxINUaMXmDMWBsYbtDSlxDoBJgpAAd4/vzJRDfsLMAsFCoxLfyXxIsEPZ6TjOJ+G5Qe7b7AADpIhOKgXYwVmhw0LH8cK DYd3TwZHpp4K1pazDp+RdSju5OswKzchFz86lyWG+joaENJOBGRyETneMvUAnykSEeXv4y/RSbUFuPgoNgMLBCoZzu0xR7lqN918gQN2TsQSKss1EsgZfzonv9YQ0cjH Efo9GBHuXvwh0vUPN93qUy/HPRkxpHHhKo78dSo2yLkwq4euEpIp9TlbnK8l7d9sAt7fUh9LexUvIgRUGESvrxRuUxY4ZRj7CVsCITIkdm0vORh8K75+SBSuSCUeqFnH BfWj7gGEaPYGPT9TEMS/UAHwCugMOB4yEwTwsRzSk24blv43OG67xzZYjecAQV3zKsb1TQHgtHQbW4n2Ic+jCDK7GuMVJz4pCw2Pfjk/byUqs8qjG+s2wCRO8oY5kLaU LwgYrxcVC4gGc2DBKdZu1jsqvSslwOz1KuPb2Dgn7CUvHm97Np2BBQOW2Ocn2zQDHpR7Bgqp70s0iluILIrYnSCqN2QaDna+NsYUmTWkF5cCL41pApt9HzkR1EI3Y4X7 Ey/RZS452zQffIgqFrrxuwofiK0eji59D557hxQ44L0LJOrJKP4VtxIUlUs3Fyt9E4cruS8Tx9IRrZkvBzZRkgzxZ+EKQFlKM64WUh08M185p5f9JnFP1TH65QoDwzxt MNnDyR1epCEwbcvvHnR7pBYSLrE2oyL7CRLlBxR99rEOrmuuECyj8jLTFDcJ27PuAU94mRIMDm8c2N+xKK/PRSiJ7zwG1VcrEzBXNBxAWb4DKkdaNqjwlwWtY3wMWTKi NE/F1h1hBTwfwGO3LG3DuxyHui0ZnM+YFI4aNCw0U7guec5BNFOPDBI21VQDMmkIHZcdgxTEfIwG7If1BGevCQ2F6dQf/4w1KkpZgwHRnncljelXNC2y6QfUxC4XCimj ElFYtjjZnvglZudGFn2VgSSYfF0jvnsIKjuEwzJlGicR8+Y2NVHLrBJ6BVUWKzZMGNCTcDNBTestw4w9Fz7cki2w78cWpXi7KFK9GjTv8OsxJrLzL9vH1CTv33sWQmvh HQc6dCYXMdYs1lRhLRkFnzKGCcY3JIN0AV77EyE8DDszSvfgMRWM3AWwnlEieseBALePNyhOPn0iWq7PBLLt+Tk48SkHM4AxOU5IfQRcHzQHJXTkJZkKiySHmzYRZ3dt OOuEQCLjsMsMT1oHKi+hOQ6g3coyhJNYOONQdxbv+4QWTI86DrjwEQ5hyWMg0BJKDtzvjhaTRj86NHl/JosqgDkmFhQ4Y1RFNKNi2iS3rqUM4JyaO5C6AiJGB8UFEpbF DQ8ViQxGkek0RgC0KE9f+jr37ZItmjOHADG6awWyQyk1U2epGePQKhO3wzMui1QECcMxyhcAlLwEb8lRKxmADDEFbLMCIgdjBxKGmymEqC46Cg4hI6h/rDVgDf8ISf5L No4CJSCgXDsz1DMDEj2upQOK5uwjMK78D/FBSSmj9aw= ";