<?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>194969</bug_id>
          
          <creation_ts>2019-02-22 16:55:33 -0800</creation_ts>
          <short_desc>Give DrawingAreas their own identifiers</short_desc>
          <delta_ts>2019-02-23 19:03:17 -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>WebKit2</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sroberts</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1509251</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 16:55:33 -0800</bug_when>
    <thetext>Give DrawingAreas their own identifiers instead of using the pageID. It will make the IPC more robust now that a WebPageProxy can have several drawing areas with PSON.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509252</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 16:56:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/48154508&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509259</commentid>
    <comment_count>2</comment_count>
      <attachid>362794</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 16:59:41 -0800</bug_when>
    <thetext>Created attachment 362794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509263</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-22 17:00:27 -0800</bug_when>
    <thetext>Needs more testing, especially on macOS. May need a little more work to build everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509325</commentid>
    <comment_count>4</comment_count>
      <attachid>362794</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-02-22 20:42:36 -0800</bug_when>
    <thetext>Comment on attachment 362794
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509337</commentid>
    <comment_count>5</comment_count>
      <attachid>362794</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-22 21:30:25 -0800</bug_when>
    <thetext>Comment on attachment 362794
Patch

Clearing flags on attachment: 362794

Committed r241988: &lt;https://trac.webkit.org/changeset/241988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509338</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-22 21:30:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509416</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-23 17:47:07 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509417</commentid>
    <comment_count>8</comment_count>
      <attachid>362842</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-23 17:47:09 -0800</bug_when>
    <thetext>Created attachment 362842
Follow-up fix for API tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509425</commentid>
    <comment_count>9</comment_count>
      <attachid>362842</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-23 19:03:15 -0800</bug_when>
    <thetext>Comment on attachment 362842
Follow-up fix for API tests

Clearing flags on attachment: 362842

Committed r242010: &lt;https://trac.webkit.org/changeset/242010&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509426</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-23 19:03:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362794</attachid>
            <date>2019-02-22 16:59:41 -0800</date>
            <delta_ts>2019-02-23 17:47:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194969-20190222165940.patch</filename>
            <type>text/plain</type>
            <size>41877</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkZDZlNzUyZTY0Yjg2MGJl
