<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>203032</bug_id>
          
          <creation_ts>2019-10-16 06:24:28 -0700</creation_ts>
          <short_desc>[JSC] Lexer flags should be an OptionSet</short_desc>
          <delta_ts>2019-10-28 16:45:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580516</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-16 06:24:28 -0700</bug_when>
    <thetext>[JSC] Lexer flags should be an OptionSet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580518</commentid>
    <comment_count>1</comment_count>
      <attachid>381067</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-16 06:27:27 -0700</bug_when>
    <thetext>Created attachment 381067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580521</commentid>
    <comment_count>2</comment_count>
      <attachid>381068</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-16 07:23:34 -0700</bug_when>
    <thetext>Created attachment 381068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584667</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-28 15:11:26 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584701</commentid>
    <comment_count>4</comment_count>
      <attachid>381068</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-10-28 16:12:24 -0700</bug_when>
    <thetext>Comment on attachment 381068
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584739</commentid>
    <comment_count>5</comment_count>
      <attachid>381068</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-28 16:42:13 -0700</bug_when>
    <thetext>Comment on attachment 381068
Patch

Clearing flags on attachment: 381068

Committed r251684: &lt;https://trac.webkit.org/changeset/251684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584740</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-28 16:42:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584743</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-28 16:45:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/56690290&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381067</attachid>
            <date>2019-10-16 06:27:27 -0700</date>
            <delta_ts>2019-10-16 07:23:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203032-20191016152726.patch</filename>
            <type>text/plain</type>
            <size>16787</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
