<?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>175470</bug_id>
          
          <creation_ts>2017-08-10 19:30:12 -0700</creation_ts>
          <short_desc>Support the with keyword in DFG</short_desc>
          <delta_ts>2017-08-14 23:15:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bshafiei</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1337796</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-10 19:30:12 -0700</bug_when>
    <thetext>Support the which keyword in DFG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337904</commentid>
    <comment_count>1</comment_count>
      <attachid>317932</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-11 09:34:30 -0700</bug_when>
    <thetext>Created attachment 317932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337905</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-11 09:37:05 -0700</bug_when>
    <thetext>Attachment 317932 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:5433:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337915</commentid>
    <comment_count>3</comment_count>
      <attachid>317932</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-11 10:30:17 -0700</bug_when>
    <thetext>Comment on attachment 317932
Patch

Attachment 317932 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/4296587

New failing tests:
stress/eval-func-decl-in-eval-within-with-scope.js.default
stress/get-from-scope-dynamic-onto-proxy.js.dfg-eager
stress/global-lexical-variable-with-statement.js.dfg-eager-no-cjit-validate
stress/eval-func-decl-in-eval-within-with-scope.js.dfg-eager
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-eager-no-cjit-b3o1
mozilla-tests.yaml/ecma/ExecutionContexts/10.2.2-2.js.mozilla-ftl-eager-no-cjit-validate-phases
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-no-cjit-small-pool
stress/constant-closure-var-with-dynamic-invalidation.js.ftl-no-cjit-no-inline-validate
stress/lexical-let-and-with-statement.js.ftl-eager-no-cjit-b3o1
stress/constant-closure-var-with-dynamic-invalidation.js.ftl-eager-no-cjit
stress/constant-closure-var-with-dynamic-invalidation.js.ftl-eager-no-cjit-b3o1
stress/eval-func-decl-in-eval-within-with-scope.js.dfg-maximal-flush-validate-no-cjit
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-no-cjit-b3o1
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-no-cjit-no-put-stack-validate
jsc-layout-tests.yaml/js/script-tests/eval-and-with.js.layout-dfg-eager-no-cjit
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-no-cjit-validate-sampling-profiler
stress/eval-func-decl-in-eval-within-with-scope.js.no-llint
mozilla-tests.yaml/ecma/ExecutionContexts/10.2.2-2.js.mozilla-dfg-eager-no-cjit-validate-phases
stress/constant-closure-var-with-dynamic-invalidation.js.dfg-maximal-flush-validate-no-cjit
stress/constant-closure-var-with-dynamic-invalidation.js.ftl-no-cjit-no-put-stack-validate
stress/get-from-scope-dynamic-onto-proxy.js.dfg-eager-no-cjit-validate
stress/constant-closure-var-with-dynamic-invalidation.js.no-cjit-validate-phases
stress/global-lexical-variable-with-statement.js.ftl-eager-no-cjit
stress/const-and-with-statement.js.ftl-eager-no-cjit-b3o1
stress/eval-func-decl-in-eval-within-with-scope.js.no-ftl
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-eager-no-cjit
stress/const-and-with-statement.js.ftl-eager-no-cjit
stress/constant-closure-var-with-dynamic-invalidation.js.ftl-no-cjit-validate-sampling-profiler
stress/eval-func-decl-in-eval-within-with-scope.js.no-cjit-collect-continuously
stress/global-lexical-variable-with-statement.js.dfg-eager
stress/global-lexical-variable-with-statement.js.ftl-eager-no-cjit-b3o1
stress/eval-func-decl-in-eval-within-with-scope.js.no-cjit-validate-phases
jsc-layout-tests.yaml/js/script-tests/eval-and-with.js.layout-ftl-eager-no-cjit
stress/eval-func-decl-in-eval-within-with-scope.js.dfg-eager-no-cjit-validate
stress/const-and-with-statement.js.dfg-eager-no-cjit-validate
stress/get-from-scope-dynamic-onto-proxy.js.ftl-eager-no-cjit-b3o1
stress/get-from-scope-dynamic-onto-proxy.js.ftl-eager
stress/global-lexical-variable-with-statement.js.ftl-eager
stress/constant-closure-var-with-dynamic-invalidation.js.dfg-eager-no-cjit-validate
stress/lexical-let-and-with-statement.js.dfg-eager-no-cjit-validate
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-no-cjit-no-inline-validate
stress/get-from-scope-dynamic-onto-proxy.js.ftl-eager-no-cjit
stress/eval-func-decl-in-eval-within-with-scope.js.ftl-eager
stress/lexical-let-and-with-statement.js.ftl-eager-no-cjit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337918</commentid>
    <comment_count>4</comment_count>
      <attachid>317933</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-11 10:31:10 -0700</bug_when>
    <thetext>Created attachment 317933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337923</commentid>
    <comment_count>5</comment_count>
      <attachid>317933</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-11 10:47:33 -0700</bug_when>
    <thetext>Comment on attachment 317933
Patch

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

LGTM.
It would be nice to add some tests that specifically target DFG compilation.
Does it pass other JSC tests?

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2069
&gt; +        forNode(node).setType(m_graph, SpecObjectOther);

We could do something like this here to be more specific:
forNode(node).setType(m_graph, m_codeBlock-&gt;globalObjectFor(node-&gt;origin.semanitc)-&gt;withScopeStructure())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337925</commentid>
    <comment_count>6</comment_count>
      <attachid>317933</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-11 10:49:04 -0700</bug_when>
    <thetext>Comment on attachment 317933
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:1721
&gt; +            // Child2 is always the current scope, which is a kind of cell

Style nit: I&apos;d say, &quot;Child2 is always the current scope, which is guaranteed to be an object&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337954</commentid>
    <comment_count>7</comment_count>
      <attachid>317944</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-11 11:48:35 -0700</bug_when>
    <thetext>Created attachment 317944
Patch with Saam&apos;s suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337955</commentid>
    <comment_count>8</comment_count>
      <attachid>317944</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-11 11:51:23 -0700</bug_when>
    <thetext>Comment on attachment 317944
Patch with Saam&apos;s suggestions

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

r=me with:
- a few comments below
- please add some tests that specifically stress `with` in the DFG

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Support the &apos;which&apos; keyword in DFG

typo: &apos;with&apos; not &apos;which&apos;

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2066
&gt; +        // FIXME: Conservative

Please remove this FIXME or create a bug for it and link to the bugzilla here. I&apos;d vote for just removing it. I think it&apos;s ok to be conservative here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338437</commentid>
    <comment_count>9</comment_count>
      <attachid>318054</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-14 12:53:34 -0700</bug_when>
    <thetext>Created attachment 318054
Patch with test and fixing a bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338480</commentid>
    <comment_count>10</comment_count>
      <attachid>318054</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-14 15:13:09 -0700</bug_when>
    <thetext>Comment on attachment 318054
Patch with test and fixing a bug

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

r=me still

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2068
&gt; +        // We cannot use the more precise withScopeStructure() here because it is a LazyProperty and may not yet be allocated.

Style nit: No need for this comment IMO. If you kept, I also wouldn&apos;t say &quot;cannot&quot;, I&apos;d just say, &quot;we don&apos;t&quot;, since we could fix how withScopeStructure is allocated during JSGlobalObject creation.

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2069
&gt; +        forNode(node).setType(m_graph, SpecObject);

You want SpecObjectOther here since that&apos;s more precise than SpecObject

