Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xGVkt-00000002Q5L-0Txw for pgsql-general@arkaria.postgresql.org; Tue, 13 Oct 2026 06:12:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1xGVkq-0000000CELX-3pAF for pgsql-general@arkaria.postgresql.org; Tue, 13 Oct 2026 06:12:52 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with utf8esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xGVkq-0000000CELP-0y6s for pgsql-general@lists.postgresql.org; Tue, 13 Oct 2026 06:12:52 +0000 Received: from rex-mailout.bayern.de ([193.34.207.154]) by makus.postgresql.org with utf8esmtp (Exim 4.98.2) (envelope-from ) id 1xGVkl-00000001kd5-3oDp for pgsql-general@postgresql.org; Tue, 13 Oct 2026 06:12:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bayern.de; i=@bayern.de; s=cc-yang; t=1791871967; x=1807423967; h=from:to:subject:date:message-id:references:in-reply-to: content-type:content-transfer-encoding:mime-version; bh=3teaMhH1x9O8elMR6i4IR7ZrzOjCofgjexLB5834uII=; b=SmwSBkyJGFewBEtIMhKB2O7p5TuGPHBtIuIqW9Zl3FbO1guGsZd/kBPm r4ENap+FbrdoORUlRVKYOZSdWdR2rCugb7HOTPdlbeVmWhYKL4IMzJR4e xSW5P97QKWLQ/dlV41SBxHHCJINnobuvhFoaVWjumKwle9D327sqnEQEz G+ptLgLULpPz6Y3YUJgW3rE22OvGycgW6aIG/B5Izz7QXHSZ7wlK3hPPo aCfoquT/iF3CglyZ1bz9ie/8flvCcwm4EoCZQtOeQRJKW8HwRbzr1tNUv wh+jKyU59VhpEKSr2uAlTU6+jF+JLY4nAc4EWWORW2+mDARVuuwzNhZQ/ Q==; X-CSE-ConnectionGUID: y/NDEjRGSUynyq5Y+n16kg== X-CSE-MsgGUID: cEn9Bsm5RPK6ZlCbM5cIaQ== Received: from unknown (HELO rin135.bayern.de) ([10.197.20.135]) by rex135.bayern.de with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 13 Oct 2026 08:12:45 +0200 X-CSE-ConnectionGUID: KNQvyOy+TAKm3WPBmZI6VA== X-CSE-MsgGUID: uHSqzWBeRUS9jhQUpDknsg== X-Talos-CUID: =?us-ascii?q?9a23=3AZJqro2hmAwgVOsBPTGN/XdDaVDJuUVvk0mb3Mgy?= =?us-ascii?q?EIEVsE4KtY1qi2f1aup87?= X-Talos-MUID: 9a23:aM/aSwnAriEaN0wBfajcdnp/FPxx8ZuEBXowqsQEu/C5LQBzPSyS2WE= X-BYBN-routing: post Received: from zmx-ej4-p25852.max.bayern.de ([10.173.241.201]) by rin135.bayern.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Oct 2026 08:12:44 +0200 Received: from ZMX-EJ2-P25850.max.bayern.de (10.173.241.200) by ZMX-EJ4-P25852.max.bayern.de (10.173.241.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Tue, 13 Oct 2026 08:12:44 +0200 Received: from ZMX-EJ2-P25850.max.bayern.de ([10.173.241.200]) by ZMX-EJ2-P25850.max.bayern.de ([10.173.241.200]) with mapi id 15.02.2562.049; Tue, 13 Oct 2026 08:12:44 +0200 From: =?utf-8?B?RsOkcmJlciwgRnJhbnotSm9zZWYgKFN0TVVLKQ==?= To: Adrian Klaver , "pgsql-general@postgresql.org" Subject: AW: AW: Why is materialized view creation a "security-restricted operation"? Thread-Topic: AW: Why is materialized view creation a "security-restricted operation"? Thread-Index: AQHdUeFL0Utg7jYUl0GDhsYiKoFwtrb5rX5QgABXjwCAAQiy8A== Date: Tue, 13 Oct 2026 06:12:44 +0000 Message-ID: <569054683acf4de7a3f2de80391b4e71@stmuk.bayern.de> References: <77826d7580a9488ca28eb4bcfe94aa37@stmuk.bayern.de> <2e9d29c1513afb47d652387ea5299076ef24adce.camel@cybertec.at> <9f30126c-9e72-4ced-83e2-3f8e5da183d3@aklaver.com> In-Reply-To: <9f30126c-9e72-4ced-83e2-3f8e5da183d3@aklaver.com> Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.171.65.1] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk VGhhbmtzIGZvciB0aGUgc3VnZ2VzdGlvbi4NCkJ1dCB3aGF0IGV4YWN0bHkgaXMgdGhlIHN1Z2dl c3Rpb24/DQoNCkF0IGxlYXN0IEkgdW5kZXJzdGFuZCBEdWNrREIgY2FuIGRpcmVjdGx5IHJlYWQg d2l0aG91dCBoYXZpbmcgdG8gY3JhZXRlIGEgdGVtcCB0YWJsZToNCiogU0VMRUNUICogRlJPTSAn dGVzdC5jc3YuZ3onOw0KKiBTRUxFQ1QgKiBGUk9NIHJlYWRfY3N2KCd0ZXN0LmNzdicsIGhlYWRl ciA9IGZhbHNlKTsNCg0KLi4uIHdoaWNoIGlzIHdoYXQgUG9zdGdyZXMgaXMgbWlzc2luZy4NCg0K DQpSZWdhcmRzLA0KRnJhbnotSm9zZWYgRsOkcmJlcg0KDQotLS0tLVVyc3Byw7xuZ2xpY2hlIE5h Y2hyaWNodC0tLS0tDQpWb246IEFkcmlhbiBLbGF2ZXIgPGFkcmlhbi5rbGF2ZXJAYWtsYXZlci5j b20+IA0KR2VzZW5kZXQ6IE1vbnRhZywgMTIuIE9rdG9iZXIgMjAyNiAxODoxNw0KQW46IEbDpHJi ZXIsIEZyYW56LUpvc2VmIChTdE1VSykgPEZyYW56LUpvc2VmLkZhZXJiZXJAc3RtdWsuYmF5ZXJu LmRlPjsgTGF1cmVueiBBbGJlIDxsYXVyZW56LmFsYmVAY3liZXJ0ZWMuYXQ+OyBwZ3NxbC1nZW5l cmFsQHBvc3RncmVzcWwub3JnDQpDYzogSGF1cHQsIE1hdHRoaWFzIChTdE1VSykgPE1hdHRoaWFz LkhhdXB0QHN0bXVrLmJheWVybi5kZT4NCkJldHJlZmY6IFJlOiBBVzogV2h5IGlzIG1hdGVyaWFs aXplZCB2aWV3IGNyZWF0aW9uIGEgInNlY3VyaXR5LXJlc3RyaWN0ZWQgb3BlcmF0aW9uIj8NCg0K DQoNCk9uIDEwLzEyLzI2IDc6NTkgQU0sIEbDpHJiZXIsIEZyYW56LUpvc2VmIChTdE1VSykgd3Jv dGU6DQo+IFNvcnJ5IGZvciBteSBsYXRlIHJlcGx5LiBUaGFua3MgZm9yIHBvaW50aW5nIHNvbWUg c3R1ZmYgb3V0Lg0KPiANCj4+IE90aGVyIHRoYW4gdGhhdCwgeW91IGNvdWxkIHVzZSBhIHZhcmlh YmxlIHRoYXQgaXMgYW4gYXJyYXkgb2YgdGFibGUgcm93cyAoZGVjbGFyZWQgYXMgbXlfdGFibGVb XSkuDQo+IEEgYml0IGNsdW1zeSBidXQgeWVzLCB0aGFuayB5b3UuDQo+IA0KPiBJIGFwcHJlY2lh dGUgUG9zdGdyZVNRTCwgYnV0IHdoYXQgc29tZXRpbWVzIGJhZmZsZXMgbWUgaXMgdGhhdCBTUUwg KG9yIGlzIGl0IFBvc3RncmVTUUwpIGlzIC4uLiB3aGF0IHNob3VsZCBJIGNhbGwgaXQ/IExhY2tp bmcgbW9kdWxhcml0eSAvIG9ydGhvZ29uYWxpdHk/IFNpbXBseSBwdXQ6IFdoZW4geW91IHdhbnQg dG8gY29tYmluZSBkaWZmZXJlbnQgcGFydHMsIHlvdSB3aWxsIG1lZXQgb2JzdGFjbGVzLiBNb3Jl IG9ic3RhY2xlcyB0aGFuIG9uZSBpcyBhY2N1c3RvbWVkIHRvIHdoZW4gY29taW5nIGZyb20gb3Ro ZXIgbGFuZ3VhZ2VzLiBJbXBlcmF0aXZlIG9yIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcgbGFuZ3Vh Z2VzLCB0aGF0IGlzLg0KPiANCj4gSWYgSSBuZWVkIHNvbWUgdGVtcG9yYXJ5IHNwYWNlIGZvciBz dHJ1Y3R1cmVkIGRhdGEgYW5kIGFtIHJlc3RyaWN0ZWQgdG8gYXZvaWQgYSB0ZW1wIHRhYmxlOyBp ZiBJIGFtIHRoZW4gZm9yY2VkIHRvIHVzZSBhIGdsb2JhbCB0YWJsZSAod2hpY2ggbm90IG9ubHkg Y2FuIGJlIHNlZW4gaW4gb3RoZXIgY29ubmVjdGlvbnMsIGJ1dCBtaWdodCBpbnRyb2R1Y2UgY29u Y3VycmVuY3kgaXNzdWVzKS4gVGhlbiB3b3JrIGFyb3VuZCB1c2luZyBhcnJheXMuIElmIGV2ZW4g YXBwbGljYWJsZS4NCj4gDQo+IEJlY2F1c2Ugd2hhdCBJIGhhdmVuJ3Qgc2FpZCB5ZXQgYW5kIHNo b3VsZCBhZG1pdCBub3csIHRoZSB0ZW1wIHRhYmxlIGdldHMgZmlsbGVkIHdpdGggQ09QWSAuLi4g RlJPTSBQUk9HUkFNLg0KPiANCj4gVGhlIG5leHQgb2JzdGFjbGUgd2hpY2ggb2NjdXJzIHN0cmFu Z2VseSB0byBtZSBpcyB0aGF0IENPUFkgLi4uIEZST00gUFJPR1JBTSBvbmx5IGNhbiBkdW1wIGRh dGEgaW50byB0YWJsZXMuIE9uZSBjYW5ub3QgdXNlIGl0IGxpa2Ugb3RoZXIgdGFibGUtbGlrZSBv YmplY3RzLCBsaWtlIGEgdmlldywgT25lIGNhbm5vdCBDT1BZIC4uLiBGUk9NIFBST0dSQU0gaW50 byBhbiBhcnJheS4NCj4gDQo+IFBvc3RncmVzIG9mZmVycyBhZ2FpbiBubyBmZWFzaWJsZSB3YXkg Zm9yIHdoYXQgSSB3YXMgdHJ5aW5nIHRvIGFyY2hpZXZlLg0KPiANCj4gDQo+IE9rLCBJIHRoaW5r IHNvbWUgcGVvcGxlIGdldCB0aGUgcG9pbnQgdGhhdCBJIGNsYWltIFNRTCAvIFBvc3RncmVzIGlz IGxhY2tpbmcgbW9kdWxhcml0eSAvIG9ydGhvZ29uYWxpdHkgaW4gdGhlIHdheSBhcyBJIHRyaWVk IHRvIGRlZmluZSBhYm92ZS4NCj4gDQo+IEFuZCBJIHRoaW5rIHNvbWUgcGVvcGxlIHdhbnQgdG8g ZGl2ZSBpbnRvIG15IHNwZWNpYWwgdXNlIGNhc2UsIHBlcmhhcHMgY29uc2lkZXIgaXQgYXMga2lu ZC1vZi1pbnNhbmUuIFNvIGxldCBtZSBleHBsYWluLiBBbmQgcGVyaGFwcyBzb21lYm9keSBjYW4g Z2l2ZSBnb29kIGFkdmljZS4NCg0KU29tZXRoaW5nIGxpa2UgdGhpczoNCg0KY2F0IHRlc3QuY3N2 DQppZCx0eXBlLGFjdGl2ZQ0KMSxkb2csdA0KMixjYXQsZg0KMyxmaXNoLHQNCg0KZHVja2RiDQpE dWNrREIgdjEuNC40IChBbmRpdW0pIDZkZGFjODAyZmYNCkVudGVyICIuaGVscCIgZm9yIHVzYWdl IGhpbnRzLg0KQ29ubmVjdGVkIHRvIGEgdHJhbnNpZW50IGluLW1lbW9yeSBkYXRhYmFzZS4NClVz ZSAiLm9wZW4gRklMRU5BTUUiIHRvIHJlb3BlbiBvbiBhIHBlcnNpc3RlbnQgZGF0YWJhc2UuDQpE DQpEIGNyZWF0ZSB0ZW1wIHRhYmxlIHRlc3RfdGJsIGFzIHNlbGVjdCAqIGZyb20gJ3Rlc3QuY3N2 JzsgRCBzZWxlY3QgKiBmcm9tIHRlc3RfdGJsOyDilIzilIDilIDilIDilIDilIDilIDilIDilKzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDi lJANCuKUgiAgaWQgICDilIIgIHR5cGUgICDilIIgYWN0aXZlICDilIINCuKUgiBpbnQ2NCDilIIg dmFyY2hhciDilIIgYm9vbGVhbiDilIINCuKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpA0K 4pSCICAgICAxIOKUgiBkb2cgICAgIOKUgiB0cnVlICAgIOKUgg0K4pSCICAgICAyIOKUgiBjYXQg ICAgIOKUgiBmYWxzZSAgIOKUgg0K4pSCICAgICAzIOKUgiBmaXNoICAgIOKUgiB0cnVlICAgIOKU gg0K4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYDQoNCk5vdCBleGFjdGx5IHN1cmUgaG93 IHRoaXMgbWlnaHQgZml0IGludG8geW91ciBzY2hlbWUsIHNlZSBiZWxvdyBmb3IgbW9yZQ0KaW5m b3JtYXRpb246DQoNCmh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2N1cnJlbnQvZGF0YS9vdmVydmll dw0KaHR0cHM6Ly9kdWNrZGIub3JnL2RvY3MvY3VycmVudC9kYXRhL2Nzdi9vdmVydmlldw0KDQpo dHRwczovL2R1Y2tkYi5vcmcvZG9jcy9jdXJyZW50L2NsaWVudHMvb3ZlcnZpZXcNCg0KaHR0cHM6 Ly9kdWNrZGIub3JnL2RvY3MvY3VycmVudC9jb3JlX2V4dGVuc2lvbnMvcG9zdGdyZXMvb3ZlcnZp ZXcNCg0KPiANCj4gKiBJIGFtIHJ1bm5pbmcgUG9zdGdyZXMgaW4gYSBjb250YWluZXIuDQo+ICog SSBhbSB1c2luZyBodHRwczovL2dpdGh1Yi5jb20vcHJhbXNleS9wZ3NxbC1odHRwIHRvIHF1ZXJ5 IFJFU1Qgc2VydmljZXMgdXNpbmcgY3JlZGVudGlhbHMuDQo+ICogSSB0b29rIGl0IGFzIGdvb2Qg YWR2aWNlIHRvIHBhc3MgZW52aXJvbm1lbnQgdmFyaWFibGVzIGludG8gdGhlIGNvbnRhaW5lciwg YW5kIHRvIHBhc3MgcGFzc3dvcmRzIGFzIHNpbmdsZSBmaWxlcywgaW4gbW91bnRlZCBjb250YWlu ZXIgZGlyZWN0b3J5IC9ydW4vc2VjcmV0cy8gLg0KPiAqIEluc2lkZSBwb3N0Z3JlcyBJIGFtIHRy eWluZyB0byBsb2FkIHRoYXQgZGF0YSwgdXNpbmcgbWVtb2l6YXRpb24gcGF0dGVybi4gRm9yIGV4 YW1wbGUgdXNpbmcgQ1JFQVRFIFRFTVAgVEFCTEUgeCAuLi47IENPUFkgeCAuLi4gRlJPTSBQUk9H UkFNICdjYXQgL3J1bi9zZWNyZXRzL215cGFzc3dvcmQnLiBUaGlzIHBhcnQgaXMgZW5jYXBzdWxh dGVkIGFzIGEgZnVuY3Rpb24uDQo+IA0KPiAqIE5vdyB0aGVyZSB3YXMgb25lIHBvaW50IHdoZXJl IEkgd2FzIHVzaW5nIGEgTUFURVJJQUxJWkVEIFZJRVcgYWNjZXNzaW5nIHRoYXQgZnVuY3Rpb24u IEFuZCB3ZWxsLCB0aGF0IGZhaWxlZC4NCj4gDQo+IA0KPiBXaGF0IEkgQ09VTEQgZG8gaXMgcmVw bGFjZSBDT1BZIHggLi4uIEZST00gUFJPR1JBTSB3aXRoIGEgZmlsZV9mZHcgRk9SRUlHTiBUQUJM RSwgYnV0IHRoaXMgd2F5IGl0IGlzbid0IHBhcmFtZXRyaXphYmxlLiBJIHdvdWxkIGhhdmUgdG8g Y3JlYXRlIGFzIG1hbnkgZm9yZWlnbiB0YWJsZXMgYXMgSSBoYXZlIHBhc3N3b3JkcyAvIGVudmly b25tZW50IHZhcmlhYmxlcywgSSB0aGluay4NCj4gDQo+IA0KPiBSZWdhcmRzLA0KPiBGcmFuei1K b3NlZiBGw6RyYmVyDQo+IA0KPiAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tDQo+ IFZvbjogTGF1cmVueiBBbGJlIDxsYXVyZW56LmFsYmVAY3liZXJ0ZWMuYXQ+DQo+IEdlc2VuZGV0 OiBEb25uZXJzdGFnLCAxLiBPa3RvYmVyIDIwMjYgMjI6MTMNCj4gQW46IEbDpHJiZXIsIEZyYW56 LUpvc2VmIChTdE1VSykgPEZyYW56LUpvc2VmLkZhZXJiZXJAc3RtdWsuYmF5ZXJuLmRlPjsgDQo+ IHBnc3FsLWdlbmVyYWxAcG9zdGdyZXNxbC5vcmcNCj4gQ2M6IEhhdXB0LCBNYXR0aGlhcyAoU3RN VUspIDxNYXR0aGlhcy5IYXVwdEBzdG11ay5iYXllcm4uZGU+DQo+IEJldHJlZmY6IFJlOiBXaHkg aXMgbWF0ZXJpYWxpemVkIHZpZXcgY3JlYXRpb24gYSAic2VjdXJpdHktcmVzdHJpY3RlZCBvcGVy YXRpb24iPw0KPiANCj4gT24gVGh1LCAyMDI2LTEwLTAxIGF0IDEzOjExICswMDAwLCBGw6RyYmVy LCBGcmFuei1Kb3NlZiAoU3RNVUspIHdyb3RlOg0KPj4gc29tZSBxdWVzdGlvbnMgYWJvdXQgdGhp cyA5LXllYXItb2xkIHBvc3QgYmVsb3cuDQo+PiBbDQo+PiBodHRwczovL3Bvc3Rnci5lcy9tL2Zs YXQvQ0FGQm9SemY2SHdGZzFqb3ZkT3JidEM2eDR4S1ZfXy10NUVqU3piWTIwNjgNCj4+IFMNCj4+ IDAxcGNUZyU0MG1haWwuZ21haWwuY29tIF0NCj4+DQo+PiBJIGFsc28gc3R1bWJsZWQgb3ZlciBh IHNpbWlsYXIgY2FzZSBhcyB0aGUgZmFpbGluZw0KPj4NCj4+IENSRUFURSBNQVRFUklBTElaRUQg VklFVyBzb21lX3ZpZXcgQVMgU0VMRUNUICogRlJPTSBteV9mdW5jKCk7DQo+Pg0KPj4gLiB3aGVy ZSBteV9mdW5jIHRyaWVzIHRvIGNyZWF0ZSBhIHRlbXAgdGFibGUuDQo+Pg0KPj4gV2hlbiB3cml0 aW5nIGFuIGFyYml0cmFyaWx5IGNvbXBsZXggZnVuY3Rpb24gbXlfZnVuYywgSSBjbGFpbSB0aGVy ZSANCj4+IGFyZSBjYXNlcyB3aGVuIHlvdSB3YW50IHRvIHN0b3JlIGludGVybWVkaWF0ZSByZXN1 bHRzIGludG8gdmFyaWFibGVzLiBBbmQgd2hhdCBpZiB0aGUgaW50ZXJtZWRpYXRlIHJlc3VsdHMg YXJlIHRhYmxlcz8NCj4+IFdlbGwsIFBvc3RncmVzL3BscGdzcWwgZG9lcyBub3Qgc3VwcG9ydCB0 YWJsZS12YWx1ZWQgdmFyaWFibGVzLCBzbyB0aGUgbmV4dCBiZXN0IGNob2ljZSBhcmUgdGVtcCB0 YWJsZXMuDQo+PiBCdXQgaGVyZSB3ZSBoYXZlOiBDcmVhdGluZyB0ZW1wIHRhYmxlcyBpcyBmb3Ji aWRkZW4gaW5zaWRlIGEgbWF0IHZpZXcsIHNlZSB0aGUgbWFpbCBiZWxvdy4NCj4+IEJlY2F1c2Ug d2UgbWlnaHQgaGF2ZSBhIHNpZGUgZWZmZWN0ICgiY2hhbmdlIG9mIHNlZXNpb24gc3RhdGUiKTog VGhlIGNyZWF0aW9uIG9mIHRoaXMgdmVyeSB0ZW1wIHRhYmxlLg0KPj4NCj4+IFdoYXQgdG8gZG8g bm93PyBXZWxsIGl0IHR1cm5zIG91dCBJIGFjdHVhbGx5IENBTiBjcmVhdGUgYSBOT04tdGVtcCAN Cj4+IHRhYmxlLiBJcyB0aGF0IHdoYXQgeW91IHdhbnQgbWUgdG8gZG8/IFJlYWxseT8gSXNuJ3Qg dGhpcyB0aGUgYmlnZ2VyIHNpZGUgZWZmZWN0OiBDcmVhdGluZyBhIHRhYmxlPw0KPj4NCj4+IEl0 IGFjdHVhbGx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gbWUsIHJlc3RyaWN0aW5nIG9uZSBlZmZl Y3QsIHdoaWxlIGFsbG93aW5nIHRoZSBtdWNoIGJpZ2dlciBlZmZlY3QuDQo+IA0KPiBDcmVhdGlu ZyBhIHRlbXBvcmFyeSB0YWJsZSBhbmQgY3JlYXRpbmcgYSBwZXJtYW5lbnQgdGFibGUgYXJlIG5v dCB0aGUgc2FtZSB0aGluZzoNCj4gDQo+IC0gaXQgcmVxdWlyZXMgZGlmZmVyZW50IHBlcm1pc3Np b25zOiBURU1QIG9uIHRoZSBkYXRhYmFzZSAod2hpY2ggaXMgZ3JhbnRlZCB0byBQVUJMSUMNCj4g ICAgYnkgZGVmYXVsdCkgYW5kIENSRUFURSBvbiBhIHNjaGVtYSAod2hpY2ggb25seSB0aGUgb3du ZXIgaGFzIGJ5IA0KPiBkZWZhdWx0KQ0KPiANCj4gLSB0aGUgdGVtcG9yYXJ5IHNjaGVtYSBieSBk ZWZhdWx0IGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlYXJjaF9wYXRoLCBzbyBpdCBjYW4N Cj4gICAgZWFzaWx5IHNoYWRvdyBvYmplY3RzIGluIG90aGVyIHNjaGVtYXMNCj4gDQo+PiAqIFdo YXQgSSBhY3R1YWxseSBuZWVkZWQgaXMgYSB0YWJsZS12YWx1ZWQgdmFyaWFibGUuIE9uZSBJIGNh biB1c2UgaW5zaWRlIG15IGZ1bmN0aW9uLiBXaGljaCBzaGFsbA0KPj4gICAgYWxzbyBiZSBsb2Nh bC91bmlxdWUgKGkuIGUuIG5vdCBiZWluZyB1c2VkIGJ5IGNvbmN1cnJlbnQgdXNlcnMgb3Igc2Vz c2lvbnMsIG9yIGV2ZW4gaW4gdGhlIGNhbGwNCj4+ICAgIHN0YWNrIG9mIHRoZSB2ZXJ5IHNhbWUg c2Vzc2lvbikuDQo+Pg0KPj4gKiBUaGUgbmV4dCBiZXN0IHRoaW5nIHdvdWxkIGJlIGEgdGVtcCB0 YWJsZSwgbG9jYWwvdW5pcXVlIGluIHRoZSBzZW5zZSBhcyBhYm92ZSwgdGhhdCBnZXRzIGRlc3Ry b3llZA0KPj4gICAgd2hlbiBsZWF2aW5nIHRoZSBmdW5jdGlvbi4NCj4+ICAgIEludmVudCBzb21l IENSRUFURSBURU1QIFRBQkxFIC4gT04gRVhJVCBGVU5DVElPTiBEUk9QPw0KPj4gICAgKC5hbmQg d291bGRuJ3QgdGhhdCBiZSBxdWl0ZSBlcXVpdmFsZW50IHRvIHRhYmxlLXZhbHVlZCANCj4+IHZh cmlhYmxlcz8pDQo+Pg0KPj4gQW55IHN1Z2dlc3Rpb25zPw0KPiANCj4gSWYgeW91IHVzZSBhIHBl cm1hbmVudCB0YWJsZSBpbnN0ZWFkLCBJIHJlY29tbWVuZCBhbiBVTkxPR0dFRCB0YWJsZS4NCj4g DQo+IE90aGVyIHRoYW4gdGhhdCwgeW91IGNvdWxkIHVzZSBhIHZhcmlhYmxlIHRoYXQgaXMgYW4g YXJyYXkgb2YgdGFibGUgcm93cyAoZGVjbGFyZWQgYXMgbXlfdGFibGVbXSkuDQo+IA0KPiBZb3Vy cywNCj4gTGF1cmVueiBBbGJlDQoNCg==