bw0NCgAAAACiNI1jPTMAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzbAAAAGQAWgBkAWQCbAFaAWQBZAJsAloCZAFkA2wDbQRaBAEAZAFkBGwFbQZaBgEAZAFkBWwHbQhaCAEAZAFkBmwJbQpaCgEAZAdkCGQJnAJaC0cAZApkC4QAZAtlBIMDWgxkDmQMZA2EAVoNZAJTACkPYeoBAABkaXN0dXRpbHMuY29tbWFuZC5jb25maWcKCkltcGxlbWVudHMgdGhlIERpc3R1dGlscyAnY29uZmlnJyBjb21tYW5kLCBhIChtb3N0bHkpIGVtcHR5IGNvbW1hbmQgY2xhc3MKdGhhdCBleGlzdHMgbWFpbmx5IHRvIGJlIHN1Yi1jbGFzc2VkIGJ5IHNwZWNpZmljIG1vZHVsZSBkaXN0cmlidXRpb25zIGFuZAphcHBsaWNhdGlvbnMuICBUaGUgaWRlYSBpcyB0aGF0IHdoaWxlIGV2ZXJ5ICJjb25maWciIGNvbW1hbmQgaXMgZGlmZmVyZW50LAphdCBsZWFzdCB0aGV5J3JlIGFsbCBuYW1lZCB0aGUgc2FtZSwgYW5kIHVzZXJzIGFsd2F5cyBzZWUgImNvbmZpZyIgaW4gdGhlCmxpc3Qgb2Ygc3RhbmRhcmQgY29tbWFuZHMuICBBbHNvLCB0aGlzIGlzIGEgZ29vZCBwbGFjZSB0byBwdXQgY29tbW9uCmNvbmZpZ3VyZS1saWtlIHRhc2tzOiAidHJ5IHRvIGNvbXBpbGUgdGhpcyBDIGNvZGUiLCBvciAiZmlndXJlIG91dCB3aGVyZQp0aGlzIGhlYWRlciBmaWxlIGxpdmVzIi4K6QAAAABOKQHaB0NvbW1hbmQpAdoSRGlzdHV0aWxzRXhlY0Vycm9yKQHaEmN1c3RvbWl6ZV9jb21waWxlcikB2gNsb2d6Ai5jegQuY3h4KQLaAWN6A2MrK2MAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzzAAAAGUAWgFkAFoCZAFaA2cAZAKiAVoEZANkBIQAWgVkBWQGhABaBmQHZAiEAFoHZAlkCoQAWghkC2QMhABaCWQNZA6EAFoKZA9kEIQAWgtkEWQShABaDGQTZBSEAFoNZChkF2QYhAFaDgkVCRZkKGQZZBqEAVoPZClkG2QchAFaEAkVCRZkKmQdZB6EAVoRCRUJFmQqZB9kIIQBWhIJFQkhZCtkImQjhAFaE2QVZBVkFWcAZgRkJGQlhAFaFAkVCRZkKWQmZCeEAVoVZBVTACks2gZjb25maWd6EHByZXBhcmUgdG8gYnVpbGQpCSkDegljb21waWxlcj1OehlzcGVjaWZ5IHRoZSBjb21waWxlciB0eXBlKQN6A2NjPU56H3NwZWNpZnkgdGhlIGNvbXBpbGVyIGV4ZWN1dGFibGUpA3oNaW5jbHVkZS1kaXJzPdoBSXoubGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIGhlYWRlciBmaWxlcykDegdkZWZpbmU92gFEeh9DIHByZXByb2Nlc3NvciBtYWNyb3MgdG8gZGVmaW5lKQN6BnVuZGVmPdoBVXohQyBwcmVwcm9jZXNzb3IgbWFjcm9zIHRvIHVuZGVmaW5lKQN6CmxpYnJhcmllcz3aAWx6IWV4dGVybmFsIEMgbGlicmFyaWVzIHRvIGxpbmsgd2l0aCkDeg1saWJyYXJ5LWRpcnM92gFMei5kaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIGV4dGVybmFsIEMgbGlicmFyaWVzKQPaBW5vaXN5Tnoxc2hvdyBldmVyeSBhY3Rpb24gKGNvbXBpbGUsIGxpbmssIHJ1biwgLi4uKSB0YWtlbikDegtkdW1wLXNvdXJjZU56PWR1bXAgZ2VuZXJhdGVkIHNvdXJjZSBmaWxlcyBiZWZvcmUgYXR0ZW1wdGluZyB0byBjb21waWxlIHRoZW1jAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAczQAAABkAHwAXwBkAHwAXwFkAHwAXwJkAHwAXwNkAHwAXwRkAXwAXwVkAXwAXwZnAHwAXwdkAFMAKQJO6QEAAAApCNoIY29tcGlsZXLaAmNj2gxpbmNsdWRlX2RpcnPaCWxpYnJhcmllc9oMbGlicmFyeV9kaXJzcg0AAADaC2R1bXBfc291cmNl2gp0ZW1wX2ZpbGVzqQHaBHNlbGapAHIYAAAA+m8vcm9vdC9nZjE4MC1kZW1vL2NhcmF2ZWxfdXNlcl9wcm9qZWN0L3ZlbnYvbGliL3B5dGhvbjMuMTAvc2l0ZS1wYWNrYWdlcy9zZXR1cHRvb2xzL19kaXN0dXRpbHMvY29tbWFu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