<?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>164019</bug_id>
          
          <creation_ts>2016-10-26 09:38:17 -0700</creation_ts>
          <short_desc>[CSS Parser] Unify CSSCustomPropertyValue and CSSCustomPropertyDeclaration</short_desc>
          <delta_ts>2016-10-26 10:47: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>CSS</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244808</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-26 09:38:17 -0700</bug_when>
    <thetext>Unify CSSCustomPropertyValue and CSSCustomPropertyDeclaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244811</commentid>
    <comment_count>1</comment_count>
      <attachid>292936</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-26 09:41:06 -0700</bug_when>
    <thetext>Created attachment 292936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244820</commentid>
    <comment_count>2</comment_count>
      <attachid>292938</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-26 10:01:28 -0700</bug_when>
    <thetext>Created attachment 292938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244841</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-26 10:47:09 -0700</bug_when>
    <thetext>Fixed in r207903.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292936</attachid>
            <date>2016-10-26 09:41:06 -0700</date>
            <delta_ts>2016-10-26 09:52:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>27697</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzkwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE2LTEwLTI2ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBVbmlmeSBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlIGFuZCBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogY3NzL0NTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24uaDogUmVtb3ZlZC4KKyAgICAg
ICAgR2V0IHJpZCBvZiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLgorCisgICAgICAgICog
Y3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaDoKKyAgICAgICAgQWRkIG5ldyBjb25zdHJ1Y3Rv
cnMgdG8gaGFuZGxlIHRoZSBuZXcgdmFyaWFibGUgZGF0YSBmb3JtYXQgKGVpdGhlciBhIENTU1Zh
bHVlSWQgb3IgYQorICAgICAgICBDU1NWYXJpYWJsZURhdGEgb2JqZWN0IHRoYXQgaG9sZHMgcGFy
c2VyIHRva2VucykuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRl
c3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VmFsdWU6OmlzQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIEdl
dCByaWQgb2YgQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbiBjYXNlcy4KKworICAgICAgICAq
IGNzcy9DU1NWYXJpYWJsZURhdGEuaDoKKyAgICAgICAgU3dpdGNoIHRvIENTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgV2UndmUgcmVu
YW1lZCB0aGUgb2xkIHBhcnNlciB2YXJpYWJsZSBkYXRhIHRvIGRlcHJlY2F0ZWRWYWx1ZSB0byBt
YWtlIGl0IGNsZWFyIGl0J3MgZ29pbmcKKyAgICAgICAgdG8gYmUgcmVtb3ZlZCBldmVudHVhbGx5
LgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZVZhcmlhYmxlVmFsdWUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTVmFyaWFi
bGVQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFyaWFibGVQYXJzZXI6OnBhcnNl
RGVjbGFyYXRpb25WYWx1ZSk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NWYXJpYWJsZVBhcnNl
ci5oOgorICAgICAgICBTd2l0Y2ggdG8gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS4KKwogMjAxNi0x
MC0yNiAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNl
cl0gR2V0IGZ1bmN0aW9uYWwgcHNldWRvcyBwYXJzaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAkocmV2aXNpb24gMjA3ODM5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEyNjksNyArMTI2OSw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAg
ICBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0N1cnNvckltYWdlVmFsdWUu
Y3BwCiAgICAgY3NzL0NTU0N1c3RvbUlkZW50VmFsdWUuY3BwCi0gICAgY3NzL0NTU0N1c3RvbVBy
b3BlcnR5RGVjbGFyYXRpb24uY3BwCiAgICAgY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAK
ICAgICBjc3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAKICAgICBjc3MvRm9udEZhY2VTZXQuY3Bw
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM0MjEsOCArMzQyMSw2IEBA
CiAJCTk0NDRDQkRBMUQ4ODQ4M0EwMDczQTA3NCAvKiBDU1NWYXJpYWJsZVBhcnNlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTQ0NENCRDcxRDg4NDgy
QTAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUGFyc2VyLmggKi87IH07CiAJCTk0NDRDQkUzMUQ4ODYx
OTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVudFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkUyMUQ4ODYxNTgwMDczQTA3NCAvKiBD
U1NDdXN0b21JZGVudFZhbHVlLmNwcCAqLzsgfTsKIAkJOTQ0NENCRTQxRDg4NjE5OTAwNzNBMDc0
IC8qIENTU0N1c3RvbUlkZW50VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk0NDRDQkUxMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVu
dFZhbHVlLmggKi87IH07Ci0JCTk0NDRDQkU1MUQ4ODYxOTkwMDczQTA3NCAvKiBDU1NDdXN0b21Q
cm9wZXJ0eURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk0NDRDQkUwMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Qcm9wZXJ0
eURlY2xhcmF0aW9uLmNwcCAqLzsgfTsKLQkJOTQ0NENCRTYxRDg4NjE5OTAwNzNBMDc0IC8qIENT
U0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkRGMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Q
cm9wZXJ0eURlY2xhcmF0aW9uLmggKi87IH07CiAJCTk0NDRDQkU3MUQ4ODYxQzIwMDczQTA3NCAv
KiBDU1NWYXJpYWJsZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTQ0NENCREUxRDg4NjE1ODAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlRGF0YS5j
cHAgKi87IH07CiAJCTk0NDRDQkU4MUQ4ODYxQzIwMDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkRE
MUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEuaCAqLzsgfTsKIAkJOTQ0NENCRTkx
RDg4NjFDQTAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTQ0NENCREMxRDg4NjE1ODAw
NzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwICovOyB9OwpAQCAtOTQzMyw4
ICs5NDMxLDggQEAKIAkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1NzRBQzc1MzFEQUMzNjdEMDBFOTc0NEMgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NEQ0Mjc5MUQ1OTRGRjYwMDJDRjUw
RSAvKiBHbG9iYWxDcnlwdG8uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdsb2JhbENyeXB0
by5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjhFNDMzMURCNzUyNDUwMEQw
QTRGNyAvKiBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5oOyBwYXRoID0gSlNSc2FIYXNoZWRL
ZXlHZW5QYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTc2OEU0MzUxREI3
NTI3MzAwRDBBNEY3IC8qIEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcDsgcGF0
aCA9IEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTc2OEU0MzMxREI3NTI0NTAwRDBBNEY3IC8qIEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUnNhSGFzaGVkS2V5R2VuUGFy
YW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NjhFNDM1MURCNzUyNzMwMEQw
QTRGNyAvKiBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU3NzQ4MzEwMURBREM0OTkwMDcxNkVGOSAvKiBBZXNLZXlHZW5Q
YXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEFlc0tleUdlblBhcmFtcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNL
ZXlHZW5QYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxn
b3JpdGhtQWVzS2V5R2VuUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3
NzQ4MzEzMURBRUMyRUEwMDcxNkVGOSAvKiBKU0Flc0tleUdlblBhcmFtcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Flc0tleUdlblBhcmFtcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTA4MTEsOCArMTA4MDksNiBAQAogCQk5NDQ0Q0JEQzFEODg2MTU4
MDA3M0EwNzQgLyogQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTQ0NENCREQxRDg4NjE1ODAwNzNBMDc0IC8qIENT
U1ZhcmlhYmxlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NWYXJp
YWJsZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTQ0NENCREUxRDg4NjE1
ODAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDU1NWYXJpYWJsZURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk5NDQ0Q0JERjFEODg2MTU4MDA3M0EwNzQgLyogQ1NTQ3VzdG9tUHJvcGVydHlEZWNs
YXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDdXN0b21Qcm9w
ZXJ0eURlY2xhcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk0NDRDQkUw
MUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0N1c3RvbVByb3BlcnR5RGVjbGFy
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDQ0Q0JFMTFEODg2MTU4
MDA3M0EwNzQgLyogQ1NTQ3VzdG9tSWRlbnRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NDdXN0b21JZGVudFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk0NDRDQkUyMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVudFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0N1c3RvbUlkZW50VmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDZEMzcyODFENkNCMjhCMDA3
NzA4NEYgLyogQ1NTUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IENTU1BhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvQ1NTUGFyc2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyODU0LDggKzIyODUwLDYgQEAKIAkJCQlBQTA5NzhFRTBB
QkFBNkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oICovLAogCQkJCTk0NDRDQkUy
MUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVudFZhbHVlLmNwcCAqLywKIAkJCQk5NDQ0
Q0JFMTFEODg2MTU4MDA3M0EwNzQgLyogQ1NTQ3VzdG9tSWRlbnRWYWx1ZS5oICovLAotCQkJCTk0
NDRDQkUwMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLmNw
cCAqLywKLQkJCQk5NDQ0Q0JERjFEODg2MTU4MDA3M0EwNzQgLyogQ1NTQ3VzdG9tUHJvcGVydHlE
ZWNsYXJhdGlvbi5oICovLAogCQkJCUJDNzc5RTEzMUJCMjE1QkIwMENBQThCRiAvKiBDU1NDdXN0
b21Qcm9wZXJ0eVZhbHVlLmggKi8sCiAJCQkJNEE5Q0M4MTUxNkJCOUFDNjAwRUM2NDVBIC8qIENT
U0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgKi8sCiAJCQkJNEE5Q0M4MTYxNkJCOUFDNjAwRUM2NDVB
IC8qIENTU0RlZmF1bHRTdHlsZVNoZWV0cy5oICovLApAQCAtMjQ2OTYsNyArMjQ2OTAsNiBAQAog
CQkJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdl
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0NDRDQkU0MUQ4ODYxOTkwMDczQTA3NCAvKiBD
U1NDdXN0b21JZGVudFZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NDQ0Q0JFNjFEODg2MTk5
MDA3M0EwNzQgLyogQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM3NzlFMTQxQkIyMTVCQjAwQ0FBOEJGIC8qIENTU0N1c3RvbVByb3BlcnR5VmFsdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRBOUNDODE4MTZCQjlBQzYwMEVDNjQ1QSAvKiBDU1NEZWZh
dWx0U3R5bGVTaGVldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZCQjBDNUI4MTdCQkQ2MjkwMDNE
MzY3NyAvKiBDU1NGaWx0ZXJJbWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDcxLDcg
KzI4NDY0LDYgQEAKIAkJCQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRl
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUEyMUVDQ0EwQUJGMEZCQTAwMkI4MzRDIC8q
IENTU0N1cnNvckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTQ0NENCRTMxRDg4
NjE5ODAwNzNBMDc0IC8qIENTU0N1c3RvbUlkZW50VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJOTQ0NENCRTUxRDg4NjE5OTAwNzNBMDc0IC8qIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEE5Q0M4MTcxNkJCOUFDNjAwRUM2NDVBIC8qIENT
U0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGQkIwQzVCNzE3QkJE
NjI2MDAzRDM2NzcgLyogQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzY0QjRENTBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udEZhY2UuY3BwIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5
RGVjbGFyYXRpb24uY3BwCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NSAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLwotLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0vLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0vLyBtZXQ6Ci0v
LwotLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotLy8gbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0vLyBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0vLyBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0vLyBkaXN0cmlidXRpb24uCi0vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLS8vIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0vLyB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotLy8KLS8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKLS8vICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLS8vIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0v
LyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKLS8vIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLS8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotLy8gREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCi0vLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0vLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9u
LmgiCi0KLSNpbmNsdWRlICJDU1NQYXJzZXJUb2tlblJhbmdlLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotU3RyaW5nIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb246OmN1c3RvbUNTU1Rl
eHQoKSBjb25zdAotewotICAgIGlmIChtX3ZhbHVlKQotICAgICAgICByZXR1cm4gbV92YWx1ZS0+
dG9rZW5SYW5nZSgpLnNlcmlhbGl6ZSgpOwotICAgIEFTU0VSVChtX3ZhbHVlSWQgIT0gQ1NTVmFs
dWVJbnRlcm5hbFZhcmlhYmxlVmFsdWUpOwotICAgIHJldHVybiBnZXRWYWx1ZU5hbWUobV92YWx1
ZUlkKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyMDc4
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5o
CShub25leGlzdGVudCkKQEAgLTEsODMgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENo
cm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8g
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLS8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQotLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlzdHJpYnV0aW9uLgotLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkNTU1ZhbHVl
LmgiCi0jaW5jbHVkZSAiQ1NTVmFyaWFibGVEYXRhLmgiCi0jaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24gOiBwdWJsaWMgQ1NTVmFs
dWUgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlv
bj4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgUmVmPENTU1ZhcmlhYmxlRGF0YT4m
JiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3RvbVBy
b3BlcnR5RGVjbGFyYXRpb24obmFtZSwgV1RGTW92ZSh2YWx1ZSkpKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgUmVmPENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUsIENTU1ZhbHVlSUQgaWQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uKG5hbWUsIGlkKSk7Ci0gICAg
fQotCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1l
OyB9Ci0gICAgQ1NTVmFyaWFibGVEYXRhKiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUu
Z2V0KCk7IH0KLSAgICBDU1NWYWx1ZUlEIGlkKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZUlkOyB9
Ci0gICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKLQotICAgIGJvb2wgZXF1YWxzKGNv
bnN0IENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24mIG90aGVyKSBjb25zdCB7IHJldHVybiB0
aGlzID09ICZvdGhlcjsgfQotCi1wcml2YXRlOgotICAgIENTU0N1c3RvbVByb3BlcnR5RGVjbGFy
YXRpb24oY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUlEIGlkKQotICAgICAgICA6
IENTU1ZhbHVlKEN1c3RvbVByb3BlcnR5RGVjbGFyYXRpb25DbGFzcykKLSAgICAgICAgLCBtX25h
bWUobmFtZSkKLSAgICAgICAgLCBtX3ZhbHVlKG51bGxwdHIpCi0gICAgICAgICwgbV92YWx1ZUlk
KGlkKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGlkID09IENTU1ZhbHVlSW5oZXJpdCB8fCBpZCA9
PSBDU1NWYWx1ZUluaXRpYWwgfHwgaWQgPT0gQ1NTVmFsdWVVbnNldCB8fCBpZCA9PSBDU1NWYWx1
ZVJldmVydCk7Ci0gICAgfQotCi0gICAgQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbihjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUsIFJlZjxDU1NWYXJpYWJsZURhdGE+JiYgdmFsdWUpCi0gICAg
ICAgIDogQ1NTVmFsdWUoQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbkNsYXNzKQotICAgICAgICAs
IG1fbmFtZShuYW1lKQotICAgICAgICAsIG1fdmFsdWUoV1RGTW92ZSh2YWx1ZSkpCi0gICAgICAg
ICwgbV92YWx1ZUlkKENTU1ZhbHVlSW50ZXJuYWxWYXJpYWJsZVZhbHVlKQotICAgIHsKLSAgICB9
Ci0KLSAgICBjb25zdCBBdG9taWNTdHJpbmcgbV9uYW1lOwotICAgIFJlZlB0cjxDU1NWYXJpYWJs
ZURhdGE+IG1fdmFsdWU7Ci0gICAgQ1NTVmFsdWVJRCBtX3ZhbHVlSWQ7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU0N1
c3RvbVByb3BlcnR5RGVjbGFyYXRpb24sIGlzQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbigpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCShyZXZp
c2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMCArMjcsMTAgQEAKICNkZWZpbmUgQ1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1Zh
cmlhYmxlRGF0YS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAotLy8gRklYTUUtTkVXUEFSU0VSOiBUaGlzIHdpbGwgYmUgcmVtb3Zl
ZCBpbiBmYXZvciBvZiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENTU0N1c3RvbVByb3BlcnR5VmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NT
VmFsdWUgewpAQCAtNDAsNiArNDAsMTYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIFdURk1vdmUodmFsdWUpKSk7CiAg
ICAgfQogICAgIAorICAgIHN0YXRpYyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gY3JlYXRl
KGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgUmVmPENTU1ZhcmlhYmxlRGF0YT4mJiB2YWx1ZSkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3RvbVByb3BlcnR5VmFs
dWUobmFtZSwgV1RGTW92ZSh2YWx1ZSkpKTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIFJlZjxD
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBD
U1NWYWx1ZUlEIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NT
Q3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lLCB2YWx1ZSkpOworICAgIH0KKyAgICAKICAgICBzdGF0
aWMgUmVmPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGNyZWF0ZUludmFsaWQoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZShlbXB0eVN0
cmluZygpLCBlbXB0eVN0cmluZygpKSk7CkBAIC00OSwyOCArNTksMzQgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgaWYgKCFtX3NlcmlhbGl6ZWQpIHsKICAgICAgICAgICAgIG1fc2VyaWFsaXpl
ZCA9IHRydWU7Ci0gICAgICAgICAgICBtX3N0cmluZ1ZhbHVlID0gbV92YWx1ZSA/IG1fdmFsdWUt
PmNzc1RleHQoKSA6IGVtcHR5U3RyaW5nKCk7CisgICAgICAgICAgICBpZiAobV9kZXByZWNhdGVk
VmFsdWUpCisgICAgICAgICAgICAgICAgbV9zdHJpbmdWYWx1ZSA9IG1fZGVwcmVjYXRlZFZhbHVl
LT5jc3NUZXh0KCk7CisgICAgICAgICAgICBlbHNlIGlmIChtX3ZhbHVlKQorICAgICAgICAgICAg
ICAgIG1fc3RyaW5nVmFsdWUgPSBtX3ZhbHVlLT50b2tlblJhbmdlKCkuc2VyaWFsaXplKCk7Cisg
ICAgICAgICAgICBlbHNlIGlmIChtX3ZhbHVlSWQgIT0gQ1NTVmFsdWVJbnZhbGlkKQorICAgICAg
ICAgICAgICAgIG1fc3RyaW5nVmFsdWUgPSBnZXRWYWx1ZU5hbWUobV92YWx1ZUlkKTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX3N0cmluZ1ZhbHVlID0gZW1wdHlTdHJpbmco
KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9zdHJpbmdWYWx1ZTsKICAgICB9CiAKICAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAg
ICAKLSAgICAvLyBGSVhNRTogU2hvdWxkIGFyZ3VhYmx5IGltcGxlbWVudCBlcXVhbHMgb24gYWxs
IG9mIHRoZSBDU1NQYXJzZXJWYWx1ZXMsIGJ1dCBDU1NWYWx1ZSBlcXVpdmFsZW5jZQotICAgIC8v
IGlzIHJhcmVseSB1c2VkLCBzbyBzZXJpYWxpemF0aW9uIHRvIGNvbXBhcmUgaXMgcHJvYmFibHkg
ZmluZS4KKyAgICAvLyBGSVhNRTogU2hvdWxkIGFyZ3VhYmx5IGltcGxlbWVudCBlcXVhbHMgb24g
b3VyIGludGVybmFsIHZhbHVlcywgYnV0IHNlcmlhbGl6YXRpb24gdG8gY29tcGFyZSBpcyBwcm9i
YWJseSBmaW5lLgogICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU0N1c3RvbVByb3BlcnR5VmFsdWUm
IG90aGVyKSBjb25zdCB7IHJldHVybiBtX25hbWUgPT0gb3RoZXIubV9uYW1lICYmIGN1c3RvbUNT
U1RleHQoKSA9PSBvdGhlci5jdXN0b21DU1NUZXh0KCk7IH0KIAogICAgIGJvb2wgaXNJbnZhbGlk
KCkgY29uc3QgeyByZXR1cm4gIW1fdmFsdWU7IH0KICAgICBib29sIGNvbnRhaW5zVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluc1ZhcmlhYmxlczsgfQogCi0gICAgY29uc3QgUmVm
UHRyPENTU1ZhbHVlPiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7IH0KKyAg
ICBjb25zdCBSZWZQdHI8Q1NTVmFsdWU+IGRlcHJlY2F0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGVwcmVjYXRlZFZhbHVlLmdldCgpOyB9CiAKIHByaXZhdGU6CiAgICAgQ1NTQ3VzdG9tUHJv
cGVydHlWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIFJlZjxDU1NWYWx1ZT4mJiB2YWx1
ZSkKICAgICAgICAgOiBDU1NWYWx1ZShDdXN0b21Qcm9wZXJ0eUNsYXNzKQogICAgICAgICAsIG1f
bmFtZShuYW1lKQotICAgICAgICAsIG1fdmFsdWUoV1RGTW92ZSh2YWx1ZSkpCi0gICAgICAgICwg
bV9jb250YWluc1ZhcmlhYmxlcyhtX3ZhbHVlLT5pc1ZhcmlhYmxlRGVwZW5kZW50VmFsdWUoKSkK
KyAgICAgICAgLCBtX2RlcHJlY2F0ZWRWYWx1ZShXVEZNb3ZlKHZhbHVlKSkKKyAgICAgICAgLCBt
X2NvbnRhaW5zVmFyaWFibGVzKG1fZGVwcmVjYXRlZFZhbHVlLT5pc1ZhcmlhYmxlRGVwZW5kZW50
VmFsdWUoKSkKICAgICAgICAgLCBtX3NlcmlhbGl6ZWQoZmFsc2UpCiAgICAgewogICAgIH0KQEAg
LTgzLDggKzk5LDI5IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAorICAgIENTU0N1c3RvbVBy
b3BlcnR5VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUlEIGlkKQorICAg
ICAgICA6IENTU1ZhbHVlKEN1c3RvbVByb3BlcnR5Q2xhc3MpCisgICAgICAgICwgbV9uYW1lKG5h
bWUpCisgICAgICAgICwgbV92YWx1ZUlkKGlkKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlkID09
IENTU1ZhbHVlSW5oZXJpdCB8fCBpZCA9PSBDU1NWYWx1ZUluaXRpYWwgfHwgaWQgPT0gQ1NTVmFs
dWVVbnNldCB8fCBpZCA9PSBDU1NWYWx1ZVJldmVydCk7CisgICAgfQorICAgIAorICAgIENTU0N1
c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBSZWY8Q1NTVmFyaWFi
bGVEYXRhPiYmIHZhbHVlKQorICAgICAgICA6IENTU1ZhbHVlKEN1c3RvbVByb3BlcnR5Q2xhc3Mp
CisgICAgICAgICwgbV9uYW1lKG5hbWUpCisgICAgICAgICwgbV92YWx1ZShXVEZNb3ZlKHZhbHVl
KSkKKyAgICAgICAgLCBtX3ZhbHVlSWQoQ1NTVmFsdWVJbnRlcm5hbFZhcmlhYmxlVmFsdWUpCisg
ICAgICAgICwgbV9jb250YWluc1ZhcmlhYmxlcyhtX3ZhbHVlLT5uZWVkc1ZhcmlhYmxlUmVzb2x1
dGlvbigpKQorICAgIHsKKyAgICB9CisgICAgCiAgICAgY29uc3QgQXRvbWljU3RyaW5nIG1fbmFt
ZTsKLSAgICBSZWZQdHI8Q1NTVmFsdWU+IG1fdmFsdWU7CisgICAgCisgICAgUmVmUHRyPENTU1Zh
bHVlPiBtX2RlcHJlY2F0ZWRWYWx1ZTsgLy8gVXNlZCBieSBvbGQgcGFyc2VyCisgICAgUmVmUHRy
PENTU1ZhcmlhYmxlRGF0YT4gbV92YWx1ZTsgLy8gVXNlZCBieSBuZXcgcGFyc2VyLgorICAgIENT
U1ZhbHVlSUQgbV92YWx1ZUlkIHsgQ1NTVmFsdWVJbnZhbGlkIH07IC8vIFVzZWQgYnkgbmV3IHBh
cnNlci4KKyAgICAKICAgICBtdXRhYmxlIFN0cmluZyBtX3N0cmluZ1ZhbHVlOwogICAgIGJvb2wg
bV9jb250YWluc1ZhcmlhYmxlcyB7IGZhbHNlIH07CiAgICAgbXV0YWJsZSBib29sIG1fc2VyaWFs
aXplZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAkocmV2aXNpb24gMjA3ODM5KQorKysg
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyAr
MzcsNiBAQAogI2luY2x1ZGUgIkNTU0Nyb3NzZmFkZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ3Vy
c29ySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1c3RvbUlkZW50VmFsdWUuaCIKLSNpbmNs
dWRlICJDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZpbHRlckltYWdlVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCkBAIC0zNjAsOCArMzU5LDYgQEAgU3RyaW5nIENT
U1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1Zhcmlh
YmxlRGVwZW5kZW50VmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBWYXJp
YWJsZUNsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTVmFyaWFibGVWYWx1ZT4oKnRo
aXMpLmN1c3RvbUNTU1RleHQoKTsKLSAgICBjYXNlIEN1c3RvbVByb3BlcnR5RGVjbGFyYXRpb25D
bGFzczoKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRp
b24+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBDdXN0b21JZGVudENsYXNzOgog
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTQ3VzdG9tSWRlbnRWYWx1ZT4oKnRoaXMpLmN1c3Rv
bUNTU1RleHQoKTsKICAgICBjYXNlIFZhcmlhYmxlUmVmZXJlbmNlQ2xhc3M6CkBAIC01MTYsOSAr
NTEzLDYgQEAgdm9pZCBDU1NWYWx1ZTo6ZGVzdHJveSgpCiAgICAgY2FzZSBWYXJpYWJsZUNsYXNz
OgogICAgICAgICBkZWxldGUgZG93bmNhc3Q8Q1NTVmFyaWFibGVWYWx1ZT4odGhpcyk7CiAgICAg
ICAgIHJldHVybjsKLSAgICBjYXNlIEN1c3RvbVByb3BlcnR5RGVjbGFyYXRpb25DbGFzczoKLSAg
ICAgICAgZGVsZXRlIGRvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24+KHRoaXMp
OwotICAgICAgICByZXR1cm47CiAgICAgY2FzZSBDdXN0b21JZGVudENsYXNzOgogICAgICAgICBk
ZWxldGUgZG93bmNhc3Q8Q1NTQ3VzdG9tSWRlbnRWYWx1ZT4odGhpcyk7CiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDcgKzEyNiw2IEBA
IHB1YmxpYzoKICAgICBib29sIGlzQW5pbWF0aW9uVHJpZ2dlclNjcm9sbFZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gQW5pbWF0aW9uVHJpZ2dlclNjcm9sbENsYXNzOyB9CiAj
ZW5kaWYKIAotICAgIGJvb2wgaXNDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbkNsYXNzOyB9CiAg
ICAgYm9vbCBpc0N1c3RvbUlkZW50VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBDdXN0b21JZGVudENsYXNzOyB9CiAgICAgYm9vbCBpc1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUo
KSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBWYXJpYWJsZVJlZmVyZW5jZUNsYXNzOyB9
CiAgICAgYm9vbCBpc1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IFBlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZUNsYXNzOyB9CkBAIC0yMDIsMTQg
KzIwMSwxNCBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgQ1NTQ29udGVudERpc3RyaWJ1dGlvbkNs
YXNzLAogICAgICAgICAKLSAgICAgICAgLy8gRklYTUUtTkVXUEFSU0VSOiBSZW1vdmUgaW4gZmF2
b3Igb2YgbmV3IHZhcmlhYmxlcyBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAgQ3VzdG9tSWRlbnRD
bGFzcywKKworICAgICAgICAvLyBGSVhNRS1ORVdQQVJTRVI6IFVuaWZ5IHZhcmlhYmxlcyBpbXBs
ZW1lbnRhdGlvbi4KICAgICAgICAgQ3VzdG9tUHJvcGVydHlDbGFzcywKICAgICAgICAgVmFyaWFi
bGVEZXBlbmRlbnRDbGFzcywKICAgICAgICAgVmFyaWFibGVDbGFzcywKIAogICAgICAgICAvLyBO
ZXcgdmFyaWFibGVzIGltcGxlbWVudGF0aW9uLgotICAgICAgICBDdXN0b21Qcm9wZXJ0eURlY2xh
cmF0aW9uQ2xhc3MsCi0gICAgICAgIEN1c3RvbUlkZW50Q2xhc3MsCiAgICAgICAgIFZhcmlhYmxl
UmVmZXJlbmNlQ2xhc3MsCiAgICAgICAgIFBlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZUNsYXNzLAog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVEYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlRGF0YS5oCShyZXZpc2lvbiAyMDc4Mzkp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVEYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYzLDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICBDU1NWYXJpYWJsZURhdGEoY29uc3QgQ1NT
UGFyc2VyVG9rZW5SYW5nZSYsIGJvb2wgbmVlZHNWYXJpYWJsZVJlc29sdXRpb24pOwogCiAgICAg
Ly8gV2UgY2FuIHNhZmVseSBjb3B5IHRoZSB0b2tlbnMgKHdoaWNoIGhhdmUgcmF3IHBvaW50ZXJz
IHRvIHN1YnN0cmluZ3MpIGJlY2F1c2UKLSAgICAvLyBTdHlsZVByb3BlcnR5U2V0cyBjb250YWlu
IHJlZmVyZW5jZXMgdG8gQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbnMsIHdoaWNoCisgICAg
Ly8gU3R5bGVQcm9wZXJ0eVNldHMgY29udGFpbiByZWZlcmVuY2VzIHRvIENTU0N1c3RvbVByb3Bl
cnR5VmFsdWVzLCB3aGljaAogICAgIC8vIHBvaW50IHRvIHRoZSB1bnJlc29sdmVkIENTU1Zhcmlh
YmxlRGF0YSB2YWx1ZXMgdGhhdCBvd24gdGhlIGJhY2tpbmcgc3RyaW5ncwogICAgIC8vIHRoaXMg
d2lsbCBwb3RlbnRpYWxseSByZWZlcmVuY2UuCiAgICAgQ1NTVmFyaWFibGVEYXRhKGNvbnN0IFZl
Y3RvcjxDU1NQYXJzZXJUb2tlbj4mIHJlc29sdmVkVG9rZW5zLCBTdHJpbmcgYmFja2luZ1N0cmlu
ZykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDIwNzgz
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTYwNyw3ICsxNjA3LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5
KENTU1BybwogICAgIAogICAgIGlmIChpZCA9PSBDU1NQcm9wZXJ0eUN1c3RvbSkgewogICAgICAg
ICBjdXN0b21Qcm9wZXJ0eVZhbHVlID0gJmRvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+
KCp2YWx1ZVRvQXBwbHkpOwotICAgICAgICB2YWx1ZVRvQ2hlY2tGb3JJbmhlcml0SW5pdGlhbCA9
IGN1c3RvbVByb3BlcnR5VmFsdWUtPnZhbHVlKCkuZ2V0KCk7CisgICAgICAgIHZhbHVlVG9DaGVj
a0ZvckluaGVyaXRJbml0aWFsID0gY3VzdG9tUHJvcGVydHlWYWx1ZS0+ZGVwcmVjYXRlZFZhbHVl
KCkuZ2V0KCk7CiAgICAgfQogCiAgICAgYm9vbCBpc0luaGVyaXQgPSBzdGF0ZS5wYXJlbnRTdHls
ZSgpICYmIHZhbHVlVG9DaGVja0ZvckluaGVyaXRJbml0aWFsLT5pc0luaGVyaXRlZFZhbHVlKCk7
CkBAIC0xNjczLDcgKzE2NzMsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHko
Q1NTUHJvCiAgICAgICAgIH0gZWxzZSBpZiAoaXNJbml0aWFsKQogICAgICAgICAgICAgc3RhdGUu
c3R5bGUoKS0+c2V0Q3VzdG9tUHJvcGVydHlWYWx1ZShjdXN0b21Qcm9wZXJ0eS0+bmFtZSgpLCBD
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVJbnZhbGlkKCkpOwogICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDdXN0b21Qcm9wZXJ0eVZhbHVlKGN1c3RvbVBy
b3BlcnR5LT5uYW1lKCksIGN1c3RvbVByb3BlcnR5LT52YWx1ZSgpKTsKKyAgICAgICAgICAgIHN0
YXRlLnN0eWxlKCktPnNldEN1c3RvbVByb3BlcnR5VmFsdWUoY3VzdG9tUHJvcGVydHktPm5hbWUo
KSwgY3VzdG9tUHJvcGVydHktPmRlcHJlY2F0ZWRWYWx1ZSgpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwu
Y3BwCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlckltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Q1NTUGFyc2VySW1wbC5oIgogCiAjaW5jbHVkZSAiQ1NTQXRSdWxlSUQuaCIKLSNpbmNsdWRlICJD
U1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVy
dHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIkNTU0tl
eWZyYW1lc1J1bGUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJPYnNlcnZlci5oIgpAQCAtOTcsNyAr
OTcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZmlsdGVyUHJvcGVydGllcyhib29sCiAgICAgICAg
IGNvbnN0IHVuc2lnbmVkIHByb3BlcnR5SURJbmRleCA9IHByb3BlcnR5LmlkKCkgLSBmaXJzdENT
U1Byb3BlcnR5OwogICAgICAgICAKICAgICAgICAgaWYgKHByb3BlcnR5LmlkKCkgPT0gQ1NTUHJv
cGVydHlDdXN0b20pIHsKLSAgICAgICAgICAgIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24q
IGN1c3RvbVZhbHVlID0gZG93bmNhc3Q8Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbj4ocHJv
cGVydHkudmFsdWUoKSk7CisgICAgICAgICAgICBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKiBjdXN0
b21WYWx1ZSA9IGRvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+KHByb3BlcnR5LnZhbHVl
KCkpOwogICAgICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gY3VzdG9tVmFsdWUt
Pm5hbWUoKTsKICAgICAgICAgICAgIGlmIChzZWVuQ3VzdG9tUHJvcGVydGllcy5jb250YWlucyhu
YW1lKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTgyNyw3ICs4MjcsNyBAQCB2b2lk
IENTU1BhcnNlckltcGw6OmNvbnN1bWVEZWNsYXJhdGlvbihDCiAKIHZvaWQgQ1NTUGFyc2VySW1w
bDo6Y29uc3VtZVZhcmlhYmxlVmFsdWUoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3Qg
QXRvbWljU3RyaW5nJiB2YXJpYWJsZU5hbWUsIGJvb2wgaW1wb3J0YW50KQogewotICAgIGlmIChS
ZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbj4gdmFsdWUgPSBDU1NWYXJpYWJsZVBh
cnNlcjo6cGFyc2VEZWNsYXJhdGlvblZhbHVlKHZhcmlhYmxlTmFtZSwgcmFuZ2UpKQorICAgIGlm
IChSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gdmFsdWUgPSBDU1NWYXJpYWJsZVBhcnNl
cjo6cGFyc2VEZWNsYXJhdGlvblZhbHVlKHZhcmlhYmxlTmFtZSwgcmFuZ2UpKQogICAgICAgICBt
X3BhcnNlZFByb3BlcnRpZXMuYXBwZW5kKENTU1Byb3BlcnR5KENTU1Byb3BlcnR5Q3VzdG9tLCBX
VEZNb3ZlKHZhbHVlKSwgaW1wb3J0YW50KSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDc4MzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkNTU1ZhcmlhYmxlUGFyc2VyLmgiCiAKLSNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eURlY2xh
cmF0aW9uLmgiCisjaW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU1BhcnNlclRva2VuUmFuZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTQ3LDcg
KzE0Nyw3IEBAIGJvb2wgQ1NTVmFyaWFibGVQYXJzZXI6OmNvbnRhaW5zVmFsaWRWYXIKICAgICBy
ZXR1cm4gdHlwZSA9PSBDU1NWYWx1ZUludGVybmFsVmFyaWFibGVWYWx1ZSAmJiBoYXNSZWZlcmVu
Y2VzICYmICFoYXNBdEFwcGx5UnVsZTsKIH0KIAotUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5RGVj
bGFyYXRpb24+IENTU1ZhcmlhYmxlUGFyc2VyOjpwYXJzZURlY2xhcmF0aW9uVmFsdWUoY29uc3Qg
QXRvbWljU3RyaW5nJiB2YXJpYWJsZU5hbWUsIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2UpCitS
ZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTVmFyaWFibGVQYXJzZXI6OnBhcnNlRGVj
bGFyYXRpb25WYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmIHZhcmlhYmxlTmFtZSwgQ1NTUGFyc2Vy
VG9rZW5SYW5nZSByYW5nZSkKIHsKICAgICBpZiAocmFuZ2UuYXRFbmQoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CkBAIC0xNTksOCArMTU5LDggQEAgUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5
RGVjbGFyYXRpb24+IENTUwogICAgIGlmICh0eXBlID09IENTU1ZhbHVlSW52YWxpZCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKHR5cGUgPT0gQ1NTVmFsdWVJbnRlcm5hbFZhcmlh
YmxlVmFsdWUpCi0gICAgICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uOjpj
cmVhdGUodmFyaWFibGVOYW1lLCBDU1NWYXJpYWJsZURhdGE6OmNyZWF0ZShyYW5nZSwgaGFzUmVm
ZXJlbmNlcyB8fCBoYXNBdEFwcGx5UnVsZSkpOwotICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0
eURlY2xhcmF0aW9uOjpjcmVhdGUodmFyaWFibGVOYW1lLCB0eXBlKTsKKyAgICAgICAgcmV0dXJu
IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZSh2YXJpYWJsZU5hbWUsIENTU1ZhcmlhYmxl
RGF0YTo6Y3JlYXRlKHJhbmdlLCBoYXNSZWZlcmVuY2VzIHx8IGhhc0F0QXBwbHlSdWxlKSk7Cisg
ICAgcmV0dXJuIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZSh2YXJpYWJsZU5hbWUsIHR5
cGUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NWYXJpYWJsZVBhcnNlci5oCShyZXZpc2lvbiAyMDc4MzkpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDEzICszNSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb247CitjbGFzcyBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVl
OwogCiBjbGFzcyBDU1NWYXJpYWJsZVBhcnNlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wg
Y29udGFpbnNWYWxpZFZhcmlhYmxlUmVmZXJlbmNlcyhDU1NQYXJzZXJUb2tlblJhbmdlKTsKIAot
ICAgIHN0YXRpYyBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbj4gcGFyc2VEZWNs
YXJhdGlvblZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYsIENTU1BhcnNlclRva2VuUmFuZ2UpOwor
ICAgIHN0YXRpYyBSZWZQdHI8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gcGFyc2VEZWNsYXJhdGlv
blZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYsIENTU1BhcnNlclRva2VuUmFuZ2UpOwogCiAgICAg
c3RhdGljIGJvb2wgaXNWYWxpZFZhcmlhYmxlTmFtZShjb25zdCBDU1NQYXJzZXJUb2tlbiYpOwog
ICAgIHN0YXRpYyBib29sIGlzVmFsaWRWYXJpYWJsZU5hbWUoY29uc3QgU3RyaW5nJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292938</attachid>
            <date>2016-10-26 10:01:28 -0700</date>
            <delta_ts>2016-10-26 10:22:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>28569</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzkwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE2LTEwLTI2ICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBVbmlmeSBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlIGFuZCBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBjc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5jcHA6IFJlbW92ZWQuCisgICAg
