LlwiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgouXCIKLlwiIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHdpdGggcG80YS4gVHJhbnNsYXRlIHRoZSBzb3VyY2UgZmlsZS4KLlwiCi5cIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLlRIIGRwa2dcLWFyY2hpdGVjdHVyZSAxIDIwMTFcLTA4XC0xNCAiUHJveWVjdG8gRGViaWFuIiAiSGVycmFtaWVudGFzIGRlIGRwa2ciCi5TSCBOT01CUkUKZHBrZ1wtYXJjaGl0ZWN0dXJlIFwtIENvbmZpZ3VyYXIgeSBkZXRlcm1pbmFyIGxhIGFycXVpdGVjdHVyYSBwYXJhIGxhCmNvbnN0cnVjY2nzbiBkZSBwYXF1ZXRlcwouCi5TSCBTSU5PUFNJUwpcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgW1xmSW9wdGlvblxmUC4uLl0gW1xmSWNvbW1hbmRcZlBdCi5QUAouCi5TSCBERVNDUklQQ0nTTgpkcGtnXC1hcmNoaXRlY3R1cmUgZmFjaWxpdGEgZGV0ZXJtaW5hciB5IGNvbmZpZ3VyYXIgbGEgYXJxdWl0ZWN0dXJhIGRlCmNvbnN0cnVjY2nzbiB5IGRlIGxhIG3hcXVpbmEgYW5maXRyafNuIHBhcmEgbGEgY29uc3RydWNjafNuIGRlIHVuIHBhcXVldGUuCi5QUApMYSBhcnF1aXRlY3R1cmEgZGUgY29uc3RydWNjafNuIHNpZW1wcmUgc2UgZGV0ZXJtaW5hIGNvbiB1bmEgaW52b2NhY2nzbgpleHRlcm5hIGEgXGZCZHBrZ1xmUCgxKSwgeSBubyBzZSBwdWVkZSBkZWZpbmlyIGVuIGxhIGztbmVhIGRlIPNyZGVuZXMuCi5QUApQdWVkZSBkZWZpbmlyIGxhIGFycXVpdGVjdHVyYSBkZWwgYW5maXRyafNuIGludHJvZHVjaWVuZG8gdW5hIG8gYW1iYXMKb3BjaW9uZXMgXGZCXC1hXGZQIHkgXGZCXC10XGZQLiBFbCB2YWxvciBwb3Igb21pc2nzbiBlcyB1bmEgaW52b2NhY2nzbiBleHRlcm5hIGEKXGZCZ2NjXGZQKDEpLCBvIGxhIG1pc21hIHF1ZSBsYSBhcnF1aXRlY3R1cmEgZGUgY29uc3RydWNjafNuIGVuIGNhc28gZGUgbm8KZGlzcG9uZXIgZGUgXHMtMUNDXHMwIG8gZ2NjLiBFcyBzdWZpY2llbnRlIHVzYXIgXGZCXC1hXGZQIG8gXGZCXC10XGZQLCBlbCB2YWxvciBkZWwKb3RybyBzZSBkZWZpbmly4SBjb24gdW4gdmFsb3IgcHJlZGVmaW5pZG8gYWRlY3VhZG8uIERlIGhlY2hvLCBhIHZlY2VzIGVzCm1lam9yIGRlZmluaXIgc/NsbyB1bm8sIHlhIHF1ZSBcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgbGUgYXZpc2Fy4SBzaSBzdSBvcGNp824Kbm8gZW5jYWphIGNvbiBsYSBvcGNp824gcHJlZGVmaW5pZGEuCi4KLlNIINNSREVORVMKLlRQIApcZkJcLWxcZlAKTXVlc3RyYSBsYXMgdmFyaWFibGVzIGRlIGVudG9ybm8sIHVuYSBwb3IgbO1uZWEsIGNvbiBlbCBmb3JtYXRvClxmSVZBUklBQkxFPXZhbG9yXGZQLiBFc3RhIGVzIGxhIGFjY2nzbiBwcmVkZWZpbmlkYS4KLlRQIApcZkJcLWVcZlBcZklkZWJpYW5cLWFyY2hpdGVjdHVyZVxmUApSZXZpc2Egc2kgbGEgYXJxdWl0ZWN0dXJhIGVzIGxhIG1pc21hLiBQb3Igb21pc2nzbiwgXGZJZGViaWFuXC1hcmNoaXRlY3R1cmVcZlAKc2UgY29tcGFyYSBjb24gbGEgYXJxdWl0ZWN0dXJhIGRlbCBzaXN0ZW1hIERlYmlhbiBhY3R1YWwsIGVsIHNpc3RlbWEKYW5maXRyafNuLiBFc3RhIGFjY2nzbiBubyBleHBhbmRlIGxvcyBjb21vZGluZXMgZGUgYXJxdWl0ZWN0dXJhLiBMYSBvcmRlbgpmaW5hbGl6YSBjb24gdW4gZXN0YWRvIGRlIHNhbGlkYSBkZSBjZXJvIHNpIGNvaW5jaWRlbiwgeSBkZSAxIGVuIGNhc28KY29udHJhcmlvLgouVFAgClxmQlwtaVxmUFxmSWNvbW9k7W5cLWFycXVpdGVjdHVyYVxmUApSZXZpc2EgbGEgaWRlbnRpZGFkIGRlIGxhIGFycXVpdGVjdHVyYSBleHBhbmRpZW5kbyBcZkljb21vZGluXC1hcnF1aXRlY3R1cmFcZlAKY29tbyB1biBjb21vZO1uIGRlIGFycXVpdGVjdHVyYSwgeSBjb21wYXLhbmRvbGEgY29uIGxhIGFycXVpdGVjdHVyYSBkZWwKc2lzdGVtYSBEZWJpYW4gYWN0dWFsLiBMYSBvcmRlbiBmaW5hbGl6YSBjb24gdW4gZXN0YWRvIGRlIHNhbGlkYSBkZSBjZXJvIHNpCmNvaW5jaWRlLCB5IGRlIDEgZW4gY2FzbyBjb250cmFyaW8uCi5UUCAKXGZCXC1xXGZQXGZJbm9tYnJlXC12YXJpYWJsZVxmUApNdWVzdHJhIGVsIHZhbG9yIGRlIHVuYSD6bmljYSB2YXJpYWJsZS4KLlRQIApcZkJcLXNcZlAKTXVlc3RyYSB1bmEgb3JkZW4gq2V4cG9ydLsuIFNlIHB1ZWRlIHVzYXIgcGFyYSBkZWZpbmlyIGxhcyB2YXJpYWJsZXMgZGUKZW50b3JubyBtZWRpYW50ZSBldmFsLgouVFAgClxmQlwtdVxmUApNdWVzdHJhIHVuYSBvcmRlbiBzaW1pbGFyIGEgXGZCXC1zXGZQLCBwZXJvIHBhcmEgZWxpbWluYXIgbGEgZGVmaW5pY2nzbgooq3Vuc2V0uykgZGUgdG9kYXMgbGFzIHZhcmlhYmxlcy4KLlRQIApcZkJcLWNcZlBcZkkgb3JkZW5cZlAKRWplY3V0YSB1bmEgXGZJb3JkZW5cZlAgZW4gdW4gZW50b3JubyBjdXlhcyB2YXJpYWJsZXMgeWEgZXN04W4gZGVmaW5pZGFzIGNvbiB1bgp2YWxvciBwcmVkZWZpbmlkby4KLlRQIApcZkJcLUxcZlAKTXVlc3RyYSB1bmEgbGlzdGEgZGUgbm9tYnJlcyBkZSBhcnF1aXRlY3R1cmEgduFsaWRvcy4KLlRQIApcZkJcLVwtaGVscFxmUApNdWVzdHJhIGVsIG1vZG8gZGUgdXNvIHkgdGVybWluYS4KLlRQIApcZkJcLVwtdmVyc2lvblxmUApNdWVzdHJhIGxhIHZlcnNp824geSB0ZXJtaW5hLgouCi5TSCBPUENJT05FUwouVFAgClxmQlwtYVxmUFxmSWRlYmlhblwtYXJjaGl0ZWN0dXJlXGZQCkRlZmluZSBsYSBhcnF1aXRlY3R1cmEgZGUgRGViaWFuLgouVFAgClxmQlwtdFxmUFxmSXRpcG9cLXNpc3RlbWFcLWdudVxmUApEZWZpbmUgZWwgdGlwbyBkZSBzaXN0ZW1hIEdOVS4KLlRQIApcZkJcLWZcZlAKTG9zIHNjcmlwdHMgcmVzcGV0YW4gbG9zIHZhbG9yZXMgZGUgdmFyaWFibGVzIGRlIGVudG9ybm8gcHJlZXhpc3RlbnRlcyBxdWUKdGllbmVuIGVsIG1pc21vIG5vbWJyZSBxdWUgbG9zIHZhbG9yZXMgY29udGVuaWRvcyBlbiBlbCBzY3JpcHQgKHBvciBlamVtcGxvLAp1c2Fkb3MgcG9yIFxmQmRwa2dcLWFyY2hpdGVjdHVyZVxmUCksIGEgbWVub3MgcXVlIHNlIHVzZSBlc3RhIG1hcmNhIGRlCmZvcnphZG8uIFBlcm1pdGUgYWwgdXN1YXJpbyBzb2JyZWVzY3JpYmlyIHVuIHZhbG9yLCBh+m4gY3VhbmRvIGxhIGludm9jYWNp824KYSBcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgc2UgZW5jdWVudHJhIGVuIG90cm8gc2NyaXB0IChwb3IgZWplbXBsbywKXGZCZHBrZ1wtYnVpbGRwYWNrYWdlXGZQKDEpKS4KLgouU0ggVMlSTUlOT1MKLklQICJt4XF1aW5hIGRlIGNvbnN0cnVjY2nzbiIgNApMYSBt4XF1aW5hIGVuIGxhIHF1ZSBzZSBjb25zdHJ1eWUgZWwgcGFxdWV0ZS4KLklQICJt4XF1aW5hIGFuZml0cmnzbiIgNApMYSBt4XF1aW5hIHBhcmEgbGEgY3VhbCBzZSBjb25zdHJ1eWUgZWwgcGFxdWV0ZS4KLklQICJBcnF1aXRlY3R1cmEgZGUgRGViaWFuIiA0CkxhIGNhZGVuYSBkZSBsYSBhcnF1aXRlY3R1cmEgZGUgRGViaWFuLCBxdWUgZXNwZWNpZmljYSBlbCDhcmJvbCBiaW5hcmlvIGVuCmVsIGFyY2hpdm8gXHMtMUZUUFxzMC4gRWplbXBsb3M6IGkzODYsIHNwYXJjLCBodXJkXC1pMzg2LgouSVAgImNvbW9k7W4gZGUgYXJxdWl0ZWN0dXJhIiA0ClVuIGNvbW9k7W4gZGUgYXJxdWl0ZWN0dXJhIGVzIHVuYSBjYWRlbmEgZXNwZWNpYWwgZGUgYXJxdWl0ZWN0dXJhIHF1ZSBlbmNhamEKY29uIGN1YWxxdWllciBhcnF1aXRlY3R1cmEgcmVhbCBkZWwgcXVlIGVzIHBhcnRlLiBMYSBmb3JtYSBoYWJpdHVhbCBlcwo8a2VybmVsPlwtPGNwdT4uIEVqZW1wbG9zOiBsaW51eFwtYW55LCBhbnlcLWkzODYsIGh1cmRcLWFueS4KLklQICJ0aXBvIGRlIHNpc3RlbWEgXHMtMUdOVVxzMCIgNApVbmEgY2FkZW5hIGRlIGRlZmluaWNp824gZGUgYXJxdWl0ZWN0dXJhIHF1ZSBjb25zaXN0ZSBkZSBkb3MgcGFydGVzCnNlcGFyYWRhcyBwb3IgdW4gZ3Vp8246IGVsIHByb2Nlc2Fkb3IgeSBlbCBzaXN0ZW1hLiBFamVtcGxvczoKaTM4NlwtbGludXhcLWdudSwgc3BhcmNcLWxpbnV4XC1nbnUsIGkzODZcLWdudSwgeDg2XzY0XC1uZXRic2QuCi4KLlNIIFZBUklBQkxFUwpMYXMgc2lndWllbnRlcyB2YXJpYWJsZXMgc2UgZGVmaW5lbiBtZWRpYW50ZSBcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlA6Ci5JUCBccy0xREVCX0JVSUxEX0FSQ0hcczAgNApMYSBhcnF1aXRlY3R1cmEgZGUgRGViaWFuIGRlIGxhIG3hcXVpbmEgZGUgY29uc3RydWNjafNuLgouSVAgXHMtMURFQl9CVUlMRF9BUkNIX09TXHMwIDQKRWwgbm9tYnJlIGRlbCBzaXN0ZW1hIERlYmlhbiBkZSBsYSBt4XF1aW5hIGRlIGNvbnN0cnVjY2nzbi4KLklQIFxzLTFERUJfQlVJTERfQVJDSF9DUFVcczAgNApFbCBub21icmUgZGUgRGViaWFuIGRlbCBwcm9jZXNhZG9yIGRlIGxhIG3hcXVpbmEgZGUgY29uc3RydWNjafNuLgouSVAgXHMtMURFQl9CVUlMRF9BUkNIX0JJVFNcczAgNApFbCB0YW1h8W8gZGVsIHB1bnRlcm8gZGUgbGEgbeFxdWluYSBkZSBjb25zdHJ1Y2Np824sIGVuIGJpdHMuCi5JUCBccy0xREVCX0JVSUxEX0FSQ0hfRU5ESUFOXHMwIDQKRWwgbml2ZWwgZGUgq2VuZGlhbml6YWNp8267IGRlIGxhIG3hcXVpbmEgZGUgY29uc3RydWNjafNuLCCrbGl0dGxluyBvIKtiaWe7LgouSVAgXHMtMURFQl9CVUlMRF9HTlVfQ1BVXHMwIDQKTGEgcGFydGUgXHMtMUNQVVxzMCBkZSBccy0xREVCX0JVSUxEX0dOVV9UWVBFXHMwLgouSVAgXHMtMURFQl9CVUlMRF9HTlVfU1lTVEVNXHMwIDQKTGEgcGFydGUgZGUgq1N5c3RlbbsgZGUgXHMtMURFQl9CVUlMRF9HTlVfVFlQRVxzMC4KLklQIFxzLTFERUJfQlVJTERfR05VX1RZUEVcczAgNApFbCB0aXBvIGRlIHNpc3RlbWEgXHMtMUdOVVxzMCBkZSBsYSBt4XF1aW5hIGRlIGNvbnN0cnVjY2nzbi4KLklQIFxzLTFERUJfQlVJTERfTVVMVElBUkNIXHMwIDQKVGhlIGNsYXJpZmllZCBccy0xR05VXHMwIHN5c3RlbSB0eXBlIG9mIHRoZSBidWlsZCBtYWNoaW5lLCB1c2VkIGZvcgpmaWxlc3lzdGVtIHBhdGhzLgouSVAgXHMtMURFQl9IT1NUX0FSQ0hcczAgNApMYSBhcnF1aXRlY3R1cmEgZGUgRGViaWFuIGRlIGxhIG3hcXVpbmEgYW5maXRyafNuLgouSVAgXHMtMURFQl9IT1NUX0FSQ0hfT1NcczAgNApFbCBub21icmUgZGUgc2lzdGVtYSBEZWJpYW4gZGUgbGEgbeFxdWluYSBhbmZpdHJp824uCi5JUCBccy0xREVCX0hPU1RfQVJDSF9DUFVcczAgNApFbCBub21icmUgZGVsIHByb2Nlc2Fkb3IgRGViaWFuIGRlIGxhIG3hcXVpbmEgYW5maXRyafNuLgouSVAgXHMtMURFQl9IT1NUX0FSQ0hfQklUU1xzMCA0CkVsIHRhbWHxbyBkZWwgcHVudGVybyBkZSBsYSBt4XF1aW5hIGFuZml0cmnzbiwgZW4gYml0cy4KLklQIFxzLTFERUJfSE9TVF9BUkNIX0VORElBTlxzMCA0CkVsIG5pdmVsIGRlIKtlbmRpYW5pemFjafNuuyBkZSBsYSBt4XF1aW5hIGFuZml0cmnzbiwgq2xpdHRsZbsgbyCrYmlnuy4KLklQIFxzLTFERUJfSE9TVF9HTlVfQ1BVXHMwIDQKTGEgcGFydGUgZGUgXHMtMUNQVVxzMCBkZSBccy0xREVCX0hPU1RfR05VX1RZUEVcczAuCi5JUCBccy0xREVCX0hPU1RfR05VX1NZU1RFTVxzMCA0CkxhIHBhcnRlIGRlIKtTeXN0ZW27IGRlIFxzLTFERUJfSE9TVF9HTlVfVFlQRVxzMC4KLklQIFxzLTFERUJfSE9TVF9HTlVfVFlQRVxzMCA0CkVsIHRpcG8gZGUgc2lzdGVtYSBccy0xR05VXHMwIGRlIGxhIG3hcXVpbmEgYW5maXRyafNuLgouSVAgXHMtMURFQl9IT1NUX01VTFRJQVJDSFxzMCA0ClRoZSBjbGFyaWZpZWQgXHMtMUdOVVxzMCBzeXN0ZW0gdHlwZSBvZiB0aGUgaG9zdCBtYWNoaW5lLCB1c2VkIGZvcgpmaWxlc3lzdGVtIHBhdGhzLgouCi5TSCBERUJJQU4vUlVMRVMKTGFzIHZhcmlhYmxlcyBkZSBlbnRvcm5vIGRlZmluaWRhcyBwb3IgXGZCZHBrZ1wtYXJjaGl0ZWN0dXJlXGZQIHNlIGludHJvZHVjZW4gYQpcZklkZWJpYW4vcnVsZXNcZlAgY29tbyB2YXJpYWJsZXMgZGUgq21ha2W7IChjb25zdWx0ZSBsYSBkb2N1bWVudGFjafNuIGRlCm1ha2UpLiBQb3Igb3RyYSBwYXJ0ZSwgbm8gZGViZXLtYSBkZXBlbmRlciBkZSBlbGxvcywgeWEgcXVlIGVzdG8gcm9tcGUgbGEKaW52b2NhY2nzbiBtYW51YWwgZGVsIHNjcmlwdC4gRW4gbHVnYXIgZGUgZWxsbywgc2UgZGViZXLtYW4gaW5pY2lhciBtZWRpYW50ZQpcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgY29uIGxhIG9wY2nzbiCrXC1xuy4gQXF17SBoYXkgYWxndW5vcyBlamVtcGxvcywgcXVlCm11ZXN0cmFuIHRhbWJp6W4gY29tbyBtZWpvcmFyIGxhIGNvbXBhdGliaWxpZGFkIGRlIHN1IHBhcXVldGUgY29uIGxhCmNvbnN0cnVjY2nzbiBwYXJhIHZhcmlhcyBhcnF1aXRlY3R1cmFzLgouUFAKCkVuIGx1Z2FyIGRlOgouSVAKLm5mCkFSQ0g9XGBkcGtnIFwtXC1wcmludFwtYXJjaGl0ZWN0dXJlXGAKY29uZmlndXJlICQoXHMtMUFSQ0hcczApXC1saW51eAouZmkKLlBQCnVzZSBsbyBzaWd1aWVudGU6Ci5JUAoubmYKXCZccy0xREVCX0JVSUxEX0dOVV9UWVBFXHMwIDo9ICQoc2hlbGwgZHBrZ1wtYXJjaGl0ZWN0dXJlIFwtcURFQl9CVUlMRF9HTlVfVFlQRSkKXCZccy0xREVCX0hPU1RfR05VX1RZUEVcczAgOj0gJChzaGVsbCBkcGtnXC1hcmNoaXRlY3R1cmUgXC1xREVCX0hPU1RfR05VX1RZUEUpCgpjb25maWd1cmUgXC1cLWJ1aWxkPSQoXHMtMURFQl9CVUlMRF9HTlVfVFlQRVxzMCkgXC1cLWhvc3Q9JChccy0xREVCX0hPU1RfR05VX1RZUEVcczApCi5maQouUFAKCkVuIGx1Z2FyIGRlOgouSVAKLm5mCkFSQ0g9XGBkcGtnIFwtXC1wcmludFwtYXJjaGl0ZWN0dXJlXGAKaWZlcSAoJChccy0xQVJDSFxzMCksYWxwaGEpCiAgLi4uCmVuZGlmCi5maQouUFAKdXNlOgouSVAKLm5mClwmXHMtMURFQl9IT1NUX0FSQ0hcczAgOj0gJChzaGVsbCBkcGtnXC1hcmNoaXRlY3R1cmUgXC1xREVCX0hPU1RfQVJDSCkKCmlmZXEgKCQoXHMtMURFQl9IT1NUX0FSQ0hcczApLGFscGhhKQogIC4uLgplbmRpZgouZmkKLlBQCm8gc2kgc/NsbyBwcmVjaXNhIHJldmlzYXIgZWwgdGlwbyBkZSBzaXN0ZW1hIG8gQ1BVLCB1c2UgbGFzIHZhcmlhYmxlcwqrREVCX0hPU1RfQVJDSF9PU7sgbyCrREVCX0hPU1RfQVJDSF9DUFW7LgouUFAKRW4gZ2VuZXJhbCwgaW52b2NhciBkcGtnIGVuIGVsIGZpY2hlcm8gZGUgcmVnbGFzICircnVsZXO7KSBwYXJhIG9idGVuZXIgbGEKaW5mb3JtYWNp824gZGUgYXJxdWl0ZWN0dXJhIGVzdOEgb2Jzb2xldG8gKGEgbWVub3MgcXVlIGRlc2VlIG9mcmVjZXIKY29tcGF0aWJpbGlkYWQgY29uIHZlcnNpb25lcyBhbnRlcmlvcmVzLCB26WFzZSBhIGNvbnRpbnVhY2nzbikuIExhIG9wY2nzbgqrXC1cLXByaW50XC1hcmNoaXRlY3R1cmW7IGVzIHBhcnRpY3VsYXJtZW50ZSBpbmVzdGFibGUsIHlhIHF1ZSBleGlzdGVuCmFycXVpdGVjdHVyYXMgZGUgRGViaWFuIHF1ZSBubyBlbmNhamFuIGNvbiBlbCBub21icmUgZGUgdW4gcHJvY2VzYWRvci4KLgouU0ggIkNPTVBBVElCSUxJREFEIENPTiBWRVJTSU9ORVMgQU5URVJJT1JFUyIKTGFzIHZhcmlhYmxlcyCrREVCXypfQVJDSF9CSVRTuyB5IKtERUJfKl9BUkNIX0VORElBTrsgc2UgaW50cm9kdWplcm9uIGEKcGFydGlyIGRlIGxhIHZlcnNp824gMS4xNS40IGRlIGRwa2dcLWRldi4gU3UgdXNvIGVuIFxmSWRlYmlhbi9ydWxlc1xmUCByZXF1aWVyZQp1bmEgZGVwZW5kZW5jaWEgZGUgY29uc3RydWNjafNuIHNvYnJlIGRwa2dcLWRldiAoPj0gMS4xNS40KS4KLlBQCkxhcyB2YXJpYWJsZXMgq0RFQl9IT1NUX0FSQ0hfQ1BVuyB5IKtERUJfSE9TVF9BUkNIX09TuyBzZSBpbnRyb2R1amVyb24gYQpwYXJ0aXIgZGUgbGEgdmVyc2nzbiAxLjEzLjIgZGUgZHBrZ1wtZGV2LiBBbnRlcywgbG9zIGZpY2hlcm9zIFxmSWRlYmlhbi9ydWxlc1xmUApzb2ztYW4gcmV2aXNhciBhcXVlbGxvcyB2YWxvcmVzIGRlIKtERUJfSE9TVF9HTlVfQ1BVuyBvIKtERUJfSE9TVF9HTlVfVFlQRbsKc3VzY2VwdGlibGVzIGRlIGhhYmVyIGNhbWJpYWRvLgouUFAKU2UgZGViZXLtYW4gYWN0dWFsaXphciBhcXVlbGxhcyBwYXJ0ZXMgZGUgbG9zIGZpY2hlcm9zIFxmSWRlYmlhbi9ydWxlc1xmUCBxdWUKcmV2aXNhbiBsYXMgdmFyaWFibGVzIHF1ZSBkZWNpZGVuIGVsIG1vZG8gbyBlbCBvYmpldGl2byBhIGNvbXBpbGFyLiBQdWVkZQp1c2FyIGVsIHNpZ3VpZW50ZSBj82RpZ28gc2kgZGVzZWEgcGVybWl0aXIgbGEgY29tcGF0aWJpbGlkYWQgY29uIHZlcnNpb25lcwphbnRlcmlvcmVzIGRlIGRwa2dcLWRldjoKLklQCi5uZgpERUJfSE9TVF9BUkNIX0NQVSA6PSAkKHNoZWxsIGRwa2dcLWFyY2hpdGVjdHVyZSBcLXFERUJfSE9TVF9BUkNIX0NQVSAyPi9kZXYvbnVsbCkKREVCX0hPU1RfQVJDSF9PUyA6PSAkKHNoZWxsIGRwa2dcLWFyY2hpdGVjdHVyZSBcLXFERUJfSE9TVF9BUkNIX09TIDI+L2Rldi9udWxsKQoKIyBUYWtlIGFjY291bnQgb2Ygb2xkIGRwa2dcLWFyY2hpdGVjdHVyZSBvdXRwdXQuCmlmZXEgKCQoREVCX0hPU1RfQVJDSF9DUFUpLCkKICBERUJfSE9TVF9BUkNIX0NQVSA6PSAkKHNoZWxsIGRwa2dcLWFyY2hpdGVjdHVyZSBcLXFERUJfSE9TVF9HTlVfQ1BVKQogIGlmZXEgKCQoREVCX0hPU1RfQVJDSF9DUFUpLHg4Nl82NCkKICAgIERFQl9IT1NUX0FSQ0hfQ1BVIDo9IGFtZDY0CiAgZW5kaWYKZW5kaWYKaWZlcSAoJChERUJfSE9TVF9BUkNIX09TKSwpCiAgREVCX0hPU1RfQVJDSF9PUyA6PSAkKHN1YnN0IFwtZ251LCwkKHNoZWxsIGRwa2dcLWFyY2hpdGVjdHVyZSBcLXFERUJfSE9TVF9HTlVfU1lTVEVNKSkKICBpZmVxICgkKERFQl9IT1NUX0FSQ0hfT1MpLGdudSkKICAgIERFQl9IT1NUX0FSQ0hfT1MgOj0gaHVyZAogIGVuZGlmCmVuZGlmCi5maQouUFAKWSBkZSBmb3JtYSBwYXJlY2lkYSBjb24gq0RFQl9CVUlMRF9BUkNIX0NQVbsgeSCrREVCX0JVSUxEX0FSQ0hfT1O7LgouUFAKU2kgZGVzZWEgbGEgY29tcGF0aWJpbGlkYWQgY29uIHZlcnNpb25lcyBkZSBkcGtnXC1kZXYgcXVlIG5vIGluY2x17WFuClxmQmRwa2dcLWFyY2hpdGVjdHVyZVxmUCwgcHVlZGUgdXNhciBsbyBzaWd1aWVudGU6Ci5JUAoubmYKXCZccy0xREVCX0JVSUxEX0FSQ0hcczAgOj0gJChzaGVsbCBkcGtnIFwtXC1wcmludFwtYXJjaGl0ZWN0dXJlKQpcJlxzLTFERUJfQlVJTERfR05VX0NQVVxzMCA6PSAkKHBhdHN1YnN0IGh1cmRcLSUsJSwkKFxzLTFERUJfQlVJTERfQVJDSFxzMCkpCmlmZXEgKCQoZmlsdGVyXC1vdXQgaHVyZFwtJSwkKFxzLTFERUJfQlVJTERfQVJDSFxzMCkpLCkKICBccy0xREVCX0JVSUxEX0dOVV9TWVNURU1cczAgOj0gZ251CmVsc2UKICBccy0xREVCX0JVSUxEX0dOVV9TWVNURU1cczAgOj0gbGludXhcLWdudQplbmRpZgpERUJfQlVJTERfR05VX1RZUEU9JChccy0xREVCX0JVSUxEX0dOVV9DUFVcczApXC0kKFxzLTFERUJfQlVJTERfR05VX1NZU1RFTVxzMCkKClwmXHMtMURFQl9IT1NUX0FSQ0hcczAgOj0gJChccy0xREVCX0JVSUxEX0FSQ0hcczApClwmXHMtMURFQl9IT1NUX0dOVV9DUFVcczAgOj0gJChccy0xREVCX0JVSUxEX0dOVV9DUFVcczApClwmXHMtMURFQl9IT1NUX0dOVV9TWVNURU1cczAgOj0gJChccy0xREVCX0JVSUxEX0dOVV9TWVNURU1cczApClwmXHMtMURFQl9IT1NUX0dOVV9UWVBFXHMwIDo9ICQoXHMtMURFQl9CVUlMRF9HTlVfVFlQRVxzMCkKLmZpCi5QUApJbnNlcnRlIHVuIHN1YmNvbmp1bnRvIGRlIGVzdGFzIGztbmVhcyBhbCBpbmljaW8gZGVsIGZpY2hlcm8gq2RlYmlhbi9ydWxlc7s7CmVzdG9zIHZhbG9yZXMgcHJlZGVmaW5pZG9zIHNlIHNvYnJlZXNjcmliaXLhbiBlbiBjYXNvIGRlIHVzYXIKZHBrZ1wtYXJjaGl0ZWN0dXJlLgouUFAKTm8gbmVjZXNpdGEgZWwgY29uanVudG8gY29tcGxldG8uIFNlbGVjY2lvbmUgdW4gY29uanVudG8gY29uc2lzdGVudGUgcXVlCmNvbnRlbmdhIGxvcyB2YWxvcmVzIHF1ZSB1c2EgZW4gZWwgZmljaGVybyBkZSByZWdsYXMuIFBvciBlamVtcGxvLCBzaSBz82xvCm5lY2VzaXRhIGxhIGFycXVpdGVjdHVyYSBEZWJpYW4gZGVsIHNpc3RlbWEgZGUgZGVzdGlubywgdGllbmUgc3VmaWNpZW50ZSBjb24Kq0RFQl9IT1NUX0FSQ0g9XGBkcGtnIFwtXC1wcmludFwtYXJjaGl0ZWN0dXJlXLsgKGRlIGhlY2hvLCBlc3RhIGVzIGxhCmFycXVpdGVjdHVyYSBkZSBEZWJpYW4gZGUgbGEgbeFxdWluYSBkZSBjb25zdHJ1Y2Np824sIHBlcm8gcmVjdWVyZGUgcXVlIHPzbG8KaW50ZW50YW1vcyBjcmVhciBsYSBjb21wYXRpYmlsaWRhZCBjb24gdmVyc2lvbmVzIGFudGVyaW9yZXMgcXVlIHRpZW5lbiB1bmEKY29tcGlsYWNp824gbmF0aXZhKS4KLlBQCkxhcyBvcGNpb25lcyBcZkJcLWVcZlAgeSBcZkJcLWlcZlAgYXBhcmVjaWVyb24gZW4gcmVjaWVudGVzIHZlcnNpb25lcyBkZQpcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgKGEgcGFydGlyIGRlIGxhIHZlcnNp824gMS4xMy4xMyBkZSBkcGtnKS4KLgouU0ggRUpFTVBMT1MKXGZCZHBrZ1wtYnVpbGRwYWNrYWdlXGZQIGFjZXB0YSBsYSBvcGNp824gXGZCXC1hXGZQIHkgbGEgaW50cm9kdWNlIGEKXGZCZHBrZ1wtYXJjaGl0ZWN0dXJlXGZQLiBPdHJvcyBlamVtcGxvczoKLklQCkNDPWkzODZcLWdudVwtZ2NjIGRwa2dcLWFyY2hpdGVjdHVyZSBcLWMgZGViaWFuL3J1bGVzIGJ1aWxkCi5JUApldmFsIFxgZHBrZ1wtYXJjaGl0ZWN0dXJlIFwtdVxgCi5QUApSZXZpc2Egc2kgdW5hIGFycXVpdGVjdHVyYSBlcXVpdmFsZSBhIGxhIGFycXVpdGVjdHVyYSBhY3R1YWwgbyBkYWRhOgouSVAKZHBrZ1wtYXJjaGl0ZWN0dXJlIFwtZWxpbnV4XC1hbHBoYQouSVAKZHBrZ1wtYXJjaGl0ZWN0dXJlIFwtYW1pcHMgXC1lbGludXhcLW1pcHMKLlBQClJldmlzYSBzaSBsYSBhcnF1aXRlY3R1cmEgYWN0dWFsIG8gaW50cm9kdWNpZGEgY29uIKtcLWG7IGVzIGRlIHVuIHNpc3RlbWEKTGludXg6Ci5JUApkcGtnXC1hcmNoaXRlY3R1cmUgXC1pbGludXhcLWFueQouSVAKZHBrZ1wtYXJjaGl0ZWN0dXJlIFwtYWkzODYgXC1pbGludXhcLWFueQouCi5TSCBGSUNIRVJPUwpBbGwgdGhlc2UgZmlsZXMgaGF2ZSB0byBiZSBwcmVzZW50IGZvciBcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgdG8gd29yay4gVGhlaXIKbG9jYXRpb24gY2FuIGJlIG92ZXJyaWRkZW4gYXQgcnVudGltZSB3aXRoIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQpcZkJEUEtHX0RBVEFESVJcZlAuCi5UUCAKXGZJL3Vzci9zaGFyZS9kcGtnL2NwdXRhYmxlXGZQClRhYmxhIGRlIG5vbWJyZXMgZGUgQ1BVIGNvbm9jaWRvcyB5IHN1IGNvcnJlbGFjafNuIGNvbiBzdSBub21icmUgR05VLgouVFAgClxmSS91c3Ivc2hhcmUvZHBrZy9vc3RhYmxlXGZQClRhYmxhIGRlIHNpc3RlbWFzIG9wZXJhdGl2b3MgY29ub2NpZG9zIHkgc3UgY29ycmVsYWNp824gY29uIHN1IG5vbWJyZSBHTlUuCi5UUCAKXGZJL3Vzci9zaGFyZS9kcGtnL3RyaXBsZXR0YWJsZVxmUApDb3JyZWxhY2nzbiBlbnRyZSB0dXBsZXMgZGUgMyBkZSBsYSBhcnF1aXRlY3R1cmEgZGUgRGViaWFuLCB5IGxvcyBub21icmVzIGRlCmFycXVpdGVjdHVyYSBkZSBEZWJpYW4uCi4KLlNIICJWyUFTRSBUQU1CSclOIgpcZkJkcGtnXC1idWlsZHBhY2thZ2VcZlAoMSksIFxmQmRwa2dcLWNyb3NzXGZQKDEpLgouCi5TSCBBVVRPUgpcZkJkcGtnXC1hcmNoaXRlY3R1cmVcZlAgeSBzdSBw4WdpbmEgZGUgbWFudWFsIGZ1ZXJvbiBlc2NyaXRvcyBvcmlnaW5hbG1lbnRlIHBvcgpNYXJjdXMgQnJpbmttYW5uIDxicmlua21kQGRlYmlhbi5vcmc+LgoKLlNIICJUUkFEVUNUT1IiClJ1ZHkgR29kb3kgPHJ1ZHlAa2VybmVsXC1wYW5pay5vcmc+LApSdWLpbiBQb3JyYXMgPG5haG9vQGluaWNpYS5lcz4sCkJydW5vIEJhcnJlcmEgQy4gPGJydW5vLmJhcnJlcmFAaWdsb28uY2w+LApDYXJsb3MgSXpxdWllcmRvIDxnaGVlc2hAZXJ0aXMubmV0PiwKRXN0ZWJhbiBNYW5jaGFkbyB5Ck5PSy4KRGViaWFuIEwxMG4gU3BhbmlzaCA8ZGViaWFuXC1sMTBuXC1zcGFuaXNoQGxpc3RzLmRlYmlhbi5vcmc+LgouYnIKUmV2aXNpb25lcyBwb3IgU2FudGlhZ28gVmlsYSA8c2FudmlsYUB1bmV4LmVzPiwKSmF2aWVyIEZlcm7hbmRlelwtU2FuZ3Vpbm8sIFJ1YuluIFBvcnJhcywKTHVpcyBVcmliZSB5IE9tYXIgQ2FtcGFnbmUuCg==