From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 683621FF179 for ; Wed, 12 Nov 2025 11:35:09 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B45181E7F3; Wed, 12 Nov 2025 11:35:56 +0100 (CET) From: Lukas Wagner To: pdm-devel@lists.proxmox.com Date: Wed, 12 Nov 2025 11:35:00 +0100 Message-ID: <20251112103510.158127-2-l.wagner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251112103510.158127-1-l.wagner@proxmox.com> References: <20251112103510.158127-1-l.wagner@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1762943695218 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.971 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_MAILER 2 Automated Mailer Tag Left in Email SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pdm-devel] [PATCH datacenter-manager v4 01/11] pdm-api-types: views: add ViewConfig type X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" VGhpcyB0eXBlIHdpbGwgYmUgdXNlZCB0byBkZWZpbmUgdmlld3MuCgpTaWduZWQtb2ZmLWJ5OiBM dWthcyBXYWduZXIgPGwud2FnbmVyQHByb3htb3guY29tPgpSZXZpZXdlZC1ieTogTWljaGFlbCBL w7ZwcGwgPG0ua29lcHBsQHByb3htb3guY29tPgotLS0KCk5vdGVzOgogICAgQ2hhbmdlcyBzaW5j ZSB2MjoKICAgICAgLSB1c2UgQXBpU2VjdGlvbkRhdGFFbnRyeSwgYXMgc3VnZ2VzdGVkIGJ5IERv bWluaWsKICAgICAgLSBSZW5hbWVkIFZpZXdGaWx0ZXIqIC0+IFZpZXcqCiAgICAgIC0gVXNlIFNB RkVfSURfRk9STUFUIHRvIGNoZWNrIGZpbHRlciB2YWx1ZXMgd2hlcmUgcG9zc2libGUKICAgIAog ICAgQ2hhbmdlcyBzaW5jZSBSRkM6CiAgICAgIC0gQ2hhbmdlIGNvbmZpZyBzdHJ1Y3R1cmUsIGlu c3RlYWQgb2YgJ2luY2x1ZGUte3h9IHZhbHVlJyB3ZSBub3cgZG8KICAgICAgICAnaW5jbHVkZSB7 eH06dmFsdWUnCgogbGliL3BkbS1hcGktdHlwZXMvc3JjL2xpYi5ycyAgIHwgICA4ICsrCiBsaWIv cGRtLWFwaS10eXBlcy9zcmMvdmlld3MucnMgfCAyMDIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDIxMCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbGliL3BkbS1hcGktdHlwZXMvc3JjL3ZpZXdzLnJzCgpkaWZmIC0tZ2l0IGEvbGli L3BkbS1hcGktdHlwZXMvc3JjL2xpYi5ycyBiL2xpYi9wZG0tYXBpLXR5cGVzL3NyYy9saWIucnMK aW5kZXggZWU0ZGZiMmIuLjIwMzI3YWJhIDEwMDY0NAotLS0gYS9saWIvcGRtLWFwaS10eXBlcy9z cmMvbGliLnJzCisrKyBiL2xpYi9wZG0tYXBpLXR5cGVzL3NyYy9saWIucnMKQEAgLTEwNiw2ICsx MDYsOCBAQCBwdWIgbW9kIHN1YnNjcmlwdGlvbjsKIAogcHViIG1vZCBzZG47CiAKK3B1YiBtb2Qg dmlld3M7CisKIGNvbnN0X3JlZ2V4ISB7CiAgICAgLy8ganVzdCBhIHJvdWdoIGNoZWNrIC0gZHVt bXkgYWNjZXB0b3IgaXMgdXNlZCBiZWZvcmUgcGVyc2lzdGluZwogICAgIHB1YiBPUEVOU1NMX0NJ UEhFUlNfUkVHRVggPSByIl5bMC05QS1aYS16XzosICshXC1APS5dKyQiOwpAQCAtMTUzLDYgKzE1 NSwxMiBAQCBwdWIgY29uc3QgUkVBTE1fSURfU0NIRU1BOiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6 Om5ldygiUmVhbG0gbmFtZS4iKQogICAgIC5tYXhfbGVuZ3RoKDMyKQogICAgIC5zY2hlbWEoKTsK IAorcHViIGNvbnN0IFZJRVdfSURfU0NIRU1BOiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6Om5ldygi VmlldyBuYW1lLiIpCisgICAgLmZvcm1hdCgmUFJPWE1PWF9TQUZFX0lEX0ZPUk1BVCkKKyAgICAu bWluX2xlbmd0aCgyKQorICAgIC5tYXhfbGVuZ3RoKDMyKQorICAgIC5zY2hlbWEoKTsKKwogcHVi IGNvbnN0IFZNSURfU0NIRU1BOiBTY2hlbWEgPSBJbnRlZ2VyU2NoZW1hOjpuZXcoIkEgZ3Vlc3Qg SUQiKS5taW5pbXVtKDEpLnNjaGVtYSgpOwogcHViIGNvbnN0IFNOQVBTSE9UX05BTUVfU0NIRU1B OiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6Om5ldygiVGhlIG5hbWUgb2YgdGhlIHNuYXBzaG90IikK ICAgICAuZm9ybWF0KCZQUk9YTU9YX1NBRkVfSURfRk9STUFUKQpkaWZmIC0tZ2l0IGEvbGliL3Bk bS1hcGktdHlwZXMvc3JjL3ZpZXdzLnJzIGIvbGliL3BkbS1hcGktdHlwZXMvc3JjL3ZpZXdzLnJz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4yYmVkNjhmMwotLS0gL2Rldi9u dWxsCisrKyBiL2xpYi9wZG0tYXBpLXR5cGVzL3NyYy92aWV3cy5ycwpAQCAtMCwwICsxLDIwMiBA QAordXNlIHN0ZDo6e2ZtdDo6RGlzcGxheSwgc3RyOjpGcm9tU3RyLCBzeW5jOjpPbmNlTG9ja307 CisKK3VzZSBhbnlob3c6OmJhaWw7Cit1c2UgcHJveG1veF9zZWN0aW9uX2NvbmZpZzo6e3R5cGVk OjpBcGlTZWN0aW9uRGF0YUVudHJ5LCBTZWN0aW9uQ29uZmlnLCBTZWN0aW9uQ29uZmlnUGx1Z2lu fTsKK3VzZSBzZXJkZTo6e0Rlc2VyaWFsaXplLCBTZXJpYWxpemV9OworCit1c2UgcHJveG1veF9z Y2hlbWE6OnthcGksIEFwaVN0cmluZ0Zvcm1hdCwgQXBpVHlwZSwgQXJyYXlTY2hlbWEsIFNjaGVt YSwgU3RyaW5nU2NoZW1hLCBVcGRhdGVyfTsKKwordXNlIGNyYXRlOjp7CisgICAgcmVtb3Rlczo6 UkVNT1RFX0lEX1NDSEVNQSwgcmVzb3VyY2U6OlJlc291cmNlVHlwZSwgUFJPWE1PWF9TQUZFX0lE X1JFR0VYLCBWSUVXX0lEX1NDSEVNQSwKK307CisKKy8vLyBTY2hlbWEgZm9yIGZpbHRlciBydWxl cy4KK3B1YiBjb25zdCBGSUxURVJfUlVMRV9TQ0hFTUE6IFNjaGVtYSA9IFN0cmluZ1NjaGVtYTo6 bmV3KCJGaWx0ZXIgcnVsZSBmb3IgcmVzb3VyY2VzLiIpCisgICAgLmZvcm1hdCgmQXBpU3RyaW5n Rm9ybWF0OjpWZXJpZnlGbih2ZXJpZnlfZmlsdGVyX3J1bGUpKQorICAgIC50eXBlX3RleHQoCisg ICAgICAgICJyZXNvdXJjZS10eXBlOjxzdG9yYWdlfHFlbXV8bHhjfHNkbi16b25lfGRhdGFzdG9y ZXxub2RlPlwKKyAgICAgICAgICAgIHxyZXNvdXJjZS1wb29sOjxwb29sLW5hbWU+XAorICAgICAg ICAgICAgfHRhZzo8dGFnLW5hbWU+XAorICAgICAgICAgICAgfHJlbW90ZTo8cmVtb3RlLW5hbWU+ XAorICAgICAgICAgICAgfHJlc291cmNlLWlkOjxyZXNvdXJjZS1pZD4iLAorICAgICkKKyAgICAu c2NoZW1hKCk7CisKKy8vLyBTY2hlbWEgZm9yIGxpc3Qgb2YgZmlsdGVyIHJ1bGVzLgorcHViIGNv bnN0IEZJTFRFUl9SVUxFX0xJU1RfU0NIRU1BOiBTY2hlbWEgPQorICAgIEFycmF5U2NoZW1hOjpu ZXcoIkxpc3Qgb2YgZmlsdGVyIHJ1bGVzLiIsICZGSUxURVJfUlVMRV9TQ0hFTUEpLnNjaGVtYSgp OworCisjW2FwaSgKKyAgICBwcm9wZXJ0aWVzOiB7CisgICAgICAgICJpZCI6IHsKKyAgICAgICAg ICAgIHNjaGVtYTogVklFV19JRF9TQ0hFTUEsCisgICAgICAgIH0sCisgICAgICAgICJpbmNsdWRl IjogeworICAgICAgICAgICAgc2NoZW1hOiBGSUxURVJfUlVMRV9MSVNUX1NDSEVNQSwKKyAgICAg ICAgICAgIG9wdGlvbmFsOiB0cnVlLAorICAgICAgICB9LAorICAgICAgICAiZXhjbHVkZSI6IHsK KyAgICAgICAgICAgIHNjaGVtYTogRklMVEVSX1JVTEVfTElTVF9TQ0hFTUEsCisgICAgICAgICAg ICBvcHRpb25hbDogdHJ1ZSwKKyAgICAgICAgfQorICAgIH0KKyldCisjW2Rlcml2ZShDbG9uZSwg RGVidWcsIERlZmF1bHQsIERlc2VyaWFsaXplLCBTZXJpYWxpemUsIFVwZGF0ZXIsIFBhcnRpYWxF cSldCisjW3NlcmRlKHJlbmFtZV9hbGwgPSAia2ViYWItY2FzZSIpXQorLy8vIFZpZXcgZGVmaW5p dGlvbgorcHViIHN0cnVjdCBWaWV3Q29uZmlnIHsKKyAgICAvLy8gVmlldyBuYW1lLgorICAgICNb dXBkYXRlcihza2lwKV0KKyAgICBwdWIgaWQ6IFN0cmluZywKKworICAgIC8vLyBMaXN0IG9mIGlu Y2x1ZGVzLgorICAgICNbc2VyZGUoZGVmYXVsdCwgc2tpcF9zZXJpYWxpemluZ19pZiA9ICJWZWM6 OmlzX2VtcHR5IildCisgICAgI1t1cGRhdGVyKHNlcmRlKHNraXBfc2VyaWFsaXppbmdfaWYgPSAi T3B0aW9uOjppc19ub25lIikpXQorICAgIHB1YiBpbmNsdWRlOiBWZWM8RmlsdGVyUnVsZT4sCisK KyAgICAvLy8gTGlzdCBvZiBleGNsdWRlcy4KKyAgICAjW3NlcmRlKGRlZmF1bHQsIHNraXBfc2Vy aWFsaXppbmdfaWYgPSAiVmVjOjppc19lbXB0eSIpXQorICAgICNbdXBkYXRlcihzZXJkZShza2lw X3NlcmlhbGl6aW5nX2lmID0gIk9wdGlvbjo6aXNfbm9uZSIpKV0KKyAgICBwdWIgZXhjbHVkZTog VmVjPEZpbHRlclJ1bGU+LAorfQorCisjW2Rlcml2ZShDbG9uZSwgRGVidWcsIERlc2VyaWFsaXpl LCBTZXJpYWxpemUsIFBhcnRpYWxFcSldCisjW3NlcmRlKHJlbmFtZV9hbGwgPSAia2ViYWItY2Fz ZSIpXQorLy8vIEVudW0gZm9yIHRoZSBkaWZmZXJlbnQgc2VjdGlvbnMgaW4gdGhlICd2aWV3cy5j ZmcnIGZpbGUuCitwdWIgZW51bSBWaWV3Q29uZmlnRW50cnkgeworICAgIC8vLyAndmlldycgc2Vj dGlvbgorICAgIFZpZXcoVmlld0NvbmZpZyksCit9CisKK2NvbnN0IFZJRVdfU0VDVElPTl9OQU1F OiAmc3RyID0gInZpZXciOworCitpbXBsIEFwaVNlY3Rpb25EYXRhRW50cnkgZm9yIFZpZXdDb25m aWdFbnRyeSB7CisgICAgZm4gc2VjdGlvbl9jb25maWcoKSAtPiAmJ3N0YXRpYyBTZWN0aW9uQ29u ZmlnIHsKKyAgICAgICAgc3RhdGljIENPTkZJRzogT25jZUxvY2s8U2VjdGlvbkNvbmZpZz4gPSBP bmNlTG9jazo6bmV3KCk7CisKKyAgICAgICAgQ09ORklHLmdldF9vcl9pbml0KHx8IHsKKyAgICAg ICAgICAgIGxldCBtdXQgdGhpcyA9IFNlY3Rpb25Db25maWc6Om5ldygmVklFV19JRF9TQ0hFTUEp OworCisgICAgICAgICAgICB0aGlzLnJlZ2lzdGVyX3BsdWdpbihTZWN0aW9uQ29uZmlnUGx1Z2lu OjpuZXcoCisgICAgICAgICAgICAgICAgVklFV19TRUNUSU9OX05BTUUuaW50bygpLAorICAgICAg ICAgICAgICAgIFNvbWUoImlkIi50b19zdHJpbmcoKSksCisgICAgICAgICAgICAgICAgVmlld0Nv bmZpZzo6QVBJX1NDSEVNQS51bndyYXBfb2JqZWN0X3NjaGVtYSgpLAorICAgICAgICAgICAgKSk7 CisgICAgICAgICAgICB0aGlzCisgICAgICAgIH0pCisgICAgfQorCisgICAgZm4gc2VjdGlvbl90 eXBlKCZzZWxmKSAtPiAmJ3N0YXRpYyBzdHIgeworICAgICAgICBtYXRjaCBzZWxmIHsKKyAgICAg ICAgICAgIFZpZXdDb25maWdFbnRyeTo6VmlldyhfKSA9PiBWSUVXX1NFQ1RJT05fTkFNRSwKKyAg ICAgICAgfQorICAgIH0KK30KKworI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBQYXJ0aWFsRXEpXQor Ly8vIEZpbHRlciBydWxlIGZvciBpbmNsdWRlcy9leGNsdWRlcy4KK3B1YiBlbnVtIEZpbHRlclJ1 bGUgeworICAgIC8vLyBNYXRjaCBhIHJlc291cmNlIHR5cGUuCisgICAgUmVzb3VyY2VUeXBlKFJl c291cmNlVHlwZSksCisgICAgLy8vIE1hdGNoIGEgcmVzb3VyY2UgcG9vbHMgKGZvciBQVkUgZ3Vl c3RzKS4KKyAgICBSZXNvdXJjZVBvb2woU3RyaW5nKSwKKyAgICAvLy8gTWF0Y2ggYSAoZ2xvYmFs KSByZXNvdXJjZSBJRCwgZS5nLiAncmVtb3RlLzxyZW1vdGU+L2d1ZXN0Lzx2bWlkPicuCisgICAg UmVzb3VyY2VJZChTdHJpbmcpLAorICAgIC8vLyBNYXRjaCBhIHRhZyAoZm9yIFBWRSBndWVzdHMp LgorICAgIFRhZyhTdHJpbmcpLAorICAgIC8vLyBNYXRjaCBhIHJlbW90ZS4KKyAgICBSZW1vdGUo U3RyaW5nKSwKK30KKworaW1wbCBGcm9tU3RyIGZvciBGaWx0ZXJSdWxlIHsKKyAgICB0eXBlIEVy ciA9IGFueWhvdzo6RXJyb3I7CisKKyAgICBmbiBmcm9tX3N0cihzOiAmc3RyKSAtPiBSZXN1bHQ8 U2VsZiwgU2VsZjo6RXJyPiB7CisgICAgICAgIE9rKG1hdGNoIHMuc3BsaXRfb25jZSgnOicpIHsK KyAgICAgICAgICAgIFNvbWUoKCJyZXNvdXJjZS10eXBlIiwgdmFsdWUpKSA9PiBGaWx0ZXJSdWxl OjpSZXNvdXJjZVR5cGUodmFsdWUucGFyc2UoKT8pLAorICAgICAgICAgICAgU29tZSgoInJlc291 cmNlLXBvb2wiLCB2YWx1ZSkpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAhUFJPWE1PWF9TQUZF X0lEX1JFR0VYLmlzX21hdGNoKHZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIGJhaWwhKCJp bnZhbGlkIHJlc291cmNlLXBvb2wgdmFsdWU6IHt2YWx1ZX0iKTsKKyAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgICAgRmlsdGVyUnVsZTo6UmVzb3VyY2VQb29sKHZhbHVlLnRvX3N0cmlu ZygpKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgU29tZSgoInJlc291cmNlLWlkIiwgdmFs dWUpKSA9PiB7CisgICAgICAgICAgICAgICAgLy8gVE9ETzogRGVmaW5lIHNjaGVtYSBhbmQgdXNl IGl0IGZvciB2YWxpZGF0aW9uLiBDYW4ndCB1c2UgUFJPWE1PWF9TQUZFX0lEX1JFR0VYCisgICAg ICAgICAgICAgICAgLy8gc2luY2UgaXQgZG9lcyBub3QgYWxsb3cgJy8nLgorCisgICAgICAgICAg ICAgICAgaWYgdmFsdWUuaXNfZW1wdHkoKSB7CisgICAgICAgICAgICAgICAgICAgIGJhaWwhKCJl bXB0eSByZXNvdXJjZS1pZCBydWxlIG5vdCBhbGxvd2VkIik7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICAgIEZpbHRlclJ1bGU6OlJlc291cmNlSWQodmFsdWUudG9fc3RyaW5nKCkp CisgICAgICAgICAgICB9CisgICAgICAgICAgICBTb21lKCgidGFnIiwgdmFsdWUpKSA9PiB7Cisg ICAgICAgICAgICAgICAgaWYgIVBST1hNT1hfU0FGRV9JRF9SRUdFWC5pc19tYXRjaCh2YWx1ZSkg eworICAgICAgICAgICAgICAgICAgICBiYWlsISgiaW52YWxpZCB0YWcgdmFsdWU6IHt2YWx1ZX0i KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgRmlsdGVyUnVsZTo6VGFnKHZh bHVlLnRvX3N0cmluZygpKQorICAgICAgICAgICAgfQorICAgICAgICAgICAgU29tZSgoInJlbW90 ZSIsIHZhbHVlKSkgPT4geworICAgICAgICAgICAgICAgIGxldCBfID0gUkVNT1RFX0lEX1NDSEVN QS5wYXJzZV9zaW1wbGVfdmFsdWUodmFsdWUpPzsKKyAgICAgICAgICAgICAgICBGaWx0ZXJSdWxl OjpSZW1vdGUodmFsdWUudG9fc3RyaW5nKCkpCisgICAgICAgICAgICB9CisgICAgICAgICAgICBT b21lKCh0eSwgXykpID0+IGJhaWwhKCJpbnZhbGlkIHR5cGU6IHt0eX0iKSwKKyAgICAgICAgICAg IE5vbmUgPT4gYmFpbCEoImludmFsaWQgZmlsdGVyIHJ1bGU6IHtzfSIpLAorICAgICAgICB9KQor ICAgIH0KK30KKworLy8gdXNlZCBmb3Igc2VyaWFsaXppbmcgYmVsb3csIGNhdXRpb24hCitpbXBs IERpc3BsYXkgZm9yIEZpbHRlclJ1bGUgeworICAgIGZuIGZtdCgmc2VsZiwgZjogJm11dCBzdGQ6 OmZtdDo6Rm9ybWF0dGVyPCdfPikgLT4gc3RkOjpmbXQ6OlJlc3VsdCB7CisgICAgICAgIG1hdGNo IHNlbGYgeworICAgICAgICAgICAgRmlsdGVyUnVsZTo6UmVzb3VyY2VUeXBlKHJlc291cmNlX3R5 cGUpID0+IHdyaXRlIShmLCAicmVzb3VyY2UtdHlwZTp7cmVzb3VyY2VfdHlwZX0iKSwKKyAgICAg ICAgICAgIEZpbHRlclJ1bGU6OlJlc291cmNlUG9vbChwb29sKSA9PiB3cml0ZSEoZiwgInJlc291 cmNlLXBvb2w6e3Bvb2x9IiksCisgICAgICAgICAgICBGaWx0ZXJSdWxlOjpSZXNvdXJjZUlkKGlk KSA9PiB3cml0ZSEoZiwgInJlc291cmNlLWlkOntpZH0iKSwKKyAgICAgICAgICAgIEZpbHRlclJ1 bGU6OlRhZyh0YWcpID0+IHdyaXRlIShmLCAidGFnOnt0YWd9IiksCisgICAgICAgICAgICBGaWx0 ZXJSdWxlOjpSZW1vdGUocmVtb3RlKSA9PiB3cml0ZSEoZiwgInJlbW90ZTp7cmVtb3RlfSIpLAor ICAgICAgICB9CisgICAgfQorfQorCitwcm94bW94X3NlcmRlOjpmb3J3YXJkX2Rlc2VyaWFsaXpl X3RvX2Zyb21fc3RyIShGaWx0ZXJSdWxlKTsKK3Byb3htb3hfc2VyZGU6OmZvcndhcmRfc2VyaWFs aXplX3RvX2Rpc3BsYXkhKEZpbHRlclJ1bGUpOworCitmbiB2ZXJpZnlfZmlsdGVyX3J1bGUoaW5w dXQ6ICZzdHIpIC0+IFJlc3VsdDwoKSwgYW55aG93OjpFcnJvcj4geworICAgIEZpbHRlclJ1bGU6 OmZyb21fc3RyKGlucHV0KS5tYXAofF98ICgpKQorfQorCisjW2NmZyh0ZXN0KV0KK21vZCB0ZXN0 IHsKKyAgICB1c2UgYW55aG93OjpFcnJvcjsKKworICAgIHVzZSBjcmF0ZTo6dmlld3M6OkZpbHRl clJ1bGU7CisKKyAgICBmbiBwYXJzZV9hbmRfY2hlY2tfZGlzcGxheShpbnB1dDogJnN0cikgLT4g UmVzdWx0PGJvb2wsIEVycm9yPiB7CisgICAgICAgIGxldCBydWxlOiBGaWx0ZXJSdWxlID0gaW5w dXQucGFyc2UoKT87CisKKyAgICAgICAgT2soaW5wdXQgPT0gZm9ybWF0ISgie3J1bGV9IikpCisg ICAgfQorCisgICAgI1t0ZXN0XQorICAgIGZuIHRlc3RfZmlsdGVyX3J1bGUoKSB7CisgICAgICAg IGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3BsYXkoImFiYyIpLmlzX2VycigpKTsKKyAgICAg ICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlzcGxheSgiYWJjOiIpLmlzX2VycigpKTsKKwor ICAgICAgICBhc3NlcnQhKHBhcnNlX2FuZF9jaGVja19kaXNwbGF5KCJyZXNvdXJjZS10eXBlOiIp LmlzX2VycigpKTsKKyAgICAgICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlzcGxheSgicmVz b3VyY2UtdHlwZTpseGMiKS51bndyYXAoKSk7CisgICAgICAgIGFzc2VydCEocGFyc2VfYW5kX2No ZWNrX2Rpc3BsYXkoInJlc291cmNlLXR5cGU6cWVtdSIpLnVud3JhcCgpKTsKKyAgICAgICAgYXNz ZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlzcGxheSgicmVzb3VyY2UtdHlwZTphYmMiKS5pc19lcnIo KSk7CisKKyAgICAgICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlzcGxheSgicmVzb3VyY2Ut cG9vbDoiKS5pc19lcnIoKSk7CisgICAgICAgIGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3Bs YXkoInJlc291cmNlLXBvb2w6c29tZXBvb2wiKS51bndyYXAoKSk7CisKKyAgICAgICAgYXNzZXJ0 IShwYXJzZV9hbmRfY2hlY2tfZGlzcGxheSgicmVzb3VyY2UtaWQ6IikuaXNfZXJyKCkpOworICAg ICAgICBhc3NlcnQhKHBhcnNlX2FuZF9jaGVja19kaXNwbGF5KCJyZXNvdXJjZS1pZDpyZW1vdGUv c29tZXJlbW90ZS9ndWVzdC8xMDAiKS51bndyYXAoKSk7CisKKyAgICAgICAgYXNzZXJ0IShwYXJz ZV9hbmRfY2hlY2tfZGlzcGxheSgidGFnOiIpLmlzX2VycigpKTsKKyAgICAgICAgYXNzZXJ0IShw YXJzZV9hbmRfY2hlY2tfZGlzcGxheSgidGFnOnNvbWV0YWciKS51bndyYXAoKSk7CisKKyAgICAg ICAgYXNzZXJ0IShwYXJzZV9hbmRfY2hlY2tfZGlzcGxheSgicmVtb3RlOnNvbWVyZW1vdGUiKS51 bndyYXAoKSk7CisgICAgICAgIGFzc2VydCEocGFyc2VfYW5kX2NoZWNrX2Rpc3BsYXkoInJlbW90 ZTphIikuaXNfZXJyKCkpOworICAgIH0KK30KLS0gCjIuNDcuMwoKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwZG0tZGV2ZWwgbWFpbGluZyBsaXN0CnBk bS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1i aW4vbWFpbG1hbi9saXN0aW5mby9wZG0tZGV2ZWwK