IiB2aTpzZXQgdHM9OCBzdHM9OCBzdz04IHR3PTA6CiIKIiBNZW51IFRyYW5zbGF0aW9uczoJSmFwYW5lc2UgKENQOTMyKQoiIFRyYW5zbGF0ZWQgQnk6CU1VUkFPS0EgVGFybyAgPGtvcm9uLmthb3JpeWFAZ21haWwuY29tPgoiIExhc3QgQ2hhbmdlOgkJMjQtRmViLTIwMTMuCiIKIiBDb3B5cmlnaHQgKEMpIDIwMDEtMTIgTVVSQU9LQSBUYXJvIDxrb3Jvbi5rYW9yaXlhQGdtYWlsLmNvbT4KIiBUSElTIEZJTEUgSVMgRElTVFJJQlVURUQgVU5ERVIgVEhFIFZJTSBMSUNFTlNFLgoKIiBRdWl0IHdoZW4gbWVudSB0cmFuc2xhdGlvbnMgaGF2ZSBhbHJlYWR5IGJlZW4gZG9uZS4KaWYgZXhpc3RzKCJkaWRfbWVudV90cmFucyIpCiAgZmluaXNoCmVuZGlmCmxldCBkaWRfbWVudV90cmFucyA9IDEKbGV0IHM6a2VlcGNwbz0gJmNwbwpzZXQgY3BvJnZpbQoKc2NyaXB0ZW5jb2RpbmcgY3A5MzIKCiIgSGVscCBtZW51Cm1lbnV0cmFucyAmSGVscAkJCYN3g4uDdigmSCkKbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPgmKVJeqKCZPKTxUYWI+PEYxPgptZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJg4aBW4NVg32DaoOFg0GDiygmVSkKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZIb3ctdG+DioOTg04KbWVudXRyYW5zICZDcmVkaXRzCQmDToOMg1eDYoNnKCZDKQptZW51dHJhbnMgQ28mcHlpbmcJCZKYjeyMoI/ulfEoJlApCm1lbnV0cmFucyAmU3BvbnNvci9SZWdpc3RlcgmDWIN8g5ODVIFbL5NvmF4oJlMpCm1lbnV0cmFucyBPJnJwaGFucwkJjMeOmSgmUikKbWVudXRyYW5zICZWZXJzaW9uCQmDb4Fbg1eDh4OTj+6V8SgmVikKbWVudXRyYW5zICZBYm91dAkJVmltgsmCwoKigsQoJkEpCgpsZXQgZzptZW51dHJhbnNfaGVscF9kaWFsb2cgPSAig3eDi4N2gvCMn431grWCvYKig1KDfYOTg2iC4IK1gq2CzZJQjOqC8JP8l82CtYLEgq2CvoKzgqI6XG5cbpF9k/yDgoFbg2iCzINSg32Dk4NogsmCzSBpXyCC8JDmk6qCyZV0icGCtYLcgrcuICiX4TogaV9DVFJMLVgpXG6DUoN9g5ODaIOJg0ODk5XSj1eDUoN9g5ODaILJgs0gY18ggvCQ5pOqgsmVdInBgrWC3IK3LiAol+E6IGNfPERlbD4pXG6DSYN2g1aDh4OTgsyWvJFPgsmCzSAnIILwlXSJwYK1gtyCty4gKJfhOiAnc2hpZnR3aWR0aCcpIgoKIiBGaWxlIG1lbnUKbWVudXRyYW5zICZGaWxlCQkJCYN0g0CDQ4OLKCZGKQptZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQmKSoKtKCZPKVwuXC5cLjxUYWI+OmUKbWVudXRyYW5zIFNwJmxpdC1PcGVuXC5cLlwuPFRhYj46c3AJlaqKhIK1gsSKSoKtKCZMKVwuXC5cLjxUYWI+OnNwCm1lbnV0cmFucyBPcGVuXCBUYWJcLlwuXC48VGFiPjp0YWJuZXcJg16DdYN5gVuDV4LFikqCrTxUYWI+OnRhYm5ldwptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCZBWi0uN7JCsKCZOKTxUYWI+OmVuZXcKbWVudXRyYW5zICZDbG9zZTxUYWI+OmNsb3NlCQmVwoK2gukoJkMpPFRhYj46Y2xvc2UKbWVudXRyYW5zICZTYXZlPFRhYj46dwkJCZXbkbYoJlMpPFRhYj46dwptZW51dHJhbnMgU2F2ZVwgJkFzXC5cLlwuPFRhYj46c2F2CZa8kU+C8JV0gq+CxJXbkbYoJkEpXC5cLlwuPFRhYj46c2F2Cm1lbnV0cmFucyBTcGxpdFwgJkRpZmZcIHdpdGhcLlwuXC4JjbeVqpVcjqYoJkQpXC5cLlwuCm1lbnV0cmFucyBTcGxpdFwgUGF0Y2hlZFwgJkJ5XC5cLlwuCYNwg2KDYIyLicqC8JVcjqYoJkIpXC5cLlwuCm1lbnV0cmFucyAmUHJpbnQJCQmI8438KCZQKQptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJlduRtoK1gsSPSZe5KCZWKTxUYWI+OndxYQptZW51dHJhbnMgRSZ4aXQ8VGFiPjpxYQkJCY9Jl7koJlgpPFRhYj46cWEKCiIgRWRpdCBtZW51Cm1lbnV0cmFucyAmRWRpdAkJCQmV0o9XKCZFKQptZW51dHJhbnMgJlVuZG88VGFiPnUJCQmO5oLoj8GCtygmVSk8VGFiPnUKbWVudXRyYW5zICZSZWRvPFRhYj5eUgkJCYLggqSI6pN4guKC6SgmUik8VGFiPl5SCm1lbnV0cmFucyBSZXAmZWF0PFRhYj5cLgkJjEqC6JXUgrcoJkUpPFRhYj5cLgptZW51dHJhbnMgQ3UmdDxUYWI+Iit4CQkJkNiC6I7mgugoJlQpPFRhYj4iK3gKbWVudXRyYW5zICZDb3B5PFRhYj4iK3kJCQmDUoNzgVsoJkMpPFRhYj4iK3kKbWVudXRyYW5zICZQYXN0ZTxUYWI+IitnUAkJk1yC6JV0gq8oJlApPFRhYj4iK2dQCm1lbnV0cmFucyBQdXRcICZCZWZvcmU8VGFiPltwCQmRT4LJk1yC6SgmQik8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCYzjgsmTXILpKCZBKTxUYWI+XXAKbWVudXRyYW5zICZEZWxldGU8VGFiPngJCQmPwYK3KCZEKTxUYWI+eAptZW51dHJhbnMgJlNlbGVjdFwgQWxsPFRhYj5nZ1ZHCQmRU4LEkUmR8CgmUyk8VGFiPmdnVkcKbWVudXRyYW5zICZGaW5kXC5cLlwuCQkJjJ+N9SgmRilcLlwuXC4KbWVudXRyYW5zICZGaW5kPFRhYj4vCQkJjJ+N9SgmRik8VGFiPi8KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4JknWKtygmTClcLlwuXC4KbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2U8VGFiPjolcwmSdYq3KCZMKTxUYWI+OiVzCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46cwmSdYq3KCZMKTxUYWI+OnMKIm1lbnV0cmFucyBPcHRpb25zXC5cLlwuCQkJg0mDdoNWg4eDkygmTylcLlwuXC4KbWVudXRyYW5zIFNldHRpbmdzXCAmV2luZG93CQmQ3ZLog0WDQoOTg2iDRSgmVykKbWVudXRyYW5zIFN0YXJ0dXBcICZTZXR0aW5ncwkJi06Tro6egsyQ3ZLoKCZTKQoKIiBFZGl0L0dsb2JhbCBTZXR0aW5ncwptZW51dHJhbnMgJkdsb2JhbFwgU2V0dGluZ3MJCZFTkcyQ3ZLoKCZHKQptZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhCglcCYNwg16BW4OTi62SspDYkdYoJkgpPFRhYj46c2V0XCBobHMhCm1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCglcCZHlj6yVto6ai+aVypDYkdYoJkkpPFRhYj46c2V0XCBpYyEKbWVudXRyYW5zIFRvZ2dsZVwgJlNob3dtYXRjaDxUYWI+OnNldFwgc20hCglcCYN9g2KDYJVcjqaQ2JHWKCZTKTxUYWI+OnNldFwgc20hCm1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCYNKgVuDXIOLjvyV041zkJQoJkMpCm1lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJibyRepXSj1coJlYpCm1lbnV0cmFucyBOZXZlcgkJCQmWs4z4Cm1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQmDdYONg2KDTpFJkfCOngptZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJkX2T/IOCgVuDaI6eCm1lbnV0cmFucyBCbG9ja1wgYW5kXCBJbnNlcnQJCYN1g42DYoNOL5F9k/yDgoFbg2iOngptZW51dHJhbnMgQWx3YXlzCQkJj+2OngptZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEKCVwJkX2T/CiPiZBTjtIpg4KBW4NokNiR1igmTSk8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQoJXAlWaYzdireDgoFbg2iQ2JHWKCZPKTxUYWI+OnNldFwgY3AhCm1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQmMn431g3CDWCgmUClcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQmDXoNPg3SDQINDg4soJkcpXC5cLlwuCiIKIiBHVUkgb3B0aW9ucwptZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJg2OBW4OLg2+BW5VcjqaQ2JHWKCZUKQptZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJg1iDToONgVuDi4NvgVsoiboplVyOppDYkdYoJkIpCm1lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJg1iDToONgVuDi4NvgVsojbYplVyOppDYkdYoJkwpCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCYNYg06DjYFbg4uDb4FbKIlFKZVcjqaQ2JHWKCZSKQoKbGV0IGc6bWVudXRyYW5zX3BhdGhfZGlhbG9nID0gIoN0g0CDQ4OLgsyMn431g3CDWILwk/yXzYK1gsSCrYK+grOCojpcboNmg0KDjINOg2eDipa8gs2DSoOTg30gKCAsICkggsWL5pDYgsGCxIKtgr6Cs4KiLiIKbGV0IGc6bWVudXRyYW5zX3RhZ3NfZGlhbG9nID0gIoNeg0+DdINAg0ODi4LMlryRT4Lwk/yXzYK1gsSCrYK+grOCojpcbpa8kU+CzYNKg5ODfSAoICwgKSCCxYvmkNiCwYLEgq2CvoKzgqIuIgoKIiBFZGl0L0ZpbGUgU2V0dGluZ3MKCiIgQm9vbGVhbiBvcHRpb25zCm1lbnV0cmFucyBGJmlsZVwgU2V0dGluZ3MJCYN0g0CDQ4OLkN2S6CgmSSkKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhCglcCY1zlNSNhpVcjqaQ2JHWKCZOKTxUYWI+OnNldFwgbnUhCm1lbnV0cmFucyBUb2dnbGVcIHJlbGF0aSZ2ZVwgTGluZVwgTnVtYmVyaW5nPFRhYj46c2V0XCBybnUhCglcCZGKkc6Nc5TUjYaVXI6mkNiR1igmVik8VGFiPjpzZXRcIHJudSEKbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCglcIIOKg1iDZ4OCgVuDaJDYkdYoJkwpPFRhYj46c2V0XCBsaXN0IQptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEKCVwJjXOQ3JXUgrWQ2JHWKCZXKTxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhCglcCZJQjOqQ3JXUgrWQ2JHWKCZSKTxUYWI+OnNldFwgbGJyIQptZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCglcCYNeg3WTV4pKkNiR1igmRSk8VGFiPjpzZXRcIGV0IQptZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQoJXAmOqZOujpqJuoKwkNiR1igmQSk8VGFiPjpzZXRcIGFpIQptZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEKCVwJQ4y+jOqOmom6grCQ2JHWKCZDKTxUYWI+OnNldFwgY2luIQoKIiBvdGhlciBvcHRpb25zCm1lbnV0cmFucyAmU2hpZnR3aWR0aAkJCYNWg3SDZ5WdKCZTKQptZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCYNcg3SDZ4NFg0aDQYNeg3WVnSgmVCkKbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJg2WDTINYg2eVnSgmWClcLlwuXC4KbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCYn8jXOLTI2GkUmR8CgmRilcLlwuXC4KCmxldCBnOm1lbnV0cmFuc190ZXh0d2lkdGhfZGlhbG9nID0gIoNlg0yDWINngsyVnSgndGV4dHdpZHRoJymC8JDdkuiCtYLEgq2CvoKzgqIgKDCCxZCujGCC8JazjPiJuyk6IgpsZXQgZzptZW51dHJhbnNfZmlsZWZvcm1hdF9kaWFsb2cgPSAig3SDQINDg4uPb5fNgsyN24LMifyNc4tMjYaCzIxgjq6C8JFJgvGCxYKtgr6Cs4KiLiIKbGV0IGc6bWVudXRyYW5zX2ZpbGVmb3JtYXRfY2hvaWNlcyA9ICImVW5peFxuJkRvc1xuJk1hY1xug0yDg4OTg1qDiygmQykiCgptZW51dHJhbnMgQyZvbG9yXCBTY2hlbWUJCZBGg2WBW4N9kUmR8CgmTykKbWVudXRyYW5zICZLZXltYXAJCQmDTIFbg32DYoN2KCZLKQptZW51dHJhbnMgTm9uZQkJCQmCyIK1CgoiIFByb2dyYW1taW5nIG1lbnUKbWVudXRyYW5zICZUb29scwkJCYNjgVuDiygmVCkKbWVudXRyYW5zICZKdW1wXCB0b1wgdGhpc1wgdGFnPFRhYj5nXl0Jg16DT4NXg4ODk4N2KCZKKTxUYWI+Z15dCm1lbnV0cmFucyBKdW1wXCAmYmFjazxUYWI+XlQJCZbfgukoJkIpPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQmDXoNPg3SDQINDg4uN7JCsKCZUKQptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQmDgYNDg04oJk0pPFRhYj46bWFrZQptZW51dHJhbnMgJkxpc3RcIEVycm9yczxUYWI+OmNsCQmDR4OJgVuDioNYg2coJkwpPFRhYj46Y2wKbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQmDgYNig1qBW4NXg4qDWINnKCZJKTxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCY6fgsyDR4OJgVuC1igmTik8VGFiPjpjbgptZW51dHJhbnMgJlByZXZpb3VzXCBFcnJvcjxUYWI+OmNwCZFPgsyDR4OJgVuC1igmUCk8VGFiPjpjcAptZW51dHJhbnMgJk9sZGVyXCBMaXN0PFRhYj46Y29sZAmMw4Kig4qDWINnKCZPKTxUYWI+OmNvbGQKbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJkFaCtYKig4qDWINnKCZFKTxUYWI+OmNuZXcKbWVudXRyYW5zIEVycm9yXCAmV2luZG93CQmDR4OJgVuDRYNCg5ODaINFKCZXKQptZW51dHJhbnMgJlVwZGF0ZTxUYWI+OmN3aW4JCY1YkFYoJlUpPFRhYj46Y3dpbgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbgkJikqCrSgmTyk8VGFiPjpjb3BlbgptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2Nsb3NlCQmVwoK2gukoJkMpPFRhYj46Y2Nsb3NlCm1lbnV0cmFucyAmQ29udmVydFwgdG9cIEhFWDxUYWI+OiUheHhkCUhFWILWlc+KtygmQyk8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIJSEVYgqmC54t0lc+KtygmUik8VGFiPiUheHhkXCAtcgptZW51dHJhbnMgU2UmVFwgQ29tcGlsZXIJCYNSg5ODcINDg4mQ3ZLoKCZUKQoKIiBUb29scy5TcGVsbGluZyBNZW51Cm1lbnV0cmFucyAmU3BlbGxpbmcJCQmDWIN5g4qDk4NPKCZTKQptZW51dHJhbnMgJlNwZWxsXCBDaGVja1wgT24JCYNYg3mDi4Ngg0aDYoNOl0yM+CgmUykKbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJg1iDeYOLg2CDRoNig06Ws4z4KCZPKQptZW51dHJhbnMgVG9cICZOZXh0XCBlcnJvcjxUYWI+XXMJjp+CzINHg4mBWygmTik8VGFiPl1zCm1lbnV0cmFucyBUb1wgJlByZXZpb3VzXCBlcnJvcjxUYWI+W3MJkU+CzINHg4mBWygmUCk8VGFiPltzCm1lbnV0cmFucyBTdWdnZXN0XCAmQ29ycmVjdGlvbnM8VGFiPno9CY9DkLOM85XiKCZDKTxUYWI+ej0KbWVudXRyYW5zICZSZXBlYXRcIGNvcnJlY3Rpb248VGFiPjpzcGVsbHJlcGFsbAmPQ5CzgvCMSoLoldSCtygmUik8VGFiPjpzcGVsbHJlcGFsbAptZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbiIJjL6M6oLwXCAiZW4iXCCCyZDdkuiCt4LpCm1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2F1IgmMvozqgvBcICJlbl9hdSJcIILJkN2S6IK3gukKbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fY2EiCYy+jOqC8FwgImVuX2NhIlwggsmQ3ZLogreC6QptZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9nYiIJjL6M6oLwXCAiZW5fZ2IiXCCCyZDdkuiCt4LpCm1lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX256IgmMvozqgvBcICJlbl9ueiJcIILJkN2S6IK3gukKbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fdXMiCYy+jOqC8FwgImVuX3VzIlwggsmQ3ZLogreC6QptZW51dHJhbnMgJkZpbmRcIE1vcmVcIExhbmd1YWdlcwmRvILMjL6M6oLwjJ+N9YK3gukoJkYpCgoiIFRvb2xzLkZvbGQgTWVudQptZW51dHJhbnMgJkZvbGRpbmcJCQmQ3I/0gt0oJkYpCiIgb3BlbiBjbG9zZSBmb2xkcwptZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJl0yM+C+Ws4z4kNiR1igmRSk8VGFiPnppCm1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgmDSoFbg1yDi41zgvCVXI6mKCZWKTxUYWI+enYKbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNengJg0qBW4Ncg4uNc4K+gq+C8JVcjqYoJlcpPFRhYj56TXp4Cm1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQmQ3I/0gt2C8JXCgraC6SgmTCk8VGFiPnptCm1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCZFTkNyP9ILdgvCVwoK2gukoJkMpPFRhYj56TQptZW51dHJhbnMgTyZwZW5cIG1vcmVcIGZvbGRzPFRhYj56cgmQ3I/0gt2C8IpKgq0oJlApPFRhYj56cgptZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCZFTkNyP9ILdgvCKSoKtKCZPKTxUYWI+elIKIiBmb2xkIG1ldGhvZAptZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCZDcj/SC3ZX7lkAoJkgpCm1lbnV0cmFucyBNJmFudWFsCQkJjuiTrigmQSkKbWVudXRyYW5zIEkmbmRlbnQJCQmDQ4OTg2aDk4NnKCZOKQptZW51dHJhbnMgRSZ4cHJlc3Npb24JCQmOrpVdib8oJlgpCm1lbnV0cmFucyBTJnludGF4CQkJg1aDk4Neg2KDToNYKCZZKQptZW51dHJhbnMgJkRpZmYJCQkJjbeVqigmRCkKbWVudXRyYW5zIE1hJnJrZXIJCQmDfYFbg0qBWygmUikKIiBjcmVhdGUgYW5kIGRlbGV0ZSBmb2xkcwptZW51dHJhbnMgQ3JlYXRlXCAmRm9sZDxUYWI+emYJCZDcj/SC3Y3skKwoJkYpPFRhYj56ZgptZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCZDcj/SC3Y3tj5woJkQpPFRhYj56ZAptZW51dHJhbnMgRGVsZXRlXCAmQWxsXCBGb2xkczxUYWI+ekQJkVOQ3I/0gt2N7Y+cKCZBKTxUYWI+ekQKIiBtb3ZpbmcgYXJvdW5kIGluIGZvbGRzCm1lbnV0cmFucyBGb2xkXCBjb2wmdW1uXCB3aWR0aAkJkNyP9ILdg0qDiYOAlZ0oJlUpCgptZW51dHJhbnMgJlVwZGF0ZQkJjViQVigmVSkKbWVudXRyYW5zICZHZXRcIEJsb2NrCQmDdYONg2KDTpKKj28oJkcpCm1lbnV0cmFucyAmUHV0XCBCbG9jawkJg3WDjYNig06TS5dwKCZQKQoKIiBOYW1lcyBmb3IgYnVmZmVyIG1lbnUuCm1lbnV0cmFucyAmQnVmZmVycwkJg2+DYoN0g0AoJkIpCm1lbnV0cmFucyAmUmVmcmVzaFwgbWVudQmDgYNqg4WBW43Ek8eNnigmUikKbWVudXRyYW5zICZEZWxldGUJCY3tj5woJkQpCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQmXoILWkNiR1igmQSkKbWVudXRyYW5zICZOZXh0CQkJjp+CzINvg2KDdINAKCZOKQptZW51dHJhbnMgJlByZXZpb3VzCQmRT4LMg2+DYoN0g0AoJlApCm1lbnV0cmFucyBbTm9cIEZpbGVdCQlblrOR6F0KbGV0IGc6bWVudXRyYW5zX25vX2ZpbGUgPSAiW5azkehdIgoKIiBXaW5kb3cgbWVudQptZW51dHJhbnMgJldpbmRvdwkJCYNFg0KDk4Nog0UoJlcpCm1lbnV0cmFucyAmTmV3PFRhYj5eV24JCQmQVotLjeyQrCgmTik8VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCZWqioQoJlApPFRhYj5eV3MKbWVudXRyYW5zIFNwJmxpdFwgVG9cICM8VGFiPl5XXl4Jl6CDb4Nig3SDQILWlaqKhCgmTCk8VGFiPl5XXl4KbWVudXRyYW5zIFNwbGl0XCAmVmVydGljYWxseTxUYWI+Xld2CZCCkryVqoqEKCZWKTxUYWI+Xld2Cm1lbnV0cmFucyBTcGxpdFwgRmlsZVwgRSZ4cGxvcmVyCYN0g0CDQ4OLg0eDToNYg3aDjYFbg4koJlgpCm1lbnV0cmFucyAmQ2xvc2U8VGFiPl5XYwkJlcKCtoLpKCZDKTxUYWI+XldjCm1lbnV0cmFucyBNb3ZlXCAmVG8JCQmI2pOuKCZUKQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJj+MoJlQpPFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJibooJkIpPFRhYj5eV0oKbWVudXRyYW5zICZMZWZ0XCBzaWRlPFRhYj5eV0gJCY22KCZMKTxUYWI+XldICm1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAkJiUUoJlIpPFRhYj5eV0wKbWVudXRyYW5zIENsb3NlXCAmT3RoZXIocyk8VGFiPl5XbwmRvILwlcKCtoLpKCZPKTxUYWI+XldvCm1lbnV0cmFucyBOZSZ4dDxUYWI+Xld3CQkJjp+C1igmWCk8VGFiPl5XdwptZW51dHJhbnMgUCZyZXZpb3VzPFRhYj5eV1cJCZFPgtYoJlIpPFRhYj5eV1cKbWVudXRyYW5zICZFcXVhbFwgU2l6ZTxUYWI+Xlc9CZOvgraNgoKzgskoJkUpPFRhYj5eVz0KbWVudXRyYW5zICZNYXhcIEhlaWdodDxUYWI+XldfCQmNxZHljYKCySgmTSk8VGFiPl5XXwptZW51dHJhbnMgTSZpblwgSGVpZ2h0PFRhYj5eVzFfCQmNxY+sjYKCySgmaSk8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQmNxZHllZ2CySgmVyk8VGFiPl5XXHwKbWVudXRyYW5zIE1pblwgV2lkdCZoPFRhYj5eVzFcfAkJjcWPrJWdgskoJkgpPFRhYj5eVzFcfAptZW51dHJhbnMgUm90YXRlXCAmVXA8VGFiPl5XUgkJj+OCyYONgVuDZYFbg1aDh4OTKCZVKTxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCYm6gsmDjYFbg2WBW4NWg4eDkygmRCk8VGFiPl5XcgptZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJg3SDSIOTg2eQ3ZLoKCZOKVwuXC5cLgoKIiBUaGUgcG9wdXAgbWVudQptZW51dHJhbnMgJlVuZG8JCQmO5oLoj8GCtygmVSkKbWVudXRyYW5zIEN1JnQJCQmQ2ILojuaC6CgmVCkKbWVudXRyYW5zICZDb3B5CQkJg1KDc4FbKCZDKQptZW51dHJhbnMgJlBhc3RlCQmTXILolXSCrygmUCkKbWVudXRyYW5zICZEZWxldGUJCY3tj5woJkQpCm1lbnV0cmFucyBTZWxlY3RcIEJsb2Nrd2lzZQmL6Yxgg3WDjYNig06RSZHwCm1lbnV0cmFucyBTZWxlY3RcICZXb3JkCQmSUIzqkUmR8CgmVykKbWVudXRyYW5zIFNlbGVjdFwgJlNlbnRlbmNlCZW2kUmR8CgmUykKbWVudXRyYW5zIFNlbGVjdFwgUGEmcmFncmFwaAmSaZeOkUmR8CgmUikKbWVudXRyYW5zIFNlbGVjdFwgJkxpbmUJCY1zkUmR8CgmTCkKbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCYN1g42DYoNOkUmR8CgmQikKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJgreC14LEkUmR8CgmQSkKCiIgVGhlIEdVSSB0b29sYmFyIChmb3IgV2luMzIgb3IgR1RLKQppZiBoYXMoInRvb2xiYXIiKQogIGlmIGV4aXN0cygiKkRvX3Rvb2xiYXJfdG1lbnUiKQogICAgZGVsZnVuIERvX3Rvb2xiYXJfdG1lbnUKICBlbmRpZgogIGZ1biBEb190b29sYmFyX3RtZW51KCkKICAgIHRtZW51IFRvb2xCYXIuT3BlbgkJg3SDQINDg4uC8IpKgq0KICAgIHRtZW51IFRvb2xCYXIuU2F2ZQkJjLuN3YLMg3SDQINDg4uC8JXbkbYKICAgIHRtZW51IFRvb2xCYXIuU2F2ZUFsbAmCt4LXgsSCzIN0g0CDQ4OLgvCV25G2CiAgICB0bWVudSBUb29sQmFyLlByaW50CQmI8438CiAgICB0bWVudSBUb29sQmFyLlVuZG8JCY7mguiPwYK1CiAgICB0bWVudSBUb29sQmFyLlJlZG8JCYLggqSI6pN4guKC6QogICAgdG1lbnUgVG9vbEJhci5DdXQJCYNOg4qDYoN2g3uBW4NogtaQ2ILojuaC6AogICAgdG1lbnUgVG9vbEJhci5Db3B5CQmDToOKg2KDdoN7gVuDaILWg1KDc4FbCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQmDToOKg2KDdoN7gVuDaIKpgueTXILolXSCrwogICAgdG1lbnUgVG9vbEJhci5GaW5kCQmMn431Li4uCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CY6fgvCMn431CiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CZFPgvCMn431CiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJknWKty4uLgogICAgaWYgMAkiIGRpc2FibGVkOyBUaGVzZSBhcmUgaW4gdGhlIFdpbmRvd3MgbWVudQogICAgICB0bWVudSBUb29sQmFyLk5ldwkJkFaLS4NFg0KDk4Nog0WN7JCsCiAgICAgIHRtZW51IFRvb2xCYXIuV2luU3BsaXQJg0WDQoOTg2iDRZWqioQKICAgICAgdG1lbnUgVG9vbEJhci5XaW5NYXgJg0WDQoOTg2iDRY3FkeWJuwogICAgICB0bWVudSBUb29sQmFyLldpbk1pbgmDRYNCg5ODaINFjcWPrIm7CiAgICAgIHRtZW51IFRvb2xCYXIuV2luQ2xvc2UJg0WDQoOTg2iDRYLwlcKCtoLpCiAgICBlbmRpZgogICAgdG1lbnUgVG9vbEJhci5Mb2FkU2VzbgmDWoNig1aDh4OTk8eNngogICAgdG1lbnUgVG9vbEJhci5TYXZlU2VzbgmDWoNig1aDh4OTlduRtgogICAgdG1lbnUgVG9vbEJhci5SdW5TY3JpcHQJVmltg1iDToOKg3aDZ47AjXMKICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJg3aDjYNXg0aDToNngvBNYWtlCiAgICB0bWVudSBUb29sQmFyLlNoZWxsCQmDVoNGg4uC8IpKgq0KICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJdGFnc43skKwKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAmDXoNPg1eDg4OTg3YKICAgIHRtZW51IFRvb2xCYXIuSGVscAkJVmltg3eDi4N2CiAgICB0bWVudSBUb29sQmFyLkZpbmRIZWxwCVZpbYN3g4uDdoyfjfUKICBlbmRmdW4KZW5kaWYKCiIgU3ludGF4IG1lbnUKbWVudXRyYW5zICZTeW50YXgJCYNWg5ODXoNig06DWCgmUykKbWVudXRyYW5zICZTaG93XCBmaWxldHlwZXNcIGluXCBtZW51CZHOiZ6MYI6ugvCDgYNqg4WBW4LJlVyOpigmUykKbWVudXRyYW5zIFNldFwgJyZzeW50YXgnXCBvbmx5CSdzeW50YXgngr6Cr5DdkugoJlMpCm1lbnV0cmFucyBTZXRcICcmZmlsZXR5cGUnXCB0b28JJ2ZpbGV0eXBlJ4LgkN2S6CgmRikKbWVudXRyYW5zICZPZmYJCQmWs4z4ibsoJk8pCm1lbnV0cmFucyAmTWFudWFsCQmO6JOukN2S6CgmTSkKbWVudXRyYW5zIEEmdXRvbWF0aWMJCY6pk66Q3ZLoKCZVKQptZW51dHJhbnMgb24vb2ZmXCBmb3JcICZUaGlzXCBmaWxlCglcCYNJg5Mvg0mDdJDYkdYoJlQpCm1lbnV0cmFucyBDbyZsb3JcIHRlc3QJCYNKg4mBW4Nlg1iDZygmTCkKbWVudXRyYW5zICZIaWdobGlnaHRcIHRlc3QJg26DQ4OJg0ODZ4Nlg1iDZygmSCkKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSFRNTAlIVE1MgtaDUoOTg2+BW4NnKCZDKQoKIiBKYXBhbmVzZSBzcGVjaWZpYyBtZW51CiIgkKyU24LNaWNvbnaOn5HmgUGVS4K4grWC4I53kuiCtYK9g0eDk4NSgVuDaILJgsiC6YLtgq+CxYLNgsiCooKxgsaCyZKNiNMKaWYgaGFzKCdpY29udicpCiAgIiBpY29udoLMg2+BW4NXg4eDk5S7kugKICBsZXQgczpzdXBwb3J0X2ppc3gwMjEzID0gKGljb252KCJceDg3XHg2NFx4ODdceDZhIiwgJ2NwOTMyJywgJ2V1Yy1qaXN4MDIxMycpID09IyAiXHhhZFx4YzVceGFkXHhjYiIpID8gMSA6IDAKCiAgIiCTx4LdjZ6C3QogIGFuIDEwLjM5NSAmRmlsZS4tU0VQSUNPTlYtIDxOb3A+CiAgYW4gMTAuMzk2LjEwMC4xMDAgJkZpbGUug0eDk4NSgVuDaI53kugoJkUpXC5cLlwuLopKgq0oJk8pXC5cLlwuLlNKSVMoJlMpPFRhYj5mZW5jPWNwOTMyIDpicm93c2UgY29uZmlybSBlICsrZW5jPWNwOTMyPENSPgogIGlmICFzOnN1cHBvcnRfamlzeDAyMTMKICAgIGFuIDEwLjM5Ni4xMDAuMTEwICZGaWxlLoNHg5ODUoFbg2iOd5LoKCZFKVwuXC5cLi6KSoKtKCZPKVwuXC5cLi5FVUMoJkUpPFRhYj5mZW5jPWV1Yy1qcCA6YnJvd3NlIGNvbmZpcm0gZSArK2VuYz1ldWMtanA8Q1I+CiAgICBhbiAxMC4zOTYuMTAwLjEyMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4uikqCrSgmTylcLlwuXC4uSklTKCZKKTxUYWI+ZmVuYz1pc28tMjAyMi1qcCA6YnJvd3NlIGNvbmZpcm0gZSArK2VuYz1pc28tMjAyMi1qcDxDUj4KICBlbHNlCiAgICBhbiAxMC4zOTYuMTAwLjExMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4uikqCrSgmTylcLlwuXC4uRVVDKCZFKTxUYWI+ZmVuYz1ldWMtamlzeDAyMTMgOmJyb3dzZSBjb25maXJtIGUgKytlbmM9ZXVjLWppc3gwMjEzPENSPgogICAgYW4gMTAuMzk2LjEwMC4xMjAgJkZpbGUug0eDk4NSgVuDaI53kugoJkUpXC5cLlwuLopKgq0oJk8pXC5cLlwuLkpJUygmSik8VGFiPmZlbmM9aXNvLTIwMjItanAtMyA6YnJvd3NlIGNvbmZpcm0gZSArK2VuYz1pc28tMjAyMi1qcC0zPENSPgogIGVuZGlmCiAgYW4gMTAuMzk2LjEwMC4xMzAgJkZpbGUug0eDk4NSgVuDaI53kugoJkUpXC5cLlwuLopKgq0oJk8pXC5cLlwuLlVURi04KCY4KTxUYWI+ZmVuYz11dGYtOCA6YnJvd3NlIGNvbmZpcm0gZSArK2VuYz11dGYtODxDUj4KCiAgIiCNxJPHjZ4KICBhbiAxMC4zOTYuMTEwLjEwMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4ujcSTx42eKCZSKVwuXC5cLi5TSklTKCZTKTxUYWI+ZmVuYz1jcDkzMiA6ZSArK2VuYz1jcDkzMjxDUj4KICBpZiAhczpzdXBwb3J0X2ppc3gwMjEzCiAgICBhbiAxMC4zOTYuMTEwLjExMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4ujcSTx42eKCZSKVwuXC5cLi5FVUMoJkUpPFRhYj5mZW5jPWV1Yy1qcCA6ZSArK2VuYz1ldWMtanA8Q1I+CiAgICBhbiAxMC4zOTYuMTEwLjEyMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4ujcSTx42eKCZSKVwuXC5cLi5KSVMoJkopPFRhYj5mZW5jPWlzby0yMDIyLWpwIDplICsrZW5jPWlzby0yMDIyLWpwPENSPgogIGVsc2UKICAgIGFuIDEwLjM5Ni4xMTAuMTEwICZGaWxlLoNHg5ODUoFbg2iOd5LoKCZFKVwuXC5cLi6NxJPHjZ4oJlIpXC5cLlwuLkVVQygmRSk8VGFiPmZlbmM9ZXVjLWppc3gwMjEzIDplICsrZW5jPWV1Yy1qaXN4MDIxMzxDUj4KICAgIGFuIDEwLjM5Ni4xMTAuMTIwICZGaWxlLoNHg5ODUoFbg2iOd5LoKCZFKVwuXC5cLi6NxJPHjZ4oJlIpXC5cLlwuLkpJUygmSik8VGFiPmZlbmM9aXNvLTIwMjItanAtMyA6ZSArK2VuYz1pc28tMjAyMi1qcC0zPENSPgogIGVuZGlmCiAgYW4gMTAuMzk2LjExMC4xMzAgJkZpbGUug0eDk4NSgVuDaI53kugoJkUpXC5cLlwuLo3Ek8eNnigmUilcLlwuXC4uVVRGLTgoJjgpPFRhYj5mZW5jPXV0Zi04IDplICsrZW5jPXV0Zi04PENSPgoKICAiIJXbkbYKICBhbiAxMC4zOTYuMTE1ICZGaWxlLoNHg5ODUoFbg2iOd5LoKCZFKVwuXC5cLi4tU0VQMS0gPE5vcD4KICBhbiAxMC4zOTYuMTIwLjEwMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4ulduRtigmUylcLlwuXC4uU0pJUygmUyk8VGFiPmZlbmM9Y3A5MzIgOnNldCBmZW5jPWNwOTMyIFx8IHc8Q1I+CiAgaWYgIXM6c3VwcG9ydF9qaXN4MDIxMwogICAgYW4gMTAuMzk2LjEyMC4xMTAgJkZpbGUug0eDk4NSgVuDaI53kugoJkUpXC5cLlwuLpXbkbYoJlMpXC5cLlwuLkVVQygmRSk8VGFiPmZlbmM9ZXVjLWpwIDpzZXQgZmVuYz1ldWMtanAgXHwgdzxDUj4KICAgIGFuIDEwLjM5Ni4xMjAuMTIwICZGaWxlLoNHg5ODUoFbg2iOd5LoKCZFKVwuXC5cLi6V25G2KCZTKVwuXC5cLi5KSVMoJkopPFRhYj5mZW5jPWlzby0yMDIyLWpwIDpzZXQgZmVuYz1pc28tMjAyMi1qcCBcfCB3PENSPgogIGVsc2UKICAgIGFuIDEwLjM5Ni4xMjAuMTEwICZGaWxlLoNHg5ODUoFbg2iOd5LoKCZFKVwuXC5cLi6V25G2KCZTKVwuXC5cLi5FVUMoJkUpPFRhYj5mZW5jPWV1Yy1qaXN4MDIxMyA6c2V0IGZlbmM9ZXVjLWppc3gwMjEzIFx8IHc8Q1I+CiAgICBhbiAxMC4zOTYuMTIwLjEyMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4ulduRtigmUylcLlwuXC4uSklTKCZKKTxUYWI+ZmVuYz1pc28tMjAyMi1qcC0zIDpzZXQgZmVuYz1pc28tMjAyMi1qcC0zIFx8IHc8Q1I+CiAgZW5kaWYKICBhbiAxMC4zOTYuMTIwLjEzMCAmRmlsZS6DR4OTg1KBW4NojneS6CgmRSlcLlwuXC4ulduRtigmUylcLlwuXC4uVVRGLTgoJjgpPFRhYj5mZW5jPXV0Zi04IDpzZXQgZmVuYz11dGYtOCBcfCB3PENSPgoKICB1bmxldCBzOnN1cHBvcnRfamlzeDAyMTMKZW5kaWYKCmxldCAmY3BvID0gczprZWVwY3BvCnVubGV0IHM6a2VlcGNwbwoKIiBmaWxsZXIgdG8gYXZvaWQgdGhlIGxpbmUgYWJvdmUgYmVpbmcgcmVjb2duaXplZCBhcyBhIG1vZGVsaW5lCiIgZmlsbGVyCg==