<?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>128504</bug_id>
          
          <creation_ts>2014-02-09 12:53:35 -0800</creation_ts>
          <short_desc>Web Inspector: AXI: more properties: exists, required, and invalid (exists was previously combined with ignored)</short_desc>
          <delta_ts>2015-11-30 16:55:53 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>127447</dependson>
          <blocked>129037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="James Craig">jcraig</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978624</commentid>
    <comment_count>0</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-09 12:53:35 -0800</bug_when>
    <thetext>bug 127447 combined &quot;isAccessibilityObject&quot; and &quot;accessibilityIsIgnored&quot;, but in hindsight, it&apos;d be good to do these separately. For example, &quot;&quot;&lt;img src=&quot;foo&quot; alt=&quot;&quot;&gt; still has an accessibility object (and therefore a role) even though the element is ignored in the platform API. Likewise, elements with the presentation role are ignored for the API, but have an object and would be able to indicate more contextual information than just the &quot;No accessibility information&quot; that is conveyed now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978625</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-09 12:53:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/16021878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979183</commentid>
    <comment_count>2</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-10 18:27:09 -0800</bug_when>
    <thetext>accessibilityIsIgnored is now just &quot;ignored&quot; in the inspector-protocol for getAccessibilityPropertiesForNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980591</commentid>
    <comment_count>3</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-13 18:48:46 -0800</bug_when>
    <thetext>Calling this &quot;exists&quot; ( was previously combined with ignored), and also adding required and invalid on relevant fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980671</commentid>
    <comment_count>4</comment_count>
      <attachid>224169</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-14 00:02:40 -0800</bug_when>
    <thetext>Created attachment 224169
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980676</commentid>
    <comment_count>5</comment_count>
      <attachid>224172</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-14 00:10:54 -0800</bug_when>
    <thetext>Created attachment 224172
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980858</commentid>
    <comment_count>6</comment_count>
      <attachid>224230</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-14 10:13:02 -0800</bug_when>
    <thetext>Created attachment 224230
patch

fixing apply conflict with TOT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980859</commentid>
    <comment_count>7</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-14 10:16:19 -0800</bug_when>
    <thetext>Not sure why this patch is not applying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980885</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-14 11:24:52 -0800</bug_when>
    <thetext>Seems like your DOMNodeDetailsSidebarPanel.js is out of date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980886</commentid>
    <comment_count>9</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-14 11:25:22 -0800</bug_when>
    <thetext>Or this patch depends on another patch that is also up for review and not in TOT yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981321</commentid>
    <comment_count>10</comment_count>
      <attachid>224329</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 22:03:24 -0800</bug_when>
    <thetext>Created attachment 224329
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981323</commentid>
    <comment_count>11</comment_count>
      <attachid>224330</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 22:27:32 -0800</bug_when>
    <thetext>Created attachment 224330
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981324</commentid>
    <comment_count>12</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 22:28:59 -0800</bug_when>
    <thetext>I&apos;m up-to-date on all files (the diffs appear clean to me), and this patch doesn&apos;t depend on anything that&apos;s missing from TOT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981326</commentid>
    <comment_count>13</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 22:40:03 -0800</bug_when>
    <thetext>This is frustrating. I’m going to check out a clean copy and reapply the diffs manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981327</commentid>
    <comment_count>14</comment_count>
      <attachid>224331</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 22:54:31 -0800</bug_when>
    <thetext>Created attachment 224331
patch minus the file in question

Not for submission. Just testing to see if this applies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981329</commentid>
    <comment_count>15</comment_count>
      <attachid>224332</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 23:00:34 -0800</bug_when>
    <thetext>Created attachment 224332
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981330</commentid>
    <comment_count>16</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 23:03:23 -0800</bug_when>
    <thetext>Maybe a bug in ./Tools/Scripts/svn-apply ??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981336</commentid>
    <comment_count>17</comment_count>
      <attachid>224335</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 23:18:48 -0800</bug_when>
    <thetext>Created attachment 224335
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981338</commentid>
    <comment_count>18</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-16 23:28:00 -0800</bug_when>
    <thetext>That&apos;s better. The diffs were identical, but it seems svn-apply wasn&apos;t able to handle a regular diff without the extra symbols added by svn-create-patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981592</commentid>
    <comment_count>19</comment_count>
      <attachid>224335</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-17 11:53:11 -0800</bug_when>
    <thetext>Comment on attachment 224335
patch

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

&gt; Source/WebCore/inspector/protocol/DOM.json:68
&gt; +                { &quot;name&quot;: &quot;required&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;Returns whether the element is required or not required.&quot; },
&gt; +                { &quot;name&quot;: &quot;role&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Computed value for first recognized role token, default role per element, or overridden role.&quot; },
&gt; +                { &quot;name&quot;: &quot;supportsRequired&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;Returns whether the required state is relevant for this element (form fields, etc).&quot; },

&quot;required&quot; can be marked optional. And if it is supported, it can be included. The front-end can check for the existence of required using: &quot;required&quot; in axobj or axobj.required !== undefined.

&gt; Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js:245
&gt; +        function accessibilityPropertiesCallback(props)

accessibilityProperties is better. We don&apos;t abbreviate in WebKit.

&gt; Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js:253
&gt; +                var ignored = (props.ignored ? &quot;true&quot; : &quot;&quot;);
&gt; +                var invalid = (props.invalid &amp;&amp; props.invalid !== &quot;false&quot; ? props.invalid : &quot;&quot;);

WebKit style drops the parens in these cases.

&gt; Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js:260
&gt; +                var required = (props.supportsRequired ? (props.required ? &quot;true&quot; : &quot;false&quot;) : &quot;&quot;);

No need for the outer parens.

&gt; Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js:276
&gt; +                this._accessibilityNodeIgnoredRow.value = ignored;
&gt; +                this._accessibilityNodeInvalidRow.value = invalid;
&gt; +                this._accessibilityNodeLabelRow.value = label;
&gt; +                this._accessibilityNodeRequiredRow.value = required;
&gt; +                this._accessibilityNodeRoleRow.value = role;

ignored and required look like they are &quot;true&quot; and &quot;false&quot; strings. Those user visible strings should be WebInspector.UIStrings. Something like &quot;Yes&quot; and &quot;No&quot; would be nicer and can be localized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981606</commentid>
    <comment_count>20</comment_count>
      <attachid>224335</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-17 12:05:33 -0800</bug_when>
    <thetext>Comment on attachment 224335
patch

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

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1434
&gt; +                required =  axObject-&gt;isRequired();

wrong spacing after &quot;=&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981703</commentid>
    <comment_count>21</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-17 16:32:47 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; &gt; Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js:245
&gt; &gt; +        function accessibilityPropertiesCallback(props)
&gt; 
&gt; accessibilityProperties is better. We don&apos;t abbreviate in WebKit.

I was trying to reduce redundancy as suggested in the previous bug. If &quot;accessibilityProperties&quot; is the only argument of the &quot;accessibilityPropertiesCallback&quot; callback, why should it be so verbose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981736</commentid>
    <comment_count>22</comment_count>
      <attachid>224450</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-17 17:52:50 -0800</bug_when>
    <thetext>Created attachment 224450
patch with review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981741</commentid>
    <comment_count>23</comment_count>
      <attachid>224450</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-17 18:00:23 -0800</bug_when>
    <thetext>Comment on attachment 224450
patch with review feedback

Actually, I&apos;m going to wrap the block of optional attrs in an &quot;exists&quot; conditional. Marking previous as obsolete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981743</commentid>
    <comment_count>24</comment_count>
      <attachid>224453</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-17 18:04:59 -0800</bug_when>
    <thetext>Created attachment 224453
patch with review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982059</commentid>
    <comment_count>25</comment_count>
      <attachid>224453</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-02-18 13:18:29 -0800</bug_when>
    <thetext>Comment on attachment 224453
patch with review feedback

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

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1443
&gt;          .setNodeId(pushNodePathToFrontend(node));
&gt; -
&gt; +    if (exists) {

An empty line here helps readability.

&gt; Source/WebInspectorUI/UserInterface/DOMNodeDetailsSidebarPanel.js:291
&gt; +                ];
&gt;                  this._accessibilityEmptyRow.hideEmptyMessage();

An empty line here would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982151</commentid>
    <comment_count>26</comment_count>
      <attachid>224562</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-02-18 15:58:13 -0800</bug_when>
    <thetext>Created attachment 224562
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982161</commentid>
    <comment_count>27</comment_count>
      <attachid>224562</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-18 16:39:53 -0800</bug_when>
    <thetext>Comment on attachment 224562
patch

Clearing flags on attachment: 224562

Committed r164332: &lt;http://trac.webkit.org/changeset/164332&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982162</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-18 16:39:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224169</attachid>
            <date>2014-02-14 00:02:40 -0800</date>
            <delta_ts>2014-02-14 00:10:54 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>20830</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDA5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTEzICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTEzICBS
b2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbmRvd3NdIFVu
cmV2aWV3ZWQgZ2FyZGVuaW5nIG9mIHNvbWUgdGltaW5nIG91dCB0ZXN0cy4KSW5kZXg6IExheW91
dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNG
b3JOb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0b3It
cHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dl
dEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNDIgQEAKK0NoZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9y
IHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUgSW5zcGVjdG9yLgorCisgICAgICAgICAgIAorVG90YWwg
ZWxlbWVudHMgdG8gYmUgdGVzdGVkOiAxNS4KKworPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZh
bHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IGltZworICAg
IHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0iIj4K
KyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UK
KyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAgc3Vw
cG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGltZyBzcmM9Ii4vNDA0LmdpZiI+CisgICAgZXhpc3Rz
OiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6
IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IGltZworICAgIHN1cHBvcnRzUmVxdWly
ZWQ6IGZhbHNlCisKKzxpbnB1dCBhcmlhLWludmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFsLXRv
LXRydWUiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxp
ZDogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAg
ICBzdXBwb3J0c1JlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCBhcmlhLWludmFsaWQ9InNwZWxsaW5n
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IHNw
ZWxsaW5nCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAg
IHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IGFyaWEtcmVxdWlyZWQ9InRydWUiPgor
ICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UK
KyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0
c1JlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCByZXF1aXJlZD0iIj4KKyAgICBleGlzdHM6IHRydWUK
KyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAg
IHJlcXVpcmVkOiB0cnVlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQor
Cis8aW5wdXQgdHlwZT0iYnV0dG9uIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBm
YWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxz
ZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxidXR0
b24+PC9idXR0b24+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2IHJvbGU9ImJ1dHRv
biIgdGFiaW5kZXg9IjAiPjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZh
bHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNl
CisgICAgcm9sZTogYnV0dG9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPHNwYW4+
PC9zcGFuPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlk
OiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAg
ICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1
ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAg
ICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxz
ZQorCis8ZGl2IHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48L2Rpdj4KKyAgICBleGlz
dHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJl
bDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogcHJlc2VudGF0aW9uCisgICAgc3Vw
cG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGRpdj48ZGl2PjwvZGl2PjwvZGl2PgorICAgIGV4aXN0
czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVs
OiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVk
OiBmYWxzZQorCis8c2NyaXB0Pjwvc2NyaXB0PgorICAgIGV4aXN0czogZmFsc2UKKyAgICBpZ25v
cmVkOiB0cnVlCisgICAgaW52YWxpZDogCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxz
ZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKworCkluZGV4OiBM
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0
aWVzRm9yTm9kZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxp
dHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTAgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+CisKKzxwPkNo
ZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9yIHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUg
SW5zcGVjdG9yLjwvcD4KKworPCEtLSBUaGlzIG9uZSBpcyBuZXZlciByZW5kZXJlZCwgc28gImV4
aXN0cyIgc2hvdWxkIHJldHVybiBmYWxzZS4gLS0+Cis8c2NyaXB0IGNsYXNzPSJleCI+PC9zY3Jp
cHQ+CisKKzwhLS0gVGhlIHJlc3QgYXJlIHJlbmRlcmVkIHdpdGggdmFyaW91cyBwcm9wZXJ0eSBk
aWZmZXJlbmNlcy4gLS0+Cis8ZGl2IGNsYXNzPSJleCI+PGRpdj48L2Rpdj48L2Rpdj4KKzxkaXYg
Y2xhc3M9ImV4IiByb2xlPSJwcmVzZW50YXRpb24iPjxkaXY+PC9kaXY+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJleCI+PC9kaXY+Cis8c3BhbiBjbGFzcz0iZXgiPjwvc3Bhbj4KKworPGRpdiBjbGFzcz0i
ZXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjwvZGl2PgorPGJ1dHRvbiBjbGFzcz0iZXgi
PjwvYnV0dG9uPgorPGlucHV0IGNsYXNzPSJleCIgdHlwZT0iYnV0dG9uIj4KKworPGlucHV0IGNs
YXNzPSJleCIgcmVxdWlyZWQ+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLXJlcXVpcmVkPSJ0cnVl
Ij4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmciPgorPGlucHV0IGNs
YXNzPSJleCIgYXJpYS1pbnZhbGlkPSJmYWtlLXZhbHVlLXdpbGwtZXZhbC10by10cnVlIj4KKwor
PGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIj4KKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4v
NDA0LmdpZiIgYWx0PSIiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9Ingi
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uICQoc2VsZWN0
b3IpIHsKKyAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7Cit9
CitmdW5jdGlvbiBjbGVhbnVwKCkgeworICAgIHZhciBleGFtcGxlcyA9ICQoIi5leCIpOworICAg
IGZvciAoZWwgaW4gZXhhbXBsZXMpCisgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisKKyAgICB2YXIgZXhhbXBsZXMgPSBbXTsKKworICAg
IGZ1bmN0aW9uIGxvb3AoKSB7CisgICAgICAgIGlmIChleGFtcGxlcy5sZW5ndGgpIHsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5nZXRPdXRlckhUTUwiLCB7Im5v
ZGVJZCI6IGV4YW1wbGVzW2V4YW1wbGVzLmxlbmd0aC0xXX0sIG9uR290T3V0ZXJIVE1MKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJcbiIpOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiUnVudGltZS5ldmFsdWF0ZSIsIHsi
ZXhwcmVzc2lvbiI6ICJjbGVhbnVwKCkifSwgZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0K
KyAgICB9OworCisgICAgZnVuY3Rpb24gb25Hb3REb2N1bWVudChyZXNwb25zZSkgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LnNlbmRDb21tYW5kKCJET00ucXVlcnlTZWxlY3RvckFsbCIsIHsibm9kZUlkIjogcmVz
cG9uc2UucmVzdWx0LnJvb3Qubm9kZUlkLCAic2VsZWN0b3IiOiAiLmV4In0sIG9uUXVlcnlTZWxl
Y3RvckFsbCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25RdWVyeVNlbGVjdG9yQWxsKHJlc3Bv
bnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7Cisg
ICAgICAgIGV4YW1wbGVzID0gcmVzcG9uc2UucmVzdWx0Lm5vZGVJZHM7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6ICIgKyBleGFtcGxlcy5s
ZW5ndGggKyAiLiIpOworICAgICAgICBsb29wKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25H
b3RPdXRlckhUTUwocmVzcG9uc2UpeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJy
b3IocmVzcG9uc2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iICsgcmVzcG9uc2Uu
cmVzdWx0Lm91dGVySFRNTC5yZXBsYWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
Rm9yTm9kZSIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RB
WFByb3BzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvbkdvdEFYUHJvcHMocmVzcG9uc2UpIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAg
Zm9yIChwcm9wIGluIHJlc3BvbnNlLnJlc3VsdC5wcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICBp
ZiAocHJvcCAhPT0gIm5vZGVJZCIpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IiAgICAiICsgcHJvcCArICI6ICIgKyByZXNwb25zZS5yZXN1bHQucHJvcGVydGllc1twcm9wXSk7
CisgICAgICAgIH0KKyAgICAgICAgZXhhbXBsZXMucG9wKCk7CisgICAgICAgIGxvb3AoKTsKKyAg
ICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0RG9jdW1lbnQiLCB7
fSwgb25Hb3REb2N1bWVudCk7CisKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MDk0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQtMDItMTMgIEphbWVzIENyYWln
ICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWDogbW9yZSBw
cm9wZXJ0aWVzOiBleGlzdHMsIHJlcXVpcmVkLCBhbmQgaW52YWxpZCAoZXhpc3RzIHdhcyBwcmV2
aW91c2x5IGNvbWJpbmVkIHdpdGggaWdub3JlZCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODUwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9ucyB0byB0aGUgYWNjZXNzaWJpbGl0eSBub2Rl
IGluc3BlY3RvcjogZXhpc3RzLCByZXF1aXJlZCwgaW52YWxpZC4KKworICAgICAgICBUZXN0OiBp
bnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5o
dG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yQWNjZXNzaWJpbGl0
eVByb3BlcnRpZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbjoKKwog
MjAxNC0wMi0xMyAgQnl1bmdzZW9uIFNoaW4gIDxzdW4uc2hpbkBsZ2UuY29tPgogCiAgICAgICAg
IFtNU0VdIE1vdmUgUHVibGljVVJMTWFuYWdlciBzaHV0ZG93biBsb2dpYyBzbyBBY3RpdmVET01P
YmplY3RzIGFzc29jaWF0ZWQgd2l0aCBwdWJsaWMgVVJMcyB3b24ndCBsZWFrLgpJbmRleDogU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCShyZXZpc2lv
biAxNjQwNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDE1LDI2ICsxNDE1LDM0IEBACiAgICAgaWYgKCFXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICBXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CiAKKyAgICBib29sIGV4
aXN0cyA9IGZhbHNlOwogICAgIGJvb2wgaWdub3JlZCA9IHRydWU7Ci0KLSAgICAvLyBDb21wdXRl
ZCBBUklBIFJvbGUKKyAgICBTdHJpbmcgaW52YWxpZDsKKyAgICBTdHJpbmcgbGFiZWw7IC8vIEZJ
WE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgYm9vbCByZXF1
aXJlZCA9IGZhbHNlOwogICAgIFN0cmluZyByb2xlOworICAgIGJvb2wgc3VwcG9ydHNSZXF1aXJl
ZCA9IGZhbHNlOwogCi0gICAgLy8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGlu
ZyBvbiBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKLQogICAg
IGlmIChBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9i
amVjdENhY2hlKCkpIHsKICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0
ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUobm9kZSkpIHsKKyAgICAgICAgICAgIGV4aXN0
cyA9IHRydWU7CiAgICAgICAgICAgICBpZ25vcmVkID0gYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQoKTsKKyAgICAgICAgICAgIGludmFsaWQgPSBheE9iamVjdC0+aW52YWxpZFN0YXR1
cygpOwogICAgICAgICAgICAgcm9sZSA9IGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsK
KyAgICAgICAgICAgIHN1cHBvcnRzUmVxdWlyZWQgPSBheE9iamVjdC0+c3VwcG9ydHNSZXF1aXJl
ZEF0dHJpYnV0ZSgpOworICAgICAgICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAg
ICAgICAgICAgcmVxdWlyZWQgPSAgYXhPYmplY3QtPmlzUmVxdWlyZWQoKTsKICAgICAgICAgfQog
ICAgIH0KICAgICAKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nl
c3NpYmlsaXR5UHJvcGVydGllcz4gdmFsdWUgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpET006
OkFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzOjpjcmVhdGUoKQorICAgICAgICAuc2V0RXhpc3RzKGV4
aXN0cykKICAgICAgICAgLnNldElnbm9yZWQoaWdub3JlZCkKKyAgICAgICAgLnNldEludmFsaWQo
aW52YWxpZCkKKyAgICAgICAgLnNldExhYmVsKGxhYmVsKQorICAgICAgICAuc2V0UmVxdWlyZWQo
cmVxdWlyZWQpCiAgICAgICAgIC5zZXRSb2xlKHJvbGUpCi0gICAgICAgIC5zZXRMYWJlbChsYWJl
bCkKKyAgICAgICAgLnNldFN1cHBvcnRzUmVxdWlyZWQoc3VwcG9ydHNSZXF1aXJlZCkKICAgICAg
ICAgLnNldE5vZGVJZChwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKIAogICAgIHJldHVy
biB2YWx1ZS5yZWxlYXNlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvRE9NLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTS5qc29uCShyZXZpc2lvbiAxNjQwNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvRE9NLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEzIEBACiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmls
aXR5IHByb3BlcnRpZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg
ICAgICAicHJvcGVydGllcyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQi
LCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUg
YWNjZXNzaWJpbGl0eSBvZiB0aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0
aWNhbGx5IG9yIGV4cGxpY2l0bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhp
c3RzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIg
dGhlcmUgaXMgYW4gZXhpc3RpbmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMg
aXMgZmFsc2UsIGFsbCB0aGUgb3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVz
LiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29s
ZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBv
ZiB0aGUgYXNzb2NpYXRlZCBBWCBvYmplY3Qgbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJp
c3RpY2FsbHkgb3IgZXhwbGljaXRseS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJp
bnZhbGlkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGlu
dmFsaWQgc3RhdHVzIGZvciBmb3JtIGZpZWxkczogdHJ1ZSwgZmFsc2UsIGdyYW1tYXIsIHNwZWxs
aW5nLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxhYmVsIiwgInR5cGUiOiAic3Ry
aW5nIiwgImRlc2NyaXB0aW9uIjogIkNvbXB1dGVkIGxhYmVsIHZhbHVlIGZvciB0aGUgbm9kZSwg
c29tZXRpbWVzIGNhbGN1bGF0ZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgbm9kZXMuIiB9LAorICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRl
c2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgZWxlbWVudCBpcyByZXF1aXJlZCBvciBu
b3QgcmVxdWlyZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBl
IjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVj
b2duaXplZCByb2xlIHRva2VuLCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRk
ZW4gcm9sZS4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjog
InN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5v
ZGUsIHNvbWV0aW1lcyBjYWxjdWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwK
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN1cHBvcnRzUmVxdWlyZWQiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgcmVxdWlyZWQgc3Rh
dGUgaXMgcmVsZXZhbnQgZm9yIHRoaXMgZWxlbWVudCAoZm9ybSBmaWVsZHMsIGV0YykuIiB9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRl
c2NyaXB0aW9uIjogIlRhcmdldCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAg
ICAgIF0KICAgICAgICAgfSwKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24g
MTY0MDk0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAyLTEzICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhp
c3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5l
ZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4
aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2Rl
LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwu
anM6CisKIDIwMTQtMDItMTMgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogRGF0YUdyaWQgc2hvdWxkIHN1cHBvcnQgZWRpdGluZyB0YWJsZXMg
d2l0aCBhcmJpdHJhcnkgY29sdW1ucwpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzCShyZXZpc2lvbiAxNjQwNDEpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYs
MTEgKzIwNiwxMyBAQAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAYwBv
AG4AIABhAG4AZAAgAFQAZQB4AHQAIAAoAEgAbwByAGkAegBvAG4AdABhAGwAKQAiAF0AIAA9ACAA
IgBJAGMAbwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgA7
AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAYwBvAG4AIABhAG4AZAAg
AFQAZQB4AHQAIAAoAFYAZQByAHQAaQBjAGEAbAApACIAXQAgAD0AIAAiAEkAYwBvAG4AIABhAG4A
ZAAgAFQAZQB4AHQAIAAoAFYAZQByAHQAaQBjAGEAbAApACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBJAGQAZQBuAHQAaQB0AHkAIgBdACAAPQAgACIASQBkAGUAbgB0
AGkAdAB5ACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGcAbgBv
AHIAZQBkACIAXQAgAD0AIAAiAEkAZwBuAG8AcgBlAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQAiAF0AIAA9ACAAIgBJAG0AYQBnAGUAIgA7AAog
AGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQAgAFMAaQB6AGUA
IgBdACAAPQAgACIASQBtAGEAZwBlACAAUwBpAHoAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIASQBtAGEAZwBlAHMAIgBdACAAPQAgACIASQBtAGEAZwBlAHMAIgA7
AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBoAGUAcgBpAHQAZQBk
ACAARgByAG8AbQA6ACAAIgBdACAAPQAgACIASQBuAGgAZQByAGkAdABlAGQAIABGAHIAbwBtADoA
IAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAGkAdABpAGEA
dABvAHIAIgBdACAAPQAgACIASQBuAGkAdABpAGEAdABvAHIAIgA7AAorAGwAbwBjAGEAbABpAHoA
ZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgB2AGEAbABpAGQAIgBdACAAPQAgACIASQBuAHYAYQBs
AGkAZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAHAAdQB0
ADoAIAAiAF0AIAA9ACAAIgBJAG4AcAB1AHQAOgAgACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABT
AHQAcgBpAG4AZwBzAFsAIgBJAG4AcwBwAGUAYwB0ACIAXQAgAD0AIAAiAEkAbgBzAHAAZQBjAHQA
IgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgB2AGUAcgB0ACAA
YwBhAGwAbAAgAHQAcgBlAGUAIgBdACAAPQAgACIASQBuAHYAZQByAHQAIABjAGEAbABsACAAdABy
AGUAZQAiADsACkBAIC0zMTEsNiArMzEzLDcgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAAJgAgAFIAZQBzAHAAbwBuAHMAZQAiAF0AIAA9ACAA
IgBSAGUAcQB1AGUAcwB0ACAAJgAgAFIAZQBzAHAAbwBuAHMAZQAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgAEQAYQB0AGEAIgBdACAAPQAg
ACIAUgBlAHEAdQBlAHMAdAAgAEQAYQB0AGEAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdABy
AGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABIAGUAYQBkAGUAcgBzACIAXQAgAD0AIAAiAFIA
ZQBxAHUAZQBzAHQAIABIAGUAYQBkAGUAcgBzACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQA
cgBpAG4AZwBzAFsAIgBSAGUAcQB1AGkAcgBlAGQAIgBdACAAPQAgACIAUgBlAHEAdQBpAHIAZQBk
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBj
AGUAIgBdACAAPQAgACIAUgBlAHMAbwB1AHIAYwBlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABT
AHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAXQAgAD0AIAAiAFIA
ZQBzAG8AdQByAGMAZQAgAFQAeQBwAGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkA
bgBnAHMAWwAiAFIAZQBzAG8AdQByAGMAZQBzACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQBz
ACIAOwAKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGUu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9N
Tm9kZS5qcwkocmV2aXNpb24gMTY0MDQxKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRE9NTm9kZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNDQzLDEzICs0NDMsMTcgQEAK
IAogICAgIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzOiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7
Ci0gICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soZXJyb3Is
IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKQorICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5
UHJvcGVydGllc0NhbGxiYWNrKGVycm9yLCBwcm9wcykKICAgICAgICAgewotICAgICAgICAgICAg
aWYgKCFlcnJvciAmJiBjYWxsYmFjaykgeworICAgICAgICAgICAgaWYgKCFlcnJvciAmJiBjYWxs
YmFjayAmJiBwcm9wcykgewogICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsKLSAgICAgICAgICAg
ICAgICAgICAgaWdub3JlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCwKLSAgICAg
ICAgICAgICAgICAgICAgcm9sZTogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZSwKLSAgICAg
ICAgICAgICAgICAgICAgbGFiZWw6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxhYmVsCisgICAg
ICAgICAgICAgICAgICAgIGV4aXN0czogcHJvcHMuZXhpc3RzLAorICAgICAgICAgICAgICAgICAg
ICBpZ25vcmVkOiBwcm9wcy5pZ25vcmVkLAorICAgICAgICAgICAgICAgICAgICBpbnZhbGlkOiBw
cm9wcy5pbnZhbGlkLAorICAgICAgICAgICAgICAgICAgICBsYWJlbDogcHJvcHMubGFiZWwsCisg
ICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBwcm9wcy5yZXF1aXJlZCwKKyAgICAgICAgICAg
ICAgICAgICAgcm9sZTogcHJvcHMucm9sZSwKKyAgICAgICAgICAgICAgICAgICAgc3VwcG9ydHNS
ZXF1aXJlZDogcHJvcHMuc3VwcG9ydHNSZXF1aXJlZAogICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwkocmV2aXNpb24gMTY0MDQxKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDkgKzUyLDExIEBACiAgICAgdmFyIGV2ZW50TGlzdGVuZXJzU2VjdGlvbiA9IG5ldyBXZWJJbnNw
ZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRvbS1ub2RlLWV2ZW50LWxpc3RlbmVycyIsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiRXZlbnQgTGlzdGVuZXJzIiksIFt0aGlzLl9ldmVudExpc3RlbmVyc1Nl
Y3Rpb25Hcm91cF0pOyAgICAKIAogICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvdyA9IG5l
dyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Sb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJO
byBBY2Nlc3NpYmlsaXR5IEluZm9ybWF0aW9uIikpOwotICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlQ29tcHV0ZWRMYWJlbFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1w
bGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYWJlbCIpKTsKLSAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZUNvbXB1dGVkUm9sZVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rp
b25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSb2xlIikpOwotICAgIAorICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWls
c1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJZ25vcmVkIikpOworICAg
IHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0
YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZhbGlkIikpOwor
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Cisg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXF1aXJlZCIp
KTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsK
IAogICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWls
c1NlY3Rpb25Hcm91cChbdGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93XSk7CiAgICAgdmFyIGFj
Y2Vzc2liaWxpdHlTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigiZG9t
LW5vZGUtYWNjZXNzaWJpbGl0eSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWNjZXNzaWJpbGl0
eSIpLCBbdGhpcy5fYWNjZXNzaWJpbGl0eUdyb3VwXSk7ICAgIApAQCAtMjM5LDE0ICsyNDEsMjQg
QEAKICAgICAgICAgaWYgKCFkb21Ob2RlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soYWNjZXNzaWJpbGl0eVBy
b3BlcnRpZXMpCisgICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJh
Y2socHJvcHMpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh0aGlzLmRvbU5vZGUgIT09IGRv
bU5vZGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBpZiAoYWNjZXNz
aWJpbGl0eVByb3BlcnRpZXMgJiYgIWFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQpIHsK
LSAgICAgICAgICAgICAgICB2YXIgcm9sZSA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGU7
CisgICAgICAgICAgICBpZiAocHJvcHMgJiYgcHJvcHMuZXhpc3RzKSB7CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgdmFyIGlnbm9yZWQgPSAocHJvcHMuaWdub3JlZCA/ICJ0cnVl
IiA6ICIiKTsKKyAgICAgICAgICAgICAgICB2YXIgaW52YWxpZCA9IChwcm9wcy5pbnZhbGlkICYm
IHByb3BzLmludmFsaWQgIT09ICJmYWxzZSIgPyBwcm9wcy5pbnZhbGlkIDogIiIpOwogCisgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IGxhYmVsIHdpbGwgYWx3YXlzIGNvbWUgYmFjayBhcyBlbXB0
eS4gQmxvY2tlZCBieSBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEzNAorICAgICAgICAgICAgICAg
IHZhciBsYWJlbCA9IHByb3BzLmxhYmVsOworICAgICAgICAgICAgICAgIGlmIChsYWJlbCAmJiBs
YWJlbCAhPT0gZG9tTm9kZS5nZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSkKKyAgICAgICAgICAg
ICAgICAgICAgbGFiZWwgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIChjb21wdXRlZCkiKS5m
b3JtYXQobGFiZWwpOworCisgICAgICAgICAgICAgICAgdmFyIHJlcXVpcmVkID0gKHByb3BzLnN1
cHBvcnRzUmVxdWlyZWQgPyAocHJvcHMucmVxdWlyZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKSA6ICIi
KTsKKworICAgICAgICAgICAgICAgIHZhciByb2xlID0gcHJvcHMucm9sZTsKICAgICAgICAgICAg
ICAgICBpZiAocm9sZSA9PT0gIiIgfHwgcm9sZSA9PT0gInVua25vd24iKQogICAgICAgICAgICAg
ICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyBleGFjdCBBUklBIHJvbGUg
bWF0Y2guIik7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAocm9sZSkgewpAQCAtMjU2LDE1ICsy
NjgsMjAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGUgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIiVzIChjb21wdXRlZCkiKS5mb3JtYXQocm9sZSk7CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBsYWJlbCB3aWxsIGFs
d2F5cyBjb21lIGJhY2sgYXMgZW1wdHkuIEJsb2NrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi8x
MjExMzQKLSAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5sYWJlbDsKLSAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYgbGFiZWwgIT09IGRvbU5vZGUu
Z2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCi0gICAgICAgICAgICAgICAgICAgIGxhYmVsID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KGxhYmVsKTsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cudmFsdWUgPSBp
Z25vcmVkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJv
dy52YWx1ZSA9IGludmFsaWQ7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVMYWJlbFJvdy52YWx1ZSA9IGxhYmVsOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2li
aWxpdHlOb2RlUm9sZVJvdy52YWx1ZSA9IHJvbGU7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9IHJlcXVpcmVkOwogCi0gICAgICAgICAg
ICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93LnZhbHVlID0gbGFi
ZWw7Ci0gICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVS
b3cudmFsdWUgPSByb2xlOwotCi0gICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eUdy
b3VwLnJvd3MgPSBbdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93LCB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkUm9sZVJvd107CisgICAgICAgICAgICAgICAgLy8g
ZGlzcGxheSBvcmRlciwgbm90IGFscGhhCisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eUdyb3VwLnJvd3MgPSBbCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxp
dHlOb2RlSWdub3JlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0
eU5vZGVSb2xlUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9k
ZUxhYmVsUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJl
cXVpcmVkUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlu
dmFsaWRSb3cKKyAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vz
c2liaWxpdHlFbXB0eVJvdy5oaWRlRW1wdHlNZXNzYWdlKCk7CiAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0gW3RoaXMu
X2FjY2Vzc2liaWxpdHlFbXB0eVJvd107Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224172</attachid>
            <date>2014-02-14 00:10:54 -0800</date>
            <delta_ts>2014-02-14 10:13:02 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>20785</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDA5NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTEzICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTEzICBS
b2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbmRvd3NdIFVu
cmV2aWV3ZWQgZ2FyZGVuaW5nIG9mIHNvbWUgdGltaW5nIG91dCB0ZXN0cy4KSW5kZXg6IExheW91
dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNG
b3JOb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0b3It
cHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dl
dEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNDIgQEAKK0NoZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9y
IHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUgSW5zcGVjdG9yLgorCisgICAgICAgICAgIAorVG90YWwg
ZWxlbWVudHMgdG8gYmUgdGVzdGVkOiAxNS4KKworPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZh
bHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IGltZworICAg
IHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0iIj4K
KyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UK
KyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAgc3Vw
cG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGltZyBzcmM9Ii4vNDA0LmdpZiI+CisgICAgZXhpc3Rz
OiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6
IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IGltZworICAgIHN1cHBvcnRzUmVxdWly
ZWQ6IGZhbHNlCisKKzxpbnB1dCBhcmlhLWludmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFsLXRv
LXRydWUiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxp
ZDogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAg
ICBzdXBwb3J0c1JlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCBhcmlhLWludmFsaWQ9InNwZWxsaW5n
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IHNw
ZWxsaW5nCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAg
IHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IGFyaWEtcmVxdWlyZWQ9InRydWUiPgor
ICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UK
KyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0
c1JlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCByZXF1aXJlZD0iIj4KKyAgICBleGlzdHM6IHRydWUK
KyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAg
IHJlcXVpcmVkOiB0cnVlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQor
Cis8aW5wdXQgdHlwZT0iYnV0dG9uIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBm
YWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxz
ZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxidXR0
b24+PC9idXR0b24+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2IHJvbGU9ImJ1dHRv
biIgdGFiaW5kZXg9IjAiPjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZh
bHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNl
CisgICAgcm9sZTogYnV0dG9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPHNwYW4+
PC9zcGFuPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlk
OiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAg
ICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1
ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAg
ICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxz
ZQorCis8ZGl2IHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48L2Rpdj4KKyAgICBleGlz
dHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJl
bDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogcHJlc2VudGF0aW9uCisgICAgc3Vw
cG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGRpdj48ZGl2PjwvZGl2PjwvZGl2PgorICAgIGV4aXN0
czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVs
OiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVk
OiBmYWxzZQorCis8c2NyaXB0Pjwvc2NyaXB0PgorICAgIGV4aXN0czogZmFsc2UKKyAgICBpZ25v
cmVkOiB0cnVlCisgICAgaW52YWxpZDogCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxz
ZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKworCkluZGV4OiBM
YXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0
aWVzRm9yTm9kZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxp
dHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTAgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+CisKKzxwPkNo
ZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9yIHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUg
SW5zcGVjdG9yLjwvcD4KKworPCEtLSBUaGlzIG9uZSBpcyBuZXZlciByZW5kZXJlZCwgc28gImV4
aXN0cyIgc2hvdWxkIHJldHVybiBmYWxzZS4gLS0+Cis8c2NyaXB0IGNsYXNzPSJleCI+PC9zY3Jp
cHQ+CisKKzwhLS0gVGhlIHJlc3QgYXJlIHJlbmRlcmVkIHdpdGggdmFyaW91cyBwcm9wZXJ0eSBk
aWZmZXJlbmNlcy4gLS0+Cis8ZGl2IGNsYXNzPSJleCI+PGRpdj48L2Rpdj48L2Rpdj4KKzxkaXYg
Y2xhc3M9ImV4IiByb2xlPSJwcmVzZW50YXRpb24iPjxkaXY+PC9kaXY+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJleCI+PC9kaXY+Cis8c3BhbiBjbGFzcz0iZXgiPjwvc3Bhbj4KKworPGRpdiBjbGFzcz0i
ZXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjwvZGl2PgorPGJ1dHRvbiBjbGFzcz0iZXgi
PjwvYnV0dG9uPgorPGlucHV0IGNsYXNzPSJleCIgdHlwZT0iYnV0dG9uIj4KKworPGlucHV0IGNs
YXNzPSJleCIgcmVxdWlyZWQ+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLXJlcXVpcmVkPSJ0cnVl
Ij4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmciPgorPGlucHV0IGNs
YXNzPSJleCIgYXJpYS1pbnZhbGlkPSJmYWtlLXZhbHVlLXdpbGwtZXZhbC10by10cnVlIj4KKwor
PGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIj4KKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4v
NDA0LmdpZiIgYWx0PSIiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9Ingi
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uICQoc2VsZWN0
b3IpIHsKKyAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7Cit9
CitmdW5jdGlvbiBjbGVhbnVwKCkgeworICAgIHZhciBleGFtcGxlcyA9ICQoIi5leCIpOworICAg
IGZvciAoZWwgaW4gZXhhbXBsZXMpCisgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7
Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisKKyAgICB2YXIgZXhhbXBsZXMgPSBbXTsKKworICAg
IGZ1bmN0aW9uIGxvb3AoKSB7CisgICAgICAgIGlmIChleGFtcGxlcy5sZW5ndGgpIHsKKyAgICAg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5nZXRPdXRlckhUTUwiLCB7Im5v
ZGVJZCI6IGV4YW1wbGVzW2V4YW1wbGVzLmxlbmd0aC0xXX0sIG9uR290T3V0ZXJIVE1MKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJcbiIpOworICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiUnVudGltZS5ldmFsdWF0ZSIsIHsi
ZXhwcmVzc2lvbiI6ICJjbGVhbnVwKCkifSwgZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0K
KyAgICB9OworCisgICAgZnVuY3Rpb24gb25Hb3REb2N1bWVudChyZXNwb25zZSkgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LnNlbmRDb21tYW5kKCJET00ucXVlcnlTZWxlY3RvckFsbCIsIHsibm9kZUlkIjogcmVz
cG9uc2UucmVzdWx0LnJvb3Qubm9kZUlkLCAic2VsZWN0b3IiOiAiLmV4In0sIG9uUXVlcnlTZWxl
Y3RvckFsbCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25RdWVyeVNlbGVjdG9yQWxsKHJlc3Bv
bnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7Cisg
ICAgICAgIGV4YW1wbGVzID0gcmVzcG9uc2UucmVzdWx0Lm5vZGVJZHM7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKCJUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6ICIgKyBleGFtcGxlcy5s
ZW5ndGggKyAiLiIpOworICAgICAgICBsb29wKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25H
b3RPdXRlckhUTUwocmVzcG9uc2UpeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJy
b3IocmVzcG9uc2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iICsgcmVzcG9uc2Uu
cmVzdWx0Lm91dGVySFRNTC5yZXBsYWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
Rm9yTm9kZSIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RB
WFByb3BzKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvbkdvdEFYUHJvcHMocmVzcG9uc2UpIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAg
Zm9yIChwcm9wIGluIHJlc3BvbnNlLnJlc3VsdC5wcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICBp
ZiAocHJvcCAhPT0gIm5vZGVJZCIpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IiAgICAiICsgcHJvcCArICI6ICIgKyByZXNwb25zZS5yZXN1bHQucHJvcGVydGllc1twcm9wXSk7
CisgICAgICAgIH0KKyAgICAgICAgZXhhbXBsZXMucG9wKCk7CisgICAgICAgIGxvb3AoKTsKKyAg
ICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0RG9jdW1lbnQiLCB7
fSwgb25Hb3REb2N1bWVudCk7CisKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MDk0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQtMDItMTMgIEphbWVzIENyYWln
ICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWDogbW9yZSBw
cm9wZXJ0aWVzOiBleGlzdHMsIHJlcXVpcmVkLCBhbmQgaW52YWxpZCAoZXhpc3RzIHdhcyBwcmV2
aW91c2x5IGNvbWJpbmVkIHdpdGggaWdub3JlZCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODUwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9ucyB0byB0aGUgYWNjZXNzaWJpbGl0eSBub2Rl
IGluc3BlY3RvcjogZXhpc3RzLCByZXF1aXJlZCwgaW52YWxpZC4KKworICAgICAgICBUZXN0OiBp
bnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5o
dG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yQWNjZXNzaWJpbGl0
eVByb3BlcnRpZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbjoKKwog
MjAxNC0wMi0xMyAgQnl1bmdzZW9uIFNoaW4gIDxzdW4uc2hpbkBsZ2UuY29tPgogCiAgICAgICAg
IFtNU0VdIE1vdmUgUHVibGljVVJMTWFuYWdlciBzaHV0ZG93biBsb2dpYyBzbyBBY3RpdmVET01P
YmplY3RzIGFzc29jaWF0ZWQgd2l0aCBwdWJsaWMgVVJMcyB3b24ndCBsZWFrLgpJbmRleDogU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCShyZXZpc2lv
biAxNjQwNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDE1LDI2ICsxNDE1LDM0IEBACiAgICAgaWYgKCFXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICBXZWJD
b3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CiAKKyAgICBib29sIGV4
aXN0cyA9IGZhbHNlOwogICAgIGJvb2wgaWdub3JlZCA9IHRydWU7Ci0KLSAgICAvLyBDb21wdXRl
ZCBBUklBIFJvbGUKKyAgICBTdHJpbmcgaW52YWxpZDsKKyAgICBTdHJpbmcgbGFiZWw7IC8vIEZJ
WE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgYm9vbCByZXF1
aXJlZCA9IGZhbHNlOwogICAgIFN0cmluZyByb2xlOworICAgIGJvb2wgc3VwcG9ydHNSZXF1aXJl
ZCA9IGZhbHNlOwogCi0gICAgLy8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGlu
ZyBvbiBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKLQogICAg
IGlmIChBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9i
amVjdENhY2hlKCkpIHsKICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0
ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUobm9kZSkpIHsKKyAgICAgICAgICAgIGV4aXN0
cyA9IHRydWU7CiAgICAgICAgICAgICBpZ25vcmVkID0gYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlJ
c0lnbm9yZWQoKTsKKyAgICAgICAgICAgIGludmFsaWQgPSBheE9iamVjdC0+aW52YWxpZFN0YXR1
cygpOwogICAgICAgICAgICAgcm9sZSA9IGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsK
KyAgICAgICAgICAgIHN1cHBvcnRzUmVxdWlyZWQgPSBheE9iamVjdC0+c3VwcG9ydHNSZXF1aXJl
ZEF0dHJpYnV0ZSgpOworICAgICAgICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAg
ICAgICAgICAgcmVxdWlyZWQgPSAgYXhPYmplY3QtPmlzUmVxdWlyZWQoKTsKICAgICAgICAgfQog
ICAgIH0KICAgICAKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nl
c3NpYmlsaXR5UHJvcGVydGllcz4gdmFsdWUgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpET006
OkFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzOjpjcmVhdGUoKQorICAgICAgICAuc2V0RXhpc3RzKGV4
aXN0cykKICAgICAgICAgLnNldElnbm9yZWQoaWdub3JlZCkKKyAgICAgICAgLnNldEludmFsaWQo
aW52YWxpZCkKKyAgICAgICAgLnNldExhYmVsKGxhYmVsKQorICAgICAgICAuc2V0UmVxdWlyZWQo
cmVxdWlyZWQpCiAgICAgICAgIC5zZXRSb2xlKHJvbGUpCi0gICAgICAgIC5zZXRMYWJlbChsYWJl
bCkKKyAgICAgICAgLnNldFN1cHBvcnRzUmVxdWlyZWQoc3VwcG9ydHNSZXF1aXJlZCkKICAgICAg
ICAgLnNldE5vZGVJZChwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKIAogICAgIHJldHVy
biB2YWx1ZS5yZWxlYXNlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvRE9NLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTS5qc29uCShyZXZpc2lvbiAxNjQwNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvcHJvdG9jb2wvRE9NLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEzIEBACiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmls
aXR5IHByb3BlcnRpZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg
ICAgICAicHJvcGVydGllcyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQi
LCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUg
YWNjZXNzaWJpbGl0eSBvZiB0aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0
aWNhbGx5IG9yIGV4cGxpY2l0bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhp
c3RzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIg
dGhlcmUgaXMgYW4gZXhpc3RpbmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMg
aXMgZmFsc2UsIGFsbCB0aGUgb3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVz
LiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29s
ZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBv
ZiB0aGUgYXNzb2NpYXRlZCBBWCBvYmplY3Qgbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJp
c3RpY2FsbHkgb3IgZXhwbGljaXRseS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJp
bnZhbGlkIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGlu
dmFsaWQgc3RhdHVzIGZvciBmb3JtIGZpZWxkczogdHJ1ZSwgZmFsc2UsIGdyYW1tYXIsIHNwZWxs
aW5nLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxhYmVsIiwgInR5cGUiOiAic3Ry
aW5nIiwgImRlc2NyaXB0aW9uIjogIkNvbXB1dGVkIGxhYmVsIHZhbHVlIGZvciB0aGUgbm9kZSwg
c29tZXRpbWVzIGNhbGN1bGF0ZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgbm9kZXMuIiB9LAorICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRl
c2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgZWxlbWVudCBpcyByZXF1aXJlZCBvciBu
b3QgcmVxdWlyZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBl
IjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVj
b2duaXplZCByb2xlIHRva2VuLCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRk
ZW4gcm9sZS4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjog
InN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5v
ZGUsIHNvbWV0aW1lcyBjYWxjdWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwK
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInN1cHBvcnRzUmVxdWlyZWQiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgcmVxdWlyZWQgc3Rh
dGUgaXMgcmVsZXZhbnQgZm9yIHRoaXMgZWxlbWVudCAoZm9ybSBmaWVsZHMsIGV0YykuIiB9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRl
c2NyaXB0aW9uIjogIlRhcmdldCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAg
ICAgIF0KICAgICAgICAgfSwKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24g
MTY0MDk0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDE0LTAyLTEzICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhp
c3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5l
ZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4
aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2Rl
LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwu
anM6CisKIDIwMTQtMDItMTMgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogRGF0YUdyaWQgc2hvdWxkIHN1cHBvcnQgZWRpdGluZyB0YWJsZXMg
d2l0aCBhcmJpdHJhcnkgY29sdW1ucwpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzCShyZXZpc2lvbiAxNjQwNDEpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYs
MTEgKzIwNiwxMyBAQAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAYwBv
AG4AIABhAG4AZAAgAFQAZQB4AHQAIAAoAEgAbwByAGkAegBvAG4AdABhAGwAKQAiAF0AIAA9ACAA
IgBJAGMAbwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgA7
AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAYwBvAG4AIABhAG4AZAAg
AFQAZQB4AHQAIAAoAFYAZQByAHQAaQBjAGEAbAApACIAXQAgAD0AIAAiAEkAYwBvAG4AIABhAG4A
ZAAgAFQAZQB4AHQAIAAoAFYAZQByAHQAaQBjAGEAbAApACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBJAGQAZQBuAHQAaQB0AHkAIgBdACAAPQAgACIASQBkAGUAbgB0
AGkAdAB5ACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGcAbgBv
AHIAZQBkACIAXQAgAD0AIAAiAEkAZwBuAG8AcgBlAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQAiAF0AIAA9ACAAIgBJAG0AYQBnAGUAIgA7AAog
AGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQAgAFMAaQB6AGUA
IgBdACAAPQAgACIASQBtAGEAZwBlACAAUwBpAHoAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIASQBtAGEAZwBlAHMAIgBdACAAPQAgACIASQBtAGEAZwBlAHMAIgA7
AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBoAGUAcgBpAHQAZQBk
ACAARgByAG8AbQA6ACAAIgBdACAAPQAgACIASQBuAGgAZQByAGkAdABlAGQAIABGAHIAbwBtADoA
IAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAGkAdABpAGEA
dABvAHIAIgBdACAAPQAgACIASQBuAGkAdABpAGEAdABvAHIAIgA7AAorAGwAbwBjAGEAbABpAHoA
ZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgB2AGEAbABpAGQAIgBdACAAPQAgACIASQBuAHYAYQBs
AGkAZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAHAAdQB0
ADoAIAAiAF0AIAA9ACAAIgBJAG4AcAB1AHQAOgAgACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABT
AHQAcgBpAG4AZwBzAFsAIgBJAG4AcwBwAGUAYwB0ACIAXQAgAD0AIAAiAEkAbgBzAHAAZQBjAHQA
IgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgB2AGUAcgB0ACAA
YwBhAGwAbAAgAHQAcgBlAGUAIgBdACAAPQAgACIASQBuAHYAZQByAHQAIABjAGEAbABsACAAdABy
AGUAZQAiADsACkBAIC0zMTEsNiArMzEzLDcgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAAJgAgAFIAZQBzAHAAbwBuAHMAZQAiAF0AIAA9ACAA
IgBSAGUAcQB1AGUAcwB0ACAAJgAgAFIAZQBzAHAAbwBuAHMAZQAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgAEQAYQB0AGEAIgBdACAAPQAg
ACIAUgBlAHEAdQBlAHMAdAAgAEQAYQB0AGEAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdABy
AGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABIAGUAYQBkAGUAcgBzACIAXQAgAD0AIAAiAFIA
ZQBxAHUAZQBzAHQAIABIAGUAYQBkAGUAcgBzACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQA
cgBpAG4AZwBzAFsAIgBSAGUAcQB1AGkAcgBlAGQAIgBdACAAPQAgACIAUgBlAHEAdQBpAHIAZQBk
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBj
AGUAIgBdACAAPQAgACIAUgBlAHMAbwB1AHIAYwBlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABT
AHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAXQAgAD0AIAAiAFIA
ZQBzAG8AdQByAGMAZQAgAFQAeQBwAGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkA
bgBnAHMAWwAiAFIAZQBzAG8AdQByAGMAZQBzACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQBz
ACIAOwAKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGUu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9N
Tm9kZS5qcwkocmV2aXNpb24gMTY0MDQxKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRE9NTm9kZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNDQzLDEzICs0NDMsMTcgQEAK
IAogICAgIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzOiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7
Ci0gICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soZXJyb3Is
IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKQorICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5
UHJvcGVydGllc0NhbGxiYWNrKGVycm9yLCBwcm9wcykKICAgICAgICAgewotICAgICAgICAgICAg
aWYgKCFlcnJvciAmJiBjYWxsYmFjaykgeworICAgICAgICAgICAgaWYgKCFlcnJvciAmJiBjYWxs
YmFjayAmJiBwcm9wcykgewogICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsKLSAgICAgICAgICAg
ICAgICAgICAgaWdub3JlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCwKLSAgICAg
ICAgICAgICAgICAgICAgcm9sZTogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZSwKLSAgICAg
ICAgICAgICAgICAgICAgbGFiZWw6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxhYmVsCisgICAg
ICAgICAgICAgICAgICAgIGV4aXN0czogcHJvcHMuZXhpc3RzLAorICAgICAgICAgICAgICAgICAg
ICBpZ25vcmVkOiBwcm9wcy5pZ25vcmVkLAorICAgICAgICAgICAgICAgICAgICBpbnZhbGlkOiBw
cm9wcy5pbnZhbGlkLAorICAgICAgICAgICAgICAgICAgICBsYWJlbDogcHJvcHMubGFiZWwsCisg
ICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBwcm9wcy5yZXF1aXJlZCwKKyAgICAgICAgICAg
ICAgICAgICAgcm9sZTogcHJvcHMucm9sZSwKKyAgICAgICAgICAgICAgICAgICAgc3VwcG9ydHNS
ZXF1aXJlZDogcHJvcHMuc3VwcG9ydHNSZXF1aXJlZAogICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwkocmV2aXNpb24gMTY0MDQxKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDkgKzUyLDExIEBACiAgICAgdmFyIGV2ZW50TGlzdGVuZXJzU2VjdGlvbiA9IG5ldyBXZWJJbnNw
ZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRvbS1ub2RlLWV2ZW50LWxpc3RlbmVycyIsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiRXZlbnQgTGlzdGVuZXJzIiksIFt0aGlzLl9ldmVudExpc3RlbmVyc1Nl
Y3Rpb25Hcm91cF0pOyAgICAKIAogICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvdyA9IG5l
dyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Sb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJO
byBBY2Nlc3NpYmlsaXR5IEluZm9ybWF0aW9uIikpOwotICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlQ29tcHV0ZWRMYWJlbFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1w
bGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYWJlbCIpKTsKLSAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZUNvbXB1dGVkUm9sZVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rp
b25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSb2xlIikpOwotICAgIAorICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWls
c1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJZ25vcmVkIikpOworICAg
IHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0
YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZhbGlkIikpOwor
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Cisg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXF1aXJlZCIp
KTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsK
IAogICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWls
c1NlY3Rpb25Hcm91cChbdGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93XSk7CiAgICAgdmFyIGFj
Y2Vzc2liaWxpdHlTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigiZG9t
LW5vZGUtYWNjZXNzaWJpbGl0eSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWNjZXNzaWJpbGl0
eSIpLCBbdGhpcy5fYWNjZXNzaWJpbGl0eUdyb3VwXSk7ICAgIApAQCAtMjM5LDE0ICsyNDEsMjQg
QEAKICAgICAgICAgaWYgKCFkb21Ob2RlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soYWNjZXNzaWJpbGl0eVBy
b3BlcnRpZXMpCisgICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJh
Y2socHJvcHMpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh0aGlzLmRvbU5vZGUgIT09IGRv
bU5vZGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBpZiAoYWNjZXNz
aWJpbGl0eVByb3BlcnRpZXMgJiYgIWFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQpIHsK
LSAgICAgICAgICAgICAgICB2YXIgcm9sZSA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGU7
CisgICAgICAgICAgICBpZiAocHJvcHMgJiYgcHJvcHMuZXhpc3RzKSB7CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgdmFyIGlnbm9yZWQgPSAocHJvcHMuaWdub3JlZCA/ICJ0cnVl
IiA6ICIiKTsKKyAgICAgICAgICAgICAgICB2YXIgaW52YWxpZCA9IChwcm9wcy5pbnZhbGlkICYm
IHByb3BzLmludmFsaWQgIT09ICJmYWxzZSIgPyBwcm9wcy5pbnZhbGlkIDogIiIpOwogCisgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IGxhYmVsIHdpbGwgYWx3YXlzIGNvbWUgYmFjayBhcyBlbXB0
eS4gQmxvY2tlZCBieSBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEzNAorICAgICAgICAgICAgICAg
IHZhciBsYWJlbCA9IHByb3BzLmxhYmVsOworICAgICAgICAgICAgICAgIGlmIChsYWJlbCAmJiBs
YWJlbCAhPT0gZG9tTm9kZS5nZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSkKKyAgICAgICAgICAg
ICAgICAgICAgbGFiZWwgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIChjb21wdXRlZCkiKS5m
b3JtYXQobGFiZWwpOworCisgICAgICAgICAgICAgICAgdmFyIHJlcXVpcmVkID0gKHByb3BzLnN1
cHBvcnRzUmVxdWlyZWQgPyAocHJvcHMucmVxdWlyZWQgPyAidHJ1ZSIgOiAiZmFsc2UiKSA6ICIi
KTsKKworICAgICAgICAgICAgICAgIHZhciByb2xlID0gcHJvcHMucm9sZTsKICAgICAgICAgICAg
ICAgICBpZiAocm9sZSA9PT0gIiIgfHwgcm9sZSA9PT0gInVua25vd24iKQogICAgICAgICAgICAg
ICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyBleGFjdCBBUklBIHJvbGUg
bWF0Y2guIik7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAocm9sZSkgewpAQCAtMjU2LDE1ICsy
NjgsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGUgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIiVzIChjb21wdXRlZCkiKS5mb3JtYXQocm9sZSk7CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBsYWJlbCB3aWxsIGFs
d2F5cyBjb21lIGJhY2sgYXMgZW1wdHkuIEJsb2NrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi8x
MjExMzQKLSAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5sYWJlbDsKLSAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYgbGFiZWwgIT09IGRvbU5vZGUu
Z2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCi0gICAgICAgICAgICAgICAgICAgIGxhYmVsID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KGxhYmVsKTsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cudmFsdWUgPSBp
Z25vcmVkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJv
dy52YWx1ZSA9IGludmFsaWQ7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVMYWJlbFJvdy52YWx1ZSA9IGxhYmVsOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2li
aWxpdHlOb2RlUmVxdWlyZWRSb3cudmFsdWUgPSByZXF1aXJlZDsKKyAgICAgICAgICAgICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3cudmFsdWUgPSByb2xlOwogCi0gICAgICAgICAg
ICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93LnZhbHVlID0gbGFi
ZWw7Ci0gICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVS
b3cudmFsdWUgPSByb2xlOwotCi0gICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eUdy
b3VwLnJvd3MgPSBbdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93LCB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkUm9sZVJvd107CisgICAgICAgICAgICAgICAgdGhp
cy5fYWNjZXNzaWJpbGl0eUdyb3VwLnJvd3MgPSBbCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5f
YWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nl
c3NpYmlsaXR5Tm9kZUxhYmVsUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZVJlcXVpcmVkUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZUludmFsaWRSb3cKKyAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICAgICAg
IHRoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvdy5oaWRlRW1wdHlNZXNzYWdlKCk7CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cC5y
b3dzID0gW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd107Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224230</attachid>
            <date>2014-02-14 10:13:02 -0800</date>
            <delta_ts>2014-02-14 10:16:46 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>20945</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDEwNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTEzICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE0ICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdlYktp
dCBuZWVkcyBoZXVyaXN0aWNzIHRvIGRpZmZlcmVudGlhdGUgbGlzdHMgdXNlZCBmb3IgbGF5b3V0
IGZyb20gc2VtYW50aWMgZGF0YSBsaXN0cywgc2ltaWxhciB0byB0aGUgaGV1cmlzdGljcyBmb3Ig
bGF5b3V0IHRhYmxlcyB2ZXJzdXMgZGF0YSB0YWJsZXMuCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2Rv
bS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmls
aXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTQyIEBACitDaGVja2luZyBXZWIgSW5zcGVjdG9yIHByb3RvY29sIGZvciB0aGUgQWNjZXNz
aWJpbGl0eSBOb2RlIEluc3BlY3Rvci4KKworICAgICAgICAgICAKK1RvdGFsIGVsZW1lbnRzIHRv
IGJlIHRlc3RlZDogMTUuCisKKzxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCI+CisgICAgZXhp
c3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxh
YmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBpbWcKKyAgICBzdXBwb3J0c1Jl
cXVpcmVkOiBmYWxzZQorCis8aW1nIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+CisgICAgZXhpc3Rz
OiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6
IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IGltZworICAgIHN1cHBvcnRzUmVxdWly
ZWQ6IGZhbHNlCisKKzxpbWcgc3JjPSIuLzQwNC5naWYiPgorICAgIGV4aXN0czogdHJ1ZQorICAg
IGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1
aXJlZDogZmFsc2UKKyAgICByb2xlOiBpbWcKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQor
Cis8aW5wdXQgYXJpYS1pbnZhbGlkPSJmYWtlLXZhbHVlLXdpbGwtZXZhbC10by10cnVlIj4KKyAg
ICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IHRydWUKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNS
ZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyI+CisgICAgZXhp
c3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBzcGVsbGluZworICAg
IGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1Jl
cXVpcmVkOiB0cnVlCisKKzxpbnB1dCBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4KKyAgICBleGlzdHM6
IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6
IAorICAgIHJlcXVpcmVkOiB0cnVlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDog
dHJ1ZQorCis8aW5wdXQgcmVxdWlyZWQ9IiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3Jl
ZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDog
dHJ1ZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IHR5
cGU9ImJ1dHRvbiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8YnV0dG9uPjwvYnV0dG9u
PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFs
c2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogYnV0dG9uCisg
ICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGRpdiByb2xlPSJidXR0b24iIHRhYmluZGV4
PSIwIj48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGlu
dmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6
IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxzcGFuPjwvc3Bhbj4KKyAg
ICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNS
ZXF1aXJlZDogZmFsc2UKKworPGRpdj48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25v
cmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6
IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGRpdiBy
b2xlPSJwcmVzZW50YXRpb24iPjxkaXY+PC9kaXY+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisg
ICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJl
cXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IHByZXNlbnRhdGlvbgorICAgIHN1cHBvcnRzUmVxdWly
ZWQ6IGZhbHNlCisKKzxkaXY+PGRpdj48L2Rpdj48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAg
ICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVx
dWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKwor
PHNjcmlwdD48L3NjcmlwdD4KKyAgICBleGlzdHM6IGZhbHNlCisgICAgaWdub3JlZDogdHJ1ZQor
ICAgIGludmFsaWQ6IAorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCisKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dl
dEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGll
c0Zvck5vZGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkwIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRlc3QuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25Mb2FkPSJydW5UZXN0KCkiPgorCis8cD5DaGVja2luZyBXZWIg
SW5zcGVjdG9yIHByb3RvY29sIGZvciB0aGUgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3Rvci48
L3A+CisKKzwhLS0gVGhpcyBvbmUgaXMgbmV2ZXIgcmVuZGVyZWQsIHNvICJleGlzdHMiIHNob3Vs
ZCByZXR1cm4gZmFsc2UuIC0tPgorPHNjcmlwdCBjbGFzcz0iZXgiPjwvc2NyaXB0PgorCis8IS0t
IFRoZSByZXN0IGFyZSByZW5kZXJlZCB3aXRoIHZhcmlvdXMgcHJvcGVydHkgZGlmZmVyZW5jZXMu
IC0tPgorPGRpdiBjbGFzcz0iZXgiPjxkaXY+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJleCIg
cm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0iZXgiPjwv
ZGl2PgorPHNwYW4gY2xhc3M9ImV4Ij48L3NwYW4+CisKKzxkaXYgY2xhc3M9ImV4IiByb2xlPSJi
dXR0b24iIHRhYmluZGV4PSIwIj48L2Rpdj4KKzxidXR0b24gY2xhc3M9ImV4Ij48L2J1dHRvbj4K
KzxpbnB1dCBjbGFzcz0iZXgiIHR5cGU9ImJ1dHRvbiI+CisKKzxpbnB1dCBjbGFzcz0iZXgiIHJl
cXVpcmVkPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSI+Cis8aW5wdXQg
Y2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9InNwZWxsaW5nIj4KKzxpbnB1dCBjbGFzcz0iZXgiIGFy
aWEtaW52YWxpZD0iZmFrZS12YWx1ZS13aWxsLWV2YWwtdG8tdHJ1ZSI+CisKKzxpbWcgY2xhc3M9
ImV4IiBzcmM9Ii4vNDA0LmdpZiI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFs
dD0iIj4KKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4Ij4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5jdGlvbiAkKHNlbGVjdG9yKSB7CisgICAg
cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOworfQorZnVuY3Rpb24g
Y2xlYW51cCgpIHsKKyAgICB2YXIgZXhhbXBsZXMgPSAkKCIuZXgiKTsKKyAgICBmb3IgKGVsIGlu
IGV4YW1wbGVzKQorICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworfQorCitmdW5j
dGlvbiB0ZXN0KCkgeworCisgICAgdmFyIGV4YW1wbGVzID0gW107CisKKyAgICBmdW5jdGlvbiBs
b29wKCkgeworICAgICAgICBpZiAoZXhhbXBsZXMubGVuZ3RoKSB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0T3V0ZXJIVE1MIiwgeyJub2RlSWQiOiBleGFt
cGxlc1tleGFtcGxlcy5sZW5ndGgtMV19LCBvbkdvdE91dGVySFRNTCk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iKTsKKyAgICAgICAgICAgIElu
c3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIlJ1bnRpbWUuZXZhbHVhdGUiLCB7ImV4cHJlc3Npb24i
OiAiY2xlYW51cCgpIn0sIGZ1bmN0aW9uKCl7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfTsKKwor
ICAgIGZ1bmN0aW9uIG9uR290RG9jdW1lbnQocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5k
Q29tbWFuZCgiRE9NLnF1ZXJ5U2VsZWN0b3JBbGwiLCB7Im5vZGVJZCI6IHJlc3BvbnNlLnJlc3Vs
dC5yb290Lm5vZGVJZCwgInNlbGVjdG9yIjogIi5leCJ9LCBvblF1ZXJ5U2VsZWN0b3JBbGwpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIG9uUXVlcnlTZWxlY3RvckFsbChyZXNwb25zZSkgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAgICAgICBleGFt
cGxlcyA9IHJlc3BvbnNlLnJlc3VsdC5ub2RlSWRzOworICAgICAgICBJbnNwZWN0b3JUZXN0Lmxv
ZygiVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiAiICsgZXhhbXBsZXMubGVuZ3RoICsgIi4i
KTsKKyAgICAgICAgbG9vcCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uR290T3V0ZXJIVE1M
KHJlc3BvbnNlKXsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNl
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuIiArIHJlc3BvbnNlLnJlc3VsdC5vdXRl
ckhUTUwucmVwbGFjZSgiIGNsYXNzPVwiZXhcIiIsICIiKSk7CisgICAgICAgIEluc3BlY3RvclRl
c3Quc2VuZENvbW1hbmQoIkRPTS5nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUiLCB7
Im5vZGVJZCI6IGV4YW1wbGVzW2V4YW1wbGVzLmxlbmd0aC0xXX0sIG9uR290QVhQcm9wcyk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gb25Hb3RBWFByb3BzKHJlc3BvbnNlKSB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIGZvciAocHJvcCBp
biByZXNwb25zZS5yZXN1bHQucHJvcGVydGllcykgeworICAgICAgICAgICAgaWYgKHByb3AgIT09
ICJub2RlSWQiKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIgICAgIiArIHBy
b3AgKyAiOiAiICsgcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXNbcHJvcF0pOworICAgICAgICB9
CisgICAgICAgIGV4YW1wbGVzLnBvcCgpOworICAgICAgICBsb29wKCk7CisgICAgfQorCisgICAg
SW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldERvY3VtZW50Iiwge30sIG9uR290RG9j
dW1lbnQpOworCit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE2NDEwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTEzICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczog
ZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21i
aW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6
IGV4aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yLXBy
b3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbAorCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb246CisKIDIwMTQtMDItMTQg
IENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV2Vi
S2l0IG5lZWRzIGhldXJpc3RpY3MgdG8gZGlmZmVyZW50aWF0ZSBsaXN0cyB1c2VkIGZvciBsYXlv
dXQgZnJvbSBzZW1hbnRpYyBkYXRhIGxpc3RzLCBzaW1pbGFyIHRvIHRoZSBoZXVyaXN0aWNzIGZv
ciBsYXlvdXQgdGFibGVzIHZlcnN1cyBkYXRhIHRhYmxlcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAkocmV2aXNpb24gMTY0MTA3KQor
KysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQxNSwyNiArMTQxNSwzNCBAQAogICAgIGlmICghV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKICAgICAgICAgV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwogCisgICAgYm9vbCBleGlzdHMgPSBmYWxz
ZTsKICAgICBib29sIGlnbm9yZWQgPSB0cnVlOwotCi0gICAgLy8gQ29tcHV0ZWQgQVJJQSBSb2xl
CisgICAgU3RyaW5nIGludmFsaWQ7CisgICAgU3RyaW5nIGxhYmVsOyAvLyBGSVhNRTogV2FpdGlu
ZyBvbiBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEzNAorICAgIGJvb2wgcmVxdWlyZWQgPSBmYWxz
ZTsKICAgICBTdHJpbmcgcm9sZTsKKyAgICBib29sIHN1cHBvcnRzUmVxdWlyZWQgPSBmYWxzZTsK
IAotICAgIC8vIENvbXB1dGVkIExhYmVsCi0gICAgLy8gRklYTUU6IFdhaXRpbmcgb24gaHR0cDov
L3dlYmtpdC5vcmcvYi8xMjExMzQKLSAgICBTdHJpbmcgbGFiZWw7Ci0KICAgICBpZiAoQVhPYmpl
Y3RDYWNoZSogYXhPYmplY3RDYWNoZSA9IG5vZGUtPmRvY3VtZW50KCkuYXhPYmplY3RDYWNoZSgp
KSB7CiAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iamVjdCA9IGF4T2JqZWN0
Q2FjaGUtPmdldE9yQ3JlYXRlKG5vZGUpKSB7CisgICAgICAgICAgICBleGlzdHMgPSB0cnVlOwog
ICAgICAgICAgICAgaWdub3JlZCA9IGF4T2JqZWN0LT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCk7
CisgICAgICAgICAgICBpbnZhbGlkID0gYXhPYmplY3QtPmludmFsaWRTdGF0dXMoKTsKICAgICAg
ICAgICAgIHJvbGUgPSBheE9iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7CisgICAgICAgICAg
ICBzdXBwb3J0c1JlcXVpcmVkID0gYXhPYmplY3QtPnN1cHBvcnRzUmVxdWlyZWRBdHRyaWJ1dGUo
KTsKKyAgICAgICAgICAgIGlmIChzdXBwb3J0c1JlcXVpcmVkKQorICAgICAgICAgICAgICAgIHJl
cXVpcmVkID0gIGF4T2JqZWN0LT5pc1JlcXVpcmVkKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAg
CiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkRPTTo6QWNjZXNzaWJpbGl0eVBy
b3BlcnRpZXM+IHZhbHVlID0gSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmls
aXR5UHJvcGVydGllczo6Y3JlYXRlKCkKKyAgICAgICAgLnNldEV4aXN0cyhleGlzdHMpCiAgICAg
ICAgIC5zZXRJZ25vcmVkKGlnbm9yZWQpCisgICAgICAgIC5zZXRJbnZhbGlkKGludmFsaWQpCisg
ICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAgICAgLnNldFJlcXVpcmVkKHJlcXVpcmVkKQog
ICAgICAgICAuc2V0Um9sZShyb2xlKQotICAgICAgICAuc2V0TGFiZWwobGFiZWwpCisgICAgICAg
IC5zZXRTdXBwb3J0c1JlcXVpcmVkKHN1cHBvcnRzUmVxdWlyZWQpCiAgICAgICAgIC5zZXROb2Rl
SWQocHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKSk7CiAKICAgICByZXR1cm4gdmFsdWUucmVs
ZWFzZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29u
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNv
bgkocmV2aXNpb24gMTY0MTA3KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC01OSw5ICs1OSwxMyBAQAogICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkEgc3RydWN0dXJlIGhvbGRpbmcgYWNjZXNzaWJpbGl0eSBwcm9wZXJ0
aWVzLiIsCiAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgInByb3Bl
cnRpZXMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZ25vcmVkIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGFjY2Vzc2liaWxp
dHkgb2YgdGhlIERPTSBub2RlIGlzIGlnbm9yZWQsIHdoZXRoZXIgaGV1cmlzdGljYWxseSBvciBl
eHBsaWNpdGx5LiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4aXN0cyIsICJ0eXBl
IjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGFu
IGV4aXN0aW5nIEFYIG9iamVjdCBmb3IgdGhlIERPTSBub2RlLiBJZiB0aGlzIGlzIGZhbHNlLCBh
bGwgdGhlIG90aGVyIHByb3BlcnRpZXMgd2lsbCBiZSBkZWZhdWx0IHZhbHVlcy4iIH0sCisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJpZ25vcmVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNj
cmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIGFzc29j
aWF0ZWQgQVggb2JqZWN0IG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNhbGx5IG9y
IGV4cGxpY2l0bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaW52YWxpZCIsICJ0
eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHRoZSBpbnZhbGlkIHN0YXR1
cyBmb3IgZm9ybSBmaWVsZHM6IHRydWUsIGZhbHNlLCBncmFtbWFyLCBzcGVsbGluZy4iIH0sCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBj
YWxjdWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwKKyAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJlcXVpcmVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6
ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgcmVxdWlyZWQgb3Igbm90IHJlcXVpcmVk
LiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJvbGUiLCAidHlwZSI6ICJzdHJpbmci
LCAiZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZpcnN0IHJlY29nbml6ZWQgcm9s
ZSB0b2tlbiwgZGVmYXVsdCByb2xlIHBlciBlbGVtZW50LCBvciBvdmVycmlkZGVuIHJvbGUuIiB9
LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGFiZWwiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgbGFiZWwgdmFsdWUgZm9yIHRoZSBub2RlLCBzb21ldGlt
ZXMgY2FsY3VsYXRlZCBieSByZWZlcmVuY2luZyBvdGhlciBub2Rlcy4iIH0sCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJzdXBwb3J0c1JlcXVpcmVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJk
ZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIHJlcXVpcmVkIHN0YXRlIGlzIHJlbGV2
YW50IGZvciB0aGlzIGVsZW1lbnQgKGZvcm0gZmllbGRzLCBldGMpLiIgfSwKICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6
ICJUYXJnZXQgPGNvZGU+RE9NTm9kZTwvY29kZT4gaWQuIiB9CiAgICAgICAgICAgICBdCiAgICAg
ICAgIH0sCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDEwNykKKysr
IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNiBAQAorMjAxNC0wMi0xMyAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywgcmVxdWly
ZWQsIGFuZCBpbnZhbGlkIChleGlzdHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0aCBpZ25v
cmVkKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4
NTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
aXRpb25zIHRvIHRoZSBhY2Nlc3NpYmlsaXR5IG5vZGUgaW5zcGVjdG9yOiBleGlzdHMsIHJlcXVp
cmVkLCBpbnZhbGlkLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRE9NTm9kZS5qczoKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorCiAyMDE0
LTAyLTEzICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IERhdGFHcmlkIHNob3VsZCBzdXBwb3J0IGVkaXRpbmcgdGFibGVzIHdpdGggYXJiaXRy
YXJ5IGNvbHVtbnMKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2Vu
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3Bl
Y3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkocmV2aXNp
b24gMTY0MTA3KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjA2LDExICsyMDYsMTMg
QEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAAYQBuAGQA
IABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBdACAAPQAgACIASQBjAG8AbgAg
AGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEAbAApACIAOwAKIABsAG8AYwBh
AGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAAYQBuAGQAIABUAGUAeAB0ACAA
KABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBuACAAYQBuAGQAIABUAGUAeAB0
ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBu
AGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkAZABlAG4AdABpAHQAeQAiADsA
CisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBnAG4AbwByAGUAZAAiAF0A
IAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4A
ZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBlACIAOwAKIABsAG8AYwBhAGwA
aQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABTAGkAegBlACIAXQAgAD0AIAAi
AEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBn
AHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcAZQBzACIAOwAKIABsAG8AYwBh
AGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIAaQB0AGUAZAAgAEYAcgBvAG0A
OgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgByAG8AbQA6ACAAIgA7AAogAGwA
bwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBpAHQAaQBhAHQAbwByACIAXQAg
AD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkAbgB2AGEAbABpAGQAIgA7AAog
AGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBwAHUAdAA6ACAAIgBdACAA
PQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcA
cwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBwAGUAYwB0ACIAOwAKIABsAG8A
YwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBlAHIAdAAgAGMAYQBsAGwAIAB0
AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwAbAAgAHQAcgBlAGUAIgA7AApA
QCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
UgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBdACAAPQAgACIAUgBlAHEAdQBl
AHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdABy
AGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAXQAgAD0AIAAiAFIAZQBxAHUA
ZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsA
IgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9ACAAIgBSAGUAcQB1AGUAcwB0
ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBb
ACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUAaQByAGUAZAAiADsACiAAbABv
AGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACIAXQAgAD0A
IAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcA
cwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBj
AGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBS
AGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBjAGUAcwAiADsACkluZGV4
OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGUuanMJKHJl
dmlzaW9uIDE2NDEwNykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RP
TU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0MywxMyArNDQzLDE3IEBACiAKICAgICBhY2Nl
c3NpYmlsaXR5UHJvcGVydGllczogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAgewotICAgICAgICBm
dW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGVycm9yLCBhY2Nlc3NpYmls
aXR5UHJvcGVydGllcykKKyAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXND
YWxsYmFjayhlcnJvciwgcHJvcHMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICghZXJyb3Ig
JiYgY2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IgJiYgY2FsbGJhY2sgJiYgcHJv
cHMpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayh7Ci0gICAgICAgICAgICAgICAgICAgIGln
bm9yZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQsCi0gICAgICAgICAgICAgICAg
ICAgIHJvbGU6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGUsCi0gICAgICAgICAgICAgICAg
ICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5sYWJlbAorICAgICAgICAgICAgICAg
ICAgICBleGlzdHM6IHByb3BzLmV4aXN0cywKKyAgICAgICAgICAgICAgICAgICAgaWdub3JlZDog
cHJvcHMuaWdub3JlZCwKKyAgICAgICAgICAgICAgICAgICAgaW52YWxpZDogcHJvcHMuaW52YWxp
ZCwKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BzLmxhYmVsLAorICAgICAgICAgICAg
ICAgICAgICByZXF1aXJlZDogcHJvcHMucmVxdWlyZWQsCisgICAgICAgICAgICAgICAgICAgIHJv
bGU6IHByb3BzLnJvbGUsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHBy
b3BzLnN1cHBvcnRzUmVxdWlyZWQKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9N
Tm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMJKHJldmlz
aW9uIDE2NDEwNykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1MiwxMSBA
QAogICAgIHZhciBldmVudExpc3RlbmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uKCJkb20tbm9kZS1ldmVudC1saXN0ZW5lcnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkV2ZW50IExpc3RlbmVycyIpLCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNTZWN0aW9uR3JvdXBd
KTsgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBuZXcgV2ViSW5zcGVj
dG9yLkRldGFpbHNTZWN0aW9uUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gQWNjZXNzaWJp
bGl0eSBJbmZvcm1hdGlvbiIpKTsKLSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVk
TGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYklu
c3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVD
b21wdXRlZFJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsKLSAgICAKKyAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2lt
cGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSWdub3JlZCIpKTsKKyAgICB0aGlzLl9hY2Nl
c3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9u
U2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZCIpKTsKKyAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlv
blNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikpOworICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWlyZWQiKSk7CisgICAgdGhp
cy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2Vj
dGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJvbGUiKSk7CiAKICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3Jv
dXAoW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd10pOwogICAgIHZhciBhY2Nlc3NpYmlsaXR5
U2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRvbS1ub2RlLWFjY2Vz
c2liaWxpdHkiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFjY2Vzc2liaWxpdHkiKSwgW3RoaXMu
X2FjY2Vzc2liaWxpdHlHcm91cF0pOyAgICAKQEAgLTIzOSwxNCArMjQxLDI0IEBACiAgICAgICAg
IGlmICghZG9tTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBmdW5jdGlvbiBh
Y2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKQor
ICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKHByb3BzKQog
ICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5kb21Ob2RlICE9PSBkb21Ob2RlKQogICAg
ICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzICYmICFhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pZ25vcmVkKSB7Ci0gICAgICAgICAg
ICAgICAgdmFyIHJvbGUgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5yb2xlOworICAgICAgICAg
ICAgaWYgKHByb3BzICYmIHByb3BzLmV4aXN0cykgeworICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIHZhciBpZ25vcmVkID0gKHByb3BzLmlnbm9yZWQgPyAidHJ1ZSIgOiAiIik7Cisg
ICAgICAgICAgICAgICAgdmFyIGludmFsaWQgPSAocHJvcHMuaW52YWxpZCAmJiBwcm9wcy5pbnZh
bGlkICE9PSAiZmFsc2UiID8gcHJvcHMuaW52YWxpZCA6ICIiKTsKIAorICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBsYWJlbCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgYXMgZW1wdHkuIEJsb2NrZWQg
YnkgaHR0cDovL3dlYmtpdC5vcmcvYi8xMjExMzQKKyAgICAgICAgICAgICAgICB2YXIgbGFiZWwg
PSBwcm9wcy5sYWJlbDsKKyAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYgbGFiZWwgIT09IGRv
bU5vZGUuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCisgICAgICAgICAgICAgICAgICAgIGxh
YmVsID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KGxhYmVs
KTsKKworICAgICAgICAgICAgICAgIHZhciByZXF1aXJlZCA9IChwcm9wcy5zdXBwb3J0c1JlcXVp
cmVkID8gKHByb3BzLnJlcXVpcmVkID8gInRydWUiIDogImZhbHNlIikgOiAiIik7CisKKyAgICAg
ICAgICAgICAgICB2YXIgcm9sZSA9IHByb3BzLnJvbGU7CiAgICAgICAgICAgICAgICAgaWYgKHJv
bGUgPT09ICIiIHx8IHJvbGUgPT09ICJ1bmtub3duIikKICAgICAgICAgICAgICAgICAgICAgcm9s
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gZXhhY3QgQVJJQSByb2xlIG1hdGNoLiIpOwog
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvbGUpIHsKQEAgLTI1NiwxNSArMjY4LDE5IEBACiAg
ICAgICAgICAgICAgICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAo
Y29tcHV0ZWQpIikuZm9ybWF0KHJvbGUpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBhbHdheXMgY29tZSBi
YWNrIGFzIGVtcHR5LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0Ci0gICAg
ICAgICAgICAgICAgdmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMubGFiZWw7Ci0g
ICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2RlLmdldEF0dHJpYnV0
ZSgiYXJpYS1sYWJlbCIpKQotICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7CisgICAgICAgICAgICAg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LnZhbHVlID0gaWdub3JlZDsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cudmFsdWUgPSBp
bnZhbGlkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3cu
dmFsdWUgPSBsYWJlbDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJl
cXVpcmVkUm93LnZhbHVlID0gcmVxdWlyZWQ7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVSb2xlUm93LnZhbHVlID0gcm9sZTsKIAotICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdy52YWx1ZSA9IGxhYmVsOwotICAgICAg
ICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRSb2xlUm93LnZhbHVlID0g
cm9sZTsKLQotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0g
W3RoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdywgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVDb21wdXRlZFJvbGVSb3ddOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2li
aWxpdHlHcm91cC5yb3dzID0gWworICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmls
aXR5Tm9kZUlnbm9yZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxp
dHlOb2RlUm9sZVJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVMYWJlbFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVS
ZXF1aXJlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJ
bnZhbGlkUm93CisgICAgICAgICAgICAgICAgXTsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nl
c3NpYmlsaXR5RW1wdHlSb3cuaGlkZUVtcHR5TWVzc2FnZSgpOwogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAucm93cyA9IFt0aGlz
Ll9hY2Nlc3NpYmlsaXR5RW1wdHlSb3ddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224329</attachid>
            <date>2014-02-16 22:03:24 -0800</date>
            <delta_ts>2014-02-16 22:27:32 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>20786</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE2ICBB
bmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCBy
ZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9NIHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1l
LgpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmls
aXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorQ2hlY2tpbmcgV2ViIEluc3BlY3Rv
ciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuCisKKyAgICAg
ICAgICAgCitUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDE1LgorCis8aW1nIHNyYz0iLi80
MDQuZ2lmIiBhbHQ9IngiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAg
cm9sZTogaW1nCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGltZyBzcmM9Ii4vNDA0
LmdpZiIgYWx0PSIiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBpbWcKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8aW1nIHNyYz0iLi80MDQuZ2lm
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFs
c2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAg
c3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGlucHV0IGFyaWEtaW52YWxpZD0iZmFrZS12YWx1
ZS13aWxsLWV2YWwtdG8tdHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFs
c2UKKyAgICBpbnZhbGlkOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IGFyaWEtaW52
YWxpZD0ic3BlbGxpbmciPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogc3BlbGxpbmcKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisg
ICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgYXJpYS1yZXF1
aXJlZD0idHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogdHJ1ZQorICAgIHJvbGU6
IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IHJlcXVpcmVkPSIiPgorICAg
IGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1Jl
cXVpcmVkOiB0cnVlCisKKzxpbnB1dCB0eXBlPSJidXR0b24iPgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogYnV0dG9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDog
ZmFsc2UKKworPGJ1dHRvbj48L2J1dHRvbj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVk
OiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBm
YWxzZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxk
aXYgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisg
ICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICBy
ZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBm
YWxzZQorCis8c3Bhbj48L3NwYW4+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1
ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxkaXY+PC9kaXY+Cisg
ICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisg
ICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IGZhbHNlCisKKzxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2Pjwv
ZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBm
YWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBwcmVzZW50
YXRpb24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2PjxkaXY+PC9kaXY+PC9k
aXY+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZh
bHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1
cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxzY3JpcHQ+PC9zY3JpcHQ+CisgICAgZXhpc3RzOiBm
YWxzZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiAKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UK
KworCisKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20v
Z2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw5MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9w
cm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9uTG9hZD0icnVuVGVz
dCgpIj4KKworPHA+Q2hlY2tpbmcgV2ViIEluc3BlY3RvciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vz
c2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuPC9wPgorCis8IS0tIFRoaXMgb25lIGlzIG5ldmVyIHJl
bmRlcmVkLCBzbyAiZXhpc3RzIiBzaG91bGQgcmV0dXJuIGZhbHNlLiAtLT4KKzxzY3JpcHQgY2xh
c3M9ImV4Ij48L3NjcmlwdD4KKworPCEtLSBUaGUgcmVzdCBhcmUgcmVuZGVyZWQgd2l0aCB2YXJp
b3VzIHByb3BlcnR5IGRpZmZlcmVuY2VzLiAtLT4KKzxkaXYgY2xhc3M9ImV4Ij48ZGl2PjwvZGl2
PjwvZGl2PgorPGRpdiBjbGFzcz0iZXgiIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48
L2Rpdj4KKzxkaXYgY2xhc3M9ImV4Ij48L2Rpdj4KKzxzcGFuIGNsYXNzPSJleCI+PC9zcGFuPgor
Cis8ZGl2IGNsYXNzPSJleCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+Cis8YnV0
dG9uIGNsYXNzPSJleCI+PC9idXR0b24+Cis8aW5wdXQgY2xhc3M9ImV4IiB0eXBlPSJidXR0b24i
PgorCis8aW5wdXQgY2xhc3M9ImV4IiByZXF1aXJlZD4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEt
cmVxdWlyZWQ9InRydWUiPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1pbnZhbGlkPSJzcGVsbGlu
ZyI+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFs
LXRvLXRydWUiPgorCis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPgorPGltZyBjbGFz
cz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQw
NC5naWYiIGFsdD0ieCI+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVu
Y3Rpb24gJChzZWxlY3RvcikgeworICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KHNlbGVjdG9yKTsKK30KK2Z1bmN0aW9uIGNsZWFudXAoKSB7CisgICAgdmFyIGV4YW1wbGVzID0g
JCgiLmV4Iik7CisgICAgZm9yIChlbCBpbiBleGFtcGxlcykKKyAgICAgICAgZWwuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKworICAgIHZhciBleGFtcGxl
cyA9IFtdOworCisgICAgZnVuY3Rpb24gbG9vcCgpIHsKKyAgICAgICAgaWYgKGV4YW1wbGVzLmxl
bmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldE91
dGVySFRNTCIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RP
dXRlckhUTUwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlxuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJSdW50aW1l
LmV2YWx1YXRlIiwgeyJleHByZXNzaW9uIjogImNsZWFudXAoKSJ9LCBmdW5jdGlvbigpeworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBvbkdvdERvY3VtZW50KHJlc3Bv
bnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5xdWVyeVNlbGVjdG9yQWxsIiwg
eyJub2RlSWQiOiByZXNwb25zZS5yZXN1bHQucm9vdC5ub2RlSWQsICJzZWxlY3RvciI6ICIuZXgi
fSwgb25RdWVyeVNlbGVjdG9yQWxsKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblF1ZXJ5U2Vs
ZWN0b3JBbGwocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9y
KHJlc3BvbnNlKTsKKyAgICAgICAgZXhhbXBsZXMgPSByZXNwb25zZS5yZXN1bHQubm9kZUlkczsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDog
IiArIGV4YW1wbGVzLmxlbmd0aCArICIuIik7CisgICAgICAgIGxvb3AoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBvbkdvdE91dGVySFRNTChyZXNwb25zZSl7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJc
biIgKyByZXNwb25zZS5yZXN1bHQub3V0ZXJIVE1MLnJlcGxhY2UoIiBjbGFzcz1cImV4XCIiLCAi
IikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNzaWJp
bGl0eVByb3BlcnRpZXNGb3JOb2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5n
dGgtMV19LCBvbkdvdEFYUHJvcHMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uR290QVhQcm9w
cyhyZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9u
c2UpOworICAgICAgICBmb3IgKHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsK
KyAgICAgICAgICAgIGlmIChwcm9wICE9PSAibm9kZUlkIikKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiICAgICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5wcm9w
ZXJ0aWVzW3Byb3BdKTsKKyAgICAgICAgfQorICAgICAgICBleGFtcGxlcy5wb3AoKTsKKyAgICAg
ICAgbG9vcCgpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5n
ZXREb2N1bWVudCIsIHt9LCBvbkdvdERvY3VtZW50KTsKKworfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0x
NiAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywgcmVxdWlyZWQsIGFuZCBpbnZhbGlkIChl
eGlzdHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0aCBpZ25vcmVkKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25zIHRvIHRoZSBhY2Nl
c3NpYmlsaXR5IG5vZGUgaW5zcGVjdG9yOiBleGlzdHMsIHJlcXVpcmVkLCBpbnZhbGlkLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXNGb3JOb2RlLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RG
b3JBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uOgorCiAyMDE0LTAyLTE2ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBFbnN1cmUgdGhhdCByZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9N
IHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1lLgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDE1LDI2ICsxNDE1LDM0IEBACiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CiAKKyAgICBib29sIGV4aXN0cyA9IGZhbHNlOwogICAg
IGJvb2wgaWdub3JlZCA9IHRydWU7Ci0KLSAgICAvLyBDb21wdXRlZCBBUklBIFJvbGUKKyAgICBT
dHJpbmcgaW52YWxpZDsKKyAgICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0
dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgYm9vbCByZXF1aXJlZCA9IGZhbHNlOwogICAg
IFN0cmluZyByb2xlOworICAgIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCA9IGZhbHNlOwogCi0gICAg
Ly8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGluZyBvbiBodHRwOi8vd2Via2l0
Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKLQogICAgIGlmIChBWE9iamVjdENhY2hl
KiBheE9iamVjdENhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAg
ICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+
Z2V0T3JDcmVhdGUobm9kZSkpIHsKKyAgICAgICAgICAgIGV4aXN0cyA9IHRydWU7CiAgICAgICAg
ICAgICBpZ25vcmVkID0gYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKKyAgICAg
ICAgICAgIGludmFsaWQgPSBheE9iamVjdC0+aW52YWxpZFN0YXR1cygpOwogICAgICAgICAgICAg
cm9sZSA9IGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKKyAgICAgICAgICAgIHN1cHBv
cnRzUmVxdWlyZWQgPSBheE9iamVjdC0+c3VwcG9ydHNSZXF1aXJlZEF0dHJpYnV0ZSgpOworICAg
ICAgICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAgICAgICAgICAgcmVxdWlyZWQg
PSAgYXhPYmplY3QtPmlzUmVxdWlyZWQoKTsKICAgICAgICAgfQogICAgIH0KICAgICAKICAgICBS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGll
cz4gdmFsdWUgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzOjpjcmVhdGUoKQorICAgICAgICAuc2V0RXhpc3RzKGV4aXN0cykKICAgICAgICAgLnNl
dElnbm9yZWQoaWdub3JlZCkKKyAgICAgICAgLnNldEludmFsaWQoaW52YWxpZCkKKyAgICAgICAg
LnNldExhYmVsKGxhYmVsKQorICAgICAgICAuc2V0UmVxdWlyZWQocmVxdWlyZWQpCiAgICAgICAg
IC5zZXRSb2xlKHJvbGUpCi0gICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAgICAgLnNldFN1
cHBvcnRzUmVxdWlyZWQoc3VwcG9ydHNSZXF1aXJlZCkKICAgICAgICAgLnNldE5vZGVJZChwdXNo
Tm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKIAogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCShyZXZp
c2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpz
b24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEzIEBACiAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmlsaXR5IHByb3BlcnRpZXMuIiwK
ICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAicHJvcGVydGllcyI6
IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0
aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNhbGx5IG9yIGV4cGxpY2l0
bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhpc3RzIiwgInR5cGUiOiAiYm9v
bGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYW4gZXhpc3Rp
bmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMgaXMgZmFsc2UsIGFsbCB0aGUg
b3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVzLiIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGUgYXNzb2NpYXRlZCBB
WCBvYmplY3Qgbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGlj
aXRseS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbnZhbGlkIiwgInR5cGUiOiAi
c3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGludmFsaWQgc3RhdHVzIGZvciBm
b3JtIGZpZWxkczogdHJ1ZSwgZmFsc2UsIGdyYW1tYXIsIHNwZWxsaW5nLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxhYmVsIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIkNvbXB1dGVkIGxhYmVsIHZhbHVlIGZvciB0aGUgbm9kZSwgc29tZXRpbWVzIGNhbGN1bGF0
ZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgbm9kZXMuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAicmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVy
bnMgd2hldGhlciB0aGUgZWxlbWVudCBpcyByZXF1aXJlZCBvciBub3QgcmVxdWlyZWQuIiB9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVjb2duaXplZCByb2xlIHRva2Vu
LCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRkZW4gcm9sZS4iIH0sCi0gICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBjYWxj
dWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwKKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInN1cHBvcnRzUmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0
aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgcmVxdWlyZWQgc3RhdGUgaXMgcmVsZXZhbnQgZm9y
IHRoaXMgZWxlbWVudCAoZm9ybSBmaWVsZHMsIGV0YykuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIlRhcmdl
dCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwK
SW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5k
IGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMg
dG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGlu
dmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2RlLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisKIDIwMTQtMDItMTUg
IENocmlzIEouIFNodWxsICA8Y2hyaXNqc2h1bGxAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHNjb3BlIGNoYWluIGRldGFpbHMgc2lkZWJhciBkb2Vzbid0IHVwZGF0ZSB2YWx1
ZXMgbW9kaWZpZWQgdmlhIGNvbnNvbGUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjA2
LDExICsyMDYsMTMgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMA
bwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBdACAAPQAg
ACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEAbAApACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAAYQBuAGQA
IABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBuACAAYQBu
AGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkAZABlAG4A
dABpAHQAeQAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBnAG4A
bwByAGUAZAAiAF0AIAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBlACIAOwAK
IABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABTAGkAegBl
ACIAXQAgAD0AIAAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcAZQBzACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIAaQB0AGUA
ZAAgAEYAcgBvAG0AOgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgByAG8AbQA6
ACAAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBpAHQAaQBh
AHQAbwByACIAXQAgAD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkAbgB2AGEA
bABpAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBwAHUA
dAA6ACAAIgBdACAAPQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBwAGUAYwB0
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBlAHIAdAAg
AGMAYQBsAGwAIAB0AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwAbAAgAHQA
cgBlAGUAIgA7AApAQCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIA
aQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBdACAAPQAg
ACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAXQAgAD0A
IAAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQA
cgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9ACAAIgBS
AGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0
AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUAaQByAGUA
ZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIA
YwBlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9ACAAIgBS
AGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBjAGUA
cwAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2Rl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RP
TU5vZGUuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0RPTU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0MywxMyArNDQzLDE3IEBA
CiAKICAgICBhY2Nlc3NpYmlsaXR5UHJvcGVydGllczogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAg
ewotICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGVycm9y
LCBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykKKyAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0
eVByb3BlcnRpZXNDYWxsYmFjayhlcnJvciwgcHJvcHMpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmICghZXJyb3IgJiYgY2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IgJiYgY2Fs
bGJhY2sgJiYgcHJvcHMpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayh7Ci0gICAgICAgICAg
ICAgICAgICAgIGlnbm9yZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQsCi0gICAg
ICAgICAgICAgICAgICAgIHJvbGU6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGUsCi0gICAg
ICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5sYWJlbAorICAg
ICAgICAgICAgICAgICAgICBleGlzdHM6IHByb3BzLmV4aXN0cywKKyAgICAgICAgICAgICAgICAg
ICAgaWdub3JlZDogcHJvcHMuaWdub3JlZCwKKyAgICAgICAgICAgICAgICAgICAgaW52YWxpZDog
cHJvcHMuaW52YWxpZCwKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BzLmxhYmVsLAor
ICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogcHJvcHMucmVxdWlyZWQsCisgICAgICAgICAg
ICAgICAgICAgIHJvbGU6IHByb3BzLnJvbGUsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IHByb3BzLnN1cHBvcnRzUmVxdWlyZWQKICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01
Miw5ICs1MiwxMSBAQAogICAgIHZhciBldmVudExpc3RlbmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1ldmVudC1saXN0ZW5lcnMiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIpLCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNT
ZWN0aW9uR3JvdXBdKTsgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Tm8gQWNjZXNzaWJpbGl0eSBJbmZvcm1hdGlvbiIpKTsKLSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
Tm9kZUNvbXB1dGVkTGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2lt
cGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsKLSAgICAKKyAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSWdub3JlZCIpKTsKKyAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZCIpKTsK
KyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikpOwor
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWlyZWQi
KSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93ID0gbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJvbGUiKSk7
CiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd10pOwogICAgIHZhciBh
Y2Nlc3NpYmlsaXR5U2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRv
bS1ub2RlLWFjY2Vzc2liaWxpdHkiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFjY2Vzc2liaWxp
dHkiKSwgW3RoaXMuX2FjY2Vzc2liaWxpdHlHcm91cF0pOyAgICAKQEAgLTIzOSwxNCArMjQxLDI0
IEBACiAgICAgICAgIGlmICghZG9tTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzKQorICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxi
YWNrKHByb3BzKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5kb21Ob2RlICE9PSBk
b21Ob2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgaWYgKGFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzICYmICFhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pZ25vcmVkKSB7
Ci0gICAgICAgICAgICAgICAgdmFyIHJvbGUgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5yb2xl
OworICAgICAgICAgICAgaWYgKHByb3BzICYmIHByb3BzLmV4aXN0cykgeworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIHZhciBpZ25vcmVkID0gKHByb3BzLmlnbm9yZWQgPyAidHJ1
ZSIgOiAiIik7CisgICAgICAgICAgICAgICAgdmFyIGludmFsaWQgPSAocHJvcHMuaW52YWxpZCAm
JiBwcm9wcy5pbnZhbGlkICE9PSAiZmFsc2UiID8gcHJvcHMuaW52YWxpZCA6ICIiKTsKIAorICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBsYWJlbCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgYXMgZW1w
dHkuIEJsb2NrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi8xMjExMzQKKyAgICAgICAgICAgICAg
ICB2YXIgbGFiZWwgPSBwcm9wcy5sYWJlbDsKKyAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYg
bGFiZWwgIT09IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCisgICAgICAgICAg
ICAgICAgICAgIGxhYmVsID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIiku
Zm9ybWF0KGxhYmVsKTsKKworICAgICAgICAgICAgICAgIHZhciByZXF1aXJlZCA9IChwcm9wcy5z
dXBwb3J0c1JlcXVpcmVkID8gKHByb3BzLnJlcXVpcmVkID8gInRydWUiIDogImZhbHNlIikgOiAi
Iik7CisKKyAgICAgICAgICAgICAgICB2YXIgcm9sZSA9IHByb3BzLnJvbGU7CiAgICAgICAgICAg
ICAgICAgaWYgKHJvbGUgPT09ICIiIHx8IHJvbGUgPT09ICJ1bmtub3duIikKICAgICAgICAgICAg
ICAgICAgICAgcm9sZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gZXhhY3QgQVJJQSByb2xl
IG1hdGNoLiIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvbGUpIHsKQEAgLTI1NiwxNSAr
MjY4LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KHJvbGUpOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBh
bHdheXMgY29tZSBiYWNrIGFzIGVtcHR5LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0Ci0gICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXMubGFiZWw7Ci0gICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2Rl
LmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKQotICAgICAgICAgICAgICAgICAgICBsYWJlbCA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LnZhbHVlID0g
aWdub3JlZDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRS
b3cudmFsdWUgPSBpbnZhbGlkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlTGFiZWxSb3cudmFsdWUgPSBsYWJlbDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZVJlcXVpcmVkUm93LnZhbHVlID0gcmVxdWlyZWQ7CisgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93LnZhbHVlID0gcm9sZTsKIAotICAgICAgICAg
ICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdy52YWx1ZSA9IGxh
YmVsOwotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRSb2xl
Um93LnZhbHVlID0gcm9sZTsKLQotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlH
cm91cC5yb3dzID0gW3RoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdywgdGhp
cy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3ddOworICAgICAgICAgICAgICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0gWworICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlUm9sZVJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVMYWJlbFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVSZXF1aXJlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVJbnZhbGlkUm93CisgICAgICAgICAgICAgICAgXTsKICAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cuaGlkZUVtcHR5TWVzc2FnZSgpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAu
cm93cyA9IFt0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3ddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224330</attachid>
            <date>2014-02-16 22:27:32 -0800</date>
            <delta_ts>2014-02-16 22:54:31 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.b.diff</filename>
            <type>text/plain</type>
            <size>20786</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE2ICBB
bmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCBy
ZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9NIHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1l
LgpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmls
aXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorQ2hlY2tpbmcgV2ViIEluc3BlY3Rv
ciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuCisKKyAgICAg
ICAgICAgCitUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDE1LgorCis8aW1nIHNyYz0iLi80
MDQuZ2lmIiBhbHQ9IngiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAg
cm9sZTogaW1nCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGltZyBzcmM9Ii4vNDA0
LmdpZiIgYWx0PSIiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBpbWcKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8aW1nIHNyYz0iLi80MDQuZ2lm
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFs
c2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAg
c3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGlucHV0IGFyaWEtaW52YWxpZD0iZmFrZS12YWx1
ZS13aWxsLWV2YWwtdG8tdHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFs
c2UKKyAgICBpbnZhbGlkOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IGFyaWEtaW52
YWxpZD0ic3BlbGxpbmciPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogc3BlbGxpbmcKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisg
ICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgYXJpYS1yZXF1
aXJlZD0idHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogdHJ1ZQorICAgIHJvbGU6
IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IHJlcXVpcmVkPSIiPgorICAg
IGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1Jl
cXVpcmVkOiB0cnVlCisKKzxpbnB1dCB0eXBlPSJidXR0b24iPgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogYnV0dG9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDog
ZmFsc2UKKworPGJ1dHRvbj48L2J1dHRvbj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVk
OiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBm
YWxzZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxk
aXYgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisg
ICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICBy
ZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBm
YWxzZQorCis8c3Bhbj48L3NwYW4+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1
ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxkaXY+PC9kaXY+Cisg
ICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisg
ICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IGZhbHNlCisKKzxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2Pjwv
ZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBm
YWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBwcmVzZW50
YXRpb24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2PjxkaXY+PC9kaXY+PC9k
aXY+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZh
bHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1
cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxzY3JpcHQ+PC9zY3JpcHQ+CisgICAgZXhpc3RzOiBm
YWxzZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiAKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UK
KworCisKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20v
Z2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw5MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9w
cm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9uTG9hZD0icnVuVGVz
dCgpIj4KKworPHA+Q2hlY2tpbmcgV2ViIEluc3BlY3RvciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vz
c2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuPC9wPgorCis8IS0tIFRoaXMgb25lIGlzIG5ldmVyIHJl
bmRlcmVkLCBzbyAiZXhpc3RzIiBzaG91bGQgcmV0dXJuIGZhbHNlLiAtLT4KKzxzY3JpcHQgY2xh
c3M9ImV4Ij48L3NjcmlwdD4KKworPCEtLSBUaGUgcmVzdCBhcmUgcmVuZGVyZWQgd2l0aCB2YXJp
b3VzIHByb3BlcnR5IGRpZmZlcmVuY2VzLiAtLT4KKzxkaXYgY2xhc3M9ImV4Ij48ZGl2PjwvZGl2
PjwvZGl2PgorPGRpdiBjbGFzcz0iZXgiIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48
L2Rpdj4KKzxkaXYgY2xhc3M9ImV4Ij48L2Rpdj4KKzxzcGFuIGNsYXNzPSJleCI+PC9zcGFuPgor
Cis8ZGl2IGNsYXNzPSJleCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+Cis8YnV0
dG9uIGNsYXNzPSJleCI+PC9idXR0b24+Cis8aW5wdXQgY2xhc3M9ImV4IiB0eXBlPSJidXR0b24i
PgorCis8aW5wdXQgY2xhc3M9ImV4IiByZXF1aXJlZD4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEt
cmVxdWlyZWQ9InRydWUiPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1pbnZhbGlkPSJzcGVsbGlu
ZyI+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFs
LXRvLXRydWUiPgorCis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPgorPGltZyBjbGFz
cz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQw
NC5naWYiIGFsdD0ieCI+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVu
Y3Rpb24gJChzZWxlY3RvcikgeworICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KHNlbGVjdG9yKTsKK30KK2Z1bmN0aW9uIGNsZWFudXAoKSB7CisgICAgdmFyIGV4YW1wbGVzID0g
JCgiLmV4Iik7CisgICAgZm9yIChlbCBpbiBleGFtcGxlcykKKyAgICAgICAgZWwuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKworICAgIHZhciBleGFtcGxl
cyA9IFtdOworCisgICAgZnVuY3Rpb24gbG9vcCgpIHsKKyAgICAgICAgaWYgKGV4YW1wbGVzLmxl
bmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldE91
dGVySFRNTCIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RP
dXRlckhUTUwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlxuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJSdW50aW1l
LmV2YWx1YXRlIiwgeyJleHByZXNzaW9uIjogImNsZWFudXAoKSJ9LCBmdW5jdGlvbigpeworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBvbkdvdERvY3VtZW50KHJlc3Bv
bnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5xdWVyeVNlbGVjdG9yQWxsIiwg
eyJub2RlSWQiOiByZXNwb25zZS5yZXN1bHQucm9vdC5ub2RlSWQsICJzZWxlY3RvciI6ICIuZXgi
fSwgb25RdWVyeVNlbGVjdG9yQWxsKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblF1ZXJ5U2Vs
ZWN0b3JBbGwocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9y
KHJlc3BvbnNlKTsKKyAgICAgICAgZXhhbXBsZXMgPSByZXNwb25zZS5yZXN1bHQubm9kZUlkczsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDog
IiArIGV4YW1wbGVzLmxlbmd0aCArICIuIik7CisgICAgICAgIGxvb3AoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBvbkdvdE91dGVySFRNTChyZXNwb25zZSl7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJc
biIgKyByZXNwb25zZS5yZXN1bHQub3V0ZXJIVE1MLnJlcGxhY2UoIiBjbGFzcz1cImV4XCIiLCAi
IikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNzaWJp
bGl0eVByb3BlcnRpZXNGb3JOb2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5n
dGgtMV19LCBvbkdvdEFYUHJvcHMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uR290QVhQcm9w
cyhyZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9u
c2UpOworICAgICAgICBmb3IgKHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsK
KyAgICAgICAgICAgIGlmIChwcm9wICE9PSAibm9kZUlkIikKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiICAgICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5wcm9w
ZXJ0aWVzW3Byb3BdKTsKKyAgICAgICAgfQorICAgICAgICBleGFtcGxlcy5wb3AoKTsKKyAgICAg
ICAgbG9vcCgpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5n
ZXREb2N1bWVudCIsIHt9LCBvbkdvdERvY3VtZW50KTsKKworfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0x
NiAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywgcmVxdWlyZWQsIGFuZCBpbnZhbGlkIChl
eGlzdHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0aCBpZ25vcmVkKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25zIHRvIHRoZSBhY2Nl
c3NpYmlsaXR5IG5vZGUgaW5zcGVjdG9yOiBleGlzdHMsIHJlcXVpcmVkLCBpbnZhbGlkLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXNGb3JOb2RlLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RG
b3JBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uOgorCiAyMDE0LTAyLTE2ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBFbnN1cmUgdGhhdCByZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9N
IHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1lLgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDE1LDI2ICsxNDE1LDM0IEBACiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CiAKKyAgICBib29sIGV4aXN0cyA9IGZhbHNlOwogICAg
IGJvb2wgaWdub3JlZCA9IHRydWU7Ci0KLSAgICAvLyBDb21wdXRlZCBBUklBIFJvbGUKKyAgICBT
dHJpbmcgaW52YWxpZDsKKyAgICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0
dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgYm9vbCByZXF1aXJlZCA9IGZhbHNlOwogICAg
IFN0cmluZyByb2xlOworICAgIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCA9IGZhbHNlOwogCi0gICAg
Ly8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGluZyBvbiBodHRwOi8vd2Via2l0
Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKLQogICAgIGlmIChBWE9iamVjdENhY2hl
KiBheE9iamVjdENhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAg
ICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+
Z2V0T3JDcmVhdGUobm9kZSkpIHsKKyAgICAgICAgICAgIGV4aXN0cyA9IHRydWU7CiAgICAgICAg
ICAgICBpZ25vcmVkID0gYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKKyAgICAg
ICAgICAgIGludmFsaWQgPSBheE9iamVjdC0+aW52YWxpZFN0YXR1cygpOwogICAgICAgICAgICAg
cm9sZSA9IGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKKyAgICAgICAgICAgIHN1cHBv
cnRzUmVxdWlyZWQgPSBheE9iamVjdC0+c3VwcG9ydHNSZXF1aXJlZEF0dHJpYnV0ZSgpOworICAg
ICAgICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAgICAgICAgICAgcmVxdWlyZWQg
PSAgYXhPYmplY3QtPmlzUmVxdWlyZWQoKTsKICAgICAgICAgfQogICAgIH0KICAgICAKICAgICBS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGll
cz4gdmFsdWUgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzOjpjcmVhdGUoKQorICAgICAgICAuc2V0RXhpc3RzKGV4aXN0cykKICAgICAgICAgLnNl
dElnbm9yZWQoaWdub3JlZCkKKyAgICAgICAgLnNldEludmFsaWQoaW52YWxpZCkKKyAgICAgICAg
LnNldExhYmVsKGxhYmVsKQorICAgICAgICAuc2V0UmVxdWlyZWQocmVxdWlyZWQpCiAgICAgICAg
IC5zZXRSb2xlKHJvbGUpCi0gICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAgICAgLnNldFN1
cHBvcnRzUmVxdWlyZWQoc3VwcG9ydHNSZXF1aXJlZCkKICAgICAgICAgLnNldE5vZGVJZChwdXNo
Tm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKIAogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCShyZXZp
c2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpz
b24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEzIEBACiAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmlsaXR5IHByb3BlcnRpZXMuIiwK
ICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAicHJvcGVydGllcyI6
IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0
aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNhbGx5IG9yIGV4cGxpY2l0
bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhpc3RzIiwgInR5cGUiOiAiYm9v
bGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYW4gZXhpc3Rp
bmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMgaXMgZmFsc2UsIGFsbCB0aGUg
b3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVzLiIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGUgYXNzb2NpYXRlZCBB
WCBvYmplY3Qgbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGlj
aXRseS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbnZhbGlkIiwgInR5cGUiOiAi
c3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGludmFsaWQgc3RhdHVzIGZvciBm
b3JtIGZpZWxkczogdHJ1ZSwgZmFsc2UsIGdyYW1tYXIsIHNwZWxsaW5nLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxhYmVsIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIkNvbXB1dGVkIGxhYmVsIHZhbHVlIGZvciB0aGUgbm9kZSwgc29tZXRpbWVzIGNhbGN1bGF0
ZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgbm9kZXMuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAicmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVy
bnMgd2hldGhlciB0aGUgZWxlbWVudCBpcyByZXF1aXJlZCBvciBub3QgcmVxdWlyZWQuIiB9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVjb2duaXplZCByb2xlIHRva2Vu
LCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRkZW4gcm9sZS4iIH0sCi0gICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBjYWxj
dWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwKKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInN1cHBvcnRzUmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0
aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgcmVxdWlyZWQgc3RhdGUgaXMgcmVsZXZhbnQgZm9y
IHRoaXMgZWxlbWVudCAoZm9ybSBmaWVsZHMsIGV0YykuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIlRhcmdl
dCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwK
SW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5k
IGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMg
dG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGlu
dmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2RlLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisKIDIwMTQtMDItMTUg
IENocmlzIEouIFNodWxsICA8Y2hyaXNqc2h1bGxAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHNjb3BlIGNoYWluIGRldGFpbHMgc2lkZWJhciBkb2Vzbid0IHVwZGF0ZSB2YWx1
ZXMgbW9kaWZpZWQgdmlhIGNvbnNvbGUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjA2
LDExICsyMDYsMTMgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMA
bwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBdACAAPQAg
ACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEAbAApACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAAYQBuAGQA
IABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBuACAAYQBu
AGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkAZABlAG4A
dABpAHQAeQAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBnAG4A
bwByAGUAZAAiAF0AIAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBlACIAOwAK
IABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABTAGkAegBl
ACIAXQAgAD0AIAAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcAZQBzACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIAaQB0AGUA
ZAAgAEYAcgBvAG0AOgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgByAG8AbQA6
ACAAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBpAHQAaQBh
AHQAbwByACIAXQAgAD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkAbgB2AGEA
bABpAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBwAHUA
dAA6ACAAIgBdACAAPQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBwAGUAYwB0
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBlAHIAdAAg
AGMAYQBsAGwAIAB0AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwAbAAgAHQA
cgBlAGUAIgA7AApAQCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIA
aQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBdACAAPQAg
ACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAXQAgAD0A
IAAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQA
cgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9ACAAIgBS
AGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0
AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUAaQByAGUA
ZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIA
YwBlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9ACAAIgBS
AGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBjAGUA
cwAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2Rl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RP
TU5vZGUuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0RPTU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0MywxMyArNDQzLDE3IEBA
CiAKICAgICBhY2Nlc3NpYmlsaXR5UHJvcGVydGllczogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAg
ewotICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGVycm9y
LCBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykKKyAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0
eVByb3BlcnRpZXNDYWxsYmFjayhlcnJvciwgcHJvcHMpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmICghZXJyb3IgJiYgY2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IgJiYgY2Fs
bGJhY2sgJiYgcHJvcHMpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayh7Ci0gICAgICAgICAg
ICAgICAgICAgIGlnbm9yZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQsCi0gICAg
ICAgICAgICAgICAgICAgIHJvbGU6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGUsCi0gICAg
ICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5sYWJlbAorICAg
ICAgICAgICAgICAgICAgICBleGlzdHM6IHByb3BzLmV4aXN0cywKKyAgICAgICAgICAgICAgICAg
ICAgaWdub3JlZDogcHJvcHMuaWdub3JlZCwKKyAgICAgICAgICAgICAgICAgICAgaW52YWxpZDog
cHJvcHMuaW52YWxpZCwKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BzLmxhYmVsLAor
ICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogcHJvcHMucmVxdWlyZWQsCisgICAgICAgICAg
ICAgICAgICAgIHJvbGU6IHByb3BzLnJvbGUsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IHByb3BzLnN1cHBvcnRzUmVxdWlyZWQKICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwuanMJKHJldmlzaW9uIDE2NDIwNikKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01
Miw5ICs1MiwxMSBAQAogICAgIHZhciBldmVudExpc3RlbmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1ldmVudC1saXN0ZW5lcnMiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIpLCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNT
ZWN0aW9uR3JvdXBdKTsgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Tm8gQWNjZXNzaWJpbGl0eSBJbmZvcm1hdGlvbiIpKTsKLSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
Tm9kZUNvbXB1dGVkTGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2lt
cGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsKLSAgICAKKyAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSWdub3JlZCIpKTsKKyAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZCIpKTsK
KyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikpOwor
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWlyZWQi
KSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93ID0gbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJvbGUiKSk7
CiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd10pOwogICAgIHZhciBh
Y2Nlc3NpYmlsaXR5U2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRv
bS1ub2RlLWFjY2Vzc2liaWxpdHkiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFjY2Vzc2liaWxp
dHkiKSwgW3RoaXMuX2FjY2Vzc2liaWxpdHlHcm91cF0pOyAgICAKQEAgLTIzOSwxNCArMjQxLDI0
IEBACiAgICAgICAgIGlmICghZG9tTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzKQorICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxi
YWNrKHByb3BzKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5kb21Ob2RlICE9PSBk
b21Ob2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgaWYgKGFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzICYmICFhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pZ25vcmVkKSB7
Ci0gICAgICAgICAgICAgICAgdmFyIHJvbGUgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5yb2xl
OworICAgICAgICAgICAgaWYgKHByb3BzICYmIHByb3BzLmV4aXN0cykgeworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIHZhciBpZ25vcmVkID0gKHByb3BzLmlnbm9yZWQgPyAidHJ1
ZSIgOiAiIik7CisgICAgICAgICAgICAgICAgdmFyIGludmFsaWQgPSAocHJvcHMuaW52YWxpZCAm
JiBwcm9wcy5pbnZhbGlkICE9PSAiZmFsc2UiID8gcHJvcHMuaW52YWxpZCA6ICIiKTsKIAorICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBsYWJlbCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgYXMgZW1w
dHkuIEJsb2NrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi8xMjExMzQKKyAgICAgICAgICAgICAg
ICB2YXIgbGFiZWwgPSBwcm9wcy5sYWJlbDsKKyAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYg
bGFiZWwgIT09IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCisgICAgICAgICAg
ICAgICAgICAgIGxhYmVsID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIiku
Zm9ybWF0KGxhYmVsKTsKKworICAgICAgICAgICAgICAgIHZhciByZXF1aXJlZCA9IChwcm9wcy5z
dXBwb3J0c1JlcXVpcmVkID8gKHByb3BzLnJlcXVpcmVkID8gInRydWUiIDogImZhbHNlIikgOiAi
Iik7CisKKyAgICAgICAgICAgICAgICB2YXIgcm9sZSA9IHByb3BzLnJvbGU7CiAgICAgICAgICAg
ICAgICAgaWYgKHJvbGUgPT09ICIiIHx8IHJvbGUgPT09ICJ1bmtub3duIikKICAgICAgICAgICAg
ICAgICAgICAgcm9sZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gZXhhY3QgQVJJQSByb2xl
IG1hdGNoLiIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvbGUpIHsKQEAgLTI1NiwxNSAr
MjY4LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KHJvbGUpOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBh
bHdheXMgY29tZSBiYWNrIGFzIGVtcHR5LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0Ci0gICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXMubGFiZWw7Ci0gICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2Rl
LmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKQotICAgICAgICAgICAgICAgICAgICBsYWJlbCA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LnZhbHVlID0g
aWdub3JlZDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRS
b3cudmFsdWUgPSBpbnZhbGlkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlTGFiZWxSb3cudmFsdWUgPSBsYWJlbDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZVJlcXVpcmVkUm93LnZhbHVlID0gcmVxdWlyZWQ7CisgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93LnZhbHVlID0gcm9sZTsKIAotICAgICAgICAg
ICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdy52YWx1ZSA9IGxh
YmVsOwotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRSb2xl
Um93LnZhbHVlID0gcm9sZTsKLQotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlH
cm91cC5yb3dzID0gW3RoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdywgdGhp
cy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3ddOworICAgICAgICAgICAgICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0gWworICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlUm9sZVJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVMYWJlbFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVSZXF1aXJlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVJbnZhbGlkUm93CisgICAgICAgICAgICAgICAgXTsKICAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cuaGlkZUVtcHR5TWVzc2FnZSgpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAu
cm93cyA9IFt0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3ddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224331</attachid>
            <date>2014-02-16 22:54:31 -0800</date>
            <delta_ts>2014-02-16 23:00:34 -0800</delta_ts>
            <desc>patch minus the file in question</desc>
            <filename>webkit128504.minusUnappliedFile.diff</filename>
            <type>text/plain</type>
            <size>16211</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE2ICBB
bmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCBy
ZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9NIHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1l
LgpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmls
aXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorQ2hlY2tpbmcgV2ViIEluc3BlY3Rv
ciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuCisKKyAgICAg
ICAgICAgCitUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDE1LgorCis8aW1nIHNyYz0iLi80
MDQuZ2lmIiBhbHQ9IngiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAg
cm9sZTogaW1nCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGltZyBzcmM9Ii4vNDA0
LmdpZiIgYWx0PSIiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBpbWcKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8aW1nIHNyYz0iLi80MDQuZ2lm
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFs
c2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAg
c3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGlucHV0IGFyaWEtaW52YWxpZD0iZmFrZS12YWx1
ZS13aWxsLWV2YWwtdG8tdHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFs
c2UKKyAgICBpbnZhbGlkOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IGFyaWEtaW52
YWxpZD0ic3BlbGxpbmciPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogc3BlbGxpbmcKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisg
ICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgYXJpYS1yZXF1
aXJlZD0idHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogdHJ1ZQorICAgIHJvbGU6
IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IHJlcXVpcmVkPSIiPgorICAg
IGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1Jl
cXVpcmVkOiB0cnVlCisKKzxpbnB1dCB0eXBlPSJidXR0b24iPgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogYnV0dG9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDog
ZmFsc2UKKworPGJ1dHRvbj48L2J1dHRvbj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVk
OiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBm
YWxzZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxk
aXYgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisg
ICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICBy
ZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBm
YWxzZQorCis8c3Bhbj48L3NwYW4+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1
ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxkaXY+PC9kaXY+Cisg
ICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisg
ICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IGZhbHNlCisKKzxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2Pjwv
ZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBm
YWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBwcmVzZW50
YXRpb24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2PjxkaXY+PC9kaXY+PC9k
aXY+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZh
bHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1
cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxzY3JpcHQ+PC9zY3JpcHQ+CisgICAgZXhpc3RzOiBm
YWxzZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiAKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UK
KworCisKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20v
Z2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw5MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9w
cm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9uTG9hZD0icnVuVGVz
dCgpIj4KKworPHA+Q2hlY2tpbmcgV2ViIEluc3BlY3RvciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vz
c2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuPC9wPgorCis8IS0tIFRoaXMgb25lIGlzIG5ldmVyIHJl
bmRlcmVkLCBzbyAiZXhpc3RzIiBzaG91bGQgcmV0dXJuIGZhbHNlLiAtLT4KKzxzY3JpcHQgY2xh
c3M9ImV4Ij48L3NjcmlwdD4KKworPCEtLSBUaGUgcmVzdCBhcmUgcmVuZGVyZWQgd2l0aCB2YXJp
b3VzIHByb3BlcnR5IGRpZmZlcmVuY2VzLiAtLT4KKzxkaXYgY2xhc3M9ImV4Ij48ZGl2PjwvZGl2
PjwvZGl2PgorPGRpdiBjbGFzcz0iZXgiIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48
L2Rpdj4KKzxkaXYgY2xhc3M9ImV4Ij48L2Rpdj4KKzxzcGFuIGNsYXNzPSJleCI+PC9zcGFuPgor
Cis8ZGl2IGNsYXNzPSJleCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+Cis8YnV0
dG9uIGNsYXNzPSJleCI+PC9idXR0b24+Cis8aW5wdXQgY2xhc3M9ImV4IiB0eXBlPSJidXR0b24i
PgorCis8aW5wdXQgY2xhc3M9ImV4IiByZXF1aXJlZD4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEt
cmVxdWlyZWQ9InRydWUiPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1pbnZhbGlkPSJzcGVsbGlu
ZyI+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFs
LXRvLXRydWUiPgorCis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPgorPGltZyBjbGFz
cz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQw
NC5naWYiIGFsdD0ieCI+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVu
Y3Rpb24gJChzZWxlY3RvcikgeworICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KHNlbGVjdG9yKTsKK30KK2Z1bmN0aW9uIGNsZWFudXAoKSB7CisgICAgdmFyIGV4YW1wbGVzID0g
JCgiLmV4Iik7CisgICAgZm9yIChlbCBpbiBleGFtcGxlcykKKyAgICAgICAgZWwuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKworICAgIHZhciBleGFtcGxl
cyA9IFtdOworCisgICAgZnVuY3Rpb24gbG9vcCgpIHsKKyAgICAgICAgaWYgKGV4YW1wbGVzLmxl
bmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldE91
dGVySFRNTCIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RP
dXRlckhUTUwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlxuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJSdW50aW1l
LmV2YWx1YXRlIiwgeyJleHByZXNzaW9uIjogImNsZWFudXAoKSJ9LCBmdW5jdGlvbigpeworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBvbkdvdERvY3VtZW50KHJlc3Bv
bnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5xdWVyeVNlbGVjdG9yQWxsIiwg
eyJub2RlSWQiOiByZXNwb25zZS5yZXN1bHQucm9vdC5ub2RlSWQsICJzZWxlY3RvciI6ICIuZXgi
fSwgb25RdWVyeVNlbGVjdG9yQWxsKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblF1ZXJ5U2Vs
ZWN0b3JBbGwocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9y
KHJlc3BvbnNlKTsKKyAgICAgICAgZXhhbXBsZXMgPSByZXNwb25zZS5yZXN1bHQubm9kZUlkczsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDog
IiArIGV4YW1wbGVzLmxlbmd0aCArICIuIik7CisgICAgICAgIGxvb3AoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBvbkdvdE91dGVySFRNTChyZXNwb25zZSl7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJc
biIgKyByZXNwb25zZS5yZXN1bHQub3V0ZXJIVE1MLnJlcGxhY2UoIiBjbGFzcz1cImV4XCIiLCAi
IikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNzaWJp
bGl0eVByb3BlcnRpZXNGb3JOb2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5n
dGgtMV19LCBvbkdvdEFYUHJvcHMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uR290QVhQcm9w
cyhyZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9u
c2UpOworICAgICAgICBmb3IgKHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsK
KyAgICAgICAgICAgIGlmIChwcm9wICE9PSAibm9kZUlkIikKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiICAgICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5wcm9w
ZXJ0aWVzW3Byb3BdKTsKKyAgICAgICAgfQorICAgICAgICBleGFtcGxlcy5wb3AoKTsKKyAgICAg
ICAgbG9vcCgpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5n
ZXREb2N1bWVudCIsIHt9LCBvbkdvdERvY3VtZW50KTsKKworfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0x
NiAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywgcmVxdWlyZWQsIGFuZCBpbnZhbGlkIChl
eGlzdHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0aCBpZ25vcmVkKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25zIHRvIHRoZSBhY2Nl
c3NpYmlsaXR5IG5vZGUgaW5zcGVjdG9yOiBleGlzdHMsIHJlcXVpcmVkLCBpbnZhbGlkLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXNGb3JOb2RlLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RG
b3JBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uOgorCiAyMDE0LTAyLTE2ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBFbnN1cmUgdGhhdCByZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9N
IHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1lLgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDE1LDI2ICsxNDE1LDM0IEBACiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CiAKKyAgICBib29sIGV4aXN0cyA9IGZhbHNlOwogICAg
IGJvb2wgaWdub3JlZCA9IHRydWU7Ci0KLSAgICAvLyBDb21wdXRlZCBBUklBIFJvbGUKKyAgICBT
dHJpbmcgaW52YWxpZDsKKyAgICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0
dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgYm9vbCByZXF1aXJlZCA9IGZhbHNlOwogICAg
IFN0cmluZyByb2xlOworICAgIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCA9IGZhbHNlOwogCi0gICAg
Ly8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGluZyBvbiBodHRwOi8vd2Via2l0
Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKLQogICAgIGlmIChBWE9iamVjdENhY2hl
KiBheE9iamVjdENhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAg
ICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+
Z2V0T3JDcmVhdGUobm9kZSkpIHsKKyAgICAgICAgICAgIGV4aXN0cyA9IHRydWU7CiAgICAgICAg
ICAgICBpZ25vcmVkID0gYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKKyAgICAg
ICAgICAgIGludmFsaWQgPSBheE9iamVjdC0+aW52YWxpZFN0YXR1cygpOwogICAgICAgICAgICAg
cm9sZSA9IGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKKyAgICAgICAgICAgIHN1cHBv
cnRzUmVxdWlyZWQgPSBheE9iamVjdC0+c3VwcG9ydHNSZXF1aXJlZEF0dHJpYnV0ZSgpOworICAg
ICAgICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAgICAgICAgICAgcmVxdWlyZWQg
PSAgYXhPYmplY3QtPmlzUmVxdWlyZWQoKTsKICAgICAgICAgfQogICAgIH0KICAgICAKICAgICBS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGll
cz4gdmFsdWUgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzOjpjcmVhdGUoKQorICAgICAgICAuc2V0RXhpc3RzKGV4aXN0cykKICAgICAgICAgLnNl
dElnbm9yZWQoaWdub3JlZCkKKyAgICAgICAgLnNldEludmFsaWQoaW52YWxpZCkKKyAgICAgICAg
LnNldExhYmVsKGxhYmVsKQorICAgICAgICAuc2V0UmVxdWlyZWQocmVxdWlyZWQpCiAgICAgICAg
IC5zZXRSb2xlKHJvbGUpCi0gICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAgICAgLnNldFN1
cHBvcnRzUmVxdWlyZWQoc3VwcG9ydHNSZXF1aXJlZCkKICAgICAgICAgLnNldE5vZGVJZChwdXNo
Tm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKIAogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCShyZXZp
c2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpz
b24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEzIEBACiAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmlsaXR5IHByb3BlcnRpZXMuIiwK
ICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAicHJvcGVydGllcyI6
IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0
aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNhbGx5IG9yIGV4cGxpY2l0
bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhpc3RzIiwgInR5cGUiOiAiYm9v
bGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYW4gZXhpc3Rp
bmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMgaXMgZmFsc2UsIGFsbCB0aGUg
b3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVzLiIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGUgYXNzb2NpYXRlZCBB
WCBvYmplY3Qgbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGlj
aXRseS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbnZhbGlkIiwgInR5cGUiOiAi
c3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGludmFsaWQgc3RhdHVzIGZvciBm
b3JtIGZpZWxkczogdHJ1ZSwgZmFsc2UsIGdyYW1tYXIsIHNwZWxsaW5nLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxhYmVsIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIkNvbXB1dGVkIGxhYmVsIHZhbHVlIGZvciB0aGUgbm9kZSwgc29tZXRpbWVzIGNhbGN1bGF0
ZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgbm9kZXMuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAicmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVy
bnMgd2hldGhlciB0aGUgZWxlbWVudCBpcyByZXF1aXJlZCBvciBub3QgcmVxdWlyZWQuIiB9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVjb2duaXplZCByb2xlIHRva2Vu
LCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRkZW4gcm9sZS4iIH0sCi0gICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBjYWxj
dWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwKKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInN1cHBvcnRzUmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0
aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgcmVxdWlyZWQgc3RhdGUgaXMgcmVsZXZhbnQgZm9y
IHRoaXMgZWxlbWVudCAoZm9ybSBmaWVsZHMsIGV0YykuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIlRhcmdl
dCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwK
SW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5k
IGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMg
dG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGlu
dmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2RlLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisKIDIwMTQtMDItMTUg
IENocmlzIEouIFNodWxsICA8Y2hyaXNqc2h1bGxAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHNjb3BlIGNoYWluIGRldGFpbHMgc2lkZWJhciBkb2Vzbid0IHVwZGF0ZSB2YWx1
ZXMgbW9kaWZpZWQgdmlhIGNvbnNvbGUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjA2
LDExICsyMDYsMTMgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMA
bwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBdACAAPQAg
ACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEAbAApACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAAYQBuAGQA
IABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBuACAAYQBu
AGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkAZABlAG4A
dABpAHQAeQAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBnAG4A
bwByAGUAZAAiAF0AIAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBlACIAOwAK
IABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABTAGkAegBl
ACIAXQAgAD0AIAAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcAZQBzACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIAaQB0AGUA
ZAAgAEYAcgBvAG0AOgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgByAG8AbQA6
ACAAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBpAHQAaQBh
AHQAbwByACIAXQAgAD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkAbgB2AGEA
bABpAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBwAHUA
dAA6ACAAIgBdACAAPQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBwAGUAYwB0
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBlAHIAdAAg
AGMAYQBsAGwAIAB0AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwAbAAgAHQA
cgBlAGUAIgA7AApAQCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIA
aQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBdACAAPQAg
ACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAXQAgAD0A
IAAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQA
cgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9ACAAIgBS
AGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0
AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUAaQByAGUA
ZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIA
YwBlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9ACAAIgBS
AGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBjAGUA
cwAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2Rl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RP
TU5vZGUuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0RPTU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0MywxMyArNDQzLDE3IEBA
CiAKICAgICBhY2Nlc3NpYmlsaXR5UHJvcGVydGllczogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAg
ewotICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGVycm9y
LCBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykKKyAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0
eVByb3BlcnRpZXNDYWxsYmFjayhlcnJvciwgcHJvcHMpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmICghZXJyb3IgJiYgY2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IgJiYgY2Fs
bGJhY2sgJiYgcHJvcHMpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayh7Ci0gICAgICAgICAg
ICAgICAgICAgIGlnbm9yZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQsCi0gICAg
ICAgICAgICAgICAgICAgIHJvbGU6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGUsCi0gICAg
ICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5sYWJlbAorICAg
ICAgICAgICAgICAgICAgICBleGlzdHM6IHByb3BzLmV4aXN0cywKKyAgICAgICAgICAgICAgICAg
ICAgaWdub3JlZDogcHJvcHMuaWdub3JlZCwKKyAgICAgICAgICAgICAgICAgICAgaW52YWxpZDog
cHJvcHMuaW52YWxpZCwKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BzLmxhYmVsLAor
ICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogcHJvcHMucmVxdWlyZWQsCisgICAgICAgICAg
ICAgICAgICAgIHJvbGU6IHByb3BzLnJvbGUsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IHByb3BzLnN1cHBvcnRzUmVxdWlyZWQKICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224332</attachid>
            <date>2014-02-16 23:00:34 -0800</date>
            <delta_ts>2014-02-16 23:18:48 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.withFile.diff</filename>
            <type>text/plain</type>
            <size>20786</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpj
cmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVy
dGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNs
eSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZv
ciBET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE2ICBB
bmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCBy
ZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9NIHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1l
LgpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmls
aXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorQ2hlY2tpbmcgV2ViIEluc3BlY3Rv
ciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuCisKKyAgICAg
ICAgICAgCitUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDE1LgorCis8aW1nIHNyYz0iLi80
MDQuZ2lmIiBhbHQ9IngiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAg
cm9sZTogaW1nCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGltZyBzcmM9Ii4vNDA0
LmdpZiIgYWx0PSIiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiBpbWcKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8aW1nIHNyYz0iLi80MDQuZ2lm
Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFs
c2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAg
c3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGlucHV0IGFyaWEtaW52YWxpZD0iZmFrZS12YWx1
ZS13aWxsLWV2YWwtdG8tdHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFs
c2UKKyAgICBpbnZhbGlkOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IGFyaWEtaW52
YWxpZD0ic3BlbGxpbmciPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisg
ICAgaW52YWxpZDogc3BlbGxpbmcKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisg
ICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgYXJpYS1yZXF1
aXJlZD0idHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogdHJ1ZQorICAgIHJvbGU6
IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKworPGlucHV0IHJlcXVpcmVkPSIiPgorICAg
IGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1Jl
cXVpcmVkOiB0cnVlCisKKzxpbnB1dCB0eXBlPSJidXR0b24iPgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogYnV0dG9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDog
ZmFsc2UKKworPGJ1dHRvbj48L2J1dHRvbj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVk
OiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBm
YWxzZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxk
aXYgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisg
ICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICBy
ZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBm
YWxzZQorCis8c3Bhbj48L3NwYW4+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1
ZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQor
ICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxkaXY+PC9kaXY+Cisg
ICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZhbHNlCisg
ICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IGZhbHNlCisKKzxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2Pjwv
ZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBm
YWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBwcmVzZW50
YXRpb24KKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2PjxkaXY+PC9kaXY+PC9k
aXY+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQorICAgIGludmFsaWQ6IGZh
bHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1
cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxzY3JpcHQ+PC9zY3JpcHQ+CisgICAgZXhpc3RzOiBm
YWxzZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiAKKyAgICBsYWJlbDogCisgICAg
cmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UK
KworCisKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20v
Z2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw5MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3Jlc291cmNlcy9w
cm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9uTG9hZD0icnVuVGVz
dCgpIj4KKworPHA+Q2hlY2tpbmcgV2ViIEluc3BlY3RvciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vz
c2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuPC9wPgorCis8IS0tIFRoaXMgb25lIGlzIG5ldmVyIHJl
bmRlcmVkLCBzbyAiZXhpc3RzIiBzaG91bGQgcmV0dXJuIGZhbHNlLiAtLT4KKzxzY3JpcHQgY2xh
c3M9ImV4Ij48L3NjcmlwdD4KKworPCEtLSBUaGUgcmVzdCBhcmUgcmVuZGVyZWQgd2l0aCB2YXJp
b3VzIHByb3BlcnR5IGRpZmZlcmVuY2VzLiAtLT4KKzxkaXYgY2xhc3M9ImV4Ij48ZGl2PjwvZGl2
PjwvZGl2PgorPGRpdiBjbGFzcz0iZXgiIHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48
L2Rpdj4KKzxkaXYgY2xhc3M9ImV4Ij48L2Rpdj4KKzxzcGFuIGNsYXNzPSJleCI+PC9zcGFuPgor
Cis8ZGl2IGNsYXNzPSJleCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PC9kaXY+Cis8YnV0
dG9uIGNsYXNzPSJleCI+PC9idXR0b24+Cis8aW5wdXQgY2xhc3M9ImV4IiB0eXBlPSJidXR0b24i
PgorCis8aW5wdXQgY2xhc3M9ImV4IiByZXF1aXJlZD4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEt
cmVxdWlyZWQ9InRydWUiPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1pbnZhbGlkPSJzcGVsbGlu
ZyI+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFs
LXRvLXRydWUiPgorCis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPgorPGltZyBjbGFz
cz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQw
NC5naWYiIGFsdD0ieCI+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworZnVu
Y3Rpb24gJChzZWxlY3RvcikgeworICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxs
KHNlbGVjdG9yKTsKK30KK2Z1bmN0aW9uIGNsZWFudXAoKSB7CisgICAgdmFyIGV4YW1wbGVzID0g
JCgiLmV4Iik7CisgICAgZm9yIChlbCBpbiBleGFtcGxlcykKKyAgICAgICAgZWwuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKworICAgIHZhciBleGFtcGxl
cyA9IFtdOworCisgICAgZnVuY3Rpb24gbG9vcCgpIHsKKyAgICAgICAgaWYgKGV4YW1wbGVzLmxl
bmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldE91
dGVySFRNTCIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RP
dXRlckhUTUwpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlxuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJSdW50aW1l
LmV2YWx1YXRlIiwgeyJleHByZXNzaW9uIjogImNsZWFudXAoKSJ9LCBmdW5jdGlvbigpeworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlvbiBvbkdvdERvY3VtZW50KHJlc3Bv
bnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5xdWVyeVNlbGVjdG9yQWxsIiwg
eyJub2RlSWQiOiByZXNwb25zZS5yZXN1bHQucm9vdC5ub2RlSWQsICJzZWxlY3RvciI6ICIuZXgi
fSwgb25RdWVyeVNlbGVjdG9yQWxsKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvblF1ZXJ5U2Vs
ZWN0b3JBbGwocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9y
KHJlc3BvbnNlKTsKKyAgICAgICAgZXhhbXBsZXMgPSByZXNwb25zZS5yZXN1bHQubm9kZUlkczsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDog
IiArIGV4YW1wbGVzLmxlbmd0aCArICIuIik7CisgICAgICAgIGxvb3AoKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBvbkdvdE91dGVySFRNTChyZXNwb25zZSl7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJc
biIgKyByZXNwb25zZS5yZXN1bHQub3V0ZXJIVE1MLnJlcGxhY2UoIiBjbGFzcz1cImV4XCIiLCAi
IikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNzaWJp
bGl0eVByb3BlcnRpZXNGb3JOb2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5n
dGgtMV19LCBvbkdvdEFYUHJvcHMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uR290QVhQcm9w
cyhyZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9u
c2UpOworICAgICAgICBmb3IgKHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsK
KyAgICAgICAgICAgIGlmIChwcm9wICE9PSAibm9kZUlkIikKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiICAgICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5wcm9w
ZXJ0aWVzW3Byb3BdKTsKKyAgICAgICAgfQorICAgICAgICBleGFtcGxlcy5wb3AoKTsKKyAgICAg
ICAgbG9vcCgpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5n
ZXREb2N1bWVudCIsIHt9LCBvbkdvdERvY3VtZW50KTsKKworfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMi0x
NiAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywgcmVxdWlyZWQsIGFuZCBpbnZhbGlkIChl
eGlzdHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0aCBpZ25vcmVkKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25zIHRvIHRoZSBhY2Nl
c3NpYmlsaXR5IG5vZGUgaW5zcGVjdG9yOiBleGlzdHMsIHJlcXVpcmVkLCBpbnZhbGlkLgorCisg
ICAgICAgIFRlc3Q6IGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXNGb3JOb2RlLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RG
b3JBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyk6CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29s
L0RPTS5qc29uOgorCiAyMDE0LTAyLTE2ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBFbnN1cmUgdGhhdCByZW1vdmluZyBhbiBpZnJhbWUgZnJvbSB0aGUgRE9N
IHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1lLgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDE1LDI2ICsxNDE1LDM0IEBACiAgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hl
OjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CiAKKyAgICBib29sIGV4aXN0cyA9IGZhbHNlOwogICAg
IGJvb2wgaWdub3JlZCA9IHRydWU7Ci0KLSAgICAvLyBDb21wdXRlZCBBUklBIFJvbGUKKyAgICBT
dHJpbmcgaW52YWxpZDsKKyAgICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0
dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgYm9vbCByZXF1aXJlZCA9IGZhbHNlOwogICAg
IFN0cmluZyByb2xlOworICAgIGJvb2wgc3VwcG9ydHNSZXF1aXJlZCA9IGZhbHNlOwogCi0gICAg
Ly8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGluZyBvbiBodHRwOi8vd2Via2l0
Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKLQogICAgIGlmIChBWE9iamVjdENhY2hl
KiBheE9iamVjdENhY2hlID0gbm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAg
ICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+
Z2V0T3JDcmVhdGUobm9kZSkpIHsKKyAgICAgICAgICAgIGV4aXN0cyA9IHRydWU7CiAgICAgICAg
ICAgICBpZ25vcmVkID0gYXhPYmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKKyAgICAg
ICAgICAgIGludmFsaWQgPSBheE9iamVjdC0+aW52YWxpZFN0YXR1cygpOwogICAgICAgICAgICAg
cm9sZSA9IGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKKyAgICAgICAgICAgIHN1cHBv
cnRzUmVxdWlyZWQgPSBheE9iamVjdC0+c3VwcG9ydHNSZXF1aXJlZEF0dHJpYnV0ZSgpOworICAg
ICAgICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAgICAgICAgICAgcmVxdWlyZWQg
PSAgYXhPYmplY3QtPmlzUmVxdWlyZWQoKTsKICAgICAgICAgfQogICAgIH0KICAgICAKICAgICBS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGll
cz4gdmFsdWUgPSBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzOjpjcmVhdGUoKQorICAgICAgICAuc2V0RXhpc3RzKGV4aXN0cykKICAgICAgICAgLnNl
dElnbm9yZWQoaWdub3JlZCkKKyAgICAgICAgLnNldEludmFsaWQoaW52YWxpZCkKKyAgICAgICAg
LnNldExhYmVsKGxhYmVsKQorICAgICAgICAuc2V0UmVxdWlyZWQocmVxdWlyZWQpCiAgICAgICAg
IC5zZXRSb2xlKHJvbGUpCi0gICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAgICAgLnNldFN1
cHBvcnRzUmVxdWlyZWQoc3VwcG9ydHNSZXF1aXJlZCkKICAgICAgICAgLnNldE5vZGVJZChwdXNo
Tm9kZVBhdGhUb0Zyb250ZW5kKG5vZGUpKTsKIAogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCShyZXZp
c2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpz
b24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEzIEBACiAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmlsaXR5IHByb3BlcnRpZXMuIiwK
ICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAicHJvcGVydGllcyI6
IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0
aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNhbGx5IG9yIGV4cGxpY2l0
bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXhpc3RzIiwgInR5cGUiOiAiYm9v
bGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlcmUgaXMgYW4gZXhpc3Rp
bmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMgaXMgZmFsc2UsIGFsbCB0aGUg
b3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVzLiIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9u
IjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0eSBvZiB0aGUgYXNzb2NpYXRlZCBB
WCBvYmplY3Qgbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGlj
aXRseS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpbnZhbGlkIiwgInR5cGUiOiAi
c3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIGludmFsaWQgc3RhdHVzIGZvciBm
b3JtIGZpZWxkczogdHJ1ZSwgZmFsc2UsIGdyYW1tYXIsIHNwZWxsaW5nLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxhYmVsIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9u
IjogIkNvbXB1dGVkIGxhYmVsIHZhbHVlIGZvciB0aGUgbm9kZSwgc29tZXRpbWVzIGNhbGN1bGF0
ZWQgYnkgcmVmZXJlbmNpbmcgb3RoZXIgbm9kZXMuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAicmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVy
bnMgd2hldGhlciB0aGUgZWxlbWVudCBpcyByZXF1aXJlZCBvciBub3QgcmVxdWlyZWQuIiB9LAog
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNj
cmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVjb2duaXplZCByb2xlIHRva2Vu
LCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRkZW4gcm9sZS4iIH0sCi0gICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBjYWxj
dWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIgfSwKKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInN1cHBvcnRzUmVxdWlyZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0
aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgcmVxdWlyZWQgc3RhdGUgaXMgcmVsZXZhbnQgZm9y
IHRoaXMgZWxlbWVudCAoZm9ybSBmaWVsZHMsIGV0YykuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIlRhcmdl
dCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAgfSwK
SW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5k
IGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMg
dG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGlu
dmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2RlLmpzOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisKIDIwMTQtMDItMTUg
IENocmlzIEouIFNodWxsICA8Y2hyaXNqc2h1bGxAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHNjb3BlIGNoYWluIGRldGFpbHMgc2lkZWJhciBkb2Vzbid0IHVwZGF0ZSB2YWx1
ZXMgbW9kaWZpZWQgdmlhIGNvbnNvbGUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2Nh
bGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXph
dGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjA2
LDExICsyMDYsMTMgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMA
bwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBdACAAPQAg
ACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEAbAApACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAAYQBuAGQA
IABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBuACAAYQBu
AGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkAZABlAG4A
dABpAHQAeQAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBnAG4A
bwByAGUAZAAiAF0AIAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBlACIAOwAK
IABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABTAGkAegBl
ACIAXQAgAD0AIAAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcAZQBzACIA
OwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIAaQB0AGUA
ZAAgAEYAcgBvAG0AOgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgByAG8AbQA6
ACAAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBpAHQAaQBh
AHQAbwByACIAXQAgAD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkAbgB2AGEA
bABpAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBwAHUA
dAA6ACAAIgBdACAAPQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBwAGUAYwB0
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBlAHIAdAAg
AGMAYQBsAGwAIAB0AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwAbAAgAHQA
cgBlAGUAIgA7AApAQCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIA
aQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBdACAAPQAg
ACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAXQAgAD0A
IAAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQA
cgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9ACAAIgBS
AGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0
AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUAaQByAGUA
ZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIA
YwBlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9ACAAIgBS
AGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBp
AG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBjAGUA
cwAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2Rl
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RP
TU5vZGUuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0RPTU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0MywxMyArNDQzLDE3IEBA
CiAKICAgICBhY2Nlc3NpYmlsaXR5UHJvcGVydGllczogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAg
ewotICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGVycm9y
LCBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykKKyAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0
eVByb3BlcnRpZXNDYWxsYmFjayhlcnJvciwgcHJvcHMpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmICghZXJyb3IgJiYgY2FsbGJhY2spIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IgJiYgY2Fs
bGJhY2sgJiYgcHJvcHMpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayh7Ci0gICAgICAgICAg
ICAgICAgICAgIGlnbm9yZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQsCi0gICAg
ICAgICAgICAgICAgICAgIHJvbGU6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJvbGUsCi0gICAg
ICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5sYWJlbAorICAg
ICAgICAgICAgICAgICAgICBleGlzdHM6IHByb3BzLmV4aXN0cywKKyAgICAgICAgICAgICAgICAg
ICAgaWdub3JlZDogcHJvcHMuaWdub3JlZCwKKyAgICAgICAgICAgICAgICAgICAgaW52YWxpZDog
cHJvcHMuaW52YWxpZCwKKyAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHByb3BzLmxhYmVsLAor
ICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogcHJvcHMucmVxdWlyZWQsCisgICAgICAgICAg
ICAgICAgICAgIHJvbGU6IHByb3BzLnJvbGUsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IHByb3BzLnN1cHBvcnRzUmVxdWlyZWQKICAgICAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwuanMJKHJldmlzaW9uIDE2NDIwNikKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01
Miw5ICs1MiwxMSBAQAogICAgIHZhciBldmVudExpc3RlbmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1ldmVudC1saXN0ZW5lcnMiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIpLCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNT
ZWN0aW9uR3JvdXBdKTsgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Tm8gQWNjZXNzaWJpbGl0eSBJbmZvcm1hdGlvbiIpKTsKLSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
Tm9kZUNvbXB1dGVkTGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2lt
cGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsKLSAgICAKKyAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSWdub3JlZCIpKTsKKyAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZCIpKTsK
KyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikpOwor
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWlyZWQi
KSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93ID0gbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJvbGUiKSk7
CiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd10pOwogICAgIHZhciBh
Y2Nlc3NpYmlsaXR5U2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRv
bS1ub2RlLWFjY2Vzc2liaWxpdHkiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFjY2Vzc2liaWxp
dHkiKSwgW3RoaXMuX2FjY2Vzc2liaWxpdHlHcm91cF0pOyAgICAKQEAgLTIzOSwxNCArMjQxLDI0
IEBACiAgICAgICAgIGlmICghZG9tTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzKQorICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxi
YWNrKHByb3BzKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5kb21Ob2RlICE9PSBk
b21Ob2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgaWYgKGFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzICYmICFhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pZ25vcmVkKSB7
Ci0gICAgICAgICAgICAgICAgdmFyIHJvbGUgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5yb2xl
OworICAgICAgICAgICAgaWYgKHByb3BzICYmIHByb3BzLmV4aXN0cykgeworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIHZhciBpZ25vcmVkID0gKHByb3BzLmlnbm9yZWQgPyAidHJ1
ZSIgOiAiIik7CisgICAgICAgICAgICAgICAgdmFyIGludmFsaWQgPSAocHJvcHMuaW52YWxpZCAm
JiBwcm9wcy5pbnZhbGlkICE9PSAiZmFsc2UiID8gcHJvcHMuaW52YWxpZCA6ICIiKTsKIAorICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiBsYWJlbCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgYXMgZW1w
dHkuIEJsb2NrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi8xMjExMzQKKyAgICAgICAgICAgICAg
ICB2YXIgbGFiZWwgPSBwcm9wcy5sYWJlbDsKKyAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYg
bGFiZWwgIT09IGRvbU5vZGUuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCisgICAgICAgICAg
ICAgICAgICAgIGxhYmVsID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIiku
Zm9ybWF0KGxhYmVsKTsKKworICAgICAgICAgICAgICAgIHZhciByZXF1aXJlZCA9IChwcm9wcy5z
dXBwb3J0c1JlcXVpcmVkID8gKHByb3BzLnJlcXVpcmVkID8gInRydWUiIDogImZhbHNlIikgOiAi
Iik7CisKKyAgICAgICAgICAgICAgICB2YXIgcm9sZSA9IHByb3BzLnJvbGU7CiAgICAgICAgICAg
ICAgICAgaWYgKHJvbGUgPT09ICIiIHx8IHJvbGUgPT09ICJ1bmtub3duIikKICAgICAgICAgICAg
ICAgICAgICAgcm9sZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gZXhhY3QgQVJJQSByb2xl
IG1hdGNoLiIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJvbGUpIHsKQEAgLTI1NiwxNSAr
MjY4LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KHJvbGUpOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBh
bHdheXMgY29tZSBiYWNrIGFzIGVtcHR5LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0Ci0gICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXMubGFiZWw7Ci0gICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2Rl
LmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKQotICAgICAgICAgICAgICAgICAgICBsYWJlbCA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LnZhbHVlID0g
aWdub3JlZDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRS
b3cudmFsdWUgPSBpbnZhbGlkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlTGFiZWxSb3cudmFsdWUgPSBsYWJlbDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZVJlcXVpcmVkUm93LnZhbHVlID0gcmVxdWlyZWQ7CisgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93LnZhbHVlID0gcm9sZTsKIAotICAgICAgICAg
ICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdy52YWx1ZSA9IGxh
YmVsOwotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRSb2xl
Um93LnZhbHVlID0gcm9sZTsKLQotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlH
cm91cC5yb3dzID0gW3RoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJvdywgdGhp
cy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3ddOworICAgICAgICAgICAgICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0gWworICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlUm9sZVJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVMYWJlbFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVSZXF1aXJlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVJbnZhbGlkUm93CisgICAgICAgICAgICAgICAgXTsKICAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cuaGlkZUVtcHR5TWVzc2FnZSgpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAu
cm93cyA9IFt0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3ddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224335</attachid>
            <date>2014-02-16 23:18:48 -0800</date>
            <delta_ts>2014-02-17 17:52:50 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.manual.diff</filename>
            <type>text/plain</type>
            <size>20831</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTE2ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1v
cmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMg
cHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkg
bm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgVGVz
dDogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5v
ZGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb246
CisKIDIwMTQtMDItMTYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuc3VyZSB0aGF0IHJlbW92aW5nIGFuIGlmcmFtZSBmcm9tIHRoZSBET00gdHJlZSBkaXNj
b25uZWN0cyBpdHMgRnJhbWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MTUs
MjYgKzE0MTUsMzQgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkK
ICAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwog
CisgICAgYm9vbCBleGlzdHMgPSBmYWxzZTsKICAgICBib29sIGlnbm9yZWQgPSB0cnVlOwotCi0g
ICAgLy8gQ29tcHV0ZWQgQVJJQSBSb2xlCisgICAgU3RyaW5nIGludmFsaWQ7CisgICAgU3RyaW5n
IGxhYmVsOyAvLyBGSVhNRTogV2FpdGluZyBvbiBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEzNAor
ICAgIGJvb2wgcmVxdWlyZWQgPSBmYWxzZTsKICAgICBTdHJpbmcgcm9sZTsKLQotICAgIC8vIENv
bXB1dGVkIExhYmVsCi0gICAgLy8gRklYTUU6IFdhaXRpbmcgb24gaHR0cDovL3dlYmtpdC5vcmcv
Yi8xMjExMzQKLSAgICBTdHJpbmcgbGFiZWw7CisgICAgYm9vbCBzdXBwb3J0c1JlcXVpcmVkID0g
ZmFsc2U7CiAKICAgICBpZiAoQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSA9IG5vZGUtPmRv
Y3VtZW50KCkuYXhPYmplY3RDYWNoZSgpKSB7CiAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBheE9iamVjdCA9IGF4T2JqZWN0Q2FjaGUtPmdldE9yQ3JlYXRlKG5vZGUpKSB7CisgICAg
ICAgICAgICBleGlzdHMgPSB0cnVlOwogICAgICAgICAgICAgaWdub3JlZCA9IGF4T2JqZWN0LT5h
Y2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCk7CisgICAgICAgICAgICBpbnZhbGlkID0gYXhPYmplY3Qt
PmludmFsaWRTdGF0dXMoKTsKICAgICAgICAgICAgIHJvbGUgPSBheE9iamVjdC0+Y29tcHV0ZWRS
b2xlU3RyaW5nKCk7CisgICAgICAgICAgICBzdXBwb3J0c1JlcXVpcmVkID0gYXhPYmplY3QtPnN1
cHBvcnRzUmVxdWlyZWRBdHRyaWJ1dGUoKTsKKyAgICAgICAgICAgIGlmIChzdXBwb3J0c1JlcXVp
cmVkKQorICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gIGF4T2JqZWN0LT5pc1JlcXVpcmVkKCk7
CiAgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxk
ZXI6OkRPTTo6QWNjZXNzaWJpbGl0eVByb3BlcnRpZXM+IHZhbHVlID0gSW5zcGVjdG9yOjpUeXBl
QnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGllczo6Y3JlYXRlKCkKKyAgICAgICAg
LnNldEV4aXN0cyhleGlzdHMpCiAgICAgICAgIC5zZXRJZ25vcmVkKGlnbm9yZWQpCi0gICAgICAg
IC5zZXRSb2xlKHJvbGUpCisgICAgICAgIC5zZXRJbnZhbGlkKGludmFsaWQpCiAgICAgICAgIC5z
ZXRMYWJlbChsYWJlbCkKKyAgICAgICAgLnNldFJlcXVpcmVkKHJlcXVpcmVkKQorICAgICAgICAu
c2V0Um9sZShyb2xlKQorICAgICAgICAuc2V0U3VwcG9ydHNSZXF1aXJlZChzdXBwb3J0c1JlcXVp
cmVkKQogICAgICAgICAuc2V0Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQobm9kZSkpOwog
CiAgICAgcmV0dXJuIHZhbHVlLnJlbGVhc2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9ET00uanNvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24JKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbgkod29ya2luZyBjb3B5KQpAQCAtNTksOSAr
NTksMTMgQEAKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHN0cnVjdHVyZSBob2xkaW5n
IGFjY2Vzc2liaWxpdHkgcHJvcGVydGllcy4iLAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0
IiwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwotICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiaWdub3JlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3
aGV0aGVyIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRoZSBET00gbm9kZSBpcyBpZ25vcmVkLCB3aGV0
aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGljaXRseS4iIH0sCi0gICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJyb2xlIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkNvbXB1dGVk
IHZhbHVlIGZvciBmaXJzdCByZWNvZ25pemVkIHJvbGUgdG9rZW4sIGRlZmF1bHQgcm9sZSBwZXIg
ZWxlbWVudCwgb3Igb3ZlcnJpZGRlbiByb2xlLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImV4aXN0cyIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3
aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFYIG9iamVjdCBmb3IgdGhlIERPTSBub2RlLiBJ
ZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgd2lsbCBiZSBkZWZhdWx0
IHZhbHVlcy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZ25vcmVkIiwgInR5cGUi
OiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGFjY2Vzc2li
aWxpdHkgb2YgdGhlIGFzc29jaWF0ZWQgQVggb2JqZWN0IG5vZGUgaXMgaWdub3JlZCwgd2hldGhl
ciBoZXVyaXN0aWNhbGx5IG9yIGV4cGxpY2l0bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaW52YWxpZCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5z
IHRoZSBpbnZhbGlkIHN0YXR1cyBmb3IgZm9ybSBmaWVsZHM6IHRydWUsIGZhbHNlLCBncmFtbWFy
LCBzcGVsbGluZy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIsICJ0eXBl
IjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBmb3IgdGhl
IG5vZGUsIHNvbWV0aW1lcyBjYWxjdWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5vZGVzLiIg
fSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVpcmVkIiwgInR5cGUiOiAiYm9vbGVh
biIsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgcmVxdWly
ZWQgb3Igbm90IHJlcXVpcmVkLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJvbGUi
LCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZp
cnN0IHJlY29nbml6ZWQgcm9sZSB0b2tlbiwgZGVmYXVsdCByb2xlIHBlciBlbGVtZW50LCBvciBv
dmVycmlkZGVuIHJvbGUuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic3VwcG9ydHNS
ZXF1aXJlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0
aGVyIHRoZSByZXF1aXJlZCBzdGF0ZSBpcyByZWxldmFudCBmb3IgdGhpcyBlbGVtZW50IChmb3Jt
IGZpZWxkcywgZXRjKS4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAi
JHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiVGFyZ2V0IDxjb2RlPkRPTU5vZGU8L2Nv
ZGU+IGlkLiIgfQogICAgICAgICAgICAgXQogICAgICAgICB9LApJbmRleDogU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDItMTYgIEphbWVz
IENyYWlnICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWDog
bW9yZSBwcm9wZXJ0aWVzOiBleGlzdHMsIHJlcXVpcmVkLCBhbmQgaW52YWxpZCAoZXhpc3RzIHdh
cyBwcmV2aW91c2x5IGNvbWJpbmVkIHdpdGggaWdub3JlZCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODUwNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9ucyB0byB0aGUgYWNjZXNzaWJpbGl0
eSBub2RlIGluc3BlY3RvcjogZXhpc3RzLCByZXF1aXJlZCwgaW52YWxpZC4KKworICAgICAgICAq
IExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL0RPTU5vZGUuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2Rl
RGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKwogMjAxNC0wMi0xNSAgQ2hyaXMgSi4gU2h1bGwgIDxj
aHJpc2pzaHVsbEBnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc2NvcGUgY2hh
aW4gZGV0YWlscyBzaWRlYmFyIGRvZXNuJ3QgdXBkYXRlIHZhbHVlcyBtb2RpZmllZCB2aWEgY29u
c29sZQpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCShyZXZpc2lvbiAxNjQy
MDQpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsMTEgKzIwNiwxMyBAQAogAGwA
bwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAYwBvAG4AIABhAG4AZAAgAFQAZQB4
AHQAIAAoAEgAbwByAGkAegBvAG4AdABhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBuACAAYQBuAGQA
IABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgA7AAogAGwAbwBjAGEAbABpAHoA
ZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAYwBvAG4AIABhAG4AZAAgAFQAZQB4AHQAIAAoAFYAZQBy
AHQAaQBjAGEAbAApACIAXQAgAD0AIAAiAEkAYwBvAG4AIABhAG4AZAAgAFQAZQB4AHQAIAAoAFYA
ZQByAHQAaQBjAGEAbAApACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsA
IgBJAGQAZQBuAHQAaQB0AHkAIgBdACAAPQAgACIASQBkAGUAbgB0AGkAdAB5ACIAOwAKKwBsAG8A
YwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGcAbgBvAHIAZQBkACIAXQAgAD0AIAAi
AEkAZwBuAG8AcgBlAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAi
AEkAbQBhAGcAZQAiAF0AIAA9ACAAIgBJAG0AYQBnAGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBk
AFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgBdACAAPQAgACIASQBtAGEA
ZwBlACAAUwBpAHoAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
SQBtAGEAZwBlAHMAIgBdACAAPQAgACIASQBtAGEAZwBlAHMAIgA7AAogAGwAbwBjAGEAbABpAHoA
ZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgByAG8AbQA6ACAAIgBd
ACAAPQAgACIASQBuAGgAZQByAGkAdABlAGQAIABGAHIAbwBtADoAIAAiADsACiAAbABvAGMAYQBs
AGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAGkAdABpAGEAdABvAHIAIgBdACAAPQAgACIA
SQBuAGkAdABpAGEAdABvAHIAIgA7AAorAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMA
WwAiAEkAbgB2AGEAbABpAGQAIgBdACAAPQAgACIASQBuAHYAYQBsAGkAZAAiADsACiAAbABvAGMA
YQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAHAAdQB0ADoAIAAiAF0AIAA9ACAAIgBJ
AG4AcAB1AHQAOgAgACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJ
AG4AcwBwAGUAYwB0ACIAXQAgAD0AIAAiAEkAbgBzAHAAZQBjAHQAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgB2AGUAcgB0ACAAYwBhAGwAbAAgAHQAcgBlAGUA
IgBdACAAPQAgACIASQBuAHYAZQByAHQAIABjAGEAbABsACAAdAByAGUAZQAiADsACkBAIC0zMTEs
NiArMzEzLDcgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcQB1
AGUAcwB0ACAAJgAgAFIAZQBzAHAAbwBuAHMAZQAiAF0AIAA9ACAAIgBSAGUAcQB1AGUAcwB0ACAA
JgAgAFIAZQBzAHAAbwBuAHMAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcA
cwBbACIAUgBlAHEAdQBlAHMAdAAgAEQAYQB0AGEAIgBdACAAPQAgACIAUgBlAHEAdQBlAHMAdAAg
AEQAYQB0AGEAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBx
AHUAZQBzAHQAIABIAGUAYQBkAGUAcgBzACIAXQAgAD0AIAAiAFIAZQBxAHUAZQBzAHQAIABIAGUA
YQBkAGUAcgBzACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUA
cQB1AGkAcgBlAGQAIgBdACAAPQAgACIAUgBlAHEAdQBpAHIAZQBkACIAOwAKIABsAG8AYwBhAGwA
aQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAIgBdACAAPQAgACIAUgBl
AHMAbwB1AHIAYwBlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBS
AGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAgAFQA
eQBwAGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBzAG8A
dQByAGMAZQBzACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQBzACIAOwAKSW5kZXg6IFNvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NTm9kZS5qcwkocmV2aXNpb24g
MTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NTm9kZS5q
cwkod29ya2luZyBjb3B5KQpAQCAtNDQzLDEzICs0NDMsMTcgQEAgV2ViSW5zcGVjdG9yLkRPTU5v
ZGUucHJvdG90eXBlID0gewogCiAgICAgYWNjZXNzaWJpbGl0eVByb3BlcnRpZXM6IGZ1bmN0aW9u
KGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXNDYWxsYmFjayhlcnJvciwgYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpCisgICAgICAgIGZ1bmN0
aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soZXJyb3IsIHByb3BzKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAoIWVycm9yICYmIGNhbGxiYWNrKSB7CisgICAgICAgICAgICBp
ZiAoIWVycm9yICYmIGNhbGxiYWNrICYmIHByb3BzKSB7CiAgICAgICAgICAgICAgICAgY2FsbGJh
Y2soewotICAgICAgICAgICAgICAgICAgICBpZ25vcmVkOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5pZ25vcmVkLAotICAgICAgICAgICAgICAgICAgICByb2xlOiBhY2Nlc3NpYmlsaXR5UHJvcGVy
dGllcy5yb2xlLAotICAgICAgICAgICAgICAgICAgICBsYWJlbDogYWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXMubGFiZWwKKyAgICAgICAgICAgICAgICAgICAgZXhpc3RzOiBwcm9wcy5leGlzdHMsCisg
ICAgICAgICAgICAgICAgICAgIGlnbm9yZWQ6IHByb3BzLmlnbm9yZWQsCisgICAgICAgICAgICAg
ICAgICAgIGludmFsaWQ6IHByb3BzLmludmFsaWQsCisgICAgICAgICAgICAgICAgICAgIGxhYmVs
OiBwcm9wcy5sYWJlbCwKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHByb3BzLnJlcXVp
cmVkLAorICAgICAgICAgICAgICAgICAgICByb2xlOiBwcm9wcy5yb2xlLAorICAgICAgICAgICAg
ICAgICAgICBzdXBwb3J0c1JlcXVpcmVkOiBwcm9wcy5zdXBwb3J0c1JlcXVpcmVkCiAgICAgICAg
ICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCShyZXZpc2lvbiAxNjQyMDYpCisrKyBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwkod29y
a2luZyBjb3B5KQpAQCAtNTIsOCArNTIsMTEgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxz
U2lkZWJhclBhbmVsIAogICAgIHZhciBldmVudExpc3RlbmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1ldmVudC1saXN0ZW5lcnMiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIpLCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNT
ZWN0aW9uR3JvdXBdKTsgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Tm8gQWNjZXNzaWJpbGl0eSBJbmZvcm1hdGlvbiIpKTsKLSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
Tm9kZUNvbXB1dGVkTGFiZWxSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2lt
cGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFiZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUm9sZSIpKTsKKyAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSWdub3JlZCIpKTsKKyAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNT
ZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZCIpKTsKKyAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxz
U2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikpOworICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWlyZWQiKSk7Cisg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRh
aWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJvbGUiKSk7CiAgICAg
CiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd10pOwpAQCAtMjM5LDE0
ICsyNDIsMjQgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLgogICAg
ICAgICBpZiAoIWRvbU5vZGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgZnVuY3Rp
b24gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXNDYWxsYmFjayhhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cykKKyAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXNDYWxsYmFjayhwcm9w
cykKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHRoaXMuZG9tTm9kZSAhPT0gZG9tTm9kZSkK
ICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5
UHJvcGVydGllcyAmJiAhYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCkgewotICAgICAg
ICAgICAgICAgIHZhciByb2xlID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZTsKKyAgICAg
ICAgICAgIGlmIChwcm9wcyAmJiBwcm9wcy5leGlzdHMpIHsKKyAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICB2YXIgaWdub3JlZCA9IChwcm9wcy5pZ25vcmVkID8gInRydWUiIDogIiIp
OworICAgICAgICAgICAgICAgIHZhciBpbnZhbGlkID0gKHByb3BzLmludmFsaWQgJiYgcHJvcHMu
aW52YWxpZCAhPT0gImZhbHNlIiA/IHByb3BzLmludmFsaWQgOiAiIik7CisKKyAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBhbHdheXMgY29tZSBiYWNrIGFzIGVtcHR5LiBCbG9j
a2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgICAgICAgICAgICAgdmFyIGxh
YmVsID0gcHJvcHMubGFiZWw7CisgICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9
PSBkb21Ob2RlLmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKQorICAgICAgICAgICAgICAgICAg
ICBsYWJlbCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChs
YWJlbCk7CisKKyAgICAgICAgICAgICAgICB2YXIgcmVxdWlyZWQgPSAocHJvcHMuc3VwcG9ydHNS
ZXF1aXJlZCA/IChwcm9wcy5yZXF1aXJlZCA/ICJ0cnVlIiA6ICJmYWxzZSIpIDogIiIpOwogCisg
ICAgICAgICAgICAgICAgdmFyIHJvbGUgPSBwcm9wcy5yb2xlOwogICAgICAgICAgICAgICAgIGlm
IChyb2xlID09PSAiIiB8fCByb2xlID09PSAidW5rbm93biIpCiAgICAgICAgICAgICAgICAgICAg
IHJvbGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIGV4YWN0IEFSSUEgcm9sZSBtYXRjaC4i
KTsKICAgICAgICAgICAgICAgICBlbHNlIGlmIChyb2xlKSB7CkBAIC0yNTYsMTUgKzI2OSwxOSBA
QCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuCiAgICAgICAgICAgICAg
ICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIiku
Zm9ybWF0KHJvbGUpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBhbHdheXMgY29tZSBiYWNrIGFzIGVtcHR5
LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0Ci0gICAgICAgICAgICAgICAg
dmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMubGFiZWw7Ci0gICAgICAgICAgICAg
ICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2RlLmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJl
bCIpKQotICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
JXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7Ci0KLSAgICAgICAgICAgICAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkTGFiZWxSb3cudmFsdWUgPSBsYWJlbDsKLSAgICAgICAg
ICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkUm9sZVJvdy52YWx1ZSA9IHJv
bGU7Ci0KLSAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAucm93cyA9IFt0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkTGFiZWxSb3csIHRoaXMuX2FjY2Vzc2liaWxp
dHlOb2RlQ29tcHV0ZWRSb2xlUm93XTsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmls
aXR5Tm9kZUlnbm9yZWRSb3cudmFsdWUgPSBpZ25vcmVkOworICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdy52YWx1ZSA9IGludmFsaWQ7CisgICAgICAgICAg
ICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJlbFJvdy52YWx1ZSA9IGxhYmVsOworICAg
ICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cudmFsdWUgPSBy
ZXF1aXJlZDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3cu
dmFsdWUgPSByb2xlOworCisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eUdyb3Vw
LnJvd3MgPSBbCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdu
b3JlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xl
Um93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93
LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJlcXVpcmVkUm93
LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cK
KyAgICAgICAgICAgICAgICBdOwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlF
bXB0eVJvdy5oaWRlRW1wdHlNZXNzYWdlKCk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0gW3RoaXMuX2FjY2Vzc2li
aWxpdHlFbXB0eVJvd107CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjQyMDQpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMi0xNiAg
SmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywgcmVxdWlyZWQsIGFuZCBpbnZhbGlkIChleGlz
dHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0aCBpZ25vcmVkKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTA0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IGZpbGVzIHRlc3QgdGhlIGluc3Bl
Y3RvciBwcm90b2NvbCBmb3IgRE9NLmdldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZQor
CisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVy
dGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3ItcHJv
dG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sOiBBZGRlZC4K
KwogMjAxNC0wMi0xNiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAg
ICAgRW5zdXJlIHRoYXQgcmVtb3ZpbmcgYW4gaWZyYW1lIGZyb20gdGhlIERPTSB0cmVlIGRpc2Nv
bm5lY3RzIGl0cyBGcmFtZS4KSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9k
b20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxp
dHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9y
Tm9kZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNDIgQEAKK0NoZWNr
aW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9yIHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUgSW5z
cGVjdG9yLgorCisgICAgICAgICAgIAorVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiAxNS4K
KworPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4Ij4KKyAgICBleGlzdHM6IHRydWUKKyAgICBp
Z25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVp
cmVkOiBmYWxzZQorICAgIHJvbGU6IGltZworICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisK
KzxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0iIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25v
cmVkOiB0cnVlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6
IGZhbHNlCisgICAgcm9sZTogaW1nCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGlt
ZyBzcmM9Ii4vNDA0LmdpZiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgaWdub3JlZDogdHJ1ZQor
ICAgIGludmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAg
IHJvbGU6IGltZworICAgIHN1cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxpbnB1dCBhcmlhLWlu
dmFsaWQ9ImZha2UtdmFsdWUtd2lsbC1ldmFsLXRvLXRydWUiPgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICBy
ZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiB0cnVlCisK
KzxpbnB1dCBhcmlhLWludmFsaWQ9InNwZWxsaW5nIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBp
Z25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IHNwZWxsaW5nCisgICAgbGFiZWw6IAorICAgIHJl
cXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRzUmVxdWlyZWQ6IHRydWUKKwor
PGlucHV0IGFyaWEtcmVxdWlyZWQ9InRydWUiPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9y
ZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6
IHRydWUKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCBy
ZXF1aXJlZD0iIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGlu
dmFsaWQ6IGZhbHNlCisgICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiB0cnVlCisgICAgcm9sZTog
CisgICAgc3VwcG9ydHNSZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgdHlwZT0iYnV0dG9uIj4KKyAg
ICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiBmYWxzZQorICAgIGludmFsaWQ6IGZhbHNlCisg
ICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IGJ1dHRvbgorICAgIHN1
cHBvcnRzUmVxdWlyZWQ6IGZhbHNlCisKKzxidXR0b24+PC9idXR0b24+CisgICAgZXhpc3RzOiB0
cnVlCisgICAgaWdub3JlZDogZmFsc2UKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAK
KyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiBidXR0b24KKyAgICBzdXBwb3J0c1JlcXVp
cmVkOiBmYWxzZQorCis8ZGl2IHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjwvZGl2PgorICAg
IGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IGZhbHNlCisgICAgaW52YWxpZDogZmFsc2UKKyAg
ICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisgICAgcm9sZTogYnV0dG9uCisgICAgc3Vw
cG9ydHNSZXF1aXJlZDogZmFsc2UKKworPHNwYW4+PC9zcGFuPgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGlnbm9yZWQ6IHRydWUKKyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICBy
ZXF1aXJlZDogZmFsc2UKKyAgICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQor
Cis8ZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUKKyAgICBp
bnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAgICByb2xl
OiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8ZGl2IHJvbGU9InByZXNlbnRhdGlv
biI+PGRpdj48L2Rpdj48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBpZ25vcmVkOiB0cnVl
CisgICAgaW52YWxpZDogZmFsc2UKKyAgICBsYWJlbDogCisgICAgcmVxdWlyZWQ6IGZhbHNlCisg
ICAgcm9sZTogcHJlc2VudGF0aW9uCisgICAgc3VwcG9ydHNSZXF1aXJlZDogZmFsc2UKKworPGRp
dj48ZGl2PjwvZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGlnbm9yZWQ6IHRydWUK
KyAgICBpbnZhbGlkOiBmYWxzZQorICAgIGxhYmVsOiAKKyAgICByZXF1aXJlZDogZmFsc2UKKyAg
ICByb2xlOiAKKyAgICBzdXBwb3J0c1JlcXVpcmVkOiBmYWxzZQorCis8c2NyaXB0Pjwvc2NyaXB0
PgorICAgIGV4aXN0czogZmFsc2UKKyAgICBpZ25vcmVkOiB0cnVlCisgICAgaW52YWxpZDogCisg
ICAgbGFiZWw6IAorICAgIHJlcXVpcmVkOiBmYWxzZQorICAgIHJvbGU6IAorICAgIHN1cHBvcnRz
UmVxdWlyZWQ6IGZhbHNlCisKKworCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVBy
b3BlcnRpZXNGb3JOb2RlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0
b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90
b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbkxvYWQ9InJ1blRlc3QoKSI+CisKKzxwPkNoZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9j
b2wgZm9yIHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUgSW5zcGVjdG9yLjwvcD4KKworPCEtLSBUaGlz
IG9uZSBpcyBuZXZlciByZW5kZXJlZCwgc28gImV4aXN0cyIgc2hvdWxkIHJldHVybiBmYWxzZS4g
LS0+Cis8c2NyaXB0IGNsYXNzPSJleCI+PC9zY3JpcHQ+CisKKzwhLS0gVGhlIHJlc3QgYXJlIHJl
bmRlcmVkIHdpdGggdmFyaW91cyBwcm9wZXJ0eSBkaWZmZXJlbmNlcy4gLS0+Cis8ZGl2IGNsYXNz
PSJleCI+PGRpdj48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9ImV4IiByb2xlPSJwcmVzZW50YXRp
b24iPjxkaXY+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJleCI+PC9kaXY+Cis8c3BhbiBjbGFz
cz0iZXgiPjwvc3Bhbj4KKworPGRpdiBjbGFzcz0iZXgiIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9
IjAiPjwvZGl2PgorPGJ1dHRvbiBjbGFzcz0iZXgiPjwvYnV0dG9uPgorPGlucHV0IGNsYXNzPSJl
eCIgdHlwZT0iYnV0dG9uIj4KKworPGlucHV0IGNsYXNzPSJleCIgcmVxdWlyZWQ+Cis8aW5wdXQg
Y2xhc3M9ImV4IiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4KKzxpbnB1dCBjbGFzcz0iZXgiIGFyaWEt
aW52YWxpZD0ic3BlbGxpbmciPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1pbnZhbGlkPSJmYWtl
LXZhbHVlLXdpbGwtZXZhbC10by10cnVlIj4KKworPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQu
Z2lmIj4KKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiIgYWx0PSIiPgorPGltZyBjbGFz
cz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IngiPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CisKK2Z1bmN0aW9uICQoc2VsZWN0b3IpIHsKKyAgICByZXR1cm4gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7Cit9CitmdW5jdGlvbiBjbGVhbnVwKCkgeworICAg
IHZhciBleGFtcGxlcyA9ICQoIi5leCIpOworICAgIGZvciAoZWwgaW4gZXhhbXBsZXMpCisgICAg
ICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisK
KyAgICB2YXIgZXhhbXBsZXMgPSBbXTsKKworICAgIGZ1bmN0aW9uIGxvb3AoKSB7CisgICAgICAg
IGlmIChleGFtcGxlcy5sZW5ndGgpIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENv
bW1hbmQoIkRPTS5nZXRPdXRlckhUTUwiLCB7Im5vZGVJZCI6IGV4YW1wbGVzW2V4YW1wbGVzLmxl
bmd0aC0xXX0sIG9uR290T3V0ZXJIVE1MKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCJcbiIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5k
Q29tbWFuZCgiUnVudGltZS5ldmFsdWF0ZSIsIHsiZXhwcmVzc2lvbiI6ICJjbGVhbnVwKCkifSwg
ZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgZnVuY3Rpb24gb25H
b3REb2N1bWVudChyZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJy
b3IocmVzcG9uc2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00ucXVl
cnlTZWxlY3RvckFsbCIsIHsibm9kZUlkIjogcmVzcG9uc2UucmVzdWx0LnJvb3Qubm9kZUlkLCAi
c2VsZWN0b3IiOiAiLmV4In0sIG9uUXVlcnlTZWxlY3RvckFsbCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gb25RdWVyeVNlbGVjdG9yQWxsKHJlc3BvbnNlKSB7CisgICAgICAgIEluc3BlY3RvclRl
c3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIGV4YW1wbGVzID0gcmVzcG9uc2Uu
cmVzdWx0Lm5vZGVJZHM7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUb3RhbCBlbGVtZW50
cyB0byBiZSB0ZXN0ZWQ6ICIgKyBleGFtcGxlcy5sZW5ndGggKyAiLiIpOworICAgICAgICBsb29w
KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Hb3RPdXRlckhUTUwocmVzcG9uc2UpeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiXG4iICsgcmVzcG9uc2UucmVzdWx0Lm91dGVySFRNTC5yZXBsYWNlKCIg
Y2xhc3M9XCJleFwiIiwgIiIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgi
RE9NLmdldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZSIsIHsibm9kZUlkIjogZXhhbXBs
ZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RBWFByb3BzKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBvbkdvdEFYUHJvcHMocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVj
a0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAgZm9yIChwcm9wIGluIHJlc3BvbnNlLnJlc3Vs
dC5wcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICBpZiAocHJvcCAhPT0gIm5vZGVJZCIpCisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiAgICAiICsgcHJvcCArICI6ICIgKyByZXNw
b25zZS5yZXN1bHQucHJvcGVydGllc1twcm9wXSk7CisgICAgICAgIH0KKyAgICAgICAgZXhhbXBs
ZXMucG9wKCk7CisgICAgICAgIGxvb3AoKTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnNl
bmRDb21tYW5kKCJET00uZ2V0RG9jdW1lbnQiLCB7fSwgb25Hb3REb2N1bWVudCk7CisKK30KKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="248473"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224450</attachid>
            <date>2014-02-17 17:52:50 -0800</date>
            <delta_ts>2014-02-17 18:00:23 -0800</delta_ts>
            <desc>patch with review feedback</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>19780</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTE2ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1v
cmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMg
cHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkg
bm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgVGVz
dDogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5v
ZGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb246
CisKIDIwMTQtMDItMTYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuc3VyZSB0aGF0IHJlbW92aW5nIGFuIGlmcmFtZSBmcm9tIHRoZSBET00gdHJlZSBkaXNj
b25uZWN0cyBpdHMgRnJhbWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MTUs
MjggKzE0MTUsMzcgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkK
ICAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwog
CisgICAgYm9vbCBleGlzdHMgPSBmYWxzZTsKICAgICBib29sIGlnbm9yZWQgPSB0cnVlOwotCi0g
ICAgLy8gQ29tcHV0ZWQgQVJJQSBSb2xlCisgICAgU3RyaW5nIGludmFsaWQgPSAiZmFsc2UiOwor
ICAgIFN0cmluZyBsYWJlbDsgLy8gRklYTUU6IFdhaXRpbmcgb24gaHR0cDovL3dlYmtpdC5vcmcv
Yi8xMjExMzQKKyAgICBib29sIHJlcXVpcmVkID0gZmFsc2U7CiAgICAgU3RyaW5nIHJvbGU7Ci0K
LSAgICAvLyBDb21wdXRlZCBMYWJlbAotICAgIC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93
ZWJraXQub3JnL2IvMTIxMTM0Ci0gICAgU3RyaW5nIGxhYmVsOworICAgIGJvb2wgc3VwcG9ydHNS
ZXF1aXJlZCA9IGZhbHNlOwogCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUg
PSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkgewogICAgICAgICBpZiAoQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBheE9iamVjdENhY2hlLT5nZXRPckNyZWF0ZShub2Rl
KSkgeworICAgICAgICAgICAgZXhpc3RzID0gdHJ1ZTsKICAgICAgICAgICAgIGlnbm9yZWQgPSBh
eE9iamVjdC0+YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpOworICAgICAgICAgICAgaW52YWxpZCA9
IGF4T2JqZWN0LT5pbnZhbGlkU3RhdHVzKCk7CiAgICAgICAgICAgICByb2xlID0gYXhPYmplY3Qt
PmNvbXB1dGVkUm9sZVN0cmluZygpOworICAgICAgICAgICAgc3VwcG9ydHNSZXF1aXJlZCA9IGF4
T2JqZWN0LT5zdXBwb3J0c1JlcXVpcmVkQXR0cmlidXRlKCk7CisgICAgICAgICAgICBpZiAoc3Vw
cG9ydHNSZXF1aXJlZCkKKyAgICAgICAgICAgICAgICByZXF1aXJlZCA9IGF4T2JqZWN0LT5pc1Jl
cXVpcmVkKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkRPTTo6QWNjZXNzaWJpbGl0eVByb3BlcnRpZXM+IHZhbHVlID0gSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGllczo6Y3JlYXRlKCkK
LSAgICAgICAgLnNldElnbm9yZWQoaWdub3JlZCkKLSAgICAgICAgLnNldFJvbGUocm9sZSkKKyAg
ICAgICAgLnNldEV4aXN0cyhleGlzdHMpCiAgICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAg
ICAgLnNldFJvbGUocm9sZSkKICAgICAgICAgLnNldE5vZGVJZChwdXNoTm9kZVBhdGhUb0Zyb250
ZW5kKG5vZGUpKTsKLQorICAgIGlmIChpZ25vcmVkKQorICAgICAgICB2YWx1ZS0+c2V0SWdub3Jl
ZChpZ25vcmVkKTsKKyAgICBpZiAoaW52YWxpZCAhPSAiZmFsc2UiKQorICAgICAgICB2YWx1ZS0+
c2V0SW52YWxpZChpbnZhbGlkKTsKKyAgICBpZiAoc3VwcG9ydHNSZXF1aXJlZCkKKyAgICAgICAg
dmFsdWUtPnNldFJlcXVpcmVkKHJlcXVpcmVkKTsKICAgICByZXR1cm4gdmFsdWUucmVsZWFzZSgp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29u
CShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wv
RE9NLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTU5LDkgKzU5LDEyIEBACiAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmlsaXR5IHByb3BlcnRp
ZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAicHJvcGVy
dGllcyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlnbm9yZWQiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGUgYWNjZXNzaWJpbGl0
eSBvZiB0aGUgRE9NIG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNhbGx5IG9yIGV4
cGxpY2l0bHkuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBlIjog
InN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVjb2du
aXplZCByb2xlIHRva2VuLCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRkZW4g
cm9sZS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJleGlzdHMiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlJldHVybnMgd2hldGhlciB0aGVyZSBpcyBhbiBleGlz
dGluZyBBWCBvYmplY3QgZm9yIHRoZSBET00gbm9kZS4gSWYgdGhpcyBpcyBmYWxzZSwgYWxsIHRo
ZSBvdGhlciBwcm9wZXJ0aWVzIHdpbGwgYmUgZGVmYXVsdCB2YWx1ZXMuIiB9LAorICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiaWdub3JlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwi
OiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0aGVyIHRoZSBhY2Nlc3NpYmlsaXR5
IG9mIHRoZSBhc3NvY2lhdGVkIEFYIG9iamVjdCBub2RlIGlzIGlnbm9yZWQsIHdoZXRoZXIgaGV1
cmlzdGljYWxseSBvciBleHBsaWNpdGx5LiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImludmFsaWQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiUmV0dXJucyB0aGUgaW52YWxpZCBzdGF0dXMgZm9yIGZvcm0gZmllbGRzOiB0cnVlLCBm
YWxzZSwgZ3JhbW1hciwgc3BlbGxpbmcuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
bGFiZWwiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgbGFiZWwg
dmFsdWUgZm9yIHRoZSBub2RlLCBzb21ldGltZXMgY2FsY3VsYXRlZCBieSByZWZlcmVuY2luZyBv
dGhlciBub2Rlcy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXF1aXJlZCIsICJ0
eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiUmV0dXJu
cyB3aGV0aGVyIHRoZSBlbGVtZW50IGlzIHJlcXVpcmVkIG9yIG5vdCByZXF1aXJlZC4iIH0sCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyb2xlIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2Ny
aXB0aW9uIjogIkNvbXB1dGVkIHZhbHVlIGZvciBmaXJzdCByZWNvZ25pemVkIHJvbGUgdG9rZW4s
IGRlZmF1bHQgcm9sZSBwZXIgZWxlbWVudCwgb3Igb3ZlcnJpZGRlbiByb2xlLiIgfSwKICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlw
dGlvbiI6ICJUYXJnZXQgPGNvZGU+RE9NTm9kZTwvY29kZT4gaWQuIiB9CiAgICAgICAgICAgICBd
CiAgICAgICAgIH0sCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIw
NCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNiBAQAorMjAxNC0wMi0xNiAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYOiBtb3JlIHByb3BlcnRpZXM6IGV4aXN0cywg
cmVxdWlyZWQsIGFuZCBpbnZhbGlkIChleGlzdHMgd2FzIHByZXZpb3VzbHkgY29tYmluZWQgd2l0
aCBpZ25vcmVkKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI4NTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkaXRpb25zIHRvIHRoZSBhY2Nlc3NpYmlsaXR5IG5vZGUgaW5zcGVjdG9yOiBleGlzdHMs
IHJlcXVpcmVkLCBpbnZhbGlkLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRE9NTm9kZS5qczoK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgor
CiAyMDE0LTAyLTE1ICBDaHJpcyBKLiBTaHVsbCAgPGNocmlzanNodWxsQGdtYWlsLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBzY29wZSBjaGFpbiBkZXRhaWxzIHNpZGViYXIgZG9lc24n
dCB1cGRhdGUgdmFsdWVzIG1vZGlmaWVkIHZpYSBjb25zb2xlCkluZGV4OiBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNiwxMSArMjA2LDEzIEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBu
AGcAcwBbACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEA
bAApACIAXQAgAD0AIAAiAEkAYwBvAG4AIABhAG4AZAAgAFQAZQB4AHQAIAAoAEgAbwByAGkAegBv
AG4AdABhAGwAKQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBj
AG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgAVgBlAHIAdABpAGMAYQBsACkAIgBdACAAPQAgACIA
SQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgAVgBlAHIAdABpAGMAYQBsACkAIgA7AAogAGwA
bwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAZABlAG4AdABpAHQAeQAiAF0AIAA9
ACAAIgBJAGQAZQBuAHQAaQB0AHkAIgA7AAorAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBn
AHMAWwAiAEkAZwBuAG8AcgBlAGQAIgBdACAAPQAgACIASQBnAG4AbwByAGUAZAAiADsACiAAbABv
AGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBtAGEAZwBlACIAXQAgAD0AIAAiAEkA
bQBhAGcAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBtAGEA
ZwBlACAAUwBpAHoAZQAiAF0AIAA9ACAAIgBJAG0AYQBnAGUAIABTAGkAegBlACIAOwAKIABsAG8A
YwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAcwAiAF0AIAA9ACAAIgBJ
AG0AYQBnAGUAcwAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBu
AGgAZQByAGkAdABlAGQAIABGAHIAbwBtADoAIAAiAF0AIAA9ACAAIgBJAG4AaABlAHIAaQB0AGUA
ZAAgAEYAcgBvAG0AOgAgACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsA
IgBJAG4AaQB0AGkAYQB0AG8AcgAiAF0AIAA9ACAAIgBJAG4AaQB0AGkAYQB0AG8AcgAiADsACisA
bABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAHYAYQBsAGkAZAAiAF0AIAA9
ACAAIgBJAG4AdgBhAGwAaQBkACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBz
AFsAIgBJAG4AcAB1AHQAOgAgACIAXQAgAD0AIAAiAEkAbgBwAHUAdAA6ACAAIgA7AAogAGwAbwBj
AGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBzAHAAZQBjAHQAIgBdACAAPQAgACIA
SQBuAHMAcABlAGMAdAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
SQBuAHYAZQByAHQAIABjAGEAbABsACAAdAByAGUAZQAiAF0AIAA9ACAAIgBJAG4AdgBlAHIAdAAg
AGMAYQBsAGwAIAB0AHIAZQBlACIAOwAKQEAgLTMxMSw2ICszMTMsNyBAQAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIAAmACAAUgBlAHMAcABvAG4A
cwBlACIAXQAgAD0AIAAiAFIAZQBxAHUAZQBzAHQAIAAmACAAUgBlAHMAcABvAG4AcwBlACIAOwAK
IABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAARABh
AHQAYQAiAF0AIAA9ACAAIgBSAGUAcQB1AGUAcwB0ACAARABhAHQAYQAiADsACiAAbABvAGMAYQBs
AGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgAEgAZQBhAGQAZQByAHMA
IgBdACAAPQAgACIAUgBlAHEAdQBlAHMAdAAgAEgAZQBhAGQAZQByAHMAIgA7AAorAGwAbwBjAGEA
bABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAaQByAGUAZAAiAF0AIAA9ACAAIgBS
AGUAcQB1AGkAcgBlAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAi
AFIAZQBzAG8AdQByAGMAZQAiAF0AIAA9ACAAIgBSAGUAcwBvAHUAcgBjAGUAIgA7AAogAGwAbwBj
AGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBzAG8AdQByAGMAZQAgAFQAeQBwAGUA
IgBdACAAPQAgACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlAHMAIgBdACAAPQAgACIAUgBl
AHMAbwB1AHIAYwBlAHMAIgA7AApJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRE9NTm9kZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9ET01Ob2RlLmpzCShyZXZpc2lvbiAxNjQyMDQpCisrKyBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00NDUs
MTEgKzQ0NSwxNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGVycm9yLCBh
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcykKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCFlcnJv
ciAmJiBjYWxsYmFjaykgeworICAgICAgICAgICAgaWYgKCFlcnJvciAmJiBjYWxsYmFjayAmJiBh
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcykgewogICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsKKyAg
ICAgICAgICAgICAgICAgICAgZXhpc3RzOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5leGlzdHMs
CiAgICAgICAgICAgICAgICAgICAgIGlnbm9yZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmln
bm9yZWQsCi0gICAgICAgICAgICAgICAgICAgIHJvbGU6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
LnJvbGUsCi0gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5sYWJlbAorICAgICAgICAgICAgICAgICAgICBpbnZhbGlkOiBhY2Nlc3NpYmlsaXR5UHJvcGVy
dGllcy5pbnZhbGlkLAorICAgICAgICAgICAgICAgICAgICBsYWJlbDogYWNjZXNzaWJpbGl0eVBy
b3BlcnRpZXMubGFiZWwsCisgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBhY2Nlc3NpYmls
aXR5UHJvcGVydGllcy5yZXF1aXJlZCwKKyAgICAgICAgICAgICAgICAgICAgcm9sZTogYWNjZXNz
aWJpbGl0eVByb3BlcnRpZXMucm9sZQogICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAg
fQogICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9E
T01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwkocmV2
aXNpb24gMTY0MjA2KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9N
Tm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTUyLDggKzUyLDEx
IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCAKICAgICB2YXIgZXZl
bnRMaXN0ZW5lcnNTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigiZG9t
LW5vZGUtZXZlbnQtbGlzdGVuZXJzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFdmVudCBMaXN0
ZW5lcnMiKSwgW3RoaXMuX2V2ZW50TGlzdGVuZXJzU2VjdGlvbkdyb3VwXSk7ICAgIAogCiAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2Vj
dGlvblJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIEFjY2Vzc2liaWxpdHkgSW5mb3JtYXRp
b24iKSk7Ci0gICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93ID0gbmV3
IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkxhYmVsIikpOwotICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRSb2xlUm93
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJvbGUiKSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIklnbm9yZWQiKSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJbnZhbGlk
Um93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkludmFsaWQiKSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJl
bFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJMYWJlbCIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJlcXVp
cmVkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlJlcXVpcmVkIikpOworICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2Rl
Um9sZVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJSb2xlIikpOwogICAgIAogCiAgICAgdGhpcy5fYWNjZXNzaWJpbGl0
eUdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKFt0aGlzLl9hY2Nl
c3NpYmlsaXR5RW1wdHlSb3ddKTsKQEAgLTI0NCw5ICsyNDcsMjUgQEAgV2ViSW5zcGVjdG9yLkRP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLgogICAgICAgICAgICAgaWYgKHRoaXMuZG9tTm9kZSAh
PT0gZG9tTm9kZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGlmIChh
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcyAmJiAhYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3Jl
ZCkgewotICAgICAgICAgICAgICAgIHZhciByb2xlID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMu
cm9sZTsKKyAgICAgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5UHJvcGVydGllcyAmJiBhY2Nlc3Np
YmlsaXR5UHJvcGVydGllcy5leGlzdHMpIHsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICB2YXIgaWdub3JlZCA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlnbm9yZWQgPyBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlllcyIpIDogIiI7CisgICAgICAgICAgICAgICAgdmFyIGludmFs
aWQgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pbnZhbGlkID8gYWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXMuaW52YWxpZCA6ICIiOworCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IGxhYmVsIHdp
bGwgYWx3YXlzIGNvbWUgYmFjayBhcyBlbXB0eS4gQmxvY2tlZCBieSBodHRwOi8vd2Via2l0Lm9y
Zy9iLzEyMTEzNAorICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IGFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzLmxhYmVsOworICAgICAgICAgICAgICAgIGlmIChsYWJlbCAmJiBsYWJlbCAhPT0gZG9t
Tm9kZS5nZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSkKKyAgICAgICAgICAgICAgICAgICAgbGFi
ZWwgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIChjb21wdXRlZCkiKS5mb3JtYXQobGFiZWwp
OworCisgICAgICAgICAgICAgICAgdmFyIHJlcXVpcmVkID0gIiI7CisgICAgICAgICAgICAgICAg
aWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLnJlcXVpcmVkKQor
ICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlllcyIpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAg
ICByZXF1aXJlZCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8iKTsKKyAgICAgICAgICAgICAg
ICB9CiAKKyAgICAgICAgICAgICAgICB2YXIgcm9sZSA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
LnJvbGU7CiAgICAgICAgICAgICAgICAgaWYgKHJvbGUgPT09ICIiIHx8IHJvbGUgPT09ICJ1bmtu
b3duIikKICAgICAgICAgICAgICAgICAgICAgcm9sZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Tm8gZXhhY3QgQVJJQSByb2xlIG1hdGNoLiIpOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJv
bGUpIHsKQEAgLTI1NiwxNSArMjc1LDE5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC4KICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGUgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIiVzIChjb21wdXRlZCkiKS5mb3JtYXQocm9sZSk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBsYWJlbCB3aWxs
IGFsd2F5cyBjb21lIGJhY2sgYXMgZW1wdHkuIEJsb2NrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcv
Yi8xMjExMzQKLSAgICAgICAgICAgICAgICB2YXIgbGFiZWwgPSBhY2Nlc3NpYmlsaXR5UHJvcGVy
dGllcy5sYWJlbDsKLSAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYgbGFiZWwgIT09IGRvbU5v
ZGUuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCi0gICAgICAgICAgICAgICAgICAgIGxhYmVs
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KGxhYmVsKTsK
LQotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRMYWJlbFJv
dy52YWx1ZSA9IGxhYmVsOwotICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2Rl
Q29tcHV0ZWRSb2xlUm93LnZhbHVlID0gcm9sZTsKLQotICAgICAgICAgICAgICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlHcm91cC5yb3dzID0gW3RoaXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRM
YWJlbFJvdywgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3ddOworICAgICAg
ICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdy52YWx1ZSA9IGlnbm9y
ZWQ7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJbnZhbGlkUm93LnZh
bHVlID0gaW52YWxpZDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxh
YmVsUm93LnZhbHVlID0gbGFiZWw7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0
eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9IHJlcXVpcmVkOworICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlUm9sZVJvdy52YWx1ZSA9IHJvbGU7CisKKyAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAucm93cyA9IFsKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LAorICAgICAgICAgICAgICAgICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdworICAgICAgICAgICAgICAgIF07CiAgICAgICAgICAg
ICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93LmhpZGVFbXB0eU1lc3NhZ2UoKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eUdy
b3VwLnJvd3MgPSBbdGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93XTsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE2NDIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE1IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCBy
ZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRo
IGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZvciBET00uZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wv
ZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE2ICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCByZW1vdmluZyBhbiBpZnJh
bWUgZnJvbSB0aGUgRE9NIHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1lLgpJbmRleDogTGF5b3V0
VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zv
ck5vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0
QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDk1IEBACitDaGVja2luZyBXZWIgSW5zcGVjdG9yIHByb3RvY29sIGZvciB0
aGUgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3Rvci4KKworICAgICAgICAgICAKK1RvdGFsIGVs
ZW1lbnRzIHRvIGJlIHRlc3RlZDogMTUuCisKKzxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCI+
CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IGltZworCis8aW1nIHNy
Yz0iLi80MDQuZ2lmIiBhbHQ9IiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAg
IHJvbGU6IGltZworICAgIGlnbm9yZWQ6IHRydWUKKworPGltZyBzcmM9Ii4vNDA0LmdpZiI+Cisg
ICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IGltZworICAgIGlnbm9yZWQ6
IHRydWUKKworPGlucHV0IGFyaWEtaW52YWxpZD0iZmFrZS12YWx1ZS13aWxsLWV2YWwtdG8tdHJ1
ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IAorICAgIGludmFs
aWQ6IHRydWUKKyAgICByZXF1aXJlZDogZmFsc2UKKworPGlucHV0IGFyaWEtaW52YWxpZD0ic3Bl
bGxpbmciPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiAKKyAgICBp
bnZhbGlkOiBzcGVsbGluZworICAgIHJlcXVpcmVkOiBmYWxzZQorCis8aW5wdXQgYXJpYS1yZXF1
aXJlZD0idHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IAor
ICAgIHJlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCByZXF1aXJlZD0iIj4KKyAgICBleGlzdHM6IHRy
dWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogCisgICAgcmVxdWlyZWQ6IHRydWUKKworPGlucHV0
IHR5cGU9ImJ1dHRvbiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6
IGJ1dHRvbgorCis8YnV0dG9uPjwvYnV0dG9uPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVs
OiAKKyAgICByb2xlOiBidXR0b24KKworPGRpdiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48
L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogYnV0dG9uCisK
KzxzcGFuPjwvc3Bhbj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTog
CisgICAgaWdub3JlZDogdHJ1ZQorCis8ZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAg
IGxhYmVsOiAKKyAgICByb2xlOiAKKyAgICBpZ25vcmVkOiB0cnVlCisKKzxkaXYgcm9sZT0icHJl
c2VudGF0aW9uIj48ZGl2PjwvZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVs
OiAKKyAgICByb2xlOiBwcmVzZW50YXRpb24KKyAgICBpZ25vcmVkOiB0cnVlCisKKzxkaXY+PGRp
dj48L2Rpdj48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTog
CisgICAgaWdub3JlZDogdHJ1ZQorCis8c2NyaXB0Pjwvc2NyaXB0PgorICAgIGV4aXN0czogZmFs
c2UKKyAgICBsYWJlbDogCisgICAgcm9sZTogCisgICAgaWdub3JlZDogdHJ1ZQorCisKKwpJbmRl
eDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJv
cGVydGllc0Zvck5vZGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0b3It
cHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3Np
YmlsaXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkw
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRl
c3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25Mb2FkPSJydW5UZXN0KCkiPgorCis8
cD5DaGVja2luZyBXZWIgSW5zcGVjdG9yIHByb3RvY29sIGZvciB0aGUgQWNjZXNzaWJpbGl0eSBO
b2RlIEluc3BlY3Rvci48L3A+CisKKzwhLS0gVGhpcyBvbmUgaXMgbmV2ZXIgcmVuZGVyZWQsIHNv
ICJleGlzdHMiIHNob3VsZCByZXR1cm4gZmFsc2UuIC0tPgorPHNjcmlwdCBjbGFzcz0iZXgiPjwv
c2NyaXB0PgorCis8IS0tIFRoZSByZXN0IGFyZSByZW5kZXJlZCB3aXRoIHZhcmlvdXMgcHJvcGVy
dHkgZGlmZmVyZW5jZXMuIC0tPgorPGRpdiBjbGFzcz0iZXgiPjxkaXY+PC9kaXY+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJleCIgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2PjwvZGl2PgorPGRp
diBjbGFzcz0iZXgiPjwvZGl2PgorPHNwYW4gY2xhc3M9ImV4Ij48L3NwYW4+CisKKzxkaXYgY2xh
c3M9ImV4IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48L2Rpdj4KKzxidXR0b24gY2xhc3M9
ImV4Ij48L2J1dHRvbj4KKzxpbnB1dCBjbGFzcz0iZXgiIHR5cGU9ImJ1dHRvbiI+CisKKzxpbnB1
dCBjbGFzcz0iZXgiIHJlcXVpcmVkPgorPGlucHV0IGNsYXNzPSJleCIgYXJpYS1yZXF1aXJlZD0i
dHJ1ZSI+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9InNwZWxsaW5nIj4KKzxpbnB1
dCBjbGFzcz0iZXgiIGFyaWEtaW52YWxpZD0iZmFrZS12YWx1ZS13aWxsLWV2YWwtdG8tdHJ1ZSI+
CisKKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiI+Cis8aW1nIGNsYXNzPSJleCIgc3Jj
PSIuLzQwNC5naWYiIGFsdD0iIj4KKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiIgYWx0
PSJ4Ij4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitmdW5jdGlvbiAkKHNl
bGVjdG9yKSB7CisgICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3Ip
OworfQorZnVuY3Rpb24gY2xlYW51cCgpIHsKKyAgICB2YXIgZXhhbXBsZXMgPSAkKCIuZXgiKTsK
KyAgICBmb3IgKGVsIGluIGV4YW1wbGVzKQorICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworCisgICAgdmFyIGV4YW1wbGVzID0gW107CisK
KyAgICBmdW5jdGlvbiBsb29wKCkgeworICAgICAgICBpZiAoZXhhbXBsZXMubGVuZ3RoKSB7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0T3V0ZXJIVE1MIiwg
eyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5ndGgtMV19LCBvbkdvdE91dGVySFRNTCk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iKTsK
KyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIlJ1bnRpbWUuZXZhbHVhdGUi
LCB7ImV4cHJlc3Npb24iOiAiY2xlYW51cCgpIn0sIGZ1bmN0aW9uKCl7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAg
ICB9CisgICAgfTsKKworICAgIGZ1bmN0aW9uIG9uR290RG9jdW1lbnQocmVzcG9uc2UpIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLnF1ZXJ5U2VsZWN0b3JBbGwiLCB7Im5vZGVJZCI6
IHJlc3BvbnNlLnJlc3VsdC5yb290Lm5vZGVJZCwgInNlbGVjdG9yIjogIi5leCJ9LCBvblF1ZXJ5
U2VsZWN0b3JBbGwpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uUXVlcnlTZWxlY3RvckFsbChy
ZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2Up
OworICAgICAgICBleGFtcGxlcyA9IHJlc3BvbnNlLnJlc3VsdC5ub2RlSWRzOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiAiICsgZXhhbXBs
ZXMubGVuZ3RoICsgIi4iKTsKKyAgICAgICAgbG9vcCgpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IG9uR290T3V0ZXJIVE1MKHJlc3BvbnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tG
b3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJcbiIgKyByZXNw
b25zZS5yZXN1bHQub3V0ZXJIVE1MLnJlcGxhY2UoIiBjbGFzcz1cImV4XCIiLCAiIikpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXNGb3JOb2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5ndGgtMV19LCBv
bkdvdEFYUHJvcHMpOworICAgIH0KKworICAgIGZ1bmN0aW9uIG9uR290QVhQcm9wcyhyZXNwb25z
ZSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAg
ICAgICBmb3IgKHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsKKyAgICAgICAg
ICAgIGlmIChwcm9wICE9PSAibm9kZUlkIikKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmxvZygiICAgICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5wcm9wZXJ0aWVzW3By
b3BdKTsKKyAgICAgICAgfQorICAgICAgICBleGFtcGxlcy5wb3AoKTsKKyAgICAgICAgbG9vcCgp
OworICAgIH0KKworICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5nZXREb2N1bWVu
dCIsIHt9LCBvbkdvdERvY3VtZW50KTsKKworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224453</attachid>
            <date>2014-02-17 18:04:59 -0800</date>
            <delta_ts>2014-02-18 15:58:13 -0800</delta_ts>
            <desc>patch with review feedback</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>19811</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTE2ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1v
cmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMg
cHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkg
bm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgVGVz
dDogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5v
ZGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb246
CisKIDIwMTQtMDItMTYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuc3VyZSB0aGF0IHJlbW92aW5nIGFuIGlmcmFtZSBmcm9tIHRoZSBET00gdHJlZSBkaXNj
b25uZWN0cyBpdHMgRnJhbWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MTUs
MjggKzE0MTUsMzkgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkK
ICAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwog
CisgICAgYm9vbCBleGlzdHMgPSBmYWxzZTsKICAgICBib29sIGlnbm9yZWQgPSB0cnVlOwotCi0g
ICAgLy8gQ29tcHV0ZWQgQVJJQSBSb2xlCisgICAgU3RyaW5nIGludmFsaWQgPSAiZmFsc2UiOwor
ICAgIFN0cmluZyBsYWJlbDsgLy8gRklYTUU6IFdhaXRpbmcgb24gaHR0cDovL3dlYmtpdC5vcmcv
Yi8xMjExMzQKKyAgICBib29sIHJlcXVpcmVkID0gZmFsc2U7CiAgICAgU3RyaW5nIHJvbGU7Ci0K
LSAgICAvLyBDb21wdXRlZCBMYWJlbAotICAgIC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93
ZWJraXQub3JnL2IvMTIxMTM0Ci0gICAgU3RyaW5nIGxhYmVsOworICAgIGJvb2wgc3VwcG9ydHNS
ZXF1aXJlZCA9IGZhbHNlOwogCiAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUg
PSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkgewogICAgICAgICBpZiAoQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBheE9iamVjdENhY2hlLT5nZXRPckNyZWF0ZShub2Rl
KSkgeworICAgICAgICAgICAgZXhpc3RzID0gdHJ1ZTsKICAgICAgICAgICAgIGlnbm9yZWQgPSBh
eE9iamVjdC0+YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpOworICAgICAgICAgICAgaW52YWxpZCA9
IGF4T2JqZWN0LT5pbnZhbGlkU3RhdHVzKCk7CiAgICAgICAgICAgICByb2xlID0gYXhPYmplY3Qt
PmNvbXB1dGVkUm9sZVN0cmluZygpOworICAgICAgICAgICAgc3VwcG9ydHNSZXF1aXJlZCA9IGF4
T2JqZWN0LT5zdXBwb3J0c1JlcXVpcmVkQXR0cmlidXRlKCk7CisgICAgICAgICAgICBpZiAoc3Vw
cG9ydHNSZXF1aXJlZCkKKyAgICAgICAgICAgICAgICByZXF1aXJlZCA9IGF4T2JqZWN0LT5pc1Jl
cXVpcmVkKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6
VHlwZUJ1aWxkZXI6OkRPTTo6QWNjZXNzaWJpbGl0eVByb3BlcnRpZXM+IHZhbHVlID0gSW5zcGVj
dG9yOjpUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaXR5UHJvcGVydGllczo6Y3JlYXRlKCkK
LSAgICAgICAgLnNldElnbm9yZWQoaWdub3JlZCkKLSAgICAgICAgLnNldFJvbGUocm9sZSkKKyAg
ICAgICAgLnNldEV4aXN0cyhleGlzdHMpCiAgICAgICAgIC5zZXRMYWJlbChsYWJlbCkKKyAgICAg
ICAgLnNldFJvbGUocm9sZSkKICAgICAgICAgLnNldE5vZGVJZChwdXNoTm9kZVBhdGhUb0Zyb250
ZW5kKG5vZGUpKTsKLQorICAgIGlmIChleGlzdHMpIHsKKyAgICAgICAgaWYgKGlnbm9yZWQpCisg
ICAgICAgICAgICB2YWx1ZS0+c2V0SWdub3JlZChpZ25vcmVkKTsKKyAgICAgICAgaWYgKGludmFs
aWQgIT0gImZhbHNlIikKKyAgICAgICAgICAgIHZhbHVlLT5zZXRJbnZhbGlkKGludmFsaWQpOwor
ICAgICAgICBpZiAoc3VwcG9ydHNSZXF1aXJlZCkKKyAgICAgICAgICAgIHZhbHVlLT5zZXRSZXF1
aXJlZChyZXF1aXJlZCk7CisgICAgfQogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24JKHJldmlz
aW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNv
bgkod29ya2luZyBjb3B5KQpAQCAtNTksOSArNTksMTIgQEAKICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJBIHN0cnVjdHVyZSBob2xkaW5nIGFjY2Vzc2liaWxpdHkgcHJvcGVydGllcy4iLAog
ICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
WwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWdub3JlZCIsICJ0eXBlIjogImJvb2xlYW4i
LCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0aGVyIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRo
ZSBET00gbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGljaXRs
eS4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyb2xlIiwgInR5cGUiOiAic3RyaW5n
IiwgImRlc2NyaXB0aW9uIjogIkNvbXB1dGVkIHZhbHVlIGZvciBmaXJzdCByZWNvZ25pemVkIHJv
bGUgdG9rZW4sIGRlZmF1bHQgcm9sZSBwZXIgZWxlbWVudCwgb3Igb3ZlcnJpZGRlbiByb2xlLiIg
fSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4aXN0cyIsICJ0eXBlIjogImJvb2xlYW4i
LCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFY
IG9iamVjdCBmb3IgdGhlIERPTSBub2RlLiBJZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVy
IHByb3BlcnRpZXMgd2lsbCBiZSBkZWZhdWx0IHZhbHVlcy4iIH0sCisgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJpZ25vcmVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhl
IGFzc29jaWF0ZWQgQVggb2JqZWN0IG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNh
bGx5IG9yIGV4cGxpY2l0bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaW52YWxp
ZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJS
ZXR1cm5zIHRoZSBpbnZhbGlkIHN0YXR1cyBmb3IgZm9ybSBmaWVsZHM6IHRydWUsIGZhbHNlLCBn
cmFtbWFyLCBzcGVsbGluZy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBm
b3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBjYWxjdWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5v
ZGVzLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVpcmVkIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRo
ZXIgdGhlIGVsZW1lbnQgaXMgcmVxdWlyZWQgb3Igbm90IHJlcXVpcmVkLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInJvbGUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24i
OiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZpcnN0IHJlY29nbml6ZWQgcm9sZSB0b2tlbiwgZGVmYXVs
dCByb2xlIHBlciBlbGVtZW50LCBvciBvdmVycmlkZGVuIHJvbGUuIiB9LAogICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjog
IlRhcmdldCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAg
ICAgfSwKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MjA0KQorKysg
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJl
ZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9y
ZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1
MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRp
dGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWly
ZWQsIGludmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2RlLmpzOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisKIDIwMTQt
MDItMTUgIENocmlzIEouIFNodWxsICA8Y2hyaXNqc2h1bGxAZ21haWwuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IHNjb3BlIGNoYWluIGRldGFpbHMgc2lkZWJhciBkb2Vzbid0IHVwZGF0
ZSB2YWx1ZXMgbW9kaWZpZWQgdmlhIGNvbnNvbGUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMjA2LDExICsyMDYsMTMgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsA
IgBJAGMAbwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBd
ACAAPQAgACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEA
bAApACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAA
YQBuAGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBu
ACAAYQBuAGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBs
AGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkA
ZABlAG4AdABpAHQAeQAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
SQBnAG4AbwByAGUAZAAiAF0AIAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwA
aQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBl
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABT
AGkAegBlACIAXQAgAD0AIAAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcA
ZQBzACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIA
aQB0AGUAZAAgAEYAcgBvAG0AOgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgBy
AG8AbQA6ACAAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBp
AHQAaQBhAHQAbwByACIAXQAgAD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBh
AGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkA
bgB2AGEAbABpAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkA
bgBwAHUAdAA6ACAAIgBdACAAPQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBw
AGUAYwB0ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBl
AHIAdAAgAGMAYQBsAGwAIAB0AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwA
bAAgAHQAcgBlAGUAIgA7AApAQCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBd
ACAAPQAgACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBj
AGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIA
XQAgAD0AIAAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9
ACAAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUA
aQByAGUAZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMA
bwB1AHIAYwBlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9
ACAAIgBSAGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABT
AHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUA
cgBjAGUAcwAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9E
T01Ob2RlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0RPTU5vZGUuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0RPTU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0NSwxMSArNDQ1
LDE0IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAg
IGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soZXJyb3IsIGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIWVycm9yICYmIGNh
bGxiYWNrKSB7CisgICAgICAgICAgICBpZiAoIWVycm9yICYmIGNhbGxiYWNrICYmIGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKSB7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soeworICAgICAgICAg
ICAgICAgICAgICBleGlzdHM6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmV4aXN0cywKICAgICAg
ICAgICAgICAgICAgICAgaWdub3JlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCwK
LSAgICAgICAgICAgICAgICAgICAgcm9sZTogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZSwK
LSAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxhYmVs
CisgICAgICAgICAgICAgICAgICAgIGludmFsaWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlu
dmFsaWQsCisgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5sYWJlbCwKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzLnJlcXVpcmVkLAorICAgICAgICAgICAgICAgICAgICByb2xlOiBhY2Nlc3NpYmlsaXR5
UHJvcGVydGllcy5yb2xlCiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCShyZXZpc2lvbiAx
NjQyMDYpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlRGV0
YWlsc1NpZGViYXJQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNTIsOCArNTIsMTEgQEAgV2Vi
SW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIAogICAgIHZhciBldmVudExpc3Rl
bmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1l
dmVudC1saXN0ZW5lcnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIp
LCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNTZWN0aW9uR3JvdXBdKTsgICAgCiAKICAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gQWNjZXNzaWJpbGl0eSBJbmZvcm1hdGlvbiIpKTsK
LSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkTGFiZWxSb3cgPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFi
ZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3cgPSBuZXcg
V2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiUm9sZSIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcg
V2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiSWdub3JlZCIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0
cmluZygiSW52YWxpZCIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0g
bmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkxhYmVsIikpOworICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cg
PSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5V
SVN0cmluZygiUmVxdWlyZWQiKSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJvbGUiKSk7CiAgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAg
PSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxp
dHlFbXB0eVJvd10pOwpAQCAtMjQ0LDkgKzI0NywyNSBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURl
dGFpbHNTaWRlYmFyUGFuZWwuCiAgICAgICAgICAgICBpZiAodGhpcy5kb21Ob2RlICE9PSBkb21O
b2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgaWYgKGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzICYmICFhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pZ25vcmVkKSB7Ci0g
ICAgICAgICAgICAgICAgdmFyIHJvbGUgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5yb2xlOwor
ICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzICYmIGFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzLmV4aXN0cykgeworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHZh
ciBpZ25vcmVkID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCA/IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiWWVzIikgOiAiIjsKKyAgICAgICAgICAgICAgICB2YXIgaW52YWxpZCA9IGFj
Y2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmludmFsaWQgPyBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5p
bnZhbGlkIDogIiI7CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBhbHdh
eXMgY29tZSBiYWNrIGFzIGVtcHR5LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMTIx
MTM0CisgICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMu
bGFiZWw7CisgICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2RlLmdl
dEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKQorICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7CisKKyAg
ICAgICAgICAgICAgICB2YXIgcmVxdWlyZWQgPSAiIjsKKyAgICAgICAgICAgICAgICBpZiAoYWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucmVxdWlyZWQpCisgICAgICAg
ICAgICAgICAgICAgICAgICByZXF1aXJlZCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIik7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVp
cmVkID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyIpOworICAgICAgICAgICAgICAgIH0KIAor
ICAgICAgICAgICAgICAgIHZhciByb2xlID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZTsK
ICAgICAgICAgICAgICAgICBpZiAocm9sZSA9PT0gIiIgfHwgcm9sZSA9PT0gInVua25vd24iKQog
ICAgICAgICAgICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyBleGFj
dCBBUklBIHJvbGUgbWF0Y2guIik7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAocm9sZSkgewpA
QCAtMjU2LDE1ICsyNzUsMTkgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBh
bmVsLgogICAgICAgICAgICAgICAgICAgICAgICAgcm9sZSA9IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChyb2xlKTsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IGxhYmVsIHdpbGwgYWx3YXlz
IGNvbWUgYmFjayBhcyBlbXB0eS4gQmxvY2tlZCBieSBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEz
NAotICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxh
YmVsOwotICAgICAgICAgICAgICAgIGlmIChsYWJlbCAmJiBsYWJlbCAhPT0gZG9tTm9kZS5nZXRB
dHRyaWJ1dGUoImFyaWEtbGFiZWwiKSkKLSAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIiVzIChjb21wdXRlZCkiKS5mb3JtYXQobGFiZWwpOwotCi0gICAg
ICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93LnZhbHVl
ID0gbGFiZWw7Ci0gICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRl
ZFJvbGVSb3cudmFsdWUgPSByb2xlOwotCi0gICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eUdyb3VwLnJvd3MgPSBbdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZExhYmVsUm93
LCB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkUm9sZVJvd107CisgICAgICAgICAgICAg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LnZhbHVlID0gaWdub3JlZDsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cudmFsdWUgPSBp
bnZhbGlkOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3cu
dmFsdWUgPSBsYWJlbDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJl
cXVpcmVkUm93LnZhbHVlID0gcmVxdWlyZWQ7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVSb2xlUm93LnZhbHVlID0gcm9sZTsKKworICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlHcm91cC5yb3dzID0gWworICAgICAgICAgICAgICAgICAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlOb2RlUm9sZVJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVMYWJlbFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVSZXF1aXJlZFJvdywKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVJbnZhbGlkUm93CisgICAgICAgICAgICAgICAgXTsKICAgICAgICAgICAgICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cuaGlkZUVtcHR5TWVzc2FnZSgpOwogICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAucm93
cyA9IFt0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3ddOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0
MjA0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTQtMDItMTYgIEphbWVzIENyYWlnICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBBWDogbW9yZSBwcm9wZXJ0aWVzOiBleGlzdHMsIHJlcXVpcmVk
LCBhbmQgaW52YWxpZCAoZXhpc3RzIHdhcyBwcmV2aW91c2x5IGNvbWJpbmVkIHdpdGggaWdub3Jl
ZCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODUw
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyBm
aWxlcyB0ZXN0IHRoZSBpbnNwZWN0b3IgcHJvdG9jb2wgZm9yIERPTS5nZXRBY2Nlc3NpYmlsaXR5
UHJvcGVydGllc0Zvck5vZGUKKworICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0
QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zv
ck5vZGUuaHRtbDogQWRkZWQuCisKIDIwMTQtMDItMTYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSB0aGF0IHJlbW92aW5nIGFuIGlmcmFtZSBmcm9t
IHRoZSBET00gdHJlZSBkaXNjb25uZWN0cyBpdHMgRnJhbWUuCkluZGV4OiBMYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3Np
YmlsaXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsOTQgQEAKK0NoZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9yIHRoZSBBY2Nl
c3NpYmlsaXR5IE5vZGUgSW5zcGVjdG9yLgorCisgICAgICAgICAgIAorVG90YWwgZWxlbWVudHMg
dG8gYmUgdGVzdGVkOiAxNS4KKworPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4Ij4KKyAgICBl
eGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogaW1nCisKKzxpbWcgc3JjPSIuLzQw
NC5naWYiIGFsdD0iIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTog
aW1nCisgICAgaWdub3JlZDogdHJ1ZQorCis8aW1nIHNyYz0iLi80MDQuZ2lmIj4KKyAgICBleGlz
dHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogaW1nCisgICAgaWdub3JlZDogdHJ1ZQor
Cis8aW5wdXQgYXJpYS1pbnZhbGlkPSJmYWtlLXZhbHVlLXdpbGwtZXZhbC10by10cnVlIj4KKyAg
ICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogCisgICAgaW52YWxpZDogdHJ1
ZQorICAgIHJlcXVpcmVkOiBmYWxzZQorCis8aW5wdXQgYXJpYS1pbnZhbGlkPSJzcGVsbGluZyI+
CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IAorICAgIGludmFsaWQ6
IHNwZWxsaW5nCisgICAgcmVxdWlyZWQ6IGZhbHNlCisKKzxpbnB1dCBhcmlhLXJlcXVpcmVkPSJ0
cnVlIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogCisgICAgcmVx
dWlyZWQ6IHRydWUKKworPGlucHV0IHJlcXVpcmVkPSIiPgorICAgIGV4aXN0czogdHJ1ZQorICAg
IGxhYmVsOiAKKyAgICByb2xlOiAKKyAgICByZXF1aXJlZDogdHJ1ZQorCis8aW5wdXQgdHlwZT0i
YnV0dG9uIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogYnV0dG9u
CisKKzxidXR0b24+PC9idXR0b24+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAg
IHJvbGU6IGJ1dHRvbgorCis8ZGl2IHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjwvZGl2Pgor
ICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiBidXR0b24KKworPHNwYW4+
PC9zcGFuPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiAKKyAgICBp
Z25vcmVkOiB0cnVlCisKKzxkaXY+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6
IAorICAgIHJvbGU6IAorICAgIGlnbm9yZWQ6IHRydWUKKworPGRpdiByb2xlPSJwcmVzZW50YXRp
b24iPjxkaXY+PC9kaXY+PC9kaXY+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAg
IHJvbGU6IHByZXNlbnRhdGlvbgorICAgIGlnbm9yZWQ6IHRydWUKKworPGRpdj48ZGl2PjwvZGl2
PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiAKKyAgICBp
Z25vcmVkOiB0cnVlCisKKzxzY3JpcHQ+PC9zY3JpcHQ+CisgICAgZXhpc3RzOiBmYWxzZQorICAg
IGxhYmVsOiAKKyAgICByb2xlOiAKKworCisKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1w
cm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmls
aXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2lu
c3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9y
LXByb3RvY29sL3Jlc291cmNlcy9wcm90b2NvbC10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9uTG9hZD0icnVuVGVzdCgpIj4KKworPHA+Q2hlY2tpbmcgV2ViIEluc3BlY3RvciBw
cm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3IuPC9wPgorCis8IS0t
IFRoaXMgb25lIGlzIG5ldmVyIHJlbmRlcmVkLCBzbyAiZXhpc3RzIiBzaG91bGQgcmV0dXJuIGZh
bHNlLiAtLT4KKzxzY3JpcHQgY2xhc3M9ImV4Ij48L3NjcmlwdD4KKworPCEtLSBUaGUgcmVzdCBh
cmUgcmVuZGVyZWQgd2l0aCB2YXJpb3VzIHByb3BlcnR5IGRpZmZlcmVuY2VzLiAtLT4KKzxkaXYg
Y2xhc3M9ImV4Ij48ZGl2PjwvZGl2PjwvZGl2PgorPGRpdiBjbGFzcz0iZXgiIHJvbGU9InByZXNl
bnRhdGlvbiI+PGRpdj48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9ImV4Ij48L2Rpdj4KKzxzcGFu
IGNsYXNzPSJleCI+PC9zcGFuPgorCis8ZGl2IGNsYXNzPSJleCIgcm9sZT0iYnV0dG9uIiB0YWJp
bmRleD0iMCI+PC9kaXY+Cis8YnV0dG9uIGNsYXNzPSJleCI+PC9idXR0b24+Cis8aW5wdXQgY2xh
c3M9ImV4IiB0eXBlPSJidXR0b24iPgorCis8aW5wdXQgY2xhc3M9ImV4IiByZXF1aXJlZD4KKzxp
bnB1dCBjbGFzcz0iZXgiIGFyaWEtcmVxdWlyZWQ9InRydWUiPgorPGlucHV0IGNsYXNzPSJleCIg
YXJpYS1pbnZhbGlkPSJzcGVsbGluZyI+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWludmFsaWQ9
ImZha2UtdmFsdWUtd2lsbC1ldmFsLXRvLXRydWUiPgorCis8aW1nIGNsYXNzPSJleCIgc3JjPSIu
LzQwNC5naWYiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1n
IGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCI+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KKworZnVuY3Rpb24gJChzZWxlY3RvcikgeworICAgIHJldHVybiBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTsKK30KK2Z1bmN0aW9uIGNsZWFudXAoKSB7
CisgICAgdmFyIGV4YW1wbGVzID0gJCgiLmV4Iik7CisgICAgZm9yIChlbCBpbiBleGFtcGxlcykK
KyAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKK30KKworZnVuY3Rpb24gdGVzdCgp
IHsKKworICAgIHZhciBleGFtcGxlcyA9IFtdOworCisgICAgZnVuY3Rpb24gbG9vcCgpIHsKKyAg
ICAgICAgaWYgKGV4YW1wbGVzLmxlbmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5z
ZW5kQ29tbWFuZCgiRE9NLmdldE91dGVySFRNTCIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhhbXBs
ZXMubGVuZ3RoLTFdfSwgb25Hb3RPdXRlckhUTUwpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuIik7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LnNlbmRDb21tYW5kKCJSdW50aW1lLmV2YWx1YXRlIiwgeyJleHByZXNzaW9uIjogImNsZWFudXAo
KSJ9LCBmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBmdW5jdGlv
biBvbkdvdERvY3VtZW50KHJlc3BvbnNlKSB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tG
b3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQoIkRP
TS5xdWVyeVNlbGVjdG9yQWxsIiwgeyJub2RlSWQiOiByZXNwb25zZS5yZXN1bHQucm9vdC5ub2Rl
SWQsICJzZWxlY3RvciI6ICIuZXgifSwgb25RdWVyeVNlbGVjdG9yQWxsKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBvblF1ZXJ5U2VsZWN0b3JBbGwocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAgZXhhbXBsZXMgPSByZXNw
b25zZS5yZXN1bHQubm9kZUlkczsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRvdGFsIGVs
ZW1lbnRzIHRvIGJlIHRlc3RlZDogIiArIGV4YW1wbGVzLmxlbmd0aCArICIuIik7CisgICAgICAg
IGxvb3AoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBvbkdvdE91dGVySFRNTChyZXNwb25zZSkg
eworICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iICsgcmVzcG9uc2UucmVzdWx0Lm91dGVySFRNTC5yZXBs
YWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29t
bWFuZCgiRE9NLmdldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZSIsIHsibm9kZUlkIjog
ZXhhbXBsZXNbZXhhbXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RBWFByb3BzKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBvbkdvdEFYUHJvcHMocmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKKyAgICAgICAgZm9yIChwcm9wIGluIHJlc3BvbnNl
LnJlc3VsdC5wcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICBpZiAocHJvcCAhPT0gIm5vZGVJZCIp
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiAgICAiICsgcHJvcCArICI6ICIg
KyByZXNwb25zZS5yZXN1bHQucHJvcGVydGllc1twcm9wXSk7CisgICAgICAgIH0KKyAgICAgICAg
ZXhhbXBsZXMucG9wKCk7CisgICAgICAgIGxvb3AoKTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JU
ZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0RG9jdW1lbnQiLCB7fSwgb25Hb3REb2N1bWVudCk7CisK
K30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="248537"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224562</attachid>
            <date>2014-02-18 15:58:13 -0800</date>
            <delta_ts>2014-02-18 16:39:52 -0800</delta_ts>
            <desc>patch</desc>
            <filename>webkit128504.diff</filename>
            <type>text/plain</type>
            <size>19935</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTE2ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1v
cmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMg
cHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkg
bm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWlyZWQsIGludmFsaWQuCisKKyAgICAgICAgVGVz
dDogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5v
ZGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb246
CisKIDIwMTQtMDItMTYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuc3VyZSB0aGF0IHJlbW92aW5nIGFuIGlmcmFtZSBmcm9tIHRoZSBET00gdHJlZSBkaXNj
b25uZWN0cyBpdHMgRnJhbWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MTUs
MjggKzE0MTUsNDEgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkK
ICAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwog
CisgICAgYm9vbCBleGlzdHMgPSBmYWxzZTsKICAgICBib29sIGlnbm9yZWQgPSB0cnVlOwotCi0g
ICAgLy8gQ29tcHV0ZWQgQVJJQSBSb2xlCisgICAgU3RyaW5nIGludmFsaWQgPSAiZmFsc2UiOyAv
LyBTdHJpbmcgdmFsdWVzOiB0cnVlLCBmYWxzZSwgc3BlbGxpbmcsIGdyYW1tYXIsIGV0Yy4KKyAg
ICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0CisgICAgYm9vbCByZXF1aXJlZCA9IGZhbHNlOwogICAgIFN0cmluZyByb2xlOwotCi0g
ICAgLy8gQ29tcHV0ZWQgTGFiZWwKLSAgICAvLyBGSVhNRTogV2FpdGluZyBvbiBodHRwOi8vd2Vi
a2l0Lm9yZy9iLzEyMTEzNAotICAgIFN0cmluZyBsYWJlbDsKKyAgICBib29sIHN1cHBvcnRzUmVx
dWlyZWQgPSBmYWxzZTsKIAogICAgIGlmIChBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0g
bm9kZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAgICAgICAgaWYgKEFjY2Vzc2li
aWxpdHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUobm9kZSkp
IHsKKyAgICAgICAgICAgIGV4aXN0cyA9IHRydWU7CiAgICAgICAgICAgICBpZ25vcmVkID0gYXhP
YmplY3QtPmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKTsKKyAgICAgICAgICAgIGludmFsaWQgPSBh
eE9iamVjdC0+aW52YWxpZFN0YXR1cygpOwogICAgICAgICAgICAgcm9sZSA9IGF4T2JqZWN0LT5j
b21wdXRlZFJvbGVTdHJpbmcoKTsKKyAgICAgICAgICAgIHN1cHBvcnRzUmVxdWlyZWQgPSBheE9i
amVjdC0+c3VwcG9ydHNSZXF1aXJlZEF0dHJpYnV0ZSgpOworICAgICAgICAgICAgaWYgKHN1cHBv
cnRzUmVxdWlyZWQpCisgICAgICAgICAgICAgICAgcmVxdWlyZWQgPSBheE9iamVjdC0+aXNSZXF1
aXJlZCgpOwogICAgICAgICB9CiAgICAgfQogICAgIAogICAgIFJlZlB0cjxJbnNwZWN0b3I6OlR5
cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzPiB2YWx1ZSA9IEluc3BlY3Rv
cjo6VHlwZUJ1aWxkZXI6OkRPTTo6QWNjZXNzaWJpbGl0eVByb3BlcnRpZXM6OmNyZWF0ZSgpCi0g
ICAgICAgIC5zZXRJZ25vcmVkKGlnbm9yZWQpCi0gICAgICAgIC5zZXRSb2xlKHJvbGUpCisgICAg
ICAgIC5zZXRFeGlzdHMoZXhpc3RzKQogICAgICAgICAuc2V0TGFiZWwobGFiZWwpCisgICAgICAg
IC5zZXRSb2xlKHJvbGUpCiAgICAgICAgIC5zZXROb2RlSWQocHVzaE5vZGVQYXRoVG9Gcm9udGVu
ZChub2RlKSk7CiAKKyAgICBpZiAoZXhpc3RzKSB7CisgICAgICAgIGlmIChpZ25vcmVkKQorICAg
ICAgICAgICAgdmFsdWUtPnNldElnbm9yZWQoaWdub3JlZCk7CisgICAgICAgIGlmIChpbnZhbGlk
ICE9ICJmYWxzZSIpCisgICAgICAgICAgICB2YWx1ZS0+c2V0SW52YWxpZChpbnZhbGlkKTsKKyAg
ICAgICAgaWYgKHN1cHBvcnRzUmVxdWlyZWQpCisgICAgICAgICAgICB2YWx1ZS0+c2V0UmVxdWly
ZWQocmVxdWlyZWQpOworICAgIH0KKwogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24JKHJldmlz
aW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNv
bgkod29ya2luZyBjb3B5KQpAQCAtNTksOSArNTksMTIgQEAKICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJBIHN0cnVjdHVyZSBob2xkaW5nIGFjY2Vzc2liaWxpdHkgcHJvcGVydGllcy4iLAog
ICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjog
WwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaWdub3JlZCIsICJ0eXBlIjogImJvb2xlYW4i
LCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0aGVyIHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHRo
ZSBET00gbm9kZSBpcyBpZ25vcmVkLCB3aGV0aGVyIGhldXJpc3RpY2FsbHkgb3IgZXhwbGljaXRs
eS4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyb2xlIiwgInR5cGUiOiAic3RyaW5n
IiwgImRlc2NyaXB0aW9uIjogIkNvbXB1dGVkIHZhbHVlIGZvciBmaXJzdCByZWNvZ25pemVkIHJv
bGUgdG9rZW4sIGRlZmF1bHQgcm9sZSBwZXIgZWxlbWVudCwgb3Igb3ZlcnJpZGRlbiByb2xlLiIg
fSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4aXN0cyIsICJ0eXBlIjogImJvb2xlYW4i
LCAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB3aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFY
IG9iamVjdCBmb3IgdGhlIERPTSBub2RlLiBJZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVy
IHByb3BlcnRpZXMgd2lsbCBiZSBkZWZhdWx0IHZhbHVlcy4iIH0sCisgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJpZ25vcmVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUs
ICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRoZXIgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhl
IGFzc29jaWF0ZWQgQVggb2JqZWN0IG5vZGUgaXMgaWdub3JlZCwgd2hldGhlciBoZXVyaXN0aWNh
bGx5IG9yIGV4cGxpY2l0bHkuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaW52YWxp
ZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJS
ZXR1cm5zIHRoZSBpbnZhbGlkIHN0YXR1cyBmb3IgZm9ybSBmaWVsZHM6IHRydWUsIGZhbHNlLCBn
cmFtbWFyLCBzcGVsbGluZy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYWJlbCIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCBsYWJlbCB2YWx1ZSBm
b3IgdGhlIG5vZGUsIHNvbWV0aW1lcyBjYWxjdWxhdGVkIGJ5IHJlZmVyZW5jaW5nIG90aGVyIG5v
ZGVzLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVpcmVkIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJSZXR1cm5zIHdoZXRo
ZXIgdGhlIGVsZW1lbnQgaXMgcmVxdWlyZWQgb3Igbm90IHJlcXVpcmVkLiIgfSwKKyAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInJvbGUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24i
OiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZpcnN0IHJlY29nbml6ZWQgcm9sZSB0b2tlbiwgZGVmYXVs
dCByb2xlIHBlciBlbGVtZW50LCBvciBvdmVycmlkZGVuIHJvbGUuIiB9LAogICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjog
IlRhcmdldCA8Y29kZT5ET01Ob2RlPC9jb2RlPiBpZC4iIH0KICAgICAgICAgICAgIF0KICAgICAg
ICAgfSwKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY0MjA0KQorKysg
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3RzLCByZXF1aXJl
ZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3aXRoIGlnbm9y
ZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg1
MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRp
dGlvbnMgdG8gdGhlIGFjY2Vzc2liaWxpdHkgbm9kZSBpbnNwZWN0b3I6IGV4aXN0cywgcmVxdWly
ZWQsIGludmFsaWQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9ET01Ob2RlLmpzOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisKIDIwMTQt
MDItMTUgIENocmlzIEouIFNodWxsICA8Y2hyaXNqc2h1bGxAZ21haWwuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IHNjb3BlIGNoYWluIGRldGFpbHMgc2lkZWJhciBkb2Vzbid0IHVwZGF0
ZSB2YWx1ZXMgbW9kaWZpZWQgdmlhIGNvbnNvbGUKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwkocmV2aXNpb24gMTY0MjA0KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMjA2LDExICsyMDYsMTMgQEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsA
IgBJAGMAbwBuACAAYQBuAGQAIABUAGUAeAB0ACAAKABIAG8AcgBpAHoAbwBuAHQAYQBsACkAIgBd
ACAAPQAgACIASQBjAG8AbgAgAGEAbgBkACAAVABlAHgAdAAgACgASABvAHIAaQB6AG8AbgB0AGEA
bAApACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAGMAbwBuACAA
YQBuAGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiAF0AIAA9ACAAIgBJAGMAbwBu
ACAAYQBuAGQAIABUAGUAeAB0ACAAKABWAGUAcgB0AGkAYwBhAGwAKQAiADsACiAAbABvAGMAYQBs
AGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBkAGUAbgB0AGkAdAB5ACIAXQAgAD0AIAAiAEkA
ZABlAG4AdABpAHQAeQAiADsACisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
SQBnAG4AbwByAGUAZAAiAF0AIAA9ACAAIgBJAGcAbgBvAHIAZQBkACIAOwAKIABsAG8AYwBhAGwA
aQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIgBdACAAPQAgACIASQBtAGEAZwBl
ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG0AYQBnAGUAIABT
AGkAegBlACIAXQAgAD0AIAAiAEkAbQBhAGcAZQAgAFMAaQB6AGUAIgA7AAogAGwAbwBjAGEAbABp
AHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbQBhAGcAZQBzACIAXQAgAD0AIAAiAEkAbQBhAGcA
ZQBzACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AaABlAHIA
aQB0AGUAZAAgAEYAcgBvAG0AOgAgACIAXQAgAD0AIAAiAEkAbgBoAGUAcgBpAHQAZQBkACAARgBy
AG8AbQA6ACAAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkAbgBp
AHQAaQBhAHQAbwByACIAXQAgAD0AIAAiAEkAbgBpAHQAaQBhAHQAbwByACIAOwAKKwBsAG8AYwBh
AGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBhAGwAaQBkACIAXQAgAD0AIAAiAEkA
bgB2AGEAbABpAGQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAEkA
bgBwAHUAdAA6ACAAIgBdACAAPQAgACIASQBuAHAAdQB0ADoAIAAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIASQBuAHMAcABlAGMAdAAiAF0AIAA9ACAAIgBJAG4AcwBw
AGUAYwB0ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBJAG4AdgBl
AHIAdAAgAGMAYQBsAGwAIAB0AHIAZQBlACIAXQAgAD0AIAAiAEkAbgB2AGUAcgB0ACAAYwBhAGwA
bAAgAHQAcgBlAGUAIgA7AApAQCAtMzExLDYgKzMxMyw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQA
UwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgBd
ACAAPQAgACIAUgBlAHEAdQBlAHMAdAAgACYAIABSAGUAcwBwAG8AbgBzAGUAIgA7AAogAGwAbwBj
AGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIA
XQAgAD0AIAAiAFIAZQBxAHUAZQBzAHQAIABEAGEAdABhACIAOwAKIABsAG8AYwBhAGwAaQB6AGUA
ZABTAHQAcgBpAG4AZwBzAFsAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiAF0AIAA9
ACAAIgBSAGUAcQB1AGUAcwB0ACAASABlAGEAZABlAHIAcwAiADsACisAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHEAdQBpAHIAZQBkACIAXQAgAD0AIAAiAFIAZQBxAHUA
aQByAGUAZAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMA
bwB1AHIAYwBlACIAXQAgAD0AIAAiAFIAZQBzAG8AdQByAGMAZQAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUgBlAHMAbwB1AHIAYwBlACAAVAB5AHAAZQAiAF0AIAA9
ACAAIgBSAGUAcwBvAHUAcgBjAGUAIABUAHkAcABlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABT
AHQAcgBpAG4AZwBzAFsAIgBSAGUAcwBvAHUAcgBjAGUAcwAiAF0AIAA9ACAAIgBSAGUAcwBvAHUA
cgBjAGUAcwAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9E
T01Ob2RlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0RPTU5vZGUuanMJKHJldmlzaW9uIDE2NDIwNCkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0RPTU5vZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0NSwxMSArNDQ1
LDE0IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAg
IGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soZXJyb3IsIGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIWVycm9yICYmIGNh
bGxiYWNrKSB7CisgICAgICAgICAgICBpZiAoIWVycm9yICYmIGNhbGxiYWNrICYmIGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzKSB7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2soeworICAgICAgICAg
ICAgICAgICAgICBleGlzdHM6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmV4aXN0cywKICAgICAg
ICAgICAgICAgICAgICAgaWdub3JlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCwK
LSAgICAgICAgICAgICAgICAgICAgcm9sZTogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZSwK
LSAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxhYmVs
CisgICAgICAgICAgICAgICAgICAgIGludmFsaWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmlu
dmFsaWQsCisgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5sYWJlbCwKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzLnJlcXVpcmVkLAorICAgICAgICAgICAgICAgICAgICByb2xlOiBhY2Nlc3NpYmlsaXR5
UHJvcGVydGllcy5yb2xlCiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCShyZXZpc2lvbiAx
NjQyMDYpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01Ob2RlRGV0
YWlsc1NpZGViYXJQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNTIsOCArNTIsMTEgQEAgV2Vi
SW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIAogICAgIHZhciBldmVudExpc3Rl
bmVyc1NlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1l
dmVudC1saXN0ZW5lcnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIp
LCBbdGhpcy5fZXZlbnRMaXN0ZW5lcnNTZWN0aW9uR3JvdXBdKTsgICAgCiAKICAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gQWNjZXNzaWJpbGl0eSBJbmZvcm1hdGlvbiIpKTsK
LSAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkTGFiZWxSb3cgPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGFi
ZWwiKSk7Ci0gICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVDb21wdXRlZFJvbGVSb3cgPSBuZXcg
V2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiUm9sZSIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcg
V2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiSWdub3JlZCIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0
cmluZygiSW52YWxpZCIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0g
bmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkxhYmVsIikpOworICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cg
PSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5V
SVN0cmluZygiUmVxdWlyZWQiKSk7CisgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSb2xlUm93
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJvbGUiKSk7CiAgICAgCiAKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAg
PSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxp
dHlFbXB0eVJvd10pOwpAQCAtMjQ0LDkgKzI0NywyNSBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURl
dGFpbHNTaWRlYmFyUGFuZWwuCiAgICAgICAgICAgICBpZiAodGhpcy5kb21Ob2RlICE9PSBkb21O
b2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgaWYgKGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzICYmICFhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5pZ25vcmVkKSB7Ci0g
ICAgICAgICAgICAgICAgdmFyIHJvbGUgPSBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5yb2xlOwor
ICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzICYmIGFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzLmV4aXN0cykgeworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIHZh
ciBpZ25vcmVkID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuaWdub3JlZCA/IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiWWVzIikgOiAiIjsKKyAgICAgICAgICAgICAgICB2YXIgaW52YWxpZCA9IGFj
Y2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmludmFsaWQgPyBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5p
bnZhbGlkIDogIiI7CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogbGFiZWwgd2lsbCBhbHdh
eXMgY29tZSBiYWNrIGFzIGVtcHR5LiBCbG9ja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMTIx
MTM0CisgICAgICAgICAgICAgICAgdmFyIGxhYmVsID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMu
bGFiZWw7CisgICAgICAgICAgICAgICAgaWYgKGxhYmVsICYmIGxhYmVsICE9PSBkb21Ob2RlLmdl
dEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKQorICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChsYWJlbCk7CisKKyAg
ICAgICAgICAgICAgICB2YXIgcmVxdWlyZWQgPSAiIjsKKyAgICAgICAgICAgICAgICBpZiAoYWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucmVxdWlyZWQpCisgICAgICAg
ICAgICAgICAgICAgICAgICByZXF1aXJlZCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIik7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVp
cmVkID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyIpOworICAgICAgICAgICAgICAgIH0KIAor
ICAgICAgICAgICAgICAgIHZhciByb2xlID0gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMucm9sZTsK
ICAgICAgICAgICAgICAgICBpZiAocm9sZSA9PT0gIiIgfHwgcm9sZSA9PT0gInVua25vd24iKQog
ICAgICAgICAgICAgICAgICAgICByb2xlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyBleGFj
dCBBUklBIHJvbGUgbWF0Y2guIik7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAocm9sZSkgewpA
QCAtMjU2LDE2ICsyNzUsMjIgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBh
bmVsLgogICAgICAgICAgICAgICAgICAgICAgICAgcm9sZSA9IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiJXMgKGNvbXB1dGVkKSIpLmZvcm1hdChyb2xlKTsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IGxhYmVsIHdpbGwgYWx3YXlz
IGNvbWUgYmFjayBhcyBlbXB0eS4gQmxvY2tlZCBieSBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMTEz
NAotICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmxh
YmVsOwotICAgICAgICAgICAgICAgIGlmIChsYWJlbCAmJiBsYWJlbCAhPT0gZG9tTm9kZS5nZXRB
dHRyaWJ1dGUoImFyaWEtbGFiZWwiKSkKLSAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIiVzIChjb21wdXRlZCkiKS5mb3JtYXQobGFiZWwpOworICAgICAg
ICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdy52YWx1ZSA9IGlnbm9y
ZWQ7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJbnZhbGlkUm93LnZh
bHVlID0gaW52YWxpZDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxh
YmVsUm93LnZhbHVlID0gbGFiZWw7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0
eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9IHJlcXVpcmVkOworICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlUm9sZVJvdy52YWx1ZSA9IHJvbGU7CisKKyAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAucm93cyA9IFsKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LAorICAgICAgICAgICAgICAgICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Fj
Y2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdworICAgICAgICAgICAgICAgIF07CiAKLSAgICAgICAg
ICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkTGFiZWxSb3cudmFsdWUgPSBs
YWJlbDsKLSAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkUm9s
ZVJvdy52YWx1ZSA9IHJvbGU7Ci0KLSAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
R3JvdXAucm93cyA9IFt0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUNvbXB1dGVkTGFiZWxSb3csIHRo
aXMuX2FjY2Vzc2liaWxpdHlOb2RlQ29tcHV0ZWRSb2xlUm93XTsKICAgICAgICAgICAgICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cuaGlkZUVtcHR5TWVzc2FnZSgpOworCiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cC5y
b3dzID0gW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd107CiAgICAgICAgICAgICAgICAgdGhp
cy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93LnNob3dFbXB0eU1lc3NhZ2UoKTsKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2NDIwNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE0LTAyLTE2ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVg6IG1vcmUgcHJvcGVydGllczogZXhpc3Rz
LCByZXF1aXJlZCwgYW5kIGludmFsaWQgKGV4aXN0cyB3YXMgcHJldmlvdXNseSBjb21iaW5lZCB3
aXRoIGlnbm9yZWQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjg1MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBOZXcgZmlsZXMgdGVzdCB0aGUgaW5zcGVjdG9yIHByb3RvY29sIGZvciBET00uZ2V0QWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlCisKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVBy
b3BlcnRpZXNGb3JOb2RlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTAyLTE2ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUgdGhhdCByZW1vdmluZyBhbiBp
ZnJhbWUgZnJvbSB0aGUgRE9NIHRyZWUgZGlzY29ubmVjdHMgaXRzIEZyYW1lLgpJbmRleDogTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGll
c0Zvck5vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rv
ci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20v
Z2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDk0IEBACitDaGVja2luZyBXZWIgSW5zcGVjdG9yIHByb3RvY29sIGZv
ciB0aGUgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3Rvci4KKworICAgICAgICAgICAKK1RvdGFs
IGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogMTUuCisKKzxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0i
eCI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IGltZworCis8aW1n
IHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAor
ICAgIHJvbGU6IGltZworICAgIGlnbm9yZWQ6IHRydWUKKworPGltZyBzcmM9Ii4vNDA0LmdpZiI+
CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IGltZworICAgIGlnbm9y
ZWQ6IHRydWUKKworPGlucHV0IGFyaWEtaW52YWxpZD0iZmFrZS12YWx1ZS13aWxsLWV2YWwtdG8t
dHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6IAorICAgIGlu
dmFsaWQ6IHRydWUKKyAgICByZXF1aXJlZDogZmFsc2UKKworPGlucHV0IGFyaWEtaW52YWxpZD0i
c3BlbGxpbmciPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiAKKyAg
ICBpbnZhbGlkOiBzcGVsbGluZworICAgIHJlcXVpcmVkOiBmYWxzZQorCis8aW5wdXQgYXJpYS1y
ZXF1aXJlZD0idHJ1ZSI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJvbGU6
IAorICAgIHJlcXVpcmVkOiB0cnVlCisKKzxpbnB1dCByZXF1aXJlZD0iIj4KKyAgICBleGlzdHM6
IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogCisgICAgcmVxdWlyZWQ6IHRydWUKKworPGlu
cHV0IHR5cGU9ImJ1dHRvbiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJv
bGU6IGJ1dHRvbgorCis8YnV0dG9uPjwvYnV0dG9uPgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxh
YmVsOiAKKyAgICByb2xlOiBidXR0b24KKworPGRpdiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIw
Ij48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9sZTogYnV0dG9u
CisKKzxzcGFuPjwvc3Bhbj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9s
ZTogCisgICAgaWdub3JlZDogdHJ1ZQorCis8ZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQor
ICAgIGxhYmVsOiAKKyAgICByb2xlOiAKKyAgICBpZ25vcmVkOiB0cnVlCisKKzxkaXYgcm9sZT0i
cHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2PjwvZGl2PgorICAgIGV4aXN0czogdHJ1ZQorICAgIGxh
YmVsOiAKKyAgICByb2xlOiBwcmVzZW50YXRpb24KKyAgICBpZ25vcmVkOiB0cnVlCisKKzxkaXY+
PGRpdj48L2Rpdj48L2Rpdj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9s
ZTogCisgICAgaWdub3JlZDogdHJ1ZQorCis8c2NyaXB0Pjwvc2NyaXB0PgorICAgIGV4aXN0czog
ZmFsc2UKKyAgICBsYWJlbDogCisgICAgcm9sZTogCisKKworCkluZGV4OiBMYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0
QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
Rm9yTm9kZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTAgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbkxvYWQ9InJ1blRlc3QoKSI+CisKKzxwPkNoZWNraW5nIFdlYiBJ
bnNwZWN0b3IgcHJvdG9jb2wgZm9yIHRoZSBBY2Nlc3NpYmlsaXR5IE5vZGUgSW5zcGVjdG9yLjwv
cD4KKworPCEtLSBUaGlzIG9uZSBpcyBuZXZlciByZW5kZXJlZCwgc28gImV4aXN0cyIgc2hvdWxk
IHJldHVybiBmYWxzZS4gLS0+Cis8c2NyaXB0IGNsYXNzPSJleCI+PC9zY3JpcHQ+CisKKzwhLS0g
VGhlIHJlc3QgYXJlIHJlbmRlcmVkIHdpdGggdmFyaW91cyBwcm9wZXJ0eSBkaWZmZXJlbmNlcy4g
LS0+Cis8ZGl2IGNsYXNzPSJleCI+PGRpdj48L2Rpdj48L2Rpdj4KKzxkaXYgY2xhc3M9ImV4IiBy
b2xlPSJwcmVzZW50YXRpb24iPjxkaXY+PC9kaXY+PC9kaXY+Cis8ZGl2IGNsYXNzPSJleCI+PC9k
aXY+Cis8c3BhbiBjbGFzcz0iZXgiPjwvc3Bhbj4KKworPGRpdiBjbGFzcz0iZXgiIHJvbGU9ImJ1
dHRvbiIgdGFiaW5kZXg9IjAiPjwvZGl2PgorPGJ1dHRvbiBjbGFzcz0iZXgiPjwvYnV0dG9uPgor
PGlucHV0IGNsYXNzPSJleCIgdHlwZT0iYnV0dG9uIj4KKworPGlucHV0IGNsYXNzPSJleCIgcmVx
dWlyZWQ+Cis8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLXJlcXVpcmVkPSJ0cnVlIj4KKzxpbnB1dCBj
bGFzcz0iZXgiIGFyaWEtaW52YWxpZD0ic3BlbGxpbmciPgorPGlucHV0IGNsYXNzPSJleCIgYXJp
YS1pbnZhbGlkPSJmYWtlLXZhbHVlLXdpbGwtZXZhbC10by10cnVlIj4KKworPGltZyBjbGFzcz0i
ZXgiIHNyYz0iLi80MDQuZ2lmIj4KKzxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiIgYWx0
PSIiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IngiPgorCis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2Z1bmN0aW9uICQoc2VsZWN0b3IpIHsKKyAgICBy
ZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7Cit9CitmdW5jdGlvbiBj
bGVhbnVwKCkgeworICAgIHZhciBleGFtcGxlcyA9ICQoIi5leCIpOworICAgIGZvciAoZWwgaW4g
ZXhhbXBsZXMpCisgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Cit9CisKK2Z1bmN0
aW9uIHRlc3QoKSB7CisKKyAgICB2YXIgZXhhbXBsZXMgPSBbXTsKKworICAgIGZ1bmN0aW9uIGxv
b3AoKSB7CisgICAgICAgIGlmIChleGFtcGxlcy5sZW5ndGgpIHsKKyAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3Quc2VuZENvbW1hbmQoIkRPTS5nZXRPdXRlckhUTUwiLCB7Im5vZGVJZCI6IGV4YW1w
bGVzW2V4YW1wbGVzLmxlbmd0aC0xXX0sIG9uR290T3V0ZXJIVE1MKTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJcbiIpOworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiUnVudGltZS5ldmFsdWF0ZSIsIHsiZXhwcmVzc2lvbiI6
ICJjbGVhbnVwKCkifSwgZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9OworCisg
ICAgZnVuY3Rpb24gb25Hb3REb2N1bWVudChyZXNwb25zZSkgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRD
b21tYW5kKCJET00ucXVlcnlTZWxlY3RvckFsbCIsIHsibm9kZUlkIjogcmVzcG9uc2UucmVzdWx0
LnJvb3Qubm9kZUlkLCAic2VsZWN0b3IiOiAiLmV4In0sIG9uUXVlcnlTZWxlY3RvckFsbCk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gb25RdWVyeVNlbGVjdG9yQWxsKHJlc3BvbnNlKSB7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIGV4YW1w
bGVzID0gcmVzcG9uc2UucmVzdWx0Lm5vZGVJZHM7CisgICAgICAgIEluc3BlY3RvclRlc3QubG9n
KCJUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6ICIgKyBleGFtcGxlcy5sZW5ndGggKyAiLiIp
OworICAgICAgICBsb29wKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gb25Hb3RPdXRlckhUTUwo
cmVzcG9uc2UpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNl
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuIiArIHJlc3BvbnNlLnJlc3VsdC5vdXRl
ckhUTUwucmVwbGFjZSgiIGNsYXNzPVwiZXhcIiIsICIiKSk7CisgICAgICAgIEluc3BlY3RvclRl
c3Quc2VuZENvbW1hbmQoIkRPTS5nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUiLCB7
Im5vZGVJZCI6IGV4YW1wbGVzW2V4YW1wbGVzLmxlbmd0aC0xXX0sIG9uR290QVhQcm9wcyk7Cisg
ICAgfQorCisgICAgZnVuY3Rpb24gb25Hb3RBWFByb3BzKHJlc3BvbnNlKSB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuY2hlY2tGb3JFcnJvcihyZXNwb25zZSk7CisgICAgICAgIGZvciAocHJvcCBp
biByZXNwb25zZS5yZXN1bHQucHJvcGVydGllcykgeworICAgICAgICAgICAgaWYgKHByb3AgIT09
ICJub2RlSWQiKQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIgICAgIiArIHBy
b3AgKyAiOiAiICsgcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXNbcHJvcF0pOworICAgICAgICB9
CisgICAgICAgIGV4YW1wbGVzLnBvcCgpOworICAgICAgICBsb29wKCk7CisgICAgfQorCisgICAg
SW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdldERvY3VtZW50Iiwge30sIG9uR290RG9j
dW1lbnQpOworCit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>