ZTg0NGFkNTE1OTkxNjhkZWNhNTk3YmQuLjk4ZmQ4NDQ3ZDMwMzMxMTU0YTc5OWM2NWRkZWMyNWY5
ZGQyNjEzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODggQEAKKzIwMTktMDItMjIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBHaXZlIERyYXdpbmdBcmVhcyB0aGVp
ciBvd24gaWRlbnRpZmllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NDk2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDgxNTQ1MDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2l2ZSBEcmF3aW5n
QXJlYXMgdGhlaXIgb3duIGlkZW50aWZpZXJzIGluc3RlYWQgb2YgdXNpbmcgdGhlIHBhZ2VJRC4g
SXQgd2lsbCBtYWtlIHRoZSBJUEMgbW9yZSByb2J1c3Qgbm93IHRoYXQgYQorICAgICAgICBXZWJQ
YWdlUHJveHkgY2FuIGhhdmUgc2V2ZXJhbCBkcmF3aW5nIGFyZWFzIHdpdGggUFNPTi4KKworICAg
ICAgICAqIFNoYXJlZC9EcmF3aW5nQXJlYUluZm8uaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQWNjZWxlcmF0ZWREcmF3aW5nQXJl
YVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYVByb3h5
OjpzZW5kVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVy
YXRlZERyYXdpbmdBcmVhUHJveHk6OndhaXRGb3JBbmREaXNwYXRjaERpZFVwZGF0ZUJhY2tpbmdT
dG9yZVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYVByb3h5
OjpzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpOgorICAgICAgICAoV2ViS2l0
OjpBY2NlbGVyYXRlZERyYXdpbmdBcmVhUHJveHk6OmRlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxl
Rm9yQ29tcG9zaXRpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94eSk6
CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6On5EcmF3aW5nQXJlYVByb3h5KToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVNlbmRlckNvbm5lY3Rp
b24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpzZW5kTWVzc2Fn
ZSk6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6OnZpZXdFeHBvc2VkUmVjdENo
YW5nZWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
OgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjppZGVudGlmaWVyIGNvbnN0KToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6cHJvY2VzcyBjb25zdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnVwZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1By
b3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdl
UHJveHk6OmluaXRpYWxpemVXZWJQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5Ojp+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmRldmljZVNjYWxlRmFjdG9yRGlk
Q2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6c2VuZFVwZGF0ZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eTo6YWNjZWxlcmF0ZWRBbmltYXRpb25EaWRTdGFydCk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmFjY2VsZXJhdGVkQW5p
bWF0aW9uRGlkRW5kKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6ZGlkUmVmcmVzaERpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Ojp3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmRpc3BhdGNo
QWZ0ZXJFbnN1cmluZ0RyYXdpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmluaXRpYWxpemVXZWJQYWdlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGVOZXdQYWdlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6Y29s
b3JTcGFjZURpZENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhUHJveHk6OndhaXRGb3JEaWRVcGRhdGVBY3Rpdml0eVN0YXRlKToKKyAgICAgICAg
KFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6c2VuZFVwZGF0ZUdl
b21ldHJ5KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQ
cm94eTo6YWRqdXN0VHJhbnNpZW50Wm9vbSk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmNvbW1pdFRyYW5zaWVudFpvb20pOgorICAgICAgICAo
V2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpkaXNwYXRjaEFmdGVy
RW5zdXJpbmdEcmF3aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFjY2VsZXJhdGVkRHJhd2luZ0Fy
ZWE6OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpsYXllckhvc3REaWRGbHVzaExheWVycyk6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OnNlbmREaWRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6RHJhd2luZ0FyZWE6OkRyYXdpbmdBcmVhKToKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWE6OnJlbW92ZU1lc3NhZ2VSZWNlaXZlcklmTmVlZGVkKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWE6OmlkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2Vu
ZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6c2VuZERpZFVwZGF0ZUJhY2tpbmdTdG9y
ZVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpleGl0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ01vZGUpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmRp
c3BsYXkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhOjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpyZWluaXRpYWxpemVXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2Vi
S2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6c2VuZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVJZk5lZWRlZCk6CisgICAgICAg
IChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVJbnRyaW5zaWND
b250ZW50U2l6ZUlmTmVlZGVkKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldExheWVySG9zdGluZ01vZGUpOgorCiAyMDE5
LTAyLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVz
c2lvbihQU09OKSBVbmFibGUgdG8gcHJldmlldyBwYXNzd29yZC1wcm90ZWN0ZWQgZG9jdW1lbnRz
IG9uIGlDbG91ZC5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0RyYXdpbmdB
cmVhSW5mby5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKaW5kZXgg
ZDFjOTgwOTQ2ZDRjZDYwMzZmY2Y1NTBiNWU1NTRhZWJmODhmNWQ2My4uMDMyODdhN2JlNDc4ZjQ2
OGI2MDRiOGRlOGRmNmQyYTVmMWQ5YmQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvRHJhd2luZ0FyZWFJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRHJhd2luZ0Fy
ZWFJbmZvLmgKQEAgLTI1LDYgKzI1LDggQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlIDx3
dGYvT2JqZWN0SWRlbnRpZmllci5oPgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogZW51bSBEcmF3
aW5nQXJlYVR5cGUgewpAQCAtNDMsNCArNDUsNyBAQCBlbnVtIHsKIH07CiB0eXBlZGVmIHVpbnQ2
NF90IEFjdGl2aXR5U3RhdGVDaGFuZ2VJRDsKIAorZW51bSBEcmF3aW5nQXJlYUlkZW50aWZpZXJU
eXBlIHsgfTsKK3VzaW5nIERyYXdpbmdBcmVhSWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8
RHJhd2luZ0FyZWFJZGVudGlmaWVyVHlwZT47CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApp
bmRleCBhMjQ5YTY2ODIxYjIzYWYzZjY2ZmU5NjY5NzA2MTRlY2EzMjQ5NTAwLi40OTgzZThlY2E2
N2RiMTk2OWJiMGVkZjdlYTg3MTk0MGU0NDFmMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMzcsNiArMzcsNyBAQCB2
b2lkIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAKICAgICBlbmNvZGVyIDw8IHN0b3JlOwogICAgIGVuY29kZXIuZW5jb2RlRW51
bShkcmF3aW5nQXJlYVR5cGUpOworICAgIGVuY29kZXIgPDwgZHJhd2luZ0FyZWFJZGVudGlmaWVy
OwogICAgIGVuY29kZXIgPDwgcGFnZUdyb3VwRGF0YTsKICAgICBlbmNvZGVyIDw8IGRyYXdzQmFj
a2dyb3VuZDsKICAgICBlbmNvZGVyIDw8IGlzRWRpdGFibGU7CkBAIC0xMzgsNiArMTM5LDExIEBA
IE9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnM6OmRlY29kZShJUEM6OkRlY29kCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocGFyYW1ldGVycy5kcmF3aW5nQXJlYVR5cGUpKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIE9wdGlvbmFsPERyYXdpbmdBcmVhSWRl
bnRpZmllcj4gZHJhd2luZ0FyZWFJZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gZHJhd2luZ0Fy
ZWFJZGVudGlmaWVyOworICAgIGlmICghZHJhd2luZ0FyZWFJZGVudGlmaWVyKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHBhcmFtZXRlcnMuZHJhd2luZ0FyZWFJZGVudGlmaWVy
ID0gKmRyYXdpbmdBcmVhSWRlbnRpZmllcjsKICAgICBPcHRpb25hbDxXZWJQYWdlR3JvdXBEYXRh
PiBwYWdlR3JvdXBEYXRhOwogICAgIGRlY29kZXIgPj4gcGFnZUdyb3VwRGF0YTsKICAgICBpZiAo
IXBhZ2VHcm91cERhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKaW5kZXggMjFjYWUyZTQ4ODE2NTQzZjdiZjYwMjBlYjI2NTk3NWUzMWY1
M2YyYy4uNGZlM2IxMDMwOGQyOTE3M2E0Y2E0YjM3ZjQ1ZDU3N2U4NTFmNTdiOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNzEs
NiArNzEsNyBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgCiAgICAg
V2ViUHJlZmVyZW5jZXNTdG9yZSBzdG9yZTsKICAgICBEcmF3aW5nQXJlYVR5cGUgZHJhd2luZ0Fy
ZWFUeXBlOworICAgIERyYXdpbmdBcmVhSWRlbnRpZmllciBkcmF3aW5nQXJlYUlkZW50aWZpZXI7
CiAgICAgV2ViUGFnZUdyb3VwRGF0YSBwYWdlR3JvdXBEYXRhOwogCiAgICAgYm9vbCBkcmF3c0Jh
Y2tncm91bmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BY2NlbGVyYXRl
ZERyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYVByb3h5LmNwcAppbmRleCAzOWFmOWIzNzk4YjgyZWQ5NjFiZDliZTQ4ZjIy
ZmQ2N2MyZGE5OTFhLi5mOTFmMDZmYTA3M2E5ZWFjYjE3NDNmMWYyY2I2ZWQzMmYxNzRiMTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BY2NlbGVyYXRlZERyYXdpbmdBcmVh
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FjY2VsZXJhdGVkRHJhd2lu
Z0FyZWFQcm94eS5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2lu
Z0FyZWFQcm94eTo6c2VuZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKFJlc3BvbmRJbW1lZGlhdGVs
eQogCiAgICAgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZSA9IHJlc3Bv
bmRJbW1lZGlhdGVseU9yTm90ID09IFJlc3BvbmRJbW1lZGlhdGVseTsKIAotICAgIHByb2Nlc3Mo
KS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6VXBkYXRlQmFja2luZ1N0b3JlU3RhdGUobV9u
ZXh0QmFja2luZ1N0b3JlU3RhdGVJRCwgcmVzcG9uZEltbWVkaWF0ZWx5T3JOb3QgPT0gUmVzcG9u
ZEltbWVkaWF0ZWx5LCBtX3dlYlBhZ2VQcm94eS5kZXZpY2VTY2FsZUZhY3RvcigpLCBtX3NpemUs
IG1fc2Nyb2xsT2Zmc2V0KSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworICAgIHNlbmQoTWVz
c2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZShtX25leHRCYWNraW5n
U3RvcmVTdGF0ZUlELCByZXNwb25kSW1tZWRpYXRlbHlPck5vdCA9PSBSZXNwb25kSW1tZWRpYXRl
bHksIG1fd2ViUGFnZVByb3h5LmRldmljZVNjYWxlRmFjdG9yKCksIG1fc2l6ZSwgbV9zY3JvbGxP
ZmZzZXQpKTsKICAgICBtX3Njcm9sbE9mZnNldCA9IEludFNpemUoKTsKIAogICAgIGlmIChtX2lz
V2FpdGluZ0ZvckRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKSB7CkBAIC0yMjIsNyArMjIyLDcg
QEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhUHJveHk6OndhaXRGb3JBbmREaXNwYXRjaERp
ZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKCkKICAgICAvLyBjaG9vc2UgdGhlIG1vc3QgcmVjZW50
IG9uZSwgb3IgdGhlIG9uZSB0aGF0IGlzIGNsb3Nlc3QgdG8gb3VyIGN1cnJlbnQgc2l6ZS4KIAog
ICAgIC8vIFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCB3ZSB1c2Ugd2hlbiB3YWl0aW5nIGZvciBh
IERpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlIG1lc3NhZ2Ugd2hlbiB3ZSdyZSBhc2tlZCB0byBw
YWludC4KLSAgICBwcm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0Rm9yQW5kRGlzcGF0Y2hJbW1l
ZGlhdGVseTxNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6RGlkVXBkYXRlQmFja2luZ1N0b3Jl
U3RhdGU+KG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KDUwMCkpOworICAgIHByb2Nlc3MoKS5jb25uZWN0aW9uKCktPndhaXRGb3JBbmREaXNwYXRjaElt
bWVkaWF0ZWx5PE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVCYWNraW5nU3Rv
cmVTdGF0ZT4obV9pZGVudGlmaWVyLnRvVUludDY0KCksIFNlY29uZHM6OmZyb21NaWxsaXNlY29u
ZHMoNTAwKSk7CiB9CiAKIHZvaWQgQWNjZWxlcmF0ZWREcmF3aW5nQXJlYVByb3h5OjplbnRlckFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGxheWVyVHJl
ZUNvbnRleHQpCkBAIC0yNTYsNyArMjU2LDcgQEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVh
UHJveHk6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdAogICAg
ICAgICBtX3BlbmRpbmdOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcgPSBoYW5kbGU7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRy
YXdpbmdBcmVhOjpTZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoaGFuZGxlKSwg
bV93ZWJQYWdlUHJveHkucGFnZUlEKCksIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdl
RXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5n
QXJlYTo6U2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKGhhbmRsZSksIElQQzo6
U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3luY1JlcGx5KTsK
IH0KIAogdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhUHJveHk6OmRlc3Ryb3lOYXRpdmVTdXJm
YWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgQWNjZWxl
cmF0ZWREcmF3aW5nQXJlYVByb3h5OjpkZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBv
c2l0aW5nKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBib29sIGhhbmRsZWQ7Ci0gICAg
cHJvY2VzcygpLnNlbmRTeW5jKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6RGVzdHJveU5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpLCBNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRlc3Ry
b3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmc6OlJlcGx5KGhhbmRsZWQpLCBtX3dl
YlBhZ2VQcm94eS5wYWdlSUQoKSk7CisgICAgc2VuZFN5bmMoTWVzc2FnZXM6OkRyYXdpbmdBcmVh
OjpEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKCksIE1lc3NhZ2VzOjpE
cmF3aW5nQXJlYTo6RGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZzo6UmVw
bHkoaGFuZGxlZCkpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5jcHAKaW5kZXggZDM2YmM0NmZlNjk0OWQ1Yzg4ZDI2OWEwZWIyY2JjNDU4
ZTZjOGJmYi4uNTk2YjI0MThhNDNlYzBkMjc1ZmI5MWY0ODRlYTdiNzllMDdmMmNiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAgLTQwLDYgKzQw
LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIERyYXdpbmdBcmVhUHJveHk6OkRyYXdp
bmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlIHR5cGUsIFdlYlBhZ2VQcm94eSYgd2ViUGFnZVBy
b3h5LCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCiAgICAgOiBtX3R5cGUodHlwZSkKKyAgICAs
IG1faWRlbnRpZmllcihEcmF3aW5nQXJlYUlkZW50aWZpZXI6OmdlbmVyYXRlKCkpCiAgICAgLCBt
X3dlYlBhZ2VQcm94eSh3ZWJQYWdlUHJveHkpCiAgICAgLCBtX3Byb2Nlc3MobWFrZVJlZihwcm9j
ZXNzKSkKICAgICAsIG1fc2l6ZSh3ZWJQYWdlUHJveHkudmlld1NpemUoKSkKQEAgLTQ3LDEyICs0
OCwxMiBAQCBEcmF3aW5nQXJlYVByb3h5OjpEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhVHlw
ZSB0eXBlLCBXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcgogICAgICwgbV92aWV3RXhwb3NlZFJlY3RD
aGFuZ2VkVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmRHJhd2luZ0FyZWFQcm94eTo6dmll
d0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQpCiAjZW5kaWYKIHsKLSAgICBwcm9jZXNzLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSwgKnRoaXMpOworICAgIHByb2Nlc3Mu
YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7CiB9CiAKIERyYXdp
bmdBcmVhUHJveHk6On5EcmF3aW5nQXJlYVByb3h5KCkKIHsKLSAgICBwcm9jZXNzKCkucmVtb3Zl
TWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKKyAgICBwcm9jZXNzKCkucmVtb3Zl
TWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpKTsKIH0KIAogYm9vbCBEcmF3aW5nQXJl
YVByb3h5OjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUsIGNvbnN0IEludFNpemUmIHNjcm9s
bERlbHRhKQpAQCAtNzMsNiArNzQsMTYgQEAgTWFjaFNlbmRSaWdodCBEcmF3aW5nQXJlYVByb3h5
OjpjcmVhdGVGZW5jZSgpCiB9CiAjZW5kaWYKIAorSVBDOjpDb25uZWN0aW9uKiBEcmF3aW5nQXJl
YVByb3h5OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHBy
b2Nlc3MoKS5jb25uZWN0aW9uKCk7Cit9CisKK2Jvb2wgRHJhd2luZ0FyZWFQcm94eTo6c2VuZE1l
c3NhZ2Uoc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4gZW5jb2RlciwgT3B0aW9uU2V0PElQ
Qzo6U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMpCit7CisgICAgcmV0dXJuIHByb2Nlc3MoKS5zZW5k
TWVzc2FnZShXVEZNb3ZlKGVuY29kZXIpLCBzZW5kT3B0aW9ucyk7Cit9CisKICNpZiBQTEFURk9S
TShNQUMpCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdChPcHRpb25h
bDxXZWJDb3JlOjpGbG9hdFJlY3Q+IHZpZXdFeHBvc2VkUmVjdCkKIHsKQEAgLTkzLDcgKzEwNCw3
IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6dmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmly
ZWQoKQogICAgIGlmIChtX3ZpZXdFeHBvc2VkUmVjdCA9PSBtX2xhc3RTZW50Vmlld0V4cG9zZWRS
ZWN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJh
d2luZ0FyZWE6OlNldFZpZXdFeHBvc2VkUmVjdChtX3ZpZXdFeHBvc2VkUmVjdCksIG1fd2ViUGFn
ZVByb3h5LnBhZ2VJRCgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6U2V0Vmll
d0V4cG9zZWRSZWN0KG1fdmlld0V4cG9zZWRSZWN0KSk7CiAgICAgbV9sYXN0U2VudFZpZXdFeHBv
c2VkUmVjdCA9IG1fdmlld0V4cG9zZWRSZWN0OwogfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCAzNDE5YTg5
ZThkN2M4MzI3Y2JlMGYwY2EzOWUyMmViYjJkNDQyNWFkLi5iNjkwNWIwMThmMTE0ZTVjZjYyZTIw
MjgzZmU0ZmExYTEyZGFiOGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFJbmZvLmgi
CiAjaW5jbHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVy
LmgiCisjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRS
ZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
bnRTaXplLmg+CkBAIC01MCwxMyArNTEsMTQgQEAgY2xhc3MgVXBkYXRlSW5mbzsKIGNsYXNzIFdl
YlBhZ2VQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIAotY2xhc3MgRHJhd2luZ0FyZWFQ
cm94eSA6IHB1YmxpYyBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBEcmF3aW5nQXJlYVBy
b3h5IDogcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyLCBwcm90ZWN0ZWQgSVBDOjpNZXNzYWdl
U2VuZGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmF3aW5nQXJlYVByb3h5KTsKIAog
cHVibGljOgogICAgIHZpcnR1YWwgfkRyYXdpbmdBcmVhUHJveHkoKTsKIAogICAgIERyYXdpbmdB
cmVhVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisgICAgRHJhd2luZ0FyZWFJ
ZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAog
ICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgpID0gMDsKIApAQCAt
MTA5LDExICsxMTEsMTMgQEAgcHVibGljOgogCiAgICAgV2ViUGFnZVByb3h5JiBwYWdlKCkgY29u
c3QgeyByZXR1cm4gbV93ZWJQYWdlUHJveHk7IH0KICAgICBXZWJQcm9jZXNzUHJveHkmIHByb2Nl
c3MoKSB7IHJldHVybiBtX3Byb2Nlc3MuZ2V0KCk7IH0KKyAgICBjb25zdCBXZWJQcm9jZXNzUHJv
eHkmIHByb2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3MuZ2V0KCk7IH0KIAogcHJvdGVj
dGVkOgogICAgIERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlLCBXZWJQYWdlUHJveHkm
LCBXZWJQcm9jZXNzUHJveHkmKTsKIAogICAgIERyYXdpbmdBcmVhVHlwZSBtX3R5cGU7CisgICAg
RHJhd2luZ0FyZWFJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBXZWJQYWdlUHJveHkmIG1f
d2ViUGFnZVByb3h5OwogICAgIFJlZjxXZWJQcm9jZXNzUHJveHk+IG1fcHJvY2VzczsKIApAQCAt
MTI2LDYgKzEzMCwxMCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBz
aXplRGlkQ2hhbmdlKCkgPSAwOwogCisgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVy
Q29ubmVjdGlvbigpIGNvbnN0IGZpbmFsOworICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0
aW5hdGlvbklEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pZGVudGlmaWVyLnRvVUludDY0KCk7
IH0KKyAgICBib29sIHNlbmRNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+LCBP
cHRpb25TZXQ8SVBDOjpTZW5kT3B0aW9uPikgZmluYWw7CisKICAgICAvLyBNZXNzYWdlIGhhbmRs
ZXJzLgogICAgIC8vIEZJWE1FOiBUaGVzZSBzaG91bGQgYmUgcHVyZSB2aXJ0dWFsLgogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGUodWludDY0X3QgLyogYmFja2luZ1N0b3JlU3RhdGVJRCAqLywgY29u
c3QgVXBkYXRlSW5mbyYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDhjNmNlOGQ2NTg4N2NiOGRjMjkxNTc2ZmJkZDgxMjc1
MWE1NzFkNzAuLjAwNTdhZmI5ZGQyZjBmMTEzYThlMjA2MmFlODM2YzVjZDllMjMzMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAg
LTEyNCw3ICsxMjQsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjp1cGRhdGUodWludDY0
X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgVXBkYXRlSW5mbwogICAgIC8vIEZJWE1FOiBI
YW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIHZpZXcgaXMgaGlkZGVuLgogCiAgICAgaW5jb3Jwb3Jh
dGVVcGRhdGUodXBkYXRlSW5mbyk7Ci0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdp
bmdBcmVhOjpEaWRVcGRhdGUoKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworICAgIHNlbmQo
TWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpEaWRVcGRhdGUoKSk7CiB9CiAKIHZvaWQgRHJhd2luZ0Fy
ZWFQcm94eUltcGw6OmRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdT
dG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mIHVwZGF0ZUluZm8sIGNvbnN0IExheWVyVHJl
ZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAKaW5kZXggZDRiZGNjNGVjYTMzY2E4ZWUzMGE5M2U5
Y2ZlNDYwNGY4MWFjNjNlYy4uOWIxYjA0NjgxYjllNWViY2NmY2E0Y2M4YjM2MjU0YTI5MzhmMjIy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5
LmNwcApAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmluaXRp
YWxpemVXZWJQYWdlKCkKIHsKICAgICBtX2RyYXdpbmdBcmVhID0gbV9wYWdlLnBhZ2VDbGllbnQo
KS5jcmVhdGVEcmF3aW5nQXJlYVByb3h5KG1fcHJvY2Vzcyk7CiAKLSAgICBhdXRvIHBhcmFtZXRl
cnMgPSBtX3BhZ2UuY3JlYXRpb25QYXJhbWV0ZXJzKG1fcHJvY2Vzcyk7CisgICAgYXV0byBwYXJh
bWV0ZXJzID0gbV9wYWdlLmNyZWF0aW9uUGFyYW1ldGVycyhtX3Byb2Nlc3MsICptX2RyYXdpbmdB
cmVhKTsKICAgICBwYXJhbWV0ZXJzLmlzUHJvY2Vzc1N3YXAgPSB0cnVlOwogICAgIG1fcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q3JlYXRlV2ViUGFnZShtX3BhZ2UucGFnZUlE
KCksIHBhcmFtZXRlcnMpLCAwKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5tbQppbmRleCA1MWE2ZmE3NDAxOTVmZTFhMDA5ZmNiNjIwODczZjIwMzEy
NDRkNWM1Li44MzA1ODRlZTUyY2VlMWI0YzkyMmFhZmM2YzlkOTk3N2U0YThiNjg4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1v
dGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQpAQCAtMTE1LDcg
KzExNSw3IEBAIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OlJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5JiB3CiAgICAgSU9TdXJmYWNlUG9vbDo6c2hh
cmVkUG9vbCgpLnNldFBvb2xTaXplKDApOwogI2VuZGlmCiAKLSAgICBwcm9jZXNzLmFkZE1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSwgKnRoaXMpOworICAg
IHByb2Nlc3MuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2
NCgpLCAqdGhpcyk7CiAKICAgICBpZiAobV93ZWJQYWdlUHJveHkucHJlZmVyZW5jZXMoKS50aWxl
ZFNjcm9sbGluZ0luZGljYXRvclZpc2libGUoKSkKICAgICAgICAgaW5pdGlhbGl6ZURlYnVnSW5k
aWNhdG9yKCk7CkBAIC0xMjQsNyArMTI0LDcgQEAgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkmIHcKIFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6On5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5KCkKIHsKICAgICBtX2NhbGxiYWNrcy5pbnZhbGlkYXRlKENhbGxiYWNrQmFzZTo6RXJy
b3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQpOwotICAgIHByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworICAgIHByb2Nlc3MoKS5y
ZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOwog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBbbV9kaXNwbGF5TGlua0hhbmRsZXIgaW52
YWxpZGF0ZV07CkBAIC0xNjEsNyArMTYxLDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5OjpzaXplRGlkQ2hhbmdlKCkKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5OjpkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgpCiB7Ci0gICAgcHJvY2Vzcygp
LnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXREZXZpY2VTY2FsZUZhY3RvcihtX3dlYlBh
Z2VQcm94eS5kZXZpY2VTY2FsZUZhY3RvcigpKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOwor
ICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXREZXZpY2VTY2FsZUZhY3RvcihtX3dl
YlBhZ2VQcm94eS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0cnkoKQpAQCAtMTc5LDcgKzE3OSw3
IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0
cnkoKQogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpzZW5kVXBkYXRlR2Vv
bWV0cnkoKQogewogICAgIG1fbGFzdFNlbnRTaXplID0gbV9zaXplOwotICAgIHByb2Nlc3MoKS5z
ZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6VXBkYXRlR2VvbWV0cnkobV9zaXplLCBmYWxzZSAv
KiBmbHVzaFN5bmNocm9ub3VzbHkgKi8sIE1hY2hTZW5kUmlnaHQoKSksIG1fd2ViUGFnZVByb3h5
LnBhZ2VJRCgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6VXBkYXRlR2VvbWV0
cnkobV9zaXplLCBmYWxzZSAvKiBmbHVzaFN5bmNocm9ub3VzbHkgKi8sIE1hY2hTZW5kUmlnaHQo
KSkpOwogICAgIG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkgPSB0cnVlOwogfQogCkBA
IC0yNjQsMTIgKzI2NCwxMiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6
OmNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFucwogCiB2b2lkIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmFjY2VsZXJhdGVkQW5pbWF0aW9uRGlkU3RhcnQo
dWludDY0X3QgbGF5ZXJJRCwgY29uc3QgU3RyaW5nJiBrZXksIE1vbm90b25pY1RpbWUgc3RhcnRU
aW1lKQogewotICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWNjZWxl
cmF0ZWRBbmltYXRpb25EaWRTdGFydChsYXllcklELCBrZXksIHN0YXJ0VGltZSksIG1fd2ViUGFn
ZVByb3h5LnBhZ2VJRCgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWNjZWxl
cmF0ZWRBbmltYXRpb25EaWRTdGFydChsYXllcklELCBrZXksIHN0YXJ0VGltZSkpOwogfQogCiB2
b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmFjY2VsZXJhdGVkQW5pbWF0aW9u
RGlkRW5kKHVpbnQ2NF90IGxheWVySUQsIGNvbnN0IFN0cmluZyYga2V5KQogewotICAgIHByb2Nl
c3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWNjZWxlcmF0ZWRBbmltYXRpb25EaWRF
bmQobGF5ZXJJRCwga2V5KSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworICAgIHNlbmQoTWVz
c2FnZXM6OkRyYXdpbmdBcmVhOjpBY2NlbGVyYXRlZEFuaW1hdGlvbkRpZEVuZChsYXllcklELCBr
ZXkpKTsKIH0KIAogc3RhdGljIGNvbnN0IGZsb2F0IGluZGljYXRvckluc2V0ID0gMTA7CkBAIC00
MzAsNyArNDMwLDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaWRS
ZWZyZXNoRGlzcGxheSgpCiAgICAgLy8gV2FpdGluZyBmb3IgQ0EgdG8gY29tbWl0IGlzIGluc3Vm
ZmljaWVudCwgYmVjYXVzZSB0aGUgcmVuZGVyIHNlcnZlciBjYW4gc3RpbGwgYmUKICAgICAvLyB1
c2luZyBvdXIgYmFja2luZyBzdG9yZS4gV2UgY2FuIGltcHJvdmUgdGhpcyBieSB3YWl0aW5nIGZv
ciB0aGUgcmVuZGVyIHNlcnZlciB0byBjb21taXQKICAgICAvLyBpZiB3ZSBmaW5kIEFQSSB0byBk
byBzbywgYnV0IGZvciBub3cgd2Ugd2lsbCBtYWtlIGV4dHJhIGJ1ZmZlcnMgaWYgbmVlZCBiZS4K
LSAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRpZFVwZGF0ZSgpLCBt
X3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7CisgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6
OkRpZFVwZGF0ZSgpKTsKIAogICAgIG1fbGFzdFZpc2libGVUcmFuc2FjdGlvbklEID0gbV90cmFu
c2FjdGlvbklERm9yUGVuZGluZ0NBQ29tbWl0OwogCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojp3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlT
dGF0ZShBY3Rpdml0eVN0YXQKICAgICB9KCk7CiAKICAgICBhdXRvIHN0YXJ0VGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpOwotICAgIHdoaWxlIChwcm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0
Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWFQcm94eTo6Q29tbWl0TGF5ZXJUcmVlPihtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSwgYWN0
aXZpdHlTdGF0ZVVwZGF0ZVRpbWVvdXQgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBzdGFydFRp
bWUpLCBJUEM6OldhaXRGb3JPcHRpb246OkludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJy
aXZlcykpIHsKKyAgICB3aGlsZSAocHJvY2VzcygpLmNvbm5lY3Rpb24oKS0+d2FpdEZvckFuZERp
c3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHk6OkNvbW1pdExheWVyVHJlZT4obV9pZGVudGlmaWVyLnRvVUludDY0KCksIGFjdGl2aXR5U3Rh
dGVVcGRhdGVUaW1lb3V0IC0gKE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lKSwgSVBD
OjpXYWl0Rm9yT3B0aW9uOjpJbnRlcnJ1cHRXYWl0aW5nSWZTeW5jTWVzc2FnZUFycml2ZXMpKSB7
CiAgICAgICAgIGlmIChhY3Rpdml0eVN0YXRlQ2hhbmdlSUQgPT0gQWN0aXZpdHlTdGF0ZUNoYW5n
ZUFzeW5jaHJvbm91cyB8fCBhY3Rpdml0eVN0YXRlQ2hhbmdlSUQgPD0gbV9hY3Rpdml0eVN0YXRl
Q2hhbmdlSUQpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNDcxLDcgKzQ3MSw3IEBA
IHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6ZGlzcGF0Y2hBZnRlckVuc3Vy
aW5nRHJhd2luZyhXVEY6OkZ1bmN0aW9uCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBw
cm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkFkZFRyYW5zYWN0aW9uQ2FsbGJh
Y2tJRChtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFja0Z1bmN0aW9uKSwgcHJvY2Vzcygp
LnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCkpKSwgbV93ZWJQYWdlUHJveHku
cGFnZUlEKCkpOworICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpBZGRUcmFuc2FjdGlv
bkNhbGxiYWNrSUQobV9jYWxsYmFja3MucHV0KFdURk1vdmUoY2FsbGJhY2tGdW5jdGlvbiksIHBy
b2Nlc3MoKS50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpKSkpOwogfQogCiB2
b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmhpZGVDb250ZW50VW50aWxQZW5k
aW5nVXBkYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IDRhMDFiZjI1ZGYyNzI0N2YxZTQ0OTRjODU5NTAyMDdhZGM3YzdlMmMuLmRmMjM4YTViYTg5Yjk2
NTQ1MDhmNjM3YzgyNDBkOTEwYWM4Njc5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtOTQ0LDcgKzk0NCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojppbml0
aWFsaXplV2ViUGFnZSgpCiAgICAgc2V0RHJhd2luZ0FyZWEocGFnZUNsaWVudCgpLmNyZWF0ZURy
YXdpbmdBcmVhUHJveHkobV9wcm9jZXNzKSk7CiAgICAgQVNTRVJUKG1fZHJhd2luZ0FyZWEpOwog
Ci0gICAgcHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNyZWF0ZVdlYlBhZ2Uo
bV9wYWdlSUQsIGNyZWF0aW9uUGFyYW1ldGVycyhtX3Byb2Nlc3MpKSwgMCk7CisgICAgcHJvY2Vz
cygpLnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNyZWF0ZVdlYlBhZ2UobV9wYWdlSUQsIGNy
ZWF0aW9uUGFyYW1ldGVycyhtX3Byb2Nlc3MsICptX2RyYXdpbmdBcmVhKSksIDApOwogCiAgICAg
bV9uZWVkc1RvRmluaXNoSW5pdGlhbGl6aW5nV2ViUGFnZUFmdGVyUHJvY2Vzc0xhdW5jaCA9IHRy
dWU7CiAgICAgZmluaXNoSW5pdGlhbGl6aW5nV2ViUGFnZUFmdGVyUHJvY2Vzc0xhdW5jaCgpOwpA
QCAtNDg3OCw3ICs0ODc4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNyZWF0ZU5ld1BhZ2UoY29u
c3QgRnJhbWVJbmZvRGF0YSYgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLAogCiAgICAgICAgIG5l
d1BhZ2UtPnNldE9wZW5lZEJ5RE9NKCk7CiAKLSAgICAgICAgcmVwbHkobmV3UGFnZS0+cGFnZUlE
KCksIG5ld1BhZ2UtPmNyZWF0aW9uUGFyYW1ldGVycyhtX3Byb2Nlc3MpKTsKKyAgICAgICAgcmVw
bHkobmV3UGFnZS0+cGFnZUlEKCksIG5ld1BhZ2UtPmNyZWF0aW9uUGFyYW1ldGVycyhtX3Byb2Nl
c3MsICpuZXdQYWdlLT5kcmF3aW5nQXJlYSgpKSk7CiAKICAgICAgICAgV2Vic2l0ZURhdGFTdG9y
ZTo6Y2xvbmVTZXNzaW9uRGF0YSgqdGhpcywgKm5ld1BhZ2UpOwogICAgICAgICBuZXdQYWdlLT5t
X3Nob3VsZFN1cHByZXNzQXBwTGlua3NJbk5leHROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24gPSBo
b3N0c0FyZUVxdWFsKFVSTCh7IH0sIG1haW5GcmFtZVVSTCksIHJlcXVlc3QudXJsKCkpOwpAQCAt
Njg1NywxMyArNjg1NywxNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJv
Y2Vzc0V4aXRlZChQcm9jZXNzVGVybWluYXRpb25SZWFzb24gdGVybWluYQogICAgIG1fcHJvY2Vz
cy0+cHJvY2Vzc1Rlcm1pbmF0ZWQoKTsKIH0KIAotV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBX
ZWJQYWdlUHJveHk6OmNyZWF0aW9uUGFyYW1ldGVycyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3Mp
CitXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0
ZXJzKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcywgRHJhd2luZ0FyZWFQcm94eSYgZHJhd2luZ0Fy
ZWEpCiB7CiAgICAgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwogCiAgICAg
cGFyYW1ldGVycy52aWV3U2l6ZSA9IHBhZ2VDbGllbnQoKS52aWV3U2l6ZSgpOwogICAgIHBhcmFt
ZXRlcnMuYWN0aXZpdHlTdGF0ZSA9IG1fYWN0aXZpdHlTdGF0ZTsKLSAgICBwYXJhbWV0ZXJzLmRy
YXdpbmdBcmVhVHlwZSA9IG1fZHJhd2luZ0FyZWEtPnR5cGUoKTsKKyAgICBwYXJhbWV0ZXJzLmRy
YXdpbmdBcmVhVHlwZSA9IGRyYXdpbmdBcmVhLnR5cGUoKTsKKyAgICBwYXJhbWV0ZXJzLmRyYXdp
bmdBcmVhSWRlbnRpZmllciA9IGRyYXdpbmdBcmVhLmlkZW50aWZpZXIoKTsKICAgICBwYXJhbWV0
ZXJzLnN0b3JlID0gcHJlZmVyZW5jZXNTdG9yZSgpOwogICAgIHBhcmFtZXRlcnMucGFnZUdyb3Vw
RGF0YSA9IG1fcGFnZUdyb3VwLT5kYXRhKCk7CiAgICAgcGFyYW1ldGVycy5kcmF3c0JhY2tncm91
bmQgPSBtX2RyYXdzQmFja2dyb3VuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggZDRmMTdmMGYzMDYxZWNmYmFiZDE3NzhkZTBlNGE3ZTgxYmIwYWUxYy4uY2QxZWMw
MDE1ZjhhYzRmNjU2OWEzZjI2MDgzYTQ1YWNkNjljOWViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwNzgsNyArMTA3OCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZENob29zZUZpbGVzRm9yT3BlblBhbmVsKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAgICAg
dm9pZCBkaWRDYW5jZWxGb3JPcGVuUGFuZWwoKTsKIAotICAgIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMgY3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYpOworICAgIFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMgY3JlYXRpb25QYXJhbWV0ZXJzKFdlYlByb2Nlc3NQcm94eSYsIERy
YXdpbmdBcmVhUHJveHkmKTsKIAogICAgIHZvaWQgaGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25s
b2FkUHJveHkqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCA3N2M4
MzgwOTE0YmNiMTNmNjVhN2M5MDRhOWMwMDZiYWZkMTFhYWY5Li4wNmU0NGQ0MTNjYjlmYjAzOTg1
YWM1MTdlNThiY2ZhNzI5MjE5Y2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5t
bQpAQCAtNTUsNyArNTUsNyBAQCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp+
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eSgpCiAKIHZvaWQgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6ZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKQogewot
ICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6U2V0RGV2aWNlU2NhbGVG
YWN0b3IobV93ZWJQYWdlUHJveHkuZGV2aWNlU2NhbGVGYWN0b3IoKSksIG1fd2ViUGFnZVByb3h5
LnBhZ2VJRCgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6U2V0RGV2aWNlU2Nh
bGVGYWN0b3IobV93ZWJQYWdlUHJveHkuZGV2aWNlU2NhbGVGYWN0b3IoKSkpOwogfQogCiB2b2lk
IFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OnNpemVEaWRDaGFuZ2UoKQpAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OnNp
emVEaWRDaGFuZ2UoKQogCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6
OmNvbG9yU3BhY2VEaWRDaGFuZ2UoKQogewotICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpE
cmF3aW5nQXJlYTo6U2V0Q29sb3JTcGFjZShtX3dlYlBhZ2VQcm94eS5jb2xvclNwYWNlKCkpLCBt
X3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7CisgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6
OlNldENvbG9yU3BhY2UobV93ZWJQYWdlUHJveHkuY29sb3JTcGFjZSgpKSk7CiB9CiAKIHZvaWQg
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6dmlld0xheW91dFNpemVEaWRDaGFu
Z2UoKQpAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWFQcm94eTo6ZGlkVXBkYXRlR2VvbWV0cnkoKQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYVByb3h5Ojp3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVN0YXRl
Q2hhbmdlSUQpCiB7CiAgICAgU2Vjb25kcyBhY3Rpdml0eVN0YXRlVXBkYXRlVGltZW91dCA9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoMjUwKTsKLSAgICBwcm9jZXNzKCkuY29ubmVjdGlvbigp
LT53YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWRVcGRhdGVBY3Rpdml0eVN0YXRlPihtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSwgYWN0aXZpdHlT
dGF0ZVVwZGF0ZVRpbWVvdXQsIElQQzo6V2FpdEZvck9wdGlvbjo6SW50ZXJydXB0V2FpdGluZ0lm
U3luY01lc3NhZ2VBcnJpdmVzKTsKKyAgICBwcm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0Rm9y
QW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRVcGRhdGVB
Y3Rpdml0eVN0YXRlPihtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgYWN0aXZpdHlTdGF0ZVVwZGF0
ZVRpbWVvdXQsIElQQzo6V2FpdEZvck9wdGlvbjo6SW50ZXJydXB0V2FpdGluZ0lmU3luY01lc3Nh
Z2VBcnJpdmVzKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5
OjppbnRyaW5zaWNDb250ZW50U2l6ZURpZENoYW5nZShjb25zdCBJbnRTaXplJiBuZXdJbnRyaW5z
aWNDb250ZW50U2l6ZSkKQEAgLTE4MiwxNyArMTgyLDE3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWFQcm94eTo6c2VuZFVwZGF0ZUdlb21ldHJ5KCkKICAgICBBU1NFUlQoIW1f
aXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkpOwogCiAgICAgd2lsbFNlbmRVcGRhdGVHZW9t
ZXRyeSgpOwotICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6VXBkYXRl
R2VvbWV0cnkobV9zaXplLCB0cnVlIC8qIGZsdXNoU3luY2hyb25vdXNseSAqLywgY3JlYXRlRmVu
Y2UoKSksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3
aW5nQXJlYTo6VXBkYXRlR2VvbWV0cnkobV9zaXplLCB0cnVlIC8qIGZsdXNoU3luY2hyb25vdXNs
eSAqLywgY3JlYXRlRmVuY2UoKSkpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhUHJveHk6OmFkanVzdFRyYW5zaWVudFpvb20oZG91YmxlIHNjYWxlLCBGbG9hdFBvaW50
IG9yaWdpbikKIHsKLSAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkFk
anVzdFRyYW5zaWVudFpvb20oc2NhbGUsIG9yaWdpbiksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgp
KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWRqdXN0VHJhbnNpZW50Wm9vbShz
Y2FsZSwgb3JpZ2luKSk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQ
cm94eTo6Y29tbWl0VHJhbnNpZW50Wm9vbShkb3VibGUgc2NhbGUsIEZsb2F0UG9pbnQgb3JpZ2lu
KQogewotICAgIHByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6Q29tbWl0VHJh
bnNpZW50Wm9vbShzY2FsZSwgb3JpZ2luKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworICAg
IHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpDb21taXRUcmFuc2llbnRab29tKHNjYWxlLCBv
cmlnaW4pKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojpk
aXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKFdURjo6RnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tC
YXNlOjpFcnJvcik+JiYgY2FsbGJhY2spCkBAIC0yMDIsNyArMjAyLDcgQEAgdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5n
KFdURjo6RnVuY3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHByb2Nlc3MoKS5zZW5k
KE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWRkVHJhbnNhY3Rpb25DYWxsYmFja0lEKG1fY2FsbGJh
Y2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrKSwgbnVsbHB0cikpLCBtX3dlYlBhZ2VQcm94eS5wYWdl
SUQoKSk7CisgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkFkZFRyYW5zYWN0aW9uQ2Fs
bGJhY2tJRChtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFjayksIG51bGxwdHIpKSk7CiB9
CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6ZGlzcGF0Y2hQcmVz
ZW50YXRpb25DYWxsYmFja3NBZnRlckZsdXNoaW5nTGF5ZXJzKGNvbnN0IFZlY3RvcjxDYWxsYmFj
a0lEPiYgY2FsbGJhY2tJRHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGVkZmU0NmIyMThl
MDUwZmMwMmVkZmIyYjk3NmYwZGZkZWRjMGRlN2YuLmRlYjRiZDcyZjQwN2YyMjJjNmQ4ZTg1MTIw
OWI2YjY2MzE5NGQ2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC01Myw3ICs1Myw3IEBA
IEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6On5BY2NlbGVyYXRlZERyYXdpbmdBcmVhKCkKIH0KIAog
QWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6QWNjZWxlcmF0ZWREcmF3aW5nQXJlYShXZWJQYWdlJiB3
ZWJQYWdlLCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQotICAg
IDogRHJhd2luZ0FyZWEoRHJhd2luZ0FyZWFUeXBlSW1wbCwgd2ViUGFnZSkKKyAgICA6IERyYXdp
bmdBcmVhKERyYXdpbmdBcmVhVHlwZUltcGwsIHBhcmFtZXRlcnMuZHJhd2luZ0FyZWFJZGVudGlm
aWVyLCB3ZWJQYWdlKQogICAgICwgbV9leGl0Q29tcG9zaXRpbmdUaW1lcihSdW5Mb29wOjptYWlu
KCksIHRoaXMsICZBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUpCiAgICAgLCBtX2Rpc2NhcmRQcmV2aW91c0xheWVyVHJlZUhvc3RUaW1lcihSdW5M
b29wOjptYWluKCksIHRoaXMsICZBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpkaXNjYXJkUHJldmlv
dXNMYXllclRyZWVIb3N0KQogewpAQCAtMTgzLDcgKzE4Myw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYTo6bGF5ZXJIb3N0RGlkRmx1c2hMYXllcnMoKQogCiAgICAgQVNTRVJUKCFtX2Nv
bXBvc2l0aW5nQWNjb3JkaW5nVG9Qcm94eU1lc3NhZ2VzKTsKICAgICBpZiAoIWV4aXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZVBlbmRpbmcoKSkgewotICAgICAgICBtX3dlYlBhZ2Uuc2VuZChN
ZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6RW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9k
ZShtX2JhY2tpbmdTdG9yZVN0YXRlSUQsIG1fbGF5ZXJUcmVlSG9zdC0+bGF5ZXJUcmVlQ29udGV4
dCgpKSk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6OkVudGVyQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobV9iYWNraW5nU3RvcmVTdGF0ZUlELCBtX2xheWVyVHJl
ZUhvc3QtPmxheWVyVHJlZUNvbnRleHQoKSkpOwogICAgICAgICBtX2NvbXBvc2l0aW5nQWNjb3Jk
aW5nVG9Qcm94eU1lc3NhZ2VzID0gdHJ1ZTsKICAgICB9CiB9CkBAIC0zMDcsNyArMzA3LDcgQEAg
dm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpzZW5kRGlkVXBkYXRlQmFja2luZ1N0b3JlU3Rh
dGUoKQogICAgICAgICBtX2xheWVyVHJlZUhvc3QtPmZvcmNlUmVwYWludCgpOwogICAgIH0KIAot
ICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVC
YWNraW5nU3RvcmVTdGF0ZShtX2JhY2tpbmdTdG9yZVN0YXRlSUQsIHVwZGF0ZUluZm8sIGxheWVy
VHJlZUNvbnRleHQpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRV
cGRhdGVCYWNraW5nU3RvcmVTdGF0ZShtX2JhY2tpbmdTdG9yZVN0YXRlSUQsIHVwZGF0ZUluZm8s
IGxheWVyVHJlZUNvbnRleHQpKTsKICAgICBtX2NvbXBvc2l0aW5nQWNjb3JkaW5nVG9Qcm94eU1l
c3NhZ2VzID0gIWxheWVyVHJlZUNvbnRleHQuaXNFbXB0eSgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAKaW5kZXggMjA4N2QxMzQ2
ZDc0MDBmODc5YTM1ODc5NDIzZGEyZjE0N2ExN2MyMy4uYTQ2ZTVkZTQ5ZjYxYTA1NTEzZTU2OTdi
Mzc1NmUxZGYwZmIxNDM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmNwcApAQCAtNjksMTEgKzY5LDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxE
cmF3aW5nQXJlYT4gRHJhd2luZ0FyZWE6OmNyZWF0ZShXZWJQYWdlJiB3ZWJQYWdlLCBjb25zdCBX
ZWJQYWdlCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLURyYXdpbmdBcmVhOjpEcmF3aW5nQXJl
YShEcmF3aW5nQXJlYVR5cGUgdHlwZSwgV2ViUGFnZSYgd2ViUGFnZSkKK0RyYXdpbmdBcmVhOjpE
cmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGUgdHlwZSwgRHJhd2luZ0FyZWFJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIFdlYlBhZ2UmIHdlYlBhZ2UpCiAgICAgOiBtX3R5cGUodHlwZSkKKyAgICAsIG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwgbV93ZWJQYWdlKHdlYlBhZ2UpCiB7Ci0gICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEcmF3
aW5nQXJlYTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2UucGFnZUlEKCksICp0aGlz
KTsKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OkRyYXdpbmdBcmVhOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJ
bnQ2NCgpLCAqdGhpcyk7CiB9CiAKIERyYXdpbmdBcmVhOjp+RHJhd2luZ0FyZWEoKQpAQCAtOTks
NyArMTAwLDcgQEAgdm9pZCBEcmF3aW5nQXJlYTo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVySWZOZWVk
ZWQoKQogICAgIGlmIChtX2hhc1JlbW92ZWRNZXNzYWdlUmVjZWl2ZXIpCiAgICAgICAgIHJldHVy
bjsKICAgICBtX2hhc1JlbW92ZWRNZXNzYWdlUmVjZWl2ZXIgPSB0cnVlOwotICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RHJhd2luZ0Fy
ZWE6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlLnBhZ2VJRCgpKTsKKyAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkRyYXdp
bmdBcmVhOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllci50b1VJbnQ2NCgpKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRleCAzNDdjODQ1Y2U4Yzk4YzUwY2M3MWMzNmY3Nzc2
MjhhYTdjNTk5NmIwLi5hMzU4MDMxYzM2NjVmMzQ2MjI5NmNmZWE4NWU2MGJmNjYxYWFkZmQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJEcmF3aW5nQXJlYUluZm8uaCIKICNpbmNsdWRlICJM
YXllclRyZWVDb250ZXh0LmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVk
ZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CkBA
IC02MSw3ICs2Miw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdHJ1Y3QgQ29sb3JTcGFjZURh
dGE7CiBjbGFzcyBMYXllclRyZWVIb3N0OwotY2xhc3MgV2ViUGFnZTsKIHN0cnVjdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzOwogc3RydWN0IFdlYlByZWZlcmVuY2VzU3RvcmU7CiAKQEAgLTc0
LDYgKzc0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkRyYXdpbmdBcmVhKCk7CiAgICAgCiAg
ICAgRHJhd2luZ0FyZWFUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBE
cmF3aW5nQXJlYUlkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRp
ZmllcjsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5SW5SZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KSA9IDA7CkBAIC0xNTUsOSArMTU2LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZU1lc3Nh
Z2VSZWNlaXZlcklmTmVlZGVkKCk7CiAKIHByb3RlY3RlZDoKLSAgICBEcmF3aW5nQXJlYShEcmF3
aW5nQXJlYVR5cGUsIFdlYlBhZ2UmKTsKKyAgICBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGUs
IERyYXdpbmdBcmVhSWRlbnRpZmllciwgV2ViUGFnZSYpOworCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVT4gYm9vbCBzZW5kKGNvbnN0IFUmIG1lc3NhZ2UpCisgICAgeworICAgICAgICByZXR1cm4g
bV93ZWJQYWdlLnNlbmQobWVzc2FnZSwgbV9pZGVudGlmaWVyLnRvVUludDY0KCksIHsgfSk7Cisg
ICAgfQogCiAgICAgRHJhd2luZ0FyZWFUeXBlIG1fdHlwZTsKKyAgICBEcmF3aW5nQXJlYUlkZW50
aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKIAogI2lmIFVTRShU
RVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oR1RLKSAmJiBQTEFURk9STShYMTEpICYmICFV
U0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDZhODZiMDAyYjg2
ZjQyYTAxY2Y0OGU1ZGY2OTAwYWNmNThmODMxYTkuLmRkZTZhYTAyOTJkYzdjNjVhMTE5ZDQ3ZWZm
NmY4MjQwNTNiYTg5ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtMjQyLDcgKzI0Miw3IEBAIHZvaWQgRHJhd2lu
Z0FyZWFJbXBsOjpzZW5kRGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUoKQogICAgICAgICAgICAg
bV9zaG91bGRTZW5kRGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUgPSBmYWxzZTsKIAogICAgICAg
ICAgICAgTGF5ZXJUcmVlQ29udGV4dCBsYXllclRyZWVDb250ZXh0OwotICAgICAgICAgICAgbV93
ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6OkRpZFVwZGF0ZUJhY2tpbmdT
dG9yZVN0YXRlKG1fYmFja2luZ1N0b3JlU3RhdGVJRCwgdXBkYXRlSW5mbywgbGF5ZXJUcmVlQ29u
dGV4dCkpOworICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6RGlk
VXBkYXRlQmFja2luZ1N0b3JlU3RhdGUobV9iYWNraW5nU3RvcmVTdGF0ZUlELCB1cGRhdGVJbmZv
LCBsYXllclRyZWVDb250ZXh0KSk7CiAgICAgICAgICAgICBtX2NvbXBvc2l0aW5nQWNjb3JkaW5n
VG9Qcm94eU1lc3NhZ2VzID0gZmFsc2U7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
QEAgLTMwOCwxMiArMzA4LDEyIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpleGl0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ01vZGUoKQogICAgIC8vIFNlbmQgYWxvbmcgYSBjb21wbGV0ZSB1cGRhdGUg
b2YgdGhlIHBhZ2Ugc28gd2UgY2FuIHBhaW50IHRoZSBjb250ZW50cyByaWdodCBhZnRlciB3ZSBl
eGl0IHRoZQogICAgIC8vIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIG1vZGUsIGVsaW1pbmlhdGlu
ZyBmbGlja2VyLgogICAgIGlmIChtX2NvbXBvc2l0aW5nQWNjb3JkaW5nVG9Qcm94eU1lc3NhZ2Vz
KSB7Ci0gICAgICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpF
eGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobV9iYWNraW5nU3RvcmVTdGF0ZUlELCB1cGRh
dGVJbmZvKSk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6OkV4aXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShtX2JhY2tpbmdTdG9yZVN0YXRlSUQsIHVwZGF0ZUlu
Zm8pKTsKICAgICAgICAgbV9jb21wb3NpdGluZ0FjY29yZGluZ1RvUHJveHlNZXNzYWdlcyA9IGZh
bHNlOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElmIHdlIGxlZnQgYWNjZWxlcmF0ZWQgY29t
cG9zaXRpbmcgbW9kZSBiZWZvcmUgd2Ugc2VudCBhbiBFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdNb2RlIG1lc3NhZ2UgdG8gdGhlCiAgICAgICAgIC8vIFVJIHByb2Nlc3MsIHdlIHN0aWxsIG5l
ZWQgdG8gbGV0IGl0IGtub3cgYWJvdXQgdGhlIG5ldyBjb250ZW50cywgc28gc2VuZCBhbiBVcGRh
dGUgbWVzc2FnZS4KLSAgICAgICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVh
UHJveHk6OlVwZGF0ZShtX2JhY2tpbmdTdG9yZVN0YXRlSUQsIHVwZGF0ZUluZm8pKTsKKyAgICAg
ICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6VXBkYXRlKG1fYmFja2luZ1N0b3Jl
U3RhdGVJRCwgdXBkYXRlSW5mbykpOwogICAgIH0KIH0KIApAQCAtMzY3LDcgKzM2Nyw3IEBAIHZv
aWQgRHJhd2luZ0FyZWFJbXBsOjpkaXNwbGF5KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpVcGRhdGUobV9i
YWNraW5nU3RvcmVTdGF0ZUlELCB1cGRhdGVJbmZvKSk7CisgICAgc2VuZChNZXNzYWdlczo6RHJh
d2luZ0FyZWFQcm94eTo6VXBkYXRlKG1fYmFja2luZ1N0b3JlU3RhdGVJRCwgdXBkYXRlSW5mbykp
OwogICAgIG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlID0gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDU3OTgz
NTE0NGIxZjY3ODI2MzI3ZjBjNTk2NjI1YTBhZmE5YzcwOGIuLmNiNzA2YmVlZDA4OGM5MDQ0ODM4
YWQyNDgwZDg5M2M5NGZlMDAyNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgIlJl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAjaW1wb3J0ICJSZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclRyYW5zYWN0aW9uLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5o
IgogI2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+CkBAIC01NCw4ICs1NSw4IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCi1SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6UmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEoV2ViUGFnZSYgd2ViUGFnZSwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYpCi0gICAgOiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGVSZW1vdGVMYXllclRyZWUs
IHdlYlBhZ2UpCitSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6UmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEoV2ViUGFnZSYgd2ViUGFnZSwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKKyAgICA6IERyYXdpbmdBcmVhKERyYXdpbmdBcmVhVHlwZVJlbW90ZUxh
eWVyVHJlZSwgcGFyYW1ldGVycy5kcmF3aW5nQXJlYUlkZW50aWZpZXIsIHdlYlBhZ2UpCiAgICAg
LCBtX3JlbW90ZUxheWVyVHJlZUNvbnRleHQoc3RkOjptYWtlX3VuaXF1ZTxSZW1vdGVMYXllclRy
ZWVDb250ZXh0Pih3ZWJQYWdlKSkKICAgICAsIG1fcm9vdExheWVyKEdyYXBoaWNzTGF5ZXI6OmNy
ZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcykpCiAgICAgLCBtX2xheWVyRmx1c2hU
aW1lcigqdGhpcywgJlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycykKQEAg
LTE0Niw3ICsxNDcsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjp1cGRhdGVH
ZW9tZXRyeShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSwgYm9vbCBmbAogCiAgICAgc2NoZWR1bGVD
b21wb3NpdGluZ0xheWVyRmx1c2goKTsKIAotICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpE
cmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVHZW9tZXRyeSgpKTsKKyAgICBzZW5kKE1lc3NhZ2Vz
OjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVHZW9tZXRyeSgpKTsKIH0KIAogYm9vbCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2hvdWxkVXNlVGlsZWRCYWNraW5nRm9yRnJhbWVWaWV3
KGNvbnN0IEZyYW1lVmlldyYgZnJhbWVWaWV3KQpAQCAtMzk5LDEwICs0MDAsMTAgQEAgdm9pZCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoKQogICAgIG1fbmV4dEZsdXNo
SXNGb3JJbW1lZGlhdGVQYWludCA9IGZhbHNlOwogICAgIG1fd2FpdGluZ0ZvckJhY2tpbmdTdG9y
ZVN3YXAgPSB0cnVlOwogCi0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk6OldpbGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlv
bi50cmFuc2FjdGlvbklEKCkpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5OjpXaWxsQ29tbWl0TGF5ZXJUcmVlKGxheWVyVHJhbnNhY3Rpb24udHJh
bnNhY3Rpb25JRCgpKSk7CiAKICAgICBNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6Q29tbWl0TGF5ZXJUcmVlIG1lc3NhZ2UobGF5ZXJUcmFuc2FjdGlvbiwgc2Nyb2xs
aW5nVHJhbnNhY3Rpb24pOwotICAgIGF1dG8gY29tbWl0RW5jb2RlciA9IHN0ZDo6bWFrZV91bmlx
dWU8SVBDOjpFbmNvZGVyPihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6Q29tbWl0TGF5ZXJUcmVlOjpyZWNlaXZlck5hbWUoKSwgTWVzc2FnZXM6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk6OkNvbW1pdExheWVyVHJlZTo6bmFtZSgpLCBtX3dlYlBhZ2Uu
cGFnZUlEKCkpOworICAgIGF1dG8gY29tbWl0RW5jb2RlciA9IHN0ZDo6bWFrZV91bmlxdWU8SVBD
OjpFbmNvZGVyPihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Q29t
bWl0TGF5ZXJUcmVlOjpyZWNlaXZlck5hbWUoKSwgTWVzc2FnZXM6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OkNvbW1pdExheWVyVHJlZTo6bmFtZSgpLCBtX2lkZW50aWZpZXIudG9V
SW50NjQoKSk7CiAgICAgY29tbWl0RW5jb2Rlci0+ZW5jb2RlKG1lc3NhZ2UuYXJndW1lbnRzKCkp
OwogCiAgICAgLy8gRklYTUU6IE1vdmUgYWxsIGJhY2tpbmcgc3RvcmUgZmx1c2hpbmcgbWFuYWdl
bWVudCB0byBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDE5MmVlZTRiZDhmZGIwMDBl
NjRjYjlkNmZjMjI3MDUyY2QyMmRlYzQuLmYzYmVkYTE4OGRkYTkwMTJjMjMwZDI4ZGNjNTI4YTFh
ZDgzY2U1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCkBAIC03MDksNiArNzA5LDcgQEAgdm9pZCBXZWJQYWdlOjpyZWluaXRpYWxpemVXZWJQYWdl
KFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogCiAgICAgICAgIHVuZnJl
ZXplTGF5ZXJUcmVlKExheWVyVHJlZUZyZWV6ZVJlYXNvbjo6UGFnZVN1c3BlbmRlZCk7CiAgICAg
fQorICAgIFJFTEVBU0VfQVNTRVJUKG1fZHJhd2luZ0FyZWEtPmlkZW50aWZpZXIoKSA9PSBwYXJh
bWV0ZXJzLmRyYXdpbmdBcmVhSWRlbnRpZmllcik7CiAKICAgICBzZXRWaWV3TGF5b3V0U2l6ZShw
YXJhbWV0ZXJzLnZpZXdMYXlvdXRTaXplKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tCmluZGV4IDMyNGQwNjMxNjIzMzJiOGQ0ZjY2NjIxNjc5YjA1MjcxMTI5NDc4
YzIuLjc1MWQ0ZDcxNjJiY2JiY2Q0YWVkY2MyMjYzYWQ2MzcyMjFhNjJjMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTc0LDcgKzc0LDcgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKFdlYlBhZ2UmIHdl
YlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCi0gICAg
OiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGVUaWxlZENvcmVBbmltYXRpb24sIHdlYlBhZ2Up
CisgICAgOiBEcmF3aW5nQXJlYShEcmF3aW5nQXJlYVR5cGVUaWxlZENvcmVBbmltYXRpb24sIHBh
cmFtZXRlcnMuZHJhd2luZ0FyZWFJZGVudGlmaWVyLCB3ZWJQYWdlKQogICAgICwgbV9sYXllclRy
ZWVTdGF0ZUlzRnJvemVuKGZhbHNlKQogICAgICwgbV9pc1BhaW50aW5nU3VzcGVuZGVkKCEocGFy
YW1ldGVycy5hY3Rpdml0eVN0YXRlICYgQWN0aXZpdHlTdGF0ZTo6SXNWaXNpYmxlKSkKICAgICAs
IG1fdHJhbnNpZW50Wm9vbVNjYWxlKDEpCkBAIC0xMTgsNyArMTE4LDcgQEAgdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2VuZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01v
ZGVJZk5lZWRlZCgKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgTGF5ZXJUcmVlQ29udGV4
dCBsYXllclRyZWVDb250ZXh0OwogICAgICAgICBsYXllclRyZWVDb250ZXh0LmNvbnRleHRJRCA9
IG1fbGF5ZXJIb3N0aW5nQ29udGV4dC0+Y29udGV4dElEKCk7Ci0gICAgICAgIG1fd2ViUGFnZS5z
ZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdNb2RlKDAsIGxheWVyVHJlZUNvbnRleHQpKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6RHJh
d2luZ0FyZWFQcm94eTo6RW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgwLCBsYXllclRy
ZWVDb250ZXh0KSk7CiAgICAgfSk7CiB9CiAKQEAgLTI5OCw3ICsyOTgsNyBAQCB2b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVJbnRyaW5zaWNDb250ZW50U2l6ZUlmTmVl
ZGVkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9sYXN0U2VudEludHJpbnNpY0NvbnRlbnRT
aXplID0gY29udGVudFNpemU7Ci0gICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdB
cmVhUHJveHk6OkludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnRlbnRTaXplKSk7Cisg
ICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6SW50cmluc2ljQ29udGVudFNpemVE
aWRDaGFuZ2UoY29udGVudFNpemUpKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6c2V0U2hvdWxkU2NhbGVWaWV3VG9GaXREb2N1bWVudChib29sIHNob3VsZFNjYWxl
VmlldykKQEAgLTUwNCw3ICs1MDQsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjpmbHVzaExheWVycygpCiAgICAgICAgICAgICBhcHBseVRyYW5zaWVudFpvb21Ub0xheWVy
cyhtX3RyYW5zaWVudFpvb21TY2FsZSwgbV90cmFuc2llbnRab29tT3JpZ2luKTsKIAogICAgICAg
ICBpZiAoIW1fcGVuZGluZ0NhbGxiYWNrSURzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgbV93
ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6OkRpc3BhdGNoUHJlc2VudGF0
aW9uQ2FsbGJhY2tzQWZ0ZXJGbHVzaGluZ0xheWVycyhtX3BlbmRpbmdDYWxsYmFja0lEcykpOwor
ICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6RGlzcGF0Y2hQcmVz
ZW50YXRpb25DYWxsYmFja3NBZnRlckZsdXNoaW5nTGF5ZXJzKG1fcGVuZGluZ0NhbGxiYWNrSURz
KSk7CiAgICAgICAgICAgICBtX3BlbmRpbmdDYWxsYmFja0lEcy5jbGVhcigpOwogICAgICAgICB9
CiAKQEAgLTYzMCw3ICs2MzAsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
Ojp1cGRhdGVHZW9tZXRyeShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSwgYm9vbAogICAgIGlmIChm
bHVzaFN5bmNocm9ub3VzbHkpCiAgICAgICAgIFtDQVRyYW5zYWN0aW9uIGZsdXNoXTsKIAotICAg
IG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVHZW9t
ZXRyeSgpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRVcGRhdGVH
ZW9tZXRyeSgpKTsKIAogICAgIG1faW5VcGRhdGVHZW9tZXRyeSA9IGZhbHNlOwogCkBAIC02NDks
NyArNjQ5LDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2V0TGF5ZXJI
b3N0aW5nTW9kZShMYXllckhvc3RpbmdNb2RlKQogICAgIC8vIEZpbmFsbHksIGluZm9ybSB0aGUg
VUlQcm9jZXNzIHRoYXQgdGhlIGNvbnRleHQgaGFzIGNoYW5nZWQuCiAgICAgTGF5ZXJUcmVlQ29u
dGV4dCBsYXllclRyZWVDb250ZXh0OwogICAgIGxheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0g
bV9sYXllckhvc3RpbmdDb250ZXh0LT5jb250ZXh0SUQoKTsKLSAgICBtX3dlYlBhZ2Uuc2VuZChN
ZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6VXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01v
ZGUoMCwgbGF5ZXJUcmVlQ29udGV4dCkpOworICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVh
UHJveHk6OlVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKDAsIGxheWVyVHJlZUNvbnRl
eHQpKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2V0Q29sb3JT
cGFjZShjb25zdCBDb2xvclNwYWNlRGF0YSYgY29sb3JTcGFjZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362842</attachid>
            <date>2019-02-23 17:47:09 -0800</date>
            <delta_ts>2019-02-23 19:03:15 -0800</delta_ts>
            <desc>Follow-up fix for API tests</desc>
            <filename>bug-194969-20190223174707.patch</filename>
            <type>text/plain</type>
            <size>4531</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdlOGVmZjMyNGI5ZDQ0N2Vk
