T2xpbiwgdGhpcyBpcyB0aGUgb3JpZ2luYWwgbWVzc2FnZS4KCgotLS0tLSBPcmlnaW5hbCBNZXNz YWdlIC0tLS0tIApGcm9tOiAiUmF5IEh1cnN0IiA8cmh1cnN0MkBjb3gubmV0PgpUbzogPHBpY2xp c3RAbWl0LmVkdT4KU2VudDogVGh1cnNkYXksIE1hcmNoIDEyLCAyMDA5IDI6MDYgUE0KU3ViamVj dDogW1BJQ10gTmV3IHJlbGVhc2UgLSBWaXN1YWwgRGlzYXNzZW1ibGVyIGZvciB0aGUgTWljcm9j aGlwIMKpIFBJQzE4IAptaWNyb3Byb2Nlc3NvciBmYW1pbHkKCgo+Cj4gVmlzdWFsIERpc2Fzc2Vt YmxlciBmb3IgdGhlIE1pY3JvY2hpcCDCqSBQSUMxOCBpcyBhbiBpbnRlcmFjdGl2ZSBtdWx0aS1w YXNzCj4gZGlzYXNzZW1ibGVyIGZvciB0aGUgUElDMTggbWljcm9wcm9jZXNzb3IgZmFtaWx5LiBU aGUgdXNlciBzaW1wbHkgb3BlbnMgYW4KPiBJbnRlbCBoZXggZmlsZSBhbmQgdGhlIGZpbGUgaXMg ZGlzYXNzZW1ibGVkIGFuZCBwbGFjZWQgaW4gYSB0ZXh0IHZpZXcuIFRoZQo+IHVzZXIgZG9lcyBu b3QgZWRpdCB0aGUgdGV4dCBkaXJlY3RseS4gQ29tbWVudHMgYW5kIHByb2dyYW0gbGFiZWxzIGFy ZSAKPiBhZGRlZAo+IGJ5IGFkZHJlc3MgdGhyb3VnaCBkaWFsb2cgYm94ZXMuIEVhY2ggZW50cnkg c2hvd3MgYW4gaW1tZWRpYXRlIHJlc3VsdCBpbiAKPiB0aGUKPiB0ZXh0IHZpZXcuIFByb2dyYW0g bGFiZWxzIGFyZSByZXNvbHZlZCB0aHJvdWdob3V0IHRoZSBlbnRpcmUgZmlsZS4KPiBJbnRlcm1l ZGlhdGUgd29yayBjYW4gYmUgc2F2ZWQgYW5kIHJlc3VtZWQgbGF0ZXIuIFVwb24gY29tcGxldGlv biBvZiB0aGUKPiBkaXNhc3NlbWJseSB0aGUgZmlsZSBjYW4gYmUgc2F2ZWQgYXMgYW4gYXNzZW1i bHkgbGlzdGluZyB0ZXh0IGZpbGUuIFRoZQo+IGFzc2VtYmx5IGxpc3RpbmcgY2FuIGJlIGVhc2ls eSBlZGl0ZWQgdG8gY3JlYXRlIGFuIGFzc2VtYmxlciBzb3VyY2UgZmlsZS4KPiBUaGUgYXNzZW1i bGVyIHNvdXJjZSBmaWxlIG1heSByZXF1aXJlIGVkaXRpbmcgZHVlIHRvIHRoZSByZXF1aXJlbWVu dHMgb2YgCj4gdGhlCj4gYXNzZW1ibGVyLgo+Cj4gTmV3IGZlYXR1cmVzCj4gKiBBZGRlZCBQSUMx OCBwYXJ0IHNlbGVjdGlvbgo+ICAgIHJlc29sdmVzIG1lbW9yeSBzcGFjZSwgcmVnaXN0ZXJzLCBh bmQgSVNSIHZlY3RvcnMKPiAqIEFkZGVkIG1lbW9yeSBzcGFjZSBjb250cm9sCj4gICAgQWxsb3dz IGRlZmluaXRpb24gb2YgZGF0YSBhbmQgY29kZSBhcmVhcyBpbiB0aGUgbWVtb3J5IHNwYWNlCj4K PiBUaGUgcHJvZ3JhbSBpcyBhIHBsdWctaW4gZm9yIHRoZSBFY2xpcHNlIElERSBhbmQgY2FuIGJl IHNvbGQgYXMgYW4KPiBpbmRpdmlkdWFsIGNvbXBvbmVudCBvciBidW5kbGVkIHdpdGggdGhlIEVj bGlwc2UgQ0RULgo+Cj4gVGhpcyBjYW4gYmUgYnVuZGxlZCB3aXRoIHRoZSBWaXN1YWwgRGlzYXNz ZW1ibGVyOgo+IEVDTElQU0UgQ0RUIDMuNAo+ICAgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcKPiBN YW51YWwgbG9jYXRlZCBhdDoKPiBodHRwOi8vd3d3LmNyZWF0aXZlcmVhbHRpbWVoZXVyaXN0aWNz LmNvbS9kb3dubG9hZHMvVmlzdWFsJTIwRGlzYXNzZW1ibGVyX1BJQzE4LnBkZgo+Cj4gUXVlc3Rp b25zPwo+IENvbnRhY3QgdXM6ICAgIHdlYm1hc3RlckBDcmVhdGl2ZVJlYWx0aW1lSGV1cmlzdGlj cy5vcmcKPiAtLSAKPiBWaWV3IHRoaXMgbWVzc2FnZSBpbiBjb250ZXh0OiAKPiBodHRwOi8vd3d3 Lm5hYmJsZS5jb20vLVBJQy0tTmV3LXJlbGVhc2UtLS1WaXN1YWwtRGlzYXNzZW1ibGVyLWZvci10 aGUtTWljcm9jaGlwLSVDMiVBOS1QSUMxOC1taWNyb3Byb2Nlc3Nvci1mYW1pbHktdHAyMjQ3NzEw NnAyMjQ3NzEwNi5odG1sCj4gU2VudCBmcm9tIHRoZSBQSUMgLSBbUElDXSBtYWlsaW5nIGxpc3Qg YXJjaGl2ZSBhdCBOYWJibGUuY29tLgo+Cj4KPiAtLSAKPiBodHRwOi8vd3d3LnBpY2xpc3QuY29t IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAg b3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNs aXN0Cj4gCgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbSBQSUMvU1ggRkFRICYgbGlzdCBhcmNo aXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFu Lm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg==