<?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>201192</bug_id>
          
          <creation_ts>2019-08-27 12:22:32 -0700</creation_ts>
          <short_desc>[LFC][TFC] Layout and position the cell boxes</short_desc>
          <delta_ts>2019-08-27 15:21:31 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1565451</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-08-27 12:22:32 -0700</bug_when>
    <thetext>This is a very basic and incorrect version of table layout. It&apos;s fine for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565452</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-27 12:24:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/54758638&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565457</commentid>
    <comment_count>2</comment_count>
      <attachid>377364</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-27 12:29:25 -0700</bug_when>
    <thetext>Created attachment 377364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565526</commentid>
    <comment_count>3</comment_count>
      <attachid>377384</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-27 14:28:14 -0700</bug_when>
    <thetext>Created attachment 377384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565552</commentid>
    <comment_count>4</comment_count>
      <attachid>377384</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-27 15:21:29 -0700</bug_when>
    <thetext>Comment on attachment 377384
Patch

Clearing flags on attachment: 377384

Committed r249177: &lt;https://trac.webkit.org/changeset/249177&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1565553</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-27 15:21:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377364</attachid>
            <date>2019-08-27 12:29:25 -0700</date>
            <delta_ts>2019-08-27 14:28:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201192-20190827122924.patch</filename>
            <type>text/plain</type>
            <size>17073</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QwNGIxNmU3ZGE3ODY2