ICAgICogY3NzL0NTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24uaDogUmVtb3ZlZC4KKyAgICAg
ICAgR2V0IHJpZCBvZiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLgorCisgICAgICAgICog
Y3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaDoKKyAgICAgICAgQWRkIG5ldyBjb25zdHJ1Y3Rv
cnMgdG8gaGFuZGxlIHRoZSBuZXcgdmFyaWFibGUgZGF0YSBmb3JtYXQgKGVpdGhlciBhIENTU1Zh
bHVlSWQgb3IgYQorICAgICAgICBDU1NWYXJpYWJsZURhdGEgb2JqZWN0IHRoYXQgaG9sZHMgcGFy
c2VyIHRva2VucykuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRl
c3Ryb3kpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VmFsdWU6OmlzQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIEdl
dCByaWQgb2YgQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbiBjYXNlcy4KKworICAgICAgICAq
IGNzcy9DU1NWYXJpYWJsZURhdGEuaDoKKyAgICAgICAgU3dpdGNoIHRvIENTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgV2UndmUgcmVu
YW1lZCB0aGUgb2xkIHBhcnNlciB2YXJpYWJsZSBkYXRhIHRvIGRlcHJlY2F0ZWRWYWx1ZSB0byBt
YWtlIGl0IGNsZWFyIGl0J3MgZ29pbmcKKyAgICAgICAgdG8gYmUgcmVtb3ZlZCBldmVudHVhbGx5
LgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZVZhcmlhYmxlVmFsdWUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTVmFyaWFi
bGVQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFyaWFibGVQYXJzZXI6OnBhcnNl
RGVjbGFyYXRpb25WYWx1ZSk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NWYXJpYWJsZVBhcnNl
ci5oOgorICAgICAgICBTd2l0Y2ggdG8gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS4KKwogMjAxNi0x
MC0yNiAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ1NTIFBhcnNl
cl0gR2V0IGZ1bmN0aW9uYWwgcHNldWRvcyBwYXJzaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAkocmV2aXNpb24gMjA3ODM5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEyNjksNyArMTI2OSw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAg
ICBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0N1cnNvckltYWdlVmFsdWUu
Y3BwCiAgICAgY3NzL0NTU0N1c3RvbUlkZW50VmFsdWUuY3BwCi0gICAgY3NzL0NTU0N1c3RvbVBy
b3BlcnR5RGVjbGFyYXRpb24uY3BwCiAgICAgY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAK
ICAgICBjc3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAKICAgICBjc3MvRm9udEZhY2VTZXQuY3Bw
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM0MjEsOCArMzQyMSw2IEBA
CiAJCTk0NDRDQkRBMUQ4ODQ4M0EwMDczQTA3NCAvKiBDU1NWYXJpYWJsZVBhcnNlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTQ0NENCRDcxRDg4NDgy
QTAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUGFyc2VyLmggKi87IH07CiAJCTk0NDRDQkUzMUQ4ODYx
OTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVudFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkUyMUQ4ODYxNTgwMDczQTA3NCAvKiBD
U1NDdXN0b21JZGVudFZhbHVlLmNwcCAqLzsgfTsKIAkJOTQ0NENCRTQxRDg4NjE5OTAwNzNBMDc0
IC8qIENTU0N1c3RvbUlkZW50VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk0NDRDQkUxMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVu
dFZhbHVlLmggKi87IH07Ci0JCTk0NDRDQkU1MUQ4ODYxOTkwMDczQTA3NCAvKiBDU1NDdXN0b21Q
cm9wZXJ0eURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk0NDRDQkUwMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Qcm9wZXJ0
eURlY2xhcmF0aW9uLmNwcCAqLzsgfTsKLQkJOTQ0NENCRTYxRDg4NjE5OTAwNzNBMDc0IC8qIENT
U0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkRGMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Q
cm9wZXJ0eURlY2xhcmF0aW9uLmggKi87IH07CiAJCTk0NDRDQkU3MUQ4ODYxQzIwMDczQTA3NCAv
KiBDU1NWYXJpYWJsZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTQ0NENCREUxRDg4NjE1ODAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlRGF0YS5j
cHAgKi87IH07CiAJCTk0NDRDQkU4MUQ4ODYxQzIwMDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkRE
MUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEuaCAqLzsgfTsKIAkJOTQ0NENCRTkx
RDg4NjFDQTAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTQ0NENCREMxRDg4NjE1ODAw
NzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwICovOyB9OwpAQCAtOTQzMyw4
ICs5NDMxLDggQEAKIAkJNTczOUUxMzAxREFDN0ZEMTAwRTE0MzgzIC8qIEpTQ3J5cHRvQWxnb3Jp
dGhtUGFyYW1ldGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1NzRBQzc1MzFEQUMzNjdEMDBFOTc0NEMgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVy
cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NEQ0Mjc5MUQ1OTRGRjYwMDJDRjUw
RSAvKiBHbG9iYWxDcnlwdG8uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEdsb2JhbENyeXB0
by5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3NjhFNDMzMURCNzUyNDUwMEQw
QTRGNyAvKiBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5oOyBwYXRoID0gSlNSc2FIYXNoZWRL
ZXlHZW5QYXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTc2OEU0MzUxREI3
NTI3MzAwRDBBNEY3IC8qIEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcDsgcGF0
aCA9IEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTc2OEU0MzMxREI3NTI0NTAwRDBBNEY3IC8qIEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUnNhSGFzaGVkS2V5R2VuUGFy
YW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NjhFNDM1MURCNzUyNzMwMEQw
QTRGNyAvKiBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU3NzQ4MzEwMURBREM0OTkwMDcxNkVGOSAvKiBBZXNLZXlHZW5Q
YXJhbXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEFlc0tleUdlblBhcmFtcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3NzQ4MzExMURBREM1NUQwMDcxNkVGOSAvKiBDcnlwdG9BbGdvcml0aG1BZXNL
ZXlHZW5QYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3J5cHRvQWxn
b3JpdGhtQWVzS2V5R2VuUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3
NzQ4MzEzMURBRUMyRUEwMDcxNkVGOSAvKiBKU0Flc0tleUdlblBhcmFtcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Flc0tleUdlblBhcmFtcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTA4MTEsOCArMTA4MDksNiBAQAogCQk5NDQ0Q0JEQzFEODg2MTU4
MDA3M0EwNzQgLyogQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTQ0NENCREQxRDg4NjE1ODAwNzNBMDc0IC8qIENT
U1ZhcmlhYmxlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NWYXJp
YWJsZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTQ0NENCREUxRDg4NjE1
ODAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDU1NWYXJpYWJsZURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk5NDQ0Q0JERjFEODg2MTU4MDA3M0EwNzQgLyogQ1NTQ3VzdG9tUHJvcGVydHlEZWNs
YXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDdXN0b21Qcm9w
ZXJ0eURlY2xhcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk0NDRDQkUw
MUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0N1c3RvbVByb3BlcnR5RGVjbGFy
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDQ0Q0JFMTFEODg2MTU4
MDA3M0EwNzQgLyogQ1NTQ3VzdG9tSWRlbnRWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NDdXN0b21JZGVudFZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk0NDRDQkUyMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVudFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0N1c3RvbUlkZW50VmFs
dWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDZEMzcyODFENkNCMjhCMDA3
NzA4NEYgLyogQ1NTUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IENTU1BhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvQ1NTUGFyc2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyODU0LDggKzIyODUwLDYgQEAKIAkJCQlBQTA5NzhFRTBB
QkFBNkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oICovLAogCQkJCTk0NDRDQkUy
MUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21JZGVudFZhbHVlLmNwcCAqLywKIAkJCQk5NDQ0
Q0JFMTFEODg2MTU4MDA3M0EwNzQgLyogQ1NTQ3VzdG9tSWRlbnRWYWx1ZS5oICovLAotCQkJCTk0
NDRDQkUwMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uLmNw
cCAqLywKLQkJCQk5NDQ0Q0JERjFEODg2MTU4MDA3M0EwNzQgLyogQ1NTQ3VzdG9tUHJvcGVydHlE
ZWNsYXJhdGlvbi5oICovLAogCQkJCUJDNzc5RTEzMUJCMjE1QkIwMENBQThCRiAvKiBDU1NDdXN0
b21Qcm9wZXJ0eVZhbHVlLmggKi8sCiAJCQkJNEE5Q0M4MTUxNkJCOUFDNjAwRUM2NDVBIC8qIENT
U0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgKi8sCiAJCQkJNEE5Q0M4MTYxNkJCOUFDNjAwRUM2NDVB
IC8qIENTU0RlZmF1bHRTdHlsZVNoZWV0cy5oICovLApAQCAtMjQ2OTYsNyArMjQ2OTAsNiBAQAog
CQkJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdl
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0NDRDQkU0MUQ4ODYxOTkwMDczQTA3NCAvKiBD
U1NDdXN0b21JZGVudFZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NDQ0Q0JFNjFEODg2MTk5
MDA3M0EwNzQgLyogQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM3NzlFMTQxQkIyMTVCQjAwQ0FBOEJGIC8qIENTU0N1c3RvbVByb3BlcnR5VmFsdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTRBOUNDODE4MTZCQjlBQzYwMEVDNjQ1QSAvKiBDU1NEZWZh
dWx0U3R5bGVTaGVldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZCQjBDNUI4MTdCQkQ2MjkwMDNE
MzY3NyAvKiBDU1NGaWx0ZXJJbWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NDcxLDcg
KzI4NDY0LDYgQEAKIAkJCQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRl
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUEyMUVDQ0EwQUJGMEZCQTAwMkI4MzRDIC8q
IENTU0N1cnNvckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTQ0NENCRTMxRDg4
NjE5ODAwNzNBMDc0IC8qIENTU0N1c3RvbUlkZW50VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJOTQ0NENCRTUxRDg4NjE5OTAwNzNBMDc0IC8qIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEE5Q0M4MTcxNkJCOUFDNjAwRUM2NDVBIC8qIENT
U0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGQkIwQzVCNzE3QkJE
NjI2MDAzRDM2NzcgLyogQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzY0QjRENTBDQjQyOThBMDA1RjJCNjIgLyogQ1NTRm9udEZhY2UuY3BwIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5
RGVjbGFyYXRpb24uY3BwCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw0NSAr
MCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxNSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0vLwotLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0vLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0vLyBtZXQ6Ci0v
LwotLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotLy8gbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotLy8gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0vLyBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0vLyBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCi0vLyBkaXN0cmlidXRpb24uCi0vLyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLS8vIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0vLyB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotLy8KLS8vIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKLS8vICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLS8vIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0v
LyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKLS8vIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLS8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotLy8gREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCi0vLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0vLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9u
LmgiCi0KLSNpbmNsdWRlICJDU1NQYXJzZXJUb2tlblJhbmdlLmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotU3RyaW5nIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb246OmN1c3RvbUNTU1Rl
eHQoKSBjb25zdAotewotICAgIGlmIChtX3ZhbHVlKQotICAgICAgICByZXR1cm4gbV92YWx1ZS0+
dG9rZW5SYW5nZSgpLnNlcmlhbGl6ZSgpOwotICAgIEFTU0VSVChtX3ZhbHVlSWQgIT0gQ1NTVmFs
dWVJbnRlcm5hbFZhcmlhYmxlVmFsdWUpOwotICAgIHJldHVybiBnZXRWYWx1ZU5hbWUobV92YWx1
ZUlkKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5oCShyZXZpc2lvbiAyMDc4
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5o
CShub25leGlzdGVudCkKQEAgLTEsODMgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTUgVGhlIENo
cm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8KLS8vIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8g
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8KLS8vICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLS8vICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQotLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgotLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotLy8gZGlzdHJpYnV0aW9uLgotLy8gICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkNTU1ZhbHVl
LmgiCi0jaW5jbHVkZSAiQ1NTVmFyaWFibGVEYXRhLmgiCi0jaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgotI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24gOiBwdWJsaWMgQ1NTVmFs
dWUgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlv
bj4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgUmVmPENTU1ZhcmlhYmxlRGF0YT4m
JiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3RvbVBy
b3BlcnR5RGVjbGFyYXRpb24obmFtZSwgV1RGTW92ZSh2YWx1ZSkpKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgUmVmPENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUsIENTU1ZhbHVlSUQgaWQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uKG5hbWUsIGlkKSk7Ci0gICAg
fQotCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1l
OyB9Ci0gICAgQ1NTVmFyaWFibGVEYXRhKiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUu
Z2V0KCk7IH0KLSAgICBDU1NWYWx1ZUlEIGlkKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZUlkOyB9
Ci0gICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKLQotICAgIGJvb2wgZXF1YWxzKGNv
bnN0IENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24mIG90aGVyKSBjb25zdCB7IHJldHVybiB0
aGlzID09ICZvdGhlcjsgfQotCi1wcml2YXRlOgotICAgIENTU0N1c3RvbVByb3BlcnR5RGVjbGFy
YXRpb24oY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUlEIGlkKQotICAgICAgICA6
IENTU1ZhbHVlKEN1c3RvbVByb3BlcnR5RGVjbGFyYXRpb25DbGFzcykKLSAgICAgICAgLCBtX25h
bWUobmFtZSkKLSAgICAgICAgLCBtX3ZhbHVlKG51bGxwdHIpCi0gICAgICAgICwgbV92YWx1ZUlk
KGlkKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGlkID09IENTU1ZhbHVlSW5oZXJpdCB8fCBpZCA9
PSBDU1NWYWx1ZUluaXRpYWwgfHwgaWQgPT0gQ1NTVmFsdWVVbnNldCB8fCBpZCA9PSBDU1NWYWx1
ZVJldmVydCk7Ci0gICAgfQotCi0gICAgQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbihjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWUsIFJlZjxDU1NWYXJpYWJsZURhdGE+JiYgdmFsdWUpCi0gICAg
ICAgIDogQ1NTVmFsdWUoQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbkNsYXNzKQotICAgICAgICAs
IG1fbmFtZShuYW1lKQotICAgICAgICAsIG1fdmFsdWUoV1RGTW92ZSh2YWx1ZSkpCi0gICAgICAg
ICwgbV92YWx1ZUlkKENTU1ZhbHVlSW50ZXJuYWxWYXJpYWJsZVZhbHVlKQotICAgIHsKLSAgICB9
Ci0KLSAgICBjb25zdCBBdG9taWNTdHJpbmcgbV9uYW1lOwotICAgIFJlZlB0cjxDU1NWYXJpYWJs
ZURhdGE+IG1fdmFsdWU7Ci0gICAgQ1NTVmFsdWVJRCBtX3ZhbHVlSWQ7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU0N1
c3RvbVByb3BlcnR5RGVjbGFyYXRpb24sIGlzQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbigpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oCShyZXZp
c2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMCArMjcsMTAgQEAKICNkZWZpbmUgQ1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1Zh
cmlhYmxlRGF0YS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAotLy8gRklYTUUtTkVXUEFSU0VSOiBUaGlzIHdpbGwgYmUgcmVtb3Zl
ZCBpbiBmYXZvciBvZiBDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENTU0N1c3RvbVByb3BlcnR5VmFsdWUgZmluYWwgOiBwdWJsaWMgQ1NT
VmFsdWUgewpAQCAtNDAsNiArNDAsMTYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIFdURk1vdmUodmFsdWUpKSk7CiAg
ICAgfQogICAgIAorICAgIHN0YXRpYyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gY3JlYXRl
V2l0aFZhcmlhYmxlRGF0YShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIFJlZjxDU1NWYXJpYWJs
ZURhdGE+JiYgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIFdURk1vdmUodmFsdWUpKSk7CisgICAgfQorICAgIAor
ICAgIHN0YXRpYyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gY3JlYXRlV2l0aElEKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSwgQ1NTVmFsdWVJRCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3RvbVByb3BlcnR5VmFsdWUobmFtZSwgdmFsdWUpKTsK
KyAgICB9CisgICAgCiAgICAgc3RhdGljIFJlZjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBjcmVh
dGVJbnZhbGlkKCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3Rv
bVByb3BlcnR5VmFsdWUoZW1wdHlTdHJpbmcoKSwgZW1wdHlTdHJpbmcoKSkpOwpAQCAtNDksMjgg
KzU5LDM0IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9zZXJpYWxpemVkKSB7CiAg
ICAgICAgICAgICBtX3NlcmlhbGl6ZWQgPSB0cnVlOwotICAgICAgICAgICAgbV9zdHJpbmdWYWx1
ZSA9IG1fdmFsdWUgPyBtX3ZhbHVlLT5jc3NUZXh0KCkgOiBlbXB0eVN0cmluZygpOworICAgICAg
ICAgICAgaWYgKG1fZGVwcmVjYXRlZFZhbHVlKQorICAgICAgICAgICAgICAgIG1fc3RyaW5nVmFs
dWUgPSBtX2RlcHJlY2F0ZWRWYWx1ZS0+Y3NzVGV4dCgpOworICAgICAgICAgICAgZWxzZSBpZiAo
bV92YWx1ZSkKKyAgICAgICAgICAgICAgICBtX3N0cmluZ1ZhbHVlID0gbV92YWx1ZS0+dG9rZW5S
YW5nZSgpLnNlcmlhbGl6ZSgpOworICAgICAgICAgICAgZWxzZSBpZiAobV92YWx1ZUlkICE9IENT
U1ZhbHVlSW52YWxpZCkKKyAgICAgICAgICAgICAgICBtX3N0cmluZ1ZhbHVlID0gZ2V0VmFsdWVO
YW1lKG1fdmFsdWVJZCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9zdHJp
bmdWYWx1ZSA9IGVtcHR5U3RyaW5nKCk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fc3Ry
aW5nVmFsdWU7CiAgICAgfQogCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9uYW1lOyB9CiAgICAgCi0gICAgLy8gRklYTUU6IFNob3VsZCBhcmd1YWJseSBp
bXBsZW1lbnQgZXF1YWxzIG9uIGFsbCBvZiB0aGUgQ1NTUGFyc2VyVmFsdWVzLCBidXQgQ1NTVmFs
dWUgZXF1aXZhbGVuY2UKLSAgICAvLyBpcyByYXJlbHkgdXNlZCwgc28gc2VyaWFsaXphdGlvbiB0
byBjb21wYXJlIGlzIHByb2JhYmx5IGZpbmUuCisgICAgLy8gRklYTUU6IFNob3VsZCBhcmd1YWJs
eSBpbXBsZW1lbnQgZXF1YWxzIG9uIG91ciBpbnRlcm5hbCB2YWx1ZXMsIGJ1dCBzZXJpYWxpemF0
aW9uIHRvIGNvbXBhcmUgaXMgcHJvYmFibHkgZmluZS4KICAgICBib29sIGVxdWFscyhjb25zdCBD
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9uYW1lID09IG90
aGVyLm1fbmFtZSAmJiBjdXN0b21DU1NUZXh0KCkgPT0gb3RoZXIuY3VzdG9tQ1NTVGV4dCgpOyB9
CiAKICAgICBib29sIGlzSW52YWxpZCgpIGNvbnN0IHsgcmV0dXJuICFtX3ZhbHVlOyB9CiAgICAg
Ym9vbCBjb250YWluc1ZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGFpbnNWYXJpYWJs
ZXM7IH0KIAotICAgIGNvbnN0IFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUoKSBjb25zdCB7IHJldHVy
biBtX3ZhbHVlLmdldCgpOyB9CisgICAgY29uc3QgUmVmUHRyPENTU1ZhbHVlPiBkZXByZWNhdGVk
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2RlcHJlY2F0ZWRWYWx1ZS5nZXQoKTsgfQogCiBwcml2
YXRlOgogICAgIENTU0N1c3RvbVByb3BlcnR5VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
LCBSZWY8Q1NTVmFsdWU+JiYgdmFsdWUpCiAgICAgICAgIDogQ1NTVmFsdWUoQ3VzdG9tUHJvcGVy
dHlDbGFzcykKICAgICAgICAgLCBtX25hbWUobmFtZSkKLSAgICAgICAgLCBtX3ZhbHVlKFdURk1v
dmUodmFsdWUpKQotICAgICAgICAsIG1fY29udGFpbnNWYXJpYWJsZXMobV92YWx1ZS0+aXNWYXJp
YWJsZURlcGVuZGVudFZhbHVlKCkpCisgICAgICAgICwgbV9kZXByZWNhdGVkVmFsdWUoV1RGTW92
ZSh2YWx1ZSkpCisgICAgICAgICwgbV9jb250YWluc1ZhcmlhYmxlcyhtX2RlcHJlY2F0ZWRWYWx1
ZS0+aXNWYXJpYWJsZURlcGVuZGVudFZhbHVlKCkpCiAgICAgICAgICwgbV9zZXJpYWxpemVkKGZh
bHNlKQogICAgIHsKICAgICB9CkBAIC04Myw4ICs5OSwyOSBAQCBwcml2YXRlOgogICAgIHsKICAg
ICB9CiAKKyAgICBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZSwgQ1NTVmFsdWVJRCBpZCkKKyAgICAgICAgOiBDU1NWYWx1ZShDdXN0b21Qcm9wZXJ0eUNsYXNz
KQorICAgICAgICAsIG1fbmFtZShuYW1lKQorICAgICAgICAsIG1fdmFsdWVJZChpZCkKKyAgICB7
CisgICAgICAgIEFTU0VSVChpZCA9PSBDU1NWYWx1ZUluaGVyaXQgfHwgaWQgPT0gQ1NTVmFsdWVJ
bml0aWFsIHx8IGlkID09IENTU1ZhbHVlVW5zZXQgfHwgaWQgPT0gQ1NTVmFsdWVSZXZlcnQpOwor
ICAgIH0KKyAgICAKKyAgICBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSwgUmVmPENTU1ZhcmlhYmxlRGF0YT4mJiB2YWx1ZSkKKyAgICAgICAgOiBDU1NWYWx1
ZShDdXN0b21Qcm9wZXJ0eUNsYXNzKQorICAgICAgICAsIG1fbmFtZShuYW1lKQorICAgICAgICAs
IG1fdmFsdWUoV1RGTW92ZSh2YWx1ZSkpCisgICAgICAgICwgbV92YWx1ZUlkKENTU1ZhbHVlSW50
ZXJuYWxWYXJpYWJsZVZhbHVlKQorICAgICAgICAsIG1fY29udGFpbnNWYXJpYWJsZXMobV92YWx1
ZS0+bmVlZHNWYXJpYWJsZVJlc29sdXRpb24oKSkKKyAgICB7CisgICAgfQorICAgIAogICAgIGNv
bnN0IEF0b21pY1N0cmluZyBtX25hbWU7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiBtX3ZhbHVlOwor
ICAgIAorICAgIFJlZlB0cjxDU1NWYWx1ZT4gbV9kZXByZWNhdGVkVmFsdWU7IC8vIFVzZWQgYnkg
b2xkIHBhcnNlcgorICAgIFJlZlB0cjxDU1NWYXJpYWJsZURhdGE+IG1fdmFsdWU7IC8vIFVzZWQg
YnkgbmV3IHBhcnNlci4KKyAgICBDU1NWYWx1ZUlEIG1fdmFsdWVJZCB7IENTU1ZhbHVlSW52YWxp
ZCB9OyAvLyBVc2VkIGJ5IG5ldyBwYXJzZXIuCisgICAgCiAgICAgbXV0YWJsZSBTdHJpbmcgbV9z
dHJpbmdWYWx1ZTsKICAgICBib29sIG1fY29udGFpbnNWYXJpYWJsZXMgeyBmYWxzZSB9OwogICAg
IG11dGFibGUgYm9vbCBtX3NlcmlhbGl6ZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAJ
KHJldmlzaW9uIDIwNzgzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJDU1NDcm9zc2ZhZGVWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXN0
b21JZGVudFZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5o
IgogI2luY2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NGaWx0
ZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgpAQCAtMzYw
LDggKzM1OSw2IEBAIFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiBkb3duY2FzdDxDU1NWYXJpYWJsZURlcGVuZGVudFZhbHVlPigqdGhpcykuY3VzdG9tQ1NT
VGV4dCgpOwogICAgIGNhc2UgVmFyaWFibGVDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU1ZhcmlhYmxlVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7Ci0gICAgY2FzZSBDdXN0
b21Qcm9wZXJ0eURlY2xhcmF0aW9uQ2xhc3M6Ci0gICAgICAgIHJldHVybiBkb3duY2FzdDxDU1ND
dXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uPigqdGhpcykuY3VzdG9tQ1NTVGV4dCgpOwogICAgIGNh
c2UgQ3VzdG9tSWRlbnRDbGFzczoKICAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU0N1c3RvbUlk
ZW50VmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CiAgICAgY2FzZSBWYXJpYWJsZVJlZmVy
ZW5jZUNsYXNzOgpAQCAtNTE2LDkgKzUxMyw2IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQog
ICAgIGNhc2UgVmFyaWFibGVDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU1Zhcmlh
YmxlVmFsdWU+KHRoaXMpOwogICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBDdXN0b21Qcm9wZXJ0
eURlY2xhcmF0aW9uQ2xhc3M6Ci0gICAgICAgIGRlbGV0ZSBkb3duY2FzdDxDU1NDdXN0b21Qcm9w
ZXJ0eURlY2xhcmF0aW9uPih0aGlzKTsKLSAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ3VzdG9t
SWRlbnRDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU0N1c3RvbUlkZW50VmFsdWU+
KHRoaXMpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAkocmV2aXNp
b24gMjA3ODM5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyNiw3ICsxMjYsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FuaW1hdGlvblRyaWdn
ZXJTY3JvbGxWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEFuaW1hdGlvblRy
aWdnZXJTY3JvbGxDbGFzczsgfQogI2VuZGlmCiAKLSAgICBib29sIGlzQ3VzdG9tUHJvcGVydHlE
ZWNsYXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEN1c3RvbVByb3BlcnR5
RGVjbGFyYXRpb25DbGFzczsgfQogICAgIGJvb2wgaXNDdXN0b21JZGVudFZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ3VzdG9tSWRlbnRDbGFzczsgfQogICAgIGJvb2wgaXNW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gVmFy
aWFibGVSZWZlcmVuY2VDbGFzczsgfQogICAgIGJvb2wgaXNQZW5kaW5nU3Vic3RpdHV0aW9uVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBQZW5kaW5nU3Vic3RpdHV0aW9uVmFs
dWVDbGFzczsgfQpAQCAtMjAyLDE0ICsyMDEsMTQgQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIENT
U0NvbnRlbnREaXN0cmlidXRpb25DbGFzcywKICAgICAgICAgCi0gICAgICAgIC8vIEZJWE1FLU5F
V1BBUlNFUjogUmVtb3ZlIGluIGZhdm9yIG9mIG5ldyB2YXJpYWJsZXMgaW1wbGVtZW50YXRpb24u
CisgICAgICAgIEN1c3RvbUlkZW50Q2xhc3MsCisKKyAgICAgICAgLy8gRklYTUUtTkVXUEFSU0VS
OiBVbmlmeSB2YXJpYWJsZXMgaW1wbGVtZW50YXRpb24uCiAgICAgICAgIEN1c3RvbVByb3BlcnR5
Q2xhc3MsCiAgICAgICAgIFZhcmlhYmxlRGVwZW5kZW50Q2xhc3MsCiAgICAgICAgIFZhcmlhYmxl
Q2xhc3MsCiAKICAgICAgICAgLy8gTmV3IHZhcmlhYmxlcyBpbXBsZW1lbnRhdGlvbi4KLSAgICAg
ICAgQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbkNsYXNzLAotICAgICAgICBDdXN0b21JZGVudENs
YXNzLAogICAgICAgICBWYXJpYWJsZVJlZmVyZW5jZUNsYXNzLAogICAgICAgICBQZW5kaW5nU3Vi
c3RpdHV0aW9uVmFsdWVDbGFzcywKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZURh
dGEuaAkocmV2aXNpb24gMjA3ODM5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxl
RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgQ1NT
VmFyaWFibGVEYXRhKGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmLCBib29sIG5lZWRzVmFyaWFi
bGVSZXNvbHV0aW9uKTsKIAogICAgIC8vIFdlIGNhbiBzYWZlbHkgY29weSB0aGUgdG9rZW5zICh3
aGljaCBoYXZlIHJhdyBwb2ludGVycyB0byBzdWJzdHJpbmdzKSBiZWNhdXNlCi0gICAgLy8gU3R5
bGVQcm9wZXJ0eVNldHMgY29udGFpbiByZWZlcmVuY2VzIHRvIENTU0N1c3RvbVByb3BlcnR5RGVj
bGFyYXRpb25zLCB3aGljaAorICAgIC8vIFN0eWxlUHJvcGVydHlTZXRzIGNvbnRhaW4gcmVmZXJl
bmNlcyB0byBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlcywgd2hpY2gKICAgICAvLyBwb2ludCB0byB0
aGUgdW5yZXNvbHZlZCBDU1NWYXJpYWJsZURhdGEgdmFsdWVzIHRoYXQgb3duIHRoZSBiYWNraW5n
IHN0cmluZ3MKICAgICAvLyB0aGlzIHdpbGwgcG90ZW50aWFsbHkgcmVmZXJlbmNlLgogICAgIENT
U1ZhcmlhYmxlRGF0YShjb25zdCBWZWN0b3I8Q1NTUGFyc2VyVG9rZW4+JiByZXNvbHZlZFRva2Vu
cywgU3RyaW5nIGJhY2tpbmdTdHJpbmcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCShyZXZpc2lvbiAyMDc4MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2MDcsNyArMTYwNyw3IEBAIHZvaWQgU3R5bGVS
ZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm8KICAgICAKICAgICBpZiAoaWQgPT0gQ1NTUHJv
cGVydHlDdXN0b20pIHsKICAgICAgICAgY3VzdG9tUHJvcGVydHlWYWx1ZSA9ICZkb3duY2FzdDxD
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlPigqdmFsdWVUb0FwcGx5KTsKLSAgICAgICAgdmFsdWVUb0No
ZWNrRm9ySW5oZXJpdEluaXRpYWwgPSBjdXN0b21Qcm9wZXJ0eVZhbHVlLT52YWx1ZSgpLmdldCgp
OworICAgICAgICB2YWx1ZVRvQ2hlY2tGb3JJbmhlcml0SW5pdGlhbCA9IGN1c3RvbVByb3BlcnR5
VmFsdWUtPmRlcHJlY2F0ZWRWYWx1ZSgpLmdldCgpOwogICAgIH0KIAogICAgIGJvb2wgaXNJbmhl
cml0ID0gc3RhdGUucGFyZW50U3R5bGUoKSAmJiB2YWx1ZVRvQ2hlY2tGb3JJbmhlcml0SW5pdGlh
bC0+aXNJbmhlcml0ZWRWYWx1ZSgpOwpAQCAtMTY3Myw3ICsxNjczLDcgQEAgdm9pZCBTdHlsZVJl
c29sdmVyOjphcHBseVByb3BlcnR5KENTU1BybwogICAgICAgICB9IGVsc2UgaWYgKGlzSW5pdGlh
bCkKICAgICAgICAgICAgIHN0YXRlLnN0eWxlKCktPnNldEN1c3RvbVByb3BlcnR5VmFsdWUoY3Vz
dG9tUHJvcGVydHktPm5hbWUoKSwgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlSW52YWxp
ZCgpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0Q3VzdG9t
UHJvcGVydHlWYWx1ZShjdXN0b21Qcm9wZXJ0eS0+bmFtZSgpLCBjdXN0b21Qcm9wZXJ0eS0+dmFs
dWUoKSk7CisgICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDdXN0b21Qcm9wZXJ0eVZhbHVl
KGN1c3RvbVByb3BlcnR5LT5uYW1lKCksIGN1c3RvbVByb3BlcnR5LT5kZXByZWNhdGVkVmFsdWUo
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAkocmV2aXNpb24gMjA3ODM5KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEs
NyArMzEsNyBAQAogI2luY2x1ZGUgIkNTU1BhcnNlckltcGwuaCIKIAogI2luY2x1ZGUgIkNTU0F0
UnVsZUlELmgiCi0jaW5jbHVkZSAiQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5oIgorI2lu
Y2x1ZGUgIkNTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZVJ1
bGUuaCIKICNpbmNsdWRlICJDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2Vy
T2JzZXJ2ZXIuaCIKQEAgLTk3LDcgKzk3LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGZpbHRlclBy
b3BlcnRpZXMoYm9vbAogICAgICAgICBjb25zdCB1bnNpZ25lZCBwcm9wZXJ0eUlESW5kZXggPSBw
cm9wZXJ0eS5pZCgpIC0gZmlyc3RDU1NQcm9wZXJ0eTsKICAgICAgICAgCiAgICAgICAgIGlmIChw
cm9wZXJ0eS5pZCgpID09IENTU1Byb3BlcnR5Q3VzdG9tKSB7Ci0gICAgICAgICAgICBDU1NDdXN0
b21Qcm9wZXJ0eURlY2xhcmF0aW9uKiBjdXN0b21WYWx1ZSA9IGRvd25jYXN0PENTU0N1c3RvbVBy
b3BlcnR5RGVjbGFyYXRpb24+KHByb3BlcnR5LnZhbHVlKCkpOworICAgICAgICAgICAgQ1NTQ3Vz
dG9tUHJvcGVydHlWYWx1ZSogY3VzdG9tVmFsdWUgPSBkb3duY2FzdDxDU1NDdXN0b21Qcm9wZXJ0
eVZhbHVlPihwcm9wZXJ0eS52YWx1ZSgpKTsKICAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSA9IGN1c3RvbVZhbHVlLT5uYW1lKCk7CiAgICAgICAgICAgICBpZiAoc2VlbkN1c3Rv
bVByb3BlcnRpZXMuY29udGFpbnMobmFtZSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CkBA
IC04MjcsNyArODI3LDcgQEAgdm9pZCBDU1NQYXJzZXJJbXBsOjpjb25zdW1lRGVjbGFyYXRpb24o
QwogCiB2b2lkIENTU1BhcnNlckltcGw6OmNvbnN1bWVWYXJpYWJsZVZhbHVlKENTU1BhcnNlclRv
a2VuUmFuZ2UgcmFuZ2UsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFyaWFibGVOYW1lLCBib29sIGlt
cG9ydGFudCkKIHsKLSAgICBpZiAoUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5RGVjbGFyYXRpb24+
IHZhbHVlID0gQ1NTVmFyaWFibGVQYXJzZXI6OnBhcnNlRGVjbGFyYXRpb25WYWx1ZSh2YXJpYWJs
ZU5hbWUsIHJhbmdlKSkKKyAgICBpZiAoUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IHZh
bHVlID0gQ1NTVmFyaWFibGVQYXJzZXI6OnBhcnNlRGVjbGFyYXRpb25WYWx1ZSh2YXJpYWJsZU5h
bWUsIHJhbmdlKSkKICAgICAgICAgbV9wYXJzZWRQcm9wZXJ0aWVzLmFwcGVuZChDU1NQcm9wZXJ0
eShDU1NQcm9wZXJ0eUN1c3RvbSwgV1RGTW92ZSh2YWx1ZSksIGltcG9ydGFudCkpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmNw
cAkocmV2aXNpb24gMjA3ODM5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NWYXJp
YWJsZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgogCi0jaW5jbHVkZSAi
Q1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIkNTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJUb2tlblJhbmdlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTE0Nyw3ICsxNDcsNyBAQCBib29sIENTU1ZhcmlhYmxlUGFyc2VyOjpj
b250YWluc1ZhbGlkVmFyCiAgICAgcmV0dXJuIHR5cGUgPT0gQ1NTVmFsdWVJbnRlcm5hbFZhcmlh
YmxlVmFsdWUgJiYgaGFzUmVmZXJlbmNlcyAmJiAhaGFzQXRBcHBseVJ1bGU7CiB9CiAKLVJlZlB0
cjxDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uPiBDU1NWYXJpYWJsZVBhcnNlcjo6cGFyc2VE
ZWNsYXJhdGlvblZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYgdmFyaWFibGVOYW1lLCBDU1NQYXJz
ZXJUb2tlblJhbmdlIHJhbmdlKQorUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IENTU1Zh
cmlhYmxlUGFyc2VyOjpwYXJzZURlY2xhcmF0aW9uVmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiB2
YXJpYWJsZU5hbWUsIENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2UpCiB7CiAgICAgaWYgKHJhbmdl
LmF0RW5kKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMTU5LDggKzE1OSw4IEBAIFJl
ZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uPiBDU1MKICAgICBpZiAodHlwZSA9PSBD
U1NWYWx1ZUludmFsaWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmICh0eXBlID09
IENTU1ZhbHVlSW50ZXJuYWxWYXJpYWJsZVZhbHVlKQotICAgICAgICByZXR1cm4gQ1NTQ3VzdG9t
UHJvcGVydHlEZWNsYXJhdGlvbjo6Y3JlYXRlKHZhcmlhYmxlTmFtZSwgQ1NTVmFyaWFibGVEYXRh
OjpjcmVhdGUocmFuZ2UsIGhhc1JlZmVyZW5jZXMgfHwgaGFzQXRBcHBseVJ1bGUpKTsKLSAgICBy
ZXR1cm4gQ1NTQ3VzdG9tUHJvcGVydHlEZWNsYXJhdGlvbjo6Y3JlYXRlKHZhcmlhYmxlTmFtZSwg
dHlwZSk7CisgICAgICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVXaXRo
VmFyaWFibGVEYXRhKHZhcmlhYmxlTmFtZSwgQ1NTVmFyaWFibGVEYXRhOjpjcmVhdGUocmFuZ2Us
IGhhc1JlZmVyZW5jZXMgfHwgaGFzQXRBcHBseVJ1bGUpKTsKKyAgICByZXR1cm4gQ1NTQ3VzdG9t
UHJvcGVydHlWYWx1ZTo6Y3JlYXRlV2l0aElEKHZhcmlhYmxlTmFtZSwgdHlwZSk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
VmFyaWFibGVQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1ZhcmlhYmxlUGFyc2VyLmgJKHJldmlzaW9uIDIwNzgzOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTMg
KzM1LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTQ3VzdG9tUHJvcGVy
dHlEZWNsYXJhdGlvbjsKK2NsYXNzIENTU0N1c3RvbVByb3BlcnR5VmFsdWU7CiAKIGNsYXNzIENT
U1ZhcmlhYmxlUGFyc2VyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjb250YWluc1ZhbGlk
VmFyaWFibGVSZWZlcmVuY2VzKENTU1BhcnNlclRva2VuUmFuZ2UpOwogCi0gICAgc3RhdGljIFJl
ZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uPiBwYXJzZURlY2xhcmF0aW9uVmFsdWUo
Y29uc3QgQXRvbWljU3RyaW5nJiwgQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CisgICAgc3RhdGljIFJl
ZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBwYXJzZURlY2xhcmF0aW9uVmFsdWUoY29uc3Qg
QXRvbWljU3RyaW5nJiwgQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CiAKICAgICBzdGF0aWMgYm9vbCBp
c1ZhbGlkVmFyaWFibGVOYW1lKGNvbnN0IENTU1BhcnNlclRva2VuJik7CiAgICAgc3RhdGljIGJv
b2wgaXNWYWxpZFZhcmlhYmxlTmFtZShjb25zdCBTdHJpbmcmKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gMjA3ODM5
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjA2Niw3ICsyMDY2LDcgQEAgdm9pZCBSZW5kZXJTdHlsZTo6Y2hlY2tW
YXJpYWJsZXNJbkN1c3RvbQogICAgIC8vIFdpdGggYWxsIHJlc3VsdHMgY29tcHV0ZWQsIHdlIGNh
biBub3cgbXV0YXRlIG91ciB0YWJsZSB0byBlbGltaW5hdGUgdGhlIHZhcmlhYmxlcyBhbmQKICAg
ICAvLyBob2xkIHRoZSBmaW5hbCB2YWx1ZXMuIFRoaXMgd2F5IHdoZW4gd2UgaW5oZXJpdCwgd2Ug
ZG9uJ3QgZW5kIHVwIHJlc3Vic3RpdHV0aW5nIHZhcmlhYmxlcywgZXRjLgogICAgIGZvciAoYXV0
byYgcmVzb2x2ZWRWYWx1ZSA6IHJlc29sdmVkVmFsdWVzKQotICAgICAgICBjdXN0b21Qcm9wZXJ0
aWVzLnNldChyZXNvbHZlZFZhbHVlLT5uYW1lKCksIHJlc29sdmVkVmFsdWUtPnZhbHVlKCkpOwor
ICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzLnNldChyZXNvbHZlZFZhbHVlLT5uYW1lKCksIHJlc29s
dmVkVmFsdWUtPmRlcHJlY2F0ZWRWYWx1ZSgpKTsKIAogICAgIHJhcmVJbmhlcml0ZWREYXRhLmFj
Y2VzcygpLT5tX2N1c3RvbVByb3BlcnRpZXMuYWNjZXNzKCktPnNldENvbnRhaW5zVmFyaWFibGVz
KGZhbHNlKTsKIH0K
</data>
<flag name="review"
          id="315914"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>