<?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>190757</bug_id>
          
          <creation_ts>2018-10-19 11:24:17 -0700</creation_ts>
          <short_desc>Make synchronous IPC introduced in r237267 asynchronous</short_desc>
          <delta_ts>2018-11-27 17:46:03 -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>New Bugs</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1470933</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-19 11:24:17 -0700</bug_when>
    <thetext>Make synchronous IPC introduced in r237267 asynchronous</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470935</commentid>
    <comment_count>1</comment_count>
      <attachid>352807</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-19 11:26:45 -0700</bug_when>
    <thetext>Created attachment 352807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471253</commentid>
    <comment_count>2</comment_count>
      <attachid>352807</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-22 10:15:34 -0700</bug_when>
    <thetext>Comment on attachment 352807
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=352807&amp;action=review

Looks good but I have one concern about the autorelease.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:584
&gt; +        completionHandler(array);

Any reason you dropped the autorelease?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471751</commentid>
    <comment_count>3</comment_count>
      <attachid>352807</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-10-23 20:42:58 -0700</bug_when>
    <thetext>Comment on attachment 352807
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=352807&amp;action=review

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:584
&gt;&gt; +        completionHandler(array);
&gt; 
&gt; Any reason you dropped the autorelease?

That does indeed introduce a memory leak.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482249</commentid>
    <comment_count>4</comment_count>
      <attachid>355822</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-11-27 16:53:19 -0800</bug_when>
    <thetext>Created attachment 355822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482280</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 17:43:43 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 355822:

