<?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>194522</bug_id>
          
          <creation_ts>2019-02-11 17:00:43 -0800</creation_ts>
          <short_desc>WebPage::close needs to remove all message receivers associated with that WebPage, not WebPage::~WebPage</short_desc>
          <delta_ts>2019-02-12 19:47:26 -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>jon</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1505051</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-11 17:00:43 -0800</bug_when>
    <thetext>WebPage::close needs to remove all message receivers associated with that WebPage, not WebPage::~WebPage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505058</commentid>
    <comment_count>1</comment_count>
      <attachid>361735</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-11 17:08:33 -0800</bug_when>
    <thetext>Created attachment 361735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505059</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-11 17:08:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/47789393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505095</commentid>
    <comment_count>3</comment_count>
      <attachid>361735</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-11 18:55:43 -0800</bug_when>
    <thetext>Comment on attachment 361735
Patch

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

r=me with nits.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm:40
&gt; +    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.5*NSEC_PER_SEC), dispatch_get_main_queue(), [retainedPage = retainPtr(browserContextController)] { });

I think we usually have spaces around the *

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2407
&gt; +void testReuseSuspendedProcessForRegularNavigation(bool retainPageInBundle)

We usually use enum classes for such boolean parameters, see other tests in this file.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2456
&gt; +    testReuseSuspendedProcessForRegularNavigation(true);

Otherwise, call sites are not really readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505096</commentid>
    <comment_count>4</comment_count>
      <attachid>361735</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-11 18:57:00 -0800</bug_when>
    <thetext>Comment on attachment 361735
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:1318
&gt; +    m_viewGestureGeometryCollector = nullptr;

This needs to be protected like so:
#if PLATFORM(COCOA) || PLATFORM(GTK)
    m_viewGestureGeometryCollector = nullptr;
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505303</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-12 11:29:34 -0800</bug_when>
    <thetext>http://trac.webkit.org/r241306</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505324</commentid>
    <comment_count>6</comment_count>
      <attachid>361819</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-02-12 11:59:59 -0800</bug_when>
    <thetext>Created attachment 361819
patch for the safari-607-branch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505585</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-12 19:45:31 -0800</bug_when>
    <thetext>*** Bug 193701 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505586</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-02-12 19:47:26 -0800</bug_when>
    <thetext>Although this bug does not make it clear, this was causing WebProcess hangs with PSON enabled because the WebPage would stop responding to IPC.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361735</attachid>
            <date>2019-02-11 17:08:33 -0800</date>
            <delta_ts>2019-02-11 18:55:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194522-20190211170832.patch</filename>
            <type>text/plain</type>
            <size>15163</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDEyODMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAyLTExICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2ViUGFnZTo6Y2xv
c2UgbmVlZHMgdG8gcmVtb3ZlIGFsbCBtZXNzYWdlIHJlY2VpdmVycyBhc3NvY2lhdGVkIHdpdGgg
dGhhdCBXZWJQYWdlLCBub3QgV2ViUGFnZTo6fldlYlBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDUyMgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDc3ODkzOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIEluamVjdGVkQnVuZGxlIFNQSSBjYW4gcmV0YWluIHRoZSBXZWJQYWdlIG9yIHdy
YXBwaW5nIG9iamVjdHMgKFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ci9XS0J1bmRsZVBhZ2VSZWYpLgorICAgICAgICBUaGlzIGNhbiBtYWtlIGl0IHNvIFdlYlBhZ2U6
OmNsb3NlIGlzIGNhbGxlZCBiZWZvcmUgV2ViUGFnZTo6fldlYlBhZ2UsIGFuZCBpZiB0aGUgU3Vz
cGVuZGVkUGFnZVByb3h5IGlzIHJldXNlZCBmb3IgYSBzdWJzZXF1ZW50CisgICAgICAgIG5hdmln
YXRpb24gdG8gdGhlIHNhbWUgZG9tYWluLCB0aGUgV2ViUHJvY2VzcyBpcyByZXVzZWQgd2l0aCBh
IGRpZmZlcmVudCBXZWJQYWdlIGluc3RhbmNlIHdpdGggdGhlIHNhbWUgUGFnZUlELCB3aGljaCBj
YXVzZXMgcHJvYmxlbXMKKyAgICAgICAgd2hlbiBhbm90aGVyIFdlYlBhZ2UgcmVnaXN0ZXJzIG1l
c3NhZ2UgaGFuZGxlcnMgYW5kIHRoZW4gdGhlIHByZXZpb3VzIFdlYlBhZ2UgaXMgZGVzdHJveWVk
LCB3aGljaCByZW1vdmVzIGJvdGggbWVzc2FnZSBoYW5kbGVycy4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6fldl
YlBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjbG9zZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6Om1haW5GcmFtZURpZExheW91dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZXZlbnREaXNwYXRjaGVyKToKKwogMjAxOS0wMi0x
MSAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW1dQRV0gQWRkIGNvbnRlbnQgZXh0ZW5zaW9ucyBzdXBwb3J0IGluIFdLVFIgYW5kIHVu
c2tpcCBsYXlvdXQgdGVzdHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aAkocmV2aXNpb24gMjQxMjc1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSw3IEBAIHB1YmxpYzoKICAgICBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXImIHBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
cigpOwogI2VuZGlmCiAKLSAgICBFdmVudERpc3BhdGNoZXImIGV2ZW50RGlzcGF0Y2hlcigpIHsg
cmV0dXJuICptX2V2ZW50RGlzcGF0Y2hlcjsgfQorICAgIEV2ZW50RGlzcGF0Y2hlciYgZXZlbnRE
aXNwYXRjaGVyKCkgeyByZXR1cm4gbV9ldmVudERpc3BhdGNoZXIuZ2V0KCk7IH0KIAogICAgIE5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbiYgZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCk7
CiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQoTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uKik7CkBAIC00MDIsNyArNDAyLDcgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPHVp
bnQ2NF90LCBSZWZQdHI8V2ViUGFnZUdyb3VwUHJveHk+PiBtX3BhZ2VHcm91cE1hcDsKICAgICBS
ZWZQdHI8SW5qZWN0ZWRCdW5kbGU+IG1faW5qZWN0ZWRCdW5kbGU7CiAKLSAgICBSZWZQdHI8RXZl
bnREaXNwYXRjaGVyPiBtX2V2ZW50RGlzcGF0Y2hlcjsKKyAgICBSZWY8RXZlbnREaXNwYXRjaGVy
PiBtX2V2ZW50RGlzcGF0Y2hlcjsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIFJlZlB0
cjxWaWV3VXBkYXRlRGlzcGF0Y2hlcj4gbV92aWV3VXBkYXRlRGlzcGF0Y2hlcjsKICNlbmRpZgpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJl
dmlzaW9uIDI0MTI3NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNjQsNyArMzY0LDcgQEAgV2ViUGFnZTo6V2ViUGFn
ZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZwogI2VuZGlmCiAgICAgLCBtX2xheWVySG9zdGluZ01v
ZGUocGFyYW1ldGVycy5sYXllckhvc3RpbmdNb2RlKQogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQ
TEFURk9STShHVEspCi0gICAgLCBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IobWFrZVVu
aXF1ZVJlZjxWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yPigqdGhpcykpCisgICAgLCBtX3Zp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3Ioc3RkOjptYWtlX3VuaXF1ZTxWaWV3R2VzdHVyZUdl
b21ldHJ5Q29sbGVjdG9yPigqdGhpcykpCiAjZWxpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFBM
QVRGT1JNKEdUSykKICAgICAsIG1fYWNjZXNzaWJpbGl0eU9iamVjdChudWxscHRyKQogI2VuZGlm
CkBAIC03NTAsMTIgKzc1MCw2IEBAIFdlYlBhZ2U6On5XZWJQYWdlKCkKIHsKICAgICBBU1NFUlQo
IW1fcGFnZSk7CiAKLSAgICBhdXRvJiB3ZWJQcm9jZXNzID0gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCk7Ci0jaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKLSAgICBpZiAobV91c2VBc3luY1Njcm9s
bGluZykKLSAgICAgICAgd2ViUHJvY2Vzcy5ldmVudERpc3BhdGNoZXIoKS5yZW1vdmVTY3JvbGxp
bmdUcmVlRm9yUGFnZSh0aGlzKTsKLSNlbmRpZgotCiAgICAgcGxhdGZvcm1EZXRhY2goKTsKICAg
ICAKICAgICBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyLmludmFsaWRhdGUoKTsKQEAgLTc3MCwx
NiArNzY0LDYgQEAgV2ViUGFnZTo6fldlYlBhZ2UoKQogICAgICAgICBtX2Zvb3RlckJhbm5lci0+
ZGV0YWNoRnJvbVBhZ2UoKTsKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAotICAg
IHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKLQotICAgIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBiZSBkb25lIGluIHRoZSBvYmplY3QgZGVzdHJ1Y3RvcnMsIGFuZCB0aGUgb2JqZWN0cyB0aGVt
c2VsdmVzIHNob3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVycy4KLSAgICB3ZWJQcm9jZXNzLnJlbW92
ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjptZXNzYWdlUmVjZWl2ZXJO
YW1lKCksIG1fcGFnZUlEKTsKLSAgICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihN
ZXNzYWdlczo6V2ViSW5zcGVjdG9yVUk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQp
OwotICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVX
ZWJJbnNwZWN0b3JVSTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7Ci0jaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVy
KE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBt
X3BhZ2VJRCk7Ci0jZW5kaWYKLQogI2lmbmRlZiBOREVCVUcKICAgICB3ZWJQYWdlQ291bnRlci5k
ZWNyZW1lbnQoKTsKICNlbmRpZgpAQCAtMTMxOCw2ICsxMzAyLDIxIEBAIHZvaWQgV2ViUGFnZTo6
Y2xvc2UoKQogICAgIGJvb2wgaXNSdW5uaW5nTW9kYWwgPSBtX2lzUnVubmluZ01vZGFsOwogICAg
IG1faXNSdW5uaW5nTW9kYWwgPSBmYWxzZTsKIAorICAgIGF1dG8mIHdlYlByb2Nlc3MgPSBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKTsKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAgIGlm
IChtX3VzZUFzeW5jU2Nyb2xsaW5nKQorICAgICAgICB3ZWJQcm9jZXNzLmV2ZW50RGlzcGF0Y2hl
cigpLnJlbW92ZVNjcm9sbGluZ1RyZWVGb3JQYWdlKHRoaXMpOworI2VuZGlmCisgICAgd2ViUHJv
Y2Vzcy5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlBhZ2U6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSwgbV9wYWdlSUQpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBkb25l
IGluIHRoZSBvYmplY3QgZGVzdHJ1Y3RvcnMsIGFuZCB0aGUgb2JqZWN0cyB0aGVtc2VsdmVzIHNo
b3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVycy4KKyAgICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1f
cGFnZUlEKTsKKyAgICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
V2ViSW5zcGVjdG9yVUk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOworICAgIHdl
YlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0
b3JVSTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CisjaWYgRU5BQkxFKEZVTExT
Q1JFRU5fQVBJKQorICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7
CisjZW5kaWYKKyAgICBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IgPSBudWxscHRyOwor
CiAgICAgLy8gVGhlIFdlYlBhZ2UgY2FuIGJlIGRlc3Ryb3llZCBieSB0aGlzIGNhbGwuCiAgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVtb3ZlV2ViUGFnZShtX3BhZ2VJRCk7CiAKQEAgLTQy
MjIsNyArNDIyMSw4IEBAIHZvaWQgV2ViUGFnZTo6bWFpbkZyYW1lRGlkTGF5b3V0KCkKICAgICB9
CiAKICNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQotICAgIG1fdmlld0dlc3R1
cmVHZW9tZXRyeUNvbGxlY3Rvci0+bWFpbkZyYW1lRGlkTGF5b3V0KCk7CisgICAgaWYgKG1fdmll
d0dlc3R1cmVHZW9tZXRyeUNvbGxlY3RvcikKKyAgICAgICAgbV92aWV3R2VzdHVyZUdlb21ldHJ5
Q29sbGVjdG9yLT5tYWluRnJhbWVEaWRMYXlvdXQoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbWFpbkZyYW1lVmlldygp
KSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShy
ZXZpc2lvbiAyNDEyNzUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODYsNyArMTU4Niw3IEBAIHByaXZhdGU6CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspCi0gICAgVW5pcXVlUmVm
PFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I+IG1fdmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3RvcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Vmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvcj4g
bV92aWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShD
T0NPQSkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI0MTI4MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE5LTAyLTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2ViUGFnZTo6Y2xvc2UgbmVlZHMgdG8gcmVtb3Zl
IGFsbCBtZXNzYWdlIHJlY2VpdmVycyBhc3NvY2lhdGVkIHdpdGggdGhhdCBXZWJQYWdlLCBub3Qg
V2ViUGFnZTo6fldlYlBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NDUyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc3ODkzOTM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW06
IEFkZGVkLgorICAgICAgICAoLVtCdW5kbGVSZXRhaW5QYWdlUGx1Z0luIHdlYlByb2Nlc3NQbHVn
SW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOl0pOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06CisK
IDIwMTktMDItMTEgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXVtXUEVdIEFkZCBjb250ZW50IGV4dGVuc2lvbnMgc3VwcG9ydCBpbiBX
S1RSIGFuZCB1bnNraXAgbGF5b3V0IHRlc3RzCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjQxMjc1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsNyBA
QAogCQk1QzRBODQ5NTFGN0VFRkZDMDBBQ0ZDNTQgLyogQ29uZmlndXJhdGlvbi5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNEE4NDk0MUY3RUVGRDQw
MEFDRkM1NCAvKiBDb25maWd1cmF0aW9uLm1tICovOyB9OwogCQk1QzY5QkRENTFGODJBN0VGMDAw
RjRGNEIgLyogSmF2YVNjcmlwdER1cmluZ05hdmlnYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzY5QkRENDFGODJBN0VCMDAwRjRGNEIgLyog
SmF2YVNjcmlwdER1cmluZ05hdmlnYXRpb24ubW0gKi87IH07CiAJCTVDNzE0ODk1MjEyM0E0MEEw
MEZERTNDNSAvKiBXS1dlYnNpdGVEYXRhc3RvcmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzcxNDg5NDIxMjNBNDA3MDBGREUzQzUgLyogV0tXZWJz
aXRlRGF0YXN0b3JlLm1tICovOyB9OworCQk1Qzc1NzE2MTIyMTI0QzUyMDBCOUU1QUMgLyogQnVu
ZGxlUmV0YWluUGFnZVBsdWdJbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDNzU3MTVGMjIxMjQ5QkQwMEI5RTVBQyAvKiBCdW5kbGVSZXRhaW5QYWdl
UGx1Z0luLm1tICovOyB9OwogCQk1Qzc5NjQxMDFFQjAyNzhEMDA3NUQ3NEMgLyogRXZlbnRNb2Rp
ZmllcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUM3OTY0MEYxRUIwMjY5QjAwNzVENzRDIC8qIEV2ZW50TW9kaWZpZXJzLmNwcCAqLzsgfTsKIAkJ
NUM3Qzc0Q0IxRkI1MjlCQTAwMkY5QUJFIC8qIFdlYlZpZXdTY2hlZHVsZUluUnVuTG9vcC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDN0M3NENBMUZC
NTI4RDQwMDJGOUFCRSAvKiBXZWJWaWV3U2NoZWR1bGVJblJ1bkxvb3AubW0gKi87IH07CiAJCTVD
ODM4RjdGMURCMDRGOTAwMDgyODU4RiAvKiBMb2FkSW52YWxpZFVSTFJlcXVlc3QubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzkwMUZBRTFDQUYxMzcx
MDBFRDY0RjkgLyogTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tICovOyB9OwpAQCAtMTY5MCw2ICsx
NjkxLDcgQEAKIAkJNUM1RTYzM0QxRDBCNjc5NDAwODVBMDI1IC8qIFVuaXF1ZVJlZi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmlxdWVSZWYuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1QzY5QkRENDFGODJBN0VCMDAwRjRGNEIgLyogSmF2YVNj
cmlwdER1cmluZ05hdmlnYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBKYXZhU2NyaXB0RHVyaW5nTmF2aWdhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNUM3MTQ4OTQyMTIzQTQwNzAwRkRFM0M1IC8qIFdLV2Vic2l0ZURhdGFzdG9y
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2Vic2l0ZURh
dGFzdG9yZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUM3NTcxNUYyMjEyNDlC
RDAwQjlFNUFDIC8qIEJ1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCdW5kbGVSZXRhaW5QYWdlUGx1Z0luLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1Qzc5NjQwRjFFQjAyNjlCMDA3NUQ3NEMgLyogRXZlbnRN
b2RpZmllcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRN
b2RpZmllcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzdDNzRDQTFGQjUy
OEQ0MDAyRjlBQkUgLyogV2ViVmlld1NjaGVkdWxlSW5SdW5Mb29wLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViVmlld1NjaGVkdWxlSW5SdW5Mb29wLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1QzhCQzc5ODIxOENGM0U5MDA4MTM4ODYgLyog
TmV0d29ya1Byb2Nlc3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI0Njcs
NiArMjQ2OSw3IEBACiAJCQkJMzdBNzA5QUQxRTNFQThCMDAwQ0E1OTY5IC8qIEJ1bmRsZVJhbmdl
SGFuZGxlLm1tICovLAogCQkJCTM3QTcwOUFBMUUzRUE3OTAwMENBNTk2OSAvKiBCdW5kbGVSYW5n
ZUhhbmRsZVBsdWdJbi5tbSAqLywKIAkJCQkzN0E3MDlBQzFFM0VBN0U4MDBDQTU5NjkgLyogQnVu
ZGxlUmFuZ2VIYW5kbGVQcm90b2NvbC5oICovLAorCQkJCTVDNzU3MTVGMjIxMjQ5QkQwMEI5RTVB
QyAvKiBCdW5kbGVSZXRhaW5QYWdlUGx1Z0luLm1tICovLAogCQkJCTFDMkI4MTdFMUM4OTFFNDIw
MEE1NTI5RiAvKiBDYW5jZWxGb250U3VicmVzb3VyY2UubW0gKi8sCiAJCQkJMUMyQjgxODExQzg5
MUVGQTAwQTU1MjlGIC8qIENhbmNlbEZvbnRTdWJyZXNvdXJjZVBsdWdJbi5tbSAqLywKIAkJCQk1
Q0IxOEJBNzFGNTY0NUIyMDBFRTIzQzQgLyogQ2xpY2tBdXRvRmlsbEJ1dHRvbi5tbSAqLywKQEAg
LTQzODksNiArNDM5Miw3IEBACiAJCQkJMzc0QjdBNjExREYzNzFDRjAwQUNDQjZDIC8qIEJ1bmRs
ZUVkaXRpbmdEZWxlZ2F0ZVBsdWdJbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExM0VCQkIwMUI4
NzQzNkYwMDA5NzExMCAvKiBCdW5kbGVQYXJhbWV0ZXJzUGx1Z0luLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzdBNzA5QUYxRTNFQTk3RTAwQ0E1OTY5IC8qIEJ1bmRsZVJhbmdlSGFuZGxlUGx1Z0lu
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNUM3NTcxNjEyMjEyNEM1MjAwQjlFNUFDIC8qIEJ1bmRs
ZVJldGFpblBhZ2VQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQzJCODE4MzFDODkxRjA5
MDBBNTUyOUYgLyogQ2FuY2VsRm9udFN1YnJlc291cmNlUGx1Z0luLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNUNCMThCQTgxRjU2NDVFMzAwRUUyM0M0IC8qIENsaWNrQXV0b0ZpbGxCdXR0b24ubW0g
aW4gU291cmNlcyAqLywKIAkJCQlBMTRGQzU4QjFCODk5MjcxMDBEMTA3RUIgLyogQ29udGVudEZp
bHRlcmluZ1BsdWdJbi5tbSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9CdW5kbGVSZXRhaW5QYWdlUGx1Z0luLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlUmV0YWluUGFn
ZVBsdWdJbi5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0J1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW0JKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJ
X0VOQUJMRUQKKworI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJbi5oPgorI2ltcG9y
dCA8d3RmL1JldGFpblB0ci5oPgorCitAaW50ZXJmYWNlIEJ1bmRsZVJldGFpblBhZ2VQbHVnSW4g
OiBOU09iamVjdCA8V0tXZWJQcm9jZXNzUGx1Z0luPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24g
QnVuZGxlUmV0YWluUGFnZVBsdWdJbgorCistICh2b2lkKXdlYlByb2Nlc3NQbHVnSW46KFdLV2Vi
UHJvY2Vzc1BsdWdJbkNvbnRyb2xsZXIgKilwbHVnSW5Db250cm9sbGVyIGRpZENyZWF0ZUJyb3dz
ZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyICopYnJvd3NlckNvbnRleHRDb250cm9sbGVyCit7CisgICAgZGlzcGF0Y2hfYWZ0ZXIo
ZGlzcGF0Y2hfdGltZShESVNQQVRDSF9USU1FX05PVywgMC41Kk5TRUNfUEVSX1NFQyksIGRpc3Bh
dGNoX2dldF9tYWluX3F1ZXVlKCksIFtyZXRhaW5lZFBhZ2UgPSByZXRhaW5QdHIoYnJvd3NlckNv
bnRleHRDb250cm9sbGVyKV0geyB9KTsKK30KKworQGVuZAorCisjZW5kaWYgLy8gV0tfQVBJX0VO
QUJMRUQKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vz
c1N3YXBPbk5hdmlnYXRpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQkocmV2aXNpb24gMjQx
Mjc1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dh
cE9uTmF2aWdhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjQwNCwxMSArMjQwNCwxNiBAQCBz
ZXRJbnRlcnZhbCgoKSA9PiB7CiA8L2JvZHk+CiApUFNPTlJFU09VUkNFIjsKIAotVEVTVChQcm9j
ZXNzU3dhcCwgUmV1c2VTdXNwZW5kZWRQcm9jZXNzRm9yUmVndWxhck5hdmlnYXRpb24pCit2b2lk
IHRlc3RSZXVzZVN1c3BlbmRlZFByb2Nlc3NGb3JSZWd1bGFyTmF2aWdhdGlvbihib29sIHJldGFp
blBhZ2VJbkJ1bmRsZSkKIHsKICAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBb
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNldFByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbjpZRVNd
OworICAgIGlmIChyZXRhaW5QYWdlSW5CdW5kbGUpCisgICAgICAgIFtwcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24gc2V0SW5qZWN0ZWRCdW5kbGVVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxG
b3JSZXNvdXJjZTpAIlRlc3RXZWJLaXRBUEkiIHdpdGhFeHRlbnNpb246QCJ3a2J1bmRsZSJdXTsK
KwogICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10g
X2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsK
KyAgICBpZiAocmV0YWluUGFnZUluQnVuZGxlKQorICAgICAgICBbcHJvY2Vzc1Bvb2wgX3NldE9i
amVjdDpAIkJ1bmRsZVJldGFpblBhZ2VQbHVnSW4iIGZvckJ1bmRsZVBhcmFtZXRlcjpUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpUZXN0UGx1Z0luQ2xhc3NOYW1lUGFyYW1ldGVyXTsKIAogICAgIGF1dG8g
d2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpw
cm9jZXNzUG9vbC5nZXQoKV07CkBAIC0yNDQ2LDYgKzI0NTEsMTYgQEAgVEVTVChQcm9jZXNzU3dh
cCwgUmV1c2VTdXNwZW5kZWRQcm9jZXNzRgogICAgIEVYUEVDVF9FUSh3ZWJraXRQSUQsIFt3ZWJW
aWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl0pOwogfQogCitURVNUKFByb2Nlc3NTd2FwLCBSZXVz
ZVN1c3BlbmRlZFByb2Nlc3NGb3JSZWd1bGFyTmF2aWdhdGlvblJldGFpbkJ1bmRsZVBhZ2UpCit7
CisgICAgdGVzdFJldXNlU3VzcGVuZGVkUHJvY2Vzc0ZvclJlZ3VsYXJOYXZpZ2F0aW9uKHRydWUp
OworfQorCitURVNUKFByb2Nlc3NTd2FwLCBSZXVzZVN1c3BlbmRlZFByb2Nlc3NGb3JSZWd1bGFy
TmF2aWdhdGlvbikKK3sKKyAgICB0ZXN0UmV1c2VTdXNwZW5kZWRQcm9jZXNzRm9yUmVndWxhck5h
dmlnYXRpb24oZmFsc2UpOworfQorCiBzdGF0aWMgY29uc3QgY2hhciogbWFpbkZyYW1lc09ubHlN
YWluRnJhbWUgPSBSIlBTT05SRVNPVVJDRSgKIDxzY3JpcHQ+CiBmdW5jdGlvbiBsb2FkZWQoKSB7
Cg==
</data>
<flag name="review"
          id="378386"
          type_id="1"
          status="+"
          setter="cdumez"
    />
    <flag name="commit-queue"
          id="378398"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361819</attachid>
            <date>2019-02-12 11:59:59 -0800</date>
            <delta_ts>2019-02-12 11:59:59 -0800</delta_ts>
            <desc>patch for the safari-607-branch</desc>
            <filename>safari-607-branch-patch</filename>
            <type>text/plain</type>
            <size>15062</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNDEyMjMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE5LTAyLTEyICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2ViUGFnZTo6Y2xv
c2UgbmVlZHMgdG8gcmVtb3ZlIGFsbCBtZXNzYWdlIHJlY2VpdmVycyBhc3NvY2lhdGVkIHdpdGgg
dGhhdCBXZWJQYWdlLCBub3QgV2ViUGFnZTo6fldlYlBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDUyMgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDc3ODkzOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAg
ICAgVGhlIEluamVjdGVkQnVuZGxlIFNQSSBjYW4gcmV0YWluIHRoZSBXZWJQYWdlIG9yIHdyYXBw
aW5nIG9iamVjdHMgKFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci9X
S0J1bmRsZVBhZ2VSZWYpLgorICAgICAgICBUaGlzIGNhbiBtYWtlIGl0IHNvIFdlYlBhZ2U6OmNs
b3NlIGlzIGNhbGxlZCBiZWZvcmUgV2ViUGFnZTo6fldlYlBhZ2UsIGFuZCBpZiB0aGUgU3VzcGVu
ZGVkUGFnZVByb3h5IGlzIHJldXNlZCBmb3IgYSBzdWJzZXF1ZW50CisgICAgICAgIG5hdmlnYXRp
b24gdG8gdGhlIHNhbWUgZG9tYWluLCB0aGUgV2ViUHJvY2VzcyBpcyByZXVzZWQgd2l0aCBhIGRp
ZmZlcmVudCBXZWJQYWdlIGluc3RhbmNlIHdpdGggdGhlIHNhbWUgUGFnZUlELCB3aGljaCBjYXVz
ZXMgcHJvYmxlbXMKKyAgICAgICAgd2hlbiBhbm90aGVyIFdlYlBhZ2UgcmVnaXN0ZXJzIG1lc3Nh
Z2UgaGFuZGxlcnMgYW5kIHRoZW4gdGhlIHByZXZpb3VzIFdlYlBhZ2UgaXMgZGVzdHJveWVkLCB3
aGljaCByZW1vdmVzIGJvdGggbWVzc2FnZSBoYW5kbGVycy4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6fldlYlBh
Z2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6Om1haW5GcmFtZURpZExheW91dCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZXZlbnREaXNwYXRjaGVyKToKKwogMjAxOS0wMi0wNyAg
QmFiYWsgU2hhZmllaSAgPGJzaGFmaWVpQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGVycnktcGlj
ayByMjQxMTcxLiByZGFyOi8vcHJvYmxlbS80NzkwODE1NgpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI0MTIyMykKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNjAsNyArMzYwLDcgQEAKICNlbmRpZgogICAgICwgbV9sYXllckhvc3RpbmdNb2RlKHBh
cmFtZXRlcnMubGF5ZXJIb3N0aW5nTW9kZSkKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICAsIG1f
dmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3RvcihtYWtlVW5pcXVlUmVmPFZpZXdHZXN0dXJlR2Vv
bWV0cnlDb2xsZWN0b3I+KCp0aGlzKSkKKyAgICAsIG1fdmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3RvcihzdGQ6Om1ha2VfdW5pcXVlPFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I+KCp0aGlz
KSkKICNlbGlmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgUExBVEZPUk0oR1RLKQogICAgICwgbV9h
Y2Nlc3NpYmlsaXR5T2JqZWN0KG51bGxwdHIpCiAjZW5kaWYKQEAgLTczOSwxMiArNzM5LDYgQEAK
IHsKICAgICBBU1NFUlQoIW1fcGFnZSk7CiAKLSAgICBhdXRvJiB3ZWJQcm9jZXNzID0gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCk7Ci0jaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKLSAgICBpZiAo
bV91c2VBc3luY1Njcm9sbGluZykKLSAgICAgICAgd2ViUHJvY2Vzcy5ldmVudERpc3BhdGNoZXIo
KS5yZW1vdmVTY3JvbGxpbmdUcmVlRm9yUGFnZSh0aGlzKTsKLSNlbmRpZgotCiAgICAgcGxhdGZv
cm1EZXRhY2goKTsKICAgICAKICAgICBtX3NhbmRib3hFeHRlbnNpb25UcmFja2VyLmludmFsaWRh
dGUoKTsKQEAgLTc1OSwxNiArNzUzLDYgQEAKICAgICAgICAgbV9mb290ZXJCYW5uZXItPmRldGFj
aEZyb21QYWdlKCk7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCiAKLSAgICB3ZWJQ
cm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViUGFnZTo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUg
ZG9uZSBpbiB0aGUgb2JqZWN0IGRlc3RydWN0b3JzLCBhbmQgdGhlIG9iamVjdHMgdGhlbXNlbHZl
cyBzaG91bGQgYmUgbWVzc2FnZSByZWNlaXZlcnMuCi0gICAgd2ViUHJvY2Vzcy5yZW1vdmVNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3BhZ2VJRCk7Ci0gICAgd2ViUHJvY2Vzcy5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OldlYkluc3BlY3RvclVJOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKLSAg
ICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlV2ViSW5z
cGVjdG9yVUk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOwotI2lmIEVOQUJMRShG
VUxMU0NSRUVOX0FQSSkKLSAgICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNz
YWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdl
SUQpOwotI2VuZGlmCi0KICNpZm5kZWYgTkRFQlVHCiAgICAgd2ViUGFnZUNvdW50ZXIuZGVjcmVt
ZW50KCk7CiAjZW5kaWYKQEAgLTEzMDUsNiArMTI4OSwyMyBAQAogICAgIGJvb2wgaXNSdW5uaW5n
TW9kYWwgPSBtX2lzUnVubmluZ01vZGFsOwogICAgIG1faXNSdW5uaW5nTW9kYWwgPSBmYWxzZTsK
IAorICAgIGF1dG8mIHdlYlByb2Nlc3MgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKTsKKyNpZiBF
TkFCTEUoQVNZTkNfU0NST0xMSU5HKQorICAgIGlmIChtX3VzZUFzeW5jU2Nyb2xsaW5nKQorICAg
ICAgICB3ZWJQcm9jZXNzLmV2ZW50RGlzcGF0Y2hlcigpLnJlbW92ZVNjcm9sbGluZ1RyZWVGb3JQ
YWdlKHRoaXMpOworI2VuZGlmCisgICAgd2ViUHJvY2Vzcy5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIo
TWVzc2FnZXM6OldlYlBhZ2U6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOworICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBkb25lIGluIHRoZSBvYmplY3QgZGVzdHJ1Y3RvcnMs
IGFuZCB0aGUgb2JqZWN0cyB0aGVtc2VsdmVzIHNob3VsZCBiZSBtZXNzYWdlIHJlY2VpdmVycy4K
KyAgICB3ZWJQcm9jZXNzLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVj
dG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fcGFnZUlEKTsKKyAgICB3ZWJQcm9jZXNzLnJl
bW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViSW5zcGVjdG9yVUk6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSwgbV9wYWdlSUQpOworICAgIHdlYlByb2Nlc3MucmVtb3ZlTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0b3JVSTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3BhZ2VJRCk7CisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorICAgIHdlYlByb2Nlc3Mu
cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX3BhZ2VJRCk7CisjZW5kaWYKKyNpZiBQTEFURk9STShDT0NP
QSkKKyAgICBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IgPSBudWxscHRyOworI2VuZGlm
CisKICAgICAvLyBUaGUgV2ViUGFnZSBjYW4gYmUgZGVzdHJveWVkIGJ5IHRoaXMgY2FsbC4KICAg
ICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVXZWJQYWdlKG1fcGFnZUlEKTsKIApAQCAt
NDE4MCw3ICs0MTgxLDggQEAKICAgICB9CiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICBtX3Zp
ZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3ItPm1haW5GcmFtZURpZExheW91dCgpOworICAgIGlm
IChtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3IpCisgICAgICAgIG1fdmlld0dlc3R1cmVH
ZW9tZXRyeUNvbGxlY3Rvci0+bWFpbkZyYW1lRGlkTGF5b3V0KCk7CiAjZW5kaWYKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIGlmIChGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1haW5GcmFt
ZVZpZXcoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAkocmV2aXNpb24gMjQxMjIzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTU5LDcgKzE1NTksNyBAQAogICAgIAog
ICAgIFJldGFpblB0cjxXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0PiBtX21vY2tBY2Nlc3Np
YmlsaXR5RWxlbWVudDsKIAotICAgIFVuaXF1ZVJlZjxWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVj
dG9yPiBtX3ZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I7CisgICAgc3RkOjp1bmlxdWVfcHRy
PFZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3I+IG1fdmlld0dlc3R1cmVHZW9tZXRyeUNvbGxl
Y3RvcjsKIAogICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IG1fZGF0YURldGVjdGlvbkNvbnRl
eHQ7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2
aXNpb24gMjQxMjIzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAko
d29ya2luZyBjb3B5KQpAQCAtMTY2LDcgKzE2Niw3IEBACiAgICAgUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb25NYW5hZ2VyJiBwbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIoKTsKICNlbmRpZgog
Ci0gICAgRXZlbnREaXNwYXRjaGVyJiBldmVudERpc3BhdGNoZXIoKSB7IHJldHVybiAqbV9ldmVu
dERpc3BhdGNoZXI7IH0KKyAgICBFdmVudERpc3BhdGNoZXImIGV2ZW50RGlzcGF0Y2hlcigpIHsg
cmV0dXJuIG1fZXZlbnREaXNwYXRjaGVyLmdldCgpOyB9CiAKICAgICBOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24mIGVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgIHZvaWQgbmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiopOwpA
QCAtNDA3LDcgKzQwNyw3IEBACiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYlBhZ2VH
cm91cFByb3h5Pj4gbV9wYWdlR3JvdXBNYXA7CiAgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlPiBt
X2luamVjdGVkQnVuZGxlOwogCi0gICAgUmVmUHRyPEV2ZW50RGlzcGF0Y2hlcj4gbV9ldmVudERp
c3BhdGNoZXI7CisgICAgUmVmPEV2ZW50RGlzcGF0Y2hlcj4gbV9ldmVudERpc3BhdGNoZXI7CiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBSZWZQdHI8Vmlld1VwZGF0ZURpc3BhdGNoZXI+
IG1fdmlld1VwZGF0ZURpc3BhdGNoZXI7CiAjZW5kaWYKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MTIyMykKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAyLTEyICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgV2Vi
UGFnZTo6Y2xvc2UgbmVlZHMgdG8gcmVtb3ZlIGFsbCBtZXNzYWdlIHJlY2VpdmVycyBhc3NvY2lh
dGVkIHdpdGggdGhhdCBXZWJQYWdlLCBub3QgV2ViUGFnZTo6fldlYlBhZ2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDUyMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDc3ODkzOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXou
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0J1
bmRsZVJldGFpblBhZ2VQbHVnSW4ubW06IEFkZGVkLgorICAgICAgICAoLVtCdW5kbGVSZXRhaW5Q
YWdlUGx1Z0luIHdlYlByb2Nlc3NQbHVnSW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9s
bGVyOl0pOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vz
c1N3YXBPbk5hdmlnYXRpb24ubW06CisKIDIwMTktMDItMDcgIEFsYW4gQ29vbiAgPGFsYW5jb29u
QGFwcGxlLmNvbT4KIAogICAgICAgICBDaGVycnktcGljayByMjQwNzEwLiByZGFyOi8vcHJvYmxl
bS80Nzc3NjM1MwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI0MTIyMykK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMDEsNiArMzAxLDcgQEAKIAkJNUM0QTg0OTUxRjdF
RUZGQzAwQUNGQzU0IC8qIENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzRBODQ5NDFGN0VFRkQ0MDBBQ0ZDNTQgLyogQ29uZmln
dXJhdGlvbi5tbSAqLzsgfTsKIAkJNUM2OUJERDUxRjgyQTdFRjAwMEY0RjRCIC8qIEphdmFTY3Jp
cHREdXJpbmdOYXZpZ2F0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNUM2OUJERDQxRjgyQTdFQjAwMEY0RjRCIC8qIEphdmFTY3JpcHREdXJpbmdO
YXZpZ2F0aW9uLm1tICovOyB9OwogCQk1QzcxNDg5NTIxMjNBNDBBMDBGREUzQzUgLyogV0tXZWJz
aXRlRGF0YXN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUM3MTQ4OTQyMTIzQTQwNzAwRkRFM0M1IC8qIFdLV2Vic2l0ZURhdGFzdG9yZS5tbSAq
LzsgfTsKKwkJNUM3NTcxNjEyMjEyNEM1MjAwQjlFNUFDIC8qIEJ1bmRsZVJldGFpblBhZ2VQbHVn
SW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Qzc1
NzE1RjIyMTI0OUJEMDBCOUU1QUMgLyogQnVuZGxlUmV0YWluUGFnZVBsdWdJbi5tbSAqLzsgfTsK
IAkJNUM3OTY0MTAxRUIwMjc4RDAwNzVENzRDIC8qIEV2ZW50TW9kaWZpZXJzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNzk2NDBGMUVCMDI2OUIw
MDc1RDc0QyAvKiBFdmVudE1vZGlmaWVycy5jcHAgKi87IH07CiAJCTVDN0M3NENCMUZCNTI5QkEw
MDJGOUFCRSAvKiBXZWJWaWV3U2NoZWR1bGVJblJ1bkxvb3AubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzdDNzRDQTFGQjUyOEQ0MDAyRjlBQkUgLyog
V2ViVmlld1NjaGVkdWxlSW5SdW5Mb29wLm1tICovOyB9OwogCQk1QzgzOEY3RjFEQjA0RjkwMDA4
Mjg1OEYgLyogTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc5MDFGQUUxQ0FGMTM3MTAwRUQ2NEY5IC8qIExvYWRJ
bnZhbGlkVVJMUmVxdWVzdC5tbSAqLzsgfTsKQEAgLTE2NzIsNiArMTY3Myw3IEBACiAJCTVDNUU2
MzNEMUQwQjY3OTQwMDg1QTAyNSAvKiBVbmlxdWVSZWYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVW5pcXVlUmVmLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNUM2OUJERDQxRjgyQTdFQjAwMEY0RjRCIC8qIEphdmFTY3JpcHREdXJpbmdOYXZpZ2F0
aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSmF2YVNjcmlw
dER1cmluZ05hdmlnYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDNzE0
ODk0MjEyM0E0MDcwMEZERTNDNSAvKiBXS1dlYnNpdGVEYXRhc3RvcmUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYnNpdGVEYXRhc3RvcmUubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDNzU3MTVGMjIxMjQ5QkQwMEI5RTVBQyAvKiBCdW5k
bGVSZXRhaW5QYWdlUGx1Z0luLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gQnVuZGxlUmV0YWluUGFnZVBsdWdJbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNUM3OTY0MEYxRUIwMjY5QjAwNzVENzRDIC8qIEV2ZW50TW9kaWZpZXJzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50TW9kaWZpZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM3Qzc0Q0ExRkI1MjhENDAwMkY5QUJFIC8qIFdl
YlZpZXdTY2hlZHVsZUluUnVuTG9vcC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYlZpZXdTY2hlZHVsZUluUnVuTG9vcC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNUM4QkM3OTgyMThDRjNFOTAwODEzODg2IC8qIE5ldHdvcmtQcm9jZXNzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDQ1LDYgKzI0NDcsNyBAQAogCQkJ
CTM3QTcwOUFEMUUzRUE4QjAwMENBNTk2OSAvKiBCdW5kbGVSYW5nZUhhbmRsZS5tbSAqLywKIAkJ
CQkzN0E3MDlBQTFFM0VBNzkwMDBDQTU5NjkgLyogQnVuZGxlUmFuZ2VIYW5kbGVQbHVnSW4ubW0g
Ki8sCiAJCQkJMzdBNzA5QUMxRTNFQTdFODAwQ0E1OTY5IC8qIEJ1bmRsZVJhbmdlSGFuZGxlUHJv
dG9jb2wuaCAqLywKKwkJCQk1Qzc1NzE1RjIyMTI0OUJEMDBCOUU1QUMgLyogQnVuZGxlUmV0YWlu
UGFnZVBsdWdJbi5tbSAqLywKIAkJCQkxQzJCODE3RTFDODkxRTQyMDBBNTUyOUYgLyogQ2FuY2Vs
Rm9udFN1YnJlc291cmNlLm1tICovLAogCQkJCTFDMkI4MTgxMUM4OTFFRkEwMEE1NTI5RiAvKiBD
YW5jZWxGb250U3VicmVzb3VyY2VQbHVnSW4ubW0gKi8sCiAJCQkJNUNCMThCQTcxRjU2NDVCMjAw
RUUyM0M0IC8qIENsaWNrQXV0b0ZpbGxCdXR0b24ubW0gKi8sCkBAIC00MzUxLDYgKzQzNTQsNyBA
QAogCQkJCTM3NEI3QTYxMURGMzcxQ0YwMEFDQ0I2QyAvKiBCdW5kbGVFZGl0aW5nRGVsZWdhdGVQ
bHVnSW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQlBMTNFQkJCMDFCODc0MzZGMDAwOTcxMTAgLyog
QnVuZGxlUGFyYW1ldGVyc1BsdWdJbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3QTcwOUFGMUUz
RUE5N0UwMENBNTk2OSAvKiBCdW5kbGVSYW5nZUhhbmRsZVBsdWdJbi5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTVDNzU3MTYxMjIxMjRDNTIwMEI5RTVBQyAvKiBCdW5kbGVSZXRhaW5QYWdlUGx1Z0lu
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUMyQjgxODMxQzg5MUYwOTAwQTU1MjlGIC8qIENhbmNl
bEZvbnRTdWJyZXNvdXJjZVBsdWdJbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDQjE4QkE4MUY1
NjQ1RTMwMEVFMjNDNCAvKiBDbGlja0F1dG9GaWxsQnV0dG9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTE0RkM1OEIxQjg5OTI3MTAwRDEwN0VCIC8qIENvbnRlbnRGaWx0ZXJpbmdQbHVnSW4ubW0g
aW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvQnVuZGxlUmV0YWluUGFnZVBsdWdJbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZVJldGFpblBhZ2VQbHVnSW4ubW0JKG5vbmV4
aXN0ZW50KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9CdW5kbGVS
ZXRhaW5QYWdlUGx1Z0luLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBv
cnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW4uaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KKworQGludGVyZmFjZSBCdW5kbGVSZXRhaW5QYWdlUGx1Z0luIDogTlNPYmplY3QgPFdLV2Vi
UHJvY2Vzc1BsdWdJbj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIEJ1bmRsZVJldGFpblBhZ2VQ
bHVnSW4KKworLSAodm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250
cm9sbGVyICopcGx1Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xs
ZXI6KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWJyb3dzZXJD
b250ZXh0Q29udHJvbGxlcgoreworICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3RpbWUoRElT
UEFUQ0hfVElNRV9OT1csIDAuNSpOU0VDX1BFUl9TRUMpLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1
ZSgpLCBbcmV0YWluZWRQYWdlID0gcmV0YWluUHRyKGJyb3dzZXJDb250ZXh0Q29udHJvbGxlcild
IHsgfSk7Cit9CisKK0BlbmQKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0JKHJldmlzaW9uIDI0MTIyMykKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0J
KHdvcmtpbmcgY29weSkKQEAgLTI0MDQsMTEgKzI0MDQsMTcgQEAKIDwvYm9keT4KIClQU09OUkVT
T1VSQ0UiOwogCi1URVNUKFByb2Nlc3NTd2FwLCBSZXVzZVN1c3BlbmRlZFByb2Nlc3NGb3JSZWd1
bGFyTmF2aWdhdGlvbikKK2VudW0gY2xhc3MgUmV0YWluUGFnZUluQnVuZGxlIHsgTm8sIFllcyB9
Owordm9pZCB0ZXN0UmV1c2VTdXNwZW5kZWRQcm9jZXNzRm9yUmVndWxhck5hdmlnYXRpb24oUmV0
YWluUGFnZUluQnVuZGxlIHJldGFpblBhZ2VJbkJ1bmRsZSkKIHsKICAgICBhdXRvIHByb2Nlc3NQ
b29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKICAgICBbcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIHNldFByb2Nlc3NT
d2Fwc09uTmF2aWdhdGlvbjpZRVNdOworICAgIGlmIChyZXRhaW5QYWdlSW5CdW5kbGUgPT0gUmV0
YWluUGFnZUluQnVuZGxlOjpZZXMpCisgICAgICAgIFtwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24g
c2V0SW5qZWN0ZWRCdW5kbGVVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAIlRlc3RXZWJLaXRBUEkiIHdpdGhFeHRlbnNpb246QCJ3a2J1bmRsZSJdXTsKKwogICAgIGF1
dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRo
Q29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBpZiAo
cmV0YWluUGFnZUluQnVuZGxlID09IFJldGFpblBhZ2VJbkJ1bmRsZTo6WWVzKQorICAgICAgICBb
cHJvY2Vzc1Bvb2wgX3NldE9iamVjdDpAIkJ1bmRsZVJldGFpblBhZ2VQbHVnSW4iIGZvckJ1bmRs
ZVBhcmFtZXRlcjpUZXN0V2ViS2l0QVBJOjpVdGlsOjpUZXN0UGx1Z0luQ2xhc3NOYW1lUGFyYW1l
dGVyXTsKIAogICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlv
biBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CkBAIC0yNDQ2LDYgKzI0NTIsMTYg
QEAKICAgICBFWFBFQ1RfRVEod2Via2l0UElELCBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZp
ZXJdKTsKIH0KIAorVEVTVChQcm9jZXNzU3dhcCwgUmV1c2VTdXNwZW5kZWRQcm9jZXNzRm9yUmVn
dWxhck5hdmlnYXRpb25SZXRhaW5CdW5kbGVQYWdlKQoreworICAgIHRlc3RSZXVzZVN1c3BlbmRl
ZFByb2Nlc3NGb3JSZWd1bGFyTmF2aWdhdGlvbihSZXRhaW5QYWdlSW5CdW5kbGU6Olllcyk7Cit9
CisKK1RFU1QoUHJvY2Vzc1N3YXAsIFJldXNlU3VzcGVuZGVkUHJvY2Vzc0ZvclJlZ3VsYXJOYXZp
Z2F0aW9uKQoreworICAgIHRlc3RSZXVzZVN1c3BlbmRlZFByb2Nlc3NGb3JSZWd1bGFyTmF2aWdh
dGlvbihSZXRhaW5QYWdlSW5CdW5kbGU6Ok5vKTsKK30KKwogc3RhdGljIGNvbnN0IGNoYXIqIG1h
aW5GcmFtZXNPbmx5TWFpbkZyYW1lID0gUiJQU09OUkVTT1VSQ0UoCiA8c2NyaXB0PgogZnVuY3Rp
b24gbG9hZGVkKCkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>