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 A99391FF183 for ; Wed, 16 Jul 2025 15:10:14 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 3D4ED1021E; Wed, 16 Jul 2025 15:09:24 +0200 (CEST) From: Gabriel Goller To: pve-devel@lists.proxmox.com Date: Wed, 16 Jul 2025 15:07:28 +0200 Message-Id: <20250716130837.585796-8-g.goller@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250716130837.585796-1-g.goller@proxmox.com> References: <20250716130837.585796-1-g.goller@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.014 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_SHORT 0.001 Use of a URL Shortener for very short URL RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH proxmox-ve-rs v5 02/22] sdn-types: initial commit X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" RnJvbTogU3RlZmFuIEhhbnJlaWNoIDxzLmhhbnJlaWNoQHByb3htb3guY29tPgoKVGhpcyBjcmF0 ZSBjb250YWlucyBTRE4gc3BlY2lmaWMgdHlwZXMsIHNvIHRoZXkgY2FuIGJlIHJlLXVzZWQgYWNy b3NzCm11bHRpcGxlIGNyYXRlcyAoVGhlIGluaXRpYWwgdXNlLWNhc2UgYmVpbmcgc2hhcmVkIHR5 cGVzIGJldHdlZW4KcHJveG1veC1mcnIgYW5kIHByb3htb3gtdmUtY29uZmlnKS4KClRoaXMgaW5p dGlhbCBjb21taXQgY29udGFpbnMgdHlwZXMgZm9yIHRoZSBmb2xsb3dpbmcgZW50aXRpZXM6Ciog T3BlbkZhYnJpYyBIZWxsbyBJbnRlcnZhbC9NdWx0aXBsaWVyIGFuZCBDU05QIEludGVydmFsCiog TmV0d29yayBFbnRpdHkgVGl0bGUgKHVzZWQgYXMgUm91dGVyIElEcyBpbiBJUy1JUyAvIE9wZW5G YWJyaWMpCiogT1NQRiBBcmVhCgpDby1hdXRob3JlZC1ieTogR2FicmllbCBHb2xsZXIgPGcuZ29s bGVyQHByb3htb3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gSGFucmVpY2ggPHMuaGFucmVp Y2hAcHJveG1veC5jb20+Ci0tLQogQ2FyZ28udG9tbCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMTAgKwogcHJveG1veC1zZG4tdHlwZXMvQ2FyZ28udG9tbCAgICAgICAgICAgfCAgMTgg KysKIHByb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jaGFuZ2Vsb2cgICAgIHwgICA1ICsKIHByb3ht b3gtc2RuLXR5cGVzL2RlYmlhbi9jb250cm9sICAgICAgIHwgIDUzICsrKysKIHByb3htb3gtc2Ru LXR5cGVzL2RlYmlhbi9jb3B5cmlnaHQgICAgIHwgIDE4ICsrCiBwcm94bW94LXNkbi10eXBlcy9k ZWJpYW4vZGViY2FyZ28udG9tbCB8ICAgNyArCiBwcm94bW94LXNkbi10eXBlcy9zcmMvYXJlYS5y cyAgICAgICAgICB8ICA2MyArKysrKwogcHJveG1veC1zZG4tdHlwZXMvc3JjL2xpYi5ycyAgICAg ICAgICAgfCAgIDMgKwogcHJveG1veC1zZG4tdHlwZXMvc3JjL25ldC5ycyAgICAgICAgICAgfCAz MjMgKysrKysrKysrKysrKysrKysrKysrKysrKwogcHJveG1veC1zZG4tdHlwZXMvc3JjL29wZW5m YWJyaWMucnMgICAgfCAgNzIgKysrKysrCiBwcm94bW94LXZlLWNvbmZpZy9DYXJnby50b21sICAg ICAgICAgICB8ICAgOCArLQogMTEgZmlsZXMgY2hhbmdlZCwgNTc2IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgcHJveG1veC1zZG4tdHlwZXMvQ2FyZ28u dG9tbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jaGFuZ2Vs b2cKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LXNkbi10eXBlcy9kZWJpYW4vY29udHJvbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jb3B5cmlnaHQKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBwcm94bW94LXNkbi10eXBlcy9kZWJpYW4vZGViY2FyZ28udG9tbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHByb3htb3gtc2RuLXR5cGVzL3NyYy9hcmVhLnJzCiBjcmVhdGUg bW9kZSAxMDA2NDQgcHJveG1veC1zZG4tdHlwZXMvc3JjL2xpYi5ycwogY3JlYXRlIG1vZGUgMTAw NjQ0IHByb3htb3gtc2RuLXR5cGVzL3NyYy9uZXQucnMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwcm94 bW94LXNkbi10eXBlcy9zcmMvb3BlbmZhYnJpYy5ycwoKZGlmZiAtLWdpdCBhL0NhcmdvLnRvbWwg Yi9DYXJnby50b21sCmluZGV4IGI2ZTZkZjc3OTY5Yi4uMDdkYTllZjcwZTZkIDEwMDY0NAotLS0g YS9DYXJnby50b21sCisrKyBiL0NhcmdvLnRvbWwKQEAgLTEsNiArMSw3IEBACiBbd29ya3NwYWNl XQogbWVtYmVycyA9IFsKICAgICAicHJveG1veC12ZS1jb25maWciLAorICAgICJwcm94bW94LXNk bi10eXBlcyIsCiBdCiBleGNsdWRlID0gWwogICAgICJidWlsZCIsCkBAIC0xNiw0ICsxNywxMyBA QCBleGNsdWRlID0gWyAiZGViaWFuIiBdCiBydXN0LXZlcnNpb24gPSAiMS44MiIKIAogW3dvcmtz cGFjZS5kZXBlbmRlbmNpZXNdCithbnlob3cgPSAiMSIKK2NvbnN0X2Zvcm1hdCA9ICIwLjIiCity ZWdleCA9ICIxLjciCitzZXJkZSA9IHsgdmVyc2lvbiA9ICIxIiB9CitzZXJkZV93aXRoID0gIjMi Cit0aGlzZXJyb3IgPSAiMi4wLjAiCisKIHByb3htb3gtbmV0d29yay10eXBlcyA9IHsgdmVyc2lv biA9ICIwLjEiIH0KK3Byb3htb3gtc2NoZW1hID0geyB2ZXJzaW9uID0gIjQiIH0KK3Byb3htb3gt c2RuLXR5cGVzID0geyB2ZXJzaW9uID0gIjAuMSIsIHBhdGggPSAicHJveG1veC1zZG4tdHlwZXMi IH0KZGlmZiAtLWdpdCBhL3Byb3htb3gtc2RuLXR5cGVzL0NhcmdvLnRvbWwgYi9wcm94bW94LXNk bi10eXBlcy9DYXJnby50b21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNTRkZTI4MDczODVhCi0tLSAvZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvQ2Fy Z28udG9tbApAQCAtMCwwICsxLDE4IEBACitbcGFja2FnZV0KK25hbWUgPSAicHJveG1veC1zZG4t dHlwZXMiCit2ZXJzaW9uID0gIjAuMS4wIgorYXV0aG9ycy53b3Jrc3BhY2UgPSB0cnVlCitlZGl0 aW9uLndvcmtzcGFjZSA9IHRydWUKK2xpY2Vuc2Uud29ya3NwYWNlID0gdHJ1ZQoraG9tZXBhZ2Uu d29ya3NwYWNlID0gdHJ1ZQorZXhjbHVkZS53b3Jrc3BhY2UgPSB0cnVlCitydXN0LXZlcnNpb24u d29ya3NwYWNlID0gdHJ1ZQorCitbZGVwZW5kZW5jaWVzXQorYW55aG93ID0geyB3b3Jrc3BhY2Ug PSB0cnVlIH0KK3JlZ2V4ID0geyB3b3Jrc3BhY2UgPSB0cnVlIH0KK3NlcmRlID0geyB3b3Jrc3Bh Y2UgPSB0cnVlLCBmZWF0dXJlcyA9IFsgImRlcml2ZSIgXSB9CitzZXJkZV93aXRoID0geyB3b3Jr c3BhY2UgPSB0cnVlIH0KKworcHJveG1veC1zY2hlbWEgPSB7IHdvcmtzcGFjZSA9IHRydWUsIGZl YXR1cmVzID0gWyAiYXBpLW1hY3JvIiwgImFwaS10eXBlcyIgXSB9Citwcm94bW94LXNlcmRlID0g eyB2ZXJzaW9uID0gIjEuMC4wIiwgZmVhdHVyZXMgPSBbICJwZXJsIiBdIH0KZGlmZiAtLWdpdCBh L3Byb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jaGFuZ2Vsb2cgYi9wcm94bW94LXNkbi10eXBlcy9k ZWJpYW4vY2hhbmdlbG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NDIyOTIxYzJkMWY0Ci0tLSAvZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvZGViaWFu L2NoYW5nZWxvZwpAQCAtMCwwICsxLDUgQEAKK3J1c3QtcHJveG1veC1zZG4tdHlwZXMgKDAuMS4w LTEpIHVuc3RhYmxlOyB1cmdlbmN5PW1lZGl1bQorCisgICogSW5pdGlhbCByZWxlYXNlLgorCisg LS0gUHJveG1veCBTdXBwb3J0IFRlYW0gPHN1cHBvcnRAcHJveG1veC5jb20+ICBNb24sIDAzIEp1 biAyMDI0IDEwOjUxOjExICswMjAwCmRpZmYgLS1naXQgYS9wcm94bW94LXNkbi10eXBlcy9kZWJp YW4vY29udHJvbCBiL3Byb3htb3gtc2RuLXR5cGVzL2RlYmlhbi9jb250cm9sCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYmZkYjQ3ZWIwYjU1Ci0tLSAvZGV2L251bGwK KysrIGIvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2NvbnRyb2wKQEAgLTAsMCArMSw1MyBAQAor U291cmNlOiBydXN0LXByb3htb3gtc2RuLXR5cGVzCitTZWN0aW9uOiBydXN0CitQcmlvcml0eTog b3B0aW9uYWwKK0J1aWxkLURlcGVuZHM6IGRlYmhlbHBlci1jb21wYXQgKD0gMTMpLAorIGRoLXNl cXVlbmNlLWNhcmdvCitCdWlsZC1EZXBlbmRzLUFyY2g6IGNhcmdvOm5hdGl2ZSA8IW5vY2hlY2s+ LAorIHJ1c3RjOm5hdGl2ZSAoPj0gMS44MikgPCFub2NoZWNrPiwKKyBsaWJzdGQtcnVzdC1kZXYg PCFub2NoZWNrPiwKKyBsaWJydXN0LWFueWhvdy0xK2RlZmF1bHQtZGV2IDwhbm9jaGVjaz4sCisg bGlicnVzdC1jb25zdC1mb3JtYXQtMC4yK2RlZmF1bHQtZGV2IDwhbm9jaGVjaz4sCisgbGlicnVz dC1wcm94bW94LXNjaGVtYS00K2FwaS1tYWNyby1kZXYgPCFub2NoZWNrPiwKKyBsaWJydXN0LXBy b3htb3gtc2NoZW1hLTQrYXBpLXR5cGVzLWRldiA8IW5vY2hlY2s+LAorIGxpYnJ1c3QtcHJveG1v eC1zY2hlbWEtNCtkZWZhdWx0LWRldiA8IW5vY2hlY2s+LAorIGxpYnJ1c3QtcHJveG1veC1zZXJk ZS0wLjErZGVmYXVsdC1kZXYgKD49IDAuMS4yLX5+KSA8IW5vY2hlY2s+LAorIGxpYnJ1c3QtcHJv eG1veC1zZXJkZS0wLjErcGVybC1kZXYgKD49IDAuMS4yLX5+KSA8IW5vY2hlY2s+LAorIGxpYnJ1 c3QtcmVnZXgtMStkZWZhdWx0LWRldiAoPj0gMS43LX5+KSA8IW5vY2hlY2s+LAorIGxpYnJ1c3Qt c2VyZGUtMStkZWZhdWx0LWRldiA8IW5vY2hlY2s+LAorIGxpYnJ1c3Qtc2VyZGUtMStkZXJpdmUt ZGV2IDwhbm9jaGVjaz4sCisgbGlicnVzdC1zZXJkZS13aXRoLTMrZGVmYXVsdC1kZXYgPCFub2No ZWNrPgorTWFpbnRhaW5lcjogUHJveG1veCBTdXBwb3J0IFRlYW0gPHN1cHBvcnRAcHJveG1veC5j b20+CitTdGFuZGFyZHMtVmVyc2lvbjogNC43LjAKK1Zjcy1HaXQ6IGdpdDovL2dpdC5wcm94bW94 LmNvbS9naXQvcHJveG1veC12ZS1ycy5naXQKK1Zjcy1Ccm93c2VyOiBodHRwczovL2dpdC5wcm94 bW94LmNvbS8/cD1wcm94bW94LXZlLXJzLmdpdAorSG9tZXBhZ2U6IGh0dHBzOi8vcHJveG1veC5j b20KK1gtQ2FyZ28tQ3JhdGU6IHByb3htb3gtc2RuLXR5cGVzCitSdWxlcy1SZXF1aXJlcy1Sb290 OiBubworCitQYWNrYWdlOiBsaWJydXN0LXByb3htb3gtc2RuLXR5cGVzLWRldgorQXJjaGl0ZWN0 dXJlOiBhbnkKK011bHRpLUFyY2g6IHNhbWUKK0RlcGVuZHM6CisgJHttaXNjOkRlcGVuZHN9LAor IGxpYnJ1c3QtYW55aG93LTErZGVmYXVsdC1kZXYsCisgbGlicnVzdC1jb25zdC1mb3JtYXQtMC4y K2RlZmF1bHQtZGV2LAorIGxpYnJ1c3QtcHJveG1veC1zY2hlbWEtNCthcGktbWFjcm8tZGV2LAor IGxpYnJ1c3QtcHJveG1veC1zY2hlbWEtNCthcGktdHlwZXMtZGV2LAorIGxpYnJ1c3QtcHJveG1v eC1zY2hlbWEtNCtkZWZhdWx0LWRldiwKKyBsaWJydXN0LXByb3htb3gtc2VyZGUtMC4xK2RlZmF1 bHQtZGV2ICg+PSAwLjEuMi1+fiksCisgbGlicnVzdC1wcm94bW94LXNlcmRlLTAuMStwZXJsLWRl diAoPj0gMC4xLjItfn4pLAorIGxpYnJ1c3QtcmVnZXgtMStkZWZhdWx0LWRldiAoPj0gMS43LX5+ KSwKKyBsaWJydXN0LXNlcmRlLTErZGVmYXVsdC1kZXYsCisgbGlicnVzdC1zZXJkZS0xK2Rlcml2 ZS1kZXYsCisgbGlicnVzdC1zZXJkZS13aXRoLTMrZGVmYXVsdC1kZXYKK1Byb3ZpZGVzOgorIGxp YnJ1c3QtcHJveG1veC1zZG4tdHlwZXMrZGVmYXVsdC1kZXYgKD0gJHtiaW5hcnk6VmVyc2lvbn0p LAorIGxpYnJ1c3QtcHJveG1veC1zZG4tdHlwZXMtMC1kZXYgKD0gJHtiaW5hcnk6VmVyc2lvbn0p LAorIGxpYnJ1c3QtcHJveG1veC1zZG4tdHlwZXMtMCtkZWZhdWx0LWRldiAoPSAke2JpbmFyeTpW ZXJzaW9ufSksCisgbGlicnVzdC1wcm94bW94LXNkbi10eXBlcy0wLjEtZGV2ICg9ICR7YmluYXJ5 OlZlcnNpb259KSwKKyBsaWJydXN0LXByb3htb3gtc2RuLXR5cGVzLTAuMStkZWZhdWx0LWRldiAo PSAke2JpbmFyeTpWZXJzaW9ufSksCisgbGlicnVzdC1wcm94bW94LXNkbi10eXBlcy0wLjEuMC1k ZXYgKD0gJHtiaW5hcnk6VmVyc2lvbn0pLAorIGxpYnJ1c3QtcHJveG1veC1zZG4tdHlwZXMtMC4x LjArZGVmYXVsdC1kZXYgKD0gJHtiaW5hcnk6VmVyc2lvbn0pCitEZXNjcmlwdGlvbjogUnVzdCBj cmF0ZSAicHJveG1veC1zZG4tdHlwZXMiIC0gUnVzdCBzb3VyY2UgY29kZQorIFNvdXJjZSBjb2Rl IGZvciBEZWJpYW5pemVkIFJ1c3QgY3JhdGUgInByb3htb3gtc2RuLXR5cGVzIgpkaWZmIC0tZ2l0 IGEvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2NvcHlyaWdodCBiL3Byb3htb3gtc2RuLXR5cGVz L2RlYmlhbi9jb3B5cmlnaHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li4xZWE4YTU2YjRmNTgKLS0tIC9kZXYvbnVsbAorKysgYi9wcm94bW94LXNkbi10eXBlcy9kZWJp YW4vY29weXJpZ2h0CkBAIC0wLDAgKzEsMTggQEAKK0Zvcm1hdDogaHR0cHM6Ly93d3cuZGViaWFu Lm9yZy9kb2MvcGFja2FnaW5nLW1hbnVhbHMvY29weXJpZ2h0LWZvcm1hdC8xLjAvCisKK0ZpbGVz OgorICoKK0NvcHlyaWdodDogMjAxOSAtIDIwMjUgUHJveG1veCBTZXJ2ZXIgU29sdXRpb25zIEdt YkggPHN1cHBvcnRAcHJveG1veC5jb20+CitMaWNlbnNlOiBBR1BMLTMuMC1vci1sYXRlcgorIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0IHVuZGVyCisgdGhlIHRlcm1zIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkKKyBsYXRlciB2ZXJzaW9uLgorIC4KKyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKKyBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUworIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgQWZm ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKKyBkZXRhaWxzLgorIC4KKyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYWxvbmcKKyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KZGlmZiAtLWdpdCBhL3Byb3htb3gtc2RuLXR5cGVz L2RlYmlhbi9kZWJjYXJnby50b21sIGIvcHJveG1veC1zZG4tdHlwZXMvZGViaWFuL2RlYmNhcmdv LnRvbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44N2E3ODdlNmQw M2UKLS0tIC9kZXYvbnVsbAorKysgYi9wcm94bW94LXNkbi10eXBlcy9kZWJpYW4vZGViY2FyZ28u dG9tbApAQCAtMCwwICsxLDcgQEAKK292ZXJsYXkgPSAiLiIKK2NyYXRlX3NyY19wYXRoID0gIi4u IgorbWFpbnRhaW5lciA9ICJQcm94bW94IFN1cHBvcnQgVGVhbSA8c3VwcG9ydEBwcm94bW94LmNv bT4iCisKK1tzb3VyY2VdCit2Y3NfZ2l0ID0gImdpdDovL2dpdC5wcm94bW94LmNvbS9naXQvcHJv eG1veC12ZS1ycy5naXQiCit2Y3NfYnJvd3NlciA9ICJodHRwczovL2dpdC5wcm94bW94LmNvbS8/ cD1wcm94bW94LXZlLXJzLmdpdCIKZGlmZiAtLWdpdCBhL3Byb3htb3gtc2RuLXR5cGVzL3NyYy9h cmVhLnJzIGIvcHJveG1veC1zZG4tdHlwZXMvc3JjL2FyZWEucnMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43MWQyZDUzYmEwMmYKLS0tIC9kZXYvbnVsbAorKysgYi9w cm94bW94LXNkbi10eXBlcy9zcmMvYXJlYS5ycwpAQCAtMCwwICsxLDYzIEBACit1c2Ugc3RkOjp7 Zm10OjpEaXNwbGF5LCBuZXQ6OklwdjRBZGRyfTsKKwordXNlIGFueWhvdzo6RXJyb3I7Cit1c2Ug cHJveG1veF9zY2hlbWE6OntBcGlUeXBlLCBTY2hlbWEsIFN0cmluZ1NjaGVtYSwgVXBkYXRlclR5 cGV9OwordXNlIHNlcmRlX3dpdGg6OntEZXNlcmlhbGl6ZUZyb21TdHIsIFNlcmlhbGl6ZURpc3Bs YXl9OworCisvLy8gQW4gT1NQRiBBcmVhLgorLy8vCisvLy8gSW50ZXJuYWxseSB0aGUgYXJlYSBp cyBqdXN0IGEgMzIgYml0IG51bWJlciBhbmQgaXMgb2Z0ZW4gcmVwcmVzZW50ZWQgaW4gZG90dGVk LWRlY2ltYWwKKy8vLyBub3RhdGlvbiwgbGlrZSBhbiBJUHY0LiBGUlIgYWxzbyBhbGxvd3MgdXMg dG8gc3BlY2lmeSBpdCBhcyBhIG51bWJlciBvciBhbiBJUHY0LUFkZHJlc3MuCisvLy8gVG8ga2Vl cCBhIG5pY2UgdXNlciBleHBlcmllbmNlIHdlIGtlZXAgd2hpY2hldmVyIGZvcm1hdCB0aGUgdXNl ciBlbnRlcmVkLgorI1tkZXJpdmUoCisgICAgRGVidWcsIERlc2VyaWFsaXplRnJvbVN0ciwgU2Vy aWFsaXplRGlzcGxheSwgQ2xvbmUsIEhhc2gsIFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9y ZCwKKyldCitwdWIgZW51bSBBcmVhIHsKKyAgICBOdW1iZXIodTMyKSwKKyAgICBJcEFkZHJlc3Mo SXB2NEFkZHIpLAorfQorCitpbXBsIEFwaVR5cGUgZm9yIEFyZWEgeworICAgIGNvbnN0IEFQSV9T Q0hFTUE6IFNjaGVtYSA9CisgICAgICAgIFN0cmluZ1NjaGVtYTo6bmV3KCJUaGUgT1NQRiBhcmVh LCB3aGljaCBjYW4gYmUgYSBudW1iZXIgb3IgYSBpcC1hZGRyZXNzLiIpLnNjaGVtYSgpOworfQor CitpbXBsIFVwZGF0ZXJUeXBlIGZvciBBcmVhIHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248 QXJlYT47Cit9CisKK2ltcGwgc3RkOjpzdHI6OkZyb21TdHIgZm9yIEFyZWEgeworICAgIHR5cGUg RXJyID0gRXJyb3I7CisKKyAgICBmbiBmcm9tX3N0cihzOiAmc3RyKSAtPiBSZXN1bHQ8U2VsZiwg U2VsZjo6RXJyPiB7CisgICAgICAgIGlmIGxldCBPayhpcCkgPSBJcHY0QWRkcjo6ZnJvbV9zdHIo cykgeworICAgICAgICAgICAgT2soU2VsZjo6SXBBZGRyZXNzKGlwKSkKKyAgICAgICAgfSBlbHNl IGlmIGxldCBPayhudW1iZXIpID0gdTMyOjpmcm9tX3N0cihzKSB7CisgICAgICAgICAgICBPayhT ZWxmOjpOdW1iZXIobnVtYmVyKSkKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGFueWhv dzo6YmFpbCEoIkFyZWEgaXMgbm90IGEgbnVtYmVyLCBub3IgYW4gaXAgYWRkcmVzcyIpOworICAg ICAgICB9CisgICAgfQorfQorCitpbXBsIERpc3BsYXkgZm9yIEFyZWEgeworICAgIGZuIGZtdCgm c2VsZiwgZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyPCdfPikgLT4gc3RkOjpmbXQ6OlJlc3Vs dCB7CisgICAgICAgIG1hdGNoIHNlbGYgeworICAgICAgICAgICAgQXJlYTo6TnVtYmVyKG4pID0+ IHdyaXRlIShmLCAie259IiksCisgICAgICAgICAgICBBcmVhOjpJcEFkZHJlc3MoaSkgPT4gd3Jp dGUhKGYsICJ7aX0iKSwKKyAgICAgICAgfQorICAgIH0KK30KKworaW1wbCBBcmVhIHsKKyAgICAv Ly8gR2V0IHRoZSBJUHY0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBhcmVhLgorICAgIC8vLworICAg IC8vLyBJZiBpdCBhbHJlYWR5IGlzIHN0b3JlZCBhcyBhIGFuIElQdjQgYWRkcmVzcywgaXQgaXMg cmV0dXJuZWQgZGlyZWN0bHkuCisgICAgLy8vIE90aGVyd2lzZSwgdGhlIG51bWJlciBpcyBjb252 ZXJ0ZWQgdG8gYW4gSVB2NCBhZGRyZXNzLgorICAgIHB1YiBmbiBnZXRfaXB2NF9yZXByZXNlbnRh dGlvbigmc2VsZikgLT4gSXB2NEFkZHIgeworICAgICAgICBtYXRjaCBzZWxmIHsKKyAgICAgICAg ICAgIEFyZWE6Ok51bWJlcihuKSA9PiBJcHY0QWRkcjo6ZnJvbSgqbiksCisgICAgICAgICAgICBB cmVhOjpJcEFkZHJlc3MoaXApID0+ICppcCwKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdp dCBhL3Byb3htb3gtc2RuLXR5cGVzL3NyYy9saWIucnMgYi9wcm94bW94LXNkbi10eXBlcy9zcmMv bGliLnJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMTY1NmYxZDQ0 Yjk1Ci0tLSAvZGV2L251bGwKKysrIGIvcHJveG1veC1zZG4tdHlwZXMvc3JjL2xpYi5ycwpAQCAt MCwwICsxLDMgQEAKK3B1YiBtb2QgYXJlYTsKK3B1YiBtb2QgbmV0OworcHViIG1vZCBvcGVuZmFi cmljOwpkaWZmIC0tZ2l0IGEvcHJveG1veC1zZG4tdHlwZXMvc3JjL25ldC5ycyBiL3Byb3htb3gt c2RuLXR5cGVzL3NyYy9uZXQucnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4zY2QxZTRmODBlZDcKLS0tIC9kZXYvbnVsbAorKysgYi9wcm94bW94LXNkbi10eXBlcy9z cmMvbmV0LnJzCkBAIC0wLDAgKzEsMzIzIEBACit1c2Ugc3RkOjp7CisgICAgZm10OjpEaXNwbGF5 LAorICAgIG5ldDo6e0lwQWRkciwgSXB2NEFkZHIsIElwdjZBZGRyfSwKK307CisKK3VzZSBhbnlo b3c6OntiYWlsLCBFcnJvcn07Cit1c2Ugc2VyZGU6OntEZXNlcmlhbGl6ZSwgU2VyaWFsaXplfTsK KwordXNlIHByb3htb3hfc2NoZW1hOjp7YXBpLCBhcGlfc3RyaW5nX3R5cGUsIGNvbnN0X3JlZ2V4 LCBBcGlTdHJpbmdGb3JtYXQsIFVwZGF0ZXJUeXBlfTsKKworY29uc3RfcmVnZXghIHsKKyAgICBO RVRfQUZJX1JFR0VYID0gciJeKD86W2EtZkEtRjAtOV17Mn0pJCI7CisgICAgTkVUX0FSRUFfUkVH RVggPSByIl4oPzpbYS1mQS1GMC05XXs0fSkkIjsKKyAgICBORVRfU1lTVEVNX0lEX1JFR0VYID0g ciJeKD86W2EtZkEtRjAtOV17NH0pXC4oPzpbYS1mQS1GMC05XXs0fSlcLig/OlthLWZBLUYwLTld ezR9KSQiOworICAgIE5FVF9TRUxFQ1RPUl9SRUdFWCA9IHIiXig/OlthLWZBLUYwLTldezJ9KSQi OworfQorCitjb25zdCBORVRfQUZJX0ZPUk1BVDogQXBpU3RyaW5nRm9ybWF0ID0gQXBpU3RyaW5n Rm9ybWF0OjpQYXR0ZXJuKCZORVRfQUZJX1JFR0VYKTsKK2NvbnN0IE5FVF9BUkVBX0ZPUk1BVDog QXBpU3RyaW5nRm9ybWF0ID0gQXBpU3RyaW5nRm9ybWF0OjpQYXR0ZXJuKCZORVRfQVJFQV9SRUdF WCk7Citjb25zdCBORVRfU1lTVEVNX0lEX0ZPUk1BVDogQXBpU3RyaW5nRm9ybWF0ID0gQXBpU3Ry aW5nRm9ybWF0OjpQYXR0ZXJuKCZORVRfU1lTVEVNX0lEX1JFR0VYKTsKK2NvbnN0IE5FVF9TRUxF Q1RPUl9GT1JNQVQ6IEFwaVN0cmluZ0Zvcm1hdCA9IEFwaVN0cmluZ0Zvcm1hdDo6UGF0dGVybigm TkVUX1NFTEVDVE9SX1JFR0VYKTsKKworYXBpX3N0cmluZ190eXBlISB7CisgICAgLy8vIEFkZHJl c3MgRmFtaWx5IGF1dGhvcml0eSBJZGVudGlmaWVyIC0gNDkgVGhlIEFGSSB2YWx1ZSA0OSBpcyB3 aGF0IElTLUlTIChhbmQgb3BlbmZhYnJpYykgdXNlcworICAgIC8vLyBmb3IgcHJpdmF0ZSBhZGRy ZXNzaW5nLgorICAgICNbYXBpKGZvcm1hdDogJk5FVF9BRklfRk9STUFUKV0KKyAgICAjW2Rlcml2 ZShEZWJ1ZywgQ2xvbmUsIEhhc2gsIFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9yZCwgU2Vy aWFsaXplLCBEZXNlcmlhbGl6ZSldCisgICAgc3RydWN0IE5ldEFGSShTdHJpbmcpOworfQorCitp bXBsIERlZmF1bHQgZm9yIE5ldEFGSSB7CisgICAgZm4gZGVmYXVsdCgpIC0+IFNlbGYgeworICAg ICAgICBTZWxmKCI0OSIudG9fb3duZWQoKSkKKyAgICB9Cit9CisKK2ltcGwgVXBkYXRlclR5cGUg Zm9yIE5ldEFGSSB7CisgICAgdHlwZSBVcGRhdGVyID0gT3B0aW9uPE5ldEFGST47Cit9CisKK2Fw aV9zdHJpbmdfdHlwZSEgeworICAgIC8vLyBBcmVhIGlkZW50aWZpZXI6IDAwMDEgSVMtSVMgYXJl YSBudW1iZXIgKG51bWVyaWNhbCBhcmVhIDEpCisgICAgLy8vIFRoZSBzZWNvbmQgcGFydCAoc3lz dGVtKSBvZiB0aGUgYG5ldGAgaWRlbnRpZmllci4gRXZlcnkgbm9kZSBoYXMgdG8gaGF2ZSBhIGRp ZmZlcmVudCBzeXN0ZW0KKyAgICAvLy8gbnVtYmVyLgorICAgICNbYXBpKGZvcm1hdDogJk5FVF9B UkVBX0ZPUk1BVCldCisgICAgI1tkZXJpdmUoRGVidWcsIERlc2VyaWFsaXplLCBTZXJpYWxpemUs IENsb25lLCBIYXNoLCBQYXJ0aWFsRXEsIEVxLCBQYXJ0aWFsT3JkLCBPcmQpXQorICAgIHN0cnVj dCBOZXRBcmVhKFN0cmluZyk7Cit9CisKK2ltcGwgRGVmYXVsdCBmb3IgTmV0QXJlYSB7CisgICAg Zm4gZGVmYXVsdCgpIC0+IFNlbGYgeworICAgICAgICBTZWxmKCIwMDAxIi50b19vd25lZCgpKQor ICAgIH0KK30KKworaW1wbCBVcGRhdGVyVHlwZSBmb3IgTmV0QXJlYSB7CisgICAgdHlwZSBVcGRh dGVyID0gT3B0aW9uPE5ldEFyZWE+OworfQorCithcGlfc3RyaW5nX3R5cGUhIHsKKyAgICAvLy8g U3lzdGVtIGlkZW50aWZpZXI6IDE5MjEuNjgwMC4xMDAyIC0gZm9yIHN5c3RlbSBpZGVudGlmaWVy cyB3ZSByZWNvbW1lbmQgdG8gdXNlIElQIGFkZHJlc3Mgb3IKKyAgICAvLy8gTUFDIGFkZHJlc3Mg b2YgdGhlIHJvdXRlciBpdHNlbGYuIFRoZSB3YXkgdG8gY29uc3RydWN0IHRoaXMgaXMgdG8ga2Vl cCBhbGwgb2YgdGhlIHplcm9lcyBvZiB0aGUKKyAgICAvLy8gcm91dGVyIElQIGFkZHJlc3MsIGFu ZCB0aGVuIGNoYW5nZSB0aGUgcGVyaW9kcyBmcm9tIGJlaW5nIGV2ZXJ5IHRocmVlIG51bWJlcnMg dG8gZXZlcnkgZm91cgorICAgIC8vLyBudW1iZXJzLiBUaGUgYWRkcmVzcyB0aGF0IGlzIGxpc3Rl ZCBoZXJlIGlzIDE5Mi4xNjguMS4yLCB3aGljaCBpZiBleHBhbmRlZCB3aWxsIHR1cm4gaW50bwor ICAgIC8vLyAxOTIuMTY4LjAwMS4wMDIuIFRoZW4gYWxsIG9uZSBoYXMgdG8gZG8gaXMgbW92ZSB0 aGUgZG90cyB0byBoYXZlIGZvdXIgbnVtYmVycyBpbnN0ZWFkIG9mIHRocmVlLgorICAgIC8vLyBU aGlzIGdpdmVzIHVzIDE5MjEuNjgwMC4xMDAyLgorICAgICNbYXBpKGZvcm1hdDogJk5FVF9TWVNU RU1fSURfRk9STUFUKV0KKyAgICAjW2Rlcml2ZShEZWJ1ZywgRGVzZXJpYWxpemUsIFNlcmlhbGl6 ZSwgQ2xvbmUsIEhhc2gsIFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9yZCldCisgICAgc3Ry dWN0IE5ldFN5c3RlbUlkKFN0cmluZyk7Cit9CisKK2ltcGwgVXBkYXRlclR5cGUgZm9yIE5ldFN5 c3RlbUlkIHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248TmV0U3lzdGVtSWQ+OworfQorCisv Ly8gQ29udmVydCBJUC1BZGRyZXNzIHRvIGEgTkVUIGFkZHJlc3Mgd2l0aCB0aGUgZGVmYXVsdCBh ZmksIGFyZWEgYW5kIHNlbGVjdG9yIHZhbHVlcy4gTm90ZSB0aGF0IGEKKy8vLyB2YWxpZCBJcHY0 QWRkciBpcyBhbHdheXMgYSB2YWxpZCBTeXN0ZW1JZCBhcyB3ZWxsLgoraW1wbCBGcm9tPElwdjRB ZGRyPiBmb3IgTmV0U3lzdGVtSWQgeworICAgIGZuIGZyb20odmFsdWU6IElwdjRBZGRyKSAtPiBT ZWxmIHsKKyAgICAgICAgbGV0IG9jdGV0cyA9IHZhbHVlLm9jdGV0cygpOworCisgICAgICAgIGxl dCBzeXN0ZW1faWRfc3RyID0gZm9ybWF0ISgKKyAgICAgICAgICAgICJ7OjAzfXs6MDF9Lns6MDJ9 ezowMn0uezowMX17OjAzfSIsCisgICAgICAgICAgICBvY3RldHNbMF0sCisgICAgICAgICAgICBv Y3RldHNbMV0gLyAxMDAsCisgICAgICAgICAgICBvY3RldHNbMV0gJSAxMDAsCisgICAgICAgICAg ICBvY3RldHNbMl0gLyAxMCwKKyAgICAgICAgICAgIG9jdGV0c1syXSAlIDEwLAorICAgICAgICAg ICAgb2N0ZXRzWzNdCisgICAgICAgICk7CisKKyAgICAgICAgU2VsZihzeXN0ZW1faWRfc3RyKQor ICAgIH0KK30KKworLy8vIENvbnZlcnQgSVB2Ni1BZGRyZXNzIHRvIGEgTkVUIGFkZHJlc3Mgd2l0 aCB0aGUgZGVmYXVsdCBhZmksIGFyZWEgYW5kIHNlbGVjdG9yIHZhbHVlcy4gTm90ZSB0aGF0IGEK Ky8vLyB2YWxpZCBJcHY2QWRkciBpcyBhbHdheXMgYSB2YWxpZCBTeXN0ZW1JZCBhcyB3ZWxsLgor aW1wbCBGcm9tPElwdjZBZGRyPiBmb3IgTmV0U3lzdGVtSWQgeworICAgIGZuIGZyb20odmFsdWU6 IElwdjZBZGRyKSAtPiBTZWxmIHsKKyAgICAgICAgbGV0IHNlZ21lbnRzID0gdmFsdWUuc2VnbWVu dHMoKTsKKworICAgICAgICAvLyBVc2UgdGhlIGxhc3QgMyBzZWdtZW50cyAob3V0IG9mIDgpIG9m IHRoZSBJUHY2IGFkZHJlc3MKKyAgICAgICAgbGV0IHN5c3RlbV9pZF9zdHIgPSBmb3JtYXQhKAor ICAgICAgICAgICAgIns6MDR4fS57OjA0eH0uezowNHh9IiwKKyAgICAgICAgICAgIHNlZ21lbnRz WzVdLCBzZWdtZW50c1s2XSwgc2VnbWVudHNbN10KKyAgICAgICAgKTsKKworICAgICAgICBTZWxm KHN5c3RlbV9pZF9zdHIpCisgICAgfQorfQorCithcGlfc3RyaW5nX3R5cGUhIHsKKyAgICAvLy8g TkVUIHNlbGVjdG9yOiAwMCBNdXN0IGFsd2F5cyBiZSAwMC4gVGhpcyBzZXR0aW5nIGluZGljYXRl cyDigJx0aGlzIHN5c3RlbeKAnSBvciDigJxsb2NhbCBzeXN0ZW0u4oCdCisgICAgI1thcGkoZm9y bWF0OiAmTkVUX1NFTEVDVE9SX0ZPUk1BVCldCisgICAgI1tkZXJpdmUoRGVidWcsIERlc2VyaWFs aXplLCBTZXJpYWxpemUsIENsb25lLCBIYXNoLCBQYXJ0aWFsRXEsIEVxLCBQYXJ0aWFsT3JkLCBP cmQpXQorICAgIHN0cnVjdCBOZXRTZWxlY3RvcihTdHJpbmcpOworfQorCitpbXBsIFVwZGF0ZXJU eXBlIGZvciBOZXRTZWxlY3RvciB7CisgICAgdHlwZSBVcGRhdGVyID0gT3B0aW9uPE5ldFNlbGVj dG9yPjsKK30KKworaW1wbCBEZWZhdWx0IGZvciBOZXRTZWxlY3RvciB7CisgICAgZm4gZGVmYXVs dCgpIC0+IFNlbGYgeworICAgICAgICBTZWxmKCIwMCIudG9fb3duZWQoKSkKKyAgICB9Cit9CisK Ky8vLyBUaGUgTmV0d29yayBFbnRpdHkgVGl0bGUgKE5FVCkuCisvLy8KKy8vLyBFdmVyeSBPcGVu RmFicmljIG5vZGUgaXMgaWRlbnRpZmllZCB0aHJvdWdoIHRoZSBORVQuIEl0IGhhcyBhIG5ldHdv cmsgYW5kIGEgaG9zdAorLy8vIHBhcnQuCisvLy8gVGhlIGZpcnN0IHBhcnQgaXMgdGhlIG5ldHdv cmsgcGFydCAoYWxzbyBjYWxsZWQgYXJlYSkuIFRoZSBlbnRpcmUgT3BlbkZhYnJpYyBmYWJyaWMg aGFzIHRvIGhhdmUKKy8vLyB0aGUgc2FtZSBuZXR3b3JrIHBhcnQgKGFmaSArIGFyZWEpLiBUaGUg Zmlyc3QgbnVtYmVyIGlzIHRoZSBbYE5ldEFGSWBdIGFuZCB0aGUgc2Vjb25kIGlzIHRoZQorLy8v IFtgTmV0QXJlYWBdLgorLy8vIGUuZy46ICI0OS4wMDAxIgorLy8vIFRoZSBzZWNvbmQgcGFydCBp cyB0aGUgaG9zdCBwYXJ0LCB3aGljaCBoYXMgdG8gZGlmZmVyIG9uIGV2ZXJ5IG5vZGUgaW4gdGhl IGZhYnJpYywgYnV0ICpub3QqCisvLy8gYmV0d2VlbiBmYWJyaWNzIG9uIHRoZSBzYW1lIG5vZGUu IEl0IGNvbnRhaW5zIHRoZSBbYE5ldFN5c3RlbUlkYF0gYW5kIHRoZSBbYE5ldFNlbGVjdG9yYF0u CisvLy8gZS5nLjogIjE5MjEuNjgwMC4xMDAyLjAwIgorI1thcGldCisjW2Rlcml2ZShEZWJ1Zywg RGVzZXJpYWxpemUsIFNlcmlhbGl6ZSwgQ2xvbmUsIEhhc2gsIFBhcnRpYWxFcSwgRXEsIFBhcnRp YWxPcmQsIE9yZCldCitwdWIgc3RydWN0IE5ldCB7CisgICAgYWZpOiBOZXRBRkksCisgICAgYXJl YTogTmV0QXJlYSwKKyAgICBzeXN0ZW06IE5ldFN5c3RlbUlkLAorICAgIHNlbGVjdG9yOiBOZXRT ZWxlY3RvciwKK30KKworaW1wbCBVcGRhdGVyVHlwZSBmb3IgTmV0IHsKKyAgICB0eXBlIFVwZGF0 ZXIgPSBPcHRpb248TmV0PjsKK30KKworaW1wbCBzdGQ6OnN0cjo6RnJvbVN0ciBmb3IgTmV0IHsK KyAgICB0eXBlIEVyciA9IEVycm9yOworCisgICAgZm4gZnJvbV9zdHIoczogJnN0cikgLT4gUmVz dWx0PFNlbGYsIFNlbGY6OkVycj4geworICAgICAgICBsZXQgcGFydHM6IFZlYzwmc3RyPiA9IHMu c3BsaXQoIi4iKS5jb2xsZWN0KCk7CisKKyAgICAgICAgaWYgcGFydHMubGVuKCkgIT0gNiB7Cisg ICAgICAgICAgICBiYWlsISgiaW52YWxpZCBORVQgZm9ybWF0OiB7c30iKQorICAgICAgICB9CisK KyAgICAgICAgbGV0IHN5c3RlbSA9IGZvcm1hdCEoInt9Lnt9Lnt9IiwgcGFydHNbMl0sIHBhcnRz WzNdLCBwYXJ0c1s0XSwpOworCisgICAgICAgIE9rKFNlbGYgeworICAgICAgICAgICAgYWZpOiBO ZXRBRkk6OmZyb21fc3RyaW5nKHBhcnRzWzBdLnRvX3N0cmluZygpKT8sCisgICAgICAgICAgICBh cmVhOiBOZXRBcmVhOjpmcm9tX3N0cmluZyhwYXJ0c1sxXS50b19zdHJpbmcoKSk/LAorICAgICAg ICAgICAgc3lzdGVtOiBOZXRTeXN0ZW1JZDo6ZnJvbV9zdHJpbmcoc3lzdGVtLnRvX3N0cmluZygp KT8sCisgICAgICAgICAgICBzZWxlY3RvcjogTmV0U2VsZWN0b3I6OmZyb21fc3RyaW5nKHBhcnRz WzVdLnRvX3N0cmluZygpKT8sCisgICAgICAgIH0pCisgICAgfQorfQorCitpbXBsIERpc3BsYXkg Zm9yIE5ldCB7CisgICAgZm4gZm10KCZzZWxmLCBmOiAmbXV0IHN0ZDo6Zm10OjpGb3JtYXR0ZXI8 J18+KSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKKyAgICAgICAgd3JpdGUhKAorICAgICAgICAgICAg ZiwKKyAgICAgICAgICAgICJ7fS57fS57fS57fSIsCisgICAgICAgICAgICBzZWxmLmFmaSwgc2Vs Zi5hcmVhLCBzZWxmLnN5c3RlbSwgc2VsZi5zZWxlY3RvcgorICAgICAgICApCisgICAgfQorfQor CisvLy8gRGVmYXVsdCBORVQgYWRkcmVzcyBmb3IgYSBnaXZlbiBJcHY0QWRkci4gVGhpcyBhZGRz IHRoZSBkZWZhdWx0IGFmaSwgYXJlYSBhbmQgc2VsZWN0b3IgdG8gdGhlCisvLy8gYWRkcmVzcy4K K2ltcGwgRnJvbTxJcHY0QWRkcj4gZm9yIE5ldCB7CisgICAgZm4gZnJvbSh2YWx1ZTogSXB2NEFk ZHIpIC0+IFNlbGYgeworICAgICAgICBTZWxmIHsKKyAgICAgICAgICAgIGFmaTogTmV0QUZJOjpk ZWZhdWx0KCksCisgICAgICAgICAgICBhcmVhOiBOZXRBcmVhOjpkZWZhdWx0KCksCisgICAgICAg ICAgICBzeXN0ZW06IHZhbHVlLmludG8oKSwKKyAgICAgICAgICAgIHNlbGVjdG9yOiBOZXRTZWxl Y3Rvcjo6ZGVmYXVsdCgpLAorICAgICAgICB9CisgICAgfQorfQorCisvLy8gRGVmYXVsdCBORVQg YWRkcmVzcyBmb3IgYSBnaXZlbiBJcHY2QWRkci4gVGhpcyBhZGRzIHRoZSBkZWZhdWx0IGFmaSwg YXJlYSBhbmQgc2VsZWN0b3IgdG8gdGhlCisvLy8gYWRkcmVzcy4KK2ltcGwgRnJvbTxJcHY2QWRk cj4gZm9yIE5ldCB7CisgICAgZm4gZnJvbSh2YWx1ZTogSXB2NkFkZHIpIC0+IFNlbGYgeworICAg ICAgICBTZWxmIHsKKyAgICAgICAgICAgIGFmaTogTmV0QUZJOjpkZWZhdWx0KCksCisgICAgICAg ICAgICBhcmVhOiBOZXRBcmVhOjpkZWZhdWx0KCksCisgICAgICAgICAgICBzeXN0ZW06IHZhbHVl LmludG8oKSwKKyAgICAgICAgICAgIHNlbGVjdG9yOiBOZXRTZWxlY3Rvcjo6ZGVmYXVsdCgpLAor ICAgICAgICB9CisgICAgfQorfQorCisvLy8gRGVmYXVsdCBORVQgYWRkcmVzcyBmb3IgYSBnaXZl biBJcEFkZHIgKGNhbiBiZSBlaXRoZXIgSXB2NCBvciBJcHY2KS4gVGhpcyBhZGRzIHRoZSBkZWZh dWx0IGFmaSwKKy8vLyBhcmVhIGFuZCBzZWxlY3RvciB0byB0aGUgYWRkcmVzcy4KK2ltcGwgRnJv bTxJcEFkZHI+IGZvciBOZXQgeworICAgIGZuIGZyb20odmFsdWU6IElwQWRkcikgLT4gU2VsZiB7 CisgICAgICAgIG1hdGNoIHZhbHVlIHsKKyAgICAgICAgICAgIElwQWRkcjo6VjQoaXB2NF9hZGRy KSA9PiBpcHY0X2FkZHIuaW50bygpLAorICAgICAgICAgICAgSXBBZGRyOjpWNihpcHY2X2FkZHIp ID0+IGlwdjZfYWRkci5pbnRvKCksCisgICAgICAgIH0KKyAgICB9Cit9CisKKyNbY2ZnKHRlc3Qp XQorbW9kIHRlc3RzIHsKKyAgICB1c2Ugc3VwZXI6Oio7CisKKyAgICAjW3Rlc3RdCisgICAgZm4g dGVzdF9uZXRfZnJvbV9zdHIoKSB7CisgICAgICAgIGxldCBpbnB1dCA9ICI0OS4wMDAxLjE5MjEu NjgwMC4xMDAyLjAwIjsKKyAgICAgICAgbGV0IG5ldCA9IGlucHV0LnBhcnNlOjo8TmV0PigpLmV4 cGVjdCgidGhpcyBuZXQgc2hvdWxkIHBhcnNlIik7CisgICAgICAgIGFzc2VydF9lcSEobmV0LmFm aSwgTmV0QUZJKCI0OSIudG9fb3duZWQoKSkpOworICAgICAgICBhc3NlcnRfZXEhKG5ldC5hcmVh LCBOZXRBcmVhKCIwMDAxIi50b19vd25lZCgpKSk7CisgICAgICAgIGFzc2VydF9lcSEobmV0LnN5 c3RlbSwgTmV0U3lzdGVtSWQoIjE5MjEuNjgwMC4xMDAyIi50b19vd25lZCgpKSk7CisgICAgICAg IGFzc2VydF9lcSEobmV0LnNlbGVjdG9yLCBOZXRTZWxlY3RvcigiMDAiLnRvX293bmVkKCkpKTsK KworICAgICAgICBsZXQgaW5wdXQgPSAiNDUuMDIwMC4wMTAwLjEwMDEuYmExZi4wMSI7CisgICAg ICAgIGxldCBuZXQgPSBpbnB1dC5wYXJzZTo6PE5ldD4oKS5leHBlY3QoInRoaXMgbmV0IHNob3Vs ZCBwYXJzZSIpOworICAgICAgICBhc3NlcnRfZXEhKG5ldC5hZmksIE5ldEFGSSgiNDUiLnRvX293 bmVkKCkpKTsKKyAgICAgICAgYXNzZXJ0X2VxIShuZXQuYXJlYSwgTmV0QXJlYSgiMDIwMCIudG9f b3duZWQoKSkpOworICAgICAgICBhc3NlcnRfZXEhKG5ldC5zeXN0ZW0sIE5ldFN5c3RlbUlkKCIw MTAwLjEwMDEuYmExZiIudG9fb3duZWQoKSkpOworICAgICAgICBhc3NlcnRfZXEhKG5ldC5zZWxl Y3RvciwgTmV0U2VsZWN0b3IoIjAxIi50b19vd25lZCgpKSk7CisgICAgfQorCisgICAgI1t0ZXN0 XQorICAgIGZuIHRlc3RfbmV0X2Zyb21fc3RyX2ZhaWxlZCgpIHsKKyAgICAgICAgbGV0IGlucHV0 ID0gIjQ5LjAwMDEuMTkyMS42ODAwLjEwMDIuMDAwIjsKKyAgICAgICAgaW5wdXQucGFyc2U6OjxO ZXQ+KCkuZXhwZWN0X2VycigiaW52YWxpZCBORVQgc2VsZWN0b3IiKTsKKworICAgICAgICBsZXQg aW5wdXQgPSAiNDkuMDAwMS4xOTIxLjY4MDAuMTAwMi4wMC4wMCI7CisgICAgICAgIGlucHV0Cisg ICAgICAgICAgICAucGFyc2U6OjxOZXQ+KCkKKyAgICAgICAgICAgIC5leHBlY3RfZXJyKCJpbnZh bGlkIGFtb3VudCBvZiBlbGVtZW50cyIpOworCisgICAgICAgIGxldCBpbnB1dCA9ICI0OS4wMDAx LjE5MjEuNjgwMC4xMDAwMi4wMCI7CisgICAgICAgIGlucHV0LnBhcnNlOjo8TmV0PigpLmV4cGVj dF9lcnIoImludmFsaWQgc3lzdGVtIGlkIik7CisKKyAgICAgICAgbGV0IGlucHV0ID0gIjQ5LjAw MDEuMTkyMS42ODAwLjF6MDIuMDAiOworICAgICAgICBpbnB1dC5wYXJzZTo6PE5ldD4oKS5leHBl Y3RfZXJyKCJpbnZhbGlkIHN5c3RlbSBpZCIpOworCisgICAgICAgIGxldCBpbnB1dCA9ICI0MDku MDAwMS4xOTIxLjY4MDAuMTAwMi4wMCI7CisgICAgICAgIGlucHV0LnBhcnNlOjo8TmV0PigpLmV4 cGVjdF9lcnIoImludmFsaWQgQUZJIik7CisKKyAgICAgICAgbGV0IGlucHV0ID0gIjQ5LjAwMDAx LjE5MjEuNjgwMC4xMDAyLjAwIjsKKyAgICAgICAgaW5wdXQucGFyc2U6OjxOZXQ+KCkuZXhwZWN0 X2VycigiaW52YWxpZCBhcmVhIik7CisgICAgfQorCisgICAgI1t0ZXN0XQorICAgIGZuIHRlc3Rf bmV0X2Rpc3BsYXkoKSB7CisgICAgICAgIGxldCBuZXQgPSBOZXQgeworICAgICAgICAgICAgYWZp OiBOZXRBRkkoIjQ5Ii50b19vd25lZCgpKSwKKyAgICAgICAgICAgIGFyZWE6IE5ldEFyZWEoIjAw MDEiLnRvX293bmVkKCkpLAorICAgICAgICAgICAgc3lzdGVtOiBOZXRTeXN0ZW1JZCgiMTkyMS42 ODAwLjEwMDIiLnRvX293bmVkKCkpLAorICAgICAgICAgICAgc2VsZWN0b3I6IE5ldFNlbGVjdG9y KCIwMCIudG9fb3duZWQoKSksCisgICAgICAgIH07CisgICAgICAgIGFzc2VydF9lcSEoZm9ybWF0 ISgie25ldH0iKSwgIjQ5LjAwMDEuMTkyMS42ODAwLjEwMDIuMDAiKTsKKyAgICB9CisKKyAgICAj W3Rlc3RdCisgICAgZm4gdGVzdF9uZXRfZnJvbV9pcHY0KCkgeworICAgICAgICBsZXQgaXA6IElw djRBZGRyID0gIjE5Mi4xNjguMS4xMDAiLnBhcnNlKCkudW53cmFwKCk7CisgICAgICAgIGxldCBu ZXQ6IE5ldCA9IGlwLmludG8oKTsKKyAgICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0fSIp LCAiNDkuMDAwMS4xOTIxLjY4MDAuMTEwMC4wMCIpOworCisgICAgICAgIGxldCBpcDE6IElwdjRB ZGRyID0gIjEwLjEwLjIuMjQ1Ii5wYXJzZSgpLnVud3JhcCgpOworICAgICAgICBsZXQgbmV0MTog TmV0ID0gaXAxLmludG8oKTsKKyAgICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0MX0iKSwg IjQ5LjAwMDEuMDEwMC4xMDAwLjIyNDUuMDAiKTsKKworICAgICAgICBsZXQgaXAyOiBJcHY0QWRk ciA9ICIxLjEuMS4xIi5wYXJzZSgpLnVud3JhcCgpOworICAgICAgICBsZXQgbmV0MjogTmV0ID0g aXAyLmludG8oKTsKKyAgICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0Mn0iKSwgIjQ5LjAw MDEuMDAxMC4wMTAwLjEwMDEuMDAiKTsKKyAgICB9CisKKyAgICAjW3Rlc3RdCisgICAgZm4gdGVz dF9uZXRfZnJvbV9pcHY2KCkgeworICAgICAgICAvLyAyMDAxOmRiODo6MSAtPiBbMjAwMSwgMGRi OCwgMCwgMCwgMCwgMCwgMCwgMV0KKyAgICAgICAgLy8gbGFzdCAzIHNlZ21lbnRzOiBbMCwgMCwg MV0KKyAgICAgICAgbGV0IGlwOiBJcHY2QWRkciA9ICIyMDAxOmRiODo6MSIucGFyc2UoKS51bndy YXAoKTsKKyAgICAgICAgbGV0IG5ldDogTmV0ID0gaXAuaW50bygpOworICAgICAgICBhc3NlcnRf ZXEhKGZvcm1hdCEoIntuZXR9IiksICI0OS4wMDAxLjAwMDAuMDAwMC4wMDAxLjAwIik7CisKKyAg ICAgICAgLy8gZmU4MDo6MTIzNDo1Njc4OmFiY2QgLT4gW2ZlODAsIDAsIDAsIDAsIDAsIDEyMzQs IDU2NzgsIGFiY2RdCisgICAgICAgIC8vIGxhc3QgMyBzZWdtZW50czogWzEyMzQsIDU2NzgsIGFi Y2RdCisgICAgICAgIGxldCBpcDE6IElwdjZBZGRyID0gImZlODA6OjEyMzQ6NTY3ODphYmNkIi5w YXJzZSgpLnVud3JhcCgpOworICAgICAgICBsZXQgbmV0MTogTmV0ID0gaXAxLmludG8oKTsKKyAg ICAgICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0MX0iKSwgIjQ5LjAwMDEuMTIzNC41Njc4LmFi Y2QuMDAiKTsKKworICAgICAgICAvLyAyMDAxOjBkYjg6ODVhMzo6OGEyZTozNzA6NzMzNCAtPiBb MjAwMSwgMGRiOCwgODVhMywgMCwgMCwgOGEyZSwgMDM3MCwgNzMzNF0KKyAgICAgICAgLy8gbGFz dCAzIHNlZ21lbnRzOiBbOGEyZSwgMDM3MCwgNzMzNF0KKyAgICAgICAgbGV0IGlwMjogSXB2NkFk ZHIgPSAiMjAwMTowZGI4Ojg1YTM6OjhhMmU6MzcwOjczMzQiLnBhcnNlKCkudW53cmFwKCk7Cisg ICAgICAgIGxldCBuZXQyOiBOZXQgPSBpcDIuaW50bygpOworICAgICAgICBhc3NlcnRfZXEhKGZv cm1hdCEoIntuZXQyfSIpLCAiNDkuMDAwMS44YTJlLjAzNzAuNzMzNC4wMCIpOworCisgICAgICAg IC8vIDo6MSAtPiBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMV0KKyAgICAgICAgLy8gbGFzdCAzIHNl Z21lbnRzOiBbMCwgMCwgMV0KKyAgICAgICAgbGV0IGlwMzogSXB2NkFkZHIgPSAiOjoxIi5wYXJz ZSgpLnVud3JhcCgpOworICAgICAgICBsZXQgbmV0MzogTmV0ID0gaXAzLmludG8oKTsKKyAgICAg ICAgYXNzZXJ0X2VxIShmb3JtYXQhKCJ7bmV0M30iKSwgIjQ5LjAwMDEuMDAwMC4wMDAwLjAwMDEu MDAiKTsKKworICAgICAgICAvLyBhOmI6OjAgLT4gW2EsIGIsIDAsIDAsIDAsIDAsIDAsIDBdCisg ICAgICAgIC8vIGxhc3QgMyBzZWdtZW50czogWzAsIDAsIDBdCisgICAgICAgIGxldCBpcDQ6IElw djZBZGRyID0gImE6Yjo6MCIucGFyc2UoKS51bndyYXAoKTsKKyAgICAgICAgbGV0IG5ldDQ6IE5l dCA9IGlwNC5pbnRvKCk7CisgICAgICAgIGFzc2VydF9lcSEoZm9ybWF0ISgie25ldDR9IiksICI0 OS4wMDAxLjAwMDAuMDAwMC4wMDAwLjAwIik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvcHJveG1v eC1zZG4tdHlwZXMvc3JjL29wZW5mYWJyaWMucnMgYi9wcm94bW94LXNkbi10eXBlcy9zcmMvb3Bl bmZhYnJpYy5ycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmM3OWUy ZDlhMjkzNQotLS0gL2Rldi9udWxsCisrKyBiL3Byb3htb3gtc2RuLXR5cGVzL3NyYy9vcGVuZmFi cmljLnJzCkBAIC0wLDAgKzEsNzIgQEAKK3VzZSBzZXJkZTo6e0Rlc2VyaWFsaXplLCBTZXJpYWxp emV9OwordXNlIHN0ZDo6Zm10OjpEaXNwbGF5OworCit1c2UgcHJveG1veF9zY2hlbWE6OnthcGks IFVwZGF0ZXJUeXBlfTsKKworLy8vIFRoZSBPcGVuRmFicmljIENTTlAgSW50ZXJ2YWwuCisvLy8K Ky8vLyBUaGUgQ29tcGxldGUgU2VxdWVuY2UgTnVtYmVyIFBhY2tldHMgKENTTlApIGludGVydmFs IGluIHNlY29uZHMuIFRoZSBpbnRlcnZhbCByYW5nZSBpcyAxIHRvCisvLy8gNjAwLgorI1thcGko CisgICAgdHlwZTogSW50ZWdlciwKKyAgICBtaW5pbXVtOiAxLAorICAgIG1heGltdW06IDYwMCwK KyldCisjW2Rlcml2ZShTZXJpYWxpemUsIERlc2VyaWFsaXplLCBIYXNoLCBEZWJ1ZywgQ2xvbmUs IENvcHksIFBhcnRpYWxFcSwgRXEsIFBhcnRpYWxPcmQsIE9yZCldCisjW3NlcmRlKHRyYW5zcGFy ZW50KV0KK3B1YiBzdHJ1Y3QgQ3NucEludGVydmFsKCNbc2VyZGUoZGVzZXJpYWxpemVfd2l0aCA9 ICJwcm94bW94X3NlcmRlOjpwZXJsOjpkZXNlcmlhbGl6ZV91MTYiKV0gdTE2KTsKKworaW1wbCBV cGRhdGVyVHlwZSBmb3IgQ3NucEludGVydmFsIHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248 Q3NucEludGVydmFsPjsKK30KKworaW1wbCBEaXNwbGF5IGZvciBDc25wSW50ZXJ2YWwgeworICAg IGZuIGZtdCgmc2VsZiwgZjogJm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyPCdfPikgLT4gc3RkOjpm bXQ6OlJlc3VsdCB7CisgICAgICAgIHNlbGYuMC5mbXQoZikKKyAgICB9Cit9CisKKy8vLyBUaGUg T3BlbkZhYnJpYyBIZWxsbyBJbnRlcnZhbC4KKy8vLworLy8vIFRoZSBIZWxsbyBJbnRlcnZhbCBm b3IgYSBnaXZlbiBpbnRlcmZhY2UgaW4gc2Vjb25kcy4gVGhlIHJhbmdlIGlzIDEgdG8gNjAwLiBI ZWxsbyBwYWNrZXRzIGFyZQorLy8vIHVzZWQgdG8gZXN0YWJsaXNoIGFuZCBtYWludGFpbiBhZGph Y2VuY3kgYmV0d2VlbiBPcGVuRmFicmljIG5laWdoYm9ycy4KKyNbYXBpKAorICAgIHR5cGU6IElu dGVnZXIsCisgICAgbWluaW11bTogMSwKKyAgICBtYXhpbXVtOiA2MDAsCispXQorI1tkZXJpdmUo U2VyaWFsaXplLCBEZXNlcmlhbGl6ZSwgSGFzaCwgRGVidWcsIENsb25lLCBDb3B5LCBQYXJ0aWFs RXEsIEVxLCBQYXJ0aWFsT3JkLCBPcmQpXQorI1tzZXJkZSh0cmFuc3BhcmVudCldCitwdWIgc3Ry dWN0IEhlbGxvSW50ZXJ2YWwoI1tzZXJkZShkZXNlcmlhbGl6ZV93aXRoID0gInByb3htb3hfc2Vy ZGU6OnBlcmw6OmRlc2VyaWFsaXplX3UxNiIpXSB1MTYpOworCitpbXBsIFVwZGF0ZXJUeXBlIGZv ciBIZWxsb0ludGVydmFsIHsKKyAgICB0eXBlIFVwZGF0ZXIgPSBPcHRpb248SGVsbG9JbnRlcnZh bD47Cit9CisKK2ltcGwgRGlzcGxheSBmb3IgSGVsbG9JbnRlcnZhbCB7CisgICAgZm4gZm10KCZz ZWxmLCBmOiAmbXV0IHN0ZDo6Zm10OjpGb3JtYXR0ZXI8J18+KSAtPiBzdGQ6OmZtdDo6UmVzdWx0 IHsKKyAgICAgICAgc2VsZi4wLmZtdChmKQorICAgIH0KK30KKworLy8vIFRoZSBPcGVuRmFicmlj IEhlbGxvIE11bHRpcGxpZXIuCisvLy8KKy8vLyBUaGlzIGlzIHRoZSBtdWx0aXBsaWVyIGZvciB0 aGUgaGVsbG8gaG9sZGluZyB0aW1lIG9uIGEgZ2l2ZW4gaW50ZXJmYWNlLiBUaGUgcmFuZ2UgaXMg MiB0byAxMDAuCisjW2FwaSgKKyAgICB0eXBlOiBJbnRlZ2VyLAorICAgIG1pbmltdW06IDIsCisg ICAgbWF4aW11bTogMTAwLAorKV0KKyNbZGVyaXZlKFNlcmlhbGl6ZSwgRGVzZXJpYWxpemUsIEhh c2gsIERlYnVnLCBDbG9uZSwgQ29weSwgUGFydGlhbEVxLCBFcSwgUGFydGlhbE9yZCwgT3JkKV0K KyNbc2VyZGUodHJhbnNwYXJlbnQpXQorcHViIHN0cnVjdCBIZWxsb011bHRpcGxpZXIoI1tzZXJk ZShkZXNlcmlhbGl6ZV93aXRoID0gInByb3htb3hfc2VyZGU6OnBlcmw6OmRlc2VyaWFsaXplX3Ux NiIpXSB1MTYpOworCitpbXBsIFVwZGF0ZXJUeXBlIGZvciBIZWxsb011bHRpcGxpZXIgeworICAg IHR5cGUgVXBkYXRlciA9IE9wdGlvbjxIZWxsb011bHRpcGxpZXI+OworfQorCitpbXBsIERpc3Bs YXkgZm9yIEhlbGxvTXVsdGlwbGllciB7CisgICAgZm4gZm10KCZzZWxmLCBmOiAmbXV0IHN0ZDo6 Zm10OjpGb3JtYXR0ZXI8J18+KSAtPiBzdGQ6OmZtdDo6UmVzdWx0IHsKKyAgICAgICAgc2VsZi4w LmZtdChmKQorICAgIH0KK30KZGlmZiAtLWdpdCBhL3Byb3htb3gtdmUtY29uZmlnL0NhcmdvLnRv bWwgYi9wcm94bW94LXZlLWNvbmZpZy9DYXJnby50b21sCmluZGV4IDVmZDcwMGM0MGI0OC4uMTli Yzc5MzkyNWU2IDEwMDY0NAotLS0gYS9wcm94bW94LXZlLWNvbmZpZy9DYXJnby50b21sCisrKyBi L3Byb3htb3gtdmUtY29uZmlnL0NhcmdvLnRvbWwKQEAgLTgsMTQgKzgsMTQgQEAgZXhjbHVkZS53 b3Jrc3BhY2UgPSB0cnVlCiAKIFtkZXBlbmRlbmNpZXNdCiBsb2cgPSAiMC40IgotYW55aG93ID0g IjEiCithbnlob3cgPSB7IHdvcmtzcGFjZSA9IHRydWUgfQogbml4ID0gIjAuMjkiCi10aGlzZXJy b3IgPSAiMiIKK3RoaXNlcnJvciA9IHsgd29ya3NwYWNlID0gdHJ1ZSB9CiAKLXNlcmRlID0geyB2 ZXJzaW9uID0gIjEiLCBmZWF0dXJlcyA9IFsgImRlcml2ZSIgXSB9CitzZXJkZSA9IHsgd29ya3Nw YWNlID0gdHJ1ZSwgZmVhdHVyZXMgPSBbICJkZXJpdmUiIF0gfQogc2VyZGVfanNvbiA9ICIxIgog c2VyZGVfcGxhaW4gPSAiMSIKLXNlcmRlX3dpdGggPSAiMyIKK3NlcmRlX3dpdGggPSB7IHdvcmtz cGFjZSA9IHRydWUgfQogcHJveG1veC1zZXJkZSA9IHsgdmVyc2lvbiA9ICIxLjAuMCIsIGZlYXR1 cmVzID0gWyAicGVybCIgXX0KIAogcHJveG1veC1uZXR3b3JrLXR5cGVzID0geyB3b3Jrc3BhY2Ug PSB0cnVlIH0KLS0gCjIuMzkuNQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94 bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5m by9wdmUtZGV2ZWwK