From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 03/22] xentoolcore, _restrict_all: Introduce new library and implementation Date: Fri, 15 Sep 2017 19:48:40 +0100 Message-ID: <1505501339-11965-4-git-send-email-ian.jackson@eu.citrix.com> References: <1505501339-11965-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1505501339-11965-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xensource.com Cc: Ian Jackson , Stefano Stabellini , Wei Liu List-Id: xen-devel@lists.xenproject.org SW4gcHJhY3RpY2UsIHFlbXUgb3BlbnMgYSBncmVhdCBtYW55IGZkcy4gIFRyYWNraW5nIHRoZW0g YWxsIGRvd24gYW5kCnBsYXlpbmcgd2hhY2stYS1tb2xlIGlzIHVuYXR0cmFjdGl2ZS4gIEl0IGlz IGFsc28gcG90ZW50aWFsbHkgZnJhZ2lsZQppbiB0aGF0IGZ1dHVyZSBjaGFuZ2VzIG1pZ2h0IGFj Y2lkZW50YWxseSB1bmRvIG91ciBlZmZvcnRzLgoKSW5zdGVhZCwgd2UgYXJlIGdvaW5nIHRvIHRl YWNoIGFsbCB0aGUgWGVuIGxpYnJhcmllcyBob3cgdG8gcmVnaXN0ZXIKdGhlaXIgZmRzIHNvIHRo YXQgdGhleSBjYW4gYmUgbmV1dGVyZWQgd2l0aCBvbmUgcWVtdSBjYWxsLgoKU2lnbmVkLW9mZi1i eTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQogLmdpdGlnbm9y ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogdG9vbHMv UnVsZXMubWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKysKIHRv b2xzL2xpYnMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsK IHRvb2xzL2xpYnMvdG9vbGNvcmUvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgMTAx ICsrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJzL3Rvb2xjb3JlL2hhbmRsZXJlZy5jICAg ICAgICAgICAgICAgICAgICB8ICA3OCArKysrKysrKysrKysrKysrCiB0b29scy9saWJzL3Rvb2xj b3JlL2luY2x1ZGUveGVudG9vbGNvcmUuaCAgICAgICAgICB8ICA3MSArKysrKysrKysrKysrKwog dG9vbHMvbGlicy90b29sY29yZS9pbmNsdWRlL3hlbnRvb2xjb3JlX2ludGVybmFsLmggfCAxMDIg KysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJzL3Rvb2xjb3JlL2xpYnhlbnRvb2xjb3Jl Lm1hcCAgICAgICAgICAgICB8ICAgNyArKwogdG9vbHMvbGlicy90b29sY29yZS94ZW50b29sY29y ZS5wYy5pbiAgICAgICAgICAgICAgfCAgIDkgKysKIDkgZmlsZXMgY2hhbmdlZCwgMzc5IGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9saWJzL3Rvb2xjb3JlL01ha2VmaWxl CiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvbGlicy90b29sY29yZS9oYW5kbGVyZWcuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IHRvb2xzL2xpYnMvdG9vbGNvcmUvaW5jbHVkZS94ZW50b29sY29yZS5o CiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvbGlicy90b29sY29yZS9pbmNsdWRlL3hlbnRvb2xj b3JlX2ludGVybmFsLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9saWJzL3Rvb2xjb3JlL2xp YnhlbnRvb2xjb3JlLm1hcAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL2xpYnMvdG9vbGNvcmUv eGVudG9vbGNvcmUucGMuaW4KCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpp bmRleCBlY2IxOThmLi4yNjlhYjBjIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRp Z25vcmUKQEAgLTcyLDYgKzcyLDcgQEAgc3R1YmRvbS9saWJ4ZW5jYWxsLSoKIHN0dWJkb20vbGli eGVuZXZ0Y2huLSoKIHN0dWJkb20vbGlieGVuZm9yZWlnbm1lbW9yeS0qCiBzdHViZG9tL2xpYnhl bmdudHRhYi0qCitzdHViZG9tL2xpYnhlbnRvb2xjb3JlLSoKIHN0dWJkb20vbGlieGVudG9vbGxv Zy0qCiBzdHViZG9tL2x3aXAtKgogc3R1YmRvbS9sd2lwLwpAQCAtOTcsNiArOTgsOCBAQCB0b29s cy9jb25maWcuY2FjaGUKIGNvbmZpZy9Ub29scy5tawogY29uZmlnL1N0dWJkb20ubWsKIGNvbmZp Zy9Eb2NzLm1rCit0b29scy9saWJzL3Rvb2xjb3JlL2hlYWRlcnMuY2hrCit0b29scy9saWJzL3Rv b2xjb3JlL3hlbnRvb2xjb3JlLnBjCiB0b29scy9saWJzL3Rvb2xsb2cvaGVhZGVycy5jaGsKIHRv b2xzL2xpYnMvdG9vbGxvZy94ZW50b29sbG9nLnBjCiB0b29scy9saWJzL2V2dGNobi9oZWFkZXJz LmNoawpAQCAtMzUxLDYgKzM1NCw3IEBAIHRvb2xzL2luY2x1ZGUveGVuLWZvcmVpZ24vYXJtNjQu aAogLmdpdAogdG9vbHMvbWlzYy94ZW4taHB0b29sCiB0b29scy9taXNjL3hlbi1tZm5kdW1wCit0 b29scy9saWJzL3Rvb2xjb3JlL2luY2x1ZGUvXyouaAogdG9vbHMvbGlieGMvXyouW2NoXQogdG9v bHMvbGlieGwvXyouW2NoXQogdG9vbHMvbGlieGwvdGVzdGlkbApkaWZmIC0tZ2l0IGEvdG9vbHMv UnVsZXMubWsgYi90b29scy9SdWxlcy5tawppbmRleCBkYmM3NjM1Li41ZTFjN2NiIDEwMDY0NAot LS0gYS90b29scy9SdWxlcy5taworKysgYi90b29scy9SdWxlcy5tawpAQCAtMTAsNiArMTAsNyBA QCBleHBvcnQgX0lOU1RBTEwgOj0gJChJTlNUQUxMKQogSU5TVEFMTCA9ICQoWEVOX1JPT1QpL3Rv b2xzL2Nyb3NzLWluc3RhbGwKIAogWEVOX0lOQ0xVREUgICAgICAgID0gJChYRU5fUk9PVCkvdG9v bHMvaW5jbHVkZQorWEVOX0xJQlhFTlRPT0xDT1JFICA9ICQoWEVOX1JPT1QpL3Rvb2xzL2xpYnMv dG9vbGNvcmUKIFhFTl9MSUJYRU5UT09MTE9HICA9ICQoWEVOX1JPT1QpL3Rvb2xzL2xpYnMvdG9v bGxvZwogWEVOX0xJQlhFTkVWVENITiAgID0gJChYRU5fUk9PVCkvdG9vbHMvbGlicy9ldnRjaG4K IFhFTl9MSUJYRU5HTlRUQUIgICA9ICQoWEVOX1JPT1QpL3Rvb2xzL2xpYnMvZ250dGFiCkBAIC0x MDIsNiArMTAzLDExIEBAIFNIREVQU19saWJ4ZW50b29sbG9nID0KIExETElCU19saWJ4ZW50b29s bG9nID0gJChTSERFUFNfbGlieGVudG9vbGxvZykgJChYRU5fTElCWEVOVE9PTExPRykvbGlieGVu dG9vbGxvZyQobGliZXh0ZW5zaW9uKQogU0hMSUJfbGlieGVudG9vbGxvZyAgPSAkKFNIREVQU19s aWJ4ZW50b29sbG9nKSAtV2wsLXJwYXRoLWxpbms9JChYRU5fTElCWEVOVE9PTExPRykKIAorQ0ZM QUdTX2xpYnhlbnRvb2xjb3JlID0gLUkkKFhFTl9MSUJYRU5UT09MQ09SRSkvaW5jbHVkZSAkKENG TEFHU194ZW5pbmNsdWRlKQorU0hERVBTX2xpYnhlbnRvb2xjb3JlID0KK0xETElCU19saWJ4ZW50 b29sY29yZSA9ICQoU0hERVBTX2xpYnhlbnRvb2xjb3JlKSAkKFhFTl9MSUJYRU5UT09MQ09SRSkv bGlieGVudG9vbGNvcmUkKGxpYmV4dGVuc2lvbikKK1NITElCX2xpYnhlbnRvb2xjb3JlICA9ICQo U0hERVBTX2xpYnhlbnRvb2xjb3JlKSAtV2wsLXJwYXRoLWxpbms9JChYRU5fTElCWEVOVE9PTENP UkUpCisKIENGTEFHU19saWJ4ZW5ldnRjaG4gPSAtSSQoWEVOX0xJQlhFTkVWVENITikvaW5jbHVk ZSAkKENGTEFHU194ZW5pbmNsdWRlKQogU0hERVBTX2xpYnhlbmV2dGNobiA9CiBMRExJQlNfbGli eGVuZXZ0Y2huID0gJChTSERFUFNfbGlieGVuZXZ0Y2huKSAkKFhFTl9MSUJYRU5FVlRDSE4pL2xp YnhlbmV2dGNobiQobGliZXh0ZW5zaW9uKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9NYWtlZmls ZSBiL3Rvb2xzL2xpYnMvTWFrZWZpbGUKaW5kZXggMjAzNTg3My4uZWE5YTY0ZCAxMDA2NDQKLS0t IGEvdG9vbHMvbGlicy9NYWtlZmlsZQorKysgYi90b29scy9saWJzL01ha2VmaWxlCkBAIC0yLDYg KzIsNyBAQCBYRU5fUk9PVCA9ICQoQ1VSRElSKS8uLi8uLgogaW5jbHVkZSAkKFhFTl9ST09UKS90 b29scy9SdWxlcy5tawogCiBTVUJESVJTLXkgOj0KK1NVQkRJUlMteSArPSB0b29sY29yZQogU1VC RElSUy15ICs9IHRvb2xsb2cKIFNVQkRJUlMteSArPSBldnRjaG4KIFNVQkRJUlMteSArPSBnbnR0 YWIKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdG9vbGNvcmUvTWFrZWZpbGUgYi90b29scy9saWJz L3Rvb2xjb3JlL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4 NmY4MzkKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9saWJzL3Rvb2xjb3JlL01ha2VmaWxlCkBA IC0wLDAgKzEsMTAxIEBACitYRU5fUk9PVCA9ICQoQ1VSRElSKS8uLi8uLi8uLgoraW5jbHVkZSAk KFhFTl9ST09UKS90b29scy9SdWxlcy5taworCitNQUpPUgk9IDEKK01JTk9SCT0gMAorU0hMSUJf TERGTEFHUyArPSAtV2wsLS12ZXJzaW9uLXNjcmlwdD1saWJ4ZW50b29sY29yZS5tYXAKKworQ0ZM QUdTCSs9IC1XZXJyb3IgLVdtaXNzaW5nLXByb3RvdHlwZXMKK0NGTEFHUwkrPSAtSS4vaW5jbHVk ZQorCitTUkNTLXkJKz0gaGFuZGxlcmVnLmMKKworTElCX09CSlMgOj0gJChwYXRzdWJzdCAlLmMs JS5vLCQoU1JDUy15KSkKK1BJQ19PQkpTIDo9ICQocGF0c3Vic3QgJS5jLCUub3BpYywkKFNSQ1Mt eSkpCisKK0xJQiA6PSBsaWJ4ZW50b29sY29yZS5hCitpZm5lcSAoJChub3NoYXJlZGxpYnMpLHkp CitMSUIgKz0gbGlieGVudG9vbGNvcmUuc28KK2VuZGlmCisKK1BLR19DT05GSUcgOj0geGVudG9v bGNvcmUucGMKK1BLR19DT05GSUdfVkVSU0lPTiA6PSAkKE1BSk9SKS4kKE1JTk9SKQorCitpZm5l cSAoJChDT05GSUdfTElCWENfTUlOSU9TKSx5KQorUEtHX0NPTkZJR19JTlNUIDo9ICQoUEtHX0NP TkZJRykKKyQoUEtHX0NPTkZJR19JTlNUKTogUEtHX0NPTkZJR19QUkVGSVggPSAkKHByZWZpeCkK KyQoUEtHX0NPTkZJR19JTlNUKTogUEtHX0NPTkZJR19JTkNESVIgPSAkKGluY2x1ZGVkaXIpCisk KFBLR19DT05GSUdfSU5TVCk6IFBLR19DT05GSUdfTElCRElSID0gJChsaWJkaXIpCitlbmRpZgor CitQS0dfQ09ORklHX0xPQ0FMIDo9ICQoZm9yZWFjaCBwYywkKFBLR19DT05GSUcpLCQoUEtHX0NP TkZJR19ESVIpLyQocGMpKQorCiskKFBLR19DT05GSUdfTE9DQUwpOiBQS0dfQ09ORklHX1BSRUZJ WCA9ICQoWEVOX1JPT1QpCiskKFBLR19DT05GSUdfTE9DQUwpOiBQS0dfQ09ORklHX0lOQ0RJUiA9 ICQoWEVOX0xJQlhFTlRPT0xDT1JFKS9pbmNsdWRlCiskKFBLR19DT05GSUdfTE9DQUwpOiBQS0df Q09ORklHX0xJQkRJUiA9ICQoQ1VSRElSKQorCitBVVRPSU5DUz1pbmNsdWRlL194ZW50b29sY29y ZV9saXN0LmgKKworLlBIT05ZOiBhbGwKK2FsbDogYnVpbGQKKworLlBIT05ZOiBidWlsZAorYnVp bGQ6CisJJChNQUtFKSBsaWJzCisKKy5QSE9OWTogbGlicworbGliczogaGVhZGVycy5jaGsgJChM SUIpICQoUEtHX0NPTkZJR19JTlNUKSAkKFBLR19DT05GSUdfTE9DQUwpCisKKyUubzogJChBVVRP SU5DUykKKyUub3BpYzogJChBVVRPSU5DUykKKworaGVhZGVycy5jaGs6ICQod2lsZGNhcmQgaW5j bHVkZS8qLmgpICQoQVVUT0lOQ1MpCisKK2luY2x1ZGUvX3hlbnRvb2xjb3JlX2xpc3QuaDogJChY RU5fSU5DTFVERSkveGVuLWV4dGVybmFsL2JzZC1zeXMtcXVldWUtaC1zZWRkZXJ5ICQoWEVOX0lO Q0xVREUpL3hlbi1leHRlcm5hbC9ic2Qtc3lzLXF1ZXVlLmgKKwkkKFBFUkwpICReIC0tcHJlZml4 PXhlbnRvb2xjb3JlID4kQC5uZXcKKwkkKGNhbGwgbW92ZS1pZi1jaGFuZ2VkLCRALm5ldywkQCkK KworbGlieGVudG9vbGNvcmUuYTogJChMSUJfT0JKUykKKwkkKEFSKSByYyAkQCAkXgorCitsaWJ4 ZW50b29sY29yZS5zbzogbGlieGVudG9vbGNvcmUuc28uJChNQUpPUikKKwkkKFNZTUxJTktfU0hM SUIpICQ8ICRACitsaWJ4ZW50b29sY29yZS5zby4kKE1BSk9SKTogbGlieGVudG9vbGNvcmUuc28u JChNQUpPUikuJChNSU5PUikKKwkkKFNZTUxJTktfU0hMSUIpICQ8ICRACisKK2xpYnhlbnRvb2xj b3JlLnNvLiQoTUFKT1IpLiQoTUlOT1IpOiAkKFBJQ19PQkpTKSBsaWJ4ZW50b29sY29yZS5tYXAK KwkkKENDKSAkKExERkxBR1MpIC1XbCwkKFNPTkFNRV9MREZMQUcpIC1XbCxsaWJ4ZW50b29sY29y ZS5zby4kKE1BSk9SKSAkKFNITElCX0xERkxBR1MpIC1vICRAICQoUElDX09CSlMpICQoQVBQRU5E X0xERkxBR1MpCisKKy5QSE9OWTogaW5zdGFsbAoraW5zdGFsbDogYnVpbGQKKwkkKElOU1RBTExf RElSKSAkKERFU1RESVIpJChsaWJkaXIpCisJJChJTlNUQUxMX0RJUikgJChERVNURElSKSQoaW5j bHVkZWRpcikKKwkkKElOU1RBTExfU0hMSUIpIGxpYnhlbnRvb2xjb3JlLnNvLiQoTUFKT1IpLiQo TUlOT1IpICQoREVTVERJUikkKGxpYmRpcikKKwkkKElOU1RBTExfREFUQSkgbGlieGVudG9vbGNv cmUuYSAkKERFU1RESVIpJChsaWJkaXIpCisJJChTWU1MSU5LX1NITElCKSBsaWJ4ZW50b29sY29y ZS5zby4kKE1BSk9SKS4kKE1JTk9SKSAkKERFU1RESVIpJChsaWJkaXIpL2xpYnhlbnRvb2xjb3Jl LnNvLiQoTUFKT1IpCisJJChTWU1MSU5LX1NITElCKSBsaWJ4ZW50b29sY29yZS5zby4kKE1BSk9S KSAkKERFU1RESVIpJChsaWJkaXIpL2xpYnhlbnRvb2xjb3JlLnNvCisJJChJTlNUQUxMX0RBVEEp IGluY2x1ZGUveGVudG9vbGNvcmUuaCAkKERFU1RESVIpJChpbmNsdWRlZGlyKQorCSQoSU5TVEFM TF9EQVRBKSB4ZW50b29sY29yZS5wYyAkKERFU1RESVIpJChQS0dfSU5TVEFMTERJUikKKworLlBI T05ZOiB1aW5zdGFsbAordW5pbnN0YWxsOgorCXJtIC1mICQoREVTVERJUikkKFBLR19JTlNUQUxM RElSKS94ZW50b29sY29yZS5wYworCXJtIC1mICQoREVTVERJUikkKGluY2x1ZGVkaXIpL3hlbnRv b2xjb3JlLmgKKwlybSAtZiAkKERFU1RESVIpJChsaWJkaXIpL2xpYnhlbnRvb2xjb3JlLnNvCisJ cm0gLWYgJChERVNURElSKSQobGliZGlyKS9saWJ4ZW50b29sY29yZS5zby4kKE1BSk9SKQorCXJt IC1mICQoREVTVERJUikkKGxpYmRpcikvbGlieGVudG9vbGNvcmUuc28uJChNQUpPUikuJChNSU5P UikKKwlybSAtZiAkKERFU1RESVIpJChsaWJkaXIpL2xpYnhlbnRvb2xjb3JlLmEKKworLlBIT05Z OiBUQUdTCitUQUdTOgorCWV0YWdzIC10ICouYyAqLmgKKworLlBIT05ZOiBjbGVhbgorY2xlYW46 CisJcm0gLXJmICoucnBtICQoTElCKSAqfiAkKERFUFNfUk0pICQoTElCX09CSlMpICQoUElDX09C SlMpCisJcm0gLWYgbGlieGVudG9vbGNvcmUuc28uJChNQUpPUikuJChNSU5PUikgbGlieGVudG9v bGNvcmUuc28uJChNQUpPUikKKwlybSAtZiBoZWFkZXJzLmNoaworCXJtIC1mIHhlbnRvb2xjb3Jl LnBjCisKKy5QSE9OWTogZGlzdGNsZWFuCitkaXN0Y2xlYW46IGNsZWFuCmRpZmYgLS1naXQgYS90 b29scy9saWJzL3Rvb2xjb3JlL2hhbmRsZXJlZy5jIGIvdG9vbHMvbGlicy90b29sY29yZS9oYW5k bGVyZWcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQwMWEyCi0tLSAv ZGV2L251bGwKKysrIGIvdG9vbHMvbGlicy90b29sY29yZS9oYW5kbGVyZWcuYwpAQCAtMCwwICsx LDc4IEBACisvKgorICogaGFuZGxyZWcuYworICoKKyAqIGltcGxlbWVudGF0aW9uIG9mIHhlbnRv b2xjb3JlX3Jlc3RyaWN0X2FsbAorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNyBDaXRyaXgKKyAq IFBhcnQgb2YgYSBnZW5lcmljIGxvZ2dpbmcgaW50ZXJmYWNlIHVzZWQgYnkgdmFyaW91cyBkb20w IHVzZXJsYW5kIGxpYnJhcmllcy4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOworICogdmVyc2lvbiAyLjEg b2YgdGhlIExpY2Vuc2UuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs IFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpbmNsdWRlICJ4ZW50b29s Y29yZV9pbnRlcm5hbC5oIgorCisjaW5jbHVkZSA8cHRocmVhZC5oPgorI2luY2x1ZGUgPGFzc2Vy dC5oPgorCitzdGF0aWMgcHRocmVhZF9tdXRleF90IGhhbmRsZXNfbG9jayA9IFBUSFJFQURfTVVU RVhfSU5JVElBTElaRVI7CitzdGF0aWMgWEVOVE9PTENPUkVfTElTVF9IRUFEKCwgWGVudG9vbGNv cmVfX0FjdGl2ZV9IYW5kbGUpIGhhbmRsZXM7CisKK3N0YXRpYyB2b2lkIGxvY2sodm9pZCkgewor ICAgIGludCBlID0gcHRocmVhZF9tdXRleF91bmxvY2soJmhhbmRsZXNfbG9jayk7CisgICAgYXNz ZXJ0KCFlKTsKK30KKworc3RhdGljIHZvaWQgdW5sb2NrKHZvaWQpIHsKKyAgICBpbnQgZSA9IHB0 aHJlYWRfbXV0ZXhfdW5sb2NrKCZoYW5kbGVzX2xvY2spOworICAgIGFzc2VydCghZSk7Cit9CisK K3ZvaWQgeGVudG9vbGNvcmVfX3JlZ2lzdGVyX2FjdGl2ZV9oYW5kbGUoWGVudG9vbGNvcmVfX0Fj dGl2ZV9IYW5kbGUgKmFoKSB7CisgICAgbG9jaygpOworICAgIFhFTlRPT0xDT1JFX0xJU1RfSU5T RVJUX0hFQUQoJmhhbmRsZXMsIGFoLCBlbnRyeSk7CisgICAgdW5sb2NrKCk7Cit9CisKK3ZvaWQg eGVudG9vbGNvcmVfX2RlcmVnaXN0ZXJfYWN0aXZlX2hhbmRsZShYZW50b29sY29yZV9fQWN0aXZl X0hhbmRsZSAqYWgpIHsKKyAgICBsb2NrKCk7CisgICAgWEVOVE9PTENPUkVfTElTVF9SRU1PVkUo YWgsIGVudHJ5KTsKKyAgICB1bmxvY2soKTsKK30KKworaW50IHhlbnRvb2xjb3JlX3Jlc3RyaWN0 X2FsbCh1aW50MzJfdCBkb21pZCkgeworLyogeHh4IGxvY2sgKi8KKyAgICBpbnQgcjsKKyAgICBY ZW50b29sY29yZV9fQWN0aXZlX0hhbmRsZSAqYWg7CisKKyAgICBsb2NrKCk7CisgICAgWEVOVE9P TENPUkVfTElTVF9GT1JFQUNIKGFoLCAmaGFuZGxlcywgZW50cnkpIHsKKyAgICAgICAgciA9IGFo LT5yZXN0cmljdF9jYWxsYmFjayhhaCwgZG9taWQpOworICAgICAgICBpZiAocikgZ290byBvdXQ7 CisgICAgfQorCisgICAgciA9IDA7Cisgb3V0OgorICAgIHVubG9jaygpOworICAgIHJldHVybiBy OworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0 eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5k ZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv dG9vbGNvcmUvaW5jbHVkZS94ZW50b29sY29yZS5oIGIvdG9vbHMvbGlicy90b29sY29yZS9pbmNs dWRlL3hlbnRvb2xjb3JlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFi NjQ2ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2xpYnMvdG9vbGNvcmUvaW5jbHVkZS94ZW50 b29sY29yZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiB4ZW50b29sY29yZS5oCisgKgorICog Q29weXJpZ2h0IChjKSAyMDE3IENpdHJpeAorICogCisgKiBDb21tb24gZmVhdHVyZXMgdXNlZC9w cm92aWRlZCBieSBhbGwgWGVuIHRvb2xzIGxpYnJhcmllcworICoKKyAqIFRoaXMgbGlicmFyeSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247Cisg KiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5 OyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2lm bmRlZiBYRU5UT09MQ09SRV9ICisjZGVmaW5lIFhFTlRPT0xDT1JFX0gKKworI2luY2x1ZGUgPHN0 ZGludC5oPgorCisvKgorICogaW50IHhlbnRvb2xjb3JlX3Jlc3RyaWN0X2FsbCh1aW50MzJfdCBk b21pZCk7CisgKgorICogQXJyYW5nZXMgdGhhdCBYZW4gbGlicmFyeSBoYW5kbGVzIChmZHMgZXRj Likgd2hpY2ggYXJlIGN1cnJlbnRseSBoZWxkCisgKiBieSBYZW4gbGlicmFyaWVzLCBjYW4gbm8g bG9uZ2VyIGJlIHVzZWQgb3RoZXIgdGhhbiB0byBhZmZlY3QgZG9taWQuCisgKgorICogSWYgdGhp cyBjYW5ub3QgYmUgYWNoaWV2ZWQsIHJldHVybnMgLTEgYW5kIHNldHMgZXJybm8uCisgKiBJZGVt cG90ZW50IGlmIGRvbWlkIGlzIGFsd2F5cyB0aGUgc2FtZS4KKyAqCisgKiAgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K KyAqICBJTVBPUlRBTlQgLSBJTVBMRU1FTlRBVElPTiBTVEFUVVMKKyAqCisgKiAgVGhpcyBmdW5j dGlvbiB3aWxsIGJlIGltcGxlbWVudGVkIGluc29mYXIgYXMgaXQgYXBwZWFycyBuZWNlc3NhcnkK KyAqICBmb3IgdGhlIHB1cnBvc2VzIG9mIHJ1bm5pbmcgYSBkZXByaXZpbGVnZWQgcWVtdS4KKyAq CisgKiAgSG93ZXZlciwgdGhpcyBmdW5jdGlvbiBpcyBOT1QgaW1wbGVtZW50ZWQgZm9yIGFsbCBY ZW4gbGlicmFyaWVzLgorICogIEZvciBlYWNoIHVzZSBjYXNlIG9mIHRoaXMgZnVuY3Rpb24sIHRo ZSBkZXNpZ25lciBtdXN0IGV2YWx1YXRlIGFuZAorICogIGF1ZGl0IHdoZXRoZXIgdGhlIGltcGxl bWVudGF0aW9uIGlzIHN1ZmZpY2llbnQgaW4gdGhlaXIgc3BlY2lmaWMKKyAqICBjb250ZXh0Lgor ICoKKyAqICBPZiBjb3Vyc2UsIHBhdGNoZXMgdG8gZXh0ZW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBh cmUgdmVyeSB3ZWxjb21lLgorICogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKgorICogVGhyZWFkIHNhZmUuCisg KgorICogV2UgZXhwZWN0IHRoYXQgbm8gY2FsbGVycyBkbyB0aGUgZm9sbG93aW5nOgorICogICAt IGluIG9uZSB0aHJlYWQgY2FsbCB4ZW5fc29tZWxpYnJhcnlfb3BlbnxjbG9zZQorICogICAtIGlu IGFub3RoZXIgdGhyZWFkIGNhbGwgZm9yaworICogICAtIGluIHRoZSBjaGlsZCBvZiB0aGUgZm9y aywgYmVmb3JlIGV4ZWMsIGNhbGwKKyAqICAgICB4ZW5fc29tZVtvdGhlcl1saWJyYXJ5X29wZW58 Y2xvc2Ugb3IgeGVudG9vbGNvcmVfcmVzdHJpY3RfYWxsCisgKgorICovCitpbnQgeGVudG9vbGNv cmVfcmVzdHJpY3RfYWxsKHVpbnQzMl90IGRvbWlkKTsKKworI2VuZGlmIC8qIFhFTlRPT0xDT1JF X0ggKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1z dHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGlu ZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS90b29scy9saWJz L3Rvb2xjb3JlL2luY2x1ZGUveGVudG9vbGNvcmVfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnMvdG9v bGNvcmUvaW5jbHVkZS94ZW50b29sY29yZV9pbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjY3MGUyOWQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9saWJzL3Rv b2xjb3JlL2luY2x1ZGUveGVudG9vbGNvcmVfaW50ZXJuYWwuaApAQCAtMCwwICsxLDEwMiBAQAor LyoKKyAqIHhlbnRvb2xjb3JlX2ludGVybmFsLmgKKyAqCisgKiBJbnRlcmZhY2VzIG9mIHhlbnRv b2xjb3JlIGRpcmVjdGVkIGludGVybmFsbHkgYXQgb3RoZXIgWGVuIGxpYnJhcmllcworICoKKyAq IENvcHlyaWdodCAoYykgMjAxNyBDaXRyaXgKKyAqIAorICogQ29tbW9uIGNvZGUgdXNlZCBieSBh bGwgWGVuIHRvb2xzIGxpYnJhcmllcworICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247CisgKiB2ZXJzaW9uIDIu MSBvZiB0aGUgTGljZW5zZS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor ICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy YWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2lmbmRlZiBYRU5UT09M Q09SRV9JTlRFUk5BTF9ICisjZGVmaW5lIFhFTlRPT0xDT1JFX0lOVEVSTkFMX0gKKworI2luY2x1 ZGUgInhlbnRvb2xjb3JlLmgiCisjaW5jbHVkZSAiX3hlbnRvb2xjb3JlX2xpc3QuaCIKKworLyot LS0tLS0tLS0tIGFjdGl2ZSBoYW5kbGUgcmVnaXN0cmF0aW9uIC0tLS0tLS0tLS0qLworCisvKgor ICogVGhpcyBpcyBhbGwgdG8gc3VwcG9ydCB4ZW50b29sY29yZV9yZXN0cmljdF9hbGwKKyAqCisg KiBBbnkgbGlieGwgbGlicmFyeSB0aGF0IG9wZW5zIGEgWGVuIGNvbnRyb2wgaGFuZGxlIG9mIGFu eSBraW5kIHdoaWNoCisgKiBtaWdodCBhbGxvdyBtYW5pcHVsYXRpb24gb2YgZG9tMCwgb2Ygb3Ro ZXIgZG9tYWlucywgb3Igb2YgdGhlIHdob2xlCisgKiBtYWNoaW5lLCBtdXN0OgorICogICBJLiBh cnJhbmdlIHRoYXQgdGhlaXIgb3duIGRhdGFzdHJ1Y3R1cmUgY29udGFpbnMgYQorICogICAgICAg ICAgWGVudG9vbGNvcmVfX0FjdGl2ZV9IYW5kbGUKKyAqIAorICogICBJSS4gZHVyaW5nIHRoZSAi b3BlbiBoYW5kbGUiIGZ1bmN0aW9uCisgKiAgICAgMS4gYWxsb2NhdGUgdGhlIG1lbW9yeSBmb3Ig dGhlIG93biBkYXRhc3RydWN0dXJlIGFuZCBpbml0aWFsaXNlIGl0CisgKiAgICAgMi4gc2V0IFhl bnRvb2xjb3JlX19BY3RpdmVfSGFuZGxlLnJlc3RyaWN0X2NhbGxiYWNrCisgKiAgICAgMy4gY2Fs bCB4ZW50b29sY29yZV9fcmVnaXN0ZXJfYWN0aXZlX2hhbmRsZQorICogICAgICAgM2EuIGlmIHRo ZSBvcGVuIGZhaWxzLCBjYWxsIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2ZV9oYW5kbGUK KyAqICAgICA0LiBPTkxZIFRIRU4gYWN0dWFsbHkgb3BlbiB0aGUgcmVsZXZhbnQgZmQgb3Igd2hh dGV2ZXIKKyAqCisgKiAgIElJSS4gZHVyaW5nIHRoZSAiY2xvc2UgaGFuZGxlIiBmdW5jdGlvbgor ICogICAgIDEuIEZJUlNUIGNsb3NlIHRoZSByZWxldmFudCBmZCBvciB3aGF0ZXZlcgorICogICAg IDIuIGNhbGwgeGVudG9vbGNvcmVfX2RlcmVnaXN0ZXJfYWN0aXZlX2hhbmRsZQorICoKKyAqICAg SVYuIGluIHRoZSByZXN0cmljdF9jYWxsYmFjayBmdW5jdGlvbgorICogICAgICogQXJyYW5nZSB0 aGF0IHRoZSBmZCAob3Igb3RoZXIgaGFuZGxlKSBjYW4gbm8gbG9uZ2VyIGJ5IHVzZWQKKyAqICAg ICAgIG90aGVyIHRoYW4gd2l0aCByZXNwZWN0IHRvIGRvbWFpbiBkb21pZC4KKyAqICAgICAqIEZ1 dHVyZSBhdHRlbXB0cyB0byBtYW5pcHVsYXRlIG90aGVyIGRvbWFpbnMgKG9yIHRoZSB3aG9sZQor ICogICAgICAgaG9zdCkgdmlhIHRoaXMgaGFuZGxlIG11c3QgY2F1c2UgYW4gZXJyb3IgcmV0dXJu IChhbmQKKyAqICAgICAgIHBlcmhhcHMgYSBsb2cgbWVzc2FnZSksIG5vdCBhIGNyYXNoCisgKiAg ICAgKiBJZiBzZWxlY3RpdmUgcmVzdHJpY3Rpb24gaXMgbm90IHBvc3NpYmxlLCB0aGUgaGFuZGxl IG11c3QKKyAqICAgICAgIGJlIGNvbXBsZXRlbHkgaW52YWxpZGF0ZWQgc28gdGhhdCBpdCBpcyBu b3QgdXNlYWJsZTsKKyAqICAgICAgIHN1YnNlcXVlbnQgbWFuaXB1bGF0aW9ucyBtYXkgbm90IGNy YXNoCisgKiAgICAgKiBUaGUgcmVzdHJpY3RfY2FsbGJhY2sgZnVuY3Rpb24gc2hvdWxkIG5vdCBu b3JtYWxseSBmYWlsCisgKiAgICAgICBpZiB0aGlzIGNhbiBiZSBlYXNpbHkgYXZvaWRlZCAtIGl0 IGlzIGJldHRlciB0byBtYWtlIHRoZQorICogICAgICAgaGFuZGxlIG5vbmZ1bmN0aW9uIGluc3Rl YWQuCisgKiAgICAgKiBOQiB0aGF0IHJlc3RyaWN0X2NhbGxiYWNrIG1pZ2h0IGJlIGNhbGxlZCBh Z2Fpbi4gIFRoYXQgbXVzdAorICogICAgICAgd29yayBwcm9wZXJseTogaWYgdGhlIGRvbWlkIGlz IHRoZSBzYW1lLCBpdCBpcyBpZGVtcG90ZW50LgorICogICAgICAgSWYgdGhlIGRvbWlkIGlzIGRp ZmZlcmVudC4gdGhlbiBlaXRoZXIgdGhlIGhhbmRsZSBtdXN0IGJlCisgKiAgICAgICBjb21wbGV0 ZWx5IGludmFsaWRhdGVkLCBvciByZXN0cmljdF9jYWxsYmFjayBtdXN0IGZhaWwuKQorICoKKyAq IFRocmVhZCBzYWZldHk6CisgKiAgICB4ZW50b29sY29yZV9fW2RlXXJlZ2lzdGVyX2FjdGl2ZV9o YW5kbGUgYXJlIHRocmVhZHNhZmUKKyAqICAgICAgYnV0IE1VU1QgTk9UIGJlIGNhbGxlZCB3aXRo aW4gcmVzdHJpY3RfY2FsbGJhY2sKKyAqCisgKiBGb3JrIHNhZmV0eToKKyAqICAgIExpYnJhcmll cyB3aGljaCB1c2UgdGhlc2UgZnVuY3Rpb25zIGRvIG5vdCBvbiB0aGF0IGFjY291bnQKKyAqICAg IG5lZWQgdG8gdGFrZSBhbnkgc3BlY2lhbCBjYXJlIG92ZXIgZm9ya3Mgb2NjdXJyaW5nIGluCisg KiAgICBvdGhlciB0aHJlYWRzLCBwcm92aWRlZCB0aGF0IHRoZXkgb2JleSB0aGUgcnVsZXMgYWJv dmUuCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgWGVudG9vbGNvcmVfX0FjdGl2ZV9IYW5kbGUgWGVu dG9vbGNvcmVfX0FjdGl2ZV9IYW5kbGU7CisKK3R5cGVkZWYgaW50IFhlbnRvb2xjb3JlX19SZXN0 cmljdF9DYWxsYmFjayhYZW50b29sY29yZV9fQWN0aXZlX0hhbmRsZSosCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQpOworCitzdHJ1Y3Qg WGVudG9vbGNvcmVfX0FjdGl2ZV9IYW5kbGUgeworICAgIFhlbnRvb2xjb3JlX19SZXN0cmljdF9D YWxsYmFjayAqcmVzdHJpY3RfY2FsbGJhY2s7CisgICAgWEVOVE9PTENPUkVfTElTVF9FTlRSWShY ZW50b29sY29yZV9fQWN0aXZlX0hhbmRsZSkgZW50cnk7Cit9OworCit2b2lkIHhlbnRvb2xjb3Jl X19yZWdpc3Rlcl9hY3RpdmVfaGFuZGxlKFhlbnRvb2xjb3JlX19BY3RpdmVfSGFuZGxlKik7Cit2 b2lkIHhlbnRvb2xjb3JlX19kZXJlZ2lzdGVyX2FjdGl2ZV9oYW5kbGUoWGVudG9vbGNvcmVfX0Fj dGl2ZV9IYW5kbGUqKTsKKworI2VuZGlmIC8qIFhFTlRPT0xDT1JFX0lOVEVSTkFMX0ggKi8KKwor LyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJT RCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJz LW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS90b29scy9saWJzL3Rvb2xjb3Jl L2xpYnhlbnRvb2xjb3JlLm1hcCBiL3Rvb2xzL2xpYnMvdG9vbGNvcmUvbGlieGVudG9vbGNvcmUu bWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViNWQyNTEKLS0tIC9kZXYv bnVsbAorKysgYi90b29scy9saWJzL3Rvb2xjb3JlL2xpYnhlbnRvb2xjb3JlLm1hcApAQCAtMCww ICsxLDcgQEAKK1ZFUlNfMS4wIHsKKwlnbG9iYWw6CisJCXhlbnRvb2xjb3JlX3Jlc3RyaWN0X2Fs bDsKKwkJeGVudG9vbGNvcmVfX3JlZ2lzdGVyX2FjdGl2ZV9oYW5kbGU7CisJCXhlbnRvb2xjb3Jl X19kZXJlZ2lzdGVyX2FjdGl2ZV9oYW5kbGU7CisJbG9jYWw6ICo7IC8qIERvIG5vdCBleHBvc2Ug YW55dGhpbmcgYnkgZGVmYXVsdCAqLworfTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvdG9vbGNv cmUveGVudG9vbGNvcmUucGMuaW4gYi90b29scy9saWJzL3Rvb2xjb3JlL3hlbnRvb2xjb3JlLnBj LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZmY0ZTIKLS0tIC9kZXYv bnVsbAorKysgYi90b29scy9saWJzL3Rvb2xjb3JlL3hlbnRvb2xjb3JlLnBjLmluCkBAIC0wLDAg KzEsOSBAQAorcHJlZml4PUBAcHJlZml4QEAKK2luY2x1ZGVkaXI9QEBpbmNkaXJAQAorbGliZGly PUBAbGliZGlyQEAKKworTmFtZTogWGVudG9vbGNvcmUKK0Rlc2NyaXB0aW9uOiBDZW50cmFsIHN1 cHBvcnQgZm9yIFhlbiBIeXBlcnZpc29yIHVzZXJsYW5kIGxpYnJhcmllcworVmVyc2lvbjogQEB2 ZXJzaW9uQEAKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9CitMaWJzOiBAQGxpYnNmbGFnQEAke2xp YmRpcn0gLWx4ZW50b29sY29yZQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK