<?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>181853</bug_id>
          
          <creation_ts>2018-01-19 07:41:08 -0800</creation_ts>
          <short_desc>Softlink VideoProcessing in WebKit</short_desc>
          <delta_ts>2018-01-19 09:48:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1390911</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-19 07:41:08 -0800</bug_when>
    <thetext>Softlink VideoProcessing in WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390912</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-19 07:41:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/36590005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390914</commentid>
    <comment_count>2</comment_count>
      <attachid>331729</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-19 07:47:57 -0800</bug_when>
    <thetext>Created attachment 331729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390915</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-19 07:49:37 -0800</bug_when>
    <thetext>Attachment 331729 did not pass style-queue:


ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:30:  *SoftLink.h header should be included after all other headers.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:31:  *SoftLink.h header should be included after all other headers.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:32:  *SoftLink.h header should be included after all other headers.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:56:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:61:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h:15:  *SoftLink.h header should never be included in a header.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h:69:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:77:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:93:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:105:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:117:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:416:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:499:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:596:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 14 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390928</commentid>
    <comment_count>4</comment_count>
      <attachid>331734</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-19 08:21:34 -0800</bug_when>
    <thetext>Created attachment 331734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390930</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-19 08:23:37 -0800</bug_when>
    <thetext>Attachment 331734 did not pass style-queue:


ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:30:  *SoftLink.h header should be included after all other headers.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:31:  *SoftLink.h header should be included after all other headers.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:32:  *SoftLink.h header should be included after all other headers.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:56:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.cpp:61:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.h:15:  *SoftLink.h header should never be included in a header.  [build/include_order] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/VideoProcessingSoftLink.h:69:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:77:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:93:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:105:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:117:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:416:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:499:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoProcessing/encoder_vcp.mm:596:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 14 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390979</commentid>
    <comment_count>6</comment_count>
      <attachid>331734</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-19 09:48:28 -0800</bug_when>
    <thetext>Comment on attachment 331734
Patch

Clearing flags on attachment: 331734

Committed r227206: &lt;https://trac.webkit.org/changeset/227206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1390981</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-19 09:48:29 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331729</attachid>
            <date>2018-01-19 07:47:57 -0800</date>
            <delta_ts>2018-01-19 08:21:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181853-20180119164755.patch</filename>
            <type>text/plain</type>
            <size>25304</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA3OWUxMzY3MTEzYWNjOTliYjU5ZDIwYTM0ZjhmMWYxZWU1Y2MyMTIyLi4yZTZm
ZjQ0MzdjZGZmYTljYWE3ZWUxNjMyZjUyZWZlY2RhMDcyNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0wMS0xOSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU29mdGxpbmsgVmlkZW9Qcm9jZXNz
aW5nIGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgxODUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjU5MDAwNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L2xpYndlYnJ0Yy54Y2NvbmZpZzoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0Zy
YW1ld29yay9DbGFzc2VzL1ZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5j
cHA6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0Ns
YXNzZXMvVmlkZW9Qcm9jZXNzaW5nL1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg6IEFkZGVkLgor
ICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Q
cm9jZXNzaW5nL2VuY29kZXJfdmNwLmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvb2Jq
Yy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AubW06CisgICAg
ICAgIChpbnRlcm5hbDo6U2V0VlRTZXNzaW9uUHJvcGVydHkpOgorICAgICAgICAod2VicnRjOjpI
MjY0VmlkZW9Ub29sYm94RW5jb2RlclZDUDo6RW5jb2RlKToKKyAgICAgICAgKiBTb3VyY2Uvd2Vi
cnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC92aWRlb2NvZGVjZmFj
dG9yeS5tbToKKyAgICAgICAgKHdlYnJ0Yzo6VmlkZW9Ub29sYm94VmlkZW9FbmNvZGVyRmFjdG9y
eTo6VmlkZW9Ub29sYm94VmlkZW9FbmNvZGVyRmFjdG9yeSk6CisgICAgICAgICogbGlid2VicnRj
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDEtMTggIERhbiBCZXJuc3RlaW4g
IDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBbWGNvZGVdIFN0cmVhbWxpbmUgYW5kIGZ1dHVy
ZS1wcm9vZiB0YXJnZXQtbWFjT1MtdmVyc2lvbi1kZXBlbmRlbnQgYnVpbGQgc2V0dGluZyBkZWZp
bml0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9D
b25maWd1cmF0aW9ucy9saWJ3ZWJydGMueGNjb25maWcKaW5kZXggNmE1MGQwYjU3N2MyYWU3YTUw
MjVkZjBmZDcxYTVmNDI0ZGExM2YxMC4uOGRlYTkwNDAzNzI4NDRjYjhiMWJjZTdjM2Y0NDVmYzFj
OGVjMjg0YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLnhjY29uZmlnCkBAIC00MCw1ICs0MCw1IEBAIEVY
Q0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmVvcypdID0gKl9zc2UuY2MgKl9zc2Uy
LmNjIG1hY3V0aWxzLmNjIG1hY3dpCiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBo
b25lc2ltdWxhdG9yKl0gPSBtYWN1dGlscy5jYyBtYWN3aW5kb3dwaWNrZXIuY2MgYXVkaW9fZGV2
aWNlX21hYy5jYyBhdWRpb19taXhlcl9tYW5hZ2VyX21hYy5jYzsKIEVYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1tYWNvc3gqXSA9IHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5tbTsK
IAotT1RIRVJfTERGTEFHU1tzZGs9bWFjb3N4MTAuMTMqXSA9ICQoaW5oZXJpdGVkKSAtZnJhbWV3
b3JrIFZpZGVvUHJvY2Vzc2luZzsKLU9USEVSX0xERkxBR1Nbc2RrPW1hY29zeDEwLjE0Kl0gPSAk
KGluaGVyaXRlZCkgLWZyYW1ld29yayBWaWRlb1Byb2Nlc3Npbmc7CitPVEhFUl9MREZMQUdTW3Nk
az1tYWNvc3gxMC4xMypdID0gJChpbmhlcml0ZWQpIC13ZWFrX2ZyYW1ld29yayBWaWRlb1Byb2Nl
c3Npbmc7CitPVEhFUl9MREZMQUdTW3Nkaz1tYWNvc3gxMC4xNCpdID0gJChpbmhlcml0ZWQpIC13
ZWFrX2ZyYW1ld29yayBWaWRlb1Byb2Nlc3Npbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9W
aWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuY3BwIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMv
VmlkZW9Qcm9jZXNzaW5nL1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZmFjYWU5YzNmZDc5ODNlYzkwNDQxNGM3MDEyMDgxMWU3NWZlOWFmCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJh
bWV3b3JrL0NsYXNzZXMvVmlkZW9Qcm9jZXNzaW5nL1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmNw
cApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlZpZGVvUHJvY2Vzc2lu
Z1NvZnRMaW5rLmgiCisKKyNpZiBFTkFCTEVfVkNQX0VOQ09ERVIKKworI2luY2x1ZGUgIndlYnJ0
Yy9iYXNlL2xvZ2dpbmcuaCIKKyNpbXBvcnQgPGRsZmNuLmg+CisjaW1wb3J0IDxvYmpjL3J1bnRp
bWUuaD4KKworLy8gTWFjcm9zIGNvcGllZCBmcm9tIDx3dGYvY29jb2EvU29mdExpbmtpbmcuaD4K
KyNkZWZpbmUgU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX0ZPUl9TT1VSQ0UoZnVuY3Rpb25O
YW1lc3BhY2UsIGZyYW1ld29yaykgXAorICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7
IFwKKyAgICB2b2lkKiBmcmFtZXdvcmsjI0xpYnJhcnkoYm9vbCBpc09wdGlvbmFsKSBcCisgICAg
eyBcCisgICAgICAgIHN0YXRpYyB2b2lkKiBmcmFtZXdvcmtMaWJyYXJ5OyBcCisgICAgICAgIHN0
YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsgXAorICAgICAgICBkaXNwYXRjaF9vbmNlKCZvbmNl
LCBeeyBcCisgICAgICAgICAgICBmcmFtZXdvcmtMaWJyYXJ5ID0gZGxvcGVuKCIvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvIiAjZnJhbWV3b3JrICIuZnJhbWV3b3JrLyIgI2ZyYW1l
d29yaywgUlRMRF9OT1cpOyBcCisgICAgICAgICAgICBpZiAoIWlzT3B0aW9uYWwgJiYgIWZyYW1l
d29ya0xpYnJhcnkpIFwKKyAgICAgICAgICAgICAgICBMT0coTFNfRVJST1IpIDw8ICJDYW5ub3Qg
b3BlbiBmcmFtZXdvcms6ICIgPDwgZGxlcnJvcigpOyBcCisgICAgICAgIH0pOyBcCisgICAgICAg
IHJldHVybiBmcmFtZXdvcmtMaWJyYXJ5OyBcCisgICAgfSBcCisgICAgfQorCisjZGVmaW5lIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKGZ1bmN0aW9uTmFtZXNwYWNlLCBmcmFtZXdvcmss
IGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVyRGVjbGFyYXRpb25zLCBwYXJhbWV0
ZXJOYW1lcykgXAorICAgIGV4dGVybiAiQyIgeyBcCisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5h
bWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCisgICAgfSBcCisgICAgbmFtZXNwYWNlIGZ1bmN0
aW9uTmFtZXNwYWNlIHsgXAorICAgIHN0YXRpYyByZXN1bHRUeXBlIGluaXQjI2ZyYW1ld29yayMj
ZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9uczsgXAorICAgIHJlc3VsdFR5cGUgKCpz
b2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUpIHBhcmFtZXRlckRlY2xhcmF0aW9ucyA9
IGluaXQjI2ZyYW1ld29yayMjZnVuY3Rpb25OYW1lOyBcCisgICAgc3RhdGljIHJlc3VsdFR5cGUg
aW5pdCMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zIFwKKyAg
ICB7IFwKKyAgICAgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOyBcCisgICAgICAgIGRp
c3BhdGNoX29uY2UoJm9uY2UsIF57IFwKKyAgICAgICAgICAgIHNvZnRMaW5rIyNmcmFtZXdvcmsj
I2Z1bmN0aW9uTmFtZSA9IChyZXN1bHRUeXBlICgqKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMpIGRs
c3ltKGZyYW1ld29yayMjTGlicmFyeSgpLCAjZnVuY3Rpb25OYW1lKTsgXAorICAgICAgICAgICAg
aWYgKCFzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWUpIFwKKyAgICAgICAgICAgICAg
ICBMT0coTFNfRVJST1IpIDw8ICJDYW5ub3QgZmluZCBmdW5jdGlvbiAjI2Z1bmN0aW9uTmFtZTog
IiA8PCBkbGVycm9yKCk7IFwKKyAgICAgICAgfSk7IFwKKyAgICAgICAgcmV0dXJuIHNvZnRMaW5r
IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJOYW1lczsgXAorICAgIH0gXAorfQor
CitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfRk9SX1NPVVJDRSh3ZWJydGMsIFZpZGVvUHJv
Y2Vzc2luZykKKworU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uod2VicnRjLCBWaWRlb1By
b2Nlc3NpbmcsIFZDUENvbXByZXNzaW9uU2Vzc2lvblNldFByb3BlcnR5LCBPU1N0YXR1cywgKFZD
UENvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uLCBDRlN0cmluZ1JlZiBrZXksIENGVHlwZVJl
ZiB2YWx1ZSksIChzZXNzaW9uLCBrZXksIHZhbHVlKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1Jf
U09VUkNFKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21wcmVzc2lvblNlc3Npb25HZXRQ
aXhlbEJ1ZmZlclBvb2wsIENWUGl4ZWxCdWZmZXJQb29sUmVmLCAoVkNQQ29tcHJlc3Npb25TZXNz
aW9uUmVmIHNlc3Npb24pLCAoc2Vzc2lvbikpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RSh3ZWJydGMsIFZpZGVvUHJvY2Vzc2luZywgVkNQQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJh
bWUsIE9TU3RhdHVzLCAoVkNQQ29tcHJlc3Npb25TZXNzaW9uUmVmIHNlc3Npb24sIENWSW1hZ2VC
dWZmZXJSZWYgYnVmZmVyLCBDTVRpbWUgdGltZXN0YW1wLCBDTVRpbWUgdGltZSwgQ0ZEaWN0aW9u
YXJ5UmVmIGRpY3Rpb25hcnksIHZvaWQgKiBkYXRhLCBWVEVuY29kZUluZm9GbGFncyAqIGZsYWdz
KSwgKHNlc3Npb24sIGJ1ZmZlciwgdGltZXN0YW1wLCB0aW1lLCBkaWN0aW9uYXJ5LCBkYXRhLCBm
bGFncykpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRSh3ZWJydGMsIFZpZGVvUHJvY2Vz
c2luZywgVkNQQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlLCBPU1N0YXR1cywgKENGQWxsb2NhdG9y
UmVmIGFsbG9jYXRvcjEsIGludDMyX3QgdmFsdWUxICwgaW50MzJfdCB2YWx1ZTIsIENNVmlkZW9D
b2RlY1R5cGUgdHlwZSwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkxLCBDRkRpY3Rpb25hcnlS
ZWYgZGljdGlvbmFyeTIsIENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvcjMsIFZUQ29tcHJlc3Npb25P
dXRwdXRDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIGRhdGEsIFZDUENvbXByZXNzaW9uU2Vzc2lv
blJlZiAqc2Vzc2lvbiksIChhbGxvY2F0b3IxLCB2YWx1ZTEsIHZhbHVlMiwgdHlwZSwgZGljdGlv
bmFyeTEsIGRpY3Rpb25hcnkyLCBhbGxvY2F0b3IzLCBjYWxsYmFjaywgZGF0YSwgc2Vzc2lvbikp
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRSh3ZWJydGMsIFZpZGVvUHJvY2Vzc2luZywg
VkNQQ29tcHJlc3Npb25TZXNzaW9uSW52YWxpZGF0ZSwgdm9pZCwgKFZDUENvbXByZXNzaW9uU2Vz
c2lvblJlZiBzZXNzaW9uKSwgKHNlc3Npb24pKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0Uod2VicnRjLCBWaWRlb1Byb2Nlc3NpbmcsIFZQTW9kdWxlSW5pdGlhbGl6ZSwgdm9pZCwgKCks
ICgpKQorCisjZW5kaWYgLy8gRU5BQkxFX1ZDUF9FTkNPREVSCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xh
c3Nlcy9WaWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFz
c2VzL1ZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEwMWY4YTc3ODA1ZmY3MzlkN2U2OTE0MzcwYjEyOGQ3ZDViNGM5ZDcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9G
cmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsu
aApAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWZkZWYg
X19BUFBMRV9fCisjaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+CisjaW5jbHVkZSA8QXZhaWxhYmls
aXR5TWFjcm9zLmg+CisjaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+CisKKyNpZiAoZGVm
aW5lZChUQVJHRVRfT1NfSVBIT05FKSAgJiYgVEFSR0VUX09TX0lQSE9ORSkgfHwgKGRlZmluZWQo
VEFSR0VUX0lQSE9ORV9TSU1VTEFUT1IpICAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikKKy8v
IEZJWE1FOiBBY3RpdmF0ZSBWQ1AgZm9yIGlPUy9pT1Mgc2ltdWxhdG9yCisjZGVmaW5lIEVOQUJM
RV9WQ1BfRU5DT0RFUiAwCisjZWxpZiAoZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAgJiYgVEFSR0VU
X09TX01BQykKKyNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNPREVSIChfX01BQ19PU19YX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPj0gMTAxMzA0KQorI2VuZGlmCisKKyNpZiBFTkFCTEVfVkNQX0VOQ09ERVIK
KworI2luY2x1ZGUgPFZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmcuaD4KKworI2RlZmlu
ZSBBTFdBWVNfSU5MSU5FIGlubGluZQorCisjaWZkZWYgX19jcGx1c3BsdXMKKyNkZWZpbmUgV1RG
X0VYVEVSTl9DX0JFR0lOIGV4dGVybiAiQyIgeworI2RlZmluZSBXVEZfRVhURVJOX0NfRU5EIH0K
KyNlbHNlCisjZGVmaW5lIFdURl9FWFRFUk5fQ19CRUdJTgorI2RlZmluZSBXVEZfRVhURVJOX0Nf
RU5ECisjZW5kaWYKKworLy8gTWFjcm9zIGNvcGllZCBmcm9tIDx3dGYvY29jb2EvU29mdExpbmtp
bmcuaD4KKyNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVBREVSKGZ1bmN0aW9uTmFt
ZXNwYWNlLCBmcmFtZXdvcmspIFwKKyAgICBuYW1lc3BhY2UgZnVuY3Rpb25OYW1lc3BhY2UgeyBc
CisgICAgZXh0ZXJuIHZvaWQqIGZyYW1ld29yayMjTGlicmFyeShib29sIGlzT3B0aW9uYWwgPSBm
YWxzZSk7IFwKKyAgICBib29sIGlzIyNmcmFtZXdvcmsjI0ZyYW1ld29ya0F2YWlsYWJsZSgpOyBc
CisgICAgaW5saW5lIGJvb2wgaXMjI2ZyYW1ld29yayMjRnJhbWV3b3JrQXZhaWxhYmxlKCkgeyBc
CisgICAgICAgIHJldHVybiBmcmFtZXdvcmsjI0xpYnJhcnkodHJ1ZSkgIT0gbnVsbHB0cjsgXAor
ICAgIH0gXAorICAgIH0KKworI2RlZmluZSBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihm
dW5jdGlvbk5hbWVzcGFjZSwgZnJhbWV3b3JrLCBmdW5jdGlvbk5hbWUsIHJlc3VsdFR5cGUsIHBh
cmFtZXRlckRlY2xhcmF0aW9ucywgcGFyYW1ldGVyTmFtZXMpIFwKKyAgICBXVEZfRVhURVJOX0Nf
QkVHSU4gXAorICAgIHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9u
czsgXAorICAgIFdURl9FWFRFUk5fQ19FTkQgXAorICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVz
cGFjZSB7IFwKKyAgICBleHRlcm4gcmVzdWx0VHlwZSAoKnNvZnRMaW5rIyNmcmFtZXdvcmsjI2Z1
bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCisgICAgaW5saW5lIHJlc3VsdFR5
cGUgc29mdExpbmtfIyNmcmFtZXdvcmsjI18jI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJh
dGlvbnMgXAorICAgIHsgXAorICAgICAgICByZXR1cm4gc29mdExpbmsjI2ZyYW1ld29yayMjZnVu
Y3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCisgICAgfSBcCisgICAgfSBcCisgICAgQUxXQVlT
X0lOTElORSByZXN1bHRUeXBlIGZ1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgXAor
ICAgIHtcCisgICAgICAgIHJldHVybiBmdW5jdGlvbk5hbWVzcGFjZTo6c29mdExpbmsjI2ZyYW1l
d29yayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCisgICAgfQorCitTT0ZUX0xJTktf
RlJBTUVXT1JLX0ZPUl9IRUFERVIod2VicnRjLCBWaWRlb1Byb2Nlc3NpbmcpCisKK1NPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21wcmVz
c2lvblNlc3Npb25TZXRQcm9wZXJ0eSwgT1NTdGF0dXMsIChWQ1BDb21wcmVzc2lvblNlc3Npb25S
ZWYgc2Vzc2lvbiwgQ0ZTdHJpbmdSZWYga2V5LCBDRlR5cGVSZWYgdmFsdWUpLCAoc2Vzc2lvbiwg
a2V5LCB2YWx1ZSkpCisjZGVmaW5lIFZDUENvbXByZXNzaW9uU2Vzc2lvblNldFByb3BlcnR5IHNv
ZnRMaW5rX1ZpZGVvUHJvY2Vzc2luZ19WQ1BDb21wcmVzc2lvblNlc3Npb25TZXRQcm9wZXJ0eQor
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUih3ZWJydGMsIFZpZGVvUHJvY2Vzc2luZywg
VkNQQ29tcHJlc3Npb25TZXNzaW9uR2V0UGl4ZWxCdWZmZXJQb29sLCBDVlBpeGVsQnVmZmVyUG9v
bFJlZiwgKFZDUENvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uKSwgKHNlc3Npb24pKQorI2Rl
ZmluZSBWQ1BDb21wcmVzc2lvblNlc3Npb25HZXRQaXhlbEJ1ZmZlclBvb2wgc29mdExpbmtfVmlk
ZW9Qcm9jZXNzaW5nX1ZDUENvbXByZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbAorCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUih3ZWJydGMsIFZpZGVvUHJvY2Vzc2luZywgVkNQ
Q29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUsIE9TU3RhdHVzLCAoVkNQQ29tcHJlc3Npb25T
ZXNzaW9uUmVmIHNlc3Npb24sIENWSW1hZ2VCdWZmZXJSZWYgYnVmZmVyLCBDTVRpbWUgdGltZXN0
YW1wLCBDTVRpbWUgdGltZSwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnksIHZvaWQgKiBkYXRh
LCBWVEVuY29kZUluZm9GbGFncyAqIGZsYWdzKSwgKHNlc3Npb24sIGJ1ZmZlciwgdGltZXN0YW1w
LCB0aW1lLCBkaWN0aW9uYXJ5LCBkYXRhLCBmbGFncykpCisjZGVmaW5lIFZDUENvbXByZXNzaW9u
U2Vzc2lvbkVuY29kZUZyYW1lIHNvZnRMaW5rX1ZpZGVvUHJvY2Vzc2luZ19WQ1BDb21wcmVzc2lv
blNlc3Npb25FbmNvZGVGcmFtZQorCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUih3ZWJy
dGMsIFZpZGVvUHJvY2Vzc2luZywgVkNQQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlLCBPU1N0YXR1
cywgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvcjEsIGludDMyX3QgdmFsdWUxICwgaW50MzJfdCB2
YWx1ZTIsIENNVmlkZW9Db2RlY1R5cGUgdHlwZSwgQ0ZEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkx
LCBDRkRpY3Rpb25hcnlSZWYgZGljdGlvbmFyeTIsIENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvcjMs
IFZUQ29tcHJlc3Npb25PdXRwdXRDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqIGRhdGEsIFZDUENv
bXByZXNzaW9uU2Vzc2lvblJlZiAqc2Vzc2lvbiksIChhbGxvY2F0b3IxLCB2YWx1ZTEsIHZhbHVl
MiwgdHlwZSwgZGljdGlvbmFyeTEsIGRpY3Rpb25hcnkyLCBhbGxvY2F0b3IzLCBjYWxsYmFjaywg
ZGF0YSwgc2Vzc2lvbikpCisjZGVmaW5lIFZDUENvbXByZXNzaW9uU2Vzc2lvbkNyZWF0ZSBzb2Z0
TGlua19WaWRlb1Byb2Nlc3NpbmdfVkNQQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlCisKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21w
cmVzc2lvblNlc3Npb25JbnZhbGlkYXRlLCB2b2lkLCAoVkNQQ29tcHJlc3Npb25TZXNzaW9uUmVm
IHNlc3Npb24pLCAoc2Vzc2lvbikpCisjZGVmaW5lIFZDUENvbXByZXNzaW9uU2Vzc2lvbkludmFs
aWRhdGUgc29mdExpbmtfVmlkZW9Qcm9jZXNzaW5nX1ZDUENvbXByZXNzaW9uU2Vzc2lvbkludmFs
aWRhdGUKKworU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIod2VicnRjLCBWaWRlb1Byb2Nl
c3NpbmcsIFZQTW9kdWxlSW5pdGlhbGl6ZSwgdm9pZCwgKCksICgpKQorI2RlZmluZSBWUE1vZHVs
ZUluaXRpYWxpemUgc29mdExpbmtfVmlkZW9Qcm9jZXNzaW5nX1ZQTW9kdWxlSW5pdGlhbGl6ZQor
CisjZW5kaWYgLy8gRU5BQkxFX1ZDUF9FTkNPREVSCisKKyNlbmRpZiAvLyBfX0FQUExFX18KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9v
YmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvUHJvY2Vzc2luZy9lbmNvZGVyX3ZjcC5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3Jr
L0NsYXNzZXMvVmlkZW9Qcm9jZXNzaW5nL2VuY29kZXJfdmNwLmgKaW5kZXggZGJjZTdkMzE1MmEx
NGZiMDU1YjA1Yzg1ZTNhODRlZGE5ZjViOTVhZi4uODExNjdjNWEzMjIwYTVmNTAwNjc4MWQyOGQ3
Mzk1ZDQzNGE0NzgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Qcm9jZXNzaW5nL2Vu
Y29kZXJfdmNwLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJy
dGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Qcm9jZXNzaW5nL2VuY29kZXJfdmNw
LmgKQEAgLTEyLDE3ICsxMiw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWZkZWYgX19BUFBMRV9f
Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5Lmg+Ci0jaW5jbHVkZSA8QXZhaWxhYmlsaXR5TWFjcm9z
Lmg+Ci0jaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci0KLSNpZiAoZGVmaW5lZChUQVJH
RVRfT1NfSVBIT05FKSAgJiYgVEFSR0VUX09TX0lQSE9ORSkgfHwgKGRlZmluZWQoVEFSR0VUX0lQ
SE9ORV9TSU1VTEFUT1IpICAmJiBUQVJHRVRfSVBIT05FX1NJTVVMQVRPUikKLS8vIEZJWE1FOiBB
Y3RpdmF0ZSBWQ1AgZm9yIGlPUy9pT1Mgc2ltdWxhdG9yCi0jZGVmaW5lIEVOQUJMRV9WQ1BfRU5D
T0RFUiAwCi0jZWxpZiAoZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAgJiYgVEFSR0VUX09TX01BQykK
LSNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNPREVSIChfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gMTAxMzA0KQotI2VuZGlmCisjaW5jbHVkZSAiVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsu
aCIKIAogI2lmIEVOQUJMRV9WQ1BfRU5DT0RFUgogCkBAIC0zNCw3ICsyNCw2IEBACiAjaW5jbHVk
ZSAid2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2NvZGVjcy9oMjY0L2luY2x1ZGUvaDI2NC5o
IgogI2luY2x1ZGUgIndlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L3F1YWxpdHlf
c2NhbGVyLmgiCiAKLSNpbmNsdWRlIDxWaWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nLmg+
CiAjaW5jbHVkZSA8dmVjdG9yPgogCiAvLyBUaGlzIGZpbGUgcHJvdmlkZXMgYSBIMjY0IGVuY29k
ZXIgaW1wbGVtZW50YXRpb24gdXNpbmcgdGhlIFZpZGVvUHJvY2Vzc2luZyBBUElzLgpAQCAtMTI3
LDQgKzExNiwzIEBAIHZvaWQgZGVsZXRlSDI2NFZpZGVvVG9vbGJveEVuY29kZXJWQ1AoSDI2NFZp
ZGVvVG9vbGJveEVuY29kZXJWQ1AqKTsKIAogI2VuZGlmIC8vIEVOQUJMRV9WQ1BfRU5DT0RFUgog
Ci0jZW5kaWYgLy8gX19BUFBMRV9fCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nl
c3NpbmcvZW5jb2Rlcl92Y3AubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rl
cl92Y3AubW0KaW5kZXggNDk0OGVlMTFiZDUwZGY2M2ZmYjkyMDFlYjI2ODE0YTAyMDU2YzU2OS4u
NTFjMTAwMGY3ZGI4YmJhY2IzNjE5Njg4M2IxYjEzMGU0YTQ0YWMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3Jr
L0NsYXNzZXMvVmlkZW9Qcm9jZXNzaW5nL2VuY29kZXJfdmNwLm1tCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2Vz
L1ZpZGVvUHJvY2Vzc2luZy9lbmNvZGVyX3ZjcC5tbQpAQCAtNzQsNyArNzQsNyBAQCB2b2lkIFNl
dFZUU2Vzc2lvblByb3BlcnR5KFZDUENvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHZhbHVlKSB7CiAgIENGTnVtYmVyUmVmIGNm
TnVtID0KICAgICAgIENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJl
clNJbnQzMlR5cGUsICZ2YWx1ZSk7Ci0gIE9TU3RhdHVzIHN0YXR1cyA9IFZDUENvbXByZXNzaW9u
U2Vzc2lvblNldFByb3BlcnR5KHNlc3Npb24sIGtleSwgY2ZOdW0pOworICBPU1N0YXR1cyBzdGF0
dXMgPSB3ZWJydGM6OlZDUENvbXByZXNzaW9uU2Vzc2lvblNldFByb3BlcnR5KHNlc3Npb24sIGtl
eSwgY2ZOdW0pOwogICBDRlJlbGVhc2UoY2ZOdW0pOwogICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7
CiAgICAgc3RkOjpzdHJpbmcga2V5X3N0cmluZyA9IENGU3RyaW5nVG9TdHJpbmcoa2V5KTsKQEAg
LTkwLDcgKzkwLDcgQEAgdm9pZCBTZXRWVFNlc3Npb25Qcm9wZXJ0eShWQ1BDb21wcmVzc2lvblNl
c3Npb25SZWYgc2Vzc2lvbiwKICAgaW50NjRfdCB2YWx1ZV82NCA9IHZhbHVlOwogICBDRk51bWJl
clJlZiBjZk51bSA9CiAgICAgICBDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBr
Q0ZOdW1iZXJTSW50NjRUeXBlLCAmdmFsdWVfNjQpOwotICBPU1N0YXR1cyBzdGF0dXMgPSBWQ1BD
b21wcmVzc2lvblNlc3Npb25TZXRQcm9wZXJ0eShzZXNzaW9uLCBrZXksIGNmTnVtKTsKKyAgT1NT
dGF0dXMgc3RhdHVzID0gd2VicnRjOjpWQ1BDb21wcmVzc2lvblNlc3Npb25TZXRQcm9wZXJ0eShz
ZXNzaW9uLCBrZXksIGNmTnVtKTsKICAgQ0ZSZWxlYXNlKGNmTnVtKTsKICAgaWYgKHN0YXR1cyAh
PSBub0VycikgewogICAgIHN0ZDo6c3RyaW5nIGtleV9zdHJpbmcgPSBDRlN0cmluZ1RvU3RyaW5n
KGtleSk7CkBAIC0xMDIsNyArMTAyLDcgQEAgdm9pZCBTZXRWVFNlc3Npb25Qcm9wZXJ0eShWQ1BD
b21wcmVzc2lvblNlc3Npb25SZWYgc2Vzc2lvbiwKIC8vIENvbnZlbmllbmNlIGZ1bmN0aW9uIGZv
ciBzZXR0aW5nIGEgVlQgcHJvcGVydHkuCiB2b2lkIFNldFZUU2Vzc2lvblByb3BlcnR5KFZDUENv
bXByZXNzaW9uU2Vzc2lvblJlZiBzZXNzaW9uLCBDRlN0cmluZ1JlZiBrZXksIGJvb2wgdmFsdWUp
IHsKICAgQ0ZCb29sZWFuUmVmIGNmX2Jvb2wgPSAodmFsdWUpID8ga0NGQm9vbGVhblRydWUgOiBr
Q0ZCb29sZWFuRmFsc2U7Ci0gIE9TU3RhdHVzIHN0YXR1cyA9IFZDUENvbXByZXNzaW9uU2Vzc2lv
blNldFByb3BlcnR5KHNlc3Npb24sIGtleSwgY2ZfYm9vbCk7CisgIE9TU3RhdHVzIHN0YXR1cyA9
IHdlYnJ0Yzo6VkNQQ29tcHJlc3Npb25TZXNzaW9uU2V0UHJvcGVydHkoc2Vzc2lvbiwga2V5LCBj
Zl9ib29sKTsKICAgaWYgKHN0YXR1cyAhPSBub0VycikgewogICAgIHN0ZDo6c3RyaW5nIGtleV9z
dHJpbmcgPSBDRlN0cmluZ1RvU3RyaW5nKGtleSk7CiAgICAgTE9HKExTX0VSUk9SKSA8PCAiVlRT
ZXNzaW9uU2V0UHJvcGVydHkgZmFpbGVkIHRvIHNldDogIiA8PCBrZXlfc3RyaW5nCkBAIC0xMTQs
NyArMTE0LDcgQEAgdm9pZCBTZXRWVFNlc3Npb25Qcm9wZXJ0eShWQ1BDb21wcmVzc2lvblNlc3Np
b25SZWYgc2Vzc2lvbiwgQ0ZTdHJpbmdSZWYga2V5LCBib28KIHZvaWQgU2V0VlRTZXNzaW9uUHJv
cGVydHkoVkNQQ29tcHJlc3Npb25TZXNzaW9uUmVmIHNlc3Npb24sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENGU3RyaW5nUmVmIGtleSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0ZT
dHJpbmdSZWYgdmFsdWUpIHsKLSAgT1NTdGF0dXMgc3RhdHVzID0gVkNQQ29tcHJlc3Npb25TZXNz
aW9uU2V0UHJvcGVydHkoc2Vzc2lvbiwga2V5LCB2YWx1ZSk7CisgIE9TU3RhdHVzIHN0YXR1cyA9
IHdlYnJ0Yzo6VkNQQ29tcHJlc3Npb25TZXNzaW9uU2V0UHJvcGVydHkoc2Vzc2lvbiwga2V5LCB2
YWx1ZSk7CiAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKICAgICBzdGQ6OnN0cmluZyBrZXlfc3Ry
aW5nID0gQ0ZTdHJpbmdUb1N0cmluZyhrZXkpOwogICAgIHN0ZDo6c3RyaW5nIHZhbF9zdHJpbmcg
PSBDRlN0cmluZ1RvU3RyaW5nKHZhbHVlKTsKQEAgLTQxMyw3ICs0MTMsNyBAQCBpbnQgSDI2NFZp
ZGVvVG9vbGJveEVuY29kZXJWQ1A6OkVuY29kZSgKIAogICAvLyBHZXQgYSBwaXhlbCBidWZmZXIg
ZnJvbSB0aGUgcG9vbCBhbmQgY29weSBmcmFtZSBkYXRhIG92ZXIuCiAgIENWUGl4ZWxCdWZmZXJQ
b29sUmVmIHBpeGVsX2J1ZmZlcl9wb29sID0KLSAgICAgIFZDUENvbXByZXNzaW9uU2Vzc2lvbkdl
dFBpeGVsQnVmZmVyUG9vbChjb21wcmVzc2lvbl9zZXNzaW9uXyk7CisgICAgICB3ZWJydGM6OlZD
UENvbXByZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbChjb21wcmVzc2lvbl9zZXNzaW9u
Xyk7CiAjaWYgZGVmaW5lZChXRUJSVENfSU9TKQogICBpZiAoIXBpeGVsX2J1ZmZlcl9wb29sKSB7
CiAgICAgLy8gS2luZCBvZiBhIGhhY2suIE9uIGJhY2tncm91bmRpbmcsIHRoZSBjb21wcmVzc2lv
biBzZXNzaW9uIHNlZW1zIHRvIGdldApAQCAtNDIzLDcgKzQyMyw3IEBAIGludCBIMjY0VmlkZW9U
b29sYm94RW5jb2RlclZDUDo6RW5jb2RlKAogICAgIC8vIEluIGFkZGl0aW9uIHdlIHJlcXVlc3Qg
YSBrZXlmcmFtZSBzbyB2aWRlbyBjYW4gcmVjb3ZlciBxdWlja2x5LgogICAgIFJlc2V0Q29tcHJl
c3Npb25TZXNzaW9uKCk7CiAgICAgcGl4ZWxfYnVmZmVyX3Bvb2wgPQotICAgICAgICBWQ1BDb21w
cmVzc2lvblNlc3Npb25HZXRQaXhlbEJ1ZmZlclBvb2woY29tcHJlc3Npb25fc2Vzc2lvbl8pOwor
ICAgICAgICB3ZWJydGM6OlZDUENvbXByZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbChj
b21wcmVzc2lvbl9zZXNzaW9uXyk7CiAgICAgaXNfa2V5ZnJhbWVfcmVxdWlyZWQgPSB0cnVlOwog
ICAgIExPRyhMU19JTkZPKSA8PCAiUmVzZXR0aW5nIGNvbXByZXNzaW9uIHNlc3Npb24gZHVlIHRv
IGludmFsaWQgcG9vbC4iOwogICB9CkBAIC00OTYsNyArNDk2LDcgQEAgaW50IEgyNjRWaWRlb1Rv
b2xib3hFbmNvZGVyVkNQOjpFbmNvZGUoCiAgIC8vIFVwZGF0ZSB0aGUgYml0cmF0ZSBpZiBuZWVk
ZWQuCiAgIFNldEJpdHJhdGVCcHMoYml0cmF0ZV9hZGp1c3Rlcl8uR2V0QWRqdXN0ZWRCaXRyYXRl
QnBzKCkpOwogCi0gIE9TU3RhdHVzIHN0YXR1cyA9IFZDUENvbXByZXNzaW9uU2Vzc2lvbkVuY29k
ZUZyYW1lKAorICBPU1N0YXR1cyBzdGF0dXMgPSB3ZWJydGM6OlZDUENvbXByZXNzaW9uU2Vzc2lv
bkVuY29kZUZyYW1lKAogICAgICAgY29tcHJlc3Npb25fc2Vzc2lvbl8sIHBpeGVsX2J1ZmZlciwg
cHJlc2VudGF0aW9uX3RpbWVfc3RhbXAsCiAgICAgICBrQ01UaW1lSW52YWxpZCwgZnJhbWVfcHJv
cGVydGllcywgZW5jb2RlX3BhcmFtcy5yZWxlYXNlKCksIG51bGxwdHIpOwogICBpZiAoZnJhbWVf
cHJvcGVydGllcykgewpAQCAtNTkzLDcgKzU5Myw3IEBAIGludCBIMjY0VmlkZW9Ub29sYm94RW5j
b2RlclZDUDo6Q3JlYXRlQ29tcHJlc3Npb25TZXNzaW9uKFZDUENvbXByZXNzaW9uU2Vzc2lvblJl
CiAgIENGRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY2lmaWNhdGlvbiA9IG51bGxwdHI7CiAjZW5k
aWYKIAotICBPU1N0YXR1cyBzdGF0dXMgPSBWQ1BDb21wcmVzc2lvblNlc3Npb25DcmVhdGUoCisg
IE9TU3RhdHVzIHN0YXR1cyA9IHdlYnJ0Yzo6VkNQQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKAog
ICAgICAgbnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGFsbG9jYXRvcgogICAgICAgd2lkdGgsIGhl
aWdodCwga1ZDUENvZGVjVHlwZTRDQ19IMjY0LAogICAgICAgZW5jb2RlclNwZWNpZmljYXRpb24s
ICAvLyB1c2UgZGVmYXVsdCBlbmNvZGVyCkBAIC02NDUsNyArNjQ1LDcgQEAgdm9pZCBIMjY0Vmlk
ZW9Ub29sYm94RW5jb2RlclZDUDo6Q29uZmlndXJlQ29tcHJlc3Npb25TZXNzaW9uKCkgewogCiB2
b2lkIEgyNjRWaWRlb1Rvb2xib3hFbmNvZGVyVkNQOjpEZXN0cm95Q29tcHJlc3Npb25TZXNzaW9u
KCkgewogICBpZiAoY29tcHJlc3Npb25fc2Vzc2lvbl8pIHsKLSAgICBWQ1BDb21wcmVzc2lvblNl
c3Npb25JbnZhbGlkYXRlKGNvbXByZXNzaW9uX3Nlc3Npb25fKTsKKyAgICB3ZWJydGM6OlZDUENv
bXByZXNzaW9uU2Vzc2lvbkludmFsaWRhdGUoY29tcHJlc3Npb25fc2Vzc2lvbl8pOwogICAgIENG
UmVsZWFzZShjb21wcmVzc2lvbl9zZXNzaW9uXyk7CiAgICAgY29tcHJlc3Npb25fc2Vzc2lvbl8g
PSBudWxscHRyOwogICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvdmlk
ZW9jb2RlY2ZhY3RvcnkubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvdmlkZW9jb2RlY2Zh
Y3RvcnkubW0KaW5kZXggZDRlOTBmNzA4YThiODFiZDFhODU1Njc1MzlhOTlmODFmMzg0NzIyYy4u
OGQ2OTY1NTUxZWIyNjc5MTA4OWJkMDc1ZjdiZTUzYWE4YzdkMmEyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3Jr
L0NsYXNzZXMvVmlkZW9Ub29sYm94L3ZpZGVvY29kZWNmYWN0b3J5Lm1tCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFz
c2VzL1ZpZGVvVG9vbGJveC92aWRlb2NvZGVjZmFjdG9yeS5tbQpAQCAtMzIsNyArMzIsNyBAQCBi
b29sIElzSGlnaFByb2ZpbGVFbmFibGVkKCkgewogVmlkZW9Ub29sYm94VmlkZW9FbmNvZGVyRmFj
dG9yeTo6VmlkZW9Ub29sYm94VmlkZW9FbmNvZGVyRmFjdG9yeSgpCiB7CiAjaWYgRU5BQkxFX1ZD
UF9FTkNPREVSCi0gICAgVlBNb2R1bGVJbml0aWFsaXplKCk7CisgICAgd2VicnRjOjpWUE1vZHVs
ZUluaXRpYWxpemUoKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMGJhNzEyY2ZkZmVmNDJlNGQ5NWFkMzEzODI1Nzk2NmU5YmQ3NDNlNS4uM2FmYWI4N2Nk
OTdjMTQ1NjllMzVhYTgyOTFkOGMxOWU4MTQ0NjE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTY3LDYgKzE2Nyw4IEBACiAJCTQxNEQ3MTE5MUU0QUVCMTEwMDIzRTUyNiAv
KiBzY3RwX3VzZXJzcGFjZS5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE0RDcxMTgxRTRBRUIxMTAwMjNFNTI2IC8qIHNjdHBfdXNlcnNwYWNlLmMgKi87
IH07CiAJCTQxNkQyRjE1MUZBOENDQUUwMDA5NzM0NSAvKiBlbmNvZGVyX3ZjcC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RDJGMTMxRkE4Q0NBRDAw
MDk3MzQ1IC8qIGVuY29kZXJfdmNwLmggKi87IH07CiAJCTQxNkQyRjE2MUZBOENDQUUwMDA5NzM0
NSAvKiBlbmNvZGVyX3ZjcC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxNkQyRjE0MUZBOENDQUQwMDA5NzM0NSAvKiBlbmNvZGVyX3ZjcC5tbSAqLzsg
fTsKKwkJNDE3Q0Y3OTkyMDEyMzlBRjAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5r
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0NG
Nzk3MjAxMjM5QUUwMDFBREYzQSAvKiBWaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5jcHAgKi87IH07
CisJCTQxN0NGNzlBMjAxMjM5QUYwMDFBREYzQSAvKiBWaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3Q0Y3OTgy
MDEyMzlBRTAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggKi87IH07CiAJCTQx
N0RBNDU4MUVGOUNEMEQwMEU4NjlEQiAvKiBSVENVSUFwcGxpY2F0aW9uU3RhdHVzT2JzZXJ2ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNDU2
MUVGOUNEMEEwMEU4NjlEQiAvKiBSVENVSUFwcGxpY2F0aW9uU3RhdHVzT2JzZXJ2ZXIuaCAqLzsg
fTsKIAkJNDFBMzkxNzMxRUZDNDQ3QzAwQzQ1MTZBIC8qIHNoYTEtYWx0aXZlYy5jIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFBMzkxNEYxRUZDNDQ2RTAw
QzQ1MTZBIC8qIHNoYTEtYWx0aXZlYy5jICovOyB9OwogCQk0MUEzOTE3NDFFRkM0NDdDMDBDNDUx
NkEgLyogc2hhMS5jIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFBMzkxNTAxRUZDNDQ2RTAwQzQ1MTZBIC8qIHNoYTEuYyAqLzsgfTsKQEAgLTI5MzcsNiAr
MjkzOSw4IEBACiAJCTQxNkQyRjEwMUZBOENDMDQwMDA5NzM0NSAvKiBWaWRlb1Byb2Nlc3Npbmcu
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBWaWRlb1Byb2Nlc3NpbmcuZnJhbWV3b3JrOyBw
YXRoID0gU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvVmlkZW9Qcm9jZXNzaW5nLmZy
YW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTQxNkQyRjEzMUZBOENDQUQwMDA5
NzM0NSAvKiBlbmNvZGVyX3ZjcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBl
bmNvZGVyX3ZjcC5oOyBwYXRoID0gVmlkZW9Qcm9jZXNzaW5nL2VuY29kZXJfdmNwLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNkQyRjE0MUZBOENDQUQwMDA5NzM0NSAvKiBlbmNv
ZGVyX3ZjcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IGVuY29k
ZXJfdmNwLm1tOyBwYXRoID0gVmlkZW9Qcm9jZXNzaW5nL2VuY29kZXJfdmNwLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTdDRjc5NzIwMTIzOUFFMDAxQURGM0EgLyogVmlkZW9Q
cm9jZXNzaW5nU29mdExpbmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuY3BwOyBwYXRoID0gVmlkZW9Qcm9jZXNzaW5nL1Zp
ZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE3Q0Y3OTgyMDEyMzlBRTAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg7
IHBhdGggPSBWaWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3REE0NTYxRUY5Q0QwQTAwRTg2OURCIC8qIFJUQ1VJ
QXBwbGljYXRpb25TdGF0dXNPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBSVENVSUFwcGxpY2F0aW9uU3RhdHVzT2JzZXJ2ZXIuaDsgcGF0aCA9IFNvdXJjZS93ZWJy
dGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvQ29tbW9uL1JUQ1VJQXBwbGljYXRpb25TdGF0
dXNPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTQxQTM5MTQ1MUVG
QzQ0NkUwMEM0NTE2QSAvKiBzaGExLTU4Ni5wbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnBlcmw7
IHBhdGggPSAic2hhMS01ODYucGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUEz
OTE0NjFFRkM0NDZFMDBDNDUxNkEgLyogc2hhMS1hcm12NC1sYXJnZS5wbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuc2NyaXB0LnBlcmw7IHBhdGggPSAic2hhMS1hcm12NC1sYXJnZS5wbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NjUzLDYgKzU2NTcsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJ
CQkJNDE2RDJGMTMxRkE4Q0NBRDAwMDk3MzQ1IC8qIGVuY29kZXJfdmNwLmggKi8sCiAJCQkJNDE2
RDJGMTQxRkE4Q0NBRDAwMDk3MzQ1IC8qIGVuY29kZXJfdmNwLm1tICovLAorCQkJCTQxN0NGNzk3
MjAxMjM5QUUwMDFBREYzQSAvKiBWaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5jcHAgKi8sCisJCQkJ
NDE3Q0Y3OTgyMDEyMzlBRTAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggKi8s
CiAJCQkpOwogCQkJbmFtZSA9IFZpZGVvUHJvY2Vzc2luZzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0xMDk0MCw2ICsxMDk0Niw3IEBACiAJCQkJNUM0QjQ5MDcxRTQyQzFFMzAwMjY1
MUM4IC8qIHZpZGVvY29tbW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0QyODYyNTFFNkE2NjZE
MDA5NEZEQzggLyogdmlkZW9kZWNvZGVyc29mdHdhcmVmYWxsYmFja3dyYXBwZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTVDNEI0ODhBMUU0MkMxQkEwMDI2NTFDOCAvKiB2aWRlb2VuY29kZXJzb2Z0
d2FyZWZhbGxiYWNrd3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE3Q0Y3OUEyMDEyMzlB
RjAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1QzRCNDkwQTFFNDJDMUUzMDAyNjUxQzggLyogdmlkZW9zaW5raW50ZXJmYWNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1QzRCNDkwQzFFNDJDMUUzMDAyNjUxQzggLyogdmlkZW9zb3VyY2ViYXNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzRCNDkwRDFFNDJDMUUzMDAyNjUxQzggLyogdmlkZW9z
b3VyY2VpbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLApAQCAtMTI2NDEsNiArMTI2NDgsNyBAQAog
CQkJCTVDNEI0OTA2MUU0MkMxRTMwMDI2NTFDOCAvKiB2aWRlb2NvbW1vbi5jYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTVDRDI4NjI0MUU2QTY2NkQwMDk0RkRDOCAvKiB2aWRlb2RlY29kZXJzb2Z0d2Fy
ZWZhbGxiYWNrd3JhcHBlci5jYyBpbiBTb3VyY2VzICovLAogCQkJCTVDNEI0ODg5MUU0MkMxQkEw
MDI2NTFDOCAvKiB2aWRlb2VuY29kZXJzb2Z0d2FyZWZhbGxiYWNrd3JhcHBlci5jYyBpbiBTb3Vy
Y2VzICovLAorCQkJCTQxN0NGNzk5MjAxMjM5QUYwMDFBREYzQSAvKiBWaWRlb1Byb2Nlc3NpbmdT
b2Z0TGluay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1QzRCNDkwQjFFNDJDMUUzMDAyNjUxQzgg
LyogdmlkZW9zb3VyY2ViYXNlLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJNUNEMjg1MTYxRTZBNjA1
NzAwOTRGREM4IC8qIHZpZGVvdHJhY2suY2MgaW4gU291cmNlcyAqLywKIAkJCQk1Q0QyODUxODFF
NkE2MDU3MDA5NEZEQzggLyogdmlkZW90cmFja3NvdXJjZS5jYyBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>331734</attachid>
            <date>2018-01-19 08:21:34 -0800</date>
            <delta_ts>2018-01-19 09:48:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181853-20180119172132.patch</filename>
            <type>text/plain</type>
            <size>25240</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3MTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA3OWUxMzY3MTEzYWNjOTliYjU5ZDIwYTM0ZjhmMWYxZWU1Y2MyMTIyLi4yZTZm
ZjQ0MzdjZGZmYTljYWE3ZWUxNjMyZjUyZWZlY2RhMDcyNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0wMS0xOSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU29mdGxpbmsgVmlkZW9Qcm9jZXNz
aW5nIGluIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgxODUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjU5MDAwNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L2xpYndlYnJ0Yy54Y2NvbmZpZzoKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0Zy
YW1ld29yay9DbGFzc2VzL1ZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5j
cHA6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0Ns
YXNzZXMvVmlkZW9Qcm9jZXNzaW5nL1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg6IEFkZGVkLgor
ICAgICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Q
cm9jZXNzaW5nL2VuY29kZXJfdmNwLmg6CisgICAgICAgICogU291cmNlL3dlYnJ0Yy9zZGsvb2Jq
Yy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AubW06CisgICAg
ICAgIChpbnRlcm5hbDo6U2V0VlRTZXNzaW9uUHJvcGVydHkpOgorICAgICAgICAod2VicnRjOjpI
MjY0VmlkZW9Ub29sYm94RW5jb2RlclZDUDo6RW5jb2RlKToKKyAgICAgICAgKiBTb3VyY2Uvd2Vi
cnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC92aWRlb2NvZGVjZmFj
dG9yeS5tbToKKyAgICAgICAgKHdlYnJ0Yzo6VmlkZW9Ub29sYm94VmlkZW9FbmNvZGVyRmFjdG9y
eTo6VmlkZW9Ub29sYm94VmlkZW9FbmNvZGVyRmFjdG9yeSk6CisgICAgICAgICogbGlid2VicnRj
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTgtMDEtMTggIERhbiBCZXJuc3RlaW4g
IDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBbWGNvZGVdIFN0cmVhbWxpbmUgYW5kIGZ1dHVy
ZS1wcm9vZiB0YXJnZXQtbWFjT1MtdmVyc2lvbi1kZXBlbmRlbnQgYnVpbGQgc2V0dGluZyBkZWZp
bml0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9D
b25maWd1cmF0aW9ucy9saWJ3ZWJydGMueGNjb25maWcKaW5kZXggNmE1MGQwYjU3N2MyYWU3YTUw
MjVkZjBmZDcxYTVmNDI0ZGExM2YxMC4uODY4N2QzNjA1YzBlNzIwYWRlZTA2MGU1YzNkNzg4NDVi
NGI5YTAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy54Y2NvbmZpZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLnhjY29uZmlnCkBAIC00MCw1ICs0MCw1IEBAIEVY
Q0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmVvcypdID0gKl9zc2UuY2MgKl9zc2Uy
LmNjIG1hY3V0aWxzLmNjIG1hY3dpCiBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBo
b25lc2ltdWxhdG9yKl0gPSBtYWN1dGlscy5jYyBtYWN3aW5kb3dwaWNrZXIuY2MgYXVkaW9fZGV2
aWNlX21hYy5jYyBhdWRpb19taXhlcl9tYW5hZ2VyX21hYy5jYzsKIEVYQ0xVREVEX1NPVVJDRV9G
SUxFX05BTUVTW3Nkaz1tYWNvc3gqXSA9IHZvaWNlX3Byb2Nlc3NpbmdfYXVkaW9fdW5pdC5tbTsK
IAotT1RIRVJfTERGTEFHU1tzZGs9bWFjb3N4MTAuMTMqXSA9ICQoaW5oZXJpdGVkKSAtZnJhbWV3
b3JrIFZpZGVvUHJvY2Vzc2luZzsKLU9USEVSX0xERkxBR1Nbc2RrPW1hY29zeDEwLjE0Kl0gPSAk
KGluaGVyaXRlZCkgLWZyYW1ld29yayBWaWRlb1Byb2Nlc3Npbmc7CitPVEhFUl9MREZMQUdTW3Nk
az1tYWNvc3gxMC4xMypdID0gJChpbmhlcml0ZWQpOworT1RIRVJfTERGTEFHU1tzZGs9bWFjb3N4
MTAuMTQqXSA9ICQoaW5oZXJpdGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvUHJv
Y2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1By
b2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmYWNhZTlj
M2ZkNzk4M2VjOTA0NDE0YzcwMTIwODExZTc1ZmU5YWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsv
Q2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuY3BwCkBAIC0w
LDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiVmlkZW9Qcm9jZXNzaW5nU29mdExp
bmsuaCIKKworI2lmIEVOQUJMRV9WQ1BfRU5DT0RFUgorCisjaW5jbHVkZSAid2VicnRjL2Jhc2Uv
bG9nZ2luZy5oIgorI2ltcG9ydCA8ZGxmY24uaD4KKyNpbXBvcnQgPG9iamMvcnVudGltZS5oPgor
CisvLyBNYWNyb3MgY29waWVkIGZyb20gPHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oPgorI2RlZmlu
ZSBTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfRk9SX1NPVVJDRShmdW5jdGlvbk5hbWVzcGFj
ZSwgZnJhbWV3b3JrKSBcCisgICAgbmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsgXAorICAg
IHZvaWQqIGZyYW1ld29yayMjTGlicmFyeShib29sIGlzT3B0aW9uYWwpIFwKKyAgICB7IFwKKyAg
ICAgICAgc3RhdGljIHZvaWQqIGZyYW1ld29ya0xpYnJhcnk7IFwKKyAgICAgICAgc3RhdGljIGRp
c3BhdGNoX29uY2VfdCBvbmNlOyBcCisgICAgICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57IFwK
KyAgICAgICAgICAgIGZyYW1ld29ya0xpYnJhcnkgPSBkbG9wZW4oIi9TeXN0ZW0vTGlicmFyeS9Q
cml2YXRlRnJhbWV3b3Jrcy8iICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvIiAjZnJhbWV3b3JrLCBS
VExEX05PVyk7IFwKKyAgICAgICAgICAgIGlmICghaXNPcHRpb25hbCAmJiAhZnJhbWV3b3JrTGli
cmFyeSkgXAorICAgICAgICAgICAgICAgIExPRyhMU19FUlJPUikgPDwgIkNhbm5vdCBvcGVuIGZy
YW1ld29yazogIiA8PCBkbGVycm9yKCk7IFwKKyAgICAgICAgfSk7IFwKKyAgICAgICAgcmV0dXJu
IGZyYW1ld29ya0xpYnJhcnk7IFwKKyAgICB9IFwKKyAgICB9CisKKyNkZWZpbmUgU09GVF9MSU5L
X0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoZnVuY3Rpb25OYW1lc3BhY2UsIGZyYW1ld29yaywgZnVuY3Rp
b25OYW1lLCByZXN1bHRUeXBlLCBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMsIHBhcmFtZXRlck5hbWVz
KSBcCisgICAgZXh0ZXJuICJDIiB7IFwKKyAgICByZXN1bHRUeXBlIGZ1bmN0aW9uTmFtZSBwYXJh
bWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICB9IFwKKyAgICBuYW1lc3BhY2UgZnVuY3Rpb25OYW1l
c3BhY2UgeyBcCisgICAgc3RhdGljIHJlc3VsdFR5cGUgaW5pdCMjZnJhbWV3b3JrIyNmdW5jdGlv
bk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCisgICAgcmVzdWx0VHlwZSAoKnNvZnRMaW5r
IyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSkgcGFyYW1ldGVyRGVjbGFyYXRpb25zID0gaW5pdCMj
ZnJhbWV3b3JrIyNmdW5jdGlvbk5hbWU7IFwKKyAgICBzdGF0aWMgcmVzdWx0VHlwZSBpbml0IyNm
cmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnMgXAorICAgIHsgXAor
ICAgICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7IFwKKyAgICAgICAgZGlzcGF0Y2hf
b25jZSgmb25jZSwgXnsgXAorICAgICAgICAgICAgc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rp
b25OYW1lID0gKHJlc3VsdFR5cGUgKCopIHBhcmFtZXRlckRlY2xhcmF0aW9ucykgZGxzeW0oZnJh
bWV3b3JrIyNMaWJyYXJ5KCksICNmdW5jdGlvbk5hbWUpOyBcCisgICAgICAgICAgICBpZiAoIXNv
ZnRMaW5rIyNmcmFtZXdvcmsjI2Z1bmN0aW9uTmFtZSkgXAorICAgICAgICAgICAgICAgIExPRyhM
U19FUlJPUikgPDwgIkNhbm5vdCBmaW5kIGZ1bmN0aW9uICMjZnVuY3Rpb25OYW1lOiAiIDw8IGRs
ZXJyb3IoKTsgXAorICAgICAgICB9KTsgXAorICAgICAgICByZXR1cm4gc29mdExpbmsjI2ZyYW1l
d29yayMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlck5hbWVzOyBcCisgICAgfSBcCit9CisKK1NPRlRf
TElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5n
KQorCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRSh3ZWJydGMsIFZpZGVvUHJvY2Vzc2lu
ZywgVkNQQ29tcHJlc3Npb25TZXNzaW9uU2V0UHJvcGVydHksIE9TU3RhdHVzLCAoVkNQQ29tcHJl
c3Npb25TZXNzaW9uUmVmIHNlc3Npb24sIENGU3RyaW5nUmVmIGtleSwgQ0ZUeXBlUmVmIHZhbHVl
KSwgKHNlc3Npb24sIGtleSwgdmFsdWUpKQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uo
d2VicnRjLCBWaWRlb1Byb2Nlc3NpbmcsIFZDUENvbXByZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVm
ZmVyUG9vbCwgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYsIChWQ1BDb21wcmVzc2lvblNlc3Npb25SZWYg
c2Vzc2lvbiksIChzZXNzaW9uKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKHdlYnJ0
YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21wcmVzc2lvblNlc3Npb25FbmNvZGVGcmFtZSwgT1NT
dGF0dXMsIChWQ1BDb21wcmVzc2lvblNlc3Npb25SZWYgc2Vzc2lvbiwgQ1ZJbWFnZUJ1ZmZlclJl
ZiBidWZmZXIsIENNVGltZSB0aW1lc3RhbXAsIENNVGltZSB0aW1lLCBDRkRpY3Rpb25hcnlSZWYg
ZGljdGlvbmFyeSwgdm9pZCAqIGRhdGEsIFZURW5jb2RlSW5mb0ZsYWdzICogZmxhZ3MpLCAoc2Vz
c2lvbiwgYnVmZmVyLCB0aW1lc3RhbXAsIHRpbWUsIGRpY3Rpb25hcnksIGRhdGEsIGZsYWdzKSkK
K1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBW
Q1BDb21wcmVzc2lvblNlc3Npb25DcmVhdGUsIE9TU3RhdHVzLCAoQ0ZBbGxvY2F0b3JSZWYgYWxs
b2NhdG9yMSwgaW50MzJfdCB2YWx1ZTEgLCBpbnQzMl90IHZhbHVlMiwgQ01WaWRlb0NvZGVjVHlw
ZSB0eXBlLCBDRkRpY3Rpb25hcnlSZWYgZGljdGlvbmFyeTEsIENGRGljdGlvbmFyeVJlZiBkaWN0
aW9uYXJ5MiwgQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yMywgVlRDb21wcmVzc2lvbk91dHB1dENh
bGxiYWNrIGNhbGxiYWNrLCB2b2lkICogZGF0YSwgVkNQQ29tcHJlc3Npb25TZXNzaW9uUmVmICpz
ZXNzaW9uKSwgKGFsbG9jYXRvcjEsIHZhbHVlMSwgdmFsdWUyLCB0eXBlLCBkaWN0aW9uYXJ5MSwg
ZGljdGlvbmFyeTIsIGFsbG9jYXRvcjMsIGNhbGxiYWNrLCBkYXRhLCBzZXNzaW9uKSkKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21w
cmVzc2lvblNlc3Npb25JbnZhbGlkYXRlLCB2b2lkLCAoVkNQQ29tcHJlc3Npb25TZXNzaW9uUmVm
IHNlc3Npb24pLCAoc2Vzc2lvbikpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRSh3ZWJy
dGMsIFZpZGVvUHJvY2Vzc2luZywgVlBNb2R1bGVJbml0aWFsaXplLCB2b2lkLCAoKSwgKCkpCisK
KyNlbmRpZiAvLyBFTkFCTEVfVkNQX0VOQ09ERVIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1Zp
ZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlk
ZW9Qcm9jZXNzaW5nL1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAxZjhh
Nzc4MDVmZjczOWQ3ZTY5MTQzNzBiMTI4ZDdkNWI0YzlkNwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29y
ay9DbGFzc2VzL1ZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCkBAIC0w
LDAgKzEsMTAyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZmRlZiBfX0FQUExF
X18KKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHkuaD4KKyNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNy
b3MuaD4KKyNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KKworI2lmIChkZWZpbmVkKFRB
UkdFVF9PU19JUEhPTkUpICAmJiBUQVJHRVRfT1NfSVBIT05FKSB8fCAoZGVmaW5lZChUQVJHRVRf
SVBIT05FX1NJTVVMQVRPUikgICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKQorLy8gRklYTUU6
IEFjdGl2YXRlIFZDUCBmb3IgaU9TL2lPUyBzaW11bGF0b3IKKyNkZWZpbmUgRU5BQkxFX1ZDUF9F
TkNPREVSIDAKKyNlbGlmIChkZWZpbmVkKFRBUkdFVF9PU19NQUMpICAmJiBUQVJHRVRfT1NfTUFD
KQorI2RlZmluZSBFTkFCTEVfVkNQX0VOQ09ERVIgKF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMDEzMDQpCisjZW5kaWYKKworI2lmIEVOQUJMRV9WQ1BfRU5DT0RFUgorCisjaW5j
bHVkZSA8VmlkZW9Qcm9jZXNzaW5nL1ZpZGVvUHJvY2Vzc2luZy5oPgorCisjZGVmaW5lIEFMV0FZ
U19JTkxJTkUgaW5saW5lCisKKyNpZmRlZiBfX2NwbHVzcGx1cworI2RlZmluZSBXVEZfRVhURVJO
X0NfQkVHSU4gZXh0ZXJuICJDIiB7CisjZGVmaW5lIFdURl9FWFRFUk5fQ19FTkQgfQorI2Vsc2UK
KyNkZWZpbmUgV1RGX0VYVEVSTl9DX0JFR0lOCisjZGVmaW5lIFdURl9FWFRFUk5fQ19FTkQKKyNl
bmRpZgorCisvLyBNYWNyb3MgY29waWVkIGZyb20gPHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oPgor
I2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoZnVuY3Rpb25OYW1lc3BhY2Us
IGZyYW1ld29yaykgXAorICAgIG5hbWVzcGFjZSBmdW5jdGlvbk5hbWVzcGFjZSB7IFwKKyAgICBl
eHRlcm4gdm9pZCogZnJhbWV3b3JrIyNMaWJyYXJ5KGJvb2wgaXNPcHRpb25hbCA9IGZhbHNlKTsg
XAorICAgIGJvb2wgaXMjI2ZyYW1ld29yayMjRnJhbWV3b3JrQXZhaWxhYmxlKCk7IFwKKyAgICBp
bmxpbmUgYm9vbCBpcyMjZnJhbWV3b3JrIyNGcmFtZXdvcmtBdmFpbGFibGUoKSB7IFwKKyAgICAg
ICAgcmV0dXJuIGZyYW1ld29yayMjTGlicmFyeSh0cnVlKSAhPSBudWxscHRyOyBcCisgICAgfSBc
CisgICAgfQorCisjZGVmaW5lIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKGZ1bmN0aW9u
TmFtZXNwYWNlLCBmcmFtZXdvcmssIGZ1bmN0aW9uTmFtZSwgcmVzdWx0VHlwZSwgcGFyYW1ldGVy
RGVjbGFyYXRpb25zLCBwYXJhbWV0ZXJOYW1lcykgXAorICAgIFdURl9FWFRFUk5fQ19CRUdJTiBc
CisgICAgcmVzdWx0VHlwZSBmdW5jdGlvbk5hbWUgcGFyYW1ldGVyRGVjbGFyYXRpb25zOyBcCisg
ICAgV1RGX0VYVEVSTl9DX0VORCBcCisgICAgbmFtZXNwYWNlIGZ1bmN0aW9uTmFtZXNwYWNlIHsg
XAorICAgIGV4dGVybiByZXN1bHRUeXBlICgqc29mdExpbmsjI2ZyYW1ld29yayMjZnVuY3Rpb25O
YW1lKSBwYXJhbWV0ZXJEZWNsYXJhdGlvbnM7IFwKKyAgICBpbmxpbmUgcmVzdWx0VHlwZSBzb2Z0
TGlua18jI2ZyYW1ld29yayMjXyMjZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBc
CisgICAgeyBcCisgICAgICAgIHJldHVybiBzb2Z0TGluayMjZnJhbWV3b3JrIyNmdW5jdGlvbk5h
bWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAgICB9IFwKKyAgICB9IFwKKyAgICBBTFdBWVNfSU5MSU5F
IHJlc3VsdFR5cGUgZnVuY3Rpb25OYW1lIHBhcmFtZXRlckRlY2xhcmF0aW9ucyBcCisgICAge1wK
KyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uTmFtZXNwYWNlOjpzb2Z0TGluayMjZnJhbWV3b3JrIyNm
dW5jdGlvbk5hbWUgcGFyYW1ldGVyTmFtZXM7IFwKKyAgICB9CisKK1NPRlRfTElOS19GUkFNRVdP
UktfRk9SX0hFQURFUih3ZWJydGMsIFZpZGVvUHJvY2Vzc2luZykKKworU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9IRUFERVIod2VicnRjLCBWaWRlb1Byb2Nlc3NpbmcsIFZDUENvbXByZXNzaW9uU2Vz
c2lvblNldFByb3BlcnR5LCBPU1N0YXR1cywgKFZDUENvbXByZXNzaW9uU2Vzc2lvblJlZiBzZXNz
aW9uLCBDRlN0cmluZ1JlZiBrZXksIENGVHlwZVJlZiB2YWx1ZSksIChzZXNzaW9uLCBrZXksIHZh
bHVlKSkKKyNkZWZpbmUgVkNQQ29tcHJlc3Npb25TZXNzaW9uU2V0UHJvcGVydHkgc29mdExpbmtf
VmlkZW9Qcm9jZXNzaW5nX1ZDUENvbXByZXNzaW9uU2Vzc2lvblNldFByb3BlcnR5CisKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21w
cmVzc2lvblNlc3Npb25HZXRQaXhlbEJ1ZmZlclBvb2wsIENWUGl4ZWxCdWZmZXJQb29sUmVmLCAo
VkNQQ29tcHJlc3Npb25TZXNzaW9uUmVmIHNlc3Npb24pLCAoc2Vzc2lvbikpCisjZGVmaW5lIFZD
UENvbXByZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbCBzb2Z0TGlua19WaWRlb1Byb2Nl
c3NpbmdfVkNQQ29tcHJlc3Npb25TZXNzaW9uR2V0UGl4ZWxCdWZmZXJQb29sCisKK1NPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKHdlYnJ0YywgVmlkZW9Qcm9jZXNzaW5nLCBWQ1BDb21wcmVz
c2lvblNlc3Npb25FbmNvZGVGcmFtZSwgT1NTdGF0dXMsIChWQ1BDb21wcmVzc2lvblNlc3Npb25S
ZWYgc2Vzc2lvbiwgQ1ZJbWFnZUJ1ZmZlclJlZiBidWZmZXIsIENNVGltZSB0aW1lc3RhbXAsIENN
VGltZSB0aW1lLCBDRkRpY3Rpb25hcnlSZWYgZGljdGlvbmFyeSwgdm9pZCAqIGRhdGEsIFZURW5j
b2RlSW5mb0ZsYWdzICogZmxhZ3MpLCAoc2Vzc2lvbiwgYnVmZmVyLCB0aW1lc3RhbXAsIHRpbWUs
IGRpY3Rpb25hcnksIGRhdGEsIGZsYWdzKSkKKyNkZWZpbmUgVkNQQ29tcHJlc3Npb25TZXNzaW9u
RW5jb2RlRnJhbWUgc29mdExpbmtfVmlkZW9Qcm9jZXNzaW5nX1ZDUENvbXByZXNzaW9uU2Vzc2lv
bkVuY29kZUZyYW1lCisKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKHdlYnJ0YywgVmlk
ZW9Qcm9jZXNzaW5nLCBWQ1BDb21wcmVzc2lvblNlc3Npb25DcmVhdGUsIE9TU3RhdHVzLCAoQ0ZB
bGxvY2F0b3JSZWYgYWxsb2NhdG9yMSwgaW50MzJfdCB2YWx1ZTEgLCBpbnQzMl90IHZhbHVlMiwg
Q01WaWRlb0NvZGVjVHlwZSB0eXBlLCBDRkRpY3Rpb25hcnlSZWYgZGljdGlvbmFyeTEsIENGRGlj
dGlvbmFyeVJlZiBkaWN0aW9uYXJ5MiwgQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yMywgVlRDb21w
cmVzc2lvbk91dHB1dENhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICogZGF0YSwgVkNQQ29tcHJlc3Np
b25TZXNzaW9uUmVmICpzZXNzaW9uKSwgKGFsbG9jYXRvcjEsIHZhbHVlMSwgdmFsdWUyLCB0eXBl
LCBkaWN0aW9uYXJ5MSwgZGljdGlvbmFyeTIsIGFsbG9jYXRvcjMsIGNhbGxiYWNrLCBkYXRhLCBz
ZXNzaW9uKSkKKyNkZWZpbmUgVkNQQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlIHNvZnRMaW5rX1Zp
ZGVvUHJvY2Vzc2luZ19WQ1BDb21wcmVzc2lvblNlc3Npb25DcmVhdGUKKworU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9IRUFERVIod2VicnRjLCBWaWRlb1Byb2Nlc3NpbmcsIFZDUENvbXByZXNzaW9u
U2Vzc2lvbkludmFsaWRhdGUsIHZvaWQsIChWQ1BDb21wcmVzc2lvblNlc3Npb25SZWYgc2Vzc2lv
biksIChzZXNzaW9uKSkKKyNkZWZpbmUgVkNQQ29tcHJlc3Npb25TZXNzaW9uSW52YWxpZGF0ZSBz
b2Z0TGlua19WaWRlb1Byb2Nlc3NpbmdfVkNQQ29tcHJlc3Npb25TZXNzaW9uSW52YWxpZGF0ZQor
CitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUih3ZWJydGMsIFZpZGVvUHJvY2Vzc2luZywg
VlBNb2R1bGVJbml0aWFsaXplLCB2b2lkLCAoKSwgKCkpCisjZGVmaW5lIFZQTW9kdWxlSW5pdGlh
bGl6ZSBzb2Z0TGlua19WaWRlb1Byb2Nlc3NpbmdfVlBNb2R1bGVJbml0aWFsaXplCisKKyNlbmRp
ZiAvLyBFTkFCTEVfVkNQX0VOQ09ERVIKKworI2VuZGlmIC8vIF9fQVBQTEVfXwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJh
bWV3b3JrL0NsYXNzZXMvVmlkZW9Qcm9jZXNzaW5nL2VuY29kZXJfdmNwLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nl
cy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AuaAppbmRleCBkYmNlN2QzMTUyYTE0ZmIwNTVi
MDVjODVlM2E4NGVkYTlmNWI5NWFmLi44MTE2N2M1YTMyMjBhNWY1MDA2NzgxZDI4ZDczOTVkNDM0
YTQ3ODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dl
YnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92
Y3AuaAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsv
b2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AuaApAQCAt
MTIsMTcgKzEyLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZmRlZiBfX0FQUExFX18KLSNpbmNs
dWRlIDxBdmFpbGFiaWxpdHkuaD4KLSNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNyb3MuaD4KLSNp
bmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMuaD4KLQotI2lmIChkZWZpbmVkKFRBUkdFVF9PU19J
UEhPTkUpICAmJiBUQVJHRVRfT1NfSVBIT05FKSB8fCAoZGVmaW5lZChUQVJHRVRfSVBIT05FX1NJ
TVVMQVRPUikgICYmIFRBUkdFVF9JUEhPTkVfU0lNVUxBVE9SKQotLy8gRklYTUU6IEFjdGl2YXRl
IFZDUCBmb3IgaU9TL2lPUyBzaW11bGF0b3IKLSNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNPREVSIDAK
LSNlbGlmIChkZWZpbmVkKFRBUkdFVF9PU19NQUMpICAmJiBUQVJHRVRfT1NfTUFDKQotI2RlZmlu
ZSBFTkFCTEVfVkNQX0VOQ09ERVIgKF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAx
MDEzMDQpCi0jZW5kaWYKKyNpbmNsdWRlICJWaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oIgogCiAj
aWYgRU5BQkxFX1ZDUF9FTkNPREVSCiAKQEAgLTM0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJ3ZWJy
dGMvbW9kdWxlcy92aWRlb19jb2RpbmcvY29kZWNzL2gyNjQvaW5jbHVkZS9oMjY0LmgiCiAjaW5j
bHVkZSAid2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvcXVhbGl0eV9zY2FsZXIu
aCIKIAotI2luY2x1ZGUgPFZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmcuaD4KICNpbmNs
dWRlIDx2ZWN0b3I+CiAKIC8vIFRoaXMgZmlsZSBwcm92aWRlcyBhIEgyNjQgZW5jb2RlciBpbXBs
ZW1lbnRhdGlvbiB1c2luZyB0aGUgVmlkZW9Qcm9jZXNzaW5nIEFQSXMuCkBAIC0xMjcsNCArMTE2
LDMgQEAgdm9pZCBkZWxldGVIMjY0VmlkZW9Ub29sYm94RW5jb2RlclZDUChIMjY0VmlkZW9Ub29s
Ym94RW5jb2RlclZDUCopOwogCiAjZW5kaWYgLy8gRU5BQkxFX1ZDUF9FTkNPREVSCiAKLSNlbmRp
ZiAvLyBfX0FQUExFX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvUHJvY2Vzc2luZy9l
bmNvZGVyX3ZjcC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRj
L3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvUHJvY2Vzc2luZy9lbmNvZGVyX3ZjcC5t
bQppbmRleCA0OTQ4ZWUxMWJkNTBkZjYzZmZiOTIwMWViMjY4MTRhMDIwNTZjNTY5Li41MWMxMDAw
ZjdkYjhiYmFjYjM2MTk2ODgzYjFiMTMwZTRhNDRhYzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nl
cy9WaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Q
cm9jZXNzaW5nL2VuY29kZXJfdmNwLm1tCkBAIC03NCw3ICs3NCw3IEBAIHZvaWQgU2V0VlRTZXNz
aW9uUHJvcGVydHkoVkNQQ29tcHJlc3Npb25TZXNzaW9uUmVmIHNlc3Npb24sCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludDMyX3QgdmFsdWUpIHsKICAgQ0ZOdW1iZXJSZWYgY2ZOdW0gPQog
ICAgICAgQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDMy
VHlwZSwgJnZhbHVlKTsKLSAgT1NTdGF0dXMgc3RhdHVzID0gVkNQQ29tcHJlc3Npb25TZXNzaW9u
U2V0UHJvcGVydHkoc2Vzc2lvbiwga2V5LCBjZk51bSk7CisgIE9TU3RhdHVzIHN0YXR1cyA9IHdl
YnJ0Yzo6VkNQQ29tcHJlc3Npb25TZXNzaW9uU2V0UHJvcGVydHkoc2Vzc2lvbiwga2V5LCBjZk51
bSk7CiAgIENGUmVsZWFzZShjZk51bSk7CiAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKICAgICBz
dGQ6OnN0cmluZyBrZXlfc3RyaW5nID0gQ0ZTdHJpbmdUb1N0cmluZyhrZXkpOwpAQCAtOTAsNyAr
OTAsNyBAQCB2b2lkIFNldFZUU2Vzc2lvblByb3BlcnR5KFZDUENvbXByZXNzaW9uU2Vzc2lvblJl
ZiBzZXNzaW9uLAogICBpbnQ2NF90IHZhbHVlXzY0ID0gdmFsdWU7CiAgIENGTnVtYmVyUmVmIGNm
TnVtID0KICAgICAgIENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJl
clNJbnQ2NFR5cGUsICZ2YWx1ZV82NCk7Ci0gIE9TU3RhdHVzIHN0YXR1cyA9IFZDUENvbXByZXNz
aW9uU2Vzc2lvblNldFByb3BlcnR5KHNlc3Npb24sIGtleSwgY2ZOdW0pOworICBPU1N0YXR1cyBz
dGF0dXMgPSB3ZWJydGM6OlZDUENvbXByZXNzaW9uU2Vzc2lvblNldFByb3BlcnR5KHNlc3Npb24s
IGtleSwgY2ZOdW0pOwogICBDRlJlbGVhc2UoY2ZOdW0pOwogICBpZiAoc3RhdHVzICE9IG5vRXJy
KSB7CiAgICAgc3RkOjpzdHJpbmcga2V5X3N0cmluZyA9IENGU3RyaW5nVG9TdHJpbmcoa2V5KTsK
QEAgLTEwMiw3ICsxMDIsNyBAQCB2b2lkIFNldFZUU2Vzc2lvblByb3BlcnR5KFZDUENvbXByZXNz
aW9uU2Vzc2lvblJlZiBzZXNzaW9uLAogLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHNldHRp
bmcgYSBWVCBwcm9wZXJ0eS4KIHZvaWQgU2V0VlRTZXNzaW9uUHJvcGVydHkoVkNQQ29tcHJlc3Np
b25TZXNzaW9uUmVmIHNlc3Npb24sIENGU3RyaW5nUmVmIGtleSwgYm9vbCB2YWx1ZSkgewogICBD
RkJvb2xlYW5SZWYgY2ZfYm9vbCA9ICh2YWx1ZSkgPyBrQ0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xl
YW5GYWxzZTsKLSAgT1NTdGF0dXMgc3RhdHVzID0gVkNQQ29tcHJlc3Npb25TZXNzaW9uU2V0UHJv
cGVydHkoc2Vzc2lvbiwga2V5LCBjZl9ib29sKTsKKyAgT1NTdGF0dXMgc3RhdHVzID0gd2VicnRj
OjpWQ1BDb21wcmVzc2lvblNlc3Npb25TZXRQcm9wZXJ0eShzZXNzaW9uLCBrZXksIGNmX2Jvb2wp
OwogICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7CiAgICAgc3RkOjpzdHJpbmcga2V5X3N0cmluZyA9
IENGU3RyaW5nVG9TdHJpbmcoa2V5KTsKICAgICBMT0coTFNfRVJST1IpIDw8ICJWVFNlc3Npb25T
ZXRQcm9wZXJ0eSBmYWlsZWQgdG8gc2V0OiAiIDw8IGtleV9zdHJpbmcKQEAgLTExNCw3ICsxMTQs
NyBAQCB2b2lkIFNldFZUU2Vzc2lvblByb3BlcnR5KFZDUENvbXByZXNzaW9uU2Vzc2lvblJlZiBz
ZXNzaW9uLCBDRlN0cmluZ1JlZiBrZXksIGJvbwogdm9pZCBTZXRWVFNlc3Npb25Qcm9wZXJ0eShW
Q1BDb21wcmVzc2lvblNlc3Npb25SZWYgc2Vzc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQ0ZTdHJpbmdSZWYga2V5LAogICAgICAgICAgICAgICAgICAgICAgICAgICBDRlN0cmluZ1Jl
ZiB2YWx1ZSkgewotICBPU1N0YXR1cyBzdGF0dXMgPSBWQ1BDb21wcmVzc2lvblNlc3Npb25TZXRQ
cm9wZXJ0eShzZXNzaW9uLCBrZXksIHZhbHVlKTsKKyAgT1NTdGF0dXMgc3RhdHVzID0gd2VicnRj
OjpWQ1BDb21wcmVzc2lvblNlc3Npb25TZXRQcm9wZXJ0eShzZXNzaW9uLCBrZXksIHZhbHVlKTsK
ICAgaWYgKHN0YXR1cyAhPSBub0VycikgewogICAgIHN0ZDo6c3RyaW5nIGtleV9zdHJpbmcgPSBD
RlN0cmluZ1RvU3RyaW5nKGtleSk7CiAgICAgc3RkOjpzdHJpbmcgdmFsX3N0cmluZyA9IENGU3Ry
aW5nVG9TdHJpbmcodmFsdWUpOwpAQCAtNDEzLDcgKzQxMyw3IEBAIGludCBIMjY0VmlkZW9Ub29s
Ym94RW5jb2RlclZDUDo6RW5jb2RlKAogCiAgIC8vIEdldCBhIHBpeGVsIGJ1ZmZlciBmcm9tIHRo
ZSBwb29sIGFuZCBjb3B5IGZyYW1lIGRhdGEgb3Zlci4KICAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYg
cGl4ZWxfYnVmZmVyX3Bvb2wgPQotICAgICAgVkNQQ29tcHJlc3Npb25TZXNzaW9uR2V0UGl4ZWxC
dWZmZXJQb29sKGNvbXByZXNzaW9uX3Nlc3Npb25fKTsKKyAgICAgIHdlYnJ0Yzo6VkNQQ29tcHJl
c3Npb25TZXNzaW9uR2V0UGl4ZWxCdWZmZXJQb29sKGNvbXByZXNzaW9uX3Nlc3Npb25fKTsKICNp
ZiBkZWZpbmVkKFdFQlJUQ19JT1MpCiAgIGlmICghcGl4ZWxfYnVmZmVyX3Bvb2wpIHsKICAgICAv
LyBLaW5kIG9mIGEgaGFjay4gT24gYmFja2dyb3VuZGluZywgdGhlIGNvbXByZXNzaW9uIHNlc3Np
b24gc2VlbXMgdG8gZ2V0CkBAIC00MjMsNyArNDIzLDcgQEAgaW50IEgyNjRWaWRlb1Rvb2xib3hF
bmNvZGVyVkNQOjpFbmNvZGUoCiAgICAgLy8gSW4gYWRkaXRpb24gd2UgcmVxdWVzdCBhIGtleWZy
YW1lIHNvIHZpZGVvIGNhbiByZWNvdmVyIHF1aWNrbHkuCiAgICAgUmVzZXRDb21wcmVzc2lvblNl
c3Npb24oKTsKICAgICBwaXhlbF9idWZmZXJfcG9vbCA9Ci0gICAgICAgIFZDUENvbXByZXNzaW9u
U2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbChjb21wcmVzc2lvbl9zZXNzaW9uXyk7CisgICAgICAg
IHdlYnJ0Yzo6VkNQQ29tcHJlc3Npb25TZXNzaW9uR2V0UGl4ZWxCdWZmZXJQb29sKGNvbXByZXNz
aW9uX3Nlc3Npb25fKTsKICAgICBpc19rZXlmcmFtZV9yZXF1aXJlZCA9IHRydWU7CiAgICAgTE9H
KExTX0lORk8pIDw8ICJSZXNldHRpbmcgY29tcHJlc3Npb24gc2Vzc2lvbiBkdWUgdG8gaW52YWxp
ZCBwb29sLiI7CiAgIH0KQEAgLTQ5Niw3ICs0OTYsNyBAQCBpbnQgSDI2NFZpZGVvVG9vbGJveEVu
Y29kZXJWQ1A6OkVuY29kZSgKICAgLy8gVXBkYXRlIHRoZSBiaXRyYXRlIGlmIG5lZWRlZC4KICAg
U2V0Qml0cmF0ZUJwcyhiaXRyYXRlX2FkanVzdGVyXy5HZXRBZGp1c3RlZEJpdHJhdGVCcHMoKSk7
CiAKLSAgT1NTdGF0dXMgc3RhdHVzID0gVkNQQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUo
CisgIE9TU3RhdHVzIHN0YXR1cyA9IHdlYnJ0Yzo6VkNQQ29tcHJlc3Npb25TZXNzaW9uRW5jb2Rl
RnJhbWUoCiAgICAgICBjb21wcmVzc2lvbl9zZXNzaW9uXywgcGl4ZWxfYnVmZmVyLCBwcmVzZW50
YXRpb25fdGltZV9zdGFtcCwKICAgICAgIGtDTVRpbWVJbnZhbGlkLCBmcmFtZV9wcm9wZXJ0aWVz
LCBlbmNvZGVfcGFyYW1zLnJlbGVhc2UoKSwgbnVsbHB0cik7CiAgIGlmIChmcmFtZV9wcm9wZXJ0
aWVzKSB7CkBAIC01OTMsNyArNTkzLDcgQEAgaW50IEgyNjRWaWRlb1Rvb2xib3hFbmNvZGVyVkNQ
OjpDcmVhdGVDb21wcmVzc2lvblNlc3Npb24oVkNQQ29tcHJlc3Npb25TZXNzaW9uUmUKICAgQ0ZE
aWN0aW9uYXJ5UmVmIGVuY29kZXJTcGVjaWZpY2F0aW9uID0gbnVsbHB0cjsKICNlbmRpZgogCi0g
IE9TU3RhdHVzIHN0YXR1cyA9IFZDUENvbXByZXNzaW9uU2Vzc2lvbkNyZWF0ZSgKKyAgT1NTdGF0
dXMgc3RhdHVzID0gd2VicnRjOjpWQ1BDb21wcmVzc2lvblNlc3Npb25DcmVhdGUoCiAgICAgICBu
dWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgYWxsb2NhdG9yCiAgICAgICB3aWR0aCwgaGVpZ2h0LCBr
VkNQQ29kZWNUeXBlNENDX0gyNjQsCiAgICAgICBlbmNvZGVyU3BlY2lmaWNhdGlvbiwgIC8vIHVz
ZSBkZWZhdWx0IGVuY29kZXIKQEAgLTY0NSw3ICs2NDUsNyBAQCB2b2lkIEgyNjRWaWRlb1Rvb2xi
b3hFbmNvZGVyVkNQOjpDb25maWd1cmVDb21wcmVzc2lvblNlc3Npb24oKSB7CiAKIHZvaWQgSDI2
NFZpZGVvVG9vbGJveEVuY29kZXJWQ1A6OkRlc3Ryb3lDb21wcmVzc2lvblNlc3Npb24oKSB7CiAg
IGlmIChjb21wcmVzc2lvbl9zZXNzaW9uXykgewotICAgIFZDUENvbXByZXNzaW9uU2Vzc2lvbklu
dmFsaWRhdGUoY29tcHJlc3Npb25fc2Vzc2lvbl8pOworICAgIHdlYnJ0Yzo6VkNQQ29tcHJlc3Np
b25TZXNzaW9uSW52YWxpZGF0ZShjb21wcmVzc2lvbl9zZXNzaW9uXyk7CiAgICAgQ0ZSZWxlYXNl
KGNvbXByZXNzaW9uX3Nlc3Npb25fKTsKICAgICBjb21wcmVzc2lvbl9zZXNzaW9uXyA9IG51bGxw
dHI7CiAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC92aWRlb2NvZGVj
ZmFjdG9yeS5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nk
ay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC92aWRlb2NvZGVjZmFjdG9yeS5t
bQppbmRleCBkNGU5MGY3MDhhOGI4MWJkMWE4NTU2NzUzOWE5OWY4MWYzODQ3MjJjLi44ZDY5NjU1
NTFlYjI2NzkxMDg5YmQwNzVmN2JlNTNhYThjN2QyYTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nl
cy9WaWRlb1Rvb2xib3gvdmlkZW9jb2RlY2ZhY3RvcnkubW0KKysrIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlk
ZW9Ub29sYm94L3ZpZGVvY29kZWNmYWN0b3J5Lm1tCkBAIC0zMiw3ICszMiw3IEBAIGJvb2wgSXNI
aWdoUHJvZmlsZUVuYWJsZWQoKSB7CiBWaWRlb1Rvb2xib3hWaWRlb0VuY29kZXJGYWN0b3J5OjpW
aWRlb1Rvb2xib3hWaWRlb0VuY29kZXJGYWN0b3J5KCkKIHsKICNpZiBFTkFCTEVfVkNQX0VOQ09E
RVIKLSAgICBWUE1vZHVsZUluaXRpYWxpemUoKTsKKyAgICB3ZWJydGM6OlZQTW9kdWxlSW5pdGlh
bGl6ZSgpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9saWJ3ZWJydGMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAw
YmE3MTJjZmRmZWY0MmU0ZDk1YWQzMTM4MjU3OTY2ZTliZDc0M2U1Li4zYWZhYjg3Y2Q5N2MxNDU2
OWUzNWFhODI5MWQ4YzE5ZTgxNDQ2MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvbGlid2VicnRjLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL2xpYndlYnJ0Yy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNjcsNiArMTY3LDggQEAKIAkJNDE0RDcxMTkxRTRBRUIxMTAwMjNFNTI2IC8qIHNjdHBf
dXNlcnNwYWNlLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTRENzExODFFNEFFQjExMDAyM0U1MjYgLyogc2N0cF91c2Vyc3BhY2UuYyAqLzsgfTsKIAkJ
NDE2RDJGMTUxRkE4Q0NBRTAwMDk3MzQ1IC8qIGVuY29kZXJfdmNwLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZEMkYxMzFGQThDQ0FEMDAwOTczNDUg
LyogZW5jb2Rlcl92Y3AuaCAqLzsgfTsKIAkJNDE2RDJGMTYxRkE4Q0NBRTAwMDk3MzQ1IC8qIGVu
Y29kZXJfdmNwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE2RDJGMTQxRkE4Q0NBRDAwMDk3MzQ1IC8qIGVuY29kZXJfdmNwLm1tICovOyB9OworCQk0
MTdDRjc5OTIwMTIzOUFGMDAxQURGM0EgLyogVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3Q0Y3OTcyMDEy
MzlBRTAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmNwcCAqLzsgfTsKKwkJNDE3
Q0Y3OUEyMDEyMzlBRjAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdDRjc5ODIwMTIzOUFF
MDAxQURGM0EgLyogVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCAqLzsgfTsKIAkJNDE3REE0NTgx
RUY5Q0QwRDAwRTg2OURCIC8qIFJUQ1VJQXBwbGljYXRpb25TdGF0dXNPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0NTYxRUY5Q0Qw
QTAwRTg2OURCIC8qIFJUQ1VJQXBwbGljYXRpb25TdGF0dXNPYnNlcnZlci5oICovOyB9OwogCQk0
MUEzOTE3MzFFRkM0NDdDMDBDNDUxNkEgLyogc2hhMS1hbHRpdmVjLmMgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUEzOTE0RjFFRkM0NDZFMDBDNDUxNkEg
Lyogc2hhMS1hbHRpdmVjLmMgKi87IH07CiAJCTQxQTM5MTc0MUVGQzQ0N0MwMEM0NTE2QSAvKiBz
aGExLmMgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUEz
OTE1MDFFRkM0NDZFMDBDNDUxNkEgLyogc2hhMS5jICovOyB9OwpAQCAtMjkzNyw2ICsyOTM5LDgg
QEAKIAkJNDE2RDJGMTAxRkE4Q0MwNDAwMDk3MzQ1IC8qIFZpZGVvUHJvY2Vzc2luZy5mcmFtZXdv
cmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFw
cGVyLmZyYW1ld29yazsgbmFtZSA9IFZpZGVvUHJvY2Vzc2luZy5mcmFtZXdvcms7IHBhdGggPSBT
eXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9WaWRlb1Byb2Nlc3NpbmcuZnJhbWV3b3Jr
OyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJNDE2RDJGMTMxRkE4Q0NBRDAwMDk3MzQ1IC8q
IGVuY29kZXJfdmNwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IGVuY29kZXJf
dmNwLmg7IHBhdGggPSBWaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE2RDJGMTQxRkE4Q0NBRDAwMDk3MzQ1IC8qIGVuY29kZXJfdmNw
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gZW5jb2Rlcl92Y3Au
bW07IHBhdGggPSBWaWRlb1Byb2Nlc3NpbmcvZW5jb2Rlcl92Y3AubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxN0NGNzk3MjAxMjM5QUUwMDFBREYzQSAvKiBWaWRlb1Byb2Nlc3Np
bmdTb2Z0TGluay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBWaWRl
b1Byb2Nlc3NpbmdTb2Z0TGluay5jcHA7IHBhdGggPSBWaWRlb1Byb2Nlc3NpbmcvVmlkZW9Qcm9j
ZXNzaW5nU29mdExpbmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdDRjc5
ODIwMTIzOUFFMDAxQURGM0EgLyogVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaDsgcGF0aCA9
IFZpZGVvUHJvY2Vzc2luZy9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTdEQTQ1NjFFRjlDRDBBMDBFODY5REIgLyogUlRDVUlBcHBsaWNh
dGlvblN0YXR1c09ic2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFJU
Q1VJQXBwbGljYXRpb25TdGF0dXNPYnNlcnZlci5oOyBwYXRoID0gU291cmNlL3dlYnJ0Yy9zZGsv
b2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9Db21tb24vUlRDVUlBcHBsaWNhdGlvblN0YXR1c09ic2Vy
dmVyLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJNDFBMzkxNDUxRUZDNDQ2RTAw
QzQ1MTZBIC8qIHNoYTEtNTg2LnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgcGF0aCA9
ICJzaGExLTU4Ni5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTM5MTQ2MUVG
QzQ0NkUwMEM0NTE2QSAvKiBzaGExLWFybXY0LWxhcmdlLnBsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucGVybDsgcGF0aCA9ICJzaGExLWFybXY0LWxhcmdlLnBsIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTU2NTMsNiArNTY1Nyw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk0MTZE
MkYxMzFGQThDQ0FEMDAwOTczNDUgLyogZW5jb2Rlcl92Y3AuaCAqLywKIAkJCQk0MTZEMkYxNDFG
QThDQ0FEMDAwOTczNDUgLyogZW5jb2Rlcl92Y3AubW0gKi8sCisJCQkJNDE3Q0Y3OTcyMDEyMzlB
RTAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmNwcCAqLywKKwkJCQk0MTdDRjc5
ODIwMTIzOUFFMDAxQURGM0EgLyogVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCAqLywKIAkJCSk7
CiAJCQluYW1lID0gVmlkZW9Qcm9jZXNzaW5nOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTEwOTQwLDYgKzEwOTQ2LDcgQEAKIAkJCQk1QzRCNDkwNzFFNDJDMUUzMDAyNjUxQzggLyog
dmlkZW9jb21tb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVDRDI4NjI1MUU2QTY2NkQwMDk0RkRD
OCAvKiB2aWRlb2RlY29kZXJzb2Z0d2FyZWZhbGxiYWNrd3JhcHBlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUM0QjQ4OEExRTQyQzFCQTAwMjY1MUM4IC8qIHZpZGVvZW5jb2RlcnNvZnR3YXJlZmFs
bGJhY2t3cmFwcGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTdDRjc5QTIwMTIzOUFGMDAxQURG
M0EgLyogVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDNEI0
OTBBMUU0MkMxRTMwMDI2NTFDOCAvKiB2aWRlb3NpbmtpbnRlcmZhY2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTVDNEI0OTBDMUU0MkMxRTMwMDI2NTFDOCAvKiB2aWRlb3NvdXJjZWJhc2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTVDNEI0OTBEMUU0MkMxRTMwMDI2NTFDOCAvKiB2aWRlb3NvdXJjZWlu
dGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjY0MSw2ICsxMjY0OCw3IEBACiAJCQkJNUM0
QjQ5MDYxRTQyQzFFMzAwMjY1MUM4IC8qIHZpZGVvY29tbW9uLmNjIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNUNEMjg2MjQxRTZBNjY2RDAwOTRGREM4IC8qIHZpZGVvZGVjb2RlcnNvZnR3YXJlZmFsbGJh
Y2t3cmFwcGVyLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM0QjQ4ODkxRTQyQzFCQTAwMjY1MUM4
IC8qIHZpZGVvZW5jb2RlcnNvZnR3YXJlZmFsbGJhY2t3cmFwcGVyLmNjIGluIFNvdXJjZXMgKi8s
CisJCQkJNDE3Q0Y3OTkyMDEyMzlBRjAwMUFERjNBIC8qIFZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5r
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDNEI0OTBCMUU0MkMxRTMwMDI2NTFDOCAvKiB2aWRl
b3NvdXJjZWJhc2UuY2MgaW4gU291cmNlcyAqLywKIAkJCQk1Q0QyODUxNjFFNkE2MDU3MDA5NEZE
QzggLyogdmlkZW90cmFjay5jYyBpbiBTb3VyY2VzICovLAogCQkJCTVDRDI4NTE4MUU2QTYwNTcw
MDk0RkRDOCAvKiB2aWRlb3RyYWNrc291cmNlLmNjIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>