<?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>184582</bug_id>
          
          <creation_ts>2018-04-13 03:10:03 -0700</creation_ts>
          <short_desc>Add SetCallee as DFG-Operation</short_desc>
          <delta_ts>2018-05-01 08:43:17 -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="Dominik Inführ">dominik.infuehr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1414358</commentid>
    <comment_count>0</comment_count>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-13 03:10:03 -0700</bug_when>
    <thetext>Add SetCallee as DFG-Operation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414370</commentid>
    <comment_count>1</comment_count>
      <attachid>337878</attachid>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-13 04:34:04 -0700</bug_when>
    <thetext>Created attachment 337878
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414371</commentid>
    <comment_count>2</comment_count>
      <attachid>337879</attachid>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-13 04:40:19 -0700</bug_when>
    <thetext>Created attachment 337879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414372</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-04-13 04:43:07 -0700</bug_when>
    <thetext>Attachment 337879 did not pass style-queue:


ERROR: JSTests/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 19 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>1414383</commentid>
    <comment_count>4</comment_count>
      <attachid>337883</attachid>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-13 06:10:18 -0700</bug_when>
    <thetext>Created attachment 337883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414399</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-13 08:15:05 -0700</bug_when>
    <thetext>I know Robin was also working on exactly this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414402</commentid>
    <comment_count>6</comment_count>
      <attachid>337883</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-13 08:21:25 -0700</bug_when>
    <thetext>Comment on attachment 337883
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2455
&gt; +    case SetCallee:

Do we not model Callee is a variable?

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1399
&gt; +            addToGraph(SetCallee, OpInfo(bitwise_cast&lt;intptr_t&gt;(function)));

This doesn’t look completely right. You need to always do this if you’re looping back to the machine call frame (regardless of the variant being a constant value). Also, you need to do this anytime you loop back to an inline frame that has its callee in a stack slot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414403</commentid>
    <comment_count>7</comment_count>
      <attachid>337883</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-13 08:22:23 -0700</bug_when>
    <thetext>Comment on attachment 337883
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:2455
&gt;&gt; +    case SetCallee:
&gt; 
&gt; Do we not model Callee is a variable?

Ignore this. I see that we don’t for the machine frame. My guess is we do for inline frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414440</commentid>
    <comment_count>8</comment_count>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-13 09:30:55 -0700</bug_when>
    <thetext>I guess it should look like this?

addToGraph(SetCallee, OpInfo(bitwise_cast&lt;intptr_t&gt;(callVariant.function())));