Nzg0ZTUyOTgxNzYzYTdhOGJlMDQ2MWI2YmYxMThlYTliNjQ5YmJmLi41NTg0MzE2MzBhZjQwMDAx
ODAzZWFjNjdlOWY4ZjI3ZjdmNzZhYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0xMC0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gTGV4ZXIgZmxhZ3Mgc2hvdWxkIGJlIGFuIE9wdGlvblNl
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDMy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV4ZXJG
bGFncyBoYXMgYW4gYW5ub3lpbmdseSBtaXNzcGVsbGVkIHZhbHVlIExleGV4RmxhZ3NEb250QnVp
bGRLZXl3b3JkczsKKyAgICAgICAgbGV0J3MgdXNlIHRoaXMgYXMgYW4gb3Bwb3J0dW5pdHkgdG8g
bW9kZXJuaXplIHRoaXMgZW51bS4KKworICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6Cisg
ICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8TENoYXI+Ojpw
YXJzZUlkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpMZXhlcjxVQ2hhcj46OnBhcnNlSWRlbnRp
Zmllcik6CisgICAgICAgIChKU0M6OkxleGVyPENoYXJhY3RlclR5cGU+OjpwYXJzZUlkZW50aWZp
ZXJTbG93Q2FzZSk6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJpbmdM
aW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6CisgICAgICAgIChKU0M6
OkxleGVyPFQ+OjpsZXhFeHBlY3RJZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46
OmxleCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5o
OgorICAgICAgICAoSlNDOjpQYXJzZXI6Om5leHQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om5l
eHRXaXRob3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
bmV4dEV4cGVjdElkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmNvbnN1bWUpOgor
ICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisKIDIwMTktMTAtMTYgIFBhdWxvIE1h
dG9zICA8cG1hdG9zQGxpbmtpLnRvb2xzPgogCiAgICAgICAgIEZpeCBHQ0Mgd2FybmluZyBvbiBN
SVBTIGFib3V0IGRlYWQgdmFyaWFibGUgbWV0YWRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKaW5kZXggOWI0NjAyNzkyMmZkZDVhMGQxOWU3ZTFmMWNmYTY5NTI3
NWM4ZTRiYS4uZDA1MGUxYmFhNWVkMTNjNjg1MzcxNmYzZDc2YzkwNmRkYWFiMDY4NCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTEyNSw4ICsxMjUsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIENyZWF0ZXNBU1QgPSB0cnVlOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBOZWVkc0ZyZWVWYXJpYWJsZUluZm8gPSB0cnVlOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBDYW5Vc2VGdW5jdGlvbkNhY2hlID0gdHJ1ZTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGludCAgRG9udEJ1aWxkS2V5d29yZHMgPSAwOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgaW50ICBEb250QnVpbGRTdHJpbmdzID0gMDsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIE9wdGlvblNldDxMZXhlckZsYWdzPiBEb250QnVpbGRLZXl3b3JkcyB7IH07CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBPcHRpb25TZXQ8TGV4ZXJGbGFncz4gRG9udEJ1aWxkU3RyaW5ncyB7IH07
CiAKICAgICBFeHByZXNzaW9uTm9kZSogbWFrZUJpbmFyeU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgaW50IHRva2VuLCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUqLCBCaW5hcnlPcEluZm8+
LCBzdGQ6OnBhaXI8RXhwcmVzc2lvbk5vZGUqLCBCaW5hcnlPcEluZm8+KTsKICAgICBFeHByZXNz
aW9uTm9kZSogbWFrZUZ1bmN0aW9uQ2FsbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhw
cmVzc2lvbk5vZGUqIGZ1bmMsIGJvb2wgcHJldmlvdXNCYXNlV2FzU3VwZXIsIEFyZ3VtZW50c05v
ZGUqIGFyZ3MsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0LCBjb25zdCBKU1RleHRQ
b3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCwgc2l6ZV90IGNh
bGxPckFwcGx5Q2hpbGREZXB0aCwgYm9vbCBpc09wdGlvbmFsQ2FsbCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkNzAzMTk1YzE0YzhhZDk4YzFiMzM0MDdhNGI3
M2MwOThlNGIwZWUuLmFkMGE1ZTM0YmU3NGI2ZTc5NDA2NTJmNWRlNDliZDc0YzI0MTQzZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC05MjcsMTEgKzkyNywxMSBA
QCBib29sIGlzU2FmZUJ1aWx0aW5JZGVudGlmaWVyKFZNJiB2bSwgY29uc3QgSWRlbnRpZmllciog
aWRlbnQpCiAjZW5kaWYKICAgICAKIHRlbXBsYXRlIDw+Ci10ZW1wbGF0ZSA8Ym9vbCBzaG91bGRD
cmVhdGVJZGVudGlmaWVyPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPExDaGFyPjo6
cGFyc2VJZGVudGlmaWVyKEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEsIHVuc2lnbmVkIGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKK3RlbXBsYXRlIDxib29sIHNob3VsZENyZWF0ZUlkZW50aWZp
ZXI+IEFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8TENoYXI+OjpwYXJzZUlkZW50aWZp
ZXIoSlNUb2tlbkRhdGEqIHRva2VuRGF0YSwgT3B0aW9uU2V0PExleGVyRmxhZ3M+IGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKICAgICB0b2tlbkRhdGEtPmVzY2FwZWQgPSBmYWxzZTsK
ICAgICBjb25zdCBwdHJkaWZmX3QgcmVtYWluaW5nID0gbV9jb2RlRW5kIC0gbV9jb2RlOwotICAg
IGlmICgocmVtYWluaW5nID49IG1heFRva2VuTGVuZ3RoKSAmJiAhKGxleGVyRmxhZ3MgJiBMZXhl
ckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcykpIHsKKyAgICBpZiAoKHJlbWFpbmluZyA+PSBtYXhU
b2tlbkxlbmd0aCkgJiYgIWxleGVyRmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6SWdub3JlUmVz
ZXJ2ZWRXb3JkcykpIHsKICAgICAgICAgSlNUb2tlblR5cGUga2V5d29yZCA9IHBhcnNlS2V5d29y
ZDxzaG91bGRDcmVhdGVJZGVudGlmaWVyPih0b2tlbkRhdGEpOwogICAgICAgICBpZiAoa2V5d29y
ZCAhPSBJREVOVCkgewogICAgICAgICAgICAgQVNTRVJUKCghc2hvdWxkQ3JlYXRlSWRlbnRpZmll
cikgfHwgdG9rZW5EYXRhLT5pZGVudCk7CkBAIC05NzUsNyArOTc1LDcgQEAgdGVtcGxhdGUgPGJv
b2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gQUxXQVlTX0lOTElORSBKU1Rva2VuVHlwZSBMZXhl
cjxMQ2hhcj46OnAKICAgICB9IGVsc2UKICAgICAgICAgdG9rZW5EYXRhLT5pZGVudCA9IG51bGxw
dHI7CiAKLSAgICBpZiAoVU5MSUtFTFkoKHJlbWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSAmJiAh
KGxleGVyRmxhZ3MgJiBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcykpICYmICFpc1ByaXZh
dGVOYW1lKSB7CisgICAgaWYgKFVOTElLRUxZKChyZW1haW5pbmcgPCBtYXhUb2tlbkxlbmd0aCkg
JiYgIWxleGVyRmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6SWdub3JlUmVzZXJ2ZWRXb3Jkcykp
ICYmICFpc1ByaXZhdGVOYW1lKSB7CiAgICAgICAgIEFTU0VSVChzaG91bGRDcmVhdGVJZGVudGlm
aWVyKTsKICAgICAgICAgaWYgKHJlbWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSB7CiAgICAgICAg
ICAgICBjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSBKU0M6Om1haW5UYWJsZS5lbnRyeSgq
aWRlbnQpOwpAQCAtOTkyLDExICs5OTIsMTEgQEAgdGVtcGxhdGUgPGJvb2wgc2hvdWxkQ3JlYXRl
SWRlbnRpZmllcj4gQUxXQVlTX0lOTElORSBKU1Rva2VuVHlwZSBMZXhlcjxMQ2hhcj46OnAKIH0K
IAogdGVtcGxhdGUgPD4KLXRlbXBsYXRlIDxib29sIHNob3VsZENyZWF0ZUlkZW50aWZpZXI+IEFM
V0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VUNoYXI+OjpwYXJzZUlkZW50aWZpZXIoSlNU
b2tlbkRhdGEqIHRva2VuRGF0YSwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2Rl
KQordGVtcGxhdGUgPGJvb2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gQUxXQVlTX0lOTElORSBK
U1Rva2VuVHlwZSBMZXhlcjxVQ2hhcj46OnBhcnNlSWRlbnRpZmllcihKU1Rva2VuRGF0YSogdG9r
ZW5EYXRhLCBPcHRpb25TZXQ8TGV4ZXJGbGFncz4gbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2Rl
KQogewogICAgIHRva2VuRGF0YS0+ZXNjYXBlZCA9IGZhbHNlOwogICAgIGNvbnN0IHB0cmRpZmZf
dCByZW1haW5pbmcgPSBtX2NvZGVFbmQgLSBtX2NvZGU7Ci0gICAgaWYgKChyZW1haW5pbmcgPj0g
bWF4VG9rZW5MZW5ndGgpICYmICEobGV4ZXJGbGFncyAmIExleGVyRmxhZ3NJZ25vcmVSZXNlcnZl
ZFdvcmRzKSkgeworICAgIGlmICgocmVtYWluaW5nID49IG1heFRva2VuTGVuZ3RoKSAmJiAhbGV4
ZXJGbGFncy5jb250YWlucyhMZXhlckZsYWdzOjpJZ25vcmVSZXNlcnZlZFdvcmRzKSkgewogICAg
ICAgICBKU1Rva2VuVHlwZSBrZXl3b3JkID0gcGFyc2VLZXl3b3JkPHNob3VsZENyZWF0ZUlkZW50
aWZpZXI+KHRva2VuRGF0YSk7CiAgICAgICAgIGlmIChrZXl3b3JkICE9IElERU5UKSB7CiAgICAg
ICAgICAgICBBU1NFUlQoKCFzaG91bGRDcmVhdGVJZGVudGlmaWVyKSB8fCB0b2tlbkRhdGEtPmlk
ZW50KTsKQEAgLTEwNTMsNyArMTA1Myw3IEBAIHRlbXBsYXRlIDxib29sIHNob3VsZENyZWF0ZUlk
ZW50aWZpZXI+IEFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VUNoYXI+OjpwCiAgICAg
fSBlbHNlCiAgICAgICAgIHRva2VuRGF0YS0+aWRlbnQgPSBudWxscHRyOwogICAgIAotICAgIGlm
IChVTkxJS0VMWSgocmVtYWluaW5nIDwgbWF4VG9rZW5MZW5ndGgpICYmICEobGV4ZXJGbGFncyAm
IExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzKSkgJiYgIWlzUHJpdmF0ZU5hbWUpIHsKKyAg
ICBpZiAoVU5MSUtFTFkoKHJlbWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSAmJiAhbGV4ZXJGbGFn
cy5jb250YWlucyhMZXhlckZsYWdzOjpJZ25vcmVSZXNlcnZlZFdvcmRzKSkgJiYgIWlzUHJpdmF0
ZU5hbWUpIHsKICAgICAgICAgQVNTRVJUKHNob3VsZENyZWF0ZUlkZW50aWZpZXIpOwogICAgICAg
ICBpZiAocmVtYWluaW5nIDwgbWF4VG9rZW5MZW5ndGgpIHsKICAgICAgICAgICAgIGNvbnN0IEhh
c2hUYWJsZVZhbHVlKiBlbnRyeSA9IEpTQzo6bWFpblRhYmxlLmVudHJ5KCppZGVudCk7CkBAIC0x
MDY5LDcgKzEwNjksNyBAQCB0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlmaWVyPiBB
TFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPFVDaGFyPjo6cAogICAgIHJldHVybiBJREVO
VDsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gdGVtcGxhdGU8Ym9vbCBz
aG91bGRDcmVhdGVJZGVudGlmaWVyPiBKU1Rva2VuVHlwZSBMZXhlcjxDaGFyYWN0ZXJUeXBlPjo6
cGFyc2VJZGVudGlmaWVyU2xvd0Nhc2UoSlNUb2tlbkRhdGEqIHRva2VuRGF0YSwgdW5zaWduZWQg
bGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQordGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVy
VHlwZT4gdGVtcGxhdGU8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlmaWVyPiBKU1Rva2VuVHlwZSBM
ZXhlcjxDaGFyYWN0ZXJUeXBlPjo6cGFyc2VJZGVudGlmaWVyU2xvd0Nhc2UoSlNUb2tlbkRhdGEq
IHRva2VuRGF0YSwgT3B0aW9uU2V0PExleGVyRmxhZ3M+IGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0
TW9kZSkKIHsKICAgICB0b2tlbkRhdGEtPmVzY2FwZWQgPSB0cnVlOwogICAgIGF1dG8gaWRlbnRp
ZmllclN0YXJ0ID0gY3VycmVudFNvdXJjZVB0cigpOwpAQCAtMTExOSw3ICsxMTE5LDcgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gdGVtcGxhdGU8Ym9vbCBzaG91bGRDcmVhdGVJ
ZGVudGlmaWVyPiBKU1Rva2VuVHkKIAogICAgIG1fYnVmZmVyMTYuc2hyaW5rKDApOwogCi0gICAg
aWYgKExJS0VMWSghKGxleGVyRmxhZ3MgJiBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcykp
KSB7CisgICAgaWYgKExJS0VMWSghbGV4ZXJGbGFncy5jb250YWlucyhMZXhlckZsYWdzOjpJZ25v
cmVSZXNlcnZlZFdvcmRzKSkpIHsKICAgICAgICAgQVNTRVJUKHNob3VsZENyZWF0ZUlkZW50aWZp
ZXIpOwogICAgICAgICBjb25zdCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSBKU0M6Om1haW5UYWJs
ZS5lbnRyeSgqaWRlbnQpOwogICAgICAgICBpZiAoIWVudHJ5KQpAQCAtMTg1OSw3ICsxODU5LDcg
QEAgdm9pZCBMZXhlcjxUPjo6ZmlsbFRva2VuSW5mbyhKU1Rva2VuKiB0b2tlblJlY29yZCwgSlNU
b2tlblR5cGUgdG9rZW4sIGludCBsaW5lTnUKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1K
U1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4V2l0aG91dENsZWFyaW5nTGluZVRlcm1pbmF0b3IoSlNU
b2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkK
K0pTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcihK
U1Rva2VuKiB0b2tlblJlY29yZCwgT3B0aW9uU2V0PExleGVyRmxhZ3M+IGxleGVyRmxhZ3MsIGJv
b2wgc3RyaWN0TW9kZSkKIHsKICAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVj
b3JkLT5tX2RhdGE7CiAgICAgSlNUb2tlbkxvY2F0aW9uKiB0b2tlbkxvY2F0aW9uID0gJnRva2Vu
UmVjb3JkLT5tX2xvY2F0aW9uOwpAQCAtMjM3OSw3ICsyMzc5LDcgQEAgc3RhcnQ6CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgQ2hhcmFjdGVyUXVvdGU6IHsKICAgICAgICAgU3RyaW5nUGFyc2VS
ZXN1bHQgcmVzdWx0ID0gU3RyaW5nQ2Fubm90QmVQYXJzZWQ7Ci0gICAgICAgIGlmIChsZXhlckZs
YWdzICYgTGV4ZXJGbGFnc0RvbnRCdWlsZFN0cmluZ3MpCisgICAgICAgIGlmIChsZXhlckZsYWdz
LmNvbnRhaW5zKExleGVyRmxhZ3M6OkRvbnRCdWlsZFN0cmluZ3MpKQogICAgICAgICAgICAgcmVz
dWx0ID0gcGFyc2VTdHJpbmc8ZmFsc2U+KHRva2VuRGF0YSwgc3RyaWN0TW9kZSk7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlU3RyaW5nPHRydWU+KHRva2VuRGF0YSwg
c3RyaWN0TW9kZSk7CkBAIC0yMzk3LDcgKzIzOTcsNyBAQCBzdGFydDoKICAgICAgICAgRkFMTFRI
Uk9VR0g7CiAgICAgY2FzZSBDaGFyYWN0ZXJCYWNrU2xhc2g6CiAgICAgICAgIHBhcnNlSWRlbnQ6
Ci0gICAgICAgIGlmIChsZXhlckZsYWdzICYgTGV4ZXhGbGFnc0RvbnRCdWlsZEtleXdvcmRzKQor
ICAgICAgICBpZiAobGV4ZXJGbGFncy5jb250YWlucyhMZXhlckZsYWdzOjpEb250QnVpbGRLZXl3
b3JkcykpCiAgICAgICAgICAgICB0b2tlbiA9IHBhcnNlSWRlbnRpZmllcjxmYWxzZT4odG9rZW5E
YXRhLCBsZXhlckZsYWdzLCBzdHJpY3RNb2RlKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
dG9rZW4gPSBwYXJzZUlkZW50aWZpZXI8dHJ1ZT4odG9rZW5EYXRhLCBsZXhlckZsYWdzLCBzdHJp
Y3RNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCBlNzAyNjg0NWM1
NTM0YTgwNWI0Y2E5ZGViNGVjNGM2ZDFmYmU4ODUzLi5kZDgwOGYwOGNlNDQ3MTk5ZWFjODk3ZDc2
YWUwYmI1YWJjMmNhNjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0z
MiwxMCArMzIsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWVudW0gTGV4ZXJGbGFncyB7Ci0g
ICAgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMgPSAxLCAKLSAgICBMZXhlckZsYWdzRG9u
dEJ1aWxkU3RyaW5ncyA9IDIsCi0gICAgTGV4ZXhGbGFnc0RvbnRCdWlsZEtleXdvcmRzID0gNAor
ZW51bSBjbGFzcyBMZXhlckZsYWdzIDogdWludDhfdCB7CisgICAgSWdub3JlUmVzZXJ2ZWRXb3Jk
cyA9IDEgPDwgMCwgCisgICAgRG9udEJ1aWxkU3RyaW5ncyA9IDEgPDwgMSwKKyAgICBEb250QnVp
bGRLZXl3b3JkcyA9IDEgPDwgMgogfTsKIAogZW51bSBjbGFzcyBMZXhlckVzY2FwZVBhcnNlTW9k
ZSB7IFRlbXBsYXRlLCBTdHJpbmcgfTsKQEAgLTY0LDggKzY0LDggQEAgcHVibGljOgogICAgIHZv
aWQgc2V0SXNSZXBhcnNpbmdGdW5jdGlvbigpIHsgbV9pc1JlcGFyc2luZ0Z1bmN0aW9uID0gdHJ1
ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmdGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNS
ZXBhcnNpbmdGdW5jdGlvbjsgfQogCi0gICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNp
Z25lZCwgYm9vbCBzdHJpY3RNb2RlKTsKLSAgICBKU1Rva2VuVHlwZSBsZXhXaXRob3V0Q2xlYXJp
bmdMaW5lVGVybWluYXRvcihKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7Cisg
ICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCBPcHRpb25TZXQ8TGV4ZXJGbGFncz4sIGJvb2wg
c3RyaWN0TW9kZSk7CisgICAgSlNUb2tlblR5cGUgbGV4V2l0aG91dENsZWFyaW5nTGluZVRlcm1p
bmF0b3IoSlNUb2tlbiosIE9wdGlvblNldDxMZXhlckZsYWdzPiwgYm9vbCBzdHJpY3RNb2RlKTsK
ICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQogICAgIEFMV0FZU19JTkxJTkUgaW50IGN1cnJlbnRP
ZmZzZXQoKSBjb25zdCB7IHJldHVybiBvZmZzZXRGcm9tU291cmNlUHRyKG1fY29kZSk7IH0KQEAg
LTExNiw3ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGFzTGluZVRlcm1pbmF0b3JCZWZv
cmVUb2tlbiA9IHRlcm1pbmF0b3I7CiAgICAgfQogCi0gICAgSlNUb2tlblR5cGUgbGV4RXhwZWN0
SWRlbnRpZmllcihKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CisgICAgSlNU
b2tlblR5cGUgbGV4RXhwZWN0SWRlbnRpZmllcihKU1Rva2VuKiwgT3B0aW9uU2V0PExleGVyRmxh
Z3M+LCBib29sIHN0cmljdE1vZGUpOwogCiAgICAgQUxXQVlTX0lOTElORSBTdHJpbmdWaWV3IGdl
dFRva2VuKGNvbnN0IEpTVG9rZW4mIHRva2VuKQogICAgIHsKQEAgLTE2NCw4ICsxNjQsOCBAQCBw
cml2YXRlOgogCiAgICAgdGVtcGxhdGUgPGludCBzaGlmdEFtb3VudD4gdm9pZCBpbnRlcm5hbFNo
aWZ0KCk7CiAgICAgdGVtcGxhdGUgPGJvb2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gQUxXQVlT
X0lOTElORSBKU1Rva2VuVHlwZSBwYXJzZUtleXdvcmQoSlNUb2tlbkRhdGEqKTsKLSAgICB0ZW1w
bGF0ZSA8Ym9vbCBzaG91bGRCdWlsZElkZW50aWZpZXJzPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5U
eXBlIHBhcnNlSWRlbnRpZmllcihKU1Rva2VuRGF0YSosIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJv
b2wgc3RyaWN0TW9kZSk7Ci0gICAgdGVtcGxhdGUgPGJvb2wgc2hvdWxkQnVpbGRJZGVudGlmaWVy
cz4gTkVWRVJfSU5MSU5FIEpTVG9rZW5UeXBlIHBhcnNlSWRlbnRpZmllclNsb3dDYXNlKEpTVG9r
ZW5EYXRhKiwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKTsKKyAgICB0ZW1w
bGF0ZSA8Ym9vbCBzaG91bGRCdWlsZElkZW50aWZpZXJzPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5U
eXBlIHBhcnNlSWRlbnRpZmllcihKU1Rva2VuRGF0YSosIE9wdGlvblNldDxMZXhlckZsYWdzPiwg
Ym9vbCBzdHJpY3RNb2RlKTsKKyAgICB0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRCdWlsZElkZW50aWZp
ZXJzPiBORVZFUl9JTkxJTkUgSlNUb2tlblR5cGUgcGFyc2VJZGVudGlmaWVyU2xvd0Nhc2UoSlNU
b2tlbkRhdGEqLCBPcHRpb25TZXQ8TGV4ZXJGbGFncz4sIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAg
ZW51bSBTdHJpbmdQYXJzZVJlc3VsdCB7CiAgICAgICAgIFN0cmluZ1BhcnNlZFN1Y2Nlc3NmdWxs
eSwKICAgICAgICAgU3RyaW5nVW50ZXJtaW5hdGVkLApAQCAtMzQwLDExICszNDAsMTEgQEAgYm9v
bCBpc1NhZmVCdWlsdGluSWRlbnRpZmllcihWTSYsIGNvbnN0IElkZW50aWZpZXIqKTsKICNlbmRp
ZgogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLUFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4
ZXI8VD46OmxleEV4cGVjdElkZW50aWZpZXIoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVk
IGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKK0FMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUg
TGV4ZXI8VD46OmxleEV4cGVjdElkZW50aWZpZXIoSlNUb2tlbiogdG9rZW5SZWNvcmQsIE9wdGlv
blNldDxMZXhlckZsYWdzPiBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CiAgICAgSlNU
b2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOwogICAgIEpTVG9rZW5M
b2NhdGlvbiogdG9rZW5Mb2NhdGlvbiA9ICZ0b2tlblJlY29yZC0+bV9sb2NhdGlvbjsKLSAgICBB
U1NFUlQoKGxleGVyRmxhZ3MgJiBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcykpOworICAg
IEFTU0VSVChsZXhlckZsYWdzLmNvbnRhaW5zKExleGVyRmxhZ3M6Oklnbm9yZVJlc2VydmVkV29y
ZHMpKTsKICAgICBjb25zdCBUKiBzdGFydCA9IG1fY29kZTsKICAgICBjb25zdCBUKiBwdHIgPSBz
dGFydDsKICAgICBjb25zdCBUKiBlbmQgPSBtX2NvZGVFbmQ7CkBAIC0zNzQsNyArMzc0LDcgQEAg
QUxXQVlTX0lOTElORSBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4RXhwZWN0SWRlbnRpZmllcihK
U1Rva2VuKiB0b2tlblJlY29yZCwgdW4KICAgICBBU1NFUlQoY3VycmVudE9mZnNldCgpID49IGN1
cnJlbnRMaW5lU3RhcnRPZmZzZXQoKSk7CiAKICAgICAvLyBDcmVhdGUgdGhlIGlkZW50aWZpZXIg
aWYgbmVlZGVkCi0gICAgaWYgKGxleGVyRmxhZ3MgJiBMZXhleEZsYWdzRG9udEJ1aWxkS2V5d29y
ZHMKKyAgICBpZiAobGV4ZXJGbGFncy5jb250YWlucyhMZXhlckZsYWdzOjpEb250QnVpbGRLZXl3
b3JkcykKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgICAgICYmICFtX3BhcnNpbmdCdWlsdGlu
RnVuY3Rpb24KICNlbmRpZgpAQCAtNDA1LDcgKzQwNSw3IEBAIHNsb3dDYXNlOgogfQogCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KLUFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VD46Omxl
eChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RN
b2RlKQorQUxXQVlTX0lOTElORSBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRv
a2VuUmVjb3JkLCBPcHRpb25TZXQ8TGV4ZXJGbGFncz4gbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RN
b2RlKQogewogICAgIG1faGFzTGluZVRlcm1pbmF0b3JCZWZvcmVUb2tlbiA9IGZhbHNlOwogICAg
IHJldHVybiBsZXhXaXRob3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcih0b2tlblJlY29yZCwgbGV4
ZXJGbGFncywgc3RyaWN0TW9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKaW5kZXggYjY3ZDkzOWZiYTIwMmYwZTE5NjdiMTlmMmI4MGU1MmYxMDA4OTAzNS4uODNmM2Q3
Mjc0M2QyNWM0MzMxMjgxMzM5MDAyODk1ZjljOTAyYTFjYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtNDAwMyw5ICs0MDAzLDkgQEAgbmFtZWRQcm9wZXJ0eToK
ICAgICAgICAgSlNUb2tlbiBpZGVudFRva2VuID0gbV90b2tlbjsKIAogICAgICAgICBpZiAoY29t
cGxldGUgfHwgKHdhc0lkZW50ICYmICFpc0dlbmVyYXRvck1ldGhvZFBhcnNlTW9kZShwYXJzZU1v
ZGUpICAmJiAoKmlkZW50ID09IG1fdm0ucHJvcGVydHlOYW1lcy0+Z2V0IHx8ICppZGVudCA9PSBt
X3ZtLnByb3BlcnR5TmFtZXMtPnNldCkpKQotICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50aWZp
ZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpOworICAgICAgICAgICAgbmV4dEV4cGVj
dElkZW50aWZpZXIoTGV4ZXJGbGFnczo6SWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CiAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNl
cnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZEtleXdvcmRzKTsKKyAgICAgICAgICAg
IG5leHRFeHBlY3RJZGVudGlmaWVyKFRyZWVCdWlsZGVyOjpEb250QnVpbGRLZXl3b3JkcyB8IExl
eGVyRmxhZ3M6Oklnbm9yZVJlc2VydmVkV29yZHMpOwogCiAgICAgICAgIGlmICghaXNHZW5lcmF0
b3JNZXRob2RQYXJzZU1vZGUocGFyc2VNb2RlKSAmJiAhaXNBc3luY01ldGhvZFBhcnNlTW9kZShw
YXJzZU1vZGUpICYmIG1hdGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4dCgpOwpAQCAtNDg0
OSw3ICs0ODQ5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXMKICAgICAgICAgICAgIGNhc2Ug
RE9UOiB7CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5ub25Ucml2aWFsRXhwcmVzc2lv
bkNvdW50Kys7CiAgICAgICAgICAgICAgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvbkVuZCA9
IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7Ci0gICAgICAgICAgICAgICAgbmV4dEV4cGVjdElkZW50
aWZpZXIoTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMgfCBUcmVlQnVpbGRlcjo6RG9udEJ1
aWxkS2V5d29yZHMpOworICAgICAgICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKFRyZWVC
dWlsZGVyOjpEb250QnVpbGRLZXl3b3JkcyB8IExleGVyRmxhZ3M6Oklnbm9yZVJlc2VydmVkV29y
ZHMpOwogICAgICAgICAgICAgICAgIG1hdGNoT3JGYWlsKElERU5ULCAiRXhwZWN0ZWQgYSBwcm9w
ZXJ0eSBuYW1lIGFmdGVyICIsIG9wdGlvbmFsQ2hhaW5CYXNlID8gIic/LiciIDogIicuJyIpOwog
ICAgICAgICAgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZURvdEFjY2VzcyhzdGFydExvY2F0
aW9uLCBiYXNlLCBtX3Rva2VuLm1fZGF0YS5pZGVudCwgZXhwcmVzc2lvblN0YXJ0LCBleHByZXNz
aW9uRW5kLCB0b2tlbkVuZFBvc2l0aW9uKCkpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShiYXNlSXNTdXBlciAmJiBjdXJyZW50U2NvcGUoKS0+aXNBcnJvd0Z1bmN0aW9uKCkpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggYzg5YjAwZGMwNmEzZjBlMWMwMWZh
YmMxMTdhZDVkNjEwYTliYTc1Ny4uY2ZkOTQzZWI3MTA5NDc1M2JlNmFmZTYyY2YxMjRmM2U3ZDIx
YmNjOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0xMzU1LDcgKzEz
NTUsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNGdW5jdGlvbk1ldGFkYXRhTm9kZShTY29wZU5v
ZGUqKSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgaXNGdW5jdGlvbk1ldGFkYXRhTm9kZShG
dW5jdGlvbk1ldGFkYXRhTm9kZSopIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBuZXh0KHVuc2lnbmVkIGxleGVyRmxhZ3MgPSAwKQorICAgIEFMV0FZU19JTkxJTkUg
dm9pZCBuZXh0KE9wdGlvblNldDxMZXhlckZsYWdzPiBsZXhlckZsYWdzID0geyB9KQogICAgIHsK
ICAgICAgICAgaW50IGxhc3RMaW5lID0gbV90b2tlbi5tX2xvY2F0aW9uLmxpbmU7CiAgICAgICAg
IGludCBsYXN0VG9rZW5FbmQgPSBtX3Rva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0OwpAQCAtMTM2
NSw3ICsxMzY1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV90b2tlbi5tX3R5cGUgPSBtX2xleGVy
LT5sZXgoJm1fdG9rZW4sIGxleGVyRmxhZ3MsIHN0cmljdE1vZGUoKSk7CiAgICAgfQogCi0gICAg
QUxXQVlTX0lOTElORSB2b2lkIG5leHRXaXRob3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcih1bnNp
Z25lZCBsZXhlckZsYWdzID0gMCkKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgbmV4dFdpdGhvdXRD
bGVhcmluZ0xpbmVUZXJtaW5hdG9yKE9wdGlvblNldDxMZXhlckZsYWdzPiBsZXhlckZsYWdzID0g
eyB9KQogICAgIHsKICAgICAgICAgaW50IGxhc3RMaW5lID0gbV90b2tlbi5tX2xvY2F0aW9uLmxp
bmU7CiAgICAgICAgIGludCBsYXN0VG9rZW5FbmQgPSBtX3Rva2VuLm1fbG9jYXRpb24uZW5kT2Zm
c2V0OwpAQCAtMTM3NSw3ICsxMzc1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV90b2tlbi5tX3R5
cGUgPSBtX2xleGVyLT5sZXhXaXRob3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcigmbV90b2tlbiwg
bGV4ZXJGbGFncywgc3RyaWN0TW9kZSgpKTsKICAgICB9CiAKLSAgICBBTFdBWVNfSU5MSU5FIHZv
aWQgbmV4dEV4cGVjdElkZW50aWZpZXIodW5zaWduZWQgbGV4ZXJGbGFncyA9IDApCisgICAgQUxX
QVlTX0lOTElORSB2b2lkIG5leHRFeHBlY3RJZGVudGlmaWVyKE9wdGlvblNldDxMZXhlckZsYWdz
PiBsZXhlckZsYWdzID0geyB9KQogICAgIHsKICAgICAgICAgaW50IGxhc3RMaW5lID0gbV90b2tl
bi5tX2xvY2F0aW9uLmxpbmU7CiAgICAgICAgIGludCBsYXN0VG9rZW5FbmQgPSBtX3Rva2VuLm1f
bG9jYXRpb24uZW5kT2Zmc2V0OwpAQCAtMTM5Niw3ICsxMzk2LDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIG1fbGV4ZXItPm5leHRUb2tlbklzQ29sb24oKTsKICAgICB9CiAKLSAgICBBTFdB
WVNfSU5MSU5FIGJvb2wgY29uc3VtZShKU1Rva2VuVHlwZSBleHBlY3RlZCwgdW5zaWduZWQgZmxh
Z3MgPSAwKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBjb25zdW1lKEpTVG9rZW5UeXBlIGV4cGVj
dGVkLCBPcHRpb25TZXQ8TGV4ZXJGbGFncz4gZmxhZ3MgPSB7IH0pCiAgICAgewogICAgICAgICBi
b29sIHJlc3VsdCA9IG1fdG9rZW4ubV90eXBlID09IGV4cGVjdGVkOwogICAgICAgICBpZiAocmVz
dWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRl
eCBiZDM0Mzg0YjM5NjJkOTMzMzQ5ZTI5Y2NjMGU2MDgxYzJhNzRmMDk4Li5iNzgwNWEwOTI1Yjhj
ZWQwZjY0MGI5NTFjZTlhNjk5MTY2ZWZlY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMTQzLDggKzE0Myw4IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3RleHByIGJvb2wgQ3JlYXRlc0FTVCA9IGZhbHNlOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgYm9vbCBOZWVkc0ZyZWVWYXJpYWJsZUluZm8gPSBmYWxzZTsKICAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgQ2FuVXNlRnVuY3Rpb25DYWNoZSA9IHRydWU7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciB1bnNpZ25lZCBEb250QnVpbGRLZXl3b3JkcyA9IExleGV4RmxhZ3NEb250QnVpbGRLZXl3
b3JkczsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIERvbnRCdWlsZFN0cmluZ3MgPSBM
ZXhlckZsYWdzRG9udEJ1aWxkU3RyaW5nczsKKyAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNl
dDxMZXhlckZsYWdzPiBEb250QnVpbGRLZXl3b3JkcyB7IExleGVyRmxhZ3M6OkRvbnRCdWlsZEtl
eXdvcmRzIH07CisgICAgc3RhdGljIGNvbnN0ZXhwciBPcHRpb25TZXQ8TGV4ZXJGbGFncz4gRG9u
dEJ1aWxkU3RyaW5ncyB7IExleGVyRmxhZ3M6OkRvbnRCdWlsZFN0cmluZ3MgfTsKIAogICAgIGlu
dCBjcmVhdGVTb3VyY2VFbGVtZW50cygpIHsgcmV0dXJuIFNvdXJjZUVsZW1lbnRzUmVzdWx0OyB9
CiAgICAgRXhwcmVzc2lvblR5cGUgbWFrZUZ1bmN0aW9uQ2FsbE5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGJvb2wsIGludCwgaW50LCBpbnQsIGludCwgc2l6ZV90
LCBib29sKSB7IHJldHVybiBDYWxsRXhwcjsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381068</attachid>
            <date>2019-10-16 07:23:34 -0700</date>
            <delta_ts>2019-10-28 16:42:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203032-20191016162332.patch</filename>
            <type>text/plain</type>
            <size>16787</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
