aGV5IGhleSBoZXkKCnRoZSBmb2xsb3dpbmcgaXMgdGhlIHByb3Bvc2VkIGNvbW11bmlxdWUg aSB3aWxsIGlzc3VlIHBlbmRpbmcgYm9hcmQgb2YgZGlyZWN0b3IgYXBwcm92YWwKCnJ8cAoK CmZpcnN0IG9mIGFsbCwgd2UgYXJlIGJ1b3llZCBieSBvdXIgcGVyY2VpdmVkIGFjY2VzcHRh bmNlIG9mIGNoYW5uZWwgcG9pbGN5LCBhcyBkaWxpbmVhdGVkIHRvIHlvdSBpbiBhIHJlY2Vu dGx5IGRpc3RyaWJ1dGVkIGVtYWlsLiBpbiBsaWV1IG9mIG5vIG9iamVjdGlvbnMsIHRoZXNl IHJ1bGVzIGFyZSBoZXJlYnkgYWRhcHRlZC4gYXMgd2l0bmVzc2VkLCB0aGVzZSBhcmUgdmVy eSBsb29zZXkgZ29vc2V5IHJ1bGVzLCBhbmQgdGh1cyBmYXIsIG5vIGV0cmVtZSBtZWFzdXJl cyBoYXZlIGJlZW4gbmVjZXNzYXJ5LiBpbiBhIHByZWVtcHRpdmUgYWN0aW9uLCB0aGUgZm9s bG93aW5nIGlzc3VlIG5lZWRzIHRvIGJlIGFkZHJlc3NlZC4KYXMgd2UgYWxsIGtub3csIHNv bWV0aW1lcyBpdCBjb21lcyB0byBsaWdodCB0aGF0IGFkZGl0aW9uYWwgY2xhcmlmaWNhdGlv biBvciBhZGFwdGF0aW9uIG9mIHdoYXQgaXMgb3IgaXNudCBhY2NlcHRhYmxlIGJlaGF2aW9y IG11c3QgYmUgZW5qb2luZWQsIHRoaXMgaXMgdGhlIHJlYXNvbiBmb3IgdGhlIGJpbGwgb3Ig cml0ZXMsIHNvIGV4ZXJjaXNlIHlvdXIgcml0ZSB0byBiZSBoZWFyZAoKdGhlIGZpcnN0IGFt ZW5kbWVudDoKCkFydGljbGUgSQpDb25ncmVzcyBzaGFsbCBtYWtlIG5vIGxhdyByZXNwZWN0 aW5nIGFuIGVzdGFibGlzaG1lbnQgb2YgcmVsaWdpb24sIG9yIHByb2hpYml0aW5nIHRoZSBm cmVlIGV4ZXJjaXNlIHRoZXJlb2Y7IG9yIGFicmlkZ2luZyB0aGUgZnJlZWRvbSBvZiBzcGVl Y2gsIG9yIG9mIHRoZSBwcmVzczsgb3IgdGhlIHJpZ2h0IG9mIHRoZSBwZW9wbGUgcGVhY2Vh Ymx5IHRvIGFzc2VtYmxlLCBhbmQgdG8gcGV0aXRpb24gdGhlIEdvdmVybm1lbnQgZm9yIGEg cmVkcmVzcyBvZiBncmlldmFuY2VzLiAKCm5vdywgYWxvbmcgdGhhdCBsaW5lLCBJUkMgb2Yg Y291cnNlLCBpcyBub3Qgc3ViamVjdCB0byB0aGUgYmlsbCBvZiByaXRlcywgZXJnbyBhbmQg aGVyZXRvZm9yZSwgbGV0IGl0IGJlIGtub3duIHRoYXQgYmVoYXZpb3Igb2YgdXNlcnMsIGlu Y2x1ZGluZyBvcHMgc2hhbGwgYmUgc3ViamVjdCB0byB0aGUgb3BpbmlvbnMgYW5kIHdoaW1z IG9mIGNoYW5uZWwgbWFuYWdlbWVudCwgYXMgZ3VpZGVkIGFkZGl0aW9uYWxseSBhbmQgaW4g Y29udGV4dCBieSB0aGUgb3BpbmlvbnMgb2YgdGhvc2Ugd2hvIGFyZSBvcHBlZCwgbmFtZWx5 IHlvdSBhbGwuIHRoZSBmb2xsb3dpbmcgcHJvcG9zYWwgaXMgdGFibGVkIGZvciBkaXNjdXNz aW9uLiBpbiBvdGhlciB3b3JkcyBzcGVhayBub3cgb3IgZm9yZXZlciBob2xkIHlvdXIgcGll Y2UvcGVhY2UuIG9uY2UgYWRvcHRlZCwgYWN0aW9ucyB3aWxsIGJlIHRha2VuIHRvIGVuc3Vy ZSBpdHMgY29tcGxpYW5jZS4KCmFkZGl0aW9uYWwgcmV3bCwgYXJ0aWNsZSAxMQoKdGhvdWdo IHNoYWx0IG5vdCBhY3QgaW4gYSBzZXh1YWxseSBwcmVkYXRvcnkgbWFubmVyIHRvd2FyZHMg YW55IG1hbGUgb3IgZmVtYWxlIGd1ZXN0IG9yIG9wZXIgaW4gdGhlIGNoYW5uZWwsIG9yIGlu IHByaXZhdGUgbWVzc2FnZS4gCgppdCBoYXMgYmVlbiBicm91Z2h0IHRvIGxpdGUgbm93IGFu ZCBhZ2FpbiwgdGhhdCBzdWNoIGNvbmRpdGlvbnMgZG8gZXhpc3QgYXQgdGltZXMsIGFuZCBh cyBhIGdlbmVyYWwgd2FybmluZyB0byB0aG9zZSB3aG8gbWF5IGhhdmUgcGFydGljaXBhdGVk LCB0aGlzIGNhbiBub3QgYW5kIHdpbGwgbm90IGJlIHRvbGVyYXRlZC4gb2YgY291cnNlIGl0 cyBpcmMgYW5kIHdlIGFsbCBsaWtlIHRvIGZvb2wgYXJvdW5kIGFuZCBoYXZlIGZ1biwgYnV0 IG92ZXJ0bHkgc2V4dWFsbHkgYWdncmVzc2l2ZSBiZWhhdmlvciBpbiBjaGFubmVsIG9yIHBy aXZhdGUgbWVzc2FnZSBzaG91bGQgYmUgc3VtdGhpbmcgd2UgY2FuIGFsbCByaXNlIGFib3Zl LiBtYWtpbmcgdXNlcnMgZmVlbCB1bmNvbWZvcnRhYmxlIGFuZC9vciBiZWluZyBydW4gb2Zm IGJ5IHNvbGljaXRhdGlvbiwgZWl0aGVyIGluIGNoYW5uZWwgb3IgcHJpdmF0ZSwgc2hvdWxk IGJlIGF2b2lkZWQuIGluIGFkZGl0aW9uLCBkaWxpbmVhdGluZyBpbmZvcm1hdGlvbiBhYm91 dCByZWd1bGFyIHVzZXJzIHRvIHJlbGF0aXZlIG5ld2NvbWVycywgYXMgdG8gdGhvc2Ugd2hv IGNhbiBvciBtaWdodCBiZSBoaXQgb24gaXMgcmV0YXJkZWQuIHNvIGlmIHlvdSBhcmUgYSBy ZXRhcmQsIHRoZW4ga25vY2sgdGhlIGNyYXAgb2ZmLCBpZiB5b3UgYXJlIG5vdCwgdGhlbiBv ZiBjb3Vyc2UsIHRoaXMgaXMgbm90IG1lYW50IGZvciB5b3UuIGFueW1vcmUgcnVubmluZyBv ZmYgb2YgdXNlcnMgdGhydSBzb2xpY2l0YXRpb24gb3IganVzdCBvdXRyaXRlIHBlc3Rlcmlu ZyB3aWxsIGJlIGxvb2tlZCBvbiBpbiBhbiB1bmZhdm9yYWJsZSBsaXRlIGFuZCB3aWxsIGxl YWQgdG8gYmVpbmcgYmFubmVkLCByZWdyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHVzZXIg b3IgYW4gb3AuIGVyZ28sIHRob3NlIHdobyBtYXkgaGF2ZSBpbmR1bGdlZCBpbiBzdWNoIGFn Z3Jlc3Npb24gaW4gdGhlIHBhc3QsIHlvdSBhcmUgb24gbm90aWNlLCBzbyBjaGlsbCB0aGUg ZnJpY2sgb3V0IG9yIGJlIGdvbmUuCgo=