&gt; JSTests/stress/with.js:1
&gt; +for (var i = 0; i &lt; 10000; ++i) {

You need to re-run prepare-Changelog so it can modify the Changelog entry inside JSTests/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338503</commentid>
    <comment_count>11</comment_count>
      <attachid>318076</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-14 15:40:53 -0700</bug_when>
    <thetext>Created attachment 318076
Patch with fixed Changelog, comment and setType</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338504</commentid>
    <comment_count>12</comment_count>
      <attachid>318077</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-14 15:49:12 -0700</bug_when>
    <thetext>Created attachment 318077
Patch with fixed Changelog, comment and setType</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338505</commentid>
    <comment_count>13</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-14 15:50:58 -0700</bug_when>
    <thetext>I just re-uploaded the patch, because I realized my comment in the Changelog was wrong: there were quite a few tests of with already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338531</commentid>
    <comment_count>14</comment_count>
      <attachid>318077</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-14 16:37:10 -0700</bug_when>
    <thetext>Comment on attachment 318077
Patch with fixed Changelog, comment and setType

Clearing flags on attachment: 318077

Committed r220724: &lt;http://trac.webkit.org/changeset/220724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338532</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-14 16:37:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338537</commentid>
    <comment_count>16</comment_count>
      <attachid>318077</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-08-14 16:42:51 -0700</bug_when>
    <thetext>Comment on attachment 318077
Patch with fixed Changelog, comment and setType

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2066
&gt; +        clobberWorld(node-&gt;origin.semantic, clobberLimit);

If pushing a with scope clobbers the world, shouldn&apos;t popping one (SkipScope) do the same?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338539</commentid>
    <comment_count>17</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2017-08-14 16:46:45 -0700</bug_when>
    <thetext>I added that line to be conservative, I am not sure if it is needed. I can see two reasons why pushing a with scope could be more dangerous that popping one:
- it allocates memory for the new scope
- it calls toObject() on its argument, which can emit an exception.
Not sure if these justify clobbering the world or if something more limited would be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338545</commentid>
    <comment_count>18</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-14 16:51:36 -0700</bug_when>
    <thetext>(In reply to Robin Morisset from comment #17)
&gt; I added that line to be conservative, I am not sure if it is needed. I can
&gt; see two reasons why pushing a with scope could be more dangerous that
&gt; popping one:
&gt; - it allocates memory for the new scope
&gt; - it calls toObject() on its argument, which can emit an exception.
&gt; Not sure if these justify clobbering the world or if something more limited
&gt; would be better.

I just audited the toObject code following the call tree of JSValue::toObject(.), and it would be safe to remove the clobbersWorld here. Just allocating does not mandate clobberWorld. Just throwing an exception due to OOM or some other type checks is also not enough to mandate clobberWorld. If I read the code correctly, that&apos;s all toObject() can do, so I think we&apos;re safe not clobbering the world here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338632</commentid>
    <comment_count>19</comment_count>
    <who name="Babak Shafiei">bshafiei</who>
    <bug_when>2017-08-14 23:15:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/33886937&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317932</attachid>
            <date>2017-08-11 09:34:30 -0700</date>
            <delta_ts>2017-08-11 10:31:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175470-20170811093429.patch</filename>
            <type>text/plain</type>
            <size>15420</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
OTIyODc5YmExNTk1MTMyM2ExOTFjMTViNDI0NjNmYTY4YmY0YzJkLi5kM2VlYjMwMDk1NzlmZmZl
YzZmY2MwNmNkODEwODllNTk2YTEzOWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0wOC0xMCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlIHdoaWNoIGtleXdvcmQgaW4gREZHCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0NzAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3QgcGFydGljdWxhcmx5
IG9wdGltaXplZCBhdCB0aGUgbW9tZW50LCB0aGUgZ29hbCBpcyBqdXN0IHRvIGF2b2lkCisgICAg
ICAgIHRoZSBERkcgYmFpbGluZyBvdXQgb2YgYW55IGZ1bmN0aW9uIHdpdGggdGhpcyBrZXl3b3Jk
LgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4
ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBk
ZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2
ZWwpOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6
Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6ZG9lc0dDKToKKyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9k
ZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1c2hXaXRoU2NvcGUpOgor
ICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aXZlSklUOjpjYWxsT3BlcmF0aW9uKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogaml0L0pJVE9wZXJh
dGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisKIDIwMTctMDgtMTAg
IE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJl
bW92ZSBFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggYjkz
ZGViYzkyY2IyZTI1Y2JjZGQxZWVlZTQ2OTFhZDcxZWJjNzg3Ni4uNWVmZjgzNDExNzA5ZWY5NjI4
N2I4M2FmMWMwOGRlMDkzZmZhN2ViOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjA2Miw2ICsy
MDYyLDExIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4
ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAorICAgIGNhc2UgUHVzaFdpdGhTY29wZToKKyAgICAgICAgY2xvYmJlcldvcmxkKG5vZGUtPm9y
aWdpbi5zZW1hbnRpYywgY2xvYmJlckxpbWl0KTsKKyAgICAgICAgLy8gRklYTUU6IG1heWJlIHNl
dCB0aGUgdHlwZSBvZiB0aGUgcmVzdWx0IHRvIHNvbWV0aGluZz8KKyAgICAgICAgYnJlYWs7CisK
ICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CiAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFj
dGl2YXRpb246CiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0KApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA1NDg2NjY4MGQxMzZjOTgz
N2I3NjE2NjQ3Y2E3M2I3YjdkOTA4MGNjLi5iNWI2MDAzYjdiZGFkMjc5ZjZhZGEwMmFlYThmM2Mw
NGQyY2RkN2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcApAQCAtNTYzOSw2ICs1NjM5LDEzIEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9jcmVh
dGVfbGV4aWNhbF9lbnZpcm9ubWVudCk7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIG9wX3B1
c2hfd2l0aF9zY29wZTogeworICAgICAgICAgICAgTm9kZSogY3VycmVudFNjb3BlID0gZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgICAg
ICAgICBOb2RlKiBzY29wZU9iamVjdCA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChQdXNoV2l0aFNjb3Bl
LCBzY29wZU9iamVjdCwgY3VycmVudFNjb3BlKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShv
cF9wdXNoX3dpdGhfc2NvcGUpOworICAgICAgICB9CisKICAgICAgICAgY2FzZSBvcF9nZXRfcGFy
ZW50X3Njb3BlOiB7CiAgICAgICAgICAgICBOb2RlKiBjdXJyZW50U2NvcGUgPSBnZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKTsKICAgICAgICAgICAg
IE5vZGUqIG5ld1Njb3BlID0gYWRkVG9HcmFwaChTa2lwU2NvcGUsIGN1cnJlbnRTY29wZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggZGNj
YTkyNzAyNjVjMDI4NTk0ZjQ1ZDgxMzY5ZWM0MDUyZmM4OTVlMC4uYmM1NTYzZGM1YTVlMjcwZDNk
NDhkZTFkZmJhZTUyODU3NzQwOWMwNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjQ1LDYgKzI0NSw3IEBAIENhcGFiaWxpdHlMZXZlbCBj
YXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJ
bnN0cnVjCiAgICAgY2FzZSBvcF9uZXdfYXN5bmNfZnVuY19leHA6CiAgICAgY2FzZSBvcF9zZXRf
ZnVuY3Rpb25fbmFtZToKICAgICBjYXNlIG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50Ogor
ICAgIGNhc2Ugb3BfcHVzaF93aXRoX3Njb3BlOgogICAgIGNhc2Ugb3BfZ2V0X3BhcmVudF9zY29w
ZToKICAgICBjYXNlIG9wX2NhdGNoOgogICAgIGNhc2Ugb3BfY3JlYXRlX3Jlc3Q6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IDE0MjliNzI0OTFmMTIyODc4
ZjcyZTUwY2VkZmRiNDY2ZmUzMTY2YjYuLjcwZTk3MDhkM2E2ZmU3NDlkODlhOWIwNzJkYzI0YWU0
ZTAzMWVlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJl
cml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBA
IC00NzgsNyArNDc4LDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9k
ZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgd3JpdGUo
SGVhcE9iamVjdENvdW50KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAgICAgCisKICAg
ICBjYXNlIENyZWF0ZURpcmVjdEFyZ3VtZW50czoKICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3Vt
ZW50czoKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKQEAgLTYwNCw2ICs2MDQsNyBA
QCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVu
Y3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgIGNhc2UgUHV0RHluYW1pY1ZhcjoKICAgICBj
YXNlIFJlc29sdmVTY29wZUZvckhvaXN0aW5nRnVuY0RlY2xJbkV2YWw6CiAgICAgY2FzZSBSZXNv
bHZlU2NvcGU6CisgICAgY2FzZSBQdXNoV2l0aFNjb3BlOgogICAgICAgICByZWFkKFdvcmxkKTsK
ICAgICAgICAgd3JpdGUoSGVhcCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCAwNTcxMDM4ODZkMjU1ZjNlNzI3NGU1YTNiOTNlYWUy
YjYzMzhmZjM4Li4zYTI1ZDg3ZGQ0MzNjNTYyZTg5Y2RhNGUwNDViOGU1NmVmYmY5NzA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0yNzksNiArMjc5LDcgQEAg
Ym9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQXRvbWljc1N1
YjoKICAgICBjYXNlIEF0b21pY3NYb3I6CiAgICAgY2FzZSBBdG9taWNzSXNMb2NrRnJlZToKKyAg
ICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNhc2Ug
Q3JlYXRlQWN0aXZhdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwCmluZGV4IGZjN2Q5OWFiNGUyN2JlMGY1MWQxYjlhZGI4NTc5OGI5ZDc2OWFmODEuLjMz
MWQ5MjY1MzE1Nzg0NzkxMzgyZDEzNjNmZWU2NWQxMTkzZDFlODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMTcxMCw2ICsxNzEwLDcgQEAgcHJp
dmF0ZToKIAogICAgICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKICAgICAgICAgY2Fz
ZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAg
IGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246CiAg
ICAgICAgIGNhc2UgTmV3QXN5bmNGdW5jdGlvbjogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlVHlwZS5oCmluZGV4IDA2MTNhZGNjMDBhZjlkYzU5OWM2ZTk3MDU3OWQ0OTkxYjIzYTc4
MzguLjQ4YWJjNTNkM2JkZDMyODUzYWU0MWRkMWZkOGJjZGMyOWUzMmE4NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTM1OSw2ICszNTksNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oSGFzT3duUHJvcGVydHksIE5vZGVS
ZXN1bHRCb29sZWFuKSBcCiAgICAgXAogICAgIG1hY3JvKENyZWF0ZUFjdGl2YXRpb24sIE5vZGVS
ZXN1bHRKUykgXAorICAgIG1hY3JvKFB1c2hXaXRoU2NvcGUsIE5vZGVSZXN1bHRKUyB8IE5vZGVN
dXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgbWFjcm8oQ3JlYXRlRGlyZWN0QXJndW1lbnRzLCBO
b2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhQaGFudG9tRGlyZWN0QXJndW1lbnRzLCBOb2RlUmVz
dWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IGE4
YmYyZTg2ZjdmYTNjOWM2MWNkOTcxYjZiNTUwYTVhZmExODhiY2IuLmUzZTM2Yzc5NDIzZjlmYjdk
MTk0OGFlMGNkYjQ0ZDI4NjFlZDUyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC04OTUs
NiArODk1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAg
ICAgICAgICAKKyAgICAgICAgY2FzZSBQdXNoV2l0aFNjb3BlOgogICAgICAgICBjYXNlIENyZWF0
ZUFjdGl2YXRpb246IHsKICAgICAgICAgICAgIHNldFByZWRpY3Rpb24oU3BlY09iamVjdE90aGVy
KTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaAppbmRleCA1ODg1ZjlmZjA4M2I2MTI0MWVkZmU2MThhZDFjOWJkMWEwZDNj
ZGE4Li40ZGY0ODRmZWE0OTI3OWExNzBkNTAwODczYjFhNjE1ZDQxMTZhYTY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtMjk0LDYgKzI5NCw3
IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBn
cmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIE1ha2VSb3BlOgogICAgIGNhc2UgSW46CiAgICAg
Y2FzZSBIYXNPd25Qcm9wZXJ0eToKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgY2FzZSBD
cmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNh
c2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBhZGVmNmFlYTgxZTlhZjczMGMxNDNjMGE1Nzg2
MjU0YjQ1YTA4NDllLi5mYTA3MWUwNWJlM2ZiN2RiZDJkNGZjYWJkOTQ1MGZhMDhlYmU4NDAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApA
QCAtMTEyNCw2ICsxMTI0LDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVC
eVZhbChOb2RlKiBub2RlKQogICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0R1BSLCBu
b2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogfQogCit2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlUHVzaFdpdGhTY29wZShOb2RlKiBub2RlKQoreworICAgIEpTVmFsdWVPcGVy
YW5kIHNjb3BlT2JqZWN0KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICBTcGVjdWxhdGVDZWxs
T3BlcmFuZCBjdXJyZW50U2NvcGUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOworICAgIEpTVmFsdWVS
ZWdzIHNjb3BlT2JqZWN0UmVncyA9IHNjb3BlT2JqZWN0LmpzVmFsdWVSZWdzKCk7CisgICAgR1BS
UmVnIGN1cnJlbnRTY29wZUdQUiA9IGN1cnJlbnRTY29wZS5ncHIoKTsKKworICAgIEdQUkZsdXNo
ZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0
LmdwcigpOworICAgIAorICAgIGZsdXNoUmVnaXN0ZXJzKCk7CisgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25QdXNoV2l0aFNjb3BlLCByZXN1bHRHUFIsIGN1cnJlbnRTY29wZUdQUiwgc2NvcGVP
YmplY3RSZWdzKTsKKyAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOworICAgIAorICAgIGNlbGxS
ZXN1bHQocmVzdWx0R1BSLCBub2RlKTsKK30KKwogYm9vbCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3Bl
Y3VsYXRpdmVDb21wYXJlKE5vZGUqIG5vZGUsIE1hY3JvQXNzZW1ibGVyOjpSZWxhdGlvbmFsQ29u
ZGl0aW9uIGNvbmQsIFNfSklUT3BlcmF0aW9uX0VKSiBoZWxwZXJGdW5jdGlvbikKIHsKICAgICB1
bnNpZ25lZCBicmFuY2hJbmRleEluQmxvY2sgPSBkZXRlY3RQZWVwSG9sZUJyYW5jaCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDMyMmRk
MzFlY2JhZGJmNDNiODVkMzhkYjk4ZWI3OGRhMDMzNTdhNjAuLmUzYmJlNTBlYWNiNTJiNWNiZTMz
OGQ3YWM4NTY0ODYwMjJlNDg1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmgKQEAgLTc0NCw2ICs3NDQsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGNvbXBpbGVEZWxldGVCeUlkKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVEZWxldGVCeVZhbChO
b2RlKik7CisgICAgdm9pZCBjb21waWxlUHVzaFdpdGhTY29wZShOb2RlKik7CiAgICAgdm9pZCBj
b21waWxlVHJ5R2V0QnlJZChOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW4oTm9kZSopOwogICAg
IApAQCAtMTM5MCw2ICsxMzkxLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwogICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNKIG9wZXJhdGlvbiwgR1BS
UmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFyZzIpCisgICAgeworICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5ncHIoKSk7Cisg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAg
ICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
Sk1pYyBvcGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwgSlNWYWx1ZVJlZ3MgYXJnLCBUcnVz
dGVkSW1tUHRyIG1hdGhJQykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShhcmcuZ3ByKCksIG1hdGhJQyk7CkBAIC0xOTM5LDYgKzE5NDUsMTEgQEAgcHVi
bGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJn
Mi5wYXlsb2FkR1BSKCksIGFyZzIudGFnR1BSKCksIGFyZzMpOwogICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNKIG9wZXJhdGlvbiwgR1BS
UmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFyZzIpCisgICAgeworICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BS
KCksIGFyZzIudGFnR1BSKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUpNaWMgb3BlcmF0aW9uLCBKU1ZhbHVlUmVncyByZXN1bHQs
IEpTVmFsdWVSZWdzIGFyZywgVHJ1c3RlZEltbVB0ciBtYXRoSUMpCiAgICAgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJn
LnBheWxvYWRHUFIoKSwgYXJnLnRhZ0dQUigpLCBtYXRoSUMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggMDE3NDcz
Y2U1YmI3OWY5NWU3ZmI4MzFjYjc3MmNmMDk1OGFiYjdjNy4uMDdiZDBkMDgwMjc3MjY0NjY5Y2Rl
MjM4MTk1NzkwNTVhYTA4ZGUwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC01MDE3LDYgKzUwMTcsMTEgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3Jl
YXRlQWN0aXZhdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorCisgICAgY2FzZSBQ
dXNoV2l0aFNjb3BlOiB7CisgICAgICAgIGNvbXBpbGVQdXNoV2l0aFNjb3BlKG5vZGUpOworICAg
ICAgICBicmVhazsKKyAgICB9CiAgICAgICAgIAogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1l
bnRzOiB7CiAgICAgICAgIGNvbXBpbGVDcmVhdGVEaXJlY3RBcmd1bWVudHMobm9kZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRl
eCBiODhkZWIxODRkOGIwMTk3MTVlYmQ4NmE0N2E0YTQ5OGU4YmZjNmIxLi4xMzBlMTU3ZDIwNWUy
MGUyNzM3NzM0NGY1OTFjNGEwMzY0NDk5ZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTU0MjUsNyArNTQyNSwxMiBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVD
cmVhdGVBY3RpdmF0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAor
ICAgIAorICAgIGNhc2UgUHVzaFdpdGhTY29wZTogeworICAgICAgICBjb21waWxlUHVzaFdpdGhT
Y29wZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgCiAgICAgY2FzZSBDcmVhdGVE
aXJlY3RBcmd1bWVudHM6IHsKICAgICAgICAgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cyhu
b2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmNwcAppbmRleCBmMzk2NmJkZGQ5Mjc0OTY1Y2E1N2M2MjU2Zjg2YWJmNGMxOTY5NDBh
Li42YmVlZDU2ZDNjZTkxYTJhNDIzY2YxZjg4ZTJmZTZjYjI2MDhhODI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTU3LDYgKzU3LDcgQEAKICNp
bmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVu
dmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCisjaW5j
bHVkZSAiSlNXaXRoU2NvcGUuaCIKICNpbmNsdWRlICJNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmgi
CiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJQb2x5bW9ycGhpY0Fj
Y2Vzcy5oIgpAQCAtMTk5NSw2ICsxOTk2LDIwIEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkRlbGV0ZUJ5VmFsKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlCiAg
ICAgcmV0dXJuIGNvdWxkRGVsZXRlOwogfQogCitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHVzaFdpdGhTY29wZShFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY3VycmVudFNjb3BlQ2Vs
bCwgRW5jb2RlZEpTVmFsdWUgc2NvcGVPYmplY3RWYWx1ZSkKK3sKKyAgICBWTSYgdm0gPSBleGVj
LT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBKU09iamVjdCog
bmV3U2NvcGUgPSBKU1ZhbHVlOjpkZWNvZGUoc2NvcGVPYmplY3RWYWx1ZSkudG9PYmplY3QoZXhl
Yyk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisKKyAgICBKU1Nj
b3BlKiBjdXJyZW50U2NvcGUgPSBqc0Nhc3Q8SlNTY29wZSo+KGN1cnJlbnRTY29wZUNlbGwpOwor
CisgICAgcmV0dXJuIEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwgbmV3U2NvcGUsIGN1cnJlbnRTY29wZSk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFByb3RvKQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IGQ0Zjg1NmFhNzU2MWM2MWZhOThiMWQ1YzgzMjc3YzdmMWY0ZWZmNzcuLjJi
YzRiZmU4OTk4MzQxMWU5ZjY0YTQzZjI4MzY2Njg2MmZlMjliYzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMTIsNiArMjEyLDcgQEAgdHlwZWRlZiBK
U0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FU3RaWikoRXhlY1N0YXRlKiwg
U3RydWN0dXJlKiwgaW4KIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVy
YXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BF
UkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FSnNjSSkoRXhlY1N0YXRlKiwgSlNTY29wZSosIFVuaXF1
ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3Bl
cmF0aW9uX0VDSlopKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlLCBpbnQzMl90
KTsKK3R5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUNKKShF
eGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIGRvdWJsZSAoSklU
X09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRCkoZG91YmxlKTsKIHR5cGVkZWYgZG91YmxlIChK
SVRfT1BFUkFUSU9OICpEX0pJVE9wZXJhdGlvbl9HKShKU0dsb2JhbE9iamVjdCopOwogdHlwZWRl
ZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0aW9uX0REKShkb3VibGUsIGRvdWJs
ZSk7CkBAIC00MTgsNiArNDE5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25EZWxldGVCeUlkSlNSZXN1bHQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmEKIHNpemVfdCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1bHQoRXhlY1N0YXRlKiwg
RW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0KSBXVEZfSU5URVJOQUw7
CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVjU3RhdGUqLCBF
bmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSB0YXJnZXQpIFdURl9JTlRFUk5BTDsK
K0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXNoV2l0aFNjb3BlKEV4ZWNTdGF0ZSos
IEpTQ2VsbCogY3VycmVudFNjb3BlQ2VsbCwgRW5jb2RlZEpTVmFsdWUgc2NvcGVPYmplY3QpIFdU
Rl9JTlRFUk5BTDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQTmFtZXMoRXhl
Y1N0YXRlKiwgSlNPYmplY3QqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIHByb3RvKSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uU2l6ZUZyYW1lRm9yRm9yd2FyZEFyZ3VtZW50cyhFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBhcmd1bWVudHMsIGludDMyX3QgbnVtVXNlZFN0YWNrU2xvdHMsIGludDMyX3QgZmly
c3RWYXJBcmdPZmZzZXQpIFdURl9JTlRFUk5BTDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317933</attachid>
            <date>2017-08-11 10:31:10 -0700</date>
            <delta_ts>2017-08-11 11:48:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175470-20170811103109.patch</filename>
            <type>text/plain</type>
            <size>15720</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NDVmZWU2MDc2ODAzYTNlNWQwYmJjYzQ3ZGFjM2VmMjRhMjY2N2ZiLi43OTUzYTU3N2ZiZjNiNWM5
MWUxMTlkNGM3NDVlYTdiNzQwZTkyNWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0wOC0xMCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aGljaCcga2V5d29yZCBpbiBERkcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ3MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdCBwYXJ0aWN1bGFy
bHkgb3B0aW1pemVkIGF0IHRoZSBtb21lbnQsIHRoZSBnb2FsIGlzIGp1c3QgdG8gYXZvaWQKKyAg
ICAgICAgdGhlIERGRyBiYWlsaW5nIG91dCBvZiBhbnkgZnVuY3Rpb24gd2l0aCB0aGlzIGtleXdv
cmQuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6
ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAq
IGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlM
ZXZlbCk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpkb2VzR0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUHVzaFdpdGhTY29wZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBqaXQvSklUT3Bl
cmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKwogMjAxNy0wOC0x
MCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdURjo6RnVuY3Rpb24g
ZG9lcyBub3QgYWxsb3cgZm9yIHJlZmVyZW5jZSAvIG5vbi1kZWZhdWx0IGNvbnN0cnVjdGlibGUg
cmV0dXJuIHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggYjkzZGViYzkyY2IyZTI1Y2JjZGQx
ZWVlZTQ2OTFhZDcxZWJjNzg3Ni4uZjQ3NzY5N2VjZTZlNzk5MzllYTdhMGEyM2I5MzI1MGIwYWRl
MzlhMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjA2Miw2ICsyMDYyLDEzIEBAIGJvb2wgQWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2ln
bmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgUHVzaFdp
dGhTY29wZToKKyAgICAgICAgLy8gRklYTUU6IENvbnNlcnZhdGl2ZQorICAgICAgICBjbG9iYmVy
V29ybGQobm9kZS0+b3JpZ2luLnNlbWFudGljLCBjbG9iYmVyTGltaXQpOworCisgICAgICAgIGZv
ck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0T3RoZXIpOworICAgICAgICBi
cmVhazsKKwogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIE1hdGVyaWFsaXpl
Q3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGI2OGI1YWYw
YWU4NjFmNTVhZmFlYTE5YWVjYzc4OGM5MDkzZGNiZTEuLjk1ZWJlODZhM2M3NjIyNTM3OTNjZjRh
YWFkNDg0MzhhZmI1ZDEwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC01NjM5LDYgKzU2MzksMTMgQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50KTsKICAgICAgICAgfQogCisgICAgICAgIGNh
c2Ugb3BfcHVzaF93aXRoX3Njb3BlOiB7CisgICAgICAgICAgICBOb2RlKiBzY29wZU9iamVjdCA9
IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwor
ICAgICAgICAgICAgTm9kZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKFB1c2hX
aXRoU2NvcGUsIHNjb3BlT2JqZWN0LCBjdXJyZW50U2NvcGUpKTsKKyAgICAgICAgICAgIE5FWFRf
T1BDT0RFKG9wX3B1c2hfd2l0aF9zY29wZSk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIG9w
X2dldF9wYXJlbnRfc2NvcGU6IHsKICAgICAgICAgICAgIE5vZGUqIGN1cnJlbnRTY29wZSA9IGdl
dChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAg
ICAgICAgICAgTm9kZSogbmV3U2NvcGUgPSBhZGRUb0dyYXBoKFNraXBTY29wZSwgY3VycmVudFNj
b3BlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApp
bmRleCBkY2NhOTI3MDI2NWMwMjg1OTRmNDVkODEzNjllYzQwNTJmYzg5NWUwLi5iYzU1NjNkYzVh
NWUyNzBkM2Q0OGRlMWRmYmFlNTI4NTc3NDA5YzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAgQ2FwYWJpbGl0
eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX25ld19hc3luY19mdW5jX2V4cDoKICAgICBjYXNl
IG9wX3NldF9mdW5jdGlvbl9uYW1lOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJv
bm1lbnQ6CisgICAgY2FzZSBvcF9wdXNoX3dpdGhfc2NvcGU6CiAgICAgY2FzZSBvcF9nZXRfcGFy
ZW50X3Njb3BlOgogICAgIGNhc2Ugb3BfY2F0Y2g6CiAgICAgY2FzZSBvcF9jcmVhdGVfcmVzdDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggMTQyOWI3MjQ5
MWYxMjI4NzhmNzJlNTBjZWRmZGI0NjZmZTMxNjZiNi4uNzBlOTcwOGQzYTZmZTc0OWQ4OWE5YjA3
MmRjMjRhZTRlMDMxZWVkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVy
aXplLmgKQEAgLTQ3OCw3ICs0NzgsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBO
b2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAg
ICB3cml0ZShIZWFwT2JqZWN0Q291bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAg
ICAKKwogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlU2Nv
cGVkQXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgpAQCAtNjA0LDYg
KzYwNCw3IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0
IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBQdXREeW5hbWljVmFy
OgogICAgIGNhc2UgUmVzb2x2ZVNjb3BlRm9ySG9pc3RpbmdGdW5jRGVjbEluRXZhbDoKICAgICBj
YXNlIFJlc29sdmVTY29wZToKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAgIHJlYWQo
V29ybGQpOwogICAgICAgICB3cml0ZShIZWFwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IDA1NzEwMzg4NmQyNTVmM2U3Mjc0ZTVh
M2I5M2VhZTJiNjMzOGZmMzguLjNhMjVkODdkZDQzM2M1NjJlODljZGE0ZTA0NWI4ZTU2ZWZiZjk3
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTI3OSw2ICsy
NzksNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBB
dG9taWNzU3ViOgogICAgIGNhc2UgQXRvbWljc1hvcjoKICAgICBjYXNlIEF0b21pY3NJc0xvY2tG
cmVlOgorICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAKaW5kZXggZmM3ZDk5YWI0ZTI3YmUwZjUxZDFiOWFkYjg1Nzk4YjlkNzY5
YWY4MS4uOWM0ZDRhNDdiOWJjNzJiOTU0ZTU4YWZkMDdiYTY3MDdkMzc1MTQ4MiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNzE3LDYgKzE3MTcs
MTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAg
Y2FzZSBQdXNoV2l0aFNjb3BlOiB7CisgICAgICAgICAgICAvLyBDaGlsZDIgaXMgYWx3YXlzIHRo
ZSBjdXJyZW50IHNjb3BlLCB3aGljaCBpcyBhIGtpbmQgb2YgY2VsbAorICAgICAgICAgICAgZml4
RWRnZTxLbm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisKICAgICAgICAgY2FzZSBTZXRGdW5jdGlvbk5hbWU6IHsKICAgICAgICAgICAg
IC8vIFRoZSBmaXJzdCBjaGlsZCBpcyBndWFyYW50ZWVkIHRvIGJlIGEgY2VsbCBiZWNhdXNlIG9w
X3NldF9mdW5jdGlvbl9uYW1lIGlzIG9ubHkgdXNlZAogICAgICAgICAgICAgLy8gb24gYSBuZXds
eSBpbnN0YW50aWF0ZWQgZnVuY3Rpb24gb2JqZWN0ICh0aGUgZmlyc3QgY2hpbGQpLgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDA2MTNhZGNjMDBhZjlkYzU5OWM2
ZTk3MDU3OWQ0OTkxYjIzYTc4MzguLjQ4YWJjNTNkM2JkZDMyODUzYWU0MWRkMWZkOGJjZGMyOWUz
MmE4NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTM1OSw2
ICszNTksNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oSGFz
T3duUHJvcGVydHksIE5vZGVSZXN1bHRCb29sZWFuKSBcCiAgICAgXAogICAgIG1hY3JvKENyZWF0
ZUFjdGl2YXRpb24sIE5vZGVSZXN1bHRKUykgXAorICAgIG1hY3JvKFB1c2hXaXRoU2NvcGUsIE5v
ZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgbWFjcm8oQ3JlYXRl
RGlyZWN0QXJndW1lbnRzLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhQaGFudG9tRGlyZWN0
QXJndW1lbnRzLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9u
UGhhc2UuY3BwCmluZGV4IGE4YmYyZTg2ZjdmYTNjOWM2MWNkOTcxYjZiNTUwYTVhZmExODhiY2Iu
LmUzZTM2Yzc5NDIzZjlmYjdkMTk0OGFlMGNkYjQ0ZDI4NjFlZDUyMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9u
UGhhc2UuY3BwCkBAIC04OTUsNiArODk1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBQdXNoV2l0aFNjb3BlOgog
ICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246IHsKICAgICAgICAgICAgIHNldFByZWRpY3Rp
b24oU3BlY09iamVjdE90aGVyKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCA1ODg1ZjlmZjA4M2I2MTI0MWVk
ZmU2MThhZDFjOWJkMWEwZDNjZGE4Li40ZGY0ODRmZWE0OTI3OWExNzBkNTAwODczYjFhNjE1ZDQx
MTZhYTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4
ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUu
aApAQCAtMjk0LDYgKzI5NCw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlw
ZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIE1ha2VSb3BlOgog
ICAgIGNhc2UgSW46CiAgICAgY2FzZSBIYXNPd25Qcm9wZXJ0eToKKyAgICBjYXNlIFB1c2hXaXRo
U2NvcGU6CiAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgQ3JlYXRlRGlyZWN0
QXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA4MTIyOGQxOTVi
OTlkOWMyN2NjMDlhMzk3YjMyZTdmYzU1YTdkZjBjLi44OTcxZTQ0MzQ1ODY4N2RjOTQzNzcwOTU2
YjAzYzk5YzYyM2Q0MjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcApAQCAtMTEyNCw2ICsxMTI0LDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVEZWxldGVCeVZhbChOb2RlKiBub2RlKQogICAgIHVuYmxlc3NlZEJvb2xlYW5S
ZXN1bHQocmVzdWx0R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogfQog
Cit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHVzaFdpdGhTY29wZShOb2RlKiBub2RlKQor
eworICAgIEpTVmFsdWVPcGVyYW5kIHNjb3BlT2JqZWN0KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsK
KyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBjdXJyZW50U2NvcGUodGhpcywgbm9kZS0+Y2hpbGQy
KCkpOworICAgIEpTVmFsdWVSZWdzIHNjb3BlT2JqZWN0UmVncyA9IHNjb3BlT2JqZWN0LmpzVmFs
dWVSZWdzKCk7CisgICAgR1BSUmVnIGN1cnJlbnRTY29wZUdQUiA9IGN1cnJlbnRTY29wZS5ncHIo
KTsKKworICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBHUFJSZWcg
cmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOworICAgIAorICAgIGZsdXNoUmVnaXN0ZXJzKCk7Cisg
ICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25QdXNoV2l0aFNjb3BlLCByZXN1bHRHUFIsIGN1cnJl
bnRTY29wZUdQUiwgc2NvcGVPYmplY3RSZWdzKTsKKyAgICBtX2ppdC5leGNlcHRpb25DaGVjaygp
OworICAgIAorICAgIGNlbGxSZXN1bHQocmVzdWx0R1BSLCBub2RlKTsKK30KKwogYm9vbCBTcGVj
dWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVDb21wYXJlKE5vZGUqIG5vZGUsIE1hY3JvQXNzZW1i
bGVyOjpSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFNfSklUT3BlcmF0aW9uX0VKSiBoZWxwZXJG
dW5jdGlvbikKIHsKICAgICB1bnNpZ25lZCBicmFuY2hJbmRleEluQmxvY2sgPSBkZXRlY3RQZWVw
SG9sZUJyYW5jaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5oCmluZGV4IDNmMTZiNDVmNTYxNmQ4MTE3NWFiOTYxN2RlZTdlM2ExYzNjZTA2MGYuLmYz
YTVmZGQ1MDlmOWM5ZTBhY2JmN2EzM2EzMWJiOTlhYTRmODE1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTc0NCw2ICs3NDQsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGNvbXBpbGVEZWxldGVCeUlkKE5vZGUqKTsKICAgICB2b2lkIGNv
bXBpbGVEZWxldGVCeVZhbChOb2RlKik7CisgICAgdm9pZCBjb21waWxlUHVzaFdpdGhTY29wZShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlVHJ5R2V0QnlJZChOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlSW4oTm9kZSopOwogICAgIApAQCAtMTM5MCw2ICsxMzkxLDExIEBAIHB1YmxpYzoKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25f
RUNKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFy
ZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgYXJnMi5ncHIoKSk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0KTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FSk1pYyBvcGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwgSlNW
YWx1ZVJlZ3MgYXJnLCBUcnVzdGVkSW1tUHRyIG1hdGhJQykKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcuZ3ByKCksIG1hdGhJQyk7CkBAIC0xOTM5
LDYgKzE5NDUsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzIudGFnR1BSKCksIGFyZzMpOwog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25f
RUNKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFy
ZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzIudGFnR1BSKCkpOworICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpNaWMgb3BlcmF0aW9uLCBK
U1ZhbHVlUmVncyByZXN1bHQsIEpTVmFsdWVSZWdzIGFyZywgVHJ1c3RlZEltbVB0ciBtYXRoSUMp
CiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8z
MkJJVF9EVU1NWV9BUkcgYXJnLnBheWxvYWRHUFIoKSwgYXJnLnRhZ0dQUigpLCBtYXRoSUMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKaW5kZXggMDE3NDczY2U1YmI3OWY5NWU3ZmI4MzFjYjc3MmNmMDk1OGFiYjdjNy4uMDdi
ZDBkMDgwMjc3MjY0NjY5Y2RlMjM4MTk1NzkwNTVhYTA4ZGUwYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC01MDE3
LDYgKzUwMTcsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQog
ICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQorCisgICAgY2FzZSBQdXNoV2l0aFNjb3BlOiB7CisgICAgICAgIGNvbXBpbGVQdXNoV2l0
aFNjb3BlKG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgICAgIAogICAgIGNhc2Ug
Q3JlYXRlRGlyZWN0QXJndW1lbnRzOiB7CiAgICAgICAgIGNvbXBpbGVDcmVhdGVEaXJlY3RBcmd1
bWVudHMobm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAppbmRleCBhNjM2MWQxZmFkMGZjMzg3OTEzNWViMWI3MzkxYjllYmViNWI4
MTVhLi43MjQxNGU3ZjQyYzY4YTRlYjQ5Yzk2MGMxZDc0YjlkY2ZkNWUxYjVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTU0
MjUsNyArNTQyNSwxMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUp
CiAgICAgICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsK
ICAgICB9Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgUHVzaFdpdGhTY29wZTogeworICAgICAg
ICBjb21waWxlUHVzaFdpdGhTY29wZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCiAg
ICAgY2FzZSBDcmVhdGVEaXJlY3RBcmd1bWVudHM6IHsKICAgICAgICAgY29tcGlsZUNyZWF0ZURp
cmVjdEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBmMzk2NmJkZGQ5Mjc0OTY1Y2E1N2M2MjU2
Zjg2YWJmNGMxOTY5NDBhLi42YmVlZDU2ZDNjZTkxYTJhNDIzY2YxZjg4ZTJmZTZjYjI2MDhhODI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTU3
LDYgKzU3LDcgQEAKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgogI2luY2x1
ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yLmgiCisjaW5jbHVkZSAiSlNXaXRoU2NvcGUuaCIKICNpbmNsdWRlICJNb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNpbmNsdWRl
ICJQb2x5bW9ycGhpY0FjY2Vzcy5oIgpAQCAtMTk5NSw2ICsxOTk2LDIwIEBAIHNpemVfdCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlCiAgICAgcmV0dXJuIGNvdWxkRGVsZXRlOwogfQogCitKU0NlbGwqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHVzaFdpdGhTY29wZShFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCog
Y3VycmVudFNjb3BlQ2VsbCwgRW5jb2RlZEpTVmFsdWUgc2NvcGVPYmplY3RWYWx1ZSkKK3sKKyAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
JnZtLCBleGVjKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisK
KyAgICBKU09iamVjdCogbmV3U2NvcGUgPSBKU1ZhbHVlOjpkZWNvZGUoc2NvcGVPYmplY3RWYWx1
ZSkudG9PYmplY3QoZXhlYyk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0
cik7CisKKyAgICBKU1Njb3BlKiBjdXJyZW50U2NvcGUgPSBqc0Nhc3Q8SlNTY29wZSo+KGN1cnJl
bnRTY29wZUNlbGwpOworCisgICAgcmV0dXJuIEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKSwgbmV3U2NvcGUsIGN1cnJlbnRTY29wZSk7Cit9CisKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFByb3RvKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IGQ0Zjg1NmFhNzU2MWM2MWZhOThiMWQ1YzgzMjc3
YzdmMWY0ZWZmNzcuLjJiYzRiZmU4OTk4MzQxMWU5ZjY0YTQzZjI4MzY2Njg2MmZlMjliYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMTIsNiArMjEy
LDcgQEAgdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FU3Ra
WikoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW4KIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJB
VElPTiAqQ19KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBK
U0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FSnNjSSkoRXhlY1N0YXRlKiwg
SlNTY29wZSosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVS
QVRJT04gKkNfSklUT3BlcmF0aW9uX0VDSlopKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRK
U1ZhbHVlLCBpbnQzMl90KTsKK3R5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRP
cGVyYXRpb25fRUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRCkoZG91YmxlKTsKIHR5
cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJhdGlvbl9HKShKU0dsb2JhbE9i
amVjdCopOwogdHlwZWRlZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0aW9uX0RE
KShkb3VibGUsIGRvdWJsZSk7CkBAIC00MTgsNiArNDE5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkSlNSZXN1bHQoRXhlY1N0YXRlKiwgRW5jb2Rl
ZEpTVmEKIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWQoRXhlY1N0YXRl
KiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1
bHQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0
KSBXVEZfSU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZh
bChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSB0YXJnZXQp
IFdURl9JTlRFUk5BTDsKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXNoV2l0aFNj
b3BlKEV4ZWNTdGF0ZSosIEpTQ2VsbCogY3VycmVudFNjb3BlQ2VsbCwgRW5jb2RlZEpTVmFsdWUg
c2NvcGVPYmplY3QpIFdURl9JTlRFUk5BTDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZXRQTmFtZXMoRXhlY1N0YXRlKiwgSlNPYmplY3QqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHByb3RvKSBXVEZfSU5URVJOQUw7CiBpbnQzMl90
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU2l6ZUZyYW1lRm9yRm9yd2FyZEFyZ3VtZW50cyhFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBhcmd1bWVudHMsIGludDMyX3QgbnVtVXNlZFN0YWNrU2xv
dHMsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpIFdURl9JTlRFUk5BTDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317944</attachid>
            <date>2017-08-11 11:48:35 -0700</date>
            <delta_ts>2017-08-14 12:53:32 -0700</delta_ts>
            <desc>Patch with Saam&apos;s suggestions</desc>
            <filename>bug-175470-20170811114834.patch</filename>
            <type>text/plain</type>
            <size>15787</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NDVmZWU2MDc2ODAzYTNlNWQwYmJjYzQ3ZGFjM2VmMjRhMjY2N2ZiLi43OTUzYTU3N2ZiZjNiNWM5
MWUxMTlkNGM3NDVlYTdiNzQwZTkyNWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0wOC0xMCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aGljaCcga2V5d29yZCBpbiBERkcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ3MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdCBwYXJ0aWN1bGFy
bHkgb3B0aW1pemVkIGF0IHRoZSBtb21lbnQsIHRoZSBnb2FsIGlzIGp1c3QgdG8gYXZvaWQKKyAg
ICAgICAgdGhlIERGRyBiYWlsaW5nIG91dCBvZiBhbnkgZnVuY3Rpb24gd2l0aCB0aGlzIGtleXdv
cmQuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6
ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAq
IGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlM
ZXZlbCk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpkb2VzR0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUHVzaFdpdGhTY29wZSk6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBqaXQvSklUT3Bl
cmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKwogMjAxNy0wOC0x
MCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdURjo6RnVuY3Rpb24g
ZG9lcyBub3QgYWxsb3cgZm9yIHJlZmVyZW5jZSAvIG5vbi1kZWZhdWx0IGNvbnN0cnVjdGlibGUg
cmV0dXJuIHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggYjkzZGViYzkyY2IyZTI1Y2JjZGQx
ZWVlZTQ2OTFhZDcxZWJjNzg3Ni4uOGU0MDMxNWYzMWVjODk3Yjg4ODJmZWVmNGUwZjJhM2Y1MmFi
NGU2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjA2Miw2ICsyMDYyLDEzIEBAIGJvb2wgQWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2ln
bmVkIGNsb2JiZXJMaW1pCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhc2UgUHVzaFdp
dGhTY29wZToKKyAgICAgICAgLy8gRklYTUU6IENvbnNlcnZhdGl2ZQorICAgICAgICBjbG9iYmVy
V29ybGQobm9kZS0+b3JpZ2luLnNlbWFudGljLCBjbG9iYmVyTGltaXQpOworCisgICAgICAgIGZv
ck5vZGUobm9kZSkuc2V0KG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9k
ZS0+b3JpZ2luLnNlbWFudGljKS0+d2l0aFNjb3BlU3RydWN0dXJlKCkpOworICAgICAgICBicmVh
azsKKwogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIE1hdGVyaWFsaXplQ3Jl
YXRlQWN0aXZhdGlvbjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGI2OGI1YWYwYWU4
NjFmNTVhZmFlYTE5YWVjYzc4OGM5MDkzZGNiZTEuLjk1ZWJlODZhM2M3NjIyNTM3OTNjZjRhYWFk
NDg0MzhhZmI1ZDEwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCkBAIC01NjM5LDYgKzU2MzksMTMgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9w
X2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50KTsKICAgICAgICAgfQogCisgICAgICAgIGNhc2Ug
b3BfcHVzaF93aXRoX3Njb3BlOiB7CisgICAgICAgICAgICBOb2RlKiBzY29wZU9iamVjdCA9IGdl
dChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAg
ICAgICAgICAgTm9kZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKFB1c2hXaXRo
U2NvcGUsIHNjb3BlT2JqZWN0LCBjdXJyZW50U2NvcGUpKTsKKyAgICAgICAgICAgIE5FWFRfT1BD
T0RFKG9wX3B1c2hfd2l0aF9zY29wZSk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIG9wX2dl
dF9wYXJlbnRfc2NvcGU6IHsKICAgICAgICAgICAgIE5vZGUqIGN1cnJlbnRTY29wZSA9IGdldChW
aXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAg
ICAgICAgTm9kZSogbmV3U2NvcGUgPSBhZGRUb0dyYXBoKFNraXBTY29wZSwgY3VycmVudFNjb3Bl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCBkY2NhOTI3MDI2NWMwMjg1OTRmNDVkODEzNjllYzQwNTJmYzg5NWUwLi5iYzU1NjNkYzVhNWUy
NzBkM2Q0OGRlMWRmYmFlNTI4NTc3NDA5YzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAgQ2FwYWJpbGl0eUxl
dmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIEluc3RydWMKICAgICBjYXNlIG9wX25ld19hc3luY19mdW5jX2V4cDoKICAgICBjYXNlIG9w
X3NldF9mdW5jdGlvbl9uYW1lOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1l
bnQ6CisgICAgY2FzZSBvcF9wdXNoX3dpdGhfc2NvcGU6CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50
X3Njb3BlOgogICAgIGNhc2Ugb3BfY2F0Y2g6CiAgICAgY2FzZSBvcF9jcmVhdGVfcmVzdDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggMTQyOWI3MjQ5MWYx
MjI4NzhmNzJlNTBjZWRmZGI0NjZmZTMxNjZiNi4uNzBlOTcwOGQzYTZmZTc0OWQ4OWE5YjA3MmRj
MjRhZTRlMDMxZWVkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXpl
LmgKQEAgLTQ3OCw3ICs0NzgsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICB3
cml0ZShIZWFwT2JqZWN0Q291bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAK
KwogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlU2NvcGVk
QXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgpAQCAtNjA0LDYgKzYw
NCw3IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJl
YWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBQdXREeW5hbWljVmFyOgog
ICAgIGNhc2UgUmVzb2x2ZVNjb3BlRm9ySG9pc3RpbmdGdW5jRGVjbEluRXZhbDoKICAgICBjYXNl
IFJlc29sdmVTY29wZToKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAgIHJlYWQoV29y
bGQpOwogICAgICAgICB3cml0ZShIZWFwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IDA1NzEwMzg4NmQyNTVmM2U3Mjc0ZTVhM2I5
M2VhZTJiNjMzOGZmMzguLjNhMjVkODdkZDQzM2M1NjJlODljZGE0ZTA0NWI4ZTU2ZWZiZjk3MDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTI3OSw2ICsyNzks
NyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBBdG9t
aWNzU3ViOgogICAgIGNhc2UgQXRvbWljc1hvcjoKICAgICBjYXNlIEF0b21pY3NJc0xvY2tGcmVl
OgorICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Y2FzZSBDcmVhdGVBY3RpdmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4
dXBQaGFzZS5jcHAKaW5kZXggZmM3ZDk5YWI0ZTI3YmUwZjUxZDFiOWFkYjg1Nzk4YjlkNzY5YWY4
MS4uN2JlZTkzZGIzMTJmYjY2YmU0ZDk2NDFlMzEyZGU4ZTNmNWVjZmY4NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNzE3LDYgKzE3MTcsMTIg
QEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgY2Fz
ZSBQdXNoV2l0aFNjb3BlOiB7CisgICAgICAgICAgICAvLyBDaGlsZDIgaXMgYWx3YXlzIHRoZSBj
dXJyZW50IHNjb3BlLCB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGFuIG9iamVjdC4KKyAgICAg
ICAgICAgIGZpeEVkZ2U8S25vd25DZWxsVXNlPihub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2UgU2V0RnVuY3Rpb25OYW1lOiB7CiAg
ICAgICAgICAgICAvLyBUaGUgZmlyc3QgY2hpbGQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGNlbGwg
YmVjYXVzZSBvcF9zZXRfZnVuY3Rpb25fbmFtZSBpcyBvbmx5IHVzZWQKICAgICAgICAgICAgIC8v
IG9uIGEgbmV3bHkgaW5zdGFudGlhdGVkIGZ1bmN0aW9uIG9iamVjdCAodGhlIGZpcnN0IGNoaWxk
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCAwNjEzYWRjYzAw
YWY5ZGM1OTljNmU5NzA1NzlkNDk5MWIyM2E3ODM4Li40OGFiYzUzZDNiZGQzMjg1M2FlNDFkZDFm
ZDhiY2RjMjllMzJhODYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGVUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5o
CkBAIC0zNTksNiArMzU5LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAg
IG1hY3JvKEhhc093blByb3BlcnR5LCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIFwKICAgICBt
YWNybyhDcmVhdGVBY3RpdmF0aW9uLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNybyhQdXNoV2l0
aFNjb3BlLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgXAogICAgIG1h
Y3JvKENyZWF0ZURpcmVjdEFyZ3VtZW50cywgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUGhh
bnRvbURpcmVjdEFyZ3VtZW50cywgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFn
YXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Q
cm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCBhOGJmMmU4NmY3ZmEzYzljNjFjZDk3MWI2YjU1MGE1
YWZhMTg4YmNiLi5lM2UzNmM3OTQyM2Y5ZmI3ZDE5NDhhZTBjZGI0NGQyODYxZWQ1MjFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Q
cm9wYWdhdGlvblBoYXNlLmNwcApAQCAtODk1LDYgKzg5NSw3IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgIGNhc2UgUHVzaFdp
dGhTY29wZToKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOiB7CiAgICAgICAgICAgICBz
ZXRQcmVkaWN0aW9uKFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggNTg4NWY5ZmYw
ODNiNjEyNDFlZGZlNjE4YWQxYzliZDFhMGQzY2RhOC4uNGRmNDg0ZmVhNDkyNzlhMTcwZDUwMDg3
M2IxYTYxNWQ0MTE2YWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZl
VG9FeGVjdXRlLmgKQEAgLTI5NCw2ICsyOTQsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJh
Y3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBN
YWtlUm9wZToKICAgICBjYXNlIEluOgogICAgIGNhc2UgSGFzT3duUHJvcGVydHk6CisgICAgY2Fz
ZSBQdXNoV2l0aFNjb3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIENy
ZWF0ZURpcmVjdEFyZ3VtZW50czoKICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXgg
ODEyMjhkMTk1Yjk5ZDljMjdjYzA5YTM5N2IzMmU3ZmM1NWE3ZGYwYy4uODk3MWU0NDM0NTg2ODdk
Yzk0Mzc3MDk1NmIwM2M5OWM2MjNkNDIzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTExMjQsNiArMTEyNCwyMyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlRGVsZXRlQnlWYWwoTm9kZSogbm9kZSkKICAgICB1bmJsZXNz
ZWRCb29sZWFuUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSwgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNp
dGx5KTsKIH0KIAordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1c2hXaXRoU2NvcGUoTm9k
ZSogbm9kZSkKK3sKKyAgICBKU1ZhbHVlT3BlcmFuZCBzY29wZU9iamVjdCh0aGlzLCBub2RlLT5j
aGlsZDEoKSk7CisgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY3VycmVudFNjb3BlKHRoaXMsIG5v
ZGUtPmNoaWxkMigpKTsKKyAgICBKU1ZhbHVlUmVncyBzY29wZU9iamVjdFJlZ3MgPSBzY29wZU9i
amVjdC5qc1ZhbHVlUmVncygpOworICAgIEdQUlJlZyBjdXJyZW50U2NvcGVHUFIgPSBjdXJyZW50
U2NvcGUuZ3ByKCk7CisKKyAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Cisg
ICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKKyAgICAKKyAgICBmbHVzaFJlZ2lz
dGVycygpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUHVzaFdpdGhTY29wZSwgcmVzdWx0
R1BSLCBjdXJyZW50U2NvcGVHUFIsIHNjb3BlT2JqZWN0UmVncyk7CisgICAgbV9qaXQuZXhjZXB0
aW9uQ2hlY2soKTsKKyAgICAKKyAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7Cit9CisK
IGJvb2wgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlQ29tcGFyZShOb2RlKiBub2RlLCBN
YWNyb0Fzc2VtYmxlcjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBTX0pJVE9wZXJhdGlvbl9F
SkogaGVscGVyRnVuY3Rpb24pCiB7CiAgICAgdW5zaWduZWQgYnJhbmNoSW5kZXhJbkJsb2NrID0g
ZGV0ZWN0UGVlcEhvbGVCcmFuY2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAppbmRleCAzZjE2YjQ1ZjU2MTZkODExNzVhYjk2MTdkZWU3ZTNhMWMz
Y2UwNjBmLi5mM2E1ZmRkNTA5ZjljOWUwYWNiZjdhMzNhMzFiYjk5YWE0ZjgxNTNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC03NDQsNiAr
NzQ0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2RlKik7CiAg
ICAgdm9pZCBjb21waWxlRGVsZXRlQnlWYWwoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVB1c2hX
aXRoU2NvcGUoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZVRyeUdldEJ5SWQoTm9kZSopOwogICAg
IHZvaWQgY29tcGlsZUluKE5vZGUqKTsKICAgICAKQEAgLTEzOTAsNiArMTM5MSwxMSBAQCBwdWJs
aWM6CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcy
LCBhcmczKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1Zh
bHVlUmVncyBhcmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKGFyZzEsIGFyZzIuZ3ByKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpNaWMgb3BlcmF0aW9uLCBKU1ZhbHVlUmVncyBy
ZXN1bHQsIEpTVmFsdWVSZWdzIGFyZywgVHJ1c3RlZEltbVB0ciBtYXRoSUMpCiAgICAgewogICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnLmdwcigpLCBtYXRoSUMp
OwpAQCAtMTkzOSw2ICsxOTQ1LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigp
LCBhcmczKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1Zh
bHVlUmVncyBhcmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpKTsKKyAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KICAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKTWljIG9w
ZXJhdGlvbiwgSlNWYWx1ZVJlZ3MgcmVzdWx0LCBKU1ZhbHVlUmVncyBhcmcsIFRydXN0ZWRJbW1Q
dHIgbWF0aElDKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZy5wYXlsb2FkR1BSKCksIGFyZy50YWdHUFIoKSwg
bWF0aElDKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCmluZGV4IDAxNzQ3M2NlNWJiNzlmOTVlN2ZiODMxY2I3NzJjZjA5NThh
YmI3YzcuLjA3YmQwZDA4MDI3NzI2NDY2OWNkZTIzODE5NTc5MDU1YWEwOGRlMGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cApAQCAtNTAxNyw2ICs1MDE3LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0ZUFjdGl2YXRpb24obm9kZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KKworICAgIGNhc2UgUHVzaFdpdGhTY29wZTogeworICAgICAgICBjb21w
aWxlUHVzaFdpdGhTY29wZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgICAgICAK
ICAgICBjYXNlIENyZWF0ZURpcmVjdEFyZ3VtZW50czogewogICAgICAgICBjb21waWxlQ3JlYXRl
RGlyZWN0QXJndW1lbnRzKG5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggYTYzNjFkMWZhZDBmYzM4NzkxMzVlYjFiNzM5
MWI5ZWJlYjViODE1YS4uNzI0MTRlN2Y0MmM2OGE0ZWI0OWM5NjBjMWQ3NGI5ZGNmZDVlMWI1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCkBAIC01NDI1LDcgKzU0MjUsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbihub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQotICAgICAgICAKKyAgICAKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6
IHsKKyAgICAgICAgY29tcGlsZVB1c2hXaXRoU2NvcGUobm9kZSk7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KKwogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOiB7CiAgICAgICAgIGNvbXBp
bGVDcmVhdGVEaXJlY3RBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggZjM5NjZiZGRkOTI3NDk2
NWNhNTdjNjI1NmY4NmFiZjRjMTk2OTQwYS4uNmJlZWQ1NmQzY2U5MWEyYTQyM2NmMWY4OGUyZmU2
Y2IyNjA4YTgyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMu
aCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvci5oIgorI2luY2x1ZGUgIkpTV2l0aFNjb3BlLmgiCiAjaW5jbHVkZSAi
TW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVjdENvbnN0cnVjdG9yLmgi
CiAjaW5jbHVkZSAiUG9seW1vcnBoaWNBY2Nlc3MuaCIKQEAgLTE5OTUsNiArMTk5NiwyMCBAQCBz
aXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZQogICAgIHJldHVybiBjb3VsZERlbGV0ZTsKIH0KIAorSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1c2hXaXRoU2NvcGUoRXhlY1N0YXRlKiBleGVj
LCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVlIHNjb3BlT2JqZWN0VmFs
dWUpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOworCisgICAgSlNPYmplY3QqIG5ld1Njb3BlID0gSlNWYWx1ZTo6ZGVjb2RlKHNjb3Bl
T2JqZWN0VmFsdWUpLnRvT2JqZWN0KGV4ZWMpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIG51bGxwdHIpOworCisgICAgSlNTY29wZSogY3VycmVudFNjb3BlID0ganNDYXN0PEpTU2Nv
cGUqPihjdXJyZW50U2NvcGVDZWxsKTsKKworICAgIHJldHVybiBKU1dpdGhTY29wZTo6Y3JlYXRl
KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIG5ld1Njb3BlLCBjdXJyZW50U2NvcGUp
OworfQorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2Yo
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRQcm90bykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBkNGY4NTZhYTc1NjFjNjFmYTk4
YjFkNWM4MzI3N2M3ZjFmNGVmZjc3Li4yYmM0YmZlODk5ODM0MTFlOWY2NGE0M2YyODM2NjY4NjJm
ZTI5YmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAt
MjEyLDYgKzIxMiw3IEBAIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVy
YXRpb25fRVN0WlopKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGluCiB0eXBlZGVmIEpTQ2VsbCog
KEpJVF9PUEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsK
IHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUpzY0kpKEV4
ZWNTdGF0ZSosIEpTU2NvcGUqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBKU0NlbGwq
IChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FQ0paKShFeGVjU3RhdGUqLCBKU0NlbGwq
LCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCk7Cit0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJ
T04gKkNfSklUT3BlcmF0aW9uX0VDSikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOwogdHlwZWRlZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0aW9uX0QpKGRv
dWJsZSk7CiB0eXBlZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRyko
SlNHbG9iYWxPYmplY3QqKTsKIHR5cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9w
ZXJhdGlvbl9ERCkoZG91YmxlLCBkb3VibGUpOwpAQCAtNDE4LDYgKzQxOSw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlJZEpTUmVzdWx0KEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhCiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlk
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RG
X0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVC
eVZhbEpTUmVzdWx0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIEVuY29kZWRKU1Zh
bHVlIHRhcmdldCkgV1RGX0lOVEVSTkFMOwogc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
RGVsZXRlQnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFs
dWUgdGFyZ2V0KSBXVEZfSU5URVJOQUw7CitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHVzaFdpdGhTY29wZShFeGVjU3RhdGUqLCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVuY29k
ZWRKU1ZhbHVlIHNjb3BlT2JqZWN0KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uR2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KikgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykgV1RGX0lOVEVSTkFM
OwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVGcmFtZUZvckZvcndhcmRBcmd1
bWVudHMoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYXJndW1lbnRzLCBpbnQzMl90IG51bVVz
ZWRTdGFja1Nsb3RzLCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KSBXVEZfSU5URVJOQUw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318054</attachid>
            <date>2017-08-14 12:53:34 -0700</date>
            <delta_ts>2017-08-14 15:40:50 -0700</delta_ts>
            <desc>Patch with test and fixing a bug</desc>
            <filename>bug-175470-20170814125335.patch</filename>
            <type>text/plain</type>
            <size>16790</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZWExOWYzZDVkYWUyNWI3ZDQ0MTZlMjc4OTQwYWJiNjU2MjhiMDU2Li5jMDM3ZTA5NjZjNTdmNTZk
MDhiMmFkMGU5NGIwNDY2NzUyMzUxMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0wOC0xMCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aXRoJyBrZXl3b3JkIGluIERGRworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDcwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90IHBhcnRpY3VsYXJs
eSBvcHRpbWl6ZWQgYXQgdGhlIG1vbWVudCwgdGhlIGdvYWwgaXMganVzdCB0byBhdm9pZAorICAg
ICAgICB0aGUgREZHIGJhaWxpbmcgb3V0IG9mIGFueSBmdW5jdGlvbiB3aXRoIHRoaXMga2V5d29y
ZC4KKworICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+Ojpl
eGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICog
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxl
dmVsKToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6
OmNsb2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlND
OjpERkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05v
ZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cDoKKyAgICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6
OnNhZmVUb0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXNoV2l0aFNjb3BlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVRPcGVy
YXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorCiAyMDE3LTA4LTE0
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBHYXJkZW5pbmc6IGZp
eCBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IGI5M2RlYmM5MmNiMmUyNWNi
Y2RkMWVlZWU0NjkxYWQ3MWViYzc4NzYuLjg3OWUxNTBjZTNmYzU5ZTg3ZDBmZTVlY2Y5NjIwNGIw
MmMyMmM4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTIwNjIsNiArMjA2MiwxMyBAQCBib29s
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1
bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIFB1
c2hXaXRoU2NvcGU6CisgICAgICAgIGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50aWMs
IGNsb2JiZXJMaW1pdCk7CisKKyAgICAgICAgLy8gV2UgY2Fubm90IHVzZSB0aGUgbW9yZSBwcmVj
aXNlIHdpdGhTY29wZVN0cnVjdHVyZSgpIGhlcmUgYmVjYXVzZSBpdCBpcyBhIExhenlQcm9wZXJ0
eSBhbmQgbWF5IG5vdCB5ZXQgYmUgYWxsb2NhdGVkLgorICAgICAgICBmb3JOb2RlKG5vZGUpLnNl
dFR5cGUobV9ncmFwaCwgU3BlY09iamVjdCk7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBD
cmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgTWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgog
ICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggYjY4YjVhZjBhZTg2MWY1NWFmYWVhMTlhZWNj
Nzg4YzkwOTNkY2JlMS4uOTVlYmU4NmEzYzc2MjI1Mzc5M2NmNGFhYWQ0ODQzOGFmYjVkMTA5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
QEAgLTU2MzksNiArNTYzOSwxMyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVu
c2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfY3JlYXRlX2xleGljYWxf
ZW52aXJvbm1lbnQpOwogICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBvcF9wdXNoX3dpdGhfc2Nv
cGU6IHsKKyAgICAgICAgICAgIE5vZGUqIHNjb3BlT2JqZWN0ID0gZ2V0KFZpcnR1YWxSZWdpc3Rl
cihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBOb2RlKiBj
dXJyZW50U2NvcGUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpKTsKKyAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoUHVzaFdpdGhTY29wZSwgc2NvcGVPYmpl
Y3QsIGN1cnJlbnRTY29wZSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3BfcHVzaF93aXRo
X3Njb3BlKTsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2Ugb3BfZ2V0X3BhcmVudF9zY29wZTog
ewogICAgICAgICAgICAgTm9kZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSk7CiAgICAgICAgICAgICBOb2RlKiBuZXdT
Y29wZSA9IGFkZFRvR3JhcGgoU2tpcFNjb3BlLCBjdXJyZW50U2NvcGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGRjY2E5MjcwMjY1YzAy
ODU5NGY0NWQ4MTM2OWVjNDA1MmZjODk1ZTAuLmJjNTU2M2RjNWE1ZTI3MGQzZDQ4ZGUxZGZiYWU1
Mjg1Nzc0MDljMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2Fw
YWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxp
dGllcy5jcHAKQEAgLTI0NSw2ICsyNDUsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxl
dmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAg
IGNhc2Ugb3BfbmV3X2FzeW5jX2Z1bmNfZXhwOgogICAgIGNhc2Ugb3Bfc2V0X2Z1bmN0aW9uX25h
bWU6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyAgICBjYXNlIG9w
X3B1c2hfd2l0aF9zY29wZToKICAgICBjYXNlIG9wX2dldF9wYXJlbnRfc2NvcGU6CiAgICAgY2Fz
ZSBvcF9jYXRjaDoKICAgICBjYXNlIG9wX2NyZWF0ZV9yZXN0OgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCAxNDI5YjcyNDkxZjEyMjg3OGY3MmU1MGNlZGZk
YjQ2NmZlMzE2NmI2Li43MGU5NzA4ZDNhNmZlNzQ5ZDg5YTliMDcyZGMyNGFlNGUwMzFlZWRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtNDc4LDcgKzQ3
OCw3IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJl
YWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgICAgIHdyaXRlKEhlYXBPYmplY3RD
b3VudCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgICAgIAorCiAgICAgY2FzZSBDcmVh
dGVEaXJlY3RBcmd1bWVudHM6CiAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1bWVudHM6CiAgICAg
Y2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CkBAIC02MDQsNiArNjA0LDcgQEAgdm9pZCBjbG9i
YmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQs
IGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIFB1dER5bmFtaWNWYXI6CiAgICAgY2FzZSBSZXNvbHZl
U2NvcGVGb3JIb2lzdGluZ0Z1bmNEZWNsSW5FdmFsOgogICAgIGNhc2UgUmVzb2x2ZVNjb3BlOgor
ICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAgICAgICAgcmVhZChXb3JsZCk7CiAgICAgICAgIHdy
aXRlKEhlYXApOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAKaW5kZXggMDU3MTAzODg2ZDI1NWYzZTcyNzRlNWEzYjkzZWFlMmI2MzM4ZmYzOC4u
M2EyNWQ4N2RkNDMzYzU2MmU4OWNkYTRlMDQ1YjhlNTZlZmJmOTcwNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjc5LDYgKzI3OSw3IEBAIGJvb2wgZG9lc0dD
KEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIEF0b21pY3NTdWI6CiAgICAgY2Fz
ZSBBdG9taWNzWG9yOgogICAgIGNhc2UgQXRvbWljc0lzTG9ja0ZyZWU6CisgICAgY2FzZSBQdXNo
V2l0aFNjb3BlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjYXNlIENyZWF0ZUFjdGl2
YXRpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRl
eCBmYzdkOTlhYjRlMjdiZTBmNTFkMWI5YWRiODU3OThiOWQ3NjlhZjgxLi43YmVlOTNkYjMxMmZi
NjZiZTRkOTY0MWUzMTJkZThlM2Y1ZWNmZjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTE3MTcsNiArMTcxNywxMiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFB1c2hXaXRoU2NvcGU6
IHsKKyAgICAgICAgICAgIC8vIENoaWxkMiBpcyBhbHdheXMgdGhlIGN1cnJlbnQgc2NvcGUsIHdo
aWNoIGlzIGd1YXJhbnRlZWQgdG8gYmUgYW4gb2JqZWN0LgorICAgICAgICAgICAgZml4RWRnZTxL
bm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisKICAgICAgICAgY2FzZSBTZXRGdW5jdGlvbk5hbWU6IHsKICAgICAgICAgICAgIC8vIFRo
ZSBmaXJzdCBjaGlsZCBpcyBndWFyYW50ZWVkIHRvIGJlIGEgY2VsbCBiZWNhdXNlIG9wX3NldF9m
dW5jdGlvbl9uYW1lIGlzIG9ubHkgdXNlZAogICAgICAgICAgICAgLy8gb24gYSBuZXdseSBpbnN0
YW50aWF0ZWQgZnVuY3Rpb24gb2JqZWN0ICh0aGUgZmlyc3QgY2hpbGQpLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDA2MTNhZGNjMDBhZjlkYzU5OWM2ZTk3MDU3
OWQ0OTkxYjIzYTc4MzguLjQ4YWJjNTNkM2JkZDMyODUzYWU0MWRkMWZkOGJjZGMyOWUzMmE4NjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTM1OSw2ICszNTks
NyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oSGFzT3duUHJv
cGVydHksIE5vZGVSZXN1bHRCb29sZWFuKSBcCiAgICAgXAogICAgIG1hY3JvKENyZWF0ZUFjdGl2
YXRpb24sIE5vZGVSZXN1bHRKUykgXAorICAgIG1hY3JvKFB1c2hXaXRoU2NvcGUsIE5vZGVSZXN1
bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCiAgICAgbWFjcm8oQ3JlYXRlRGlyZWN0
QXJndW1lbnRzLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhQaGFudG9tRGlyZWN0QXJndW1l
bnRzLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2Uu
Y3BwCmluZGV4IGE4YmYyZTg2ZjdmYTNjOWM2MWNkOTcxYjZiNTUwYTVhZmExODhiY2IuLmUzZTM2
Yzc5NDIzZjlmYjdkMTk0OGFlMGNkYjQ0ZDI4NjFlZDUyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2Uu
Y3BwCkBAIC04OTUsNiArODk1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBQdXNoV2l0aFNjb3BlOgogICAgICAg
ICBjYXNlIENyZWF0ZUFjdGl2YXRpb246IHsKICAgICAgICAgICAgIHNldFByZWRpY3Rpb24oU3Bl
Y09iamVjdE90aGVyKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCA1ODg1ZjlmZjA4M2I2MTI0MWVkZmU2MThh
ZDFjOWJkMWEwZDNjZGE4Li40ZGY0ODRmZWE0OTI3OWExNzBkNTAwODczYjFhNjE1ZDQxMTZhYTY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAt
Mjk0LDYgKzI5NCw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3Rh
dGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIE1ha2VSb3BlOgogICAgIGNh
c2UgSW46CiAgICAgY2FzZSBIYXNPd25Qcm9wZXJ0eToKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6
CiAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgogICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1l
bnRzOgogICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCAwOGQ0MzI5ZjQwZWE3NDc1
OTU3ZDY1YjkwYTAxZjU0NjNmYzk3MGNjLi44YWMyNjJkNGM3MGExYWUyOWY5N2RiYWUyM2QwYWZj
MjY5ZTM2ZjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtMTEyNCw2ICsxMTI0LDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVEZWxldGVCeVZhbChOb2RlKiBub2RlKQogICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQo
cmVzdWx0R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogfQogCit2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHVzaFdpdGhTY29wZShOb2RlKiBub2RlKQoreworICAg
IEpTVmFsdWVPcGVyYW5kIHNjb3BlT2JqZWN0KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICBT
cGVjdWxhdGVDZWxsT3BlcmFuZCBjdXJyZW50U2NvcGUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwor
ICAgIEpTVmFsdWVSZWdzIHNjb3BlT2JqZWN0UmVncyA9IHNjb3BlT2JqZWN0LmpzVmFsdWVSZWdz
KCk7CisgICAgR1BSUmVnIGN1cnJlbnRTY29wZUdQUiA9IGN1cnJlbnRTY29wZS5ncHIoKTsKKwor
ICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBHUFJSZWcgcmVzdWx0
R1BSID0gcmVzdWx0LmdwcigpOworICAgIAorICAgIGZsdXNoUmVnaXN0ZXJzKCk7CisgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25QdXNoV2l0aFNjb3BlLCByZXN1bHRHUFIsIGN1cnJlbnRTY29w
ZUdQUiwgc2NvcGVPYmplY3RSZWdzKTsKKyAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOworICAg
IAorICAgIGNlbGxSZXN1bHQocmVzdWx0R1BSLCBub2RlKTsKK30KKwogYm9vbCBTcGVjdWxhdGl2
ZUpJVDo6bm9uU3BlY3VsYXRpdmVDb21wYXJlKE5vZGUqIG5vZGUsIE1hY3JvQXNzZW1ibGVyOjpS
ZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFNfSklUT3BlcmF0aW9uX0VKSiBoZWxwZXJGdW5jdGlv
bikKIHsKICAgICB1bnNpZ25lZCBicmFuY2hJbmRleEluQmxvY2sgPSBkZXRlY3RQZWVwSG9sZUJy
YW5jaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CmluZGV4IDNmMTZiNDVmNTYxNmQ4MTE3NWFiOTYxN2RlZTdlM2ExYzNjZTA2MGYuLmYzYTVmZGQ1
MDlmOWM5ZTBhY2JmN2EzM2EzMWJiOTlhYTRmODE1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTc0NCw2ICs3NDQsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGNvbXBpbGVEZWxldGVCeUlkKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVE
ZWxldGVCeVZhbChOb2RlKik7CisgICAgdm9pZCBjb21waWxlUHVzaFdpdGhTY29wZShOb2RlKik7
CiAgICAgdm9pZCBjb21waWxlVHJ5R2V0QnlJZChOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW4o
Tm9kZSopOwogICAgIApAQCAtMTM5MCw2ICsxMzkxLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9q
aXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQor
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNKIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFyZzIpCisg
ICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJn
Mi5ncHIoKSk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwg
cmVzdWx0KTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSk1pYyBvcGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwgSlNWYWx1ZVJl
Z3MgYXJnLCBUcnVzdGVkSW1tUHRyIG1hdGhJQykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcuZ3ByKCksIG1hdGhJQyk7CkBAIC0xOTM5LDYgKzE5
NDUsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzIudGFnR1BSKCksIGFyZzMpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQor
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNKIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVSZWdzIGFyZzIpCisg
ICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJn
Mi5wYXlsb2FkR1BSKCksIGFyZzIudGFnR1BSKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpNaWMgb3BlcmF0aW9uLCBKU1ZhbHVl
UmVncyByZXN1bHQsIEpTVmFsdWVSZWdzIGFyZywgVHJ1c3RlZEltbVB0ciBtYXRoSUMpCiAgICAg
ewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9E
VU1NWV9BUkcgYXJnLnBheWxvYWRHUFIoKSwgYXJnLnRhZ0dQUigpLCBtYXRoSUMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAK
aW5kZXggMDE3NDczY2U1YmI3OWY5NWU3ZmI4MzFjYjc3MmNmMDk1OGFiYjdjNy4uMDdiZDBkMDgw
Mjc3MjY0NjY5Y2RlMjM4MTk1NzkwNTVhYTA4ZGUwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC01MDE3LDYgKzUw
MTcsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAg
ICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQor
CisgICAgY2FzZSBQdXNoV2l0aFNjb3BlOiB7CisgICAgICAgIGNvbXBpbGVQdXNoV2l0aFNjb3Bl
KG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgICAgIAogICAgIGNhc2UgQ3JlYXRl
RGlyZWN0QXJndW1lbnRzOiB7CiAgICAgICAgIGNvbXBpbGVDcmVhdGVEaXJlY3RBcmd1bWVudHMo
bm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcAppbmRleCBhNjM2MWQxZmFkMGZjMzg3OTEzNWViMWI3MzkxYjllYmViNWI4MTVhLi43
MjQxNGU3ZjQyYzY4YTRlYjQ5Yzk2MGMxZDc0YjlkY2ZkNWUxYjVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTU0MjUsNyAr
NTQyNSwxMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAg
ICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9
Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgUHVzaFdpdGhTY29wZTogeworICAgICAgICBjb21w
aWxlUHVzaFdpdGhTY29wZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCiAgICAgY2Fz
ZSBDcmVhdGVEaXJlY3RBcmd1bWVudHM6IHsKICAgICAgICAgY29tcGlsZUNyZWF0ZURpcmVjdEFy
Z3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBmMzk2NmJkZGQ5Mjc0OTY1Y2E1N2M2MjU2Zjg2YWJm
NGMxOTY5NDBhLi42YmVlZDU2ZDNjZTkxYTJhNDIzY2YxZjg4ZTJmZTZjYjI2MDhhODI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTU3LDYgKzU3
LDcgQEAKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIkpT
TGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgiCisjaW5jbHVkZSAiSlNXaXRoU2NvcGUuaCIKICNpbmNsdWRlICJNb2R1bGVQcm9ncmFtQ29k
ZUJsb2NrLmgiCiAjaW5jbHVkZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJQb2x5
bW9ycGhpY0FjY2Vzcy5oIgpAQCAtMTk5NSw2ICsxOTk2LDIwIEBAIHNpemVfdCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlCiAgICAgcmV0dXJuIGNvdWxkRGVsZXRlOwogfQogCitKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHVzaFdpdGhTY29wZShFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY3VycmVu
dFNjb3BlQ2VsbCwgRW5jb2RlZEpTVmFsdWUgc2NvcGVPYmplY3RWYWx1ZSkKK3sKKyAgICBWTSYg
dm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBl
eGVjKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBK
U09iamVjdCogbmV3U2NvcGUgPSBKU1ZhbHVlOjpkZWNvZGUoc2NvcGVPYmplY3RWYWx1ZSkudG9P
YmplY3QoZXhlYyk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CisK
KyAgICBKU1Njb3BlKiBjdXJyZW50U2NvcGUgPSBqc0Nhc3Q8SlNTY29wZSo+KGN1cnJlbnRTY29w
ZUNlbGwpOworCisgICAgcmV0dXJuIEpTV2l0aFNjb3BlOjpjcmVhdGUodm0sIGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSwgbmV3U2NvcGUsIGN1cnJlbnRTY29wZSk7Cit9CisKIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFByb3Rv
KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5oCmluZGV4IGQ0Zjg1NmFhNzU2MWM2MWZhOThiMWQ1YzgzMjc3YzdmMWY0
ZWZmNzcuLjJiYzRiZmU4OTk4MzQxMWU5ZjY0YTQzZjI4MzY2Njg2MmZlMjliYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMTIsNiArMjEyLDcgQEAg
dHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FU3RaWikoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlKiwgaW4KIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAq
Q19KSVRPcGVyYXRpb25fRVopKEV4ZWNTdGF0ZSosIGludDMyX3QpOwogdHlwZWRlZiBKU0NlbGwq
IChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FSnNjSSkoRXhlY1N0YXRlKiwgSlNTY29w
ZSosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04g
KkNfSklUT3BlcmF0aW9uX0VDSlopKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVl
LCBpbnQzMl90KTsKK3R5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRp
b25fRUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIGRv
dWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRCkoZG91YmxlKTsKIHR5cGVkZWYg
ZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJhdGlvbl9HKShKU0dsb2JhbE9iamVjdCop
OwogdHlwZWRlZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0aW9uX0REKShkb3Vi
bGUsIGRvdWJsZSk7CkBAIC00MTgsNiArNDE5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25EZWxldGVCeUlkSlNSZXN1bHQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmEK
IHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWQoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1bHQoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0KSBXVEZf
SU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSB0YXJnZXQpIFdURl9J
TlRFUk5BTDsKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXNoV2l0aFNjb3BlKEV4
ZWNTdGF0ZSosIEpTQ2VsbCogY3VycmVudFNjb3BlQ2VsbCwgRW5jb2RlZEpTVmFsdWUgc2NvcGVP
YmplY3QpIFdURl9JTlRFUk5BTDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQ
TmFtZXMoRXhlY1N0YXRlKiwgSlNPYmplY3QqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUsIEVuY29kZWRKU1ZhbHVlIHByb3RvKSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uU2l6ZUZyYW1lRm9yRm9yd2FyZEFyZ3VtZW50cyhFeGVjU3RhdGUq
LCBFbmNvZGVkSlNWYWx1ZSBhcmd1bWVudHMsIGludDMyX3QgbnVtVXNlZFN0YWNrU2xvdHMsIGlu
dDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL3dpdGguanMgYi9KU1Rlc3RzL3N0cmVzcy93aXRoLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFk
OGMyOTM3N2ZlNGRjNTAwYTZjZDJlMzQzOTcyMjYwMTU4M2ZmNjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3N0cmVzcy93aXRoLmpzCkBAIC0wLDAgKzEsMzYgQEAKK2ZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIHZhciB4ID0gMTsKKyAgICB2YXIgeSA9IDI7CisKKyAg
ICB2YXIgeiA9IHthOiA0Mn07CisgICAgd2l0aCAoeikgeworICAgICAgICB4ID0geTsKKyAgICB9
CisgICAgaWYgKHggIT09IDIgfHwgeSAhPT0gMiB8fCB6LmEgIT09IDQyKSB7CisgICAgICAgIHRo
cm93ICJFcnJvcjogYmFkIHJlc3VsdCwgZmlyc3QgY2FzZSwgZm9yIGkgPSAiICsgaTsKKyAgICB9
CisKKyAgICB6ID0ge3k6IDQyfQorICAgIHdpdGggKHopIHsKKyAgICAgICAgeCA9IHk7CisgICAg
fQorICAgIGlmICh4ICE9PSA0MiB8fCB5ICE9PSAyIHx8IHoueSAhPT0gNDIpIHsKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCBzZWNvbmQgY2FzZSwgZm9yIGkgPSAiICsgaTsKKyAg
ICB9CisKKyAgICB6ID0ge3g6IDEzfTsKKyAgICB3aXRoICh6KSB7CisgICAgICAgIHggPSB5Owor
ICAgIH0KKyAgICBpZiAoeCAhPT0gNDIgfHwgeSAhPT0gMiB8fCB6LnggIT09IDIpIHsKKyAgICAg
ICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCB0aGlyZCBjYXNlLCBmb3IgaSA9ICIgKyBpOwor
ICAgIH0KKworICAgIHogPSB7eDoxMywgeToxNH07CisgICAgd2l0aCAoeikgeworICAgICAgICB4
ID0geTsKKyAgICB9CisgICAgaWYgKHggIT09IDQyIHx8IHkgIT09IDIgfHwgei54ICE9PSAxNCB8
fCB6LnkgIT09IDE0KSB7CisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCwgZm91cnRo
IGNhc2UsIGZvciBpID0gIiArIGk7CisgICAgfQorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318076</attachid>
            <date>2017-08-14 15:40:53 -0700</date>
            <delta_ts>2017-08-14 15:49:10 -0700</delta_ts>
            <desc>Patch with fixed Changelog, comment and setType</desc>
            <filename>bug-175470-20170814154052.patch</filename>
            <type>text/plain</type>
            <size>17476</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZWExOWYzZDVkYWUyNWI3ZDQ0MTZlMjc4OTQwYWJiNjU2MjhiMDU2Li5jMDM3ZTA5NjZjNTdmNTZk
MDhiMmFkMGU5NGIwNDY2NzUyMzUxMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0wOC0xMCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aXRoJyBrZXl3b3JkIGluIERGRworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDcwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90IHBhcnRpY3VsYXJs
eSBvcHRpbWl6ZWQgYXQgdGhlIG1vbWVudCwgdGhlIGdvYWwgaXMganVzdCB0byBhdm9pZAorICAg
ICAgICB0aGUgREZHIGJhaWxpbmcgb3V0IG9mIGFueSBmdW5jdGlvbiB3aXRoIHRoaXMga2V5d29y
ZC4KKworICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+Ojpl
eGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICog
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxl
dmVsKToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6
OmNsb2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlND
OjpERkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05v
ZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cDoKKyAgICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6
OnNhZmVUb0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXNoV2l0aFNjb3BlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVRPcGVy
YXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorCiAyMDE3LTA4LTE0
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBHYXJkZW5pbmc6IGZp
eCBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IGI5M2RlYmM5MmNiMmUyNWNi
Y2RkMWVlZWU0NjkxYWQ3MWViYzc4NzYuLjUxZjNkN2U5Y2Q3NzljNDA5MzQzOWM1YzMyNTVhNzBm
ZTQyZTIxNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTIwNjIsNiArMjA2MiwxMyBAQCBib29s
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1
bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIFB1
c2hXaXRoU2NvcGU6CisgICAgICAgIGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50aWMs
IGNsb2JiZXJMaW1pdCk7CisKKyAgICAgICAgLy8gV2UgZG9uJ3QgdXNlIHRoZSBtb3JlIHByZWNp
c2Ugd2l0aFNjb3BlU3RydWN0dXJlKCkgaGVyZSBiZWNhdXNlIGl0IGlzIGEgTGF6eVByb3BlcnR5
IGFuZCBtYXkgbm90IHlldCBiZSBhbGxvY2F0ZWQuCisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0
VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0T3RoZXIpOworICAgICAgICBicmVhazsKKwogICAgIGNh
c2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlv
bjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGI2OGI1YWYwYWU4NjFmNTVhZmFlYTE5
YWVjYzc4OGM5MDkzZGNiZTEuLjk1ZWJlODZhM2M3NjIyNTM3OTNjZjRhYWFkNDg0MzhhZmI1ZDEw
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCkBAIC01NjM5LDYgKzU2MzksMTMgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9j
ayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2NyZWF0ZV9sZXhp
Y2FsX2Vudmlyb25tZW50KTsKICAgICAgICAgfQogCisgICAgICAgIGNhc2Ugb3BfcHVzaF93aXRo
X3Njb3BlOiB7CisgICAgICAgICAgICBOb2RlKiBzY29wZU9iamVjdCA9IGdldChWaXJ0dWFsUmVn
aXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAgICAgICAgICAgTm9k
ZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
M10udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKFB1c2hXaXRoU2NvcGUsIHNjb3Bl
T2JqZWN0LCBjdXJyZW50U2NvcGUpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX3B1c2hf
d2l0aF9zY29wZSk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIG9wX2dldF9wYXJlbnRfc2Nv
cGU6IHsKICAgICAgICAgICAgIE5vZGUqIGN1cnJlbnRTY29wZSA9IGdldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAgICAgICAgTm9kZSog
bmV3U2NvcGUgPSBhZGRUb0dyYXBoKFNraXBTY29wZSwgY3VycmVudFNjb3BlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBkY2NhOTI3MDI2
NWMwMjg1OTRmNDVkODEzNjllYzQwNTJmYzg5NWUwLi5iYzU1NjNkYzVhNWUyNzBkM2Q0OGRlMWRm
YmFlNTI4NTc3NDA5YzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxp
dHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMK
ICAgICBjYXNlIG9wX25ld19hc3luY19mdW5jX2V4cDoKICAgICBjYXNlIG9wX3NldF9mdW5jdGlv
bl9uYW1lOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisgICAgY2Fz
ZSBvcF9wdXNoX3dpdGhfc2NvcGU6CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50X3Njb3BlOgogICAg
IGNhc2Ugb3BfY2F0Y2g6CiAgICAgY2FzZSBvcF9jcmVhdGVfcmVzdDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggMTQyOWI3MjQ5MWYxMjI4NzhmNzJlNTBj
ZWRmZGI0NjZmZTMxNjZiNi4uNzBlOTcwOGQzYTZmZTc0OWQ4OWE5YjA3MmRjMjRhZTRlMDMxZWVk
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTQ3OCw3
ICs0NzgsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25z
dCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICB3cml0ZShIZWFwT2Jq
ZWN0Q291bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKwogICAgIGNhc2Ug
Q3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgog
ICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgpAQCAtNjA0LDYgKzYwNCw3IEBAIHZvaWQg
Y2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiBy
ZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBQdXREeW5hbWljVmFyOgogICAgIGNhc2UgUmVz
b2x2ZVNjb3BlRm9ySG9pc3RpbmdGdW5jRGVjbEluRXZhbDoKICAgICBjYXNlIFJlc29sdmVTY29w
ZToKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAgIHJlYWQoV29ybGQpOwogICAgICAg
ICB3cml0ZShIZWFwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb2VzR0MuY3BwCmluZGV4IDA1NzEwMzg4NmQyNTVmM2U3Mjc0ZTVhM2I5M2VhZTJiNjMzOGZm
MzguLjNhMjVkODdkZDQzM2M1NjJlODljZGE0ZTA0NWI4ZTU2ZWZiZjk3MDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTI3OSw2ICsyNzksNyBAQCBib29sIGRv
ZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBBdG9taWNzU3ViOgogICAg
IGNhc2UgQXRvbWljc1hvcjoKICAgICBjYXNlIEF0b21pY3NJc0xvY2tGcmVlOgorICAgIGNhc2Ug
UHVzaFdpdGhTY29wZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY2FzZSBDcmVhdGVB
Y3RpdmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
aW5kZXggZmM3ZDk5YWI0ZTI3YmUwZjUxZDFiOWFkYjg1Nzk4YjlkNzY5YWY4MS4uN2JlZTkzZGIz
MTJmYjY2YmU0ZDk2NDFlMzEyZGU4ZTNmNWVjZmY4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNzE3LDYgKzE3MTcsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBQdXNoV2l0aFNj
b3BlOiB7CisgICAgICAgICAgICAvLyBDaGlsZDIgaXMgYWx3YXlzIHRoZSBjdXJyZW50IHNjb3Bl
LCB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGFuIG9iamVjdC4KKyAgICAgICAgICAgIGZpeEVk
Z2U8S25vd25DZWxsVXNlPihub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCiAgICAgICAgIGNhc2UgU2V0RnVuY3Rpb25OYW1lOiB7CiAgICAgICAgICAgICAv
LyBUaGUgZmlyc3QgY2hpbGQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGNlbGwgYmVjYXVzZSBvcF9z
ZXRfZnVuY3Rpb25fbmFtZSBpcyBvbmx5IHVzZWQKICAgICAgICAgICAgIC8vIG9uIGEgbmV3bHkg
aW5zdGFudGlhdGVkIGZ1bmN0aW9uIG9iamVjdCAodGhlIGZpcnN0IGNoaWxkKS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCAwNjEzYWRjYzAwYWY5ZGM1OTljNmU5
NzA1NzlkNDk5MWIyM2E3ODM4Li40OGFiYzUzZDNiZGQzMjg1M2FlNDFkZDFmZDhiY2RjMjllMzJh
ODYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0zNTksNiAr
MzU5LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKEhhc093
blByb3BlcnR5LCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIFwKICAgICBtYWNybyhDcmVhdGVB
Y3RpdmF0aW9uLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNybyhQdXNoV2l0aFNjb3BlLCBOb2Rl
UmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgXAogICAgIG1hY3JvKENyZWF0ZURp
cmVjdEFyZ3VtZW50cywgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUGhhbnRvbURpcmVjdEFy
Z3VtZW50cywgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcAppbmRleCBhOGJmMmU4NmY3ZmEzYzljNjFjZDk3MWI2YjU1MGE1YWZhMTg4YmNiLi5l
M2UzNmM3OTQyM2Y5ZmI3ZDE5NDhhZTBjZGI0NGQyODYxZWQ1MjFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcApAQCAtODk1LDYgKzg5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAg
ICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOiB7CiAgICAgICAgICAgICBzZXRQcmVkaWN0aW9u
KFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggNTg4NWY5ZmYwODNiNjEyNDFlZGZl
NjE4YWQxYzliZDFhMGQzY2RhOC4uNGRmNDg0ZmVhNDkyNzlhMTcwZDUwMDg3M2IxYTYxNWQ0MTE2
YWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVj
dXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgK
QEAgLTI5NCw2ICsyOTQsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUm
IHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBNYWtlUm9wZToKICAg
ICBjYXNlIEluOgogICAgIGNhc2UgSGFzT3duUHJvcGVydHk6CisgICAgY2FzZSBQdXNoV2l0aFNj
b3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIENyZWF0ZURpcmVjdEFy
Z3VtZW50czoKICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMDhkNDMyOWY0MGVh
NzQ3NTk1N2Q2NWI5MGEwMWY1NDYzZmM5NzBjYy4uOGFjMjYyZDRjNzBhMWFlMjlmOTdkYmFlMjNk
MGFmYzI2OWUzNmY0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAKQEAgLTExMjQsNiArMTEyNCwyMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlRGVsZXRlQnlWYWwoTm9kZSogbm9kZSkKICAgICB1bmJsZXNzZWRCb29sZWFuUmVz
dWx0KHJlc3VsdEdQUiwgbm9kZSwgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsKIH0KIAor
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1c2hXaXRoU2NvcGUoTm9kZSogbm9kZSkKK3sK
KyAgICBKU1ZhbHVlT3BlcmFuZCBzY29wZU9iamVjdCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Cisg
ICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY3VycmVudFNjb3BlKHRoaXMsIG5vZGUtPmNoaWxkMigp
KTsKKyAgICBKU1ZhbHVlUmVncyBzY29wZU9iamVjdFJlZ3MgPSBzY29wZU9iamVjdC5qc1ZhbHVl
UmVncygpOworICAgIEdQUlJlZyBjdXJyZW50U2NvcGVHUFIgPSBjdXJyZW50U2NvcGUuZ3ByKCk7
CisKKyAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKKyAgICAKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUHVzaFdpdGhTY29wZSwgcmVzdWx0R1BSLCBjdXJyZW50
U2NvcGVHUFIsIHNjb3BlT2JqZWN0UmVncyk7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsK
KyAgICAKKyAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7Cit9CisKIGJvb2wgU3BlY3Vs
YXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlQ29tcGFyZShOb2RlKiBub2RlLCBNYWNyb0Fzc2VtYmxl
cjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBTX0pJVE9wZXJhdGlvbl9FSkogaGVscGVyRnVu
Y3Rpb24pCiB7CiAgICAgdW5zaWduZWQgYnJhbmNoSW5kZXhJbkJsb2NrID0gZGV0ZWN0UGVlcEhv
bGVCcmFuY2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAppbmRleCAzZjE2YjQ1ZjU2MTZkODExNzVhYjk2MTdkZWU3ZTNhMWMzY2UwNjBmLi5mM2E1
ZmRkNTA5ZjljOWUwYWNiZjdhMzNhMzFiYjk5YWE0ZjgxNTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC03NDQsNiArNzQ0LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlRGVsZXRlQnlWYWwoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVB1c2hXaXRoU2NvcGUoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZVRyeUdldEJ5SWQoTm9kZSopOwogICAgIHZvaWQgY29tcGls
ZUluKE5vZGUqKTsKICAgICAKQEAgLTEzOTAsNiArMTM5MSwxMSBAQCBwdWJsaWM6CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAg
IH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VD
SiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcy
KQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzIuZ3ByKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRUpNaWMgb3BlcmF0aW9uLCBKU1ZhbHVlUmVncyByZXN1bHQsIEpTVmFs
dWVSZWdzIGFyZywgVHJ1c3RlZEltbVB0ciBtYXRoSUMpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnLmdwcigpLCBtYXRoSUMpOwpAQCAtMTkzOSw2
ICsxOTQ1LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpLCBhcmczKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAg
IH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VD
SiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcy
KQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpKTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KICAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKTWljIG9wZXJhdGlvbiwgSlNW
YWx1ZVJlZ3MgcmVzdWx0LCBKU1ZhbHVlUmVncyBhcmcsIFRydXN0ZWRJbW1QdHIgbWF0aElDKQog
ICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJC
SVRfRFVNTVlfQVJHIGFyZy5wYXlsb2FkR1BSKCksIGFyZy50YWdHUFIoKSwgbWF0aElDKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCmluZGV4IDAxNzQ3M2NlNWJiNzlmOTVlN2ZiODMxY2I3NzJjZjA5NThhYmI3YzcuLjA3YmQw
ZDA4MDI3NzI2NDY2OWNkZTIzODE5NTc5MDU1YWEwOGRlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNTAxNyw2
ICs1MDE3LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgY29tcGlsZUNyZWF0ZUFjdGl2YXRpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KKworICAgIGNhc2UgUHVzaFdpdGhTY29wZTogeworICAgICAgICBjb21waWxlUHVzaFdpdGhT
Y29wZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgICAgICAKICAgICBjYXNlIENy
ZWF0ZURpcmVjdEFyZ3VtZW50czogewogICAgICAgICBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1l
bnRzKG5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKaW5kZXggYTYzNjFkMWZhZDBmYzM4NzkxMzVlYjFiNzM5MWI5ZWJlYjViODE1
YS4uNzI0MTRlN2Y0MmM2OGE0ZWI0OWM5NjBjMWQ3NGI5ZGNmZDVlMWI1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC01NDI1
LDcgKzU0MjUsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQog
ICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQotICAgICAgICAKKyAgICAKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6IHsKKyAgICAgICAg
Y29tcGlsZVB1c2hXaXRoU2NvcGUobm9kZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAg
IGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOiB7CiAgICAgICAgIGNvbXBpbGVDcmVhdGVEaXJl
Y3RBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggZjM5NjZiZGRkOTI3NDk2NWNhNTdjNjI1NmY4
NmFiZjRjMTk2OTQwYS4uNmJlZWQ1NmQzY2U5MWEyYTQyM2NmMWY4OGUyZmU2Y2IyNjA4YTgyNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC01Nyw2
ICs1Nyw3IEBACiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIgorI2luY2x1ZGUgIkpTV2l0aFNjb3BlLmgiCiAjaW5jbHVkZSAiTW9kdWxlUHJvZ3Jh
bUNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVjdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
UG9seW1vcnBoaWNBY2Nlc3MuaCIKQEAgLTE5OTUsNiArMTk5NiwyMCBAQCBzaXplX3QgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZQogICAgIHJldHVybiBjb3VsZERlbGV0ZTsKIH0KIAorSlNDZWxsKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1c2hXaXRoU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGN1
cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVlIHNjb3BlT2JqZWN0VmFsdWUpCit7CisgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisg
ICAgSlNPYmplY3QqIG5ld1Njb3BlID0gSlNWYWx1ZTo6ZGVjb2RlKHNjb3BlT2JqZWN0VmFsdWUp
LnRvT2JqZWN0KGV4ZWMpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIp
OworCisgICAgSlNTY29wZSogY3VycmVudFNjb3BlID0ganNDYXN0PEpTU2NvcGUqPihjdXJyZW50
U2NvcGVDZWxsKTsKKworICAgIHJldHVybiBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIG5ld1Njb3BlLCBjdXJyZW50U2NvcGUpOworfQorCiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRQ
cm90bykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBkNGY4NTZhYTc1NjFjNjFmYTk4YjFkNWM4MzI3N2M3
ZjFmNGVmZjc3Li4yYmM0YmZlODk5ODM0MTFlOWY2NGE0M2YyODM2NjY4NjJmZTI5YmMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMjEyLDYgKzIxMiw3
IEBAIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRVN0Wlop
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGluCiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJ
T04gKkNfSklUT3BlcmF0aW9uX0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgSlND
ZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUpzY0kpKEV4ZWNTdGF0ZSosIEpT
U2NvcGUqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFU
SU9OICpDX0pJVE9wZXJhdGlvbl9FQ0paKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNW
YWx1ZSwgaW50MzJfdCk7Cit0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3Bl
cmF0aW9uX0VDSikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRl
ZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0aW9uX0QpKGRvdWJsZSk7CiB0eXBl
ZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRykoSlNHbG9iYWxPYmpl
Y3QqKTsKIHR5cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJhdGlvbl9ERCko
ZG91YmxlLCBkb3VibGUpOwpAQCAtNDE4LDYgKzQxOSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlJZEpTUmVzdWx0KEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhCiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbEpTUmVzdWx0
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIEVuY29kZWRKU1ZhbHVlIHRhcmdldCkg
V1RGX0lOVEVSTkFMOwogc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlWYWwo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0KSBX
VEZfSU5URVJOQUw7CitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHVzaFdpdGhTY29w
ZShFeGVjU3RhdGUqLCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVlIHNj
b3BlT2JqZWN0KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVGcmFtZUZvckZvcndhcmRBcmd1bWVudHMoRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUgYXJndW1lbnRzLCBpbnQzMl90IG51bVVzZWRTdGFja1Nsb3Rz
LCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ2OTdkODc3NTcyNmFk
MmY3Mzg1OGE4MDdhNTMzZTJlNmRiNGUwODIuLjAxM2JiYzZjMWZhMjRhMzc1YzMxZmUzMzgxZjEz
YmNiYzFkZWU0MzEgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgtMTQgIFJvYmluIE1vcmlzc2V0ICA8
cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IHRoZSB3aXRoIGtleXdvcmQg
aW4gREZHCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzU0NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBhIG5ldyBzdHJlc3MtdGVzdCBmb3IgdGhlICd3aXRoJyBrZXl3b3JkLCBzaW5jZSBpdCB3
YXMgcHJldmlvdXNseQorICAgICAgICBvbmx5IHRlc3RlZCBpbiBDaGFrcmFDb3JlLgorCisgICAg
ICAgICogc3RyZXNzL3dpdGguanM6IEFkZGVkLgorICAgICAgICAoaS53aXRoKToKKwogMjAxNy0w
OC0wOSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEVhcmx5
IGVycm9yIG9uIEFOWSBvcGVyYXRvciBiZWZvcmUgbmV3LnRhcmdldApkaWZmIC0tZ2l0IGEvSlNU
ZXN0cy9zdHJlc3Mvd2l0aC5qcyBiL0pTVGVzdHMvc3RyZXNzL3dpdGguanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWQ4YzI5Mzc3ZmU0ZGM1MDBhNmNkMmUzNDM5NzIyNjAxNTgzZmY2NQotLS0gL2Rldi9udWxsCisr
KyBiL0pTVGVzdHMvc3RyZXNzL3dpdGguanMKQEAgLTAsMCArMSwzNiBAQAorZm9yICh2YXIgaSA9
IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgdmFyIHggPSAxOworICAgIHZhciB5ID0gMjsKKwor
ICAgIHZhciB6ID0ge2E6IDQyfTsKKyAgICB3aXRoICh6KSB7CisgICAgICAgIHggPSB5OworICAg
IH0KKyAgICBpZiAoeCAhPT0gMiB8fCB5ICE9PSAyIHx8IHouYSAhPT0gNDIpIHsKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCBmaXJzdCBjYXNlLCBmb3IgaSA9ICIgKyBpOworICAg
IH0KKworICAgIHogPSB7eTogNDJ9CisgICAgd2l0aCAoeikgeworICAgICAgICB4ID0geTsKKyAg
ICB9CisgICAgaWYgKHggIT09IDQyIHx8IHkgIT09IDIgfHwgei55ICE9PSA0MikgeworICAgICAg
ICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQsIHNlY29uZCBjYXNlLCBmb3IgaSA9ICIgKyBpOwor
ICAgIH0KKworICAgIHogPSB7eDogMTN9OworICAgIHdpdGggKHopIHsKKyAgICAgICAgeCA9IHk7
CisgICAgfQorICAgIGlmICh4ICE9PSA0MiB8fCB5ICE9PSAyIHx8IHoueCAhPT0gMikgeworICAg
ICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQsIHRoaXJkIGNhc2UsIGZvciBpID0gIiArIGk7
CisgICAgfQorCisgICAgeiA9IHt4OjEzLCB5OjE0fTsKKyAgICB3aXRoICh6KSB7CisgICAgICAg
IHggPSB5OworICAgIH0KKyAgICBpZiAoeCAhPT0gNDIgfHwgeSAhPT0gMiB8fCB6LnggIT09IDE0
IHx8IHoueSAhPT0gMTQpIHsKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCBmb3Vy
dGggY2FzZSwgZm9yIGkgPSAiICsgaTsKKyAgICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318077</attachid>
            <date>2017-08-14 15:49:12 -0700</date>
            <delta_ts>2017-08-14 16:37:10 -0700</delta_ts>
            <desc>Patch with fixed Changelog, comment and setType</desc>
            <filename>bug-175470-20170814154911.patch</filename>
            <type>text/plain</type>
            <size>17479</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwNzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
ZWExOWYzZDVkYWUyNWI3ZDQ0MTZlMjc4OTQwYWJiNjU2MjhiMDU2Li5jMDM3ZTA5NjZjNTdmNTZk
MDhiMmFkMGU5NGIwNDY2NzUyMzUxMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxNy0wOC0xMCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUu
Y29tPgorCisgICAgICAgIFN1cHBvcnQgdGhlICd3aXRoJyBrZXl3b3JkIGluIERGRworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDcwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90IHBhcnRpY3VsYXJs
eSBvcHRpbWl6ZWQgYXQgdGhlIG1vbWVudCwgdGhlIGdvYWwgaXMganVzdCB0byBhdm9pZAorICAg
ICAgICB0aGUgREZHIGJhaWxpbmcgb3V0IG9mIGFueSBmdW5jdGlvbiB3aXRoIHRoaXMga2V5d29y
ZC4KKworICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAg
ICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+Ojpl
eGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICog
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxl
dmVsKToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6
OmNsb2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlND
OjpERkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05v
ZGVUeXBlLmg6CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cDoKKyAgICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6
OnNhZmVUb0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXNoV2l0aFNjb3BlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVRPcGVy
YXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorCiAyMDE3LTA4LTE0
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBHYXJkZW5pbmc6IGZp
eCBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IGI5M2RlYmM5MmNiMmUyNWNi
Y2RkMWVlZWU0NjkxYWQ3MWViYzc4NzYuLjUxZjNkN2U5Y2Q3NzljNDA5MzQzOWM1YzMyNTVhNzBm
ZTQyZTIxNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTIwNjIsNiArMjA2MiwxMyBAQCBib29s
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1
bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIFB1
c2hXaXRoU2NvcGU6CisgICAgICAgIGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50aWMs
IGNsb2JiZXJMaW1pdCk7CisKKyAgICAgICAgLy8gV2UgZG9uJ3QgdXNlIHRoZSBtb3JlIHByZWNp
c2Ugd2l0aFNjb3BlU3RydWN0dXJlKCkgaGVyZSBiZWNhdXNlIGl0IGlzIGEgTGF6eVByb3BlcnR5
IGFuZCBtYXkgbm90IHlldCBiZSBhbGxvY2F0ZWQuCisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0
VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0T3RoZXIpOworICAgICAgICBicmVhazsKKwogICAgIGNh
c2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIE1hdGVyaWFsaXplQ3JlYXRlQWN0aXZhdGlv
bjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGI2OGI1YWYwYWU4NjFmNTVhZmFlYTE5
YWVjYzc4OGM5MDkzZGNiZTEuLjk1ZWJlODZhM2M3NjIyNTM3OTNjZjRhYWFkNDg0MzhhZmI1ZDEw
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCkBAIC01NjM5LDYgKzU2MzksMTMgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9j
ayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2NyZWF0ZV9sZXhp
Y2FsX2Vudmlyb25tZW50KTsKICAgICAgICAgfQogCisgICAgICAgIGNhc2Ugb3BfcHVzaF93aXRo
X3Njb3BlOiB7CisgICAgICAgICAgICBOb2RlKiBzY29wZU9iamVjdCA9IGdldChWaXJ0dWFsUmVn
aXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAgICAgICAgICAgTm9k
ZSogY3VycmVudFNjb3BlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
M10udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKFB1c2hXaXRoU2NvcGUsIHNjb3Bl
T2JqZWN0LCBjdXJyZW50U2NvcGUpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX3B1c2hf
d2l0aF9zY29wZSk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIG9wX2dldF9wYXJlbnRfc2Nv
cGU6IHsKICAgICAgICAgICAgIE5vZGUqIGN1cnJlbnRTY29wZSA9IGdldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwogICAgICAgICAgICAgTm9kZSog
bmV3U2NvcGUgPSBhZGRUb0dyYXBoKFNraXBTY29wZSwgY3VycmVudFNjb3BlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBkY2NhOTI3MDI2
NWMwMjg1OTRmNDVkODEzNjllYzQwNTJmYzg5NWUwLi5iYzU1NjNkYzVhNWUyNzBkM2Q0OGRlMWRm
YmFlNTI4NTc3NDA5YzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxp
dHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMK
ICAgICBjYXNlIG9wX25ld19hc3luY19mdW5jX2V4cDoKICAgICBjYXNlIG9wX3NldF9mdW5jdGlv
bl9uYW1lOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisgICAgY2Fz
ZSBvcF9wdXNoX3dpdGhfc2NvcGU6CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50X3Njb3BlOgogICAg
IGNhc2Ugb3BfY2F0Y2g6CiAgICAgY2FzZSBvcF9jcmVhdGVfcmVzdDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggMTQyOWI3MjQ5MWYxMjI4NzhmNzJlNTBj
ZWRmZGI0NjZmZTMxNjZiNi4uNzBlOTcwOGQzYTZmZTc0OWQ4OWE5YjA3MmRjMjRhZTRlMDMxZWVk
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTQ3OCw3
ICs0NzgsNyBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25z
dCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICB3cml0ZShIZWFwT2Jq
ZWN0Q291bnQpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgICAgICAKKwogICAgIGNhc2Ug
Q3JlYXRlRGlyZWN0QXJndW1lbnRzOgogICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgog
ICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgpAQCAtNjA0LDYgKzYwNCw3IEBAIHZvaWQg
Y2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiBy
ZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgY2FzZSBQdXREeW5hbWljVmFyOgogICAgIGNhc2UgUmVz
b2x2ZVNjb3BlRm9ySG9pc3RpbmdGdW5jRGVjbEluRXZhbDoKICAgICBjYXNlIFJlc29sdmVTY29w
ZToKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6CiAgICAgICAgIHJlYWQoV29ybGQpOwogICAgICAg
ICB3cml0ZShIZWFwKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb2VzR0MuY3BwCmluZGV4IDA1NzEwMzg4NmQyNTVmM2U3Mjc0ZTVhM2I5M2VhZTJiNjMzOGZm
MzguLjNhMjVkODdkZDQzM2M1NjJlODljZGE0ZTA0NWI4ZTU2ZWZiZjk3MDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTI3OSw2ICsyNzksNyBAQCBib29sIGRv
ZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBBdG9taWNzU3ViOgogICAg
IGNhc2UgQXRvbWljc1hvcjoKICAgICBjYXNlIEF0b21pY3NJc0xvY2tGcmVlOgorICAgIGNhc2Ug
UHVzaFdpdGhTY29wZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY2FzZSBDcmVhdGVB
Y3RpdmF0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
aW5kZXggZmM3ZDk5YWI0ZTI3YmUwZjUxZDFiOWFkYjg1Nzk4YjlkNzY5YWY4MS4uN2JlZTkzZGIz
MTJmYjY2YmU0ZDk2NDFlMzEyZGU4ZTNmNWVjZmY4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xNzE3LDYgKzE3MTcsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBQdXNoV2l0aFNj
b3BlOiB7CisgICAgICAgICAgICAvLyBDaGlsZDIgaXMgYWx3YXlzIHRoZSBjdXJyZW50IHNjb3Bl
LCB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGFuIG9iamVjdC4KKyAgICAgICAgICAgIGZpeEVk
Z2U8S25vd25DZWxsVXNlPihub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCiAgICAgICAgIGNhc2UgU2V0RnVuY3Rpb25OYW1lOiB7CiAgICAgICAgICAgICAv
LyBUaGUgZmlyc3QgY2hpbGQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGNlbGwgYmVjYXVzZSBvcF9z
ZXRfZnVuY3Rpb25fbmFtZSBpcyBvbmx5IHVzZWQKICAgICAgICAgICAgIC8vIG9uIGEgbmV3bHkg
aW5zdGFudGlhdGVkIGZ1bmN0aW9uIG9iamVjdCAodGhlIGZpcnN0IGNoaWxkKS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCAwNjEzYWRjYzAwYWY5ZGM1OTljNmU5
NzA1NzlkNDk5MWIyM2E3ODM4Li40OGFiYzUzZDNiZGQzMjg1M2FlNDFkZDFmZDhiY2RjMjllMzJh
ODYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0zNTksNiAr
MzU5LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKEhhc093
blByb3BlcnR5LCBOb2RlUmVzdWx0Qm9vbGVhbikgXAogICAgIFwKICAgICBtYWNybyhDcmVhdGVB
Y3RpdmF0aW9uLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNybyhQdXNoV2l0aFNjb3BlLCBOb2Rl
UmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgXAogICAgIG1hY3JvKENyZWF0ZURp
cmVjdEFyZ3VtZW50cywgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oUGhhbnRvbURpcmVjdEFy
Z3VtZW50cywgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcAppbmRleCBhOGJmMmU4NmY3ZmEzYzljNjFjZDk3MWI2YjU1MGE1YWZhMTg4YmNiLi5l
M2UzNmM3OTQyM2Y5ZmI3ZDE5NDhhZTBjZGI0NGQyODYxZWQ1MjFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcApAQCAtODk1LDYgKzg5NSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgIGNhc2UgUHVzaFdpdGhTY29wZToKICAg
ICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOiB7CiAgICAgICAgICAgICBzZXRQcmVkaWN0aW9u
KFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggNTg4NWY5ZmYwODNiNjEyNDFlZGZl
NjE4YWQxYzliZDFhMGQzY2RhOC4uNGRmNDg0ZmVhNDkyNzlhMTcwZDUwMDg3M2IxYTYxNWQ0MTE2
YWE2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVj
dXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgK
QEAgLTI5NCw2ICsyOTQsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUm
IHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBNYWtlUm9wZToKICAg
ICBjYXNlIEluOgogICAgIGNhc2UgSGFzT3duUHJvcGVydHk6CisgICAgY2FzZSBQdXNoV2l0aFNj
b3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICBjYXNlIENyZWF0ZURpcmVjdEFy
Z3VtZW50czoKICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMDhkNDMyOWY0MGVh
NzQ3NTk1N2Q2NWI5MGEwMWY1NDYzZmM5NzBjYy4uOGFjMjYyZDRjNzBhMWFlMjlmOTdkYmFlMjNk
MGFmYzI2OWUzNmY0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAKQEAgLTExMjQsNiArMTEyNCwyMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlRGVsZXRlQnlWYWwoTm9kZSogbm9kZSkKICAgICB1bmJsZXNzZWRCb29sZWFuUmVz
dWx0KHJlc3VsdEdQUiwgbm9kZSwgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsKIH0KIAor
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1c2hXaXRoU2NvcGUoTm9kZSogbm9kZSkKK3sK
KyAgICBKU1ZhbHVlT3BlcmFuZCBzY29wZU9iamVjdCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Cisg
ICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY3VycmVudFNjb3BlKHRoaXMsIG5vZGUtPmNoaWxkMigp
KTsKKyAgICBKU1ZhbHVlUmVncyBzY29wZU9iamVjdFJlZ3MgPSBzY29wZU9iamVjdC5qc1ZhbHVl
UmVncygpOworICAgIEdQUlJlZyBjdXJyZW50U2NvcGVHUFIgPSBjdXJyZW50U2NvcGUuZ3ByKCk7
CisKKyAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKKyAgICAKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUHVzaFdpdGhTY29wZSwgcmVzdWx0R1BSLCBjdXJyZW50
U2NvcGVHUFIsIHNjb3BlT2JqZWN0UmVncyk7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsK
KyAgICAKKyAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7Cit9CisKIGJvb2wgU3BlY3Vs
YXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlQ29tcGFyZShOb2RlKiBub2RlLCBNYWNyb0Fzc2VtYmxl
cjo6UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBTX0pJVE9wZXJhdGlvbl9FSkogaGVscGVyRnVu
Y3Rpb24pCiB7CiAgICAgdW5zaWduZWQgYnJhbmNoSW5kZXhJbkJsb2NrID0gZGV0ZWN0UGVlcEhv
bGVCcmFuY2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAppbmRleCAzZjE2YjQ1ZjU2MTZkODExNzVhYjk2MTdkZWU3ZTNhMWMzY2UwNjBmLi5mM2E1
ZmRkNTA5ZjljOWUwYWNiZjdhMzNhMzFiYjk5YWE0ZjgxNTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC03NDQsNiArNzQ0LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlRGVsZXRlQnlWYWwoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVB1c2hXaXRoU2NvcGUoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZVRyeUdldEJ5SWQoTm9kZSopOwogICAgIHZvaWQgY29tcGls
ZUluKE5vZGUqKTsKICAgICAKQEAgLTEzOTAsNiArMTM5MSwxMSBAQCBwdWJsaWM6CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAg
IH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VD
SiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcy
KQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzIuZ3ByKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRUpNaWMgb3BlcmF0aW9uLCBKU1ZhbHVlUmVncyByZXN1bHQsIEpTVmFs
dWVSZWdzIGFyZywgVHJ1c3RlZEltbVB0ciBtYXRoSUMpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnLmdwcigpLCBtYXRoSUMpOwpAQCAtMTkzOSw2
ICsxOTQ1LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKGFyZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpLCBhcmczKTsKICAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAg
IH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VD
SiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcy
KQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpKTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KICAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKTWljIG9wZXJhdGlvbiwgSlNW
YWx1ZVJlZ3MgcmVzdWx0LCBKU1ZhbHVlUmVncyBhcmcsIFRydXN0ZWRJbW1QdHIgbWF0aElDKQog
ICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJC
SVRfRFVNTVlfQVJHIGFyZy5wYXlsb2FkR1BSKCksIGFyZy50YWdHUFIoKSwgbWF0aElDKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCmluZGV4IDAxNzQ3M2NlNWJiNzlmOTVlN2ZiODMxY2I3NzJjZjA5NThhYmI3YzcuLjA3YmQw
ZDA4MDI3NzI2NDY2OWNkZTIzODE5NTc5MDU1YWEwOGRlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNTAxNyw2
ICs1MDE3LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgY29tcGlsZUNyZWF0ZUFjdGl2YXRpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KKworICAgIGNhc2UgUHVzaFdpdGhTY29wZTogeworICAgICAgICBjb21waWxlUHVzaFdpdGhT
Y29wZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgICAgICAKICAgICBjYXNlIENy
ZWF0ZURpcmVjdEFyZ3VtZW50czogewogICAgICAgICBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1l
bnRzKG5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKaW5kZXggYTYzNjFkMWZhZDBmYzM4NzkxMzVlYjFiNzM5MWI5ZWJlYjViODE1
YS4uNzI0MTRlN2Y0MmM2OGE0ZWI0OWM5NjBjMWQ3NGI5ZGNmZDVlMWI1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC01NDI1
LDcgKzU0MjUsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQog
ICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQotICAgICAgICAKKyAgICAKKyAgICBjYXNlIFB1c2hXaXRoU2NvcGU6IHsKKyAgICAgICAg
Y29tcGlsZVB1c2hXaXRoU2NvcGUobm9kZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKwogICAg
IGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOiB7CiAgICAgICAgIGNvbXBpbGVDcmVhdGVEaXJl
Y3RBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggZjM5NjZiZGRkOTI3NDk2NWNhNTdjNjI1NmY4
NmFiZjRjMTk2OTQwYS4uNmJlZWQ1NmQzY2U5MWEyYTQyM2NmMWY4OGUyZmU2Y2IyNjA4YTgyNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC01Nyw2
ICs1Nyw3IEBACiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIgorI2luY2x1ZGUgIkpTV2l0aFNjb3BlLmgiCiAjaW5jbHVkZSAiTW9kdWxlUHJvZ3Jh
bUNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVjdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
UG9seW1vcnBoaWNBY2Nlc3MuaCIKQEAgLTE5OTUsNiArMTk5NiwyMCBAQCBzaXplX3QgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZQogICAgIHJldHVybiBjb3VsZERlbGV0ZTsKIH0KIAorSlNDZWxsKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1c2hXaXRoU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGN1
cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVlIHNjb3BlT2JqZWN0VmFsdWUpCit7CisgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisg
ICAgSlNPYmplY3QqIG5ld1Njb3BlID0gSlNWYWx1ZTo6ZGVjb2RlKHNjb3BlT2JqZWN0VmFsdWUp
LnRvT2JqZWN0KGV4ZWMpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIp
OworCisgICAgSlNTY29wZSogY3VycmVudFNjb3BlID0ganNDYXN0PEpTU2NvcGUqPihjdXJyZW50
U2NvcGVDZWxsKTsKKworICAgIHJldHVybiBKU1dpdGhTY29wZTo6Y3JlYXRlKHZtLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIG5ld1Njb3BlLCBjdXJyZW50U2NvcGUpOworfQorCiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRQ
cm90bykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBkNGY4NTZhYTc1NjFjNjFmYTk4YjFkNWM4MzI3N2M3
ZjFmNGVmZjc3Li4yYmM0YmZlODk5ODM0MTFlOWY2NGE0M2YyODM2NjY4NjJmZTI5YmMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMjEyLDYgKzIxMiw3
IEBAIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRVN0Wlop
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIGluCiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJ
T04gKkNfSklUT3BlcmF0aW9uX0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgSlND
ZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUpzY0kpKEV4ZWNTdGF0ZSosIEpT
U2NvcGUqLCBVbmlxdWVkU3RyaW5nSW1wbCopOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFU
SU9OICpDX0pJVE9wZXJhdGlvbl9FQ0paKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNW
YWx1ZSwgaW50MzJfdCk7Cit0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3Bl
cmF0aW9uX0VDSikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRl
ZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0aW9uX0QpKGRvdWJsZSk7CiB0eXBl
ZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRpb25fRykoSlNHbG9iYWxPYmpl
Y3QqKTsKIHR5cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJhdGlvbl9ERCko
ZG91YmxlLCBkb3VibGUpOwpAQCAtNDE4LDYgKzQxOSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlJZEpTUmVzdWx0KEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhCiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbEpTUmVzdWx0
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIEVuY29kZWRKU1ZhbHVlIHRhcmdldCkg
V1RGX0lOVEVSTkFMOwogc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlWYWwo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0KSBX
VEZfSU5URVJOQUw7CitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHVzaFdpdGhTY29w
ZShFeGVjU3RhdGUqLCBKU0NlbGwqIGN1cnJlbnRTY29wZUNlbGwsIEVuY29kZWRKU1ZhbHVlIHNj
b3BlT2JqZWN0KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVGcmFtZUZvckZvcndhcmRBcmd1bWVudHMoRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUgYXJndW1lbnRzLCBpbnQzMl90IG51bVVzZWRTdGFja1Nsb3Rz
LCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9K
U1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ2OTdkODc3NTcyNmFk
MmY3Mzg1OGE4MDdhNTMzZTJlNmRiNGUwODIuLmZlYTJhOTM0ODIzYjczNzhmNWYzOTA0MzkwZDA1
ODZiY2U5YmNkMzAgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgtMTQgIFJvYmluIE1vcmlzc2V0ICA8
cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IHRoZSB3aXRoIGtleXdvcmQg
aW4gREZHCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzU0NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBhIG5ldyBzdHJlc3MtdGVzdCBmb3IgdGhlICd3aXRoJyBrZXl3b3JkLCB0aGF0IGNhdWdo
dCBhIGJ1ZyBpbiBhCisgICAgICAgIHByZXZpb3VzIHZlcnNpb24gb2YgdGhpcyBjb2RlLgorCisg
ICAgICAgICogc3RyZXNzL3dpdGguanM6IEFkZGVkLgorICAgICAgICAoaS53aXRoKToKKwogMjAx
Ny0wOC0wOSAgQ2FpdGxpbiBQb3R0ZXIgIDxjYWl0cEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEVh
cmx5IGVycm9yIG9uIEFOWSBvcGVyYXRvciBiZWZvcmUgbmV3LnRhcmdldApkaWZmIC0tZ2l0IGEv
SlNUZXN0cy9zdHJlc3Mvd2l0aC5qcyBiL0pTVGVzdHMvc3RyZXNzL3dpdGguanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWQ4YzI5Mzc3ZmU0ZGM1MDBhNmNkMmUzNDM5NzIyNjAxNTgzZmY2NQotLS0gL2Rldi9udWxs
CisrKyBiL0pTVGVzdHMvc3RyZXNzL3dpdGguanMKQEAgLTAsMCArMSwzNiBAQAorZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgdmFyIHggPSAxOworICAgIHZhciB5ID0gMjsK
KworICAgIHZhciB6ID0ge2E6IDQyfTsKKyAgICB3aXRoICh6KSB7CisgICAgICAgIHggPSB5Owor
ICAgIH0KKyAgICBpZiAoeCAhPT0gMiB8fCB5ICE9PSAyIHx8IHouYSAhPT0gNDIpIHsKKyAgICAg
ICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCBmaXJzdCBjYXNlLCBmb3IgaSA9ICIgKyBpOwor
ICAgIH0KKworICAgIHogPSB7eTogNDJ9CisgICAgd2l0aCAoeikgeworICAgICAgICB4ID0geTsK
KyAgICB9CisgICAgaWYgKHggIT09IDQyIHx8IHkgIT09IDIgfHwgei55ICE9PSA0MikgeworICAg
ICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQsIHNlY29uZCBjYXNlLCBmb3IgaSA9ICIgKyBp
OworICAgIH0KKworICAgIHogPSB7eDogMTN9OworICAgIHdpdGggKHopIHsKKyAgICAgICAgeCA9
IHk7CisgICAgfQorICAgIGlmICh4ICE9PSA0MiB8fCB5ICE9PSAyIHx8IHoueCAhPT0gMikgewor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQsIHRoaXJkIGNhc2UsIGZvciBpID0gIiAr
IGk7CisgICAgfQorCisgICAgeiA9IHt4OjEzLCB5OjE0fTsKKyAgICB3aXRoICh6KSB7CisgICAg
ICAgIHggPSB5OworICAgIH0KKyAgICBpZiAoeCAhPT0gNDIgfHwgeSAhPT0gMiB8fCB6LnggIT09
IDE0IHx8IHoueSAhPT0gMTQpIHsKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0LCBm
b3VydGggY2FzZSwgZm9yIGkgPSAiICsgaTsKKyAgICB9Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>