A/MNCi9c/FVjAAAAAAAAAAAIAAAAQAAAAHPzAAAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAEAZAMAbAMAbQQAWgQAbQUAWgUAAWUFAGQEAGQFAGUGAIMBAQFkAQBkBgBsBwBtBwBaBwABZAcAWggAZAgAWgkAZAkAWgoAZCwAZC0AZC4AZC8AZDAAZDEAZDIAZwcAWgsAZDMAZDQAZDUAZDYAZDcAZDgAZwYAWgwAZDkAZDoAZDsAZDwAZD0AZD4AZwYAWg0AZCcAWg4AZCgAZQEAag8AZgEAZCkAhAAAgwAAWVoQAGQqAIQAAFoRAGUSAGQrAGsCAHLvAGURAIMAAAFuAABkAgBTKD8AAABz1QAAAFRlc3QgcHJvZ3JhbSBmb3IgTWltZVdyaXRlciBtb2R1bGUuCgpUaGUgdGVzdCBwcm9ncmFtIHdhcyB0b28gYmlnIHRvIGNvbWZvcnRhYmx5IGZpdCBpbiB0aGUgTWltZVdyaXRlcgpjbGFzcywgc28gaXQncyBoZXJlIGluIGl0cyBvd24gZmlsZS4KClRoaXMgc2hvdWxkIGdlbmVyYXRlIEJhcnJ5J3MgZXhhbXBsZSwgbW9kdWxvIHNvbWUgcXVvdGVzIGFuZCBuZXdsaW5lcy4KCmn/////TigCAAAAdAwAAABydW5fdW5pdHRlc3R0DQAAAGltcG9ydF9tb2R1bGV0CgAAAE1pbWVXcml0ZXJ0CgAAAGRlcHJlY2F0ZWQoAQAAAFICAAAAc5YAAABJTlRFUkZBQ0UgU2VsbGVyLTE7CgpUWVBFIFNlbGxlciA9IE9CSkVDVAogICAgRE9DVU1FTlRBVElPTiAiQSBzaW1wbGUgU2VsbGVyIGludGVyZmFjZSB0byB0ZXN0IElMVSIKICAgIE1FVEhPRFMKICAgICAgICAgICAgcHJpY2UoKTpJTlRFR0VSLAogICAgRU5EOwpzSQIAAGNsYXNzIEJ1eWVyOgogICAgZGVmIF9fc2V0dXBfXyhzZWxmLCBtYXhwcmljZSk6CiAgICAgICAgc2VsZi5fbWF4cHJpY2UgPSBtYXhwcmljZQoKICAgIGRlZiBfX21haW5fXyhzZWxmLCBrb3MpOgogICAgICAgICIiIkVudHJ5IHBvaW50IHVwb24gYXJyaXZhbCBhdCBhIG5ldyBLT1MuIiIiCiAgICAgICAgYnJva2VyID0ga29zLmJyb2tlcigpCiAgICAgICAgIyBCNCA9PSBCYXJyeSdzIEJpZyBCYXNzIEJ1c2luZXNzIDotKQogICAgICAgIHNlbGxlciA9IGJyb2tlci5sb29rdXAoJ1NlbGxlcl8xLlNlbGxlcicsICdCNCcpCiAgICAgICAgaWYgc2VsbGVyOgogICAgICAgICAgICBwcmljZSA9IHNlbGxlci5wcmljZSgpCiAgICAgICAgICAgIHByaW50ICdTZWxsZXIgd2FudHMgJCcsIHByaWNlLCAnLi4uICcKICAgICAgICAgICAgaWYgcHJpY2UgPiBzZWxmLl9tYXhwcmljZToKICAgICAgICAgICAgICAgIHByaW50ICd0b28gbXVjaCEnCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBwcmludCAiSSdsbCB0YWtlIGl0ISIKICAgICAgICBlbHNlOgogICAgICAgICAgICBwcmludCAnbm8gc2VsbGVyIGZvdW5kIGhlcmUnCnN5AAAAIyBpbnN0YW50aWF0ZSBhIGJ1eWVyIGluc3RhbmNlIGFuZCBwdXQgaXQgaW4gYSBtYWdpYyBwbGFjZSBmb3IgdGhlIEtPUwojIHRvIGZpbmQuCl9fa3BfXyA9IEJ1eWVyKCkKX19rcF9fLl9fc2V0dXBfXyg1MDApCnQLAAAASW50ZXJwcmV0ZXJ0BgAAAHB5dGhvbnMTAAAASW50ZXJwcmV0ZXItVmVyc2lvbnMDAAAAMS4zcwoAAABPd25lci1OYW1lcwwAAABCYXJyeSBXYXJzYXdzEAAAAE93bmVyLVJlbmRlenZvdXNzGQAAAGJ3YXJzYXdAY25yaS5yZXN0b24udmEudXNzCAAAAEhvbWUtS1NTcxUAAABrc3MuY25yaS5yZXN0b24udmEudXN0CgAAAElkZW50aWZpZXJzHwAAAGhkbDovL2Nucmkua3NzL215X2ZpcnN0X2tub3dib3RzCwAAAExhdW5jaC1EYXRlcxwAAABNb24gRmViIDEyIDE2OjM5OjAzIEVTVCAxOTk2cw0AAABNZXRhZGF0YS1UeXBldAcAAABjb21wbGV4cwwAAABNZXRhZGF0YS1LZXl0CgAAAGNvbm5lY3Rpb250BgAAAEFjY2Vzc3MJAAAAcmVhZC1vbmx5cxYAAABDb25uZWN0aW9uLURlc2NyaXB0aW9ucxkAAABCYXJyeSdzIEJpZyBCYXNzIEJ1c2luZXNzcw0AAABDb25uZWN0aW9uLUlkdAIAAABCNHMUAAAAQ29ubmVjdGlvbi1EaXJlY3Rpb250BgAAAGNsaWVudHMRAAAAZ2VuZXJpYy1pbnRlcmZhY2VzIgAAAEdlbmVyaWMgSW50ZXJmYWNlIGZvciBBbGwgS25vd2JvdHNzCgAAAGdlbmVyaWMta3BzpwkAAEZyb206IGJ3YXJzYXdAY25yaS5yZXN0b24udmEudXMKRGF0ZTogTW9uIEZlYiAxMiAxNzoyMTo0OCBFU1QgMTk5NgpUbzoga3NzLXN1Ym1pdEBjbnJpLnJlc3Rvbi52YS51cwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IG11bHRpcGFydC9rbm93Ym90OwogICAgYm91bmRhcnk9IjgwMXNwYW05OTkiOwogICAgdmVyc2lvbj0iMC4xIgoKVGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KCi0tODAxc3BhbTk5OQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9rbm93Ym90LW1ldGFkYXRhOwogICAgYm91bmRhcnk9IjgwMnNwYW05OTkiCgoKLS04MDJzcGFtOTk5CkNvbnRlbnQtVHlwZTogbWVzc2FnZS9yZmM4MjIKS1AtTWV0YWRhdGEtVHlwZTogc2ltcGxlCktQLUFjY2VzczogcmVhZC1vbmx5CgpLUE1ELUludGVycHJldGVyOiBweXRob24KS1BNRC1JbnRlcnByZXRlci1WZXJzaW9uOiAxLjMKS1BNRC1Pd25lci1OYW1lOiBCYXJyeSBXYXJzYXcKS1BNRC1Pd25lci1SZW5kZXp2b3VzOiBid2Fyc2F3QGNucmkucmVzdG9uLnZhLnVzCktQTUQtSG9tZS1LU1M6IGtzcy5jbnJpLnJlc3Rvbi52YS51cwpLUE1ELUlkZW50aWZpZXI6IGhkbDovL2Nucmkua3NzL215X2ZpcnN0X2tub3dib3QKS1BNRC1MYXVuY2gtRGF0ZTogTW9uIEZlYiAxMiAxNjozOTowMyBFU1QgMTk5NgoKLS04MDJzcGFtOTk5CkNvbnRlbnQtVHlwZTogdGV4dC9pc2wKS1AtTWV0YWRhdGEtVHlwZTogY29tcGxleApLUC1NZXRhZGF0YS1LZXk6IGNvbm5lY3Rpb24KS1AtQWNjZXNzOiByZWFkLW9ubHkKS1AtQ29ubmVjdGlvbi1EZXNjcmlwdGlvbjogQmFycnkncyBCaWcgQmFzcyBCdXNpbmVzcwpLUC1Db25uZWN0aW9uLUlkOiBCNApLUC1Db25uZWN0aW9uLURpcmVjdGlvbjogY2xpZW50CgpJTlRFUkZBQ0UgU2VsbGVyLTE7CgpUWVBFIFNlbGxlciA9IE9CSkVDVAogICAgRE9DVU1FTlRBVElPTiAiQSBzaW1wbGUgU2VsbGVyIGludGVyZmFjZSB0byB0ZXN0IElMVSIKICAgIE1FVEhPRFMKICAgICAgICAgICAgcHJpY2UoKTpJTlRFR0VSLAogICAgRU5EOwoKLS04MDJzcGFtOTk5CkNvbnRlbnQtVHlwZTogbWVzc2FnZS9leHRlcm5hbC1ib2R5OwogICAgYWNjZXNzLXR5cGU9IlVSTCI7CiAgICBVUkw9ImhkbDovL2Nucmkua3NzL2dlbmVyaWMta25vd2JvdCIKCkNvbnRlbnQtVHlwZTogdGV4dC9pc2wKS1AtTWV0YWRhdGEtVHlwZTogY29tcGxleApLUC1NZXRhZGF0YS1LZXk6IGdlbmVyaWMtaW50ZXJmYWNlCktQLUFjY2VzczogcmVhZC1vbmx5CktQLUNvbm5lY3Rpb24tRGVzY3JpcHRpb246IEdlbmVyaWMgSW50ZXJmYWNlIGZvciBBbGwgS25vd2JvdHMKS1AtQ29ubmVjdGlvbi1JZDogZ2VuZXJpYy1rcApLUC1Db25uZWN0aW9uLURpcmVjdGlvbjogY2xpZW50CgoKLS04MDJzcGFtOTk5LS0KCi0tODAxc3BhbTk5OQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9rbm93Ym90LWNvZGU7CiAgICBib3VuZGFyeT0iODAzc3BhbTk5OSIKCgotLTgwM3NwYW05OTkKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCktQLU1vZHVsZS1OYW1lOiBCdXllcktQCgpjbGFzcyBCdXllcjoKICAgIGRlZiBfX3NldHVwX18oc2VsZiwgbWF4cHJpY2UpOgogICAgICAgIHNlbGYuX21heHByaWNlID0gbWF4cHJpY2UKCiAgICBkZWYgX19tYWluX18oc2VsZiwga29zKToKICAgICAgICAiIiJFbnRyeSBwb2ludCB1cG9uIGFycml2YWwgYXQgYSBuZXcgS09TLiIiIgogICAgICAgIGJyb2tlciA9IGtvcy5icm9rZXIoKQogICAgICAgICMgQjQgPT0gQmFycnkncyBCaWcgQmFzcyBCdXNpbmVzcyA6LSkKICAgICAgICBzZWxsZXIgPSBicm9rZXIubG9va3VwKCdTZWxsZXJfMS5TZWxsZXInLCAnQjQnKQogICAgICAgIGlmIHNlbGxlcjoKICAgICAgICAgICAgcHJpY2UgPSBzZWxsZXIucHJpY2UoKQogICAgICAgICAgICBwcmludCAnU2VsbGVyIHdhbnRzICQnLCBwcmljZSwgJy4uLiAnCiAgICAgICAgICAgIGlmIHByaWNlID4gc2VsZi5fbWF4cHJpY2U6CiAgICAgICAgICAgICAgICBwcmludCAndG9vIG11Y2ghJwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcHJpbnQgIkknbGwgdGFrZSBpdCEiCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcHJpbnQgJ25vIHNlbGxlciBmb3VuZCBoZXJlJwoKLS04MDNzcGFtOTk5LS0KCi0tODAxc3BhbTk5OQpDb250ZW50LVR5cGU6IG11bHRpcGFydC9rbm93Ym90LXN0YXRlOwogICAgYm91bmRhcnk9IjgwNHNwYW05OTkiCktQLU1haW4tTW9kdWxlOiBtYWluCgoKLS04MDRzcGFtOTk5CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgpLUC1Nb2R1bGUtTmFtZTogbWFpbgoKIyBpbnN0YW50aWF0ZSBhIGJ1eWVyIGluc3RhbmNlIGFuZCBwdXQgaXQgaW4gYSBtYWdpYyBwbGFjZSBmb3IgdGhlIEtPUwojIHRvIGZpbmQuCl9fa3BfXyA9IEJ1eWVyKCkKX19rcF9fLl9fc2V0dXBfXyg1MDApCgotLTgwNHNwYW05OTktLQoKLS04MDFzcGFtOTk5LS0KdA4AAABNaW1ld3JpdGVyVGVzdGMAAAAAAAAAAAEAAABCAAAAcxEAAABlAABaAQBkAACEAABaAgBSUygBAAAAYwEAAAAPAAAABgAAAEMAAABz0AIAAHQAAGoAAIMAAH0BAHQBAHwBAIMBAH0CAHwCAGoCAGQBAGQCAIMCAAF8AgBqAgBkAwBkBACDAgABfAIAagIAZAUAZAYAgwIAAXwCAGoCAGQHAGQIAIMCAAF8AgBqAwBkCQBkCgBkJwBnAQBkDQBkDgCDAwF9AwB8AwBqBABkDwCDAQABfAIAagUAgwAAfQQAfAQAagMAZBAAZBEAgwIAAXwEAGoFAIMAAH0FAHwFAGoCAGQSAGQTAIMCAAF8BQBqAgBkFABkFQCDAgABdAEAfAUAagYAZBYAgwEAgwEAfQYAeCgAdAcARF0gAFwCAH0HAH0IAHwGAGoCAGQXAHwHABd8CACDAgABcecAV3wGAGoIAIMAAAF+BQB8BABqBQCDAAB9CQB4KAB0CQBEXSAAXAIAfQcAfQgAfAkAagIAZBgAfAcAF3wIAIMCAAFxKwFXfAkAagYAZBkAgwEAfQMAfAMAagQAdAoAgwEAAX4JAHwEAGoFAIMAAH0KAHwKAGoGAGQaAGQoAGQpAGcCAIMCAH0DAHQBAHwDAIMBAH0GAHgoAHQLAERdIABcAgB9BwB9CAB8CgBqAgBkGAB8BwAXfAgAgwIAAXGlAVd8CgBqBgBkGQCDAQABfAQAagwAgwAAAXwCAGoFAIMAAH0LAHwLAGoDAGQeAGQfAIMCAAF8CwBqBQCDAAB9DAB8DABqAgBkIABkIQCDAgABfAwAagYAZCIAgwEAfQMAfAMAagQAdA0AgwEAAXwLAGoMAIMAAAF8AgBqBQCDAAB9DQB8DQBqAgBkIwBkJACDAgABfA0AagMAZCUAZCYAgwIAAXwNAGoFAIMAAH0OAHwOAGoCAGQgAGQkAIMCAAF8DgBqBgBkIgCDAQB9AwB8AwBqBAB0DgCDAQABfA0AagwAgwAAAXwCAGoMAIMAAAF8AABqDwB8AQBqEACDAAB0EQCDAgABZAAAUygqAAAATnQEAAAARnJvbXMZAAAAYndhcnNhd0BjbnJpLnJlc3Rvbi52YS51c3QEAAAARGF0ZXMcAAAATW9uIEZlYiAxMiAxNzoyMTo0OCBFU1QgMTk5NnQCAAAAVG9zHAAAAGtzcy1zdWJtaXRAY25yaS5yZXN0b24udmEudXNzDAAAAE1JTUUtVmVyc2lvbnMDAAAAMS4wdAcAAABrbm93Ym90dAoAAAA4MDFzcGFtOTk5dAcAAAB2ZXJzaW9ucwMAAAAwLjF0BgAAAHByZWZpeGkAAAAAcy0AAABUaGlzIGlzIGEgbXVsdGktcGFydCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0LgpzEAAAAGtub3dib3QtbWV0YWRhdGF0CgAAADgwMnNwYW05OTlzEAAAAEtQLU1ldGFkYXRhLVR5cGV0BgAAAHNpbXBsZXMJAAAAS1AtQWNjZXNzcwkAAAByZWFkLW9ubHlzDgAAAG1lc3NhZ2UvcmZjODIycwUAAABLUE1ELXMDAAAAS1AtcwgAAAB0ZXh0L2lzbHMVAAAAbWVzc2FnZS9leHRlcm5hbC1ib2R5cwsAAABhY2Nlc3MtdHlwZXQDAAAAVVJMcx4AAABoZGw6Ly9jbnJpLmtzcy9nZW5lcmljLWtub3dib3RzDAAAAGtub3dib3QtY29kZXQKAAAAODAzc3BhbTk5OXMOAAAAS1AtTW9kdWxlLU5hbWV0BwAAAEJ1eWVyS1BzCgAAAHRleHQvcGxhaW5zDgAAAEtQLU1haW4tTW9kdWxldAQAAABtYWlucw0AAABrbm93Ym90LXN0YXRldAoAAAA4MDRzcGFtOTk5KAIAAABzBwAAAHZlcnNpb25zAwAAADAuMSgCAAAAcwsAAABhY2Nlc3MtdHlwZVIWAAAAKAIAAABSFgAAAHMeAAAAaGRsOi8vY25yaS5rc3MvZ2VuZXJpYy1rbm93Ym90KBIAAAB0CAAAAFN0cmluZ0lPUgIAAAB0CQAAAGFkZGhlYWRlcnQSAAAAc3RhcnRtdWx0aXBhcnRib2R5dAUAAAB3cml0ZXQIAAAAbmV4dHBhcnR0CQAAAHN0YXJ0Ym9keXQPAAAAU0lNUExFX01FVEFEQVRBdAwAAABmbHVzaGhlYWRlcnN0EAAAAENPTVBMRVhfTUVUQURBVEF0BgAAAFNFTExFUnQRAAAARVhURVJOQUxfTUVUQURBVEF0CAAAAGxhc3RwYXJ0dAUAAABCVVlFUnQFAAAAU1RBVEV0CwAAAGFzc2VydEVxdWFsdAgAAABnZXR2YWx1ZXQGAAAAT1VUUFVUKA8AAAB0BAAAAHNlbGZ0AwAAAGJ1ZnQIAAAAdG9wbGV2ZWx0AQAAAGZ0AgAAAG1kdAMAAABtZDF0AQAAAG10AwAAAGtleXQFAAAAdmFsdWV0AwAAAG1kMnQDAAAAbWQzdAQAAABjb2RldAUAAABidXllcnQFAAAAc3RhdGV0AgAAAHN0KAAAAAAoAAAAAHNbAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3RfTWltZVdyaXRlci5weXQEAAAAdGVzdMUAAABzZgAAAAABDAQMARABEAEQARAEDAESAQ0EDAEQBAwBEAEQARUBEwEYAQoBAwQMARMBGAEPAQ0BAwQMAQkBAwEMAQwBEwEYAQ0DCgQMARAEDAEQAQ8BDQIKBAwBEAEQBAwBEAEPAQ0CCgQKAigDAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX1I7AAAAKAAAAAAoAAAAACgAAAAAc1sAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9NaW1lV3JpdGVyLnB5UgwAAADDAAAAcwIAAAAGAmMAAAAAAAAAAAIAAABDAAAAcw4AAAB0AAB0AQCDAQABZAAAUygBAAAATigCAAAAUgAAAABSDAAAACgAAAAAKAAAAAAoAAAAAHNbAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3RfTWltZVdyaXRlci5weXQJAAAAdGVzdF9tYWluIAEAAHMCAAAAAAF0CAAAAF9fbWFpbl9fKAIAAABSBAAAAHMGAAAAcHl0aG9uKAIAAABzEwAAAEludGVycHJldGVyLVZlcnNpb25zAwAAADEuMygCAAAAcwoAAABPd25lci1OYW1lcwwAAABCYXJyeSBXYXJzYXcoAgAAAHMQAAAAT3duZXItUmVuZGV6dm91c3MZAAAAYndhcnNhd0BjbnJpLnJlc3Rvbi52YS51cygCAAAAcwgAAABIb21lLUtTU3MVAAAAa3NzLmNucmkucmVzdG9uLnZhLnVzKAIAAABSBgAAAHMfAAAAaGRsOi8vY25yaS5rc3MvbXlfZmlyc3Rfa25vd2JvdCgCAAAAcwsAAABMYXVuY2gtRGF0ZXMcAAAATW9uIEZlYiAxMiAxNjozOTowMyBFU1QgMTk5NigCAAAAcw0AAABNZXRhZGF0YS1UeXBlcwcAAABjb21wbGV4KAIAAABzDAAAAE1ldGFkYXRhLUtleVIIAAAAKAIAAABSCQAAAHMJAAAAcmVhZC1vbmx5KAIAAABzFgAAAENvbm5lY3Rpb24tRGVzY3JpcHRpb25zGQAAAEJhcnJ5J3MgQmlnIEJhc3MgQnVzaW5lc3MoAgAAAHMNAAAAQ29ubmVjdGlvbi1JZFIKAAAAKAIAAABzFAAAAENvbm5lY3Rpb24tRGlyZWN0aW9uUgsAAAAoAgAAAHMNAAAATWV0YWRhdGEtVHlwZXMHAAAAY29tcGxleCgCAAAAcwwAAABNZXRhZGF0YS1LZXlzEQAAAGdlbmVyaWMtaW50ZXJmYWNlKAIAAABSCQAAAHMJAAAAcmVhZC1vbmx5KAIAAABzFgAAAENvbm5lY3Rpb24tRGVzY3JpcHRpb25zIgAAAEdlbmVyaWMgSW50ZXJmYWNlIGZvciBBbGwgS25vd2JvdHMoAgAAAHMNAAAAQ29ubmVjdGlvbi1JZHMKAAAAZ2VuZXJpYy1rcCgCAAAAcxQAAABDb25uZWN0aW9uLURpcmVjdGlvblILAAAAKBMAAAB0BwAAAF9fZG9jX190CAAAAHVuaXR0ZXN0UhsAAAB0EQAAAHRlc3QudGVzdF9zdXBwb3J0UgAAAABSAQAAAHQEAAAAVHJ1ZVICAAAAUiQAAABSJwAAAFIoAAAAUiEAAABSIwAAAFIlAAAAUisAAAB0CAAAAFRlc3RDYXNlUgwAAABSPgAAAFI8AAAAKAAAAAAoAAAAACgAAAAAc1sAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9NaW1lV3JpdGVyLnB5dAgAAAA8bW9kdWxlPggAAABzPgAAAAYCGAEWAhABEAoGFQYHBgMDAQMBAwEDAQMBAwEJBAMBAwEDAQMBAwEJBAMBAwEDAQMBAwEJcgYCGV0JAwwB