ZjY5ZDRiYzNlNDI3NGM0YjVmMmVmZDYuLjg5MWIwOWM2NWE3ZTg0YTkyYWFlMmRiODNmOWM1Y2E4
ZjA3NDJiZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDItMjMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBHaXZlIERyYXdpbmdBcmVhcyB0aGVp
ciBvd24gaWRlbnRpZmllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NDk2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDgxNTQ1MDg+CisKKyAg
ICAgICAgVW5yZXZpZXdlZCwgZml4IEFQSSB0ZXN0IGRlYnVnIGFzc2VydGlvbiBmYWlsdXJlcyBh
ZnRlciByMjQxOTg4LgorICAgICAgICBXZSBkbyBub3Qgc3VwcG9ydCBzZW5kaW5nIGFuIE9iamVj
dElkZW50aWZpZXIgdGhhdCBpcyAwIHZpYSBJUEMgc28gdXBkYXRlIFdlYlBhZ2VQcm94eTo6Q3Jl
YXRlTmV3UGFnZQorICAgICAgICBJUEMgdG8gcmV0dXJuIGFuIE9wdGlvbmFsPFdlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnM+IGluc3RlYWQgb2YgYSBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLiBJ
dCByZXR1cm5zCisgICAgICAgIG51bGxvcHQgd2hlbiB0aGVyZSB0aGlzIG5vIFVJQ2xpZW50IG9y
IHRoZSBjbGllbnQgZGlkIG5vdCBjcmVhdGUgdGhlIHBhZ2UsIGluc3RlYWQgb2YgcmV0dXJuaW5n
IGEKKyAgICAgICAgZGVmYXVsdC1pbml0aWFsaXplZCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV3UGFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVu
dDo6Y3JlYXRlV2luZG93KToKKwogMjAxOS0wMi0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVtbmFudHMgb2YgaU9TIFdLMSBzY3Jv
bGxpbmcgdHJlZSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCBkZjIzOGE1YmE4OWI5NjU0NTA4ZjYzN2M4MjQwZDkxMGFjODY3OTNmLi5iYzE0MmZjMzQ3
ZGQwNTAyYTJhOGU2NzUyZjIzYzRlMGQ4NjliOTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTQ4NzIsNyArNDg3Miw3IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpjcmVhdGVOZXdQYWdlKGNvbnN0IEZyYW1lSW5mb0RhdGEmIG9yaWdpbmF0aW5nRnJhbWVJbmZv
RGF0YSwKIAogICAgIG1fdWlDbGllbnQtPmNyZWF0ZU5ld1BhZ2UoKnRoaXMsIFdURk1vdmUob3Jp
Z2luYXRpbmdGcmFtZUluZm8pLCBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHdpbmRvd0ZlYXR1
cmVzKSwgV1RGTW92ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSksIFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyksIG1haW5GcmFtZVVSTCwgcmVxdWVzdCwgcmVwbHkgPSBXVEZNb3Zl
KHJlcGx5KV0gKFJlZlB0cjxXZWJQYWdlUHJveHk+IG5ld1BhZ2UpIG11dGFibGUgewogICAgICAg
ICBpZiAoIW5ld1BhZ2UpIHsKLSAgICAgICAgICAgIHJlcGx5KDAsIHsgfSk7CisgICAgICAgICAg
ICByZXBseSgwLCBXVEY6Om51bGxvcHQpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCAwOGNlOWU1ZmQwYTU4MWI0NjhiZTIzMjUwZjczNTlmMGJjYzQ5NzMyLi5jMTBhNzVj
MDU5ZDdmMDkxZjUwNGI0ZmM5NWMxYTQzNzJjYTA1MDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMiw3ICsyMiw3IEBACiAK
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBVSSBtZXNzYWdlcwotICAgIENyZWF0
ZU5ld1BhZ2Uoc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBvcmlnaW5hdGluZ0ZyYW1lSW5m
b0RhdGEsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzIHdpbmRvd0ZlYXR1cmVz
LCBzdHJ1Y3QgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSBuYXZpZ2F0aW9uQWN0aW9uRGF0
YSkgLT4gKHVpbnQ2NF90IG5ld1BhZ2VJRCwgc3RydWN0IFdlYktpdDo6V2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycyBuZXdQYWdlUGFyYW1ldGVycykgRGVsYXllZAorICAgIENyZWF0ZU5ld1BhZ2Uo
c3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBvcmlnaW5hdGluZ0ZyYW1lSW5mb0RhdGEsIHVp
bnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dCwgc3RydWN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzIHdpbmRvd0ZlYXR1cmVzLCBzdHJ1Y3Qg
V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSBuYXZpZ2F0aW9uQWN0aW9uRGF0YSkgLT4gKHVp
bnQ2NF90IG5ld1BhZ2VJRCwgT3B0aW9uYWw8V2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzPiBuZXdQYWdlUGFyYW1ldGVycykgRGVsYXllZAogICAgIFNob3dQYWdlKCkKICAgICBDbG9z
ZVBhZ2UoYm9vbCBzdG9wUmVzcG9uc2l2ZW5lc3NUaW1lcikKICAgICBSdW5KYXZhU2NyaXB0QWxl
cnQodWludDY0X3QgZnJhbWVJRCwgc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBm
cmFtZVNlY3VyaXR5T3JpZ2luLCBTdHJpbmcgbWVzc2FnZSkgLT4gKCkgRGVsYXllZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcAppbmRleCAzZTFlMWE4NzM2ZjgwYjNjNGE5MTY0NjNlYzhiMDdkMDdjN2Vh
ZGJiLi42N2ZkN2E3MjBjZTJmMzM5NzcwMzUxNDhiZGJkMmNlZmE3YzdmZDM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcApAQCAtMjg1LDE0ICsyODUsMTUgQEAgUGFnZSogV2ViQ2hyb21lQ2xpZW50
OjpjcmVhdGVXaW5kb3coRnJhbWUmIGZyYW1lLCBjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiByZXF1
ZXMKICAgICBXZWJGcmFtZSogd2ViRnJhbWUgPSBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZShmcmFt
ZSk7CiAKICAgICB1aW50NjRfdCBuZXdQYWdlSUQgPSAwOwotICAgIFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICBPcHRpb25hbDxXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzPiBwYXJhbWV0ZXJzOwogICAgIGlmICghd2ViUHJvY2Vzcy5wYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlKHdl
YkZyYW1lLT5pbmZvKCksIHdlYkZyYW1lLT5wYWdlKCktPnBhZ2VJRCgpLCByZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLCB3aW5kb3dGZWF0dXJlcywgbmF2aWdhdGlvbkFjdGlvbkRhdGEpLCBNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpDcmVhdGVOZXdQYWdlOjpSZXBseShuZXdQYWdlSUQsIHBhcmFt
ZXRlcnMpLCBtX3BhZ2UucGFnZUlEKCkpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAg
IGlmICghbmV3UGFnZUlEKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBBU1NFUlQocGFy
YW1ldGVycyk7CiAKLSAgICB3ZWJQcm9jZXNzLmNyZWF0ZVdlYlBhZ2UobmV3UGFnZUlELCBXVEZN
b3ZlKHBhcmFtZXRlcnMpKTsKKyAgICB3ZWJQcm9jZXNzLmNyZWF0ZVdlYlBhZ2UobmV3UGFnZUlE
LCBXVEZNb3ZlKCpwYXJhbWV0ZXJzKSk7CiAgICAgcmV0dXJuIHdlYlByb2Nlc3Mud2ViUGFnZShu
ZXdQYWdlSUQpLT5jb3JlUGFnZSgpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>