Nzk0YWEzOWVlZTc2NzgwODZiODAwMjY5NC4uN2VkMDBmNDM2NjdlN2U5ZjA5YjZjYTg1ZGVlODE3
YTk1MmY4YWE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA4LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBMYXlvdXQg
YW5kIHBvc2l0aW9uIHRoZSBjZWxsIGJveGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDExOTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzU4
NjM4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBhIHZlcnkgYmFzaWMgKGFuZCBmYWlseSBpbmNvbXBsZXRlKSB0YWJsZSBjZWxsIGxheW91dCBs
b2dpYy4gVGhpcyBpcyBtb3N0bHkgV0lQLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0
Um9vdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3Jt
YXR0aW5nQ29udGV4dDo6bGF5b3V0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRUYWJsZVdpZHRoIGNvbnN0KToKKyAgICAg
ICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRp
bmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpU
YWJsZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6dGFibGVDZWxsSGVpZ2h0QW5kTWFyZ2lu
KToKKyAgICAgICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVm
dCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OmxvZ2ljYWxSaWdo
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Um93OjpzZXRM
b2dpY2FsVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpSb3c6Omxv
Z2ljYWxUb3AgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OlJv
dzo6c2V0TG9naWNhbEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3Jp
ZDo6Um93Ojpsb2dpY2FsSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
VGFibGVHcmlkOjpSb3c6OmxvZ2ljYWxCb3R0b20gY29uc3QpOgorCiAyMDE5LTA4LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bVEZDXSBBbGlnbiB0
YWJsZSBmb3JtYXR0aW5nIGNvbnRleHQgY29kZSB3aXRoIHRoZSBleGlzdGluZyBsYXlvdXQgbG9n
aWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDhhNTQwZDRjMTA3Nzg1OTFiZTFjMTlhMzE0YzM2MTllODBh
YmM3MmMuLjFjNGM0ZDBmNGQzYjE5Y2FmZDdkMDZhMTAxMGFkMGE5YmY3ODRkNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0xNDE3LDYgKzE0MTcsNyBAQCBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250
YWluZXIuY3BwCiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZC5jcHAKIGxheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxl
Rm9ybWF0dGluZ1N0YXRlLmNwcAogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3Bw
CiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlSW52YWxpZGF0aW9uLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg4YTZi
OGM1ZGE3Y2I5YTY3NWIxNzZmMDhkMjI5OGUxNzE3ZGE5YWUuLjk3YTkwYjI5YTE2Nzk2ODUwNDU1
YTJhN2MzNjk1YWQ3MDg3NWY3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU4NDEsNiArNTg0MSw3IEBACiAJCTExQzVGMTM0
MjAwNTI3RjkwMDAxQUU2MCAvKiBSZW5kZXJUcmVlQnVpbGRlck1hdGhNTC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlck1hdGhNTC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxMUNCMjc4NjIwM0JBNTcwMDA0QTFEQzkgLyogUmVuZGVy
VHJlZUJ1aWxkZXJGdWxsU2NyZWVuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVC
dWlsZGVyRnVsbFNjcmVlbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExQ0Iy
Nzg3MjAzQkE1NzAwMDRBMURDOSAvKiBSZW5kZXJUcmVlQnVpbGRlckZ1bGxTY3JlZW4uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyVHJlZUJ1aWxkZXJGdWxsU2NyZWVuLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTExRDE5QzJFMjMxNTlCQUUwMDhGMjREMyAvKiBUYWJsZUZvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGFibGVGb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTFFMDY3
RUIxRTYyNDYxMzAwMTYyRDE2IC8qIFNpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMUUwNjdFRDFFNjI0NkU1MDAxNjJE
MTYgLyogU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxMUZGMDJENTIwQkEzQzgxMDA4M0YyNUIgLyogVmVyaWZpY2F0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFZlcmlmaWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMDQ1Myw2ICsyMDQ1NCw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk2RkM1
Q0E5NDIyRTM1OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgKi8sCiAJ
CQkJNkZDNUNBOTUyMkUzNTk5NDAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQuaCAq
LywKKwkJCQkxMUQxOUMyRTIzMTU5QkFFMDA4RjI0RDMgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcCAqLywKIAkJCQk2RkM1Q0E5MjIyRTM1OTkzMDBCMTNFMTEgLyogVGFibGVG
b3JtYXR0aW5nU3RhdGUuY3BwICovLAogCQkJCTZGQzVDQTk2MjJFMzU5OTUwMEIxM0UxMSAvKiBU
YWJsZUZvcm1hdHRpbmdTdGF0ZS5oICovLAogCQkJCTZGNUI3RUFBMjMwMEE3OUUwMDY3RDlDMyAv
KiBUYWJsZUdyaWQuY3BwICovLApAQCAtMzA2MDQsNiArMzA2MDYsNyBAQAogCQkJCTg0NzMwRDkx
MTI0OEYwQjMwMEQzQTlDOSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
Mjc5NjUwRDAwQkYyMjAwNzFCNzgyIC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZhbHVl
LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDg0QTMzRTIzMDU1MzI1MDA5QURFNkEgLyogTGluZUxh
eW91dEludGVyZmFjZVRleHRCb3hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZFRkFCMkExODM4
MERBMDAwNTE0NTM0IC8qIExpbmVMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZE
QkMwNDcxODNEMjdCNzAwNDA3MTA5IC8qIExpbmVXaWR0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0JBOURDMEIxREY0NERGNDAwMDU2NzVDIC8qIExpbmtIZWFkZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMzE5MjIsNyArMzE5MjUsNiBAQAogCQkJCUIyQzNEQTNFMEQwMDZDMUQwMEVGNkYyNiAvKiBU
ZXh0Q29kZWNMYXRpbjEuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RUY1RTYwMUQyMEM4MzkwMDE3
MUU2MCAvKiBUZXh0Q29kZWNSZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RB
NDAwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VzZXJEZWZpbmVkLmggaW4gSGVhZGVycyAq
LywKLQkJCQlFNDg0QTMzRTIzMDU1MzI1MDA5QURFNkEgLyogTGluZUxheW91dEludGVyZmFjZVRl
eHRCb3hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNDIwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRDb2RlY1VURjE2LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzQzQ0I4MjEyRjI1RTUxMDAz
M0M1RUUgLyogVGV4dENvZGVjVVRGOC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyQjk3Q0ExMzEz
ODk0MzAwOEJFRjRCIC8qIFRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDZkODAyYWJh
MWJmNDQ2NjUwNWEzNzZlNzE4OWM5NGE4Mjk5ZTE0YmEuLjM3MGI3MmI1ZjU2NDJhZWJjNjNmMjlj
Mjk2ZWZmMzRjZTI1NGQ0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29u
dGV4dC5oCkBAIC0xMTIsNiArMTEyLDggQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIHN0YXRpYyBG
b3JtYXR0aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb25zdHJhaW5CeU1p
bk1heFdpZHRoKGNvbnN0IEJveCYsIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMpOwogCisgICAg
ICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJv
b3QoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKKwogICAgIHByb3RlY3RlZDoKICAg
ICAgICAgZW51bSBjbGFzcyBIZWlnaHRUeXBlIHsgTWluLCBNYXgsIE5vcm1hbCB9OwogICAgICAg
ICBzdGF0aWMgT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZWRIZWlnaHRWYWx1ZShjb25zdCBM
YXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIEhlaWdodFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDhlNDQwMThi
MjFiZWMwNWExZGY4NzQ1MWE4NGJlMWY0Y2ZhZGU4YjQuLjM5ZjY0NjIyNTA0NGNlMTU2NjdjMmFm
YWM1NzEwY2UxZmYwNDM1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgT3B0aW9uYWw8TGF5
b3V0VW5pdD4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZEhlaWdodFZhbHVl
KGNvbnN0IExheW8KICAgICByZXR1cm4gdmFsdWVGb3JMZW5ndGgoaGVpZ2h0LCAqY29udGFpbmlu
Z0Jsb2NrSGVpZ2h0VmFsdWUpOwogfQogCi1zdGF0aWMgTGF5b3V0VW5pdCBjb250ZW50SGVpZ2h0
Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwg
Y29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0Um9vdChjb25zdCBMYXlvdXRT
dGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIEFTU0VSVChp
c0hlaWdodEF1dG8obGF5b3V0Qm94KSAmJiAobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGlu
Z0NvbnRleHQoKSB8fCBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpKSk7CiAKQEAgLTEyNiw5ICsx
MjYsOSBAQCBzdGF0aWMgTGF5b3V0VW5pdCBjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRl
eHRSb290KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdQogICAgIH0gZWxzZSBpZiAoZm9ybWF0dGlu
Z1Jvb3RDb250YWluZXIuZXN0YWJsaXNoZXNUYWJsZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAg
ICAgICAgYXV0byYgcm93TGlzdCA9IGRvd25jYXN0PFRhYmxlRm9ybWF0dGluZ1N0YXRlPihsYXlv
dXRTdGF0ZS5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShmb3JtYXR0aW5nUm9vdENvbnRhaW5l
cikpLnRhYmxlR3JpZCgpLnJvd3MoKTsKICAgICAgICAgQVNTRVJUKCFyb3dMaXN0LmlzRW1wdHko
KSk7Ci0gICAgICAgIHRvcCArPSByb3dMaXN0LmZpcnN0KCkub2Zmc2V0OworICAgICAgICB0b3Ag
Kz0gcm93TGlzdC5maXJzdCgpLmxvZ2ljYWxUb3AoKTsKICAgICAgICAgYXV0byYgbGFzdFJvdyA9
IHJvd0xpc3QubGFzdCgpOwotICAgICAgICBib3R0b20gKz0gbGFzdFJvdy5vZmZzZXQgKyBsYXN0
Um93LmhlaWdodDsKKyAgICAgICAgYm90dG9tICs9IGxhc3RSb3cubG9naWNhbEJvdHRvbSgpOwog
ICAgIH0gZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKaW5kZXggM2I1MGJlYTBkZGI2ODEwMjI5YjNlNDdkNWNkZWJlMjc0
Yzc0NmMwYS4uN2ZlZDBkZGM2NGI0ODZjNzBlMzViZDBmZWQzYWJhNDA0OThlNmVhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5n
L1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC00NSw3ICs0NSw0NSBAQCBUYWJsZUZvcm1h
dHRpbmdDb250ZXh0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGlu
Z0NvbnRleHRSb290LAogCiB2b2lkIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dCgpIGNv
bnN0CiB7Ci0gICAgQVNTRVJUKCFmb3JtYXR0aW5nU3RhdGUoKS50YWJsZUdyaWQoKS5jZWxscygp
LmlzRW1wdHkoKSk7CisgICAgYXV0byYgZ3JpZCA9IGZvcm1hdHRpbmdTdGF0ZSgpLnRhYmxlR3Jp
ZCgpOworICAgIGF1dG8mIGNlbGxMaXN0ID0gZ3JpZC5jZWxscygpOworICAgIEFTU0VSVCghY2Vs
bExpc3QuaXNFbXB0eSgpKTsKKyAgICAvLyBMYXlvdXQgYW5kIHBvc2l0aW9uIGVhY2ggdGFibGUg
Y2VsbCAoYW5kIGNvbXB1dGUgcm93IGhlaWdodCBhcyB3ZWxsKS4KKyAgICBhdXRvJiBsYXlvdXRT
dGF0ZSA9IHRoaXMtPmxheW91dFN0YXRlKCk7CisgICAgYXV0byYgY29sdW1uTGlzdCA9IGdyaWQu
Y29sdW1uc0NvbnRleHQoKS5jb2x1bW5zKCk7CisgICAgYXV0byYgcm93TGlzdCA9IGdyaWQucm93
cygpOworICAgIGZvciAoYXV0byYgY2VsbCA6IGNlbGxMaXN0KSB7CisgICAgICAgIGF1dG8mIGNl
bGxMYXlvdXRCb3ggPSBjZWxsLT50YWJsZUNlbGxCb3g7CisgICAgICAgIEFTU0VSVChjZWxsTGF5
b3V0Qm94LmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpKTsKKworICAgICAgICBh
dXRvJiBjZWxsRGlzcGxheUJveCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3go
Y2VsbExheW91dEJveCk7CisgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgY29sdW1u
IGFuZCByb3cgc3Bhbm5pbmcuCisgICAgICAgIGF1dG8gY2VsbFBvc2l0aW9uID0gY2VsbC0+cG9z
aXRpb247CisgICAgICAgIGF1dG8mIHJvdyA9IHJvd0xpc3QuYXQoY2VsbFBvc2l0aW9uLnkoKSk7
CisgICAgICAgIGF1dG8mIGNvbHVtbiA9IGNvbHVtbkxpc3QuYXQoY2VsbFBvc2l0aW9uLngoKSk7
CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChjb2x1bW4ubG9naWNh
bFdpZHRoKCkpOworICAgICAgICAvLyBGSVhNRTogRG8gbm90IHVzZSBibGFua3MuCisgICAgICAg
IGNlbGxEaXNwbGF5Qm94LnNldEJvcmRlcih7IH0pOworICAgICAgICBjZWxsRGlzcGxheUJveC5z
ZXRQYWRkaW5nKHsgfSk7CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldEhvcml6b250YWxNYXJn
aW4oeyB9KTsKKyAgICAgICAgY2VsbERpc3BsYXlCb3guc2V0SG9yaXpvbnRhbENvbXB1dGVkTWFy
Z2luKHsgfSk7CisKKyAgICAgICAgY2VsbERpc3BsYXlCb3guc2V0VG9wTGVmdCh7IGNvbHVtbi5s
b2dpY2FsTGVmdCgpLCByb3cubG9naWNhbFRvcCgpIH0pOworCisgICAgICAgIGxheW91dFN0YXRl
LmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNlbGxMYXlvdXRCb3gpLT5sYXlvdXQoKTsKKworICAg
ICAgICAvLyBGSVhNRTogVGhpcyByZXF1aXJlcyBhIDIgcGFzcyBsYXlvdXQuCisgICAgICAgIGF1
dG8gaGVpZ2h0QW5kTWFyZ2luID0gR2VvbWV0cnk6OnRhYmxlQ2VsbEhlaWdodEFuZE1hcmdpbihs
YXlvdXRTdGF0ZSwgY2VsbExheW91dEJveCk7CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldENv
bnRlbnRCb3hIZWlnaHQoaGVpZ2h0QW5kTWFyZ2luLmhlaWdodCk7CisgICAgICAgIGNlbGxEaXNw
bGF5Qm94LnNldFZlcnRpY2FsTWFyZ2luKHsgaGVpZ2h0QW5kTWFyZ2luLm5vbkNvbGxhcHNlZE1h
cmdpbiwgeyB9IH0pOworCisgICAgICAgIHJvdy5zZXRMb2dpY2FsSGVpZ2h0KHN0ZDo6bWF4KHJv
dy5sb2dpY2FsSGVpZ2h0KCksIGhlaWdodEFuZE1hcmdpbi5oZWlnaHQpKTsKKyAgICAgICAgLy8g
RklYTUU6IFRoaXMgYWxzbyByZXF1aXJlcyBzcGFubmluZyBzdXBwb3J0L2NoZWNrLgorICAgICAg
ICBpZiAoIWNlbGxQb3NpdGlvbi54KCkgJiYgY2VsbFBvc2l0aW9uLnkoKSkgeworICAgICAgICAg
ICAgYXV0byYgcHJldmlvdXNSb3cgPSByb3dMaXN0LmF0KGNlbGxQb3NpdGlvbi55KCkgLSAxKTsK
KyAgICAgICAgICAgIHJvdy5zZXRMb2dpY2FsVG9wKHByZXZpb3VzUm93LmxvZ2ljYWxCb3R0b20o
KSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIEZvcm1hdHRpbmdDb250ZXh0OjpJbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVkSW50cmluc2lj
V2lkdGhDb25zdHJhaW50cygpIGNvbnN0CkBAIC0xNjMsNyArMjAxLDEzIEBAIExheW91dFVuaXQg
VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRUYWJsZVdpZHRoKCkgY29uc3QKICAgICAg
ICAgICAgIGRpc3RyaWJ1dGVBdmFpbGFibGVXaWR0aCgqd2lkdGggLSB0YWJsZVdpZHRoQ29uc3Ry
YWludHMubWluaW11bSk7CiAgICAgICAgIH0KICAgICB9Ci0KKyAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgYWxzbyBkZWFsIHdpdGggY29sbGFwc2luZyBib3JkZXJzIGV0Yy4KKyAgICBMYXlvdXRV
bml0IGNvbHVtbkxvZ2ljYWxMZWZ0OworICAgIGF1dG8mIGNvbHVtbnMgPSBjb2x1bW5zQ29udGV4
dC5jb2x1bW5zKCk7CisgICAgZm9yIChhdXRvJiBjb2x1bW4gOiBjb2x1bW5zKSB7CisgICAgICAg
IGNvbHVtbi5zZXRMb2dpY2FsTGVmdChjb2x1bW5Mb2dpY2FsTGVmdCk7CisgICAgICAgIGNvbHVt
bkxvZ2ljYWxMZWZ0ICs9IGNvbHVtbi5sb2dpY2FsV2lkdGgoKTsKKyAgICB9CiAgICAgcmV0dXJu
IHVzZWRXaWR0aDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxl
Zm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCAxZWEyMjQy
ZmUxMjA2M2RiNWU5MmIyMTBmMzRjZTUwNDlmMTZlZTUwLi41NzZiMDM1Zjg2YThjMTIzODA0NGU3
MzVjOTVkY2JiOWIwYmRkNzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFi
bGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNDMs
NiArNDMsMTEgQEAgcHVibGljOgogICAgIHZvaWQgbGF5b3V0KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
IHByaXZhdGU6CisgICAgY2xhc3MgR2VvbWV0cnkgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBIZWlnaHRBbmRNYXJnaW4g
dGFibGVDZWxsSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7
CisgICAgfTsKKwogICAgIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5z
aWNXaWR0aENvbnN0cmFpbnRzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBjb21w
dXRlZFRhYmxlV2lkdGgoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0MDk4NWMwNDY5NzE1MmY1MTU0NDliNTEwZDQy
MjU4M2E4ZTNlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFi
bGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0LmgiCisKKyNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkKKworI2luY2x1ZGUgIkZvcm1hdHRpbmdDb250ZXh0LmgiCisjaW5jbHVkZSAiTGF5b3V0
Qm94LmgiCisjaW5jbHVkZSAiTGF5b3V0U3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
bmFtZXNwYWNlIExheW91dCB7CisKK0hlaWdodEFuZE1hcmdpbiBUYWJsZUZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6dGFibGVDZWxsSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dFN0YXRl
JiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCit7CisgICAgQVNTRVJUKGxheW91
dEJveC5pc0luRmxvdygpKTsKKworICAgIGF1dG8gaGVpZ2h0ID0gY29tcHV0ZWRIZWlnaHRWYWx1
ZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCBIZWlnaHRUeXBlOjpOb3JtYWwpOworICAgIGlmICgh
aGVpZ2h0KQorICAgICAgICBoZWlnaHQgPSBHZW9tZXRyeTo6Y29udGVudEhlaWdodEZvckZvcm1h
dHRpbmdDb250ZXh0Um9vdChsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KTsKKworICAgIC8vIEZJWE1F
OiBDb21wdXRlIHZlcnRpY2FsIG1hcmdpbiB2YWx1ZXMuCisgICAgcmV0dXJuIEhlaWdodEFuZE1h
cmdpbiB7ICpoZWlnaHQsIHsgfSB9OworfQorCit9Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwCmluZGV4IDNl
NmJkZjM5YjJkNzBlMDRjNzFmMDM5NDE3NzRhYzUwYTJjYmZiNWQuLjIxNDExYmUxZTkzODNhZjA2
NWIxYmVjYmI2NjI3MGFiMjY2MzY3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAKQEAgLTYzLDYgKzYzLDIwIEBAIExheW91
dFVuaXQgVGFibGVHcmlkOjpDb2x1bW46OmxvZ2ljYWxXaWR0aCgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fY29tcHV0ZWRMb2dpY2FsV2lkdGg7CiB9CiAKK3ZvaWQgVGFibGVHcmlkOjpDb2x1bW46OnNl
dExvZ2ljYWxMZWZ0KExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsTGVmdCkKK3sKKyNpZm5kZWYg
TkRFQlVHCisgICAgbV9oYXNDb21wdXRlZExlZnQgPSB0cnVlOworI2VuZGlmCisgICAgbV9jb21w
dXRlZExvZ2ljYWxMZWZ0ID0gY29tcHV0ZWRMb2dpY2FsTGVmdDsKK30KKworTGF5b3V0VW5pdCBU
YWJsZUdyaWQ6OkNvbHVtbjo6bG9naWNhbExlZnQoKSBjb25zdAoreworICAgIEFTU0VSVChtX2hh
c0NvbXB1dGVkTGVmdCk7CisgICAgcmV0dXJuIG1fY29tcHV0ZWRMb2dpY2FsTGVmdDsKK30KKwog
dm9pZCBUYWJsZUdyaWQ6OkNvbHVtbnNDb250ZXh0OjphZGRDb2x1bW4oKQogewogICAgIG1fY29s
dW1ucy5hcHBlbmQoeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJs
ZWZvcm1hdHRpbmcvVGFibGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3Jt
YXR0aW5nL1RhYmxlR3JpZC5oCmluZGV4IDZiZGViNzg4YWI1OTIwYjhmMTgyODM1MmQzNTRkMzM4
Mzg3MmRjZWUuLjgxNjhkNmM4Yjg4NDNmOGU1ZWFjYjRhNjJjZDUzZjBkMTQ4Nzk5ZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaApA
QCAtNzEsMTUgKzcxLDIyIEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgo
TGF5b3V0VW5pdCk7CiAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3Q7CiAK
KyAgICAgICAgdm9pZCBzZXRMb2dpY2FsTGVmdChMYXlvdXRVbml0KTsKKyAgICAgICAgTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdCgpIGNvbnN0OworCisgICAgICAgIExheW91dFVuaXQgbG9naWNhbFJp
Z2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQoKSArIGxvZ2ljYWxXaWR0aCgpOyB9CisK
ICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgQ29sdW1uc0NvbnRleHQ7CiAgICAg
ICAgIENvbHVtbigpID0gZGVmYXVsdDsKIAogICAgICAgICBGb3JtYXR0aW5nQ29udGV4dDo6SW50
cmluc2ljV2lkdGhDb25zdHJhaW50cyBtX3dpZHRoQ29uc3RyYWludHM7CiAgICAgICAgIExheW91
dFVuaXQgbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1
dGVkTG9naWNhbExlZnQ7CiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBib29sIG1faGFzV2lkdGhD
b25zdHJhaW50cyB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbV9oYXNDb21wdXRlZFdpZHRoIHsg
ZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc0NvbXB1dGVkTGVmdCB7IGZhbHNlIH07CiAjZW5k
aWYKICAgICB9OwogCkBAIC0xMDEsOCArMTA4LDE4IEBAIHB1YmxpYzoKICAgICBDb2x1bW5zQ29u
dGV4dCYgY29sdW1uc0NvbnRleHQoKSB7IHJldHVybiBtX2NvbHVtbnNDb250ZXh0OyB9CiAKICAg
ICBzdHJ1Y3QgUm93IHsKLSAgICAgICAgTGF5b3V0VW5pdCBvZmZzZXQ7Ci0gICAgICAgIExheW91
dFVuaXQgaGVpZ2h0OworICAgIHB1YmxpYzoKKyAgICAgICAgdm9pZCBzZXRMb2dpY2FsVG9wKExh
eW91dFVuaXQgbG9naWNhbFRvcCkgeyBtX2xvZ2ljYWxUb3AgPSBsb2dpY2FsVG9wOyB9CisgICAg
ICAgIExheW91dFVuaXQgbG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFRvcDsg
fQorCisgICAgICAgIHZvaWQgc2V0TG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWln
aHQpIHsgbV9sb2dpY2FsSGVpZ2h0ID0gbG9naWNhbEhlaWdodDsgfQorICAgICAgICBMYXlvdXRV
bml0IGxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxIZWlnaHQ7IH0KKwor
ICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20oKSBjb25zdCB7IHJldHVybiBsb2dpY2Fs
VG9wKCkgKyBsb2dpY2FsSGVpZ2h0KCk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIExheW91
dFVuaXQgbV9sb2dpY2FsVG9wOworICAgICAgICBMYXlvdXRVbml0IG1fbG9naWNhbEhlaWdodDsK
ICAgICB9OwogICAgIHVzaW5nIFJvd0xpc3QgPSBXVEY6OlZlY3RvcjxSb3c+OwogICAgIFJvd0xp
c3QmIHJvd3MoKSB7IHJldHVybiBtX3Jvd3M7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377384</attachid>
            <date>2019-08-27 14:28:14 -0700</date>
            <delta_ts>2019-08-27 15:21:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201192-20190827142814.patch</filename>
            <type>text/plain</type>
            <size>17073</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTllZDIwM2I2MjkzNDI1
