From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v8 47/50] x86emul: restore ordering within main switch statement Date: Fri, 15 Mar 2019 05:07:08 -0600 Message-ID: <5C8B875C020000780021F326@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C8B7EC0020000780021F10B@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h4kgA-0001yT-6A for xen-devel@lists.xenproject.org; Fri, 15 Mar 2019 11:07:10 +0000 In-Reply-To: <5C8B7EC0020000780021F10B@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW5jcmVtZW50YWwgYWRkaXRpb25zIGFuZC9vciBtaXN0YWtlcyBoYXZlIGxlYWQgdG8gc29tZSBj b2RlIGJsb2NrcwpzaXR0aW5nIGluICJ1bmV4cGVjdGVkIiBwbGFjZXMuIFJlLXNvcnQgdGhlIGNh c2UgYmxvY2tzIChvcGNvZGUgc3BhY2U7Cm1ham9yIG9wY29kZTsgNjYvRjMvRjIgcHJlZml4OyBs ZWdhY3kvVkVYL0VWRVggZW5jb2RpbmcpLgoKQXMgYW4gZXhjZXB0aW9uIHRoZSBvcGNvZGUgc3Bh Y2UgMHgwZiBFVkVYLWVuY29kZWQgVlBFWFRSVyBpcyBsZWZ0IGF0Cml0cyBjdXJyZW50IHBsYWNl LCB0byBrZWVwIGl0IGNsb3NlIHRvIHRoZSAicGV4dHIiIGxhYmVsLgoKUHVyZSBjb2RlIG1vdmVt ZW50LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0K djc6IE5ldy4KCi0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCisr KyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCkBAIC03MTI5LDE1ICs3 MTI5LDYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIEFTU0VSVCghc3RhdGUtPnNpbWRfc2l6ZSk7 CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYX0YzKDB4MGYsIDB4 N2UpOiAvKiB2bW92cSB4bW0vbTY0LHhtbSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmLCAweGQ2KTogLyogdm1vdnEgeG1tLHhtbS9tNjQgKi8KLSAgICAgICAgZ2VuZXJhdGVf ZXhjZXB0aW9uX2lmKGV2ZXgubHIgfHwgIWV2ZXgudyB8fCBldmV4Lm9wbXNrIHx8IGV2ZXguYnJz LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhDX1VEKTsKLSAgICAgICAgaG9zdF9h bmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7Ci0gICAgICAgIGQgfD0gVHdvT3A7Ci0gICAgICAg IG9wX2J5dGVzID0gODsKLSAgICAgICAgZ290byBzaW1kX3ptbTsKLQogICAgIGNhc2UgWDg2RU1V TF9PUENfNjYoMHgwZiwgMHhlNyk6ICAgICAvKiBtb3ZudGRxIHhtbSxtMTI4ICovCiAgICAgY2Fz ZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZiwgMHhlNyk6IC8qIHZtb3ZudGRxIHt4LHl9bW0sbWVt ICovCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwgRVhD X1VEKTsKQEAgLTc1MzUsNiArNzUyNiwxNSBAQCB4ODZfZW11bGF0ZSgKICAgICAgICAgb3BfYnl0 ZXMgPSA4OwogICAgICAgICBnb3RvIHNpbWRfMGZfaW50OwogCisgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYX0YzKDB4MGYsIDB4N2UpOiAvKiB2bW92cSB4bW0vbTY0LHhtbSAqLworICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmLCAweGQ2KTogLyogdm1vdnEgeG1tLHhtbS9tNjQgKi8K KyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXgubHIgfHwgIWV2ZXgudyB8fCBldmV4 Lm9wbXNrIHx8IGV2ZXguYnJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhDX1VE KTsKKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7CisgICAgICAgIGQg fD0gVHdvT3A7CisgICAgICAgIG9wX2J5dGVzID0gODsKKyAgICAgICAgZ290byBzaW1kX3ptbTsK KwogICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZiwgMHg4MCkgLi4uIFg4NkVNVUxfT1BDKDB4MGYs IDB4OGYpOiAvKiBqY2MgKG5lYXIpICovCiAgICAgICAgIGlmICggdGVzdF9jYyhiLCBfcmVncy5l ZmxhZ3MpICkKICAgICAgICAgICAgIGptcF9yZWwoKGludDMyX3Qpc3JjLnZhbCk7CkBAIC04NjM1 LDYzICs4NjM1LDYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGRzdC50eXBlID0gT1BfTk9ORTsK ICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAw eDEwKTogLyogdnBzcmx2dyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBj YXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDExKTogLyogdnBzcmF2dyBbeHl6XW1t L21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYo MHgwZjM4LCAweDEyKTogLyogdnBzbGx2dyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KLSAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyYncpOwotICAgICAgICBn ZW5lcmF0ZV9leGNlcHRpb25faWYoIWV2ZXgudyB8fCBldmV4LmJycywgRVhDX1VEKTsKLSAgICAg ICAgZWxlbV9ieXRlcyA9IDI7Ci0gICAgICAgIGdvdG8gYXZ4NTEyZl9ub19zYWU7Ci0KLSAgICBj YXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDE4KTogLyogdmJyb2FkY2FzdHNzIHht bS9tMzIsW3h5el1tbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgs IDB4NTgpOiAvKiB2cGJyb2FkY2FzdGQgeG1tL20zMixbeHl6XW1te2t9ICovCi0gICAgICAgIG9w X2J5dGVzID0gZWxlbV9ieXRlczsKLSAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXgu dyB8fCBldmV4LmJycywgRVhDX1VEKTsKLSAgICBhdng1MTJfYnJvYWRjYXN0OgotICAgICAgICAv KgotICAgICAgICAgKiBGb3IgdGhlIHJlc3BlY3RpdmUgY29kZSBiZWxvdyB0aGUgbWFpbiBzd2l0 Y2goKSB0byB3b3JrIHdlIG5lZWQgdG8KLSAgICAgICAgICogZm9sZCBvcF9tYXNrIGhlcmU6IEEg c291cmNlIGVsZW1lbnQgZ2V0cyByZWFkIHdoZW5ldmVyIGFueSBvZiBpdHMKLSAgICAgICAgICog cmVzcGVjdGl2ZSBkZXN0aW5hdGlvbiBlbGVtZW50cycgbWFzayBiaXRzIGlzIHNldC4KLSAgICAg ICAgICovCi0gICAgICAgIGlmICggZmF1bHRfc3VwcHJlc3Npb24gKQotICAgICAgICB7Ci0gICAg ICAgICAgICBuID0gMSA8PCAoKGIgJiAzKSAtIGV2ZXgudyk7Ci0gICAgICAgICAgICBFWFBFQ1Qo ZWxlbV9ieXRlcyA+IDApOwotICAgICAgICAgICAgQVNTRVJUKG9wX2J5dGVzID09IG4gKiBlbGVt X2J5dGVzKTsKLSAgICAgICAgICAgIGZvciAoIGkgPSBuOyBpIDwgKDE2IDw8IGV2ZXgubHIpIC8g ZWxlbV9ieXRlczsgaSArPSBuICkKLSAgICAgICAgICAgICAgICBvcF9tYXNrIHw9IChvcF9tYXNr ID4+IGkpICYgKCgxIDw8IG4pIC0gMSk7Ci0gICAgICAgIH0KLSAgICAgICAgZ290byBhdng1MTJm X25vX3NhZTsKLQotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MWIpOiAv KiB2YnJvYWRjYXN0ZjMyeDggbTI1Nix6bW17a30gKi8KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmJyb2FkY2FzdGY2NHg0IG0yNTYsem1te2t9ICovCi0g ICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg1Yik6IC8qIHZicm9hZGNhc3Rp MzJ4OCBtMjU2LHptbXtrfSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiB2YnJvYWRjYXN0aTY0eDQgbTI1Nix6bW17a30gKi8KLSAgICAgICAgZ2VuZXJh dGVfZXhjZXB0aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVNIHx8IGV2ZXgubHIgIT0gMiwgRVhDX1VE KTsKLSAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVY XzY2KDB4MGYzOCwgMHgxOSk6IC8qIHZicm9hZGNhc3RzZCB4bW0vbTY0LHt5LHp9bW17a30gKi8K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmJyb2FkY2Fz dGYzMngyIHhtbS9tNjQse3ksen1tbXtrfSAqLwotICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25f aWYoIWV2ZXgubHIsIEVYQ19VRCk7Ci0gICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwotICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4NTkpOiAvKiB2cGJyb2FkY2FzdHEgeG1t L202NCxbeHl6XW1te2t9ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIHZicm9hZGNhc3RpMzJ4MiB4bW0vbTY0LFt4eXpdbW17a30gKi8KLSAgICAgICAg aWYgKCBiID09IDB4NTkgKQotICAgICAgICAgICAgb3BfYnl0ZXMgPSA4OwotICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYoZXZleC5icnMsIEVYQ19VRCk7Ci0gICAgICAgIGlmICggIWV2ZXgu dyApCi0gICAgICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJkcSk7Ci0gICAg ICAgIGdvdG8gYXZ4NTEyX2Jyb2FkY2FzdDsKLQotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmMzgsIDB4MWEpOiAvKiB2YnJvYWRjYXN0ZjMyeDQgbTEyOCx7eSx6fW1te2t9ICovCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHZicm9hZGNhc3Rm NjR4MiBtMTI4LHt5LHp9bW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgw ZjM4LCAweDVhKTogLyogdmJyb2FkY2FzdGkzMng0IG0xMjgse3ksen1tbXtrfSAqLwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YnJvYWRjYXN0aTY0eDIg bTEyOCx7eSx6fW1te2t9ICovCi0gICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBl ICE9IE9QX01FTSB8fCAhZXZleC5sciB8fCBldmV4LmJycywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVYQ19VRCk7Ci0gICAgICAgIGlmICggZXZleC53ICkKLSAgICAgICAgICAgIGhv c3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmRxKTsKLSAgICAgICAgZ290byBhdng1MTJfYnJv YWRjYXN0OwotCiAgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmMzgsIDB4MjApOiAvKiBwbW92 c3hidyB4bW0vbTY0LHhtbSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDIx KTogLyogcG1vdnN4YmQgeG1tL20zMix4bW0gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4 MGYzOCwgMHgyMik6IC8qIHBtb3ZzeGJxIHhtbS9tMTYseG1tICovCkBAIC04NzI1LDQ3ICs4NjY4 LDE0IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShzc2U0 XzEpOwogICAgICAgICBnb3RvIHNpbWRfMGYzOF9jb21tb247CiAKLSAgICBjYXNlIFg4NkVNVUxf T1BDX1ZFWF82NigweDBmMzgsIDB4MTMpOiAvKiB2Y3Z0cGgycHMgeG1tL21lbSx7eCx5fW1tICov Ci0gICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZih2ZXgudywgRVhDX1VEKTsKLSAgICAgICAg aG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoZjE2Yyk7Ci0gICAgICAgIG9wX2J5dGVzID0gOCA8PCB2 ZXgubDsKLSAgICAgICAgZ290byBzaW1kXzBmX3ltbTsKLQotICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmMzgsIDB4MTMpOiAvKiB2Y3Z0cGgycHMge3gseX1tbS9tZW0sW3h5el1tbXtr fSAqLwotICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZXZleC53IHx8IChlYS50eXBlICE9 IE9QX1JFRyAmJiBldmV4LmJycyksIEVYQ19VRCk7Ci0gICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVz dF9oYXZlKGF2eDUxMmYpOwotICAgICAgICBpZiAoICFldmV4LmJycyApCi0gICAgICAgICAgICBh dng1MTJfdmxlbl9jaGVjayhmYWxzZSk7Ci0gICAgICAgIG9wX2J5dGVzID0gOCA8PCBldmV4Lmxy OworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTApOiAvKiB2cHNybHZ3 IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmMzgsIDB4MTEpOiAvKiB2cHNyYXZ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTIpOiAv KiB2cHNsbHZ3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgICAgICBob3N0 X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJidyk7CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlv bl9pZighZXZleC53IHx8IGV2ZXguYnJzLCBFWENfVUQpOwogICAgICAgICBlbGVtX2J5dGVzID0g MjsKLSAgICAgICAgZ290byBzaW1kX3ptbTsKLQotICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2 KDB4MGYzOCwgMHgxNik6IC8qIHZwZXJtcHMgeW1tL20yNTYseW1tLHltbSAqLwotICAgIGNhc2Ug WDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHgzNik6IC8qIHZwZXJtZCB5bW0vbTI1Nix5bW0s eW1tICovCi0gICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZighdmV4LmwgfHwgdmV4LncsIEVY Q19VRCk7Ci0gICAgICAgIGdvdG8gc2ltZF8wZl9hdngyOwotCi0gICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHgxNik6IC8qIHZwZXJtcHtzLGR9IHt5LHp9bW0vbWVtLHt5LHp9 bW0se3ksen1tbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4 MzYpOiAvKiB2cGVybXtkLHF9IHt5LHp9bW0vbWVtLHt5LHp9bW0se3ksen1tbXtrfSAqLwotICAg ICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIWV2ZXgubHIsIEVYQ19VRCk7Ci0gICAgICAgIGZh dWx0X3N1cHByZXNzaW9uID0gZmFsc2U7CiAgICAgICAgIGdvdG8gYXZ4NTEyZl9ub19zYWU7CiAK LSAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4MjApOiAvKiB2cG1vdnN4Yncg eG1tL21lbSx7eCx5fW1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAw eDIxKTogLyogdnBtb3ZzeGJkIHhtbS9tZW0se3gseX1tbSAqLwotICAgIGNhc2UgWDg2RU1VTF9P UENfVkVYXzY2KDB4MGYzOCwgMHgyMik6IC8qIHZwbW92c3hicSB4bW0vbWVtLHt4LHl9bW0gKi8K LSAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4MjMpOiAvKiB2cG1vdnN4d2Qg eG1tL21lbSx7eCx5fW1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAw eDI0KTogLyogdnBtb3ZzeHdxIHhtbS9tZW0se3gseX1tbSAqLwotICAgIGNhc2UgWDg2RU1VTF9P UENfVkVYXzY2KDB4MGYzOCwgMHgyNSk6IC8qIHZwbW92c3hkcSB4bW0vbWVtLHt4LHl9bW0gKi8K LSAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4MzApOiAvKiB2cG1vdnp4Yncg eG1tL21lbSx7eCx5fW1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAw eDMxKTogLyogdnBtb3Z6eGJkIHhtbS9tZW0se3gseX1tbSAqLwotICAgIGNhc2UgWDg2RU1VTF9P UENfVkVYXzY2KDB4MGYzOCwgMHgzMik6IC8qIHZwbW92enhicSB4bW0vbWVtLHt4LHl9bW0gKi8K LSAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4MzMpOiAvKiB2cG1vdnp4d2Qg eG1tL21lbSx7eCx5fW1tICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAw eDM0KTogLyogdnBtb3Z6eHdxIHhtbS9tZW0se3gseX1tbSAqLwotICAgIGNhc2UgWDg2RU1VTF9P UENfVkVYXzY2KDB4MGYzOCwgMHgzNSk6IC8qIHZwbW92enhkcSB4bW0vbWVtLHt4LHl9bW0gKi8K LSAgICAgICAgb3BfYnl0ZXMgPSAxNiA+PiAocG1vdl9jb252ZXJ0X2RlbHRhW2IgJiA3XSAtIHZl eC5sKTsKLSAgICAgICAgZ290byBzaW1kXzBmX2ludDsKLQogICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF9GMygweDBmMzgsIDB4MTApOiAvKiB2cG1vdnVzd2IgW3h5el1tbSx7eCx5fW1tL21lbXtr fSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MjApOiAvKiB2cG1v dnN4Yncge3gseX1tbS9tZW0sW3h5el1tbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF9GMygweDBmMzgsIDB4MjApOiAvKiB2cG1vdnN3YiBbeHl6XW1tLHt4LHl9bW0vbWVte2t9ICov CkBAIC04ODExLDYgKzg3MjEsOTYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGVsZW1fYnl0ZXMg PSAoYiAmIDcpIDwgMyA/IDEgOiAoYiAmIDcpICE9IDUgPyAyIDogNDsKICAgICAgICAgZ290byBh dng1MTJmX25vX3NhZTsKIAorICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHgx Myk6IC8qIHZjdnRwaDJwcyB4bW0vbWVtLHt4LHl9bW0gKi8KKyAgICAgICAgZ2VuZXJhdGVfZXhj ZXB0aW9uX2lmKHZleC53LCBFWENfVUQpOworICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2 ZShmMTZjKTsKKyAgICAgICAgb3BfYnl0ZXMgPSA4IDw8IHZleC5sOworICAgICAgICBnb3RvIHNp bWRfMGZfeW1tOworCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgxMyk6 IC8qIHZjdnRwaDJwcyB7eCx5fW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAgIGdlbmVyYXRl X2V4Y2VwdGlvbl9pZihldmV4LncgfHwgKGVhLnR5cGUgIT0gT1BfUkVHICYmIGV2ZXguYnJzKSwg RVhDX1VEKTsKKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7CisgICAg ICAgIGlmICggIWV2ZXguYnJzICkKKyAgICAgICAgICAgIGF2eDUxMl92bGVuX2NoZWNrKGZhbHNl KTsKKyAgICAgICAgb3BfYnl0ZXMgPSA4IDw8IGV2ZXgubHI7CisgICAgICAgIGVsZW1fYnl0ZXMg PSAyOworICAgICAgICBnb3RvIHNpbWRfem1tOworCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhf NjYoMHgwZjM4LCAweDE2KTogLyogdnBlcm1wcyB5bW0vbTI1Nix5bW0seW1tICovCisgICAgY2Fz ZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAweDM2KTogLyogdnBlcm1kIHltbS9tMjU2LHlt bSx5bW0gKi8KKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKCF2ZXgubCB8fCB2ZXgudywg RVhDX1VEKTsKKyAgICAgICAgZ290byBzaW1kXzBmX2F2eDI7CisKKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDE2KTogLyogdnBlcm1we3MsZH0ge3ksen1tbS9tZW0se3ks en1tbSx7eSx6fW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHgzNik6IC8qIHZwZXJte2QscX0ge3ksen1tbS9tZW0se3ksen1tbSx7eSx6fW1te2t9ICovCisg ICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZighZXZleC5sciwgRVhDX1VEKTsKKyAgICAgICAg ZmF1bHRfc3VwcHJlc3Npb24gPSBmYWxzZTsKKyAgICAgICAgZ290byBhdng1MTJmX25vX3NhZTsK KworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4MTgpOiAvKiB2YnJvYWRj YXN0c3MgeG1tL20zMixbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2 KDB4MGYzOCwgMHg1OCk6IC8qIHZwYnJvYWRjYXN0ZCB4bW0vbTMyLFt4eXpdbW17a30gKi8KKyAg ICAgICAgb3BfYnl0ZXMgPSBlbGVtX2J5dGVzOworICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25f aWYoZXZleC53IHx8IGV2ZXguYnJzLCBFWENfVUQpOworICAgIGF2eDUxMl9icm9hZGNhc3Q6Cisg ICAgICAgIC8qCisgICAgICAgICAqIEZvciB0aGUgcmVzcGVjdGl2ZSBjb2RlIGJlbG93IHRoZSBt YWluIHN3aXRjaCgpIHRvIHdvcmsgd2UgbmVlZCB0bworICAgICAgICAgKiBmb2xkIG9wX21hc2sg aGVyZTogQSBzb3VyY2UgZWxlbWVudCBnZXRzIHJlYWQgd2hlbmV2ZXIgYW55IG9mIGl0cworICAg ICAgICAgKiByZXNwZWN0aXZlIGRlc3RpbmF0aW9uIGVsZW1lbnRzJyBtYXNrIGJpdHMgaXMgc2V0 LgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCBmYXVsdF9zdXBwcmVzc2lvbiApCisgICAgICAg IHsKKyAgICAgICAgICAgIG4gPSAxIDw8ICgoYiAmIDMpIC0gZXZleC53KTsKKyAgICAgICAgICAg IEVYUEVDVChlbGVtX2J5dGVzID4gMCk7CisgICAgICAgICAgICBBU1NFUlQob3BfYnl0ZXMgPT0g biAqIGVsZW1fYnl0ZXMpOworICAgICAgICAgICAgZm9yICggaSA9IG47IGkgPCAoMTYgPDwgZXZl eC5scikgLyBlbGVtX2J5dGVzOyBpICs9IG4gKQorICAgICAgICAgICAgICAgIG9wX21hc2sgfD0g KG9wX21hc2sgPj4gaSkgJiAoKDEgPDwgbikgLSAxKTsKKyAgICAgICAgfQorICAgICAgICBnb3Rv IGF2eDUxMmZfbm9fc2FlOworCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHgxYik6IC8qIHZicm9hZGNhc3RmMzJ4OCBtMjU2LHptbXtrfSAqLworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2YnJvYWRjYXN0ZjY0eDQgbTI1Nix6bW17 a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDViKTogLyogdmJy b2FkY2FzdGkzMng4IG0yNTYsem1te2t9ICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIHZicm9hZGNhc3RpNjR4NCBtMjU2LHptbXtrfSAqLworICAgICAg ICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZWEudHlwZSAhPSBPUF9NRU0gfHwgZXZleC5sciAhPSAy LCBFWENfVUQpOworICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDE5KTogLyogdmJyb2FkY2FzdHNkIHhtbS9tNjQse3ksen1t bXtrfSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2 YnJvYWRjYXN0ZjMyeDIgeG1tL202NCx7eSx6fW1te2t9ICovCisgICAgICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZighZXZleC5sciwgRVhDX1VEKTsKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICov CisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg1OSk6IC8qIHZwYnJvYWRj YXN0cSB4bW0vbTY0LFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogdmJyb2FkY2FzdGkzMngyIHhtbS9tNjQsW3h5el1tbXtrfSAqLwor ICAgICAgICBpZiAoIGIgPT0gMHg1OSApCisgICAgICAgICAgICBvcF9ieXRlcyA9IDg7CisgICAg ICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LmJycywgRVhDX1VEKTsKKyAgICAgICAgaWYg KCAhZXZleC53ICkKKyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmRx KTsKKyAgICAgICAgZ290byBhdng1MTJfYnJvYWRjYXN0OworCisgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHgxYSk6IC8qIHZicm9hZGNhc3RmMzJ4NCBtMTI4LHt5LHp9bW17 a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmJy b2FkY2FzdGY2NHgyIG0xMjgse3ksen1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmMzgsIDB4NWEpOiAvKiB2YnJvYWRjYXN0aTMyeDQgbTEyOCx7eSx6fW1te2t9ICov CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHZicm9hZGNh c3RpNjR4MiBtMTI4LHt5LHp9bW17a30gKi8KKyAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lm KGVhLnR5cGUgIT0gT1BfTUVNIHx8ICFldmV4LmxyIHx8IGV2ZXguYnJzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRVhDX1VEKTsKKyAgICAgICAgaWYgKCBldmV4LncgKQorICAgICAg ICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZHEpOworICAgICAgICBnb3RvIGF2 eDUxMl9icm9hZGNhc3Q7CisKKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4 MjApOiAvKiB2cG1vdnN4YncgeG1tL21lbSx7eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09Q Q19WRVhfNjYoMHgwZjM4LCAweDIxKTogLyogdnBtb3ZzeGJkIHhtbS9tZW0se3gseX1tbSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHgyMik6IC8qIHZwbW92c3hicSB4 bW0vbWVtLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4 MjMpOiAvKiB2cG1vdnN4d2QgeG1tL21lbSx7eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09Q Q19WRVhfNjYoMHgwZjM4LCAweDI0KTogLyogdnBtb3ZzeHdxIHhtbS9tZW0se3gseX1tbSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHgyNSk6IC8qIHZwbW92c3hkcSB4 bW0vbWVtLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4 MzApOiAvKiB2cG1vdnp4YncgeG1tL21lbSx7eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09Q Q19WRVhfNjYoMHgwZjM4LCAweDMxKTogLyogdnBtb3Z6eGJkIHhtbS9tZW0se3gseX1tbSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHgzMik6IC8qIHZwbW92enhicSB4 bW0vbWVtLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4 MzMpOiAvKiB2cG1vdnp4d2QgeG1tL21lbSx7eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09Q Q19WRVhfNjYoMHgwZjM4LCAweDM0KTogLyogdnBtb3Z6eHdxIHhtbS9tZW0se3gseX1tbSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHgzNSk6IC8qIHZwbW92enhkcSB4 bW0vbWVtLHt4LHl9bW0gKi8KKyAgICAgICAgb3BfYnl0ZXMgPSAxNiA+PiAocG1vdl9jb252ZXJ0 X2RlbHRhW2IgJiA3XSAtIHZleC5sKTsKKyAgICAgICAgZ290byBzaW1kXzBmX2ludDsKKwogICAg IGNhc2UgWDg2RU1VTF9PUENfRVZFWF9GMygweDBmMzgsIDB4MjkpOiAvKiB2cG1vdntiLHd9Mm0g W3h5el1tbSxrICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYX0YzKDB4MGYzOCwgMHgzOSk6 IC8qIHZwbW92e2QscX0ybSBbeHl6XW1tLGsgKi8KICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9u X2lmKCFldmV4LnIgfHwgIWV2ZXguUiwgRVhDX1VEKTsKQEAgLTg5MTgsNiArODkxOCw1MiBAQCB4 ODZfZW11bGF0ZSgKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHgyYyk6IC8qIHZzY2FsZWZwe3MsZH0gW3h5el1tbS9tZW0sW3h5 el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHg0Mik6IC8qIHZnZXRleHBwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OTYpOiAvKiB2Zm1hZGRzdWIxMzJwe3Ms ZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHg5Nyk6IC8qIHZmbXN1YmFkZDEzMnB7cyxkfSBbeHl6XW1tL21l bSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgw ZjM4LCAweDk4KTogLyogdmZtYWRkMTMycHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1t bXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OWEpOiAvKiB2 Zm1zdWIxMzJwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2Fz ZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg5Yyk6IC8qIHZmbm1hZGQxMzJwe3MsZH0g W3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYzOCwgMHg5ZSk6IC8qIHZmbm1zdWIxMzJwe3MsZH0gW3h5el1tbS9tZW0sW3h5 el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHhhNik6IC8qIHZmbWFkZHN1YjIxM3B7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17 a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGE3KTogLyogdmZt c3ViYWRkMjEzcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YTgpOiAvKiB2Zm1hZGQyMTNwe3MsZH0g W3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYzOCwgMHhhYSk6IC8qIHZmbXN1YjIxM3B7cyxkfSBbeHl6XW1tL21lbSxbeHl6 XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAw eGFjKTogLyogdmZubWFkZDIxM3B7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGFlKTogLyogdmZubXN1 YjIxM3B7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGI2KTogLyogdmZtYWRkc3ViMjMxcHtzLGR9IFt4 eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmMzgsIDB4YjcpOiAvKiB2Zm1zdWJhZGQyMzFwe3MsZH0gW3h5el1tbS9tZW0sW3h5 el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwg MHhiOCk6IC8qIHZmbWFkZDIzMXB7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGJhKTogLyogdmZtc3Vi MjMxcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2 RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YmMpOiAvKiB2Zm5tYWRkMjMxcHtzLGR9IFt4eXpd bW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82 NigweDBmMzgsIDB4YmUpOiAvKiB2Zm5tc3ViMjMxcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0s W3h5el1tbXtrfSAqLworICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsK KyAgICAgICAgaWYgKCBlYS50eXBlICE9IE9QX1JFRyB8fCAhZXZleC5icnMgKQorICAgICAgICAg ICAgYXZ4NTEyX3ZsZW5fY2hlY2soZmFsc2UpOworICAgICAgICBnb3RvIHNpbWRfem1tOworCisg ICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgyZCk6IC8qIHZzY2FsZWZze3Ms ZH0geG1tL21lbSx4bW0seG1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4 MGYzOCwgMHg0Myk6IC8qIHZnZXRleHBze3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCisgICAg Y2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg5OSk6IC8qIHZmbWFkZDEzMnN7cyxk fSB4bW0vbWVtLHhtbSx4bW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgw ZjM4LCAweDliKTogLyogdmZtc3ViMTMyc3tzLGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLworICAg IGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OWQpOiAvKiB2Zm5tYWRkMTMyc3tz LGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82Nigw eDBmMzgsIDB4OWYpOiAvKiB2Zm5tc3ViMTMyc3tzLGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YTkpOiAvKiB2Zm1hZGQyMTNz e3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2 KDB4MGYzOCwgMHhhYik6IC8qIHZmbXN1YjIxM3N7cyxkfSB4bW0vbWVtLHhtbSx4bW17a30gKi8K KyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGFkKTogLyogdmZubWFkZDIx M3N7cyxkfSB4bW0vbWVtLHhtbSx4bW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhf NjYoMHgwZjM4LCAweGFmKTogLyogdmZubXN1YjIxM3N7cyxkfSB4bW0vbWVtLHhtbSx4bW17a30g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGI5KTogLyogdmZtYWRk MjMxc3tzLGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmMzgsIDB4YmIpOiAvKiB2Zm1zdWIyMzFze3MsZH0geG1tL21lbSx4bW0seG1te2t9 ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHhiZCk6IC8qIHZmbm1h ZGQyMzFze3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYzOCwgMHhiZik6IC8qIHZmbm1zdWIyMzFze3MsZH0geG1tL21lbSx4bW0seG1t e2t9ICovCisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmYpOworICAgIHNp bWRfem1tX3NjYWxhcl9zYWU6CisgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBl ICE9IE9QX1JFRyAmJiBldmV4LmJycywgRVhDX1VEKTsKKyAgICAgICAgaWYgKCAhZXZleC5icnMg KQorICAgICAgICAgICAgYXZ4NTEyX3ZsZW5fY2hlY2sodHJ1ZSk7CisgICAgICAgIGdvdG8gc2lt ZF96bW07CisKICAgICBjYXNlIFg4NkVNVUxfT1BDXzY2KDB4MGYzOCwgMHgzNyk6IC8qIHBjbXBn dHEgeG1tL20xMjgseG1tICovCiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKHNzZTRf Mik7CiAgICAgICAgIGdvdG8gc2ltZF8wZjM4X2NvbW1vbjsKQEAgLTg5NTAsNiArODk5NiwzMSBA QCB4ODZfZW11bGF0ZSgKICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC5sLCBFWENf VUQpOwogICAgICAgICBnb3RvIHNpbWRfMGZfYXZ4OwogCisgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYzOCwgMHg1MCk6IC8qIHZwZHBidXNkIFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4NTEpOiAv KiB2cGRwYnVzZHMgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCisgICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg1Mik6IC8qIHZwZHB3c3NkIFt4eXpdbW0vbWVt LFt4eXpdbW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBm MzgsIDB4NTMpOiAvKiB2cGRwd3NzZHMgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICov CisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMl92bm5pKTsKKyAgICAgICAg Z2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXgudywgRVhDX1VEKTsKKyAgICAgICAgZ290byBhdng1 MTJmX25vX3NhZTsKKworICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHg1OCk6 IC8qIHZwYnJvYWRjYXN0ZCB4bW0vbTMyLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BD X1ZFWF82NigweDBmMzgsIDB4NTkpOiAvKiB2cGJyb2FkY2FzdHEgeG1tL202NCx7eCx5fW1tICov CisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4LCAweDc4KTogLyogdnBicm9hZGNh c3RiIHhtbS9tOCx7eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjM4 LCAweDc5KTogLyogdnBicm9hZGNhc3R3IHhtbS9tMTYse3gseX1tbSAqLworICAgICAgICBvcF9i eXRlcyA9IDEgPDwgKCghKGIgJiAweDIwKSAqIDIpICsgKGIgJiAxKSk7CisgICAgICAgIC8qIGZh bGwgdGhyb3VnaCAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHg0Nik6 IC8qIHZwc3JhdmQge3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tICovCisgICAgICAgIGdlbmVy YXRlX2V4Y2VwdGlvbl9pZih2ZXgudywgRVhDX1VEKTsKKyAgICAgICAgZ290byBzaW1kXzBmX2F2 eDI7CisKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDRkKTogLyogdnJj cDE0c3tzLGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZF WF82NigweDBmMzgsIDB4NGYpOiAvKiB2cnNxcnQxNHN7cyxkfSB4bW0vbWVtLHhtbSx4bW17a30g Ki8KKyAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7CisgICAgICAgIGdl bmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LmJycywgRVhDX1VEKTsKKyAgICAgICAgYXZ4NTEyX3Zs ZW5fY2hlY2sodHJ1ZSk7CisgICAgICAgIGdvdG8gc2ltZF96bW07CisKICAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfRjIoMHgwZjM4LCAweDUyKTogLyogdnA0ZHB3c3NkIG0xMjgsem1tKzMsem1t e2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYX0YyKDB4MGYzOCwgMHg1Myk6IC8qIHZw NGRwd3NzZHMgbTEyOCx6bW0rMyx6bW17a30gKi8KICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0 X2hhdmUoYXZ4NTEyXzR2bm5pdyk7CkBAIC04OTcyLDIzICs5MDQzLDYgQEAgeDg2X2VtdWxhdGUo CiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMl92cG9wY250ZHEpOwogICAg ICAgICBnb3RvIGF2eDUxMmZfbm9fc2FlOwogCi0gICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYo MHgwZjM4LCAweDU4KTogLyogdnBicm9hZGNhc3RkIHhtbS9tMzIse3gseX1tbSAqLwotICAgIGNh c2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHg1OSk6IC8qIHZwYnJvYWRjYXN0cSB4bW0v bTY0LHt4LHl9bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmMzgsIDB4Nzgp OiAvKiB2cGJyb2FkY2FzdGIgeG1tL204LHt4LHl9bW0gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BD X1ZFWF82NigweDBmMzgsIDB4NzkpOiAvKiB2cGJyb2FkY2FzdHcgeG1tL20xNix7eCx5fW1tICov Ci0gICAgICAgIG9wX2J5dGVzID0gMSA8PCAoKCEoYiAmIDB4MjApICogMikgKyAoYiAmIDEpKTsK LSAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYo MHgwZjM4LCAweDQ2KTogLyogdnBzcmF2ZCB7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8K LSAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC53LCBFWENfVUQpOwotICAgICAgICBn b3RvIHNpbWRfMGZfYXZ4MjsKLQotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgs IDB4NGQpOiAvKiB2cmNwMTRze3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCi0gICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg0Zik6IC8qIHZyc3FydDE0c3tzLGR9IHhtbS9t ZW0seG1tLHhtbXtrfSAqLwotICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJm KTsKLSAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGV2ZXguYnJzLCBFWENfVUQpOwotICAg ICAgICBhdng1MTJfdmxlbl9jaGVjayh0cnVlKTsKLSAgICAgICAgZ290byBzaW1kX3ptbTsKLQog ICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzOCwgMHg1YSk6IC8qIHZicm9hZGNhc3Rp MTI4IG0xMjgseW1tICovCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9 IE9QX01FTSB8fCAhdmV4LmwgfHwgdmV4LncsIEVYQ19VRCk7CiAgICAgICAgIGdvdG8gc2ltZF8w Zl9hdngyOwpAQCAtOTM3MCw2MCArOTQyNCw2IEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBob3N0 X2FuZF92Y3B1X211c3RfaGF2ZShmbWEpOwogICAgICAgICBnb3RvIHNpbWRfMGZfeW1tOwogCi0g ICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgyYyk6IC8qIHZzY2FsZWZwe3Ms ZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHg0Mik6IC8qIHZnZXRleHBwe3MsZH0gW3h5el1tbS9tZW0sW3h5 el1tbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OTYpOiAv KiB2Zm1hZGRzdWIxMzJwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCi0g ICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg5Nyk6IC8qIHZmbXN1YmFkZDEz MnB7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDk4KTogLyogdmZtYWRkMTMycHtzLGR9IFt4eXpdbW0v bWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82Nigw eDBmMzgsIDB4OWEpOiAvKiB2Zm1zdWIxMzJwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6 XW1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg5Yyk6IC8q IHZmbm1hZGQxMzJwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCi0gICAg Y2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg5ZSk6IC8qIHZmbm1zdWIxMzJwe3Ms ZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHhhNik6IC8qIHZmbWFkZHN1YjIxM3B7cyxkfSBbeHl6XW1tL21l bSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgw ZjM4LCAweGE3KTogLyogdmZtc3ViYWRkMjEzcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YTgpOiAv KiB2Zm1hZGQyMTNwe3MsZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCi0gICAg Y2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHhhYSk6IC8qIHZmbXN1YjIxM3B7cyxk fSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZjM4LCAweGFjKTogLyogdmZubWFkZDIxM3B7cyxkfSBbeHl6XW1tL21lbSxb eHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4 LCAweGFlKTogLyogdmZubXN1YjIxM3B7cyxkfSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17 a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGI2KTogLyogdmZt YWRkc3ViMjMxcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwotICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YjcpOiAvKiB2Zm1zdWJhZGQyMzFwe3Ms ZH0gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09Q Q19FVkVYXzY2KDB4MGYzOCwgMHhiOCk6IC8qIHZmbWFkZDIzMXB7cyxkfSBbeHl6XW1tL21lbSxb eHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4 LCAweGJhKTogLyogdmZtc3ViMjMxcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtr fSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YmMpOiAvKiB2Zm5t YWRkMjMxcHtzLGR9IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwotICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YmUpOiAvKiB2Zm5tc3ViMjMxcHtzLGR9IFt4 eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwotICAgICAgICBob3N0X2FuZF92Y3B1X211 c3RfaGF2ZShhdng1MTJmKTsKLSAgICAgICAgaWYgKCBlYS50eXBlICE9IE9QX1JFRyB8fCAhZXZl eC5icnMgKQotICAgICAgICAgICAgYXZ4NTEyX3ZsZW5fY2hlY2soZmFsc2UpOwotICAgICAgICBn b3RvIHNpbWRfem1tOwotCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHgy ZCk6IC8qIHZzY2FsZWZze3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCi0gICAgY2FzZSBYODZF TVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg0Myk6IC8qIHZnZXRleHBze3MsZH0geG1tL21lbSx4 bW0seG1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg5OSk6 IC8qIHZmbWFkZDEzMnN7cyxkfSB4bW0vbWVtLHhtbSx4bW17a30gKi8KLSAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDliKTogLyogdmZtc3ViMTMyc3tzLGR9IHhtbS9tZW0s eG1tLHhtbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OWQp OiAvKiB2Zm5tYWRkMTMyc3tzLGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLwotICAgIGNhc2UgWDg2 RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4OWYpOiAvKiB2Zm5tc3ViMTMyc3tzLGR9IHhtbS9t ZW0seG1tLHhtbXtrfSAqLwotICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4 YTkpOiAvKiB2Zm1hZGQyMTNze3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCi0gICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHhhYik6IC8qIHZmbXN1YjIxM3N7cyxkfSB4bW0v bWVtLHhtbSx4bW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAw eGFkKTogLyogdmZubWFkZDIxM3N7cyxkfSB4bW0vbWVtLHhtbSx4bW17a30gKi8KLSAgICBjYXNl IFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweGFmKTogLyogdmZubXN1YjIxM3N7cyxkfSB4 bW0vbWVtLHhtbSx4bW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjM4 LCAweGI5KTogLyogdmZtYWRkMjMxc3tzLGR9IHhtbS9tZW0seG1tLHhtbXtrfSAqLwotICAgIGNh c2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4YmIpOiAvKiB2Zm1zdWIyMzFze3MsZH0g eG1tL21lbSx4bW0seG1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYz OCwgMHhiZCk6IC8qIHZmbm1hZGQyMzFze3MsZH0geG1tL21lbSx4bW0seG1te2t9ICovCi0gICAg Y2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHhiZik6IC8qIHZmbm1zdWIyMzFze3Ms ZH0geG1tL21lbSx4bW0seG1te2t9ICovCi0gICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZl KGF2eDUxMmYpOwotICAgIHNpbWRfem1tX3NjYWxhcl9zYWU6Ci0gICAgICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX1JFRyAmJiBldmV4LmJycywgRVhDX1VEKTsKLSAgICAg ICAgaWYgKCAhZXZleC5icnMgKQotICAgICAgICAgICAgYXZ4NTEyX3ZsZW5fY2hlY2sodHJ1ZSk7 Ci0gICAgICAgIGdvdG8gc2ltZF96bW07Ci0KLSAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYo MHgwZjM4LCAweDUwKTogLyogdnBkcGJ1c2QgW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9 ICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg1MSk6IC8qIHZwZHBi dXNkcyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDUyKTogLyogdnBkcHdzc2QgW3h5el1tbS9tZW0sW3h5el1t bSxbeHl6XW1te2t9ICovCi0gICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg1 Myk6IC8qIHZwZHB3c3NkcyBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KLSAgICAg ICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyX3ZubmkpOwotICAgICAgICBnZW5lcmF0 ZV9leGNlcHRpb25faWYoZXZleC53LCBFWENfVUQpOwotICAgICAgICBnb3RvIGF2eDUxMmZfbm9f c2FlOwotCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYX0YyKDB4MGYzOCwgMHg5YSk6IC8qIHY0 Zm1hZGRwcyBtMTI4LHptbSszLHptbXtrfSAqLwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF9G MigweDBmMzgsIDB4YWEpOiAvKiB2NGZubWFkZHBzIG0xMjgsem1tKzMsem1te2t9ICovCiAgICAg ICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMl80Zm1hcHMpOwpAQCAtMTAyNjYsMTEg KzEwMjY2LDYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihl dmV4LmJycyB8fCBldmV4Lm9wbXNrLCBFWENfVUQpOwogICAgICAgICBnb3RvIGF2eDUxMmZfaW1t OF9ub19zYWU7CiAKLSAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NGEpOiAv KiB2YmxlbmR2cHMge3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KLSAgICBj YXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NGIpOiAvKiB2YmxlbmR2cGQge3gseX1t bSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KLSAgICAgICAgZ2VuZXJhdGVfZXhjZXB0 aW9uX2lmKHZleC53LCBFWENfVUQpOwotICAgICAgICBnb3RvIHNpbWRfMGZfaW1tOF9hdng7Ci0K ICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NDgpOiAvKiB2cGVybWlsMnBz ICRpbW0se3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tLHt4LHl9bW0gKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2cGVybWlsMnBzICRpbW0se3gseX1t bSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZF WF82NigweDBmM2EsIDB4NDkpOiAvKiB2cGVybWlsMnBkICRpbW0se3gseX1tbS9tZW0se3gseX1t bSx7eCx5fW1tLHt4LHl9bW0gKi8KQEAgLTEwMjc4LDYgKzEwMjczLDExIEBAIHg4Nl9lbXVsYXRl KAogICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZSh4b3ApOwogICAgICAgICBnb3RvIHNp bWRfMGZfaW1tOF95bW07CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4 NGEpOiAvKiB2YmxlbmR2cHMge3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8K KyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NGIpOiAvKiB2YmxlbmR2cGQg e3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICAgICAgZ2VuZXJhdGVf ZXhjZXB0aW9uX2lmKHZleC53LCBFWENfVUQpOworICAgICAgICBnb3RvIHNpbWRfMGZfaW1tOF9h dng7CisKICAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NGMpOiAvKiB2cGJs ZW5kdmIge3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KICAgICAgICAgZ2Vu ZXJhdGVfZXhjZXB0aW9uX2lmKHZleC53LCBFWENfVUQpOwogICAgICAgICBnb3RvIHNpbWRfMGZf aW50X2ltbTg7CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs