<?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>179886</bug_id>
          
          <creation_ts>2017-11-20 08:01:29 -0800</creation_ts>
          <short_desc>Add setting to disable same-origin and cross-origin subresource requests</short_desc>
          <delta_ts>2017-11-27 14:15:56 -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>Page Loading</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Guido Trentalancia">guido2022</reporter>
          <assigned_to name="WebKit Security Group">webkit-security-unassigned</assigned_to>
          <cc>annulen</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>dbates</cc>
    
    <cc>guido2022</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>product-security</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1373782</commentid>
    <comment_count>0</comment_count>
      <attachid>327361</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-20 08:01:29 -0800</bug_when>
    <thetext>Created attachment 327361
Proposed patch (based on the git development tree)

The proposed patch adds code to disable Cross-Origin Resource Sharing (CORS) functionality for improved security and privacy.

It does so by adding the following three new Preferences/Settings to WebKit:

- disable-cors: to disable the CORS mode (can be tested for example here: https://test-cors.appspot.com/#technical);
- enable-cors-same-domain: to enable loading resources from a different site within the same domain (slightly less safe, but more functional);
- disable-cors-redirection: to disable redirection (safer, but much less functional).

Two patches are attached: one is intended for the current development tree (git) and the other one is intended for the current stable branch (2.18.x).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373783</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-20 08:01:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/35646349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373784</commentid>
    <comment_count>2</comment_count>
      <attachid>327362</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-20 08:02:45 -0800</bug_when>
    <thetext>Created attachment 327362
Patch for the current stable branch (2.18.x)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373785</commentid>
    <comment_count>3</comment_count>
      <attachid>327363</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-20 08:10:05 -0800</bug_when>
    <thetext>Created attachment 327363
Manual Test

Proposed manual test for the attached patch 327361.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373792</commentid>
    <comment_count>4</comment_count>
      <attachid>327366</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-20 09:02:28 -0800</bug_when>
    <thetext>Created attachment 327366
Proposed patch (based on the git development tree)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374017</commentid>
    <comment_count>5</comment_count>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-21 07:52:27 -0800</bug_when>
    <thetext>A companion patch is ready for selected browsers and will be posted as soon as this is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374067</commentid>
    <comment_count>6</comment_count>
      <attachid>327422</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-21 10:46:24 -0800</bug_when>
    <thetext>Created attachment 327422
Proposed patch (based on the git development tree)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374447</commentid>
    <comment_count>7</comment_count>
      <attachid>327508</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-23 10:10:02 -0800</bug_when>
    <thetext>Created attachment 327508
Companion patch for the epiphany browser (stable release 3.26.x)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374448</commentid>
    <comment_count>8</comment_count>
      <attachid>327509</attachid>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-23 10:10:56 -0800</bug_when>
    <thetext>Created attachment 327509
Companion patch for the epiphany browser (git or development release 3.27.x)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374453</commentid>
    <comment_count>9</comment_count>
      <attachid>327422</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-11-23 11:08:04 -0800</bug_when>
    <thetext>Comment on attachment 327422
Proposed patch (based on the git development tree)

How is this different from the multiple existing ways to disable CORS checks in WebCore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374461</commentid>
    <comment_count>10</comment_count>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-23 11:53:13 -0800</bug_when>
    <thetext>To the best of my knowledge there are no other existing &quot;settings&quot; or &quot;preferences&quot; to disable CORS in the existing code (and with the same granularity of preference, as in the three levels proposed here).

I have originally developed the patch for the stable release (2.18.x) and it is now tested quite extensively. It has then be &quot;ported&quot; to the git tree, but I think such new functionality is also missing in git.

For several days I had received no feedback. But thanks for getting back now.

The patch needs to be reviewed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374685</commentid>
    <comment_count>11</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-11-25 01:32:17 -0800</bug_when>
    <thetext>Disabling CORS is a sure way to break lots of pages, or at least parts of them. It&apos;s also questionable as a security measure: if you don&apos;t trust CORS headers that web server is sending you, or you assume page author is using requests to other origins solely for ads, there is no reason to assume that requests to main resource origin can be trusted, e.g. main origin&apos;s web server may be proxying some requests to 3rd party servers and send them data about you.

I think that you should use generic content filtering, e.g. CONTENT_EXTENSIONS, to block unwanted requests instead.

Alternatively, you could use proxy server like Squid, which can do any modification of request and response headers, including removing CORS headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374689</commentid>
    <comment_count>12</comment_count>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-25 04:40:02 -0800</bug_when>
    <thetext>Thanks for your feedback, Konstantin but I have no plans to implement in a different way because it works so well, as in the tests that I carried out with the stable WebKit release.

Disabling CORS is an effective security measure to enforce that content is fetched only from the desired origin and not from other origins imposed by the content provider and not verified or authorized by the end user.

Suppose that A trusts B. If I trust A for whatever good reason, not necessarily trusting B is a good thing just because A trusts it.

Also, if a page breaks partially when CORS is disabled (such as some images do not load), that it because of their poor and flawed design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374704</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-25 13:25:34 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #9)
&gt; How is this different from the multiple existing ways to disable CORS checks
&gt; in WebCore?

^ This was your review here. r- means review denied... you&apos;ll need to investigate Alexey&apos;s question to advance this.

(In reply to Guido Trentalancia from comment #12)
&gt; Also, if a page breaks partially when CORS is disabled (such as some images
&gt; do not load), that it because of their poor and flawed design.

Could this be a misunderstanding of the purpose of CORS? CORS allows a website to instruct the browser which third-party resources should be allowed to load. It would be nonsense for CORS to exist at all if websites could not rely on it working as expected. So I think it would not be appropriate for a general-purpose browser like Epiphany to expose this setting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374705</commentid>
    <comment_count>14</comment_count>
    <who name="Guido Trentalancia">guido2022</who>
    <bug_when>2017-11-25 13:49:52 -0800</bug_when>
    <thetext>I have already replied to the initial review: there is no such setting / preference / functionality in the existing WebKit code.

Also, I am quite sure there is no misunderstanding about CORS. CORS is a vulnerability in terms of both security and privacy. Its risks outweigh its benefits.

As already explained, the fact that an initial trusted content provider A &quot;trusts&quot; (or more generally, &quot;is in business with&quot;) one (or more) secondary content provider B (and C, D, ...), and thus links its own resources to those provided by such secondary content providers, does not constitute a valid reason for a generic user browsing a web page served by A (trusted by the user) to also trust resources provided by B (and C, D, ...) which is not generally trusted by the user.

The proposed patch constitutes a countermeasure to allow safe and private browsing. Because it is configurable it can be enabled or disabled at the user&apos;s will, so I believe it is appropriate for all browsers.

I do highly recommend to use this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374707</commentid>
    <comment_count>15</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-11-25 15:43:30 -0800</bug_when>
    <thetext>(In reply to Guido Trentalancia from comment #0)
&gt; Created attachment 327361 [details]
&gt; Proposed patch (based on the git development tree)
&gt; 
&gt; The proposed patch adds code to disable Cross-Origin Resource Sharing (CORS)
&gt; functionality for improved security and privacy.

This is disingenuous. This patch does not so much as disable CORS as it adds a settings to disallow same-origin and cross-origin subresource requests.

Cross-Origin Resource Sharing (CORS) refers to the protocol described in &lt;https://www.w3.org/TR/cors/&gt;. And this protocol can be summarized as a way to allow JavaScript to load/access the contents of a cross-origin resource that is typically blocked by the same-origin policy.

As mentioned by Konstantin Tokarev in his remark in comment #11, content filtering is the preferred way to achieve the effect that you want. If you are unable to use content filtering to achieve your desired effect then please explain what issue(s) you are running into.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374708</commentid>
    <comment_count>16</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-11-25 15:45:51 -0800</bug_when>
    <thetext>(In reply to Guido Trentalancia from comment #14)
&gt; I have already replied to the initial review: there is no such setting /
&gt; preference / functionality in the existing WebKit code.
&gt; 
&gt; Also, I am quite sure there is no misunderstanding about CORS. CORS is a
&gt; vulnerability in terms of both security and privacy. Its risks outweigh its
&gt; benefits.

This is a misunderstanding of CORS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374709</commentid>
    <comment_count>17</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-11-25 15:46:49 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #16)
&gt; (In reply to Guido Trentalancia from comment #14)
&gt; &gt; I have already replied to the initial review: there is no such setting /
&gt; &gt; preference / functionality in the existing WebKit code.
&gt; &gt; 
&gt; &gt; Also, I am quite sure there is no misunderstanding about CORS. CORS is a
&gt; &gt; vulnerability in terms of both security and privacy. Its risks outweigh its
&gt; &gt; benefits.
&gt; 
&gt; This is a misunderstanding of CORS.

See second paragraph of my remark in comment #15 for more details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374713</commentid>
    <comment_count>18</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-11-25 16:55:03 -0800</bug_when>
    <thetext>(In reply to Guido Trentalancia from comment #12)

There are lots of sites and web applications that use different domains for different types of content, and not necessarily on the same privatly controlled domain, for example when they use CDNs. CORS headers specify which domains are required for the page to correctly function when same-origin policy is enforced. 

&gt;Also, if a page breaks partially when CORS is disabled (such as some images do not load), that it because of their poor and flawed design.

If page is compliant with W3C recommendations and breaks because of non-standard behavior of user agent, page author cannot be blaimed for that.

That said, such behavior can be introduced at different layer without making intrusive WebCore hacks. It seems you are interested in GTK port -  WebKitWebPage::send-request signal should allow to do such filtering without touching WebKit code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374714</commentid>
    <comment_count>19</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-11-25 17:36:01 -0800</bug_when>
    <thetext>(In reply to Guido Trentalancia from comment #14)
&gt; As already explained, the fact that an initial trusted content provider A
&gt; &quot;trusts&quot; (or more generally, &quot;is in business with&quot;) one (or more) secondary
&gt; content provider B (and C, D, ...), and thus links its own resources to
&gt; those provided by such secondary content providers, does not constitute a
&gt; valid reason for a generic user browsing a web page served by A (trusted by
&gt; the user) to also trust resources provided by B (and C, D, ...) which is not
&gt; generally trusted by the user.

If you think more about it you will see that your setting actually requires customization for each posible &quot;A&quot; domain (and this customization may be different for different users, as we don&apos;t only have &quot;generic&quot; ones at hand). WebCore::Settings is suitable only for per-page settings, not per-domain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375047</commentid>
    <comment_count>20</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-11-27 11:59:02 -0800</bug_when>
    <thetext>Given that the preferred way to deal with unwanted cross-site loads is to handle this through the content filtering code paths, I think this should be closed as NTBF.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327361</attachid>
            <date>2017-11-20 08:01:29 -0800</date>
            <delta_ts>2017-11-20 09:02:28 -0800</delta_ts>
            <desc>Proposed patch (based on the git development tree)</desc>
            <filename>WebKit-git18112017-2000-disable-CORS-v3.patch</filename>
            <type>text/plain</type>
            <size>27017</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">QWRkIHRoZSBmb2xsb3dpbmcgbmV3IHdlYiBzZXR0aW5ncyB0byBjb250cm9sIENyb3NzLU9yaWdp
bgpSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgaW1wcm92ZWQgc2VjdXJpdHkgYW5kIHByaXZh
Y3k6CgotIGRpc2FibGUtY29yczogdG8gZGlzYWJsZSB0aGUgQ09SUyBtb2RlIChjYW4gYmUgdGVz
dGVkIGZvcgogIGV4YW1wbGUgaGVyZTogaHR0cHM6Ly90ZXN0LWNvcnMuYXBwc3BvdC5jb20vI3Rl
Y2huaWNhbCk7Ci0gZW5hYmxlLWNvcnMtc2FtZS1kb21haW46IHRvIGVuYWJsZSBsb2FkaW5nIHJl
c291cmNlcwogIGZyb20gYSBkaWZmZXJlbnQgc2l0ZSB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIChz
bGlnaHRseQogIGxlc3Mgc2FmZSwgYnV0IG1vcmUgZnVuY3Rpb25hbCk7Ci0gZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uOiB0byBkaXNhYmxlIHJlZGlyZWN0aW9uIChzYWZlciwKICBidXQgbXVjaCBs
ZXNzIGZ1bmN0aW9uYWwpLgoKVGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBpcyBpbnRlbmRlZCBm
b3IgdGhlIGN1cnJlbnQKZGV2ZWxvcG1lbnQgYnJhbmNoIChnaXQgdHJlZSkuCgpTaWduZWQtb2Zm
LWJ5OiBHdWlkbyBUcmVudGFsYW5jaWEgPGd1aWRvQHRyZW50YWxhbmNpYS5jb20+Ci0tLQogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTIg
KysrKysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCAgICAgICAgICAgICAg
ICAgfCAgIDE2ICsKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAg
ICAgICAgICAgfCAgIDQ3ICsrKysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5oICAgICAgICAgICAgfCAgICAzIAogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcCB8ICAgMjIgKysKIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1IAogU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy55YW1sICAgICAgICAgICAgICAgICAgICB8ICAgIDYgCiBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1NCArKysrKwogU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCAgICAgICAgICAgICB8ICAgMTIg
KwogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgICAgICB8
ICAgMzAgKysrCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5n
cy5jcHAgIHwgIDE4MCArKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmggICAgIHwgICAyMSArKwogMTIgZmlsZXMgY2hhbmdl
ZCwgNDQ1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC1wcnUgV2ViS2l0L1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBXZWJLaXQtZGlzYWJsZS1DT1JTLXYzL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwotLS0gV2ViS2l0L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkyMDE3LTEx
LTE4IDIxOjM3OjU3LjQzMTQ1NzI2OCArMDEwMAorKysgV2ViS2l0LWRpc2FibGUtQ09SUy12My9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJMjAxNy0xMS0yMCAwMDo1MzozMi4xNDI2NTA4MzcgKzAx
MDAKQEAgLTEsMyArMSw1NSBAQAorMjAxNy0xMS0xOSAgR3VpZG8gVHJlbnRhbGFuY2lhICA8Z3Vp
ZG9AdHJlbnRhbGFuY2lhLmNvbT4KKworICAgICAgICBBZGQgY29kZSB0byBlbmFibGUgb3IgZGlz
YWJsZSB2YXJpb3VzIENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBzZXR0aW5n
cworICAgICAgICBmb3IgaW1wcm92ZWQgc2VjdXJpdHkgYW5kIHByaXZhY3k6ICJkaXNhYmxlLWNv
cnMiLCAiZW5hYmxlLWNvcnMtc2FtZS1kb21haW4iIGFuZAorICAgICAgICAiZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uIi4KKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBNYW51YWxU
ZXN0cy9DT1JTLWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIGxvYWRlci9MaW5rTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxpbmtMb2FkZXI6OmxvYWRMaW5rKToKKyAgICAgICAgKiBs
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3Vy
Y2VMb2FkZXI6OmlzQ09SU0Rpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJl
c291cmNlTG9hZGVyOjppc0NPUlNTYW1lRG9tYWluRW5hYmxlZCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxlZCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6Y2hlY2tSZWRpcmVjdGlv
bkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbCk6CisgICAgICAgICogbG9hZGVyL1N1YnJlc291cmNl
TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3Vy
Y2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXND
T1JTRGlzYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNDT1JTU2FtZURv
bWFpbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6aXNDT1JTUmVkaXJl
Y3Rpb25EaXNhYmxlZCBjb25zdCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCisy
MDE3LTExLTE4ICBHdWlkbyBUcmVudGFsYW5jaWEgIDxndWlkb0B0cmVudGFsYW5jaWEuY29tPgor
CisgICAgICAgIEFkZCBjb2RlIHRvIGVuYWJsZSBvciBkaXNhYmxlIHZhcmlvdXMgQ3Jvc3MtT3Jp
Z2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHNldHRpbmdzIGZvcgorICAgICAgICBpbXByb3Zl
ZCBzZWN1cml0eSBhbmQgcHJpdmFjeS4KKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEp
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6bG9hZExpbmspOgorICAgICAgICAqIGxvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRl
cjo6aXNDT1JTRGlzYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VM
b2FkZXI6OmlzQ09SU1NhbWVEb21haW5FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlN1YnJlc291cmNlTG9hZGVyOjppc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpjaGVja1JlZGlyZWN0aW9uQ3Jvc3NP
cmlnaW5BY2Nlc3NDb250cm9sKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIu
aDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6Cisg
ICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjppc0NPUlNEaXNh
YmxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjppc0NPUlNTYW1lRG9tYWluRW5h
YmxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjppc0NPUlNSZWRpcmVjdGlvbkRp
c2FibGVkIGNvbnN0KToKKwogMjAxNy0xMS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIyMDY0Nik6IFJFR1JFU1NJT04gKHIyMjA2
NDYpOiBSZW5kZXJUcmVlUG9zaXRpb246OmNvbXB1dGVOZXh0U2libGluZyBoaXRzIGFzc2VydGlv
biB3aXRoIGNlcnRhaW4gZmlyc3QtbGV0dGVyIG11dGF0aW9ucwpkaWZmIC1wcnUgV2ViS2l0L1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgV2ViS2l0
LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCi0tLSBXZWJLaXQvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcAkyMDE3LTExLTEyIDIwOjM0OjE0LjA4OTc1ODg1NiArMDEwMAor
KysgV2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCTIwMTctMTEtMTkgMjA6Mzk6NDIuNTMxMTE4MzI4ICswMTAw
CkBAIC00LDYgKzQsNyBAQAogICAgIENvcHlyaWdodCAoQykgMjAwMiBXYWxkbyBCYXN0aWFuIChi
YXN0aWFuQGtkZS5vcmcpCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICAgIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUg
SW5jLiBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KKyAgICBDb3B5cmlnaHQgKEMpIDIwMTcg
R3VpZG8gVHJlbnRhbGFuY2lhIChndWlkb0B0cmVudGFsYW5jaWEuY29tKQogCiAgICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC02MCw2ICs2MSw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBp
bmdMb2FkZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKKyNpbmNsdWRlICJQ
dWJsaWNTdWZmaXguaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VMb2FkSW5mby5oIgogI2luY2x1ZGUgIlJlc291cmNlVGltaW5nLmgiCkBAIC03MzcsNiAr
NzM5LDIzIEBAIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWMKICAgICAg
ICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFJlc291cmNlRXJyb3IgeyBlcnJvckRvbWFpbldlYktp
dEludGVybmFsLCAwLCB1cmwsIEFTQ0lJTGl0ZXJhbCgiVVJMIGlzIGludmFsaWQiKSB9KTsKICAg
ICB9CiAKKyAgICBib29sIGRpc2FibGVDT1JTID0gZnJhbWUoKS0+cGFnZSgpLT5pc0NPUlNEaXNh
YmxlZCgpOworICAgIGJvb2wgZW5hYmxlQ09SU1NhbWVEb21haW4gPSBmcmFtZSgpLT5wYWdlKCkt
PmlzQ09SU1NhbWVEb21haW5FbmFibGVkKCk7CisKKyAgICBpZiAoZGlzYWJsZUNPUlMpIHsKKyAg
ICAgICAgaWYgKGVuYWJsZUNPUlNTYW1lRG9tYWluKSB7CisgICAgICAgICAgICBTdHJpbmcgcmVx
dWVzdERvbWFpbiA9IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4odXJsLmhvc3QoKSk7Cisg
ICAgICAgICAgICBTdHJpbmcgZG9jdW1lbnREb21haW4gPSB0b3BQcml2YXRlbHlDb250cm9sbGVk
RG9tYWluKGZyYW1lKCktPmRvY3VtZW50KCktPnVybCgpLmhvc3QoKSk7CisgICAgICAgICAgICBp
ZiAoIWVxdWFsSWdub3JpbmdBU0NJSUNhc2UocmVxdWVzdERvbWFpbiwgZG9jdW1lbnREb21haW4p
ICYmIHR5cGUgIT0gQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZSkgeworICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlcXVlc3RSZXNvdXJjZTogUmVzb3VyY2UgYmxv
Y2tlZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kgKGZyYW1lID0gJXAp
IiwgZnJhbWUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFJlc291
cmNlRXJyb3IgeyBlcnJvckRvbWFpbldlYktpdEludGVybmFsLCAwLCB1cmwsIEFTQ0lJTGl0ZXJh
bCgiUmVzb3VyY2UgYmxvY2tlZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xp
Y3kiKSwgUmVzb3VyY2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29udHJvbCB9KTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIGlmICghZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZSh1cmwuaG9zdCgp
LCBmcmFtZSgpLT5kb2N1bWVudCgpLT51cmwoKS5ob3N0KCkpICYmIHR5cGUgIT0gQ2FjaGVkUmVz
b3VyY2U6Ok1haW5SZXNvdXJjZSkgeworICAgICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoInJlcXVlc3RSZXNvdXJjZTogUmVzb3VyY2UgYmxvY2tlZCBieSBDcm9zcy1PcmlnaW4g
UmVzb3VyY2UgU2hhcmluZyBwb2xpY3kgKGZyYW1lID0gJXApIiwgZnJhbWUoKSk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIG1ha2VVbmV4cGVjdGVkKFJlc291cmNlRXJyb3IgeyBlcnJvckRvbWFp
bldlYktpdEludGVybmFsLCAwLCB1cmwsIEFTQ0lJTGl0ZXJhbCgiUmVzb3VyY2UgYmxvY2tlZCBi
eSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kiKSwgUmVzb3VyY2VFcnJvcjo6
VHlwZTo6QWNjZXNzQ29udHJvbCB9KTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIHByZXBhcmVG
ZXRjaCh0eXBlLCByZXF1ZXN0KTsKIAogICAgIC8vIFdlIGFyZSBwYXNzaW5nIHVybCBhcyB3ZWxs
IGFzIHJlcXVlc3QsIGFzIHJlcXVlc3QgdXJsIG1heSBjb250YWluIGEgZnJhZ21lbnQgaWRlbnRp
Zmllci4KQEAgLTgyMyw3ICs4NDIsOCBAQCBSZXNvdXJjZUVycm9yT3I8Q2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjCiAgICAgUmV2YWxpZGF0aW9uUG9saWN5IHBvbGljeSA9IGRldGVybWluZVJldmFs
aWRhdGlvblBvbGljeSh0eXBlLCByZXF1ZXN0LCByZXNvdXJjZS5nZXQoKSwgZm9yUHJlbG9hZCwg
ZGVmZXIpOwogICAgIHN3aXRjaCAocG9saWN5KSB7CiAgICAgY2FzZSBSZWxvYWQ6Ci0gICAgICAg
IG1lbW9yeUNhY2hlLnJlbW92ZSgqcmVzb3VyY2UpOworICAgICAgICBpZiAocmVzb3VyY2UpCisg
ICAgICAgICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnJlc291cmNlKTsKICAgICAgICAgRkFMTFRI
Uk9VR0g7CiAgICAgY2FzZSBMb2FkOgogICAgICAgICBpZiAocmVzb3VyY2UpCmRpZmYgLXBydSBX
ZWJLaXQvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwIFdlYktpdC1kaXNhYmxl
LUNPUlMtdjMvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCi0tLSBXZWJLaXQv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCTIwMTctMTEtMTIgMjA6MzQ6MTQu
MDQ3NzU4ODU2ICswMTAwCisrKyBXZWJLaXQtZGlzYWJsZS1DT1JTLXYzL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9MaW5rTG9hZGVyLmNwcAkyMDE3LTExLTE4IDIyOjA1OjA0Ljg1MzQ1MDYxNCArMDEw
MApAQCAtNTAsNyArNTAsOSBAQAogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCiAjaW5jbHVk
ZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIK
KyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisjaW5j
bHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1
ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAt
MjQ2LDYgKzI0OCwyMCBAQCB2b2lkIExpbmtMb2FkZXI6OmNhbmNlbExvYWQoKQogCiBib29sIExp
bmtMb2FkZXI6OmxvYWRMaW5rKGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmIHJlbEF0dHJpYnV0ZSwg
Y29uc3QgVVJMJiBocmVmLCBjb25zdCBTdHJpbmcmIGFzLCBjb25zdCBTdHJpbmcmIG1lZGlhLCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCiB7CisgICAgYm9vbCBkaXNhYmxlQ09SUyA9IGRvY3VtZW50LnBhZ2UoKS0+
aXNDT1JTRGlzYWJsZWQoKTsKKyAgICBib29sIGVuYWJsZUNPUlNTYW1lRG9tYWluID0gZG9jdW1l
bnQucGFnZSgpLT5pc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgpOworCisgICAgaWYgKGRpc2FibGVD
T1JTKSB7CisgICAgICAgIGlmIChlbmFibGVDT1JTU2FtZURvbWFpbikgeworICAgICAgICAgICAg
U3RyaW5nIHJlcXVlc3REb21haW4gPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKGhyZWYu
aG9zdCgpKTsKKyAgICAgICAgICAgIFN0cmluZyBkb2N1bWVudERvbWFpbiA9IHRvcFByaXZhdGVs
eUNvbnRyb2xsZWREb21haW4oZG9jdW1lbnQudXJsKCkuaG9zdCgpKTsKKyAgICAgICAgICAgIGlm
ICghZG9jdW1lbnREb21haW4uaXNFbXB0eSgpICYmICFlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJl
cXVlc3REb21haW4sIGRvY3VtZW50RG9tYWluKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0gZWxzZSBpZiAoIWRvY3VtZW50LnVybCgpLmhvc3QoKS5pc0VtcHR5KCkg
JiYgaHJlZi5ob3N0KCkgIT0gZG9jdW1lbnQudXJsKCkuaG9zdCgpKSB7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKHJlbEF0dHJpYnV0
ZS5pc0ROU1ByZWZldGNoKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgaHJlZiBhdHRyaWJ1dGUg
b2YgdGhlIGxpbmsgZWxlbWVudCBjYW4gYmUgaW4gIi8vaG9zdG5hbWUiIGZvcm0sIGFuZCB3ZSBz
aG91bGRuJ3QgYXR0ZW1wdAogICAgICAgICAvLyB0byBjb21wbGV0ZSB0aGF0IGFzIFVSTCA8aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4ODU3Pi4KZGlmZiAtcHJ1IFdl
YktpdC9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIFdlYktpdC1k
aXNhYmxlLUNPUlMtdjMvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cAotLS0gV2ViS2l0L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAJ
MjAxNy0xMS0xMiAyMDozNDoxNC4wNjA3NTg4NTYgKzAxMDAKKysrIFdlYktpdC1kaXNhYmxlLUNP
UlMtdjMvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAkyMDE3LTEx
LTE4IDIyOjMwOjA1Ljk5MjQ0NDQ3NyArMDEwMApAQCAtMTY3LDYgKzE2NywzOSBAQCBib29sIFN1
YnJlc291cmNlTG9hZGVyOjppc1N1YnJlc291cmNlTG9hCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgU3VicmVzb3VyY2VMb2FkZXI6OmlzQ09SU0Rpc2FibGVkKCkgY29uc3QKK3sKKyAgICBp
ZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9mcmFtZS0+
cGFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV9mcmFtZS0+cGFn
ZSgpLT5pc0NPUlNEaXNhYmxlZCgpOworfQorCitib29sIFN1YnJlc291cmNlTG9hZGVyOjppc0NP
UlNTYW1lRG9tYWluRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTU2FtZURvbWFp
bkVuYWJsZWQoKTsKK30KKworYm9vbCBTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTUmVkaXJlY3Rp
b25EaXNhYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxl
ZCgpOworfQorCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5h
bChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZWRpcmVjdFJlc3BvbnNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291cmNlUmVxdWVzdCYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICAvLyBTdG9yZSB0aGUgcHJldmlvdXMgVVJM
IGJlY2F1c2UgdGhlIGNhbGwgdG8gUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdCB3aWxs
IG1vZGlmeSBpdC4KQEAgLTUwMywxNCArNTM2LDI0IEBAIGJvb2wgU3VicmVzb3VyY2VMb2FkZXI6
OmNoZWNrUmVkaXJlY3Rpb24KIHsKICAgICBib29sIGNyb3NzT3JpZ2luRmxhZyA9IG1fcmVzb3Vy
Y2UtPmlzQ3Jvc3NPcmlnaW4oKTsKICAgICBib29sIGlzTmV4dFJlcXVlc3RDcm9zc09yaWdpbiA9
IG1fb3JpZ2luICYmICFtX29yaWdpbi0+Y2FuUmVxdWVzdChuZXdSZXF1ZXN0LnVybCgpKTsKKyAg
ICBib29sIGRpc2FibGVDT1JTID0gaXNDT1JTRGlzYWJsZWQoKTsKKyAgICBib29sIGRpc2FibGVD
T1JTUmVkaXJlY3Rpb24gPSBpc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkKCk7CiAKICAgICBpZiAo
aXNOZXh0UmVxdWVzdENyb3NzT3JpZ2luKQogICAgICAgICBtX3Jlc291cmNlLT5zZXRDcm9zc09y
aWdpbigpOwogCiAgICAgQVNTRVJUKG9wdGlvbnMoKS5tb2RlICE9IEZldGNoT3B0aW9uczo6TW9k
ZTo6U2FtZU9yaWdpbiB8fCAhbV9yZXNvdXJjZS0+aXNDcm9zc09yaWdpbigpKTsKIAotICAgIGlm
IChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpCi0gICAgICAgIHJl
dHVybiB0cnVlOworICAgIGlmIChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6
OkNvcnMpIHsKKyAgICAgICAgaWYgKCFkaXNhYmxlQ09SUykgeworICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIWRpc2FibGVDT1JTUmVk
aXJlY3Rpb24pCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQogCiAgICAg
Ly8gSW1wbGVtZW50aW5nIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LWh0
dHAtcmVkaXJlY3QtZmV0Y2ggc3RlcCA4ICYgOS4KICAgICBpZiAobV9yZXNvdXJjZS0+aXNDcm9z
c09yaWdpbigpICYmICFpc1ZhbGlkQ3Jvc3NPcmlnaW5SZWRpcmVjdGlvblVSTChuZXdSZXF1ZXN0
LnVybCgpKSkgewpkaWZmIC1wcnUgV2ViS2l0L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNv
dXJjZUxvYWRlci5oIFdlYktpdC1kaXNhYmxlLUNPUlMtdjMvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmgKLS0tIFdlYktpdC9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
cmVzb3VyY2VMb2FkZXIuaAkyMDE3LTExLTE4IDIxOjM3OjU3LjUwOTQ1NzI2NyArMDEwMAorKysg
V2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuaAkyMDE3LTExLTE4IDIyOjAyOjEwLjAyNzQ1MTMyOSArMDEwMApAQCAtNDgsNiArNDgs
OSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNhbmNlbElmTm90RmluaXNoaW5nKCk7CiAgICAgYm9v
bCBpc1N1YnJlc291cmNlTG9hZGVyKCkgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NPUlNEaXNhYmxl
ZCgpIGNvbnN0OworICAgIGJvb2wgaXNDT1JTU2FtZURvbWFpbkVuYWJsZWQoKSBjb25zdDsKKyAg
ICBib29sIGlzQ09SU1JlZGlyZWN0aW9uRGlzYWJsZWQoKSBjb25zdDsKICAgICBDYWNoZWRSZXNv
dXJjZSogY2FjaGVkUmVzb3VyY2UoKTsKIAogICAgIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4oKSB7
IHJldHVybiBtX29yaWdpbi5nZXQoKTsgfQpkaWZmIC1wcnUgV2ViS2l0L1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oIFdlYktpdC1kaXNhYmxlLUNPUlMtdjMvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKLS0tIFdlYktpdC9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAkyMDE3LTExLTEyIDIw
OjM0OjE0LjE3MDc1ODg1NiArMDEwMAorKysgV2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAkyMDE3LTExLTE4IDIyOjMxOjM0LjgxMzQ0NDExNCArMDEwMApA
QCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIlJUQ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJS
ZWdpb24uaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgi
CiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgIlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24uaCIKQEAgLTU4OCw2ICs1ODksMTAgQEAg
cHVibGljOgogICAgIGJvb2wgaXNMb3dQb3dlck1vZGVFbmFibGVkKCkgY29uc3Q7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRMb3dQb3dlck1vZGVFbmFibGVkT3ZlcnJpZGVGb3JUZXN0aW5n
KHN0ZDo6b3B0aW9uYWw8Ym9vbD4pOwogCisgICAgYm9vbCBpc0NPUlNEaXNhYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2V0dGluZ3MtPmRpc2FibGVDT1JTKCk7IH0KKyAgICBib29sIGlzQ09SU1Nh
bWVEb21haW5FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy0+ZW5hYmxlQ09SU1Nh
bWVEb21haW4oKTsgfQorICAgIGJvb2wgaXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2V0dGluZ3MtPmRpc2FibGVDT1JTUmVkaXJlY3Rpb24oKTsgfQorCiBwcml2
YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKICAgICAgICAgU3RyaW5nIGRvbWFpbjsKZGlm
ZiAtcHJ1IFdlYktpdC9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgV2ViS2l0LWRp
c2FibGUtQ09SUy12My9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKLS0tIFdlYktp
dC9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwJMjAxNy0xMS0xMiAyMDozNDoxNC4x
ODk3NTg4NTUgKzAxMDAKKysrIFdlYktpdC1kaXNhYmxlLUNPUlMtdjMvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCTIwMTctMTEtMTkgMTc6NTY6MTkuMjYzMTU4NDA3ICswMTAwCkBA
IC05OSw2ICs5OSwxMiBAQCBhbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMczoKICAgaW5p
dGlhbDogdHJ1ZQogYWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzOgogICBpbml0aWFsOiB0cnVl
CitkaXNhYmxlQ09SUzoKKyAgaW5pdGlhbDogZmFsc2UKK2VuYWJsZUNPUlNTYW1lRG9tYWluOgor
ICBpbml0aWFsOiB0cnVlCitkaXNhYmxlQ09SU1JlZGlyZWN0aW9uOgorICBpbml0aWFsOiBmYWxz
ZQogbmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcms6CiAgIGluaXRpYWw6IHRydWUK
IGphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHk6CmRpZmYgLXBydSBXZWJLaXQv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgV2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwotLS0gV2ViS2l0L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCTIwMTctMTEt
MTggMjE6Mzc6NTcuNjAwNDU3MjY3ICswMTAwCisrKyBXZWJLaXQtZGlzYWJsZS1DT1JTLXYzL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCTIwMTctMTEtMjAgMDA6NDc6MjAuMDUwNjQ4NDQ2ICswMTAw
CkBAIC0xLDMgKzEsNTcgQEAKKzIwMTctMTEtMTkgIEd1aWRvIFRyZW50YWxhbmNpYSAgPGd1aWRv
QHRyZW50YWxhbmNpYS5jb20+CisKKyAgICAgICAgQWRkIFByZWZlcmVuY2VzIGZvciBuZXcgQ09S
UyBzZXR0aW5ncy4KKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZl
cmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
OgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldERpc2FibGVDT1JTKToKKyAgICAgICAgKFdLUHJl
ZmVyZW5jZXNHZXREaXNhYmxlQ09SUyk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0RW5hYmxl
Q09SU1NhbWVEb21haW4pOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEVuYWJsZUNPUlNTYW1l
RG9tYWluKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXREaXNhYmxlQ09SU1JlZGlyZWN0aW9u
KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXREaXNhYmxlQ09SU1JlZGlyZWN0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwOgorICAgICAgICAo
d2ViS2l0U2V0dGluZ3NTZXRQcm9wZXJ0eSk6CisgICAgICAgICh3ZWJLaXRTZXR0aW5nc0dldFBy
b3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAg
KHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzKToKKyAgICAgICAgKHdlYmtpdF9zZXR0
aW5nc19zZXRfZGlzYWJsZV9jb3JzKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX2NvcnNfc2FtZV9kb21haW4pOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9lbmFi
bGVfY29yc19zYW1lX2RvbWFpbik6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfZ2V0X2Rpc2Fi
bGVfY29yc19yZWRpcmVjdGlvbik6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rpc2Fi
bGVfY29yc19yZWRpcmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
U2V0dGluZ3MuaDoKKworMjAxNy0xMS0xOCAgR3VpZG8gVHJlbnRhbGFuY2lhICA8Z3VpZG9AdHJl
bnRhbGFuY2lhLmNvbT4KKworICAgICAgICBBZGQgUHJlZmVyZW5jZXMgZm9yIG5ldyBDT1JTIHNl
dHRpbmdzLgorICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6Cisg
ICAgICAgIChXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlMpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc0dldERpc2FibGVDT1JTKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRFbmFibGVDT1JT
U2FtZURvbWFpbik6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0RW5hYmxlQ09SU1NhbWVEb21h
aW4pOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldERpc2FibGVDT1JTUmVkaXJlY3Rpb24pOgor
ICAgICAgICAoV0tQcmVmZXJlbmNlc0dldERpc2FibGVDT1JTUmVkaXJlY3Rpb24pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJL
aXRTZXR0aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNldHRpbmdzR2V0UHJvcGVy
dHkpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAod2Vi
a2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2NvcnMpOgorICAgICAgICAod2Via2l0X3NldHRpbmdz
X3NldF9kaXNhYmxlX2NvcnMpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
Y29yc19zYW1lX2RvbWFpbik6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9j
b3JzX3NhbWVfZG9tYWluKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9j
b3JzX3JlZGlyZWN0aW9uKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZGlzYWJsZV9j
b3JzX3JlZGlyZWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0
aW5ncy5oOgorCiAyMDE3LTExLTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1NlcnZpY2UgV29ya2Vyc10gSW1wbGVtZW50ICJOb3RpZnkgQ29udHJvbGxlciBD
aGFuZ2UiIGFsZ29yaXRobQpkaWZmIC1wcnUgV2ViS2l0L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWwgV2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCi0tLSBXZWJLaXQvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbAkyMDE3LTExLTE4IDIxOjM3OjU3LjYwODQ1NzI2NyArMDEwMAor
KysgV2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sCTIwMTctMTEtMTggMjI6MDE6MTkuODgyNDUxNTM0ICswMTAwCkBAIC0xNzksNiAr
MTc5LDE4IEBAIEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMczoKICAgdHlwZTogYm9vbAogICBk
ZWZhdWx0VmFsdWU6IGZhbHNlCiAKK0Rpc2FibGVDT1JTOgorICB0eXBlOiBib29sCisgIGRlZmF1
bHRWYWx1ZTogZmFsc2UKKworRW5hYmxlQ09SU1NhbWVEb21haW46CisgIHR5cGU6IGJvb2wKKyAg
ZGVmYXVsdFZhbHVlOiB0cnVlCisKK0Rpc2FibGVDT1JTUmVkaXJlY3Rpb246CisgIHR5cGU6IGJv
b2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorCiBBVkZvdW5kYXRpb25FbmFibGVkOgogICB0eXBl
OiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQpkaWZmIC1wcnUgV2ViS2l0L1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIFdlYktpdC1kaXNhYmxlLUNPUlMt
djMvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKLS0tIFdl
YktpdC9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkyMDE3
LTExLTE4IDIxOjM3OjU3LjYxMjQ1NzI2NyArMDEwMAorKysgV2ViS2l0LWRpc2FibGUtQ09SUy12
My9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkyMDE3LTEx
LTE4IDIyOjAyOjEzLjI1NzQ1MTMxNiArMDEwMApAQCAtNzQ1LDYgKzc0NSwzNiBAQCBib29sIFdL
UHJlZmVyZW5jZXNHZXRGaWxlQWNjZXNzRnJvbUZpbGVVCiAgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPmFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcygpOwogfQogCit2b2lkIFdL
UHJlZmVyZW5jZXNTZXREaXNhYmxlQ09SUyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBib29sIGFsbG93ZWQpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RGlzYWJs
ZUNPUlMoYWxsb3dlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldERpc2FibGVDT1JTKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPmRpc2FibGVDT1JTKCk7Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEVu
YWJsZUNPUlNTYW1lRG9tYWluKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wg
YWxsb3dlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRFbmFibGVDT1JTU2Ft
ZURvbWFpbihhbGxvd2VkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0RW5hYmxlQ09SU1Nh
bWVEb21haW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4g
dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+ZW5hYmxlQ09SU1NhbWVEb21haW4oKTsKK30KKwordm9p
ZCBXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlNSZWRpcmVjdGlvbihXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQpCit7CisgICAgdG9JbXBsKHByZWZlcmVuY2Vz
UmVmKS0+c2V0RGlzYWJsZUNPUlNSZWRpcmVjdGlvbihhbGxvd2VkKTsKK30KKworYm9vbCBXS1By
ZWZlcmVuY2VzR2V0RGlzYWJsZUNPUlNSZWRpcmVjdGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5kaXNhYmxl
Q09SU1JlZGlyZWN0aW9uKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldE5lZWRzU3RvcmFn
ZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IGJvb2wgbmVlZHNRdWlyaykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXROZWVk
c1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayhuZWVkc1F1aXJrKTsKZGlmZiAtcHJ1IFdl
YktpdC9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAg
V2ViS2l0LWRpc2FibGUtQ09SUy12My9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRTZXR0aW5ncy5jcHAKLS0tIFdlYktpdC9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAJMjAxNy0xMS0xOCAyMTozNzo1Ny42MzQ0NTcyNjcgKzAx
MDAKKysrIFdlYktpdC1kaXNhYmxlLUNPUlMtdjMvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwCTIwMTctMTEtMTggMjI6NTE6NTIuNzc3NDM5MTM1ICsw
MTAwCkBAIC0xNTcsNiArMTU3LDkgQEAgZW51bSB7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIFBS
T1BfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWSwKICNlbmRpZgorICAgIFBST1BfRElTQUJM
RV9DT1JTLAorICAgIFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU4sCisgICAgUFJPUF9ESVNB
QkxFX0NPUlNfUkVESVJFQ1RJT04sCiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJLaXRTZXR0aW5nc0Rp
c3Bvc2UoR09iamVjdCogb2JqZWN0KQpAQCAtMzU5LDYgKzM2MiwxNSBAQCBzdGF0aWMgdm9pZCB3
ZWJLaXRTZXR0aW5nc1NldFByb3BlcnR5KEdPCiAgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRf
aGFyZHdhcmVfYWNjZWxlcmF0aW9uX3BvbGljeShzZXR0aW5ncywgc3RhdGljX2Nhc3Q8V2ViS2l0
SGFyZHdhcmVBY2NlbGVyYXRpb25Qb2xpY3k+KGdfdmFsdWVfZ2V0X2VudW0odmFsdWUpKSk7CiAg
ICAgICAgIGJyZWFrOwogI2VuZGlmCisgICAgY2FzZSBQUk9QX0RJU0FCTEVfQ09SUzoKKyAgICAg
ICAgd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnMoc2V0dGluZ3MsIGdfdmFsdWVfZ2V0
X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0VOQUJMRV9D
T1JTX1NBTUVfRE9NQUlOOgorICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9jb3Jz
X3NhbWVfZG9tYWluKHNldHRpbmdzLCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9ESVNBQkxFX0NPUlNfUkVESVJFQ1RJT046CisgICAg
ICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uKHNldHRpbmdz
LCBnX3ZhbHVlX2dldF9ib29sZWFuKHZhbHVlKSk7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHBy
b3BJZCwgcGFyYW1TcGVjKTsKICAgICAgICAgYnJlYWs7CkBAIC01MjcsNiArNTM5LDE1IEBAIHN0
YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzR2V0UHJvcGVydHkoR08KICAgICAgICAgZ192YWx1ZV9z
ZXRfZW51bSh2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9oYXJkd2FyZV9hY2NlbGVyYXRpb25f
cG9saWN5KHNldHRpbmdzKSk7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisgICAgY2FzZSBQUk9Q
X0RJU0FCTEVfQ09SUzoKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0
X3NldHRpbmdzX2dldF9kaXNhYmxlX2NvcnMoc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBQUk9QX0VOQUJMRV9DT1JTX1NBTUVfRE9NQUlOOgorICAgICAgICBnX3ZhbHVlX3Nl
dF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jb3JzX3NhbWVfZG9t
YWluKHNldHRpbmdzKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUFJPUF9ESVNBQkxFX0NP
UlNfUkVESVJFQ1RJT046CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtp
dF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uKHNldHRpbmdzKSk7CisgICAg
ICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9Q
Uk9QRVJUWV9JRChvYmplY3QsIHByb3BJZCwgcGFyYW1TcGVjKTsKICAgICAgICAgYnJlYWs7CkBA
IC0xMzQ5LDYgKzEzNzAsNTEgQEAgc3RhdGljIHZvaWQgd2Via2l0X3NldHRpbmdzX2NsYXNzX2lu
aXQoVwogICAgICAgICAgICAgV0VCS0lUX0hBUkRXQVJFX0FDQ0VMRVJBVElPTl9QT0xJQ1lfT05f
REVNQU5ELAogICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOwogI2Vu
ZGlmIC8vIFBMQVRGT1RNKEdUSykKKworICAgIC8qKgorICAgICAqIFdlYktpdFNldHRpbmdzOmRp
c2FibGUtY29yczoKKyAgICAgKgorICAgICAqIFdoZXRoZXIgQ3Jvc3MgT3JpZ2luIFJlc291cmNl
IFNoYXJpbmcgKENPUlMpIGlzIGRpc2FibGVkLgorICAgICAqCisgICAgICogU2luY2U6IDIuMTku
MgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ09iamVjdENs
YXNzLAorICAgICAgICBQUk9QX0RJU0FCTEVfQ09SUywKKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jv
b2xlYW4oImRpc2FibGUtY29ycyIsCisgICAgICAgICAgICBfKCJEaXNhYmxlIENyb3NzIE9yaWdp
biBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSIpLAorICAgICAgICAgICAgXygiV2hldGhlciBDcm9z
cyBPcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgaXMgZGlzYWJsZWQuIiksCisgICAgICAg
ICAgICBGQUxTRSwKKyAgICAgICAgICAgIHJlYWRXcml0ZUNvbnN0cnVjdFBhcmFtRmxhZ3MpKTsK
KworICAgIC8qKgorICAgICAqIFdlYktpdFNldHRpbmdzOmVuYWJsZS1jb3JzLXNhbWUtZG9tYWlu
OgorICAgICAqCisgICAgICogV2hldGhlciBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAo
Q09SUykgd2l0aGluIHRoZSBzYW1lIGRvbWFpbiBpcyBlbmFibGVkLgorICAgICAqCisgICAgICog
U2luY2U6IDIuMTkuMgorICAgICAqLworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoZ09iamVjdENsYXNzLAorICAgICAgICBQUk9QX0VOQUJMRV9DT1JTX1NBTUVfRE9NQUlOLAor
ICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZW5hYmxlLWNvcnMtc2FtZS1kb21haW4iLAor
ICAgICAgICAgICAgXygiRW5hYmxlIENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JT
KSB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIENyb3Nz
IE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIGlz
IGVuYWJsZWQuIiksCisgICAgICAgICAgICBUUlVFLAorICAgICAgICAgICAgcmVhZFdyaXRlQ29u
c3RydWN0UGFyYW1GbGFncykpOworCisgICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZGlz
YWJsZS1jb3JzLXJlZGlyZWN0aW9uOgorICAgICAqCisgICAgICogV2hldGhlciBDcm9zcyBPcmln
aW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgUmVkaXJlY3Rpb24gaXMgZGlzYWJsZWQuCisgICAg
ICoKKyAgICAgKiBTaW5jZTogMi4xOS4yCisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5z
dGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfRElTQUJMRV9DT1JTX1JF
RElSRUNUSU9OLAorICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZGlzYWJsZS1jb3JzLXJl
ZGlyZWN0aW9uIiwKKyAgICAgICAgICAgIF8oIkRpc2FibGUgQ3Jvc3MgT3JpZ2luIFJlc291cmNl
IFNoYXJpbmcgKENPUlMpIFJlZGlyZWN0aW9uIiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIENy
b3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBSZWRpcmVjdGlvbiBpcyBkaXNhYmxl
ZC4iKSwKKyAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0
UGFyYW1GbGFncykpOwogfQogCiBXZWJQcmVmZXJlbmNlcyogd2Via2l0U2V0dGluZ3NHZXRQcmVm
ZXJlbmNlcyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCkBAIC0zMzM1LDMgKzM0MDEsMTE3IEBA
IGd1aW50MzIgd2Via2l0X3NldHRpbmdzX2ZvbnRfc2l6ZV90b19waXgKICAgICByZXR1cm4gc3Rk
Ojpyb3VuZChwb2ludHMgKiBXZWJDb3JlOjpzY3JlZW5EUEkoKSAvIDcyKTsKIH0KICNlbmRpZiAv
LyBQTEFURk9STShHVEspCisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2Nv
cnM6CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2Vi
S2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzIHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVF
IElmIENPUlMgaXMgZGlzYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTog
Mi4xOS4yCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzKFdl
YktpdFNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJL
SVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAgICByZXR1cm4gc2V0dGluZ3Mt
PnByaXYtPnByZWZlcmVuY2VzLT5kaXNhYmxlQ09SUygpOworfQorCisvKioKKyAqIHdlYmtpdF9z
ZXR0aW5nc19zZXRfZGlzYWJsZV9jb3JzOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5n
cworICogQGFsbG93ZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktpdFNl
dHRpbmdzOmRpc2FibGUtY29ycyBwcm9wZXJ0eS4KKyAqCisgKiBTaW5jZTogMi4xOS4yCisgKi8K
K3ZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnMoV2ViS2l0U2V0dGluZ3MqIHNl
dHRpbmdzLCBnYm9vbGVhbiBhbGxvd2VkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHBy
aXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBpZiAocHJpdi0+cHJlZmVyZW5jZXMtPmRpc2FibGVD
T1JTKCkgPT0gYWxsb3dlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJpdi0+cHJlZmVyZW5j
ZXMtPnNldERpc2FibGVDT1JTKGFsbG93ZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVD
VChzZXR0aW5ncyksICJkaXNhYmxlLWNvcnMiKTsKK30KKworLyoqCisgKiB3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV9jb3JzX3NhbWVfZG9tYWluOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRT
ZXR0aW5ncworICoKKyAqIEdldCB0aGUgI1dlYktpdFNldHRpbmdzOmVuYWJsZS1jb3JzLXNhbWUt
ZG9tYWluIHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIENPUlMgd2l0aGluIHRo
ZSBzYW1lIGRvbWFpbiBpcyBlbmFibGVkIG9yICVGQUxTRSBvdGhlcndpc2UuCisgKgorICogU2lu
Y2U6IDIuMTkuMgorICovCitnYm9vbGVhbiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jb3Jz
X3NhbWVfZG9tYWluKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAgICBy
ZXR1cm4gc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLT5lbmFibGVDT1JTU2FtZURvbWFpbigp
OworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21h
aW46CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUg
dG8gYmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWNvcnMtc2Ft
ZS1kb21haW4gcHJvcGVydHkuCisgKgorICogU2luY2U6IDIuMTkuMgorICovCit2b2lkIHdlYmtp
dF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oV2ViS2l0U2V0dGluZ3MqIHNl
dHRpbmdzLCBnYm9vbGVhbiBhbGxvd2VkKQoreworICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAgICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHBy
aXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBpZiAocHJpdi0+cHJlZmVyZW5jZXMtPmVuYWJsZUNP
UlNTYW1lRG9tYWluKCkgPT0gYWxsb3dlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJpdi0+
cHJlZmVyZW5jZXMtPnNldEVuYWJsZUNPUlNTYW1lRG9tYWluKGFsbG93ZWQpOworICAgIGdfb2Jq
ZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIp
OworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0
aW9uOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0aW5ncworICoKKyAqIEdldCB0aGUgI1dl
YktpdFNldHRpbmdzOmRpc2FibGUtY29ycy1yZWRpcmVjdGlvbiBwcm9wZXJ0eS4KKyAqCisgKiBS
ZXR1cm5zOiAlVFJVRSBJZiBDT1JTIHJlZGlyZWN0aW9uIGlzIGRpc2FibGVkIG9yICVGQUxTRSBv
dGhlcndpc2UuCisgKgorICogU2luY2U6IDIuMTkuMgorICovCitnYm9vbGVhbiB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2Rpc2FibGVfY29yc19yZWRpcmVjdGlvbihXZWJLaXRTZXR0aW5ncyogc2V0dGlu
Z3MpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRp
bmdzKSwgRkFMU0UpOworCisgICAgcmV0dXJuIHNldHRpbmdzLT5wcml2LT5wcmVmZXJlbmNlcy0+
ZGlzYWJsZUNPUlNSZWRpcmVjdGlvbigpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19z
ZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uOgorICogQHNldHRpbmdzOiBhICNXZWJLaXRTZXR0
aW5ncworICogQGFsbG93ZWQ6IFZhbHVlIHRvIGJlIHNldAorICoKKyAqIFNldCB0aGUgI1dlYktp
dFNldHRpbmdzOmRpc2FibGUtY29ycy1yZWRpcmVjdGlvbiBwcm9wZXJ0eS4KKyAqCisgKiBTaW5j
ZTogMi4xOS4yCisgKi8KK3ZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnNfcmVk
aXJlY3Rpb24oV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzLCBnYm9vbGVhbiBhbGxvd2VkKQorewor
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NFVFRJTkdTKHNldHRpbmdzKSk7CisKKyAg
ICBXZWJLaXRTZXR0aW5nc1ByaXZhdGUqIHByaXYgPSBzZXR0aW5ncy0+cHJpdjsKKyAgICBpZiAo
cHJpdi0+cHJlZmVyZW5jZXMtPmRpc2FibGVDT1JTUmVkaXJlY3Rpb24oKSA9PSBhbGxvd2VkKQor
ICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0RGlzYWJsZUNPUlNS
ZWRpcmVjdGlvbihhbGxvd2VkKTsKKyAgICBnX29iamVjdF9ub3RpZnkoR19PQkpFQ1Qoc2V0dGlu
Z3MpLCAiZGlzYWJsZS1jb3JzLXJlZGlyZWN0aW9uIik7Cit9CmRpZmYgLXBydSBXZWJLaXQvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oIFdlYktpdC1kaXNh
YmxlLUNPUlMtdjMvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5n
cy5oCi0tLSBXZWJLaXQvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0
aW5ncy5oCTIwMTctMTEtMTggMjE6Mzc6NTcuNjM1NDU3MjY3ICswMTAwCisrKyBXZWJLaXQtZGlz
YWJsZS1DT1JTLXYzL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGlu
Z3MuaAkyMDE3LTExLTE4IDIyOjAyOjEzLjI2MDQ1MTMxNiArMDEwMApAQCAtNDU3LDYgKzQ1Nywy
NyBAQCB3ZWJraXRfc2V0dGluZ3NfZm9udF9zaXplX3RvX3BvaW50cwogV0VCS0lUX0FQSSBndWlu
dDMyCiB3ZWJraXRfc2V0dGluZ3NfZm9udF9zaXplX3RvX3BpeGVscyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoZ3VpbnQzMiBwb2ludHMpOwogCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2Rpc2FibGVfY29ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoV2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2Rpc2FibGVfY29ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
V2ViS2l0U2V0dGluZ3MgKnNldHRpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBhbGxvd2Vk
KTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY29y
c19zYW1lX2RvbWFpbiAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5n
cyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY29yc19z
YW1lX2RvbWFpbiAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5ncywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnYm9vbGVhbiAgICAgICAgYWxsb3dlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4K
K3dlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uICAgICAgICAgICAg
ICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dl
YmtpdF9zZXR0aW5nc19zZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uICAgICAgICAgICAgICAg
ICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGFs
bG93ZWQpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYgLyogV2ViS2l0U2V0dGluZ3NfaCAqLwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327362</attachid>
            <date>2017-11-20 08:02:45 -0800</date>
            <delta_ts>2017-11-20 08:02:45 -0800</delta_ts>
            <desc>Patch for the current stable branch (2.18.x)</desc>
            <filename>webkitgtk-2.18.2-disable-CORS-v3.patch</filename>
            <type>text/plain</type>
            <size>23449</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">QWRkIHRoZSBmb2xsb3dpbmcgbmV3IHdlYiBzZXR0aW5ncyB0byBjb250cm9sIENyb3NzLU9yaWdp
bgpSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgaW1wcm92ZWQgc2VjdXJpdHkgYW5kIHByaXZh
Y3k6CgotIGRpc2FibGUtY29yczogdG8gZGlzYWJsZSB0aGUgQ09SUyBtb2RlIChjYW4gYmUgdGVz
dGVkIGZvcgogIGV4YW1wbGUgaGVyZTogaHR0cHM6Ly90ZXN0LWNvcnMuYXBwc3BvdC5jb20vI3Rl
Y2huaWNhbCk7Ci0gZW5hYmxlLWNvcnMtc2FtZS1kb21haW46IHRvIGVuYWJsZSBsb2FkaW5nIHJl
c291cmNlcwogIGZyb20gYSBkaWZmZXJlbnQgc2l0ZSB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIChz
bGlnaHRseQogIGxlc3Mgc2FmZSwgYnV0IG1vcmUgZnVuY3Rpb25hbCk7Ci0gZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uOiB0byBkaXNhYmxlIHJlZGlyZWN0aW9uIChzYWZlciwKICBidXQgbXVjaCBs
ZXNzIGZ1bmN0aW9uYWwpLgoKVGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBpcyBpbnRlbmRlZCBm
b3IgdGhlIGN1cnJlbnQgc3RhYmxlCmJyYW5jaCAoMi4xOC54KS4KClNpZ25lZC1vZmYtYnk6IEd1
aWRvIFRyZW50YWxhbmNpYSA8Z3VpZG9AdHJlbnRhbGFuY2lhLmNvbT4KLS0tCiBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgICAgICAgICAgICAgICAgIHwgICAxNiArCiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwICAgICAgICAgIHwgICA0NyAr
KysrCiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuaCAgICAgICAgICAg
IHwgICAgMyAKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAgfCAgIDIxICsrCiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgNSAKIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gICAg
ICAgICAgICAgICAgICAgICAgfCAgICAzIAogU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZpbml0aW9ucy5oICAgICB8ICAgIDMgCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcCAgICAgIHwgICAzMCArKysKIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRpbmdzLmNwcCAgfCAgMTgwICsrKysrKysrKysrKysr
KysrKysKIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0dGluZ3MuaCAg
ICAgfCAgIDIxICsrCiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cCAgICAgICAgIHwgICAgMyAKIDExIGZpbGVzIGNoYW5nZWQsIDMyOSBpbnNlcnRpb25zKCspLCAz
IGRlbGV0aW9ucygtKQoKZGlmZiAtcHJ1IHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIHdlYmtpdGd0ay0yLjE4
LjIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAot
LS0gd2Via2l0Z3RrLTIuMTguMi1vcmlnL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAJMjAxNy0wOC0xOCAwOToyODo0NS4wMDAwMDAwMDAgKzAyMDAK
KysrIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcAkyMDE3LTExLTIwIDE0OjQwOjM5Ljg1Nzk2OTgxNSArMDEwMApAQCAt
NTksNiArNTksNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQaW5nTG9hZGVyLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisjaW5jbHVkZSAiUHVibGljU3VmZml4
LmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZElu
Zm8uaCIKICNpbmNsdWRlICJSZXNvdXJjZVRpbWluZy5oIgpAQCAtNjkxLDYgKzY5Miw5IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnVwZGF0ZUhUVFBSZXEKIAogQ2FjaGVkUmVzb3VyY2VI
YW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCwgRm9yUHJlbG9hZCBmb3JQcmVsb2FkLCBEZWZlck9wdGlvbiBkZWZlcikKIHsKKyAgICBi
b29sIGRpc2FibGVDT1JTID0gZnJhbWUoKS0+cGFnZSgpLT5pc0NPUlNEaXNhYmxlZCgpOworICAg
IGJvb2wgZW5hYmxlQ09SU1NhbWVEb21haW4gPSBmcmFtZSgpLT5wYWdlKCktPmlzQ09SU1NhbWVE
b21haW5FbmFibGVkKCk7CisKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9j
dW1lbnQoKSkKICAgICAgICAgcmVxdWVzdC51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQo
KmRvY3VtZW50KTsKIApAQCAtNzAzLDYgKzcwNywyMCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxD
YWNoZWRSZXNvdXJjZT4gQ2FjCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAorICAg
IGlmIChkaXNhYmxlQ09SUykgeworICAgICAgICBpZiAoZW5hYmxlQ09SU1NhbWVEb21haW4pIHsK
KyAgICAgICAgICAgIFN0cmluZyByZXF1ZXN0RG9tYWluID0gdG9wUHJpdmF0ZWx5Q29udHJvbGxl
ZERvbWFpbih1cmwuaG9zdCgpKTsKKyAgICAgICAgICAgIFN0cmluZyBkb2N1bWVudERvbWFpbiA9
IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4oZnJhbWUoKS0+ZG9jdW1lbnQoKS0+dXJsKCku
aG9zdCgpKTsKKyAgICAgICAgICAgIGlmICghZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShyZXF1ZXN0
RG9tYWluLCBkb2N1bWVudERvbWFpbikgJiYgdHlwZSAhPSBDYWNoZWRSZXNvdXJjZTo6TWFpblJl
c291cmNlKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVxdWVz
dFJlc291cmNlOiBSZXNvdXJjZSBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFy
aW5nIHBvbGljeSAoZnJhbWUgPSAlcCkiLCBmcmFtZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICghZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZSh1cmwuaG9zdCgpLCBmcmFtZSgpLT5kb2N1bWVudCgpLT51cmwoKS5ob3N0
KCkpICYmIHR5cGUgIT0gQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZSkgeworICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlcXVlc3RSZXNvdXJjZTogUmVzb3VyY2Ug
YmxvY2tlZCBieSBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyBwb2xpY3kgKGZyYW1lID0g
JXApIiwgZnJhbWUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IH0KKyAgICB9CisKICAgICBwcmVwYXJlRmV0Y2godHlwZSwgcmVxdWVzdCk7CiAKICAgICAvLyBX
ZSBhcmUgcGFzc2luZyB1cmwgYXMgd2VsbCBhcyByZXF1ZXN0LCBhcyByZXF1ZXN0IHVybCBtYXkg
Y29udGFpbiBhIGZyYWdtZW50IGlkZW50aWZpZXIuCkBAIC03NzAsNyArNzg4LDggQEAgQ2FjaGVk
UmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhYwogICAgIFJldmFsaWRhdGlvblBvbGlj
eSBwb2xpY3kgPSBkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kodHlwZSwgcmVxdWVzdCwgcmVz
b3VyY2UuZ2V0KCksIGZvclByZWxvYWQsIGRlZmVyKTsKICAgICBzd2l0Y2ggKHBvbGljeSkgewog
ICAgIGNhc2UgUmVsb2FkOgotICAgICAgICBtZW1vcnlDYWNoZS5yZW1vdmUoKnJlc291cmNlKTsK
KyAgICAgICAgaWYgKHJlc291cmNlKQorICAgICAgICAgICAgbWVtb3J5Q2FjaGUucmVtb3ZlKCpy
ZXNvdXJjZSk7CiAgICAgICAgIEZBTExUSFJPVUdIOwogICAgIGNhc2UgTG9hZDoKICAgICAgICAg
aWYgKHJlc291cmNlKQpTb2xvIGluIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlOiBDYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAub3JpZwpkaWZmIC1wcnUgd2Via2l0
Z3RrLTIuMTguMi1vcmlnL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCB3ZWJr
aXRndGstMi4xOC4yL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAotLS0gd2Vi
a2l0Z3RrLTIuMTguMi1vcmlnL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAky
MDE3LTA4LTE0IDE3OjA5OjM5LjAwMDAwMDAwMCArMDIwMAorKysgd2Via2l0Z3RrLTIuMTguMi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAJMjAxNy0xMS0xOCAyMToxMDo1Mi4z
NTQ0NjM5MTIgKzAxMDAKQEAgLTQ5LDYgKzQ5LDggQEAKICNpbmNsdWRlICJMaW5rUmVsQXR0cmli
dXRlLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1lZGlhUXVl
cnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUHVibGljU3VmZml4
LmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgpAQCAtMjQ0LDYgKzI0NiwyMCBAQCB2
b2lkIExpbmtMb2FkZXI6OmNhbmNlbExvYWQoKQogCiBib29sIExpbmtMb2FkZXI6OmxvYWRMaW5r
KGNvbnN0IExpbmtSZWxBdHRyaWJ1dGUmIHJlbEF0dHJpYnV0ZSwgY29uc3QgVVJMJiBocmVmLCBj
b25zdCBTdHJpbmcmIGFzLCBjb25zdCBTdHJpbmcmIG1lZGlhLCBjb25zdCBTdHJpbmcmIG1pbWVU
eXBlLCBjb25zdCBTdHJpbmcmIGNyb3NzT3JpZ2luLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7Cisg
ICAgYm9vbCBkaXNhYmxlQ09SUyA9IGRvY3VtZW50LnBhZ2UoKS0+aXNDT1JTRGlzYWJsZWQoKTsK
KyAgICBib29sIGVuYWJsZUNPUlNTYW1lRG9tYWluID0gZG9jdW1lbnQucGFnZSgpLT5pc0NPUlNT
YW1lRG9tYWluRW5hYmxlZCgpOworCisgICAgaWYgKGRpc2FibGVDT1JTKSB7CisgICAgICAgIGlm
IChlbmFibGVDT1JTU2FtZURvbWFpbikgeworICAgICAgICAgICAgU3RyaW5nIHJlcXVlc3REb21h
aW4gPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKGhyZWYuaG9zdCgpKTsKKyAgICAgICAg
ICAgIFN0cmluZyBkb2N1bWVudERvbWFpbiA9IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21haW4o
ZG9jdW1lbnQudXJsKCkuaG9zdCgpKTsKKyAgICAgICAgICAgIGlmICghZG9jdW1lbnREb21haW4u
aXNFbXB0eSgpICYmICFlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHJlcXVlc3REb21haW4sIGRvY3Vt
ZW50RG9tYWluKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gZWxz
ZSBpZiAoIWRvY3VtZW50LnVybCgpLmhvc3QoKS5pc0VtcHR5KCkgJiYgaHJlZi5ob3N0KCkgIT0g
ZG9jdW1lbnQudXJsKCkuaG9zdCgpKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9CisgICAgfQorCiAgICAgaWYgKHJlbEF0dHJpYnV0ZS5pc0ROU1ByZWZldGNoKSB7
CiAgICAgICAgIC8vIEZJWE1FOiBUaGUgaHJlZiBhdHRyaWJ1dGUgb2YgdGhlIGxpbmsgZWxlbWVu
dCBjYW4gYmUgaW4gIi8vaG9zdG5hbWUiIGZvcm0sIGFuZCB3ZSBzaG91bGRuJ3QgYXR0ZW1wdAog
ICAgICAgICAvLyB0byBjb21wbGV0ZSB0aGF0IGFzIFVSTCA8aHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ4ODU3Pi4KZGlmZiAtcHJ1IHdlYmtpdGd0ay0yLjE4LjItb3Jp
Zy9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIHdlYmtpdGd0ay0y
LjE4LjIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAotLS0gd2Vi
a2l0Z3RrLTIuMTguMi1vcmlnL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5jcHAJMjAxNy0xMS0xMCAyMDo1ODoyMS45MzkzODk5MzAgKzAxMDAKKysrIHdlYmtpdGd0ay0y
LjE4LjIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAkyMDE3LTEx
LTE3IDE4OjUzOjIxLjI3Nzg1MDg3MiArMDEwMApAQCAtMTYzLDYgKzE2MywzOSBAQCBib29sIFN1
YnJlc291cmNlTG9hZGVyOjppc1N1YnJlc291cmNlTG9hCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgU3VicmVzb3VyY2VMb2FkZXI6OmlzQ09SU0Rpc2FibGVkKCkgY29uc3QKK3sKKyAgICBp
ZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9mcmFtZS0+
cGFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV9mcmFtZS0+cGFn
ZSgpLT5pc0NPUlNEaXNhYmxlZCgpOworfQorCitib29sIFN1YnJlc291cmNlTG9hZGVyOjppc0NP
UlNTYW1lRG9tYWluRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTU2FtZURvbWFp
bkVuYWJsZWQoKTsKK30KKworYm9vbCBTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTUmVkaXJlY3Rp
b25EaXNhYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxl
ZCgpOworfQorCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJbnRlcm5h
bChSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
ZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgLy8gU3RvcmUgdGhlIHByZXZpb3VzIFVSTCBiZWNhdXNl
IHRoZSBjYWxsIHRvIFJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3Qgd2lsbCBtb2RpZnkg
aXQuCkBAIC00ODYsMTQgKzUxOSwyNCBAQCBib29sIFN1YnJlc291cmNlTG9hZGVyOjpjaGVja1Jl
ZGlyZWN0aW9uCiB7CiAgICAgYm9vbCBjcm9zc09yaWdpbkZsYWcgPSBtX3Jlc291cmNlLT5pc0Ny
b3NzT3JpZ2luKCk7CiAgICAgYm9vbCBpc05leHRSZXF1ZXN0Q3Jvc3NPcmlnaW4gPSBtX29yaWdp
biAmJiAhbV9vcmlnaW4tPmNhblJlcXVlc3QobmV3UmVxdWVzdC51cmwoKSk7CisgICAgYm9vbCBk
aXNhYmxlQ09SUyA9IGlzQ09SU0Rpc2FibGVkKCk7CisgICAgYm9vbCBkaXNhYmxlQ09SU1JlZGly
ZWN0aW9uID0gaXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxlZCgpOwogCiAgICAgaWYgKGlzTmV4dFJl
cXVlc3RDcm9zc09yaWdpbikKICAgICAgICAgbV9yZXNvdXJjZS0+c2V0Q3Jvc3NPcmlnaW4oKTsK
IAogICAgIEFTU0VSVChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OlNhbWVP
cmlnaW4gfHwgIW1fcmVzb3VyY2UtPmlzQ3Jvc3NPcmlnaW4oKSk7CiAKLSAgICBpZiAob3B0aW9u
cygpLm1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICBpZiAob3B0aW9ucygpLm1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpDb3JzKSB7
CisgICAgICAgIGlmICghZGlzYWJsZUNPUlMpIHsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFkaXNhYmxlQ09SU1JlZGlyZWN0aW9u
KQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIC8vIEltcGxl
bWVudGluZyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1odHRwLXJlZGly
ZWN0LWZldGNoIHN0ZXAgOCAmIDkuCiAgICAgaWYgKG1fcmVzb3VyY2UtPmlzQ3Jvc3NPcmlnaW4o
KSAmJiAhaXNWYWxpZENyb3NzT3JpZ2luUmVkaXJlY3Rpb25VUkwobmV3UmVxdWVzdC51cmwoKSkp
IHsKZGlmZiAtcHJ1IHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
U3VicmVzb3VyY2VMb2FkZXIuaCB3ZWJraXRndGstMi4xOC4yL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUxvYWRlci5oCi0tLSB3ZWJraXRndGstMi4xOC4yLW9yaWcvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmgJMjAxNy0xMS0xMCAxNzowNDoyMS4zODc0
NDczMzIgKzAxMDAKKysrIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlTG9hZGVyLmgJMjAxNy0xMS0xNSAwMTozNjozNi43ODU4MTE2MzcgKzAxMDAKQEAg
LTQ4LDYgKzQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBjYW5jZWxJZk5vdEZpbmlzaGluZygp
OwogICAgIGJvb2wgaXNTdWJyZXNvdXJjZUxvYWRlcigpIG92ZXJyaWRlOworICAgIGJvb2wgaXND
T1JTRGlzYWJsZWQoKSBjb25zdDsKKyAgICBib29sIGlzQ09SU1NhbWVEb21haW5FbmFibGVkKCkg
Y29uc3Q7CisgICAgYm9vbCBpc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkKCkgY29uc3Q7CiAgICAg
Q2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlKCk7CiAKICAgICBTZWN1cml0eU9yaWdpbiog
b3JpZ2luKCkgeyByZXR1cm4gbV9vcmlnaW4uZ2V0KCk7IH0KZGlmZiAtcHJ1IHdlYmtpdGd0ay0y
LjE4LjItb3JpZy9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCB3ZWJraXRndGstMi4xOC4yL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCi0tLSB3ZWJraXRndGstMi4xOC4yLW9yaWcvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgJMjAxNy0wOC0xOCAwOToyODo0NS4wMDAwMDAwMDAgKzAyMDAK
KysrIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJMjAxNy0xMS0x
NyAwMzo0OToxOC42MzkwNzI2MzEgKzAxMDAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJS
ZWdpb24uaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgIlNlc3Npb25JRC5o
IgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKICNp
bmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24u
aCIKQEAgLTU5MCw2ICs1OTEsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNMb3dQb3dlck1vZGVF
bmFibGVkKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMb3dQb3dlck1vZGVF
bmFibGVkT3ZlcnJpZGVGb3JUZXN0aW5nKHN0ZDo6b3B0aW9uYWw8Ym9vbD4pOwogCisgICAgYm9v
bCBpc0NPUlNEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3MtPmRpc2FibGVDT1JT
KCk7IH0KKyAgICBib29sIGlzQ09SU1NhbWVEb21haW5FbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9zZXR0aW5ncy0+ZW5hYmxlQ09SU1NhbWVEb21haW4oKTsgfQorICAgIGJvb2wgaXNDT1JTUmVk
aXJlY3Rpb25EaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGluZ3MtPmRpc2FibGVDT1JT
UmVkaXJlY3Rpb24oKTsgfQorCiBwcml2YXRlOgogICAgIHN0cnVjdCBOYXZpZ2F0aW9uIHsKICAg
ICAgICAgU3RyaW5nIGRvbWFpbjsKZGlmZiAtcHJ1IHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgotLS0gd2Via2l0Z3RrLTIuMTguMi1vcmlnL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4JMjAxNy0wOC0wOSAxMToxMzo1MS4wMDAwMDAwMDAgKzAyMDAK
KysrIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgkyMDE3
LTExLTEyIDAwOjU5OjAxLjI0NzQ2MjExNSArMDEwMApAQCAtNTIsNiArNTIsOSBAQCBwcmV2ZW50
S2V5Ym9hcmRET01FdmVudERpc3BhdGNoIGluaXRpYWw9CiBsb2NhbFN0b3JhZ2VFbmFibGVkIGlu
aXRpYWw9ZmFsc2UKIGFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzIGluaXRpYWw9dHJ1
ZQogYWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzIGluaXRpYWw9dHJ1ZQorZGlzYWJsZUNPUlMg
aW5pdGlhbD1mYWxzZQorZW5hYmxlQ09SU1NhbWVEb21haW4gaW5pdGlhbD10cnVlCitkaXNhYmxl
Q09SU1JlZGlyZWN0aW9uIGluaXRpYWw9ZmFsc2UKIG5lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxl
VVJMc1F1aXJrIGluaXRpYWw9dHJ1ZQogamF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGlj
YWxseSBpbml0aWFsPWZhbHNlCiBqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkIGluaXRpYWw9
ZmFsc2UKZGlmZiAtcHJ1IHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggd2Via2l0Z3RrLTIuMTguMi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKLS0tIHdlYmtpdGd0ay0yLjE4
LjItb3JpZy9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgJ
MjAxNy0xMC0xNyAxNjoyNDowNy4wMDAwMDAwMDAgKzAyMDAKKysrIHdlYmtpdGd0ay0yLjE4LjIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCTIwMTctMTEt
MTIgMDA6NTk6MDEuMjc2NDYyMTE1ICswMTAwCkBAIC0xNzIsNiArMTcyLDkgQEAKICAgICBtYWNy
byhXZWJTZWN1cml0eUVuYWJsZWQsIHdlYlNlY3VyaXR5RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oQWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMs
IGFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCiAgICAgbWFjcm8oQWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzLCBhbGxvd0ZpbGVB
Y2Nlc3NGcm9tRmlsZVVSTHMsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhEaXNhYmxlQ09SUywgZGlzYWJsZUNPUlMsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhFbmFibGVDT1JTU2FtZURvbWFpbiwgZW5hYmxlQ09SU1NhbWVEb21haW4sIEJv
b2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKERpc2FibGVDT1JTUmVkaXJlY3Rp
b24sIGRpc2FibGVDT1JTUmVkaXJlY3Rpb24sIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
ICAgICBtYWNybyhBVkZvdW5kYXRpb25FbmFibGVkLCBpc0FWRm91bmRhdGlvbkVuYWJsZWQsIEJv
b2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAogICAgIG1hY3JvKEFWRm91bmRhdGlvbk5TVVJMU2Vz
c2lvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgQm9vbCwgYm9v
bCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oR1N0cmVhbWVyRW5hYmxlZCwgaXNHU3RyZWFt
ZXJFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKZGlmZiAtcHJ1IHdlYmtpdGd0
ay0yLjE4LjItb3JpZy9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcCB3ZWJraXRndGstMi4xOC4yL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCi0tLSB3ZWJraXRndGstMi4xOC4yLW9yaWcvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJMjAxNy0wOC0wOSAxMToxMzo1Mi4wMDAwMDAw
MDAgKzAyMDAKKysrIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAJMjAxNy0xMS0xMiAwMDo1OTowMS4yOTQ0NjIxMTUgKzAxMDAK
QEAgLTc0NSw2ICs3NDUsMzYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RmlsZUFjY2Vzc0Zyb21G
aWxlVQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5hbGxvd0ZpbGVBY2Nlc3NG
cm9tRmlsZVVSTHMoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlMoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBhbGxvd2VkKQoreworICAgIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPnNldERpc2FibGVDT1JTKGFsbG93ZWQpOworfQorCitib29sIFdL
UHJlZmVyZW5jZXNHZXREaXNhYmxlQ09SUyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5kaXNhYmxlQ09SUygpOwor
fQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRFbmFibGVDT1JTU2FtZURvbWFpbihXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQpCit7CisgICAgdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+c2V0RW5hYmxlQ09SU1NhbWVEb21haW4oYWxsb3dlZCk7Cit9CisKK2Jvb2wg
V0tQcmVmZXJlbmNlc0dldEVuYWJsZUNPUlNTYW1lRG9tYWluKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmVuYWJs
ZUNPUlNTYW1lRG9tYWluKCk7Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldERpc2FibGVDT1JT
UmVkaXJlY3Rpb24oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBhbGxvd2Vk
KQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldERpc2FibGVDT1JTUmVkaXJlY3Rp
b24oYWxsb3dlZCk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldERpc2FibGVDT1JTUmVkaXJl
Y3Rpb24oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+ZGlzYWJsZUNPUlNSZWRpcmVjdGlvbigpOworfQorCiB2b2lk
IFdLUHJlZmVyZW5jZXNTZXROZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIG5lZWRzUXVpcmspCiB7CiAgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVp
cmsobmVlZHNRdWlyayk7CmRpZmYgLXBydSB3ZWJraXRndGstMi4xOC4yLW9yaWcvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwIHdlYmtpdGd0ay0yLjE4
LjIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGluZ3MuY3BwCi0t
LSB3ZWJraXRndGstMi4xOC4yLW9yaWcvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwCTIwMTctMDktMTEgMDg6MTU6NDUuMDAwMDAwMDAwICswMjAwCisr
KyB3ZWJraXRndGstMi4xOC4yL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dFNldHRpbmdzLmNwcAkyMDE3LTExLTEyIDE3OjU5OjUyLjE1Nzc5NjcyMSArMDEwMApAQCAtMTUz
LDYgKzE1Myw5IEBAIGVudW0gewogI2lmIFBMQVRGT1JNKEdUSykKICAgICBQUk9QX0hBUkRXQVJF
X0FDQ0VMRVJBVElPTl9QT0xJQ1ksCiAjZW5kaWYKKyAgICBQUk9QX0RJU0FCTEVfQ09SUywKKyAg
ICBQUk9QX0VOQUJMRV9DT1JTX1NBTUVfRE9NQUlOLAorICAgIFBST1BfRElTQUJMRV9DT1JTX1JF
RElSRUNUSU9OLAogfTsKIAogc3RhdGljIHZvaWQgd2ViS2l0U2V0dGluZ3NDb25zdHJ1Y3RlZChH
T2JqZWN0KiBvYmplY3QpCkBAIC0zMzEsNiArMzM0LDE1IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNl
dHRpbmdzU2V0UHJvcGVydHkoR08KICAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9oYXJkd2Fy
ZV9hY2NlbGVyYXRpb25fcG9saWN5KHNldHRpbmdzLCBzdGF0aWNfY2FzdDxXZWJLaXRIYXJkd2Fy
ZUFjY2VsZXJhdGlvblBvbGljeT4oZ192YWx1ZV9nZXRfZW51bSh2YWx1ZSkpKTsKICAgICAgICAg
YnJlYWs7CiAjZW5kaWYKKyAgICBjYXNlIFBST1BfRElTQUJMRV9DT1JTOgorICAgICAgICB3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2Rpc2FibGVfY29ycyhzZXR0aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVh
bih2YWx1ZSkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX0NPUlNfU0FN
RV9ET01BSU46CisgICAgICAgIHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9k
b21haW4oc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBQUk9QX0RJU0FCTEVfQ09SU19SRURJUkVDVElPTjoKKyAgICAgICAgd2Vi
a2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rpb24oc2V0dGluZ3MsIGdfdmFs
dWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBw
YXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTQ5OSw2ICs1MTEsMTUgQEAgc3RhdGljIHZv
aWQgd2ViS2l0U2V0dGluZ3NHZXRQcm9wZXJ0eShHTwogICAgICAgICBnX3ZhbHVlX3NldF9lbnVt
KHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3ko
c2V0dGluZ3MpKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyAgICBjYXNlIFBST1BfRElTQUJM
RV9DT1JTOgorICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2Rpc2FibGVfY29ycyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU46CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xl
YW4odmFsdWUsIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oc2V0
dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9QX0RJU0FCTEVfQ09SU19SRURJ
UkVDVElPTjoKKyAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRp
bmdzX2dldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rpb24oc2V0dGluZ3MpKTsKKyAgICAgICAgYnJl
YWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZ
X0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTEzMjAs
NiArMTM0MSw1MSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdChXCiAg
ICAgICAgICAgICBXRUJLSVRfSEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9PTl9ERU1BTkQs
CiAgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAjZW5kaWYgLy8g
UExBVEZPVE0oR1RLKQorCisgICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1j
b3JzOgorICAgICAqCisgICAgICogV2hldGhlciBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyAoQ09SUykgaXMgZGlzYWJsZWQuCisgICAgICoKKyAgICAgKiBTaW5jZTogMi4xOC40CisgICAg
ICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisg
ICAgICAgIFBST1BfRElTQUJMRV9DT1JTLAorICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigi
ZGlzYWJsZS1jb3JzIiwKKyAgICAgICAgICAgIF8oIkRpc2FibGUgQ3Jvc3MgT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgKENPUlMpIiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIENyb3NzIE9yaWdp
biBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBpcyBkaXNhYmxlZC4iKSwKKyAgICAgICAgICAgIEZB
TFNFLAorICAgICAgICAgICAgcmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOworCisgICAg
LyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWNvcnMtc2FtZS1kb21haW46CisgICAg
ICoKKyAgICAgKiBXaGV0aGVyIENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSB3
aXRoaW4gdGhlIHNhbWUgZG9tYWluIGlzIGVuYWJsZWQuCisgICAgICoKKyAgICAgKiBTaW5jZTog
Mi4xOC40CisgICAgICovCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2Jq
ZWN0Q2xhc3MsCisgICAgICAgIFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU4sCisgICAgICAg
IGdfcGFyYW1fc3BlY19ib29sZWFuKCJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIsCisgICAgICAg
ICAgICBfKCJFbmFibGUgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHdpdGhp
biB0aGUgc2FtZSBkb21haW4iKSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgQ3Jvc3MgT3JpZ2lu
IFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHdpdGhpbiB0aGUgc2FtZSBkb21haW4gaXMgZW5hYmxl
ZC4iKSwKKyAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQ
YXJhbUZsYWdzKSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpkaXNhYmxlLWNv
cnMtcmVkaXJlY3Rpb246CisgICAgICoKKyAgICAgKiBXaGV0aGVyIENyb3NzIE9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIChDT1JTKSBSZWRpcmVjdGlvbiBpcyBkaXNhYmxlZC4KKyAgICAgKgorICAg
ICAqIFNpbmNlOiAyLjE4LjQKKyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KGdPYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9ESVNBQkxFX0NPUlNfUkVESVJFQ1RJ
T04sCisgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJkaXNhYmxlLWNvcnMtcmVkaXJlY3Rp
b24iLAorICAgICAgICAgICAgXygiRGlzYWJsZSBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmlu
ZyAoQ09SUykgUmVkaXJlY3Rpb24iKSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgQ3Jvc3MgT3Jp
Z2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIFJlZGlyZWN0aW9uIGlzIGRpc2FibGVkLiIpLAor
ICAgICAgICAgICAgRkFMU0UsCisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZs
YWdzKSk7CiB9CiAKIFdlYlByZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dldFByZWZlcmVuY2Vz
KFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKQEAgLTMyNzAsMyArMzMzNiwxMTcgQEAgdm9pZCB3
ZWJraXRfc2V0dGluZ3Nfc2V0X2hhcmR3YXJlX2FjY2VsZQogICAgICAgICBnX29iamVjdF9ub3Rp
ZnkoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiaGFyZHdhcmUtYWNjZWxlcmF0aW9uLXBvbGljeSIpOwog
fQogI2VuZGlmIC8vIFBMQVRGT1JNKEdUSykKKworLyoqCisgKiB3ZWJraXRfc2V0dGluZ3NfZ2V0
X2Rpc2FibGVfY29yczoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqCisgKiBH
ZXQgdGhlICNXZWJLaXRTZXR0aW5nczpkaXNhYmxlLWNvcnMgcHJvcGVydHkuCisgKgorICogUmV0
dXJuczogJVRSVUUgSWYgQ09SUyBpcyBkaXNhYmxlZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgorICoK
KyAqIFNpbmNlOiAyLjE4LjQKKyAqLworZ2Jvb2xlYW4gd2Via2l0X3NldHRpbmdzX2dldF9kaXNh
YmxlX2NvcnMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVy
biBzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMtPmRpc2FibGVDT1JTKCk7Cit9CisKKy8qKgor
ICogd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnM6CisgKiBAc2V0dGluZ3M6IGEgI1dl
YktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUgdG8gYmUgc2V0CisgKgorICogU2V0IHRo
ZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzIHByb3BlcnR5LgorICoKKyAqIFNpbmNlOiAy
LjE4LjQKKyAqLwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rpc2FibGVfY29ycyhXZWJLaXRT
ZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQpCit7CisgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdz
UHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGlmIChwcml2LT5wcmVmZXJlbmNl
cy0+ZGlzYWJsZUNPUlMoKSA9PSBhbGxvd2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2
LT5wcmVmZXJlbmNlcy0+c2V0RGlzYWJsZUNPUlMoYWxsb3dlZCk7CisgICAgZ19vYmplY3Rfbm90
aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImRpc2FibGUtY29ycyIpOworfQorCisvKioKKyAqIHdl
YmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW46CisgKiBAc2V0dGluZ3M6
IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxl
LWNvcnMtc2FtZS1kb21haW4gcHJvcGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgQ09S
UyB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIGlzIGVuYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4K
KyAqCisgKiBTaW5jZTogMi4xOC40CisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQoreworICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyksIEZBTFNF
KTsKKworICAgIHJldHVybiBzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMtPmVuYWJsZUNPUlNT
YW1lRG9tYWluKCk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY29y
c19zYW1lX2RvbWFpbjoKKyAqIEBzZXR0aW5nczogYSAjV2ViS2l0U2V0dGluZ3MKKyAqIEBhbGxv
d2VkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFi
bGUtY29ycy1zYW1lLWRvbWFpbiBwcm9wZXJ0eS4KKyAqCisgKiBTaW5jZTogMi4xOC40CisgKi8K
K3ZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY29yc19zYW1lX2RvbWFpbihXZWJLaXRT
ZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQpCit7CisgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdz
UHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGlmIChwcml2LT5wcmVmZXJlbmNl
cy0+ZW5hYmxlQ09SU1NhbWVEb21haW4oKSA9PSBhbGxvd2VkKQorICAgICAgICByZXR1cm47CisK
KyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0RW5hYmxlQ09SU1NhbWVEb21haW4oYWxsb3dlZCk7
CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS1jb3JzLXNh
bWUtZG9tYWluIik7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2Nv
cnNfcmVkaXJlY3Rpb246CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICog
R2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzLXJlZGlyZWN0aW9uIHByb3BlcnR5
LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIENPUlMgcmVkaXJlY3Rpb24gaXMgZGlzYWJsZWQg
b3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4xOC40CisgKi8KK2dib29sZWFu
IHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uKFdlYktpdFNldHRp
bmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VU
VElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAgICByZXR1cm4gc2V0dGluZ3MtPnByaXYtPnBy
ZWZlcmVuY2VzLT5kaXNhYmxlQ09SU1JlZGlyZWN0aW9uKCk7Cit9CisKKy8qKgorICogd2Via2l0
X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rpb246CisgKiBAc2V0dGluZ3M6IGEg
I1dlYktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUgdG8gYmUgc2V0CisgKgorICogU2V0
IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzLXJlZGlyZWN0aW9uIHByb3BlcnR5Lgor
ICoKKyAqIFNpbmNlOiAyLjE4LjQKKyAqLwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rpc2Fi
bGVfY29yc19yZWRpcmVjdGlvbihXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFs
bG93ZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGlu
Z3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2
OworICAgIGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZGlzYWJsZUNPUlNSZWRpcmVjdGlvbigpID09
IGFsbG93ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIHByaXYtPnByZWZlcmVuY2VzLT5zZXRE
aXNhYmxlQ09SU1JlZGlyZWN0aW9uKGFsbG93ZWQpOworICAgIGdfb2JqZWN0X25vdGlmeShHX09C
SkVDVChzZXR0aW5ncyksICJkaXNhYmxlLWNvcnMtcmVkaXJlY3Rpb24iKTsKK30KZGlmZiAtcHJ1
IHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFNldHRpbmdzLmggd2Via2l0Z3RrLTIuMTguMi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFNldHRpbmdzLmgKLS0tIHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgJMjAxNy0wOC0wOSAxMTox
Mzo1Mi4wMDAwMDAwMDAgKzAyMDAKKysrIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5oCTIwMTctMTEtMTIgMDA6NTk6MDEuMjk1
NDYyMTE1ICswMTAwCkBAIC00NTEsNiArNDUxLDI3IEBAIFdFQktJVF9BUEkgdm9pZAogd2Via2l0
X3NldHRpbmdzX3NldF9oYXJkd2FyZV9hY2NlbGVyYXRpb25fcG9saWN5ICAgICAgICAgICAgICAg
KFdlYktpdFNldHRpbmdzICpzZXR0aW5ncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJLaXRIYXJkd2FyZUFjY2VsZXJh
dGlvblBvbGljeSBwb2xpY3kpOwogCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2Rpc2FibGVfY29ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0
U2V0dGluZ3MgKnNldHRpbmdzKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nf
c2V0X2Rpc2FibGVfY29ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0
dGluZ3MgKnNldHRpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBhbGxvd2VkKTsKKworV0VC
S0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY29yc19zYW1lX2Rv
bWFpbiAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5ncyk7CisKK1dF
QktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY29yc19zYW1lX2RvbWFp
biAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0aW5ncywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
Ym9vbGVhbiAgICAgICAgYWxsb3dlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9z
ZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uICAgICAgICAgICAgICAgICAgIChX
ZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9zZXR0
aW5nc19zZXRfZGlzYWJsZV9jb3JzX3JlZGlyZWN0aW9uICAgICAgICAgICAgICAgICAgIChXZWJL
aXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAgIGFsbG93ZWQpOwor
CiBHX0VORF9ERUNMUwogCiAjZW5kaWYgLyogV2ViS2l0U2V0dGluZ3NfaCAqLwpkaWZmIC1wcnUg
d2Via2l0Z3RrLTIuMTguMi1vcmlnL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIHdlYmtpdGd0ay0yLjE4LjIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKLS0tIHdlYmtpdGd0ay0yLjE4LjItb3JpZy9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkyMDE3LTEwLTE3IDEwOjIwOjEwLjAwMDAwMDAw
MCArMDIwMAorKysgd2Via2l0Z3RrLTIuMTguMi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAkyMDE3LTExLTE1IDAzOjI4OjEyLjMzNjc4NDI2MyArMDEwMApAQCAt
MzA3Nyw2ICszMDc3LDkgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZQogICAgIHNldHRpbmdzLnNldFdlYlNlY3VyaXR5RW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndlYlNlY3VyaXR5RW5hYmxlZEtleSgpKSk7CiAgICAg
c2V0dGluZ3Muc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJMc0tleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVV
UkxzKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dGaWxl
QWNjZXNzRnJvbUZpbGVVUkxzS2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXREaXNhYmxlQ09SUyhz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmRpc2FibGVDT1JTS2V5
KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRFbmFibGVDT1JTU2FtZURvbWFpbihzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmVuYWJsZUNPUlNTYW1lRG9tYWluS2V5KCkp
KTsKKyAgICBzZXR0aW5ncy5zZXREaXNhYmxlQ09SU1JlZGlyZWN0aW9uKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6ZGlzYWJsZUNPUlNSZWRpcmVjdGlvbktleSgp
KSk7CiAgICAgc2V0dGluZ3Muc2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmso
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpuZWVkc1N0b3JhZ2VB
Y2Nlc3NGcm9tRmlsZVVSTHNRdWlya0tleSgpKSk7CiAKICAgICBzZXR0aW5ncy5zZXRNaW5pbXVt
Rm9udFNpemUoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1p
bmltdW1Gb250U2l6ZUtleSgpKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327363</attachid>
            <date>2017-11-20 08:10:05 -0800</date>
            <delta_ts>2017-11-25 13:17:04 -0800</delta_ts>
            <desc>Manual Test</desc>
            <filename>WebKit-git18112017-2000-disable-CORS-ManualTests.patch</filename>
            <type>text/plain</type>
            <size>1137</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">IE1hbnVhbFRlc3RzL0NPUlMtZGlzYWJsZWQuaHRtbCB8ICAgMjAgKysrKysrKysrKysrKysrKysr
KysKIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCgpkaWZmIC1wcnVOIGEvTWFudWFs
VGVzdHMvQ09SUy1kaXNhYmxlZC5odG1sIGIvTWFudWFsVGVzdHMvQ09SUy1kaXNhYmxlZC5odG1s
Ci0tLSBhL01hbnVhbFRlc3RzL0NPUlMtZGlzYWJsZWQuaHRtbAkxOTcwLTAxLTAxIDAxOjAwOjAw
LjAwMDAwMDAwMCArMDEwMAorKysgYi9NYW51YWxUZXN0cy9DT1JTLWRpc2FibGVkLmh0bWwJMjAx
Ny0xMS0yMCAwMDozNjo0NS4wNTY2NDQzNjQgKzAxMDAKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgQ3Jvc3MtT3JpZ2luIFJlc291
cmNlIFNoYXJpbmcgKENPUlMpIGZ1bmN0aW9uYWxpdHkgaXMgZGlzYWJsZWQuCisgICBBZnRlciBo
YXZpbmcgY29uZmlndXJlZCB0aGUgImRpc2FibGUtY29ycyIgcHJlZmVyZW5jZSB0byBUUlVFIGlu
IHlvdXIgZmF2b3VyaXRlIGJyb3dzZXIsCisgICBtYWtlIHN1cmUgdGhhdCB0aGUgVzNDIGxvZ28g
ZG9lcyBub3QgYXBwZWFyIGluIHRoZSBpbWFnZSBwbGFjZWhvbGRlciBiZWxvdy4KKzwvcD4KKzxo
cj4KKzxwPlRoZSByZW1vdGUgVzNDIGxvZ28gaW1hZ2Ugb24gdGhlIHJpZ2h0IHNob3VsZCBvbmx5
IGxvYWQgd2hlbiBDT1JTIGlzIG5vdCBkaXNhYmxlZDoKKzxpbWcgaGVpZ2h0PSI0OCIgc3JjPSJo
dHRwOi8vd3d3LnczLm9yZy9JY29ucy93M2NfaG9tZSIgd2lkdGg9IjcyIj4KKzwvcD4KKzxwPlRo
ZSBMT0NBTCBhbmltYXRlZCBpbWFnZSBvbiB0aGUgcmlnaHQgc2hvdWxkIGFsd2F5cyBiZSBsb2Fk
ZWQ6Cis8aW1nIHNyYz0icmVzb3VyY2VzLzNkb2xwaC5naWYiPgorPC9wPgorPGhyPgorPHA+VGVz
dCBieSB0b2dnbGluZyB5b3VyIGJyb3dzZXIgcHJlZmVyZW5jZXMgYmV0d2VlbiAiQ09SUyBlbmFi
bGVkIiBhbmQgIkNPUlMgZGlzYWJsZWQiIGFuZAorICAgcmVsb2FkIHRoaXMgcGFnZSBlYWNoIHRp
bWUgdG8gY2hlY2sgaWYgdGhlIFczQyBsb2dvIGlzIGxvYWRlZCBvciBub3QgaW4gdGhlIGZpcnN0
IGltYWdlCisgICBwbGFjZWhvbGRlciBhYm92ZS4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327366</attachid>
            <date>2017-11-20 09:02:28 -0800</date>
            <delta_ts>2017-11-21 10:46:24 -0800</delta_ts>
            <desc>Proposed patch (based on the git development tree)</desc>
            <filename>WebKit-git20112017-1800-disable-CORS-v3.patch</filename>
            <type>text/plain</type>
            <size>24375</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">QWRkIHRoZSBmb2xsb3dpbmcgbmV3IHdlYiBzZXR0aW5ncyB0byBjb250cm9sIENyb3NzLU9yaWdp
bgpSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgaW1wcm92ZWQgc2VjdXJpdHkgYW5kIHByaXZh
Y3k6CgotIGRpc2FibGUtY29yczogdG8gZGlzYWJsZSB0aGUgQ09SUyBtb2RlIChjYW4gYmUgdGVz
dGVkIGZvcgogIGV4YW1wbGUgaGVyZTogaHR0cHM6Ly90ZXN0LWNvcnMuYXBwc3BvdC5jb20vI3Rl
Y2huaWNhbCk7Ci0gZW5hYmxlLWNvcnMtc2FtZS1kb21haW46IHRvIGVuYWJsZSBsb2FkaW5nIHJl
c291cmNlcwogIGZyb20gYSBkaWZmZXJlbnQgc2l0ZSB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIChz
bGlnaHRseQogIGxlc3Mgc2FmZSwgYnV0IG1vcmUgZnVuY3Rpb25hbCk7Ci0gZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uOiB0byBkaXNhYmxlIHJlZGlyZWN0aW9uIChzYWZlciwKICBidXQgbXVjaCBs
ZXNzIGZ1bmN0aW9uYWwpLgoKVGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBpcyBpbnRlbmRlZCBm
b3IgdGhlIGN1cnJlbnQKZGV2ZWxvcG1lbnQgYnJhbmNoIChnaXQgdHJlZSkuCgpTaWduZWQtb2Zm
LWJ5OiBHdWlkbyBUcmVudGFsYW5jaWEgPGd1aWRvQHRyZW50YWxhbmNpYS5jb20+Ci0tLQogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjcg
KysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCAgICAgICAgICAgICAgICAg
fCAgIDE2ICsKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgICAg
ICAgICAgfCAgIDQ3ICsrKysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5oICAgICAgICAgICAgfCAgICAzIAogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcCB8ICAgMjIgKysKIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1IAogU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sICAgICAgICAgICAgICAgICAgICB8ICAgIDYgCiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyNyArKwogU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCAgICAgICAgICAgICB8ICAgMTIgKwogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgICAgICB8ICAgMzAg
KysrCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAg
IHwgIDE4MCArKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFNldHRpbmdzLmggICAgIHwgICAyMSArKwogMTIgZmlsZXMgY2hhbmdlZCwgMzkz
IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC1wcnUgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCTIwMTctMTEtMjAgMTk6Mjg6NDguMzE4MDgwOTM1ICswMTAwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkyMDE3LTExLTIwIDE5OjUzOjU1Ljc1MDA5MDYyNCArMDEw
MApAQCAtMSwzICsxLDMwIEBACisyMDE3LTExLTIwICBHdWlkbyBUcmVudGFsYW5jaWEgIDxndWlk
b0B0cmVudGFsYW5jaWEuY29tPgorCisgICAgICAgIEFkZCBjb2RlIHRvIGVuYWJsZSBvciBkaXNh
YmxlIHZhcmlvdXMgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHNldHRpbmdz
CisgICAgICAgIGZvciBpbXByb3ZlZCBzZWN1cml0eSBhbmQgcHJpdmFjeTogImRpc2FibGUtY29y
cyIsICJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIgYW5kCisgICAgICAgICJkaXNhYmxlLWNvcnMt
cmVkaXJlY3Rpb24iLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc5ODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IE1hbnVhbFRlc3RzL0NPUlMtZGlzYWJsZWQuaHRtbAorCisgICAgICAgICog
bG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6bG9h
ZExpbmspOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTRGlzYWJsZWQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmlzQ09SU1NhbWVEb21haW5FbmFibGVk
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjppc0NPUlNSZWRp
cmVjdGlvbkRpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9h
ZGVyOjpjaGVja1JlZGlyZWN0aW9uQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sKToKKyAgICAgICAg
KiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjppc0NPUlNEaXNhYmxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjppc0NPUlNTYW1lRG9tYWluRW5hYmxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjppc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisKIDIwMTctMTEtMjAgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6
ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gR0xDb250ZXh0RUdMV1BFLmNw
cDo0NDo5NjogZXJyb3I6IGludmFsaWQgY2FzdCBmcm9tIHR5cGUg4oCYR0xOYXRpdmVXaW5kb3dU
eXBlIHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH3igJkgdG8gdHlwZSDigJhFR0xOYXRpdmVX
aW5kb3dUeXBlIHtha2EgdW5zaWduZWQgaW50fQpkaWZmIC1wcnUgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCTIwMTctMTEtMjAgMTk6Mjg6NDku
MTM4MDgwOTQwICswMTAwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAJMjAxNy0xMS0yMCAxOTo1MToyNS4yNjEwODk2NTYgKzAxMDAKQEAg
LTQsNiArNCw3IEBACiAgICAgQ29weXJpZ2h0IChDKSAyMDAyIFdhbGRvIEJhc3RpYW4gKGJhc3Rp
YW5Aa2RlLm9yZykKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgICAgQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMu
IGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICAgIENvcHlyaWdodCAoQykgMjAxNyBHdWlk
byBUcmVudGFsYW5jaWEgKGd1aWRvQHRyZW50YWxhbmNpYS5jb20pCiAKICAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTYwLDYgKzYxLDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGluZ0xv
YWRlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgorI2luY2x1ZGUgIlB1Ymxp
Y1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VUaW1pbmcuaCIKQEAgLTczNyw2ICs3Mzks
MjMgQEAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhYwogICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50
ZXJuYWwsIDAsIHVybCwgQVNDSUlMaXRlcmFsKCJVUkwgaXMgaW52YWxpZCIpIH0pOwogICAgIH0K
IAorICAgIGJvb2wgZGlzYWJsZUNPUlMgPSBmcmFtZSgpLT5wYWdlKCktPmlzQ09SU0Rpc2FibGVk
KCk7CisgICAgYm9vbCBlbmFibGVDT1JTU2FtZURvbWFpbiA9IGZyYW1lKCktPnBhZ2UoKS0+aXND
T1JTU2FtZURvbWFpbkVuYWJsZWQoKTsKKworICAgIGlmIChkaXNhYmxlQ09SUykgeworICAgICAg
ICBpZiAoZW5hYmxlQ09SU1NhbWVEb21haW4pIHsKKyAgICAgICAgICAgIFN0cmluZyByZXF1ZXN0
RG9tYWluID0gdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbih1cmwuaG9zdCgpKTsKKyAgICAg
ICAgICAgIFN0cmluZyBkb2N1bWVudERvbWFpbiA9IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21h
aW4oZnJhbWUoKS0+ZG9jdW1lbnQoKS0+dXJsKCkuaG9zdCgpKTsKKyAgICAgICAgICAgIGlmICgh
ZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShyZXF1ZXN0RG9tYWluLCBkb2N1bWVudERvbWFpbikgJiYg
dHlwZSAhPSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlKSB7CisgICAgICAgICAgICAgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVxdWVzdFJlc291cmNlOiBSZXNvdXJjZSBibG9ja2Vk
IGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeSAoZnJhbWUgPSAlcCkiLCBm
cmFtZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUmVzb3VyY2VF
cnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHVybCwgQVNDSUlMaXRlcmFsKCJS
ZXNvdXJjZSBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeSIp
LCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH0pOworICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgaWYgKCFlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHVybC5ob3N0KCksIGZy
YW1lKCktPmRvY3VtZW50KCktPnVybCgpLmhvc3QoKSkgJiYgdHlwZSAhPSBDYWNoZWRSZXNvdXJj
ZTo6TWFpblJlc291cmNlKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgicmVxdWVzdFJlc291cmNlOiBSZXNvdXJjZSBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeSAoZnJhbWUgPSAlcCkiLCBmcmFtZSgpKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWluV2Vi
S2l0SW50ZXJuYWwsIDAsIHVybCwgQVNDSUlMaXRlcmFsKCJSZXNvdXJjZSBibG9ja2VkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeSIpLCBSZXNvdXJjZUVycm9yOjpUeXBl
OjpBY2Nlc3NDb250cm9sIH0pOworICAgICAgICB9CisgICAgfQorCiAgICAgcHJlcGFyZUZldGNo
KHR5cGUsIHJlcXVlc3QpOwogCiAgICAgLy8gV2UgYXJlIHBhc3NpbmcgdXJsIGFzIHdlbGwgYXMg
cmVxdWVzdCwgYXMgcmVxdWVzdCB1cmwgbWF5IGNvbnRhaW4gYSBmcmFnbWVudCBpZGVudGlmaWVy
LgpAQCAtODIwLDcgKzgzOSw4IEBAIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWMKICAgICBSZXZhbGlkYXRpb25Qb2xpY3kgcG9saWN5ID0gZGV0ZXJtaW5lUmV2YWxpZGF0
aW9uUG9saWN5KHR5cGUsIHJlcXVlc3QsIHJlc291cmNlLmdldCgpLCBmb3JQcmVsb2FkLCBkZWZl
cik7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKICAgICBjYXNlIFJlbG9hZDoKLSAgICAgICAgbWVt
b3J5Q2FjaGUucmVtb3ZlKCpyZXNvdXJjZSk7CisgICAgICAgIGlmIChyZXNvdXJjZSkKKyAgICAg
ICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZSgqcmVzb3VyY2UpOwogICAgICAgICBGQUxMVEhST1VH
SDsKICAgICBjYXNlIExvYWQ6CiAgICAgICAgIGlmIChyZXNvdXJjZSkKZGlmZiAtcHJ1IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0xpbmtMb2FkZXIuY3BwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNw
cAkyMDE3LTExLTEyIDIwOjM0OjE0LjA0Nzc1ODg1NiArMDEwMAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlci5jcHAJMjAxNy0xMS0yMCAxOTo1MToyNS4yNjIwODk2NTYgKzAx
MDAKQEAgLTUwLDcgKzUwLDkgQEAKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgogI2luY2x1
ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgi
CisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgorI2lu
Y2x1ZGUgIlB1YmxpY1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNs
dWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAg
LTI0Niw2ICsyNDgsMjAgQEAgdm9pZCBMaW5rTG9hZGVyOjpjYW5jZWxMb2FkKCkKIAogYm9vbCBM
aW5rTG9hZGVyOjpsb2FkTGluayhjb25zdCBMaW5rUmVsQXR0cmlidXRlJiByZWxBdHRyaWJ1dGUs
IGNvbnN0IFVSTCYgaHJlZiwgY29uc3QgU3RyaW5nJiBhcywgY29uc3QgU3RyaW5nJiBtZWRpYSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbiwgRG9jdW1l
bnQmIGRvY3VtZW50KQogeworICAgIGJvb2wgZGlzYWJsZUNPUlMgPSBkb2N1bWVudC5wYWdlKCkt
PmlzQ09SU0Rpc2FibGVkKCk7CisgICAgYm9vbCBlbmFibGVDT1JTU2FtZURvbWFpbiA9IGRvY3Vt
ZW50LnBhZ2UoKS0+aXNDT1JTU2FtZURvbWFpbkVuYWJsZWQoKTsKKworICAgIGlmIChkaXNhYmxl
Q09SUykgeworICAgICAgICBpZiAoZW5hYmxlQ09SU1NhbWVEb21haW4pIHsKKyAgICAgICAgICAg
IFN0cmluZyByZXF1ZXN0RG9tYWluID0gdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbihocmVm
Lmhvc3QoKSk7CisgICAgICAgICAgICBTdHJpbmcgZG9jdW1lbnREb21haW4gPSB0b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWluKGRvY3VtZW50LnVybCgpLmhvc3QoKSk7CisgICAgICAgICAgICBp
ZiAoIWRvY3VtZW50RG9tYWluLmlzRW1wdHkoKSAmJiAhZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShy
ZXF1ZXN0RG9tYWluLCBkb2N1bWVudERvbWFpbikpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9IGVsc2UgaWYgKCFkb2N1bWVudC51cmwoKS5ob3N0KCkuaXNFbXB0eSgp
ICYmIGhyZWYuaG9zdCgpICE9IGRvY3VtZW50LnVybCgpLmhvc3QoKSkgeworICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChyZWxBdHRyaWJ1
dGUuaXNETlNQcmVmZXRjaCkgewogICAgICAgICAvLyBGSVhNRTogVGhlIGhyZWYgYXR0cmlidXRl
IG9mIHRoZSBsaW5rIGVsZW1lbnQgY2FuIGJlIGluICIvL2hvc3RuYW1lIiBmb3JtLCBhbmQgd2Ug
c2hvdWxkbid0IGF0dGVtcHQKICAgICAgICAgLy8gdG8gY29tcGxldGUgdGhhdCBhcyBVUkwgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODg1Nz4uCmRpZmYgLXBydSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAJMjAxNy0xMS0xMiAyMDozNDoxNC4wNjA3NTg4NTYg
KzAxMDAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAky
MDE3LTExLTIwIDE5OjUxOjI1LjI2MjA4OTY1NiArMDEwMApAQCAtMTY3LDYgKzE2NywzOSBAQCBi
b29sIFN1YnJlc291cmNlTG9hZGVyOjppc1N1YnJlc291cmNlTG9hCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK2Jvb2wgU3VicmVzb3VyY2VMb2FkZXI6OmlzQ09SU0Rpc2FibGVkKCkgY29uc3QKK3sK
KyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9m
cmFtZS0+cGFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV9mcmFt
ZS0+cGFnZSgpLT5pc0NPUlNEaXNhYmxlZCgpOworfQorCitib29sIFN1YnJlc291cmNlTG9hZGVy
Ojppc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTU2Ft
ZURvbWFpbkVuYWJsZWQoKTsKK30KKworYm9vbCBTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTUmVk
aXJlY3Rpb25EaXNhYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTUmVkaXJlY3Rpb25E
aXNhYmxlZCgpOworfQorCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJ
bnRlcm5hbChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZWRpcmVjdFJlc3BvbnNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291cmNlUmVx
dWVzdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICAvLyBTdG9yZSB0aGUgcHJldmlv
dXMgVVJMIGJlY2F1c2UgdGhlIGNhbGwgdG8gUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dCB3aWxsIG1vZGlmeSBpdC4KQEAgLTUwMywxNCArNTM2LDI0IEBAIGJvb2wgU3VicmVzb3VyY2VM
b2FkZXI6OmNoZWNrUmVkaXJlY3Rpb24KIHsKICAgICBib29sIGNyb3NzT3JpZ2luRmxhZyA9IG1f
cmVzb3VyY2UtPmlzQ3Jvc3NPcmlnaW4oKTsKICAgICBib29sIGlzTmV4dFJlcXVlc3RDcm9zc09y
aWdpbiA9IG1fb3JpZ2luICYmICFtX29yaWdpbi0+Y2FuUmVxdWVzdChuZXdSZXF1ZXN0LnVybCgp
KTsKKyAgICBib29sIGRpc2FibGVDT1JTID0gaXNDT1JTRGlzYWJsZWQoKTsKKyAgICBib29sIGRp
c2FibGVDT1JTUmVkaXJlY3Rpb24gPSBpc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkKCk7CiAKICAg
ICBpZiAoaXNOZXh0UmVxdWVzdENyb3NzT3JpZ2luKQogICAgICAgICBtX3Jlc291cmNlLT5zZXRD
cm9zc09yaWdpbigpOwogCiAgICAgQVNTRVJUKG9wdGlvbnMoKS5tb2RlICE9IEZldGNoT3B0aW9u
czo6TW9kZTo6U2FtZU9yaWdpbiB8fCAhbV9yZXNvdXJjZS0+aXNDcm9zc09yaWdpbigpKTsKIAot
ICAgIGlmIChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpCi0gICAg
ICAgIHJldHVybiB0cnVlOworICAgIGlmIChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6
Ok1vZGU6OkNvcnMpIHsKKyAgICAgICAgaWYgKCFkaXNhYmxlQ09SUykgeworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIWRpc2FibGVD
T1JTUmVkaXJlY3Rpb24pCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQog
CiAgICAgLy8gSW1wbGVtZW50aW5nIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25j
ZXB0LWh0dHAtcmVkaXJlY3QtZmV0Y2ggc3RlcCA4ICYgOS4KICAgICBpZiAobV9yZXNvdXJjZS0+
aXNDcm9zc09yaWdpbigpICYmICFpc1ZhbGlkQ3Jvc3NPcmlnaW5SZWRpcmVjdGlvblVSTChuZXdS
ZXF1ZXN0LnVybCgpKSkgewpkaWZmIC1wcnUgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5o
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5oCTIwMTctMTEt
MTggMjE6Mzc6NTcuNTA5NDU3MjY3ICswMTAwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5oCTIwMTctMTEtMjAgMTk6NTE6MjUuMjYzMDg5NjU2ICswMTAwCkBA
IC00OCw2ICs0OCw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2FuY2VsSWZOb3RGaW5pc2hpbmco
KTsKICAgICBib29sIGlzU3VicmVzb3VyY2VMb2FkZXIoKSBvdmVycmlkZTsKKyAgICBib29sIGlz
Q09SU0Rpc2FibGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgp
IGNvbnN0OworICAgIGJvb2wgaXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxlZCgpIGNvbnN0OwogICAg
IENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSgpOwogCiAgICAgU2VjdXJpdHlPcmlnaW4q
IG9yaWdpbigpIHsgcmV0dXJuIG1fb3JpZ2luLmdldCgpOyB9CmRpZmYgLXBydSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJMjAxNy0xMS0xMiAyMDozNDoxNC4xNzA3NTg4NTYgKzAx
MDAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJMjAxNy0xMS0yMCAxOTo1MToyNS4y
NjMwODk2NTYgKzAxMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJSVENDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKICNpbmNsdWRlICJVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmgiCkBAIC01
ODgsNiArNTg5LDEwIEBAIHB1YmxpYzoKICAgICBib29sIGlzTG93UG93ZXJNb2RlRW5hYmxlZCgp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TG93UG93ZXJNb2RlRW5hYmxlZE92
ZXJyaWRlRm9yVGVzdGluZyhzdGQ6Om9wdGlvbmFsPGJvb2w+KTsKIAorICAgIGJvb2wgaXNDT1JT
RGlzYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLT5kaXNhYmxlQ09SUygpOyB9Cisg
ICAgYm9vbCBpc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGlu
Z3MtPmVuYWJsZUNPUlNTYW1lRG9tYWluKCk7IH0KKyAgICBib29sIGlzQ09SU1JlZGlyZWN0aW9u
RGlzYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLT5kaXNhYmxlQ09SU1JlZGlyZWN0
aW9uKCk7IH0KKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFN0
cmluZyBkb21haW47CmRpZmYgLXBydSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFt
bCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwJMjAxNy0xMS0xMiAyMDozNDoxNC4xODk3NTg4NTUgKzAxMDAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCTIwMTctMTEtMjAgMTk6NTE6
MjUuMjYzMDg5NjU2ICswMTAwCkBAIC05OSw2ICs5OSwxMiBAQCBhbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMczoKICAgaW5pdGlhbDogdHJ1ZQogYWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVV
UkxzOgogICBpbml0aWFsOiB0cnVlCitkaXNhYmxlQ09SUzoKKyAgaW5pdGlhbDogZmFsc2UKK2Vu
YWJsZUNPUlNTYW1lRG9tYWluOgorICBpbml0aWFsOiB0cnVlCitkaXNhYmxlQ09SU1JlZGlyZWN0
aW9uOgorICBpbml0aWFsOiBmYWxzZQogbmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVp
cms6CiAgIGluaXRpYWw6IHRydWUKIGphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2Fs
bHk6CmRpZmYgLXBydSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJMjAxNy0xMS0yMCAxOToyODo0
OS4yOTMwODA5NDEgKzAxMDAKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJMjAxNy0xMS0y
MCAxOTo1NToxNC4yODUwOTExMjggKzAxMDAKQEAgLTEsMyArMSwzMCBAQAorMjAxNy0xMS0yMCAg
R3VpZG8gVHJlbnRhbGFuY2lhICA8Z3VpZG9AdHJlbnRhbGFuY2lhLmNvbT4KKworICAgICAgICBB
ZGQgUHJlZmVyZW5jZXMgZm9yIG5ldyBDT1JTIHNldHRpbmdzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5ODg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlMpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dl
dERpc2FibGVDT1JTKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRFbmFibGVDT1JTU2FtZURv
bWFpbik6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0RW5hYmxlQ09SU1NhbWVEb21haW4pOgor
ICAgICAgICAoV0tQcmVmZXJlbmNlc1NldERpc2FibGVDT1JTUmVkaXJlY3Rpb24pOgorICAgICAg
ICAoV0tQcmVmZXJlbmNlc0dldERpc2FibGVDT1JTUmVkaXJlY3Rpb24pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJLaXRTZXR0
aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNldHRpbmdzR2V0UHJvcGVydHkpOgor
ICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3Nl
dHRpbmdzX2dldF9kaXNhYmxlX2NvcnMpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9k
aXNhYmxlX2NvcnMpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY29yc19z
YW1lX2RvbWFpbik6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9jb3JzX3Nh
bWVfZG9tYWluKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3Jl
ZGlyZWN0aW9uKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZGlzYWJsZV9jb3JzX3Jl
ZGlyZWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5o
OgorCiAyMDE3LTExLTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbV1BFXSB3ZWJraXRfd2ViX3ZpZXdfbmV3KCkgc2hvdWxkIGVuYWJsZSBz
cGVjaWZ5aW5nIHdwZV92aWV3X2JhY2tlbmQgb2JqZWN0CmRpZmYgLXBydSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwJMjAxNy0xMS0xOCAyMTozNzo1Ny42MDg0NTcyNjcgKzAxMDAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkyMDE3LTExLTIwIDE5OjUxOjI1LjI4MTA4
OTY1NiArMDEwMApAQCAtMTc5LDYgKzE3OSwxOCBAQCBBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVS
THM6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogCitEaXNhYmxlQ09SUzoK
KyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisKK0VuYWJsZUNPUlNTYW1lRG9t
YWluOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorCitEaXNhYmxlQ09SU1Jl
ZGlyZWN0aW9uOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKwogQVZGb3Vu
ZGF0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKZGlmZiAt
cHJ1IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkyMDE3LTExLTE4IDIx
OjM3OjU3LjYxMjQ1NzI2NyArMDEwMAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkyMDE3LTExLTIwIDE5OjUxOjI1LjI4MjA4OTY1NyArMDEwMApA
QCAtNzQ1LDYgKzc0NSwzNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRGaWxlQWNjZXNzRnJvbUZp
bGVVCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmFsbG93RmlsZUFjY2Vzc0Zy
b21GaWxlVVJMcygpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXREaXNhYmxlQ09SUyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQpCit7CisgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0RGlzYWJsZUNPUlMoYWxsb3dlZCk7Cit9CisKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldERpc2FibGVDT1JTKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmRpc2FibGVDT1JTKCk7Cit9
CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEVuYWJsZUNPUlNTYW1lRG9tYWluKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgYWxsb3dlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRFbmFibGVDT1JTU2FtZURvbWFpbihhbGxvd2VkKTsKK30KKworYm9vbCBX
S1ByZWZlcmVuY2VzR2V0RW5hYmxlQ09SU1NhbWVEb21haW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+ZW5hYmxl
Q09SU1NhbWVEb21haW4oKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlNS
ZWRpcmVjdGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQp
Cit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RGlzYWJsZUNPUlNSZWRpcmVjdGlv
bihhbGxvd2VkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0RGlzYWJsZUNPUlNSZWRpcmVj
dGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5kaXNhYmxlQ09SU1JlZGlyZWN0aW9uKCk7Cit9CisKIHZvaWQg
V0tQcmVmZXJlbmNlc1NldE5lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgbmVlZHNRdWlyaykKIHsKICAgICB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXROZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWly
ayhuZWVkc1F1aXJrKTsKZGlmZiAtcHJ1IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFNldHRpbmdzLmNwcAkyMDE3LTExLTE4IDIxOjM3OjU3LjYzNDQ1NzI2NyArMDEwMAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAJ
MjAxNy0xMS0yMCAxOTo1MToyNS4yODMwODk2NTcgKzAxMDAKQEAgLTE1Nyw2ICsxNTcsOSBAQCBl
bnVtIHsKICNpZiBQTEFURk9STShHVEspCiAgICAgUFJPUF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05f
UE9MSUNZLAogI2VuZGlmCisgICAgUFJPUF9ESVNBQkxFX0NPUlMsCisgICAgUFJPUF9FTkFCTEVf
Q09SU19TQU1FX0RPTUFJTiwKKyAgICBQUk9QX0RJU0FCTEVfQ09SU19SRURJUkVDVElPTiwKIH07
CiAKIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzRGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCkBA
IC0zNTksNiArMzYyLDE1IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHko
R08KICAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9oYXJkd2FyZV9hY2NlbGVyYXRpb25fcG9s
aWN5KHNldHRpbmdzLCBzdGF0aWNfY2FzdDxXZWJLaXRIYXJkd2FyZUFjY2VsZXJhdGlvblBvbGlj
eT4oZ192YWx1ZV9nZXRfZW51bSh2YWx1ZSkpKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyAg
ICBjYXNlIFBST1BfRElTQUJMRV9DT1JTOgorICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rp
c2FibGVfY29ycyhzZXR0aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU46CisgICAgICAg
IHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oc2V0dGluZ3MsIGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9Q
X0RJU0FCTEVfQ09SU19SRURJUkVDVElPTjoKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9k
aXNhYmxlX2NvcnNfcmVkaXJlY3Rpb24oc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFs
dWUpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FS
Tl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgICAg
ICBicmVhazsKQEAgLTUyNyw2ICs1MzksMTUgQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGluZ3NH
ZXRQcm9wZXJ0eShHTwogICAgICAgICBnX3ZhbHVlX3NldF9lbnVtKHZhbHVlLCB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3koc2V0dGluZ3MpKTsKICAgICAg
ICAgYnJlYWs7CiAjZW5kaWYKKyAgICBjYXNlIFBST1BfRElTQUJMRV9DT1JTOgorICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2Rpc2FibGVfY29y
cyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX0NPUlNf
U0FNRV9ET01BSU46CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oc2V0dGluZ3MpKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBQUk9QX0RJU0FCTEVfQ09SU19SRURJUkVDVElPTjoKKyAgICAgICAg
Z192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2Nv
cnNfcmVkaXJlY3Rpb24oc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElk
LCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTEzNDksNiArMTM3MCw1MSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdChXCiAgICAgICAgICAgICBXRUJLSVRf
SEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9PTl9ERU1BTkQsCiAgICAgICAgICAgICByZWFk
V3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAjZW5kaWYgLy8gUExBVEZPVE0oR1RLKQorCisg
ICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzOgorICAgICAqCisgICAg
ICogV2hldGhlciBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgaXMgZGlzYWJs
ZWQuCisgICAgICoKKyAgICAgKiBTaW5jZTogMi4xOS4yCisgICAgICovCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfRElTQUJM
RV9DT1JTLAorICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZGlzYWJsZS1jb3JzIiwKKyAg
ICAgICAgICAgIF8oIkRpc2FibGUgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMp
IiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5n
IChDT1JTKSBpcyBkaXNhYmxlZC4iKSwKKyAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAg
cmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOworCisgICAgLyoqCisgICAgICogV2ViS2l0
U2V0dGluZ3M6ZW5hYmxlLWNvcnMtc2FtZS1kb21haW46CisgICAgICoKKyAgICAgKiBXaGV0aGVy
IENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSB3aXRoaW4gdGhlIHNhbWUgZG9t
YWluIGlzIGVuYWJsZWQuCisgICAgICoKKyAgICAgKiBTaW5jZTogMi4xOS4yCisgICAgICovCisg
ICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAg
IFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU4sCisgICAgICAgIGdfcGFyYW1fc3BlY19ib29s
ZWFuKCJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIsCisgICAgICAgICAgICBfKCJFbmFibGUgQ3Jv
c3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHdpdGhpbiB0aGUgc2FtZSBkb21haW4i
KSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcg
KENPUlMpIHdpdGhpbiB0aGUgc2FtZSBkb21haW4gaXMgZW5hYmxlZC4iKSwKKyAgICAgICAgICAg
IFRSVUUsCisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKKyAg
ICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpkaXNhYmxlLWNvcnMtcmVkaXJlY3Rpb246Cisg
ICAgICoKKyAgICAgKiBXaGV0aGVyIENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JT
KSBSZWRpcmVjdGlvbiBpcyBkaXNhYmxlZC4KKyAgICAgKgorICAgICAqIFNpbmNlOiAyLjE5LjIK
KyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdPYmplY3RDbGFz
cywKKyAgICAgICAgUFJPUF9ESVNBQkxFX0NPUlNfUkVESVJFQ1RJT04sCisgICAgICAgIGdfcGFy
YW1fc3BlY19ib29sZWFuKCJkaXNhYmxlLWNvcnMtcmVkaXJlY3Rpb24iLAorICAgICAgICAgICAg
XygiRGlzYWJsZSBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgUmVkaXJlY3Rp
b24iKSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgKENPUlMpIFJlZGlyZWN0aW9uIGlzIGRpc2FibGVkLiIpLAorICAgICAgICAgICAgRkFMU0Us
CisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiB9CiAKIFdlYlBy
ZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dldFByZWZlcmVuY2VzKFdlYktpdFNldHRpbmdzKiBz
ZXR0aW5ncykKQEAgLTMzMzUsMyArMzQwMSwxMTcgQEAgZ3VpbnQzMiB3ZWJraXRfc2V0dGluZ3Nf
Zm9udF9zaXplX3RvX3BpeAogICAgIHJldHVybiBzdGQ6OnJvdW5kKHBvaW50cyAqIFdlYkNvcmU6
OnNjcmVlbkRQSSgpIC8gNzIpOwogfQogI2VuZGlmIC8vIFBMQVRGT1JNKEdUSykKKworLyoqCisg
KiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2Rpc2FibGVfY29yczoKKyAqIEBzZXR0aW5nczogYSAjV2Vi
S2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJLaXRTZXR0aW5nczpkaXNhYmxlLWNvcnMg
cHJvcGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgQ09SUyBpcyBkaXNhYmxlZCBvciAl
RkFMU0Ugb3RoZXJ3aXNlLgorICoKKyAqIFNpbmNlOiAyLjE5LjIKKyAqLworZ2Jvb2xlYW4gd2Vi
a2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2NvcnMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQor
eworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyks
IEZBTFNFKTsKKworICAgIHJldHVybiBzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMtPmRpc2Fi
bGVDT1JTKCk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnM6
CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUgdG8g
YmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzIHByb3Bl
cnR5LgorICoKKyAqIFNpbmNlOiAyLjE5LjIKKyAqLwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0
X2Rpc2FibGVfY29ycyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQp
Cit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsK
KworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAg
IGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZGlzYWJsZUNPUlMoKSA9PSBhbGxvd2VkKQorICAgICAg
ICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0RGlzYWJsZUNPUlMoYWxsb3dl
ZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImRpc2FibGUtY29y
cyIpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9k
b21haW46CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAj
V2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWNvcnMtc2FtZS1kb21haW4gcHJvcGVydHkuCisgKgorICog
UmV0dXJuczogJVRSVUUgSWYgQ09SUyB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIGlzIGVuYWJsZWQg
b3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4xOS4yCisgKi8KK2dib29sZWFu
IHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oV2ViS2l0U2V0dGlu
Z3MqIHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRU
SU5HUyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVybiBzZXR0aW5ncy0+cHJpdi0+cHJl
ZmVyZW5jZXMtPmVuYWJsZUNPUlNTYW1lRG9tYWluKCk7Cit9CisKKy8qKgorICogd2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfY29yc19zYW1lX2RvbWFpbjoKKyAqIEBzZXR0aW5nczogYSAjV2Vi
S2l0U2V0dGluZ3MKKyAqIEBhbGxvd2VkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhl
ICNXZWJLaXRTZXR0aW5nczplbmFibGUtY29ycy1zYW1lLWRvbWFpbiBwcm9wZXJ0eS4KKyAqCisg
KiBTaW5jZTogMi4xOS4yCisgKi8KK3ZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY29y
c19zYW1lX2RvbWFpbihXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQp
Cit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsK
KworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAg
IGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZW5hYmxlQ09SU1NhbWVEb21haW4oKSA9PSBhbGxvd2Vk
KQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0RW5hYmxlQ09S
U1NhbWVEb21haW4oYWxsb3dlZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRp
bmdzKSwgImVuYWJsZS1jb3JzLXNhbWUtZG9tYWluIik7Cit9CisKKy8qKgorICogd2Via2l0X3Nl
dHRpbmdzX2dldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rpb246CisgKiBAc2V0dGluZ3M6IGEgI1dl
YktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uIHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIENPUlMgcmVk
aXJlY3Rpb24gaXMgZGlzYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTog
Mi4xOS4yCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3Jl
ZGlyZWN0aW9uKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAgICByZXR1
cm4gc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLT5kaXNhYmxlQ09SU1JlZGlyZWN0aW9uKCk7
Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rp
b246CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUg
dG8gYmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzLXJl
ZGlyZWN0aW9uIHByb3BlcnR5LgorICoKKyAqIFNpbmNlOiAyLjE5LjIKKyAqLwordm9pZCB3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2Rpc2FibGVfY29yc19yZWRpcmVjdGlvbihXZWJLaXRTZXR0aW5ncyog
c2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSog
cHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZGlzYWJs
ZUNPUlNSZWRpcmVjdGlvbigpID09IGFsbG93ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIHBy
aXYtPnByZWZlcmVuY2VzLT5zZXREaXNhYmxlQ09SU1JlZGlyZWN0aW9uKGFsbG93ZWQpOworICAg
IGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJkaXNhYmxlLWNvcnMtcmVkaXJl
Y3Rpb24iKTsKK30KZGlmZiAtcHJ1IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRTZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5oCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0
dGluZ3MuaAkyMDE3LTExLTE4IDIxOjM3OjU3LjYzNTQ1NzI2NyArMDEwMAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgJMjAxNy0xMS0yMCAxOTo1
MToyNS4yODQwODk2NTcgKzAxMDAKQEAgLTQ1Nyw2ICs0NTcsMjcgQEAgd2Via2l0X3NldHRpbmdz
X2ZvbnRfc2l6ZV90b19wb2ludHMKIFdFQktJVF9BUEkgZ3VpbnQzMgogd2Via2l0X3NldHRpbmdz
X2ZvbnRfc2l6ZV90b19waXhlbHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1aW50MzIg
cG9pbnRzKTsKIAorV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dldF9kaXNh
YmxlX2NvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpz
ZXR0aW5ncyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxl
X2NvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0
aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgYWxsb3dlZCk7CisKK1dFQktJVF9BUEkgZ2Jv
b2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4gICAgICAg
ICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZv
aWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4gICAgICAgICAg
ICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAg
ICAgIGFsbG93ZWQpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2Rpc2FibGVfY29yc19yZWRpcmVjdGlvbiAgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGlu
Z3MgKnNldHRpbmdzKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rp
c2FibGVfY29yc19yZWRpcmVjdGlvbiAgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3Mg
KnNldHRpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBhbGxvd2VkKTsKKwogR19FTkRfREVD
TFMKIAogI2VuZGlmIC8qIFdlYktpdFNldHRpbmdzX2ggKi8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327422</attachid>
            <date>2017-11-21 10:46:24 -0800</date>
            <delta_ts>2017-11-23 11:08:04 -0800</delta_ts>
            <desc>Proposed patch (based on the git development tree)</desc>
            <filename>WebKit-git20112017-1800-disable-CORS-v4.patch</filename>
            <type>text/plain</type>
            <size>24375</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">QWRkIHRoZSBmb2xsb3dpbmcgbmV3IHdlYiBzZXR0aW5ncyB0byBjb250cm9sIENyb3NzLU9yaWdp
bgpSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSBmb3IgaW1wcm92ZWQgc2VjdXJpdHkgYW5kIHByaXZh
Y3k6CgotIGRpc2FibGUtY29yczogdG8gZGlzYWJsZSB0aGUgQ09SUyBtb2RlIChjYW4gYmUgdGVz
dGVkIGZvcgogIGV4YW1wbGUgaGVyZTogaHR0cHM6Ly90ZXN0LWNvcnMuYXBwc3BvdC5jb20vI3Rl
Y2huaWNhbCk7Ci0gZW5hYmxlLWNvcnMtc2FtZS1kb21haW46IHRvIGVuYWJsZSBsb2FkaW5nIHJl
c291cmNlcwogIGZyb20gYSBkaWZmZXJlbnQgc2l0ZSB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIChz
bGlnaHRseQogIGxlc3Mgc2FmZSwgYnV0IG1vcmUgZnVuY3Rpb25hbCk7Ci0gZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uOiB0byBkaXNhYmxlIHJlZGlyZWN0aW9uIChzYWZlciwKICBidXQgbXVjaCBs
ZXNzIGZ1bmN0aW9uYWwpLgoKVGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBpcyBpbnRlbmRlZCBm
b3IgdGhlIGN1cnJlbnQKZGV2ZWxvcG1lbnQgYnJhbmNoIChnaXQgdHJlZSkuCgpTaWduZWQtb2Zm
LWJ5OiBHdWlkbyBUcmVudGFsYW5jaWEgPGd1aWRvQHRyZW50YWxhbmNpYS5jb20+Ci0tLQogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjcg
KysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcCAgICAgICAgICAgICAgICAg
fCAgIDE2ICsKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgICAg
ICAgICAgfCAgIDQ3ICsrKysKIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRl
ci5oICAgICAgICAgICAgfCAgICAzIAogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcCB8ICAgMjIgKysKIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1IAogU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sICAgICAgICAgICAgICAgICAgICB8ICAgIDYgCiBTb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyNyArKwogU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCAgICAgICAgICAgICB8ICAgMTIgKwogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgICAgICB8ICAgMzAg
KysrCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAg
IHwgIDE4MCArKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFNldHRpbmdzLmggICAgIHwgICAyMSArKwogMTIgZmlsZXMgY2hhbmdlZCwgMzkz
IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC1wcnUgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCTIwMTctMTEtMjAgMTk6Mjg6NDguMzE4MDgwOTM1ICswMTAwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkyMDE3LTExLTIwIDE5OjUzOjU1Ljc1MDA5MDYyNCArMDEw
MApAQCAtMSwzICsxLDMwIEBACisyMDE3LTExLTIwICBHdWlkbyBUcmVudGFsYW5jaWEgIDxndWlk
b0B0cmVudGFsYW5jaWEuY29tPgorCisgICAgICAgIEFkZCBjb2RlIHRvIGVuYWJsZSBvciBkaXNh
YmxlIHZhcmlvdXMgQ3Jvc3MtT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHNldHRpbmdz
CisgICAgICAgIGZvciBpbXByb3ZlZCBzZWN1cml0eSBhbmQgcHJpdmFjeTogImRpc2FibGUtY29y
cyIsICJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIgYW5kCisgICAgICAgICJkaXNhYmxlLWNvcnMt
cmVkaXJlY3Rpb24iLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc5ODg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IE1hbnVhbFRlc3RzL0NPUlMtZGlzYWJsZWQuaHRtbAorCisgICAgICAgICog
bG9hZGVyL0xpbmtMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGlua0xvYWRlcjo6bG9h
ZExpbmspOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTRGlzYWJsZWQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmlzQ09SU1NhbWVEb21haW5FbmFibGVk
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjppc0NPUlNSZWRp
cmVjdGlvbkRpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9h
ZGVyOjpjaGVja1JlZGlyZWN0aW9uQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sKToKKyAgICAgICAg
KiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjppc0NPUlNEaXNhYmxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjppc0NPUlNTYW1lRG9tYWluRW5hYmxlZCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjppc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLnlhbWw6CisKIDIwMTctMTEtMjAgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6
ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gR0xDb250ZXh0RUdMV1BFLmNw
cDo0NDo5NjogZXJyb3I6IGludmFsaWQgY2FzdCBmcm9tIHR5cGUg4oCYR0xOYXRpdmVXaW5kb3dU
eXBlIHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH3igJkgdG8gdHlwZSDigJhFR0xOYXRpdmVX
aW5kb3dUeXBlIHtha2EgdW5zaWduZWQgaW50fQpkaWZmIC1wcnUgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCTIwMTctMTEtMjAgMTk6Mjg6NDku
MTM4MDgwOTQwICswMTAwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAJMjAxNy0xMS0yMCAxOTo1MToyNS4yNjEwODk2NTYgKzAxMDAKQEAg
LTQsNiArNCw3IEBACiAgICAgQ29weXJpZ2h0IChDKSAyMDAyIFdhbGRvIEJhc3RpYW4gKGJhc3Rp
YW5Aa2RlLm9yZykKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgICAgQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMu
IGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICAgIENvcHlyaWdodCAoQykgMjAxNyBHdWlk
byBUcmVudGFsYW5jaWEgKGd1aWRvQHRyZW50YWxhbmNpYS5jb20pCiAKICAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTYwLDYgKzYxLDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGluZ0xv
YWRlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgorI2luY2x1ZGUgIlB1Ymxp
Y1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUxvYWRJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VUaW1pbmcuaCIKQEAgLTczNyw2ICs3Mzks
MjMgQEAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhYwogICAgICAgICBy
ZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50
ZXJuYWwsIDAsIHVybCwgQVNDSUlMaXRlcmFsKCJVUkwgaXMgaW52YWxpZCIpIH0pOwogICAgIH0K
IAorICAgIGJvb2wgZGlzYWJsZUNPUlMgPSBmcmFtZSgpLT5wYWdlKCktPmlzQ09SU0Rpc2FibGVk
KCk7CisgICAgYm9vbCBlbmFibGVDT1JTU2FtZURvbWFpbiA9IGZyYW1lKCktPnBhZ2UoKS0+aXND
T1JTU2FtZURvbWFpbkVuYWJsZWQoKTsKKworICAgIGlmIChkaXNhYmxlQ09SUykgeworICAgICAg
ICBpZiAoZW5hYmxlQ09SU1NhbWVEb21haW4pIHsKKyAgICAgICAgICAgIFN0cmluZyByZXF1ZXN0
RG9tYWluID0gdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbih1cmwuaG9zdCgpKTsKKyAgICAg
ICAgICAgIFN0cmluZyBkb2N1bWVudERvbWFpbiA9IHRvcFByaXZhdGVseUNvbnRyb2xsZWREb21h
aW4oZnJhbWUoKS0+ZG9jdW1lbnQoKS0+dXJsKCkuaG9zdCgpKTsKKyAgICAgICAgICAgIGlmICgh
ZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShyZXF1ZXN0RG9tYWluLCBkb2N1bWVudERvbWFpbikgJiYg
dHlwZSAhPSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlKSB7CisgICAgICAgICAgICAgICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVxdWVzdFJlc291cmNlOiBSZXNvdXJjZSBibG9ja2Vk
IGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeSAoZnJhbWUgPSAlcCkiLCBm
cmFtZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUmVzb3VyY2VF
cnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHVybCwgQVNDSUlMaXRlcmFsKCJS
ZXNvdXJjZSBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeSIp
LCBSZXNvdXJjZUVycm9yOjpUeXBlOjpBY2Nlc3NDb250cm9sIH0pOworICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgaWYgKCFlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHVybC5ob3N0KCksIGZy
YW1lKCktPmRvY3VtZW50KCktPnVybCgpLmhvc3QoKSkgJiYgdHlwZSAhPSBDYWNoZWRSZXNvdXJj
ZTo6TWFpblJlc291cmNlKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgicmVxdWVzdFJlc291cmNlOiBSZXNvdXJjZSBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbiBSZXNv
dXJjZSBTaGFyaW5nIHBvbGljeSAoZnJhbWUgPSAlcCkiLCBmcmFtZSgpKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWluV2Vi
S2l0SW50ZXJuYWwsIDAsIHVybCwgQVNDSUlMaXRlcmFsKCJSZXNvdXJjZSBibG9ja2VkIGJ5IENy
b3NzLU9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIHBvbGljeSIpLCBSZXNvdXJjZUVycm9yOjpUeXBl
OjpBY2Nlc3NDb250cm9sIH0pOworICAgICAgICB9CisgICAgfQorCiAgICAgcHJlcGFyZUZldGNo
KHR5cGUsIHJlcXVlc3QpOwogCiAgICAgLy8gV2UgYXJlIHBhc3NpbmcgdXJsIGFzIHdlbGwgYXMg
cmVxdWVzdCwgYXMgcmVxdWVzdCB1cmwgbWF5IGNvbnRhaW4gYSBmcmFnbWVudCBpZGVudGlmaWVy
LgpAQCAtODIwLDcgKzgzOSw4IEBAIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWMKICAgICBSZXZhbGlkYXRpb25Qb2xpY3kgcG9saWN5ID0gZGV0ZXJtaW5lUmV2YWxpZGF0
aW9uUG9saWN5KHR5cGUsIHJlcXVlc3QsIHJlc291cmNlLmdldCgpLCBmb3JQcmVsb2FkLCBkZWZl
cik7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKICAgICBjYXNlIFJlbG9hZDoKLSAgICAgICAgbWVt
b3J5Q2FjaGUucmVtb3ZlKCpyZXNvdXJjZSk7CisgICAgICAgIGlmIChyZXNvdXJjZSkKKyAgICAg
ICAgICAgIG1lbW9yeUNhY2hlLnJlbW92ZSgqcmVzb3VyY2UpOwogICAgICAgICBGQUxMVEhST1VH
SDsKICAgICBjYXNlIExvYWQ6CiAgICAgICAgIGlmIChyZXNvdXJjZSkKZGlmZiAtcHJ1IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0xpbmtMb2FkZXIuY3BwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNw
cAkyMDE3LTExLTEyIDIwOjM0OjE0LjA0Nzc1ODg1NiArMDEwMAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlci5jcHAJMjAxNy0xMS0yMCAxOTo1MToyNS4yNjIwODk2NTYgKzAx
MDAKQEAgLTUwLDcgKzUwLDkgQEAKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgogI2luY2x1
ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgi
CisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgorI2lu
Y2x1ZGUgIlB1YmxpY1N1ZmZpeC5oIgogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNs
dWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAg
LTI0Niw2ICsyNDgsMjAgQEAgdm9pZCBMaW5rTG9hZGVyOjpjYW5jZWxMb2FkKCkKIAogYm9vbCBM
aW5rTG9hZGVyOjpsb2FkTGluayhjb25zdCBMaW5rUmVsQXR0cmlidXRlJiByZWxBdHRyaWJ1dGUs
IGNvbnN0IFVSTCYgaHJlZiwgY29uc3QgU3RyaW5nJiBhcywgY29uc3QgU3RyaW5nJiBtZWRpYSwg
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBjcm9zc09yaWdpbiwgRG9jdW1l
bnQmIGRvY3VtZW50KQogeworICAgIGJvb2wgZGlzYWJsZUNPUlMgPSBkb2N1bWVudC5wYWdlKCkt
PmlzQ09SU0Rpc2FibGVkKCk7CisgICAgYm9vbCBlbmFibGVDT1JTU2FtZURvbWFpbiA9IGRvY3Vt
ZW50LnBhZ2UoKS0+aXNDT1JTU2FtZURvbWFpbkVuYWJsZWQoKTsKKworICAgIGlmIChkaXNhYmxl
Q09SUykgeworICAgICAgICBpZiAoZW5hYmxlQ09SU1NhbWVEb21haW4pIHsKKyAgICAgICAgICAg
IFN0cmluZyByZXF1ZXN0RG9tYWluID0gdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbihocmVm
Lmhvc3QoKSk7CisgICAgICAgICAgICBTdHJpbmcgZG9jdW1lbnREb21haW4gPSB0b3BQcml2YXRl
bHlDb250cm9sbGVkRG9tYWluKGRvY3VtZW50LnVybCgpLmhvc3QoKSk7CisgICAgICAgICAgICBp
ZiAoIWRvY3VtZW50RG9tYWluLmlzRW1wdHkoKSAmJiAhZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShy
ZXF1ZXN0RG9tYWluLCBkb2N1bWVudERvbWFpbikpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9IGVsc2UgaWYgKCFkb2N1bWVudC51cmwoKS5ob3N0KCkuaXNFbXB0eSgp
ICYmIGhyZWYuaG9zdCgpICE9IGRvY3VtZW50LnVybCgpLmhvc3QoKSkgeworICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChyZWxBdHRyaWJ1
dGUuaXNETlNQcmVmZXRjaCkgewogICAgICAgICAvLyBGSVhNRTogVGhlIGhyZWYgYXR0cmlidXRl
IG9mIHRoZSBsaW5rIGVsZW1lbnQgY2FuIGJlIGluICIvL2hvc3RuYW1lIiBmb3JtLCBhbmQgd2Ug
c2hvdWxkbid0IGF0dGVtcHQKICAgICAgICAgLy8gdG8gY29tcGxldGUgdGhhdCBhcyBVUkwgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODg1Nz4uCmRpZmYgLXBydSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAJMjAxNy0xMS0xMiAyMDozNDoxNC4wNjA3NTg4NTYg
KzAxMDAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAky
MDE3LTExLTIwIDE5OjUxOjI1LjI2MjA4OTY1NiArMDEwMApAQCAtMTY3LDYgKzE2NywzOSBAQCBi
b29sIFN1YnJlc291cmNlTG9hZGVyOjppc1N1YnJlc291cmNlTG9hCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK2Jvb2wgU3VicmVzb3VyY2VMb2FkZXI6OmlzQ09SU0Rpc2FibGVkKCkgY29uc3QKK3sK
KyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9m
cmFtZS0+cGFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gbV9mcmFt
ZS0+cGFnZSgpLT5pc0NPUlNEaXNhYmxlZCgpOworfQorCitib29sIFN1YnJlc291cmNlTG9hZGVy
Ojppc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTU2Ft
ZURvbWFpbkVuYWJsZWQoKTsKK30KKworYm9vbCBTdWJyZXNvdXJjZUxvYWRlcjo6aXNDT1JTUmVk
aXJlY3Rpb25EaXNhYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgcmV0dXJuIG1fZnJhbWUtPnBhZ2UoKS0+aXNDT1JTUmVkaXJlY3Rpb25E
aXNhYmxlZCgpOworfQorCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RJ
bnRlcm5hbChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZWRpcmVjdFJlc3BvbnNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlc291cmNlUmVx
dWVzdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICAvLyBTdG9yZSB0aGUgcHJldmlv
dXMgVVJMIGJlY2F1c2UgdGhlIGNhbGwgdG8gUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVz
dCB3aWxsIG1vZGlmeSBpdC4KQEAgLTUwMywxNCArNTM2LDI0IEBAIGJvb2wgU3VicmVzb3VyY2VM
b2FkZXI6OmNoZWNrUmVkaXJlY3Rpb24KIHsKICAgICBib29sIGNyb3NzT3JpZ2luRmxhZyA9IG1f
cmVzb3VyY2UtPmlzQ3Jvc3NPcmlnaW4oKTsKICAgICBib29sIGlzTmV4dFJlcXVlc3RDcm9zc09y
aWdpbiA9IG1fb3JpZ2luICYmICFtX29yaWdpbi0+Y2FuUmVxdWVzdChuZXdSZXF1ZXN0LnVybCgp
KTsKKyAgICBib29sIGRpc2FibGVDT1JTID0gaXNDT1JTRGlzYWJsZWQoKTsKKyAgICBib29sIGRp
c2FibGVDT1JTUmVkaXJlY3Rpb24gPSBpc0NPUlNSZWRpcmVjdGlvbkRpc2FibGVkKCk7CiAKICAg
ICBpZiAoaXNOZXh0UmVxdWVzdENyb3NzT3JpZ2luKQogICAgICAgICBtX3Jlc291cmNlLT5zZXRD
cm9zc09yaWdpbigpOwogCiAgICAgQVNTRVJUKG9wdGlvbnMoKS5tb2RlICE9IEZldGNoT3B0aW9u
czo6TW9kZTo6U2FtZU9yaWdpbiB8fCAhbV9yZXNvdXJjZS0+aXNDcm9zc09yaWdpbigpKTsKIAot
ICAgIGlmIChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpCi0gICAg
ICAgIHJldHVybiB0cnVlOworICAgIGlmIChvcHRpb25zKCkubW9kZSAhPSBGZXRjaE9wdGlvbnM6
Ok1vZGU6OkNvcnMpIHsKKyAgICAgICAgaWYgKCFkaXNhYmxlQ09SUykgeworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIWRpc2FibGVD
T1JTUmVkaXJlY3Rpb24pCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQog
CiAgICAgLy8gSW1wbGVtZW50aW5nIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25j
ZXB0LWh0dHAtcmVkaXJlY3QtZmV0Y2ggc3RlcCA4ICYgOS4KICAgICBpZiAobV9yZXNvdXJjZS0+
aXNDcm9zc09yaWdpbigpICYmICFpc1ZhbGlkQ3Jvc3NPcmlnaW5SZWRpcmVjdGlvblVSTChuZXdS
ZXF1ZXN0LnVybCgpKSkgewpkaWZmIC1wcnUgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5o
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5oCTIwMTctMTEt
MTggMjE6Mzc6NTcuNTA5NDU3MjY3ICswMTAwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5oCTIwMTctMTEtMjAgMTk6NTE6MjUuMjYzMDg5NjU2ICswMTAwCkBA
IC00OCw2ICs0OCw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2FuY2VsSWZOb3RGaW5pc2hpbmco
KTsKICAgICBib29sIGlzU3VicmVzb3VyY2VMb2FkZXIoKSBvdmVycmlkZTsKKyAgICBib29sIGlz
Q09SU0Rpc2FibGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgp
IGNvbnN0OworICAgIGJvb2wgaXNDT1JTUmVkaXJlY3Rpb25EaXNhYmxlZCgpIGNvbnN0OwogICAg
IENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSgpOwogCiAgICAgU2VjdXJpdHlPcmlnaW4q
IG9yaWdpbigpIHsgcmV0dXJuIG1fb3JpZ2luLmdldCgpOyB9CmRpZmYgLXBydSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJMjAxNy0xMS0xMiAyMDozNDoxNC4xNzA3NTg4NTYgKzAx
MDAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgJMjAxNy0xMS0yMCAxOTo1MToyNS4y
NjMwODk2NTYgKzAxMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJSVENDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKICNpbmNsdWRlICJVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmgiCkBAIC01
ODgsNiArNTg5LDEwIEBAIHB1YmxpYzoKICAgICBib29sIGlzTG93UG93ZXJNb2RlRW5hYmxlZCgp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TG93UG93ZXJNb2RlRW5hYmxlZE92
ZXJyaWRlRm9yVGVzdGluZyhzdGQ6Om9wdGlvbmFsPGJvb2w+KTsKIAorICAgIGJvb2wgaXNDT1JT
RGlzYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLT5kaXNhYmxlQ09SUygpOyB9Cisg
ICAgYm9vbCBpc0NPUlNTYW1lRG9tYWluRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2V0dGlu
Z3MtPmVuYWJsZUNPUlNTYW1lRG9tYWluKCk7IH0KKyAgICBib29sIGlzQ09SU1JlZGlyZWN0aW9u
RGlzYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLT5kaXNhYmxlQ09SU1JlZGlyZWN0
aW9uKCk7IH0KKwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgTmF2aWdhdGlvbiB7CiAgICAgICAgIFN0
cmluZyBkb21haW47CmRpZmYgLXBydSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFt
bCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwJMjAxNy0xMS0xMiAyMDozNDoxNC4xODk3NTg4NTUgKzAxMDAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCTIwMTctMTEtMjAgMTk6NTE6
MjUuMjYzMDg5NjU2ICswMTAwCkBAIC05OSw2ICs5OSwxMiBAQCBhbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMczoKICAgaW5pdGlhbDogdHJ1ZQogYWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVV
UkxzOgogICBpbml0aWFsOiB0cnVlCitkaXNhYmxlQ09SUzoKKyAgaW5pdGlhbDogZmFsc2UKK2Vu
YWJsZUNPUlNTYW1lRG9tYWluOgorICBpbml0aWFsOiB0cnVlCitkaXNhYmxlQ09SU1JlZGlyZWN0
aW9uOgorICBpbml0aWFsOiBmYWxzZQogbmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVp
cms6CiAgIGluaXRpYWw6IHRydWUKIGphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2Fs
bHk6CmRpZmYgLXBydSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJMjAxNy0xMS0yMCAxOToyODo0
OS4yOTMwODA5NDEgKzAxMDAKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJMjAxNy0xMS0y
MCAxOTo1NToxNC4yODUwOTExMjggKzAxMDAKQEAgLTEsMyArMSwzMCBAQAorMjAxNy0xMS0yMCAg
R3VpZG8gVHJlbnRhbGFuY2lhICA8Z3VpZG9AdHJlbnRhbGFuY2lhLmNvbT4KKworICAgICAgICBB
ZGQgUHJlZmVyZW5jZXMgZm9yIG5ldyBDT1JTIHNldHRpbmdzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5ODg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlMpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dl
dERpc2FibGVDT1JTKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRFbmFibGVDT1JTU2FtZURv
bWFpbik6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0RW5hYmxlQ09SU1NhbWVEb21haW4pOgor
ICAgICAgICAoV0tQcmVmZXJlbmNlc1NldERpc2FibGVDT1JTUmVkaXJlY3Rpb24pOgorICAgICAg
ICAoV0tQcmVmZXJlbmNlc0dldERpc2FibGVDT1JTUmVkaXJlY3Rpb24pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJLaXRTZXR0
aW5nc1NldFByb3BlcnR5KToKKyAgICAgICAgKHdlYktpdFNldHRpbmdzR2V0UHJvcGVydHkpOgor
ICAgICAgICAod2Via2l0X3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3Nl
dHRpbmdzX2dldF9kaXNhYmxlX2NvcnMpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX3NldF9k
aXNhYmxlX2NvcnMpOgorICAgICAgICAod2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY29yc19z
YW1lX2RvbWFpbik6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9jb3JzX3Nh
bWVfZG9tYWluKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3Jl
ZGlyZWN0aW9uKToKKyAgICAgICAgKHdlYmtpdF9zZXR0aW5nc19zZXRfZGlzYWJsZV9jb3JzX3Jl
ZGlyZWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZXR0aW5ncy5o
OgorCiAyMDE3LTExLTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbV1BFXSB3ZWJraXRfd2ViX3ZpZXdfbmV3KCkgc2hvdWxkIGVuYWJsZSBz
cGVjaWZ5aW5nIHdwZV92aWV3X2JhY2tlbmQgb2JqZWN0CmRpZmYgLXBydSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwJMjAxNy0xMS0xOCAyMTozNzo1Ny42MDg0NTcyNjcgKzAxMDAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAkyMDE3LTExLTIwIDE5OjUxOjI1LjI4MTA4
OTY1NiArMDEwMApAQCAtMTc5LDYgKzE3OSwxOCBAQCBBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVS
THM6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogCitEaXNhYmxlQ09SUzoK
KyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisKK0VuYWJsZUNPUlNTYW1lRG9t
YWluOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorCitEaXNhYmxlQ09SU1Jl
ZGlyZWN0aW9uOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKwogQVZGb3Vu
ZGF0aW9uRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKZGlmZiAt
cHJ1IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkyMDE3LTExLTE4IDIx
OjM3OjU3LjYxMjQ1NzI2NyArMDEwMAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAkyMDE3LTExLTIwIDE5OjUxOjI1LjI4MjA4OTY1NyArMDEwMApA
QCAtNzQ1LDYgKzc0NSwzNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRGaWxlQWNjZXNzRnJvbUZp
bGVVCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmFsbG93RmlsZUFjY2Vzc0Zy
b21GaWxlVVJMcygpOwogfQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXREaXNhYmxlQ09SUyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQpCit7CisgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0RGlzYWJsZUNPUlMoYWxsb3dlZCk7Cit9CisKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldERpc2FibGVDT1JTKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmRpc2FibGVDT1JTKCk7Cit9
CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEVuYWJsZUNPUlNTYW1lRG9tYWluKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgYWxsb3dlZCkKK3sKKyAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRFbmFibGVDT1JTU2FtZURvbWFpbihhbGxvd2VkKTsKK30KKworYm9vbCBX
S1ByZWZlcmVuY2VzR2V0RW5hYmxlQ09SU1NhbWVEb21haW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+ZW5hYmxl
Q09SU1NhbWVEb21haW4oKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0RGlzYWJsZUNPUlNS
ZWRpcmVjdGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGFsbG93ZWQp
Cit7CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RGlzYWJsZUNPUlNSZWRpcmVjdGlv
bihhbGxvd2VkKTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0RGlzYWJsZUNPUlNSZWRpcmVj
dGlvbihXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5kaXNhYmxlQ09SU1JlZGlyZWN0aW9uKCk7Cit9CisKIHZvaWQg
V0tQcmVmZXJlbmNlc1NldE5lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgbmVlZHNRdWlyaykKIHsKICAgICB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXROZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWly
ayhuZWVkc1F1aXJrKTsKZGlmZiAtcHJ1IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0U2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0U2V0dGluZ3MuY3BwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L1dlYktpdFNldHRpbmdzLmNwcAkyMDE3LTExLTE4IDIxOjM3OjU3LjYzNDQ1NzI2NyArMDEwMAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAJ
MjAxNy0xMS0yMCAxOTo1MToyNS4yODMwODk2NTcgKzAxMDAKQEAgLTE1Nyw2ICsxNTcsOSBAQCBl
bnVtIHsKICNpZiBQTEFURk9STShHVEspCiAgICAgUFJPUF9IQVJEV0FSRV9BQ0NFTEVSQVRJT05f
UE9MSUNZLAogI2VuZGlmCisgICAgUFJPUF9ESVNBQkxFX0NPUlMsCisgICAgUFJPUF9FTkFCTEVf
Q09SU19TQU1FX0RPTUFJTiwKKyAgICBQUk9QX0RJU0FCTEVfQ09SU19SRURJUkVDVElPTiwKIH07
CiAKIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzRGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCkBA
IC0zNTksNiArMzYyLDE1IEBAIHN0YXRpYyB2b2lkIHdlYktpdFNldHRpbmdzU2V0UHJvcGVydHko
R08KICAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9oYXJkd2FyZV9hY2NlbGVyYXRpb25fcG9s
aWN5KHNldHRpbmdzLCBzdGF0aWNfY2FzdDxXZWJLaXRIYXJkd2FyZUFjY2VsZXJhdGlvblBvbGlj
eT4oZ192YWx1ZV9nZXRfZW51bSh2YWx1ZSkpKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyAg
ICBjYXNlIFBST1BfRElTQUJMRV9DT1JTOgorICAgICAgICB3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rp
c2FibGVfY29ycyhzZXR0aW5ncywgZ192YWx1ZV9nZXRfYm9vbGVhbih2YWx1ZSkpOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU46CisgICAgICAg
IHdlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oc2V0dGluZ3MsIGdf
dmFsdWVfZ2V0X2Jvb2xlYW4odmFsdWUpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQUk9Q
X0RJU0FCTEVfQ09SU19SRURJUkVDVElPTjoKKyAgICAgICAgd2Via2l0X3NldHRpbmdzX3NldF9k
aXNhYmxlX2NvcnNfcmVkaXJlY3Rpb24oc2V0dGluZ3MsIGdfdmFsdWVfZ2V0X2Jvb2xlYW4odmFs
dWUpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgR19PQkpFQ1RfV0FS
Tl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwogICAgICAg
ICBicmVhazsKQEAgLTUyNyw2ICs1MzksMTUgQEAgc3RhdGljIHZvaWQgd2ViS2l0U2V0dGluZ3NH
ZXRQcm9wZXJ0eShHTwogICAgICAgICBnX3ZhbHVlX3NldF9lbnVtKHZhbHVlLCB3ZWJraXRfc2V0
dGluZ3NfZ2V0X2hhcmR3YXJlX2FjY2VsZXJhdGlvbl9wb2xpY3koc2V0dGluZ3MpKTsKICAgICAg
ICAgYnJlYWs7CiAjZW5kaWYKKyAgICBjYXNlIFBST1BfRElTQUJMRV9DT1JTOgorICAgICAgICBn
X3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfc2V0dGluZ3NfZ2V0X2Rpc2FibGVfY29y
cyhzZXR0aW5ncykpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBST1BfRU5BQkxFX0NPUlNf
U0FNRV9ET01BSU46CisgICAgICAgIGdfdmFsdWVfc2V0X2Jvb2xlYW4odmFsdWUsIHdlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oc2V0dGluZ3MpKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBQUk9QX0RJU0FCTEVfQ09SU19SRURJUkVDVElPTjoKKyAgICAgICAg
Z192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2Nv
cnNfcmVkaXJlY3Rpb24oc2V0dGluZ3MpKTsKKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElk
LCBwYXJhbVNwZWMpOwogICAgICAgICBicmVhazsKQEAgLTEzNDksNiArMTM3MCw1MSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdChXCiAgICAgICAgICAgICBXRUJLSVRf
SEFSRFdBUkVfQUNDRUxFUkFUSU9OX1BPTElDWV9PTl9ERU1BTkQsCiAgICAgICAgICAgICByZWFk
V3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiAjZW5kaWYgLy8gUExBVEZPVE0oR1RLKQorCisg
ICAgLyoqCisgICAgICogV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzOgorICAgICAqCisgICAg
ICogV2hldGhlciBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgaXMgZGlzYWJs
ZWQuCisgICAgICoKKyAgICAgKiBTaW5jZTogMi4xOS4zCisgICAgICovCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfRElTQUJM
RV9DT1JTLAorICAgICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigiZGlzYWJsZS1jb3JzIiwKKyAg
ICAgICAgICAgIF8oIkRpc2FibGUgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMp
IiksCisgICAgICAgICAgICBfKCJXaGV0aGVyIENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5n
IChDT1JTKSBpcyBkaXNhYmxlZC4iKSwKKyAgICAgICAgICAgIEZBTFNFLAorICAgICAgICAgICAg
cmVhZFdyaXRlQ29uc3RydWN0UGFyYW1GbGFncykpOworCisgICAgLyoqCisgICAgICogV2ViS2l0
U2V0dGluZ3M6ZW5hYmxlLWNvcnMtc2FtZS1kb21haW46CisgICAgICoKKyAgICAgKiBXaGV0aGVy
IENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JTKSB3aXRoaW4gdGhlIHNhbWUgZG9t
YWluIGlzIGVuYWJsZWQuCisgICAgICoKKyAgICAgKiBTaW5jZTogMi4xOS4zCisgICAgICovCisg
ICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCisgICAgICAg
IFBST1BfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU4sCisgICAgICAgIGdfcGFyYW1fc3BlY19ib29s
ZWFuKCJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIsCisgICAgICAgICAgICBfKCJFbmFibGUgQ3Jv
c3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcgKENPUlMpIHdpdGhpbiB0aGUgc2FtZSBkb21haW4i
KSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJpbmcg
KENPUlMpIHdpdGhpbiB0aGUgc2FtZSBkb21haW4gaXMgZW5hYmxlZC4iKSwKKyAgICAgICAgICAg
IFRSVUUsCisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CisKKyAg
ICAvKioKKyAgICAgKiBXZWJLaXRTZXR0aW5nczpkaXNhYmxlLWNvcnMtcmVkaXJlY3Rpb246Cisg
ICAgICoKKyAgICAgKiBXaGV0aGVyIENyb3NzIE9yaWdpbiBSZXNvdXJjZSBTaGFyaW5nIChDT1JT
KSBSZWRpcmVjdGlvbiBpcyBkaXNhYmxlZC4KKyAgICAgKgorICAgICAqIFNpbmNlOiAyLjE5LjMK
KyAgICAgKi8KKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdPYmplY3RDbGFz
cywKKyAgICAgICAgUFJPUF9ESVNBQkxFX0NPUlNfUkVESVJFQ1RJT04sCisgICAgICAgIGdfcGFy
YW1fc3BlY19ib29sZWFuKCJkaXNhYmxlLWNvcnMtcmVkaXJlY3Rpb24iLAorICAgICAgICAgICAg
XygiRGlzYWJsZSBDcm9zcyBPcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgUmVkaXJlY3Rp
b24iKSwKKyAgICAgICAgICAgIF8oIldoZXRoZXIgQ3Jvc3MgT3JpZ2luIFJlc291cmNlIFNoYXJp
bmcgKENPUlMpIFJlZGlyZWN0aW9uIGlzIGRpc2FibGVkLiIpLAorICAgICAgICAgICAgRkFMU0Us
CisgICAgICAgICAgICByZWFkV3JpdGVDb25zdHJ1Y3RQYXJhbUZsYWdzKSk7CiB9CiAKIFdlYlBy
ZWZlcmVuY2VzKiB3ZWJraXRTZXR0aW5nc0dldFByZWZlcmVuY2VzKFdlYktpdFNldHRpbmdzKiBz
ZXR0aW5ncykKQEAgLTMzMzUsMyArMzQwMSwxMTcgQEAgZ3VpbnQzMiB3ZWJraXRfc2V0dGluZ3Nf
Zm9udF9zaXplX3RvX3BpeAogICAgIHJldHVybiBzdGQ6OnJvdW5kKHBvaW50cyAqIFdlYkNvcmU6
OnNjcmVlbkRQSSgpIC8gNzIpOwogfQogI2VuZGlmIC8vIFBMQVRGT1JNKEdUSykKKworLyoqCisg
KiB3ZWJraXRfc2V0dGluZ3NfZ2V0X2Rpc2FibGVfY29yczoKKyAqIEBzZXR0aW5nczogYSAjV2Vi
S2l0U2V0dGluZ3MKKyAqCisgKiBHZXQgdGhlICNXZWJLaXRTZXR0aW5nczpkaXNhYmxlLWNvcnMg
cHJvcGVydHkuCisgKgorICogUmV0dXJuczogJVRSVUUgSWYgQ09SUyBpcyBkaXNhYmxlZCBvciAl
RkFMU0Ugb3RoZXJ3aXNlLgorICoKKyAqIFNpbmNlOiAyLjE5LjMKKyAqLworZ2Jvb2xlYW4gd2Vi
a2l0X3NldHRpbmdzX2dldF9kaXNhYmxlX2NvcnMoV2ViS2l0U2V0dGluZ3MqIHNldHRpbmdzKQor
eworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRUSU5HUyhzZXR0aW5ncyks
IEZBTFNFKTsKKworICAgIHJldHVybiBzZXR0aW5ncy0+cHJpdi0+cHJlZmVyZW5jZXMtPmRpc2Fi
bGVDT1JTKCk7Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnM6
CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUgdG8g
YmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzIHByb3Bl
cnR5LgorICoKKyAqIFNpbmNlOiAyLjE5LjMKKyAqLwordm9pZCB3ZWJraXRfc2V0dGluZ3Nfc2V0
X2Rpc2FibGVfY29ycyhXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQp
Cit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsK
KworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAg
IGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZGlzYWJsZUNPUlMoKSA9PSBhbGxvd2VkKQorICAgICAg
ICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0RGlzYWJsZUNPUlMoYWxsb3dl
ZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRpbmdzKSwgImRpc2FibGUtY29y
cyIpOworfQorCisvKioKKyAqIHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9k
b21haW46CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAj
V2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWNvcnMtc2FtZS1kb21haW4gcHJvcGVydHkuCisgKgorICog
UmV0dXJuczogJVRSVUUgSWYgQ09SUyB3aXRoaW4gdGhlIHNhbWUgZG9tYWluIGlzIGVuYWJsZWQg
b3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTogMi4xOS4zCisgKi8KK2dib29sZWFu
IHdlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4oV2ViS2l0U2V0dGlu
Z3MqIHNldHRpbmdzKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19TRVRU
SU5HUyhzZXR0aW5ncyksIEZBTFNFKTsKKworICAgIHJldHVybiBzZXR0aW5ncy0+cHJpdi0+cHJl
ZmVyZW5jZXMtPmVuYWJsZUNPUlNTYW1lRG9tYWluKCk7Cit9CisKKy8qKgorICogd2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfY29yc19zYW1lX2RvbWFpbjoKKyAqIEBzZXR0aW5nczogYSAjV2Vi
S2l0U2V0dGluZ3MKKyAqIEBhbGxvd2VkOiBWYWx1ZSB0byBiZSBzZXQKKyAqCisgKiBTZXQgdGhl
ICNXZWJLaXRTZXR0aW5nczplbmFibGUtY29ycy1zYW1lLWRvbWFpbiBwcm9wZXJ0eS4KKyAqCisg
KiBTaW5jZTogMi4xOS4zCisgKi8KK3ZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY29y
c19zYW1lX2RvbWFpbihXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQp
Cit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsK
KworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSogcHJpdiA9IHNldHRpbmdzLT5wcml2OworICAg
IGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZW5hYmxlQ09SU1NhbWVEb21haW4oKSA9PSBhbGxvd2Vk
KQorICAgICAgICByZXR1cm47CisKKyAgICBwcml2LT5wcmVmZXJlbmNlcy0+c2V0RW5hYmxlQ09S
U1NhbWVEb21haW4oYWxsb3dlZCk7CisgICAgZ19vYmplY3Rfbm90aWZ5KEdfT0JKRUNUKHNldHRp
bmdzKSwgImVuYWJsZS1jb3JzLXNhbWUtZG9tYWluIik7Cit9CisKKy8qKgorICogd2Via2l0X3Nl
dHRpbmdzX2dldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rpb246CisgKiBAc2V0dGluZ3M6IGEgI1dl
YktpdFNldHRpbmdzCisgKgorICogR2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3Jz
LXJlZGlyZWN0aW9uIHByb3BlcnR5LgorICoKKyAqIFJldHVybnM6ICVUUlVFIElmIENPUlMgcmVk
aXJlY3Rpb24gaXMgZGlzYWJsZWQgb3IgJUZBTFNFIG90aGVyd2lzZS4KKyAqCisgKiBTaW5jZTog
Mi4xOS4zCisgKi8KK2dib29sZWFuIHdlYmtpdF9zZXR0aW5nc19nZXRfZGlzYWJsZV9jb3JzX3Jl
ZGlyZWN0aW9uKFdlYktpdFNldHRpbmdzKiBzZXR0aW5ncykKK3sKKyAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpLCBGQUxTRSk7CisKKyAgICByZXR1
cm4gc2V0dGluZ3MtPnByaXYtPnByZWZlcmVuY2VzLT5kaXNhYmxlQ09SU1JlZGlyZWN0aW9uKCk7
Cit9CisKKy8qKgorICogd2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxlX2NvcnNfcmVkaXJlY3Rp
b246CisgKiBAc2V0dGluZ3M6IGEgI1dlYktpdFNldHRpbmdzCisgKiBAYWxsb3dlZDogVmFsdWUg
dG8gYmUgc2V0CisgKgorICogU2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZGlzYWJsZS1jb3JzLXJl
ZGlyZWN0aW9uIHByb3BlcnR5LgorICoKKyAqIFNpbmNlOiAyLjE5LjMKKyAqLwordm9pZCB3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2Rpc2FibGVfY29yc19yZWRpcmVjdGlvbihXZWJLaXRTZXR0aW5ncyog
c2V0dGluZ3MsIGdib29sZWFuIGFsbG93ZWQpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChXRUJL
SVRfSVNfU0VUVElOR1Moc2V0dGluZ3MpKTsKKworICAgIFdlYktpdFNldHRpbmdzUHJpdmF0ZSog
cHJpdiA9IHNldHRpbmdzLT5wcml2OworICAgIGlmIChwcml2LT5wcmVmZXJlbmNlcy0+ZGlzYWJs
ZUNPUlNSZWRpcmVjdGlvbigpID09IGFsbG93ZWQpCisgICAgICAgIHJldHVybjsKKworICAgIHBy
aXYtPnByZWZlcmVuY2VzLT5zZXREaXNhYmxlQ09SU1JlZGlyZWN0aW9uKGFsbG93ZWQpOworICAg
IGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChzZXR0aW5ncyksICJkaXNhYmxlLWNvcnMtcmVkaXJl
Y3Rpb24iKTsKK30KZGlmZiAtcHJ1IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRTZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRT
ZXR0aW5ncy5oCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2V0
dGluZ3MuaAkyMDE3LTExLTE4IDIxOjM3OjU3LjYzNTQ1NzI2NyArMDEwMAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNldHRpbmdzLmgJMjAxNy0xMS0yMCAxOTo1
MToyNS4yODQwODk2NTcgKzAxMDAKQEAgLTQ1Nyw2ICs0NTcsMjcgQEAgd2Via2l0X3NldHRpbmdz
X2ZvbnRfc2l6ZV90b19wb2ludHMKIFdFQktJVF9BUEkgZ3VpbnQzMgogd2Via2l0X3NldHRpbmdz
X2ZvbnRfc2l6ZV90b19waXhlbHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1aW50MzIg
cG9pbnRzKTsKIAorV0VCS0lUX0FQSSBnYm9vbGVhbgord2Via2l0X3NldHRpbmdzX2dldF9kaXNh
YmxlX2NvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpz
ZXR0aW5ncyk7CisKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3NldHRpbmdzX3NldF9kaXNhYmxl
X2NvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFNldHRpbmdzICpzZXR0
aW5ncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgYWxsb3dlZCk7CisKK1dFQktJVF9BUEkgZ2Jv
b2xlYW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4gICAgICAg
ICAgICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MpOworCitXRUJLSVRfQVBJIHZv
aWQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NvcnNfc2FtZV9kb21haW4gICAgICAgICAg
ICAgICAgICAgIChXZWJLaXRTZXR0aW5ncyAqc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAg
ICAgIGFsbG93ZWQpOworCitXRUJLSVRfQVBJIGdib29sZWFuCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2Rpc2FibGVfY29yc19yZWRpcmVjdGlvbiAgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGlu
Z3MgKnNldHRpbmdzKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2Rp
c2FibGVfY29yc19yZWRpcmVjdGlvbiAgICAgICAgICAgICAgICAgICAoV2ViS2l0U2V0dGluZ3Mg
KnNldHRpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICBhbGxvd2VkKTsKKwogR19FTkRfREVD
TFMKIAogI2VuZGlmIC8qIFdlYktpdFNldHRpbmdzX2ggKi8K
</data>
<flag name="review"
          id="346647"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327508</attachid>
            <date>2017-11-23 10:10:02 -0800</date>
            <delta_ts>2017-11-23 10:10:02 -0800</delta_ts>
            <desc>Companion patch for the epiphany browser (stable release 3.26.x)</desc>
            <filename>epiphany-3.26.2-disable-CORS-websettings-support.patch</filename>
            <type>text/plain</type>
            <size>8998</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">ZGlmZiAtcHJ1IC14IGJ1aWxkIGEvZGF0YS9vcmcuZ25vbWUuZXBpcGhhbnkuZ3NjaGVtYS54bWwg
Yi9kYXRhL29yZy5nbm9tZS5lcGlwaGFueS5nc2NoZW1hLnhtbAotLS0gYS9kYXRhL29yZy5nbm9t
ZS5lcGlwaGFueS5nc2NoZW1hLnhtbAkyMDE3LTEwLTI3IDAzOjAwOjEyLjAwMDAwMDAwMCArMDIw
MAorKysgYi9kYXRhL29yZy5nbm9tZS5lcGlwaGFueS5nc2NoZW1hLnhtbAkyMDE3LTExLTEyIDAy
OjMwOjE5LjUwNzQzOTcxOCArMDEwMApAQCAtMTgyLDYgKzE4MiwxOCBAQAogCQkJPGRlZmF1bHQ+
dHJ1ZTwvZGVmYXVsdD4KIAkJCTxzdW1tYXJ5PkVuYWJsZSBQbHVnaW5zPC9zdW1tYXJ5PgogCQk8
L2tleT4KKyAgICAgICAgICAgICAgICA8a2V5IHR5cGU9ImIiIG5hbWU9ImRpc2FibGUtY29ycyI+
CisgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmYXVsdD5mYWxzZTwvZGVmYXVsdD4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PkRpc2FibGUgQ09SUzwvc3VtbWFyeT4KKyAgICAg
ICAgICAgICAgICA8L2tleT4KKyAgICAgICAgICAgICAgICA8a2V5IHR5cGU9ImIiIG5hbWU9ImVu
YWJsZS1jb3JzLXNhbWUtZG9tYWluIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZhdWx0
PnRydWU8L2RlZmF1bHQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5FbmFibGUg
Q09SUyB3aXRoaW4gdGhlIHNhbWUgZG9tYWluPC9zdW1tYXJ5PgorICAgICAgICAgICAgICAgIDwv
a2V5PgorICAgICAgICAgICAgICAgIDxrZXkgdHlwZT0iYiIgbmFtZT0iZGlzYWJsZS1jb3JzLXJl
ZGlyZWN0aW9uIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZhdWx0PmZhbHNlPC9kZWZh
dWx0PgorICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+RGlzYWJsZSBDT1JTIFJlZGly
ZWN0aW9uPC9zdW1tYXJ5PgorICAgICAgICAgICAgICAgIDwva2V5PgogCQk8a2V5IHR5cGU9ImIi
IG5hbWU9ImVuYWJsZS13ZWJnbCI+CiAJCQk8ZGVmYXVsdD50cnVlPC9kZWZhdWx0PgogCQkJPHN1
bW1hcnk+RW5hYmxlIFdlYkdMPC9zdW1tYXJ5PgpkaWZmIC1wcnUgLXggYnVpbGQgYS9lbWJlZC9l
cGh5LWVtYmVkLXByZWZzLmMgYi9lbWJlZC9lcGh5LWVtYmVkLXByZWZzLmMKLS0tIGEvZW1iZWQv
ZXBoeS1lbWJlZC1wcmVmcy5jCTIwMTctMTAtMjcgMDM6MDA6MTIuMDAwMDAwMDAwICswMjAwCisr
KyBiL2VtYmVkL2VwaHktZW1iZWQtcHJlZnMuYwkyMDE3LTExLTEyIDAyOjEwOjM0LjIwODQ0NDU2
NCArMDEwMApAQCAtNTE5LDYgKzUxOSwxOCBAQCBlcGh5X2VtYmVkX3ByZWZzX2luaXQgKGdwb2lu
dGVyIHVzZXJfZGF0CiAgICAgICAgICAgICAgICAgICAgd2Via2l0X3NldHRpbmdzLCAiZW5hYmxl
LWNhcmV0LWJyb3dzaW5nIiwKICAgICAgICAgICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfR0VU
KTsKICAgZ19zZXR0aW5nc19iaW5kIChFUEhZX1NFVFRJTkdTX1dFQiwKKyAgICAgICAgICAgICAg
ICAgICBFUEhZX1BSRUZTX1dFQl9ESVNBQkxFX0NPUlMsCisgICAgICAgICAgICAgICAgICAgd2Vi
a2l0X3NldHRpbmdzLCAiZGlzYWJsZS1jb3JzIiwKKyAgICAgICAgICAgICAgICAgICBHX1NFVFRJ
TkdTX0JJTkRfR0VUKTsKKyAgZ19zZXR0aW5nc19iaW5kIChFUEhZX1NFVFRJTkdTX1dFQiwKKyAg
ICAgICAgICAgICAgICAgICBFUEhZX1BSRUZTX1dFQl9FTkFCTEVfQ09SU19TQU1FX0RPTUFJTiwK
KyAgICAgICAgICAgICAgICAgICB3ZWJraXRfc2V0dGluZ3MsICJlbmFibGUtY29ycy1zYW1lLWRv
bWFpbiIsCisgICAgICAgICAgICAgICAgICAgR19TRVRUSU5HU19CSU5EX0dFVCk7CisgIGdfc2V0
dGluZ3NfYmluZCAoRVBIWV9TRVRUSU5HU19XRUIsCisgICAgICAgICAgICAgICAgICAgRVBIWV9Q
UkVGU19XRUJfRElTQUJMRV9DT1JTX1JFRElSRUNUSU9OLAorICAgICAgICAgICAgICAgICAgIHdl
YmtpdF9zZXR0aW5ncywgImRpc2FibGUtY29ycy1yZWRpcmVjdGlvbiIsCisgICAgICAgICAgICAg
ICAgICAgR19TRVRUSU5HU19CSU5EX0dFVCk7CisgIGdfc2V0dGluZ3NfYmluZCAoRVBIWV9TRVRU
SU5HU19XRUIsCiAgICAgICAgICAgICAgICAgICAgRVBIWV9QUkVGU19XRUJfRU5BQkxFX1BMVUdJ
TlMsCiAgICAgICAgICAgICAgICAgICAgd2Via2l0X3NldHRpbmdzLCAiZW5hYmxlLXBsdWdpbnMi
LAogICAgICAgICAgICAgICAgICAgIEdfU0VUVElOR1NfQklORF9HRVQpOwpkaWZmIC1wcnUgLXgg
YnVpbGQgYS9saWIvZXBoeS1wcmVmcy5oIGIvbGliL2VwaHktcHJlZnMuaAotLS0gYS9saWIvZXBo
eS1wcmVmcy5oCTIwMTctMTAtMjcgMDM6MDA6MTIuMDAwMDAwMDAwICswMjAwCisrKyBiL2xpYi9l
cGh5LXByZWZzLmgJMjAxNy0xMS0xMiAwMTo0NDoxMS4xNjQ0NTEwMzYgKzAxMDAKQEAgLTk3LDYg
Kzk3LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBlcGh5X3ByZWZzX3N0YQogI2RlZmlu
ZSBFUEhZX1BSRUZTX1dFQl9ERUZBVUxUX0VOQ09ESU5HICAgICAgICAgICAgImRlZmF1bHQtZW5j
b2RpbmciCiAjZGVmaW5lIEVQSFlfUFJFRlNfV0VCX0RPX05PVF9UUkFDSyAgICAgICAgICAgICAg
ICAiZG8tbm90LXRyYWNrIgogI2RlZmluZSBFUEhZX1BSRUZTX1dFQl9FTkFCTEVfQURCTE9DSyAg
ICAgICAgICAgICAgImVuYWJsZS1hZGJsb2NrIgorI2RlZmluZSBFUEhZX1BSRUZTX1dFQl9ESVNB
QkxFX0NPUlMgICAgICAgICAgICAgICAgImRpc2FibGUtY29ycyIKKyNkZWZpbmUgRVBIWV9QUkVG
U19XRUJfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU4gICAgICJlbmFibGUtY29ycy1zYW1lLWRvbWFp
biIKKyNkZWZpbmUgRVBIWV9QUkVGU19XRUJfRElTQUJMRV9DT1JTX1JFRElSRUNUSU9OICAgICJk
aXNhYmxlLWNvcnMtcmVkaXJlY3Rpb24iCiAjZGVmaW5lIEVQSFlfUFJFRlNfV0VCX1JFTUVNQkVS
X1BBU1NXT1JEUyAgICAgICAgICAicmVtZW1iZXItcGFzc3dvcmRzIgogI2RlZmluZSBFUEhZX1BS
RUZTX1dFQl9FTkFCTEVfU0lURV9TUEVDSUZJQ19RVUlSS1MgImVuYWJsZS1zaXRlLXNwZWNpZmlj
LXF1aXJrcyIKIApAQCAtMTE5LDYgKzEyMiw5IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg
ZXBoeV9wcmVmc193ZWIKICAgRVBIWV9QUkVGU19XRUJfREVGQVVMVF9FTkNPRElORywKICAgRVBI
WV9QUkVGU19XRUJfRE9fTk9UX1RSQUNLLAogICBFUEhZX1BSRUZTX1dFQl9FTkFCTEVfQURCTE9D
SywKKyAgRVBIWV9QUkVGU19XRUJfRElTQUJMRV9DT1JTLAorICBFUEhZX1BSRUZTX1dFQl9FTkFC
TEVfQ09SU19TQU1FX0RPTUFJTiwKKyAgRVBIWV9QUkVGU19XRUJfRElTQUJMRV9DT1JTX1JFRElS
RUNUSU9OLAogICBFUEhZX1BSRUZTX1dFQl9SRU1FTUJFUl9QQVNTV09SRFMsCiAgIEVQSFlfUFJF
RlNfV0VCX0VOQUJMRV9TSVRFX1NQRUNJRklDX1FVSVJLUwogfTsKZGlmZiAtcHJ1IC14IGJ1aWxk
IGEvc3JjL3ByZWZzLWRpYWxvZy5jIGIvc3JjL3ByZWZzLWRpYWxvZy5jCi0tLSBhL3NyYy9wcmVm
cy1kaWFsb2cuYwkyMDE3LTEwLTI3IDAzOjAwOjEyLjAwMDAwMDAwMCArMDIwMAorKysgYi9zcmMv
cHJlZnMtZGlhbG9nLmMJMjAxNy0xMS0xMiAwMjozNToyOS45MzE0Mzg0NDkgKzAxMDAKQEAgLTgz
LDYgKzgzLDkgQEAgc3RydWN0IF9QcmVmc0RpYWxvZyB7CiAgIEd0a1dpZGdldCAqcG9wdXBzX2Fs
bG93X2NoZWNrYnV0dG9uOwogICBHdGtXaWRnZXQgKmFkYmxvY2tfYWxsb3dfY2hlY2tidXR0b247
CiAgIEd0a1dpZGdldCAqZW5hYmxlX3BsdWdpbnNfY2hlY2tidXR0b247CisgIEd0a1dpZGdldCAq
Y29yc19kaXNhYmxlX2NoZWNrYnV0dG9uOworICBHdGtXaWRnZXQgKmNvcnNfc2FtZV9kb21haW5f
ZW5hYmxlX2NoZWNrYnV0dG9uOworICBHdGtXaWRnZXQgKmNvcnNfcmVkaXJlY3Rpb25fZGlzYWJs
ZV9jaGVja2J1dHRvbjsKIAogICAvKiBmb250cyAqLwogICBHdGtXaWRnZXQgKnVzZV9nbm9tZV9m
b250c19jaGVja2J1dHRvbjsKQEAgLTczNCw2ICs3MzcsOSBAQCBwcmVmc19kaWFsb2dfY2xhc3Nf
aW5pdCAoUHJlZnNEaWFsb2dDbGFzCiAgIGd0a193aWRnZXRfY2xhc3NfYmluZF90ZW1wbGF0ZV9j
aGlsZCAod2lkZ2V0X2NsYXNzLCBQcmVmc0RpYWxvZywgcG9wdXBzX2FsbG93X2NoZWNrYnV0dG9u
KTsKICAgZ3RrX3dpZGdldF9jbGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3aWRnZXRfY2xhc3Ms
IFByZWZzRGlhbG9nLCBhZGJsb2NrX2FsbG93X2NoZWNrYnV0dG9uKTsKICAgZ3RrX3dpZGdldF9j
bGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3aWRnZXRfY2xhc3MsIFByZWZzRGlhbG9nLCBlbmFi
bGVfcGx1Z2luc19jaGVja2J1dHRvbik7CisgIGd0a193aWRnZXRfY2xhc3NfYmluZF90ZW1wbGF0
ZV9jaGlsZCAod2lkZ2V0X2NsYXNzLCBQcmVmc0RpYWxvZywgY29yc19kaXNhYmxlX2NoZWNrYnV0
dG9uKTsKKyAgZ3RrX3dpZGdldF9jbGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3aWRnZXRfY2xh
c3MsIFByZWZzRGlhbG9nLCBjb3JzX3NhbWVfZG9tYWluX2VuYWJsZV9jaGVja2J1dHRvbik7Cisg
IGd0a193aWRnZXRfY2xhc3NfYmluZF90ZW1wbGF0ZV9jaGlsZCAod2lkZ2V0X2NsYXNzLCBQcmVm
c0RpYWxvZywgY29yc19yZWRpcmVjdGlvbl9kaXNhYmxlX2NoZWNrYnV0dG9uKTsKICAgZ3RrX3dp
ZGdldF9jbGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3aWRnZXRfY2xhc3MsIFByZWZzRGlhbG9n
LCBkb3dubG9hZF9idXR0b25faGJveCk7CiAgIGd0a193aWRnZXRfY2xhc3NfYmluZF90ZW1wbGF0
ZV9jaGlsZCAod2lkZ2V0X2NsYXNzLCBQcmVmc0RpYWxvZywgZG93bmxvYWRfYnV0dG9uX2xhYmVs
KTsKIApAQCAtMTcxMCw2ICsxNzE2LDM2IEBAIHNldHVwX2dlbmVyYWxfcGFnZSAoUHJlZnNEaWFs
b2cgKmRpYWxvZykKICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoZG9fbm90X3RyYWNr
X2J1dHRvbl9jbGlja2VkX2NiKSwKICAgICAgICAgICAgICAgICAgICAgZGlhbG9nKTsKIAorICBn
X3NldHRpbmdzX2JpbmQgKHdlYl9zZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICBFUEhZX1BS
RUZTX1dFQl9ESVNBQkxFX0NPUlMsCisgICAgICAgICAgICAgICAgICAgZGlhbG9nLT5jb3JzX2Rp
c2FibGVfY2hlY2tidXR0b24sCisgICAgICAgICAgICAgICAgICAgImFjdGl2ZSIsCisgICAgICAg
ICAgICAgICAgICAgR19TRVRUSU5HU19CSU5EX0RFRkFVTFQpOworICBnX3NldHRpbmdzX2JpbmQg
KHdlYl9zZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICBFUEhZX1BSRUZTX1dFQl9ESVNBQkxF
X0NPUlMsCisgICAgICAgICAgICAgICAgICAgZGlhbG9nLT5jb3JzX3NhbWVfZG9tYWluX2VuYWJs
ZV9jaGVja2J1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAic2Vuc2l0aXZlIiwKKyAgICAgICAg
ICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfREVGQVVMVCk7CisgIGdfc2V0dGluZ3NfYmluZCAo
d2ViX3NldHRpbmdzLAorICAgICAgICAgICAgICAgICAgIEVQSFlfUFJFRlNfV0VCX0RJU0FCTEVf
Q09SUywKKyAgICAgICAgICAgICAgICAgICBkaWFsb2ctPmNvcnNfcmVkaXJlY3Rpb25fZGlzYWJs
ZV9jaGVja2J1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAic2Vuc2l0aXZlIiwKKyAgICAgICAg
ICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfREVGQVVMVCk7CisKKyAgZ19zZXR0aW5nc19iaW5k
ICh3ZWJfc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgRVBIWV9QUkVGU19XRUJfRU5BQkxF
X0NPUlNfU0FNRV9ET01BSU4sCisgICAgICAgICAgICAgICAgICAgZGlhbG9nLT5jb3JzX3NhbWVf
ZG9tYWluX2VuYWJsZV9jaGVja2J1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAiYWN0aXZlIiwK
KyAgICAgICAgICAgICAgICAgICAvKiBUZWVuc3kgaGFjazogZG9uJ3Qgb3ZlcnJpZGUgdGhlIHBy
ZXZpb3VzIGJpbmRpbmcuICovCisgICAgICAgICAgICAgICAgICAgR19TRVRUSU5HU19CSU5EX05P
X1NFTlNJVElWSVRZKTsKKworICBnX3NldHRpbmdzX2JpbmQgKHdlYl9zZXR0aW5ncywKKyAgICAg
ICAgICAgICAgICAgICBFUEhZX1BSRUZTX1dFQl9ESVNBQkxFX0NPUlNfUkVESVJFQ1RJT04sCisg
ICAgICAgICAgICAgICAgICAgZGlhbG9nLT5jb3JzX3JlZGlyZWN0aW9uX2Rpc2FibGVfY2hlY2ti
dXR0b24sCisgICAgICAgICAgICAgICAgICAgImFjdGl2ZSIsCisgICAgICAgICAgICAgICAgICAg
LyogVGVlbnN5IGhhY2s6IGRvbid0IG92ZXJyaWRlIHRoZSBwcmV2aW91cyBiaW5kaW5nLiAqLwor
ICAgICAgICAgICAgICAgICAgIEdfU0VUVElOR1NfQklORF9OT19TRU5TSVRJVklUWSk7CisKICAg
aWYgKGVwaHlfaXNfcnVubmluZ19pbnNpZGVfZmxhdHBhayAoKSkKICAgICBndGtfd2lkZ2V0X2hp
ZGUgKGRpYWxvZy0+ZG93bmxvYWRfYnV0dG9uX2xhYmVsKTsKICAgZWxzZQpAQCAtMTk2Miw2ICsx
OTk4LDEwIEBAIHByZWZzX2RpYWxvZ19pbml0IChQcmVmc0RpYWxvZyAqZGlhbG9nKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICBtb2RlICE9IEVQSFlfRU1CRURfU0hFTExfTU9ERV9BUFBMSUNB
VElPTik7CiAgIGd0a193aWRnZXRfc2V0X3Zpc2libGUgKGRpYWxvZy0+ZG9fbm90X3RyYWNrX2No
ZWNrYnV0dG9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlICE9IEVQSFlfRU1CRURf
U0hFTExfTU9ERV9BUFBMSUNBVElPTik7CisgIGd0a193aWRnZXRfc2V0X3Zpc2libGUgKGRpYWxv
Zy0+Y29yc19zYW1lX2RvbWFpbl9lbmFibGVfY2hlY2tidXR0b24sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1vZGUgIT0gRVBIWV9FTUJFRF9TSEVMTF9NT0RFX0FQUExJQ0FUSU9OKTsKKyAg
Z3RrX3dpZGdldF9zZXRfdmlzaWJsZSAoZGlhbG9nLT5jb3JzX3JlZGlyZWN0aW9uX2Rpc2FibGVf
Y2hlY2tidXR0b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgIT0gRVBIWV9FTUJF
RF9TSEVMTF9NT0RFX0FQUExJQ0FUSU9OKTsKIAogICBzZXR1cF9nZW5lcmFsX3BhZ2UgKGRpYWxv
Zyk7CiAgIHNldHVwX2ZvbnRzX3BhZ2UgKGRpYWxvZyk7CmRpZmYgLXBydSAteCBidWlsZCBhL3Ny
Yy9yZXNvdXJjZXMvZ3RrL3ByZWZzLWRpYWxvZy51aSBiL3NyYy9yZXNvdXJjZXMvZ3RrL3ByZWZz
LWRpYWxvZy51aQotLS0gYS9zcmMvcmVzb3VyY2VzL2d0ay9wcmVmcy1kaWFsb2cudWkJMjAxNy0x
MC0yNyAwMzowMDoxMi4wMDAwMDAwMDAgKzAyMDAKKysrIGIvc3JjL3Jlc291cmNlcy9ndGsvcHJl
ZnMtZGlhbG9nLnVpCTIwMTctMTEtMTIgMDE6NDE6NDAuNjk0NDUxNjUxICswMTAwCkBAIC0yODEs
NiArMjgxLDI5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9
InVzZS11bmRlcmxpbmUiPlRydWU8L3Byb3BlcnR5PgogICAgICAgICAgICAgICAgICAgICAgICAg
ICA8L29iamVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisgICAgICAgICAg
ICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3Qg
Y2xhc3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY29yc19kaXNhYmxlX2NoZWNrYnV0dG9uIj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0
YWJsZT0ieWVzIj5EaXNhYmxlIENPUlM8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlLXVuZGVybGluZSI+VHJ1ZTwv
cHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgorICAgICAgICAg
ICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQ2hlY2tCdXR0b24i
IGlkPSJjb3JzX3NhbWVfZG9tYWluX2VuYWJsZV9jaGVja2J1dHRvbiI+CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+
RW5hYmxlIENPUlMgd2l0aGluIHRoZSBzYW1lIGRvbWFpbjwvcHJvcGVydHk+CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPkZhbHNlPC9wcm9wZXJ0
eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlLXVuZGVy
bGluZSI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3Bl
cnR5IG5hbWU9Im1hcmdpbi1zdGFydCI+MTI8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAg
ICAgICAgICA8L29iamVjdD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisgICAg
ICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxv
YmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY29yc19yZWRpcmVjdGlvbl9kaXNhYmxl
X2NoZWNrYnV0dG9uIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt
ZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5EaXNhYmxlIENPUlMgcmVkaXJlY3Rpb248L3By
b3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNp
YmxlIj5GYWxzZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3Bl
cnR5IG5hbWU9InVzZS11bmRlcmxpbmUiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXJnaW4tc3RhcnQiPjEyPC9wcm9wZXJ0eT4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+CisgICAgICAgICAgICAgICAgICAg
ICAgICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgogICAgICAgICAg
ICAgICAgICAgICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327509</attachid>
            <date>2017-11-23 10:10:56 -0800</date>
            <delta_ts>2017-11-23 10:10:56 -0800</delta_ts>
            <desc>Companion patch for the epiphany browser (git or development release 3.27.x)</desc>
            <filename>epiphany-3.27.2-disable-CORS-websettings-support.patch</filename>
            <type>text/plain</type>
            <size>9231</size>
            <attacher name="Guido Trentalancia">guido2022</attacher>
            
              <data encoding="base64">ZGlmZiAtcHJ1IGEvZGF0YS9vcmcuZ25vbWUuZXBpcGhhbnkuZ3NjaGVtYS54bWwgYi9kYXRhL29y
Zy5nbm9tZS5lcGlwaGFueS5nc2NoZW1hLnhtbAotLS0gYS9kYXRhL29yZy5nbm9tZS5lcGlwaGFu
eS5nc2NoZW1hLnhtbAkyMDE3LTExLTE0IDAzOjA5OjI1LjAwMDAwMDAwMCArMDEwMAorKysgYi9k
YXRhL29yZy5nbm9tZS5lcGlwaGFueS5nc2NoZW1hLnhtbAkyMDE3LTExLTIwIDE3OjU2OjU5LjI3
MjA0NTUyNiArMDEwMApAQCAtMTgyLDYgKzE4MiwxOCBAQAogCQkJPGRlZmF1bHQ+dHJ1ZTwvZGVm
YXVsdD4KIAkJCTxzdW1tYXJ5PkVuYWJsZSBQbHVnaW5zPC9zdW1tYXJ5PgogCQk8L2tleT4KKyAg
ICAgICAgICAgICAgICA8a2V5IHR5cGU9ImIiIG5hbWU9ImRpc2FibGUtY29ycyI+CisgICAgICAg
ICAgICAgICAgICAgICAgICA8ZGVmYXVsdD5mYWxzZTwvZGVmYXVsdD4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIDxzdW1tYXJ5PkRpc2FibGUgQ09SUzwvc3VtbWFyeT4KKyAgICAgICAgICAgICAg
ICA8L2tleT4KKyAgICAgICAgICAgICAgICA8a2V5IHR5cGU9ImIiIG5hbWU9ImVuYWJsZS1jb3Jz
LXNhbWUtZG9tYWluIj4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZhdWx0PnRydWU8L2Rl
ZmF1bHQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5FbmFibGUgQ09SUyB3aXRo
aW4gdGhlIHNhbWUgZG9tYWluPC9zdW1tYXJ5PgorICAgICAgICAgICAgICAgIDwva2V5PgorICAg
ICAgICAgICAgICAgIDxrZXkgdHlwZT0iYiIgbmFtZT0iZGlzYWJsZS1jb3JzLXJlZGlyZWN0aW9u
Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZhdWx0PmZhbHNlPC9kZWZhdWx0PgorICAg
ICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+RGlzYWJsZSBDT1JTIFJlZGlyZWN0aW9uPC9z
dW1tYXJ5PgorICAgICAgICAgICAgICAgIDwva2V5PgogCQk8a2V5IHR5cGU9ImIiIG5hbWU9ImVu
YWJsZS13ZWJnbCI+CiAJCQk8ZGVmYXVsdD50cnVlPC9kZWZhdWx0PgogCQkJPHN1bW1hcnk+RW5h
YmxlIFdlYkdMPC9zdW1tYXJ5PgpkaWZmIC1wcnUgYS9lbWJlZC9lcGh5LWVtYmVkLXByZWZzLmMg
Yi9lbWJlZC9lcGh5LWVtYmVkLXByZWZzLmMKLS0tIGEvZW1iZWQvZXBoeS1lbWJlZC1wcmVmcy5j
CTIwMTctMTEtMTQgMDM6MDk6MjUuMDAwMDAwMDAwICswMTAwCisrKyBiL2VtYmVkL2VwaHktZW1i
ZWQtcHJlZnMuYwkyMDE3LTExLTIwIDE3OjU2OjU5LjI3MjA0NTUyNiArMDEwMApAQCAtNTE5LDYg
KzUxOSwxOCBAQCBlcGh5X2VtYmVkX3ByZWZzX2luaXQgKGdwb2ludGVyIHVzZXJfZGF0CiAgICAg
ICAgICAgICAgICAgICAgd2Via2l0X3NldHRpbmdzLCAiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIiwK
ICAgICAgICAgICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfR0VUKTsKICAgZ19zZXR0aW5nc19i
aW5kIChFUEhZX1NFVFRJTkdTX1dFQiwKKyAgICAgICAgICAgICAgICAgICBFUEhZX1BSRUZTX1dF
Ql9ESVNBQkxFX0NPUlMsCisgICAgICAgICAgICAgICAgICAgd2Via2l0X3NldHRpbmdzLCAiZGlz
YWJsZS1jb3JzIiwKKyAgICAgICAgICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfR0VUKTsKKyAg
Z19zZXR0aW5nc19iaW5kIChFUEhZX1NFVFRJTkdTX1dFQiwKKyAgICAgICAgICAgICAgICAgICBF
UEhZX1BSRUZTX1dFQl9FTkFCTEVfQ09SU19TQU1FX0RPTUFJTiwKKyAgICAgICAgICAgICAgICAg
ICB3ZWJraXRfc2V0dGluZ3MsICJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIsCisgICAgICAgICAg
ICAgICAgICAgR19TRVRUSU5HU19CSU5EX0dFVCk7CisgIGdfc2V0dGluZ3NfYmluZCAoRVBIWV9T
RVRUSU5HU19XRUIsCisgICAgICAgICAgICAgICAgICAgRVBIWV9QUkVGU19XRUJfRElTQUJMRV9D
T1JTX1JFRElSRUNUSU9OLAorICAgICAgICAgICAgICAgICAgIHdlYmtpdF9zZXR0aW5ncywgImRp
c2FibGUtY29ycy1yZWRpcmVjdGlvbiIsCisgICAgICAgICAgICAgICAgICAgR19TRVRUSU5HU19C
SU5EX0dFVCk7CisgIGdfc2V0dGluZ3NfYmluZCAoRVBIWV9TRVRUSU5HU19XRUIsCiAgICAgICAg
ICAgICAgICAgICAgRVBIWV9QUkVGU19XRUJfRU5BQkxFX1BMVUdJTlMsCiAgICAgICAgICAgICAg
ICAgICAgd2Via2l0X3NldHRpbmdzLCAiZW5hYmxlLXBsdWdpbnMiLAogICAgICAgICAgICAgICAg
ICAgIEdfU0VUVElOR1NfQklORF9HRVQpOwpkaWZmIC1wcnUgYS9saWIvZXBoeS1wcmVmcy5oIGIv
bGliL2VwaHktcHJlZnMuaAotLS0gYS9saWIvZXBoeS1wcmVmcy5oCTIwMTctMTEtMTQgMDM6MDk6
MjUuMDAwMDAwMDAwICswMTAwCisrKyBiL2xpYi9lcGh5LXByZWZzLmgJMjAxNy0xMS0yMCAxNzo1
Njo1OS4yNzMwNDU1MjYgKzAxMDAKQEAgLTk3LDYgKzk3LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIg
KiBjb25zdCBlcGh5X3ByZWZzX3N0YQogI2RlZmluZSBFUEhZX1BSRUZTX1dFQl9ERUZBVUxUX0VO
Q09ESU5HICAgICAgICAgICAgImRlZmF1bHQtZW5jb2RpbmciCiAjZGVmaW5lIEVQSFlfUFJFRlNf
V0VCX0RPX05PVF9UUkFDSyAgICAgICAgICAgICAgICAiZG8tbm90LXRyYWNrIgogI2RlZmluZSBF
UEhZX1BSRUZTX1dFQl9FTkFCTEVfQURCTE9DSyAgICAgICAgICAgICAgImVuYWJsZS1hZGJsb2Nr
IgorI2RlZmluZSBFUEhZX1BSRUZTX1dFQl9ESVNBQkxFX0NPUlMgICAgICAgICAgICAgICAgImRp
c2FibGUtY29ycyIKKyNkZWZpbmUgRVBIWV9QUkVGU19XRUJfRU5BQkxFX0NPUlNfU0FNRV9ET01B
SU4gICAgICJlbmFibGUtY29ycy1zYW1lLWRvbWFpbiIKKyNkZWZpbmUgRVBIWV9QUkVGU19XRUJf
RElTQUJMRV9DT1JTX1JFRElSRUNUSU9OICAgICJkaXNhYmxlLWNvcnMtcmVkaXJlY3Rpb24iCiAj
ZGVmaW5lIEVQSFlfUFJFRlNfV0VCX1JFTUVNQkVSX1BBU1NXT1JEUyAgICAgICAgICAicmVtZW1i
ZXItcGFzc3dvcmRzIgogI2RlZmluZSBFUEhZX1BSRUZTX1dFQl9FTkFCTEVfU0lURV9TUEVDSUZJ
Q19RVUlSS1MgImVuYWJsZS1zaXRlLXNwZWNpZmljLXF1aXJrcyIKICNkZWZpbmUgRVBIWV9QUkVG
U19XRUJfRU5BQkxFX1NBRkVfQlJPV1NJTkcgICAgICAgICJlbmFibGUtc2FmZS1icm93c2luZyIK
QEAgLTEyMSw2ICsxMjQsOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGVwaHlfcHJlZnNf
d2ViCiAgIEVQSFlfUFJFRlNfV0VCX0RFRkFVTFRfRU5DT0RJTkcsCiAgIEVQSFlfUFJFRlNfV0VC
X0RPX05PVF9UUkFDSywKICAgRVBIWV9QUkVGU19XRUJfRU5BQkxFX0FEQkxPQ0ssCisgIEVQSFlf
UFJFRlNfV0VCX0RJU0FCTEVfQ09SUywKKyAgRVBIWV9QUkVGU19XRUJfRU5BQkxFX0NPUlNfU0FN
RV9ET01BSU4sCisgIEVQSFlfUFJFRlNfV0VCX0RJU0FCTEVfQ09SU19SRURJUkVDVElPTiwKICAg
RVBIWV9QUkVGU19XRUJfUkVNRU1CRVJfUEFTU1dPUkRTLAogICBFUEhZX1BSRUZTX1dFQl9FTkFC
TEVfU0lURV9TUEVDSUZJQ19RVUlSS1MsCiAgIEVQSFlfUFJFRlNfV0VCX0VOQUJMRV9TQUZFX0JS
T1dTSU5HLApTb2xvIGluIGIvbGliOiBlcGh5LXByZWZzLmgub3JpZwpkaWZmIC1wcnUgYS9zcmMv
cHJlZnMtZGlhbG9nLmMgYi9zcmMvcHJlZnMtZGlhbG9nLmMKLS0tIGEvc3JjL3ByZWZzLWRpYWxv
Zy5jCTIwMTctMTEtMTQgMDM6MDk6MjYuMDAwMDAwMDAwICswMTAwCisrKyBiL3NyYy9wcmVmcy1k
aWFsb2cuYwkyMDE3LTExLTIwIDE3OjU4OjUwLjMyMDA0NjI0MCArMDEwMApAQCAtODQsNiArODQs
OSBAQCBzdHJ1Y3QgX1ByZWZzRGlhbG9nIHsKICAgR3RrV2lkZ2V0ICphZGJsb2NrX2FsbG93X2No
ZWNrYnV0dG9uOwogICBHdGtXaWRnZXQgKmVuYWJsZV9wbHVnaW5zX2NoZWNrYnV0dG9uOwogICBH
dGtXaWRnZXQgKmVuYWJsZV9zYWZlX2Jyb3dzaW5nX2NoZWNrYnV0dG9uOworICBHdGtXaWRnZXQg
KmNvcnNfZGlzYWJsZV9jaGVja2J1dHRvbjsKKyAgR3RrV2lkZ2V0ICpjb3JzX3NhbWVfZG9tYWlu
X2VuYWJsZV9jaGVja2J1dHRvbjsKKyAgR3RrV2lkZ2V0ICpjb3JzX3JlZGlyZWN0aW9uX2Rpc2Fi
bGVfY2hlY2tidXR0b247CiAKICAgLyogZm9udHMgKi8KICAgR3RrV2lkZ2V0ICp1c2VfZ25vbWVf
Zm9udHNfY2hlY2tidXR0b247CkBAIC03MzIsNiArNzM1LDkgQEAgcHJlZnNfZGlhbG9nX2NsYXNz
X2luaXQgKFByZWZzRGlhbG9nQ2xhcwogICBndGtfd2lkZ2V0X2NsYXNzX2JpbmRfdGVtcGxhdGVf
Y2hpbGQgKHdpZGdldF9jbGFzcywgUHJlZnNEaWFsb2csIGFkYmxvY2tfYWxsb3dfY2hlY2tidXR0
b24pOwogICBndGtfd2lkZ2V0X2NsYXNzX2JpbmRfdGVtcGxhdGVfY2hpbGQgKHdpZGdldF9jbGFz
cywgUHJlZnNEaWFsb2csIGVuYWJsZV9wbHVnaW5zX2NoZWNrYnV0dG9uKTsKICAgZ3RrX3dpZGdl
dF9jbGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3aWRnZXRfY2xhc3MsIFByZWZzRGlhbG9nLCBl
bmFibGVfc2FmZV9icm93c2luZ19jaGVja2J1dHRvbik7CisgIGd0a193aWRnZXRfY2xhc3NfYmlu
ZF90ZW1wbGF0ZV9jaGlsZCAod2lkZ2V0X2NsYXNzLCBQcmVmc0RpYWxvZywgY29yc19kaXNhYmxl
X2NoZWNrYnV0dG9uKTsKKyAgZ3RrX3dpZGdldF9jbGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3
aWRnZXRfY2xhc3MsIFByZWZzRGlhbG9nLCBjb3JzX3NhbWVfZG9tYWluX2VuYWJsZV9jaGVja2J1
dHRvbik7CisgIGd0a193aWRnZXRfY2xhc3NfYmluZF90ZW1wbGF0ZV9jaGlsZCAod2lkZ2V0X2Ns
YXNzLCBQcmVmc0RpYWxvZywgY29yc19yZWRpcmVjdGlvbl9kaXNhYmxlX2NoZWNrYnV0dG9uKTsK
ICAgZ3RrX3dpZGdldF9jbGFzc19iaW5kX3RlbXBsYXRlX2NoaWxkICh3aWRnZXRfY2xhc3MsIFBy
ZWZzRGlhbG9nLCBkb3dubG9hZF9idXR0b25faGJveCk7CiAgIGd0a193aWRnZXRfY2xhc3NfYmlu
ZF90ZW1wbGF0ZV9jaGlsZCAod2lkZ2V0X2NsYXNzLCBQcmVmc0RpYWxvZywgZG93bmxvYWRfYnV0
dG9uX2xhYmVsKTsKIApAQCAtMTcxMyw2ICsxNzE5LDM2IEBAIHNldHVwX2dlbmVyYWxfcGFnZSAo
UHJlZnNEaWFsb2cgKmRpYWxvZykKICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoZG9f
bm90X3RyYWNrX2J1dHRvbl9jbGlja2VkX2NiKSwKICAgICAgICAgICAgICAgICAgICAgZGlhbG9n
KTsKIAorICBnX3NldHRpbmdzX2JpbmQgKHdlYl9zZXR0aW5ncywKKyAgICAgICAgICAgICAgICAg
ICBFUEhZX1BSRUZTX1dFQl9ESVNBQkxFX0NPUlMsCisgICAgICAgICAgICAgICAgICAgZGlhbG9n
LT5jb3JzX2Rpc2FibGVfY2hlY2tidXR0b24sCisgICAgICAgICAgICAgICAgICAgImFjdGl2ZSIs
CisgICAgICAgICAgICAgICAgICAgR19TRVRUSU5HU19CSU5EX0RFRkFVTFQpOworICBnX3NldHRp
bmdzX2JpbmQgKHdlYl9zZXR0aW5ncywKKyAgICAgICAgICAgICAgICAgICBFUEhZX1BSRUZTX1dF
Ql9ESVNBQkxFX0NPUlMsCisgICAgICAgICAgICAgICAgICAgZGlhbG9nLT5jb3JzX3NhbWVfZG9t
YWluX2VuYWJsZV9jaGVja2J1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAic2Vuc2l0aXZlIiwK
KyAgICAgICAgICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfREVGQVVMVCk7CisgIGdfc2V0dGlu
Z3NfYmluZCAod2ViX3NldHRpbmdzLAorICAgICAgICAgICAgICAgICAgIEVQSFlfUFJFRlNfV0VC
X0RJU0FCTEVfQ09SUywKKyAgICAgICAgICAgICAgICAgICBkaWFsb2ctPmNvcnNfcmVkaXJlY3Rp
b25fZGlzYWJsZV9jaGVja2J1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAic2Vuc2l0aXZlIiwK
KyAgICAgICAgICAgICAgICAgICBHX1NFVFRJTkdTX0JJTkRfREVGQVVMVCk7CisKKyAgZ19zZXR0
aW5nc19iaW5kICh3ZWJfc2V0dGluZ3MsCisgICAgICAgICAgICAgICAgICAgRVBIWV9QUkVGU19X
RUJfRU5BQkxFX0NPUlNfU0FNRV9ET01BSU4sCisgICAgICAgICAgICAgICAgICAgZGlhbG9nLT5j
b3JzX3NhbWVfZG9tYWluX2VuYWJsZV9jaGVja2J1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAi
YWN0aXZlIiwKKyAgICAgICAgICAgICAgICAgICAvKiBUZWVuc3kgaGFjazogZG9uJ3Qgb3ZlcnJp
ZGUgdGhlIHByZXZpb3VzIGJpbmRpbmcuICovCisgICAgICAgICAgICAgICAgICAgR19TRVRUSU5H
U19CSU5EX05PX1NFTlNJVElWSVRZKTsKKworICBnX3NldHRpbmdzX2JpbmQgKHdlYl9zZXR0aW5n
cywKKyAgICAgICAgICAgICAgICAgICBFUEhZX1BSRUZTX1dFQl9ESVNBQkxFX0NPUlNfUkVESVJF
Q1RJT04sCisgICAgICAgICAgICAgICAgICAgZGlhbG9nLT5jb3JzX3JlZGlyZWN0aW9uX2Rpc2Fi
bGVfY2hlY2tidXR0b24sCisgICAgICAgICAgICAgICAgICAgImFjdGl2ZSIsCisgICAgICAgICAg
ICAgICAgICAgLyogVGVlbnN5IGhhY2s6IGRvbid0IG92ZXJyaWRlIHRoZSBwcmV2aW91cyBiaW5k
aW5nLiAqLworICAgICAgICAgICAgICAgICAgIEdfU0VUVElOR1NfQklORF9OT19TRU5TSVRJVklU
WSk7CisKICAgaWYgKGVwaHlfaXNfcnVubmluZ19pbnNpZGVfZmxhdHBhayAoKSkKICAgICBndGtf
d2lkZ2V0X2hpZGUgKGRpYWxvZy0+ZG93bmxvYWRfYnV0dG9uX2xhYmVsKTsKICAgZWxzZQpAQCAt
MTk2NSw2ICsyMDAxLDEwIEBAIHByZWZzX2RpYWxvZ19pbml0IChQcmVmc0RpYWxvZyAqZGlhbG9n
KQogICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlICE9IEVQSFlfRU1CRURfU0hFTExfTU9E
RV9BUFBMSUNBVElPTik7CiAgIGd0a193aWRnZXRfc2V0X3Zpc2libGUgKGRpYWxvZy0+ZG9fbm90
X3RyYWNrX2NoZWNrYnV0dG9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlICE9IEVQ
SFlfRU1CRURfU0hFTExfTU9ERV9BUFBMSUNBVElPTik7CisgIGd0a193aWRnZXRfc2V0X3Zpc2li
bGUgKGRpYWxvZy0+Y29yc19zYW1lX2RvbWFpbl9lbmFibGVfY2hlY2tidXR0b24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1vZGUgIT0gRVBIWV9FTUJFRF9TSEVMTF9NT0RFX0FQUExJQ0FU
SU9OKTsKKyAgZ3RrX3dpZGdldF9zZXRfdmlzaWJsZSAoZGlhbG9nLT5jb3JzX3JlZGlyZWN0aW9u
X2Rpc2FibGVfY2hlY2tidXR0b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgIT0g
RVBIWV9FTUJFRF9TSEVMTF9NT0RFX0FQUExJQ0FUSU9OKTsKIAogICBzZXR1cF9nZW5lcmFsX3Bh
Z2UgKGRpYWxvZyk7CiAgIHNldHVwX2ZvbnRzX3BhZ2UgKGRpYWxvZyk7ClNvbG8gaW4gYi9zcmM6
IHByZWZzLWRpYWxvZy5jLm9yaWcKU29sbyBpbiBiL3NyYzogcHJlZnMtZGlhbG9nLmMucmVqCmRp
ZmYgLXBydSBhL3NyYy9yZXNvdXJjZXMvZ3RrL3ByZWZzLWRpYWxvZy51aSBiL3NyYy9yZXNvdXJj
ZXMvZ3RrL3ByZWZzLWRpYWxvZy51aQotLS0gYS9zcmMvcmVzb3VyY2VzL2d0ay9wcmVmcy1kaWFs
b2cudWkJMjAxNy0xMS0xNCAwMzowOToyNi4wMDAwMDAwMDAgKzAxMDAKKysrIGIvc3JjL3Jlc291
cmNlcy9ndGsvcHJlZnMtZGlhbG9nLnVpCTIwMTctMTEtMjAgMTc6NTY6NTkuMjc1MDQ1NTI2ICsw
MTAwCkBAIC0yODgsNiArMjg4LDI5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy
b3BlcnR5IG5hbWU9InVzZS11bmRlcmxpbmUiPlRydWU8L3Byb3BlcnR5PgogICAgICAgICAgICAg
ICAgICAgICAgICAgICA8L29iamVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+
CisgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAg
ICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY29yc19kaXNhYmxlX2NoZWNr
YnV0dG9uIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFi
ZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5EaXNhYmxlIENPUlM8L3Byb3BlcnR5PgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0
eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlLXVuZGVy
bGluZSI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0
PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3Rr
Q2hlY2tCdXR0b24iIGlkPSJjb3JzX3NhbWVfZG9tYWluX2VuYWJsZV9jaGVja2J1dHRvbiI+Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xh
dGFibGU9InllcyI+RW5hYmxlIENPUlMgd2l0aGluIHRoZSBzYW1lIGRvbWFpbjwvcHJvcGVydHk+
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPkZh
bHNlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt
ZT0idXNlLXVuZGVybGluZSI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPHByb3BlcnR5IG5hbWU9Im1hcmdpbi1zdGFydCI+MTI8L3Byb3BlcnR5PgorICAgICAg
ICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwv
Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAg
ICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY29yc19yZWRpcmVj
dGlvbl9kaXNhYmxlX2NoZWNrYnV0dG9uIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5EaXNhYmxlIENPUlMgcmVk
aXJlY3Rpb248L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0
eSBuYW1lPSJ2aXNpYmxlIj5GYWxzZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPHByb3BlcnR5IG5hbWU9InVzZS11bmRlcmxpbmUiPlRydWU8L3Byb3BlcnR5PgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXJnaW4tc3RhcnQiPjEy
PC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+CisgICAgICAg
ICAgICAgICAgICAgICAgICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0
PgogICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgPC9vYmpl
Y3Q+ClNvbG8gaW4gYi9zcmMvcmVzb3VyY2VzL2d0azogcHJlZnMtZGlhbG9nLnVpLm9yaWcK
</data>

          </attachment>
      

    </bug>

</bugzilla>