workers/bomb.html bug 171985 (author: fpizlo@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482281</commentid>
    <comment_count>6</comment_count>
      <attachid>355822</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 17:44:37 -0800</bug_when>
    <thetext>Comment on attachment 355822
Patch

Clearing flags on attachment: 355822

Committed r238593: &lt;https://trac.webkit.org/changeset/238593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482282</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 17:44:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482285</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-27 17:46:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/46295880&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352807</attachid>
            <date>2018-10-19 11:26:45 -0700</date>
            <delta_ts>2018-11-27 16:53:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190757-20181019112645.patch</filename>
            <type>text/plain</type>
            <size>16022</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzcyOTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE4LTEwLTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBzeW5jaHJv
bm91cyBJUEMgaW50cm9kdWNlZCBpbiByMjM3MjY3IGFzeW5jaHJvbm91cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5uZWNlc3NhcnkgaW50cm9kdWN0
aW9uIG9mIHN5bmNocm9ub3VzIG1lc3NhZ2VzIGxlYWRzIHRvIGhhbmdzIGFuZCBwb29ybHkgZGVz
aWduZWQgc29mdHdhcmUuCisgICAgICAgIHIyMzcyOTQgaW50cm9kdWNlZCBhIG1vcmUgZWxlZ2Fu
dCB3YXkgb2YgbWFraW5nIHN5bmNocm9ub3VzIG1lc3NhZ2VzIHdpdGggcmVwbGllcy4gIExldCdz
IHVzZSBpdC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbToKKyAgICAgICAgKC1bV0tQ
cm9jZXNzUG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzpj
b21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tQcm9jZXNzUG9vbCBfZ2V0QWN0aXZl
UGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzpdKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OmFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3RpbmcpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmFjdGl2
ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpnZXRBY3RpdmVQYWdlc09yaWdpbnNGb3JUZXN0aW5nKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmdldEFjdGl2ZVBhZ2Vz
T3JpZ2luc0ZvclRlc3RpbmcpOgorCiAyMDE4LTEwLTE5ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW50cm9kdWNlIENvbXBsZXRpb25IYW5k
bGVyLWJhc2VkIEFzeW5jIElQQyBtZXNzYWdlcyB3aXRoIHJlcGxpZXMKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQkocmV2aXNpb24gMjM3Mjk0KQorKysgU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQkod29ya2luZyBjb3B5KQpAQCAt
MTg5LDcgKzE4OSw3IEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWMK
ICAgICBdKQogCiAgICAgZm9yIG1lc3NhZ2UgaW4gcmVjZWl2ZXIubWVzc2FnZXM6Ci0gICAgICAg
IGlmIG1lc3NhZ2UucmVwbHlfcGFyYW1ldGVycyAhPSBOb25lIGFuZCBtZXNzYWdlLmhhc19hdHRy
aWJ1dGUoREVMQVlFRF9BVFRSSUJVVEUpOgorICAgICAgICBpZiBtZXNzYWdlLnJlcGx5X3BhcmFt
ZXRlcnMgIT0gTm9uZToKICAgICAgICAgICAgIGhlYWRlcnMuYWRkKCc8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+JykKICAgICAgICAgICAgIHR5cGVzX2J5X25hbWVzcGFjZVsnSVBDJ10udXBk
YXRlKFsoJ2NsYXNzJywgJ0Nvbm5lY3Rpb24nKV0pCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDIzNzI5NCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMy
NiwxMyArMTMyNiwxMyBAQCBQcm9jZXNzSUQgV2ViUHJvY2Vzc1Bvb2w6Om5ldHdvcmtQcm9jZXNz
CiAgICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCk7CiB9CiAK
LVZlY3RvcjxTdHJpbmc+IFdlYlByb2Nlc3NQb29sOjphY3RpdmVQYWdlc09yaWdpbnNJbldlYlBy
b2Nlc3NGb3JUZXN0aW5nKFByb2Nlc3NJRCBwaWQpCit2b2lkIFdlYlByb2Nlc3NQb29sOjphY3Rp
dmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nKFByb2Nlc3NJRCBwaWQsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogbV9wcm9jZXNzZXMpIHsKICAgICAgICAgaWYg
KHByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gcGlkKQotICAgICAgICAgICAgcmV0dXJu
IHByb2Nlc3MtPmFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoKTsKKyAgICAgICAgICAgIHJl
dHVybiBwcm9jZXNzLT5hY3RpdmVQYWdlc0RvbWFpbnNGb3JUZXN0aW5nKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKICAgICB9Ci0gICAgcmV0dXJuIHsgfTsKKyAgICBjb21wbGV0aW9uSGFu
ZGxlcih7IH0pOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRBbHdheXNVc2VzQ29tcGxl
eFRleHRDb2RlUGF0aChib29sIGFsd2F5c1VzZUNvbXBsZXhUZXh0KQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyMzcyOTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTUsNyArMjE1LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJTdXBwb3J0ZWRQbHVnaW5zKCk7
CiAKICAgICBQcm9jZXNzSUQgbmV0d29ya1Byb2Nlc3NJZGVudGlmaWVyKCk7Ci0gICAgVmVjdG9y
PFN0cmluZz4gYWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZyhQcm9jZXNz
SUQpOworICAgIHZvaWQgYWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZyhQ
cm9jZXNzSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYpOwog
CiAgICAgV2ViUGFnZUdyb3VwJiBkZWZhdWx0UGFnZUdyb3VwKCkgeyByZXR1cm4gbV9kZWZhdWx0
UGFnZUdyb3VwLmdldCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjM3Mjk0KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQwNCwxMSArMTQw
NCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDb2xsZWN0UHJld2FybUkKICAgICBwcm9j
ZXNzUG9vbCgpLmRpZENvbGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oZG9tYWluLCBwcmV3YXJtSW5m
b3JtYXRpb24pOwogfQogCi1WZWN0b3I8U3RyaW5nPiBXZWJQcm9jZXNzUHJveHk6OmFjdGl2ZVBh
Z2VzRG9tYWluc0ZvclRlc3RpbmcoKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmFjdGl2ZVBhZ2Vz
RG9tYWluc0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBWZWN0b3I8U3RyaW5nPiBhY3RpdmVEb21h
aW5zOwotICAgIHNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpHZXRBY3RpdmVQYWdlc09y
aWdpbnNGb3JUZXN0aW5nKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpHZXRBY3RpdmVQYWdlc09y
aWdpbnNGb3JUZXN0aW5nOjpSZXBseShhY3RpdmVEb21haW5zKSwgMCk7Ci0gICAgcmV0dXJuIGFj
dGl2ZURvbWFpbnM7CisgICAgY29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OkdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3RpbmcoKSwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyMzcy
OTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBwYWdlQ291
bnQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VNYXAuc2l6ZSgpOyB9CiAgICAgdW5zaWduZWQgdmlz
aWJsZVBhZ2VDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZVBhZ2VDb3VudGVyLnZhbHVl
KCk7IH0KIAotICAgIFZlY3RvcjxTdHJpbmc+IGFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3Rpbmco
KTsgLy8gVGhpcyBpcyB3aGF0IGlzIHJlcG9ydGVkIHRvIEFjdGl2aXR5TW9uaXRvci4KKyAgICB2
b2lkIGFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChW
ZWN0b3I8U3RyaW5nPiYmKT4mJik7IC8vIFRoaXMgaXMgd2hhdCBpcyByZXBvcnRlZCB0byBBY3Rp
dml0eU1vbml0b3IuCiAKICAgICB2aXJ0dWFsIGJvb2wgaXNTZXJ2aWNlV29ya2VyUHJvY2Vzcygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCShyZXZpc2lvbiAyMzcyOTQpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQkod29y
a2luZyBjb3B5KQpAQCAtNDksNiArNDksNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5EYXRh
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJTUEkuaD4KKyNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAK
QEAgLTU3NCwxNCArNTc1LDE0IEBAIC0gKF9XS0Rvd25sb2FkICopX3Jlc3VtZURvd25sb2FkRnJv
bURhdGEKICAgICByZXR1cm4gd3JhcHBlcihfcHJvY2Vzc1Bvb2wtPnJlc3VtZURvd25sb2FkKEFQ
STo6RGF0YTo6Y3JlYXRlV2l0aG91dENvcHlpbmcocmVzdW1lRGF0YSkucHRyKCksIHBhdGgpKTsK
IH0KIAotLSAoTlNBcnJheTxOU1N0cmluZyAqPiAqKV9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldl
YlByb2Nlc3NGb3JUZXN0aW5nOihwaWRfdClwaWQKKy0gKHZvaWQpX2dldEFjdGl2ZVBhZ2VzT3Jp
Z2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6KHBpZF90KXBpZCBjb21wbGV0aW9uSGFuZGxlcjoo
dm9pZCheKShOU0FycmF5PE5TU3RyaW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVyCiB7Ci0gICAg
YXV0byBhY3RpdmVQYWdlc09yaWdpbnMgPSBfcHJvY2Vzc1Bvb2wtPmFjdGl2ZVBhZ2VzT3JpZ2lu
c0luV2ViUHJvY2Vzc0ZvclRlc3RpbmcocGlkKTsKLQotICAgIE5TTXV0YWJsZUFycmF5PE5TU3Ry
aW5nICo+ICphcnJheSA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6
YWN0aXZlUGFnZXNPcmlnaW5zLnNpemUoKV07Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4gOiBhY3Rp
dmVQYWdlc09yaWdpbnMpCi0gICAgICAgIFthcnJheSBhZGRPYmplY3Q6KE5TU3RyaW5nICopb3Jp
Z2luXTsKLSAgICByZXR1cm4gW2FycmF5IGF1dG9yZWxlYXNlXTsKKyAgICBfcHJvY2Vzc1Bvb2wt
PmFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3RpbmcocGlkLCBbY29tcGxldGlv
bkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoVmVjdG9yPFN0cmlu
Zz4mJiBhY3RpdmVQYWdlc09yaWdpbnMpIHsKKyAgICAgICAgTlNNdXRhYmxlQXJyYXk8TlNTdHJp
bmcgKj4gKmFycmF5ID0gW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTph
Y3RpdmVQYWdlc09yaWdpbnMuc2l6ZSgpXTsKKyAgICAgICAgZm9yIChhdXRvJiBvcmlnaW4gOiBh
Y3RpdmVQYWdlc09yaWdpbnMpCisgICAgICAgICAgICBbYXJyYXkgYWRkT2JqZWN0Om9yaWdpbl07
CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGFycmF5KTsKKyAgICB9KTsKIH0KIAogQGVuZApJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHJldmlzaW9uIDIzNzI5NCkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTMsNyArMTEzLDcgQEAKIC0gKHZvaWQpX3NldEFsbG93c0FueVNTTENlcnRpZmljYXRl
Rm9yU2VydmljZVdvcmtlcjooQk9PTClhbGxvd3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMuNCksIGlvcygxMS4zKSk7CiAtICh2b2lkKV9yZWdpc3RlclVSTFNjaGVtZVNlcnZpY2VXb3Jr
ZXJzQ2FuSGFuZGxlOihOU1N0cmluZyAqKXNjaGVtZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMy40KSwgaW9zKDExLjMpKTsKIC0gKHZvaWQpX3NldE1heGltdW1OdW1iZXJPZlByb2Nlc3Nl
czooTlNVSW50ZWdlcil2YWx1ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9z
KDExLjMpKTsKLS0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKilfZ2V0QWN0aXZlUGFnZXNPcmlnaW5z
SW5XZWJQcm9jZXNzRm9yVGVzdGluZzoocGlkX3QpcGlkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfZ2V0QWN0aXZlUGFnZXNP
cmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzoocGlkX3QpcGlkIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9X2lzQ29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJs
ZWQsIHNldHRlcj1fc2V0Q29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0VuYWJsZWQ6KSBCT09MIF9j
b29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZCBXS19BUElfREVQUkVDQVRFRCgiUGFydGl0
aW9uZWQgY29va2llcyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zeCgxMC4xMi4zLCBX
S19NQUNfVEJBKSwgaW9zKDEwLjMsIFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBnZXR0ZXI9X2lzU3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQsIHNldHRlcj1fc2V0U3RvcmFnZUFj
Y2Vzc0FQSUVuYWJsZWQ6KSBCT09MIF9zdG9yYWdlQWNjZXNzQVBJRW5hYmxlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDIzNzI5NCkKKysrIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyOCw4ICsx
MzI4LDkgQEAgdm9pZCBXZWJQcm9jZXNzOjp1cGRhdGVBY3RpdmVQYWdlcygpCiB7CiB9CiAKLXZv
aWQgV2ViUHJvY2Vzczo6Z2V0QWN0aXZlUGFnZXNPcmlnaW5zRm9yVGVzdGluZyhWZWN0b3I8U3Ry
aW5nPiYpCit2b2lkIFdlYlByb2Nlc3M6OmdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3Rpbmco
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKKyAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogfQogCiB2b2lkIFdlYlByb2Nl
c3M6OnVwZGF0ZUNQVUxpbWl0KCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaAkocmV2aXNpb24gMjM3Mjk0KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDcgKzE5Miw3IEBAIHB1YmxpYzoKICNlbmRp
ZgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwotICAgIHZvaWQgZ2V0QWN0aXZlUGFn
ZXNPcmlnaW5zRm9yVGVzdGluZyhWZWN0b3I8U3RyaW5nPiYpOworICAgIHZvaWQgZ2V0QWN0aXZl
UGFnZXNPcmlnaW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJp
bmc+JiYpPiYmKTsKICAgICB2b2lkIHBhZ2VBY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKHVpbnQ2NF90
IHBhZ2VJRCwgT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+IGNoYW5nZWQp
OwogCiAgICAgdm9pZCBzZXRIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1p
dChpbnQgbWlsbGlzZWNvbmRzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyMzcyOTQpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MTI5LDcgKzEyOSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewog
ICAgIE1lc3NhZ2VzQXZhaWxhYmxlRm9yUG9ydChzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJ
ZGVudGlmaWVyIHBvcnQpCiAKICAgICBVcGRhdGVBY3RpdmVQYWdlcygpCi0gICAgR2V0QWN0aXZl
UGFnZXNPcmlnaW5zRm9yVGVzdGluZygpIC0+IChWZWN0b3I8U3RyaW5nPiBhY3RpdmVPcmlnaW5z
KQorICAgIEdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3RpbmcoKSAtPiAoVmVjdG9yPFN0cmlu
Zz4gYWN0aXZlT3JpZ2lucykgQXN5bmMKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBTZXRTY3Jl
ZW5Qcm9wZXJ0aWVzKHN0cnVjdCBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVzIHNjcmVlblByb3Bl
cnRpZXMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzNzI5NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTczLDYgKzcz
LDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQWNjZXNzaWJpbGl0eVNQSS5oPgogI2ltcG9y
dCA8cGFsL3NwaS9tYWMvTlNBcHBsaWNhdGlvblNQSS5oPgogI2ltcG9ydCA8c3RkaW8uaD4KKyNp
bXBvcnQgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICNpbXBvcnQgIldLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MuaCIKQEAgLTQ2NCwx
NSArNDY1LDE3IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlQWN0aXZlUGFnZXMoKQogI2VuZGlm
CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6Z2V0QWN0aXZlUGFnZXNPcmlnaW5zRm9yVGVzdGluZyhW
ZWN0b3I8U3RyaW5nPiYgYWN0aXZlT3JpZ2lucykKK3ZvaWQgV2ViUHJvY2Vzczo6Z2V0QWN0aXZl
UGFnZXNPcmlnaW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJp
bmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBh
dXRvIGFjdGl2ZU9yaWdpbnNBc05TU3RyaW5ncyA9IGFjdGl2ZVBhZ2VzT3JpZ2lucyhtX3BhZ2VN
YXApOwotICAgIGFjdGl2ZU9yaWdpbnMucmVzZXJ2ZUNhcGFjaXR5KFthY3RpdmVPcmlnaW5zQXNO
U1N0cmluZ3MgY291bnRdKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBhY3RpdmVPcmlnaW5zOworICAg
IGFjdGl2ZU9yaWdpbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShbYWN0aXZlT3JpZ2luc0FzTlNT
dHJpbmdzIGNvdW50XSk7CiAgICAgZm9yIChOU1N0cmluZyogYWN0aXZlT3JpZ2luIGluIGFjdGl2
ZU9yaWdpbnNBc05TU3RyaW5ncy5nZXQoKSkKICAgICAgICAgYWN0aXZlT3JpZ2lucy51bmNoZWNr
ZWRBcHBlbmQoYWN0aXZlT3JpZ2luKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGFj
dGl2ZU9yaWdpbnMpKTsKICNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGFjdGl2ZU9yaWdpbnMpOwor
ICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAjZW5kaWYKIH0KIApJbmRleDogVG9vbHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjM3Mjk1KQor
KysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgt
MTAtMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBNYWtlIHN5bmNocm9ub3VzIElQQyBpbnRyb2R1Y2VkIGluIHIyMzcyNjcgYXN5bmNocm9u
b3VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA3
NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06
CisKIDIwMTgtMTAtMTkgIENoYXJsaWUgVHVybmVyICA8Y3R1cm5lckBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtFTUVdIEZpeCBjcmFzaCBkdXJpbmcgdHJhY2luZyBpbiAgZ3N0X3F0ZGVtdXhfcmVx
dWVzdF9wcm90ZWN0aW9uX2NvbnRleHQKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlv
bi5tbQkocmV2aXNpb24gMjM3Mjk0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtNTQ0
LDkgKzU0NCwxMyBAQCBURVNUKFByb2Nlc3NTd2FwLCBTdXNwZW5kZWRQYWdlc0luQWN0aXZpCiAg
ICAgZG9uZSA9IGZhbHNlOwogCiAgICAgYXV0byB3ZWJraXRQSUQgPSBbd2ViVmlldyBfd2ViUHJv
Y2Vzc0lkZW50aWZpZXJdOwotICAgIGF1dG8qIGFjdGl2ZURvbWFpbnMgPSBbcHJvY2Vzc1Bvb2wg
X2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6d2Via2l0UElEXTsK
LSAgICBFWFBFQ1RfRVEoMXUsIGFjdGl2ZURvbWFpbnMuY291bnQpOwotICAgIEVYUEVDVF9XS19T
VFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZyIsIGFjdGl2ZURvbWFpbnNbMF0pOworICAgIFtw
cm9jZXNzUG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzp3
ZWJraXRQSUQgY29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5PE5TU3RyaW5nICo+ICphY3RpdmVE
b21haW5zKSB7CisgICAgICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7Cisg
ICAgICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZyIsIGFjdGl2ZURv
bWFpbnNbMF0pOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKIAogICAgIHJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNv
bjovL3d3dy5nb29nbGUuY29tL21haW4uaHRtbCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpyZXF1ZXN0XTsKQEAgLTU1NywxMyArNTYxLDIxIEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFN1c3Bl
bmRlZFBhZ2VzSW5BY3RpdmkKICAgICBhdXRvIGdvb2dsZVBJRCA9IFt3ZWJWaWV3IF93ZWJQcm9j
ZXNzSWRlbnRpZmllcl07CiAgICAgRVhQRUNUX05FKHdlYmtpdFBJRCwgZ29vZ2xlUElEKTsKIAot
ICAgIGFjdGl2ZURvbWFpbnMgPSBbcHJvY2Vzc1Bvb2wgX2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0lu
V2ViUHJvY2Vzc0ZvclRlc3Rpbmc6Z29vZ2xlUElEXTsKLSAgICBFWFBFQ1RfRVEoMXUsIGFjdGl2
ZURvbWFpbnMuY291bnQpOwotICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cuZ29vZ2xl
LmNvbSIsIGFjdGl2ZURvbWFpbnNbMF0pOwotCi0gICAgYWN0aXZlRG9tYWlucyA9IFtwcm9jZXNz
UG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzp3ZWJraXRQ
SURdOwotICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7Ci0gICAgRVhQRUNU
X1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJraXQub3JnIiwgYWN0aXZlRG9tYWluc1swXSk7Cisg
ICAgW3Byb2Nlc3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0
aW5nOmdvb2dsZVBJRCBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8TlNTdHJpbmcgKj4gKmFj
dGl2ZURvbWFpbnMpIHsKKyAgICAgICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50
KTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy5nb29nbGUuY29tIiwgYWN0
aXZlRG9tYWluc1swXSk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW3By
b2Nlc3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOndl
YmtpdFBJRCBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8TlNTdHJpbmcgKj4gKmFjdGl2ZURv
bWFpbnMpIHsKKyAgICAgICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50KTsKKyAg
ICAgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJraXQub3JnIiwgYWN0aXZlRG9t
YWluc1swXSk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOwogCiAgICAgW3dlYlZpZXcg
Z29CYWNrXTsgLy8gQmFjayB0byB3ZWJraXQub3JnLgogCkBAIC01NzUsMTMgKzU4NywyMSBAQCBU
RVNUKFByb2Nlc3NTd2FwLCBTdXNwZW5kZWRQYWdlc0luQWN0aXZpCiAgICAgYXV0byBwaWRBZnRl
ckJhY2tOYXZpZ2F0aW9uID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKICAgICBF
WFBFQ1RfRVEod2Via2l0UElELCBwaWRBZnRlckJhY2tOYXZpZ2F0aW9uKTsKIAotICAgIGFjdGl2
ZURvbWFpbnMgPSBbcHJvY2Vzc1Bvb2wgX2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vz
c0ZvclRlc3Rpbmc6Z29vZ2xlUElEXTsKLSAgICBFWFBFQ1RfRVEoMXUsIGFjdGl2ZURvbWFpbnMu
Y291bnQpOwotICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cuZ29vZ2xlLmNvbSIsIGFj
dGl2ZURvbWFpbnNbMF0pOwotCi0gICAgYWN0aXZlRG9tYWlucyA9IFtwcm9jZXNzUG9vbCBfZ2V0
QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzp3ZWJraXRQSURdOwotICAg
IEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7Ci0gICAgRVhQRUNUX1dLX1NUUkVR
KEAicHNvbjovL3d3dy53ZWJraXQub3JnIiwgYWN0aXZlRG9tYWluc1swXSk7CisgICAgW3Byb2Nl
c3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOmdvb2ds
ZVBJRCBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8TlNTdHJpbmcgKj4gKmFjdGl2ZURvbWFp
bnMpIHsKKyAgICAgICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50KTsKKyAgICAg
ICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy5nb29nbGUuY29tIiwgYWN0aXZlRG9tYWlu
c1swXSk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW3Byb2Nlc3NQb29s
IF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOndlYmtpdFBJRCBj
b21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8TlNTdHJpbmcgKj4gKmFjdGl2ZURvbWFpbnMpIHsK
KyAgICAgICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50KTsKKyAgICAgICAgRVhQ
RUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJraXQub3JnIiwgYWN0aXZlRG9tYWluc1swXSk7
CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOwogfQogI2VuZGlmIC8vIFBMQVRGT1JNKE1B
QykKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355822</attachid>
            <date>2018-11-27 16:53:19 -0800</date>
            <delta_ts>2018-11-27 17:44:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190757-20181127165318.patch</filename>
            <type>text/plain</type>
            <size>14987</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzg1ODkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE4LTExLTI3ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBzeW5jaHJv
bm91cyBJUEMgaW50cm9kdWNlZCBpbiByMjM3MjY3IGFzeW5jaHJvbm91cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNzU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2wubW06CisgICAgICAgICgtW1dLUHJvY2Vzc1Bvb2wgX2dldEFjdGl2ZVBhZ2Vz
T3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAg
ICAgICgtW1dLUHJvY2Vzc1Bvb2wgX2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0Zv
clRlc3Rpbmc6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
b2Nlc3NQb29sUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjphY3RpdmVQYWdlc09yaWdpbnNJ
bldlYlByb2Nlc3NGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjphY3RpdmVQYWdlc0RvbWFpbnNGb3JUZXN0aW5nKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6Z2V0QWN0
aXZlUGFnZXNPcmlnaW5zRm9yVGVzdGluZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpnZXRBY3RpdmVQYWdlc09yaWdp
bnNGb3JUZXN0aW5nKToKKwogMjAxOC0xMS0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFNhZmUgYnJvd3Npbmcgd2FybmluZyB0ZXh0IG5l
ZWRzIHRvIGJlIHZpc2libGUgb24gSGlnaCBTaWVycmEKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDIzODU0NSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM0
MywxMyArMTM0MywxMyBAQCBQcm9jZXNzSUQgV2ViUHJvY2Vzc1Bvb2w6Om5ldHdvcmtQcm9jZXNz
CiAgICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCk7CiB9CiAK
LVZlY3RvcjxTdHJpbmc+IFdlYlByb2Nlc3NQb29sOjphY3RpdmVQYWdlc09yaWdpbnNJbldlYlBy
b2Nlc3NGb3JUZXN0aW5nKFByb2Nlc3NJRCBwaWQpCit2b2lkIFdlYlByb2Nlc3NQb29sOjphY3Rp
dmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nKFByb2Nlc3NJRCBwaWQsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogbV9wcm9jZXNzZXMpIHsKICAgICAgICAgaWYg
KHByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gcGlkKQotICAgICAgICAgICAgcmV0dXJu
IHByb2Nlc3MtPmFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoKTsKKyAgICAgICAgICAgIHJl
dHVybiBwcm9jZXNzLT5hY3RpdmVQYWdlc0RvbWFpbnNGb3JUZXN0aW5nKFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKICAgICB9Ci0gICAgcmV0dXJuIHsgfTsKKyAgICBjb21wbGV0aW9uSGFu
ZGxlcih7IH0pOwogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRBbHdheXNVc2VzQ29tcGxl
eFRleHRDb2RlUGF0aChib29sIGFsd2F5c1VzZUNvbXBsZXhUZXh0KQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyMzg1NDUpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTUsNyArMjE1LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJTdXBwb3J0ZWRQbHVnaW5zKCk7
CiAKICAgICBQcm9jZXNzSUQgbmV0d29ya1Byb2Nlc3NJZGVudGlmaWVyKCk7Ci0gICAgVmVjdG9y
PFN0cmluZz4gYWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZyhQcm9jZXNz
SUQpOworICAgIHZvaWQgYWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZyhQ
cm9jZXNzSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYpOwog
ICAgIGJvb2wgbmV0d29ya1Byb2Nlc3NIYXNFbnRpdGxlbWVudEZvclRlc3RpbmcoY29uc3QgU3Ry
aW5nJik7CiAKICAgICBXZWJQYWdlR3JvdXAmIGRlZmF1bHRQYWdlR3JvdXAoKSB7IHJldHVybiBt
X2RlZmF1bHRQYWdlR3JvdXAuZ2V0KCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjM4NTQ1KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxNCwx
MSArMTQxNCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDb2xsZWN0UHJld2FybUkKICAg
ICBwcm9jZXNzUG9vbCgpLmRpZENvbGxlY3RQcmV3YXJtSW5mb3JtYXRpb24oZG9tYWluLCBwcmV3
YXJtSW5mb3JtYXRpb24pOwogfQogCi1WZWN0b3I8U3RyaW5nPiBXZWJQcm9jZXNzUHJveHk6OmFj
dGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmFjdGl2
ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8U3Ry
aW5nPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBWZWN0b3I8U3RyaW5nPiBhY3Rp
dmVEb21haW5zOwotICAgIHNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpHZXRBY3RpdmVQ
YWdlc09yaWdpbnNGb3JUZXN0aW5nKCksIE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpHZXRBY3RpdmVQ
YWdlc09yaWdpbnNGb3JUZXN0aW5nOjpSZXBseShhY3RpdmVEb21haW5zKSwgMCk7Ci0gICAgcmV0
dXJuIGFjdGl2ZURvbWFpbnM7CisgICAgY29ubmVjdGlvbigpLT5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlByb2Nlc3M6OkdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3RpbmcoKSwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lv
biAyMzg1NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBw
YWdlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VNYXAuc2l6ZSgpOyB9CiAgICAgdW5zaWdu
ZWQgdmlzaWJsZVBhZ2VDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZVBhZ2VDb3VudGVy
LnZhbHVlKCk7IH0KIAotICAgIFZlY3RvcjxTdHJpbmc+IGFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRl
c3RpbmcoKTsgLy8gVGhpcyBpcyB3aGF0IGlzIHJlcG9ydGVkIHRvIEFjdGl2aXR5TW9uaXRvci4K
KyAgICB2b2lkIGFjdGl2ZVBhZ2VzRG9tYWluc0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJik7IC8vIFRoaXMgaXMgd2hhdCBpcyByZXBvcnRlZCB0
byBBY3Rpdml0eU1vbml0b3IuCiAKICAgICB2aXJ0dWFsIGJvb2wgaXNTZXJ2aWNlV29ya2VyUHJv
Y2VzcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCShyZXZpc2lvbiAyMzg1
NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QbHVn
aW5EYXRhLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9OU0tleWVkQXJjaGl2ZXJTUEkuaD4KKyNpbXBvcnQgPHd0Zi9CbG9ja1B0
ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRy
Lmg+CiAKQEAgLTU3OSwxNCArNTgwLDE0IEBAIC0gKF9XS0Rvd25sb2FkICopX3Jlc3VtZURvd25s
b2FkRnJvbURhdGEKICAgICByZXR1cm4gd3JhcHBlcihfcHJvY2Vzc1Bvb2wtPnJlc3VtZURvd25s
b2FkKEFQSTo6RGF0YTo6Y3JlYXRlV2l0aG91dENvcHlpbmcocmVzdW1lRGF0YSkucHRyKCksIHBh
dGgpKTsKIH0KIAotLSAoTlNBcnJheTxOU1N0cmluZyAqPiAqKV9nZXRBY3RpdmVQYWdlc09yaWdp
bnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOihwaWRfdClwaWQKKy0gKHZvaWQpX2dldEFjdGl2ZVBh
Z2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6KHBpZF90KXBpZCBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCheKShOU0FycmF5PE5TU3RyaW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVyCiB7
Ci0gICAgYXV0byBhY3RpdmVQYWdlc09yaWdpbnMgPSBfcHJvY2Vzc1Bvb2wtPmFjdGl2ZVBhZ2Vz
T3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3RpbmcocGlkKTsKLQotICAgIE5TTXV0YWJsZUFycmF5
PE5TU3RyaW5nICo+ICphcnJheSA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2Fw
YWNpdHk6YWN0aXZlUGFnZXNPcmlnaW5zLnNpemUoKV07Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4g
OiBhY3RpdmVQYWdlc09yaWdpbnMpCi0gICAgICAgIFthcnJheSBhZGRPYmplY3Q6KE5TU3RyaW5n
ICopb3JpZ2luXTsKLSAgICByZXR1cm4gW2FycmF5IGF1dG9yZWxlYXNlXTsKKyAgICBfcHJvY2Vz
c1Bvb2wtPmFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3RpbmcocGlkLCBbY29t
cGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpXSAoVmVjdG9y
PFN0cmluZz4mJiBhY3RpdmVQYWdlc09yaWdpbnMpIHsKKyAgICAgICAgTlNNdXRhYmxlQXJyYXk8
TlNTdHJpbmcgKj4gKmFycmF5ID0gW1tbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRXaXRoQ2Fw
YWNpdHk6YWN0aXZlUGFnZXNPcmlnaW5zLnNpemUoKV0gYXV0b3JlbGVhc2VdOworICAgICAgICBm
b3IgKGF1dG8mIG9yaWdpbiA6IGFjdGl2ZVBhZ2VzT3JpZ2lucykKKyAgICAgICAgICAgIFthcnJh
eSBhZGRPYmplY3Q6b3JpZ2luXTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoYXJyYXkpOwor
ICAgIH0pOwogfQogCiAtIChCT09MKV9uZXR3b3JrUHJvY2Vzc0hhc0VudGl0bGVtZW50Rm9yVGVz
dGluZzooTlNTdHJpbmcgKillbnRpdGxlbWVudApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHJldmlz
aW9uIDIzODU0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nl
c3NQb29sUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQsNyArMTE0LDcgQEAKIC0gKHZv
aWQpX3NldEFsbG93c0FueVNTTENlcnRpZmljYXRlRm9yU2VydmljZVdvcmtlcjooQk9PTClhbGxv
d3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAtICh2b2lk
KV9yZWdpc3RlclVSTFNjaGVtZVNlcnZpY2VXb3JrZXJzQ2FuSGFuZGxlOihOU1N0cmluZyAqKXNj
aGVtZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIC0gKHZv
aWQpX3NldE1heGltdW1OdW1iZXJPZlByb2Nlc3NlczooTlNVSW50ZWdlcil2YWx1ZSBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKLS0gKE5TQXJyYXk8TlNTdHJp
bmcgKj4gKilfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzoocGlk
X3QpcGlkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOworLSAodm9pZClfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGlu
ZzoocGlkX3QpcGlkIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKE5TQXJyYXk8TlNTdHJpbmcg
Kj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7CiAtIChCT09MKV9uZXR3b3JrUHJvY2Vzc0hhc0VudGl0bGVt
ZW50Rm9yVGVzdGluZzooTlNTdHJpbmcgKillbnRpdGxlbWVudCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9t
aWMsIGdldHRlcj1faXNDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZCwgc2V0dGVyPV9z
ZXRDb29raWVTdG9yYWdlUGFydGl0aW9uaW5nRW5hYmxlZDopIEJPT0wgX2Nvb2tpZVN0b3JhZ2VQ
YXJ0aXRpb25pbmdFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJQYXJ0aXRpb25lZCBjb29raWVz
IGFyZSBubyBsb25nZXIgc3VwcG9ydGVkIiwgbWFjb3N4KDEwLjEyLjMsIFdLX01BQ19UQkEpLCBp
b3MoMTAuMywgV0tfSU9TX1RCQSkpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkocmV2aXNpb24gMjM4NTQ1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzQzLDggKzEzNDMsOSBAQCB2b2lk
IFdlYlByb2Nlc3M6OnVwZGF0ZUFjdGl2ZVBhZ2VzKCkKIHsKIH0KIAotdm9pZCBXZWJQcm9jZXNz
OjpnZXRBY3RpdmVQYWdlc09yaWdpbnNGb3JUZXN0aW5nKFZlY3RvcjxTdHJpbmc+JikKK3ZvaWQg
V2ViUHJvY2Vzczo6Z2V0QWN0aXZlUGFnZXNPcmlnaW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAg
IGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlQ1BV
TGltaXQoKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lv
biAyMzg1NDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xOTIsNyArMTkyLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2b2lk
IHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7Ci0gICAgdm9pZCBnZXRBY3RpdmVQYWdlc09yaWdpbnNGb3JU
ZXN0aW5nKFZlY3RvcjxTdHJpbmc+Jik7CisgICAgdm9pZCBnZXRBY3RpdmVQYWdlc09yaWdpbnNG
b3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0cmluZz4mJik+JiYpOwog
ICAgIHZvaWQgcGFnZUFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UodWludDY0X3QgcGFnZUlELCBPcHRp
b25TZXQ8V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6RmxhZz4gY2hhbmdlZCk7CiAKICAgICB2b2lk
IHNldEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNl
Y29uZHMpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4JKHJldmlzaW9uIDIzODU0NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAKICAgICBNYXJrSXNO
b0xvbmdlclByZXdhcm1lZCgpCiAgICAgVXBkYXRlQWN0aXZlUGFnZXMoKQotICAgIEdldEFjdGl2
ZVBhZ2VzT3JpZ2luc0ZvclRlc3RpbmcoKSAtPiAoVmVjdG9yPFN0cmluZz4gYWN0aXZlT3JpZ2lu
cykgTGVnYWN5U3luYworICAgIEdldEFjdGl2ZVBhZ2VzT3JpZ2luc0ZvclRlc3RpbmcoKSAtPiAo
VmVjdG9yPFN0cmluZz4gYWN0aXZlT3JpZ2lucykgQXN5bmMKIAogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBTZXRTY3JlZW5Qcm9wZXJ0aWVzKHN0cnVjdCBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVz
IHNjcmVlblByb3BlcnRpZXMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
V2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIzODU0NSkKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTUxNCwxNSArNTE0LDE3IEBAIHZvaWQgV2ViUHJvY2Vzczo6dXBkYXRlQWN0aXZlUGFnZXMo
KQogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6Z2V0QWN0aXZlUGFnZXNPcmlnaW5zRm9y
VGVzdGluZyhWZWN0b3I8U3RyaW5nPiYgYWN0aXZlT3JpZ2lucykKK3ZvaWQgV2ViUHJvY2Vzczo6
Z2V0QWN0aXZlUGFnZXNPcmlnaW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZl
Y3RvcjxTdHJpbmc+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBhdXRvIGFjdGl2ZU9yaWdpbnNBc05TU3RyaW5ncyA9IGFjdGl2ZVBhZ2VzT3JpZ2lu
cyhtX3BhZ2VNYXApOwotICAgIGFjdGl2ZU9yaWdpbnMucmVzZXJ2ZUNhcGFjaXR5KFthY3RpdmVP
cmlnaW5zQXNOU1N0cmluZ3MgY291bnRdKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBhY3RpdmVPcmln
aW5zOworICAgIGFjdGl2ZU9yaWdpbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShbYWN0aXZlT3Jp
Z2luc0FzTlNTdHJpbmdzIGNvdW50XSk7CiAgICAgZm9yIChOU1N0cmluZyogYWN0aXZlT3JpZ2lu
IGluIGFjdGl2ZU9yaWdpbnNBc05TU3RyaW5ncy5nZXQoKSkKICAgICAgICAgYWN0aXZlT3JpZ2lu
cy51bmNoZWNrZWRBcHBlbmQoYWN0aXZlT3JpZ2luKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihX
VEZNb3ZlKGFjdGl2ZU9yaWdpbnMpKTsKICNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGFjdGl2ZU9y
aWdpbnMpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiAjZW5kaWYKIH0KIApJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjM4NTg5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTgtMTEtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBNYWtlIHN5bmNocm9ub3VzIElQQyBpbnRyb2R1Y2VkIGluIHIyMzcyNjcg
YXN5bmNocm9ub3VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTA3NTcKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRp
b24ubW06CisKIDIwMTgtMTEtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBTYWZlIGJyb3dzaW5nIHdhcm5pbmcgdGV4dCBuZWVkcyB0byBi
ZSB2aXNpYmxlIG9uIEhpZ2ggU2llcnJhCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRp
b24ubW0JKHJldmlzaW9uIDIzODU0NSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTcx
Myw5ICs3MTMsMTMgQEAgVEVTVChQcm9jZXNzU3dhcCwgU3VzcGVuZGVkUGFnZXNJbkFjdGl2aQog
ICAgIGRvbmUgPSBmYWxzZTsKIAogICAgIGF1dG8gd2Via2l0UElEID0gW3dlYlZpZXcgX3dlYlBy
b2Nlc3NJZGVudGlmaWVyXTsKLSAgICBhdXRvKiBhY3RpdmVEb21haW5zID0gW3Byb2Nlc3NQb29s
IF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nlc3NGb3JUZXN0aW5nOndlYmtpdFBJRF07
Ci0gICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5zLmNvdW50KTsKLSAgICBFWFBFQ1RfV0tf
U1RSRVEoQCJwc29uOi8vd3d3LndlYmtpdC5vcmciLCBhY3RpdmVEb21haW5zWzBdKTsKKyAgICBb
cHJvY2Vzc1Bvb2wgX2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6
d2Via2l0UElEIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNBcnJheTxOU1N0cmluZyAqPiAqYWN0aXZl
RG9tYWlucykgeworICAgICAgICBFWFBFQ1RfRVEoMXUsIGFjdGl2ZURvbWFpbnMuY291bnQpOwor
ICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LndlYmtpdC5vcmciLCBhY3RpdmVE
b21haW5zWzBdKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CiAKICAgICByZXF1ZXN0
ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBz
b246Ly93d3cuZ29vZ2xlLmNvbS9tYWluLmh0bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6cmVxdWVzdF07CkBAIC03MjYsMTMgKzczMCwyMSBAQCBURVNUKFByb2Nlc3NTd2FwLCBTdXNw
ZW5kZWRQYWdlc0luQWN0aXZpCiAgICAgYXV0byBnb29nbGVQSUQgPSBbd2ViVmlldyBfd2ViUHJv
Y2Vzc0lkZW50aWZpZXJdOwogICAgIEVYUEVDVF9ORSh3ZWJraXRQSUQsIGdvb2dsZVBJRCk7CiAK
LSAgICBhY3RpdmVEb21haW5zID0gW3Byb2Nlc3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJ
bldlYlByb2Nlc3NGb3JUZXN0aW5nOmdvb2dsZVBJRF07Ci0gICAgRVhQRUNUX0VRKDF1LCBhY3Rp
dmVEb21haW5zLmNvdW50KTsKLSAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3Lmdvb2ds
ZS5jb20iLCBhY3RpdmVEb21haW5zWzBdKTsKLQotICAgIGFjdGl2ZURvbWFpbnMgPSBbcHJvY2Vz
c1Bvb2wgX2dldEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6d2Via2l0
UElEXTsKLSAgICBFWFBFQ1RfRVEoMXUsIGFjdGl2ZURvbWFpbnMuY291bnQpOwotICAgIEVYUEVD
VF9XS19TVFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZyIsIGFjdGl2ZURvbWFpbnNbMF0pOwor
ICAgIFtwcm9jZXNzUG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVz
dGluZzpnb29nbGVQSUQgY29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5PE5TU3RyaW5nICo+ICph
Y3RpdmVEb21haW5zKSB7CisgICAgICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3Vu
dCk7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cuZ29vZ2xlLmNvbSIsIGFj
dGl2ZURvbWFpbnNbMF0pOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIFtw
cm9jZXNzUG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzp3
ZWJraXRQSUQgY29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5PE5TU3RyaW5nICo+ICphY3RpdmVE
b21haW5zKSB7CisgICAgICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7Cisg
ICAgICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZyIsIGFjdGl2ZURv
bWFpbnNbMF0pOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKIAogICAgIFt3ZWJWaWV3
IGdvQmFja107IC8vIEJhY2sgdG8gd2Via2l0Lm9yZy4KIApAQCAtNzQ0LDE0ICs3NTYsMjMgQEAg
VEVTVChQcm9jZXNzU3dhcCwgU3VzcGVuZGVkUGFnZXNJbkFjdGl2aQogICAgIGF1dG8gcGlkQWZ0
ZXJCYWNrTmF2aWdhdGlvbiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CiAgICAg
RVhQRUNUX0VRKHdlYmtpdFBJRCwgcGlkQWZ0ZXJCYWNrTmF2aWdhdGlvbik7CiAKLSAgICBhY3Rp
dmVEb21haW5zID0gW3Byb2Nlc3NQb29sIF9nZXRBY3RpdmVQYWdlc09yaWdpbnNJbldlYlByb2Nl
c3NGb3JUZXN0aW5nOmdvb2dsZVBJRF07Ci0gICAgRVhQRUNUX0VRKDF1LCBhY3RpdmVEb21haW5z
LmNvdW50KTsKLSAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3Lmdvb2dsZS5jb20iLCBh
Y3RpdmVEb21haW5zWzBdKTsKLQotICAgIGFjdGl2ZURvbWFpbnMgPSBbcHJvY2Vzc1Bvb2wgX2dl
dEFjdGl2ZVBhZ2VzT3JpZ2luc0luV2ViUHJvY2Vzc0ZvclRlc3Rpbmc6d2Via2l0UElEXTsKLSAg
ICBFWFBFQ1RfRVEoMXUsIGFjdGl2ZURvbWFpbnMuY291bnQpOwotICAgIEVYUEVDVF9XS19TVFJF
UShAInBzb246Ly93d3cud2Via2l0Lm9yZyIsIGFjdGl2ZURvbWFpbnNbMF0pOworICAgIFtwcm9j
ZXNzUG9vbCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzpnb29n
bGVQSUQgY29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5PE5TU3RyaW5nICo+ICphY3RpdmVEb21h
aW5zKSB7CisgICAgICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7CisgICAg
ICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cuZ29vZ2xlLmNvbSIsIGFjdGl2ZURvbWFp
bnNbMF0pOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIFtwcm9jZXNzUG9v
bCBfZ2V0QWN0aXZlUGFnZXNPcmlnaW5zSW5XZWJQcm9jZXNzRm9yVGVzdGluZzp3ZWJraXRQSUQg
Y29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5PE5TU3RyaW5nICo+ICphY3RpdmVEb21haW5zKSB7
CisgICAgICAgIEVYUEVDVF9FUSgxdSwgYWN0aXZlRG9tYWlucy5jb3VudCk7CisgICAgICAgIEVY
UEVDVF9XS19TVFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZyIsIGFjdGl2ZURvbWFpbnNbMF0p
OworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKIH0KKwogI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykKIAogVEVTVChQcm9jZXNzU3dhcCwgQmFja1dpdGhvdXRTdXNwZW5kZWRQYWdlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>