From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Mailbox Transport; Thu, 30 Nov 2023 10:59:12 +0000 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Thu, 30 Nov 2023 10:59:12 +0000 Received: from exchange.romulus.metastack.com (172.16.0.21) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.2507.32 via Frontend Transport; Thu, 30 Nov 2023 10:59:12 +0000 Received: from romulus.metastack.com ([172.16.0.20]) by exchange.romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 3AUAxGHI011335 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 30 Nov 2023 10:59:16 GMT Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 3AUAx8Ax011316 for ; Thu, 30 Nov 2023 10:59:09 GMT Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 30 Nov 2023 11:59:07 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 5E838E0CD0; Thu, 30 Nov 2023 11:59:06 +0100 (CET) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id DE7AEE004E for ; Thu, 30 Nov 2023 11:58:56 +0100 (CET) Received: from mail-pj1-f53.google.com ([209.85.216.53]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Nov 2023 11:58:55 +0100 Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-285b926e5deso836770a91.0 for ; Thu, 30 Nov 2023 02:58:54 -0800 (PST) From: ICFP Publicity Subject: [Caml-list] ICFP 2024: Call for Papers Thread-Topic: [Caml-list] ICFP 2024: Call for Papers Thread-Index: AQHaI3xA8nu+9tX4lkW7fMQp/r6cxg== Sender: "caml-list-request@inria.fr" X-MS-Exchange-MessageSentRepresentingType: 2 Date: Thu, 30 Nov 2023 10:58:33 +0000 Message-ID: Keywords: Sent to dra-news@metastack.com,Marked bulk,MetaStack - Lists,MetaStack List-Help: List-Subscribe: List-Unsubscribe: Reply-To: ICFP Publicity Content-Language: en-GB X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: Hermes.metastack.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-Network-Message-Id: 6ca9658a-64c0-49b5-97e9-08dbf19362af X-MS-TNEF-Correlator: X-MS-Exchange-Organization-RecordReviewCfmType: 0 x-scanned-by: MIMEDefang 2.65 on 62.31.23.242 x-received: by 2002:a17:90b:391:b0:285:afcc:e667 with SMTP id ga17-20020a17090b039100b00285afcce667mr17424373pjb.27.1701341924940; Thu, 30 Nov 2023 02:58:44 -0800 (PST) received-spf: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only x-ironport-av: E=Sophos;i="6.04,237,1695679200"; d="scan'208,217";a="139408989" x-ironport-anti-spam-filtered: true x-loop: caml-list@inria.fr x-no-archive: yes Content-Type: text/html; charset="utf-8" Content-ID: <45ED8600A988AD43BE237FD8A42E1FEE@metastack.local> Content-Transfer-Encoding: base64 MIME-Version: 1.0 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBkaXI9Imx0 ciI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7UEFDTVBM IFZvbHVtZSA3LCBJc3N1ZSBJQ0ZQIDIwMjQ8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7Q2FsbCBmb3IgUGFwZXJzPGJyPg0KPGJyPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7QWNjZXB0ZWQgcGFwZXJzIHRvIGJlIGludml0ZWQgZm9yIHByZXNl bnRhdGlvbiBhdDxicj4NCiZuYnNwOyA8YnI+DQpUaGUgMjl0aCBBQ00gU0lHUExBTiBJbnRlcm5h dGlvbmFsIENvbmZlcmVuY2Ugb24gRnVuY3Rpb25hbCBQcm9ncmFtbWluZzxicj4NCiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOw0KPGRpdj4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBNaWxhbiwgSXRhbHk8 YnI+DQo8YnI+DQojIyMgSW1wb3J0YW50IGRhdGVzPGJyPg0KPGJyPg0KKEFsbCBkYXRlcyBhcmUg aW4gMjAyMyBhdCAxMS41OXBtIEFueXdoZXJlIG9uIEVhcnRoLik8YnI+DQo8YnI+DQpQYXBlciBT dWJtaXNzaW9uIC0tIFdlZCAyOCBGZWIgMjAyNCAmbmJzcDsoQU9FKTxicj4NClBhcGVyIEF1dGhv ciBSZXNwb25zZSAtLSBNb24gMjkgQXByIDEyOjAwIC0gV2VkIDEgTWF5IDEyOjAwIDIwMjQ8YnI+ DQpQYXBlciBOb3RpZmljYXRpb24gLS1Nb24gMjAgTWF5IDIwMjQ8YnI+DQo8YnI+DQo8YnI+DQoj IyMgTkVXIFRISVMgWUVBUjxicj4NCi0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQo8YnI+DQoqIEZ1 bGwgZG91YmxlIGJsaW5kIHJldmlld2luZzxicj4NCjxicj4NCiMjIyBTY29wZTxicj4NCi0tLS0t LS0tLS0tLS0tLS0tLS08YnI+DQo8YnI+DQpQQUNNUEwgaXNzdWUgSUNGUCAyMDI0IHNlZWtzIG9y aWdpbmFsIHBhcGVycyBvbiB0aGUgYXJ0IGFuZCBzY2llbmNlIG9mIGZ1bmN0aW9uYWwgcHJvZ3Jh bW1pbmcuIFN1Ym1pc3Npb25zIGFyZSBpbnZpdGVkIG9uIGFsbCB0b3BpY3MgZnJvbSBwcmluY2lw bGVzIHRvIHByYWN0aWNlLCBmcm9tIGZvdW5kYXRpb25zIHRvIGZlYXR1cmVzLCBhbmQgZnJvbSBh YnN0cmFjdGlvbiB0byBhcHBsaWNhdGlvbi4gVGhlIHNjb3BlIGluY2x1ZGVzIGFsbCBsYW5ndWFn ZXMNCiB0aGF0IGVuY291cmFnZSBmdW5jdGlvbmFsIHByb2dyYW1taW5nLCBpbmNsdWRpbmcgYm90 aCBwdXJlbHkgYXBwbGljYXRpdmUgYW5kIGltcGVyYXRpdmUgbGFuZ3VhZ2VzLCBhcyB3ZWxsIGFz IGxhbmd1YWdlcyB3aXRoIG9iamVjdHMsIGNvbmN1cnJlbmN5LCBvciBwYXJhbGxlbGlzbS4gVG9w aWNzIG9mIGludGVyZXN0IGluY2x1ZGUgKGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8pOjxicj4NCjxi cj4NCiogTGFuZ3VhZ2UgRGVzaWduOiBjb25jdXJyZW5jeSwgcGFyYWxsZWxpc20sIGFuZCBkaXN0 cmlidXRpb247IG1vZHVsYXJpdHk7IGNvbXBvbmVudHMgYW5kIGNvbXBvc2l0aW9uOyBtZXRhLXBy b2dyYW1taW5nOyBtYWNyb3M7IHBhdHRlcm4gbWF0Y2hpbmc7IHR5cGUgc3lzdGVtczsgdHlwZSBp bmZlcmVuY2U7IGRlcGVuZGVudCB0eXBlczsgZWZmZWN0IHR5cGVzOyBncmFkdWFsIHR5cGVzOyBy ZWZpbmVtZW50IHR5cGVzOyBzZXNzaW9uIHR5cGVzOyBpbnRlcm9wZXJhYmlsaXR5Ow0KIGRvbWFp bi1zcGVjaWZpYyBsYW5ndWFnZXM7IGltcGVyYXRpdmUgcHJvZ3JhbW1pbmc7IG9iamVjdC1vcmll bnRlZCBwcm9ncmFtbWluZzsgbG9naWMgcHJvZ3JhbW1pbmc7IHByb2JhYmlsaXN0aWMgcHJvZ3Jh bW1pbmc7IHJlYWN0aXZlIHByb2dyYW1taW5nOyBnZW5lcmljIHByb2dyYW1taW5nOyBiaWRpcmVj dGlvbmFsIHByb2dyYW1taW5nLjxicj4NCjxicj4NCiogSW1wbGVtZW50YXRpb246IGFic3RyYWN0 IG1hY2hpbmVzOyB2aXJ0dWFsIG1hY2hpbmVzOyBpbnRlcnByZXRhdGlvbjsgY29tcGlsYXRpb247 IGNvbXBpbGUtdGltZSBhbmQgcnVuLXRpbWUgb3B0aW1pc2F0aW9uOyBnYXJiYWdlIGNvbGxlY3Rp b24gYW5kIG1lbW9yeSBtYW5hZ2VtZW50OyBydW50aW1lIHN5c3RlbXM7IG11bHRpLXRocmVhZGlu ZzsgZXhwbG9pdGluZyBwYXJhbGxlbCBoYXJkd2FyZTsgaW50ZXJmYWNlcyB0byBmb3JlaWduIGZ1 bmN0aW9ucywNCiBzZXJ2aWNlcywgY29tcG9uZW50cywgb3IgbG93LWxldmVsIG1hY2hpbmUgcmVz b3VyY2VzLjxicj4NCjxicj4NCiogU29mdHdhcmUtRGV2ZWxvcG1lbnQgVGVjaG5pcXVlczogYWxn b3JpdGhtcyBhbmQgZGF0YSBzdHJ1Y3R1cmVzOyBkZXNpZ24gcGF0dGVybnM7IHNwZWNpZmljYXRp b247IHZlcmlmaWNhdGlvbjsgdmFsaWRhdGlvbjsgcHJvb2YgYXNzaXN0YW50czsgZGVidWdnaW5n OyB0ZXN0aW5nOyB0cmFjaW5nOyBwcm9maWxpbmc7IGJ1aWxkIHN5c3RlbXM7IHByb2dyYW0gc3lu dGhlc2lzLjxicj4NCjxicj4NCiogRm91bmRhdGlvbnM6IGZvcm1hbCBzZW1hbnRpY3M7IGxhbWJk YSBjYWxjdWx1czsgcHJvZ3JhbSBlcXVpdmFsZW5jZTsgcmV3cml0aW5nOyB0eXBlIHRoZW9yeTsg bG9naWM7IGNhdGVnb3J5IHRoZW9yeTsgY29tcHV0YXRpb25hbCBlZmZlY3RzOyBjb250aW51YXRp b25zOyBjb250cm9sOyBzdGF0ZTsgbmFtZXMgYW5kIGJpbmRpbmc7IHByb2dyYW0gdmVyaWZpY2F0 aW9uLjxicj4NCjxicj4NCiogQW5hbHlzaXMgYW5kIFRyYW5zZm9ybWF0aW9uOiBjb250cm9sIGZs b3c7IGRhdGEgZmxvdzsgYWJzdHJhY3QgaW50ZXJwcmV0YXRpb247IHBhcnRpYWwgZXZhbHVhdGlv bjsgcHJvZ3JhbSBjYWxjdWxhdGlvbi48YnI+DQo8YnI+DQoqIEFwcGxpY2F0aW9uczogc3ltYm9s aWMgY29tcHV0aW5nOyBmb3JtYWwtbWV0aG9kcyB0b29sczsgYXJ0aWZpY2lhbCBpbnRlbGxpZ2Vu Y2U7IHN5c3RlbXMgcHJvZ3JhbW1pbmc7IGRpc3RyaWJ1dGVkIHN5c3RlbXMgYW5kIHdlYiBwcm9n cmFtbWluZzsgaGFyZHdhcmUgZGVzaWduOyBkYXRhYmFzZXM7IHNjaWVudGlmaWMgYW5kIG51bWVy aWNhbCBjb21wdXRpbmc7IGdyYXBoaWNhbCB1c2VyIGludGVyZmFjZXM7IGdyYXBoaWNzIGFuZCBt dWx0aW1lZGlhOw0KIEdQVSBwcm9ncmFtbWluZzsgc2NyaXB0aW5nOyBzeXN0ZW0gYWRtaW5pc3Ry YXRpb247IHNlY3VyaXR5Ljxicj4NCjxicj4NCiogRWR1Y2F0aW9uOiB0ZWFjaGluZyBpbnRyb2R1 Y3RvcnkgcHJvZ3JhbW1pbmc7IG1hdGhlbWF0aWNhbCBwcm9vZjsgYWxnZWJyYS48YnI+DQo8YnI+ DQpTdWJtaXNzaW9ucyB3aWxsIGJlIGV2YWx1YXRlZCBhY2NvcmRpbmcgdG8gdGhlaXIgcmVsZXZh bmNlLCBjb3JyZWN0bmVzcywgc2lnbmlmaWNhbmNlLCBvcmlnaW5hbGl0eSwgYW5kIGNsYXJpdHku IEVhY2ggc3VibWlzc2lvbiBzaG91bGQgZXhwbGFpbiBpdHMgY29udHJpYnV0aW9ucyBpbiBib3Ro IGdlbmVyYWwgYW5kIHRlY2huaWNhbCB0ZXJtcywgY2xlYXJseSBpZGVudGlmeWluZyB3aGF0IGhh cyBiZWVuIGFjY29tcGxpc2hlZCwgZXhwbGFpbmluZw0KIHdoeSBpdCBpcyBzaWduaWZpY2FudCwg YW5kIGNvbXBhcmluZyBpdCB3aXRoIHByZXZpb3VzIHdvcmsuIFRoZSB0ZWNobmljYWwgY29udGVu dCBzaG91bGQgYmUgYWNjZXNzaWJsZSB0byBhIGJyb2FkIGF1ZGllbmNlLjxicj4NCjxicj4NClBB Q01QTCBpc3N1ZSBJQ0ZQIDIwMjQgYWxzbyB3ZWxjb21lcyBzdWJtaXNzaW9ucyBpbiB0d28gc2Vw YXJhdGUgY2F0ZWdvcmllcyDigJQgRnVuY3Rpb25hbCBQZWFybHMgYW5kIEV4cGVyaWVuY2UgUmVw b3J0cyDigJQgdGhhdCBtdXN0IGJlIG1hcmtlZCBhcyBzdWNoIHdoZW4gc3VibWl0dGVkIGFuZCB0 aGF0IG5lZWQgbm90IHJlcG9ydCBvcmlnaW5hbCByZXNlYXJjaCByZXN1bHRzLiBEZXRhaWxlZCBn dWlkZWxpbmVzIG9uIGJvdGggY2F0ZWdvcmllcyBhcmUNCiBnaXZlbiBhdCB0aGUgZW5kIG9mIHRo aXMgY2FsbC48YnI+DQo8YnI+DQpJbiBhbiBlZmZvcnQgdG8gYWNoaWV2ZSBhIGJhbGFuY2VkLCBk aXZlcnNlIHByb2dyYW0sIGVhY2ggYXV0aG9yIG1heSBiZSBsaXN0ZWQgYXMgYSAoY28pYXV0aG9y IG9uIGEgbWF4aW11bSBvZiBmb3VyIHN1Ym1pc3Npb25zLiBTdWJtaXNzaW9ucyBmcm9tIHVuZGVy cmVwcmVzZW50ZWQgZ3JvdXBzIGFyZSBlbmNvdXJhZ2VkLiBBdXRob3JzIHdobyByZXF1aXJlIGZp bmFuY2lhbCBzdXBwb3J0IHRvIGF0dGVuZCB0aGUgY29uZmVyZW5jZSBjYW4gYXBwbHkNCiBmb3Ig UEFDIGZ1bmRpbmcgKDxhIGhyZWY9Imh0dHA6Ly93d3cuc2lncGxhbi5vcmcvUEFDLyI+aHR0cDov L3d3dy5zaWdwbGFuLm9yZy9QQUMvPC9hPikuPGJyPg0KPGJyPg0KVGhlIEdlbmVyYWwgQ2hhaXIg YW5kIFBDIENoYWlyIG1heSBub3Qgc3VibWl0IHBhcGVycy4gUEMgbWVtYmVycyAob3RoZXIgdGhh biB0aGUgUEMgQ2hhaXIpIG1heSBzdWJtaXQgcGFwZXJzLjxicj4NCjxicj4NClBsZWFzZSBjb250 YWN0IHRoZSBQcm9ncmFtIENoYWlyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUgY29uY2Vy bmVkIGFib3V0IHRoZSBhcHByb3ByaWF0ZW5lc3Mgb2YgYSB0b3BpYy48YnI+DQo8YnI+DQojIyMg RnVsbCBEb3VibGUtQmxpbmQgUmV2aWV3aW5nIFByb2Nlc3MgPGJyPg0KPGJyPg0KSUNGUCAyMDI0 IHdpbGwgdXNlIGEgZnVsbCBkb3VibGUtYmxpbmQgcmV2aWV3aW5nIHByb2Nlc3MgKHNpbWlsYXIg dG8gdGhlIG9uZSB1c2VkIGZvciBQT1BMIDIwMjQgYnV0IGRpZmZlcmVudCBmcm9tIHRoZSBsaWdo dHdlaWdodCBkb3VibGUtYmxpbmQgcHJvY2VzcyB1c2VkIGluIHByZXZpb3VzIHllYXJzKS4gVGhp cyBtZWFucyB0aGF0IGlkZW50aXRpZXMgb2YgYXV0aG9ycyB3aWxsIG5vdCBiZSBtYWRlIHZpc2li bGUgdG8gcmV2aWV3ZXJzIHVudGlsDQogYWZ0ZXIgY29uZGl0aW9uYWwtYWNjZXB0YW5jZSBkZWNp c2lvbnMgaGF2ZSBiZWVuIG1hZGUsIGFuZCB0aGVuIG9ubHkgZm9yIHRoZSBjb25kaXRpb25hbGx5 LWFjY2VwdGVkIHBhcGVycy4gVGhlIHVzZSBvZiBmdWxsIGRvdWJsZS1ibGluZCByZXZpZXdpbmcg aGFzIHNldmVyYWwgY29uc2VxdWVuY2VzIGZvciBhdXRob3JzLjxicj4NCjxicj4NCiogU3VibWlz c2lvbnM6IEF1dGhvcnMgbXVzdCBvbWl0IHRoZWlyIG5hbWVzIGFuZCBpbnN0aXR1dGlvbnMgZnJv bSB0aGVpciBwYXBlciBzdWJtaXNzaW9ucy4gSW4gYWRkaXRpb24sIHJlZmVyZW5jZXMgdG8gYXV0 aG9yc+KAmSBvd24gcHJpb3Igd29yayBzaG91bGQgYmUgaW4gdGhlIHRoaXJkIHBlcnNvbiAoZS5n Liwgbm90IOKAnFdlIGJ1aWxkIG9uIG91ciBwcmV2aW91cyB3b3JrIOKApuKAnSBidXQgcmF0aGVy IOKAnFdlIGJ1aWxkIG9uIHRoZSB3b3JrIG9mIOKApuKAnSkuPGJyPg0KPGJyPg0KKiBTdXBwbGVt ZW50YXJ5IG1hdGVyaWFsOiBBdXRob3JzIGFyZSBwZXJtaXR0ZWQgdG8gcHJvdmlkZSBzdXBwbGVt ZW50YXJ5IG1hdGVyaWFsIChlLmcuLCBkZXRhaWxlZCBwcm9vZnMsIHByb29mIHNjcmlwdHMsIHN5 c3RlbSBpbXBsZW1lbnRhdGlvbnMsIG9yIGV4cGVyaW1lbnRhbCBkYXRhKSBhbG9uZyB3aXRoIHRo ZWlyIHN1Ym1pc3Npb24sIHdoaWNoIHJldmlld2VycyBtYXkgKGJ1dCBhcmUgbm90IHJlcXVpcmVk IHRvKSBleGFtaW5lLiBUaGlzIG1hdGVyaWFsDQogbWF5IHRha2UgdGhlIGZvcm0gb2YgYSBzaW5n bGUgZmlsZSwgc3VjaCBhcyBhIFBERiBvciBhIHRhcmJhbGwuIEF1dGhvcnMgbXVzdCBmdWxseSBh bm9ueW1pemUgYW55IHN1cHBsZW1lbnRhcnkgbWF0ZXJpYWwuIExpbmtzIHRvIHN1cHBsZW1lbnRh cnkgbWF0ZXJpYWwgb24gZXh0ZXJuYWwgd2Vic2l0ZXMgYXJlIG5vdCBwZXJtaXR0ZWQuPGJyPg0K PGJyPg0KKiBBdXRob3IgcmVzcG9uc2U6IEluIHJlc3BvbmRpbmcgdG8gcmV2aWV3cywgYXV0aG9y cyBzaG91bGQgbm90IHNheSBhbnl0aGluZyB0aGF0IHJldmVhbHMgdGhlaXIgaWRlbnRpdHksIHNp bmNlIGF1dGhvciBpZGVudGl0aWVzIHdpbGwgbm90IGJlIHJldmVhbGVkIHRvIHJldmlld2VycyBh dCB0aGF0IHN0YWdlIG9mIHRoZSByZXZpZXdpbmcgcHJvY2Vzcy48YnI+DQo8YnI+DQoqIERpc3Nl bWluYXRpb24gb2Ygd29yayB1bmRlciBzdWJtaXNzaW9uOiBBdXRob3JzIGFyZSB3ZWxjb21lIHRv IGRpc3NlbWluYXRlIHRoZWlyIGlkZWFzIGFuZCBwb3N0IGRyYWZ0IHZlcnNpb25zIG9mIHRoZWly IHBhcGVyKHMpIG9uIHRoZWlyIHBlcnNvbmFsIHdlYnNpdGUsIGluc3RpdHV0aW9uYWwgcmVwb3Np dG9yeSwgb3IgYXJYaXYgKHJldmlld2VycyB3aWxsIGJlIGFza2VkIHRvIHR1cm4gb2ZmIGFyWGl2 IG5vdGlmaWNhdGlvbnMgZHVyaW5nDQogdGhlIHJldmlldyBwZXJpb2QpLiBCdXQgYXV0aG9ycyBz aG91bGQgbm90IHRha2Ugc3RlcHMgdGhhdCB3b3VsZCBhbG1vc3QgY2VydGFpbmx5IHJldmVhbCB0 aGVpciBpZGVudGl0aWVzIHRvIG1lbWJlcnMgb2YgdGhlIFByb2dyYW0gQ29tbWl0dGVlLCBlLmcu LCBkaXJlY3RseSBjb250YWN0aW5nIFBDIG1lbWJlcnMgb3IgcHVibGljaXppbmcgdGhlIHdvcmsg b24gd2lkZWx5LXZpc2libGUgc29jaWFsIG1lZGlhIG9yIG1ham9yIG1haWxpbmcgbGlzdHMNCiB1 c2VkIGJ5IHRoZSBjb21tdW5pdHkuPGJyPg0KPGJyPg0KVGhlIHB1cnBvc2Ugb2YgdGhlIGFib3Zl IHJlc3RyaWN0aW9ucyBpcyB0byBoZWxwIHRoZSBQcm9ncmFtIENvbW1pdHRlZSBhbmQgZXh0ZXJu YWwgcmV2aWV3ZXJzIGNvbWUgdG8gYSBqdWRnbWVudCBhYm91dCB0aGUgcGFwZXIgd2l0aG91dCBi aWFzLCBub3QgdG8gbWFrZSBpdCBpbXBvc3NpYmxlIGZvciB0aGVtIHRvIGRpc2NvdmVyIHRoZSBh dXRob3Jz4oCZIGlkZW50aXRpZXMgaWYgdGhleSB3ZXJlIHRvIHRyeS4gSW4gcGFydGljdWxhciwg bm90aGluZw0KIHNob3VsZCBiZSBkb25lIGluIHRoZSBuYW1lIG9mIGFub255bWl0eSB0aGF0IHdl YWtlbnMgdGhlIHF1YWxpdHkgb2YgdGhlIHN1Ym1pc3Npb24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBv Y2Nhc2lvbmFsbHkgY2FzZXMgd2hlcmUgYWRoZXJpbmcgdG8gdGhlIGFib3ZlIHJlc3RyaWN0aW9u cyBpcyB0cnVseSBkaWZmaWN1bHQgb3IgaW1wb3NzaWJsZSBmb3Igb25lIHJlYXNvbiBvciBhbm90 aGVyLiBJbiBzdWNoIGNhc2VzLCB0aGUgYXV0aG9ycyBzaG91bGQNCiBjb250YWN0IHRoZSBQcm9n cmFtIENoYWlyIHRvIGRpc2N1c3MgdGhlIHNpdHVhdGlvbiBhbmQgaG93IHRvIGhhbmRsZSBpdC48 YnI+DQo8YnI+DQo8YnI+DQojIyMgUHJlcGFyYXRpb24gb2Ygc3VibWlzc2lvbnM8YnI+DQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPg0KPGJyPg0KKiBEZWFkbGluZTogVGhlIGRl YWRsaW5lIGZvciBzdWJtaXNzaW9ucyBpcyBXZWRuZXNkYXksIDI4IEZlYnJ1YXJ5ICwgMjAyNCwg QW55d2hlcmUgb24gRWFydGggKDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpbWVhbmRkYXRlLmNvbS90 aW1lL3pvbmVzL2FvZSI+aHR0cHM6Ly93d3cudGltZWFuZGRhdGUuY29tL3RpbWUvem9uZXMvYW9l PC9hPikuIFRoaXMgZGVhZGxpbmUgd2lsbCBiZSBzdHJpY3RseSBlbmZvcmNlZC48YnI+DQo8YnI+ DQoqIEZvcm1hdHRpbmc6IFN1Ym1pc3Npb25zIG11c3QgYmUgaW4gUERGIGZvcm1hdCwgcHJpbnRh YmxlIGluIGJsYWNrIGFuZCB3aGl0ZSBvbiBVUyBMZXR0ZXIgc2l6ZWQgcGFwZXIgYW5kIGludGVy cHJldGFibGUgYnkgY29tbW9uIFBERiB0b29scy4gQWxsIHN1Ym1pc3Npb25zIG11c3QgYWRoZXJl IHRvIHRoZSDigJxBQ00gU21hbGzigJ0gdGVtcGxhdGUgdGhhdCBpcyBhdmFpbGFibGUgKGluIGJv dGggTGFUZVggYW5kIFdvcmQgZm9ybWF0cykgZnJvbQ0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuYWNt Lm9yZy9wdWJsaWNhdGlvbnMvYXV0aG9ycy9zdWJtaXNzaW9ucyI+aHR0cHM6Ly93d3cuYWNtLm9y Zy9wdWJsaWNhdGlvbnMvYXV0aG9ycy9zdWJtaXNzaW9uczwvYT4uPGJyPg0KPGJyPg0KVGhlcmUg aXMgYSBsaW1pdCBvZiAyNSBwYWdlcyBmb3IgYSBmdWxsIHBhcGVyIG9yIEZ1bmN0aW9uYWwgUGVh cmwgYW5kIDEyIHBhZ2VzIGZvciBhbiBFeHBlcmllbmNlIFJlcG9ydDsgaW4gZWl0aGVyIGNhc2Us IHRoZSBiaWJsaW9ncmFwaHkgYW5kIGFuIG9wdGlvbmFsIGNsZWFybHkgbWFya2VkIGFwcGVuZGl4 IHdpbGwgbm90IGJlIGNvdW50ZWQgYWdhaW5zdCB0aGVzZSBsaW1pdHMuIFN1Ym1pc3Npb25zIHRo YXQgZXhjZWVkIHRoZSBwYWdlIGxpbWl0cw0KIG9yLCBmb3Igb3RoZXIgcmVhc29ucywgZG8gbm90 IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBmb3IgZm9ybWF0dGluZywgd2lsbCBiZSBzdW1tYXJpbHkg cmVqZWN0ZWQuPGJyPg0KPGJyPg0KU2VlIGFsc28gUEFDTVBM4oCZcyBJbmZvcm1hdGlvbiBhbmQg R3VpZGVsaW5lcyBmb3IgQXV0aG9ycyBhdCA8YSBocmVmPSJodHRwczovL3BhY21wbC5hY20ub3Jn L2F1dGhvcnMuY2ZtIj4NCmh0dHBzOi8vcGFjbXBsLmFjbS5vcmcvYXV0aG9ycy5jZm08L2E+Ljxi cj4NCjxicj4NCiogU3VibWlzc2lvbjogU3VibWlzc2lvbnMgd2lsbCBiZSBhY2NlcHRlZCBhdCA8 YSBocmVmPSJodHRwczovL2ljZnAyNC5ob3RjcnAuY29tLyI+DQpodHRwczovL2ljZnAyNC5ob3Rj cnAuY29tLzwvYT48YnI+DQo8YnI+DQpJbXByb3ZlZCB2ZXJzaW9ucyBvZiBhIHBhcGVyIG1heSBi ZSBzdWJtaXR0ZWQgYXQgYW55IHBvaW50IGJlZm9yZSB0aGUgc3VibWlzc2lvbiBkZWFkbGluZSB1 c2luZyB0aGUgc2FtZSB3ZWIgaW50ZXJmYWNlLjxicj4NCjxicj4NCiogQXV0aG9yIFJlc3BvbnNl IFBlcmlvZDogQXV0aG9ycyB3aWxsIGhhdmUgYSA3Mi1ob3VyIHBlcmlvZCwgc3RhcnRpbmcgYXQg MTI6MDAgKG5vb24pIEFPRSBvbiBNb25kYXksIDI5IEFwcmlsLCAyMDI0LCB0byByZWFkIHJldmll d3MgYW5kIHJlc3BvbmQgdG8gdGhlbS48YnI+DQo8YnI+DQoqIEFwcGVuZGl4IGFuZCBTdXBwbGVt ZW50YXJ5IE1hdGVyaWFsOiBBdXRob3JzIGhhdmUgdGhlIG9wdGlvbiB0byBpbmNsdWRlIGEgY2xl YXJseSBtYXJrZWQgYXBwZW5kaXggYW5kL29yIHRvIGF0dGFjaCBzdXBwbGVtZW50YXJ5IG1hdGVy aWFsIHRvIGEgc3VibWlzc2lvbiwgb24gdGhlIHVuZGVyc3RhbmRpbmcgdGhhdCByZXZpZXdlcnMg bWF5IGNob29zZSBub3QgdG8gbG9vayBhdCBzdWNoIGFuIGFwcGVuZGl4IG9yIHN1cHBsZW1lbnRh cnkgbWF0ZXJpYWwuDQogU3VwcGxlbWVudGFyeSBtYXRlcmlhbCBtYXkgYmUgdXBsb2FkZWQgYXMg YSBzZXBhcmF0ZSBQREYgZG9jdW1lbnQgb3IgdGFyYmFsbC4gQW55IHN1cHBsZW1lbnRhcnkgbWF0 ZXJpYWwgbXVzdCBiZSB1cGxvYWRlZCBhdCBzdWJtaXNzaW9uIHRpbWUsIG5vdCBieSBwcm92aWRp bmcgYSBVUkwgaW4gdGhlIHBhcGVyIHRoYXQgcG9pbnRzIHRvIGFuIGV4dGVybmFsIHJlcG9zaXRv cnkuIEFsbCBzdXBwbGVtZW50YXJ5IG1hdGVyaWFsIG11c3QgYmUgYW5vbnltaXNlZC48YnI+DQo8 YnI+DQoqIEF1dGhvcnNoaXAgUG9saWNpZXM6IEFsbCBzdWJtaXNzaW9ucyBhcmUgZXhwZWN0ZWQg dG8gY29tcGx5IHdpdGggdGhlIEFDTSBQb2xpY2llcyBmb3IgQXV0aG9yc2hpcCB0aGF0IGFyZSBk ZXRhaWxlZCBhdA0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuYWNtLm9yZy9wdWJsaWNhdGlvbnMvYXV0 aG9ycy9pbmZvcm1hdGlvbi1mb3ItYXV0aG9ycyI+aHR0cHM6Ly93d3cuYWNtLm9yZy9wdWJsaWNh dGlvbnMvYXV0aG9ycy9pbmZvcm1hdGlvbi1mb3ItYXV0aG9yczwvYT4uPGJyPg0KPGJyPg0KKiBS ZXB1YmxpY2F0aW9uIFBvbGljaWVzOiBFYWNoIHN1Ym1pc3Npb24gbXVzdCBhZGhlcmUgdG8gU0lH UExBTuKAmXMgcmVwdWJsaWNhdGlvbiBwb2xpY3ksIGFzIGV4cGxhaW5lZCBvbiB0aGUgd2ViIGF0 DQo8YSBocmVmPSJodHRwOi8vd3d3LnNpZ3BsYW4ub3JnL1Jlc291cmNlcy9Qb2xpY2llcy9SZXB1 YmxpY2F0aW9uIj5odHRwOi8vd3d3LnNpZ3BsYW4ub3JnL1Jlc291cmNlcy9Qb2xpY2llcy9SZXB1 YmxpY2F0aW9uPC9hPi48YnI+DQo8YnI+DQoqIE9SQ0lEOiBPUkNJRCBwcm92aWRlcyBhIHBlcnNp c3RlbnQgZGlnaXRhbCBpZGVudGlmaWVyIChhbiBPUkNJRCBpRCkgdGhhdCB5b3Ugb3duIGFuZCBj b250cm9sLCBhbmQgdGhhdCBkaXN0aW5ndWlzaGVzIHlvdSBmcm9tIGV2ZXJ5IG90aGVyIHJlc2Vh cmNoZXI6DQo8YSBocmVmPSJodHRwczovL29yY2lkLm9yZy8iPmh0dHBzOi8vb3JjaWQub3JnLzwv YT4uIEFDTSBub3cgcmVxdWlyZSBhbiBPUkNJRCBpRCBmb3IgZXZlcnkgYXV0aG9yIG9mIGEgcGFw ZXIsIG5vdCBqdXN0IHRoZSBjb3JyZXNwb25kaW5nIGF1dGhvci4gU28sIHRoZSBhdXRob3Igd2hv IGlzIGZpbGxpbmcgb3V0IHRoZSBwZXJtaXNzaW9uIGZvcm0gc2hvdWxkIG1ha2Ugc3VyZSB0aGV5 IGhhdmUgdGhlIE9SQ0lEIGlEcyBmb3IgYWxsIG9mIHRoZWlyDQogY29hdXRob3JzIGJlZm9yZSBm aWxsaW5nIG91dCB0aGUgZm9ybS4gQW55IGF1dGhvcnMgd2hvIGRvIG5vdCB5ZXQgaGF2ZSBhbiBP UkNJRCBpRCBjYW4gZ28gdG8NCjxhIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnL3JlZ2lzdGVyIj5o dHRwczovL29yY2lkLm9yZy9yZWdpc3RlcjwvYT4gdG8gaGF2ZSBvbmUgYXNzaWduZWQuPGJyPg0K PGJyPg0KIyMjIFJldmlldyBQcm9jZXNzPGJyPg0KLS0tLS0tLS0tLS0tLS0tLS0tLTxicj4NClRo aXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgdHdvLXN0YWdlIHByb2Nlc3Mgd2l0aCBsaWdodHdlaWdo dCBkb3VibGUtYmxpbmQgcmV2aWV3aW5nIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHNlbGVjdCBwYXBl cnMgZm9yIFBBQ01QTCBpc3N1ZSBJQ0ZQIDIwMjQuIE5ldyB0aGlzIHllYXIsIElDRlAgMjAyNCB3 aWxsIGFkYXB0IGEgZnVsbCBkb3VibGUtYmxpbmQgcmV2aWV3aW5nIHByb2Nlc3MuIE1vcmUgaW5m b3JtYXRpb24gc2VlIGJlbG93Ljxicj4NCjxicj4NCklDRlAgMjAyNCB3aWxsIGhhdmUgYW4gQXNz b2NpYXRlIENoYWlyIHdobyB3aWxsIGhlbHAgdGhlIFBDIENoYWlyIG1vbml0b3IgcmV2aWV3cywg c29saWNpdCBleHRlcm5hbCBleHBlcnQgcmV2aWV3cyBmb3Igc3VibWlzc2lvbnMgd2hlbiB0aGVy ZSBpcyBub3QgZW5vdWdoIGV4cGVydGlzZSBvbiB0aGUgY29tbWl0dGVlLCBhbmQgZmFjaWxpdGF0 ZSByZXZpZXdlciBkaXNjdXNzaW9ucy48YnI+DQo8YnI+DQpQQUNNUEwgaXNzdWUgSUNGUCAyMDI0 IHdpbGwgZW1wbG95IGEgdHdvLXN0YWdlIHJldmlldyBwcm9jZXNzLiBUaGUgZmlyc3Qgc3RhZ2Ug aW4gdGhlIHJldmlldyBwcm9jZXNzIHdpbGwgYXNzZXNzIHN1Ym1pdHRlZCBwYXBlcnMgdXNpbmcg dGhlIGNyaXRlcmlhIHN0YXRlZCBhYm92ZSBhbmQgd2lsbCBhbGxvdyBmb3IgZmVlZGJhY2sgYW5k IGlucHV0IG9uIGluaXRpYWwgcmV2aWV3cyB0aHJvdWdoIHRoZSBhdXRob3IgcmVzcG9uc2UgcGVy aW9kIG1lbnRpb25lZA0KIHByZXZpb3VzbHkuIEFzIGEgcmVzdWx0IG9mIHRoZSByZXZpZXcgcHJv Y2VzcywgYSBzZXQgb2YgcGFwZXJzIHdpbGwgYmUgY29uZGl0aW9uYWxseSBhY2NlcHRlZCBhbmQg YWxsIG90aGVyIHBhcGVycyB3aWxsIGJlIHJlamVjdGVkLiBBdXRob3JzIHdpbGwgYmUgbm90aWZp ZWQgb2YgdGhlc2UgZGVjaXNpb25zIG9uIDIwIE1heSwgMjAyNC48YnI+DQo8YnI+DQpBdXRob3Jz IG9mIGNvbmRpdGlvbmFsbHkgYWNjZXB0ZWQgcGFwZXJzIHdpbGwgYmUgcHJvdmlkZWQgd2l0aCBj b21taXR0ZWUgcmV2aWV3cyBhbG9uZyB3aXRoIGEgc2V0IG9mIG1hbmRhdG9yeSByZXZpc2lvbnMu IEJ5IDExIEp1bmUsIDIwMjQsIHRoZSBhdXRob3JzIHNob3VsZCBwcm92aWRlIGEgc2Vjb25kIHJl dmlzZWQgc3VibWlzc2lvbi4gVGhlIHNlY29uZCBhbmQgZmluYWwgcmV2aWV3aW5nIHBoYXNlIGFz c2Vzc2VzIHdoZXRoZXIgdGhlIG1hbmRhdG9yeQ0KIHJldmlzaW9ucyBoYXZlIGJlZW4gYWRlcXVh dGVseSBhZGRyZXNzZWQgYnkgdGhlIGF1dGhvcnMgYW5kIHRoZXJlYnkgZGV0ZXJtaW5lcyB0aGUg ZmluYWwgYWNjZXB0L3JlamVjdCBzdGF0dXMgb2YgdGhlIHBhcGVyLiBUaGUgaW50ZW50IGFuZCBl eHBlY3RhdGlvbiBpcyB0aGF0IHRoZSBtYW5kYXRvcnkgcmV2aXNpb25zIGNhbiBmZWFzaWJseSBi ZSBhZGRyZXNzZWQgd2l0aGluIHRocmVlIHdlZWtzLjxicj4NCjxicj4NClRoZSBzZWNvbmQgc3Vi bWlzc2lvbiBzaG91bGQgY2xlYXJseSBpZGVudGlmeSBob3cgdGhlIG1hbmRhdG9yeSByZXZpc2lv bnMgd2VyZSBhZGRyZXNzZWQuIFRvIHRoYXQgZW5kLCB0aGUgc2Vjb25kIHN1Ym1pc3Npb24gbXVz dCBiZSBhY2NvbXBhbmllZCBieSBhIGNvdmVyIGxldHRlciBtYXBwaW5nIGVhY2ggbWFuZGF0b3J5 IHJldmlzaW9uIHJlcXVlc3QgdG8gc3BlY2lmaWMgcGFydHMgb2YgdGhlIHBhcGVyLiBUaGUgY292 ZXIgbGV0dGVyIHdpbGwNCiBmYWNpbGl0YXRlIGEgcXVpY2sgc2Vjb25kIHJldmlldywgYWxsb3dp bmcgZm9yIGNvbmZpcm1hdGlvbiBvZiBmaW5hbCBhY2NlcHRhbmNlIHdpdGhpbiB0d28gd2Vla3Mu IENvbnZlcnNlbHksIHRoZSBhYnNlbmNlIG9mIGEgY292ZXIgbGV0dGVyIHdpbGwgYmUgZ3JvdW5k cyBmb3IgdGhlIHBhcGVy4oCZcyByZWplY3Rpb24uPGJyPg0KPGJyPg0KIyMjIEluZm9ybWF0aW9u IGZvciBBdXRob3JzIG9mIEFjY2VwdGVkIFBhcGVyczxicj4NCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQpBcyBhIGNvbmRpdGlvbiBvZiBhY2NlcHRh bmNlLCBmaW5hbCB2ZXJzaW9ucyBvZiBhbGwgcGFwZXJzIG11c3QgYWRoZXJlIHRvIHRoZSBBQ00g U21hbGwgZm9ybWF0LiBUaGUgcGFnZSBsaW1pdCBmb3IgdGhlIGZpbmFsIHZlcnNpb25zIG9mIHBh cGVycyB3aWxsIGJlIGluY3JlYXNlZCBieSB0d28gcGFnZXMgdG8gaGVscCBhdXRob3JzIHJlc3Bv bmQgdG8gcmV2aWV3ZXIgY29tbWVudHMgYW5kIG1hbmRhdG9yeSByZXZpc2lvbnM6IDI3IHBhZ2Vz IHBsdXMNCiBiaWJsaW9ncmFwaHkgZm9yIGEgcmVndWxhciBwYXBlciBvciBGdW5jdGlvbmFsIFBl YXJsLCAxNCBwYWdlcyBwbHVzIGJpYmxpb2dyYXBoeSBmb3IgYW4gRXhwZXJpZW5jZSBSZXBvcnQu PGJyPg0KPGJyPg0KQXV0aG9ycyBvZiBhY2NlcHRlZCBzdWJtaXNzaW9ucyB3aWxsIGJlIHJlcXVp cmVkIHRvIGFncmVlIHRvIG9uZSBvZiB0aGUgdGhyZWUgQUNNIGxpY2Vuc2luZyBvcHRpb25zLCBv bmUgb2Ygd2hpY2ggaXMgQ3JlYXRpdmUgQ29tbW9ucyBDQy1CWSBwdWJsaWNhdGlvbjsgdGhpcyBp cyB0aGUgb3B0aW9uIHJlY29tbWVuZGVkIGJ5IHRoZSBQQUNNUEwgZWRpdG9yaWFsIGJvYXJkLiBB IHJlYXNvbmVkIGFyZ3VtZW50IGluIGZhdm91ciBvZiB0aGlzIG9wdGlvbg0KIGNhbiBiZSBmb3Vu ZCBpbiB0aGUgYXJ0aWNsZSBXaHkgQ0MtQlk/IHB1Ymxpc2hlZCBieSBPQVNQQSwgdGhlIE9wZW4g QWNjZXNzIFNjaG9sYXJseSBQdWJsaXNoZXJzIEFzc29jaWF0aW9uLiBUaGUgb3RoZXIgb3B0aW9u cyBhcmUgY29weXJpZ2h0IHRyYW5zZmVyIHRvIEFDTSBvciByZXRhaW5pbmcgY29weXJpZ2h0IGJ1 dCBncmFudGluZyBBQ00gZXhjbHVzaXZlIHB1YmxpY2F0aW9uIHJpZ2h0cy48YnI+DQo8YnI+DQpQ QUNNUEwgaXMgYSBHb2xkIE9wZW4gQWNjZXNzIGpvdXJuYWwsIGFuZCBhdXRob3JzIGFyZSBlbmNv dXJhZ2VkIHRvIHB1Ymxpc2ggdGhlaXIgd29yayB1bmRlciBhIENDLUJZIGxpY2Vuc2UuIEdvbGQg T3BlbiBBY2Nlc3MgZ3VhcmFudGVlcyBwZXJtYW5lbnQgZnJlZSBvbmxpbmUgYWNjZXNzIHRvIHRo ZSBkZWZpbml0aXZlIHZlcnNpb24gaW4gdGhlIEFDTSBEaWdpdGFsIExpYnJhcnksIGFuZCB0aGUg cmVjb21tZW5kZWQgQ0MtQlkgb3B0aW9uIGFsc28NCiBhbGxvd3MgYW55b25lIHRvIGNvcHkgYW5k IGRpc3RyaWJ1dGUgdGhlIHdvcmsgd2l0aCBhdHRyaWJ1dGlvbi4gR29sZCBPcGVuIEFjY2VzcyBo YXMgYmVlbiBtYWRlIHBvc3NpYmxlIGJ5IGdlbmVyb3VzIGZ1bmRpbmcgdGhyb3VnaCBBQ00gU0lH UExBTiwgd2hpY2ggd2lsbCBjb3ZlciBhbGwgb3BlbiBhY2Nlc3MgY29zdHMgaW4gdGhlIGV2ZW50 IGF1dGhvcnMgY2Fubm90LiBBdXRob3JzIHdobyBjYW4gY292ZXIgdGhlIGNvc3RzIG1heSBkbyBz byBieQ0KIHBheWluZyBhbiBBcnRpY2xlIFByb2Nlc3NpbmcgQ2hhcmdlIChBUEMpLiBQQUNNUEws IFNJR1BMQU4sIGFuZCBBQ00gSGVhZHF1YXJ0ZXJzIGFyZSBjb21taXR0ZWQgdG8gZXhwbG9yaW5n IHJvdXRlcyB0byBtYWtpbmcgR29sZCBPcGVuIEFjY2VzcyBwdWJsaWNhdGlvbiBib3RoIGFmZm9y ZGFibGUgYW5kIHN1c3RhaW5hYmxlLjxicj4NCjxicj4NCkFDTSBBdXRob3ItSXplciBpcyBhIHVu aXF1ZSBzZXJ2aWNlIHRoYXQgZW5hYmxlcyBBQ00gYXV0aG9ycyB0byBnZW5lcmF0ZSBhbmQgcG9z dCBsaW5rcyBvbiBlaXRoZXIgdGhlaXIgaG9tZSBwYWdlIG9yIGluc3RpdHV0aW9uYWwgcmVwb3Np dG9yeSBmb3IgdmlzaXRvcnMgdG8gZG93bmxvYWQgdGhlIGRlZmluaXRpdmUgdmVyc2lvbiBvZiB0 aGVpciBhcnRpY2xlcyBmcm9tIHRoZSBBQ00gRGlnaXRhbCBMaWJyYXJ5IGF0IG5vIGNoYXJnZS4g RG93bmxvYWRzDQogdGhyb3VnaCBBdXRob3ItSXplciBsaW5rcyBhcmUgY2FwdHVyZWQgaW4gb2Zm aWNpYWwgQUNNIHN0YXRpc3RpY3MsIGltcHJvdmluZyB0aGUgYWNjdXJhY3kgb2YgdXNhZ2UgYW5k IGltcGFjdCBtZWFzdXJlbWVudHMuIENvbnNpc3RlbnRseSBsaW5raW5nIHRvIHRoZSBkZWZpbml0 aXZlIHZlcnNpb24gb2YgYW4gQUNNIGFydGljbGUgc2hvdWxkIHJlZHVjZSB1c2VyIGNvbmZ1c2lv biBvdmVyIGFydGljbGUgdmVyc2lvbmluZy4gQWZ0ZXIgYW4gYXJ0aWNsZQ0KIGhhcyBiZWVuIHB1 Ymxpc2hlZCBhbmQgYXNzaWduZWQgdG8gdGhlIGFwcHJvcHJpYXRlIEFDTSBBdXRob3IgUHJvZmls ZSBwYWdlcywgYXV0aG9ycyBzaG91bGQgdmlzaXQNCjxhIGhyZWY9Imh0dHA6Ly93d3cuYWNtLm9y Zy9wdWJsaWNhdGlvbnMvYWNtLWF1dGhvci1pemVyLXNlcnZpY2UiPmh0dHA6Ly93d3cuYWNtLm9y Zy9wdWJsaWNhdGlvbnMvYWNtLWF1dGhvci1pemVyLXNlcnZpY2U8L2E+IHRvIGxlYXJuIGhvdyB0 byBjcmVhdGUgbGlua3MgZm9yIGZyZWUgZG93bmxvYWRzIGZyb20gdGhlIEFDTSBETC48YnI+DQo8 YnI+DQpUaGUgb2ZmaWNpYWwgcHVibGljYXRpb24gZGF0ZSBpcyB0aGUgZGF0ZSB0aGUgcGFwZXJz IGFyZSBtYWRlIGF2YWlsYWJsZSBpbiB0aGUgQUNNIERpZ2l0YWwgTGlicmFyeS4gVGhpcyBkYXRl IG1heSBiZSB1cCB0byB0d28gd2Vla3MgcHJpb3IgdG8gdGhlIGZpcnN0IGRheSBvZiB0aGUgY29u ZmVyZW5jZS4gVGhlIG9mZmljaWFsIHB1YmxpY2F0aW9uIGRhdGUgYWZmZWN0cyB0aGUgZGVhZGxp bmUgZm9yIGFueSBwYXRlbnQgZmlsaW5ncyByZWxhdGVkDQogdG8gcHVibGlzaGVkIHdvcmsuPGJy Pg0KPGJyPg0KQXV0aG9ycyBvZiBlYWNoIGFjY2VwdGVkIHN1Ym1pc3Npb24gYXJlIGludml0ZWQg dG8gYXR0ZW5kIGFuZCBiZSBhdmFpbGFibGUgZm9yIHRoZSBwcmVzZW50YXRpb24gb2YgdGhhdCBw YXBlciBhdCB0aGUgY29uZmVyZW5jZS4gVGhlIHNjaGVkdWxlIGZvciBwcmVzZW50YXRpb25zIHdp bGwgYmUgZGV0ZXJtaW5lZCBhbmQgc2hhcmVkIHdpdGggYXV0aG9ycyBhZnRlciB0aGUgZnVsbCBw cm9ncmFtIGhhcyBiZWVuIHNlbGVjdGVkLjxicj4NCjxicj4NCiMjIyBBcnRpZmFjdCBFdmFsdWF0 aW9uPGJyPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQpBdXRob3JzIG9mIHBhcGVycyB0 aGF0IGFyZSBjb25kaXRpb25hbGx5IGFjY2VwdGVkIGluIHRoZSBmaXJzdCBwaGFzZSBvZiB0aGUg cmV2aWV3IHByb2Nlc3Mgd2lsbCBiZSBlbmNvdXJhZ2VkIChidXQgbm90IHJlcXVpcmVkKSB0byBz dWJtaXQgc3VwcG9ydGluZyBtYXRlcmlhbHMgZm9yIEFydGlmYWN0IEV2YWx1YXRpb24uIFRoZXNl IGl0ZW1zIHdpbGwgdGhlbiBiZSByZXZpZXdlZCBieSBhbiBBcnRpZmFjdCBFdmFsdWF0aW9uIENv bW1pdHRlZSwgc2VwYXJhdGUNCiBmcm9tIHRoZSBwYXBlciBSZXZpZXcgQ29tbWl0dGVlLCB3aG9z ZSB0YXNrIGlzIHRvIGFzc2VzcyBob3cgdGhlIGFydGlmYWN0cyBzdXBwb3J0IHRoZSB3b3JrIGRl c2NyaWJlZCBpbiB0aGUgYXNzb2NpYXRlZCBwYXBlci4gUGFwZXJzIHRoYXQgZ28gdGhyb3VnaCB0 aGUgQXJ0aWZhY3QgRXZhbHVhdGlvbiBwcm9jZXNzIHN1Y2Nlc3NmdWxseSB3aWxsIHJlY2VpdmUg YSBzZWFsIG9mIGFwcHJvdmFsIHByaW50ZWQgb24gdGhlIHBhcGVycyB0aGVtc2VsdmVzLg0KIEF1 dGhvcnMgb2YgYWNjZXB0ZWQgcGFwZXJzIHdpbGwgYmUgZW5jb3VyYWdlZCB0byBtYWtlIHRoZSBz dXBwb3J0aW5nIG1hdGVyaWFscyBwdWJsaWNseSBhdmFpbGFibGUgdXBvbiBwdWJsaWNhdGlvbiBv ZiB0aGUgcGFwZXJzLCBmb3IgZXhhbXBsZSwgYnkgaW5jbHVkaW5nIHRoZW0gYXMg4oCcc291cmNl IG1hdGVyaWFsc+KAnSBpbiB0aGUgQUNNIERpZ2l0YWwgTGlicmFyeS4gQW4gYWRkaXRpb25hbCBz ZWFsIHdpbGwgbWFyayBwYXBlcnMgd2hvc2UgYXJ0aWZhY3RzDQogYXJlIG1hZGUgYXZhaWxhYmxl LCBhcyBvdXRsaW5lZCBpbiB0aGUgQUNNIGd1aWRlbGluZXMgZm9yIGFydGlmYWN0IGJhZGdpbmcu PGJyPg0KPGJyPg0KUGFydGljaXBhdGlvbiBpbiBBcnRpZmFjdCBFdmFsdWF0aW9uIGlzIHZvbHVu dGFyeSBhbmQgd2lsbCBub3QgaW5mbHVlbmNlIHRoZSBmaW5hbCBkZWNpc2lvbiByZWdhcmRpbmcg cGFwZXIgYWNjZXB0YW5jZS48YnI+DQo8YnI+DQojIyMgU3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBh cGVyczxicj4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQpJbiBhZGRpdGlv biB0byByZXNlYXJjaCBwYXBlcnMsIFBBQ01QTCBpc3N1ZSBJQ0ZQIHNvbGljaXRzIHR3byBraW5k cyBvZiBwYXBlcnMgdGhhdCBkbyBub3QgcmVxdWlyZSBvcmlnaW5hbCByZXNlYXJjaCBjb250cmli dXRpb25zOiBGdW5jdGlvbmFsIFBlYXJscywgd2hpY2ggYXJlIGZ1bGwgcGFwZXJzLCBhbmQgRXhw ZXJpZW5jZSBSZXBvcnRzLCB3aGljaCBhcmUgbGltaXRlZCB0byBoYWxmIHRoZSBsZW5ndGggb2Yg YSBmdWxsIHBhcGVyLiBBdXRob3JzDQogc3VibWl0dGluZyBzdWNoIHBhcGVycyBzaG91bGQgY29u c2lkZXIgdGhlIGZvbGxvd2luZyBndWlkZWxpbmVzLjxicj4NCjxicj4NCiogRnVuY3Rpb25hbCBQ ZWFybHM8YnI+DQotIEEgRnVuY3Rpb25hbCBQZWFybCBpcyBhbiBlbGVnYW50IGVzc2F5IGFib3V0 IHNvbWV0aGluZyByZWxhdGVkIHRvIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcuIEV4YW1wbGVzIGlu Y2x1ZGUsIGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG86PGJyPg0KPGJyPg0KLSBhIG5ldyBhbmQgdGhv dWdodC1wcm92b2tpbmcgd2F5IG9mIGxvb2tpbmcgYXQgYW4gb2xkIGlkZWE8YnI+DQo8YnI+DQot IGFuIGluc3RydWN0aXZlIGV4YW1wbGUgb2YgcHJvZ3JhbSBjYWxjdWxhdGlvbiBvciBwcm9vZjxi cj4NCjxicj4NCi0gYSBuaWZ0eSBwcmVzZW50YXRpb24gb2YgYW4gb2xkIG9yIG5ldyBkYXRhIHN0 cnVjdHVyZTxicj4NCjxicj4NCi0gYW4gaW50ZXJlc3RpbmcgYXBwbGljYXRpb24gb2YgZnVuY3Rp b25hbCBwcm9ncmFtbWluZyB0ZWNobmlxdWVzPGJyPg0KPGJyPg0KLSBhIG5vdmVsIHVzZSBvciBl eHBvc2l0aW9uIG9mIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcgaW4gdGhlIGNsYXNzcm9vbTxicj4N Cjxicj4NCldoaWxlIHBlYXJscyBvZnRlbiBkZW1vbnN0cmF0ZSBhbiBpZGVhIHRocm91Z2ggdGhl IGRldmVsb3BtZW50IG9mIGEgc2hvcnQgcHJvZ3JhbSwgdGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQg b3IgZXhwZWN0YXRpb24gdGhhdCB0aGV5IGRvIHNvLiBUaHVzLCB0aGV5IGVuY29tcGFzcyB0aGUg bm90aW9ucyBvZiB0aGVvcmV0aWNhbCBhbmQgZWR1Y2F0aW9uYWwgcGVhcmxzLjxicj4NCjxicj4N CkZ1bmN0aW9uYWwgUGVhcmxzIGFyZSB2YWx1ZWQgYXMgaGlnaGx5IGFuZCBqdWRnZWQgYXMgcmln b3JvdXNseSBhcyBvcmRpbmFyeSBwYXBlcnMsIGJ1dCB1c2luZyBzb21ld2hhdCBkaWZmZXJlbnQg Y3JpdGVyaWEuIEluIHBhcnRpY3VsYXIsIGEgcGVhcmwgaXMgbm90IHJlcXVpcmVkIHRvIHJlcG9y dCBvcmlnaW5hbCByZXNlYXJjaCwgYnV0LCBpdCBzaG91bGQgYmUgY29uY2lzZSwgaW5zdHJ1Y3Rp dmUsIGFuZCBlbnRlcnRhaW5pbmcuIEEgcGVhcmwNCiBpcyBsaWtlbHkgdG8gYmUgcmVqZWN0ZWQg aWYgaXRzIHJlYWRlcnMgZ2V0IGJvcmVkLCBpZiB0aGUgbWF0ZXJpYWwgZ2V0cyB0b28gY29tcGxp Y2F0ZWQsIGlmIHRvbyBtdWNoLXNwZWNpYWxpc2VkIGtub3dsZWRnZSBpcyBuZWVkZWQsIG9yIGlm IHRoZSB3cml0aW5nIGlzIGluZWxlZ2FudC4gVGhlIGtleSB0byB3cml0aW5nIGEgZ29vZCBwZWFy bCBpcyBwb2xpc2hpbmcuPGJyPg0KPGJyPg0KQSBzdWJtaXNzaW9uIHRoYXQgaXMgaW50ZW5kZWQg dG8gYmUgdHJlYXRlZCBhcyBhIHBlYXJsIG11c3QgYmUgbWFya2VkIGFzIHN1Y2ggb24gdGhlIHN1 Ym1pc3Npb24gd2ViIHBhZ2UgYW5kIHNob3VsZCBjb250YWluIHRoZSB3b3JkcyDigJxGdW5jdGlv bmFsIFBlYXJs4oCdIHNvbWV3aGVyZSBpbiBpdHMgdGl0bGUgb3Igc3VidGl0bGUuIFRoZXNlIHN0 ZXBzIHdpbGwgYWxlcnQgcmV2aWV3ZXJzIHRvIHVzZSB0aGUgYXBwcm9wcmlhdGUgZXZhbHVhdGlv biBjcml0ZXJpYS4NCiBQZWFybHMgd2lsbCBiZSBjb21iaW5lZCB3aXRoIG9yZGluYXJ5IHBhcGVy cywgaG93ZXZlciwgZm9yIHRoZSBwdXJwb3NlIG9mIGNvbXB1dGluZyB0aGUgY29uZmVyZW5jZeKA mXMgYWNjZXB0YW5jZSByYXRlLjxicj4NCjxicj4NCiogRXhwZXJpZW5jZSBSZXBvcnRzPGJyPg0K VGhlIHB1cnBvc2Ugb2YgYW4gRXhwZXJpZW5jZSBSZXBvcnQgaXMgdG8gZGVzY3JpYmUgdGhlIGV4 cGVyaWVuY2Ugb2YgdXNpbmcgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBpbiBwcmFjdGljZSwgd2hl dGhlciBpbiBpbmR1c3RyaWFsIGFwcGxpY2F0aW9uLCB0b29sIGRldmVsb3BtZW50LCBwcm9ncmFt bWluZyBlZHVjYXRpb24sIG9yIGFueSBvdGhlciBhcmVhLjxicj4NCjxicj4NClBvc3NpYmxlIHRv cGljcyBmb3IgYW4gRXhwZXJpZW5jZSBSZXBvcnQgaW5jbHVkZSwgYnV0IGFyZSBub3QgbGltaXRl ZCB0bzo8YnI+DQo8YnI+DQotIGluc2lnaHRzIGdhaW5lZCBmcm9tIHJlYWwtd29ybGQgcHJvamVj dHMgdXNpbmcgZnVuY3Rpb25hbCBwcm9ncmFtbWluZzxicj4NCjxicj4NCi0gY29tcGFyaXNvbiBv ZiBmdW5jdGlvbmFsIHByb2dyYW1taW5nIHdpdGggY29udmVudGlvbmFsIHByb2dyYW1taW5nIGlu IHRoZSBjb250ZXh0IG9mIGFuIGluZHVzdHJpYWwgcHJvamVjdCBvciBhIHVuaXZlcnNpdHkgY3Vy cmljdWx1bTxicj4NCjxicj4NCi0gcHJvamVjdC1tYW5hZ2VtZW50LCBidXNpbmVzcywgb3IgbGVn YWwgaXNzdWVzIGVuY291bnRlcmVkIHdoZW4gdXNpbmcgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBp biBhIHJlYWwtd29ybGQgcHJvamVjdDxicj4NCjxicj4NCi0gY3VycmljdWxhciBpc3N1ZXMgZW5j b3VudGVyZWQgd2hlbiB1c2luZyBmdW5jdGlvbmFsIHByb2dyYW1taW5nIGluIGVkdWNhdGlvbjxi cj4NCjxicj4NCi0gcmVhbC13b3JsZCBjb25zdHJhaW50cyB0aGF0IGNyZWF0ZWQgc3BlY2lhbCBj aGFsbGVuZ2VzIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiBhIGZ1bmN0aW9uYWwgbGFuZ3VhZ2Ug b3IgZm9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcgaW4gZ2VuZXJhbDxicj4NCjxicj4NCkFuIEV4 cGVyaWVuY2UgUmVwb3J0IGlzIGRpc3Rpbmd1aXNoZWQgZnJvbSBhIG5vcm1hbCBQQUNNUEwgaXNz dWUgSUNGUCBwYXBlciBieSBpdHMgdGl0bGUsIGJ5IGl0cyBsZW5ndGgsIGFuZCBieSB0aGUgY3Jp dGVyaWEgdXNlZCB0byBldmFsdWF0ZSBpdC48YnI+DQo8YnI+DQpCb3RoIGluIHRoZSBwYXBlcnMg YW5kIGluIGFueSBjaXRhdGlvbnMsIHRoZSB0aXRsZSBvZiBlYWNoIGFjY2VwdGVkIEV4cGVyaWVu Y2UgUmVwb3J0IG11c3QgZW5kIHdpdGggdGhlIHdvcmRzIOKAnChFeHBlcmllbmNlIFJlcG9ydCni gJ0gaW4gcGFyZW50aGVzZXMuIFRoZSBhY2NlcHRhbmNlIHJhdGUgZm9yIEV4cGVyaWVuY2UgUmVw b3J0cyB3aWxsIGJlIGNvbXB1dGVkIGFuZCByZXBvcnRlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHJh dGUgZm9yIG9yZGluYXJ5DQogcGFwZXJzLjxicj4NCjxicj4NCkV4cGVyaWVuY2UgUmVwb3J0IHN1 Ym1pc3Npb25zIGNhbiBiZSBhdCBtb3N0IDEyIHBhZ2VzIGxvbmcsIGV4Y2x1ZGluZyBiaWJsaW9n cmFwaHkuPGJyPg0KPGJyPg0KRWFjaCBhY2NlcHRlZCBFeHBlcmllbmNlIFJlcG9ydCB3aWxsIGJl IHByZXNlbnRlZCBhdCB0aGUgY29uZmVyZW5jZSwgYnV0IGRlcGVuZGluZyBvbiB0aGUgbnVtYmVy IG9mIEV4cGVyaWVuY2UgUmVwb3J0cyBhbmQgcmVndWxhciBwYXBlcnMgYWNjZXB0ZWQsIGF1dGhv cnMgb2YgRXhwZXJpZW5jZSBSZXBvcnRzIG1heSBiZSBhc2tlZCB0byBnaXZlIHNob3J0ZXIgdGFs a3MuPGJyPg0KPGJyPg0KQmVjYXVzZSB0aGUgcHVycG9zZSBvZiBFeHBlcmllbmNlIFJlcG9ydHMg aXMgdG8gZW5hYmxlIG91ciBjb21tdW5pdHkgdG8gdW5kZXJzdGFuZCB0aGUgYXBwbGljYXRpb24g b2YgZnVuY3Rpb25hbCBwcm9ncmFtbWluZywgYW4gYWNjZXB0YWJsZSBFeHBlcmllbmNlIFJlcG9y dCBuZWVkIG5vdCBhZGQgdG8gdGhlIGJvZHkgb2Yga25vd2xlZGdlIG9mIHRoZSBmdW5jdGlvbmFs LXByb2dyYW1taW5nIGNvbW11bml0eSBieSBwcmVzZW50aW5nIG5vdmVsIHJlc3VsdHMNCiBvciBj b25jbHVzaW9ucy4gSXQgaXMgc3VmZmljaWVudCBpZiB0aGUgcmVwb3J0IGRlc2NyaWJlcyBhbiBp bGx1bWluYXRpbmcgZXhwZXJpZW5jZSB3aXRoIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcsIG9yIHBy b3ZpZGVzIGV2aWRlbmNlIGZvciBhIGNsZWFyIHRoZXNpcyBhYm91dCB0aGUgdXNlIG9mIGZ1bmN0 aW9uYWwgcHJvZ3JhbW1pbmcuIFRoZSBleHBlcmllbmNlIG9yIHRoZXNpcyBtdXN0IGJlIHJlbGV2 YW50IHRvIElDRlAsIGJ1dCBpdCBuZWVkDQogbm90IGJlIG5vdmVsLjxicj4NCjxicj4NClRoZSBy ZXZpZXcgY29tbWl0dGVlIHdpbGwgYWNjZXB0IG9yIHJlamVjdCBFeHBlcmllbmNlIFJlcG9ydHMg YmFzZWQgb24gd2hldGhlciB0aGV5IGp1ZGdlIHRoZSBwYXBlciB0byBpbGx1bWluYXRlIHNvbWUg YXNwZWN0IG9mIHRoZSB1c2Ugb2YgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy4gQW5lY2RvdGFsIGV2 aWRlbmNlIHdpbGwgYmUgYWNjZXB0YWJsZSBwcm92aWRlZCBpdCBpcyB3ZWxsLWFyZ3VlZCBhbmQg dGhlIGF1dGhvciBleHBsYWlucyB3aGF0DQogZWZmb3J0cyB3ZXJlIG1hZGUgdG8gZ2F0aGVyIGFz IG11Y2ggZXZpZGVuY2UgYXMgcG9zc2libGUuIFR5cGljYWxseSwgcGFwZXJzIHRoYXQgc2hvdyBo b3cgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyB3YXMgdXNlZCBhcmUgbW9yZSBjb252aW5jaW5nIHRo YW4gcGFwZXJzIHRoYXQgc2F5IG9ubHkgdGhhdCBmdW5jdGlvbmFsIHByb2dyYW1taW5nIHdhcyB1 c2VkLiBJdCBjYW4gYmUgZXNwZWNpYWxseSBlZmZlY3RpdmUgdG8gcHJlc2VudCBjb21wYXJpc29u cw0KIG9mIHRoZSBzaXR1YXRpb25zIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGV4cGVyaWVuY2UgZGVz Y3JpYmVkIGluIHRoZSBwYXBlciwgYnV0IG90aGVyIGtpbmRzIG9mIGV2aWRlbmNlIHdvdWxkIGFs c28gbWFrZSBzZW5zZSwgZGVwZW5kaW5nIG9uIGNvbnRleHQuIEV4cGVyaWVuY2UgZHJhd24gZnJv bSBhIHNpbmdsZSBwZXJzb27igJlzIGV4cGVyaWVuY2UgbWF5IGJlIHN1ZmZpY2llbnQsIGJ1dCBt b3JlIHdlaWdodCB3aWxsIGJlIGdpdmVuIHRvIGV2aWRlbmNlDQogZHJhd24gZnJvbSB0aGUgZXhw ZXJpZW5jZSBvZiBncm91cHMgb2YgcGVvcGxlLjxicj4NCjxicj4NCkFuIEV4cGVyaWVuY2UgUmVw b3J0IHNob3VsZCBiZSBzaG9ydCBhbmQgdG8gdGhlIHBvaW50LiBGb3IgYW4gaW5kdXN0cmlhbCBw cm9qZWN0LCBpdCBzaG91bGQgbWFrZSBhIGNsYWltIGFib3V0IGhvdyB3ZWxsIGZ1bmN0aW9uYWwg cHJvZ3JhbW1pbmcgd29ya2VkIGFuZCB3aHk7IGZvciBhIHBlZGFnb2d5IHBhcGVyLCBpdCBtaWdo dCBtYWtlIGEgY2xhaW0gYWJvdXQgdGhlIHN1aXRhYmlsaXR5IG9mIGEgcGFydGljdWxhciB0ZWFj aGluZyBzdHlsZSBvcg0KIGVkdWNhdGlvbmFsIGV4ZXJjaXNlLiBFaXRoZXIgd2F5LCBpdCBzaG91 bGQgcHJvZHVjZSBldmlkZW5jZSB0byBzdWJzdGFudGlhdGUgdGhlIGNsYWltLiBJZiBmdW5jdGlv bmFsIHByb2dyYW1taW5nIHdvcmtlZCBpbiB0aGlzIGNhc2UgaW4gdGhlIHNhbWUgd2F5cyBpdCBo YXMgd29ya2VkIGZvciBvdGhlcnMsIHRoZSBwYXBlciBuZWVkIG9ubHkgc3VtbWFyaXNlIHRoZSBy ZXN1bHRzIOKAlCB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBwYXBlciBzaG91bGQgZGlzY3Vzcw0KIGhv dyB3ZWxsIGl0IHdvcmtlZCBhbmQgaW4gd2hhdCBjb250ZXh0LiBNb3N0IHJlYWRlcnMgd2lsbCBu b3Qgd2FudCB0byBrbm93IGFsbCB0aGUgZGV0YWlscyBvZiB0aGUgZXhwZXJpZW5jZSBhbmQgaXRz IGltcGxlbWVudGF0aW9uLCBidXQgdGhlIHBhcGVyIHNob3VsZCBjaGFyYWN0ZXJpc2UgaXQgYW5k IGl0cyBjb250ZXh0IHdlbGwgZW5vdWdoIHNvIHRoYXQgcmVhZGVycyBjYW4ganVkZ2UgdG8gd2hh dCBkZWdyZWUgdGhpcyBleHBlcmllbmNlIGlzDQogcmVsZXZhbnQgdG8gdGhlaXIgb3duIGNpcmN1 bXN0YW5jZXMuIFRoZSBwYXBlciBzaG91bGQgdGFrZSBjYXJlIHRvIGhpZ2hsaWdodCBhbnkgdW51 c3VhbCBhc3BlY3RzOyBzcGVjaWZpY3MgYWJvdXQgdGhlIGV4cGVyaWVuY2UgYXJlIG1vcmUgdmFs dWFibGUgdGhhbiBnZW5lcmFsaXRpZXMgYWJvdXQgZnVuY3Rpb25hbCBwcm9ncmFtbWluZy48YnI+ DQo8YnI+DQpJZiB0aGUgcGFwZXIgbm90IG9ubHkgZGVzY3JpYmVzIGV4cGVyaWVuY2UgYnV0IGFs c28gcHJlc2VudHMgbmV3IHRlY2huaWNhbCByZXN1bHRzLCBvciBpZiB0aGUgZXhwZXJpZW5jZSBy ZWZ1dGVzIGNoZXJpc2hlZCBiZWxpZWZzIG9mIHRoZSBmdW5jdGlvbmFsLXByb2dyYW1taW5nIGNv bW11bml0eSwgaXQgbWF5IGJlIGJldHRlciB0byBzdWJtaXQgaXQgYXMgYSBmdWxsIHBhcGVyLCB3 aGljaCB3aWxsIGJlIGp1ZGdlZCBieSB0aGUgdXN1YWwgY3JpdGVyaWENCiBvZiBub3ZlbHR5LCBv cmlnaW5hbGl0eSwgYW5kIHJlbGV2YW5jZS4gVGhlIFByb2dyYW0gQ2hhaXIgd2lsbCBiZSBoYXBw eSB0byBhZHZpc2Ugb24gYW55IGNvbmNlcm5zIGFib3V0IHdoaWNoIGNhdGVnb3J5IHRvIHN1Ym1p dCB0by48YnI+DQo8YnI+DQojIyMgQWJvdXQgUEFDTVBMPGJyPg0KLS0tLS0tLS0tLS0tLS0tLTxi cj4NClByb2NlZWRpbmdzIG9mIHRoZSBBQ00gb24gUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIChQQUNN UEwgPGEgaHJlZj0iaHR0cHM6Ly9wYWNtcGwuYWNtLm9yZy8iPg0KaHR0cHM6Ly9wYWNtcGwuYWNt Lm9yZy88L2E+KSBpcyBhIEdvbGQgT3BlbiBBY2Nlc3Mgam91cm5hbCBwdWJsaXNoaW5nIHJlc2Vh cmNoIG9uIGFsbCBhc3BlY3RzIG9mIHByb2dyYW1taW5nIGxhbmd1YWdlcywgZnJvbSBkZXNpZ24g dG8gaW1wbGVtZW50YXRpb24gYW5kIGZyb20gbWF0aGVtYXRpY2FsIGZvcm1hbGlzbXMgdG8gZW1w aXJpY2FsIHN0dWRpZXMuIEVhY2ggaXNzdWUgb2YgdGhlIGpvdXJuYWwgaXMgZGV2b3RlZCB0byBh IHBhcnRpY3VsYXINCiBzdWJqZWN0IGFyZWEgd2l0aGluIHByb2dyYW1taW5nIGxhbmd1YWdlcyBh bmQgd2lsbCBiZSBhbm5vdW5jZWQgdGhyb3VnaCBwdWJsaWNpc2VkIENhbGxzIGZvciBQYXBlcnMs IGxpa2UgdGhpcyBvbmUuPGJyPg0KPGJyPg0KPGJyPg0KIyMjIElDRlAgT3JnYW5pc2Vyczxicj4N Cjxicj4NCkdlbmVyYWwgQ2hhaXI6PGJyPg0KJm5ic3A7IE1hcmNvIEdhYm9hcmRpIChCb3N0b24g VW5pdmVyc2l0eSwgVVNBKTxicj4NCjxicj4NClByb2dyYW1tZSBDaGFpcjo8YnI+DQombmJzcDsg QnJpZ2l0dGUgUGllbnRrYSAoTWNHaWxsIFVuaXZlcnNpdHksIENhbmFkYSk8YnI+DQo8YnI+DQpB c3NvY2lhdGUgUHJvZ3JhbW1lIENoYWlyOjxicj4NCiZuYnNwOyBHYWJyaWVsZSBLZWxsZXIgKFV0 cmVjaHQgVW5pdmVyc2l0eSwgTmV0aGVybGFuZHMpPGJyPg0KPGJyPg0KUHVibGljaXR5IENoYWly Ojxicj4NCiZuYnNwOyBJbHlhIFNlcmdleSAoTmF0aW9uYWwgVW5pdmVyc2l0eSBvZiBTaW5nYXBv cmUsIFNpbmdhcG9yZSk8YnI+DQo8YnI+DQpQcm9ncmFtbWUgQ29tbWl0dGVlOjxicj4NCiZuYnNw OzxhIGhyZWY9Imh0dHBzOi8vaWNmcDI0LnNpZ3BsYW4ub3JnL2NvbW1pdHRlZS9pY2ZwLTIwMjQt cGFwZXJzLWljZnAtcGFwZXJzLWFuZC1ldmVudHMiPmh0dHBzOi8vaWNmcDI0LnNpZ3BsYW4ub3Jn L2NvbW1pdHRlZS9pY2ZwLTIwMjQtcGFwZXJzLWljZnAtcGFwZXJzLWFuZC1ldmVudHM8L2E+PGJy Pg0KPGJyPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9o dG1sPg0K