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CgBy9QYBAQFuAQBYZAIAUyhhAAAAc4MEAABPUyByb3V0aW5lcyBmb3IgTWFjLCBOVCwgb3IgUG9zaXggZGVwZW5kaW5nIG9uIHdoYXQgc3lzdGVtIHdlJ3JlIG9uLgoKVGhpcyBleHBvcnRzOgogIC0gYWxsIGZ1bmN0aW9ucyBmcm9tIHBvc2l4LCBudCwgb3MyLCBvciBjZSwgZS5nLiB1bmxpbmssIHN0YXQsIGV0Yy4KICAtIG9zLnBhdGggaXMgb25lIG9mIHRoZSBtb2R1bGVzIHBvc2l4cGF0aCwgb3IgbnRwYXRoCiAgLSBvcy5uYW1lIGlzICdwb3NpeCcsICdudCcsICdvczInLCAnY2UnIG9yICdyaXNjb3MnCiAgLSBvcy5jdXJkaXIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeSAoJy4nIG9yICc6JykKICAtIG9zLnBhcmRpciBpcyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHBhcmVudCBkaXJlY3RvcnkgKCcuLicgb3IgJzo6JykKICAtIG9zLnNlcCBpcyB0aGUgKG9yIGEgbW9zdCBjb21tb24pIHBhdGhuYW1lIHNlcGFyYXRvciAoJy8nIG9yICc6JyBvciAnXFwnKQogIC0gb3MuZXh0c2VwIGlzIHRoZSBleHRlbnNpb24gc2VwYXJhdG9yICgnLicgb3IgJy8nKQogIC0gb3MuYWx0c2VwIGlzIHRoZSBhbHRlcm5hdGUgcGF0aG5hbWUgc2VwYXJhdG9yIChOb25lIG9yICcvJykKICAtIG9zLnBhdGhzZXAgaXMgdGhlIGNvbXBvbmVudCBzZXBhcmF0b3IgdXNlZCBpbiAkUEFUSCBldGMKICAtIG9zLmxpbmVzZXAgaXMgdGhlIGxpbmUgc2VwYXJhdG9yIGluIHRleHQgZmlsZXMgKCdccicgb3IgJ1xuJyBvciAnXHJcbicpCiAgLSBvcy5kZWZwYXRoIGlzIHRoZSBkZWZhdWx0IHNlYXJjaCBwYXRoIGZvciBleGVjdXRhYmxlcwogIC0gb3MuZGV2bnVsbCBpcyB0aGUgZmlsZSBwYXRoIG9mIHRoZSBudWxsIGRldmljZSAoJy9kZXYvbnVsbCcsIGV0Yy4pCgpQ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bmV3KQoKICAgIFN1cGVyLXJlbmFtZTsgY3JlYXRlIGRpcmVjdG9yaWVzIGFzIG5lY2Vzc2FyeSBhbmQgZGVsZXRlIGFueSBsZWZ0CiAgICBlbXB0eS4gIFdvcmtzIGxpa2UgcmVuYW1lLCBleGNlcHQgY3JlYXRpb24gb2YgYW55IGludGVybWVkaWF0ZQogICAgZGlyZWN0b3JpZXMgbmVlZGVkIHRvIG1ha2UgdGhlIG5ldyBwYXRobmFtZSBnb29kIGlzIGF0dGVtcHRlZAogICAgZmlyc3QuICBBZnRlciB0aGUgcmVuYW1lLCBkaXJlY3RvcmllcyBjb3JyZXNwb25kaW5nIHRvIHJpZ2h0bW9zdAogICAgcGF0aCBzZWdtZW50cyBvZiB0aGUgb2xkIG5hbWUgd2lsbCBiZSBwcnVuZWQgd2F5IHVudGlsIGVpdGhlciB0aGUKICAgIHdob2xlIHBhdGggaXMgY29uc3VtZWQgb3IgYSBub25lbXB0eSBkaXJlY3RvcnkgaXMgZm91bmQuCgogICAgTm90ZTogdGhpcyBmdW5jdGlvbiBjYW4gZmFpbCB3aXRoIHRoZSBuZXcgZGlyZWN0b3J5IHN0cnVjdHVyZSBtYWRlCiAgICBpZiB5b3UgbGFjayBwZXJtaXNzaW9ucyBuZWVkZWQgdG8gdW5saW5rIHRoZSBsZWFmIGRpcmVjdG9yeSBvcgogICAgZmlsZS4KCiAgICBOKAcAAABSCQAAAFIeAAAAUh8AAABSIAAAAHQGAAAAcmVuYW1lUisAAABSKgAAACgEAAAAdAMAAABvbGR0AwAAAG5ld1ImAAAAUicAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9vcy5weXQHAAAAcmVuYW1lc7UAAABzFAAAAAAPFQEcAQ0BDQEVAQwBAwEOAQ0BUiAAAABSKwAAAFIvAAAAYwQAAAAOAAAABwAAAGMAAABzOgEAAHQAAGoBAHQAAGoCAHQAAGoDAAMCfQQAfQUAfQYAeRAAdAQAfAAAgwEAfQcAV24tAAR0BQBrCgByXAABfQgAAXwCAGQBAGsJAHJYAHwCAHwIAIMBAAFuAABkAQBTWGcAAGcAAAJ9CQB9CgB4QAB8BwBEXTgAfQsAfAYAfAUAfAAAfAsAgwIAgwEAcpwAfAkAagcAfAsAgwEAAXFxAHwKAGoHAHwLAIMBAAFxcQBXfAEAcsQAfAAAfAkAfAoAZgMAVgFuAAB4WAB8CQBEXVAAfQsAfAUAfAAAfAsAgwIAfQwAfAMAc/MAfAQAfAwAgwEADHLLAHglAHQIAHwMAHwBAHwCAHwDAIMEAERdCwB9DQB8DQBWAXEJAVdxywBxywBXfAEAczYBfAAAfAkAfAoAZgMAVgFuAABkAQBTKAIAAABzPAoAAERpcmVjdG9yeSB0cmVlIGdlbmVyYXRvci4KCiAgICBGb3IgZWFjaCBkaXJlY3RvcnkgaW4gdGhlIGRpcmVjdG9yeSB0cmVlIHJvb3RlZCBhdCB0b3AgKGluY2x1ZGluZyB0b3AKICAgIGl0c2VsZiwgYnV0IGV4Y2x1ZGluZyAnLicgYW5kICcuLicpLCB5aWVsZHMgYSAzLXR1cGxlCgogICAgICAgIGRpcnBhdGgsIGRpcm5hbWVzLCBmaWxlbmFtZXMKCiAgICBkaXJwYXRoIGlzIGEgc3RyaW5nLCB0aGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5LiAgZGlybmFtZXMgaXMgYSBsaXN0IG9mCiAgICB0aGUgbmFtZXMgb2YgdGhlIHN1YmRpcmVjdG9yaWVzIGluIGRpcnBhdGggKGV4Y2x1ZGluZyAnLicgYW5kICcuLicpLgogICAgZmlsZW5hbWVzIGlzIGEgbGlzdCBvZiB0aGUgbmFtZXMgb2YgdGhlIG5vbi1kaXJlY3RvcnkgZmlsZXMgaW4gZGlycGF0aC4KICAgIE5vdGUgdGhhdCB0aGUgbmFtZXMgaW4gdGhlIGxpc3RzIGFyZSBqdXN0IG5hbWVzLCB3aXRoIG5vIHBhdGggY29tcG9uZW50cy4KICAgIFRvIGdldCBhIGZ1bGwgcGF0aCAod2hpY2ggYmVnaW5zIHdpdGggdG9wKSB0byBhIGZpbGUgb3IgZGlyZWN0b3J5IGluCiAgICBkaXJwYXRoLCBkbyBvcy5wYXRoLmpvaW4oZGlycGF0aCwgbmFtZSkuCgogICAgSWYgb3B0aW9uYWwgYXJnICd0b3Bkb3duJyBpcyB0cnVlIG9yIG5vdCBzcGVjaWZpZWQsIHRoZSB0cmlwbGUgZm9yIGEKICAgIGRpcmVjdG9yeSBpcyBnZW5lcmF0ZWQgYmVmb3JlIHRoZSB0cmlwbGVzIGZvciBhbnkgb2YgaXRzIHN1YmRpcmVjdG9yaWVzCiAgICAoZGlyZWN0b3JpZXMgYXJlIGdlbmVyYXRlZCB0b3AgZG93bikuICBJZiB0b3Bkb3duIGlzIGZhbHNlLCB0aGUgdHJpcGxlCiAgICBmb3IgYSBkaXJlY3RvcnkgaXMgZ2VuZXJhdGVkIGFmdGVyIHRoZSB0cmlwbGVzIGZvciBhbGwgb2YgaXRzCiAgICBzdWJkaXJlY3RvcmllcyAoZGlyZWN0b3JpZXMgYXJlIGdlbmVyYXRlZCBib3R0b20gdXApLgoKICAgIFdoZW4gdG9wZG93biBpcyB0cnVlLCB0aGUgY2FsbGVyIGNhbiBtb2RpZnkgdGhlIGRpcm5hbWVzIGxpc3QgaW4tcGxhY2UKICAgIChlLmcuLCB2aWEgZGVsIG9yIHNsaWNlIGFzc2lnbm1lbnQpLCBhbmQgd2FsayB3aWxsIG9ubHkgcmVjdXJzZSBpbnRvIHRoZQogICAgc3ViZGlyZWN0b3JpZXMgd2hvc2UgbmFtZXMgcmVtYWluIGluIGRpcm5hbWVzOyB0aGlzIGNhbiBiZSB1c2VkIHRvIHBydW5lCiAgICB0aGUgc2VhcmNoLCBvciB0byBpbXBvc2UgYSBzcGVjaWZpYyBvcmRlciBvZiB2aXNpdGluZy4gIE1vZGlmeWluZwogICAgZGlybmFtZXMgd2hlbiB0b3Bkb3duIGlzIGZhbHNlIGlzIGluZWZmZWN0aXZlLCBzaW5jZSB0aGUgZGlyZWN0b3JpZXMgaW4KICAgIGRpcm5hbWVzIGhhdmUgYWxyZWFkeSBiZWVuIGdlbmVyYXRlZCBieSB0aGUgdGltZSBkaXJuYW1lcyBpdHNlbGYgaXMKICAgIGdlbmVyYXRlZC4KCiAgICBCeSBkZWZhdWx0IGVycm9ycyBmcm9tIHRoZSBvcy5saXN0ZGlyKCkgY2FsbCBhcmUgaWdub3JlZC4gIElmCiAgICBvcHRpb25hbCBhcmcgJ29uZXJyb3InIGlzIHNwZWNpZmllZCwgaXQgc2hvdWxkIGJlIGEgZnVuY3Rpb247IGl0CiAgICB3aWxsIGJlIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCwgYW4gb3MuZXJyb3IgaW5zdGFuY2UuICBJdCBjYW4KICAgIHJlcG9ydCB0aGUgZXJyb3IgdG8gY29udGludWUgd2l0aCB0aGUgd2Fsaywgb3IgcmFpc2UgdGhlIGV4Y2VwdGlvbgogICAgdG8gYWJvcnQgdGhlIHdhbGsuICBOb3RlIHRoYXQgdGhlIGZpbGVuYW1lIGlzIGF2YWlsYWJsZSBhcyB0aGUKICAgIGZpbGVuYW1lIGF0dHJpYnV0ZSBvZiB0aGUgZXhjZXB0aW9uIG9iamVjdC4KCiAgICBCeSBkZWZhdWx0LCBvcy53YWxrIGRvZXMgbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB0byBzdWJkaXJlY3RvcmllcyBvbgogICAgc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlbS4gIEluIG9yZGVyIHRvIGdldCB0aGlzIGZ1bmN0aW9uYWxpdHksIHNldCB0aGUKICAgIG9wdGlvbmFsIGFyZ3VtZW50ICdmb2xsb3dsaW5rcycgdG8gdHJ1ZS4KCiAgICBDYXV0aW9uOiAgaWYgeW91IHBhc3MgYSByZWxhdGl2ZSBwYXRobmFtZSBmb3IgdG9wLCBkb24ndCBjaGFuZ2UgdGhlCiAgICBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGJldHdlZW4gcmVzdW1wdGlvbnMgb2Ygd2Fsay4gIHdhbGsgbmV2ZXIKICAgIGNoYW5nZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBhbmQgYXNzdW1lcyB0aGF0IHRoZSBjbGllbnQgZG9lc24ndAogICAgZWl0aGVyLgoKICAgIEV4YW1wbGU6CgogICAgaW1wb3J0IG9zCiAgICBmcm9tIG9zLnBhdGggaW1wb3J0IGpvaW4sIGdldHNpemUKICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKCdweXRob24vTGliL2VtYWlsJyk6CiAgICAgICAgcHJpbnQgcm9vdCwgImNvbnN1bWVzIiwKICAgICAgICBwcmludCBzdW0oW2dldHNpemUoam9pbihyb290LCBuYW1lKSkgZm9yIG5hbWUgaW4gZmlsZXNdKSwKICAgICAgICBwcmludCAiYnl0ZXMgaW4iLCBsZW4oZmlsZXMpLCAibm9uLWRpcmVjdG9yeSBmaWxlcyIKICAgICAgICBpZiAnQ1ZTJyBpbiBkaXJzOgogICAgICAgICAgICBkaXJzLnJlbW92ZSgnQ1ZTJykgICMgZG9uJ3QgdmlzaXQgQ1ZTIGRpcmVjdG9yaWVzCiAgICBOKAkAAABSCQAAAHQGAAAAaXNsaW5rdAQAAABqb2ludAUAAABpc2RpcnQHAAAAbGlzdGRpclIqAAAAdAQAAABOb25ldAYAAABhcHBlbmR0BAAAAHdhbGsoDgAAAHQDAAAAdG9wdAcAAAB0b3Bkb3dudAcAAABvbmVycm9ydAsAAABmb2xsb3dsaW5rc1IwAAAAUjEAAABSMgAAAHQFAAAAbmFtZXN0AwAAAGVycnQEAAAAZGlyc3QHAAAAbm9uZGlyc1IIAAAAdAgAAABuZXdfcGF0aHQBAAAAeCgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L29zLnB5UjYAAADRAAAAcyoAAAAAOR0HAwMQAQ8BDAENAQUCDQENARUBEAIRAgYBEQENAQ8BEwEcARABBgFSNgAAAGMBAAAAAgAAAAMAAABHAAAAcxEAAAB0AAB8AAB8AQCDAgABZAEAUygCAAAAc3AAAABleGVjbChmaWxlLCAqYXJncykKCiAgICBFeGVjdXRlIHRoZSBleGVjdXRhYmxlIGZpbGUgd2l0aCBhcmd1bWVudCBsaXN0IGFyZ3MsIHJlcGxhY2luZyB0aGUKICAgIGN1cnJlbnQgcHJvY2Vzcy4gTigBAAAAdAUAAABleGVjdigCAAAAdAQAAABmaWxldAQAAABhcmdzKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0BQAAAGV4ZWNsMwEAAHMCAAAAAAVjAQAAAAMAAAAEAAAARwAAAHMiAAAAfAEAZAEAGX0CAHQAAHwAAHwBAGQBACB8AgCDAwABZAIAUygDAAAAc4oAAABleGVjbGUoZmlsZSwgKmFyZ3MsIGVudikKCiAgICBFeGVjdXRlIHRoZSBleGVjdXRhYmxlIGZpbGUgd2l0aCBhcmd1bWVudCBsaXN0IGFyZ3MgYW5kCiAgICBlbnZpcm9ubWVudCBlbnYsIHJlcGxhY2luZyB0aGUgY3VycmVudCBwcm9jZXNzLiBp/////04oAQAAAHQGAAAAZXhlY3ZlKAMAAABSQgAAAFJDAAAAdAMAAABlbnYoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9vcy5weXQGAAAAZXhlY2xlOgEAAHMEAAAAAAUKAWMBAAAAAgAAAAMAAABHAAAAcxEAAAB0AAB8AAB8AQCDAgABZAEAUygCAAAAc5UAAABleGVjbHAoZmlsZSwgKmFyZ3MpCgogICAgRXhlY3V0ZSB0aGUgZXhlY3V0YWJsZSBmaWxlICh3aGljaCBpcyBzZWFyY2hlZCBmb3IgYWxvbmcgJFBBVEgpCiAgICB3aXRoIGFyZ3VtZW50IGxpc3QgYXJncywgcmVwbGFjaW5nIHRoZSBjdXJyZW50IHByb2Nlc3MuIE4oAQAAAHQGAAAAZXhlY3ZwKAIAAABSQgAAAFJDAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0BgAAAGV4ZWNscEIBAABzAgAAAAAFYwEAAAADAAAABAAAAEcAAABzIgAAAHwBAGQBABl9AgB0AAB8AAB8AQBkAQAgfAIAgwMAAWQCAFMoAwAAAHOzAAAAZXhlY2xwZShmaWxlLCAqYXJncywgZW52KQoKICAgIEV4ZWN1dGUgdGhlIGV4ZWN1dGFibGUgZmlsZSAod2hpY2ggaXMgc2VhcmNoZWQgZm9yIGFsb25nICRQQVRIKQogICAgd2l0aCBhcmd1bWVudCBsaXN0IGFyZ3MgYW5kIGVudmlyb25tZW50IGVudiwgcmVwbGFjaW5nIHRoZSBjdXJyZW50CiAgICBwcm9jZXNzLiBp/////04oAQAAAHQHAAAAZXhlY3ZwZSgDAAAAUkIAAABSQwAAAFJGAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0BwAAAGV4ZWNscGVJAQAAcwQAAAAABgoBYwIAAAACAAAAAwAAAEMAAABzEQAAAHQAAHwAAHwBAIMCAAFkAQBTKAIAAABzwAAAAGV4ZWN2cChmaWxlLCBhcmdzKQoKICAgIEV4ZWN1dGUgdGhlIGV4ZWN1dGFibGUgZmlsZSAod2hpY2ggaXMgc2VhcmNoZWQgZm9yIGFsb25nICRQQVRIKQogICAgd2l0aCBhcmd1bWVudCBsaXN0IGFyZ3MsIHJlcGxhY2luZyB0aGUgY3VycmVudCBwcm9jZXNzLgogICAgYXJncyBtYXkgYmUgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MuIE4oAQAAAHQIAAAAX2V4ZWN2cGUoAgAAAFJCAAAAUkMAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9vcy5weVJIAAAAUgEAAHMCAAAAAAZjAwAAAAMAAAAEAAAAQwAAAHMUAAAAdAAAfAAAfAEAfAIAgwMAAWQBAFMoAgAAAHPfAAAAZXhlY3ZwZShmaWxlLCBhcmdzLCBlbnYpCgogICAgRXhlY3V0ZSB0aGUgZXhlY3V0YWJsZSBmaWxlICh3aGljaCBpcyBzZWFyY2hlZCBmb3IgYWxvbmcgJFBBVEgpCiAgICB3aXRoIGFyZ3VtZW50IGxpc3QgYXJncyBhbmQgZW52aXJvbm1lbnQgZW52ICwgcmVwbGFjaW5nIHRoZQogICAgY3VycmVudCBwcm9jZXNzLgogICAgYXJncyBtYXkgYmUgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MuIE4oAQAAAFJMAAAAKAMAAABSQgAAAFJDAAAAUkYAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhv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KAIAAABzFQEAAHNwYXdudihtb2RlLCBmaWxlLCBhcmdzKSAtPiBpbnRlZ2VyCgpFeGVjdXRlIGZpbGUgd2l0aCBhcmd1bWVudHMgZnJvbSBhcmdzIGluIGEgc3VicHJvY2Vzcy4KSWYgbW9kZSA9PSBQX05PV0FJVCByZXR1cm4gdGhlIHBpZCBvZiB0aGUgcHJvY2Vzcy4KSWYgbW9kZSA9PSBQX1dBSVQgcmV0dXJuIHRoZSBwcm9jZXNzJ3MgZXhpdCBjb2RlIGlmIGl0IGV4aXRzIG5vcm1hbGx5OwpvdGhlcndpc2UgcmV0dXJuIC1TSUcsIHdoZXJlIFNJRyBpcyB0aGUgc2lnbmFsIHRoYXQga2lsbGVkIGl0LiBOKAMAAABSiQAAAFI0AAAAUkEAAAAoAwAAAFIlAAAAUkIAAABSQwAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L29zLnB5Un4AAAAsAgAAcwIAAAAAB2MEAAAABAAAAAYAAABDAAAAcxYAAAB0AAB8AAB8AQB8AgB8AwB0AQCDBQBTKAEAAABzOgEAAHNwYXdudmUobW9kZSwgZmlsZSwgYXJncywgZW52KSAtPiBpbnRlZ2VyCgpFeGVjdXRlIGZpbGUgd2l0aCBhcmd1bWVudHMgZnJvbSBhcmdzIGluIGEgc3VicHJvY2VzcyB3aXRoIHRoZQpzcGVjaWZpZWQgZW52aXJvbm1lbnQuCklmIG1vZGUgPT0gUF9OT1dBSVQgcmV0dXJuIHRoZSBwaWQgb2YgdGhlIHByb2Nlc3MuCklmIG1vZGUgPT0gUF9XQUlUIHJldHVybiB0aGUgcHJvY2VzcydzIGV4aXQgY29kZSBpZiBpdCBleGl0cyBub3JtYWxseTsKb3RoZXJ3aXNlIHJldHVybiAtU0lHLCB3aGVyZSBTSUcgaXMgdGhlIHNpZ25hbCB0aGF0IGtpbGxlZCBpdC4gKAIAAABSiQAAAFJFAAAAKAQAAABSJQAAAFJCAAAAUkMAAABSRgAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L29zLnB5dAcAAABzcGF3bnZlNQIAAHMCAAAAAAhjAwAAAAMAAAAGAAAAQwAAAHMWAAAAdAAAfAAAfAEAfAIAZAEAdAIAgwUAUygCAAAAczgBAABzcGF3bnZwKG1vZGUsIGZpbGUsIGFyZ3MpIC0+IGludGVnZXIKCkV4ZWN1dGUgZmlsZSAod2hpY2ggaXMgbG9va2VkIGZvciBhbG9uZyAkUEFUSCkgd2l0aCBhcmd1bWVudHMgZnJvbQphcmdzIGluIGEgc3VicHJvY2Vzcy4KSWYgbW9kZSA9PSBQX05PV0FJVCByZXR1cm4gdGhlIHBpZCBvZiB0aGUgcHJvY2Vzcy4KSWYgbW9kZSA9PSBQX1dBSVQgcmV0dXJuIHRoZSBwcm9jZXNzJ3MgZXhpdCBjb2RlIGlmIGl0IGV4aXRzIG5vcm1hbGx5OwpvdGhlcndpc2UgcmV0dXJuIC1TSUcsIHdoZXJlIFNJRyBpcyB0aGUgc2lnbmFsIHRoYXQga2lsbGVkIGl0LiBOKAMAAABSiQAAAFI0AAAAUkgAAAAoAwAAAFIlAAAAUkIAAABSQwAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L29zLnB5dAcAAABzcGF3bnZwQQIAAHMCAAAAAAhjBAAAAAQAAAAGAAAAQwAAAHMWAAAAdAAAfAAAfAEAfAIAfAMAdAEAgwUAUygBAAAAc1wBAABzcGF3bnZwZShtb2RlLCBmaWxlLCBhcmdzLCBlbnYpIC0+IGludGVnZXIKCkV4ZWN1dGUgZmlsZSAod2hpY2ggaXMgbG9va2VkIGZvciBhbG9uZyAkUEFUSCkgd2l0aCBhcmd1bWVudHMgZnJvbQphcmdzIGluIGEgc3VicHJvY2VzcyB3aXRoIHRoZSBzdXBwbGllZCBlbnZpcm9ubWVudC4KSWYgbW9kZSA9PSBQX05PV0FJVCByZXR1cm4gdGhlIHBpZCBvZiB0aGUgcHJvY2Vzcy4KSWYgbW9kZSA9PSBQX1dBSVQgcmV0dXJuIHRoZSBwcm9jZXNzJ3MgZXhpdCBjb2RlIGlmIGl0IGV4aXRzIG5vcm1hbGx5OwpvdGhlcndpc2UgcmV0dXJuIC1TSUcsIHdoZXJlIFNJRyBpcyB0aGUgc2lnbmFsIHRoYXQga2lsbGVkIGl0LiAoAgAAAFKJAAAAUkoAAAAoBAAAAFIlAAAAUkIAAABSQwAAAFJGAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0CAAAAHNwYXdudnBlSwIAAHMCAAAAAAhjAgAAAAMAAAAEAAAARwAAAHMQAAAAdAAAfAAAfAEAfAIAgwMAUygBAAAAcxYBAABzcGF3bmwobW9kZSwgZmlsZSwgKmFyZ3MpIC0+IGludGVnZXIKCkV4ZWN1dGUgZmlsZSB3aXRoIGFyZ3VtZW50cyBmcm9tIGFyZ3MgaW4gYSBzdWJwcm9jZXNzLgpJZiBtb2RlID09IFBfTk9XQUlUIHJldHVybiB0aGUgcGlkIG9mIHRoZSBwcm9jZXNzLgpJZiBtb2RlID09IFBfV0FJVCByZXR1cm4gdGhlIHByb2Nlc3MncyBleGl0IGNvZGUgaWYgaXQgZXhpdHMgbm9ybWFsbHk7Cm90aGVyd2lzZSByZXR1cm4gLVNJRywgd2hlcmUgU0lHIGlzIHRoZSBzaWduYWwgdGhhdCBraWxsZWQgaXQuICgBAAAAUn4AAAAoAwAAAFIlAAAAUkIAAABSQwAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L29zLnB5dAYAAABzcGF3bmxZAgAAcwIAAAAAB2MCAAAABAAAAAUAAABHAAAAcyEAAAB8AgBkAQAZfQMAdAAAfAAAfAEAfAIAZAEAIHwDAIMEAFMoAgAAAHM6AQAAc3Bhd25sZShtb2RlLCBmaWxlLCAqYXJncywgZW52KSAtPiBpbnRlZ2VyCgpFeGVjdXRlIGZpbGUgd2l0aCBhcmd1bWVudHMgZnJvbSBhcmdzIGluIGEgc3VicHJvY2VzcyB3aXRoIHRoZQpzdXBwbGllZCBlbnZpcm9ubWVudC4KSWYgbW9kZSA9PSBQX05PV0FJVCByZXR1cm4gdGhlIHBpZCBvZiB0aGUgcHJvY2Vzcy4KSWYgbW9kZSA9PSBQX1dBSVQgcmV0dXJuIHRoZSBwcm9jZXNzJ3MgZXhpdCBjb2RlIGlmIGl0IGV4aXRzIG5vcm1hbGx5OwpvdGhlcndpc2UgcmV0dXJuIC1TSUcsIHdoZXJlIFNJRyBpcyB0aGUgc2lnbmFsIHRoYXQga2lsbGVkIGl0LiBp/////ygBAAAAUooAAAAoBAAAAFIlAAAAUkIAAABSQwAAAFJGAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0BwAAAHNwYXdubGViAgAAcwQAAAAACAoBUooAAABSjQAAAFKOAAAAUosAAABjAgAAAAMAAAAEAAAARwAAAHMQAAAAdAAAfAAAfAEAfAIAgwMAUygBAAAAc1cBAABzcGF3bmxwKG1vZGUsIGZpbGUsICphcmdzKSAtPiBpbnRlZ2VyCgpFeGVjdXRlIGZpbGUgKHdoaWNoIGlzIGxvb2tlZCBmb3IgYWxvbmcgJFBBVEgpIHdpdGggYXJndW1lbnRzIGZyb20KYXJncyBpbiBhIHN1YnByb2Nlc3Mgd2l0aCB0aGUgc3VwcGxpZWQgZW52aXJvbm1lbnQuCklmIG1vZGUgPT0gUF9OT1dBSVQgcmV0dXJuIHRoZSBwaWQgb2YgdGhlIHByb2Nlc3MuCklmIG1vZGUgPT0gUF9XQUlUIHJldHVybiB0aGUgcHJvY2VzcydzIGV4aXQgY29kZSBpZiBpdCBleGl0cyBub3JtYWxseTsKb3RoZXJ3aXNlIHJldHVybiAtU0lHLCB3aGVyZSBTSUcgaXMgdGhlIHNpZ25hbCB0aGF0IGtpbGxlZCBpdC4gKAEAAABSiwAAACgDAAAAUiUAAABSQgAAAFJDAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0BwAAAHNwYXdubHB0AgAAcwIAAAAACGMCAAAABAAAAAUAAABHAAAAcyEAAAB8AgBkAQAZfQMAdAAAfAAAfAEAfAIAZAEAIHwDAIMEAFMoAgAAAHNdAQAAc3Bhd25scGUobW9kZSwgZmlsZSwgKmFyZ3MsIGVudikgLT4gaW50ZWdlcgoKRXhlY3V0ZSBmaWxlICh3aGljaCBpcyBsb29rZWQgZm9yIGFsb25nICRQQVRIKSB3aXRoIGFyZ3VtZW50cyBmcm9tCmFyZ3MgaW4gYSBzdWJwcm9jZXNzIHdpdGggdGhlIHN1cHBsaWVkIGVudmlyb25tZW50LgpJZiBtb2RlID09IFBfTk9XQUlUIHJldHVybiB0aGUgcGlkIG9mIHRoZSBwcm9jZXNzLgpJZiBtb2RlID09IFBfV0FJVCByZXR1cm4gdGhlIHByb2Nlc3MncyBleGl0IGNvZGUgaWYgaXQgZXhpdHMgbm9ybWFsbHk7Cm90aGVyd2lzZSByZXR1cm4gLVNJRywgd2hlcmUgU0lHIGlzIHRoZSBzaWduYWwgdGhhdCBraWxsZWQgaXQuIGn/////KAEAAABSjAAAACgEAAAAUiUAAABSQgAAAFJDAAAAUkYAAAAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9vcy5weXQIAAAAc3Bhd25scGV+AgAAcwQAAAAACAoBUowAAABSjwAAAFKQAAAAdAYAAABwb3BlbjJ0AQAAAHRjAwAAAAgAAAAMAAAAQwAAAHODAAAAZAEAZAIAbAAAfQMAZAMAfQQAfAMAagEAfAQAdAIAZAQAZAUAgwIBAWQBAGQCAGwDAH0FAHwFAGoEAH0GAHwFAGoFAHwAAGQGAHQGAHwAAHQHAIMCAGQHAHwCAGQIAHwGAGQJAHwGAGQKAHQIAIMBBX0HAHwHAGoJAHwHAGoKAGYCAFMoCwAAAHPPAQAARXhlY3V0ZSB0aGUgc2hlbGwgY29tbWFuZCAnY21kJyBpbiBhIHN1Yi1wcm9jZXNzLiAgT24gVU5JWCwgJ2NtZCcKICAgICAgICAgICAgbWF5IGJlIGEgc2VxdWVuY2UsIGluIHdoaWNoIGNhc2UgYXJndW1lbnRzIHdpbGwgYmUgcGFzc2VkIGRpcmVjdGx5IHRvCiAgICAgICAgICAgIHRoZSBwcm9ncmFtIHdpdGhvdXQgc2hlbGwgaW50ZXJ2ZW50aW9uIChhcyB3aXRoIG9zLnNwYXdudigpKS4gIElmICdjbWQnCiAgICAgICAgICAgIGlzIGEgc3RyaW5nIGl0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBzaGVsbCAoYXMgd2l0aCBvcy5zeXN0ZW0oKSkuIElmCiAgICAgICAgICAgICdidWZzaXplJyBpcyBzcGVjaWZpZWQsIGl0IHNldHMgdGhlIGJ1ZmZlciBzaXplIGZvciB0aGUgSS9PIHBpcGVzLiAgVGhlCiAgICAgICAgICAgIGZpbGUgb2JqZWN0cyAoY2hpbGRfc3RkaW4sIGNoaWxkX3N0ZG91dCkgYXJlIHJldHVybmVkLmn/////TnM0AAAAb3MucG9wZW4yIGlzIGRlcHJlY2F0ZWQuICBVc2UgdGhlIHN1YnByb2Nlc3MgbW9kdWxlLnQKAAAAc3RhY2tsZXZlbGkCAAAAdAUAAABzaGVsbHQHAAAAYnVmc2l6ZXQFAAAAc3RkaW50BgAAAHN0ZG91dHQJAAAAY2xvc2VfZmRzKAsAAAB0CAAAAHdhcm5pbmdzdAQAAAB3YXJudBIAAABEZXByZWNhdGlvbldhcm5pbmd0CgAAAHN1YnByb2Nlc3N0BAAAAFBJUEV0BQAAAFBvcGVudAoAAABpc2luc3RhbmNldAoAAABiYXNlc3RyaW5ndAQAAABUcnVlUpYAAABSlwAAACgIAAAAdAMAAABjbWRSJQAAAFKVAAAAUpkAAAB0AwAAAG1zZ1KcAAAAUp0AAAB0AQAAAHAoAAAAACgAAAAAc0oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9vcy5weVKRAAAAkAIAAHMSAAAAAAcMAQYBFgIMAQkBGwESAQkBdAYAAABwb3BlbjNjAwAAAAgAAAAOAAAAQwAAAHOPAAAAZAEAZAIAbAAAfQMAZAMAfQQAfAMAagEAfAQAdAIAZAQAZAUAgwIBAWQBAGQCAGwDAH0FAHwFAGoEAH0GAHwFAGoFAHwAAGQGAHQGAHwAAHQHAIMCAGQHAHwCAGQIAHwGAGQJAHwGAGQKAHwGAGQLAHQIAIMBBn0HAHwHAGoJAHwHAGoKAHwHAGoLAGYDAFMoDAAAAHPdAQAARXhlY3V0ZSB0aGUgc2hlbGwgY29tbWFuZCAnY21kJyBpbiBhIHN1Yi1wcm9jZXNzLiAgT24gVU5JWCwgJ2NtZCcKICAgICAgICAgICAgbWF5IGJlIGEgc2VxdWVuY2UsIGluIHdoaWNoIGNhc2UgYXJndW1lbnRzIHdpbGwgYmUgcGFzc2VkIGRpcmVjdGx5IHRvCiAgICAgICAgICAgIHRoZSBwcm9ncmFtIHdpdGhvdXQgc2hlbGwgaW50ZXJ2ZW50aW9uIChhcyB3aXRoIG9zLnNwYXdudigpKS4gIElmICdjbWQnCiAgICAgICAgICAgIGlzIGEgc3RyaW5nIGl0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBzaGVsbCAoYXMgd2l0aCBvcy5zeXN0ZW0oKSkuIElmCiAgICAgICAgICAgICdidWZzaXplJyBpcyBzcGVjaWZpZWQsIGl0IHNldHMgdGhlIGJ1ZmZlciBzaXplIGZvciB0aGUgSS9PIHBpcGVzLiAgVGhlCiAgICAgICAgICAgIGZpbGUgb2JqZWN0cyAoY2hpbGRfc3RkaW4sIGNoaWxkX3N0ZG91dCwgY2hpbGRfc3RkZXJyKSBhcmUgcmV0dXJuZWQuaf////9OczQAAABvcy5wb3BlbjMgaXMgZGVwcmVjYXRlZC4gIFVzZSB0aGUgc3VicHJvY2VzcyBtb2R1bGUuUpMAAABpAgAAAFKUAAAAUpUAAABSlgAAAFKXAAAAdAYAAABzdGRlcnJSmAAAACgMAAAAUpkAAABSmgAAAFKbAAAAUpwAAABSnQAAAFKeAAAAUp8AAABSoAAAAFKhAAAAUpYAAABSlwAAAFKmAAAAKAgAAABSogAAAFIlAAAAUpUAAABSmQAAAFKjAAAAUpwAAABSnQAAAFKkAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHlSpQAAAKQCAABzEgAAAAAHDAEGARYCDAEJARsBEgEPAXQGAAAAcG9wZW40YwMAAAAIAAAADgAAAEMAAABzjAAAAGQBAGQCAGwAAH0DAGQDAH0EAHwDAGoBAHwEAHQCAGQEAGQFAIMCAQFkAQBkAgBsAwB9BQB8BQBqBAB9BgB8BQBqBQB8AABkBgB0BgB8AAB0BwCDAgBkBwB8AgBkCAB8BgBkCQB8BgBkCgB8BQBqCABkCwB0CQCDAQZ9BwB8BwBqCgB8BwBqCwBmAgBTKAwAAABz1gEAAEV4ZWN1dGUgdGhlIHNoZWxsIGNvbW1hbmQgJ2NtZCcgaW4gYSBzdWItcHJvY2Vzcy4gIE9uIFVOSVgsICdjbWQnCiAgICAgICAgICAgIG1heSBiZSBhIHNlcXVlbmNlLCBpbiB3aGljaCBjYXNlIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCBkaXJlY3RseSB0bwogICAgICAgICAgICB0aGUgcHJvZ3JhbSB3aXRob3V0IHNoZWxsIGludGVydmVudGlvbiAoYXMgd2l0aCBvcy5zcGF3bnYoKSkuICBJZiAnY21kJwogICAgICAgICAgICBpcyBhIHN0cmluZyBpdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgc2hlbGwgKGFzIHdpdGggb3Muc3lzdGVtKCkpLiBJZgogICAgICAgICAgICAnYnVmc2l6ZScgaXMgc3BlY2lmaWVkLCBpdCBzZXRzIHRoZSBidWZmZXIgc2l6ZSBmb3IgdGhlIEkvTyBwaXBlcy4gIFRoZQogICAgICAgICAgICBmaWxlIG9iamVjdHMgKGNoaWxkX3N0ZGluLCBjaGlsZF9zdGRvdXRfc3RkZXJyKSBhcmUgcmV0dXJuZWQuaf////9OczQAAABvcy5wb3BlbjQgaXMgZGVwcmVjYXRlZC4gIFVzZSB0aGUgc3VicHJvY2VzcyBtb2R1bGUuUpMAAABpAgAAAFKUAAAAUpUAAABSlgAAAFKXAAAAUqYAAABSmAAAACgMAAAAUpkAAABSmgAAAFKbAAAAUpwAAABSnQAAAFKeAAAAUp8AAABSoAAAAHQGAAAAU1RET1VUUqEAAABSlgAAAFKXAAAAKAgAAABSogAAAFIlAAAAUpUAAABSmQAAAFKjAAAAUpwAAABSnQAAAFKkAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHlSpwAAALgCAABzEgAAAAAHDAEGARYCDAEJARsBEgESAWMCAAAAAgAAAAMAAABDAAAAcw0AAAB0AAB8AAB8AQCDAgBTKAEAAABOKAEAAAB0CwAAAHN0YXRfcmVzdWx0KAIAAAB0AwAAAHR1cFJzAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0EQAAAF9tYWtlX3N0YXRfcmVzdWx0zQIAAHMCAAAAAAFjAQAAAAMAAAACAAAAQwAAAHMcAAAAfAAAagAAgwAAXAIAfQEAfQIAdAEAfAIAZgIAUygBAAAATigCAAAAdAoAAABfX3JlZHVjZV9fUqsAAAAoAwAAAHQCAAAAc3J0BAAAAHR5cGVSQwAAACgAAAAAKAAAAABzSgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L29zLnB5dBMAAABfcGlja2xlX3N0YXRfcmVzdWx00AIAAHMEAAAAAAESAWMCAAAAAgAAAAMAAABDAAAAcw0AAAB0AAB8AAB8AQCDAgBTKAEAAABOKAEAAAB0DgAAAHN0YXR2ZnNfcmVzdWx0KAIAAABSqgAAAFJzAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0FAAAAF9tYWtlX3N0YXR2ZnNfcmVzdWx02QIAAHMCAAAAAAFjAQAAAAMAAAACAAAAQwAAAHMcAAAAfAAAagAAgwAAXAIAfQEAfQIAdAEAfAIAZgIAUygBAAAATigCAAAAUqwAAABSsQAAACgDAAAAUq0AAABSrgAAAFJDAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0FgAAAF9waWNrbGVfc3RhdHZmc19yZXN1bHTcAgAAcwQAAAAAARIBKAIAAABzAwAAAG9zMnMCAAAAbnQoAgAAAHMDAAAAb3MycwIAAABudChYAAAAdAcAAABfX2RvY19fUk8AAABSIgAAAHQUAAAAYnVpbHRpbl9tb2R1bGVfbmFtZXN0BgAAAF9uYW1lc1IQAAAAUhUAAABSCAAAAFIGAAAAUhYAAABSGAAAAHQLAAAASW1wb3J0RXJyb3J0CQAAAHBvc2l4cGF0aFIJAAAAdAYAAABleHRlbmRSGQAAAHQGAAAAbnRwYXRoUhoAAAB0BwAAAHZlcnNpb250BAAAAGZpbmR0CgAAAG9zMmVteHBhdGh0CQAAAF9lbXhfbGlua1IbAAAAUhwAAABSHQAAAHQKAAAAcmlzY29zcGF0aHQHAAAAbW9kdWxlc3QHAAAAb3MucGF0aFIBAAAAUgIAAABSAwAAAFIFAAAAUgcAAABSBAAAAFIAAAAAUgoAAABSCwAAAFIMAAAAUg0AAABSIAAAAFIrAAAAUi8AAABSoQAAAFI0AAAAdAUAAABGYWxzZVI2AAAAUjUAAABSTgAAAFJ4AAAAUkQAAABSRwAAAFJJAAAAUksAAABSSAAAAFJKAAAAUkwAAABSWwAAAFJfAAAAUl0AAAB0DQAAAHJpc2Nvc2Vudmlyb25SXgAAAHQQAAAASXRlcmFibGVVc2VyRGljdFJ6AAAAUnwAAAB0BgAAAFBfV0FJVFJ/AAAAdAkAAABQX05PV0FJVE9SiQAAAFJ+AAAAUooAAABSiwAAAFKMAAAAUo0AAABSjgAAAFKPAAAAUpAAAABSkQAAAFKlAAAAUqcAAAB0CAAAAGNvcHlfcmVndAkAAABfY29weV9yZWdSqwAAAFKvAAAAdAYAAABwaWNrbGVSqQAAAFKxAAAAUrIAAABSsAAAACgAAAAAKAAAAAAoAAAAAHNKAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvb3MucHl0CAAAADxtb2R1bGU+FgAAAHMsAQAABgQYAgkDFQEMAQ8CCQYMAQYBBgEKAQMBFAENAQQBDAIMARMBBgIMAQYBBgEKAQMBFAENAQQBDAIMARMBBgIMAQYBBgEKAQMBFAENAQQBGAEPAgwBEAIMARMBBgIMAQYBBgEKAQMBFAENAQQCDAIMARMBBgIMAQYBBgEKAQMBFAENAQQBDAIMARMBBgMJAg0BOgMDBAYBBgEGBwwXCRYJGhYCEloNAwMBCAENAQoCCQcJCAkHCQkJCAkJHwIMIwMCCAENAQQCDAYMAQwDDAITAQwCHDUZKgwCDAQNAgkEJQIGAQoGCRsJCQkMCQoMCgwECQkJDBwDDAMJCgkMHAQMAQwBDxEQAgwBDxEQAgwBDxETAgwCCQMJBAMBFwENAQQCCQMJBAMBDAELAQ0B