MDBiNWNlYjhhNDcxNDc0NDczMzc3YjUyMi4uZmU1YzRhZjQ0ZTJmNDJiMWYxNDIzYzNiM2JhYjc3
NmY1YzdjNGYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTA4LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bVEZDXSBMYXlvdXQg
YW5kIHBvc2l0aW9uIHRoZSBjZWxsIGJveGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDExOTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NzU4
NjM4PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIEFk
ZCBhIHZlcnkgYmFzaWMgKGFuZCBmYWlseSBpbmNvbXBsZXRlKSB0YWJsZSBjZWxsIGxheW91dCBs
b2dpYy4gVGhpcyBpcyBtb3N0bHkgV0lQLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGxheW91
dC9Gb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0
Um9vdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVGb3Jt
YXR0aW5nQ29udGV4dDo6bGF5b3V0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRUYWJsZVdpZHRoIGNvbnN0KToKKyAgICAg
ICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaDoKKyAg
ICAgICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRp
bmcvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpU
YWJsZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6dGFibGVDZWxsSGVpZ2h0QW5kTWFyZ2lu
KToKKyAgICAgICAgKiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpzZXRMb2dpY2FsTGVmdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Q29sdW1uOjpsb2dpY2FsTGVm
dCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpDb2x1bW46OmxvZ2ljYWxSaWdo
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3JpZDo6Um93OjpzZXRM
b2dpY2FsVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6VGFibGVHcmlkOjpSb3c6Omxv
Z2ljYWxUb3AgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUYWJsZUdyaWQ6OlJv
dzo6c2V0TG9naWNhbEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRhYmxlR3Jp
ZDo6Um93Ojpsb2dpY2FsSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
VGFibGVHcmlkOjpSb3c6OmxvZ2ljYWxCb3R0b20gY29uc3QpOgorCiAyMDE5LTA4LTI3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bVEZDXSBBbGlnbiB0
YWJsZSBmb3JtYXR0aW5nIGNvbnRleHQgY29kZSB3aXRoIHRoZSBleGlzdGluZyBsYXlvdXQgbG9n
aWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDhhNTQwZDRjMTA3Nzg1OTFiZTFjMTlhMzE0YzM2MTllODBh
YmM3MmMuLjFjNGM0ZDBmNGQzYjE5Y2FmZDdkMDZhMTAxMGFkMGE5YmY3ODRkNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0xNDE3LDYgKzE0MTcsNyBAQCBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250
YWluZXIuY3BwCiBsYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNlZC5jcHAKIGxheW91dC9s
YXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9U
YWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcAorbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxl
Rm9ybWF0dGluZ1N0YXRlLmNwcAogbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3Bw
CiBsYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlSW52YWxpZGF0aW9uLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg4YTZi
OGM1ZGE3Y2I5YTY3NWIxNzZmMDhkMjI5OGUxNzE3ZGE5YWUuLjk3YTkwYjI5YTE2Nzk2ODUwNDU1
YTJhN2MzNjk1YWQ3MDg3NWY3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU4NDEsNiArNTg0MSw3IEBACiAJCTExQzVGMTM0
MjAwNTI3RjkwMDAxQUU2MCAvKiBSZW5kZXJUcmVlQnVpbGRlck1hdGhNTC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUcmVlQnVpbGRlck1hdGhNTC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxMUNCMjc4NjIwM0JBNTcwMDA0QTFEQzkgLyogUmVuZGVy
VHJlZUJ1aWxkZXJGdWxsU2NyZWVuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclRyZWVC
dWlsZGVyRnVsbFNjcmVlbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTExQ0Iy
Nzg3MjAzQkE1NzAwMDRBMURDOSAvKiBSZW5kZXJUcmVlQnVpbGRlckZ1bGxTY3JlZW4uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyVHJlZUJ1aWxkZXJGdWxsU2NyZWVuLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTExRDE5QzJFMjMxNTlCQUUwMDhGMjREMyAvKiBUYWJsZUZvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGFibGVGb3JtYXR0aW5n
Q29udGV4dEdlb21ldHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTFFMDY3
RUIxRTYyNDYxMzAwMTYyRDE2IC8qIFNpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW1wbGVMaW5lTGF5b3V0Q292ZXJhZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxMUUwNjdFRDFFNjI0NkU1MDAxNjJE
MTYgLyogU2ltcGxlTGluZUxheW91dENvdmVyYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNpbXBsZUxpbmVMYXlvdXRDb3ZlcmFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxMUZGMDJENTIwQkEzQzgxMDA4M0YyNUIgLyogVmVyaWZpY2F0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFZlcmlmaWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMDQ1Myw2ICsyMDQ1NCw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk2RkM1
Q0E5NDIyRTM1OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgKi8sCiAJ
CQkJNkZDNUNBOTUyMkUzNTk5NDAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQuaCAq
LywKKwkJCQkxMUQxOUMyRTIzMTU5QkFFMDA4RjI0RDMgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4
dEdlb21ldHJ5LmNwcCAqLywKIAkJCQk2RkM1Q0E5MjIyRTM1OTkzMDBCMTNFMTEgLyogVGFibGVG
b3JtYXR0aW5nU3RhdGUuY3BwICovLAogCQkJCTZGQzVDQTk2MjJFMzU5OTUwMEIxM0UxMSAvKiBU
YWJsZUZvcm1hdHRpbmdTdGF0ZS5oICovLAogCQkJCTZGNUI3RUFBMjMwMEE3OUUwMDY3RDlDMyAv
KiBUYWJsZUdyaWQuY3BwICovLApAQCAtMzA2MDQsNiArMzA2MDYsNyBAQAogCQkJCTg0NzMwRDkx
MTI0OEYwQjMwMEQzQTlDOSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
Mjc5NjUwRDAwQkYyMjAwNzFCNzgyIC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZhbHVl
LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDg0QTMzRTIzMDU1MzI1MDA5QURFNkEgLyogTGluZUxh
eW91dEludGVyZmFjZVRleHRCb3hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZFRkFCMkExODM4
MERBMDAwNTE0NTM0IC8qIExpbmVMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkZE
QkMwNDcxODNEMjdCNzAwNDA3MTA5IC8qIExpbmVXaWR0aC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0JBOURDMEIxREY0NERGNDAwMDU2NzVDIC8qIExpbmtIZWFkZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMzE5MjIsNyArMzE5MjUsNiBAQAogCQkJCUIyQzNEQTNFMEQwMDZDMUQwMEVGNkYyNiAvKiBU
ZXh0Q29kZWNMYXRpbjEuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3RUY1RTYwMUQyMEM4MzkwMDE3
MUU2MCAvKiBUZXh0Q29kZWNSZXBsYWNlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RB
NDAwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VzZXJEZWZpbmVkLmggaW4gSGVhZGVycyAq
LywKLQkJCQlFNDg0QTMzRTIzMDU1MzI1MDA5QURFNkEgLyogTGluZUxheW91dEludGVyZmFjZVRl
eHRCb3hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNDIwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRDb2RlY1VURjE2LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzQzQ0I4MjEyRjI1RTUxMDAz
M0M1RUUgLyogVGV4dENvZGVjVVRGOC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyQjk3Q0ExMzEz
ODk0MzAwOEJFRjRCIC8qIFRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGluIEhlYWRlcnMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDZkODAyYWJh
MWJmNDQ2NjUwNWEzNzZlNzE4OWM5NGE4Mjk5ZTE0YmEuLjM3MGI3MmI1ZjU2NDJhZWJjNjNmMjlj
Mjk2ZWZmMzRjZTI1NGQ0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29u
dGV4dC5oCkBAIC0xMTIsNiArMTEyLDggQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIHN0YXRpYyBG
b3JtYXR0aW5nQ29udGV4dDo6SW50cmluc2ljV2lkdGhDb25zdHJhaW50cyBjb25zdHJhaW5CeU1p
bk1heFdpZHRoKGNvbnN0IEJveCYsIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMpOwogCisgICAg
ICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbnRlbnRIZWlnaHRGb3JGb3JtYXR0aW5nQ29udGV4dFJv
b3QoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKKwogICAgIHByb3RlY3RlZDoKICAg
ICAgICAgZW51bSBjbGFzcyBIZWlnaHRUeXBlIHsgTWluLCBNYXgsIE5vcm1hbCB9OwogICAgICAg
ICBzdGF0aWMgT3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZWRIZWlnaHRWYWx1ZShjb25zdCBM
YXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIEhlaWdodFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDhlNDQwMThi
MjFiZWMwNWExZGY4NzQ1MWE4NGJlMWY0Y2ZhZGU4YjQuLjM5ZjY0NjIyNTA0NGNlMTU2NjdjMmFm
YWM1NzEwY2UxZmYwNDM1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9y
bWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgT3B0aW9uYWw8TGF5
b3V0VW5pdD4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZEhlaWdodFZhbHVl
KGNvbnN0IExheW8KICAgICByZXR1cm4gdmFsdWVGb3JMZW5ndGgoaGVpZ2h0LCAqY29udGFpbmlu
Z0Jsb2NrSGVpZ2h0VmFsdWUpOwogfQogCi1zdGF0aWMgTGF5b3V0VW5pdCBjb250ZW50SGVpZ2h0
Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwg
Y29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6Y29udGVudEhlaWdodEZvckZvcm1hdHRpbmdDb250ZXh0Um9vdChjb25zdCBMYXlvdXRT
dGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIEFTU0VSVChp
c0hlaWdodEF1dG8obGF5b3V0Qm94KSAmJiAobGF5b3V0Qm94LmVzdGFibGlzaGVzRm9ybWF0dGlu
Z0NvbnRleHQoKSB8fCBsYXlvdXRCb3guaXNEb2N1bWVudEJveCgpKSk7CiAKQEAgLTEyNiw5ICsx
MjYsOSBAQCBzdGF0aWMgTGF5b3V0VW5pdCBjb250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRl
eHRSb290KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdQogICAgIH0gZWxzZSBpZiAoZm9ybWF0dGlu
Z1Jvb3RDb250YWluZXIuZXN0YWJsaXNoZXNUYWJsZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAg
ICAgICAgYXV0byYgcm93TGlzdCA9IGRvd25jYXN0PFRhYmxlRm9ybWF0dGluZ1N0YXRlPihsYXlv
dXRTdGF0ZS5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShmb3JtYXR0aW5nUm9vdENvbnRhaW5l
cikpLnRhYmxlR3JpZCgpLnJvd3MoKTsKICAgICAgICAgQVNTRVJUKCFyb3dMaXN0LmlzRW1wdHko
KSk7Ci0gICAgICAgIHRvcCArPSByb3dMaXN0LmZpcnN0KCkub2Zmc2V0OworICAgICAgICB0b3Ag
Kz0gcm93TGlzdC5maXJzdCgpLmxvZ2ljYWxUb3AoKTsKICAgICAgICAgYXV0byYgbGFzdFJvdyA9
IHJvd0xpc3QubGFzdCgpOwotICAgICAgICBib3R0b20gKz0gbGFzdFJvdy5vZmZzZXQgKyBsYXN0
Um93LmhlaWdodDsKKyAgICAgICAgYm90dG9tICs9IGxhc3RSb3cubG9naWNhbEJvdHRvbSgpOwog
ICAgIH0gZWxzZQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVGb3Jt
YXR0aW5nQ29udGV4dC5jcHAKaW5kZXggM2I1MGJlYTBkZGI2ODEwMjI5YjNlNDdkNWNkZWJlMjc0
Yzc0NmMwYS4uN2ZlZDBkZGM2NGI0ODZjNzBlMzViZDBmZWQzYWJhNDA0OThlNmVhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5n
L1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC00NSw3ICs0NSw0NSBAQCBUYWJsZUZvcm1h
dHRpbmdDb250ZXh0OjpUYWJsZUZvcm1hdHRpbmdDb250ZXh0KGNvbnN0IEJveCYgZm9ybWF0dGlu
Z0NvbnRleHRSb290LAogCiB2b2lkIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dCgpIGNv
bnN0CiB7Ci0gICAgQVNTRVJUKCFmb3JtYXR0aW5nU3RhdGUoKS50YWJsZUdyaWQoKS5jZWxscygp
LmlzRW1wdHkoKSk7CisgICAgYXV0byYgZ3JpZCA9IGZvcm1hdHRpbmdTdGF0ZSgpLnRhYmxlR3Jp
ZCgpOworICAgIGF1dG8mIGNlbGxMaXN0ID0gZ3JpZC5jZWxscygpOworICAgIEFTU0VSVCghY2Vs
bExpc3QuaXNFbXB0eSgpKTsKKyAgICAvLyBMYXlvdXQgYW5kIHBvc2l0aW9uIGVhY2ggdGFibGUg
Y2VsbCAoYW5kIGNvbXB1dGUgcm93IGhlaWdodCBhcyB3ZWxsKS4KKyAgICBhdXRvJiBsYXlvdXRT
dGF0ZSA9IHRoaXMtPmxheW91dFN0YXRlKCk7CisgICAgYXV0byYgY29sdW1uTGlzdCA9IGdyaWQu
Y29sdW1uc0NvbnRleHQoKS5jb2x1bW5zKCk7CisgICAgYXV0byYgcm93TGlzdCA9IGdyaWQucm93
cygpOworICAgIGZvciAoYXV0byYgY2VsbCA6IGNlbGxMaXN0KSB7CisgICAgICAgIGF1dG8mIGNl
bGxMYXlvdXRCb3ggPSBjZWxsLT50YWJsZUNlbGxCb3g7CisgICAgICAgIEFTU0VSVChjZWxsTGF5
b3V0Qm94LmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpKTsKKworICAgICAgICBh
dXRvJiBjZWxsRGlzcGxheUJveCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3go
Y2VsbExheW91dEJveCk7CisgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgY29sdW1u
IGFuZCByb3cgc3Bhbm5pbmcuCisgICAgICAgIGF1dG8gY2VsbFBvc2l0aW9uID0gY2VsbC0+cG9z
aXRpb247CisgICAgICAgIGF1dG8mIHJvdyA9IHJvd0xpc3QuYXQoY2VsbFBvc2l0aW9uLnkoKSk7
CisgICAgICAgIGF1dG8mIGNvbHVtbiA9IGNvbHVtbkxpc3QuYXQoY2VsbFBvc2l0aW9uLngoKSk7
CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldENvbnRlbnRCb3hXaWR0aChjb2x1bW4ubG9naWNh
bFdpZHRoKCkpOworICAgICAgICAvLyBGSVhNRTogRG8gbm90IHVzZSBibGFua3MuCisgICAgICAg
IGNlbGxEaXNwbGF5Qm94LnNldEJvcmRlcih7IH0pOworICAgICAgICBjZWxsRGlzcGxheUJveC5z
ZXRQYWRkaW5nKHsgfSk7CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldEhvcml6b250YWxNYXJn
aW4oeyB9KTsKKyAgICAgICAgY2VsbERpc3BsYXlCb3guc2V0SG9yaXpvbnRhbENvbXB1dGVkTWFy
Z2luKHsgfSk7CisKKyAgICAgICAgY2VsbERpc3BsYXlCb3guc2V0VG9wTGVmdCh7IGNvbHVtbi5s
b2dpY2FsTGVmdCgpLCByb3cubG9naWNhbFRvcCgpIH0pOworCisgICAgICAgIGxheW91dFN0YXRl
LmNyZWF0ZUZvcm1hdHRpbmdDb250ZXh0KGNlbGxMYXlvdXRCb3gpLT5sYXlvdXQoKTsKKworICAg
ICAgICAvLyBGSVhNRTogVGhpcyByZXF1aXJlcyBhIDIgcGFzcyBsYXlvdXQuCisgICAgICAgIGF1
dG8gaGVpZ2h0QW5kTWFyZ2luID0gR2VvbWV0cnk6OnRhYmxlQ2VsbEhlaWdodEFuZE1hcmdpbihs
YXlvdXRTdGF0ZSwgY2VsbExheW91dEJveCk7CisgICAgICAgIGNlbGxEaXNwbGF5Qm94LnNldENv
bnRlbnRCb3hIZWlnaHQoaGVpZ2h0QW5kTWFyZ2luLmhlaWdodCk7CisgICAgICAgIGNlbGxEaXNw
bGF5Qm94LnNldFZlcnRpY2FsTWFyZ2luKHsgaGVpZ2h0QW5kTWFyZ2luLm5vbkNvbGxhcHNlZE1h
cmdpbiwgeyB9IH0pOworCisgICAgICAgIHJvdy5zZXRMb2dpY2FsSGVpZ2h0KHN0ZDo6bWF4KHJv
dy5sb2dpY2FsSGVpZ2h0KCksIGhlaWdodEFuZE1hcmdpbi5oZWlnaHQpKTsKKyAgICAgICAgLy8g
RklYTUU6IFRoaXMgYWxzbyByZXF1aXJlcyBzcGFubmluZyBzdXBwb3J0L2NoZWNrLgorICAgICAg
ICBpZiAoIWNlbGxQb3NpdGlvbi54KCkgJiYgY2VsbFBvc2l0aW9uLnkoKSkgeworICAgICAgICAg
ICAgYXV0byYgcHJldmlvdXNSb3cgPSByb3dMaXN0LmF0KGNlbGxQb3NpdGlvbi55KCkgLSAxKTsK
KyAgICAgICAgICAgIHJvdy5zZXRMb2dpY2FsVG9wKHByZXZpb3VzUm93LmxvZ2ljYWxCb3R0b20o
KSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAKIEZvcm1hdHRpbmdDb250ZXh0OjpJbnRyaW5zaWNX
aWR0aENvbnN0cmFpbnRzIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVkSW50cmluc2lj
V2lkdGhDb25zdHJhaW50cygpIGNvbnN0CkBAIC0xNjMsNyArMjAxLDEzIEBAIExheW91dFVuaXQg
VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZWRUYWJsZVdpZHRoKCkgY29uc3QKICAgICAg
ICAgICAgIGRpc3RyaWJ1dGVBdmFpbGFibGVXaWR0aCgqd2lkdGggLSB0YWJsZVdpZHRoQ29uc3Ry
YWludHMubWluaW11bSk7CiAgICAgICAgIH0KICAgICB9Ci0KKyAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgYWxzbyBkZWFsIHdpdGggY29sbGFwc2luZyBib3JkZXJzIGV0Yy4KKyAgICBMYXlvdXRV
bml0IGNvbHVtbkxvZ2ljYWxMZWZ0OworICAgIGF1dG8mIGNvbHVtbnMgPSBjb2x1bW5zQ29udGV4
dC5jb2x1bW5zKCk7CisgICAgZm9yIChhdXRvJiBjb2x1bW4gOiBjb2x1bW5zKSB7CisgICAgICAg
IGNvbHVtbi5zZXRMb2dpY2FsTGVmdChjb2x1bW5Mb2dpY2FsTGVmdCk7CisgICAgICAgIGNvbHVt
bkxvZ2ljYWxMZWZ0ICs9IGNvbHVtbi5sb2dpY2FsV2lkdGgoKTsKKyAgICB9CiAgICAgcmV0dXJu
IHVzZWRXaWR0aDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxl
Zm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCAxZWEyMjQy
ZmUxMjA2M2RiNWU5MmIyMTBmMzRjZTUwNDlmMTZlZTUwLi41NzZiMDM1Zjg2YThjMTIzODA0NGU3
MzVjOTVkY2JiOWIwYmRkNzE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFi
bGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNDMs
NiArNDMsMTEgQEAgcHVibGljOgogICAgIHZvaWQgbGF5b3V0KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
IHByaXZhdGU6CisgICAgY2xhc3MgR2VvbWV0cnkgOiBwdWJsaWMgRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBIZWlnaHRBbmRNYXJnaW4g
dGFibGVDZWxsSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7
CisgICAgfTsKKwogICAgIEludHJpbnNpY1dpZHRoQ29uc3RyYWludHMgY29tcHV0ZWRJbnRyaW5z
aWNXaWR0aENvbnN0cmFpbnRzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBjb21w
dXRlZFRhYmxlV2lkdGgoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUZvcm1hdHRpbmdDb250
ZXh0R2VvbWV0cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0MDk4NWMwNDY5NzE1MmY1MTU0NDliNTEwZDQy
MjU4M2E4ZTNlYzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFi
bGVmb3JtYXR0aW5nL1RhYmxlRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUYWJs
ZUZvcm1hdHRpbmdDb250ZXh0LmgiCisKKyNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkKKworI2luY2x1ZGUgIkZvcm1hdHRpbmdDb250ZXh0LmgiCisjaW5jbHVkZSAiTGF5b3V0
Qm94LmgiCisjaW5jbHVkZSAiTGF5b3V0U3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
bmFtZXNwYWNlIExheW91dCB7CisKK0hlaWdodEFuZE1hcmdpbiBUYWJsZUZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6dGFibGVDZWxsSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dFN0YXRl
JiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCit7CisgICAgQVNTRVJUKGxheW91
dEJveC5pc0luRmxvdygpKTsKKworICAgIGF1dG8gaGVpZ2h0ID0gY29tcHV0ZWRIZWlnaHRWYWx1
ZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94LCBIZWlnaHRUeXBlOjpOb3JtYWwpOworICAgIGlmICgh
aGVpZ2h0KQorICAgICAgICBoZWlnaHQgPSBHZW9tZXRyeTo6Y29udGVudEhlaWdodEZvckZvcm1h
dHRpbmdDb250ZXh0Um9vdChsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KTsKKworICAgIC8vIEZJWE1F
OiBDb21wdXRlIHZlcnRpY2FsIG1hcmdpbiB2YWx1ZXMuCisgICAgcmV0dXJuIEhlaWdodEFuZE1h
cmdpbiB7ICpoZWlnaHQsIHsgfSB9OworfQorCit9Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuY3BwCmluZGV4IDNl
NmJkZjM5YjJkNzBlMDRjNzFmMDM5NDE3NzRhYzUwYTJjYmZiNWQuLjIxNDExYmUxZTkzODNhZjA2
NWIxYmVjYmI2NjI3MGFiMjY2MzY3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvdGFibGVmb3JtYXR0aW5nL1RhYmxlR3JpZC5jcHAKQEAgLTYzLDYgKzYzLDIwIEBAIExheW91
dFVuaXQgVGFibGVHcmlkOjpDb2x1bW46OmxvZ2ljYWxXaWR0aCgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fY29tcHV0ZWRMb2dpY2FsV2lkdGg7CiB9CiAKK3ZvaWQgVGFibGVHcmlkOjpDb2x1bW46OnNl
dExvZ2ljYWxMZWZ0KExheW91dFVuaXQgY29tcHV0ZWRMb2dpY2FsTGVmdCkKK3sKKyNpZm5kZWYg
TkRFQlVHCisgICAgbV9oYXNDb21wdXRlZExlZnQgPSB0cnVlOworI2VuZGlmCisgICAgbV9jb21w
dXRlZExvZ2ljYWxMZWZ0ID0gY29tcHV0ZWRMb2dpY2FsTGVmdDsKK30KKworTGF5b3V0VW5pdCBU
YWJsZUdyaWQ6OkNvbHVtbjo6bG9naWNhbExlZnQoKSBjb25zdAoreworICAgIEFTU0VSVChtX2hh
c0NvbXB1dGVkTGVmdCk7CisgICAgcmV0dXJuIG1fY29tcHV0ZWRMb2dpY2FsTGVmdDsKK30KKwog
dm9pZCBUYWJsZUdyaWQ6OkNvbHVtbnNDb250ZXh0OjphZGRDb2x1bW4oKQogewogICAgIG1fY29s
dW1ucy5hcHBlbmQoeyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJs
ZWZvcm1hdHRpbmcvVGFibGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvdGFibGVmb3Jt
YXR0aW5nL1RhYmxlR3JpZC5oCmluZGV4IDZiZGViNzg4YWI1OTIwYjhmMTgyODM1MmQzNTRkMzM4
Mzg3MmRjZWUuLjgxNjhkNmM4Yjg4NDNmOGU1ZWFjYjRhNjJjZDUzZjBkMTQ4Nzk5ZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC90YWJsZWZvcm1hdHRpbmcvVGFibGVHcmlkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L3RhYmxlZm9ybWF0dGluZy9UYWJsZUdyaWQuaApA
QCAtNzEsMTUgKzcxLDIyIEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCBzZXRMb2dpY2FsV2lkdGgo
TGF5b3V0VW5pdCk7CiAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3Q7CiAK
KyAgICAgICAgdm9pZCBzZXRMb2dpY2FsTGVmdChMYXlvdXRVbml0KTsKKyAgICAgICAgTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdCgpIGNvbnN0OworCisgICAgICAgIExheW91dFVuaXQgbG9naWNhbFJp
Z2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQoKSArIGxvZ2ljYWxXaWR0aCgpOyB9CisK
ICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgQ29sdW1uc0NvbnRleHQ7CiAgICAg
ICAgIENvbHVtbigpID0gZGVmYXVsdDsKIAogICAgICAgICBGb3JtYXR0aW5nQ29udGV4dDo6SW50
cmluc2ljV2lkdGhDb25zdHJhaW50cyBtX3dpZHRoQ29uc3RyYWludHM7CiAgICAgICAgIExheW91
dFVuaXQgbV9jb21wdXRlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgTGF5b3V0VW5pdCBtX2NvbXB1
dGVkTG9naWNhbExlZnQ7CiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBib29sIG1faGFzV2lkdGhD
b25zdHJhaW50cyB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbV9oYXNDb21wdXRlZFdpZHRoIHsg
ZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc0NvbXB1dGVkTGVmdCB7IGZhbHNlIH07CiAjZW5k
aWYKICAgICB9OwogCkBAIC0xMDEsOCArMTA4LDE4IEBAIHB1YmxpYzoKICAgICBDb2x1bW5zQ29u
dGV4dCYgY29sdW1uc0NvbnRleHQoKSB7IHJldHVybiBtX2NvbHVtbnNDb250ZXh0OyB9CiAKICAg
ICBzdHJ1Y3QgUm93IHsKLSAgICAgICAgTGF5b3V0VW5pdCBvZmZzZXQ7Ci0gICAgICAgIExheW91
dFVuaXQgaGVpZ2h0OworICAgIHB1YmxpYzoKKyAgICAgICAgdm9pZCBzZXRMb2dpY2FsVG9wKExh
eW91dFVuaXQgbG9naWNhbFRvcCkgeyBtX2xvZ2ljYWxUb3AgPSBsb2dpY2FsVG9wOyB9CisgICAg
ICAgIExheW91dFVuaXQgbG9naWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFRvcDsg
fQorCisgICAgICAgIHZvaWQgc2V0TG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWln
aHQpIHsgbV9sb2dpY2FsSGVpZ2h0ID0gbG9naWNhbEhlaWdodDsgfQorICAgICAgICBMYXlvdXRV
bml0IGxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxIZWlnaHQ7IH0KKwor
ICAgICAgICBMYXlvdXRVbml0IGxvZ2ljYWxCb3R0b20oKSBjb25zdCB7IHJldHVybiBsb2dpY2Fs
VG9wKCkgKyBsb2dpY2FsSGVpZ2h0KCk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIExheW91
dFVuaXQgbV9sb2dpY2FsVG9wOworICAgICAgICBMYXlvdXRVbml0IG1fbG9naWNhbEhlaWdodDsK
ICAgICB9OwogICAgIHVzaW5nIFJvd0xpc3QgPSBXVEY6OlZlY3RvcjxSb3c+OwogICAgIFJvd0xp
c3QmIHJvd3MoKSB7IHJldHVybiBtX3Jvd3M7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>