if (stackEntry-&gt;m_inlineCallFrame)
    // update callee stack slot for inline frame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414467</commentid>
    <comment_count>9</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-13 10:42:24 -0700</bug_when>
    <thetext>(In reply to Dominik Inführ from comment #8)
&gt; I guess it should look like this?
&gt; 
&gt; addToGraph(SetCallee,
&gt; OpInfo(bitwise_cast&lt;intptr_t&gt;(callVariant.function())));
&gt; 
&gt; if (stackEntry-&gt;m_inlineCallFrame)
&gt;     // update callee stack slot for inline frame

Why is your call variant guaranteed to be a constant callee? That should the the case. What you want to do is express it in a normal data flow edge in the IR

Like:
a: Foo
b: SetCallee(SomeUse:@a)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415909</commentid>
    <comment_count>10</comment_count>
      <attachid>338321</attachid>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-19 06:50:11 -0700</bug_when>
    <thetext>Created attachment 338321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415911</commentid>
    <comment_count>11</comment_count>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-19 07:00:13 -0700</bug_when>
    <thetext>I&apos;ve now updated the patch. The callee is now set both for the inline call frame and the machine call frame using the callTargetNode.

I&apos;ve also added a check for the case when an inline call frame isn&apos;t a closure, in this case the callee is a constant and therefore can&apos;t be set/changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416256</commentid>
    <comment_count>12</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-20 07:47:06 -0700</bug_when>
    <thetext>I am not an official reviewer, so please wait for a review by someone more senior, but it looks good to me.

While reviewing your patch, I realized that the following lines:
```
// Currently we cannot do this optimisation for closures. The problem is that &quot;emitFunctionChecks&quot; which we use later is too coarse, only checking the executable
    // and not the value of captured variables.
    if (callVariant.isClosureCall())
        return false;
```
were wrong (not a source of crashes, but they disable the optimization in many cases for no good reason). The case I was trying to prevent was precisely the case where the callee needs to be changed (and I got it wrong, isClosureCall() does not do what I thought it would do).
You may either remove them in this patch, or I will make a separate patch that removes them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416327</commentid>
    <comment_count>13</comment_count>
      <attachid>338440</attachid>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-20 11:05:14 -0700</bug_when>
    <thetext>Created attachment 338440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416329</commentid>
    <comment_count>14</comment_count>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-20 11:09:59 -0700</bug_when>
    <thetext>Thanks for looking into the patch! I was actually wondering about that code but then forgot it... I&apos;ve now removed the check you mentioned, hope this is okay for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416331</commentid>
    <comment_count>15</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-20 11:13:10 -0700</bug_when>
    <thetext>R=me, based on Robin’s approval.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416428</commentid>
    <comment_count>16</comment_count>
      <attachid>338440</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-20 14:59:52 -0700</bug_when>
    <thetext>Comment on attachment 338440
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1402
&gt; +                setDirect(stackEntry-&gt;remapOperand(VirtualRegister(CallFrameSlot::callee)), callTargetNode, NormalSet);

Why setDirect here? Why not also emit that for the machine frame case instead of adding a SetCallee node?
Or is the SetCallee node needed for some reason?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416430</commentid>
    <comment_count>17</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-04-20 15:00:09 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #16)
&gt; Comment on attachment 338440 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=338440&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1402
&gt; &gt; +                setDirect(stackEntry-&gt;remapOperand(VirtualRegister(CallFrameSlot::callee)), callTargetNode, NormalSet);
&gt; 
&gt; Why setDirect here? Why not also emit that for the machine frame case
&gt; instead of adding a SetCallee node?
&gt; Or is the SetCallee node needed for some reason?

LGTM too in general. Just this one question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416830</commentid>
    <comment_count>18</comment_count>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-04-23 00:51:04 -0700</bug_when>
    <thetext>I&apos;ve added SetCallee based on the already exisiting node SetArgumentCountIncludingThis. We can&apos;t use SetDirect (at least in its current form) since it only handles setting arguments and locals. Setting the callee with setDirect, invokes setArgument which fails on the following assertion:

        unsigned argument = operand.toArgument();
        ASSERT(argument &lt; m_numArguments);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416856</commentid>
    <comment_count>19</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2018-04-23 06:02:34 -0700</bug_when>
    <thetext>*** Bug 180044 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419285</commentid>
    <comment_count>20</comment_count>
    <who name="Dominik Inführ">dominik.infuehr</who>
    <bug_when>2018-05-01 02:33:58 -0700</bug_when>
    <thetext>Hi, is there anything left for me to do such that the patch can be merged? I think I&apos;ve addressed Saam&apos;s question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419304</commentid>
    <comment_count>21</comment_count>
      <attachid>338440</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-01 08:42:16 -0700</bug_when>
    <thetext>Comment on attachment 338440
Patch

Clearing flags on attachment: 338440

Committed r231195: &lt;https://trac.webkit.org/changeset/231195&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419305</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-01 08:42:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419306</commentid>
    <comment_count>23</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-05-01 08:43:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/39866759&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337878</attachid>
            <date>2018-04-13 04:34:04 -0700</date>
            <delta_ts>2018-04-13 04:40:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184582-20180413133403.patch</filename>
            <type>text/plain</type>
            <size>13697</size>
            <attacher name="Dominik Inführ">dominik.infuehr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YzViNTRiM2U2MWE1ZDI1NGI4Y2RhYzhiZDliZjEwYmYxZjNjMzE0Li5kMDJiYTBkNjA2ZmNjNTky
YTljNDcxNDRmYTJjZWQ5YWRlYjEyYzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MSBAQAorMjAxOC0wNC0xMyAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlh
LmNvbT4KKworICAgICAgICBBZGQgU2V0Q2FsbGVlIGFzIERGRy1PcGVyYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciByZWN1cnNpdmUgdGFp
bCBjYWxscyBub3Qgb25seSB0aGUgYXJndW1lbnQgY291bnQgY2FuIGNoYW5nZSwKKyAgICAgICAg
YnV0IGFsc28gdGhlIGNhbGxlZS4gQWRkIFNldENhbGxlZS1vcGVyYXRpb24gdG8gREZHIHRoYXQg
c2V0cyB0aGUKKyAgICAgICAgY2FsbGVlIHNsb3QgaW4gdGhlIGN1cnJlbnQgY2FsbCBmcmFtZS4g
QWxzbyBlbWl0IFNldENhbGxlZSB3aGVuCisgICAgICAgIG9wdGltaXppbmcgZm9yIHJlY3Vyc2l2
ZSB0YWlsIGNhbGxzLgorCisgICAgICAgIEFsc28gYWRkZWQgYW4gdGVzdCBjYXNlIHRoYXQgcnVu
cyBpbnRvIGFuIGluZmluaXRlIGxvb3Agd2l0aG91dCB0aGlzCisgICAgICAgIHBhdGNoLgorCisK
KyAgICAgICAgKiBiMy9haXIvQWlyR2VuZXJhdGUuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWly
OjpnZW5lcmF0ZSk6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVz
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRl
VHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVSZWN1cnNpdmVU
YWlsQ2FsbCk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpkb2VzR0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9E
RkdNYXlFeGl0LmNwcDoKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpE
Rkc6Ok5vZGU6OmNhbGxlZSk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAg
ICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcv
REZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6OnNhZmVUb0V4ZWN1dGUpOgor
ICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTZXRDYWxsZWUpOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICog
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5v
ZGUpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlU2V0Q2Fs
bGVlKToKKwogMjAxOC0wNC0xMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggZm9yIDMyYml0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxp
bmVzLmgKaW5kZXggNmY4NTczNDBiMGY3OTQyMGE3MDM1ZTRkN2Q1OTExNjQ1MWQ2ZTIxNC4uOWVi
MTg4ZDM3ZTZhMTY5ZDZjNmJiOWQ5ODgwNmMyNzMyYTIwNDljYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aApAQCAtMjQ1Miw2ICsyNDUyLDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAg
Zm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNJbnQzMk9ubHkpOwogICAgICAgICBicmVhazsKIAor
ICAgIGNhc2UgU2V0Q2FsbGVlOgogICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggZDQzYTEwMzdkNTM4YWZlNDU0Nzk1NzQ1
NzU0NDI1NDIwMjJkYzE5NC4uOTNhZWY0NTA4OGYxMDQwYTFmNmE0MTE1MjNiNjRlZjQ5ZThlMmY5
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKQEAgLTEzOTQsNiArMTM5NCw5IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVJlY3Vy
c2l2ZVRhaWxDYWxsKENhbGxWYXJpYW50IGNhbGxWYXJpYW50LCBpbnQgcmVnaXN0CiAgICAgICAg
IC8vIFdlIGZsdXNoIGV2ZXJ5dGhpbmcsIGFzIGlmIHdlIHdlcmUgaW4gdGhlIGJhY2tlZGdlIG9m
IGEgbG9vcCAoc2VlIHRyZWF0bWVudCBvZiBvcF9qbXAgaW4gcGFyc2VCbG9jaykuCiAgICAgICAg
IGZsdXNoRm9yVGVybWluYWwoKTsKIAorICAgICAgICAvLyBXZSBtdXN0IHNldCB0aGUgY2FsbGVl
IHRvIHRoZSByaWdodCB2YWx1ZQorICAgICAgICBpZiAoSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBj
YWxsVmFyaWFudC5mdW5jdGlvbigpKQorICAgICAgICAgICAgYWRkVG9HcmFwaChTZXRDYWxsZWUs
IE9wSW5mbyhiaXR3aXNlX2Nhc3Q8aW50cHRyX3Q+KGZ1bmN0aW9uKSkpOwogICAgICAgICAvLyBX
ZSBtdXN0IHNldCB0aGUgYXJndW1lbnRzIHRvIHRoZSByaWdodCB2YWx1ZXMKICAgICAgICAgaWYg
KCFzdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZSkKICAgICAgICAgICAgIGFkZFRvR3JhcGgo
U2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIE9wSW5mbyhhcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRl
eCBkYWI0NTZlZDE1Njc2MWMzNTM0Mjg5MGNiNDJkMzMzZWVmM2RmMTU0Li40OWY4ZDE1MmE3YWNh
YmZjZGI4Nzc5NmVkNGIxYzQzOTAzMTFmN2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Nsb2JiZXJpemUuaApAQCAtNjkyLDYgKzY5MiwxMCBAQCB2b2lkIGNsb2JiZXJpemUoR3Jh
cGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3Jp
dGVGdQogICAgICAgICByZWFkKEFic3RyYWN0SGVhcChTdGFjaywgQ2FsbEZyYW1lU2xvdDo6Y2Fs
bGVlKSk7CiAgICAgICAgIGRlZihIZWFwTG9jYXRpb24oU3RhY2tMb2MsIEFic3RyYWN0SGVhcChT
dGFjaywgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSksIExhenlOb2RlKG5vZGUpKTsKICAgICAgICAg
cmV0dXJuOworCisgICAgY2FzZSBTZXRDYWxsZWU6CisgICAgICAgIHdyaXRlKEFic3RyYWN0SGVh
cChTdGFjaywgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSk7CisgICAgICAgIHJldHVybjsKICAgICAg
ICAgCiAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczogewogICAgICAgICBh
dXRvIGhlYXAgPSBBYnN0cmFjdEhlYXAoU3RhY2ssIHJlbWFwT3BlcmFuZChub2RlLT5hcmd1bWVu
dHNJbmxpbmVDYWxsRnJhbWUoKSwgVmlydHVhbFJlZ2lzdGVyKENhbGxGcmFtZVNsb3Q6OmFyZ3Vt
ZW50Q291bnQpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXgg
MzkwYjRlM2ExYmQyMmM3NTJkZGJmZTRiZWJlYTI2YTUyZWZhNzA4My4uODI4N2ZhYzA3YzRhNTNh
ZWI1MzIxZThmYmJmNTU0ODhlYjgzZmE4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcApAQCAtNTEsNiArNTEsNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5v
ZGUqIG5vZGUpCiAgICAgY2FzZSBJZGVudGl0eToKICAgICBjYXNlIElkZW50aXR5V2l0aFByb2Zp
bGU6CiAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBH
ZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzOgogICAgIGNhc2UgR2V0UmVzdExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDQ3ZDBlNjZiMzg2MDIxOTFlZGM3MDU0
YzYxOWQxYjZmNjEzMTNhYzYuLjdjZjM1ZDkzZTgwMTBiYzkzNWZlMmIzNDllMzg4ZmU2MTA4OWQ3
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAt
MjE0Miw2ICsyMTQyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBEb3VibGVDb25zdGFudDoK
ICAgICAgICAgY2FzZSBHZXRMb2NhbDoKICAgICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAg
IGNhc2UgU2V0Q2FsbGVlOgogICAgICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzOgogICAgICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgICAg
ICBjYXNlIEdldFJlc3RMZW5ndGg6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR01heUV4aXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0
LmNwcAppbmRleCAxNTlhOWJiYjUzNDFmODM2MWYwM2Y0NGZhN2RjYjk5M2YzMDM4YThiLi5kNDFk
MWE2ZGI4Y2ZhNWIyN2Y4MWNlMDJkNTIzYTk5YTAwNGFmYTg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAKQEAgLTc0LDYgKzc0LDcgQEAgRXhpdE1vZGUgbWF5RXhp
dEltcGwoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBTdGF0ZVR5cGUmIHN0YXRlKQogICAgIGNh
c2UgS2lsbFN0YWNrOgogICAgIGNhc2UgR2V0U3RhY2s6CiAgICAgY2FzZSBHZXRDYWxsZWU6Cisg
ICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
czoKICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgR2V0
UmVzdExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggNzBmOWEzYjVi
YzRlOTAyNTIzMmVmMTk4Yjk3YWZmMTA3OTRlMmEwYy4uZDM3MjE3YjVhMDc0YmJhNWE4M2U2NjIy
NGM2N2RmN2JlYzBkZDEyNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTk3
Myw2ICs5NzMsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9vcEluZm8uYXM8U3RhY2tB
Y2Nlc3NEYXRhKj4oKTsKICAgICB9CiAKKyAgICBKU0NhbGxlZSogY2FsbGVlKCkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChvcCgpID09IFNldENhbGxlZSk7CisgICAgICAgIHJldHVybiBtX29wSW5m
by5hczxKU0NhbGxlZSo+KCk7CisgICAgfQorCiAgICAgdW5zaWduZWQgYXJndW1lbnRDb3VudElu
Y2x1ZGluZ1RoaXMoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG9wKCkgPT0gU2V0QXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5o
CmluZGV4IDg0ZWQzODJlNTc2NDQ2ZmVkMDY4OWNhYjI5MTViOGUxZDQ0YzRiYjIuLjhiZDRjYmVm
ZGU2YmMxZmE0Y2M3MWEyZWEyZGFkOTNiYzk2NDdjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGVUeXBlLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBERkcgewogICAgIG1hY3JvKFRvVGhpcywgTm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8o
Q3JlYXRlVGhpcywgTm9kZVJlc3VsdEpTKSAvKiBOb3RlIHRoaXMgaXMgbm90IE11c3RHZW5lcmF0
ZSBzaW5jZSB3ZSdyZSByZXR1cm5pbmcgaXQgYW55d2F5LiAqLyBcCiAgICAgbWFjcm8oR2V0Q2Fs
bGVlLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNybyhTZXRDYWxsZWUsIE5vZGVNdXN0R2VuZXJh
dGUpIFwKICAgICBtYWNybyhHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgTm9kZVJlc3Vs
dEludDMyKSBcCiAgICAgbWFjcm8oU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIE5vZGVN
dXN0R2VuZXJhdGUpIFwKICAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IDQ3NzQzODUz
YmM5N2FhNjFhODkzZDg0MmVlZjFjZmZhNWNkNDk2YjUuLmQ0YmJiNGE2MWNhODkxNWRiMDgxY2Nh
M2NkNmI1MWI1Y2NkMjYxNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC03NzYsNiArNzc2
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAg
Y2FzZSBTZXRDYWxsZWU6CiAgICAgICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXM6CiAgICAgICAgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NhZmVUb0V4ZWN1dGUuaAppbmRleCA2YmM3NDUxM2VlZThkYTMxY2Q0OTM0MjczOGFmMWE3MDNh
NzM1ZGUzLi4yMWRiMzQwYTk4Mjg5ZmM0Y2Y5ZWEyMjA0ZGFhMGM4NWZkYWNjOWU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtMTcyLDYgKzE3
Miw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBo
JiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFRvVGhpczoKICAgICBjYXNlIENyZWF0ZVRo
aXM6CiAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBH
ZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzOgogICAgIGNhc2UgR2V0UmVzdExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggY2VmOWRlY2EwNTMxNDE5
NGZmZTU5OWRjYTM3NmM2YzdlYzcyNDM0My4uNDVlYzhlYjdjM2JmYWMwZWM3MGJhNWFlZGExNWJh
MGYzMTdmOWYxZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKQEAgLTExODkzLDYgKzExODkzLDE0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVHZXRDYWxsZWUoTm9kZSogbm9kZSkKICAgICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIo
KSwgbm9kZSk7CiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTZXRDYWxsZWUoTm9k
ZSogbm9kZSkKK3sKKyAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOworICAgIG1faml0Lm1v
dmUoSklUQ29tcGlsZXI6OlRydXN0ZWRJbW1QdHIobm9kZS0+Y2FsbGVlKCkpLCByZXN1bHQuZ3By
KCkpOworICAgIG1faml0LnN0b3JlQ2VsbChyZXN1bHQuZ3ByKCksIEpJVENvbXBpbGVyOjpwYXls
b2FkRm9yKENhbGxGcmFtZVNsb3Q6OmNhbGxlZSkpOworICAgIG5vUmVzdWx0KG5vZGUpOworfQor
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMoTm9kZSogbm9kZSkKIHsKICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDAyY2IxYzI1
MWZmMDgxZDNhYWU4YjA5MTk1YzVhOGUwNTEyNmQyMzEuLmU1ODQ4ZThmMWZiOTc5ODVmOGYwMzEz
YTRjNzUzOTliMmExMzE5ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKQEAgLTE1MDYsNiArMTUwNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNv
bXBpbGVHZXRHZXR0ZXIoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUdldFNldHRlcihOb2RlKik7
CiAgICAgdm9pZCBjb21waWxlR2V0Q2FsbGVlKE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVTZXRD
YWxsZWUoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyhOb2RlKik7CiAgICAgdm9pZCBjb21waWxlU3RyQ2F0KE5vZGUqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDI5
ZTk0NDFkM2U1N2RjNmZiZTRjMjAxNjU3YzA5OWRiMjMwMmIzNjIuLjk2MzBjZTYxZjNiM2NiMTUx
ZDYwZjg4NGU4YzE1ZmVkMWJiOGJkZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtMzI1Niw2ICszMjU2LDExIEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGls
ZUdldENhbGxlZShub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorCisgICAgY2FzZSBTZXRD
YWxsZWU6IHsKKyAgICAgICAgY29tcGlsZVNldENhbGxlZShub2RlKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQogICAgICAgICAKICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
OiB7CiAgICAgICAgIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhub2RlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CmluZGV4IGFiYmJkYWNiNjg4NDQwNDE0Y2E2ZGI2ZWUxYjVlMzZhOTRlNmUyZTYuLjY2ZDAzNzVl
MmRkYzI1MTM0YjhlODFlNGUxZTM0YjI1OTJjNTM2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtMzQ3OCw2ICszNDc4LDEx
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29t
cGlsZUdldENhbGxlZShub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorCisgICAgY2FzZSBT
ZXRDYWxsZWU6IHsKKyAgICAgICAgY29tcGlsZVNldENhbGxlZShub2RlKTsKKyAgICAgICAgYnJl
YWs7CisgICAgfQogICAgICAgICAKICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzOiB7CiAgICAgICAgIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhub2Rl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCBmMWE0NWE4ZGQ2NGI0ZjI5NDA5ZmMwYmQ0MTQ1MmZmNzBjODA5Y2JiLi4yZjc0YmFlY2ZlNjMy
YTYzOGY1ZTY3ZjUxY2RiZmJmZjA1M2U3MmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0xODIsNiArMTgyLDcgQEAgaW5saW5lIENhcGFi
aWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBHZXRFeGVjdXRhYmxl
OgogICAgIGNhc2UgR2V0U2NvcGU6CiAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgY2FzZSBTZXRD
YWxsZWU6CiAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNl
IFNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgVG9OdW1iZXI6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggN2VhNWRl
M2E3ZWU0OTU5MzRhM2U2NDZlYzcwZDgwOTRlYjMwYzBlYi4uMmZhYmEwNjQ0MTQ4MTY3MjA3NTQz
Njg3ZGU2NmIwNDNlYjU3NWY4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcApAQCAtOTI2LDYgKzkyNiw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNh
c2UgR2V0Q2FsbGVlOgogICAgICAgICAgICAgY29tcGlsZUdldENhbGxlZSgpOwogICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgU2V0Q2FsbGVlOgorICAgICAgICAgICAgY29tcGlsZVNl
dENhbGxlZSgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgR2V0QXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXM6CiAgICAgICAgICAgICBjb21waWxlR2V0QXJndW1lbnRDb3VudElu
Y2x1ZGluZ1RoaXMoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNjYzNiw2ICs2NjM5LDEyIEBA
IHByaXZhdGU6CiAgICAgewogICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LmxvYWRQdHIoYWRkcmVz
c0ZvcihDYWxsRnJhbWVTbG90OjpjYWxsZWUpKSk7CiAgICAgfQorCisgICAgdm9pZCBjb21waWxl
U2V0Q2FsbGVlKCkKKyAgICB7CisgICAgICAgIGF1dG8gY2FsbGVlID0gbV9vdXQuY29uc3RJbnRQ
dHIoYml0d2lzZV9jYXN0PGludHB0cl90PihtX25vZGUtPmNhbGxlZSgpKSk7CisgICAgICAgIG1f
b3V0LnN0b3JlUHRyKGNhbGxlZSwgcGF5bG9hZEZvcihDYWxsRnJhbWVTbG90OjpjYWxsZWUpKTsK
KyAgICB9CiAgICAgCiAgICAgdm9pZCBjb21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMoKQogICAgIHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Nsb3N1cmUtcmVjdXJzaXZl
LXRhaWwtY2FsbC1pbmZpbml0ZS1sb29wLmpzIGIvSlNUZXN0cy9zdHJlc3MvY2xvc3VyZS1yZWN1
cnNpdmUtdGFpbC1jYWxsLWluZmluaXRlLWxvb3AuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZkOTZhMDE0ODRm
ZmNmODJhODk2ZDNhOTczNTFmMWZiZWNlYTY0YgotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
c3RyZXNzL2Nsb3N1cmUtcmVjdXJzaXZlLXRhaWwtY2FsbC1pbmZpbml0ZS1sb29wLmpzCkBAIC0w
LDAgKzEsMjkgQEAKKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gRm9vKCkge30KKworZnVuY3Rp
b24gc2Vjb25kKG5leHQsIGNwKSB7CisgIHJldHVybiAxMDA7Cit9CisKK2Z1bmN0aW9uIGZpcnN0
KG5leHQsIGNwKSB7CisgIHJldHVybiBjcCA8IDYwID8gbmV3IEZvbygpIDogbmV4dChjcCk7Cit9
CisKK2Z1bmN0aW9uIGNyZWF0ZUNsb3N1cmUobmV4dCwgc3RyYXRlZ3kpIHsKKyAgcmV0dXJuIGZ1
bmN0aW9uIGNsb3N1cmUoY3ApIHsKKyAgICByZXR1cm4gc3RyYXRlZ3kobmV4dCwgY3ApOworICB9
OworfQorCit2YXIgdG1wID0gY3JlYXRlQ2xvc3VyZShudWxsLCBzZWNvbmQpOwordmFyIGJhciA9
IGNyZWF0ZUNsb3N1cmUodG1wLCBmaXJzdCk7CisKK25vSW5saW5lKGJhcik7CisKK2ZvciAodmFy
IGk9MDsgaTw1MDAwMDsgaSsrKSB7CisgIGJhcigzMik7CisgIGJhcigzMik7CisgIGJhcigzMik7
CisgIGJhcigxMDApOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337879</attachid>
            <date>2018-04-13 04:40:19 -0700</date>
            <delta_ts>2018-04-13 06:10:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184582-20180413134018.patch</filename>
            <type>text/plain</type>
            <size>14322</size>
            <attacher name="Dominik Inführ">dominik.infuehr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YzViNTRiM2U2MWE1ZDI1NGI4Y2RhYzhiZDliZjEwYmYxZjNjMzE0Li43YWE4MjEyNTUyYzZkNGM4
ZjE4OGU2MzExNjVmNjY5MzMyYWZmZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxOC0wNC0xMyAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlh
LmNvbT4KKworICAgICAgICBBZGQgU2V0Q2FsbGVlIGFzIERGRy1PcGVyYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciByZWN1cnNpdmUgdGFp
bCBjYWxscyBub3Qgb25seSB0aGUgYXJndW1lbnQgY291bnQgY2FuIGNoYW5nZSwKKyAgICAgICAg
YnV0IGFsc28gdGhlIGNhbGxlZS4gQWRkIFNldENhbGxlZSB0byBERkcgdGhhdCBzZXRzIHRoZQor
ICAgICAgICBjYWxsZWUgc2xvdCBpbiB0aGUgY3VycmVudCBjYWxsIGZyYW1lLiBBbHNvIGVtaXQg
U2V0Q2FsbGVlIHdoZW4KKyAgICAgICAgb3B0aW1pemluZyBmb3IgcmVjdXJzaXZlIHRhaWwgY2Fs
bHMuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6
ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVJlY3Vyc2l2ZVRhaWxDYWxs
KToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNs
b2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR01heUV4
aXQuY3BwOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9k
ZTo6Y2FsbGVlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcv
REZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGRmZy9ERkdTYWZl
VG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZVNldENhbGxlZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZl
SklULmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3Bw
OgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTm9kZSk6Cisg
ICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVTZXRDYWxsZWUpOgor
CiAyMDE4LTA0LTExICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCBmb3IgMzJiaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApp
bmRleCA2Zjg1NzM0MGIwZjc5NDIwYTcwMzVlNGQ3ZDU5MTE2NDUxZDZlMjE0Li45ZWIxODhkMzdl
NmExNjlkNmM2YmI5ZDk4ODA2YzI3MzJhMjA0OWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0y
NDUyLDYgKzI0NTIsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5
cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBmb3JOb2Rl
KG5vZGUpLnNldFR5cGUoU3BlY0ludDMyT25seSk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2Fz
ZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBkNDNhMTAzN2Q1MzhhZmU0NTQ3OTU3NDU3NTQ0MjU0
MjAyMmRjMTk0Li45M2FlZjQ1MDg4ZjEwNDBhMWY2YTQxMTUyM2I2NGVmNDllOGUyZjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAt
MTM5NCw2ICsxMzk0LDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlUmVjdXJzaXZlVGFp
bENhbGwoQ2FsbFZhcmlhbnQgY2FsbFZhcmlhbnQsIGludCByZWdpc3QKICAgICAgICAgLy8gV2Ug
Zmx1c2ggZXZlcnl0aGluZywgYXMgaWYgd2Ugd2VyZSBpbiB0aGUgYmFja2VkZ2Ugb2YgYSBsb29w
IChzZWUgdHJlYXRtZW50IG9mIG9wX2ptcCBpbiBwYXJzZUJsb2NrKS4KICAgICAgICAgZmx1c2hG
b3JUZXJtaW5hbCgpOwogCisgICAgICAgIC8vIFdlIG11c3Qgc2V0IHRoZSBjYWxsZWUgdG8gdGhl
IHJpZ2h0IHZhbHVlCisgICAgICAgIGlmIChKU0Z1bmN0aW9uKiBmdW5jdGlvbiA9IGNhbGxWYXJp
YW50LmZ1bmN0aW9uKCkpCisgICAgICAgICAgICBhZGRUb0dyYXBoKFNldENhbGxlZSwgT3BJbmZv
KGJpdHdpc2VfY2FzdDxpbnRwdHJfdD4oZnVuY3Rpb24pKSk7CiAgICAgICAgIC8vIFdlIG11c3Qg
c2V0IHRoZSBhcmd1bWVudHMgdG8gdGhlIHJpZ2h0IHZhbHVlcwogICAgICAgICBpZiAoIXN0YWNr
RW50cnktPm1faW5saW5lQ2FsbEZyYW1lKQogICAgICAgICAgICAgYWRkVG9HcmFwaChTZXRBcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpcywgT3BJbmZvKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGRhYjQ1
NmVkMTU2NzYxYzM1MzQyODkwY2I0MmQzMzNlZWYzZGYxNTQuLjQ5ZjhkMTUyYTdhY2FiZmNkYjg3
Nzk2ZWQ0YjFjNDM5MDMxMWY3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCkBAIC02OTIsNiArNjkyLDEwIEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAg
ICAgICAgIHJlYWQoQWJzdHJhY3RIZWFwKFN0YWNrLCBDYWxsRnJhbWVTbG90OjpjYWxsZWUpKTsK
ICAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihTdGFja0xvYywgQWJzdHJhY3RIZWFwKFN0YWNrLCBD
YWxsRnJhbWVTbG90OjpjYWxsZWUpKSwgTGF6eU5vZGUobm9kZSkpOwogICAgICAgICByZXR1cm47
CisKKyAgICBjYXNlIFNldENhbGxlZToKKyAgICAgICAgd3JpdGUoQWJzdHJhY3RIZWFwKFN0YWNr
LCBDYWxsRnJhbWVTbG90OjpjYWxsZWUpKTsKKyAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAg
ICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOiB7CiAgICAgICAgIGF1dG8gaGVh
cCA9IEFic3RyYWN0SGVhcChTdGFjaywgcmVtYXBPcGVyYW5kKG5vZGUtPmFyZ3VtZW50c0lubGlu
ZUNhbGxGcmFtZSgpLCBWaXJ0dWFsUmVnaXN0ZXIoQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3Vu
dCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCAzOTBiNGUz
YTFiZDIyYzc1MmRkYmZlNGJlYmVhMjZhNTJlZmE3MDgzLi44Mjg3ZmFjMDdjNGE1M2FlYjUzMjFl
OGZiYmY1NTQ4OGViODNmYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0Mu
Y3BwCkBAIC01MSw2ICs1MSw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9k
ZSkKICAgICBjYXNlIElkZW50aXR5OgogICAgIGNhc2UgSWRlbnRpdHlXaXRoUHJvZmlsZToKICAg
ICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVuZ3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggNDdkMGU2NmIzODYwMjE5MWVkYzcwNTRjNjE5ZDFi
NmY2MTMxM2FjNi4uN2NmMzVkOTNlODAxMGJjOTM1ZmUyYjM0OWUzODhmZTYxMDg5ZDdhMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yMTQyLDYg
KzIxNDIsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIERvdWJsZUNvbnN0YW50OgogICAgICAg
ICBjYXNlIEdldExvY2FsOgogICAgICAgICBjYXNlIEdldENhbGxlZToKKyAgICAgICAgY2FzZSBT
ZXRDYWxsZWU6CiAgICAgICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAg
ICAgICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgICAgIGNhc2Ug
R2V0UmVzdExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
TWF5RXhpdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCmlu
ZGV4IDE1OWE5YmJiNTM0MWY4MzYxZjAzZjQ0ZmE3ZGNiOTkzZjMwMzhhOGIuLmQ0MWQxYTZkYjhj
ZmE1YjI3ZjgxY2UwMmQ1MjNhOTlhMDA0YWZhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdNYXlFeGl0LmNwcApAQCAtNzQsNiArNzQsNyBAQCBFeGl0TW9kZSBtYXlFeGl0SW1wbChH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIFN0YXRlVHlwZSYgc3RhdGUpCiAgICAgY2FzZSBLaWxs
U3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoKICAgICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNl
IFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAg
IGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVu
Z3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCA3MGY5YTNiNWJjNGU5MDI1
MjMyZWYxOThiOTdhZmYxMDc5NGUyYTBjLi5kMzcyMTdiNWEwNzRiYmE1YTgzZTY2MjI0YzY3ZGY3
YmVjMGRkMTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtOTczLDYgKzk3
MywxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX29wSW5mby5hczxTdGFja0FjY2Vzc0Rh
dGEqPigpOwogICAgIH0KIAorICAgIEpTQ2FsbGVlKiBjYWxsZWUoKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKG9wKCkgPT0gU2V0Q2FsbGVlKTsKKyAgICAgICAgcmV0dXJuIG1fb3BJbmZvLmFzPEpT
Q2FsbGVlKj4oKTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcygpCiAgICAgewogICAgICAgICBBU1NFUlQob3AoKSA9PSBTZXRBcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXgg
ODRlZDM4MmU1NzY0NDZmZWQwNjg5Y2FiMjkxNWI4ZTFkNDRjNGJiMi4uOGJkNGNiZWZkZTZiYzFm
YTRjYzcxYTJlYTJkYWQ5M2JjOTY0N2MyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZVR5cGUuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERG
RyB7CiAgICAgbWFjcm8oVG9UaGlzLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhDcmVhdGVU
aGlzLCBOb2RlUmVzdWx0SlMpIC8qIE5vdGUgdGhpcyBpcyBub3QgTXVzdEdlbmVyYXRlIHNpbmNl
IHdlJ3JlIHJldHVybmluZyBpdCBhbnl3YXkuICovIFwKICAgICBtYWNybyhHZXRDYWxsZWUsIE5v
ZGVSZXN1bHRKUykgXAorICAgIG1hY3JvKFNldENhbGxlZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAog
ICAgIG1hY3JvKEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBOb2RlUmVzdWx0SW50MzIp
IFwKICAgICBtYWNybyhTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgTm9kZU11c3RHZW5l
cmF0ZSkgXAogICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggNDc3NDM4NTNiYzk3YWE2
MWE4OTNkODQyZWVmMWNmZmE1Y2Q0OTZiNS4uZDRiYmI0YTYxY2E4OTE1ZGIwODFjY2EzY2Q2YjUx
YjVjY2QyNjE1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTc3Niw2ICs3NzYsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFNl
dENhbGxlZToKICAgICAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAg
ICAgICAgICAgIGJyZWFrOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCmluZGV4IDZiYzc0NTEzZWVlOGRhMzFjZDQ5MzQyNzM4YWYxYTcwM2E3MzVkZTMu
LjIxZGIzNDBhOTgyODlmYzRjZjllYTIyMDRkYWEwYzg1ZmRhY2M5ZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0xNzIsNiArMTcyLDcgQEAg
Ym9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlKQogICAgIGNhc2UgVG9UaGlzOgogICAgIGNhc2UgQ3JlYXRlVGhpczoKICAg
ICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVuZ3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBjZWY5ZGVjYTA1MzE0MTk0ZmZlNTk5
ZGNhMzc2YzZjN2VjNzI0MzQzLi40NWVjOGViN2MzYmZhYzBlYzcwYmE1YWVkYTE1YmEwZjMxN2Y5
ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcApAQCAtMTE4OTMsNiArMTE4OTMsMTQgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUdldENhbGxlZShOb2RlKiBub2RlKQogICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2Rl
KTsKIH0KIAordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVNldENhbGxlZShOb2RlKiBub2Rl
KQoreworICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CisgICAgbV9qaXQubW92ZShKSVRD
b21waWxlcjo6VHJ1c3RlZEltbVB0cihub2RlLT5jYWxsZWUoKSksIHJlc3VsdC5ncHIoKSk7Cisg
ICAgbV9qaXQuc3RvcmVDZWxsKHJlc3VsdC5ncHIoKSwgSklUQ29tcGlsZXI6OnBheWxvYWRGb3Io
Q2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSk7CisgICAgbm9SZXN1bHQobm9kZSk7Cit9CisKIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhOb2Rl
KiBub2RlKQogewogICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggMDJjYjFjMjUxZmYwODFk
M2FhZThiMDkxOTVjNWE4ZTA1MTI2ZDIzMS4uZTU4NDhlOGYxZmI5Nzk4NWY4ZjAzMTNhNGM3NTM5
OWIyYTEzMTllMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaApAQCAtMTUwNiw2ICsxNTA2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZUdl
dEdldHRlcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0U2V0dGVyKE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVHZXRDYWxsZWUoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVNldENhbGxlZShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZVNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKE5vZGUq
KTsKICAgICB2b2lkIGNvbXBpbGVTdHJDYXQoTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggMjllOTQ0MWQz
ZTU3ZGM2ZmJlNGMyMDE2NTdjMDk5ZGIyMzAyYjM2Mi4uOTYzMGNlNjFmM2IzY2IxNTFkNjBmODg0
ZThjMTVmZWQxYmI4YmRlNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0zMjU2LDYgKzMyNTYsMTEgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlR2V0Q2Fs
bGVlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBjYXNlIFNldENhbGxlZTog
eworICAgICAgICBjb21waWxlU2V0Q2FsbGVlKG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9
CiAgICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6IHsKICAg
ICAgICAgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKG5vZGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXgg
YWJiYmRhY2I2ODg0NDA0MTRjYTZkYjZlZTFiNWUzNmE5NGU2ZTJlNi4uNjZkMDM3NWUyZGRjMjUx
MzRiOGU4MWU0ZTFlMzRiMjU5MmM1MzZkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0zNDc4LDYgKzM0NzgsMTEgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlR2V0
Q2FsbGVlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBjYXNlIFNldENhbGxl
ZTogeworICAgICAgICBjb21waWxlU2V0Q2FsbGVlKG5vZGUpOworICAgICAgICBicmVhazsKKyAg
ICB9CiAgICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6IHsK
ICAgICAgICAgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKG5vZGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGYxYTQ1
YThkZDY0YjRmMjk0MDlmYzBiZDQxNDUyZmY3MGM4MDljYmIuLjJmNzRiYWVjZmU2MzJhNjM4ZjVl
NjdmNTFjZGJmYmZmMDUzZTcyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TENhcGFiaWxpdGllcy5jcHAKQEAgLTE4Miw2ICsxODIsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxl
dmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CiAgICAg
Y2FzZSBHZXRTY29wZToKICAgICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToK
ICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJn
dW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgY2FzZSBUb051bWJlcjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCA3ZWE1ZGUzYTdlZTQ5
NTkzNGEzZTY0NmVjNzBkODA5NGViMzBjMGViLi4yZmFiYTA2NDQxNDgxNjcyMDc1NDM2ODdkZTY2
YjA0M2ViNTc1Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCkBAIC05MjYsNiArOTI2LDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRD
YWxsZWU6CiAgICAgICAgICAgICBjb21waWxlR2V0Q2FsbGVlKCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBTZXRDYWxsZWU6CisgICAgICAgICAgICBjb21waWxlU2V0Q2FsbGVl
KCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpczoKICAgICAgICAgICAgIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcygpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC02NjM2LDYgKzY2MzksMTIgQEAgcHJpdmF0
ZToKICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQubG9hZFB0cihhZGRyZXNzRm9yKENh
bGxGcmFtZVNsb3Q6OmNhbGxlZSkpKTsKICAgICB9CisKKyAgICB2b2lkIGNvbXBpbGVTZXRDYWxs
ZWUoKQorICAgIHsKKyAgICAgICAgYXV0byBjYWxsZWUgPSBtX291dC5jb25zdEludFB0cihiaXR3
aXNlX2Nhc3Q8aW50cHRyX3Q+KG1fbm9kZS0+Y2FsbGVlKCkpKTsKKyAgICAgICAgbV9vdXQuc3Rv
cmVQdHIoY2FsbGVlLCBwYXlsb2FkRm9yKENhbGxGcmFtZVNsb3Q6OmNhbGxlZSkpOworICAgIH0K
ICAgICAKICAgICB2b2lkIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwpp
bmRleCAzNWE4OTA5ZWIwMTM3N2I1NjkyNGJhNTdjMTMwOGNiODI0MGZhMzU4Li5jZjUwOWU0NzJi
NGMxNzA0N2M2ZWFjMzgyODA1M2FmNzVhOGRjNDQxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5n
ZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTEz
ICBEb21pbmlrIEluZnVlaHIgIDxkaW5mdWVockBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBT
ZXRDYWxsZWUgYXMgREZHLU9wZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKwlBZGRlZCB0ZXN0IHRoYXQgcnVucyBpbnRvIGluZmluaXRlIGxvb3Agd2l0aG91
dCBTZXRDYWxsZWUgYmVpbmcKKyAgICAgICAgZW1pdHRlZCBpbiBGVEwgY29tcGlsYXRpb24uCisK
KyAgICAgICAgKiBzdHJlc3MvY2xvc3VyZS1yZWN1cnNpdmUtdGFpbC1jYWxsLWluZmluaXRlLWxv
b3AuanM6IEFkZGVkLgorICAgICAgICAoRm9vKToKKyAgICAgICAgKHNlY29uZCk6CisgICAgICAg
IChmaXJzdCk6CisgICAgICAgIChyZXR1cm4uY2xvc3VyZSk6CisgICAgICAgIChjcmVhdGVDbG9z
dXJlKToKKwogMjAxOC0wNC0xMCAgQ2FpbyBMaW1hICA8dGljYWlvbGltYUBnbWFpbC5jb20+CiAK
ICAgICAgICAgW0VTTmV4dF1bQmlnSW50XSBBZGQgc3VwcG9ydCBmb3IgQmlnSW50IGluIFNwZWN1
bGF0ZWRUeXBlCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9jbG9zdXJlLXJlY3Vyc2l2ZS10
YWlsLWNhbGwtaW5maW5pdGUtbG9vcC5qcyBiL0pTVGVzdHMvc3RyZXNzL2Nsb3N1cmUtcmVjdXJz
aXZlLXRhaWwtY2FsbC1pbmZpbml0ZS1sb29wLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmZDk2YTAxNDg0ZmZj
ZjgyYTg5NmQzYTk3MzUxZjFmYmVjZWE2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0
cmVzcy9jbG9zdXJlLXJlY3Vyc2l2ZS10YWlsLWNhbGwtaW5maW5pdGUtbG9vcC5qcwpAQCAtMCww
ICsxLDI5IEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIEZvbygpIHt9CisKK2Z1bmN0aW9u
IHNlY29uZChuZXh0LCBjcCkgeworICByZXR1cm4gMTAwOworfQorCitmdW5jdGlvbiBmaXJzdChu
ZXh0LCBjcCkgeworICByZXR1cm4gY3AgPCA2MCA/IG5ldyBGb28oKSA6IG5leHQoY3ApOworfQor
CitmdW5jdGlvbiBjcmVhdGVDbG9zdXJlKG5leHQsIHN0cmF0ZWd5KSB7CisgIHJldHVybiBmdW5j
dGlvbiBjbG9zdXJlKGNwKSB7CisgICAgcmV0dXJuIHN0cmF0ZWd5KG5leHQsIGNwKTsKKyAgfTsK
K30KKwordmFyIHRtcCA9IGNyZWF0ZUNsb3N1cmUobnVsbCwgc2Vjb25kKTsKK3ZhciBiYXIgPSBj
cmVhdGVDbG9zdXJlKHRtcCwgZmlyc3QpOworCitub0lubGluZShiYXIpOworCitmb3IgKHZhciBp
PTA7IGk8NTAwMDA7IGkrKykgeworICBiYXIoMzIpOworICBiYXIoMzIpOworICBiYXIoMzIpOwor
ICBiYXIoMTAwKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337883</attachid>
            <date>2018-04-13 06:10:18 -0700</date>
            <delta_ts>2018-04-19 06:50:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184582-20180413151017.patch</filename>
            <type>text/plain</type>
            <size>14329</size>
            <attacher name="Dominik Inführ">dominik.infuehr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YzViNTRiM2U2MWE1ZDI1NGI4Y2RhYzhiZDliZjEwYmYxZjNjMzE0Li43YWE4MjEyNTUyYzZkNGM4
ZjE4OGU2MzExNjVmNjY5MzMyYWZmZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxOC0wNC0xMyAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlh
LmNvbT4KKworICAgICAgICBBZGQgU2V0Q2FsbGVlIGFzIERGRy1PcGVyYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciByZWN1cnNpdmUgdGFp
bCBjYWxscyBub3Qgb25seSB0aGUgYXJndW1lbnQgY291bnQgY2FuIGNoYW5nZSwKKyAgICAgICAg
YnV0IGFsc28gdGhlIGNhbGxlZS4gQWRkIFNldENhbGxlZSB0byBERkcgdGhhdCBzZXRzIHRoZQor
ICAgICAgICBjYWxsZWUgc2xvdCBpbiB0aGUgY3VycmVudCBjYWxsIGZyYW1lLiBBbHNvIGVtaXQg
U2V0Q2FsbGVlIHdoZW4KKyAgICAgICAgb3B0aW1pemluZyBmb3IgcmVjdXJzaXZlIHRhaWwgY2Fs
bHMuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAg
ICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6
ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVJlY3Vyc2l2ZVRhaWxDYWxs
KToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNs
b2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR01heUV4
aXQuY3BwOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9k
ZTo6Y2FsbGVlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcv
REZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGRmZy9ERkdTYWZl
VG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZVNldENhbGxlZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZl
SklULmg6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3Bw
OgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTm9kZSk6Cisg
ICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVTZXRDYWxsZWUpOgor
CiAyMDE4LTA0LTExICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCBmb3IgMzJiaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApp
bmRleCA2Zjg1NzM0MGIwZjc5NDIwYTcwMzVlNGQ3ZDU5MTE2NDUxZDZlMjE0Li45ZWIxODhkMzdl
NmExNjlkNmM2YmI5ZDk4ODA2YzI3MzJhMjA0OWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0y
NDUyLDYgKzI0NTIsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5
cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBmb3JOb2Rl
KG5vZGUpLnNldFR5cGUoU3BlY0ludDMyT25seSk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2Fz
ZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBkNDNhMTAzN2Q1MzhhZmU0NTQ3OTU3NDU3NTQ0MjU0
MjAyMmRjMTk0Li45M2FlZjQ1MDg4ZjEwNDBhMWY2YTQxMTUyM2I2NGVmNDllOGUyZjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAt
MTM5NCw2ICsxMzk0LDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlUmVjdXJzaXZlVGFp
bENhbGwoQ2FsbFZhcmlhbnQgY2FsbFZhcmlhbnQsIGludCByZWdpc3QKICAgICAgICAgLy8gV2Ug
Zmx1c2ggZXZlcnl0aGluZywgYXMgaWYgd2Ugd2VyZSBpbiB0aGUgYmFja2VkZ2Ugb2YgYSBsb29w
IChzZWUgdHJlYXRtZW50IG9mIG9wX2ptcCBpbiBwYXJzZUJsb2NrKS4KICAgICAgICAgZmx1c2hG
b3JUZXJtaW5hbCgpOwogCisgICAgICAgIC8vIFdlIG11c3Qgc2V0IHRoZSBjYWxsZWUgdG8gdGhl
IHJpZ2h0IHZhbHVlCisgICAgICAgIGlmIChKU0Z1bmN0aW9uKiBmdW5jdGlvbiA9IGNhbGxWYXJp
YW50LmZ1bmN0aW9uKCkpCisgICAgICAgICAgICBhZGRUb0dyYXBoKFNldENhbGxlZSwgT3BJbmZv
KGJpdHdpc2VfY2FzdDxpbnRwdHJfdD4oZnVuY3Rpb24pKSk7CiAgICAgICAgIC8vIFdlIG11c3Qg
c2V0IHRoZSBhcmd1bWVudHMgdG8gdGhlIHJpZ2h0IHZhbHVlcwogICAgICAgICBpZiAoIXN0YWNr
RW50cnktPm1faW5saW5lQ2FsbEZyYW1lKQogICAgICAgICAgICAgYWRkVG9HcmFwaChTZXRBcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpcywgT3BJbmZvKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGRhYjQ1
NmVkMTU2NzYxYzM1MzQyODkwY2I0MmQzMzNlZWYzZGYxNTQuLjQ5ZjhkMTUyYTdhY2FiZmNkYjg3
Nzk2ZWQ0YjFjNDM5MDMxMWY3ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCkBAIC02OTIsNiArNjkyLDEwIEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAg
ICAgICAgIHJlYWQoQWJzdHJhY3RIZWFwKFN0YWNrLCBDYWxsRnJhbWVTbG90OjpjYWxsZWUpKTsK
ICAgICAgICAgZGVmKEhlYXBMb2NhdGlvbihTdGFja0xvYywgQWJzdHJhY3RIZWFwKFN0YWNrLCBD
YWxsRnJhbWVTbG90OjpjYWxsZWUpKSwgTGF6eU5vZGUobm9kZSkpOwogICAgICAgICByZXR1cm47
CisKKyAgICBjYXNlIFNldENhbGxlZToKKyAgICAgICAgd3JpdGUoQWJzdHJhY3RIZWFwKFN0YWNr
LCBDYWxsRnJhbWVTbG90OjpjYWxsZWUpKTsKKyAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAg
ICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOiB7CiAgICAgICAgIGF1dG8gaGVh
cCA9IEFic3RyYWN0SGVhcChTdGFjaywgcmVtYXBPcGVyYW5kKG5vZGUtPmFyZ3VtZW50c0lubGlu
ZUNhbGxGcmFtZSgpLCBWaXJ0dWFsUmVnaXN0ZXIoQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3Vu
dCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCAzOTBiNGUz
YTFiZDIyYzc1MmRkYmZlNGJlYmVhMjZhNTJlZmE3MDgzLi44Mjg3ZmFjMDdjNGE1M2FlYjUzMjFl
OGZiYmY1NTQ4OGViODNmYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0Mu
Y3BwCkBAIC01MSw2ICs1MSw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9k
ZSkKICAgICBjYXNlIElkZW50aXR5OgogICAgIGNhc2UgSWRlbnRpdHlXaXRoUHJvZmlsZToKICAg
ICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVuZ3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggNDdkMGU2NmIzODYwMjE5MWVkYzcwNTRjNjE5ZDFi
NmY2MTMxM2FjNi4uN2NmMzVkOTNlODAxMGJjOTM1ZmUyYjM0OWUzODhmZTYxMDg5ZDdhMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0yMTQyLDYg
KzIxNDIsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIERvdWJsZUNvbnN0YW50OgogICAgICAg
ICBjYXNlIEdldExvY2FsOgogICAgICAgICBjYXNlIEdldENhbGxlZToKKyAgICAgICAgY2FzZSBT
ZXRDYWxsZWU6CiAgICAgICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAg
ICAgICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgICAgIGNhc2Ug
R2V0UmVzdExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
TWF5RXhpdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCmlu
ZGV4IDE1OWE5YmJiNTM0MWY4MzYxZjAzZjQ0ZmE3ZGNiOTkzZjMwMzhhOGIuLmQ0MWQxYTZkYjhj
ZmE1YjI3ZjgxY2UwMmQ1MjNhOTlhMDA0YWZhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdNYXlFeGl0LmNwcApAQCAtNzQsNiArNzQsNyBAQCBFeGl0TW9kZSBtYXlFeGl0SW1wbChH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIFN0YXRlVHlwZSYgc3RhdGUpCiAgICAgY2FzZSBLaWxs
U3RhY2s6CiAgICAgY2FzZSBHZXRTdGFjazoKICAgICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNl
IFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAg
IGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVu
Z3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCA3MGY5YTNiNWJjNGU5MDI1
MjMyZWYxOThiOTdhZmYxMDc5NGUyYTBjLi5kMzcyMTdiNWEwNzRiYmE1YTgzZTY2MjI0YzY3ZGY3
YmVjMGRkMTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtOTczLDYgKzk3
MywxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX29wSW5mby5hczxTdGFja0FjY2Vzc0Rh
dGEqPigpOwogICAgIH0KIAorICAgIEpTQ2FsbGVlKiBjYWxsZWUoKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKG9wKCkgPT0gU2V0Q2FsbGVlKTsKKyAgICAgICAgcmV0dXJuIG1fb3BJbmZvLmFzPEpT
Q2FsbGVlKj4oKTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBhcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcygpCiAgICAgewogICAgICAgICBBU1NFUlQob3AoKSA9PSBTZXRBcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXgg
ODRlZDM4MmU1NzY0NDZmZWQwNjg5Y2FiMjkxNWI4ZTFkNDRjNGJiMi4uOGJkNGNiZWZkZTZiYzFm
YTRjYzcxYTJlYTJkYWQ5M2JjOTY0N2MyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZVR5cGUuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERG
RyB7CiAgICAgbWFjcm8oVG9UaGlzLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhDcmVhdGVU
aGlzLCBOb2RlUmVzdWx0SlMpIC8qIE5vdGUgdGhpcyBpcyBub3QgTXVzdEdlbmVyYXRlIHNpbmNl
IHdlJ3JlIHJldHVybmluZyBpdCBhbnl3YXkuICovIFwKICAgICBtYWNybyhHZXRDYWxsZWUsIE5v
ZGVSZXN1bHRKUykgXAorICAgIG1hY3JvKFNldENhbGxlZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAog
ICAgIG1hY3JvKEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBOb2RlUmVzdWx0SW50MzIp
IFwKICAgICBtYWNybyhTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgTm9kZU11c3RHZW5l
cmF0ZSkgXAogICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggNDc3NDM4NTNiYzk3YWE2
MWE4OTNkODQyZWVmMWNmZmE1Y2Q0OTZiNS4uZDRiYmI0YTYxY2E4OTE1ZGIwODFjY2EzY2Q2YjUx
YjVjY2QyNjE1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTc3Niw2ICs3NzYsNyBAQCBw
cml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFNl
dENhbGxlZToKICAgICAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAg
ICAgICAgICAgIGJyZWFrOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCmluZGV4IDZiYzc0NTEzZWVlOGRhMzFjZDQ5MzQyNzM4YWYxYTcwM2E3MzVkZTMu
LjIxZGIzNDBhOTgyODlmYzRjZjllYTIyMDRkYWEwYzg1ZmRhY2M5ZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0xNzIsNiArMTcyLDcgQEAg
Ym9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlKQogICAgIGNhc2UgVG9UaGlzOgogICAgIGNhc2UgQ3JlYXRlVGhpczoKICAg
ICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVuZ3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBjZWY5ZGVjYTA1MzE0MTk0ZmZlNTk5
ZGNhMzc2YzZjN2VjNzI0MzQzLi40NWVjOGViN2MzYmZhYzBlYzcwYmE1YWVkYTE1YmEwZjMxN2Y5
ZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcApAQCAtMTE4OTMsNiArMTE4OTMsMTQgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUdldENhbGxlZShOb2RlKiBub2RlKQogICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2Rl
KTsKIH0KIAordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVNldENhbGxlZShOb2RlKiBub2Rl
KQoreworICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CisgICAgbV9qaXQubW92ZShKSVRD
b21waWxlcjo6VHJ1c3RlZEltbVB0cihub2RlLT5jYWxsZWUoKSksIHJlc3VsdC5ncHIoKSk7Cisg
ICAgbV9qaXQuc3RvcmVDZWxsKHJlc3VsdC5ncHIoKSwgSklUQ29tcGlsZXI6OnBheWxvYWRGb3Io
Q2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSk7CisgICAgbm9SZXN1bHQobm9kZSk7Cit9CisKIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhOb2Rl
KiBub2RlKQogewogICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggMDJjYjFjMjUxZmYwODFk
M2FhZThiMDkxOTVjNWE4ZTA1MTI2ZDIzMS4uZTU4NDhlOGYxZmI5Nzk4NWY4ZjAzMTNhNGM3NTM5
OWIyYTEzMTllMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaApAQCAtMTUwNiw2ICsxNTA2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZUdl
dEdldHRlcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0U2V0dGVyKE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVHZXRDYWxsZWUoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVNldENhbGxlZShO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZVNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKE5vZGUq
KTsKICAgICB2b2lkIGNvbXBpbGVTdHJDYXQoTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggMjllOTQ0MWQz
ZTU3ZGM2ZmJlNGMyMDE2NTdjMDk5ZGIyMzAyYjM2Mi4uOTYzMGNlNjFmM2IzY2IxNTFkNjBmODg0
ZThjMTVmZWQxYmI4YmRlNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0zMjU2LDYgKzMyNTYsMTEgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlR2V0Q2Fs
bGVlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBjYXNlIFNldENhbGxlZTog
eworICAgICAgICBjb21waWxlU2V0Q2FsbGVlKG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9
CiAgICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6IHsKICAg
ICAgICAgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKG5vZGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXgg
YWJiYmRhY2I2ODg0NDA0MTRjYTZkYjZlZTFiNWUzNmE5NGU2ZTJlNi4uNjZkMDM3NWUyZGRjMjUx
MzRiOGU4MWU0ZTFlMzRiMjU5MmM1MzZkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0zNDc4LDYgKzM0NzgsMTEgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlR2V0
Q2FsbGVlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBjYXNlIFNldENhbGxl
ZTogeworICAgICAgICBjb21waWxlU2V0Q2FsbGVlKG5vZGUpOworICAgICAgICBicmVhazsKKyAg
ICB9CiAgICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6IHsK
ICAgICAgICAgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKG5vZGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGYxYTQ1
YThkZDY0YjRmMjk0MDlmYzBiZDQxNDUyZmY3MGM4MDljYmIuLjJmNzRiYWVjZmU2MzJhNjM4ZjVl
NjdmNTFjZGJmYmZmMDUzZTcyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TENhcGFiaWxpdGllcy5jcHAKQEAgLTE4Miw2ICsxODIsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxl
dmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CiAgICAg
Y2FzZSBHZXRTY29wZToKICAgICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToK
ICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJn
dW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgY2FzZSBUb051bWJlcjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCA3ZWE1ZGUzYTdlZTQ5
NTkzNGEzZTY0NmVjNzBkODA5NGViMzBjMGViLi4yZmFiYTA2NDQxNDgxNjcyMDc1NDM2ODdkZTY2
YjA0M2ViNTc1Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCkBAIC05MjYsNiArOTI2LDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRD
YWxsZWU6CiAgICAgICAgICAgICBjb21waWxlR2V0Q2FsbGVlKCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBTZXRDYWxsZWU6CisgICAgICAgICAgICBjb21waWxlU2V0Q2FsbGVl
KCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpczoKICAgICAgICAgICAgIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcygpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC02NjM2LDYgKzY2MzksMTIgQEAgcHJpdmF0
ZToKICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQubG9hZFB0cihhZGRyZXNzRm9yKENh
bGxGcmFtZVNsb3Q6OmNhbGxlZSkpKTsKICAgICB9CisKKyAgICB2b2lkIGNvbXBpbGVTZXRDYWxs
ZWUoKQorICAgIHsKKyAgICAgICAgYXV0byBjYWxsZWUgPSBtX291dC5jb25zdEludFB0cihiaXR3
aXNlX2Nhc3Q8aW50cHRyX3Q+KG1fbm9kZS0+Y2FsbGVlKCkpKTsKKyAgICAgICAgbV9vdXQuc3Rv
cmVQdHIoY2FsbGVlLCBwYXlsb2FkRm9yKENhbGxGcmFtZVNsb3Q6OmNhbGxlZSkpOworICAgIH0K
ICAgICAKICAgICB2b2lkIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwpp
bmRleCAzNWE4OTA5ZWIwMTM3N2I1NjkyNGJhNTdjMTMwOGNiODI0MGZhMzU4Li5jZWM3NDI3MDY1
NTgxMDE3Nzc0NGZkNmVmMzdjZTk3ZmM0ODQ1MTIxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5n
ZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTEz
ICBEb21pbmlrIEluZnVlaHIgIDxkaW5mdWVockBpZ2FsaWEuY29tPgorCisgICAgICAgIEFkZCBT
ZXRDYWxsZWUgYXMgREZHLU9wZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCB0aGF0IHJ1bnMgaW50byBpbmZpbml0ZSBsb29w
IHdpdGhvdXQgU2V0Q2FsbGVlIGJlaW5nCisgICAgICAgIGVtaXR0ZWQgaW4gRlRMIGNvbXBpbGF0
aW9uLgorCisgICAgICAgICogc3RyZXNzL2Nsb3N1cmUtcmVjdXJzaXZlLXRhaWwtY2FsbC1pbmZp
bml0ZS1sb29wLmpzOiBBZGRlZC4KKyAgICAgICAgKEZvbyk6CisgICAgICAgIChzZWNvbmQpOgor
ICAgICAgICAoZmlyc3QpOgorICAgICAgICAocmV0dXJuLmNsb3N1cmUpOgorICAgICAgICAoY3Jl
YXRlQ2xvc3VyZSk6CisKIDIwMTgtMDQtMTAgIENhaW8gTGltYSAgPHRpY2Fpb2xpbWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFtFU05leHRdW0JpZ0ludF0gQWRkIHN1cHBvcnQgZm9yIEJpZ0ludCBp
biBTcGVjdWxhdGVkVHlwZQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY2xvc3VyZS1yZWN1
cnNpdmUtdGFpbC1jYWxsLWluZmluaXRlLWxvb3AuanMgYi9KU1Rlc3RzL3N0cmVzcy9jbG9zdXJl
LXJlY3Vyc2l2ZS10YWlsLWNhbGwtaW5maW5pdGUtbG9vcC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZmQ5NmEw
MTQ4NGZmY2Y4MmE4OTZkM2E5NzM1MWYxZmJlY2VhNjRiCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9zdHJlc3MvY2xvc3VyZS1yZWN1cnNpdmUtdGFpbC1jYWxsLWluZmluaXRlLWxvb3AuanMK
QEAgLTAsMCArMSwyOSBAQAorInVzZSBzdHJpY3QiOworCitmdW5jdGlvbiBGb28oKSB7fQorCitm
dW5jdGlvbiBzZWNvbmQobmV4dCwgY3ApIHsKKyAgcmV0dXJuIDEwMDsKK30KKworZnVuY3Rpb24g
Zmlyc3QobmV4dCwgY3ApIHsKKyAgcmV0dXJuIGNwIDwgNjAgPyBuZXcgRm9vKCkgOiBuZXh0KGNw
KTsKK30KKworZnVuY3Rpb24gY3JlYXRlQ2xvc3VyZShuZXh0LCBzdHJhdGVneSkgeworICByZXR1
cm4gZnVuY3Rpb24gY2xvc3VyZShjcCkgeworICAgIHJldHVybiBzdHJhdGVneShuZXh0LCBjcCk7
CisgIH07Cit9CisKK3ZhciB0bXAgPSBjcmVhdGVDbG9zdXJlKG51bGwsIHNlY29uZCk7Cit2YXIg
YmFyID0gY3JlYXRlQ2xvc3VyZSh0bXAsIGZpcnN0KTsKKworbm9JbmxpbmUoYmFyKTsKKworZm9y
ICh2YXIgaT0wOyBpPDUwMDAwOyBpKyspIHsKKyAgYmFyKDMyKTsKKyAgYmFyKDMyKTsKKyAgYmFy
KDMyKTsKKyAgYmFyKDEwMCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338321</attachid>
            <date>2018-04-19 06:50:11 -0700</date>
            <delta_ts>2018-04-20 11:05:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184582-20180419155009.patch</filename>
            <type>text/plain</type>
            <size>16828</size>
            <attacher name="Dominik Inführ">dominik.infuehr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MGQ5ZTJkMWI4MGU4MzM2OGM3MWY4ZDg4ZmRjOWFjZWY5ZDZiMjE3Li41MDNhMjUxZjAyOGMwZDc2
MGE0MGMyNDBjZjY1ZDQ3YmVlOTJmZThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAxOC0wNC0xOSAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlh
LmNvbT4KKworICAgICAgICBBZGQgU2V0Q2FsbGVlIGFzIERGRy1PcGVyYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciByZWN1cnNpdmUgdGFp
bCBjYWxscyBub3Qgb25seSB0aGUgYXJndW1lbnQgY291bnQgY2FuIGNoYW5nZSBidXQgYWxzbyB0
aGUKKyAgICAgICAgY2FsbGVlLiBBZGQgU2V0Q2FsbGVlIHRvIERGRyB0aGF0IHNldHMgdGhlIGNh
bGxlZSBzbG90IGluIHRoZSBjdXJyZW50IGNhbGwgZnJhbWUuCisgICAgICAgIEFsc28gdXBkYXRl
IHRoZSBjYWxsZWUgd2hlbiBvcHRpbWl6aW5nIGEgcmVjdXJzaXZlIHRhaWwgY2FsbC4KKworICAg
ICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlND
OjpERkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZm
ZWN0cyk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpT
Qzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlUmVjdXJzaXZlVGFpbENhbGwpOgorICAgICAg
ICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVDYWxsVmFyaWFudCk6CisgICAgICAg
ICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToK
KyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0Mp
OgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpG
aXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdNYXlFeGl0LmNwcDoKKyAg
ICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblBy
b3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZVNldENhbGxlZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAg
ICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNv
bXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlND
OjpGVEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZU
TDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVTZXRDYWxsZWUpOgorCiAyMDE4LTA0LTE4ICBS
b3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OKHIyMzA3NDgpIFtXaW5DYWlyb10gJ0pTQzo6SklUOjphcHBlbmRDYWxsV2l0aFNsb3dQYXRo
UmV0dXJuVHlwZSc6IGZ1bmN0aW9uIGRvZXMgbm90IHRha2UgMSBhcmd1bWVudHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaAppbmRleCA2Zjg1NzM0MGIwZjc5NDIwYTcwMzVlNGQ3ZDU5MTE2NDUxZDZlMjE0Li45
ZWIxODhkMzdlNmExNjlkNmM2YmI5ZDk4ODA2YzI3MzJhMjA0OWNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCkBAIC0yNDUyLDYgKzI0NTIsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJh
Y3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAg
ICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY0ludDMyT25seSk7CiAgICAgICAgIGJyZWFrOwog
CisgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpczoKICAgICAgICAgYnJlYWs7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBkNDNhMTAzN2Q1MzhhZmU0NTQ3OTU3
NDU3NTQ0MjU0MjAyMmRjMTk0Li43YTcxNTBjNzYzYzljMjIzNzQ4Yjk5NzcyY2IzMWYwMTc1NDVl
N2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbWl0QXJndW1lbnRQ
aGFudG9tcyhpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyk7CiAgICAgTm9kZSogZ2V0QXJndW1lbnRDb3VudCgpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IENoZWNrc0Z1bmN0b3I+Ci0gICAgYm9vbCBoYW5kbGVSZWN1cnNpdmVUYWlsQ2FsbChDYWxsVmFy
aWFudCwgaW50IHJlZ2lzdGVyT2Zmc2V0LCBpbnQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMs
IGNvbnN0IENoZWNrc0Z1bmN0b3ImIGVtaXRGdW5jdGlvbkNoZWNrSWZOZWVkZWQpOworICAgIGJv
b2wgaGFuZGxlUmVjdXJzaXZlVGFpbENhbGwoTm9kZSogY2FsbFRhcmdldE5vZGUsIENhbGxWYXJp
YW50LCBpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywg
Y29uc3QgQ2hlY2tzRnVuY3RvciYgZW1pdEZ1bmN0aW9uQ2hlY2tJZk5lZWRlZCk7CiAgICAgdW5z
aWduZWQgaW5saW5pbmdDb3N0KENhbGxWYXJpYW50LCBpbnQgYXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXMsIElubGluZUNhbGxGcmFtZTo6S2luZCk7IC8vIFJldHVybiBVSU5UX01BWCBpZiBpdCdz
IG5vdCBhbiBpbmxpbmluZyBjYW5kaWRhdGUuIEJ5IGNvbnZlbnRpb24sIGludHJpbnNpY3MgaGF2
ZSBhIGNvc3Qgb2YgMS4KICAgICAvLyBIYW5kbGUgaW5saW5pbmcuIFJldHVybiB0cnVlIGlmIGl0
IHN1Y2NlZWRlZCwgZmFsc2UgaWYgd2UgbmVlZCB0byBwbGFudCBhIGNhbGwuCiAgICAgYm9vbCBo
YW5kbGVWYXJhcmdzSW5saW5pbmcoTm9kZSogY2FsbFRhcmdldE5vZGUsIGludCByZXN1bHRPcGVy
YW5kLCBjb25zdCBDYWxsTGlua1N0YXR1cyYsIGludCByZWdpc3Rlck9mZnNldCwgVmlydHVhbFJl
Z2lzdGVyIHRoaXNBcmd1bWVudCwgVmlydHVhbFJlZ2lzdGVyIGFyZ3VtZW50c0FyZ3VtZW50LCB1
bnNpZ25lZCBhcmd1bWVudHNPZmZzZXQsIE5vZGVUeXBlIGNhbGxPcCwgSW5saW5lQ2FsbEZyYW1l
OjpLaW5kKTsKQEAgLTEzNjAsNyArMTM2MCw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmVtaXRB
cmd1bWVudFBoYW50b21zKGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJCiB9
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENoZWNrc0Z1bmN0b3I+Ci1ib29sIEJ5dGVDb2RlUGFyc2Vy
OjpoYW5kbGVSZWN1cnNpdmVUYWlsQ2FsbChDYWxsVmFyaWFudCBjYWxsVmFyaWFudCwgaW50IHJl
Z2lzdGVyT2Zmc2V0LCBpbnQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIGNvbnN0IENoZWNr
c0Z1bmN0b3ImIGVtaXRGdW5jdGlvbkNoZWNrSWZOZWVkZWQpCitib29sIEJ5dGVDb2RlUGFyc2Vy
OjpoYW5kbGVSZWN1cnNpdmVUYWlsQ2FsbChOb2RlKiBjYWxsVGFyZ2V0Tm9kZSwgQ2FsbFZhcmlh
bnQgY2FsbFZhcmlhbnQsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNs
dWRpbmdUaGlzLCBjb25zdCBDaGVja3NGdW5jdG9yJiBlbWl0RnVuY3Rpb25DaGVja0lmTmVlZGVk
KQogewogICAgIGlmIChVTkxJS0VMWSghT3B0aW9uczo6b3B0aW1pemVSZWN1cnNpdmVUYWlsQ2Fs
bHMoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEzODksMTEgKzEzODksMjUgQEAgYm9v
bCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlUmVjdXJzaXZlVGFpbENhbGwoQ2FsbFZhcmlhbnQgY2Fs
bFZhcmlhbnQsIGludCByZWdpc3QKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KIAorICAgICAgICAvLyBJZiBhbiBJbmxpbmVDYWxsRnJhbWUgaXMgbm90IGEgY2xvc3Vy
ZSwgaXQgd2FzIG9wdGltaXplZCB1c2luZyBhIGNvbnN0YW50IGNhbGxlZS4KKyAgICAgICAgLy8g
Q2hlY2sgaWYgdGhpcyBpcyB0aGUgc2FtZSBjYWxsZWUgdGhhdCB3ZSB0cnkgdG8gaW5saW5lIGhl
cmUuCisgICAgICAgIGlmIChzdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZSAmJiAhc3RhY2tF
bnRyeS0+bV9pbmxpbmVDYWxsRnJhbWUtPmlzQ2xvc3VyZUNhbGwpIHsKKyAgICAgICAgICAgIGlm
IChzdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZS0+Y2FsbGVlQ29uc3RhbnQoKSAhPSBjYWxs
VmFyaWFudC5mdW5jdGlvbigpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9
CisKICAgICAgICAgLy8gV2UgbXVzdCBhZGQgc29tZSBjaGVjayB0aGF0IHRoZSBwcm9maWxpbmcg
aW5mb3JtYXRpb24gd2FzIGNvcnJlY3QgYW5kIHRoZSB0YXJnZXQgb2YgdGhpcyBjYWxsIGlzIHdo
YXQgd2UgdGhvdWdodC4KICAgICAgICAgZW1pdEZ1bmN0aW9uQ2hlY2tJZk5lZWRlZCgpOwogICAg
ICAgICAvLyBXZSBmbHVzaCBldmVyeXRoaW5nLCBhcyBpZiB3ZSB3ZXJlIGluIHRoZSBiYWNrZWRn
ZSBvZiBhIGxvb3AgKHNlZSB0cmVhdG1lbnQgb2Ygb3Bfam1wIGluIHBhcnNlQmxvY2spLgogICAg
ICAgICBmbHVzaEZvclRlcm1pbmFsKCk7CiAKKyAgICAgICAgLy8gV2UgbXVzdCBzZXQgdGhlIGNh
bGxlZSB0byB0aGUgcmlnaHQgdmFsdWUKKyAgICAgICAgaWYgKHN0YWNrRW50cnktPm1faW5saW5l
Q2FsbEZyYW1lKSB7CisgICAgICAgICAgICBpZiAoc3RhY2tFbnRyeS0+bV9pbmxpbmVDYWxsRnJh
bWUtPmlzQ2xvc3VyZUNhbGwpCisgICAgICAgICAgICAgICAgc2V0RGlyZWN0KHN0YWNrRW50cnkt
PnJlbWFwT3BlcmFuZChWaXJ0dWFsUmVnaXN0ZXIoQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSksIGNh
bGxUYXJnZXROb2RlLCBOb3JtYWxTZXQpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGFk
ZFRvR3JhcGgoU2V0Q2FsbGVlLCBjYWxsVGFyZ2V0Tm9kZSk7CisKICAgICAgICAgLy8gV2UgbXVz
dCBzZXQgdGhlIGFyZ3VtZW50cyB0byB0aGUgcmlnaHQgdmFsdWVzCiAgICAgICAgIGlmICghc3Rh
Y2tFbnRyeS0+bV9pbmxpbmVDYWxsRnJhbWUpCiAgICAgICAgICAgICBhZGRUb0dyYXBoKFNldEFy
Z3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBPcEluZm8oYXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMpKTsKQEAgLTE2ODcsNyArMTcwMSw3IEBAIEJ5dGVDb2RlUGFyc2VyOjpDYWxsT3B0aW1pemF0
aW9uUmVzdWx0IEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVDYWxsVmFyaWFudChOb2RlKiBjCiAgICAg
ICAgIGRpZEluc2VydENoZWNrcyA9IHRydWU7CiAgICAgfTsKIAotICAgIGlmIChraW5kID09IElu
bGluZUNhbGxGcmFtZTo6VGFpbENhbGwgJiYgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZVJlY3Vyc2l2
ZVRhaWxDYWxsKGNhbGxlZSwgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzLCBpbnNlcnRDaGVja3NXaXRoQWNjb3VudGluZykpIHsKKyAgICBpZiAoa2luZCA9PSBJbmxp
bmVDYWxsRnJhbWU6OlRhaWxDYWxsICYmIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVSZWN1cnNpdmVU
YWlsQ2FsbChjYWxsVGFyZ2V0Tm9kZSwgY2FsbGVlLCByZWdpc3Rlck9mZnNldCwgYXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMsIGluc2VydENoZWNrc1dpdGhBY2NvdW50aW5nKSkgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVChkaWRJbnNlcnRDaGVja3MpOwogICAgICAgICByZXR1cm4gQ2FsbE9w
dGltaXphdGlvblJlc3VsdDo6T3B0aW1pemVkVG9KdW1wOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggMjdlMTQzNTRmNzExOTY1ZWRiNGJmYmNj
OTJlNGQ1YzI0YzZiMGQ0NS4uNTlhMmMwNTMzZTM1NzE1MDdhZTA4MjhmOGMzOTM4NDRiZGUzMjBj
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTY5NSw2
ICs2OTUsMTAgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29u
c3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgcmVhZChBYnN0cmFj
dEhlYXAoU3RhY2ssIENhbGxGcmFtZVNsb3Q6OmNhbGxlZSkpOwogICAgICAgICBkZWYoSGVhcExv
Y2F0aW9uKFN0YWNrTG9jLCBBYnN0cmFjdEhlYXAoU3RhY2ssIENhbGxGcmFtZVNsb3Q6OmNhbGxl
ZSkpLCBMYXp5Tm9kZShub2RlKSk7CiAgICAgICAgIHJldHVybjsKKworICAgIGNhc2UgU2V0Q2Fs
bGVlOgorICAgICAgICB3cml0ZShBYnN0cmFjdEhlYXAoU3RhY2ssIENhbGxGcmFtZVNsb3Q6OmNh
bGxlZSkpOworICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXM6IHsKICAgICAgICAgYXV0byBoZWFwID0gQWJzdHJhY3RIZWFwKFN0
YWNrLCByZW1hcE9wZXJhbmQobm9kZS0+YXJndW1lbnRzSW5saW5lQ2FsbEZyYW1lKCksIFZpcnR1
YWxSZWdpc3RlcihDYWxsRnJhbWVTbG90Ojphcmd1bWVudENvdW50KSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IDM5MGI0ZTNhMWJkMjJjNzUyZGRiZmU0YmVi
ZWEyNmE1MmVmYTcwODMuLjgyODdmYWMwN2M0YTUzYWViNTMyMWU4ZmJiZjU1NDg4ZWI4M2ZhODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTUxLDYgKzUxLDcg
QEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgSWRlbnRp
dHk6CiAgICAgY2FzZSBJZGVudGl0eVdpdGhQcm9maWxlOgogICAgIGNhc2UgR2V0Q2FsbGVlOgor
ICAgIGNhc2UgU2V0Q2FsbGVlOgogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXM6CiAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNlIEdl
dFJlc3RMZW5ndGg6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Zp
eHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNw
cAppbmRleCA0N2QwZTY2YjM4NjAyMTkxZWRjNzA1NGM2MTlkMWI2ZjYxMzEzYWM2Li5kZDk1Mzg4
Y2ZhZjJkODE2Y2Q3ZjJkOWFiZmZiZmFmMDYwZWY0OTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTIxMzQsNiArMjEzNCwxMCBAQCBwcml2YXRl
OgogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgY2FzZSBTZXRD
YWxsZWU6CisgICAgICAgICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworCiAjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgICAgICAvLyBIYXZl
IHRoZXNlIG5vLW9wIGNhc2VzIGhlcmUgdG8gZW5zdXJlIHRoYXQgbm9ib2R5IGZvcmdldHMgdG8g
YWRkIGhhbmRsZXJzIGZvciBuZXcgb3Bjb2Rlcy4KICAgICAgICAgY2FzZSBTZXRBcmd1bWVudDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCmluZGV4IDE1OWE5YmJiNTM0
MWY4MzYxZjAzZjQ0ZmE3ZGNiOTkzZjMwMzhhOGIuLmQ0MWQxYTZkYjhjZmE1YjI3ZjgxY2UwMmQ1
MjNhOTlhMDA0YWZhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
TWF5RXhpdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNw
cApAQCAtNzQsNiArNzQsNyBAQCBFeGl0TW9kZSBtYXlFeGl0SW1wbChHcmFwaCYgZ3JhcGgsIE5v
ZGUqIG5vZGUsIFN0YXRlVHlwZSYgc3RhdGUpCiAgICAgY2FzZSBLaWxsU3RhY2s6CiAgICAgY2Fz
ZSBHZXRTdGFjazoKICAgICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAg
ICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgY2FzZSBHZXRSZXN0TGVuZ3RoOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDg0ZWQzODJlNTc2NDQ2ZmVkMDY4OWNh
YjI5MTViOGUxZDQ0YzRiYjIuLjhiZDRjYmVmZGU2YmMxZmE0Y2M3MWEyZWEyZGFkOTNiYzk2NDdj
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTU0LDYgKzU0
LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3JvKFRvVGhpcywg
Tm9kZVJlc3VsdEpTKSBcCiAgICAgbWFjcm8oQ3JlYXRlVGhpcywgTm9kZVJlc3VsdEpTKSAvKiBO
b3RlIHRoaXMgaXMgbm90IE11c3RHZW5lcmF0ZSBzaW5jZSB3ZSdyZSByZXR1cm5pbmcgaXQgYW55
d2F5LiAqLyBcCiAgICAgbWFjcm8oR2V0Q2FsbGVlLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBtYWNy
byhTZXRDYWxsZWUsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhHZXRBcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcywgTm9kZVJlc3VsdEludDMyKSBcCiAgICAgbWFjcm8oU2V0QXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXMsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0
aW9uUGhhc2UuY3BwCmluZGV4IDQ3NzQzODUzYmM5N2FhNjFhODkzZDg0MmVlZjFjZmZhNWNkNDk2
YjUuLmQ0YmJiNGE2MWNhODkxNWRiMDgxY2NhM2NkNmI1MWI1Y2NkMjYxNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0
aW9uUGhhc2UuY3BwCkBAIC03NzYsNiArNzc2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgICAgIGNhc2Ug
U2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgICAgICAgICBicmVhazsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCA2YmM3NDUx
M2VlZThkYTMxY2Q0OTM0MjczOGFmMWE3MDNhNzM1ZGUzLi4yMWRiMzQwYTk4Mjg5ZmM0Y2Y5ZWEy
MjA0ZGFhMGM4NWZkYWNjOWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaApAQCAtMTcyLDYgKzE3Miw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0
cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNl
IFRvVGhpczoKICAgICBjYXNlIENyZWF0ZVRoaXM6CiAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAg
Y2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoK
ICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgR2V0UmVz
dExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKaW5kZXggZGY2OTIyNzk1ODJkOWE1ZTdmY2RhMDFlNDU4ZWJiYjAxMDZmYmNkZi4uZjM2
NTg5OWNjNzM3MmU2ODkyNWRiNWE1NGNmOGIzZDU0MWU2NjExMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTExODY2LDYgKzExODY2
LDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRDYWxsZWUoTm9kZSogbm9kZSkK
ICAgICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7CiB9CiAKK3ZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVTZXRDYWxsZWUoTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxhdGVDZWxs
T3BlcmFuZCBjYWxsZWUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIG1faml0LnN0b3JlQ2Vs
bChjYWxsZWUuZ3ByKCksIEpJVENvbXBpbGVyOjpwYXlsb2FkRm9yKENhbGxGcmFtZVNsb3Q6OmNh
bGxlZSkpOworICAgIG5vUmVzdWx0KG5vZGUpOworfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoTm9kZSogbm9kZSkKIHsKICAgICBH
UFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IGJiZjE3NGM3Zjc0MzhkODVmY2U3NTg0ZGYwMGFkZTZm
M2JlZmNjMTQuLmJiOTM5NjUxNTBhOWEyZDNjZGJmMWMyZTM3MTRkOTlkOTRjMDc4ZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTE0NTks
NiArMTQ1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXBpbGVHZXRHZXR0ZXIoTm9kZSopOwog
ICAgIHZvaWQgY29tcGlsZUdldFNldHRlcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0Q2Fs
bGVlKE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVTZXRDYWxsZWUoTm9kZSopOwogICAgIHZvaWQg
Y29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKE5vZGUqKTsKICAgICB2b2lkIGNv
bXBpbGVTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlU3RyQ2F0KE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDk5YmZhMDk4ODBkNDk4Nzk2MzdiZjhhMDcz
MjY5MGE4ZTYxNWFkNGIuLjk0NWU0MGMzZmJiZTc0Y2Y0MzVmODA1MjYzYzc3MDlkNDVlYjZkYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcApAQCAtMzI1NSw2ICszMjU1LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUdldENhbGxlZShub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQorCisgICAgY2FzZSBTZXRDYWxsZWU6IHsKKyAgICAgICAgY29tcGls
ZVNldENhbGxlZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgICAgICAKICAgICBj
YXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOiB7CiAgICAgICAgIGNvbXBpbGVHZXRB
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDVjOTgwZTRhMWY0NTQ5ZGNk
NzExOWQ2OWUyZjRiY2YyM2M5MzY2NGIuLjJhZjMwN2ZlMTUxNjE3OWQ3ODA2ZjJmMmE3MmRiM2Vk
Yjk5N2JkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcApAQCAtMzQ3Niw2ICszNDc2LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUdldENhbGxlZShub2RlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQorCisgICAgY2FzZSBTZXRDYWxsZWU6IHsKKyAgICAgICAgY29t
cGlsZVNldENhbGxlZShub2RlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgICAgICAKICAg
ICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOiB7CiAgICAgICAgIGNvbXBpbGVH
ZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhub2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBmMWE0NWE4ZGQ2NGI0ZjI5NDA5ZmMw
YmQ0MTQ1MmZmNzBjODA5Y2JiLi4yZjc0YmFlY2ZlNjMyYTYzOGY1ZTY3ZjUxY2RiZmJmZjA1M2U3
MmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGll
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
CkBAIC0xODIsNiArMTgyLDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgY2FzZSBHZXRFeGVjdXRhYmxlOgogICAgIGNhc2UgR2V0U2NvcGU6CiAg
ICAgY2FzZSBHZXRDYWxsZWU6CisgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBHZXRBcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzOgogICAgIGNhc2UgVG9OdW1iZXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9CMy5jcHAKaW5kZXggNjk3NWY3YTAxZWM5ODUwZGRmNTdhZjVmZjM3YmZl
ZDQ0NmQ1MzA0NC4uZWY5YWVlMzg0YjliNWFjN2E2NDRlZGMzN2U0ZDI3MmE1ZTM5ZTZlYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtOTI0
LDYgKzkyNCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVlOgogICAgICAgICAg
ICAgY29tcGlsZUdldENhbGxlZSgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
U2V0Q2FsbGVlOgorICAgICAgICAgICAgY29tcGlsZVNldENhbGxlZSgpOworICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAg
ICAgICAgICBjb21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtNjYzNCw2ICs2NjM3LDEyIEBAIHByaXZhdGU6CiAgICAgewogICAgICAg
ICBzZXRKU1ZhbHVlKG1fb3V0LmxvYWRQdHIoYWRkcmVzc0ZvcihDYWxsRnJhbWVTbG90OjpjYWxs
ZWUpKSk7CiAgICAgfQorCisgICAgdm9pZCBjb21waWxlU2V0Q2FsbGVlKCkKKyAgICB7CisgICAg
ICAgIGF1dG8gY2FsbGVlID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgbV9v
dXQuc3RvcmVQdHIoY2FsbGVlLCBwYXlsb2FkRm9yKENhbGxGcmFtZVNsb3Q6OmNhbGxlZSkpOwor
ICAgIH0KICAgICAKICAgICB2b2lkIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cygpCiAgICAgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5n
ZUxvZwppbmRleCA4MzE0N2FhZTc0ZTllMTE1MWNhMjA2Y2E1OTEwMjQ3NjZiZjI0ZmMwLi43NGRm
MmMwYWExMTlhOWU1YTc2YzU4NDc5NThhM2JiMDBmOWZjYzMxIDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4
LTA0LTE5ICBEb21pbmlrIEluZnVlaHIgIDxkaW5mdWVockBpZ2FsaWEuY29tPgorCisgICAgICAg
IEFkZCBTZXRDYWxsZWUgYXMgREZHLU9wZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCB0aGF0IHJ1bnMgaW50byBpbmZpbml0
ZSBsb29wIHdpdGhvdXQgdXBkYXRpbmcgdGhlIGNhbGxlZSBhbmQKKyAgICAgICAgdGhlcmVmb3Jl
IGVtaXR0aW5nIFNldENhbGxlZSBpbiBERkcgZm9yIHJlY3Vyc2l2ZSB0YWlsIGNhbGxzLgorCisg
ICAgICAgICogc3RyZXNzL2Nsb3N1cmUtcmVjdXJzaXZlLXRhaWwtY2FsbC1pbmZpbml0ZS1sb29w
LmpzOiBBZGRlZC4KKyAgICAgICAgKEZvbyk6CisgICAgICAgIChzZWNvbmQpOgorICAgICAgICAo
Zmlyc3QpOgorICAgICAgICAocmV0dXJuLmNsb3N1cmUpOgorICAgICAgICAoY3JlYXRlQ2xvc3Vy
ZSk6CisKIDIwMTgtMDQtMTggIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CiAKICAgICAgICAgW1dlYkFzc2VtYmx5XVtNb2R1bGVzXSBJbXBvcnQgdGFibGVzIGluIHdhc20g
bW9kdWxlcwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvY2xvc3VyZS1yZWN1cnNpdmUtdGFp
bC1jYWxsLWluZmluaXRlLWxvb3AuanMgYi9KU1Rlc3RzL3N0cmVzcy9jbG9zdXJlLXJlY3Vyc2l2
ZS10YWlsLWNhbGwtaW5maW5pdGUtbG9vcC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZmQ5NmEwMTQ4NGZmY2Y4
MmE4OTZkM2E5NzM1MWYxZmJlY2VhNjRiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJl
c3MvY2xvc3VyZS1yZWN1cnNpdmUtdGFpbC1jYWxsLWluZmluaXRlLWxvb3AuanMKQEAgLTAsMCAr
MSwyOSBAQAorInVzZSBzdHJpY3QiOworCitmdW5jdGlvbiBGb28oKSB7fQorCitmdW5jdGlvbiBz
ZWNvbmQobmV4dCwgY3ApIHsKKyAgcmV0dXJuIDEwMDsKK30KKworZnVuY3Rpb24gZmlyc3QobmV4
dCwgY3ApIHsKKyAgcmV0dXJuIGNwIDwgNjAgPyBuZXcgRm9vKCkgOiBuZXh0KGNwKTsKK30KKwor
ZnVuY3Rpb24gY3JlYXRlQ2xvc3VyZShuZXh0LCBzdHJhdGVneSkgeworICByZXR1cm4gZnVuY3Rp
b24gY2xvc3VyZShjcCkgeworICAgIHJldHVybiBzdHJhdGVneShuZXh0LCBjcCk7CisgIH07Cit9
CisKK3ZhciB0bXAgPSBjcmVhdGVDbG9zdXJlKG51bGwsIHNlY29uZCk7Cit2YXIgYmFyID0gY3Jl
YXRlQ2xvc3VyZSh0bXAsIGZpcnN0KTsKKworbm9JbmxpbmUoYmFyKTsKKworZm9yICh2YXIgaT0w
OyBpPDUwMDAwOyBpKyspIHsKKyAgYmFyKDMyKTsKKyAgYmFyKDMyKTsKKyAgYmFyKDMyKTsKKyAg
YmFyKDEwMCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338440</attachid>
            <date>2018-04-20 11:05:14 -0700</date>
            <delta_ts>2018-05-01 08:42:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184582-20180420200513.patch</filename>
            <type>text/plain</type>
            <size>17298</size>
            <attacher name="Dominik Inführ">dominik.infuehr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MGQ5ZTJkMWI4MGU4MzM2OGM3MWY4ZDg4ZmRjOWFjZWY5ZDZiMjE3Li5hNWNmYWY4MGIyMmRlM2U2
NjU1ZjZjZDQ3OGMyOTVlNjMxNjg3ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAxOC0wNC0xOSAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlh
LmNvbT4KKworICAgICAgICBBZGQgU2V0Q2FsbGVlIGFzIERGRy1PcGVyYXRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciByZWN1cnNpdmUgdGFp
bCBjYWxscyBub3Qgb25seSB0aGUgYXJndW1lbnQgY291bnQgY2FuIGNoYW5nZSBidXQgYWxzbyB0
aGUKKyAgICAgICAgY2FsbGVlLiBBZGQgU2V0Q2FsbGVlIHRvIERGRyB0aGF0IHNldHMgdGhlIGNh
bGxlZSBzbG90IGluIHRoZSBjdXJyZW50IGNhbGwgZnJhbWUuCisgICAgICAgIEFsc28gdXBkYXRl
IHRoZSBjYWxsZWUgd2hlbiBvcHRpbWl6aW5nIGEgcmVjdXJzaXZlIHRhaWwgY2FsbC4KKyAgICAg
ICAgRW5hYmxlIHJlY3Vyc2l2ZSB0YWlsIGNhbGwgb3B0aW1pemF0aW9uIGFsc28gZm9yIGNsb3N1
cmVzLgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46
OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVSZWN1cnNpdmVUYWlsQ2Fs
bCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNhbGxWYXJpYW50
KToKKyAgICAgICAgKiBkZmcvREZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNs
b2JiZXJpemUpOgorICAgICAgICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OmRvZXNHQyk6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR01heUV4
aXQuY3BwOgorICAgICAgICAqIGRmZy9ERkdOb2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4
ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlU2V0Q2FsbGVlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQu
aDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZSk6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6
OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6Cisg
ICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVOb2RlKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVNldENhbGxlZSk6CisKIDIw
MTgtMDQtMTggIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT04ocjIzMDc0OCkgW1dpbkNhaXJvXSAnSlNDOjpKSVQ6OmFwcGVuZENhbGxX
aXRoU2xvd1BhdGhSZXR1cm5UeXBlJzogZnVuY3Rpb24gZG9lcyBub3QgdGFrZSAxIGFyZ3VtZW50
cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oCmluZGV4IDZmODU3MzQwYjBmNzk0MjBhNzAzNWU0ZDdkNTkxMTY0
NTFkNmUyMTQuLjllYjE4OGQzN2U2YTE2OWQ2YzZiYjlkOTg4MDZjMjczMmEyMDQ5Y2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJw
cmV0ZXJJbmxpbmVzLmgKQEAgLTI0NTIsNiArMjQ1Miw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnBy
ZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJM
aW1pCiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShTcGVjSW50MzJPbmx5KTsKICAgICAg
ICAgYnJlYWs7CiAKKyAgICBjYXNlIFNldENhbGxlZToKICAgICBjYXNlIFNldEFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzOgogICAgICAgICBicmVhazsKICAgICAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGQ0M2ExMDM3ZDUz
OGFmZTQ1NDc5NTc0NTc1NDQyNTQyMDIyZGMxOTQuLmRjOWYxYjBhY2FjMGJiMWNjOTY5NTk1MDcy
YzYzODBmMjNiNWVmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCkBAIC0xNTYsNyArMTU2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVt
aXRBcmd1bWVudFBoYW50b21zKGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzKTsKICAgICBOb2RlKiBnZXRBcmd1bWVudENvdW50KCk7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgQ2hlY2tzRnVuY3Rvcj4KLSAgICBib29sIGhhbmRsZVJlY3Vyc2l2ZVRhaWxD
YWxsKENhbGxWYXJpYW50LCBpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBhcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcywgY29uc3QgQ2hlY2tzRnVuY3RvciYgZW1pdEZ1bmN0aW9uQ2hlY2tJZk5lZWRl
ZCk7CisgICAgYm9vbCBoYW5kbGVSZWN1cnNpdmVUYWlsQ2FsbChOb2RlKiBjYWxsVGFyZ2V0Tm9k
ZSwgQ2FsbFZhcmlhbnQsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNs
dWRpbmdUaGlzLCBjb25zdCBDaGVja3NGdW5jdG9yJiBlbWl0RnVuY3Rpb25DaGVja0lmTmVlZGVk
KTsKICAgICB1bnNpZ25lZCBpbmxpbmluZ0Nvc3QoQ2FsbFZhcmlhbnQsIGludCBhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcywgSW5saW5lQ2FsbEZyYW1lOjpLaW5kKTsgLy8gUmV0dXJuIFVJTlRf
TUFYIGlmIGl0J3Mgbm90IGFuIGlubGluaW5nIGNhbmRpZGF0ZS4gQnkgY29udmVudGlvbiwgaW50
cmluc2ljcyBoYXZlIGEgY29zdCBvZiAxLgogICAgIC8vIEhhbmRsZSBpbmxpbmluZy4gUmV0dXJu
IHRydWUgaWYgaXQgc3VjY2VlZGVkLCBmYWxzZSBpZiB3ZSBuZWVkIHRvIHBsYW50IGEgY2FsbC4K
ICAgICBib29sIGhhbmRsZVZhcmFyZ3NJbmxpbmluZyhOb2RlKiBjYWxsVGFyZ2V0Tm9kZSwgaW50
IHJlc3VsdE9wZXJhbmQsIGNvbnN0IENhbGxMaW5rU3RhdHVzJiwgaW50IHJlZ2lzdGVyT2Zmc2V0
LCBWaXJ0dWFsUmVnaXN0ZXIgdGhpc0FyZ3VtZW50LCBWaXJ0dWFsUmVnaXN0ZXIgYXJndW1lbnRz
QXJndW1lbnQsIHVuc2lnbmVkIGFyZ3VtZW50c09mZnNldCwgTm9kZVR5cGUgY2FsbE9wLCBJbmxp
bmVDYWxsRnJhbWU6OktpbmQpOwpAQCAtMTM2MCwxNiArMTM2MCwxMSBAQCB2b2lkIEJ5dGVDb2Rl
UGFyc2VyOjplbWl0QXJndW1lbnRQaGFudG9tcyhpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBhcmd1
bWVudENvdW50SQogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDaGVja3NGdW5jdG9yPgotYm9vbCBC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlUmVjdXJzaXZlVGFpbENhbGwoQ2FsbFZhcmlhbnQgY2FsbFZh
cmlhbnQsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
LCBjb25zdCBDaGVja3NGdW5jdG9yJiBlbWl0RnVuY3Rpb25DaGVja0lmTmVlZGVkKQorYm9vbCBC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlUmVjdXJzaXZlVGFpbENhbGwoTm9kZSogY2FsbFRhcmdldE5v
ZGUsIENhbGxWYXJpYW50IGNhbGxWYXJpYW50LCBpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBhcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpcywgY29uc3QgQ2hlY2tzRnVuY3RvciYgZW1pdEZ1bmN0aW9u
Q2hlY2tJZk5lZWRlZCkKIHsKICAgICBpZiAoVU5MSUtFTFkoIU9wdGlvbnM6Om9wdGltaXplUmVj
dXJzaXZlVGFpbENhbGxzKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBDdXJy
ZW50bHkgd2UgY2Fubm90IGRvIHRoaXMgb3B0aW1pc2F0aW9uIGZvciBjbG9zdXJlcy4gVGhlIHBy
b2JsZW0gaXMgdGhhdCAiZW1pdEZ1bmN0aW9uQ2hlY2tzIiB3aGljaCB3ZSB1c2UgbGF0ZXIgaXMg
dG9vIGNvYXJzZSwgb25seSBjaGVja2luZyB0aGUgZXhlY3V0YWJsZQotICAgIC8vIGFuZCBub3Qg
dGhlIHZhbHVlIG9mIGNhcHR1cmVkIHZhcmlhYmxlcy4KLSAgICBpZiAoY2FsbFZhcmlhbnQuaXND
bG9zdXJlQ2FsbCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBhdXRvIHRhcmdldEV4
ZWN1dGFibGUgPSBjYWxsVmFyaWFudC5leGVjdXRhYmxlKCk7CiAgICAgSW5saW5lU3RhY2tFbnRy
eSogc3RhY2tFbnRyeSA9IG1faW5saW5lU3RhY2tUb3A7CiAgICAgZG8gewpAQCAtMTM4OSwxMSAr
MTM4NCwyNSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVSZWN1cnNpdmVUYWlsQ2FsbChD
YWxsVmFyaWFudCBjYWxsVmFyaWFudCwgaW50IHJlZ2lzdAogICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIC8vIElmIGFuIElubGluZUNhbGxGcmFtZSBp
cyBub3QgYSBjbG9zdXJlLCBpdCB3YXMgb3B0aW1pemVkIHVzaW5nIGEgY29uc3RhbnQgY2FsbGVl
LgorICAgICAgICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBzYW1lIGNhbGxlZSB0aGF0IHdlIHRy
eSB0byBpbmxpbmUgaGVyZS4KKyAgICAgICAgaWYgKHN0YWNrRW50cnktPm1faW5saW5lQ2FsbEZy
YW1lICYmICFzdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZS0+aXNDbG9zdXJlQ2FsbCkgewor
ICAgICAgICAgICAgaWYgKHN0YWNrRW50cnktPm1faW5saW5lQ2FsbEZyYW1lLT5jYWxsZWVDb25z
dGFudCgpICE9IGNhbGxWYXJpYW50LmZ1bmN0aW9uKCkpCisgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIH0KKwogICAgICAgICAvLyBXZSBtdXN0IGFkZCBzb21lIGNoZWNrIHRoYXQg
dGhlIHByb2ZpbGluZyBpbmZvcm1hdGlvbiB3YXMgY29ycmVjdCBhbmQgdGhlIHRhcmdldCBvZiB0
aGlzIGNhbGwgaXMgd2hhdCB3ZSB0aG91Z2h0LgogICAgICAgICBlbWl0RnVuY3Rpb25DaGVja0lm
TmVlZGVkKCk7CiAgICAgICAgIC8vIFdlIGZsdXNoIGV2ZXJ5dGhpbmcsIGFzIGlmIHdlIHdlcmUg
aW4gdGhlIGJhY2tlZGdlIG9mIGEgbG9vcCAoc2VlIHRyZWF0bWVudCBvZiBvcF9qbXAgaW4gcGFy
c2VCbG9jaykuCiAgICAgICAgIGZsdXNoRm9yVGVybWluYWwoKTsKIAorICAgICAgICAvLyBXZSBt
dXN0IHNldCB0aGUgY2FsbGVlIHRvIHRoZSByaWdodCB2YWx1ZQorICAgICAgICBpZiAoc3RhY2tF
bnRyeS0+bV9pbmxpbmVDYWxsRnJhbWUpIHsKKyAgICAgICAgICAgIGlmIChzdGFja0VudHJ5LT5t
X2lubGluZUNhbGxGcmFtZS0+aXNDbG9zdXJlQ2FsbCkKKyAgICAgICAgICAgICAgICBzZXREaXJl
Y3Qoc3RhY2tFbnRyeS0+cmVtYXBPcGVyYW5kKFZpcnR1YWxSZWdpc3RlcihDYWxsRnJhbWVTbG90
OjpjYWxsZWUpKSwgY2FsbFRhcmdldE5vZGUsIE5vcm1hbFNldCk7CisgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgYWRkVG9HcmFwaChTZXRDYWxsZWUsIGNhbGxUYXJnZXROb2RlKTsKKwogICAg
ICAgICAvLyBXZSBtdXN0IHNldCB0aGUgYXJndW1lbnRzIHRvIHRoZSByaWdodCB2YWx1ZXMKICAg
ICAgICAgaWYgKCFzdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZSkKICAgICAgICAgICAgIGFk
ZFRvR3JhcGgoU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIE9wSW5mbyhhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcykpOwpAQCAtMTY4Nyw3ICsxNjk2LDcgQEAgQnl0ZUNvZGVQYXJzZXI6
OkNhbGxPcHRpbWl6YXRpb25SZXN1bHQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNhbGxWYXJpYW50
KE5vZGUqIGMKICAgICAgICAgZGlkSW5zZXJ0Q2hlY2tzID0gdHJ1ZTsKICAgICB9OwogCi0gICAg
aWYgKGtpbmQgPT0gSW5saW5lQ2FsbEZyYW1lOjpUYWlsQ2FsbCAmJiBCeXRlQ29kZVBhcnNlcjo6
aGFuZGxlUmVjdXJzaXZlVGFpbENhbGwoY2FsbGVlLCByZWdpc3Rlck9mZnNldCwgYXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMsIGluc2VydENoZWNrc1dpdGhBY2NvdW50aW5nKSkgeworICAgIGlm
IChraW5kID09IElubGluZUNhbGxGcmFtZTo6VGFpbENhbGwgJiYgQnl0ZUNvZGVQYXJzZXI6Omhh
bmRsZVJlY3Vyc2l2ZVRhaWxDYWxsKGNhbGxUYXJnZXROb2RlLCBjYWxsZWUsIHJlZ2lzdGVyT2Zm
c2V0LCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgaW5zZXJ0Q2hlY2tzV2l0aEFjY291bnRp
bmcpKSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGRpZEluc2VydENoZWNrcyk7CiAgICAgICAg
IHJldHVybiBDYWxsT3B0aW1pemF0aW9uUmVzdWx0OjpPcHRpbWl6ZWRUb0p1bXA7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCAyN2UxNDM1NGY3
MTE5NjVlZGI0YmZiY2M5MmU0ZDVjMjRjNmIwZDQ1Li41OWEyYzA1MzNlMzU3MTUwN2FlMDgyOGY4
YzM5Mzg0NGJkZTMyMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJp
emUuaApAQCAtNjk1LDYgKzY5NSwxMCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBO
b2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAg
ICByZWFkKEFic3RyYWN0SGVhcChTdGFjaywgQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSk7CiAgICAg
ICAgIGRlZihIZWFwTG9jYXRpb24oU3RhY2tMb2MsIEFic3RyYWN0SGVhcChTdGFjaywgQ2FsbEZy
YW1lU2xvdDo6Y2FsbGVlKSksIExhenlOb2RlKG5vZGUpKTsKICAgICAgICAgcmV0dXJuOworCisg
ICAgY2FzZSBTZXRDYWxsZWU6CisgICAgICAgIHdyaXRlKEFic3RyYWN0SGVhcChTdGFjaywgQ2Fs
bEZyYW1lU2xvdDo6Y2FsbGVlKSk7CisgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgY2Fz
ZSBHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczogewogICAgICAgICBhdXRvIGhlYXAgPSBB
YnN0cmFjdEhlYXAoU3RhY2ssIHJlbWFwT3BlcmFuZChub2RlLT5hcmd1bWVudHNJbmxpbmVDYWxs
RnJhbWUoKSwgVmlydHVhbFJlZ2lzdGVyKENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXggMzkwYjRlM2ExYmQy
MmM3NTJkZGJmZTRiZWJlYTI2YTUyZWZhNzA4My4uODI4N2ZhYzA3YzRhNTNhZWI1MzIxZThmYmJm
NTU0ODhlYjgzZmE4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdE
b2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApA
QCAtNTEsNiArNTEsNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAg
ICAgY2FzZSBJZGVudGl0eToKICAgICBjYXNlIElkZW50aXR5V2l0aFByb2ZpbGU6CiAgICAgY2Fz
ZSBHZXRDYWxsZWU6CisgICAgY2FzZSBTZXRDYWxsZWU6CiAgICAgY2FzZSBHZXRBcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNlIFNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
OgogICAgIGNhc2UgR2V0UmVzdExlbmd0aDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCmluZGV4IDQ3ZDBlNjZiMzg2MDIxOTFlZGM3MDU0YzYxOWQxYjZmNjEz
MTNhYzYuLmRkOTUzODhjZmFmMmQ4MTZjZDdmMmQ5YWJmZmJmYWYwNjBlZjQ5MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMjEzNCw2ICsyMTM0
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKIAorICAg
ICAgICBjYXNlIFNldENhbGxlZToKKyAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+
Y2hpbGQxKCkpOworICAgICAgICAgICAgYnJlYWs7CisKICNpZiAhQVNTRVJUX0RJU0FCTEVECiAg
ICAgICAgIC8vIEhhdmUgdGhlc2Ugbm8tb3AgY2FzZXMgaGVyZSB0byBlbnN1cmUgdGhhdCBub2Jv
ZHkgZm9yZ2V0cyB0byBhZGQgaGFuZGxlcnMgZm9yIG5ldyBvcGNvZGVzLgogICAgICAgICBjYXNl
IFNldEFyZ3VtZW50OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdN
YXlFeGl0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAKaW5k
ZXggMTU5YTliYmI1MzQxZjgzNjFmMDNmNDRmYTdkY2I5OTNmMzAzOGE4Yi4uZDQxZDFhNmRiOGNm
YTViMjdmODFjZTAyZDUyM2E5OWEwMDRhZmE4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR01heUV4aXQuY3BwCkBAIC03NCw2ICs3NCw3IEBAIEV4aXRNb2RlIG1heUV4aXRJbXBsKEdy
YXBoJiBncmFwaCwgTm9kZSogbm9kZSwgU3RhdGVUeXBlJiBzdGF0ZSkKICAgICBjYXNlIEtpbGxT
dGFjazoKICAgICBjYXNlIEdldFN0YWNrOgogICAgIGNhc2UgR2V0Q2FsbGVlOgorICAgIGNhc2Ug
U2V0Q2FsbGVlOgogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAg
Y2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICBjYXNlIEdldFJlc3RMZW5n
dGg6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXggODRlZDM4MmU1
NzY0NDZmZWQwNjg5Y2FiMjkxNWI4ZTFkNDRjNGJiMi4uOGJkNGNiZWZkZTZiYzFmYTRjYzcxYTJl
YTJkYWQ5M2JjOTY0N2MyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUu
aApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAg
bWFjcm8oVG9UaGlzLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhDcmVhdGVUaGlzLCBOb2Rl
UmVzdWx0SlMpIC8qIE5vdGUgdGhpcyBpcyBub3QgTXVzdEdlbmVyYXRlIHNpbmNlIHdlJ3JlIHJl
dHVybmluZyBpdCBhbnl3YXkuICovIFwKICAgICBtYWNybyhHZXRDYWxsZWUsIE5vZGVSZXN1bHRK
UykgXAorICAgIG1hY3JvKFNldENhbGxlZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3Jv
KEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBOb2RlUmVzdWx0SW50MzIpIFwKICAgICBt
YWNybyhTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgTm9kZU11c3RHZW5lcmF0ZSkgXAog
ICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggNDc3NDM4NTNiYzk3YWE2MWE4OTNkODQy
ZWVmMWNmZmE1Y2Q0OTZiNS4uZDRiYmI0YTYxY2E4OTE1ZGIwODFjY2EzY2Q2YjUxYjVjY2QyNjE1
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJv
cGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTc3Niw2ICs3NzYsNyBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIFNldENhbGxlZToK
ICAgICAgICAgY2FzZSBTZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczoKICAgICAgICAgICAg
IGJyZWFrOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVU
b0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5o
CmluZGV4IDZiYzc0NTEzZWVlOGRhMzFjZDQ5MzQyNzM4YWYxYTcwM2E3MzVkZTMuLjIxZGIzNDBh
OTgyODlmYzRjZjllYTIyMDRkYWEwYzg1ZmRhY2M5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0xNzIsNiArMTcyLDcgQEAgYm9vbCBzYWZl
VG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2RlKiBu
b2RlKQogICAgIGNhc2UgVG9UaGlzOgogICAgIGNhc2UgQ3JlYXRlVGhpczoKICAgICBjYXNlIEdl
dENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAgICBjYXNlIEdldEFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6CiAg
ICAgY2FzZSBHZXRSZXN0TGVuZ3RoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBkZjY5MjI3OTU4MmQ5YTVlN2ZjZGEwMWU0NThlYmJi
MDEwNmZiY2RmLi5mMzY1ODk5Y2M3MzcyZTY4OTI1ZGI1YTU0Y2Y4YjNkNTQxZTY2MTExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAt
MTE4NjYsNiArMTE4NjYsMTMgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldENhbGxl
ZShOb2RlKiBub2RlKQogICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKIH0KIAor
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVNldENhbGxlZShOb2RlKiBub2RlKQoreworICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNhbGxlZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAg
bV9qaXQuc3RvcmVDZWxsKGNhbGxlZS5ncHIoKSwgSklUQ29tcGlsZXI6OnBheWxvYWRGb3IoQ2Fs
bEZyYW1lU2xvdDo6Y2FsbGVlKSk7CisgICAgbm9SZXN1bHQobm9kZSk7Cit9CisKIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhOb2RlKiBu
b2RlKQogewogICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggYmJmMTc0YzdmNzQzOGQ4NWZj
ZTc1ODRkZjAwYWRlNmYzYmVmY2MxNC4uYmI5Mzk2NTE1MGE5YTJkM2NkYmYxYzJlMzcxNGQ5OWQ5
NGMwNzhlOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaApAQCAtMTQ1OSw2ICsxNDU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZUdldEdl
dHRlcihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0U2V0dGVyKE5vZGUqKTsKICAgICB2b2lk
IGNvbXBpbGVHZXRDYWxsZWUoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVNldENhbGxlZShOb2Rl
Kik7CiAgICAgdm9pZCBjb21waWxlR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoTm9kZSop
OwogICAgIHZvaWQgY29tcGlsZVNldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKE5vZGUqKTsK
ICAgICB2b2lkIGNvbXBpbGVTdHJDYXQoTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggOTliZmEwOTg4MGQ0
OTg3OTYzN2JmOGEwNzMyNjkwYThlNjE1YWQ0Yi4uOTQ1ZTQwYzNmYmJlNzRjZjQzNWY4MDUyNjNj
NzcwOWQ0NWViNmRjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC0zMjU1LDYgKzMyNTUsMTEgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlR2V0Q2FsbGVl
KG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBjYXNlIFNldENhbGxlZTogewor
ICAgICAgICBjb21waWxlU2V0Q2FsbGVlKG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9CiAg
ICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6IHsKICAgICAg
ICAgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKG5vZGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggNWM5
ODBlNGExZjQ1NDlkY2Q3MTE5ZDY5ZTJmNGJjZjIzYzkzNjY0Yi4uMmFmMzA3ZmUxNTE2MTc5ZDc4
MDZmMmYyYTcyZGIzZWRiOTk3YmRkNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0zNDc2LDYgKzM0NzYsMTEgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlR2V0Q2Fs
bGVlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBjYXNlIFNldENhbGxlZTog
eworICAgICAgICBjb21waWxlU2V0Q2FsbGVlKG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9
CiAgICAgICAgIAogICAgIGNhc2UgR2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXM6IHsKICAg
ICAgICAgY29tcGlsZUdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKG5vZGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGYxYTQ1YThk
ZDY0YjRmMjk0MDlmYzBiZDQxNDUyZmY3MGM4MDljYmIuLjJmNzRiYWVjZmU2MzJhNjM4ZjVlNjdm
NTFjZGJmYmZmMDUzZTcyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENh
cGFiaWxpdGllcy5jcHAKQEAgLTE4Miw2ICsxODIsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVs
IGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CiAgICAgY2Fz
ZSBHZXRTY29wZToKICAgICBjYXNlIEdldENhbGxlZToKKyAgICBjYXNlIFNldENhbGxlZToKICAg
ICBjYXNlIEdldEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzOgogICAgIGNhc2UgU2V0QXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXM6CiAgICAgY2FzZSBUb051bWJlcjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCA2OTc1ZjdhMDFlYzk4NTBk
ZGY1N2FmNWZmMzdiZmVkNDQ2ZDUzMDQ0Li5lZjlhZWUzODRiOWI1YWM3YTY0NGVkYzM3ZTRkMjcy
YTVlMzllNmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCkBAIC05MjQsNiArOTI0LDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRDYWxs
ZWU6CiAgICAgICAgICAgICBjb21waWxlR2V0Q2FsbGVlKCk7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBTZXRDYWxsZWU6CisgICAgICAgICAgICBjb21waWxlU2V0Q2FsbGVlKCk7
CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpczoKICAgICAgICAgICAgIGNvbXBpbGVHZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cygpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC02NjM0LDYgKzY2MzcsMTIgQEAgcHJpdmF0ZToK
ICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQubG9hZFB0cihhZGRyZXNzRm9yKENhbGxG
cmFtZVNsb3Q6OmNhbGxlZSkpKTsKICAgICB9CisKKyAgICB2b2lkIGNvbXBpbGVTZXRDYWxsZWUo
KQorICAgIHsKKyAgICAgICAgYXV0byBjYWxsZWUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkp
OworICAgICAgICBtX291dC5zdG9yZVB0cihjYWxsZWUsIHBheWxvYWRGb3IoQ2FsbEZyYW1lU2xv
dDo6Y2FsbGVlKSk7CisgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUdldEFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzKCkKICAgICB7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBi
L0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgzMTQ3YWFlNzRlOWUxMTUxY2EyMDZjYTU5MTAyNDc2
NmJmMjRmYzAuLjc0ZGYyYzBhYTExOWE5ZTVhNzZjNTg0Nzk1OGEzYmIwMGY5ZmNjMzEgMTAwNjQ0
Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTgtMDQtMTkgIERvbWluaWsgSW5mdWVociAgPGRpbmZ1ZWhyQGlnYWxpYS5j
b20+CisKKyAgICAgICAgQWRkIFNldENhbGxlZSBhcyBERkctT3BlcmF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ1ODIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRoYXQgcnVu
cyBpbnRvIGluZmluaXRlIGxvb3Agd2l0aG91dCB1cGRhdGluZyB0aGUgY2FsbGVlIGFuZAorICAg
ICAgICB0aGVyZWZvcmUgZW1pdHRpbmcgU2V0Q2FsbGVlIGluIERGRyBmb3IgcmVjdXJzaXZlIHRh
aWwgY2FsbHMuCisKKyAgICAgICAgKiBzdHJlc3MvY2xvc3VyZS1yZWN1cnNpdmUtdGFpbC1jYWxs
LWluZmluaXRlLWxvb3AuanM6IEFkZGVkLgorICAgICAgICAoRm9vKToKKyAgICAgICAgKHNlY29u
ZCk6CisgICAgICAgIChmaXJzdCk6CisgICAgICAgIChyZXR1cm4uY2xvc3VyZSk6CisgICAgICAg
IChjcmVhdGVDbG9zdXJlKToKKwogMjAxOC0wNC0xOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUu
dGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV2ViQXNzZW1ibHldW01vZHVsZXNdIEltcG9ydCB0
YWJsZXMgaW4gd2FzbSBtb2R1bGVzCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9jbG9zdXJl
LXJlY3Vyc2l2ZS10YWlsLWNhbGwtaW5maW5pdGUtbG9vcC5qcyBiL0pTVGVzdHMvc3RyZXNzL2Ns
b3N1cmUtcmVjdXJzaXZlLXRhaWwtY2FsbC1pbmZpbml0ZS1sb29wLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRm
ZDk2YTAxNDg0ZmZjZjgyYTg5NmQzYTk3MzUxZjFmYmVjZWE2NGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9KU1Rlc3RzL3N0cmVzcy9jbG9zdXJlLXJlY3Vyc2l2ZS10YWlsLWNhbGwtaW5maW5pdGUtbG9v
cC5qcwpAQCAtMCwwICsxLDI5IEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIEZvbygpIHt9
CisKK2Z1bmN0aW9uIHNlY29uZChuZXh0LCBjcCkgeworICByZXR1cm4gMTAwOworfQorCitmdW5j
dGlvbiBmaXJzdChuZXh0LCBjcCkgeworICByZXR1cm4gY3AgPCA2MCA/IG5ldyBGb28oKSA6IG5l
eHQoY3ApOworfQorCitmdW5jdGlvbiBjcmVhdGVDbG9zdXJlKG5leHQsIHN0cmF0ZWd5KSB7Cisg
IHJldHVybiBmdW5jdGlvbiBjbG9zdXJlKGNwKSB7CisgICAgcmV0dXJuIHN0cmF0ZWd5KG5leHQs
IGNwKTsKKyAgfTsKK30KKwordmFyIHRtcCA9IGNyZWF0ZUNsb3N1cmUobnVsbCwgc2Vjb25kKTsK
K3ZhciBiYXIgPSBjcmVhdGVDbG9zdXJlKHRtcCwgZmlyc3QpOworCitub0lubGluZShiYXIpOwor
Citmb3IgKHZhciBpPTA7IGk8NTAwMDA7IGkrKykgeworICBiYXIoMzIpOworICBiYXIoMzIpOwor
ICBiYXIoMzIpOworICBiYXIoMTAwKTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>