JElkOiBSRUFETUUuaWNuLHYgMS43IDIwMDAvMDgvMDYgMDk6MjI6NTEgYXJtaW4gRXhwICQKCllvdSBjYW4gZ2V0IHRoZSBJQ04tSVNETi1jYXJkIGZyb206CgpUaGlua2luZyBPYmplY3RzIFNvZnR3YXJlIEdtYkgKVmVyc2JhY2hlciBS9nRoZSAxNTkKOTcwNzggV/xyemJ1cmcKVGVsOiArNDkgOTMxIDI4Nzc5NTAKRmF4OiArNDkgOTMxIDI4Nzc5NTEKCmVtYWlsIGluZm9AdGhpbmsuZGUKV1dXICAgaHR0cDovd3d3LnRoaW5rLmRlCgoKVGhlIGNhcmQgY29tbXVuaWNhdGVzIHdpdGggdGhlIFBDIGJ5IHR3byBpbnRlcmZhY2VzOgogIDEuIEEgcmFuZ2Ugb2YgNCBzdWNjZXNzaXZlIHBvcnQtYWRkcmVzc2VzLCB3aG9zZSBiYXNlIGFkZHJlc3MgY2FuIGJlIAogICAgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgc3dpdGNoZXMuCiAgMi4gQSBtZW1vcnkgd2luZG93IHdpdGggMTZLQi0yNTZLQiBzaXplLCB3aGljaCBjYW4gYmUgc2V0dXAgaW4gMTZrIHN0ZXBzCiAgICAgb3ZlciB0aGUgd2hvbGUgcmFuZ2Ugb2YgMTZNQi4gSXNkbjRsaW51eCBvbmx5IHVzZXMgYSAxNmsgd2luZG93LgogICAgIFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIHdpbmRvdyBjYW4gYmUgY29uZmlndXJlZCB3aGVuIGxvYWRpbmcKICAgICB0aGUgbG93bGV2ZWwtbW9kdWxlIChzZWUgUkVBRE1FKS4gSWYgdXNpbmcgbW9yZSB0aGFuIG9uZSBjYXJkLAogICAgIGFsbCBjYXJkcyBhcmUgbWFwcGVkIHRvIHRoZSBzYW1lIHdpbmRvdyBhbmQgYWN0aXZhdGVkIGFzIG5lZWRlZC4KClNldHRpbmcgdXAgdGhlIElPLWFkZHJlc3MgZGlwc3dpdGNoZXMgZm9yIHRoZSBJQ04tSVNETi1jYXJkOgoKICBUd28gdHlwZXMgb2YgY2FyZHMgZXhpc3QsIG9uZSB3aXRoIGRpcC1zd2l0Y2hlcyBhbmQgb25lIHdpdGgKICBob29rLXN3aXRjaGVzLgoKICAxLiBTZXR0aW5nIGZvciB0aGUgY2FyZCB3aXRoIGhvb2stc3dpdGNoZXM6CgogICAgICgwID0gc3dpdGNoIGNsb3NlZCwgMSA9IHN3aXRjaCBvcGVuKQoKICAgICBTMyBTMiBTMSAgQmFzZS1hZGRyZXNzCiAgICAgIDAgIDAgIDAgIDB4MzAwCiAgICAgIDAgIDAgIDEgIDB4MzEwCiAgICAgIDAgIDEgIDAgIDB4MzIwIChEZWZhdWx0IGZvciBpc2RuNGxpbnV4KQogICAgICAwICAxICAxICAweDMzMAogICAgICAxICAwICAwICAweDM0MAogICAgICAxICAwICAxICAweDM1MAogICAgICAxICAxICAwICAweDM2MAogICAgICAxICAxICAxICBOT1QgQUxMT1dFRCEKICAgIAogIDIuIFNldHRpbmcgZm9yIHRoZSBjYXJkIHdpdGggZGlwLXN3aXRjaGVzOgoKICAgICAoMCA9IHN3aXRjaCBjbG9zZWQsIDEgPSBzd2l0Y2ggb3BlbikKCiAgICAgUzEgUzIgUzMgUzQgIEJhc2UtQWRkcmVzcwogICAgICAwICAwICAwICAwICAweDMwMAogICAgICAwICAwICAwICAxICAweDMxMAogICAgICAwICAwICAxICAwICAweDMyMCAoRGVmYXVsdCBmb3IgaXNkbjRsaW51eCkKICAgICAgMCAgMCAgMSAgMSAgMHgzMzAKICAgICAgMCAgMSAgMCAgMCAgMHgzNDAKICAgICAgMCAgMSAgMCAgMSAgMHgzNTAKICAgICAgMCAgMSAgMSAgMCAgMHgzNjAKICAgICAgMCAgMSAgMSAgMSAgTk9UIEFMTE9XRUQhCiAgICAgIDEgIDAgIDAgIDAgIDB4MzA4CiAgICAgIDEgIDAgIDAgIDEgIDB4MzE4CiAgICAgIDEgIDAgIDEgIDAgIDB4MzI4CiAgICAgIDEgIDAgIDEgIDEgIDB4MzM4CiAgICAgIDEgIDEgIDAgIDAgIDB4MzQ4CiAgICAgIDEgIDEgIDAgIDEgIDB4MzU4CiAgICAgIDEgIDEgIDEgIDAgIDB4MzY4CiAgICAgIDEgIDEgIDEgIDEgIE5PVCBBTExPV0VEIQoKVGhlIElDTiBkcml2ZXIgbWF5IGJlIGJ1aWx0IGludG8gdGhlIGtlcm5lbCBvciBhcyBhIG1vZHVsZS4gSW5pdGlhbGl6YXRpb24KZGVwZW5kcyBvbiBob3cgdGhlIGRyaXZlciBpcyBidWlsdDoKCkRyaXZlciBidWlsdCBpbnRvIHRoZSBrZXJuZWw6CgogIFRoZSBJQ04gZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBjb21tYW5kbGluZS1mZWF0dXJlIHdoaWxlCiAgbG9hZGluZyB0aGUga2VybmVsIHdpdGggTElMTyBvciBMT0FETElOLiBJdCBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgc3ludGF4OgoKICBpY249cCxtWyxpZHN0cmluZzFbLGlkc3RyaW5nMl1dCgogIHdoZXJlCgogICAgcCA9IHBvcnRiYXNlICAgICAgKGRlZmF1bHQ6IDB4MzIwKQogICAgbSA9IHNoYXJlZCBtZW1vcnkgKGRlZmF1bHQ6IDB4ZDAwMDApCgogIFdoZW4gdXNpbmcgdGhlIElDTiBkb3VibGUgY2FyZCAoNEIpLCB5b3UgTVVTVCBkZWZpbmUgVFdPIGlkc3RyaW5ncy4KICBpZHN0cmluZyBtdXN0IHN0YXJ0IHdpdGggYSBjaGFyYWN0ZXIhIFRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIGRyaXZlcgogIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYSAyQiBhbmQgNEIgdHlwZSBjYXJkLiBUaGVyZWZvcmUsIGJ5IHN1cHBseWluZwogIFRXTyBpZHN0cmluZ3MsIHlvdSB0ZWxsIHRoZSBkcml2ZXIgdGhhdCB5b3UgaGF2ZSBhIDRCIGluc3RhbGxlZC4KICAKICBJZiB5b3UgbGlrZSB0byB1c2UgbW9yZSB0aGFuIG9uZSBjYXJkLCB5b3UgY2FuIHVzZSB0aGUgcHJvZ3JhbQogICJpY25jdHJsIiBmcm9tIHRoZSB1dGlsaXR5LXBhY2thZ2UgdG8gY29uZmlndXJlIGFkZGl0aW9uYWwgY2FyZHMuCiAgWW91IG5lZWQgdG8gY29uZmlndXJlIHNoYXJlZCBtZW1vcnkgb25seSBvbmNlLCBzaW5jZSB0aGUgaWNuLWRyaXZlcgogIG1hcHMgYWxsIGNhcmRzIGludG8gdGhlIHNhbWUgYWRkcmVzcy1zcGFjZS4KCiAgVXNpbmcgdGhlICJpY25jdHJsIi11dGlsaXR5LCBwb3J0YmFzZSBhbmQgc2hhcmVkIG1lbW9yeSBjYW4gYWxzbyBiZQogIGNoYW5nZWQgZHVyaW5nIHJ1bnRpbWUuCgogIFRoZSBELWNoYW5uZWwgcHJvdG9jb2wgaXMgY29uZmlndXJlZCBieSBsb2FkaW5nIGRpZmZlcmVudCBmaXJtd2FyZQogIGludG8gdGhlIGNhcmQncyBtZW1vcnkgdXNpbmcgdGhlICJpY25jdHJsIi11dGlsaXR5LgoKCkRyaXZlciBidWlsdCBhcyBtb2R1bGU6CgogIFRoZSBtb2R1bGUgaWNuLm8gY2FuIGJlIGNvbmZpZ3VyZWQgZHVyaW5nICJpbnNtb2QnaW5nIiBpdCBieQogIGFwcGVuZGluZyBpdHMgcGFyYW1ldGVycyB0byB0aGUgaW5zbW9kLWNvbW1hbmRsaW5lLiBUaGUgZm9sbG93aW5nCiAgc3ludGF4IGlzIGFjY2VwdGVkOgoKICAgIHBvcnRiYXNlPXAgbWVtYmFzZT1tIGljbl9pZD1pZHN0cmluZyBbaWNuX2lkMj1pZHN0cmluZzJdCgogIHdoZXJlIHAsIG0sIGlkc3RyaW5nMSBhbmQgaWRzdHJpbmcyIGhhdmUgdGhlIHNhbWUgbWVhbmluZ3MgYXMgdGhlCiAgcGFyYW1ldGVycyBkZXNjcmliZWQgZm9yIHRoZSBrZXJuZWwtdmVyc2lvbiBhYm92ZS4KICAgICAgCiAgV2hlbiB1c2luZyB0aGUgSUNOIGRvdWJsZSBjYXJkICg0QiksIHlvdSBNVVNUIGRlZmluZSBUV08gaWRzdHJpbmdzLgogIGlkc3RyaW5nIG11c3Qgc3RhcnQgd2l0aCBhIGNoYXJhY3RlciEgVGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgZHJpdmVyCiAgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhIDJCIGFuZCA0QiB0eXBlIGNhcmQuIFRoZXJlZm9yZSwgYnkgc3VwcGx5aW5nCiAgVFdPIGlkc3RyaW5ncywgeW91IHRlbGwgdGhlIGRyaXZlciB0aGF0IHlvdSBoYXZlIGEgNEIgaW5zdGFsbGVkLgogIAogIFVzaW5nIHRoZSAiaWNuY3RybCItdXRpbGl0eSwgdGhlIHNhbWUgZmVhdHVyZXMgYXBwbHkgdG8gdGhlIG1vZHVsYXJpemVkCiAgdmVyc2lvbiBsaWtlIHRvIHRoZSBrZXJuZWwtYnVpbHRpbiBvbmUuCgogIFRoZSBELWNoYW5uZWwgcHJvdG9jb2wgaXMgY29uZmlndXJlZCBieSBsb2FkaW5nIGRpZmZlcmVudCBmaXJtd2FyZQogIGludG8gdGhlIGNhcmQncyBtZW1vcnkgdXNpbmcgdGhlICJpY25jdHJsIi11dGlsaXR5LgoKTG9hZGluZyB0aGUgZmlybXdhcmUgaW50byB0aGUgY2FyZDoKCiAgVGhlIGZpcm13YXJlIGlzIHN1cHBsaWVkIHRvZ2V0aGVyIHdpdGggdGhlIGlzZG40ay11dGlscyBwYWNrYWdlLiBJdAogIGNhbiBiZSBmb3VuZCBpbiB0aGUgc3ViZGlyZWN0b3J5IGljbmN0cmwvZmlybXdhcmUvCgogIFRoZXJlIGFyZSAzIGZpbGVzOgoKICAgIGxvYWRwZy5iaW4gICAtIEltYWdlIG9mIHRoZSBib290c3RyYXAgbG9hZGVyLgogICAgcGNfMXRfY2EuYmluIC0gSW1hZ2Ugb2YgZmlybXdhcmUgZm9yIGdlcm1hbiAxVFI2IHByb3RvY29sLgogICAgcGNfZXVfY2EuYmluIC0gSW1hZ2UgaWYgZmlybXdhcmUgZm9yIEVEU1MxIChFdXJvLUlTRE4pIHByb3RvY29sLgoKICBBc3N1bWluZyB5b3UgaGF2ZSBpbnN0YWxsZWQgdGhlIHV0aWxpdHktcGFja2FnZSBjb3JyZWN0bHksIHRoZSBmaXJtd2FyZQogIHdpbGwgYmUgZG93bmxvYWRlZCBpbnRvIHRoZSAyQi1jYXJkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCiAgICBpY25jdHJsIC1kIElkc3RyaW5nIGxvYWQgL2V0Yy9pc2RuL2xvYWRwZy5iaW4gL2V0Yy9pc2RuL3BjX1hYX2NhLmJpbgoKICB3aGVyZSBYWCBpcyBlaXRoZXIgIjF0IiBvciAiZXUiLCBkZXBlbmRpbmcgb24gdGhlIEQtQ2hhbm5lbCBwcm90b2NvbAogIHVzZWQgb24geW91ciBTMC1idXMgYW5kIElkc3RyaW5nIGlzIHRoZSBOYW1lIG9mIHRoZSBjYXJkLCBnaXZlbiBkdXJpbmcKICBpbnNtb2QtdGltZSBvciAoZm9yIGtlcm5lbC1idWlsdGluIGRyaXZlcikgb24gdGhlIGtlcm5lbCBjb21tYW5kbGluZS4KCiAgVG8gbG9hZCBhIDRCLWNhcmQsIHRoZSBzYW1lIGNvbW1hbmQgaXMgdXNlZCwgZXhjZXB0IGEgc2Vjb25kIGZpcm13YXJlCiAgZmlsZSBpcyBhcHBlbmRlZCB0byB0aGUgY29tbWFuZGxpbmUgb2YgaWNuY3RybC4KCiAgLT4gQWZ0ZXIgZG93bmxvYWRpbmcgZmlybXdhcmUsIHRoZSB0d28gTEVEcyBhdCB0aGUgYmFjayBjb3ZlciBvZiB0aGUgY2FyZAogICAgIChJQ04tNEI6IDQgTEVEcykgbXVzdCBiZSBibGlua2luZyBpbnRlcm1pdHRlbnRseSBub3cuIElmIGEgY29ubmVjdGlvbgogICAgIGlzIHVwLCB0aGUgY29ycmVzcG9uZGluZyBsZWQgaXMgbGl0IGNvbnRpbnVvdXNseS4KCiAgRm9yIGZ1cnRoZXIgZG9jdW1lbnRhdGlvbiAoYWRkaW5nIG1vcmUgSUNOLWNhcmRzKSwgcmVmZXIgdG8gdGhlIG1hbnBhZ2UKICBpY25jdHJsLjggd2hpY2ggaXMgaW5jbHVkZWQgaW4gdGhlIGlzZG40ay11dGlscyBwYWNrYWdlLgoK