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c3lzLnBhdGgsIGFuZCBQeXRob24ncyAiY2xhc3NpYyIgaW1wb3J0IG1hY2hpbmVyeSwgaW4gdGhhdCBvcmRlci4gIElmCiAgICB0aGUgbmFtZWQgbW9kdWxlIGlzIGluIGEgcGFja2FnZSwgdGhhdCBwYWNrYWdlIGlzIGltcG9ydGVkIGFzIGEgc2lkZQogICAgZWZmZWN0IG9mIGludm9raW5nIHRoaXMgZnVuY3Rpb24uCgogICAgTm9uIFBFUCAzMDIgbWVjaGFuaXNtcyAoZS5nLiB0aGUgV2luZG93cyByZWdpc3RyeSkgdXNlZCBieSB0aGUKICAgIHN0YW5kYXJkIGltcG9ydCBtYWNoaW5lcnkgdG8gZmluZCBmaWxlcyBpbiBhbHRlcm5hdGl2ZSBsb2NhdGlvbnMKICAgIGFyZSBwYXJ0aWFsbHkgc3VwcG9ydGVkLCBidXQgYXJlIHNlYXJjaGVkIEFGVEVSIHN5cy5wYXRoLiBOb3JtYWxseSwKICAgIHRoZXNlIGxvY2F0aW9ucyBhcmUgc2VhcmNoZWQgQkVGT1JFIHN5cy5wYXRoLCBwcmV2ZW50aW5nIHN5cy5wYXRoCiAgICBlbnRyaWVzIGZyb20gc2hhZG93aW5nIHRoZW0uCgogICAgRm9yIHRoaXMgdG8gY2F1c2UgYSB2aXNpYmxlIGRpZmZlcmVuY2UgaW4gYmVoYXZpb3VyLCB0aGVyZSBtdXN0CiAgICBiZSBhIG1vZHVsZSBvciBwYWNrYWdlIG5hbWUgdGhhdCBpcyBhY2Nlc3NpYmxlIHZpYSBib3RoIHN5cy5wYXRoCiAgICBhbmQgb25lIG9mIHRoZSBub24gUEVQIDMwMiBmaWxlIHN5c3RlbSBtZWNoYW5pc21zLiBJbiB0aGlzIGNhc2UsCiAgICB0aGUgZW11bGF0aW9uIHdpbGwgZmluZCB0aGUgZm9ybWVyIHZlcnNpb24sIHdoaWxlIHRoZSBidWlsdGluCiAgICBpbXBvcnQgbWVjaGFuaXNtIHdpbGwgZmluZCB0aGUgbGF0dGVyLgoKICAgIEl0ZW1zIG9mIHRoZSBmb2xsb3dpbmcgdHlwZXMgY2FuIGJlIGFmZmVjdGVkIGJ5IHRoaXMgZGlzY3JlcGFuY3k6CiAgICAgICAgaW1wLkNfRVhURU5TSU9OLCBpbXAuUFlfU09VUkNFLCBpbXAuUFlfQ09NUElMRUQsIGltcC5QS0dfRElSRUNUT1JZCiAgICBSMgAAAHMjAAAAUmVsYXRpdmUgbW9kdWxlIG5hbWVzIG5vdCBzdXBwb3J0ZWRp/////1IxAAAATigNAAAAUnwAAABSNAAAAFJXAAAAUkgAAABSNwAAAFI4AAAAUjMAAABSNgAAAFIQAAAAdAkAAABtZXRhX3BhdGhSOQAAAFIBAAAAUggAAAAoBQAAAFJMAAAAdAMAAABwa2dSOQAAAFI8AAAAUj8AAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9wa2d1dGlsLnB5UgIAAACQAQAAcxwAAAAAGA8BDwEMAhwBDwENASICEAEJAQkBDQEPAQwBYwEAAAAEAAAABAAAAEMAAABzcgAAAHwAAHQAAGoBAGsGAHIfAHQAAGoBAHwAABl9AABuAAB0AgB8AAB0AwCDAgByYgB8AAB9AQB0BAB8AQBkAQBkAgCDAwB9AgB8AgBkAgBrCQByVgB8AgBTfAEAagYAfQMAbgYAfAAAfQMAdAcAfAMAgwEAUygDAAAAc0QCAABHZXQgYSBQRVAgMzAyICJsb2FkZXIiIG9iamVjdCBmb3IgbW9kdWxlX29yX25hbWUKCiAgICBJZiB0aGUgbW9kdWxlIG9yIHBhY2thZ2UgaXMgYWNjZXNzaWJsZSB2aWEgdGhlIG5vcm1hbCBpbXBvcnQKICAgIG1lY2hhbmlzbSwgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcmVsZXZhbnQgcGFydCBvZiB0aGF0IG1hY2hpbmVyeQogICAgaXMgcmV0dXJuZWQuICBSZXR1cm5zIE5vbmUgaWYgdGhlIG1vZHVsZSBjYW5ub3QgYmUgZm91bmQgb3IgaW1wb3J0ZWQuCiAgICBJZiB0aGUgbmFtZWQgbW9kdWxlIGlzIG5vdCBhbHJlYWR5IGltcG9ydGVkLCBpdHMgY29udGFpbmluZyBwYWNrYWdlCiAgICAoaWYgYW55KSBpcyBpbXBvcnRlZCwgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIHRoZSBwYWNrYWdlIF9fcGF0aF9fLgoKICAgIFRoaXMgZnVuY3Rpb24gdXNlcyBpdGVyX2ltcG9ydGVycygpLCBhbmQgaXMgdGh1cyBzdWJqZWN0IHRvIHRoZSBzYW1lCiAgICBsaW1pdGF0aW9ucyByZWdhcmRpbmcgcGxhdGZvcm0tc3BlY2lmaWMgc3BlY2lhbCBpbXBvcnQgbG9jYXRpb25zIHN1Y2gKICAgIGFzIHRoZSBXaW5kb3dzIHJlZ2lzdHJ5LgogICAgdAoAAABfX2xvYWRlcl9fTigIAAAAUjcAAABSOAAAAHQKAAAAaXNpbnN0YW5jZVIAAAAAUjYAAABSEAAAAFIVAAAAUgQAAAAoBAAAAHQOAAAAbW9kdWxlX29yX25hbWV0BgAAAG1vZHVsZXQGAAAAbG9hZGVyUkwAAAAoAAAAACgAAAAAc08AAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9wa2d1dGlsLnB5UgMAAAC5AQAAcxQAAAAADQ8BEAEPAQYBEgEMAQQBDAIGAWMBAAAAAwAAAAMAAABDAAAAczoAAAB4MwB0AAB8AACDAQBEXSUAfQEAfAEAagEAfAAAgwEAfQIAfAIAZAEAawkAcg0AfAIAU3ENAFdkAQBTKAIAAABzaAEAAEZpbmQgYSBQRVAgMzAyICJsb2FkZXIiIG9iamVjdCBmb3IgZnVsbG5hbWUKCiAgICBJZiBmdWxsbmFtZSBjb250YWlucyBkb3RzLCBwYXRoIG11c3QgYmUgdGhlIGNvbnRhaW5pbmcgcGFja2FnZSdzIF9fcGF0aF9fLgogICAgUmV0dXJucyBOb25lIGlmIHRoZSBtb2R1bGUgY2Fubm90IGJlIGZvdW5kIG9yIGltcG9ydGVkLiBUaGlzIGZ1bmN0aW9uIHVzZXMKICAgIGl0ZXJfaW1wb3J0ZXJzKCksIGFuZCBpcyB0aHVzIHN1YmplY3QgdG8gdGhlIHNhbWUgbGltaXRhdGlvbnMgcmVnYXJkaW5nCiAgICBwbGF0Zm9ybS1zcGVjaWZpYyBzcGVjaWFsIGltcG9ydCBsb2NhdGlvbnMgc3VjaCBhcyB0aGUgV2luZG93cyByZWdpc3RyeS4KICAgIE4oAwAAAFICAAAAUksAAABSEAAAACgDAAAAUkwAAABSPAAAAFKOAAAAKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvcGtndXRpbC5weVIEAAAA0gEAAHMKAAAAAAgTAQ8BDAEIAmMCAAAADQAAAAgAAABDAAAAc8gBAAB0AAB8AAB0AQCDAgBzEwB8AABTdAIAagMAagQAfAEAagUAZAEAgwEAjAAAfQIAdAIAagYAagQAfAEAagUAZAEAgwEAgwEAfQMAfAMAdAIAagYAF2QCABd9BABkAwB0AgBqBgAXZAQAF30FAHwAAB59AAB4TwF0BwBqAwBEXUQBfQYAdAAAfAYAdAgAgwIADHN8AHQCAGoDAGoJAHwGAIMBAAxyqwBxfABuAAB0AgBqAwBqBAB8BgB8AgCDAgB9BwB0AgBqAwBqBAB8BwB8BQCDAgB9CAB8BwB8AABrBwByAwF0AgBqAwBqCgB8CACDAQByAwF8AABqCwB8BwCDAQABbgAAdAIAagMAagQAfAYAfAQAgwIAfQkAdAIAagMAagoAfAkAgwEAcnwAeRAAdAwAfAkAgwEAfQoAV24tAAR0DQBrCgByaQEBfQsAAXQHAGoOAGoPAGQFAHwJAHwLAGYCABaDAQABccABWHhGAHwKAERdPgB9DAB8DABqEABkBgCDAQB9DAB8DAAMc3EBfAwAahEAZAcAgwEAcqIBcXEBbgAAfAAAagsAfAwAgwEAAXFxAVd8CgBqEgCDAAABcXwAcXwAV3wAAFMoCAAAAHOLBQAARXh0ZW5kIGEgcGFja2FnZSdzIHBhdGguCgogICAgSW50ZW5kZWQgdXNlIGlzIHRvIHBsYWNlIHRoZSBmb2xsb3dpbmcgY29kZSBpbiBhIHBhY2thZ2UncyBfX2luaXRfXy5weToKCiAgICAgICAgZnJvbSBwa2d1dGlsIGltcG9ydCBleHRlbmRfcGF0aAogICAgICAgIF9fcGF0aF9fID0gZXh0ZW5kX3BhdGgoX19wYXRoX18sIF9fbmFtZV9fKQoKICAgIFRoaXMgd2lsbCBhZGQgdG8gdGhlIHBhY2thZ2UncyBfX3BhdGhfXyBhbGwgc3ViZGlyZWN0b3JpZXMgb2YKICAgIGRpcmVjdG9yaWVzIG9uIHN5cy5wYXRoIG5hbWVkIGFmdGVyIHRoZSBwYWNrYWdlLiAgVGhpcyBpcyB1c2VmdWwKICAgIGlmIG9uZSB3YW50cyB0byBkaXN0cmlidXRlIGRpZmZlcmVudCBwYXJ0cyBvZiBhIHNpbmdsZSBsb2dpY2FsCiAgICBwYWNrYWdlIGFzIG11bHRpcGxlIGRpcmVjdG9yaWVzLgoKICAgIEl0IGFsc28gbG9va3MgZm9yICoucGtnIGZpbGVzIGJlZ2lubmluZyB3aGVyZSAqIG1hdGNoZXMgdGhlIG5hbWUKICAgIGFyZ3VtZW50LiAgVGhpcyBmZWF0dXJlIGlzIHNpbWlsYXIgdG8gKi5wdGggZmlsZXMgKHNlZSBzaXRlLnB5KSwKICAgIGV4Y2VwdCB0aGF0IGl0IGRvZXNuJ3Qgc3BlY2lhbC1jYXNlIGxpbmVzIHN0YXJ0aW5nIHdpdGggJ2ltcG9ydCcuCiAgICBBICoucGtnIGZpbGUgaXMgdHJ1c3RlZCBhdCBmYWNlIHZhbHVlOiBhcGFydCBmcm9tIGNoZWNraW5nIGZvcgogICAgZHVwbGljYXRlcywgYWxsIGVudHJpZXMgZm91bmQgaW4gYSAqLnBrZyBmaWxlIGFyZSBhZGRlZCB0byB0aGUKICAgIHBhdGgsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGV5IGFyZSBleGlzdCB0aGUgZmlsZXN5c3RlbS4gIChUaGlzCiAgICBpcyBhIGZlYXR1cmUuKQoKICAgIElmIHRoZSBpbnB1dCBwYXRoIGlzIG5vdCBhIGxpc3QgKGFzIGlzIHRoZSBjYXNlIGZvciBmcm96ZW4KICAgIHBhY2thZ2VzKSBpdCBpcyByZXR1cm5lZCB1bmNoYW5nZWQuICBUaGUgaW5wdXQgcGF0aCBpcyBub3QKICAgIG1vZGlmaWVkOyBhbiBleHRlbmRlZCBjb3B5IGlzIHJldHVybmVkLiAgSXRlbXMgYXJlIG9ubHkgYXBwZW5kZWQKICAgIHRvIHRoZSBjb3B5IGF0IHRoZSBlbmQuCgogICAgSXQgaXMgYXNzdW1lZCB0aGF0IHN5cy5wYXRoIGlzIGEgc2VxdWVuY2UuICBJdGVtcyBvZiBzeXMucGF0aCB0aGF0CiAgICBhcmUgbm90ICh1bmljb2RlIG9yIDgtYml0KSBzdHJpbmdzIHJlZmVycmluZyB0byBleGlzdGluZwogICAgZGlyZWN0b3JpZXMgYXJlIGlnbm9yZWQuICBVbmljb2RlIGl0ZW1zIG9mIHN5cy5wYXRoIHRoYXQgY2F1c2UKICAgIGVycm9ycyB3aGVuIHVzZWQgYXMgZmlsZW5hbWVzIG1heSBjYXVzZSB0aGlzIGZ1bmN0aW9uIHRvIHJhaXNlIGFuCiAgICBleGNlcHRpb24gKGluIGxpbmUgd2l0aCBvcy5wYXRoLmlzZGlyKCkgYmVoYXZpb3IpLgogICAgUjIAAABSiQAAAFJHAAAAdAIAAABweXMSAAAAQ2FuJ3Qgb3BlbiAlczogJXMKcwEAAAAKdAEAAAAjKBMAAABSiwAAAHQEAAAAbGlzdFJJAAAAUjkAAABSVwAAAFJIAAAAdAYAAABleHRzZXBSNwAAAHQKAAAAYmFzZXN0cmluZ1JRAAAAdAYAAABpc2ZpbGV0BgAAAGFwcGVuZFJiAAAAdAcAAABJT0Vycm9ydAYAAABzdGRlcnJ0BQAAAHdyaXRldAYAAAByc3RyaXBSfAAAAFJfAAAAKA0AAABSOQAAAFI9AAAAdAUAAABwbmFtZXQFAAAAc25hbWV0CQAAAHNuYW1lX3BrZ3QHAAAAaW5pdF9weXQDAAAAZGlydAYAAABzdWJkaXJ0CAAAAGluaXRmaWxldAcAAABwa2dmaWxlUiUAAAB0AwAAAG1zZ3QEAAAAbGluZSgAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3BrZ3V0aWwucHlSCwAAAOIBAABzOAAAAAAhDwMEAhsCGwERARECBwIQASMBBgEVAxUBHgEQAxUBEgEDARABDwEMARICDQEPARYBBgERARECYwIAAAAGAAAABwAAAEMAAABzugAAAHQAAHwAAIMBAH0CAHwCAGQFAGsIAHMoAHQCAHwCAGQBAIMCAAxyLABkBQBTdAMAagQAagUAfAAAgwEAcEoAfAIAagYAfAAAgwEAfQMAfAMAZAUAawgAc2kAdAIAfAMAZAIAgwIADHJtAGQFAFN8AQBqBwBkAwCDAQB9BAB8BABqCABkBAB0CQBqCgBqCwB8AwBqDACDAQCDAgABdAkAagoAag0AfAQAjAAAfQUAfAIAag4AfAUAgwEAUygGAAAAc2YDAABHZXQgYSByZXNvdXJjZSBmcm9tIGEgcGFja2FnZS4KCiAgICBUaGlzIGlzIGEgd3JhcHBlciByb3VuZCB0aGUgUEVQIDMwMiBsb2FkZXIgZ2V0X2RhdGEgQVBJLiBUaGUgcGFja2FnZQogICAgYXJndW1lbnQgc2hvdWxkIGJlIHRoZSBuYW1lIG9mIGEgcGFja2FnZSwgaW4gc3RhbmRhcmQgbW9kdWxlIGZvcm1hdAogICAgKGZvby5iYXIpLiBUaGUgcmVzb3VyY2UgYXJndW1lbnQgc2hvdWxkIGJlIGluIHRoZSBmb3JtIG9mIGEgcmVsYXRpdmUKICAgIGZpbGVuYW1lLCB1c2luZyAnLycgYXMgdGhlIHBhdGggc2VwYXJhdG9yLiBUaGUgcGFyZW50IGRpcmVjdG9yeSBuYW1lICcuLicKICAgIGlzIG5vdCBhbGxvd2VkLCBhbmQgbm9yIGlzIGEgcm9vdGVkIG5hbWUgKHN0YXJ0aW5nIHdpdGggYSAnLycpLgoKICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGEgYmluYXJ5IHN0cmluZywgd2hpY2ggaXMgdGhlIGNvbnRlbnRzIG9mIHRoZQogICAgc3BlY2lmaWVkIHJlc291cmNlLgoKICAgIEZvciBwYWNrYWdlcyBsb2NhdGVkIGluIHRoZSBmaWxlc3lzdGVtLCB3aGljaCBoYXZlIGFscmVhZHkgYmVlbiBpbXBvcnRlZCwKICAgIHRoaXMgaXMgdGhlIHJvdWdoIGVxdWl2YWxlbnQgb2YKCiAgICAgICAgZCA9IG9zLnBhdGguZGlybmFtZShzeXMubW9kdWxlc1twYWNrYWdlXS5fX2ZpbGVfXykKICAgICAgICBkYXRhID0gb3Blbihvcy5wYXRoLmpvaW4oZCwgcmVzb3VyY2UpLCAncmInKS5yZWFkKCkKCiAgICBJZiB0aGUgcGFja2FnZSBjYW5ub3QgYmUgbG9jYXRlZCBvciBsb2FkZWQsIG9yIGl0IHVzZXMgYSBQRVAgMzAyIGxvYWRlcgogICAgd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCBnZXRfZGF0YSgpLCB0aGVuIE5vbmUgaXMgcmV0dXJuZWQuCiAgICBSBwAAAHQIAAAAX19maWxlX190AQAAAC9pAAAAAE4oDwAAAFIDAAAAUhAAAABSRQAAAFI3AAAAUjgAAAB0AwAAAGdldFJeAAAAUkgAAAB0BgAAAGluc2VydFJJAAAAUjkAAAB0BwAAAGRpcm5hbWVSpAAAAFJXAAAAUgcAAAAoBgAAAHQHAAAAcGFja2FnZXQIAAAAcmVzb3VyY2VSjgAAAFJgAAAAdAUAAABwYXJ0c3QNAAAAcmVzb3VyY2VfbmFtZSgAAAAAKAAAAABzTwAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3BrZ3V0aWwucHlSBwAAACwCAABzFAAAAAAWDAEcAQQBIQEcAQQFDwEfARIBKAAAAAAoAAAAACgbAAAAUioAAABSSQAAAFI3AAAAUg4AAAB0BwAAAG9zLnBhdGh0BQAAAHR5cGVzUgAAAAB0BwAAAF9fYWxsX19SCgAAAFIrAAAAUhAAAABSBQAAAFIGAAAAUkEAAABSCAAAAFIJAAAAUncAAABSdgAAAFKBAAAAUiYAAABSNAAAAFIBAAAAUgIAAABSAwAAAFIEAAAAUgsAAABSBwAAACgAAAAAKAAAAAAoAAAAAHNPAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvcGtndXRpbC5weXQIAAAAPG1vZHVsZT4BAAAAczoAAAAGBQwBDAEMAQwBEAMMAQkBEgMJDQkoEjoPGQwFDAMTRhNfAwEMARACDB0UAg0BBAMJIgwpCRkJEAlK