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Wg1kDFoOZA1aD2QOWhBlCGUMZQ1lDmUPZgVaEWUSZA9kEIQAgwFaE2QRUwApEnoNSVJNYXAuSVIuS2luZHqTCiAgICAgICAgICAgIEVudW1lcmF0ZXMgc3VwcG9ydGVkIGtpbmRzIG9mIElETCBkZWZpbml0aW9ucyBpbiBJUiwgc3VjaCBhcwogICAgICAgICAgICAiaW50ZXJmYWNlIiwgInR5cGVkZWYiLCBvciAicGFydGlhbCBkaWN0aW9uYXJ5Ii4KICAgICAgICAgICAgehFjYWxsYmFjayBmdW5jdGlvbnoSY2FsbGJhY2sgaW50ZXJmYWNl2gpkaWN0aW9uYXJ52gtlbnVtZXJhdGlvbtoIaW5jbHVkZXPaCWludGVyZmFjZXoPaW50ZXJmYWNlIG1peGlu2gluYW1lc3BhY2V6EnBhcnRpYWwgZGljdGlvbmFyeXoRcGFydGlhbCBpbnRlcmZhY2V6F3BhcnRpYWwgaW50ZXJmYWNlIG1peGluehFwYXJ0aWFsIG5hbWVzcGFjZdoHdHlwZWRlZmMCAAAAAAAAAAAAAAACAAAAAgAAAEMAAABzCgAAAHwBfABqAHYAUwCpAU4pAdoSX01VTFRJX1ZBTFVFX0tJTkRTKQLaA2Nsc9oEa2luZKkAcg8AAAD6Xi93b3Jrc3BhY2UvY2hlY2tvdXQvY2hyb21pdW0vc3JjL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvd2ViX2lkbC9pcl9tYXAucHnaGmRvZXNfc3VwcG9ydF9tdWx0aXBsZV9kZWZzTQAAAHMCAAAAAAJ6KElSTWFwLklSLktpbmQuZG9lc19zdXBwb3J0X211bHRpcGxlX2RlZnNOKRTaCF9fbmFtZV9f2gpfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB19fZG9jX19aEUNBTExCQUNLX0ZVTkNUSU9OWhJDQUxMQkFDS19JTlRFUkZBQ0XaCkRJQ1RJT05BUllaC0VOVU1FUkFUSU9O2ghJTkNMVURFU9oJSU5URVJGQUNFWg9JTlRFUkZBQ0VfTUlYSU7aCU5BTUVTUEFDRVoSUEFSVElBTF9ESUNUSU9OQVJZWhFQQVJUSUFMX0lOVEVSRkFDRVoXUEFSVElBTF9JTlRFUkZBQ0VfTUlY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