Nzg0ZTUyOTgxNzYzYTdhOGJlMDQ2MWI2YmYxMThlYTliNjQ5YmJmLi41NTg0MzE2MzBhZjQwMDAx
ODAzZWFjNjdlOWY4ZjI3ZjdmNzZhYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0xMC0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gTGV4ZXIgZmxhZ3Mgc2hvdWxkIGJlIGFuIE9wdGlvblNl
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDMy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV4ZXJG
bGFncyBoYXMgYW4gYW5ub3lpbmdseSBtaXNzcGVsbGVkIHZhbHVlIExleGV4RmxhZ3NEb250QnVp
bGRLZXl3b3JkczsKKyAgICAgICAgbGV0J3MgdXNlIHRoaXMgYXMgYW4gb3Bwb3J0dW5pdHkgdG8g
bW9kZXJuaXplIHRoaXMgZW51bS4KKworICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6Cisg
ICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8TENoYXI+Ojpw
YXJzZUlkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpMZXhlcjxVQ2hhcj46OnBhcnNlSWRlbnRp
Zmllcik6CisgICAgICAgIChKU0M6OkxleGVyPENoYXJhY3RlclR5cGU+OjpwYXJzZUlkZW50aWZp
ZXJTbG93Q2FzZSk6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXhXaXRob3V0Q2xlYXJpbmdM
aW5lVGVybWluYXRvcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6CisgICAgICAgIChKU0M6
OkxleGVyPFQ+OjpsZXhFeHBlY3RJZGVudGlmaWVyKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46
OmxleCk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5o
OgorICAgICAgICAoSlNDOjpQYXJzZXI6Om5leHQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6Om5l
eHRXaXRob3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
bmV4dEV4cGVjdElkZW50aWZpZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmNvbnN1bWUpOgor
ICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisKIDIwMTktMTAtMTYgIFBhdWxvIE1h
dG9zICA8cG1hdG9zQGxpbmtpLnRvb2xzPgogCiAgICAgICAgIEZpeCBHQ0Mgd2FybmluZyBvbiBN
SVBTIGFib3V0IGRlYWQgdmFyaWFibGUgbWV0YWRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKaW5kZXggOWI0NjAyNzkyMmZkZDVhMGQxOWU3ZTFmMWNmYTY5NTI3
NWM4ZTRiYS4uY2FmMDMwODI5MjFkMTI5NWEwNDI4ZGIwY2JlMDQxMmMzYWNmMGM5OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTEyNSw4ICsxMjUsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIENyZWF0ZXNBU1QgPSB0cnVlOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBOZWVkc0ZyZWVWYXJpYWJsZUluZm8gPSB0cnVlOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBDYW5Vc2VGdW5jdGlvbkNhY2hlID0gdHJ1ZTsKLSAg
ICBzdGF0aWMgY29uc3RleHByIGludCAgRG9udEJ1aWxkS2V5d29yZHMgPSAwOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgaW50ICBEb250QnVpbGRTdHJpbmdzID0gMDsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIE9wdGlvblNldDxMZXhlckZsYWdzPiBEb250QnVpbGRLZXl3b3JkcyA9IHsgfTsKKyAgICBz
dGF0aWMgY29uc3RleHByIE9wdGlvblNldDxMZXhlckZsYWdzPiBEb250QnVpbGRTdHJpbmdzID0g
eyB9OwogCiAgICAgRXhwcmVzc2lvbk5vZGUqIG1ha2VCaW5hcnlOb2RlKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIGludCB0b2tlbiwgc3RkOjpwYWlyPEV4cHJlc3Npb25Ob2RlKiwgQmluYXJ5T3BJ
bmZvPiwgc3RkOjpwYWlyPEV4cHJlc3Npb25Ob2RlKiwgQmluYXJ5T3BJbmZvPik7CiAgICAgRXhw
cmVzc2lvbk5vZGUqIG1ha2VGdW5jdGlvbkNhbGxOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IEV4cHJlc3Npb25Ob2RlKiBmdW5jLCBib29sIHByZXZpb3VzQmFzZVdhc1N1cGVyLCBBcmd1bWVu
dHNOb2RlKiBhcmdzLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29uc3QgSlNU
ZXh0UG9zaXRpb24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQsIHNpemVf
dCBjYWxsT3JBcHBseUNoaWxkRGVwdGgsIGJvb2wgaXNPcHRpb25hbENhbGwpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZDcwMzE5NWMxNGM4YWQ5OGMxYjMzNDA3
YTRiNzNjMDk4ZTRiMGVlLi5hZDBhNWUzNGJlNzRiNmU3OTQwNjUyZjVkZTQ5YmQ3NGMyNDE0M2Zh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtOTI3LDExICs5Mjcs
MTEgQEAgYm9vbCBpc1NhZmVCdWlsdGluSWRlbnRpZmllcihWTSYgdm0sIGNvbnN0IElkZW50aWZp
ZXIqIGlkZW50KQogI2VuZGlmCiAgICAgCiB0ZW1wbGF0ZSA8PgotdGVtcGxhdGUgPGJvb2wgc2hv
dWxkQ3JlYXRlSWRlbnRpZmllcj4gQUxXQVlTX0lOTElORSBKU1Rva2VuVHlwZSBMZXhlcjxMQ2hh
cj46OnBhcnNlSWRlbnRpZmllcihKU1Rva2VuRGF0YSogdG9rZW5EYXRhLCB1bnNpZ25lZCBsZXhl
ckZsYWdzLCBib29sIHN0cmljdE1vZGUpCit0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVu
dGlmaWVyPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPExDaGFyPjo6cGFyc2VJZGVu
dGlmaWVyKEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEsIE9wdGlvblNldDxMZXhlckZsYWdzPiBsZXhl
ckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CiAgICAgdG9rZW5EYXRhLT5lc2NhcGVkID0gZmFs
c2U7CiAgICAgY29uc3QgcHRyZGlmZl90IHJlbWFpbmluZyA9IG1fY29kZUVuZCAtIG1fY29kZTsK
LSAgICBpZiAoKHJlbWFpbmluZyA+PSBtYXhUb2tlbkxlbmd0aCkgJiYgIShsZXhlckZsYWdzICYg
TGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpKSB7CisgICAgaWYgKChyZW1haW5pbmcgPj0g
bWF4VG9rZW5MZW5ndGgpICYmICFsZXhlckZsYWdzLmNvbnRhaW5zKExleGVyRmxhZ3M6Oklnbm9y
ZVJlc2VydmVkV29yZHMpKSB7CiAgICAgICAgIEpTVG9rZW5UeXBlIGtleXdvcmQgPSBwYXJzZUtl
eXdvcmQ8c2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4odG9rZW5EYXRhKTsKICAgICAgICAgaWYgKGtl
eXdvcmQgIT0gSURFTlQpIHsKICAgICAgICAgICAgIEFTU0VSVCgoIXNob3VsZENyZWF0ZUlkZW50
aWZpZXIpIHx8IHRva2VuRGF0YS0+aWRlbnQpOwpAQCAtOTc1LDcgKzk3NSw3IEBAIHRlbXBsYXRl
IDxib29sIHNob3VsZENyZWF0ZUlkZW50aWZpZXI+IEFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUg
TGV4ZXI8TENoYXI+OjpwCiAgICAgfSBlbHNlCiAgICAgICAgIHRva2VuRGF0YS0+aWRlbnQgPSBu
dWxscHRyOwogCi0gICAgaWYgKFVOTElLRUxZKChyZW1haW5pbmcgPCBtYXhUb2tlbkxlbmd0aCkg
JiYgIShsZXhlckZsYWdzICYgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpKSAmJiAhaXNQ
cml2YXRlTmFtZSkgeworICAgIGlmIChVTkxJS0VMWSgocmVtYWluaW5nIDwgbWF4VG9rZW5MZW5n
dGgpICYmICFsZXhlckZsYWdzLmNvbnRhaW5zKExleGVyRmxhZ3M6Oklnbm9yZVJlc2VydmVkV29y
ZHMpKSAmJiAhaXNQcml2YXRlTmFtZSkgewogICAgICAgICBBU1NFUlQoc2hvdWxkQ3JlYXRlSWRl
bnRpZmllcik7CiAgICAgICAgIGlmIChyZW1haW5pbmcgPCBtYXhUb2tlbkxlbmd0aCkgewogICAg
ICAgICAgICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0gSlNDOjptYWluVGFibGUuZW50
cnkoKmlkZW50KTsKQEAgLTk5MiwxMSArOTkyLDExIEBAIHRlbXBsYXRlIDxib29sIHNob3VsZENy
ZWF0ZUlkZW50aWZpZXI+IEFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8TENoYXI+Ojpw
CiB9CiAKIHRlbXBsYXRlIDw+Ci10ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlmaWVy
PiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPFVDaGFyPjo6cGFyc2VJZGVudGlmaWVy
KEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0
TW9kZSkKK3RlbXBsYXRlIDxib29sIHNob3VsZENyZWF0ZUlkZW50aWZpZXI+IEFMV0FZU19JTkxJ
TkUgSlNUb2tlblR5cGUgTGV4ZXI8VUNoYXI+OjpwYXJzZUlkZW50aWZpZXIoSlNUb2tlbkRhdGEq
IHRva2VuRGF0YSwgT3B0aW9uU2V0PExleGVyRmxhZ3M+IGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0
TW9kZSkKIHsKICAgICB0b2tlbkRhdGEtPmVzY2FwZWQgPSBmYWxzZTsKICAgICBjb25zdCBwdHJk
aWZmX3QgcmVtYWluaW5nID0gbV9jb2RlRW5kIC0gbV9jb2RlOwotICAgIGlmICgocmVtYWluaW5n
ID49IG1heFRva2VuTGVuZ3RoKSAmJiAhKGxleGVyRmxhZ3MgJiBMZXhlckZsYWdzSWdub3JlUmVz
ZXJ2ZWRXb3JkcykpIHsKKyAgICBpZiAoKHJlbWFpbmluZyA+PSBtYXhUb2tlbkxlbmd0aCkgJiYg
IWxleGVyRmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6SWdub3JlUmVzZXJ2ZWRXb3JkcykpIHsK
ICAgICAgICAgSlNUb2tlblR5cGUga2V5d29yZCA9IHBhcnNlS2V5d29yZDxzaG91bGRDcmVhdGVJ
ZGVudGlmaWVyPih0b2tlbkRhdGEpOwogICAgICAgICBpZiAoa2V5d29yZCAhPSBJREVOVCkgewog
ICAgICAgICAgICAgQVNTRVJUKCghc2hvdWxkQ3JlYXRlSWRlbnRpZmllcikgfHwgdG9rZW5EYXRh
LT5pZGVudCk7CkBAIC0xMDUzLDcgKzEwNTMsNyBAQCB0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVh
dGVJZGVudGlmaWVyPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPFVDaGFyPjo6cAog
ICAgIH0gZWxzZQogICAgICAgICB0b2tlbkRhdGEtPmlkZW50ID0gbnVsbHB0cjsKICAgICAKLSAg
ICBpZiAoVU5MSUtFTFkoKHJlbWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSAmJiAhKGxleGVyRmxh
Z3MgJiBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcykpICYmICFpc1ByaXZhdGVOYW1lKSB7
CisgICAgaWYgKFVOTElLRUxZKChyZW1haW5pbmcgPCBtYXhUb2tlbkxlbmd0aCkgJiYgIWxleGVy
RmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6SWdub3JlUmVzZXJ2ZWRXb3JkcykpICYmICFpc1By
aXZhdGVOYW1lKSB7CiAgICAgICAgIEFTU0VSVChzaG91bGRDcmVhdGVJZGVudGlmaWVyKTsKICAg
ICAgICAgaWYgKHJlbWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSB7CiAgICAgICAgICAgICBjb25z
dCBIYXNoVGFibGVWYWx1ZSogZW50cnkgPSBKU0M6Om1haW5UYWJsZS5lbnRyeSgqaWRlbnQpOwpA
QCAtMTA2OSw3ICsxMDY5LDcgQEAgdGVtcGxhdGUgPGJvb2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmll
cj4gQUxXQVlTX0lOTElORSBKU1Rva2VuVHlwZSBMZXhlcjxVQ2hhcj46OnAKICAgICByZXR1cm4g
SURFTlQ7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHRlbXBsYXRlPGJv
b2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gSlNUb2tlblR5cGUgTGV4ZXI8Q2hhcmFjdGVyVHlw
ZT46OnBhcnNlSWRlbnRpZmllclNsb3dDYXNlKEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEsIHVuc2ln
bmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJh
Y3RlclR5cGU+IHRlbXBsYXRlPGJvb2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gSlNUb2tlblR5
cGUgTGV4ZXI8Q2hhcmFjdGVyVHlwZT46OnBhcnNlSWRlbnRpZmllclNsb3dDYXNlKEpTVG9rZW5E
YXRhKiB0b2tlbkRhdGEsIE9wdGlvblNldDxMZXhlckZsYWdzPiBsZXhlckZsYWdzLCBib29sIHN0
cmljdE1vZGUpCiB7CiAgICAgdG9rZW5EYXRhLT5lc2NhcGVkID0gdHJ1ZTsKICAgICBhdXRvIGlk
ZW50aWZpZXJTdGFydCA9IGN1cnJlbnRTb3VyY2VQdHIoKTsKQEAgLTExMTksNyArMTExOSw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHRlbXBsYXRlPGJvb2wgc2hvdWxkQ3Jl
YXRlSWRlbnRpZmllcj4gSlNUb2tlblR5CiAKICAgICBtX2J1ZmZlcjE2LnNocmluaygwKTsKIAot
ICAgIGlmIChMSUtFTFkoIShsZXhlckZsYWdzICYgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29y
ZHMpKSkgeworICAgIGlmIChMSUtFTFkoIWxleGVyRmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6
SWdub3JlUmVzZXJ2ZWRXb3JkcykpKSB7CiAgICAgICAgIEFTU0VSVChzaG91bGRDcmVhdGVJZGVu
dGlmaWVyKTsKICAgICAgICAgY29uc3QgSGFzaFRhYmxlVmFsdWUqIGVudHJ5ID0gSlNDOjptYWlu
VGFibGUuZW50cnkoKmlkZW50KTsKICAgICAgICAgaWYgKCFlbnRyeSkKQEAgLTE4NTksNyArMTg1
OSw3IEBAIHZvaWQgTGV4ZXI8VD46OmZpbGxUb2tlbkluZm8oSlNUb2tlbiogdG9rZW5SZWNvcmQs
IEpTVG9rZW5UeXBlIHRva2VuLCBpbnQgbGluZU51CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBU
PgotSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleFdpdGhvdXRDbGVhcmluZ0xpbmVUZXJtaW5hdG9y
KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1v
ZGUpCitKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4V2l0aG91dENsZWFyaW5nTGluZVRlcm1pbmF0
b3IoSlNUb2tlbiogdG9rZW5SZWNvcmQsIE9wdGlvblNldDxMZXhlckZsYWdzPiBsZXhlckZsYWdz
LCBib29sIHN0cmljdE1vZGUpCiB7CiAgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tl
blJlY29yZC0+bV9kYXRhOwogICAgIEpTVG9rZW5Mb2NhdGlvbiogdG9rZW5Mb2NhdGlvbiA9ICZ0
b2tlblJlY29yZC0+bV9sb2NhdGlvbjsKQEAgLTIzNzksNyArMjM3OSw3IEBAIHN0YXJ0OgogICAg
ICAgICBicmVhazsKICAgICBjYXNlIENoYXJhY3RlclF1b3RlOiB7CiAgICAgICAgIFN0cmluZ1Bh
cnNlUmVzdWx0IHJlc3VsdCA9IFN0cmluZ0Nhbm5vdEJlUGFyc2VkOwotICAgICAgICBpZiAobGV4
ZXJGbGFncyAmIExleGVyRmxhZ3NEb250QnVpbGRTdHJpbmdzKQorICAgICAgICBpZiAobGV4ZXJG
bGFncy5jb250YWlucyhMZXhlckZsYWdzOjpEb250QnVpbGRTdHJpbmdzKSkKICAgICAgICAgICAg
IHJlc3VsdCA9IHBhcnNlU3RyaW5nPGZhbHNlPih0b2tlbkRhdGEsIHN0cmljdE1vZGUpOwogICAg
ICAgICBlbHNlCiAgICAgICAgICAgICByZXN1bHQgPSBwYXJzZVN0cmluZzx0cnVlPih0b2tlbkRh
dGEsIHN0cmljdE1vZGUpOwpAQCAtMjM5Nyw3ICsyMzk3LDcgQEAgc3RhcnQ6CiAgICAgICAgIEZB
TExUSFJPVUdIOwogICAgIGNhc2UgQ2hhcmFjdGVyQmFja1NsYXNoOgogICAgICAgICBwYXJzZUlk
ZW50OgotICAgICAgICBpZiAobGV4ZXJGbGFncyAmIExleGV4RmxhZ3NEb250QnVpbGRLZXl3b3Jk
cykKKyAgICAgICAgaWYgKGxleGVyRmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6RG9udEJ1aWxk
S2V5d29yZHMpKQogICAgICAgICAgICAgdG9rZW4gPSBwYXJzZUlkZW50aWZpZXI8ZmFsc2U+KHRv
a2VuRGF0YSwgbGV4ZXJGbGFncywgc3RyaWN0TW9kZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIHRva2VuID0gcGFyc2VJZGVudGlmaWVyPHRydWU+KHRva2VuRGF0YSwgbGV4ZXJGbGFncywg
c3RyaWN0TW9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggZTcwMjY4
NDVjNTUzNGE4MDViNGNhOWRlYjRlYzRjNmQxZmJlODg1My4uZGQ4MDhmMDhjZTQ0NzE5OWVhYzg5
N2Q3NmFlMGJiNWFiYzJjYTY4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApA
QCAtMzIsMTAgKzMyLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1lbnVtIExleGVyRmxhZ3Mg
ewotICAgIExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzID0gMSwgCi0gICAgTGV4ZXJGbGFn
c0RvbnRCdWlsZFN0cmluZ3MgPSAyLAotICAgIExleGV4RmxhZ3NEb250QnVpbGRLZXl3b3JkcyA9
IDQKK2VudW0gY2xhc3MgTGV4ZXJGbGFncyA6IHVpbnQ4X3QgeworICAgIElnbm9yZVJlc2VydmVk
V29yZHMgPSAxIDw8IDAsIAorICAgIERvbnRCdWlsZFN0cmluZ3MgPSAxIDw8IDEsCisgICAgRG9u
dEJ1aWxkS2V5d29yZHMgPSAxIDw8IDIKIH07CiAKIGVudW0gY2xhc3MgTGV4ZXJFc2NhcGVQYXJz
ZU1vZGUgeyBUZW1wbGF0ZSwgU3RyaW5nIH07CkBAIC02NCw4ICs2NCw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldElzUmVwYXJzaW5nRnVuY3Rpb24oKSB7IG1faXNSZXBhcnNpbmdGdW5jdGlvbiA9
IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X2lzUmVwYXJzaW5nRnVuY3Rpb247IH0KIAotICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwg
dW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7Ci0gICAgSlNUb2tlblR5cGUgbGV4V2l0aG91dENs
ZWFyaW5nTGluZVRlcm1pbmF0b3IoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUp
OworICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgT3B0aW9uU2V0PExleGVyRmxhZ3M+LCBi
b29sIHN0cmljdE1vZGUpOworICAgIEpTVG9rZW5UeXBlIGxleFdpdGhvdXRDbGVhcmluZ0xpbmVU
ZXJtaW5hdG9yKEpTVG9rZW4qLCBPcHRpb25TZXQ8TGV4ZXJGbGFncz4sIGJvb2wgc3RyaWN0TW9k
ZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBj
b25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KICAgICBBTFdBWVNfSU5MSU5FIGludCBjdXJy
ZW50T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gb2Zmc2V0RnJvbVNvdXJjZVB0cihtX2NvZGUpOyB9
CkBAIC0xMTYsNyArMTE2LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhc0xpbmVUZXJtaW5hdG9y
QmVmb3JlVG9rZW4gPSB0ZXJtaW5hdG9yOwogICAgIH0KIAotICAgIEpTVG9rZW5UeXBlIGxleEV4
cGVjdElkZW50aWZpZXIoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOworICAg
IEpTVG9rZW5UeXBlIGxleEV4cGVjdElkZW50aWZpZXIoSlNUb2tlbiosIE9wdGlvblNldDxMZXhl
ckZsYWdzPiwgYm9vbCBzdHJpY3RNb2RlKTsKIAogICAgIEFMV0FZU19JTkxJTkUgU3RyaW5nVmll
dyBnZXRUb2tlbihjb25zdCBKU1Rva2VuJiB0b2tlbikKICAgICB7CkBAIC0xNjQsOCArMTY0LDgg
QEAgcHJpdmF0ZToKIAogICAgIHRlbXBsYXRlIDxpbnQgc2hpZnRBbW91bnQ+IHZvaWQgaW50ZXJu
YWxTaGlmdCgpOwogICAgIHRlbXBsYXRlIDxib29sIHNob3VsZENyZWF0ZUlkZW50aWZpZXI+IEFM
V0FZU19JTkxJTkUgSlNUb2tlblR5cGUgcGFyc2VLZXl3b3JkKEpTVG9rZW5EYXRhKik7Ci0gICAg
dGVtcGxhdGUgPGJvb2wgc2hvdWxkQnVpbGRJZGVudGlmaWVycz4gQUxXQVlTX0lOTElORSBKU1Rv
a2VuVHlwZSBwYXJzZUlkZW50aWZpZXIoSlNUb2tlbkRhdGEqLCB1bnNpZ25lZCBsZXhlckZsYWdz
LCBib29sIHN0cmljdE1vZGUpOwotICAgIHRlbXBsYXRlIDxib29sIHNob3VsZEJ1aWxkSWRlbnRp
ZmllcnM+IE5FVkVSX0lOTElORSBKU1Rva2VuVHlwZSBwYXJzZUlkZW50aWZpZXJTbG93Q2FzZShK
U1Rva2VuRGF0YSosIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSk7CisgICAg
dGVtcGxhdGUgPGJvb2wgc2hvdWxkQnVpbGRJZGVudGlmaWVycz4gQUxXQVlTX0lOTElORSBKU1Rv
a2VuVHlwZSBwYXJzZUlkZW50aWZpZXIoSlNUb2tlbkRhdGEqLCBPcHRpb25TZXQ8TGV4ZXJGbGFn
cz4sIGJvb2wgc3RyaWN0TW9kZSk7CisgICAgdGVtcGxhdGUgPGJvb2wgc2hvdWxkQnVpbGRJZGVu
dGlmaWVycz4gTkVWRVJfSU5MSU5FIEpTVG9rZW5UeXBlIHBhcnNlSWRlbnRpZmllclNsb3dDYXNl
KEpTVG9rZW5EYXRhKiwgT3B0aW9uU2V0PExleGVyRmxhZ3M+LCBib29sIHN0cmljdE1vZGUpOwog
ICAgIGVudW0gU3RyaW5nUGFyc2VSZXN1bHQgewogICAgICAgICBTdHJpbmdQYXJzZWRTdWNjZXNz
ZnVsbHksCiAgICAgICAgIFN0cmluZ1VudGVybWluYXRlZCwKQEAgLTM0MCwxMSArMzQwLDExIEBA
IGJvb2wgaXNTYWZlQnVpbHRpbklkZW50aWZpZXIoVk0mLCBjb25zdCBJZGVudGlmaWVyKik7CiAj
ZW5kaWYKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1BTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBl
IExleGVyPFQ+OjpsZXhFeHBlY3RJZGVudGlmaWVyKEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNp
Z25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCitBTFdBWVNfSU5MSU5FIEpTVG9rZW5U
eXBlIExleGVyPFQ+OjpsZXhFeHBlY3RJZGVudGlmaWVyKEpTVG9rZW4qIHRva2VuUmVjb3JkLCBP
cHRpb25TZXQ8TGV4ZXJGbGFncz4gbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewogICAg
IEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKICAgICBKU1Rv
a2VuTG9jYXRpb24qIHRva2VuTG9jYXRpb24gPSAmdG9rZW5SZWNvcmQtPm1fbG9jYXRpb247Ci0g
ICAgQVNTRVJUKChsZXhlckZsYWdzICYgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMpKTsK
KyAgICBBU1NFUlQobGV4ZXJGbGFncy5jb250YWlucyhMZXhlckZsYWdzOjpJZ25vcmVSZXNlcnZl
ZFdvcmRzKSk7CiAgICAgY29uc3QgVCogc3RhcnQgPSBtX2NvZGU7CiAgICAgY29uc3QgVCogcHRy
ID0gc3RhcnQ7CiAgICAgY29uc3QgVCogZW5kID0gbV9jb2RlRW5kOwpAQCAtMzc0LDcgKzM3NCw3
IEBAIEFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleEV4cGVjdElkZW50aWZp
ZXIoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuCiAgICAgQVNTRVJUKGN1cnJlbnRPZmZzZXQoKSA+
PSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCkpOwogCiAgICAgLy8gQ3JlYXRlIHRoZSBpZGVudGlm
aWVyIGlmIG5lZWRlZAotICAgIGlmIChsZXhlckZsYWdzICYgTGV4ZXhGbGFnc0RvbnRCdWlsZEtl
eXdvcmRzCisgICAgaWYgKGxleGVyRmxhZ3MuY29udGFpbnMoTGV4ZXJGbGFnczo6RG9udEJ1aWxk
S2V5d29yZHMpCiAjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgICAgICAmJiAhbV9wYXJzaW5nQnVp
bHRpbkZ1bmN0aW9uCiAjZW5kaWYKQEAgLTQwNSw3ICs0MDUsNyBAQCBzbG93Q2FzZToKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1BTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPFQ+
OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3Ry
aWN0TW9kZSkKK0FMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2Vu
KiB0b2tlblJlY29yZCwgT3B0aW9uU2V0PExleGVyRmxhZ3M+IGxleGVyRmxhZ3MsIGJvb2wgc3Ry
aWN0TW9kZSkKIHsKICAgICBtX2hhc0xpbmVUZXJtaW5hdG9yQmVmb3JlVG9rZW4gPSBmYWxzZTsK
ICAgICByZXR1cm4gbGV4V2l0aG91dENsZWFyaW5nTGluZVRlcm1pbmF0b3IodG9rZW5SZWNvcmQs
IGxleGVyRmxhZ3MsIHN0cmljdE1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwCmluZGV4IGI2N2Q5MzlmYmEyMDJmMGUxOTY3YjE5ZjJiODBlNTJmMTAwODkwMzUuLjgz
ZjNkNzI3NDNkMjVjNDMzMTI4MTMzOTAwMjg5NWY5YzkwMmExY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTQwMDMsOSArNDAwMyw5IEBAIG5hbWVkUHJvcGVy
dHk6CiAgICAgICAgIEpTVG9rZW4gaWRlbnRUb2tlbiA9IG1fdG9rZW47CiAKICAgICAgICAgaWYg
KGNvbXBsZXRlIHx8ICh3YXNJZGVudCAmJiAhaXNHZW5lcmF0b3JNZXRob2RQYXJzZU1vZGUocGFy
c2VNb2RlKSAgJiYgKCppZGVudCA9PSBtX3ZtLnByb3BlcnR5TmFtZXMtPmdldCB8fCAqaWRlbnQg
PT0gbV92bS5wcm9wZXJ0eU5hbWVzLT5zZXQpKSkKLSAgICAgICAgICAgIG5leHRFeHBlY3RJZGVu
dGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzKTsKKyAgICAgICAgICAgIG5leHRF
eHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3M6Oklnbm9yZVJlc2VydmVkV29yZHMpOwogICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3Jl
UmVzZXJ2ZWRXb3JkcyB8IFRyZWVCdWlsZGVyOjpEb250QnVpbGRLZXl3b3Jkcyk7CisgICAgICAg
ICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihUcmVlQnVpbGRlcjo6RG9udEJ1aWxkS2V5d29yZHMg
fCBMZXhlckZsYWdzOjpJZ25vcmVSZXNlcnZlZFdvcmRzKTsKIAogICAgICAgICBpZiAoIWlzR2Vu
ZXJhdG9yTWV0aG9kUGFyc2VNb2RlKHBhcnNlTW9kZSkgJiYgIWlzQXN5bmNNZXRob2RQYXJzZU1v
ZGUocGFyc2VNb2RlKSAmJiBtYXRjaChDT0xPTikpIHsKICAgICAgICAgICAgIG5leHQoKTsKQEAg
LTQ4NDksNyArNDg0OSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAgICAgICAgICBj
YXNlIERPVDogewogICAgICAgICAgICAgICAgIG1fcGFyc2VyU3RhdGUubm9uVHJpdmlhbEV4cHJl
c3Npb25Db3VudCsrOwogICAgICAgICAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25F
bmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwotICAgICAgICAgICAgICAgIG5leHRFeHBlY3RJ
ZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRv
bnRCdWlsZEtleXdvcmRzKTsKKyAgICAgICAgICAgICAgICBuZXh0RXhwZWN0SWRlbnRpZmllcihU
cmVlQnVpbGRlcjo6RG9udEJ1aWxkS2V5d29yZHMgfCBMZXhlckZsYWdzOjpJZ25vcmVSZXNlcnZl
ZFdvcmRzKTsKICAgICAgICAgICAgICAgICBtYXRjaE9yRmFpbChJREVOVCwgIkV4cGVjdGVkIGEg
cHJvcGVydHkgbmFtZSBhZnRlciAiLCBvcHRpb25hbENoYWluQmFzZSA/ICInPy4nIiA6ICInLici
KTsKICAgICAgICAgICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVEb3RBY2Nlc3Moc3RhcnRM
b2NhdGlvbiwgYmFzZSwgbV90b2tlbi5tX2RhdGEuaWRlbnQsIGV4cHJlc3Npb25TdGFydCwgZXhw
cmVzc2lvbkVuZCwgdG9rZW5FbmRQb3NpdGlvbigpKTsKICAgICAgICAgICAgICAgICBpZiAoVU5M
SUtFTFkoYmFzZUlzU3VwZXIgJiYgY3VycmVudFNjb3BlKCktPmlzQXJyb3dGdW5jdGlvbigpKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IGM4OWIwMGRjMDZhM2YwZTFj
MDFmYWJjMTE3YWQ1ZDYxMGE5YmE3NTcuLmNmZDk0M2ViNzEwOTQ3NTNiZTZhZmU2MmNmMTI0ZjNl
N2QyMWJjYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtMTM1NSw3
ICsxMzU1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGlzRnVuY3Rpb25NZXRhZGF0YU5vZGUoU2Nv
cGVOb2RlKikgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzRnVuY3Rpb25NZXRhZGF0YU5v
ZGUoRnVuY3Rpb25NZXRhZGF0YU5vZGUqKSB7IHJldHVybiB0cnVlOyB9CiAKLSAgICBBTFdBWVNf
SU5MSU5FIHZvaWQgbmV4dCh1bnNpZ25lZCBsZXhlckZsYWdzID0gMCkKKyAgICBBTFdBWVNfSU5M
SU5FIHZvaWQgbmV4dChPcHRpb25TZXQ8TGV4ZXJGbGFncz4gbGV4ZXJGbGFncyA9IHsgfSkKICAg
ICB7CiAgICAgICAgIGludCBsYXN0TGluZSA9IG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lOwogICAg
ICAgICBpbnQgbGFzdFRva2VuRW5kID0gbV90b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldDsKQEAg
LTEzNjUsNyArMTM2NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIG1fdG9rZW4ubV90eXBlID0gbV9s
ZXhlci0+bGV4KCZtX3Rva2VuLCBsZXhlckZsYWdzLCBzdHJpY3RNb2RlKCkpOwogICAgIH0KIAot
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBuZXh0V2l0aG91dENsZWFyaW5nTGluZVRlcm1pbmF0b3Io
dW5zaWduZWQgbGV4ZXJGbGFncyA9IDApCisgICAgQUxXQVlTX0lOTElORSB2b2lkIG5leHRXaXRo
b3V0Q2xlYXJpbmdMaW5lVGVybWluYXRvcihPcHRpb25TZXQ8TGV4ZXJGbGFncz4gbGV4ZXJGbGFn
cyA9IHsgfSkKICAgICB7CiAgICAgICAgIGludCBsYXN0TGluZSA9IG1fdG9rZW4ubV9sb2NhdGlv
bi5saW5lOwogICAgICAgICBpbnQgbGFzdFRva2VuRW5kID0gbV90b2tlbi5tX2xvY2F0aW9uLmVu
ZE9mZnNldDsKQEAgLTEzNzUsNyArMTM3NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIG1fdG9rZW4u
bV90eXBlID0gbV9sZXhlci0+bGV4V2l0aG91dENsZWFyaW5nTGluZVRlcm1pbmF0b3IoJm1fdG9r
ZW4sIGxleGVyRmxhZ3MsIHN0cmljdE1vZGUoKSk7CiAgICAgfQogCi0gICAgQUxXQVlTX0lOTElO
RSB2b2lkIG5leHRFeHBlY3RJZGVudGlmaWVyKHVuc2lnbmVkIGxleGVyRmxhZ3MgPSAwKQorICAg
IEFMV0FZU19JTkxJTkUgdm9pZCBuZXh0RXhwZWN0SWRlbnRpZmllcihPcHRpb25TZXQ8TGV4ZXJG
bGFncz4gbGV4ZXJGbGFncyA9IHsgfSkKICAgICB7CiAgICAgICAgIGludCBsYXN0TGluZSA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5saW5lOwogICAgICAgICBpbnQgbGFzdFRva2VuRW5kID0gbV90b2tl
bi5tX2xvY2F0aW9uLmVuZE9mZnNldDsKQEAgLTEzOTYsNyArMTM5Niw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiBtX2xleGVyLT5uZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgfQogCi0gICAg
QUxXQVlTX0lOTElORSBib29sIGNvbnN1bWUoSlNUb2tlblR5cGUgZXhwZWN0ZWQsIHVuc2lnbmVk
IGZsYWdzID0gMCkKKyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgY29uc3VtZShKU1Rva2VuVHlwZSBl
eHBlY3RlZCwgT3B0aW9uU2V0PExleGVyRmxhZ3M+IGZsYWdzID0geyB9KQogICAgIHsKICAgICAg
ICAgYm9vbCByZXN1bHQgPSBtX3Rva2VuLm1fdHlwZSA9PSBleHBlY3RlZDsKICAgICAgICAgaWYg
KHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgK
aW5kZXggYmQzNDM4NGIzOTYyZDkzMzM0OWUyOWNjYzBlNjA4MWMyYTc0ZjA5OC4uZmI4MmI3MGYy
ZDA5MTVlZGYzZDIxMDAwYjg0MzYwYmQ2MGIyM2NjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE0Myw4ICsxNDMsOCBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGNvbnN0ZXhwciBib29sIENyZWF0ZXNBU1QgPSBmYWxzZTsKICAgICBzdGF0aWMg
Y29uc3RleHByIGJvb2wgTmVlZHNGcmVlVmFyaWFibGVJbmZvID0gZmFsc2U7CiAgICAgc3RhdGlj
IGNvbnN0ZXhwciBib29sIENhblVzZUZ1bmN0aW9uQ2FjaGUgPSB0cnVlOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgRG9udEJ1aWxkS2V5d29yZHMgPSBMZXhleEZsYWdzRG9udEJ1aWxk
S2V5d29yZHM7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBEb250QnVpbGRTdHJpbmdz
ID0gTGV4ZXJGbGFnc0RvbnRCdWlsZFN0cmluZ3M7CisgICAgc3RhdGljIGNvbnN0ZXhwciBPcHRp
b25TZXQ8TGV4ZXJGbGFncz4gRG9udEJ1aWxkS2V5d29yZHMgPSBMZXhlckZsYWdzOjpEb250QnVp
bGRLZXl3b3JkczsKKyAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxMZXhlckZsYWdzPiBE
b250QnVpbGRTdHJpbmdzID0gTGV4ZXJGbGFnczo6RG9udEJ1aWxkU3RyaW5nczsKIAogICAgIGlu
dCBjcmVhdGVTb3VyY2VFbGVtZW50cygpIHsgcmV0dXJuIFNvdXJjZUVsZW1lbnRzUmVzdWx0OyB9
CiAgICAgRXhwcmVzc2lvblR5cGUgbWFrZUZ1bmN0aW9uQ2FsbE5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGJvb2wsIGludCwgaW50LCBpbnQsIGludCwgc2l6ZV90
LCBib29sKSB7IHJldHVybiBDYWxsRXhwcjsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>