R2l0IGlzIGEgRFZDUywgYSBkaXN0cmlidXRlZCB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtLiBVbmxp a2Ugb2xkZXIgdG9vbHMgc3VjaCBhcyBDVlMgYW5kIFNWTiwgR2l0IGlzIGZ1bGx5IGRpc3RyaWJ1 dGVkLiBXaGVuIHlvdSBjbG9uZSBhIHJlcG9zaXRvcnksIHlvdSBnZXQgZXZlcnl0aGluZzogdGhl IGZpbGVzLCBoaXN0b3J5LCBldGMuIE1hbnkgdGVhbXMgdXNlIGdpdCBpbiBhIHRyYWRpdGlvbmFs IGNsaWVudC9zZXJ2ZXIgbW9kZWwgd2hlcmUgdGhlcmUgaXMgb25lIGNlbnRyYWwgc2VydmVyIHdo aWNoIGlzIHRoZSDigJxtYXN0ZXLigJ0gYW5kIHBlb3BsZSBwdXNoIGFuZCBwdWxsIGZyb20gdGhh dC4gWW91IGNhbiBkbyB0aGUgc2FtZSBwdXNoL3B1bGwgb3BlcmF0aW9ucyBiZXR3ZWVuIGFueSB0 d28gY2xvbmVzIG9mIGEgcmVwbywgd2hpY2ggbWFrZXMgY29sbGFib3JhdGlvbiBiZXR3ZWVuIGRl dnMgdmVyeSBlYXN5IHdpdGhvdXQgbmVlZGluZyB0byBjbHV0dGVyIHVwIHRoZSBtYWluIHJlcG8g d2l0aCB0aGVpciBpbnRlcmltIHdvcmsuIEl0IGFsc28gbWVhbnMgdGhhdCBpZiB0aGUgY2VudHJh bCBzZXJ2ZXIgaXMgb2ZmbGluZSBmb3Igc29tZSByZWFzb24sIHBlb3BsZSBjYW4gY29udGludWUg dG8gd29yayBhbmQgY29sbGFib3JhdGUuCgpJZiB5b3UgaGF2ZW7igJl0IHNlZW4gaXQsIHRoZSBn aXQgd2Vic2l0ZSBoYXMgYSBmYWlyIGFtb3VudCBvZiBpbmZvIHRvIGhlbHAgeW91IGxlYXJuIHRo ZSB0b29sOgoKaHR0cHM6Ly9naXQtc2NtLmNvbS9hYm91dAoKVGhlcmUgaXMgYWxzbyBhIGdvb2Qg Z2l0IGJvb2sg4oCcUHJvIEdpdOKAnSB3aGljaCBpcyBhdmFpbGFibGUgdGhlcmUgZm9yIGZyZWUu CgpZb3VyIGJhc2ljIHdvcmtmbG93IGxvb2tzIGxpa2UgdGhpczoKMS4gUHVsbCBmcm9tIHRoZSBj ZW50cmFsIHJlcG8gdG8gbWFrZSBzdXJlIHRoZSBicmFuY2ggeW91IGFyZSB3b3JraW5nIG9uIGlz IHVwIHRvIGRhdGUuCjIuIERvIHNvbWUgd29yay4KMy4gQ29tbWl0IHRoZSBjaGFuZ2VzIHRvIHRo ZSBsb2NhbCByZXBvLgo0LiBQdXNoIHRoZSBjaGFuZ2VzIHVwIHRvIHRoZSBjZW50cmFsIHJlcG8u CgoKQXMgZmFyIGFzIHlvdXIgZ2l0IHNlcnZlciBnb2VzLCB0aGVyZSBhcmUgbWFueSBjaG9pY2Vz LiBUaGVyZSBpcyBhIG1pbmltYWwgbmV0d29yay1lbmFibGVkIHNlcnZlciBpbmNsdWRlZCB3aXRo IHRoZSBnaXQgc29mdHdhcmUuIElmIHlvdSBkb27igJl0IHdhbnQgdG8gaW1wbGVtZW50IGFueSBr aW5kIG9mIGFjY2VzcyBjb250cm9sLCBldGMsIHlvdSBjYW4ganVzdCB1c2UgdGhhdC4gQW5vdGhl ciDigJxiYXNpY+KAnSBvcHRpb24gaXMgdG8gaGF2ZSB0aGUgbWFzdGVyIHJlcG8gc2l0dGluZyBv biBhIG5ldHdvcmsgZHJpdmUuIFByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50LCB0aG91Z2jigKYK CkkgcmVjYWxsIHlvdSBtZW50aW9uZWQgdGhhdCB0aGUgY29tcGFueSB3YXMgbGVlcnkgb2YgaGF2 aW5nIGFueXRoaW5nIGhvc3RlZCBpbiB0aGUgY2xvdWQsIHNvIHlvdSBzaG91bGQgbG9vayBhdCBv bi1wcmVtIHNlcnZpY2VzLiBUaGVyZSBhcmUgbWFueSBvcHRpb25zLCBib3RoIGZyZWUgYW5kIGNv bW1lcmNpYWwuIEdpdExhYiBpcyBhIHZlcnkgbmljZSB0b29sIHdoaWNoIGhhcyBib3RoIGZyZWUg YW5kIOKAnGVudGVycHJpc2XigJ0gdmVyc2lvbnMgYW5kIGNhbiBiZSBpbnN0YWxsZWQgbG9jYWxs eS4gQXRsYXNzaWFuIEJpdGJ1Y2tldCBpcyBhbm90aGVyIGNvbW1lcmNpYWwgdG9vbCB3aGljaCBp cyBnb29kIGFuZCBjYW4gYmUgaW5zdGFsbGVkIGxvY2FsbHkgKGV2ZW4gb24gV2luZG93cykuCgpP bmUgZG93bnNpZGUgdG8gYW4gb24tcHJlbSBzb2x1dGlvbiAod2hpY2ggbWF5IG5vdCBiZSBhIGJp ZyBkZWFsIGZvciB5b3UpIGlzIHRoYXQgcGVvcGxlIG91dHNpZGUgdGhlIG9mZmljZSBjYW5ub3Qg dXNlIHRoZSBzZXJ2ZXIgdW5sZXNzIHRoZXkgVlBOIGluLiBBIGNsb3VkIGhvc3RlZCBzb2x1dGlv biBlbGltaW5hdGVzIHRoaXMgZnJpY3Rpb24uCgotUGV0ZQoKT24gNi8yNC8xNiwgMDg6NTksICJE ZW5ueSBFc3RlcmxpbmUiIDxwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdSBvbiBiZWhhbGYgb2YgZGVz dGVybGluZUBnbWFpbC5jb20+IHdyb3RlOgoKT2ssIHNvIEdJVCBzZWVtcyB0byBiZSB0aGUgd2F5 IHRoZSB3aW5kIGlzIGJsb3dpbmcuCgpJIGp1c3Qgc3BlbnQgdGhlIGxhc3Qgc2V2ZXJhbCBob3Vy cyByZWFkaW5nLCBidXQgdGhlcmUncyB0aGluZ3MgSSBzdGlsbApkb24ndCB1bmRlcnN0YW5kLgpT ZXZlcmFsIG9mIHRoZSByZWZlcmVuY2VzIEkgZm91bmQgc2VlbSB0byBzdWdnZXN0IHRoYXQgYSBz aW5nbGUgcGVyc29uIGNhbgppbnN0YWxsIFtwYWNrYWdlIHhdIG9uIHRoZWlyIHdvcmtzdGF0aW9u IGFuZCBtYW5hZ2UgX2xvY2FsXyByZXBvc2l0b3JpZXMgb24KdGhlIGxvY2FsIGhhcmQgZHJpdmUg LSBJIGFzc3VtZSB0aGF0IGV4dGVuZHMgdG8gbWFwcGVkIG5ldHdvcmsgZHJpdmVzIGFzCndlbGwu Ck90aGVyIHJlZmVyZW5jZXMgdGFsayBhYm91dCBjb25maWd1cmluZyBhbiBpbnRlcm5ldCBleHBv c2VkIHNlcnZlciwgb3IgdGhlCmNsaWVudCB3b3Jrc3RhdGlvbiB0byBjb25uZWN0IHRvIGFuIGlu dGVybmV0IGJhc2VkIHNlcnZlciAtIHVzdWFsbHkgYQpzdWJzY3JpcHRpb24gc2VydmljZS4KSXMg dGhlcmUgYSBtaWRkbGUgZ3JvdW5kPyBDYW4gSSB1c2UgaXQgaW5zdGFsbGVkIGp1c3QgdG8gdGhl IHdvcmtzdGF0aW9uCmFuZCBoYXZlIG11bHRpcGxlIHBlb3BsZSBhY2Nlc3MgdGhlIHNhbWUgbWFw cGVkIG5ldHdvcmsgZHJpdmU/CgpJIG1pZ2h0IGJlIGhhdmluZyBhICJiYWQgZ29vZ2xlIGRheSIg YnV0IEkgY2FuJ3Qgc2VlbSB0byBmaW5kIG11Y2ggb24gd2hhdAp0aGUgcGh5c2ljYWwgaW5mcmFz dHJ1Y3R1cmUgc2hvdWxkIGJlIHRvIHN1cHBvcnQgdGhlIHByb2Nlc3MuIEkgZmluZApyZWZlcmVu Y2VzIHRvIE1BU1NJVkUgaW5zdGFsbGF0aW9ucyAoMzggc2VydmVycyspIGFuZCByZWZlcmVuY2Vz IHRvCmluc3RhbGxpbmcgb24gdGhlIHdvcmtzdGF0aW9uLgoKLURlbm55Ci0tIApodHRwOi8vd3d3 LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZp ZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5l ZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0CgoKCgoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5j b20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2Ug eW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFu L2xpc3RpbmZvL3BpY2xpc3QK .