LS0tIE9uIE1vbiwgMTUvMTIvMDgsIE9saW4gTGF0aHJvcCA8b2xpbl9waWNsaXN0QGVtYmVkaW5j LmNvbT4gd3JvdGU6CsKgCkogRkxFVENIRVIgd3JvdGU6Cj4gU3VyZWx5IHRoaXMgaXNuJ3QgbmVj ZXNzYXJ5IGZvciBqdW1wcyB3aXRoaW4gcGFnZXM/CgpTdXJlbHkgKndoYXQqIGlzbid0IG5lY2Vz c2FyeT8KwqAKVGhpcyB3YXMgaW4gcmVwbHkgdG8gYSBxdWVzdGlvbi4gUmVhZCBhbGwgdGhlIHRl eHQgYW5kIHlvdSdsbCBzZWUgdGhlIGFuc3dlci4KCj4gSSd2ZSBkb25lIHRoaXMgaW4KPiBvdGhl ciBwYXJ0cyBvZiB0aGUgcHJvZ3JhbSwgd2hlcmUgcm91dGluZXMgYXJlIGluIHBhZ2UgMToKPgo+ IFBhZ2UgMAo+IC4uLgo+IEJDRiBQQ0xBVEgsNAo+IEJTRiBQQ0xBVEgsMwo+IENBTEwgVElNRV8x Cj4KPiBQYWdlIDEKPgo+IFRJTUVfMQo+IC4uLgo+IChjb2RlKQo+IC4uLgo+IEJDRiBQQ0xBVEgs NAo+IEJDRixQQ0xBVEgsMwo+IFJFVFVSTgoKVGhpcyBpcyByZWFsbHkgYmFkIHByb2dyYW1taW5n IGZvciBzZXZlcmFsIHJlYXNvbnM6CgoxIC0gTGFiZWxzIHN0YXJ0IGluIGNvbHVtbiAxIGFuZCBv cGNvZGVzIGluIGNvbHVtbiAyIG9yIGxhdGVyLsKgIEF0IGJlc3QgeW91CndpbGwgZ2V0IGxvdHMg b2YgYXNzZW1ibGVyIHdhcm5pbmdzIGZyb20gdGhpcyBjb2RlLgoxLiBBY3R1YWxseSwgdGhpcyBp c24ndCB0aGUgZm9ybWF0IGluIHRoZSAuYXNtIGZpbGUuIE15IGUtbWFpbCBzb2Z0d2FyZSBkb2Vz bid0IGFsbG93Cm11bHRpcGxlIHNwYWNlcywgYW5kIHVzaW5nIHRoZSB0YWIga2V5IGNhdXNlcyBp dCB0byBzZW5kIHRoZSBlLW1haWwgaW1tZWRpYXRlbHkuClRoYXQncyB3aHkgdGhlIGxheW91dCBs b29rcyB3cm9uZy4KCjIgLSBUaGVyZSBpcyBub3QgYSBzaW5nbGUgY29tbWVudCBpbiBzaWdodCwg bm90IGV2ZW4gZm9yIHRoZSBCU0YvQkNGCmluc3RydWN0aW9uIHRoYXQgc2V0IHRoZSBwYWdlIGJp dHMuCjIuIFRoZXJlIGlzIG5vdCBhIHNpbmdsZSBjb21tZW50IHR5cGVkIGluIHRoaXMgZS1tYWls LiBJbiB0aGUgYWN0dWFsIC5hc20gZmlsZSwgCndoaWNoIGN1cnJlbnRseSBydW5zIHRvIDUyOTkg bGluZXMsIHJvdWdobHkgdGhyZWUgcXVhcnRlcnMgb2YgdGhlIHRleHQgY29uc2lzdHMKb2YgY29t bWVudHMgYW5kIGV4cGxhbmF0b3J5IGluZm9ybWF0aW9uLgoKMyAtIFNldHRpbmcgYSBtdWx0aS1i aXQgdmFsdWUgd2l0aCBoYXJkIGNvZGVkIEJTRi9CQ0YgaW5zdHJ1Y3Rpb25zIGlzIGEgYmFkCmlk ZWEuwqAgSXQncyBqdXN0IGFza2luZyB5b3UgdG8gbWVzcyB1cCwgYW5kIGFueW9uZSBlbHNlIGxv b2tpbmcgYXQgdGhlIGNvZGUKaGFzIHRvIHdhc3RlIHRpbWUgY2hlY2tpbmcgdGhhdCB5b3UgZ290 IGl0IHJpZ2h0LCB3aGljaCBpcyBtYWRlIGV2ZW4gaGFyZGVyCmJ5IHRoZSBsYWNrIG9mIGNvbW1l bnRzIGluZGljYXRpbmcgd2hhdCB5b3UgdGhpbmcgcmlnaHQgaXMuCjMuIEFueW9uZSBlbHNlIGxv b2tpbmcgYXQgdGhlIC5hc20gZmlsZSB3b3VsZCBzZWUgY29waW91cyBleHBsYW5hdGlvbnMgb2YK d2hhdCBpcyBoYXBwZW5pbmcuIFNlZSBteSByZXBseSB0byAyIGFib3ZlLgoKNCAtIFlvdSBzaG91 bGRuJ3QgYmUgbWFudWFsbHkgbWVzc2luZyB3aXRoIHRoZSBwYWdlIGJpdHMgYW55d2F5LsKgIFRo YXQncwp3aGF0IFBBR0VTRUwgaXMgZm9yLgo0LiBUaGlzIGlzIGEgaG9iYnkgZm9yIG1lLiBJJ20g c3RpbGwgbGVhcm5pbmcuwqBJIGRvbid0IGtub3cgZXZlcnl0aGluZyB0aGVyZSBpcwp0byBiZSBr bm93biBhYm91dCBwcm9ncmFtbWluZyBQSUNzLiBJIGJvdyBkb3duIHRvIHlvdXIgc3VwZXJpb3Ig a25vd2xlZGdlLgoKNSAtIFlvdSBzaG91bGRuJ3QgYmUgZml4aW5nIHJvdXRpbmVzIHRvIHNwZWNp ZmljIHBhZ2VzIGV4Y2VwdCBpbiB2ZXJ5IHJhcmUKY2lyY3Vtc3RhbmNlcy7CoCBMZXQgdGhlIGxp bmtlciBwdXQgdGhlbSB3aGVyZXZlciBpdCBzZWVzIGZpdC4KCj4gUm91dGluZXMgaW4gcGFnZSAx IGFyZSBhbGwgc3VmZml4ZWQgXzEuCgpXaGF0IGhhcHBlbnMgd2hlbiB5b3Ugd3JpdGUgdG9vIG11 Y2ggY29kZSBmb3IgcGFnZSAxIGFuZCBzb21ldGhpbmcgaGFzIHRvCm1vdmU/wqAgVGhlbiB5b3Ug aGF2ZSB0byByZW5hbWUgYSByb3V0aW5lIGFuZCBjaGFuZ2UgYWxsIHJlZmVyZW5jZXMgdG8gaXQg YW5kCmFsbCBwYWdlIHNldHRpbmcgcHJlY2VlZGluZyBjYWxscyB0byBpdD/CoCBXaGF0IGEgbWVz cy4KCldoeSBhcmUgeW91IGZpeGluZyByb3V0aW5lcyB0byBzcGVjaWZpYyBwYWdlcyBpbiB0aGUg Zmlyc3QgcGxhY2U/CjUuIEluIHRoaXMgaW5zdGFuY2UsIEkga25vdyB0aGF0IGFsbCBteSAicnVu bmluZyIgY29kZSB3aWxsIGZpdCBwYWdlIDAgYW5kIGFsbCB0aGUgCkxDRCB0ZXh0IHN0cmluZ3Mg YW5kIGNvZGUgd2lsbCBmaXQgcGFnZSAxLgoKPiBNYXliZSBJJ2xsIHJlbW92ZSB0aGUgQkNGCj4g UENMQVRILDQgaW4gdGhlIGZpbmFsIHZlcnNpb24gc2luY2UgaXQgbmV2ZXIgZ2V0cyBzZXQsCgpN ZWFuaW5nIHlvdSdyZSBlaXRoZXIgb24gYSA0SyBQSUMgb3Igb25seSB1c2luZyB0aGUgZmlyc3Qg NEsgd29yZHMgb2YgYQpsYXJnZXIgUElDP8KgIFRoaW5rIHdoYXQgaGFwcGVucyBpZiB0aGUgY29k ZSBldmVyIGdyb3dzIGJleW9uZCA0SyB3b3Jkcy7CoCBJCmRvbid0IHVuZGVyc3RhbmQgdGhpcyBl bGFib3JhdGUgYW5kIHRlZGlvdXMgbWVhbnMgdG8gYXZvaWQgdGhlIHNpbXBsZXIgYW5kCm1vcmUg cmVsaWFibGUgUEFHRVNFTC4KSSdsbCByZWFkIGFib3V0IFBBR0VTRUwuCgo+IEknbSBzdXJlIEkg cmVhZCBpbiBNaWNyb2NoaXAncyBub3RlcyBzb21ld2hlcmUgdGhhdCBpdAo+IGlzbid0IG5lY2Vz c2FyeSB0byBjbGVhciBQQ0xBVEgsMyB3aGVuIFJFVFVSTmluZywgYnV0IEkgZm91bmQgaXQgd2Fz LgoKV2hhdCdzIHdpdGggdGhlIHJhc2ggb2YgaGVyZXNheSBlbmdpbmVlcmluZyB0b2RheT/CoCBS ZWFkIHdoYXQgdGhlCmluc3RydWN0aW9ucyBkbyBhbmQgdGhlbiB1c2UgeW91ciBvd24gYnJhaW4g dG8gZGVjaWRlIGhvdyB0byB1c2UgdGhlbS4KClRoZSBmdWxsIHByb2dyYW0gbWVtb3J5IGFkZHJl c3MgaXMgcHVzaGVkIG9udG8gdGhlIHN0YWNrIGJ5IGEgY2FsbCwgYW5kIHRoaXMKZnVsbCBhZGRy ZXNzIGlzIHdoZXJlIFJFVFVSTiBqdW1wcyB0by7CoCBUaGUgcGFnZSBiaXRzIGFuZCBQQ0xBVEgg dGhlcmVmb3JlCmRvbid0IG1hdHRlciBmb3IgUkVUVVJOLsKgIFRoZXkgZG8gaG93ZXZlciBtYXR0 ZXIgZm9yIHN1YnNlcXVlbnQgY29kZSBpbiB0aGUKY2FsbGluZyByb3V0aW5lIGlmIHRoYXQgY29k ZSBjb250YWlucyBsb2NhbCBHT1RPcyBhbmQgQ0FMTHMuwqAgVGhlIG5vcm1hbApjb252ZW50aW9u IGlzIHRvIGtlZXAgUENMQVRIIHNldCBmb3IgdGhlIHBhZ2Ugb2YgdGhlIGN1cnJlbnQgY29kZS7C oCBUaGF0Cm1lYW5zIGl0IG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgZWFjaCBjYWxsIHRoYXQgY291 bGQgYmUgb24gYSBzZXBhcmF0ZSBwYWdlCmFuZCByZXN0b3JlZCBhZnRlcndhcmRzLgoKCgrCoAot LSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbSBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcv Y2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUv bWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg==